├── 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 | 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 `` default 19 | @include font-size(inherit); // Override the `` default 20 | font-style: $form-label-font-style; 21 | font-weight: $form-label-font-weight; 22 | line-height: $input-line-height; 23 | color: $form-label-color; 24 | } 25 | 26 | .col-form-label-lg { 27 | padding-top: add($input-padding-y-lg, $input-border-width); 28 | padding-bottom: add($input-padding-y-lg, $input-border-width); 29 | @include font-size($input-font-size-lg); 30 | } 31 | 32 | .col-form-label-sm { 33 | padding-top: add($input-padding-y-sm, $input-border-width); 34 | padding-bottom: add($input-padding-y-sm, $input-border-width); 35 | @include font-size($input-font-size-sm); 36 | } 37 | -------------------------------------------------------------------------------- /npm/node_modules/bootstrap/scss/forms/_validation.scss: -------------------------------------------------------------------------------- 1 | // Form validation 2 | // 3 | // Provide feedback to users when form field values are valid or invalid. Works 4 | // primarily for client-side validation via scoped `:invalid` and `:valid` 5 | // pseudo-classes but also includes `.is-invalid` and `.is-valid` classes for 6 | // server-side validation. 7 | 8 | // scss-docs-start form-validation-states-loop 9 | @each $state, $data in $form-validation-states { 10 | @include form-validation-state($state, $data...); 11 | } 12 | // scss-docs-end form-validation-states-loop 13 | -------------------------------------------------------------------------------- /npm/node_modules/bootstrap/scss/helpers/_clearfix.scss: -------------------------------------------------------------------------------- 1 | .clearfix { 2 | @include clearfix(); 3 | } 4 | -------------------------------------------------------------------------------- /npm/node_modules/bootstrap/scss/helpers/_colored-links.scss: -------------------------------------------------------------------------------- 1 | @each $color, $value in $theme-colors { 2 | .link-#{$color} { 3 | color: $value; 4 | 5 | @if $link-shade-percentage != 0 { 6 | &:hover, 7 | &:focus { 8 | color: if(color-contrast($value) == $color-contrast-light, shade-color($value, $link-shade-percentage), tint-color($value, $link-shade-percentage)); 9 | } 10 | } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /npm/node_modules/bootstrap/scss/helpers/_position.scss: -------------------------------------------------------------------------------- 1 | // Shorthand 2 | 3 | .fixed-top { 4 | position: fixed; 5 | top: 0; 6 | right: 0; 7 | left: 0; 8 | z-index: $zindex-fixed; 9 | } 10 | 11 | .fixed-bottom { 12 | position: fixed; 13 | right: 0; 14 | bottom: 0; 15 | left: 0; 16 | z-index: $zindex-fixed; 17 | } 18 | 19 | // Responsive sticky top 20 | @each $breakpoint in map-keys($grid-breakpoints) { 21 | @include media-breakpoint-up($breakpoint) { 22 | $infix: breakpoint-infix($breakpoint, $grid-breakpoints); 23 | 24 | .sticky#{$infix}-top { 25 | position: sticky; 26 | top: 0; 27 | z-index: $zindex-sticky; 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /npm/node_modules/bootstrap/scss/helpers/_ratio.scss: -------------------------------------------------------------------------------- 1 | // Credit: Nicolas Gallagher and SUIT CSS. 2 | 3 | .ratio { 4 | position: relative; 5 | width: 100%; 6 | 7 | &::before { 8 | display: block; 9 | padding-top: var(--#{$variable-prefix}aspect-ratio); 10 | content: ""; 11 | } 12 | 13 | > * { 14 | position: absolute; 15 | top: 0; 16 | left: 0; 17 | width: 100%; 18 | height: 100%; 19 | } 20 | } 21 | 22 | @each $key, $ratio in $aspect-ratios { 23 | .ratio-#{$key} { 24 | --#{$variable-prefix}aspect-ratio: #{$ratio}; 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /npm/node_modules/bootstrap/scss/helpers/_stacks.scss: -------------------------------------------------------------------------------- 1 | // scss-docs-start stacks 2 | .hstack { 3 | display: flex; 4 | flex-direction: row; 5 | align-items: center; 6 | align-self: stretch; 7 | } 8 | 9 | .vstack { 10 | display: flex; 11 | flex: 1 1 auto; 12 | flex-direction: column; 13 | align-self: stretch; 14 | } 15 | // scss-docs-end stacks 16 | -------------------------------------------------------------------------------- /npm/node_modules/bootstrap/scss/helpers/_stretched-link.scss: -------------------------------------------------------------------------------- 1 | // 2 | // Stretched link 3 | // 4 | 5 | .stretched-link { 6 | &::#{$stretched-link-pseudo-element} { 7 | position: absolute; 8 | top: 0; 9 | right: 0; 10 | bottom: 0; 11 | left: 0; 12 | z-index: $stretched-link-z-index; 13 | content: ""; 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /npm/node_modules/bootstrap/scss/helpers/_text-truncation.scss: -------------------------------------------------------------------------------- 1 | // 2 | // Text truncation 3 | // 4 | 5 | .text-truncate { 6 | @include text-truncate(); 7 | } 8 | -------------------------------------------------------------------------------- /npm/node_modules/bootstrap/scss/helpers/_visually-hidden.scss: -------------------------------------------------------------------------------- 1 | // 2 | // Visually hidden 3 | // 4 | 5 | .visually-hidden, 6 | .visually-hidden-focusable:not(:focus):not(:focus-within) { 7 | @include visually-hidden(); 8 | } 9 | -------------------------------------------------------------------------------- /npm/node_modules/bootstrap/scss/helpers/_vr.scss: -------------------------------------------------------------------------------- 1 | .vr { 2 | display: inline-block; 3 | align-self: stretch; 4 | width: 1px; 5 | min-height: 1em; 6 | background-color: currentColor; 7 | opacity: $hr-opacity; 8 | } 9 | -------------------------------------------------------------------------------- /npm/node_modules/bootstrap/scss/mixins/_alert.scss: -------------------------------------------------------------------------------- 1 | // scss-docs-start alert-variant-mixin 2 | @mixin alert-variant($background, $border, $color) { 3 | color: $color; 4 | @include gradient-bg($background); 5 | border-color: $border; 6 | 7 | .alert-link { 8 | color: shade-color($color, 20%); 9 | } 10 | } 11 | // scss-docs-end alert-variant-mixin 12 | -------------------------------------------------------------------------------- /npm/node_modules/bootstrap/scss/mixins/_backdrop.scss: -------------------------------------------------------------------------------- 1 | // Shared between modals and offcanvases 2 | @mixin overlay-backdrop($zindex, $backdrop-bg, $backdrop-opacity) { 3 | position: fixed; 4 | top: 0; 5 | left: 0; 6 | z-index: $zindex; 7 | width: 100vw; 8 | height: 100vh; 9 | background-color: $backdrop-bg; 10 | 11 | // Fade for backdrop 12 | &.fade { opacity: 0; } 13 | &.show { opacity: $backdrop-opacity; } 14 | } 15 | -------------------------------------------------------------------------------- /npm/node_modules/bootstrap/scss/mixins/_box-shadow.scss: -------------------------------------------------------------------------------- 1 | @mixin box-shadow($shadow...) { 2 | @if $enable-shadows { 3 | $result: (); 4 | 5 | @each $value in $shadow { 6 | @if $value != null { 7 | $result: append($result, $value, "comma"); 8 | } 9 | @if $value == none and length($shadow) > 1 { 10 | @warn "The keyword 'none' must be used as a single argument."; 11 | } 12 | } 13 | 14 | @if (length($result) > 0) { 15 | box-shadow: $result; 16 | } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /npm/node_modules/bootstrap/scss/mixins/_caret.scss: -------------------------------------------------------------------------------- 1 | // scss-docs-start caret-mixins 2 | @mixin caret-down { 3 | border-top: $caret-width solid; 4 | border-right: $caret-width solid transparent; 5 | border-bottom: 0; 6 | border-left: $caret-width solid transparent; 7 | } 8 | 9 | @mixin caret-up { 10 | border-top: 0; 11 | border-right: $caret-width solid transparent; 12 | border-bottom: $caret-width solid; 13 | border-left: $caret-width solid transparent; 14 | } 15 | 16 | @mixin caret-end { 17 | border-top: $caret-width solid transparent; 18 | border-right: 0; 19 | border-bottom: $caret-width solid transparent; 20 | border-left: $caret-width solid; 21 | } 22 | 23 | @mixin caret-start { 24 | border-top: $caret-width solid transparent; 25 | border-right: $caret-width solid; 26 | border-bottom: $caret-width solid transparent; 27 | } 28 | 29 | @mixin caret($direction: down) { 30 | @if $enable-caret { 31 | &::after { 32 | display: inline-block; 33 | margin-left: $caret-spacing; 34 | vertical-align: $caret-vertical-align; 35 | content: ""; 36 | @if $direction == down { 37 | @include caret-down(); 38 | } @else if $direction == up { 39 | @include caret-up(); 40 | } @else if $direction == end { 41 | @include caret-end(); 42 | } 43 | } 44 | 45 | @if $direction == start { 46 | &::after { 47 | display: none; 48 | } 49 | 50 | &::before { 51 | display: inline-block; 52 | margin-right: $caret-spacing; 53 | vertical-align: $caret-vertical-align; 54 | content: ""; 55 | @include caret-start(); 56 | } 57 | } 58 | 59 | &:empty::after { 60 | margin-left: 0; 61 | } 62 | } 63 | } 64 | // scss-docs-end caret-mixins 65 | -------------------------------------------------------------------------------- /npm/node_modules/bootstrap/scss/mixins/_clearfix.scss: -------------------------------------------------------------------------------- 1 | // scss-docs-start clearfix 2 | @mixin clearfix() { 3 | &::after { 4 | display: block; 5 | clear: both; 6 | content: ""; 7 | } 8 | } 9 | // scss-docs-end clearfix 10 | -------------------------------------------------------------------------------- /npm/node_modules/bootstrap/scss/mixins/_color-scheme.scss: -------------------------------------------------------------------------------- 1 | // scss-docs-start mixin-color-scheme 2 | @mixin color-scheme($name) { 3 | @media (prefers-color-scheme: #{$name}) { 4 | @content; 5 | } 6 | } 7 | // scss-docs-end mixin-color-scheme 8 | -------------------------------------------------------------------------------- /npm/node_modules/bootstrap/scss/mixins/_container.scss: -------------------------------------------------------------------------------- 1 | // Container mixins 2 | 3 | @mixin make-container($gutter: $container-padding-x) { 4 | width: 100%; 5 | padding-right: var(--#{$variable-prefix}gutter-x, #{$gutter}); 6 | padding-left: var(--#{$variable-prefix}gutter-x, #{$gutter}); 7 | margin-right: auto; 8 | margin-left: auto; 9 | } 10 | -------------------------------------------------------------------------------- /npm/node_modules/bootstrap/scss/mixins/_deprecate.scss: -------------------------------------------------------------------------------- 1 | // Deprecate mixin 2 | // 3 | // This mixin can be used to deprecate mixins or functions. 4 | // `$enable-deprecation-messages` is a global variable, `$ignore-warning` is a variable that can be passed to 5 | // some deprecated mixins to suppress the warning (for example if the mixin is still be used in the current version of Bootstrap) 6 | @mixin deprecate($name, $deprecate-version, $remove-version, $ignore-warning: false) { 7 | @if ($enable-deprecation-messages != false and $ignore-warning != true) { 8 | @warn "#{$name} has been deprecated as of #{$deprecate-version}. It will be removed entirely in #{$remove-version}."; 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /npm/node_modules/bootstrap/scss/mixins/_gradients.scss: -------------------------------------------------------------------------------- 1 | // Gradients 2 | 3 | // scss-docs-start gradient-bg-mixin 4 | @mixin gradient-bg($color: null) { 5 | background-color: $color; 6 | 7 | @if $enable-gradients { 8 | background-image: var(--#{$variable-prefix}gradient); 9 | } 10 | } 11 | // scss-docs-end gradient-bg-mixin 12 | 13 | // scss-docs-start gradient-mixins 14 | // Horizontal gradient, from left to right 15 | // 16 | // Creates two color stops, start and end, by specifying a color and position for each color stop. 17 | @mixin gradient-x($start-color: $gray-700, $end-color: $gray-800, $start-percent: 0%, $end-percent: 100%) { 18 | background-image: linear-gradient(to right, $start-color $start-percent, $end-color $end-percent); 19 | } 20 | 21 | // Vertical gradient, from top to bottom 22 | // 23 | // Creates two color stops, start and end, by specifying a color and position for each color stop. 24 | @mixin gradient-y($start-color: $gray-700, $end-color: $gray-800, $start-percent: null, $end-percent: null) { 25 | background-image: linear-gradient(to bottom, $start-color $start-percent, $end-color $end-percent); 26 | } 27 | 28 | @mixin gradient-directional($start-color: $gray-700, $end-color: $gray-800, $deg: 45deg) { 29 | background-image: linear-gradient($deg, $start-color, $end-color); 30 | } 31 | 32 | @mixin gradient-x-three-colors($start-color: $blue, $mid-color: $purple, $color-stop: 50%, $end-color: $red) { 33 | background-image: linear-gradient(to right, $start-color, $mid-color $color-stop, $end-color); 34 | } 35 | 36 | @mixin gradient-y-three-colors($start-color: $blue, $mid-color: $purple, $color-stop: 50%, $end-color: $red) { 37 | background-image: linear-gradient($start-color, $mid-color $color-stop, $end-color); 38 | } 39 | 40 | @mixin gradient-radial($inner-color: $gray-700, $outer-color: $gray-800) { 41 | background-image: radial-gradient(circle, $inner-color, $outer-color); 42 | } 43 | 44 | @mixin gradient-striped($color: rgba($white, .15), $angle: 45deg) { 45 | background-image: linear-gradient($angle, $color 25%, transparent 25%, transparent 50%, $color 50%, $color 75%, transparent 75%, transparent); 46 | } 47 | // scss-docs-end gradient-mixins 48 | -------------------------------------------------------------------------------- /npm/node_modules/bootstrap/scss/mixins/_image.scss: -------------------------------------------------------------------------------- 1 | // Image Mixins 2 | // - Responsive image 3 | // - Retina image 4 | 5 | 6 | // Responsive image 7 | // 8 | // Keep images from scaling beyond the width of their parents. 9 | 10 | @mixin img-fluid { 11 | // Part 1: Set a maximum relative to the parent 12 | max-width: 100%; 13 | // Part 2: Override the height to auto, otherwise images will be stretched 14 | // when setting a width and height attribute on the img element. 15 | height: auto; 16 | } 17 | -------------------------------------------------------------------------------- /npm/node_modules/bootstrap/scss/mixins/_list-group.scss: -------------------------------------------------------------------------------- 1 | // List Groups 2 | 3 | // scss-docs-start list-group-mixin 4 | @mixin list-group-item-variant($state, $background, $color) { 5 | .list-group-item-#{$state} { 6 | color: $color; 7 | background-color: $background; 8 | 9 | &.list-group-item-action { 10 | &:hover, 11 | &:focus { 12 | color: $color; 13 | background-color: shade-color($background, 10%); 14 | } 15 | 16 | &.active { 17 | color: $white; 18 | background-color: $color; 19 | border-color: $color; 20 | } 21 | } 22 | } 23 | } 24 | // scss-docs-end list-group-mixin 25 | -------------------------------------------------------------------------------- /npm/node_modules/bootstrap/scss/mixins/_lists.scss: -------------------------------------------------------------------------------- 1 | // Lists 2 | 3 | // Unstyled keeps list items block level, just removes default browser padding and list-style 4 | @mixin list-unstyled { 5 | padding-left: 0; 6 | list-style: none; 7 | } 8 | -------------------------------------------------------------------------------- /npm/node_modules/bootstrap/scss/mixins/_pagination.scss: -------------------------------------------------------------------------------- 1 | // Pagination 2 | 3 | // scss-docs-start pagination-mixin 4 | @mixin pagination-size($padding-y, $padding-x, $font-size, $border-radius) { 5 | .page-link { 6 | padding: $padding-y $padding-x; 7 | @include font-size($font-size); 8 | } 9 | 10 | .page-item { 11 | @if $pagination-margin-start == (-$pagination-border-width) { 12 | &:first-child { 13 | .page-link { 14 | @include border-start-radius($border-radius); 15 | } 16 | } 17 | 18 | &:last-child { 19 | .page-link { 20 | @include border-end-radius($border-radius); 21 | } 22 | } 23 | } @else { 24 | //Add border-radius to all pageLinks in case they have left margin 25 | .page-link { 26 | @include border-radius($border-radius); 27 | } 28 | } 29 | } 30 | } 31 | // scss-docs-end pagination-mixin 32 | -------------------------------------------------------------------------------- /npm/node_modules/bootstrap/scss/mixins/_reset-text.scss: -------------------------------------------------------------------------------- 1 | @mixin reset-text { 2 | font-family: $font-family-base; 3 | // We deliberately do NOT reset font-size or overflow-wrap / word-wrap. 4 | font-style: normal; 5 | font-weight: $font-weight-normal; 6 | line-height: $line-height-base; 7 | text-align: left; // Fallback for where `start` is not supported 8 | text-align: start; 9 | text-decoration: none; 10 | text-shadow: none; 11 | text-transform: none; 12 | letter-spacing: normal; 13 | word-break: normal; 14 | word-spacing: normal; 15 | white-space: normal; 16 | line-break: auto; 17 | } 18 | -------------------------------------------------------------------------------- /npm/node_modules/bootstrap/scss/mixins/_resize.scss: -------------------------------------------------------------------------------- 1 | // Resize anything 2 | 3 | @mixin resizable($direction) { 4 | overflow: auto; // Per CSS3 UI, `resize` only applies when `overflow` isn't `visible` 5 | resize: $direction; // Options: horizontal, vertical, both 6 | } 7 | -------------------------------------------------------------------------------- /npm/node_modules/bootstrap/scss/mixins/_table-variants.scss: -------------------------------------------------------------------------------- 1 | // scss-docs-start table-variant 2 | @mixin table-variant($state, $background) { 3 | .table-#{$state} { 4 | $color: color-contrast(opaque($body-bg, $background)); 5 | $hover-bg: mix($color, $background, percentage($table-hover-bg-factor)); 6 | $striped-bg: mix($color, $background, percentage($table-striped-bg-factor)); 7 | $active-bg: mix($color, $background, percentage($table-active-bg-factor)); 8 | 9 | --#{$variable-prefix}table-bg: #{$background}; 10 | --#{$variable-prefix}table-striped-bg: #{$striped-bg}; 11 | --#{$variable-prefix}table-striped-color: #{color-contrast($striped-bg)}; 12 | --#{$variable-prefix}table-active-bg: #{$active-bg}; 13 | --#{$variable-prefix}table-active-color: #{color-contrast($active-bg)}; 14 | --#{$variable-prefix}table-hover-bg: #{$hover-bg}; 15 | --#{$variable-prefix}table-hover-color: #{color-contrast($hover-bg)}; 16 | 17 | color: $color; 18 | border-color: mix($color, $background, percentage($table-border-factor)); 19 | } 20 | } 21 | // scss-docs-end table-variant 22 | -------------------------------------------------------------------------------- /npm/node_modules/bootstrap/scss/mixins/_text-truncate.scss: -------------------------------------------------------------------------------- 1 | // Text truncate 2 | // Requires inline-block or block for proper styling 3 | 4 | @mixin text-truncate() { 5 | overflow: hidden; 6 | text-overflow: ellipsis; 7 | white-space: nowrap; 8 | } 9 | -------------------------------------------------------------------------------- /npm/node_modules/bootstrap/scss/mixins/_transition.scss: -------------------------------------------------------------------------------- 1 | // stylelint-disable property-disallowed-list 2 | @mixin transition($transition...) { 3 | @if length($transition) == 0 { 4 | $transition: $transition-base; 5 | } 6 | 7 | @if length($transition) > 1 { 8 | @each $value in $transition { 9 | @if $value == null or $value == none { 10 | @warn "The keyword 'none' or 'null' must be used as a single argument."; 11 | } 12 | } 13 | } 14 | 15 | @if $enable-transitions { 16 | @if nth($transition, 1) != null { 17 | transition: $transition; 18 | } 19 | 20 | @if $enable-reduced-motion and nth($transition, 1) != null and nth($transition, 1) != none { 21 | @media (prefers-reduced-motion: reduce) { 22 | transition: none; 23 | } 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /npm/node_modules/bootstrap/scss/mixins/_visually-hidden.scss: -------------------------------------------------------------------------------- 1 | // stylelint-disable declaration-no-important 2 | 3 | // Hide content visually while keeping it accessible to assistive technologies 4 | // 5 | // See: https://www.a11yproject.com/posts/2013-01-11-how-to-hide-content/ 6 | // See: https://kittygiraudel.com/2016/10/13/css-hide-and-seek/ 7 | 8 | @mixin visually-hidden() { 9 | position: absolute !important; 10 | width: 1px !important; 11 | height: 1px !important; 12 | padding: 0 !important; 13 | margin: -1px !important; // Fix for https://github.com/twbs/bootstrap/issues/25686 14 | overflow: hidden !important; 15 | clip: rect(0, 0, 0, 0) !important; 16 | white-space: nowrap !important; 17 | border: 0 !important; 18 | } 19 | 20 | // Use to only display content when it's focused, or one of its child elements is focused 21 | // (i.e. when focus is within the element/container that the class was applied to) 22 | // 23 | // Useful for "Skip to main content" links; see https://www.w3.org/TR/2013/NOTE-WCAG20-TECHS-20130905/G1 24 | 25 | @mixin visually-hidden-focusable() { 26 | &:not(:focus):not(:focus-within) { 27 | @include visually-hidden(); 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /npm/node_modules/bootstrap/scss/utilities/_api.scss: -------------------------------------------------------------------------------- 1 | // Loop over each breakpoint 2 | @each $breakpoint in map-keys($grid-breakpoints) { 3 | 4 | // Generate media query if needed 5 | @include media-breakpoint-up($breakpoint) { 6 | $infix: breakpoint-infix($breakpoint, $grid-breakpoints); 7 | 8 | // Loop over each utility property 9 | @each $key, $utility in $utilities { 10 | // The utility can be disabled with `false`, thus check if the utility is a map first 11 | // Only proceed if responsive media queries are enabled or if it's the base media query 12 | @if type-of($utility) == "map" and (map-get($utility, responsive) or $infix == "") { 13 | @include generate-utility($utility, $infix); 14 | } 15 | } 16 | } 17 | } 18 | 19 | // RFS rescaling 20 | @media (min-width: $rfs-mq-value) { 21 | @each $breakpoint in map-keys($grid-breakpoints) { 22 | $infix: breakpoint-infix($breakpoint, $grid-breakpoints); 23 | 24 | @if (map-get($grid-breakpoints, $breakpoint) < $rfs-breakpoint) { 25 | // Loop over each utility property 26 | @each $key, $utility in $utilities { 27 | // The utility can be disabled with `false`, thus check if the utility is a map first 28 | // Only proceed if responsive media queries are enabled or if it's the base media query 29 | @if type-of($utility) == "map" and map-get($utility, rfs) and (map-get($utility, responsive) or $infix == "") { 30 | @include generate-utility($utility, $infix, true); 31 | } 32 | } 33 | } 34 | } 35 | } 36 | 37 | 38 | // Print utilities 39 | @media print { 40 | @each $key, $utility in $utilities { 41 | // The utility can be disabled with `false`, thus check if the utility is a map first 42 | // Then check if the utility needs print styles 43 | @if type-of($utility) == "map" and map-get($utility, print) == true { 44 | @include generate-utility($utility, "-print"); 45 | } 46 | } 47 | } 48 | -------------------------------------------------------------------------------- /npm/package-lock.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "bootstrap-npm", 3 | "version": "1.0.0", 4 | "lockfileVersion": 1, 5 | "requires": true, 6 | "dependencies": { 7 | "@popperjs/core": { 8 | "version": "2.10.2", 9 | "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.10.2.tgz", 10 | "integrity": "sha512-IXf3XA7+XyN7CP9gGh/XB0UxVMlvARGEgGXLubFICsUMGz6Q+DU+i4gGlpOxTjKvXjkJDJC8YdqdKkDj9qZHEQ==" 11 | }, 12 | "bootstrap": { 13 | "version": "5.1.3", 14 | "resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-5.1.3.tgz", 15 | "integrity": "sha512-fcQztozJ8jToQWXxVuEyXWW+dSo8AiXWKwiSSrKWsRB/Qt+Ewwza+JWoLKiTuQLaEPhdNAJ7+Dosc9DOIqNy7Q==" 16 | } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /npm/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "bootstrap-npm", 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 | "dependencies": { 12 | "@popperjs/core": "^2.10.2", 13 | "bootstrap": "^5.1.3" 14 | } 15 | } 16 | --------------------------------------------------------------------------------