├── README.md
├── cdn
└── index.html
├── compiled_css_js
├── css
│ ├── bootstrap-grid.css
│ ├── bootstrap-grid.css.map
│ ├── bootstrap-grid.min.css
│ ├── bootstrap-grid.min.css.map
│ ├── bootstrap-grid.rtl.css
│ ├── bootstrap-grid.rtl.css.map
│ ├── bootstrap-grid.rtl.min.css
│ ├── bootstrap-grid.rtl.min.css.map
│ ├── bootstrap-reboot.css
│ ├── bootstrap-reboot.css.map
│ ├── bootstrap-reboot.min.css
│ ├── bootstrap-reboot.min.css.map
│ ├── bootstrap-reboot.rtl.css
│ ├── bootstrap-reboot.rtl.css.map
│ ├── bootstrap-reboot.rtl.min.css
│ ├── bootstrap-reboot.rtl.min.css.map
│ ├── bootstrap-utilities.css
│ ├── bootstrap-utilities.css.map
│ ├── bootstrap-utilities.min.css
│ ├── bootstrap-utilities.min.css.map
│ ├── bootstrap-utilities.rtl.css
│ ├── bootstrap-utilities.rtl.css.map
│ ├── bootstrap-utilities.rtl.min.css
│ ├── bootstrap-utilities.rtl.min.css.map
│ ├── bootstrap.css
│ ├── bootstrap.css.map
│ ├── bootstrap.min.css
│ ├── bootstrap.min.css.map
│ ├── bootstrap.rtl.css
│ ├── bootstrap.rtl.css.map
│ ├── bootstrap.rtl.min.css
│ └── bootstrap.rtl.min.css.map
├── index.html
└── js
│ ├── bootstrap.bundle.js
│ ├── bootstrap.bundle.js.map
│ ├── bootstrap.bundle.min.js
│ ├── bootstrap.bundle.min.js.map
│ ├── bootstrap.esm.js
│ ├── bootstrap.esm.js.map
│ ├── bootstrap.esm.min.js
│ ├── bootstrap.esm.min.js.map
│ ├── bootstrap.js
│ ├── bootstrap.js.map
│ ├── bootstrap.min.js
│ └── bootstrap.min.js.map
├── components
├── alerts.html
├── buttons.html
├── cards.html
├── carousel.html
├── index.html
├── modal.html
└── navbar.html
├── content
├── .vscode
│ └── settings.json
├── images.html
├── index.html
├── spacing.html
├── tables.html
└── typography.html
├── extend
├── icons.html
└── index.html
├── forms
├── examples.html
└── index.html
├── grid
└── index.html
├── landing
├── .mdb
├── index.html
└── package.json
└── npm
├── index.html
├── node_modules
├── @popperjs
│ └── core
│ │ ├── LICENSE.md
│ │ ├── README.md
│ │ ├── dist
│ │ ├── cjs
│ │ │ ├── enums.js
│ │ │ ├── enums.js.flow
│ │ │ ├── enums.js.map
│ │ │ ├── popper-base.js
│ │ │ ├── popper-base.js.flow
│ │ │ ├── popper-base.js.map
│ │ │ ├── popper-lite.js
│ │ │ ├── popper-lite.js.flow
│ │ │ ├── popper-lite.js.map
│ │ │ ├── popper.js
│ │ │ ├── popper.js.flow
│ │ │ └── popper.js.map
│ │ ├── esm
│ │ │ ├── createPopper.js
│ │ │ ├── dom-utils
│ │ │ │ ├── contains.js
│ │ │ │ ├── getBoundingClientRect.js
│ │ │ │ ├── getClippingRect.js
│ │ │ │ ├── getCompositeRect.js
│ │ │ │ ├── getComputedStyle.js
│ │ │ │ ├── getDocumentElement.js
│ │ │ │ ├── getDocumentRect.js
│ │ │ │ ├── getHTMLElementScroll.js
│ │ │ │ ├── getLayoutRect.js
│ │ │ │ ├── getNodeName.js
│ │ │ │ ├── getNodeScroll.js
│ │ │ │ ├── getOffsetParent.js
│ │ │ │ ├── getParentNode.js
│ │ │ │ ├── getScrollParent.js
│ │ │ │ ├── getViewportRect.js
│ │ │ │ ├── getWindow.js
│ │ │ │ ├── getWindowScroll.js
│ │ │ │ ├── getWindowScrollBarX.js
│ │ │ │ ├── instanceOf.js
│ │ │ │ ├── isScrollParent.js
│ │ │ │ ├── isTableElement.js
│ │ │ │ └── listScrollParents.js
│ │ │ ├── enums.js
│ │ │ ├── index.js
│ │ │ ├── modifiers
│ │ │ │ ├── applyStyles.js
│ │ │ │ ├── arrow.js
│ │ │ │ ├── computeStyles.js
│ │ │ │ ├── eventListeners.js
│ │ │ │ ├── flip.js
│ │ │ │ ├── hide.js
│ │ │ │ ├── index.js
│ │ │ │ ├── offset.js
│ │ │ │ ├── popperOffsets.js
│ │ │ │ └── preventOverflow.js
│ │ │ ├── popper-base.js
│ │ │ ├── popper-lite.js
│ │ │ ├── popper.js
│ │ │ ├── types.js
│ │ │ └── utils
│ │ │ │ ├── computeAutoPlacement.js
│ │ │ │ ├── computeOffsets.js
│ │ │ │ ├── debounce.js
│ │ │ │ ├── detectOverflow.js
│ │ │ │ ├── expandToHashMap.js
│ │ │ │ ├── format.js
│ │ │ │ ├── getAltAxis.js
│ │ │ │ ├── getAltLen.js
│ │ │ │ ├── getBasePlacement.js
│ │ │ │ ├── getFreshSideObject.js
│ │ │ │ ├── getMainAxisFromPlacement.js
│ │ │ │ ├── getOppositePlacement.js
│ │ │ │ ├── getOppositeVariationPlacement.js
│ │ │ │ ├── getVariation.js
│ │ │ │ ├── math.js
│ │ │ │ ├── mergeByName.js
│ │ │ │ ├── mergePaddingObject.js
│ │ │ │ ├── orderModifiers.js
│ │ │ │ ├── rectToClientRect.js
│ │ │ │ ├── uniqueBy.js
│ │ │ │ ├── validateModifiers.js
│ │ │ │ └── within.js
│ │ └── umd
│ │ │ ├── enums.js
│ │ │ ├── enums.js.map
│ │ │ ├── enums.min.js
│ │ │ ├── enums.min.js.flow
│ │ │ ├── enums.min.js.map
│ │ │ ├── popper-base.js
│ │ │ ├── popper-base.js.map
│ │ │ ├── popper-base.min.js
│ │ │ ├── popper-base.min.js.flow
│ │ │ ├── popper-base.min.js.map
│ │ │ ├── popper-lite.js
│ │ │ ├── popper-lite.js.map
│ │ │ ├── popper-lite.min.js
│ │ │ ├── popper-lite.min.js.flow
│ │ │ ├── popper-lite.min.js.map
│ │ │ ├── popper.js
│ │ │ ├── popper.js.map
│ │ │ ├── popper.min.js
│ │ │ ├── popper.min.js.flow
│ │ │ └── popper.min.js.map
│ │ ├── index.d.ts
│ │ ├── lib
│ │ ├── createPopper.d.ts
│ │ ├── createPopper.js
│ │ ├── createPopper.js.flow
│ │ ├── dom-utils
│ │ │ ├── contains.d.ts
│ │ │ ├── contains.js
│ │ │ ├── contains.js.flow
│ │ │ ├── getBoundingClientRect.d.ts
│ │ │ ├── getBoundingClientRect.js
│ │ │ ├── getBoundingClientRect.js.flow
│ │ │ ├── getClippingRect.d.ts
│ │ │ ├── getClippingRect.js
│ │ │ ├── getClippingRect.js.flow
│ │ │ ├── getCompositeRect.d.ts
│ │ │ ├── getCompositeRect.js
│ │ │ ├── getCompositeRect.js.flow
│ │ │ ├── getComputedStyle.d.ts
│ │ │ ├── getComputedStyle.js
│ │ │ ├── getComputedStyle.js.flow
│ │ │ ├── getDocumentElement.d.ts
│ │ │ ├── getDocumentElement.js
│ │ │ ├── getDocumentElement.js.flow
│ │ │ ├── getDocumentRect.d.ts
│ │ │ ├── getDocumentRect.js
│ │ │ ├── getDocumentRect.js.flow
│ │ │ ├── getHTMLElementScroll.d.ts
│ │ │ ├── getHTMLElementScroll.js
│ │ │ ├── getHTMLElementScroll.js.flow
│ │ │ ├── getLayoutRect.d.ts
│ │ │ ├── getLayoutRect.js
│ │ │ ├── getLayoutRect.js.flow
│ │ │ ├── getNodeName.d.ts
│ │ │ ├── getNodeName.js
│ │ │ ├── getNodeName.js.flow
│ │ │ ├── getNodeScroll.d.ts
│ │ │ ├── getNodeScroll.js
│ │ │ ├── getNodeScroll.js.flow
│ │ │ ├── getOffsetParent.d.ts
│ │ │ ├── getOffsetParent.js
│ │ │ ├── getOffsetParent.js.flow
│ │ │ ├── getParentNode.d.ts
│ │ │ ├── getParentNode.js
│ │ │ ├── getParentNode.js.flow
│ │ │ ├── getScrollParent.d.ts
│ │ │ ├── getScrollParent.js
│ │ │ ├── getScrollParent.js.flow
│ │ │ ├── getViewportRect.d.ts
│ │ │ ├── getViewportRect.js
│ │ │ ├── getViewportRect.js.flow
│ │ │ ├── getWindow.d.ts
│ │ │ ├── getWindow.js
│ │ │ ├── getWindow.js.flow
│ │ │ ├── getWindowScroll.d.ts
│ │ │ ├── getWindowScroll.js
│ │ │ ├── getWindowScroll.js.flow
│ │ │ ├── getWindowScrollBarX.d.ts
│ │ │ ├── getWindowScrollBarX.js
│ │ │ ├── getWindowScrollBarX.js.flow
│ │ │ ├── instanceOf.d.ts
│ │ │ ├── instanceOf.js
│ │ │ ├── instanceOf.js.flow
│ │ │ ├── isScrollParent.d.ts
│ │ │ ├── isScrollParent.js
│ │ │ ├── isScrollParent.js.flow
│ │ │ ├── isTableElement.d.ts
│ │ │ ├── isTableElement.js
│ │ │ ├── isTableElement.js.flow
│ │ │ ├── listScrollParents.d.ts
│ │ │ ├── listScrollParents.js
│ │ │ └── listScrollParents.js.flow
│ │ ├── enums.d.ts
│ │ ├── enums.js
│ │ ├── enums.js.flow
│ │ ├── index.d.ts
│ │ ├── index.js
│ │ ├── index.js.flow
│ │ ├── modifiers
│ │ │ ├── applyStyles.d.ts
│ │ │ ├── applyStyles.js
│ │ │ ├── applyStyles.js.flow
│ │ │ ├── arrow.d.ts
│ │ │ ├── arrow.js
│ │ │ ├── arrow.js.flow
│ │ │ ├── computeStyles.d.ts
│ │ │ ├── computeStyles.js
│ │ │ ├── computeStyles.js.flow
│ │ │ ├── eventListeners.d.ts
│ │ │ ├── eventListeners.js
│ │ │ ├── eventListeners.js.flow
│ │ │ ├── flip.d.ts
│ │ │ ├── flip.js
│ │ │ ├── flip.js.flow
│ │ │ ├── hide.d.ts
│ │ │ ├── hide.js
│ │ │ ├── hide.js.flow
│ │ │ ├── index.d.ts
│ │ │ ├── index.js
│ │ │ ├── index.js.flow
│ │ │ ├── offset.d.ts
│ │ │ ├── offset.js
│ │ │ ├── offset.js.flow
│ │ │ ├── popperOffsets.d.ts
│ │ │ ├── popperOffsets.js
│ │ │ ├── popperOffsets.js.flow
│ │ │ ├── preventOverflow.d.ts
│ │ │ ├── preventOverflow.js
│ │ │ └── preventOverflow.js.flow
│ │ ├── popper-base.d.ts
│ │ ├── popper-base.js
│ │ ├── popper-base.js.flow
│ │ ├── popper-lite.d.ts
│ │ ├── popper-lite.js
│ │ ├── popper-lite.js.flow
│ │ ├── popper.d.ts
│ │ ├── popper.js
│ │ ├── popper.js.flow
│ │ ├── types.d.ts
│ │ ├── types.js
│ │ ├── types.js.flow
│ │ └── utils
│ │ │ ├── computeAutoPlacement.d.ts
│ │ │ ├── computeAutoPlacement.js
│ │ │ ├── computeAutoPlacement.js.flow
│ │ │ ├── computeOffsets.d.ts
│ │ │ ├── computeOffsets.js
│ │ │ ├── computeOffsets.js.flow
│ │ │ ├── debounce.d.ts
│ │ │ ├── debounce.js
│ │ │ ├── debounce.js.flow
│ │ │ ├── detectOverflow.d.ts
│ │ │ ├── detectOverflow.js
│ │ │ ├── detectOverflow.js.flow
│ │ │ ├── expandToHashMap.d.ts
│ │ │ ├── expandToHashMap.js
│ │ │ ├── expandToHashMap.js.flow
│ │ │ ├── format.d.ts
│ │ │ ├── format.js
│ │ │ ├── format.js.flow
│ │ │ ├── getAltAxis.d.ts
│ │ │ ├── getAltAxis.js
│ │ │ ├── getAltAxis.js.flow
│ │ │ ├── getAltLen.d.ts
│ │ │ ├── getAltLen.js
│ │ │ ├── getAltLen.js.flow
│ │ │ ├── getBasePlacement.d.ts
│ │ │ ├── getBasePlacement.js
│ │ │ ├── getBasePlacement.js.flow
│ │ │ ├── getFreshSideObject.d.ts
│ │ │ ├── getFreshSideObject.js
│ │ │ ├── getFreshSideObject.js.flow
│ │ │ ├── getMainAxisFromPlacement.d.ts
│ │ │ ├── getMainAxisFromPlacement.js
│ │ │ ├── getMainAxisFromPlacement.js.flow
│ │ │ ├── getOppositePlacement.d.ts
│ │ │ ├── getOppositePlacement.js
│ │ │ ├── getOppositePlacement.js.flow
│ │ │ ├── getOppositeVariationPlacement.d.ts
│ │ │ ├── getOppositeVariationPlacement.js
│ │ │ ├── getOppositeVariationPlacement.js.flow
│ │ │ ├── getVariation.d.ts
│ │ │ ├── getVariation.js
│ │ │ ├── getVariation.js.flow
│ │ │ ├── math.d.ts
│ │ │ ├── math.js
│ │ │ ├── math.js.flow
│ │ │ ├── mergeByName.d.ts
│ │ │ ├── mergeByName.js
│ │ │ ├── mergeByName.js.flow
│ │ │ ├── mergePaddingObject.d.ts
│ │ │ ├── mergePaddingObject.js
│ │ │ ├── mergePaddingObject.js.flow
│ │ │ ├── orderModifiers.d.ts
│ │ │ ├── orderModifiers.js
│ │ │ ├── orderModifiers.js.flow
│ │ │ ├── rectToClientRect.d.ts
│ │ │ ├── rectToClientRect.js
│ │ │ ├── rectToClientRect.js.flow
│ │ │ ├── uniqueBy.d.ts
│ │ │ ├── uniqueBy.js
│ │ │ ├── uniqueBy.js.flow
│ │ │ ├── validateModifiers.d.ts
│ │ │ ├── validateModifiers.js
│ │ │ ├── validateModifiers.js.flow
│ │ │ ├── within.d.ts
│ │ │ ├── within.js
│ │ │ └── within.js.flow
│ │ └── package.json
└── bootstrap
│ ├── LICENSE
│ ├── README.md
│ ├── dist
│ ├── css
│ │ ├── bootstrap-grid.css
│ │ ├── bootstrap-grid.css.map
│ │ ├── bootstrap-grid.min.css
│ │ ├── bootstrap-grid.min.css.map
│ │ ├── bootstrap-grid.rtl.css
│ │ ├── bootstrap-grid.rtl.css.map
│ │ ├── bootstrap-grid.rtl.min.css
│ │ ├── bootstrap-grid.rtl.min.css.map
│ │ ├── bootstrap-reboot.css
│ │ ├── bootstrap-reboot.css.map
│ │ ├── bootstrap-reboot.min.css
│ │ ├── bootstrap-reboot.min.css.map
│ │ ├── bootstrap-reboot.rtl.css
│ │ ├── bootstrap-reboot.rtl.css.map
│ │ ├── bootstrap-reboot.rtl.min.css
│ │ ├── bootstrap-reboot.rtl.min.css.map
│ │ ├── bootstrap-utilities.css
│ │ ├── bootstrap-utilities.css.map
│ │ ├── bootstrap-utilities.min.css
│ │ ├── bootstrap-utilities.min.css.map
│ │ ├── bootstrap-utilities.rtl.css
│ │ ├── bootstrap-utilities.rtl.css.map
│ │ ├── bootstrap-utilities.rtl.min.css
│ │ ├── bootstrap-utilities.rtl.min.css.map
│ │ ├── bootstrap.css
│ │ ├── bootstrap.css.map
│ │ ├── bootstrap.min.css
│ │ ├── bootstrap.min.css.map
│ │ ├── bootstrap.rtl.css
│ │ ├── bootstrap.rtl.css.map
│ │ ├── bootstrap.rtl.min.css
│ │ └── bootstrap.rtl.min.css.map
│ └── js
│ │ ├── bootstrap.bundle.js
│ │ ├── bootstrap.bundle.js.map
│ │ ├── bootstrap.bundle.min.js
│ │ ├── bootstrap.bundle.min.js.map
│ │ ├── bootstrap.esm.js
│ │ ├── bootstrap.esm.js.map
│ │ ├── bootstrap.esm.min.js
│ │ ├── bootstrap.esm.min.js.map
│ │ ├── bootstrap.js
│ │ ├── bootstrap.js.map
│ │ ├── bootstrap.min.js
│ │ └── bootstrap.min.js.map
│ ├── js
│ ├── dist
│ │ ├── alert.js
│ │ ├── alert.js.map
│ │ ├── base-component.js
│ │ ├── base-component.js.map
│ │ ├── button.js
│ │ ├── button.js.map
│ │ ├── carousel.js
│ │ ├── carousel.js.map
│ │ ├── collapse.js
│ │ ├── collapse.js.map
│ │ ├── dom
│ │ │ ├── data.js
│ │ │ ├── data.js.map
│ │ │ ├── event-handler.js
│ │ │ ├── event-handler.js.map
│ │ │ ├── manipulator.js
│ │ │ ├── manipulator.js.map
│ │ │ ├── selector-engine.js
│ │ │ └── selector-engine.js.map
│ │ ├── dropdown.js
│ │ ├── dropdown.js.map
│ │ ├── modal.js
│ │ ├── modal.js.map
│ │ ├── offcanvas.js
│ │ ├── offcanvas.js.map
│ │ ├── popover.js
│ │ ├── popover.js.map
│ │ ├── scrollspy.js
│ │ ├── scrollspy.js.map
│ │ ├── tab.js
│ │ ├── tab.js.map
│ │ ├── toast.js
│ │ ├── toast.js.map
│ │ ├── tooltip.js
│ │ └── tooltip.js.map
│ └── src
│ │ ├── alert.js
│ │ ├── base-component.js
│ │ ├── button.js
│ │ ├── carousel.js
│ │ ├── collapse.js
│ │ ├── dom
│ │ ├── data.js
│ │ ├── event-handler.js
│ │ ├── manipulator.js
│ │ └── selector-engine.js
│ │ ├── dropdown.js
│ │ ├── modal.js
│ │ ├── offcanvas.js
│ │ ├── popover.js
│ │ ├── scrollspy.js
│ │ ├── tab.js
│ │ ├── toast.js
│ │ ├── tooltip.js
│ │ └── util
│ │ ├── backdrop.js
│ │ ├── component-functions.js
│ │ ├── focustrap.js
│ │ ├── index.js
│ │ ├── sanitizer.js
│ │ └── scrollbar.js
│ ├── package.json
│ └── scss
│ ├── _accordion.scss
│ ├── _alert.scss
│ ├── _badge.scss
│ ├── _breadcrumb.scss
│ ├── _button-group.scss
│ ├── _buttons.scss
│ ├── _card.scss
│ ├── _carousel.scss
│ ├── _close.scss
│ ├── _containers.scss
│ ├── _dropdown.scss
│ ├── _forms.scss
│ ├── _functions.scss
│ ├── _grid.scss
│ ├── _helpers.scss
│ ├── _images.scss
│ ├── _list-group.scss
│ ├── _mixins.scss
│ ├── _modal.scss
│ ├── _nav.scss
│ ├── _navbar.scss
│ ├── _offcanvas.scss
│ ├── _pagination.scss
│ ├── _placeholders.scss
│ ├── _popover.scss
│ ├── _progress.scss
│ ├── _reboot.scss
│ ├── _root.scss
│ ├── _spinners.scss
│ ├── _tables.scss
│ ├── _toasts.scss
│ ├── _tooltip.scss
│ ├── _transitions.scss
│ ├── _type.scss
│ ├── _utilities.scss
│ ├── _variables.scss
│ ├── bootstrap-grid.scss
│ ├── bootstrap-reboot.scss
│ ├── bootstrap-utilities.scss
│ ├── bootstrap.scss
│ ├── forms
│ ├── _floating-labels.scss
│ ├── _form-check.scss
│ ├── _form-control.scss
│ ├── _form-range.scss
│ ├── _form-select.scss
│ ├── _form-text.scss
│ ├── _input-group.scss
│ ├── _labels.scss
│ └── _validation.scss
│ ├── helpers
│ ├── _clearfix.scss
│ ├── _colored-links.scss
│ ├── _position.scss
│ ├── _ratio.scss
│ ├── _stacks.scss
│ ├── _stretched-link.scss
│ ├── _text-truncation.scss
│ ├── _visually-hidden.scss
│ └── _vr.scss
│ ├── mixins
│ ├── _alert.scss
│ ├── _backdrop.scss
│ ├── _border-radius.scss
│ ├── _box-shadow.scss
│ ├── _breakpoints.scss
│ ├── _buttons.scss
│ ├── _caret.scss
│ ├── _clearfix.scss
│ ├── _color-scheme.scss
│ ├── _container.scss
│ ├── _deprecate.scss
│ ├── _forms.scss
│ ├── _gradients.scss
│ ├── _grid.scss
│ ├── _image.scss
│ ├── _list-group.scss
│ ├── _lists.scss
│ ├── _pagination.scss
│ ├── _reset-text.scss
│ ├── _resize.scss
│ ├── _table-variants.scss
│ ├── _text-truncate.scss
│ ├── _transition.scss
│ ├── _utilities.scss
│ └── _visually-hidden.scss
│ ├── utilities
│ └── _api.scss
│ └── vendor
│ └── _rfs.scss
├── package-lock.json
└── package.json
/README.md:
--------------------------------------------------------------------------------
1 | # Bootstrap 5 freeCodeCamp source code
2 | Source code to freecodecamp course for beginners
3 |
--------------------------------------------------------------------------------
/cdn/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | Document
8 |
14 |
15 |
16 | Hello CDN World
17 |
22 |
27 |
28 |
29 |
--------------------------------------------------------------------------------
/compiled_css_js/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | Document
8 |
9 |
10 |
11 | Hello Bootstrap World
12 |
13 |
14 |
15 |
16 |
--------------------------------------------------------------------------------
/components/carousel.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | Document
8 |
14 |
15 |
16 |
17 |
22 |
23 |
24 |
.jpg)
29 |
30 |
31 |
.jpg)
36 |
37 |
38 |
.jpg)
43 |
44 |
45 |
46 |
47 |
48 |
53 |
58 |
59 |
60 |
--------------------------------------------------------------------------------
/components/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | Document
8 |
14 |
15 |
16 |
17 |
18 |
23 |
28 |
29 |
30 |
--------------------------------------------------------------------------------
/content/.vscode/settings.json:
--------------------------------------------------------------------------------
1 | {
2 | "liveServer.settings.port": 5501
3 | }
--------------------------------------------------------------------------------
/content/images.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | Document
8 |
14 |
15 |
16 |
17 |
18 |

23 |
24 |
Thumbnail
25 |

30 |
31 | Alignment
32 |
37 |
38 |
39 |
40 |
45 |
46 |
51 |
56 |
57 |
58 |
--------------------------------------------------------------------------------
/content/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | Document
8 |
14 |
15 |
16 |
17 |
18 |
23 |
28 |
29 |
30 |
--------------------------------------------------------------------------------
/extend/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | Document
8 |
14 |
15 |
16 |
17 |
18 |
23 |
28 |
29 |
30 |
--------------------------------------------------------------------------------
/landing/.mdb:
--------------------------------------------------------------------------------
1 | {
2 | "packageManager": "npm",
3 | "hash": "d4313f74"
4 | }
--------------------------------------------------------------------------------
/landing/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "freecodecamp-bs5",
3 | "version": "1.0.0",
4 | "description": "",
5 | "main": "index.js",
6 | "scripts": {
7 | "test": "echo \"Error: no test specified\" && exit 1"
8 | },
9 | "author": "",
10 | "license": "ISC"
11 | }
12 |
--------------------------------------------------------------------------------
/npm/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | Document
8 |
12 |
13 |
14 | Hello npm world
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/npm/node_modules/@popperjs/core/LICENSE.md:
--------------------------------------------------------------------------------
1 | The MIT License (MIT)
2 |
3 | Copyright (c) 2019 Federico Zivolo
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy of
6 | this software and associated documentation files (the "Software"), to deal in
7 | the Software without restriction, including without limitation the rights to
8 | use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
9 | the Software, and to permit persons to whom the Software is furnished to do so,
10 | subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
17 | FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
18 | COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
19 | IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
20 | CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
21 |
--------------------------------------------------------------------------------
/npm/node_modules/@popperjs/core/dist/cjs/enums.js.flow:
--------------------------------------------------------------------------------
1 | // @flow
2 |
3 | export * from '../../lib/enums.js'
4 |
--------------------------------------------------------------------------------
/npm/node_modules/@popperjs/core/dist/cjs/popper-base.js.flow:
--------------------------------------------------------------------------------
1 | // @flow
2 |
3 | export * from '../../lib/popper-base.js'
4 |
--------------------------------------------------------------------------------
/npm/node_modules/@popperjs/core/dist/cjs/popper-lite.js.flow:
--------------------------------------------------------------------------------
1 | // @flow
2 |
3 | export * from '../../lib/popper-lite.js'
4 |
--------------------------------------------------------------------------------
/npm/node_modules/@popperjs/core/dist/cjs/popper.js.flow:
--------------------------------------------------------------------------------
1 | // @flow
2 |
3 | export * from '../../lib/popper.js'
4 |
--------------------------------------------------------------------------------
/npm/node_modules/@popperjs/core/dist/esm/dom-utils/contains.js:
--------------------------------------------------------------------------------
1 | import { isShadowRoot } from "./instanceOf.js";
2 | export default function contains(parent, child) {
3 | var rootNode = child.getRootNode && child.getRootNode(); // First, attempt with faster native method
4 |
5 | if (parent.contains(child)) {
6 | return true;
7 | } // then fallback to custom implementation with Shadow DOM support
8 | else if (rootNode && isShadowRoot(rootNode)) {
9 | var next = child;
10 |
11 | do {
12 | if (next && parent.isSameNode(next)) {
13 | return true;
14 | } // $FlowFixMe[prop-missing]: need a better way to handle this...
15 |
16 |
17 | next = next.parentNode || next.host;
18 | } while (next);
19 | } // Give up, the result is false
20 |
21 |
22 | return false;
23 | }
--------------------------------------------------------------------------------
/npm/node_modules/@popperjs/core/dist/esm/dom-utils/getBoundingClientRect.js:
--------------------------------------------------------------------------------
1 | // import { isHTMLElement } from './instanceOf';
2 | export default function getBoundingClientRect(element, // eslint-disable-next-line unused-imports/no-unused-vars
3 | includeScale) {
4 | if (includeScale === void 0) {
5 | includeScale = false;
6 | }
7 |
8 | var rect = element.getBoundingClientRect();
9 | var scaleX = 1;
10 | var scaleY = 1; // FIXME:
11 | // `offsetWidth` returns an integer while `getBoundingClientRect`
12 | // returns a float. This results in `scaleX` or `scaleY` being
13 | // non-1 when it should be for elements that aren't a full pixel in
14 | // width or height.
15 | // if (isHTMLElement(element) && includeScale) {
16 | // const offsetHeight = element.offsetHeight;
17 | // const offsetWidth = element.offsetWidth;
18 | // // Do not attempt to divide by 0, otherwise we get `Infinity` as scale
19 | // // Fallback to 1 in case both values are `0`
20 | // if (offsetWidth > 0) {
21 | // scaleX = rect.width / offsetWidth || 1;
22 | // }
23 | // if (offsetHeight > 0) {
24 | // scaleY = rect.height / offsetHeight || 1;
25 | // }
26 | // }
27 |
28 | return {
29 | width: rect.width / scaleX,
30 | height: rect.height / scaleY,
31 | top: rect.top / scaleY,
32 | right: rect.right / scaleX,
33 | bottom: rect.bottom / scaleY,
34 | left: rect.left / scaleX,
35 | x: rect.left / scaleX,
36 | y: rect.top / scaleY
37 | };
38 | }
--------------------------------------------------------------------------------
/npm/node_modules/@popperjs/core/dist/esm/dom-utils/getComputedStyle.js:
--------------------------------------------------------------------------------
1 | import getWindow from "./getWindow.js";
2 | export default function getComputedStyle(element) {
3 | return getWindow(element).getComputedStyle(element);
4 | }
--------------------------------------------------------------------------------
/npm/node_modules/@popperjs/core/dist/esm/dom-utils/getDocumentElement.js:
--------------------------------------------------------------------------------
1 | import { isElement } from "./instanceOf.js";
2 | export default function getDocumentElement(element) {
3 | // $FlowFixMe[incompatible-return]: assume body is always available
4 | return ((isElement(element) ? element.ownerDocument : // $FlowFixMe[prop-missing]
5 | element.document) || window.document).documentElement;
6 | }
--------------------------------------------------------------------------------
/npm/node_modules/@popperjs/core/dist/esm/dom-utils/getDocumentRect.js:
--------------------------------------------------------------------------------
1 | import getDocumentElement from "./getDocumentElement.js";
2 | import getComputedStyle from "./getComputedStyle.js";
3 | import getWindowScrollBarX from "./getWindowScrollBarX.js";
4 | import getWindowScroll from "./getWindowScroll.js";
5 | import { max } from "../utils/math.js"; // Gets the entire size of the scrollable document area, even extending outside
6 | // of the `` and `` rect bounds if horizontally scrollable
7 |
8 | export default function getDocumentRect(element) {
9 | var _element$ownerDocumen;
10 |
11 | var html = getDocumentElement(element);
12 | var winScroll = getWindowScroll(element);
13 | var body = (_element$ownerDocumen = element.ownerDocument) == null ? void 0 : _element$ownerDocumen.body;
14 | var width = max(html.scrollWidth, html.clientWidth, body ? body.scrollWidth : 0, body ? body.clientWidth : 0);
15 | var height = max(html.scrollHeight, html.clientHeight, body ? body.scrollHeight : 0, body ? body.clientHeight : 0);
16 | var x = -winScroll.scrollLeft + getWindowScrollBarX(element);
17 | var y = -winScroll.scrollTop;
18 |
19 | if (getComputedStyle(body || html).direction === 'rtl') {
20 | x += max(html.clientWidth, body ? body.clientWidth : 0) - width;
21 | }
22 |
23 | return {
24 | width: width,
25 | height: height,
26 | x: x,
27 | y: y
28 | };
29 | }
--------------------------------------------------------------------------------
/npm/node_modules/@popperjs/core/dist/esm/dom-utils/getHTMLElementScroll.js:
--------------------------------------------------------------------------------
1 | export default function getHTMLElementScroll(element) {
2 | return {
3 | scrollLeft: element.scrollLeft,
4 | scrollTop: element.scrollTop
5 | };
6 | }
--------------------------------------------------------------------------------
/npm/node_modules/@popperjs/core/dist/esm/dom-utils/getLayoutRect.js:
--------------------------------------------------------------------------------
1 | import getBoundingClientRect from "./getBoundingClientRect.js"; // Returns the layout rect of an element relative to its offsetParent. Layout
2 | // means it doesn't take into account transforms.
3 |
4 | export default function getLayoutRect(element) {
5 | var clientRect = getBoundingClientRect(element); // Use the clientRect sizes if it's not been transformed.
6 | // Fixes https://github.com/popperjs/popper-core/issues/1223
7 |
8 | var width = element.offsetWidth;
9 | var height = element.offsetHeight;
10 |
11 | if (Math.abs(clientRect.width - width) <= 1) {
12 | width = clientRect.width;
13 | }
14 |
15 | if (Math.abs(clientRect.height - height) <= 1) {
16 | height = clientRect.height;
17 | }
18 |
19 | return {
20 | x: element.offsetLeft,
21 | y: element.offsetTop,
22 | width: width,
23 | height: height
24 | };
25 | }
--------------------------------------------------------------------------------
/npm/node_modules/@popperjs/core/dist/esm/dom-utils/getNodeName.js:
--------------------------------------------------------------------------------
1 | export default function getNodeName(element) {
2 | return element ? (element.nodeName || '').toLowerCase() : null;
3 | }
--------------------------------------------------------------------------------
/npm/node_modules/@popperjs/core/dist/esm/dom-utils/getNodeScroll.js:
--------------------------------------------------------------------------------
1 | import getWindowScroll from "./getWindowScroll.js";
2 | import getWindow from "./getWindow.js";
3 | import { isHTMLElement } from "./instanceOf.js";
4 | import getHTMLElementScroll from "./getHTMLElementScroll.js";
5 | export default function getNodeScroll(node) {
6 | if (node === getWindow(node) || !isHTMLElement(node)) {
7 | return getWindowScroll(node);
8 | } else {
9 | return getHTMLElementScroll(node);
10 | }
11 | }
--------------------------------------------------------------------------------
/npm/node_modules/@popperjs/core/dist/esm/dom-utils/getParentNode.js:
--------------------------------------------------------------------------------
1 | import getNodeName from "./getNodeName.js";
2 | import getDocumentElement from "./getDocumentElement.js";
3 | import { isShadowRoot } from "./instanceOf.js";
4 | export default function getParentNode(element) {
5 | if (getNodeName(element) === 'html') {
6 | return element;
7 | }
8 |
9 | return (// this is a quicker (but less type safe) way to save quite some bytes from the bundle
10 | // $FlowFixMe[incompatible-return]
11 | // $FlowFixMe[prop-missing]
12 | element.assignedSlot || // step into the shadow DOM of the parent of a slotted node
13 | element.parentNode || ( // DOM Element detected
14 | isShadowRoot(element) ? element.host : null) || // ShadowRoot detected
15 | // $FlowFixMe[incompatible-call]: HTMLElement is a Node
16 | getDocumentElement(element) // fallback
17 |
18 | );
19 | }
--------------------------------------------------------------------------------
/npm/node_modules/@popperjs/core/dist/esm/dom-utils/getScrollParent.js:
--------------------------------------------------------------------------------
1 | import getParentNode from "./getParentNode.js";
2 | import isScrollParent from "./isScrollParent.js";
3 | import getNodeName from "./getNodeName.js";
4 | import { isHTMLElement } from "./instanceOf.js";
5 | export default function getScrollParent(node) {
6 | if (['html', 'body', '#document'].indexOf(getNodeName(node)) >= 0) {
7 | // $FlowFixMe[incompatible-return]: assume body is always available
8 | return node.ownerDocument.body;
9 | }
10 |
11 | if (isHTMLElement(node) && isScrollParent(node)) {
12 | return node;
13 | }
14 |
15 | return getScrollParent(getParentNode(node));
16 | }
--------------------------------------------------------------------------------
/npm/node_modules/@popperjs/core/dist/esm/dom-utils/getViewportRect.js:
--------------------------------------------------------------------------------
1 | import getWindow from "./getWindow.js";
2 | import getDocumentElement from "./getDocumentElement.js";
3 | import getWindowScrollBarX from "./getWindowScrollBarX.js";
4 | export default function getViewportRect(element) {
5 | var win = getWindow(element);
6 | var html = getDocumentElement(element);
7 | var visualViewport = win.visualViewport;
8 | var width = html.clientWidth;
9 | var height = html.clientHeight;
10 | var x = 0;
11 | var y = 0; // NB: This isn't supported on iOS <= 12. If the keyboard is open, the popper
12 | // can be obscured underneath it.
13 | // Also, `html.clientHeight` adds the bottom bar height in Safari iOS, even
14 | // if it isn't open, so if this isn't available, the popper will be detected
15 | // to overflow the bottom of the screen too early.
16 |
17 | if (visualViewport) {
18 | width = visualViewport.width;
19 | height = visualViewport.height; // Uses Layout Viewport (like Chrome; Safari does not currently)
20 | // In Chrome, it returns a value very close to 0 (+/-) but contains rounding
21 | // errors due to floating point numbers, so we need to check precision.
22 | // Safari returns a number <= 0, usually < -1 when pinch-zoomed
23 | // Feature detection fails in mobile emulation mode in Chrome.
24 | // Math.abs(win.innerWidth / visualViewport.scale - visualViewport.width) <
25 | // 0.001
26 | // Fallback here: "Not Safari" userAgent
27 |
28 | if (!/^((?!chrome|android).)*safari/i.test(navigator.userAgent)) {
29 | x = visualViewport.offsetLeft;
30 | y = visualViewport.offsetTop;
31 | }
32 | }
33 |
34 | return {
35 | width: width,
36 | height: height,
37 | x: x + getWindowScrollBarX(element),
38 | y: y
39 | };
40 | }
--------------------------------------------------------------------------------
/npm/node_modules/@popperjs/core/dist/esm/dom-utils/getWindow.js:
--------------------------------------------------------------------------------
1 | export default function getWindow(node) {
2 | if (node == null) {
3 | return window;
4 | }
5 |
6 | if (node.toString() !== '[object Window]') {
7 | var ownerDocument = node.ownerDocument;
8 | return ownerDocument ? ownerDocument.defaultView || window : window;
9 | }
10 |
11 | return node;
12 | }
--------------------------------------------------------------------------------
/npm/node_modules/@popperjs/core/dist/esm/dom-utils/getWindowScroll.js:
--------------------------------------------------------------------------------
1 | import getWindow from "./getWindow.js";
2 | export default function getWindowScroll(node) {
3 | var win = getWindow(node);
4 | var scrollLeft = win.pageXOffset;
5 | var scrollTop = win.pageYOffset;
6 | return {
7 | scrollLeft: scrollLeft,
8 | scrollTop: scrollTop
9 | };
10 | }
--------------------------------------------------------------------------------
/npm/node_modules/@popperjs/core/dist/esm/dom-utils/getWindowScrollBarX.js:
--------------------------------------------------------------------------------
1 | import getBoundingClientRect from "./getBoundingClientRect.js";
2 | import getDocumentElement from "./getDocumentElement.js";
3 | import getWindowScroll from "./getWindowScroll.js";
4 | export default function getWindowScrollBarX(element) {
5 | // If has a CSS width greater than the viewport, then this will be
6 | // incorrect for RTL.
7 | // Popper 1 is broken in this case and never had a bug report so let's assume
8 | // it's not an issue. I don't think anyone ever specifies width on
9 | // anyway.
10 | // Browsers where the left scrollbar doesn't cause an issue report `0` for
11 | // this (e.g. Edge 2019, IE11, Safari)
12 | return getBoundingClientRect(getDocumentElement(element)).left + getWindowScroll(element).scrollLeft;
13 | }
--------------------------------------------------------------------------------
/npm/node_modules/@popperjs/core/dist/esm/dom-utils/instanceOf.js:
--------------------------------------------------------------------------------
1 | import getWindow from "./getWindow.js";
2 |
3 | function isElement(node) {
4 | var OwnElement = getWindow(node).Element;
5 | return node instanceof OwnElement || node instanceof Element;
6 | }
7 |
8 | function isHTMLElement(node) {
9 | var OwnElement = getWindow(node).HTMLElement;
10 | return node instanceof OwnElement || node instanceof HTMLElement;
11 | }
12 |
13 | function isShadowRoot(node) {
14 | // IE 11 has no ShadowRoot
15 | if (typeof ShadowRoot === 'undefined') {
16 | return false;
17 | }
18 |
19 | var OwnElement = getWindow(node).ShadowRoot;
20 | return node instanceof OwnElement || node instanceof ShadowRoot;
21 | }
22 |
23 | export { isElement, isHTMLElement, isShadowRoot };
--------------------------------------------------------------------------------
/npm/node_modules/@popperjs/core/dist/esm/dom-utils/isScrollParent.js:
--------------------------------------------------------------------------------
1 | import getComputedStyle from "./getComputedStyle.js";
2 | export default function isScrollParent(element) {
3 | // Firefox wants us to check `-x` and `-y` variations as well
4 | var _getComputedStyle = getComputedStyle(element),
5 | overflow = _getComputedStyle.overflow,
6 | overflowX = _getComputedStyle.overflowX,
7 | overflowY = _getComputedStyle.overflowY;
8 |
9 | return /auto|scroll|overlay|hidden/.test(overflow + overflowY + overflowX);
10 | }
--------------------------------------------------------------------------------
/npm/node_modules/@popperjs/core/dist/esm/dom-utils/isTableElement.js:
--------------------------------------------------------------------------------
1 | import getNodeName from "./getNodeName.js";
2 | export default function isTableElement(element) {
3 | return ['table', 'td', 'th'].indexOf(getNodeName(element)) >= 0;
4 | }
--------------------------------------------------------------------------------
/npm/node_modules/@popperjs/core/dist/esm/dom-utils/listScrollParents.js:
--------------------------------------------------------------------------------
1 | import getScrollParent from "./getScrollParent.js";
2 | import getParentNode from "./getParentNode.js";
3 | import getWindow from "./getWindow.js";
4 | import isScrollParent from "./isScrollParent.js";
5 | /*
6 | given a DOM element, return the list of all scroll parents, up the list of ancesors
7 | until we get to the top window object. This list is what we attach scroll listeners
8 | to, because if any of these parent elements scroll, we'll need to re-calculate the
9 | reference element's position.
10 | */
11 |
12 | export default function listScrollParents(element, list) {
13 | var _element$ownerDocumen;
14 |
15 | if (list === void 0) {
16 | list = [];
17 | }
18 |
19 | var scrollParent = getScrollParent(element);
20 | var isBody = scrollParent === ((_element$ownerDocumen = element.ownerDocument) == null ? void 0 : _element$ownerDocumen.body);
21 | var win = getWindow(scrollParent);
22 | var target = isBody ? [win].concat(win.visualViewport || [], isScrollParent(scrollParent) ? scrollParent : []) : scrollParent;
23 | var updatedList = list.concat(target);
24 | return isBody ? updatedList : // $FlowFixMe[incompatible-call]: isBody tells us target will be an HTMLElement here
25 | updatedList.concat(listScrollParents(getParentNode(target)));
26 | }
--------------------------------------------------------------------------------
/npm/node_modules/@popperjs/core/dist/esm/enums.js:
--------------------------------------------------------------------------------
1 | export var top = 'top';
2 | export var bottom = 'bottom';
3 | export var right = 'right';
4 | export var left = 'left';
5 | export var auto = 'auto';
6 | export var basePlacements = [top, bottom, right, left];
7 | export var start = 'start';
8 | export var end = 'end';
9 | export var clippingParents = 'clippingParents';
10 | export var viewport = 'viewport';
11 | export var popper = 'popper';
12 | export var reference = 'reference';
13 | export var variationPlacements = /*#__PURE__*/basePlacements.reduce(function (acc, placement) {
14 | return acc.concat([placement + "-" + start, placement + "-" + end]);
15 | }, []);
16 | export var placements = /*#__PURE__*/[].concat(basePlacements, [auto]).reduce(function (acc, placement) {
17 | return acc.concat([placement, placement + "-" + start, placement + "-" + end]);
18 | }, []); // modifiers that need to read the DOM
19 |
20 | export var beforeRead = 'beforeRead';
21 | export var read = 'read';
22 | export var afterRead = 'afterRead'; // pure-logic modifiers
23 |
24 | export var beforeMain = 'beforeMain';
25 | export var main = 'main';
26 | export var afterMain = 'afterMain'; // modifier with the purpose to write to the DOM (or write into a framework state)
27 |
28 | export var beforeWrite = 'beforeWrite';
29 | export var write = 'write';
30 | export var afterWrite = 'afterWrite';
31 | export var modifierPhases = [beforeRead, read, afterRead, beforeMain, main, afterMain, beforeWrite, write, afterWrite];
--------------------------------------------------------------------------------
/npm/node_modules/@popperjs/core/dist/esm/index.js:
--------------------------------------------------------------------------------
1 | export * from "./enums.js";
2 | export * from "./modifiers/index.js"; // eslint-disable-next-line import/no-unused-modules
3 |
4 | export { popperGenerator, detectOverflow, createPopper as createPopperBase } from "./createPopper.js"; // eslint-disable-next-line import/no-unused-modules
5 |
6 | export { createPopper } from "./popper.js"; // eslint-disable-next-line import/no-unused-modules
7 |
8 | export { createPopper as createPopperLite } from "./popper-lite.js";
--------------------------------------------------------------------------------
/npm/node_modules/@popperjs/core/dist/esm/modifiers/eventListeners.js:
--------------------------------------------------------------------------------
1 | import getWindow from "../dom-utils/getWindow.js"; // eslint-disable-next-line import/no-unused-modules
2 |
3 | var passive = {
4 | passive: true
5 | };
6 |
7 | function effect(_ref) {
8 | var state = _ref.state,
9 | instance = _ref.instance,
10 | options = _ref.options;
11 | var _options$scroll = options.scroll,
12 | scroll = _options$scroll === void 0 ? true : _options$scroll,
13 | _options$resize = options.resize,
14 | resize = _options$resize === void 0 ? true : _options$resize;
15 | var window = getWindow(state.elements.popper);
16 | var scrollParents = [].concat(state.scrollParents.reference, state.scrollParents.popper);
17 |
18 | if (scroll) {
19 | scrollParents.forEach(function (scrollParent) {
20 | scrollParent.addEventListener('scroll', instance.update, passive);
21 | });
22 | }
23 |
24 | if (resize) {
25 | window.addEventListener('resize', instance.update, passive);
26 | }
27 |
28 | return function () {
29 | if (scroll) {
30 | scrollParents.forEach(function (scrollParent) {
31 | scrollParent.removeEventListener('scroll', instance.update, passive);
32 | });
33 | }
34 |
35 | if (resize) {
36 | window.removeEventListener('resize', instance.update, passive);
37 | }
38 | };
39 | } // eslint-disable-next-line import/no-unused-modules
40 |
41 |
42 | export default {
43 | name: 'eventListeners',
44 | enabled: true,
45 | phase: 'write',
46 | fn: function fn() {},
47 | effect: effect,
48 | data: {}
49 | };
--------------------------------------------------------------------------------
/npm/node_modules/@popperjs/core/dist/esm/modifiers/index.js:
--------------------------------------------------------------------------------
1 | export { default as applyStyles } from "./applyStyles.js";
2 | export { default as arrow } from "./arrow.js";
3 | export { default as computeStyles } from "./computeStyles.js";
4 | export { default as eventListeners } from "./eventListeners.js";
5 | export { default as flip } from "./flip.js";
6 | export { default as hide } from "./hide.js";
7 | export { default as offset } from "./offset.js";
8 | export { default as popperOffsets } from "./popperOffsets.js";
9 | export { default as preventOverflow } from "./preventOverflow.js";
--------------------------------------------------------------------------------
/npm/node_modules/@popperjs/core/dist/esm/modifiers/offset.js:
--------------------------------------------------------------------------------
1 | import getBasePlacement from "../utils/getBasePlacement.js";
2 | import { top, left, right, placements } from "../enums.js";
3 | export function distanceAndSkiddingToXY(placement, rects, offset) {
4 | var basePlacement = getBasePlacement(placement);
5 | var invertDistance = [left, top].indexOf(basePlacement) >= 0 ? -1 : 1;
6 |
7 | var _ref = typeof offset === 'function' ? offset(Object.assign({}, rects, {
8 | placement: placement
9 | })) : offset,
10 | skidding = _ref[0],
11 | distance = _ref[1];
12 |
13 | skidding = skidding || 0;
14 | distance = (distance || 0) * invertDistance;
15 | return [left, right].indexOf(basePlacement) >= 0 ? {
16 | x: distance,
17 | y: skidding
18 | } : {
19 | x: skidding,
20 | y: distance
21 | };
22 | }
23 |
24 | function offset(_ref2) {
25 | var state = _ref2.state,
26 | options = _ref2.options,
27 | name = _ref2.name;
28 | var _options$offset = options.offset,
29 | offset = _options$offset === void 0 ? [0, 0] : _options$offset;
30 | var data = placements.reduce(function (acc, placement) {
31 | acc[placement] = distanceAndSkiddingToXY(placement, state.rects, offset);
32 | return acc;
33 | }, {});
34 | var _data$state$placement = data[state.placement],
35 | x = _data$state$placement.x,
36 | y = _data$state$placement.y;
37 |
38 | if (state.modifiersData.popperOffsets != null) {
39 | state.modifiersData.popperOffsets.x += x;
40 | state.modifiersData.popperOffsets.y += y;
41 | }
42 |
43 | state.modifiersData[name] = data;
44 | } // eslint-disable-next-line import/no-unused-modules
45 |
46 |
47 | export default {
48 | name: 'offset',
49 | enabled: true,
50 | phase: 'main',
51 | requires: ['popperOffsets'],
52 | fn: offset
53 | };
--------------------------------------------------------------------------------
/npm/node_modules/@popperjs/core/dist/esm/modifiers/popperOffsets.js:
--------------------------------------------------------------------------------
1 | import computeOffsets from "../utils/computeOffsets.js";
2 |
3 | function popperOffsets(_ref) {
4 | var state = _ref.state,
5 | name = _ref.name;
6 | // Offsets are the actual position the popper needs to have to be
7 | // properly positioned near its reference element
8 | // This is the most basic placement, and will be adjusted by
9 | // the modifiers in the next step
10 | state.modifiersData[name] = computeOffsets({
11 | reference: state.rects.reference,
12 | element: state.rects.popper,
13 | strategy: 'absolute',
14 | placement: state.placement
15 | });
16 | } // eslint-disable-next-line import/no-unused-modules
17 |
18 |
19 | export default {
20 | name: 'popperOffsets',
21 | enabled: true,
22 | phase: 'read',
23 | fn: popperOffsets,
24 | data: {}
25 | };
--------------------------------------------------------------------------------
/npm/node_modules/@popperjs/core/dist/esm/popper-base.js:
--------------------------------------------------------------------------------
1 | import { createPopper, popperGenerator, detectOverflow } from "./createPopper.js";
2 | // eslint-disable-next-line import/no-unused-modules
3 | export { createPopper, popperGenerator, detectOverflow };
--------------------------------------------------------------------------------
/npm/node_modules/@popperjs/core/dist/esm/popper-lite.js:
--------------------------------------------------------------------------------
1 | import { popperGenerator, detectOverflow } from "./createPopper.js";
2 | import eventListeners from "./modifiers/eventListeners.js";
3 | import popperOffsets from "./modifiers/popperOffsets.js";
4 | import computeStyles from "./modifiers/computeStyles.js";
5 | import applyStyles from "./modifiers/applyStyles.js";
6 | var defaultModifiers = [eventListeners, popperOffsets, computeStyles, applyStyles];
7 | var createPopper = /*#__PURE__*/popperGenerator({
8 | defaultModifiers: defaultModifiers
9 | }); // eslint-disable-next-line import/no-unused-modules
10 |
11 | export { createPopper, popperGenerator, defaultModifiers, detectOverflow };
--------------------------------------------------------------------------------
/npm/node_modules/@popperjs/core/dist/esm/popper.js:
--------------------------------------------------------------------------------
1 | import { popperGenerator, detectOverflow } from "./createPopper.js";
2 | import eventListeners from "./modifiers/eventListeners.js";
3 | import popperOffsets from "./modifiers/popperOffsets.js";
4 | import computeStyles from "./modifiers/computeStyles.js";
5 | import applyStyles from "./modifiers/applyStyles.js";
6 | import offset from "./modifiers/offset.js";
7 | import flip from "./modifiers/flip.js";
8 | import preventOverflow from "./modifiers/preventOverflow.js";
9 | import arrow from "./modifiers/arrow.js";
10 | import hide from "./modifiers/hide.js";
11 | var defaultModifiers = [eventListeners, popperOffsets, computeStyles, applyStyles, offset, flip, preventOverflow, arrow, hide];
12 | var createPopper = /*#__PURE__*/popperGenerator({
13 | defaultModifiers: defaultModifiers
14 | }); // eslint-disable-next-line import/no-unused-modules
15 |
16 | export { createPopper, popperGenerator, defaultModifiers, detectOverflow }; // eslint-disable-next-line import/no-unused-modules
17 |
18 | export { createPopper as createPopperLite } from "./popper-lite.js"; // eslint-disable-next-line import/no-unused-modules
19 |
20 | export * from "./modifiers/index.js";
--------------------------------------------------------------------------------
/npm/node_modules/@popperjs/core/dist/esm/types.js:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mdbootstrap/bootstrap-5-freecodecamp-source-code/55a4c8ba17ad0030ed44bcc2e1e2418247a7177a/npm/node_modules/@popperjs/core/dist/esm/types.js
--------------------------------------------------------------------------------
/npm/node_modules/@popperjs/core/dist/esm/utils/computeAutoPlacement.js:
--------------------------------------------------------------------------------
1 | import getVariation from "./getVariation.js";
2 | import { variationPlacements, basePlacements, placements as allPlacements } from "../enums.js";
3 | import detectOverflow from "./detectOverflow.js";
4 | import getBasePlacement from "./getBasePlacement.js";
5 | export default function computeAutoPlacement(state, options) {
6 | if (options === void 0) {
7 | options = {};
8 | }
9 |
10 | var _options = options,
11 | placement = _options.placement,
12 | boundary = _options.boundary,
13 | rootBoundary = _options.rootBoundary,
14 | padding = _options.padding,
15 | flipVariations = _options.flipVariations,
16 | _options$allowedAutoP = _options.allowedAutoPlacements,
17 | allowedAutoPlacements = _options$allowedAutoP === void 0 ? allPlacements : _options$allowedAutoP;
18 | var variation = getVariation(placement);
19 | var placements = variation ? flipVariations ? variationPlacements : variationPlacements.filter(function (placement) {
20 | return getVariation(placement) === variation;
21 | }) : basePlacements;
22 | var allowedPlacements = placements.filter(function (placement) {
23 | return allowedAutoPlacements.indexOf(placement) >= 0;
24 | });
25 |
26 | if (allowedPlacements.length === 0) {
27 | allowedPlacements = placements;
28 |
29 | if (false) {
30 | console.error(['Popper: The `allowedAutoPlacements` option did not allow any', 'placements. Ensure the `placement` option matches the variation', 'of the allowed placements.', 'For example, "auto" cannot be used to allow "bottom-start".', 'Use "auto-start" instead.'].join(' '));
31 | }
32 | } // $FlowFixMe[incompatible-type]: Flow seems to have problems with two array unions...
33 |
34 |
35 | var overflows = allowedPlacements.reduce(function (acc, placement) {
36 | acc[placement] = detectOverflow(state, {
37 | placement: placement,
38 | boundary: boundary,
39 | rootBoundary: rootBoundary,
40 | padding: padding
41 | })[getBasePlacement(placement)];
42 | return acc;
43 | }, {});
44 | return Object.keys(overflows).sort(function (a, b) {
45 | return overflows[a] - overflows[b];
46 | });
47 | }
--------------------------------------------------------------------------------
/npm/node_modules/@popperjs/core/dist/esm/utils/computeOffsets.js:
--------------------------------------------------------------------------------
1 | import getBasePlacement from "./getBasePlacement.js";
2 | import getVariation from "./getVariation.js";
3 | import getMainAxisFromPlacement from "./getMainAxisFromPlacement.js";
4 | import { top, right, bottom, left, start, end } from "../enums.js";
5 | export default function computeOffsets(_ref) {
6 | var reference = _ref.reference,
7 | element = _ref.element,
8 | placement = _ref.placement;
9 | var basePlacement = placement ? getBasePlacement(placement) : null;
10 | var variation = placement ? getVariation(placement) : null;
11 | var commonX = reference.x + reference.width / 2 - element.width / 2;
12 | var commonY = reference.y + reference.height / 2 - element.height / 2;
13 | var offsets;
14 |
15 | switch (basePlacement) {
16 | case top:
17 | offsets = {
18 | x: commonX,
19 | y: reference.y - element.height
20 | };
21 | break;
22 |
23 | case bottom:
24 | offsets = {
25 | x: commonX,
26 | y: reference.y + reference.height
27 | };
28 | break;
29 |
30 | case right:
31 | offsets = {
32 | x: reference.x + reference.width,
33 | y: commonY
34 | };
35 | break;
36 |
37 | case left:
38 | offsets = {
39 | x: reference.x - element.width,
40 | y: commonY
41 | };
42 | break;
43 |
44 | default:
45 | offsets = {
46 | x: reference.x,
47 | y: reference.y
48 | };
49 | }
50 |
51 | var mainAxis = basePlacement ? getMainAxisFromPlacement(basePlacement) : null;
52 |
53 | if (mainAxis != null) {
54 | var len = mainAxis === 'y' ? 'height' : 'width';
55 |
56 | switch (variation) {
57 | case start:
58 | offsets[mainAxis] = offsets[mainAxis] - (reference[len] / 2 - element[len] / 2);
59 | break;
60 |
61 | case end:
62 | offsets[mainAxis] = offsets[mainAxis] + (reference[len] / 2 - element[len] / 2);
63 | break;
64 |
65 | default:
66 | }
67 | }
68 |
69 | return offsets;
70 | }
--------------------------------------------------------------------------------
/npm/node_modules/@popperjs/core/dist/esm/utils/debounce.js:
--------------------------------------------------------------------------------
1 | export default function debounce(fn) {
2 | var pending;
3 | return function () {
4 | if (!pending) {
5 | pending = new Promise(function (resolve) {
6 | Promise.resolve().then(function () {
7 | pending = undefined;
8 | resolve(fn());
9 | });
10 | });
11 | }
12 |
13 | return pending;
14 | };
15 | }
--------------------------------------------------------------------------------
/npm/node_modules/@popperjs/core/dist/esm/utils/expandToHashMap.js:
--------------------------------------------------------------------------------
1 | export default function expandToHashMap(value, keys) {
2 | return keys.reduce(function (hashMap, key) {
3 | hashMap[key] = value;
4 | return hashMap;
5 | }, {});
6 | }
--------------------------------------------------------------------------------
/npm/node_modules/@popperjs/core/dist/esm/utils/format.js:
--------------------------------------------------------------------------------
1 | export default function format(str) {
2 | for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
3 | args[_key - 1] = arguments[_key];
4 | }
5 |
6 | return [].concat(args).reduce(function (p, c) {
7 | return p.replace(/%s/, c);
8 | }, str);
9 | }
--------------------------------------------------------------------------------
/npm/node_modules/@popperjs/core/dist/esm/utils/getAltAxis.js:
--------------------------------------------------------------------------------
1 | export default function getAltAxis(axis) {
2 | return axis === 'x' ? 'y' : 'x';
3 | }
--------------------------------------------------------------------------------
/npm/node_modules/@popperjs/core/dist/esm/utils/getAltLen.js:
--------------------------------------------------------------------------------
1 | export default function getAltLen(len) {
2 | return len === 'width' ? 'height' : 'width';
3 | }
--------------------------------------------------------------------------------
/npm/node_modules/@popperjs/core/dist/esm/utils/getBasePlacement.js:
--------------------------------------------------------------------------------
1 | import { auto } from "../enums.js";
2 | export default function getBasePlacement(placement) {
3 | return placement.split('-')[0];
4 | }
--------------------------------------------------------------------------------
/npm/node_modules/@popperjs/core/dist/esm/utils/getFreshSideObject.js:
--------------------------------------------------------------------------------
1 | export default function getFreshSideObject() {
2 | return {
3 | top: 0,
4 | right: 0,
5 | bottom: 0,
6 | left: 0
7 | };
8 | }
--------------------------------------------------------------------------------
/npm/node_modules/@popperjs/core/dist/esm/utils/getMainAxisFromPlacement.js:
--------------------------------------------------------------------------------
1 | export default function getMainAxisFromPlacement(placement) {
2 | return ['top', 'bottom'].indexOf(placement) >= 0 ? 'x' : 'y';
3 | }
--------------------------------------------------------------------------------
/npm/node_modules/@popperjs/core/dist/esm/utils/getOppositePlacement.js:
--------------------------------------------------------------------------------
1 | var hash = {
2 | left: 'right',
3 | right: 'left',
4 | bottom: 'top',
5 | top: 'bottom'
6 | };
7 | export default function getOppositePlacement(placement) {
8 | return placement.replace(/left|right|bottom|top/g, function (matched) {
9 | return hash[matched];
10 | });
11 | }
--------------------------------------------------------------------------------
/npm/node_modules/@popperjs/core/dist/esm/utils/getOppositeVariationPlacement.js:
--------------------------------------------------------------------------------
1 | var hash = {
2 | start: 'end',
3 | end: 'start'
4 | };
5 | export default function getOppositeVariationPlacement(placement) {
6 | return placement.replace(/start|end/g, function (matched) {
7 | return hash[matched];
8 | });
9 | }
--------------------------------------------------------------------------------
/npm/node_modules/@popperjs/core/dist/esm/utils/getVariation.js:
--------------------------------------------------------------------------------
1 | export default function getVariation(placement) {
2 | return placement.split('-')[1];
3 | }
--------------------------------------------------------------------------------
/npm/node_modules/@popperjs/core/dist/esm/utils/math.js:
--------------------------------------------------------------------------------
1 | export var max = Math.max;
2 | export var min = Math.min;
3 | export var round = Math.round;
--------------------------------------------------------------------------------
/npm/node_modules/@popperjs/core/dist/esm/utils/mergeByName.js:
--------------------------------------------------------------------------------
1 | export default function mergeByName(modifiers) {
2 | var merged = modifiers.reduce(function (merged, current) {
3 | var existing = merged[current.name];
4 | merged[current.name] = existing ? Object.assign({}, existing, current, {
5 | options: Object.assign({}, existing.options, current.options),
6 | data: Object.assign({}, existing.data, current.data)
7 | }) : current;
8 | return merged;
9 | }, {}); // IE11 does not support Object.values
10 |
11 | return Object.keys(merged).map(function (key) {
12 | return merged[key];
13 | });
14 | }
--------------------------------------------------------------------------------
/npm/node_modules/@popperjs/core/dist/esm/utils/mergePaddingObject.js:
--------------------------------------------------------------------------------
1 | import getFreshSideObject from "./getFreshSideObject.js";
2 | export default function mergePaddingObject(paddingObject) {
3 | return Object.assign({}, getFreshSideObject(), paddingObject);
4 | }
--------------------------------------------------------------------------------
/npm/node_modules/@popperjs/core/dist/esm/utils/orderModifiers.js:
--------------------------------------------------------------------------------
1 | import { modifierPhases } from "../enums.js"; // source: https://stackoverflow.com/questions/49875255
2 |
3 | function order(modifiers) {
4 | var map = new Map();
5 | var visited = new Set();
6 | var result = [];
7 | modifiers.forEach(function (modifier) {
8 | map.set(modifier.name, modifier);
9 | }); // On visiting object, check for its dependencies and visit them recursively
10 |
11 | function sort(modifier) {
12 | visited.add(modifier.name);
13 | var requires = [].concat(modifier.requires || [], modifier.requiresIfExists || []);
14 | requires.forEach(function (dep) {
15 | if (!visited.has(dep)) {
16 | var depModifier = map.get(dep);
17 |
18 | if (depModifier) {
19 | sort(depModifier);
20 | }
21 | }
22 | });
23 | result.push(modifier);
24 | }
25 |
26 | modifiers.forEach(function (modifier) {
27 | if (!visited.has(modifier.name)) {
28 | // check for visited object
29 | sort(modifier);
30 | }
31 | });
32 | return result;
33 | }
34 |
35 | export default function orderModifiers(modifiers) {
36 | // order based on dependencies
37 | var orderedModifiers = order(modifiers); // order based on phase
38 |
39 | return modifierPhases.reduce(function (acc, phase) {
40 | return acc.concat(orderedModifiers.filter(function (modifier) {
41 | return modifier.phase === phase;
42 | }));
43 | }, []);
44 | }
--------------------------------------------------------------------------------
/npm/node_modules/@popperjs/core/dist/esm/utils/rectToClientRect.js:
--------------------------------------------------------------------------------
1 | export default function rectToClientRect(rect) {
2 | return Object.assign({}, rect, {
3 | left: rect.x,
4 | top: rect.y,
5 | right: rect.x + rect.width,
6 | bottom: rect.y + rect.height
7 | });
8 | }
--------------------------------------------------------------------------------
/npm/node_modules/@popperjs/core/dist/esm/utils/uniqueBy.js:
--------------------------------------------------------------------------------
1 | export default function uniqueBy(arr, fn) {
2 | var identifiers = new Set();
3 | return arr.filter(function (item) {
4 | var identifier = fn(item);
5 |
6 | if (!identifiers.has(identifier)) {
7 | identifiers.add(identifier);
8 | return true;
9 | }
10 | });
11 | }
--------------------------------------------------------------------------------
/npm/node_modules/@popperjs/core/dist/esm/utils/within.js:
--------------------------------------------------------------------------------
1 | import { max as mathMax, min as mathMin } from "./math.js";
2 | export default function within(min, value, max) {
3 | return mathMax(min, mathMin(value, max));
4 | }
--------------------------------------------------------------------------------
/npm/node_modules/@popperjs/core/dist/umd/enums.min.js:
--------------------------------------------------------------------------------
1 | /**
2 | * @popperjs/core v2.10.2 - MIT License
3 | */
4 |
5 | "use strict";!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).Popper={})}(this,(function(e){var t=["top","bottom","right","left"],r=t.reduce((function(e,t){return e.concat([t+"-start",t+"-end"])}),[]),a=[].concat(t,["auto"]).reduce((function(e,t){return e.concat([t,t+"-start",t+"-end"])}),[]);e.afterMain="afterMain",e.afterRead="afterRead",e.afterWrite="afterWrite",e.auto="auto",e.basePlacements=t,e.beforeMain="beforeMain",e.beforeRead="beforeRead",e.beforeWrite="beforeWrite",e.bottom="bottom",e.clippingParents="clippingParents",e.end="end",e.left="left",e.main="main",e.modifierPhases="beforeRead read afterRead beforeMain main afterMain beforeWrite write afterWrite".split(" "),e.placements=a,e.popper="popper",e.read="read",e.reference="reference",e.right="right",e.start="start",e.top="top",e.variationPlacements=r,e.viewport="viewport",e.write="write",Object.defineProperty(e,"__esModule",{value:!0})}));
6 | //# sourceMappingURL=enums.min.js.map
7 |
--------------------------------------------------------------------------------
/npm/node_modules/@popperjs/core/dist/umd/enums.min.js.flow:
--------------------------------------------------------------------------------
1 | // @flow
2 |
3 | export * from '../../lib/enums.js'
4 |
--------------------------------------------------------------------------------
/npm/node_modules/@popperjs/core/dist/umd/popper-base.min.js.flow:
--------------------------------------------------------------------------------
1 | // @flow
2 |
3 | export * from '../../lib/popper-base.js'
4 |
--------------------------------------------------------------------------------
/npm/node_modules/@popperjs/core/dist/umd/popper-lite.min.js.flow:
--------------------------------------------------------------------------------
1 | // @flow
2 |
3 | export * from '../../lib/popper-lite.js'
4 |
--------------------------------------------------------------------------------
/npm/node_modules/@popperjs/core/dist/umd/popper.min.js.flow:
--------------------------------------------------------------------------------
1 | // @flow
2 |
3 | export * from '../../lib/popper.js'
4 |
--------------------------------------------------------------------------------
/npm/node_modules/@popperjs/core/index.d.ts:
--------------------------------------------------------------------------------
1 | export * from './lib';
2 |
--------------------------------------------------------------------------------
/npm/node_modules/@popperjs/core/lib/createPopper.d.ts:
--------------------------------------------------------------------------------
1 | import type { OptionsGeneric, Modifier, Instance, VirtualElement } from "./types";
2 | import detectOverflow from "./utils/detectOverflow";
3 | declare type PopperGeneratorArgs = {
4 | defaultModifiers?: Array>;
5 | defaultOptions?: Partial>;
6 | };
7 | export declare function popperGenerator(generatorOptions?: PopperGeneratorArgs): >>(reference: Element | VirtualElement, popper: HTMLElement, options?: Partial>) => Instance;
8 | export declare const createPopper: >>(reference: Element | VirtualElement, popper: HTMLElement, options?: Partial>) => Instance;
9 | export { detectOverflow };
10 |
--------------------------------------------------------------------------------
/npm/node_modules/@popperjs/core/lib/dom-utils/contains.d.ts:
--------------------------------------------------------------------------------
1 | export default function contains(parent: Element, child: Element): boolean;
2 |
--------------------------------------------------------------------------------
/npm/node_modules/@popperjs/core/lib/dom-utils/contains.js:
--------------------------------------------------------------------------------
1 | import { isShadowRoot } from "./instanceOf.js";
2 | export default function contains(parent, child) {
3 | var rootNode = child.getRootNode && child.getRootNode(); // First, attempt with faster native method
4 |
5 | if (parent.contains(child)) {
6 | return true;
7 | } // then fallback to custom implementation with Shadow DOM support
8 | else if (rootNode && isShadowRoot(rootNode)) {
9 | var next = child;
10 |
11 | do {
12 | if (next && parent.isSameNode(next)) {
13 | return true;
14 | } // $FlowFixMe[prop-missing]: need a better way to handle this...
15 |
16 |
17 | next = next.parentNode || next.host;
18 | } while (next);
19 | } // Give up, the result is false
20 |
21 |
22 | return false;
23 | }
--------------------------------------------------------------------------------
/npm/node_modules/@popperjs/core/lib/dom-utils/contains.js.flow:
--------------------------------------------------------------------------------
1 | // @flow
2 | import { isShadowRoot } from './instanceOf';
3 |
4 | export default function contains(parent: Element, child: Element) {
5 | const rootNode = child.getRootNode && child.getRootNode();
6 |
7 | // First, attempt with faster native method
8 | if (parent.contains(child)) {
9 | return true;
10 | }
11 | // then fallback to custom implementation with Shadow DOM support
12 | else if (rootNode && isShadowRoot(rootNode)) {
13 | let next = child;
14 | do {
15 | if (next && parent.isSameNode(next)) {
16 | return true;
17 | }
18 | // $FlowFixMe[prop-missing]: need a better way to handle this...
19 | next = next.parentNode || next.host;
20 | } while (next);
21 | }
22 |
23 | // Give up, the result is false
24 | return false;
25 | }
26 |
--------------------------------------------------------------------------------
/npm/node_modules/@popperjs/core/lib/dom-utils/getBoundingClientRect.d.ts:
--------------------------------------------------------------------------------
1 | import type { ClientRectObject, VirtualElement } from "../types";
2 | export default function getBoundingClientRect(element: Element | VirtualElement, // eslint-disable-next-line unused-imports/no-unused-vars
3 | includeScale?: boolean): ClientRectObject;
4 |
--------------------------------------------------------------------------------
/npm/node_modules/@popperjs/core/lib/dom-utils/getBoundingClientRect.js:
--------------------------------------------------------------------------------
1 | // import { isHTMLElement } from './instanceOf';
2 | export default function getBoundingClientRect(element, // eslint-disable-next-line unused-imports/no-unused-vars
3 | includeScale) {
4 | if (includeScale === void 0) {
5 | includeScale = false;
6 | }
7 |
8 | var rect = element.getBoundingClientRect();
9 | var scaleX = 1;
10 | var scaleY = 1; // FIXME:
11 | // `offsetWidth` returns an integer while `getBoundingClientRect`
12 | // returns a float. This results in `scaleX` or `scaleY` being
13 | // non-1 when it should be for elements that aren't a full pixel in
14 | // width or height.
15 | // if (isHTMLElement(element) && includeScale) {
16 | // const offsetHeight = element.offsetHeight;
17 | // const offsetWidth = element.offsetWidth;
18 | // // Do not attempt to divide by 0, otherwise we get `Infinity` as scale
19 | // // Fallback to 1 in case both values are `0`
20 | // if (offsetWidth > 0) {
21 | // scaleX = rect.width / offsetWidth || 1;
22 | // }
23 | // if (offsetHeight > 0) {
24 | // scaleY = rect.height / offsetHeight || 1;
25 | // }
26 | // }
27 |
28 | return {
29 | width: rect.width / scaleX,
30 | height: rect.height / scaleY,
31 | top: rect.top / scaleY,
32 | right: rect.right / scaleX,
33 | bottom: rect.bottom / scaleY,
34 | left: rect.left / scaleX,
35 | x: rect.left / scaleX,
36 | y: rect.top / scaleY
37 | };
38 | }
--------------------------------------------------------------------------------
/npm/node_modules/@popperjs/core/lib/dom-utils/getBoundingClientRect.js.flow:
--------------------------------------------------------------------------------
1 | // @flow
2 | import type { ClientRectObject, VirtualElement } from '../types';
3 | // import { isHTMLElement } from './instanceOf';
4 |
5 | export default function getBoundingClientRect(
6 | element: Element | VirtualElement,
7 | // eslint-disable-next-line unused-imports/no-unused-vars
8 | includeScale: boolean = false
9 | ): ClientRectObject {
10 | const rect = element.getBoundingClientRect();
11 | let scaleX = 1;
12 | let scaleY = 1;
13 |
14 | // FIXME:
15 | // `offsetWidth` returns an integer while `getBoundingClientRect`
16 | // returns a float. This results in `scaleX` or `scaleY` being
17 | // non-1 when it should be for elements that aren't a full pixel in
18 | // width or height.
19 | // if (isHTMLElement(element) && includeScale) {
20 | // const offsetHeight = element.offsetHeight;
21 | // const offsetWidth = element.offsetWidth;
22 |
23 | // // Do not attempt to divide by 0, otherwise we get `Infinity` as scale
24 | // // Fallback to 1 in case both values are `0`
25 | // if (offsetWidth > 0) {
26 | // scaleX = rect.width / offsetWidth || 1;
27 | // }
28 | // if (offsetHeight > 0) {
29 | // scaleY = rect.height / offsetHeight || 1;
30 | // }
31 | // }
32 |
33 | return {
34 | width: rect.width / scaleX,
35 | height: rect.height / scaleY,
36 | top: rect.top / scaleY,
37 | right: rect.right / scaleX,
38 | bottom: rect.bottom / scaleY,
39 | left: rect.left / scaleX,
40 | x: rect.left / scaleX,
41 | y: rect.top / scaleY,
42 | };
43 | }
44 |
--------------------------------------------------------------------------------
/npm/node_modules/@popperjs/core/lib/dom-utils/getClippingRect.d.ts:
--------------------------------------------------------------------------------
1 | import type { ClientRectObject } from "../types";
2 | import type { Boundary, RootBoundary } from "../enums";
3 | export default function getClippingRect(element: Element, boundary: Boundary, rootBoundary: RootBoundary): ClientRectObject;
4 |
--------------------------------------------------------------------------------
/npm/node_modules/@popperjs/core/lib/dom-utils/getCompositeRect.d.ts:
--------------------------------------------------------------------------------
1 | import type { Rect, VirtualElement, Window } from "../types";
2 | export default function getCompositeRect(elementOrVirtualElement: Element | VirtualElement, offsetParent: Element | Window, isFixed?: boolean): Rect;
3 |
--------------------------------------------------------------------------------
/npm/node_modules/@popperjs/core/lib/dom-utils/getComputedStyle.d.ts:
--------------------------------------------------------------------------------
1 | export default function getComputedStyle(element: Element): CSSStyleDeclaration;
2 |
--------------------------------------------------------------------------------
/npm/node_modules/@popperjs/core/lib/dom-utils/getComputedStyle.js:
--------------------------------------------------------------------------------
1 | import getWindow from "./getWindow.js";
2 | export default function getComputedStyle(element) {
3 | return getWindow(element).getComputedStyle(element);
4 | }
--------------------------------------------------------------------------------
/npm/node_modules/@popperjs/core/lib/dom-utils/getComputedStyle.js.flow:
--------------------------------------------------------------------------------
1 | // @flow
2 | import getWindow from './getWindow';
3 |
4 | export default function getComputedStyle(
5 | element: Element
6 | ): CSSStyleDeclaration {
7 | return getWindow(element).getComputedStyle(element);
8 | }
9 |
--------------------------------------------------------------------------------
/npm/node_modules/@popperjs/core/lib/dom-utils/getDocumentElement.d.ts:
--------------------------------------------------------------------------------
1 | import type { Window } from "../types";
2 | export default function getDocumentElement(element: Element | Window): HTMLElement;
3 |
--------------------------------------------------------------------------------
/npm/node_modules/@popperjs/core/lib/dom-utils/getDocumentElement.js:
--------------------------------------------------------------------------------
1 | import { isElement } from "./instanceOf.js";
2 | export default function getDocumentElement(element) {
3 | // $FlowFixMe[incompatible-return]: assume body is always available
4 | return ((isElement(element) ? element.ownerDocument : // $FlowFixMe[prop-missing]
5 | element.document) || window.document).documentElement;
6 | }
--------------------------------------------------------------------------------
/npm/node_modules/@popperjs/core/lib/dom-utils/getDocumentElement.js.flow:
--------------------------------------------------------------------------------
1 | // @flow
2 | import { isElement } from './instanceOf';
3 | import type { Window } from '../types';
4 |
5 | export default function getDocumentElement(
6 | element: Element | Window
7 | ): HTMLElement {
8 | // $FlowFixMe[incompatible-return]: assume body is always available
9 | return (
10 | (isElement(element)
11 | ? element.ownerDocument
12 | : // $FlowFixMe[prop-missing]
13 | element.document) || window.document
14 | ).documentElement;
15 | }
16 |
--------------------------------------------------------------------------------
/npm/node_modules/@popperjs/core/lib/dom-utils/getDocumentRect.d.ts:
--------------------------------------------------------------------------------
1 | import type { Rect } from "../types";
2 | export default function getDocumentRect(element: HTMLElement): Rect;
3 |
--------------------------------------------------------------------------------
/npm/node_modules/@popperjs/core/lib/dom-utils/getDocumentRect.js:
--------------------------------------------------------------------------------
1 | import getDocumentElement from "./getDocumentElement.js";
2 | import getComputedStyle from "./getComputedStyle.js";
3 | import getWindowScrollBarX from "./getWindowScrollBarX.js";
4 | import getWindowScroll from "./getWindowScroll.js";
5 | import { max } from "../utils/math.js"; // Gets the entire size of the scrollable document area, even extending outside
6 | // of the `` and `` rect bounds if horizontally scrollable
7 |
8 | export default function getDocumentRect(element) {
9 | var _element$ownerDocumen;
10 |
11 | var html = getDocumentElement(element);
12 | var winScroll = getWindowScroll(element);
13 | var body = (_element$ownerDocumen = element.ownerDocument) == null ? void 0 : _element$ownerDocumen.body;
14 | var width = max(html.scrollWidth, html.clientWidth, body ? body.scrollWidth : 0, body ? body.clientWidth : 0);
15 | var height = max(html.scrollHeight, html.clientHeight, body ? body.scrollHeight : 0, body ? body.clientHeight : 0);
16 | var x = -winScroll.scrollLeft + getWindowScrollBarX(element);
17 | var y = -winScroll.scrollTop;
18 |
19 | if (getComputedStyle(body || html).direction === 'rtl') {
20 | x += max(html.clientWidth, body ? body.clientWidth : 0) - width;
21 | }
22 |
23 | return {
24 | width: width,
25 | height: height,
26 | x: x,
27 | y: y
28 | };
29 | }
--------------------------------------------------------------------------------
/npm/node_modules/@popperjs/core/lib/dom-utils/getDocumentRect.js.flow:
--------------------------------------------------------------------------------
1 | // @flow
2 | import type { Rect } from '../types';
3 | import getDocumentElement from './getDocumentElement';
4 | import getComputedStyle from './getComputedStyle';
5 | import getWindowScrollBarX from './getWindowScrollBarX';
6 | import getWindowScroll from './getWindowScroll';
7 | import { max } from '../utils/math';
8 |
9 | // Gets the entire size of the scrollable document area, even extending outside
10 | // of the `` and `` rect bounds if horizontally scrollable
11 | export default function getDocumentRect(element: HTMLElement): Rect {
12 | const html = getDocumentElement(element);
13 | const winScroll = getWindowScroll(element);
14 | const body = element.ownerDocument?.body;
15 |
16 | const width = max(
17 | html.scrollWidth,
18 | html.clientWidth,
19 | body ? body.scrollWidth : 0,
20 | body ? body.clientWidth : 0
21 | );
22 | const height = max(
23 | html.scrollHeight,
24 | html.clientHeight,
25 | body ? body.scrollHeight : 0,
26 | body ? body.clientHeight : 0
27 | );
28 |
29 | let x = -winScroll.scrollLeft + getWindowScrollBarX(element);
30 | const y = -winScroll.scrollTop;
31 |
32 | if (getComputedStyle(body || html).direction === 'rtl') {
33 | x += max(html.clientWidth, body ? body.clientWidth : 0) - width;
34 | }
35 |
36 | return { width, height, x, y };
37 | }
38 |
--------------------------------------------------------------------------------
/npm/node_modules/@popperjs/core/lib/dom-utils/getHTMLElementScroll.d.ts:
--------------------------------------------------------------------------------
1 | export default function getHTMLElementScroll(element: HTMLElement): {
2 | scrollLeft: number;
3 | scrollTop: number;
4 | };
5 |
--------------------------------------------------------------------------------
/npm/node_modules/@popperjs/core/lib/dom-utils/getHTMLElementScroll.js:
--------------------------------------------------------------------------------
1 | export default function getHTMLElementScroll(element) {
2 | return {
3 | scrollLeft: element.scrollLeft,
4 | scrollTop: element.scrollTop
5 | };
6 | }
--------------------------------------------------------------------------------
/npm/node_modules/@popperjs/core/lib/dom-utils/getHTMLElementScroll.js.flow:
--------------------------------------------------------------------------------
1 | // @flow
2 |
3 | export default function getHTMLElementScroll(element: HTMLElement) {
4 | return {
5 | scrollLeft: element.scrollLeft,
6 | scrollTop: element.scrollTop,
7 | };
8 | }
9 |
--------------------------------------------------------------------------------
/npm/node_modules/@popperjs/core/lib/dom-utils/getLayoutRect.d.ts:
--------------------------------------------------------------------------------
1 | import type { Rect } from "../types";
2 | export default function getLayoutRect(element: HTMLElement): Rect;
3 |
--------------------------------------------------------------------------------
/npm/node_modules/@popperjs/core/lib/dom-utils/getLayoutRect.js:
--------------------------------------------------------------------------------
1 | import getBoundingClientRect from "./getBoundingClientRect.js"; // Returns the layout rect of an element relative to its offsetParent. Layout
2 | // means it doesn't take into account transforms.
3 |
4 | export default function getLayoutRect(element) {
5 | var clientRect = getBoundingClientRect(element); // Use the clientRect sizes if it's not been transformed.
6 | // Fixes https://github.com/popperjs/popper-core/issues/1223
7 |
8 | var width = element.offsetWidth;
9 | var height = element.offsetHeight;
10 |
11 | if (Math.abs(clientRect.width - width) <= 1) {
12 | width = clientRect.width;
13 | }
14 |
15 | if (Math.abs(clientRect.height - height) <= 1) {
16 | height = clientRect.height;
17 | }
18 |
19 | return {
20 | x: element.offsetLeft,
21 | y: element.offsetTop,
22 | width: width,
23 | height: height
24 | };
25 | }
--------------------------------------------------------------------------------
/npm/node_modules/@popperjs/core/lib/dom-utils/getLayoutRect.js.flow:
--------------------------------------------------------------------------------
1 | // @flow
2 | import type { Rect } from '../types';
3 | import getBoundingClientRect from './getBoundingClientRect';
4 |
5 | // Returns the layout rect of an element relative to its offsetParent. Layout
6 | // means it doesn't take into account transforms.
7 | export default function getLayoutRect(element: HTMLElement): Rect {
8 | const clientRect = getBoundingClientRect(element);
9 |
10 | // Use the clientRect sizes if it's not been transformed.
11 | // Fixes https://github.com/popperjs/popper-core/issues/1223
12 | let width = element.offsetWidth;
13 | let height = element.offsetHeight;
14 |
15 | if (Math.abs(clientRect.width - width) <= 1) {
16 | width = clientRect.width;
17 | }
18 |
19 | if (Math.abs(clientRect.height - height) <= 1) {
20 | height = clientRect.height;
21 | }
22 |
23 | return {
24 | x: element.offsetLeft,
25 | y: element.offsetTop,
26 | width,
27 | height,
28 | };
29 | }
30 |
--------------------------------------------------------------------------------
/npm/node_modules/@popperjs/core/lib/dom-utils/getNodeName.d.ts:
--------------------------------------------------------------------------------
1 | import type { Window } from "../types";
2 | export default function getNodeName(element: (Node | null | undefined) | Window): string | null | undefined;
3 |
--------------------------------------------------------------------------------
/npm/node_modules/@popperjs/core/lib/dom-utils/getNodeName.js:
--------------------------------------------------------------------------------
1 | export default function getNodeName(element) {
2 | return element ? (element.nodeName || '').toLowerCase() : null;
3 | }
--------------------------------------------------------------------------------
/npm/node_modules/@popperjs/core/lib/dom-utils/getNodeName.js.flow:
--------------------------------------------------------------------------------
1 | // @flow
2 | import type { Window } from '../types';
3 |
4 | export default function getNodeName(element: ?Node | Window): ?string {
5 | return element ? (element.nodeName || '').toLowerCase() : null;
6 | }
7 |
--------------------------------------------------------------------------------
/npm/node_modules/@popperjs/core/lib/dom-utils/getNodeScroll.d.ts:
--------------------------------------------------------------------------------
1 | import type { Window } from "../types";
2 | export default function getNodeScroll(node: Node | Window): {
3 | scrollLeft: any;
4 | scrollTop: any;
5 | };
6 |
--------------------------------------------------------------------------------
/npm/node_modules/@popperjs/core/lib/dom-utils/getNodeScroll.js:
--------------------------------------------------------------------------------
1 | import getWindowScroll from "./getWindowScroll.js";
2 | import getWindow from "./getWindow.js";
3 | import { isHTMLElement } from "./instanceOf.js";
4 | import getHTMLElementScroll from "./getHTMLElementScroll.js";
5 | export default function getNodeScroll(node) {
6 | if (node === getWindow(node) || !isHTMLElement(node)) {
7 | return getWindowScroll(node);
8 | } else {
9 | return getHTMLElementScroll(node);
10 | }
11 | }
--------------------------------------------------------------------------------
/npm/node_modules/@popperjs/core/lib/dom-utils/getNodeScroll.js.flow:
--------------------------------------------------------------------------------
1 | // @flow
2 | import getWindowScroll from './getWindowScroll';
3 | import getWindow from './getWindow';
4 | import { isHTMLElement } from './instanceOf';
5 | import getHTMLElementScroll from './getHTMLElementScroll';
6 | import type { Window } from '../types';
7 |
8 | export default function getNodeScroll(node: Node | Window) {
9 | if (node === getWindow(node) || !isHTMLElement(node)) {
10 | return getWindowScroll(node);
11 | } else {
12 | return getHTMLElementScroll(node);
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/npm/node_modules/@popperjs/core/lib/dom-utils/getOffsetParent.d.ts:
--------------------------------------------------------------------------------
1 | export default function getOffsetParent(element: Element): any;
2 |
--------------------------------------------------------------------------------
/npm/node_modules/@popperjs/core/lib/dom-utils/getParentNode.d.ts:
--------------------------------------------------------------------------------
1 | export default function getParentNode(element: Node | ShadowRoot): Node;
2 |
--------------------------------------------------------------------------------
/npm/node_modules/@popperjs/core/lib/dom-utils/getParentNode.js:
--------------------------------------------------------------------------------
1 | import getNodeName from "./getNodeName.js";
2 | import getDocumentElement from "./getDocumentElement.js";
3 | import { isShadowRoot } from "./instanceOf.js";
4 | export default function getParentNode(element) {
5 | if (getNodeName(element) === 'html') {
6 | return element;
7 | }
8 |
9 | return (// this is a quicker (but less type safe) way to save quite some bytes from the bundle
10 | // $FlowFixMe[incompatible-return]
11 | // $FlowFixMe[prop-missing]
12 | element.assignedSlot || // step into the shadow DOM of the parent of a slotted node
13 | element.parentNode || ( // DOM Element detected
14 | isShadowRoot(element) ? element.host : null) || // ShadowRoot detected
15 | // $FlowFixMe[incompatible-call]: HTMLElement is a Node
16 | getDocumentElement(element) // fallback
17 |
18 | );
19 | }
--------------------------------------------------------------------------------
/npm/node_modules/@popperjs/core/lib/dom-utils/getParentNode.js.flow:
--------------------------------------------------------------------------------
1 | // @flow
2 | import getNodeName from './getNodeName';
3 | import getDocumentElement from './getDocumentElement';
4 | import { isShadowRoot } from './instanceOf';
5 |
6 | export default function getParentNode(element: Node | ShadowRoot): Node {
7 | if (getNodeName(element) === 'html') {
8 | return element;
9 | }
10 |
11 | return (
12 | // this is a quicker (but less type safe) way to save quite some bytes from the bundle
13 | // $FlowFixMe[incompatible-return]
14 | // $FlowFixMe[prop-missing]
15 | element.assignedSlot || // step into the shadow DOM of the parent of a slotted node
16 | element.parentNode || // DOM Element detected
17 | (isShadowRoot(element) ? element.host : null) || // ShadowRoot detected
18 | // $FlowFixMe[incompatible-call]: HTMLElement is a Node
19 | getDocumentElement(element) // fallback
20 | );
21 | }
22 |
--------------------------------------------------------------------------------
/npm/node_modules/@popperjs/core/lib/dom-utils/getScrollParent.d.ts:
--------------------------------------------------------------------------------
1 | export default function getScrollParent(node: Node): HTMLElement;
2 |
--------------------------------------------------------------------------------
/npm/node_modules/@popperjs/core/lib/dom-utils/getScrollParent.js:
--------------------------------------------------------------------------------
1 | import getParentNode from "./getParentNode.js";
2 | import isScrollParent from "./isScrollParent.js";
3 | import getNodeName from "./getNodeName.js";
4 | import { isHTMLElement } from "./instanceOf.js";
5 | export default function getScrollParent(node) {
6 | if (['html', 'body', '#document'].indexOf(getNodeName(node)) >= 0) {
7 | // $FlowFixMe[incompatible-return]: assume body is always available
8 | return node.ownerDocument.body;
9 | }
10 |
11 | if (isHTMLElement(node) && isScrollParent(node)) {
12 | return node;
13 | }
14 |
15 | return getScrollParent(getParentNode(node));
16 | }
--------------------------------------------------------------------------------
/npm/node_modules/@popperjs/core/lib/dom-utils/getScrollParent.js.flow:
--------------------------------------------------------------------------------
1 | // @flow
2 | import getParentNode from './getParentNode';
3 | import isScrollParent from './isScrollParent';
4 | import getNodeName from './getNodeName';
5 | import { isHTMLElement } from './instanceOf';
6 |
7 | export default function getScrollParent(node: Node): HTMLElement {
8 | if (['html', 'body', '#document'].indexOf(getNodeName(node)) >= 0) {
9 | // $FlowFixMe[incompatible-return]: assume body is always available
10 | return node.ownerDocument.body;
11 | }
12 |
13 | if (isHTMLElement(node) && isScrollParent(node)) {
14 | return node;
15 | }
16 |
17 | return getScrollParent(getParentNode(node));
18 | }
19 |
--------------------------------------------------------------------------------
/npm/node_modules/@popperjs/core/lib/dom-utils/getViewportRect.d.ts:
--------------------------------------------------------------------------------
1 | export default function getViewportRect(element: Element): {
2 | width: number;
3 | height: number;
4 | x: number;
5 | y: number;
6 | };
7 |
--------------------------------------------------------------------------------
/npm/node_modules/@popperjs/core/lib/dom-utils/getViewportRect.js:
--------------------------------------------------------------------------------
1 | import getWindow from "./getWindow.js";
2 | import getDocumentElement from "./getDocumentElement.js";
3 | import getWindowScrollBarX from "./getWindowScrollBarX.js";
4 | export default function getViewportRect(element) {
5 | var win = getWindow(element);
6 | var html = getDocumentElement(element);
7 | var visualViewport = win.visualViewport;
8 | var width = html.clientWidth;
9 | var height = html.clientHeight;
10 | var x = 0;
11 | var y = 0; // NB: This isn't supported on iOS <= 12. If the keyboard is open, the popper
12 | // can be obscured underneath it.
13 | // Also, `html.clientHeight` adds the bottom bar height in Safari iOS, even
14 | // if it isn't open, so if this isn't available, the popper will be detected
15 | // to overflow the bottom of the screen too early.
16 |
17 | if (visualViewport) {
18 | width = visualViewport.width;
19 | height = visualViewport.height; // Uses Layout Viewport (like Chrome; Safari does not currently)
20 | // In Chrome, it returns a value very close to 0 (+/-) but contains rounding
21 | // errors due to floating point numbers, so we need to check precision.
22 | // Safari returns a number <= 0, usually < -1 when pinch-zoomed
23 | // Feature detection fails in mobile emulation mode in Chrome.
24 | // Math.abs(win.innerWidth / visualViewport.scale - visualViewport.width) <
25 | // 0.001
26 | // Fallback here: "Not Safari" userAgent
27 |
28 | if (!/^((?!chrome|android).)*safari/i.test(navigator.userAgent)) {
29 | x = visualViewport.offsetLeft;
30 | y = visualViewport.offsetTop;
31 | }
32 | }
33 |
34 | return {
35 | width: width,
36 | height: height,
37 | x: x + getWindowScrollBarX(element),
38 | y: y
39 | };
40 | }
--------------------------------------------------------------------------------
/npm/node_modules/@popperjs/core/lib/dom-utils/getViewportRect.js.flow:
--------------------------------------------------------------------------------
1 | // @flow
2 | import getWindow from './getWindow';
3 | import getDocumentElement from './getDocumentElement';
4 | import getWindowScrollBarX from './getWindowScrollBarX';
5 |
6 | export default function getViewportRect(element: Element) {
7 | const win = getWindow(element);
8 | const html = getDocumentElement(element);
9 | const visualViewport = win.visualViewport;
10 |
11 | let width = html.clientWidth;
12 | let height = html.clientHeight;
13 | let x = 0;
14 | let y = 0;
15 |
16 | // NB: This isn't supported on iOS <= 12. If the keyboard is open, the popper
17 | // can be obscured underneath it.
18 | // Also, `html.clientHeight` adds the bottom bar height in Safari iOS, even
19 | // if it isn't open, so if this isn't available, the popper will be detected
20 | // to overflow the bottom of the screen too early.
21 | if (visualViewport) {
22 | width = visualViewport.width;
23 | height = visualViewport.height;
24 |
25 | // Uses Layout Viewport (like Chrome; Safari does not currently)
26 | // In Chrome, it returns a value very close to 0 (+/-) but contains rounding
27 | // errors due to floating point numbers, so we need to check precision.
28 | // Safari returns a number <= 0, usually < -1 when pinch-zoomed
29 |
30 | // Feature detection fails in mobile emulation mode in Chrome.
31 | // Math.abs(win.innerWidth / visualViewport.scale - visualViewport.width) <
32 | // 0.001
33 | // Fallback here: "Not Safari" userAgent
34 | if (!/^((?!chrome|android).)*safari/i.test(navigator.userAgent)) {
35 | x = visualViewport.offsetLeft;
36 | y = visualViewport.offsetTop;
37 | }
38 | }
39 |
40 | return {
41 | width,
42 | height,
43 | x: x + getWindowScrollBarX(element),
44 | y,
45 | };
46 | }
47 |
--------------------------------------------------------------------------------
/npm/node_modules/@popperjs/core/lib/dom-utils/getWindow.d.ts:
--------------------------------------------------------------------------------
1 | export default function getWindow(node: any): any;
2 |
--------------------------------------------------------------------------------
/npm/node_modules/@popperjs/core/lib/dom-utils/getWindow.js:
--------------------------------------------------------------------------------
1 | export default function getWindow(node) {
2 | if (node == null) {
3 | return window;
4 | }
5 |
6 | if (node.toString() !== '[object Window]') {
7 | var ownerDocument = node.ownerDocument;
8 | return ownerDocument ? ownerDocument.defaultView || window : window;
9 | }
10 |
11 | return node;
12 | }
--------------------------------------------------------------------------------
/npm/node_modules/@popperjs/core/lib/dom-utils/getWindow.js.flow:
--------------------------------------------------------------------------------
1 | // @flow
2 | import type { Window } from '../types';
3 | declare function getWindow(node: Node | Window): Window;
4 |
5 | export default function getWindow(node) {
6 | if (node == null) {
7 | return window;
8 | }
9 |
10 | if (node.toString() !== '[object Window]') {
11 | const ownerDocument = node.ownerDocument;
12 | return ownerDocument ? ownerDocument.defaultView || window : window;
13 | }
14 |
15 | return node;
16 | }
17 |
--------------------------------------------------------------------------------
/npm/node_modules/@popperjs/core/lib/dom-utils/getWindowScroll.d.ts:
--------------------------------------------------------------------------------
1 | import type { Window } from "../types";
2 | export default function getWindowScroll(node: Node | Window): {
3 | scrollLeft: any;
4 | scrollTop: any;
5 | };
6 |
--------------------------------------------------------------------------------
/npm/node_modules/@popperjs/core/lib/dom-utils/getWindowScroll.js:
--------------------------------------------------------------------------------
1 | import getWindow from "./getWindow.js";
2 | export default function getWindowScroll(node) {
3 | var win = getWindow(node);
4 | var scrollLeft = win.pageXOffset;
5 | var scrollTop = win.pageYOffset;
6 | return {
7 | scrollLeft: scrollLeft,
8 | scrollTop: scrollTop
9 | };
10 | }
--------------------------------------------------------------------------------
/npm/node_modules/@popperjs/core/lib/dom-utils/getWindowScroll.js.flow:
--------------------------------------------------------------------------------
1 | // @flow
2 | import getWindow from './getWindow';
3 | import type { Window } from '../types';
4 |
5 | export default function getWindowScroll(node: Node | Window) {
6 | const win = getWindow(node);
7 | const scrollLeft = win.pageXOffset;
8 | const scrollTop = win.pageYOffset;
9 |
10 | return {
11 | scrollLeft,
12 | scrollTop,
13 | };
14 | }
15 |
--------------------------------------------------------------------------------
/npm/node_modules/@popperjs/core/lib/dom-utils/getWindowScrollBarX.d.ts:
--------------------------------------------------------------------------------
1 | export default function getWindowScrollBarX(element: Element): number;
2 |
--------------------------------------------------------------------------------
/npm/node_modules/@popperjs/core/lib/dom-utils/getWindowScrollBarX.js:
--------------------------------------------------------------------------------
1 | import getBoundingClientRect from "./getBoundingClientRect.js";
2 | import getDocumentElement from "./getDocumentElement.js";
3 | import getWindowScroll from "./getWindowScroll.js";
4 | export default function getWindowScrollBarX(element) {
5 | // If has a CSS width greater than the viewport, then this will be
6 | // incorrect for RTL.
7 | // Popper 1 is broken in this case and never had a bug report so let's assume
8 | // it's not an issue. I don't think anyone ever specifies width on
9 | // anyway.
10 | // Browsers where the left scrollbar doesn't cause an issue report `0` for
11 | // this (e.g. Edge 2019, IE11, Safari)
12 | return getBoundingClientRect(getDocumentElement(element)).left + getWindowScroll(element).scrollLeft;
13 | }
--------------------------------------------------------------------------------
/npm/node_modules/@popperjs/core/lib/dom-utils/getWindowScrollBarX.js.flow:
--------------------------------------------------------------------------------
1 | // @flow
2 | import getBoundingClientRect from './getBoundingClientRect';
3 | import getDocumentElement from './getDocumentElement';
4 | import getWindowScroll from './getWindowScroll';
5 |
6 | export default function getWindowScrollBarX(element: Element): number {
7 | // If has a CSS width greater than the viewport, then this will be
8 | // incorrect for RTL.
9 | // Popper 1 is broken in this case and never had a bug report so let's assume
10 | // it's not an issue. I don't think anyone ever specifies width on
11 | // anyway.
12 | // Browsers where the left scrollbar doesn't cause an issue report `0` for
13 | // this (e.g. Edge 2019, IE11, Safari)
14 | return (
15 | getBoundingClientRect(getDocumentElement(element)).left +
16 | getWindowScroll(element).scrollLeft
17 | );
18 | }
19 |
--------------------------------------------------------------------------------
/npm/node_modules/@popperjs/core/lib/dom-utils/instanceOf.d.ts:
--------------------------------------------------------------------------------
1 | declare function isElement(node: unknown): boolean;
2 | declare function isHTMLElement(node: unknown): boolean;
3 | declare function isShadowRoot(node: unknown): boolean;
4 | export { isElement, isHTMLElement, isShadowRoot };
5 |
--------------------------------------------------------------------------------
/npm/node_modules/@popperjs/core/lib/dom-utils/instanceOf.js:
--------------------------------------------------------------------------------
1 | import getWindow from "./getWindow.js";
2 |
3 | function isElement(node) {
4 | var OwnElement = getWindow(node).Element;
5 | return node instanceof OwnElement || node instanceof Element;
6 | }
7 |
8 | function isHTMLElement(node) {
9 | var OwnElement = getWindow(node).HTMLElement;
10 | return node instanceof OwnElement || node instanceof HTMLElement;
11 | }
12 |
13 | function isShadowRoot(node) {
14 | // IE 11 has no ShadowRoot
15 | if (typeof ShadowRoot === 'undefined') {
16 | return false;
17 | }
18 |
19 | var OwnElement = getWindow(node).ShadowRoot;
20 | return node instanceof OwnElement || node instanceof ShadowRoot;
21 | }
22 |
23 | export { isElement, isHTMLElement, isShadowRoot };
--------------------------------------------------------------------------------
/npm/node_modules/@popperjs/core/lib/dom-utils/instanceOf.js.flow:
--------------------------------------------------------------------------------
1 | // @flow
2 | import getWindow from './getWindow';
3 |
4 | declare function isElement(node: mixed): boolean %checks(node instanceof
5 | Element);
6 | function isElement(node) {
7 | const OwnElement = getWindow(node).Element;
8 | return node instanceof OwnElement || node instanceof Element;
9 | }
10 |
11 | declare function isHTMLElement(node: mixed): boolean %checks(node instanceof
12 | HTMLElement);
13 | function isHTMLElement(node) {
14 | const OwnElement = getWindow(node).HTMLElement;
15 | return node instanceof OwnElement || node instanceof HTMLElement;
16 | }
17 |
18 | declare function isShadowRoot(node: mixed): boolean %checks(node instanceof
19 | ShadowRoot);
20 | function isShadowRoot(node) {
21 | // IE 11 has no ShadowRoot
22 | if (typeof ShadowRoot === 'undefined') {
23 | return false;
24 | }
25 | const OwnElement = getWindow(node).ShadowRoot;
26 | return node instanceof OwnElement || node instanceof ShadowRoot;
27 | }
28 |
29 | export { isElement, isHTMLElement, isShadowRoot };
30 |
--------------------------------------------------------------------------------
/npm/node_modules/@popperjs/core/lib/dom-utils/isScrollParent.d.ts:
--------------------------------------------------------------------------------
1 | export default function isScrollParent(element: HTMLElement): boolean;
2 |
--------------------------------------------------------------------------------
/npm/node_modules/@popperjs/core/lib/dom-utils/isScrollParent.js:
--------------------------------------------------------------------------------
1 | import getComputedStyle from "./getComputedStyle.js";
2 | export default function isScrollParent(element) {
3 | // Firefox wants us to check `-x` and `-y` variations as well
4 | var _getComputedStyle = getComputedStyle(element),
5 | overflow = _getComputedStyle.overflow,
6 | overflowX = _getComputedStyle.overflowX,
7 | overflowY = _getComputedStyle.overflowY;
8 |
9 | return /auto|scroll|overlay|hidden/.test(overflow + overflowY + overflowX);
10 | }
--------------------------------------------------------------------------------
/npm/node_modules/@popperjs/core/lib/dom-utils/isScrollParent.js.flow:
--------------------------------------------------------------------------------
1 | // @flow
2 | import getComputedStyle from './getComputedStyle';
3 |
4 | export default function isScrollParent(element: HTMLElement): boolean {
5 | // Firefox wants us to check `-x` and `-y` variations as well
6 | const { overflow, overflowX, overflowY } = getComputedStyle(element);
7 | return /auto|scroll|overlay|hidden/.test(overflow + overflowY + overflowX);
8 | }
9 |
--------------------------------------------------------------------------------
/npm/node_modules/@popperjs/core/lib/dom-utils/isTableElement.d.ts:
--------------------------------------------------------------------------------
1 | export default function isTableElement(element: Element): boolean;
2 |
--------------------------------------------------------------------------------
/npm/node_modules/@popperjs/core/lib/dom-utils/isTableElement.js:
--------------------------------------------------------------------------------
1 | import getNodeName from "./getNodeName.js";
2 | export default function isTableElement(element) {
3 | return ['table', 'td', 'th'].indexOf(getNodeName(element)) >= 0;
4 | }
--------------------------------------------------------------------------------
/npm/node_modules/@popperjs/core/lib/dom-utils/isTableElement.js.flow:
--------------------------------------------------------------------------------
1 | // @flow
2 | import getNodeName from './getNodeName';
3 |
4 | export default function isTableElement(element: Element): boolean {
5 | return ['table', 'td', 'th'].indexOf(getNodeName(element)) >= 0;
6 | }
7 |
--------------------------------------------------------------------------------
/npm/node_modules/@popperjs/core/lib/dom-utils/listScrollParents.d.ts:
--------------------------------------------------------------------------------
1 | import type { Window, VisualViewport } from "../types";
2 | export default function listScrollParents(element: Node, list?: Array): Array;
3 |
--------------------------------------------------------------------------------
/npm/node_modules/@popperjs/core/lib/dom-utils/listScrollParents.js:
--------------------------------------------------------------------------------
1 | import getScrollParent from "./getScrollParent.js";
2 | import getParentNode from "./getParentNode.js";
3 | import getWindow from "./getWindow.js";
4 | import isScrollParent from "./isScrollParent.js";
5 | /*
6 | given a DOM element, return the list of all scroll parents, up the list of ancesors
7 | until we get to the top window object. This list is what we attach scroll listeners
8 | to, because if any of these parent elements scroll, we'll need to re-calculate the
9 | reference element's position.
10 | */
11 |
12 | export default function listScrollParents(element, list) {
13 | var _element$ownerDocumen;
14 |
15 | if (list === void 0) {
16 | list = [];
17 | }
18 |
19 | var scrollParent = getScrollParent(element);
20 | var isBody = scrollParent === ((_element$ownerDocumen = element.ownerDocument) == null ? void 0 : _element$ownerDocumen.body);
21 | var win = getWindow(scrollParent);
22 | var target = isBody ? [win].concat(win.visualViewport || [], isScrollParent(scrollParent) ? scrollParent : []) : scrollParent;
23 | var updatedList = list.concat(target);
24 | return isBody ? updatedList : // $FlowFixMe[incompatible-call]: isBody tells us target will be an HTMLElement here
25 | updatedList.concat(listScrollParents(getParentNode(target)));
26 | }
--------------------------------------------------------------------------------
/npm/node_modules/@popperjs/core/lib/dom-utils/listScrollParents.js.flow:
--------------------------------------------------------------------------------
1 | // @flow
2 | import getScrollParent from './getScrollParent';
3 | import getParentNode from './getParentNode';
4 | import getWindow from './getWindow';
5 | import type { Window, VisualViewport } from '../types';
6 | import isScrollParent from './isScrollParent';
7 |
8 | /*
9 | given a DOM element, return the list of all scroll parents, up the list of ancesors
10 | until we get to the top window object. This list is what we attach scroll listeners
11 | to, because if any of these parent elements scroll, we'll need to re-calculate the
12 | reference element's position.
13 | */
14 | export default function listScrollParents(
15 | element: Node,
16 | list: Array = []
17 | ): Array {
18 | const scrollParent = getScrollParent(element);
19 | const isBody = scrollParent === element.ownerDocument?.body;
20 | const win = getWindow(scrollParent);
21 | const target = isBody
22 | ? [win].concat(
23 | win.visualViewport || [],
24 | isScrollParent(scrollParent) ? scrollParent : []
25 | )
26 | : scrollParent;
27 | const updatedList = list.concat(target);
28 |
29 | return isBody
30 | ? updatedList
31 | : // $FlowFixMe[incompatible-call]: isBody tells us target will be an HTMLElement here
32 | updatedList.concat(listScrollParents(getParentNode(target)));
33 | }
34 |
--------------------------------------------------------------------------------
/npm/node_modules/@popperjs/core/lib/enums.d.ts:
--------------------------------------------------------------------------------
1 | export declare const top: "top";
2 | export declare const bottom: "bottom";
3 | export declare const right: "right";
4 | export declare const left: "left";
5 | export declare const auto: "auto";
6 | export declare type BasePlacement = typeof top | typeof bottom | typeof right | typeof left;
7 | export declare const basePlacements: Array;
8 | export declare const start: "start";
9 | export declare const end: "end";
10 | export declare type Variation = typeof start | typeof end;
11 | export declare const clippingParents: "clippingParents";
12 | export declare const viewport: "viewport";
13 | export declare type Boundary = HTMLElement | Array | typeof clippingParents;
14 | export declare type RootBoundary = typeof viewport | "document";
15 | export declare const popper: "popper";
16 | export declare const reference: "reference";
17 | export declare type Context = typeof popper | typeof reference;
18 | export declare type VariationPlacement = "top-start" | "top-end" | "bottom-start" | "bottom-end" | "right-start" | "right-end" | "left-start" | "left-end";
19 | export declare type AutoPlacement = "auto" | "auto-start" | "auto-end";
20 | export declare type ComputedPlacement = VariationPlacement | BasePlacement;
21 | export declare type Placement = AutoPlacement | BasePlacement | VariationPlacement;
22 | export declare const variationPlacements: Array;
23 | export declare const placements: Array;
24 | export declare const beforeRead: "beforeRead";
25 | export declare const read: "read";
26 | export declare const afterRead: "afterRead";
27 | export declare const beforeMain: "beforeMain";
28 | export declare const main: "main";
29 | export declare const afterMain: "afterMain";
30 | export declare const beforeWrite: "beforeWrite";
31 | export declare const write: "write";
32 | export declare const afterWrite: "afterWrite";
33 | export declare const modifierPhases: Array;
34 | export declare type ModifierPhases = typeof beforeRead | typeof read | typeof afterRead | typeof beforeMain | typeof main | typeof afterMain | typeof beforeWrite | typeof write | typeof afterWrite;
35 |
--------------------------------------------------------------------------------
/npm/node_modules/@popperjs/core/lib/enums.js:
--------------------------------------------------------------------------------
1 | export var top = 'top';
2 | export var bottom = 'bottom';
3 | export var right = 'right';
4 | export var left = 'left';
5 | export var auto = 'auto';
6 | export var basePlacements = [top, bottom, right, left];
7 | export var start = 'start';
8 | export var end = 'end';
9 | export var clippingParents = 'clippingParents';
10 | export var viewport = 'viewport';
11 | export var popper = 'popper';
12 | export var reference = 'reference';
13 | export var variationPlacements = /*#__PURE__*/basePlacements.reduce(function (acc, placement) {
14 | return acc.concat([placement + "-" + start, placement + "-" + end]);
15 | }, []);
16 | export var placements = /*#__PURE__*/[].concat(basePlacements, [auto]).reduce(function (acc, placement) {
17 | return acc.concat([placement, placement + "-" + start, placement + "-" + end]);
18 | }, []); // modifiers that need to read the DOM
19 |
20 | export var beforeRead = 'beforeRead';
21 | export var read = 'read';
22 | export var afterRead = 'afterRead'; // pure-logic modifiers
23 |
24 | export var beforeMain = 'beforeMain';
25 | export var main = 'main';
26 | export var afterMain = 'afterMain'; // modifier with the purpose to write to the DOM (or write into a framework state)
27 |
28 | export var beforeWrite = 'beforeWrite';
29 | export var write = 'write';
30 | export var afterWrite = 'afterWrite';
31 | export var modifierPhases = [beforeRead, read, afterRead, beforeMain, main, afterMain, beforeWrite, write, afterWrite];
--------------------------------------------------------------------------------
/npm/node_modules/@popperjs/core/lib/index.d.ts:
--------------------------------------------------------------------------------
1 | export * from "./types";
2 | export * from "./enums";
3 | export * from "./modifiers";
4 | export { popperGenerator, detectOverflow, createPopper as createPopperBase } from "./createPopper";
5 | export { createPopper } from "./popper";
6 | export { createPopper as createPopperLite } from "./popper-lite";
7 |
--------------------------------------------------------------------------------
/npm/node_modules/@popperjs/core/lib/index.js:
--------------------------------------------------------------------------------
1 | export * from "./enums.js";
2 | export * from "./modifiers/index.js"; // eslint-disable-next-line import/no-unused-modules
3 |
4 | export { popperGenerator, detectOverflow, createPopper as createPopperBase } from "./createPopper.js"; // eslint-disable-next-line import/no-unused-modules
5 |
6 | export { createPopper } from "./popper.js"; // eslint-disable-next-line import/no-unused-modules
7 |
8 | export { createPopper as createPopperLite } from "./popper-lite.js";
--------------------------------------------------------------------------------
/npm/node_modules/@popperjs/core/lib/index.js.flow:
--------------------------------------------------------------------------------
1 | // @flow
2 | export type * from './types';
3 | export * from './enums';
4 | export * from './modifiers';
5 |
6 | // eslint-disable-next-line import/no-unused-modules
7 | export { popperGenerator, detectOverflow, createPopper as createPopperBase } from './createPopper';
8 |
9 | // eslint-disable-next-line import/no-unused-modules
10 | export { createPopper } from './popper';
11 |
12 | // eslint-disable-next-line import/no-unused-modules
13 | export { createPopper as createPopperLite } from './popper-lite';
14 |
--------------------------------------------------------------------------------
/npm/node_modules/@popperjs/core/lib/modifiers/applyStyles.d.ts:
--------------------------------------------------------------------------------
1 | import type { Modifier } from "../types";
2 | export declare type ApplyStylesModifier = Modifier<"applyStyles", {}>;
3 | declare const _default: ApplyStylesModifier;
4 | export default _default;
5 |
--------------------------------------------------------------------------------
/npm/node_modules/@popperjs/core/lib/modifiers/arrow.d.ts:
--------------------------------------------------------------------------------
1 | import type { Modifier, Padding, Rect } from "../types";
2 | import type { Placement } from "../enums";
3 | export declare type Options = {
4 | element: HTMLElement | string | null;
5 | padding: Padding | ((arg0: {
6 | popper: Rect;
7 | reference: Rect;
8 | placement: Placement;
9 | }) => Padding);
10 | };
11 | export declare type ArrowModifier = Modifier<"arrow", Options>;
12 | declare const _default: ArrowModifier;
13 | export default _default;
14 |
--------------------------------------------------------------------------------
/npm/node_modules/@popperjs/core/lib/modifiers/computeStyles.d.ts:
--------------------------------------------------------------------------------
1 | import type { PositioningStrategy, Offsets, Modifier, Rect } from "../types";
2 | import { BasePlacement, Variation } from "../enums";
3 | export declare type RoundOffsets = (offsets: Partial<{
4 | x: number;
5 | y: number;
6 | centerOffset: number;
7 | }>) => Offsets;
8 | export declare type Options = {
9 | gpuAcceleration: boolean;
10 | adaptive: boolean;
11 | roundOffsets?: boolean | RoundOffsets;
12 | };
13 | export declare function mapToStyles({ popper, popperRect, placement, variation, offsets, position, gpuAcceleration, adaptive, roundOffsets }: {
14 | popper: HTMLElement;
15 | popperRect: Rect;
16 | placement: BasePlacement;
17 | variation: Variation | null | undefined;
18 | offsets: Partial<{
19 | x: number;
20 | y: number;
21 | centerOffset: number;
22 | }>;
23 | position: PositioningStrategy;
24 | gpuAcceleration: boolean;
25 | adaptive: boolean;
26 | roundOffsets: boolean | RoundOffsets;
27 | }): {
28 | transform: string;
29 | top: string;
30 | right: string;
31 | bottom: string;
32 | left: string;
33 | position: PositioningStrategy;
34 | };
35 | export declare type ComputeStylesModifier = Modifier<"computeStyles", Options>;
36 | declare const _default: ComputeStylesModifier;
37 | export default _default;
38 |
--------------------------------------------------------------------------------
/npm/node_modules/@popperjs/core/lib/modifiers/eventListeners.d.ts:
--------------------------------------------------------------------------------
1 | import type { Modifier } from "../types";
2 | export declare type Options = {
3 | scroll: boolean;
4 | resize: boolean;
5 | };
6 | export declare type EventListenersModifier = Modifier<"eventListeners", Options>;
7 | declare const _default: EventListenersModifier;
8 | export default _default;
9 |
--------------------------------------------------------------------------------
/npm/node_modules/@popperjs/core/lib/modifiers/eventListeners.js:
--------------------------------------------------------------------------------
1 | import getWindow from "../dom-utils/getWindow.js"; // eslint-disable-next-line import/no-unused-modules
2 |
3 | var passive = {
4 | passive: true
5 | };
6 |
7 | function effect(_ref) {
8 | var state = _ref.state,
9 | instance = _ref.instance,
10 | options = _ref.options;
11 | var _options$scroll = options.scroll,
12 | scroll = _options$scroll === void 0 ? true : _options$scroll,
13 | _options$resize = options.resize,
14 | resize = _options$resize === void 0 ? true : _options$resize;
15 | var window = getWindow(state.elements.popper);
16 | var scrollParents = [].concat(state.scrollParents.reference, state.scrollParents.popper);
17 |
18 | if (scroll) {
19 | scrollParents.forEach(function (scrollParent) {
20 | scrollParent.addEventListener('scroll', instance.update, passive);
21 | });
22 | }
23 |
24 | if (resize) {
25 | window.addEventListener('resize', instance.update, passive);
26 | }
27 |
28 | return function () {
29 | if (scroll) {
30 | scrollParents.forEach(function (scrollParent) {
31 | scrollParent.removeEventListener('scroll', instance.update, passive);
32 | });
33 | }
34 |
35 | if (resize) {
36 | window.removeEventListener('resize', instance.update, passive);
37 | }
38 | };
39 | } // eslint-disable-next-line import/no-unused-modules
40 |
41 |
42 | export default {
43 | name: 'eventListeners',
44 | enabled: true,
45 | phase: 'write',
46 | fn: function fn() {},
47 | effect: effect,
48 | data: {}
49 | };
--------------------------------------------------------------------------------
/npm/node_modules/@popperjs/core/lib/modifiers/eventListeners.js.flow:
--------------------------------------------------------------------------------
1 | // @flow
2 | import type { ModifierArguments, Modifier } from '../types';
3 | import getWindow from '../dom-utils/getWindow';
4 |
5 | // eslint-disable-next-line import/no-unused-modules
6 | export type Options = {
7 | scroll: boolean,
8 | resize: boolean,
9 | };
10 |
11 | const passive = { passive: true };
12 |
13 | function effect({ state, instance, options }: ModifierArguments) {
14 | const { scroll = true, resize = true } = options;
15 |
16 | const window = getWindow(state.elements.popper);
17 | const scrollParents = [
18 | ...state.scrollParents.reference,
19 | ...state.scrollParents.popper,
20 | ];
21 |
22 | if (scroll) {
23 | scrollParents.forEach(scrollParent => {
24 | scrollParent.addEventListener('scroll', instance.update, passive);
25 | });
26 | }
27 |
28 | if (resize) {
29 | window.addEventListener('resize', instance.update, passive);
30 | }
31 |
32 | return () => {
33 | if (scroll) {
34 | scrollParents.forEach(scrollParent => {
35 | scrollParent.removeEventListener('scroll', instance.update, passive);
36 | });
37 | }
38 |
39 | if (resize) {
40 | window.removeEventListener('resize', instance.update, passive);
41 | }
42 | };
43 | }
44 |
45 | // eslint-disable-next-line import/no-unused-modules
46 | export type EventListenersModifier = Modifier<'eventListeners', Options>;
47 | export default ({
48 | name: 'eventListeners',
49 | enabled: true,
50 | phase: 'write',
51 | fn: () => {},
52 | effect,
53 | data: {},
54 | }: EventListenersModifier);
55 |
--------------------------------------------------------------------------------
/npm/node_modules/@popperjs/core/lib/modifiers/flip.d.ts:
--------------------------------------------------------------------------------
1 | import type { Placement, Boundary, RootBoundary } from "../enums";
2 | import type { Modifier, Padding } from "../types";
3 | export declare type Options = {
4 | mainAxis: boolean;
5 | altAxis: boolean;
6 | fallbackPlacements: Array;
7 | padding: Padding;
8 | boundary: Boundary;
9 | rootBoundary: RootBoundary;
10 | altBoundary: boolean;
11 | flipVariations: boolean;
12 | allowedAutoPlacements: Array;
13 | };
14 | export declare type FlipModifier = Modifier<"flip", Options>;
15 | declare const _default: FlipModifier;
16 | export default _default;
17 |
--------------------------------------------------------------------------------
/npm/node_modules/@popperjs/core/lib/modifiers/hide.d.ts:
--------------------------------------------------------------------------------
1 | import type { Modifier } from "../types";
2 | export declare type HideModifier = Modifier<"hide", {}>;
3 | declare const _default: HideModifier;
4 | export default _default;
5 |
--------------------------------------------------------------------------------
/npm/node_modules/@popperjs/core/lib/modifiers/hide.js:
--------------------------------------------------------------------------------
1 | import { top, bottom, left, right } from "../enums.js";
2 | import detectOverflow from "../utils/detectOverflow.js";
3 |
4 | function getSideOffsets(overflow, rect, preventedOffsets) {
5 | if (preventedOffsets === void 0) {
6 | preventedOffsets = {
7 | x: 0,
8 | y: 0
9 | };
10 | }
11 |
12 | return {
13 | top: overflow.top - rect.height - preventedOffsets.y,
14 | right: overflow.right - rect.width + preventedOffsets.x,
15 | bottom: overflow.bottom - rect.height + preventedOffsets.y,
16 | left: overflow.left - rect.width - preventedOffsets.x
17 | };
18 | }
19 |
20 | function isAnySideFullyClipped(overflow) {
21 | return [top, right, bottom, left].some(function (side) {
22 | return overflow[side] >= 0;
23 | });
24 | }
25 |
26 | function hide(_ref) {
27 | var state = _ref.state,
28 | name = _ref.name;
29 | var referenceRect = state.rects.reference;
30 | var popperRect = state.rects.popper;
31 | var preventedOffsets = state.modifiersData.preventOverflow;
32 | var referenceOverflow = detectOverflow(state, {
33 | elementContext: 'reference'
34 | });
35 | var popperAltOverflow = detectOverflow(state, {
36 | altBoundary: true
37 | });
38 | var referenceClippingOffsets = getSideOffsets(referenceOverflow, referenceRect);
39 | var popperEscapeOffsets = getSideOffsets(popperAltOverflow, popperRect, preventedOffsets);
40 | var isReferenceHidden = isAnySideFullyClipped(referenceClippingOffsets);
41 | var hasPopperEscaped = isAnySideFullyClipped(popperEscapeOffsets);
42 | state.modifiersData[name] = {
43 | referenceClippingOffsets: referenceClippingOffsets,
44 | popperEscapeOffsets: popperEscapeOffsets,
45 | isReferenceHidden: isReferenceHidden,
46 | hasPopperEscaped: hasPopperEscaped
47 | };
48 | state.attributes.popper = Object.assign({}, state.attributes.popper, {
49 | 'data-popper-reference-hidden': isReferenceHidden,
50 | 'data-popper-escaped': hasPopperEscaped
51 | });
52 | } // eslint-disable-next-line import/no-unused-modules
53 |
54 |
55 | export default {
56 | name: 'hide',
57 | enabled: true,
58 | phase: 'main',
59 | requiresIfExists: ['preventOverflow'],
60 | fn: hide
61 | };
--------------------------------------------------------------------------------
/npm/node_modules/@popperjs/core/lib/modifiers/index.d.ts:
--------------------------------------------------------------------------------
1 | export { default as applyStyles } from "./applyStyles";
2 | export { default as arrow } from "./arrow";
3 | export { default as computeStyles } from "./computeStyles";
4 | export { default as eventListeners } from "./eventListeners";
5 | export { default as flip } from "./flip";
6 | export { default as hide } from "./hide";
7 | export { default as offset } from "./offset";
8 | export { default as popperOffsets } from "./popperOffsets";
9 | export { default as preventOverflow } from "./preventOverflow";
10 |
--------------------------------------------------------------------------------
/npm/node_modules/@popperjs/core/lib/modifiers/index.js:
--------------------------------------------------------------------------------
1 | export { default as applyStyles } from "./applyStyles.js";
2 | export { default as arrow } from "./arrow.js";
3 | export { default as computeStyles } from "./computeStyles.js";
4 | export { default as eventListeners } from "./eventListeners.js";
5 | export { default as flip } from "./flip.js";
6 | export { default as hide } from "./hide.js";
7 | export { default as offset } from "./offset.js";
8 | export { default as popperOffsets } from "./popperOffsets.js";
9 | export { default as preventOverflow } from "./preventOverflow.js";
--------------------------------------------------------------------------------
/npm/node_modules/@popperjs/core/lib/modifiers/index.js.flow:
--------------------------------------------------------------------------------
1 | // @flow
2 | export { default as applyStyles } from './applyStyles';
3 | export { default as arrow } from './arrow';
4 | export { default as computeStyles } from './computeStyles';
5 | export { default as eventListeners } from './eventListeners';
6 | export { default as flip } from './flip';
7 | export { default as hide } from './hide';
8 | export { default as offset } from './offset';
9 | export { default as popperOffsets } from './popperOffsets';
10 | export { default as preventOverflow } from './preventOverflow';
11 |
--------------------------------------------------------------------------------
/npm/node_modules/@popperjs/core/lib/modifiers/offset.d.ts:
--------------------------------------------------------------------------------
1 | import type { Placement } from "../enums";
2 | import type { Modifier, Rect, Offsets } from "../types";
3 | declare type OffsetsFunction = (arg0: {
4 | popper: Rect;
5 | reference: Rect;
6 | placement: Placement;
7 | }) => [number | null | undefined, number | null | undefined];
8 | declare type Offset = OffsetsFunction | [number | null | undefined, number | null | undefined];
9 | export declare type Options = {
10 | offset: Offset;
11 | };
12 | export declare function distanceAndSkiddingToXY(placement: Placement, rects: {
13 | popper: Rect;
14 | reference: Rect;
15 | }, offset: Offset): Offsets;
16 | export declare type OffsetModifier = Modifier<"offset", Options>;
17 | declare const _default: OffsetModifier;
18 | export default _default;
19 |
--------------------------------------------------------------------------------
/npm/node_modules/@popperjs/core/lib/modifiers/offset.js:
--------------------------------------------------------------------------------
1 | import getBasePlacement from "../utils/getBasePlacement.js";
2 | import { top, left, right, placements } from "../enums.js";
3 | export function distanceAndSkiddingToXY(placement, rects, offset) {
4 | var basePlacement = getBasePlacement(placement);
5 | var invertDistance = [left, top].indexOf(basePlacement) >= 0 ? -1 : 1;
6 |
7 | var _ref = typeof offset === 'function' ? offset(Object.assign({}, rects, {
8 | placement: placement
9 | })) : offset,
10 | skidding = _ref[0],
11 | distance = _ref[1];
12 |
13 | skidding = skidding || 0;
14 | distance = (distance || 0) * invertDistance;
15 | return [left, right].indexOf(basePlacement) >= 0 ? {
16 | x: distance,
17 | y: skidding
18 | } : {
19 | x: skidding,
20 | y: distance
21 | };
22 | }
23 |
24 | function offset(_ref2) {
25 | var state = _ref2.state,
26 | options = _ref2.options,
27 | name = _ref2.name;
28 | var _options$offset = options.offset,
29 | offset = _options$offset === void 0 ? [0, 0] : _options$offset;
30 | var data = placements.reduce(function (acc, placement) {
31 | acc[placement] = distanceAndSkiddingToXY(placement, state.rects, offset);
32 | return acc;
33 | }, {});
34 | var _data$state$placement = data[state.placement],
35 | x = _data$state$placement.x,
36 | y = _data$state$placement.y;
37 |
38 | if (state.modifiersData.popperOffsets != null) {
39 | state.modifiersData.popperOffsets.x += x;
40 | state.modifiersData.popperOffsets.y += y;
41 | }
42 |
43 | state.modifiersData[name] = data;
44 | } // eslint-disable-next-line import/no-unused-modules
45 |
46 |
47 | export default {
48 | name: 'offset',
49 | enabled: true,
50 | phase: 'main',
51 | requires: ['popperOffsets'],
52 | fn: offset
53 | };
--------------------------------------------------------------------------------
/npm/node_modules/@popperjs/core/lib/modifiers/offset.js.flow:
--------------------------------------------------------------------------------
1 | // @flow
2 | import type { Placement } from '../enums';
3 | import type { ModifierArguments, Modifier, Rect, Offsets } from '../types';
4 | import getBasePlacement from '../utils/getBasePlacement';
5 | import { top, left, right, placements } from '../enums';
6 |
7 | type OffsetsFunction = ({
8 | popper: Rect,
9 | reference: Rect,
10 | placement: Placement,
11 | }) => [?number, ?number];
12 |
13 | type Offset = OffsetsFunction | [?number, ?number];
14 |
15 | // eslint-disable-next-line import/no-unused-modules
16 | export type Options = {
17 | offset: Offset,
18 | };
19 |
20 | export function distanceAndSkiddingToXY(
21 | placement: Placement,
22 | rects: { popper: Rect, reference: Rect },
23 | offset: Offset
24 | ): Offsets {
25 | const basePlacement = getBasePlacement(placement);
26 | const invertDistance = [left, top].indexOf(basePlacement) >= 0 ? -1 : 1;
27 |
28 | let [skidding, distance] =
29 | typeof offset === 'function'
30 | ? offset({
31 | ...rects,
32 | placement,
33 | })
34 | : offset;
35 |
36 | skidding = skidding || 0;
37 | distance = (distance || 0) * invertDistance;
38 |
39 | return [left, right].indexOf(basePlacement) >= 0
40 | ? { x: distance, y: skidding }
41 | : { x: skidding, y: distance };
42 | }
43 |
44 | function offset({ state, options, name }: ModifierArguments) {
45 | const { offset = [0, 0] } = options;
46 |
47 | const data = placements.reduce((acc, placement) => {
48 | acc[placement] = distanceAndSkiddingToXY(placement, state.rects, offset);
49 | return acc;
50 | }, {});
51 |
52 | const { x, y } = data[state.placement];
53 |
54 | if (state.modifiersData.popperOffsets != null) {
55 | state.modifiersData.popperOffsets.x += x;
56 | state.modifiersData.popperOffsets.y += y;
57 | }
58 |
59 | state.modifiersData[name] = data;
60 | }
61 |
62 | // eslint-disable-next-line import/no-unused-modules
63 | export type OffsetModifier = Modifier<'offset', Options>;
64 | export default ({
65 | name: 'offset',
66 | enabled: true,
67 | phase: 'main',
68 | requires: ['popperOffsets'],
69 | fn: offset,
70 | }: OffsetModifier);
71 |
--------------------------------------------------------------------------------
/npm/node_modules/@popperjs/core/lib/modifiers/popperOffsets.d.ts:
--------------------------------------------------------------------------------
1 | import type { Modifier } from "../types";
2 | export declare type PopperOffsetsModifier = Modifier<"popperOffsets", {}>;
3 | declare const _default: PopperOffsetsModifier;
4 | export default _default;
5 |
--------------------------------------------------------------------------------
/npm/node_modules/@popperjs/core/lib/modifiers/popperOffsets.js:
--------------------------------------------------------------------------------
1 | import computeOffsets from "../utils/computeOffsets.js";
2 |
3 | function popperOffsets(_ref) {
4 | var state = _ref.state,
5 | name = _ref.name;
6 | // Offsets are the actual position the popper needs to have to be
7 | // properly positioned near its reference element
8 | // This is the most basic placement, and will be adjusted by
9 | // the modifiers in the next step
10 | state.modifiersData[name] = computeOffsets({
11 | reference: state.rects.reference,
12 | element: state.rects.popper,
13 | strategy: 'absolute',
14 | placement: state.placement
15 | });
16 | } // eslint-disable-next-line import/no-unused-modules
17 |
18 |
19 | export default {
20 | name: 'popperOffsets',
21 | enabled: true,
22 | phase: 'read',
23 | fn: popperOffsets,
24 | data: {}
25 | };
--------------------------------------------------------------------------------
/npm/node_modules/@popperjs/core/lib/modifiers/popperOffsets.js.flow:
--------------------------------------------------------------------------------
1 | // @flow
2 | import type { ModifierArguments, Modifier } from '../types';
3 | import computeOffsets from '../utils/computeOffsets';
4 |
5 | function popperOffsets({ state, name }: ModifierArguments<{||}>) {
6 | // Offsets are the actual position the popper needs to have to be
7 | // properly positioned near its reference element
8 | // This is the most basic placement, and will be adjusted by
9 | // the modifiers in the next step
10 | state.modifiersData[name] = computeOffsets({
11 | reference: state.rects.reference,
12 | element: state.rects.popper,
13 | strategy: 'absolute',
14 | placement: state.placement,
15 | });
16 | }
17 |
18 | // eslint-disable-next-line import/no-unused-modules
19 | export type PopperOffsetsModifier = Modifier<'popperOffsets', {||}>;
20 | export default ({
21 | name: 'popperOffsets',
22 | enabled: true,
23 | phase: 'read',
24 | fn: popperOffsets,
25 | data: {},
26 | }: PopperOffsetsModifier);
27 |
--------------------------------------------------------------------------------
/npm/node_modules/@popperjs/core/lib/modifiers/preventOverflow.d.ts:
--------------------------------------------------------------------------------
1 | import type { Placement, Boundary, RootBoundary } from "../enums";
2 | import type { Rect, Modifier, Padding } from "../types";
3 | declare type TetherOffset = ((arg0: {
4 | popper: Rect;
5 | reference: Rect;
6 | placement: Placement;
7 | }) => number) | number;
8 | export declare type Options = {
9 | mainAxis: boolean;
10 | altAxis: boolean;
11 | boundary: Boundary;
12 | rootBoundary: RootBoundary;
13 | altBoundary: boolean;
14 | /**
15 | * Allows the popper to overflow from its boundaries to keep it near its
16 | * reference element
17 | */
18 | tether: boolean;
19 | tetherOffset: TetherOffset;
20 | padding: Padding;
21 | };
22 | export declare type PreventOverflowModifier = Modifier<"preventOverflow", Options>;
23 | declare const _default: PreventOverflowModifier;
24 | export default _default;
25 |
--------------------------------------------------------------------------------
/npm/node_modules/@popperjs/core/lib/popper-base.d.ts:
--------------------------------------------------------------------------------
1 | import { createPopper, popperGenerator, detectOverflow } from "./createPopper";
2 | export * from "./types";
3 | export { createPopper, popperGenerator, detectOverflow };
4 |
--------------------------------------------------------------------------------
/npm/node_modules/@popperjs/core/lib/popper-base.js:
--------------------------------------------------------------------------------
1 | import { createPopper, popperGenerator, detectOverflow } from "./createPopper.js";
2 | // eslint-disable-next-line import/no-unused-modules
3 | export { createPopper, popperGenerator, detectOverflow };
--------------------------------------------------------------------------------
/npm/node_modules/@popperjs/core/lib/popper-base.js.flow:
--------------------------------------------------------------------------------
1 | // @flow
2 | import { createPopper, popperGenerator, detectOverflow } from './createPopper';
3 |
4 | export type * from './types';
5 |
6 | // eslint-disable-next-line import/no-unused-modules
7 | export { createPopper, popperGenerator, detectOverflow };
8 |
--------------------------------------------------------------------------------
/npm/node_modules/@popperjs/core/lib/popper-lite.d.ts:
--------------------------------------------------------------------------------
1 | import { popperGenerator, detectOverflow } from "./createPopper";
2 | export * from "./types";
3 | declare const defaultModifiers: (import("./modifiers/popperOffsets").PopperOffsetsModifier | import("./modifiers/eventListeners").EventListenersModifier | import("./modifiers/computeStyles").ComputeStylesModifier | import("./modifiers/applyStyles").ApplyStylesModifier)[];
4 | declare const createPopper: >>(reference: Element | import("./types").VirtualElement, popper: HTMLElement, options?: Partial>) => import("./types").Instance;
5 | export { createPopper, popperGenerator, defaultModifiers, detectOverflow };
6 |
--------------------------------------------------------------------------------
/npm/node_modules/@popperjs/core/lib/popper-lite.js:
--------------------------------------------------------------------------------
1 | import { popperGenerator, detectOverflow } from "./createPopper.js";
2 | import eventListeners from "./modifiers/eventListeners.js";
3 | import popperOffsets from "./modifiers/popperOffsets.js";
4 | import computeStyles from "./modifiers/computeStyles.js";
5 | import applyStyles from "./modifiers/applyStyles.js";
6 | var defaultModifiers = [eventListeners, popperOffsets, computeStyles, applyStyles];
7 | var createPopper = /*#__PURE__*/popperGenerator({
8 | defaultModifiers: defaultModifiers
9 | }); // eslint-disable-next-line import/no-unused-modules
10 |
11 | export { createPopper, popperGenerator, defaultModifiers, detectOverflow };
--------------------------------------------------------------------------------
/npm/node_modules/@popperjs/core/lib/popper-lite.js.flow:
--------------------------------------------------------------------------------
1 | // @flow
2 | import { popperGenerator, detectOverflow } from './createPopper';
3 |
4 | import eventListeners from './modifiers/eventListeners';
5 | import popperOffsets from './modifiers/popperOffsets';
6 | import computeStyles from './modifiers/computeStyles';
7 | import applyStyles from './modifiers/applyStyles';
8 |
9 | export type * from './types';
10 |
11 | const defaultModifiers = [
12 | eventListeners,
13 | popperOffsets,
14 | computeStyles,
15 | applyStyles,
16 | ];
17 |
18 | const createPopper = popperGenerator({ defaultModifiers });
19 |
20 | // eslint-disable-next-line import/no-unused-modules
21 | export { createPopper, popperGenerator, defaultModifiers, detectOverflow };
22 |
--------------------------------------------------------------------------------
/npm/node_modules/@popperjs/core/lib/popper.d.ts:
--------------------------------------------------------------------------------
1 | import { popperGenerator, detectOverflow } from "./createPopper";
2 | export * from "./types";
3 | declare const defaultModifiers: (import("./modifiers/popperOffsets").PopperOffsetsModifier | import("./modifiers/flip").FlipModifier | import("./modifiers/hide").HideModifier | import("./modifiers/offset").OffsetModifier | import("./modifiers/eventListeners").EventListenersModifier | import("./modifiers/computeStyles").ComputeStylesModifier | import("./modifiers/arrow").ArrowModifier | import("./modifiers/preventOverflow").PreventOverflowModifier | import("./modifiers/applyStyles").ApplyStylesModifier)[];
4 | declare const createPopper: >>(reference: Element | import("./types").VirtualElement, popper: HTMLElement, options?: Partial>) => import("./types").Instance;
5 | export { createPopper, popperGenerator, defaultModifiers, detectOverflow };
6 | export { createPopper as createPopperLite } from "./popper-lite";
7 | export * from "./modifiers";
8 |
--------------------------------------------------------------------------------
/npm/node_modules/@popperjs/core/lib/popper.js:
--------------------------------------------------------------------------------
1 | import { popperGenerator, detectOverflow } from "./createPopper.js";
2 | import eventListeners from "./modifiers/eventListeners.js";
3 | import popperOffsets from "./modifiers/popperOffsets.js";
4 | import computeStyles from "./modifiers/computeStyles.js";
5 | import applyStyles from "./modifiers/applyStyles.js";
6 | import offset from "./modifiers/offset.js";
7 | import flip from "./modifiers/flip.js";
8 | import preventOverflow from "./modifiers/preventOverflow.js";
9 | import arrow from "./modifiers/arrow.js";
10 | import hide from "./modifiers/hide.js";
11 | var defaultModifiers = [eventListeners, popperOffsets, computeStyles, applyStyles, offset, flip, preventOverflow, arrow, hide];
12 | var createPopper = /*#__PURE__*/popperGenerator({
13 | defaultModifiers: defaultModifiers
14 | }); // eslint-disable-next-line import/no-unused-modules
15 |
16 | export { createPopper, popperGenerator, defaultModifiers, detectOverflow }; // eslint-disable-next-line import/no-unused-modules
17 |
18 | export { createPopper as createPopperLite } from "./popper-lite.js"; // eslint-disable-next-line import/no-unused-modules
19 |
20 | export * from "./modifiers/index.js";
--------------------------------------------------------------------------------
/npm/node_modules/@popperjs/core/lib/popper.js.flow:
--------------------------------------------------------------------------------
1 | // @flow
2 | import { popperGenerator, detectOverflow } from './createPopper';
3 |
4 | import eventListeners from './modifiers/eventListeners';
5 | import popperOffsets from './modifiers/popperOffsets';
6 | import computeStyles from './modifiers/computeStyles';
7 | import applyStyles from './modifiers/applyStyles';
8 | import offset from './modifiers/offset';
9 | import flip from './modifiers/flip';
10 | import preventOverflow from './modifiers/preventOverflow';
11 | import arrow from './modifiers/arrow';
12 | import hide from './modifiers/hide';
13 |
14 | export type * from './types';
15 |
16 | const defaultModifiers = [
17 | eventListeners,
18 | popperOffsets,
19 | computeStyles,
20 | applyStyles,
21 | offset,
22 | flip,
23 | preventOverflow,
24 | arrow,
25 | hide,
26 | ];
27 |
28 | const createPopper = popperGenerator({ defaultModifiers });
29 |
30 | // eslint-disable-next-line import/no-unused-modules
31 | export { createPopper, popperGenerator, defaultModifiers, detectOverflow };
32 | // eslint-disable-next-line import/no-unused-modules
33 | export { createPopper as createPopperLite } from './popper-lite';
34 | // eslint-disable-next-line import/no-unused-modules
35 | export * from './modifiers';
36 |
--------------------------------------------------------------------------------
/npm/node_modules/@popperjs/core/lib/types.js:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mdbootstrap/bootstrap-5-freecodecamp-source-code/55a4c8ba17ad0030ed44bcc2e1e2418247a7177a/npm/node_modules/@popperjs/core/lib/types.js
--------------------------------------------------------------------------------
/npm/node_modules/@popperjs/core/lib/utils/computeAutoPlacement.d.ts:
--------------------------------------------------------------------------------
1 | import type { State, Padding } from "../types";
2 | import type { Placement, ComputedPlacement, Boundary, RootBoundary } from "../enums";
3 | declare type Options = {
4 | placement: Placement;
5 | padding: Padding;
6 | boundary: Boundary;
7 | rootBoundary: RootBoundary;
8 | flipVariations: boolean;
9 | allowedAutoPlacements?: Array;
10 | };
11 | export default function computeAutoPlacement(state: Partial, options?: Options): Array;
12 | export {};
13 |
--------------------------------------------------------------------------------
/npm/node_modules/@popperjs/core/lib/utils/computeOffsets.d.ts:
--------------------------------------------------------------------------------
1 | import type { Rect, PositioningStrategy, Offsets, ClientRectObject } from "../types";
2 | import { Placement } from "../enums";
3 | export default function computeOffsets({ reference, element, placement }: {
4 | reference: Rect | ClientRectObject;
5 | element: Rect | ClientRectObject;
6 | strategy: PositioningStrategy;
7 | placement?: Placement;
8 | }): Offsets;
9 |
--------------------------------------------------------------------------------
/npm/node_modules/@popperjs/core/lib/utils/computeOffsets.js:
--------------------------------------------------------------------------------
1 | import getBasePlacement from "./getBasePlacement.js";
2 | import getVariation from "./getVariation.js";
3 | import getMainAxisFromPlacement from "./getMainAxisFromPlacement.js";
4 | import { top, right, bottom, left, start, end } from "../enums.js";
5 | export default function computeOffsets(_ref) {
6 | var reference = _ref.reference,
7 | element = _ref.element,
8 | placement = _ref.placement;
9 | var basePlacement = placement ? getBasePlacement(placement) : null;
10 | var variation = placement ? getVariation(placement) : null;
11 | var commonX = reference.x + reference.width / 2 - element.width / 2;
12 | var commonY = reference.y + reference.height / 2 - element.height / 2;
13 | var offsets;
14 |
15 | switch (basePlacement) {
16 | case top:
17 | offsets = {
18 | x: commonX,
19 | y: reference.y - element.height
20 | };
21 | break;
22 |
23 | case bottom:
24 | offsets = {
25 | x: commonX,
26 | y: reference.y + reference.height
27 | };
28 | break;
29 |
30 | case right:
31 | offsets = {
32 | x: reference.x + reference.width,
33 | y: commonY
34 | };
35 | break;
36 |
37 | case left:
38 | offsets = {
39 | x: reference.x - element.width,
40 | y: commonY
41 | };
42 | break;
43 |
44 | default:
45 | offsets = {
46 | x: reference.x,
47 | y: reference.y
48 | };
49 | }
50 |
51 | var mainAxis = basePlacement ? getMainAxisFromPlacement(basePlacement) : null;
52 |
53 | if (mainAxis != null) {
54 | var len = mainAxis === 'y' ? 'height' : 'width';
55 |
56 | switch (variation) {
57 | case start:
58 | offsets[mainAxis] = offsets[mainAxis] - (reference[len] / 2 - element[len] / 2);
59 | break;
60 |
61 | case end:
62 | offsets[mainAxis] = offsets[mainAxis] + (reference[len] / 2 - element[len] / 2);
63 | break;
64 |
65 | default:
66 | }
67 | }
68 |
69 | return offsets;
70 | }
--------------------------------------------------------------------------------
/npm/node_modules/@popperjs/core/lib/utils/debounce.d.ts:
--------------------------------------------------------------------------------
1 | export default function debounce(fn: (...args: Array) => any): () => Promise;
2 |
--------------------------------------------------------------------------------
/npm/node_modules/@popperjs/core/lib/utils/debounce.js:
--------------------------------------------------------------------------------
1 | export default function debounce(fn) {
2 | var pending;
3 | return function () {
4 | if (!pending) {
5 | pending = new Promise(function (resolve) {
6 | Promise.resolve().then(function () {
7 | pending = undefined;
8 | resolve(fn());
9 | });
10 | });
11 | }
12 |
13 | return pending;
14 | };
15 | }
--------------------------------------------------------------------------------
/npm/node_modules/@popperjs/core/lib/utils/debounce.js.flow:
--------------------------------------------------------------------------------
1 | // @flow
2 |
3 | export default function debounce(fn: Function): () => Promise {
4 | let pending;
5 | return () => {
6 | if (!pending) {
7 | pending = new Promise(resolve => {
8 | Promise.resolve().then(() => {
9 | pending = undefined;
10 | resolve(fn());
11 | });
12 | });
13 | }
14 |
15 | return pending;
16 | };
17 | }
18 |
--------------------------------------------------------------------------------
/npm/node_modules/@popperjs/core/lib/utils/detectOverflow.d.ts:
--------------------------------------------------------------------------------
1 | import type { State, SideObject, Padding } from "../types";
2 | import type { Placement, Boundary, RootBoundary, Context } from "../enums";
3 | export declare type Options = {
4 | placement: Placement;
5 | boundary: Boundary;
6 | rootBoundary: RootBoundary;
7 | elementContext: Context;
8 | altBoundary: boolean;
9 | padding: Padding;
10 | };
11 | export default function detectOverflow(state: State, options?: Partial): SideObject;
12 |
--------------------------------------------------------------------------------
/npm/node_modules/@popperjs/core/lib/utils/expandToHashMap.d.ts:
--------------------------------------------------------------------------------
1 | export default function expandToHashMap(value: T, keys: Array): {
2 | [key: string]: T;
3 | };
4 |
--------------------------------------------------------------------------------
/npm/node_modules/@popperjs/core/lib/utils/expandToHashMap.js:
--------------------------------------------------------------------------------
1 | export default function expandToHashMap(value, keys) {
2 | return keys.reduce(function (hashMap, key) {
3 | hashMap[key] = value;
4 | return hashMap;
5 | }, {});
6 | }
--------------------------------------------------------------------------------
/npm/node_modules/@popperjs/core/lib/utils/expandToHashMap.js.flow:
--------------------------------------------------------------------------------
1 | // @flow
2 |
3 | export default function expandToHashMap<
4 | T: number | string | boolean,
5 | K: string
6 | >(value: T, keys: Array): { [key: string]: T } {
7 | return keys.reduce((hashMap, key) => {
8 | hashMap[key] = value;
9 | return hashMap;
10 | }, {});
11 | }
12 |
--------------------------------------------------------------------------------
/npm/node_modules/@popperjs/core/lib/utils/format.d.ts:
--------------------------------------------------------------------------------
1 | export default function format(str: string, ...args: Array): string;
2 |
--------------------------------------------------------------------------------
/npm/node_modules/@popperjs/core/lib/utils/format.js:
--------------------------------------------------------------------------------
1 | export default function format(str) {
2 | for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
3 | args[_key - 1] = arguments[_key];
4 | }
5 |
6 | return [].concat(args).reduce(function (p, c) {
7 | return p.replace(/%s/, c);
8 | }, str);
9 | }
--------------------------------------------------------------------------------
/npm/node_modules/@popperjs/core/lib/utils/format.js.flow:
--------------------------------------------------------------------------------
1 | // @flow
2 |
3 | export default function format(str: string, ...args: Array) {
4 | return [...args].reduce((p, c) => p.replace(/%s/, c), str);
5 | }
6 |
--------------------------------------------------------------------------------
/npm/node_modules/@popperjs/core/lib/utils/getAltAxis.d.ts:
--------------------------------------------------------------------------------
1 | export default function getAltAxis(axis: "x" | "y"): "x" | "y";
2 |
--------------------------------------------------------------------------------
/npm/node_modules/@popperjs/core/lib/utils/getAltAxis.js:
--------------------------------------------------------------------------------
1 | export default function getAltAxis(axis) {
2 | return axis === 'x' ? 'y' : 'x';
3 | }
--------------------------------------------------------------------------------
/npm/node_modules/@popperjs/core/lib/utils/getAltAxis.js.flow:
--------------------------------------------------------------------------------
1 | // @flow
2 |
3 | export default function getAltAxis(axis: 'x' | 'y'): 'x' | 'y' {
4 | return axis === 'x' ? 'y' : 'x';
5 | }
6 |
--------------------------------------------------------------------------------
/npm/node_modules/@popperjs/core/lib/utils/getAltLen.d.ts:
--------------------------------------------------------------------------------
1 | export default function getAltLen(len: "width" | "height"): "width" | "height";
2 |
--------------------------------------------------------------------------------
/npm/node_modules/@popperjs/core/lib/utils/getAltLen.js:
--------------------------------------------------------------------------------
1 | export default function getAltLen(len) {
2 | return len === 'width' ? 'height' : 'width';
3 | }
--------------------------------------------------------------------------------
/npm/node_modules/@popperjs/core/lib/utils/getAltLen.js.flow:
--------------------------------------------------------------------------------
1 | // @flow
2 |
3 | export default function getAltLen(len: 'width' | 'height'): 'width' | 'height' {
4 | return len === 'width' ? 'height' : 'width';
5 | }
6 |
--------------------------------------------------------------------------------
/npm/node_modules/@popperjs/core/lib/utils/getBasePlacement.d.ts:
--------------------------------------------------------------------------------
1 | import { BasePlacement, Placement, auto } from "../enums";
2 | export default function getBasePlacement(placement: Placement | typeof auto): BasePlacement;
3 |
--------------------------------------------------------------------------------
/npm/node_modules/@popperjs/core/lib/utils/getBasePlacement.js:
--------------------------------------------------------------------------------
1 | import { auto } from "../enums.js";
2 | export default function getBasePlacement(placement) {
3 | return placement.split('-')[0];
4 | }
--------------------------------------------------------------------------------
/npm/node_modules/@popperjs/core/lib/utils/getBasePlacement.js.flow:
--------------------------------------------------------------------------------
1 | // @flow
2 | import { type BasePlacement, type Placement, auto } from '../enums';
3 |
4 | export default function getBasePlacement(
5 | placement: Placement | typeof auto
6 | ): BasePlacement {
7 | return (placement.split('-')[0]: any);
8 | }
9 |
--------------------------------------------------------------------------------
/npm/node_modules/@popperjs/core/lib/utils/getFreshSideObject.d.ts:
--------------------------------------------------------------------------------
1 | import type { SideObject } from "../types";
2 | export default function getFreshSideObject(): SideObject;
3 |
--------------------------------------------------------------------------------
/npm/node_modules/@popperjs/core/lib/utils/getFreshSideObject.js:
--------------------------------------------------------------------------------
1 | export default function getFreshSideObject() {
2 | return {
3 | top: 0,
4 | right: 0,
5 | bottom: 0,
6 | left: 0
7 | };
8 | }
--------------------------------------------------------------------------------
/npm/node_modules/@popperjs/core/lib/utils/getFreshSideObject.js.flow:
--------------------------------------------------------------------------------
1 | // @flow
2 | import type { SideObject } from '../types';
3 |
4 | export default function getFreshSideObject(): SideObject {
5 | return {
6 | top: 0,
7 | right: 0,
8 | bottom: 0,
9 | left: 0,
10 | };
11 | }
12 |
--------------------------------------------------------------------------------
/npm/node_modules/@popperjs/core/lib/utils/getMainAxisFromPlacement.d.ts:
--------------------------------------------------------------------------------
1 | import type { Placement } from "../enums";
2 | export default function getMainAxisFromPlacement(placement: Placement): "x" | "y";
3 |
--------------------------------------------------------------------------------
/npm/node_modules/@popperjs/core/lib/utils/getMainAxisFromPlacement.js:
--------------------------------------------------------------------------------
1 | export default function getMainAxisFromPlacement(placement) {
2 | return ['top', 'bottom'].indexOf(placement) >= 0 ? 'x' : 'y';
3 | }
--------------------------------------------------------------------------------
/npm/node_modules/@popperjs/core/lib/utils/getMainAxisFromPlacement.js.flow:
--------------------------------------------------------------------------------
1 | // @flow
2 | import type { Placement } from '../enums';
3 |
4 | export default function getMainAxisFromPlacement(
5 | placement: Placement
6 | ): 'x' | 'y' {
7 | return ['top', 'bottom'].indexOf(placement) >= 0 ? 'x' : 'y';
8 | }
9 |
--------------------------------------------------------------------------------
/npm/node_modules/@popperjs/core/lib/utils/getOppositePlacement.d.ts:
--------------------------------------------------------------------------------
1 | import type { Placement } from "../enums";
2 | export default function getOppositePlacement(placement: Placement): Placement;
3 |
--------------------------------------------------------------------------------
/npm/node_modules/@popperjs/core/lib/utils/getOppositePlacement.js:
--------------------------------------------------------------------------------
1 | var hash = {
2 | left: 'right',
3 | right: 'left',
4 | bottom: 'top',
5 | top: 'bottom'
6 | };
7 | export default function getOppositePlacement(placement) {
8 | return placement.replace(/left|right|bottom|top/g, function (matched) {
9 | return hash[matched];
10 | });
11 | }
--------------------------------------------------------------------------------
/npm/node_modules/@popperjs/core/lib/utils/getOppositePlacement.js.flow:
--------------------------------------------------------------------------------
1 | // @flow
2 | import type { Placement } from '../enums';
3 |
4 | const hash = { left: 'right', right: 'left', bottom: 'top', top: 'bottom' };
5 |
6 | export default function getOppositePlacement(placement: Placement): Placement {
7 | return (placement.replace(
8 | /left|right|bottom|top/g,
9 | matched => hash[matched]
10 | ): any);
11 | }
12 |
--------------------------------------------------------------------------------
/npm/node_modules/@popperjs/core/lib/utils/getOppositeVariationPlacement.d.ts:
--------------------------------------------------------------------------------
1 | import type { Placement } from "../enums";
2 | export default function getOppositeVariationPlacement(placement: Placement): Placement;
3 |
--------------------------------------------------------------------------------
/npm/node_modules/@popperjs/core/lib/utils/getOppositeVariationPlacement.js:
--------------------------------------------------------------------------------
1 | var hash = {
2 | start: 'end',
3 | end: 'start'
4 | };
5 | export default function getOppositeVariationPlacement(placement) {
6 | return placement.replace(/start|end/g, function (matched) {
7 | return hash[matched];
8 | });
9 | }
--------------------------------------------------------------------------------
/npm/node_modules/@popperjs/core/lib/utils/getOppositeVariationPlacement.js.flow:
--------------------------------------------------------------------------------
1 | // @flow
2 | import type { Placement } from '../enums';
3 |
4 | const hash = { start: 'end', end: 'start' };
5 |
6 | export default function getOppositeVariationPlacement(
7 | placement: Placement
8 | ): Placement {
9 | return (placement.replace(/start|end/g, matched => hash[matched]): any);
10 | }
11 |
--------------------------------------------------------------------------------
/npm/node_modules/@popperjs/core/lib/utils/getVariation.d.ts:
--------------------------------------------------------------------------------
1 | import { Variation, Placement } from "../enums";
2 | export default function getVariation(placement: Placement): Variation | null | undefined;
3 |
--------------------------------------------------------------------------------
/npm/node_modules/@popperjs/core/lib/utils/getVariation.js:
--------------------------------------------------------------------------------
1 | export default function getVariation(placement) {
2 | return placement.split('-')[1];
3 | }
--------------------------------------------------------------------------------
/npm/node_modules/@popperjs/core/lib/utils/getVariation.js.flow:
--------------------------------------------------------------------------------
1 | // @flow
2 | import { type Variation, type Placement } from '../enums';
3 |
4 | export default function getVariation(placement: Placement): ?Variation {
5 | return (placement.split('-')[1]: any);
6 | }
7 |
--------------------------------------------------------------------------------
/npm/node_modules/@popperjs/core/lib/utils/math.d.ts:
--------------------------------------------------------------------------------
1 | export declare const max: (...values: number[]) => number;
2 | export declare const min: (...values: number[]) => number;
3 | export declare const round: (x: number) => number;
4 |
--------------------------------------------------------------------------------
/npm/node_modules/@popperjs/core/lib/utils/math.js:
--------------------------------------------------------------------------------
1 | export var max = Math.max;
2 | export var min = Math.min;
3 | export var round = Math.round;
--------------------------------------------------------------------------------
/npm/node_modules/@popperjs/core/lib/utils/math.js.flow:
--------------------------------------------------------------------------------
1 | // @flow
2 | export const max = Math.max;
3 | export const min = Math.min;
4 | export const round = Math.round;
5 |
--------------------------------------------------------------------------------
/npm/node_modules/@popperjs/core/lib/utils/mergeByName.d.ts:
--------------------------------------------------------------------------------
1 | import type { Modifier } from "../types";
2 | export default function mergeByName(modifiers: Array>>): Array>>;
3 |
--------------------------------------------------------------------------------
/npm/node_modules/@popperjs/core/lib/utils/mergeByName.js:
--------------------------------------------------------------------------------
1 | export default function mergeByName(modifiers) {
2 | var merged = modifiers.reduce(function (merged, current) {
3 | var existing = merged[current.name];
4 | merged[current.name] = existing ? Object.assign({}, existing, current, {
5 | options: Object.assign({}, existing.options, current.options),
6 | data: Object.assign({}, existing.data, current.data)
7 | }) : current;
8 | return merged;
9 | }, {}); // IE11 does not support Object.values
10 |
11 | return Object.keys(merged).map(function (key) {
12 | return merged[key];
13 | });
14 | }
--------------------------------------------------------------------------------
/npm/node_modules/@popperjs/core/lib/utils/mergeByName.js.flow:
--------------------------------------------------------------------------------
1 | // @flow
2 | import type { Modifier } from '../types';
3 |
4 | export default function mergeByName(
5 | modifiers: Array<$Shape>>
6 | ): Array<$Shape>> {
7 | const merged = modifiers.reduce((merged, current) => {
8 | const existing = merged[current.name];
9 | merged[current.name] = existing
10 | ? {
11 | ...existing,
12 | ...current,
13 | options: { ...existing.options, ...current.options },
14 | data: { ...existing.data, ...current.data },
15 | }
16 | : current;
17 | return merged;
18 | }, {});
19 |
20 | // IE11 does not support Object.values
21 | return Object.keys(merged).map(key => merged[key]);
22 | }
23 |
--------------------------------------------------------------------------------
/npm/node_modules/@popperjs/core/lib/utils/mergePaddingObject.d.ts:
--------------------------------------------------------------------------------
1 | import type { SideObject } from "../types";
2 | export default function mergePaddingObject(paddingObject: Partial): SideObject;
3 |
--------------------------------------------------------------------------------
/npm/node_modules/@popperjs/core/lib/utils/mergePaddingObject.js:
--------------------------------------------------------------------------------
1 | import getFreshSideObject from "./getFreshSideObject.js";
2 | export default function mergePaddingObject(paddingObject) {
3 | return Object.assign({}, getFreshSideObject(), paddingObject);
4 | }
--------------------------------------------------------------------------------
/npm/node_modules/@popperjs/core/lib/utils/mergePaddingObject.js.flow:
--------------------------------------------------------------------------------
1 | // @flow
2 | import type { SideObject } from '../types';
3 | import getFreshSideObject from './getFreshSideObject';
4 |
5 | export default function mergePaddingObject(
6 | paddingObject: $Shape
7 | ): SideObject {
8 | return {
9 | ...getFreshSideObject(),
10 | ...paddingObject,
11 | };
12 | }
13 |
--------------------------------------------------------------------------------
/npm/node_modules/@popperjs/core/lib/utils/orderModifiers.d.ts:
--------------------------------------------------------------------------------
1 | import type { Modifier } from "../types";
2 | export default function orderModifiers(modifiers: Array>): Array>;
3 |
--------------------------------------------------------------------------------
/npm/node_modules/@popperjs/core/lib/utils/orderModifiers.js:
--------------------------------------------------------------------------------
1 | import { modifierPhases } from "../enums.js"; // source: https://stackoverflow.com/questions/49875255
2 |
3 | function order(modifiers) {
4 | var map = new Map();
5 | var visited = new Set();
6 | var result = [];
7 | modifiers.forEach(function (modifier) {
8 | map.set(modifier.name, modifier);
9 | }); // On visiting object, check for its dependencies and visit them recursively
10 |
11 | function sort(modifier) {
12 | visited.add(modifier.name);
13 | var requires = [].concat(modifier.requires || [], modifier.requiresIfExists || []);
14 | requires.forEach(function (dep) {
15 | if (!visited.has(dep)) {
16 | var depModifier = map.get(dep);
17 |
18 | if (depModifier) {
19 | sort(depModifier);
20 | }
21 | }
22 | });
23 | result.push(modifier);
24 | }
25 |
26 | modifiers.forEach(function (modifier) {
27 | if (!visited.has(modifier.name)) {
28 | // check for visited object
29 | sort(modifier);
30 | }
31 | });
32 | return result;
33 | }
34 |
35 | export default function orderModifiers(modifiers) {
36 | // order based on dependencies
37 | var orderedModifiers = order(modifiers); // order based on phase
38 |
39 | return modifierPhases.reduce(function (acc, phase) {
40 | return acc.concat(orderedModifiers.filter(function (modifier) {
41 | return modifier.phase === phase;
42 | }));
43 | }, []);
44 | }
--------------------------------------------------------------------------------
/npm/node_modules/@popperjs/core/lib/utils/orderModifiers.js.flow:
--------------------------------------------------------------------------------
1 | // @flow
2 | import type { Modifier } from '../types';
3 | import { modifierPhases } from '../enums';
4 |
5 | // source: https://stackoverflow.com/questions/49875255
6 | function order(modifiers) {
7 | const map = new Map();
8 | const visited = new Set();
9 | const result = [];
10 |
11 | modifiers.forEach(modifier => {
12 | map.set(modifier.name, modifier);
13 | });
14 |
15 | // On visiting object, check for its dependencies and visit them recursively
16 | function sort(modifier: Modifier) {
17 | visited.add(modifier.name);
18 |
19 | const requires = [
20 | ...(modifier.requires || []),
21 | ...(modifier.requiresIfExists || []),
22 | ];
23 |
24 | requires.forEach(dep => {
25 | if (!visited.has(dep)) {
26 | const depModifier = map.get(dep);
27 |
28 | if (depModifier) {
29 | sort(depModifier);
30 | }
31 | }
32 | });
33 |
34 | result.push(modifier);
35 | }
36 |
37 | modifiers.forEach(modifier => {
38 | if (!visited.has(modifier.name)) {
39 | // check for visited object
40 | sort(modifier);
41 | }
42 | });
43 |
44 | return result;
45 | }
46 |
47 | export default function orderModifiers(
48 | modifiers: Array>
49 | ): Array> {
50 | // order based on dependencies
51 | const orderedModifiers = order(modifiers);
52 |
53 | // order based on phase
54 | return modifierPhases.reduce((acc, phase) => {
55 | return acc.concat(
56 | orderedModifiers.filter(modifier => modifier.phase === phase)
57 | );
58 | }, []);
59 | }
60 |
--------------------------------------------------------------------------------
/npm/node_modules/@popperjs/core/lib/utils/rectToClientRect.d.ts:
--------------------------------------------------------------------------------
1 | import type { Rect, ClientRectObject } from "../types";
2 | export default function rectToClientRect(rect: Rect): ClientRectObject;
3 |
--------------------------------------------------------------------------------
/npm/node_modules/@popperjs/core/lib/utils/rectToClientRect.js:
--------------------------------------------------------------------------------
1 | export default function rectToClientRect(rect) {
2 | return Object.assign({}, rect, {
3 | left: rect.x,
4 | top: rect.y,
5 | right: rect.x + rect.width,
6 | bottom: rect.y + rect.height
7 | });
8 | }
--------------------------------------------------------------------------------
/npm/node_modules/@popperjs/core/lib/utils/rectToClientRect.js.flow:
--------------------------------------------------------------------------------
1 | // @flow
2 | import type { Rect, ClientRectObject } from '../types';
3 |
4 | export default function rectToClientRect(rect: Rect): ClientRectObject {
5 | return {
6 | ...rect,
7 | left: rect.x,
8 | top: rect.y,
9 | right: rect.x + rect.width,
10 | bottom: rect.y + rect.height,
11 | };
12 | }
13 |
--------------------------------------------------------------------------------
/npm/node_modules/@popperjs/core/lib/utils/uniqueBy.d.ts:
--------------------------------------------------------------------------------
1 | export default function uniqueBy(arr: Array, fn: (arg0: T) => any): Array;
2 |
--------------------------------------------------------------------------------
/npm/node_modules/@popperjs/core/lib/utils/uniqueBy.js:
--------------------------------------------------------------------------------
1 | export default function uniqueBy(arr, fn) {
2 | var identifiers = new Set();
3 | return arr.filter(function (item) {
4 | var identifier = fn(item);
5 |
6 | if (!identifiers.has(identifier)) {
7 | identifiers.add(identifier);
8 | return true;
9 | }
10 | });
11 | }
--------------------------------------------------------------------------------
/npm/node_modules/@popperjs/core/lib/utils/uniqueBy.js.flow:
--------------------------------------------------------------------------------
1 | // @flow
2 |
3 | export default function uniqueBy(arr: Array, fn: T => any): Array {
4 | const identifiers = new Set();
5 |
6 | return arr.filter(item => {
7 | const identifier = fn(item);
8 |
9 | if (!identifiers.has(identifier)) {
10 | identifiers.add(identifier);
11 | return true;
12 | }
13 | });
14 | }
15 |
--------------------------------------------------------------------------------
/npm/node_modules/@popperjs/core/lib/utils/validateModifiers.d.ts:
--------------------------------------------------------------------------------
1 | export default function validateModifiers(modifiers: Array): void;
2 |
--------------------------------------------------------------------------------
/npm/node_modules/@popperjs/core/lib/utils/within.d.ts:
--------------------------------------------------------------------------------
1 | export default function within(min: number, value: number, max: number): number;
2 |
--------------------------------------------------------------------------------
/npm/node_modules/@popperjs/core/lib/utils/within.js:
--------------------------------------------------------------------------------
1 | import { max as mathMax, min as mathMin } from "./math.js";
2 | export default function within(min, value, max) {
3 | return mathMax(min, mathMin(value, max));
4 | }
--------------------------------------------------------------------------------
/npm/node_modules/@popperjs/core/lib/utils/within.js.flow:
--------------------------------------------------------------------------------
1 | // @flow
2 | import { max as mathMax, min as mathMin } from './math';
3 |
4 | export default function within(
5 | min: number,
6 | value: number,
7 | max: number
8 | ): number {
9 | return mathMax(min, mathMin(value, max));
10 | }
11 |
--------------------------------------------------------------------------------
/npm/node_modules/bootstrap/LICENSE:
--------------------------------------------------------------------------------
1 | The MIT License (MIT)
2 |
3 | Copyright (c) 2011-2021 Twitter, Inc.
4 | Copyright (c) 2011-2021 The Bootstrap Authors
5 |
6 | Permission is hereby granted, free of charge, to any person obtaining a copy
7 | of this software and associated documentation files (the "Software"), to deal
8 | in the Software without restriction, including without limitation the rights
9 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10 | copies of the Software, and to permit persons to whom the Software is
11 | furnished to do so, subject to the following conditions:
12 |
13 | The above copyright notice and this permission notice shall be included in
14 | all copies or substantial portions of the Software.
15 |
16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
22 | THE SOFTWARE.
23 |
--------------------------------------------------------------------------------
/npm/node_modules/bootstrap/js/src/base-component.js:
--------------------------------------------------------------------------------
1 | /**
2 | * --------------------------------------------------------------------------
3 | * Bootstrap (v5.1.3): base-component.js
4 | * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
5 | * --------------------------------------------------------------------------
6 | */
7 |
8 | import Data from './dom/data'
9 | import {
10 | executeAfterTransition,
11 | getElement
12 | } from './util/index'
13 | import EventHandler from './dom/event-handler'
14 |
15 | /**
16 | * ------------------------------------------------------------------------
17 | * Constants
18 | * ------------------------------------------------------------------------
19 | */
20 |
21 | const VERSION = '5.1.3'
22 |
23 | class BaseComponent {
24 | constructor(element) {
25 | element = getElement(element)
26 |
27 | if (!element) {
28 | return
29 | }
30 |
31 | this._element = element
32 | Data.set(this._element, this.constructor.DATA_KEY, this)
33 | }
34 |
35 | dispose() {
36 | Data.remove(this._element, this.constructor.DATA_KEY)
37 | EventHandler.off(this._element, this.constructor.EVENT_KEY)
38 |
39 | Object.getOwnPropertyNames(this).forEach(propertyName => {
40 | this[propertyName] = null
41 | })
42 | }
43 |
44 | _queueCallback(callback, element, isAnimated = true) {
45 | executeAfterTransition(callback, element, isAnimated)
46 | }
47 |
48 | /** Static */
49 |
50 | static getInstance(element) {
51 | return Data.get(getElement(element), this.DATA_KEY)
52 | }
53 |
54 | static getOrCreateInstance(element, config = {}) {
55 | return this.getInstance(element) || new this(element, typeof config === 'object' ? config : null)
56 | }
57 |
58 | static get VERSION() {
59 | return VERSION
60 | }
61 |
62 | static get NAME() {
63 | throw new Error('You have to implement the static method "NAME", for each component!')
64 | }
65 |
66 | static get DATA_KEY() {
67 | return `bs.${this.NAME}`
68 | }
69 |
70 | static get EVENT_KEY() {
71 | return `.${this.DATA_KEY}`
72 | }
73 | }
74 |
75 | export default BaseComponent
76 |
--------------------------------------------------------------------------------
/npm/node_modules/bootstrap/js/src/dom/data.js:
--------------------------------------------------------------------------------
1 | /**
2 | * --------------------------------------------------------------------------
3 | * Bootstrap (v5.1.3): dom/data.js
4 | * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
5 | * --------------------------------------------------------------------------
6 | */
7 |
8 | /**
9 | * ------------------------------------------------------------------------
10 | * Constants
11 | * ------------------------------------------------------------------------
12 | */
13 |
14 | const elementMap = new Map()
15 |
16 | export default {
17 | set(element, key, instance) {
18 | if (!elementMap.has(element)) {
19 | elementMap.set(element, new Map())
20 | }
21 |
22 | const instanceMap = elementMap.get(element)
23 |
24 | // make it clear we only want one instance per element
25 | // can be removed later when multiple key/instances are fine to be used
26 | if (!instanceMap.has(key) && instanceMap.size !== 0) {
27 | // eslint-disable-next-line no-console
28 | console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(instanceMap.keys())[0]}.`)
29 | return
30 | }
31 |
32 | instanceMap.set(key, instance)
33 | },
34 |
35 | get(element, key) {
36 | if (elementMap.has(element)) {
37 | return elementMap.get(element).get(key) || null
38 | }
39 |
40 | return null
41 | },
42 |
43 | remove(element, key) {
44 | if (!elementMap.has(element)) {
45 | return
46 | }
47 |
48 | const instanceMap = elementMap.get(element)
49 |
50 | instanceMap.delete(key)
51 |
52 | // free up element references if there are no instances left for an element
53 | if (instanceMap.size === 0) {
54 | elementMap.delete(element)
55 | }
56 | }
57 | }
58 |
--------------------------------------------------------------------------------
/npm/node_modules/bootstrap/js/src/dom/manipulator.js:
--------------------------------------------------------------------------------
1 | /**
2 | * --------------------------------------------------------------------------
3 | * Bootstrap (v5.1.3): dom/manipulator.js
4 | * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
5 | * --------------------------------------------------------------------------
6 | */
7 |
8 | function normalizeData(val) {
9 | if (val === 'true') {
10 | return true
11 | }
12 |
13 | if (val === 'false') {
14 | return false
15 | }
16 |
17 | if (val === Number(val).toString()) {
18 | return Number(val)
19 | }
20 |
21 | if (val === '' || val === 'null') {
22 | return null
23 | }
24 |
25 | return val
26 | }
27 |
28 | function normalizeDataKey(key) {
29 | return key.replace(/[A-Z]/g, chr => `-${chr.toLowerCase()}`)
30 | }
31 |
32 | const Manipulator = {
33 | setDataAttribute(element, key, value) {
34 | element.setAttribute(`data-bs-${normalizeDataKey(key)}`, value)
35 | },
36 |
37 | removeDataAttribute(element, key) {
38 | element.removeAttribute(`data-bs-${normalizeDataKey(key)}`)
39 | },
40 |
41 | getDataAttributes(element) {
42 | if (!element) {
43 | return {}
44 | }
45 |
46 | const attributes = {}
47 |
48 | Object.keys(element.dataset)
49 | .filter(key => key.startsWith('bs'))
50 | .forEach(key => {
51 | let pureKey = key.replace(/^bs/, '')
52 | pureKey = pureKey.charAt(0).toLowerCase() + pureKey.slice(1, pureKey.length)
53 | attributes[pureKey] = normalizeData(element.dataset[key])
54 | })
55 |
56 | return attributes
57 | },
58 |
59 | getDataAttribute(element, key) {
60 | return normalizeData(element.getAttribute(`data-bs-${normalizeDataKey(key)}`))
61 | },
62 |
63 | offset(element) {
64 | const rect = element.getBoundingClientRect()
65 |
66 | return {
67 | top: rect.top + window.pageYOffset,
68 | left: rect.left + window.pageXOffset
69 | }
70 | },
71 |
72 | position(element) {
73 | return {
74 | top: element.offsetTop,
75 | left: element.offsetLeft
76 | }
77 | }
78 | }
79 |
80 | export default Manipulator
81 |
--------------------------------------------------------------------------------
/npm/node_modules/bootstrap/js/src/util/component-functions.js:
--------------------------------------------------------------------------------
1 | /**
2 | * --------------------------------------------------------------------------
3 | * Bootstrap (v5.1.3): util/component-functions.js
4 | * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
5 | * --------------------------------------------------------------------------
6 | */
7 |
8 | import EventHandler from '../dom/event-handler'
9 | import { getElementFromSelector, isDisabled } from './index'
10 |
11 | const enableDismissTrigger = (component, method = 'hide') => {
12 | const clickEvent = `click.dismiss${component.EVENT_KEY}`
13 | const name = component.NAME
14 |
15 | EventHandler.on(document, clickEvent, `[data-bs-dismiss="${name}"]`, function (event) {
16 | if (['A', 'AREA'].includes(this.tagName)) {
17 | event.preventDefault()
18 | }
19 |
20 | if (isDisabled(this)) {
21 | return
22 | }
23 |
24 | const target = getElementFromSelector(this) || this.closest(`.${name}`)
25 | const instance = component.getOrCreateInstance(target)
26 |
27 | // Method argument is left, for Alert and only, as it doesn't implement the 'hide' method
28 | instance[method]()
29 | })
30 | }
31 |
32 | export {
33 | enableDismissTrigger
34 | }
35 |
--------------------------------------------------------------------------------
/npm/node_modules/bootstrap/scss/_alert.scss:
--------------------------------------------------------------------------------
1 | //
2 | // Base styles
3 | //
4 |
5 | .alert {
6 | position: relative;
7 | padding: $alert-padding-y $alert-padding-x;
8 | margin-bottom: $alert-margin-bottom;
9 | border: $alert-border-width solid transparent;
10 | @include border-radius($alert-border-radius);
11 | }
12 |
13 | // Headings for larger alerts
14 | .alert-heading {
15 | // Specified to prevent conflicts of changing $headings-color
16 | color: inherit;
17 | }
18 |
19 | // Provide class for links that match alerts
20 | .alert-link {
21 | font-weight: $alert-link-font-weight;
22 | }
23 |
24 |
25 | // Dismissible alerts
26 | //
27 | // Expand the right padding and account for the close button's positioning.
28 |
29 | .alert-dismissible {
30 | padding-right: $alert-dismissible-padding-r;
31 |
32 | // Adjust close link position
33 | .btn-close {
34 | position: absolute;
35 | top: 0;
36 | right: 0;
37 | z-index: $stretched-link-z-index + 1;
38 | padding: $alert-padding-y * 1.25 $alert-padding-x;
39 | }
40 | }
41 |
42 |
43 | // scss-docs-start alert-modifiers
44 | // Generate contextual modifier classes for colorizing the alert.
45 |
46 | @each $state, $value in $theme-colors {
47 | $alert-background: shift-color($value, $alert-bg-scale);
48 | $alert-border: shift-color($value, $alert-border-scale);
49 | $alert-color: shift-color($value, $alert-color-scale);
50 | @if (contrast-ratio($alert-background, $alert-color) < $min-contrast-ratio) {
51 | $alert-color: mix($value, color-contrast($alert-background), abs($alert-color-scale));
52 | }
53 | .alert-#{$state} {
54 | @include alert-variant($alert-background, $alert-border, $alert-color);
55 | }
56 | }
57 | // scss-docs-end alert-modifiers
58 |
--------------------------------------------------------------------------------
/npm/node_modules/bootstrap/scss/_badge.scss:
--------------------------------------------------------------------------------
1 | // Base class
2 | //
3 | // Requires one of the contextual, color modifier classes for `color` and
4 | // `background-color`.
5 |
6 | .badge {
7 | display: inline-block;
8 | padding: $badge-padding-y $badge-padding-x;
9 | @include font-size($badge-font-size);
10 | font-weight: $badge-font-weight;
11 | line-height: 1;
12 | color: $badge-color;
13 | text-align: center;
14 | white-space: nowrap;
15 | vertical-align: baseline;
16 | @include border-radius($badge-border-radius);
17 | @include gradient-bg();
18 |
19 | // Empty badges collapse automatically
20 | &:empty {
21 | display: none;
22 | }
23 | }
24 |
25 | // Quick fix for badges in buttons
26 | .btn .badge {
27 | position: relative;
28 | top: -1px;
29 | }
30 |
--------------------------------------------------------------------------------
/npm/node_modules/bootstrap/scss/_breadcrumb.scss:
--------------------------------------------------------------------------------
1 | .breadcrumb {
2 | display: flex;
3 | flex-wrap: wrap;
4 | padding: $breadcrumb-padding-y $breadcrumb-padding-x;
5 | margin-bottom: $breadcrumb-margin-bottom;
6 | @include font-size($breadcrumb-font-size);
7 | list-style: none;
8 | background-color: $breadcrumb-bg;
9 | @include border-radius($breadcrumb-border-radius);
10 | }
11 |
12 | .breadcrumb-item {
13 | // The separator between breadcrumbs (by default, a forward-slash: "/")
14 | + .breadcrumb-item {
15 | padding-left: $breadcrumb-item-padding-x;
16 |
17 | &::before {
18 | float: left; // Suppress inline spacings and underlining of the separator
19 | padding-right: $breadcrumb-item-padding-x;
20 | color: $breadcrumb-divider-color;
21 | content: var(--#{$variable-prefix}breadcrumb-divider, escape-svg($breadcrumb-divider)) #{"/* rtl:"} var(--#{$variable-prefix}breadcrumb-divider, escape-svg($breadcrumb-divider-flipped)) #{"*/"};
22 | }
23 | }
24 |
25 | &.active {
26 | color: $breadcrumb-active-color;
27 | }
28 | }
29 |
--------------------------------------------------------------------------------
/npm/node_modules/bootstrap/scss/_close.scss:
--------------------------------------------------------------------------------
1 | // transparent background and border properties included for button version.
2 | // iOS requires the button element instead of an anchor tag.
3 | // If you want the anchor version, it requires `href="#"`.
4 | // See https://developer.mozilla.org/en-US/docs/Web/Events/click#Safari_Mobile
5 |
6 | .btn-close {
7 | box-sizing: content-box;
8 | width: $btn-close-width;
9 | height: $btn-close-height;
10 | padding: $btn-close-padding-y $btn-close-padding-x;
11 | color: $btn-close-color;
12 | background: transparent escape-svg($btn-close-bg) center / $btn-close-width auto no-repeat; // include transparent for button elements
13 | border: 0; // for button elements
14 | @include border-radius();
15 | opacity: $btn-close-opacity;
16 |
17 | // Override 's hover style
18 | &:hover {
19 | color: $btn-close-color;
20 | text-decoration: none;
21 | opacity: $btn-close-hover-opacity;
22 | }
23 |
24 | &:focus {
25 | outline: 0;
26 | box-shadow: $btn-close-focus-shadow;
27 | opacity: $btn-close-focus-opacity;
28 | }
29 |
30 | &:disabled,
31 | &.disabled {
32 | pointer-events: none;
33 | user-select: none;
34 | opacity: $btn-close-disabled-opacity;
35 | }
36 | }
37 |
38 | .btn-close-white {
39 | filter: $btn-close-white-filter;
40 | }
41 |
--------------------------------------------------------------------------------
/npm/node_modules/bootstrap/scss/_containers.scss:
--------------------------------------------------------------------------------
1 | // Container widths
2 | //
3 | // Set the container width, and override it for fixed navbars in media queries.
4 |
5 | @if $enable-grid-classes {
6 | // Single container class with breakpoint max-widths
7 | .container,
8 | // 100% wide container at all breakpoints
9 | .container-fluid {
10 | @include make-container();
11 | }
12 |
13 | // Responsive containers that are 100% wide until a breakpoint
14 | @each $breakpoint, $container-max-width in $container-max-widths {
15 | .container-#{$breakpoint} {
16 | @extend .container-fluid;
17 | }
18 |
19 | @include media-breakpoint-up($breakpoint, $grid-breakpoints) {
20 | %responsive-container-#{$breakpoint} {
21 | max-width: $container-max-width;
22 | }
23 |
24 | // Extend each breakpoint which is smaller or equal to the current breakpoint
25 | $extend-breakpoint: true;
26 |
27 | @each $name, $width in $grid-breakpoints {
28 | @if ($extend-breakpoint) {
29 | .container#{breakpoint-infix($name, $grid-breakpoints)} {
30 | @extend %responsive-container-#{$breakpoint};
31 | }
32 |
33 | // Once the current breakpoint is reached, stop extending
34 | @if ($breakpoint == $name) {
35 | $extend-breakpoint: false;
36 | }
37 | }
38 | }
39 | }
40 | }
41 | }
42 |
--------------------------------------------------------------------------------
/npm/node_modules/bootstrap/scss/_forms.scss:
--------------------------------------------------------------------------------
1 | @import "forms/labels";
2 | @import "forms/form-text";
3 | @import "forms/form-control";
4 | @import "forms/form-select";
5 | @import "forms/form-check";
6 | @import "forms/form-range";
7 | @import "forms/floating-labels";
8 | @import "forms/input-group";
9 | @import "forms/validation";
10 |
--------------------------------------------------------------------------------
/npm/node_modules/bootstrap/scss/_grid.scss:
--------------------------------------------------------------------------------
1 | // Row
2 | //
3 | // Rows contain your columns.
4 |
5 | @if $enable-grid-classes {
6 | .row {
7 | @include make-row();
8 |
9 | > * {
10 | @include make-col-ready();
11 | }
12 | }
13 | }
14 |
15 | @if $enable-cssgrid {
16 | .grid {
17 | display: grid;
18 | grid-template-rows: repeat(var(--#{$variable-prefix}rows, 1), 1fr);
19 | grid-template-columns: repeat(var(--#{$variable-prefix}columns, #{$grid-columns}), 1fr);
20 | gap: var(--#{$variable-prefix}gap, #{$grid-gutter-width});
21 |
22 | @include make-cssgrid();
23 | }
24 | }
25 |
26 |
27 | // Columns
28 | //
29 | // Common styles for small and large grid columns
30 |
31 | @if $enable-grid-classes {
32 | @include make-grid-columns();
33 | }
34 |
--------------------------------------------------------------------------------
/npm/node_modules/bootstrap/scss/_helpers.scss:
--------------------------------------------------------------------------------
1 | @import "helpers/clearfix";
2 | @import "helpers/colored-links";
3 | @import "helpers/ratio";
4 | @import "helpers/position";
5 | @import "helpers/stacks";
6 | @import "helpers/visually-hidden";
7 | @import "helpers/stretched-link";
8 | @import "helpers/text-truncation";
9 | @import "helpers/vr";
10 |
--------------------------------------------------------------------------------
/npm/node_modules/bootstrap/scss/_images.scss:
--------------------------------------------------------------------------------
1 | // Responsive images (ensure images don't scale beyond their parents)
2 | //
3 | // This is purposefully opt-in via an explicit class rather than being the default for all `
`s.
4 | // We previously tried the "images are responsive by default" approach in Bootstrap v2,
5 | // and abandoned it in Bootstrap v3 because it breaks lots of third-party widgets (including Google Maps)
6 | // which weren't expecting the images within themselves to be involuntarily resized.
7 | // See also https://github.com/twbs/bootstrap/issues/18178
8 | .img-fluid {
9 | @include img-fluid();
10 | }
11 |
12 |
13 | // Image thumbnails
14 | .img-thumbnail {
15 | padding: $thumbnail-padding;
16 | background-color: $thumbnail-bg;
17 | border: $thumbnail-border-width solid $thumbnail-border-color;
18 | @include border-radius($thumbnail-border-radius);
19 | @include box-shadow($thumbnail-box-shadow);
20 |
21 | // Keep them at most 100% wide
22 | @include img-fluid();
23 | }
24 |
25 | //
26 | // Figures
27 | //
28 |
29 | .figure {
30 | // Ensures the caption's text aligns with the image.
31 | display: inline-block;
32 | }
33 |
34 | .figure-img {
35 | margin-bottom: $spacer * .5;
36 | line-height: 1;
37 | }
38 |
39 | .figure-caption {
40 | @include font-size($figure-caption-font-size);
41 | color: $figure-caption-color;
42 | }
43 |
--------------------------------------------------------------------------------
/npm/node_modules/bootstrap/scss/_mixins.scss:
--------------------------------------------------------------------------------
1 | // Toggles
2 | //
3 | // Used in conjunction with global variables to enable certain theme features.
4 |
5 | // Vendor
6 | @import "vendor/rfs";
7 |
8 | // Deprecate
9 | @import "mixins/deprecate";
10 |
11 | // Helpers
12 | @import "mixins/breakpoints";
13 | @import "mixins/color-scheme";
14 | @import "mixins/image";
15 | @import "mixins/resize";
16 | @import "mixins/visually-hidden";
17 | @import "mixins/reset-text";
18 | @import "mixins/text-truncate";
19 |
20 | // Utilities
21 | @import "mixins/utilities";
22 |
23 | // Components
24 | @import "mixins/alert";
25 | @import "mixins/backdrop";
26 | @import "mixins/buttons";
27 | @import "mixins/caret";
28 | @import "mixins/pagination";
29 | @import "mixins/lists";
30 | @import "mixins/list-group";
31 | @import "mixins/forms";
32 | @import "mixins/table-variants";
33 |
34 | // Skins
35 | @import "mixins/border-radius";
36 | @import "mixins/box-shadow";
37 | @import "mixins/gradients";
38 | @import "mixins/transition";
39 |
40 | // Layout
41 | @import "mixins/clearfix";
42 | @import "mixins/container";
43 | @import "mixins/grid";
44 |
--------------------------------------------------------------------------------
/npm/node_modules/bootstrap/scss/_pagination.scss:
--------------------------------------------------------------------------------
1 | .pagination {
2 | display: flex;
3 | @include list-unstyled();
4 | }
5 |
6 | .page-link {
7 | position: relative;
8 | display: block;
9 | color: $pagination-color;
10 | text-decoration: if($link-decoration == none, null, none);
11 | background-color: $pagination-bg;
12 | border: $pagination-border-width solid $pagination-border-color;
13 | @include transition($pagination-transition);
14 |
15 | &:hover {
16 | z-index: 2;
17 | color: $pagination-hover-color;
18 | text-decoration: if($link-hover-decoration == underline, none, null);
19 | background-color: $pagination-hover-bg;
20 | border-color: $pagination-hover-border-color;
21 | }
22 |
23 | &:focus {
24 | z-index: 3;
25 | color: $pagination-focus-color;
26 | background-color: $pagination-focus-bg;
27 | outline: $pagination-focus-outline;
28 | box-shadow: $pagination-focus-box-shadow;
29 | }
30 | }
31 |
32 | .page-item {
33 | &:not(:first-child) .page-link {
34 | margin-left: $pagination-margin-start;
35 | }
36 |
37 | &.active .page-link {
38 | z-index: 3;
39 | color: $pagination-active-color;
40 | @include gradient-bg($pagination-active-bg);
41 | border-color: $pagination-active-border-color;
42 | }
43 |
44 | &.disabled .page-link {
45 | color: $pagination-disabled-color;
46 | pointer-events: none;
47 | background-color: $pagination-disabled-bg;
48 | border-color: $pagination-disabled-border-color;
49 | }
50 | }
51 |
52 |
53 | //
54 | // Sizing
55 | //
56 | @include pagination-size($pagination-padding-y, $pagination-padding-x, null, $pagination-border-radius);
57 |
58 | .pagination-lg {
59 | @include pagination-size($pagination-padding-y-lg, $pagination-padding-x-lg, $font-size-lg, $pagination-border-radius-lg);
60 | }
61 |
62 | .pagination-sm {
63 | @include pagination-size($pagination-padding-y-sm, $pagination-padding-x-sm, $font-size-sm, $pagination-border-radius-sm);
64 | }
65 |
--------------------------------------------------------------------------------
/npm/node_modules/bootstrap/scss/_placeholders.scss:
--------------------------------------------------------------------------------
1 | .placeholder {
2 | display: inline-block;
3 | min-height: 1em;
4 | vertical-align: middle;
5 | cursor: wait;
6 | background-color: currentColor;
7 | opacity: $placeholder-opacity-max;
8 |
9 | &.btn::before {
10 | display: inline-block;
11 | content: "";
12 | }
13 | }
14 |
15 | // Sizing
16 | .placeholder-xs {
17 | min-height: .6em;
18 | }
19 |
20 | .placeholder-sm {
21 | min-height: .8em;
22 | }
23 |
24 | .placeholder-lg {
25 | min-height: 1.2em;
26 | }
27 |
28 | // Animation
29 | .placeholder-glow {
30 | .placeholder {
31 | animation: placeholder-glow 2s ease-in-out infinite;
32 | }
33 | }
34 |
35 | @keyframes placeholder-glow {
36 | 50% {
37 | opacity: $placeholder-opacity-min;
38 | }
39 | }
40 |
41 | .placeholder-wave {
42 | mask-image: linear-gradient(130deg, $black 55%, rgba(0, 0, 0, (1 - $placeholder-opacity-min)) 75%, $black 95%);
43 | mask-size: 200% 100%;
44 | animation: placeholder-wave 2s linear infinite;
45 | }
46 |
47 | @keyframes placeholder-wave {
48 | 100% {
49 | mask-position: -200% 0%;
50 | }
51 | }
52 |
--------------------------------------------------------------------------------
/npm/node_modules/bootstrap/scss/_progress.scss:
--------------------------------------------------------------------------------
1 | // Disable animation if transitions are disabled
2 |
3 | // scss-docs-start progress-keyframes
4 | @if $enable-transitions {
5 | @keyframes progress-bar-stripes {
6 | 0% { background-position-x: $progress-height; }
7 | }
8 | }
9 | // scss-docs-end progress-keyframes
10 |
11 | .progress {
12 | display: flex;
13 | height: $progress-height;
14 | overflow: hidden; // force rounded corners by cropping it
15 | @include font-size($progress-font-size);
16 | background-color: $progress-bg;
17 | @include border-radius($progress-border-radius);
18 | @include box-shadow($progress-box-shadow);
19 | }
20 |
21 | .progress-bar {
22 | display: flex;
23 | flex-direction: column;
24 | justify-content: center;
25 | overflow: hidden;
26 | color: $progress-bar-color;
27 | text-align: center;
28 | white-space: nowrap;
29 | background-color: $progress-bar-bg;
30 | @include transition($progress-bar-transition);
31 | }
32 |
33 | .progress-bar-striped {
34 | @include gradient-striped();
35 | background-size: $progress-height $progress-height;
36 | }
37 |
38 | @if $enable-transitions {
39 | .progress-bar-animated {
40 | animation: $progress-bar-animation-timing progress-bar-stripes;
41 |
42 | @if $enable-reduced-motion {
43 | @media (prefers-reduced-motion: reduce) {
44 | animation: none;
45 | }
46 | }
47 | }
48 | }
49 |
--------------------------------------------------------------------------------
/npm/node_modules/bootstrap/scss/_root.scss:
--------------------------------------------------------------------------------
1 | :root {
2 | // Note: Custom variable values only support SassScript inside `#{}`.
3 |
4 | // Colors
5 | //
6 | // Generate palettes for full colors, grays, and theme colors.
7 |
8 | @each $color, $value in $colors {
9 | --#{$variable-prefix}#{$color}: #{$value};
10 | }
11 |
12 | @each $color, $value in $grays {
13 | --#{$variable-prefix}gray-#{$color}: #{$value};
14 | }
15 |
16 | @each $color, $value in $theme-colors {
17 | --#{$variable-prefix}#{$color}: #{$value};
18 | }
19 |
20 | @each $color, $value in $theme-colors-rgb {
21 | --#{$variable-prefix}#{$color}-rgb: #{$value};
22 | }
23 |
24 | --#{$variable-prefix}white-rgb: #{to-rgb($white)};
25 | --#{$variable-prefix}black-rgb: #{to-rgb($black)};
26 | --#{$variable-prefix}body-color-rgb: #{to-rgb($body-color)};
27 | --#{$variable-prefix}body-bg-rgb: #{to-rgb($body-bg)};
28 |
29 | // Fonts
30 |
31 | // Note: Use `inspect` for lists so that quoted items keep the quotes.
32 | // See https://github.com/sass/sass/issues/2383#issuecomment-336349172
33 | --#{$variable-prefix}font-sans-serif: #{inspect($font-family-sans-serif)};
34 | --#{$variable-prefix}font-monospace: #{inspect($font-family-monospace)};
35 | --#{$variable-prefix}gradient: #{$gradient};
36 |
37 | // Root and body
38 | // stylelint-disable custom-property-empty-line-before
39 | // scss-docs-start root-body-variables
40 | @if $font-size-root != null {
41 | --#{$variable-prefix}root-font-size: #{$font-size-root};
42 | }
43 | --#{$variable-prefix}body-font-family: #{$font-family-base};
44 | --#{$variable-prefix}body-font-size: #{$font-size-base};
45 | --#{$variable-prefix}body-font-weight: #{$font-weight-base};
46 | --#{$variable-prefix}body-line-height: #{$line-height-base};
47 | --#{$variable-prefix}body-color: #{$body-color};
48 | @if $body-text-align != null {
49 | --#{$variable-prefix}body-text-align: #{$body-text-align};
50 | }
51 | --#{$variable-prefix}body-bg: #{$body-bg};
52 | // scss-docs-end root-body-variables
53 | // stylelint-enable custom-property-empty-line-before
54 | }
55 |
--------------------------------------------------------------------------------
/npm/node_modules/bootstrap/scss/_spinners.scss:
--------------------------------------------------------------------------------
1 | //
2 | // Rotating border
3 | //
4 |
5 | // scss-docs-start spinner-border-keyframes
6 | @keyframes spinner-border {
7 | to { transform: rotate(360deg) #{"/* rtl:ignore */"}; }
8 | }
9 | // scss-docs-end spinner-border-keyframes
10 |
11 | .spinner-border {
12 | display: inline-block;
13 | width: $spinner-width;
14 | height: $spinner-height;
15 | vertical-align: $spinner-vertical-align;
16 | border: $spinner-border-width solid currentColor;
17 | border-right-color: transparent;
18 | // stylelint-disable-next-line property-disallowed-list
19 | border-radius: 50%;
20 | animation: $spinner-animation-speed linear infinite spinner-border;
21 | }
22 |
23 | .spinner-border-sm {
24 | width: $spinner-width-sm;
25 | height: $spinner-height-sm;
26 | border-width: $spinner-border-width-sm;
27 | }
28 |
29 | //
30 | // Growing circle
31 | //
32 |
33 | // scss-docs-start spinner-grow-keyframes
34 | @keyframes spinner-grow {
35 | 0% {
36 | transform: scale(0);
37 | }
38 | 50% {
39 | opacity: 1;
40 | transform: none;
41 | }
42 | }
43 | // scss-docs-end spinner-grow-keyframes
44 |
45 | .spinner-grow {
46 | display: inline-block;
47 | width: $spinner-width;
48 | height: $spinner-height;
49 | vertical-align: $spinner-vertical-align;
50 | background-color: currentColor;
51 | // stylelint-disable-next-line property-disallowed-list
52 | border-radius: 50%;
53 | opacity: 0;
54 | animation: $spinner-animation-speed linear infinite spinner-grow;
55 | }
56 |
57 | .spinner-grow-sm {
58 | width: $spinner-width-sm;
59 | height: $spinner-height-sm;
60 | }
61 |
62 | @if $enable-reduced-motion {
63 | @media (prefers-reduced-motion: reduce) {
64 | .spinner-border,
65 | .spinner-grow {
66 | animation-duration: $spinner-animation-speed * 2;
67 | }
68 | }
69 | }
70 |
--------------------------------------------------------------------------------
/npm/node_modules/bootstrap/scss/_toasts.scss:
--------------------------------------------------------------------------------
1 | .toast {
2 | width: $toast-max-width;
3 | max-width: 100%;
4 | @include font-size($toast-font-size);
5 | color: $toast-color;
6 | pointer-events: auto;
7 | background-color: $toast-background-color;
8 | background-clip: padding-box;
9 | border: $toast-border-width solid $toast-border-color;
10 | box-shadow: $toast-box-shadow;
11 | @include border-radius($toast-border-radius);
12 |
13 | &.showing {
14 | opacity: 0;
15 | }
16 |
17 | &:not(.show) {
18 | display: none;
19 | }
20 | }
21 |
22 | .toast-container {
23 | width: max-content;
24 | max-width: 100%;
25 | pointer-events: none;
26 |
27 | > :not(:last-child) {
28 | margin-bottom: $toast-spacing;
29 | }
30 | }
31 |
32 | .toast-header {
33 | display: flex;
34 | align-items: center;
35 | padding: $toast-padding-y $toast-padding-x;
36 | color: $toast-header-color;
37 | background-color: $toast-header-background-color;
38 | background-clip: padding-box;
39 | border-bottom: $toast-border-width solid $toast-header-border-color;
40 | @include border-top-radius(subtract($toast-border-radius, $toast-border-width));
41 |
42 | .btn-close {
43 | margin-right: $toast-padding-x * -.5;
44 | margin-left: $toast-padding-x;
45 | }
46 | }
47 |
48 | .toast-body {
49 | padding: $toast-padding-x; // apply to both vertical and horizontal
50 | word-wrap: break-word;
51 | }
52 |
--------------------------------------------------------------------------------
/npm/node_modules/bootstrap/scss/_transitions.scss:
--------------------------------------------------------------------------------
1 | .fade {
2 | @include transition($transition-fade);
3 |
4 | &:not(.show) {
5 | opacity: 0;
6 | }
7 | }
8 |
9 | // scss-docs-start collapse-classes
10 | .collapse {
11 | &:not(.show) {
12 | display: none;
13 | }
14 | }
15 |
16 | .collapsing {
17 | height: 0;
18 | overflow: hidden;
19 | @include transition($transition-collapse);
20 |
21 | &.collapse-horizontal {
22 | width: 0;
23 | height: auto;
24 | @include transition($transition-collapse-width);
25 | }
26 | }
27 | // scss-docs-end collapse-classes
28 |
--------------------------------------------------------------------------------
/npm/node_modules/bootstrap/scss/_type.scss:
--------------------------------------------------------------------------------
1 | //
2 | // Headings
3 | //
4 | .h1 {
5 | @extend h1;
6 | }
7 |
8 | .h2 {
9 | @extend h2;
10 | }
11 |
12 | .h3 {
13 | @extend h3;
14 | }
15 |
16 | .h4 {
17 | @extend h4;
18 | }
19 |
20 | .h5 {
21 | @extend h5;
22 | }
23 |
24 | .h6 {
25 | @extend h6;
26 | }
27 |
28 |
29 | .lead {
30 | @include font-size($lead-font-size);
31 | font-weight: $lead-font-weight;
32 | }
33 |
34 | // Type display classes
35 | @each $display, $font-size in $display-font-sizes {
36 | .display-#{$display} {
37 | @include font-size($font-size);
38 | font-weight: $display-font-weight;
39 | line-height: $display-line-height;
40 | }
41 | }
42 |
43 | //
44 | // Emphasis
45 | //
46 | .small {
47 | @extend small;
48 | }
49 |
50 | .mark {
51 | @extend mark;
52 | }
53 |
54 | //
55 | // Lists
56 | //
57 |
58 | .list-unstyled {
59 | @include list-unstyled();
60 | }
61 |
62 | // Inline turns list items into inline-block
63 | .list-inline {
64 | @include list-unstyled();
65 | }
66 | .list-inline-item {
67 | display: inline-block;
68 |
69 | &:not(:last-child) {
70 | margin-right: $list-inline-padding;
71 | }
72 | }
73 |
74 |
75 | //
76 | // Misc
77 | //
78 |
79 | // Builds on `abbr`
80 | .initialism {
81 | @include font-size($initialism-font-size);
82 | text-transform: uppercase;
83 | }
84 |
85 | // Blockquotes
86 | .blockquote {
87 | margin-bottom: $blockquote-margin-y;
88 | @include font-size($blockquote-font-size);
89 |
90 | > :last-child {
91 | margin-bottom: 0;
92 | }
93 | }
94 |
95 | .blockquote-footer {
96 | margin-top: -$blockquote-margin-y;
97 | margin-bottom: $blockquote-margin-y;
98 | @include font-size($blockquote-footer-font-size);
99 | color: $blockquote-footer-color;
100 |
101 | &::before {
102 | content: "\2014\00A0"; // em dash, nbsp
103 | }
104 | }
105 |
--------------------------------------------------------------------------------
/npm/node_modules/bootstrap/scss/bootstrap-grid.scss:
--------------------------------------------------------------------------------
1 | /*!
2 | * Bootstrap Grid v5.1.3 (https://getbootstrap.com/)
3 | * Copyright 2011-2021 The Bootstrap Authors
4 | * Copyright 2011-2021 Twitter, Inc.
5 | * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
6 | */
7 |
8 | $include-column-box-sizing: true !default;
9 |
10 | @import "functions";
11 | @import "variables";
12 |
13 | @import "mixins/lists";
14 | @import "mixins/breakpoints";
15 | @import "mixins/container";
16 | @import "mixins/grid";
17 | @import "mixins/utilities";
18 |
19 | @import "vendor/rfs";
20 |
21 | @import "root";
22 |
23 | @import "containers";
24 | @import "grid";
25 |
26 | @import "utilities";
27 | // Only use the utilities we need
28 | // stylelint-disable-next-line scss/dollar-variable-default
29 | $utilities: map-get-multiple(
30 | $utilities,
31 | (
32 | "display",
33 | "order",
34 | "flex",
35 | "flex-direction",
36 | "flex-grow",
37 | "flex-shrink",
38 | "flex-wrap",
39 | "justify-content",
40 | "align-items",
41 | "align-content",
42 | "align-self",
43 | "margin",
44 | "margin-x",
45 | "margin-y",
46 | "margin-top",
47 | "margin-end",
48 | "margin-bottom",
49 | "margin-start",
50 | "negative-margin",
51 | "negative-margin-x",
52 | "negative-margin-y",
53 | "negative-margin-top",
54 | "negative-margin-end",
55 | "negative-margin-bottom",
56 | "negative-margin-start",
57 | "padding",
58 | "padding-x",
59 | "padding-y",
60 | "padding-top",
61 | "padding-end",
62 | "padding-bottom",
63 | "padding-start",
64 | )
65 | );
66 |
67 | @import "utilities/api";
68 |
--------------------------------------------------------------------------------
/npm/node_modules/bootstrap/scss/bootstrap-reboot.scss:
--------------------------------------------------------------------------------
1 | /*!
2 | * Bootstrap Reboot v5.1.3 (https://getbootstrap.com/)
3 | * Copyright 2011-2021 The Bootstrap Authors
4 | * Copyright 2011-2021 Twitter, Inc.
5 | * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
6 | * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)
7 | */
8 |
9 | @import "functions";
10 | @import "variables";
11 | @import "mixins";
12 | @import "root";
13 | @import "reboot";
14 |
--------------------------------------------------------------------------------
/npm/node_modules/bootstrap/scss/bootstrap-utilities.scss:
--------------------------------------------------------------------------------
1 | /*!
2 | * Bootstrap Utilities v5.1.3 (https://getbootstrap.com/)
3 | * Copyright 2011-2021 The Bootstrap Authors
4 | * Copyright 2011-2021 Twitter, Inc.
5 | * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
6 | */
7 |
8 | // Configuration
9 | @import "functions";
10 | @import "variables";
11 | @import "mixins";
12 | @import "utilities";
13 |
14 | // Helpers
15 | @import "helpers";
16 |
17 | // Utilities
18 | @import "utilities/api";
19 |
--------------------------------------------------------------------------------
/npm/node_modules/bootstrap/scss/bootstrap.scss:
--------------------------------------------------------------------------------
1 | /*!
2 | * Bootstrap v5.1.3 (https://getbootstrap.com/)
3 | * Copyright 2011-2021 The Bootstrap Authors
4 | * Copyright 2011-2021 Twitter, Inc.
5 | * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
6 | */
7 |
8 | // scss-docs-start import-stack
9 | // Configuration
10 | @import "functions";
11 | @import "variables";
12 | @import "mixins";
13 | @import "utilities";
14 |
15 | // Layout & components
16 | @import "root";
17 | @import "reboot";
18 | @import "type";
19 | @import "images";
20 | @import "containers";
21 | @import "grid";
22 | @import "tables";
23 | @import "forms";
24 | @import "buttons";
25 | @import "transitions";
26 | @import "dropdown";
27 | @import "button-group";
28 | @import "nav";
29 | @import "navbar";
30 | @import "card";
31 | @import "accordion";
32 | @import "breadcrumb";
33 | @import "pagination";
34 | @import "badge";
35 | @import "alert";
36 | @import "progress";
37 | @import "list-group";
38 | @import "close";
39 | @import "toasts";
40 | @import "modal";
41 | @import "tooltip";
42 | @import "popover";
43 | @import "carousel";
44 | @import "spinners";
45 | @import "offcanvas";
46 | @import "placeholders";
47 |
48 | // Helpers
49 | @import "helpers";
50 |
51 | // Utilities
52 | @import "utilities/api";
53 | // scss-docs-end import-stack
54 |
--------------------------------------------------------------------------------
/npm/node_modules/bootstrap/scss/forms/_floating-labels.scss:
--------------------------------------------------------------------------------
1 | .form-floating {
2 | position: relative;
3 |
4 | > .form-control,
5 | > .form-select {
6 | height: $form-floating-height;
7 | line-height: $form-floating-line-height;
8 | }
9 |
10 | > label {
11 | position: absolute;
12 | top: 0;
13 | left: 0;
14 | height: 100%; // allow textareas
15 | padding: $form-floating-padding-y $form-floating-padding-x;
16 | pointer-events: none;
17 | border: $input-border-width solid transparent; // Required for aligning label's text with the input as it affects inner box model
18 | transform-origin: 0 0;
19 | @include transition($form-floating-transition);
20 | }
21 |
22 | // stylelint-disable no-duplicate-selectors
23 | > .form-control {
24 | padding: $form-floating-padding-y $form-floating-padding-x;
25 |
26 | &::placeholder {
27 | color: transparent;
28 | }
29 |
30 | &:focus,
31 | &:not(:placeholder-shown) {
32 | padding-top: $form-floating-input-padding-t;
33 | padding-bottom: $form-floating-input-padding-b;
34 | }
35 | // Duplicated because `:-webkit-autofill` invalidates other selectors when grouped
36 | &:-webkit-autofill {
37 | padding-top: $form-floating-input-padding-t;
38 | padding-bottom: $form-floating-input-padding-b;
39 | }
40 | }
41 |
42 | > .form-select {
43 | padding-top: $form-floating-input-padding-t;
44 | padding-bottom: $form-floating-input-padding-b;
45 | }
46 |
47 | > .form-control:focus,
48 | > .form-control:not(:placeholder-shown),
49 | > .form-select {
50 | ~ label {
51 | opacity: $form-floating-label-opacity;
52 | transform: $form-floating-label-transform;
53 | }
54 | }
55 | // Duplicated because `:-webkit-autofill` invalidates other selectors when grouped
56 | > .form-control:-webkit-autofill {
57 | ~ label {
58 | opacity: $form-floating-label-opacity;
59 | transform: $form-floating-label-transform;
60 | }
61 | }
62 | // stylelint-enable no-duplicate-selectors
63 | }
64 |
--------------------------------------------------------------------------------
/npm/node_modules/bootstrap/scss/forms/_form-text.scss:
--------------------------------------------------------------------------------
1 | //
2 | // Form text
3 | //
4 |
5 | .form-text {
6 | margin-top: $form-text-margin-top;
7 | @include font-size($form-text-font-size);
8 | font-style: $form-text-font-style;
9 | font-weight: $form-text-font-weight;
10 | color: $form-text-color;
11 | }
12 |
--------------------------------------------------------------------------------
/npm/node_modules/bootstrap/scss/forms/_labels.scss:
--------------------------------------------------------------------------------
1 | //
2 | // Labels
3 | //
4 |
5 | .form-label {
6 | margin-bottom: $form-label-margin-bottom;
7 | @include font-size($form-label-font-size);
8 | font-style: $form-label-font-style;
9 | font-weight: $form-label-font-weight;
10 | color: $form-label-color;
11 | }
12 |
13 | // For use with horizontal and inline forms, when you need the label (or legend)
14 | // text to align with the form controls.
15 | .col-form-label {
16 | padding-top: add($input-padding-y, $input-border-width);
17 | padding-bottom: add($input-padding-y, $input-border-width);
18 | margin-bottom: 0; // Override the `