diff --git a/.browserslistrc b/.browserslistrc index 650742cd1..4cf658861 100644 --- a/.browserslistrc +++ b/.browserslistrc @@ -1,10 +1,9 @@ -[production staging] ->5% -last 2 versions +>= 0.5% +last 2 major versions +not dead +Chrome >= 60 +Firefox >= 60 Firefox ESR -not ie < 11 - -[development] -last 1 chrome version -last 1 firefox version -last 1 edge version +iOS >= 12 +Safari >= 12 +not Explorer <= 11 \ No newline at end of file diff --git a/.eslintrc b/.eslintrc index fe53a6179..7cc6954b5 100644 --- a/.eslintrc +++ b/.eslintrc @@ -3,254 +3,10 @@ "parser": "babel-eslint", "env": { "browser": true, - "es6": true, - "jquery": true, - "jasmine": true, - "amd": true + "amd": true, + "node": true, + "es6": true }, - "ignorePatterns": ["src/js/bs/", "src/files/", "getBSsrc.js", "dist/", "site/", "src/css/", "src/js/bs-styles.js"], - "extends": ["airbnb-base", "plugin:prettier/recommended"], - "parserOptions": { - "ecmaVersion": 8, - "sourceType": "module" - }, - "rules": { - "no-await-in-loop": "error", - "no-compare-neg-zero": "error", - "no-extra-parens": "error", - "no-prototype-builtins": "off", - "no-template-curly-in-string": "error", - "valid-jsdoc": "error", - "accessor-pairs": "error", - "array-callback-return": "error", - "block-scoped-var": "error", - "class-methods-use-this": "off", - "complexity": "off", - "consistent-return": "error", - "curly": "error", - "default-case": "error", - "dot-location": ["error", "property"], - "dot-notation": "error", - "eqeqeq": "error", - "guard-for-in": "error", - "no-alert": "error", - "no-caller": "error", - "no-div-regex": "error", - "no-else-return": "error", - "no-empty-function": "error", - "no-eq-null": "error", - "no-eval": "error", - "no-extend-native": "error", - "no-extra-bind": "error", - "no-extra-label": "error", - "no-floating-decimal": "error", - "no-implicit-coercion": "error", - "no-implicit-globals": "error", - "no-implied-eval": "error", - "no-invalid-this": "off", - "no-iterator": "error", - "no-labels": "error", - "no-lone-blocks": "error", - "no-loop-func": "error", - "no-multi-spaces": [ - "error", - { - "exceptions": { - "AssignmentExpression": true, - "ArrowFunctionExpression": true, - "CallExpression": true, - "VariableDeclarator": true - } - } - ], - "no-multi-str": "error", - "no-new": "error", - "no-new-func": "error", - "no-new-wrappers": "error", - "no-octal-escape": "error", - "no-param-reassign": "off", - "no-proto": "error", - "no-restricted-properties": "error", - "no-return-assign": "off", - "no-return-await": "error", - "no-script-url": "error", - "no-self-compare": "error", - "no-sequences": "error", - "no-throw-literal": "error", - "no-unmodified-loop-condition": "error", - "no-unused-expressions": "error", - "no-useless-call": "error", - "no-useless-concat": "error", - "no-useless-escape": "error", - "no-useless-return": "off", - "no-void": "error", - "no-warning-comments": "off", - "no-with": "error", - "prefer-promise-reject-errors": "error", - "radix": "error", - "require-await": "error", - "vars-on-top": "error", - "wrap-iife": "error", - "yoda": "error", - "strict": "error", - "init-declarations": "off", - "no-catch-shadow": "error", - "no-label-var": "error", - "no-restricted-globals": "error", - "no-shadow": "off", - "no-shadow-restricted-names": "error", - "no-undef-init": "error", - "no-undefined": "off", - "no-use-before-define": "off", - "callback-return": "off", - "global-require": "error", - "handle-callback-err": "error", - "no-mixed-requires": "error", - "no-new-require": "error", - "no-path-concat": "error", - "no-process-env": "error", - "no-process-exit": "error", - "no-restricted-modules": "error", - "no-sync": "error", - "array-bracket-spacing": "error", - "block-spacing": "error", - "brace-style": "error", - "camelcase": "error", - "capitalized-comments": "off", - "comma-dangle": "off", - "comma-spacing": "error", - "comma-style": "error", - "computed-property-spacing": "error", - "consistent-this": "error", - "eol-last": "error", - "func-call-spacing": "error", - "func-name-matching": "error", - "func-names": "off", - "func-style": [ - "error", - "declaration", - { - "allowArrowFunctions": true - } - ], - "id-blacklist": "error", - "id-length": "off", - "id-match": "error", - "indent": [ - "error", - 2, - { - "SwitchCase": 1 - } - ], - "jsx-quotes": "error", - "key-spacing": "off", - "keyword-spacing": "error", - "line-comment-position": "off", - "lines-around-comment": "off", - "lines-around-directive": "error", - "max-depth": ["error", 10], - "max-len": "off", - "max-lines": "off", - "max-nested-callbacks": "error", - "max-params": "off", - "max-statements": "off", - "max-statements-per-line": "error", - "multiline-ternary": "off", - "new-cap": [ - "error", - { - "capIsNewExceptionPattern": "$.*" - } - ], - "new-parens": "error", - "newline-after-var": "off", - "newline-before-return": "off", - "newline-per-chained-call": [ - "error", - { - "ignoreChainWithDepth": 5 - } - ], - "no-array-constructor": "error", - "no-bitwise": "error", - "no-continue": "off", - "no-inline-comments": "off", - "no-lonely-if": "error", - "no-mixed-operators": "off", - "no-multi-assign": "error", - "no-multiple-empty-lines": "error", - "no-negated-condition": "off", - "no-nested-ternary": "error", - "no-new-object": "error", - "no-plusplus": "off", - "no-restricted-syntax": "error", - "no-tabs": "error", - "no-ternary": "off", - "no-trailing-spaces": "error", - "no-underscore-dangle": "off", - "no-unneeded-ternary": "error", - "no-whitespace-before-property": "error", - "nonblock-statement-body-position": "error", - "object-curly-newline": [ - "error", - { - "consistent": true, - "multiline": true - } - ], - "object-curly-spacing": ["error", "always"], - "object-property-newline": "error", - "one-var": ["error", "never"], - "one-var-declaration-per-line": "error", - "operator-assignment": "error", - "operator-linebreak": "off", - "padded-blocks": "off", - "quote-props": ["error", "as-needed"], - "quotes": ["error", "single"], - "require-jsdoc": "off", - "semi": ["off"], - "semi-spacing": "error", - "sort-keys": "off", - "sort-vars": "error", - "space-before-blocks": "error", - "space-before-function-paren": [ - "error", - { - "anonymous": "always", - "named": "never" - } - ], - "space-in-parens": "error", - "space-infix-ops": "error", - "space-unary-ops": "error", - "spaced-comment": "error", - "template-tag-spacing": "error", - "unicode-bom": "error", - "wrap-regex": "off", - "arrow-body-style": "off", - "arrow-spacing": "error", - "generator-star-spacing": "error", - "no-confusing-arrow": "error", - "no-duplicate-imports": "error", - "no-restricted-imports": "error", - "no-useless-computed-key": "error", - "no-useless-constructor": "error", - "no-useless-rename": "error", - "no-var": "error", - "object-shorthand": "error", - "prefer-arrow-callback": "error", - "prefer-const": "error", - "prefer-destructuring": "off", - "prefer-numeric-literals": "error", - "prefer-rest-params": "error", - "prefer-spread": "error", - "prefer-template": "error", - "rest-spread-spacing": "error", - // "sort-imports": "error", - "symbol-description": "error", - "template-curly-spacing": "error", - "yield-star-spacing": "error", - "import/prefer-default-export": "off" - } + "ignorePatterns": ["src/files/" , "dist/", "site/", "src/js/plugin.js"], + "extends": ["eslint:recommended", "prettier"] } diff --git a/.gitignore b/.gitignore index 63c47844f..95a540796 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,12 @@ # Hugo default output directory /site/public +/site/resources + +# Compiled files +/site/assets/css/style.css +/site/static/js/index.min.js +/site/static/js/index.min.js.map +/site/static/js/plugin.js ## OS Files # Windows @@ -17,7 +24,7 @@ node_modules # production /dist -/site/tw-starter.zip +/site/te-starter.zip # demo /dist-demo diff --git a/.prettierignore b/.prettierignore index d5e149b80..e25b0d098 100644 --- a/.prettierignore +++ b/.prettierignore @@ -1,7 +1,7 @@ dist/ dist-demo/ -mdb/ -site/ -src/js/mdb -src/css/ -src/js/bs-styles.js \ No newline at end of file +site/static/ +site/public/ +site/resources/ +site/assets/ +site/layouts/shortcodes/ \ No newline at end of file diff --git a/.prettierrc b/.prettierrc index 0946a496a..3aceb6338 100644 --- a/.prettierrc +++ b/.prettierrc @@ -1,8 +1,11 @@ { - "bracketSpacing": true, - "semi": true, - "singleQuote": true, - "trailingComma": "es5", - "printWidth": 100, - "endOfLine": "auto" -} \ No newline at end of file + "overrides": [ + { + "files": ["*.html"], + "options": { + "parser": "go-template", + "bracketSameLine": true + } + } + ] +} diff --git a/.stylelintrc b/.stylelintrc deleted file mode 100644 index c6e25ade2..000000000 --- a/.stylelintrc +++ /dev/null @@ -1,297 +0,0 @@ -{ - "extends": [ - "stylelint-prettier/recommended", - "stylelint-config-standard", - "stylelint-config-recommended-scss" - ], - "plugins": [ - "stylelint-order" - ], - "ignoreFiles": [ - "src/css/**/*.css" - ], - "rules": { - "at-rule-empty-line-before": null, - "at-rule-name-space-after": "always", - "at-rule-semicolon-space-before": "never", - "block-closing-brace-empty-line-before": null, - "block-closing-brace-newline-after": null, - "block-opening-brace-space-before": null, - "color-named": "never", - "declaration-block-semicolon-newline-after": "always-multi-line", - "declaration-block-semicolon-newline-before": "never-multi-line", - "declaration-block-semicolon-space-after": "always-single-line", - "declaration-empty-line-before": null, - "font-family-name-quotes": "always-where-recommended", - "font-weight-notation": [ - "numeric", - { - "ignore": [ - "relative" - ] - } - ], - "function-url-no-scheme-relative": true, - "function-url-quotes": "always", - "length-zero-no-unit": true, - "max-empty-lines": 2, - "max-line-length": null, - "media-feature-name-no-vendor-prefix": true, - "media-feature-parentheses-space-inside": "never", - "media-feature-range-operator-space-after": "always", - "media-feature-range-operator-space-before": "never", - "no-descending-specificity": null, - "no-duplicate-selectors": true, - "number-leading-zero": "never", - "media-feature-name-no-unknown": [ - true, - { - "ignoreMediaFeatureNames": [ - "prefers-reduced-motion" - ] - } - ], - "order/properties-order": [ - "position", - "top", - "right", - "bottom", - "left", - "z-index", - "box-sizing", - "display", - "flex", - "flex-align", - "flex-basis", - "flex-direction", - "flex-wrap", - "flex-flow", - "flex-shrink", - "flex-grow", - "flex-order", - "flex-pack", - "align-content", - "align-items", - "align-self", - "justify-content", - "order", - "float", - "width", - "min-width", - "max-width", - "height", - "min-height", - "max-height", - "padding", - "padding-top", - "padding-right", - "padding-bottom", - "padding-left", - "margin", - "margin-top", - "margin-right", - "margin-bottom", - "margin-left", - "overflow", - "overflow-x", - "overflow-y", - "-webkit-overflow-scrolling", - "-ms-overflow-x", - "-ms-overflow-y", - "-ms-overflow-style", - "columns", - "column-count", - "column-fill", - "column-gap", - "column-rule", - "column-rule-width", - "column-rule-style", - "column-rule-color", - "column-span", - "column-width", - "orphans", - "widows", - "clip", - "clear", - "font", - "font-family", - "font-size", - "font-style", - "font-weight", - "font-variant", - "font-size-adjust", - "font-stretch", - "font-effect", - "font-emphasize", - "font-emphasize-position", - "font-emphasize-style", - "font-smooth", - "src", - "hyphens", - "line-height", - "color", - "text-align", - "text-align-last", - "text-emphasis", - "text-emphasis-color", - "text-emphasis-style", - "text-emphasis-position", - "text-decoration", - "text-indent", - "text-justify", - "text-outline", - "-ms-text-overflow", - "text-overflow", - "text-overflow-ellipsis", - "text-overflow-mode", - "text-shadow", - "text-transform", - "text-wrap", - "-webkit-text-size-adjust", - "-ms-text-size-adjust", - "letter-spacing", - "-ms-word-break", - "word-break", - "word-spacing", - "-ms-word-wrap", - "word-wrap", - "overflow-wrap", - "tab-size", - "white-space", - "vertical-align", - "direction", - "unicode-bidi", - "list-style", - "list-style-position", - "list-style-type", - "list-style-image", - "pointer-events", - "-ms-touch-action", - "touch-action", - "cursor", - "visibility", - "zoom", - "table-layout", - "empty-cells", - "caption-side", - "border-spacing", - "border-collapse", - "content", - "quotes", - "counter-reset", - "counter-increment", - "resize", - "user-select", - "nav-index", - "nav-up", - "nav-right", - "nav-down", - "nav-left", - "background", - "background-color", - "background-image", - "filter", - "background-repeat", - "background-attachment", - "background-position", - "background-position-x", - "background-position-y", - "background-clip", - "background-origin", - "background-size", - "border", - "border-color", - "border-style", - "border-width", - "border-top", - "border-top-color", - "border-top-style", - "border-top-width", - "border-right", - "border-right-color", - "border-right-style", - "border-right-width", - "border-bottom", - "border-bottom-color", - "border-bottom-style", - "border-bottom-width", - "border-left", - "border-left-color", - "border-left-style", - "border-left-width", - "border-radius", - "border-top-left-radius", - "border-top-right-radius", - "border-bottom-right-radius", - "border-bottom-left-radius", - "border-image", - "border-image-source", - "border-image-slice", - "border-image-width", - "border-image-outset", - "border-image-repeat", - "outline", - "outline-width", - "outline-style", - "outline-color", - "outline-offset", - "box-shadow", - "opacity", - "-ms-interpolation-mode", - "page-break-after", - "page-break-before", - "page-break-inside", - "transition", - "transition-delay", - "transition-timing-function", - "transition-duration", - "transition-property", - "transform", - "transform-origin", - "perspective", - "appearance", - "animation", - "animation-name", - "animation-duration", - "animation-play-state", - "animation-timing-function", - "animation-delay", - "animation-iteration-count", - "animation-direction", - "animation-fill-mode", - "fill", - "stroke" - ], - "rule-empty-line-before": null, - "selector-attribute-quotes": "always", - "selector-list-comma-newline-after": null, - "selector-list-comma-newline-before": null, - "selector-list-comma-space-after": "always-single-line", - "selector-list-comma-space-before": "never-single-line", - "selector-max-attribute": 2, - "selector-max-class": 8, - "selector-max-combinators": 8, - "selector-max-compound-selectors": 8, - "selector-max-empty-lines": 1, - "selector-max-id": 1, - "selector-max-specificity": null, - "selector-max-type": 4, - "selector-max-universal": 1, - "selector-no-qualifying-type": [ - true, - { - "ignore": [ - "attribute", - "class" - ] - } - ], - "selector-pseudo-element-colon-notation": null, - "string-quotes": "double", - "value-keyword-case": "lower", - "value-list-comma-newline-after": "never-multi-line", - "value-list-comma-newline-before": "never-multi-line", - "value-list-comma-space-after": "always", - "value-no-vendor-prefix": true - } -} \ No newline at end of file diff --git a/README.md b/README.md index 8ae4e1ec7..846223b38 100644 --- a/README.md +++ b/README.md @@ -1,11 +1,9 @@ -# Tailwind Elements [Tailwind-elements](https://tailwind-elements.com/)Total Downloads Latest Release - +# Tailwind Elements [Tailwind-elements](https://tailwind-elements.com/)Total Downloads Latest Release Tailwind Elements **is a plugin** that extends the functionality of the library with many interactive components. In some dynamic components (like dropdowns or modals) we add Font Awesome icons and custom JavaScript. However, they do not require any additional installation, all the necessary code is always included in the example and copied to any Tailwind project - it will work. - @@ -280,12 +278,11 @@ Responsive Landing page blocks built with Tailwind CSS. Plenty of design blocks

- ## Quick Start tutorial ##### NPM -1. Before starting the project make sure to install [Node.js (LTS)](https://nodejs.org/en/ 'Node.js (LTS)') and [TailwindCSS](https://tailwindcss.com/ 'TailwindCSS'). +1. Before starting the project make sure to install [Node.js (LTS)](https://nodejs.org/en/ "Node.js (LTS)") and [TailwindCSS](https://tailwindcss.com/ "TailwindCSS"). 2. Run the following command to install the package via NPM: @@ -297,8 +294,11 @@ npm install tw-elements ```javascript module.exports = { - content: ['./src/**/*.{html,js}', './node_modules/tw-elements/dist/js/**/*.js'], - plugins: [require('tw-elements/dist/plugin')], + content: [ + "./src/**/*.{html,js}", + "./node_modules/tw-elements/dist/js/**/*.js", + ], + plugins: [require("tw-elements/dist/plugin")], }; ``` @@ -362,7 +362,7 @@ Add the stylesheet files below in the _head_ section: ``` - + diff --git a/demo/paths.json b/demo/paths.json index b79fb7885..38cb8a827 100644 --- a/demo/paths.json +++ b/demo/paths.json @@ -1,199 +1,199 @@ [ { - "fileName": "sites/main/home.html", - "pathToFile": "../demo/sites/main/home.html" + "fileName": "sites/content-styles/animations.html", + "pathToFile": "../demo/sites/content-styles/animations.html" }, { - "fileName": "sites/bs/buttons.html", - "pathToFile": "../demo/sites/bs/buttons.html" + "fileName": "sites/components/buttons.html", + "pathToFile": "../demo/sites/components/buttons.html" }, { - "fileName": "sites/bs/cards.html", - "pathToFile": "../demo/sites/bs/cards.html" + "fileName": "sites/components/cards.html", + "pathToFile": "../demo/sites/components/cards.html" }, { - "fileName": "sites/bs/badges.html", - "pathToFile": "../demo/sites/bs/badges.html" + "fileName": "sites/content-styles/colors.html", + "pathToFile": "../demo/sites/content-styles/colors.html" }, { - "fileName": "sites/bs/button-group.html", - "pathToFile": "../demo/sites/bs/button-group.html" + "fileName": "sites/components/badges.html", + "pathToFile": "../demo/sites/components/badges.html" }, { - "fileName": "sites/bs/alerts.html", - "pathToFile": "../demo/sites/bs/alerts.html" + "fileName": "sites/components/button-group.html", + "pathToFile": "../demo/sites/components/button-group.html" }, { - "fileName": "sites/bs/list-group.html", - "pathToFile": "../demo/sites/bs/list-group.html" + "fileName": "sites/components/alerts.html", + "pathToFile": "../demo/sites/components/alerts.html" }, { - "fileName": "sites/bs/tables.html", - "pathToFile": "../demo/sites/bs/tables.html" + "fileName": "sites/components/list-group.html", + "pathToFile": "../demo/sites/components/list-group.html" }, { - "fileName": "sites/bs/accordion.html", - "pathToFile": "../demo/sites/bs/accordion.html" + "fileName": "sites/components/tables.html", + "pathToFile": "../demo/sites/components/tables.html" }, { - "fileName": "sites/bs/carousel.html", - "pathToFile": "../demo/sites/bs/carousel.html" + "fileName": "sites/components/accordion.html", + "pathToFile": "../demo/sites/components/accordion.html" }, { - "fileName": "sites/bs/chips.html", - "pathToFile": "../demo/sites/bs/chips.html" + "fileName": "sites/components/carousel.html", + "pathToFile": "../demo/sites/components/carousel.html" }, { - "fileName": "sites/bs/dropdown.html", - "pathToFile": "../demo/sites/bs/dropdown.html" + "fileName": "sites/components/chips.html", + "pathToFile": "../demo/sites/components/chips.html" }, { - "fileName": "sites/bs/gallery.html", - "pathToFile": "../demo/sites/bs/gallery.html" + "fileName": "sites/components/dropdown.html", + "pathToFile": "../demo/sites/components/dropdown.html" }, { - "fileName": "sites/bs/headings.html", - "pathToFile": "../demo/sites/bs/headings.html" + "fileName": "sites/components/gallery.html", + "pathToFile": "../demo/sites/components/gallery.html" }, { - "fileName": "sites/bs/headers.html", - "pathToFile": "../demo/sites/bs/headers.html" + "fileName": "sites/components/headings.html", + "pathToFile": "../demo/sites/components/headings.html" }, { - "fileName": "sites/bs/images.html", - "pathToFile": "../demo/sites/bs/images.html" + "fileName": "sites/components/headers.html", + "pathToFile": "../demo/sites/components/headers.html" }, { - "fileName": "sites/bs/modal.html", - "pathToFile": "../demo/sites/bs/modal.html" + "fileName": "sites/components/bs_images.html", + "pathToFile": "../demo/sites/components/bs_images.html" }, { - "fileName": "sites/bs/paragraphs.html", - "pathToFile": "../demo/sites/bs/paragraphs.html" + "fileName": "sites/components/modal.html", + "pathToFile": "../demo/sites/components/modal.html" }, { - "fileName": "sites/bs/popover.html", - "pathToFile": "../demo/sites/bs/popover.html" + "fileName": "sites/components/paragraphs.html", + "pathToFile": "../demo/sites/components/paragraphs.html" }, { - "fileName": "sites/bs/progress.html", - "pathToFile": "../demo/sites/bs/progress.html" + "fileName": "sites/components/popover.html", + "pathToFile": "../demo/sites/components/popover.html" }, { - "fileName": "sites/bs/toast.html", - "pathToFile": "../demo/sites/bs/toast.html" + "fileName": "sites/components/progress.html", + "pathToFile": "../demo/sites/components/progress.html" }, { - "fileName": "sites/bs/tooltip.html", - "pathToFile": "../demo/sites/bs/tooltip.html" + "fileName": "sites/components/toast.html", + "pathToFile": "../demo/sites/components/toast.html" }, { - "fileName": "sites/bs/breadcrumbs.html", - "pathToFile": "../demo/sites/bs/breadcrumbs.html" + "fileName": "sites/components/tooltip.html", + "pathToFile": "../demo/sites/components/tooltip.html" }, { - "fileName": "sites/bs/footer.html", - "pathToFile": "../demo/sites/bs/footer.html" + "fileName": "sites/navigation/breadcrumbs.html", + "pathToFile": "../demo/sites/navigation/breadcrumbs.html" }, { - "fileName": "sites/bs/pills.html", - "pathToFile": "../demo/sites/bs/pills.html" + "fileName": "sites/navigation/footer.html", + "pathToFile": "../demo/sites/navigation/footer.html" }, { - "fileName": "sites/bs/tabs.html", - "pathToFile": "../demo/sites/bs/tabs.html" + "fileName": "sites/navigation/pills.html", + "pathToFile": "../demo/sites/navigation/pills.html" }, { - "fileName": "sites/bs/spinners.html", - "pathToFile": "../demo/sites/bs/spinners.html" + "fileName": "sites/navigation/tabs.html", + "pathToFile": "../demo/sites/navigation/tabs.html" }, { - "fileName": "sites/bs/navbar.html", - "pathToFile": "../demo/sites/bs/navbar.html" + "fileName": "sites/components/spinners.html", + "pathToFile": "../demo/sites/components/spinners.html" }, { - "fileName": "sites/bs/pagination.html", - "pathToFile": "../demo/sites/bs/pagination.html" + "fileName": "sites/navigation/navbar.html", + "pathToFile": "../demo/sites/navigation/navbar.html" }, { - "fileName": "sites/bs/inputs.html", - "pathToFile": "../demo/sites/bs/inputs.html" + "fileName": "sites/forms/inputs.html", + "pathToFile": "../demo/sites/forms/inputs.html" }, { - "fileName": "sites/bs/file-input.html", - "pathToFile": "../demo/sites/bs/file-input.html" + "fileName": "sites/forms/file-input.html", + "pathToFile": "../demo/sites/forms/file-input.html" }, { - "fileName": "sites/bs/checkbox.html", - "pathToFile": "../demo/sites/bs/checkbox.html" + "fileName": "sites/forms/checkbox.html", + "pathToFile": "../demo/sites/forms/checkbox.html" }, { - "fileName": "sites/bs/radio.html", - "pathToFile": "../demo/sites/bs/radio.html" + "fileName": "sites/forms/radio.html", + "pathToFile": "../demo/sites/forms/radio.html" }, { - "fileName": "sites/bs/switch.html", - "pathToFile": "../demo/sites/bs/switch.html" + "fileName": "sites/forms/switch.html", + "pathToFile": "../demo/sites/forms/switch.html" }, { - "fileName": "sites/bs/form-templates.html", - "pathToFile": "../demo/sites/bs/form-templates.html" + "fileName": "sites/forms/form-templates.html", + "pathToFile": "../demo/sites/forms/form-templates.html" }, { - "fileName": "sites/bs/search.html", - "pathToFile": "../demo/sites/bs/search.html" + "fileName": "sites/forms/search.html", + "pathToFile": "../demo/sites/forms/search.html" }, { - "fileName": "sites/bs/range.html", - "pathToFile": "../demo/sites/bs/range.html" + "fileName": "sites/forms/range.html", + "pathToFile": "../demo/sites/forms/range.html" }, { - "fileName": "sites/bs/select.html", - "pathToFile": "../demo/sites/bs/select.html" + "fileName": "sites/forms/select.html", + "pathToFile": "../demo/sites/forms/select.html" }, { - "fileName": "sites/bs/textarea.html", - "pathToFile": "../demo/sites/bs/textarea.html" + "fileName": "sites/forms/textarea.html", + "pathToFile": "../demo/sites/forms/textarea.html" }, { - "fileName": "sites/bs/input-group.html", - "pathToFile": "../demo/sites/bs/input-group.html" + "fileName": "sites/forms/input-group.html", + "pathToFile": "../demo/sites/forms/input-group.html" }, { - "fileName": "sites/bs/offcanvas.html", - "pathToFile": "../demo/sites/bs/offcanvas.html" + "fileName": "sites/components/offcanvas.html", + "pathToFile": "../demo/sites/components/offcanvas.html" }, { - "fileName": "sites/bs/rating.html", - "pathToFile": "../demo/sites/bs/rating.html" + "fileName": "sites/components/rating.html", + "pathToFile": "../demo/sites/components/rating.html" }, { - "fileName": "sites/bs/icons.html", - "pathToFile": "../demo/sites/bs/icons.html" + "fileName": "sites/components/icons.html", + "pathToFile": "../demo/sites/components/icons.html" }, { - "fileName": "sites/bs/typography.html", - "pathToFile": "../demo/sites/bs/typography.html" + "fileName": "sites/components/typography.html", + "pathToFile": "../demo/sites/components/typography.html" }, { - "fileName": "sites/bs/collapse.html", - "pathToFile": "../demo/sites/bs/collapse.html" + "fileName": "sites/components/collapse.html", + "pathToFile": "../demo/sites/components/collapse.html" }, { - "fileName": "sites/bs/notification.html", - "pathToFile": "../demo/sites/bs/notification.html" + "fileName": "sites/components/notification.html", + "pathToFile": "../demo/sites/components/notification.html" }, { - "fileName": "sites/bs/link.html", - "pathToFile": "../demo/sites/bs/link.html" + "fileName": "sites/components/link.html", + "pathToFile": "../demo/sites/components/link.html" }, { - "fileName": "sites/bs/mask.html", - "pathToFile": "../demo/sites/bs/mask.html" + "fileName": "sites/components/mask.html", + "pathToFile": "../demo/sites/components/mask.html" }, { - "fileName": "sites/bs/avatar.html", - "pathToFile": "../demo/sites/bs/avatar.html" + "fileName": "sites/components/avatar.html", + "pathToFile": "../demo/sites/components/avatar.html" }, { "fileName": "sites/db/intro-1.html", @@ -208,20 +208,20 @@ "pathToFile": "../demo/sites/db/intro-3.html" }, { - "fileName": "sites/mdb/ripple.html", - "pathToFile": "../demo/sites/mdb/ripple.html" + "fileName": "sites/methods/ripple.html", + "pathToFile": "../demo/sites/methods/ripple.html" }, { - "fileName": "sites/mdb/datepicker.html", - "pathToFile": "../demo/sites/mdb/datepicker.html" + "fileName": "sites/forms/datepicker.html", + "pathToFile": "../demo/sites/forms/datepicker.html" }, { - "fileName": "sites/mdb/timepicker.html", - "pathToFile": "../demo/sites/mdb/timepicker.html" + "fileName": "sites/forms/timepicker.html", + "pathToFile": "../demo/sites/forms/timepicker.html" }, { - "fileName": "sites/mdb/stepper.html", - "pathToFile": "../demo/sites/mdb/stepper.html" + "fileName": "sites/components/stepper.html", + "pathToFile": "../demo/sites/components/stepper.html" }, { "fileName": "sites/db/pricing-1.html", @@ -460,8 +460,8 @@ "pathToFile": "../demo/sites/db/projects-3.html" }, { - "fileName": "sites/mdb/timeline.html", - "pathToFile": "../demo/sites/mdb/timeline.html" + "fileName": "sites/components/timeline.html", + "pathToFile": "../demo/sites/components/timeline.html" }, { "fileName": "sites/db/admin-navigation-1.html", @@ -548,40 +548,92 @@ "pathToFile": "../demo/sites/db/admin-complex-3.html" }, { - "fileName": "sites/mdb/sidenav.html", - "pathToFile": "../demo/sites/mdb/sidenav.html" + "fileName": "sites/navigation/sidenav.html", + "pathToFile": "../demo/sites/navigation/sidenav.html" }, { - "fileName": "sites/bs/hover-effects.html", - "pathToFile": "../demo/sites/bs/hover-effects.html" + "fileName": "sites/navigation/preview/sidenav-1.html", + "pathToFile": "../demo/sites/navigation/preview/sidenav-1.html" }, { - "fileName": "sites/bs/video-carousel.html", - "pathToFile": "../demo/sites/bs/video-carousel.html" + "fileName": "sites/navigation/preview/sidenav-2.html", + "pathToFile": "../demo/sites/navigation/preview/sidenav-2.html" }, { - "fileName": "sites/bs/social-buttons.html", - "pathToFile": "../demo/sites/bs/social-buttons.html" + "fileName": "sites/navigation/preview/sidenav-3.html", + "pathToFile": "../demo/sites/navigation/preview/sidenav-3.html" }, { - "fileName": "sites/bs/video.html", - "pathToFile": "../demo/sites/bs/video.html" + "fileName": "sites/navigation/preview/sidenav-4.html", + "pathToFile": "../demo/sites/navigation/preview/sidenav-4.html" }, { - "fileName": "sites/bs/jumbotron.html", - "pathToFile": "../demo/sites/bs/jumbotron.html" + "fileName": "sites/navigation/preview/sidenav-5.html", + "pathToFile": "../demo/sites/navigation/preview/sidenav-5.html" }, { - "fileName": "sites/bs/scroll-button.html", - "pathToFile": "../demo/sites/bs/scroll-button.html" + "fileName": "sites/components/hover-effects.html", + "pathToFile": "../demo/sites/components/hover-effects.html" }, { - "fileName": "sites/bs/login-form.html", - "pathToFile": "../demo/sites/bs/login-form.html" + "fileName": "sites/components/video-carousel.html", + "pathToFile": "../demo/sites/components/video-carousel.html" }, { - "fileName": "sites/bs/register-form.html", - "pathToFile": "../demo/sites/bs/register-form.html" + "fileName": "sites/components/social-buttons.html", + "pathToFile": "../demo/sites/components/social-buttons.html" + }, + { + "fileName": "sites/components/video.html", + "pathToFile": "../demo/sites/components/video.html" + }, + { + "fileName": "sites/components/jumbotron.html", + "pathToFile": "../demo/sites/components/jumbotron.html" + }, + { + "fileName": "sites/components/scroll-button.html", + "pathToFile": "../demo/sites/components/scroll-button.html" + }, + { + "fileName": "sites/navigation/scrollspy.html", + "pathToFile": "../demo/sites/navigation/scrollspy.html" + }, + { + "fileName": "sites/components/login-form.html", + "pathToFile": "../demo/sites/components/login-form.html" + }, + { + "fileName": "sites/components/register-form.html", + "pathToFile": "../demo/sites/components/register-form.html" + }, + { + "fileName": "sites/components/placeholder.html", + "pathToFile": "../demo/sites/components/placeholder.html" + }, + { + "fileName": "sites/components/dividers.html", + "pathToFile": "../demo/sites/components/dividers.html" + }, + { + "fileName": "sites/components/figures.html", + "pathToFile": "../demo/sites/components/figures.html" + }, + { + "fileName": "sites/components/shadows.html", + "pathToFile": "../demo/sites/components/shadows.html" + }, + { + "fileName": "sites/components/images.html", + "pathToFile": "../demo/sites/components/images.html" + }, + { + "fileName": "sites/components/masks.html", + "pathToFile": "../demo/sites/components/masks.html" + }, + { + "fileName": "sites/navigation/pagination.html", + "pathToFile": "../demo/sites/navigation/pagination.html" }, { "fileName": "sites/db/hero-1.html", diff --git a/demo/sites/bs/_blank.html b/demo/sites/_blank.html similarity index 68% rename from demo/sites/bs/_blank.html rename to demo/sites/_blank.html index 2604e0602..43bda95fd 100644 --- a/demo/sites/bs/_blank.html +++ b/demo/sites/_blank.html @@ -7,11 +7,10 @@ Album example · Bootstrap v5.1 - + + href="https://fonts.googleapis.com/css?family=Roboto:300,400,500,700,900&display=swap" + rel="stylesheet" /> @@ -21,13 +20,17 @@ - + + + - + diff --git a/demo/sites/bs/accordion.html b/demo/sites/bs/accordion.html deleted file mode 100644 index 1fd83ba79..000000000 --- a/demo/sites/bs/accordion.html +++ /dev/null @@ -1,228 +0,0 @@ - - - - - - - - Album example · Bootstrap v5.1 - - - - - - - - - - - - - - -
-
-
-
- -
-
-

- -

-
-
- This is the first item's accordion body. It is shown by default, - until the collapse plugin adds the appropriate classes that we use to style each - element. These classes control the overall appearance, as well as the showing and - hiding via CSS transitions. You can modify any of this with custom CSS or overriding - our default variables. It's also worth noting that just about any HTML can go within - the .accordion-body, though the transition does limit overflow. -
-
-
-
-

- -

-
-
- This is the second item's accordion body. It is hidden by default, - until the collapse plugin adds the appropriate classes that we use to style each - element. These classes control the overall appearance, as well as the showing and - hiding via CSS transitions. You can modify any of this with custom CSS or overriding - our default variables. It's also worth noting that just about any HTML can go within - the .accordion-body, though the transition does limit overflow. -
-
-
-
-

- -

-
-
- This is the third item's accordion body. It is hidden by default, - until the collapse plugin adds the appropriate classes that we use to style each - element. These classes control the overall appearance, as well as the showing and - hiding via CSS transitions. You can modify any of this with custom CSS or overriding - our default variables. It's also worth noting that just about any HTML can go within - the .accordion-body, though the transition does limit overflow. -
-
-
-
- -
-
-
- -
-
-

- -

-
-
- Placeholder content for this accordion, which is intended to demonstrate the - .accordion-flush class. This is the first item's accordion body. -
-
-
-
-

- -

-
-
- Placeholder content for this accordion, which is intended to demonstrate the - .accordion-flush class. This is the second item's accordion body. Let's - imagine this being filled with some actual content. -
-
-
-
-

- -

-
-
- Placeholder content for this accordion, which is intended to demonstrate the - .accordion-flush class. This is the third item's accordion body. Nothing - more exciting happening here in terms of content, but just filling up the space to - make it look, at least at first glance, a bit more representative of how this would - look in a real-world application. -
-
-
-
- -
-
-
-
- - - - - - - - - - - - diff --git a/demo/sites/bs/alerts.html b/demo/sites/bs/alerts.html deleted file mode 100644 index 166fb1a5d..000000000 --- a/demo/sites/bs/alerts.html +++ /dev/null @@ -1,87 +0,0 @@ - - - - - - - - Album example · Bootstrap v5.1 - - - - - - - - - - - - - -
-
-
-
- -

Basic

- - -
-
-
- -

Link

- - -
-
-
- -

With icon

- - -
-
-
-
- - - - - - - - - - - - diff --git a/demo/sites/bs/badges.html b/demo/sites/bs/badges.html deleted file mode 100644 index 08389b341..000000000 --- a/demo/sites/bs/badges.html +++ /dev/null @@ -1,71 +0,0 @@ - - - - - - - - Album example · Bootstrap v5.1 - - - - - - - - - - - - - -
-
-
-
- - New - -
-
-
- - New - -
-
-
- -

- Example heading - New -

- -
-
-
-
- - - - - - - - - - - - diff --git a/demo/sites/bs/breadcrumbs.html b/demo/sites/bs/breadcrumbs.html deleted file mode 100644 index 50fa9dc86..000000000 --- a/demo/sites/bs/breadcrumbs.html +++ /dev/null @@ -1,113 +0,0 @@ - - - - - - - - Album example · Bootstrap v5.1 - - - - - - - - - - - - - -
-
-
-
- - - -
- - - -
- - - -
-
-
- - - -
- - - -
-
-
- - -
- - - - - - - - - - - - diff --git a/demo/sites/bs/button-group.html b/demo/sites/bs/button-group.html deleted file mode 100644 index 5b1c99afd..000000000 --- a/demo/sites/bs/button-group.html +++ /dev/null @@ -1,191 +0,0 @@ - - - - - - - - Album example · Bootstrap v5.1 - - - - - - - - - - - - - -
-
-
-
- -

Standard

-
- - - -
- -
-
-
- -

Active example

-
- - Active link - - - Link - - - Link - -
- -
-
-
- -

Outline

-
- - - -
- -
-
-
- -

Outline with icon

-
- - - -
- -
-
-
-
- - - - - - - - - - - - diff --git a/demo/sites/bs/buttons.html b/demo/sites/bs/buttons.html deleted file mode 100644 index 2b455b200..000000000 --- a/demo/sites/bs/buttons.html +++ /dev/null @@ -1,340 +0,0 @@ - - - - - - - - Album example · Bootstrap v5.1 - - - - - - - - - - - - - -
-
-
-
- -

Basic

- - -
-
-
- -

Sizing

- - - - -
-
-
- -

Rounded

- - - - -
-
-
- -

Outline

- - - - -
-
-
- -

Outline rounded

- - - - -
-
-
- -

Floating

- - - - -
-
-
- -

Floating outline

- - - - -
-
-
- -

Button block

- - - -
-
-
- -

With icon

- - -
-
-
- -

Disabled

- - -
-
-
-
- - - - - - - - - - - - diff --git a/demo/sites/bs/cards.html b/demo/sites/bs/cards.html deleted file mode 100644 index cf839a5dd..000000000 --- a/demo/sites/bs/cards.html +++ /dev/null @@ -1,113 +0,0 @@ - - - - - - - - Album example · Bootstrap v5.1 - - - - - - - - - - - - - -
-
-
-
- -
-
Card title
-

- Some quick example text to build on the card title and make up the bulk of the card's - content. -

- -
- -
-
-
- -
- - - -
-
Card title
-

- Some quick example text to build on the card title and make up the bulk of the card's - content. -

- -
-
- -
-
-
- -
- -
-
Card title
-

- Some quick example text to build on the card title and make up the bulk of the card's - content. -

-
- -
-
-
- -
-
-
-
- - - - - - - - - - - - diff --git a/demo/sites/bs/carousel.html b/demo/sites/bs/carousel.html deleted file mode 100644 index 418e67980..000000000 --- a/demo/sites/bs/carousel.html +++ /dev/null @@ -1,131 +0,0 @@ - - - - - - - - Album example · Bootstrap v5.1 - - - - - - - - - - - - - -
-
-
-
- - - -
-
-
-
- - - - - - - - - - - - diff --git a/demo/sites/bs/checkbox.html b/demo/sites/bs/checkbox.html deleted file mode 100644 index dd872cb53..000000000 --- a/demo/sites/bs/checkbox.html +++ /dev/null @@ -1,263 +0,0 @@ - - - - - - - - Album example · Bootstrap v5.1 - - - - - - - - - - - - - -
-
-
-
- -

Checkbox

- -
-
-
- -

Default

- -
- - -
-
- - -
- -
-
-
- -

Indeterminate

- -
- - -
- -
-
-
- -

Disabled

- -
- - -
-
- - -
- -
-
-
- -

Inline

- -
- - -
-
- - -
-
- - -
- -
-
-
- -

Without labels

- -
- -
- - -
-
-
-
- - - - - - - - - - - - diff --git a/demo/sites/bs/chips.html b/demo/sites/bs/chips.html deleted file mode 100644 index ef53772a2..000000000 --- a/demo/sites/bs/chips.html +++ /dev/null @@ -1,189 +0,0 @@ - - - - - - - - Album example · Bootstrap v5.1 - - - - - - - - - - - - - -
-
-
-
- -
- - Text - - - - Text - - - - - A - John Doe - - - - - A - John Doe - - - - - A - John Doe - - - - - Text - - - - Text - - -
- -
-
-
-
- - - - - - - - - - - - diff --git a/demo/sites/bs/collapse.html b/demo/sites/bs/collapse.html deleted file mode 100644 index 5653f3154..000000000 --- a/demo/sites/bs/collapse.html +++ /dev/null @@ -1,185 +0,0 @@ - - - - - - - - Album example · Bootstrap v5.1 - - - - - - - - - - - - - -
-
-
-
- -

- - -

-
-
- Some placeholder content for the collapse component. This panel is hidden by default but - revealed when the user activates the relevant trigger. -
-
- -
-
-
- -

- -

-
-
-
- This is some placeholder content for a horizontal collapse. It's hidden by default and - shown when triggered. -
-
-
- -
-
-
- -

- - - -

-
-
-
-
- Some placeholder content for the first collapse component of this multi-collapse - example. This panel is hidden by default but revealed when the user activates the - relevant trigger. -
-
-
-
-
-
- Some placeholder content for the second collapse component of this multi-collapse - example. This panel is hidden by default but revealed when the user activates the - relevant trigger. -
-
-
-
- -
-
-
- - -
-

- Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad - squid. Nihil anim keffiyeh helvetica, craft beer labore wes anderson cred nesciunt - sapiente ea proident. Ad vegan excepteur butcher vice lomo. Leggings occaecat craft beer - farm-to-table, raw denim aesthetic synth nesciunt you probably haven't heard of them - accusamus labore sustainable VHS. 3 wolf moon officia aute, non cupidatat skateboard dolor - brunch. Food truck quinoa nesciunt laborum eiusmod. Brunch 3 wolf moon tempor, sunt aliqua - put a bird on it squid single-origin coffee nulla assumenda shoreditch et. -

-
- -
-
-
-
- - - - - - - - - - - - diff --git a/demo/sites/bs/datepicker.html b/demo/sites/bs/datepicker.html deleted file mode 100644 index a5489cd13..000000000 --- a/demo/sites/bs/datepicker.html +++ /dev/null @@ -1,329 +0,0 @@ - - - - - - - - Album example · Bootstrap v5.1 - - - - - - - - - - - - - -
-
-
-
- -

Form templates

- -
-
-
- -

Basic

- -
-
-
- - - We'll never share your email with anyone else. -
-
- - -
-
- - -
- - -
- -
-
-
- -

Login form

- -
-
-
- - -
-
- - -
-
-
- - -
- Forgot password? -
- -

- Not a member? - Register -

- -
- -
-
-
- -

Register form

- -
-
-
-
- -
-
- -
-
-
- -
-
- -
-
- - -
- - -
- -
-
-
- -

Contact form

- -
-
-
- -
-
- -
-
- -
-
- - -
- - -
- -
-
-
- -

Subscription form

- -
-
-
- -
-
- -
-
- - -
- - -
- -
-
-
-
- - - - - - - - - - - - diff --git a/demo/sites/bs/dropdown.html b/demo/sites/bs/dropdown.html deleted file mode 100644 index 42915e5f2..000000000 --- a/demo/sites/bs/dropdown.html +++ /dev/null @@ -1,603 +0,0 @@ - - - - - - - - Album example · Bootstrap v5.1 - - - - - - - - - - - - - -
-
-
-
- -

Dropdown

- -
-
-
- -

Dark dropdowns

- - - -
-
-
- -

Basic example

- - - -
-
-
- -

Dropup

- -
- - -
- -
-
-
- -

Dropright

- -
- - -
- -
-
-
- -

Dropleft

- -
- - -
- -
-
-
- -

Dropdown divider

- - - -
-
-
- -

Dropdown disabled

- - - -
-
-
- -

Dropdown header

- - - -
-
-
- -

Dropdown item text

- - - -
-
-
-
- - - - - - - - - - - - - - diff --git a/demo/sites/bs/file-input.html b/demo/sites/bs/file-input.html deleted file mode 100644 index 4a1f72999..000000000 --- a/demo/sites/bs/file-input.html +++ /dev/null @@ -1,144 +0,0 @@ - - - - - - - - Album example · Bootstrap v5.1 - - - - - - - - - - - - - -
-
-
-
- -

File input

- -
-
-
- -

- Default file input example -

- -
- - -
- -
-
-
- -

- Multiple files input example -

- -
- - -
- -
-
-
- -

- Disabled file input example -

- -
- - -
- -
-
-
- -

Small file input example

- -
- - -
- -
-
-
- -

Large file input example

- -
- - -
- -
-
-
-
- - - - - - - - - - - - diff --git a/demo/sites/bs/form-templates.html b/demo/sites/bs/form-templates.html deleted file mode 100644 index a5489cd13..000000000 --- a/demo/sites/bs/form-templates.html +++ /dev/null @@ -1,329 +0,0 @@ - - - - - - - - Album example · Bootstrap v5.1 - - - - - - - - - - - - - -
-
-
-
- -

Form templates

- -
-
-
- -

Basic

- -
-
-
- - - We'll never share your email with anyone else. -
-
- - -
-
- - -
- - -
- -
-
-
- -

Login form

- -
-
-
- - -
-
- - -
-
-
- - -
- Forgot password? -
- -

- Not a member? - Register -

- -
- -
-
-
- -

Register form

- -
-
-
-
- -
-
- -
-
-
- -
-
- -
-
- - -
- - -
- -
-
-
- -

Contact form

- -
-
-
- -
-
- -
-
- -
-
- - -
- - -
- -
-
-
- -

Subscription form

- -
-
-
- -
-
- -
-
- - -
- - -
- -
-
-
-
- - - - - - - - - - - - diff --git a/demo/sites/bs/headers.html b/demo/sites/bs/headers.html deleted file mode 100644 index 7b5bb3b34..000000000 --- a/demo/sites/bs/headers.html +++ /dev/null @@ -1,245 +0,0 @@ - - - - - - - - Album example · Bootstrap v5.1 - - - - - - - - - - - - - -
-
-
-
- - -
- - -
-

Heading

-

Subeading

- Get started -
-
- - -
-
-
- - -
- - -
-
-
-
-

Heading

-

Subeading

- -
-
-
-
-
- - -
-
-
-
- - - - - - - - - - - - diff --git a/demo/sites/bs/headings.html b/demo/sites/bs/headings.html deleted file mode 100644 index a5b855008..000000000 --- a/demo/sites/bs/headings.html +++ /dev/null @@ -1,52 +0,0 @@ - - - - - - - - Album example · Bootstrap v5.1 - - - - - - - - - - - - - -
-
-
-
- -

Tailwind Elements

-

Tailwind Elements

-

Tailwind Elements

-

Tailwind Elements

-
Tailwind Elements
-
Tailwind Elements
- -
-
-
-
- - - - - - - - - - - - diff --git a/demo/sites/bs/hover-effects.html b/demo/sites/bs/hover-effects.html deleted file mode 100644 index 8cfcebe61..000000000 --- a/demo/sites/bs/hover-effects.html +++ /dev/null @@ -1,181 +0,0 @@ - - - - - - - - Album example · Bootstrap v5.1 - - - - - - - - - - - - - -
-
-
-
- -
- Louvre - -
-
-
- -
-
-
- -
-
-
- Louvre -
-
-
-
-
- Louvre -
-
-
-
-
- Louvre -
-
-
-
-
-
-
- Louvre -
-
-
-
-
- Louvre -
-
-
-
-
- Louvre -
-
-
-
- -
-
-
- -
- Louvre -
-
- -
-
-
- -
- Louvre -
- -
-
-
- - Louvre - -
-
-
-
- - - - - - - - - - - - diff --git a/demo/sites/bs/input-group.html b/demo/sites/bs/input-group.html deleted file mode 100644 index 29796a26a..000000000 --- a/demo/sites/bs/input-group.html +++ /dev/null @@ -1,689 +0,0 @@ - - - - - - - - Album example · Bootstrap v5.1 - - - - - - - - - - - - - -
-
-
-
- -

Input group

- -
-
-
- -

Basic example

- -
- @ - -
- -
- - @example.com -
- - -
- https://example.com/users/ - -
- -
- $ - - .00 -
- -
- - @ - -
- -
- With textarea - -
- -
-
-
- -

Wrapping

- -
- @ - -
- -
-
-
- -

Sizing

- -
- Small - -
- -
- Default - -
- -
- Large - -
- -
-
-
- -

Checkboxes and radios

- -
-
- -
- -
- -
-
- -
- -
- -
-
-
- -

Multiple inputs

- -
- First and last name - - -
- -
-
-
- -

Multiple addons

- -
- $ - 0.00 - -
- -
- - $ - 0.00 -
- -
-
-
- -

Button addons

- -
- - -
- -
- - -
- -
- - - -
- -
- - - -
- -
-
-
- -

Buttons and dropdowns

- -
- - - -
- -
- - - -
- -
- - - - - -
- -
-
-
- -

Custom select

- -
- - -
- -
-
-
-
- - - - - - - - - - - - diff --git a/demo/sites/bs/inputs.html b/demo/sites/bs/inputs.html deleted file mode 100644 index 94862a998..000000000 --- a/demo/sites/bs/inputs.html +++ /dev/null @@ -1,251 +0,0 @@ - - - - - - - - Album example · Bootstrap v5.1 - - - - - - - - - - - - - -
-
-
-
- -

Inputs

- -
-
-
- -

Floating

- -
- - -
-
- - -
- -
-
-
- -

Basic example

- -
- - -
- -
-
-
- -

Sizing

- -
- - -
- -
- - -
- -
- - -
- -
-
-
- -

Disabled

- -
- - -
- -
-
-
- -

Readonly

- -
- - -
- -
-
-
- -

Password

- -
- - -
- -
-
-
- -

Layout

- -
-
- - -
-
- - -
-
- -
- - -
-
-
- -

Textarea

- -
- - -
- -
-
-
-
- - - - - - - - - - - - diff --git a/demo/sites/bs/jumbotron.html b/demo/sites/bs/jumbotron.html deleted file mode 100644 index d29d510b9..000000000 --- a/demo/sites/bs/jumbotron.html +++ /dev/null @@ -1,841 +0,0 @@ - - - - - - - - Album example · Bootstrap v5.1 - - - - - - - - - - - - -
-
-
-
- - -
-

Hello world!

-

- This is a simple hero unit, a simple jumbotron-style component for calling extra attention - to featured content or information. -

-
-

- It uses utility classes for typography and spacing to space content out within the larger - container. -

- -
- - -
-
-
- - -
-
-
-
-

Heading

-

Subheading

- Call to action -
-
-
-
- - -
-
-
- -
- - - - - -
-

Heading

-

Subheading

- -
- -
- -
-
-
- -
- - - - - -
-
-
-
-

Heading

-

Subheading

- Call to action -
-
-
-
- -
- -
-
-
- -
- - - - - -
-
-
-
-

- The background photo shows Lido di Ostia -

-

- It is a coastal town in Italy that is part of Rome -

- Learn more about Rome -
-
-
-
- -
- -
-
-
- - - -
- - - - - - - -
-

Heading

-

Subheading

- -
- - -

Scroll down

-

Scroll down

-

Scroll down

-

Scroll down

-

Scroll down

-

Scroll down

-

Scroll down

-

Scroll down

-
- - - -
- - - - - -
-

Heading

-

Subheading

- -
- -
- -
-
-
- - - -
- - - - - - - -
-
-
-
-

Heading

-

Subheading

- Call to action -
-
-
-
- - -

Scroll down

-

Scroll down

-

Scroll down

-

Scroll down

-

Scroll down

-

Scroll down

-

Scroll down

-

Scroll down

-
- - - -
- - - - - -
-
-
-
-

Heading

-

Subheading

- Call to action -
-
-
-
- -
- -
-
-
-
- - - - - - - - - - - diff --git a/demo/sites/bs/list-group.html b/demo/sites/bs/list-group.html deleted file mode 100644 index 9bd8b6845..000000000 --- a/demo/sites/bs/list-group.html +++ /dev/null @@ -1,178 +0,0 @@ - - - - - - - - Album example · Bootstrap v5.1 - - - - - - - - - - - - - -
-
-
-
- -

Basic

- - -
-
-
- -

Active item

- - -
-
-
- -

Disabled

- - -
-
-
- -

Links

-
- - The current link item - - - A second link item - - - A third link item - - - A fourth link item - - - A disabled link item - -
- -
-
-
- -

Buttons

-
- - - - - -
- -
-
-
- -

Flush

- - -
-
-
-
- - - - - - - - - - - - diff --git a/demo/sites/bs/login-form.html b/demo/sites/bs/login-form.html deleted file mode 100644 index d729a86c9..000000000 --- a/demo/sites/bs/login-form.html +++ /dev/null @@ -1,414 +0,0 @@ - - - - - - - - Album example · Bootstrap v5.1 - - - - - - - - - - - - - -
-
-
-
- -

Login forms

- -
-
-
- -

v.1

- -
-
-
-
- Sample image -
-
-
-
-

Sign in with

- - - - - -
- -
-

Or

-
- - -
- -
- - -
- -
- -
-
- - -
- Forgot password? -
- -
- -

- Don't have an account? - Register -

-
- -
-
-
-
- -
-
-
- -

v.2

- -
-
-
-
-
-
-
-
-
- logo -

We are The Lotus Team

-
-
-

Please login to your account

-
- -
-
- -
-
- - Forgot password? -
-
-

Don't have an account?

- -
- -
-
-
-
-

We are more than just a company

-

- Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod - tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, - quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo - consequat. -

-
-
-
-
-
-
-
-
- -
-
-
- -

v.3

- -
-
-
-
- Phone image -
-
-
- -
- -
- - -
- -
- -
-
- - -
- Forgot password? -
- - - - -
-

OR

-
- - - - - - Continue with Facebook - - - - - - Continue with Twitter - - -
-
-
-
- -
-
-
- -

v.4

- -
-
-
- -

v.5

- -
-
-
-
- - - - - - - - - - - - diff --git a/demo/sites/bs/mask.html b/demo/sites/bs/mask.html deleted file mode 100644 index 31eae80ea..000000000 --- a/demo/sites/bs/mask.html +++ /dev/null @@ -1,297 +0,0 @@ - - - - - - - - Album example · Bootstrap v5.1 - - - - - - - - - - - - - -
-
-
-
- -
- -
-
- -
-
-
- -
-
-
- -
-
-
-
-
- -
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
- -
-
-
-
-
- -
-
-
-
- -
-
-
- -
- -
-
- -
-
-
- -
-
-
- -
-
-
-
-
- -
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
- -
-
-
-
-
- -
-
-
-
- -
-
-
- -
- -
-
-

Can you see me?

-
-
-
- -
-
-
- -
-
-
- -
-
-
-
-
- -
-
-
-
- -
-
-
- -
- - -
-
-
- -
-
-
- -
- - -
-
-
- -
-
-
-
- - - - - - - - - - - - diff --git a/demo/sites/bs/modal.html b/demo/sites/bs/modal.html deleted file mode 100644 index f55c744a0..000000000 --- a/demo/sites/bs/modal.html +++ /dev/null @@ -1,653 +0,0 @@ - - - - - - - - Album example · Bootstrap v5.1 - - - - - - - - - - - - - -
-
-
-
- - - - - - - -
-
-
- - - - - - - -
-
-
- - - - - - - -
-
-
- - - - - - - -
-
-
- -
- - -
- - - - - -
-
-
- -
- - - -
- - - - - - - -
-
-
- - - - - - - -
-
-
- -
-
-
- -
-
-
- -
-
-
- -
-
-
- -
-
-
- -
-
-
- -
-
-
-
- - - - - - - - - - - - diff --git a/demo/sites/bs/navbar.html b/demo/sites/bs/navbar.html deleted file mode 100644 index 610f3c8c8..000000000 --- a/demo/sites/bs/navbar.html +++ /dev/null @@ -1,454 +0,0 @@ - - - - - - - - Album example · Bootstrap v5.1 - - - - - - - - - - - - - -
-
-
-
- -

Navbar

- -
-
-
- -

Basic example

- - - -
-
-
- -

Navbar dark

- - - -
-
-
- -
-
-
- -
-
-
- -
-
-
- -
-
-
-
- - - - - - - - - - - - - - diff --git a/demo/sites/bs/notification.html b/demo/sites/bs/notification.html deleted file mode 100644 index 51eed2d46..000000000 --- a/demo/sites/bs/notification.html +++ /dev/null @@ -1,624 +0,0 @@ - - - - - - - - Album example · Bootstrap v5.1 - - - - - - - - - - - - - -
-
-
-
- -
-
-
-
- -

You have a message!

-
-
-
- -
-
-
- -
-
- New -
-
-
- -

Anne just posted a photo

-
-
-
- -
-
-
- - -
-
- Tab 1 content -
-
- Tab 2 content -
-
- Tab 3 content -
-
- -
-
-
- -
-
- 99+ -
- -
- -
-
-
- -
-
- Text Here -
- -
- -
-
-
- -
-
- typing… -
-
- -
-
- -
-
-
- -
-
- -
-
-
Card title
-

- Some quick example text to build on the card title and make up the bulk of the card's - content. -

-
-
- -
-
-
- -
-
- Available -
- -
- -
-
-
- -
-
-
-
- -

Unread notifications

-
-
-
- -
-
-
- -
-
-
-
- -

Unread notifications

-
-
-
- -
-
-
- -
-
-
-
- -

Unread notifications

-
-
-
- -
-
-
- -
-
-
-
- -

Unread notifications

-
-
-
- -
-
-
- -
-
-
-
- -

Unread notifications

-
-
-
- -
-
-
- -
-
-
-
- -

Unread notifications

-
-
-
- -
-
-
- -
-
-
-
- -

Unread notifications

-
-
-
- -
-
-
- -
-
-
-
- -

Unread notifications

-
-
-
- -
-
-
- -
-
-
-
- -

Unread notifications

-
-
-
- -
-
-
- -
-
- 1 -
-
- 2 -
-
- 3 -
-
- 4 -
-
- 5 -
-
- 6 -
-
- 7 -
-
- 8 -
-
- 9 -
-
-

Unread notifications

-
-
- -
-
-
-
- - - - - - - - - - - - diff --git a/demo/sites/bs/offcanvas.html b/demo/sites/bs/offcanvas.html deleted file mode 100644 index 659b82d14..000000000 --- a/demo/sites/bs/offcanvas.html +++ /dev/null @@ -1,252 +0,0 @@ - - - - - - - - Album example · Bootstrap v5.1 - - - - - - - - - - - - - -
-
-
-
- -

Offcanvas

- -
-
-
- -

Basic

- - - Link with href - - - - - -
-
-
- -

Placement

- - - - - -
-
-
- - - - - -
-
-
- - - - - -
-
-
-
- - - - - - - - - - - - diff --git a/demo/sites/bs/pagination.html b/demo/sites/bs/pagination.html deleted file mode 100644 index 06efb0b3a..000000000 --- a/demo/sites/bs/pagination.html +++ /dev/null @@ -1,333 +0,0 @@ - - - - - - - - Album example · Bootstrap v5.1 - - - - - - - - - - - - - -
-
-
-
- -

Pagination

- -
-
-
- -

Basic example

- - - -
-
-
- -

Icons

- - - -
-
-
- -

- Disabled and active states -

- - - -
-
-
- -

Sizing

- - - -
- - - -
-
-
- -

Shape

- - - -
-
-
-
- - - - - - - - - - - - diff --git a/demo/sites/bs/paragraphs.html b/demo/sites/bs/paragraphs.html deleted file mode 100644 index 4a5bdb40d..000000000 --- a/demo/sites/bs/paragraphs.html +++ /dev/null @@ -1,96 +0,0 @@ - - - - - - - - Album example · Bootstrap v5.1 - - - - - - - - - - - - - -
-
-
-
- -

- I will be the leader of a company that ends up being worth billions of dollars, because I - got the answers. I understand culture. I am the nucleus. I think that’s a responsibility - that I have, to push possibilities, to show people, this is the level that things could be - at. -

- -
-
-
- -

- I will be the leader of a company that ends up being worth billions of dollars, because I - got the answers. I understand culture. I am the nucleus. I think that’s a responsibility - that I have, to push possibilities, to show people, this is the level that things could be - at. -

- -
-
-
- -

- Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer posuere erat a ante. -

- - -
-
-
- - - I will be the leader of a company that ends up being worth billions of dollars, because I - got the answers. I understand culture. I am the nucleus. I think that’s a responsibility - that I have, to push possibilities, to show people, this is the level that things could be - at. - - -
-
-
- -

You can use the mark tag to highlight text.

-

This line of text is meant to be treated as deleted text.

-

This line of text is meant to be treated as no longer accurate.

-

This line of text is meant to be treated as an addition to the document.

-

This line of text will render as underlined.

-

This line of text is meant to be treated as fine print.

-

This line rendered as bold text.

-

This line rendered as italicized text.

- -
-
-
-
- - - - - - - - - - - - diff --git a/demo/sites/bs/pills.html b/demo/sites/bs/pills.html deleted file mode 100644 index a5e3a32c0..000000000 --- a/demo/sites/bs/pills.html +++ /dev/null @@ -1,464 +0,0 @@ - - - - - - - - Album example · Bootstrap v5.1 - - - - - - - - - - - - - -
-
-
-
- -

Pills

- -
-
-
- -

Basic example

- - -
-
- Tab 1 content -
-
- Tab 2 content -
-
- Tab 3 content -
-
- Tab 4 disabled -
-
- -
-
-
- -

Fill

- - -
-
- Tab 1 content fill -
-
- Tab 2 content fill -
-
- Tab 3 content fill -
-
- -
-
-
- -

Justify

- - -
-
- Tab 1 content justify -
-
- Tab 2 content justify -
-
- Tab 3 content justify -
-
- -
-
-
- -

Vertical

- -
- -
-
- Tab 1 content vertical -
-
- Tab 2 content vertical -
-
- Tab 3 content vertical -
-
-
- -
-
-
- -

Pills with buttons

- - -
-
- Tab 1 content button version -
-
- Tab 2 content button version -
-
- Tab 3 content button version -
-
- -
-
-
-
- - - - - - - - - - - - diff --git a/demo/sites/bs/popover.html b/demo/sites/bs/popover.html deleted file mode 100644 index e4d16f38d..000000000 --- a/demo/sites/bs/popover.html +++ /dev/null @@ -1,136 +0,0 @@ - - - - - - - - Album example · Bootstrap v5.1 - - - - - - - - - - - - -
-
-
-
- - - - -
-
-
- - - - - - -
-
-
- - Dismissible popover - -
-
-
- - - - - -
-
-
-
- - - - - - - - - - diff --git a/demo/sites/bs/progress.html b/demo/sites/bs/progress.html deleted file mode 100644 index 5ee641ba1..000000000 --- a/demo/sites/bs/progress.html +++ /dev/null @@ -1,81 +0,0 @@ - - - - - - - - Album example · Bootstrap v5.1 - - - - - - - - - - - - - -
-
-
-
- -
-
-
- -
-
-
- -
Small
-
-
-
- -
Default
-
-
-
- -
Large
-
-
-
- -
-
-
- -
-
- 45% -
-
- -
-
-
-
- - - - - - - - - - - - diff --git a/demo/sites/bs/radio.html b/demo/sites/bs/radio.html deleted file mode 100644 index df64a0aa3..000000000 --- a/demo/sites/bs/radio.html +++ /dev/null @@ -1,171 +0,0 @@ - - - - - - - - Album example · Bootstrap v5.1 - - - - - - - - - - - - - -
-
-
-
- -

Radio

- -
-
-
- -

Default

- -
- - -
-
- - -
- -
-
-
- -

Disabled

- -
- - -
-
- - -
- -
-
-
- -

Inline

- -
- - -
-
- - -
-
- - -
- -
-
-
- -

Without labels

- -
- - -
-
-
-
- - - - - - - - - - - - diff --git a/demo/sites/bs/range.html b/demo/sites/bs/range.html deleted file mode 100644 index e35db6f87..000000000 --- a/demo/sites/bs/range.html +++ /dev/null @@ -1,109 +0,0 @@ - - - - - - - - Album example · Bootstrap v5.1 - - - - - - - - - - - - - -
-
-
-
- -

Range

- -
-
-
- -

Basic

- - - - -
-
-
- -

Disabled

- - - - -
-
-
- -

Min and max

- - - - -
-
-
- -

Steps

- - - - -
-
-
-
- - - - - - - - - - - - diff --git a/demo/sites/bs/search.html b/demo/sites/bs/search.html deleted file mode 100644 index b19f1ca41..000000000 --- a/demo/sites/bs/search.html +++ /dev/null @@ -1,188 +0,0 @@ - - - - - - - - Album example · Bootstrap v5.1 - - - - - - - - - - - - - -
-
-
-
- -

Search

- -
-
-
- -

Basic example

- -
-
- - -
-
- -
-
-
- -

Search with icon

- -
-
- - - - -
-
- -
-
-
- -

Search with button

- -
-
- - -
-
- -
-
-
- -

- Search without additional elements -

- -
- -
- -
-
-
- -

Search with label

- -
- - -
- -
-
-
-
- - - - - - - - - - - - diff --git a/demo/sites/bs/select.html b/demo/sites/bs/select.html deleted file mode 100644 index 1eca41ee1..000000000 --- a/demo/sites/bs/select.html +++ /dev/null @@ -1,110 +0,0 @@ - - - - - - - - Album example · Bootstrap v5.1 - - - - - - - - - - - - - -
-
-
-
- -

Select

- -
-
-
- -

Default

- - - -
-
-
- -

Sizing

- - - - - -
-
-
- -

Disabled

- - - -
-
-
-
- - - - - - - - - - - - diff --git a/demo/sites/bs/spinners.html b/demo/sites/bs/spinners.html deleted file mode 100644 index 60bf15c11..000000000 --- a/demo/sites/bs/spinners.html +++ /dev/null @@ -1,260 +0,0 @@ - - - - - - - - Album example · Bootstrap v5.1 - - - - - - - - - - - - - -
-
-
-
- -

Spinners

- -
-
-
- -

Basic example

- -
- Loading... -
- -
-
-
- -

Size

- -
- Loading... -
- -
- Loading... -
- -
-
-
- -

Grow

- -
- Loading... -
- -
-
-
- -

Small

- -
- Loading... -
- -
-
-
- -

Large

- -
- Loading... -
- -
-
-
- -

Margin

- -
- Loading... -
- -
-
-
- -

Flex

- -
-
- Loading... -
-
- -
-
-
- -

Floats

- -
-
- Loading... -
-
- -
-
-
- -

Colors

- -
- Loading... -
-
- Loading... -
-
- Loading... -
-
- Loading... -
-
- Loading... -
-
- Loading... -
-
- Loading... -
- -
-
-
- -

Colors growing

- -
- Loading... -
-
- Loading... -
-
- Loading... -
-
- Loading... -
-
- Loading... -
-
- Loading... -
-
- Loading... -
- -
-
-
-
- - - - - - - - - - - - diff --git a/demo/sites/bs/switch.html b/demo/sites/bs/switch.html deleted file mode 100644 index 4782c398b..000000000 --- a/demo/sites/bs/switch.html +++ /dev/null @@ -1,127 +0,0 @@ - - - - - - - - Album example · Bootstrap v5.1 - - - - - - - - - - - - - -
-
-
-
- -

Switch

- -
-
-
- -

Default

- -
- - -
- -
-
-
- -

Checked

- -
- - -
- -
-
-
- -

Disabled

- -
- - -
- -
-
-
- -

Disabled checked

- -
- - -
- -
-
-
-
- - - - - - - - - - - - diff --git a/demo/sites/bs/tables.html b/demo/sites/bs/tables.html deleted file mode 100644 index e3e9882b3..000000000 --- a/demo/sites/bs/tables.html +++ /dev/null @@ -1,1305 +0,0 @@ - - - - - - - - Album example · Bootstrap v5.1 - - - - - - - - - - - - - -
-
-
-
- -
-
-
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- # - - First - - Last - - Handle -
1 - Mark - - Otto - - @mdo -
2 - Jacob - - Thornton - - @fat -
3 - Larry - - Wild - - @twitter -
- - - - - -
-
-
- -
-
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
ClassHeadingHeading
- Default - - Cell - - Cell -
- Primary - - Cell - - Cell -
- Secondary - - Cell - - Cell -
- Success - - Cell - - Cell -
- Danger - - Cell - - Cell -
- Warning - - Cell - - Cell -
- Info - - Cell - - Cell -
- Light - - Cell - - Cell -
DarkCellCell
-
-
-
-
- -
-
-
- -
-
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- # - - First - - Last - - Handle -
1 - Mark - - Otto - - @mdo -
2 - Jacob - - Thornton - - @fat -
3 - Larry the Bird - - @twitter -
-
-
-
-
- -
-
-
- -
-
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- # - - First - - Last - - Handle -
1 - Mark - - Otto - - @mdo -
2 - Jacob - - Thornton - - @fat -
3 - Larry - - Wild - - @twitter -
-
-
-
-
- -
-
-
- -
-
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- # - - First - - Last - Handle
- 1 - - Mark - - Otto - - @mdo -
- 2 - - Jacob - - Thornton - - @fat -
- 3 - - Larry the Bird - - @twitter -
-
-
-
-
- -
-
-
- -
-
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - -
#FirstLastHandle
1 - Mark - - Otto - - @mdo -
2 - Jacob - - Thornton - - @fat -
3 - Larry the Bird - - @twitter -
-
-
-
-
- -
-
-
- -
-
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - -
#FirstLastHandle
1 - Mark - - Otto - - @mdo -
2 - Jacob - - Thornton - - @fat -
3 - Larry the Bird - - @twitter -
-
-
-
-
- -
-
-
- -
-
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - -
#FirstLastHandle
1 - Mark - - Otto - - @mdo -
2 - Jacob - - Thornton - - @fat -
3 - Larry the Bird - - @twitter -
-
-
-
-
- -
-
-
- -
-
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - -
#FirstLastHandle
1 - Mark - - Otto - - @mdo -
2 - Jacob - - Thornton - - @fat -
3 - Larry the Bird - - @twitter -
-
-
-
-
- -
-
-
- -
-
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- # - - Heading - - Heading - - Heading - - Heading - - Heading - - Heading - - Heading - - Heading -
1 - Cell - - Cell - - Cell - - Cell - - Cell - - Cell - - Cell - - Cell -
2 - Cell - - Cell - - Cell - - Cell - - Cell - - Cell - - Cell - - Cell -
3 - Cell - - Cell - - Cell - - Cell - - Cell - - Cell - - Cell - - Cell -
-
-
-
-
- -
-
-
- -
-
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- Name - - Title - - Status - - Role - - Edit -
-
-
- -
-
-
Flora Wu
-
flora.wu@example.com
-
-
-
-
Software engineer
-
IT
-
- - Active - - Admin - Edit -
-
-
- -
-
-
Nida Povey
-
nida.povey@example.com
-
-
-
-
CMO
-
Marketing
-
- - Active - - Member - Edit -
-
-
- -
-
-
Warren Nixon
-
warren.nixon@example.com
-
-
-
-
Designer
-
UI/UX
-
- - Active - - Owner - Edit -
-
-
-
-
- -
-
-
- -
-
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- Name - - Title - - Email - - Role - - Edit -
-
-
-
Flora Wu
-
-
-
-
Software engineer, IT
-
-
flora.wu@example.com
-
Admin - Edit -
-
-
-
Nida Povey
-
-
-
-
CMO, Marketing
-
-
nida.povey@example.com
-
Admin - Edit -
-
-
-
Warren Nixon
-
-
-
-
Designer, UI/UX
-
-
warren.nixon@example.com
-
Admin - Edit -
-
-
-
Flora Wu
-
-
-
-
Software engineer, IT
-
-
flora.wu@example.com
-
Admin - Edit -
-
-
-
Nida Povey
-
-
-
-
CMO, Marketing
-
-
nida.povey@example.com
-
Admin - Edit -
-
-
-
Warren Nixon
-
-
-
-
Designer, UI/UX
-
-
warren.nixon@example.com
-
Admin - Edit -
-
-
-
-
- -
-
-
- -
-
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- Name - - Title - - Email - - Role - - Edit -
-
-
-
Flora Wu
-
-
-
-
Software engineer, IT
-
-
flora.wu@example.com
-
Admin - Edit -
-
-
-
Nida Povey
-
-
-
-
CMO, Marketing
-
-
nida.povey@example.com
-
Admin - Edit -
-
-
-
Warren Nixon
-
-
-
-
Designer, UI/UX
-
-
warren.nixon@example.com
-
Admin - Edit -
-
-
-
Flora Wu
-
-
-
-
Software engineer, IT
-
-
flora.wu@example.com
-
Admin - Edit -
-
-
-
Nida Povey
-
-
-
-
CMO, Marketing
-
-
nida.povey@example.com
-
Admin - Edit -
-
-
-
Warren Nixon
-
-
-
-
Designer, UI/UX
-
-
warren.nixon@example.com
-
Admin - Edit -
-
-
-
-
- -
-
-
- - - - - - - - - - - - - diff --git a/demo/sites/bs/tabs.html b/demo/sites/bs/tabs.html deleted file mode 100644 index 1e9d06302..000000000 --- a/demo/sites/bs/tabs.html +++ /dev/null @@ -1,460 +0,0 @@ - - - - - - - - Album example · Bootstrap v5.1 - - - - - - - - - - - - - -
-
-
-
- -

Tabs

- -
-
-
- -

Basic example

- - -
-
- Tab 1 content -
-
- Tab 2 content -
-
- Tab 3 content -
-
- Tab 4 content -
-
- -
-
-
- -

Fill

- - -
-
- Tab 1 content fill -
-
- Tab 2 content fill -
-
- Tab 3 content fill -
-
- -
-
-
- -

Justify

- - -
-
- Tab 1 content justify -
-
- Tab 2 content justify -
-
- Tab 3 content justify -
-
- -
-
-
- -

Vertical

- -
- -
-
- Tab 1 content vertical -
-
- Tab 2 content vertical -
-
- Tab 3 content vertical -
-
-
- -
-
-
- -

Tabs with buttons

- - -
-
- Tab 1 content button version -
-
- Tab 2 content button version -
-
- Tab 3 content button version -
-
- -
-
-
-
- - - - - - - - - - - - diff --git a/demo/sites/bs/textarea.html b/demo/sites/bs/textarea.html deleted file mode 100644 index bc7a520cc..000000000 --- a/demo/sites/bs/textarea.html +++ /dev/null @@ -1,69 +0,0 @@ - - - - - - - - Album example · Bootstrap v5.1 - - - - - - - - - - - - - -
-
-
-
- -

Textarea

- -
-
-
- -

Basic

- -
- - -
- -
-
-
-
- - - - - - - - - - - - diff --git a/demo/sites/bs/toast.html b/demo/sites/bs/toast.html deleted file mode 100644 index ccd4e5a38..000000000 --- a/demo/sites/bs/toast.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - - - - Album example · Bootstrap v5.1 - - - - - - - - - - - - - -
-
-
-
- - - -
-
-
-
- - - - - - - - - - - - diff --git a/demo/sites/bs/tooltip.html b/demo/sites/bs/tooltip.html deleted file mode 100644 index 473fc82f8..000000000 --- a/demo/sites/bs/tooltip.html +++ /dev/null @@ -1,131 +0,0 @@ - - - - - - - - Album example · Bootstrap v5.1 - - - - - - - - - - - - -
-
-
-
- -

- Hover the link to see the - tooltip -

- -
-
-
- - - - - - -
-
-
- - - -
-
-
- - - - -
- - - - - - - - - - - - - diff --git a/demo/sites/bs/typography.html b/demo/sites/bs/typography.html deleted file mode 100644 index 8a2a8b80a..000000000 --- a/demo/sites/bs/typography.html +++ /dev/null @@ -1,205 +0,0 @@ - - - - - - - - Album example · Bootstrap v5.1 - - - - - - - - - - - - - -
-
-
-
- -

Tailwind Elements

-

Tailwind Elements

-

Tailwind Elements

-

Tailwind Elements

-
Tailwind Elements
-
Tailwind Elements
- -
-
-
- -

- Fancy display heading - With faded secondary text -

- -
-
-
- -

Display 1

-

Display 2

-

Display 3

-

Display 4

-
Display 5
-
Display 6
- -
-
-
- -

- Vivamus sagittis lacus vel augue laoreet rutrum faucibus dolor auctor. Duis mollis, est non - commodo luctus. -

- -
-
-
- -

You can use the mark tag to highlight text.

-

This line of text is meant to be treated as deleted text.

-

- This line of text is meant to be treated as no longer accurate. -

-

- This line of text is meant to be treated as an addition to the document. -

-

This line of text will render as underlined

-

- This line of text is meant to be treated as fine print. -

-

This line rendered as bold text.

-

This line rendered as italicized text.

- -
-
-
- -
-
-

- Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer posuere erat a ante. -

-
-
- - Someone famous in Source Title -
-
- -
-
-
- -

Start aligned text on all viewport sizes.

-

Center aligned text on all viewport sizes.

-

End aligned text on all viewport sizes.

- -

Start aligned text on viewports sized SM (small) or wider.

-

Start aligned text on viewports sized MD (medium) or wider.

-

Start aligned text on viewports sized LG (large) or wider.

-

Start aligned text on viewports sized XL (extra-large) or wider.

- -
-
-
- -
- This text should wrap. -
- -
-
-
- -
This text should overflow the parent.
- -
-
-
- -

Lowercased text.

-

Uppercased text.

-

capitalized text.

- -
-
-
- -

Bold text.

-

Bolder weight text (relative to the parent element).

-

Normal weight text.

-

Light weight text.

-

Italic text.

- -
-
-
- -

- This is a long paragraph written to show how the line-height of an element is affected by - our utilities. Classes are applied to the element itself or sometimes the parent element. - These classes can be customized as needed with our utility API. -

-

- This is a long paragraph written to show how the line-height of an element is affected by - our utilities. Classes are applied to the element itself or sometimes the parent element. - These classes can be customized as needed with our utility API. -

-

- This is a long paragraph written to show how the line-height of an element is affected by - our utilities. Classes are applied to the element itself or sometimes the parent element. - These classes can be customized as needed with our utility API. -

-

- This is a long paragraph written to show how the line-height of an element is affected by - our utilities. Classes are applied to the element itself or sometimes the parent element. - These classes can be customized as needed with our utility API. -

- -
-
-
- - - -
-
-
-
- - - - - - - - - - - - diff --git a/demo/sites/bs/video-carousel.html b/demo/sites/bs/video-carousel.html deleted file mode 100644 index 4a2cb4a00..000000000 --- a/demo/sites/bs/video-carousel.html +++ /dev/null @@ -1,295 +0,0 @@ - - - - - - - - Album example · Bootstrap v5.1 - - - - - - - - - - - - -
-
-
-
- - -
- -
-
-
- - - - - - - - - - - - - diff --git a/demo/sites/bs/video.html b/demo/sites/bs/video.html deleted file mode 100644 index 9547bbc16..000000000 --- a/demo/sites/bs/video.html +++ /dev/null @@ -1,277 +0,0 @@ - - - - - - - - Album example · Bootstrap v5.1 - - - - - - - - - - - - -
-
-
-
- -

Ratio 21 x 9

- -
- -
- -
-
-
- -

Ratio 16 x 9

- -
- -
- -
-
-
- -

Ratio 4 x 3

- -
- -
- -
-
-
- -

Ratio 1 x 1

- -
- -
- -
-
-
- -
-
- -
- -
- -
-
- -
-
-
- - - -
-
-
- - - -
-
-
- -

Hover to play

- - - -
-
-
-
- - - - - - - - - - - diff --git a/demo/sites/components/accordion.html b/demo/sites/components/accordion.html new file mode 100644 index 000000000..9f308e4c8 --- /dev/null +++ b/demo/sites/components/accordion.html @@ -0,0 +1,288 @@ + + + + + + + + Album example · Bootstrap v5.1 + + + + + + + + + + + + + + +
+
+
+
+ +
+
+

+ +

+
+
+ This is the first item's accordion body. It is + shown by default, until the collapse plugin adds the appropriate + classes that we use to style each element. These classes control + the overall appearance, as well as the showing and hiding via CSS + transitions. You can modify any of this with custom CSS or + overriding our default variables. It's also worth noting that just + about any HTML can go within the .accordion-body, + though the transition does limit overflow. +
+
+
+
+

+ +

+ +
+
+

+ +

+ +
+
+ +
+
+
+
+
+

+ +

+
+
+ Placeholder content for this accordion, which is intended to + demonstrate the + .accordion-flush class. This is the first item's + accordion body. +
+
+
+
+

+ +

+ +
+
+

+ +

+ +
+
+ +
+
+
+
+ + + + + + + + + + + + + + diff --git a/demo/sites/components/alerts.html b/demo/sites/components/alerts.html new file mode 100644 index 000000000..8b288e7ec --- /dev/null +++ b/demo/sites/components/alerts.html @@ -0,0 +1,133 @@ + + + + + + + + Album example · Bootstrap v5.1 + + + + + + + + + + + + + +
+
+
+
+ +

Basic

+ + +
+
+
+ +

Link

+ + +
+
+
+ +

With icon

+ + +
+
+
+ + + + +
+ + + + + + + + + + + + + + diff --git a/demo/sites/bs/avatar.html b/demo/sites/components/avatar.html similarity index 67% rename from demo/sites/bs/avatar.html rename to demo/sites/components/avatar.html index ba2414238..996f5ef0c 100644 --- a/demo/sites/bs/avatar.html +++ b/demo/sites/components/avatar.html @@ -7,11 +7,10 @@ Album example · Bootstrap v5.1 - + + href="https://fonts.googleapis.com/css?family=Roboto:300,400,500,700,900&display=swap" + rel="stylesheet" /> @@ -20,7 +19,7 @@ - +

@@ -29,9 +28,8 @@ Avatar + class="w-32 rounded-full" + alt="Avatar" />

@@ -39,9 +37,8 @@ Avatar + class="w-32 rounded-full shadow-lg" + alt="Avatar" />

@@ -49,9 +46,8 @@ Avatar + class="w-32 rounded-lg" + alt="Avatar" />

@@ -60,11 +56,10 @@
Avatar -
John Doe
-

Web designer

+ class="mx-auto mb-4 w-32 rounded-full" + alt="Avatar" /> +
John Doe
+

Web designer


@@ -81,12 +76,16 @@
John Doe
+ + - + diff --git a/demo/sites/components/badges.html b/demo/sites/components/badges.html new file mode 100644 index 000000000..0ac53caa7 --- /dev/null +++ b/demo/sites/components/badges.html @@ -0,0 +1,151 @@ + + + + + + + + Album example · Bootstrap v5.1 + + + + + + + + + + + + + +
+
+
+
+ +

+ Example heading + + New + +

+ +
+
+
+ +

Button

+ + +
+
+
+ +

Colors

+ + + Primary + + + Secondary + + + Success + + + Danger + + + Warning + + + Info + + + Light + + + Dark + + +
+
+
+ +

Pills

+ + + Primary + + + Secondary + + + Success + + + Danger + + + Warning + + + Info + + + Light + + + Dark + + +
+
+
+
+ + + + + + + + + + + + + + diff --git a/demo/sites/bs/images.html b/demo/sites/components/bs_images.html similarity index 67% rename from demo/sites/bs/images.html rename to demo/sites/components/bs_images.html index 192676d8e..2c1a03d36 100644 --- a/demo/sites/bs/images.html +++ b/demo/sites/components/bs_images.html @@ -7,11 +7,10 @@ Album example · Bootstrap v5.1 - + + href="https://fonts.googleapis.com/css?family=Roboto:300,400,500,700,900&display=swap" + rel="stylesheet" /> @@ -20,7 +19,7 @@ - +

@@ -29,9 +28,8 @@ ... + class="h-auto max-w-full" + alt="..." />

@@ -39,9 +37,8 @@ ... + class="max-w-sm rounded border bg-white p-1" + alt="..." />

@@ -49,9 +46,8 @@ + class="h-auto max-w-sm shadow-lg" + alt="" />

@@ -59,9 +55,8 @@ + class="h-auto max-w-sm shadow-none transition-shadow duration-300 ease-in-out hover:shadow-xl" + alt="" />

@@ -69,12 +64,16 @@
+ + - + diff --git a/demo/sites/components/button-group.html b/demo/sites/components/button-group.html new file mode 100644 index 000000000..be119ee8b --- /dev/null +++ b/demo/sites/components/button-group.html @@ -0,0 +1,178 @@ + + + + + + + + Album example · Bootstrap v5.1 + + + + + + + + + + + + + +
+
+
+
+ +

Standard

+
+ + + +
+ +
+
+
+ +

Active example

+
+ + Active link + + + Link + + + Link + +
+ +
+
+
+ +

Outline

+
+ + + +
+ +
+
+
+ +

Outline with icon

+
+ + + +
+ +
+
+
+
+ + + + + + + + + + + + + + diff --git a/demo/sites/components/buttons.html b/demo/sites/components/buttons.html new file mode 100644 index 000000000..91e48ad54 --- /dev/null +++ b/demo/sites/components/buttons.html @@ -0,0 +1,371 @@ + + + + + + + + Album example · Bootstrap v5.1 + + + + + + + + + + + + + +
+
+
+
+ +

Basic

+ + +
+
+
+ +

Hierarchy

+ + + + +
+
+
+ +

Contextual

+ + + + + +
+
+
+ +

Neutral

+ + + +
+
+
+ +

Sizing

+ + + + +
+
+
+ +

Rounded

+ + + + +
+
+
+ +

Outline

+ + + + +
+
+
+ +

Outline rounded

+ + + + +
+
+
+ +

Floating

+ + + + +
+
+
+ +

Floating outline

+ + + + +
+
+
+ +

Button block

+ + + +
+
+
+ +

With icon

+ + +
+
+
+ +

Disabled

+ + +
+
+
+
+ + + + + + + + + + + + + + diff --git a/demo/sites/components/cards.html b/demo/sites/components/cards.html new file mode 100644 index 000000000..7644daf6d --- /dev/null +++ b/demo/sites/components/cards.html @@ -0,0 +1,112 @@ + + + + + + + + Album example · Bootstrap v5.1 + + + + + + + + + + + + + +
+
+
+
+ +
+
Card title
+

+ Some quick example text to build on the card title and make up the + bulk of the card's content. +

+ +
+ +
+
+
+ +
+ + + +
+
Card title
+

+ Some quick example text to build on the card title and make up the + bulk of the card's content. +

+ +
+
+ +
+
+
+ +
+ +
+
Card title
+

+ Some quick example text to build on the card title and make up the + bulk of the card's content. +

+
+ +
+
+
+ +
+
+
+
+ + + + + + + + + + + + + + diff --git a/demo/sites/components/carousel.html b/demo/sites/components/carousel.html new file mode 100644 index 000000000..f4c665d93 --- /dev/null +++ b/demo/sites/components/carousel.html @@ -0,0 +1,652 @@ + + + + + + + + Album example · Bootstrap v5.1 + + + + + + + + + + + + + +
+
+
+
+ +
+
+ + + +
+
+
+ ... + +
+ + +
+ + +
+ +
+
+
+

Slides only

+
+
+
+ +
+
+
+ Wild Landscape +
+ + +
+
+ +
+
+
+

With controls

+
+
+
+ +
+
+
+ Wild Landscape +
+ + +
+ + +
+ +
+
+
+

With indicators

+
+
+
+ +
+
+ + + +
+
+
+ Wild Landscape +
+ + +
+ + +
+ +
+
+
+

Crossfade

+
+
+
+ +
+
+ + + +
+
+
+ Wild Landscape +
+ + +
+ + +
+ +
+
+
+

Dark variant

+
+
+
+ +
+ +
+ + + +
+ + +
+ +
+ Motorbike Smoke + +
+ + + + + + +
+ + + + + +
+
+
+
+
+ + + + + + + + + + + + + + diff --git a/demo/sites/components/chips.html b/demo/sites/components/chips.html new file mode 100644 index 000000000..632ba593f --- /dev/null +++ b/demo/sites/components/chips.html @@ -0,0 +1,298 @@ + + + + + + + + Album example · Bootstrap v5.1 + + + + + + + + + + + + + +
+
+
+
+

Basic example

+
+
+ Text +
+
+ Contact Person + John Doe + + + + + + +
+ +
+ Contact Person + John Doe + + + + + + +
+ +
+ Contact Person + John Doe + + + + + + +
+
+
+
+
+

Outline

+
+
+ Primary + + + + + + + +
+
+ Secondary + + + + + + + +
+
+ Success + + + + + + +
+
+ Danger + + + + + + +
+
+ Warning + + + + + + +
+
+ Info + + + + + + +
+
+ Light + + + + + + +
+
+ Dark + + + + + + +
+
+
+
+
+

Placeholder

+
+
+
+
+
+
+

Initial Values

+
+
+
+
+
+
+

Editable

+
+
+
+
+ + + + + + + + + + + + + + + diff --git a/demo/sites/components/collapse.html b/demo/sites/components/collapse.html new file mode 100644 index 000000000..b97d079f9 --- /dev/null +++ b/demo/sites/components/collapse.html @@ -0,0 +1,197 @@ + + + + + + + + Album example · Bootstrap v5.1 + + + + + + + + + + + + + +
+
+
+
+ +

+ + +

+ + +
+
+
+ +

+ +

+
+ +
+ +
+
+
+ +

+ + + +

+
+
+ +
+
+ +
+
+ +
+
+
+ + + + +
+
+
+
+ + + + + + + + + + + + + + diff --git a/demo/sites/components/dividers.html b/demo/sites/components/dividers.html new file mode 100644 index 000000000..a5f7961a9 --- /dev/null +++ b/demo/sites/components/dividers.html @@ -0,0 +1,310 @@ + + + + + + + + Dividers + + + + + + + + + + + + + + + +
+
+
+
+ +

+ Vertical divider within div tag +

+ +
+
+
+
+
+
+
+ +
+
+
+ +

+ Vertical divider within hr tag +

+ +
+
+
+
+
+
+
+ +
+
+
+ +

+ Vertical blurry divider within div tag +

+ +
+
+
+
+
+
+
+ +
+
+
+ +

+ Vertical blurry divider within hr tag +

+ +
+
+
+
+
+
+
+ +
+
+
+ +

+ Vertical divider within hr tag +

+ + +
+
+
+ +
5000+
+
Components
+ +
+ +
+ +
490+
+
Design blocks
+ +
+ +
+ +
100+
+
Templates
+ +
+ +
+ +
28
+
Plugins
+
+
+
+ + +
+
+
+ +

+ Vertical divider within div tag +

+ + +
+
+
+ +
5000+
+
Components
+ +
+ +
+ +
490+
+
Design blocks
+ +
+ +
+ +
100+
+
Templates
+ +
+ +
+ +
28
+
Plugins
+
+
+
+ + +
+
+
+ +

+ Vertical blurry divider within hr tag +

+ + +
+
+
+ +
5000+
+
Components
+ +
+ +
+ +
490+
+
Design blocks
+ +
+ +
+ +
100+
+
Templates
+ +
+ +
+ +
28
+
Plugins
+
+
+
+ + +
+
+
+ +

+ Vertical blurry divider within div tag +

+ + +
+
+
+ +
5000+
+
Components
+ +
+ +
+ +
490+
+
Design blocks
+ +
+ +
+ +
100+
+
Templates
+ +
+ +
+ +
28
+
Plugins
+
+
+
+ + +
+
+
+ +
+

Blurry divider

+ +
+ +

Standard divider

+ +
+ +
+
+ +
+
+
+
+ + + + + + + + + + + + + + diff --git a/demo/sites/components/dropdown.html b/demo/sites/components/dropdown.html new file mode 100644 index 000000000..70f528397 --- /dev/null +++ b/demo/sites/components/dropdown.html @@ -0,0 +1,637 @@ + + + + + + + + Album example · Bootstrap v5.1 + + + + + + + + + + + + + +
+
+
+
+ +

+ Dropdown +

+ +
+
+
+ +

+ Dark dropdowns +

+ +
+ + +
+ +
+
+
+ +

+ Basic example +

+ +
+ + +
+ +
+
+
+ +

+ Dropup +

+ +
+ + +
+ +
+
+
+ +

+ Dropright +

+ +
+ + +
+ +
+
+
+ +

+ Dropleft +

+ +
+ + +
+ +
+
+
+ +

+ Dropdown divider +

+ +
+ + +
+ +
+
+
+ +

+ Dropdown disabled +

+ +
+ + +
+ +
+
+
+ +

+ Dropdown header +

+ +
+ + +
+ +
+
+
+ +

+ Dropdown item text +

+ +
+ + +
+ +
+
+
+
+ + + + + + + + + + + + + + + + diff --git a/demo/sites/components/figures.html b/demo/sites/components/figures.html new file mode 100644 index 000000000..7910c1af9 --- /dev/null +++ b/demo/sites/components/figures.html @@ -0,0 +1,85 @@ + + + + + + + + Figures + + + + + + + + + + + + + + + +
+
+
+
+ +

Basic example

+
+ +
+ Taking up Water with a Spoon +
+ A caption for the above image. +
+
+ +
+
+
+ +

+ Aligning the figure's caption is easy with our text utilities. +

+
+ +
+ Hollywood Sign on The Hill +
+ A caption for the above image. +
+
+ +
+
+
+
+ + + + + + + + + + + + + + diff --git a/demo/sites/bs/gallery.html b/demo/sites/components/gallery.html similarity index 79% rename from demo/sites/bs/gallery.html rename to demo/sites/components/gallery.html index 1c7dab127..c5d338dde 100644 --- a/demo/sites/bs/gallery.html +++ b/demo/sites/components/gallery.html @@ -7,11 +7,10 @@ Album example · Bootstrap v5.1 - + + href="https://fonts.googleapis.com/css?family=Roboto:300,400,500,700,900&display=swap" + rel="stylesheet" /> @@ -20,37 +19,34 @@ - +



-
+
Lightbox image 1 + style="cursor: zoom-in" />
Lightbox image 2 + style="cursor: zoom-in" />
Lightbox image 3 + style="cursor: zoom-in" />
@@ -58,30 +54,27 @@

-
+
Lightbox image 1 + style="cursor: zoom-in" />
Lightbox image 2 + style="cursor: zoom-in" />
Lightbox image 3 + style="cursor: zoom-in" />
@@ -89,22 +82,20 @@

-
+
Lightbox image 1 + class="mb-2 w-full md:mb-4" /> Lightbox image 2 + class="w-full" />
Lightbox image 3 + class="w-full" />
@@ -122,15 +112,14 @@
-
+
Lightbox image 1 + style="cursor: zoom-in" />
Lightbox image 2 + style="cursor: zoom-in" />
Disabled image + class="w-full" />
Lightbox image 3 + style="cursor: zoom-in" />
@@ -167,12 +153,16 @@
+ + - + diff --git a/demo/sites/components/headers.html b/demo/sites/components/headers.html new file mode 100644 index 000000000..638f0699f --- /dev/null +++ b/demo/sites/components/headers.html @@ -0,0 +1,259 @@ + + + + + + + + Album example · Bootstrap v5.1 + + + + + + + + + + + + + +
+
+
+
+ + +
+ + +
+

Heading

+

Subeading

+ Get started +
+
+ + +
+
+
+ + +
+ + +
+
+
+
+

Heading

+

Subeading

+ +
+
+
+
+
+ + +
+
+
+
+ + + + + + + + + + + + + + diff --git a/demo/sites/components/headings.html b/demo/sites/components/headings.html new file mode 100644 index 000000000..e4aa38601 --- /dev/null +++ b/demo/sites/components/headings.html @@ -0,0 +1,68 @@ + + + + + + + + Album example · Bootstrap v5.1 + + + + + + + + + + + + + +
+
+
+
+ +

+ Tailwind Elements +

+

+ Tailwind Elements +

+

+ Tailwind Elements +

+

+ Tailwind Elements +

+
+ Tailwind Elements +
+
+ Tailwind Elements +
+ +
+
+
+
+ + + + + + + + + + + + + + diff --git a/demo/sites/components/hover-effects.html b/demo/sites/components/hover-effects.html new file mode 100644 index 000000000..81e1910aa --- /dev/null +++ b/demo/sites/components/hover-effects.html @@ -0,0 +1,165 @@ + + + + + + + + Album example · Bootstrap v5.1 + + + + + + + + + + + + + +
+
+
+
+ +
+ Louvre + +
+
+
+ +
+
+
+ +
+
+
+ Louvre +
+
+
+
+
+ Louvre +
+
+
+
+
+ Louvre +
+
+
+
+
+
+
+ Louvre +
+
+
+
+
+ Louvre +
+
+
+
+
+ Louvre +
+
+
+
+ +
+
+
+ +
+ Louvre +
+
+ +
+
+
+ +
+ Louvre +
+ +
+
+
+ + Louvre + +
+
+
+
+ + + + + + + + + + + + + + diff --git a/demo/sites/bs/icons.html b/demo/sites/components/icons.html similarity index 85% rename from demo/sites/bs/icons.html rename to demo/sites/components/icons.html index ed49c495c..7e7a8eb12 100644 --- a/demo/sites/bs/icons.html +++ b/demo/sites/components/icons.html @@ -12,15 +12,14 @@ + href="https://cdnjs.cloudflare.com/ajax/libs/tailwindcss/2.2.17/tailwind.min.css" /> - - + +

@@ -33,225 +32,195 @@ focusable="false" data-prefix="fas" data-icon="graduation-cap" - class="w-7 h-7" + class="h-7 w-7" role="img" xmlns="http://www.w3.org/2000/svg" - viewBox="0 0 640 512" - > + viewBox="0 0 640 512"> + d="M622.34 153.2L343.4 67.5c-15.2-4.67-31.6-4.67-46.79 0L17.66 153.2c-23.54 7.23-23.54 38.36 0 45.59l48.63 14.94c-10.67 13.19-17.23 29.28-17.88 46.9C38.78 266.15 32 276.11 32 288c0 10.78 5.68 19.85 13.86 25.65L20.33 428.53C18.11 438.52 25.71 448 35.94 448h56.11c10.24 0 17.84-9.48 15.62-19.47L82.14 313.65C90.32 307.85 96 298.78 96 288c0-11.57-6.47-21.25-15.66-26.87.76-15.02 8.44-28.3 20.69-36.72L296.6 284.5c9.06 2.78 26.44 6.25 46.79 0l278.95-85.7c23.55-7.24 23.55-38.36 0-45.6zM352.79 315.09c-28.53 8.76-52.84 3.92-65.59 0l-145.02-44.55L128 384c0 35.35 85.96 64 192 64s192-28.65 192-64l-14.18-113.47-145.03 44.56z">
@@ -259,231 +228,201 @@

-
+
@@ -501,12 +440,16 @@
+ + - + diff --git a/demo/sites/components/images.html b/demo/sites/components/images.html new file mode 100644 index 000000000..8a892ec89 --- /dev/null +++ b/demo/sites/components/images.html @@ -0,0 +1,158 @@ + + + + + + + + Images + + + + + + + + + + + + + + + +
+
+

Responsive images

+
+ + Wild Landscape +
+ +
+

Thumbnails

+
+ + Hollywood Sign on The Hill +
+ +
+

Shadows

+
+ + Palm Springs Road +
+ +
+

Hover shadow

+
+ + Los Angeles Skyscrapers +
+ +
+

+ Ripple (biorę z dokumentacji ripple, ale nie działa, nie wiem czemu) +

+
+ + + example + +
+ +
+

Masks

+
+ +
+ Sample +
+
+

Can you see me?

+
+
+
+
+ +
+

Hover effects

+
+ +
+ + +
+
+
+
+ +
+

Shapes

+
+ +
+ Townhouses and Skyscrapers + + Townhouses and Skyscrapers + + Townhouses and Skyscrapers +
+
+
+ + + + + + + + + + + + + + diff --git a/demo/sites/components/jumbotron.html b/demo/sites/components/jumbotron.html new file mode 100644 index 000000000..e1f371db2 --- /dev/null +++ b/demo/sites/components/jumbotron.html @@ -0,0 +1,883 @@ + + + + + + + + Album example · Bootstrap v5.1 + + + + + + + + + + + + +
+
+
+
+ + +
+

Hello world!

+

+ This is a simple hero unit, a simple jumbotron-style component for + calling extra attention to featured content or information. +

+
+

+ It uses utility classes for typography and spacing to space content + out within the larger container. +

+ +
+ + +
+
+
+ + +
+
+
+
+

Heading

+

Subheading

+ Call to action +
+
+
+
+ + +
+
+
+ +
+ + + + + +
+

Heading

+

Subheading

+ +
+ +
+ +
+
+
+ +
+ + + + + +
+
+
+
+

Heading

+

Subheading

+ Call to action +
+
+
+
+ +
+ +
+
+
+ +
+ + + + + +
+
+
+
+

+ The background photo shows Lido di Ostia +

+

+ It is a coastal town in Italy that is part of Rome +

+ Learn more about Rome +
+
+
+
+ +
+ +
+
+
+ + + +
+ + + + + + + +
+

Heading

+

Subheading

+ +
+ + +

Scroll down

+

Scroll down

+

Scroll down

+

Scroll down

+

Scroll down

+

Scroll down

+

Scroll down

+

Scroll down

+
+ + + +
+ + + + + +
+

Heading

+

Subheading

+ +
+ +
+ +
+
+
+ + + +
+ + + + + + + +
+
+
+
+

Heading

+

Subheading

+ Call to action +
+
+
+
+ + +

Scroll down

+

Scroll down

+

Scroll down

+

Scroll down

+

Scroll down

+

Scroll down

+

Scroll down

+

Scroll down

+
+ + + +
+ + + + + +
+
+
+
+

Heading

+

Subheading

+ Call to action +
+
+
+
+ +
+ +
+
+
+
+ + + + + + + + + + + + + diff --git a/demo/sites/bs/link.html b/demo/sites/components/link.html similarity index 53% rename from demo/sites/bs/link.html rename to demo/sites/components/link.html index d7d730d5d..b0204aa08 100644 --- a/demo/sites/bs/link.html +++ b/demo/sites/components/link.html @@ -7,11 +7,10 @@ Album example · Bootstrap v5.1 - + + href="https://fonts.googleapis.com/css?family=Roboto:300,400,500,700,900&display=swap" + rel="stylesheet" /> @@ -20,7 +19,7 @@ - +

@@ -33,8 +32,10 @@

- This is a classic web blue link example without underlineThis is a classic web primary link example without underline
@@ -42,13 +43,16 @@

- This is an example of how the basic link looks in the - middle of the sentence. + This is an example of how the basic + link looks in the middle of the + sentence.

This is an example of how the - classic blue linkclassic primary link looks in the middle of the sentence.

@@ -59,7 +63,7 @@ This is the primary link @@ -69,7 +73,7 @@ This is the secondary link @@ -79,7 +83,7 @@ This is a success link @@ -89,7 +93,7 @@ This is a danger link @@ -99,7 +103,7 @@ This is a warning link @@ -109,7 +113,7 @@ This is an info link @@ -119,7 +123,7 @@ This is a light link @@ -129,7 +133,7 @@ This is a dark link @@ -137,10 +141,10 @@

-
+ @@ -151,7 +155,7 @@ A link with underline on hover @@ -161,8 +165,7 @@ @@ -172,12 +175,16 @@
+ + - + diff --git a/demo/sites/components/list-group.html b/demo/sites/components/list-group.html new file mode 100644 index 000000000..f720983fb --- /dev/null +++ b/demo/sites/components/list-group.html @@ -0,0 +1,204 @@ + + + + + + + + Album example · Bootstrap v5.1 + + + + + + + + + + + + + +
+
+
+
+ +

Basic

+
    +
  • + An item +
  • +
  • + A second item +
  • +
  • + A third item +
  • +
  • + A fourth item +
  • +
  • And a fifth one
  • +
+ +
+
+
+ +

Active item

+
    +
  • + An active item +
  • +
  • + A second item +
  • +
  • + A third item +
  • +
  • + A fourth item +
  • +
  • And a fifth one
  • +
+ +
+
+
+ +

Disabled

+
    +
  • + A disabled item +
  • +
  • + A second item +
  • +
  • + A third item +
  • +
  • + A fourth item +
  • +
  • And a fifth one
  • +
+ +
+
+
+ +

Links

+ + +
+
+
+ +

Buttons

+
+ + + + + +
+ +
+
+
+ +

Flush

+
    +
  • + An item +
  • +
  • + A second item +
  • +
  • + A third item +
  • +
  • + A fourth item +
  • +
  • And a fifth one
  • +
+ +
+
+
+
+ + + + + + + + + + + + + + diff --git a/demo/sites/components/login-form.html b/demo/sites/components/login-form.html new file mode 100644 index 000000000..f8ade86a6 --- /dev/null +++ b/demo/sites/components/login-form.html @@ -0,0 +1,449 @@ + + + + + + + + Album example · Bootstrap v5.1 + + + + + + + + + + + + + +
+
+
+
+ +

+ Login forms +

+ +
+
+
+ +

v.1

+ +
+
+
+
+ Sample image +
+
+
+
+

Sign in with

+ + + + + +
+ +
+

+ Or +

+
+ + +
+ + +
+ + +
+ + +
+ +
+
+ + +
+ Forgot password? +
+ +
+ +

+ Don't have an account? + Register +

+
+
+
+
+
+
+ +
+
+
+ +

v.2

+ +
+
+
+
+
+
+
+
+
+ logo +

+ We are The Lotus Team +

+
+
+

Please login to your account

+
+ + +
+
+ + +
+
+ + Forgot password? +
+
+

Don't have an account?

+ +
+
+
+
+
+
+

+ We are more than just a company +

+

+ Lorem ipsum dolor sit amet, consectetur adipisicing + elit, sed do eiusmod tempor incididunt ut labore et + dolore magna aliqua. Ut enim ad minim veniam, quis + nostrud exercitation ullamco laboris nisi ut aliquip ex + ea commodo consequat. +

+
+
+
+
+
+
+
+
+ +
+
+
+ +

v.3

+ +
+
+
+
+ Phone image +
+
+
+ +
+ + +
+ + +
+ + +
+ +
+
+ + +
+ Forgot password? +
+ + + + +
+

+ OR +

+
+ + + + + + Continue with Facebook + + + + + + Continue with Twitter + +
+
+
+
+
+ +
+
+
+ +

v.4

+ +
+
+
+ +

v.5

+ +
+
+
+
+ + + + + + + + + + + + + + diff --git a/demo/sites/components/mask.html b/demo/sites/components/mask.html new file mode 100644 index 000000000..5288f6264 --- /dev/null +++ b/demo/sites/components/mask.html @@ -0,0 +1,304 @@ + + + + + + + + Album example · Bootstrap v5.1 + + + + + + + + + + + + + +
+
+
+
+ +
+ +
+
+ +
+
+
+ +
+
+
+ +
+
+
+
+
+ +
+
+
+
+
+ +
+
+
+
+
+
+
+ +
+
+
+
+
+ +
+
+
+
+
+ +
+
+
+
+ +
+
+
+ +
+ +
+
+ +
+
+
+ +
+
+
+ +
+
+
+
+
+ +
+
+
+
+
+ +
+
+
+
+
+
+
+ +
+
+
+
+
+ +
+
+
+
+
+ +
+
+
+
+ +
+
+
+ +
+ +
+
+

Can you see me?

+
+
+
+ +
+
+
+ +
+
+
+ +
+
+
+
+
+ +
+
+
+
+ +
+
+
+ +
+ + +
+
+
+ +
+
+
+ +
+ + +
+
+
+ +
+
+
+
+ + + + + + + + + + + + + + diff --git a/demo/sites/components/masks.html b/demo/sites/components/masks.html new file mode 100644 index 000000000..32c883caf --- /dev/null +++ b/demo/sites/components/masks.html @@ -0,0 +1,408 @@ + + + + + + + + Masks + + + + + + + + + + + + + + + +
+
+

Basic example

+
+ +
+ +
+
+
+ +
+

Rgba color

+
+ +
+
+
+ +
+
+
+
+
+ +
+
+
+
+
+ +
+
+
+
+
+
+
+ +
+
+
+
+
+ +
+
+
+
+
+ +
+
+
+
+
+ +
+

Gradient

+
+ +
+ +
+
+
+ +
+

Opacity

+
+ +
+
+
+ +
+
+
+
+
+ +
+
+
+
+
+ +
+
+
+
+
+
+
+ +
+
+
+
+
+ +
+
+
+
+
+ +
+
+
+
+
+ +
+

Content

+
+ +
+ Louvre Museum +
+
+

Can you see me?

+
+
+
+
+ +
+

Ripple

+
+ +
+
+
+ +
+
+
+
+
+ +
+
+
+
+
+ +
+

Content

+
+ +
+ Louvre Museum +
+
+

Can you see me?

+
+
+
+
+ +
+

Link regular

+
+ +
+ + +
+
+
+
+ +
+

Link with ripple

+
+ +
+ + +
+
+
+
+ +
+

Gradient compositon

+
+ +
+
+ +
+ Alternative text + +
+
+
+

+ Can you see me? +

+
+
+
+
+
+
+ +
+ Alternative text + +
+
+
+

+ Can you see me? +

+
+
+
+
+
+
+ +
+ Alternative text + +
+
+
+

+ Can you see me? +

+
+
+
+
+
+
+
+
+ + + + + + + + + + + + + + diff --git a/demo/sites/components/modal.html b/demo/sites/components/modal.html new file mode 100644 index 000000000..cf360842c --- /dev/null +++ b/demo/sites/components/modal.html @@ -0,0 +1,1048 @@ + + + + + + + + Album example · Bootstrap v5.1 + + + + + + + + + + + + + +
+
+
+
+ + + + + + + +
+
+
+ + + + + + + +
+
+
+ + + + + + + +
+
+
+ + + + + + + +
+
+
+ +
+ + +
+ + + + + +
+
+
+ +
+ + + +
+ + + + + + + +
+
+
+ + + + + + + +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ + + + + + + + + + + + + + diff --git a/demo/sites/components/notification.html b/demo/sites/components/notification.html new file mode 100644 index 000000000..2308e752d --- /dev/null +++ b/demo/sites/components/notification.html @@ -0,0 +1,590 @@ + + + + + + + + Album example · Bootstrap v5.1 + + + + + + + + + + + + + +
+
+
+
+ +
+
+
+
+ +

+ You have a message! +

+
+
+
+ +
+
+
+ +
+
+ New +
+
+
+ +

+ Anne just posted a photo +

+
+
+
+ +
+
+
+ + +
+
+ Tab 1 content +
+
+ Tab 2 content +
+
+ Tab 3 content +
+
+ +
+
+
+ +
+
+ 99+ +
+ +
+ +
+
+
+ +
+
+ Text Here +
+ +
+ +
+
+
+ +
+
+ typing… +
+
+ +
+
+ +
+
+
+ +
+
+ +
+
+
Card title
+

+ Some quick example text to build on the card title and make up the + bulk of the card's content. +

+
+
+ +
+
+
+ +
+
+ Available +
+ + +
+ +
+
+
+ +
+
+
+
+ +

+ Unread notifications +

+
+
+
+ +
+
+
+ +
+
+
+
+ +

+ Unread notifications +

+
+
+
+ +
+
+
+ +
+
+
+
+ +

+ Unread notifications +

+
+
+
+ +
+
+
+ +
+
+
+
+ +

+ Unread notifications +

+
+
+
+ +
+
+
+ +
+
+
+
+ +

+ Unread notifications +

+
+
+
+ +
+
+
+ +
+
+
+
+ +

+ Unread notifications +

+
+
+
+ +
+
+
+ +
+
+
+
+ +

+ Unread notifications +

+
+
+
+ +
+
+
+ +
+
+
+
+ +

+ Unread notifications +

+
+
+
+ +
+
+
+ +
+
+
+
+ +

+ Unread notifications +

+
+
+
+ +
+
+
+ +
+
+ 1 +
+
+ 2 +
+
+ 3 +
+
+ 4 +
+
+ 5 +
+
+ 6 +
+
+ 7 +
+
+ 8 +
+
+ 9 +
+
+

+ Unread notifications +

+
+
+ +
+
+
+
+ + + + + + + + + + + + + + diff --git a/demo/sites/components/offcanvas.html b/demo/sites/components/offcanvas.html new file mode 100644 index 000000000..cf81ab3d5 --- /dev/null +++ b/demo/sites/components/offcanvas.html @@ -0,0 +1,303 @@ + + + + + + + + Album example · Bootstrap v5.1 + + + + + + + + + + + + + +
+
+
+
+ +

+ Offcanvas +

+ +
+
+
+ +

+ Basic +

+ + + Link with href + + + + + +
+
+
+ +

+ Placement +

+ + + + + +
+
+
+ + + + + +
+
+
+ + + + + +
+
+
+
+ + + + + + + + + + + + + + diff --git a/demo/sites/components/paragraphs.html b/demo/sites/components/paragraphs.html new file mode 100644 index 000000000..456899332 --- /dev/null +++ b/demo/sites/components/paragraphs.html @@ -0,0 +1,118 @@ + + + + + + + + Album example · Bootstrap v5.1 + + + + + + + + + + + + + +
+
+
+
+ +

+ I will be the leader of a company that ends up being worth billions of + dollars, because I got the answers. I understand culture. I am the + nucleus. I think that’s a responsibility that I have, to push + possibilities, to show people, this is the level that things could be + at. +

+ +
+
+
+ +

+ I will be the leader of a company that ends up being worth billions of + dollars, because I got the answers. I understand culture. I am the + nucleus. I think that’s a responsibility that I have, to push + possibilities, to show people, this is the level that things could be + at. +

+ +
+
+
+ +

+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer posuere + erat a ante. +

+
+ - Someone famous in Source Title +
+ +
+
+
+ + + I will be the leader of a company that ends up being worth billions of + dollars, because I got the answers. I understand culture. I am the + nucleus. I think that’s a responsibility that I have, to push + possibilities, to show people, this is the level that things could be + at. + + +
+
+
+ +

You can use the mark tag to highlight text.

+

+ This line of text is meant to be treated as deleted text. +

+

+ This line of text is meant to be treated as no longer accurate. +

+

+ This line of text is meant to be treated as an addition to the + document. +

+

This line of text will render as underlined.

+

+ This line of text is meant to be treated as fine print. +

+

This line rendered as bold text.

+

This line rendered as italicized text.

+ +
+
+
+
+ + + + + + + + + + + + + + diff --git a/demo/sites/components/placeholder.html b/demo/sites/components/placeholder.html new file mode 100644 index 000000000..4ebe2d724 --- /dev/null +++ b/demo/sites/components/placeholder.html @@ -0,0 +1,209 @@ + + + + + + + + Placeholder + + + + + + + + + + + + + + + +
+
+
+
+ +

Basic example

+
+ +
+
+ ... +
+
+ Card title +
+

+ Some quick example text to build on the card title and make up the + bulk of the card's content. +

+ Go somewhere +
+
+ +
+ +
+
+
+ +

How it works

+
+ + + + +
+
+
+ +

Width

+
+ + + + + +
+
+
+ +

Colors

+
+ + + + + + + + + + + +
+
+
+ +

Sizing

+
+ + + + + + +
+
+
+ +

Animation

+
+ +

+ +

+ +

+ +

+ +
+
+
+
+ + + + + + + + + + + + + + diff --git a/demo/sites/components/popover.html b/demo/sites/components/popover.html new file mode 100644 index 000000000..e7072cbee --- /dev/null +++ b/demo/sites/components/popover.html @@ -0,0 +1,132 @@ + + + + + + + + Album example · Bootstrap v5.1 + + + + + + + + + + + + +
+
+
+
+ + + + +
+
+
+ + + + + + +
+
+
+ + Dismissible popover + +
+
+
+ + + + + +
+
+
+
+ + + + + + + + + + + + diff --git a/demo/sites/components/progress.html b/demo/sites/components/progress.html new file mode 100644 index 000000000..b0513aedc --- /dev/null +++ b/demo/sites/components/progress.html @@ -0,0 +1,83 @@ + + + + + + + + Album example · Bootstrap v5.1 + + + + + + + + + + + + + +
+
+
+
+ +
+
+
+ +
+
+
+ +
Small
+
+
+
+ +
Default
+
+
+
+ +
Large
+
+
+
+ +
+
+
+ +
+
+ 45% +
+
+ +
+
+
+
+ + + + + + + + + + + + + + diff --git a/demo/sites/bs/rating.html b/demo/sites/components/rating.html similarity index 84% rename from demo/sites/bs/rating.html rename to demo/sites/components/rating.html index 3ad7284bc..eb0aae025 100644 --- a/demo/sites/bs/rating.html +++ b/demo/sites/components/rating.html @@ -12,22 +12,23 @@ + href="https://cdnjs.cloudflare.com/ajax/libs/tailwindcss/2.2.17/tailwind.min.css" /> - - + +



- +
  • @@ -36,15 +37,13 @@ focusable="false" data-prefix="far" data-icon="star" - class="w-4 text-yellow-500 mr-1" + class="mr-1 w-4 text-yellow-500" role="img" xmlns="http://www.w3.org/2000/svg" - viewBox="0 0 576 512" - > + viewBox="0 0 576 512"> + d="M528.1 171.5L382 150.2 316.7 17.8c-11.7-23.6-45.6-23.9-57.4 0L194 150.2 47.9 171.5c-26.2 3.8-36.7 36.1-17.7 54.6l105.7 103-25 145.5c-4.5 26.3 23.2 46 46.4 33.7L288 439.6l130.7 68.7c23.2 12.2 50.9-7.4 46.4-33.7l-25-145.5 105.7-103c19-18.5 8.5-50.8-17.7-54.6zM388.6 312.3l23.7 138.4L288 385.4l-124.3 65.3 23.7-138.4-100.6-98 139-20.2 62.2-126 62.2 126 139 20.2-100.6 98z">
  • @@ -53,15 +52,13 @@ focusable="false" data-prefix="far" data-icon="star" - class="w-4 text-yellow-500 mr-1" + class="mr-1 w-4 text-yellow-500" role="img" xmlns="http://www.w3.org/2000/svg" - viewBox="0 0 576 512" - > + viewBox="0 0 576 512"> + d="M528.1 171.5L382 150.2 316.7 17.8c-11.7-23.6-45.6-23.9-57.4 0L194 150.2 47.9 171.5c-26.2 3.8-36.7 36.1-17.7 54.6l105.7 103-25 145.5c-4.5 26.3 23.2 46 46.4 33.7L288 439.6l130.7 68.7c23.2 12.2 50.9-7.4 46.4-33.7l-25-145.5 105.7-103c19-18.5 8.5-50.8-17.7-54.6zM388.6 312.3l23.7 138.4L288 385.4l-124.3 65.3 23.7-138.4-100.6-98 139-20.2 62.2-126 62.2 126 139 20.2-100.6 98z">
  • @@ -70,15 +67,13 @@ focusable="false" data-prefix="far" data-icon="star" - class="w-4 text-yellow-500 mr-1" + class="mr-1 w-4 text-yellow-500" role="img" xmlns="http://www.w3.org/2000/svg" - viewBox="0 0 576 512" - > + viewBox="0 0 576 512"> + d="M528.1 171.5L382 150.2 316.7 17.8c-11.7-23.6-45.6-23.9-57.4 0L194 150.2 47.9 171.5c-26.2 3.8-36.7 36.1-17.7 54.6l105.7 103-25 145.5c-4.5 26.3 23.2 46 46.4 33.7L288 439.6l130.7 68.7c23.2 12.2 50.9-7.4 46.4-33.7l-25-145.5 105.7-103c19-18.5 8.5-50.8-17.7-54.6zM388.6 312.3l23.7 138.4L288 385.4l-124.3 65.3 23.7-138.4-100.6-98 139-20.2 62.2-126 62.2 126 139 20.2-100.6 98z">
  • @@ -87,15 +82,13 @@ focusable="false" data-prefix="far" data-icon="star" - class="w-4 text-yellow-500 mr-1" + class="mr-1 w-4 text-yellow-500" role="img" xmlns="http://www.w3.org/2000/svg" - viewBox="0 0 576 512" - > + viewBox="0 0 576 512"> + d="M528.1 171.5L382 150.2 316.7 17.8c-11.7-23.6-45.6-23.9-57.4 0L194 150.2 47.9 171.5c-26.2 3.8-36.7 36.1-17.7 54.6l105.7 103-25 145.5c-4.5 26.3 23.2 46 46.4 33.7L288 439.6l130.7 68.7c23.2 12.2 50.9-7.4 46.4-33.7l-25-145.5 105.7-103c19-18.5 8.5-50.8-17.7-54.6zM388.6 312.3l23.7 138.4L288 385.4l-124.3 65.3 23.7-138.4-100.6-98 139-20.2 62.2-126 62.2 126 139 20.2-100.6 98z">
  • @@ -107,12 +100,10 @@ class="w-4 text-yellow-500" role="img" xmlns="http://www.w3.org/2000/svg" - viewBox="0 0 576 512" - > + viewBox="0 0 576 512"> + d="M528.1 171.5L382 150.2 316.7 17.8c-11.7-23.6-45.6-23.9-57.4 0L194 150.2 47.9 171.5c-26.2 3.8-36.7 36.1-17.7 54.6l105.7 103-25 145.5c-4.5 26.3 23.2 46 46.4 33.7L288 439.6l130.7 68.7c23.2 12.2 50.9-7.4 46.4-33.7l-25-145.5 105.7-103c19-18.5 8.5-50.8-17.7-54.6zM388.6 312.3l23.7 138.4L288 385.4l-124.3 65.3 23.7-138.4-100.6-98 139-20.2 62.2-126 62.2 126 139 20.2-100.6 98z">
@@ -128,15 +119,13 @@ focusable="false" data-prefix="fas" data-icon="star" - class="w-4 text-yellow-500 mr-1" + class="mr-1 w-4 text-yellow-500" role="img" xmlns="http://www.w3.org/2000/svg" - viewBox="0 0 576 512" - > + viewBox="0 0 576 512"> + d="M259.3 17.8L194 150.2 47.9 171.5c-26.2 3.8-36.7 36.1-17.7 54.6l105.7 103-25 145.5c-4.5 26.3 23.2 46 46.4 33.7L288 439.6l130.7 68.7c23.2 12.2 50.9-7.4 46.4-33.7l-25-145.5 105.7-103c19-18.5 8.5-50.8-17.7-54.6L382 150.2 316.7 17.8c-11.7-23.6-45.6-23.9-57.4 0z">
  • @@ -145,15 +134,13 @@ focusable="false" data-prefix="fas" data-icon="star" - class="w-4 text-yellow-500 mr-1" + class="mr-1 w-4 text-yellow-500" role="img" xmlns="http://www.w3.org/2000/svg" - viewBox="0 0 576 512" - > + viewBox="0 0 576 512"> + d="M259.3 17.8L194 150.2 47.9 171.5c-26.2 3.8-36.7 36.1-17.7 54.6l105.7 103-25 145.5c-4.5 26.3 23.2 46 46.4 33.7L288 439.6l130.7 68.7c23.2 12.2 50.9-7.4 46.4-33.7l-25-145.5 105.7-103c19-18.5 8.5-50.8-17.7-54.6L382 150.2 316.7 17.8c-11.7-23.6-45.6-23.9-57.4 0z">
  • @@ -162,15 +149,13 @@ focusable="false" data-prefix="fas" data-icon="star" - class="w-4 text-yellow-500 mr-1" + class="mr-1 w-4 text-yellow-500" role="img" xmlns="http://www.w3.org/2000/svg" - viewBox="0 0 576 512" - > + viewBox="0 0 576 512"> + d="M259.3 17.8L194 150.2 47.9 171.5c-26.2 3.8-36.7 36.1-17.7 54.6l105.7 103-25 145.5c-4.5 26.3 23.2 46 46.4 33.7L288 439.6l130.7 68.7c23.2 12.2 50.9-7.4 46.4-33.7l-25-145.5 105.7-103c19-18.5 8.5-50.8-17.7-54.6L382 150.2 316.7 17.8c-11.7-23.6-45.6-23.9-57.4 0z">
  • @@ -179,15 +164,13 @@ focusable="false" data-prefix="far" data-icon="star" - class="w-4 text-yellow-500 mr-1" + class="mr-1 w-4 text-yellow-500" role="img" xmlns="http://www.w3.org/2000/svg" - viewBox="0 0 576 512" - > + viewBox="0 0 576 512"> + d="M528.1 171.5L382 150.2 316.7 17.8c-11.7-23.6-45.6-23.9-57.4 0L194 150.2 47.9 171.5c-26.2 3.8-36.7 36.1-17.7 54.6l105.7 103-25 145.5c-4.5 26.3 23.2 46 46.4 33.7L288 439.6l130.7 68.7c23.2 12.2 50.9-7.4 46.4-33.7l-25-145.5 105.7-103c19-18.5 8.5-50.8-17.7-54.6zM388.6 312.3l23.7 138.4L288 385.4l-124.3 65.3 23.7-138.4-100.6-98 139-20.2 62.2-126 62.2 126 139 20.2-100.6 98z">
  • @@ -199,12 +182,10 @@ class="w-4 text-yellow-500" role="img" xmlns="http://www.w3.org/2000/svg" - viewBox="0 0 576 512" - > + viewBox="0 0 576 512"> + d="M528.1 171.5L382 150.2 316.7 17.8c-11.7-23.6-45.6-23.9-57.4 0L194 150.2 47.9 171.5c-26.2 3.8-36.7 36.1-17.7 54.6l105.7 103-25 145.5c-4.5 26.3 23.2 46 46.4 33.7L288 439.6l130.7 68.7c23.2 12.2 50.9-7.4 46.4-33.7l-25-145.5 105.7-103c19-18.5 8.5-50.8-17.7-54.6zM388.6 312.3l23.7 138.4L288 385.4l-124.3 65.3 23.7-138.4-100.6-98 139-20.2 62.2-126 62.2 126 139 20.2-100.6 98z">
  • @@ -220,15 +201,13 @@ focusable="false" data-prefix="fas" data-icon="heart" - class="w-3.5 text-red-500 mr-1" + class="mr-1 w-3.5 text-red-500" role="img" xmlns="http://www.w3.org/2000/svg" - viewBox="0 0 512 512" - > + viewBox="0 0 512 512"> + d="M462.3 62.6C407.5 15.9 326 24.3 275.7 76.2L256 96.5l-19.7-20.3C186.1 24.3 104.5 15.9 49.7 62.6c-62.8 53.6-66.1 149.8-9.9 207.9l193.5 199.8c12.5 12.9 32.8 12.9 45.3 0l193.5-199.8c56.3-58.1 53-154.3-9.8-207.9z">
  • @@ -237,15 +216,13 @@ focusable="false" data-prefix="fas" data-icon="heart" - class="w-3.5 text-red-500 mr-1" + class="mr-1 w-3.5 text-red-500" role="img" xmlns="http://www.w3.org/2000/svg" - viewBox="0 0 512 512" - > + viewBox="0 0 512 512"> + d="M462.3 62.6C407.5 15.9 326 24.3 275.7 76.2L256 96.5l-19.7-20.3C186.1 24.3 104.5 15.9 49.7 62.6c-62.8 53.6-66.1 149.8-9.9 207.9l193.5 199.8c12.5 12.9 32.8 12.9 45.3 0l193.5-199.8c56.3-58.1 53-154.3-9.8-207.9z">
  • @@ -254,15 +231,13 @@ focusable="false" data-prefix="fas" data-icon="heart" - class="w-3.5 text-red-500 mr-1" + class="mr-1 w-3.5 text-red-500" role="img" xmlns="http://www.w3.org/2000/svg" - viewBox="0 0 512 512" - > + viewBox="0 0 512 512"> + d="M462.3 62.6C407.5 15.9 326 24.3 275.7 76.2L256 96.5l-19.7-20.3C186.1 24.3 104.5 15.9 49.7 62.6c-62.8 53.6-66.1 149.8-9.9 207.9l193.5 199.8c12.5 12.9 32.8 12.9 45.3 0l193.5-199.8c56.3-58.1 53-154.3-9.8-207.9z">
  • @@ -271,15 +246,13 @@ focusable="false" data-prefix="far" data-icon="heart" - class="w-3.5 text-red-500 mr-1" + class="mr-1 w-3.5 text-red-500" role="img" xmlns="http://www.w3.org/2000/svg" - viewBox="0 0 512 512" - > + viewBox="0 0 512 512"> + d="M458.4 64.3C400.6 15.7 311.3 23 256 79.3 200.7 23 111.4 15.6 53.6 64.3-21.6 127.6-10.6 230.8 43 285.5l175.4 178.7c10 10.2 23.4 15.9 37.6 15.9 14.3 0 27.6-5.6 37.6-15.8L469 285.6c53.5-54.7 64.7-157.9-10.6-221.3zm-23.6 187.5L259.4 430.5c-2.4 2.4-4.4 2.4-6.8 0L77.2 251.8c-36.5-37.2-43.9-107.6 7.3-150.7 38.9-32.7 98.9-27.8 136.5 10.5l35 35.7 35-35.7c37.8-38.5 97.8-43.2 136.5-10.6 51.1 43.1 43.5 113.9 7.3 150.8z">
  • @@ -291,12 +264,10 @@ class="w-3.5 text-red-500" role="img" xmlns="http://www.w3.org/2000/svg" - viewBox="0 0 512 512" - > + viewBox="0 0 512 512"> + d="M458.4 64.3C400.6 15.7 311.3 23 256 79.3 200.7 23 111.4 15.6 53.6 64.3-21.6 127.6-10.6 230.8 43 285.5l175.4 178.7c10 10.2 23.4 15.9 37.6 15.9 14.3 0 27.6-5.6 37.6-15.8L469 285.6c53.5-54.7 64.7-157.9-10.6-221.3zm-23.6 187.5L259.4 430.5c-2.4 2.4-4.4 2.4-6.8 0L77.2 251.8c-36.5-37.2-43.9-107.6 7.3-150.7 38.9-32.7 98.9-27.8 136.5 10.5l35 35.7 35-35.7c37.8-38.5 97.8-43.2 136.5-10.6 51.1 43.1 43.5 113.9 7.3 150.8z">
  • @@ -312,15 +283,13 @@ focusable="false" data-prefix="far" data-icon="angry" - class="w-5 text-blue-500 mr-1" + class="mr-1 w-5 text-primary-500" role="img" xmlns="http://www.w3.org/2000/svg" - viewBox="0 0 496 512" - > + viewBox="0 0 496 512"> + d="M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm0-144c-33.6 0-65.2 14.8-86.8 40.6-8.5 10.2-7.1 25.3 3.1 33.8s25.3 7.2 33.8-3c24.8-29.7 75-29.7 99.8 0 8.1 9.7 23.2 11.9 33.8 3 10.2-8.5 11.5-23.6 3.1-33.8-21.6-25.8-53.2-40.6-86.8-40.6zm-48-72c10.3 0 19.9-6.7 23-17.1 3.8-12.7-3.4-26.1-16.1-29.9l-80-24c-12.8-3.9-26.1 3.4-29.9 16.1-3.8 12.7 3.4 26.1 16.1 29.9l28.2 8.5c-3.1 4.9-5.3 10.4-5.3 16.6 0 17.7 14.3 32 32 32s32-14.4 32-32.1zm199-54.9c-3.8-12.7-17.1-19.9-29.9-16.1l-80 24c-12.7 3.8-19.9 17.2-16.1 29.9 3.1 10.4 12.7 17.1 23 17.1 0 17.7 14.3 32 32 32s32-14.3 32-32c0-6.2-2.2-11.7-5.3-16.6l28.2-8.5c12.7-3.7 19.9-17.1 16.1-29.8z">
  • @@ -329,15 +298,13 @@ focusable="false" data-prefix="far" data-icon="frown" - class="w-5 text-blue-500 mr-1" + class="mr-1 w-5 text-primary-500" role="img" xmlns="http://www.w3.org/2000/svg" - viewBox="0 0 496 512" - > + viewBox="0 0 496 512"> + d="M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm-80-216c17.7 0 32-14.3 32-32s-14.3-32-32-32-32 14.3-32 32 14.3 32 32 32zm160-64c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32-14.3-32-32-32zm-80 128c-40.2 0-78 17.7-103.8 48.6-8.5 10.2-7.1 25.3 3.1 33.8 10.2 8.4 25.3 7.1 33.8-3.1 16.6-19.9 41-31.4 66.9-31.4s50.3 11.4 66.9 31.4c8.1 9.7 23.1 11.9 33.8 3.1 10.2-8.5 11.5-23.6 3.1-33.8C326 321.7 288.2 304 248 304z">
  • @@ -346,15 +313,13 @@ focusable="false" data-prefix="far" data-icon="meh" - class="w-5 text-blue-500 mr-1" + class="mr-1 w-5 text-primary-500" role="img" xmlns="http://www.w3.org/2000/svg" - viewBox="0 0 496 512" - > + viewBox="0 0 496 512"> + d="M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm-80-216c17.7 0 32-14.3 32-32s-14.3-32-32-32-32 14.3-32 32 14.3 32 32 32zm160-64c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32-14.3-32-32-32zm8 144H160c-13.2 0-24 10.8-24 24s10.8 24 24 24h176c13.2 0 24-10.8 24-24s-10.8-24-24-24z">
  • @@ -363,15 +328,13 @@ focusable="false" data-prefix="far" data-icon="smile" - class="w-5 text-blue-500 mr-1" + class="mr-1 w-5 text-primary-500" role="img" xmlns="http://www.w3.org/2000/svg" - viewBox="0 0 496 512" - > + viewBox="0 0 496 512"> + d="M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm-80-216c17.7 0 32-14.3 32-32s-14.3-32-32-32-32 14.3-32 32 14.3 32 32 32zm160 0c17.7 0 32-14.3 32-32s-14.3-32-32-32-32 14.3-32 32 14.3 32 32 32zm4 72.6c-20.8 25-51.5 39.4-84 39.4s-63.2-14.3-84-39.4c-8.5-10.2-23.7-11.5-33.8-3.1-10.2 8.5-11.5 23.6-3.1 33.8 30 36 74.1 56.6 120.9 56.6s90.9-20.6 120.9-56.6c8.5-10.2 7.1-25.3-3.1-33.8-10.1-8.4-25.3-7.1-33.8 3.1z">
  • @@ -380,15 +343,13 @@ focusable="false" data-prefix="far" data-icon="grin-stars" - class="w-5 text-blue-500" + class="w-5 text-primary-500" role="img" xmlns="http://www.w3.org/2000/svg" - viewBox="0 0 496 512" - > + viewBox="0 0 496 512"> + d="M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm105.6-151.4c-25.9 8.3-64.4 13.1-105.6 13.1s-79.6-4.8-105.6-13.1c-9.8-3.1-19.4 5.3-17.7 15.3 7.9 47.2 71.3 80 123.3 80s115.3-32.9 123.3-80c1.6-9.8-7.7-18.4-17.7-15.3zm-227.9-57.5c-1 6.2 5.4 11 11 7.9l31.3-16.3 31.3 16.3c5.6 3.1 12-1.7 11-7.9l-6-34.9 25.4-24.6c4.5-4.5 1.9-12.2-4.3-13.2l-34.9-5-15.5-31.6c-2.9-5.8-11-5.8-13.9 0l-15.5 31.6-34.9 5c-6.2.9-8.9 8.6-4.3 13.2l25.4 24.6-6.1 34.9zm259.7-72.7l-34.9-5-15.5-31.6c-2.9-5.8-11-5.8-13.9 0l-15.5 31.6-34.9 5c-6.2.9-8.9 8.6-4.3 13.2l25.4 24.6-6 34.9c-1 6.2 5.4 11 11 7.9l31.3-16.3 31.3 16.3c5.6 3.1 12-1.7 11-7.9l-6-34.9 25.4-24.6c4.5-4.6 1.8-12.2-4.4-13.2z">
  • @@ -399,12 +360,16 @@
    + + - + diff --git a/demo/sites/bs/register-form.html b/demo/sites/components/register-form.html similarity index 52% rename from demo/sites/bs/register-form.html rename to demo/sites/components/register-form.html index 7ff11b21e..223997def 100644 --- a/demo/sites/bs/register-form.html +++ b/demo/sites/components/register-form.html @@ -7,11 +7,10 @@ Album example · Bootstrap v5.1 - + + href="https://fonts.googleapis.com/css?family=Roboto:300,400,500,700,900&display=swap" + rel="stylesheet" /> @@ -24,148 +23,138 @@ - +



    -

    Registration form

    +

    + Registration form +




    -

    Basic

    +

    + Basic +

    -
    +
    -
    -
    -
    +
    +
    +
    -

    Sign up

    + class="order-2 shrink-0 grow-0 basis-auto md:w-10/12 lg:order-1 lg:w-6/12 xl:w-5/12"> +

    + Sign up +

    -
    +
    + class="mr-3 h-5 w-5"> + d="M224 256c70.7 0 128-57.3 128-128S294.7 0 224 0 96 57.3 96 128s57.3 128 128 128zm89.6 32h-16.7c-22.2 10.2-46.9 16-72.9 16s-50.6-5.8-72.9-16h-16.7C60.2 288 0 348.2 0 422.4V464c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48v-41.6c0-74.2-60.2-134.4-134.4-134.4z" />
    + class="m-0 block w-full rounded border border-solid border-neutral-300 bg-white bg-clip-padding px-3 py-1.5 text-base font-normal text-neutral-700 transition ease-in-out focus:border-primary focus:bg-white focus:text-neutral-700 focus:shadow-te-primary focus:outline-none dark:bg-neutral-800 dark:text-neutral-200 dark:placeholder:text-neutral-200" + placeholder="Your Name" />
    -
    +
    + class="mr-3 h-5 w-5"> + d="M502.3 190.8c3.9-3.1 9.7-.2 9.7 4.7V400c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V195.6c0-5 5.7-7.8 9.7-4.7 22.4 17.4 52.1 39.5 154.1 113.6 21.1 15.4 56.7 47.8 92.2 47.6 35.7.3 72-32.8 92.3-47.6 102-74.1 131.6-96.3 154-113.7zM256 320c23.2.4 56.6-29.2 73.4-41.4 132.7-96.3 142.8-104.7 173.4-128.7 5.8-4.5 9.2-11.5 9.2-18.9v-19c0-26.5-21.5-48-48-48H48C21.5 64 0 85.5 0 112v19c0 7.4 3.4 14.3 9.2 18.9 30.6 23.9 40.7 32.4 173.4 128.7 16.8 12.2 50.2 41.8 73.4 41.4z">
    + class="m-0 block w-full rounded border border-solid border-neutral-300 bg-white bg-clip-padding px-3 py-1.5 text-base font-normal text-neutral-700 transition ease-in-out focus:border-primary focus:bg-white focus:text-neutral-700 focus:shadow-te-primary focus:outline-none dark:bg-neutral-800 dark:text-neutral-200 dark:placeholder:text-neutral-200" + placeholder="Your Email" />
    -
    +
    + class="mr-3 h-5 w-5"> + d="M400 224h-24v-72C376 68.2 307.8 0 224 0S72 68.2 72 152v72H48c-26.5 0-48 21.5-48 48v192c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V272c0-26.5-21.5-48-48-48zm-104 0H152v-72c0-39.7 32.3-72 72-72s72 32.3 72 72v72z">
    + class="m-0 block w-full rounded border border-solid border-neutral-300 bg-white bg-clip-padding px-3 py-1.5 text-base font-normal text-neutral-700 transition ease-in-out focus:border-primary focus:bg-white focus:text-neutral-700 focus:shadow-te-primary focus:outline-none dark:bg-neutral-800 dark:text-neutral-200 dark:placeholder:text-neutral-200" + placeholder="Password" />
    -
    +
    + class="mr-3 h-5 w-5"> + d="M512 176.001C512 273.203 433.202 352 336 352c-11.22 0-22.19-1.062-32.827-3.069l-24.012 27.014A23.999 23.999 0 0 1 261.223 384H224v40c0 13.255-10.745 24-24 24h-40v40c0 13.255-10.745 24-24 24H24c-13.255 0-24-10.745-24-24v-78.059c0-6.365 2.529-12.47 7.029-16.971l161.802-161.802C163.108 213.814 160 195.271 160 176 160 78.798 238.797.001 335.999 0 433.488-.001 512 78.511 512 176.001zM336 128c0 26.51 21.49 48 48 48s48-21.49 48-48-21.49-48-48-48-48 21.49-48 48z" />
    + class="m-0 block w-full rounded border border-solid border-neutral-300 bg-white bg-clip-padding px-3 py-1.5 text-base font-normal text-neutral-700 transition ease-in-out focus:border-primary focus:bg-white focus:text-neutral-700 focus:shadow-te-primary focus:outline-none dark:bg-neutral-800 dark:text-neutral-200 dark:placeholder:text-neutral-200" + placeholder="Repeat password" />
    -
    +
    + id="flexCheckDefault" />
    -
    +
    + class="order-1 flex shrink-0 grow-0 basis-auto items-center md:w-10/12 lg:order-2 lg:w-6/12 xl:w-7/12"> Sample image + alt="Sample image" />
    @@ -179,25 +168,25 @@

    Basic



    -

    v.2

    +

    v.2




    -

    v.3

    +

    v.3




    -

    v.4

    +

    v.4




    -

    v.5

    +

    v.5



    @@ -205,12 +194,16 @@

    v.5

    + + - + diff --git a/demo/sites/bs/scroll-button.html b/demo/sites/components/scroll-button.html similarity index 59% rename from demo/sites/bs/scroll-button.html rename to demo/sites/components/scroll-button.html index 21cef9e27..1a76fa063 100644 --- a/demo/sites/bs/scroll-button.html +++ b/demo/sites/components/scroll-button.html @@ -7,11 +7,10 @@ Album example · Bootstrap v5.1 - + + href="https://fonts.googleapis.com/css?family=Roboto:300,400,500,700,900&display=swap" + rel="stylesheet" /> @@ -20,14 +19,14 @@ - +



    -

    +

    Scroll back to top button

    @@ -38,32 +37,32 @@

    -
    +

    - Start scrolling the page and a strong "Back to top" button will appear - in the bottom right corner of the screen. + Start scrolling the page and a strong + "Back to top" button will appear in the + bottom right corner of the screen.

    Click this button and you will be taken to the top of the page.

    @@ -74,16 +73,20 @@

    + + - + + + + + + + + + + + diff --git a/demo/sites/bs/social-buttons.html b/demo/sites/components/social-buttons.html similarity index 77% rename from demo/sites/bs/social-buttons.html rename to demo/sites/components/social-buttons.html index 35668e0e5..d74f4c887 100644 --- a/demo/sites/bs/social-buttons.html +++ b/demo/sites/components/social-buttons.html @@ -7,11 +7,10 @@ Album example · Bootstrap v5.1 - + + href="https://fonts.googleapis.com/css?family=Roboto:300,400,500,700,900&display=swap" + rel="stylesheet" /> @@ -20,201 +19,243 @@ - +



    -
    +
    - + + d="M232 237.2c31.8-15.2 48.4-38.2 48.4-74 0-70.6-52.6-87.8-113.3-87.8H0v354.4h171.8c64.4 0 124.9-30.9 124.9-102.9 0-44.5-21.1-77.4-64.7-89.7zM77.9 135.9H151c28.1 0 53.4 7.9 53.4 40.5 0 30.1-19.7 42.2-47.5 42.2h-79v-82.7zm83.3 233.7H77.9V272h84.9c34.3 0 56 14.3 56 50.6 0 35.8-25.9 47-57.6 47zm358.5-240.7H376V94h143.7v34.9zM576 305.2c0-75.9-44.4-139.2-124.9-139.2-78.2 0-131.3 58.8-131.3 135.8 0 79.9 50.3 134.7 131.3 134.7 61.3 0 101-27.6 120.1-86.3H509c-6.7 21.9-34.3 33.5-55.7 33.5-41.3 0-63-24.2-63-65.3h185.1c.3-4.2.6-8.7.6-13.2zM390.4 274c2.3-33.7 24.7-54.8 58.5-54.8 35.4 0 53.2 20.8 56.2 54.8H390.4z" /> - + + d="M524.531,69.836a1.5,1.5,0,0,0-.764-.7A485.065,485.065,0,0,0,404.081,32.03a1.816,1.816,0,0,0-1.923.91,337.461,337.461,0,0,0-14.9,30.6,447.848,447.848,0,0,0-134.426,0,309.541,309.541,0,0,0-15.135-30.6,1.89,1.89,0,0,0-1.924-.91A483.689,483.689,0,0,0,116.085,69.137a1.712,1.712,0,0,0-.788.676C39.068,183.651,18.186,294.69,28.43,404.354a2.016,2.016,0,0,0,.765,1.375A487.666,487.666,0,0,0,176.02,479.918a1.9,1.9,0,0,0,2.063-.676A348.2,348.2,0,0,0,208.12,430.4a1.86,1.86,0,0,0-1.019-2.588,321.173,321.173,0,0,1-45.868-21.853,1.885,1.885,0,0,1-.185-3.126c3.082-2.309,6.166-4.711,9.109-7.137a1.819,1.819,0,0,1,1.9-.256c96.229,43.917,200.41,43.917,295.5,0a1.812,1.812,0,0,1,1.924.233c2.944,2.426,6.027,4.851,9.132,7.16a1.884,1.884,0,0,1-.162,3.126,301.407,301.407,0,0,1-45.89,21.83,1.875,1.875,0,0,0-1,2.611,391.055,391.055,0,0,0,30.014,48.815,1.864,1.864,0,0,0,2.063.7A486.048,486.048,0,0,0,610.7,405.729a1.882,1.882,0,0,0,.765-1.352C623.729,277.594,590.933,167.465,524.531,69.836ZM222.491,337.58c-28.972,0-52.844-26.587-52.844-59.239S193.056,219.1,222.491,219.1c29.665,0,53.306,26.82,52.843,59.239C275.334,310.993,251.924,337.58,222.491,337.58Zm195.38,0c-28.971,0-52.843-26.587-52.843-59.239S388.437,219.1,417.871,219.1c29.667,0,53.307,26.82,52.844,59.239C470.715,310.993,447.538,337.58,417.871,337.58Z" /> - + + d="M279.14 288l14.22-92.66h-88.91v-60.13c0-25.35 12.42-50.06 52.24-50.06h40.42V6.26S260.43 0 225.36 0c-73.22 0-121.08 44.38-121.08 124.72v70.62H22.89V288h81.39v224h100.17V288z" /> - + + d="M256.55 8C116.52 8 8 110.34 8 248.57c0 72.3 29.71 134.78 78.07 177.94 8.35 7.51 6.63 11.86 8.05 58.23A19.92 19.92 0 0 0 122 502.31c52.91-23.3 53.59-25.14 62.56-22.7C337.85 521.8 504 423.7 504 248.57 504 110.34 396.59 8 256.55 8zm149.24 185.13l-73 115.57a37.37 37.37 0 0 1-53.91 9.93l-58.08-43.47a15 15 0 0 0-18 0l-78.37 59.44c-10.46 7.93-24.16-4.6-17.11-15.67l73-115.57a37.36 37.36 0 0 1 53.91-9.93l58.06 43.46a15 15 0 0 0 18 0l78.41-59.38c10.44-7.98 24.14 4.54 17.09 15.62z" /> - + + d="M459.37 151.716c.325 4.548.325 9.097.325 13.645 0 138.72-105.583 298.558-298.558 298.558-59.452 0-114.68-17.219-161.137-47.106 8.447.974 16.568 1.299 25.34 1.299 49.055 0 94.213-16.568 130.274-44.832-46.132-.975-84.792-31.188-98.112-72.772 6.498.974 12.995 1.624 19.818 1.624 9.421 0 18.843-1.3 27.614-3.573-48.081-9.747-84.143-51.98-84.143-102.985v-1.299c13.969 7.797 30.214 12.67 47.431 13.319-28.264-18.843-46.781-51.005-46.781-87.391 0-19.492 5.197-37.36 14.294-52.954 51.655 63.675 129.3 105.258 216.365 109.807-1.624-7.797-2.599-15.918-2.599-24.04 0-57.828 46.782-104.934 104.934-104.934 30.213 0 57.502 12.67 76.67 33.137 23.715-4.548 46.456-13.32 66.599-25.34-7.798 24.366-24.366 44.833-46.132 57.827 21.117-2.273 41.584-8.122 60.426-16.243-14.292 20.791-32.161 39.308-52.628 54.253z" /> - + + d="M488 261.8C488 403.3 391.1 504 248 504 110.8 504 0 393.2 0 256S110.8 8 248 8c66.8 0 123 24.5 166.3 64.9l-67.5 64.9C258.5 52.6 94.3 116.6 94.3 256c0 86.5 69.1 156.6 153.7 156.6 98.2 0 135-70.4 140.8-106.9H248v-85.3h236.1c2.3 12.7 3.9 24.9 3.9 41.4z" /> - + + d="M224.1 141c-63.6 0-114.9 51.3-114.9 114.9s51.3 114.9 114.9 114.9S339 319.5 339 255.9 287.7 141 224.1 141zm0 189.6c-41.1 0-74.7-33.5-74.7-74.7s33.5-74.7 74.7-74.7 74.7 33.5 74.7 74.7-33.6 74.7-74.7 74.7zm146.4-194.3c0 14.9-12 26.8-26.8 26.8-14.9 0-26.8-12-26.8-26.8s12-26.8 26.8-26.8 26.8 12 26.8 26.8zm76.1 27.2c-1.7-35.9-9.9-67.7-36.2-93.9-26.2-26.2-58-34.4-93.9-36.2-37-2.1-147.9-2.1-184.9 0-35.8 1.7-67.6 9.9-93.9 36.1s-34.4 58-36.2 93.9c-2.1 37-2.1 147.9 0 184.9 1.7 35.9 9.9 67.7 36.2 93.9s58 34.4 93.9 36.2c37 2.1 147.9 2.1 184.9 0 35.9-1.7 67.7-9.9 93.9-36.2 26.2-26.2 34.4-58 36.2-93.9 2.1-37 2.1-147.8 0-184.8zM398.8 388c-7.8 19.6-22.9 34.7-42.6 42.6-29.5 11.7-99.5 9-132.1 9s-102.7 2.6-132.1-9c-19.6-7.8-34.7-22.9-42.6-42.6-11.7-29.5-9-99.5-9-132.1s-2.6-102.7 9-132.1c7.8-19.6 22.9-34.7 42.6-42.6 29.5-11.7 99.5-9 132.1-9s102.7-2.6 132.1 9c19.6 7.8 34.7 22.9 42.6 42.6 11.7 29.5 9 99.5 9 132.1s2.7 102.7-9 132.1z" /> - + + d="M100.28 448H7.4V148.9h92.88zM53.79 108.1C24.09 108.1 0 83.5 0 53.8a53.79 53.79 0 0 1 107.58 0c0 29.7-24.1 54.3-53.79 54.3zM447.9 448h-92.68V302.4c0-34.7-.7-79.2-48.29-79.2-48.29 0-55.69 37.7-55.69 76.7V448h-92.78V148.9h89.08v40.8h1.3c12.4-23.5 42.69-48.3 87.88-48.3 94 0 111.28 61.9 111.28 142.3V448z" /> - + + d="M204 6.5C101.4 6.5 0 74.9 0 185.6 0 256 39.6 296 63.6 296c9.9 0 15.6-27.6 15.6-35.4 0-9.3-23.7-29.1-23.7-67.8 0-80.4 61.2-137.4 140.4-137.4 68.1 0 118.5 38.7 118.5 109.8 0 53.1-21.3 152.7-90.3 152.7-24.9 0-46.2-18-46.2-43.8 0-37.8 26.4-74.4 26.4-113.4 0-66.2-93.9-54.2-93.9 25.8 0 16.8 2.1 35.4 9.6 50.7-13.8 59.4-42 147.9-42 209.1 0 18.9 2.7 37.5 4.5 56.4 3.4 3.8 1.7 3.4 6.9 1.5 50.4-69 48.6-82.5 71.4-172.8 12.3 23.4 44.1 36 69.3 36 106.2 0 153.9-103.5 153.9-196.8C384 71.3 298.2 6.5 204 6.5z" /> - + + d="M31.4907 63.4907C0 94.9813 0 145.671 0 247.04V264.96C0 366.329 0 417.019 31.4907 448.509C62.9813 480 113.671 480 215.04 480H232.96C334.329 480 385.019 480 416.509 448.509C448 417.019 448 366.329 448 264.96V247.04C448 145.671 448 94.9813 416.509 63.4907C385.019 32 334.329 32 232.96 32H215.04C113.671 32 62.9813 32 31.4907 63.4907ZM75.6 168.267H126.747C128.427 253.76 166.133 289.973 196 297.44V168.267H244.16V242C273.653 238.827 304.64 205.227 315.093 168.267H363.253C359.313 187.435 351.46 205.583 340.186 221.579C328.913 237.574 314.461 251.071 297.733 261.227C316.41 270.499 332.907 283.63 346.132 299.751C359.357 315.873 369.01 334.618 374.453 354.747H321.44C316.555 337.262 306.614 321.61 292.865 309.754C279.117 297.899 262.173 290.368 244.16 288.107V354.747H238.373C136.267 354.747 78.0267 284.747 75.6 168.267Z" /> - + + d="M290.7 311L95 269.7 86.8 309l195.7 41zm51-87L188.2 95.7l-25.5 30.8 153.5 128.3zm-31.2 39.7L129.2 179l-16.7 36.5L293.7 300zM262 32l-32 24 119.3 160.3 32-24zm20.5 328h-200v39.7h200zm39.7 80H42.7V320h-40v160h359.5V320h-40z" /> - + + d="M248,8C111.033,8,0,119.033,0,256S111.033,504,248,504,496,392.967,496,256,384.967,8,248,8ZM362.952,176.66c-3.732,39.215-19.881,134.378-28.1,178.3-3.476,18.584-10.322,24.816-16.948,25.425-14.4,1.326-25.338-9.517-39.287-18.661-21.827-14.308-34.158-23.215-55.346-37.177-24.485-16.135-8.612-25,5.342-39.5,3.652-3.793,67.107-61.51,68.335-66.746.153-.655.3-3.1-1.154-4.384s-3.59-.849-5.135-.5q-3.283.746-104.608,69.142-14.845,10.194-26.894,9.934c-8.855-.191-25.888-5.006-38.551-9.123-15.531-5.048-27.875-7.717-26.8-16.291q.84-6.7,18.45-13.7,108.446-47.248,144.628-62.3c68.872-28.647,83.183-33.623,92.511-33.789,2.052-.034,6.639.474,9.61,2.885a10.452,10.452,0,0,1,3.53,6.716A43.765,43.765,0,0,1,362.952,176.66Z" /> - + + d="M549.655 124.083c-6.281-23.65-24.787-42.276-48.284-48.597C458.781 64 288 64 288 64S117.22 64 74.629 75.486c-23.497 6.322-42.003 24.947-48.284 48.597-11.412 42.867-11.412 132.305-11.412 132.305s0 89.438 11.412 132.305c6.281 23.65 24.787 41.5 48.284 47.821C117.22 448 288 448 288 448s170.78 0 213.371-11.486c23.497-6.321 42.003-24.171 48.284-47.821 11.412-42.867 11.412-132.305 11.412-132.305s0-89.438-11.412-132.305zm-317.51 213.508V175.185l142.739 81.205-142.739 81.201z" /> - + + d="M448,209.91a210.06,210.06,0,0,1-122.77-39.25V349.38A162.55,162.55,0,1,1,185,188.31V278.2a74.62,74.62,0,1,0,52.23,71.18V0l88,0a121.18,121.18,0,0,0,1.86,22.17h0A122.18,122.18,0,0,0,381,102.39a121.43,121.43,0,0,0,67,20.14Z" /> - + + d="M496.926,366.6c-3.373-9.176-9.8-14.086-17.112-18.153-1.376-.806-2.641-1.451-3.72-1.947-2.182-1.128-4.414-2.22-6.634-3.373-22.8-12.09-40.609-27.341-52.959-45.42a102.889,102.889,0,0,1-9.089-16.12c-1.054-3.013-1-4.724-.248-6.287a10.221,10.221,0,0,1,2.914-3.038c3.918-2.591,7.96-5.22,10.7-6.993,4.885-3.162,8.754-5.667,11.246-7.44,9.362-6.547,15.909-13.5,20-21.278a42.371,42.371,0,0,0,2.1-35.191c-6.2-16.318-21.613-26.449-40.287-26.449a55.543,55.543,0,0,0-11.718,1.24c-1.029.224-2.059.459-3.063.72.174-11.16-.074-22.94-1.066-34.534-3.522-40.758-17.794-62.123-32.674-79.16A130.167,130.167,0,0,0,332.1,36.443C309.515,23.547,283.91,17,256,17S202.6,23.547,180,36.443a129.735,129.735,0,0,0-33.281,26.783c-14.88,17.038-29.152,38.44-32.673,79.161-.992,11.594-1.24,23.435-1.079,34.533-1-.26-2.021-.5-3.051-.719a55.461,55.461,0,0,0-11.717-1.24c-18.687,0-34.125,10.131-40.3,26.449a42.423,42.423,0,0,0,2.046,35.228c4.105,7.774,10.652,14.731,20.014,21.278,2.48,1.736,6.361,4.24,11.246,7.44,2.641,1.711,6.5,4.216,10.28,6.72a11.054,11.054,0,0,1,3.3,3.311c.794,1.624.818,3.373-.36,6.6a102.02,102.02,0,0,1-8.94,15.785c-12.077,17.669-29.363,32.648-51.434,44.639C32.355,348.608,20.2,352.75,15.069,366.7c-3.868,10.528-1.339,22.506,8.494,32.6a49.137,49.137,0,0,0,12.4,9.387,134.337,134.337,0,0,0,30.342,12.139,20.024,20.024,0,0,1,6.126,2.741c3.583,3.137,3.075,7.861,7.849,14.78a34.468,34.468,0,0,0,8.977,9.127c10.019,6.919,21.278,7.353,33.207,7.811,10.776.41,22.989.881,36.939,5.481,5.778,1.91,11.78,5.605,18.736,9.92C194.842,480.951,217.707,495,255.973,495s61.292-14.123,78.118-24.428c6.907-4.24,12.872-7.9,18.489-9.758,13.949-4.613,26.163-5.072,36.939-5.481,11.928-.459,23.187-.893,33.206-7.812a34.584,34.584,0,0,0,10.218-11.16c3.434-5.84,3.348-9.919,6.572-12.771a18.971,18.971,0,0,1,5.753-2.629A134.893,134.893,0,0,0,476.02,408.71a48.344,48.344,0,0,0,13.019-10.193l.124-.149C498.389,388.5,500.708,376.867,496.926,366.6Zm-34.013,18.277c-20.745,11.458-34.533,10.23-45.259,17.137-9.114,5.865-3.72,18.513-10.342,23.076-8.134,5.617-32.177-.4-63.239,9.858-25.618,8.469-41.961,32.822-88.038,32.822s-62.036-24.3-88.076-32.884c-31-10.255-55.092-4.241-63.239-9.858-6.609-4.563-1.24-17.211-10.341-23.076-10.739-6.907-24.527-5.679-45.26-17.075-13.206-7.291-5.716-11.8-1.314-13.937,75.143-36.381,87.133-92.552,87.666-96.719.645-5.046,1.364-9.014-4.191-14.148-5.369-4.96-29.189-19.7-35.8-24.316-10.937-7.638-15.748-15.264-12.2-24.638,2.48-6.485,8.531-8.928,14.879-8.928a27.643,27.643,0,0,1,5.965.67c12,2.6,23.659,8.617,30.392,10.242a10.749,10.749,0,0,0,2.48.335c3.6,0,4.86-1.811,4.612-5.927-.768-13.132-2.628-38.725-.558-62.644,2.84-32.909,13.442-49.215,26.04-63.636,6.051-6.932,34.484-36.976,88.857-36.976s82.88,29.92,88.931,36.827c12.611,14.421,23.225,30.727,26.04,63.636,2.071,23.919.285,49.525-.558,62.644-.285,4.327,1.017,5.927,4.613,5.927a10.648,10.648,0,0,0,2.48-.335c6.745-1.624,18.4-7.638,30.4-10.242a27.641,27.641,0,0,1,5.964-.67c6.386,0,12.4,2.48,14.88,8.928,3.546,9.374-1.24,17-12.189,24.639-6.609,4.612-30.429,19.343-35.8,24.315-5.568,5.134-4.836,9.1-4.191,14.149.533,4.228,12.511,60.4,87.666,96.718C468.629,373.011,476.119,377.524,462.913,384.877Z" /> - + + d="M94.12 315.1c0 25.9-21.16 47.06-47.06 47.06S0 341 0 315.1c0-25.9 21.16-47.06 47.06-47.06h47.06v47.06zm23.72 0c0-25.9 21.16-47.06 47.06-47.06s47.06 21.16 47.06 47.06v117.84c0 25.9-21.16 47.06-47.06 47.06s-47.06-21.16-47.06-47.06V315.1zm47.06-188.98c-25.9 0-47.06-21.16-47.06-47.06S139 32 164.9 32s47.06 21.16 47.06 47.06v47.06H164.9zm0 23.72c25.9 0 47.06 21.16 47.06 47.06s-21.16 47.06-47.06 47.06H47.06C21.16 243.96 0 222.8 0 196.9s21.16-47.06 47.06-47.06H164.9zm188.98 47.06c0-25.9 21.16-47.06 47.06-47.06 25.9 0 47.06 21.16 47.06 47.06s-21.16 47.06-47.06 47.06h-47.06V196.9zm-23.72 0c0 25.9-21.16 47.06-47.06 47.06-25.9 0-47.06-21.16-47.06-47.06V79.06c0-25.9 21.16-47.06 47.06-47.06 25.9 0 47.06 21.16 47.06 47.06V196.9zM283.1 385.88c25.9 0 47.06 21.16 47.06 47.06 0 25.9-21.16 47.06-47.06 47.06-25.9 0-47.06-21.16-47.06-47.06v-47.06h47.06zm0-23.72c-25.9 0-47.06-21.16-47.06-47.06 0-25.9 21.16-47.06 47.06-47.06h117.84c25.9 0 47.06 21.16 47.06 47.06 0 25.9-21.16 47.06-47.06 47.06H283.1z" /> - + + d="M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z" /> - + + d="M256 8C119.252 8 8 119.252 8 256s111.252 248 248 248 248-111.252 248-248S392.748 8 256 8zm163.97 114.366c29.503 36.046 47.369 81.957 47.835 131.955-6.984-1.477-77.018-15.682-147.502-6.818-5.752-14.041-11.181-26.393-18.617-41.614 78.321-31.977 113.818-77.482 118.284-83.523zM396.421 97.87c-3.81 5.427-35.697 48.286-111.021 76.519-34.712-63.776-73.185-116.168-79.04-124.008 67.176-16.193 137.966 1.27 190.061 47.489zm-230.48-33.25c5.585 7.659 43.438 60.116 78.537 122.509-99.087 26.313-186.36 25.934-195.834 25.809C62.38 147.205 106.678 92.573 165.941 64.62zM44.17 256.323c0-2.166.043-4.322.108-6.473 9.268.19 111.92 1.513 217.706-30.146 6.064 11.868 11.857 23.915 17.174 35.949-76.599 21.575-146.194 83.527-180.531 142.306C64.794 360.405 44.17 310.73 44.17 256.323zm81.807 167.113c22.127-45.233 82.178-103.622 167.579-132.756 29.74 77.283 42.039 142.053 45.189 160.638-68.112 29.013-150.015 21.053-212.768-27.882zm248.38 8.489c-2.171-12.886-13.446-74.897-41.152-151.033 66.38-10.626 124.7 6.768 131.947 9.055-9.442 58.941-43.273 109.844-90.795 141.978z" /> - + + d="M440.3 203.5c-15 0-28.2 6.2-37.9 15.9-35.7-24.7-83.8-40.6-137.1-42.3L293 52.3l88.2 19.8c0 21.6 17.6 39.2 39.2 39.2 22 0 39.7-18.1 39.7-39.7s-17.6-39.7-39.7-39.7c-15.4 0-28.7 9.3-35.3 22l-97.4-21.6c-4.9-1.3-9.7 2.2-11 7.1L246.3 177c-52.9 2.2-100.5 18.1-136.3 42.8-9.7-10.1-23.4-16.3-38.4-16.3-55.6 0-73.8 74.6-22.9 100.1-1.8 7.9-2.6 16.3-2.6 24.7 0 83.8 94.4 151.7 210.3 151.7 116.4 0 210.8-67.9 210.8-151.7 0-8.4-.9-17.2-3.1-25.1 49.9-25.6 31.5-99.7-23.8-99.7zM129.4 308.9c0-22 17.6-39.7 39.7-39.7 21.6 0 39.2 17.6 39.2 39.7 0 21.6-17.6 39.2-39.2 39.2-22 .1-39.7-17.6-39.7-39.2zm214.3 93.5c-36.4 36.4-139.1 36.4-175.5 0-4-3.5-4-9.7 0-13.7 3.5-3.5 9.7-3.5 13.2 0 27.8 28.5 120 29 149 0 3.5-3.5 9.7-3.5 13.2 0 4.1 4 4.1 10.2.1 13.7zm-.8-54.2c-21.6 0-39.2-17.6-39.2-39.2 0-22 17.6-39.7 39.2-39.7 22 0 39.7 17.6 39.7 39.7-.1 21.5-17.7 39.2-39.7 39.2z" /> - + + d="M380.9 97.1C339 55.1 283.2 32 223.9 32c-122.4 0-222 99.6-222 222 0 39.1 10.2 77.3 29.6 111L0 480l117.7-30.9c32.4 17.7 68.9 27 106.1 27h.1c122.3 0 224.1-99.6 224.1-222 0-59.3-25.2-115-67.1-157zm-157 341.6c-33.2 0-65.7-8.9-94-25.7l-6.7-4-69.8 18.3L72 359.2l-4.4-7c-18.5-29.4-28.2-63.3-28.2-98.2 0-101.7 82.8-184.5 184.6-184.5 49.3 0 95.6 19.2 130.4 54.1 34.8 34.9 56.2 81.2 56.1 130.5 0 101.8-84.9 184.6-186.6 184.6zm101.2-138.2c-5.5-2.8-32.8-16.2-37.9-18-5.1-1.9-8.8-2.8-12.5 2.8-3.7 5.6-14.3 18-17.6 21.8-3.2 3.7-6.5 4.2-12 1.4-32.6-16.3-54-29.1-75.5-66-5.7-9.8 5.7-9.1 16.3-30.3 1.8-3.7.9-6.9-.5-9.7-1.4-2.8-12.5-30.1-17.1-41.2-4.5-10.8-9.1-9.3-12.5-9.5-3.2-.2-6.9-.2-10.6-.2-3.7 0-9.7 1.4-14.8 6.9-5.1 5.6-19.4 19-19.4 46.3 0 27.3 19.9 53.7 22.6 57.4 2.8 3.7 39.1 59.7 94.8 83.8 35.2 15.2 49 16.5 66.6 13.9 10.7-1.6 32.8-13.4 37.4-26.4 4.6-13 4.6-24.1 3.2-26.4-1.3-2.5-5-3.9-10.5-6.6z" /> - + + d="M391.17,103.47H352.54v109.7h38.63ZM285,103H246.37V212.75H285ZM120.83,0,24.31,91.42V420.58H140.14V512l96.53-91.42h77.25L487.69,256V0ZM449.07,237.75l-77.22,73.12H294.61l-67.6,64v-64H140.14V36.58H449.07Z" />
    @@ -227,294 +268,252 @@ + class="h-7 w-7" + style="color: #1769ff"> + d="M232 237.2c31.8-15.2 48.4-38.2 48.4-74 0-70.6-52.6-87.8-113.3-87.8H0v354.4h171.8c64.4 0 124.9-30.9 124.9-102.9 0-44.5-21.1-77.4-64.7-89.7zM77.9 135.9H151c28.1 0 53.4 7.9 53.4 40.5 0 30.1-19.7 42.2-47.5 42.2h-79v-82.7zm83.3 233.7H77.9V272h84.9c34.3 0 56 14.3 56 50.6 0 35.8-25.9 47-57.6 47zm358.5-240.7H376V94h143.7v34.9zM576 305.2c0-75.9-44.4-139.2-124.9-139.2-78.2 0-131.3 58.8-131.3 135.8 0 79.9 50.3 134.7 131.3 134.7 61.3 0 101-27.6 120.1-86.3H509c-6.7 21.9-34.3 33.5-55.7 33.5-41.3 0-63-24.2-63-65.3h185.1c.3-4.2.6-8.7.6-13.2zM390.4 274c2.3-33.7 24.7-54.8 58.5-54.8 35.4 0 53.2 20.8 56.2 54.8H390.4z" /> + class="h-7 w-7" + style="color: #7289da"> + d="M524.531,69.836a1.5,1.5,0,0,0-.764-.7A485.065,485.065,0,0,0,404.081,32.03a1.816,1.816,0,0,0-1.923.91,337.461,337.461,0,0,0-14.9,30.6,447.848,447.848,0,0,0-134.426,0,309.541,309.541,0,0,0-15.135-30.6,1.89,1.89,0,0,0-1.924-.91A483.689,483.689,0,0,0,116.085,69.137a1.712,1.712,0,0,0-.788.676C39.068,183.651,18.186,294.69,28.43,404.354a2.016,2.016,0,0,0,.765,1.375A487.666,487.666,0,0,0,176.02,479.918a1.9,1.9,0,0,0,2.063-.676A348.2,348.2,0,0,0,208.12,430.4a1.86,1.86,0,0,0-1.019-2.588,321.173,321.173,0,0,1-45.868-21.853,1.885,1.885,0,0,1-.185-3.126c3.082-2.309,6.166-4.711,9.109-7.137a1.819,1.819,0,0,1,1.9-.256c96.229,43.917,200.41,43.917,295.5,0a1.812,1.812,0,0,1,1.924.233c2.944,2.426,6.027,4.851,9.132,7.16a1.884,1.884,0,0,1-.162,3.126,301.407,301.407,0,0,1-45.89,21.83,1.875,1.875,0,0,0-1,2.611,391.055,391.055,0,0,0,30.014,48.815,1.864,1.864,0,0,0,2.063.7A486.048,486.048,0,0,0,610.7,405.729a1.882,1.882,0,0,0,.765-1.352C623.729,277.594,590.933,167.465,524.531,69.836ZM222.491,337.58c-28.972,0-52.844-26.587-52.844-59.239S193.056,219.1,222.491,219.1c29.665,0,53.306,26.82,52.843,59.239C275.334,310.993,251.924,337.58,222.491,337.58Zm195.38,0c-28.971,0-52.843-26.587-52.843-59.239S388.437,219.1,417.871,219.1c29.667,0,53.307,26.82,52.844,59.239C470.715,310.993,447.538,337.58,417.871,337.58Z" /> + class="h-7 w-7" + style="color: #333"> + d="M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z" /> + class="h-7 w-7" + style="color: #1877f2"> + d="M279.14 288l14.22-92.66h-88.91v-60.13c0-25.35 12.42-50.06 52.24-50.06h40.42V6.26S260.43 0 225.36 0c-73.22 0-121.08 44.38-121.08 124.72v70.62H22.89V288h81.39v224h100.17V288z" /> + class="h-7 w-7" + style="color: #c13584"> + d="M224.1 141c-63.6 0-114.9 51.3-114.9 114.9s51.3 114.9 114.9 114.9S339 319.5 339 255.9 287.7 141 224.1 141zm0 189.6c-41.1 0-74.7-33.5-74.7-74.7s33.5-74.7 74.7-74.7 74.7 33.5 74.7 74.7-33.6 74.7-74.7 74.7zm146.4-194.3c0 14.9-12 26.8-26.8 26.8-14.9 0-26.8-12-26.8-26.8s12-26.8 26.8-26.8 26.8 12 26.8 26.8zm76.1 27.2c-1.7-35.9-9.9-67.7-36.2-93.9-26.2-26.2-58-34.4-93.9-36.2-37-2.1-147.9-2.1-184.9 0-35.8 1.7-67.6 9.9-93.9 36.1s-34.4 58-36.2 93.9c-2.1 37-2.1 147.9 0 184.9 1.7 35.9 9.9 67.7 36.2 93.9s58 34.4 93.9 36.2c37 2.1 147.9 2.1 184.9 0 35.9-1.7 67.7-9.9 93.9-36.2 26.2-26.2 34.4-58 36.2-93.9 2.1-37 2.1-147.8 0-184.8zM398.8 388c-7.8 19.6-22.9 34.7-42.6 42.6-29.5 11.7-99.5 9-132.1 9s-102.7 2.6-132.1-9c-19.6-7.8-34.7-22.9-42.6-42.6-11.7-29.5-9-99.5-9-132.1s-2.6-102.7 9-132.1c7.8-19.6 22.9-34.7 42.6-42.6 29.5-11.7 99.5-9 132.1-9s102.7-2.6 132.1 9c19.6 7.8 34.7 22.9 42.6 42.6 11.7 29.5 9 99.5 9 132.1s2.7 102.7-9 132.1z" /> + class="h-7 w-7" + style="color: #ea4335"> + d="M488 261.8C488 403.3 391.1 504 248 504 110.8 504 0 393.2 0 256S110.8 8 248 8c66.8 0 123 24.5 166.3 64.9l-67.5 64.9C258.5 52.6 94.3 116.6 94.3 256c0 86.5 69.1 156.6 153.7 156.6 98.2 0 135-70.4 140.8-106.9H248v-85.3h236.1c2.3 12.7 3.9 24.9 3.9 41.4z" /> + class="h-7 w-7" + style="color: #0077b5"> + d="M100.28 448H7.4V148.9h92.88zM53.79 108.1C24.09 108.1 0 83.5 0 53.8a53.79 53.79 0 0 1 107.58 0c0 29.7-24.1 54.3-53.79 54.3zM447.9 448h-92.68V302.4c0-34.7-.7-79.2-48.29-79.2-48.29 0-55.69 37.7-55.69 76.7V448h-92.78V148.9h89.08v40.8h1.3c12.4-23.5 42.69-48.3 87.88-48.3 94 0 111.28 61.9 111.28 142.3V448z" /> + class="h-7 w-7" + style="color: #e60023"> + d="M204 6.5C101.4 6.5 0 74.9 0 185.6 0 256 39.6 296 63.6 296c9.9 0 15.6-27.6 15.6-35.4 0-9.3-23.7-29.1-23.7-67.8 0-80.4 61.2-137.4 140.4-137.4 68.1 0 118.5 38.7 118.5 109.8 0 53.1-21.3 152.7-90.3 152.7-24.9 0-46.2-18-46.2-43.8 0-37.8 26.4-74.4 26.4-113.4 0-66.2-93.9-54.2-93.9 25.8 0 16.8 2.1 35.4 9.6 50.7-13.8 59.4-42 147.9-42 209.1 0 18.9 2.7 37.5 4.5 56.4 3.4 3.8 1.7 3.4 6.9 1.5 50.4-69 48.6-82.5 71.4-172.8 12.3 23.4 44.1 36 69.3 36 106.2 0 153.9-103.5 153.9-196.8C384 71.3 298.2 6.5 204 6.5z" /> + class="h-7 w-7" + style="color: #45668e"> + d="M31.4907 63.4907C0 94.9813 0 145.671 0 247.04V264.96C0 366.329 0 417.019 31.4907 448.509C62.9813 480 113.671 480 215.04 480H232.96C334.329 480 385.019 480 416.509 448.509C448 417.019 448 366.329 448 264.96V247.04C448 145.671 448 94.9813 416.509 63.4907C385.019 32 334.329 32 232.96 32H215.04C113.671 32 62.9813 32 31.4907 63.4907ZM75.6 168.267H126.747C128.427 253.76 166.133 289.973 196 297.44V168.267H244.16V242C273.653 238.827 304.64 205.227 315.093 168.267H363.253C359.313 187.435 351.46 205.583 340.186 221.579C328.913 237.574 314.461 251.071 297.733 261.227C316.41 270.499 332.907 283.63 346.132 299.751C359.357 315.873 369.01 334.618 374.453 354.747H321.44C316.555 337.262 306.614 321.61 292.865 309.754C279.117 297.899 262.173 290.368 244.16 288.107V354.747H238.373C136.267 354.747 78.0267 284.747 75.6 168.267Z" /> + class="h-7 w-7" + style="color: #f48024"> + d="M290.7 311L95 269.7 86.8 309l195.7 41zm51-87L188.2 95.7l-25.5 30.8 153.5 128.3zm-31.2 39.7L129.2 179l-16.7 36.5L293.7 300zM262 32l-32 24 119.3 160.3 32-24zm20.5 328h-200v39.7h200zm39.7 80H42.7V320h-40v160h359.5V320h-40z" /> + class="h-7 w-7" + style="color: #0088cc"> + d="M248,8C111.033,8,0,119.033,0,256S111.033,504,248,504,496,392.967,496,256,384.967,8,248,8ZM362.952,176.66c-3.732,39.215-19.881,134.378-28.1,178.3-3.476,18.584-10.322,24.816-16.948,25.425-14.4,1.326-25.338-9.517-39.287-18.661-21.827-14.308-34.158-23.215-55.346-37.177-24.485-16.135-8.612-25,5.342-39.5,3.652-3.793,67.107-61.51,68.335-66.746.153-.655.3-3.1-1.154-4.384s-3.59-.849-5.135-.5q-3.283.746-104.608,69.142-14.845,10.194-26.894,9.934c-8.855-.191-25.888-5.006-38.551-9.123-15.531-5.048-27.875-7.717-26.8-16.291q.84-6.7,18.45-13.7,108.446-47.248,144.628-62.3c68.872-28.647,83.183-33.623,92.511-33.789,2.052-.034,6.639.474,9.61,2.885a10.452,10.452,0,0,1,3.53,6.716A43.765,43.765,0,0,1,362.952,176.66Z" /> + class="h-7 w-7" + style="color: #ff0000"> + d="M549.655 124.083c-6.281-23.65-24.787-42.276-48.284-48.597C458.781 64 288 64 288 64S117.22 64 74.629 75.486c-23.497 6.322-42.003 24.947-48.284 48.597-11.412 42.867-11.412 132.305-11.412 132.305s0 89.438 11.412 132.305c6.281 23.65 24.787 41.5 48.284 47.821C117.22 448 288 448 288 448s170.78 0 213.371-11.486c23.497-6.321 42.003-24.171 48.284-47.821 11.412-42.867 11.412-132.305 11.412-132.305s0-89.438-11.412-132.305zm-317.51 213.508V175.185l142.739 81.205-142.739 81.201z" /> + class="h-7 w-7" + style="color: #6a76ac"> + d="M448,209.91a210.06,210.06,0,0,1-122.77-39.25V349.38A162.55,162.55,0,1,1,185,188.31V278.2a74.62,74.62,0,1,0,52.23,71.18V0l88,0a121.18,121.18,0,0,0,1.86,22.17h0A122.18,122.18,0,0,0,381,102.39a121.43,121.43,0,0,0,67,20.14Z" /> + class="h-7 w-7" + style="color: #f8cc1b"> + d="M496.926,366.6c-3.373-9.176-9.8-14.086-17.112-18.153-1.376-.806-2.641-1.451-3.72-1.947-2.182-1.128-4.414-2.22-6.634-3.373-22.8-12.09-40.609-27.341-52.959-45.42a102.889,102.889,0,0,1-9.089-16.12c-1.054-3.013-1-4.724-.248-6.287a10.221,10.221,0,0,1,2.914-3.038c3.918-2.591,7.96-5.22,10.7-6.993,4.885-3.162,8.754-5.667,11.246-7.44,9.362-6.547,15.909-13.5,20-21.278a42.371,42.371,0,0,0,2.1-35.191c-6.2-16.318-21.613-26.449-40.287-26.449a55.543,55.543,0,0,0-11.718,1.24c-1.029.224-2.059.459-3.063.72.174-11.16-.074-22.94-1.066-34.534-3.522-40.758-17.794-62.123-32.674-79.16A130.167,130.167,0,0,0,332.1,36.443C309.515,23.547,283.91,17,256,17S202.6,23.547,180,36.443a129.735,129.735,0,0,0-33.281,26.783c-14.88,17.038-29.152,38.44-32.673,79.161-.992,11.594-1.24,23.435-1.079,34.533-1-.26-2.021-.5-3.051-.719a55.461,55.461,0,0,0-11.717-1.24c-18.687,0-34.125,10.131-40.3,26.449a42.423,42.423,0,0,0,2.046,35.228c4.105,7.774,10.652,14.731,20.014,21.278,2.48,1.736,6.361,4.24,11.246,7.44,2.641,1.711,6.5,4.216,10.28,6.72a11.054,11.054,0,0,1,3.3,3.311c.794,1.624.818,3.373-.36,6.6a102.02,102.02,0,0,1-8.94,15.785c-12.077,17.669-29.363,32.648-51.434,44.639C32.355,348.608,20.2,352.75,15.069,366.7c-3.868,10.528-1.339,22.506,8.494,32.6a49.137,49.137,0,0,0,12.4,9.387,134.337,134.337,0,0,0,30.342,12.139,20.024,20.024,0,0,1,6.126,2.741c3.583,3.137,3.075,7.861,7.849,14.78a34.468,34.468,0,0,0,8.977,9.127c10.019,6.919,21.278,7.353,33.207,7.811,10.776.41,22.989.881,36.939,5.481,5.778,1.91,11.78,5.605,18.736,9.92C194.842,480.951,217.707,495,255.973,495s61.292-14.123,78.118-24.428c6.907-4.24,12.872-7.9,18.489-9.758,13.949-4.613,26.163-5.072,36.939-5.481,11.928-.459,23.187-.893,33.206-7.812a34.584,34.584,0,0,0,10.218-11.16c3.434-5.84,3.348-9.919,6.572-12.771a18.971,18.971,0,0,1,5.753-2.629A134.893,134.893,0,0,0,476.02,408.71a48.344,48.344,0,0,0,13.019-10.193l.124-.149C498.389,388.5,500.708,376.867,496.926,366.6Zm-34.013,18.277c-20.745,11.458-34.533,10.23-45.259,17.137-9.114,5.865-3.72,18.513-10.342,23.076-8.134,5.617-32.177-.4-63.239,9.858-25.618,8.469-41.961,32.822-88.038,32.822s-62.036-24.3-88.076-32.884c-31-10.255-55.092-4.241-63.239-9.858-6.609-4.563-1.24-17.211-10.341-23.076-10.739-6.907-24.527-5.679-45.26-17.075-13.206-7.291-5.716-11.8-1.314-13.937,75.143-36.381,87.133-92.552,87.666-96.719.645-5.046,1.364-9.014-4.191-14.148-5.369-4.96-29.189-19.7-35.8-24.316-10.937-7.638-15.748-15.264-12.2-24.638,2.48-6.485,8.531-8.928,14.879-8.928a27.643,27.643,0,0,1,5.965.67c12,2.6,23.659,8.617,30.392,10.242a10.749,10.749,0,0,0,2.48.335c3.6,0,4.86-1.811,4.612-5.927-.768-13.132-2.628-38.725-.558-62.644,2.84-32.909,13.442-49.215,26.04-63.636,6.051-6.932,34.484-36.976,88.857-36.976s82.88,29.92,88.931,36.827c12.611,14.421,23.225,30.727,26.04,63.636,2.071,23.919.285,49.525-.558,62.644-.285,4.327,1.017,5.927,4.613,5.927a10.648,10.648,0,0,0,2.48-.335c6.745-1.624,18.4-7.638,30.4-10.242a27.641,27.641,0,0,1,5.964-.67c6.386,0,12.4,2.48,14.88,8.928,3.546,9.374-1.24,17-12.189,24.639-6.609,4.612-30.429,19.343-35.8,24.315-5.568,5.134-4.836,9.1-4.191,14.149.533,4.228,12.511,60.4,87.666,96.718C468.629,373.011,476.119,377.524,462.913,384.877Z" /> + class="h-7 w-7" + style="color: #3eb991"> + d="M94.12 315.1c0 25.9-21.16 47.06-47.06 47.06S0 341 0 315.1c0-25.9 21.16-47.06 47.06-47.06h47.06v47.06zm23.72 0c0-25.9 21.16-47.06 47.06-47.06s47.06 21.16 47.06 47.06v117.84c0 25.9-21.16 47.06-47.06 47.06s-47.06-21.16-47.06-47.06V315.1zm47.06-188.98c-25.9 0-47.06-21.16-47.06-47.06S139 32 164.9 32s47.06 21.16 47.06 47.06v47.06H164.9zm0 23.72c25.9 0 47.06 21.16 47.06 47.06s-21.16 47.06-47.06 47.06H47.06C21.16 243.96 0 222.8 0 196.9s21.16-47.06 47.06-47.06H164.9zm188.98 47.06c0-25.9 21.16-47.06 47.06-47.06 25.9 0 47.06 21.16 47.06 47.06s-21.16 47.06-47.06 47.06h-47.06V196.9zm-23.72 0c0 25.9-21.16 47.06-47.06 47.06-25.9 0-47.06-21.16-47.06-47.06V79.06c0-25.9 21.16-47.06 47.06-47.06 25.9 0 47.06 21.16 47.06 47.06V196.9zM283.1 385.88c25.9 0 47.06 21.16 47.06 47.06 0 25.9-21.16 47.06-47.06 47.06-25.9 0-47.06-21.16-47.06-47.06v-47.06h47.06zm0-23.72c-25.9 0-47.06-21.16-47.06-47.06 0-25.9 21.16-47.06 47.06-47.06h117.84c25.9 0 47.06 21.16 47.06 47.06 0 25.9-21.16 47.06-47.06 47.06H283.1z" /> + class="h-7 w-7" + style="color: #0084ff"> + d="M256.55 8C116.52 8 8 110.34 8 248.57c0 72.3 29.71 134.78 78.07 177.94 8.35 7.51 6.63 11.86 8.05 58.23A19.92 19.92 0 0 0 122 502.31c52.91-23.3 53.59-25.14 62.56-22.7C337.85 521.8 504 423.7 504 248.57 504 110.34 396.59 8 256.55 8zm149.24 185.13l-73 115.57a37.37 37.37 0 0 1-53.91 9.93l-58.08-43.47a15 15 0 0 0-18 0l-78.37 59.44c-10.46 7.93-24.16-4.6-17.11-15.67l73-115.57a37.36 37.36 0 0 1 53.91-9.93l58.06 43.46a15 15 0 0 0 18 0l78.41-59.38c10.44-7.98 24.14 4.54 17.09 15.62z" /> + class="h-7 w-7" + style="color: #ea4c89"> + d="M256 8C119.252 8 8 119.252 8 256s111.252 248 248 248 248-111.252 248-248S392.748 8 256 8zm163.97 114.366c29.503 36.046 47.369 81.957 47.835 131.955-6.984-1.477-77.018-15.682-147.502-6.818-5.752-14.041-11.181-26.393-18.617-41.614 78.321-31.977 113.818-77.482 118.284-83.523zM396.421 97.87c-3.81 5.427-35.697 48.286-111.021 76.519-34.712-63.776-73.185-116.168-79.04-124.008 67.176-16.193 137.966 1.27 190.061 47.489zm-230.48-33.25c5.585 7.659 43.438 60.116 78.537 122.509-99.087 26.313-186.36 25.934-195.834 25.809C62.38 147.205 106.678 92.573 165.941 64.62zM44.17 256.323c0-2.166.043-4.322.108-6.473 9.268.19 111.92 1.513 217.706-30.146 6.064 11.868 11.857 23.915 17.174 35.949-76.599 21.575-146.194 83.527-180.531 142.306C64.794 360.405 44.17 310.73 44.17 256.323zm81.807 167.113c22.127-45.233 82.178-103.622 167.579-132.756 29.74 77.283 42.039 142.053 45.189 160.638-68.112 29.013-150.015 21.053-212.768-27.882zm248.38 8.489c-2.171-12.886-13.446-74.897-41.152-151.033 66.38-10.626 124.7 6.768 131.947 9.055-9.442 58.941-43.273 109.844-90.795 141.978z" /> + class="h-7 w-7" + style="color: #ff4500"> + d="M440.3 203.5c-15 0-28.2 6.2-37.9 15.9-35.7-24.7-83.8-40.6-137.1-42.3L293 52.3l88.2 19.8c0 21.6 17.6 39.2 39.2 39.2 22 0 39.7-18.1 39.7-39.7s-17.6-39.7-39.7-39.7c-15.4 0-28.7 9.3-35.3 22l-97.4-21.6c-4.9-1.3-9.7 2.2-11 7.1L246.3 177c-52.9 2.2-100.5 18.1-136.3 42.8-9.7-10.1-23.4-16.3-38.4-16.3-55.6 0-73.8 74.6-22.9 100.1-1.8 7.9-2.6 16.3-2.6 24.7 0 83.8 94.4 151.7 210.3 151.7 116.4 0 210.8-67.9 210.8-151.7 0-8.4-.9-17.2-3.1-25.1 49.9-25.6 31.5-99.7-23.8-99.7zM129.4 308.9c0-22 17.6-39.7 39.7-39.7 21.6 0 39.2 17.6 39.2 39.7 0 21.6-17.6 39.2-39.2 39.2-22 .1-39.7-17.6-39.7-39.2zm214.3 93.5c-36.4 36.4-139.1 36.4-175.5 0-4-3.5-4-9.7 0-13.7 3.5-3.5 9.7-3.5 13.2 0 27.8 28.5 120 29 149 0 3.5-3.5 9.7-3.5 13.2 0 4.1 4 4.1 10.2.1 13.7zm-.8-54.2c-21.6 0-39.2-17.6-39.2-39.2 0-22 17.6-39.7 39.2-39.7 22 0 39.7 17.6 39.7 39.7-.1 21.5-17.7 39.2-39.7 39.2z" /> + class="h-7 w-7" + style="color: #1da1f2"> + d="M459.37 151.716c.325 4.548.325 9.097.325 13.645 0 138.72-105.583 298.558-298.558 298.558-59.452 0-114.68-17.219-161.137-47.106 8.447.974 16.568 1.299 25.34 1.299 49.055 0 94.213-16.568 130.274-44.832-46.132-.975-84.792-31.188-98.112-72.772 6.498.974 12.995 1.624 19.818 1.624 9.421 0 18.843-1.3 27.614-3.573-48.081-9.747-84.143-51.98-84.143-102.985v-1.299c13.969 7.797 30.214 12.67 47.431 13.319-28.264-18.843-46.781-51.005-46.781-87.391 0-19.492 5.197-37.36 14.294-52.954 51.655 63.675 129.3 105.258 216.365 109.807-1.624-7.797-2.599-15.918-2.599-24.04 0-57.828 46.782-104.934 104.934-104.934 30.213 0 57.502 12.67 76.67 33.137 23.715-4.548 46.456-13.32 66.599-25.34-7.798 24.366-24.366 44.833-46.132 57.827 21.117-2.273 41.584-8.122 60.426-16.243-14.292 20.791-32.161 39.308-52.628 54.253z" /> + class="h-7 w-7" + style="color: #128c7e"> + d="M380.9 97.1C339 55.1 283.2 32 223.9 32c-122.4 0-222 99.6-222 222 0 39.1 10.2 77.3 29.6 111L0 480l117.7-30.9c32.4 17.7 68.9 27 106.1 27h.1c122.3 0 224.1-99.6 224.1-222 0-59.3-25.2-115-67.1-157zm-157 341.6c-33.2 0-65.7-8.9-94-25.7l-6.7-4-69.8 18.3L72 359.2l-4.4-7c-18.5-29.4-28.2-63.3-28.2-98.2 0-101.7 82.8-184.5 184.6-184.5 49.3 0 95.6 19.2 130.4 54.1 34.8 34.9 56.2 81.2 56.1 130.5 0 101.8-84.9 184.6-186.6 184.6zm101.2-138.2c-5.5-2.8-32.8-16.2-37.9-18-5.1-1.9-8.8-2.8-12.5 2.8-3.7 5.6-14.3 18-17.6 21.8-3.2 3.7-6.5 4.2-12 1.4-32.6-16.3-54-29.1-75.5-66-5.7-9.8 5.7-9.1 16.3-30.3 1.8-3.7.9-6.9-.5-9.7-1.4-2.8-12.5-30.1-17.1-41.2-4.5-10.8-9.1-9.3-12.5-9.5-3.2-.2-6.9-.2-10.6-.2-3.7 0-9.7 1.4-14.8 6.9-5.1 5.6-19.4 19-19.4 46.3 0 27.3 19.9 53.7 22.6 57.4 2.8 3.7 39.1 59.7 94.8 83.8 35.2 15.2 49 16.5 66.6 13.9 10.7-1.6 32.8-13.4 37.4-26.4 4.6-13 4.6-24.1 3.2-26.4-1.3-2.5-5-3.9-10.5-6.6z" /> + class="h-7 w-7" + style="color: #9146ff"> + d="M391.17,103.47H352.54v109.7h38.63ZM285,103H246.37V212.75H285ZM120.83,0,24.31,91.42V420.58H140.14V512l96.53-91.42h77.25L487.69,256V0ZM449.07,237.75l-77.22,73.12H294.61l-67.6,64v-64H140.14V36.58H449.07Z" />
    @@ -525,16 +524,17 @@
    @@ -543,319 +543,340 @@

    -
    +
    @@ -867,16 +888,17 @@
    @@ -888,16 +910,17 @@
    @@ -913,14 +936,12 @@ + class="h-7 w-7" + style="color: #1877f2"> + d="M279.14 288l14.22-92.66h-88.91v-60.13c0-25.35 12.42-50.06 52.24-50.06h40.42V6.26S260.43 0 225.36 0c-73.22 0-121.08 44.38-121.08 124.72v70.62H22.89V288h81.39v224h100.17V288z" /> @@ -929,14 +950,12 @@ + class="h-7 w-7" + style="color: #c13584"> + d="M224.1 141c-63.6 0-114.9 51.3-114.9 114.9s51.3 114.9 114.9 114.9S339 319.5 339 255.9 287.7 141 224.1 141zm0 189.6c-41.1 0-74.7-33.5-74.7-74.7s33.5-74.7 74.7-74.7 74.7 33.5 74.7 74.7-33.6 74.7-74.7 74.7zm146.4-194.3c0 14.9-12 26.8-26.8 26.8-14.9 0-26.8-12-26.8-26.8s12-26.8 26.8-26.8 26.8 12 26.8 26.8zm76.1 27.2c-1.7-35.9-9.9-67.7-36.2-93.9-26.2-26.2-58-34.4-93.9-36.2-37-2.1-147.9-2.1-184.9 0-35.8 1.7-67.6 9.9-93.9 36.1s-34.4 58-36.2 93.9c-2.1 37-2.1 147.9 0 184.9 1.7 35.9 9.9 67.7 36.2 93.9s58 34.4 93.9 36.2c37 2.1 147.9 2.1 184.9 0 35.9-1.7 67.7-9.9 93.9-36.2 26.2-26.2 34.4-58 36.2-93.9 2.1-37 2.1-147.8 0-184.8zM398.8 388c-7.8 19.6-22.9 34.7-42.6 42.6-29.5 11.7-99.5 9-132.1 9s-102.7 2.6-132.1-9c-19.6-7.8-34.7-22.9-42.6-42.6-11.7-29.5-9-99.5-9-132.1s-2.6-102.7 9-132.1c7.8-19.6 22.9-34.7 42.6-42.6 29.5-11.7 99.5-9 132.1-9s102.7-2.6 132.1 9c19.6 7.8 34.7 22.9 42.6 42.6 11.7 29.5 9 99.5 9 132.1s2.7 102.7-9 132.1z" /> @@ -945,14 +964,12 @@ + class="h-7 w-7" + style="color: #ea4335"> + d="M488 261.8C488 403.3 391.1 504 248 504 110.8 504 0 393.2 0 256S110.8 8 248 8c66.8 0 123 24.5 166.3 64.9l-67.5 64.9C258.5 52.6 94.3 116.6 94.3 256c0 86.5 69.1 156.6 153.7 156.6 98.2 0 135-70.4 140.8-106.9H248v-85.3h236.1c2.3 12.7 3.9 24.9 3.9 41.4z" /> @@ -961,14 +978,12 @@ + class="h-7 w-7" + style="color: #1da1f2"> + d="M459.37 151.716c.325 4.548.325 9.097.325 13.645 0 138.72-105.583 298.558-298.558 298.558-59.452 0-114.68-17.219-161.137-47.106 8.447.974 16.568 1.299 25.34 1.299 49.055 0 94.213-16.568 130.274-44.832-46.132-.975-84.792-31.188-98.112-72.772 6.498.974 12.995 1.624 19.818 1.624 9.421 0 18.843-1.3 27.614-3.573-48.081-9.747-84.143-51.98-84.143-102.985v-1.299c13.969 7.797 30.214 12.67 47.431 13.319-28.264-18.843-46.781-51.005-46.781-87.391 0-19.492 5.197-37.36 14.294-52.954 51.655 63.675 129.3 105.258 216.365 109.807-1.624-7.797-2.599-15.918-2.599-24.04 0-57.828 46.782-104.934 104.934-104.934 30.213 0 57.502 12.67 76.67 33.137 23.715-4.548 46.456-13.32 66.599-25.34-7.798 24.366-24.366 44.833-46.132 57.827 21.117-2.273 41.584-8.122 60.426-16.243-14.292 20.791-32.161 39.308-52.628 54.253z" />
    @@ -980,61 +995,62 @@
    -
    +
    + class="absolute top-0 right-0 bottom-auto left-auto z-10 inline-block translate-x-2/4 -translate-y-1/2 rotate-0 skew-x-0 skew-y-0 scale-x-100 scale-y-100 whitespace-nowrap rounded-full bg-red-600 py-1 px-1.5 text-center align-baseline text-xs font-bold leading-none text-white"> 99+
    -
    +
    + class="absolute top-0 right-0 bottom-auto left-auto z-10 inline-block translate-x-2/4 -translate-y-1/2 rotate-0 skew-x-0 skew-y-0 scale-x-100 scale-y-100 rounded-full bg-red-600 p-2 text-xs">
    @@ -1047,12 +1063,16 @@
    + + - + diff --git a/demo/sites/components/spinners.html b/demo/sites/components/spinners.html new file mode 100644 index 000000000..0801d05de --- /dev/null +++ b/demo/sites/components/spinners.html @@ -0,0 +1,325 @@ + + + + + + + + Album example · Bootstrap v5.1 + + + + + + + + + + + + + +
    +
    +
    +
    + +

    + Spinners +

    + +
    +
    +
    + +

    + Basic example +

    + +
    + Loading... +
    + +
    +
    +
    + +

    Size

    + +
    + Loading... +
    + +
    + Loading... +
    + +
    +
    +
    + +

    Grow

    + +
    + Loading... +
    + +
    +
    +
    + +

    + Small +

    + +
    + Loading... +
    + +
    +
    +
    + +

    + Large +

    + +
    + Loading... +
    + +
    +
    +
    + +

    + Margin +

    + +
    + Loading... +
    + +
    +
    +
    + +

    Flex

    + +
    +
    + Loading... +
    +
    + +
    +
    +
    + +

    + Floats +

    + +
    +
    + Loading... +
    +
    + +
    +
    +
    + +

    + Colors +

    + +
    + Loading... +
    +
    + Loading... +
    +
    + Loading... +
    +
    + Loading... +
    +
    + Loading... +
    +
    + Loading... +
    +
    + Loading... +
    + +
    +
    +
    + +

    + Colors growing +

    + +
    + Loading... +
    +
    + Loading... +
    +
    + Loading... +
    +
    + Loading... +
    +
    + Loading... +
    +
    + Loading... +
    +
    + Loading... +
    + +
    +
    +
    +
    + + + + + + + + + + + + + + diff --git a/demo/sites/components/stepper.html b/demo/sites/components/stepper.html new file mode 100644 index 000000000..9b2ff6435 --- /dev/null +++ b/demo/sites/components/stepper.html @@ -0,0 +1,209 @@ + + + + + + + + Stepper + + + + + + + + + + + + + + + +
    +
    +
    +
    + +

    Basic example

    +
      +
    • +
      + + 1 + + + step1 + +
      +
      + Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do + eiusmod tempor incididunt ut labore et dolore magna aliqua. +
      +
    • +
    • +
      + + 2 + + + step2 + +
      +
      + Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris + nisi ut aliquip ex ea commodo consequat. +
      +
    • +
    • +
      + + 3 + + + step3 + +
      +
      + Duis aute irure dolor in reprehenderit in voluptate velit esse + cillum dolore eu fugiat nulla pariatur. +
      +
    • +
    + +
    +
    +
    + +

    Vertical stepper

    +
      +
    • +
      + + 1 + + + step1 + +
      +
      + Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do + eiusmod tempor incididunt ut labore et dolore magna aliqua. +
      +
    • +
    • +
      + + 2 + + + step2 + +
      +
      + Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris + nisi ut aliquip ex ea commodo consequat. +
      +
    • +
    • +
      + + 3 + + + step3 + +
      +
      + Duis aute irure dolor in reprehenderit in voluptate velit esse + cillum dolore eu fugiat nulla pariatur. +
      +
    • +
    + +
    +
    +
    +
    + + + + + + + + + + + + + + diff --git a/demo/sites/components/tables.html b/demo/sites/components/tables.html new file mode 100644 index 000000000..c366219b4 --- /dev/null +++ b/demo/sites/components/tables.html @@ -0,0 +1,1761 @@ + + + + + + + + Album example · Bootstrap v5.1 + + + + + + + + + + + + + +
    +
    +
    +
    + +
    +
    +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + # + + First + + Last + + Handle +
    + 1 + + Mark + + Otto + + @mdo +
    + 2 + + Jacob + + Thornton + + @fat +
    + 3 + + Larry + + Wild + + @twitter +
    +
    +
    +
    +
    + +
    +
    +
    + +
    +
    +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + Class + + Heading + + Heading +
    + Default + + Cell + + Cell +
    + Primary + + Cell + + Cell +
    + Secondary + + Cell + + Cell +
    + Success + + Cell + + Cell +
    + Danger + + Cell + + Cell +
    + Warning + + Cell + + Cell +
    + Info + + Cell + + Cell +
    + Light + + Cell + + Cell +
    + Dark + + Cell + + Cell +
    +
    +
    +
    +
    + +
    +
    +
    + +
    +
    +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + # + + First + + Last + + Handle +
    + 1 + + Mark + + Otto + + @mdo +
    + 2 + + Jacob + + Thornton + + @fat +
    + 3 + + Larry the Bird + + @twitter +
    +
    +
    +
    +
    + +
    +
    +
    + +
    +
    +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + # + + First + + Last + + Handle +
    + 1 + + Mark + + Otto + + @mdo +
    + 2 + + Jacob + + Thornton + + @fat +
    + 3 + + Larry + + Wild + + @twitter +
    +
    +
    +
    +
    + +
    +
    +
    + +
    +
    +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + # + + First + + Last + + Handle +
    + 1 + + Mark + + Otto + + @mdo +
    + 2 + + Jacob + + Thornton + + @fat +
    + 3 + + Larry the Bird + + @twitter +
    +
    +
    +
    +
    + +
    +
    +
    + +
    +
    +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + # + + First + + Last + + Handle +
    + 1 + + Mark + + Otto + + @mdo +
    + 2 + + Jacob + + Thornton + + @fat +
    + 3 + + Larry the Bird + + @twitter +
    +
    +
    +
    +
    + +
    +
    +
    + +
    +
    +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + # + + First + + Last + + Handle +
    + 1 + + Mark + + Otto + + @mdo +
    + 2 + + Jacob + + Thornton + + @fat +
    + 3 + + Larry the Bird + + @twitter +
    +
    +
    +
    +
    + +
    +
    +
    + +
    +
    +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + # + + First + + Last + + Handle +
    + 1 + + Mark + + Otto + + @mdo +
    + 2 + + Jacob + + Thornton + + @fat +
    + 3 + + Larry the Bird + + @twitter +
    +
    +
    +
    +
    + +
    +
    +
    + +
    +
    +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + # + + First + + Last + + Handle +
    + 1 + + Mark + + Otto + + @mdo +
    + 2 + + Jacob + + Thornton + + @fat +
    + 3 + + Larry the Bird + + @twitter +
    +
    +
    +
    +
    + +
    +
    +
    + +
    +
    +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + # + + Heading + + Heading + + Heading + + Heading + + Heading + + Heading + + Heading + + Heading +
    + 1 + + Cell + + Cell + + Cell + + Cell + + Cell + + Cell + + Cell + + Cell +
    + 2 + + Cell + + Cell + + Cell + + Cell + + Cell + + Cell + + Cell + + Cell +
    + 3 + + Cell + + Cell + + Cell + + Cell + + Cell + + Cell + + Cell + + Cell +
    +
    +
    +
    +
    + +
    +
    +
    + +
    +
    +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + Name + + Title + + Status + + Role + + Edit +
    +
    +
    + +
    +
    +
    + Flora Wu +
    +
    + flora.wu@example.com +
    +
    +
    +
    +
    + Software engineer +
    +
    IT
    +
    + + Active + + + Admin + + Edit +
    +
    +
    + +
    +
    +
    + Nida Povey +
    +
    + nida.povey@example.com +
    +
    +
    +
    +
    CMO
    +
    Marketing
    +
    + + Active + + + Member + + Edit +
    +
    +
    + +
    +
    +
    + Warren Nixon +
    +
    + warren.nixon@example.com +
    +
    +
    +
    +
    Designer
    +
    UI/UX
    +
    + + Active + + + Owner + + Edit +
    +
    +
    +
    +
    + +
    +
    +
    + +
    +
    +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + Name + + Title + + Email + + Role + + Edit +
    +
    +
    +
    + Flora Wu +
    +
    +
    +
    +
    + Software engineer, IT +
    +
    +
    + flora.wu@example.com +
    +
    + Admin + + Edit +
    +
    +
    +
    + Nida Povey +
    +
    +
    +
    +
    CMO, Marketing
    +
    +
    + nida.povey@example.com +
    +
    + Admin + + Edit +
    +
    +
    +
    + Warren Nixon +
    +
    +
    +
    +
    + Designer, UI/UX +
    +
    +
    + warren.nixon@example.com +
    +
    + Admin + + Edit +
    +
    +
    +
    + Flora Wu +
    +
    +
    +
    +
    + Software engineer, IT +
    +
    +
    + flora.wu@example.com +
    +
    + Admin + + Edit +
    +
    +
    +
    + Nida Povey +
    +
    +
    +
    +
    CMO, Marketing
    +
    +
    + nida.povey@example.com +
    +
    + Admin + + Edit +
    +
    +
    +
    + Warren Nixon +
    +
    +
    +
    +
    + Designer, UI/UX +
    +
    +
    + warren.nixon@example.com +
    +
    + Admin + + Edit +
    +
    +
    +
    +
    + +
    +
    +
    + +
    +
    +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + Name + + Title + + Email + + Role + + Edit +
    +
    +
    +
    + Flora Wu +
    +
    +
    +
    +
    + Software engineer, IT +
    +
    +
    + flora.wu@example.com +
    +
    + Admin + + Edit +
    +
    +
    +
    + Nida Povey +
    +
    +
    +
    +
    CMO, Marketing
    +
    +
    + nida.povey@example.com +
    +
    + Admin + + Edit +
    +
    +
    +
    + Warren Nixon +
    +
    +
    +
    +
    + Designer, UI/UX +
    +
    +
    + warren.nixon@example.com +
    +
    + Admin + + Edit +
    +
    +
    +
    + Flora Wu +
    +
    +
    +
    +
    + Software engineer, IT +
    +
    +
    + flora.wu@example.com +
    +
    + Admin + + Edit +
    +
    +
    +
    + Nida Povey +
    +
    +
    +
    +
    CMO, Marketing
    +
    +
    + nida.povey@example.com +
    +
    + Admin + + Edit +
    +
    +
    +
    + Warren Nixon +
    +
    +
    +
    +
    + Designer, UI/UX +
    +
    +
    + warren.nixon@example.com +
    +
    + Admin + + Edit +
    +
    +
    +
    +
    + +
    +
    +
    +
    + + + + + + + + + + + + + + diff --git a/demo/sites/components/timeline.html b/demo/sites/components/timeline.html new file mode 100644 index 000000000..ea0fbc19b --- /dev/null +++ b/demo/sites/components/timeline.html @@ -0,0 +1,420 @@ + + + + + + + + Album example · Bootstrap v5.1 + + + + + + + + + + + + + +
    +
    +
    +
    + +
      +
    1. +
      +
      +

      01.07.2021

      +
      +
      +

      + Title of section 1 +

      +

      + Lorem ipsum dolor sit amet, consectetur adipiscing elit. Quisque + scelerisque diam non nisi semper, et elementum lorem ornare. + Maecenas placerat facilisis mollis. Duis sagittis ligula in + sodales vehicula. +

      +
      +
    2. +
    3. +
      +
      +

      13.09.2021

      +
      +
      +

      + Title of section 2 +

      +

      + Libero expedita explicabo eius fugiat quia aspernatur autem + laudantium error architecto recusandae natus sapiente sit nam + eaque, consectetur porro molestiae ipsam an deleniti. +

      +
      +
    4. +
    5. +
      +
      +

      25.11.2021

      +
      +
      +

      + Title of section 3 +

      +

      + Voluptatibus temporibus esse illum eum aspernatur, fugiat suscipit + natus! Eum corporis illum nihil officiis tempore. Excepturi illo + natus libero sit doloremque, laborum molestias rerum pariatur quam + ipsam necessitatibus incidunt, explicabo. +

      +
      +
    6. +
    + +
    +
    +
    + +
      +
    1. +
      +
      +

      01.07.2021

      +
      +
      +

      + Title of section 1 +

      +

      + Lorem ipsum dolor sit amet, consectetur adipiscing elit. Quisque + scelerisque diam non nisi semper, et elementum lorem ornare. + Maecenas placerat facilisis mollis. Duis sagittis ligula in + sodales vehicula. +

      +
      +
    2. +
    3. +
      +
      +

      13.09.2021

      +
      +
      +

      + Title of section 2 +

      +

      + Libero expedita explicabo eius fugiat quia aspernatur autem + laudantium error architecto recusandae natus sapiente sit nam + eaque, consectetur porro molestiae ipsam an deleniti. +

      +
      +
    4. +
    5. +
      +
      +

      25.11.2021

      +
      +
      +

      + Title of section 3 +

      +

      + Voluptatibus temporibus esse illum eum aspernatur, fugiat suscipit + natus! Eum corporis illum nihil officiis tempore. Excepturi illo + natus libero sit doloremque, laborum molestias rerum pariatur quam + ipsam necessitatibus incidunt, explicabo. +

      +
      +
    6. +
    + +
    +
    +
    + +
      +
    1. +
      +
      +

      + Title of section 1 +

      +
      +
      + 4 February, 2022 +

      + Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do + eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut + enim ad minim veniam, quis nostrud exercitation ullamco laboris + nisi ut aliquip ex ea commodo consequat. +

      + +
      +
    2. +
    3. +
      +
      +

      + Title of section 2 +

      +
      +
      + 12 January, 2022 +

      + Sed ut perspiciatis unde omnis iste natus error sit voluptatem + accusantium doloremque laudantium, totam rem aperiam, eaque ipsa + quae ab illo inventore veritatis et quasi architecto beatae vitae + dicta sunt explicabo. Nemo enim ipsam voluptatem quia voluptas sit + aspernatur aut odit aut fugit, sed quia consequuntur magni dolores + eos qui ratione voluptatem sequi nesciunt. +

      + +
      +
    4. +
    5. +
      +
      +

      + Title of section 3 +

      +
      +
      + 27 December, 2021 +

      + At vero eos et accusamus et iusto odio dignissimos ducimus qui + blanditiis praesentium voluptatum deleniti atque corrupti quos + dolores et quas molestias excepturi sint occaecati cupiditate non + provident, similique sunt in culpa qui officia deserunt mollitia + animi, id est laborum et dolorum fuga. Et harum quidem rerum + facilis est et expedita distinctio. +

      + +
      +
    6. +
    + +
    +
    +
    + +

    + Latest News +

    + +
      +
    1. +
      +
      + +
      +
      + +

      + Lorem ipsum dolor sit amet, consectetur adipiscing elit. Quisque + scelerisque diam non nisi semper, et elementum lorem ornare. + Maecenas placerat facilisis mollis. Duis sagittis ligula in + sodales vehicula. +

      + + +
      +
      +
    2. +
    3. +
      +
      + +
      +
      + +

      + Libero expedita explicabo eius fugiat quia aspernatur autem + laudantium error architecto recusandae natus sapiente sit nam + eaque, consectetur porro molestiae ipsam an deleniti. +

      + + +
      +
      +
    4. +
    5. +
      +
      + +
      +
      + +

      + Voluptatibus temporibus esse illum eum aspernatur, fugiat + suscipit natus! Eum corporis illum nihil officiis tempore. + Excepturi illo natus libero sit doloremque, laborum molestias + rerum pariatur quam ipsam necessitatibus incidunt, explicabo. +

      + + +
      +
      +
    6. +
    + +
    +
    +
    +
    + + + + + + + + + + + + + + diff --git a/demo/sites/components/toast.html b/demo/sites/components/toast.html new file mode 100644 index 000000000..145ebe3a9 --- /dev/null +++ b/demo/sites/components/toast.html @@ -0,0 +1,144 @@ + + + + + + + + Album example · Bootstrap v5.1 + + + + + + + + + + + + + +
    +
    +
    +
    + + + +
    +
    +
    + + + + +
    + +
    +
    +
    + + + + + + + + + + + + + + diff --git a/demo/sites/components/tooltip.html b/demo/sites/components/tooltip.html new file mode 100644 index 000000000..1c6d088e7 --- /dev/null +++ b/demo/sites/components/tooltip.html @@ -0,0 +1,131 @@ + + + + + + + + Album example · Bootstrap v5.1 + + + + + + + + + + + + +
    +
    +
    +
    + +

    + Hover the link to see the + tooltip +

    + +
    +
    +
    + + + + + + +
    +
    +
    + + + +
    +
    +
    + + + + +
    + + + + + + + + + + + + + + + diff --git a/demo/sites/components/typography.html b/demo/sites/components/typography.html new file mode 100644 index 000000000..f97d73a7f --- /dev/null +++ b/demo/sites/components/typography.html @@ -0,0 +1,231 @@ + + + + + + + + Album example · Bootstrap v5.1 + + + + + + + + + + + + + +
    +
    +
    +
    + +

    Tailwind Elements

    +

    Tailwind Elements

    +

    Tailwind Elements

    +

    Tailwind Elements

    +
    Tailwind Elements
    +
    Tailwind Elements
    + +
    +
    +
    + +

    + Fancy display heading + With faded secondary text +

    + +
    +
    +
    + +

    Display 1

    +

    Display 2

    +

    Display 3

    +

    Display 4

    +
    Display 5
    +
    Display 6
    + +
    +
    +
    + +

    + Vivamus sagittis lacus vel augue laoreet rutrum faucibus dolor auctor. + Duis mollis, est non commodo luctus. +

    + +
    +
    +
    + +

    You can use the mark tag to highlight text.

    +

    + This line of text is meant to be treated as deleted text. +

    +

    + This line of text is meant to be treated as no longer accurate. +

    +

    + This line of text is meant to be treated as an addition to the + document. +

    +

    This line of text will render as underlined

    +

    + This line of text is meant to be treated as fine print. +

    +

    This line rendered as bold text.

    +

    This line rendered as italicized text.

    + +
    +
    +
    + +
    +
    +

    + Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer + posuere erat a ante. +

    +
    +
    + - Someone famous in Source Title +
    +
    + +
    +
    +
    + +

    Start aligned text on all viewport sizes.

    +

    Center aligned text on all viewport sizes.

    +

    End aligned text on all viewport sizes.

    + +

    + Start aligned text on viewports sized SM (small) or wider. +

    +

    + Start aligned text on viewports sized MD (medium) or wider. +

    +

    + Start aligned text on viewports sized LG (large) or wider. +

    +

    + Start aligned text on viewports sized XL (extra-large) or wider. +

    + +
    +
    +
    + +
    + This text should wrap. +
    + +
    +
    +
    + +
    + This text should overflow the parent. +
    + +
    +
    +
    + +

    Lowercased text.

    +

    Uppercased text.

    +

    capitalized text.

    + +
    +
    +
    + +

    Bold text.

    +

    + Bolder weight text (relative to the parent element). +

    +

    Normal weight text.

    +

    Light weight text.

    +

    Italic text.

    + +
    +
    +
    + +

    + This is a long paragraph written to show how the line-height of an + element is affected by our utilities. Classes are applied to the element + itself or sometimes the parent element. These classes can be customized + as needed with our utility API. +

    +

    + This is a long paragraph written to show how the line-height of an + element is affected by our utilities. Classes are applied to the element + itself or sometimes the parent element. These classes can be customized + as needed with our utility API. +

    +

    + This is a long paragraph written to show how the line-height of an + element is affected by our utilities. Classes are applied to the element + itself or sometimes the parent element. These classes can be customized + as needed with our utility API. +

    +

    + This is a long paragraph written to show how the line-height of an + element is affected by our utilities. Classes are applied to the element + itself or sometimes the parent element. These classes can be customized + as needed with our utility API. +

    + +
    +
    +
    + +
      +
    • This is a list.
    • +
    • It appears completely unstyled.
    • +
    • Structurally, it's still a list.
    • +
    • However, this style only applies to immediate child elements.
    • +
    • + Nested lists: +
        +
      • are unaffected by this style
      • +
      • will still show a bullet
      • +
      • and have appropriate left margin
      • +
      +
    • +
    • This may still come in handy in some situations.
    • +
    + +
    +
    +
    +
    + + + + + + + + + + + + + + diff --git a/demo/sites/components/video-carousel.html b/demo/sites/components/video-carousel.html new file mode 100644 index 000000000..b7c89f316 --- /dev/null +++ b/demo/sites/components/video-carousel.html @@ -0,0 +1,366 @@ + + + + + + + + Album example · Bootstrap v5.1 + + + + + + + + + + + + +
    +
    +
    +
    + +
    +
    + + + +
    +
    + + + +
    + + +
    +
    + +
    +
    +
    + +
    +
    + + + +
    +
    + + + +
    + + +
    + + + + + + + + + + + + + diff --git a/demo/sites/components/video.html b/demo/sites/components/video.html new file mode 100644 index 000000000..f9834e5a1 --- /dev/null +++ b/demo/sites/components/video.html @@ -0,0 +1,299 @@ + + + + + + + + Album example · Bootstrap v5.1 + + + + + + + + + + + + +
    +
    +
    +
    + +

    Ratio 21 x 9

    + +
    + +
    + +
    +
    +
    + +

    Ratio 16 x 9

    + +
    + +
    + +
    +
    +
    + +

    Ratio 4 x 3

    + +
    + +
    + +
    +
    +
    + +

    Ratio 1 x 1

    + +
    + +
    + +
    +
    +
    + +
    +
    + +
    + +
    + +
    +
    + +
    +
    +
    + +
    +
    + + + +
    +
    + + + +
    + + +
    + +
    +
    +
    + + + +
    +
    +
    + +

    Hover to play

    + + + +
    +
    +
    +
    + + + + + + + + + + + + + diff --git a/demo/sites/content-styles/animations.html b/demo/sites/content-styles/animations.html new file mode 100644 index 000000000..0dad314bc --- /dev/null +++ b/demo/sites/content-styles/animations.html @@ -0,0 +1,485 @@ + + + + + + + + Animations + + + + + + + + + + + + + +
    +
    + fadeIn +
    +
    + fadeInDown +
    +
    + fadeInLeft +
    +
    + fadeInRight +
    +
    + fadeInUp +
    +
    + fadeOut +
    +
    + fadeOutDown +
    +
    + fadeOutLeft +
    +
    + fadeOutRight +
    +
    + fadeOutUp +
    +
    + slideInDown +
    +
    + slideInLeft +
    +
    + slideInRight +
    +
    + slideInUp +
    +
    + slideOutDown +
    +
    + slideOutLeft +
    +
    + slideOutRight +
    +
    + slideOutUp +
    +
    + slideDown +
    +
    + slideLeft +
    +
    + slideRight +
    +
    + slideUp +
    +
    + zoomIn +
    +
    + zoomOut +
    +
    + tada +
    +
    + spinnerGrow +
    +
    + + + + + + + + + + + + + + diff --git a/demo/sites/content-styles/colors.html b/demo/sites/content-styles/colors.html new file mode 100644 index 000000000..4a5e3b2a3 --- /dev/null +++ b/demo/sites/content-styles/colors.html @@ -0,0 +1,2313 @@ + + + + + + + + Album example · Bootstrap v5.1 + + + + + + + + + + + + + +
    +
    +
    +

    Primary (#3B71CA)

    +
    +
    +

    Secondary (#9FA6B2)

    +
    +
    +

    Success (#14A44D)

    +
    +
    +

    Danger (#DC4C64)

    +
    +
    +

    Warning (#E4A11B)

    +
    +
    +

    Info (#54B4D3)

    +
    +
    +

    Light (#F9FAFB)

    +
    +
    +

    Dark (#1F2937)

    +
    +
    + +
    +

    Lorem ipsum dolor sit amet

    +

    Lorem ipsum dolor sit amet

    +

    Lorem ipsum dolor sit amet

    +

    Lorem ipsum dolor sit amet

    +

    Lorem ipsum dolor sit amet

    +

    Lorem ipsum dolor sit amet

    +

    Lorem ipsum dolor sit amet

    +

    + Lorem ipsum dolor sit amet +

    +
    + +
    +
    Primary
    +
    +
    +

    50

    +

    #F1F5FB

    +
    +
    +
    +

    100

    +

    #E3EBF7

    +
    +
    +
    +

    200

    +

    #C7D7F0

    +
    +
    +
    +

    300

    +

    #ABC2E8

    +
    +
    +
    +

    400

    +

    #8FAEE0

    +
    +
    +
    +

    500

    +

    #6590D5

    +
    +
    +
    +

    600

    +

    #3061AF

    +
    +
    +
    +

    700

    +

    #285192

    +
    +
    +
    +

    800

    +

    #204075

    +
    +
    +
    +

    900

    +

    #183058

    +
    +
    +
    +
    Secondary
    +
    +
    +

    50

    +

    #F8F9F9

    +
    +
    +
    +

    100

    +

    #F1F2F4

    +
    +
    +
    +

    200

    +

    #E4E6E9

    +
    +
    +
    +

    300

    +

    #D6D9DE

    +
    +
    +
    +

    400

    +

    #C8CCD3

    +
    +
    +
    +

    500

    +

    #B3B9C2

    +
    +
    +
    +

    600

    +

    #848D9C

    +
    +
    +
    +

    700

    +

    #6B7585

    +
    +
    +
    +

    800

    +

    #565D6B

    +
    +
    +
    +

    900

    +

    #404650

    +
    +
    +
    +
    Success
    +
    +
    +

    50

    +

    #EAFCF2

    +
    +
    +
    +

    100

    +

    #D6FAE4

    +
    +
    +
    +

    200

    +

    #ACF5C9

    +
    +
    +
    +

    300

    +

    #83F0AE

    +
    +
    +
    +

    400

    +

    #59EA93

    +
    +
    +
    +

    500

    +

    #1CE26B

    +
    +
    +
    +

    600

    +

    #118C42

    +
    +
    +
    +

    700

    +

    #0E7537

    +
    +
    +
    +

    800

    +

    #0C5D2C

    +
    +
    +
    +

    900

    +

    #094621

    +
    +
    +
    +
    Danger
    +
    +
    +

    50

    +

    #FCF2F4

    +
    +
    +
    +

    100

    +

    #FAE5E9

    +
    +
    +
    +

    200

    +

    #F5CCD3

    +
    +
    +
    +

    300

    +

    #F0B2BD

    +
    +
    +
    +

    400

    +

    #EB99A6

    +
    +
    +
    +

    500

    +

    #E37285

    +
    +
    +
    +

    600

    +

    #D42A46

    +
    +
    +
    +

    700

    +

    #B0233A

    +
    +
    +
    +

    800

    +

    #8D1C2F

    +
    +
    +
    +

    900

    +

    #6A1523

    +
    +
    +
    +
    Warning
    +
    +
    +

    50

    +

    #FDF8EF

    +
    +
    +
    +

    100

    +

    #FBF2DE

    +
    +
    +
    +

    200

    +

    #F7E4BE

    +
    +
    +
    +

    300

    +

    #F4D79D

    +
    +
    +
    +

    400

    +

    #F0C97D

    +
    +
    +
    +

    500

    +

    #EAB54C

    +
    +
    +
    +

    600

    +

    #C48A17

    +
    +
    +
    +

    700

    +

    #A37313

    +
    +
    +
    +

    800

    +

    #825C0F

    +
    +
    +
    +

    900

    +

    #62450B

    +
    +
    +
    +
    Info
    +
    +
    +

    50

    +

    #F3FAFC

    +
    +
    +
    +

    100

    +

    #E7F4F9

    +
    +
    +
    +

    200

    +

    #CEE9F2

    +
    +
    +
    +

    300

    +

    #B6DFEC

    +
    +
    +
    +

    400

    +

    #9ED4E6

    +
    +
    +
    +

    500

    +

    #79C4DC

    +
    +
    +
    +

    600

    +

    #34A4CA

    +
    +
    +
    +

    700

    +

    #2B89A8

    +
    +
    +
    +

    800

    +

    #236D86

    +
    +
    +
    +

    900

    +

    #1A5265

    +
    +
    + +
    +

    Alerts

    + + + + + + + + +
    + +
    +

    Badges

    + + Primary + + + Secondary + + + Success + + + Danger + + + Warning + + + Info + + + Light + + + Dark + +
    + +
    +

    Buttons hierarchy

    + + + +
    + +
    +

    Buttons contextual

    + + + + +
    + +
    +

    Buttons neutral

    + + +
    + +
    +

    Pagination

    + + + + + + + + + + + + + + + +
    + +
    +

    Pills

    + +
    + + + + +
    + + +
    + + + + +
    + + +
    + + + + +
    + + +
    + + + + +
    + + +
    + + + + +
    + + +
    + + + + +
    + + +
    + + + + +
    + + +
    + + + + +
    +
    + +
    +

    Tabs

    + +
    + + + + +
    + + +
    + + + + +
    + + +
    + + + + +
    + + +
    + + + + +
    + + +
    + + + + +
    + + +
    + + + + +
    + + +
    + + + + +
    + + +
    + + + + +
    +
    +
    + + + + + + + + + + + + + + diff --git a/demo/sites/db/admin-charts-1.html b/demo/sites/db/admin-charts-1.html index 86c3793f0..6f5efa378 100644 --- a/demo/sites/db/admin-charts-1.html +++ b/demo/sites/db/admin-charts-1.html @@ -7,11 +7,10 @@ Album example · Bootstrap v5.1 - + + href="https://fonts.googleapis.com/css?family=Roboto:300,400,500,700,900&display=swap" + rel="stylesheet" /> @@ -24,34 +23,34 @@ - +
    -
    - -
    -
    +
    + +
    +
    -
    +
    -

    Users

    +

    + Users +

    - 23 456 - + 23 456 + 13,48% @@ -60,10 +59,9 @@

    @@ -74,12 +72,11 @@
    -
    +
    -
    +
    - + class="peer block min-h-[auto] w-full rounded border-0 bg-transparent py-[0.32rem] px-3 leading-[1.6] outline-none transition-all duration-200 ease-linear focus:placeholder:opacity-100 data-[te-input-state-active]:placeholder:opacity-100 motion-reduce:transition-none dark:placeholder:text-neutral-200 [&:not([data-te-input-placeholder-active])]:placeholder:opacity-0" + placeholder="Select a date" /> +
    @@ -103,18 +105,22 @@
    - +
    + + - + @@ -122,26 +128,29 @@ diff --git a/demo/sites/db/admin-charts-2.html b/demo/sites/db/admin-charts-2.html index 1168de131..b390f4693 100644 --- a/demo/sites/db/admin-charts-2.html +++ b/demo/sites/db/admin-charts-2.html @@ -7,11 +7,10 @@ Album example · Bootstrap v5.1 - + + href="https://fonts.googleapis.com/css?family=Roboto:300,400,500,700,900&display=swap" + rel="stylesheet" /> @@ -24,34 +23,34 @@ - +
    -
    - -
    -
    +
    + +
    +
    -
    +
    -

    Users

    +

    + Users +

    - 78 901 - + 78 901 + 26,59% @@ -60,10 +59,9 @@

    @@ -74,12 +72,11 @@
    - +
    + + - + @@ -123,33 +129,36 @@ diff --git a/demo/sites/db/admin-charts-3.html b/demo/sites/db/admin-charts-3.html index 0e2af2df7..6979873fc 100644 --- a/demo/sites/db/admin-charts-3.html +++ b/demo/sites/db/admin-charts-3.html @@ -7,11 +7,10 @@ Album example · Bootstrap v5.1 - + + href="https://fonts.googleapis.com/css?family=Roboto:300,400,500,700,900&display=swap" + rel="stylesheet" /> @@ -24,25 +23,26 @@ - +
    -
    - -
    -
    +
    + +
    +
    -
    +
    - +
    + + - + @@ -200,86 +205,108 @@ diff --git a/demo/sites/db/admin-complex-1.html b/demo/sites/db/admin-complex-1.html index 489fc1a6d..37fe05af0 100644 --- a/demo/sites/db/admin-complex-1.html +++ b/demo/sites/db/admin-complex-1.html @@ -7,11 +7,10 @@ Album example · Bootstrap v5.1 - + + href="https://fonts.googleapis.com/css?family=Roboto:300,400,500,700,900&display=swap" + rel="stylesheet" /> @@ -24,34 +23,34 @@ - +
    -
    - -
    -
    +
    + +
    +
    -
    +
    -

    Sales

    +

    + Sales +

    - $231 456 - + $231 456 + 31,48% @@ -60,10 +59,9 @@

    @@ -71,145 +69,221 @@
    -
    +
    - - +
    + - - - + + - - - - + + + - - - - + + + - - - - + + + - - - - + + + - - - - + + + - - - - + + + - - - - + + + - - - - + + + - - - - + + + - - - - + + + - - - - + + + @@ -221,12 +295,13 @@ -
    -
    -
    +
    +
    +
    -
    +
    @@ -235,18 +310,22 @@
    - +
    + + - + @@ -256,63 +335,78 @@ diff --git a/demo/sites/db/admin-complex-2.html b/demo/sites/db/admin-complex-2.html index df06b9c14..b76702504 100644 --- a/demo/sites/db/admin-complex-2.html +++ b/demo/sites/db/admin-complex-2.html @@ -7,11 +7,10 @@ Album example · Bootstrap v5.1 - + + href="https://fonts.googleapis.com/css?family=Roboto:300,400,500,700,900&display=swap" + rel="stylesheet" /> @@ -20,20 +19,20 @@ - +
    -
    - -
    -
    +
    + +
    +
    -
    +
    + class="form-select m-0 block w-full appearance-none rounded border border-solid border-neutral-300 bg-white bg-clip-padding bg-no-repeat px-3 py-1.5 text-base font-normal text-neutral-700 transition ease-in-out focus:border-primary focus:bg-white focus:text-neutral-700 focus:outline-none" + aria-label="Default select example"> @@ -57,325 +56,289 @@
    -
    -
    +
    +
    + id="exampleFormControlInput1" + data-te-datepicker-toggle-ref + data-te-datepicker-toggle-button-ref /> +
    -
    -
    +
    +

    Sales Performance KPIs

    -
    +
    + class="rounded-tl-lg px-6 py-4 text-sm font-semibold"> Country SalesValue + + Sales + + Value + Purchased?
    Norway$72.638 + + Norway + + $72.63 + + 8 + Yes
    Barbados$81.524 + + Barbados + + $81.52 + + 4 + Yes
    France$76.023 + + France + + $76.02 + + 3 + No
    Egipt$53.216 + + Egipt + + $53.21 + + 6 + Pending
    South Korea$3.936 + + South Korea + + $3.93 + + 6 + Yes
    Finland$31.589 + + Finland + + $31.58 + + 9 + No
    Mayotte$11.205 + + Mayotte + + $11.20 + + 5 + No
    Netherlands$75.947 + + Netherlands + + $75.94 + + 7 + Pending
    Slovenia$48.5410 + + Slovenia + + $48.54 + + 10 + Yes
    Spain$64.325 + + Spain + + $64.32 + + 5 + Yes
    Italy$52.157 + + Italy + + $52.15 + + 7 + Pending
    - + + class="px-6 py-4 text-left text-sm font-medium text-neutral-900"> + class="border-b bg-white transition duration-300 ease-in-out hover:bg-neutral-100"> + class="border-b bg-white transition duration-300 ease-in-out hover:bg-neutral-100"> + class="border-b bg-white transition duration-300 ease-in-out hover:bg-neutral-100"> ")}).join(""),"\n \n "),t=t.map(function(t){return"\n \n ".concat(t.map(function(t){return'\n \n \n ').concat(t.dayNumber,"\n \n \n ")}).join(""),"\n \n ")}).join("");return'\n
    + class="px-6 py-4 text-left text-sm font-medium text-neutral-900"> Product Detail Views + class="px-6 py-4 text-left text-sm font-medium text-neutral-900"> Unique Purchases + class="px-6 py-4 text-left text-sm font-medium text-neutral-900"> Quantity + class="px-6 py-4 text-left text-sm font-medium text-neutral-900"> Product Revenue + class="px-6 py-4 text-left text-sm font-medium text-neutral-900"> Avg. Price
    + class="whitespace-nowrap px-6 py-4 text-sm font-medium text-neutral-900"> Value + class="whitespace-nowrap px-6 py-4 text-sm font-light text-neutral-900"> 18,492 + class="whitespace-nowrap px-6 py-4 text-sm font-light text-neutral-900"> 228 + class="whitespace-nowrap px-6 py-4 text-sm font-light text-neutral-900"> 350 + class="whitespace-nowrap px-6 py-4 text-sm font-light text-neutral-900"> $4,787.64 + class="whitespace-nowrap px-6 py-4 text-sm font-light text-neutral-900"> $13.68
    + class="whitespace-nowrap px-6 py-4 text-sm font-medium text-neutral-900"> Percentage change - + class="whitespace-nowrap px-6 py-4 text-sm font-light text-neutral-900"> + -48.8%% - + class="whitespace-nowrap px-6 py-4 text-sm font-light text-neutral-900"> + 14.0% - + class="whitespace-nowrap px-6 py-4 text-sm font-light text-neutral-900"> + 46.4% - + class="whitespace-nowrap px-6 py-4 text-sm font-light text-neutral-900"> + 29.6% - + class="whitespace-nowrap px-6 py-4 text-sm font-light text-neutral-900"> + -48.8%%
    + class="whitespace-nowrap px-6 py-4 text-sm font-medium text-neutral-900"> Absolute change - + class="whitespace-nowrap px-6 py-4 text-sm font-light text-neutral-900"> + -17,654 - + class="whitespace-nowrap px-6 py-4 text-sm font-light text-neutral-900"> + 28 - + class="whitespace-nowrap px-6 py-4 text-sm font-light text-neutral-900"> + 111 - + class="whitespace-nowrap px-6 py-4 text-sm font-light text-neutral-900"> + $1,092.72 - + class="whitespace-nowrap px-6 py-4 text-sm font-light text-neutral-900"> + $-1.78 @@ -391,9 +354,11 @@
    -
    -
    -
    +
    +
    +

    Shopping Funnel

    @@ -402,8 +367,8 @@
    -
    -
    +
    +
    @@ -411,18 +376,22 @@
    - +
    + + - + @@ -432,57 +401,71 @@ diff --git a/demo/sites/db/admin-complex-3.html b/demo/sites/db/admin-complex-3.html index 459c5d64a..578e9dcf9 100644 --- a/demo/sites/db/admin-complex-3.html +++ b/demo/sites/db/admin-complex-3.html @@ -7,11 +7,10 @@ Album example · Bootstrap v5.1 - + + href="https://fonts.googleapis.com/css?family=Roboto:300,400,500,700,900&display=swap" + rel="stylesheet" /> @@ -20,39 +19,39 @@ - +
    -
    - -
    -
    +
    + +
    +
    -
    -
    +
    +
    Visibility
    -
    +

    Impr. Top

    -
    +
    90% - + 3.0% @@ -60,22 +59,21 @@

    Impr. Abs Top

    -
    +
    86.3% - + 4.5% @@ -88,30 +86,30 @@
    -
    -
    +
    +
    Acquisition
    -
    +

    Clicks

    -
    +
    4.9K - + -71.9% @@ -119,22 +117,21 @@

    CTR

    -
    +
    31.13% - + -2.6% @@ -147,32 +144,32 @@
    -
    +
    -
    -
    +
    +
    Conversion
    -
    +

    Conversions

    -
    +
    859.5 - + 72.0% @@ -180,22 +177,21 @@

    Conversion rate

    -
    +
    17.7% - + 3.0% @@ -203,22 +199,21 @@

    Cost / conv.

    -
    +
    $1.86 - + 4.5% @@ -231,30 +226,30 @@
    -
    -
    +
    +
    Cost
    -
    +

    Cost

    -
    +
    $1.60K - + -31.0% @@ -262,22 +257,21 @@

    Avg. CPC

    -
    +
    $0.3 - + 11.1% @@ -285,22 +279,21 @@

    Avg. CPM

    -
    +
    $102.55 - + -13.4.5% @@ -313,18 +306,22 @@
    - +
    + + - + @@ -332,114 +329,142 @@
    diff --git a/demo/sites/db/admin-forms-1.html b/demo/sites/db/admin-forms-1.html index 151415936..e09aa856e 100644 --- a/demo/sites/db/admin-forms-1.html +++ b/demo/sites/db/admin-forms-1.html @@ -7,11 +7,10 @@ Album example · Bootstrap v5.1 - + + href="https://fonts.googleapis.com/css?family=Roboto:300,400,500,700,900&display=swap" + rel="stylesheet" /> @@ -20,68 +19,79 @@ - +
    - -
    -
    + +
    +
    -
    +
    logo -

    Sign in to your account

    -

    + class="mx-auto" /> +

    + Sign in to your account +

    +

    Or start your 14-day free trial

    -
    +
    + placeholder="Email address" /> +
    -
    +
    + class="peer block min-h-[auto] w-full rounded border-0 bg-transparent py-[0.32rem] px-3 leading-[1.6] outline-none transition-all duration-200 ease-linear focus:placeholder:opacity-100 data-[te-input-state-active]:placeholder:opacity-100 motion-reduce:transition-none dark:text-neutral-200 dark:placeholder:text-neutral-200 [&:not([data-te-input-placeholder-active])]:placeholder:opacity-0" + id="exampleFormControlInput2" + placeholder="Password" /> +
    -
    +
    -
    Forgot password?
    @@ -89,18 +99,22 @@

    Sign in to your account

    - +
    + + - + diff --git a/demo/sites/db/admin-forms-2.html b/demo/sites/db/admin-forms-2.html index 26a87737f..0d91d58b9 100644 --- a/demo/sites/db/admin-forms-2.html +++ b/demo/sites/db/admin-forms-2.html @@ -7,11 +7,10 @@ Album example · Bootstrap v5.1 - + + href="https://fonts.googleapis.com/css?family=Roboto:300,400,500,700,900&display=swap" + rel="stylesheet" /> @@ -20,15 +19,15 @@ - +
    - -
    + +
    -
    +
    -
    +
    logo -

    Sign in to your account

    -

    + class="mx-auto" /> +

    + Sign in to your account +

    +

    Or start your 14-day free trial

    -
    -
    +
    +
    + placeholder="Email address" /> +
    -
    +
    + class="peer block min-h-[auto] w-full rounded border-0 bg-transparent py-[0.32rem] px-3 leading-[1.6] outline-none transition-all duration-200 ease-linear focus:placeholder:opacity-100 data-[te-input-state-active]:placeholder:opacity-100 motion-reduce:transition-none dark:text-neutral-200 dark:placeholder:text-neutral-200 [&:not([data-te-input-placeholder-active])]:placeholder:opacity-0" + id="exampleFormControlInput2" + placeholder="Password" /> +
    -
    +
    -
    Forgot password?
    -

    Or continue with

    +

    + Or continue with +

    @@ -165,16 +168,20 @@

    Sign in to your account

    - +
    + + - + diff --git a/demo/sites/db/admin-forms-3.html b/demo/sites/db/admin-forms-3.html index b179672ca..e09654dac 100644 --- a/demo/sites/db/admin-forms-3.html +++ b/demo/sites/db/admin-forms-3.html @@ -7,11 +7,10 @@ Album example · Bootstrap v5.1 - + + href="https://fonts.googleapis.com/css?family=Roboto:300,400,500,700,900&display=swap" + rel="stylesheet" /> @@ -20,22 +19,22 @@ - +
    -
    -
    +
    +
    -
    -
    -
    Delete your account
    -

    - Once you delete account, you will lose all data associated with it. +

    +
    +
    Delete your account
    +

    + Once you delete account, you will lose all data associated + with it.

    @@ -46,12 +45,16 @@
    Delete your account
    + + - + diff --git a/demo/sites/db/admin-maps-1.html b/demo/sites/db/admin-maps-1.html index f4c6a2f97..d6c271b72 100644 --- a/demo/sites/db/admin-maps-1.html +++ b/demo/sites/db/admin-maps-1.html @@ -7,11 +7,10 @@ Album example · Bootstrap v5.1 - + + href="https://fonts.googleapis.com/css?family=Roboto:300,400,500,700,900&display=swap" + rel="stylesheet" /> @@ -20,106 +19,123 @@ - +
    -
    - -
    -

    Contact us

    +
    + +
    +

    Contact us

    -
    +
    + loading="lazy">
    -
    +
    -
    -
    -
    +
    +
    +
    + placeholder="First name" /> +
    -
    +
    + placeholder="Email address" /> +
    -
    +
    + placeholder="Subject" /> +
    -
    +
    + placeholder="Message"> +
    -
    +
    • -

      New York, NY 10012, USA

      +

      + New York, NY 10012, USA +

    • - + -

      + 01 234 567 89

      +

      + + 01 234 567 89 +

    • Contact us
    focusable="false" data-prefix="fas" data-icon="envelope" - class="w-6 mx-auto text-blue-600 mb-1" + class="mx-auto mb-1 w-6 text-primary" role="img" xmlns="http://www.w3.org/2000/svg" - viewBox="0 0 512 512" - > + viewBox="0 0 512 512"> + d="M502.3 190.8c3.9-3.1 9.7-.2 9.7 4.7V400c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V195.6c0-5 5.7-7.8 9.7-4.7 22.4 17.4 52.1 39.5 154.1 113.6 21.1 15.4 56.7 47.8 92.2 47.6 35.7.3 72-32.8 92.3-47.6 102-74.1 131.6-96.3 154-113.7zM256 320c23.2.4 56.6-29.2 73.4-41.4 132.7-96.3 142.8-104.7 173.4-128.7 5.8-4.5 9.2-11.5 9.2-18.9v-19c0-26.5-21.5-48-48-48H48C21.5 64 0 85.5 0 112v19c0 7.4 3.4 14.3 9.2 18.9 30.6 23.9 40.7 32.4 173.4 128.7 16.8 12.2 50.2 41.8 73.4 41.4z"> -

    contact@gmail.com

    +

    + contact@gmail.com +

    @@ -146,18 +162,22 @@

    Contact us

    - +
    + + - + diff --git a/demo/sites/db/admin-maps-2.html b/demo/sites/db/admin-maps-2.html index 9ae8eb800..a0b252a03 100644 --- a/demo/sites/db/admin-maps-2.html +++ b/demo/sites/db/admin-maps-2.html @@ -7,11 +7,10 @@ Album example · Bootstrap v5.1 - + + href="https://fonts.googleapis.com/css?family=Roboto:300,400,500,700,900&display=swap" + rel="stylesheet" /> @@ -20,93 +19,86 @@ - +
    -
    - -
    +
    + +
    -
    -
    +
    +
    + loading="lazy">
    -
    +
    + class="flex h-full items-center rounded-lg bg-primary p-6 py-12 text-white lg:py-0 lg:pl-12" + style="z-index: -10">
    -

    Contact us

    -
    Address:
    +

    + Contact us +

    +
    Address:

    Lafayette St &, E Houston, st New
    York, 10012, USA

    -
    Follow us:
    +
    Follow us:
    @@ -114,18 +106,22 @@
    Follow us:
    - +
    + + - + diff --git a/demo/sites/db/admin-maps-3.html b/demo/sites/db/admin-maps-3.html index 7ed34d665..8b0f2c8d2 100644 --- a/demo/sites/db/admin-maps-3.html +++ b/demo/sites/db/admin-maps-3.html @@ -7,11 +7,10 @@ Album example · Bootstrap v5.1 - + + href="https://fonts.googleapis.com/css?family=Roboto:300,400,500,700,900&display=swap" + rel="stylesheet" /> @@ -20,35 +19,36 @@ - +
    -
    - -
    -

    Get in touch

    -

    - Lorem ipsum dolor sit amet, consectetur adipisicing elit qui eveniet quibusdam molestias - quis dolor nostrum, dolores aut esse explicabo corrupti animi autem odit doloribus. +

    + +
    +

    Get in touch

    +

    + Lorem ipsum dolor sit amet, consectetur adipisicing elit qui eveniet + quibusdam molestias quis dolor nostrum, dolores aut esse explicabo + corrupti animi autem odit doloribus.

    -
    +
    + loading="lazy">
    -
    -
    +
    +
    + class="flex h-14 w-14 items-center justify-center rounded-md bg-primary p-4 shadow-md">
    -
    -

    Technical support

    -

    support@example.com

    -

    +1 234-567-89

    +
    +

    Technical support

    +

    support@example.com

    +

    +1 234-567-89

    @@ -77,8 +75,7 @@

    Get in touch

    + class="flex h-14 w-14 items-center justify-center rounded-md bg-primary p-4 shadow-md">
    -
    -

    Sales questions

    -

    sales@example.com

    -

    +1 234-567-89

    +
    +

    Sales questions

    +

    sales@example.com

    +

    +1 234-567-89

    -
    +
    + class="flex h-14 w-14 items-center justify-center rounded-md bg-primary p-4 shadow-md">
    -
    -

    Press

    -

    press@example.com

    -

    +1 234-567-89

    +
    +

    Press

    +

    press@example.com

    +

    +1 234-567-89

    -
    +
    + class="flex h-14 w-14 items-center justify-center rounded-md bg-primary p-4 shadow-md">
    -
    -

    Bug report

    -

    bugs@example.com

    -

    +1 234-567-89

    +
    +

    Bug report

    +

    bugs@example.com

    +

    +1 234-567-89

    @@ -167,18 +156,22 @@

    Get in touch

    - +
    + + - + diff --git a/demo/sites/db/admin-navigation-1.html b/demo/sites/db/admin-navigation-1.html index 2815f1808..5bcbfa5a5 100644 --- a/demo/sites/db/admin-navigation-1.html +++ b/demo/sites/db/admin-navigation-1.html @@ -7,11 +7,10 @@ Album example · Bootstrap v5.1 - + + href="https://fonts.googleapis.com/css?family=Roboto:300,400,500,700,900&display=swap" + rel="stylesheet" /> @@ -20,75 +19,76 @@ - +
    ').concat(t,"
    \n \n '.concat(e,'\n \n \n ').concat(t,"\n \n
    \n ")}function os(n,r,o,i,t){var t=function(t,e){for(var n=[],r=[],o=0;o\n ".concat(t.map(function(t){var e=i.monthsShort.indexOf(t);return'\n \n
    ').concat(t,"
    \n \n ")}).join(""),"\n \n ")}).join(""),"\n ");return'\n \n \n '.concat(t,"\n \n
    \n ")}function is(t,e,n,r,o){var t=function(t,e,n){for(var r=[],o=C(t),t=ts(t,e),i=o-t,a=[],c=0;c\n ".concat(t.map(function(t){return'\n \n
    ').concat(t,"
    \n \n ")}).join(""),"\n \n ")}).join(""),"\n ");return'\n \n \n '.concat(r,"\n \n
    \n ")}function as(t){return(as="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function cs(e,t){var n,r=Object.keys(e);return Object.getOwnPropertySymbols&&(n=Object.getOwnPropertySymbols(e),t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)),r}function ss(r){for(var t=1;t\n \n \n ');this._element.insertAdjacentHTML("beforeend",t),S.addClass(this._input,"form-icon-trailing")}},{key:"open",value:function(){var t,e,n=this;this._input.readOnly||this._input.disabled||(t=_.trigger(this._element,hs),this._isOpen||t.defaultPrevented||(this._setInitialDate(),t=Va("div"),S.addClass(t,"datepicker-backdrop"),t=t,e=ns(this._activeDate,this._selectedDate,this._selectedYear,this._selectedMonth,this._options,4,24,24,this._toggleButtonId),this._openModal(t,e),S.addClass(this.container,"animation"),S.addClass(this.container,"fade-in"),this.container.style.animationDuration="300ms",S.addClass(t,"animation"),S.addClass(t,"fade-in"),t.style.animationDuration="150ms",this._setFocusTrap(this.container),this._listenToDateSelection(),this._addControlsListeners(),this._listenToEscapeClick(),this._listenToKeyboardNavigation(),this._listenToDatesContainerFocus(),this._listenToDatesContainerBlur(),this._asyncFocusDatesContainer(),this._updateViewControlsAndAttributes(this._view),this._isOpen=!0,setTimeout(function(){n._listenToOutsideClick()},0)))}},{key:"_openDropdown",value:function(t){this._popper=en(this._input,t,{placement:"bottom-start"}),document.body.appendChild(t)}},{key:"_openModal",value:function(t,e){document.body.appendChild(t),document.body.appendChild(e);window.innerWidth>document.documentElement.clientWidth&&(document.body.style.overflow="hidden",document.body.style.paddingRight="15px")}},{key:"_setFocusTrap",value:function(t){this._focusTrap=new qc(t,{event:"keydown",condition:function(t){return"Tab"===t.key}}),this._focusTrap.trap()}},{key:"_listenToUserInput",value:function(){var e=this;_.on(this._input,"input",function(t){e._handleUserInput(t.target.value)})}},{key:"_listenToToggleClick",value:function(){var e=this;_.on(this._element,ys,'[data-mdb-toggle="datepicker"]',function(t){t.preventDefault(),e.open()})}},{key:"_listenToToggleKeydown",value:function(){var e=this;_.on(this._element,"keydown",'[data-mdb-toggle="datepicker"]',function(t){13!==t.keyCode||e._isOpen||e.open()})}},{key:"_listenToDateSelection",value:function(){var r=this;_.on(this.datesContainer,"click",function(t){var e,n=("DIV"===t.target.nodeName?t.target.parentNode:t.target).dataset,t="DIV"===t.target.nodeName?t.target.parentNode:t.target;n.mdbDate&&r._pickDay(n.mdbDate,t),n.mdbMonth&&n.mdbYear&&(t=parseInt(n.mdbMonth,10),e=parseInt(n.mdbYear,10),r._pickMonth(t,e)),n.mdbYear&&!n.mdbMonth&&(t=parseInt(n.mdbYear,10),r._pickYear(t)),r._updateHeaderDate(r._activeDate,r._options.monthsShort,r._options.weekdaysShort)})}},{key:"_updateHeaderDate",value:function(t,e,n){var r=x.findOne(".datepicker-date-text",this.container),o=k(t),i=O(t),t=Kc(t);r.innerHTML="".concat(n[t],", ").concat(e[o]," ").concat(i)}},{key:"_addControlsListeners",value:function(){var t=this;_.on(this.nextButton,"click",function(){"days"===t._view?t.nextMonth():"years"===t._view?t.nextYears():t.nextYear()}),_.on(this.previousButton,"click",function(){"days"===t._view?t.previousMonth():"years"===t._view?t.previousYears():t.previousYear()}),_.on(this.viewChangeButton,"click",function(){"days"===t._view?t._changeView("years"):"years"!==t._view&&"months"!==t._view||t._changeView("days")}),this._listenToFooterButtonsClick()}},{key:"_listenToFooterButtonsClick",value:function(){var t=this;_.on(this.okButton,"click",function(){return t.handleOk()}),_.on(this.cancelButton,"click",function(){return t.handleCancel()}),_.on(this.clearButton,"click",function(){return t.handleClear()})}},{key:"_listenToOutsideClick",value:function(){var n=this;_.on(document,ys,function(t){var e=t.target===n.container,t=n.container&&n.container.contains(t.target);e||t||n.close()})}},{key:"_listenToEscapeClick",value:function(){var e=this;_.on(document,"keydown",function(t){27===t.keyCode&&e._isOpen&&e.close()})}},{key:"_listenToKeyboardNavigation",value:function(){var e=this;_.on(this.datesContainer,"keydown",function(t){e._handleKeydown(t)})}},{key:"_listenToDatesContainerFocus",value:function(){var t=this;_.on(this.datesContainer,"focus",function(){t._focusActiveCell(t.activeCell)})}},{key:"_listenToDatesContainerBlur",value:function(){var t=this;_.on(this.datesContainer,"blur",function(){t._removeCurrentFocusStyles()})}},{key:"_handleKeydown",value:function(t){"days"===this._view&&this._handleDaysViewKeydown(t),"months"===this._view&&this._handleMonthsViewKeydown(t),"years"===this._view&&this._handleYearsViewKeydown(t)}},{key:"_handleDaysViewKeydown",value:function(t){var e=this._activeDate,n=this.activeCell;switch(t.keyCode){case 37:this._activeDate=Gc(this._activeDate,-1);break;case 39:this._activeDate=Gc(this._activeDate,1);break;case 38:this._activeDate=Gc(this._activeDate,-7);break;case 40:this._activeDate=Gc(this._activeDate,7);break;case 36:this._activeDate=Gc(this._activeDate,1-O(this._activeDate));break;case 35:this._activeDate=Gc(this._activeDate,$c(this._activeDate)-O(this._activeDate));break;case 33:this._activeDate=D(this._activeDate,-1);break;case 34:this._activeDate=D(this._activeDate,1);break;case 13:case 32:return this._selectDate(this._activeDate),void t.preventDefault();default:return}es(e,this._activeDate,this._view,24,0)||this._changeView("days"),this._removeHighlightFromCell(n),this._focusActiveCell(this.activeCell),t.preventDefault()}},{key:"_asyncFocusDatesContainer",value:function(){var t=this;setTimeout(function(){t.datesContainer.focus()},0)}},{key:"_focusActiveCell",value:function(t){t&&S.addClass(t,"focused")}},{key:"_removeHighlightFromCell",value:function(t){t&&t.classList.remove("focused")}},{key:"_getActiveDayCell",value:function(){var e=this,t=x.find("td",this.datesContainer);return Array.from(t).find(function(t){return Jc(Zc(t.dataset.mdbDate),e._activeDate)})}},{key:"_handleMonthsViewKeydown",value:function(t){var e=this._activeDate,n=this.activeCell;switch(t.keyCode){case 37:this._activeDate=D(this._activeDate,-1);break;case 39:this._activeDate=D(this._activeDate,1);break;case 38:this._activeDate=D(this._activeDate,-4);break;case 40:this._activeDate=D(this._activeDate,4);break;case 36:this._activeDate=D(this._activeDate,-this.activeMonth);break;case 35:this._activeDate=D(this._activeDate,11-this.activeMonth);break;case 33:this._activeDate=y(this._activeDate,-1);break;case 34:this._activeDate=y(this._activeDate,1);break;case 13:case 32:return void this._selectMonth(this.activeMonth);default:return}es(e,this._activeDate,this._view,24,0)||this._changeView("months"),this._removeHighlightFromCell(n),this._focusActiveCell(this.activeCell),t.preventDefault()}},{key:"_getActiveMonthCell",value:function(){var n=this,t=x.find("td",this.datesContainer);return Array.from(t).find(function(t){var e=parseInt(t.dataset.mdbYear,10),t=parseInt(t.dataset.mdbMonth,10);return e===n.activeYear&&t===n.activeMonth})}},{key:"_handleYearsViewKeydown",value:function(t){var e=this._activeDate,n=this.activeCell;switch(t.keyCode){case 37:this._activeDate=y(this._activeDate,-1);break;case 39:this._activeDate=y(this._activeDate,1);break;case 38:this._activeDate=y(this._activeDate,-4);break;case 40:this._activeDate=y(this._activeDate,4);break;case 36:this._activeDate=y(this._activeDate,-ts(this._activeDate,24));break;case 35:this._activeDate=y(this._activeDate,24-ts(this._activeDate,24)-1);break;case 33:this._activeDate=y(this._activeDate,-24);break;case 34:this._activeDate=y(this._activeDate,24);break;case 13:case 32:return void this._selectYear(this.activeYear);default:return}es(e,this._activeDate,this._view,24,0)||this._changeView("years"),this._removeHighlightFromCell(n),this._focusActiveCell(this.activeCell),t.preventDefault()}},{key:"_getActiveYearCell",value:function(){var e=this,t=x.find("td",this.datesContainer);return Array.from(t).find(function(t){return parseInt(t.dataset.mdbYear,10)===e.activeYear})}},{key:"_setInitialDate",value:function(){this._input.value?this._handleUserInput(this._input.value):this._options.startDate?this._activeDate=new Date(this._options.startDate):this._activeDate=new Date}},{key:"close",value:function(){var t=_.trigger(this._element,ps);this._isOpen&&!t.defaultPrevented&&(this._removeDatepickerListeners(),S.addClass(this.container,"animation"),S.addClass(this.container,"fade-out"),this._closeModal(),this._isOpen=!1,this._view=this._options.view,(this.toggleButton||this._input).focus())}},{key:"_closeDropdown",value:function(){var t=this,e=x.findOne(".datepicker-dropdown-container");e.addEventListener("animationend",function(){e&&document.body.removeChild(e),t._popper&&t._popper.destroy()}),this._removeFocusTrap()}},{key:"_closeModal",value:function(){var t=x.findOne(".datepicker-backdrop"),e=x.findOne(".datepicker-modal-container");S.addClass(t,"animation"),S.addClass(t,"fade-out"),e&&t&&t.addEventListener("animationend",function(){document.body.removeChild(t),document.body.removeChild(e),document.body.style.overflow="",document.body.style.paddingRight=""})}},{key:"_removeFocusTrap",value:function(){this._focusTrap&&(this._focusTrap.disable(),this._focusTrap=null)}},{key:"_removeDatepickerListeners",value:function(){_.off(this.nextButton,"click"),_.off(this.previousButton,"click"),_.off(this.viewChangeButton,"click"),_.off(this.okButton,"click"),_.off(this.cancelButton,"click"),_.off(this.clearButton,"click"),_.off(this.datesContainer,"click"),_.off(this.datesContainer,"keydown"),_.off(this.datesContainer,"focus"),_.off(this.datesContainer,"blur"),_.off(document,ys)}},{key:"dispose",value:function(){this._isOpen&&this.close(),this._removeInputAndToggleListeners();var t=x.findOne("#".concat(this._toggleButtonId));t&&this._element.removeChild(t),v.removeData(this._element,fs),this._element=null,this._input=null,this._options=null,this._activeDate=null,this._selectedDate=null,this._selectedYear=null,this._selectedMonth=null,this._view=null,this._popper=null,this._focusTrap=null}},{key:"_removeInputAndToggleListeners",value:function(){_.off(this._input,"input"),_.off(this._element,ys,'[data-mdb-toggle="datepicker"]'),_.off(this._element,"keydown",'[data-mdb-toggle="datepicker"]')}},{key:"handleOk",value:function(){this._confirmSelection(this._selectedDate),this.close()}},{key:"_selectDate",value:function(t){var e=1t.length)&&(e=t.length);for(var n=0,r=new Array(e);nt.length)&&(e=t.length);for(var n=0,r=new Array(e);nNumber(o)||""!==r&&nNumber(y)&&Number(C._hour.textContent)>=Number(v)&&S.addClass(n,"disabled"),""!==p&&Number(t)Number(y)&&Number(C._hour.textContent)>=Number(v)&&S.addClass(n,"disabled"):"PM"===m&&"AM"===w.textContent&&S.removeClass(n,"disabled"),("AM"===m&&"PM"===w.textContent||"AM"===m&&"AM"===w.textContent&&Number(C._hour.textContent)>=Number(v)&&Number(t)>Number(y))&&S.addClass(n,"disabled")),""!==p&&void 0!==_&&("PM"===_&&"PM"===w.textContent?(Number(t)Number(f)&&S.addClass(n,"disabled"),""!==d&&Number(t)Number(v)&&S.addClass(n,"disabled")),"AM"===m&&"PM"===w.textContent?(C._isAmEnabled=!1,C._isPmEnabled=!0,S.addClass(n,"disabled")):"AM"===m&&"AM"===w.textContent&&(C._isAmEnabled=!0,C._isPmEnabled=!1,Number(t)>Number(v)&&S.addClass(n,"disabled"))):Number(t)>Number(v)&&S.addClass(n,"disabled")),""!==p&&Number(t)\n \n \n')}(this._options,this._toggleButtonId);this.input.insertAdjacentHTML("afterend",t)}},{key:"_getDomElements",value:function(){this._hour=x.findOne(".".concat(Ks)),this._minutes=x.findOne(".".concat(eu)),this._AM=x.findOne(".".concat(Ls)),this._PM=x.findOne(".".concat(ru)),this._wrapper=x.findOne(".".concat(uu)),this._modal=x.findOne(".".concat(nu)),this._hand=x.findOne(".".concat(qs)),this._circle=x.findOne(".".concat(Hs)),this._clock=x.findOne(".".concat(Vs)),this._clockInner=x.findOne(".".concat(Ys))}},{key:"_handlerMaxMinHoursOptions",value:function(t,e,n,r,o,i){var a=""!==n?30*n:"",c=""!==r?30*r:"";if(""!==n&&""!==r){if((t=t<=0?360+t:t)<=a&&c<=t)return e()}else if(""!==r){if(t<=0&&(t=360+t),(c=12\n
    \n
    \n
    \n
    \n
    \n \n \n \n \n \n \n \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    ")),S.addClass(m,nu),m.setAttribute("role","dialog"),m.setAttribute("tabIndex","-1"),m.setAttribute("id",f),d&&(b._popper=en(b.input,m,{placement:"bottom-start"})),b._document.body.appendChild(m),b._getDomElements(),b._toggleBackdropAnimation(),b._setActiveClassToTipsOnOpen(v,y,h),b._appendTimes(),b._setActiveClassToTipsOnOpen(v,y,h),b._setTipsAndTimesDependOnInputValue(v,y),""===b.input.value&&(s=x.find(".".concat(iu),b._modal),p&&S.addClass(b._PM,M),b._hour.textContent="12",b._minutes.textContent="00",b._addActiveClassToTip(s,Number(b._hour.textContent))),b._handleSwitchTimeMode(),b._handleOkButton(),b._handleClose(),d?(b._handleHoverInlineBtn(),b._handleDocumentClickInline(),b._handleInlineClicks()):(b._handleSwitchHourMinute(),b._handleClockClick(),b._handleKeyboard(),S.addStyle(b._hour,{pointerEvents:"none"}),S.addStyle(b._minutes,{pointerEvents:""})),l&&(u=window.innerWidth>document.documentElement.clientWidth,S.addStyle(b._document.body,{overflow:"hidden"}),!ks()&&u&&S.addStyle(b._document.body,{paddingRight:"15px"})),b._focusTrap=new qc(b._wrapper,{event:"keydown",condition:function(t){return"Tab"===t.key}}),b._focusTrap.trap()},t))})}},{key:"_handleInlineClicks",value:function(){var d=this;wc(this._modal,"click mousedown mouseup touchstart touchend contextmenu",".".concat(Zs,", .").concat(Xs),function(t){function e(t){t=f(t),d._hour.textContent=d._setHourOrMinute(t)}function n(t){t=l(t),d._minutes.textContent=d._setHourOrMinute(t)}function r(){e(s+=1)}function o(){n(u+=1)}function i(){e(--s)}function a(){n(--u)}var c=t.target,t=t.type,s=Number(d._hour.textContent),u=Number(d._minutes.textContent),l=function(t){return 59=Number(c)&&i+6<=t)return t}else if(""!==n){if("PM"===l&&this._isAmEnabled)return;if("PM"===l&&this._isPmEnabled){if(Number(this._hour.textContent)=Number(c)&&i+6<=t)return t}else if("AM"===u&&this._isAmEnabled&&Number(this._hour.textContent)>=Number(c)&&i+6<=t)return t}return(t=r?30*Math.round(t/30):t)<=0?t=360+t:360<=t&&(t=0),{degrees:t,minute:e}}},{key:"_removeModal",value:function(){var t=this;setTimeout(function(){t._modal.remove(),S.addStyle(t._document.body,{overflow:""}),ks()||S.addStyle(t._document.body,{paddingRight:""})},300),Oc(this._document,"click keydown mousedown mouseup mousemove mouseleave mouseover touchmove touchend")}},{key:"_toggleBackdropAnimation",value:function(){0window.innerWidth,r=this._options.stepperMobileBreakpoint>window.innerWidth;t&&this._currentView!==_u&&this._toggleHorizontal(),n&&!r&&this._currentView!==wu&&(this._steps.forEach(function(t){t=x.findOne(".".concat(L),t);e._resetStepperHeight(),e._showElement(t)}),this._toggleVertical())}},{key:"_toggleStep",value:function(t){this._activeStepIndex!==t&&(this._options.stepperNoEditable&&this._toggleDisabled(),this._showElement(x.findOne(".".concat(L),this._steps[t])),this._toggleActive(t),t>this._activeStepIndex&&this._toggleCompleted(this._activeStepIndex),this._currentView===_u?this._animateHorizontalStep(t):(this._animateVerticalStep(t),this._setSingleStepHeight(this._steps[t])),this._toggleStepTabIndex(x.findOne(".".concat(w),this.activeStep),x.findOne(".".concat(w),this._steps[t])),this._activeStepIndex=t)}},{key:"_resetStepperHeight",value:function(){this._element.style.height=""}},{key:"_setStepsHeight",value:function(){var n=this;this._steps.forEach(function(t){var t=x.findOne(".".concat(L),t),e=window.getComputedStyle(t),e=(n._verticalStepperStyles.push({paddingTop:parseFloat(e.paddingTop),paddingBottom:parseFloat(e.paddingBottom)}),t.scrollHeight);t.style.height="".concat(e,"px")})}},{key:"_setSingleStepHeight",value:function(t){var e=x.findOne(".".concat(L),t),n=this.activeStep===t,t=this._steps.indexOf(t),n=n?(e.style.height="",e.scrollHeight):e.scrollHeight+this._verticalStepperStyles[t].paddingTop+this._verticalStepperStyles[t].paddingBottom;e.style.height="".concat(n,"px")}},{key:"_toggleVertical",value:function(){this._currentView=wu,this._toggleStepperClass(Iu),this._setStepsHeight(),this._hideInactiveSteps()}},{key:"_toggleHorizontal",value:function(){this._currentView=_u,this._toggleStepperClass(Nu),this._setHeight(this.activeStep),this._hideInactiveSteps()}},{key:"_toggleStepperClass",value:function(t){this._element.classList.remove(Nu,Iu),this._element.classList.add(t),t!==Iu&&this._steps.forEach(function(t){x.findOne(".".concat(L),t).classList.remove(Lu)})}},{key:"_toggleStepClass",value:function(t,e,n){n&&this._steps[t].classList[e](n)}},{key:"_bindKeysNavigation",value:function(){var s=this;this._toggleStepTabIndex(!1,x.findOne(".".concat(w),this.activeStep)),this._steps.forEach(function(t){t=x.findOne(".".concat(w),t);_.on(t,Su,function(t){var e=x.parents(t.currentTarget,".".concat(Tu))[0],n=x.next(e,".".concat(Tu))[0],r=x.prev(e,".".concat(Tu))[0],o=x.findOne(".".concat(w),e),i=x.findOne(".".concat(w),s.activeStep),a=null,c=null;n&&(a=x.findOne(".".concat(w),n)),r&&(c=x.findOne(".".concat(w),r)),37===t.keyCode&&s._currentView!==wu&&(c?(s._toggleStepTabIndex(o,c),s._toggleOutlineStyles(o,c),c.focus()):a&&(s._toggleStepTabIndex(o,a),s._toggleOutlineStyles(o,a),a.focus())),39===t.keyCode&&s._currentView!==wu&&(a?(s._toggleStepTabIndex(o,a),s._toggleOutlineStyles(o,a),a.focus()):c&&(s._toggleStepTabIndex(o,c),s._toggleOutlineStyles(o,c),c.focus())),40===t.keyCode&&s._currentView===wu&&(t.preventDefault(),a&&(s._toggleStepTabIndex(o,a),s._toggleOutlineStyles(o,a),a.focus())),38===t.keyCode&&s._currentView===wu&&(t.preventDefault(),c&&(s._toggleStepTabIndex(o,c),s._toggleOutlineStyles(o,c),c.focus())),36===t.keyCode&&(n=x.findOne(".".concat(w),s._steps[0]),s._toggleStepTabIndex(o,n),s._toggleOutlineStyles(o,n),n.focus()),35===t.keyCode&&(r=s._steps[s._steps.length-1],a=x.findOne(".".concat(w),r),s._toggleStepTabIndex(o,a),s._toggleOutlineStyles(o,a),a.focus()),13!==t.keyCode&&32!==t.keyCode||(t.preventDefault(),s.changeStep(s._steps.indexOf(e))),9===t.keyCode&&(s._toggleStepTabIndex(o,i),s._toggleOutlineStyles(o,!1),i.focus())}),_.on(t,xu,function(t){var e=x.parents(t.currentTarget,".".concat(Tu))[0],e=x.findOne(".".concat(w),e),n=x.findOne(".".concat(w),s.activeStep);9===t.keyCode&&(s._toggleStepTabIndex(e,n),s._toggleOutlineStyles(!1,n),n.focus())})})}},{key:"_toggleStepTabIndex",value:function(t,e){t&&t.setAttribute("tabIndex",-1),e&&e.setAttribute("tabIndex",0)}},{key:"_toggleOutlineStyles",value:function(t,e){t&&(t.style.outline=""),e&&(e.style.outline="revert")}},{key:"_toggleDisabled",value:function(){this._toggleStepClass(this._activeStepIndex,"add",Mu),this._toggleStepClass(this._activeStepIndex,"add",this._options.stepperDisabled)}},{key:"_toggleActive",value:function(t){this._toggleStepClass(t,"add",Au),this._toggleStepClass(this._activeStepIndex,"remove",Au),this._toggleStepClass(t,"add",this._options.stepperActive),this._toggleStepClass(this._activeStepIndex,"remove",this._options.stepperActive)}},{key:"_toggleCompleted",value:function(t){this._toggleStepClass(t,"add",Du),this._toggleStepClass(t,"remove",Pu),this._toggleStepClass(t,"add",this._options.stepperCompleted),this._toggleStepClass(t,"remove",this._options.stepperInvalid)}},{key:"_hideInactiveSteps",value:function(){var e=this;this._steps.forEach(function(t){t.classList.contains(Au)||e._hideElement(x.findOne(".".concat(L),t))})}},{key:"_setHeight",value:function(t){var e=x.findOne(".".concat(L),t),n=getComputedStyle(e),t=x.findOne(".".concat(w),t),r=getComputedStyle(t),e=e.offsetHeight+parseFloat(n.marginTop)+parseFloat(n.marginBottom),n=t.offsetHeight+parseFloat(r.marginTop)+parseFloat(r.marginBottom);this._element.style.height="".concat(n+e,"px")}},{key:"_hideElement",value:function(t){x.parents(t,".".concat(Tu))[0].classList.contains(Au)||this._currentView===wu?t.classList.add(Lu):t.style.display="none"}},{key:"_showElement",value:function(t){this._currentView===wu?t.classList.remove(Lu):t.style.display="block"}},{key:"_animateHorizontalStep",value:function(n){var t,r=this,e=n>this._activeStepIndex,o=x.findOne(".".concat(L),this._steps[n]),i=x.findOne(".".concat(L),this.activeStep);this._steps.forEach(function(t,e){t=x.findOne(".".concat(L),t);r._clearStepAnimation(t),e!==n&&e!==r._activeStepIndex&&r._hideElement(t)}),e=e?(t="slide-out-left","slide-in-right"):(t="slide-out-right","slide-in-left"),i.classList.add(t,"animation","fast"),o.classList.add(e,"animation","fast"),this._setHeight(this._steps[n]),_.one(i,ju,function(t){r._clearStepAnimation(t.target),r._hideElement(t.target)}),_.one(o,ju,function(t){r._clearStepAnimation(t.target)})}},{key:"_animateVerticalStep",value:function(t){var t=x.findOne(".".concat(L),this._steps[t]),e=x.findOne(".".concat(L),this.activeStep);this._hideElement(e),this._showElement(t)}},{key:"_clearStepAnimation",value:function(t){t.classList.remove("slide-out-left","slide-in-right","slide-out-right","slide-in-left","animation","fast")}}])&&mu(t.prototype,e),r&&mu(t,r),Object.defineProperty(t,"prototype",{writable:!1}),n}(),bu=(x.find('[data-mdb-stepper="stepper"]').forEach(function(t){return Ru.getInstance(t)||new Ru(t)}),Ru);window.Alert=n,window.Button=R,window.Dropdown=bn,window.Carousel=vo,window.Collapse=jn,window.Offcanvas=r,window.Modal=Io,window.Popover=l,window.ScrollSpy=o,window.Tab=_a,window.Toast=h,window.Tooltip=Ri,window.Ripple=zc,window.Datepicker=ds,window.Timepicker=t,window.Stepper=bu}]); -//# sourceMappingURL=index.min.js.map \ No newline at end of file diff --git a/site/static/js/index.min.js.map b/site/static/js/index.min.js.map deleted file mode 100644 index 7f9309816..000000000 --- a/site/static/js/index.min.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./node_modules/core-js/internals/global.js","webpack:///./node_modules/core-js/internals/function-uncurry-this.js","webpack:///./node_modules/core-js/internals/fails.js","webpack:///./node_modules/core-js/internals/export.js","webpack:///./node_modules/core-js/modules/es.object.to-string.js","webpack:///./node_modules/core-js/modules/es.array.iterator.js","webpack:///./node_modules/core-js/modules/es.string.iterator.js","webpack:///./node_modules/core-js/modules/es.symbol.js","webpack:///./node_modules/core-js/modules/web.dom-collections.iterator.js","webpack:///./node_modules/core-js/modules/web.dom-collections.for-each.js","webpack:///./node_modules/core-js/modules/es.symbol.description.js","webpack:///./node_modules/core-js/modules/es.symbol.iterator.js","webpack:///./node_modules/core-js/internals/well-known-symbol.js","webpack:///./node_modules/core-js/modules/es.object.keys.js","webpack:///./node_modules/core-js/internals/is-callable.js","webpack:///./node_modules/core-js/modules/es.array.filter.js","webpack:///./node_modules/core-js/modules/es.regexp.exec.js","webpack:///./node_modules/core-js/internals/descriptors.js","webpack:///./node_modules/core-js/internals/an-object.js","webpack:///./node_modules/core-js/internals/is-object.js","webpack:///./node_modules/core-js/internals/has-own-property.js","webpack:///./node_modules/core-js/internals/function-call.js","webpack:///./node_modules/core-js/internals/object-define-property.js","webpack:///./node_modules/core-js/internals/to-string.js","webpack:///./node_modules/core-js/modules/es.object.get-own-property-descriptor.js","webpack:///./node_modules/core-js/modules/es.object.get-own-property-descriptors.js","webpack:///./node_modules/core-js/modules/es.array.concat.js","webpack:///./node_modules/core-js/modules/es.array.slice.js","webpack:///./node_modules/core-js/modules/es.array.find.js","webpack:///./node_modules/core-js/modules/es.object.set-prototype-of.js","webpack:///./node_modules/core-js/internals/to-indexed-object.js","webpack:///./node_modules/core-js/modules/es.object.get-prototype-of.js","webpack:///./node_modules/core-js/modules/es.reflect.construct.js","webpack:///./node_modules/core-js/modules/es.array.includes.js","webpack:///./node_modules/core-js/modules/es.number.constructor.js","webpack:///./node_modules/core-js/modules/es.array.from.js","webpack:///./node_modules/core-js/internals/to-object.js","webpack:///./node_modules/core-js/internals/redefine.js","webpack:///./node_modules/core-js/modules/es.string.split.js","webpack:///./node_modules/core-js/internals/require-object-coercible.js","webpack:///./node_modules/core-js/modules/es.regexp.to-string.js","webpack:///./node_modules/core-js/modules/es.function.name.js","webpack:///./node_modules/core-js/internals/object-get-own-property-descriptor.js","webpack:///./node_modules/core-js/internals/get-built-in.js","webpack:///./node_modules/core-js/internals/object-is-prototype-of.js","webpack:///./node_modules/core-js/internals/create-non-enumerable-property.js","webpack:///./node_modules/core-js/internals/length-of-array-like.js","webpack:///./node_modules/core-js/modules/es.string.replace.js","webpack:///./node_modules/core-js/internals/classof-raw.js","webpack:///./node_modules/core-js/internals/internal-state.js","webpack:///./node_modules/core-js/internals/object-create.js","webpack:///./node_modules/core-js/modules/es.string.includes.js","webpack:///./node_modules/core-js/modules/es.regexp.constructor.js","webpack:///./node_modules/core-js/internals/get-method.js","webpack:///./node_modules/core-js/internals/is-pure.js","webpack:///./node_modules/core-js/internals/object-get-own-property-names.js","webpack:///./node_modules/core-js/internals/array-iteration.js","webpack:///./node_modules/core-js/modules/es.string.starts-with.js","webpack:///./node_modules/core-js/modules/es.array.map.js","webpack:///./node_modules/core-js/modules/es.reflect.get.js","webpack:///./node_modules/core-js/internals/function-bind-native.js","webpack:///./node_modules/core-js/internals/create-property-descriptor.js","webpack:///./node_modules/core-js/internals/a-callable.js","webpack:///./node_modules/core-js/internals/hidden-keys.js","webpack:///./node_modules/core-js/internals/function-name.js","webpack:///./node_modules/core-js/internals/to-length.js","webpack:///./node_modules/core-js/internals/object-keys.js","webpack:///./node_modules/core-js/internals/create-property.js","webpack:///./node_modules/core-js/internals/iterators.js","webpack:///./node_modules/core-js/modules/es.string.match.js","webpack:///./node_modules/core-js/internals/object-property-is-enumerable.js","webpack:///./node_modules/core-js/internals/indexed-object.js","webpack:///./node_modules/core-js/internals/to-property-key.js","webpack:///./node_modules/core-js/internals/is-symbol.js","webpack:///./node_modules/core-js/internals/engine-v8-version.js","webpack:///./node_modules/core-js/internals/engine-user-agent.js","webpack:///./node_modules/core-js/internals/try-to-string.js","webpack:///./node_modules/core-js/internals/shared.js","webpack:///./node_modules/core-js/internals/uid.js","webpack:///./node_modules/core-js/internals/shared-key.js","webpack:///./node_modules/core-js/internals/to-integer-or-infinity.js","webpack:///./node_modules/core-js/internals/is-forced.js","webpack:///./node_modules/core-js/internals/object-get-prototype-of.js","webpack:///./node_modules/core-js/internals/classof.js","webpack:///./node_modules/core-js/internals/function-apply.js","webpack:///./node_modules/core-js/internals/is-constructor.js","webpack:///./node_modules/core-js/internals/is-array.js","webpack:///./node_modules/core-js/internals/set-to-string-tag.js","webpack:///./node_modules/core-js/internals/function-bind-context.js","webpack:///./node_modules/core-js/internals/add-to-unscopables.js","webpack:///./node_modules/core-js/internals/regexp-exec.js","webpack:///./node_modules/core-js/modules/es.string.trim.js","webpack:///./node_modules/core-js/internals/string-trim.js","webpack:///./node_modules/core-js/internals/whitespaces.js","webpack:///./node_modules/core-js/internals/array-method-has-species-support.js","webpack:///./node_modules/core-js/modules/es.array.join.js","webpack:///./node_modules/core-js/internals/native-symbol.js","webpack:///./node_modules/core-js/internals/shared-store.js","webpack:///./node_modules/core-js/internals/set-global.js","webpack:///./node_modules/core-js/internals/document-create-element.js","webpack:///./node_modules/core-js/internals/inspect-source.js","webpack:///./node_modules/core-js/internals/to-absolute-index.js","webpack:///./node_modules/core-js/internals/enum-bug-keys.js","webpack:///./node_modules/core-js/internals/object-get-own-property-symbols.js","webpack:///./node_modules/core-js/internals/object-set-prototype-of.js","webpack:///./node_modules/core-js/internals/to-string-tag-support.js","webpack:///./node_modules/core-js/internals/array-slice.js","webpack:///./node_modules/core-js/internals/object-get-own-property-names-external.js","webpack:///./node_modules/core-js/internals/array-slice-simple.js","webpack:///./node_modules/core-js/internals/define-iterator.js","webpack:///./node_modules/core-js/internals/regexp-flags.js","webpack:///./node_modules/core-js/internals/regexp-sticky-helpers.js","webpack:///./node_modules/core-js/internals/fix-regexp-well-known-symbol-logic.js","webpack:///./node_modules/core-js/internals/advance-string-index.js","webpack:///./node_modules/core-js/internals/regexp-exec-abstract.js","webpack:///./node_modules/core-js/internals/is-regexp.js","webpack:///./node_modules/core-js/modules/es.number.parse-float.js","webpack:///./node_modules/core-js/internals/inherit-if-required.js","webpack:///./node_modules/core-js/internals/array-method-is-strict.js","webpack:///./node_modules/core-js/modules/es.set.js","webpack:///./node_modules/core-js/internals/get-iterator-method.js","webpack:///./node_modules/core-js/modules/es.number.parse-int.js","webpack:///./node_modules/core-js/internals/to-primitive.js","webpack:///./node_modules/core-js/internals/use-symbol-as-uid.js","webpack:///./node_modules/core-js/internals/ie8-dom-define.js","webpack:///./node_modules/core-js/internals/v8-prototype-define-bug.js","webpack:///./node_modules/core-js/internals/copy-constructor-properties.js","webpack:///./node_modules/core-js/internals/own-keys.js","webpack:///./node_modules/core-js/internals/object-keys-internal.js","webpack:///./node_modules/core-js/internals/array-includes.js","webpack:///./node_modules/core-js/internals/correct-prototype-getter.js","webpack:///./node_modules/core-js/internals/a-constructor.js","webpack:///./node_modules/core-js/internals/object-define-properties.js","webpack:///./node_modules/core-js/internals/well-known-symbol-wrapped.js","webpack:///./node_modules/core-js/internals/define-well-known-symbol.js","webpack:///./node_modules/core-js/internals/array-species-create.js","webpack:///./node_modules/core-js/internals/iterators-core.js","webpack:///./node_modules/core-js/internals/string-multibyte.js","webpack:///./node_modules/core-js/internals/dom-iterables.js","webpack:///./node_modules/core-js/internals/dom-token-list-prototype.js","webpack:///./node_modules/core-js/internals/regexp-unsupported-dot-all.js","webpack:///./node_modules/core-js/internals/regexp-unsupported-ncg.js","webpack:///./node_modules/core-js/internals/not-a-regexp.js","webpack:///./node_modules/core-js/internals/correct-is-regexp-logic.js","webpack:///./node_modules/core-js/internals/set-species.js","webpack:///./node_modules/core-js/internals/collection.js","webpack:///./node_modules/core-js/internals/internal-metadata.js","webpack:///./node_modules/core-js/internals/iterate.js","webpack:///./node_modules/core-js/internals/is-array-iterator-method.js","webpack:///./node_modules/core-js/internals/get-iterator.js","webpack:///./node_modules/core-js/internals/iterator-close.js","webpack:///./node_modules/core-js/internals/an-instance.js","webpack:///./node_modules/core-js/internals/check-correctness-of-iteration.js","webpack:///./node_modules/core-js/internals/collection-strong.js","webpack:///(webpack)/buildin/global.js","webpack:///./node_modules/core-js/internals/ordinary-to-primitive.js","webpack:///./node_modules/core-js/internals/native-weak-map.js","webpack:///./node_modules/core-js/internals/a-possible-prototype.js","webpack:///./node_modules/core-js/internals/object-to-string.js","webpack:///./node_modules/core-js/internals/function-bind.js","webpack:///./node_modules/core-js/internals/html.js","webpack:///./node_modules/core-js/internals/path.js","webpack:///./node_modules/core-js/internals/array-species-constructor.js","webpack:///./node_modules/core-js/internals/create-iterator-constructor.js","webpack:///./node_modules/core-js/internals/species-constructor.js","webpack:///./node_modules/core-js/internals/string-trim-forced.js","webpack:///./node_modules/core-js/internals/number-parse-float.js","webpack:///./node_modules/core-js/internals/this-number-value.js","webpack:///./node_modules/core-js/internals/array-for-each.js","webpack:///./node_modules/core-js/internals/object-is-extensible.js","webpack:///./node_modules/core-js/internals/array-buffer-non-extensible.js","webpack:///./node_modules/core-js/internals/freezing.js","webpack:///./node_modules/core-js/internals/redefine-all.js","webpack:///./node_modules/core-js/internals/get-substitution.js","webpack:///./node_modules/core-js/internals/array-from.js","webpack:///./node_modules/core-js/internals/call-with-safe-iteration-closing.js","webpack:///./node_modules/core-js/modules/es.object.get-own-property-names.js","webpack:///./node_modules/core-js/modules/es.map.js","webpack:///./node_modules/core-js/internals/number-parse-int.js","webpack:///./node_modules/core-js/internals/is-data-descriptor.js","webpack:///./node_modules/core-js/modules/es.array.sort.js","webpack:///./node_modules/core-js/internals/array-sort.js","webpack:///./node_modules/core-js/internals/engine-ff-version.js","webpack:///./node_modules/core-js/internals/engine-is-ie-or-edge.js","webpack:///./node_modules/core-js/internals/engine-webkit-version.js","webpack:///./node_modules/core-js/modules/es.object.assign.js","webpack:///./node_modules/core-js/internals/object-assign.js","webpack:///./node_modules/core-js/modules/es.array.find-index.js","webpack:///./node_modules/core-js/modules/es.number.is-nan.js","webpack:///./node_modules/core-js/modules/es.object.values.js","webpack:///./node_modules/core-js/internals/object-to-array.js","webpack:///./node_modules/core-js/modules/es.math.trunc.js","webpack:///./src/js/bs/src/util/index.js","webpack:///./src/js/bs/src/dom/event-handler.js","webpack:///./src/js/bs/src/dom/data.js","webpack:///./src/js/bs/src/base-component.js","webpack:///./src/js/bs/src/button.js","webpack:///./node_modules/@popperjs/core/lib/enums.js","webpack:///./node_modules/@popperjs/core/lib/dom-utils/getNodeName.js","webpack:///./node_modules/@popperjs/core/lib/dom-utils/getWindow.js","webpack:///./node_modules/@popperjs/core/lib/dom-utils/instanceOf.js","webpack:///./node_modules/@popperjs/core/lib/modifiers/applyStyles.js","webpack:///./node_modules/@popperjs/core/lib/utils/getBasePlacement.js","webpack:///./node_modules/@popperjs/core/lib/utils/math.js","webpack:///./node_modules/@popperjs/core/lib/dom-utils/getBoundingClientRect.js","webpack:///./node_modules/@popperjs/core/lib/dom-utils/getLayoutRect.js","webpack:///./node_modules/@popperjs/core/lib/dom-utils/contains.js","webpack:///./node_modules/@popperjs/core/lib/dom-utils/getComputedStyle.js","webpack:///./node_modules/@popperjs/core/lib/dom-utils/getDocumentElement.js","webpack:///./node_modules/@popperjs/core/lib/dom-utils/getParentNode.js","webpack:///./node_modules/@popperjs/core/lib/dom-utils/getOffsetParent.js","webpack:///./node_modules/@popperjs/core/lib/dom-utils/isTableElement.js","webpack:///./node_modules/@popperjs/core/lib/utils/getMainAxisFromPlacement.js","webpack:///./node_modules/@popperjs/core/lib/utils/within.js","webpack:///./node_modules/@popperjs/core/lib/utils/getFreshSideObject.js","webpack:///./node_modules/@popperjs/core/lib/utils/mergePaddingObject.js","webpack:///./node_modules/@popperjs/core/lib/utils/expandToHashMap.js","webpack:///./node_modules/@popperjs/core/lib/modifiers/arrow.js","webpack:///./node_modules/@popperjs/core/lib/utils/getVariation.js","webpack:///./node_modules/@popperjs/core/lib/modifiers/computeStyles.js","webpack:///./node_modules/@popperjs/core/lib/modifiers/eventListeners.js","webpack:///./node_modules/@popperjs/core/lib/utils/getOppositePlacement.js","webpack:///./node_modules/@popperjs/core/lib/utils/getOppositeVariationPlacement.js","webpack:///./node_modules/@popperjs/core/lib/dom-utils/getWindowScroll.js","webpack:///./node_modules/@popperjs/core/lib/dom-utils/getWindowScrollBarX.js","webpack:///./node_modules/@popperjs/core/lib/dom-utils/isScrollParent.js","webpack:///./node_modules/@popperjs/core/lib/dom-utils/listScrollParents.js","webpack:///./node_modules/@popperjs/core/lib/dom-utils/getScrollParent.js","webpack:///./node_modules/@popperjs/core/lib/utils/rectToClientRect.js","webpack:///./node_modules/@popperjs/core/lib/dom-utils/getClippingRect.js","webpack:///./node_modules/@popperjs/core/lib/dom-utils/getViewportRect.js","webpack:///./node_modules/@popperjs/core/lib/dom-utils/getDocumentRect.js","webpack:///./node_modules/@popperjs/core/lib/utils/computeOffsets.js","webpack:///./node_modules/@popperjs/core/lib/utils/detectOverflow.js","webpack:///./node_modules/@popperjs/core/lib/modifiers/flip.js","webpack:///./node_modules/@popperjs/core/lib/utils/computeAutoPlacement.js","webpack:///./node_modules/@popperjs/core/lib/modifiers/hide.js","webpack:///./node_modules/@popperjs/core/lib/modifiers/offset.js","webpack:///./node_modules/@popperjs/core/lib/modifiers/popperOffsets.js","webpack:///./node_modules/@popperjs/core/lib/modifiers/preventOverflow.js","webpack:///./node_modules/@popperjs/core/lib/utils/getAltAxis.js","webpack:///./node_modules/@popperjs/core/lib/dom-utils/getCompositeRect.js","webpack:///./node_modules/@popperjs/core/lib/dom-utils/getNodeScroll.js","webpack:///./node_modules/@popperjs/core/lib/dom-utils/getHTMLElementScroll.js","webpack:///./node_modules/@popperjs/core/lib/utils/orderModifiers.js","webpack:///./node_modules/@popperjs/core/lib/createPopper.js","webpack:///./node_modules/@popperjs/core/lib/utils/debounce.js","webpack:///./node_modules/@popperjs/core/lib/utils/mergeByName.js","webpack:///./node_modules/@popperjs/core/lib/popper.js","webpack:///./node_modules/@popperjs/core/lib/popper-lite.js","webpack:///./src/js/bs/src/dom/manipulator.js","webpack:///./src/js/bs/src/dom/selector-engine.js","webpack:///./src/js/bs/src/dropdown.js","webpack:///./src/js/bs/src/collapse.js","webpack:///./src/js/bs/src/util/scrollbar.js","webpack:///./src/js/bs/src/util/backdrop.js","webpack:///./src/js/bs/src/util/component-functions.js","webpack:///./src/js/bs/src/util/focustrap.js","webpack:///./src/js/bs/src/offcanvas.js","webpack:///./src/js/bs/src/alert.js","webpack:///./src/js/bs/src/carousel.js","webpack:///./src/js/bs/src/modal.js","webpack:///./src/js/bs/src/util/sanitizer.js","webpack:///./src/js/bs/src/tooltip.js","webpack:///./src/js/bs/src/popover.js","webpack:///./src/js/bs/src/scrollspy.js","webpack:///./src/js/bs/src/tab.js","webpack:///./src/js/mdb/util/index.js","webpack:///./src/js/bs/src/toast.js","webpack:///./src/js/mdb/dom/data.js","webpack:///./src/js/mdb/dom/event-handler.js","webpack:///./src/js/mdb/dom/manipulator.js","webpack:///./src/js/mdb/dom/selector-engine.js","webpack:///./src/js/mdb/ripple.js","webpack:///./src/js/mdb/util/focusTrap.js","webpack:///./src/js/mdb/datepicker/date-utils.js","webpack:///./src/js/mdb/datepicker/templates.js","webpack:///./src/js/mdb/datepicker/index.js","webpack:///./src/js/mdb/util/keycodes.js","webpack:///./src/js/mdb/timepicker/utils.js","webpack:///./src/js/mdb/timepicker/index.js","webpack:///./src/js/mdb/timepicker/templates.js","webpack:///./src/js/mdb/stepper.js","webpack:///./src/js/index.js"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","it","Math","check","globalThis","window","self","global","this","Function","NATIVE_BIND","FunctionPrototype","uncurryThis","fn","apply","arguments","exec","error","getOwnPropertyDescriptor","f","createNonEnumerableProperty","redefine","setGlobal","copyConstructorProperties","isForced","options","source","sourceProperty","descriptor","TARGET","target","GLOBAL","STATIC","stat","targetProperty","noTargetGet","forced","undefined","sham","TO_STRING_TAG_SUPPORT","toString","unsafe","toIndexedObject","addToUnscopables","Iterators","InternalStateModule","defineIterator","IS_PURE","DESCRIPTORS","ARRAY_ITERATOR","setInternalState","set","getInternalState","getterFor","values","Array","iterated","kind","type","index","state","length","done","Arguments","charAt","STRING_ITERATOR","String","string","point","wrap","tag","description","symbol","AllSymbols","nativeObjectCreate","SymbolPrototype","SYMBOL","$defineProperty","O","P","Attributes","ObjectPrototype","ObjectPrototypeSymbols","anObject","toPropertyKey","hasOwn","HIDDEN","createPropertyDescriptor","nativeDefineProperty","setSymbolDescriptor","$defineProperties","Properties","properties","keys","objectKeys","concat","$getOwnPropertySymbols","$forEach","$propertyIsEnumerable","V","nativePropertyIsEnumerable","$getOwnPropertyDescriptor","nativeGetOwnPropertyDescriptor","$getOwnPropertyNames","names","nativeGetOwnPropertyNames","result","hiddenKeys","push","IS_OBJECT_PROTOTYPE","valueOf","$","getBuiltIn","NATIVE_SYMBOL","fails","isArray","isCallable","isObject","isPrototypeOf","isSymbol","toObject","$toString","getOwnPropertyNamesModule","getOwnPropertyNamesExternal","getOwnPropertySymbolsModule","getOwnPropertyDescriptorModule","definePropertyModule","definePropertiesModule","propertyIsEnumerableModule","arraySlice","shared","sharedKey","uid","wellKnownSymbol","wrappedWellKnownSymbolModule","defineWellKnownSymbol","setToStringTag","forEach","PROTOTYPE","TO_PRIMITIVE","$Symbol","TypeError","QObject","$stringify","StringToSymbolRegistry","SymbolToStringRegistry","WellKnownSymbolsStore","USE_SETTER","findChild","a","ObjectPrototypeDescriptor","setter","configurable","keyFor","sym","useSetter","useSimple","defineProperties","getOwnPropertyNames","getOwnPropertySymbols","stringify","replacer","space","args","$replacer","hint","handlePrototype","CollectionPrototype","COLLECTION_NAME","ITERATOR","ArrayValues","TO_STRING_TAG","DOMIterables","METHOD_NAME","ArrayIteratorMethods","DOMTokenListPrototype","EmptyStringDescriptionStore","symbolToString","symbolValueOf","regexp","replace","stringSlice","NativeSymbol","SymbolWrapper","constructor","slice","desc","USE_SYMBOL_AS_UID","symbolFor","createWellKnownSymbol","withoutSetter","nativeKeys","argument","$filter","filter","proto","arrayMethodHasSpeciesSupport","callbackfn","IE8_DOM_DEFINE","V8_PROTOTYPE_DEFINE_BUG","ENUMERABLE","CONFIGURABLE","WRITABLE","current","writable","classof","FAILS_ON_PRIMITIVES","ownKeys","createProperty","getOwnPropertyDescriptors","lengthOfArrayLike","arraySpeciesCreate","V8_VERSION","IS_CONCAT_SPREADABLE","MAX_SAFE_INTEGER","MAXIMUM_ALLOWED_INDEX_EXCEEDED","IS_CONCAT_SPREADABLE_SUPPORT","array","SPECIES_SUPPORT","arg","k","len","E","A","spreadable","isConcatSpreadable","isConstructor","toAbsoluteIndex","un$Slice","HAS_SPECIES_SUPPORT","SPECIES","max","start","end","Constructor","fin","$find","find","FIND","SKIPS_HOLES","setPrototypeOf","IndexedObject","requireObjectCoercible","nativeGetPrototypeOf","CORRECT_PROTOTYPE_GETTER","getPrototypeOf","aConstructor","nativeConstruct","NEW_TARGET_BUG","F","ARGS_BUG","FORCED","construct","Target","newTarget","$args","instance","$includes","includes","el","inheritIfRequired","toPrimitive","thisNumberValue","trim","NUMBER","NativeNumber","NumberPrototype","charCodeAt","toNumber","third","radix","maxCode","digits","code","first","NaN","parseInt","NumberWrapper","primValue","toNumeric","dummy","split","j","from","checkCorrectnessOfIteration","iterable","inspectSource","CONFIGURABLE_FUNCTION_NAME","enforceInternalState","enforce","TEMPLATE","simple","join","fixRegExpWellKnownSymbolLogic","isRegExp","speciesConstructor","advanceStringIndex","toLength","getMethod","callRegExpExec","regexpExec","stickyHelpers","UNSUPPORTED_Y","MAX_UINT32","min","$push","SPLIT","nativeSplit","maybeCallNative","internalSplit","separator","limit","lim","match","lastIndex","lastLength","output","flags","ignoreCase","multiline","unicode","sticky","lastLastIndex","separatorCopy","RegExp","splitter","rx","S","res","C","unicodeMatching","q","e","z","re","originalExec","PROPER_FUNCTION_NAME","PROPER","regExpFlags","TO_STRING","RegExpPrototype","n$ToString","getFlags","NOT_GENERIC","INCORRECT_NAME","R","rf","FUNCTION_NAME_EXISTS","EXISTS","functionToString","nameRE","regExpExec","namespace","method","obj","toIntegerOrInfinity","getSubstitution","REPLACE","stringIndexOf","indexOf","REPLACE_KEEPS_$0","REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE","_","nativeReplace","UNSAFE_SUBSTITUTE","searchValue","replaceValue","fullUnicode","functionalReplace","results","accumulatedResult","nextSourcePosition","matched","position","captures","namedCaptures","groups","replacement","replacerArgs","store","wmget","wmhas","wmset","has","STATE","NATIVE_WEAK_MAP","OBJECT_ALREADY_INITIALIZED","WeakMap","metadata","facade","TYPE","EmptyConstructor","NullProtoObjectViaActiveX","activeXDocument","write","scriptTag","close","temp","parentWindow","enumBugKeys","html","documentCreateElement","SCRIPT","IE_PROTO","content","NullProtoObject","ActiveXObject","document","domain","iframe","JS","style","display","appendChild","src","iframeDocument","contentWindow","open","notARegExp","correctIsRegExpLogic","searchString","setSpecies","UNSUPPORTED_DOT_ALL","UNSUPPORTED_NCG","MATCH","NativeRegExp","SyntaxError","IS_NCG","re1","re2","CORRECT_NEW","MISSED_STICKY","BASE_FORCED","handleDotAll","chr","brackets","handleNCG","named","ncg","groupid","groupname","RegExpWrapper","pattern","dotAll","thisIsRegExp","patternIsRegExp","flagsAreUndefined","rawPattern","rawFlags","handled","raw","proxy","aCallable","func","internalObjectKeys","createMethod","IS_MAP","IS_FILTER","IS_SOME","IS_EVERY","IS_FIND_INDEX","IS_FILTER_REJECT","NO_HOLES","$this","that","specificCreate","boundFunction","map","some","every","findIndex","filterReject","un$StartsWith","startsWith","CORRECT_IS_REGEXP_LOGIC","search","$map","isDataDescriptor","propertyKey","receiver","test","bitmap","tryToString","getDescriptor","nativeMatch","matcher","matchStr","propertyIsEnumerable","NASHORN_BUG","1","version","userAgent","process","Deno","versions","v8","copyright","license","id","postfix","random","ceil","floor","number","feature","detection","data","normalize","POLYFILL","NATIVE","toLowerCase","classofRaw","CORRECT_ARGUMENTS","tryGet","callee","Reflect","noop","isConstructorModern","empty","isConstructorLegacy","INCORRECT_TO_STRING","constructorRegExp","called","TAG","UNSCOPABLES","ArrayPrototype","regexpFlags","nativeExec","patchedExec","UPDATES_LAST_INDEX_WRONG","BROKEN_CARET","NPCG_INCLUDED","reCopy","group","str","charsAdded","strCopy","input","$trim","forcedStringTrimMethod","ltrim","rtrim","whitespaces","whitespace","foo","Boolean","arrayMethodIsStrict","un$Join","ES3_STRINGS","STRICT_METHOD","SHARED","createElement","integer","aPossiblePrototype","CORRECT_SETTER","__proto__","windowNames","returnThis","FunctionName","createIteratorConstructor","IteratorsCore","IteratorPrototype","BUGGY_SAFARI_ITERATORS","VALUES","ENTRIES","Iterable","NAME","IteratorConstructor","next","DEFAULT","IS_SET","getIterationMethod","KIND","defaultIterator","IterablePrototype","methods","KEY","INCORRECT_VALUES_NAME","nativeIterator","anyNativeIterator","entries","CurrentIteratorPrototype","$RegExp","SHAM","uncurriedNativeRegExpMethod","DELEGATES_TO_SYMBOL","DELEGATES_TO_EXEC","execCalled","nativeMethod","arg2","forceStringMethod","uncurriedNativeMethod","$exec","parseFloat","Number","Wrapper","NewTarget","NewTargetPrototype","collection","init","ordinaryToPrimitive","pref","exoticToPrim","iterator","exceptions","IS_INCLUDES","fromIndex","props","path","arraySpeciesConstructor","originalArray","arrayIterator","PrototypeOfArrayIteratorPrototype","CONVERT_TO_STRING","pos","size","second","codeAt","CSSRuleList","CSSStyleDeclaration","CSSValueList","ClientRectList","DOMRectList","DOMStringList","DOMTokenList","DataTransferItemList","FileList","HTMLAllCollection","HTMLCollection","HTMLFormElement","HTMLSelectElement","MediaList","MimeTypeArray","NamedNodeMap","NodeList","PaintRequestList","Plugin","PluginArray","SVGLengthList","SVGNumberList","SVGPathSegList","SVGPointList","SVGStringList","SVGTransformList","SourceBufferList","StyleSheetList","TextTrackCueList","TextTrackList","TouchList","classList","error1","error2","CONSTRUCTOR_NAME","InternalMetadataModule","iterate","anInstance","wrapper","common","fixMethod","NativePrototype","IS_WEAK","HASNT_CHAINING","THROWS_ON_PRIMITIVES","ACCEPT_ITERABLES","BUGGY_ZERO","ADDER","NativeConstructor","exported","getConstructor","enable","$instance","AS_ENTRIES","clear","setStrong","setMetadata","METADATA","objectID","weakData","getOwnPropertyNamesExternalModule","isExtensible","FREEZING","REQUIRED","meta","splice","fastKey","getWeakData","onFreeze","Result","stopped","isArrayIteratorMethod","getIterator","getIteratorMethod","iteratorClose","ResultPrototype","unboundFunction","stop","condition","callFn","INTERRUPTED","step","IS_ITERATOR","iterFn","usingIterator","iteratorMethod","innerResult","innerError","Prototype","SAFE_CLOSING","iteratorWithReturn","SKIP_CLOSING","ITERATION_SUPPORT","redefineAll","internalStateGetterFor","define","entry","getEntry","last","previous","removed","prev","add","ITERATOR_NAME","getInternalCollectionState","getInternalIteratorState","g","val","factories","partArgs","argsLength","list","ENUMERABLE_NEXT","defaultConstructor","n$ParseFloat","Infinity","trimmedString","ARRAY_BUFFER_NON_EXTENSIBLE","$isExtensible","buffer","ArrayBuffer","preventExtensions","SUBSTITUTION_SYMBOLS","SUBSTITUTION_SYMBOLS_NO_NAMED","tailPos","symbols","ch","capture","callWithSafeIterationClosing","arrayLike","IS_CONSTRUCTOR","argumentsLength","mapfn","mapping","$parseInt","hex","internalSort","FF","IE_OR_EDGE","V8","WEBKIT","un$Sort","sort","FAILS_ON_UNDEFINED","FAILS_ON_NULL","STABLE_SORT","fromCharCode","v","b","comparefn","itemsLength","items","arrayLength","x","y","mergeSort","middle","insertionSort","element","merge","left","right","llength","rlength","lindex","rindex","firefox","UA","webkit","assign","$assign","B","alphabet","T","$findIndex","FIND_INDEX","isNaN","$values","TO_ENTRIES","trunc","getSelectorFromElement","selector","getSelector","querySelector","getElementFromSelector","triggerTransitionEnd","dispatchEvent","Event","TRANSITION_END","getElement","isElement","jquery","typeCheckConfig","componentName","config","configTypes","expectedTypes","valueType","toUpperCase","isVisible","getClientRects","getComputedStyle","getPropertyValue","isDisabled","nodeType","Node","ELEMENT_NODE","contains","disabled","hasAttribute","getAttribute","findShadowRoot","documentElement","attachShadow","getRootNode","root","ShadowRoot","parentNode","reflow","offsetHeight","getjQuery","jQuery","body","isRTL","dir","defineJQueryPlugin","plugin","callback","JQUERY_NO_CONFLICT","jQueryInterface","noConflict","readyState","DOMContentLoadedCallbacks","addEventListener","execute","executeAfterTransition","transitionElement","emulatedDuration","transitionDuration","transitionDelay","floatTransitionDuration","floatTransitionDelay","MILLISECONDS_MULTIPLIER","getTransitionDurationFromElement","handler","removeEventListener","setTimeout","getNextActiveElement","activeElement","shouldGetNext","isCycleAllowed","listLength","hrefAttr","namespaceRegex","stripNameRegex","stripUidRegex","eventRegistry","uidEvent","customEvents","mouseenter","mouseleave","customEventsRegex","nativeEvents","Set","getUidEvent","getEvent","findHandler","events","delegationSelector","uidEventList","event","originalHandler","normalizeParams","originalTypeEvent","delegationFn","delegation","typeEvent","getTypeEvent","addHandler","oneOff","handlers","wrapFn","relatedTarget","delegateTarget","previousFn","domElements","querySelectorAll","EventHandler","off","removeHandler","on","one","inNamespace","isNamespace","elementEvent","storeElementEvent","handlerKey","keyHandlers","trigger","jQueryEvent","isNative","bubbles","nativeDispatch","defaultPrevented","evt","isPropagationStopped","isImmediatePropagationStopped","isDefaultPrevented","createEvent","initEvent","CustomEvent","cancelable","preventDefault","elementMap","Map","instanceMap","console","delete","BaseComponent","_element","Data","DATA_KEY","getInstance","Error","EVENT_KEY","propertyName","SELECTOR_DATA_TOGGLE","EVENT_CLICK_DATA_API","Button","each","getOrCreateInstance","setAttribute","toggle","button","closest","bottom","auto","basePlacements","viewport","variationPlacements","reduce","acc","placement","beforeRead","read","afterRead","beforeMain","main","afterMain","beforeWrite","afterWrite","modifierPhases","getNodeName","nodeName","getWindow","node","ownerDocument","defaultView","Element","isHTMLElement","HTMLElement","isShadowRoot","enabled","phase","_ref","elements","styles","attributes","removeAttribute","effect","_ref2","initialStyles","popper","strategy","top","margin","arrow","reference","attribute","requires","getBasePlacement","round","getBoundingClientRect","includeScale","rect","scaleX","scaleY","offsetWidth","width","height","getLayoutRect","clientRect","abs","offsetLeft","offsetTop","parent","child","rootNode","isSameNode","host","getDocumentElement","getParentNode","assignedSlot","getTrueOffsetParent","offsetParent","getOffsetParent","isFirefox","navigator","isIE","currentNode","css","transform","perspective","contain","willChange","getContainingBlock","getMainAxisFromPlacement","within","getFreshSideObject","mergePaddingObject","paddingObject","expandToHashMap","hashMap","endDiff","center","offset","arrowElement","popperOffsets","modifiersData","axis","basePlacement","padding","rects","arrowRect","minProp","maxProp","startDiff","clientSize","arrowOffsetParent","clientHeight","clientWidth","_state$modifiersData$","centerOffset","_options$element","requiresIfExists","getVariation","unsetSides","mapToStyles","widthProp","_Object$assign","popperRect","variation","offsets","gpuAcceleration","adaptive","roundOffsets","isFixed","_offsets$x","_offsets$y","_ref3","hasX","hasY","sideX","sideY","win","commonStyles","heightProp","visualViewport","_ref4","dpr","devicePixelRatio","_Object$assign2","_ref5","_options$gpuAccelerat","_options$adaptive","_options$roundOffsets","passive","_options$scroll","scroll","resize","_options$resize","scrollParents","scrollParent","update","hash","getOppositePlacement","getOppositeVariationPlacement","getWindowScroll","scrollLeft","pageXOffset","scrollTop","pageYOffset","getWindowScrollBarX","isScrollParent","_getComputedStyle","overflow","overflowX","overflowY","listScrollParents","getScrollParent","isBody","_element$ownerDocumen","updatedList","rectToClientRect","getClientRectFromMixedType","clippingParent","clientTop","clientLeft","winScroll","scrollWidth","scrollHeight","direction","getClippingRect","boundary","rootBoundary","clipperElement","mainClippingParents","clippingParents","firstClippingParent","clippingRect","accRect","computeOffsets","commonX","commonY","mainAxis","detectOverflow","_options","_options$placement","_options$boundary","_options$rootBoundary","_options$elementConte","elementContext","_options$altBoundary","altBoundary","_options$padding","clippingClientRect","contextElement","referenceClientRect","popperClientRect","elementClientRect","overflowOffsets","offsetData","multiply","_skip","_options$mainAxis","checkMainAxis","_options$altAxis","altAxis","checkAltAxis","specifiedFallbackPlacements","fallbackPlacements","_options$flipVariatio","flipVariations","allowedAutoPlacements","preferredPlacement","oppositePlacement","getExpandedFallbackPlacements","placements","_options$allowedAutoP","overflows","allowedPlacements","referenceRect","checksMap","makeFallbackChecks","firstFittingPlacement","_basePlacement","isStartVariation","isVertical","mainVariationSide","altVariationSide","checks","_i","fittingPlacement","_loop","reset","getSideOffsets","preventedOffsets","isAnySideFullyClipped","side","preventOverflow","referenceOverflow","popperAltOverflow","referenceClippingOffsets","popperEscapeOffsets","isReferenceHidden","hasPopperEscaped","_options$offset","invertDistance","skidding","distance","_data$state$placement","_offsetModifierState$2","_offset","_len","_min","isOriginSide","_tetherMin","_preventedOffset","tether","_options$tether","tetherOffset","_options$tetherOffset","isBasePlacement","normalizedTetherOffsetValue","tetherOffsetValue","offsetModifierState","mainSide","altSide","additive","minLen","maxLen","arrowPaddingMin","arrowPaddingObject","arrowPaddingMax","arrowLen","minOffset","maxOffset","clientOffset","tetherMax","offsetModifierValue","_offsetModifierState$","preventedOffset","_max","_offsetModifierValue","_tetherMax","getCompositeRect","elementOrVirtualElement","isOffsetParentAnElement","offsetParentIsScaled","modifiers","visited","modifier","dep","depModifier","DEFAULT_OPTIONS","areValidElements","_key","popperGenerator","generatorOptions","_generatorOptions","_generatorOptions$def","defaultModifiers","_generatorOptions$def2","defaultOptions","pending","orderedModifiers","effectCleanupFns","isDestroyed","setOptions","setOptionsAction","merged","cleanupModifierEffects","existing","_ref3$options","cleanupFn","forceUpdate","_state$elements","_state$orderedModifie2","_state$orderedModifie","Promise","resolve","then","destroy","onFirstUpdate","eventListeners","normalizeData","normalizeDataKey","Manipulator","setDataAttribute","removeDataAttribute","getDataAttributes","dataset","pureKey","getDataAttribute","SelectorEngine","findOne","children","matches","parents","ancestor","previousElementSibling","nextElementSibling","focusableChildren","focusables","DATA_API_KEY","ESCAPE_KEY","ARROW_UP_KEY","ARROW_DOWN_KEY","REGEXP_KEYDOWN","EVENT_HIDE","EVENT_HIDDEN","EVENT_SHOW","EVENT_SHOWN","EVENT_KEYDOWN_DATA_API","EVENT_KEYUP_DATA_API","CLASS_NAME_SHOW","SELECTOR_MENU","PLACEMENT_TOP","PLACEMENT_TOPEND","PLACEMENT_BOTTOM","PLACEMENT_BOTTOMEND","PLACEMENT_RIGHT","PLACEMENT_LEFT","Default","popperConfig","autoClose","DefaultType","Dropdown","_popper","_config","_getConfig","_menu","_getMenuElement","_inNavbar","_detectNavbar","toggles","context","_isShown","composedPath","isMenuTarget","tagName","clickEvent","_completeHide","isActive","stopPropagation","getToggleButton","show","_selectMenuItem","clearMenus","hide","getParentFromElement","_createPopper","elem","focus","remove","Popper","referenceElement","_getPopperConfig","isDisplayStatic","parentDropdown","isEnd","popperData","defaultBsPopperConfig","_getPlacement","_getOffset","dataApiKeydownHandler","CLASS_NAME_COLLAPSE","CLASS_NAME_COLLAPSING","CLASS_NAME_COLLAPSED","CLASS_NAME_DEEPER_CHILDREN","Collapse","_isTransitioning","_triggerArray","toggleList","filterElement","foundElem","_selector","_initializeChildren","_addAriaAndCollapsedClass","dimension","actives","container","activesData","tempActiveData","elemActive","_getDimension","capitalizedDimension","scrollSize","_queueCallback","startEvent","triggerArrayLength","selected","triggerArray","isOpen","SELECTOR_FIXED_CONTENT","SELECTOR_STICKY_CONTENT","ScrollBarHelper","documentWidth","innerWidth","getWidth","_disableOverFlow","_setElementAttributes","calculatedValue","_saveInitialAttribute","styleProp","scrollbarWidth","_applyManipulationCallback","_resetElementAttributes","actualValue","removeProperty","callBack","className","isAnimated","rootElement","clickCallback","EVENT_MOUSEDOWN","Backdrop","_isAppended","_append","_getElement","_emulateAnimation","dispose","backdrop","append","enableDismissTrigger","component","trapElement","autofocus","EVENT_FOCUSIN","EVENT_KEYDOWN_TAB","TAB_NAV_BACKWARD","FocusTrap","_isActive","_lastTabNavDirection","_handleFocusin","_handleKeydown","shiftKey","EVENT_LOAD_DATA_API","keyboard","OPEN_SELECTOR","EVENT_KEYDOWN_DISMISS","Offcanvas","_backdrop","_initializeBackDrop","_focustrap","_initializeFocusTrap","_addEventListeners","visibility","activate","deactivate","blur","allReadyOpen","EVENT_CLOSE","EVENT_CLOSED","Alert","_destroyElement","interval","slide","pause","touch","ORDER_NEXT","ORDER_PREV","DIRECTION_LEFT","DIRECTION_RIGHT","KEY_TO_DIRECTION","EVENT_SLIDE","EVENT_SLID","EVENT_KEYDOWN","EVENT_MOUSEENTER","EVENT_MOUSELEAVE","EVENT_TOUCHSTART","EVENT_TOUCHMOVE","EVENT_TOUCHEND","EVENT_POINTERDOWN","EVENT_POINTERUP","EVENT_DRAG_START","CLASS_NAME_ACTIVE","SELECTOR_ACTIVE_ITEM","Carousel","_items","_interval","_activeElement","_isPaused","_isSliding","touchTimeout","touchStartX","touchDeltaX","_indicatorsElement","_touchSupported","maxTouchPoints","_pointerEvent","PointerEvent","action","to","ride","cycle","carouselInterface","slideIndex","_slide","hidden","clearInterval","_updateInterval","setInterval","visibilityState","nextWhenVisible","activeIndex","_getItemIndex","absDeltax","_keydown","_addTouchEventListeners","hasPointerPenTouch","clientX","touches","_handleSwipe","clearTimeout","pointerType","itemImg","order","eventDirectionName","targetIndex","activeIndicator","indicators","elementInterval","defaultInterval","directionOrOrder","triggerSlidEvent","_directionToOrder","activeElementIndex","nextElement","_getItemByOrder","nextElementIndex","isCycling","isNext","directionalClassName","orderClassName","_orderToDirection","_triggerSlideEvent","_setActiveIndicatorElement","dataApiClickHandler","carousels","EVENT_HIDE_PREVENTED","EVENT_RESIZE","EVENT_CLICK_DISMISS","EVENT_MOUSEUP_DISMISS","EVENT_MOUSEDOWN_DISMISS","CLASS_NAME_OPEN","CLASS_NAME_STATIC","Modal","_dialog","_ignoreBackdropClick","_scrollBar","_isAnimated","_adjustDialog","_setEscapeEvent","_setResizeEvent","_showBackdrop","_showElement","_hideModal","htmlElement","modalBody","_triggerBackdropTransition","_resetAdjustments","currentTarget","isModalOverflowing","isBodyOverflowing","paddingLeft","paddingRight","showEvent","uriAttributes","SAFE_URL_PATTERN","DATA_URL_PATTERN","DefaultAllowlist","area","br","col","div","em","hr","h1","h2","h3","h4","h5","h6","img","li","ol","pre","small","span","sub","sup","strong","u","ul","sanitizeHtml","unsafeHtml","allowList","sanitizeFn","createdDocument","DOMParser","parseFromString","elementName","attributeList","allowedAttributes","allowedAttributeList","attributeName","nodeValue","regExp","attributeRegex","allowedAttribute","innerHTML","DISALLOWED_ATTRIBUTES","animation","template","title","delay","customClass","sanitize","AttachmentMap","AUTO","TOP","RIGHT","BOTTOM","LEFT","HIDE","SHOW","SHOWN","INSERTED","CLICK","FOCUSIN","FOCUSOUT","MOUSEENTER","MOUSELEAVE","CLASS_NAME_FADE","HOVER_STATE_SHOW","SELECTOR_TOOLTIP_INNER","SELECTOR_MODAL","EVENT_MODAL_HIDE","TRIGGER_HOVER","TRIGGER_FOCUS","Tooltip","_isEnabled","_timeout","_hoverState","_activeTrigger","tip","_setListeners","_initializeOnDelegatedTarget","click","_isWithActiveTrigger","_enter","_leave","getTipElement","_hideModalHandler","_disposePopper","isWithContent","isInTheDom","shadowRoot","getTitle","tipId","prefix","getElementById","getUID","attachment","_getAttachment","_addAttachmentClass","_resolvePossibleFunction","prevHoverState","_cleanTipClass","setContent","_sanitizeAndSetContent","templateElement","setElementContent","textContent","_getDelegateConfig","_handlePopperPlacementChange","_getBasicClassPrefix","updateAttachment","eventIn","eventOut","_fixTitle","originalTitleType","dataAttributes","dataAttr","basicClassPrefixRegex","tabClass","token","tClass","Popover","_getContent","EVENT_ACTIVATE","EVENT_SCROLL","CLASS_NAME_DROPDOWN_ITEM","SELECTOR_NAV_LINKS","SELECTOR_LIST_ITEMS","SELECTOR_LINK_ITEMS","METHOD_POSITION","ScrollSpy","_scrollElement","_offsets","_targets","_activeTarget","_scrollHeight","_process","refresh","autoMethod","offsetMethod","offsetBase","_getScrollTop","_getScrollHeight","targetSelector","targetBCR","item","innerHeight","maxScroll","_getOffsetHeight","_activate","_clear","queries","link","listGroup","navItem","spy","SELECTOR_ACTIVE","SELECTOR_ACTIVE_UL","Tab","listElement","complete","itemSelector","hideEvent","_transitionComplete","active","isTransitioning","dropdownChild","dropdownElement","dropdown","MAX_UID","onDOMContentLoaded","storeData","EVENT_MOUSEOVER","EVENT_MOUSEOUT","EVENT_FOCUSOUT","CLASS_NAME_SHOWING","autohide","Toast","_hasMouseInteraction","_hasKeyboardInteraction","_clearTimeout","_maybeScheduleHide","isInteracting","_onInteraction","mapData","keyProperties","setData","getData","removeData","custom","EventHandlerMulti","eventsName","toggleClass","addClass","addStyle","removeClass","hasClass","CLASSNAME_RIPPLE","CLASSNAME_RIPPLE_WAVE","SELECTOR_COMPONENT","CLASSNAME_UNBOUND","DEFAULT_RIPPLE_COLOR","BOOTSTRAP_COLORS","rippleCentered","rippleColor","rippleDuration","rippleRadius","rippleUnbound","Ripple","_clickHandler","_createRipple","_rippleTimer","_isMinWidthSet","_autoInit","_addClickEvent","minWidth","offsetX","layerX","offsetY","layerY","duration","_durationToMsNumber","diameterOptions","diameter","_getDiameter","radiusValue","opacity","rippleHTML","_createHTMLRipple","ripple","_removeHTMLRipple","_removeOldColorClasses","_addColor","_toggleUnbound","_appendRipple","rippleEl","time","pythagorean","sideA","sideB","sqrt","positionCenter","quadrant","getCorner","topLeft","topRight","bottomLeft","bottomRight","color","rgbValue","_colorToRGB","gradientImage","backgroundImage","REGEXP_CLASS_COLOR","substr","tempElem","flag","removeChild","autoInitial","toggler","_toggler","_event","_condition","_onlyVisible","onlyVisible","_focusableElements","_firstElement","_lastElement","_setElements","_init","_setFocusTrap","elementStyle","parentNodeStyle","ancestors","_filterVisible","getDate","date","getDayNumber","getDay","getMonth","getYear","getFullYear","getDaysInMonth","createDate","getToday","Date","addYears","years","addMonths","months","month","setDate","addDays","days","year","day","setFullYear","convertStringToDate","dateString","dateArr","isSameDate","date1","date2","setHours","getTime","getYearsOffset","activeDate","yearsInView","minDate","maxDate","startYear","maxYear","getStartYear","areDatesInSameView","view","lastYearInView","firstYearInView","getDatepickerTemplate","selectedDate","selectedYear","selectedMonth","monthsInRow","yearsInRow","dayNumber","modalContent","weekdaysShort","monthsShort","switchToMultiYearViewLabel","monthsFull","prevMonthLabel","nextMonthLabel","createControls","viewTemplate","createDayViewTemplate","createMonthViewTemplate","createYearViewTemplate","createViewTemplate","clearBtnLabel","clearBtnText","cancelBtnLabel","cancelBtnText","okBtnLabel","okBtnText","createFooter","dates","previousMonth","nextMonth","firstDay","sundayIndex","firstDayIndex","startDay","getFirstDayOfWeek","daysInMonth","daysInPreviousMonth","isCurrentMonth","week","currentMonth","isSelected","isToday","daysLeft","getDatesArray","dayNames","weekdaysNarrow","tableHeadContent","weekdaysFull","tableBodyContent","row","monthsRow","getMonthsArray","monthIndex","activeYear","yearsOffset","yearsRow","getYearsArray","currentYear","EVENT_OPEN","EVENT_DATE_CHANGE","nextYearLabel","prevYearLabel","nextMultiYearLabel","prevMultiYearLabel","switchToMonthViewLabel","switchToDayViewLabel","startDate","format","toggleButton","disableToggleButton","disableInput","Datepicker","_input","_activeDate","_selectedDate","_selectedYear","_selectedMonth","_view","_focusTrap","_isOpen","_toggleButtonId","disableToggle","activeCell","_getActiveDayCell","_getActiveMonthCell","_getActiveYearCell","sortedWeekdaysNarrow","_getNewDaysOrderArray","_appendToggleButton","readOnly","pointerEvents","_listenToUserInput","_listenToToggleClick","_listenToToggleKeydown","insertAdjacentHTML","openEvent","_setInitialDate","_openModal","animationDuration","_listenToDateSelection","_addControlsListeners","_listenToEscapeClick","_listenToKeyboardNavigation","_listenToDatesContainerFocus","_listenToDatesContainerBlur","_asyncFocusDatesContainer","_updateViewControlsAndAttributes","_listenToOutsideClick","createPopper","trap","_handleUserInput","keyCode","datesContainer","cell","mdbDate","_pickDay","mdbMonth","mdbYear","_pickMonth","_pickYear","_updateHeaderDate","monthNames","headerDateEl","nextButton","nextYears","nextYear","previousButton","previousYears","previousYear","viewChangeButton","_changeView","_listenToFooterButtonsClick","okButton","handleOk","cancelButton","handleCancel","clearButton","handleClear","isContainer","isContainerContent","_focusActiveCell","_removeCurrentFocusStyles","_handleDaysViewKeydown","_handleMonthsViewKeydown","_handleYearsViewKeydown","oldActiveDate","previousActiveCell","_selectDate","_removeHighlightFromCell","cells","activeMonth","_selectMonth","cellYear","cellMonth","_selectYear","closeEvent","_removeDatepickerListeners","_closeModal","datepicker","_removeFocusTrap","disable","_removeInputAndToggleListeners","generatedToggleButton","_confirmSelection","_removeCurrentSelectionStyles","_addSelectedStyles","_asyncChangeView","formatDate","currentSelected","currentFocused","dd","_addLeadingZero","ddd","dddd","mm","mmm","mmmm","yy","yyyy","preformatted","formatted","datePart","newDate","activeDay","delimeters","_getDelimeters","_parseDate","delimeterPattern","dateParts","formatParts","isMonthString","datesArray","monthsNames","getMonthNumberByMonthName","monthValue","monthLabels","monthLabel","findMousePosition","clientY","isMobile","checkBrowser","isValidDate","takeValue","valueInput","ACTIVE_CLASS","AM_CLASS","BUTTON_CANCEL_CLASS","BUTTON_CLEAR_CLASS","BUTTON_SUBMIT_CLASS","CIRCLE_CLASS","CLOCK_ANIMATION_CLASS","CLOCK_CLASS","CLOCK_INNER_CLASS","CLOCK_WRAPPER_CLASS","CURRENT_CLASS","CURRENT_INLINE_CLASS","HAND_CLASS","HOUR_CLASS","HOUR_MODE_CLASS","ICON_DOWN_CLASS","ICON_INLINE_HOUR_CLASS","ICON_INLINE_MINUTE_CLASS","ICON_UP_CLASS","ICONS_HOUR_INLINE","MIDDLE_DOT_CLASS","MINUTE_CLASS","MODAL_CLASS","PM_CLASS","TIPS_ELEMENT_CLASS","TIPS_HOURS_CLASS","TIPS_INNER_ELEMENT_CLASS","TIPS_INNER_HOURS_CLASS","TIPS_MINUTES_CLASS","TRANSFORM_CLASS","WRAPPER_CLASS","INPUT_CLASS","appendValidationInfo","bodyID","cancelLabel","clearLabel","closeModalOnBackdropClick","closeModalOnMinutesClick","defaultTime","focusInputAfterApprove","footerID","format12","headID","increment","invalidLabel","maxHour","minHour","maxTime","minTime","modalID","okLabel","overflowHidden","pickerID","showClearBtn","switchHoursToMinutesOnClick","iconClass","withIcon","pmLabel","amLabel","Timepicker","classes","_modal","_circle","backgroundColor","tips","findInArray","degrees","minute","addDegrees","hour","clockWidth","clockHeight","radius","clockClass","tipsClass","inline","maxTimeHour","maxTimeMinutes","maxTimeFormat","minTimeHour","minTimeMinutes","minTimeFormat","hourModeActive","_isInvalidTimeFormat","_AM","_PM","clock","angle","PI","spanToTips","itemWidth","itemHeight","sin","cos","_hour","_isAmEnabled","_isPmEnabled","_document","_currentTime","hoursArray","innerHours","minutesArray","dataWithIcon","dataToggle","customIcon","_checkToggleButton","inputFormatShow","inputFormat","elementToggle","toggleElement","_minutes","_wrapper","_hand","_inputValue","hours","minutes","amOrPm","getHours","getMinutes","formatToAmPm","_isHours","_isMinutes","_isMouseMove","_isInner","_objWithDataOnChange","zero","hoursFormat","_amOrPm","_handleOpen","_removeModal","getToggleButtonTemplate","_clock","_clockInner","maxFormat","minFormat","maxHourDegrees","minHourDegrees","cancelBtn","notNullMinutes","notNullInnerHours","allTipsMinutes","allTipsHours","allInnerTips","maxHourNumber","minHourNumber","hourTime","_makeHourDegrees","hourObjDegrees","_makeMinutesDegrees","minHourMinutes","minObjDegrees","addMinDegrees","innerHourDegrees","_makeInnerHoursDegrees","innerHour","_setHourOrMinute","_toggleClassActive","_toggleBackgroundColorCircle","_handlerMaxMinHoursOptions","rest","_addActiveClassToTip","rotateDegrees","fixForInput","checkInputValue","hasVerticalScroll","_getDomElements","_toggleBackdropAnimation","_setActiveClassToTipsOnOpen","_appendTimes","_setTipsAndTimesDependOnInputValue","_handleSwitchTimeMode","_handleOkButton","_handleClose","_handleHoverInlineBtn","_handleDocumentClickInline","_handleInlineClicks","_handleSwitchHourMinute","_handleClockClick","_handleKeyboard","incrementHours","counteredNumber","countHours","incrementMinutes","countMinutes","addHours","hourNumber","addMinutes","minuteNumber","subHours","subMinutes","count","runRemoveFunction","currentValue","allIconsInlineHour","allIconsInlineMinute","icon","switchTips","_getAppendClock","hourValue","minuteValue","innerTip","clockWrapper","mouseClick","rds","atan2","elFromPoint","touchClick","xPos","yPos","elementFromPoint","submitBtn","minDegrees","minTimeObj","_handlerMaxMinMinutesOptions","_degrees","minuteTimes","degreesMinutes","degreesHours","movedDegrees","movedHours","touchDegrees","touchHours","_handleMoveHand","allTipsInner","maxMin","minMin","maxHourTime","minHourTime","maxMinDegrees","minMinDegrees","timepicker","STEPPER_HORIZONTAL","STEPPER_VERTICAL","stepperType","stepperLinear","stepperNoEditable","stepperActive","stepperCompleted","stepperInvalid","stepperDisabled","stepperVerticalBreakpoint","stepperMobileBreakpoint","stepperMobileBarBreakpoint","EVENT_KEYUP","EVENT_ANIMATIONEND","STEP_CLASS","HEAD_CLASS","CONTENT_CLASS","COMPLETED_CLASS","INVALID_CLASS","DISABLED_CLASS","VERTICAL_CLASS","CONTENT_HIDE_CLASS","HORIZONTAL_CLASS","Stepper","_elementHeight","_steps","_currentView","_activeStepIndex","_verticalStepperStyles","_toggleStep","activeStep","_toggleStepClass","_bindMouseDown","_bindKeysNavigation","_toggleVertical","_toggleHorizontal","_toggleStepperView","_bindResize","stepHead","stepIndex","_setSingleStepHeight","_setHeight","shouldBeHorizontal","shouldBeVertical","shouldBeMobile","stepContent","_resetStepperHeight","_toggleDisabled","_toggleActive","_toggleCompleted","_animateHorizontalStep","_animateVerticalStep","_toggleStepTabIndex","stepComputed","stepHeight","paddingTop","paddingBottom","isActiveStep","stepContentHeight","_toggleStepperClass","_setStepsHeight","_hideInactiveSteps","focusedStep","nextStep","prevStep","focusedStepHead","activeStepHead","nextStepHead","prevStepHead","_toggleOutlineStyles","firstStepHead","lastStep","lastStepHead","changeStep","focusedElement","outline","_hideElement","stepElement","contentStyle","headStyle","marginTop","marginBottom","stepHeadHeight","activeStepAnimation","isForward","nextStepContent","activeStepContent","_clearStepAnimation","nextStepAnimation"],"mappings":"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","file":"js/index.min.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 193);\n","var check = function (it) {\n return it && it.Math == Math && it;\n};\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nmodule.exports =\n // eslint-disable-next-line es/no-global-this -- safe\n check(typeof globalThis == 'object' && globalThis) ||\n check(typeof window == 'object' && window) ||\n // eslint-disable-next-line no-restricted-globals -- safe\n check(typeof self == 'object' && self) ||\n check(typeof global == 'object' && global) ||\n // eslint-disable-next-line no-new-func -- fallback\n (function () { return this; })() || Function('return this')();\n","var NATIVE_BIND = require('../internals/function-bind-native');\n\nvar FunctionPrototype = Function.prototype;\nvar bind = FunctionPrototype.bind;\nvar call = FunctionPrototype.call;\nvar uncurryThis = NATIVE_BIND && bind.bind(call, call);\n\nmodule.exports = NATIVE_BIND ? function (fn) {\n return fn && uncurryThis(fn);\n} : function (fn) {\n return fn && function () {\n return call.apply(fn, arguments);\n };\n};\n","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n","var global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefine = require('../internals/redefine');\nvar setGlobal = require('../internals/set-global');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\nvar isForced = require('../internals/is-forced');\n\n/*\n options.target - name of the target object\n options.global - target is the global object\n options.stat - export as static methods of target\n options.proto - export as prototype methods of target\n options.real - real prototype method for the `pure` version\n options.forced - export even if the native feature is available\n options.bind - bind methods to the target, required for the `pure` version\n options.wrap - wrap constructors to preventing global pollution, required for the `pure` version\n options.unsafe - use the simple assignment of property instead of delete + defineProperty\n options.sham - add a flag to not completely full polyfills\n options.enumerable - export as enumerable property\n options.noTargetGet - prevent calling a getter on target\n options.name - the .name of the function if it does not match the key\n*/\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var FORCED, target, key, targetProperty, sourceProperty, descriptor;\n if (GLOBAL) {\n target = global;\n } else if (STATIC) {\n target = global[TARGET] || setGlobal(TARGET, {});\n } else {\n target = (global[TARGET] || {}).prototype;\n }\n if (target) for (key in source) {\n sourceProperty = source[key];\n if (options.noTargetGet) {\n descriptor = getOwnPropertyDescriptor(target, key);\n targetProperty = descriptor && descriptor.value;\n } else targetProperty = target[key];\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n // contained in target\n if (!FORCED && targetProperty !== undefined) {\n if (typeof sourceProperty == typeof targetProperty) continue;\n copyConstructorProperties(sourceProperty, targetProperty);\n }\n // add a flag to not completely full polyfills\n if (options.sham || (targetProperty && targetProperty.sham)) {\n createNonEnumerableProperty(sourceProperty, 'sham', true);\n }\n // extend global\n redefine(target, key, sourceProperty, options);\n }\n};\n","var TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar redefine = require('../internals/redefine');\nvar toString = require('../internals/object-to-string');\n\n// `Object.prototype.toString` method\n// https://tc39.es/ecma262/#sec-object.prototype.tostring\nif (!TO_STRING_TAG_SUPPORT) {\n redefine(Object.prototype, 'toString', toString, { unsafe: true });\n}\n","'use strict';\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar addToUnscopables = require('../internals/add-to-unscopables');\nvar Iterators = require('../internals/iterators');\nvar InternalStateModule = require('../internals/internal-state');\nvar defineProperty = require('../internals/object-define-property').f;\nvar defineIterator = require('../internals/define-iterator');\nvar IS_PURE = require('../internals/is-pure');\nvar DESCRIPTORS = require('../internals/descriptors');\n\nvar ARRAY_ITERATOR = 'Array Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(ARRAY_ITERATOR);\n\n// `Array.prototype.entries` method\n// https://tc39.es/ecma262/#sec-array.prototype.entries\n// `Array.prototype.keys` method\n// https://tc39.es/ecma262/#sec-array.prototype.keys\n// `Array.prototype.values` method\n// https://tc39.es/ecma262/#sec-array.prototype.values\n// `Array.prototype[@@iterator]` method\n// https://tc39.es/ecma262/#sec-array.prototype-@@iterator\n// `CreateArrayIterator` internal method\n// https://tc39.es/ecma262/#sec-createarrayiterator\nmodule.exports = defineIterator(Array, 'Array', function (iterated, kind) {\n setInternalState(this, {\n type: ARRAY_ITERATOR,\n target: toIndexedObject(iterated), // target\n index: 0, // next index\n kind: kind // kind\n });\n// `%ArrayIteratorPrototype%.next` method\n// https://tc39.es/ecma262/#sec-%arrayiteratorprototype%.next\n}, function () {\n var state = getInternalState(this);\n var target = state.target;\n var kind = state.kind;\n var index = state.index++;\n if (!target || index >= target.length) {\n state.target = undefined;\n return { value: undefined, done: true };\n }\n if (kind == 'keys') return { value: index, done: false };\n if (kind == 'values') return { value: target[index], done: false };\n return { value: [index, target[index]], done: false };\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values%\n// https://tc39.es/ecma262/#sec-createunmappedargumentsobject\n// https://tc39.es/ecma262/#sec-createmappedargumentsobject\nvar values = Iterators.Arguments = Iterators.Array;\n\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n\n// V8 ~ Chrome 45- bug\nif (!IS_PURE && DESCRIPTORS && values.name !== 'values') try {\n defineProperty(values, 'name', { value: 'values' });\n} catch (error) { /* empty */ }\n","'use strict';\nvar charAt = require('../internals/string-multibyte').charAt;\nvar toString = require('../internals/to-string');\nvar InternalStateModule = require('../internals/internal-state');\nvar defineIterator = require('../internals/define-iterator');\n\nvar STRING_ITERATOR = 'String Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(STRING_ITERATOR);\n\n// `String.prototype[@@iterator]` method\n// https://tc39.es/ecma262/#sec-string.prototype-@@iterator\ndefineIterator(String, 'String', function (iterated) {\n setInternalState(this, {\n type: STRING_ITERATOR,\n string: toString(iterated),\n index: 0\n });\n// `%StringIteratorPrototype%.next` method\n// https://tc39.es/ecma262/#sec-%stringiteratorprototype%.next\n}, function next() {\n var state = getInternalState(this);\n var string = state.string;\n var index = state.index;\n var point;\n if (index >= string.length) return { value: undefined, done: true };\n point = charAt(string, index);\n state.index += point.length;\n return { value: point, done: false };\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar getBuiltIn = require('../internals/get-built-in');\nvar apply = require('../internals/function-apply');\nvar call = require('../internals/function-call');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar IS_PURE = require('../internals/is-pure');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar NATIVE_SYMBOL = require('../internals/native-symbol');\nvar fails = require('../internals/fails');\nvar hasOwn = require('../internals/has-own-property');\nvar isArray = require('../internals/is-array');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar isSymbol = require('../internals/is-symbol');\nvar anObject = require('../internals/an-object');\nvar toObject = require('../internals/to-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPropertyKey = require('../internals/to-property-key');\nvar $toString = require('../internals/to-string');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar nativeObjectCreate = require('../internals/object-create');\nvar objectKeys = require('../internals/object-keys');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertyNamesExternal = require('../internals/object-get-own-property-names-external');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\nvar definePropertiesModule = require('../internals/object-define-properties');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar arraySlice = require('../internals/array-slice');\nvar redefine = require('../internals/redefine');\nvar shared = require('../internals/shared');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar uid = require('../internals/uid');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar wrappedWellKnownSymbolModule = require('../internals/well-known-symbol-wrapped');\nvar defineWellKnownSymbol = require('../internals/define-well-known-symbol');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar InternalStateModule = require('../internals/internal-state');\nvar $forEach = require('../internals/array-iteration').forEach;\n\nvar HIDDEN = sharedKey('hidden');\nvar SYMBOL = 'Symbol';\nvar PROTOTYPE = 'prototype';\nvar TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\n\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(SYMBOL);\n\nvar ObjectPrototype = Object[PROTOTYPE];\nvar $Symbol = global.Symbol;\nvar SymbolPrototype = $Symbol && $Symbol[PROTOTYPE];\nvar TypeError = global.TypeError;\nvar QObject = global.QObject;\nvar $stringify = getBuiltIn('JSON', 'stringify');\nvar nativeGetOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\nvar nativeDefineProperty = definePropertyModule.f;\nvar nativeGetOwnPropertyNames = getOwnPropertyNamesExternal.f;\nvar nativePropertyIsEnumerable = propertyIsEnumerableModule.f;\nvar push = uncurryThis([].push);\n\nvar AllSymbols = shared('symbols');\nvar ObjectPrototypeSymbols = shared('op-symbols');\nvar StringToSymbolRegistry = shared('string-to-symbol-registry');\nvar SymbolToStringRegistry = shared('symbol-to-string-registry');\nvar WellKnownSymbolsStore = shared('wks');\n\n// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173\nvar USE_SETTER = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\n\n// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687\nvar setSymbolDescriptor = DESCRIPTORS && fails(function () {\n return nativeObjectCreate(nativeDefineProperty({}, 'a', {\n get: function () { return nativeDefineProperty(this, 'a', { value: 7 }).a; }\n })).a != 7;\n}) ? function (O, P, Attributes) {\n var ObjectPrototypeDescriptor = nativeGetOwnPropertyDescriptor(ObjectPrototype, P);\n if (ObjectPrototypeDescriptor) delete ObjectPrototype[P];\n nativeDefineProperty(O, P, Attributes);\n if (ObjectPrototypeDescriptor && O !== ObjectPrototype) {\n nativeDefineProperty(ObjectPrototype, P, ObjectPrototypeDescriptor);\n }\n} : nativeDefineProperty;\n\nvar wrap = function (tag, description) {\n var symbol = AllSymbols[tag] = nativeObjectCreate(SymbolPrototype);\n setInternalState(symbol, {\n type: SYMBOL,\n tag: tag,\n description: description\n });\n if (!DESCRIPTORS) symbol.description = description;\n return symbol;\n};\n\nvar $defineProperty = function defineProperty(O, P, Attributes) {\n if (O === ObjectPrototype) $defineProperty(ObjectPrototypeSymbols, P, Attributes);\n anObject(O);\n var key = toPropertyKey(P);\n anObject(Attributes);\n if (hasOwn(AllSymbols, key)) {\n if (!Attributes.enumerable) {\n if (!hasOwn(O, HIDDEN)) nativeDefineProperty(O, HIDDEN, createPropertyDescriptor(1, {}));\n O[HIDDEN][key] = true;\n } else {\n if (hasOwn(O, HIDDEN) && O[HIDDEN][key]) O[HIDDEN][key] = false;\n Attributes = nativeObjectCreate(Attributes, { enumerable: createPropertyDescriptor(0, false) });\n } return setSymbolDescriptor(O, key, Attributes);\n } return nativeDefineProperty(O, key, Attributes);\n};\n\nvar $defineProperties = function defineProperties(O, Properties) {\n anObject(O);\n var properties = toIndexedObject(Properties);\n var keys = objectKeys(properties).concat($getOwnPropertySymbols(properties));\n $forEach(keys, function (key) {\n if (!DESCRIPTORS || call($propertyIsEnumerable, properties, key)) $defineProperty(O, key, properties[key]);\n });\n return O;\n};\n\nvar $create = function create(O, Properties) {\n return Properties === undefined ? nativeObjectCreate(O) : $defineProperties(nativeObjectCreate(O), Properties);\n};\n\nvar $propertyIsEnumerable = function propertyIsEnumerable(V) {\n var P = toPropertyKey(V);\n var enumerable = call(nativePropertyIsEnumerable, this, P);\n if (this === ObjectPrototype && hasOwn(AllSymbols, P) && !hasOwn(ObjectPrototypeSymbols, P)) return false;\n return enumerable || !hasOwn(this, P) || !hasOwn(AllSymbols, P) || hasOwn(this, HIDDEN) && this[HIDDEN][P]\n ? enumerable : true;\n};\n\nvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(O, P) {\n var it = toIndexedObject(O);\n var key = toPropertyKey(P);\n if (it === ObjectPrototype && hasOwn(AllSymbols, key) && !hasOwn(ObjectPrototypeSymbols, key)) return;\n var descriptor = nativeGetOwnPropertyDescriptor(it, key);\n if (descriptor && hasOwn(AllSymbols, key) && !(hasOwn(it, HIDDEN) && it[HIDDEN][key])) {\n descriptor.enumerable = true;\n }\n return descriptor;\n};\n\nvar $getOwnPropertyNames = function getOwnPropertyNames(O) {\n var names = nativeGetOwnPropertyNames(toIndexedObject(O));\n var result = [];\n $forEach(names, function (key) {\n if (!hasOwn(AllSymbols, key) && !hasOwn(hiddenKeys, key)) push(result, key);\n });\n return result;\n};\n\nvar $getOwnPropertySymbols = function getOwnPropertySymbols(O) {\n var IS_OBJECT_PROTOTYPE = O === ObjectPrototype;\n var names = nativeGetOwnPropertyNames(IS_OBJECT_PROTOTYPE ? ObjectPrototypeSymbols : toIndexedObject(O));\n var result = [];\n $forEach(names, function (key) {\n if (hasOwn(AllSymbols, key) && (!IS_OBJECT_PROTOTYPE || hasOwn(ObjectPrototype, key))) {\n push(result, AllSymbols[key]);\n }\n });\n return result;\n};\n\n// `Symbol` constructor\n// https://tc39.es/ecma262/#sec-symbol-constructor\nif (!NATIVE_SYMBOL) {\n $Symbol = function Symbol() {\n if (isPrototypeOf(SymbolPrototype, this)) throw TypeError('Symbol is not a constructor');\n var description = !arguments.length || arguments[0] === undefined ? undefined : $toString(arguments[0]);\n var tag = uid(description);\n var setter = function (value) {\n if (this === ObjectPrototype) call(setter, ObjectPrototypeSymbols, value);\n if (hasOwn(this, HIDDEN) && hasOwn(this[HIDDEN], tag)) this[HIDDEN][tag] = false;\n setSymbolDescriptor(this, tag, createPropertyDescriptor(1, value));\n };\n if (DESCRIPTORS && USE_SETTER) setSymbolDescriptor(ObjectPrototype, tag, { configurable: true, set: setter });\n return wrap(tag, description);\n };\n\n SymbolPrototype = $Symbol[PROTOTYPE];\n\n redefine(SymbolPrototype, 'toString', function toString() {\n return getInternalState(this).tag;\n });\n\n redefine($Symbol, 'withoutSetter', function (description) {\n return wrap(uid(description), description);\n });\n\n propertyIsEnumerableModule.f = $propertyIsEnumerable;\n definePropertyModule.f = $defineProperty;\n definePropertiesModule.f = $defineProperties;\n getOwnPropertyDescriptorModule.f = $getOwnPropertyDescriptor;\n getOwnPropertyNamesModule.f = getOwnPropertyNamesExternal.f = $getOwnPropertyNames;\n getOwnPropertySymbolsModule.f = $getOwnPropertySymbols;\n\n wrappedWellKnownSymbolModule.f = function (name) {\n return wrap(wellKnownSymbol(name), name);\n };\n\n if (DESCRIPTORS) {\n // https://github.com/tc39/proposal-Symbol-description\n nativeDefineProperty(SymbolPrototype, 'description', {\n configurable: true,\n get: function description() {\n return getInternalState(this).description;\n }\n });\n if (!IS_PURE) {\n redefine(ObjectPrototype, 'propertyIsEnumerable', $propertyIsEnumerable, { unsafe: true });\n }\n }\n}\n\n$({ global: true, wrap: true, forced: !NATIVE_SYMBOL, sham: !NATIVE_SYMBOL }, {\n Symbol: $Symbol\n});\n\n$forEach(objectKeys(WellKnownSymbolsStore), function (name) {\n defineWellKnownSymbol(name);\n});\n\n$({ target: SYMBOL, stat: true, forced: !NATIVE_SYMBOL }, {\n // `Symbol.for` method\n // https://tc39.es/ecma262/#sec-symbol.for\n 'for': function (key) {\n var string = $toString(key);\n if (hasOwn(StringToSymbolRegistry, string)) return StringToSymbolRegistry[string];\n var symbol = $Symbol(string);\n StringToSymbolRegistry[string] = symbol;\n SymbolToStringRegistry[symbol] = string;\n return symbol;\n },\n // `Symbol.keyFor` method\n // https://tc39.es/ecma262/#sec-symbol.keyfor\n keyFor: function keyFor(sym) {\n if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol');\n if (hasOwn(SymbolToStringRegistry, sym)) return SymbolToStringRegistry[sym];\n },\n useSetter: function () { USE_SETTER = true; },\n useSimple: function () { USE_SETTER = false; }\n});\n\n$({ target: 'Object', stat: true, forced: !NATIVE_SYMBOL, sham: !DESCRIPTORS }, {\n // `Object.create` method\n // https://tc39.es/ecma262/#sec-object.create\n create: $create,\n // `Object.defineProperty` method\n // https://tc39.es/ecma262/#sec-object.defineproperty\n defineProperty: $defineProperty,\n // `Object.defineProperties` method\n // https://tc39.es/ecma262/#sec-object.defineproperties\n defineProperties: $defineProperties,\n // `Object.getOwnPropertyDescriptor` method\n // https://tc39.es/ecma262/#sec-object.getownpropertydescriptors\n getOwnPropertyDescriptor: $getOwnPropertyDescriptor\n});\n\n$({ target: 'Object', stat: true, forced: !NATIVE_SYMBOL }, {\n // `Object.getOwnPropertyNames` method\n // https://tc39.es/ecma262/#sec-object.getownpropertynames\n getOwnPropertyNames: $getOwnPropertyNames,\n // `Object.getOwnPropertySymbols` method\n // https://tc39.es/ecma262/#sec-object.getownpropertysymbols\n getOwnPropertySymbols: $getOwnPropertySymbols\n});\n\n// Chrome 38 and 39 `Object.getOwnPropertySymbols` fails on primitives\n// https://bugs.chromium.org/p/v8/issues/detail?id=3443\n$({ target: 'Object', stat: true, forced: fails(function () { getOwnPropertySymbolsModule.f(1); }) }, {\n getOwnPropertySymbols: function getOwnPropertySymbols(it) {\n return getOwnPropertySymbolsModule.f(toObject(it));\n }\n});\n\n// `JSON.stringify` method behavior with symbols\n// https://tc39.es/ecma262/#sec-json.stringify\nif ($stringify) {\n var FORCED_JSON_STRINGIFY = !NATIVE_SYMBOL || fails(function () {\n var symbol = $Symbol();\n // MS Edge converts symbol values to JSON as {}\n return $stringify([symbol]) != '[null]'\n // WebKit converts symbol values to JSON as null\n || $stringify({ a: symbol }) != '{}'\n // V8 throws on boxed symbols\n || $stringify(Object(symbol)) != '{}';\n });\n\n $({ target: 'JSON', stat: true, forced: FORCED_JSON_STRINGIFY }, {\n // eslint-disable-next-line no-unused-vars -- required for `.length`\n stringify: function stringify(it, replacer, space) {\n var args = arraySlice(arguments);\n var $replacer = replacer;\n if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined\n if (!isArray(replacer)) replacer = function (key, value) {\n if (isCallable($replacer)) value = call($replacer, this, key, value);\n if (!isSymbol(value)) return value;\n };\n args[1] = replacer;\n return apply($stringify, null, args);\n }\n });\n}\n\n// `Symbol.prototype[@@toPrimitive]` method\n// https://tc39.es/ecma262/#sec-symbol.prototype-@@toprimitive\nif (!SymbolPrototype[TO_PRIMITIVE]) {\n var valueOf = SymbolPrototype.valueOf;\n // eslint-disable-next-line no-unused-vars -- required for .length\n redefine(SymbolPrototype, TO_PRIMITIVE, function (hint) {\n // TODO: improve hint logic\n return call(valueOf, this);\n });\n}\n// `Symbol.prototype[@@toStringTag]` property\n// https://tc39.es/ecma262/#sec-symbol.prototype-@@tostringtag\nsetToStringTag($Symbol, SYMBOL);\n\nhiddenKeys[HIDDEN] = true;\n","var global = require('../internals/global');\nvar DOMIterables = require('../internals/dom-iterables');\nvar DOMTokenListPrototype = require('../internals/dom-token-list-prototype');\nvar ArrayIteratorMethods = require('../modules/es.array.iterator');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar ArrayValues = ArrayIteratorMethods.values;\n\nvar handlePrototype = function (CollectionPrototype, COLLECTION_NAME) {\n if (CollectionPrototype) {\n // some Chrome versions have non-configurable methods on DOMTokenList\n if (CollectionPrototype[ITERATOR] !== ArrayValues) try {\n createNonEnumerableProperty(CollectionPrototype, ITERATOR, ArrayValues);\n } catch (error) {\n CollectionPrototype[ITERATOR] = ArrayValues;\n }\n if (!CollectionPrototype[TO_STRING_TAG]) {\n createNonEnumerableProperty(CollectionPrototype, TO_STRING_TAG, COLLECTION_NAME);\n }\n if (DOMIterables[COLLECTION_NAME]) for (var METHOD_NAME in ArrayIteratorMethods) {\n // some Chrome versions have non-configurable methods on DOMTokenList\n if (CollectionPrototype[METHOD_NAME] !== ArrayIteratorMethods[METHOD_NAME]) try {\n createNonEnumerableProperty(CollectionPrototype, METHOD_NAME, ArrayIteratorMethods[METHOD_NAME]);\n } catch (error) {\n CollectionPrototype[METHOD_NAME] = ArrayIteratorMethods[METHOD_NAME];\n }\n }\n }\n};\n\nfor (var COLLECTION_NAME in DOMIterables) {\n handlePrototype(global[COLLECTION_NAME] && global[COLLECTION_NAME].prototype, COLLECTION_NAME);\n}\n\nhandlePrototype(DOMTokenListPrototype, 'DOMTokenList');\n","var global = require('../internals/global');\nvar DOMIterables = require('../internals/dom-iterables');\nvar DOMTokenListPrototype = require('../internals/dom-token-list-prototype');\nvar forEach = require('../internals/array-for-each');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\nvar handlePrototype = function (CollectionPrototype) {\n // some Chrome versions have non-configurable methods on DOMTokenList\n if (CollectionPrototype && CollectionPrototype.forEach !== forEach) try {\n createNonEnumerableProperty(CollectionPrototype, 'forEach', forEach);\n } catch (error) {\n CollectionPrototype.forEach = forEach;\n }\n};\n\nfor (var COLLECTION_NAME in DOMIterables) {\n if (DOMIterables[COLLECTION_NAME]) {\n handlePrototype(global[COLLECTION_NAME] && global[COLLECTION_NAME].prototype);\n }\n}\n\nhandlePrototype(DOMTokenListPrototype);\n","// `Symbol.prototype.description` getter\n// https://tc39.es/ecma262/#sec-symbol.prototype.description\n'use strict';\nvar $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar hasOwn = require('../internals/has-own-property');\nvar isCallable = require('../internals/is-callable');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar toString = require('../internals/to-string');\nvar defineProperty = require('../internals/object-define-property').f;\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\n\nvar NativeSymbol = global.Symbol;\nvar SymbolPrototype = NativeSymbol && NativeSymbol.prototype;\n\nif (DESCRIPTORS && isCallable(NativeSymbol) && (!('description' in SymbolPrototype) ||\n // Safari 12 bug\n NativeSymbol().description !== undefined\n)) {\n var EmptyStringDescriptionStore = {};\n // wrap Symbol constructor for correct work with undefined description\n var SymbolWrapper = function Symbol() {\n var description = arguments.length < 1 || arguments[0] === undefined ? undefined : toString(arguments[0]);\n var result = isPrototypeOf(SymbolPrototype, this)\n ? new NativeSymbol(description)\n // in Edge 13, String(Symbol(undefined)) === 'Symbol(undefined)'\n : description === undefined ? NativeSymbol() : NativeSymbol(description);\n if (description === '') EmptyStringDescriptionStore[result] = true;\n return result;\n };\n\n copyConstructorProperties(SymbolWrapper, NativeSymbol);\n SymbolWrapper.prototype = SymbolPrototype;\n SymbolPrototype.constructor = SymbolWrapper;\n\n var NATIVE_SYMBOL = String(NativeSymbol('test')) == 'Symbol(test)';\n var symbolToString = uncurryThis(SymbolPrototype.toString);\n var symbolValueOf = uncurryThis(SymbolPrototype.valueOf);\n var regexp = /^Symbol\\((.*)\\)[^)]+$/;\n var replace = uncurryThis(''.replace);\n var stringSlice = uncurryThis(''.slice);\n\n defineProperty(SymbolPrototype, 'description', {\n configurable: true,\n get: function description() {\n var symbol = symbolValueOf(this);\n var string = symbolToString(symbol);\n if (hasOwn(EmptyStringDescriptionStore, symbol)) return '';\n var desc = NATIVE_SYMBOL ? stringSlice(string, 7, -1) : replace(string, regexp, '$1');\n return desc === '' ? undefined : desc;\n }\n });\n\n $({ global: true, forced: true }, {\n Symbol: SymbolWrapper\n });\n}\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.iterator` well-known symbol\n// https://tc39.es/ecma262/#sec-symbol.iterator\ndefineWellKnownSymbol('iterator');\n","var global = require('../internals/global');\nvar shared = require('../internals/shared');\nvar hasOwn = require('../internals/has-own-property');\nvar uid = require('../internals/uid');\nvar NATIVE_SYMBOL = require('../internals/native-symbol');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar WellKnownSymbolsStore = shared('wks');\nvar Symbol = global.Symbol;\nvar symbolFor = Symbol && Symbol['for'];\nvar createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol : Symbol && Symbol.withoutSetter || uid;\n\nmodule.exports = function (name) {\n if (!hasOwn(WellKnownSymbolsStore, name) || !(NATIVE_SYMBOL || typeof WellKnownSymbolsStore[name] == 'string')) {\n var description = 'Symbol.' + name;\n if (NATIVE_SYMBOL && hasOwn(Symbol, name)) {\n WellKnownSymbolsStore[name] = Symbol[name];\n } else if (USE_SYMBOL_AS_UID && symbolFor) {\n WellKnownSymbolsStore[name] = symbolFor(description);\n } else {\n WellKnownSymbolsStore[name] = createWellKnownSymbol(description);\n }\n } return WellKnownSymbolsStore[name];\n};\n","var $ = require('../internals/export');\nvar toObject = require('../internals/to-object');\nvar nativeKeys = require('../internals/object-keys');\nvar fails = require('../internals/fails');\n\nvar FAILS_ON_PRIMITIVES = fails(function () { nativeKeys(1); });\n\n// `Object.keys` method\n// https://tc39.es/ecma262/#sec-object.keys\n$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES }, {\n keys: function keys(it) {\n return nativeKeys(toObject(it));\n }\n});\n","// `IsCallable` abstract operation\n// https://tc39.es/ecma262/#sec-iscallable\nmodule.exports = function (argument) {\n return typeof argument == 'function';\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar $filter = require('../internals/array-iteration').filter;\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('filter');\n\n// `Array.prototype.filter` method\n// https://tc39.es/ecma262/#sec-array.prototype.filter\n// with adding support of @@species\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, {\n filter: function filter(callbackfn /* , thisArg */) {\n return $filter(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar exec = require('../internals/regexp-exec');\n\n// `RegExp.prototype.exec` method\n// https://tc39.es/ecma262/#sec-regexp.prototype.exec\n$({ target: 'RegExp', proto: true, forced: /./.exec !== exec }, {\n exec: exec\n});\n","var fails = require('../internals/fails');\n\n// Detect IE8's incomplete defineProperty implementation\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] != 7;\n});\n","var global = require('../internals/global');\nvar isObject = require('../internals/is-object');\n\nvar String = global.String;\nvar TypeError = global.TypeError;\n\n// `Assert: Type(argument) is Object`\nmodule.exports = function (argument) {\n if (isObject(argument)) return argument;\n throw TypeError(String(argument) + ' is not an object');\n};\n","var isCallable = require('../internals/is-callable');\n\nmodule.exports = function (it) {\n return typeof it == 'object' ? it !== null : isCallable(it);\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar toObject = require('../internals/to-object');\n\nvar hasOwnProperty = uncurryThis({}.hasOwnProperty);\n\n// `HasOwnProperty` abstract operation\n// https://tc39.es/ecma262/#sec-hasownproperty\nmodule.exports = Object.hasOwn || function hasOwn(it, key) {\n return hasOwnProperty(toObject(it), key);\n};\n","var NATIVE_BIND = require('../internals/function-bind-native');\n\nvar call = Function.prototype.call;\n\nmodule.exports = NATIVE_BIND ? call.bind(call) : function () {\n return call.apply(call, arguments);\n};\n","var global = require('../internals/global');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\nvar V8_PROTOTYPE_DEFINE_BUG = require('../internals/v8-prototype-define-bug');\nvar anObject = require('../internals/an-object');\nvar toPropertyKey = require('../internals/to-property-key');\n\nvar TypeError = global.TypeError;\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar $defineProperty = Object.defineProperty;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar ENUMERABLE = 'enumerable';\nvar CONFIGURABLE = 'configurable';\nvar WRITABLE = 'writable';\n\n// `Object.defineProperty` method\n// https://tc39.es/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? V8_PROTOTYPE_DEFINE_BUG ? function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (typeof O === 'function' && P === 'prototype' && 'value' in Attributes && WRITABLE in Attributes && !Attributes[WRITABLE]) {\n var current = $getOwnPropertyDescriptor(O, P);\n if (current && current[WRITABLE]) {\n O[P] = Attributes.value;\n Attributes = {\n configurable: CONFIGURABLE in Attributes ? Attributes[CONFIGURABLE] : current[CONFIGURABLE],\n enumerable: ENUMERABLE in Attributes ? Attributes[ENUMERABLE] : current[ENUMERABLE],\n writable: false\n };\n }\n } return $defineProperty(O, P, Attributes);\n} : $defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return $defineProperty(O, P, Attributes);\n } catch (error) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","var global = require('../internals/global');\nvar classof = require('../internals/classof');\n\nvar String = global.String;\n\nmodule.exports = function (argument) {\n if (classof(argument) === 'Symbol') throw TypeError('Cannot convert a Symbol value to a string');\n return String(argument);\n};\n","var $ = require('../internals/export');\nvar fails = require('../internals/fails');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar nativeGetOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar DESCRIPTORS = require('../internals/descriptors');\n\nvar FAILS_ON_PRIMITIVES = fails(function () { nativeGetOwnPropertyDescriptor(1); });\nvar FORCED = !DESCRIPTORS || FAILS_ON_PRIMITIVES;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor\n$({ target: 'Object', stat: true, forced: FORCED, sham: !DESCRIPTORS }, {\n getOwnPropertyDescriptor: function getOwnPropertyDescriptor(it, key) {\n return nativeGetOwnPropertyDescriptor(toIndexedObject(it), key);\n }\n});\n","var $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar ownKeys = require('../internals/own-keys');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar createProperty = require('../internals/create-property');\n\n// `Object.getOwnPropertyDescriptors` method\n// https://tc39.es/ecma262/#sec-object.getownpropertydescriptors\n$({ target: 'Object', stat: true, sham: !DESCRIPTORS }, {\n getOwnPropertyDescriptors: function getOwnPropertyDescriptors(object) {\n var O = toIndexedObject(object);\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n var keys = ownKeys(O);\n var result = {};\n var index = 0;\n var key, descriptor;\n while (keys.length > index) {\n descriptor = getOwnPropertyDescriptor(O, key = keys[index++]);\n if (descriptor !== undefined) createProperty(result, key, descriptor);\n }\n return result;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar fails = require('../internals/fails');\nvar isArray = require('../internals/is-array');\nvar isObject = require('../internals/is-object');\nvar toObject = require('../internals/to-object');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar createProperty = require('../internals/create-property');\nvar arraySpeciesCreate = require('../internals/array-species-create');\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar V8_VERSION = require('../internals/engine-v8-version');\n\nvar IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable');\nvar MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;\nvar MAXIMUM_ALLOWED_INDEX_EXCEEDED = 'Maximum allowed index exceeded';\nvar TypeError = global.TypeError;\n\n// We can't use this feature detection in V8 since it causes\n// deoptimization and serious performance degradation\n// https://github.com/zloirock/core-js/issues/679\nvar IS_CONCAT_SPREADABLE_SUPPORT = V8_VERSION >= 51 || !fails(function () {\n var array = [];\n array[IS_CONCAT_SPREADABLE] = false;\n return array.concat()[0] !== array;\n});\n\nvar SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('concat');\n\nvar isConcatSpreadable = function (O) {\n if (!isObject(O)) return false;\n var spreadable = O[IS_CONCAT_SPREADABLE];\n return spreadable !== undefined ? !!spreadable : isArray(O);\n};\n\nvar FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !SPECIES_SUPPORT;\n\n// `Array.prototype.concat` method\n// https://tc39.es/ecma262/#sec-array.prototype.concat\n// with adding support of @@isConcatSpreadable and @@species\n$({ target: 'Array', proto: true, forced: FORCED }, {\n // eslint-disable-next-line no-unused-vars -- required for `.length`\n concat: function concat(arg) {\n var O = toObject(this);\n var A = arraySpeciesCreate(O, 0);\n var n = 0;\n var i, k, length, len, E;\n for (i = -1, length = arguments.length; i < length; i++) {\n E = i === -1 ? O : arguments[i];\n if (isConcatSpreadable(E)) {\n len = lengthOfArrayLike(E);\n if (n + len > MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);\n for (k = 0; k < len; k++, n++) if (k in E) createProperty(A, n, E[k]);\n } else {\n if (n >= MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);\n createProperty(A, n++, E);\n }\n }\n A.length = n;\n return A;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar isArray = require('../internals/is-array');\nvar isConstructor = require('../internals/is-constructor');\nvar isObject = require('../internals/is-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar createProperty = require('../internals/create-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\nvar un$Slice = require('../internals/array-slice');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('slice');\n\nvar SPECIES = wellKnownSymbol('species');\nvar Array = global.Array;\nvar max = Math.max;\n\n// `Array.prototype.slice` method\n// https://tc39.es/ecma262/#sec-array.prototype.slice\n// fallback for not array-like ES3 strings and DOM objects\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, {\n slice: function slice(start, end) {\n var O = toIndexedObject(this);\n var length = lengthOfArrayLike(O);\n var k = toAbsoluteIndex(start, length);\n var fin = toAbsoluteIndex(end === undefined ? length : end, length);\n // inline `ArraySpeciesCreate` for usage native `Array#slice` where it's possible\n var Constructor, result, n;\n if (isArray(O)) {\n Constructor = O.constructor;\n // cross-realm fallback\n if (isConstructor(Constructor) && (Constructor === Array || isArray(Constructor.prototype))) {\n Constructor = undefined;\n } else if (isObject(Constructor)) {\n Constructor = Constructor[SPECIES];\n if (Constructor === null) Constructor = undefined;\n }\n if (Constructor === Array || Constructor === undefined) {\n return un$Slice(O, k, fin);\n }\n }\n result = new (Constructor === undefined ? Array : Constructor)(max(fin - k, 0));\n for (n = 0; k < fin; k++, n++) if (k in O) createProperty(result, n, O[k]);\n result.length = n;\n return result;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar $find = require('../internals/array-iteration').find;\nvar addToUnscopables = require('../internals/add-to-unscopables');\n\nvar FIND = 'find';\nvar SKIPS_HOLES = true;\n\n// Shouldn't skip holes\nif (FIND in []) Array(1)[FIND](function () { SKIPS_HOLES = false; });\n\n// `Array.prototype.find` method\n// https://tc39.es/ecma262/#sec-array.prototype.find\n$({ target: 'Array', proto: true, forced: SKIPS_HOLES }, {\n find: function find(callbackfn /* , that = undefined */) {\n return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables(FIND);\n","var $ = require('../internals/export');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\n\n// `Object.setPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.setprototypeof\n$({ target: 'Object', stat: true }, {\n setPrototypeOf: setPrototypeOf\n});\n","// toObject with fallback for non-array-like ES3 strings\nvar IndexedObject = require('../internals/indexed-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nmodule.exports = function (it) {\n return IndexedObject(requireObjectCoercible(it));\n};\n","var $ = require('../internals/export');\nvar fails = require('../internals/fails');\nvar toObject = require('../internals/to-object');\nvar nativeGetPrototypeOf = require('../internals/object-get-prototype-of');\nvar CORRECT_PROTOTYPE_GETTER = require('../internals/correct-prototype-getter');\n\nvar FAILS_ON_PRIMITIVES = fails(function () { nativeGetPrototypeOf(1); });\n\n// `Object.getPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.getprototypeof\n$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES, sham: !CORRECT_PROTOTYPE_GETTER }, {\n getPrototypeOf: function getPrototypeOf(it) {\n return nativeGetPrototypeOf(toObject(it));\n }\n});\n\n","var $ = require('../internals/export');\nvar getBuiltIn = require('../internals/get-built-in');\nvar apply = require('../internals/function-apply');\nvar bind = require('../internals/function-bind');\nvar aConstructor = require('../internals/a-constructor');\nvar anObject = require('../internals/an-object');\nvar isObject = require('../internals/is-object');\nvar create = require('../internals/object-create');\nvar fails = require('../internals/fails');\n\nvar nativeConstruct = getBuiltIn('Reflect', 'construct');\nvar ObjectPrototype = Object.prototype;\nvar push = [].push;\n\n// `Reflect.construct` method\n// https://tc39.es/ecma262/#sec-reflect.construct\n// MS Edge supports only 2 arguments and argumentsList argument is optional\n// FF Nightly sets third argument as `new.target`, but does not create `this` from it\nvar NEW_TARGET_BUG = fails(function () {\n function F() { /* empty */ }\n return !(nativeConstruct(function () { /* empty */ }, [], F) instanceof F);\n});\n\nvar ARGS_BUG = !fails(function () {\n nativeConstruct(function () { /* empty */ });\n});\n\nvar FORCED = NEW_TARGET_BUG || ARGS_BUG;\n\n$({ target: 'Reflect', stat: true, forced: FORCED, sham: FORCED }, {\n construct: function construct(Target, args /* , newTarget */) {\n aConstructor(Target);\n anObject(args);\n var newTarget = arguments.length < 3 ? Target : aConstructor(arguments[2]);\n if (ARGS_BUG && !NEW_TARGET_BUG) return nativeConstruct(Target, args, newTarget);\n if (Target == newTarget) {\n // w/o altered newTarget, optimization for 0-4 arguments\n switch (args.length) {\n case 0: return new Target();\n case 1: return new Target(args[0]);\n case 2: return new Target(args[0], args[1]);\n case 3: return new Target(args[0], args[1], args[2]);\n case 4: return new Target(args[0], args[1], args[2], args[3]);\n }\n // w/o altered newTarget, lot of arguments case\n var $args = [null];\n apply(push, $args, args);\n return new (apply(bind, Target, $args))();\n }\n // with altered newTarget, not support built-in constructors\n var proto = newTarget.prototype;\n var instance = create(isObject(proto) ? proto : ObjectPrototype);\n var result = apply(Target, instance, args);\n return isObject(result) ? result : instance;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar $includes = require('../internals/array-includes').includes;\nvar addToUnscopables = require('../internals/add-to-unscopables');\n\n// `Array.prototype.includes` method\n// https://tc39.es/ecma262/#sec-array.prototype.includes\n$({ target: 'Array', proto: true }, {\n includes: function includes(el /* , fromIndex = 0 */) {\n return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('includes');\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar isForced = require('../internals/is-forced');\nvar redefine = require('../internals/redefine');\nvar hasOwn = require('../internals/has-own-property');\nvar inheritIfRequired = require('../internals/inherit-if-required');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar isSymbol = require('../internals/is-symbol');\nvar toPrimitive = require('../internals/to-primitive');\nvar fails = require('../internals/fails');\nvar getOwnPropertyNames = require('../internals/object-get-own-property-names').f;\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar defineProperty = require('../internals/object-define-property').f;\nvar thisNumberValue = require('../internals/this-number-value');\nvar trim = require('../internals/string-trim').trim;\n\nvar NUMBER = 'Number';\nvar NativeNumber = global[NUMBER];\nvar NumberPrototype = NativeNumber.prototype;\nvar TypeError = global.TypeError;\nvar arraySlice = uncurryThis(''.slice);\nvar charCodeAt = uncurryThis(''.charCodeAt);\n\n// `ToNumeric` abstract operation\n// https://tc39.es/ecma262/#sec-tonumeric\nvar toNumeric = function (value) {\n var primValue = toPrimitive(value, 'number');\n return typeof primValue == 'bigint' ? primValue : toNumber(primValue);\n};\n\n// `ToNumber` abstract operation\n// https://tc39.es/ecma262/#sec-tonumber\nvar toNumber = function (argument) {\n var it = toPrimitive(argument, 'number');\n var first, third, radix, maxCode, digits, length, index, code;\n if (isSymbol(it)) throw TypeError('Cannot convert a Symbol value to a number');\n if (typeof it == 'string' && it.length > 2) {\n it = trim(it);\n first = charCodeAt(it, 0);\n if (first === 43 || first === 45) {\n third = charCodeAt(it, 2);\n if (third === 88 || third === 120) return NaN; // Number('+0x1') should be NaN, old V8 fix\n } else if (first === 48) {\n switch (charCodeAt(it, 1)) {\n case 66: case 98: radix = 2; maxCode = 49; break; // fast equal of /^0b[01]+$/i\n case 79: case 111: radix = 8; maxCode = 55; break; // fast equal of /^0o[0-7]+$/i\n default: return +it;\n }\n digits = arraySlice(it, 2);\n length = digits.length;\n for (index = 0; index < length; index++) {\n code = charCodeAt(digits, index);\n // parseInt parses a string to a first unavailable symbol\n // but ToNumber should return NaN if a string contains unavailable symbols\n if (code < 48 || code > maxCode) return NaN;\n } return parseInt(digits, radix);\n }\n } return +it;\n};\n\n// `Number` constructor\n// https://tc39.es/ecma262/#sec-number-constructor\nif (isForced(NUMBER, !NativeNumber(' 0o1') || !NativeNumber('0b1') || NativeNumber('+0x1'))) {\n var NumberWrapper = function Number(value) {\n var n = arguments.length < 1 ? 0 : NativeNumber(toNumeric(value));\n var dummy = this;\n // check on 1..constructor(foo) case\n return isPrototypeOf(NumberPrototype, dummy) && fails(function () { thisNumberValue(dummy); })\n ? inheritIfRequired(Object(n), dummy, NumberWrapper) : n;\n };\n for (var keys = DESCRIPTORS ? getOwnPropertyNames(NativeNumber) : (\n // ES3:\n 'MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,' +\n // ES2015 (in case, if modules with ES2015 Number statics required before):\n 'EPSILON,MAX_SAFE_INTEGER,MIN_SAFE_INTEGER,isFinite,isInteger,isNaN,isSafeInteger,parseFloat,parseInt,' +\n // ESNext\n 'fromString,range'\n ).split(','), j = 0, key; keys.length > j; j++) {\n if (hasOwn(NativeNumber, key = keys[j]) && !hasOwn(NumberWrapper, key)) {\n defineProperty(NumberWrapper, key, getOwnPropertyDescriptor(NativeNumber, key));\n }\n }\n NumberWrapper.prototype = NumberPrototype;\n NumberPrototype.constructor = NumberWrapper;\n redefine(global, NUMBER, NumberWrapper);\n}\n","var $ = require('../internals/export');\nvar from = require('../internals/array-from');\nvar checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration');\n\nvar INCORRECT_ITERATION = !checkCorrectnessOfIteration(function (iterable) {\n // eslint-disable-next-line es/no-array-from -- required for testing\n Array.from(iterable);\n});\n\n// `Array.from` method\n// https://tc39.es/ecma262/#sec-array.from\n$({ target: 'Array', stat: true, forced: INCORRECT_ITERATION }, {\n from: from\n});\n","var global = require('../internals/global');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar Object = global.Object;\n\n// `ToObject` abstract operation\n// https://tc39.es/ecma262/#sec-toobject\nmodule.exports = function (argument) {\n return Object(requireObjectCoercible(argument));\n};\n","var global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\nvar hasOwn = require('../internals/has-own-property');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar setGlobal = require('../internals/set-global');\nvar inspectSource = require('../internals/inspect-source');\nvar InternalStateModule = require('../internals/internal-state');\nvar CONFIGURABLE_FUNCTION_NAME = require('../internals/function-name').CONFIGURABLE;\n\nvar getInternalState = InternalStateModule.get;\nvar enforceInternalState = InternalStateModule.enforce;\nvar TEMPLATE = String(String).split('String');\n\n(module.exports = function (O, key, value, options) {\n var unsafe = options ? !!options.unsafe : false;\n var simple = options ? !!options.enumerable : false;\n var noTargetGet = options ? !!options.noTargetGet : false;\n var name = options && options.name !== undefined ? options.name : key;\n var state;\n if (isCallable(value)) {\n if (String(name).slice(0, 7) === 'Symbol(') {\n name = '[' + String(name).replace(/^Symbol\\(([^)]*)\\)/, '$1') + ']';\n }\n if (!hasOwn(value, 'name') || (CONFIGURABLE_FUNCTION_NAME && value.name !== name)) {\n createNonEnumerableProperty(value, 'name', name);\n }\n state = enforceInternalState(value);\n if (!state.source) {\n state.source = TEMPLATE.join(typeof name == 'string' ? name : '');\n }\n }\n if (O === global) {\n if (simple) O[key] = value;\n else setGlobal(key, value);\n return;\n } else if (!unsafe) {\n delete O[key];\n } else if (!noTargetGet && O[key]) {\n simple = true;\n }\n if (simple) O[key] = value;\n else createNonEnumerableProperty(O, key, value);\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n})(Function.prototype, 'toString', function toString() {\n return isCallable(this) && getInternalState(this).source || inspectSource(this);\n});\n","'use strict';\nvar apply = require('../internals/function-apply');\nvar call = require('../internals/function-call');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic');\nvar isRegExp = require('../internals/is-regexp');\nvar anObject = require('../internals/an-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar speciesConstructor = require('../internals/species-constructor');\nvar advanceStringIndex = require('../internals/advance-string-index');\nvar toLength = require('../internals/to-length');\nvar toString = require('../internals/to-string');\nvar getMethod = require('../internals/get-method');\nvar arraySlice = require('../internals/array-slice-simple');\nvar callRegExpExec = require('../internals/regexp-exec-abstract');\nvar regexpExec = require('../internals/regexp-exec');\nvar stickyHelpers = require('../internals/regexp-sticky-helpers');\nvar fails = require('../internals/fails');\n\nvar UNSUPPORTED_Y = stickyHelpers.UNSUPPORTED_Y;\nvar MAX_UINT32 = 0xFFFFFFFF;\nvar min = Math.min;\nvar $push = [].push;\nvar exec = uncurryThis(/./.exec);\nvar push = uncurryThis($push);\nvar stringSlice = uncurryThis(''.slice);\n\n// Chrome 51 has a buggy \"split\" implementation when RegExp#exec !== nativeExec\n// Weex JS has frozen built-in prototypes, so use try / catch wrapper\nvar SPLIT_WORKS_WITH_OVERWRITTEN_EXEC = !fails(function () {\n // eslint-disable-next-line regexp/no-empty-group -- required for testing\n var re = /(?:)/;\n var originalExec = re.exec;\n re.exec = function () { return originalExec.apply(this, arguments); };\n var result = 'ab'.split(re);\n return result.length !== 2 || result[0] !== 'a' || result[1] !== 'b';\n});\n\n// @@split logic\nfixRegExpWellKnownSymbolLogic('split', function (SPLIT, nativeSplit, maybeCallNative) {\n var internalSplit;\n if (\n 'abbc'.split(/(b)*/)[1] == 'c' ||\n // eslint-disable-next-line regexp/no-empty-group -- required for testing\n 'test'.split(/(?:)/, -1).length != 4 ||\n 'ab'.split(/(?:ab)*/).length != 2 ||\n '.'.split(/(.?)(.?)/).length != 4 ||\n // eslint-disable-next-line regexp/no-empty-capturing-group, regexp/no-empty-group -- required for testing\n '.'.split(/()()/).length > 1 ||\n ''.split(/.?/).length\n ) {\n // based on es5-shim implementation, need to rework it\n internalSplit = function (separator, limit) {\n var string = toString(requireObjectCoercible(this));\n var lim = limit === undefined ? MAX_UINT32 : limit >>> 0;\n if (lim === 0) return [];\n if (separator === undefined) return [string];\n // If `separator` is not a regex, use native split\n if (!isRegExp(separator)) {\n return call(nativeSplit, string, separator, lim);\n }\n var output = [];\n var flags = (separator.ignoreCase ? 'i' : '') +\n (separator.multiline ? 'm' : '') +\n (separator.unicode ? 'u' : '') +\n (separator.sticky ? 'y' : '');\n var lastLastIndex = 0;\n // Make `global` and avoid `lastIndex` issues by working with a copy\n var separatorCopy = new RegExp(separator.source, flags + 'g');\n var match, lastIndex, lastLength;\n while (match = call(regexpExec, separatorCopy, string)) {\n lastIndex = separatorCopy.lastIndex;\n if (lastIndex > lastLastIndex) {\n push(output, stringSlice(string, lastLastIndex, match.index));\n if (match.length > 1 && match.index < string.length) apply($push, output, arraySlice(match, 1));\n lastLength = match[0].length;\n lastLastIndex = lastIndex;\n if (output.length >= lim) break;\n }\n if (separatorCopy.lastIndex === match.index) separatorCopy.lastIndex++; // Avoid an infinite loop\n }\n if (lastLastIndex === string.length) {\n if (lastLength || !exec(separatorCopy, '')) push(output, '');\n } else push(output, stringSlice(string, lastLastIndex));\n return output.length > lim ? arraySlice(output, 0, lim) : output;\n };\n // Chakra, V8\n } else if ('0'.split(undefined, 0).length) {\n internalSplit = function (separator, limit) {\n return separator === undefined && limit === 0 ? [] : call(nativeSplit, this, separator, limit);\n };\n } else internalSplit = nativeSplit;\n\n return [\n // `String.prototype.split` method\n // https://tc39.es/ecma262/#sec-string.prototype.split\n function split(separator, limit) {\n var O = requireObjectCoercible(this);\n var splitter = separator == undefined ? undefined : getMethod(separator, SPLIT);\n return splitter\n ? call(splitter, separator, O, limit)\n : call(internalSplit, toString(O), separator, limit);\n },\n // `RegExp.prototype[@@split]` method\n // https://tc39.es/ecma262/#sec-regexp.prototype-@@split\n //\n // NOTE: This cannot be properly polyfilled in engines that don't support\n // the 'y' flag.\n function (string, limit) {\n var rx = anObject(this);\n var S = toString(string);\n var res = maybeCallNative(internalSplit, rx, S, limit, internalSplit !== nativeSplit);\n\n if (res.done) return res.value;\n\n var C = speciesConstructor(rx, RegExp);\n\n var unicodeMatching = rx.unicode;\n var flags = (rx.ignoreCase ? 'i' : '') +\n (rx.multiline ? 'm' : '') +\n (rx.unicode ? 'u' : '') +\n (UNSUPPORTED_Y ? 'g' : 'y');\n\n // ^(? + rx + ) is needed, in combination with some S slicing, to\n // simulate the 'y' flag.\n var splitter = new C(UNSUPPORTED_Y ? '^(?:' + rx.source + ')' : rx, flags);\n var lim = limit === undefined ? MAX_UINT32 : limit >>> 0;\n if (lim === 0) return [];\n if (S.length === 0) return callRegExpExec(splitter, S) === null ? [S] : [];\n var p = 0;\n var q = 0;\n var A = [];\n while (q < S.length) {\n splitter.lastIndex = UNSUPPORTED_Y ? 0 : q;\n var z = callRegExpExec(splitter, UNSUPPORTED_Y ? stringSlice(S, q) : S);\n var e;\n if (\n z === null ||\n (e = min(toLength(splitter.lastIndex + (UNSUPPORTED_Y ? q : 0)), S.length)) === p\n ) {\n q = advanceStringIndex(S, q, unicodeMatching);\n } else {\n push(A, stringSlice(S, p, q));\n if (A.length === lim) return A;\n for (var i = 1; i <= z.length - 1; i++) {\n push(A, z[i]);\n if (A.length === lim) return A;\n }\n q = p = e;\n }\n }\n push(A, stringSlice(S, p));\n return A;\n }\n ];\n}, !SPLIT_WORKS_WITH_OVERWRITTEN_EXEC, UNSUPPORTED_Y);\n","var global = require('../internals/global');\n\nvar TypeError = global.TypeError;\n\n// `RequireObjectCoercible` abstract operation\n// https://tc39.es/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar PROPER_FUNCTION_NAME = require('../internals/function-name').PROPER;\nvar redefine = require('../internals/redefine');\nvar anObject = require('../internals/an-object');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar $toString = require('../internals/to-string');\nvar fails = require('../internals/fails');\nvar regExpFlags = require('../internals/regexp-flags');\n\nvar TO_STRING = 'toString';\nvar RegExpPrototype = RegExp.prototype;\nvar n$ToString = RegExpPrototype[TO_STRING];\nvar getFlags = uncurryThis(regExpFlags);\n\nvar NOT_GENERIC = fails(function () { return n$ToString.call({ source: 'a', flags: 'b' }) != '/a/b'; });\n// FF44- RegExp#toString has a wrong name\nvar INCORRECT_NAME = PROPER_FUNCTION_NAME && n$ToString.name != TO_STRING;\n\n// `RegExp.prototype.toString` method\n// https://tc39.es/ecma262/#sec-regexp.prototype.tostring\nif (NOT_GENERIC || INCORRECT_NAME) {\n redefine(RegExp.prototype, TO_STRING, function toString() {\n var R = anObject(this);\n var p = $toString(R.source);\n var rf = R.flags;\n var f = $toString(rf === undefined && isPrototypeOf(RegExpPrototype, R) && !('flags' in RegExpPrototype) ? getFlags(R) : rf);\n return '/' + p + '/' + f;\n }, { unsafe: true });\n}\n","var DESCRIPTORS = require('../internals/descriptors');\nvar FUNCTION_NAME_EXISTS = require('../internals/function-name').EXISTS;\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar defineProperty = require('../internals/object-define-property').f;\n\nvar FunctionPrototype = Function.prototype;\nvar functionToString = uncurryThis(FunctionPrototype.toString);\nvar nameRE = /function\\b(?:\\s|\\/\\*[\\S\\s]*?\\*\\/|\\/\\/[^\\n\\r]*[\\n\\r]+)*([^\\s(/]*)/;\nvar regExpExec = uncurryThis(nameRE.exec);\nvar NAME = 'name';\n\n// Function instances `.name` property\n// https://tc39.es/ecma262/#sec-function-instances-name\nif (DESCRIPTORS && !FUNCTION_NAME_EXISTS) {\n defineProperty(FunctionPrototype, NAME, {\n configurable: true,\n get: function () {\n try {\n return regExpExec(nameRE, functionToString(this))[1];\n } catch (error) {\n return '';\n }\n }\n });\n}\n","var DESCRIPTORS = require('../internals/descriptors');\nvar call = require('../internals/function-call');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPropertyKey = require('../internals/to-property-key');\nvar hasOwn = require('../internals/has-own-property');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\n\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor\nexports.f = DESCRIPTORS ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject(O);\n P = toPropertyKey(P);\n if (IE8_DOM_DEFINE) try {\n return $getOwnPropertyDescriptor(O, P);\n } catch (error) { /* empty */ }\n if (hasOwn(O, P)) return createPropertyDescriptor(!call(propertyIsEnumerableModule.f, O, P), O[P]);\n};\n","var global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\n\nvar aFunction = function (argument) {\n return isCallable(argument) ? argument : undefined;\n};\n\nmodule.exports = function (namespace, method) {\n return arguments.length < 2 ? aFunction(global[namespace]) : global[namespace] && global[namespace][method];\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = uncurryThis({}.isPrototypeOf);\n","var DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\n return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","var toLength = require('../internals/to-length');\n\n// `LengthOfArrayLike` abstract operation\n// https://tc39.es/ecma262/#sec-lengthofarraylike\nmodule.exports = function (obj) {\n return toLength(obj.length);\n};\n","'use strict';\nvar apply = require('../internals/function-apply');\nvar call = require('../internals/function-call');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic');\nvar fails = require('../internals/fails');\nvar anObject = require('../internals/an-object');\nvar isCallable = require('../internals/is-callable');\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\nvar toLength = require('../internals/to-length');\nvar toString = require('../internals/to-string');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar advanceStringIndex = require('../internals/advance-string-index');\nvar getMethod = require('../internals/get-method');\nvar getSubstitution = require('../internals/get-substitution');\nvar regExpExec = require('../internals/regexp-exec-abstract');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar REPLACE = wellKnownSymbol('replace');\nvar max = Math.max;\nvar min = Math.min;\nvar concat = uncurryThis([].concat);\nvar push = uncurryThis([].push);\nvar stringIndexOf = uncurryThis(''.indexOf);\nvar stringSlice = uncurryThis(''.slice);\n\nvar maybeToString = function (it) {\n return it === undefined ? it : String(it);\n};\n\n// IE <= 11 replaces $0 with the whole match, as if it was $&\n// https://stackoverflow.com/questions/6024666/getting-ie-to-replace-a-regex-with-the-literal-string-0\nvar REPLACE_KEEPS_$0 = (function () {\n // eslint-disable-next-line regexp/prefer-escape-replacement-dollar-char -- required for testing\n return 'a'.replace(/./, '$0') === '$0';\n})();\n\n// Safari <= 13.0.3(?) substitutes nth capture where n>m with an empty string\nvar REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE = (function () {\n if (/./[REPLACE]) {\n return /./[REPLACE]('a', '$0') === '';\n }\n return false;\n})();\n\nvar REPLACE_SUPPORTS_NAMED_GROUPS = !fails(function () {\n var re = /./;\n re.exec = function () {\n var result = [];\n result.groups = { a: '7' };\n return result;\n };\n // eslint-disable-next-line regexp/no-useless-dollar-replacements -- false positive\n return ''.replace(re, '$') !== '7';\n});\n\n// @@replace logic\nfixRegExpWellKnownSymbolLogic('replace', function (_, nativeReplace, maybeCallNative) {\n var UNSAFE_SUBSTITUTE = REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE ? '$' : '$0';\n\n return [\n // `String.prototype.replace` method\n // https://tc39.es/ecma262/#sec-string.prototype.replace\n function replace(searchValue, replaceValue) {\n var O = requireObjectCoercible(this);\n var replacer = searchValue == undefined ? undefined : getMethod(searchValue, REPLACE);\n return replacer\n ? call(replacer, searchValue, O, replaceValue)\n : call(nativeReplace, toString(O), searchValue, replaceValue);\n },\n // `RegExp.prototype[@@replace]` method\n // https://tc39.es/ecma262/#sec-regexp.prototype-@@replace\n function (string, replaceValue) {\n var rx = anObject(this);\n var S = toString(string);\n\n if (\n typeof replaceValue == 'string' &&\n stringIndexOf(replaceValue, UNSAFE_SUBSTITUTE) === -1 &&\n stringIndexOf(replaceValue, '$<') === -1\n ) {\n var res = maybeCallNative(nativeReplace, rx, S, replaceValue);\n if (res.done) return res.value;\n }\n\n var functionalReplace = isCallable(replaceValue);\n if (!functionalReplace) replaceValue = toString(replaceValue);\n\n var global = rx.global;\n if (global) {\n var fullUnicode = rx.unicode;\n rx.lastIndex = 0;\n }\n var results = [];\n while (true) {\n var result = regExpExec(rx, S);\n if (result === null) break;\n\n push(results, result);\n if (!global) break;\n\n var matchStr = toString(result[0]);\n if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);\n }\n\n var accumulatedResult = '';\n var nextSourcePosition = 0;\n for (var i = 0; i < results.length; i++) {\n result = results[i];\n\n var matched = toString(result[0]);\n var position = max(min(toIntegerOrInfinity(result.index), S.length), 0);\n var captures = [];\n // NOTE: This is equivalent to\n // captures = result.slice(1).map(maybeToString)\n // but for some reason `nativeSlice.call(result, 1, result.length)` (called in\n // the slice polyfill when slicing native arrays) \"doesn't work\" in safari 9 and\n // causes a crash (https://pastebin.com/N21QzeQA) when trying to debug it.\n for (var j = 1; j < result.length; j++) push(captures, maybeToString(result[j]));\n var namedCaptures = result.groups;\n if (functionalReplace) {\n var replacerArgs = concat([matched], captures, position, S);\n if (namedCaptures !== undefined) push(replacerArgs, namedCaptures);\n var replacement = toString(apply(replaceValue, undefined, replacerArgs));\n } else {\n replacement = getSubstitution(matched, S, position, captures, namedCaptures, replaceValue);\n }\n if (position >= nextSourcePosition) {\n accumulatedResult += stringSlice(S, nextSourcePosition, position) + replacement;\n nextSourcePosition = position + matched.length;\n }\n }\n return accumulatedResult + stringSlice(S, nextSourcePosition);\n }\n ];\n}, !REPLACE_SUPPORTS_NAMED_GROUPS || !REPLACE_KEEPS_$0 || REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE);\n","var uncurryThis = require('../internals/function-uncurry-this');\n\nvar toString = uncurryThis({}.toString);\nvar stringSlice = uncurryThis(''.slice);\n\nmodule.exports = function (it) {\n return stringSlice(toString(it), 8, -1);\n};\n","var NATIVE_WEAK_MAP = require('../internals/native-weak-map');\nvar global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar isObject = require('../internals/is-object');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar hasOwn = require('../internals/has-own-property');\nvar shared = require('../internals/shared-store');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar OBJECT_ALREADY_INITIALIZED = 'Object already initialized';\nvar TypeError = global.TypeError;\nvar WeakMap = global.WeakMap;\nvar set, get, has;\n\nvar enforce = function (it) {\n return has(it) ? get(it) : set(it, {});\n};\n\nvar getterFor = function (TYPE) {\n return function (it) {\n var state;\n if (!isObject(it) || (state = get(it)).type !== TYPE) {\n throw TypeError('Incompatible receiver, ' + TYPE + ' required');\n } return state;\n };\n};\n\nif (NATIVE_WEAK_MAP || shared.state) {\n var store = shared.state || (shared.state = new WeakMap());\n var wmget = uncurryThis(store.get);\n var wmhas = uncurryThis(store.has);\n var wmset = uncurryThis(store.set);\n set = function (it, metadata) {\n if (wmhas(store, it)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n wmset(store, it, metadata);\n return metadata;\n };\n get = function (it) {\n return wmget(store, it) || {};\n };\n has = function (it) {\n return wmhas(store, it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n set = function (it, metadata) {\n if (hasOwn(it, STATE)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n createNonEnumerableProperty(it, STATE, metadata);\n return metadata;\n };\n get = function (it) {\n return hasOwn(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return hasOwn(it, STATE);\n };\n}\n\nmodule.exports = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n","/* global ActiveXObject -- old IE, WSH */\nvar anObject = require('../internals/an-object');\nvar definePropertiesModule = require('../internals/object-define-properties');\nvar enumBugKeys = require('../internals/enum-bug-keys');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar html = require('../internals/html');\nvar documentCreateElement = require('../internals/document-create-element');\nvar sharedKey = require('../internals/shared-key');\n\nvar GT = '>';\nvar LT = '<';\nvar PROTOTYPE = 'prototype';\nvar SCRIPT = 'script';\nvar IE_PROTO = sharedKey('IE_PROTO');\n\nvar EmptyConstructor = function () { /* empty */ };\n\nvar scriptTag = function (content) {\n return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;\n};\n\n// Create object with fake `null` prototype: use ActiveX Object with cleared prototype\nvar NullProtoObjectViaActiveX = function (activeXDocument) {\n activeXDocument.write(scriptTag(''));\n activeXDocument.close();\n var temp = activeXDocument.parentWindow.Object;\n activeXDocument = null; // avoid memory leak\n return temp;\n};\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar NullProtoObjectViaIFrame = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = documentCreateElement('iframe');\n var JS = 'java' + SCRIPT + ':';\n var iframeDocument;\n iframe.style.display = 'none';\n html.appendChild(iframe);\n // https://github.com/zloirock/core-js/issues/475\n iframe.src = String(JS);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(scriptTag('document.F=Object'));\n iframeDocument.close();\n return iframeDocument.F;\n};\n\n// Check for document.domain and active x support\n// No need to use active x approach when document.domain is not set\n// see https://github.com/es-shims/es5-shim/issues/150\n// variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346\n// avoid IE GC bug\nvar activeXDocument;\nvar NullProtoObject = function () {\n try {\n activeXDocument = new ActiveXObject('htmlfile');\n } catch (error) { /* ignore */ }\n NullProtoObject = typeof document != 'undefined'\n ? document.domain && activeXDocument\n ? NullProtoObjectViaActiveX(activeXDocument) // old IE\n : NullProtoObjectViaIFrame()\n : NullProtoObjectViaActiveX(activeXDocument); // WSH\n var length = enumBugKeys.length;\n while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];\n return NullProtoObject();\n};\n\nhiddenKeys[IE_PROTO] = true;\n\n// `Object.create` method\n// https://tc39.es/ecma262/#sec-object.create\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n EmptyConstructor[PROTOTYPE] = anObject(O);\n result = new EmptyConstructor();\n EmptyConstructor[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = NullProtoObject();\n return Properties === undefined ? result : definePropertiesModule.f(result, Properties);\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar notARegExp = require('../internals/not-a-regexp');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar toString = require('../internals/to-string');\nvar correctIsRegExpLogic = require('../internals/correct-is-regexp-logic');\n\nvar stringIndexOf = uncurryThis(''.indexOf);\n\n// `String.prototype.includes` method\n// https://tc39.es/ecma262/#sec-string.prototype.includes\n$({ target: 'String', proto: true, forced: !correctIsRegExpLogic('includes') }, {\n includes: function includes(searchString /* , position = 0 */) {\n return !!~stringIndexOf(\n toString(requireObjectCoercible(this)),\n toString(notARegExp(searchString)),\n arguments.length > 1 ? arguments[1] : undefined\n );\n }\n});\n","var DESCRIPTORS = require('../internals/descriptors');\nvar global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar isForced = require('../internals/is-forced');\nvar inheritIfRequired = require('../internals/inherit-if-required');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar defineProperty = require('../internals/object-define-property').f;\nvar getOwnPropertyNames = require('../internals/object-get-own-property-names').f;\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar isRegExp = require('../internals/is-regexp');\nvar toString = require('../internals/to-string');\nvar regExpFlags = require('../internals/regexp-flags');\nvar stickyHelpers = require('../internals/regexp-sticky-helpers');\nvar redefine = require('../internals/redefine');\nvar fails = require('../internals/fails');\nvar hasOwn = require('../internals/has-own-property');\nvar enforceInternalState = require('../internals/internal-state').enforce;\nvar setSpecies = require('../internals/set-species');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar UNSUPPORTED_DOT_ALL = require('../internals/regexp-unsupported-dot-all');\nvar UNSUPPORTED_NCG = require('../internals/regexp-unsupported-ncg');\n\nvar MATCH = wellKnownSymbol('match');\nvar NativeRegExp = global.RegExp;\nvar RegExpPrototype = NativeRegExp.prototype;\nvar SyntaxError = global.SyntaxError;\nvar getFlags = uncurryThis(regExpFlags);\nvar exec = uncurryThis(RegExpPrototype.exec);\nvar charAt = uncurryThis(''.charAt);\nvar replace = uncurryThis(''.replace);\nvar stringIndexOf = uncurryThis(''.indexOf);\nvar stringSlice = uncurryThis(''.slice);\n// TODO: Use only propper RegExpIdentifierName\nvar IS_NCG = /^\\?<[^\\s\\d!#%&*+<=>@^][^\\s!#%&*+<=>@^]*>/;\nvar re1 = /a/g;\nvar re2 = /a/g;\n\n// \"new\" should create a new object, old webkit bug\nvar CORRECT_NEW = new NativeRegExp(re1) !== re1;\n\nvar MISSED_STICKY = stickyHelpers.MISSED_STICKY;\nvar UNSUPPORTED_Y = stickyHelpers.UNSUPPORTED_Y;\n\nvar BASE_FORCED = DESCRIPTORS &&\n (!CORRECT_NEW || MISSED_STICKY || UNSUPPORTED_DOT_ALL || UNSUPPORTED_NCG || fails(function () {\n re2[MATCH] = false;\n // RegExp constructor can alter flags and IsRegExp works correct with @@match\n return NativeRegExp(re1) != re1 || NativeRegExp(re2) == re2 || NativeRegExp(re1, 'i') != '/a/i';\n }));\n\nvar handleDotAll = function (string) {\n var length = string.length;\n var index = 0;\n var result = '';\n var brackets = false;\n var chr;\n for (; index <= length; index++) {\n chr = charAt(string, index);\n if (chr === '\\\\') {\n result += chr + charAt(string, ++index);\n continue;\n }\n if (!brackets && chr === '.') {\n result += '[\\\\s\\\\S]';\n } else {\n if (chr === '[') {\n brackets = true;\n } else if (chr === ']') {\n brackets = false;\n } result += chr;\n }\n } return result;\n};\n\nvar handleNCG = function (string) {\n var length = string.length;\n var index = 0;\n var result = '';\n var named = [];\n var names = {};\n var brackets = false;\n var ncg = false;\n var groupid = 0;\n var groupname = '';\n var chr;\n for (; index <= length; index++) {\n chr = charAt(string, index);\n if (chr === '\\\\') {\n chr = chr + charAt(string, ++index);\n } else if (chr === ']') {\n brackets = false;\n } else if (!brackets) switch (true) {\n case chr === '[':\n brackets = true;\n break;\n case chr === '(':\n if (exec(IS_NCG, stringSlice(string, index + 1))) {\n index += 2;\n ncg = true;\n }\n result += chr;\n groupid++;\n continue;\n case chr === '>' && ncg:\n if (groupname === '' || hasOwn(names, groupname)) {\n throw new SyntaxError('Invalid capture group name');\n }\n names[groupname] = true;\n named[named.length] = [groupname, groupid];\n ncg = false;\n groupname = '';\n continue;\n }\n if (ncg) groupname += chr;\n else result += chr;\n } return [result, named];\n};\n\n// `RegExp` constructor\n// https://tc39.es/ecma262/#sec-regexp-constructor\nif (isForced('RegExp', BASE_FORCED)) {\n var RegExpWrapper = function RegExp(pattern, flags) {\n var thisIsRegExp = isPrototypeOf(RegExpPrototype, this);\n var patternIsRegExp = isRegExp(pattern);\n var flagsAreUndefined = flags === undefined;\n var groups = [];\n var rawPattern = pattern;\n var rawFlags, dotAll, sticky, handled, result, state;\n\n if (!thisIsRegExp && patternIsRegExp && flagsAreUndefined && pattern.constructor === RegExpWrapper) {\n return pattern;\n }\n\n if (patternIsRegExp || isPrototypeOf(RegExpPrototype, pattern)) {\n pattern = pattern.source;\n if (flagsAreUndefined) flags = 'flags' in rawPattern ? rawPattern.flags : getFlags(rawPattern);\n }\n\n pattern = pattern === undefined ? '' : toString(pattern);\n flags = flags === undefined ? '' : toString(flags);\n rawPattern = pattern;\n\n if (UNSUPPORTED_DOT_ALL && 'dotAll' in re1) {\n dotAll = !!flags && stringIndexOf(flags, 's') > -1;\n if (dotAll) flags = replace(flags, /s/g, '');\n }\n\n rawFlags = flags;\n\n if (MISSED_STICKY && 'sticky' in re1) {\n sticky = !!flags && stringIndexOf(flags, 'y') > -1;\n if (sticky && UNSUPPORTED_Y) flags = replace(flags, /y/g, '');\n }\n\n if (UNSUPPORTED_NCG) {\n handled = handleNCG(pattern);\n pattern = handled[0];\n groups = handled[1];\n }\n\n result = inheritIfRequired(NativeRegExp(pattern, flags), thisIsRegExp ? this : RegExpPrototype, RegExpWrapper);\n\n if (dotAll || sticky || groups.length) {\n state = enforceInternalState(result);\n if (dotAll) {\n state.dotAll = true;\n state.raw = RegExpWrapper(handleDotAll(pattern), rawFlags);\n }\n if (sticky) state.sticky = true;\n if (groups.length) state.groups = groups;\n }\n\n if (pattern !== rawPattern) try {\n // fails in old engines, but we have no alternatives for unsupported regex syntax\n createNonEnumerableProperty(result, 'source', rawPattern === '' ? '(?:)' : rawPattern);\n } catch (error) { /* empty */ }\n\n return result;\n };\n\n var proxy = function (key) {\n key in RegExpWrapper || defineProperty(RegExpWrapper, key, {\n configurable: true,\n get: function () { return NativeRegExp[key]; },\n set: function (it) { NativeRegExp[key] = it; }\n });\n };\n\n for (var keys = getOwnPropertyNames(NativeRegExp), index = 0; keys.length > index;) {\n proxy(keys[index++]);\n }\n\n RegExpPrototype.constructor = RegExpWrapper;\n RegExpWrapper.prototype = RegExpPrototype;\n redefine(global, 'RegExp', RegExpWrapper);\n}\n\n// https://tc39.es/ecma262/#sec-get-regexp-@@species\nsetSpecies('RegExp');\n","var aCallable = require('../internals/a-callable');\n\n// `GetMethod` abstract operation\n// https://tc39.es/ecma262/#sec-getmethod\nmodule.exports = function (V, P) {\n var func = V[P];\n return func == null ? undefined : aCallable(func);\n};\n","module.exports = false;\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\n\n// `Object.getOwnPropertyNames` method\n// https://tc39.es/ecma262/#sec-object.getownpropertynames\n// eslint-disable-next-line es/no-object-getownpropertynames -- safe\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n","var bind = require('../internals/function-bind-context');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar IndexedObject = require('../internals/indexed-object');\nvar toObject = require('../internals/to-object');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar arraySpeciesCreate = require('../internals/array-species-create');\n\nvar push = uncurryThis([].push);\n\n// `Array.prototype.{ forEach, map, filter, some, every, find, findIndex, filterReject }` methods implementation\nvar createMethod = function (TYPE) {\n var IS_MAP = TYPE == 1;\n var IS_FILTER = TYPE == 2;\n var IS_SOME = TYPE == 3;\n var IS_EVERY = TYPE == 4;\n var IS_FIND_INDEX = TYPE == 6;\n var IS_FILTER_REJECT = TYPE == 7;\n var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;\n return function ($this, callbackfn, that, specificCreate) {\n var O = toObject($this);\n var self = IndexedObject(O);\n var boundFunction = bind(callbackfn, that);\n var length = lengthOfArrayLike(self);\n var index = 0;\n var create = specificCreate || arraySpeciesCreate;\n var target = IS_MAP ? create($this, length) : IS_FILTER || IS_FILTER_REJECT ? create($this, 0) : undefined;\n var value, result;\n for (;length > index; index++) if (NO_HOLES || index in self) {\n value = self[index];\n result = boundFunction(value, index, O);\n if (TYPE) {\n if (IS_MAP) target[index] = result; // map\n else if (result) switch (TYPE) {\n case 3: return true; // some\n case 5: return value; // find\n case 6: return index; // findIndex\n case 2: push(target, value); // filter\n } else switch (TYPE) {\n case 4: return false; // every\n case 7: push(target, value); // filterReject\n }\n }\n }\n return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : target;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.forEach` method\n // https://tc39.es/ecma262/#sec-array.prototype.foreach\n forEach: createMethod(0),\n // `Array.prototype.map` method\n // https://tc39.es/ecma262/#sec-array.prototype.map\n map: createMethod(1),\n // `Array.prototype.filter` method\n // https://tc39.es/ecma262/#sec-array.prototype.filter\n filter: createMethod(2),\n // `Array.prototype.some` method\n // https://tc39.es/ecma262/#sec-array.prototype.some\n some: createMethod(3),\n // `Array.prototype.every` method\n // https://tc39.es/ecma262/#sec-array.prototype.every\n every: createMethod(4),\n // `Array.prototype.find` method\n // https://tc39.es/ecma262/#sec-array.prototype.find\n find: createMethod(5),\n // `Array.prototype.findIndex` method\n // https://tc39.es/ecma262/#sec-array.prototype.findIndex\n findIndex: createMethod(6),\n // `Array.prototype.filterReject` method\n // https://github.com/tc39/proposal-array-filtering\n filterReject: createMethod(7)\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar toLength = require('../internals/to-length');\nvar toString = require('../internals/to-string');\nvar notARegExp = require('../internals/not-a-regexp');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar correctIsRegExpLogic = require('../internals/correct-is-regexp-logic');\nvar IS_PURE = require('../internals/is-pure');\n\n// eslint-disable-next-line es/no-string-prototype-startswith -- safe\nvar un$StartsWith = uncurryThis(''.startsWith);\nvar stringSlice = uncurryThis(''.slice);\nvar min = Math.min;\n\nvar CORRECT_IS_REGEXP_LOGIC = correctIsRegExpLogic('startsWith');\n// https://github.com/zloirock/core-js/pull/702\nvar MDN_POLYFILL_BUG = !IS_PURE && !CORRECT_IS_REGEXP_LOGIC && !!function () {\n var descriptor = getOwnPropertyDescriptor(String.prototype, 'startsWith');\n return descriptor && !descriptor.writable;\n}();\n\n// `String.prototype.startsWith` method\n// https://tc39.es/ecma262/#sec-string.prototype.startswith\n$({ target: 'String', proto: true, forced: !MDN_POLYFILL_BUG && !CORRECT_IS_REGEXP_LOGIC }, {\n startsWith: function startsWith(searchString /* , position = 0 */) {\n var that = toString(requireObjectCoercible(this));\n notARegExp(searchString);\n var index = toLength(min(arguments.length > 1 ? arguments[1] : undefined, that.length));\n var search = toString(searchString);\n return un$StartsWith\n ? un$StartsWith(that, search, index)\n : stringSlice(that, index, index + search.length) === search;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar $map = require('../internals/array-iteration').map;\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('map');\n\n// `Array.prototype.map` method\n// https://tc39.es/ecma262/#sec-array.prototype.map\n// with adding support of @@species\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, {\n map: function map(callbackfn /* , thisArg */) {\n return $map(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","var $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar isObject = require('../internals/is-object');\nvar anObject = require('../internals/an-object');\nvar isDataDescriptor = require('../internals/is-data-descriptor');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\n\n// `Reflect.get` method\n// https://tc39.es/ecma262/#sec-reflect.get\nfunction get(target, propertyKey /* , receiver */) {\n var receiver = arguments.length < 3 ? target : arguments[2];\n var descriptor, prototype;\n if (anObject(target) === receiver) return target[propertyKey];\n descriptor = getOwnPropertyDescriptorModule.f(target, propertyKey);\n if (descriptor) return isDataDescriptor(descriptor)\n ? descriptor.value\n : descriptor.get === undefined ? undefined : call(descriptor.get, receiver);\n if (isObject(prototype = getPrototypeOf(target))) return get(prototype, propertyKey, receiver);\n}\n\n$({ target: 'Reflect', stat: true }, {\n get: get\n});\n","var fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n var test = (function () { /* empty */ }).bind();\n // eslint-disable-next-line no-prototype-builtins -- safe\n return typeof test != 'function' || test.hasOwnProperty('prototype');\n});\n","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","var global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\nvar tryToString = require('../internals/try-to-string');\n\nvar TypeError = global.TypeError;\n\n// `Assert: IsCallable(argument) is true`\nmodule.exports = function (argument) {\n if (isCallable(argument)) return argument;\n throw TypeError(tryToString(argument) + ' is not a function');\n};\n","module.exports = {};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar hasOwn = require('../internals/has-own-property');\n\nvar FunctionPrototype = Function.prototype;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getDescriptor = DESCRIPTORS && Object.getOwnPropertyDescriptor;\n\nvar EXISTS = hasOwn(FunctionPrototype, 'name');\n// additional protection from minified / mangled / dropped function names\nvar PROPER = EXISTS && (function something() { /* empty */ }).name === 'something';\nvar CONFIGURABLE = EXISTS && (!DESCRIPTORS || (DESCRIPTORS && getDescriptor(FunctionPrototype, 'name').configurable));\n\nmodule.exports = {\n EXISTS: EXISTS,\n PROPER: PROPER,\n CONFIGURABLE: CONFIGURABLE\n};\n","var toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.es/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n return argument > 0 ? min(toIntegerOrInfinity(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\n// `Object.keys` method\n// https://tc39.es/ecma262/#sec-object.keys\n// eslint-disable-next-line es/no-object-keys -- safe\nmodule.exports = Object.keys || function keys(O) {\n return internalObjectKeys(O, enumBugKeys);\n};\n","'use strict';\nvar toPropertyKey = require('../internals/to-property-key');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = function (object, key, value) {\n var propertyKey = toPropertyKey(key);\n if (propertyKey in object) definePropertyModule.f(object, propertyKey, createPropertyDescriptor(0, value));\n else object[propertyKey] = value;\n};\n","module.exports = {};\n","'use strict';\nvar call = require('../internals/function-call');\nvar fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic');\nvar anObject = require('../internals/an-object');\nvar toLength = require('../internals/to-length');\nvar toString = require('../internals/to-string');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar getMethod = require('../internals/get-method');\nvar advanceStringIndex = require('../internals/advance-string-index');\nvar regExpExec = require('../internals/regexp-exec-abstract');\n\n// @@match logic\nfixRegExpWellKnownSymbolLogic('match', function (MATCH, nativeMatch, maybeCallNative) {\n return [\n // `String.prototype.match` method\n // https://tc39.es/ecma262/#sec-string.prototype.match\n function match(regexp) {\n var O = requireObjectCoercible(this);\n var matcher = regexp == undefined ? undefined : getMethod(regexp, MATCH);\n return matcher ? call(matcher, regexp, O) : new RegExp(regexp)[MATCH](toString(O));\n },\n // `RegExp.prototype[@@match]` method\n // https://tc39.es/ecma262/#sec-regexp.prototype-@@match\n function (string) {\n var rx = anObject(this);\n var S = toString(string);\n var res = maybeCallNative(nativeMatch, rx, S);\n\n if (res.done) return res.value;\n\n if (!rx.global) return regExpExec(rx, S);\n\n var fullUnicode = rx.unicode;\n rx.lastIndex = 0;\n var A = [];\n var n = 0;\n var result;\n while ((result = regExpExec(rx, S)) !== null) {\n var matchStr = toString(result[0]);\n A[n] = matchStr;\n if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);\n n++;\n }\n return n === 0 ? null : A;\n }\n ];\n});\n","'use strict';\nvar $propertyIsEnumerable = {}.propertyIsEnumerable;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Nashorn ~ JDK8 bug\nvar NASHORN_BUG = getOwnPropertyDescriptor && !$propertyIsEnumerable.call({ 1: 2 }, 1);\n\n// `Object.prototype.propertyIsEnumerable` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n var descriptor = getOwnPropertyDescriptor(this, V);\n return !!descriptor && descriptor.enumerable;\n} : $propertyIsEnumerable;\n","var global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar Object = global.Object;\nvar split = uncurryThis(''.split);\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nmodule.exports = fails(function () {\n // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n // eslint-disable-next-line no-prototype-builtins -- safe\n return !Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) == 'String' ? split(it, '') : Object(it);\n} : Object;\n","var toPrimitive = require('../internals/to-primitive');\nvar isSymbol = require('../internals/is-symbol');\n\n// `ToPropertyKey` abstract operation\n// https://tc39.es/ecma262/#sec-topropertykey\nmodule.exports = function (argument) {\n var key = toPrimitive(argument, 'string');\n return isSymbol(key) ? key : key + '';\n};\n","var global = require('../internals/global');\nvar getBuiltIn = require('../internals/get-built-in');\nvar isCallable = require('../internals/is-callable');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar Object = global.Object;\n\nmodule.exports = USE_SYMBOL_AS_UID ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n var $Symbol = getBuiltIn('Symbol');\n return isCallable($Symbol) && isPrototypeOf($Symbol.prototype, Object(it));\n};\n","var global = require('../internals/global');\nvar userAgent = require('../internals/engine-user-agent');\n\nvar process = global.process;\nvar Deno = global.Deno;\nvar versions = process && process.versions || Deno && Deno.version;\nvar v8 = versions && versions.v8;\nvar match, version;\n\nif (v8) {\n match = v8.split('.');\n // in old Chrome, versions of V8 isn't V8 = Chrome / 10\n // but their correct versions are not interesting for us\n version = match[0] > 0 && match[0] < 4 ? 1 : +(match[0] + match[1]);\n}\n\n// BrowserFS NodeJS `process` polyfill incorrectly set `.v8` to `0.0`\n// so check `userAgent` even if `.v8` exists, but 0\nif (!version && userAgent) {\n match = userAgent.match(/Edge\\/(\\d+)/);\n if (!match || match[1] >= 74) {\n match = userAgent.match(/Chrome\\/(\\d+)/);\n if (match) version = +match[1];\n }\n}\n\nmodule.exports = version;\n","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('navigator', 'userAgent') || '';\n","var global = require('../internals/global');\n\nvar String = global.String;\n\nmodule.exports = function (argument) {\n try {\n return String(argument);\n } catch (error) {\n return 'Object';\n }\n};\n","var IS_PURE = require('../internals/is-pure');\nvar store = require('../internals/shared-store');\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: '3.21.1',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2014-2022 Denis Pushkarev (zloirock.ru)',\n license: 'https://github.com/zloirock/core-js/blob/v3.21.1/LICENSE',\n source: 'https://github.com/zloirock/core-js'\n});\n","var uncurryThis = require('../internals/function-uncurry-this');\n\nvar id = 0;\nvar postfix = Math.random();\nvar toString = uncurryThis(1.0.toString);\n\nmodule.exports = function (key) {\n return 'Symbol(' + (key === undefined ? '' : key) + ')_' + toString(++id + postfix, 36);\n};\n","var shared = require('../internals/shared');\nvar uid = require('../internals/uid');\n\nvar keys = shared('keys');\n\nmodule.exports = function (key) {\n return keys[key] || (keys[key] = uid(key));\n};\n","var ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `ToIntegerOrInfinity` abstract operation\n// https://tc39.es/ecma262/#sec-tointegerorinfinity\nmodule.exports = function (argument) {\n var number = +argument;\n // eslint-disable-next-line no-self-compare -- safe\n return number !== number || number === 0 ? 0 : (number > 0 ? floor : ceil)(number);\n};\n","var fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\n\nvar replacement = /#|\\.prototype\\./;\n\nvar isForced = function (feature, detection) {\n var value = data[normalize(feature)];\n return value == POLYFILL ? true\n : value == NATIVE ? false\n : isCallable(detection) ? fails(detection)\n : !!detection;\n};\n\nvar normalize = isForced.normalize = function (string) {\n return String(string).replace(replacement, '.').toLowerCase();\n};\n\nvar data = isForced.data = {};\nvar NATIVE = isForced.NATIVE = 'N';\nvar POLYFILL = isForced.POLYFILL = 'P';\n\nmodule.exports = isForced;\n","var global = require('../internals/global');\nvar hasOwn = require('../internals/has-own-property');\nvar isCallable = require('../internals/is-callable');\nvar toObject = require('../internals/to-object');\nvar sharedKey = require('../internals/shared-key');\nvar CORRECT_PROTOTYPE_GETTER = require('../internals/correct-prototype-getter');\n\nvar IE_PROTO = sharedKey('IE_PROTO');\nvar Object = global.Object;\nvar ObjectPrototype = Object.prototype;\n\n// `Object.getPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.getprototypeof\nmodule.exports = CORRECT_PROTOTYPE_GETTER ? Object.getPrototypeOf : function (O) {\n var object = toObject(O);\n if (hasOwn(object, IE_PROTO)) return object[IE_PROTO];\n var constructor = object.constructor;\n if (isCallable(constructor) && object instanceof constructor) {\n return constructor.prototype;\n } return object instanceof Object ? ObjectPrototype : null;\n};\n","var global = require('../internals/global');\nvar TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar isCallable = require('../internals/is-callable');\nvar classofRaw = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar Object = global.Object;\n\n// ES3 wrong here\nvar CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (error) { /* empty */ }\n};\n\n// getting tag from ES6+ `Object.prototype.toString`\nmodule.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {\n var O, tag, result;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (tag = tryGet(O = Object(it), TO_STRING_TAG)) == 'string' ? tag\n // builtinTag case\n : CORRECT_ARGUMENTS ? classofRaw(O)\n // ES3 arguments fallback\n : (result = classofRaw(O)) == 'Object' && isCallable(O.callee) ? 'Arguments' : result;\n};\n","var NATIVE_BIND = require('../internals/function-bind-native');\n\nvar FunctionPrototype = Function.prototype;\nvar apply = FunctionPrototype.apply;\nvar call = FunctionPrototype.call;\n\n// eslint-disable-next-line es/no-reflect -- safe\nmodule.exports = typeof Reflect == 'object' && Reflect.apply || (NATIVE_BIND ? call.bind(apply) : function () {\n return call.apply(apply, arguments);\n});\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar classof = require('../internals/classof');\nvar getBuiltIn = require('../internals/get-built-in');\nvar inspectSource = require('../internals/inspect-source');\n\nvar noop = function () { /* empty */ };\nvar empty = [];\nvar construct = getBuiltIn('Reflect', 'construct');\nvar constructorRegExp = /^\\s*(?:class|function)\\b/;\nvar exec = uncurryThis(constructorRegExp.exec);\nvar INCORRECT_TO_STRING = !constructorRegExp.exec(noop);\n\nvar isConstructorModern = function isConstructor(argument) {\n if (!isCallable(argument)) return false;\n try {\n construct(noop, empty, argument);\n return true;\n } catch (error) {\n return false;\n }\n};\n\nvar isConstructorLegacy = function isConstructor(argument) {\n if (!isCallable(argument)) return false;\n switch (classof(argument)) {\n case 'AsyncFunction':\n case 'GeneratorFunction':\n case 'AsyncGeneratorFunction': return false;\n }\n try {\n // we can't check .prototype since constructors produced by .bind haven't it\n // `Function#toString` throws on some built-it function in some legacy engines\n // (for example, `DOMQuad` and similar in FF41-)\n return INCORRECT_TO_STRING || !!exec(constructorRegExp, inspectSource(argument));\n } catch (error) {\n return true;\n }\n};\n\nisConstructorLegacy.sham = true;\n\n// `IsConstructor` abstract operation\n// https://tc39.es/ecma262/#sec-isconstructor\nmodule.exports = !construct || fails(function () {\n var called;\n return isConstructorModern(isConstructorModern.call)\n || !isConstructorModern(Object)\n || !isConstructorModern(function () { called = true; })\n || called;\n}) ? isConstructorLegacy : isConstructorModern;\n","var classof = require('../internals/classof-raw');\n\n// `IsArray` abstract operation\n// https://tc39.es/ecma262/#sec-isarray\n// eslint-disable-next-line es/no-array-isarray -- safe\nmodule.exports = Array.isArray || function isArray(argument) {\n return classof(argument) == 'Array';\n};\n","var defineProperty = require('../internals/object-define-property').f;\nvar hasOwn = require('../internals/has-own-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\n\nmodule.exports = function (target, TAG, STATIC) {\n if (target && !STATIC) target = target.prototype;\n if (target && !hasOwn(target, TO_STRING_TAG)) {\n defineProperty(target, TO_STRING_TAG, { configurable: true, value: TAG });\n }\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar aCallable = require('../internals/a-callable');\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar bind = uncurryThis(uncurryThis.bind);\n\n// optional / simple context binding\nmodule.exports = function (fn, that) {\n aCallable(fn);\n return that === undefined ? fn : NATIVE_BIND ? bind(fn, that) : function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\nvar create = require('../internals/object-create');\nvar definePropertyModule = require('../internals/object-define-property');\n\nvar UNSCOPABLES = wellKnownSymbol('unscopables');\nvar ArrayPrototype = Array.prototype;\n\n// Array.prototype[@@unscopables]\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\nif (ArrayPrototype[UNSCOPABLES] == undefined) {\n definePropertyModule.f(ArrayPrototype, UNSCOPABLES, {\n configurable: true,\n value: create(null)\n });\n}\n\n// add a key to Array.prototype[@@unscopables]\nmodule.exports = function (key) {\n ArrayPrototype[UNSCOPABLES][key] = true;\n};\n","'use strict';\n/* eslint-disable regexp/no-empty-capturing-group, regexp/no-empty-group, regexp/no-lazy-ends -- testing */\n/* eslint-disable regexp/no-useless-quantifier -- testing */\nvar call = require('../internals/function-call');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar toString = require('../internals/to-string');\nvar regexpFlags = require('../internals/regexp-flags');\nvar stickyHelpers = require('../internals/regexp-sticky-helpers');\nvar shared = require('../internals/shared');\nvar create = require('../internals/object-create');\nvar getInternalState = require('../internals/internal-state').get;\nvar UNSUPPORTED_DOT_ALL = require('../internals/regexp-unsupported-dot-all');\nvar UNSUPPORTED_NCG = require('../internals/regexp-unsupported-ncg');\n\nvar nativeReplace = shared('native-string-replace', String.prototype.replace);\nvar nativeExec = RegExp.prototype.exec;\nvar patchedExec = nativeExec;\nvar charAt = uncurryThis(''.charAt);\nvar indexOf = uncurryThis(''.indexOf);\nvar replace = uncurryThis(''.replace);\nvar stringSlice = uncurryThis(''.slice);\n\nvar UPDATES_LAST_INDEX_WRONG = (function () {\n var re1 = /a/;\n var re2 = /b*/g;\n call(nativeExec, re1, 'a');\n call(nativeExec, re2, 'a');\n return re1.lastIndex !== 0 || re2.lastIndex !== 0;\n})();\n\nvar UNSUPPORTED_Y = stickyHelpers.BROKEN_CARET;\n\n// nonparticipating capturing group, copied from es5-shim's String#split patch.\nvar NPCG_INCLUDED = /()??/.exec('')[1] !== undefined;\n\nvar PATCH = UPDATES_LAST_INDEX_WRONG || NPCG_INCLUDED || UNSUPPORTED_Y || UNSUPPORTED_DOT_ALL || UNSUPPORTED_NCG;\n\nif (PATCH) {\n patchedExec = function exec(string) {\n var re = this;\n var state = getInternalState(re);\n var str = toString(string);\n var raw = state.raw;\n var result, reCopy, lastIndex, match, i, object, group;\n\n if (raw) {\n raw.lastIndex = re.lastIndex;\n result = call(patchedExec, raw, str);\n re.lastIndex = raw.lastIndex;\n return result;\n }\n\n var groups = state.groups;\n var sticky = UNSUPPORTED_Y && re.sticky;\n var flags = call(regexpFlags, re);\n var source = re.source;\n var charsAdded = 0;\n var strCopy = str;\n\n if (sticky) {\n flags = replace(flags, 'y', '');\n if (indexOf(flags, 'g') === -1) {\n flags += 'g';\n }\n\n strCopy = stringSlice(str, re.lastIndex);\n // Support anchored sticky behavior.\n if (re.lastIndex > 0 && (!re.multiline || re.multiline && charAt(str, re.lastIndex - 1) !== '\\n')) {\n source = '(?: ' + source + ')';\n strCopy = ' ' + strCopy;\n charsAdded++;\n }\n // ^(? + rx + ) is needed, in combination with some str slicing, to\n // simulate the 'y' flag.\n reCopy = new RegExp('^(?:' + source + ')', flags);\n }\n\n if (NPCG_INCLUDED) {\n reCopy = new RegExp('^' + source + '$(?!\\\\s)', flags);\n }\n if (UPDATES_LAST_INDEX_WRONG) lastIndex = re.lastIndex;\n\n match = call(nativeExec, sticky ? reCopy : re, strCopy);\n\n if (sticky) {\n if (match) {\n match.input = stringSlice(match.input, charsAdded);\n match[0] = stringSlice(match[0], charsAdded);\n match.index = re.lastIndex;\n re.lastIndex += match[0].length;\n } else re.lastIndex = 0;\n } else if (UPDATES_LAST_INDEX_WRONG && match) {\n re.lastIndex = re.global ? match.index + match[0].length : lastIndex;\n }\n if (NPCG_INCLUDED && match && match.length > 1) {\n // Fix browsers whose `exec` methods don't consistently return `undefined`\n // for NPCG, like IE8. NOTE: This doesn' work for /(.?)?/\n call(nativeReplace, match[0], reCopy, function () {\n for (i = 1; i < arguments.length - 2; i++) {\n if (arguments[i] === undefined) match[i] = undefined;\n }\n });\n }\n\n if (match && groups) {\n match.groups = object = create(null);\n for (i = 0; i < groups.length; i++) {\n group = groups[i];\n object[group[0]] = match[group[1]];\n }\n }\n\n return match;\n };\n}\n\nmodule.exports = patchedExec;\n","'use strict';\nvar $ = require('../internals/export');\nvar $trim = require('../internals/string-trim').trim;\nvar forcedStringTrimMethod = require('../internals/string-trim-forced');\n\n// `String.prototype.trim` method\n// https://tc39.es/ecma262/#sec-string.prototype.trim\n$({ target: 'String', proto: true, forced: forcedStringTrimMethod('trim') }, {\n trim: function trim() {\n return $trim(this);\n }\n});\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar toString = require('../internals/to-string');\nvar whitespaces = require('../internals/whitespaces');\n\nvar replace = uncurryThis(''.replace);\nvar whitespace = '[' + whitespaces + ']';\nvar ltrim = RegExp('^' + whitespace + whitespace + '*');\nvar rtrim = RegExp(whitespace + whitespace + '*$');\n\n// `String.prototype.{ trim, trimStart, trimEnd, trimLeft, trimRight }` methods implementation\nvar createMethod = function (TYPE) {\n return function ($this) {\n var string = toString(requireObjectCoercible($this));\n if (TYPE & 1) string = replace(string, ltrim, '');\n if (TYPE & 2) string = replace(string, rtrim, '');\n return string;\n };\n};\n\nmodule.exports = {\n // `String.prototype.{ trimLeft, trimStart }` methods\n // https://tc39.es/ecma262/#sec-string.prototype.trimstart\n start: createMethod(1),\n // `String.prototype.{ trimRight, trimEnd }` methods\n // https://tc39.es/ecma262/#sec-string.prototype.trimend\n end: createMethod(2),\n // `String.prototype.trim` method\n // https://tc39.es/ecma262/#sec-string.prototype.trim\n trim: createMethod(3)\n};\n","// a string of all valid unicode whitespaces\nmodule.exports = '\\u0009\\u000A\\u000B\\u000C\\u000D\\u0020\\u00A0\\u1680\\u2000\\u2001\\u2002' +\n '\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200A\\u202F\\u205F\\u3000\\u2028\\u2029\\uFEFF';\n","var fails = require('../internals/fails');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar V8_VERSION = require('../internals/engine-v8-version');\n\nvar SPECIES = wellKnownSymbol('species');\n\nmodule.exports = function (METHOD_NAME) {\n // We can't use this feature detection in V8 since it causes\n // deoptimization and serious performance degradation\n // https://github.com/zloirock/core-js/issues/677\n return V8_VERSION >= 51 || !fails(function () {\n var array = [];\n var constructor = array.constructor = {};\n constructor[SPECIES] = function () {\n return { foo: 1 };\n };\n return array[METHOD_NAME](Boolean).foo !== 1;\n });\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar IndexedObject = require('../internals/indexed-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\n\nvar un$Join = uncurryThis([].join);\n\nvar ES3_STRINGS = IndexedObject != Object;\nvar STRICT_METHOD = arrayMethodIsStrict('join', ',');\n\n// `Array.prototype.join` method\n// https://tc39.es/ecma262/#sec-array.prototype.join\n$({ target: 'Array', proto: true, forced: ES3_STRINGS || !STRICT_METHOD }, {\n join: function join(separator) {\n return un$Join(toIndexedObject(this), separator === undefined ? ',' : separator);\n }\n});\n","/* eslint-disable es/no-symbol -- required for testing */\nvar V8_VERSION = require('../internals/engine-v8-version');\nvar fails = require('../internals/fails');\n\n// eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n var symbol = Symbol();\n // Chrome 38 Symbol has incorrect toString conversion\n // `get-own-property-symbols` polyfill symbols converted to object are not Symbol instances\n return !String(symbol) || !(Object(symbol) instanceof Symbol) ||\n // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances\n !Symbol.sham && V8_VERSION && V8_VERSION < 41;\n});\n","var global = require('../internals/global');\nvar setGlobal = require('../internals/set-global');\n\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || setGlobal(SHARED, {});\n\nmodule.exports = store;\n","var global = require('../internals/global');\n\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\n\nmodule.exports = function (key, value) {\n try {\n defineProperty(global, key, { value: value, configurable: true, writable: true });\n } catch (error) {\n global[key] = value;\n } return value;\n};\n","var global = require('../internals/global');\nvar isObject = require('../internals/is-object');\n\nvar document = global.document;\n// typeof document.createElement is 'object' in old IE\nvar EXISTS = isObject(document) && isObject(document.createElement);\n\nmodule.exports = function (it) {\n return EXISTS ? document.createElement(it) : {};\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar isCallable = require('../internals/is-callable');\nvar store = require('../internals/shared-store');\n\nvar functionToString = uncurryThis(Function.toString);\n\n// this helper broken in `core-js@3.4.1-3.4.4`, so we can't use `shared` helper\nif (!isCallable(store.inspectSource)) {\n store.inspectSource = function (it) {\n return functionToString(it);\n };\n}\n\nmodule.exports = store.inspectSource;\n","var toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar max = Math.max;\nvar min = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).\nmodule.exports = function (index, length) {\n var integer = toIntegerOrInfinity(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n","// IE8- don't enum bug keys\nmodule.exports = [\n 'constructor',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toLocaleString',\n 'toString',\n 'valueOf'\n];\n","// eslint-disable-next-line es/no-object-getownpropertysymbols -- safe\nexports.f = Object.getOwnPropertySymbols;\n","/* eslint-disable no-proto -- safe */\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar anObject = require('../internals/an-object');\nvar aPossiblePrototype = require('../internals/a-possible-prototype');\n\n// `Object.setPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.setprototypeof\n// Works with __proto__ only. Old v8 can't work with null proto objects.\n// eslint-disable-next-line es/no-object-setprototypeof -- safe\nmodule.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () {\n var CORRECT_SETTER = false;\n var test = {};\n var setter;\n try {\n // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\n setter = uncurryThis(Object.getOwnPropertyDescriptor(Object.prototype, '__proto__').set);\n setter(test, []);\n CORRECT_SETTER = test instanceof Array;\n } catch (error) { /* empty */ }\n return function setPrototypeOf(O, proto) {\n anObject(O);\n aPossiblePrototype(proto);\n if (CORRECT_SETTER) setter(O, proto);\n else O.__proto__ = proto;\n return O;\n };\n}() : undefined);\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar test = {};\n\ntest[TO_STRING_TAG] = 'z';\n\nmodule.exports = String(test) === '[object z]';\n","var uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = uncurryThis([].slice);\n","/* eslint-disable es/no-object-getownpropertynames -- safe */\nvar classof = require('../internals/classof-raw');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar $getOwnPropertyNames = require('../internals/object-get-own-property-names').f;\nvar arraySlice = require('../internals/array-slice-simple');\n\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames\n ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function (it) {\n try {\n return $getOwnPropertyNames(it);\n } catch (error) {\n return arraySlice(windowNames);\n }\n};\n\n// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nmodule.exports.f = function getOwnPropertyNames(it) {\n return windowNames && classof(it) == 'Window'\n ? getWindowNames(it)\n : $getOwnPropertyNames(toIndexedObject(it));\n};\n","var global = require('../internals/global');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar createProperty = require('../internals/create-property');\n\nvar Array = global.Array;\nvar max = Math.max;\n\nmodule.exports = function (O, start, end) {\n var length = lengthOfArrayLike(O);\n var k = toAbsoluteIndex(start, length);\n var fin = toAbsoluteIndex(end === undefined ? length : end, length);\n var result = Array(max(fin - k, 0));\n for (var n = 0; k < fin; k++, n++) createProperty(result, n, O[k]);\n result.length = n;\n return result;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar IS_PURE = require('../internals/is-pure');\nvar FunctionName = require('../internals/function-name');\nvar isCallable = require('../internals/is-callable');\nvar createIteratorConstructor = require('../internals/create-iterator-constructor');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefine = require('../internals/redefine');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar Iterators = require('../internals/iterators');\nvar IteratorsCore = require('../internals/iterators-core');\n\nvar PROPER_FUNCTION_NAME = FunctionName.PROPER;\nvar CONFIGURABLE_FUNCTION_NAME = FunctionName.CONFIGURABLE;\nvar IteratorPrototype = IteratorsCore.IteratorPrototype;\nvar BUGGY_SAFARI_ITERATORS = IteratorsCore.BUGGY_SAFARI_ITERATORS;\nvar ITERATOR = wellKnownSymbol('iterator');\nvar KEYS = 'keys';\nvar VALUES = 'values';\nvar ENTRIES = 'entries';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Iterable, NAME, IteratorConstructor, next, DEFAULT, IS_SET, FORCED) {\n createIteratorConstructor(IteratorConstructor, NAME, next);\n\n var getIterationMethod = function (KIND) {\n if (KIND === DEFAULT && defaultIterator) return defaultIterator;\n if (!BUGGY_SAFARI_ITERATORS && KIND in IterablePrototype) return IterablePrototype[KIND];\n switch (KIND) {\n case KEYS: return function keys() { return new IteratorConstructor(this, KIND); };\n case VALUES: return function values() { return new IteratorConstructor(this, KIND); };\n case ENTRIES: return function entries() { return new IteratorConstructor(this, KIND); };\n } return function () { return new IteratorConstructor(this); };\n };\n\n var TO_STRING_TAG = NAME + ' Iterator';\n var INCORRECT_VALUES_NAME = false;\n var IterablePrototype = Iterable.prototype;\n var nativeIterator = IterablePrototype[ITERATOR]\n || IterablePrototype['@@iterator']\n || DEFAULT && IterablePrototype[DEFAULT];\n var defaultIterator = !BUGGY_SAFARI_ITERATORS && nativeIterator || getIterationMethod(DEFAULT);\n var anyNativeIterator = NAME == 'Array' ? IterablePrototype.entries || nativeIterator : nativeIterator;\n var CurrentIteratorPrototype, methods, KEY;\n\n // fix native\n if (anyNativeIterator) {\n CurrentIteratorPrototype = getPrototypeOf(anyNativeIterator.call(new Iterable()));\n if (CurrentIteratorPrototype !== Object.prototype && CurrentIteratorPrototype.next) {\n if (!IS_PURE && getPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype) {\n if (setPrototypeOf) {\n setPrototypeOf(CurrentIteratorPrototype, IteratorPrototype);\n } else if (!isCallable(CurrentIteratorPrototype[ITERATOR])) {\n redefine(CurrentIteratorPrototype, ITERATOR, returnThis);\n }\n }\n // Set @@toStringTag to native iterators\n setToStringTag(CurrentIteratorPrototype, TO_STRING_TAG, true, true);\n if (IS_PURE) Iterators[TO_STRING_TAG] = returnThis;\n }\n }\n\n // fix Array.prototype.{ values, @@iterator }.name in V8 / FF\n if (PROPER_FUNCTION_NAME && DEFAULT == VALUES && nativeIterator && nativeIterator.name !== VALUES) {\n if (!IS_PURE && CONFIGURABLE_FUNCTION_NAME) {\n createNonEnumerableProperty(IterablePrototype, 'name', VALUES);\n } else {\n INCORRECT_VALUES_NAME = true;\n defaultIterator = function values() { return call(nativeIterator, this); };\n }\n }\n\n // export additional methods\n if (DEFAULT) {\n methods = {\n values: getIterationMethod(VALUES),\n keys: IS_SET ? defaultIterator : getIterationMethod(KEYS),\n entries: getIterationMethod(ENTRIES)\n };\n if (FORCED) for (KEY in methods) {\n if (BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) {\n redefine(IterablePrototype, KEY, methods[KEY]);\n }\n } else $({ target: NAME, proto: true, forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME }, methods);\n }\n\n // define iterator\n if ((!IS_PURE || FORCED) && IterablePrototype[ITERATOR] !== defaultIterator) {\n redefine(IterablePrototype, ITERATOR, defaultIterator, { name: DEFAULT });\n }\n Iterators[NAME] = defaultIterator;\n\n return methods;\n};\n","'use strict';\nvar anObject = require('../internals/an-object');\n\n// `RegExp.prototype.flags` getter implementation\n// https://tc39.es/ecma262/#sec-get-regexp.prototype.flags\nmodule.exports = function () {\n var that = anObject(this);\n var result = '';\n if (that.global) result += 'g';\n if (that.ignoreCase) result += 'i';\n if (that.multiline) result += 'm';\n if (that.dotAll) result += 's';\n if (that.unicode) result += 'u';\n if (that.sticky) result += 'y';\n return result;\n};\n","var fails = require('../internals/fails');\nvar global = require('../internals/global');\n\n// babel-minify and Closure Compiler transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError\nvar $RegExp = global.RegExp;\n\nvar UNSUPPORTED_Y = fails(function () {\n var re = $RegExp('a', 'y');\n re.lastIndex = 2;\n return re.exec('abcd') != null;\n});\n\n// UC Browser bug\n// https://github.com/zloirock/core-js/issues/1008\nvar MISSED_STICKY = UNSUPPORTED_Y || fails(function () {\n return !$RegExp('a', 'y').sticky;\n});\n\nvar BROKEN_CARET = UNSUPPORTED_Y || fails(function () {\n // https://bugzilla.mozilla.org/show_bug.cgi?id=773687\n var re = $RegExp('^r', 'gy');\n re.lastIndex = 2;\n return re.exec('str') != null;\n});\n\nmodule.exports = {\n BROKEN_CARET: BROKEN_CARET,\n MISSED_STICKY: MISSED_STICKY,\n UNSUPPORTED_Y: UNSUPPORTED_Y\n};\n","'use strict';\n// TODO: Remove from `core-js@4` since it's moved to entry points\nrequire('../modules/es.regexp.exec');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar redefine = require('../internals/redefine');\nvar regexpExec = require('../internals/regexp-exec');\nvar fails = require('../internals/fails');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\nvar SPECIES = wellKnownSymbol('species');\nvar RegExpPrototype = RegExp.prototype;\n\nmodule.exports = function (KEY, exec, FORCED, SHAM) {\n var SYMBOL = wellKnownSymbol(KEY);\n\n var DELEGATES_TO_SYMBOL = !fails(function () {\n // String methods call symbol-named RegEp methods\n var O = {};\n O[SYMBOL] = function () { return 7; };\n return ''[KEY](O) != 7;\n });\n\n var DELEGATES_TO_EXEC = DELEGATES_TO_SYMBOL && !fails(function () {\n // Symbol-named RegExp methods call .exec\n var execCalled = false;\n var re = /a/;\n\n if (KEY === 'split') {\n // We can't use real regex here since it causes deoptimization\n // and serious performance degradation in V8\n // https://github.com/zloirock/core-js/issues/306\n re = {};\n // RegExp[@@split] doesn't call the regex's exec method, but first creates\n // a new one. We need to return the patched regex when creating the new one.\n re.constructor = {};\n re.constructor[SPECIES] = function () { return re; };\n re.flags = '';\n re[SYMBOL] = /./[SYMBOL];\n }\n\n re.exec = function () { execCalled = true; return null; };\n\n re[SYMBOL]('');\n return !execCalled;\n });\n\n if (\n !DELEGATES_TO_SYMBOL ||\n !DELEGATES_TO_EXEC ||\n FORCED\n ) {\n var uncurriedNativeRegExpMethod = uncurryThis(/./[SYMBOL]);\n var methods = exec(SYMBOL, ''[KEY], function (nativeMethod, regexp, str, arg2, forceStringMethod) {\n var uncurriedNativeMethod = uncurryThis(nativeMethod);\n var $exec = regexp.exec;\n if ($exec === regexpExec || $exec === RegExpPrototype.exec) {\n if (DELEGATES_TO_SYMBOL && !forceStringMethod) {\n // The native String method already delegates to @@method (this\n // polyfilled function), leasing to infinite recursion.\n // We avoid it by directly calling the native @@method method.\n return { done: true, value: uncurriedNativeRegExpMethod(regexp, str, arg2) };\n }\n return { done: true, value: uncurriedNativeMethod(str, regexp, arg2) };\n }\n return { done: false };\n });\n\n redefine(String.prototype, KEY, methods[0]);\n redefine(RegExpPrototype, SYMBOL, methods[1]);\n }\n\n if (SHAM) createNonEnumerableProperty(RegExpPrototype[SYMBOL], 'sham', true);\n};\n","'use strict';\nvar charAt = require('../internals/string-multibyte').charAt;\n\n// `AdvanceStringIndex` abstract operation\n// https://tc39.es/ecma262/#sec-advancestringindex\nmodule.exports = function (S, index, unicode) {\n return index + (unicode ? charAt(S, index).length : 1);\n};\n","var global = require('../internals/global');\nvar call = require('../internals/function-call');\nvar anObject = require('../internals/an-object');\nvar isCallable = require('../internals/is-callable');\nvar classof = require('../internals/classof-raw');\nvar regexpExec = require('../internals/regexp-exec');\n\nvar TypeError = global.TypeError;\n\n// `RegExpExec` abstract operation\n// https://tc39.es/ecma262/#sec-regexpexec\nmodule.exports = function (R, S) {\n var exec = R.exec;\n if (isCallable(exec)) {\n var result = call(exec, R, S);\n if (result !== null) anObject(result);\n return result;\n }\n if (classof(R) === 'RegExp') return call(regexpExec, R, S);\n throw TypeError('RegExp#exec called on incompatible receiver');\n};\n","var isObject = require('../internals/is-object');\nvar classof = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar MATCH = wellKnownSymbol('match');\n\n// `IsRegExp` abstract operation\n// https://tc39.es/ecma262/#sec-isregexp\nmodule.exports = function (it) {\n var isRegExp;\n return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : classof(it) == 'RegExp');\n};\n","var $ = require('../internals/export');\nvar parseFloat = require('../internals/number-parse-float');\n\n// `Number.parseFloat` method\n// https://tc39.es/ecma262/#sec-number.parseFloat\n// eslint-disable-next-line es/no-number-parsefloat -- required for testing\n$({ target: 'Number', stat: true, forced: Number.parseFloat != parseFloat }, {\n parseFloat: parseFloat\n});\n","var isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\n\n// makes subclassing work correct for wrapped built-ins\nmodule.exports = function ($this, dummy, Wrapper) {\n var NewTarget, NewTargetPrototype;\n if (\n // it can work only with native `setPrototypeOf`\n setPrototypeOf &&\n // we haven't completely correct pre-ES6 way for getting `new.target`, so use this\n isCallable(NewTarget = dummy.constructor) &&\n NewTarget !== Wrapper &&\n isObject(NewTargetPrototype = NewTarget.prototype) &&\n NewTargetPrototype !== Wrapper.prototype\n ) setPrototypeOf($this, NewTargetPrototype);\n return $this;\n};\n","'use strict';\nvar fails = require('../internals/fails');\n\nmodule.exports = function (METHOD_NAME, argument) {\n var method = [][METHOD_NAME];\n return !!method && fails(function () {\n // eslint-disable-next-line no-useless-call -- required for testing\n method.call(null, argument || function () { return 1; }, 1);\n });\n};\n","'use strict';\nvar collection = require('../internals/collection');\nvar collectionStrong = require('../internals/collection-strong');\n\n// `Set` constructor\n// https://tc39.es/ecma262/#sec-set-objects\ncollection('Set', function (init) {\n return function Set() { return init(this, arguments.length ? arguments[0] : undefined); };\n}, collectionStrong);\n","var classof = require('../internals/classof');\nvar getMethod = require('../internals/get-method');\nvar Iterators = require('../internals/iterators');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\n\nmodule.exports = function (it) {\n if (it != undefined) return getMethod(it, ITERATOR)\n || getMethod(it, '@@iterator')\n || Iterators[classof(it)];\n};\n","var $ = require('../internals/export');\nvar parseInt = require('../internals/number-parse-int');\n\n// `Number.parseInt` method\n// https://tc39.es/ecma262/#sec-number.parseint\n// eslint-disable-next-line es/no-number-parseint -- required for testing\n$({ target: 'Number', stat: true, forced: Number.parseInt != parseInt }, {\n parseInt: parseInt\n});\n","var global = require('../internals/global');\nvar call = require('../internals/function-call');\nvar isObject = require('../internals/is-object');\nvar isSymbol = require('../internals/is-symbol');\nvar getMethod = require('../internals/get-method');\nvar ordinaryToPrimitive = require('../internals/ordinary-to-primitive');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TypeError = global.TypeError;\nvar TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\n\n// `ToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-toprimitive\nmodule.exports = function (input, pref) {\n if (!isObject(input) || isSymbol(input)) return input;\n var exoticToPrim = getMethod(input, TO_PRIMITIVE);\n var result;\n if (exoticToPrim) {\n if (pref === undefined) pref = 'default';\n result = call(exoticToPrim, input, pref);\n if (!isObject(result) || isSymbol(result)) return result;\n throw TypeError(\"Can't convert object to primitive value\");\n }\n if (pref === undefined) pref = 'number';\n return ordinaryToPrimitive(input, pref);\n};\n","/* eslint-disable es/no-symbol -- required for testing */\nvar NATIVE_SYMBOL = require('../internals/native-symbol');\n\nmodule.exports = NATIVE_SYMBOL\n && !Symbol.sham\n && typeof Symbol.iterator == 'symbol';\n","var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar createElement = require('../internals/document-create-element');\n\n// Thanks to IE8 for its funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () { return 7; }\n }).a != 7;\n});\n","var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\n\n// V8 ~ Chrome 36-\n// https://bugs.chromium.org/p/v8/issues/detail?id=3334\nmodule.exports = DESCRIPTORS && fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty(function () { /* empty */ }, 'prototype', {\n value: 42,\n writable: false\n }).prototype != 42;\n});\n","var hasOwn = require('../internals/has-own-property');\nvar ownKeys = require('../internals/own-keys');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\n\nmodule.exports = function (target, source, exceptions) {\n var keys = ownKeys(source);\n var defineProperty = definePropertyModule.f;\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n if (!hasOwn(target, key) && !(exceptions && hasOwn(exceptions, key))) {\n defineProperty(target, key, getOwnPropertyDescriptor(source, key));\n }\n }\n};\n","var getBuiltIn = require('../internals/get-built-in');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar anObject = require('../internals/an-object');\n\nvar concat = uncurryThis([].concat);\n\n// all object keys, includes non-enumerable and symbols\nmodule.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {\n var keys = getOwnPropertyNamesModule.f(anObject(it));\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return getOwnPropertySymbols ? concat(keys, getOwnPropertySymbols(it)) : keys;\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar hasOwn = require('../internals/has-own-property');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar indexOf = require('../internals/array-includes').indexOf;\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar push = uncurryThis([].push);\n\nmodule.exports = function (object, names) {\n var O = toIndexedObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) !hasOwn(hiddenKeys, key) && hasOwn(O, key) && push(result, key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (hasOwn(O, key = names[i++])) {\n ~indexOf(result, key) || push(result, key);\n }\n return result;\n};\n","var toIndexedObject = require('../internals/to-indexed-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\n\n// `Array.prototype.{ indexOf, includes }` methods implementation\nvar createMethod = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIndexedObject($this);\n var length = lengthOfArrayLike(O);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare -- NaN check\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare -- NaN check\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) {\n if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.includes` method\n // https://tc39.es/ecma262/#sec-array.prototype.includes\n includes: createMethod(true),\n // `Array.prototype.indexOf` method\n // https://tc39.es/ecma262/#sec-array.prototype.indexof\n indexOf: createMethod(false)\n};\n","var fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n function F() { /* empty */ }\n F.prototype.constructor = null;\n // eslint-disable-next-line es/no-object-getprototypeof -- required for testing\n return Object.getPrototypeOf(new F()) !== F.prototype;\n});\n","var global = require('../internals/global');\nvar isConstructor = require('../internals/is-constructor');\nvar tryToString = require('../internals/try-to-string');\n\nvar TypeError = global.TypeError;\n\n// `Assert: IsConstructor(argument) is true`\nmodule.exports = function (argument) {\n if (isConstructor(argument)) return argument;\n throw TypeError(tryToString(argument) + ' is not a constructor');\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar V8_PROTOTYPE_DEFINE_BUG = require('../internals/v8-prototype-define-bug');\nvar definePropertyModule = require('../internals/object-define-property');\nvar anObject = require('../internals/an-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar objectKeys = require('../internals/object-keys');\n\n// `Object.defineProperties` method\n// https://tc39.es/ecma262/#sec-object.defineproperties\n// eslint-disable-next-line es/no-object-defineproperties -- safe\nexports.f = DESCRIPTORS && !V8_PROTOTYPE_DEFINE_BUG ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var props = toIndexedObject(Properties);\n var keys = objectKeys(Properties);\n var length = keys.length;\n var index = 0;\n var key;\n while (length > index) definePropertyModule.f(O, key = keys[index++], props[key]);\n return O;\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nexports.f = wellKnownSymbol;\n","var path = require('../internals/path');\nvar hasOwn = require('../internals/has-own-property');\nvar wrappedWellKnownSymbolModule = require('../internals/well-known-symbol-wrapped');\nvar defineProperty = require('../internals/object-define-property').f;\n\nmodule.exports = function (NAME) {\n var Symbol = path.Symbol || (path.Symbol = {});\n if (!hasOwn(Symbol, NAME)) defineProperty(Symbol, NAME, {\n value: wrappedWellKnownSymbolModule.f(NAME)\n });\n};\n","var arraySpeciesConstructor = require('../internals/array-species-constructor');\n\n// `ArraySpeciesCreate` abstract operation\n// https://tc39.es/ecma262/#sec-arrayspeciescreate\nmodule.exports = function (originalArray, length) {\n return new (arraySpeciesConstructor(originalArray))(length === 0 ? 0 : length);\n};\n","'use strict';\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar create = require('../internals/object-create');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar redefine = require('../internals/redefine');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar BUGGY_SAFARI_ITERATORS = false;\n\n// `%IteratorPrototype%` object\n// https://tc39.es/ecma262/#sec-%iteratorprototype%-object\nvar IteratorPrototype, PrototypeOfArrayIteratorPrototype, arrayIterator;\n\n/* eslint-disable es/no-array-prototype-keys -- safe */\nif ([].keys) {\n arrayIterator = [].keys();\n // Safari 8 has buggy iterators w/o `next`\n if (!('next' in arrayIterator)) BUGGY_SAFARI_ITERATORS = true;\n else {\n PrototypeOfArrayIteratorPrototype = getPrototypeOf(getPrototypeOf(arrayIterator));\n if (PrototypeOfArrayIteratorPrototype !== Object.prototype) IteratorPrototype = PrototypeOfArrayIteratorPrototype;\n }\n}\n\nvar NEW_ITERATOR_PROTOTYPE = IteratorPrototype == undefined || fails(function () {\n var test = {};\n // FF44- legacy iterators case\n return IteratorPrototype[ITERATOR].call(test) !== test;\n});\n\nif (NEW_ITERATOR_PROTOTYPE) IteratorPrototype = {};\nelse if (IS_PURE) IteratorPrototype = create(IteratorPrototype);\n\n// `%IteratorPrototype%[@@iterator]()` method\n// https://tc39.es/ecma262/#sec-%iteratorprototype%-@@iterator\nif (!isCallable(IteratorPrototype[ITERATOR])) {\n redefine(IteratorPrototype, ITERATOR, function () {\n return this;\n });\n}\n\nmodule.exports = {\n IteratorPrototype: IteratorPrototype,\n BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\nvar toString = require('../internals/to-string');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar charAt = uncurryThis(''.charAt);\nvar charCodeAt = uncurryThis(''.charCodeAt);\nvar stringSlice = uncurryThis(''.slice);\n\nvar createMethod = function (CONVERT_TO_STRING) {\n return function ($this, pos) {\n var S = toString(requireObjectCoercible($this));\n var position = toIntegerOrInfinity(pos);\n var size = S.length;\n var first, second;\n if (position < 0 || position >= size) return CONVERT_TO_STRING ? '' : undefined;\n first = charCodeAt(S, position);\n return first < 0xD800 || first > 0xDBFF || position + 1 === size\n || (second = charCodeAt(S, position + 1)) < 0xDC00 || second > 0xDFFF\n ? CONVERT_TO_STRING\n ? charAt(S, position)\n : first\n : CONVERT_TO_STRING\n ? stringSlice(S, position, position + 2)\n : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000;\n };\n};\n\nmodule.exports = {\n // `String.prototype.codePointAt` method\n // https://tc39.es/ecma262/#sec-string.prototype.codepointat\n codeAt: createMethod(false),\n // `String.prototype.at` method\n // https://github.com/mathiasbynens/String.prototype.at\n charAt: createMethod(true)\n};\n","// iterable DOM collections\n// flag - `iterable` interface - 'entries', 'keys', 'values', 'forEach' methods\nmodule.exports = {\n CSSRuleList: 0,\n CSSStyleDeclaration: 0,\n CSSValueList: 0,\n ClientRectList: 0,\n DOMRectList: 0,\n DOMStringList: 0,\n DOMTokenList: 1,\n DataTransferItemList: 0,\n FileList: 0,\n HTMLAllCollection: 0,\n HTMLCollection: 0,\n HTMLFormElement: 0,\n HTMLSelectElement: 0,\n MediaList: 0,\n MimeTypeArray: 0,\n NamedNodeMap: 0,\n NodeList: 1,\n PaintRequestList: 0,\n Plugin: 0,\n PluginArray: 0,\n SVGLengthList: 0,\n SVGNumberList: 0,\n SVGPathSegList: 0,\n SVGPointList: 0,\n SVGStringList: 0,\n SVGTransformList: 0,\n SourceBufferList: 0,\n StyleSheetList: 0,\n TextTrackCueList: 0,\n TextTrackList: 0,\n TouchList: 0\n};\n","// in old WebKit versions, `element.classList` is not an instance of global `DOMTokenList`\nvar documentCreateElement = require('../internals/document-create-element');\n\nvar classList = documentCreateElement('span').classList;\nvar DOMTokenListPrototype = classList && classList.constructor && classList.constructor.prototype;\n\nmodule.exports = DOMTokenListPrototype === Object.prototype ? undefined : DOMTokenListPrototype;\n","var fails = require('../internals/fails');\nvar global = require('../internals/global');\n\n// babel-minify and Closure Compiler transpiles RegExp('.', 's') -> /./s and it causes SyntaxError\nvar $RegExp = global.RegExp;\n\nmodule.exports = fails(function () {\n var re = $RegExp('.', 's');\n return !(re.dotAll && re.exec('\\n') && re.flags === 's');\n});\n","var fails = require('../internals/fails');\nvar global = require('../internals/global');\n\n// babel-minify and Closure Compiler transpiles RegExp('(?b)', 'g') -> /(?b)/g and it causes SyntaxError\nvar $RegExp = global.RegExp;\n\nmodule.exports = fails(function () {\n var re = $RegExp('(?b)', 'g');\n return re.exec('b').groups.a !== 'b' ||\n 'b'.replace(re, '$c') !== 'bc';\n});\n","var global = require('../internals/global');\nvar isRegExp = require('../internals/is-regexp');\n\nvar TypeError = global.TypeError;\n\nmodule.exports = function (it) {\n if (isRegExp(it)) {\n throw TypeError(\"The method doesn't accept regular expressions\");\n } return it;\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar MATCH = wellKnownSymbol('match');\n\nmodule.exports = function (METHOD_NAME) {\n var regexp = /./;\n try {\n '/./'[METHOD_NAME](regexp);\n } catch (error1) {\n try {\n regexp[MATCH] = false;\n return '/./'[METHOD_NAME](regexp);\n } catch (error2) { /* empty */ }\n } return false;\n};\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar definePropertyModule = require('../internals/object-define-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar DESCRIPTORS = require('../internals/descriptors');\n\nvar SPECIES = wellKnownSymbol('species');\n\nmodule.exports = function (CONSTRUCTOR_NAME) {\n var Constructor = getBuiltIn(CONSTRUCTOR_NAME);\n var defineProperty = definePropertyModule.f;\n\n if (DESCRIPTORS && Constructor && !Constructor[SPECIES]) {\n defineProperty(Constructor, SPECIES, {\n configurable: true,\n get: function () { return this; }\n });\n }\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar isForced = require('../internals/is-forced');\nvar redefine = require('../internals/redefine');\nvar InternalMetadataModule = require('../internals/internal-metadata');\nvar iterate = require('../internals/iterate');\nvar anInstance = require('../internals/an-instance');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\nvar fails = require('../internals/fails');\nvar checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar inheritIfRequired = require('../internals/inherit-if-required');\n\nmodule.exports = function (CONSTRUCTOR_NAME, wrapper, common) {\n var IS_MAP = CONSTRUCTOR_NAME.indexOf('Map') !== -1;\n var IS_WEAK = CONSTRUCTOR_NAME.indexOf('Weak') !== -1;\n var ADDER = IS_MAP ? 'set' : 'add';\n var NativeConstructor = global[CONSTRUCTOR_NAME];\n var NativePrototype = NativeConstructor && NativeConstructor.prototype;\n var Constructor = NativeConstructor;\n var exported = {};\n\n var fixMethod = function (KEY) {\n var uncurriedNativeMethod = uncurryThis(NativePrototype[KEY]);\n redefine(NativePrototype, KEY,\n KEY == 'add' ? function add(value) {\n uncurriedNativeMethod(this, value === 0 ? 0 : value);\n return this;\n } : KEY == 'delete' ? function (key) {\n return IS_WEAK && !isObject(key) ? false : uncurriedNativeMethod(this, key === 0 ? 0 : key);\n } : KEY == 'get' ? function get(key) {\n return IS_WEAK && !isObject(key) ? undefined : uncurriedNativeMethod(this, key === 0 ? 0 : key);\n } : KEY == 'has' ? function has(key) {\n return IS_WEAK && !isObject(key) ? false : uncurriedNativeMethod(this, key === 0 ? 0 : key);\n } : function set(key, value) {\n uncurriedNativeMethod(this, key === 0 ? 0 : key, value);\n return this;\n }\n );\n };\n\n var REPLACE = isForced(\n CONSTRUCTOR_NAME,\n !isCallable(NativeConstructor) || !(IS_WEAK || NativePrototype.forEach && !fails(function () {\n new NativeConstructor().entries().next();\n }))\n );\n\n if (REPLACE) {\n // create collection constructor\n Constructor = common.getConstructor(wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER);\n InternalMetadataModule.enable();\n } else if (isForced(CONSTRUCTOR_NAME, true)) {\n var instance = new Constructor();\n // early implementations not supports chaining\n var HASNT_CHAINING = instance[ADDER](IS_WEAK ? {} : -0, 1) != instance;\n // V8 ~ Chromium 40- weak-collections throws on primitives, but should return false\n var THROWS_ON_PRIMITIVES = fails(function () { instance.has(1); });\n // most early implementations doesn't supports iterables, most modern - not close it correctly\n // eslint-disable-next-line no-new -- required for testing\n var ACCEPT_ITERABLES = checkCorrectnessOfIteration(function (iterable) { new NativeConstructor(iterable); });\n // for early implementations -0 and +0 not the same\n var BUGGY_ZERO = !IS_WEAK && fails(function () {\n // V8 ~ Chromium 42- fails only with 5+ elements\n var $instance = new NativeConstructor();\n var index = 5;\n while (index--) $instance[ADDER](index, index);\n return !$instance.has(-0);\n });\n\n if (!ACCEPT_ITERABLES) {\n Constructor = wrapper(function (dummy, iterable) {\n anInstance(dummy, NativePrototype);\n var that = inheritIfRequired(new NativeConstructor(), dummy, Constructor);\n if (iterable != undefined) iterate(iterable, that[ADDER], { that: that, AS_ENTRIES: IS_MAP });\n return that;\n });\n Constructor.prototype = NativePrototype;\n NativePrototype.constructor = Constructor;\n }\n\n if (THROWS_ON_PRIMITIVES || BUGGY_ZERO) {\n fixMethod('delete');\n fixMethod('has');\n IS_MAP && fixMethod('get');\n }\n\n if (BUGGY_ZERO || HASNT_CHAINING) fixMethod(ADDER);\n\n // weak collections should not contains .clear method\n if (IS_WEAK && NativePrototype.clear) delete NativePrototype.clear;\n }\n\n exported[CONSTRUCTOR_NAME] = Constructor;\n $({ global: true, forced: Constructor != NativeConstructor }, exported);\n\n setToStringTag(Constructor, CONSTRUCTOR_NAME);\n\n if (!IS_WEAK) common.setStrong(Constructor, CONSTRUCTOR_NAME, IS_MAP);\n\n return Constructor;\n};\n","var $ = require('../internals/export');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar isObject = require('../internals/is-object');\nvar hasOwn = require('../internals/has-own-property');\nvar defineProperty = require('../internals/object-define-property').f;\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertyNamesExternalModule = require('../internals/object-get-own-property-names-external');\nvar isExtensible = require('../internals/object-is-extensible');\nvar uid = require('../internals/uid');\nvar FREEZING = require('../internals/freezing');\n\nvar REQUIRED = false;\nvar METADATA = uid('meta');\nvar id = 0;\n\nvar setMetadata = function (it) {\n defineProperty(it, METADATA, { value: {\n objectID: 'O' + id++, // object ID\n weakData: {} // weak collections IDs\n } });\n};\n\nvar fastKey = function (it, create) {\n // return a primitive with prefix\n if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n if (!hasOwn(it, METADATA)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return 'F';\n // not necessary to add metadata\n if (!create) return 'E';\n // add missing metadata\n setMetadata(it);\n // return object ID\n } return it[METADATA].objectID;\n};\n\nvar getWeakData = function (it, create) {\n if (!hasOwn(it, METADATA)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return true;\n // not necessary to add metadata\n if (!create) return false;\n // add missing metadata\n setMetadata(it);\n // return the store of weak collections IDs\n } return it[METADATA].weakData;\n};\n\n// add metadata on freeze-family methods calling\nvar onFreeze = function (it) {\n if (FREEZING && REQUIRED && isExtensible(it) && !hasOwn(it, METADATA)) setMetadata(it);\n return it;\n};\n\nvar enable = function () {\n meta.enable = function () { /* empty */ };\n REQUIRED = true;\n var getOwnPropertyNames = getOwnPropertyNamesModule.f;\n var splice = uncurryThis([].splice);\n var test = {};\n test[METADATA] = 1;\n\n // prevent exposing of metadata key\n if (getOwnPropertyNames(test).length) {\n getOwnPropertyNamesModule.f = function (it) {\n var result = getOwnPropertyNames(it);\n for (var i = 0, length = result.length; i < length; i++) {\n if (result[i] === METADATA) {\n splice(result, i, 1);\n break;\n }\n } return result;\n };\n\n $({ target: 'Object', stat: true, forced: true }, {\n getOwnPropertyNames: getOwnPropertyNamesExternalModule.f\n });\n }\n};\n\nvar meta = module.exports = {\n enable: enable,\n fastKey: fastKey,\n getWeakData: getWeakData,\n onFreeze: onFreeze\n};\n\nhiddenKeys[METADATA] = true;\n","var global = require('../internals/global');\nvar bind = require('../internals/function-bind-context');\nvar call = require('../internals/function-call');\nvar anObject = require('../internals/an-object');\nvar tryToString = require('../internals/try-to-string');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar getIterator = require('../internals/get-iterator');\nvar getIteratorMethod = require('../internals/get-iterator-method');\nvar iteratorClose = require('../internals/iterator-close');\n\nvar TypeError = global.TypeError;\n\nvar Result = function (stopped, result) {\n this.stopped = stopped;\n this.result = result;\n};\n\nvar ResultPrototype = Result.prototype;\n\nmodule.exports = function (iterable, unboundFunction, options) {\n var that = options && options.that;\n var AS_ENTRIES = !!(options && options.AS_ENTRIES);\n var IS_ITERATOR = !!(options && options.IS_ITERATOR);\n var INTERRUPTED = !!(options && options.INTERRUPTED);\n var fn = bind(unboundFunction, that);\n var iterator, iterFn, index, length, result, next, step;\n\n var stop = function (condition) {\n if (iterator) iteratorClose(iterator, 'normal', condition);\n return new Result(true, condition);\n };\n\n var callFn = function (value) {\n if (AS_ENTRIES) {\n anObject(value);\n return INTERRUPTED ? fn(value[0], value[1], stop) : fn(value[0], value[1]);\n } return INTERRUPTED ? fn(value, stop) : fn(value);\n };\n\n if (IS_ITERATOR) {\n iterator = iterable;\n } else {\n iterFn = getIteratorMethod(iterable);\n if (!iterFn) throw TypeError(tryToString(iterable) + ' is not iterable');\n // optimisation for array iterators\n if (isArrayIteratorMethod(iterFn)) {\n for (index = 0, length = lengthOfArrayLike(iterable); length > index; index++) {\n result = callFn(iterable[index]);\n if (result && isPrototypeOf(ResultPrototype, result)) return result;\n } return new Result(false);\n }\n iterator = getIterator(iterable, iterFn);\n }\n\n next = iterator.next;\n while (!(step = call(next, iterator)).done) {\n try {\n result = callFn(step.value);\n } catch (error) {\n iteratorClose(iterator, 'throw', error);\n }\n if (typeof result == 'object' && result && isPrototypeOf(ResultPrototype, result)) return result;\n } return new Result(false);\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\nvar Iterators = require('../internals/iterators');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar ArrayPrototype = Array.prototype;\n\n// check on default Array iterator\nmodule.exports = function (it) {\n return it !== undefined && (Iterators.Array === it || ArrayPrototype[ITERATOR] === it);\n};\n","var global = require('../internals/global');\nvar call = require('../internals/function-call');\nvar aCallable = require('../internals/a-callable');\nvar anObject = require('../internals/an-object');\nvar tryToString = require('../internals/try-to-string');\nvar getIteratorMethod = require('../internals/get-iterator-method');\n\nvar TypeError = global.TypeError;\n\nmodule.exports = function (argument, usingIterator) {\n var iteratorMethod = arguments.length < 2 ? getIteratorMethod(argument) : usingIterator;\n if (aCallable(iteratorMethod)) return anObject(call(iteratorMethod, argument));\n throw TypeError(tryToString(argument) + ' is not iterable');\n};\n","var call = require('../internals/function-call');\nvar anObject = require('../internals/an-object');\nvar getMethod = require('../internals/get-method');\n\nmodule.exports = function (iterator, kind, value) {\n var innerResult, innerError;\n anObject(iterator);\n try {\n innerResult = getMethod(iterator, 'return');\n if (!innerResult) {\n if (kind === 'throw') throw value;\n return value;\n }\n innerResult = call(innerResult, iterator);\n } catch (error) {\n innerError = true;\n innerResult = error;\n }\n if (kind === 'throw') throw value;\n if (innerError) throw innerResult;\n anObject(innerResult);\n return value;\n};\n","var global = require('../internals/global');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\n\nvar TypeError = global.TypeError;\n\nmodule.exports = function (it, Prototype) {\n if (isPrototypeOf(Prototype, it)) return it;\n throw TypeError('Incorrect invocation');\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar SAFE_CLOSING = false;\n\ntry {\n var called = 0;\n var iteratorWithReturn = {\n next: function () {\n return { done: !!called++ };\n },\n 'return': function () {\n SAFE_CLOSING = true;\n }\n };\n iteratorWithReturn[ITERATOR] = function () {\n return this;\n };\n // eslint-disable-next-line es/no-array-from, no-throw-literal -- required for testing\n Array.from(iteratorWithReturn, function () { throw 2; });\n} catch (error) { /* empty */ }\n\nmodule.exports = function (exec, SKIP_CLOSING) {\n if (!SKIP_CLOSING && !SAFE_CLOSING) return false;\n var ITERATION_SUPPORT = false;\n try {\n var object = {};\n object[ITERATOR] = function () {\n return {\n next: function () {\n return { done: ITERATION_SUPPORT = true };\n }\n };\n };\n exec(object);\n } catch (error) { /* empty */ }\n return ITERATION_SUPPORT;\n};\n","'use strict';\nvar defineProperty = require('../internals/object-define-property').f;\nvar create = require('../internals/object-create');\nvar redefineAll = require('../internals/redefine-all');\nvar bind = require('../internals/function-bind-context');\nvar anInstance = require('../internals/an-instance');\nvar iterate = require('../internals/iterate');\nvar defineIterator = require('../internals/define-iterator');\nvar setSpecies = require('../internals/set-species');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fastKey = require('../internals/internal-metadata').fastKey;\nvar InternalStateModule = require('../internals/internal-state');\n\nvar setInternalState = InternalStateModule.set;\nvar internalStateGetterFor = InternalStateModule.getterFor;\n\nmodule.exports = {\n getConstructor: function (wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER) {\n var Constructor = wrapper(function (that, iterable) {\n anInstance(that, Prototype);\n setInternalState(that, {\n type: CONSTRUCTOR_NAME,\n index: create(null),\n first: undefined,\n last: undefined,\n size: 0\n });\n if (!DESCRIPTORS) that.size = 0;\n if (iterable != undefined) iterate(iterable, that[ADDER], { that: that, AS_ENTRIES: IS_MAP });\n });\n\n var Prototype = Constructor.prototype;\n\n var getInternalState = internalStateGetterFor(CONSTRUCTOR_NAME);\n\n var define = function (that, key, value) {\n var state = getInternalState(that);\n var entry = getEntry(that, key);\n var previous, index;\n // change existing entry\n if (entry) {\n entry.value = value;\n // create new entry\n } else {\n state.last = entry = {\n index: index = fastKey(key, true),\n key: key,\n value: value,\n previous: previous = state.last,\n next: undefined,\n removed: false\n };\n if (!state.first) state.first = entry;\n if (previous) previous.next = entry;\n if (DESCRIPTORS) state.size++;\n else that.size++;\n // add to index\n if (index !== 'F') state.index[index] = entry;\n } return that;\n };\n\n var getEntry = function (that, key) {\n var state = getInternalState(that);\n // fast case\n var index = fastKey(key);\n var entry;\n if (index !== 'F') return state.index[index];\n // frozen object case\n for (entry = state.first; entry; entry = entry.next) {\n if (entry.key == key) return entry;\n }\n };\n\n redefineAll(Prototype, {\n // `{ Map, Set }.prototype.clear()` methods\n // https://tc39.es/ecma262/#sec-map.prototype.clear\n // https://tc39.es/ecma262/#sec-set.prototype.clear\n clear: function clear() {\n var that = this;\n var state = getInternalState(that);\n var data = state.index;\n var entry = state.first;\n while (entry) {\n entry.removed = true;\n if (entry.previous) entry.previous = entry.previous.next = undefined;\n delete data[entry.index];\n entry = entry.next;\n }\n state.first = state.last = undefined;\n if (DESCRIPTORS) state.size = 0;\n else that.size = 0;\n },\n // `{ Map, Set }.prototype.delete(key)` methods\n // https://tc39.es/ecma262/#sec-map.prototype.delete\n // https://tc39.es/ecma262/#sec-set.prototype.delete\n 'delete': function (key) {\n var that = this;\n var state = getInternalState(that);\n var entry = getEntry(that, key);\n if (entry) {\n var next = entry.next;\n var prev = entry.previous;\n delete state.index[entry.index];\n entry.removed = true;\n if (prev) prev.next = next;\n if (next) next.previous = prev;\n if (state.first == entry) state.first = next;\n if (state.last == entry) state.last = prev;\n if (DESCRIPTORS) state.size--;\n else that.size--;\n } return !!entry;\n },\n // `{ Map, Set }.prototype.forEach(callbackfn, thisArg = undefined)` methods\n // https://tc39.es/ecma262/#sec-map.prototype.foreach\n // https://tc39.es/ecma262/#sec-set.prototype.foreach\n forEach: function forEach(callbackfn /* , that = undefined */) {\n var state = getInternalState(this);\n var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n var entry;\n while (entry = entry ? entry.next : state.first) {\n boundFunction(entry.value, entry.key, this);\n // revert to the last existing entry\n while (entry && entry.removed) entry = entry.previous;\n }\n },\n // `{ Map, Set}.prototype.has(key)` methods\n // https://tc39.es/ecma262/#sec-map.prototype.has\n // https://tc39.es/ecma262/#sec-set.prototype.has\n has: function has(key) {\n return !!getEntry(this, key);\n }\n });\n\n redefineAll(Prototype, IS_MAP ? {\n // `Map.prototype.get(key)` method\n // https://tc39.es/ecma262/#sec-map.prototype.get\n get: function get(key) {\n var entry = getEntry(this, key);\n return entry && entry.value;\n },\n // `Map.prototype.set(key, value)` method\n // https://tc39.es/ecma262/#sec-map.prototype.set\n set: function set(key, value) {\n return define(this, key === 0 ? 0 : key, value);\n }\n } : {\n // `Set.prototype.add(value)` method\n // https://tc39.es/ecma262/#sec-set.prototype.add\n add: function add(value) {\n return define(this, value = value === 0 ? 0 : value, value);\n }\n });\n if (DESCRIPTORS) defineProperty(Prototype, 'size', {\n get: function () {\n return getInternalState(this).size;\n }\n });\n return Constructor;\n },\n setStrong: function (Constructor, CONSTRUCTOR_NAME, IS_MAP) {\n var ITERATOR_NAME = CONSTRUCTOR_NAME + ' Iterator';\n var getInternalCollectionState = internalStateGetterFor(CONSTRUCTOR_NAME);\n var getInternalIteratorState = internalStateGetterFor(ITERATOR_NAME);\n // `{ Map, Set }.prototype.{ keys, values, entries, @@iterator }()` methods\n // https://tc39.es/ecma262/#sec-map.prototype.entries\n // https://tc39.es/ecma262/#sec-map.prototype.keys\n // https://tc39.es/ecma262/#sec-map.prototype.values\n // https://tc39.es/ecma262/#sec-map.prototype-@@iterator\n // https://tc39.es/ecma262/#sec-set.prototype.entries\n // https://tc39.es/ecma262/#sec-set.prototype.keys\n // https://tc39.es/ecma262/#sec-set.prototype.values\n // https://tc39.es/ecma262/#sec-set.prototype-@@iterator\n defineIterator(Constructor, CONSTRUCTOR_NAME, function (iterated, kind) {\n setInternalState(this, {\n type: ITERATOR_NAME,\n target: iterated,\n state: getInternalCollectionState(iterated),\n kind: kind,\n last: undefined\n });\n }, function () {\n var state = getInternalIteratorState(this);\n var kind = state.kind;\n var entry = state.last;\n // revert to the last existing entry\n while (entry && entry.removed) entry = entry.previous;\n // get next entry\n if (!state.target || !(state.last = entry = entry ? entry.next : state.state.first)) {\n // or finish the iteration\n state.target = undefined;\n return { value: undefined, done: true };\n }\n // return step by kind\n if (kind == 'keys') return { value: entry.key, done: false };\n if (kind == 'values') return { value: entry.value, done: false };\n return { value: [entry.key, entry.value], done: false };\n }, IS_MAP ? 'entries' : 'values', !IS_MAP, true);\n\n // `{ Map, Set }.prototype[@@species]` accessors\n // https://tc39.es/ecma262/#sec-get-map-@@species\n // https://tc39.es/ecma262/#sec-get-set-@@species\n setSpecies(CONSTRUCTOR_NAME);\n }\n};\n","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n","var global = require('../internals/global');\nvar call = require('../internals/function-call');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\n\nvar TypeError = global.TypeError;\n\n// `OrdinaryToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-ordinarytoprimitive\nmodule.exports = function (input, pref) {\n var fn, val;\n if (pref === 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n if (isCallable(fn = input.valueOf) && !isObject(val = call(fn, input))) return val;\n if (pref !== 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n","var global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\nvar inspectSource = require('../internals/inspect-source');\n\nvar WeakMap = global.WeakMap;\n\nmodule.exports = isCallable(WeakMap) && /native code/.test(inspectSource(WeakMap));\n","var global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\n\nvar String = global.String;\nvar TypeError = global.TypeError;\n\nmodule.exports = function (argument) {\n if (typeof argument == 'object' || isCallable(argument)) return argument;\n throw TypeError(\"Can't set \" + String(argument) + ' as a prototype');\n};\n","'use strict';\nvar TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar classof = require('../internals/classof');\n\n// `Object.prototype.toString` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.tostring\nmodule.exports = TO_STRING_TAG_SUPPORT ? {}.toString : function toString() {\n return '[object ' + classof(this) + ']';\n};\n","'use strict';\nvar global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar aCallable = require('../internals/a-callable');\nvar isObject = require('../internals/is-object');\nvar hasOwn = require('../internals/has-own-property');\nvar arraySlice = require('../internals/array-slice');\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar Function = global.Function;\nvar concat = uncurryThis([].concat);\nvar join = uncurryThis([].join);\nvar factories = {};\n\nvar construct = function (C, argsLength, args) {\n if (!hasOwn(factories, argsLength)) {\n for (var list = [], i = 0; i < argsLength; i++) list[i] = 'a[' + i + ']';\n factories[argsLength] = Function('C,a', 'return new C(' + join(list, ',') + ')');\n } return factories[argsLength](C, args);\n};\n\n// `Function.prototype.bind` method implementation\n// https://tc39.es/ecma262/#sec-function.prototype.bind\nmodule.exports = NATIVE_BIND ? Function.bind : function bind(that /* , ...args */) {\n var F = aCallable(this);\n var Prototype = F.prototype;\n var partArgs = arraySlice(arguments, 1);\n var boundFunction = function bound(/* args... */) {\n var args = concat(partArgs, arraySlice(arguments));\n return this instanceof boundFunction ? construct(F, args.length, args) : F.apply(that, args);\n };\n if (isObject(Prototype)) boundFunction.prototype = Prototype;\n return boundFunction;\n};\n","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('document', 'documentElement');\n","var global = require('../internals/global');\n\nmodule.exports = global;\n","var global = require('../internals/global');\nvar isArray = require('../internals/is-array');\nvar isConstructor = require('../internals/is-constructor');\nvar isObject = require('../internals/is-object');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\nvar Array = global.Array;\n\n// a part of `ArraySpeciesCreate` abstract operation\n// https://tc39.es/ecma262/#sec-arrayspeciescreate\nmodule.exports = function (originalArray) {\n var C;\n if (isArray(originalArray)) {\n C = originalArray.constructor;\n // cross-realm fallback\n if (isConstructor(C) && (C === Array || isArray(C.prototype))) C = undefined;\n else if (isObject(C)) {\n C = C[SPECIES];\n if (C === null) C = undefined;\n }\n } return C === undefined ? Array : C;\n};\n","'use strict';\nvar IteratorPrototype = require('../internals/iterators-core').IteratorPrototype;\nvar create = require('../internals/object-create');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar Iterators = require('../internals/iterators');\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (IteratorConstructor, NAME, next, ENUMERABLE_NEXT) {\n var TO_STRING_TAG = NAME + ' Iterator';\n IteratorConstructor.prototype = create(IteratorPrototype, { next: createPropertyDescriptor(+!ENUMERABLE_NEXT, next) });\n setToStringTag(IteratorConstructor, TO_STRING_TAG, false, true);\n Iterators[TO_STRING_TAG] = returnThis;\n return IteratorConstructor;\n};\n","var anObject = require('../internals/an-object');\nvar aConstructor = require('../internals/a-constructor');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\n\n// `SpeciesConstructor` abstract operation\n// https://tc39.es/ecma262/#sec-speciesconstructor\nmodule.exports = function (O, defaultConstructor) {\n var C = anObject(O).constructor;\n var S;\n return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? defaultConstructor : aConstructor(S);\n};\n","var PROPER_FUNCTION_NAME = require('../internals/function-name').PROPER;\nvar fails = require('../internals/fails');\nvar whitespaces = require('../internals/whitespaces');\n\nvar non = '\\u200B\\u0085\\u180E';\n\n// check that a method works with the correct list\n// of whitespaces and has a correct name\nmodule.exports = function (METHOD_NAME) {\n return fails(function () {\n return !!whitespaces[METHOD_NAME]()\n || non[METHOD_NAME]() !== non\n || (PROPER_FUNCTION_NAME && whitespaces[METHOD_NAME].name !== METHOD_NAME);\n });\n};\n","var global = require('../internals/global');\nvar fails = require('../internals/fails');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar toString = require('../internals/to-string');\nvar trim = require('../internals/string-trim').trim;\nvar whitespaces = require('../internals/whitespaces');\n\nvar charAt = uncurryThis(''.charAt);\nvar n$ParseFloat = global.parseFloat;\nvar Symbol = global.Symbol;\nvar ITERATOR = Symbol && Symbol.iterator;\nvar FORCED = 1 / n$ParseFloat(whitespaces + '-0') !== -Infinity\n // MS Edge 18- broken with boxed symbols\n || (ITERATOR && !fails(function () { n$ParseFloat(Object(ITERATOR)); }));\n\n// `parseFloat` method\n// https://tc39.es/ecma262/#sec-parsefloat-string\nmodule.exports = FORCED ? function parseFloat(string) {\n var trimmedString = trim(toString(string));\n var result = n$ParseFloat(trimmedString);\n return result === 0 && charAt(trimmedString, 0) == '-' ? -0 : result;\n} : n$ParseFloat;\n","var uncurryThis = require('../internals/function-uncurry-this');\n\n// `thisNumberValue` abstract operation\n// https://tc39.es/ecma262/#sec-thisnumbervalue\nmodule.exports = uncurryThis(1.0.valueOf);\n","'use strict';\nvar $forEach = require('../internals/array-iteration').forEach;\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\n\nvar STRICT_METHOD = arrayMethodIsStrict('forEach');\n\n// `Array.prototype.forEach` method implementation\n// https://tc39.es/ecma262/#sec-array.prototype.foreach\nmodule.exports = !STRICT_METHOD ? function forEach(callbackfn /* , thisArg */) {\n return $forEach(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n// eslint-disable-next-line es/no-array-prototype-foreach -- safe\n} : [].forEach;\n","var fails = require('../internals/fails');\nvar isObject = require('../internals/is-object');\nvar classof = require('../internals/classof-raw');\nvar ARRAY_BUFFER_NON_EXTENSIBLE = require('../internals/array-buffer-non-extensible');\n\n// eslint-disable-next-line es/no-object-isextensible -- safe\nvar $isExtensible = Object.isExtensible;\nvar FAILS_ON_PRIMITIVES = fails(function () { $isExtensible(1); });\n\n// `Object.isExtensible` method\n// https://tc39.es/ecma262/#sec-object.isextensible\nmodule.exports = (FAILS_ON_PRIMITIVES || ARRAY_BUFFER_NON_EXTENSIBLE) ? function isExtensible(it) {\n if (!isObject(it)) return false;\n if (ARRAY_BUFFER_NON_EXTENSIBLE && classof(it) == 'ArrayBuffer') return false;\n return $isExtensible ? $isExtensible(it) : true;\n} : $isExtensible;\n","// FF26- bug: ArrayBuffers are non-extensible, but Object.isExtensible does not report it\nvar fails = require('../internals/fails');\n\nmodule.exports = fails(function () {\n if (typeof ArrayBuffer == 'function') {\n var buffer = new ArrayBuffer(8);\n // eslint-disable-next-line es/no-object-isextensible, es/no-object-defineproperty -- safe\n if (Object.isExtensible(buffer)) Object.defineProperty(buffer, 'a', { value: 8 });\n }\n});\n","var fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-object-isextensible, es/no-object-preventextensions -- required for testing\n return Object.isExtensible(Object.preventExtensions({}));\n});\n","var redefine = require('../internals/redefine');\n\nmodule.exports = function (target, src, options) {\n for (var key in src) redefine(target, key, src[key], options);\n return target;\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar toObject = require('../internals/to-object');\n\nvar floor = Math.floor;\nvar charAt = uncurryThis(''.charAt);\nvar replace = uncurryThis(''.replace);\nvar stringSlice = uncurryThis(''.slice);\nvar SUBSTITUTION_SYMBOLS = /\\$([$&'`]|\\d{1,2}|<[^>]*>)/g;\nvar SUBSTITUTION_SYMBOLS_NO_NAMED = /\\$([$&'`]|\\d{1,2})/g;\n\n// `GetSubstitution` abstract operation\n// https://tc39.es/ecma262/#sec-getsubstitution\nmodule.exports = function (matched, str, position, captures, namedCaptures, replacement) {\n var tailPos = position + matched.length;\n var m = captures.length;\n var symbols = SUBSTITUTION_SYMBOLS_NO_NAMED;\n if (namedCaptures !== undefined) {\n namedCaptures = toObject(namedCaptures);\n symbols = SUBSTITUTION_SYMBOLS;\n }\n return replace(replacement, symbols, function (match, ch) {\n var capture;\n switch (charAt(ch, 0)) {\n case '$': return '$';\n case '&': return matched;\n case '`': return stringSlice(str, 0, position);\n case \"'\": return stringSlice(str, tailPos);\n case '<':\n capture = namedCaptures[stringSlice(ch, 1, -1)];\n break;\n default: // \\d\\d?\n var n = +ch;\n if (n === 0) return match;\n if (n > m) {\n var f = floor(n / 10);\n if (f === 0) return match;\n if (f <= m) return captures[f - 1] === undefined ? charAt(ch, 1) : captures[f - 1] + charAt(ch, 1);\n return match;\n }\n capture = captures[n - 1];\n }\n return capture === undefined ? '' : capture;\n });\n};\n","'use strict';\nvar global = require('../internals/global');\nvar bind = require('../internals/function-bind-context');\nvar call = require('../internals/function-call');\nvar toObject = require('../internals/to-object');\nvar callWithSafeIterationClosing = require('../internals/call-with-safe-iteration-closing');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar isConstructor = require('../internals/is-constructor');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar createProperty = require('../internals/create-property');\nvar getIterator = require('../internals/get-iterator');\nvar getIteratorMethod = require('../internals/get-iterator-method');\n\nvar Array = global.Array;\n\n// `Array.from` method implementation\n// https://tc39.es/ecma262/#sec-array.from\nmodule.exports = function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) {\n var O = toObject(arrayLike);\n var IS_CONSTRUCTOR = isConstructor(this);\n var argumentsLength = arguments.length;\n var mapfn = argumentsLength > 1 ? arguments[1] : undefined;\n var mapping = mapfn !== undefined;\n if (mapping) mapfn = bind(mapfn, argumentsLength > 2 ? arguments[2] : undefined);\n var iteratorMethod = getIteratorMethod(O);\n var index = 0;\n var length, result, step, iterator, next, value;\n // if the target is not iterable or it's an array with the default iterator - use a simple case\n if (iteratorMethod && !(this == Array && isArrayIteratorMethod(iteratorMethod))) {\n iterator = getIterator(O, iteratorMethod);\n next = iterator.next;\n result = IS_CONSTRUCTOR ? new this() : [];\n for (;!(step = call(next, iterator)).done; index++) {\n value = mapping ? callWithSafeIterationClosing(iterator, mapfn, [step.value, index], true) : step.value;\n createProperty(result, index, value);\n }\n } else {\n length = lengthOfArrayLike(O);\n result = IS_CONSTRUCTOR ? new this(length) : Array(length);\n for (;length > index; index++) {\n value = mapping ? mapfn(O[index], index) : O[index];\n createProperty(result, index, value);\n }\n }\n result.length = index;\n return result;\n};\n","var anObject = require('../internals/an-object');\nvar iteratorClose = require('../internals/iterator-close');\n\n// call something on iterator step with safe closing on error\nmodule.exports = function (iterator, fn, value, ENTRIES) {\n try {\n return ENTRIES ? fn(anObject(value)[0], value[1]) : fn(value);\n } catch (error) {\n iteratorClose(iterator, 'throw', error);\n }\n};\n","var $ = require('../internals/export');\nvar fails = require('../internals/fails');\nvar getOwnPropertyNames = require('../internals/object-get-own-property-names-external').f;\n\n// eslint-disable-next-line es/no-object-getownpropertynames -- required for testing\nvar FAILS_ON_PRIMITIVES = fails(function () { return !Object.getOwnPropertyNames(1); });\n\n// `Object.getOwnPropertyNames` method\n// https://tc39.es/ecma262/#sec-object.getownpropertynames\n$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES }, {\n getOwnPropertyNames: getOwnPropertyNames\n});\n","'use strict';\nvar collection = require('../internals/collection');\nvar collectionStrong = require('../internals/collection-strong');\n\n// `Map` constructor\n// https://tc39.es/ecma262/#sec-map-objects\ncollection('Map', function (init) {\n return function Map() { return init(this, arguments.length ? arguments[0] : undefined); };\n}, collectionStrong);\n","var global = require('../internals/global');\nvar fails = require('../internals/fails');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar toString = require('../internals/to-string');\nvar trim = require('../internals/string-trim').trim;\nvar whitespaces = require('../internals/whitespaces');\n\nvar $parseInt = global.parseInt;\nvar Symbol = global.Symbol;\nvar ITERATOR = Symbol && Symbol.iterator;\nvar hex = /^[+-]?0x/i;\nvar exec = uncurryThis(hex.exec);\nvar FORCED = $parseInt(whitespaces + '08') !== 8 || $parseInt(whitespaces + '0x16') !== 22\n // MS Edge 18- broken with boxed symbols\n || (ITERATOR && !fails(function () { $parseInt(Object(ITERATOR)); }));\n\n// `parseInt` method\n// https://tc39.es/ecma262/#sec-parseint-string-radix\nmodule.exports = FORCED ? function parseInt(string, radix) {\n var S = trim(toString(string));\n return $parseInt(S, (radix >>> 0) || (exec(hex, S) ? 16 : 10));\n} : $parseInt;\n","var hasOwn = require('../internals/has-own-property');\n\nmodule.exports = function (descriptor) {\n return descriptor !== undefined && (hasOwn(descriptor, 'value') || hasOwn(descriptor, 'writable'));\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar aCallable = require('../internals/a-callable');\nvar toObject = require('../internals/to-object');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar toString = require('../internals/to-string');\nvar fails = require('../internals/fails');\nvar internalSort = require('../internals/array-sort');\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\nvar FF = require('../internals/engine-ff-version');\nvar IE_OR_EDGE = require('../internals/engine-is-ie-or-edge');\nvar V8 = require('../internals/engine-v8-version');\nvar WEBKIT = require('../internals/engine-webkit-version');\n\nvar test = [];\nvar un$Sort = uncurryThis(test.sort);\nvar push = uncurryThis(test.push);\n\n// IE8-\nvar FAILS_ON_UNDEFINED = fails(function () {\n test.sort(undefined);\n});\n// V8 bug\nvar FAILS_ON_NULL = fails(function () {\n test.sort(null);\n});\n// Old WebKit\nvar STRICT_METHOD = arrayMethodIsStrict('sort');\n\nvar STABLE_SORT = !fails(function () {\n // feature detection can be too slow, so check engines versions\n if (V8) return V8 < 70;\n if (FF && FF > 3) return;\n if (IE_OR_EDGE) return true;\n if (WEBKIT) return WEBKIT < 603;\n\n var result = '';\n var code, chr, value, index;\n\n // generate an array with more 512 elements (Chakra and old V8 fails only in this case)\n for (code = 65; code < 76; code++) {\n chr = String.fromCharCode(code);\n\n switch (code) {\n case 66: case 69: case 70: case 72: value = 3; break;\n case 68: case 71: value = 4; break;\n default: value = 2;\n }\n\n for (index = 0; index < 47; index++) {\n test.push({ k: chr + index, v: value });\n }\n }\n\n test.sort(function (a, b) { return b.v - a.v; });\n\n for (index = 0; index < test.length; index++) {\n chr = test[index].k.charAt(0);\n if (result.charAt(result.length - 1) !== chr) result += chr;\n }\n\n return result !== 'DGBEFHACIJK';\n});\n\nvar FORCED = FAILS_ON_UNDEFINED || !FAILS_ON_NULL || !STRICT_METHOD || !STABLE_SORT;\n\nvar getSortCompare = function (comparefn) {\n return function (x, y) {\n if (y === undefined) return -1;\n if (x === undefined) return 1;\n if (comparefn !== undefined) return +comparefn(x, y) || 0;\n return toString(x) > toString(y) ? 1 : -1;\n };\n};\n\n// `Array.prototype.sort` method\n// https://tc39.es/ecma262/#sec-array.prototype.sort\n$({ target: 'Array', proto: true, forced: FORCED }, {\n sort: function sort(comparefn) {\n if (comparefn !== undefined) aCallable(comparefn);\n\n var array = toObject(this);\n\n if (STABLE_SORT) return comparefn === undefined ? un$Sort(array) : un$Sort(array, comparefn);\n\n var items = [];\n var arrayLength = lengthOfArrayLike(array);\n var itemsLength, index;\n\n for (index = 0; index < arrayLength; index++) {\n if (index in array) push(items, array[index]);\n }\n\n internalSort(items, getSortCompare(comparefn));\n\n itemsLength = items.length;\n index = 0;\n\n while (index < itemsLength) array[index] = items[index++];\n while (index < arrayLength) delete array[index++];\n\n return array;\n }\n});\n","var arraySlice = require('../internals/array-slice-simple');\n\nvar floor = Math.floor;\n\nvar mergeSort = function (array, comparefn) {\n var length = array.length;\n var middle = floor(length / 2);\n return length < 8 ? insertionSort(array, comparefn) : merge(\n array,\n mergeSort(arraySlice(array, 0, middle), comparefn),\n mergeSort(arraySlice(array, middle), comparefn),\n comparefn\n );\n};\n\nvar insertionSort = function (array, comparefn) {\n var length = array.length;\n var i = 1;\n var element, j;\n\n while (i < length) {\n j = i;\n element = array[i];\n while (j && comparefn(array[j - 1], element) > 0) {\n array[j] = array[--j];\n }\n if (j !== i++) array[j] = element;\n } return array;\n};\n\nvar merge = function (array, left, right, comparefn) {\n var llength = left.length;\n var rlength = right.length;\n var lindex = 0;\n var rindex = 0;\n\n while (lindex < llength || rindex < rlength) {\n array[lindex + rindex] = (lindex < llength && rindex < rlength)\n ? comparefn(left[lindex], right[rindex]) <= 0 ? left[lindex++] : right[rindex++]\n : lindex < llength ? left[lindex++] : right[rindex++];\n } return array;\n};\n\nmodule.exports = mergeSort;\n","var userAgent = require('../internals/engine-user-agent');\n\nvar firefox = userAgent.match(/firefox\\/(\\d+)/i);\n\nmodule.exports = !!firefox && +firefox[1];\n","var UA = require('../internals/engine-user-agent');\n\nmodule.exports = /MSIE|Trident/.test(UA);\n","var userAgent = require('../internals/engine-user-agent');\n\nvar webkit = userAgent.match(/AppleWebKit\\/(\\d+)\\./);\n\nmodule.exports = !!webkit && +webkit[1];\n","var $ = require('../internals/export');\nvar assign = require('../internals/object-assign');\n\n// `Object.assign` method\n// https://tc39.es/ecma262/#sec-object.assign\n// eslint-disable-next-line es/no-object-assign -- required for testing\n$({ target: 'Object', stat: true, forced: Object.assign !== assign }, {\n assign: assign\n});\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar call = require('../internals/function-call');\nvar fails = require('../internals/fails');\nvar objectKeys = require('../internals/object-keys');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar toObject = require('../internals/to-object');\nvar IndexedObject = require('../internals/indexed-object');\n\n// eslint-disable-next-line es/no-object-assign -- safe\nvar $assign = Object.assign;\n// eslint-disable-next-line es/no-object-defineproperty -- required for testing\nvar defineProperty = Object.defineProperty;\nvar concat = uncurryThis([].concat);\n\n// `Object.assign` method\n// https://tc39.es/ecma262/#sec-object.assign\nmodule.exports = !$assign || fails(function () {\n // should have correct order of operations (Edge bug)\n if (DESCRIPTORS && $assign({ b: 1 }, $assign(defineProperty({}, 'a', {\n enumerable: true,\n get: function () {\n defineProperty(this, 'b', {\n value: 3,\n enumerable: false\n });\n }\n }), { b: 2 })).b !== 1) return true;\n // should work with symbols and should have deterministic property order (V8 bug)\n var A = {};\n var B = {};\n // eslint-disable-next-line es/no-symbol -- safe\n var symbol = Symbol();\n var alphabet = 'abcdefghijklmnopqrst';\n A[symbol] = 7;\n alphabet.split('').forEach(function (chr) { B[chr] = chr; });\n return $assign({}, A)[symbol] != 7 || objectKeys($assign({}, B)).join('') != alphabet;\n}) ? function assign(target, source) { // eslint-disable-line no-unused-vars -- required for `.length`\n var T = toObject(target);\n var argumentsLength = arguments.length;\n var index = 1;\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n var propertyIsEnumerable = propertyIsEnumerableModule.f;\n while (argumentsLength > index) {\n var S = IndexedObject(arguments[index++]);\n var keys = getOwnPropertySymbols ? concat(objectKeys(S), getOwnPropertySymbols(S)) : objectKeys(S);\n var length = keys.length;\n var j = 0;\n var key;\n while (length > j) {\n key = keys[j++];\n if (!DESCRIPTORS || call(propertyIsEnumerable, S, key)) T[key] = S[key];\n }\n } return T;\n} : $assign;\n","'use strict';\nvar $ = require('../internals/export');\nvar $findIndex = require('../internals/array-iteration').findIndex;\nvar addToUnscopables = require('../internals/add-to-unscopables');\n\nvar FIND_INDEX = 'findIndex';\nvar SKIPS_HOLES = true;\n\n// Shouldn't skip holes\nif (FIND_INDEX in []) Array(1)[FIND_INDEX](function () { SKIPS_HOLES = false; });\n\n// `Array.prototype.findIndex` method\n// https://tc39.es/ecma262/#sec-array.prototype.findindex\n$({ target: 'Array', proto: true, forced: SKIPS_HOLES }, {\n findIndex: function findIndex(callbackfn /* , that = undefined */) {\n return $findIndex(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables(FIND_INDEX);\n","var $ = require('../internals/export');\n\n// `Number.isNaN` method\n// https://tc39.es/ecma262/#sec-number.isnan\n$({ target: 'Number', stat: true }, {\n isNaN: function isNaN(number) {\n // eslint-disable-next-line no-self-compare -- NaN check\n return number != number;\n }\n});\n","var $ = require('../internals/export');\nvar $values = require('../internals/object-to-array').values;\n\n// `Object.values` method\n// https://tc39.es/ecma262/#sec-object.values\n$({ target: 'Object', stat: true }, {\n values: function values(O) {\n return $values(O);\n }\n});\n","var DESCRIPTORS = require('../internals/descriptors');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar objectKeys = require('../internals/object-keys');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar $propertyIsEnumerable = require('../internals/object-property-is-enumerable').f;\n\nvar propertyIsEnumerable = uncurryThis($propertyIsEnumerable);\nvar push = uncurryThis([].push);\n\n// `Object.{ entries, values }` methods implementation\nvar createMethod = function (TO_ENTRIES) {\n return function (it) {\n var O = toIndexedObject(it);\n var keys = objectKeys(O);\n var length = keys.length;\n var i = 0;\n var result = [];\n var key;\n while (length > i) {\n key = keys[i++];\n if (!DESCRIPTORS || propertyIsEnumerable(O, key)) {\n push(result, TO_ENTRIES ? [key, O[key]] : O[key]);\n }\n }\n return result;\n };\n};\n\nmodule.exports = {\n // `Object.entries` method\n // https://tc39.es/ecma262/#sec-object.entries\n entries: createMethod(true),\n // `Object.values` method\n // https://tc39.es/ecma262/#sec-object.values\n values: createMethod(false)\n};\n","var $ = require('../internals/export');\n\nvar ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `Math.trunc` method\n// https://tc39.es/ecma262/#sec-math.trunc\n$({ target: 'Math', stat: true }, {\n trunc: function trunc(it) {\n return (it > 0 ? floor : ceil)(it);\n }\n});\n","/**\r\n * --------------------------------------------------------------------------\r\n * Bootstrap (v5.1.3): util/index.js\r\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\r\n * --------------------------------------------------------------------------\r\n */\r\n\r\nconst MAX_UID = 1000000;\r\nconst MILLISECONDS_MULTIPLIER = 1000;\r\nconst TRANSITION_END = 'transitionend';\r\n\r\n// Shoutout AngusCroll (https://goo.gl/pxwQGp)\r\nconst toType = (obj) => {\r\n if (obj === null || obj === undefined) {\r\n return `${obj}`;\r\n }\r\n\r\n return {}.toString\r\n .call(obj)\r\n .match(/\\s([a-z]+)/i)[1]\r\n .toLowerCase();\r\n};\r\n\r\n/**\r\n * --------------------------------------------------------------------------\r\n * Public Util Api\r\n * --------------------------------------------------------------------------\r\n */\r\n\r\nconst getUID = (prefix) => {\r\n do {\r\n prefix += Math.floor(Math.random() * MAX_UID);\r\n } while (document.getElementById(prefix));\r\n\r\n return prefix;\r\n};\r\n\r\nconst getSelector = (element) => {\r\n let selector = element.getAttribute('data-bs-target');\r\n\r\n if (!selector || selector === '#') {\r\n let hrefAttr = element.getAttribute('href');\r\n\r\n // The only valid content that could double as a selector are IDs or classes,\r\n // so everything starting with `#` or `.`. If a \"real\" URL is used as the selector,\r\n // `document.querySelector` will rightfully complain it is invalid.\r\n // See https://github.com/twbs/bootstrap/issues/32273\r\n if (!hrefAttr || (!hrefAttr.includes('#') && !hrefAttr.startsWith('.'))) {\r\n return null;\r\n }\r\n\r\n // Just in case some CMS puts out a full URL with the anchor appended\r\n if (hrefAttr.includes('#') && !hrefAttr.startsWith('#')) {\r\n hrefAttr = `#${hrefAttr.split('#')[1]}`;\r\n }\r\n\r\n selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : null;\r\n }\r\n\r\n return selector;\r\n};\r\n\r\nconst getSelectorFromElement = (element) => {\r\n const selector = getSelector(element);\r\n\r\n if (selector) {\r\n return document.querySelector(selector) ? selector : null;\r\n }\r\n\r\n return null;\r\n};\r\n\r\nconst getElementFromSelector = (element) => {\r\n const selector = getSelector(element);\r\n\r\n return selector ? document.querySelector(selector) : null;\r\n};\r\n\r\nconst getTransitionDurationFromElement = (element) => {\r\n if (!element) {\r\n return 0;\r\n }\r\n\r\n // Get transition-duration of the element\r\n let { transitionDuration, transitionDelay } = window.getComputedStyle(element);\r\n\r\n const floatTransitionDuration = Number.parseFloat(transitionDuration);\r\n const floatTransitionDelay = Number.parseFloat(transitionDelay);\r\n\r\n // Return 0 if element or transition duration is not found\r\n if (!floatTransitionDuration && !floatTransitionDelay) {\r\n return 0;\r\n }\r\n\r\n // If multiple durations are defined, take the first\r\n transitionDuration = transitionDuration.split(',')[0];\r\n transitionDelay = transitionDelay.split(',')[0];\r\n\r\n return (\r\n (Number.parseFloat(transitionDuration) + Number.parseFloat(transitionDelay)) *\r\n MILLISECONDS_MULTIPLIER\r\n );\r\n};\r\n\r\nconst triggerTransitionEnd = (element) => {\r\n element.dispatchEvent(new Event(TRANSITION_END));\r\n};\r\n\r\nconst isElement = (obj) => {\r\n if (!obj || typeof obj !== 'object') {\r\n return false;\r\n }\r\n\r\n if (typeof obj.jquery !== 'undefined') {\r\n obj = obj[0];\r\n }\r\n\r\n return typeof obj.nodeType !== 'undefined';\r\n};\r\n\r\nconst getElement = (obj) => {\r\n if (isElement(obj)) {\r\n // it's a jQuery object or a node element\r\n return obj.jquery ? obj[0] : obj;\r\n }\r\n\r\n if (typeof obj === 'string' && obj.length > 0) {\r\n return document.querySelector(obj);\r\n }\r\n\r\n return null;\r\n};\r\n\r\nconst typeCheckConfig = (componentName, config, configTypes) => {\r\n Object.keys(configTypes).forEach((property) => {\r\n const expectedTypes = configTypes[property];\r\n const value = config[property];\r\n const valueType = value && isElement(value) ? 'element' : toType(value);\r\n\r\n if (!new RegExp(expectedTypes).test(valueType)) {\r\n throw new TypeError(\r\n `${componentName.toUpperCase()}: Option \"${property}\" provided type \"${valueType}\" but expected type \"${expectedTypes}\".`\r\n );\r\n }\r\n });\r\n};\r\n\r\nconst isVisible = (element) => {\r\n if (!isElement(element) || element.getClientRects().length === 0) {\r\n return false;\r\n }\r\n\r\n return getComputedStyle(element).getPropertyValue('visibility') === 'visible';\r\n};\r\n\r\nconst isDisabled = (element) => {\r\n if (!element || element.nodeType !== Node.ELEMENT_NODE) {\r\n return true;\r\n }\r\n\r\n if (element.classList.contains('disabled')) {\r\n return true;\r\n }\r\n\r\n if (typeof element.disabled !== 'undefined') {\r\n return element.disabled;\r\n }\r\n\r\n return element.hasAttribute('disabled') && element.getAttribute('disabled') !== 'false';\r\n};\r\n\r\nconst findShadowRoot = (element) => {\r\n if (!document.documentElement.attachShadow) {\r\n return null;\r\n }\r\n\r\n // Can find the shadow root otherwise it'll return the document\r\n if (typeof element.getRootNode === 'function') {\r\n const root = element.getRootNode();\r\n return root instanceof ShadowRoot ? root : null;\r\n }\r\n\r\n if (element instanceof ShadowRoot) {\r\n return element;\r\n }\r\n\r\n // when we don't find a shadow root\r\n if (!element.parentNode) {\r\n return null;\r\n }\r\n\r\n return findShadowRoot(element.parentNode);\r\n};\r\n\r\nconst noop = () => {};\r\n\r\n/**\r\n * Trick to restart an element's animation\r\n *\r\n * @param {HTMLElement} element\r\n * @return void\r\n *\r\n * @see https://www.charistheo.io/blog/2021/02/restart-a-css-animation-with-javascript/#restarting-a-css-animation\r\n */\r\nconst reflow = (element) => {\r\n // eslint-disable-next-line no-unused-expressions\r\n element.offsetHeight;\r\n};\r\n\r\nconst getjQuery = () => {\r\n const { jQuery } = window;\r\n\r\n if (jQuery && !document.body.hasAttribute('data-bs-no-jquery')) {\r\n return jQuery;\r\n }\r\n\r\n return null;\r\n};\r\n\r\nconst DOMContentLoadedCallbacks = [];\r\n\r\nconst onDOMContentLoaded = (callback) => {\r\n if (document.readyState === 'loading') {\r\n // add listener on the first call when the document is in loading state\r\n if (!DOMContentLoadedCallbacks.length) {\r\n document.addEventListener('DOMContentLoaded', () => {\r\n DOMContentLoadedCallbacks.forEach((callback) => callback());\r\n });\r\n }\r\n\r\n DOMContentLoadedCallbacks.push(callback);\r\n } else {\r\n callback();\r\n }\r\n};\r\n\r\nconst isRTL = () => document.documentElement.dir === 'rtl';\r\n\r\nconst defineJQueryPlugin = (plugin) => {\r\n onDOMContentLoaded(() => {\r\n const $ = getjQuery();\r\n /* istanbul ignore if */\r\n if ($) {\r\n const name = plugin.NAME;\r\n const JQUERY_NO_CONFLICT = $.fn[name];\r\n $.fn[name] = plugin.jQueryInterface;\r\n $.fn[name].Constructor = plugin;\r\n $.fn[name].noConflict = () => {\r\n $.fn[name] = JQUERY_NO_CONFLICT;\r\n return plugin.jQueryInterface;\r\n };\r\n }\r\n });\r\n};\r\n\r\nconst execute = (callback) => {\r\n if (typeof callback === 'function') {\r\n callback();\r\n }\r\n};\r\n\r\nconst executeAfterTransition = (callback, transitionElement, waitForTransition = true) => {\r\n if (!waitForTransition) {\r\n execute(callback);\r\n return;\r\n }\r\n\r\n const durationPadding = 5;\r\n const emulatedDuration = getTransitionDurationFromElement(transitionElement) + durationPadding;\r\n\r\n let called = false;\r\n\r\n const handler = ({ target }) => {\r\n if (target !== transitionElement) {\r\n return;\r\n }\r\n\r\n called = true;\r\n transitionElement.removeEventListener(TRANSITION_END, handler);\r\n execute(callback);\r\n };\r\n\r\n transitionElement.addEventListener(TRANSITION_END, handler);\r\n setTimeout(() => {\r\n if (!called) {\r\n triggerTransitionEnd(transitionElement);\r\n }\r\n }, emulatedDuration);\r\n};\r\n\r\n/**\r\n * Return the previous/next element of a list.\r\n *\r\n * @param {array} list The list of elements\r\n * @param activeElement The active element\r\n * @param shouldGetNext Choose to get next or previous element\r\n * @param isCycleAllowed\r\n * @return {Element|elem} The proper element\r\n */\r\nconst getNextActiveElement = (list, activeElement, shouldGetNext, isCycleAllowed) => {\r\n let index = list.indexOf(activeElement);\r\n\r\n // if the element does not exist in the list return an element depending on the direction and if cycle is allowed\r\n if (index === -1) {\r\n return list[!shouldGetNext && isCycleAllowed ? list.length - 1 : 0];\r\n }\r\n\r\n const listLength = list.length;\r\n\r\n index += shouldGetNext ? 1 : -1;\r\n\r\n if (isCycleAllowed) {\r\n index = (index + listLength) % listLength;\r\n }\r\n\r\n return list[Math.max(0, Math.min(index, listLength - 1))];\r\n};\r\n\r\nexport {\r\n getElement,\r\n getUID,\r\n getSelectorFromElement,\r\n getElementFromSelector,\r\n getTransitionDurationFromElement,\r\n triggerTransitionEnd,\r\n isElement,\r\n typeCheckConfig,\r\n isVisible,\r\n isDisabled,\r\n findShadowRoot,\r\n noop,\r\n getNextActiveElement,\r\n reflow,\r\n getjQuery,\r\n onDOMContentLoaded,\r\n isRTL,\r\n defineJQueryPlugin,\r\n execute,\r\n executeAfterTransition,\r\n};\r\n","/**\r\n * --------------------------------------------------------------------------\r\n * Bootstrap (v5.1.3): dom/event-handler.js\r\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\r\n * --------------------------------------------------------------------------\r\n */\r\n\r\nimport { getjQuery } from '../util/index';\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * Constants\r\n * ------------------------------------------------------------------------\r\n */\r\n\r\nconst namespaceRegex = /[^.]*(?=\\..*)\\.|.*/;\r\nconst stripNameRegex = /\\..*/;\r\nconst stripUidRegex = /::\\d+$/;\r\nconst eventRegistry = {}; // Events storage\r\nlet uidEvent = 1;\r\nconst customEvents = {\r\n mouseenter: 'mouseover',\r\n mouseleave: 'mouseout',\r\n};\r\nconst customEventsRegex = /^(mouseenter|mouseleave)/i;\r\nconst nativeEvents = new Set([\r\n 'click',\r\n 'dblclick',\r\n 'mouseup',\r\n 'mousedown',\r\n 'contextmenu',\r\n 'mousewheel',\r\n 'DOMMouseScroll',\r\n 'mouseover',\r\n 'mouseout',\r\n 'mousemove',\r\n 'selectstart',\r\n 'selectend',\r\n 'keydown',\r\n 'keypress',\r\n 'keyup',\r\n 'orientationchange',\r\n 'touchstart',\r\n 'touchmove',\r\n 'touchend',\r\n 'touchcancel',\r\n 'pointerdown',\r\n 'pointermove',\r\n 'pointerup',\r\n 'pointerleave',\r\n 'pointercancel',\r\n 'gesturestart',\r\n 'gesturechange',\r\n 'gestureend',\r\n 'focus',\r\n 'blur',\r\n 'change',\r\n 'reset',\r\n 'select',\r\n 'submit',\r\n 'focusin',\r\n 'focusout',\r\n 'load',\r\n 'unload',\r\n 'beforeunload',\r\n 'resize',\r\n 'move',\r\n 'DOMContentLoaded',\r\n 'readystatechange',\r\n 'error',\r\n 'abort',\r\n 'scroll',\r\n]);\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * Private methods\r\n * ------------------------------------------------------------------------\r\n */\r\n\r\nfunction getUidEvent(element, uid) {\r\n return (uid && `${uid}::${uidEvent++}`) || element.uidEvent || uidEvent++;\r\n}\r\n\r\nfunction getEvent(element) {\r\n const uid = getUidEvent(element);\r\n\r\n element.uidEvent = uid;\r\n eventRegistry[uid] = eventRegistry[uid] || {};\r\n\r\n return eventRegistry[uid];\r\n}\r\n\r\nfunction bootstrapHandler(element, fn) {\r\n return function handler(event) {\r\n event.delegateTarget = element;\r\n\r\n if (handler.oneOff) {\r\n EventHandler.off(element, event.type, fn);\r\n }\r\n\r\n return fn.apply(element, [event]);\r\n };\r\n}\r\n\r\nfunction bootstrapDelegationHandler(element, selector, fn) {\r\n return function handler(event) {\r\n const domElements = element.querySelectorAll(selector);\r\n\r\n for (let { target } = event; target && target !== this; target = target.parentNode) {\r\n for (let i = domElements.length; i--; ) {\r\n if (domElements[i] === target) {\r\n event.delegateTarget = target;\r\n\r\n if (handler.oneOff) {\r\n EventHandler.off(element, event.type, selector, fn);\r\n }\r\n\r\n return fn.apply(target, [event]);\r\n }\r\n }\r\n }\r\n\r\n // To please ESLint\r\n return null;\r\n };\r\n}\r\n\r\nfunction findHandler(events, handler, delegationSelector = null) {\r\n const uidEventList = Object.keys(events);\r\n\r\n for (let i = 0, len = uidEventList.length; i < len; i++) {\r\n const event = events[uidEventList[i]];\r\n\r\n if (event.originalHandler === handler && event.delegationSelector === delegationSelector) {\r\n return event;\r\n }\r\n }\r\n\r\n return null;\r\n}\r\n\r\nfunction normalizeParams(originalTypeEvent, handler, delegationFn) {\r\n const delegation = typeof handler === 'string';\r\n const originalHandler = delegation ? delegationFn : handler;\r\n\r\n let typeEvent = getTypeEvent(originalTypeEvent);\r\n const isNative = nativeEvents.has(typeEvent);\r\n\r\n if (!isNative) {\r\n typeEvent = originalTypeEvent;\r\n }\r\n\r\n return [delegation, originalHandler, typeEvent];\r\n}\r\n\r\nfunction addHandler(element, originalTypeEvent, handler, delegationFn, oneOff) {\r\n if (typeof originalTypeEvent !== 'string' || !element) {\r\n return;\r\n }\r\n\r\n if (!handler) {\r\n handler = delegationFn;\r\n delegationFn = null;\r\n }\r\n\r\n // in case of mouseenter or mouseleave wrap the handler within a function that checks for its DOM position\r\n // this prevents the handler from being dispatched the same way as mouseover or mouseout does\r\n if (customEventsRegex.test(originalTypeEvent)) {\r\n const wrapFn = (fn) => {\r\n return function (event) {\r\n if (\r\n !event.relatedTarget ||\r\n (event.relatedTarget !== event.delegateTarget &&\r\n !event.delegateTarget.contains(event.relatedTarget))\r\n ) {\r\n return fn.call(this, event);\r\n }\r\n };\r\n };\r\n\r\n if (delegationFn) {\r\n delegationFn = wrapFn(delegationFn);\r\n } else {\r\n handler = wrapFn(handler);\r\n }\r\n }\r\n\r\n const [delegation, originalHandler, typeEvent] = normalizeParams(\r\n originalTypeEvent,\r\n handler,\r\n delegationFn\r\n );\r\n const events = getEvent(element);\r\n const handlers = events[typeEvent] || (events[typeEvent] = {});\r\n const previousFn = findHandler(handlers, originalHandler, delegation ? handler : null);\r\n\r\n if (previousFn) {\r\n previousFn.oneOff = previousFn.oneOff && oneOff;\r\n\r\n return;\r\n }\r\n\r\n const uid = getUidEvent(originalHandler, originalTypeEvent.replace(namespaceRegex, ''));\r\n const fn = delegation\r\n ? bootstrapDelegationHandler(element, handler, delegationFn)\r\n : bootstrapHandler(element, handler);\r\n\r\n fn.delegationSelector = delegation ? handler : null;\r\n fn.originalHandler = originalHandler;\r\n fn.oneOff = oneOff;\r\n fn.uidEvent = uid;\r\n handlers[uid] = fn;\r\n\r\n element.addEventListener(typeEvent, fn, delegation);\r\n}\r\n\r\nfunction removeHandler(element, events, typeEvent, handler, delegationSelector) {\r\n const fn = findHandler(events[typeEvent], handler, delegationSelector);\r\n\r\n if (!fn) {\r\n return;\r\n }\r\n\r\n element.removeEventListener(typeEvent, fn, Boolean(delegationSelector));\r\n delete events[typeEvent][fn.uidEvent];\r\n}\r\n\r\nfunction removeNamespacedHandlers(element, events, typeEvent, namespace) {\r\n const storeElementEvent = events[typeEvent] || {};\r\n\r\n Object.keys(storeElementEvent).forEach((handlerKey) => {\r\n if (handlerKey.includes(namespace)) {\r\n const event = storeElementEvent[handlerKey];\r\n\r\n removeHandler(element, events, typeEvent, event.originalHandler, event.delegationSelector);\r\n }\r\n });\r\n}\r\n\r\nfunction getTypeEvent(event) {\r\n // allow to get the native events from namespaced events ('click.bs.button' --> 'click')\r\n event = event.replace(stripNameRegex, '');\r\n return customEvents[event] || event;\r\n}\r\n\r\nconst EventHandler = {\r\n on(element, event, handler, delegationFn) {\r\n addHandler(element, event, handler, delegationFn, false);\r\n },\r\n\r\n one(element, event, handler, delegationFn) {\r\n addHandler(element, event, handler, delegationFn, true);\r\n },\r\n\r\n off(element, originalTypeEvent, handler, delegationFn) {\r\n if (typeof originalTypeEvent !== 'string' || !element) {\r\n return;\r\n }\r\n\r\n const [delegation, originalHandler, typeEvent] = normalizeParams(\r\n originalTypeEvent,\r\n handler,\r\n delegationFn\r\n );\r\n const inNamespace = typeEvent !== originalTypeEvent;\r\n const events = getEvent(element);\r\n const isNamespace = originalTypeEvent.startsWith('.');\r\n\r\n if (typeof originalHandler !== 'undefined') {\r\n // Simplest case: handler is passed, remove that listener ONLY.\r\n if (!events || !events[typeEvent]) {\r\n return;\r\n }\r\n\r\n removeHandler(element, events, typeEvent, originalHandler, delegation ? handler : null);\r\n return;\r\n }\r\n\r\n if (isNamespace) {\r\n Object.keys(events).forEach((elementEvent) => {\r\n removeNamespacedHandlers(element, events, elementEvent, originalTypeEvent.slice(1));\r\n });\r\n }\r\n\r\n const storeElementEvent = events[typeEvent] || {};\r\n Object.keys(storeElementEvent).forEach((keyHandlers) => {\r\n const handlerKey = keyHandlers.replace(stripUidRegex, '');\r\n\r\n if (!inNamespace || originalTypeEvent.includes(handlerKey)) {\r\n const event = storeElementEvent[keyHandlers];\r\n\r\n removeHandler(element, events, typeEvent, event.originalHandler, event.delegationSelector);\r\n }\r\n });\r\n },\r\n\r\n trigger(element, event, args) {\r\n if (typeof event !== 'string' || !element) {\r\n return null;\r\n }\r\n\r\n const $ = getjQuery();\r\n const typeEvent = getTypeEvent(event);\r\n const inNamespace = event !== typeEvent;\r\n const isNative = nativeEvents.has(typeEvent);\r\n\r\n let jQueryEvent;\r\n let bubbles = true;\r\n let nativeDispatch = true;\r\n let defaultPrevented = false;\r\n let evt = null;\r\n\r\n if (inNamespace && $) {\r\n jQueryEvent = $.Event(event, args);\r\n\r\n $(element).trigger(jQueryEvent);\r\n bubbles = !jQueryEvent.isPropagationStopped();\r\n nativeDispatch = !jQueryEvent.isImmediatePropagationStopped();\r\n defaultPrevented = jQueryEvent.isDefaultPrevented();\r\n }\r\n\r\n if (isNative) {\r\n evt = document.createEvent('HTMLEvents');\r\n evt.initEvent(typeEvent, bubbles, true);\r\n } else {\r\n evt = new CustomEvent(event, {\r\n bubbles,\r\n cancelable: true,\r\n });\r\n }\r\n\r\n // merge custom information in our event\r\n if (typeof args !== 'undefined') {\r\n Object.keys(args).forEach((key) => {\r\n Object.defineProperty(evt, key, {\r\n get() {\r\n return args[key];\r\n },\r\n });\r\n });\r\n }\r\n\r\n if (defaultPrevented) {\r\n evt.preventDefault();\r\n }\r\n\r\n if (nativeDispatch) {\r\n element.dispatchEvent(evt);\r\n }\r\n\r\n if (evt.defaultPrevented && typeof jQueryEvent !== 'undefined') {\r\n jQueryEvent.preventDefault();\r\n }\r\n\r\n return evt;\r\n },\r\n};\r\n\r\nexport default EventHandler;\r\n","/**\r\n * --------------------------------------------------------------------------\r\n * Bootstrap (v5.1.3): dom/data.js\r\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\r\n * --------------------------------------------------------------------------\r\n */\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * Constants\r\n * ------------------------------------------------------------------------\r\n */\r\n\r\nconst elementMap = new Map();\r\n\r\nexport default {\r\n set(element, key, instance) {\r\n if (!elementMap.has(element)) {\r\n elementMap.set(element, new Map());\r\n }\r\n\r\n const instanceMap = elementMap.get(element);\r\n\r\n // make it clear we only want one instance per element\r\n // can be removed later when multiple key/instances are fine to be used\r\n if (!instanceMap.has(key) && instanceMap.size !== 0) {\r\n // eslint-disable-next-line no-console\r\n console.error(\r\n `Bootstrap doesn't allow more than one instance per element. Bound instance: ${\r\n Array.from(instanceMap.keys())[0]\r\n }.`\r\n );\r\n return;\r\n }\r\n\r\n instanceMap.set(key, instance);\r\n },\r\n\r\n get(element, key) {\r\n if (elementMap.has(element)) {\r\n return elementMap.get(element).get(key) || null;\r\n }\r\n\r\n return null;\r\n },\r\n\r\n remove(element, key) {\r\n if (!elementMap.has(element)) {\r\n return;\r\n }\r\n\r\n const instanceMap = elementMap.get(element);\r\n\r\n instanceMap.delete(key);\r\n\r\n // free up element references if there are no instances left for an element\r\n if (instanceMap.size === 0) {\r\n elementMap.delete(element);\r\n }\r\n },\r\n};\r\n","/**\r\n * --------------------------------------------------------------------------\r\n * Bootstrap (v5.1.3): base-component.js\r\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\r\n * --------------------------------------------------------------------------\r\n */\r\n\r\nimport Data from './dom/data';\r\nimport { executeAfterTransition, getElement } from './util/index';\r\nimport EventHandler from './dom/event-handler';\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * Constants\r\n * ------------------------------------------------------------------------\r\n */\r\n\r\nconst VERSION = '5.1.3';\r\n\r\nclass BaseComponent {\r\n constructor(element) {\r\n element = getElement(element);\r\n\r\n if (!element) {\r\n return;\r\n }\r\n\r\n this._element = element;\r\n Data.set(this._element, this.constructor.DATA_KEY, this);\r\n }\r\n\r\n dispose() {\r\n Data.remove(this._element, this.constructor.DATA_KEY);\r\n EventHandler.off(this._element, this.constructor.EVENT_KEY);\r\n\r\n Object.getOwnPropertyNames(this).forEach((propertyName) => {\r\n this[propertyName] = null;\r\n });\r\n }\r\n\r\n _queueCallback(callback, element, isAnimated = true) {\r\n executeAfterTransition(callback, element, isAnimated);\r\n }\r\n\r\n /** Static */\r\n\r\n static getInstance(element) {\r\n return Data.get(getElement(element), this.DATA_KEY);\r\n }\r\n\r\n static getOrCreateInstance(element, config = {}) {\r\n return (\r\n this.getInstance(element) || new this(element, typeof config === 'object' ? config : null)\r\n );\r\n }\r\n\r\n static get VERSION() {\r\n return VERSION;\r\n }\r\n\r\n static get NAME() {\r\n throw new Error('You have to implement the static method \"NAME\", for each component!');\r\n }\r\n\r\n static get DATA_KEY() {\r\n return `bs.${this.NAME}`;\r\n }\r\n\r\n static get EVENT_KEY() {\r\n return `.${this.DATA_KEY}`;\r\n }\r\n}\r\n\r\nexport default BaseComponent;\r\n","/**\r\n * --------------------------------------------------------------------------\r\n * Bootstrap (v5.1.3): button.js\r\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\r\n * --------------------------------------------------------------------------\r\n */\r\n\r\nimport { defineJQueryPlugin } from './util/index';\r\nimport EventHandler from './dom/event-handler';\r\nimport BaseComponent from './base-component';\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * Constants\r\n * ------------------------------------------------------------------------\r\n */\r\n\r\nconst NAME = 'button';\r\nconst DATA_KEY = 'bs.button';\r\nconst EVENT_KEY = `.${DATA_KEY}`;\r\nconst DATA_API_KEY = '.data-api';\r\n\r\nconst CLASS_NAME_ACTIVE = 'active';\r\n\r\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"button\"]';\r\n\r\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`;\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * Class Definition\r\n * ------------------------------------------------------------------------\r\n */\r\n\r\nclass Button extends BaseComponent {\r\n // Getters\r\n\r\n static get NAME() {\r\n return NAME;\r\n }\r\n\r\n // Public\r\n\r\n toggle() {\r\n // Toggle class and sync the `aria-pressed` attribute with the return value of the `.toggle()` method\r\n this._element.setAttribute('aria-pressed', this._element.classList.toggle(CLASS_NAME_ACTIVE));\r\n }\r\n\r\n // Static\r\n\r\n static jQueryInterface(config) {\r\n return this.each(function () {\r\n const data = Button.getOrCreateInstance(this);\r\n\r\n if (config === 'toggle') {\r\n data[config]();\r\n }\r\n });\r\n }\r\n}\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * Data Api implementation\r\n * ------------------------------------------------------------------------\r\n */\r\n\r\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, (event) => {\r\n event.preventDefault();\r\n\r\n const button = event.target.closest(SELECTOR_DATA_TOGGLE);\r\n const data = Button.getOrCreateInstance(button);\r\n\r\n data.toggle();\r\n});\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * jQuery\r\n * ------------------------------------------------------------------------\r\n * add .Button to jQuery only if jQuery is present\r\n */\r\n\r\ndefineJQueryPlugin(Button);\r\n\r\nexport default Button;\r\n","export var top = 'top';\nexport var bottom = 'bottom';\nexport var right = 'right';\nexport var left = 'left';\nexport var auto = 'auto';\nexport var basePlacements = [top, bottom, right, left];\nexport var start = 'start';\nexport var end = 'end';\nexport var clippingParents = 'clippingParents';\nexport var viewport = 'viewport';\nexport var popper = 'popper';\nexport var reference = 'reference';\nexport var variationPlacements = /*#__PURE__*/basePlacements.reduce(function (acc, placement) {\n return acc.concat([placement + \"-\" + start, placement + \"-\" + end]);\n}, []);\nexport var placements = /*#__PURE__*/[].concat(basePlacements, [auto]).reduce(function (acc, placement) {\n return acc.concat([placement, placement + \"-\" + start, placement + \"-\" + end]);\n}, []); // modifiers that need to read the DOM\n\nexport var beforeRead = 'beforeRead';\nexport var read = 'read';\nexport var afterRead = 'afterRead'; // pure-logic modifiers\n\nexport var beforeMain = 'beforeMain';\nexport var main = 'main';\nexport var afterMain = 'afterMain'; // modifier with the purpose to write to the DOM (or write into a framework state)\n\nexport var beforeWrite = 'beforeWrite';\nexport var write = 'write';\nexport var afterWrite = 'afterWrite';\nexport var modifierPhases = [beforeRead, read, afterRead, beforeMain, main, afterMain, beforeWrite, write, afterWrite];","export default function getNodeName(element) {\n return element ? (element.nodeName || '').toLowerCase() : null;\n}","export default function getWindow(node) {\n if (node == null) {\n return window;\n }\n\n if (node.toString() !== '[object Window]') {\n var ownerDocument = node.ownerDocument;\n return ownerDocument ? ownerDocument.defaultView || window : window;\n }\n\n return node;\n}","import getWindow from \"./getWindow.js\";\n\nfunction isElement(node) {\n var OwnElement = getWindow(node).Element;\n return node instanceof OwnElement || node instanceof Element;\n}\n\nfunction isHTMLElement(node) {\n var OwnElement = getWindow(node).HTMLElement;\n return node instanceof OwnElement || node instanceof HTMLElement;\n}\n\nfunction isShadowRoot(node) {\n // IE 11 has no ShadowRoot\n if (typeof ShadowRoot === 'undefined') {\n return false;\n }\n\n var OwnElement = getWindow(node).ShadowRoot;\n return node instanceof OwnElement || node instanceof ShadowRoot;\n}\n\nexport { isElement, isHTMLElement, isShadowRoot };","import getNodeName from \"../dom-utils/getNodeName.js\";\nimport { isHTMLElement } from \"../dom-utils/instanceOf.js\"; // This modifier takes the styles prepared by the `computeStyles` modifier\n// and applies them to the HTMLElements such as popper and arrow\n\nfunction applyStyles(_ref) {\n var state = _ref.state;\n Object.keys(state.elements).forEach(function (name) {\n var style = state.styles[name] || {};\n var attributes = state.attributes[name] || {};\n var element = state.elements[name]; // arrow is optional + virtual elements\n\n if (!isHTMLElement(element) || !getNodeName(element)) {\n return;\n } // Flow doesn't support to extend this property, but it's the most\n // effective way to apply styles to an HTMLElement\n // $FlowFixMe[cannot-write]\n\n\n Object.assign(element.style, style);\n Object.keys(attributes).forEach(function (name) {\n var value = attributes[name];\n\n if (value === false) {\n element.removeAttribute(name);\n } else {\n element.setAttribute(name, value === true ? '' : value);\n }\n });\n });\n}\n\nfunction effect(_ref2) {\n var state = _ref2.state;\n var initialStyles = {\n popper: {\n position: state.options.strategy,\n left: '0',\n top: '0',\n margin: '0'\n },\n arrow: {\n position: 'absolute'\n },\n reference: {}\n };\n Object.assign(state.elements.popper.style, initialStyles.popper);\n state.styles = initialStyles;\n\n if (state.elements.arrow) {\n Object.assign(state.elements.arrow.style, initialStyles.arrow);\n }\n\n return function () {\n Object.keys(state.elements).forEach(function (name) {\n var element = state.elements[name];\n var attributes = state.attributes[name] || {};\n var styleProperties = Object.keys(state.styles.hasOwnProperty(name) ? state.styles[name] : initialStyles[name]); // Set all values to an empty string to unset them\n\n var style = styleProperties.reduce(function (style, property) {\n style[property] = '';\n return style;\n }, {}); // arrow is optional + virtual elements\n\n if (!isHTMLElement(element) || !getNodeName(element)) {\n return;\n }\n\n Object.assign(element.style, style);\n Object.keys(attributes).forEach(function (attribute) {\n element.removeAttribute(attribute);\n });\n });\n };\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'applyStyles',\n enabled: true,\n phase: 'write',\n fn: applyStyles,\n effect: effect,\n requires: ['computeStyles']\n};","import { auto } from \"../enums.js\";\nexport default function getBasePlacement(placement) {\n return placement.split('-')[0];\n}","export var max = Math.max;\nexport var min = Math.min;\nexport var round = Math.round;","import { isHTMLElement } from \"./instanceOf.js\";\nimport { round } from \"../utils/math.js\";\nexport default function getBoundingClientRect(element, includeScale) {\n if (includeScale === void 0) {\n includeScale = false;\n }\n\n var rect = element.getBoundingClientRect();\n var scaleX = 1;\n var scaleY = 1;\n\n if (isHTMLElement(element) && includeScale) {\n var offsetHeight = element.offsetHeight;\n var offsetWidth = element.offsetWidth; // Do not attempt to divide by 0, otherwise we get `Infinity` as scale\n // Fallback to 1 in case both values are `0`\n\n if (offsetWidth > 0) {\n scaleX = round(rect.width) / offsetWidth || 1;\n }\n\n if (offsetHeight > 0) {\n scaleY = round(rect.height) / offsetHeight || 1;\n }\n }\n\n return {\n width: rect.width / scaleX,\n height: rect.height / scaleY,\n top: rect.top / scaleY,\n right: rect.right / scaleX,\n bottom: rect.bottom / scaleY,\n left: rect.left / scaleX,\n x: rect.left / scaleX,\n y: rect.top / scaleY\n };\n}","import getBoundingClientRect from \"./getBoundingClientRect.js\"; // Returns the layout rect of an element relative to its offsetParent. Layout\n// means it doesn't take into account transforms.\n\nexport default function getLayoutRect(element) {\n var clientRect = getBoundingClientRect(element); // Use the clientRect sizes if it's not been transformed.\n // Fixes https://github.com/popperjs/popper-core/issues/1223\n\n var width = element.offsetWidth;\n var height = element.offsetHeight;\n\n if (Math.abs(clientRect.width - width) <= 1) {\n width = clientRect.width;\n }\n\n if (Math.abs(clientRect.height - height) <= 1) {\n height = clientRect.height;\n }\n\n return {\n x: element.offsetLeft,\n y: element.offsetTop,\n width: width,\n height: height\n };\n}","import { isShadowRoot } from \"./instanceOf.js\";\nexport default function contains(parent, child) {\n var rootNode = child.getRootNode && child.getRootNode(); // First, attempt with faster native method\n\n if (parent.contains(child)) {\n return true;\n } // then fallback to custom implementation with Shadow DOM support\n else if (rootNode && isShadowRoot(rootNode)) {\n var next = child;\n\n do {\n if (next && parent.isSameNode(next)) {\n return true;\n } // $FlowFixMe[prop-missing]: need a better way to handle this...\n\n\n next = next.parentNode || next.host;\n } while (next);\n } // Give up, the result is false\n\n\n return false;\n}","import getWindow from \"./getWindow.js\";\nexport default function getComputedStyle(element) {\n return getWindow(element).getComputedStyle(element);\n}","import { isElement } from \"./instanceOf.js\";\nexport default function getDocumentElement(element) {\n // $FlowFixMe[incompatible-return]: assume body is always available\n return ((isElement(element) ? element.ownerDocument : // $FlowFixMe[prop-missing]\n element.document) || window.document).documentElement;\n}","import getNodeName from \"./getNodeName.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport { isShadowRoot } from \"./instanceOf.js\";\nexport default function getParentNode(element) {\n if (getNodeName(element) === 'html') {\n return element;\n }\n\n return (// this is a quicker (but less type safe) way to save quite some bytes from the bundle\n // $FlowFixMe[incompatible-return]\n // $FlowFixMe[prop-missing]\n element.assignedSlot || // step into the shadow DOM of the parent of a slotted node\n element.parentNode || ( // DOM Element detected\n isShadowRoot(element) ? element.host : null) || // ShadowRoot detected\n // $FlowFixMe[incompatible-call]: HTMLElement is a Node\n getDocumentElement(element) // fallback\n\n );\n}","import getWindow from \"./getWindow.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport getComputedStyle from \"./getComputedStyle.js\";\nimport { isHTMLElement, isShadowRoot } from \"./instanceOf.js\";\nimport isTableElement from \"./isTableElement.js\";\nimport getParentNode from \"./getParentNode.js\";\n\nfunction getTrueOffsetParent(element) {\n if (!isHTMLElement(element) || // https://github.com/popperjs/popper-core/issues/837\n getComputedStyle(element).position === 'fixed') {\n return null;\n }\n\n return element.offsetParent;\n} // `.offsetParent` reports `null` for fixed elements, while absolute elements\n// return the containing block\n\n\nfunction getContainingBlock(element) {\n var isFirefox = navigator.userAgent.toLowerCase().indexOf('firefox') !== -1;\n var isIE = navigator.userAgent.indexOf('Trident') !== -1;\n\n if (isIE && isHTMLElement(element)) {\n // In IE 9, 10 and 11 fixed elements containing block is always established by the viewport\n var elementCss = getComputedStyle(element);\n\n if (elementCss.position === 'fixed') {\n return null;\n }\n }\n\n var currentNode = getParentNode(element);\n\n if (isShadowRoot(currentNode)) {\n currentNode = currentNode.host;\n }\n\n while (isHTMLElement(currentNode) && ['html', 'body'].indexOf(getNodeName(currentNode)) < 0) {\n var css = getComputedStyle(currentNode); // This is non-exhaustive but covers the most common CSS properties that\n // create a containing block.\n // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n\n if (css.transform !== 'none' || css.perspective !== 'none' || css.contain === 'paint' || ['transform', 'perspective'].indexOf(css.willChange) !== -1 || isFirefox && css.willChange === 'filter' || isFirefox && css.filter && css.filter !== 'none') {\n return currentNode;\n } else {\n currentNode = currentNode.parentNode;\n }\n }\n\n return null;\n} // Gets the closest ancestor positioned element. Handles some edge cases,\n// such as table ancestors and cross browser bugs.\n\n\nexport default function getOffsetParent(element) {\n var window = getWindow(element);\n var offsetParent = getTrueOffsetParent(element);\n\n while (offsetParent && isTableElement(offsetParent) && getComputedStyle(offsetParent).position === 'static') {\n offsetParent = getTrueOffsetParent(offsetParent);\n }\n\n if (offsetParent && (getNodeName(offsetParent) === 'html' || getNodeName(offsetParent) === 'body' && getComputedStyle(offsetParent).position === 'static')) {\n return window;\n }\n\n return offsetParent || getContainingBlock(element) || window;\n}","import getNodeName from \"./getNodeName.js\";\nexport default function isTableElement(element) {\n return ['table', 'td', 'th'].indexOf(getNodeName(element)) >= 0;\n}","export default function getMainAxisFromPlacement(placement) {\n return ['top', 'bottom'].indexOf(placement) >= 0 ? 'x' : 'y';\n}","import { max as mathMax, min as mathMin } from \"./math.js\";\nexport function within(min, value, max) {\n return mathMax(min, mathMin(value, max));\n}\nexport function withinMaxClamp(min, value, max) {\n var v = within(min, value, max);\n return v > max ? max : v;\n}","export default function getFreshSideObject() {\n return {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0\n };\n}","import getFreshSideObject from \"./getFreshSideObject.js\";\nexport default function mergePaddingObject(paddingObject) {\n return Object.assign({}, getFreshSideObject(), paddingObject);\n}","export default function expandToHashMap(value, keys) {\n return keys.reduce(function (hashMap, key) {\n hashMap[key] = value;\n return hashMap;\n }, {});\n}","import getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getLayoutRect from \"../dom-utils/getLayoutRect.js\";\nimport contains from \"../dom-utils/contains.js\";\nimport getOffsetParent from \"../dom-utils/getOffsetParent.js\";\nimport getMainAxisFromPlacement from \"../utils/getMainAxisFromPlacement.js\";\nimport { within } from \"../utils/within.js\";\nimport mergePaddingObject from \"../utils/mergePaddingObject.js\";\nimport expandToHashMap from \"../utils/expandToHashMap.js\";\nimport { left, right, basePlacements, top, bottom } from \"../enums.js\";\nimport { isHTMLElement } from \"../dom-utils/instanceOf.js\"; // eslint-disable-next-line import/no-unused-modules\n\nvar toPaddingObject = function toPaddingObject(padding, state) {\n padding = typeof padding === 'function' ? padding(Object.assign({}, state.rects, {\n placement: state.placement\n })) : padding;\n return mergePaddingObject(typeof padding !== 'number' ? padding : expandToHashMap(padding, basePlacements));\n};\n\nfunction arrow(_ref) {\n var _state$modifiersData$;\n\n var state = _ref.state,\n name = _ref.name,\n options = _ref.options;\n var arrowElement = state.elements.arrow;\n var popperOffsets = state.modifiersData.popperOffsets;\n var basePlacement = getBasePlacement(state.placement);\n var axis = getMainAxisFromPlacement(basePlacement);\n var isVertical = [left, right].indexOf(basePlacement) >= 0;\n var len = isVertical ? 'height' : 'width';\n\n if (!arrowElement || !popperOffsets) {\n return;\n }\n\n var paddingObject = toPaddingObject(options.padding, state);\n var arrowRect = getLayoutRect(arrowElement);\n var minProp = axis === 'y' ? top : left;\n var maxProp = axis === 'y' ? bottom : right;\n var endDiff = state.rects.reference[len] + state.rects.reference[axis] - popperOffsets[axis] - state.rects.popper[len];\n var startDiff = popperOffsets[axis] - state.rects.reference[axis];\n var arrowOffsetParent = getOffsetParent(arrowElement);\n var clientSize = arrowOffsetParent ? axis === 'y' ? arrowOffsetParent.clientHeight || 0 : arrowOffsetParent.clientWidth || 0 : 0;\n var centerToReference = endDiff / 2 - startDiff / 2; // Make sure the arrow doesn't overflow the popper if the center point is\n // outside of the popper bounds\n\n var min = paddingObject[minProp];\n var max = clientSize - arrowRect[len] - paddingObject[maxProp];\n var center = clientSize / 2 - arrowRect[len] / 2 + centerToReference;\n var offset = within(min, center, max); // Prevents breaking syntax highlighting...\n\n var axisProp = axis;\n state.modifiersData[name] = (_state$modifiersData$ = {}, _state$modifiersData$[axisProp] = offset, _state$modifiersData$.centerOffset = offset - center, _state$modifiersData$);\n}\n\nfunction effect(_ref2) {\n var state = _ref2.state,\n options = _ref2.options;\n var _options$element = options.element,\n arrowElement = _options$element === void 0 ? '[data-popper-arrow]' : _options$element;\n\n if (arrowElement == null) {\n return;\n } // CSS selector\n\n\n if (typeof arrowElement === 'string') {\n arrowElement = state.elements.popper.querySelector(arrowElement);\n\n if (!arrowElement) {\n return;\n }\n }\n\n if (process.env.NODE_ENV !== \"production\") {\n if (!isHTMLElement(arrowElement)) {\n console.error(['Popper: \"arrow\" element must be an HTMLElement (not an SVGElement).', 'To use an SVG arrow, wrap it in an HTMLElement that will be used as', 'the arrow.'].join(' '));\n }\n }\n\n if (!contains(state.elements.popper, arrowElement)) {\n if (process.env.NODE_ENV !== \"production\") {\n console.error(['Popper: \"arrow\" modifier\\'s `element` must be a child of the popper', 'element.'].join(' '));\n }\n\n return;\n }\n\n state.elements.arrow = arrowElement;\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'arrow',\n enabled: true,\n phase: 'main',\n fn: arrow,\n effect: effect,\n requires: ['popperOffsets'],\n requiresIfExists: ['preventOverflow']\n};","export default function getVariation(placement) {\n return placement.split('-')[1];\n}","import { top, left, right, bottom, end } from \"../enums.js\";\nimport getOffsetParent from \"../dom-utils/getOffsetParent.js\";\nimport getWindow from \"../dom-utils/getWindow.js\";\nimport getDocumentElement from \"../dom-utils/getDocumentElement.js\";\nimport getComputedStyle from \"../dom-utils/getComputedStyle.js\";\nimport getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getVariation from \"../utils/getVariation.js\";\nimport { round } from \"../utils/math.js\"; // eslint-disable-next-line import/no-unused-modules\n\nvar unsetSides = {\n top: 'auto',\n right: 'auto',\n bottom: 'auto',\n left: 'auto'\n}; // Round the offsets to the nearest suitable subpixel based on the DPR.\n// Zooming can change the DPR, but it seems to report a value that will\n// cleanly divide the values into the appropriate subpixels.\n\nfunction roundOffsetsByDPR(_ref) {\n var x = _ref.x,\n y = _ref.y;\n var win = window;\n var dpr = win.devicePixelRatio || 1;\n return {\n x: round(x * dpr) / dpr || 0,\n y: round(y * dpr) / dpr || 0\n };\n}\n\nexport function mapToStyles(_ref2) {\n var _Object$assign2;\n\n var popper = _ref2.popper,\n popperRect = _ref2.popperRect,\n placement = _ref2.placement,\n variation = _ref2.variation,\n offsets = _ref2.offsets,\n position = _ref2.position,\n gpuAcceleration = _ref2.gpuAcceleration,\n adaptive = _ref2.adaptive,\n roundOffsets = _ref2.roundOffsets,\n isFixed = _ref2.isFixed;\n var _offsets$x = offsets.x,\n x = _offsets$x === void 0 ? 0 : _offsets$x,\n _offsets$y = offsets.y,\n y = _offsets$y === void 0 ? 0 : _offsets$y;\n\n var _ref3 = typeof roundOffsets === 'function' ? roundOffsets({\n x: x,\n y: y\n }) : {\n x: x,\n y: y\n };\n\n x = _ref3.x;\n y = _ref3.y;\n var hasX = offsets.hasOwnProperty('x');\n var hasY = offsets.hasOwnProperty('y');\n var sideX = left;\n var sideY = top;\n var win = window;\n\n if (adaptive) {\n var offsetParent = getOffsetParent(popper);\n var heightProp = 'clientHeight';\n var widthProp = 'clientWidth';\n\n if (offsetParent === getWindow(popper)) {\n offsetParent = getDocumentElement(popper);\n\n if (getComputedStyle(offsetParent).position !== 'static' && position === 'absolute') {\n heightProp = 'scrollHeight';\n widthProp = 'scrollWidth';\n }\n } // $FlowFixMe[incompatible-cast]: force type refinement, we compare offsetParent with window above, but Flow doesn't detect it\n\n\n offsetParent = offsetParent;\n\n if (placement === top || (placement === left || placement === right) && variation === end) {\n sideY = bottom;\n var offsetY = isFixed && offsetParent === win && win.visualViewport ? win.visualViewport.height : // $FlowFixMe[prop-missing]\n offsetParent[heightProp];\n y -= offsetY - popperRect.height;\n y *= gpuAcceleration ? 1 : -1;\n }\n\n if (placement === left || (placement === top || placement === bottom) && variation === end) {\n sideX = right;\n var offsetX = isFixed && offsetParent === win && win.visualViewport ? win.visualViewport.width : // $FlowFixMe[prop-missing]\n offsetParent[widthProp];\n x -= offsetX - popperRect.width;\n x *= gpuAcceleration ? 1 : -1;\n }\n }\n\n var commonStyles = Object.assign({\n position: position\n }, adaptive && unsetSides);\n\n var _ref4 = roundOffsets === true ? roundOffsetsByDPR({\n x: x,\n y: y\n }) : {\n x: x,\n y: y\n };\n\n x = _ref4.x;\n y = _ref4.y;\n\n if (gpuAcceleration) {\n var _Object$assign;\n\n return Object.assign({}, commonStyles, (_Object$assign = {}, _Object$assign[sideY] = hasY ? '0' : '', _Object$assign[sideX] = hasX ? '0' : '', _Object$assign.transform = (win.devicePixelRatio || 1) <= 1 ? \"translate(\" + x + \"px, \" + y + \"px)\" : \"translate3d(\" + x + \"px, \" + y + \"px, 0)\", _Object$assign));\n }\n\n return Object.assign({}, commonStyles, (_Object$assign2 = {}, _Object$assign2[sideY] = hasY ? y + \"px\" : '', _Object$assign2[sideX] = hasX ? x + \"px\" : '', _Object$assign2.transform = '', _Object$assign2));\n}\n\nfunction computeStyles(_ref5) {\n var state = _ref5.state,\n options = _ref5.options;\n var _options$gpuAccelerat = options.gpuAcceleration,\n gpuAcceleration = _options$gpuAccelerat === void 0 ? true : _options$gpuAccelerat,\n _options$adaptive = options.adaptive,\n adaptive = _options$adaptive === void 0 ? true : _options$adaptive,\n _options$roundOffsets = options.roundOffsets,\n roundOffsets = _options$roundOffsets === void 0 ? true : _options$roundOffsets;\n\n if (process.env.NODE_ENV !== \"production\") {\n var transitionProperty = getComputedStyle(state.elements.popper).transitionProperty || '';\n\n if (adaptive && ['transform', 'top', 'right', 'bottom', 'left'].some(function (property) {\n return transitionProperty.indexOf(property) >= 0;\n })) {\n console.warn(['Popper: Detected CSS transitions on at least one of the following', 'CSS properties: \"transform\", \"top\", \"right\", \"bottom\", \"left\".', '\\n\\n', 'Disable the \"computeStyles\" modifier\\'s `adaptive` option to allow', 'for smooth transitions, or remove these properties from the CSS', 'transition declaration on the popper element if only transitioning', 'opacity or background-color for example.', '\\n\\n', 'We recommend using the popper element as a wrapper around an inner', 'element that can have any CSS property transitioned for animations.'].join(' '));\n }\n }\n\n var commonStyles = {\n placement: getBasePlacement(state.placement),\n variation: getVariation(state.placement),\n popper: state.elements.popper,\n popperRect: state.rects.popper,\n gpuAcceleration: gpuAcceleration,\n isFixed: state.options.strategy === 'fixed'\n };\n\n if (state.modifiersData.popperOffsets != null) {\n state.styles.popper = Object.assign({}, state.styles.popper, mapToStyles(Object.assign({}, commonStyles, {\n offsets: state.modifiersData.popperOffsets,\n position: state.options.strategy,\n adaptive: adaptive,\n roundOffsets: roundOffsets\n })));\n }\n\n if (state.modifiersData.arrow != null) {\n state.styles.arrow = Object.assign({}, state.styles.arrow, mapToStyles(Object.assign({}, commonStyles, {\n offsets: state.modifiersData.arrow,\n position: 'absolute',\n adaptive: false,\n roundOffsets: roundOffsets\n })));\n }\n\n state.attributes.popper = Object.assign({}, state.attributes.popper, {\n 'data-popper-placement': state.placement\n });\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'computeStyles',\n enabled: true,\n phase: 'beforeWrite',\n fn: computeStyles,\n data: {}\n};","import getWindow from \"../dom-utils/getWindow.js\"; // eslint-disable-next-line import/no-unused-modules\n\nvar passive = {\n passive: true\n};\n\nfunction effect(_ref) {\n var state = _ref.state,\n instance = _ref.instance,\n options = _ref.options;\n var _options$scroll = options.scroll,\n scroll = _options$scroll === void 0 ? true : _options$scroll,\n _options$resize = options.resize,\n resize = _options$resize === void 0 ? true : _options$resize;\n var window = getWindow(state.elements.popper);\n var scrollParents = [].concat(state.scrollParents.reference, state.scrollParents.popper);\n\n if (scroll) {\n scrollParents.forEach(function (scrollParent) {\n scrollParent.addEventListener('scroll', instance.update, passive);\n });\n }\n\n if (resize) {\n window.addEventListener('resize', instance.update, passive);\n }\n\n return function () {\n if (scroll) {\n scrollParents.forEach(function (scrollParent) {\n scrollParent.removeEventListener('scroll', instance.update, passive);\n });\n }\n\n if (resize) {\n window.removeEventListener('resize', instance.update, passive);\n }\n };\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'eventListeners',\n enabled: true,\n phase: 'write',\n fn: function fn() {},\n effect: effect,\n data: {}\n};","var hash = {\n left: 'right',\n right: 'left',\n bottom: 'top',\n top: 'bottom'\n};\nexport default function getOppositePlacement(placement) {\n return placement.replace(/left|right|bottom|top/g, function (matched) {\n return hash[matched];\n });\n}","var hash = {\n start: 'end',\n end: 'start'\n};\nexport default function getOppositeVariationPlacement(placement) {\n return placement.replace(/start|end/g, function (matched) {\n return hash[matched];\n });\n}","import getWindow from \"./getWindow.js\";\nexport default function getWindowScroll(node) {\n var win = getWindow(node);\n var scrollLeft = win.pageXOffset;\n var scrollTop = win.pageYOffset;\n return {\n scrollLeft: scrollLeft,\n scrollTop: scrollTop\n };\n}","import getBoundingClientRect from \"./getBoundingClientRect.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport getWindowScroll from \"./getWindowScroll.js\";\nexport default function getWindowScrollBarX(element) {\n // If has a CSS width greater than the viewport, then this will be\n // incorrect for RTL.\n // Popper 1 is broken in this case and never had a bug report so let's assume\n // it's not an issue. I don't think anyone ever specifies width on \n // anyway.\n // Browsers where the left scrollbar doesn't cause an issue report `0` for\n // this (e.g. Edge 2019, IE11, Safari)\n return getBoundingClientRect(getDocumentElement(element)).left + getWindowScroll(element).scrollLeft;\n}","import getComputedStyle from \"./getComputedStyle.js\";\nexport default function isScrollParent(element) {\n // Firefox wants us to check `-x` and `-y` variations as well\n var _getComputedStyle = getComputedStyle(element),\n overflow = _getComputedStyle.overflow,\n overflowX = _getComputedStyle.overflowX,\n overflowY = _getComputedStyle.overflowY;\n\n return /auto|scroll|overlay|hidden/.test(overflow + overflowY + overflowX);\n}","import getScrollParent from \"./getScrollParent.js\";\nimport getParentNode from \"./getParentNode.js\";\nimport getWindow from \"./getWindow.js\";\nimport isScrollParent from \"./isScrollParent.js\";\n/*\ngiven a DOM element, return the list of all scroll parents, up the list of ancesors\nuntil we get to the top window object. This list is what we attach scroll listeners\nto, because if any of these parent elements scroll, we'll need to re-calculate the\nreference element's position.\n*/\n\nexport default function listScrollParents(element, list) {\n var _element$ownerDocumen;\n\n if (list === void 0) {\n list = [];\n }\n\n var scrollParent = getScrollParent(element);\n var isBody = scrollParent === ((_element$ownerDocumen = element.ownerDocument) == null ? void 0 : _element$ownerDocumen.body);\n var win = getWindow(scrollParent);\n var target = isBody ? [win].concat(win.visualViewport || [], isScrollParent(scrollParent) ? scrollParent : []) : scrollParent;\n var updatedList = list.concat(target);\n return isBody ? updatedList : // $FlowFixMe[incompatible-call]: isBody tells us target will be an HTMLElement here\n updatedList.concat(listScrollParents(getParentNode(target)));\n}","import getParentNode from \"./getParentNode.js\";\nimport isScrollParent from \"./isScrollParent.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport { isHTMLElement } from \"./instanceOf.js\";\nexport default function getScrollParent(node) {\n if (['html', 'body', '#document'].indexOf(getNodeName(node)) >= 0) {\n // $FlowFixMe[incompatible-return]: assume body is always available\n return node.ownerDocument.body;\n }\n\n if (isHTMLElement(node) && isScrollParent(node)) {\n return node;\n }\n\n return getScrollParent(getParentNode(node));\n}","export default function rectToClientRect(rect) {\n return Object.assign({}, rect, {\n left: rect.x,\n top: rect.y,\n right: rect.x + rect.width,\n bottom: rect.y + rect.height\n });\n}","import { viewport } from \"../enums.js\";\nimport getViewportRect from \"./getViewportRect.js\";\nimport getDocumentRect from \"./getDocumentRect.js\";\nimport listScrollParents from \"./listScrollParents.js\";\nimport getOffsetParent from \"./getOffsetParent.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport getComputedStyle from \"./getComputedStyle.js\";\nimport { isElement, isHTMLElement } from \"./instanceOf.js\";\nimport getBoundingClientRect from \"./getBoundingClientRect.js\";\nimport getParentNode from \"./getParentNode.js\";\nimport contains from \"./contains.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport rectToClientRect from \"../utils/rectToClientRect.js\";\nimport { max, min } from \"../utils/math.js\";\n\nfunction getInnerBoundingClientRect(element) {\n var rect = getBoundingClientRect(element);\n rect.top = rect.top + element.clientTop;\n rect.left = rect.left + element.clientLeft;\n rect.bottom = rect.top + element.clientHeight;\n rect.right = rect.left + element.clientWidth;\n rect.width = element.clientWidth;\n rect.height = element.clientHeight;\n rect.x = rect.left;\n rect.y = rect.top;\n return rect;\n}\n\nfunction getClientRectFromMixedType(element, clippingParent) {\n return clippingParent === viewport ? rectToClientRect(getViewportRect(element)) : isElement(clippingParent) ? getInnerBoundingClientRect(clippingParent) : rectToClientRect(getDocumentRect(getDocumentElement(element)));\n} // A \"clipping parent\" is an overflowable container with the characteristic of\n// clipping (or hiding) overflowing elements with a position different from\n// `initial`\n\n\nfunction getClippingParents(element) {\n var clippingParents = listScrollParents(getParentNode(element));\n var canEscapeClipping = ['absolute', 'fixed'].indexOf(getComputedStyle(element).position) >= 0;\n var clipperElement = canEscapeClipping && isHTMLElement(element) ? getOffsetParent(element) : element;\n\n if (!isElement(clipperElement)) {\n return [];\n } // $FlowFixMe[incompatible-return]: https://github.com/facebook/flow/issues/1414\n\n\n return clippingParents.filter(function (clippingParent) {\n return isElement(clippingParent) && contains(clippingParent, clipperElement) && getNodeName(clippingParent) !== 'body';\n });\n} // Gets the maximum area that the element is visible in due to any number of\n// clipping parents\n\n\nexport default function getClippingRect(element, boundary, rootBoundary) {\n var mainClippingParents = boundary === 'clippingParents' ? getClippingParents(element) : [].concat(boundary);\n var clippingParents = [].concat(mainClippingParents, [rootBoundary]);\n var firstClippingParent = clippingParents[0];\n var clippingRect = clippingParents.reduce(function (accRect, clippingParent) {\n var rect = getClientRectFromMixedType(element, clippingParent);\n accRect.top = max(rect.top, accRect.top);\n accRect.right = min(rect.right, accRect.right);\n accRect.bottom = min(rect.bottom, accRect.bottom);\n accRect.left = max(rect.left, accRect.left);\n return accRect;\n }, getClientRectFromMixedType(element, firstClippingParent));\n clippingRect.width = clippingRect.right - clippingRect.left;\n clippingRect.height = clippingRect.bottom - clippingRect.top;\n clippingRect.x = clippingRect.left;\n clippingRect.y = clippingRect.top;\n return clippingRect;\n}","import getWindow from \"./getWindow.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport getWindowScrollBarX from \"./getWindowScrollBarX.js\";\nexport default function getViewportRect(element) {\n var win = getWindow(element);\n var html = getDocumentElement(element);\n var visualViewport = win.visualViewport;\n var width = html.clientWidth;\n var height = html.clientHeight;\n var x = 0;\n var y = 0; // NB: This isn't supported on iOS <= 12. If the keyboard is open, the popper\n // can be obscured underneath it.\n // Also, `html.clientHeight` adds the bottom bar height in Safari iOS, even\n // if it isn't open, so if this isn't available, the popper will be detected\n // to overflow the bottom of the screen too early.\n\n if (visualViewport) {\n width = visualViewport.width;\n height = visualViewport.height; // Uses Layout Viewport (like Chrome; Safari does not currently)\n // In Chrome, it returns a value very close to 0 (+/-) but contains rounding\n // errors due to floating point numbers, so we need to check precision.\n // Safari returns a number <= 0, usually < -1 when pinch-zoomed\n // Feature detection fails in mobile emulation mode in Chrome.\n // Math.abs(win.innerWidth / visualViewport.scale - visualViewport.width) <\n // 0.001\n // Fallback here: \"Not Safari\" userAgent\n\n if (!/^((?!chrome|android).)*safari/i.test(navigator.userAgent)) {\n x = visualViewport.offsetLeft;\n y = visualViewport.offsetTop;\n }\n }\n\n return {\n width: width,\n height: height,\n x: x + getWindowScrollBarX(element),\n y: y\n };\n}","import getDocumentElement from \"./getDocumentElement.js\";\nimport getComputedStyle from \"./getComputedStyle.js\";\nimport getWindowScrollBarX from \"./getWindowScrollBarX.js\";\nimport getWindowScroll from \"./getWindowScroll.js\";\nimport { max } from \"../utils/math.js\"; // Gets the entire size of the scrollable document area, even extending outside\n// of the `` and `` rect bounds if horizontally scrollable\n\nexport default function getDocumentRect(element) {\n var _element$ownerDocumen;\n\n var html = getDocumentElement(element);\n var winScroll = getWindowScroll(element);\n var body = (_element$ownerDocumen = element.ownerDocument) == null ? void 0 : _element$ownerDocumen.body;\n var width = max(html.scrollWidth, html.clientWidth, body ? body.scrollWidth : 0, body ? body.clientWidth : 0);\n var height = max(html.scrollHeight, html.clientHeight, body ? body.scrollHeight : 0, body ? body.clientHeight : 0);\n var x = -winScroll.scrollLeft + getWindowScrollBarX(element);\n var y = -winScroll.scrollTop;\n\n if (getComputedStyle(body || html).direction === 'rtl') {\n x += max(html.clientWidth, body ? body.clientWidth : 0) - width;\n }\n\n return {\n width: width,\n height: height,\n x: x,\n y: y\n };\n}","import getBasePlacement from \"./getBasePlacement.js\";\nimport getVariation from \"./getVariation.js\";\nimport getMainAxisFromPlacement from \"./getMainAxisFromPlacement.js\";\nimport { top, right, bottom, left, start, end } from \"../enums.js\";\nexport default function computeOffsets(_ref) {\n var reference = _ref.reference,\n element = _ref.element,\n placement = _ref.placement;\n var basePlacement = placement ? getBasePlacement(placement) : null;\n var variation = placement ? getVariation(placement) : null;\n var commonX = reference.x + reference.width / 2 - element.width / 2;\n var commonY = reference.y + reference.height / 2 - element.height / 2;\n var offsets;\n\n switch (basePlacement) {\n case top:\n offsets = {\n x: commonX,\n y: reference.y - element.height\n };\n break;\n\n case bottom:\n offsets = {\n x: commonX,\n y: reference.y + reference.height\n };\n break;\n\n case right:\n offsets = {\n x: reference.x + reference.width,\n y: commonY\n };\n break;\n\n case left:\n offsets = {\n x: reference.x - element.width,\n y: commonY\n };\n break;\n\n default:\n offsets = {\n x: reference.x,\n y: reference.y\n };\n }\n\n var mainAxis = basePlacement ? getMainAxisFromPlacement(basePlacement) : null;\n\n if (mainAxis != null) {\n var len = mainAxis === 'y' ? 'height' : 'width';\n\n switch (variation) {\n case start:\n offsets[mainAxis] = offsets[mainAxis] - (reference[len] / 2 - element[len] / 2);\n break;\n\n case end:\n offsets[mainAxis] = offsets[mainAxis] + (reference[len] / 2 - element[len] / 2);\n break;\n\n default:\n }\n }\n\n return offsets;\n}","import getClippingRect from \"../dom-utils/getClippingRect.js\";\nimport getDocumentElement from \"../dom-utils/getDocumentElement.js\";\nimport getBoundingClientRect from \"../dom-utils/getBoundingClientRect.js\";\nimport computeOffsets from \"./computeOffsets.js\";\nimport rectToClientRect from \"./rectToClientRect.js\";\nimport { clippingParents, reference, popper, bottom, top, right, basePlacements, viewport } from \"../enums.js\";\nimport { isElement } from \"../dom-utils/instanceOf.js\";\nimport mergePaddingObject from \"./mergePaddingObject.js\";\nimport expandToHashMap from \"./expandToHashMap.js\"; // eslint-disable-next-line import/no-unused-modules\n\nexport default function detectOverflow(state, options) {\n if (options === void 0) {\n options = {};\n }\n\n var _options = options,\n _options$placement = _options.placement,\n placement = _options$placement === void 0 ? state.placement : _options$placement,\n _options$boundary = _options.boundary,\n boundary = _options$boundary === void 0 ? clippingParents : _options$boundary,\n _options$rootBoundary = _options.rootBoundary,\n rootBoundary = _options$rootBoundary === void 0 ? viewport : _options$rootBoundary,\n _options$elementConte = _options.elementContext,\n elementContext = _options$elementConte === void 0 ? popper : _options$elementConte,\n _options$altBoundary = _options.altBoundary,\n altBoundary = _options$altBoundary === void 0 ? false : _options$altBoundary,\n _options$padding = _options.padding,\n padding = _options$padding === void 0 ? 0 : _options$padding;\n var paddingObject = mergePaddingObject(typeof padding !== 'number' ? padding : expandToHashMap(padding, basePlacements));\n var altContext = elementContext === popper ? reference : popper;\n var popperRect = state.rects.popper;\n var element = state.elements[altBoundary ? altContext : elementContext];\n var clippingClientRect = getClippingRect(isElement(element) ? element : element.contextElement || getDocumentElement(state.elements.popper), boundary, rootBoundary);\n var referenceClientRect = getBoundingClientRect(state.elements.reference);\n var popperOffsets = computeOffsets({\n reference: referenceClientRect,\n element: popperRect,\n strategy: 'absolute',\n placement: placement\n });\n var popperClientRect = rectToClientRect(Object.assign({}, popperRect, popperOffsets));\n var elementClientRect = elementContext === popper ? popperClientRect : referenceClientRect; // positive = overflowing the clipping rect\n // 0 or negative = within the clipping rect\n\n var overflowOffsets = {\n top: clippingClientRect.top - elementClientRect.top + paddingObject.top,\n bottom: elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom,\n left: clippingClientRect.left - elementClientRect.left + paddingObject.left,\n right: elementClientRect.right - clippingClientRect.right + paddingObject.right\n };\n var offsetData = state.modifiersData.offset; // Offsets can be applied only to the popper element\n\n if (elementContext === popper && offsetData) {\n var offset = offsetData[placement];\n Object.keys(overflowOffsets).forEach(function (key) {\n var multiply = [right, bottom].indexOf(key) >= 0 ? 1 : -1;\n var axis = [top, bottom].indexOf(key) >= 0 ? 'y' : 'x';\n overflowOffsets[key] += offset[axis] * multiply;\n });\n }\n\n return overflowOffsets;\n}","import getOppositePlacement from \"../utils/getOppositePlacement.js\";\nimport getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getOppositeVariationPlacement from \"../utils/getOppositeVariationPlacement.js\";\nimport detectOverflow from \"../utils/detectOverflow.js\";\nimport computeAutoPlacement from \"../utils/computeAutoPlacement.js\";\nimport { bottom, top, start, right, left, auto } from \"../enums.js\";\nimport getVariation from \"../utils/getVariation.js\"; // eslint-disable-next-line import/no-unused-modules\n\nfunction getExpandedFallbackPlacements(placement) {\n if (getBasePlacement(placement) === auto) {\n return [];\n }\n\n var oppositePlacement = getOppositePlacement(placement);\n return [getOppositeVariationPlacement(placement), oppositePlacement, getOppositeVariationPlacement(oppositePlacement)];\n}\n\nfunction flip(_ref) {\n var state = _ref.state,\n options = _ref.options,\n name = _ref.name;\n\n if (state.modifiersData[name]._skip) {\n return;\n }\n\n var _options$mainAxis = options.mainAxis,\n checkMainAxis = _options$mainAxis === void 0 ? true : _options$mainAxis,\n _options$altAxis = options.altAxis,\n checkAltAxis = _options$altAxis === void 0 ? true : _options$altAxis,\n specifiedFallbackPlacements = options.fallbackPlacements,\n padding = options.padding,\n boundary = options.boundary,\n rootBoundary = options.rootBoundary,\n altBoundary = options.altBoundary,\n _options$flipVariatio = options.flipVariations,\n flipVariations = _options$flipVariatio === void 0 ? true : _options$flipVariatio,\n allowedAutoPlacements = options.allowedAutoPlacements;\n var preferredPlacement = state.options.placement;\n var basePlacement = getBasePlacement(preferredPlacement);\n var isBasePlacement = basePlacement === preferredPlacement;\n var fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipVariations ? [getOppositePlacement(preferredPlacement)] : getExpandedFallbackPlacements(preferredPlacement));\n var placements = [preferredPlacement].concat(fallbackPlacements).reduce(function (acc, placement) {\n return acc.concat(getBasePlacement(placement) === auto ? computeAutoPlacement(state, {\n placement: placement,\n boundary: boundary,\n rootBoundary: rootBoundary,\n padding: padding,\n flipVariations: flipVariations,\n allowedAutoPlacements: allowedAutoPlacements\n }) : placement);\n }, []);\n var referenceRect = state.rects.reference;\n var popperRect = state.rects.popper;\n var checksMap = new Map();\n var makeFallbackChecks = true;\n var firstFittingPlacement = placements[0];\n\n for (var i = 0; i < placements.length; i++) {\n var placement = placements[i];\n\n var _basePlacement = getBasePlacement(placement);\n\n var isStartVariation = getVariation(placement) === start;\n var isVertical = [top, bottom].indexOf(_basePlacement) >= 0;\n var len = isVertical ? 'width' : 'height';\n var overflow = detectOverflow(state, {\n placement: placement,\n boundary: boundary,\n rootBoundary: rootBoundary,\n altBoundary: altBoundary,\n padding: padding\n });\n var mainVariationSide = isVertical ? isStartVariation ? right : left : isStartVariation ? bottom : top;\n\n if (referenceRect[len] > popperRect[len]) {\n mainVariationSide = getOppositePlacement(mainVariationSide);\n }\n\n var altVariationSide = getOppositePlacement(mainVariationSide);\n var checks = [];\n\n if (checkMainAxis) {\n checks.push(overflow[_basePlacement] <= 0);\n }\n\n if (checkAltAxis) {\n checks.push(overflow[mainVariationSide] <= 0, overflow[altVariationSide] <= 0);\n }\n\n if (checks.every(function (check) {\n return check;\n })) {\n firstFittingPlacement = placement;\n makeFallbackChecks = false;\n break;\n }\n\n checksMap.set(placement, checks);\n }\n\n if (makeFallbackChecks) {\n // `2` may be desired in some cases – research later\n var numberOfChecks = flipVariations ? 3 : 1;\n\n var _loop = function _loop(_i) {\n var fittingPlacement = placements.find(function (placement) {\n var checks = checksMap.get(placement);\n\n if (checks) {\n return checks.slice(0, _i).every(function (check) {\n return check;\n });\n }\n });\n\n if (fittingPlacement) {\n firstFittingPlacement = fittingPlacement;\n return \"break\";\n }\n };\n\n for (var _i = numberOfChecks; _i > 0; _i--) {\n var _ret = _loop(_i);\n\n if (_ret === \"break\") break;\n }\n }\n\n if (state.placement !== firstFittingPlacement) {\n state.modifiersData[name]._skip = true;\n state.placement = firstFittingPlacement;\n state.reset = true;\n }\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'flip',\n enabled: true,\n phase: 'main',\n fn: flip,\n requiresIfExists: ['offset'],\n data: {\n _skip: false\n }\n};","import getVariation from \"./getVariation.js\";\nimport { variationPlacements, basePlacements, placements as allPlacements } from \"../enums.js\";\nimport detectOverflow from \"./detectOverflow.js\";\nimport getBasePlacement from \"./getBasePlacement.js\";\nexport default function computeAutoPlacement(state, options) {\n if (options === void 0) {\n options = {};\n }\n\n var _options = options,\n placement = _options.placement,\n boundary = _options.boundary,\n rootBoundary = _options.rootBoundary,\n padding = _options.padding,\n flipVariations = _options.flipVariations,\n _options$allowedAutoP = _options.allowedAutoPlacements,\n allowedAutoPlacements = _options$allowedAutoP === void 0 ? allPlacements : _options$allowedAutoP;\n var variation = getVariation(placement);\n var placements = variation ? flipVariations ? variationPlacements : variationPlacements.filter(function (placement) {\n return getVariation(placement) === variation;\n }) : basePlacements;\n var allowedPlacements = placements.filter(function (placement) {\n return allowedAutoPlacements.indexOf(placement) >= 0;\n });\n\n if (allowedPlacements.length === 0) {\n allowedPlacements = placements;\n\n if (process.env.NODE_ENV !== \"production\") {\n 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(' '));\n }\n } // $FlowFixMe[incompatible-type]: Flow seems to have problems with two array unions...\n\n\n var overflows = allowedPlacements.reduce(function (acc, placement) {\n acc[placement] = detectOverflow(state, {\n placement: placement,\n boundary: boundary,\n rootBoundary: rootBoundary,\n padding: padding\n })[getBasePlacement(placement)];\n return acc;\n }, {});\n return Object.keys(overflows).sort(function (a, b) {\n return overflows[a] - overflows[b];\n });\n}","import { top, bottom, left, right } from \"../enums.js\";\nimport detectOverflow from \"../utils/detectOverflow.js\";\n\nfunction getSideOffsets(overflow, rect, preventedOffsets) {\n if (preventedOffsets === void 0) {\n preventedOffsets = {\n x: 0,\n y: 0\n };\n }\n\n return {\n top: overflow.top - rect.height - preventedOffsets.y,\n right: overflow.right - rect.width + preventedOffsets.x,\n bottom: overflow.bottom - rect.height + preventedOffsets.y,\n left: overflow.left - rect.width - preventedOffsets.x\n };\n}\n\nfunction isAnySideFullyClipped(overflow) {\n return [top, right, bottom, left].some(function (side) {\n return overflow[side] >= 0;\n });\n}\n\nfunction hide(_ref) {\n var state = _ref.state,\n name = _ref.name;\n var referenceRect = state.rects.reference;\n var popperRect = state.rects.popper;\n var preventedOffsets = state.modifiersData.preventOverflow;\n var referenceOverflow = detectOverflow(state, {\n elementContext: 'reference'\n });\n var popperAltOverflow = detectOverflow(state, {\n altBoundary: true\n });\n var referenceClippingOffsets = getSideOffsets(referenceOverflow, referenceRect);\n var popperEscapeOffsets = getSideOffsets(popperAltOverflow, popperRect, preventedOffsets);\n var isReferenceHidden = isAnySideFullyClipped(referenceClippingOffsets);\n var hasPopperEscaped = isAnySideFullyClipped(popperEscapeOffsets);\n state.modifiersData[name] = {\n referenceClippingOffsets: referenceClippingOffsets,\n popperEscapeOffsets: popperEscapeOffsets,\n isReferenceHidden: isReferenceHidden,\n hasPopperEscaped: hasPopperEscaped\n };\n state.attributes.popper = Object.assign({}, state.attributes.popper, {\n 'data-popper-reference-hidden': isReferenceHidden,\n 'data-popper-escaped': hasPopperEscaped\n });\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'hide',\n enabled: true,\n phase: 'main',\n requiresIfExists: ['preventOverflow'],\n fn: hide\n};","import getBasePlacement from \"../utils/getBasePlacement.js\";\nimport { top, left, right, placements } from \"../enums.js\"; // eslint-disable-next-line import/no-unused-modules\n\nexport function distanceAndSkiddingToXY(placement, rects, offset) {\n var basePlacement = getBasePlacement(placement);\n var invertDistance = [left, top].indexOf(basePlacement) >= 0 ? -1 : 1;\n\n var _ref = typeof offset === 'function' ? offset(Object.assign({}, rects, {\n placement: placement\n })) : offset,\n skidding = _ref[0],\n distance = _ref[1];\n\n skidding = skidding || 0;\n distance = (distance || 0) * invertDistance;\n return [left, right].indexOf(basePlacement) >= 0 ? {\n x: distance,\n y: skidding\n } : {\n x: skidding,\n y: distance\n };\n}\n\nfunction offset(_ref2) {\n var state = _ref2.state,\n options = _ref2.options,\n name = _ref2.name;\n var _options$offset = options.offset,\n offset = _options$offset === void 0 ? [0, 0] : _options$offset;\n var data = placements.reduce(function (acc, placement) {\n acc[placement] = distanceAndSkiddingToXY(placement, state.rects, offset);\n return acc;\n }, {});\n var _data$state$placement = data[state.placement],\n x = _data$state$placement.x,\n y = _data$state$placement.y;\n\n if (state.modifiersData.popperOffsets != null) {\n state.modifiersData.popperOffsets.x += x;\n state.modifiersData.popperOffsets.y += y;\n }\n\n state.modifiersData[name] = data;\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'offset',\n enabled: true,\n phase: 'main',\n requires: ['popperOffsets'],\n fn: offset\n};","import computeOffsets from \"../utils/computeOffsets.js\";\n\nfunction popperOffsets(_ref) {\n var state = _ref.state,\n name = _ref.name;\n // Offsets are the actual position the popper needs to have to be\n // properly positioned near its reference element\n // This is the most basic placement, and will be adjusted by\n // the modifiers in the next step\n state.modifiersData[name] = computeOffsets({\n reference: state.rects.reference,\n element: state.rects.popper,\n strategy: 'absolute',\n placement: state.placement\n });\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'popperOffsets',\n enabled: true,\n phase: 'read',\n fn: popperOffsets,\n data: {}\n};","import { top, left, right, bottom, start } from \"../enums.js\";\nimport getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getMainAxisFromPlacement from \"../utils/getMainAxisFromPlacement.js\";\nimport getAltAxis from \"../utils/getAltAxis.js\";\nimport { within, withinMaxClamp } from \"../utils/within.js\";\nimport getLayoutRect from \"../dom-utils/getLayoutRect.js\";\nimport getOffsetParent from \"../dom-utils/getOffsetParent.js\";\nimport detectOverflow from \"../utils/detectOverflow.js\";\nimport getVariation from \"../utils/getVariation.js\";\nimport getFreshSideObject from \"../utils/getFreshSideObject.js\";\nimport { min as mathMin, max as mathMax } from \"../utils/math.js\";\n\nfunction preventOverflow(_ref) {\n var state = _ref.state,\n options = _ref.options,\n name = _ref.name;\n var _options$mainAxis = options.mainAxis,\n checkMainAxis = _options$mainAxis === void 0 ? true : _options$mainAxis,\n _options$altAxis = options.altAxis,\n checkAltAxis = _options$altAxis === void 0 ? false : _options$altAxis,\n boundary = options.boundary,\n rootBoundary = options.rootBoundary,\n altBoundary = options.altBoundary,\n padding = options.padding,\n _options$tether = options.tether,\n tether = _options$tether === void 0 ? true : _options$tether,\n _options$tetherOffset = options.tetherOffset,\n tetherOffset = _options$tetherOffset === void 0 ? 0 : _options$tetherOffset;\n var overflow = detectOverflow(state, {\n boundary: boundary,\n rootBoundary: rootBoundary,\n padding: padding,\n altBoundary: altBoundary\n });\n var basePlacement = getBasePlacement(state.placement);\n var variation = getVariation(state.placement);\n var isBasePlacement = !variation;\n var mainAxis = getMainAxisFromPlacement(basePlacement);\n var altAxis = getAltAxis(mainAxis);\n var popperOffsets = state.modifiersData.popperOffsets;\n var referenceRect = state.rects.reference;\n var popperRect = state.rects.popper;\n var tetherOffsetValue = typeof tetherOffset === 'function' ? tetherOffset(Object.assign({}, state.rects, {\n placement: state.placement\n })) : tetherOffset;\n var normalizedTetherOffsetValue = typeof tetherOffsetValue === 'number' ? {\n mainAxis: tetherOffsetValue,\n altAxis: tetherOffsetValue\n } : Object.assign({\n mainAxis: 0,\n altAxis: 0\n }, tetherOffsetValue);\n var offsetModifierState = state.modifiersData.offset ? state.modifiersData.offset[state.placement] : null;\n var data = {\n x: 0,\n y: 0\n };\n\n if (!popperOffsets) {\n return;\n }\n\n if (checkMainAxis) {\n var _offsetModifierState$;\n\n var mainSide = mainAxis === 'y' ? top : left;\n var altSide = mainAxis === 'y' ? bottom : right;\n var len = mainAxis === 'y' ? 'height' : 'width';\n var offset = popperOffsets[mainAxis];\n var min = offset + overflow[mainSide];\n var max = offset - overflow[altSide];\n var additive = tether ? -popperRect[len] / 2 : 0;\n var minLen = variation === start ? referenceRect[len] : popperRect[len];\n var maxLen = variation === start ? -popperRect[len] : -referenceRect[len]; // We need to include the arrow in the calculation so the arrow doesn't go\n // outside the reference bounds\n\n var arrowElement = state.elements.arrow;\n var arrowRect = tether && arrowElement ? getLayoutRect(arrowElement) : {\n width: 0,\n height: 0\n };\n var arrowPaddingObject = state.modifiersData['arrow#persistent'] ? state.modifiersData['arrow#persistent'].padding : getFreshSideObject();\n var arrowPaddingMin = arrowPaddingObject[mainSide];\n var arrowPaddingMax = arrowPaddingObject[altSide]; // If the reference length is smaller than the arrow length, we don't want\n // to include its full size in the calculation. If the reference is small\n // and near the edge of a boundary, the popper can overflow even if the\n // reference is not overflowing as well (e.g. virtual elements with no\n // width or height)\n\n var arrowLen = within(0, referenceRect[len], arrowRect[len]);\n var minOffset = isBasePlacement ? referenceRect[len] / 2 - additive - arrowLen - arrowPaddingMin - normalizedTetherOffsetValue.mainAxis : minLen - arrowLen - arrowPaddingMin - normalizedTetherOffsetValue.mainAxis;\n var maxOffset = isBasePlacement ? -referenceRect[len] / 2 + additive + arrowLen + arrowPaddingMax + normalizedTetherOffsetValue.mainAxis : maxLen + arrowLen + arrowPaddingMax + normalizedTetherOffsetValue.mainAxis;\n var arrowOffsetParent = state.elements.arrow && getOffsetParent(state.elements.arrow);\n var clientOffset = arrowOffsetParent ? mainAxis === 'y' ? arrowOffsetParent.clientTop || 0 : arrowOffsetParent.clientLeft || 0 : 0;\n var offsetModifierValue = (_offsetModifierState$ = offsetModifierState == null ? void 0 : offsetModifierState[mainAxis]) != null ? _offsetModifierState$ : 0;\n var tetherMin = offset + minOffset - offsetModifierValue - clientOffset;\n var tetherMax = offset + maxOffset - offsetModifierValue;\n var preventedOffset = within(tether ? mathMin(min, tetherMin) : min, offset, tether ? mathMax(max, tetherMax) : max);\n popperOffsets[mainAxis] = preventedOffset;\n data[mainAxis] = preventedOffset - offset;\n }\n\n if (checkAltAxis) {\n var _offsetModifierState$2;\n\n var _mainSide = mainAxis === 'x' ? top : left;\n\n var _altSide = mainAxis === 'x' ? bottom : right;\n\n var _offset = popperOffsets[altAxis];\n\n var _len = altAxis === 'y' ? 'height' : 'width';\n\n var _min = _offset + overflow[_mainSide];\n\n var _max = _offset - overflow[_altSide];\n\n var isOriginSide = [top, left].indexOf(basePlacement) !== -1;\n\n var _offsetModifierValue = (_offsetModifierState$2 = offsetModifierState == null ? void 0 : offsetModifierState[altAxis]) != null ? _offsetModifierState$2 : 0;\n\n var _tetherMin = isOriginSide ? _min : _offset - referenceRect[_len] - popperRect[_len] - _offsetModifierValue + normalizedTetherOffsetValue.altAxis;\n\n var _tetherMax = isOriginSide ? _offset + referenceRect[_len] + popperRect[_len] - _offsetModifierValue - normalizedTetherOffsetValue.altAxis : _max;\n\n var _preventedOffset = tether && isOriginSide ? withinMaxClamp(_tetherMin, _offset, _tetherMax) : within(tether ? _tetherMin : _min, _offset, tether ? _tetherMax : _max);\n\n popperOffsets[altAxis] = _preventedOffset;\n data[altAxis] = _preventedOffset - _offset;\n }\n\n state.modifiersData[name] = data;\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'preventOverflow',\n enabled: true,\n phase: 'main',\n fn: preventOverflow,\n requiresIfExists: ['offset']\n};","export default function getAltAxis(axis) {\n return axis === 'x' ? 'y' : 'x';\n}","import getBoundingClientRect from \"./getBoundingClientRect.js\";\nimport getNodeScroll from \"./getNodeScroll.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport { isHTMLElement } from \"./instanceOf.js\";\nimport getWindowScrollBarX from \"./getWindowScrollBarX.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport isScrollParent from \"./isScrollParent.js\";\nimport { round } from \"../utils/math.js\";\n\nfunction isElementScaled(element) {\n var rect = element.getBoundingClientRect();\n var scaleX = round(rect.width) / element.offsetWidth || 1;\n var scaleY = round(rect.height) / element.offsetHeight || 1;\n return scaleX !== 1 || scaleY !== 1;\n} // Returns the composite rect of an element relative to its offsetParent.\n// Composite means it takes into account transforms as well as layout.\n\n\nexport default function getCompositeRect(elementOrVirtualElement, offsetParent, isFixed) {\n if (isFixed === void 0) {\n isFixed = false;\n }\n\n var isOffsetParentAnElement = isHTMLElement(offsetParent);\n var offsetParentIsScaled = isHTMLElement(offsetParent) && isElementScaled(offsetParent);\n var documentElement = getDocumentElement(offsetParent);\n var rect = getBoundingClientRect(elementOrVirtualElement, offsetParentIsScaled);\n var scroll = {\n scrollLeft: 0,\n scrollTop: 0\n };\n var offsets = {\n x: 0,\n y: 0\n };\n\n if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n if (getNodeName(offsetParent) !== 'body' || // https://github.com/popperjs/popper-core/issues/1078\n isScrollParent(documentElement)) {\n scroll = getNodeScroll(offsetParent);\n }\n\n if (isHTMLElement(offsetParent)) {\n offsets = getBoundingClientRect(offsetParent, true);\n offsets.x += offsetParent.clientLeft;\n offsets.y += offsetParent.clientTop;\n } else if (documentElement) {\n offsets.x = getWindowScrollBarX(documentElement);\n }\n }\n\n return {\n x: rect.left + scroll.scrollLeft - offsets.x,\n y: rect.top + scroll.scrollTop - offsets.y,\n width: rect.width,\n height: rect.height\n };\n}","import getWindowScroll from \"./getWindowScroll.js\";\nimport getWindow from \"./getWindow.js\";\nimport { isHTMLElement } from \"./instanceOf.js\";\nimport getHTMLElementScroll from \"./getHTMLElementScroll.js\";\nexport default function getNodeScroll(node) {\n if (node === getWindow(node) || !isHTMLElement(node)) {\n return getWindowScroll(node);\n } else {\n return getHTMLElementScroll(node);\n }\n}","export default function getHTMLElementScroll(element) {\n return {\n scrollLeft: element.scrollLeft,\n scrollTop: element.scrollTop\n };\n}","import { modifierPhases } from \"../enums.js\"; // source: https://stackoverflow.com/questions/49875255\n\nfunction order(modifiers) {\n var map = new Map();\n var visited = new Set();\n var result = [];\n modifiers.forEach(function (modifier) {\n map.set(modifier.name, modifier);\n }); // On visiting object, check for its dependencies and visit them recursively\n\n function sort(modifier) {\n visited.add(modifier.name);\n var requires = [].concat(modifier.requires || [], modifier.requiresIfExists || []);\n requires.forEach(function (dep) {\n if (!visited.has(dep)) {\n var depModifier = map.get(dep);\n\n if (depModifier) {\n sort(depModifier);\n }\n }\n });\n result.push(modifier);\n }\n\n modifiers.forEach(function (modifier) {\n if (!visited.has(modifier.name)) {\n // check for visited object\n sort(modifier);\n }\n });\n return result;\n}\n\nexport default function orderModifiers(modifiers) {\n // order based on dependencies\n var orderedModifiers = order(modifiers); // order based on phase\n\n return modifierPhases.reduce(function (acc, phase) {\n return acc.concat(orderedModifiers.filter(function (modifier) {\n return modifier.phase === phase;\n }));\n }, []);\n}","import getCompositeRect from \"./dom-utils/getCompositeRect.js\";\nimport getLayoutRect from \"./dom-utils/getLayoutRect.js\";\nimport listScrollParents from \"./dom-utils/listScrollParents.js\";\nimport getOffsetParent from \"./dom-utils/getOffsetParent.js\";\nimport getComputedStyle from \"./dom-utils/getComputedStyle.js\";\nimport orderModifiers from \"./utils/orderModifiers.js\";\nimport debounce from \"./utils/debounce.js\";\nimport validateModifiers from \"./utils/validateModifiers.js\";\nimport uniqueBy from \"./utils/uniqueBy.js\";\nimport getBasePlacement from \"./utils/getBasePlacement.js\";\nimport mergeByName from \"./utils/mergeByName.js\";\nimport detectOverflow from \"./utils/detectOverflow.js\";\nimport { isElement } from \"./dom-utils/instanceOf.js\";\nimport { auto } from \"./enums.js\";\nvar INVALID_ELEMENT_ERROR = 'Popper: Invalid reference or popper argument provided. They must be either a DOM element or virtual element.';\nvar INFINITE_LOOP_ERROR = 'Popper: An infinite loop in the modifiers cycle has been detected! The cycle has been interrupted to prevent a browser crash.';\nvar DEFAULT_OPTIONS = {\n placement: 'bottom',\n modifiers: [],\n strategy: 'absolute'\n};\n\nfunction areValidElements() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return !args.some(function (element) {\n return !(element && typeof element.getBoundingClientRect === 'function');\n });\n}\n\nexport function popperGenerator(generatorOptions) {\n if (generatorOptions === void 0) {\n generatorOptions = {};\n }\n\n var _generatorOptions = generatorOptions,\n _generatorOptions$def = _generatorOptions.defaultModifiers,\n defaultModifiers = _generatorOptions$def === void 0 ? [] : _generatorOptions$def,\n _generatorOptions$def2 = _generatorOptions.defaultOptions,\n defaultOptions = _generatorOptions$def2 === void 0 ? DEFAULT_OPTIONS : _generatorOptions$def2;\n return function createPopper(reference, popper, options) {\n if (options === void 0) {\n options = defaultOptions;\n }\n\n var state = {\n placement: 'bottom',\n orderedModifiers: [],\n options: Object.assign({}, DEFAULT_OPTIONS, defaultOptions),\n modifiersData: {},\n elements: {\n reference: reference,\n popper: popper\n },\n attributes: {},\n styles: {}\n };\n var effectCleanupFns = [];\n var isDestroyed = false;\n var instance = {\n state: state,\n setOptions: function setOptions(setOptionsAction) {\n var options = typeof setOptionsAction === 'function' ? setOptionsAction(state.options) : setOptionsAction;\n cleanupModifierEffects();\n state.options = Object.assign({}, defaultOptions, state.options, options);\n state.scrollParents = {\n reference: isElement(reference) ? listScrollParents(reference) : reference.contextElement ? listScrollParents(reference.contextElement) : [],\n popper: listScrollParents(popper)\n }; // Orders the modifiers based on their dependencies and `phase`\n // properties\n\n var orderedModifiers = orderModifiers(mergeByName([].concat(defaultModifiers, state.options.modifiers))); // Strip out disabled modifiers\n\n state.orderedModifiers = orderedModifiers.filter(function (m) {\n return m.enabled;\n }); // Validate the provided modifiers so that the consumer will get warned\n // if one of the modifiers is invalid for any reason\n\n if (process.env.NODE_ENV !== \"production\") {\n var modifiers = uniqueBy([].concat(orderedModifiers, state.options.modifiers), function (_ref) {\n var name = _ref.name;\n return name;\n });\n validateModifiers(modifiers);\n\n if (getBasePlacement(state.options.placement) === auto) {\n var flipModifier = state.orderedModifiers.find(function (_ref2) {\n var name = _ref2.name;\n return name === 'flip';\n });\n\n if (!flipModifier) {\n console.error(['Popper: \"auto\" placements require the \"flip\" modifier be', 'present and enabled to work.'].join(' '));\n }\n }\n\n var _getComputedStyle = getComputedStyle(popper),\n marginTop = _getComputedStyle.marginTop,\n marginRight = _getComputedStyle.marginRight,\n marginBottom = _getComputedStyle.marginBottom,\n marginLeft = _getComputedStyle.marginLeft; // We no longer take into account `margins` on the popper, and it can\n // cause bugs with positioning, so we'll warn the consumer\n\n\n if ([marginTop, marginRight, marginBottom, marginLeft].some(function (margin) {\n return parseFloat(margin);\n })) {\n console.warn(['Popper: CSS \"margin\" styles cannot be used to apply padding', 'between the popper and its reference element or boundary.', 'To replicate margin, use the `offset` modifier, as well as', 'the `padding` option in the `preventOverflow` and `flip`', 'modifiers.'].join(' '));\n }\n }\n\n runModifierEffects();\n return instance.update();\n },\n // Sync update – it will always be executed, even if not necessary. This\n // is useful for low frequency updates where sync behavior simplifies the\n // logic.\n // For high frequency updates (e.g. `resize` and `scroll` events), always\n // prefer the async Popper#update method\n forceUpdate: function forceUpdate() {\n if (isDestroyed) {\n return;\n }\n\n var _state$elements = state.elements,\n reference = _state$elements.reference,\n popper = _state$elements.popper; // Don't proceed if `reference` or `popper` are not valid elements\n // anymore\n\n if (!areValidElements(reference, popper)) {\n if (process.env.NODE_ENV !== \"production\") {\n console.error(INVALID_ELEMENT_ERROR);\n }\n\n return;\n } // Store the reference and popper rects to be read by modifiers\n\n\n state.rects = {\n reference: getCompositeRect(reference, getOffsetParent(popper), state.options.strategy === 'fixed'),\n popper: getLayoutRect(popper)\n }; // Modifiers have the ability to reset the current update cycle. The\n // most common use case for this is the `flip` modifier changing the\n // placement, which then needs to re-run all the modifiers, because the\n // logic was previously ran for the previous placement and is therefore\n // stale/incorrect\n\n state.reset = false;\n state.placement = state.options.placement; // On each update cycle, the `modifiersData` property for each modifier\n // is filled with the initial data specified by the modifier. This means\n // it doesn't persist and is fresh on each update.\n // To ensure persistent data, use `${name}#persistent`\n\n state.orderedModifiers.forEach(function (modifier) {\n return state.modifiersData[modifier.name] = Object.assign({}, modifier.data);\n });\n var __debug_loops__ = 0;\n\n for (var index = 0; index < state.orderedModifiers.length; index++) {\n if (process.env.NODE_ENV !== \"production\") {\n __debug_loops__ += 1;\n\n if (__debug_loops__ > 100) {\n console.error(INFINITE_LOOP_ERROR);\n break;\n }\n }\n\n if (state.reset === true) {\n state.reset = false;\n index = -1;\n continue;\n }\n\n var _state$orderedModifie = state.orderedModifiers[index],\n fn = _state$orderedModifie.fn,\n _state$orderedModifie2 = _state$orderedModifie.options,\n _options = _state$orderedModifie2 === void 0 ? {} : _state$orderedModifie2,\n name = _state$orderedModifie.name;\n\n if (typeof fn === 'function') {\n state = fn({\n state: state,\n options: _options,\n name: name,\n instance: instance\n }) || state;\n }\n }\n },\n // Async and optimistically optimized update – it will not be executed if\n // not necessary (debounced to run at most once-per-tick)\n update: debounce(function () {\n return new Promise(function (resolve) {\n instance.forceUpdate();\n resolve(state);\n });\n }),\n destroy: function destroy() {\n cleanupModifierEffects();\n isDestroyed = true;\n }\n };\n\n if (!areValidElements(reference, popper)) {\n if (process.env.NODE_ENV !== \"production\") {\n console.error(INVALID_ELEMENT_ERROR);\n }\n\n return instance;\n }\n\n instance.setOptions(options).then(function (state) {\n if (!isDestroyed && options.onFirstUpdate) {\n options.onFirstUpdate(state);\n }\n }); // Modifiers have the ability to execute arbitrary code before the first\n // update cycle runs. They will be executed in the same order as the update\n // cycle. This is useful when a modifier adds some persistent data that\n // other modifiers need to use, but the modifier is run after the dependent\n // one.\n\n function runModifierEffects() {\n state.orderedModifiers.forEach(function (_ref3) {\n var name = _ref3.name,\n _ref3$options = _ref3.options,\n options = _ref3$options === void 0 ? {} : _ref3$options,\n effect = _ref3.effect;\n\n if (typeof effect === 'function') {\n var cleanupFn = effect({\n state: state,\n name: name,\n instance: instance,\n options: options\n });\n\n var noopFn = function noopFn() {};\n\n effectCleanupFns.push(cleanupFn || noopFn);\n }\n });\n }\n\n function cleanupModifierEffects() {\n effectCleanupFns.forEach(function (fn) {\n return fn();\n });\n effectCleanupFns = [];\n }\n\n return instance;\n };\n}\nexport var createPopper = /*#__PURE__*/popperGenerator(); // eslint-disable-next-line import/no-unused-modules\n\nexport { detectOverflow };","export default function debounce(fn) {\n var pending;\n return function () {\n if (!pending) {\n pending = new Promise(function (resolve) {\n Promise.resolve().then(function () {\n pending = undefined;\n resolve(fn());\n });\n });\n }\n\n return pending;\n };\n}","export default function mergeByName(modifiers) {\n var merged = modifiers.reduce(function (merged, current) {\n var existing = merged[current.name];\n merged[current.name] = existing ? Object.assign({}, existing, current, {\n options: Object.assign({}, existing.options, current.options),\n data: Object.assign({}, existing.data, current.data)\n }) : current;\n return merged;\n }, {}); // IE11 does not support Object.values\n\n return Object.keys(merged).map(function (key) {\n return merged[key];\n });\n}","import { popperGenerator, detectOverflow } from \"./createPopper.js\";\nimport eventListeners from \"./modifiers/eventListeners.js\";\nimport popperOffsets from \"./modifiers/popperOffsets.js\";\nimport computeStyles from \"./modifiers/computeStyles.js\";\nimport applyStyles from \"./modifiers/applyStyles.js\";\nimport offset from \"./modifiers/offset.js\";\nimport flip from \"./modifiers/flip.js\";\nimport preventOverflow from \"./modifiers/preventOverflow.js\";\nimport arrow from \"./modifiers/arrow.js\";\nimport hide from \"./modifiers/hide.js\";\nvar defaultModifiers = [eventListeners, popperOffsets, computeStyles, applyStyles, offset, flip, preventOverflow, arrow, hide];\nvar createPopper = /*#__PURE__*/popperGenerator({\n defaultModifiers: defaultModifiers\n}); // eslint-disable-next-line import/no-unused-modules\n\nexport { createPopper, popperGenerator, defaultModifiers, detectOverflow }; // eslint-disable-next-line import/no-unused-modules\n\nexport { createPopper as createPopperLite } from \"./popper-lite.js\"; // eslint-disable-next-line import/no-unused-modules\n\nexport * from \"./modifiers/index.js\";","import { popperGenerator, detectOverflow } from \"./createPopper.js\";\nimport eventListeners from \"./modifiers/eventListeners.js\";\nimport popperOffsets from \"./modifiers/popperOffsets.js\";\nimport computeStyles from \"./modifiers/computeStyles.js\";\nimport applyStyles from \"./modifiers/applyStyles.js\";\nvar defaultModifiers = [eventListeners, popperOffsets, computeStyles, applyStyles];\nvar createPopper = /*#__PURE__*/popperGenerator({\n defaultModifiers: defaultModifiers\n}); // eslint-disable-next-line import/no-unused-modules\n\nexport { createPopper, popperGenerator, defaultModifiers, detectOverflow };","/**\r\n * --------------------------------------------------------------------------\r\n * Bootstrap (v5.1.3): dom/manipulator.js\r\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\r\n * --------------------------------------------------------------------------\r\n */\r\n\r\nfunction normalizeData(val) {\r\n if (val === 'true') {\r\n return true;\r\n }\r\n\r\n if (val === 'false') {\r\n return false;\r\n }\r\n\r\n if (val === Number(val).toString()) {\r\n return Number(val);\r\n }\r\n\r\n if (val === '' || val === 'null') {\r\n return null;\r\n }\r\n\r\n return val;\r\n}\r\n\r\nfunction normalizeDataKey(key) {\r\n return key.replace(/[A-Z]/g, (chr) => `-${chr.toLowerCase()}`);\r\n}\r\n\r\nconst Manipulator = {\r\n setDataAttribute(element, key, value) {\r\n element.setAttribute(`data-bs-${normalizeDataKey(key)}`, value);\r\n },\r\n\r\n removeDataAttribute(element, key) {\r\n element.removeAttribute(`data-bs-${normalizeDataKey(key)}`);\r\n },\r\n\r\n getDataAttributes(element) {\r\n if (!element) {\r\n return {};\r\n }\r\n\r\n const attributes = {};\r\n\r\n Object.keys(element.dataset)\r\n .filter((key) => key.startsWith('bs'))\r\n .forEach((key) => {\r\n let pureKey = key.replace(/^bs/, '');\r\n pureKey = pureKey.charAt(0).toLowerCase() + pureKey.slice(1, pureKey.length);\r\n attributes[pureKey] = normalizeData(element.dataset[key]);\r\n });\r\n\r\n return attributes;\r\n },\r\n\r\n getDataAttribute(element, key) {\r\n return normalizeData(element.getAttribute(`data-bs-${normalizeDataKey(key)}`));\r\n },\r\n\r\n offset(element) {\r\n const rect = element.getBoundingClientRect();\r\n\r\n return {\r\n top: rect.top + window.pageYOffset,\r\n left: rect.left + window.pageXOffset,\r\n };\r\n },\r\n\r\n position(element) {\r\n return {\r\n top: element.offsetTop,\r\n left: element.offsetLeft,\r\n };\r\n },\r\n};\r\n\r\nexport default Manipulator;\r\n","/**\r\n * --------------------------------------------------------------------------\r\n * Bootstrap (v5.1.3): dom/selector-engine.js\r\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\r\n * --------------------------------------------------------------------------\r\n */\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * Constants\r\n * ------------------------------------------------------------------------\r\n */\r\n\r\nimport { isDisabled, isVisible } from '../util/index';\r\n\r\nconst NODE_TEXT = 3;\r\n\r\nconst SelectorEngine = {\r\n find(selector, element = document.documentElement) {\r\n return [].concat(...Element.prototype.querySelectorAll.call(element, selector));\r\n },\r\n\r\n findOne(selector, element = document.documentElement) {\r\n return Element.prototype.querySelector.call(element, selector);\r\n },\r\n\r\n children(element, selector) {\r\n return [].concat(...element.children).filter((child) => child.matches(selector));\r\n },\r\n\r\n parents(element, selector) {\r\n const parents = [];\r\n\r\n let ancestor = element.parentNode;\r\n\r\n while (ancestor && ancestor.nodeType === Node.ELEMENT_NODE && ancestor.nodeType !== NODE_TEXT) {\r\n if (ancestor.matches(selector)) {\r\n parents.push(ancestor);\r\n }\r\n\r\n ancestor = ancestor.parentNode;\r\n }\r\n\r\n return parents;\r\n },\r\n\r\n prev(element, selector) {\r\n let previous = element.previousElementSibling;\r\n\r\n while (previous) {\r\n if (previous.matches(selector)) {\r\n return [previous];\r\n }\r\n\r\n previous = previous.previousElementSibling;\r\n }\r\n\r\n return [];\r\n },\r\n\r\n next(element, selector) {\r\n let next = element.nextElementSibling;\r\n\r\n while (next) {\r\n if (next.matches(selector)) {\r\n return [next];\r\n }\r\n\r\n next = next.nextElementSibling;\r\n }\r\n\r\n return [];\r\n },\r\n\r\n focusableChildren(element) {\r\n const focusables = [\r\n 'a',\r\n 'button',\r\n 'input',\r\n 'textarea',\r\n 'select',\r\n 'details',\r\n '[tabindex]',\r\n '[contenteditable=\"true\"]',\r\n ]\r\n .map((selector) => `${selector}:not([tabindex^=\"-\"])`)\r\n .join(', ');\r\n\r\n return this.find(focusables, element).filter((el) => !isDisabled(el) && isVisible(el));\r\n },\r\n};\r\n\r\nexport default SelectorEngine;\r\n","/**\r\n * --------------------------------------------------------------------------\r\n * Bootstrap (v5.1.3): dropdown.js\r\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\r\n * --------------------------------------------------------------------------\r\n */\r\n\r\nimport * as Popper from '@popperjs/core';\r\n\r\nimport {\r\n defineJQueryPlugin,\r\n getElement,\r\n getElementFromSelector,\r\n getNextActiveElement,\r\n isDisabled,\r\n isElement,\r\n isRTL,\r\n isVisible,\r\n noop,\r\n typeCheckConfig,\r\n} from './util/index';\r\nimport EventHandler from './dom/event-handler';\r\nimport Manipulator from './dom/manipulator';\r\nimport SelectorEngine from './dom/selector-engine';\r\nimport BaseComponent from './base-component';\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * Constants\r\n * ------------------------------------------------------------------------\r\n */\r\n\r\nconst NAME = 'dropdown';\r\nconst DATA_KEY = 'bs.dropdown';\r\nconst EVENT_KEY = `.${DATA_KEY}`;\r\nconst DATA_API_KEY = '.data-api';\r\n\r\nconst ESCAPE_KEY = 'Escape';\r\nconst SPACE_KEY = 'Space';\r\nconst TAB_KEY = 'Tab';\r\nconst ARROW_UP_KEY = 'ArrowUp';\r\nconst ARROW_DOWN_KEY = 'ArrowDown';\r\nconst RIGHT_MOUSE_BUTTON = 2; // MouseEvent.button value for the secondary button, usually the right button\r\n\r\nconst REGEXP_KEYDOWN = new RegExp(`${ARROW_UP_KEY}|${ARROW_DOWN_KEY}|${ESCAPE_KEY}`);\r\n\r\nconst EVENT_HIDE = `hide${EVENT_KEY}`;\r\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`;\r\nconst EVENT_SHOW = `show${EVENT_KEY}`;\r\nconst EVENT_SHOWN = `shown${EVENT_KEY}`;\r\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`;\r\nconst EVENT_KEYDOWN_DATA_API = `keydown${EVENT_KEY}${DATA_API_KEY}`;\r\nconst EVENT_KEYUP_DATA_API = `keyup${EVENT_KEY}${DATA_API_KEY}`;\r\n\r\nconst CLASS_NAME_SHOW = 'show';\r\nconst CLASS_NAME_DROPUP = 'dropup';\r\nconst CLASS_NAME_DROPEND = 'dropend';\r\nconst CLASS_NAME_DROPSTART = 'dropstart';\r\nconst CLASS_NAME_NAVBAR = 'navbar';\r\n\r\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"dropdown\"]';\r\nconst SELECTOR_MENU = '.dropdown-menu';\r\nconst SELECTOR_NAVBAR_NAV = '.navbar-nav';\r\nconst SELECTOR_VISIBLE_ITEMS = '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)';\r\n\r\nconst PLACEMENT_TOP = isRTL() ? 'top-end' : 'top-start';\r\nconst PLACEMENT_TOPEND = isRTL() ? 'top-start' : 'top-end';\r\nconst PLACEMENT_BOTTOM = isRTL() ? 'bottom-end' : 'bottom-start';\r\nconst PLACEMENT_BOTTOMEND = isRTL() ? 'bottom-start' : 'bottom-end';\r\nconst PLACEMENT_RIGHT = isRTL() ? 'left-start' : 'right-start';\r\nconst PLACEMENT_LEFT = isRTL() ? 'right-start' : 'left-start';\r\n\r\nconst Default = {\r\n offset: [0, 2],\r\n boundary: 'clippingParents',\r\n reference: 'toggle',\r\n display: 'dynamic',\r\n popperConfig: null,\r\n autoClose: true,\r\n};\r\n\r\nconst DefaultType = {\r\n offset: '(array|string|function)',\r\n boundary: '(string|element)',\r\n reference: '(string|element|object)',\r\n display: 'string',\r\n popperConfig: '(null|object|function)',\r\n autoClose: '(boolean|string)',\r\n};\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * Class Definition\r\n * ------------------------------------------------------------------------\r\n */\r\n\r\nclass Dropdown extends BaseComponent {\r\n constructor(element, config) {\r\n super(element);\r\n\r\n this._popper = null;\r\n this._config = this._getConfig(config);\r\n this._menu = this._getMenuElement();\r\n this._inNavbar = this._detectNavbar();\r\n }\r\n\r\n // Getters\r\n\r\n static get Default() {\r\n return Default;\r\n }\r\n\r\n static get DefaultType() {\r\n return DefaultType;\r\n }\r\n\r\n static get NAME() {\r\n return NAME;\r\n }\r\n\r\n // Public\r\n\r\n toggle() {\r\n return this._isShown() ? this.hide() : this.show();\r\n }\r\n\r\n show() {\r\n if (isDisabled(this._element) || this._isShown(this._menu)) {\r\n return;\r\n }\r\n\r\n const relatedTarget = {\r\n relatedTarget: this._element,\r\n };\r\n\r\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, relatedTarget);\r\n\r\n if (showEvent.defaultPrevented) {\r\n return;\r\n }\r\n\r\n const parent = Dropdown.getParentFromElement(this._element);\r\n // Totally disable Popper for Dropdowns in Navbar\r\n if (this._inNavbar) {\r\n Manipulator.setDataAttribute(this._menu, 'popper', 'none');\r\n } else {\r\n this._createPopper(parent);\r\n }\r\n\r\n // If this is a touch-enabled device we add extra\r\n // empty mouseover listeners to the body's immediate children;\r\n // only needed because of broken event delegation on iOS\r\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\r\n if ('ontouchstart' in document.documentElement && !parent.closest(SELECTOR_NAVBAR_NAV)) {\r\n []\r\n .concat(...document.body.children)\r\n .forEach((elem) => EventHandler.on(elem, 'mouseover', noop));\r\n }\r\n\r\n this._element.focus();\r\n this._element.setAttribute('aria-expanded', true);\r\n\r\n this._menu.classList.add(CLASS_NAME_SHOW);\r\n this._element.classList.add(CLASS_NAME_SHOW);\r\n EventHandler.trigger(this._element, EVENT_SHOWN, relatedTarget);\r\n }\r\n\r\n hide() {\r\n if (isDisabled(this._element) || !this._isShown(this._menu)) {\r\n return;\r\n }\r\n\r\n const relatedTarget = {\r\n relatedTarget: this._element,\r\n };\r\n\r\n this._completeHide(relatedTarget);\r\n }\r\n\r\n dispose() {\r\n if (this._popper) {\r\n this._popper.destroy();\r\n }\r\n\r\n super.dispose();\r\n }\r\n\r\n update() {\r\n this._inNavbar = this._detectNavbar();\r\n if (this._popper) {\r\n this._popper.update();\r\n }\r\n }\r\n\r\n // Private\r\n\r\n _completeHide(relatedTarget) {\r\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE, relatedTarget);\r\n if (hideEvent.defaultPrevented) {\r\n return;\r\n }\r\n\r\n // If this is a touch-enabled device we remove the extra\r\n // empty mouseover listeners we added for iOS support\r\n if ('ontouchstart' in document.documentElement) {\r\n []\r\n .concat(...document.body.children)\r\n .forEach((elem) => EventHandler.off(elem, 'mouseover', noop));\r\n }\r\n\r\n if (this._popper) {\r\n this._popper.destroy();\r\n }\r\n\r\n this._menu.classList.remove(CLASS_NAME_SHOW);\r\n this._element.classList.remove(CLASS_NAME_SHOW);\r\n this._element.setAttribute('aria-expanded', 'false');\r\n Manipulator.removeDataAttribute(this._menu, 'popper');\r\n EventHandler.trigger(this._element, EVENT_HIDDEN, relatedTarget);\r\n }\r\n\r\n _getConfig(config) {\r\n config = {\r\n ...this.constructor.Default,\r\n ...Manipulator.getDataAttributes(this._element),\r\n ...config,\r\n };\r\n\r\n typeCheckConfig(NAME, config, this.constructor.DefaultType);\r\n\r\n if (\r\n typeof config.reference === 'object' &&\r\n !isElement(config.reference) &&\r\n typeof config.reference.getBoundingClientRect !== 'function'\r\n ) {\r\n // Popper virtual elements require a getBoundingClientRect method\r\n throw new TypeError(\r\n `${NAME.toUpperCase()}: Option \"reference\" provided type \"object\" without a required \"getBoundingClientRect\" method.`\r\n );\r\n }\r\n\r\n return config;\r\n }\r\n\r\n _createPopper(parent) {\r\n if (typeof Popper === 'undefined') {\r\n throw new TypeError(\"Bootstrap's dropdowns require Popper (https://popper.js.org)\");\r\n }\r\n\r\n let referenceElement = this._element;\r\n\r\n if (this._config.reference === 'parent') {\r\n referenceElement = parent;\r\n } else if (isElement(this._config.reference)) {\r\n referenceElement = getElement(this._config.reference);\r\n } else if (typeof this._config.reference === 'object') {\r\n referenceElement = this._config.reference;\r\n }\r\n\r\n const popperConfig = this._getPopperConfig();\r\n const isDisplayStatic = popperConfig.modifiers.find(\r\n (modifier) => modifier.name === 'applyStyles' && modifier.enabled === false\r\n );\r\n\r\n this._popper = Popper.createPopper(referenceElement, this._menu, popperConfig);\r\n\r\n if (isDisplayStatic) {\r\n Manipulator.setDataAttribute(this._menu, 'popper', 'static');\r\n }\r\n }\r\n\r\n _isShown(element = this._element) {\r\n return element.classList.contains(CLASS_NAME_SHOW);\r\n }\r\n\r\n _getMenuElement() {\r\n return SelectorEngine.next(this._element, SELECTOR_MENU)[0];\r\n }\r\n\r\n _getPlacement() {\r\n const parentDropdown = this._element.parentNode;\r\n\r\n if (parentDropdown.classList.contains(CLASS_NAME_DROPEND)) {\r\n return PLACEMENT_RIGHT;\r\n }\r\n\r\n if (parentDropdown.classList.contains(CLASS_NAME_DROPSTART)) {\r\n return PLACEMENT_LEFT;\r\n }\r\n\r\n // We need to trim the value because custom properties can also include spaces\r\n const isEnd = getComputedStyle(this._menu).getPropertyValue('--bs-position').trim() === 'end';\r\n\r\n if (parentDropdown.classList.contains(CLASS_NAME_DROPUP)) {\r\n return isEnd ? PLACEMENT_TOPEND : PLACEMENT_TOP;\r\n }\r\n\r\n return isEnd ? PLACEMENT_BOTTOMEND : PLACEMENT_BOTTOM;\r\n }\r\n\r\n _detectNavbar() {\r\n return this._element.closest(`.${CLASS_NAME_NAVBAR}`) !== null;\r\n }\r\n\r\n _getOffset() {\r\n const { offset } = this._config;\r\n\r\n if (typeof offset === 'string') {\r\n return offset.split(',').map((val) => Number.parseInt(val, 10));\r\n }\r\n\r\n if (typeof offset === 'function') {\r\n return (popperData) => offset(popperData, this._element);\r\n }\r\n\r\n return offset;\r\n }\r\n\r\n _getPopperConfig() {\r\n const defaultBsPopperConfig = {\r\n placement: this._getPlacement(),\r\n modifiers: [\r\n {\r\n name: 'preventOverflow',\r\n options: {\r\n boundary: this._config.boundary,\r\n },\r\n },\r\n {\r\n name: 'offset',\r\n options: {\r\n offset: this._getOffset(),\r\n },\r\n },\r\n ],\r\n };\r\n\r\n // Disable Popper if we have a static display\r\n if (this._config.display === 'static') {\r\n defaultBsPopperConfig.modifiers = [\r\n {\r\n name: 'applyStyles',\r\n enabled: false,\r\n },\r\n ];\r\n }\r\n\r\n return {\r\n ...defaultBsPopperConfig,\r\n ...(typeof this._config.popperConfig === 'function'\r\n ? this._config.popperConfig(defaultBsPopperConfig)\r\n : this._config.popperConfig),\r\n };\r\n }\r\n\r\n _selectMenuItem({ key, target }) {\r\n const items = SelectorEngine.find(SELECTOR_VISIBLE_ITEMS, this._menu).filter(isVisible);\r\n\r\n if (!items.length) {\r\n return;\r\n }\r\n\r\n // if target isn't included in items (e.g. when expanding the dropdown)\r\n // allow cycling to get the last item in case key equals ARROW_UP_KEY\r\n getNextActiveElement(items, target, key === ARROW_DOWN_KEY, !items.includes(target)).focus();\r\n }\r\n\r\n // Static\r\n\r\n static jQueryInterface(config) {\r\n return this.each(function () {\r\n const data = Dropdown.getOrCreateInstance(this, config);\r\n\r\n if (typeof config !== 'string') {\r\n return;\r\n }\r\n\r\n if (typeof data[config] === 'undefined') {\r\n throw new TypeError(`No method named \"${config}\"`);\r\n }\r\n\r\n data[config]();\r\n });\r\n }\r\n\r\n static clearMenus(event) {\r\n if (\r\n event &&\r\n (event.button === RIGHT_MOUSE_BUTTON || (event.type === 'keyup' && event.key !== TAB_KEY))\r\n ) {\r\n return;\r\n }\r\n\r\n const toggles = SelectorEngine.find(SELECTOR_DATA_TOGGLE);\r\n\r\n for (let i = 0, len = toggles.length; i < len; i++) {\r\n const context = Dropdown.getInstance(toggles[i]);\r\n if (!context || context._config.autoClose === false) {\r\n continue;\r\n }\r\n\r\n if (!context._isShown()) {\r\n continue;\r\n }\r\n\r\n const relatedTarget = {\r\n relatedTarget: context._element,\r\n };\r\n\r\n if (event) {\r\n const composedPath = event.composedPath();\r\n const isMenuTarget = composedPath.includes(context._menu);\r\n if (\r\n composedPath.includes(context._element) ||\r\n (context._config.autoClose === 'inside' && !isMenuTarget) ||\r\n (context._config.autoClose === 'outside' && isMenuTarget)\r\n ) {\r\n continue;\r\n }\r\n\r\n // Tab navigation through the dropdown menu or events from contained inputs shouldn't close the menu\r\n if (\r\n context._menu.contains(event.target) &&\r\n ((event.type === 'keyup' && event.key === TAB_KEY) ||\r\n /input|select|option|textarea|form/i.test(event.target.tagName))\r\n ) {\r\n continue;\r\n }\r\n\r\n if (event.type === 'click') {\r\n relatedTarget.clickEvent = event;\r\n }\r\n }\r\n\r\n context._completeHide(relatedTarget);\r\n }\r\n }\r\n\r\n static getParentFromElement(element) {\r\n return getElementFromSelector(element) || element.parentNode;\r\n }\r\n\r\n static dataApiKeydownHandler(event) {\r\n // If not input/textarea:\r\n // - And not a key in REGEXP_KEYDOWN => not a dropdown command\r\n // If input/textarea:\r\n // - If space key => not a dropdown command\r\n // - If key is other than escape\r\n // - If key is not up or down => not a dropdown command\r\n // - If trigger inside the menu => not a dropdown command\r\n if (\r\n /input|textarea/i.test(event.target.tagName)\r\n ? event.key === SPACE_KEY ||\r\n (event.key !== ESCAPE_KEY &&\r\n ((event.key !== ARROW_DOWN_KEY && event.key !== ARROW_UP_KEY) ||\r\n event.target.closest(SELECTOR_MENU)))\r\n : !REGEXP_KEYDOWN.test(event.key)\r\n ) {\r\n return;\r\n }\r\n\r\n const isActive = this.classList.contains(CLASS_NAME_SHOW);\r\n\r\n if (!isActive && event.key === ESCAPE_KEY) {\r\n return;\r\n }\r\n\r\n event.preventDefault();\r\n event.stopPropagation();\r\n\r\n if (isDisabled(this)) {\r\n return;\r\n }\r\n\r\n const getToggleButton = this.matches(SELECTOR_DATA_TOGGLE)\r\n ? this\r\n : SelectorEngine.prev(this, SELECTOR_DATA_TOGGLE)[0];\r\n const instance = Dropdown.getOrCreateInstance(getToggleButton);\r\n\r\n if (event.key === ESCAPE_KEY) {\r\n instance.hide();\r\n return;\r\n }\r\n\r\n if (event.key === ARROW_UP_KEY || event.key === ARROW_DOWN_KEY) {\r\n if (!isActive) {\r\n instance.show();\r\n }\r\n\r\n instance._selectMenuItem(event);\r\n return;\r\n }\r\n\r\n if (!isActive || event.key === SPACE_KEY) {\r\n Dropdown.clearMenus();\r\n }\r\n }\r\n}\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * Data Api implementation\r\n * ------------------------------------------------------------------------\r\n */\r\n\r\nEventHandler.on(\r\n document,\r\n EVENT_KEYDOWN_DATA_API,\r\n SELECTOR_DATA_TOGGLE,\r\n Dropdown.dataApiKeydownHandler\r\n);\r\nEventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_MENU, Dropdown.dataApiKeydownHandler);\r\nEventHandler.on(document, EVENT_CLICK_DATA_API, Dropdown.clearMenus);\r\nEventHandler.on(document, EVENT_KEYUP_DATA_API, Dropdown.clearMenus);\r\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\r\n event.preventDefault();\r\n Dropdown.getOrCreateInstance(this).toggle();\r\n});\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * jQuery\r\n * ------------------------------------------------------------------------\r\n * add .Dropdown to jQuery only if jQuery is present\r\n */\r\n\r\ndefineJQueryPlugin(Dropdown);\r\n\r\nexport default Dropdown;\r\n","/**\r\n * --------------------------------------------------------------------------\r\n * Bootstrap (v5.1.3): collapse.js\r\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\r\n * --------------------------------------------------------------------------\r\n */\r\n\r\nimport {\r\n defineJQueryPlugin,\r\n getElement,\r\n getSelectorFromElement,\r\n getElementFromSelector,\r\n reflow,\r\n typeCheckConfig,\r\n} from './util/index';\r\nimport Data from './dom/data';\r\nimport EventHandler from './dom/event-handler';\r\nimport Manipulator from './dom/manipulator';\r\nimport SelectorEngine from './dom/selector-engine';\r\nimport BaseComponent from './base-component';\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * Constants\r\n * ------------------------------------------------------------------------\r\n */\r\n\r\nconst NAME = 'collapse';\r\nconst DATA_KEY = 'bs.collapse';\r\nconst EVENT_KEY = `.${DATA_KEY}`;\r\nconst DATA_API_KEY = '.data-api';\r\n\r\nconst Default = {\r\n toggle: true,\r\n parent: null,\r\n};\r\n\r\nconst DefaultType = {\r\n toggle: 'boolean',\r\n parent: '(null|element)',\r\n};\r\n\r\nconst EVENT_SHOW = `show${EVENT_KEY}`;\r\nconst EVENT_SHOWN = `shown${EVENT_KEY}`;\r\nconst EVENT_HIDE = `hide${EVENT_KEY}`;\r\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`;\r\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`;\r\n\r\nconst CLASS_NAME_SHOW = 'show';\r\nconst CLASS_NAME_COLLAPSE = 'collapse';\r\nconst CLASS_NAME_COLLAPSING = 'collapsing';\r\nconst CLASS_NAME_COLLAPSED = 'collapsed';\r\nconst CLASS_NAME_DEEPER_CHILDREN = `:scope .${CLASS_NAME_COLLAPSE} .${CLASS_NAME_COLLAPSE}`;\r\nconst CLASS_NAME_HORIZONTAL = 'collapse-horizontal';\r\n\r\nconst WIDTH = 'width';\r\nconst HEIGHT = 'height';\r\n\r\nconst SELECTOR_ACTIVES = '.collapse.show, .collapse.collapsing';\r\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"collapse\"]';\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * Class Definition\r\n * ------------------------------------------------------------------------\r\n */\r\n\r\nclass Collapse extends BaseComponent {\r\n constructor(element, config) {\r\n super(element);\r\n\r\n this._isTransitioning = false;\r\n this._config = this._getConfig(config);\r\n this._triggerArray = [];\r\n\r\n const toggleList = SelectorEngine.find(SELECTOR_DATA_TOGGLE);\r\n\r\n for (let i = 0, len = toggleList.length; i < len; i++) {\r\n const elem = toggleList[i];\r\n const selector = getSelectorFromElement(elem);\r\n const filterElement = SelectorEngine.find(selector).filter(\r\n (foundElem) => foundElem === this._element\r\n );\r\n\r\n if (selector !== null && filterElement.length) {\r\n this._selector = selector;\r\n this._triggerArray.push(elem);\r\n }\r\n }\r\n\r\n this._initializeChildren();\r\n\r\n if (!this._config.parent) {\r\n this._addAriaAndCollapsedClass(this._triggerArray, this._isShown());\r\n }\r\n\r\n if (this._config.toggle) {\r\n this.toggle();\r\n }\r\n }\r\n\r\n // Getters\r\n\r\n static get Default() {\r\n return Default;\r\n }\r\n\r\n static get NAME() {\r\n return NAME;\r\n }\r\n\r\n // Public\r\n\r\n toggle() {\r\n if (this._isShown()) {\r\n this.hide();\r\n } else {\r\n this.show();\r\n }\r\n }\r\n\r\n show() {\r\n if (this._isTransitioning || this._isShown()) {\r\n return;\r\n }\r\n\r\n let actives = [];\r\n let activesData;\r\n\r\n if (this._config.parent) {\r\n const children = SelectorEngine.find(CLASS_NAME_DEEPER_CHILDREN, this._config.parent);\r\n actives = SelectorEngine.find(SELECTOR_ACTIVES, this._config.parent).filter(\r\n (elem) => !children.includes(elem)\r\n ); // remove children if greater depth\r\n }\r\n\r\n const container = SelectorEngine.findOne(this._selector);\r\n if (actives.length) {\r\n const tempActiveData = actives.find((elem) => container !== elem);\r\n activesData = tempActiveData ? Collapse.getInstance(tempActiveData) : null;\r\n\r\n if (activesData && activesData._isTransitioning) {\r\n return;\r\n }\r\n }\r\n\r\n const startEvent = EventHandler.trigger(this._element, EVENT_SHOW);\r\n if (startEvent.defaultPrevented) {\r\n return;\r\n }\r\n\r\n actives.forEach((elemActive) => {\r\n if (container !== elemActive) {\r\n Collapse.getOrCreateInstance(elemActive, { toggle: false }).hide();\r\n }\r\n\r\n if (!activesData) {\r\n Data.set(elemActive, DATA_KEY, null);\r\n }\r\n });\r\n\r\n const dimension = this._getDimension();\r\n\r\n this._element.classList.remove(CLASS_NAME_COLLAPSE);\r\n this._element.classList.add(CLASS_NAME_COLLAPSING);\r\n\r\n this._element.style[dimension] = 0;\r\n\r\n this._addAriaAndCollapsedClass(this._triggerArray, true);\r\n this._isTransitioning = true;\r\n\r\n const complete = () => {\r\n this._isTransitioning = false;\r\n\r\n this._element.classList.remove(CLASS_NAME_COLLAPSING);\r\n this._element.classList.add(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW);\r\n\r\n this._element.style[dimension] = '';\r\n\r\n EventHandler.trigger(this._element, EVENT_SHOWN);\r\n };\r\n\r\n const capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1);\r\n const scrollSize = `scroll${capitalizedDimension}`;\r\n\r\n this._queueCallback(complete, this._element, true);\r\n this._element.style[dimension] = `${this._element[scrollSize]}px`;\r\n }\r\n\r\n hide() {\r\n if (this._isTransitioning || !this._isShown()) {\r\n return;\r\n }\r\n\r\n const startEvent = EventHandler.trigger(this._element, EVENT_HIDE);\r\n if (startEvent.defaultPrevented) {\r\n return;\r\n }\r\n\r\n const dimension = this._getDimension();\r\n\r\n this._element.style[dimension] = `${this._element.getBoundingClientRect()[dimension]}px`;\r\n\r\n reflow(this._element);\r\n\r\n this._element.classList.add(CLASS_NAME_COLLAPSING);\r\n this._element.classList.remove(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW);\r\n\r\n const triggerArrayLength = this._triggerArray.length;\r\n for (let i = 0; i < triggerArrayLength; i++) {\r\n const trigger = this._triggerArray[i];\r\n const elem = getElementFromSelector(trigger);\r\n\r\n if (elem && !this._isShown(elem)) {\r\n this._addAriaAndCollapsedClass([trigger], false);\r\n }\r\n }\r\n\r\n this._isTransitioning = true;\r\n\r\n const complete = () => {\r\n this._isTransitioning = false;\r\n this._element.classList.remove(CLASS_NAME_COLLAPSING);\r\n this._element.classList.add(CLASS_NAME_COLLAPSE);\r\n EventHandler.trigger(this._element, EVENT_HIDDEN);\r\n };\r\n\r\n this._element.style[dimension] = '';\r\n\r\n this._queueCallback(complete, this._element, true);\r\n }\r\n\r\n _isShown(element = this._element) {\r\n return element.classList.contains(CLASS_NAME_SHOW);\r\n }\r\n\r\n // Private\r\n\r\n _getConfig(config) {\r\n config = {\r\n ...Default,\r\n ...Manipulator.getDataAttributes(this._element),\r\n ...config,\r\n };\r\n config.toggle = Boolean(config.toggle); // Coerce string values\r\n config.parent = getElement(config.parent);\r\n typeCheckConfig(NAME, config, DefaultType);\r\n return config;\r\n }\r\n\r\n _getDimension() {\r\n return this._element.classList.contains(CLASS_NAME_HORIZONTAL) ? WIDTH : HEIGHT;\r\n }\r\n\r\n _initializeChildren() {\r\n if (!this._config.parent) {\r\n return;\r\n }\r\n\r\n const children = SelectorEngine.find(CLASS_NAME_DEEPER_CHILDREN, this._config.parent);\r\n SelectorEngine.find(SELECTOR_DATA_TOGGLE, this._config.parent)\r\n .filter((elem) => !children.includes(elem))\r\n .forEach((element) => {\r\n const selected = getElementFromSelector(element);\r\n\r\n if (selected) {\r\n this._addAriaAndCollapsedClass([element], this._isShown(selected));\r\n }\r\n });\r\n }\r\n\r\n _addAriaAndCollapsedClass(triggerArray, isOpen) {\r\n if (!triggerArray.length) {\r\n return;\r\n }\r\n\r\n triggerArray.forEach((elem) => {\r\n if (isOpen) {\r\n elem.classList.remove(CLASS_NAME_COLLAPSED);\r\n } else {\r\n elem.classList.add(CLASS_NAME_COLLAPSED);\r\n }\r\n\r\n elem.setAttribute('aria-expanded', isOpen);\r\n });\r\n }\r\n\r\n // Static\r\n\r\n static jQueryInterface(config) {\r\n return this.each(function () {\r\n const _config = {};\r\n if (typeof config === 'string' && /show|hide/.test(config)) {\r\n _config.toggle = false;\r\n }\r\n\r\n const data = Collapse.getOrCreateInstance(this, _config);\r\n\r\n if (typeof config === 'string') {\r\n if (typeof data[config] === 'undefined') {\r\n throw new TypeError(`No method named \"${config}\"`);\r\n }\r\n\r\n data[config]();\r\n }\r\n });\r\n }\r\n}\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * Data Api implementation\r\n * ------------------------------------------------------------------------\r\n */\r\n\r\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\r\n // preventDefault only for elements (which change the URL) not inside the collapsible element\r\n if (\r\n event.target.tagName === 'A' ||\r\n (event.delegateTarget && event.delegateTarget.tagName === 'A')\r\n ) {\r\n event.preventDefault();\r\n }\r\n\r\n const selector = getSelectorFromElement(this);\r\n const selectorElements = SelectorEngine.find(selector);\r\n\r\n selectorElements.forEach((element) => {\r\n Collapse.getOrCreateInstance(element, { toggle: false }).toggle();\r\n });\r\n});\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * jQuery\r\n * ------------------------------------------------------------------------\r\n * add .Collapse to jQuery only if jQuery is present\r\n */\r\n\r\ndefineJQueryPlugin(Collapse);\r\n\r\nexport default Collapse;\r\n","/**\r\n * --------------------------------------------------------------------------\r\n * Bootstrap (v5.1.3): util/scrollBar.js\r\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\r\n * --------------------------------------------------------------------------\r\n */\r\n\r\nimport SelectorEngine from '../dom/selector-engine';\r\nimport Manipulator from '../dom/manipulator';\r\nimport { isElement } from './index';\r\n\r\nconst SELECTOR_FIXED_CONTENT = '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top';\r\nconst SELECTOR_STICKY_CONTENT = '.sticky-top';\r\n\r\nclass ScrollBarHelper {\r\n constructor() {\r\n this._element = document.body;\r\n }\r\n\r\n getWidth() {\r\n // https://developer.mozilla.org/en-US/docs/Web/API/Window/innerWidth#usage_notes\r\n const documentWidth = document.documentElement.clientWidth;\r\n return Math.abs(window.innerWidth - documentWidth);\r\n }\r\n\r\n hide() {\r\n const width = this.getWidth();\r\n this._disableOverFlow();\r\n // give padding to element to balance the hidden scrollbar width\r\n this._setElementAttributes(\r\n this._element,\r\n 'paddingRight',\r\n (calculatedValue) => calculatedValue + width\r\n );\r\n // trick: We adjust positive paddingRight and negative marginRight to sticky-top elements to keep showing fullwidth\r\n this._setElementAttributes(\r\n SELECTOR_FIXED_CONTENT,\r\n 'paddingRight',\r\n (calculatedValue) => calculatedValue + width\r\n );\r\n this._setElementAttributes(\r\n SELECTOR_STICKY_CONTENT,\r\n 'marginRight',\r\n (calculatedValue) => calculatedValue - width\r\n );\r\n }\r\n\r\n _disableOverFlow() {\r\n this._saveInitialAttribute(this._element, 'overflow');\r\n this._element.style.overflow = 'hidden';\r\n }\r\n\r\n _setElementAttributes(selector, styleProp, callback) {\r\n const scrollbarWidth = this.getWidth();\r\n const manipulationCallBack = (element) => {\r\n if (element !== this._element && window.innerWidth > element.clientWidth + scrollbarWidth) {\r\n return;\r\n }\r\n\r\n this._saveInitialAttribute(element, styleProp);\r\n const calculatedValue = window.getComputedStyle(element)[styleProp];\r\n element.style[styleProp] = `${callback(Number.parseFloat(calculatedValue))}px`;\r\n };\r\n\r\n this._applyManipulationCallback(selector, manipulationCallBack);\r\n }\r\n\r\n reset() {\r\n this._resetElementAttributes(this._element, 'overflow');\r\n this._resetElementAttributes(this._element, 'paddingRight');\r\n this._resetElementAttributes(SELECTOR_FIXED_CONTENT, 'paddingRight');\r\n this._resetElementAttributes(SELECTOR_STICKY_CONTENT, 'marginRight');\r\n }\r\n\r\n _saveInitialAttribute(element, styleProp) {\r\n const actualValue = element.style[styleProp];\r\n if (actualValue) {\r\n Manipulator.setDataAttribute(element, styleProp, actualValue);\r\n }\r\n }\r\n\r\n _resetElementAttributes(selector, styleProp) {\r\n const manipulationCallBack = (element) => {\r\n const value = Manipulator.getDataAttribute(element, styleProp);\r\n if (typeof value === 'undefined') {\r\n element.style.removeProperty(styleProp);\r\n } else {\r\n Manipulator.removeDataAttribute(element, styleProp);\r\n element.style[styleProp] = value;\r\n }\r\n };\r\n\r\n this._applyManipulationCallback(selector, manipulationCallBack);\r\n }\r\n\r\n _applyManipulationCallback(selector, callBack) {\r\n if (isElement(selector)) {\r\n callBack(selector);\r\n } else {\r\n SelectorEngine.find(selector, this._element).forEach(callBack);\r\n }\r\n }\r\n\r\n isOverflowing() {\r\n return this.getWidth() > 0;\r\n }\r\n}\r\n\r\nexport default ScrollBarHelper;\r\n","/**\r\n * --------------------------------------------------------------------------\r\n * Bootstrap (v5.1.3): util/backdrop.js\r\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\r\n * --------------------------------------------------------------------------\r\n */\r\n\r\nimport EventHandler from '../dom/event-handler';\r\nimport { execute, executeAfterTransition, getElement, reflow, typeCheckConfig } from './index';\r\n\r\nconst Default = {\r\n className: 'modal-backdrop',\r\n isVisible: true, // if false, we use the backdrop helper without adding any element to the dom\r\n isAnimated: false,\r\n rootElement: 'body', // give the choice to place backdrop under different elements\r\n clickCallback: null,\r\n};\r\n\r\nconst DefaultType = {\r\n className: 'string',\r\n isVisible: 'boolean',\r\n isAnimated: 'boolean',\r\n rootElement: '(element|string)',\r\n clickCallback: '(function|null)',\r\n};\r\nconst NAME = 'backdrop';\r\nconst CLASS_NAME_FADE = 'fade';\r\nconst CLASS_NAME_SHOW = 'show';\r\n\r\nconst EVENT_MOUSEDOWN = `mousedown.bs.${NAME}`;\r\n\r\nclass Backdrop {\r\n constructor(config) {\r\n this._config = this._getConfig(config);\r\n this._isAppended = false;\r\n this._element = null;\r\n }\r\n\r\n show(callback) {\r\n if (!this._config.isVisible) {\r\n execute(callback);\r\n return;\r\n }\r\n\r\n this._append();\r\n\r\n if (this._config.isAnimated) {\r\n reflow(this._getElement());\r\n }\r\n\r\n this._getElement().classList.add(CLASS_NAME_SHOW);\r\n\r\n this._emulateAnimation(() => {\r\n execute(callback);\r\n });\r\n }\r\n\r\n hide(callback) {\r\n if (!this._config.isVisible) {\r\n execute(callback);\r\n return;\r\n }\r\n\r\n this._getElement().classList.remove(CLASS_NAME_SHOW);\r\n\r\n this._emulateAnimation(() => {\r\n this.dispose();\r\n execute(callback);\r\n });\r\n }\r\n\r\n // Private\r\n\r\n _getElement() {\r\n if (!this._element) {\r\n const backdrop = document.createElement('div');\r\n backdrop.className = this._config.className;\r\n if (this._config.isAnimated) {\r\n backdrop.classList.add(CLASS_NAME_FADE);\r\n }\r\n\r\n this._element = backdrop;\r\n }\r\n\r\n return this._element;\r\n }\r\n\r\n _getConfig(config) {\r\n config = {\r\n ...Default,\r\n ...(typeof config === 'object' ? config : {}),\r\n };\r\n\r\n // use getElement() with the default \"body\" to get a fresh Element on each instantiation\r\n config.rootElement = getElement(config.rootElement);\r\n typeCheckConfig(NAME, config, DefaultType);\r\n return config;\r\n }\r\n\r\n _append() {\r\n if (this._isAppended) {\r\n return;\r\n }\r\n\r\n this._config.rootElement.append(this._getElement());\r\n\r\n EventHandler.on(this._getElement(), EVENT_MOUSEDOWN, () => {\r\n execute(this._config.clickCallback);\r\n });\r\n\r\n this._isAppended = true;\r\n }\r\n\r\n dispose() {\r\n if (!this._isAppended) {\r\n return;\r\n }\r\n\r\n EventHandler.off(this._element, EVENT_MOUSEDOWN);\r\n\r\n this._element.remove();\r\n this._isAppended = false;\r\n }\r\n\r\n _emulateAnimation(callback) {\r\n executeAfterTransition(callback, this._getElement(), this._config.isAnimated);\r\n }\r\n}\r\n\r\nexport default Backdrop;\r\n","/**\r\n * --------------------------------------------------------------------------\r\n * Bootstrap (v5.1.3): util/component-functions.js\r\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\r\n * --------------------------------------------------------------------------\r\n */\r\n\r\nimport EventHandler from '../dom/event-handler';\r\nimport { getElementFromSelector, isDisabled } from './index';\r\n\r\nconst enableDismissTrigger = (component, method = 'hide') => {\r\n const clickEvent = `click.dismiss${component.EVENT_KEY}`;\r\n const name = component.NAME;\r\n\r\n EventHandler.on(document, clickEvent, `[data-bs-dismiss=\"${name}\"]`, function (event) {\r\n if (['A', 'AREA'].includes(this.tagName)) {\r\n event.preventDefault();\r\n }\r\n\r\n if (isDisabled(this)) {\r\n return;\r\n }\r\n\r\n const target = getElementFromSelector(this) || this.closest(`.${name}`);\r\n const instance = component.getOrCreateInstance(target);\r\n\r\n // Method argument is left, for Alert and only, as it doesn't implement the 'hide' method\r\n instance[method]();\r\n });\r\n};\r\n\r\nexport { enableDismissTrigger };\r\n","/**\r\n * --------------------------------------------------------------------------\r\n * Bootstrap (v5.1.3): util/focustrap.js\r\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\r\n * --------------------------------------------------------------------------\r\n */\r\n\r\nimport EventHandler from '../dom/event-handler';\r\nimport SelectorEngine from '../dom/selector-engine';\r\nimport { typeCheckConfig } from './index';\r\n\r\nconst Default = {\r\n trapElement: null, // The element to trap focus inside of\r\n autofocus: true,\r\n};\r\n\r\nconst DefaultType = {\r\n trapElement: 'element',\r\n autofocus: 'boolean',\r\n};\r\n\r\nconst NAME = 'focustrap';\r\nconst DATA_KEY = 'bs.focustrap';\r\nconst EVENT_KEY = `.${DATA_KEY}`;\r\nconst EVENT_FOCUSIN = `focusin${EVENT_KEY}`;\r\nconst EVENT_KEYDOWN_TAB = `keydown.tab${EVENT_KEY}`;\r\n\r\nconst TAB_KEY = 'Tab';\r\nconst TAB_NAV_FORWARD = 'forward';\r\nconst TAB_NAV_BACKWARD = 'backward';\r\n\r\nclass FocusTrap {\r\n constructor(config) {\r\n this._config = this._getConfig(config);\r\n this._isActive = false;\r\n this._lastTabNavDirection = null;\r\n }\r\n\r\n activate() {\r\n const { trapElement, autofocus } = this._config;\r\n\r\n if (this._isActive) {\r\n return;\r\n }\r\n\r\n if (autofocus) {\r\n trapElement.focus();\r\n }\r\n\r\n EventHandler.off(document, EVENT_KEY); // guard against infinite focus loop\r\n EventHandler.on(document, EVENT_FOCUSIN, (event) => this._handleFocusin(event));\r\n EventHandler.on(document, EVENT_KEYDOWN_TAB, (event) => this._handleKeydown(event));\r\n\r\n this._isActive = true;\r\n }\r\n\r\n deactivate() {\r\n if (!this._isActive) {\r\n return;\r\n }\r\n\r\n this._isActive = false;\r\n EventHandler.off(document, EVENT_KEY);\r\n }\r\n\r\n // Private\r\n\r\n _handleFocusin(event) {\r\n const { target } = event;\r\n const { trapElement } = this._config;\r\n\r\n if (target === document || target === trapElement || trapElement.contains(target)) {\r\n return;\r\n }\r\n\r\n const elements = SelectorEngine.focusableChildren(trapElement);\r\n\r\n if (elements.length === 0) {\r\n trapElement.focus();\r\n } else if (this._lastTabNavDirection === TAB_NAV_BACKWARD) {\r\n elements[elements.length - 1].focus();\r\n } else {\r\n elements[0].focus();\r\n }\r\n }\r\n\r\n _handleKeydown(event) {\r\n if (event.key !== TAB_KEY) {\r\n return;\r\n }\r\n\r\n this._lastTabNavDirection = event.shiftKey ? TAB_NAV_BACKWARD : TAB_NAV_FORWARD;\r\n }\r\n\r\n _getConfig(config) {\r\n config = {\r\n ...Default,\r\n ...(typeof config === 'object' ? config : {}),\r\n };\r\n typeCheckConfig(NAME, config, DefaultType);\r\n return config;\r\n }\r\n}\r\n\r\nexport default FocusTrap;\r\n","/**\r\n * --------------------------------------------------------------------------\r\n * Bootstrap (v5.1.3): offcanvas.js\r\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\r\n * --------------------------------------------------------------------------\r\n */\r\n\r\nimport {\r\n defineJQueryPlugin,\r\n getElementFromSelector,\r\n isDisabled,\r\n isVisible,\r\n typeCheckConfig,\r\n} from './util/index';\r\nimport ScrollBarHelper from './util/scrollbar';\r\nimport EventHandler from './dom/event-handler';\r\nimport BaseComponent from './base-component';\r\nimport SelectorEngine from './dom/selector-engine';\r\nimport Manipulator from './dom/manipulator';\r\nimport Backdrop from './util/backdrop';\r\nimport FocusTrap from './util/focustrap';\r\nimport { enableDismissTrigger } from './util/component-functions';\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * Constants\r\n * ------------------------------------------------------------------------\r\n */\r\n\r\nconst NAME = 'offcanvas';\r\nconst DATA_KEY = 'bs.offcanvas';\r\nconst EVENT_KEY = `.${DATA_KEY}`;\r\nconst DATA_API_KEY = '.data-api';\r\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`;\r\nconst ESCAPE_KEY = 'Escape';\r\n\r\nconst Default = {\r\n backdrop: true,\r\n keyboard: true,\r\n scroll: false,\r\n};\r\n\r\nconst DefaultType = {\r\n backdrop: 'boolean',\r\n keyboard: 'boolean',\r\n scroll: 'boolean',\r\n};\r\n\r\nconst CLASS_NAME_SHOW = 'show';\r\nconst CLASS_NAME_BACKDROP = 'offcanvas-backdrop';\r\nconst OPEN_SELECTOR = '.offcanvas.show';\r\n\r\nconst EVENT_SHOW = `show${EVENT_KEY}`;\r\nconst EVENT_SHOWN = `shown${EVENT_KEY}`;\r\nconst EVENT_HIDE = `hide${EVENT_KEY}`;\r\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`;\r\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`;\r\nconst EVENT_KEYDOWN_DISMISS = `keydown.dismiss${EVENT_KEY}`;\r\n\r\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"offcanvas\"]';\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * Class Definition\r\n * ------------------------------------------------------------------------\r\n */\r\n\r\nclass Offcanvas extends BaseComponent {\r\n constructor(element, config) {\r\n super(element);\r\n\r\n this._config = this._getConfig(config);\r\n this._isShown = false;\r\n this._backdrop = this._initializeBackDrop();\r\n this._focustrap = this._initializeFocusTrap();\r\n this._addEventListeners();\r\n }\r\n\r\n // Getters\r\n\r\n static get NAME() {\r\n return NAME;\r\n }\r\n\r\n static get Default() {\r\n return Default;\r\n }\r\n\r\n // Public\r\n\r\n toggle(relatedTarget) {\r\n return this._isShown ? this.hide() : this.show(relatedTarget);\r\n }\r\n\r\n show(relatedTarget) {\r\n if (this._isShown) {\r\n return;\r\n }\r\n\r\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, { relatedTarget });\r\n\r\n if (showEvent.defaultPrevented) {\r\n return;\r\n }\r\n\r\n this._isShown = true;\r\n this._element.style.visibility = 'visible';\r\n\r\n this._backdrop.show();\r\n\r\n if (!this._config.scroll) {\r\n new ScrollBarHelper().hide();\r\n }\r\n\r\n this._element.removeAttribute('aria-hidden');\r\n this._element.setAttribute('aria-modal', true);\r\n this._element.setAttribute('role', 'dialog');\r\n this._element.classList.add(CLASS_NAME_SHOW);\r\n\r\n const completeCallBack = () => {\r\n if (!this._config.scroll) {\r\n this._focustrap.activate();\r\n }\r\n\r\n EventHandler.trigger(this._element, EVENT_SHOWN, { relatedTarget });\r\n };\r\n\r\n this._queueCallback(completeCallBack, this._element, true);\r\n }\r\n\r\n hide() {\r\n if (!this._isShown) {\r\n return;\r\n }\r\n\r\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE);\r\n\r\n if (hideEvent.defaultPrevented) {\r\n return;\r\n }\r\n\r\n this._focustrap.deactivate();\r\n this._element.blur();\r\n this._isShown = false;\r\n this._element.classList.remove(CLASS_NAME_SHOW);\r\n this._backdrop.hide();\r\n\r\n const completeCallback = () => {\r\n this._element.setAttribute('aria-hidden', true);\r\n this._element.removeAttribute('aria-modal');\r\n this._element.removeAttribute('role');\r\n this._element.style.visibility = 'hidden';\r\n\r\n if (!this._config.scroll) {\r\n new ScrollBarHelper().reset();\r\n }\r\n\r\n EventHandler.trigger(this._element, EVENT_HIDDEN);\r\n };\r\n\r\n this._queueCallback(completeCallback, this._element, true);\r\n }\r\n\r\n dispose() {\r\n this._backdrop.dispose();\r\n this._focustrap.deactivate();\r\n super.dispose();\r\n }\r\n\r\n // Private\r\n\r\n _getConfig(config) {\r\n config = {\r\n ...Default,\r\n ...Manipulator.getDataAttributes(this._element),\r\n ...(typeof config === 'object' ? config : {}),\r\n };\r\n typeCheckConfig(NAME, config, DefaultType);\r\n return config;\r\n }\r\n\r\n _initializeBackDrop() {\r\n return new Backdrop({\r\n className: CLASS_NAME_BACKDROP,\r\n isVisible: this._config.backdrop,\r\n isAnimated: true,\r\n rootElement: this._element.parentNode,\r\n clickCallback: () => this.hide(),\r\n });\r\n }\r\n\r\n _initializeFocusTrap() {\r\n return new FocusTrap({\r\n trapElement: this._element,\r\n });\r\n }\r\n\r\n _addEventListeners() {\r\n EventHandler.on(this._element, EVENT_KEYDOWN_DISMISS, (event) => {\r\n if (this._config.keyboard && event.key === ESCAPE_KEY) {\r\n this.hide();\r\n }\r\n });\r\n }\r\n\r\n // Static\r\n\r\n static jQueryInterface(config) {\r\n return this.each(function () {\r\n const data = Offcanvas.getOrCreateInstance(this, config);\r\n\r\n if (typeof config !== 'string') {\r\n return;\r\n }\r\n\r\n if (data[config] === undefined || config.startsWith('_') || config === 'constructor') {\r\n throw new TypeError(`No method named \"${config}\"`);\r\n }\r\n\r\n data[config](this);\r\n });\r\n }\r\n}\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * Data Api implementation\r\n * ------------------------------------------------------------------------\r\n */\r\n\r\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\r\n const target = getElementFromSelector(this);\r\n\r\n if (['A', 'AREA'].includes(this.tagName)) {\r\n event.preventDefault();\r\n }\r\n\r\n if (isDisabled(this)) {\r\n return;\r\n }\r\n\r\n EventHandler.one(target, EVENT_HIDDEN, () => {\r\n // focus on trigger when it is closed\r\n if (isVisible(this)) {\r\n this.focus();\r\n }\r\n });\r\n\r\n // avoid conflict when clicking a toggler of an offcanvas, while another is open\r\n const allReadyOpen = SelectorEngine.findOne(OPEN_SELECTOR);\r\n if (allReadyOpen && allReadyOpen !== target) {\r\n Offcanvas.getInstance(allReadyOpen).hide();\r\n }\r\n\r\n const data = Offcanvas.getOrCreateInstance(target);\r\n data.toggle(this);\r\n});\r\n\r\nEventHandler.on(window, EVENT_LOAD_DATA_API, () =>\r\n SelectorEngine.find(OPEN_SELECTOR).forEach((el) => Offcanvas.getOrCreateInstance(el).show())\r\n);\r\n\r\nenableDismissTrigger(Offcanvas);\r\n/**\r\n * ------------------------------------------------------------------------\r\n * jQuery\r\n * ------------------------------------------------------------------------\r\n */\r\n\r\ndefineJQueryPlugin(Offcanvas);\r\n\r\nexport default Offcanvas;\r\n","/**\r\n * --------------------------------------------------------------------------\r\n * Bootstrap (v5.1.3): alert.js\r\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\r\n * --------------------------------------------------------------------------\r\n */\r\n\r\nimport { defineJQueryPlugin } from './util/index';\r\nimport EventHandler from './dom/event-handler';\r\nimport BaseComponent from './base-component';\r\nimport { enableDismissTrigger } from './util/component-functions';\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * Constants\r\n * ------------------------------------------------------------------------\r\n */\r\n\r\nconst NAME = 'alert';\r\nconst DATA_KEY = 'bs.alert';\r\nconst EVENT_KEY = `.${DATA_KEY}`;\r\n\r\nconst EVENT_CLOSE = `close${EVENT_KEY}`;\r\nconst EVENT_CLOSED = `closed${EVENT_KEY}`;\r\nconst CLASS_NAME_FADE = 'fade';\r\nconst CLASS_NAME_SHOW = 'show';\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * Class Definition\r\n * ------------------------------------------------------------------------\r\n */\r\n\r\nclass Alert extends BaseComponent {\r\n // Getters\r\n\r\n static get NAME() {\r\n return NAME;\r\n }\r\n\r\n // Public\r\n\r\n close() {\r\n const closeEvent = EventHandler.trigger(this._element, EVENT_CLOSE);\r\n\r\n if (closeEvent.defaultPrevented) {\r\n return;\r\n }\r\n\r\n this._element.classList.remove(CLASS_NAME_SHOW);\r\n\r\n const isAnimated = this._element.classList.contains(CLASS_NAME_FADE);\r\n this._queueCallback(() => this._destroyElement(), this._element, isAnimated);\r\n }\r\n\r\n // Private\r\n _destroyElement() {\r\n this._element.remove();\r\n EventHandler.trigger(this._element, EVENT_CLOSED);\r\n this.dispose();\r\n }\r\n\r\n // Static\r\n\r\n static jQueryInterface(config) {\r\n return this.each(function () {\r\n const data = Alert.getOrCreateInstance(this);\r\n\r\n if (typeof config !== 'string') {\r\n return;\r\n }\r\n\r\n if (data[config] === undefined || config.startsWith('_') || config === 'constructor') {\r\n throw new TypeError(`No method named \"${config}\"`);\r\n }\r\n\r\n data[config](this);\r\n });\r\n }\r\n}\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * Data Api implementation\r\n * ------------------------------------------------------------------------\r\n */\r\n\r\nenableDismissTrigger(Alert, 'close');\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * jQuery\r\n * ------------------------------------------------------------------------\r\n * add .Alert to jQuery only if jQuery is present\r\n */\r\n\r\ndefineJQueryPlugin(Alert);\r\n\r\nexport default Alert;\r\n","/**\r\n * --------------------------------------------------------------------------\r\n * Bootstrap (v5.1.3): carousel.js\r\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\r\n * --------------------------------------------------------------------------\r\n */\r\n\r\nimport {\r\n defineJQueryPlugin,\r\n getElementFromSelector,\r\n isRTL,\r\n isVisible,\r\n getNextActiveElement,\r\n reflow,\r\n triggerTransitionEnd,\r\n typeCheckConfig,\r\n} from './util/index';\r\nimport EventHandler from './dom/event-handler';\r\nimport Manipulator from './dom/manipulator';\r\nimport SelectorEngine from './dom/selector-engine';\r\nimport BaseComponent from './base-component';\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * Constants\r\n * ------------------------------------------------------------------------\r\n */\r\n\r\nconst NAME = 'carousel';\r\nconst DATA_KEY = 'bs.carousel';\r\nconst EVENT_KEY = `.${DATA_KEY}`;\r\nconst DATA_API_KEY = '.data-api';\r\n\r\nconst ARROW_LEFT_KEY = 'ArrowLeft';\r\nconst ARROW_RIGHT_KEY = 'ArrowRight';\r\nconst TOUCHEVENT_COMPAT_WAIT = 500; // Time for mouse compat events to fire after touch\r\nconst SWIPE_THRESHOLD = 40;\r\n\r\nconst Default = {\r\n interval: 5000,\r\n keyboard: true,\r\n slide: false,\r\n pause: 'hover',\r\n wrap: true,\r\n touch: true,\r\n};\r\n\r\nconst DefaultType = {\r\n interval: '(number|boolean)',\r\n keyboard: 'boolean',\r\n slide: '(boolean|string)',\r\n pause: '(string|boolean)',\r\n wrap: 'boolean',\r\n touch: 'boolean',\r\n};\r\n\r\nconst ORDER_NEXT = 'next';\r\nconst ORDER_PREV = 'prev';\r\nconst DIRECTION_LEFT = 'left';\r\nconst DIRECTION_RIGHT = 'right';\r\n\r\nconst KEY_TO_DIRECTION = {\r\n [ARROW_LEFT_KEY]: DIRECTION_RIGHT,\r\n [ARROW_RIGHT_KEY]: DIRECTION_LEFT,\r\n};\r\n\r\nconst EVENT_SLIDE = `slide${EVENT_KEY}`;\r\nconst EVENT_SLID = `slid${EVENT_KEY}`;\r\nconst EVENT_KEYDOWN = `keydown${EVENT_KEY}`;\r\nconst EVENT_MOUSEENTER = `mouseenter${EVENT_KEY}`;\r\nconst EVENT_MOUSELEAVE = `mouseleave${EVENT_KEY}`;\r\nconst EVENT_TOUCHSTART = `touchstart${EVENT_KEY}`;\r\nconst EVENT_TOUCHMOVE = `touchmove${EVENT_KEY}`;\r\nconst EVENT_TOUCHEND = `touchend${EVENT_KEY}`;\r\nconst EVENT_POINTERDOWN = `pointerdown${EVENT_KEY}`;\r\nconst EVENT_POINTERUP = `pointerup${EVENT_KEY}`;\r\nconst EVENT_DRAG_START = `dragstart${EVENT_KEY}`;\r\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`;\r\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`;\r\n\r\nconst CLASS_NAME_CAROUSEL = 'carousel';\r\nconst CLASS_NAME_ACTIVE = 'active';\r\nconst CLASS_NAME_SLIDE = 'slide';\r\nconst CLASS_NAME_END = 'carousel-item-end';\r\nconst CLASS_NAME_START = 'carousel-item-start';\r\nconst CLASS_NAME_NEXT = 'carousel-item-next';\r\nconst CLASS_NAME_PREV = 'carousel-item-prev';\r\nconst CLASS_NAME_POINTER_EVENT = 'pointer-event';\r\n\r\nconst SELECTOR_ACTIVE = '.active';\r\nconst SELECTOR_ACTIVE_ITEM = '.active.carousel-item';\r\nconst SELECTOR_ITEM = '.carousel-item';\r\nconst SELECTOR_ITEM_IMG = '.carousel-item img';\r\nconst SELECTOR_NEXT_PREV = '.carousel-item-next, .carousel-item-prev';\r\nconst SELECTOR_INDICATORS = '.carousel-indicators';\r\nconst SELECTOR_INDICATOR = '[data-bs-target]';\r\nconst SELECTOR_DATA_SLIDE = '[data-bs-slide], [data-bs-slide-to]';\r\nconst SELECTOR_DATA_RIDE = '[data-bs-ride=\"carousel\"]';\r\n\r\nconst POINTER_TYPE_TOUCH = 'touch';\r\nconst POINTER_TYPE_PEN = 'pen';\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * Class Definition\r\n * ------------------------------------------------------------------------\r\n */\r\nclass Carousel extends BaseComponent {\r\n constructor(element, config) {\r\n super(element);\r\n\r\n this._items = null;\r\n this._interval = null;\r\n this._activeElement = null;\r\n this._isPaused = false;\r\n this._isSliding = false;\r\n this.touchTimeout = null;\r\n this.touchStartX = 0;\r\n this.touchDeltaX = 0;\r\n\r\n this._config = this._getConfig(config);\r\n this._indicatorsElement = SelectorEngine.findOne(SELECTOR_INDICATORS, this._element);\r\n this._touchSupported =\r\n 'ontouchstart' in document.documentElement || navigator.maxTouchPoints > 0;\r\n this._pointerEvent = Boolean(window.PointerEvent);\r\n\r\n this._addEventListeners();\r\n }\r\n\r\n // Getters\r\n\r\n static get Default() {\r\n return Default;\r\n }\r\n\r\n static get NAME() {\r\n return NAME;\r\n }\r\n\r\n // Public\r\n\r\n next() {\r\n this._slide(ORDER_NEXT);\r\n }\r\n\r\n nextWhenVisible() {\r\n // Don't call next when the page isn't visible\r\n // or the carousel or its parent isn't visible\r\n if (!document.hidden && isVisible(this._element)) {\r\n this.next();\r\n }\r\n }\r\n\r\n prev() {\r\n this._slide(ORDER_PREV);\r\n }\r\n\r\n pause(event) {\r\n if (!event) {\r\n this._isPaused = true;\r\n }\r\n\r\n if (SelectorEngine.findOne(SELECTOR_NEXT_PREV, this._element)) {\r\n triggerTransitionEnd(this._element);\r\n this.cycle(true);\r\n }\r\n\r\n clearInterval(this._interval);\r\n this._interval = null;\r\n }\r\n\r\n cycle(event) {\r\n if (!event) {\r\n this._isPaused = false;\r\n }\r\n\r\n if (this._interval) {\r\n clearInterval(this._interval);\r\n this._interval = null;\r\n }\r\n\r\n if (this._config && this._config.interval && !this._isPaused) {\r\n this._updateInterval();\r\n\r\n this._interval = setInterval(\r\n (document.visibilityState ? this.nextWhenVisible : this.next).bind(this),\r\n this._config.interval\r\n );\r\n }\r\n }\r\n\r\n to(index) {\r\n this._activeElement = SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element);\r\n const activeIndex = this._getItemIndex(this._activeElement);\r\n\r\n if (index > this._items.length - 1 || index < 0) {\r\n return;\r\n }\r\n\r\n if (this._isSliding) {\r\n EventHandler.one(this._element, EVENT_SLID, () => this.to(index));\r\n return;\r\n }\r\n\r\n if (activeIndex === index) {\r\n this.pause();\r\n this.cycle();\r\n return;\r\n }\r\n\r\n const order = index > activeIndex ? ORDER_NEXT : ORDER_PREV;\r\n\r\n this._slide(order, this._items[index]);\r\n }\r\n\r\n // Private\r\n\r\n _getConfig(config) {\r\n config = {\r\n ...Default,\r\n ...Manipulator.getDataAttributes(this._element),\r\n ...(typeof config === 'object' ? config : {}),\r\n };\r\n typeCheckConfig(NAME, config, DefaultType);\r\n return config;\r\n }\r\n\r\n _handleSwipe() {\r\n const absDeltax = Math.abs(this.touchDeltaX);\r\n\r\n if (absDeltax <= SWIPE_THRESHOLD) {\r\n return;\r\n }\r\n\r\n const direction = absDeltax / this.touchDeltaX;\r\n\r\n this.touchDeltaX = 0;\r\n\r\n if (!direction) {\r\n return;\r\n }\r\n\r\n this._slide(direction > 0 ? DIRECTION_RIGHT : DIRECTION_LEFT);\r\n }\r\n\r\n _addEventListeners() {\r\n if (this._config.keyboard) {\r\n EventHandler.on(this._element, EVENT_KEYDOWN, (event) => this._keydown(event));\r\n }\r\n\r\n if (this._config.pause === 'hover') {\r\n EventHandler.on(this._element, EVENT_MOUSEENTER, (event) => this.pause(event));\r\n EventHandler.on(this._element, EVENT_MOUSELEAVE, (event) => this.cycle(event));\r\n }\r\n\r\n if (this._config.touch && this._touchSupported) {\r\n this._addTouchEventListeners();\r\n }\r\n }\r\n\r\n _addTouchEventListeners() {\r\n const hasPointerPenTouch = (event) => {\r\n return (\r\n this._pointerEvent &&\r\n (event.pointerType === POINTER_TYPE_PEN || event.pointerType === POINTER_TYPE_TOUCH)\r\n );\r\n };\r\n\r\n const start = (event) => {\r\n if (hasPointerPenTouch(event)) {\r\n this.touchStartX = event.clientX;\r\n } else if (!this._pointerEvent) {\r\n this.touchStartX = event.touches[0].clientX;\r\n }\r\n };\r\n\r\n const move = (event) => {\r\n // ensure swiping with one touch and not pinching\r\n this.touchDeltaX =\r\n event.touches && event.touches.length > 1 ? 0 : event.touches[0].clientX - this.touchStartX;\r\n };\r\n\r\n const end = (event) => {\r\n if (hasPointerPenTouch(event)) {\r\n this.touchDeltaX = event.clientX - this.touchStartX;\r\n }\r\n\r\n this._handleSwipe();\r\n if (this._config.pause === 'hover') {\r\n // If it's a touch-enabled device, mouseenter/leave are fired as\r\n // part of the mouse compatibility events on first tap - the carousel\r\n // would stop cycling until user tapped out of it;\r\n // here, we listen for touchend, explicitly pause the carousel\r\n // (as if it's the second time we tap on it, mouseenter compat event\r\n // is NOT fired) and after a timeout (to allow for mouse compatibility\r\n // events to fire) we explicitly restart cycling\r\n\r\n this.pause();\r\n if (this.touchTimeout) {\r\n clearTimeout(this.touchTimeout);\r\n }\r\n\r\n this.touchTimeout = setTimeout(\r\n (event) => this.cycle(event),\r\n TOUCHEVENT_COMPAT_WAIT + this._config.interval\r\n );\r\n }\r\n };\r\n\r\n SelectorEngine.find(SELECTOR_ITEM_IMG, this._element).forEach((itemImg) => {\r\n EventHandler.on(itemImg, EVENT_DRAG_START, (event) => event.preventDefault());\r\n });\r\n\r\n if (this._pointerEvent) {\r\n EventHandler.on(this._element, EVENT_POINTERDOWN, (event) => start(event));\r\n EventHandler.on(this._element, EVENT_POINTERUP, (event) => end(event));\r\n\r\n this._element.classList.add(CLASS_NAME_POINTER_EVENT);\r\n } else {\r\n EventHandler.on(this._element, EVENT_TOUCHSTART, (event) => start(event));\r\n EventHandler.on(this._element, EVENT_TOUCHMOVE, (event) => move(event));\r\n EventHandler.on(this._element, EVENT_TOUCHEND, (event) => end(event));\r\n }\r\n }\r\n\r\n _keydown(event) {\r\n if (/input|textarea/i.test(event.target.tagName)) {\r\n return;\r\n }\r\n\r\n const direction = KEY_TO_DIRECTION[event.key];\r\n if (direction) {\r\n event.preventDefault();\r\n this._slide(direction);\r\n }\r\n }\r\n\r\n _getItemIndex(element) {\r\n this._items =\r\n element && element.parentNode ? SelectorEngine.find(SELECTOR_ITEM, element.parentNode) : [];\r\n\r\n return this._items.indexOf(element);\r\n }\r\n\r\n _getItemByOrder(order, activeElement) {\r\n const isNext = order === ORDER_NEXT;\r\n return getNextActiveElement(this._items, activeElement, isNext, this._config.wrap);\r\n }\r\n\r\n _triggerSlideEvent(relatedTarget, eventDirectionName) {\r\n const targetIndex = this._getItemIndex(relatedTarget);\r\n const fromIndex = this._getItemIndex(\r\n SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element)\r\n );\r\n\r\n return EventHandler.trigger(this._element, EVENT_SLIDE, {\r\n relatedTarget,\r\n direction: eventDirectionName,\r\n from: fromIndex,\r\n to: targetIndex,\r\n });\r\n }\r\n\r\n _setActiveIndicatorElement(element) {\r\n if (this._indicatorsElement) {\r\n const activeIndicator = SelectorEngine.findOne(SELECTOR_ACTIVE, this._indicatorsElement);\r\n\r\n activeIndicator.classList.remove(CLASS_NAME_ACTIVE);\r\n activeIndicator.removeAttribute('aria-current');\r\n\r\n const indicators = SelectorEngine.find(SELECTOR_INDICATOR, this._indicatorsElement);\r\n\r\n for (let i = 0; i < indicators.length; i++) {\r\n if (\r\n Number.parseInt(indicators[i].getAttribute('data-bs-slide-to'), 10) ===\r\n this._getItemIndex(element)\r\n ) {\r\n indicators[i].classList.add(CLASS_NAME_ACTIVE);\r\n indicators[i].setAttribute('aria-current', 'true');\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n\r\n _updateInterval() {\r\n const element =\r\n this._activeElement || SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element);\r\n\r\n if (!element) {\r\n return;\r\n }\r\n\r\n const elementInterval = Number.parseInt(element.getAttribute('data-bs-interval'), 10);\r\n\r\n if (elementInterval) {\r\n this._config.defaultInterval = this._config.defaultInterval || this._config.interval;\r\n this._config.interval = elementInterval;\r\n } else {\r\n this._config.interval = this._config.defaultInterval || this._config.interval;\r\n }\r\n }\r\n\r\n _slide(directionOrOrder, element) {\r\n const order = this._directionToOrder(directionOrOrder);\r\n const activeElement = SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element);\r\n const activeElementIndex = this._getItemIndex(activeElement);\r\n const nextElement = element || this._getItemByOrder(order, activeElement);\r\n\r\n const nextElementIndex = this._getItemIndex(nextElement);\r\n const isCycling = Boolean(this._interval);\r\n\r\n const isNext = order === ORDER_NEXT;\r\n const directionalClassName = isNext ? CLASS_NAME_START : CLASS_NAME_END;\r\n const orderClassName = isNext ? CLASS_NAME_NEXT : CLASS_NAME_PREV;\r\n const eventDirectionName = this._orderToDirection(order);\r\n\r\n if (nextElement && nextElement.classList.contains(CLASS_NAME_ACTIVE)) {\r\n this._isSliding = false;\r\n return;\r\n }\r\n\r\n if (this._isSliding) {\r\n return;\r\n }\r\n\r\n const slideEvent = this._triggerSlideEvent(nextElement, eventDirectionName);\r\n if (slideEvent.defaultPrevented) {\r\n return;\r\n }\r\n\r\n if (!activeElement || !nextElement) {\r\n // Some weirdness is happening, so we bail\r\n return;\r\n }\r\n\r\n this._isSliding = true;\r\n\r\n if (isCycling) {\r\n this.pause();\r\n }\r\n\r\n this._setActiveIndicatorElement(nextElement);\r\n this._activeElement = nextElement;\r\n\r\n const triggerSlidEvent = () => {\r\n EventHandler.trigger(this._element, EVENT_SLID, {\r\n relatedTarget: nextElement,\r\n direction: eventDirectionName,\r\n from: activeElementIndex,\r\n to: nextElementIndex,\r\n });\r\n };\r\n\r\n if (this._element.classList.contains(CLASS_NAME_SLIDE)) {\r\n nextElement.classList.add(orderClassName);\r\n\r\n reflow(nextElement);\r\n\r\n activeElement.classList.add(directionalClassName);\r\n nextElement.classList.add(directionalClassName);\r\n\r\n const completeCallBack = () => {\r\n nextElement.classList.remove(directionalClassName, orderClassName);\r\n nextElement.classList.add(CLASS_NAME_ACTIVE);\r\n\r\n activeElement.classList.remove(CLASS_NAME_ACTIVE, orderClassName, directionalClassName);\r\n\r\n this._isSliding = false;\r\n\r\n setTimeout(triggerSlidEvent, 0);\r\n };\r\n\r\n this._queueCallback(completeCallBack, activeElement, true);\r\n } else {\r\n activeElement.classList.remove(CLASS_NAME_ACTIVE);\r\n nextElement.classList.add(CLASS_NAME_ACTIVE);\r\n\r\n this._isSliding = false;\r\n triggerSlidEvent();\r\n }\r\n\r\n if (isCycling) {\r\n this.cycle();\r\n }\r\n }\r\n\r\n _directionToOrder(direction) {\r\n if (![DIRECTION_RIGHT, DIRECTION_LEFT].includes(direction)) {\r\n return direction;\r\n }\r\n\r\n if (isRTL()) {\r\n return direction === DIRECTION_LEFT ? ORDER_PREV : ORDER_NEXT;\r\n }\r\n\r\n return direction === DIRECTION_LEFT ? ORDER_NEXT : ORDER_PREV;\r\n }\r\n\r\n _orderToDirection(order) {\r\n if (![ORDER_NEXT, ORDER_PREV].includes(order)) {\r\n return order;\r\n }\r\n\r\n if (isRTL()) {\r\n return order === ORDER_PREV ? DIRECTION_LEFT : DIRECTION_RIGHT;\r\n }\r\n\r\n return order === ORDER_PREV ? DIRECTION_RIGHT : DIRECTION_LEFT;\r\n }\r\n\r\n // Static\r\n\r\n static carouselInterface(element, config) {\r\n const data = Carousel.getOrCreateInstance(element, config);\r\n\r\n let { _config } = data;\r\n if (typeof config === 'object') {\r\n _config = {\r\n ..._config,\r\n ...config,\r\n };\r\n }\r\n\r\n const action = typeof config === 'string' ? config : _config.slide;\r\n\r\n if (typeof config === 'number') {\r\n data.to(config);\r\n } else if (typeof action === 'string') {\r\n if (typeof data[action] === 'undefined') {\r\n throw new TypeError(`No method named \"${action}\"`);\r\n }\r\n\r\n data[action]();\r\n } else if (_config.interval && _config.ride) {\r\n data.pause();\r\n data.cycle();\r\n }\r\n }\r\n\r\n static jQueryInterface(config) {\r\n return this.each(function () {\r\n Carousel.carouselInterface(this, config);\r\n });\r\n }\r\n\r\n static dataApiClickHandler(event) {\r\n const target = getElementFromSelector(this);\r\n\r\n if (!target || !target.classList.contains(CLASS_NAME_CAROUSEL)) {\r\n return;\r\n }\r\n\r\n const config = {\r\n ...Manipulator.getDataAttributes(target),\r\n ...Manipulator.getDataAttributes(this),\r\n };\r\n const slideIndex = this.getAttribute('data-bs-slide-to');\r\n\r\n if (slideIndex) {\r\n config.interval = false;\r\n }\r\n\r\n Carousel.carouselInterface(target, config);\r\n\r\n if (slideIndex) {\r\n Carousel.getInstance(target).to(slideIndex);\r\n }\r\n\r\n event.preventDefault();\r\n }\r\n}\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * Data Api implementation\r\n * ------------------------------------------------------------------------\r\n */\r\n\r\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_SLIDE, Carousel.dataApiClickHandler);\r\n\r\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\r\n const carousels = SelectorEngine.find(SELECTOR_DATA_RIDE);\r\n\r\n for (let i = 0, len = carousels.length; i < len; i++) {\r\n Carousel.carouselInterface(carousels[i], Carousel.getInstance(carousels[i]));\r\n }\r\n});\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * jQuery\r\n * ------------------------------------------------------------------------\r\n * add .Carousel to jQuery only if jQuery is present\r\n */\r\n\r\ndefineJQueryPlugin(Carousel);\r\n\r\nexport default Carousel;\r\n","/**\r\n * --------------------------------------------------------------------------\r\n * Bootstrap (v5.1.3): modal.js\r\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\r\n * --------------------------------------------------------------------------\r\n */\r\n\r\nimport {\r\n defineJQueryPlugin,\r\n getElementFromSelector,\r\n isRTL,\r\n isVisible,\r\n reflow,\r\n typeCheckConfig,\r\n} from './util/index';\r\nimport EventHandler from './dom/event-handler';\r\nimport Manipulator from './dom/manipulator';\r\nimport SelectorEngine from './dom/selector-engine';\r\nimport ScrollBarHelper from './util/scrollbar';\r\nimport BaseComponent from './base-component';\r\nimport Backdrop from './util/backdrop';\r\nimport FocusTrap from './util/focustrap';\r\nimport { enableDismissTrigger } from './util/component-functions';\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * Constants\r\n * ------------------------------------------------------------------------\r\n */\r\n\r\nconst NAME = 'modal';\r\nconst DATA_KEY = 'bs.modal';\r\nconst EVENT_KEY = `.${DATA_KEY}`;\r\nconst DATA_API_KEY = '.data-api';\r\nconst ESCAPE_KEY = 'Escape';\r\n\r\nconst Default = {\r\n backdrop: true,\r\n keyboard: true,\r\n focus: true,\r\n};\r\n\r\nconst DefaultType = {\r\n backdrop: '(boolean|string)',\r\n keyboard: 'boolean',\r\n focus: 'boolean',\r\n};\r\n\r\nconst EVENT_HIDE = `hide${EVENT_KEY}`;\r\nconst EVENT_HIDE_PREVENTED = `hidePrevented${EVENT_KEY}`;\r\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`;\r\nconst EVENT_SHOW = `show${EVENT_KEY}`;\r\nconst EVENT_SHOWN = `shown${EVENT_KEY}`;\r\nconst EVENT_RESIZE = `resize${EVENT_KEY}`;\r\nconst EVENT_CLICK_DISMISS = `click.dismiss${EVENT_KEY}`;\r\nconst EVENT_KEYDOWN_DISMISS = `keydown.dismiss${EVENT_KEY}`;\r\nconst EVENT_MOUSEUP_DISMISS = `mouseup.dismiss${EVENT_KEY}`;\r\nconst EVENT_MOUSEDOWN_DISMISS = `mousedown.dismiss${EVENT_KEY}`;\r\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`;\r\n\r\nconst CLASS_NAME_OPEN = 'modal-open';\r\nconst CLASS_NAME_FADE = 'fade';\r\nconst CLASS_NAME_SHOW = 'show';\r\nconst CLASS_NAME_STATIC = 'modal-static';\r\n\r\nconst OPEN_SELECTOR = '.modal.show';\r\nconst SELECTOR_DIALOG = '.modal-dialog';\r\nconst SELECTOR_MODAL_BODY = '.modal-body';\r\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"modal\"]';\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * Class Definition\r\n * ------------------------------------------------------------------------\r\n */\r\n\r\nclass Modal extends BaseComponent {\r\n constructor(element, config) {\r\n super(element);\r\n\r\n this._config = this._getConfig(config);\r\n this._dialog = SelectorEngine.findOne(SELECTOR_DIALOG, this._element);\r\n this._backdrop = this._initializeBackDrop();\r\n this._focustrap = this._initializeFocusTrap();\r\n this._isShown = false;\r\n this._ignoreBackdropClick = false;\r\n this._isTransitioning = false;\r\n this._scrollBar = new ScrollBarHelper();\r\n }\r\n\r\n // Getters\r\n\r\n static get Default() {\r\n return Default;\r\n }\r\n\r\n static get NAME() {\r\n return NAME;\r\n }\r\n\r\n // Public\r\n\r\n toggle(relatedTarget) {\r\n return this._isShown ? this.hide() : this.show(relatedTarget);\r\n }\r\n\r\n show(relatedTarget) {\r\n if (this._isShown || this._isTransitioning) {\r\n return;\r\n }\r\n\r\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, {\r\n relatedTarget,\r\n });\r\n\r\n if (showEvent.defaultPrevented) {\r\n return;\r\n }\r\n\r\n this._isShown = true;\r\n\r\n if (this._isAnimated()) {\r\n this._isTransitioning = true;\r\n }\r\n\r\n this._scrollBar.hide();\r\n\r\n document.body.classList.add(CLASS_NAME_OPEN);\r\n\r\n this._adjustDialog();\r\n\r\n this._setEscapeEvent();\r\n this._setResizeEvent();\r\n\r\n EventHandler.on(this._dialog, EVENT_MOUSEDOWN_DISMISS, () => {\r\n EventHandler.one(this._element, EVENT_MOUSEUP_DISMISS, (event) => {\r\n if (event.target === this._element) {\r\n this._ignoreBackdropClick = true;\r\n }\r\n });\r\n });\r\n\r\n this._showBackdrop(() => this._showElement(relatedTarget));\r\n }\r\n\r\n hide() {\r\n if (!this._isShown || this._isTransitioning) {\r\n return;\r\n }\r\n\r\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE);\r\n\r\n if (hideEvent.defaultPrevented) {\r\n return;\r\n }\r\n\r\n this._isShown = false;\r\n const isAnimated = this._isAnimated();\r\n\r\n if (isAnimated) {\r\n this._isTransitioning = true;\r\n }\r\n\r\n this._setEscapeEvent();\r\n this._setResizeEvent();\r\n\r\n this._focustrap.deactivate();\r\n\r\n this._element.classList.remove(CLASS_NAME_SHOW);\r\n\r\n EventHandler.off(this._element, EVENT_CLICK_DISMISS);\r\n EventHandler.off(this._dialog, EVENT_MOUSEDOWN_DISMISS);\r\n\r\n this._queueCallback(() => this._hideModal(), this._element, isAnimated);\r\n }\r\n\r\n dispose() {\r\n [window, this._dialog].forEach((htmlElement) => EventHandler.off(htmlElement, EVENT_KEY));\r\n\r\n this._backdrop.dispose();\r\n this._focustrap.deactivate();\r\n super.dispose();\r\n }\r\n\r\n handleUpdate() {\r\n this._adjustDialog();\r\n }\r\n\r\n // Private\r\n\r\n _initializeBackDrop() {\r\n return new Backdrop({\r\n isVisible: Boolean(this._config.backdrop), // 'static' option will be translated to true, and booleans will keep their value\r\n isAnimated: this._isAnimated(),\r\n });\r\n }\r\n\r\n _initializeFocusTrap() {\r\n return new FocusTrap({\r\n trapElement: this._element,\r\n });\r\n }\r\n\r\n _getConfig(config) {\r\n config = {\r\n ...Default,\r\n ...Manipulator.getDataAttributes(this._element),\r\n ...(typeof config === 'object' ? config : {}),\r\n };\r\n typeCheckConfig(NAME, config, DefaultType);\r\n return config;\r\n }\r\n\r\n _showElement(relatedTarget) {\r\n const isAnimated = this._isAnimated();\r\n const modalBody = SelectorEngine.findOne(SELECTOR_MODAL_BODY, this._dialog);\r\n\r\n if (!this._element.parentNode || this._element.parentNode.nodeType !== Node.ELEMENT_NODE) {\r\n // Don't move modal's DOM position\r\n document.body.append(this._element);\r\n }\r\n\r\n this._element.style.display = 'block';\r\n this._element.removeAttribute('aria-hidden');\r\n this._element.setAttribute('aria-modal', true);\r\n this._element.setAttribute('role', 'dialog');\r\n this._element.scrollTop = 0;\r\n\r\n if (modalBody) {\r\n modalBody.scrollTop = 0;\r\n }\r\n\r\n if (isAnimated) {\r\n reflow(this._element);\r\n }\r\n\r\n this._element.classList.add(CLASS_NAME_SHOW);\r\n\r\n const transitionComplete = () => {\r\n if (this._config.focus) {\r\n this._focustrap.activate();\r\n }\r\n\r\n this._isTransitioning = false;\r\n EventHandler.trigger(this._element, EVENT_SHOWN, {\r\n relatedTarget,\r\n });\r\n };\r\n\r\n this._queueCallback(transitionComplete, this._dialog, isAnimated);\r\n }\r\n\r\n _setEscapeEvent() {\r\n if (this._isShown) {\r\n EventHandler.on(this._element, EVENT_KEYDOWN_DISMISS, (event) => {\r\n if (this._config.keyboard && event.key === ESCAPE_KEY) {\r\n event.preventDefault();\r\n this.hide();\r\n } else if (!this._config.keyboard && event.key === ESCAPE_KEY) {\r\n this._triggerBackdropTransition();\r\n }\r\n });\r\n } else {\r\n EventHandler.off(this._element, EVENT_KEYDOWN_DISMISS);\r\n }\r\n }\r\n\r\n _setResizeEvent() {\r\n if (this._isShown) {\r\n EventHandler.on(window, EVENT_RESIZE, () => this._adjustDialog());\r\n } else {\r\n EventHandler.off(window, EVENT_RESIZE);\r\n }\r\n }\r\n\r\n _hideModal() {\r\n this._element.style.display = 'none';\r\n this._element.setAttribute('aria-hidden', true);\r\n this._element.removeAttribute('aria-modal');\r\n this._element.removeAttribute('role');\r\n this._isTransitioning = false;\r\n this._backdrop.hide(() => {\r\n document.body.classList.remove(CLASS_NAME_OPEN);\r\n this._resetAdjustments();\r\n this._scrollBar.reset();\r\n EventHandler.trigger(this._element, EVENT_HIDDEN);\r\n });\r\n }\r\n\r\n _showBackdrop(callback) {\r\n EventHandler.on(this._element, EVENT_CLICK_DISMISS, (event) => {\r\n if (this._ignoreBackdropClick) {\r\n this._ignoreBackdropClick = false;\r\n return;\r\n }\r\n\r\n if (event.target !== event.currentTarget) {\r\n return;\r\n }\r\n\r\n if (this._config.backdrop === true) {\r\n this.hide();\r\n } else if (this._config.backdrop === 'static') {\r\n this._triggerBackdropTransition();\r\n }\r\n });\r\n\r\n this._backdrop.show(callback);\r\n }\r\n\r\n _isAnimated() {\r\n return this._element.classList.contains(CLASS_NAME_FADE);\r\n }\r\n\r\n _triggerBackdropTransition() {\r\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED);\r\n if (hideEvent.defaultPrevented) {\r\n return;\r\n }\r\n\r\n const { classList, scrollHeight, style } = this._element;\r\n const isModalOverflowing = scrollHeight > document.documentElement.clientHeight;\r\n\r\n // return if the following background transition hasn't yet completed\r\n if (\r\n (!isModalOverflowing && style.overflowY === 'hidden') ||\r\n classList.contains(CLASS_NAME_STATIC)\r\n ) {\r\n return;\r\n }\r\n\r\n if (!isModalOverflowing) {\r\n style.overflowY = 'hidden';\r\n }\r\n\r\n classList.add(CLASS_NAME_STATIC);\r\n this._queueCallback(() => {\r\n classList.remove(CLASS_NAME_STATIC);\r\n if (!isModalOverflowing) {\r\n this._queueCallback(() => {\r\n style.overflowY = '';\r\n }, this._dialog);\r\n }\r\n }, this._dialog);\r\n\r\n this._element.focus();\r\n }\r\n\r\n // ----------------------------------------------------------------------\r\n // the following methods are used to handle overflowing modals\r\n // ----------------------------------------------------------------------\r\n\r\n _adjustDialog() {\r\n const isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight;\r\n const scrollbarWidth = this._scrollBar.getWidth();\r\n const isBodyOverflowing = scrollbarWidth > 0;\r\n\r\n if (\r\n (!isBodyOverflowing && isModalOverflowing && !isRTL()) ||\r\n (isBodyOverflowing && !isModalOverflowing && isRTL())\r\n ) {\r\n this._element.style.paddingLeft = `${scrollbarWidth}px`;\r\n }\r\n\r\n if (\r\n (isBodyOverflowing && !isModalOverflowing && !isRTL()) ||\r\n (!isBodyOverflowing && isModalOverflowing && isRTL())\r\n ) {\r\n this._element.style.paddingRight = `${scrollbarWidth}px`;\r\n }\r\n }\r\n\r\n _resetAdjustments() {\r\n this._element.style.paddingLeft = '';\r\n this._element.style.paddingRight = '';\r\n }\r\n\r\n // Static\r\n\r\n static jQueryInterface(config, relatedTarget) {\r\n return this.each(function () {\r\n const data = Modal.getOrCreateInstance(this, config);\r\n\r\n if (typeof config !== 'string') {\r\n return;\r\n }\r\n\r\n if (typeof data[config] === 'undefined') {\r\n throw new TypeError(`No method named \"${config}\"`);\r\n }\r\n\r\n data[config](relatedTarget);\r\n });\r\n }\r\n}\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * Data Api implementation\r\n * ------------------------------------------------------------------------\r\n */\r\n\r\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\r\n const target = getElementFromSelector(this);\r\n\r\n if (['A', 'AREA'].includes(this.tagName)) {\r\n event.preventDefault();\r\n }\r\n\r\n EventHandler.one(target, EVENT_SHOW, (showEvent) => {\r\n if (showEvent.defaultPrevented) {\r\n // only register focus restorer if modal will actually get shown\r\n return;\r\n }\r\n\r\n EventHandler.one(target, EVENT_HIDDEN, () => {\r\n if (isVisible(this)) {\r\n this.focus();\r\n }\r\n });\r\n });\r\n\r\n // avoid conflict when clicking moddal toggler while another one is open\r\n const allReadyOpen = SelectorEngine.findOne(OPEN_SELECTOR);\r\n if (allReadyOpen) {\r\n Modal.getInstance(allReadyOpen).hide();\r\n }\r\n\r\n const data = Modal.getOrCreateInstance(target);\r\n\r\n data.toggle(this);\r\n});\r\n\r\nenableDismissTrigger(Modal);\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * jQuery\r\n * ------------------------------------------------------------------------\r\n * add .Modal to jQuery only if jQuery is present\r\n */\r\n\r\ndefineJQueryPlugin(Modal);\r\n\r\nexport default Modal;\r\n","/**\r\n * --------------------------------------------------------------------------\r\n * Bootstrap (v5.1.3): util/sanitizer.js\r\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\r\n * --------------------------------------------------------------------------\r\n */\r\n\r\nconst uriAttributes = new Set([\r\n 'background',\r\n 'cite',\r\n 'href',\r\n 'itemtype',\r\n 'longdesc',\r\n 'poster',\r\n 'src',\r\n 'xlink:href',\r\n]);\r\n\r\nconst ARIA_ATTRIBUTE_PATTERN = /^aria-[\\w-]*$/i;\r\n\r\n/**\r\n * A pattern that recognizes a commonly useful subset of URLs that are safe.\r\n *\r\n * Shoutout to Angular https://github.com/angular/angular/blob/12.2.x/packages/core/src/sanitization/url_sanitizer.ts\r\n */\r\nconst SAFE_URL_PATTERN = /^(?:(?:https?|mailto|ftp|tel|file|sms):|[^#&/:?]*(?:[#/?]|$))/i;\r\n\r\n/**\r\n * A pattern that matches safe data URLs. Only matches image, video and audio types.\r\n *\r\n * Shoutout to Angular https://github.com/angular/angular/blob/12.2.x/packages/core/src/sanitization/url_sanitizer.ts\r\n */\r\nconst DATA_URL_PATTERN =\r\n /^data:(?:image\\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\\/(?:mpeg|mp4|ogg|webm)|audio\\/(?:mp3|oga|ogg|opus));base64,[\\d+/a-z]+=*$/i;\r\n\r\nconst allowedAttribute = (attribute, allowedAttributeList) => {\r\n const attributeName = attribute.nodeName.toLowerCase();\r\n\r\n if (allowedAttributeList.includes(attributeName)) {\r\n if (uriAttributes.has(attributeName)) {\r\n return Boolean(\r\n SAFE_URL_PATTERN.test(attribute.nodeValue) || DATA_URL_PATTERN.test(attribute.nodeValue)\r\n );\r\n }\r\n\r\n return true;\r\n }\r\n\r\n const regExp = allowedAttributeList.filter((attributeRegex) => attributeRegex instanceof RegExp);\r\n\r\n // Check if a regular expression validates the attribute.\r\n for (let i = 0, len = regExp.length; i < len; i++) {\r\n if (regExp[i].test(attributeName)) {\r\n return true;\r\n }\r\n }\r\n\r\n return false;\r\n};\r\n\r\nexport const DefaultAllowlist = {\r\n // Global attributes allowed on any supplied element below.\r\n '*': ['class', 'dir', 'id', 'lang', 'role', ARIA_ATTRIBUTE_PATTERN],\r\n a: ['target', 'href', 'title', 'rel'],\r\n area: [],\r\n b: [],\r\n br: [],\r\n col: [],\r\n code: [],\r\n div: [],\r\n em: [],\r\n hr: [],\r\n h1: [],\r\n h2: [],\r\n h3: [],\r\n h4: [],\r\n h5: [],\r\n h6: [],\r\n i: [],\r\n img: ['src', 'srcset', 'alt', 'title', 'width', 'height'],\r\n li: [],\r\n ol: [],\r\n p: [],\r\n pre: [],\r\n s: [],\r\n small: [],\r\n span: [],\r\n sub: [],\r\n sup: [],\r\n strong: [],\r\n u: [],\r\n ul: [],\r\n};\r\n\r\nexport function sanitizeHtml(unsafeHtml, allowList, sanitizeFn) {\r\n if (!unsafeHtml.length) {\r\n return unsafeHtml;\r\n }\r\n\r\n if (sanitizeFn && typeof sanitizeFn === 'function') {\r\n return sanitizeFn(unsafeHtml);\r\n }\r\n\r\n const domParser = new window.DOMParser();\r\n const createdDocument = domParser.parseFromString(unsafeHtml, 'text/html');\r\n const elements = [].concat(...createdDocument.body.querySelectorAll('*'));\r\n\r\n for (let i = 0, len = elements.length; i < len; i++) {\r\n const element = elements[i];\r\n const elementName = element.nodeName.toLowerCase();\r\n\r\n if (!Object.keys(allowList).includes(elementName)) {\r\n element.remove();\r\n\r\n continue;\r\n }\r\n\r\n const attributeList = [].concat(...element.attributes);\r\n const allowedAttributes = [].concat(allowList['*'] || [], allowList[elementName] || []);\r\n\r\n attributeList.forEach((attribute) => {\r\n if (!allowedAttribute(attribute, allowedAttributes)) {\r\n element.removeAttribute(attribute.nodeName);\r\n }\r\n });\r\n }\r\n\r\n return createdDocument.body.innerHTML;\r\n}\r\n","/**\r\n * --------------------------------------------------------------------------\r\n * Bootstrap (v5.1.3): tooltip.js\r\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\r\n * --------------------------------------------------------------------------\r\n */\r\n\r\nimport * as Popper from '@popperjs/core';\r\n\r\nimport {\r\n defineJQueryPlugin,\r\n findShadowRoot,\r\n getElement,\r\n getUID,\r\n isElement,\r\n isRTL,\r\n noop,\r\n typeCheckConfig,\r\n} from './util/index';\r\nimport { DefaultAllowlist, sanitizeHtml } from './util/sanitizer';\r\nimport Data from './dom/data';\r\nimport EventHandler from './dom/event-handler';\r\nimport Manipulator from './dom/manipulator';\r\nimport SelectorEngine from './dom/selector-engine';\r\nimport BaseComponent from './base-component';\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * Constants\r\n * ------------------------------------------------------------------------\r\n */\r\n\r\nconst NAME = 'tooltip';\r\nconst DATA_KEY = 'bs.tooltip';\r\nconst EVENT_KEY = `.${DATA_KEY}`;\r\nconst CLASS_PREFIX = 'bs-tooltip';\r\nconst DISALLOWED_ATTRIBUTES = new Set(['sanitize', 'allowList', 'sanitizeFn']);\r\n\r\nconst DefaultType = {\r\n animation: 'boolean',\r\n template: 'string',\r\n title: '(string|element|function)',\r\n trigger: 'string',\r\n delay: '(number|object)',\r\n html: 'boolean',\r\n selector: '(string|boolean)',\r\n placement: '(string|function)',\r\n offset: '(array|string|function)',\r\n container: '(string|element|boolean)',\r\n fallbackPlacements: 'array',\r\n boundary: '(string|element)',\r\n customClass: '(string|function)',\r\n sanitize: 'boolean',\r\n sanitizeFn: '(null|function)',\r\n allowList: 'object',\r\n popperConfig: '(null|object|function)',\r\n};\r\n\r\nconst AttachmentMap = {\r\n AUTO: 'auto',\r\n TOP: 'top',\r\n RIGHT: isRTL() ? 'left' : 'right',\r\n BOTTOM: 'bottom',\r\n LEFT: isRTL() ? 'right' : 'left',\r\n};\r\n\r\nconst Default = {\r\n animation: true,\r\n template:\r\n '
    ' +\r\n '
    ' +\r\n '
    ' +\r\n '
    ',\r\n trigger: 'hover focus',\r\n title: '',\r\n delay: 0,\r\n html: false,\r\n selector: false,\r\n placement: 'top',\r\n offset: [0, 0],\r\n container: false,\r\n fallbackPlacements: ['top', 'right', 'bottom', 'left'],\r\n boundary: 'clippingParents',\r\n customClass: '',\r\n sanitize: true,\r\n sanitizeFn: null,\r\n allowList: DefaultAllowlist,\r\n popperConfig: null,\r\n};\r\n\r\nconst Event = {\r\n HIDE: `hide${EVENT_KEY}`,\r\n HIDDEN: `hidden${EVENT_KEY}`,\r\n SHOW: `show${EVENT_KEY}`,\r\n SHOWN: `shown${EVENT_KEY}`,\r\n INSERTED: `inserted${EVENT_KEY}`,\r\n CLICK: `click${EVENT_KEY}`,\r\n FOCUSIN: `focusin${EVENT_KEY}`,\r\n FOCUSOUT: `focusout${EVENT_KEY}`,\r\n MOUSEENTER: `mouseenter${EVENT_KEY}`,\r\n MOUSELEAVE: `mouseleave${EVENT_KEY}`,\r\n};\r\n\r\nconst CLASS_NAME_FADE = 'fade';\r\nconst CLASS_NAME_MODAL = 'modal';\r\nconst CLASS_NAME_SHOW = 'show';\r\n\r\nconst HOVER_STATE_SHOW = 'show';\r\nconst HOVER_STATE_OUT = 'out';\r\n\r\nconst SELECTOR_TOOLTIP_INNER = '.tooltip-inner';\r\nconst SELECTOR_MODAL = `.${CLASS_NAME_MODAL}`;\r\n\r\nconst EVENT_MODAL_HIDE = 'hide.bs.modal';\r\n\r\nconst TRIGGER_HOVER = 'hover';\r\nconst TRIGGER_FOCUS = 'focus';\r\nconst TRIGGER_CLICK = 'click';\r\nconst TRIGGER_MANUAL = 'manual';\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * Class Definition\r\n * ------------------------------------------------------------------------\r\n */\r\n\r\nclass Tooltip extends BaseComponent {\r\n constructor(element, config) {\r\n if (typeof Popper === 'undefined') {\r\n throw new TypeError(\"Bootstrap's tooltips require Popper (https://popper.js.org)\");\r\n }\r\n\r\n super(element);\r\n\r\n // private\r\n this._isEnabled = true;\r\n this._timeout = 0;\r\n this._hoverState = '';\r\n this._activeTrigger = {};\r\n this._popper = null;\r\n\r\n // Protected\r\n this._config = this._getConfig(config);\r\n this.tip = null;\r\n\r\n this._setListeners();\r\n }\r\n\r\n // Getters\r\n\r\n static get Default() {\r\n return Default;\r\n }\r\n\r\n static get NAME() {\r\n return NAME;\r\n }\r\n\r\n static get Event() {\r\n return Event;\r\n }\r\n\r\n static get DefaultType() {\r\n return DefaultType;\r\n }\r\n\r\n // Public\r\n\r\n enable() {\r\n this._isEnabled = true;\r\n }\r\n\r\n disable() {\r\n this._isEnabled = false;\r\n }\r\n\r\n toggleEnabled() {\r\n this._isEnabled = !this._isEnabled;\r\n }\r\n\r\n toggle(event) {\r\n if (!this._isEnabled) {\r\n return;\r\n }\r\n\r\n if (event) {\r\n const context = this._initializeOnDelegatedTarget(event);\r\n\r\n context._activeTrigger.click = !context._activeTrigger.click;\r\n\r\n if (context._isWithActiveTrigger()) {\r\n context._enter(null, context);\r\n } else {\r\n context._leave(null, context);\r\n }\r\n } else {\r\n if (this.getTipElement().classList.contains(CLASS_NAME_SHOW)) {\r\n this._leave(null, this);\r\n return;\r\n }\r\n\r\n this._enter(null, this);\r\n }\r\n }\r\n\r\n dispose() {\r\n clearTimeout(this._timeout);\r\n\r\n EventHandler.off(\r\n this._element.closest(SELECTOR_MODAL),\r\n EVENT_MODAL_HIDE,\r\n this._hideModalHandler\r\n );\r\n\r\n if (this.tip) {\r\n this.tip.remove();\r\n }\r\n\r\n this._disposePopper();\r\n super.dispose();\r\n }\r\n\r\n show() {\r\n if (this._element.style.display === 'none') {\r\n throw new Error('Please use show on visible elements');\r\n }\r\n\r\n if (!(this.isWithContent() && this._isEnabled)) {\r\n return;\r\n }\r\n\r\n const showEvent = EventHandler.trigger(this._element, this.constructor.Event.SHOW);\r\n const shadowRoot = findShadowRoot(this._element);\r\n const isInTheDom =\r\n shadowRoot === null\r\n ? this._element.ownerDocument.documentElement.contains(this._element)\r\n : shadowRoot.contains(this._element);\r\n\r\n if (showEvent.defaultPrevented || !isInTheDom) {\r\n return;\r\n }\r\n\r\n // A trick to recreate a tooltip in case a new title is given by using the NOT documented `data-bs-original-title`\r\n // This will be removed later in favor of a `setContent` method\r\n if (\r\n this.constructor.NAME === 'tooltip' &&\r\n this.tip &&\r\n this.getTitle() !== this.tip.querySelector(SELECTOR_TOOLTIP_INNER).innerHTML\r\n ) {\r\n this._disposePopper();\r\n this.tip.remove();\r\n this.tip = null;\r\n }\r\n\r\n const tip = this.getTipElement();\r\n const tipId = getUID(this.constructor.NAME);\r\n\r\n tip.setAttribute('id', tipId);\r\n this._element.setAttribute('aria-describedby', tipId);\r\n\r\n if (this._config.animation) {\r\n tip.classList.add(CLASS_NAME_FADE);\r\n }\r\n\r\n const placement =\r\n typeof this._config.placement === 'function'\r\n ? this._config.placement.call(this, tip, this._element)\r\n : this._config.placement;\r\n\r\n const attachment = this._getAttachment(placement);\r\n this._addAttachmentClass(attachment);\r\n\r\n const { container } = this._config;\r\n Data.set(tip, this.constructor.DATA_KEY, this);\r\n\r\n if (!this._element.ownerDocument.documentElement.contains(this.tip)) {\r\n container.append(tip);\r\n EventHandler.trigger(this._element, this.constructor.Event.INSERTED);\r\n }\r\n\r\n if (this._popper) {\r\n this._popper.update();\r\n } else {\r\n this._popper = Popper.createPopper(this._element, tip, this._getPopperConfig(attachment));\r\n }\r\n\r\n tip.classList.add(CLASS_NAME_SHOW);\r\n\r\n const customClass = this._resolvePossibleFunction(this._config.customClass);\r\n if (customClass) {\r\n tip.classList.add(...customClass.split(' '));\r\n }\r\n\r\n // If this is a touch-enabled device we add extra\r\n // empty mouseover listeners to the body's immediate children;\r\n // only needed because of broken event delegation on iOS\r\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\r\n if ('ontouchstart' in document.documentElement) {\r\n [].concat(...document.body.children).forEach((element) => {\r\n EventHandler.on(element, 'mouseover', noop);\r\n });\r\n }\r\n\r\n const complete = () => {\r\n const prevHoverState = this._hoverState;\r\n\r\n this._hoverState = null;\r\n EventHandler.trigger(this._element, this.constructor.Event.SHOWN);\r\n\r\n if (prevHoverState === HOVER_STATE_OUT) {\r\n this._leave(null, this);\r\n }\r\n };\r\n\r\n const isAnimated = this.tip.classList.contains(CLASS_NAME_FADE);\r\n this._queueCallback(complete, this.tip, isAnimated);\r\n }\r\n\r\n hide() {\r\n if (!this._popper) {\r\n return;\r\n }\r\n\r\n const tip = this.getTipElement();\r\n const complete = () => {\r\n if (this._isWithActiveTrigger()) {\r\n return;\r\n }\r\n\r\n if (this._hoverState !== HOVER_STATE_SHOW) {\r\n tip.remove();\r\n }\r\n\r\n this._cleanTipClass();\r\n this._element.removeAttribute('aria-describedby');\r\n EventHandler.trigger(this._element, this.constructor.Event.HIDDEN);\r\n\r\n this._disposePopper();\r\n };\r\n\r\n const hideEvent = EventHandler.trigger(this._element, this.constructor.Event.HIDE);\r\n if (hideEvent.defaultPrevented) {\r\n return;\r\n }\r\n\r\n tip.classList.remove(CLASS_NAME_SHOW);\r\n\r\n // If this is a touch-enabled device we remove the extra\r\n // empty mouseover listeners we added for iOS support\r\n if ('ontouchstart' in document.documentElement) {\r\n []\r\n .concat(...document.body.children)\r\n .forEach((element) => EventHandler.off(element, 'mouseover', noop));\r\n }\r\n\r\n this._activeTrigger[TRIGGER_CLICK] = false;\r\n this._activeTrigger[TRIGGER_FOCUS] = false;\r\n this._activeTrigger[TRIGGER_HOVER] = false;\r\n\r\n const isAnimated = this.tip.classList.contains(CLASS_NAME_FADE);\r\n this._queueCallback(complete, this.tip, isAnimated);\r\n this._hoverState = '';\r\n }\r\n\r\n update() {\r\n if (this._popper !== null) {\r\n this._popper.update();\r\n }\r\n }\r\n\r\n // Protected\r\n\r\n isWithContent() {\r\n return Boolean(this.getTitle());\r\n }\r\n\r\n getTipElement() {\r\n if (this.tip) {\r\n return this.tip;\r\n }\r\n\r\n const element = document.createElement('div');\r\n element.innerHTML = this._config.template;\r\n\r\n const tip = element.children[0];\r\n this.setContent(tip);\r\n tip.classList.remove(CLASS_NAME_FADE, CLASS_NAME_SHOW);\r\n\r\n this.tip = tip;\r\n return this.tip;\r\n }\r\n\r\n setContent(tip) {\r\n this._sanitizeAndSetContent(tip, this.getTitle(), SELECTOR_TOOLTIP_INNER);\r\n }\r\n\r\n _sanitizeAndSetContent(template, content, selector) {\r\n const templateElement = SelectorEngine.findOne(selector, template);\r\n\r\n if (!content && templateElement) {\r\n templateElement.remove();\r\n return;\r\n }\r\n\r\n // we use append for html objects to maintain js events\r\n this.setElementContent(templateElement, content);\r\n }\r\n\r\n setElementContent(element, content) {\r\n if (element === null) {\r\n return;\r\n }\r\n\r\n if (isElement(content)) {\r\n content = getElement(content);\r\n\r\n // content is a DOM node or a jQuery\r\n if (this._config.html) {\r\n if (content.parentNode !== element) {\r\n element.innerHTML = '';\r\n element.append(content);\r\n }\r\n } else {\r\n element.textContent = content.textContent;\r\n }\r\n\r\n return;\r\n }\r\n\r\n if (this._config.html) {\r\n if (this._config.sanitize) {\r\n content = sanitizeHtml(content, this._config.allowList, this._config.sanitizeFn);\r\n }\r\n\r\n element.innerHTML = content;\r\n } else {\r\n element.textContent = content;\r\n }\r\n }\r\n\r\n getTitle() {\r\n const title = this._element.getAttribute('data-bs-original-title') || this._config.title;\r\n\r\n return this._resolvePossibleFunction(title);\r\n }\r\n\r\n updateAttachment(attachment) {\r\n if (attachment === 'right') {\r\n return 'end';\r\n }\r\n\r\n if (attachment === 'left') {\r\n return 'start';\r\n }\r\n\r\n return attachment;\r\n }\r\n\r\n // Private\r\n\r\n _initializeOnDelegatedTarget(event, context) {\r\n return (\r\n context ||\r\n this.constructor.getOrCreateInstance(event.delegateTarget, this._getDelegateConfig())\r\n );\r\n }\r\n\r\n _getOffset() {\r\n const { offset } = this._config;\r\n\r\n if (typeof offset === 'string') {\r\n return offset.split(',').map((val) => Number.parseInt(val, 10));\r\n }\r\n\r\n if (typeof offset === 'function') {\r\n return (popperData) => offset(popperData, this._element);\r\n }\r\n\r\n return offset;\r\n }\r\n\r\n _resolvePossibleFunction(content) {\r\n return typeof content === 'function' ? content.call(this._element) : content;\r\n }\r\n\r\n _getPopperConfig(attachment) {\r\n const defaultBsPopperConfig = {\r\n placement: attachment,\r\n modifiers: [\r\n {\r\n name: 'flip',\r\n options: {\r\n fallbackPlacements: this._config.fallbackPlacements,\r\n },\r\n },\r\n {\r\n name: 'offset',\r\n options: {\r\n offset: this._getOffset(),\r\n },\r\n },\r\n {\r\n name: 'preventOverflow',\r\n options: {\r\n boundary: this._config.boundary,\r\n },\r\n },\r\n {\r\n name: 'arrow',\r\n options: {\r\n element: `.${this.constructor.NAME}-arrow`,\r\n },\r\n },\r\n {\r\n name: 'onChange',\r\n enabled: true,\r\n phase: 'afterWrite',\r\n fn: (data) => this._handlePopperPlacementChange(data),\r\n },\r\n ],\r\n onFirstUpdate: (data) => {\r\n if (data.options.placement !== data.placement) {\r\n this._handlePopperPlacementChange(data);\r\n }\r\n },\r\n };\r\n\r\n return {\r\n ...defaultBsPopperConfig,\r\n ...(typeof this._config.popperConfig === 'function'\r\n ? this._config.popperConfig(defaultBsPopperConfig)\r\n : this._config.popperConfig),\r\n };\r\n }\r\n\r\n _addAttachmentClass(attachment) {\r\n this.getTipElement().classList.add(\r\n `${this._getBasicClassPrefix()}-${this.updateAttachment(attachment)}`\r\n );\r\n }\r\n\r\n _getAttachment(placement) {\r\n return AttachmentMap[placement.toUpperCase()];\r\n }\r\n\r\n _setListeners() {\r\n const triggers = this._config.trigger.split(' ');\r\n\r\n triggers.forEach((trigger) => {\r\n if (trigger === 'click') {\r\n EventHandler.on(\r\n this._element,\r\n this.constructor.Event.CLICK,\r\n this._config.selector,\r\n (event) => this.toggle(event)\r\n );\r\n } else if (trigger !== TRIGGER_MANUAL) {\r\n const eventIn =\r\n trigger === TRIGGER_HOVER\r\n ? this.constructor.Event.MOUSEENTER\r\n : this.constructor.Event.FOCUSIN;\r\n const eventOut =\r\n trigger === TRIGGER_HOVER\r\n ? this.constructor.Event.MOUSELEAVE\r\n : this.constructor.Event.FOCUSOUT;\r\n\r\n EventHandler.on(this._element, eventIn, this._config.selector, (event) =>\r\n this._enter(event)\r\n );\r\n EventHandler.on(this._element, eventOut, this._config.selector, (event) =>\r\n this._leave(event)\r\n );\r\n }\r\n });\r\n\r\n this._hideModalHandler = () => {\r\n if (this._element) {\r\n this.hide();\r\n }\r\n };\r\n\r\n EventHandler.on(\r\n this._element.closest(SELECTOR_MODAL),\r\n EVENT_MODAL_HIDE,\r\n this._hideModalHandler\r\n );\r\n\r\n if (this._config.selector) {\r\n this._config = {\r\n ...this._config,\r\n trigger: 'manual',\r\n selector: '',\r\n };\r\n } else {\r\n this._fixTitle();\r\n }\r\n }\r\n\r\n _fixTitle() {\r\n const title = this._element.getAttribute('title');\r\n const originalTitleType = typeof this._element.getAttribute('data-bs-original-title');\r\n\r\n if (title || originalTitleType !== 'string') {\r\n this._element.setAttribute('data-bs-original-title', title || '');\r\n if (title && !this._element.getAttribute('aria-label') && !this._element.textContent) {\r\n this._element.setAttribute('aria-label', title);\r\n }\r\n\r\n this._element.setAttribute('title', '');\r\n }\r\n }\r\n\r\n _enter(event, context) {\r\n context = this._initializeOnDelegatedTarget(event, context);\r\n\r\n if (event) {\r\n context._activeTrigger[event.type === 'focusin' ? TRIGGER_FOCUS : TRIGGER_HOVER] = true;\r\n }\r\n\r\n if (\r\n context.getTipElement().classList.contains(CLASS_NAME_SHOW) ||\r\n context._hoverState === HOVER_STATE_SHOW\r\n ) {\r\n context._hoverState = HOVER_STATE_SHOW;\r\n return;\r\n }\r\n\r\n clearTimeout(context._timeout);\r\n\r\n context._hoverState = HOVER_STATE_SHOW;\r\n\r\n if (!context._config.delay || !context._config.delay.show) {\r\n context.show();\r\n return;\r\n }\r\n\r\n context._timeout = setTimeout(() => {\r\n if (context._hoverState === HOVER_STATE_SHOW) {\r\n context.show();\r\n }\r\n }, context._config.delay.show);\r\n }\r\n\r\n _leave(event, context) {\r\n context = this._initializeOnDelegatedTarget(event, context);\r\n\r\n if (event) {\r\n context._activeTrigger[event.type === 'focusout' ? TRIGGER_FOCUS : TRIGGER_HOVER] =\r\n context._element.contains(event.relatedTarget);\r\n }\r\n\r\n if (context._isWithActiveTrigger()) {\r\n return;\r\n }\r\n\r\n clearTimeout(context._timeout);\r\n\r\n context._hoverState = HOVER_STATE_OUT;\r\n\r\n if (!context._config.delay || !context._config.delay.hide) {\r\n context.hide();\r\n return;\r\n }\r\n\r\n context._timeout = setTimeout(() => {\r\n if (context._hoverState === HOVER_STATE_OUT) {\r\n context.hide();\r\n }\r\n }, context._config.delay.hide);\r\n }\r\n\r\n _isWithActiveTrigger() {\r\n for (const trigger in this._activeTrigger) {\r\n if (this._activeTrigger[trigger]) {\r\n return true;\r\n }\r\n }\r\n\r\n return false;\r\n }\r\n\r\n _getConfig(config) {\r\n const dataAttributes = Manipulator.getDataAttributes(this._element);\r\n\r\n Object.keys(dataAttributes).forEach((dataAttr) => {\r\n if (DISALLOWED_ATTRIBUTES.has(dataAttr)) {\r\n delete dataAttributes[dataAttr];\r\n }\r\n });\r\n\r\n config = {\r\n ...this.constructor.Default,\r\n ...dataAttributes,\r\n ...(typeof config === 'object' && config ? config : {}),\r\n };\r\n\r\n config.container = config.container === false ? document.body : getElement(config.container);\r\n\r\n if (typeof config.delay === 'number') {\r\n config.delay = {\r\n show: config.delay,\r\n hide: config.delay,\r\n };\r\n }\r\n\r\n if (typeof config.title === 'number') {\r\n config.title = config.title.toString();\r\n }\r\n\r\n if (typeof config.content === 'number') {\r\n config.content = config.content.toString();\r\n }\r\n\r\n typeCheckConfig(NAME, config, this.constructor.DefaultType);\r\n\r\n if (config.sanitize) {\r\n config.template = sanitizeHtml(config.template, config.allowList, config.sanitizeFn);\r\n }\r\n\r\n return config;\r\n }\r\n\r\n _getDelegateConfig() {\r\n const config = {};\r\n\r\n for (const key in this._config) {\r\n if (this.constructor.Default[key] !== this._config[key]) {\r\n config[key] = this._config[key];\r\n }\r\n }\r\n\r\n // In the future can be replaced with:\r\n // const keysWithDifferentValues = Object.entries(this._config).filter(entry => this.constructor.Default[entry[0]] !== this._config[entry[0]])\r\n // `Object.fromEntries(keysWithDifferentValues)`\r\n return config;\r\n }\r\n\r\n _cleanTipClass() {\r\n const tip = this.getTipElement();\r\n const basicClassPrefixRegex = new RegExp(`(^|\\\\s)${this._getBasicClassPrefix()}\\\\S+`, 'g');\r\n const tabClass = tip.getAttribute('class').match(basicClassPrefixRegex);\r\n if (tabClass !== null && tabClass.length > 0) {\r\n tabClass.map((token) => token.trim()).forEach((tClass) => tip.classList.remove(tClass));\r\n }\r\n }\r\n\r\n _getBasicClassPrefix() {\r\n return CLASS_PREFIX;\r\n }\r\n\r\n _handlePopperPlacementChange(popperData) {\r\n const { state } = popperData;\r\n\r\n if (!state) {\r\n return;\r\n }\r\n\r\n this.tip = state.elements.popper;\r\n this._cleanTipClass();\r\n this._addAttachmentClass(this._getAttachment(state.placement));\r\n }\r\n\r\n _disposePopper() {\r\n if (this._popper) {\r\n this._popper.destroy();\r\n this._popper = null;\r\n }\r\n }\r\n\r\n // Static\r\n\r\n static jQueryInterface(config) {\r\n return this.each(function () {\r\n const data = Tooltip.getOrCreateInstance(this, config);\r\n\r\n if (typeof config === 'string') {\r\n if (typeof data[config] === 'undefined') {\r\n throw new TypeError(`No method named \"${config}\"`);\r\n }\r\n\r\n data[config]();\r\n }\r\n });\r\n }\r\n}\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * jQuery\r\n * ------------------------------------------------------------------------\r\n * add .Tooltip to jQuery only if jQuery is present\r\n */\r\n\r\ndefineJQueryPlugin(Tooltip);\r\n\r\nexport default Tooltip;\r\n","/**\r\n * --------------------------------------------------------------------------\r\n * Bootstrap (v5.1.3): popover.js\r\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\r\n * --------------------------------------------------------------------------\r\n */\r\n\r\nimport { defineJQueryPlugin } from './util/index';\r\nimport Tooltip from './tooltip';\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * Constants\r\n * ------------------------------------------------------------------------\r\n */\r\n\r\nconst NAME = 'popover';\r\nconst DATA_KEY = 'bs.popover';\r\nconst EVENT_KEY = `.${DATA_KEY}`;\r\nconst CLASS_PREFIX = 'bs-popover';\r\n\r\nconst Default = {\r\n ...Tooltip.Default,\r\n placement: 'right',\r\n offset: [0, 8],\r\n trigger: 'click',\r\n content: '',\r\n template:\r\n '
    ' +\r\n '
    ' +\r\n '

    ' +\r\n '
    ' +\r\n '
    ',\r\n};\r\n\r\nconst DefaultType = {\r\n ...Tooltip.DefaultType,\r\n content: '(string|element|function)',\r\n};\r\n\r\nconst Event = {\r\n HIDE: `hide${EVENT_KEY}`,\r\n HIDDEN: `hidden${EVENT_KEY}`,\r\n SHOW: `show${EVENT_KEY}`,\r\n SHOWN: `shown${EVENT_KEY}`,\r\n INSERTED: `inserted${EVENT_KEY}`,\r\n CLICK: `click${EVENT_KEY}`,\r\n FOCUSIN: `focusin${EVENT_KEY}`,\r\n FOCUSOUT: `focusout${EVENT_KEY}`,\r\n MOUSEENTER: `mouseenter${EVENT_KEY}`,\r\n MOUSELEAVE: `mouseleave${EVENT_KEY}`,\r\n};\r\n\r\nconst SELECTOR_TITLE = '.popover-header';\r\nconst SELECTOR_CONTENT = '.popover-body';\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * Class Definition\r\n * ------------------------------------------------------------------------\r\n */\r\n\r\nclass Popover extends Tooltip {\r\n // Getters\r\n\r\n static get Default() {\r\n return Default;\r\n }\r\n\r\n static get NAME() {\r\n return NAME;\r\n }\r\n\r\n static get Event() {\r\n return Event;\r\n }\r\n\r\n static get DefaultType() {\r\n return DefaultType;\r\n }\r\n\r\n // Overrides\r\n\r\n isWithContent() {\r\n return this.getTitle() || this._getContent();\r\n }\r\n\r\n setContent(tip) {\r\n this._sanitizeAndSetContent(tip, this.getTitle(), SELECTOR_TITLE);\r\n this._sanitizeAndSetContent(tip, this._getContent(), SELECTOR_CONTENT);\r\n }\r\n\r\n // Private\r\n\r\n _getContent() {\r\n return this._resolvePossibleFunction(this._config.content);\r\n }\r\n\r\n _getBasicClassPrefix() {\r\n return CLASS_PREFIX;\r\n }\r\n\r\n // Static\r\n\r\n static jQueryInterface(config) {\r\n return this.each(function () {\r\n const data = Popover.getOrCreateInstance(this, config);\r\n\r\n if (typeof config === 'string') {\r\n if (typeof data[config] === 'undefined') {\r\n throw new TypeError(`No method named \"${config}\"`);\r\n }\r\n\r\n data[config]();\r\n }\r\n });\r\n }\r\n}\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * jQuery\r\n * ------------------------------------------------------------------------\r\n * add .Popover to jQuery only if jQuery is present\r\n */\r\n\r\ndefineJQueryPlugin(Popover);\r\n\r\nexport default Popover;\r\n","/**\r\n * --------------------------------------------------------------------------\r\n * Bootstrap (v5.1.3): scrollspy.js\r\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\r\n * --------------------------------------------------------------------------\r\n */\r\n\r\nimport {\r\n defineJQueryPlugin,\r\n getElement,\r\n getSelectorFromElement,\r\n typeCheckConfig,\r\n} from './util/index';\r\nimport EventHandler from './dom/event-handler';\r\nimport Manipulator from './dom/manipulator';\r\nimport SelectorEngine from './dom/selector-engine';\r\nimport BaseComponent from './base-component';\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * Constants\r\n * ------------------------------------------------------------------------\r\n */\r\n\r\nconst NAME = 'scrollspy';\r\nconst DATA_KEY = 'bs.scrollspy';\r\nconst EVENT_KEY = `.${DATA_KEY}`;\r\nconst DATA_API_KEY = '.data-api';\r\n\r\nconst Default = {\r\n offset: 10,\r\n method: 'auto',\r\n target: '',\r\n};\r\n\r\nconst DefaultType = {\r\n offset: 'number',\r\n method: 'string',\r\n target: '(string|element)',\r\n};\r\n\r\nconst EVENT_ACTIVATE = `activate${EVENT_KEY}`;\r\nconst EVENT_SCROLL = `scroll${EVENT_KEY}`;\r\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`;\r\n\r\nconst CLASS_NAME_DROPDOWN_ITEM = 'dropdown-item';\r\nconst CLASS_NAME_ACTIVE = 'active';\r\n\r\nconst SELECTOR_DATA_SPY = '[data-bs-spy=\"scroll\"]';\r\nconst SELECTOR_NAV_LIST_GROUP = '.nav, .list-group';\r\nconst SELECTOR_NAV_LINKS = '.nav-link';\r\nconst SELECTOR_NAV_ITEMS = '.nav-item';\r\nconst SELECTOR_LIST_ITEMS = '.list-group-item';\r\nconst SELECTOR_LINK_ITEMS = `${SELECTOR_NAV_LINKS}, ${SELECTOR_LIST_ITEMS}, .${CLASS_NAME_DROPDOWN_ITEM}`;\r\nconst SELECTOR_DROPDOWN = '.dropdown';\r\nconst SELECTOR_DROPDOWN_TOGGLE = '.dropdown-toggle';\r\n\r\nconst METHOD_OFFSET = 'offset';\r\nconst METHOD_POSITION = 'position';\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * Class Definition\r\n * ------------------------------------------------------------------------\r\n */\r\n\r\nclass ScrollSpy extends BaseComponent {\r\n constructor(element, config) {\r\n super(element);\r\n this._scrollElement = this._element.tagName === 'BODY' ? window : this._element;\r\n this._config = this._getConfig(config);\r\n this._offsets = [];\r\n this._targets = [];\r\n this._activeTarget = null;\r\n this._scrollHeight = 0;\r\n\r\n EventHandler.on(this._scrollElement, EVENT_SCROLL, () => this._process());\r\n\r\n this.refresh();\r\n this._process();\r\n }\r\n\r\n // Getters\r\n\r\n static get Default() {\r\n return Default;\r\n }\r\n\r\n static get NAME() {\r\n return NAME;\r\n }\r\n\r\n // Public\r\n\r\n refresh() {\r\n const autoMethod =\r\n this._scrollElement === this._scrollElement.window ? METHOD_OFFSET : METHOD_POSITION;\r\n\r\n const offsetMethod = this._config.method === 'auto' ? autoMethod : this._config.method;\r\n\r\n const offsetBase = offsetMethod === METHOD_POSITION ? this._getScrollTop() : 0;\r\n\r\n this._offsets = [];\r\n this._targets = [];\r\n this._scrollHeight = this._getScrollHeight();\r\n\r\n const targets = SelectorEngine.find(SELECTOR_LINK_ITEMS, this._config.target);\r\n\r\n targets\r\n .map((element) => {\r\n const targetSelector = getSelectorFromElement(element);\r\n const target = targetSelector ? SelectorEngine.findOne(targetSelector) : null;\r\n\r\n if (target) {\r\n const targetBCR = target.getBoundingClientRect();\r\n if (targetBCR.width || targetBCR.height) {\r\n return [Manipulator[offsetMethod](target).top + offsetBase, targetSelector];\r\n }\r\n }\r\n\r\n return null;\r\n })\r\n .filter((item) => item)\r\n .sort((a, b) => a[0] - b[0])\r\n .forEach((item) => {\r\n this._offsets.push(item[0]);\r\n this._targets.push(item[1]);\r\n });\r\n }\r\n\r\n dispose() {\r\n EventHandler.off(this._scrollElement, EVENT_KEY);\r\n super.dispose();\r\n }\r\n\r\n // Private\r\n\r\n _getConfig(config) {\r\n config = {\r\n ...Default,\r\n ...Manipulator.getDataAttributes(this._element),\r\n ...(typeof config === 'object' && config ? config : {}),\r\n };\r\n\r\n config.target = getElement(config.target) || document.documentElement;\r\n\r\n typeCheckConfig(NAME, config, DefaultType);\r\n\r\n return config;\r\n }\r\n\r\n _getScrollTop() {\r\n return this._scrollElement === window\r\n ? this._scrollElement.pageYOffset\r\n : this._scrollElement.scrollTop;\r\n }\r\n\r\n _getScrollHeight() {\r\n return (\r\n this._scrollElement.scrollHeight ||\r\n Math.max(document.body.scrollHeight, document.documentElement.scrollHeight)\r\n );\r\n }\r\n\r\n _getOffsetHeight() {\r\n return this._scrollElement === window\r\n ? window.innerHeight\r\n : this._scrollElement.getBoundingClientRect().height;\r\n }\r\n\r\n _process() {\r\n const scrollTop = this._getScrollTop() + this._config.offset;\r\n const scrollHeight = this._getScrollHeight();\r\n const maxScroll = this._config.offset + scrollHeight - this._getOffsetHeight();\r\n\r\n if (this._scrollHeight !== scrollHeight) {\r\n this.refresh();\r\n }\r\n\r\n if (scrollTop >= maxScroll) {\r\n const target = this._targets[this._targets.length - 1];\r\n\r\n if (this._activeTarget !== target) {\r\n this._activate(target);\r\n }\r\n\r\n return;\r\n }\r\n\r\n if (this._activeTarget && scrollTop < this._offsets[0] && this._offsets[0] > 0) {\r\n this._activeTarget = null;\r\n this._clear();\r\n return;\r\n }\r\n\r\n for (let i = this._offsets.length; i--; ) {\r\n const isActiveTarget =\r\n this._activeTarget !== this._targets[i] &&\r\n scrollTop >= this._offsets[i] &&\r\n (typeof this._offsets[i + 1] === 'undefined' || scrollTop < this._offsets[i + 1]);\r\n\r\n if (isActiveTarget) {\r\n this._activate(this._targets[i]);\r\n }\r\n }\r\n }\r\n\r\n _activate(target) {\r\n this._activeTarget = target;\r\n\r\n this._clear();\r\n\r\n const queries = SELECTOR_LINK_ITEMS.split(',').map(\r\n (selector) => `${selector}[data-bs-target=\"${target}\"],${selector}[href=\"${target}\"]`\r\n );\r\n\r\n const link = SelectorEngine.findOne(queries.join(','), this._config.target);\r\n\r\n link.classList.add(CLASS_NAME_ACTIVE);\r\n if (link.classList.contains(CLASS_NAME_DROPDOWN_ITEM)) {\r\n SelectorEngine.findOne(\r\n SELECTOR_DROPDOWN_TOGGLE,\r\n link.closest(SELECTOR_DROPDOWN)\r\n ).classList.add(CLASS_NAME_ACTIVE);\r\n } else {\r\n SelectorEngine.parents(link, SELECTOR_NAV_LIST_GROUP).forEach((listGroup) => {\r\n // Set triggered links parents as active\r\n // With both
      and
    \r\n \r\n `;\r\n })\r\n .join('')}\r\n \r\n `;\r\n })\r\n .join('');\r\n\r\n return `\r\n \r\n \r\n ${tableHeadContent}\r\n \r\n \r\n ${tableBodyContent}\r\n \r\n
    \r\n `;\r\n}\r\n\r\nfunction getDatesArray(activeDate, selectedDate, options) {\r\n const dates = [];\r\n\r\n const month = getMonth(activeDate);\r\n const previousMonth = getMonth(addMonths(activeDate, -1));\r\n const nextMonth = getMonth(addMonths(activeDate, 1));\r\n const year = getYear(activeDate);\r\n\r\n const firstDay = getFirstDayOfWeek(year, month, options);\r\n const daysInMonth = getDaysInMonth(activeDate);\r\n const daysInPreviousMonth = getDaysInMonth(addMonths(activeDate, -1));\r\n const daysInWeek = 7;\r\n\r\n let dayNumber = 1;\r\n let isCurrentMonth = false;\r\n for (let i = 1; i < daysInWeek; i++) {\r\n const week = [];\r\n if (i === 1) {\r\n // First week\r\n const previousMonthDay = daysInPreviousMonth - firstDay + 1;\r\n // Previous month\r\n for (let j = previousMonthDay; j <= daysInPreviousMonth; j++) {\r\n const date = createDate(year, previousMonth, j);\r\n\r\n week.push({\r\n date,\r\n currentMonth: isCurrentMonth,\r\n isSelected: selectedDate && isSameDate(date, selectedDate),\r\n isToday: isSameDate(date, getToday()),\r\n dayNumber: getDate(date),\r\n });\r\n }\r\n\r\n isCurrentMonth = true;\r\n // Current month\r\n const daysLeft = daysInWeek - week.length;\r\n for (let j = 0; j < daysLeft; j++) {\r\n const date = createDate(year, month, dayNumber);\r\n\r\n week.push({\r\n date,\r\n currentMonth: isCurrentMonth,\r\n isSelected: selectedDate && isSameDate(date, selectedDate),\r\n isToday: isSameDate(date, getToday()),\r\n dayNumber: getDate(date),\r\n });\r\n dayNumber++;\r\n }\r\n } else {\r\n // Rest of the weeks\r\n for (let j = 1; j < 8; j++) {\r\n if (dayNumber > daysInMonth) {\r\n // Next month\r\n dayNumber = 1;\r\n isCurrentMonth = false;\r\n }\r\n const date = createDate(year, isCurrentMonth ? month : nextMonth, dayNumber);\r\n\r\n week.push({\r\n date,\r\n currentMonth: isCurrentMonth,\r\n isSelected: selectedDate && isSameDate(date, selectedDate),\r\n isToday: isSameDate(date, getToday()),\r\n dayNumber: getDate(date),\r\n });\r\n dayNumber++;\r\n }\r\n }\r\n dates.push(week);\r\n }\r\n\r\n return dates;\r\n}\r\n\r\nexport function createMonthViewTemplate(year, selectedYear, selectedMonth, options, monthsInRow) {\r\n const months = getMonthsArray(options, monthsInRow);\r\n const currentMonth = getMonth(getToday());\r\n\r\n const tableBodyContent = `\r\n ${months\r\n .map((row) => {\r\n return `\r\n \r\n ${row\r\n .map((month) => {\r\n const monthIndex = options.monthsShort.indexOf(month);\r\n return `\r\n \r\n
    ${month}
    \r\n \r\n `;\r\n })\r\n .join('')}\r\n \r\n `;\r\n })\r\n .join('')}\r\n `;\r\n\r\n return `\r\n \r\n \r\n ${tableBodyContent}\r\n \r\n
    \r\n `;\r\n}\r\n\r\nfunction getMonthsArray(options, monthsInRow) {\r\n const months = [];\r\n\r\n let row = [];\r\n\r\n for (let i = 0; i < options.monthsShort.length; i++) {\r\n row.push(options.monthsShort[i]);\r\n\r\n if (row.length === monthsInRow) {\r\n const monthsRow = row;\r\n months.push(monthsRow);\r\n row = [];\r\n }\r\n }\r\n\r\n return months;\r\n}\r\n\r\nexport function createYearViewTemplate(date, selectedYear, options, yearsInView, yearsInRow) {\r\n const years = getYearsArray(date, yearsInView, yearsInRow);\r\n const currentYear = getYear(getToday());\r\n\r\n const tableBodyContent = `\r\n ${years\r\n .map((row) => {\r\n return `\r\n \r\n ${row\r\n .map((year) => {\r\n return `\r\n \r\n
    ${year}
    \r\n \r\n `;\r\n })\r\n .join('')}\r\n \r\n `;\r\n })\r\n .join('')}\r\n `;\r\n\r\n return `\r\n \r\n \r\n ${tableBodyContent}\r\n \r\n
    \r\n `;\r\n}\r\n\r\nfunction getYearsArray(date, yearsInView, yearsInRow) {\r\n const years = [];\r\n const activeYear = getYear(date);\r\n const yearsOffset = getYearsOffset(date, yearsInView);\r\n\r\n const firstYearInView = activeYear - yearsOffset;\r\n\r\n let row = [];\r\n\r\n for (let i = 0; i < yearsInView; i++) {\r\n row.push(firstYearInView + i);\r\n\r\n if (row.length === yearsInRow) {\r\n const yearsRow = row;\r\n years.push(yearsRow);\r\n row = [];\r\n }\r\n }\r\n\r\n return years;\r\n}\r\n\r\nexport function getToggleButtonTemplate(id) {\r\n return `\r\n \r\n `;\r\n}\r\n","import { createPopper } from '@popperjs/core';\r\nimport Data from '../dom/data';\r\nimport EventHandler from '../dom/event-handler';\r\nimport Manipulator from '../dom/manipulator';\r\nimport SelectorEngine from '../dom/selector-engine';\r\nimport { typeCheckConfig, getUID } from '../util/index';\r\nimport FocusTrap from '../util/focusTrap';\r\nimport {\r\n getDate,\r\n getDayNumber,\r\n getMonth,\r\n getYear,\r\n getDaysInMonth,\r\n addYears,\r\n addMonths,\r\n addDays,\r\n createDate,\r\n convertStringToDate,\r\n isSameDate,\r\n areDatesInSameView,\r\n getYearsOffset,\r\n isValidDate,\r\n} from './date-utils';\r\nimport {\r\n getBackdropTemplate,\r\n getDatepickerTemplate,\r\n createDayViewTemplate,\r\n createMonthViewTemplate,\r\n createYearViewTemplate,\r\n getToggleButtonTemplate,\r\n} from './templates';\r\nimport {\r\n ENTER,\r\n SPACE,\r\n ESCAPE,\r\n LEFT_ARROW,\r\n RIGHT_ARROW,\r\n DOWN_ARROW,\r\n UP_ARROW,\r\n HOME,\r\n END,\r\n PAGE_UP,\r\n PAGE_DOWN,\r\n} from '../util/keycodes';\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * Constants\r\n * ------------------------------------------------------------------------\r\n */\r\n\r\nconst NAME = 'datepicker';\r\nconst DATA_KEY = 'mdb.datepicker';\r\nconst EVENT_KEY = `.${DATA_KEY}`;\r\nconst DATA_API_KEY = '.data-api';\r\n\r\nconst EVENT_CLOSE = `close${EVENT_KEY}`;\r\nconst EVENT_OPEN = `open${EVENT_KEY}`;\r\nconst EVENT_DATE_CHANGE = `dateChange${EVENT_KEY}`;\r\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`;\r\n\r\nconst Default = {\r\n title: 'Select date',\r\n monthsFull: [\r\n 'January',\r\n 'February',\r\n 'March',\r\n 'April',\r\n 'May',\r\n 'June',\r\n 'July',\r\n 'August',\r\n 'September',\r\n 'October',\r\n 'November',\r\n 'December',\r\n ],\r\n monthsShort: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],\r\n weekdaysFull: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'],\r\n weekdaysShort: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],\r\n weekdaysNarrow: ['S', 'M', 'T', 'W', 'T', 'F', 'S'],\r\n okBtnText: 'Ok',\r\n clearBtnText: 'Clear',\r\n cancelBtnText: 'Cancel',\r\n\r\n okBtnLabel: 'Confirm selection',\r\n clearBtnLabel: 'Clear selection',\r\n cancelBtnLabel: 'Cancel selection',\r\n nextMonthLabel: 'Next month',\r\n prevMonthLabel: 'Previous month',\r\n nextYearLabel: 'Next year',\r\n prevYearLabel: 'Previous year',\r\n nextMultiYearLabel: 'Next 24 years',\r\n prevMultiYearLabel: 'Previous 24 years',\r\n switchToMultiYearViewLabel: 'Choose year and month',\r\n switchToMonthViewLabel: 'Choose date',\r\n switchToDayViewLabel: 'Choose date',\r\n\r\n startDate: null,\r\n startDay: 0,\r\n format: 'dd/mm/yyyy',\r\n view: 'days',\r\n\r\n toggleButton: true,\r\n disableToggleButton: false,\r\n disableInput: false,\r\n};\r\n\r\nconst DefaultType = {\r\n title: 'string',\r\n monthsFull: 'array',\r\n monthsShort: 'array',\r\n weekdaysFull: 'array',\r\n weekdaysShort: 'array',\r\n weekdaysNarrow: 'array',\r\n\r\n okBtnText: 'string',\r\n clearBtnText: 'string',\r\n cancelBtnText: 'string',\r\n okBtnLabel: 'string',\r\n clearBtnLabel: 'string',\r\n cancelBtnLabel: 'string',\r\n nextMonthLabel: 'string',\r\n prevMonthLabel: 'string',\r\n nextYearLabel: 'string',\r\n prevYearLabel: 'string',\r\n nextMultiYearLabel: 'string',\r\n prevMultiYearLabel: 'string',\r\n switchToMultiYearViewLabel: 'string',\r\n switchToMonthViewLabel: 'string',\r\n switchToDayViewLabel: 'string',\r\n\r\n startDate: '(null|string|date)',\r\n startDay: 'number',\r\n format: 'string',\r\n view: 'string',\r\n\r\n toggleButton: 'boolean',\r\n disableToggleButton: 'boolean',\r\n disableInput: 'boolean',\r\n};\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * Class Definition\r\n * ------------------------------------------------------------------------\r\n */\r\n\r\nclass Datepicker {\r\n constructor(element, options) {\r\n this._element = element;\r\n this._input = SelectorEngine.findOne('input', this._element);\r\n this._options = this._getConfig(options);\r\n this._activeDate = new Date();\r\n this._selectedDate = null;\r\n this._selectedYear = null;\r\n this._selectedMonth = null;\r\n this._view = this._options.view;\r\n this._popper = null;\r\n this._focusTrap = null;\r\n this._isOpen = false;\r\n this._toggleButtonId = getUID('datepicker-toggle-');\r\n\r\n if (this._element) {\r\n Data.setData(element, DATA_KEY, this);\r\n }\r\n\r\n this._init();\r\n\r\n if (this.toggleButton && this._options.disableToggle) {\r\n this.toggleButton.disabled = 'true';\r\n }\r\n\r\n if (this._options.disableInput) {\r\n this._input.disabled = 'true';\r\n }\r\n }\r\n\r\n // Getters\r\n\r\n static get NAME() {\r\n return NAME;\r\n }\r\n\r\n get container() {\r\n return (\r\n SelectorEngine.findOne(`${'.datepicker-modal-container'}-${this._toggleButtonId}`) ||\r\n SelectorEngine.findOne(`${'.datepicker-dropdown-container'}-${this._toggleButtonId}`)\r\n );\r\n }\r\n\r\n get options() {\r\n return this._options;\r\n }\r\n\r\n get activeCell() {\r\n let activeCell;\r\n\r\n if (this._view === 'days') {\r\n activeCell = this._getActiveDayCell();\r\n }\r\n\r\n if (this._view === 'months') {\r\n activeCell = this._getActiveMonthCell();\r\n }\r\n\r\n if (this._view === 'years') {\r\n activeCell = this._getActiveYearCell();\r\n }\r\n\r\n return activeCell;\r\n }\r\n\r\n get activeDay() {\r\n return getDate(this._activeDate);\r\n }\r\n\r\n get activeMonth() {\r\n return getMonth(this._activeDate);\r\n }\r\n\r\n get activeYear() {\r\n return getYear(this._activeDate);\r\n }\r\n\r\n get firstYearInView() {\r\n return this.activeYear - getYearsOffset(this._activeDate, 24);\r\n }\r\n\r\n get lastYearInView() {\r\n return this.firstYearInView + 24 - 1;\r\n }\r\n\r\n get viewChangeButton() {\r\n return SelectorEngine.findOne('.datepicker-view-change-button', this.container);\r\n }\r\n\r\n get previousButton() {\r\n return SelectorEngine.findOne('.datepicker-previous-button', this.container);\r\n }\r\n\r\n get nextButton() {\r\n return SelectorEngine.findOne('.datepicker-next-button', this.container);\r\n }\r\n\r\n get okButton() {\r\n return SelectorEngine.findOne('.datepicker-ok-btn', this.container);\r\n }\r\n\r\n get cancelButton() {\r\n return SelectorEngine.findOne('.datepicker-cancel-btn', this.container);\r\n }\r\n\r\n get clearButton() {\r\n return SelectorEngine.findOne('.datepicker-clear-btn', this.container);\r\n }\r\n\r\n get datesContainer() {\r\n return SelectorEngine.findOne('.datepicker-view', this.container);\r\n }\r\n\r\n get toggleButton() {\r\n return SelectorEngine.findOne('.datepicker-toggle-button', this._element);\r\n }\r\n\r\n _getConfig(config) {\r\n const dataAttributes = Manipulator.getDataAttributes(this._element);\r\n\r\n config = {\r\n ...Default,\r\n ...dataAttributes,\r\n ...config,\r\n };\r\n\r\n typeCheckConfig(NAME, config, DefaultType);\r\n\r\n if (config.startDay && config.startDay !== 0) {\r\n const sortedWeekdaysNarrow = this._getNewDaysOrderArray(config);\r\n config.weekdaysNarrow = sortedWeekdaysNarrow;\r\n }\r\n\r\n return config;\r\n }\r\n\r\n _getNewDaysOrderArray(config) {\r\n const index = config.startDay;\r\n\r\n const weekdaysNarrow = config.weekdaysNarrow;\r\n const sortedWeekdays = weekdaysNarrow.slice(index).concat(weekdaysNarrow.slice(0, index));\r\n\r\n return sortedWeekdays;\r\n }\r\n\r\n _init() {\r\n if (!this.toggleButton && this._options.toggleButton) {\r\n this._appendToggleButton();\r\n if (this._input.readOnly || this._input.disabled) {\r\n this.toggleButton.style.pointerEvents = 'none';\r\n }\r\n }\r\n\r\n this._listenToUserInput();\r\n this._listenToToggleClick();\r\n this._listenToToggleKeydown();\r\n }\r\n\r\n _appendToggleButton() {\r\n const toggleButton = getToggleButtonTemplate(this._toggleButtonId);\r\n this._element.insertAdjacentHTML('beforeend', toggleButton);\r\n Manipulator.addClass(this._input, 'form-icon-trailing');\r\n }\r\n\r\n open() {\r\n if (this._input.readOnly || this._input.disabled) {\r\n return;\r\n }\r\n const openEvent = EventHandler.trigger(this._element, EVENT_OPEN);\r\n\r\n if (this._isOpen || openEvent.defaultPrevented) {\r\n return;\r\n }\r\n\r\n this._setInitialDate();\r\n\r\n const backdrop = getBackdropTemplate();\r\n const template = getDatepickerTemplate(\r\n this._activeDate,\r\n this._selectedDate,\r\n this._selectedYear,\r\n this._selectedMonth,\r\n this._options,\r\n 4,\r\n 24,\r\n 24,\r\n this._toggleButtonId\r\n );\r\n\r\n this._openModal(backdrop, template);\r\n\r\n Manipulator.addClass(this.container, 'animation');\r\n Manipulator.addClass(this.container, 'fade-in');\r\n this.container.style.animationDuration = '300ms';\r\n\r\n Manipulator.addClass(backdrop, 'animation');\r\n Manipulator.addClass(backdrop, 'fade-in');\r\n backdrop.style.animationDuration = '150ms';\r\n\r\n this._setFocusTrap(this.container);\r\n\r\n this._listenToDateSelection();\r\n this._addControlsListeners();\r\n this._listenToEscapeClick();\r\n this._listenToKeyboardNavigation();\r\n this._listenToDatesContainerFocus();\r\n this._listenToDatesContainerBlur();\r\n\r\n // We need to wait for popper initialization to avoid bug with\r\n // focusing dates container, otherwise dates container will be\r\n // focused before popper position update which can change the\r\n // scroll position on the page\r\n this._asyncFocusDatesContainer();\r\n this._updateViewControlsAndAttributes(this._view);\r\n this._isOpen = true;\r\n\r\n // Wait for the component to open to prevent immediate calling of the\r\n // close method upon detecting a click on toggle element (input/button)\r\n setTimeout(() => {\r\n this._listenToOutsideClick();\r\n }, 0);\r\n }\r\n\r\n _openDropdown(template) {\r\n this._popper = createPopper(this._input, template, {\r\n placement: 'bottom-start',\r\n });\r\n document.body.appendChild(template);\r\n }\r\n\r\n _openModal(backdrop, template) {\r\n document.body.appendChild(backdrop);\r\n document.body.appendChild(template);\r\n const hasVerticalScroll = window.innerWidth > document.documentElement.clientWidth;\r\n const scrollHeight = '15px';\r\n\r\n if (hasVerticalScroll) {\r\n document.body.style.overflow = 'hidden';\r\n document.body.style.paddingRight = scrollHeight;\r\n }\r\n }\r\n\r\n _setFocusTrap(element) {\r\n this._focusTrap = new FocusTrap(element, {\r\n event: 'keydown',\r\n condition: (event) => event.key === 'Tab',\r\n });\r\n this._focusTrap.trap();\r\n }\r\n\r\n _listenToUserInput() {\r\n EventHandler.on(this._input, 'input', (event) => {\r\n this._handleUserInput(event.target.value);\r\n });\r\n }\r\n\r\n _listenToToggleClick() {\r\n EventHandler.on(\r\n this._element,\r\n EVENT_CLICK_DATA_API,\r\n '[data-mdb-toggle=\"datepicker\"]',\r\n (event) => {\r\n event.preventDefault();\r\n this.open();\r\n }\r\n );\r\n }\r\n\r\n _listenToToggleKeydown() {\r\n EventHandler.on(this._element, 'keydown', '[data-mdb-toggle=\"datepicker\"]', (event) => {\r\n if (event.keyCode === ENTER && !this._isOpen) {\r\n this.open();\r\n }\r\n });\r\n }\r\n\r\n _listenToDateSelection() {\r\n EventHandler.on(this.datesContainer, 'click', (e) => {\r\n const dataset = e.target.nodeName === 'DIV' ? e.target.parentNode.dataset : e.target.dataset;\r\n const cell = e.target.nodeName === 'DIV' ? e.target.parentNode : e.target;\r\n\r\n if (dataset.mdbDate) {\r\n this._pickDay(dataset.mdbDate, cell);\r\n }\r\n\r\n if (dataset.mdbMonth && dataset.mdbYear) {\r\n const month = parseInt(dataset.mdbMonth, 10);\r\n const year = parseInt(dataset.mdbYear, 10);\r\n this._pickMonth(month, year);\r\n }\r\n\r\n if (dataset.mdbYear && !dataset.mdbMonth) {\r\n const year = parseInt(dataset.mdbYear, 10);\r\n this._pickYear(year);\r\n }\r\n\r\n this._updateHeaderDate(\r\n this._activeDate,\r\n this._options.monthsShort,\r\n this._options.weekdaysShort\r\n );\r\n });\r\n }\r\n\r\n _updateHeaderDate(date, monthNames, dayNames) {\r\n const headerDateEl = SelectorEngine.findOne('.datepicker-date-text', this.container);\r\n const month = getMonth(date);\r\n const day = getDate(date);\r\n const dayNumber = getDayNumber(date);\r\n headerDateEl.innerHTML = `${dayNames[dayNumber]}, ${monthNames[month]} ${day}`;\r\n }\r\n\r\n _addControlsListeners() {\r\n EventHandler.on(this.nextButton, 'click', () => {\r\n if (this._view === 'days') {\r\n this.nextMonth();\r\n } else if (this._view === 'years') {\r\n this.nextYears();\r\n } else {\r\n this.nextYear();\r\n }\r\n });\r\n\r\n EventHandler.on(this.previousButton, 'click', () => {\r\n if (this._view === 'days') {\r\n this.previousMonth();\r\n } else if (this._view === 'years') {\r\n this.previousYears();\r\n } else {\r\n this.previousYear();\r\n }\r\n });\r\n\r\n EventHandler.on(this.viewChangeButton, 'click', () => {\r\n if (this._view === 'days') {\r\n this._changeView('years');\r\n } else if (this._view === 'years' || this._view === 'months') {\r\n this._changeView('days');\r\n }\r\n });\r\n\r\n this._listenToFooterButtonsClick();\r\n }\r\n\r\n _listenToFooterButtonsClick() {\r\n EventHandler.on(this.okButton, 'click', () => this.handleOk());\r\n EventHandler.on(this.cancelButton, 'click', () => this.handleCancel());\r\n EventHandler.on(this.clearButton, 'click', () => this.handleClear());\r\n }\r\n\r\n _listenToOutsideClick() {\r\n EventHandler.on(document, EVENT_CLICK_DATA_API, (e) => {\r\n const isContainer = e.target === this.container;\r\n const isContainerContent = this.container && this.container.contains(e.target);\r\n\r\n if (!isContainer && !isContainerContent) {\r\n this.close();\r\n }\r\n });\r\n }\r\n\r\n _listenToEscapeClick() {\r\n EventHandler.on(document, 'keydown', (event) => {\r\n if (event.keyCode === ESCAPE && this._isOpen) {\r\n this.close();\r\n }\r\n });\r\n }\r\n\r\n _listenToKeyboardNavigation() {\r\n EventHandler.on(this.datesContainer, 'keydown', (event) => {\r\n this._handleKeydown(event);\r\n });\r\n }\r\n\r\n _listenToDatesContainerFocus() {\r\n EventHandler.on(this.datesContainer, 'focus', () => {\r\n this._focusActiveCell(this.activeCell);\r\n });\r\n }\r\n\r\n _listenToDatesContainerBlur() {\r\n EventHandler.on(this.datesContainer, 'blur', () => {\r\n this._removeCurrentFocusStyles();\r\n });\r\n }\r\n\r\n _handleKeydown(event) {\r\n if (this._view === 'days') {\r\n this._handleDaysViewKeydown(event);\r\n }\r\n\r\n if (this._view === 'months') {\r\n this._handleMonthsViewKeydown(event);\r\n }\r\n\r\n if (this._view === 'years') {\r\n this._handleYearsViewKeydown(event);\r\n }\r\n }\r\n\r\n _handleDaysViewKeydown(event) {\r\n const oldActiveDate = this._activeDate;\r\n const previousActiveCell = this.activeCell;\r\n\r\n switch (event.keyCode) {\r\n case LEFT_ARROW:\r\n this._activeDate = addDays(this._activeDate, -1);\r\n break;\r\n case RIGHT_ARROW:\r\n this._activeDate = addDays(this._activeDate, 1);\r\n break;\r\n case UP_ARROW:\r\n this._activeDate = addDays(this._activeDate, -7);\r\n break;\r\n case DOWN_ARROW:\r\n this._activeDate = addDays(this._activeDate, 7);\r\n break;\r\n case HOME:\r\n this._activeDate = addDays(this._activeDate, 1 - getDate(this._activeDate));\r\n break;\r\n case END:\r\n this._activeDate = addDays(\r\n this._activeDate,\r\n getDaysInMonth(this._activeDate) - getDate(this._activeDate)\r\n );\r\n break;\r\n case PAGE_UP:\r\n this._activeDate = addMonths(this._activeDate, -1);\r\n break;\r\n case PAGE_DOWN:\r\n this._activeDate = addMonths(this._activeDate, 1);\r\n break;\r\n case ENTER:\r\n case SPACE:\r\n this._selectDate(this._activeDate);\r\n event.preventDefault();\r\n return;\r\n default:\r\n return;\r\n }\r\n\r\n if (!areDatesInSameView(oldActiveDate, this._activeDate, this._view, 24, 0)) {\r\n this._changeView('days');\r\n }\r\n\r\n this._removeHighlightFromCell(previousActiveCell);\r\n this._focusActiveCell(this.activeCell);\r\n event.preventDefault();\r\n }\r\n\r\n _asyncFocusDatesContainer() {\r\n setTimeout(() => {\r\n this.datesContainer.focus();\r\n }, 0);\r\n }\r\n\r\n _focusActiveCell(cell) {\r\n if (cell) {\r\n Manipulator.addClass(cell, 'focused');\r\n }\r\n }\r\n\r\n _removeHighlightFromCell(cell) {\r\n if (cell) {\r\n cell.classList.remove('focused');\r\n }\r\n }\r\n\r\n _getActiveDayCell() {\r\n const cells = SelectorEngine.find('td', this.datesContainer);\r\n\r\n const activeCell = Array.from(cells).find((cell) => {\r\n const cellDate = convertStringToDate(cell.dataset.mdbDate);\r\n return isSameDate(cellDate, this._activeDate);\r\n });\r\n\r\n return activeCell;\r\n }\r\n\r\n _handleMonthsViewKeydown(event) {\r\n const oldActiveDate = this._activeDate;\r\n const previousActiveCell = this.activeCell;\r\n\r\n switch (event.keyCode) {\r\n case LEFT_ARROW:\r\n this._activeDate = addMonths(this._activeDate, -1);\r\n break;\r\n case RIGHT_ARROW:\r\n this._activeDate = addMonths(this._activeDate, 1);\r\n break;\r\n case UP_ARROW:\r\n this._activeDate = addMonths(this._activeDate, -4);\r\n break;\r\n case DOWN_ARROW:\r\n this._activeDate = addMonths(this._activeDate, 4);\r\n break;\r\n case HOME:\r\n this._activeDate = addMonths(this._activeDate, -this.activeMonth);\r\n break;\r\n case END:\r\n this._activeDate = addMonths(this._activeDate, 11 - this.activeMonth);\r\n break;\r\n case PAGE_UP:\r\n this._activeDate = addYears(this._activeDate, -1);\r\n break;\r\n case PAGE_DOWN:\r\n this._activeDate = addYears(this._activeDate, 1);\r\n break;\r\n case ENTER:\r\n case SPACE:\r\n this._selectMonth(this.activeMonth);\r\n return;\r\n default:\r\n return;\r\n }\r\n\r\n if (!areDatesInSameView(oldActiveDate, this._activeDate, this._view, 24, 0)) {\r\n this._changeView('months');\r\n }\r\n\r\n this._removeHighlightFromCell(previousActiveCell);\r\n this._focusActiveCell(this.activeCell);\r\n event.preventDefault();\r\n }\r\n\r\n _getActiveMonthCell() {\r\n const cells = SelectorEngine.find('td', this.datesContainer);\r\n\r\n const activeCell = Array.from(cells).find((cell) => {\r\n const cellYear = parseInt(cell.dataset.mdbYear, 10);\r\n const cellMonth = parseInt(cell.dataset.mdbMonth, 10);\r\n return cellYear === this.activeYear && cellMonth === this.activeMonth;\r\n });\r\n\r\n return activeCell;\r\n }\r\n\r\n _handleYearsViewKeydown(event) {\r\n const oldActiveDate = this._activeDate;\r\n const previousActiveCell = this.activeCell;\r\n const yearsPerRow = 4;\r\n const yearsPerPage = 24;\r\n\r\n switch (event.keyCode) {\r\n case LEFT_ARROW:\r\n this._activeDate = addYears(this._activeDate, -1);\r\n break;\r\n case RIGHT_ARROW:\r\n this._activeDate = addYears(this._activeDate, 1);\r\n break;\r\n case UP_ARROW:\r\n this._activeDate = addYears(this._activeDate, -yearsPerRow);\r\n break;\r\n case DOWN_ARROW:\r\n this._activeDate = addYears(this._activeDate, yearsPerRow);\r\n break;\r\n case HOME:\r\n this._activeDate = addYears(\r\n this._activeDate,\r\n -getYearsOffset(this._activeDate, yearsPerPage)\r\n );\r\n break;\r\n case END:\r\n this._activeDate = addYears(\r\n this._activeDate,\r\n yearsPerPage - getYearsOffset(this._activeDate, yearsPerPage) - 1\r\n );\r\n break;\r\n case PAGE_UP:\r\n this._activeDate = addYears(this._activeDate, -yearsPerPage);\r\n break;\r\n case PAGE_DOWN:\r\n this._activeDate = addYears(this._activeDate, yearsPerPage);\r\n break;\r\n case ENTER:\r\n case SPACE:\r\n this._selectYear(this.activeYear);\r\n return;\r\n default:\r\n return;\r\n }\r\n\r\n if (!areDatesInSameView(oldActiveDate, this._activeDate, this._view, 24, 0)) {\r\n this._changeView('years');\r\n }\r\n\r\n this._removeHighlightFromCell(previousActiveCell);\r\n this._focusActiveCell(this.activeCell);\r\n event.preventDefault();\r\n }\r\n\r\n _getActiveYearCell() {\r\n const cells = SelectorEngine.find('td', this.datesContainer);\r\n\r\n const activeCell = Array.from(cells).find((cell) => {\r\n const cellYear = parseInt(cell.dataset.mdbYear, 10);\r\n return cellYear === this.activeYear;\r\n });\r\n\r\n return activeCell;\r\n }\r\n\r\n _setInitialDate() {\r\n if (this._input.value) {\r\n this._handleUserInput(this._input.value);\r\n } else if (this._options.startDate) {\r\n this._activeDate = new Date(this._options.startDate);\r\n } else {\r\n this._activeDate = new Date();\r\n }\r\n }\r\n\r\n close() {\r\n const closeEvent = EventHandler.trigger(this._element, EVENT_CLOSE);\r\n\r\n if (!this._isOpen || closeEvent.defaultPrevented) {\r\n return;\r\n }\r\n\r\n this._removeDatepickerListeners();\r\n\r\n Manipulator.addClass(this.container, 'animation');\r\n Manipulator.addClass(this.container, 'fade-out');\r\n\r\n this._closeModal();\r\n\r\n this._isOpen = false;\r\n this._view = this._options.view;\r\n\r\n if (this.toggleButton) {\r\n this.toggleButton.focus();\r\n } else {\r\n this._input.focus();\r\n }\r\n }\r\n\r\n _closeDropdown() {\r\n const datepicker = SelectorEngine.findOne('.datepicker-dropdown-container');\r\n datepicker.addEventListener('animationend', () => {\r\n if (datepicker) {\r\n document.body.removeChild(datepicker);\r\n }\r\n\r\n if (this._popper) {\r\n this._popper.destroy();\r\n }\r\n });\r\n this._removeFocusTrap();\r\n }\r\n\r\n _closeModal() {\r\n const backdrop = SelectorEngine.findOne('.datepicker-backdrop');\r\n const datepicker = SelectorEngine.findOne('.datepicker-modal-container');\r\n\r\n Manipulator.addClass(backdrop, 'animation');\r\n Manipulator.addClass(backdrop, 'fade-out');\r\n\r\n if (datepicker && backdrop) {\r\n backdrop.addEventListener('animationend', () => {\r\n document.body.removeChild(backdrop);\r\n document.body.removeChild(datepicker);\r\n document.body.style.overflow = '';\r\n document.body.style.paddingRight = '';\r\n });\r\n }\r\n }\r\n\r\n _removeFocusTrap() {\r\n if (this._focusTrap) {\r\n this._focusTrap.disable();\r\n this._focusTrap = null;\r\n }\r\n }\r\n\r\n _removeDatepickerListeners() {\r\n EventHandler.off(this.nextButton, 'click');\r\n EventHandler.off(this.previousButton, 'click');\r\n EventHandler.off(this.viewChangeButton, 'click');\r\n EventHandler.off(this.okButton, 'click');\r\n EventHandler.off(this.cancelButton, 'click');\r\n EventHandler.off(this.clearButton, 'click');\r\n\r\n EventHandler.off(this.datesContainer, 'click');\r\n EventHandler.off(this.datesContainer, 'keydown');\r\n EventHandler.off(this.datesContainer, 'focus');\r\n EventHandler.off(this.datesContainer, 'blur');\r\n\r\n EventHandler.off(document, EVENT_CLICK_DATA_API);\r\n }\r\n\r\n dispose() {\r\n if (this._isOpen) {\r\n this.close();\r\n }\r\n\r\n this._removeInputAndToggleListeners();\r\n\r\n const generatedToggleButton = SelectorEngine.findOne(`#${this._toggleButtonId}`);\r\n\r\n if (generatedToggleButton) {\r\n this._element.removeChild(generatedToggleButton);\r\n }\r\n\r\n Data.removeData(this._element, DATA_KEY);\r\n\r\n this._element = null;\r\n this._input = null;\r\n this._options = null;\r\n this._activeDate = null;\r\n this._selectedDate = null;\r\n this._selectedYear = null;\r\n this._selectedMonth = null;\r\n this._view = null;\r\n this._popper = null;\r\n this._focusTrap = null;\r\n }\r\n\r\n _removeInputAndToggleListeners() {\r\n EventHandler.off(this._input, 'input');\r\n EventHandler.off(this._element, EVENT_CLICK_DATA_API, '[data-mdb-toggle=\"datepicker\"]');\r\n EventHandler.off(this._element, 'keydown', '[data-mdb-toggle=\"datepicker\"]');\r\n }\r\n\r\n handleOk() {\r\n this._confirmSelection(this._selectedDate);\r\n this.close();\r\n }\r\n\r\n _selectDate(date, cell = this.activeCell) {\r\n this._removeCurrentSelectionStyles();\r\n this._removeCurrentFocusStyles();\r\n this._addSelectedStyles(cell);\r\n this._selectedDate = date;\r\n }\r\n\r\n _selectYear(year, cell = this.activeCell) {\r\n this._removeCurrentSelectionStyles();\r\n this._removeCurrentFocusStyles();\r\n this._addSelectedStyles(cell);\r\n this._selectedYear = year;\r\n\r\n this._asyncChangeView('months');\r\n }\r\n\r\n _selectMonth(month, cell = this.activeCell) {\r\n this._removeCurrentSelectionStyles();\r\n this._removeCurrentFocusStyles();\r\n this._addSelectedStyles(cell);\r\n this._selectedMonth = month;\r\n\r\n this._asyncChangeView('days');\r\n }\r\n\r\n _removeSelectedStyles(cell) {\r\n if (cell) {\r\n cell.classList.remove('selected');\r\n }\r\n }\r\n\r\n _addSelectedStyles(cell) {\r\n if (cell) {\r\n Manipulator.addClass(cell, 'selected');\r\n }\r\n }\r\n\r\n _confirmSelection(date) {\r\n if (date) {\r\n const dateString = this.formatDate(date);\r\n this._input.value = dateString;\r\n Manipulator.addClass(this._input, 'active');\r\n EventHandler.trigger(this._element, EVENT_DATE_CHANGE, { date });\r\n }\r\n }\r\n\r\n handleCancel() {\r\n this._selectedDate = null;\r\n this._selectedYear = null;\r\n this._selectedMonth = null;\r\n this.close();\r\n }\r\n\r\n handleClear() {\r\n this._selectedDate = null;\r\n this._selectedMonth = null;\r\n this._selectedYear = null;\r\n this._removeCurrentSelectionStyles();\r\n this._input.value = '';\r\n this._input.classList.remove('active');\r\n this._setInitialDate();\r\n this._changeView('days');\r\n }\r\n\r\n _removeCurrentSelectionStyles() {\r\n const currentSelected = SelectorEngine.findOne('.selected', this.container);\r\n\r\n if (currentSelected) {\r\n currentSelected.classList.remove('selected');\r\n }\r\n }\r\n\r\n _removeCurrentFocusStyles() {\r\n const currentFocused = SelectorEngine.findOne('.focused', this.container);\r\n\r\n if (currentFocused) {\r\n currentFocused.classList.remove('focused');\r\n }\r\n }\r\n\r\n formatDate(date) {\r\n const d = getDate(date);\r\n const dd = this._addLeadingZero(getDate(date));\r\n const ddd = this._options.weekdaysShort[getDayNumber(date)];\r\n const dddd = this._options.weekdaysFull[getDayNumber(date)];\r\n const m = getMonth(date) + 1;\r\n const mm = this._addLeadingZero(getMonth(date) + 1);\r\n const mmm = this._options.monthsShort[getMonth(date)];\r\n const mmmm = this._options.monthsFull[getMonth(date)];\r\n const yy =\r\n getYear(date).toString().length === 2 ? getYear(date) : getYear(date).toString().slice(2, 4);\r\n const yyyy = getYear(date);\r\n\r\n const preformatted = this._options.format.split(/(d{1,4}|m{1,4}|y{4}|yy|!.)/g);\r\n let formatted = '';\r\n preformatted.forEach((datePart) => {\r\n switch (datePart) {\r\n case 'dddd':\r\n datePart = datePart.replace(datePart, dddd);\r\n break;\r\n case 'ddd':\r\n datePart = datePart.replace(datePart, ddd);\r\n break;\r\n case 'dd':\r\n datePart = datePart.replace(datePart, dd);\r\n break;\r\n case 'd':\r\n datePart = datePart.replace(datePart, d);\r\n break;\r\n case 'mmmm':\r\n datePart = datePart.replace(datePart, mmmm);\r\n break;\r\n case 'mmm':\r\n datePart = datePart.replace(datePart, mmm);\r\n break;\r\n case 'mm':\r\n datePart = datePart.replace(datePart, mm);\r\n break;\r\n case 'm':\r\n datePart = datePart.replace(datePart, m);\r\n break;\r\n case 'yyyy':\r\n datePart = datePart.replace(datePart, yyyy);\r\n break;\r\n case 'yy':\r\n datePart = datePart.replace(datePart, yy);\r\n break;\r\n default:\r\n }\r\n formatted += datePart;\r\n });\r\n\r\n return formatted;\r\n }\r\n\r\n _addLeadingZero(value) {\r\n return parseInt(value, 10) < 10 ? `0${value}` : value;\r\n }\r\n\r\n _pickDay(day, el) {\r\n const date = convertStringToDate(day);\r\n\r\n this._activeDate = date;\r\n this._selectDate(date, el);\r\n }\r\n\r\n _pickYear(year) {\r\n const newDate = createDate(year, this.activeMonth, this.activeDay);\r\n\r\n this._activeDate = newDate;\r\n this._selectedDate = newDate;\r\n this._selectYear(year);\r\n }\r\n\r\n _pickMonth(month, year) {\r\n const newDate = createDate(year, month, this.activeDay);\r\n\r\n this._activeDate = newDate;\r\n this._selectMonth(month);\r\n }\r\n\r\n nextMonth() {\r\n const nextMonth = addMonths(this._activeDate, 1);\r\n const template = createDayViewTemplate(nextMonth, this._selectedDate, this._options);\r\n this._activeDate = nextMonth;\r\n this.viewChangeButton.textContent = `${this._options.monthsFull[this.activeMonth]} ${\r\n this.activeYear\r\n }`;\r\n this.datesContainer.innerHTML = template;\r\n }\r\n\r\n previousMonth() {\r\n const previousMonth = addMonths(this._activeDate, -1);\r\n this._activeDate = previousMonth;\r\n const template = createDayViewTemplate(previousMonth, this._selectedDate, this._options);\r\n this.viewChangeButton.textContent = `${this._options.monthsFull[this.activeMonth]} ${\r\n this.activeYear\r\n }`;\r\n this.datesContainer.innerHTML = template;\r\n }\r\n\r\n nextYear() {\r\n const nextYear = addYears(this._activeDate, 1);\r\n this._activeDate = nextYear;\r\n this.viewChangeButton.textContent = `${this.activeYear}`;\r\n const template = createMonthViewTemplate(\r\n this.activeYear,\r\n this._selectedYear,\r\n this._selectedMonth,\r\n this._options,\r\n 4\r\n );\r\n this.datesContainer.innerHTML = template;\r\n }\r\n\r\n previousYear() {\r\n const previousYear = addYears(this._activeDate, -1);\r\n this._activeDate = previousYear;\r\n this.viewChangeButton.textContent = `${this.activeYear}`;\r\n const template = createMonthViewTemplate(\r\n this.activeYear,\r\n this._selectedYear,\r\n this._selectedMonth,\r\n this._options,\r\n 4\r\n );\r\n this.datesContainer.innerHTML = template;\r\n }\r\n\r\n nextYears() {\r\n const nextYear = addYears(this._activeDate, 24);\r\n this._activeDate = nextYear;\r\n const template = createYearViewTemplate(nextYear, this._selectedYear, this._options, 24, 4);\r\n this.viewChangeButton.textContent = `${this.firstYearInView} - ${this.lastYearInView}`;\r\n this.datesContainer.innerHTML = template;\r\n }\r\n\r\n previousYears() {\r\n const previousYear = addYears(this._activeDate, -24);\r\n this._activeDate = previousYear;\r\n const template = createYearViewTemplate(previousYear, this._selectedYear, this._options, 24, 4);\r\n this.viewChangeButton.textContent = `${this.firstYearInView} - ${this.lastYearInView}`;\r\n this.datesContainer.innerHTML = template;\r\n }\r\n\r\n _asyncChangeView(view) {\r\n setTimeout(() => {\r\n this._changeView(view);\r\n }, 0);\r\n }\r\n\r\n _changeView(view) {\r\n this._view = view;\r\n // We need to add blur event here to reapply focus to\r\n // dates container when switching from years to months\r\n // view after selecting year\r\n this.datesContainer.blur();\r\n\r\n if (view === 'days') {\r\n this.datesContainer.innerHTML = createDayViewTemplate(\r\n this._activeDate,\r\n this._selectedDate,\r\n this._options\r\n );\r\n }\r\n\r\n if (view === 'months') {\r\n this.datesContainer.innerHTML = createMonthViewTemplate(\r\n this.activeYear,\r\n this._selectedYear,\r\n this._selectedMonth,\r\n this._options,\r\n 4\r\n );\r\n }\r\n\r\n if (view === 'years') {\r\n this.datesContainer.innerHTML = createYearViewTemplate(\r\n this._activeDate,\r\n this._selectedYear,\r\n this._options,\r\n 24,\r\n 4\r\n );\r\n }\r\n\r\n this.datesContainer.focus();\r\n this._updateViewControlsAndAttributes(view);\r\n }\r\n\r\n _updateViewControlsAndAttributes(view) {\r\n if (view === 'days') {\r\n this.viewChangeButton.textContent = `${this._options.monthsFull[this.activeMonth]} ${\r\n this.activeYear\r\n }`;\r\n this.viewChangeButton.setAttribute('aria-label', this._options.switchToMultiYearViewLabel);\r\n this.previousButton.setAttribute('aria-label', this._options.prevMonthLabel);\r\n this.nextButton.setAttribute('aria-label', this._options.nextMonthLabel);\r\n }\r\n\r\n if (view === 'months') {\r\n this.viewChangeButton.textContent = `${this.activeYear}`;\r\n this.viewChangeButton.setAttribute('aria-label', this._options.switchToDayViewLabel);\r\n this.previousButton.setAttribute('aria-label', this._options.prevYearLabel);\r\n this.nextButton.setAttribute('aria-label', this._options.nextYearLabel);\r\n }\r\n\r\n if (view === 'years') {\r\n this.viewChangeButton.textContent = `${this.firstYearInView} - ${this.lastYearInView}`;\r\n this.viewChangeButton.setAttribute('aria-label', this._options.switchToMonthViewLabel);\r\n this.previousButton.setAttribute('aria-label', this._options.prevMultiYearLabel);\r\n this.nextButton.setAttribute('aria-label', this._options.nextMultiYearLabel);\r\n }\r\n }\r\n\r\n _handleUserInput(input) {\r\n const delimeters = this._getDelimeters(this._options.format);\r\n const date = this._parseDate(input, this._options.format, delimeters);\r\n\r\n if (isValidDate(date)) {\r\n this._activeDate = date;\r\n this._selectedDate = date;\r\n } else {\r\n this._activeDate = new Date();\r\n this._selectedDate = null;\r\n this._selectedMonth = null;\r\n this._selectedYear = null;\r\n }\r\n }\r\n\r\n _getDelimeters(format) {\r\n return format.match(/[^(dmy)]{1,}/g);\r\n }\r\n\r\n _parseDate(dateString, format, delimeters) {\r\n let delimeterPattern;\r\n\r\n if (delimeters[0] !== delimeters[1]) {\r\n delimeterPattern = delimeters[0] + delimeters[1];\r\n } else {\r\n delimeterPattern = delimeters[0];\r\n }\r\n\r\n const regExp = new RegExp(`[${delimeterPattern}]`);\r\n const dateParts = dateString.split(regExp);\r\n const formatParts = format.split(regExp);\r\n const isMonthString = format.indexOf('mmm') !== -1;\r\n\r\n const datesArray = [];\r\n\r\n for (let i = 0; i < formatParts.length; i++) {\r\n if (formatParts[i].indexOf('yy') !== -1) {\r\n datesArray[0] = { value: dateParts[i], format: formatParts[i] };\r\n }\r\n if (formatParts[i].indexOf('m') !== -1) {\r\n datesArray[1] = { value: dateParts[i], format: formatParts[i] };\r\n }\r\n if (formatParts[i].indexOf('d') !== -1 && formatParts[i].length <= 2) {\r\n datesArray[2] = { value: dateParts[i], format: formatParts[i] };\r\n }\r\n }\r\n\r\n let monthsNames;\r\n\r\n if (format.indexOf('mmmm') !== -1) {\r\n monthsNames = this._options.monthsFull;\r\n } else {\r\n monthsNames = this._options.monthsShort;\r\n }\r\n\r\n const year = Number(datesArray[0].value);\r\n const month = isMonthString\r\n ? this.getMonthNumberByMonthName(datesArray[1].value, monthsNames)\r\n : Number(datesArray[1].value) - 1;\r\n const day = Number(datesArray[2].value);\r\n\r\n const parsedDate = createDate(year, month, day);\r\n return parsedDate;\r\n }\r\n\r\n getMonthNumberByMonthName(monthValue, monthLabels) {\r\n return monthLabels.findIndex((monthLabel) => monthLabel === monthValue);\r\n }\r\n\r\n static getInstance(element) {\r\n return Data.getData(element, DATA_KEY);\r\n }\r\n\r\n static getOrCreateInstance(element, config = {}) {\r\n return (\r\n this.getInstance(element) || new this(element, typeof config === 'object' ? config : null)\r\n );\r\n }\r\n}\r\n\r\nexport default Datepicker;\r\n\r\nSelectorEngine.find('.datepicker').forEach((datepicker) => {\r\n let instance = Datepicker.getInstance(datepicker);\r\n if (!instance) {\r\n instance = new Datepicker(datepicker);\r\n }\r\n});\r\n","export const LEFT_ARROW = 37;\r\nexport const UP_ARROW = 38;\r\nexport const RIGHT_ARROW = 39;\r\nexport const DOWN_ARROW = 40;\r\nexport const HOME = 36;\r\nexport const END = 35;\r\nexport const PAGE_UP = 33;\r\nexport const PAGE_DOWN = 34;\r\nexport const ENTER = 13;\r\nexport const SPACE = 32;\r\nexport const ESCAPE = 27;\r\nexport const TAB = 9;\r\nexport const BACKSPACE = 8;\r\nexport const DELETE = 46;\r\nexport const A = 65;\r\nexport const B = 66;\r\nexport const C = 67;\r\nexport const D = 68;\r\nexport const E = 69;\r\nexport const F = 70;\r\nexport const G = 71;\r\nexport const H = 72;\r\nexport const I = 73;\r\nexport const J = 74;\r\nexport const K = 75;\r\nexport const L = 76;\r\nexport const M = 77;\r\nexport const N = 78;\r\nexport const O = 79;\r\nexport const P = 80;\r\nexport const Q = 81;\r\nexport const R = 82;\r\nexport const S = 83;\r\nexport const T = 84;\r\nexport const U = 85;\r\nexport const V = 86;\r\nexport const W = 87;\r\nexport const X = 88;\r\nexport const Y = 89;\r\nexport const Z = 90;\r\n","/* eslint-disable consistent-return */\r\nimport EventHandler from '../dom/event-handler';\r\nimport Manipulator from '../dom/manipulator';\r\n\r\n// eslint-disable-next-line import/prefer-default-export\r\nconst formatToAmPm = (date) => {\r\n if (date === '') return;\r\n let hours;\r\n let minutes;\r\n let amOrPm;\r\n\r\n if (isValidDate(date)) {\r\n hours = date.getHours();\r\n minutes = date.getMinutes();\r\n hours %= 12;\r\n if (hours === 0) {\r\n amOrPm = 'AM';\r\n }\r\n hours = hours || 12;\r\n\r\n if (amOrPm === undefined) {\r\n amOrPm = hours >= 12 ? 'PM' : 'AM';\r\n }\r\n minutes = minutes < 10 ? `0${minutes}` : minutes;\r\n } else {\r\n [hours, minutes, amOrPm] = takeValue(date, false);\r\n\r\n hours %= 12;\r\n if (hours === 0) {\r\n amOrPm = 'AM';\r\n }\r\n hours = hours || 12;\r\n\r\n if (amOrPm === undefined) {\r\n amOrPm = hours >= 12 ? 'PM' : 'AM';\r\n }\r\n }\r\n\r\n return {\r\n hours,\r\n minutes,\r\n amOrPm,\r\n };\r\n};\r\n\r\nconst isValidDate = (date) => {\r\n // eslint-disable-next-line no-restricted-globals\r\n return date && Object.prototype.toString.call(date) === '[object Date]' && !isNaN(date);\r\n};\r\n\r\nconst toggleClassHandler = (event, classes) => {\r\n return EventHandler.on(document, event, classes, ({ target }) => {\r\n if (!Manipulator.hasClass(target, 'active')) {\r\n const allElements = document.querySelectorAll(classes);\r\n\r\n allElements.forEach((element) => {\r\n if (Manipulator.hasClass(element, 'active')) {\r\n Manipulator.removeClass(element, 'active');\r\n }\r\n });\r\n\r\n Manipulator.addClass(target, 'active');\r\n }\r\n });\r\n};\r\n\r\nconst findMousePosition = ({ clientX, clientY, touches }, object, isMobile = false) => {\r\n const { left, top } = object.getBoundingClientRect();\r\n let obj = {};\r\n if (!isMobile || !touches) {\r\n obj = {\r\n x: clientX - left,\r\n y: clientY - top,\r\n };\r\n } else if (isMobile && Object.keys(touches).length > 0) {\r\n obj = {\r\n x: touches[0].clientX - left,\r\n y: touches[0].clientY - top,\r\n };\r\n }\r\n\r\n return obj;\r\n};\r\n\r\nconst checkBrowser = () => {\r\n return /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);\r\n};\r\n\r\nconst takeValue = (element, isInput = true) => {\r\n let valueInput;\r\n if (isInput) {\r\n valueInput = element.value.replace(/:/gi, ' ');\r\n } else {\r\n valueInput = element.replace(/:/gi, ' ');\r\n }\r\n\r\n return valueInput.split(' ');\r\n};\r\n\r\nexport { checkBrowser, findMousePosition, formatToAmPm, toggleClassHandler, takeValue };\r\n","/* eslint-disable consistent-return */\r\n/* eslint-disable no-else-return */\r\nimport { createPopper } from '@popperjs/core';\r\nimport { typeCheckConfig, element, getUID } from '../util/index';\r\nimport { getTimepickerTemplate, getToggleButtonTemplate } from './templates';\r\nimport Data from '../dom/data';\r\nimport Manipulator from '../dom/manipulator';\r\nimport EventHandler, { EventHandlerMulti } from '../dom/event-handler';\r\nimport {\r\n formatToAmPm,\r\n toggleClassHandler,\r\n checkBrowser,\r\n findMousePosition,\r\n takeValue,\r\n} from './utils';\r\nimport FocusTrap from '../util/focusTrap';\r\nimport SelectorEngine from '../dom/selector-engine';\r\nimport { UP_ARROW, DOWN_ARROW, LEFT_ARROW, RIGHT_ARROW, ESCAPE, ENTER } from '../util/keycodes';\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * Constants\r\n * ------------------------------------------------------------------------\r\n */\r\n\r\nconst NAME = 'timepicker';\r\n\r\nconst DATA_KEY = `mdb.${NAME}`;\r\n\r\nconst ACTIVE_CLASS = 'active';\r\nconst AM_CLASS = `${NAME}-am`;\r\nconst BUTTON_CANCEL_CLASS = `${NAME}-cancel`;\r\nconst BUTTON_CLEAR_CLASS = `${NAME}-clear`;\r\nconst BUTTON_SUBMIT_CLASS = `${NAME}-submit`;\r\nconst CIRCLE_CLASS = `${NAME}-circle`;\r\nconst CLOCK_ANIMATION_CLASS = `${NAME}-clock-animation`;\r\nconst CLOCK_CLASS = `${NAME}-clock`;\r\nconst CLOCK_INNER_CLASS = `${NAME}-clock-inner`;\r\nconst CLOCK_WRAPPER_CLASS = `${NAME}-clock-wrapper`;\r\nconst CURRENT_CLASS = `.${NAME}-current`;\r\nconst CURRENT_INLINE_CLASS = `${NAME}-current-inline`;\r\nconst WRAPPER_OPEN_ANIMATION_CLASS = 'fade-in';\r\nconst WRAPPER_CLOSE_ANIMATION_CLASS = 'fade-out';\r\n\r\nconst HAND_CLASS = `${NAME}-hand-pointer`;\r\nconst HOUR_CLASS = `${NAME}-hour`;\r\nconst HOUR_MODE_CLASS = `${NAME}-hour-mode`;\r\nconst ICON_DOWN_CLASS = `${NAME}-icon-down`;\r\nconst ICON_INLINE_HOUR_CLASS = `${NAME}-icon-inline-hour`;\r\nconst ICON_INLINE_MINUTE_CLASS = `${NAME}-icon-inline-minute`;\r\nconst ICON_UP_CLASS = `${NAME}-icon-up`;\r\nconst ICONS_HOUR_INLINE = `${NAME}-inline-hour-icons`;\r\nconst MIDDLE_DOT_CLASS = `${NAME}-middle-dot`;\r\nconst MINUTE_CLASS = `${NAME}-minute`;\r\nconst MODAL_CLASS = `${NAME}-modal`;\r\nconst PM_CLASS = `${NAME}-pm`;\r\nconst TIPS_ELEMENT_CLASS = `${NAME}-tips-element`;\r\nconst TIPS_HOURS_CLASS = `${NAME}-time-tips-hours`;\r\nconst TIPS_INNER_ELEMENT_CLASS = `${NAME}-tips-inner-element`;\r\nconst TIPS_INNER_HOURS_CLASS = `${NAME}-time-tips-inner`;\r\nconst TIPS_MINUTES_CLASS = `${NAME}-time-tips-minutes`;\r\nconst TRANSFORM_CLASS = `${NAME}-transform`;\r\nconst WRAPPER_CLASS = `${NAME}-wrapper`;\r\nconst INPUT_CLASS = `${NAME}-input`;\r\n\r\nconst Default = {\r\n appendValidationInfo: true,\r\n bodyID: '',\r\n cancelLabel: 'Cancel',\r\n clearLabel: 'Clear',\r\n closeModalOnBackdropClick: true,\r\n closeModalOnMinutesClick: false,\r\n defaultTime: '',\r\n disabled: false,\r\n focusInputAfterApprove: false,\r\n footerID: '',\r\n format12: true,\r\n headID: '',\r\n increment: false,\r\n invalidLabel: 'Invalid Time Format',\r\n maxHour: '',\r\n minHour: '',\r\n maxTime: '',\r\n minTime: '',\r\n modalID: '',\r\n okLabel: 'Ok',\r\n overflowHidden: true,\r\n pickerID: '',\r\n readOnly: false,\r\n showClearBtn: true,\r\n switchHoursToMinutesOnClick: true,\r\n iconClass: 'far fa-clock fa-sm timepicker-icon',\r\n withIcon: true,\r\n pmLabel: 'PM',\r\n amLabel: 'AM',\r\n};\r\n\r\nconst DefaultType = {\r\n appendValidationInfo: 'boolean',\r\n bodyID: 'string',\r\n cancelLabel: 'string',\r\n clearLabel: 'string',\r\n closeModalOnBackdropClick: 'boolean',\r\n closeModalOnMinutesClick: 'boolean',\r\n disabled: 'boolean',\r\n footerID: 'string',\r\n format12: 'boolean',\r\n headID: 'string',\r\n increment: 'boolean',\r\n invalidLabel: 'string',\r\n maxHour: '(string|number)',\r\n minHour: '(string|number)',\r\n modalID: 'string',\r\n okLabel: 'string',\r\n overflowHidden: 'boolean',\r\n pickerID: 'string',\r\n readOnly: 'boolean',\r\n showClearBtn: 'boolean',\r\n switchHoursToMinutesOnClick: 'boolean',\r\n defaultTime: '(string|date|number)',\r\n iconClass: 'string',\r\n withIcon: 'boolean',\r\n pmLabel: 'string',\r\n amLabel: 'string',\r\n};\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * Class Definition\r\n * ------------------------------------------------------------------------\r\n */\r\n\r\nclass Timepicker {\r\n constructor(element, options = {}) {\r\n this._element = element;\r\n\r\n if (this._element) {\r\n Data.setData(element, DATA_KEY, this);\r\n }\r\n\r\n this._document = document;\r\n this._options = this._getConfig(options);\r\n this._currentTime = null;\r\n this._toggleButtonId = getUID('timepicker-toggle-');\r\n\r\n this.hoursArray = ['12', '1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11'];\r\n this.innerHours = ['00', '13', '14', '15', '16', '17', '18', '19', '20', '21', '22', '23'];\r\n this.minutesArray = ['00', '05', '10', '15', '20', '25', '30', '35', '40', '45', '50', '55'];\r\n\r\n this.input = SelectorEngine.findOne('input', this._element);\r\n this.dataWithIcon = element.dataset.withIcon;\r\n this.dataToggle = element.dataset.toggle;\r\n this.customIcon = SelectorEngine.findOne('.timepicker-toggle-button', this._element);\r\n\r\n this._checkToggleButton();\r\n\r\n this.inputFormatShow = SelectorEngine.findOne('[data-mdb-timepicker-format24]', this._element);\r\n\r\n this.inputFormat =\r\n this.inputFormatShow === null ? '' : Object.values(this.inputFormatShow.dataset)[0];\r\n this.elementToggle = SelectorEngine.findOne('[data-mdb-toggle]', this._element);\r\n this.toggleElement = Object.values(element.querySelector('[data-mdb-toggle]').dataset)[0];\r\n\r\n this._hour = null;\r\n this._minutes = null;\r\n this._AM = null;\r\n this._PM = null;\r\n this._wrapper = null;\r\n this._modal = null;\r\n this._hand = null;\r\n this._circle = null;\r\n this._focusTrap = null;\r\n this._popper = null;\r\n this._interval = null;\r\n\r\n this._inputValue =\r\n this._options.defaultTime !== '' ? this._options.defaultTime : this.input.value;\r\n\r\n if (this._options.format12) {\r\n this._currentTime = formatToAmPm(this._inputValue);\r\n }\r\n\r\n if (this._options.readOnly) {\r\n this.input.setAttribute('readonly', true);\r\n }\r\n\r\n this.init();\r\n\r\n this._isHours = true;\r\n this._isMinutes = false;\r\n this._isInvalidTimeFormat = false;\r\n this._isMouseMove = false;\r\n this._isInner = false;\r\n this._isAmEnabled = false;\r\n this._isPmEnabled = false;\r\n\r\n this._objWithDataOnChange = { degrees: null };\r\n }\r\n\r\n // Getters\r\n\r\n static get NAME() {\r\n return NAME;\r\n }\r\n\r\n // Public\r\n\r\n init() {\r\n let zero;\r\n let hoursFormat;\r\n let _amOrPm;\r\n\r\n Manipulator.addClass(this.input, INPUT_CLASS);\r\n\r\n if (this._currentTime !== undefined) {\r\n const { hours, minutes, amOrPm } = this._currentTime;\r\n\r\n zero = Number(hours) < 10 ? 0 : '';\r\n hoursFormat = `${zero}${Number(hours)}:${minutes}`;\r\n _amOrPm = amOrPm;\r\n\r\n this.input.value = `${hoursFormat} ${_amOrPm}`;\r\n } else {\r\n zero = '';\r\n hoursFormat = '';\r\n _amOrPm = '';\r\n\r\n this.input.value = '';\r\n }\r\n\r\n if (this.input.value.length > 0 && this.input.value !== '') {\r\n Manipulator.addClass(this.input, 'active');\r\n }\r\n\r\n if (this._options !== null || this._element !== null) {\r\n this._handleOpen();\r\n this._listenToToggleKeydown();\r\n }\r\n }\r\n\r\n dispose() {\r\n this._removeModal();\r\n\r\n if (this._element !== null) {\r\n Data.removeData(this._element, DATA_KEY);\r\n }\r\n\r\n this._element = null;\r\n this._options = null;\r\n this.input = null;\r\n this._focusTrap = null;\r\n\r\n EventHandler.off(this._document, 'click', `[data-mdb-toggle='${this.toggleElement}']`);\r\n EventHandler.off(this._element, 'keydown', `[data-mdb-toggle='${this.toggleElement}']`);\r\n }\r\n\r\n // private\r\n\r\n _checkToggleButton() {\r\n if (this.customIcon === null) {\r\n if (this.dataWithIcon !== undefined) {\r\n this._options.withIcon = null;\r\n\r\n if (this.dataWithIcon === 'true') {\r\n this._appendToggleButton(this._options);\r\n }\r\n }\r\n\r\n if (this._options.withIcon) {\r\n this._appendToggleButton(this._options);\r\n }\r\n }\r\n }\r\n\r\n _appendToggleButton() {\r\n const toggleButton = getToggleButtonTemplate(this._options, this._toggleButtonId);\r\n\r\n this.input.insertAdjacentHTML('afterend', toggleButton);\r\n }\r\n\r\n _getDomElements() {\r\n this._hour = SelectorEngine.findOne(`.${HOUR_CLASS}`);\r\n this._minutes = SelectorEngine.findOne(`.${MINUTE_CLASS}`);\r\n this._AM = SelectorEngine.findOne(`.${AM_CLASS}`);\r\n this._PM = SelectorEngine.findOne(`.${PM_CLASS}`);\r\n this._wrapper = SelectorEngine.findOne(`.${WRAPPER_CLASS}`);\r\n this._modal = SelectorEngine.findOne(`.${MODAL_CLASS}`);\r\n this._hand = SelectorEngine.findOne(`.${HAND_CLASS}`);\r\n this._circle = SelectorEngine.findOne(`.${CIRCLE_CLASS}`);\r\n this._clock = SelectorEngine.findOne(`.${CLOCK_CLASS}`);\r\n this._clockInner = SelectorEngine.findOne(`.${CLOCK_INNER_CLASS}`);\r\n }\r\n\r\n _handlerMaxMinHoursOptions(degrees, fn, maxHour, minHour, maxFormat, minFormat) {\r\n const maxHourDegrees = maxHour !== '' ? maxHour * 30 : '';\r\n let minHourDegrees = minHour !== '' ? minHour * 30 : '';\r\n\r\n if (maxHour !== '' && minHour !== '') {\r\n if (degrees <= 0) {\r\n degrees = 360 + degrees;\r\n }\r\n if (degrees <= maxHourDegrees && degrees >= minHourDegrees) {\r\n return fn();\r\n }\r\n } else if (minHour !== '') {\r\n if (degrees <= 0) {\r\n degrees = 360 + degrees;\r\n }\r\n\r\n if (Number(minHour) > 12) {\r\n minHourDegrees = minHour * 30 - minHourDegrees;\r\n }\r\n\r\n if (degrees >= minHourDegrees && minFormat === undefined) {\r\n return fn();\r\n } else if (minFormat !== undefined) {\r\n if (minFormat === 'PM' && this._isAmEnabled) {\r\n return;\r\n }\r\n\r\n if (minFormat === 'PM' && this._isPmEnabled) {\r\n if (degrees >= minHourDegrees) {\r\n return fn();\r\n }\r\n }\r\n\r\n if (minFormat === 'AM' && this._isPmEnabled) {\r\n return fn();\r\n } else if (minFormat === 'AM' && this._isAmEnabled) {\r\n if (degrees >= minHourDegrees) {\r\n return fn();\r\n }\r\n }\r\n }\r\n } else if (maxHour !== '') {\r\n if (degrees <= 0) {\r\n degrees = 360 + degrees;\r\n }\r\n if (degrees <= maxHourDegrees && maxFormat === undefined) {\r\n return fn();\r\n } else if (maxFormat !== undefined) {\r\n if (maxFormat === 'AM' && this._isPmEnabled) {\r\n return;\r\n }\r\n\r\n if (maxFormat === 'AM' && this._isAmEnabled) {\r\n if (degrees <= maxHourDegrees) {\r\n return fn();\r\n }\r\n }\r\n\r\n if (maxFormat === 'PM' && this._isPmEnabled) {\r\n if (degrees <= maxHourDegrees) {\r\n return fn();\r\n }\r\n } else if (maxFormat === 'PM' && this._isAmEnabled) {\r\n return fn();\r\n }\r\n }\r\n } else {\r\n return fn();\r\n }\r\n\r\n return fn;\r\n }\r\n\r\n _handleKeyboard() {\r\n EventHandler.on(this._document, 'keydown', '', (e) => {\r\n let hour;\r\n let minute;\r\n let innerHour;\r\n const { maxHour, minHour, increment } = this._options;\r\n\r\n const notNullMinutes = SelectorEngine.findOne(`.${TIPS_MINUTES_CLASS}`) !== null;\r\n const notNullInnerHours = SelectorEngine.findOne(`.${TIPS_INNER_HOURS_CLASS}`) !== null;\r\n\r\n const degrees = Number(this._hand.style.transform.replace(/[^\\d-]/g, ''));\r\n\r\n const allTipsMinutes = SelectorEngine.find(`.${TIPS_MINUTES_CLASS}`, this._modal);\r\n const allTipsHours = SelectorEngine.find(`.${TIPS_HOURS_CLASS}`, this._modal);\r\n const allInnerTips = SelectorEngine.find(`.${TIPS_INNER_HOURS_CLASS}`, this._modal);\r\n\r\n const maxHourNumber = maxHour !== '' ? Number(maxHour) : '';\r\n const minHourNumber = minHour !== '' ? Number(minHour) : '';\r\n\r\n let hourTime = this._makeHourDegrees(e.target, degrees, hour).hour;\r\n const { degrees: hourObjDegrees, addDegrees } = this._makeHourDegrees(\r\n e.target,\r\n degrees,\r\n hour\r\n );\r\n\r\n let { minute: minHourMinutes, degrees: minObjDegrees } = this._makeMinutesDegrees(\r\n degrees,\r\n minute\r\n );\r\n const addMinDegrees = this._makeMinutesDegrees(degrees, minute).addDegrees;\r\n\r\n let { hour: innerHourDegrees } = this._makeInnerHoursDegrees(degrees, innerHour);\r\n\r\n if (e.keyCode === ESCAPE) {\r\n const cancelBtn = SelectorEngine.findOne(`.${BUTTON_CANCEL_CLASS}`, this._modal);\r\n EventHandler.trigger(cancelBtn, 'click');\r\n }\r\n\r\n if (!notNullMinutes) {\r\n if (notNullInnerHours) {\r\n if (e.keyCode === RIGHT_ARROW) {\r\n this._isInner = false;\r\n Manipulator.addStyle(this._hand, {\r\n height: 'calc(40% + 1px)',\r\n });\r\n this._hour.textContent = this._setHourOrMinute(hourTime > 12 ? 1 : hourTime);\r\n this._toggleClassActive(this.hoursArray, this._hour, allTipsHours);\r\n this._toggleClassActive(this.innerHours, this._hour, allInnerTips);\r\n }\r\n\r\n if (e.keyCode === LEFT_ARROW) {\r\n this._isInner = true;\r\n Manipulator.addStyle(this._hand, {\r\n height: '21.5%',\r\n });\r\n\r\n this._hour.textContent = this._setHourOrMinute(\r\n innerHourDegrees >= 24 || innerHourDegrees === '00' ? 0 : innerHourDegrees\r\n );\r\n this._toggleClassActive(this.innerHours, this._hour, allInnerTips);\r\n this._toggleClassActive(this.hoursArray, this._hour - 1, allTipsHours);\r\n }\r\n }\r\n\r\n if (e.keyCode === UP_ARROW) {\r\n const addRotate = () => {\r\n return Manipulator.addStyle(this._hand, {\r\n transform: `rotateZ(${hourObjDegrees + addDegrees}deg)`,\r\n });\r\n };\r\n\r\n this._handlerMaxMinHoursOptions(hourObjDegrees + 30, addRotate, maxHour, minHour);\r\n\r\n if (this._isInner) {\r\n innerHourDegrees += 1;\r\n\r\n if (innerHourDegrees === 24) {\r\n innerHourDegrees = 0;\r\n } else if (innerHourDegrees === 25 || innerHourDegrees === '001') {\r\n innerHourDegrees = 13;\r\n }\r\n\r\n this._hour.textContent = this._setHourOrMinute(innerHourDegrees);\r\n this._toggleClassActive(this.innerHours, this._hour, allInnerTips);\r\n } else {\r\n hourTime += 1;\r\n\r\n // Condition for max/min option\r\n if (maxHour !== '' && minHour !== '') {\r\n if (hourTime > maxHour) {\r\n hourTime = maxHourNumber;\r\n } else if (hourTime < minHour) {\r\n hourTime = minHourNumber;\r\n }\r\n } else if (maxHour !== '' && minHour === '') {\r\n if (hourTime > maxHour) {\r\n hourTime = maxHourNumber;\r\n }\r\n } else if (maxHour === '' && minHour !== '') {\r\n if (hourTime >= 12) {\r\n hourTime = 12;\r\n }\r\n }\r\n\r\n this._hour.textContent = this._setHourOrMinute(hourTime > 12 ? 1 : hourTime);\r\n this._toggleClassActive(this.hoursArray, this._hour, allTipsHours);\r\n }\r\n }\r\n if (e.keyCode === DOWN_ARROW) {\r\n const addRotate = () => {\r\n return Manipulator.addStyle(this._hand, {\r\n transform: `rotateZ(${hourObjDegrees - addDegrees}deg)`,\r\n });\r\n };\r\n\r\n this._handlerMaxMinHoursOptions(hourObjDegrees - 30, addRotate, maxHour, minHour);\r\n\r\n if (this._isInner) {\r\n innerHourDegrees -= 1;\r\n\r\n if (innerHourDegrees === 12) {\r\n innerHourDegrees = 0;\r\n } else if (innerHourDegrees === -1) {\r\n innerHourDegrees = 23;\r\n }\r\n\r\n this._hour.textContent = this._setHourOrMinute(innerHourDegrees);\r\n this._toggleClassActive(this.innerHours, this._hour, allInnerTips);\r\n } else {\r\n hourTime -= 1;\r\n\r\n // Condition for max/min option\r\n if (maxHour !== '' && minHour !== '') {\r\n if (hourTime > maxHourNumber) {\r\n hourTime = maxHourNumber;\r\n } else if (hourTime < minHourNumber) {\r\n hourTime = minHourNumber;\r\n }\r\n } else if (maxHour === '' && minHour !== '') {\r\n if (hourTime <= minHourNumber) {\r\n hourTime = minHourNumber;\r\n }\r\n } else if (maxHour !== '' && minHour === '') {\r\n const maxNumber = 1;\r\n if (maxNumber >= hourTime) {\r\n hourTime = maxNumber;\r\n }\r\n }\r\n\r\n this._hour.textContent = this._setHourOrMinute(hourTime === 0 ? 12 : hourTime);\r\n this._toggleClassActive(this.hoursArray, this._hour, allTipsHours);\r\n }\r\n }\r\n } else {\r\n if (e.keyCode === UP_ARROW) {\r\n minObjDegrees += addMinDegrees;\r\n Manipulator.addStyle(this._hand, {\r\n transform: `rotateZ(${minObjDegrees}deg)`,\r\n });\r\n minHourMinutes += 1;\r\n if (increment) {\r\n minHourMinutes += 4;\r\n\r\n if (minHourMinutes === '0014') {\r\n minHourMinutes = 5;\r\n }\r\n }\r\n\r\n this._minutes.textContent = this._setHourOrMinute(\r\n minHourMinutes > 59 ? 0 : minHourMinutes\r\n );\r\n this._toggleClassActive(this.minutesArray, this._minutes, allTipsMinutes);\r\n this._toggleBackgroundColorCircle(`${TIPS_MINUTES_CLASS}`);\r\n }\r\n if (e.keyCode === DOWN_ARROW) {\r\n minObjDegrees -= addMinDegrees;\r\n Manipulator.addStyle(this._hand, {\r\n transform: `rotateZ(${minObjDegrees}deg)`,\r\n });\r\n if (increment) {\r\n minHourMinutes -= 5;\r\n } else {\r\n minHourMinutes -= 1;\r\n }\r\n\r\n if (minHourMinutes === -1) {\r\n minHourMinutes = 59;\r\n } else if (minHourMinutes === -5) {\r\n minHourMinutes = 55;\r\n }\r\n\r\n this._minutes.textContent = this._setHourOrMinute(minHourMinutes);\r\n this._toggleClassActive(this.minutesArray, this._minutes, allTipsMinutes);\r\n this._toggleBackgroundColorCircle(`${TIPS_MINUTES_CLASS}`);\r\n }\r\n }\r\n });\r\n }\r\n\r\n _setActiveClassToTipsOnOpen(hour, ...rest) {\r\n if (this._isInvalidTimeFormat) {\r\n return;\r\n }\r\n\r\n [...rest].filter((e) => {\r\n if (e === 'PM') {\r\n Manipulator.addClass(this._PM, ACTIVE_CLASS);\r\n } else if (e === 'AM') {\r\n Manipulator.addClass(this._AM, ACTIVE_CLASS);\r\n } else {\r\n Manipulator.removeClass(this._AM, ACTIVE_CLASS);\r\n Manipulator.removeClass(this._PM, ACTIVE_CLASS);\r\n }\r\n\r\n return e;\r\n });\r\n\r\n const allTipsHours = SelectorEngine.find(`.${TIPS_HOURS_CLASS}`, this._modal);\r\n this._addActiveClassToTip(allTipsHours, hour);\r\n }\r\n\r\n _setTipsAndTimesDependOnInputValue(hour, minute) {\r\n const { inline, format12 } = this._options;\r\n\r\n if (!this._isInvalidTimeFormat) {\r\n const rotateDegrees = hour > 12 ? hour * 30 - 360 : hour * 30;\r\n this._hour.textContent = hour;\r\n this._minutes.textContent = minute;\r\n\r\n if (!inline) {\r\n Manipulator.addStyle(this._hand, {\r\n transform: `rotateZ(${rotateDegrees}deg)`,\r\n });\r\n Manipulator.addStyle(this._circle, {\r\n backgroundColor: '#1976d2',\r\n });\r\n\r\n if (Number(hour) > 12 || hour === '00') {\r\n Manipulator.addStyle(this._hand, {\r\n height: '21.5%',\r\n });\r\n }\r\n }\r\n } else {\r\n this._hour.textContent = '12';\r\n this._minutes.textContent = '00';\r\n\r\n if (!inline) {\r\n Manipulator.addStyle(this._hand, {\r\n transform: 'rotateZ(0deg)',\r\n });\r\n }\r\n if (format12) {\r\n Manipulator.addClass(this._PM, ACTIVE_CLASS);\r\n }\r\n }\r\n }\r\n\r\n _listenToToggleKeydown() {\r\n EventHandler.on(this._element, 'keydown', `[data-mdb-toggle='${this.toggleElement}']`, (e) => {\r\n if (e.keyCode === ENTER) {\r\n e.preventDefault();\r\n EventHandler.trigger(this.elementToggle, 'click');\r\n }\r\n });\r\n }\r\n\r\n _handleOpen() {\r\n EventHandlerMulti.on(\r\n this._element,\r\n 'click',\r\n `[data-mdb-toggle='${this.toggleElement}']`,\r\n (e) => {\r\n if (this._options === null) {\r\n return;\r\n }\r\n\r\n // Fix for input with open, if is not for settimeout input has incorrent jumping label\r\n const fixForInput = Manipulator.getDataAttribute(this.input, 'toggle') !== null ? 200 : 0;\r\n\r\n setTimeout(() => {\r\n Manipulator.addStyle(this.elementToggle, {\r\n pointerEvents: 'none',\r\n });\r\n\r\n this.elementToggle.blur();\r\n\r\n let checkInputValue;\r\n\r\n if (takeValue(this.input)[0] === '') {\r\n checkInputValue = ['12', '00', 'PM'];\r\n } else {\r\n checkInputValue = takeValue(this.input);\r\n }\r\n\r\n const { modalID, inline, format12, overflowHidden } = this._options;\r\n const [hour, minute, format] = checkInputValue;\r\n const div = element('div');\r\n\r\n if (Number(hour) > 12 || hour === '00') {\r\n this._isInner = true;\r\n }\r\n\r\n this.input.blur();\r\n e.target.blur();\r\n\r\n div.innerHTML = getTimepickerTemplate(this._options);\r\n Manipulator.addClass(div, MODAL_CLASS);\r\n\r\n div.setAttribute('role', 'dialog');\r\n div.setAttribute('tabIndex', '-1');\r\n div.setAttribute('id', modalID);\r\n\r\n if (!inline) {\r\n this._document.body.appendChild(div);\r\n } else {\r\n this._popper = createPopper(this.input, div, {\r\n placement: 'bottom-start',\r\n });\r\n\r\n this._document.body.appendChild(div);\r\n }\r\n\r\n this._getDomElements();\r\n this._toggleBackdropAnimation();\r\n this._setActiveClassToTipsOnOpen(hour, minute, format);\r\n this._appendTimes();\r\n this._setActiveClassToTipsOnOpen(hour, minute, format);\r\n this._setTipsAndTimesDependOnInputValue(hour, minute);\r\n\r\n if (this.input.value === '') {\r\n const allTipsHours = SelectorEngine.find(`.${TIPS_HOURS_CLASS}`, this._modal);\r\n\r\n if (format12) {\r\n Manipulator.addClass(this._PM, ACTIVE_CLASS);\r\n }\r\n\r\n this._hour.textContent = '12';\r\n this._minutes.textContent = '00';\r\n this._addActiveClassToTip(allTipsHours, Number(this._hour.textContent));\r\n }\r\n\r\n this._handleSwitchTimeMode();\r\n this._handleOkButton();\r\n this._handleClose();\r\n\r\n if (inline) {\r\n this._handleHoverInlineBtn();\r\n this._handleDocumentClickInline();\r\n this._handleInlineClicks();\r\n } else {\r\n this._handleSwitchHourMinute();\r\n this._handleClockClick();\r\n this._handleKeyboard();\r\n\r\n Manipulator.addStyle(this._hour, {\r\n pointerEvents: 'none',\r\n });\r\n Manipulator.addStyle(this._minutes, {\r\n pointerEvents: '',\r\n });\r\n }\r\n\r\n if (overflowHidden) {\r\n const hasVerticalScroll = window.innerWidth > document.documentElement.clientWidth;\r\n Manipulator.addStyle(this._document.body, {\r\n overflow: 'hidden',\r\n });\r\n\r\n if (!checkBrowser() && hasVerticalScroll) {\r\n const scrollHeight = '15px';\r\n Manipulator.addStyle(this._document.body, {\r\n paddingRight: scrollHeight,\r\n });\r\n }\r\n }\r\n\r\n this._focusTrap = new FocusTrap(this._wrapper, {\r\n event: 'keydown',\r\n condition: ({ key }) => key === 'Tab',\r\n });\r\n this._focusTrap.trap();\r\n }, fixForInput);\r\n }\r\n );\r\n }\r\n\r\n _handleInlineClicks() {\r\n EventHandlerMulti.on(\r\n this._modal,\r\n 'click mousedown mouseup touchstart touchend contextmenu',\r\n `.${ICON_UP_CLASS}, .${ICON_DOWN_CLASS}`,\r\n (e) => {\r\n const { target, type } = e;\r\n\r\n let hourNumber = Number(this._hour.textContent);\r\n let minuteNumber = Number(this._minutes.textContent);\r\n\r\n const countMinutes = (count) => {\r\n let minutes = count;\r\n\r\n if (minutes > 59) {\r\n minutes = 0;\r\n } else if (minutes < 0) {\r\n minutes = 59;\r\n }\r\n\r\n return minutes;\r\n };\r\n\r\n const countHours = (count) => {\r\n let hour = count;\r\n\r\n if (hour > 12) {\r\n hour = 1;\r\n } else if (hour < 1) {\r\n hour = 12;\r\n }\r\n\r\n if (hour > 12) {\r\n hour = 1;\r\n }\r\n\r\n return hour;\r\n };\r\n\r\n const incrementHours = (hour) => {\r\n const counteredNumber = countHours(hour);\r\n this._hour.textContent = this._setHourOrMinute(counteredNumber);\r\n };\r\n const incrementMinutes = (minutes) => {\r\n const counteredNumber = countMinutes(minutes);\r\n this._minutes.textContent = this._setHourOrMinute(counteredNumber);\r\n };\r\n\r\n const addHours = () => {\r\n hourNumber += 1;\r\n incrementHours(hourNumber);\r\n };\r\n const addMinutes = () => {\r\n minuteNumber += 1;\r\n incrementMinutes(minuteNumber);\r\n };\r\n\r\n const subHours = () => {\r\n hourNumber -= 1;\r\n incrementHours(hourNumber);\r\n };\r\n\r\n const subMinutes = () => {\r\n minuteNumber -= 1;\r\n incrementMinutes(minuteNumber);\r\n };\r\n\r\n if (Manipulator.hasClass(target, ICON_UP_CLASS)) {\r\n if (Manipulator.hasClass(target.parentNode, ICONS_HOUR_INLINE)) {\r\n if (type === 'mousedown' || type === 'touchstart') {\r\n clearInterval(this._interval);\r\n this._interval = setInterval(addHours, 100);\r\n } else if (type === 'mouseup' || type === 'touchend' || type === 'contextmenu') {\r\n clearInterval(this._interval);\r\n } else {\r\n addHours();\r\n }\r\n } else {\r\n // eslint-disable-next-line no-lonely-if\r\n if (type === 'mousedown' || type === 'touchstart') {\r\n clearInterval(this._interval);\r\n this._interval = setInterval(addMinutes, 100);\r\n } else if (type === 'mouseup' || type === 'touchend' || type === 'contextmenu') {\r\n clearInterval(this._interval);\r\n } else {\r\n addMinutes();\r\n }\r\n }\r\n } else if (Manipulator.hasClass(target, ICON_DOWN_CLASS)) {\r\n if (Manipulator.hasClass(target.parentNode, ICONS_HOUR_INLINE)) {\r\n if (type === 'mousedown' || type === 'touchstart') {\r\n clearInterval(this._interval);\r\n this._interval = setInterval(subHours, 100);\r\n } else if (type === 'mouseup' || type === 'touchend') {\r\n clearInterval(this._interval);\r\n } else {\r\n subHours();\r\n }\r\n } else {\r\n // eslint-disable-next-line no-lonely-if\r\n if (type === 'mousedown' || type === 'touchstart') {\r\n clearInterval(this._interval);\r\n this._interval = setInterval(subMinutes, 100);\r\n } else if (type === 'mouseup' || type === 'touchend') {\r\n clearInterval(this._interval);\r\n } else {\r\n subMinutes();\r\n }\r\n }\r\n }\r\n }\r\n );\r\n }\r\n\r\n _handleClose() {\r\n EventHandler.on(\r\n this._modal,\r\n 'click',\r\n `.${WRAPPER_CLASS}, .${BUTTON_CANCEL_CLASS}, .${BUTTON_CLEAR_CLASS}`,\r\n ({ target }) => {\r\n const { closeModalOnBackdropClick } = this._options;\r\n\r\n const runRemoveFunction = () => {\r\n Manipulator.addStyle(this.elementToggle, {\r\n pointerEvents: 'auto',\r\n });\r\n this._toggleBackdropAnimation(true);\r\n this._removeModal();\r\n this._focusTrap.disable();\r\n this._focusTrap = null;\r\n\r\n if (this.elementToggle) {\r\n this.elementToggle.focus();\r\n } else if (this.input) {\r\n this.input.focus();\r\n }\r\n };\r\n\r\n if (Manipulator.hasClass(target, BUTTON_CLEAR_CLASS)) {\r\n this.input.value = '';\r\n Manipulator.removeClass(this.input, 'active');\r\n\r\n let checkInputValue;\r\n\r\n if (takeValue(this.input)[0] === '') {\r\n checkInputValue = ['12', '00', 'PM'];\r\n } else {\r\n checkInputValue = takeValue(this.input);\r\n }\r\n\r\n const [hour, minute, format] = checkInputValue;\r\n this._setTipsAndTimesDependOnInputValue('12', '00');\r\n this._setActiveClassToTipsOnOpen(hour, minute, format);\r\n this._hour.click();\r\n } else if (Manipulator.hasClass(target, BUTTON_CANCEL_CLASS)) {\r\n runRemoveFunction();\r\n } else if (Manipulator.hasClass(target, WRAPPER_CLASS) && closeModalOnBackdropClick) {\r\n runRemoveFunction();\r\n }\r\n }\r\n );\r\n }\r\n\r\n showValueInput() {\r\n return this.input.value;\r\n }\r\n\r\n _handleOkButton() {\r\n EventHandlerMulti.on(this._modal, 'click', `.${BUTTON_SUBMIT_CLASS}`, () => {\r\n const { readOnly, focusInputAfterApprove } = this._options;\r\n const hourModeActive = this._document.querySelector(`.${HOUR_MODE_CLASS}.${ACTIVE_CLASS}`);\r\n const currentValue = `${this._hour.textContent}:${this._minutes.textContent}`;\r\n\r\n Manipulator.addClass(this.input, 'active');\r\n Manipulator.addStyle(this.elementToggle, {\r\n pointerEvents: 'auto',\r\n });\r\n\r\n if (this._isInvalidTimeFormat) {\r\n Manipulator.removeClass(this.input, 'is-invalid');\r\n }\r\n\r\n if (!readOnly && focusInputAfterApprove) {\r\n this.input.focus();\r\n }\r\n\r\n Manipulator.addStyle(this.elementToggle, {\r\n pointerEvents: 'auto',\r\n });\r\n\r\n if (hourModeActive === null) {\r\n this.input.value = `${currentValue} PM`;\r\n } else {\r\n this.input.value = `${currentValue} ${hourModeActive.textContent}`;\r\n }\r\n\r\n this._toggleBackdropAnimation(true);\r\n this._removeModal();\r\n\r\n EventHandler.trigger(this.input, 'input.mdb.timepicker');\r\n });\r\n }\r\n\r\n _handleHoverInlineBtn() {\r\n EventHandlerMulti.on(\r\n this._modal,\r\n 'mouseover mouseleave',\r\n `.${CURRENT_INLINE_CLASS}`,\r\n ({ type, target }) => {\r\n const allIconsInlineHour = SelectorEngine.find(`.${ICON_INLINE_HOUR_CLASS}`, this._modal);\r\n const allIconsInlineMinute = SelectorEngine.find(\r\n `.${ICON_INLINE_MINUTE_CLASS}`,\r\n this._modal\r\n );\r\n\r\n if (type === 'mouseover') {\r\n if (Manipulator.hasClass(target, HOUR_CLASS)) {\r\n allIconsInlineHour.forEach((icon) => Manipulator.addClass(icon, ACTIVE_CLASS));\r\n } else {\r\n allIconsInlineMinute.forEach((icon) => Manipulator.addClass(icon, ACTIVE_CLASS));\r\n }\r\n } else {\r\n // eslint-disable-next-line no-lonely-if\r\n if (Manipulator.hasClass(target, HOUR_CLASS)) {\r\n allIconsInlineHour.forEach((icon) => Manipulator.removeClass(icon, ACTIVE_CLASS));\r\n } else {\r\n allIconsInlineMinute.forEach((icon) => Manipulator.removeClass(icon, ACTIVE_CLASS));\r\n }\r\n }\r\n }\r\n );\r\n }\r\n\r\n _handleDocumentClickInline() {\r\n EventHandler.on(document, 'click', ({ target }) => {\r\n if (\r\n this._modal &&\r\n !this._modal.contains(target) &&\r\n !Manipulator.hasClass(target, 'timepicker-icon')\r\n ) {\r\n clearInterval(this._interval);\r\n Manipulator.addStyle(this.elementToggle, {\r\n pointerEvents: 'auto',\r\n });\r\n this._removeModal();\r\n }\r\n });\r\n }\r\n\r\n _handleSwitchHourMinute() {\r\n toggleClassHandler('click', CURRENT_CLASS);\r\n\r\n EventHandler.on(this._modal, 'click', CURRENT_CLASS, () => {\r\n const current = SelectorEngine.find(CURRENT_CLASS, this._modal);\r\n const allTipsMinutes = SelectorEngine.find(`.${TIPS_MINUTES_CLASS}`, this._modal);\r\n const allTipsHours = SelectorEngine.find(`.${TIPS_HOURS_CLASS}`, this._modal);\r\n const allInnerTips = SelectorEngine.find(`.${TIPS_INNER_HOURS_CLASS}`, this._modal);\r\n const hourValue = Number(this._hour.textContent);\r\n const minuteValue = Number(this._minutes.textContent);\r\n\r\n const switchTips = (array, classes) => {\r\n allTipsHours.forEach((tip) => tip.remove());\r\n allTipsMinutes.forEach((tip) => tip.remove());\r\n Manipulator.addClass(this._hand, TRANSFORM_CLASS);\r\n\r\n setTimeout(() => {\r\n Manipulator.removeClass(this._hand, TRANSFORM_CLASS);\r\n }, 401);\r\n\r\n this._getAppendClock(array, `.${CLOCK_CLASS}`, classes);\r\n\r\n const toggleActiveClass = () => {\r\n const allTipsHours = SelectorEngine.find(`.${TIPS_HOURS_CLASS}`, this._modal);\r\n const allTipsMinutes = SelectorEngine.find(`.${TIPS_MINUTES_CLASS}`, this._modal);\r\n\r\n this._addActiveClassToTip(allTipsHours, hourValue);\r\n this._addActiveClassToTip(allTipsMinutes, minuteValue);\r\n };\r\n\r\n setTimeout(() => {\r\n toggleActiveClass();\r\n }, 401);\r\n };\r\n\r\n current.forEach((e) => {\r\n if (Manipulator.hasClass(e, ACTIVE_CLASS)) {\r\n if (Manipulator.hasClass(e, MINUTE_CLASS)) {\r\n Manipulator.addClass(this._hand, TRANSFORM_CLASS);\r\n\r\n Manipulator.addStyle(this._hand, {\r\n transform: `rotateZ(${this._minutes.textContent * 6}deg)`,\r\n height: 'calc(40% + 1px)',\r\n });\r\n\r\n if (allInnerTips.length > 0) {\r\n allInnerTips.forEach((innerTip) => innerTip.remove());\r\n }\r\n switchTips(this.minutesArray, `${TIPS_MINUTES_CLASS}`, allTipsMinutes);\r\n this._hour.style.pointerEvents = '';\r\n this._minutes.style.pointerEvents = 'none';\r\n } else if (Manipulator.hasClass(e, HOUR_CLASS)) {\r\n Manipulator.addStyle(this._hand, {\r\n transform: `rotateZ(${this._hour.textContent * 30}deg)`,\r\n });\r\n\r\n if (Number(this._hour.textContent) > 12) {\r\n Manipulator.addStyle(this._hand, {\r\n transform: `rotateZ(${this._hour.textContent * 30 - 360}deg)`,\r\n height: '21.5%',\r\n });\r\n\r\n if (Number(this._hour.textContent) > 12) {\r\n Manipulator.addStyle(this._hand, {\r\n height: '21.5%',\r\n });\r\n }\r\n } else {\r\n Manipulator.addStyle(this._hand, {\r\n height: 'calc(40% + 1px)',\r\n });\r\n }\r\n\r\n if (allInnerTips.length > 0) {\r\n allInnerTips.forEach((innerTip) => innerTip.remove());\r\n }\r\n\r\n switchTips(this.hoursArray, `${TIPS_HOURS_CLASS}`, allTipsHours);\r\n\r\n Manipulator.addStyle(this._hour, {\r\n pointerEvents: 'none',\r\n });\r\n Manipulator.addStyle(this._minutes, {\r\n pointerEvents: '',\r\n });\r\n }\r\n }\r\n });\r\n });\r\n }\r\n\r\n _handleSwitchTimeMode() {\r\n EventHandler.on(document, 'click', `.${HOUR_MODE_CLASS}`, ({ target }) => {\r\n if (!Manipulator.hasClass(target, ACTIVE_CLASS)) {\r\n const allHoursMode = SelectorEngine.find(`.${HOUR_MODE_CLASS}`);\r\n\r\n allHoursMode.forEach((element) => {\r\n if (Manipulator.hasClass(element, ACTIVE_CLASS)) {\r\n Manipulator.removeClass(element, ACTIVE_CLASS);\r\n }\r\n });\r\n\r\n Manipulator.addClass(target, ACTIVE_CLASS);\r\n }\r\n });\r\n }\r\n\r\n _handleClockClick() {\r\n const clockWrapper = SelectorEngine.findOne(`.${CLOCK_WRAPPER_CLASS}`);\r\n EventHandlerMulti.on(\r\n document,\r\n 'mousedown mouseup mousemove mouseleave mouseover touchstart touchmove touchend',\r\n '',\r\n (e) => {\r\n if (!checkBrowser()) {\r\n e.preventDefault();\r\n }\r\n\r\n const { maxHour, minHour } = this._options;\r\n const { type, target } = e;\r\n const { closeModalOnMinutesClick, switchHoursToMinutesOnClick } = this._options;\r\n const minutes = SelectorEngine.findOne(`.${TIPS_MINUTES_CLASS}`, this._modal) !== null;\r\n const hours = SelectorEngine.findOne(`.${TIPS_HOURS_CLASS}`, this._modal) !== null;\r\n const innerHours =\r\n SelectorEngine.findOne(`.${TIPS_INNER_HOURS_CLASS}`, this._modal) !== null;\r\n\r\n const allTipsMinutes = SelectorEngine.find(`.${TIPS_MINUTES_CLASS}`, this._modal);\r\n\r\n const mouseClick = findMousePosition(e, clockWrapper);\r\n const radius = clockWrapper.offsetWidth / 2;\r\n\r\n let rds = Math.atan2(mouseClick.y - radius, mouseClick.x - radius);\r\n if (checkBrowser()) {\r\n const touchClick = findMousePosition(e, clockWrapper, true);\r\n rds = Math.atan2(touchClick.y - radius, touchClick.x - radius);\r\n }\r\n\r\n let xPos = null;\r\n let yPos = null;\r\n let elFromPoint = null;\r\n\r\n if (\r\n type === 'mousedown' ||\r\n type === 'mousemove' ||\r\n type === 'touchmove' ||\r\n type === 'touchstart'\r\n ) {\r\n if (type === 'mousedown' || type === 'touchstart' || type === 'touchmove') {\r\n if (\r\n Manipulator.hasClass(target, CLOCK_WRAPPER_CLASS) ||\r\n Manipulator.hasClass(target, CLOCK_CLASS) ||\r\n Manipulator.hasClass(target, TIPS_MINUTES_CLASS) ||\r\n Manipulator.hasClass(target, CLOCK_INNER_CLASS) ||\r\n Manipulator.hasClass(target, TIPS_INNER_HOURS_CLASS) ||\r\n Manipulator.hasClass(target, TIPS_HOURS_CLASS) ||\r\n Manipulator.hasClass(target, CIRCLE_CLASS) ||\r\n Manipulator.hasClass(target, HAND_CLASS) ||\r\n Manipulator.hasClass(target, MIDDLE_DOT_CLASS) ||\r\n Manipulator.hasClass(target, TIPS_ELEMENT_CLASS) ||\r\n Manipulator.hasClass(target, TIPS_INNER_ELEMENT_CLASS)\r\n ) {\r\n this._isMouseMove = true;\r\n\r\n if (checkBrowser() && e.touches) {\r\n xPos = e.touches[0].clientX;\r\n yPos = e.touches[0].clientY;\r\n elFromPoint = document.elementFromPoint(xPos, yPos);\r\n }\r\n }\r\n }\r\n } else if (type === 'mouseup' || type === 'touchend') {\r\n this._isMouseMove = false;\r\n\r\n if (\r\n Manipulator.hasClass(target, CLOCK_CLASS) ||\r\n Manipulator.hasClass(target, CLOCK_INNER_CLASS) ||\r\n Manipulator.hasClass(target, TIPS_INNER_HOURS_CLASS) ||\r\n Manipulator.hasClass(target, TIPS_HOURS_CLASS) ||\r\n Manipulator.hasClass(target, CIRCLE_CLASS) ||\r\n Manipulator.hasClass(target, HAND_CLASS) ||\r\n Manipulator.hasClass(target, MIDDLE_DOT_CLASS) ||\r\n Manipulator.hasClass(target, TIPS_ELEMENT_CLASS) ||\r\n Manipulator.hasClass(target, TIPS_INNER_ELEMENT_CLASS)\r\n ) {\r\n if ((hours || innerHours) && switchHoursToMinutesOnClick) {\r\n EventHandler.trigger(this._minutes, 'click');\r\n }\r\n }\r\n\r\n if (minutes && closeModalOnMinutesClick) {\r\n const submitBtn = SelectorEngine.findOne(`.${BUTTON_SUBMIT_CLASS}`, this._modal);\r\n\r\n EventHandler.trigger(submitBtn, 'click');\r\n }\r\n }\r\n\r\n if (minutes) {\r\n let minute;\r\n\r\n const degrees = Math.trunc((rds * 180) / Math.PI) + 90;\r\n\r\n const { degrees: minDegrees, minute: minTimeObj } = this._makeMinutesDegrees(\r\n degrees,\r\n minute\r\n );\r\n\r\n if (this._handlerMaxMinMinutesOptions(minDegrees, minTimeObj) === undefined) {\r\n return;\r\n }\r\n\r\n const { degrees: _degrees, minute: minuteTimes } = this._handlerMaxMinMinutesOptions(\r\n minDegrees,\r\n minTimeObj\r\n );\r\n\r\n if (this._isMouseMove) {\r\n Manipulator.addStyle(this._hand, {\r\n transform: `rotateZ(${_degrees}deg)`,\r\n });\r\n\r\n if (minuteTimes === undefined) {\r\n return;\r\n }\r\n\r\n const changeMinutes = () => {\r\n return minuteTimes >= 10 || minuteTimes === '00' ? minuteTimes : `0${minuteTimes}`;\r\n };\r\n\r\n this._minutes.textContent = changeMinutes();\r\n\r\n this._toggleClassActive(this.minutesArray, this._minutes, allTipsMinutes);\r\n this._toggleBackgroundColorCircle(`${TIPS_MINUTES_CLASS}`);\r\n\r\n this._objWithDataOnChange.degreesMinutes = _degrees;\r\n this._objWithDataOnChange.minutes = minuteTimes;\r\n }\r\n }\r\n\r\n if (hours || innerHours) {\r\n let hour;\r\n\r\n let degrees = Math.trunc((rds * 180) / Math.PI) + 90;\r\n degrees = Math.round(degrees / 30) * 30;\r\n\r\n Manipulator.addStyle(this._circle, {\r\n backgroundColor: '#1976d2',\r\n });\r\n if (this._makeHourDegrees(target, degrees, hour) === undefined) {\r\n return;\r\n }\r\n const makeDegrees = () => {\r\n if (checkBrowser() && degrees) {\r\n const { degrees: touchDegrees, hour: touchHours } = this._makeHourDegrees(\r\n elFromPoint,\r\n degrees,\r\n hour\r\n );\r\n\r\n return this._handleMoveHand(elFromPoint, touchHours, touchDegrees);\r\n } else {\r\n const { degrees: movedDegrees, hour: movedHours } = this._makeHourDegrees(\r\n target,\r\n degrees,\r\n hour\r\n );\r\n\r\n return this._handleMoveHand(target, movedHours, movedDegrees);\r\n }\r\n };\r\n\r\n this._objWithDataOnChange.degreesHours = degrees;\r\n this._handlerMaxMinHoursOptions(degrees, makeDegrees, maxHour, minHour);\r\n }\r\n\r\n e.stopPropagation();\r\n }\r\n );\r\n }\r\n\r\n _handleMoveHand(target, hour, degrees) {\r\n const allTipsHours = SelectorEngine.find(`.${TIPS_HOURS_CLASS}`, this._modal);\r\n const allTipsInner = SelectorEngine.find(`.${TIPS_INNER_HOURS_CLASS}`, this._modal);\r\n\r\n if (this._isMouseMove) {\r\n if (\r\n Manipulator.hasClass(target, CLOCK_INNER_CLASS) ||\r\n Manipulator.hasClass(target, TIPS_INNER_HOURS_CLASS) ||\r\n Manipulator.hasClass(target, TIPS_INNER_ELEMENT_CLASS)\r\n ) {\r\n Manipulator.addStyle(this._hand, {\r\n height: '21.5%',\r\n });\r\n } else {\r\n Manipulator.addStyle(this._hand, {\r\n height: 'calc(40% + 1px)',\r\n });\r\n }\r\n\r\n Manipulator.addStyle(this._hand, {\r\n transform: `rotateZ(${degrees}deg)`,\r\n });\r\n\r\n this._hour.textContent = hour >= 10 || hour === '00' ? hour : `0${hour}`;\r\n\r\n this._toggleClassActive(this.hoursArray, this._hour, allTipsHours);\r\n this._toggleClassActive(this.innerHours, this._hour, allTipsInner);\r\n\r\n this._objWithDataOnChange.hour = hour >= 10 || hour === '00' ? hour : `0${hour}`;\r\n }\r\n }\r\n\r\n _handlerMaxMinMinutesOptions(degrees, minute) {\r\n const { increment, maxTime, minTime } = this._options;\r\n\r\n const maxMin = takeValue(maxTime, false)[1];\r\n const minMin = takeValue(minTime, false)[1];\r\n const maxHourTime = takeValue(maxTime, false)[0];\r\n const minHourTime = takeValue(minTime, false)[0];\r\n\r\n const maxTimeFormat = takeValue(maxTime, false)[2];\r\n const minTimeFormat = takeValue(minTime, false)[2];\r\n\r\n const maxMinDegrees = maxMin !== '' ? maxMin * 6 : '';\r\n const minMinDegrees = minMin !== '' ? minMin * 6 : '';\r\n\r\n if (maxTimeFormat === undefined && minTimeFormat === undefined) {\r\n if (maxTime !== '' && minTime !== '') {\r\n if (degrees <= maxMinDegrees && degrees >= minMinDegrees) {\r\n return degrees;\r\n }\r\n } else if (minTime !== '' && Number(this._hour.textContent) <= Number(minHourTime)) {\r\n if (degrees <= minMinDegrees - 6) {\r\n return degrees;\r\n }\r\n } else if (maxTime !== '' && Number(this._hour.textContent) >= Number(maxHourTime)) {\r\n if (degrees >= maxMinDegrees + 6) {\r\n return degrees;\r\n }\r\n }\r\n } else {\r\n // eslint-disable-next-line no-lonely-if\r\n if (minTime !== '') {\r\n if (minTimeFormat === 'PM' && this._isAmEnabled) {\r\n return;\r\n }\r\n\r\n if (minTimeFormat === 'PM' && this._isPmEnabled) {\r\n if (Number(this._hour.textContent) < Number(minHourTime)) {\r\n return;\r\n }\r\n\r\n if (Number(this._hour.textContent) <= Number(minHourTime)) {\r\n if (degrees <= minMinDegrees - 6) {\r\n return degrees;\r\n }\r\n }\r\n } else if (minTimeFormat === 'AM' && this._isAmEnabled) {\r\n if (Number(this._hour.textContent) < Number(minHourTime)) {\r\n return;\r\n }\r\n\r\n if (Number(this._hour.textContent) <= Number(minHourTime)) {\r\n if (degrees <= minMinDegrees - 6) {\r\n return degrees;\r\n }\r\n }\r\n }\r\n } else if (maxTime !== '') {\r\n if (maxTimeFormat === 'AM' && this._isPmEnabled) {\r\n return;\r\n }\r\n\r\n if (maxTimeFormat === 'PM' && this._isPmEnabled) {\r\n if (Number(this._hour.textContent) >= Number(maxHourTime)) {\r\n if (degrees >= maxMinDegrees + 6) {\r\n return degrees;\r\n }\r\n }\r\n } else if (maxTimeFormat === 'AM' && this._isAmEnabled) {\r\n if (Number(this._hour.textContent) >= Number(maxHourTime)) {\r\n if (degrees >= maxMinDegrees + 6) {\r\n return degrees;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n if (increment) {\r\n degrees = Math.round(degrees / 30) * 30;\r\n }\r\n\r\n if (degrees <= 0) {\r\n degrees = 360 + degrees;\r\n } else if (degrees >= 360) {\r\n degrees = 0;\r\n }\r\n\r\n return {\r\n degrees,\r\n minute,\r\n };\r\n }\r\n\r\n _removeModal() {\r\n setTimeout(() => {\r\n this._modal.remove();\r\n Manipulator.addStyle(this._document.body, {\r\n overflow: '',\r\n });\r\n if (!checkBrowser()) {\r\n Manipulator.addStyle(this._document.body, {\r\n paddingRight: '',\r\n });\r\n }\r\n }, 300);\r\n\r\n EventHandlerMulti.off(\r\n this._document,\r\n 'click keydown mousedown mouseup mousemove mouseleave mouseover touchmove touchend'\r\n );\r\n }\r\n\r\n _toggleBackdropAnimation(isToRemove = false) {\r\n if (isToRemove) {\r\n Manipulator.addClass(this._wrapper, 'animation');\r\n Manipulator.addClass(this._wrapper, WRAPPER_CLOSE_ANIMATION_CLASS);\r\n this._wrapper.style.animationDuration = '300ms';\r\n } else {\r\n Manipulator.addClass(this._wrapper, 'animation');\r\n Manipulator.addClass(this._wrapper, WRAPPER_OPEN_ANIMATION_CLASS);\r\n this._wrapper.style.animationDuration = '300ms';\r\n\r\n if (!this._options.inline) Manipulator.addClass(this._clock, CLOCK_ANIMATION_CLASS);\r\n }\r\n }\r\n\r\n _toggleBackgroundColorCircle = (classes) => {\r\n const tips = this._modal.querySelector(`.${classes}.${ACTIVE_CLASS}`) !== null;\r\n\r\n if (tips) {\r\n Manipulator.addStyle(this._circle, {\r\n backgroundColor: '#1976d2',\r\n });\r\n } else {\r\n Manipulator.addStyle(this._circle, {\r\n backgroundColor: 'transparent',\r\n });\r\n }\r\n };\r\n\r\n _toggleClassActive = (array, { textContent }, tips) => {\r\n const findInArray = [...array].find((e) => Number(e) === Number(textContent));\r\n\r\n return tips.forEach((e) => {\r\n if (!Manipulator.hasClass(e, 'disabled')) {\r\n if (e.textContent === findInArray) {\r\n Manipulator.addClass(e, ACTIVE_CLASS);\r\n } else {\r\n Manipulator.removeClass(e, ACTIVE_CLASS);\r\n }\r\n }\r\n });\r\n };\r\n\r\n _addActiveClassToTip(tips, value) {\r\n tips.forEach((tip) => {\r\n if (Number(tip.textContent) === Number(value)) {\r\n Manipulator.addClass(tip, ACTIVE_CLASS);\r\n }\r\n });\r\n }\r\n\r\n _makeMinutesDegrees = (degrees, minute) => {\r\n const { increment } = this._options;\r\n\r\n if (degrees < 0) {\r\n minute = Math.round(360 + degrees / 6) % 60;\r\n degrees = 360 + Math.round(degrees / 6) * 6;\r\n } else {\r\n minute = Math.round(degrees / 6) % 60;\r\n degrees = Math.round(degrees / 6) * 6;\r\n }\r\n\r\n if (increment) {\r\n degrees = Math.round(degrees / 30) * 30;\r\n minute = (Math.round(degrees / 6) * 6) / 6;\r\n\r\n if (minute === 60) {\r\n minute = '00';\r\n }\r\n }\r\n\r\n if (degrees >= 360) {\r\n degrees = 0;\r\n }\r\n\r\n return {\r\n degrees,\r\n minute,\r\n addDegrees: increment ? 30 : 6,\r\n };\r\n };\r\n\r\n _makeHourDegrees = (target, degrees, hour) => {\r\n const { maxHour, minHour } = this._options;\r\n if (!target) {\r\n return;\r\n }\r\n if (\r\n Manipulator.hasClass(target, CLOCK_INNER_CLASS) ||\r\n Manipulator.hasClass(target, TIPS_INNER_HOURS_CLASS) ||\r\n Manipulator.hasClass(target, TIPS_INNER_ELEMENT_CLASS)\r\n ) {\r\n if (degrees < 0) {\r\n hour = Math.round(360 + degrees / 30) % 24;\r\n degrees = 360 + degrees;\r\n } else {\r\n hour = Math.round(degrees / 30) + 12;\r\n if (hour === 12) {\r\n hour = '00';\r\n }\r\n }\r\n } else if (degrees < 0) {\r\n hour = Math.round(360 + degrees / 30) % 12;\r\n degrees = 360 + degrees;\r\n } else {\r\n hour = Math.round(degrees / 30) % 12;\r\n if (hour === 0 || hour > 12) {\r\n hour = 12;\r\n }\r\n }\r\n\r\n if (degrees >= 360) {\r\n degrees = 0;\r\n }\r\n\r\n if (maxHour !== '') {\r\n if (hour > Number(maxHour)) {\r\n return;\r\n }\r\n }\r\n\r\n if (minHour !== '') {\r\n if (hour < Number(minHour)) {\r\n return;\r\n }\r\n }\r\n\r\n return {\r\n degrees,\r\n hour,\r\n addDegrees: 30,\r\n };\r\n };\r\n\r\n _makeInnerHoursDegrees = (degrees, hour) => {\r\n if (degrees < 0) {\r\n hour = Math.round(360 + degrees / 30) % 24;\r\n degrees = 360 + degrees;\r\n } else {\r\n hour = Math.round(degrees / 30) + 12;\r\n if (hour === 12) {\r\n hour = '00';\r\n }\r\n }\r\n\r\n return {\r\n degrees,\r\n hour,\r\n addDegrees: 30,\r\n };\r\n };\r\n\r\n _setHourOrMinute(number) {\r\n return number < 10 ? `0${number}` : number;\r\n }\r\n\r\n _appendTimes() {\r\n this._getAppendClock(this.hoursArray, `.${CLOCK_CLASS}`, `${TIPS_HOURS_CLASS}`);\r\n }\r\n\r\n _getAppendClock = (array = [], clockClass = `.${CLOCK_CLASS}`, tipsClass) => {\r\n const { maxHour, minHour, minTime, maxTime, inline, format12 } = this._options;\r\n const [maxTimeHour, maxTimeMinutes, maxTimeFormat] = takeValue(maxTime, false);\r\n const [minTimeHour, minTimeMinutes, minTimeFormat] = takeValue(minTime, false);\r\n\r\n // fix for append clock for max/min if input has invalid value\r\n if (!inline) {\r\n if (format12) {\r\n if (this._isInvalidTimeFormat && !Manipulator.hasClass(this._AM, 'active')) {\r\n Manipulator.addClass(this._PM, 'active');\r\n }\r\n }\r\n }\r\n\r\n const hourModeActive = SelectorEngine.findOne(`.${HOUR_MODE_CLASS}.${ACTIVE_CLASS}`);\r\n\r\n const clock = SelectorEngine.findOne(clockClass);\r\n\r\n const elements = 360 / array.length;\r\n\r\n function rad(el) {\r\n return el * (Math.PI / 180);\r\n }\r\n\r\n if (clock === null) {\r\n return;\r\n }\r\n\r\n const clockWidth = (clock.offsetWidth - 32) / 2;\r\n const clockHeight = (clock.offsetHeight - 32) / 2;\r\n const radius = clockWidth - 4;\r\n\r\n [...array].forEach((e, i) => {\r\n const angle = rad(i * elements);\r\n\r\n const span = element('span');\r\n const spanToTips = element('span');\r\n\r\n spanToTips.innerHTML = e;\r\n Manipulator.addClass(span, tipsClass);\r\n\r\n const itemWidth = span.offsetWidth;\r\n const itemHeight = span.offsetHeight;\r\n\r\n Manipulator.addStyle(span, {\r\n left: `${clockWidth + Math.sin(angle) * radius - itemWidth}px`,\r\n bottom: `${clockHeight + Math.cos(angle) * radius - itemHeight}px`,\r\n });\r\n\r\n if (array.includes('05')) {\r\n Manipulator.addClass(span, `${TIPS_MINUTES_CLASS}`);\r\n }\r\n\r\n if (array.includes('13')) {\r\n spanToTips.classList.add(TIPS_INNER_ELEMENT_CLASS);\r\n } else {\r\n spanToTips.classList.add(TIPS_ELEMENT_CLASS);\r\n }\r\n\r\n if (!Manipulator.hasClass(span, `${TIPS_MINUTES_CLASS}`)) {\r\n if (maxHour !== '') {\r\n if (Number(e) > Number(maxHour)) {\r\n Manipulator.addClass(span, 'disabled');\r\n }\r\n }\r\n\r\n if (minHour !== '') {\r\n if (Number(e) < Number(minHour)) {\r\n Manipulator.addClass(span, 'disabled');\r\n }\r\n }\r\n\r\n if (maxTime !== '') {\r\n if (maxTimeFormat !== undefined) {\r\n if (maxTimeFormat === 'PM' && hourModeActive.textContent === 'PM') {\r\n this._isAmEnabled = false;\r\n this._isPmEnabled = true;\r\n if (Number(e) > Number(maxTimeHour)) {\r\n Manipulator.addClass(span, 'disabled');\r\n }\r\n }\r\n\r\n if (maxTimeFormat === 'AM' && hourModeActive.textContent === 'PM') {\r\n this._isAmEnabled = false;\r\n this._isPmEnabled = true;\r\n Manipulator.addClass(span, 'disabled');\r\n } else if (maxTimeFormat === 'AM' && hourModeActive.textContent === 'AM') {\r\n this._isAmEnabled = true;\r\n this._isPmEnabled = false;\r\n if (Number(e) > Number(maxTimeHour)) {\r\n Manipulator.addClass(span, 'disabled');\r\n }\r\n }\r\n } else {\r\n // eslint-disable-next-line no-lonely-if\r\n if (Number(e) > Number(maxTimeHour)) {\r\n Manipulator.addClass(span, 'disabled');\r\n }\r\n }\r\n }\r\n\r\n if (minTime !== '') {\r\n if (Number(e) < Number(minTimeHour)) {\r\n Manipulator.addClass(span, 'disabled');\r\n }\r\n }\r\n\r\n if (minTime !== '') {\r\n if (minTimeFormat !== undefined) {\r\n if (minTimeFormat === 'PM' && hourModeActive.textContent === 'PM') {\r\n this._isAmEnabled = false;\r\n this._isPmEnabled = true;\r\n if (Number(e) < Number(minTimeHour)) {\r\n Manipulator.addClass(span, 'disabled');\r\n }\r\n } else if (minTimeFormat === 'PM' && hourModeActive.textContent === 'AM') {\r\n this._isAmEnabled = true;\r\n this._isPmEnabled = false;\r\n Manipulator.addClass(span, 'disabled');\r\n }\r\n\r\n if (minTimeFormat === 'AM' && hourModeActive.textContent === 'PM') {\r\n this._isAmEnabled = false;\r\n this._isPmEnabled = true;\r\n Manipulator.removeClass(span, 'disabled');\r\n } else if (minTimeFormat === 'AM' && hourModeActive.textContent === 'AM') {\r\n this._isAmEnabled = true;\r\n this._isPmEnabled = false;\r\n if (Number(e) < Number(minTimeHour)) {\r\n Manipulator.addClass(span, 'disabled');\r\n }\r\n }\r\n }\r\n }\r\n } else if (Manipulator.hasClass(span, `${TIPS_MINUTES_CLASS}`)) {\r\n if (maxTime !== '') {\r\n if (\r\n Number(e) > Number(maxTimeMinutes) &&\r\n Number(this._hour.textContent) >= Number(maxTimeHour)\r\n ) {\r\n Manipulator.addClass(span, 'disabled');\r\n }\r\n }\r\n\r\n if (minTime !== '') {\r\n if (\r\n Number(e) < Number(minTimeMinutes) &&\r\n Number(this._hour.textContent) <= Number(minTimeHour)\r\n ) {\r\n Manipulator.addClass(span, 'disabled');\r\n }\r\n }\r\n\r\n if (maxTime !== '') {\r\n if (maxTimeFormat !== undefined) {\r\n if (maxTimeFormat === 'PM' && hourModeActive.textContent === 'PM') {\r\n if (\r\n Number(e) > Number(maxTimeMinutes) &&\r\n Number(this._hour.textContent) >= Number(maxTimeHour)\r\n ) {\r\n Manipulator.addClass(span, 'disabled');\r\n }\r\n } else if (maxTimeFormat === 'PM' && hourModeActive.textContent === 'AM') {\r\n Manipulator.removeClass(span, 'disabled');\r\n }\r\n\r\n if (maxTimeFormat === 'AM' && hourModeActive.textContent === 'PM') {\r\n Manipulator.addClass(span, 'disabled');\r\n } else if (maxTimeFormat === 'AM' && hourModeActive.textContent === 'AM') {\r\n if (\r\n Number(this._hour.textContent) >= Number(maxTimeHour) &&\r\n Number(e) > Number(maxTimeMinutes)\r\n ) {\r\n Manipulator.addClass(span, 'disabled');\r\n }\r\n }\r\n } else {\r\n // eslint-disable-next-line no-lonely-if\r\n if (maxTimeFormat !== undefined) {\r\n if (Number(e) > Number(maxTimeHour)) {\r\n Manipulator.addClass(span, 'disabled');\r\n }\r\n }\r\n }\r\n }\r\n\r\n if (minTime !== '') {\r\n if (minTimeFormat !== undefined) {\r\n if (minTimeFormat === 'PM' && hourModeActive.textContent === 'PM') {\r\n if (\r\n Number(e) < Number(minTimeMinutes) &&\r\n Number(this._hour.textContent) === Number(minTimeHour)\r\n ) {\r\n Manipulator.addClass(span, 'disabled');\r\n } else if (Number(this._hour.textContent) < Number(minTimeHour)) {\r\n Manipulator.addClass(span, 'disabled');\r\n }\r\n } else if (minTimeFormat === 'PM' && hourModeActive.textContent === 'AM') {\r\n Manipulator.addClass(span, 'disabled');\r\n }\r\n\r\n if (minTimeFormat === 'AM' && hourModeActive.textContent === 'PM') {\r\n Manipulator.removeClass(span, 'disabled');\r\n } else if (minTimeFormat === 'AM' && hourModeActive.textContent === 'AM') {\r\n if (\r\n Number(this._hour.textContent) === Number(minTimeHour) &&\r\n Number(e) < Number(minTimeMinutes)\r\n ) {\r\n Manipulator.addClass(span, 'disabled');\r\n } else if (Number(this._hour.textContent) < Number(minTimeHour)) {\r\n Manipulator.addClass(span, 'disabled');\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n span.appendChild(spanToTips);\r\n return clock.appendChild(span);\r\n });\r\n };\r\n\r\n _getConfig(config) {\r\n const dataAttributes = Manipulator.getDataAttributes(this._element);\r\n\r\n config = {\r\n ...Default,\r\n ...dataAttributes,\r\n ...config,\r\n };\r\n\r\n typeCheckConfig(NAME, config, DefaultType);\r\n return config;\r\n }\r\n\r\n // Static\r\n static getInstance(element) {\r\n return Data.getData(element, DATA_KEY);\r\n }\r\n\r\n static getOrCreateInstance(element, config = {}) {\r\n return (\r\n this.getInstance(element) || new this(element, typeof config === 'object' ? config : null)\r\n );\r\n }\r\n}\r\n\r\nexport default Timepicker;\r\n\r\nEventHandler.on(window, 'DOMContentLoaded', () => {\r\n SelectorEngine.find(`.${NAME}`).forEach((timepicker) => {\r\n let instance = Timepicker.getInstance(timepicker);\r\n\r\n if (!instance) {\r\n instance = new Timepicker(timepicker);\r\n }\r\n });\r\n});\r\n","/* eslint-disable import/prefer-default-export */\r\n/* eslint-disable indent */\r\n\r\nexport const getTimepickerTemplate = ({\r\n okLabel,\r\n cancelLabel,\r\n headID,\r\n footerID,\r\n bodyID,\r\n pickerID,\r\n clearLabel,\r\n showClearBtn,\r\n amLabel,\r\n pmLabel,\r\n}) => {\r\n const normalTemplate = `
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    `;\r\n\r\n return normalTemplate;\r\n};\r\n\r\nexport const getToggleButtonTemplate = (options, id) => {\r\n const { iconClass } = options;\r\n\r\n return `\r\n \r\n`;\r\n};\r\n","import Data from './dom/data';\r\nimport EventHandler from './dom/event-handler';\r\nimport SelectorEngine from './dom/selector-engine';\r\nimport Manipulator from './dom/manipulator';\r\nimport { typeCheckConfig } from './util/index';\r\nimport {\r\n LEFT_ARROW,\r\n RIGHT_ARROW,\r\n UP_ARROW,\r\n DOWN_ARROW,\r\n HOME,\r\n END,\r\n ENTER,\r\n SPACE,\r\n TAB,\r\n} from './util/keycodes';\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * Constants\r\n * ------------------------------------------------------------------------\r\n */\r\n\r\nconst NAME = 'stepper';\r\nconst DATA_KEY = 'mdb.stepper';\r\nconst SELECTOR_EXPAND = '[data-mdb-stepper=\"stepper\"]';\r\nconst EVENT_KEY = `.${DATA_KEY}`;\r\n\r\nconst STEPPER_HORIZONTAL = 'horizontal';\r\nconst STEPPER_VERTICAL = 'vertical';\r\n\r\nconst DefaultType = {\r\n stepperType: 'string',\r\n stepperLinear: 'boolean',\r\n stepperNoEditable: 'boolean',\r\n stepperActive: 'string',\r\n stepperCompleted: 'string',\r\n stepperInvalid: 'string',\r\n stepperDisabled: 'string',\r\n stepperVerticalBreakpoint: 'number',\r\n stepperMobileBreakpoint: 'number',\r\n stepperMobileBarBreakpoint: 'number',\r\n};\r\n\r\nconst Default = {\r\n stepperType: STEPPER_HORIZONTAL,\r\n stepperLinear: false,\r\n stepperNoEditable: false,\r\n stepperActive: '',\r\n stepperCompleted: '',\r\n stepperInvalid: '',\r\n stepperDisabled: '',\r\n stepperVerticalBreakpoint: 0,\r\n stepperMobileBreakpoint: 0,\r\n stepperMobileBarBreakpoint: 4,\r\n};\r\n\r\nconst EVENT_MOUSEDOWN = `mousedown${EVENT_KEY}`;\r\nconst EVENT_KEYDOWN = `keydown${EVENT_KEY}`;\r\nconst EVENT_KEYUP = `keyup${EVENT_KEY}`;\r\nconst EVENT_RESIZE = `resize${EVENT_KEY}`;\r\nconst EVENT_ANIMATIONEND = 'animationend';\r\n\r\nconst STEP_CLASS = `${NAME}-step`;\r\nconst HEAD_CLASS = `${NAME}-head`;\r\nconst CONTENT_CLASS = `${NAME}-content`;\r\nconst ACTIVE_CLASS = `${NAME}-active`;\r\nconst COMPLETED_CLASS = `${NAME}-completed`;\r\nconst INVALID_CLASS = `${NAME}-invalid`;\r\nconst DISABLED_CLASS = `${NAME}-disabled`;\r\nconst VERTICAL_CLASS = `${NAME}-${STEPPER_VERTICAL}`;\r\nconst CONTENT_HIDE_CLASS = `${NAME}-content-hide`;\r\nconst HORIZONTAL_CLASS = `${NAME}-${STEPPER_HORIZONTAL}`;\r\n\r\nclass Stepper {\r\n constructor(element, options) {\r\n this._element = element;\r\n this._options = this._getConfig(options);\r\n this._elementHeight = 0;\r\n this._steps = SelectorEngine.find(`.${STEP_CLASS}`, this._element);\r\n this._currentView = '';\r\n this._activeStepIndex = 0;\r\n this._verticalStepperStyles = [];\r\n\r\n if (this._element) {\r\n Data.setData(element, DATA_KEY, this);\r\n this._init();\r\n }\r\n }\r\n\r\n // Getters\r\n static get NAME() {\r\n return NAME;\r\n }\r\n\r\n get activeStep() {\r\n return this._steps[this._activeStepIndex];\r\n }\r\n\r\n get activeStepIndex() {\r\n return this._activeStepIndex;\r\n }\r\n\r\n // Public\r\n\r\n dispose() {\r\n this._steps.forEach((el) => {\r\n EventHandler.off(el, EVENT_MOUSEDOWN);\r\n EventHandler.off(el, EVENT_KEYDOWN);\r\n });\r\n\r\n EventHandler.off(window, EVENT_RESIZE);\r\n\r\n Data.removeData(this._element, DATA_KEY);\r\n this._element = null;\r\n }\r\n\r\n changeStep(index) {\r\n this._toggleStep(index);\r\n }\r\n\r\n nextStep() {\r\n this._toggleStep(this._activeStepIndex + 1);\r\n }\r\n\r\n previousStep() {\r\n this._toggleStep(this._activeStepIndex - 1);\r\n }\r\n\r\n // Private\r\n _init() {\r\n const activeStep = SelectorEngine.findOne(`.${ACTIVE_CLASS}`, this._element);\r\n\r\n if (activeStep) {\r\n this._activeStepIndex = this._steps.indexOf(activeStep);\r\n this._toggleStepClass(this._activeStepIndex, 'add', this._options.stepperActive);\r\n } else {\r\n this._toggleStepClass(this._activeStepIndex, 'add', ACTIVE_CLASS);\r\n this._toggleStepClass(this._activeStepIndex, 'add', this._options.stepperActive);\r\n }\r\n\r\n this._bindMouseDown();\r\n this._bindKeysNavigation();\r\n\r\n switch (this._options.stepperType) {\r\n case STEPPER_VERTICAL:\r\n this._toggleVertical();\r\n break;\r\n default:\r\n this._toggleHorizontal();\r\n break;\r\n }\r\n\r\n if (this._options.stepperVerticalBreakpoint || this._options.stepperMobileBreakpoint) {\r\n this._toggleStepperView();\r\n }\r\n\r\n this._bindResize();\r\n }\r\n\r\n _getConfig(config) {\r\n const dataAttributes = Manipulator.getDataAttributes(this._element);\r\n\r\n config = {\r\n ...Default,\r\n ...dataAttributes,\r\n ...config,\r\n };\r\n\r\n typeCheckConfig(NAME, config, DefaultType);\r\n\r\n return config;\r\n }\r\n\r\n _bindMouseDown() {\r\n this._steps.forEach((el) => {\r\n const stepHead = SelectorEngine.findOne(`.${HEAD_CLASS}`, el);\r\n\r\n EventHandler.on(stepHead, EVENT_MOUSEDOWN, (e) => {\r\n const step = SelectorEngine.parents(e.target, `.${STEP_CLASS}`)[0];\r\n const stepIndex = this._steps.indexOf(step);\r\n\r\n e.preventDefault();\r\n this._toggleStep(stepIndex);\r\n });\r\n });\r\n }\r\n\r\n _bindResize() {\r\n EventHandler.on(window, EVENT_RESIZE, () => {\r\n if (this._currentView === STEPPER_VERTICAL) {\r\n this._setSingleStepHeight(this.activeStep);\r\n }\r\n\r\n if (this._currentView === STEPPER_HORIZONTAL) {\r\n this._setHeight(this.activeStep);\r\n }\r\n\r\n if (this._options.stepperVerticalBreakpoint || this._options.stepperMobileBreakpoint) {\r\n this._toggleStepperView();\r\n }\r\n });\r\n }\r\n\r\n _toggleStepperView() {\r\n const shouldBeHorizontal = this._options.stepperVerticalBreakpoint < window.innerWidth;\r\n const shouldBeVertical = this._options.stepperVerticalBreakpoint > window.innerWidth;\r\n const shouldBeMobile = this._options.stepperMobileBreakpoint > window.innerWidth;\r\n\r\n if (shouldBeHorizontal && this._currentView !== STEPPER_HORIZONTAL) {\r\n this._toggleHorizontal();\r\n }\r\n\r\n if (shouldBeVertical && !shouldBeMobile && this._currentView !== STEPPER_VERTICAL) {\r\n this._steps.forEach((el) => {\r\n const stepContent = SelectorEngine.findOne(`.${CONTENT_CLASS}`, el);\r\n\r\n this._resetStepperHeight();\r\n this._showElement(stepContent);\r\n });\r\n\r\n this._toggleVertical();\r\n }\r\n }\r\n\r\n _toggleStep(index) {\r\n if (this._activeStepIndex === index) {\r\n return;\r\n }\r\n\r\n if (this._options.stepperNoEditable) {\r\n this._toggleDisabled();\r\n }\r\n\r\n this._showElement(SelectorEngine.findOne(`.${CONTENT_CLASS}`, this._steps[index]));\r\n this._toggleActive(index);\r\n\r\n if (index > this._activeStepIndex) {\r\n this._toggleCompleted(this._activeStepIndex);\r\n }\r\n\r\n if (this._currentView === STEPPER_HORIZONTAL) {\r\n this._animateHorizontalStep(index);\r\n } else {\r\n this._animateVerticalStep(index);\r\n this._setSingleStepHeight(this._steps[index]);\r\n }\r\n\r\n this._toggleStepTabIndex(\r\n SelectorEngine.findOne(`.${HEAD_CLASS}`, this.activeStep),\r\n SelectorEngine.findOne(`.${HEAD_CLASS}`, this._steps[index])\r\n );\r\n\r\n this._activeStepIndex = index;\r\n }\r\n\r\n _resetStepperHeight() {\r\n this._element.style.height = '';\r\n }\r\n\r\n _setStepsHeight() {\r\n this._steps.forEach((el) => {\r\n const stepContent = SelectorEngine.findOne(`.${CONTENT_CLASS}`, el);\r\n const stepComputed = window.getComputedStyle(stepContent);\r\n this._verticalStepperStyles.push({\r\n paddingTop: parseFloat(stepComputed.paddingTop),\r\n paddingBottom: parseFloat(stepComputed.paddingBottom),\r\n });\r\n const stepHeight = stepContent.scrollHeight;\r\n stepContent.style.height = `${stepHeight}px`;\r\n });\r\n }\r\n\r\n _setSingleStepHeight(step) {\r\n const stepContent = SelectorEngine.findOne(`.${CONTENT_CLASS}`, step);\r\n const isActiveStep = this.activeStep === step;\r\n const stepIndex = this._steps.indexOf(step);\r\n let stepContentHeight;\r\n\r\n if (!isActiveStep) {\r\n stepContentHeight =\r\n stepContent.scrollHeight +\r\n this._verticalStepperStyles[stepIndex].paddingTop +\r\n this._verticalStepperStyles[stepIndex].paddingBottom;\r\n } else {\r\n stepContent.style.height = '';\r\n stepContentHeight = stepContent.scrollHeight;\r\n }\r\n\r\n stepContent.style.height = `${stepContentHeight}px`;\r\n }\r\n\r\n _toggleVertical() {\r\n this._currentView = STEPPER_VERTICAL;\r\n\r\n this._toggleStepperClass(VERTICAL_CLASS);\r\n this._setStepsHeight();\r\n this._hideInactiveSteps();\r\n }\r\n\r\n _toggleHorizontal() {\r\n this._currentView = STEPPER_HORIZONTAL;\r\n\r\n this._toggleStepperClass(HORIZONTAL_CLASS);\r\n this._setHeight(this.activeStep);\r\n this._hideInactiveSteps();\r\n }\r\n\r\n _toggleStepperClass(className) {\r\n this._element.classList.remove(HORIZONTAL_CLASS, VERTICAL_CLASS);\r\n this._element.classList.add(className);\r\n\r\n if (className !== VERTICAL_CLASS) {\r\n this._steps.forEach((el) => {\r\n SelectorEngine.findOne(`.${CONTENT_CLASS}`, el).classList.remove(CONTENT_HIDE_CLASS);\r\n });\r\n }\r\n }\r\n\r\n _toggleStepClass(index, action, className) {\r\n // condition to prevent errors if the user has not set any custom classes like active, disabled etc.\r\n if (className) {\r\n this._steps[index].classList[action](className);\r\n }\r\n }\r\n\r\n _bindKeysNavigation() {\r\n this._toggleStepTabIndex(false, SelectorEngine.findOne(`.${HEAD_CLASS}`, this.activeStep));\r\n\r\n this._steps.forEach((el) => {\r\n const stepHead = SelectorEngine.findOne(`.${HEAD_CLASS}`, el);\r\n\r\n EventHandler.on(stepHead, EVENT_KEYDOWN, (e) => {\r\n const focusedStep = SelectorEngine.parents(e.currentTarget, `.${STEP_CLASS}`)[0];\r\n const nextStep = SelectorEngine.next(focusedStep, `.${STEP_CLASS}`)[0];\r\n const prevStep = SelectorEngine.prev(focusedStep, `.${STEP_CLASS}`)[0];\r\n const focusedStepHead = SelectorEngine.findOne(`.${HEAD_CLASS}`, focusedStep);\r\n const activeStepHead = SelectorEngine.findOne(`.${HEAD_CLASS}`, this.activeStep);\r\n let nextStepHead = null;\r\n let prevStepHead = null;\r\n\r\n if (nextStep) {\r\n nextStepHead = SelectorEngine.findOne(`.${HEAD_CLASS}`, nextStep);\r\n }\r\n\r\n if (prevStep) {\r\n prevStepHead = SelectorEngine.findOne(`.${HEAD_CLASS}`, prevStep);\r\n }\r\n\r\n if (e.keyCode === LEFT_ARROW && this._currentView !== STEPPER_VERTICAL) {\r\n if (prevStepHead) {\r\n this._toggleStepTabIndex(focusedStepHead, prevStepHead);\r\n this._toggleOutlineStyles(focusedStepHead, prevStepHead);\r\n\r\n prevStepHead.focus();\r\n } else if (nextStepHead) {\r\n this._toggleStepTabIndex(focusedStepHead, nextStepHead);\r\n this._toggleOutlineStyles(focusedStepHead, nextStepHead);\r\n\r\n nextStepHead.focus();\r\n }\r\n }\r\n\r\n if (e.keyCode === RIGHT_ARROW && this._currentView !== STEPPER_VERTICAL) {\r\n if (nextStepHead) {\r\n this._toggleStepTabIndex(focusedStepHead, nextStepHead);\r\n this._toggleOutlineStyles(focusedStepHead, nextStepHead);\r\n\r\n nextStepHead.focus();\r\n } else if (prevStepHead) {\r\n this._toggleStepTabIndex(focusedStepHead, prevStepHead);\r\n this._toggleOutlineStyles(focusedStepHead, prevStepHead);\r\n\r\n prevStepHead.focus();\r\n }\r\n }\r\n\r\n if (e.keyCode === DOWN_ARROW && this._currentView === STEPPER_VERTICAL) {\r\n e.preventDefault();\r\n\r\n if (nextStepHead) {\r\n this._toggleStepTabIndex(focusedStepHead, nextStepHead);\r\n this._toggleOutlineStyles(focusedStepHead, nextStepHead);\r\n\r\n nextStepHead.focus();\r\n }\r\n }\r\n\r\n if (e.keyCode === UP_ARROW && this._currentView === STEPPER_VERTICAL) {\r\n e.preventDefault();\r\n\r\n if (prevStepHead) {\r\n this._toggleStepTabIndex(focusedStepHead, prevStepHead);\r\n this._toggleOutlineStyles(focusedStepHead, prevStepHead);\r\n\r\n prevStepHead.focus();\r\n }\r\n }\r\n\r\n if (e.keyCode === HOME) {\r\n const firstStepHead = SelectorEngine.findOne(`.${HEAD_CLASS}`, this._steps[0]);\r\n\r\n this._toggleStepTabIndex(focusedStepHead, firstStepHead);\r\n this._toggleOutlineStyles(focusedStepHead, firstStepHead);\r\n\r\n firstStepHead.focus();\r\n }\r\n\r\n if (e.keyCode === END) {\r\n const lastStep = this._steps[this._steps.length - 1];\r\n const lastStepHead = SelectorEngine.findOne(`.${HEAD_CLASS}`, lastStep);\r\n this._toggleStepTabIndex(focusedStepHead, lastStepHead);\r\n this._toggleOutlineStyles(focusedStepHead, lastStepHead);\r\n\r\n lastStepHead.focus();\r\n }\r\n\r\n if (e.keyCode === ENTER || e.keyCode === SPACE) {\r\n e.preventDefault();\r\n\r\n this.changeStep(this._steps.indexOf(focusedStep));\r\n }\r\n\r\n if (e.keyCode === TAB) {\r\n this._toggleStepTabIndex(focusedStepHead, activeStepHead);\r\n this._toggleOutlineStyles(focusedStepHead, false);\r\n\r\n activeStepHead.focus();\r\n }\r\n });\r\n\r\n EventHandler.on(stepHead, EVENT_KEYUP, (e) => {\r\n const focusedStep = SelectorEngine.parents(e.currentTarget, `.${STEP_CLASS}`)[0];\r\n const focusedStepHead = SelectorEngine.findOne(`.${HEAD_CLASS}`, focusedStep);\r\n const activeStepHead = SelectorEngine.findOne(`.${HEAD_CLASS}`, this.activeStep);\r\n\r\n if (e.keyCode === TAB) {\r\n this._toggleStepTabIndex(focusedStepHead, activeStepHead);\r\n this._toggleOutlineStyles(false, activeStepHead);\r\n\r\n activeStepHead.focus();\r\n }\r\n });\r\n });\r\n }\r\n\r\n _toggleStepTabIndex(focusedElement, newTarget) {\r\n if (focusedElement) {\r\n focusedElement.setAttribute('tabIndex', -1);\r\n }\r\n\r\n if (newTarget) {\r\n newTarget.setAttribute('tabIndex', 0);\r\n }\r\n }\r\n\r\n _toggleOutlineStyles(focusedElement, newTarget) {\r\n if (focusedElement) {\r\n focusedElement.style.outline = '';\r\n }\r\n\r\n if (newTarget) {\r\n newTarget.style.outline = 'revert';\r\n }\r\n }\r\n\r\n _toggleDisabled() {\r\n this._toggleStepClass(this._activeStepIndex, 'add', DISABLED_CLASS);\r\n this._toggleStepClass(this._activeStepIndex, 'add', this._options.stepperDisabled);\r\n }\r\n\r\n _toggleActive(index) {\r\n this._toggleStepClass(index, 'add', ACTIVE_CLASS);\r\n this._toggleStepClass(this._activeStepIndex, 'remove', ACTIVE_CLASS);\r\n this._toggleStepClass(index, 'add', this._options.stepperActive);\r\n this._toggleStepClass(this._activeStepIndex, 'remove', this._options.stepperActive);\r\n }\r\n\r\n _toggleCompleted(index) {\r\n this._toggleStepClass(index, 'add', COMPLETED_CLASS);\r\n this._toggleStepClass(index, 'remove', INVALID_CLASS);\r\n this._toggleStepClass(index, 'add', this._options.stepperCompleted);\r\n this._toggleStepClass(index, 'remove', this._options.stepperInvalid);\r\n }\r\n\r\n _hideInactiveSteps() {\r\n this._steps.forEach((el) => {\r\n if (!el.classList.contains(ACTIVE_CLASS)) {\r\n this._hideElement(SelectorEngine.findOne(`.${CONTENT_CLASS}`, el));\r\n }\r\n });\r\n }\r\n\r\n _setHeight(stepElement) {\r\n const stepContent = SelectorEngine.findOne(`.${CONTENT_CLASS}`, stepElement);\r\n const contentStyle = getComputedStyle(stepContent);\r\n const stepHead = SelectorEngine.findOne(`.${HEAD_CLASS}`, stepElement);\r\n\r\n const headStyle = getComputedStyle(stepHead);\r\n const stepContentHeight =\r\n stepContent.offsetHeight +\r\n parseFloat(contentStyle.marginTop) +\r\n parseFloat(contentStyle.marginBottom);\r\n\r\n const stepHeadHeight =\r\n stepHead.offsetHeight + parseFloat(headStyle.marginTop) + parseFloat(headStyle.marginBottom);\r\n\r\n this._element.style.height = `${stepHeadHeight + stepContentHeight}px`;\r\n }\r\n\r\n _hideElement(stepContent) {\r\n const isActive = SelectorEngine.parents(stepContent, `.${STEP_CLASS}`)[0].classList.contains(\r\n ACTIVE_CLASS\r\n );\r\n\r\n // prevent hiding during a quick step change\r\n if (!isActive && this._currentView !== STEPPER_VERTICAL) {\r\n stepContent.style.display = 'none';\r\n } else {\r\n stepContent.classList.add(CONTENT_HIDE_CLASS);\r\n }\r\n }\r\n\r\n _showElement(stepContent) {\r\n if (this._currentView === STEPPER_VERTICAL) {\r\n stepContent.classList.remove(CONTENT_HIDE_CLASS);\r\n } else {\r\n stepContent.style.display = 'block';\r\n }\r\n }\r\n\r\n _animateHorizontalStep(index) {\r\n const isForward = index > this._activeStepIndex;\r\n const nextStepContent = SelectorEngine.findOne(`.${CONTENT_CLASS}`, this._steps[index]);\r\n const activeStepContent = SelectorEngine.findOne(`.${CONTENT_CLASS}`, this.activeStep);\r\n\r\n let nextStepAnimation;\r\n let activeStepAnimation;\r\n\r\n this._steps.forEach((el, i) => {\r\n const stepContent = SelectorEngine.findOne(`.${CONTENT_CLASS}`, el);\r\n\r\n this._clearStepAnimation(stepContent);\r\n\r\n if (i !== index && i !== this._activeStepIndex) {\r\n this._hideElement(stepContent);\r\n }\r\n });\r\n\r\n if (isForward) {\r\n activeStepAnimation = 'slide-out-left';\r\n nextStepAnimation = 'slide-in-right';\r\n } else {\r\n activeStepAnimation = 'slide-out-right';\r\n nextStepAnimation = 'slide-in-left';\r\n }\r\n\r\n activeStepContent.classList.add(activeStepAnimation, 'animation', 'fast');\r\n nextStepContent.classList.add(nextStepAnimation, 'animation', 'fast');\r\n\r\n this._setHeight(this._steps[index]);\r\n\r\n EventHandler.one(activeStepContent, EVENT_ANIMATIONEND, (e) => {\r\n this._clearStepAnimation(e.target);\r\n this._hideElement(e.target);\r\n });\r\n\r\n EventHandler.one(nextStepContent, EVENT_ANIMATIONEND, (e) => {\r\n this._clearStepAnimation(e.target);\r\n });\r\n }\r\n\r\n _animateVerticalStep(index) {\r\n const nextStepContent = SelectorEngine.findOne(`.${CONTENT_CLASS}`, this._steps[index]);\r\n const activeStepContent = SelectorEngine.findOne(`.${CONTENT_CLASS}`, this.activeStep);\r\n\r\n this._hideElement(activeStepContent);\r\n this._showElement(nextStepContent);\r\n }\r\n\r\n _clearStepAnimation(element) {\r\n element.classList.remove(\r\n 'slide-out-left',\r\n 'slide-in-right',\r\n 'slide-out-right',\r\n 'slide-in-left',\r\n 'animation',\r\n 'fast'\r\n );\r\n }\r\n\r\n static getInstance(element) {\r\n return Data.getData(element, DATA_KEY);\r\n }\r\n\r\n static getOrCreateInstance(element, config = {}) {\r\n return (\r\n this.getInstance(element) || new this(element, typeof config === 'object' ? config : null)\r\n );\r\n }\r\n}\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * Data Api implementation - auto initialization\r\n * ------------------------------------------------------------------------\r\n */\r\n\r\nSelectorEngine.find(SELECTOR_EXPAND).forEach((el) => {\r\n let instance = Stepper.getInstance(el);\r\n if (!instance) {\r\n instance = new Stepper(el);\r\n }\r\n\r\n return instance;\r\n});\r\n\r\nexport default Stepper;\r\n","// BOOTSTRAP CORE COMPONENTS\r\nimport Button from './bs/src/button';\r\nimport Dropdown from './bs/src/dropdown';\r\nimport Collapse from './bs/src/collapse';\r\nimport Offcanvas from './bs/src/offcanvas';\r\nimport Alert from './bs/src/alert';\r\nimport Carousel from './bs/src/carousel';\r\nimport Modal from './bs/src/modal';\r\nimport Popover from './bs/src/popover';\r\nimport ScrollSpy from './bs/src/scrollspy';\r\nimport Tab from './bs/src/tab';\r\nimport Tooltip from './bs/src/tooltip';\r\nimport Toast from './bs/src/toast';\r\n\r\n// MDB COMPONENTS\r\nimport Ripple from './mdb/ripple';\r\nimport Datepicker from './mdb/datepicker';\r\nimport Timepicker from './mdb/timepicker';\r\nimport Stepper from './mdb/stepper';\r\n\r\nwindow.Alert = Alert;\r\nwindow.Button = Button;\r\nwindow.Dropdown = Dropdown;\r\nwindow.Carousel = Carousel;\r\nwindow.Collapse = Collapse;\r\nwindow.Offcanvas = Offcanvas;\r\nwindow.Modal = Modal;\r\nwindow.Popover = Popover;\r\nwindow.ScrollSpy = ScrollSpy;\r\nwindow.Tab = Tab;\r\nwindow.Toast = Toast;\r\nwindow.Tooltip = Tooltip;\r\nwindow.Ripple = Ripple;\r\nwindow.Datepicker = Datepicker;\r\nwindow.Timepicker = Timepicker;\r\nwindow.Stepper = Stepper;\r\n"],"sourceRoot":""} \ No newline at end of file diff --git a/site/static/js/new-prism.js b/site/static/js/new-prism.js index 6a9ba3363..725d384a3 100644 --- a/site/static/js/new-prism.js +++ b/site/static/js/new-prism.js @@ -2392,7 +2392,7 @@ Prism.languages.scss['atrule'].inside.rest = Prism.languages.scss; Prism.plugins.toolbar.registerButton('copy-to-clipboard', function (env) { var linkCopy = document.createElement('button'); linkCopy.innerHTML = 'Copy'; - linkCopy.classList = 'btn-copy-code text-blue-500 bg-transparent border border-solid border-blue-500 hover:bg-blue-500 hover:text-white active:bg-blue-600 font-bold uppercase text-sm px-4 py-2 rounded outline-none focus:outline-none mr-1 mb-1 ease-linear transition-all duration-150'; + linkCopy.classList = 'btn-copy-code text-gray-500 text-xs leading-[1.6] !top-[16px] bg-transparent font-bold uppercase text-sm px-4 py-2 outline-none focus:outline-none'; if (!ClipboardJS) { callbacks.push(registerClipboard); diff --git a/site/static/js/plugin.js b/site/static/js/plugin.js deleted file mode 100644 index ac36566c4..000000000 --- a/site/static/js/plugin.js +++ /dev/null @@ -1,19 +0,0 @@ -const plugin = require('tailwindcss/plugin'); -const bsComponents = require('./bs-styles'); - -module.exports = plugin( - ({ addComponents }) => { - addComponents(bsComponents); - }, - { - theme: { - extend: { - fontFamily: { - sans: ['Inter', 'sans-serif'], - body: ['Inter', 'sans-serif'], - mono: ['ui-monospace', 'monospace'], - }, - }, - }, - } -); diff --git a/site/static/js/theme.js b/site/static/js/theme.js new file mode 100644 index 000000000..aa00ad68d --- /dev/null +++ b/site/static/js/theme.js @@ -0,0 +1,162 @@ +class ThemeSwitcher { + constructor(element) { + this.element = element; + this.themeSwitcherButton = this.element.querySelector("button"); + this.themeSwitcherItems = this.element.querySelectorAll("a"); + + this.activeTheme = "light"; + this.customTogglers = []; + + this.init(); + } + + init() { + if (!("theme" in localStorage)) { + this.setLightTheme(); + // this.setSystemTheme(); + } else if (localStorage.theme === "dark") { + this.setDarkTheme(); + } else { + this.setLightTheme(); + } + + this.addEventListeners(); + this.initCustomTogglers(); + this.setCustomTogglersState(); + } + + setSystemTheme() { + if (window.matchMedia("(prefers-color-scheme: dark)").matches) { + document.documentElement.classList.add("dark"); + this.setActiveThemeIcon("dark"); + this.activeTheme = "dark"; + } else { + document.documentElement.classList.remove("dark"); + this.setActiveThemeIcon("light"); + this.activeTheme = "light"; + } + this.setActiveDropdownItem("system"); + } + + setDarkTheme() { + document.documentElement.classList.add("dark"); + localStorage.theme = "dark"; + this.setActiveThemeIcon("dark"); + this.setActiveDropdownItem("dark"); + this.activeTheme = "dark"; + this.customTogglers.forEach((customToggler) => { + customToggler.checked = true; + }); + } + + setLightTheme() { + document.documentElement.classList.remove("dark"); + localStorage.theme = "light"; + this.setActiveThemeIcon("light"); + this.setActiveDropdownItem("light"); + this.activeTheme = "light"; + this.customTogglers.forEach((customToggler) => { + customToggler.checked = false; + }); + } + + setActiveThemeIcon(theme) { + this.themeSwitcherButton.innerHTML = this.element.querySelector( + `[data-theme-icon=${theme}]` + ).innerHTML; + } + + setActiveDropdownItem(theme) { + this.element.querySelectorAll("[data-theme-icon]").forEach((item) => { + item.classList.remove("text-primary-500"); + }); + this.element.querySelectorAll("[data-theme-name]").forEach((item) => { + item.classList.remove("text-primary-500"); + }); + this.element + .querySelector(`[data-theme-icon=${theme}]`) + .classList.add("text-primary-500"); + this.element + .querySelector(`[data-theme-name=${theme}]`) + .classList.add("text-primary-500"); + } + + onThemeSwitcherItemClick(event) { + const theme = event.target.dataset.theme; + + if (theme === "system") { + localStorage.removeItem("theme"); + this.setSystemTheme(); + } else if (theme === "dark") { + this.setDarkTheme(); + } else { + this.setLightTheme(); + } + + this.setCustomTogglersState(); + } + + onThemeSwitcherShortCut() { + if (!("theme" in localStorage)) { + document.querySelector("html").classList.contains("dark") + ? this.setLightTheme() + : this.setDarkTheme(); + } else if (localStorage.theme === "dark") { + this.setLightTheme(); + } else { + this.setDarkTheme(); + } + } + + addEventListeners() { + const bindedOnThemeSwitcherItemClick = + this.onThemeSwitcherItemClick.bind(this); + + this.themeSwitcherItems.forEach((item) => { + item.addEventListener("click", bindedOnThemeSwitcherItemClick); + }); + } + + toggleDarkOrLightTheme() { + if (this.activeTheme === "dark") { + this.setLightTheme(); + } else { + this.setDarkTheme(); + } + + this.setCustomTogglersState(); + } + + initCustomTogglers() { + this.customTogglers = document.querySelectorAll("[data-te-theme-toggler]"); + + this.customTogglers.forEach((customToggler) => { + customToggler.addEventListener("change", () => + this.toggleDarkOrLightTheme() + ); + }); + } + + setCustomTogglersState() { + this.customTogglers.forEach((customToggler) => { + if (this.activeTheme === "dark") { + customToggler.checked = true; + } else { + customToggler.checked = false; + } + }); + + window.addEventListener("keydown", (event) => { + if (document.activeElement === document.body && event.key.toLocaleLowerCase() === "d" && event.shiftKey) { + this.onThemeSwitcherShortCut(event); + } + }); + } +} + +const themeSwitcher = document.querySelector("#theme-switcher"); +let themeInstance; + +if (themeSwitcher) { + themeInstance = new ThemeSwitcher(themeSwitcher); +} diff --git a/site/static/js/util/backdrop.js b/site/static/js/util/backdrop.js deleted file mode 100644 index 04c763518..000000000 --- a/site/static/js/util/backdrop.js +++ /dev/null @@ -1,130 +0,0 @@ -/** - * -------------------------------------------------------------------------- - * Bootstrap (v5.1.3): util/backdrop.js - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) - * -------------------------------------------------------------------------- - */ - -import EventHandler from '../dom/event-handler' -import { execute, executeAfterTransition, getElement, reflow, typeCheckConfig } from './index' - -const Default = { - className: 'modal-backdrop', - isVisible: true, // if false, we use the backdrop helper without adding any element to the dom - isAnimated: false, - rootElement: 'body', // give the choice to place backdrop under different elements - clickCallback: null -} - -const DefaultType = { - className: 'string', - isVisible: 'boolean', - isAnimated: 'boolean', - rootElement: '(element|string)', - clickCallback: '(function|null)' -} -const NAME = 'backdrop' -const CLASS_NAME_FADE = 'fade' -const CLASS_NAME_SHOW = 'show' - -const EVENT_MOUSEDOWN = `mousedown.bs.${NAME}` - -class Backdrop { - constructor(config) { - this._config = this._getConfig(config) - this._isAppended = false - this._element = null - } - - show(callback) { - if (!this._config.isVisible) { - execute(callback) - return - } - - this._append() - - if (this._config.isAnimated) { - reflow(this._getElement()) - } - - this._getElement().classList.add(CLASS_NAME_SHOW) - - this._emulateAnimation(() => { - execute(callback) - }) - } - - hide(callback) { - if (!this._config.isVisible) { - execute(callback) - return - } - - this._getElement().classList.remove(CLASS_NAME_SHOW) - - this._emulateAnimation(() => { - this.dispose() - execute(callback) - }) - } - - // Private - - _getElement() { - if (!this._element) { - const backdrop = document.createElement('div') - backdrop.className = this._config.className - if (this._config.isAnimated) { - backdrop.classList.add(CLASS_NAME_FADE) - } - - this._element = backdrop - } - - return this._element - } - - _getConfig(config) { - config = { - ...Default, - ...(typeof config === 'object' ? config : {}) - } - - // use getElement() with the default "body" to get a fresh Element on each instantiation - config.rootElement = getElement(config.rootElement) - typeCheckConfig(NAME, config, DefaultType) - return config - } - - _append() { - if (this._isAppended) { - return - } - - this._config.rootElement.append(this._getElement()) - - EventHandler.on(this._getElement(), EVENT_MOUSEDOWN, () => { - execute(this._config.clickCallback) - }) - - this._isAppended = true - } - - dispose() { - if (!this._isAppended) { - return - } - - EventHandler.off(this._element, EVENT_MOUSEDOWN) - - this._element.remove() - this._isAppended = false - } - - _emulateAnimation(callback) { - executeAfterTransition(callback, this._getElement(), this._config.isAnimated) - } -} - -export default Backdrop diff --git a/site/static/js/util/component-functions.js b/site/static/js/util/component-functions.js deleted file mode 100644 index bd44c3fdc..000000000 --- a/site/static/js/util/component-functions.js +++ /dev/null @@ -1,34 +0,0 @@ -/** - * -------------------------------------------------------------------------- - * Bootstrap (v5.1.3): util/component-functions.js - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) - * -------------------------------------------------------------------------- - */ - -import EventHandler from '../dom/event-handler' -import { getElementFromSelector, isDisabled } from './index' - -const enableDismissTrigger = (component, method = 'hide') => { - const clickEvent = `click.dismiss${component.EVENT_KEY}` - const name = component.NAME - - EventHandler.on(document, clickEvent, `[data-bs-dismiss="${name}"]`, function (event) { - if (['A', 'AREA'].includes(this.tagName)) { - event.preventDefault() - } - - if (isDisabled(this)) { - return - } - - const target = getElementFromSelector(this) || this.closest(`.${name}`) - const instance = component.getOrCreateInstance(target) - - // Method argument is left, for Alert and only, as it doesn't implement the 'hide' method - instance[method]() - }) -} - -export { - enableDismissTrigger -} diff --git a/site/static/js/util/focustrap.js b/site/static/js/util/focustrap.js deleted file mode 100644 index 44d5f47eb..000000000 --- a/site/static/js/util/focustrap.js +++ /dev/null @@ -1,105 +0,0 @@ -/** - * -------------------------------------------------------------------------- - * Bootstrap (v5.1.3): util/focustrap.js - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) - * -------------------------------------------------------------------------- - */ - -import EventHandler from '../dom/event-handler' -import SelectorEngine from '../dom/selector-engine' -import { typeCheckConfig } from './index' - -const Default = { - trapElement: null, // The element to trap focus inside of - autofocus: true -} - -const DefaultType = { - trapElement: 'element', - autofocus: 'boolean' -} - -const NAME = 'focustrap' -const DATA_KEY = 'bs.focustrap' -const EVENT_KEY = `.${DATA_KEY}` -const EVENT_FOCUSIN = `focusin${EVENT_KEY}` -const EVENT_KEYDOWN_TAB = `keydown.tab${EVENT_KEY}` - -const TAB_KEY = 'Tab' -const TAB_NAV_FORWARD = 'forward' -const TAB_NAV_BACKWARD = 'backward' - -class FocusTrap { - constructor(config) { - this._config = this._getConfig(config) - this._isActive = false - this._lastTabNavDirection = null - } - - activate() { - const { trapElement, autofocus } = this._config - - if (this._isActive) { - return - } - - if (autofocus) { - trapElement.focus() - } - - EventHandler.off(document, EVENT_KEY) // guard against infinite focus loop - EventHandler.on(document, EVENT_FOCUSIN, event => this._handleFocusin(event)) - EventHandler.on(document, EVENT_KEYDOWN_TAB, event => this._handleKeydown(event)) - - this._isActive = true - } - - deactivate() { - if (!this._isActive) { - return - } - - this._isActive = false - EventHandler.off(document, EVENT_KEY) - } - - // Private - - _handleFocusin(event) { - const { target } = event - const { trapElement } = this._config - - if (target === document || target === trapElement || trapElement.contains(target)) { - return - } - - const elements = SelectorEngine.focusableChildren(trapElement) - - if (elements.length === 0) { - trapElement.focus() - } else if (this._lastTabNavDirection === TAB_NAV_BACKWARD) { - elements[elements.length - 1].focus() - } else { - elements[0].focus() - } - } - - _handleKeydown(event) { - if (event.key !== TAB_KEY) { - return - } - - this._lastTabNavDirection = event.shiftKey ? TAB_NAV_BACKWARD : TAB_NAV_FORWARD - } - - _getConfig(config) { - config = { - ...Default, - ...(typeof config === 'object' ? config : {}) - } - typeCheckConfig(NAME, config, DefaultType) - return config - } -} - -export default FocusTrap diff --git a/site/static/js/util/index.js b/site/static/js/util/index.js deleted file mode 100644 index d05a3cbd7..000000000 --- a/site/static/js/util/index.js +++ /dev/null @@ -1,333 +0,0 @@ -/** - * -------------------------------------------------------------------------- - * Bootstrap (v5.1.3): util/index.js - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) - * -------------------------------------------------------------------------- - */ - -const MAX_UID = 1000000 -const MILLISECONDS_MULTIPLIER = 1000 -const TRANSITION_END = 'transitionend' - -// Shoutout AngusCroll (https://goo.gl/pxwQGp) -const toType = obj => { - if (obj === null || obj === undefined) { - return `${obj}` - } - - return {}.toString.call(obj).match(/\s([a-z]+)/i)[1].toLowerCase() -} - -/** - * -------------------------------------------------------------------------- - * Public Util Api - * -------------------------------------------------------------------------- - */ - -const getUID = prefix => { - do { - prefix += Math.floor(Math.random() * MAX_UID) - } while (document.getElementById(prefix)) - - return prefix -} - -const getSelector = element => { - let selector = element.getAttribute('data-bs-target') - - if (!selector || selector === '#') { - let hrefAttr = element.getAttribute('href') - - // The only valid content that could double as a selector are IDs or classes, - // so everything starting with `#` or `.`. If a "real" URL is used as the selector, - // `document.querySelector` will rightfully complain it is invalid. - // See https://github.com/twbs/bootstrap/issues/32273 - if (!hrefAttr || (!hrefAttr.includes('#') && !hrefAttr.startsWith('.'))) { - return null - } - - // Just in case some CMS puts out a full URL with the anchor appended - if (hrefAttr.includes('#') && !hrefAttr.startsWith('#')) { - hrefAttr = `#${hrefAttr.split('#')[1]}` - } - - selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : null - } - - return selector -} - -const getSelectorFromElement = element => { - const selector = getSelector(element) - - if (selector) { - return document.querySelector(selector) ? selector : null - } - - return null -} - -const getElementFromSelector = element => { - const selector = getSelector(element) - - return selector ? document.querySelector(selector) : null -} - -const getTransitionDurationFromElement = element => { - if (!element) { - return 0 - } - - // Get transition-duration of the element - let { transitionDuration, transitionDelay } = window.getComputedStyle(element) - - const floatTransitionDuration = Number.parseFloat(transitionDuration) - const floatTransitionDelay = Number.parseFloat(transitionDelay) - - // Return 0 if element or transition duration is not found - if (!floatTransitionDuration && !floatTransitionDelay) { - return 0 - } - - // If multiple durations are defined, take the first - transitionDuration = transitionDuration.split(',')[0] - transitionDelay = transitionDelay.split(',')[0] - - return (Number.parseFloat(transitionDuration) + Number.parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER -} - -const triggerTransitionEnd = element => { - element.dispatchEvent(new Event(TRANSITION_END)) -} - -const isElement = obj => { - if (!obj || typeof obj !== 'object') { - return false - } - - if (typeof obj.jquery !== 'undefined') { - obj = obj[0] - } - - return typeof obj.nodeType !== 'undefined' -} - -const getElement = obj => { - if (isElement(obj)) { // it's a jQuery object or a node element - return obj.jquery ? obj[0] : obj - } - - if (typeof obj === 'string' && obj.length > 0) { - return document.querySelector(obj) - } - - return null -} - -const typeCheckConfig = (componentName, config, configTypes) => { - Object.keys(configTypes).forEach(property => { - const expectedTypes = configTypes[property] - const value = config[property] - const valueType = value && isElement(value) ? 'element' : toType(value) - - if (!new RegExp(expectedTypes).test(valueType)) { - throw new TypeError( - `${componentName.toUpperCase()}: Option "${property}" provided type "${valueType}" but expected type "${expectedTypes}".` - ) - } - }) -} - -const isVisible = element => { - if (!isElement(element) || element.getClientRects().length === 0) { - return false - } - - return getComputedStyle(element).getPropertyValue('visibility') === 'visible' -} - -const isDisabled = element => { - if (!element || element.nodeType !== Node.ELEMENT_NODE) { - return true - } - - if (element.classList.contains('disabled')) { - return true - } - - if (typeof element.disabled !== 'undefined') { - return element.disabled - } - - return element.hasAttribute('disabled') && element.getAttribute('disabled') !== 'false' -} - -const findShadowRoot = element => { - if (!document.documentElement.attachShadow) { - return null - } - - // Can find the shadow root otherwise it'll return the document - if (typeof element.getRootNode === 'function') { - const root = element.getRootNode() - return root instanceof ShadowRoot ? root : null - } - - if (element instanceof ShadowRoot) { - return element - } - - // when we don't find a shadow root - if (!element.parentNode) { - return null - } - - return findShadowRoot(element.parentNode) -} - -const noop = () => {} - -/** - * Trick to restart an element's animation - * - * @param {HTMLElement} element - * @return void - * - * @see https://www.charistheo.io/blog/2021/02/restart-a-css-animation-with-javascript/#restarting-a-css-animation - */ -const reflow = element => { - // eslint-disable-next-line no-unused-expressions - element.offsetHeight -} - -const getjQuery = () => { - const { jQuery } = window - - if (jQuery && !document.body.hasAttribute('data-bs-no-jquery')) { - return jQuery - } - - return null -} - -const DOMContentLoadedCallbacks = [] - -const onDOMContentLoaded = callback => { - if (document.readyState === 'loading') { - // add listener on the first call when the document is in loading state - if (!DOMContentLoadedCallbacks.length) { - document.addEventListener('DOMContentLoaded', () => { - DOMContentLoadedCallbacks.forEach(callback => callback()) - }) - } - - DOMContentLoadedCallbacks.push(callback) - } else { - callback() - } -} - -const isRTL = () => document.documentElement.dir === 'rtl' - -const defineJQueryPlugin = plugin => { - onDOMContentLoaded(() => { - const $ = getjQuery() - /* istanbul ignore if */ - if ($) { - const name = plugin.NAME - const JQUERY_NO_CONFLICT = $.fn[name] - $.fn[name] = plugin.jQueryInterface - $.fn[name].Constructor = plugin - $.fn[name].noConflict = () => { - $.fn[name] = JQUERY_NO_CONFLICT - return plugin.jQueryInterface - } - } - }) -} - -const execute = callback => { - if (typeof callback === 'function') { - callback() - } -} - -const executeAfterTransition = (callback, transitionElement, waitForTransition = true) => { - if (!waitForTransition) { - execute(callback) - return - } - - const durationPadding = 5 - const emulatedDuration = getTransitionDurationFromElement(transitionElement) + durationPadding - - let called = false - - const handler = ({ target }) => { - if (target !== transitionElement) { - return - } - - called = true - transitionElement.removeEventListener(TRANSITION_END, handler) - execute(callback) - } - - transitionElement.addEventListener(TRANSITION_END, handler) - setTimeout(() => { - if (!called) { - triggerTransitionEnd(transitionElement) - } - }, emulatedDuration) -} - -/** - * Return the previous/next element of a list. - * - * @param {array} list The list of elements - * @param activeElement The active element - * @param shouldGetNext Choose to get next or previous element - * @param isCycleAllowed - * @return {Element|elem} The proper element - */ -const getNextActiveElement = (list, activeElement, shouldGetNext, isCycleAllowed) => { - let index = list.indexOf(activeElement) - - // if the element does not exist in the list return an element depending on the direction and if cycle is allowed - if (index === -1) { - return list[!shouldGetNext && isCycleAllowed ? list.length - 1 : 0] - } - - const listLength = list.length - - index += shouldGetNext ? 1 : -1 - - if (isCycleAllowed) { - index = (index + listLength) % listLength - } - - return list[Math.max(0, Math.min(index, listLength - 1))] -} - -export { - getElement, - getUID, - getSelectorFromElement, - getElementFromSelector, - getTransitionDurationFromElement, - triggerTransitionEnd, - isElement, - typeCheckConfig, - isVisible, - isDisabled, - findShadowRoot, - noop, - getNextActiveElement, - reflow, - getjQuery, - onDOMContentLoaded, - isRTL, - defineJQueryPlugin, - execute, - executeAfterTransition -} diff --git a/site/static/js/util/sanitizer.js b/site/static/js/util/sanitizer.js deleted file mode 100644 index 339c916c6..000000000 --- a/site/static/js/util/sanitizer.js +++ /dev/null @@ -1,126 +0,0 @@ -/** - * -------------------------------------------------------------------------- - * Bootstrap (v5.1.3): util/sanitizer.js - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) - * -------------------------------------------------------------------------- - */ - -const uriAttributes = new Set([ - 'background', - 'cite', - 'href', - 'itemtype', - 'longdesc', - 'poster', - 'src', - 'xlink:href' -]) - -const ARIA_ATTRIBUTE_PATTERN = /^aria-[\w-]*$/i - -/** - * A pattern that recognizes a commonly useful subset of URLs that are safe. - * - * Shoutout to Angular https://github.com/angular/angular/blob/12.2.x/packages/core/src/sanitization/url_sanitizer.ts - */ -const SAFE_URL_PATTERN = /^(?:(?:https?|mailto|ftp|tel|file|sms):|[^#&/:?]*(?:[#/?]|$))/i - -/** - * A pattern that matches safe data URLs. Only matches image, video and audio types. - * - * Shoutout to Angular https://github.com/angular/angular/blob/12.2.x/packages/core/src/sanitization/url_sanitizer.ts - */ -const DATA_URL_PATTERN = /^data:(?:image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\/(?:mpeg|mp4|ogg|webm)|audio\/(?:mp3|oga|ogg|opus));base64,[\d+/a-z]+=*$/i - -const allowedAttribute = (attribute, allowedAttributeList) => { - const attributeName = attribute.nodeName.toLowerCase() - - if (allowedAttributeList.includes(attributeName)) { - if (uriAttributes.has(attributeName)) { - return Boolean(SAFE_URL_PATTERN.test(attribute.nodeValue) || DATA_URL_PATTERN.test(attribute.nodeValue)) - } - - return true - } - - const regExp = allowedAttributeList.filter(attributeRegex => attributeRegex instanceof RegExp) - - // Check if a regular expression validates the attribute. - for (let i = 0, len = regExp.length; i < len; i++) { - if (regExp[i].test(attributeName)) { - return true - } - } - - return false -} - -export const DefaultAllowlist = { - // Global attributes allowed on any supplied element below. - '*': ['class', 'dir', 'id', 'lang', 'role', ARIA_ATTRIBUTE_PATTERN], - a: ['target', 'href', 'title', 'rel'], - area: [], - b: [], - br: [], - col: [], - code: [], - div: [], - em: [], - hr: [], - h1: [], - h2: [], - h3: [], - h4: [], - h5: [], - h6: [], - i: [], - img: ['src', 'srcset', 'alt', 'title', 'width', 'height'], - li: [], - ol: [], - p: [], - pre: [], - s: [], - small: [], - span: [], - sub: [], - sup: [], - strong: [], - u: [], - ul: [] -} - -export function sanitizeHtml(unsafeHtml, allowList, sanitizeFn) { - if (!unsafeHtml.length) { - return unsafeHtml - } - - if (sanitizeFn && typeof sanitizeFn === 'function') { - return sanitizeFn(unsafeHtml) - } - - const domParser = new window.DOMParser() - const createdDocument = domParser.parseFromString(unsafeHtml, 'text/html') - const elements = [].concat(...createdDocument.body.querySelectorAll('*')) - - for (let i = 0, len = elements.length; i < len; i++) { - const element = elements[i] - const elementName = element.nodeName.toLowerCase() - - if (!Object.keys(allowList).includes(elementName)) { - element.remove() - - continue - } - - const attributeList = [].concat(...element.attributes) - const allowedAttributes = [].concat(allowList['*'] || [], allowList[elementName] || []) - - attributeList.forEach(attribute => { - if (!allowedAttribute(attribute, allowedAttributes)) { - element.removeAttribute(attribute.nodeName) - } - }) - } - - return createdDocument.body.innerHTML -} diff --git a/site/static/js/util/scrollbar.js b/site/static/js/util/scrollbar.js deleted file mode 100644 index a90f21a79..000000000 --- a/site/static/js/util/scrollbar.js +++ /dev/null @@ -1,97 +0,0 @@ -/** - * -------------------------------------------------------------------------- - * Bootstrap (v5.1.3): util/scrollBar.js - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) - * -------------------------------------------------------------------------- - */ - -import SelectorEngine from '../dom/selector-engine' -import Manipulator from '../dom/manipulator' -import { isElement } from './index' - -const SELECTOR_FIXED_CONTENT = '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top' -const SELECTOR_STICKY_CONTENT = '.sticky-top' - -class ScrollBarHelper { - constructor() { - this._element = document.body - } - - getWidth() { - // https://developer.mozilla.org/en-US/docs/Web/API/Window/innerWidth#usage_notes - const documentWidth = document.documentElement.clientWidth - return Math.abs(window.innerWidth - documentWidth) - } - - hide() { - const width = this.getWidth() - this._disableOverFlow() - // give padding to element to balance the hidden scrollbar width - this._setElementAttributes(this._element, 'paddingRight', calculatedValue => calculatedValue + width) - // trick: We adjust positive paddingRight and negative marginRight to sticky-top elements to keep showing fullwidth - this._setElementAttributes(SELECTOR_FIXED_CONTENT, 'paddingRight', calculatedValue => calculatedValue + width) - this._setElementAttributes(SELECTOR_STICKY_CONTENT, 'marginRight', calculatedValue => calculatedValue - width) - } - - _disableOverFlow() { - this._saveInitialAttribute(this._element, 'overflow') - this._element.style.overflow = 'hidden' - } - - _setElementAttributes(selector, styleProp, callback) { - const scrollbarWidth = this.getWidth() - const manipulationCallBack = element => { - if (element !== this._element && window.innerWidth > element.clientWidth + scrollbarWidth) { - return - } - - this._saveInitialAttribute(element, styleProp) - const calculatedValue = window.getComputedStyle(element)[styleProp] - element.style[styleProp] = `${callback(Number.parseFloat(calculatedValue))}px` - } - - this._applyManipulationCallback(selector, manipulationCallBack) - } - - reset() { - this._resetElementAttributes(this._element, 'overflow') - this._resetElementAttributes(this._element, 'paddingRight') - this._resetElementAttributes(SELECTOR_FIXED_CONTENT, 'paddingRight') - this._resetElementAttributes(SELECTOR_STICKY_CONTENT, 'marginRight') - } - - _saveInitialAttribute(element, styleProp) { - const actualValue = element.style[styleProp] - if (actualValue) { - Manipulator.setDataAttribute(element, styleProp, actualValue) - } - } - - _resetElementAttributes(selector, styleProp) { - const manipulationCallBack = element => { - const value = Manipulator.getDataAttribute(element, styleProp) - if (typeof value === 'undefined') { - element.style.removeProperty(styleProp) - } else { - Manipulator.removeDataAttribute(element, styleProp) - element.style[styleProp] = value - } - } - - this._applyManipulationCallback(selector, manipulationCallBack) - } - - _applyManipulationCallback(selector, callBack) { - if (isElement(selector)) { - callBack(selector) - } else { - SelectorEngine.find(selector, this._element).forEach(callBack) - } - } - - isOverflowing() { - return this.getWidth() > 0 - } -} - -export default ScrollBarHelper diff --git a/site/static/search.json b/site/static/search.json index 1ed72520d..138e97d0a 100644 --- a/site/static/search.json +++ b/site/static/search.json @@ -1,28 +1,144 @@ [ { "href": "/", - "name": "About ", - "keywords": [ - "introduction", - "demo" - ], - "category": "Getting started" + "name": "About", + "keywords": ["introduction", "demo"], + "category": "General" + }, + { + "href": "/license/", + "name": "License", + "keywords": ["license"], + "category": "General" }, { - "href": "/quick-start/", + "href": "/docs/standard/getting-started/quick-start/", "name": "Quick start", - "keywords": [ - "start", - "tutorial" - ], + "keywords": ["start", "tutorial"], + "category": "Getting started" + }, + { + "href": "/docs/standard/getting-started/theming/", + "name": "Theming", + "keywords": ["theme"], "category": "Getting started" }, + { + "href": "/docs/standard/getting-started/dark-mode/", + "name": "Dark mode", + "keywords": ["dark mode"], + "category": "Getting started" + }, + { + "href": "/docs/standard/getting-started/changelog/", + "name": "Changelog", + "keywords": ["releases", "updates"], + "category": "Getting started" + }, + { + "href": "/docs/standard/content-styles/animations/", + "name": "Animations", + "keywords": ["animations"], + "category": "Content & styles", + "priority": { + "animations": 1 + } + }, + { + "href": "/docs/standard/content-styles/colors/", + "name": "Colors", + "keywords": ["colors"], + "category": "Content & styles", + "priority": { + "colors": 1 + } + }, + { + "href": "/docs/standard/content-styles/dividers/", + "name": "Dividers", + "keywords": ["dividers"], + "category": "Content & styles", + "priority": { + "dividers": 1 + } + }, + { + "href": "/docs/standard/content-styles/figures/", + "name": "Figures", + "keywords": ["figures"], + "category": "Content & styles", + "priority": { + "figures": 1 + } + }, + { + "href": "/docs/standard/content-styles/headings/", + "name": "Headings", + "keywords": ["headings"], + "category": "Content & styles", + "priority": { + "heading": 1 + } + }, + { + "href": "/docs/standard/content-styles/hover-effects/", + "name": "Hover effects", + "keywords": ["hover effects"], + "category": "Content & styles", + "priority": { + "hover": 1 + } + }, + { + "href": "/docs/standard/content-styles/icons/", + "name": "Icons", + "keywords": ["icons"], + "category": "Content & styles", + "priority": { + "icon": 1 + } + }, + { + "href": "/docs/standard/content-styles/images/", + "name": "Images", + "keywords": ["images"], + "category": "Content & styles", + "priority": { + "image": 1 + } + }, + { + "href": "/docs/standard/content-styles/mask/", + "name": "Mask", + "keywords": ["mask"], + "category": "Content & styles", + "priority": { + "mask": 1 + } + }, + { + "href": "/docs/standard/content-styles/shadows/", + "name": "Shadows", + "keywords": ["shadows", "box shadow"], + "category": "Content & styles", + "priority": { + "shadows": 1, + "box shadow:": 1 + } + }, + { + "href": "/docs/standard/content-styles/typography/", + "name": "Typography", + "keywords": ["typography"], + "category": "Content & styles", + "priority": { + "typography": 1 + } + }, { "href": "/docs/standard/navigation/breadcrumbs/", "name": "Breadcrumb", - "keywords": [ - "location" - ], + "keywords": ["location"], "category": "Navigation", "priority": { "breadcrumb": 1 @@ -31,9 +147,7 @@ { "href": "/docs/standard/navigation/footer/", "name": "Footer", - "keywords": [ - "copyrights" - ], + "keywords": ["copyrights"], "category": "Navigation", "priority": { "footer": 1 @@ -42,9 +156,7 @@ { "href": "/docs/standard/navigation/mega-menu/", "name": "Mega menu", - "keywords": [ - "mega menu" - ], + "keywords": ["mega menu"], "category": "Navigation", "priority": { "mega-menu": 1 @@ -53,11 +165,7 @@ { "href": "/docs/standard/navigation/headers/", "name": "Headers", - "keywords": [ - "jumbotron", - "hero", - "introduction" - ], + "keywords": ["jumbotron", "hero", "introduction"], "category": "Navigation", "priority": { "header": 1 @@ -66,25 +174,25 @@ { "href": "/docs/standard/navigation/navbar/", "name": "Navbar", - "keywords": [ - "header", - "branding", - "links" - ], + "keywords": ["header", "branding", "links"], "category": "Navigation", "priority": { "navbar": 1 } }, + { + "href": "/docs/standard/navigation/offcanvas/", + "name": "Offcanvas", + "keywords": ["offcanvas"], + "category": "Navigation", + "priority": { + "offcanvas": 1 + } + }, { "href": "/docs/standard/navigation/pagination/", "name": "Pagination", - "keywords": [ - "pages", - "paginate", - "next", - "previous" - ], + "keywords": ["pages", "paginate", "next", "previous"], "category": "Navigation", "priority": { "pagination": 1 @@ -102,10 +210,7 @@ { "href": "/docs/standard/navigation/scrollspy/", "name": "Scrollspy", - "keywords": [ - "active link", - "scrolling" - ], + "keywords": ["active link", "scrolling"], "category": "Navigation", "priority": { "scrollspy": 1 @@ -114,12 +219,7 @@ { "href": "/docs/standard/navigation/sidenav/", "name": "Sidenav", - "keywords": [ - "sidebar", - "side navigation", - "offcanvas", - "drawer" - ], + "keywords": ["sidebar", "side navigation", "offcanvas", "drawer"], "category": "Navigation", "priority": { "sidenav": 1 @@ -128,9 +228,7 @@ { "href": "/docs/standard/navigation/tabs/", "name": "Tabs", - "keywords": [ - "links" - ], + "keywords": ["links"], "category": "Navigation", "priority": { "tab": 1 @@ -139,11 +237,7 @@ { "href": "/docs/standard/components/accordion/", "name": "Accordion", - "keywords": [ - "hidden content", - "expanding", - "toggling" - ], + "keywords": ["hidden content", "expanding", "toggling"], "category": "Components", "priority": { "accordion": 1 @@ -152,9 +246,7 @@ { "href": "/docs/standard/components/avatar/", "name": "Avatar", - "keywords": [ - "avatar" - ], + "keywords": ["avatar"], "category": "Components", "priority": { "avatar": 1 @@ -163,10 +255,7 @@ { "href": "/docs/standard/components/alerts/", "name": "Alerts", - "keywords": [ - "notifications", - "dismissing" - ], + "keywords": ["notifications", "dismissing"], "category": "Components", "priority": { "alert": 1 @@ -175,36 +264,16 @@ { "href": "/docs/standard/components/badges/", "name": "Badges", - "keywords": [ - "label", - "notifications" - ], + "keywords": ["label", "notifications"], "category": "Components", "priority": { "badge": 1 } }, - { - "href": "/docs/standard/components/charts/", - "name": "Charts", - "keywords": [ - "charts" - ], - "category": "Components", - "priority": { - "chart": 1 - } - }, { "href": "/docs/standard/components/buttons/", "name": "Buttons", - "keywords": [ - "outline", - "rounded", - "floating", - "social", - "tags" - ], + "keywords": ["outline", "rounded", "floating", "social", "tags"], "category": "Components", "priority": { "button": 1 @@ -213,9 +282,7 @@ { "href": "/docs/standard/components/button-group/", "name": "Button group", - "keywords": [ - "toolbar" - ], + "keywords": ["toolbar"], "category": "Components", "priority": { "button": 1 @@ -224,9 +291,7 @@ { "href": "/docs/standard/components/cards/", "name": "Cards", - "keywords": [ - "content container" - ], + "keywords": ["content container"], "category": "Components", "priority": { "card": 1 @@ -251,10 +316,7 @@ { "href": "/docs/standard/components/chips/", "name": "Chips", - "keywords": [ - "chips", - "tags" - ], + "keywords": ["chips", "tags"], "category": "Components", "priority": { "chip": 1 @@ -263,24 +325,16 @@ { "href": "/docs/standard/components/collapse/", "name": "Collapse", - "keywords": [ - "hidden content", - "expanding", - "toggling", - "accordion" - ], + "keywords": ["hidden content", "expanding", "toggling", "accordion"], "category": "Components", "priority": { "collapse": 1 } }, { - "href": "/docs/standard/components/dropdowns/", - "name": "Dropdowns", - "keywords": [ - "menu", - "toggling" - ], + "href": "/docs/standard/components/dropdown/", + "name": "Dropdown", + "keywords": ["menu", "toggling"], "category": "Components", "priority": { "dropdown": 1 @@ -289,101 +343,25 @@ { "href": "/docs/standard/components/list-group/", "name": "List group", - "keywords": [ - "flush" - ], - "category": "Components", - "priority": { - "list": 1 - } - }, - { - "href": "/docs/standard/components/login-form/", - "name": "Login form", - "keywords": [ - "login", - "login form", - "form" - ], + "keywords": ["flush"], "category": "Components", "priority": { "list": 1 } }, - { - "href": "/docs/standard/components/mask/", - "name": "Mask", - "keywords": [ - "mask" - ], - "category": "Components", - "priority": { - "mask": 1 - } - }, { "href": "/docs/standard/components/gallery/", "name": "Gallery", - "keywords": [ - "gallery", - "lightbox", - "images" - ], + "keywords": ["gallery", "lightbox", "images"], "category": "Components", "priority": { "lightbox": 1 } }, - { - "href": "/docs/standard/components/headings/", - "name": "Headings", - "keywords": [ - "headings" - ], - "category": "Components", - "priority": { - "heading": 1 - } - }, - { - "href": "/docs/standard/components/hover-effects/", - "name": "Hover effects", - "keywords": [ - "hover effects" - ], - "category": "Components", - "priority": { - "hover": 1 - } - }, - { - "href": "/docs/standard/components/icons/", - "name": "Icons", - "keywords": [ - "icons" - ], - "category": "Components", - "priority": { - "icon": 1 - } - }, - { - "href": "/docs/standard/components/images/", - "name": "Images", - "keywords": [ - "images" - ], - "category": "Components", - "priority": { - "image": 1 - } - }, { "href": "/docs/standard/components/jumbotron/", "name": "Jumbotron", - "keywords": [ - "jumbotron" - ], + "keywords": ["jumbotron"], "category": "Components", "priority": { "jumbotron": 1 @@ -392,9 +370,7 @@ { "href": "/docs/standard/components/link/", "name": "Link", - "keywords": [ - "link" - ], + "keywords": ["link"], "category": "Components", "priority": { "link": 1 @@ -403,12 +379,7 @@ { "href": "/docs/standard/components/modal/", "name": "Modal", - "keywords": [ - "dialog", - "notification", - "popup", - "modal" - ], + "keywords": ["dialog", "notification", "popup", "modal"], "category": "Components", "priority": { "modal": 1 @@ -417,32 +388,16 @@ { "href": "/docs/standard/components/notifications/", "name": "Notifications", - "keywords": [ - "notification", - "notifications" - ], + "keywords": ["notification", "notifications"], "category": "Components", "priority": { "notification": 1 } }, - { - "href": "/docs/standard/components/offcanvas/", - "name": "Offcanvas", - "keywords": [ - "offcanvas" - ], - "category": "Components", - "priority": { - "offcanvas": 1 - } - }, { "href": "/docs/standard/components/paragraphs/", "name": "Paragraphs", - "keywords": [ - "paragraphs" - ], + "keywords": ["paragraphs"], "category": "Components", "priority": { "paragraph": 1 @@ -451,10 +406,7 @@ { "href": "/docs/standard/components/popover/", "name": "Popover", - "keywords": [ - "dialog", - "dismissing" - ], + "keywords": ["dialog", "dismissing"], "category": "Components", "priority": { "popover": 1 @@ -463,10 +415,7 @@ { "href": "/docs/standard/components/progress/", "name": "Progress", - "keywords": [ - "bars", - "loading" - ], + "keywords": ["bars", "loading"], "category": "Components", "priority": { "progress": 1 @@ -475,11 +424,7 @@ { "href": "/docs/standard/components/rating/", "name": "Rating", - "keywords": [ - "feedback", - "stars", - "emoji" - ], + "keywords": ["feedback", "stars", "emoji"], "category": "Components", "priority": { "rating": 1, @@ -489,11 +434,7 @@ { "href": "/docs/standard/components/scroll-back-to-top-button/", "name": "Scroll back to top button", - "keywords": [ - "scroll", - "back to top", - "button" - ], + "keywords": ["scroll", "back to top", "button"], "category": "Components", "priority": { "scroll": 1, @@ -502,12 +443,8 @@ }, { "href": "/docs/standard/components/social-buttons/", - "name": "Sociall buttons", - "keywords": [ - "social", - "social buttons", - "button" - ], + "name": "Social buttons", + "keywords": ["social", "social buttons", "button"], "category": "Components", "priority": { "social": 1, @@ -517,9 +454,7 @@ { "href": "/docs/standard/components/spinners/", "name": "Spinners", - "keywords": [ - "loading" - ], + "keywords": ["loading"], "category": "Components", "priority": { "spinner": 1 @@ -528,33 +463,17 @@ { "href": "/docs/standard/components/stepper/", "name": "Stepper", - "keywords": [ - "steps" - ], + "keywords": ["steps"], "category": "Components", "priority": { "stepper": 1, "step": 1 } }, - { - "href": "/docs/standard/components/tables/", - "name": "Tables", - "keywords": [ - "tables" - ], - "category": "Components", - "priority": { - "table": 1 - } - }, { "href": "/docs/standard/components/testimonials/", "name": "Testimonials", - "keywords": [ - "testimonials", - "reviews" - ], + "keywords": ["testimonials", "reviews"], "category": "Components", "priority": { "testimonial": 1, @@ -564,9 +483,7 @@ { "href": "/docs/standard/components/timeline/", "name": "Timeline", - "keywords": [ - "timeline" - ], + "keywords": ["timeline"], "category": "Components", "priority": { "timeline": 1 @@ -575,9 +492,7 @@ { "href": "/docs/standard/components/toast/", "name": "Toasts", - "keywords": [ - "notifications" - ], + "keywords": ["notifications"], "category": "Components", "priority": { "toast": 1 @@ -586,31 +501,16 @@ { "href": "/docs/standard/components/tooltip/", "name": "Tooltips", - "keywords": [ - "tooltip" - ], + "keywords": ["tooltip"], "category": "Components", "priority": { "tooltip": 1 } }, - { - "href": "/docs/standard/components/typography/", - "name": "Typography", - "keywords": [ - "typography" - ], - "category": "Components", - "priority": { - "typography": 1 - } - }, { "href": "/docs/standard/components/video/", "name": "Video", - "keywords": [ - "video" - ], + "keywords": ["video"], "category": "Components", "priority": { "video": 1 @@ -619,11 +519,7 @@ { "href": "/docs/standard/components/video-carousel/", "name": "Video carousel", - "keywords": [ - "video", - "video carousel", - "carousel" - ], + "keywords": ["video", "video carousel", "carousel"], "category": "Components", "priority": { "video": 1, @@ -633,10 +529,7 @@ { "href": "/docs/standard/forms/form-templates/", "name": "Form templates", - "keywords": [ - "forms", - "form templates" - ], + "keywords": ["forms", "form templates"], "category": "Forms", "priority": { "form": 1 @@ -645,9 +538,7 @@ { "href": "/docs/standard/forms/autocomplete/", "name": "Autocomplete", - "keywords": [ - "autocomplete" - ], + "keywords": ["autocomplete"], "category": "Forms", "priority": { "autocomplete": 1 @@ -656,9 +547,7 @@ { "href": "/docs/standard/forms/checkbox/", "name": "Checkbox", - "keywords": [ - "checked" - ], + "keywords": ["checked"], "category": "Forms", "priority": { "check": 1, @@ -668,9 +557,7 @@ { "href": "/docs/standard/forms/datepicker/", "name": "Datepicker", - "keywords": [ - "date" - ], + "keywords": ["date"], "category": "Forms", "priority": { "date": 1, @@ -680,9 +567,7 @@ { "href": "/docs/standard/forms/file/", "name": "File", - "keywords": [ - "upload" - ], + "keywords": ["upload"], "category": "Forms", "priority": { "file": 1, @@ -692,20 +577,25 @@ { "href": "/docs/standard/forms/inputs/", "name": "Inputs", - "keywords": [ - "input" - ], + "keywords": ["input"], "category": "Forms", "priority": { "input": 1 } }, + { + "href": "/docs/standard/forms/input-group/", + "name": "Input Group", + "keywords": ["input, group,"], + "category": "Forms", + "priority": { + "inputGroup": 1 + } + }, { "href": "/docs/standard/forms/switch/", "name": "Switch", - "keywords": [ - "toggle" - ], + "keywords": ["toggle"], "category": "Forms", "priority": { "switch": 1, @@ -715,33 +605,16 @@ { "href": "/docs/standard/forms/select/", "name": "Select", - "keywords": [ - "options", - "multiselect" - ], + "keywords": ["options", "multiselect"], "category": "Forms", "priority": { "select": 1 } }, - { - "href": "/docs/standard/forms/multiselect/", - "name": "Multiselect", - "keywords": [ - "options", - "multiselect" - ], - "category": "Forms", - "priority": { - "multiselect": 1 - } - }, { "href": "/docs/standard/forms/radio/", "name": "Radio", - "keywords": [ - "toggle buttons" - ], + "keywords": ["toggle buttons"], "category": "Forms", "priority": { "radio": 1 @@ -750,11 +623,7 @@ { "href": "/docs/standard/forms/range/", "name": "Range", - "keywords": [ - "minimum", - "maximum", - "slider" - ], + "keywords": ["minimum", "maximum", "slider"], "category": "Forms", "priority": { "range": 1, @@ -764,10 +633,7 @@ { "href": "/docs/standard/forms/timepicker/", "name": "Timepicker", - "keywords": [ - "time", - "hour" - ], + "keywords": ["time", "hour"], "category": "Forms", "priority": { "time": 1, @@ -786,21 +652,52 @@ { "href": "/docs/standard/forms/textarea/", "name": "Textarea", - "keywords": [ - "textarea" - ], + "keywords": ["textarea"], "category": "Forms", "priority": { "textarea": 1 } }, + { + "href": "/docs/standard/forms/login-form/", + "name": "Login form", + "keywords": ["login", "login form", "form"], + "category": "Forms", + "priority": { + "login": 1 + } + }, + { + "href": "/docs/standard/forms/registration-form/", + "name": "Registration form", + "keywords": ["register", "registration form", "form"], + "category": "Forms", + "priority": { + "registration": 1 + } + }, + { + "href": "/docs/standard/data/charts/", + "name": "Charts", + "keywords": ["charts"], + "category": "Data", + "priority": { + "chart": 1 + } + }, + { + "href": "/docs/standard/data/tables/", + "name": "Tables", + "keywords": ["tables"], + "category": "Data", + "priority": { + "table": 1 + } + }, { "href": "/docs/standard/methods/ripple/", "name": "Ripple", - "keywords": [ - "ripple", - "wave" - ], + "keywords": ["ripple", "wave"], "category": "Methods", "priority": { "ripple": 1 @@ -809,14 +706,10 @@ { "href": "/docs/standard/designblocks/hero-sections/", "name": "Hero sections", - "keywords": [ - "hero", - "hero sections", - "intro" - ], + "keywords": ["hero", "hero sections", "intro"], "category": "Design blocks", "priority": { "hero": 1 } } -] \ No newline at end of file +] diff --git a/site/tailwind.config.js b/site/tailwind.config.js index 48bb29471..b1e04bfbb 100644 --- a/site/tailwind.config.js +++ b/site/tailwind.config.js @@ -1,7 +1,31 @@ module.exports = { - content: ['./layouts/**/*.html', './content/**/*.html', './static/**/*.js'], + content: ["./layouts/**/*.html", "./content/**/*.html", "./static/**/*.js"], theme: { extend: {}, }, - plugins: [require('tailwind-scrollbar'), require('./static/js/plugin')], + plugins: [require("tailwind-scrollbar"), require("./static/js/plugin")], + darkMode: "class", + // for dynamic content + safelist: [ + "bg-primary-100", + "bg-success-100", + "bg-warning-100", + "border-primary-500", + "border-success-500", + "border-warning-500", + "text-primary-700", + "text-success-700", + "text-warning-700", + "hover:bg-primary-100", + "hover:bg-success-100", + "hover:bg-warning-100", + "hover:bg-neutral-700", + "hover:opacity-75", + "dark:text-primary-200", + "dark:text-success-200", + "dark:text-warning-200", + "dark:bg-primary-100/20", + "dark:bg-success-100/20", + "dark:bg-warning-100/20", + ], }; diff --git a/src/css/index.css b/src/css/index.css deleted file mode 100644 index 0d96e537d..000000000 --- a/src/css/index.css +++ /dev/null @@ -1,3451 +0,0 @@ -/*! - * Bootstrap v5.1.3 (https://getbootstrap.com/) - * Copyright 2011-2021 The Bootstrap Authors - * Copyright 2011-2021 Twitter, Inc. - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) - */ -:root { - --bs-blue: #0d6efd; - --bs-indigo: #6610f2; - --bs-purple: #6f42c1; - --bs-pink: #d63384; - --bs-red: #dc3545; - --bs-orange: #fd7e14; - --bs-yellow: #ffc107; - --bs-green: #198754; - --bs-teal: #20c997; - --bs-cyan: #0dcaf0; - --bs-white: #fff; - --bs-gray: #6c757d; - --bs-gray-dark: #343a40; - --bs-gray-100: #f8f9fa; - --bs-gray-200: #e9ecef; - --bs-gray-300: #dee2e6; - --bs-gray-400: #ced4da; - --bs-gray-500: #adb5bd; - --bs-gray-600: #6c757d; - --bs-gray-700: #495057; - --bs-gray-800: #343a40; - --bs-gray-900: #212529; - --bs-primary: #0d6efd; - --bs-secondary: #6c757d; - --bs-success: #198754; - --bs-info: #0dcaf0; - --bs-warning: #ffc107; - --bs-danger: #dc3545; - --bs-light: #f8f9fa; - --bs-dark: #212529; - --bs-primary-rgb: 13, 110, 253; - --bs-secondary-rgb: 108, 117, 125; - --bs-success-rgb: 25, 135, 84; - --bs-info-rgb: 13, 202, 240; - --bs-warning-rgb: 255, 193, 7; - --bs-danger-rgb: 220, 53, 69; - --bs-light-rgb: 248, 249, 250; - --bs-dark-rgb: 33, 37, 41; - --bs-white-rgb: 255, 255, 255; - --bs-black-rgb: 0, 0, 0; - --bs-body-color-rgb: 33, 37, 41; - --bs-body-bg-rgb: 255, 255, 255; - --bs-font-sans-serif: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; - --bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; - --bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0)); - --bs-body-font-family: var(--bs-font-sans-serif); - --bs-body-font-size: 1rem; - --bs-body-font-weight: 400; - --bs-body-line-height: 1.5; - --bs-body-color: #212529; - --bs-body-bg: #fff; -} - -.form-control[type=file] { - overflow: hidden; -} -.form-control[type=file]:not(:disabled):not([readonly]) { - cursor: pointer; -} -.form-control:focus { - box-shadow: 0 0 0 1px rgb(37, 99, 235); -} -.form-control::file-selector-button { - padding: 0.375rem 0.75rem; - margin: -0.375rem -0.75rem; - margin-inline-end: 0.75rem; - color: #212529; - background-color: #e9ecef; - pointer-events: none; - border-color: inherit; - border-style: solid; - border-width: 0; - border-inline-end-width: 1px; - border-radius: 0; - transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; -} -@media (prefers-reduced-motion: reduce) { - .form-control::file-selector-button { - transition: none; - } -} -.form-control:hover:not(:disabled):not([readonly])::file-selector-button { - background-color: #dde0e3; -} -.form-control::-webkit-file-upload-button { - padding: 0.375rem 0.75rem; - margin: -0.375rem -0.75rem; - margin-inline-end: 0.75rem; - color: rgb(55, 65, 81); - background-color: rgb(243, 244, 246); - pointer-events: none; - border-color: inherit; - border-style: solid; - border-width: 0; - border-inline-end-width: 1px; - border-radius: 0; - transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; -} -@media (prefers-reduced-motion: reduce) { - .form-control::-webkit-file-upload-button { - transition: none; - } -} -.form-control:hover:not(:disabled):not([readonly])::-webkit-file-upload-button { - background-color: #dde0e3; -} - -.form-select { - -moz-padding-start: calc(0.75rem - 3px); - background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e"); - background-position: right 0.75rem center; - background-size: 16px 12px; -} -.form-select:focus { - box-shadow: 0 0 0 1px rgb(37, 99, 235); -} -.form-select[multiple], .form-select[size]:not([size="1"]) { - padding-right: 0.75rem; - background-image: none; -} -.form-select:disabled { - background-color: #e9ecef; -} -.form-select:-moz-focusring { - color: transparent; - text-shadow: 0 0 0 #212529; -} - -.form-check-input:checked { - background-color: #0d6efd; - border-color: #0d6efd; -} -.form-check-input:checked[type=checkbox] { - background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10l3 3l6-6'/%3e%3c/svg%3e"); -} -.form-check-input:checked[type=radio] { - background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e"); -} -.form-check-input[type=checkbox]:indeterminate { - background-color: #0d6efd; - border-color: #0d6efd; - background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e"); -} -.form-check-input:disabled { - pointer-events: none; - filter: none; - opacity: 0.5; -} - -.form-switch { - padding-left: 2.5em; -} -.form-switch .form-check-input { - margin-top: 0.1rem; - background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e"); - background-position: left center; - transition: background-position 0.15s ease-in-out; -} -@media (prefers-reduced-motion: reduce) { - .form-switch .form-check-input { - transition: none; - } -} -.form-switch .form-check-input:focus { - background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e"); -} -.form-switch .form-check-input:checked { - background-position: right center; - background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e"); -} - -.form-check-inline { - display: inline-block; - margin-right: 1rem; -} - -.btn-check { - position: absolute; - clip: rect(0, 0, 0, 0); - pointer-events: none; -} -.btn-check[disabled] + .btn, .btn-check:disabled + .btn { - pointer-events: none; - filter: none; - opacity: 0.65; -} - -.form-range:focus::-webkit-slider-thumb { - box-shadow: none; -} -.form-range:focus::-moz-range-thumb { - box-shadow: none; -} -.form-range::-moz-focus-outer { - border: 0; -} -.form-range::-webkit-slider-thumb { - width: 1rem; - height: 1rem; - margin-top: -0.25rem; - background-color: #0d6efd; - border: 0; - border-radius: 1rem; - transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; - appearance: none; - -webkit-appearance: none; -} -@media (prefers-reduced-motion: reduce) { - .form-range::-webkit-slider-thumb { - transition: none; - } -} -.form-range::-webkit-slider-thumb:active { - background-color: #b6d4fe; -} -.form-range::-webkit-slider-runnable-track { - width: 100%; - height: 0.5rem; - color: transparent; - cursor: pointer; - background-color: #dee2e6; - border-color: transparent; - border-radius: 1rem; -} -.form-range::-moz-range-thumb { - width: 1rem; - height: 1rem; - background-color: #0d6efd; - border: 0; - border-radius: 1rem; - transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; - appearance: none; -} -@media (prefers-reduced-motion: reduce) { - .form-range::-moz-range-thumb { - transition: none; - } -} -.form-range::-moz-range-thumb:active { - background-color: #b6d4fe; -} -.form-range::-moz-range-track { - width: 100%; - height: 0.5rem; - color: transparent; - cursor: pointer; - background-color: #dee2e6; - border-color: transparent; - border-radius: 1rem; -} -.form-range:disabled { - pointer-events: none; -} -.form-range:disabled::-webkit-slider-thumb { - background-color: #adb5bd; -} -.form-range:disabled::-moz-range-thumb { - background-color: #adb5bd; -} - -.form-floating { - position: relative; -} -.form-floating > .form-control, -.form-floating > .form-select { - height: calc(3.5rem + 2px); - line-height: 1.25; -} -.form-floating > label { - position: absolute; - top: 0; - left: 0; - height: 100%; - padding: 1rem 0.75rem; - pointer-events: none; - border: 1px solid transparent; - transform-origin: 0 0; - transition: opacity 0.1s ease-in-out, transform 0.1s ease-in-out; -} -@media (prefers-reduced-motion: reduce) { - .form-floating > label { - transition: none; - } -} -.form-floating > .form-control { - padding: 1rem 0.75rem; -} -.form-floating > .form-control::placeholder { - color: transparent; -} -.form-floating > .form-control:focus, .form-floating > .form-control:not(:placeholder-shown) { - padding-top: 1.625rem; - padding-bottom: 0.625rem; -} -.form-floating > .form-control:-webkit-autofill { - padding-top: 1.625rem; - padding-bottom: 0.625rem; -} -.form-floating > .form-control:focus ~ label, -.form-floating > .form-control:not(:placeholder-shown) ~ label, -.form-floating > .form-select ~ label { - opacity: 0.65; - transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem); -} - -.input-group > .form-control, -.input-group > .form-select { - width: 1%; -} -.input-group > .form-control:focus, -.input-group > .form-select:focus { - z-index: 3; -} -.input-group .btn { - position: relative; - z-index: 2; -} -.input-group .btn:focus { - z-index: 3; -} - -.input-group-lg > .form-select, -.input-group-sm > .form-select { - padding-right: 3rem; -} - -.input-group:not(.has-validation) > :not(:last-child):not(.dropdown-toggle):not(.dropdown-menu), -.input-group:not(.has-validation) > .dropdown-toggle:nth-last-child(n+3) { - border-top-right-radius: 0; - border-bottom-right-radius: 0; -} -.input-group.has-validation > :nth-last-child(n+3):not(.dropdown-toggle):not(.dropdown-menu), -.input-group.has-validation > .dropdown-toggle:nth-last-child(n+4) { - border-top-right-radius: 0; - border-bottom-right-radius: 0; -} -.input-group > :not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback) { - margin-left: -1px; - border-top-left-radius: 0; - border-bottom-left-radius: 0; -} - -.valid-feedback { - display: none; - width: 100%; - margin-top: 0.25rem; - font-size: 0.875em; - color: #198754; -} - -.valid-tooltip { - position: absolute; - top: 100%; - z-index: 5; - display: none; - max-width: 100%; - padding: 0.25rem 0.5rem; - margin-top: 0.1rem; - font-size: 0.875rem; - color: #fff; - background-color: rgba(25, 135, 84, 0.9); - border-radius: 0.25rem; -} - -.was-validated :valid ~ .valid-feedback, -.was-validated :valid ~ .valid-tooltip, -.is-valid ~ .valid-feedback, -.is-valid ~ .valid-tooltip { - display: block; -} - -.was-validated .form-control:valid, .form-control.is-valid { - border-color: #198754; - padding-right: calc(1.5em + 0.75rem); - background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e"); - background-repeat: no-repeat; - background-position: right calc(0.375em + 0.1875rem) center; - background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); -} -.was-validated .form-control:valid:focus, .form-control.is-valid:focus { - border-color: #198754; - box-shadow: 0 0 0 0.25rem rgba(25, 135, 84, 0.25); -} - -.was-validated textarea.form-control:valid, textarea.form-control.is-valid { - padding-right: calc(1.5em + 0.75rem); - background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem); -} - -.was-validated .form-select:valid, .form-select.is-valid { - border-color: #198754; -} -.was-validated .form-select:valid:not([multiple]):not([size]), .was-validated .form-select:valid:not([multiple])[size="1"], .form-select.is-valid:not([multiple]):not([size]), .form-select.is-valid:not([multiple])[size="1"] { - padding-right: 4.125rem; - background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e"), url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e"); - background-position: right 0.75rem center, center right 2.25rem; - background-size: 16px 12px, calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); -} -.was-validated .form-select:valid:focus, .form-select.is-valid:focus { - border-color: #198754; - box-shadow: 0 0 0 0.25rem rgba(25, 135, 84, 0.25); -} - -.was-validated .form-check-input:valid, .form-check-input.is-valid { - border-color: #198754; -} -.was-validated .form-check-input:valid:checked, .form-check-input.is-valid:checked { - background-color: #198754; -} -.was-validated .form-check-input:valid:focus, .form-check-input.is-valid:focus { - box-shadow: 0 0 0 0.25rem rgba(25, 135, 84, 0.25); -} -.was-validated .form-check-input:valid ~ .form-check-label, .form-check-input.is-valid ~ .form-check-label { - color: #198754; -} - -.form-check-inline .form-check-input ~ .valid-feedback { - margin-left: 0.5em; -} - -.was-validated .input-group .form-control:valid, .input-group .form-control.is-valid, -.was-validated .input-group .form-select:valid, -.input-group .form-select.is-valid { - z-index: 1; -} -.was-validated .input-group .form-control:valid:focus, .input-group .form-control.is-valid:focus, -.was-validated .input-group .form-select:valid:focus, -.input-group .form-select.is-valid:focus { - z-index: 3; -} - -.invalid-feedback { - display: none; - width: 100%; - margin-top: 0.25rem; - font-size: 0.875em; - color: #dc3545; -} - -.invalid-tooltip { - position: absolute; - top: 100%; - z-index: 5; - display: none; - max-width: 100%; - padding: 0.25rem 0.5rem; - margin-top: 0.1rem; - font-size: 0.875rem; - color: #fff; - background-color: rgba(220, 53, 69, 0.9); - border-radius: 0.25rem; -} - -.was-validated :invalid ~ .invalid-feedback, -.was-validated :invalid ~ .invalid-tooltip, -.is-invalid ~ .invalid-feedback, -.is-invalid ~ .invalid-tooltip { - display: block; -} - -.was-validated .form-control:invalid, .form-control.is-invalid { - border-color: #dc3545; - padding-right: calc(1.5em + 0.75rem); - background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e"); - background-repeat: no-repeat; - background-position: right calc(0.375em + 0.1875rem) center; - background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); -} -.was-validated .form-control:invalid:focus, .form-control.is-invalid:focus { - border-color: #dc3545; - box-shadow: 0 0 0 0.25rem rgba(220, 53, 69, 0.25); -} - -.was-validated textarea.form-control:invalid, textarea.form-control.is-invalid { - padding-right: calc(1.5em + 0.75rem); - background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem); -} - -.was-validated .form-select:invalid, .form-select.is-invalid { - border-color: #dc3545; -} -.was-validated .form-select:invalid:not([multiple]):not([size]), .was-validated .form-select:invalid:not([multiple])[size="1"], .form-select.is-invalid:not([multiple]):not([size]), .form-select.is-invalid:not([multiple])[size="1"] { - padding-right: 4.125rem; - background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e"), url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e"); - background-position: right 0.75rem center, center right 2.25rem; - background-size: 16px 12px, calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); -} -.was-validated .form-select:invalid:focus, .form-select.is-invalid:focus { - border-color: #dc3545; - box-shadow: 0 0 0 0.25rem rgba(220, 53, 69, 0.25); -} - -.was-validated .form-check-input:invalid, .form-check-input.is-invalid { - border-color: #dc3545; -} -.was-validated .form-check-input:invalid:checked, .form-check-input.is-invalid:checked { - background-color: #dc3545; -} -.was-validated .form-check-input:invalid:focus, .form-check-input.is-invalid:focus { - box-shadow: 0 0 0 0.25rem rgba(220, 53, 69, 0.25); -} -.was-validated .form-check-input:invalid ~ .form-check-label, .form-check-input.is-invalid ~ .form-check-label { - color: #dc3545; -} - -.form-check-inline .form-check-input ~ .invalid-feedback { - margin-left: 0.5em; -} - -.was-validated .input-group .form-control:invalid, .input-group .form-control.is-invalid, -.was-validated .input-group .form-select:invalid, -.input-group .form-select.is-invalid { - z-index: 2; -} -.was-validated .input-group .form-control:invalid:focus, .input-group .form-control.is-invalid:focus, -.was-validated .input-group .form-select:invalid:focus, -.input-group .form-select.is-invalid:focus { - z-index: 3; -} - -.btn-check:focus + .btn, .btn:focus { - outline: 0; - box-shadow: none; -} -.btn-check:checked + .btn, .btn-check:active + .btn, .btn:active, .btn.active { - box-shadow: none; -} -.btn-check:checked + .btn:focus, .btn-check:active + .btn:focus, .btn:active:focus, .btn.active:focus { - box-shadow: none; -} - -.fade { - transition: opacity 0.15s linear; -} -@media (prefers-reduced-motion: reduce) { - .fade { - transition: none; - } -} -.fade:not(.show) { - opacity: 0; -} - -.collapse:not(.show) { - display: none; -} - -.collapsing { - height: 0; - overflow: hidden; - transition: height 0.35s ease; -} -@media (prefers-reduced-motion: reduce) { - .collapsing { - transition: none; - } -} -.collapsing.collapse-horizontal { - width: 0; - height: auto; - transition: width 0.35s ease; -} -@media (prefers-reduced-motion: reduce) { - .collapsing.collapse-horizontal { - transition: none; - } -} - -.dropdown-menu { - z-index: 1000; -} - -.dropdown-item.active, .dropdown-item:active { - color: rgb(31, 41, 55); - text-decoration: none; - background-color: #0d6efd; -} -.dropdown-item:disabled { - color: #adb5bd; - pointer-events: none; - background-color: transparent; -} - -.dropdown-menu.show { - display: block; -} - -.dropdown-menu-dark .dropdown-item.active, .dropdown-menu-dark .dropdown-item:active { - color: #fff; - background-color: #0d6efd; -} -.dropdown-menu-dark .dropdown-item.disabled, .dropdown-menu-dark .dropdown-item:disabled { - color: #adb5bd; -} - -.nav-tabs .nav-link { - color: rgb(75, 85, 99); -} -.nav-tabs .nav-link:hover, .nav-tabs .nav-link:focus { - isolation: isolate; -} -.nav-tabs .nav-link.disabled { - color: rgb(156, 163, 175); - background-color: transparent; - border-color: transparent; -} -.nav-tabs .nav-link.active, -.nav-tabs .nav-item.show .nav-link { - color: rgb(37, 99, 235); - border-color: rgb(37, 99, 235); -} -.nav-tabs .dropdown-menu { - margin-top: -1px; - border-top-left-radius: 0; - border-top-right-radius: 0; -} - -.nav-pills .nav-link { - background: rgb(243, 244, 246); - color: rgb(75, 85, 99); - box-shadow: none; -} -.nav-pills .nav-link.active, -.nav-pills .show > .nav-link { - background: rgb(37, 99, 235); - color: #fff; - box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06); -} -.nav-pills .disabled { - color: rgb(156, 163, 175); - background-color: rgba(243, 244, 246, 0.5); -} -.nav-pills.menu-sidebar .nav-link { - background-color: transparent; - box-shadow: none; - padding: 0 5px; - border-radius: 0; -} -.nav-pills.menu-sidebar .nav-link.active { - color: #1266f1; - font-weight: 600; - border-left: 0.125rem solid #1266f1; -} - -.nav-justified > .nav-link, -.nav-justified .nav-item { - flex-basis: 0; -} - -.tab-content > .tab-pane { - display: none; -} -.tab-content > .active { - display: block; -} - -.navbar-text { - padding-top: 0.5rem; - padding-bottom: 0.5rem; -} - -.navbar-collapse { - flex-basis: 100%; -} - -.navbar-nav-scroll { - max-height: var(--bs-scroll-height, 75vh); - overflow-y: auto; -} - -@media (min-width: 576px) { - .navbar-expand-sm { - flex-wrap: nowrap; - justify-content: flex-start; - } - .navbar-expand-sm .navbar-nav { - flex-direction: row; - } - .navbar-expand-sm .navbar-nav .dropdown-menu { - position: absolute; - } - .navbar-expand-sm .navbar-nav .nav-link { - padding-right: 0.5rem; - padding-left: 0.5rem; - } - .navbar-expand-sm .navbar-nav-scroll { - overflow: visible; - } - .navbar-expand-sm .navbar-collapse { - display: flex !important; - flex-basis: auto; - } - .navbar-expand-sm .navbar-toggler { - display: none; - } - .navbar-expand-sm .offcanvas-header { - display: none; - } - .navbar-expand-sm .offcanvas { - position: inherit; - bottom: 0; - z-index: 1000; - flex-grow: 1; - visibility: visible !important; - background-color: transparent; - border-right: 0; - border-left: 0; - transition: none; - transform: none; - } - .navbar-expand-sm .offcanvas-top, -.navbar-expand-sm .offcanvas-bottom { - height: auto; - border-top: 0; - border-bottom: 0; - } - .navbar-expand-sm .offcanvas-body { - display: flex; - flex-grow: 0; - padding: 0; - overflow-y: visible; - } -} -@media (min-width: 768px) { - .navbar-expand-md { - flex-wrap: nowrap; - justify-content: flex-start; - } - .navbar-expand-md .navbar-nav { - flex-direction: row; - } - .navbar-expand-md .navbar-nav .dropdown-menu { - position: absolute; - } - .navbar-expand-md .navbar-nav .nav-link { - padding-right: 0.5rem; - padding-left: 0.5rem; - } - .navbar-expand-md .navbar-nav-scroll { - overflow: visible; - } - .navbar-expand-md .navbar-collapse { - display: flex !important; - flex-basis: auto; - } - .navbar-expand-md .navbar-toggler { - display: none; - } - .navbar-expand-md .offcanvas-header { - display: none; - } - .navbar-expand-md .offcanvas { - position: inherit; - bottom: 0; - z-index: 1000; - flex-grow: 1; - visibility: visible !important; - background-color: transparent; - border-right: 0; - border-left: 0; - transition: none; - transform: none; - } - .navbar-expand-md .offcanvas-top, -.navbar-expand-md .offcanvas-bottom { - height: auto; - border-top: 0; - border-bottom: 0; - } - .navbar-expand-md .offcanvas-body { - display: flex; - flex-grow: 0; - padding: 0; - overflow-y: visible; - } -} -@media (min-width: 992px) { - .navbar-expand-lg { - flex-wrap: nowrap; - justify-content: flex-start; - } - .navbar-expand-lg .navbar-nav { - flex-direction: row; - } - .navbar-expand-lg .navbar-nav .dropdown-menu { - position: absolute; - } - .navbar-expand-lg .navbar-nav .nav-link { - padding-right: 0.5rem; - padding-left: 0.5rem; - } - .navbar-expand-lg .navbar-nav-scroll { - overflow: visible; - } - .navbar-expand-lg .navbar-collapse { - display: flex !important; - flex-basis: auto; - } - .navbar-expand-lg .navbar-toggler { - display: none; - } - .navbar-expand-lg .offcanvas-header { - display: none; - } - .navbar-expand-lg .offcanvas { - position: inherit; - bottom: 0; - z-index: 1000; - flex-grow: 1; - visibility: visible !important; - background-color: transparent; - border-right: 0; - border-left: 0; - transition: none; - transform: none; - } - .navbar-expand-lg .offcanvas-top, -.navbar-expand-lg .offcanvas-bottom { - height: auto; - border-top: 0; - border-bottom: 0; - } - .navbar-expand-lg .offcanvas-body { - display: flex; - flex-grow: 0; - padding: 0; - overflow-y: visible; - } -} -@media (min-width: 1200px) { - .navbar-expand-xl { - flex-wrap: nowrap; - justify-content: flex-start; - } - .navbar-expand-xl .navbar-nav { - flex-direction: row; - } - .navbar-expand-xl .navbar-nav .dropdown-menu { - position: absolute; - } - .navbar-expand-xl .navbar-nav .nav-link { - padding-right: 0.5rem; - padding-left: 0.5rem; - } - .navbar-expand-xl .navbar-nav-scroll { - overflow: visible; - } - .navbar-expand-xl .navbar-collapse { - display: flex !important; - flex-basis: auto; - } - .navbar-expand-xl .navbar-toggler { - display: none; - } - .navbar-expand-xl .offcanvas-header { - display: none; - } - .navbar-expand-xl .offcanvas { - position: inherit; - bottom: 0; - z-index: 1000; - flex-grow: 1; - visibility: visible !important; - background-color: transparent; - border-right: 0; - border-left: 0; - transition: none; - transform: none; - } - .navbar-expand-xl .offcanvas-top, -.navbar-expand-xl .offcanvas-bottom { - height: auto; - border-top: 0; - border-bottom: 0; - } - .navbar-expand-xl .offcanvas-body { - display: flex; - flex-grow: 0; - padding: 0; - overflow-y: visible; - } -} -@media (min-width: 1400px) { - .navbar-expand-xxl { - flex-wrap: nowrap; - justify-content: flex-start; - } - .navbar-expand-xxl .navbar-nav { - flex-direction: row; - } - .navbar-expand-xxl .navbar-nav .dropdown-menu { - position: absolute; - } - .navbar-expand-xxl .navbar-nav .nav-link { - padding-right: 0.5rem; - padding-left: 0.5rem; - } - .navbar-expand-xxl .navbar-nav-scroll { - overflow: visible; - } - .navbar-expand-xxl .navbar-collapse { - display: flex !important; - flex-basis: auto; - } - .navbar-expand-xxl .navbar-toggler { - display: none; - } - .navbar-expand-xxl .offcanvas-header { - display: none; - } - .navbar-expand-xxl .offcanvas { - position: inherit; - bottom: 0; - z-index: 1000; - flex-grow: 1; - visibility: visible !important; - background-color: transparent; - border-right: 0; - border-left: 0; - transition: none; - transform: none; - } - .navbar-expand-xxl .offcanvas-top, -.navbar-expand-xxl .offcanvas-bottom { - height: auto; - border-top: 0; - border-bottom: 0; - } - .navbar-expand-xxl .offcanvas-body { - display: flex; - flex-grow: 0; - padding: 0; - overflow-y: visible; - } -} -.navbar-expand { - flex-wrap: nowrap; - justify-content: flex-start; -} -.navbar-expand .navbar-nav { - flex-direction: row; -} -.navbar-expand .navbar-nav .dropdown-menu { - position: absolute; -} -.navbar-expand .navbar-nav .nav-link { - padding-right: 0.5rem; - padding-left: 0.5rem; -} -.navbar-expand .navbar-nav-scroll { - overflow: visible; -} -.navbar-expand .navbar-collapse { - display: flex !important; - flex-basis: auto; -} -.navbar-expand .navbar-toggler { - display: none; -} -.navbar-expand .offcanvas-header { - display: none; -} -.navbar-expand .offcanvas { - position: inherit; - bottom: 0; - z-index: 1000; - flex-grow: 1; - visibility: visible !important; - background-color: transparent; - border-right: 0; - border-left: 0; - transition: none; - transform: none; -} -.navbar-expand .offcanvas-top, -.navbar-expand .offcanvas-bottom { - height: auto; - border-top: 0; - border-bottom: 0; -} -.navbar-expand .offcanvas-body { - display: flex; - flex-grow: 0; - padding: 0; - overflow-y: visible; -} - -.navbar-light .navbar-nav .nav-link.disabled { - color: rgba(0, 0, 0, 0.3); -} -.navbar-light .navbar-nav .show > .nav-link, -.navbar-light .navbar-nav .nav-link.active { - color: rgba(0, 0, 0, 0.9); -} -.navbar-light .navbar-text { - color: rgba(0, 0, 0, 0.55); -} -.navbar-light .navbar-text a, -.navbar-light .navbar-text a:hover, -.navbar-light .navbar-text a:focus { - color: rgba(0, 0, 0, 0.9); -} - -.navbar-dark .navbar-nav .nav-link.disabled { - color: rgba(255, 255, 255, 0.25); -} -.navbar-dark .navbar-nav .show > .nav-link, -.navbar-dark .navbar-nav .nav-link.active { - color: #fff; -} -.navbar-dark .navbar-text { - color: rgba(255, 255, 255, 0.55); -} -.navbar-dark .navbar-text a, -.navbar-dark .navbar-text a:hover, -.navbar-dark .navbar-text a:focus { - color: #fff; -} - -.accordion-button { - overflow-anchor: none; -} -.accordion-button:not(.collapsed) { - color: #2563eb; - background-color: #fff; - box-shadow: inset 0 -1px 0 rgb(229, 231, 235); -} -.accordion-button:not(.collapsed)::after { - background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%232563eb'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e"); - transform: rotate(-180deg); -} -.accordion-button::after { - flex-shrink: 0; - width: 1.25rem; - height: 1.25rem; - margin-left: auto; - content: ""; - background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23212529'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e"); - background-repeat: no-repeat; - background-size: 1.25rem; - transition: transform 0.2s ease-in-out; -} -@media (prefers-reduced-motion: reduce) { - .accordion-button::after { - transition: none; - } -} -.accordion-button:hover { - z-index: 2; -} -.accordion-button:focus { - z-index: 3; -} - -.accordion-item:first-of-type { - border-top-left-radius: 0.5rem; - border-top-right-radius: 0.5rem; -} -.accordion-item:first-of-type .accordion-button { - border-top-left-radius: calc(0.5rem - 1px); - border-top-right-radius: calc(0.5rem - 1px); -} -.accordion-item:not(:first-of-type) { - border-top: 0; -} -.accordion-item:last-of-type { - border-bottom-right-radius: 0.5rem; - border-bottom-left-radius: 0.5rem; -} -.accordion-item:last-of-type .accordion-button.collapsed { - border-bottom-right-radius: calc(0.5rem - 1px); - border-bottom-left-radius: calc(0.5rem - 1px); -} -.accordion-item:last-of-type .accordion-collapse { - border-bottom-right-radius: 0.5rem; - border-bottom-left-radius: 0.5rem; -} - -.btn-close { - background: transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat; -} -.btn-close:focus { - opacity: 1; -} -.btn-close:disabled, .btn-close.disabled { - pointer-events: none; - user-select: none; - opacity: 0.25; -} - -.btn-close-white { - filter: invert(1) grayscale(100%) brightness(200%); -} - -.modal { - z-index: 1055; -} - -.modal-dialog { - margin: 0.5rem; -} -.modal.fade .modal-dialog { - transition: transform 0.3s ease-out; - transform: translate(0, -50px); -} -@media (prefers-reduced-motion: reduce) { - .modal.fade .modal-dialog { - transition: none; - } -} -.modal.show .modal-dialog { - transform: none; -} -.modal.modal-static .modal-dialog { - transform: scale(1.02); -} - -.modal-dialog-scrollable { - height: calc(100% - 1rem); -} -.modal-dialog-scrollable .modal-content { - max-height: 100%; - overflow: hidden; -} -.modal-dialog-scrollable .modal-body { - overflow-y: auto; -} - -.modal-dialog-centered { - display: flex; - align-items: center; - min-height: calc(100% - 1rem); -} - -.modal-backdrop { - position: fixed; - top: 0; - left: 0; - z-index: 1050; - width: 100vw; - height: 100vh; - background-color: #000; -} -.modal-backdrop.fade { - opacity: 0; -} -.modal-backdrop.show { - opacity: 0.5; -} - -.modal-header .btn-close { - padding: 0.5rem 0.5rem; - margin: -0.5rem -0.5rem -0.5rem auto; -} - -.modal-body { - flex: 1 1 auto; -} - -@media (min-width: 576px) { - .modal-dialog { - max-width: 500px; - margin: 1.75rem auto; - } - - .modal-dialog-scrollable { - height: calc(100% - 3.5rem); - } - - .modal-dialog-centered { - min-height: calc(100% - 3.5rem); - } - - .modal-sm { - max-width: 300px; - } -} -@media (min-width: 992px) { - .modal-lg, -.modal-xl { - max-width: 800px; - } -} -@media (min-width: 1200px) { - .modal-xl { - max-width: 1140px; - } -} -.modal-fullscreen { - width: 100vw; - max-width: none; - height: 100%; - margin: 0; -} -.modal-fullscreen .modal-content { - height: 100%; - border: 0; - border-radius: 0; -} -.modal-fullscreen .modal-header { - border-radius: 0; -} -.modal-fullscreen .modal-body { - overflow-y: auto; -} -.modal-fullscreen .modal-footer { - border-radius: 0; -} - -@media (max-width: 575.98px) { - .modal-fullscreen-sm-down { - width: 100vw; - max-width: none; - height: 100%; - margin: 0; - } - .modal-fullscreen-sm-down .modal-content { - height: 100%; - border: 0; - border-radius: 0; - } - .modal-fullscreen-sm-down .modal-header { - border-radius: 0; - } - .modal-fullscreen-sm-down .modal-body { - overflow-y: auto; - } - .modal-fullscreen-sm-down .modal-footer { - border-radius: 0; - } -} -@media (max-width: 767.98px) { - .modal-fullscreen-md-down { - width: 100vw; - max-width: none; - height: 100%; - margin: 0; - } - .modal-fullscreen-md-down .modal-content { - height: 100%; - border: 0; - border-radius: 0; - } - .modal-fullscreen-md-down .modal-header { - border-radius: 0; - } - .modal-fullscreen-md-down .modal-body { - overflow-y: auto; - } - .modal-fullscreen-md-down .modal-footer { - border-radius: 0; - } -} -@media (max-width: 991.98px) { - .modal-fullscreen-lg-down { - width: 100vw; - max-width: none; - height: 100%; - margin: 0; - } - .modal-fullscreen-lg-down .modal-content { - height: 100%; - border: 0; - border-radius: 0; - } - .modal-fullscreen-lg-down .modal-header { - border-radius: 0; - } - .modal-fullscreen-lg-down .modal-body { - overflow-y: auto; - } - .modal-fullscreen-lg-down .modal-footer { - border-radius: 0; - } -} -@media (max-width: 1199.98px) { - .modal-fullscreen-xl-down { - width: 100vw; - max-width: none; - height: 100%; - margin: 0; - } - .modal-fullscreen-xl-down .modal-content { - height: 100%; - border: 0; - border-radius: 0; - } - .modal-fullscreen-xl-down .modal-header { - border-radius: 0; - } - .modal-fullscreen-xl-down .modal-body { - overflow-y: auto; - } - .modal-fullscreen-xl-down .modal-footer { - border-radius: 0; - } -} -@media (max-width: 1399.98px) { - .modal-fullscreen-xxl-down { - width: 100vw; - max-width: none; - height: 100%; - margin: 0; - } - .modal-fullscreen-xxl-down .modal-content { - height: 100%; - border: 0; - border-radius: 0; - } - .modal-fullscreen-xxl-down .modal-header { - border-radius: 0; - } - .modal-fullscreen-xxl-down .modal-body { - overflow-y: auto; - } - .modal-fullscreen-xxl-down .modal-footer { - border-radius: 0; - } -} -.tooltip { - position: absolute; - z-index: 1080; - display: block; - margin: 0; - font-family: var(--bs-font-sans-serif); - font-style: normal; - font-weight: 400; - line-height: 1.5; - text-align: left; - text-align: start; - text-decoration: none; - text-shadow: none; - text-transform: none; - letter-spacing: normal; - word-break: normal; - word-spacing: normal; - white-space: normal; - line-break: auto; - font-size: 0.875rem; - word-wrap: break-word; - opacity: 0; -} -.tooltip.show { - opacity: 1; -} - -.bs-tooltip-top, .bs-tooltip-auto[data-popper-placement^=top] { - padding: 0.4rem 0; -} -.bs-tooltip-top .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow { - bottom: 0; -} -.bs-tooltip-top .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow::before { - top: -1px; - border-width: 0.4rem 0.4rem 0; - border-top-color: #000; -} - -.bs-tooltip-end, .bs-tooltip-auto[data-popper-placement^=right] { - padding: 0 0.4rem; -} -.bs-tooltip-end .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow { - left: 0; - width: 0.4rem; - height: 0.8rem; -} -.bs-tooltip-end .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow::before { - right: -1px; - border-width: 0.4rem 0.4rem 0.4rem 0; - border-right-color: #000; -} - -.bs-tooltip-bottom, .bs-tooltip-auto[data-popper-placement^=bottom] { - padding: 0.4rem 0; -} -.bs-tooltip-bottom .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow { - top: 0; -} -.bs-tooltip-bottom .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow::before { - bottom: -1px; - border-width: 0 0.4rem 0.4rem; - border-bottom-color: #000; -} - -.bs-tooltip-start, .bs-tooltip-auto[data-popper-placement^=left] { - padding: 0 0.4rem; -} -.bs-tooltip-start .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow { - right: 0; - width: 0.4rem; - height: 0.8rem; -} -.bs-tooltip-start .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow::before { - left: -1px; - border-width: 0.4rem 0 0.4rem 0.4rem; - border-left-color: #000; -} - -.tooltip-inner { - max-width: 200px; - font-size: 14px; - padding: 6px 16px; - color: #fff; - text-align: center; - background-color: #6d6d6d; - border-radius: 0.25rem; -} - -.popover { - position: absolute; - top: 0; - left: 0 /* rtl:ignore */; - z-index: 1070; - display: block; - max-width: 276px; - font-family: var(--bs-font-sans-serif); - font-style: normal; - font-weight: 400; - line-height: 1.5; - text-align: left; - text-align: start; - text-decoration: none; - text-shadow: none; - text-transform: none; - letter-spacing: normal; - word-break: normal; - word-spacing: normal; - white-space: normal; - line-break: auto; - font-size: 0.875rem; - word-wrap: break-word; - background-color: #fff; - background-clip: padding-box; - border: 0; - border-radius: 0.5rem; - box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05); -} - -.bs-popover-top > .popover-arrow, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow { - bottom: calc(-0.5rem - 1px); -} -.bs-popover-top > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow::before { - bottom: 0; - border-width: 0.5rem 0.5rem 0; - border-top-color: rgba(0, 0, 0, 0.25); -} -.bs-popover-top > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow::after { - bottom: 1px; - border-width: 0.5rem 0.5rem 0; - border-top-color: #fff; -} - -.bs-popover-end > .popover-arrow, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow { - left: calc(-0.5rem - 1px); - width: 0.5rem; - height: 1rem; -} -.bs-popover-end > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow::before { - left: 0; - border-width: 0.5rem 0.5rem 0.5rem 0; - border-right-color: rgba(0, 0, 0, 0.25); -} -.bs-popover-end > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow::after { - left: 1px; - border-width: 0.5rem 0.5rem 0.5rem 0; - border-right-color: #fff; -} - -.bs-popover-bottom > .popover-arrow, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow { - top: calc(-0.5rem - 1px); -} -.bs-popover-bottom > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow::before { - top: 0; - border-width: 0 0.5rem 0.5rem 0.5rem; - border-bottom-color: rgba(0, 0, 0, 0.25); -} -.bs-popover-bottom > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow::after { - top: 1px; - border-width: 0 0.5rem 0.5rem 0.5rem; - border-bottom-color: #fff; -} -.bs-popover-bottom .popover-header::before, .bs-popover-auto[data-popper-placement^=bottom] .popover-header::before { - position: absolute; - top: 0; - left: 50%; - display: block; - width: 1rem; - margin-left: -0.5rem; - content: ""; - border-bottom: 1px solid #f0f0f0; -} - -.bs-popover-start > .popover-arrow, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow { - right: calc(-0.5rem - 1px); - width: 0.5rem; - height: 1rem; -} -.bs-popover-start > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow::before { - right: 0; - border-width: 0.5rem 0 0.5rem 0.5rem; - border-left-color: rgba(0, 0, 0, 0.25); -} -.bs-popover-start > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow::after { - right: 1px; - border-width: 0.5rem 0 0.5rem 0.5rem; - border-left-color: #fff; -} - -.popover-header { - padding: 0.5rem 1rem; - margin-bottom: 0; - font-size: 1rem; - background-color: #fff; - border-bottom: 1px solid rgba(0, 0, 0, 0.2); - border-top-left-radius: 0.5rem; - border-top-right-radius: 0.5rem; - font-weight: 500; -} -.popover-header:empty { - display: none; -} - -.popover-body { - padding: 1rem 1rem; - color: #212529; -} - -.carousel.pointer-event { - touch-action: pan-y; -} - -.carousel-inner::after { - display: block; - clear: both; - content: ""; -} - -.carousel-item { - display: none; - margin-right: -100%; - backface-visibility: hidden; - transition: transform 0.6s ease-in-out; -} -@media (prefers-reduced-motion: reduce) { - .carousel-item { - transition: none; - } -} - -.carousel-item.active, -.carousel-item-next, -.carousel-item-prev { - display: block; -} - -/* rtl:begin:ignore */ -.carousel-item-next:not(.carousel-item-start), -.active.carousel-item-end { - transform: translateX(100%); -} - -.carousel-item-prev:not(.carousel-item-end), -.active.carousel-item-start { - transform: translateX(-100%); -} - -/* rtl:end:ignore */ -.carousel-fade .carousel-item { - opacity: 0; - transition-property: opacity; - transform: none; -} -.carousel-fade .carousel-item.active, -.carousel-fade .carousel-item-next.carousel-item-start, -.carousel-fade .carousel-item-prev.carousel-item-end { - z-index: 1; - opacity: 1; -} -.carousel-fade .active.carousel-item-start, -.carousel-fade .active.carousel-item-end { - z-index: 0; - opacity: 0; - transition: opacity 0s 0.6s; -} -@media (prefers-reduced-motion: reduce) { - .carousel-fade .active.carousel-item-start, -.carousel-fade .active.carousel-item-end { - transition: none; - } -} - -.carousel-control-prev, -.carousel-control-next { - z-index: 1; - width: 15%; - color: #fff; - background: none; - opacity: 0.5; - transition: opacity 0.15s ease; -} -@media (prefers-reduced-motion: reduce) { - .carousel-control-prev, -.carousel-control-next { - transition: none; - } -} -.carousel-control-prev:hover, .carousel-control-prev:focus, -.carousel-control-next:hover, -.carousel-control-next:focus { - color: #fff; - opacity: 0.9; -} - -.carousel-control-prev-icon, -.carousel-control-next-icon { - width: 2rem; - height: 2rem; - background-position: 50%; - background-size: 100% 100%; -} - -/* rtl:options: { - "autoRename": true, - "stringMap":[ { - "name" : "prev-next", - "search" : "prev", - "replace" : "next" - } ] -} */ -.carousel-control-prev-icon { - background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/%3e%3c/svg%3e"); -} - -.carousel-control-next-icon { - background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e"); -} - -.carousel-indicators { - z-index: 2; - margin-right: 15%; - margin-left: 15%; - list-style: none; -} -.carousel-indicators [data-bs-target] { - box-sizing: content-box; - flex: 0 1 auto; - width: 30px; - height: 3px; - padding: 0; - margin-right: 3px; - margin-left: 3px; - text-indent: -999px; - cursor: pointer; - background-color: #fff; - background-clip: padding-box; - border: 0; - border-top: 10px solid transparent; - border-bottom: 10px solid transparent; - opacity: 0.5; - transition: opacity 0.6s ease; -} -@media (prefers-reduced-motion: reduce) { - .carousel-indicators [data-bs-target] { - transition: none; - } -} -.carousel-indicators .active { - opacity: 1; -} - -.carousel-caption { - right: 15%; - bottom: 1.25rem; - left: 15%; - padding-top: 1.25rem; - padding-bottom: 1.25rem; - color: #fff; -} - -.carousel-dark .carousel-control-prev-icon, -.carousel-dark .carousel-control-next-icon { - filter: invert(1) grayscale(100); -} -.carousel-dark .carousel-indicators [data-bs-target] { - background-color: #000; -} -.carousel-dark .carousel-caption { - color: #000; -} - -.spinner-border { - vertical-align: -0.125em; - border: 0.25em solid currentColor; - border-right-color: transparent; -} - -@keyframes spinner-grow { - 0% { - transform: scale(0); - } - 50% { - opacity: 1; - transform: none; - } -} -.spinner-grow { - vertical-align: -0.125em; - animation: 0.75s linear infinite spinner-grow; -} - -@media (prefers-reduced-motion: reduce) { - .spinner-border, -.spinner-grow { - animation-duration: 1.5s; - } -} -.offcanvas { - z-index: 1045; -} - -.offcanvas-backdrop { - position: fixed; - top: 0; - left: 0; - z-index: 1040; - width: 100vw; - height: 100vh; - background-color: #000; -} -.offcanvas-backdrop.fade { - opacity: 0; -} -.offcanvas-backdrop.show { - opacity: 0.5; -} - -.offcanvas-start { - transform: translateX(-100%); -} - -.offcanvas-end { - transform: translateX(100%); -} - -.offcanvas-top { - transform: translateY(-100%); -} - -.offcanvas-bottom { - transform: translateY(100%); -} - -.offcanvas.show { - transform: none; -} - -.clearfix::after { - display: block; - clear: both; - content: ""; -} - -.link-primary { - color: #0d6efd; -} -.link-primary:hover, .link-primary:focus { - color: #0a58ca; -} - -.link-secondary { - color: #6c757d; -} -.link-secondary:hover, .link-secondary:focus { - color: #565e64; -} - -.link-success { - color: #198754; -} -.link-success:hover, .link-success:focus { - color: #146c43; -} - -.link-info { - color: #0dcaf0; -} -.link-info:hover, .link-info:focus { - color: #3dd5f3; -} - -.link-warning { - color: #ffc107; -} -.link-warning:hover, .link-warning:focus { - color: #ffcd39; -} - -.link-danger { - color: #dc3545; -} -.link-danger:hover, .link-danger:focus { - color: #b02a37; -} - -.link-light { - color: #f8f9fa; -} -.link-light:hover, .link-light:focus { - color: #f9fafb; -} - -.link-dark { - color: #212529; -} -.link-dark:hover, .link-dark:focus { - color: #1a1e21; -} - -.ratio { - position: relative; - width: 100%; -} -.ratio::before { - display: block; - padding-top: var(--bs-aspect-ratio); - content: ""; -} -.ratio > * { - position: absolute; - top: 0; - left: 0; - width: 100%; - height: 100%; -} - -.ratio-1x1 { - --bs-aspect-ratio: 100%; -} - -.ratio-4x3 { - --bs-aspect-ratio: 75%; -} - -.ratio-16x9 { - --bs-aspect-ratio: 56.25%; -} - -.ratio-21x9 { - --bs-aspect-ratio: 42.8571428571%; -} - -.fixed-top { - position: fixed; - top: 0; - right: 0; - left: 0; - z-index: 1030; -} - -.fixed-bottom { - position: fixed; - right: 0; - bottom: 0; - left: 0; - z-index: 1030; -} - -.sticky-top { - position: sticky; - top: 0; - z-index: 1020; -} - -@media (min-width: 576px) { - .sticky-sm-top { - position: sticky; - top: 0; - z-index: 1020; - } -} -@media (min-width: 768px) { - .sticky-md-top { - position: sticky; - top: 0; - z-index: 1020; - } -} -@media (min-width: 992px) { - .sticky-lg-top { - position: sticky; - top: 0; - z-index: 1020; - } -} -@media (min-width: 1200px) { - .sticky-xl-top { - position: sticky; - top: 0; - z-index: 1020; - } -} -@media (min-width: 1400px) { - .sticky-xxl-top { - position: sticky; - top: 0; - z-index: 1020; - } -} -.hstack { - display: flex; - flex-direction: row; - align-items: center; - align-self: stretch; -} - -.vstack { - display: flex; - flex: 1 1 auto; - flex-direction: column; - align-self: stretch; -} - -.visually-hidden, -.visually-hidden-focusable:not(:focus):not(:focus-within) { - position: absolute !important; - width: 1px !important; - height: 1px !important; - padding: 0 !important; - margin: -1px !important; - overflow: hidden !important; - clip: rect(0, 0, 0, 0) !important; - white-space: nowrap !important; - border: 0 !important; -} - -.stretched-link::after { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - z-index: 1; - content: ""; -} - -.text-truncate { - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; -} - -.vr { - display: inline-block; - align-self: stretch; - width: 1px; - min-height: 1em; - background-color: currentColor; - opacity: 0.25; -} - -.animation { - animation-duration: 1s; - animation-fill-mode: both; - padding: auto; -} - -@media (prefers-reduced-motion) { - .animation { - transition: none !important; - animation: unset !important; - } -} -@keyframes fade-in { - from { - opacity: 0; - } - to { - opacity: 1; - } -} -.fade-in { - animation-name: fade-in; -} - -@keyframes fade-out { - from { - opacity: 1; - } - to { - opacity: 0; - } -} -.fade-out { - animation-name: fade-out; -} - -.animation.infinite { - animation-iteration-count: infinite; -} -.animation.delay-1s { - animation-delay: 1s; -} -.animation.delay-2s { - animation-delay: 2s; -} -.animation.delay-3s { - animation-delay: 3s; -} -.animation.delay-4s { - animation-delay: 4s; -} -.animation.delay-5s { - animation-delay: 5s; -} -.animation.fast { - animation-duration: 800ms; -} -.animation.faster { - animation-duration: 500ms; -} -.animation.slow { - animation-duration: 2s; -} -.animation.slower { - animation-duration: 3s; -} - -@keyframes fade-in-down { - from { - opacity: 0; - transform: translate3d(0, -100%, 0); - } - to { - opacity: 1; - transform: translate3d(0, 0, 0); - } -} -.fade-in-down { - animation-name: fade-in-down; -} - -@keyframes fade-in-left { - from { - opacity: 0; - transform: translate3d(-100%, 0, 0); - } - to { - opacity: 1; - transform: translate3d(0, 0, 0); - } -} -.fade-in-left { - animation-name: fade-in-left; -} - -@keyframes fade-in-right { - from { - opacity: 0; - transform: translate3d(100%, 0, 0); - } - to { - opacity: 1; - transform: translate3d(0, 0, 0); - } -} -.fade-in-right { - animation-name: fade-in-right; -} - -@keyframes fade-in-up { - from { - opacity: 0; - transform: translate3d(0, 100%, 0); - } - to { - opacity: 1; - transform: translate3d(0, 0, 0); - } -} -.fade-in-up { - animation-name: fade-in-up; -} - -@keyframes fade-out-down { - from { - opacity: 1; - } - to { - opacity: 0; - transform: translate3d(0, 100%, 0); - } -} -.fade-out-down { - animation-name: fade-out-down; -} - -@keyframes fade-out-left { - from { - opacity: 1; - } - to { - opacity: 0; - transform: translate3d(-100%, 0, 0); - } -} -.fade-out-left { - animation-name: fade-out-left; -} - -@keyframes fade-out-right { - from { - opacity: 1; - } - to { - opacity: 0; - transform: translate3d(100%, 0, 0); - } -} -.fade-out-right { - animation-name: fade-out-right; -} - -@keyframes fade-out-up { - from { - opacity: 1; - } - to { - opacity: 0; - transform: translate3d(0, -100%, 0); - } -} -.fade-out-up { - animation-name: fade-out-up; -} - -@keyframes slide-in-down { - from { - visibility: visible; - transform: translate3d(0, -100%, 0); - } - to { - transform: translate3d(0, 0, 0); - } -} -.slide-in-down { - animation-name: slide-in-down; -} - -@keyframes slide-in-left { - from { - visibility: visible; - transform: translate3d(-100%, 0, 0); - } - to { - transform: translate3d(0, 0, 0); - } -} -.slide-in-left { - animation-name: slide-in-left; -} - -@keyframes slide-in-right { - from { - visibility: visible; - transform: translate3d(100%, 0, 0); - } - to { - transform: translate3d(0, 0, 0); - } -} -.slide-in-right { - animation-name: slide-in-right; -} - -@keyframes slide-in-up { - from { - visibility: visible; - transform: translate3d(0, 100%, 0); - } - to { - transform: translate3d(0, 0, 0); - } -} -.slide-in-up { - animation-name: slide-in-up; -} - -@keyframes slide-out-down { - from { - transform: translate3d(0, 0, 0); - } - to { - visibility: hidden; - transform: translate3d(0, 100%, 0); - } -} -.slide-out-down { - animation-name: slide-out-down; -} - -@keyframes slide-out-left { - from { - transform: translate3d(0, 0, 0); - } - to { - visibility: hidden; - transform: translate3d(-100%, 0, 0); - } -} -.slide-out-left { - animation-name: slide-out-left; -} - -@keyframes slide-out-right { - from { - transform: translate3d(0, 0, 0); - } - to { - visibility: hidden; - transform: translate3d(100%, 0, 0); - } -} -.slide-out-right { - animation-name: slide-out-right; -} - -@keyframes slide-out-up { - from { - transform: translate3d(0, 0, 0); - } - to { - visibility: hidden; - transform: translate3d(0, -100%, 0); - } -} -.slide-out-up { - animation-name: slide-out-up; -} - -@keyframes slide-down { - from { - transform: translate3d(0, 0, 0); - } - to { - transform: translate3d(0, 100%, 0); - } -} -.slide-down { - animation-name: slide-down; -} - -@keyframes slide-left { - from { - transform: translate3d(0, 0, 0); - } - to { - transform: translate3d(-100%, 0, 0); - } -} -.slide-left { - animation-name: slide-left; -} - -@keyframes slide-right { - from { - transform: translate3d(0, 0, 0); - } - to { - transform: translate3d(100%, 0, 0); - } -} -.slide-right { - animation-name: slide-right; -} - -@keyframes slide-up { - from { - transform: translate3d(0, 0, 0); - } - to { - transform: translate3d(0, -100%, 0); - } -} -.slide-up { - animation-name: slide-up; -} - -@keyframes zoom-in { - from { - opacity: 0; - transform: scale3d(0.3, 0.3, 0.3); - } - 50% { - opacity: 1; - } -} -.zoom-in { - animation-name: zoom-in; -} - -@keyframes zoom-out { - from { - opacity: 1; - } - 50% { - opacity: 0; - transform: scale3d(0.3, 0.3, 0.3); - } - to { - opacity: 0; - } -} -.zoom-out { - animation-name: zoom-out; -} - -@keyframes tada { - from { - transform: scale3d(1, 1, 1); - } - 10%, 20% { - transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg); - } - 30%, 50%, 70%, 90% { - transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg); - } - 40%, 60%, 80% { - transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg); - } - to { - transform: scale3d(1, 1, 1); - } -} -.tada { - animation-name: tada; -} - -@keyframes pulse { - from { - transform: scale3d(1, 1, 1); - } - 50% { - transform: scale3d(1.05, 1.05, 1.05); - } - to { - transform: scale3d(1, 1, 1); - } -} -.pulse { - animation-name: pulse; -} - -.ripple-surface { - position: relative; - overflow: hidden; - display: inline-block; - vertical-align: bottom; -} - -.ripple-surface-unbound { - overflow: visible; -} - -.ripple-wave { - background-image: radial-gradient(circle, rgba(0, 0, 0, 0.2) 0, rgba(0, 0, 0, 0.3) 40%, rgba(0, 0, 0, 0.4) 50%, rgba(0, 0, 0, 0.5) 60%, transparent 70%); - border-radius: 50%; - opacity: 0.5; - pointer-events: none; - position: absolute; - touch-action: none; - transform: scale(0); - transition-property: transform, opacity; - transition-timing-function: cubic-bezier(0, 0, 0.15, 1), cubic-bezier(0, 0, 0.15, 1); - z-index: 999; -} - -.ripple-wave.active { - transform: scale(1); - opacity: 0; -} - -.btn .ripple-wave { - background-image: radial-gradient(circle, hsla(0deg, 0%, 100%, 0.2) 0, hsla(0deg, 0%, 100%, 0.3) 40%, hsla(0deg, 0%, 100%, 0.4) 50%, hsla(0deg, 0%, 100%, 0.5) 60%, hsla(0deg, 0%, 100%, 0) 70%); -} - -.ripple-surface-primary .ripple-wave { - background-image: radial-gradient(circle, rgba(18, 102, 241, 0.2) 0, rgba(18, 102, 241, 0.3) 40%, rgba(18, 102, 241, 0.4) 50%, rgba(18, 102, 241, 0.5) 60%, rgba(18, 102, 241, 0) 70%); -} - -.ripple-surface-secondary .ripple-wave { - background-image: radial-gradient(circle, rgba(178, 60, 253, 0.2) 0, rgba(178, 60, 253, 0.3) 40%, rgba(178, 60, 253, 0.4) 50%, rgba(178, 60, 253, 0.5) 60%, rgba(178, 60, 253, 0) 70%); -} - -.ripple-surface-success .ripple-wave { - background-image: radial-gradient(circle, rgba(0, 183, 74, 0.2) 0, rgba(0, 183, 74, 0.3) 40%, rgba(0, 183, 74, 0.4) 50%, rgba(0, 183, 74, 0.5) 60%, rgba(0, 183, 74, 0) 70%); -} - -.ripple-surface-info .ripple-wave { - background-image: radial-gradient(circle, rgba(57, 192, 237, 0.2) 0, rgba(57, 192, 237, 0.3) 40%, rgba(57, 192, 237, 0.4) 50%, rgba(57, 192, 237, 0.5) 60%, rgba(57, 192, 237, 0) 70%); -} - -.ripple-surface-warning .ripple-wave { - background-image: radial-gradient(circle, rgba(255, 169, 0, 0.2) 0, rgba(255, 169, 0, 0.3) 40%, rgba(255, 169, 0, 0.4) 50%, rgba(255, 169, 0, 0.5) 60%, rgba(255, 169, 0, 0) 70%); -} - -.ripple-surface-danger .ripple-wave { - background-image: radial-gradient(circle, rgba(249, 49, 84, 0.2) 0, rgba(249, 49, 84, 0.3) 40%, rgba(249, 49, 84, 0.4) 50%, rgba(249, 49, 84, 0.5) 60%, rgba(249, 49, 84, 0) 70%); -} - -.ripple-surface-light .ripple-wave { - background-image: radial-gradient(circle, hsla(0deg, 0%, 98.4%, 0.2) 0, hsla(0deg, 0%, 98.4%, 0.3) 40%, hsla(0deg, 0%, 98.4%, 0.4) 50%, hsla(0deg, 0%, 98.4%, 0.5) 60%, hsla(0deg, 0%, 98.4%, 0) 70%); -} - -.ripple-surface-dark .ripple-wave { - background-image: radial-gradient(circle, rgba(38, 38, 38, 0.2) 0, rgba(38, 38, 38, 0.3) 40%, rgba(38, 38, 38, 0.4) 50%, rgba(38, 38, 38, 0.5) 60%, rgba(38, 38, 38, 0) 70%); -} - -.ripple-surface-white .ripple-wave { - background-image: radial-gradient(circle, hsla(0deg, 0%, 100%, 0.2) 0, hsla(0deg, 0%, 100%, 0.3) 40%, hsla(0deg, 0%, 100%, 0.4) 50%, hsla(0deg, 0%, 100%, 0.5) 60%, hsla(0deg, 0%, 100%, 0) 70%); -} - -.ripple-surface-black .ripple-wave { - background-image: radial-gradient(circle, rgba(0, 0, 0, 0.2) 0, rgba(0, 0, 0, 0.3) 40%, rgba(0, 0, 0, 0.4) 50%, rgba(0, 0, 0, 0.5) 60%, transparent 70%); -} - -.datepicker-toggle-button { - position: absolute; - outline: none; - border: none; - background-color: transparent; - right: 10px; - top: 50%; - transform: translate(-50%, -50%); -} -.datepicker-toggle-button:focus { - color: #2979ff; -} -.datepicker-toggle-button:hover { - color: #2979ff; -} - -.datepicker-backdrop { - width: 100%; - height: 100%; - position: fixed; - top: 0; - right: 0; - bottom: 0; - left: 0; - background-color: rgba(0, 0, 0, 0.4); - z-index: 1065; -} - -.datepicker-dropdown-container { - width: 328px; - height: 380px; - background-color: #fff; - border-radius: 0.5rem; - box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.07), 0 4px 6px -2px rgba(0, 0, 0, 0.05); - z-index: 1066; -} - -.datepicker-modal-container { - display: flex; - flex-direction: column; - position: fixed; - top: 50%; - left: 50%; - transform: translate(-50%, -50%); - width: 328px; - height: 512px; - background-color: #fff; - border-radius: 0.6rem 0.6rem 0.5rem 0.5rem; - box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.07), 0 4px 6px -2px rgba(0, 0, 0, 0.05); - z-index: 1066; -} -@media screen and (min-width: 320px) and (max-width: 820px) and (orientation: landscape) { - .datepicker-modal-container .datepicker-header { - height: 100%; - } -} -@media screen and (min-width: 320px) and (max-width: 820px) and (orientation: landscape) { - .datepicker-modal-container .datepicker-date { - margin-top: 100px; - } -} -@media screen and (min-width: 320px) and (max-width: 820px) and (orientation: landscape) { - .datepicker-modal-container .datepicker-day-cell { - width: 32x; - height: 32x; - } -} -@media screen and (min-width: 320px) and (max-width: 820px) and (orientation: landscape) { - .datepicker-modal-container { - flex-direction: row; - width: 475px; - height: 360px; - } - .datepicker-modal-container.datepicker-day-cell { - width: 36px; - height: 36px; - } -} - -.datepicker-header { - height: 120px; - padding-right: 24px; - padding-left: 24px; - background-color: #2979ff; - display: flex; - flex-direction: column; - border-radius: 0.5rem 0.5rem 0 0; -} - -.datepicker-title { - height: 32px; - display: flex; - flex-direction: column; - justify-content: flex-end; -} - -.datepicker-title-text { - font-size: 10px; - font-weight: 400; - text-transform: uppercase; - letter-spacing: 1.7px; - color: #fff; -} - -.datepicker-date { - height: 72px; - display: flex; - flex-direction: column; - justify-content: flex-end; -} - -.datepicker-date-text { - font-size: 34px; - font-weight: 400; - color: #fff; -} - -.datepicker-main { - position: relative; - height: 100%; -} - -.datepicker-date-controls { - padding: 10px 12px 0 12px; - display: flex; - justify-content: space-between; -} - -.datepicker-arrow { - display: inline-block; - width: 0; - height: 0; - border-left: 5px solid transparent; - border-right: 5px solid transparent; - border-top-width: 5px; - border-top-style: solid; - margin: 0 0 0 5px; - vertical-align: middle; -} - -.datepicker-arrow-up { - display: inline-block; - width: 0; - height: 0; - border-left: 5px solid transparent; - border-right: 5px solid transparent; - border-top-width: 5px; - border-top-style: solid; - margin: 0 0 0 5px; - vertical-align: middle; - transform: rotate(180deg); -} - -.datepicker-date-controls { - color: rgba(0, 0, 0, 0.64); -} - -.datepicker-view-change-button { - padding: 10px; - color: #666; - font-weight: 500; - font-size: 0.9rem; - border-radius: 10px; - box-shadow: none; - background-color: transparent; - margin: 0; - border: none; -} -.datepicker-view-change-button:hover, .datepicker-view-change-button:focus { - background-color: #eee; -} -.datepicker-view-change-button:after { - content: ""; - display: inline-block; - width: 0; - height: 0; - border-left: 5px solid transparent; - border-right: 5px solid transparent; - border-top-width: 5px; - border-top-style: solid; - margin: 0 0 0 5px; - vertical-align: middle; -} - -.datepicker-arrow-controls { - margin-top: 10px; -} - -/*!rtl:begin:options: -{ - "autoRename": true, - "stringMap":[ - { - "name" : "prev-next", - "search" : ["datepicker-previous-button", "datepicker-next-button"], - "replace" : ["datepicker-next-button", "datepicker-previous-button"], - "options" : {"ignoreCase":false} - } - ] -} -*/ -.datepicker-previous-button { - position: relative; - padding: 0; - width: 40px; - height: 40px; - line-height: 40px; - border: none; - outline: none; - margin: 0; - color: rgba(0, 0, 0, 0.64); - background-color: transparent; - margin-right: 24px; -} -.datepicker-previous-button:hover, .datepicker-previous-button:focus { - background-color: #eee; - border-radius: 50%; -} - -.datepicker-previous-button::after { - top: 0; - left: 0; - right: 0; - bottom: 0; - position: absolute; - content: ""; - margin: 15.5px; - border: 0 solid currentColor; - border-top-width: 2px; - border-left-width: 2px; - transform: translateX(2px) rotate(-45deg); -} - -.datepicker-next-button { - position: relative; - padding: 0; - width: 40px; - height: 40px; - line-height: 40px; - border: none; - outline: none; - margin: 0; - color: rgba(0, 0, 0, 0.64); - background-color: transparent; -} -.datepicker-next-button:hover, .datepicker-next-button:focus { - background-color: #eee; - border-radius: 50%; -} - -.datepicker-next-button::after { - top: 0; - left: 0; - right: 0; - bottom: 0; - position: absolute; - content: ""; - margin: 15.5px; - border: 0 solid currentColor; - border-top-width: 2px; - border-right-width: 2px; - transform: translateX(-2px) rotate(45deg); -} - -/*!rtl:end:options*/ -.datepicker-view { - padding-left: 12px; - padding-right: 12px; - outline: none; -} - -.datepicker-table { - margin-right: auto; - margin-left: auto; - width: 304px; -} - -.datepicker-day-heading { - width: 40px; - height: 40px; - text-align: center; - font-size: 12px; - font-weight: 400; -} - -.datepicker-cell { - text-align: center; -} -.datepicker-cell.disabled { - color: #ccc; - cursor: default; - pointer-events: none; -} -.datepicker-cell.disabled:hover { - cursor: default; -} -.datepicker-cell:hover { - cursor: pointer; -} - -.datepicker-cell:not(.disabled):not(.selected):hover .datepicker-cell-content { - background-color: #d3d3d3; -} - -.datepicker-cell.selected .datepicker-cell-content { - background-color: #2979ff; - color: #fff; -} - -.datepicker-cell:not(.selected).focused .datepicker-cell-content { - background-color: #eee; -} - -.datepicker-cell.focused .datepicker-cell-content.selected { - background-color: #2979ff; -} - -.datepicker-cell.current .datepicker-cell-content { - border: 1px solid #000; -} - -.datepicker-small-cell { - width: 40px; - height: 40px; -} - -.datepicker-small-cell-content { - width: 36px; - height: 36px; - line-height: 36px; - border-radius: 50%; - font-size: 13px; -} - -.datepicker-large-cell { - width: 76px; - height: 42px; -} - -.datepicker-large-cell-content { - width: 72px; - height: 40px; - line-height: 40px; - padding: 1px 2px; - border-radius: 999px; -} - -.datepicker-yearview-content { - padding-left: 12px; - padding-right: 12px; -} - -.datepicker-footer { - height: 56px; - display: flex; - position: absolute; - width: 100%; - bottom: 0; - justify-content: flex-end; - align-items: center; - padding-left: 12px; - padding-right: 12px; -} - -.datepicker-footer-btn { - background-color: #fff; - color: #2979ff; - border: none; - cursor: pointer; - padding: 0 10px; - text-transform: uppercase; - font-size: 0.8rem; - font-weight: 500; - height: 40px; - line-height: 40px; - letter-spacing: 0.1rem; - border-radius: 10px; - margin-bottom: 10px; -} -.datepicker-footer-btn:hover, .datepicker-footer-btn:focus { - background-color: #eee; -} - -.datepicker-clear-btn { - margin-right: auto; -} - -.timepicker-wrapper { - touch-action: none; - z-index: 1065; - opacity: 0; - right: 0; - bottom: 0; - top: 0; - left: 0; - background-color: rgba(0, 0, 0, 0.4); -} -.timepicker-wrapper-inline { - border-radius: 0.5rem; -} -.timepicker-elements { - min-width: 310px; - min-height: 325px; - background: #fff; - border-top-right-radius: 0.6rem; - border-top-left-radius: 0.6rem; -} -@media screen and (min-width: 320px) and (max-width: 825px) and (orientation: landscape) { - .timepicker-elements { - flex-direction: row !important; - border-bottom-left-radius: 0.5rem; - min-width: auto; - min-height: auto; - overflow-y: auto; - } -} -.timepicker-elements-inline { - min-height: auto; -} -.timepicker-head { - background-color: #2979ff; - height: 100px; - border-top-right-radius: 0.5rem; - border-top-left-radius: 0.5rem; - padding: 10px 24px 10px 50px; -} -@media screen and (min-width: 320px) and (max-width: 825px) and (orientation: landscape) { - .timepicker-head { - border-top-right-radius: 0; - border-bottom-left-radius: 0; - padding: 10px; - padding-right: 10px !important; - height: auto; - min-height: 305px; - } -} -.timepicker-head-inline { - padding: 0; - border-bottom-right-radius: 0.5rem; - border-bottom-left-radius: 0.5rem; -} -@media screen and (min-width: 320px) and (max-width: 825px) and (orientation: landscape) { - .timepicker-head-content { - flex-direction: column; - } -} -.timepicker-button { - font-size: 0.8rem; - min-width: 64px; - box-sizing: border-box; - font-weight: 500; - line-height: 40px; - border-radius: 10px; - letter-spacing: 0.1rem; - text-transform: uppercase; - color: #2979ff; - border: none; - background-color: transparent; - transition: background-color 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms, box-shadow 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms, border 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms; - outline: none; - padding: 0 10px; - height: 40px; - margin-bottom: 10px; -} -.timepicker-button:hover { - background-color: rgba(0, 0, 0, 0.08); -} -.timepicker-button:focus { - outline: none; - background-color: rgba(0, 0, 0, 0.08); -} -.timepicker-submit-inline { - border-radius: 100%; - height: 48px; - min-width: 48px; - display: inline-block; - margin-left: 30px; - color: #fff; -} -.timepicker-current { - font-size: 3.75rem; - font-weight: 300; - line-height: 1.2; - letter-spacing: -0.00833em; - color: #fff; - opacity: 0.54; - border: none; - background: transparent; - padding: 0; -} -.timepicker-current.active { - opacity: 1; -} -.timepicker-current-wrapper { - direction: ltr /*!rtl:ignore*/; -} -.timepicker-mode-wrapper { - margin-left: 20px; - font-size: 18px; - color: rgba(255, 255, 255, 0.54); -} -@media screen and (min-width: 320px) and (max-width: 825px) and (orientation: landscape) { - .timepicker-mode-wrapper { - justify-content: space-around !important; - flex-direction: row !important; - } -} -.timepicker-mode-wrapper.active { - opacity: 1; -} -.timepicker-clock-wrapper { - min-width: 310px; - max-width: 325px; - min-height: 305px; - overflow-x: hidden; - height: 100%; -} -.timepicker-clock { - position: relative; - border-radius: 100%; - width: 260px; - height: 260px; - cursor: default; - margin: 0 auto; - background-color: rgba(0, 0, 0, 0.07); -} -.timepicker-clock-inner { - position: absolute; - top: 50%; - left: 50%; - transform: translate(-50%, -50%); - width: 160px; - height: 160px; - border-radius: 100%; -} -.timepicker-time-tips-minutes, .timepicker-time-tips-inner, .timepicker-time-tips-hours { - position: absolute; - border-radius: 100%; - width: 32px; - height: 32px; - text-align: center; - cursor: pointer; - font-size: 1.1rem; - border-radius: 100%; - background-color: transparent; - display: flex; - justify-content: center; - align-items: center; - font-weight: 300; -} -.timepicker-time-tips-minutes.active, .timepicker-time-tips-inner.active, .timepicker-time-tips-hours.active { - color: #fff; - background-color: #2979ff; - font-weight: 400; -} -.timepicker-time-tips-minutes:focus, .timepicker-time-tips-inner:focus, .timepicker-time-tips-hours:focus { - outline: none; -} -.timepicker-time-tips-minutes.disabled, .timepicker-time-tips-inner.disabled, .timepicker-time-tips-hours.disabled { - color: #b3afaf; - pointer-events: none; - background-color: transparent; -} -.timepicker-time-tips-minutes::selection, .timepicker-time-tips-inner::selection, .timepicker-time-tips-hours::selection { - background-color: transparent; -} -.timepicker-current, .timepicker-dot { - font-weight: 300; - line-height: 1.2; - letter-spacing: -0.00833em; - color: #fff; -} -@media screen and (min-width: 320px) and (max-width: 825px) and (orientation: landscape) { - .timepicker-current, .timepicker-dot { - font-size: 3rem; - font-weight: 400; - } -} -.timepicker-dot { - font-size: 3.75rem; - opacity: 0.54; - border: none; - background: transparent; - padding: 0; -} -.timepicker-current-inline { - font-size: 2.5rem; -} -.timepicker-item { - position: absolute; - border-radius: 100%; - width: 20px; - height: 20px; - text-align: center; - padding: 10px; - user-select: none; - cursor: default; - font-size: 1.1em; - z-index: 3; -} -.timepicker-middle-dot { - top: 50%; - left: 50%; - width: 6px; - height: 6px; - transform: translate(-50%, -50%); - border-radius: 50%; - background-color: #2979ff; -} -.timepicker-hand-pointer { - background-color: #2979ff; - bottom: 50%; - height: 40%; - left: calc(50% - 1px) /*!rtl:ignore*/; - transform-origin: center bottom 0 /*!rtl:ignore*/; - width: 2px; -} -.timepicker-transform { - transition: transform 400ms cubic-bezier(0.4, 0, 0.2, 1) 0ms, height 400ms cubic-bezier(0.4, 0, 0.2, 1) 0ms; -} -.timepicker-time-tips { - position: absolute; - border-radius: 100%; - width: 32px; - height: 32px; - text-align: center; - cursor: pointer; - font-size: 1.1rem; -} -.timepicker-time-tips.active { - color: #fff; -} -.timepicker-circle { - top: -21px; - left: -15px; - width: 4px; - border: 14px solid #2979ff; - height: 4px; - box-sizing: content-box; - border-radius: 100%; -} -.timepicker-hour-mode { - padding: 0; - background-color: transparent; - border: none; - color: #fff; - opacity: 0.54; -} -.timepicker-hour-mode, .timepicker-hour, .timepicker-minute { - cursor: pointer; -} -.timepicker-hour-mode:hover, .timepicker-hour-mode:focus, .timepicker-hour:hover, .timepicker-hour:focus, .timepicker-minute:hover, .timepicker-minute:focus { - background-color: rgba(0, 0, 0, 0.15); - outline: none; -} -.timepicker-hour-mode.active, .timepicker-hour.active, .timepicker-minute.active { - color: #fff; - opacity: 1; -} -.timepicker-hour-mode-current-inline, .timepicker-hour-current-inline, .timepicker-minute-current-inline { - font-size: 2.5rem; -} -.timepicker-footer { - border-bottom-left-radius: 0.5rem; - border-bottom-right-radius: 0.5rem; - display: flex; - justify-content: space-between; - align-items: center; - width: 100%; - height: 56px; - padding-left: 12px; - padding-right: 12px; - background-color: #fff; -} -.timepicker-container { - max-height: calc(100% - 64px); - overflow-y: auto; - box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.07), 0 4px 6px -2px rgba(0, 0, 0, 0.05); -} -.timepicker-icon-up, .timepicker-icon-down { - opacity: 0; - transition: 0.2s ease all; - cursor: pointer; - transform: translate(-50%, -50%); - left: 50%; - width: 30px; - height: 30px; - display: flex; - justify-content: center; - align-items: center; -} -.timepicker-icon-up.active, .timepicker-icon-up:hover, .timepicker-icon-down.active, .timepicker-icon-down:hover { - opacity: 1; -} -.timepicker-icon-up { - top: -35px; -} -.timepicker-icon-down { - bottom: -47px; -} -.timepicker-inline-hour-icons button, .timepicker-inline-minutes-icons button { - opacity: 1 !important; - cursor: default; -} -.timepicker-inline-hour-icons button:hover, .timepicker-inline-minutes-icons button:hover { - background-color: unset !important; -} -.timepicker-clock-animation { - animation: show-up-clock 350ms linear; -} -.timepicker-icon-btn { - width: 30px; - height: 30px; -} -.timepicker-toggle-button { - position: absolute; - outline: none; - border: none; - background-color: transparent; - right: 10px; - top: 50%; - transform: translate(-50%, -50%); - transition: all 0.3s ease; - cursor: pointer; -} -.timepicker-toggle-button:hover { - color: #2979ff; -} -.timepicker-toggle-button:focus { - color: #2979ff; -} -.timepicker-input:focus + .timepicker-toggle-button, .timepicker-input:focus + .timepicker-toggle-button i { - color: #2979ff; -} -.timepicker a.timepicker-toggle-button, .timepicker-toggle-button.timepicker-icon { - right: 1px; -} - -@keyframes show-up-clock { - 0% { - opacity: 0; - transform: scale(0.7); - } - to { - opacity: 1; - transform: scale(1); - } -} -.justify-content-evenly { - justify-content: space-evenly; -} - -.timepicker-modal { - z-index: 1065; - position: fixed; - top: 0; - left: 0; - width: 100%; - height: 100%; -} -.timepicker-modal .fade.show { - opacity: 1; -} - -.stepper { - position: relative; - padding: 0; - margin: 0; - width: 100%; - list-style: none; - overflow: hidden; - transition: height 0.2s ease-in-out; -} - -.stepper:not(.stepper-vertical) { - display: flex; - justify-content: space-between; -} -.stepper:not(.stepper-vertical) .stepper-content { - position: absolute; - width: 100%; - padding: 1rem; -} -.stepper:not(.stepper-vertical) .stepper-step { - flex: auto; - height: 4.5rem; -} -.stepper:not(.stepper-vertical) .stepper-step:first-child .stepper-head { - padding-left: 1.5rem; -} -.stepper:not(.stepper-vertical) .stepper-step:last-child .stepper-head { - padding-right: 1.5rem; -} -.stepper:not(.stepper-vertical) .stepper-step:not(:first-child) .stepper-head:before { - flex: 1; - height: 1px; - width: 100%; - margin-right: 0.5rem; - content: ""; - background-color: rgba(0, 0, 0, 0.1); -} -.stepper:not(.stepper-vertical) .stepper-step:not(:last-child) .stepper-head:after { - flex: 1; - height: 1px; - width: 100%; - margin-left: 0.5rem; - content: ""; - background-color: rgba(0, 0, 0, 0.1); -} -.stepper:not(.stepper-vertical) .stepper-head-icon { - margin: 1.5rem 0.5rem 1.5rem 0; -} - -.stepper-vertical .stepper-step { - height: fit-content; - position: relative; -} -.stepper-vertical .stepper-step:not(:last-child):after { - position: absolute; - left: 2.25rem; - height: calc(100% - 2.45rem); - top: 3rem; - width: 1px; - margin-top: 0.5rem; - content: ""; - background-color: rgba(0, 0, 0, 0.1); -} -.stepper-vertical .stepper-content { - overflow: hidden; - padding: 1rem 1.5rem 1.5rem 3.75rem; - transition: height 0.3s ease-in-out, margin-top 0.3s ease-in-out, margin-bottom 0.3s ease-in-out, padding-top 0.3s ease-in-out, padding-bottom 0.3s ease-in-out; -} -.stepper-vertical .stepper-content-hide { - margin-top: 0 !important; - margin-bottom: 0 !important; - padding-top: 0 !important; - padding-bottom: 0 !important; - height: 0 !important; -} -.stepper-vertical .stepper-head { - padding: 1.5rem; -} -.stepper-vertical .stepper-head-icon { - margin-right: 0.75rem; -} -.stepper-vertical .stepper-head-text:after { - position: absolute; -} - -.stepper.stepper-mobile { - justify-content: center; - align-items: flex-end; -} -.stepper.stepper-mobile.stepper-progress-bar .stepper-head-icon { - display: none; -} -.stepper.stepper-mobile .stepper-step { - flex: unset; - height: fit-content; - margin: 1rem 0 1rem 0; -} -.stepper.stepper-mobile .stepper-step:not(:last-child) .stepper-head:after { - margin-left: 0; -} -.stepper.stepper-mobile .stepper-step:not(:first-child) .stepper-head:before { - margin-right: 0; -} -.stepper.stepper-mobile .stepper-step:not(:last-child):not(:first-child) .stepper-head { - padding-left: 0.25rem; - padding-right: 0.25rem; -} -.stepper.stepper-mobile .stepper-head-icon { - font-size: 0; - margin: 0; - height: 0.5rem; - width: 0.5rem; - z-index: 1; -} -.stepper.stepper-mobile .stepper-head-text { - display: none; -} -.stepper.stepper-mobile .stepper-content { - top: 2.56rem; -} - -.stepper-form { - display: inherit; - justify-content: inherit; - width: inherit; - position: inherit; -} - -.stepper-content { - left: 0; -} - -.stepper-head { - display: flex; - align-items: center; - text-decoration: none; - color: unset; - line-height: 1.3; - cursor: pointer; -} -.stepper-head:hover { - background-color: #dbdbdb; -} -.stepper-head:focus { - outline: none; -} - -.stepper-head-text:after { - display: flex; - font-size: 0.8rem; - content: attr(data-content); -} - -.stepper-head-icon { - display: flex; - justify-content: center; - align-items: center; - color: white; - background-color: gray; - border-radius: 100%; - font-size: 0.875rem; - width: 1.5rem; - height: 1.5rem; -} - -.stepper-completed .stepper-head-icon { - background-color: #198754; -} - -.stepper-active .stepper-head-text { - font-weight: 500; -} -.stepper-active .stepper-content { - display: block; -} -.stepper-active .stepper-head-icon { - background-color: #0d6efd; -} - -.stepper-invalid .stepper-head-icon { - background-color: #dc3545; -} - -.stepper-disabled .stepper-head { - color: #858585; - cursor: default; -} -.stepper-disabled .stepper-head-icon { - background-color: #858585; -} - -.stepper-mobile-head { - position: absolute; - align-self: normal; - height: fit-content; - width: 100%; - padding: 0.5rem 1rem 0.5rem 1rem; -} - -.stepper-mobile-footer { - position: absolute; - display: flex; - justify-content: space-between; - align-items: center; - width: 100%; - height: 2.5rem; -} - -.stepper-back-btn { - display: block; - left: 0; -} -.stepper-back-btn .btn-link { - color: unset; -} -.stepper-back-btn i { - margin-right: 0.5rem; -} - -.stepper-next-btn { - display: block; - right: 0; -} -.stepper-next-btn .btn-link { - color: unset; -} -.stepper-next-btn i { - margin-left: 0.5rem; -} - -.stepper-mobile-progress-bar { - height: 0.3rem; - width: 0; -} - -.stepper-mobile-progress { - height: 0.3rem; - flex-grow: 100; - background-color: #dee2e6; -} - -.stepper-horizontal { - overflow-x: hidden; -} - -@media (max-width: 576px) { - .stepper-horizontal { - overflow-x: auto; - } -} -.collapse { - visibility: visible !important; -} - -/*# sourceMappingURL=index.css.map */ diff --git a/src/css/index.css.map b/src/css/index.css.map deleted file mode 100644 index 75d72fa8d..000000000 --- a/src/css/index.css.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sourceRoot":"","sources":["../scss/bs/bootstrap.scss","../scss/bs/_root.scss","../scss/bs/forms/_form-control.scss","../scss/bs/_variables.scss","../scss/bs/mixins/_gradients.scss","../scss/bs/mixins/_transition.scss","../scss/bs/forms/_form-select.scss","../scss/bs/forms/_form-check.scss","../scss/bs/forms/_form-range.scss","../scss/bs/mixins/_border-radius.scss","../scss/bs/forms/_floating-labels.scss","../scss/bs/forms/_input-group.scss","../scss/bs/mixins/_forms.scss","../scss/bs/vendor/_rfs.scss","../scss/bs/_buttons.scss","../scss/bs/_transitions.scss","../scss/bs/_dropdown.scss","../scss/bs/_nav.scss","../scss/bs/_navbar.scss","../scss/bs/mixins/_breakpoints.scss","../scss/bs/_accordion.scss","../scss/bs/_custom.scss","../scss/bs/_close.scss","../scss/bs/_modal.scss","../scss/bs/mixins/_backdrop.scss","../scss/bs/_tooltip.scss","../scss/bs/mixins/_reset-text.scss","../scss/bs/_popover.scss","../scss/bs/_carousel.scss","../scss/bs/mixins/_clearfix.scss","../scss/bs/_spinners.scss","../scss/bs/_offcanvas.scss","../scss/bs/helpers/_colored-links.scss","../scss/bs/helpers/_ratio.scss","../scss/bs/helpers/_position.scss","../scss/bs/helpers/_stacks.scss","../scss/bs/helpers/_visually-hidden.scss","../scss/bs/mixins/_visually-hidden.scss","../scss/bs/helpers/_stretched-link.scss","../scss/bs/helpers/_text-truncation.scss","../scss/bs/mixins/_text-truncate.scss","../scss/bs/helpers/_vr.scss","../scss/mdb/_animate.scss","../scss/mdb/_ripple.scss","../scss/mdb/_datepicker.scss","../scss/mdb/_variables.scss","../scss/mdb/_timepicker.scss","../scss/mdb/_stepper.scss","../scss/mdb/_collapse.scss"],"names":[],"mappings":"AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA;EAQI;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAIA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAIA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAIA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAGF;EACA;EACA;EACA;EAMA;EACA;EACA;EAQA;EACA;EACA;EACA;EACA;EAIA;;;AC7CA;EACE;;AAEA;EACE;;AAKJ;EACE;;AAIF;EACE;EACA;EACA,mBC+sBkB;ED9sBlB,OCNO;ECbT,kBDMS;EDeP;EACA;EACA;EACA;EACA,yBCoeW;EDneX;EGdE,YHeF;;AGXE;EHDJ;IGEM;;;AHaN;EACE,kBC+9BwB;;AD59B1B;EACE;EACA;EACA,mBC4rBkB;ED3rBlB;EACA;EACA;EACA;EACA;EACA;EACA,yBCidW;EDhdX;EGjCE,YHkCF;;AG9BE;EHkBJ;IGjBM;;;AHgCN;EACE,kBC48BwB;;;AGlgC5B;EACE;EAIA;EACA,qBHm8BwB;EGl8BxB,iBHm8BoB;;AGj8BpB;EACE;;AAGF;EAEE,eHstBkB;EGrtBlB;;AAGF;EAEE,kBHXO;;AGgBT;EACE;EACA;;;ACvBF;EACE,kBJgCG;EI/BH,cJ+BG;;AI7BH;EAKI;;AAIJ;EAKI;;AAKN;EACE,kBJSG;EIRH,cJQG;EIFD;;AAIJ;EACE;EACA;EACA,SJg3BgC;;;AIx2BpC;EACE,cJk3B0B;;AIh3B1B;EACE;EACA;EACA;EFzCE,YE0CF;;AFtCE;EEkCJ;IFjCM;;;AEuCJ;EACE;;AAGF;EACE,qBJ+2B4B;EIz2B1B;;;AAMR;EACE;EACA,cJg1B6B;;;AI70B/B;EACE;EACA;EACA;;AAIE;EACE;EACA;EACA,SJyrBiB;;;AKnxBnB;EACE;;AAEF;EACE;;AAIJ;EACE;;AAGF;EACE,OLk+BqB;EKj+BrB,QLi+BqB;EKh+BrB;EJbF,kBDkCK;EKnBH,QLi+BsB;EMj+BtB;EJHE,YGMF;EACA;EACA;;AHJE;EGNJ;IHOM;;;AGKJ;EJtBF,kBDq/B2B;;AK19B3B;EACE,OL08BqB;EKz8BrB,QL08BsB;EKz8BtB;EACA,QLy8BsB;EKx8BtB,kBLzBO;EK0BP;EClBA;;ADuBF;EACE,OLs8BqB;EKr8BrB,QLq8BqB;EC7+BvB,kBDkCK;EKQH,QLs8BsB;EMj+BtB;EJHE,YGiCF;EACA;;AH9BE;EGsBJ;IHrBM;;;AG+BJ;EJhDF,kBDq/B2B;;AKh8B3B;EACE,OLg7BqB;EK/6BrB,QLg7BsB;EK/6BtB;EACA,QL+6BsB;EK96BtB,kBLnDO;EKoDP;EC5CA;;ADiDF;EACE;;AAEA;EACE,kBL3DK;;AK8DP;EACE,kBL/DK;;;AObX;EACE;;AAEA;AAAA;EAEE,QPigCmB;EOhgCnB,aPigCwB;;AO9/B1B;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;ELDE,YKEF;;ALEE;EKXJ;ILYM;;;AKCN;EACE;;AAEA;EACE;;AAGF;EAEE,aP2+B0B;EO1+B1B,gBP2+B0B;;AOx+B5B;EACE,aPs+B0B;EOr+B1B,gBPs+B0B;;AO/9B5B;AAAA;AAAA;EACE,SP+9BwB;EO99BxB,WP+9B0B;;;AQxgC9B;AAAA;EAEE;;AAIF;AAAA;EAEE;;AAGF;EACE;EACA;;AAEA;EACE;;;AAKN;AAAA;EAEE;;;AAYE;AAAA;EFNA;EACA;;AEYA;AAAA;EFbA;EACA;;AE6BF;EACE;EFjBA;EACA;;;AGvBF;EACE;EACA;EACA,YToxBmB;EU9gBjB,WALI;ED9PN,OTigCqB;;;AS9/BvB;EACE;EACA;EACA;EACA;EACA;EACA;EACA;ECyPE,WALI;EDjPN,OAxBc;EAyBd,kBAxBiB;EHHjB;;;AGgCA;AAAA;AAAA;AAAA;EAEE;;;AA/CF;EAqDE,cTs+BmB;ESn+BjB,eT0yBa;ESzyBb;EACA;EACA;EACA;;AAGF;EACE,cT29BiB;ES19BjB,YAhDa;;;AAjBjB;EA0EI,eTwxBa;ESvxBb;;;AA3EJ;EAkFE,cTy8BmB;;ASt8BjB;EAEE,eTi3B8B;ESh3B9B;EACA;EACA;;AAIJ;EACE,cT47BiB;ES37BjB,YA/Ea;;;AAjBjB;EAuGE,cTo7BmB;;ASl7BnB;EACE,kBTi7BiB;;AS96BnB;EACE,YA7Fa;;AAgGf;EACE,OTy6BiB;;;ASp6BrB;EACE;;;AAxHF;AAAA;AAAA;EAgII;;AAIF;AAAA;AAAA;EACE;;;AAjHN;EACE;EACA;EACA,YToxBmB;EU9gBjB,WALI;ED9PN,OTigCqB;;;AS9/BvB;EACE;EACA;EACA;EACA;EACA;EACA;EACA;ECyPE,WALI;EDjPN,OAxBc;EAyBd,kBAxBiB;EHHjB;;;AGgCA;AAAA;AAAA;AAAA;EAEE;;;AA/CF;EAqDE,cTs+BmB;ESn+BjB,eT0yBa;ESzyBb;EACA;EACA;EACA;;AAGF;EACE,cT29BiB;ES19BjB,YAhDa;;;AAjBjB;EA0EI,eTwxBa;ESvxBb;;;AA3EJ;EAkFE,cTy8BmB;;ASt8BjB;EAEE,eTi3B8B;ESh3B9B;EACA;EACA;;AAIJ;EACE,cT47BiB;ES37BjB,YA/Ea;;;AAjBjB;EAuGE,cTo7BmB;;ASl7BnB;EACE,kBTi7BiB;;AS96BnB;EACE,YA7Fa;;AAgGf;EACE,OTy6BiB;;;ASp6BrB;EACE;;;AAxHF;AAAA;AAAA;EAkII;;AAEF;AAAA;AAAA;EACE;;;AEtIN;EAEE;EACA;;AAGF;EAIE;;AAEA;EACE;;;AClBN;EVgBM,YUfJ;;AVmBI;EUpBN;IVqBQ;;;AUlBN;EACE;;;AAMF;EACE;;;AAIJ;EACE;EACA;EVDI,YUEJ;;AVEI;EULN;IVMQ;;;AUDN;EACE;EACA;EVNE,YUOF;;AVHE;EUAJ;IVCM;;;;AWlBR;EACE,Sb+iCgB;;;Aa1iChB;EAEE;EACA;EZRF,kBDkCK;;AatBL;EACE,ObJO;EaKP;EACA;;;AAMJ;EACE;;;AAME;EAEE,Ob1BE;ECJN,kBDkCK;;AaAH;EAEE,Ob3BK;;;AcNT;EACE;;AAEA;EAEE;;AAGF;EACE;EACA;EACA;;AAIJ;AAAA;EAEE;EACA;;AAGF;EAEE;ERHA;EACA;;;AQaF;EACE;EACA;EACA;;AAGF;AAAA;EAEE;EACA;EACA;;AAGF;EACE;EACA;;AAGF;EACE;EACA;EACA;EACA;;AACA;EACE;EACA;EACA;;;AAUJ;AAAA;EAEE;;;AASF;EACE;;AAEF;EACE;;;AC5FJ;EACE,afgkCmB;Ee/jCnB,gBf+jCmB;;;Ae5jCrB;EACE;;;AAGF;EACE;EACA;;;ACwDE;ED5CA;IAEI;IACA;;EAEA;IACE;;EAEA;IACE;;EAGF;IACE,ef0jCgB;IezjChB,cfyjCgB;;EerjCpB;IACE;;EAGF;IACE;IACA;;EAGF;IACE;;EAGF;IACE;;EAGF;IACE;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IblDJ,YamDI;IACA;;EAEF;AAAA;IAEE;IACA;IACA;;EAGF;IACE;IACA;IACA;IACA;;;ACdN;ED5CA;IAEI;IACA;;EAEA;IACE;;EAEA;IACE;;EAGF;IACE,ef0jCgB;IezjChB,cfyjCgB;;EerjCpB;IACE;;EAGF;IACE;IACA;;EAGF;IACE;;EAGF;IACE;;EAGF;IACE;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IblDJ,YamDI;IACA;;EAEF;AAAA;IAEE;IACA;IACA;;EAGF;IACE;IACA;IACA;IACA;;;ACdN;ED5CA;IAEI;IACA;;EAEA;IACE;;EAEA;IACE;;EAGF;IACE,ef0jCgB;IezjChB,cfyjCgB;;EerjCpB;IACE;;EAGF;IACE;IACA;;EAGF;IACE;;EAGF;IACE;;EAGF;IACE;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IblDJ,YamDI;IACA;;EAEF;AAAA;IAEE;IACA;IACA;;EAGF;IACE;IACA;IACA;IACA;;;ACdN;ED5CA;IAEI;IACA;;EAEA;IACE;;EAEA;IACE;;EAGF;IACE,ef0jCgB;IezjChB,cfyjCgB;;EerjCpB;IACE;;EAGF;IACE;IACA;;EAGF;IACE;;EAGF;IACE;;EAGF;IACE;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IblDJ,YamDI;IACA;;EAEF;AAAA;IAEE;IACA;IACA;;EAGF;IACE;IACA;IACA;IACA;;;ACdN;ED5CA;IAEI;IACA;;EAEA;IACE;;EAEA;IACE;;EAGF;IACE,ef0jCgB;IezjChB,cfyjCgB;;EerjCpB;IACE;;EAGF;IACE;IACA;;EAGF;IACE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CE,O7B8EW;;A6B3ET;EAEE;;;AANN;EACE,O7B8EW;;A6B3ET;EAEE;;;AANN;EACE,O7B8EW;;A6B3ET;EAEE;;;ACLR;EACE;EACA;;AAEA;EACE;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAKF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;ACrBJ;EACE;EACA;EACA;EACA;EACA,S/B8iCa;;;A+B3iCf;EACE;EACA;EACA;EACA;EACA,S/BsiCa;;;A+B9hCX;EACE;EACA;EACA,S/B0hCU;;;AgBj/BZ;Ee5CA;IACE;IACA;IACA,S/B0hCU;;;AgBj/BZ;Ee5CA;IACE;IACA;IACA,S/B0hCU;;;AgBj/BZ;Ee5CA;IACE;IACA;IACA,S/B0hCU;;;AgBj/BZ;Ee5CA;IACE;IACA;IACA,S/B0hCU;;;AgBj/BZ;Ee5CA;IACE;IACA;IACA,S/B0hCU;;;AgCnjChB;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;ACRF;AAAA;ECIE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;ACXA;EACE;EACA;EACA;EACA;EACA;EACA,SnCwbqB;EmCvbrB;;;ACRJ;ECAE;EACA;EACA;;;ACNF;EACE;EACA;EACA;EACA;EACA;EACA,StCgpBW;;;AuCrpBb;EACE;EACA;EACA;;;AAGF;EACE;IACE;IACA;;;AAIJ;EACE;IACE;;EAGF;IACE;;;AAIJ;EACE;;;AAGF;EACE;IACE;;EAGF;IACE;;;AAIJ;EACE;;;AAIA;EACE;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;;;AAIJ;EACE;IACE;IACA;;EAGF;IACE;IACA;;;AAIJ;EACE;;;AAGF;EACE;IACE;IACA;;EAGF;IACE;IACA;;;AAIJ;EACE;;;AAGF;EACE;IACE;IACA;;EAGF;IACE;IACA;;;AAIJ;EACE;;;AAGF;EACE;IACE;IACA;;EAGF;IACE;IACA;;;AAIJ;EACE;;;AAGF;EACE;IACE;;EAGF;IACE;IACA;;;AAIJ;EACE;;;AAGF;EACE;IACE;;EAGF;IACE;IACA;;;AAIJ;EACE;;;AAGF;EACE;IACE;;EAGF;IACE;IACA;;;AAIJ;EACE;;;AAGF;EACE;IACE;;EAGF;IACE;IACA;;;AAIJ;EACE;;;AAGF;EACE;IACE;IACA;;EAGF;IACE;;;AAIJ;EACE;;;AAGF;EACE;IACE;IACA;;EAGF;IACE;;;AAIJ;EACE;;;AAGF;EACE;IACE;IACA;;EAGF;IACE;;;AAIJ;EACE;;;AAGF;EACE;IACE;IACA;;EAGF;IACE;;;AAIJ;EACE;;;AAGF;EACE;IACE;;EAGF;IACE;IACA;;;AAIJ;EACE;;;AAGF;EACE;IACE;;EAGF;IACE;IACA;;;AAIJ;EACE;;;AAGF;EACE;IACE;;EAGF;IACE;IACA;;;AAIJ;EACE;;;AAGF;EACE;IACE;;EAGF;IACE;IACA;;;AAIJ;EACE;;;AAGF;EACE;IACE;;EAGF;IACE;;;AAIJ;EACE;;;AAGF;EACE;IACE;;EAGF;IACE;;;AAIJ;EACE;;;AAGF;EACE;IACE;;EAGF;IACE;;;AAIJ;EACE;;;AAGF;EACE;IACE;;EAGF;IACE;;;AAIJ;EACE;;;AAGF;EACE;IACE;IACA;;EAGF;IACE;;;AAIJ;EACE;;;AAGF;EACE;IACE;;EAGF;IACE;IACA;;EAGF;IACE;;;AAIJ;EACE;;;AAGF;EACE;IACE;;EAGF;IAEE;;EAGF;IAIE;;EAGF;IAGE;;EAGF;IACE;;;AAIJ;EACE;;;AAGF;EACE;IACE;;EAGF;IACE;;EAGF;IACE;;;AAIJ;EACE;;;ACxcF;EACE;EACA;EACA;EACA;;;AAEF;EACE;;;AAEF;EACE;EAQA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAEF;EACE;EACA;;;AAEF;EACE;;;AASF;EACE;;;AASF;EACE;;;AASF;EACE;;;AASF;EACE;;;AASF;EACE;;;AASF;EACE;;;AASF;EACE;;;AASF;EACE;;;AASF;EACE;;;AASF;EACE;;;ACrIF;EACE;EACA;EACA;EACA;EACA,OCoKwB;EDnKxB,KCoKsB;EDnKtB;;AAEA;EACE,OCTc;;ADYhB;EACE,OCbc;;;ADiBlB;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA,kBCmJqC;EDlJrC,SCrBkB;;;ADwBpB;EACE,OCgJoC;ED/IpC,QCgJqC;ED/IrC,kBzCzBM;EyC0BN,eCgJ4C;ED/I5C,YCjCa;EDkCb,SC7B4B;;;ADgC9B;EACE;EACA;EACA;EACA;EACA;EACA,WCwIqC;EDvIrC,OCwIiC;EDvIjC,QCwIkC;EDvIlC,kBzCxCM;EyCyCN,eCwIyC;EDvIzC,YChDa;EDiDb,SC5C4B;;AD+C1B;EADF;IAEI;;;AAKF;EADF;IAEI,YC+H6C;;;AD1H/C;EADF;IAEI,OC0H4C;IDzH5C,QCyH4C;;;ADrHhD;EAjCF;IAkCI;IACA,OCqHqC;IDpHrC,QCqHsC;;EDnHtC;IACE,OCmH4C;IDlH5C,QCkH4C;;;;AD7GlD;EACE,QC+GyB;ED9GzB,eC+G4B;ED9G5B,cC8G4B;ED7G5B,kBCvFgB;EDwFhB;EACA;EACA,eC4GgC;;;ADzGlC;EACE,QC0GwB;EDzGxB;EACA;EACA;;;AAGF;EACE,WCoGgC;EDnGhC,aCoGkC;EDnGlC;EACA,gBCmGqC;EDlGrC,OzClGM;;;AyCqGR;EACE,QCiGuB;EDhGvB;EACA;EACA;;;AAGF;EACE,WC2F+B;ED1F/B,aC2FiC;ED1FjC,OzC/GM;;;AyCkHR;EACE;EACA;;;AAGF;EACE;EAEA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA,kBC2E8B;ED1E9B;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA,kBC+D8B;ED9D9B;EACA;EACA;EACA,WC6D2B;;;AD1D7B;EACE,OC2D+B;;;ADxDjC;EACE,SCyDsC;EDxDtC,OCyDoC;EDxDpC,aCyD0C;EDxD1C,WCyDwC;EDxDxC,eCyD4C;EDxD5C;EACA;EACA;EACA;;AAEA;EAEE,kBCkDmD;;AD/CrD;EACE;EACA;EACA;EACA;EACA;EACA;EACA,kBCyC+C;EDxC/C;EACA;EACA;;;AAIJ;EACE,YCoCqC;;;ADjCvC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAaA;EACE;EACA;EACA,OCmBiC;EDlBjC,QCkBiC;EDjBjC,aCiBiC;EDhBjC;EACA;EACA;EACA,OCgBiC;EDfjC;EACA,cCewC;;ADbxC;EAEE,kBCYgD;EDXhD,eCY6C;;;ADRjD;EACE;EACA;EACA;EACA;EACA;EACA;EACA,QCGwC;EDFxC;EACA,kBCE8C;EDD9C,mBCC8C;EDA9C,WCC2C;;;ADE7C;EACE;EACA;EACA,OCH6B;EDI7B,QCJ6B;EDK7B,aCL6B;EDM7B;EACA;EACA;EACA,OCN6B;EDO7B;;AAEA;EAEE,kBCV6C;EDW7C,eCVyC;;;ADc7C;EACE;EACA;EACA;EACA;EACA;EACA;EACA,QCnBoC;EDoBpC;EACA,kBCpB0C;EDqB1C,oBCrB0C;EDsB1C,WCrBuC;;;ADuBzC;AAEA;EACE,cCxB0B;EDyB1B,eCzB0B;ED0B1B;;;AAGF;EACE;EACA;EACA,OC/BuB;;;ADkCzB;EACE,OCjC6B;EDkC7B,QClC6B;EDmC7B;EACA,WClCiC;EDmCjC,aClCmC;;;ADqCrC;EACE;;AAEA;EACE,OCvC6B;EDwC7B;EACA;;AAGF;EACE;;AAGF;EACE;;;AAIJ;EACE,kBCrDuC;;;ADwDzC;EACE,kBChUgB;EDiUhB,OzC1TM;;;AyC6TR;EACE,kBC3DyC;;;AD8D3C;EACE,kBCzUgB;;;AD4UlB;EACE;;;AAGF;EACE,OClE4B;EDmE5B,QCnE4B;;;ADsE9B;EACE,OCpEoC;EDqEpC,QCrEoC;EDsEpC,aCtEoC;EDuEpC,eCpE4C;EDqE5C,WCpEwC;;;ADuE1C;EACE,OCtE4B;EDuE5B,QCtE6B;;;ADyE/B;EACE,OCxEoC;EDyEpC,QCxEqC;EDyErC,aCzEqC;ED0ErC;EACA,eCvE4C;;;AD0E9C;EACE,cC7G0B;ED8G1B,eC9G0B;;;ADiH5B;EACE,QC5EyB;ED6EzB;EACA;EACA;EACA;EACA;EACA;EACA,cCzH0B;ED0H1B,eC1H0B;;;AD6H5B;EACE,kBzCrXM;EyCsXN,OC7XgB;ED8XhB;EACA;EACA;EACA;EACA,WCxFgC;EDyFhC,aCxFkC;EDyFlC,QCxF6B;EDyF7B,aCzF6B;ED0F7B,gBCxFqC;EDyFrC,eCxFoC;EDyFpC,eCxFoC;;AD0FpC;EAEE,kBC3F2C;;;AD+F/C;EACE;;;AEjZA;EACE;EACA,SDEgB;ECDhB;EACA;EACA;EACA;EACA;EACA,kBDIkC;;ACDpC;EACE,eDEsC;;ACCxC;EACE;EACA;EACA,Y3CXI;E2CYJ;EACA;;AAEA;EAPF;IAQI;IACA,2BDHgD;ICIhD;IACA;IACA;;;AAIJ;EACE;;AAGF;EACE,kBDpCc;ECqCd,QDbqB;ECcrB,yBDbsC;ECctC,wBDbqC;ECcrC;;AAGA;EARF;IASI;IACA;IACA,SDf0B;ICgB1B;IACA;IACA,YDhB6B;;;ACoBjC;EACE;EACA;EACA;;AAIA;EADF;IAEI;;;AAIJ;EACE,WD/B0B;ECgC1B,WD/B0B;ECgC1B;EACA,aDhC4B;ECiC5B,aDhC4B;ECiC5B,eDhC8B;ECiC9B,gBDhC+B;ECiC/B;EACA,OD1Ec;EC2Ed;EACA;EACA,YDnC2B;ECoC3B;EACA;EACA,QDjCuB;ECkCvB,eDjC8B;;ACmC9B;EACE,kBDxCqC;;AC2CvC;EACE;EACA,kBD7CqC;;ACiDzC;EACE;EACA,QD7C8B;EC8C9B,WD7CiC;EC8CjC;EACA,aD9CmC;EC+CnC,O3C5FI;;A2C+FN;EACE,WDhD2B;ECiD3B,aDhD6B;ECiD7B,aDhD6B;ECiD7B,gBDhDgC;ECiDhC,O3CpGI;E2CqGJ,SDhDyB;ECiDzB;EACA;EACA;;AAEA;EACE;;AAGF;EACE;;AAIJ;EACE;EACA,WD9DgC;EC+DhC,OD9D4B;;ACgE5B;EALF;IAMI;IACA;;;AAGF;EACE;;AAIJ;EACE,WDzEiC;EC0EjC,WDzEiC;EC0EjC,YDzEkC;EC0ElC;EACA;;AAGF;EACE;EACA;EACA,OD/EqB;ECgFrB,QD/EsB;ECgFtB;EACA;EACA,kBDjFgC;;ACoFlC;EACE;EACA,KDpFyB;ECqFzB,MDpF0B;ECqF1B,WDpF+B;ECqF/B,ODpF2B;ECqF3B,QDpF4B;ECqF5B;;AAGF;EAGE;EACA;EACA,OD3F+B;EC4F/B,QD3FgC;EC4FhC;EACA;EACA,WD7FmC;EC8FnC;EACA;EACA;EACA;EACA;EACA,aDlGqC;;ACoGrC;EACE,O3ChLE;E2CiLF,kBDxLY;ECyLZ,aDpG0C;;ACuG5C;EACE;;AAGF;EACE,OD3GsC;EC4GtC;EACA;;AAGF;EACE;;AAIJ;EAEE,aDrHyB;ECsHzB,aDrHyB;ECsHzB,gBDrH4B;ECsH5B,O3CzMI;;A2C2MJ;EAPF;IAQI,WDrH2B;ICsH3B,aDrH6B;;;ACyHjC;EACE,WD7HuB;EC8HvB,SD7HqB;EC8HrB;EACA;EACA;;AAGF;EACE,WDhIkC;;ACmIpC;EACE;EACA;EACA,ODpIoB;ECqIpB,QDpIqB;ECqIrB;EACA,SDrIsB;ECsItB;EACA;EACA,WDvIwB;ECwIxB;;AAGF;EACE,KD1I6B;EC2I7B,MD1I8B;EC2I9B,OD1I+B;EC2I/B,QD3I+B;EC4I/B,WD1ImC;EC2InC,eD1IuC;EC2IvC,kBDxPc;;AC2PhB;EACE,kBD5Pc;EC6Pd,QD5I6B;EC6I7B,QD5I6B;EC6I7B;EACA;EACA,OD7I4B;;ACgJ9B;EACE,YD/I8B;;ACkJhC;EACE;EACA;EACA,ODlJyB;ECmJzB,QDlJ0B;ECmJ1B;EACA;EACA,WDpJ6B;;ACsJ7B;EACE,O3C3QE;;A2C+QN;EACE,KDzJoB;EC0JpB,MDzJqB;EC0JrB,ODzJsB;EC0JtB;EACA,QDxJuB;ECyJvB;EACA;;AAGF;EACE;EACA;EACA;EACA,O3C7RI;E2C8RJ,SD/J2B;;ACkK7B;EAGE;;AAEA;EAEE,kBDxKwC;ECyKxC;;AAGF;EACE,O3C7SE;E2C8SF;;AAGF;EACE,WDhL2B;;ACoL/B;EACE,2BDnL0C;ECoL1C,4BDnL2C;ECoL3C;EACA;EACA;EACA;EACA,QDvLuB;ECwLvB,cDvL0B;ECwL1B,eDxL0B;ECyL1B,kB3ChUI;;A2CmUN;EACE,YD1L8B;EC2L9B;EACA,YD5UW;;AC+Ub;EAEE;EACA,YDhMiC;ECiMjC;EACA,WDjMgC;ECkMhC,MDjM2B;ECmM3B,ODlM4B;ECmM5B,QDlM6B;ECmM7B;EACA;EACA;;AAEA;EAEE;;AAIJ;EACE,KD7MqB;;ACgNvB;EACE,QDhN0B;;ACqN1B;EACE;EACA;;AAEA;EACE;;AAKN;EACE;;AAGF;EACE,ODlOwB;ECmOxB,QDlOyB;;ACqO3B;EACE;EACA;EACA;EACA;EACA,ODvOwB;ECwOxB,KDtOsB;ECuOtB,WDxO4B;ECyO5B,YDvO6B;ECwO7B;;AAEA;EACE,OD7YY;;ACgZd;EACE,ODjZY;;ACqZhB;EAEE,ODvZc;;AC0ZhB;EAEE;;;AAIJ;EACE;IACE;IACA;;EAGF;IACE;IACA;;;AAIJ;EACE;;;AAGF;EACE,SD7akB;EC8alB;EACA;EACA;EACA;EACA;;AAGE;EACE;;;AC3bN;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAEF;EACE;EACA;;AACA;EACE;EACA;EACA;;AAEF;EACE;EACA;;AACA;EACE;;AAEF;EACE;;AAGA;EACE;EACA;EACA;EACA;EACA;EACA;;AAIF;EACE;EACA;EACA;EACA;EACA;EACA;;AAIN;EACE;;;AAIF;EACE;EACA;;AACA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGJ;EACE;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;;;AAGJ;EACE;EACA;;AACA;EACE;;AAEF;EACE;EACA;EACA;;AACA;EACE;;AAEF;EACE;;AAEF;EACE;EACA;;AAGJ;EACE;EACA;EACA;EACA;EACA;;AAEF;EACE;;AAEF;EACE;;;AAGJ;EACE;EACA;EACA;EACA;;;AAEF;EACE;;;AAEF;EACE;EACA;EACA;EACA;EACA;EACA;;AACA;EACE;;AAEF;EACE;;;AAGJ;EACE;EACA;EACA;;;AAEF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAEF;EACE,kB5CvHM;;;A4C0HN;EACE;;AAEF;EACE;;AAEF;EACE,kB5CxIG;;;A4C2IP;EACE,kB5CxII;;;A4C2IJ;EACE;EACA;;AAEF;EACE;;;AAGJ;EACE;EACA;EACA;EACA;EACA;;;AAEF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAEF;EACE;EACA;;AACA;EACE;;AAEF;EACE;;;AAGJ;EACE;EACA;;AACA;EACE;;AAEF;EACE;;;AAGJ;EACE;EACA;;;AAEF;EACE;EACA;EACA,kB5C5NS;;;A4C+NX;EACE;;;AAEF;EACE;IACE;;;AC/OJ;EACE","file":"index.css"} \ No newline at end of file diff --git a/src/files/README.md b/src/files/README.md index fd0370e95..b10baa0ee 100644 --- a/src/files/README.md +++ b/src/files/README.md @@ -1,3 +1,3 @@ -
    + # TAILWIND ELEMENTS diff --git a/src/files/index.html b/src/files/index.html index d77284362..3afb9de60 100644 --- a/src/files/index.html +++ b/src/files/index.html @@ -2,18 +2,31 @@ - + Tailwind elements - + + href="https://fonts.googleapis.com/css?family=Roboto:300,400,500,700,900&display=swap" + rel="stylesheet" /> - + + @@ -22,21 +35,21 @@ -
    -
    + diff --git a/src/files/package.json b/src/files/package.json index 10490e738..0151390aa 100644 --- a/src/files/package.json +++ b/src/files/package.json @@ -4,6 +4,6 @@ "homepage": "https://tailwind-elements.com/", "repository": "https://github.com/mdbootstrap/Tailwind-Elements", "author": "MDBootstrap", - "license": "MIT", + "license": "AGPL", "main": "js/index.min.js" } diff --git a/src/index.html b/src/index.html index 55a78b329..e88b7cbfc 100644 --- a/src/index.html +++ b/src/index.html @@ -1,38 +1,35 @@ - + - + Tailwind elements - + - - + href="https://fonts.googleapis.com/css?family=Roboto:300,400,500,700,900&display=swap" + rel="stylesheet" /> - +
    -
    Tailwind elements
    -

    MDB Team

    + style="width: 250px; height: 90px; margin: 0 auto" /> +
    Tailwind elements
    +

    MDB Team

    diff --git a/src/js/base-component.js b/src/js/base-component.js new file mode 100644 index 000000000..d2b736130 --- /dev/null +++ b/src/js/base-component.js @@ -0,0 +1,81 @@ +/* +-------------------------------------------------------------------------- +Tailwind Elements is an open-source UI kit of advanced components for TailwindCSS. +Copyright © 2023 MDBootstrap.com + +Unless a custom, individually assigned license has been granted, this program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. +In addition, a custom license may be available upon request, subject to the terms and conditions of that license. Please contact tailwind@mdbootstrap.com for more information on obtaining a custom license. +This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. +-------------------------------------------------------------------------- +*/ + +import Data from "./dom/data"; +import { executeAfterTransition, getElement } from "./util/index"; +import EventHandler from "./dom/event-handler"; + +/* +------------------------------------------------------------------------ +Constants +------------------------------------------------------------------------ +*/ + +const VERSION = "5.1.3"; + +class BaseComponent { + constructor(element) { + element = getElement(element); + + if (!element) { + return; + } + + this._element = element; + Data.setData(this._element, this.constructor.DATA_KEY, this); + } + + dispose() { + Data.removeData(this._element, this.constructor.DATA_KEY); + EventHandler.off(this._element, this.constructor.EVENT_KEY); + + Object.getOwnPropertyNames(this).forEach((propertyName) => { + this[propertyName] = null; + }); + } + + _queueCallback(callback, element, isAnimated = true) { + executeAfterTransition(callback, element, isAnimated); + } + + /** Static */ + + static getInstance(element) { + return Data.getData(getElement(element), this.DATA_KEY); + } + + static getOrCreateInstance(element, config = {}) { + return ( + this.getInstance(element) || + new this(element, typeof config === "object" ? config : null) + ); + } + + static get VERSION() { + return VERSION; + } + + static get NAME() { + throw new Error( + 'You have to implement the static method "NAME", for each component!' + ); + } + + static get DATA_KEY() { + return `te.${this.NAME}`; + } + + static get EVENT_KEY() { + return `.${this.DATA_KEY}`; + } +} + +export default BaseComponent; diff --git a/src/js/bs-styles.js b/src/js/bs-styles.js deleted file mode 100644 index 86dd0805f..000000000 --- a/src/js/bs-styles.js +++ /dev/null @@ -1,4 +0,0 @@ -const bsStyles = -{":root":{"--bs-blue":"#0d6efd","--bs-indigo":"#6610f2","--bs-purple":"#6f42c1","--bs-pink":"#d63384","--bs-red":"#dc3545","--bs-orange":"#fd7e14","--bs-yellow":"#ffc107","--bs-green":"#198754","--bs-teal":"#20c997","--bs-cyan":"#0dcaf0","--bs-white":"#fff","--bs-gray":"#6c757d","--bs-gray-dark":"#343a40","--bs-gray-100":"#f8f9fa","--bs-gray-200":"#e9ecef","--bs-gray-300":"#dee2e6","--bs-gray-400":"#ced4da","--bs-gray-500":"#adb5bd","--bs-gray-600":"#6c757d","--bs-gray-700":"#495057","--bs-gray-800":"#343a40","--bs-gray-900":"#212529","--bs-primary":"#0d6efd","--bs-secondary":"#6c757d","--bs-success":"#198754","--bs-info":"#0dcaf0","--bs-warning":"#ffc107","--bs-danger":"#dc3545","--bs-light":"#f8f9fa","--bs-dark":"#212529","--bs-primary-rgb":"13, 110, 253","--bs-secondary-rgb":"108, 117, 125","--bs-success-rgb":"25, 135, 84","--bs-info-rgb":"13, 202, 240","--bs-warning-rgb":"255, 193, 7","--bs-danger-rgb":"220, 53, 69","--bs-light-rgb":"248, 249, 250","--bs-dark-rgb":"33, 37, 41","--bs-white-rgb":"255, 255, 255","--bs-black-rgb":"0, 0, 0","--bs-body-color-rgb":"33, 37, 41","--bs-body-bg-rgb":"255, 255, 255","--bs-font-sans-serif":"system-ui, -apple-system, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", \"Liberation Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\"","--bs-font-monospace":"SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace","--bs-gradient":"linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0))","--bs-body-font-family":"var(--bs-font-sans-serif)","--bs-body-font-size":"1rem","--bs-body-font-weight":"400","--bs-body-line-height":"1.5","--bs-body-color":"#212529","--bs-body-bg":"#fff"},".form-control[type=file]":{"overflow":"hidden"},".form-control[type=file]:not(:disabled):not([readonly])":{"cursor":"pointer"},".form-control:focus":{"box-shadow":"0 0 0 1px rgb(37, 99, 235)"},".form-control::file-selector-button":{"padding":"0.375rem 0.75rem","margin":"-0.375rem -0.75rem","margin-inline-end":"0.75rem","color":"#212529","background-color":"#e9ecef","pointer-events":"none","border-color":"inherit","border-style":"solid","border-width":"0","border-inline-end-width":"1px","border-radius":"0","-webkit-transition":"color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out","transition":"color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out"},".form-control:hover:not(:disabled):not([readonly])::file-selector-button":{"background-color":"#dde0e3"},".form-control::-webkit-file-upload-button":{"padding":"0.375rem 0.75rem","margin":"-0.375rem -0.75rem","margin-inline-end":"0.75rem","color":"rgb(55, 65, 81)","background-color":"rgb(243, 244, 246)","pointer-events":"none","border-color":"inherit","border-style":"solid","border-width":"0","border-inline-end-width":"1px","border-radius":"0","-webkit-transition":"color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out","transition":"color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out"},".form-control:hover:not(:disabled):not([readonly])::-webkit-file-upload-button":{"background-color":"#dde0e3"},".form-select":{"-moz-padding-start":"calc(0.75rem - 3px)","background-image":"url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e\")","background-position":"right 0.75rem center","background-size":"16px 12px"},".form-select:focus":{"box-shadow":"0 0 0 1px rgb(37, 99, 235)"},".form-select[multiple]":{"padding-right":"0.75rem","background-image":"none"},".form-select[size]:not([size=\"1\"])":{"padding-right":"0.75rem","background-image":"none"},".form-select:disabled":{"background-color":"#e9ecef"},".form-select:-moz-focusring":{"color":"transparent","-webkit-text-shadow":"0 0 0 #212529","text-shadow":"0 0 0 #212529"},".form-check-input:checked":{"background-color":"#0d6efd","border-color":"#0d6efd"},".form-check-input:checked[type=checkbox]":{"background-image":"url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10l3 3l6-6'/%3e%3c/svg%3e\")"},".form-check-input:checked[type=radio]":{"background-image":"url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e\")"},".form-check-input[type=checkbox]:indeterminate":{"background-color":"#0d6efd","border-color":"#0d6efd","background-image":"url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e\")"},".form-check-input:disabled":{"pointer-events":"none","filter":"none","opacity":"0.5"},".form-switch":{"padding-left":"2.5em"},".form-switch .form-check-input":{"margin-top":"0.1rem","background-image":"url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e\")","background-position":"left center","-webkit-transition":"background-position 0.15s ease-in-out","transition":"background-position 0.15s ease-in-out"},".form-switch .form-check-input:focus":{"background-image":"url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e\")"},".form-switch .form-check-input:checked":{"background-position":"right center","background-image":"url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e\")"},".form-check-inline":{"display":"inline-block","margin-right":"1rem"},".btn-check":{"position":"absolute","clip":"rect(0, 0, 0, 0)","pointer-events":"none"},".btn-check[disabled] + .btn":{"pointer-events":"none","filter":"none","opacity":"0.65"},".btn-check:disabled + .btn":{"pointer-events":"none","filter":"none","opacity":"0.65"},".form-range:focus::-webkit-slider-thumb":{"box-shadow":"none"},".form-range:focus::-moz-range-thumb":{"box-shadow":"none"},".form-range::-moz-focus-outer":{"border":"0"},".form-range::-webkit-slider-thumb":{"width":"1rem","height":"1rem","margin-top":"-0.25rem","background-color":"#0d6efd","border":"0","border-radius":"1rem","-webkit-transition":"background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out","transition":"background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out","-webkit-appearance":"none","-moz-appearance":"none","appearance":"none"},".form-range::-webkit-slider-thumb:active":{"background-color":"#b6d4fe"},".form-range::-webkit-slider-runnable-track":{"width":"100%","height":"0.5rem","color":"transparent","cursor":"pointer","background-color":"#dee2e6","border-color":"transparent","border-radius":"1rem"},".form-range::-moz-range-thumb":{"width":"1rem","height":"1rem","background-color":"#0d6efd","border":"0","border-radius":"1rem","-webkit-transition":"background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out","transition":"background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out","-webkit-appearance":"none","-moz-appearance":"none","appearance":"none"},".form-range::-moz-range-thumb:active":{"background-color":"#b6d4fe"},".form-range::-moz-range-track":{"width":"100%","height":"0.5rem","color":"transparent","cursor":"pointer","background-color":"#dee2e6","border-color":"transparent","border-radius":"1rem"},".form-range:disabled":{"pointer-events":"none"},".form-range:disabled::-webkit-slider-thumb":{"background-color":"#adb5bd"},".form-range:disabled::-moz-range-thumb":{"background-color":"#adb5bd"},".form-floating":{"position":"relative"},".form-floating > .form-control":{"height":"calc(3.5rem + 2px)","line-height":"1.25","padding":"1rem 0.75rem"},".form-floating > .form-select":{"height":"calc(3.5rem + 2px)","line-height":"1.25"},".form-floating > label":{"position":"absolute","top":"0","left":"0","height":"100%","padding":"1rem 0.75rem","pointer-events":"none","border":"1px solid transparent","-webkit-transform-origin":"0 0","-ms-transform-origin":"0 0","transform-origin":"0 0","-webkit-transition":"opacity 0.1s ease-in-out, transform 0.1s ease-in-out","transition":"opacity 0.1s ease-in-out, transform 0.1s ease-in-out"},".form-floating > .form-control::-webkit-input-placeholder":{"color":"transparent"},".form-floating > .form-control::-moz-placeholder":{"color":"transparent"},".form-floating > .form-control:-ms-input-placeholder":{"color":"transparent"},".form-floating > .form-control::placeholder":{"color":"transparent"},".form-floating > .form-control:focus":{"padding-top":"1.625rem","padding-bottom":"0.625rem"},".form-floating > .form-control:not(:placeholder-shown)":{"padding-top":"1.625rem","padding-bottom":"0.625rem"},".form-floating > .form-control:-webkit-autofill":{"padding-top":"1.625rem","padding-bottom":"0.625rem"},".form-floating > .form-control:focus ~ label":{"opacity":"0.65","-webkit-transform":"scale(0.85) translateY(-0.5rem) translateX(0.15rem)","-ms-transform":"scale(0.85) translateY(-0.5rem) translateX(0.15rem)","transform":"scale(0.85) translateY(-0.5rem) translateX(0.15rem)"},".form-floating > .form-control:not(:placeholder-shown) ~ label":{"opacity":"0.65","-webkit-transform":"scale(0.85) translateY(-0.5rem) translateX(0.15rem)","-ms-transform":"scale(0.85) translateY(-0.5rem) translateX(0.15rem)","transform":"scale(0.85) translateY(-0.5rem) translateX(0.15rem)"},".form-floating > .form-select ~ label":{"opacity":"0.65","-webkit-transform":"scale(0.85) translateY(-0.5rem) translateX(0.15rem)","-ms-transform":"scale(0.85) translateY(-0.5rem) translateX(0.15rem)","transform":"scale(0.85) translateY(-0.5rem) translateX(0.15rem)"},".input-group > .form-control":{"width":"1%"},".input-group > .form-select":{"width":"1%"},".input-group > .form-control:focus":{"z-index":"3"},".input-group > .form-select:focus":{"z-index":"3"},".input-group .btn":{"position":"relative","z-index":"2"},".input-group .btn:focus":{"z-index":"3"},".input-group-lg > .form-select":{"padding-right":"3rem"},".input-group-sm > .form-select":{"padding-right":"3rem"},".input-group:not(.has-validation) > :not(:last-child):not(.dropdown-toggle):not(.dropdown-menu)":{"border-top-right-radius":"0","border-bottom-right-radius":"0"},".input-group:not(.has-validation) > .dropdown-toggle:nth-last-child(n+3)":{"border-top-right-radius":"0","border-bottom-right-radius":"0"},".input-group.has-validation > :nth-last-child(n+3):not(.dropdown-toggle):not(.dropdown-menu)":{"border-top-right-radius":"0","border-bottom-right-radius":"0"},".input-group.has-validation > .dropdown-toggle:nth-last-child(n+4)":{"border-top-right-radius":"0","border-bottom-right-radius":"0"},".input-group > :not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback)":{"margin-left":"-1px","border-top-left-radius":"0","border-bottom-left-radius":"0"},".valid-feedback":{"display":"none","width":"100%","margin-top":"0.25rem","font-size":"0.875em","color":"#198754"},".valid-tooltip":{"position":"absolute","top":"100%","z-index":"5","display":"none","max-width":"100%","padding":"0.25rem 0.5rem","margin-top":"0.1rem","font-size":"0.875rem","color":"#fff","background-color":"rgba(25, 135, 84, 0.9)","border-radius":"0.25rem"},".was-validated :valid ~ .valid-feedback":{"display":"block"},".was-validated :valid ~ .valid-tooltip":{"display":"block"},".is-valid ~ .valid-feedback":{"display":"block"},".is-valid ~ .valid-tooltip":{"display":"block"},".was-validated .form-control:valid":{"border-color":"#198754","padding-right":"calc(1.5em + 0.75rem)","background-image":"url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e\")","background-repeat":"no-repeat","background-position":"right calc(0.375em + 0.1875rem) center","background-size":"calc(0.75em + 0.375rem) calc(0.75em + 0.375rem)"},".form-control.is-valid":{"border-color":"#198754","padding-right":"calc(1.5em + 0.75rem)","background-image":"url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e\")","background-repeat":"no-repeat","background-position":"right calc(0.375em + 0.1875rem) center","background-size":"calc(0.75em + 0.375rem) calc(0.75em + 0.375rem)"},".was-validated .form-control:valid:focus":{"border-color":"#198754","box-shadow":"0 0 0 0.25rem rgba(25, 135, 84, 0.25)"},".form-control.is-valid:focus":{"border-color":"#198754","box-shadow":"0 0 0 0.25rem rgba(25, 135, 84, 0.25)"},".was-validated textarea.form-control:valid":{"padding-right":"calc(1.5em + 0.75rem)","background-position":"top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem)"},"textarea.form-control.is-valid":{"padding-right":"calc(1.5em + 0.75rem)","background-position":"top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem)"},".was-validated .form-select:valid":{"border-color":"#198754"},".form-select.is-valid":{"border-color":"#198754"},".was-validated .form-select:valid:not([multiple]):not([size])":{"padding-right":"4.125rem","background-image":"url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e\"), url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e\")","background-position":"right 0.75rem center, center right 2.25rem","background-size":"16px 12px, calc(0.75em + 0.375rem) calc(0.75em + 0.375rem)"},".was-validated .form-select:valid:not([multiple])[size=\"1\"]":{"padding-right":"4.125rem","background-image":"url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e\"), url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e\")","background-position":"right 0.75rem center, center right 2.25rem","background-size":"16px 12px, calc(0.75em + 0.375rem) calc(0.75em + 0.375rem)"},".form-select.is-valid:not([multiple]):not([size])":{"padding-right":"4.125rem","background-image":"url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e\"), url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e\")","background-position":"right 0.75rem center, center right 2.25rem","background-size":"16px 12px, calc(0.75em + 0.375rem) calc(0.75em + 0.375rem)"},".form-select.is-valid:not([multiple])[size=\"1\"]":{"padding-right":"4.125rem","background-image":"url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e\"), url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e\")","background-position":"right 0.75rem center, center right 2.25rem","background-size":"16px 12px, calc(0.75em + 0.375rem) calc(0.75em + 0.375rem)"},".was-validated .form-select:valid:focus":{"border-color":"#198754","box-shadow":"0 0 0 0.25rem rgba(25, 135, 84, 0.25)"},".form-select.is-valid:focus":{"border-color":"#198754","box-shadow":"0 0 0 0.25rem rgba(25, 135, 84, 0.25)"},".was-validated .form-check-input:valid":{"border-color":"#198754"},".form-check-input.is-valid":{"border-color":"#198754"},".was-validated .form-check-input:valid:checked":{"background-color":"#198754"},".form-check-input.is-valid:checked":{"background-color":"#198754"},".was-validated .form-check-input:valid:focus":{"box-shadow":"0 0 0 0.25rem rgba(25, 135, 84, 0.25)"},".form-check-input.is-valid:focus":{"box-shadow":"0 0 0 0.25rem rgba(25, 135, 84, 0.25)"},".was-validated .form-check-input:valid ~ .form-check-label":{"color":"#198754"},".form-check-input.is-valid ~ .form-check-label":{"color":"#198754"},".form-check-inline .form-check-input ~ .valid-feedback":{"margin-left":"0.5em"},".was-validated .input-group .form-control:valid":{"z-index":"1"},".input-group .form-control.is-valid":{"z-index":"1"},".was-validated .input-group .form-select:valid":{"z-index":"1"},".input-group .form-select.is-valid":{"z-index":"1"},".was-validated .input-group .form-control:valid:focus":{"z-index":"3"},".input-group .form-control.is-valid:focus":{"z-index":"3"},".was-validated .input-group .form-select:valid:focus":{"z-index":"3"},".input-group .form-select.is-valid:focus":{"z-index":"3"},".invalid-feedback":{"display":"none","width":"100%","margin-top":"0.25rem","font-size":"0.875em","color":"#dc3545"},".invalid-tooltip":{"position":"absolute","top":"100%","z-index":"5","display":"none","max-width":"100%","padding":"0.25rem 0.5rem","margin-top":"0.1rem","font-size":"0.875rem","color":"#fff","background-color":"rgba(220, 53, 69, 0.9)","border-radius":"0.25rem"},".was-validated :invalid ~ .invalid-feedback":{"display":"block"},".was-validated :invalid ~ .invalid-tooltip":{"display":"block"},".is-invalid ~ .invalid-feedback":{"display":"block"},".is-invalid ~ .invalid-tooltip":{"display":"block"},".was-validated .form-control:invalid":{"border-color":"#dc3545","padding-right":"calc(1.5em + 0.75rem)","background-image":"url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e\")","background-repeat":"no-repeat","background-position":"right calc(0.375em + 0.1875rem) center","background-size":"calc(0.75em + 0.375rem) calc(0.75em + 0.375rem)"},".form-control.is-invalid":{"border-color":"#dc3545","padding-right":"calc(1.5em + 0.75rem)","background-image":"url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e\")","background-repeat":"no-repeat","background-position":"right calc(0.375em + 0.1875rem) center","background-size":"calc(0.75em + 0.375rem) calc(0.75em + 0.375rem)"},".was-validated .form-control:invalid:focus":{"border-color":"#dc3545","box-shadow":"0 0 0 0.25rem rgba(220, 53, 69, 0.25)"},".form-control.is-invalid:focus":{"border-color":"#dc3545","box-shadow":"0 0 0 0.25rem rgba(220, 53, 69, 0.25)"},".was-validated textarea.form-control:invalid":{"padding-right":"calc(1.5em + 0.75rem)","background-position":"top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem)"},"textarea.form-control.is-invalid":{"padding-right":"calc(1.5em + 0.75rem)","background-position":"top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem)"},".was-validated .form-select:invalid":{"border-color":"#dc3545"},".form-select.is-invalid":{"border-color":"#dc3545"},".was-validated .form-select:invalid:not([multiple]):not([size])":{"padding-right":"4.125rem","background-image":"url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e\"), url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e\")","background-position":"right 0.75rem center, center right 2.25rem","background-size":"16px 12px, calc(0.75em + 0.375rem) calc(0.75em + 0.375rem)"},".was-validated .form-select:invalid:not([multiple])[size=\"1\"]":{"padding-right":"4.125rem","background-image":"url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e\"), url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e\")","background-position":"right 0.75rem center, center right 2.25rem","background-size":"16px 12px, calc(0.75em + 0.375rem) calc(0.75em + 0.375rem)"},".form-select.is-invalid:not([multiple]):not([size])":{"padding-right":"4.125rem","background-image":"url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e\"), url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e\")","background-position":"right 0.75rem center, center right 2.25rem","background-size":"16px 12px, calc(0.75em + 0.375rem) calc(0.75em + 0.375rem)"},".form-select.is-invalid:not([multiple])[size=\"1\"]":{"padding-right":"4.125rem","background-image":"url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e\"), url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e\")","background-position":"right 0.75rem center, center right 2.25rem","background-size":"16px 12px, calc(0.75em + 0.375rem) calc(0.75em + 0.375rem)"},".was-validated .form-select:invalid:focus":{"border-color":"#dc3545","box-shadow":"0 0 0 0.25rem rgba(220, 53, 69, 0.25)"},".form-select.is-invalid:focus":{"border-color":"#dc3545","box-shadow":"0 0 0 0.25rem rgba(220, 53, 69, 0.25)"},".was-validated .form-check-input:invalid":{"border-color":"#dc3545"},".form-check-input.is-invalid":{"border-color":"#dc3545"},".was-validated .form-check-input:invalid:checked":{"background-color":"#dc3545"},".form-check-input.is-invalid:checked":{"background-color":"#dc3545"},".was-validated .form-check-input:invalid:focus":{"box-shadow":"0 0 0 0.25rem rgba(220, 53, 69, 0.25)"},".form-check-input.is-invalid:focus":{"box-shadow":"0 0 0 0.25rem rgba(220, 53, 69, 0.25)"},".was-validated .form-check-input:invalid ~ .form-check-label":{"color":"#dc3545"},".form-check-input.is-invalid ~ .form-check-label":{"color":"#dc3545"},".form-check-inline .form-check-input ~ .invalid-feedback":{"margin-left":"0.5em"},".was-validated .input-group .form-control:invalid":{"z-index":"2"},".input-group .form-control.is-invalid":{"z-index":"2"},".was-validated .input-group .form-select:invalid":{"z-index":"2"},".input-group .form-select.is-invalid":{"z-index":"2"},".was-validated .input-group .form-control:invalid:focus":{"z-index":"3"},".input-group .form-control.is-invalid:focus":{"z-index":"3"},".was-validated .input-group .form-select:invalid:focus":{"z-index":"3"},".input-group .form-select.is-invalid:focus":{"z-index":"3"},".btn-check:focus + .btn":{"outline":"0","box-shadow":"none"},".btn:focus":{"outline":"0","box-shadow":"none"},".btn-check:checked + .btn":{"box-shadow":"none"},".btn-check:active + .btn":{"box-shadow":"none"},".btn:active":{"box-shadow":"none"},".btn.active":{"box-shadow":"none"},".btn-check:checked + .btn:focus":{"box-shadow":"none"},".btn-check:active + .btn:focus":{"box-shadow":"none"},".btn:active:focus":{"box-shadow":"none"},".btn.active:focus":{"box-shadow":"none"},".fade":{"-webkit-transition":"opacity 0.15s linear","transition":"opacity 0.15s linear"},".fade:not(.show)":{"opacity":"0"},".collapse:not(.show)":{"display":"none"},".collapsing":{"height":"0","overflow":"hidden","-webkit-transition":"height 0.35s ease","transition":"height 0.35s ease"},".collapsing.collapse-horizontal":{"width":"0","height":"auto","-webkit-transition":"width 0.35s ease","transition":"width 0.35s ease"},".dropdown-menu":{"z-index":"1000"},".dropdown-item.active":{"color":"rgb(31, 41, 55)","-webkit-text-decoration":"none","text-decoration":"none","background-color":"#0d6efd"},".dropdown-item:active":{"color":"rgb(31, 41, 55)","-webkit-text-decoration":"none","text-decoration":"none","background-color":"#0d6efd"},".dropdown-item:disabled":{"color":"#adb5bd","pointer-events":"none","background-color":"transparent"},".dropdown-menu.show":{"display":"block"},".dropdown-menu-dark .dropdown-item.active":{"color":"#fff","background-color":"#0d6efd"},".dropdown-menu-dark .dropdown-item:active":{"color":"#fff","background-color":"#0d6efd"},".dropdown-menu-dark .dropdown-item.disabled":{"color":"#adb5bd"},".dropdown-menu-dark .dropdown-item:disabled":{"color":"#adb5bd"},".nav-tabs .nav-link":{"color":"rgb(75, 85, 99)"},".nav-tabs .nav-link:hover":{"isolation":"isolate"},".nav-tabs .nav-link:focus":{"isolation":"isolate"},".nav-tabs .nav-link.disabled":{"color":"rgb(156, 163, 175)","background-color":"transparent","border-color":"transparent"},".nav-tabs .nav-link.active":{"color":"rgb(37, 99, 235)","border-color":"rgb(37, 99, 235)"},".nav-tabs .nav-item.show .nav-link":{"color":"rgb(37, 99, 235)","border-color":"rgb(37, 99, 235)"},".nav-tabs .dropdown-menu":{"margin-top":"-1px","border-top-left-radius":"0","border-top-right-radius":"0"},".nav-pills .nav-link":{"background":"rgb(243, 244, 246)","color":"rgb(75, 85, 99)","box-shadow":"none"},".nav-pills .nav-link.active":{"background":"rgb(37, 99, 235)","color":"#fff","box-shadow":"0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06)"},".nav-pills .show > .nav-link":{"background":"rgb(37, 99, 235)","color":"#fff","box-shadow":"0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06)"},".nav-pills .disabled":{"color":"rgb(156, 163, 175)","background-color":"rgba(243, 244, 246, 0.5)"},".nav-pills.menu-sidebar .nav-link":{"background-color":"transparent","box-shadow":"none","padding":"0 5px","border-radius":"0"},".nav-pills.menu-sidebar .nav-link.active":{"color":"#1266f1","font-weight":"600","border-left":"0.125rem solid #1266f1"},".nav-justified > .nav-link":{"-webkit-flex-basis":"0","-ms-flex-basis":"0","flex-basis":"0"},".nav-justified .nav-item":{"-webkit-flex-basis":"0","-ms-flex-basis":"0","flex-basis":"0"},".tab-content > .tab-pane":{"display":"none"},".tab-content > .active":{"display":"block"},".navbar-text":{"padding-top":"0.5rem","padding-bottom":"0.5rem"},".navbar-collapse":{"-webkit-flex-basis":"100%","-ms-flex-basis":"100%","flex-basis":"100%"},".navbar-nav-scroll":{"max-height":"var(--bs-scroll-height, 75vh)","overflow-y":"auto"},".navbar-expand":{"-webkit-flex-wrap":"nowrap","-ms-flex-wrap":"nowrap","flex-wrap":"nowrap","-webkit-box-pack":"start","-webkit-justify-content":"flex-start","-ms-flex-pack":"start","justify-content":"flex-start"},".navbar-expand .navbar-nav":{"-webkit-flex-direction":"row","-ms-flex-direction":"row","flex-direction":"row"},".navbar-expand .navbar-nav .dropdown-menu":{"position":"absolute"},".navbar-expand .navbar-nav .nav-link":{"padding-right":"0.5rem","padding-left":"0.5rem"},".navbar-expand .navbar-nav-scroll":{"overflow":"visible"},".navbar-expand .navbar-collapse":{"display":"flex !important","-webkit-flex-basis":"auto","-ms-flex-basis":"auto","flex-basis":"auto"},".navbar-expand .navbar-toggler":{"display":"none"},".navbar-expand .offcanvas-header":{"display":"none"},".navbar-expand .offcanvas":{"position":"inherit","bottom":"0","z-index":"1000","-webkit-flex-grow":"1","-ms-flex-grow":"1","flex-grow":"1","visibility":"visible !important","background-color":"transparent","border-right":"0","border-left":"0","-webkit-transition":"none","transition":"none","-webkit-transform":"none","-ms-transform":"none","transform":"none"},".navbar-expand .offcanvas-top":{"height":"auto","border-top":"0","border-bottom":"0"},".navbar-expand .offcanvas-bottom":{"height":"auto","border-top":"0","border-bottom":"0"},".navbar-expand .offcanvas-body":{"display":"flex","-webkit-flex-grow":"0","-ms-flex-grow":"0","flex-grow":"0","padding":"0","overflow-y":"visible"},".navbar-light .navbar-nav .nav-link.disabled":{"color":"rgba(0, 0, 0, 0.3)"},".navbar-light .navbar-nav .show > .nav-link":{"color":"rgba(0, 0, 0, 0.9)"},".navbar-light .navbar-nav .nav-link.active":{"color":"rgba(0, 0, 0, 0.9)"},".navbar-light .navbar-text":{"color":"rgba(0, 0, 0, 0.55)"},".navbar-light .navbar-text a":{"color":"rgba(0, 0, 0, 0.9)"},".navbar-light .navbar-text a:hover":{"color":"rgba(0, 0, 0, 0.9)"},".navbar-light .navbar-text a:focus":{"color":"rgba(0, 0, 0, 0.9)"},".navbar-dark .navbar-nav .nav-link.disabled":{"color":"rgba(255, 255, 255, 0.25)"},".navbar-dark .navbar-nav .show > .nav-link":{"color":"#fff"},".navbar-dark .navbar-nav .nav-link.active":{"color":"#fff"},".navbar-dark .navbar-text":{"color":"rgba(255, 255, 255, 0.55)"},".navbar-dark .navbar-text a":{"color":"#fff"},".navbar-dark .navbar-text a:hover":{"color":"#fff"},".navbar-dark .navbar-text a:focus":{"color":"#fff"},".accordion-button":{"overflow-anchor":"none"},".accordion-button:not(.collapsed)":{"color":"#2563eb","background-color":"#fff","box-shadow":"inset 0 -1px 0 rgb(229, 231, 235)"},".accordion-button:not(.collapsed)::after":{"background-image":"url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%232563eb'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e\")","-webkit-transform":"rotate(-180deg)","-ms-transform":"rotate(-180deg)","transform":"rotate(-180deg)"},".accordion-button::after":{"-webkit-flex-shrink":"0","-ms-flex-shrink":"0","flex-shrink":"0","width":"1.25rem","height":"1.25rem","margin-left":"auto","content":"\"\"","background-image":"url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23212529'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e\")","background-repeat":"no-repeat","background-size":"1.25rem","-webkit-transition":"transform 0.2s ease-in-out","transition":"transform 0.2s ease-in-out"},".accordion-button:hover":{"z-index":"2"},".accordion-button:focus":{"z-index":"3"},".accordion-item:first-of-type":{"border-top-left-radius":"0.5rem","border-top-right-radius":"0.5rem"},".accordion-item:first-of-type .accordion-button":{"border-top-left-radius":"calc(0.5rem - 1px)","border-top-right-radius":"calc(0.5rem - 1px)"},".accordion-item:not(:first-of-type)":{"border-top":"0"},".accordion-item:last-of-type":{"border-bottom-right-radius":"0.5rem","border-bottom-left-radius":"0.5rem"},".accordion-item:last-of-type .accordion-button.collapsed":{"border-bottom-right-radius":"calc(0.5rem - 1px)","border-bottom-left-radius":"calc(0.5rem - 1px)"},".accordion-item:last-of-type .accordion-collapse":{"border-bottom-right-radius":"0.5rem","border-bottom-left-radius":"0.5rem"},".btn-close":{"background":"transparent url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e\") center/1em auto no-repeat"},".btn-close:focus":{"opacity":"1"},".btn-close:disabled":{"pointer-events":"none","-webkit-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none","opacity":"0.25"},".btn-close.disabled":{"pointer-events":"none","-webkit-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none","opacity":"0.25"},".btn-close-white":{"filter":"invert(1) grayscale(100%) brightness(200%)"},".modal":{"z-index":"1055"},".modal-dialog":{"margin":"0.5rem"},".modal.fade .modal-dialog":{"-webkit-transition":"transform 0.3s ease-out","transition":"transform 0.3s ease-out","-webkit-transform":"translate(0, -50px)","-ms-transform":"translate(0, -50px)","transform":"translate(0, -50px)"},".modal.show .modal-dialog":{"-webkit-transform":"none","-ms-transform":"none","transform":"none"},".modal.modal-static .modal-dialog":{"-webkit-transform":"scale(1.02)","-ms-transform":"scale(1.02)","transform":"scale(1.02)"},".modal-dialog-scrollable":{"height":"calc(100% - 1rem)"},".modal-dialog-scrollable .modal-content":{"max-height":"100%","overflow":"hidden"},".modal-dialog-scrollable .modal-body":{"overflow-y":"auto"},".modal-dialog-centered":{"display":"flex","-webkit-align-items":"center","-webkit-box-align":"center","-ms-flex-align":"center","align-items":"center","min-height":"calc(100% - 1rem)"},".modal-backdrop":{"position":"fixed","top":"0","left":"0","z-index":"1050","width":"100vw","height":"100vh","background-color":"#000"},".modal-backdrop.fade":{"opacity":"0"},".modal-backdrop.show":{"opacity":"0.5"},".modal-header .btn-close":{"padding":"0.5rem 0.5rem","margin":"-0.5rem -0.5rem -0.5rem auto"},".modal-body":{"-webkit-flex":"1 1 auto","-ms-flex":"1 1 auto","flex":"1 1 auto"},".modal-fullscreen":{"width":"100vw","max-width":"none","height":"100%","margin":"0"},".modal-fullscreen .modal-content":{"height":"100%","border":"0","border-radius":"0"},".modal-fullscreen .modal-header":{"border-radius":"0"},".modal-fullscreen .modal-body":{"overflow-y":"auto"},".modal-fullscreen .modal-footer":{"border-radius":"0"},".tooltip":{"position":"absolute","z-index":"1080","display":"block","margin":"0","font-family":"var(--bs-font-sans-serif)","font-style":"normal","font-weight":"400","line-height":"1.5","-webkit-text-align":"start","text-align":"start","-webkit-text-decoration":"none","text-decoration":"none","-webkit-text-shadow":"none","text-shadow":"none","-webkit-text-transform":"none","text-transform":"none","letter-spacing":"normal","word-break":"normal","word-spacing":"normal","white-space":"normal","line-break":"auto","font-size":"0.875rem","word-wrap":"break-word","opacity":"0"},".tooltip.show":{"opacity":"1"},".bs-tooltip-top":{"padding":"0.4rem 0"},".bs-tooltip-auto[data-popper-placement^=top]":{"padding":"0.4rem 0"},".bs-tooltip-top .tooltip-arrow":{"bottom":"0"},".bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow":{"bottom":"0"},".bs-tooltip-top .tooltip-arrow::before":{"top":"-1px","border-width":"0.4rem 0.4rem 0","border-top-color":"#000"},".bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow::before":{"top":"-1px","border-width":"0.4rem 0.4rem 0","border-top-color":"#000"},".bs-tooltip-end":{"padding":"0 0.4rem"},".bs-tooltip-auto[data-popper-placement^=right]":{"padding":"0 0.4rem"},".bs-tooltip-end .tooltip-arrow":{"left":"0","width":"0.4rem","height":"0.8rem"},".bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow":{"left":"0","width":"0.4rem","height":"0.8rem"},".bs-tooltip-end .tooltip-arrow::before":{"right":"-1px","border-width":"0.4rem 0.4rem 0.4rem 0","border-right-color":"#000"},".bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow::before":{"right":"-1px","border-width":"0.4rem 0.4rem 0.4rem 0","border-right-color":"#000"},".bs-tooltip-bottom":{"padding":"0.4rem 0"},".bs-tooltip-auto[data-popper-placement^=bottom]":{"padding":"0.4rem 0"},".bs-tooltip-bottom .tooltip-arrow":{"top":"0"},".bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow":{"top":"0"},".bs-tooltip-bottom .tooltip-arrow::before":{"bottom":"-1px","border-width":"0 0.4rem 0.4rem","border-bottom-color":"#000"},".bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow::before":{"bottom":"-1px","border-width":"0 0.4rem 0.4rem","border-bottom-color":"#000"},".bs-tooltip-start":{"padding":"0 0.4rem"},".bs-tooltip-auto[data-popper-placement^=left]":{"padding":"0 0.4rem"},".bs-tooltip-start .tooltip-arrow":{"right":"0","width":"0.4rem","height":"0.8rem"},".bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow":{"right":"0","width":"0.4rem","height":"0.8rem"},".bs-tooltip-start .tooltip-arrow::before":{"left":"-1px","border-width":"0.4rem 0 0.4rem 0.4rem","border-left-color":"#000"},".bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow::before":{"left":"-1px","border-width":"0.4rem 0 0.4rem 0.4rem","border-left-color":"#000"},".tooltip-inner":{"max-width":"200px","font-size":"14px","padding":"6px 16px","color":"#fff","-webkit-text-align":"center","text-align":"center","background-color":"#6d6d6d","border-radius":"0.25rem"},".popover":{"position":"absolute","top":"0","left":"0","z-index":"1070","display":"block","max-width":"276px","font-family":"var(--bs-font-sans-serif)","font-style":"normal","font-weight":"400","line-height":"1.5","-webkit-text-align":"start","text-align":"start","-webkit-text-decoration":"none","text-decoration":"none","-webkit-text-shadow":"none","text-shadow":"none","-webkit-text-transform":"none","text-transform":"none","letter-spacing":"normal","word-break":"normal","word-spacing":"normal","white-space":"normal","line-break":"auto","font-size":"0.875rem","word-wrap":"break-word","background-color":"#fff","background-clip":"padding-box","border":"0","border-radius":"0.5rem","box-shadow":"0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05)"},".bs-popover-top > .popover-arrow":{"bottom":"calc(-0.5rem - 1px)"},".bs-popover-auto[data-popper-placement^=top] > .popover-arrow":{"bottom":"calc(-0.5rem - 1px)"},".bs-popover-top > .popover-arrow::before":{"bottom":"0","border-width":"0.5rem 0.5rem 0","border-top-color":"rgba(0, 0, 0, 0.25)"},".bs-popover-auto[data-popper-placement^=top] > .popover-arrow::before":{"bottom":"0","border-width":"0.5rem 0.5rem 0","border-top-color":"rgba(0, 0, 0, 0.25)"},".bs-popover-top > .popover-arrow::after":{"bottom":"1px","border-width":"0.5rem 0.5rem 0","border-top-color":"#fff"},".bs-popover-auto[data-popper-placement^=top] > .popover-arrow::after":{"bottom":"1px","border-width":"0.5rem 0.5rem 0","border-top-color":"#fff"},".bs-popover-end > .popover-arrow":{"left":"calc(-0.5rem - 1px)","width":"0.5rem","height":"1rem"},".bs-popover-auto[data-popper-placement^=right] > .popover-arrow":{"left":"calc(-0.5rem - 1px)","width":"0.5rem","height":"1rem"},".bs-popover-end > .popover-arrow::before":{"left":"0","border-width":"0.5rem 0.5rem 0.5rem 0","border-right-color":"rgba(0, 0, 0, 0.25)"},".bs-popover-auto[data-popper-placement^=right] > .popover-arrow::before":{"left":"0","border-width":"0.5rem 0.5rem 0.5rem 0","border-right-color":"rgba(0, 0, 0, 0.25)"},".bs-popover-end > .popover-arrow::after":{"left":"1px","border-width":"0.5rem 0.5rem 0.5rem 0","border-right-color":"#fff"},".bs-popover-auto[data-popper-placement^=right] > .popover-arrow::after":{"left":"1px","border-width":"0.5rem 0.5rem 0.5rem 0","border-right-color":"#fff"},".bs-popover-bottom > .popover-arrow":{"top":"calc(-0.5rem - 1px)"},".bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow":{"top":"calc(-0.5rem - 1px)"},".bs-popover-bottom > .popover-arrow::before":{"top":"0","border-width":"0 0.5rem 0.5rem 0.5rem","border-bottom-color":"rgba(0, 0, 0, 0.25)"},".bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow::before":{"top":"0","border-width":"0 0.5rem 0.5rem 0.5rem","border-bottom-color":"rgba(0, 0, 0, 0.25)"},".bs-popover-bottom > .popover-arrow::after":{"top":"1px","border-width":"0 0.5rem 0.5rem 0.5rem","border-bottom-color":"#fff"},".bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow::after":{"top":"1px","border-width":"0 0.5rem 0.5rem 0.5rem","border-bottom-color":"#fff"},".bs-popover-bottom .popover-header::before":{"position":"absolute","top":"0","left":"50%","display":"block","width":"1rem","margin-left":"-0.5rem","content":"\"\"","border-bottom":"1px solid #f0f0f0"},".bs-popover-auto[data-popper-placement^=bottom] .popover-header::before":{"position":"absolute","top":"0","left":"50%","display":"block","width":"1rem","margin-left":"-0.5rem","content":"\"\"","border-bottom":"1px solid #f0f0f0"},".bs-popover-start > .popover-arrow":{"right":"calc(-0.5rem - 1px)","width":"0.5rem","height":"1rem"},".bs-popover-auto[data-popper-placement^=left] > .popover-arrow":{"right":"calc(-0.5rem - 1px)","width":"0.5rem","height":"1rem"},".bs-popover-start > .popover-arrow::before":{"right":"0","border-width":"0.5rem 0 0.5rem 0.5rem","border-left-color":"rgba(0, 0, 0, 0.25)"},".bs-popover-auto[data-popper-placement^=left] > .popover-arrow::before":{"right":"0","border-width":"0.5rem 0 0.5rem 0.5rem","border-left-color":"rgba(0, 0, 0, 0.25)"},".bs-popover-start > .popover-arrow::after":{"right":"1px","border-width":"0.5rem 0 0.5rem 0.5rem","border-left-color":"#fff"},".bs-popover-auto[data-popper-placement^=left] > .popover-arrow::after":{"right":"1px","border-width":"0.5rem 0 0.5rem 0.5rem","border-left-color":"#fff"},".popover-header":{"padding":"0.5rem 1rem","margin-bottom":"0","font-size":"1rem","background-color":"#fff","border-bottom":"1px solid rgba(0, 0, 0, 0.2)","border-top-left-radius":"0.5rem","border-top-right-radius":"0.5rem","font-weight":"500"},".popover-header:empty":{"display":"none"},".popover-body":{"padding":"1rem 1rem","color":"#212529"},".carousel.pointer-event":{"touch-action":"pan-y"},".carousel-inner::after":{"display":"block","clear":"both","content":"\"\""},".carousel-item":{"display":"none","margin-right":"-100%","backface-visibility":"hidden","-webkit-transition":"transform 0.6s ease-in-out","transition":"transform 0.6s ease-in-out"},".carousel-item.active":{"display":"block"},".carousel-item-next":{"display":"block"},".carousel-item-prev":{"display":"block"},".carousel-item-next:not(.carousel-item-start)":{"-webkit-transform":"translateX(100%)","-ms-transform":"translateX(100%)","transform":"translateX(100%)"},".active.carousel-item-end":{"-webkit-transform":"translateX(100%)","-ms-transform":"translateX(100%)","transform":"translateX(100%)"},".carousel-item-prev:not(.carousel-item-end)":{"-webkit-transform":"translateX(-100%)","-ms-transform":"translateX(-100%)","transform":"translateX(-100%)"},".active.carousel-item-start":{"-webkit-transform":"translateX(-100%)","-ms-transform":"translateX(-100%)","transform":"translateX(-100%)"},".carousel-fade .carousel-item":{"opacity":"0","-webkit-transition-property":"opacity","transition-property":"opacity","-webkit-transform":"none","-ms-transform":"none","transform":"none"},".carousel-fade .carousel-item.active":{"z-index":"1","opacity":"1"},".carousel-fade .carousel-item-next.carousel-item-start":{"z-index":"1","opacity":"1"},".carousel-fade .carousel-item-prev.carousel-item-end":{"z-index":"1","opacity":"1"},".carousel-fade .active.carousel-item-start":{"z-index":"0","opacity":"0","-webkit-transition":"opacity 0s 0.6s","transition":"opacity 0s 0.6s"},".carousel-fade .active.carousel-item-end":{"z-index":"0","opacity":"0","-webkit-transition":"opacity 0s 0.6s","transition":"opacity 0s 0.6s"},".carousel-control-prev":{"z-index":"1","width":"15%","color":"#fff","background":"none","opacity":"0.5","-webkit-transition":"opacity 0.15s ease","transition":"opacity 0.15s ease"},".carousel-control-next":{"z-index":"1","width":"15%","color":"#fff","background":"none","opacity":"0.5","-webkit-transition":"opacity 0.15s ease","transition":"opacity 0.15s ease"},".carousel-control-prev:hover":{"color":"#fff","opacity":"0.9"},".carousel-control-prev:focus":{"color":"#fff","opacity":"0.9"},".carousel-control-next:hover":{"color":"#fff","opacity":"0.9"},".carousel-control-next:focus":{"color":"#fff","opacity":"0.9"},".carousel-control-prev-icon":{"width":"2rem","height":"2rem","background-position":"50%","background-size":"100% 100%","background-image":"url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/%3e%3c/svg%3e\")"},".carousel-control-next-icon":{"width":"2rem","height":"2rem","background-position":"50%","background-size":"100% 100%","background-image":"url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e\")"},".carousel-indicators":{"z-index":"2","margin-right":"15%","margin-left":"15%","list-style":"none"},".carousel-indicators [data-bs-target]":{"box-sizing":"content-box","-webkit-flex":"0 1 auto","-ms-flex":"0 1 auto","flex":"0 1 auto","width":"30px","height":"3px","padding":"0","margin-right":"3px","margin-left":"3px","-webkit-text-indent":"-999px","text-indent":"-999px","cursor":"pointer","background-color":"#fff","background-clip":"padding-box","border":"0","border-top":"10px solid transparent","border-bottom":"10px solid transparent","opacity":"0.5","-webkit-transition":"opacity 0.6s ease","transition":"opacity 0.6s ease"},".carousel-indicators .active":{"opacity":"1"},".carousel-caption":{"right":"15%","bottom":"1.25rem","left":"15%","padding-top":"1.25rem","padding-bottom":"1.25rem","color":"#fff"},".carousel-dark .carousel-control-prev-icon":{"filter":"invert(1) grayscale(100)"},".carousel-dark .carousel-control-next-icon":{"filter":"invert(1) grayscale(100)"},".carousel-dark .carousel-indicators [data-bs-target]":{"background-color":"#000"},".carousel-dark .carousel-caption":{"color":"#000"},".spinner-border":{"vertical-align":"-0.125em","border":"0.25em solid currentColor","border-right-color":"transparent"},".spinner-grow":{"vertical-align":"-0.125em","-webkit-animation":"0.75s linear infinite _spinner-grow","animation":"0.75s linear infinite _spinner-grow"},".offcanvas":{"z-index":"1045"},".offcanvas-backdrop":{"position":"fixed","top":"0","left":"0","z-index":"1040","width":"100vw","height":"100vh","background-color":"#000"},".offcanvas-backdrop.fade":{"opacity":"0"},".offcanvas-backdrop.show":{"opacity":"0.5"},".offcanvas-start":{"-webkit-transform":"translateX(-100%)","-ms-transform":"translateX(-100%)","transform":"translateX(-100%)"},".offcanvas-end":{"-webkit-transform":"translateX(100%)","-ms-transform":"translateX(100%)","transform":"translateX(100%)"},".offcanvas-top":{"-webkit-transform":"translateY(-100%)","-ms-transform":"translateY(-100%)","transform":"translateY(-100%)"},".offcanvas-bottom":{"-webkit-transform":"translateY(100%)","-ms-transform":"translateY(100%)","transform":"translateY(100%)"},".offcanvas.show":{"-webkit-transform":"none","-ms-transform":"none","transform":"none"},".clearfix::after":{"display":"block","clear":"both","content":"\"\""},".link-primary":{"color":"#0d6efd"},".link-primary:hover":{"color":"#0a58ca"},".link-primary:focus":{"color":"#0a58ca"},".link-secondary":{"color":"#6c757d"},".link-secondary:hover":{"color":"#565e64"},".link-secondary:focus":{"color":"#565e64"},".link-success":{"color":"#198754"},".link-success:hover":{"color":"#146c43"},".link-success:focus":{"color":"#146c43"},".link-info":{"color":"#0dcaf0"},".link-info:hover":{"color":"#3dd5f3"},".link-info:focus":{"color":"#3dd5f3"},".link-warning":{"color":"#ffc107"},".link-warning:hover":{"color":"#ffcd39"},".link-warning:focus":{"color":"#ffcd39"},".link-danger":{"color":"#dc3545"},".link-danger:hover":{"color":"#b02a37"},".link-danger:focus":{"color":"#b02a37"},".link-light":{"color":"#f8f9fa"},".link-light:hover":{"color":"#f9fafb"},".link-light:focus":{"color":"#f9fafb"},".link-dark":{"color":"#212529"},".link-dark:hover":{"color":"#1a1e21"},".link-dark:focus":{"color":"#1a1e21"},".ratio":{"position":"relative","width":"100%"},".ratio::before":{"display":"block","padding-top":"var(--bs-aspect-ratio)","content":"\"\""},".ratio > *":{"position":"absolute","top":"0","left":"0","width":"100%","height":"100%"},".ratio-1x1":{"--bs-aspect-ratio":"100%"},".ratio-4x3":{"--bs-aspect-ratio":"75%"},".ratio-16x9":{"--bs-aspect-ratio":"56.25%"},".ratio-21x9":{"--bs-aspect-ratio":"42.8571428571%"},".fixed-top":{"position":"fixed","top":"0","right":"0","left":"0","z-index":"1030"},".fixed-bottom":{"position":"fixed","right":"0","bottom":"0","left":"0","z-index":"1030"},".sticky-top":{"position":"sticky","top":"0","z-index":"1020"},".hstack":{"display":"flex","-webkit-flex-direction":"row","-ms-flex-direction":"row","flex-direction":"row","-webkit-align-items":"center","-webkit-box-align":"center","-ms-flex-align":"center","align-items":"center","-ms-flex-item-align":"stretch","align-self":"stretch"},".vstack":{"display":"flex","-webkit-flex":"1 1 auto","-ms-flex":"1 1 auto","flex":"1 1 auto","-webkit-flex-direction":"column","-ms-flex-direction":"column","flex-direction":"column","-ms-flex-item-align":"stretch","align-self":"stretch"},".visually-hidden":{"position":"absolute !important","width":"1px !important","height":"1px !important","padding":"0 !important","margin":"-1px !important","overflow":"hidden !important","clip":"rect(0, 0, 0, 0) !important","white-space":"nowrap !important","border":"0 !important"},".visually-hidden-focusable:not(:focus):not(:focus-within)":{"position":"absolute !important","width":"1px !important","height":"1px !important","padding":"0 !important","margin":"-1px !important","overflow":"hidden !important","clip":"rect(0, 0, 0, 0) !important","white-space":"nowrap !important","border":"0 !important"},".stretched-link::after":{"position":"absolute","top":"0","right":"0","bottom":"0","left":"0","z-index":"1","content":"\"\""},".text-truncate":{"overflow":"hidden","-webkit-text-overflow":"ellipsis","text-overflow":"ellipsis","white-space":"nowrap"},".vr":{"display":"inline-block","-ms-flex-item-align":"stretch","align-self":"stretch","width":"1px","min-height":"1em","background-color":"currentColor","opacity":"0.25"},".animation":{"-webkit-animation-duration":"1s","animation-duration":"1s","-webkit-animation-fill-mode":"both","animation-fill-mode":"both","padding":"auto"},".fade-in":{"-webkit-animation-name":"_fade-in","animation-name":"_fade-in"},".fade-out":{"-webkit-animation-name":"_fade-out","animation-name":"_fade-out"},".animation.infinite":{"-webkit-animation-iteration-count":"infinite","animation-iteration-count":"infinite"},".animation.delay-1s":{"-webkit-animation-delay":"1s","animation-delay":"1s"},".animation.delay-2s":{"-webkit-animation-delay":"2s","animation-delay":"2s"},".animation.delay-3s":{"-webkit-animation-delay":"3s","animation-delay":"3s"},".animation.delay-4s":{"-webkit-animation-delay":"4s","animation-delay":"4s"},".animation.delay-5s":{"-webkit-animation-delay":"5s","animation-delay":"5s"},".animation.fast":{"-webkit-animation-duration":"800ms","animation-duration":"800ms"},".animation.faster":{"-webkit-animation-duration":"500ms","animation-duration":"500ms"},".animation.slow":{"-webkit-animation-duration":"2s","animation-duration":"2s"},".animation.slower":{"-webkit-animation-duration":"3s","animation-duration":"3s"},".fade-in-down":{"-webkit-animation-name":"_fade-in-down","animation-name":"_fade-in-down"},".fade-in-left":{"-webkit-animation-name":"_fade-in-left","animation-name":"_fade-in-left"},".fade-in-right":{"-webkit-animation-name":"_fade-in-right","animation-name":"_fade-in-right"},".fade-in-up":{"-webkit-animation-name":"_fade-in-up","animation-name":"_fade-in-up"},".fade-out-down":{"-webkit-animation-name":"_fade-out-down","animation-name":"_fade-out-down"},".fade-out-left":{"-webkit-animation-name":"_fade-out-left","animation-name":"_fade-out-left"},".fade-out-right":{"-webkit-animation-name":"_fade-out-right","animation-name":"_fade-out-right"},".fade-out-up":{"-webkit-animation-name":"_fade-out-up","animation-name":"_fade-out-up"},".slide-in-down":{"-webkit-animation-name":"_slide-in-down","animation-name":"_slide-in-down"},".slide-in-left":{"-webkit-animation-name":"_slide-in-left","animation-name":"_slide-in-left"},".slide-in-right":{"-webkit-animation-name":"_slide-in-right","animation-name":"_slide-in-right"},".slide-in-up":{"-webkit-animation-name":"_slide-in-up","animation-name":"_slide-in-up"},".slide-out-down":{"-webkit-animation-name":"_slide-out-down","animation-name":"_slide-out-down"},".slide-out-left":{"-webkit-animation-name":"_slide-out-left","animation-name":"_slide-out-left"},".slide-out-right":{"-webkit-animation-name":"_slide-out-right","animation-name":"_slide-out-right"},".slide-out-up":{"-webkit-animation-name":"_slide-out-up","animation-name":"_slide-out-up"},".slide-down":{"-webkit-animation-name":"_slide-down","animation-name":"_slide-down"},".slide-left":{"-webkit-animation-name":"_slide-left","animation-name":"_slide-left"},".slide-right":{"-webkit-animation-name":"_slide-right","animation-name":"_slide-right"},".slide-up":{"-webkit-animation-name":"_slide-up","animation-name":"_slide-up"},".zoom-in":{"-webkit-animation-name":"_zoom-in","animation-name":"_zoom-in"},".zoom-out":{"-webkit-animation-name":"_zoom-out","animation-name":"_zoom-out"},".tada":{"-webkit-animation-name":"_tada","animation-name":"_tada"},".pulse":{"-webkit-animation-name":"_pulse","animation-name":"_pulse"},".ripple-surface":{"position":"relative","overflow":"hidden","display":"inline-block","vertical-align":"bottom"},".ripple-surface-unbound":{"overflow":"visible"},".ripple-wave":{"background-image":"radial-gradient(circle, rgba(0, 0, 0, 0.2) 0, rgba(0, 0, 0, 0.3) 40%, rgba(0, 0, 0, 0.4) 50%, rgba(0, 0, 0, 0.5) 60%, transparent 70%)","border-radius":"50%","opacity":"0.5","pointer-events":"none","position":"absolute","touch-action":"none","-webkit-transform":"scale(0)","-ms-transform":"scale(0)","transform":"scale(0)","-webkit-transition-property":"transform, opacity","transition-property":"transform, opacity","-webkit-transition-timing-function":"cubic-bezier(0, 0, 0.15, 1), cubic-bezier(0, 0, 0.15, 1)","transition-timing-function":"cubic-bezier(0, 0, 0.15, 1), cubic-bezier(0, 0, 0.15, 1)","z-index":"999"},".ripple-wave.active":{"-webkit-transform":"scale(1)","-ms-transform":"scale(1)","transform":"scale(1)","opacity":"0"},".btn .ripple-wave":{"background-image":"radial-gradient(circle, hsla(0deg, 0%, 100%, 0.2) 0, hsla(0deg, 0%, 100%, 0.3) 40%, hsla(0deg, 0%, 100%, 0.4) 50%, hsla(0deg, 0%, 100%, 0.5) 60%, hsla(0deg, 0%, 100%, 0) 70%)"},".ripple-surface-primary .ripple-wave":{"background-image":"radial-gradient(circle, rgba(18, 102, 241, 0.2) 0, rgba(18, 102, 241, 0.3) 40%, rgba(18, 102, 241, 0.4) 50%, rgba(18, 102, 241, 0.5) 60%, rgba(18, 102, 241, 0) 70%)"},".ripple-surface-secondary .ripple-wave":{"background-image":"radial-gradient(circle, rgba(178, 60, 253, 0.2) 0, rgba(178, 60, 253, 0.3) 40%, rgba(178, 60, 253, 0.4) 50%, rgba(178, 60, 253, 0.5) 60%, rgba(178, 60, 253, 0) 70%)"},".ripple-surface-success .ripple-wave":{"background-image":"radial-gradient(circle, rgba(0, 183, 74, 0.2) 0, rgba(0, 183, 74, 0.3) 40%, rgba(0, 183, 74, 0.4) 50%, rgba(0, 183, 74, 0.5) 60%, rgba(0, 183, 74, 0) 70%)"},".ripple-surface-info .ripple-wave":{"background-image":"radial-gradient(circle, rgba(57, 192, 237, 0.2) 0, rgba(57, 192, 237, 0.3) 40%, rgba(57, 192, 237, 0.4) 50%, rgba(57, 192, 237, 0.5) 60%, rgba(57, 192, 237, 0) 70%)"},".ripple-surface-warning .ripple-wave":{"background-image":"radial-gradient(circle, rgba(255, 169, 0, 0.2) 0, rgba(255, 169, 0, 0.3) 40%, rgba(255, 169, 0, 0.4) 50%, rgba(255, 169, 0, 0.5) 60%, rgba(255, 169, 0, 0) 70%)"},".ripple-surface-danger .ripple-wave":{"background-image":"radial-gradient(circle, rgba(249, 49, 84, 0.2) 0, rgba(249, 49, 84, 0.3) 40%, rgba(249, 49, 84, 0.4) 50%, rgba(249, 49, 84, 0.5) 60%, rgba(249, 49, 84, 0) 70%)"},".ripple-surface-light .ripple-wave":{"background-image":"radial-gradient(circle, hsla(0deg, 0%, 98.4%, 0.2) 0, hsla(0deg, 0%, 98.4%, 0.3) 40%, hsla(0deg, 0%, 98.4%, 0.4) 50%, hsla(0deg, 0%, 98.4%, 0.5) 60%, hsla(0deg, 0%, 98.4%, 0) 70%)"},".ripple-surface-dark .ripple-wave":{"background-image":"radial-gradient(circle, rgba(38, 38, 38, 0.2) 0, rgba(38, 38, 38, 0.3) 40%, rgba(38, 38, 38, 0.4) 50%, rgba(38, 38, 38, 0.5) 60%, rgba(38, 38, 38, 0) 70%)"},".ripple-surface-white .ripple-wave":{"background-image":"radial-gradient(circle, hsla(0deg, 0%, 100%, 0.2) 0, hsla(0deg, 0%, 100%, 0.3) 40%, hsla(0deg, 0%, 100%, 0.4) 50%, hsla(0deg, 0%, 100%, 0.5) 60%, hsla(0deg, 0%, 100%, 0) 70%)"},".ripple-surface-black .ripple-wave":{"background-image":"radial-gradient(circle, rgba(0, 0, 0, 0.2) 0, rgba(0, 0, 0, 0.3) 40%, rgba(0, 0, 0, 0.4) 50%, rgba(0, 0, 0, 0.5) 60%, transparent 70%)"},".datepicker-toggle-button":{"position":"absolute","outline":"none","border":"none","background-color":"transparent","right":"10px","top":"50%","-webkit-transform":"translate(-50%, -50%)","-ms-transform":"translate(-50%, -50%)","transform":"translate(-50%, -50%)"},".datepicker-toggle-button:focus":{"color":"#2979ff"},".datepicker-toggle-button:hover":{"color":"#2979ff"},".datepicker-backdrop":{"width":"100%","height":"100%","position":"fixed","top":"0","right":"0","bottom":"0","left":"0","background-color":"rgba(0, 0, 0, 0.4)","z-index":"1065"},".datepicker-dropdown-container":{"width":"328px","height":"380px","background-color":"#fff","border-radius":"0.5rem","box-shadow":"0 10px 15px -3px rgba(0, 0, 0, 0.07), 0 4px 6px -2px rgba(0, 0, 0, 0.05)","z-index":"1066"},".datepicker-modal-container":{"display":"flex","-webkit-flex-direction":"column","-ms-flex-direction":"column","flex-direction":"column","position":"fixed","top":"50%","left":"50%","-webkit-transform":"translate(-50%, -50%)","-ms-transform":"translate(-50%, -50%)","transform":"translate(-50%, -50%)","width":"328px","height":"512px","background-color":"#fff","border-radius":"0.6rem 0.6rem 0.5rem 0.5rem","box-shadow":"0 10px 15px -3px rgba(0, 0, 0, 0.07), 0 4px 6px -2px rgba(0, 0, 0, 0.05)","z-index":"1066"},".datepicker-header":{"height":"120px","padding-right":"24px","padding-left":"24px","background-color":"#2979ff","display":"flex","-webkit-flex-direction":"column","-ms-flex-direction":"column","flex-direction":"column","border-radius":"0.5rem 0.5rem 0 0"},".datepicker-title":{"height":"32px","display":"flex","-webkit-flex-direction":"column","-ms-flex-direction":"column","flex-direction":"column","-webkit-box-pack":"end","-webkit-justify-content":"flex-end","-ms-flex-pack":"end","justify-content":"flex-end"},".datepicker-title-text":{"font-size":"10px","font-weight":"400","-webkit-text-transform":"uppercase","text-transform":"uppercase","letter-spacing":"1.7px","color":"#fff"},".datepicker-date":{"height":"72px","display":"flex","-webkit-flex-direction":"column","-ms-flex-direction":"column","flex-direction":"column","-webkit-box-pack":"end","-webkit-justify-content":"flex-end","-ms-flex-pack":"end","justify-content":"flex-end"},".datepicker-date-text":{"font-size":"34px","font-weight":"400","color":"#fff"},".datepicker-main":{"position":"relative","height":"100%"},".datepicker-date-controls":{"padding":"10px 12px 0 12px","display":"flex","-webkit-box-pack":"space-between","-webkit-justify-content":"space-between","-ms-flex-pack":"space-between","justify-content":"space-between","color":"rgba(0, 0, 0, 0.64)"},".datepicker-arrow":{"display":"inline-block","width":"0","height":"0","border-left":"5px solid transparent","border-right":"5px solid transparent","border-top-width":"5px","border-top-style":"solid","margin":"0 0 0 5px","vertical-align":"middle"},".datepicker-arrow-up":{"display":"inline-block","width":"0","height":"0","border-left":"5px solid transparent","border-right":"5px solid transparent","border-top-width":"5px","border-top-style":"solid","margin":"0 0 0 5px","vertical-align":"middle","-webkit-transform":"rotate(180deg)","-ms-transform":"rotate(180deg)","transform":"rotate(180deg)"},".datepicker-view-change-button":{"padding":"10px","color":"#666","font-weight":"500","font-size":"0.9rem","border-radius":"10px","box-shadow":"none","background-color":"transparent","margin":"0","border":"none"},".datepicker-view-change-button:hover":{"background-color":"#eee"},".datepicker-view-change-button:focus":{"background-color":"#eee"},".datepicker-view-change-button:after":{"content":"\"\"","display":"inline-block","width":"0","height":"0","border-left":"5px solid transparent","border-right":"5px solid transparent","border-top-width":"5px","border-top-style":"solid","margin":"0 0 0 5px","vertical-align":"middle"},".datepicker-arrow-controls":{"margin-top":"10px"},".datepicker-previous-button":{"position":"relative","padding":"0","width":"40px","height":"40px","line-height":"40px","border":"none","outline":"none","margin":"0","color":"rgba(0, 0, 0, 0.64)","background-color":"transparent","margin-right":"24px"},".datepicker-previous-button:hover":{"background-color":"#eee","border-radius":"50%"},".datepicker-previous-button:focus":{"background-color":"#eee","border-radius":"50%"},".datepicker-previous-button::after":{"top":"0","left":"0","right":"0","bottom":"0","position":"absolute","content":"\"\"","margin":"15.5px","border":"0 solid currentColor","border-top-width":"2px","border-left-width":"2px","-webkit-transform":"translateX(2px) rotate(-45deg)","-ms-transform":"translateX(2px) rotate(-45deg)","transform":"translateX(2px) rotate(-45deg)"},".datepicker-next-button":{"position":"relative","padding":"0","width":"40px","height":"40px","line-height":"40px","border":"none","outline":"none","margin":"0","color":"rgba(0, 0, 0, 0.64)","background-color":"transparent"},".datepicker-next-button:hover":{"background-color":"#eee","border-radius":"50%"},".datepicker-next-button:focus":{"background-color":"#eee","border-radius":"50%"},".datepicker-next-button::after":{"top":"0","left":"0","right":"0","bottom":"0","position":"absolute","content":"\"\"","margin":"15.5px","border":"0 solid currentColor","border-top-width":"2px","border-right-width":"2px","-webkit-transform":"translateX(-2px) rotate(45deg)","-ms-transform":"translateX(-2px) rotate(45deg)","transform":"translateX(-2px) rotate(45deg)"},".datepicker-view":{"padding-left":"12px","padding-right":"12px","outline":"none"},".datepicker-table":{"margin-right":"auto","margin-left":"auto","width":"304px"},".datepicker-day-heading":{"width":"40px","height":"40px","-webkit-text-align":"center","text-align":"center","font-size":"12px","font-weight":"400"},".datepicker-cell":{"-webkit-text-align":"center","text-align":"center"},".datepicker-cell.disabled":{"color":"#ccc","cursor":"default","pointer-events":"none"},".datepicker-cell.disabled:hover":{"cursor":"default"},".datepicker-cell:hover":{"cursor":"pointer"},".datepicker-cell:not(.disabled):not(.selected):hover .datepicker-cell-content":{"background-color":"#d3d3d3"},".datepicker-cell.selected .datepicker-cell-content":{"background-color":"#2979ff","color":"#fff"},".datepicker-cell:not(.selected).focused .datepicker-cell-content":{"background-color":"#eee"},".datepicker-cell.focused .datepicker-cell-content.selected":{"background-color":"#2979ff"},".datepicker-cell.current .datepicker-cell-content":{"border":"1px solid #000"},".datepicker-small-cell":{"width":"40px","height":"40px"},".datepicker-small-cell-content":{"width":"36px","height":"36px","line-height":"36px","border-radius":"50%","font-size":"13px"},".datepicker-large-cell":{"width":"76px","height":"42px"},".datepicker-large-cell-content":{"width":"72px","height":"40px","line-height":"40px","padding":"1px 2px","border-radius":"999px"},".datepicker-yearview-content":{"padding-left":"12px","padding-right":"12px"},".datepicker-footer":{"height":"56px","display":"flex","position":"absolute","width":"100%","bottom":"0","-webkit-box-pack":"end","-webkit-justify-content":"flex-end","-ms-flex-pack":"end","justify-content":"flex-end","-webkit-align-items":"center","-webkit-box-align":"center","-ms-flex-align":"center","align-items":"center","padding-left":"12px","padding-right":"12px"},".datepicker-footer-btn":{"background-color":"#fff","color":"#2979ff","border":"none","cursor":"pointer","padding":"0 10px","-webkit-text-transform":"uppercase","text-transform":"uppercase","font-size":"0.8rem","font-weight":"500","height":"40px","line-height":"40px","letter-spacing":"0.1rem","border-radius":"10px","margin-bottom":"10px"},".datepicker-footer-btn:hover":{"background-color":"#eee"},".datepicker-footer-btn:focus":{"background-color":"#eee"},".datepicker-clear-btn":{"margin-right":"auto"},".timepicker-wrapper":{"touch-action":"none","z-index":"1065","opacity":"0","right":"0","bottom":"0","top":"0","left":"0","background-color":"rgba(0, 0, 0, 0.4)"},".timepicker-wrapper-inline":{"border-radius":"0.5rem"},".timepicker-elements":{"min-width":"310px","min-height":"325px","background":"#fff","border-top-right-radius":"0.6rem","border-top-left-radius":"0.6rem"},".timepicker-elements-inline":{"min-height":"auto"},".timepicker-head":{"background-color":"#2979ff","height":"100px","border-top-right-radius":"0.5rem","border-top-left-radius":"0.5rem","padding":"10px 24px 10px 50px"},".timepicker-head-inline":{"padding":"0","border-bottom-right-radius":"0.5rem","border-bottom-left-radius":"0.5rem"},".timepicker-button":{"font-size":"0.8rem","min-width":"64px","box-sizing":"border-box","font-weight":"500","line-height":"40px","border-radius":"10px","letter-spacing":"0.1rem","-webkit-text-transform":"uppercase","text-transform":"uppercase","color":"#2979ff","border":"none","background-color":"transparent","-webkit-transition":"background-color 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms, box-shadow 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms, border 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms","transition":"background-color 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms, box-shadow 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms, border 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms","outline":"none","padding":"0 10px","height":"40px","margin-bottom":"10px"},".timepicker-button:hover":{"background-color":"rgba(0, 0, 0, 0.08)"},".timepicker-button:focus":{"outline":"none","background-color":"rgba(0, 0, 0, 0.08)"},".timepicker-submit-inline":{"border-radius":"100%","height":"48px","min-width":"48px","display":"inline-block","margin-left":"30px","color":"#fff"},".timepicker-current":{"font-size":"3.75rem","font-weight":"300","line-height":"1.2","letter-spacing":"-0.00833em","color":"#fff","opacity":"0.54","border":"none","background":"transparent","padding":"0"},".timepicker-current.active":{"opacity":"1"},".timepicker-current-wrapper":{"direction":"ltr"},".timepicker-mode-wrapper":{"margin-left":"20px","font-size":"18px","color":"rgba(255, 255, 255, 0.54)"},".timepicker-mode-wrapper.active":{"opacity":"1"},".timepicker-clock-wrapper":{"min-width":"310px","max-width":"325px","min-height":"305px","overflow-x":"hidden","height":"100%"},".timepicker-clock":{"position":"relative","border-radius":"100%","width":"260px","height":"260px","cursor":"default","margin":"0 auto","background-color":"rgba(0, 0, 0, 0.07)"},".timepicker-clock-inner":{"position":"absolute","top":"50%","left":"50%","-webkit-transform":"translate(-50%, -50%)","-ms-transform":"translate(-50%, -50%)","transform":"translate(-50%, -50%)","width":"160px","height":"160px","border-radius":"100%"},".timepicker-time-tips-minutes":{"position":"absolute","border-radius":"100%","width":"32px","height":"32px","-webkit-text-align":"center","text-align":"center","cursor":"pointer","font-size":"1.1rem","background-color":"transparent","display":"flex","-webkit-box-pack":"center","-webkit-justify-content":"center","-ms-flex-pack":"center","justify-content":"center","-webkit-align-items":"center","-webkit-box-align":"center","-ms-flex-align":"center","align-items":"center","font-weight":"300"},".timepicker-time-tips-inner":{"position":"absolute","border-radius":"100%","width":"32px","height":"32px","-webkit-text-align":"center","text-align":"center","cursor":"pointer","font-size":"1.1rem","background-color":"transparent","display":"flex","-webkit-box-pack":"center","-webkit-justify-content":"center","-ms-flex-pack":"center","justify-content":"center","-webkit-align-items":"center","-webkit-box-align":"center","-ms-flex-align":"center","align-items":"center","font-weight":"300"},".timepicker-time-tips-hours":{"position":"absolute","border-radius":"100%","width":"32px","height":"32px","-webkit-text-align":"center","text-align":"center","cursor":"pointer","font-size":"1.1rem","background-color":"transparent","display":"flex","-webkit-box-pack":"center","-webkit-justify-content":"center","-ms-flex-pack":"center","justify-content":"center","-webkit-align-items":"center","-webkit-box-align":"center","-ms-flex-align":"center","align-items":"center","font-weight":"300"},".timepicker-time-tips-minutes.active":{"color":"#fff","background-color":"#2979ff","font-weight":"400"},".timepicker-time-tips-inner.active":{"color":"#fff","background-color":"#2979ff","font-weight":"400"},".timepicker-time-tips-hours.active":{"color":"#fff","background-color":"#2979ff","font-weight":"400"},".timepicker-time-tips-minutes:focus":{"outline":"none"},".timepicker-time-tips-inner:focus":{"outline":"none"},".timepicker-time-tips-hours:focus":{"outline":"none"},".timepicker-time-tips-minutes.disabled":{"color":"#b3afaf","pointer-events":"none","background-color":"transparent"},".timepicker-time-tips-inner.disabled":{"color":"#b3afaf","pointer-events":"none","background-color":"transparent"},".timepicker-time-tips-hours.disabled":{"color":"#b3afaf","pointer-events":"none","background-color":"transparent"},".timepicker-time-tips-minutes::selection":{"background-color":"transparent"},".timepicker-time-tips-inner::selection":{"background-color":"transparent"},".timepicker-time-tips-hours::selection":{"background-color":"transparent"},".timepicker-dot":{"font-weight":"300","line-height":"1.2","letter-spacing":"-0.00833em","color":"#fff","font-size":"3.75rem","opacity":"0.54","border":"none","background":"transparent","padding":"0"},".timepicker-current-inline":{"font-size":"2.5rem"},".timepicker-item":{"position":"absolute","border-radius":"100%","width":"20px","height":"20px","-webkit-text-align":"center","text-align":"center","padding":"10px","-webkit-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none","cursor":"default","font-size":"1.1em","z-index":"3"},".timepicker-middle-dot":{"top":"50%","left":"50%","width":"6px","height":"6px","-webkit-transform":"translate(-50%, -50%)","-ms-transform":"translate(-50%, -50%)","transform":"translate(-50%, -50%)","border-radius":"50%","background-color":"#2979ff"},".timepicker-hand-pointer":{"background-color":"#2979ff","bottom":"50%","height":"40%","left":"calc(50% - 1px)","-webkit-transform-origin":"center bottom 0","-ms-transform-origin":"center bottom 0","transform-origin":"center bottom 0","width":"2px"},".timepicker-transform":{"-webkit-transition":"transform 400ms cubic-bezier(0.4, 0, 0.2, 1) 0ms, height 400ms cubic-bezier(0.4, 0, 0.2, 1) 0ms","transition":"transform 400ms cubic-bezier(0.4, 0, 0.2, 1) 0ms, height 400ms cubic-bezier(0.4, 0, 0.2, 1) 0ms"},".timepicker-time-tips":{"position":"absolute","border-radius":"100%","width":"32px","height":"32px","-webkit-text-align":"center","text-align":"center","cursor":"pointer","font-size":"1.1rem"},".timepicker-time-tips.active":{"color":"#fff"},".timepicker-circle":{"top":"-21px","left":"-15px","width":"4px","border":"14px solid #2979ff","height":"4px","box-sizing":"content-box","border-radius":"100%"},".timepicker-hour-mode":{"padding":"0","background-color":"transparent","border":"none","color":"#fff","opacity":"0.54","cursor":"pointer"},".timepicker-hour":{"cursor":"pointer"},".timepicker-minute":{"cursor":"pointer"},".timepicker-hour-mode:hover":{"background-color":"rgba(0, 0, 0, 0.15)","outline":"none"},".timepicker-hour-mode:focus":{"background-color":"rgba(0, 0, 0, 0.15)","outline":"none"},".timepicker-hour:hover":{"background-color":"rgba(0, 0, 0, 0.15)","outline":"none"},".timepicker-hour:focus":{"background-color":"rgba(0, 0, 0, 0.15)","outline":"none"},".timepicker-minute:hover":{"background-color":"rgba(0, 0, 0, 0.15)","outline":"none"},".timepicker-minute:focus":{"background-color":"rgba(0, 0, 0, 0.15)","outline":"none"},".timepicker-hour-mode.active":{"color":"#fff","opacity":"1"},".timepicker-hour.active":{"color":"#fff","opacity":"1"},".timepicker-minute.active":{"color":"#fff","opacity":"1"},".timepicker-hour-mode-current-inline":{"font-size":"2.5rem"},".timepicker-hour-current-inline":{"font-size":"2.5rem"},".timepicker-minute-current-inline":{"font-size":"2.5rem"},".timepicker-footer":{"border-bottom-left-radius":"0.5rem","border-bottom-right-radius":"0.5rem","display":"flex","-webkit-box-pack":"space-between","-webkit-justify-content":"space-between","-ms-flex-pack":"space-between","justify-content":"space-between","-webkit-align-items":"center","-webkit-box-align":"center","-ms-flex-align":"center","align-items":"center","width":"100%","height":"56px","padding-left":"12px","padding-right":"12px","background-color":"#fff"},".timepicker-container":{"max-height":"calc(100% - 64px)","overflow-y":"auto","box-shadow":"0 10px 15px -3px rgba(0, 0, 0, 0.07), 0 4px 6px -2px rgba(0, 0, 0, 0.05)"},".timepicker-icon-up":{"opacity":"0","-webkit-transition":"0.2s ease all","transition":"0.2s ease all","cursor":"pointer","-webkit-transform":"translate(-50%, -50%)","-ms-transform":"translate(-50%, -50%)","transform":"translate(-50%, -50%)","left":"50%","width":"30px","height":"30px","display":"flex","-webkit-box-pack":"center","-webkit-justify-content":"center","-ms-flex-pack":"center","justify-content":"center","-webkit-align-items":"center","-webkit-box-align":"center","-ms-flex-align":"center","align-items":"center","top":"-35px"},".timepicker-icon-down":{"opacity":"0","-webkit-transition":"0.2s ease all","transition":"0.2s ease all","cursor":"pointer","-webkit-transform":"translate(-50%, -50%)","-ms-transform":"translate(-50%, -50%)","transform":"translate(-50%, -50%)","left":"50%","width":"30px","height":"30px","display":"flex","-webkit-box-pack":"center","-webkit-justify-content":"center","-ms-flex-pack":"center","justify-content":"center","-webkit-align-items":"center","-webkit-box-align":"center","-ms-flex-align":"center","align-items":"center","bottom":"-47px"},".timepicker-icon-up.active":{"opacity":"1"},".timepicker-icon-up:hover":{"opacity":"1"},".timepicker-icon-down.active":{"opacity":"1"},".timepicker-icon-down:hover":{"opacity":"1"},".timepicker-inline-hour-icons button":{"opacity":"1 !important","cursor":"default"},".timepicker-inline-minutes-icons button":{"opacity":"1 !important","cursor":"default"},".timepicker-inline-hour-icons button:hover":{"background-color":"unset !important"},".timepicker-inline-minutes-icons button:hover":{"background-color":"unset !important"},".timepicker-clock-animation":{"-webkit-animation":"_show-up-clock 350ms linear","animation":"_show-up-clock 350ms linear"},".timepicker-icon-btn":{"width":"30px","height":"30px"},".timepicker-toggle-button":{"position":"absolute","outline":"none","border":"none","background-color":"transparent","right":"10px","top":"50%","-webkit-transform":"translate(-50%, -50%)","-ms-transform":"translate(-50%, -50%)","transform":"translate(-50%, -50%)","-webkit-transition":"all 0.3s ease","transition":"all 0.3s ease","cursor":"pointer"},".timepicker-toggle-button:hover":{"color":"#2979ff"},".timepicker-toggle-button:focus":{"color":"#2979ff"},".timepicker-input:focus + .timepicker-toggle-button":{"color":"#2979ff"},".timepicker-input:focus + .timepicker-toggle-button i":{"color":"#2979ff"},".timepicker a.timepicker-toggle-button":{"right":"1px"},".timepicker-toggle-button.timepicker-icon":{"right":"1px"},".justify-content-evenly":{"-webkit-box-pack":"space-evenly","-webkit-justify-content":"space-evenly","-ms-flex-pack":"space-evenly","justify-content":"space-evenly"},".timepicker-modal":{"z-index":"1065","position":"fixed","top":"0","left":"0","width":"100%","height":"100%"},".timepicker-modal .fade.show":{"opacity":"1"},".stepper":{"position":"relative","padding":"0","margin":"0","width":"100%","list-style":"none","overflow":"hidden","-webkit-transition":"height 0.2s ease-in-out","transition":"height 0.2s ease-in-out"},".stepper:not(.stepper-vertical)":{"display":"flex","-webkit-box-pack":"space-between","-webkit-justify-content":"space-between","-ms-flex-pack":"space-between","justify-content":"space-between"},".stepper:not(.stepper-vertical) .stepper-content":{"position":"absolute","width":"100%","padding":"1rem"},".stepper:not(.stepper-vertical) .stepper-step":{"-webkit-flex":"auto","-ms-flex":"auto","flex":"auto","height":"4.5rem"},".stepper:not(.stepper-vertical) .stepper-step:first-child .stepper-head":{"padding-left":"1.5rem"},".stepper:not(.stepper-vertical) .stepper-step:last-child .stepper-head":{"padding-right":"1.5rem"},".stepper:not(.stepper-vertical) .stepper-step:not(:first-child) .stepper-head:before":{"-webkit-flex":"1","-ms-flex":"1","flex":"1","height":"1px","width":"100%","margin-right":"0.5rem","content":"\"\"","background-color":"rgba(0, 0, 0, 0.1)"},".stepper:not(.stepper-vertical) .stepper-step:not(:last-child) .stepper-head:after":{"-webkit-flex":"1","-ms-flex":"1","flex":"1","height":"1px","width":"100%","margin-left":"0.5rem","content":"\"\"","background-color":"rgba(0, 0, 0, 0.1)"},".stepper:not(.stepper-vertical) .stepper-head-icon":{"margin":"1.5rem 0.5rem 1.5rem 0"},".stepper-vertical .stepper-step":{"height":"fit-content","position":"relative"},".stepper-vertical .stepper-step:not(:last-child):after":{"position":"absolute","left":"2.25rem","height":"calc(100% - 2.45rem)","top":"3rem","width":"1px","margin-top":"0.5rem","content":"\"\"","background-color":"rgba(0, 0, 0, 0.1)"},".stepper-vertical .stepper-content":{"overflow":"hidden","padding":"1rem 1.5rem 1.5rem 3.75rem","-webkit-transition":"height 0.3s ease-in-out, margin-top 0.3s ease-in-out, margin-bottom 0.3s ease-in-out, padding-top 0.3s ease-in-out, padding-bottom 0.3s ease-in-out","transition":"height 0.3s ease-in-out, margin-top 0.3s ease-in-out, margin-bottom 0.3s ease-in-out, padding-top 0.3s ease-in-out, padding-bottom 0.3s ease-in-out"},".stepper-vertical .stepper-content-hide":{"margin-top":"0 !important","margin-bottom":"0 !important","padding-top":"0 !important","padding-bottom":"0 !important","height":"0 !important"},".stepper-vertical .stepper-head":{"padding":"1.5rem"},".stepper-vertical .stepper-head-icon":{"margin-right":"0.75rem"},".stepper-vertical .stepper-head-text:after":{"position":"absolute"},".stepper.stepper-mobile":{"-webkit-box-pack":"center","-webkit-justify-content":"center","-ms-flex-pack":"center","justify-content":"center","-webkit-align-items":"flex-end","-webkit-box-align":"flex-end","-ms-flex-align":"flex-end","align-items":"flex-end"},".stepper.stepper-mobile.stepper-progress-bar .stepper-head-icon":{"display":"none"},".stepper.stepper-mobile .stepper-step":{"-webkit-flex":"unset","-ms-flex":"unset","flex":"unset","height":"fit-content","margin":"1rem 0 1rem 0"},".stepper.stepper-mobile .stepper-step:not(:last-child) .stepper-head:after":{"margin-left":"0"},".stepper.stepper-mobile .stepper-step:not(:first-child) .stepper-head:before":{"margin-right":"0"},".stepper.stepper-mobile .stepper-step:not(:last-child):not(:first-child) .stepper-head":{"padding-left":"0.25rem","padding-right":"0.25rem"},".stepper.stepper-mobile .stepper-head-icon":{"font-size":"0","margin":"0","height":"0.5rem","width":"0.5rem","z-index":"1"},".stepper.stepper-mobile .stepper-head-text":{"display":"none"},".stepper.stepper-mobile .stepper-content":{"top":"2.56rem"},".stepper-form":{"display":"inherit","-webkit-box-pack":"inherit","-webkit-justify-content":"inherit","-ms-flex-pack":"inherit","justify-content":"inherit","width":"inherit","position":"inherit"},".stepper-content":{"left":"0"},".stepper-head":{"display":"flex","-webkit-align-items":"center","-webkit-box-align":"center","-ms-flex-align":"center","align-items":"center","-webkit-text-decoration":"none","text-decoration":"none","color":"unset","line-height":"1.3","cursor":"pointer"},".stepper-head:hover":{"background-color":"#dbdbdb"},".stepper-head:focus":{"outline":"none"},".stepper-head-text:after":{"display":"flex","font-size":"0.8rem","content":"attr(data-content)"},".stepper-head-icon":{"display":"flex","-webkit-box-pack":"center","-webkit-justify-content":"center","-ms-flex-pack":"center","justify-content":"center","-webkit-align-items":"center","-webkit-box-align":"center","-ms-flex-align":"center","align-items":"center","color":"white","background-color":"gray","border-radius":"100%","font-size":"0.875rem","width":"1.5rem","height":"1.5rem"},".stepper-completed .stepper-head-icon":{"background-color":"#198754"},".stepper-active .stepper-head-text":{"font-weight":"500"},".stepper-active .stepper-content":{"display":"block"},".stepper-active .stepper-head-icon":{"background-color":"#0d6efd"},".stepper-invalid .stepper-head-icon":{"background-color":"#dc3545"},".stepper-disabled .stepper-head":{"color":"#858585","cursor":"default"},".stepper-disabled .stepper-head-icon":{"background-color":"#858585"},".stepper-mobile-head":{"position":"absolute","-ms-flex-item-align":"normal","align-self":"normal","height":"fit-content","width":"100%","padding":"0.5rem 1rem 0.5rem 1rem"},".stepper-mobile-footer":{"position":"absolute","display":"flex","-webkit-box-pack":"space-between","-webkit-justify-content":"space-between","-ms-flex-pack":"space-between","justify-content":"space-between","-webkit-align-items":"center","-webkit-box-align":"center","-ms-flex-align":"center","align-items":"center","width":"100%","height":"2.5rem"},".stepper-back-btn":{"display":"block","left":"0"},".stepper-back-btn .btn-link":{"color":"unset"},".stepper-back-btn i":{"margin-right":"0.5rem"},".stepper-next-btn":{"display":"block","right":"0"},".stepper-next-btn .btn-link":{"color":"unset"},".stepper-next-btn i":{"margin-left":"0.5rem"},".stepper-mobile-progress-bar":{"height":"0.3rem","width":"0"},".stepper-mobile-progress":{"height":"0.3rem","-webkit-flex-grow":"100","-ms-flex-grow":"100","flex-grow":"100","background-color":"#dee2e6"},".stepper-horizontal":{"overflow-x":"hidden"},".collapse":{"visibility":"visible !important"},"@media (prefers-reduced-motion: reduce)":{".form-control::file-selector-button":{"-webkit-transition":"none","transition":"none"},".form-control::-webkit-file-upload-button":{"-webkit-transition":"none","transition":"none"},".form-switch .form-check-input":{"-webkit-transition":"none","transition":"none"},".form-range::-webkit-slider-thumb":{"-webkit-transition":"none","transition":"none"},".form-range::-moz-range-thumb":{"-webkit-transition":"none","transition":"none"},".form-floating > label":{"-webkit-transition":"none","transition":"none"},".fade":{"-webkit-transition":"none","transition":"none"},".collapsing":{"-webkit-transition":"none","transition":"none"},".collapsing.collapse-horizontal":{"-webkit-transition":"none","transition":"none"},".accordion-button::after":{"-webkit-transition":"none","transition":"none"},".modal.fade .modal-dialog":{"-webkit-transition":"none","transition":"none"},".carousel-item":{"-webkit-transition":"none","transition":"none"},".carousel-fade .active.carousel-item-start":{"-webkit-transition":"none","transition":"none"},".carousel-fade .active.carousel-item-end":{"-webkit-transition":"none","transition":"none"},".carousel-control-prev":{"-webkit-transition":"none","transition":"none"},".carousel-control-next":{"-webkit-transition":"none","transition":"none"},".carousel-indicators [data-bs-target]":{"-webkit-transition":"none","transition":"none"},".spinner-border":{"-webkit-animation-duration":"1.5s","animation-duration":"1.5s"},".spinner-grow":{"-webkit-animation-duration":"1.5s","animation-duration":"1.5s"}},"@media (min-width: 576px)":{".navbar-expand-sm":{"-webkit-flex-wrap":"nowrap","-ms-flex-wrap":"nowrap","flex-wrap":"nowrap","-webkit-box-pack":"start","-webkit-justify-content":"flex-start","-ms-flex-pack":"start","justify-content":"flex-start"},".navbar-expand-sm .navbar-nav":{"-webkit-flex-direction":"row","-ms-flex-direction":"row","flex-direction":"row"},".navbar-expand-sm .navbar-nav .dropdown-menu":{"position":"absolute"},".navbar-expand-sm .navbar-nav .nav-link":{"padding-right":"0.5rem","padding-left":"0.5rem"},".navbar-expand-sm .navbar-nav-scroll":{"overflow":"visible"},".navbar-expand-sm .navbar-collapse":{"display":"flex !important","-webkit-flex-basis":"auto","-ms-flex-basis":"auto","flex-basis":"auto"},".navbar-expand-sm .navbar-toggler":{"display":"none"},".navbar-expand-sm .offcanvas-header":{"display":"none"},".navbar-expand-sm .offcanvas":{"position":"inherit","bottom":"0","z-index":"1000","-webkit-flex-grow":"1","-ms-flex-grow":"1","flex-grow":"1","visibility":"visible !important","background-color":"transparent","border-right":"0","border-left":"0","-webkit-transition":"none","transition":"none","-webkit-transform":"none","-ms-transform":"none","transform":"none"},".navbar-expand-sm .offcanvas-top":{"height":"auto","border-top":"0","border-bottom":"0"},".navbar-expand-sm .offcanvas-bottom":{"height":"auto","border-top":"0","border-bottom":"0"},".navbar-expand-sm .offcanvas-body":{"display":"flex","-webkit-flex-grow":"0","-ms-flex-grow":"0","flex-grow":"0","padding":"0","overflow-y":"visible"},".modal-dialog":{"max-width":"500px","margin":"1.75rem auto"},".modal-dialog-scrollable":{"height":"calc(100% - 3.5rem)"},".modal-dialog-centered":{"min-height":"calc(100% - 3.5rem)"},".modal-sm":{"max-width":"300px"},".sticky-sm-top":{"position":"sticky","top":"0","z-index":"1020"}},"@media (min-width: 768px)":{".navbar-expand-md":{"-webkit-flex-wrap":"nowrap","-ms-flex-wrap":"nowrap","flex-wrap":"nowrap","-webkit-box-pack":"start","-webkit-justify-content":"flex-start","-ms-flex-pack":"start","justify-content":"flex-start"},".navbar-expand-md .navbar-nav":{"-webkit-flex-direction":"row","-ms-flex-direction":"row","flex-direction":"row"},".navbar-expand-md .navbar-nav .dropdown-menu":{"position":"absolute"},".navbar-expand-md .navbar-nav .nav-link":{"padding-right":"0.5rem","padding-left":"0.5rem"},".navbar-expand-md .navbar-nav-scroll":{"overflow":"visible"},".navbar-expand-md .navbar-collapse":{"display":"flex !important","-webkit-flex-basis":"auto","-ms-flex-basis":"auto","flex-basis":"auto"},".navbar-expand-md .navbar-toggler":{"display":"none"},".navbar-expand-md .offcanvas-header":{"display":"none"},".navbar-expand-md .offcanvas":{"position":"inherit","bottom":"0","z-index":"1000","-webkit-flex-grow":"1","-ms-flex-grow":"1","flex-grow":"1","visibility":"visible !important","background-color":"transparent","border-right":"0","border-left":"0","-webkit-transition":"none","transition":"none","-webkit-transform":"none","-ms-transform":"none","transform":"none"},".navbar-expand-md .offcanvas-top":{"height":"auto","border-top":"0","border-bottom":"0"},".navbar-expand-md .offcanvas-bottom":{"height":"auto","border-top":"0","border-bottom":"0"},".navbar-expand-md .offcanvas-body":{"display":"flex","-webkit-flex-grow":"0","-ms-flex-grow":"0","flex-grow":"0","padding":"0","overflow-y":"visible"},".sticky-md-top":{"position":"sticky","top":"0","z-index":"1020"}},"@media (min-width: 992px)":{".navbar-expand-lg":{"-webkit-flex-wrap":"nowrap","-ms-flex-wrap":"nowrap","flex-wrap":"nowrap","-webkit-box-pack":"start","-webkit-justify-content":"flex-start","-ms-flex-pack":"start","justify-content":"flex-start"},".navbar-expand-lg .navbar-nav":{"-webkit-flex-direction":"row","-ms-flex-direction":"row","flex-direction":"row"},".navbar-expand-lg .navbar-nav .dropdown-menu":{"position":"absolute"},".navbar-expand-lg .navbar-nav .nav-link":{"padding-right":"0.5rem","padding-left":"0.5rem"},".navbar-expand-lg .navbar-nav-scroll":{"overflow":"visible"},".navbar-expand-lg .navbar-collapse":{"display":"flex !important","-webkit-flex-basis":"auto","-ms-flex-basis":"auto","flex-basis":"auto"},".navbar-expand-lg .navbar-toggler":{"display":"none"},".navbar-expand-lg .offcanvas-header":{"display":"none"},".navbar-expand-lg .offcanvas":{"position":"inherit","bottom":"0","z-index":"1000","-webkit-flex-grow":"1","-ms-flex-grow":"1","flex-grow":"1","visibility":"visible !important","background-color":"transparent","border-right":"0","border-left":"0","-webkit-transition":"none","transition":"none","-webkit-transform":"none","-ms-transform":"none","transform":"none"},".navbar-expand-lg .offcanvas-top":{"height":"auto","border-top":"0","border-bottom":"0"},".navbar-expand-lg .offcanvas-bottom":{"height":"auto","border-top":"0","border-bottom":"0"},".navbar-expand-lg .offcanvas-body":{"display":"flex","-webkit-flex-grow":"0","-ms-flex-grow":"0","flex-grow":"0","padding":"0","overflow-y":"visible"},".modal-lg":{"max-width":"800px"},".modal-xl":{"max-width":"800px"},".sticky-lg-top":{"position":"sticky","top":"0","z-index":"1020"}},"@media (min-width: 1200px)":{".navbar-expand-xl":{"-webkit-flex-wrap":"nowrap","-ms-flex-wrap":"nowrap","flex-wrap":"nowrap","-webkit-box-pack":"start","-webkit-justify-content":"flex-start","-ms-flex-pack":"start","justify-content":"flex-start"},".navbar-expand-xl .navbar-nav":{"-webkit-flex-direction":"row","-ms-flex-direction":"row","flex-direction":"row"},".navbar-expand-xl .navbar-nav .dropdown-menu":{"position":"absolute"},".navbar-expand-xl .navbar-nav .nav-link":{"padding-right":"0.5rem","padding-left":"0.5rem"},".navbar-expand-xl .navbar-nav-scroll":{"overflow":"visible"},".navbar-expand-xl .navbar-collapse":{"display":"flex !important","-webkit-flex-basis":"auto","-ms-flex-basis":"auto","flex-basis":"auto"},".navbar-expand-xl .navbar-toggler":{"display":"none"},".navbar-expand-xl .offcanvas-header":{"display":"none"},".navbar-expand-xl .offcanvas":{"position":"inherit","bottom":"0","z-index":"1000","-webkit-flex-grow":"1","-ms-flex-grow":"1","flex-grow":"1","visibility":"visible !important","background-color":"transparent","border-right":"0","border-left":"0","-webkit-transition":"none","transition":"none","-webkit-transform":"none","-ms-transform":"none","transform":"none"},".navbar-expand-xl .offcanvas-top":{"height":"auto","border-top":"0","border-bottom":"0"},".navbar-expand-xl .offcanvas-bottom":{"height":"auto","border-top":"0","border-bottom":"0"},".navbar-expand-xl .offcanvas-body":{"display":"flex","-webkit-flex-grow":"0","-ms-flex-grow":"0","flex-grow":"0","padding":"0","overflow-y":"visible"},".modal-xl":{"max-width":"1140px"},".sticky-xl-top":{"position":"sticky","top":"0","z-index":"1020"}},"@media (min-width: 1400px)":{".navbar-expand-xxl":{"-webkit-flex-wrap":"nowrap","-ms-flex-wrap":"nowrap","flex-wrap":"nowrap","-webkit-box-pack":"start","-webkit-justify-content":"flex-start","-ms-flex-pack":"start","justify-content":"flex-start"},".navbar-expand-xxl .navbar-nav":{"-webkit-flex-direction":"row","-ms-flex-direction":"row","flex-direction":"row"},".navbar-expand-xxl .navbar-nav .dropdown-menu":{"position":"absolute"},".navbar-expand-xxl .navbar-nav .nav-link":{"padding-right":"0.5rem","padding-left":"0.5rem"},".navbar-expand-xxl .navbar-nav-scroll":{"overflow":"visible"},".navbar-expand-xxl .navbar-collapse":{"display":"flex !important","-webkit-flex-basis":"auto","-ms-flex-basis":"auto","flex-basis":"auto"},".navbar-expand-xxl .navbar-toggler":{"display":"none"},".navbar-expand-xxl .offcanvas-header":{"display":"none"},".navbar-expand-xxl .offcanvas":{"position":"inherit","bottom":"0","z-index":"1000","-webkit-flex-grow":"1","-ms-flex-grow":"1","flex-grow":"1","visibility":"visible !important","background-color":"transparent","border-right":"0","border-left":"0","-webkit-transition":"none","transition":"none","-webkit-transform":"none","-ms-transform":"none","transform":"none"},".navbar-expand-xxl .offcanvas-top":{"height":"auto","border-top":"0","border-bottom":"0"},".navbar-expand-xxl .offcanvas-bottom":{"height":"auto","border-top":"0","border-bottom":"0"},".navbar-expand-xxl .offcanvas-body":{"display":"flex","-webkit-flex-grow":"0","-ms-flex-grow":"0","flex-grow":"0","padding":"0","overflow-y":"visible"},".sticky-xxl-top":{"position":"sticky","top":"0","z-index":"1020"}},"@media (max-width: 575.98px)":{".modal-fullscreen-sm-down":{"width":"100vw","max-width":"none","height":"100%","margin":"0"},".modal-fullscreen-sm-down .modal-content":{"height":"100%","border":"0","border-radius":"0"},".modal-fullscreen-sm-down .modal-header":{"border-radius":"0"},".modal-fullscreen-sm-down .modal-body":{"overflow-y":"auto"},".modal-fullscreen-sm-down .modal-footer":{"border-radius":"0"}},"@media (max-width: 767.98px)":{".modal-fullscreen-md-down":{"width":"100vw","max-width":"none","height":"100%","margin":"0"},".modal-fullscreen-md-down .modal-content":{"height":"100%","border":"0","border-radius":"0"},".modal-fullscreen-md-down .modal-header":{"border-radius":"0"},".modal-fullscreen-md-down .modal-body":{"overflow-y":"auto"},".modal-fullscreen-md-down .modal-footer":{"border-radius":"0"}},"@media (max-width: 991.98px)":{".modal-fullscreen-lg-down":{"width":"100vw","max-width":"none","height":"100%","margin":"0"},".modal-fullscreen-lg-down .modal-content":{"height":"100%","border":"0","border-radius":"0"},".modal-fullscreen-lg-down .modal-header":{"border-radius":"0"},".modal-fullscreen-lg-down .modal-body":{"overflow-y":"auto"},".modal-fullscreen-lg-down .modal-footer":{"border-radius":"0"}},"@media (max-width: 1199.98px)":{".modal-fullscreen-xl-down":{"width":"100vw","max-width":"none","height":"100%","margin":"0"},".modal-fullscreen-xl-down .modal-content":{"height":"100%","border":"0","border-radius":"0"},".modal-fullscreen-xl-down .modal-header":{"border-radius":"0"},".modal-fullscreen-xl-down .modal-body":{"overflow-y":"auto"},".modal-fullscreen-xl-down .modal-footer":{"border-radius":"0"}},"@media (max-width: 1399.98px)":{".modal-fullscreen-xxl-down":{"width":"100vw","max-width":"none","height":"100%","margin":"0"},".modal-fullscreen-xxl-down .modal-content":{"height":"100%","border":"0","border-radius":"0"},".modal-fullscreen-xxl-down .modal-header":{"border-radius":"0"},".modal-fullscreen-xxl-down .modal-body":{"overflow-y":"auto"},".modal-fullscreen-xxl-down .modal-footer":{"border-radius":"0"}},"@media (prefers-reduced-motion)":{".animation":{"-webkit-transition":"none !important","transition":"none !important","-webkit-animation":"unset !important","animation":"unset !important"}},"@media screen and (min-width: 320px) and (max-width: 820px) and (orientation: landscape)":{".datepicker-modal-container .datepicker-header":{"height":"100%"},".datepicker-modal-container .datepicker-date":{"margin-top":"100px"},".datepicker-modal-container .datepicker-day-cell":{"width":"32x","height":"32x"},".datepicker-modal-container":{"-webkit-flex-direction":"row","-ms-flex-direction":"row","flex-direction":"row","width":"475px","height":"360px"},".datepicker-modal-container.datepicker-day-cell":{"width":"36px","height":"36px"}},"@media screen and (min-width: 320px) and (max-width: 825px) and (orientation: landscape)":{".timepicker-elements":{"-webkit-flex-direction":"row !important","-ms-flex-direction":"row !important","flex-direction":"row !important","border-bottom-left-radius":"0.5rem","min-width":"auto","min-height":"auto","overflow-y":"auto"},".timepicker-head":{"border-top-right-radius":"0","border-bottom-left-radius":"0","padding":"10px","padding-right":"10px !important","height":"auto","min-height":"305px"},".timepicker-head-content":{"-webkit-flex-direction":"column","-ms-flex-direction":"column","flex-direction":"column"},".timepicker-mode-wrapper":{"-webkit-box-pack":"space-around !important","-webkit-justify-content":"space-around !important","-ms-flex-pack":"space-around !important","justify-content":"space-around !important","-webkit-flex-direction":"row !important","-ms-flex-direction":"row !important","flex-direction":"row !important"},".timepicker-current":{"font-size":"3rem","font-weight":"400"},".timepicker-dot":{"font-size":"3rem","font-weight":"400"}},"@media (max-width: 576px)":{".stepper-horizontal":{"overflow-x":"auto"}},"@keyframes _spinner-grow":{"0%":{"-webkit-transform":"scale(0)","-ms-transform":"scale(0)","transform":"scale(0)"},"50%":{"opacity":"1","-webkit-transform":"none","-ms-transform":"none","transform":"none"}},"@keyframes _fade-in":{"from":{"opacity":"0"},"to":{"opacity":"1"}},"@keyframes _fade-out":{"from":{"opacity":"1"},"to":{"opacity":"0"}},"@keyframes _fade-in-down":{"from":{"opacity":"0","-webkit-transform":"translate3d(0, -100%, 0)","-ms-transform":"translate3d(0, -100%, 0)","transform":"translate3d(0, -100%, 0)"},"to":{"opacity":"1","-webkit-transform":"translate3d(0, 0, 0)","-ms-transform":"translate3d(0, 0, 0)","transform":"translate3d(0, 0, 0)"}},"@keyframes _fade-in-left":{"from":{"opacity":"0","-webkit-transform":"translate3d(-100%, 0, 0)","-ms-transform":"translate3d(-100%, 0, 0)","transform":"translate3d(-100%, 0, 0)"},"to":{"opacity":"1","-webkit-transform":"translate3d(0, 0, 0)","-ms-transform":"translate3d(0, 0, 0)","transform":"translate3d(0, 0, 0)"}},"@keyframes _fade-in-right":{"from":{"opacity":"0","-webkit-transform":"translate3d(100%, 0, 0)","-ms-transform":"translate3d(100%, 0, 0)","transform":"translate3d(100%, 0, 0)"},"to":{"opacity":"1","-webkit-transform":"translate3d(0, 0, 0)","-ms-transform":"translate3d(0, 0, 0)","transform":"translate3d(0, 0, 0)"}},"@keyframes _fade-in-up":{"from":{"opacity":"0","-webkit-transform":"translate3d(0, 100%, 0)","-ms-transform":"translate3d(0, 100%, 0)","transform":"translate3d(0, 100%, 0)"},"to":{"opacity":"1","-webkit-transform":"translate3d(0, 0, 0)","-ms-transform":"translate3d(0, 0, 0)","transform":"translate3d(0, 0, 0)"}},"@keyframes _fade-out-down":{"from":{"opacity":"1"},"to":{"opacity":"0","-webkit-transform":"translate3d(0, 100%, 0)","-ms-transform":"translate3d(0, 100%, 0)","transform":"translate3d(0, 100%, 0)"}},"@keyframes _fade-out-left":{"from":{"opacity":"1"},"to":{"opacity":"0","-webkit-transform":"translate3d(-100%, 0, 0)","-ms-transform":"translate3d(-100%, 0, 0)","transform":"translate3d(-100%, 0, 0)"}},"@keyframes _fade-out-right":{"from":{"opacity":"1"},"to":{"opacity":"0","-webkit-transform":"translate3d(100%, 0, 0)","-ms-transform":"translate3d(100%, 0, 0)","transform":"translate3d(100%, 0, 0)"}},"@keyframes _fade-out-up":{"from":{"opacity":"1"},"to":{"opacity":"0","-webkit-transform":"translate3d(0, -100%, 0)","-ms-transform":"translate3d(0, -100%, 0)","transform":"translate3d(0, -100%, 0)"}},"@keyframes _slide-in-down":{"from":{"visibility":"visible","-webkit-transform":"translate3d(0, -100%, 0)","-ms-transform":"translate3d(0, -100%, 0)","transform":"translate3d(0, -100%, 0)"},"to":{"-webkit-transform":"translate3d(0, 0, 0)","-ms-transform":"translate3d(0, 0, 0)","transform":"translate3d(0, 0, 0)"}},"@keyframes _slide-in-left":{"from":{"visibility":"visible","-webkit-transform":"translate3d(-100%, 0, 0)","-ms-transform":"translate3d(-100%, 0, 0)","transform":"translate3d(-100%, 0, 0)"},"to":{"-webkit-transform":"translate3d(0, 0, 0)","-ms-transform":"translate3d(0, 0, 0)","transform":"translate3d(0, 0, 0)"}},"@keyframes _slide-in-right":{"from":{"visibility":"visible","-webkit-transform":"translate3d(100%, 0, 0)","-ms-transform":"translate3d(100%, 0, 0)","transform":"translate3d(100%, 0, 0)"},"to":{"-webkit-transform":"translate3d(0, 0, 0)","-ms-transform":"translate3d(0, 0, 0)","transform":"translate3d(0, 0, 0)"}},"@keyframes _slide-in-up":{"from":{"visibility":"visible","-webkit-transform":"translate3d(0, 100%, 0)","-ms-transform":"translate3d(0, 100%, 0)","transform":"translate3d(0, 100%, 0)"},"to":{"-webkit-transform":"translate3d(0, 0, 0)","-ms-transform":"translate3d(0, 0, 0)","transform":"translate3d(0, 0, 0)"}},"@keyframes _slide-out-down":{"from":{"-webkit-transform":"translate3d(0, 0, 0)","-ms-transform":"translate3d(0, 0, 0)","transform":"translate3d(0, 0, 0)"},"to":{"visibility":"hidden","-webkit-transform":"translate3d(0, 100%, 0)","-ms-transform":"translate3d(0, 100%, 0)","transform":"translate3d(0, 100%, 0)"}},"@keyframes _slide-out-left":{"from":{"-webkit-transform":"translate3d(0, 0, 0)","-ms-transform":"translate3d(0, 0, 0)","transform":"translate3d(0, 0, 0)"},"to":{"visibility":"hidden","-webkit-transform":"translate3d(-100%, 0, 0)","-ms-transform":"translate3d(-100%, 0, 0)","transform":"translate3d(-100%, 0, 0)"}},"@keyframes _slide-out-right":{"from":{"-webkit-transform":"translate3d(0, 0, 0)","-ms-transform":"translate3d(0, 0, 0)","transform":"translate3d(0, 0, 0)"},"to":{"visibility":"hidden","-webkit-transform":"translate3d(100%, 0, 0)","-ms-transform":"translate3d(100%, 0, 0)","transform":"translate3d(100%, 0, 0)"}},"@keyframes _slide-out-up":{"from":{"-webkit-transform":"translate3d(0, 0, 0)","-ms-transform":"translate3d(0, 0, 0)","transform":"translate3d(0, 0, 0)"},"to":{"visibility":"hidden","-webkit-transform":"translate3d(0, -100%, 0)","-ms-transform":"translate3d(0, -100%, 0)","transform":"translate3d(0, -100%, 0)"}},"@keyframes _slide-down":{"from":{"-webkit-transform":"translate3d(0, 0, 0)","-ms-transform":"translate3d(0, 0, 0)","transform":"translate3d(0, 0, 0)"},"to":{"-webkit-transform":"translate3d(0, 100%, 0)","-ms-transform":"translate3d(0, 100%, 0)","transform":"translate3d(0, 100%, 0)"}},"@keyframes _slide-left":{"from":{"-webkit-transform":"translate3d(0, 0, 0)","-ms-transform":"translate3d(0, 0, 0)","transform":"translate3d(0, 0, 0)"},"to":{"-webkit-transform":"translate3d(-100%, 0, 0)","-ms-transform":"translate3d(-100%, 0, 0)","transform":"translate3d(-100%, 0, 0)"}},"@keyframes _slide-right":{"from":{"-webkit-transform":"translate3d(0, 0, 0)","-ms-transform":"translate3d(0, 0, 0)","transform":"translate3d(0, 0, 0)"},"to":{"-webkit-transform":"translate3d(100%, 0, 0)","-ms-transform":"translate3d(100%, 0, 0)","transform":"translate3d(100%, 0, 0)"}},"@keyframes _slide-up":{"from":{"-webkit-transform":"translate3d(0, 0, 0)","-ms-transform":"translate3d(0, 0, 0)","transform":"translate3d(0, 0, 0)"},"to":{"-webkit-transform":"translate3d(0, -100%, 0)","-ms-transform":"translate3d(0, -100%, 0)","transform":"translate3d(0, -100%, 0)"}},"@keyframes _zoom-in":{"from":{"opacity":"0","-webkit-transform":"scale3d(0.3, 0.3, 0.3)","-ms-transform":"scale3d(0.3, 0.3, 0.3)","transform":"scale3d(0.3, 0.3, 0.3)"},"50%":{"opacity":"1"}},"@keyframes _zoom-out":{"from":{"opacity":"1"},"50%":{"opacity":"0","-webkit-transform":"scale3d(0.3, 0.3, 0.3)","-ms-transform":"scale3d(0.3, 0.3, 0.3)","transform":"scale3d(0.3, 0.3, 0.3)"},"to":{"opacity":"0"}},"@keyframes _tada":{"from":{"-webkit-transform":"scale3d(1, 1, 1)","-ms-transform":"scale3d(1, 1, 1)","transform":"scale3d(1, 1, 1)"},"10%":{"-webkit-transform":"scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg)","-ms-transform":"scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg)","transform":"scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg)"},"20%":{"-webkit-transform":"scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg)","-ms-transform":"scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg)","transform":"scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg)"},"30%":{"-webkit-transform":"scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg)","-ms-transform":"scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg)","transform":"scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg)"},"50%":{"-webkit-transform":"scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg)","-ms-transform":"scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg)","transform":"scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg)"},"70%":{"-webkit-transform":"scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg)","-ms-transform":"scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg)","transform":"scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg)"},"90%":{"-webkit-transform":"scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg)","-ms-transform":"scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg)","transform":"scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg)"},"40%":{"-webkit-transform":"scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg)","-ms-transform":"scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg)","transform":"scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg)"},"60%":{"-webkit-transform":"scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg)","-ms-transform":"scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg)","transform":"scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg)"},"80%":{"-webkit-transform":"scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg)","-ms-transform":"scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg)","transform":"scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg)"},"to":{"-webkit-transform":"scale3d(1, 1, 1)","-ms-transform":"scale3d(1, 1, 1)","transform":"scale3d(1, 1, 1)"}},"@keyframes _pulse":{"from":{"-webkit-transform":"scale3d(1, 1, 1)","-ms-transform":"scale3d(1, 1, 1)","transform":"scale3d(1, 1, 1)"},"50%":{"-webkit-transform":"scale3d(1.05, 1.05, 1.05)","-ms-transform":"scale3d(1.05, 1.05, 1.05)","transform":"scale3d(1.05, 1.05, 1.05)"},"to":{"-webkit-transform":"scale3d(1, 1, 1)","-ms-transform":"scale3d(1, 1, 1)","transform":"scale3d(1, 1, 1)"}},"@keyframes _show-up-clock":{"0%":{"opacity":"0","-webkit-transform":"scale(0.7)","-ms-transform":"scale(0.7)","transform":"scale(0.7)"},"to":{"opacity":"1","-webkit-transform":"scale(1)","-ms-transform":"scale(1)","transform":"scale(1)"}}} - -module.exports = bsStyles; \ No newline at end of file diff --git a/src/js/bs/dist/alert.js b/src/js/bs/dist/alert.js deleted file mode 100644 index 3f73b68d2..000000000 --- a/src/js/bs/dist/alert.js +++ /dev/null @@ -1,235 +0,0 @@ -/*! - * Bootstrap alert.js v5.1.3 (https://getbootstrap.com/) - * Copyright 2011-2021 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) - */ -(function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('./dom/event-handler.js'), require('./base-component.js')) : - typeof define === 'function' && define.amd ? define(['./dom/event-handler', './base-component'], factory) : - (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Alert = factory(global.EventHandler, global.Base)); -})(this, (function (EventHandler, BaseComponent) { 'use strict'; - - const _interopDefaultLegacy = e => e && typeof e === 'object' && 'default' in e ? e : { default: e }; - - const EventHandler__default = /*#__PURE__*/_interopDefaultLegacy(EventHandler); - const BaseComponent__default = /*#__PURE__*/_interopDefaultLegacy(BaseComponent); - - /** - * -------------------------------------------------------------------------- - * Bootstrap (v5.1.3): util/index.js - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) - * -------------------------------------------------------------------------- - */ - - const getSelector = element => { - let selector = element.getAttribute('data-bs-target'); - - if (!selector || selector === '#') { - let hrefAttr = element.getAttribute('href'); // The only valid content that could double as a selector are IDs or classes, - // so everything starting with `#` or `.`. If a "real" URL is used as the selector, - // `document.querySelector` will rightfully complain it is invalid. - // See https://github.com/twbs/bootstrap/issues/32273 - - if (!hrefAttr || !hrefAttr.includes('#') && !hrefAttr.startsWith('.')) { - return null; - } // Just in case some CMS puts out a full URL with the anchor appended - - - if (hrefAttr.includes('#') && !hrefAttr.startsWith('#')) { - hrefAttr = `#${hrefAttr.split('#')[1]}`; - } - - selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : null; - } - - return selector; - }; - - const getElementFromSelector = element => { - const selector = getSelector(element); - return selector ? document.querySelector(selector) : null; - }; - - const isDisabled = element => { - if (!element || element.nodeType !== Node.ELEMENT_NODE) { - return true; - } - - if (element.classList.contains('disabled')) { - return true; - } - - if (typeof element.disabled !== 'undefined') { - return element.disabled; - } - - return element.hasAttribute('disabled') && element.getAttribute('disabled') !== 'false'; - }; - - const getjQuery = () => { - const { - jQuery - } = window; - - if (jQuery && !document.body.hasAttribute('data-bs-no-jquery')) { - return jQuery; - } - - return null; - }; - - const DOMContentLoadedCallbacks = []; - - const onDOMContentLoaded = callback => { - if (document.readyState === 'loading') { - // add listener on the first call when the document is in loading state - if (!DOMContentLoadedCallbacks.length) { - document.addEventListener('DOMContentLoaded', () => { - DOMContentLoadedCallbacks.forEach(callback => callback()); - }); - } - - DOMContentLoadedCallbacks.push(callback); - } else { - callback(); - } - }; - - const defineJQueryPlugin = plugin => { - onDOMContentLoaded(() => { - const $ = getjQuery(); - /* istanbul ignore if */ - - if ($) { - const name = plugin.NAME; - const JQUERY_NO_CONFLICT = $.fn[name]; - $.fn[name] = plugin.jQueryInterface; - $.fn[name].Constructor = plugin; - - $.fn[name].noConflict = () => { - $.fn[name] = JQUERY_NO_CONFLICT; - return plugin.jQueryInterface; - }; - } - }); - }; - - /** - * -------------------------------------------------------------------------- - * Bootstrap (v5.1.3): util/component-functions.js - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) - * -------------------------------------------------------------------------- - */ - - const enableDismissTrigger = (component, method = 'hide') => { - const clickEvent = `click.dismiss${component.EVENT_KEY}`; - const name = component.NAME; - EventHandler__default.default.on(document, clickEvent, `[data-bs-dismiss="${name}"]`, function (event) { - if (['A', 'AREA'].includes(this.tagName)) { - event.preventDefault(); - } - - if (isDisabled(this)) { - return; - } - - const target = getElementFromSelector(this) || this.closest(`.${name}`); - const instance = component.getOrCreateInstance(target); // Method argument is left, for Alert and only, as it doesn't implement the 'hide' method - - instance[method](); - }); - }; - - /** - * -------------------------------------------------------------------------- - * Bootstrap (v5.1.3): alert.js - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) - * -------------------------------------------------------------------------- - */ - /** - * ------------------------------------------------------------------------ - * Constants - * ------------------------------------------------------------------------ - */ - - const NAME = 'alert'; - const DATA_KEY = 'bs.alert'; - const EVENT_KEY = `.${DATA_KEY}`; - const EVENT_CLOSE = `close${EVENT_KEY}`; - const EVENT_CLOSED = `closed${EVENT_KEY}`; - const CLASS_NAME_FADE = 'fade'; - const CLASS_NAME_SHOW = 'show'; - /** - * ------------------------------------------------------------------------ - * Class Definition - * ------------------------------------------------------------------------ - */ - - class Alert extends BaseComponent__default.default { - // Getters - static get NAME() { - return NAME; - } // Public - - - close() { - const closeEvent = EventHandler__default.default.trigger(this._element, EVENT_CLOSE); - - if (closeEvent.defaultPrevented) { - return; - } - - this._element.classList.remove(CLASS_NAME_SHOW); - - const isAnimated = this._element.classList.contains(CLASS_NAME_FADE); - - this._queueCallback(() => this._destroyElement(), this._element, isAnimated); - } // Private - - - _destroyElement() { - this._element.remove(); - - EventHandler__default.default.trigger(this._element, EVENT_CLOSED); - this.dispose(); - } // Static - - - static jQueryInterface(config) { - return this.each(function () { - const data = Alert.getOrCreateInstance(this); - - if (typeof config !== 'string') { - return; - } - - if (data[config] === undefined || config.startsWith('_') || config === 'constructor') { - throw new TypeError(`No method named "${config}"`); - } - - data[config](this); - }); - } - - } - /** - * ------------------------------------------------------------------------ - * Data Api implementation - * ------------------------------------------------------------------------ - */ - - - enableDismissTrigger(Alert, 'close'); - /** - * ------------------------------------------------------------------------ - * jQuery - * ------------------------------------------------------------------------ - * add .Alert to jQuery only if jQuery is present - */ - - defineJQueryPlugin(Alert); - - return Alert; - -})); -//# sourceMappingURL=alert.js.map diff --git a/src/js/bs/dist/alert.js.map b/src/js/bs/dist/alert.js.map deleted file mode 100644 index 0f66ace06..000000000 --- a/src/js/bs/dist/alert.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"alert.js","sources":["../src/util/index.js","../src/util/component-functions.js","../src/alert.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.1.3): util/index.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst MAX_UID = 1000000\nconst MILLISECONDS_MULTIPLIER = 1000\nconst TRANSITION_END = 'transitionend'\n\n// Shoutout AngusCroll (https://goo.gl/pxwQGp)\nconst toType = obj => {\n if (obj === null || obj === undefined) {\n return `${obj}`\n }\n\n return {}.toString.call(obj).match(/\\s([a-z]+)/i)[1].toLowerCase()\n}\n\n/**\n * --------------------------------------------------------------------------\n * Public Util Api\n * --------------------------------------------------------------------------\n */\n\nconst getUID = prefix => {\n do {\n prefix += Math.floor(Math.random() * MAX_UID)\n } while (document.getElementById(prefix))\n\n return prefix\n}\n\nconst getSelector = element => {\n let selector = element.getAttribute('data-bs-target')\n\n if (!selector || selector === '#') {\n let hrefAttr = element.getAttribute('href')\n\n // The only valid content that could double as a selector are IDs or classes,\n // so everything starting with `#` or `.`. If a \"real\" URL is used as the selector,\n // `document.querySelector` will rightfully complain it is invalid.\n // See https://github.com/twbs/bootstrap/issues/32273\n if (!hrefAttr || (!hrefAttr.includes('#') && !hrefAttr.startsWith('.'))) {\n return null\n }\n\n // Just in case some CMS puts out a full URL with the anchor appended\n if (hrefAttr.includes('#') && !hrefAttr.startsWith('#')) {\n hrefAttr = `#${hrefAttr.split('#')[1]}`\n }\n\n selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : null\n }\n\n return selector\n}\n\nconst getSelectorFromElement = element => {\n const selector = getSelector(element)\n\n if (selector) {\n return document.querySelector(selector) ? selector : null\n }\n\n return null\n}\n\nconst getElementFromSelector = element => {\n const selector = getSelector(element)\n\n return selector ? document.querySelector(selector) : null\n}\n\nconst getTransitionDurationFromElement = element => {\n if (!element) {\n return 0\n }\n\n // Get transition-duration of the element\n let { transitionDuration, transitionDelay } = window.getComputedStyle(element)\n\n const floatTransitionDuration = Number.parseFloat(transitionDuration)\n const floatTransitionDelay = Number.parseFloat(transitionDelay)\n\n // Return 0 if element or transition duration is not found\n if (!floatTransitionDuration && !floatTransitionDelay) {\n return 0\n }\n\n // If multiple durations are defined, take the first\n transitionDuration = transitionDuration.split(',')[0]\n transitionDelay = transitionDelay.split(',')[0]\n\n return (Number.parseFloat(transitionDuration) + Number.parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER\n}\n\nconst triggerTransitionEnd = element => {\n element.dispatchEvent(new Event(TRANSITION_END))\n}\n\nconst isElement = obj => {\n if (!obj || typeof obj !== 'object') {\n return false\n }\n\n if (typeof obj.jquery !== 'undefined') {\n obj = obj[0]\n }\n\n return typeof obj.nodeType !== 'undefined'\n}\n\nconst getElement = obj => {\n if (isElement(obj)) { // it's a jQuery object or a node element\n return obj.jquery ? obj[0] : obj\n }\n\n if (typeof obj === 'string' && obj.length > 0) {\n return document.querySelector(obj)\n }\n\n return null\n}\n\nconst typeCheckConfig = (componentName, config, configTypes) => {\n Object.keys(configTypes).forEach(property => {\n const expectedTypes = configTypes[property]\n const value = config[property]\n const valueType = value && isElement(value) ? 'element' : toType(value)\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new TypeError(\n `${componentName.toUpperCase()}: Option \"${property}\" provided type \"${valueType}\" but expected type \"${expectedTypes}\".`\n )\n }\n })\n}\n\nconst isVisible = element => {\n if (!isElement(element) || element.getClientRects().length === 0) {\n return false\n }\n\n return getComputedStyle(element).getPropertyValue('visibility') === 'visible'\n}\n\nconst isDisabled = element => {\n if (!element || element.nodeType !== Node.ELEMENT_NODE) {\n return true\n }\n\n if (element.classList.contains('disabled')) {\n return true\n }\n\n if (typeof element.disabled !== 'undefined') {\n return element.disabled\n }\n\n return element.hasAttribute('disabled') && element.getAttribute('disabled') !== 'false'\n}\n\nconst findShadowRoot = element => {\n if (!document.documentElement.attachShadow) {\n return null\n }\n\n // Can find the shadow root otherwise it'll return the document\n if (typeof element.getRootNode === 'function') {\n const root = element.getRootNode()\n return root instanceof ShadowRoot ? root : null\n }\n\n if (element instanceof ShadowRoot) {\n return element\n }\n\n // when we don't find a shadow root\n if (!element.parentNode) {\n return null\n }\n\n return findShadowRoot(element.parentNode)\n}\n\nconst noop = () => {}\n\n/**\n * Trick to restart an element's animation\n *\n * @param {HTMLElement} element\n * @return void\n *\n * @see https://www.charistheo.io/blog/2021/02/restart-a-css-animation-with-javascript/#restarting-a-css-animation\n */\nconst reflow = element => {\n // eslint-disable-next-line no-unused-expressions\n element.offsetHeight\n}\n\nconst getjQuery = () => {\n const { jQuery } = window\n\n if (jQuery && !document.body.hasAttribute('data-bs-no-jquery')) {\n return jQuery\n }\n\n return null\n}\n\nconst DOMContentLoadedCallbacks = []\n\nconst onDOMContentLoaded = callback => {\n if (document.readyState === 'loading') {\n // add listener on the first call when the document is in loading state\n if (!DOMContentLoadedCallbacks.length) {\n document.addEventListener('DOMContentLoaded', () => {\n DOMContentLoadedCallbacks.forEach(callback => callback())\n })\n }\n\n DOMContentLoadedCallbacks.push(callback)\n } else {\n callback()\n }\n}\n\nconst isRTL = () => document.documentElement.dir === 'rtl'\n\nconst defineJQueryPlugin = plugin => {\n onDOMContentLoaded(() => {\n const $ = getjQuery()\n /* istanbul ignore if */\n if ($) {\n const name = plugin.NAME\n const JQUERY_NO_CONFLICT = $.fn[name]\n $.fn[name] = plugin.jQueryInterface\n $.fn[name].Constructor = plugin\n $.fn[name].noConflict = () => {\n $.fn[name] = JQUERY_NO_CONFLICT\n return plugin.jQueryInterface\n }\n }\n })\n}\n\nconst execute = callback => {\n if (typeof callback === 'function') {\n callback()\n }\n}\n\nconst executeAfterTransition = (callback, transitionElement, waitForTransition = true) => {\n if (!waitForTransition) {\n execute(callback)\n return\n }\n\n const durationPadding = 5\n const emulatedDuration = getTransitionDurationFromElement(transitionElement) + durationPadding\n\n let called = false\n\n const handler = ({ target }) => {\n if (target !== transitionElement) {\n return\n }\n\n called = true\n transitionElement.removeEventListener(TRANSITION_END, handler)\n execute(callback)\n }\n\n transitionElement.addEventListener(TRANSITION_END, handler)\n setTimeout(() => {\n if (!called) {\n triggerTransitionEnd(transitionElement)\n }\n }, emulatedDuration)\n}\n\n/**\n * Return the previous/next element of a list.\n *\n * @param {array} list The list of elements\n * @param activeElement The active element\n * @param shouldGetNext Choose to get next or previous element\n * @param isCycleAllowed\n * @return {Element|elem} The proper element\n */\nconst getNextActiveElement = (list, activeElement, shouldGetNext, isCycleAllowed) => {\n let index = list.indexOf(activeElement)\n\n // if the element does not exist in the list return an element depending on the direction and if cycle is allowed\n if (index === -1) {\n return list[!shouldGetNext && isCycleAllowed ? list.length - 1 : 0]\n }\n\n const listLength = list.length\n\n index += shouldGetNext ? 1 : -1\n\n if (isCycleAllowed) {\n index = (index + listLength) % listLength\n }\n\n return list[Math.max(0, Math.min(index, listLength - 1))]\n}\n\nexport {\n getElement,\n getUID,\n getSelectorFromElement,\n getElementFromSelector,\n getTransitionDurationFromElement,\n triggerTransitionEnd,\n isElement,\n typeCheckConfig,\n isVisible,\n isDisabled,\n findShadowRoot,\n noop,\n getNextActiveElement,\n reflow,\n getjQuery,\n onDOMContentLoaded,\n isRTL,\n defineJQueryPlugin,\n execute,\n executeAfterTransition\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.1.3): util/component-functions.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport EventHandler from '../dom/event-handler'\nimport { getElementFromSelector, isDisabled } from './index'\n\nconst enableDismissTrigger = (component, method = 'hide') => {\n const clickEvent = `click.dismiss${component.EVENT_KEY}`\n const name = component.NAME\n\n EventHandler.on(document, clickEvent, `[data-bs-dismiss=\"${name}\"]`, function (event) {\n if (['A', 'AREA'].includes(this.tagName)) {\n event.preventDefault()\n }\n\n if (isDisabled(this)) {\n return\n }\n\n const target = getElementFromSelector(this) || this.closest(`.${name}`)\n const instance = component.getOrCreateInstance(target)\n\n // Method argument is left, for Alert and only, as it doesn't implement the 'hide' method\n instance[method]()\n })\n}\n\nexport {\n enableDismissTrigger\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.1.3): alert.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { defineJQueryPlugin } from './util/index'\nimport EventHandler from './dom/event-handler'\nimport BaseComponent from './base-component'\nimport { enableDismissTrigger } from './util/component-functions'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'alert'\nconst DATA_KEY = 'bs.alert'\nconst EVENT_KEY = `.${DATA_KEY}`\n\nconst EVENT_CLOSE = `close${EVENT_KEY}`\nconst EVENT_CLOSED = `closed${EVENT_KEY}`\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Alert extends BaseComponent {\n // Getters\n\n static get NAME() {\n return NAME\n }\n\n // Public\n\n close() {\n const closeEvent = EventHandler.trigger(this._element, EVENT_CLOSE)\n\n if (closeEvent.defaultPrevented) {\n return\n }\n\n this._element.classList.remove(CLASS_NAME_SHOW)\n\n const isAnimated = this._element.classList.contains(CLASS_NAME_FADE)\n this._queueCallback(() => this._destroyElement(), this._element, isAnimated)\n }\n\n // Private\n _destroyElement() {\n this._element.remove()\n EventHandler.trigger(this._element, EVENT_CLOSED)\n this.dispose()\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Alert.getOrCreateInstance(this)\n\n if (typeof config !== 'string') {\n return\n }\n\n if (data[config] === undefined || config.startsWith('_') || config === 'constructor') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config](this)\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nenableDismissTrigger(Alert, 'close')\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .Alert to jQuery only if jQuery is present\n */\n\ndefineJQueryPlugin(Alert)\n\nexport default Alert\n"],"names":["getSelector","element","selector","getAttribute","hrefAttr","includes","startsWith","split","trim","getElementFromSelector","document","querySelector","isDisabled","nodeType","Node","ELEMENT_NODE","classList","contains","disabled","hasAttribute","getjQuery","jQuery","window","body","DOMContentLoadedCallbacks","onDOMContentLoaded","callback","readyState","length","addEventListener","forEach","push","defineJQueryPlugin","plugin","$","name","NAME","JQUERY_NO_CONFLICT","fn","jQueryInterface","Constructor","noConflict","enableDismissTrigger","component","method","clickEvent","EVENT_KEY","EventHandler","on","event","tagName","preventDefault","target","closest","instance","getOrCreateInstance","DATA_KEY","EVENT_CLOSE","EVENT_CLOSED","CLASS_NAME_FADE","CLASS_NAME_SHOW","Alert","BaseComponent","close","closeEvent","trigger","_element","defaultPrevented","remove","isAnimated","_queueCallback","_destroyElement","dispose","config","each","data","undefined","TypeError"],"mappings":"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"} \ No newline at end of file diff --git a/src/js/bs/dist/base-component.js b/src/js/bs/dist/base-component.js deleted file mode 100644 index efa333ba6..000000000 --- a/src/js/bs/dist/base-component.js +++ /dev/null @@ -1,183 +0,0 @@ -/*! - * Bootstrap base-component.js v5.1.3 (https://getbootstrap.com/) - * Copyright 2011-2021 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) - */ -(function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('./dom/data.js'), require('./dom/event-handler.js')) : - typeof define === 'function' && define.amd ? define(['./dom/data', './dom/event-handler'], factory) : - (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Base = factory(global.Data, global.EventHandler)); -})(this, (function (Data, EventHandler) { 'use strict'; - - const _interopDefaultLegacy = e => e && typeof e === 'object' && 'default' in e ? e : { default: e }; - - const Data__default = /*#__PURE__*/_interopDefaultLegacy(Data); - const EventHandler__default = /*#__PURE__*/_interopDefaultLegacy(EventHandler); - - /** - * -------------------------------------------------------------------------- - * Bootstrap (v5.1.3): util/index.js - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) - * -------------------------------------------------------------------------- - */ - const MILLISECONDS_MULTIPLIER = 1000; - const TRANSITION_END = 'transitionend'; // Shoutout AngusCroll (https://goo.gl/pxwQGp) - - const getTransitionDurationFromElement = element => { - if (!element) { - return 0; - } // Get transition-duration of the element - - - let { - transitionDuration, - transitionDelay - } = window.getComputedStyle(element); - const floatTransitionDuration = Number.parseFloat(transitionDuration); - const floatTransitionDelay = Number.parseFloat(transitionDelay); // Return 0 if element or transition duration is not found - - if (!floatTransitionDuration && !floatTransitionDelay) { - return 0; - } // If multiple durations are defined, take the first - - - transitionDuration = transitionDuration.split(',')[0]; - transitionDelay = transitionDelay.split(',')[0]; - return (Number.parseFloat(transitionDuration) + Number.parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER; - }; - - const triggerTransitionEnd = element => { - element.dispatchEvent(new Event(TRANSITION_END)); - }; - - const isElement = obj => { - if (!obj || typeof obj !== 'object') { - return false; - } - - if (typeof obj.jquery !== 'undefined') { - obj = obj[0]; - } - - return typeof obj.nodeType !== 'undefined'; - }; - - const getElement = obj => { - if (isElement(obj)) { - // it's a jQuery object or a node element - return obj.jquery ? obj[0] : obj; - } - - if (typeof obj === 'string' && obj.length > 0) { - return document.querySelector(obj); - } - - return null; - }; - - const execute = callback => { - if (typeof callback === 'function') { - callback(); - } - }; - - const executeAfterTransition = (callback, transitionElement, waitForTransition = true) => { - if (!waitForTransition) { - execute(callback); - return; - } - - const durationPadding = 5; - const emulatedDuration = getTransitionDurationFromElement(transitionElement) + durationPadding; - let called = false; - - const handler = ({ - target - }) => { - if (target !== transitionElement) { - return; - } - - called = true; - transitionElement.removeEventListener(TRANSITION_END, handler); - execute(callback); - }; - - transitionElement.addEventListener(TRANSITION_END, handler); - setTimeout(() => { - if (!called) { - triggerTransitionEnd(transitionElement); - } - }, emulatedDuration); - }; - - /** - * -------------------------------------------------------------------------- - * Bootstrap (v5.1.3): base-component.js - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) - * -------------------------------------------------------------------------- - */ - /** - * ------------------------------------------------------------------------ - * Constants - * ------------------------------------------------------------------------ - */ - - const VERSION = '5.1.3'; - - class BaseComponent { - constructor(element) { - element = getElement(element); - - if (!element) { - return; - } - - this._element = element; - Data__default.default.set(this._element, this.constructor.DATA_KEY, this); - } - - dispose() { - Data__default.default.remove(this._element, this.constructor.DATA_KEY); - EventHandler__default.default.off(this._element, this.constructor.EVENT_KEY); - Object.getOwnPropertyNames(this).forEach(propertyName => { - this[propertyName] = null; - }); - } - - _queueCallback(callback, element, isAnimated = true) { - executeAfterTransition(callback, element, isAnimated); - } - /** Static */ - - - static getInstance(element) { - return Data__default.default.get(getElement(element), this.DATA_KEY); - } - - static getOrCreateInstance(element, config = {}) { - return this.getInstance(element) || new this(element, typeof config === 'object' ? config : null); - } - - static get VERSION() { - return VERSION; - } - - static get NAME() { - throw new Error('You have to implement the static method "NAME", for each component!'); - } - - static get DATA_KEY() { - return `bs.${this.NAME}`; - } - - static get EVENT_KEY() { - return `.${this.DATA_KEY}`; - } - - } - - return BaseComponent; - -})); -//# sourceMappingURL=base-component.js.map diff --git a/src/js/bs/dist/base-component.js.map b/src/js/bs/dist/base-component.js.map deleted file mode 100644 index 911c233a7..000000000 --- a/src/js/bs/dist/base-component.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"base-component.js","sources":["../src/util/index.js","../src/base-component.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.1.3): util/index.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst MAX_UID = 1000000\nconst MILLISECONDS_MULTIPLIER = 1000\nconst TRANSITION_END = 'transitionend'\n\n// Shoutout AngusCroll (https://goo.gl/pxwQGp)\nconst toType = obj => {\n if (obj === null || obj === undefined) {\n return `${obj}`\n }\n\n return {}.toString.call(obj).match(/\\s([a-z]+)/i)[1].toLowerCase()\n}\n\n/**\n * --------------------------------------------------------------------------\n * Public Util Api\n * --------------------------------------------------------------------------\n */\n\nconst getUID = prefix => {\n do {\n prefix += Math.floor(Math.random() * MAX_UID)\n } while (document.getElementById(prefix))\n\n return prefix\n}\n\nconst getSelector = element => {\n let selector = element.getAttribute('data-bs-target')\n\n if (!selector || selector === '#') {\n let hrefAttr = element.getAttribute('href')\n\n // The only valid content that could double as a selector are IDs or classes,\n // so everything starting with `#` or `.`. If a \"real\" URL is used as the selector,\n // `document.querySelector` will rightfully complain it is invalid.\n // See https://github.com/twbs/bootstrap/issues/32273\n if (!hrefAttr || (!hrefAttr.includes('#') && !hrefAttr.startsWith('.'))) {\n return null\n }\n\n // Just in case some CMS puts out a full URL with the anchor appended\n if (hrefAttr.includes('#') && !hrefAttr.startsWith('#')) {\n hrefAttr = `#${hrefAttr.split('#')[1]}`\n }\n\n selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : null\n }\n\n return selector\n}\n\nconst getSelectorFromElement = element => {\n const selector = getSelector(element)\n\n if (selector) {\n return document.querySelector(selector) ? selector : null\n }\n\n return null\n}\n\nconst getElementFromSelector = element => {\n const selector = getSelector(element)\n\n return selector ? document.querySelector(selector) : null\n}\n\nconst getTransitionDurationFromElement = element => {\n if (!element) {\n return 0\n }\n\n // Get transition-duration of the element\n let { transitionDuration, transitionDelay } = window.getComputedStyle(element)\n\n const floatTransitionDuration = Number.parseFloat(transitionDuration)\n const floatTransitionDelay = Number.parseFloat(transitionDelay)\n\n // Return 0 if element or transition duration is not found\n if (!floatTransitionDuration && !floatTransitionDelay) {\n return 0\n }\n\n // If multiple durations are defined, take the first\n transitionDuration = transitionDuration.split(',')[0]\n transitionDelay = transitionDelay.split(',')[0]\n\n return (Number.parseFloat(transitionDuration) + Number.parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER\n}\n\nconst triggerTransitionEnd = element => {\n element.dispatchEvent(new Event(TRANSITION_END))\n}\n\nconst isElement = obj => {\n if (!obj || typeof obj !== 'object') {\n return false\n }\n\n if (typeof obj.jquery !== 'undefined') {\n obj = obj[0]\n }\n\n return typeof obj.nodeType !== 'undefined'\n}\n\nconst getElement = obj => {\n if (isElement(obj)) { // it's a jQuery object or a node element\n return obj.jquery ? obj[0] : obj\n }\n\n if (typeof obj === 'string' && obj.length > 0) {\n return document.querySelector(obj)\n }\n\n return null\n}\n\nconst typeCheckConfig = (componentName, config, configTypes) => {\n Object.keys(configTypes).forEach(property => {\n const expectedTypes = configTypes[property]\n const value = config[property]\n const valueType = value && isElement(value) ? 'element' : toType(value)\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new TypeError(\n `${componentName.toUpperCase()}: Option \"${property}\" provided type \"${valueType}\" but expected type \"${expectedTypes}\".`\n )\n }\n })\n}\n\nconst isVisible = element => {\n if (!isElement(element) || element.getClientRects().length === 0) {\n return false\n }\n\n return getComputedStyle(element).getPropertyValue('visibility') === 'visible'\n}\n\nconst isDisabled = element => {\n if (!element || element.nodeType !== Node.ELEMENT_NODE) {\n return true\n }\n\n if (element.classList.contains('disabled')) {\n return true\n }\n\n if (typeof element.disabled !== 'undefined') {\n return element.disabled\n }\n\n return element.hasAttribute('disabled') && element.getAttribute('disabled') !== 'false'\n}\n\nconst findShadowRoot = element => {\n if (!document.documentElement.attachShadow) {\n return null\n }\n\n // Can find the shadow root otherwise it'll return the document\n if (typeof element.getRootNode === 'function') {\n const root = element.getRootNode()\n return root instanceof ShadowRoot ? root : null\n }\n\n if (element instanceof ShadowRoot) {\n return element\n }\n\n // when we don't find a shadow root\n if (!element.parentNode) {\n return null\n }\n\n return findShadowRoot(element.parentNode)\n}\n\nconst noop = () => {}\n\n/**\n * Trick to restart an element's animation\n *\n * @param {HTMLElement} element\n * @return void\n *\n * @see https://www.charistheo.io/blog/2021/02/restart-a-css-animation-with-javascript/#restarting-a-css-animation\n */\nconst reflow = element => {\n // eslint-disable-next-line no-unused-expressions\n element.offsetHeight\n}\n\nconst getjQuery = () => {\n const { jQuery } = window\n\n if (jQuery && !document.body.hasAttribute('data-bs-no-jquery')) {\n return jQuery\n }\n\n return null\n}\n\nconst DOMContentLoadedCallbacks = []\n\nconst onDOMContentLoaded = callback => {\n if (document.readyState === 'loading') {\n // add listener on the first call when the document is in loading state\n if (!DOMContentLoadedCallbacks.length) {\n document.addEventListener('DOMContentLoaded', () => {\n DOMContentLoadedCallbacks.forEach(callback => callback())\n })\n }\n\n DOMContentLoadedCallbacks.push(callback)\n } else {\n callback()\n }\n}\n\nconst isRTL = () => document.documentElement.dir === 'rtl'\n\nconst defineJQueryPlugin = plugin => {\n onDOMContentLoaded(() => {\n const $ = getjQuery()\n /* istanbul ignore if */\n if ($) {\n const name = plugin.NAME\n const JQUERY_NO_CONFLICT = $.fn[name]\n $.fn[name] = plugin.jQueryInterface\n $.fn[name].Constructor = plugin\n $.fn[name].noConflict = () => {\n $.fn[name] = JQUERY_NO_CONFLICT\n return plugin.jQueryInterface\n }\n }\n })\n}\n\nconst execute = callback => {\n if (typeof callback === 'function') {\n callback()\n }\n}\n\nconst executeAfterTransition = (callback, transitionElement, waitForTransition = true) => {\n if (!waitForTransition) {\n execute(callback)\n return\n }\n\n const durationPadding = 5\n const emulatedDuration = getTransitionDurationFromElement(transitionElement) + durationPadding\n\n let called = false\n\n const handler = ({ target }) => {\n if (target !== transitionElement) {\n return\n }\n\n called = true\n transitionElement.removeEventListener(TRANSITION_END, handler)\n execute(callback)\n }\n\n transitionElement.addEventListener(TRANSITION_END, handler)\n setTimeout(() => {\n if (!called) {\n triggerTransitionEnd(transitionElement)\n }\n }, emulatedDuration)\n}\n\n/**\n * Return the previous/next element of a list.\n *\n * @param {array} list The list of elements\n * @param activeElement The active element\n * @param shouldGetNext Choose to get next or previous element\n * @param isCycleAllowed\n * @return {Element|elem} The proper element\n */\nconst getNextActiveElement = (list, activeElement, shouldGetNext, isCycleAllowed) => {\n let index = list.indexOf(activeElement)\n\n // if the element does not exist in the list return an element depending on the direction and if cycle is allowed\n if (index === -1) {\n return list[!shouldGetNext && isCycleAllowed ? list.length - 1 : 0]\n }\n\n const listLength = list.length\n\n index += shouldGetNext ? 1 : -1\n\n if (isCycleAllowed) {\n index = (index + listLength) % listLength\n }\n\n return list[Math.max(0, Math.min(index, listLength - 1))]\n}\n\nexport {\n getElement,\n getUID,\n getSelectorFromElement,\n getElementFromSelector,\n getTransitionDurationFromElement,\n triggerTransitionEnd,\n isElement,\n typeCheckConfig,\n isVisible,\n isDisabled,\n findShadowRoot,\n noop,\n getNextActiveElement,\n reflow,\n getjQuery,\n onDOMContentLoaded,\n isRTL,\n defineJQueryPlugin,\n execute,\n executeAfterTransition\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.1.3): base-component.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Data from './dom/data'\nimport {\n executeAfterTransition,\n getElement\n} from './util/index'\nimport EventHandler from './dom/event-handler'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst VERSION = '5.1.3'\n\nclass BaseComponent {\n constructor(element) {\n element = getElement(element)\n\n if (!element) {\n return\n }\n\n this._element = element\n Data.set(this._element, this.constructor.DATA_KEY, this)\n }\n\n dispose() {\n Data.remove(this._element, this.constructor.DATA_KEY)\n EventHandler.off(this._element, this.constructor.EVENT_KEY)\n\n Object.getOwnPropertyNames(this).forEach(propertyName => {\n this[propertyName] = null\n })\n }\n\n _queueCallback(callback, element, isAnimated = true) {\n executeAfterTransition(callback, element, isAnimated)\n }\n\n /** Static */\n\n static getInstance(element) {\n return Data.get(getElement(element), this.DATA_KEY)\n }\n\n static getOrCreateInstance(element, config = {}) {\n return this.getInstance(element) || new this(element, typeof config === 'object' ? config : null)\n }\n\n static get VERSION() {\n return VERSION\n }\n\n static get NAME() {\n throw new Error('You have to implement the static method \"NAME\", for each component!')\n }\n\n static get DATA_KEY() {\n return `bs.${this.NAME}`\n }\n\n static get EVENT_KEY() {\n return `.${this.DATA_KEY}`\n }\n}\n\nexport default BaseComponent\n"],"names":["MILLISECONDS_MULTIPLIER","TRANSITION_END","getTransitionDurationFromElement","element","transitionDuration","transitionDelay","window","getComputedStyle","floatTransitionDuration","Number","parseFloat","floatTransitionDelay","split","triggerTransitionEnd","dispatchEvent","Event","isElement","obj","jquery","nodeType","getElement","length","document","querySelector","execute","callback","executeAfterTransition","transitionElement","waitForTransition","durationPadding","emulatedDuration","called","handler","target","removeEventListener","addEventListener","setTimeout","VERSION","BaseComponent","constructor","_element","Data","set","DATA_KEY","dispose","remove","EventHandler","off","EVENT_KEY","Object","getOwnPropertyNames","forEach","propertyName","_queueCallback","isAnimated","getInstance","get","getOrCreateInstance","config","NAME","Error"],"mappings":"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"} \ No newline at end of file diff --git a/src/js/bs/dist/button.js b/src/js/bs/dist/button.js deleted file mode 100644 index f9755e3d4..000000000 --- a/src/js/bs/dist/button.js +++ /dev/null @@ -1,146 +0,0 @@ -/*! - * Bootstrap button.js v5.1.3 (https://getbootstrap.com/) - * Copyright 2011-2021 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) - */ -(function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('./dom/event-handler.js'), require('./base-component.js')) : - typeof define === 'function' && define.amd ? define(['./dom/event-handler', './base-component'], factory) : - (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Button = factory(global.EventHandler, global.Base)); -})(this, (function (EventHandler, BaseComponent) { 'use strict'; - - const _interopDefaultLegacy = e => e && typeof e === 'object' && 'default' in e ? e : { default: e }; - - const EventHandler__default = /*#__PURE__*/_interopDefaultLegacy(EventHandler); - const BaseComponent__default = /*#__PURE__*/_interopDefaultLegacy(BaseComponent); - - /** - * -------------------------------------------------------------------------- - * Bootstrap (v5.1.3): util/index.js - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) - * -------------------------------------------------------------------------- - */ - - const getjQuery = () => { - const { - jQuery - } = window; - - if (jQuery && !document.body.hasAttribute('data-bs-no-jquery')) { - return jQuery; - } - - return null; - }; - - const DOMContentLoadedCallbacks = []; - - const onDOMContentLoaded = callback => { - if (document.readyState === 'loading') { - // add listener on the first call when the document is in loading state - if (!DOMContentLoadedCallbacks.length) { - document.addEventListener('DOMContentLoaded', () => { - DOMContentLoadedCallbacks.forEach(callback => callback()); - }); - } - - DOMContentLoadedCallbacks.push(callback); - } else { - callback(); - } - }; - - const defineJQueryPlugin = plugin => { - onDOMContentLoaded(() => { - const $ = getjQuery(); - /* istanbul ignore if */ - - if ($) { - const name = plugin.NAME; - const JQUERY_NO_CONFLICT = $.fn[name]; - $.fn[name] = plugin.jQueryInterface; - $.fn[name].Constructor = plugin; - - $.fn[name].noConflict = () => { - $.fn[name] = JQUERY_NO_CONFLICT; - return plugin.jQueryInterface; - }; - } - }); - }; - - /** - * -------------------------------------------------------------------------- - * Bootstrap (v5.1.3): button.js - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) - * -------------------------------------------------------------------------- - */ - /** - * ------------------------------------------------------------------------ - * Constants - * ------------------------------------------------------------------------ - */ - - const NAME = 'button'; - const DATA_KEY = 'bs.button'; - const EVENT_KEY = `.${DATA_KEY}`; - const DATA_API_KEY = '.data-api'; - const CLASS_NAME_ACTIVE = 'active'; - const SELECTOR_DATA_TOGGLE = '[data-bs-toggle="button"]'; - const EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`; - /** - * ------------------------------------------------------------------------ - * Class Definition - * ------------------------------------------------------------------------ - */ - - class Button extends BaseComponent__default.default { - // Getters - static get NAME() { - return NAME; - } // Public - - - toggle() { - // Toggle class and sync the `aria-pressed` attribute with the return value of the `.toggle()` method - this._element.setAttribute('aria-pressed', this._element.classList.toggle(CLASS_NAME_ACTIVE)); - } // Static - - - static jQueryInterface(config) { - return this.each(function () { - const data = Button.getOrCreateInstance(this); - - if (config === 'toggle') { - data[config](); - } - }); - } - - } - /** - * ------------------------------------------------------------------------ - * Data Api implementation - * ------------------------------------------------------------------------ - */ - - - EventHandler__default.default.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, event => { - event.preventDefault(); - const button = event.target.closest(SELECTOR_DATA_TOGGLE); - const data = Button.getOrCreateInstance(button); - data.toggle(); - }); - /** - * ------------------------------------------------------------------------ - * jQuery - * ------------------------------------------------------------------------ - * add .Button to jQuery only if jQuery is present - */ - - defineJQueryPlugin(Button); - - return Button; - -})); -//# sourceMappingURL=button.js.map diff --git a/src/js/bs/dist/button.js.map b/src/js/bs/dist/button.js.map deleted file mode 100644 index a58a00c3d..000000000 --- a/src/js/bs/dist/button.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"button.js","sources":["../src/util/index.js","../src/button.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.1.3): util/index.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst MAX_UID = 1000000\nconst MILLISECONDS_MULTIPLIER = 1000\nconst TRANSITION_END = 'transitionend'\n\n// Shoutout AngusCroll (https://goo.gl/pxwQGp)\nconst toType = obj => {\n if (obj === null || obj === undefined) {\n return `${obj}`\n }\n\n return {}.toString.call(obj).match(/\\s([a-z]+)/i)[1].toLowerCase()\n}\n\n/**\n * --------------------------------------------------------------------------\n * Public Util Api\n * --------------------------------------------------------------------------\n */\n\nconst getUID = prefix => {\n do {\n prefix += Math.floor(Math.random() * MAX_UID)\n } while (document.getElementById(prefix))\n\n return prefix\n}\n\nconst getSelector = element => {\n let selector = element.getAttribute('data-bs-target')\n\n if (!selector || selector === '#') {\n let hrefAttr = element.getAttribute('href')\n\n // The only valid content that could double as a selector are IDs or classes,\n // so everything starting with `#` or `.`. If a \"real\" URL is used as the selector,\n // `document.querySelector` will rightfully complain it is invalid.\n // See https://github.com/twbs/bootstrap/issues/32273\n if (!hrefAttr || (!hrefAttr.includes('#') && !hrefAttr.startsWith('.'))) {\n return null\n }\n\n // Just in case some CMS puts out a full URL with the anchor appended\n if (hrefAttr.includes('#') && !hrefAttr.startsWith('#')) {\n hrefAttr = `#${hrefAttr.split('#')[1]}`\n }\n\n selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : null\n }\n\n return selector\n}\n\nconst getSelectorFromElement = element => {\n const selector = getSelector(element)\n\n if (selector) {\n return document.querySelector(selector) ? selector : null\n }\n\n return null\n}\n\nconst getElementFromSelector = element => {\n const selector = getSelector(element)\n\n return selector ? document.querySelector(selector) : null\n}\n\nconst getTransitionDurationFromElement = element => {\n if (!element) {\n return 0\n }\n\n // Get transition-duration of the element\n let { transitionDuration, transitionDelay } = window.getComputedStyle(element)\n\n const floatTransitionDuration = Number.parseFloat(transitionDuration)\n const floatTransitionDelay = Number.parseFloat(transitionDelay)\n\n // Return 0 if element or transition duration is not found\n if (!floatTransitionDuration && !floatTransitionDelay) {\n return 0\n }\n\n // If multiple durations are defined, take the first\n transitionDuration = transitionDuration.split(',')[0]\n transitionDelay = transitionDelay.split(',')[0]\n\n return (Number.parseFloat(transitionDuration) + Number.parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER\n}\n\nconst triggerTransitionEnd = element => {\n element.dispatchEvent(new Event(TRANSITION_END))\n}\n\nconst isElement = obj => {\n if (!obj || typeof obj !== 'object') {\n return false\n }\n\n if (typeof obj.jquery !== 'undefined') {\n obj = obj[0]\n }\n\n return typeof obj.nodeType !== 'undefined'\n}\n\nconst getElement = obj => {\n if (isElement(obj)) { // it's a jQuery object or a node element\n return obj.jquery ? obj[0] : obj\n }\n\n if (typeof obj === 'string' && obj.length > 0) {\n return document.querySelector(obj)\n }\n\n return null\n}\n\nconst typeCheckConfig = (componentName, config, configTypes) => {\n Object.keys(configTypes).forEach(property => {\n const expectedTypes = configTypes[property]\n const value = config[property]\n const valueType = value && isElement(value) ? 'element' : toType(value)\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new TypeError(\n `${componentName.toUpperCase()}: Option \"${property}\" provided type \"${valueType}\" but expected type \"${expectedTypes}\".`\n )\n }\n })\n}\n\nconst isVisible = element => {\n if (!isElement(element) || element.getClientRects().length === 0) {\n return false\n }\n\n return getComputedStyle(element).getPropertyValue('visibility') === 'visible'\n}\n\nconst isDisabled = element => {\n if (!element || element.nodeType !== Node.ELEMENT_NODE) {\n return true\n }\n\n if (element.classList.contains('disabled')) {\n return true\n }\n\n if (typeof element.disabled !== 'undefined') {\n return element.disabled\n }\n\n return element.hasAttribute('disabled') && element.getAttribute('disabled') !== 'false'\n}\n\nconst findShadowRoot = element => {\n if (!document.documentElement.attachShadow) {\n return null\n }\n\n // Can find the shadow root otherwise it'll return the document\n if (typeof element.getRootNode === 'function') {\n const root = element.getRootNode()\n return root instanceof ShadowRoot ? root : null\n }\n\n if (element instanceof ShadowRoot) {\n return element\n }\n\n // when we don't find a shadow root\n if (!element.parentNode) {\n return null\n }\n\n return findShadowRoot(element.parentNode)\n}\n\nconst noop = () => {}\n\n/**\n * Trick to restart an element's animation\n *\n * @param {HTMLElement} element\n * @return void\n *\n * @see https://www.charistheo.io/blog/2021/02/restart-a-css-animation-with-javascript/#restarting-a-css-animation\n */\nconst reflow = element => {\n // eslint-disable-next-line no-unused-expressions\n element.offsetHeight\n}\n\nconst getjQuery = () => {\n const { jQuery } = window\n\n if (jQuery && !document.body.hasAttribute('data-bs-no-jquery')) {\n return jQuery\n }\n\n return null\n}\n\nconst DOMContentLoadedCallbacks = []\n\nconst onDOMContentLoaded = callback => {\n if (document.readyState === 'loading') {\n // add listener on the first call when the document is in loading state\n if (!DOMContentLoadedCallbacks.length) {\n document.addEventListener('DOMContentLoaded', () => {\n DOMContentLoadedCallbacks.forEach(callback => callback())\n })\n }\n\n DOMContentLoadedCallbacks.push(callback)\n } else {\n callback()\n }\n}\n\nconst isRTL = () => document.documentElement.dir === 'rtl'\n\nconst defineJQueryPlugin = plugin => {\n onDOMContentLoaded(() => {\n const $ = getjQuery()\n /* istanbul ignore if */\n if ($) {\n const name = plugin.NAME\n const JQUERY_NO_CONFLICT = $.fn[name]\n $.fn[name] = plugin.jQueryInterface\n $.fn[name].Constructor = plugin\n $.fn[name].noConflict = () => {\n $.fn[name] = JQUERY_NO_CONFLICT\n return plugin.jQueryInterface\n }\n }\n })\n}\n\nconst execute = callback => {\n if (typeof callback === 'function') {\n callback()\n }\n}\n\nconst executeAfterTransition = (callback, transitionElement, waitForTransition = true) => {\n if (!waitForTransition) {\n execute(callback)\n return\n }\n\n const durationPadding = 5\n const emulatedDuration = getTransitionDurationFromElement(transitionElement) + durationPadding\n\n let called = false\n\n const handler = ({ target }) => {\n if (target !== transitionElement) {\n return\n }\n\n called = true\n transitionElement.removeEventListener(TRANSITION_END, handler)\n execute(callback)\n }\n\n transitionElement.addEventListener(TRANSITION_END, handler)\n setTimeout(() => {\n if (!called) {\n triggerTransitionEnd(transitionElement)\n }\n }, emulatedDuration)\n}\n\n/**\n * Return the previous/next element of a list.\n *\n * @param {array} list The list of elements\n * @param activeElement The active element\n * @param shouldGetNext Choose to get next or previous element\n * @param isCycleAllowed\n * @return {Element|elem} The proper element\n */\nconst getNextActiveElement = (list, activeElement, shouldGetNext, isCycleAllowed) => {\n let index = list.indexOf(activeElement)\n\n // if the element does not exist in the list return an element depending on the direction and if cycle is allowed\n if (index === -1) {\n return list[!shouldGetNext && isCycleAllowed ? list.length - 1 : 0]\n }\n\n const listLength = list.length\n\n index += shouldGetNext ? 1 : -1\n\n if (isCycleAllowed) {\n index = (index + listLength) % listLength\n }\n\n return list[Math.max(0, Math.min(index, listLength - 1))]\n}\n\nexport {\n getElement,\n getUID,\n getSelectorFromElement,\n getElementFromSelector,\n getTransitionDurationFromElement,\n triggerTransitionEnd,\n isElement,\n typeCheckConfig,\n isVisible,\n isDisabled,\n findShadowRoot,\n noop,\n getNextActiveElement,\n reflow,\n getjQuery,\n onDOMContentLoaded,\n isRTL,\n defineJQueryPlugin,\n execute,\n executeAfterTransition\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.1.3): button.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { defineJQueryPlugin } from './util/index'\nimport EventHandler from './dom/event-handler'\nimport BaseComponent from './base-component'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'button'\nconst DATA_KEY = 'bs.button'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst CLASS_NAME_ACTIVE = 'active'\n\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"button\"]'\n\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Button extends BaseComponent {\n // Getters\n\n static get NAME() {\n return NAME\n }\n\n // Public\n\n toggle() {\n // Toggle class and sync the `aria-pressed` attribute with the return value of the `.toggle()` method\n this._element.setAttribute('aria-pressed', this._element.classList.toggle(CLASS_NAME_ACTIVE))\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Button.getOrCreateInstance(this)\n\n if (config === 'toggle') {\n data[config]()\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, event => {\n event.preventDefault()\n\n const button = event.target.closest(SELECTOR_DATA_TOGGLE)\n const data = Button.getOrCreateInstance(button)\n\n data.toggle()\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .Button to jQuery only if jQuery is present\n */\n\ndefineJQueryPlugin(Button)\n\nexport default Button\n"],"names":["getjQuery","jQuery","window","document","body","hasAttribute","DOMContentLoadedCallbacks","onDOMContentLoaded","callback","readyState","length","addEventListener","forEach","push","defineJQueryPlugin","plugin","$","name","NAME","JQUERY_NO_CONFLICT","fn","jQueryInterface","Constructor","noConflict","DATA_KEY","EVENT_KEY","DATA_API_KEY","CLASS_NAME_ACTIVE","SELECTOR_DATA_TOGGLE","EVENT_CLICK_DATA_API","Button","BaseComponent","toggle","_element","setAttribute","classList","config","each","data","getOrCreateInstance","EventHandler","on","event","preventDefault","button","target","closest"],"mappings":"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"} \ No newline at end of file diff --git a/src/js/bs/dist/carousel.js b/src/js/bs/dist/carousel.js deleted file mode 100644 index 94fb272a1..000000000 --- a/src/js/bs/dist/carousel.js +++ /dev/null @@ -1,743 +0,0 @@ -/*! - * Bootstrap carousel.js v5.1.3 (https://getbootstrap.com/) - * Copyright 2011-2021 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) - */ -(function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('./dom/event-handler.js'), require('./dom/manipulator.js'), require('./dom/selector-engine.js'), require('./base-component.js')) : - typeof define === 'function' && define.amd ? define(['./dom/event-handler', './dom/manipulator', './dom/selector-engine', './base-component'], factory) : - (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Carousel = factory(global.EventHandler, global.Manipulator, global.SelectorEngine, global.Base)); -})(this, (function (EventHandler, Manipulator, SelectorEngine, BaseComponent) { 'use strict'; - - const _interopDefaultLegacy = e => e && typeof e === 'object' && 'default' in e ? e : { default: e }; - - const EventHandler__default = /*#__PURE__*/_interopDefaultLegacy(EventHandler); - const Manipulator__default = /*#__PURE__*/_interopDefaultLegacy(Manipulator); - const SelectorEngine__default = /*#__PURE__*/_interopDefaultLegacy(SelectorEngine); - const BaseComponent__default = /*#__PURE__*/_interopDefaultLegacy(BaseComponent); - - /** - * -------------------------------------------------------------------------- - * Bootstrap (v5.1.3): util/index.js - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) - * -------------------------------------------------------------------------- - */ - const TRANSITION_END = 'transitionend'; // Shoutout AngusCroll (https://goo.gl/pxwQGp) - - const toType = obj => { - if (obj === null || obj === undefined) { - return `${obj}`; - } - - return {}.toString.call(obj).match(/\s([a-z]+)/i)[1].toLowerCase(); - }; - - const getSelector = element => { - let selector = element.getAttribute('data-bs-target'); - - if (!selector || selector === '#') { - let hrefAttr = element.getAttribute('href'); // The only valid content that could double as a selector are IDs or classes, - // so everything starting with `#` or `.`. If a "real" URL is used as the selector, - // `document.querySelector` will rightfully complain it is invalid. - // See https://github.com/twbs/bootstrap/issues/32273 - - if (!hrefAttr || !hrefAttr.includes('#') && !hrefAttr.startsWith('.')) { - return null; - } // Just in case some CMS puts out a full URL with the anchor appended - - - if (hrefAttr.includes('#') && !hrefAttr.startsWith('#')) { - hrefAttr = `#${hrefAttr.split('#')[1]}`; - } - - selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : null; - } - - return selector; - }; - - const getElementFromSelector = element => { - const selector = getSelector(element); - return selector ? document.querySelector(selector) : null; - }; - - const triggerTransitionEnd = element => { - element.dispatchEvent(new Event(TRANSITION_END)); - }; - - const isElement = obj => { - if (!obj || typeof obj !== 'object') { - return false; - } - - if (typeof obj.jquery !== 'undefined') { - obj = obj[0]; - } - - return typeof obj.nodeType !== 'undefined'; - }; - - const typeCheckConfig = (componentName, config, configTypes) => { - Object.keys(configTypes).forEach(property => { - const expectedTypes = configTypes[property]; - const value = config[property]; - const valueType = value && isElement(value) ? 'element' : toType(value); - - if (!new RegExp(expectedTypes).test(valueType)) { - throw new TypeError(`${componentName.toUpperCase()}: Option "${property}" provided type "${valueType}" but expected type "${expectedTypes}".`); - } - }); - }; - - const isVisible = element => { - if (!isElement(element) || element.getClientRects().length === 0) { - return false; - } - - return getComputedStyle(element).getPropertyValue('visibility') === 'visible'; - }; - /** - * Trick to restart an element's animation - * - * @param {HTMLElement} element - * @return void - * - * @see https://www.charistheo.io/blog/2021/02/restart-a-css-animation-with-javascript/#restarting-a-css-animation - */ - - - const reflow = element => { - // eslint-disable-next-line no-unused-expressions - element.offsetHeight; - }; - - const getjQuery = () => { - const { - jQuery - } = window; - - if (jQuery && !document.body.hasAttribute('data-bs-no-jquery')) { - return jQuery; - } - - return null; - }; - - const DOMContentLoadedCallbacks = []; - - const onDOMContentLoaded = callback => { - if (document.readyState === 'loading') { - // add listener on the first call when the document is in loading state - if (!DOMContentLoadedCallbacks.length) { - document.addEventListener('DOMContentLoaded', () => { - DOMContentLoadedCallbacks.forEach(callback => callback()); - }); - } - - DOMContentLoadedCallbacks.push(callback); - } else { - callback(); - } - }; - - const isRTL = () => document.documentElement.dir === 'rtl'; - - const defineJQueryPlugin = plugin => { - onDOMContentLoaded(() => { - const $ = getjQuery(); - /* istanbul ignore if */ - - if ($) { - const name = plugin.NAME; - const JQUERY_NO_CONFLICT = $.fn[name]; - $.fn[name] = plugin.jQueryInterface; - $.fn[name].Constructor = plugin; - - $.fn[name].noConflict = () => { - $.fn[name] = JQUERY_NO_CONFLICT; - return plugin.jQueryInterface; - }; - } - }); - }; - /** - * Return the previous/next element of a list. - * - * @param {array} list The list of elements - * @param activeElement The active element - * @param shouldGetNext Choose to get next or previous element - * @param isCycleAllowed - * @return {Element|elem} The proper element - */ - - - const getNextActiveElement = (list, activeElement, shouldGetNext, isCycleAllowed) => { - let index = list.indexOf(activeElement); // if the element does not exist in the list return an element depending on the direction and if cycle is allowed - - if (index === -1) { - return list[!shouldGetNext && isCycleAllowed ? list.length - 1 : 0]; - } - - const listLength = list.length; - index += shouldGetNext ? 1 : -1; - - if (isCycleAllowed) { - index = (index + listLength) % listLength; - } - - return list[Math.max(0, Math.min(index, listLength - 1))]; - }; - - /** - * -------------------------------------------------------------------------- - * Bootstrap (v5.1.3): carousel.js - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) - * -------------------------------------------------------------------------- - */ - /** - * ------------------------------------------------------------------------ - * Constants - * ------------------------------------------------------------------------ - */ - - const NAME = 'carousel'; - const DATA_KEY = 'bs.carousel'; - const EVENT_KEY = `.${DATA_KEY}`; - const DATA_API_KEY = '.data-api'; - const ARROW_LEFT_KEY = 'ArrowLeft'; - const ARROW_RIGHT_KEY = 'ArrowRight'; - const TOUCHEVENT_COMPAT_WAIT = 500; // Time for mouse compat events to fire after touch - - const SWIPE_THRESHOLD = 40; - const Default = { - interval: 5000, - keyboard: true, - slide: false, - pause: 'hover', - wrap: true, - touch: true - }; - const DefaultType = { - interval: '(number|boolean)', - keyboard: 'boolean', - slide: '(boolean|string)', - pause: '(string|boolean)', - wrap: 'boolean', - touch: 'boolean' - }; - const ORDER_NEXT = 'next'; - const ORDER_PREV = 'prev'; - const DIRECTION_LEFT = 'left'; - const DIRECTION_RIGHT = 'right'; - const KEY_TO_DIRECTION = { - [ARROW_LEFT_KEY]: DIRECTION_RIGHT, - [ARROW_RIGHT_KEY]: DIRECTION_LEFT - }; - const EVENT_SLIDE = `slide${EVENT_KEY}`; - const EVENT_SLID = `slid${EVENT_KEY}`; - const EVENT_KEYDOWN = `keydown${EVENT_KEY}`; - const EVENT_MOUSEENTER = `mouseenter${EVENT_KEY}`; - const EVENT_MOUSELEAVE = `mouseleave${EVENT_KEY}`; - const EVENT_TOUCHSTART = `touchstart${EVENT_KEY}`; - const EVENT_TOUCHMOVE = `touchmove${EVENT_KEY}`; - const EVENT_TOUCHEND = `touchend${EVENT_KEY}`; - const EVENT_POINTERDOWN = `pointerdown${EVENT_KEY}`; - const EVENT_POINTERUP = `pointerup${EVENT_KEY}`; - const EVENT_DRAG_START = `dragstart${EVENT_KEY}`; - const EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`; - const EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`; - const CLASS_NAME_CAROUSEL = 'carousel'; - const CLASS_NAME_ACTIVE = 'active'; - const CLASS_NAME_SLIDE = 'slide'; - const CLASS_NAME_END = 'carousel-item-end'; - const CLASS_NAME_START = 'carousel-item-start'; - const CLASS_NAME_NEXT = 'carousel-item-next'; - const CLASS_NAME_PREV = 'carousel-item-prev'; - const CLASS_NAME_POINTER_EVENT = 'pointer-event'; - const SELECTOR_ACTIVE = '.active'; - const SELECTOR_ACTIVE_ITEM = '.active.carousel-item'; - const SELECTOR_ITEM = '.carousel-item'; - const SELECTOR_ITEM_IMG = '.carousel-item img'; - const SELECTOR_NEXT_PREV = '.carousel-item-next, .carousel-item-prev'; - const SELECTOR_INDICATORS = '.carousel-indicators'; - const SELECTOR_INDICATOR = '[data-bs-target]'; - const SELECTOR_DATA_SLIDE = '[data-bs-slide], [data-bs-slide-to]'; - const SELECTOR_DATA_RIDE = '[data-bs-ride="carousel"]'; - const POINTER_TYPE_TOUCH = 'touch'; - const POINTER_TYPE_PEN = 'pen'; - /** - * ------------------------------------------------------------------------ - * Class Definition - * ------------------------------------------------------------------------ - */ - - class Carousel extends BaseComponent__default.default { - constructor(element, config) { - super(element); - this._items = null; - this._interval = null; - this._activeElement = null; - this._isPaused = false; - this._isSliding = false; - this.touchTimeout = null; - this.touchStartX = 0; - this.touchDeltaX = 0; - this._config = this._getConfig(config); - this._indicatorsElement = SelectorEngine__default.default.findOne(SELECTOR_INDICATORS, this._element); - this._touchSupported = 'ontouchstart' in document.documentElement || navigator.maxTouchPoints > 0; - this._pointerEvent = Boolean(window.PointerEvent); - - this._addEventListeners(); - } // Getters - - - static get Default() { - return Default; - } - - static get NAME() { - return NAME; - } // Public - - - next() { - this._slide(ORDER_NEXT); - } - - nextWhenVisible() { - // Don't call next when the page isn't visible - // or the carousel or its parent isn't visible - if (!document.hidden && isVisible(this._element)) { - this.next(); - } - } - - prev() { - this._slide(ORDER_PREV); - } - - pause(event) { - if (!event) { - this._isPaused = true; - } - - if (SelectorEngine__default.default.findOne(SELECTOR_NEXT_PREV, this._element)) { - triggerTransitionEnd(this._element); - this.cycle(true); - } - - clearInterval(this._interval); - this._interval = null; - } - - cycle(event) { - if (!event) { - this._isPaused = false; - } - - if (this._interval) { - clearInterval(this._interval); - this._interval = null; - } - - if (this._config && this._config.interval && !this._isPaused) { - this._updateInterval(); - - this._interval = setInterval((document.visibilityState ? this.nextWhenVisible : this.next).bind(this), this._config.interval); - } - } - - to(index) { - this._activeElement = SelectorEngine__default.default.findOne(SELECTOR_ACTIVE_ITEM, this._element); - - const activeIndex = this._getItemIndex(this._activeElement); - - if (index > this._items.length - 1 || index < 0) { - return; - } - - if (this._isSliding) { - EventHandler__default.default.one(this._element, EVENT_SLID, () => this.to(index)); - return; - } - - if (activeIndex === index) { - this.pause(); - this.cycle(); - return; - } - - const order = index > activeIndex ? ORDER_NEXT : ORDER_PREV; - - this._slide(order, this._items[index]); - } // Private - - - _getConfig(config) { - config = { ...Default, - ...Manipulator__default.default.getDataAttributes(this._element), - ...(typeof config === 'object' ? config : {}) - }; - typeCheckConfig(NAME, config, DefaultType); - return config; - } - - _handleSwipe() { - const absDeltax = Math.abs(this.touchDeltaX); - - if (absDeltax <= SWIPE_THRESHOLD) { - return; - } - - const direction = absDeltax / this.touchDeltaX; - this.touchDeltaX = 0; - - if (!direction) { - return; - } - - this._slide(direction > 0 ? DIRECTION_RIGHT : DIRECTION_LEFT); - } - - _addEventListeners() { - if (this._config.keyboard) { - EventHandler__default.default.on(this._element, EVENT_KEYDOWN, event => this._keydown(event)); - } - - if (this._config.pause === 'hover') { - EventHandler__default.default.on(this._element, EVENT_MOUSEENTER, event => this.pause(event)); - EventHandler__default.default.on(this._element, EVENT_MOUSELEAVE, event => this.cycle(event)); - } - - if (this._config.touch && this._touchSupported) { - this._addTouchEventListeners(); - } - } - - _addTouchEventListeners() { - const hasPointerPenTouch = event => { - return this._pointerEvent && (event.pointerType === POINTER_TYPE_PEN || event.pointerType === POINTER_TYPE_TOUCH); - }; - - const start = event => { - if (hasPointerPenTouch(event)) { - this.touchStartX = event.clientX; - } else if (!this._pointerEvent) { - this.touchStartX = event.touches[0].clientX; - } - }; - - const move = event => { - // ensure swiping with one touch and not pinching - this.touchDeltaX = event.touches && event.touches.length > 1 ? 0 : event.touches[0].clientX - this.touchStartX; - }; - - const end = event => { - if (hasPointerPenTouch(event)) { - this.touchDeltaX = event.clientX - this.touchStartX; - } - - this._handleSwipe(); - - if (this._config.pause === 'hover') { - // If it's a touch-enabled device, mouseenter/leave are fired as - // part of the mouse compatibility events on first tap - the carousel - // would stop cycling until user tapped out of it; - // here, we listen for touchend, explicitly pause the carousel - // (as if it's the second time we tap on it, mouseenter compat event - // is NOT fired) and after a timeout (to allow for mouse compatibility - // events to fire) we explicitly restart cycling - this.pause(); - - if (this.touchTimeout) { - clearTimeout(this.touchTimeout); - } - - this.touchTimeout = setTimeout(event => this.cycle(event), TOUCHEVENT_COMPAT_WAIT + this._config.interval); - } - }; - - SelectorEngine__default.default.find(SELECTOR_ITEM_IMG, this._element).forEach(itemImg => { - EventHandler__default.default.on(itemImg, EVENT_DRAG_START, event => event.preventDefault()); - }); - - if (this._pointerEvent) { - EventHandler__default.default.on(this._element, EVENT_POINTERDOWN, event => start(event)); - EventHandler__default.default.on(this._element, EVENT_POINTERUP, event => end(event)); - - this._element.classList.add(CLASS_NAME_POINTER_EVENT); - } else { - EventHandler__default.default.on(this._element, EVENT_TOUCHSTART, event => start(event)); - EventHandler__default.default.on(this._element, EVENT_TOUCHMOVE, event => move(event)); - EventHandler__default.default.on(this._element, EVENT_TOUCHEND, event => end(event)); - } - } - - _keydown(event) { - if (/input|textarea/i.test(event.target.tagName)) { - return; - } - - const direction = KEY_TO_DIRECTION[event.key]; - - if (direction) { - event.preventDefault(); - - this._slide(direction); - } - } - - _getItemIndex(element) { - this._items = element && element.parentNode ? SelectorEngine__default.default.find(SELECTOR_ITEM, element.parentNode) : []; - return this._items.indexOf(element); - } - - _getItemByOrder(order, activeElement) { - const isNext = order === ORDER_NEXT; - return getNextActiveElement(this._items, activeElement, isNext, this._config.wrap); - } - - _triggerSlideEvent(relatedTarget, eventDirectionName) { - const targetIndex = this._getItemIndex(relatedTarget); - - const fromIndex = this._getItemIndex(SelectorEngine__default.default.findOne(SELECTOR_ACTIVE_ITEM, this._element)); - - return EventHandler__default.default.trigger(this._element, EVENT_SLIDE, { - relatedTarget, - direction: eventDirectionName, - from: fromIndex, - to: targetIndex - }); - } - - _setActiveIndicatorElement(element) { - if (this._indicatorsElement) { - const activeIndicator = SelectorEngine__default.default.findOne(SELECTOR_ACTIVE, this._indicatorsElement); - activeIndicator.classList.remove(CLASS_NAME_ACTIVE); - activeIndicator.removeAttribute('aria-current'); - const indicators = SelectorEngine__default.default.find(SELECTOR_INDICATOR, this._indicatorsElement); - - for (let i = 0; i < indicators.length; i++) { - if (Number.parseInt(indicators[i].getAttribute('data-bs-slide-to'), 10) === this._getItemIndex(element)) { - indicators[i].classList.add(CLASS_NAME_ACTIVE); - indicators[i].setAttribute('aria-current', 'true'); - break; - } - } - } - } - - _updateInterval() { - const element = this._activeElement || SelectorEngine__default.default.findOne(SELECTOR_ACTIVE_ITEM, this._element); - - if (!element) { - return; - } - - const elementInterval = Number.parseInt(element.getAttribute('data-bs-interval'), 10); - - if (elementInterval) { - this._config.defaultInterval = this._config.defaultInterval || this._config.interval; - this._config.interval = elementInterval; - } else { - this._config.interval = this._config.defaultInterval || this._config.interval; - } - } - - _slide(directionOrOrder, element) { - const order = this._directionToOrder(directionOrOrder); - - const activeElement = SelectorEngine__default.default.findOne(SELECTOR_ACTIVE_ITEM, this._element); - - const activeElementIndex = this._getItemIndex(activeElement); - - const nextElement = element || this._getItemByOrder(order, activeElement); - - const nextElementIndex = this._getItemIndex(nextElement); - - const isCycling = Boolean(this._interval); - const isNext = order === ORDER_NEXT; - const directionalClassName = isNext ? CLASS_NAME_START : CLASS_NAME_END; - const orderClassName = isNext ? CLASS_NAME_NEXT : CLASS_NAME_PREV; - - const eventDirectionName = this._orderToDirection(order); - - if (nextElement && nextElement.classList.contains(CLASS_NAME_ACTIVE)) { - this._isSliding = false; - return; - } - - if (this._isSliding) { - return; - } - - const slideEvent = this._triggerSlideEvent(nextElement, eventDirectionName); - - if (slideEvent.defaultPrevented) { - return; - } - - if (!activeElement || !nextElement) { - // Some weirdness is happening, so we bail - return; - } - - this._isSliding = true; - - if (isCycling) { - this.pause(); - } - - this._setActiveIndicatorElement(nextElement); - - this._activeElement = nextElement; - - const triggerSlidEvent = () => { - EventHandler__default.default.trigger(this._element, EVENT_SLID, { - relatedTarget: nextElement, - direction: eventDirectionName, - from: activeElementIndex, - to: nextElementIndex - }); - }; - - if (this._element.classList.contains(CLASS_NAME_SLIDE)) { - nextElement.classList.add(orderClassName); - reflow(nextElement); - activeElement.classList.add(directionalClassName); - nextElement.classList.add(directionalClassName); - - const completeCallBack = () => { - nextElement.classList.remove(directionalClassName, orderClassName); - nextElement.classList.add(CLASS_NAME_ACTIVE); - activeElement.classList.remove(CLASS_NAME_ACTIVE, orderClassName, directionalClassName); - this._isSliding = false; - setTimeout(triggerSlidEvent, 0); - }; - - this._queueCallback(completeCallBack, activeElement, true); - } else { - activeElement.classList.remove(CLASS_NAME_ACTIVE); - nextElement.classList.add(CLASS_NAME_ACTIVE); - this._isSliding = false; - triggerSlidEvent(); - } - - if (isCycling) { - this.cycle(); - } - } - - _directionToOrder(direction) { - if (![DIRECTION_RIGHT, DIRECTION_LEFT].includes(direction)) { - return direction; - } - - if (isRTL()) { - return direction === DIRECTION_LEFT ? ORDER_PREV : ORDER_NEXT; - } - - return direction === DIRECTION_LEFT ? ORDER_NEXT : ORDER_PREV; - } - - _orderToDirection(order) { - if (![ORDER_NEXT, ORDER_PREV].includes(order)) { - return order; - } - - if (isRTL()) { - return order === ORDER_PREV ? DIRECTION_LEFT : DIRECTION_RIGHT; - } - - return order === ORDER_PREV ? DIRECTION_RIGHT : DIRECTION_LEFT; - } // Static - - - static carouselInterface(element, config) { - const data = Carousel.getOrCreateInstance(element, config); - let { - _config - } = data; - - if (typeof config === 'object') { - _config = { ..._config, - ...config - }; - } - - const action = typeof config === 'string' ? config : _config.slide; - - if (typeof config === 'number') { - data.to(config); - } else if (typeof action === 'string') { - if (typeof data[action] === 'undefined') { - throw new TypeError(`No method named "${action}"`); - } - - data[action](); - } else if (_config.interval && _config.ride) { - data.pause(); - data.cycle(); - } - } - - static jQueryInterface(config) { - return this.each(function () { - Carousel.carouselInterface(this, config); - }); - } - - static dataApiClickHandler(event) { - const target = getElementFromSelector(this); - - if (!target || !target.classList.contains(CLASS_NAME_CAROUSEL)) { - return; - } - - const config = { ...Manipulator__default.default.getDataAttributes(target), - ...Manipulator__default.default.getDataAttributes(this) - }; - const slideIndex = this.getAttribute('data-bs-slide-to'); - - if (slideIndex) { - config.interval = false; - } - - Carousel.carouselInterface(target, config); - - if (slideIndex) { - Carousel.getInstance(target).to(slideIndex); - } - - event.preventDefault(); - } - - } - /** - * ------------------------------------------------------------------------ - * Data Api implementation - * ------------------------------------------------------------------------ - */ - - - EventHandler__default.default.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_SLIDE, Carousel.dataApiClickHandler); - EventHandler__default.default.on(window, EVENT_LOAD_DATA_API, () => { - const carousels = SelectorEngine__default.default.find(SELECTOR_DATA_RIDE); - - for (let i = 0, len = carousels.length; i < len; i++) { - Carousel.carouselInterface(carousels[i], Carousel.getInstance(carousels[i])); - } - }); - /** - * ------------------------------------------------------------------------ - * jQuery - * ------------------------------------------------------------------------ - * add .Carousel to jQuery only if jQuery is present - */ - - defineJQueryPlugin(Carousel); - - return Carousel; - -})); -//# sourceMappingURL=carousel.js.map diff --git a/src/js/bs/dist/carousel.js.map b/src/js/bs/dist/carousel.js.map deleted file mode 100644 index deda5f51e..000000000 --- a/src/js/bs/dist/carousel.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"carousel.js","sources":["../src/util/index.js","../src/carousel.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.1.3): util/index.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst MAX_UID = 1000000\nconst MILLISECONDS_MULTIPLIER = 1000\nconst TRANSITION_END = 'transitionend'\n\n// Shoutout AngusCroll (https://goo.gl/pxwQGp)\nconst toType = obj => {\n if (obj === null || obj === undefined) {\n return `${obj}`\n }\n\n return {}.toString.call(obj).match(/\\s([a-z]+)/i)[1].toLowerCase()\n}\n\n/**\n * --------------------------------------------------------------------------\n * Public Util Api\n * --------------------------------------------------------------------------\n */\n\nconst getUID = prefix => {\n do {\n prefix += Math.floor(Math.random() * MAX_UID)\n } while (document.getElementById(prefix))\n\n return prefix\n}\n\nconst getSelector = element => {\n let selector = element.getAttribute('data-bs-target')\n\n if (!selector || selector === '#') {\n let hrefAttr = element.getAttribute('href')\n\n // The only valid content that could double as a selector are IDs or classes,\n // so everything starting with `#` or `.`. If a \"real\" URL is used as the selector,\n // `document.querySelector` will rightfully complain it is invalid.\n // See https://github.com/twbs/bootstrap/issues/32273\n if (!hrefAttr || (!hrefAttr.includes('#') && !hrefAttr.startsWith('.'))) {\n return null\n }\n\n // Just in case some CMS puts out a full URL with the anchor appended\n if (hrefAttr.includes('#') && !hrefAttr.startsWith('#')) {\n hrefAttr = `#${hrefAttr.split('#')[1]}`\n }\n\n selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : null\n }\n\n return selector\n}\n\nconst getSelectorFromElement = element => {\n const selector = getSelector(element)\n\n if (selector) {\n return document.querySelector(selector) ? selector : null\n }\n\n return null\n}\n\nconst getElementFromSelector = element => {\n const selector = getSelector(element)\n\n return selector ? document.querySelector(selector) : null\n}\n\nconst getTransitionDurationFromElement = element => {\n if (!element) {\n return 0\n }\n\n // Get transition-duration of the element\n let { transitionDuration, transitionDelay } = window.getComputedStyle(element)\n\n const floatTransitionDuration = Number.parseFloat(transitionDuration)\n const floatTransitionDelay = Number.parseFloat(transitionDelay)\n\n // Return 0 if element or transition duration is not found\n if (!floatTransitionDuration && !floatTransitionDelay) {\n return 0\n }\n\n // If multiple durations are defined, take the first\n transitionDuration = transitionDuration.split(',')[0]\n transitionDelay = transitionDelay.split(',')[0]\n\n return (Number.parseFloat(transitionDuration) + Number.parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER\n}\n\nconst triggerTransitionEnd = element => {\n element.dispatchEvent(new Event(TRANSITION_END))\n}\n\nconst isElement = obj => {\n if (!obj || typeof obj !== 'object') {\n return false\n }\n\n if (typeof obj.jquery !== 'undefined') {\n obj = obj[0]\n }\n\n return typeof obj.nodeType !== 'undefined'\n}\n\nconst getElement = obj => {\n if (isElement(obj)) { // it's a jQuery object or a node element\n return obj.jquery ? obj[0] : obj\n }\n\n if (typeof obj === 'string' && obj.length > 0) {\n return document.querySelector(obj)\n }\n\n return null\n}\n\nconst typeCheckConfig = (componentName, config, configTypes) => {\n Object.keys(configTypes).forEach(property => {\n const expectedTypes = configTypes[property]\n const value = config[property]\n const valueType = value && isElement(value) ? 'element' : toType(value)\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new TypeError(\n `${componentName.toUpperCase()}: Option \"${property}\" provided type \"${valueType}\" but expected type \"${expectedTypes}\".`\n )\n }\n })\n}\n\nconst isVisible = element => {\n if (!isElement(element) || element.getClientRects().length === 0) {\n return false\n }\n\n return getComputedStyle(element).getPropertyValue('visibility') === 'visible'\n}\n\nconst isDisabled = element => {\n if (!element || element.nodeType !== Node.ELEMENT_NODE) {\n return true\n }\n\n if (element.classList.contains('disabled')) {\n return true\n }\n\n if (typeof element.disabled !== 'undefined') {\n return element.disabled\n }\n\n return element.hasAttribute('disabled') && element.getAttribute('disabled') !== 'false'\n}\n\nconst findShadowRoot = element => {\n if (!document.documentElement.attachShadow) {\n return null\n }\n\n // Can find the shadow root otherwise it'll return the document\n if (typeof element.getRootNode === 'function') {\n const root = element.getRootNode()\n return root instanceof ShadowRoot ? root : null\n }\n\n if (element instanceof ShadowRoot) {\n return element\n }\n\n // when we don't find a shadow root\n if (!element.parentNode) {\n return null\n }\n\n return findShadowRoot(element.parentNode)\n}\n\nconst noop = () => {}\n\n/**\n * Trick to restart an element's animation\n *\n * @param {HTMLElement} element\n * @return void\n *\n * @see https://www.charistheo.io/blog/2021/02/restart-a-css-animation-with-javascript/#restarting-a-css-animation\n */\nconst reflow = element => {\n // eslint-disable-next-line no-unused-expressions\n element.offsetHeight\n}\n\nconst getjQuery = () => {\n const { jQuery } = window\n\n if (jQuery && !document.body.hasAttribute('data-bs-no-jquery')) {\n return jQuery\n }\n\n return null\n}\n\nconst DOMContentLoadedCallbacks = []\n\nconst onDOMContentLoaded = callback => {\n if (document.readyState === 'loading') {\n // add listener on the first call when the document is in loading state\n if (!DOMContentLoadedCallbacks.length) {\n document.addEventListener('DOMContentLoaded', () => {\n DOMContentLoadedCallbacks.forEach(callback => callback())\n })\n }\n\n DOMContentLoadedCallbacks.push(callback)\n } else {\n callback()\n }\n}\n\nconst isRTL = () => document.documentElement.dir === 'rtl'\n\nconst defineJQueryPlugin = plugin => {\n onDOMContentLoaded(() => {\n const $ = getjQuery()\n /* istanbul ignore if */\n if ($) {\n const name = plugin.NAME\n const JQUERY_NO_CONFLICT = $.fn[name]\n $.fn[name] = plugin.jQueryInterface\n $.fn[name].Constructor = plugin\n $.fn[name].noConflict = () => {\n $.fn[name] = JQUERY_NO_CONFLICT\n return plugin.jQueryInterface\n }\n }\n })\n}\n\nconst execute = callback => {\n if (typeof callback === 'function') {\n callback()\n }\n}\n\nconst executeAfterTransition = (callback, transitionElement, waitForTransition = true) => {\n if (!waitForTransition) {\n execute(callback)\n return\n }\n\n const durationPadding = 5\n const emulatedDuration = getTransitionDurationFromElement(transitionElement) + durationPadding\n\n let called = false\n\n const handler = ({ target }) => {\n if (target !== transitionElement) {\n return\n }\n\n called = true\n transitionElement.removeEventListener(TRANSITION_END, handler)\n execute(callback)\n }\n\n transitionElement.addEventListener(TRANSITION_END, handler)\n setTimeout(() => {\n if (!called) {\n triggerTransitionEnd(transitionElement)\n }\n }, emulatedDuration)\n}\n\n/**\n * Return the previous/next element of a list.\n *\n * @param {array} list The list of elements\n * @param activeElement The active element\n * @param shouldGetNext Choose to get next or previous element\n * @param isCycleAllowed\n * @return {Element|elem} The proper element\n */\nconst getNextActiveElement = (list, activeElement, shouldGetNext, isCycleAllowed) => {\n let index = list.indexOf(activeElement)\n\n // if the element does not exist in the list return an element depending on the direction and if cycle is allowed\n if (index === -1) {\n return list[!shouldGetNext && isCycleAllowed ? list.length - 1 : 0]\n }\n\n const listLength = list.length\n\n index += shouldGetNext ? 1 : -1\n\n if (isCycleAllowed) {\n index = (index + listLength) % listLength\n }\n\n return list[Math.max(0, Math.min(index, listLength - 1))]\n}\n\nexport {\n getElement,\n getUID,\n getSelectorFromElement,\n getElementFromSelector,\n getTransitionDurationFromElement,\n triggerTransitionEnd,\n isElement,\n typeCheckConfig,\n isVisible,\n isDisabled,\n findShadowRoot,\n noop,\n getNextActiveElement,\n reflow,\n getjQuery,\n onDOMContentLoaded,\n isRTL,\n defineJQueryPlugin,\n execute,\n executeAfterTransition\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.1.3): carousel.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n defineJQueryPlugin,\n getElementFromSelector,\n isRTL,\n isVisible,\n getNextActiveElement,\n reflow,\n triggerTransitionEnd,\n typeCheckConfig\n} from './util/index'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport SelectorEngine from './dom/selector-engine'\nimport BaseComponent from './base-component'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'carousel'\nconst DATA_KEY = 'bs.carousel'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst ARROW_LEFT_KEY = 'ArrowLeft'\nconst ARROW_RIGHT_KEY = 'ArrowRight'\nconst TOUCHEVENT_COMPAT_WAIT = 500 // Time for mouse compat events to fire after touch\nconst SWIPE_THRESHOLD = 40\n\nconst Default = {\n interval: 5000,\n keyboard: true,\n slide: false,\n pause: 'hover',\n wrap: true,\n touch: true\n}\n\nconst DefaultType = {\n interval: '(number|boolean)',\n keyboard: 'boolean',\n slide: '(boolean|string)',\n pause: '(string|boolean)',\n wrap: 'boolean',\n touch: 'boolean'\n}\n\nconst ORDER_NEXT = 'next'\nconst ORDER_PREV = 'prev'\nconst DIRECTION_LEFT = 'left'\nconst DIRECTION_RIGHT = 'right'\n\nconst KEY_TO_DIRECTION = {\n [ARROW_LEFT_KEY]: DIRECTION_RIGHT,\n [ARROW_RIGHT_KEY]: DIRECTION_LEFT\n}\n\nconst EVENT_SLIDE = `slide${EVENT_KEY}`\nconst EVENT_SLID = `slid${EVENT_KEY}`\nconst EVENT_KEYDOWN = `keydown${EVENT_KEY}`\nconst EVENT_MOUSEENTER = `mouseenter${EVENT_KEY}`\nconst EVENT_MOUSELEAVE = `mouseleave${EVENT_KEY}`\nconst EVENT_TOUCHSTART = `touchstart${EVENT_KEY}`\nconst EVENT_TOUCHMOVE = `touchmove${EVENT_KEY}`\nconst EVENT_TOUCHEND = `touchend${EVENT_KEY}`\nconst EVENT_POINTERDOWN = `pointerdown${EVENT_KEY}`\nconst EVENT_POINTERUP = `pointerup${EVENT_KEY}`\nconst EVENT_DRAG_START = `dragstart${EVENT_KEY}`\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_CAROUSEL = 'carousel'\nconst CLASS_NAME_ACTIVE = 'active'\nconst CLASS_NAME_SLIDE = 'slide'\nconst CLASS_NAME_END = 'carousel-item-end'\nconst CLASS_NAME_START = 'carousel-item-start'\nconst CLASS_NAME_NEXT = 'carousel-item-next'\nconst CLASS_NAME_PREV = 'carousel-item-prev'\nconst CLASS_NAME_POINTER_EVENT = 'pointer-event'\n\nconst SELECTOR_ACTIVE = '.active'\nconst SELECTOR_ACTIVE_ITEM = '.active.carousel-item'\nconst SELECTOR_ITEM = '.carousel-item'\nconst SELECTOR_ITEM_IMG = '.carousel-item img'\nconst SELECTOR_NEXT_PREV = '.carousel-item-next, .carousel-item-prev'\nconst SELECTOR_INDICATORS = '.carousel-indicators'\nconst SELECTOR_INDICATOR = '[data-bs-target]'\nconst SELECTOR_DATA_SLIDE = '[data-bs-slide], [data-bs-slide-to]'\nconst SELECTOR_DATA_RIDE = '[data-bs-ride=\"carousel\"]'\n\nconst POINTER_TYPE_TOUCH = 'touch'\nconst POINTER_TYPE_PEN = 'pen'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\nclass Carousel extends BaseComponent {\n constructor(element, config) {\n super(element)\n\n this._items = null\n this._interval = null\n this._activeElement = null\n this._isPaused = false\n this._isSliding = false\n this.touchTimeout = null\n this.touchStartX = 0\n this.touchDeltaX = 0\n\n this._config = this._getConfig(config)\n this._indicatorsElement = SelectorEngine.findOne(SELECTOR_INDICATORS, this._element)\n this._touchSupported = 'ontouchstart' in document.documentElement || navigator.maxTouchPoints > 0\n this._pointerEvent = Boolean(window.PointerEvent)\n\n this._addEventListeners()\n }\n\n // Getters\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n\n next() {\n this._slide(ORDER_NEXT)\n }\n\n nextWhenVisible() {\n // Don't call next when the page isn't visible\n // or the carousel or its parent isn't visible\n if (!document.hidden && isVisible(this._element)) {\n this.next()\n }\n }\n\n prev() {\n this._slide(ORDER_PREV)\n }\n\n pause(event) {\n if (!event) {\n this._isPaused = true\n }\n\n if (SelectorEngine.findOne(SELECTOR_NEXT_PREV, this._element)) {\n triggerTransitionEnd(this._element)\n this.cycle(true)\n }\n\n clearInterval(this._interval)\n this._interval = null\n }\n\n cycle(event) {\n if (!event) {\n this._isPaused = false\n }\n\n if (this._interval) {\n clearInterval(this._interval)\n this._interval = null\n }\n\n if (this._config && this._config.interval && !this._isPaused) {\n this._updateInterval()\n\n this._interval = setInterval(\n (document.visibilityState ? this.nextWhenVisible : this.next).bind(this),\n this._config.interval\n )\n }\n }\n\n to(index) {\n this._activeElement = SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element)\n const activeIndex = this._getItemIndex(this._activeElement)\n\n if (index > this._items.length - 1 || index < 0) {\n return\n }\n\n if (this._isSliding) {\n EventHandler.one(this._element, EVENT_SLID, () => this.to(index))\n return\n }\n\n if (activeIndex === index) {\n this.pause()\n this.cycle()\n return\n }\n\n const order = index > activeIndex ?\n ORDER_NEXT :\n ORDER_PREV\n\n this._slide(order, this._items[index])\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...Manipulator.getDataAttributes(this._element),\n ...(typeof config === 'object' ? config : {})\n }\n typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _handleSwipe() {\n const absDeltax = Math.abs(this.touchDeltaX)\n\n if (absDeltax <= SWIPE_THRESHOLD) {\n return\n }\n\n const direction = absDeltax / this.touchDeltaX\n\n this.touchDeltaX = 0\n\n if (!direction) {\n return\n }\n\n this._slide(direction > 0 ? DIRECTION_RIGHT : DIRECTION_LEFT)\n }\n\n _addEventListeners() {\n if (this._config.keyboard) {\n EventHandler.on(this._element, EVENT_KEYDOWN, event => this._keydown(event))\n }\n\n if (this._config.pause === 'hover') {\n EventHandler.on(this._element, EVENT_MOUSEENTER, event => this.pause(event))\n EventHandler.on(this._element, EVENT_MOUSELEAVE, event => this.cycle(event))\n }\n\n if (this._config.touch && this._touchSupported) {\n this._addTouchEventListeners()\n }\n }\n\n _addTouchEventListeners() {\n const hasPointerPenTouch = event => {\n return this._pointerEvent &&\n (event.pointerType === POINTER_TYPE_PEN || event.pointerType === POINTER_TYPE_TOUCH)\n }\n\n const start = event => {\n if (hasPointerPenTouch(event)) {\n this.touchStartX = event.clientX\n } else if (!this._pointerEvent) {\n this.touchStartX = event.touches[0].clientX\n }\n }\n\n const move = event => {\n // ensure swiping with one touch and not pinching\n this.touchDeltaX = event.touches && event.touches.length > 1 ?\n 0 :\n event.touches[0].clientX - this.touchStartX\n }\n\n const end = event => {\n if (hasPointerPenTouch(event)) {\n this.touchDeltaX = event.clientX - this.touchStartX\n }\n\n this._handleSwipe()\n if (this._config.pause === 'hover') {\n // If it's a touch-enabled device, mouseenter/leave are fired as\n // part of the mouse compatibility events on first tap - the carousel\n // would stop cycling until user tapped out of it;\n // here, we listen for touchend, explicitly pause the carousel\n // (as if it's the second time we tap on it, mouseenter compat event\n // is NOT fired) and after a timeout (to allow for mouse compatibility\n // events to fire) we explicitly restart cycling\n\n this.pause()\n if (this.touchTimeout) {\n clearTimeout(this.touchTimeout)\n }\n\n this.touchTimeout = setTimeout(event => this.cycle(event), TOUCHEVENT_COMPAT_WAIT + this._config.interval)\n }\n }\n\n SelectorEngine.find(SELECTOR_ITEM_IMG, this._element).forEach(itemImg => {\n EventHandler.on(itemImg, EVENT_DRAG_START, event => event.preventDefault())\n })\n\n if (this._pointerEvent) {\n EventHandler.on(this._element, EVENT_POINTERDOWN, event => start(event))\n EventHandler.on(this._element, EVENT_POINTERUP, event => end(event))\n\n this._element.classList.add(CLASS_NAME_POINTER_EVENT)\n } else {\n EventHandler.on(this._element, EVENT_TOUCHSTART, event => start(event))\n EventHandler.on(this._element, EVENT_TOUCHMOVE, event => move(event))\n EventHandler.on(this._element, EVENT_TOUCHEND, event => end(event))\n }\n }\n\n _keydown(event) {\n if (/input|textarea/i.test(event.target.tagName)) {\n return\n }\n\n const direction = KEY_TO_DIRECTION[event.key]\n if (direction) {\n event.preventDefault()\n this._slide(direction)\n }\n }\n\n _getItemIndex(element) {\n this._items = element && element.parentNode ?\n SelectorEngine.find(SELECTOR_ITEM, element.parentNode) :\n []\n\n return this._items.indexOf(element)\n }\n\n _getItemByOrder(order, activeElement) {\n const isNext = order === ORDER_NEXT\n return getNextActiveElement(this._items, activeElement, isNext, this._config.wrap)\n }\n\n _triggerSlideEvent(relatedTarget, eventDirectionName) {\n const targetIndex = this._getItemIndex(relatedTarget)\n const fromIndex = this._getItemIndex(SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element))\n\n return EventHandler.trigger(this._element, EVENT_SLIDE, {\n relatedTarget,\n direction: eventDirectionName,\n from: fromIndex,\n to: targetIndex\n })\n }\n\n _setActiveIndicatorElement(element) {\n if (this._indicatorsElement) {\n const activeIndicator = SelectorEngine.findOne(SELECTOR_ACTIVE, this._indicatorsElement)\n\n activeIndicator.classList.remove(CLASS_NAME_ACTIVE)\n activeIndicator.removeAttribute('aria-current')\n\n const indicators = SelectorEngine.find(SELECTOR_INDICATOR, this._indicatorsElement)\n\n for (let i = 0; i < indicators.length; i++) {\n if (Number.parseInt(indicators[i].getAttribute('data-bs-slide-to'), 10) === this._getItemIndex(element)) {\n indicators[i].classList.add(CLASS_NAME_ACTIVE)\n indicators[i].setAttribute('aria-current', 'true')\n break\n }\n }\n }\n }\n\n _updateInterval() {\n const element = this._activeElement || SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element)\n\n if (!element) {\n return\n }\n\n const elementInterval = Number.parseInt(element.getAttribute('data-bs-interval'), 10)\n\n if (elementInterval) {\n this._config.defaultInterval = this._config.defaultInterval || this._config.interval\n this._config.interval = elementInterval\n } else {\n this._config.interval = this._config.defaultInterval || this._config.interval\n }\n }\n\n _slide(directionOrOrder, element) {\n const order = this._directionToOrder(directionOrOrder)\n const activeElement = SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element)\n const activeElementIndex = this._getItemIndex(activeElement)\n const nextElement = element || this._getItemByOrder(order, activeElement)\n\n const nextElementIndex = this._getItemIndex(nextElement)\n const isCycling = Boolean(this._interval)\n\n const isNext = order === ORDER_NEXT\n const directionalClassName = isNext ? CLASS_NAME_START : CLASS_NAME_END\n const orderClassName = isNext ? CLASS_NAME_NEXT : CLASS_NAME_PREV\n const eventDirectionName = this._orderToDirection(order)\n\n if (nextElement && nextElement.classList.contains(CLASS_NAME_ACTIVE)) {\n this._isSliding = false\n return\n }\n\n if (this._isSliding) {\n return\n }\n\n const slideEvent = this._triggerSlideEvent(nextElement, eventDirectionName)\n if (slideEvent.defaultPrevented) {\n return\n }\n\n if (!activeElement || !nextElement) {\n // Some weirdness is happening, so we bail\n return\n }\n\n this._isSliding = true\n\n if (isCycling) {\n this.pause()\n }\n\n this._setActiveIndicatorElement(nextElement)\n this._activeElement = nextElement\n\n const triggerSlidEvent = () => {\n EventHandler.trigger(this._element, EVENT_SLID, {\n relatedTarget: nextElement,\n direction: eventDirectionName,\n from: activeElementIndex,\n to: nextElementIndex\n })\n }\n\n if (this._element.classList.contains(CLASS_NAME_SLIDE)) {\n nextElement.classList.add(orderClassName)\n\n reflow(nextElement)\n\n activeElement.classList.add(directionalClassName)\n nextElement.classList.add(directionalClassName)\n\n const completeCallBack = () => {\n nextElement.classList.remove(directionalClassName, orderClassName)\n nextElement.classList.add(CLASS_NAME_ACTIVE)\n\n activeElement.classList.remove(CLASS_NAME_ACTIVE, orderClassName, directionalClassName)\n\n this._isSliding = false\n\n setTimeout(triggerSlidEvent, 0)\n }\n\n this._queueCallback(completeCallBack, activeElement, true)\n } else {\n activeElement.classList.remove(CLASS_NAME_ACTIVE)\n nextElement.classList.add(CLASS_NAME_ACTIVE)\n\n this._isSliding = false\n triggerSlidEvent()\n }\n\n if (isCycling) {\n this.cycle()\n }\n }\n\n _directionToOrder(direction) {\n if (![DIRECTION_RIGHT, DIRECTION_LEFT].includes(direction)) {\n return direction\n }\n\n if (isRTL()) {\n return direction === DIRECTION_LEFT ? ORDER_PREV : ORDER_NEXT\n }\n\n return direction === DIRECTION_LEFT ? ORDER_NEXT : ORDER_PREV\n }\n\n _orderToDirection(order) {\n if (![ORDER_NEXT, ORDER_PREV].includes(order)) {\n return order\n }\n\n if (isRTL()) {\n return order === ORDER_PREV ? DIRECTION_LEFT : DIRECTION_RIGHT\n }\n\n return order === ORDER_PREV ? DIRECTION_RIGHT : DIRECTION_LEFT\n }\n\n // Static\n\n static carouselInterface(element, config) {\n const data = Carousel.getOrCreateInstance(element, config)\n\n let { _config } = data\n if (typeof config === 'object') {\n _config = {\n ..._config,\n ...config\n }\n }\n\n const action = typeof config === 'string' ? config : _config.slide\n\n if (typeof config === 'number') {\n data.to(config)\n } else if (typeof action === 'string') {\n if (typeof data[action] === 'undefined') {\n throw new TypeError(`No method named \"${action}\"`)\n }\n\n data[action]()\n } else if (_config.interval && _config.ride) {\n data.pause()\n data.cycle()\n }\n }\n\n static jQueryInterface(config) {\n return this.each(function () {\n Carousel.carouselInterface(this, config)\n })\n }\n\n static dataApiClickHandler(event) {\n const target = getElementFromSelector(this)\n\n if (!target || !target.classList.contains(CLASS_NAME_CAROUSEL)) {\n return\n }\n\n const config = {\n ...Manipulator.getDataAttributes(target),\n ...Manipulator.getDataAttributes(this)\n }\n const slideIndex = this.getAttribute('data-bs-slide-to')\n\n if (slideIndex) {\n config.interval = false\n }\n\n Carousel.carouselInterface(target, config)\n\n if (slideIndex) {\n Carousel.getInstance(target).to(slideIndex)\n }\n\n event.preventDefault()\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_SLIDE, Carousel.dataApiClickHandler)\n\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n const carousels = SelectorEngine.find(SELECTOR_DATA_RIDE)\n\n for (let i = 0, len = carousels.length; i < len; i++) {\n Carousel.carouselInterface(carousels[i], Carousel.getInstance(carousels[i]))\n }\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .Carousel to jQuery only if jQuery is present\n */\n\ndefineJQueryPlugin(Carousel)\n\nexport default Carousel\n"],"names":["TRANSITION_END","toType","obj","undefined","toString","call","match","toLowerCase","getSelector","element","selector","getAttribute","hrefAttr","includes","startsWith","split","trim","getElementFromSelector","document","querySelector","triggerTransitionEnd","dispatchEvent","Event","isElement","jquery","nodeType","typeCheckConfig","componentName","config","configTypes","Object","keys","forEach","property","expectedTypes","value","valueType","RegExp","test","TypeError","toUpperCase","isVisible","getClientRects","length","getComputedStyle","getPropertyValue","reflow","offsetHeight","getjQuery","jQuery","window","body","hasAttribute","DOMContentLoadedCallbacks","onDOMContentLoaded","callback","readyState","addEventListener","push","isRTL","documentElement","dir","defineJQueryPlugin","plugin","$","name","NAME","JQUERY_NO_CONFLICT","fn","jQueryInterface","Constructor","noConflict","getNextActiveElement","list","activeElement","shouldGetNext","isCycleAllowed","index","indexOf","listLength","Math","max","min","DATA_KEY","EVENT_KEY","DATA_API_KEY","ARROW_LEFT_KEY","ARROW_RIGHT_KEY","TOUCHEVENT_COMPAT_WAIT","SWIPE_THRESHOLD","Default","interval","keyboard","slide","pause","wrap","touch","DefaultType","ORDER_NEXT","ORDER_PREV","DIRECTION_LEFT","DIRECTION_RIGHT","KEY_TO_DIRECTION","EVENT_SLIDE","EVENT_SLID","EVENT_KEYDOWN","EVENT_MOUSEENTER","EVENT_MOUSELEAVE","EVENT_TOUCHSTART","EVENT_TOUCHMOVE","EVENT_TOUCHEND","EVENT_POINTERDOWN","EVENT_POINTERUP","EVENT_DRAG_START","EVENT_LOAD_DATA_API","EVENT_CLICK_DATA_API","CLASS_NAME_CAROUSEL","CLASS_NAME_ACTIVE","CLASS_NAME_SLIDE","CLASS_NAME_END","CLASS_NAME_START","CLASS_NAME_NEXT","CLASS_NAME_PREV","CLASS_NAME_POINTER_EVENT","SELECTOR_ACTIVE","SELECTOR_ACTIVE_ITEM","SELECTOR_ITEM","SELECTOR_ITEM_IMG","SELECTOR_NEXT_PREV","SELECTOR_INDICATORS","SELECTOR_INDICATOR","SELECTOR_DATA_SLIDE","SELECTOR_DATA_RIDE","POINTER_TYPE_TOUCH","POINTER_TYPE_PEN","Carousel","BaseComponent","constructor","_items","_interval","_activeElement","_isPaused","_isSliding","touchTimeout","touchStartX","touchDeltaX","_config","_getConfig","_indicatorsElement","SelectorEngine","findOne","_element","_touchSupported","navigator","maxTouchPoints","_pointerEvent","Boolean","PointerEvent","_addEventListeners","next","_slide","nextWhenVisible","hidden","prev","event","cycle","clearInterval","_updateInterval","setInterval","visibilityState","bind","to","activeIndex","_getItemIndex","EventHandler","one","order","Manipulator","getDataAttributes","_handleSwipe","absDeltax","abs","direction","on","_keydown","_addTouchEventListeners","hasPointerPenTouch","pointerType","start","clientX","touches","move","end","clearTimeout","setTimeout","find","itemImg","preventDefault","classList","add","target","tagName","key","parentNode","_getItemByOrder","isNext","_triggerSlideEvent","relatedTarget","eventDirectionName","targetIndex","fromIndex","trigger","from","_setActiveIndicatorElement","activeIndicator","remove","removeAttribute","indicators","i","Number","parseInt","setAttribute","elementInterval","defaultInterval","directionOrOrder","_directionToOrder","activeElementIndex","nextElement","nextElementIndex","isCycling","directionalClassName","orderClassName","_orderToDirection","contains","slideEvent","defaultPrevented","triggerSlidEvent","completeCallBack","_queueCallback","carouselInterface","data","getOrCreateInstance","action","ride","each","dataApiClickHandler","slideIndex","getInstance","carousels","len"],"mappings":"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"} \ No newline at end of file diff --git a/src/js/bs/dist/collapse.js b/src/js/bs/dist/collapse.js deleted file mode 100644 index ebd0ae26d..000000000 --- a/src/js/bs/dist/collapse.js +++ /dev/null @@ -1,495 +0,0 @@ -/*! - * Bootstrap collapse.js v5.1.3 (https://getbootstrap.com/) - * Copyright 2011-2021 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) - */ -(function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('./dom/data.js'), require('./dom/event-handler.js'), require('./dom/manipulator.js'), require('./dom/selector-engine.js'), require('./base-component.js')) : - typeof define === 'function' && define.amd ? define(['./dom/data', './dom/event-handler', './dom/manipulator', './dom/selector-engine', './base-component'], factory) : - (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Collapse = factory(global.Data, global.EventHandler, global.Manipulator, global.SelectorEngine, global.Base)); -})(this, (function (Data, EventHandler, Manipulator, SelectorEngine, BaseComponent) { 'use strict'; - - const _interopDefaultLegacy = e => e && typeof e === 'object' && 'default' in e ? e : { default: e }; - - const Data__default = /*#__PURE__*/_interopDefaultLegacy(Data); - const EventHandler__default = /*#__PURE__*/_interopDefaultLegacy(EventHandler); - const Manipulator__default = /*#__PURE__*/_interopDefaultLegacy(Manipulator); - const SelectorEngine__default = /*#__PURE__*/_interopDefaultLegacy(SelectorEngine); - const BaseComponent__default = /*#__PURE__*/_interopDefaultLegacy(BaseComponent); - - /** - * -------------------------------------------------------------------------- - * Bootstrap (v5.1.3): util/index.js - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) - * -------------------------------------------------------------------------- - */ - - const toType = obj => { - if (obj === null || obj === undefined) { - return `${obj}`; - } - - return {}.toString.call(obj).match(/\s([a-z]+)/i)[1].toLowerCase(); - }; - - const getSelector = element => { - let selector = element.getAttribute('data-bs-target'); - - if (!selector || selector === '#') { - let hrefAttr = element.getAttribute('href'); // The only valid content that could double as a selector are IDs or classes, - // so everything starting with `#` or `.`. If a "real" URL is used as the selector, - // `document.querySelector` will rightfully complain it is invalid. - // See https://github.com/twbs/bootstrap/issues/32273 - - if (!hrefAttr || !hrefAttr.includes('#') && !hrefAttr.startsWith('.')) { - return null; - } // Just in case some CMS puts out a full URL with the anchor appended - - - if (hrefAttr.includes('#') && !hrefAttr.startsWith('#')) { - hrefAttr = `#${hrefAttr.split('#')[1]}`; - } - - selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : null; - } - - return selector; - }; - - const getSelectorFromElement = element => { - const selector = getSelector(element); - - if (selector) { - return document.querySelector(selector) ? selector : null; - } - - return null; - }; - - const getElementFromSelector = element => { - const selector = getSelector(element); - return selector ? document.querySelector(selector) : null; - }; - - const isElement = obj => { - if (!obj || typeof obj !== 'object') { - return false; - } - - if (typeof obj.jquery !== 'undefined') { - obj = obj[0]; - } - - return typeof obj.nodeType !== 'undefined'; - }; - - const getElement = obj => { - if (isElement(obj)) { - // it's a jQuery object or a node element - return obj.jquery ? obj[0] : obj; - } - - if (typeof obj === 'string' && obj.length > 0) { - return document.querySelector(obj); - } - - return null; - }; - - const typeCheckConfig = (componentName, config, configTypes) => { - Object.keys(configTypes).forEach(property => { - const expectedTypes = configTypes[property]; - const value = config[property]; - const valueType = value && isElement(value) ? 'element' : toType(value); - - if (!new RegExp(expectedTypes).test(valueType)) { - throw new TypeError(`${componentName.toUpperCase()}: Option "${property}" provided type "${valueType}" but expected type "${expectedTypes}".`); - } - }); - }; - /** - * Trick to restart an element's animation - * - * @param {HTMLElement} element - * @return void - * - * @see https://www.charistheo.io/blog/2021/02/restart-a-css-animation-with-javascript/#restarting-a-css-animation - */ - - - const reflow = element => { - // eslint-disable-next-line no-unused-expressions - element.offsetHeight; - }; - - const getjQuery = () => { - const { - jQuery - } = window; - - if (jQuery && !document.body.hasAttribute('data-bs-no-jquery')) { - return jQuery; - } - - return null; - }; - - const DOMContentLoadedCallbacks = []; - - const onDOMContentLoaded = callback => { - if (document.readyState === 'loading') { - // add listener on the first call when the document is in loading state - if (!DOMContentLoadedCallbacks.length) { - document.addEventListener('DOMContentLoaded', () => { - DOMContentLoadedCallbacks.forEach(callback => callback()); - }); - } - - DOMContentLoadedCallbacks.push(callback); - } else { - callback(); - } - }; - - const defineJQueryPlugin = plugin => { - onDOMContentLoaded(() => { - const $ = getjQuery(); - /* istanbul ignore if */ - - if ($) { - const name = plugin.NAME; - const JQUERY_NO_CONFLICT = $.fn[name]; - $.fn[name] = plugin.jQueryInterface; - $.fn[name].Constructor = plugin; - - $.fn[name].noConflict = () => { - $.fn[name] = JQUERY_NO_CONFLICT; - return plugin.jQueryInterface; - }; - } - }); - }; - - /** - * -------------------------------------------------------------------------- - * Bootstrap (v5.1.3): collapse.js - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) - * -------------------------------------------------------------------------- - */ - /** - * ------------------------------------------------------------------------ - * Constants - * ------------------------------------------------------------------------ - */ - - const NAME = 'collapse'; - const DATA_KEY = 'bs.collapse'; - const EVENT_KEY = `.${DATA_KEY}`; - const DATA_API_KEY = '.data-api'; - const Default = { - toggle: true, - parent: null - }; - const DefaultType = { - toggle: 'boolean', - parent: '(null|element)' - }; - const EVENT_SHOW = `show${EVENT_KEY}`; - const EVENT_SHOWN = `shown${EVENT_KEY}`; - const EVENT_HIDE = `hide${EVENT_KEY}`; - const EVENT_HIDDEN = `hidden${EVENT_KEY}`; - const EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`; - const CLASS_NAME_SHOW = 'show'; - const CLASS_NAME_COLLAPSE = 'collapse'; - const CLASS_NAME_COLLAPSING = 'collapsing'; - const CLASS_NAME_COLLAPSED = 'collapsed'; - const CLASS_NAME_DEEPER_CHILDREN = `:scope .${CLASS_NAME_COLLAPSE} .${CLASS_NAME_COLLAPSE}`; - const CLASS_NAME_HORIZONTAL = 'collapse-horizontal'; - const WIDTH = 'width'; - const HEIGHT = 'height'; - const SELECTOR_ACTIVES = '.collapse.show, .collapse.collapsing'; - const SELECTOR_DATA_TOGGLE = '[data-bs-toggle="collapse"]'; - /** - * ------------------------------------------------------------------------ - * Class Definition - * ------------------------------------------------------------------------ - */ - - class Collapse extends BaseComponent__default.default { - constructor(element, config) { - super(element); - this._isTransitioning = false; - this._config = this._getConfig(config); - this._triggerArray = []; - const toggleList = SelectorEngine__default.default.find(SELECTOR_DATA_TOGGLE); - - for (let i = 0, len = toggleList.length; i < len; i++) { - const elem = toggleList[i]; - const selector = getSelectorFromElement(elem); - const filterElement = SelectorEngine__default.default.find(selector).filter(foundElem => foundElem === this._element); - - if (selector !== null && filterElement.length) { - this._selector = selector; - - this._triggerArray.push(elem); - } - } - - this._initializeChildren(); - - if (!this._config.parent) { - this._addAriaAndCollapsedClass(this._triggerArray, this._isShown()); - } - - if (this._config.toggle) { - this.toggle(); - } - } // Getters - - - static get Default() { - return Default; - } - - static get NAME() { - return NAME; - } // Public - - - toggle() { - if (this._isShown()) { - this.hide(); - } else { - this.show(); - } - } - - show() { - if (this._isTransitioning || this._isShown()) { - return; - } - - let actives = []; - let activesData; - - if (this._config.parent) { - const children = SelectorEngine__default.default.find(CLASS_NAME_DEEPER_CHILDREN, this._config.parent); - actives = SelectorEngine__default.default.find(SELECTOR_ACTIVES, this._config.parent).filter(elem => !children.includes(elem)); // remove children if greater depth - } - - const container = SelectorEngine__default.default.findOne(this._selector); - - if (actives.length) { - const tempActiveData = actives.find(elem => container !== elem); - activesData = tempActiveData ? Collapse.getInstance(tempActiveData) : null; - - if (activesData && activesData._isTransitioning) { - return; - } - } - - const startEvent = EventHandler__default.default.trigger(this._element, EVENT_SHOW); - - if (startEvent.defaultPrevented) { - return; - } - - actives.forEach(elemActive => { - if (container !== elemActive) { - Collapse.getOrCreateInstance(elemActive, { - toggle: false - }).hide(); - } - - if (!activesData) { - Data__default.default.set(elemActive, DATA_KEY, null); - } - }); - - const dimension = this._getDimension(); - - this._element.classList.remove(CLASS_NAME_COLLAPSE); - - this._element.classList.add(CLASS_NAME_COLLAPSING); - - this._element.style[dimension] = 0; - - this._addAriaAndCollapsedClass(this._triggerArray, true); - - this._isTransitioning = true; - - const complete = () => { - this._isTransitioning = false; - - this._element.classList.remove(CLASS_NAME_COLLAPSING); - - this._element.classList.add(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW); - - this._element.style[dimension] = ''; - EventHandler__default.default.trigger(this._element, EVENT_SHOWN); - }; - - const capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1); - const scrollSize = `scroll${capitalizedDimension}`; - - this._queueCallback(complete, this._element, true); - - this._element.style[dimension] = `${this._element[scrollSize]}px`; - } - - hide() { - if (this._isTransitioning || !this._isShown()) { - return; - } - - const startEvent = EventHandler__default.default.trigger(this._element, EVENT_HIDE); - - if (startEvent.defaultPrevented) { - return; - } - - const dimension = this._getDimension(); - - this._element.style[dimension] = `${this._element.getBoundingClientRect()[dimension]}px`; - reflow(this._element); - - this._element.classList.add(CLASS_NAME_COLLAPSING); - - this._element.classList.remove(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW); - - const triggerArrayLength = this._triggerArray.length; - - for (let i = 0; i < triggerArrayLength; i++) { - const trigger = this._triggerArray[i]; - const elem = getElementFromSelector(trigger); - - if (elem && !this._isShown(elem)) { - this._addAriaAndCollapsedClass([trigger], false); - } - } - - this._isTransitioning = true; - - const complete = () => { - this._isTransitioning = false; - - this._element.classList.remove(CLASS_NAME_COLLAPSING); - - this._element.classList.add(CLASS_NAME_COLLAPSE); - - EventHandler__default.default.trigger(this._element, EVENT_HIDDEN); - }; - - this._element.style[dimension] = ''; - - this._queueCallback(complete, this._element, true); - } - - _isShown(element = this._element) { - return element.classList.contains(CLASS_NAME_SHOW); - } // Private - - - _getConfig(config) { - config = { ...Default, - ...Manipulator__default.default.getDataAttributes(this._element), - ...config - }; - config.toggle = Boolean(config.toggle); // Coerce string values - - config.parent = getElement(config.parent); - typeCheckConfig(NAME, config, DefaultType); - return config; - } - - _getDimension() { - return this._element.classList.contains(CLASS_NAME_HORIZONTAL) ? WIDTH : HEIGHT; - } - - _initializeChildren() { - if (!this._config.parent) { - return; - } - - const children = SelectorEngine__default.default.find(CLASS_NAME_DEEPER_CHILDREN, this._config.parent); - SelectorEngine__default.default.find(SELECTOR_DATA_TOGGLE, this._config.parent).filter(elem => !children.includes(elem)).forEach(element => { - const selected = getElementFromSelector(element); - - if (selected) { - this._addAriaAndCollapsedClass([element], this._isShown(selected)); - } - }); - } - - _addAriaAndCollapsedClass(triggerArray, isOpen) { - if (!triggerArray.length) { - return; - } - - triggerArray.forEach(elem => { - if (isOpen) { - elem.classList.remove(CLASS_NAME_COLLAPSED); - } else { - elem.classList.add(CLASS_NAME_COLLAPSED); - } - - elem.setAttribute('aria-expanded', isOpen); - }); - } // Static - - - static jQueryInterface(config) { - return this.each(function () { - const _config = {}; - - if (typeof config === 'string' && /show|hide/.test(config)) { - _config.toggle = false; - } - - const data = Collapse.getOrCreateInstance(this, _config); - - if (typeof config === 'string') { - if (typeof data[config] === 'undefined') { - throw new TypeError(`No method named "${config}"`); - } - - data[config](); - } - }); - } - - } - /** - * ------------------------------------------------------------------------ - * Data Api implementation - * ------------------------------------------------------------------------ - */ - - - EventHandler__default.default.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) { - // preventDefault only for elements (which change the URL) not inside the collapsible element - if (event.target.tagName === 'A' || event.delegateTarget && event.delegateTarget.tagName === 'A') { - event.preventDefault(); - } - - const selector = getSelectorFromElement(this); - const selectorElements = SelectorEngine__default.default.find(selector); - selectorElements.forEach(element => { - Collapse.getOrCreateInstance(element, { - toggle: false - }).toggle(); - }); - }); - /** - * ------------------------------------------------------------------------ - * jQuery - * ------------------------------------------------------------------------ - * add .Collapse to jQuery only if jQuery is present - */ - - defineJQueryPlugin(Collapse); - - return Collapse; - -})); -//# sourceMappingURL=collapse.js.map diff --git a/src/js/bs/dist/collapse.js.map b/src/js/bs/dist/collapse.js.map deleted file mode 100644 index 032ad440c..000000000 --- a/src/js/bs/dist/collapse.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"collapse.js","sources":["../src/util/index.js","../src/collapse.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.1.3): util/index.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst MAX_UID = 1000000\nconst MILLISECONDS_MULTIPLIER = 1000\nconst TRANSITION_END = 'transitionend'\n\n// Shoutout AngusCroll (https://goo.gl/pxwQGp)\nconst toType = obj => {\n if (obj === null || obj === undefined) {\n return `${obj}`\n }\n\n return {}.toString.call(obj).match(/\\s([a-z]+)/i)[1].toLowerCase()\n}\n\n/**\n * --------------------------------------------------------------------------\n * Public Util Api\n * --------------------------------------------------------------------------\n */\n\nconst getUID = prefix => {\n do {\n prefix += Math.floor(Math.random() * MAX_UID)\n } while (document.getElementById(prefix))\n\n return prefix\n}\n\nconst getSelector = element => {\n let selector = element.getAttribute('data-bs-target')\n\n if (!selector || selector === '#') {\n let hrefAttr = element.getAttribute('href')\n\n // The only valid content that could double as a selector are IDs or classes,\n // so everything starting with `#` or `.`. If a \"real\" URL is used as the selector,\n // `document.querySelector` will rightfully complain it is invalid.\n // See https://github.com/twbs/bootstrap/issues/32273\n if (!hrefAttr || (!hrefAttr.includes('#') && !hrefAttr.startsWith('.'))) {\n return null\n }\n\n // Just in case some CMS puts out a full URL with the anchor appended\n if (hrefAttr.includes('#') && !hrefAttr.startsWith('#')) {\n hrefAttr = `#${hrefAttr.split('#')[1]}`\n }\n\n selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : null\n }\n\n return selector\n}\n\nconst getSelectorFromElement = element => {\n const selector = getSelector(element)\n\n if (selector) {\n return document.querySelector(selector) ? selector : null\n }\n\n return null\n}\n\nconst getElementFromSelector = element => {\n const selector = getSelector(element)\n\n return selector ? document.querySelector(selector) : null\n}\n\nconst getTransitionDurationFromElement = element => {\n if (!element) {\n return 0\n }\n\n // Get transition-duration of the element\n let { transitionDuration, transitionDelay } = window.getComputedStyle(element)\n\n const floatTransitionDuration = Number.parseFloat(transitionDuration)\n const floatTransitionDelay = Number.parseFloat(transitionDelay)\n\n // Return 0 if element or transition duration is not found\n if (!floatTransitionDuration && !floatTransitionDelay) {\n return 0\n }\n\n // If multiple durations are defined, take the first\n transitionDuration = transitionDuration.split(',')[0]\n transitionDelay = transitionDelay.split(',')[0]\n\n return (Number.parseFloat(transitionDuration) + Number.parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER\n}\n\nconst triggerTransitionEnd = element => {\n element.dispatchEvent(new Event(TRANSITION_END))\n}\n\nconst isElement = obj => {\n if (!obj || typeof obj !== 'object') {\n return false\n }\n\n if (typeof obj.jquery !== 'undefined') {\n obj = obj[0]\n }\n\n return typeof obj.nodeType !== 'undefined'\n}\n\nconst getElement = obj => {\n if (isElement(obj)) { // it's a jQuery object or a node element\n return obj.jquery ? obj[0] : obj\n }\n\n if (typeof obj === 'string' && obj.length > 0) {\n return document.querySelector(obj)\n }\n\n return null\n}\n\nconst typeCheckConfig = (componentName, config, configTypes) => {\n Object.keys(configTypes).forEach(property => {\n const expectedTypes = configTypes[property]\n const value = config[property]\n const valueType = value && isElement(value) ? 'element' : toType(value)\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new TypeError(\n `${componentName.toUpperCase()}: Option \"${property}\" provided type \"${valueType}\" but expected type \"${expectedTypes}\".`\n )\n }\n })\n}\n\nconst isVisible = element => {\n if (!isElement(element) || element.getClientRects().length === 0) {\n return false\n }\n\n return getComputedStyle(element).getPropertyValue('visibility') === 'visible'\n}\n\nconst isDisabled = element => {\n if (!element || element.nodeType !== Node.ELEMENT_NODE) {\n return true\n }\n\n if (element.classList.contains('disabled')) {\n return true\n }\n\n if (typeof element.disabled !== 'undefined') {\n return element.disabled\n }\n\n return element.hasAttribute('disabled') && element.getAttribute('disabled') !== 'false'\n}\n\nconst findShadowRoot = element => {\n if (!document.documentElement.attachShadow) {\n return null\n }\n\n // Can find the shadow root otherwise it'll return the document\n if (typeof element.getRootNode === 'function') {\n const root = element.getRootNode()\n return root instanceof ShadowRoot ? root : null\n }\n\n if (element instanceof ShadowRoot) {\n return element\n }\n\n // when we don't find a shadow root\n if (!element.parentNode) {\n return null\n }\n\n return findShadowRoot(element.parentNode)\n}\n\nconst noop = () => {}\n\n/**\n * Trick to restart an element's animation\n *\n * @param {HTMLElement} element\n * @return void\n *\n * @see https://www.charistheo.io/blog/2021/02/restart-a-css-animation-with-javascript/#restarting-a-css-animation\n */\nconst reflow = element => {\n // eslint-disable-next-line no-unused-expressions\n element.offsetHeight\n}\n\nconst getjQuery = () => {\n const { jQuery } = window\n\n if (jQuery && !document.body.hasAttribute('data-bs-no-jquery')) {\n return jQuery\n }\n\n return null\n}\n\nconst DOMContentLoadedCallbacks = []\n\nconst onDOMContentLoaded = callback => {\n if (document.readyState === 'loading') {\n // add listener on the first call when the document is in loading state\n if (!DOMContentLoadedCallbacks.length) {\n document.addEventListener('DOMContentLoaded', () => {\n DOMContentLoadedCallbacks.forEach(callback => callback())\n })\n }\n\n DOMContentLoadedCallbacks.push(callback)\n } else {\n callback()\n }\n}\n\nconst isRTL = () => document.documentElement.dir === 'rtl'\n\nconst defineJQueryPlugin = plugin => {\n onDOMContentLoaded(() => {\n const $ = getjQuery()\n /* istanbul ignore if */\n if ($) {\n const name = plugin.NAME\n const JQUERY_NO_CONFLICT = $.fn[name]\n $.fn[name] = plugin.jQueryInterface\n $.fn[name].Constructor = plugin\n $.fn[name].noConflict = () => {\n $.fn[name] = JQUERY_NO_CONFLICT\n return plugin.jQueryInterface\n }\n }\n })\n}\n\nconst execute = callback => {\n if (typeof callback === 'function') {\n callback()\n }\n}\n\nconst executeAfterTransition = (callback, transitionElement, waitForTransition = true) => {\n if (!waitForTransition) {\n execute(callback)\n return\n }\n\n const durationPadding = 5\n const emulatedDuration = getTransitionDurationFromElement(transitionElement) + durationPadding\n\n let called = false\n\n const handler = ({ target }) => {\n if (target !== transitionElement) {\n return\n }\n\n called = true\n transitionElement.removeEventListener(TRANSITION_END, handler)\n execute(callback)\n }\n\n transitionElement.addEventListener(TRANSITION_END, handler)\n setTimeout(() => {\n if (!called) {\n triggerTransitionEnd(transitionElement)\n }\n }, emulatedDuration)\n}\n\n/**\n * Return the previous/next element of a list.\n *\n * @param {array} list The list of elements\n * @param activeElement The active element\n * @param shouldGetNext Choose to get next or previous element\n * @param isCycleAllowed\n * @return {Element|elem} The proper element\n */\nconst getNextActiveElement = (list, activeElement, shouldGetNext, isCycleAllowed) => {\n let index = list.indexOf(activeElement)\n\n // if the element does not exist in the list return an element depending on the direction and if cycle is allowed\n if (index === -1) {\n return list[!shouldGetNext && isCycleAllowed ? list.length - 1 : 0]\n }\n\n const listLength = list.length\n\n index += shouldGetNext ? 1 : -1\n\n if (isCycleAllowed) {\n index = (index + listLength) % listLength\n }\n\n return list[Math.max(0, Math.min(index, listLength - 1))]\n}\n\nexport {\n getElement,\n getUID,\n getSelectorFromElement,\n getElementFromSelector,\n getTransitionDurationFromElement,\n triggerTransitionEnd,\n isElement,\n typeCheckConfig,\n isVisible,\n isDisabled,\n findShadowRoot,\n noop,\n getNextActiveElement,\n reflow,\n getjQuery,\n onDOMContentLoaded,\n isRTL,\n defineJQueryPlugin,\n execute,\n executeAfterTransition\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.1.3): collapse.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n defineJQueryPlugin,\n getElement,\n getSelectorFromElement,\n getElementFromSelector,\n reflow,\n typeCheckConfig\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport SelectorEngine from './dom/selector-engine'\nimport BaseComponent from './base-component'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'collapse'\nconst DATA_KEY = 'bs.collapse'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst Default = {\n toggle: true,\n parent: null\n}\n\nconst DefaultType = {\n toggle: 'boolean',\n parent: '(null|element)'\n}\n\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_COLLAPSE = 'collapse'\nconst CLASS_NAME_COLLAPSING = 'collapsing'\nconst CLASS_NAME_COLLAPSED = 'collapsed'\nconst CLASS_NAME_DEEPER_CHILDREN = `:scope .${CLASS_NAME_COLLAPSE} .${CLASS_NAME_COLLAPSE}`\nconst CLASS_NAME_HORIZONTAL = 'collapse-horizontal'\n\nconst WIDTH = 'width'\nconst HEIGHT = 'height'\n\nconst SELECTOR_ACTIVES = '.collapse.show, .collapse.collapsing'\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"collapse\"]'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Collapse extends BaseComponent {\n constructor(element, config) {\n super(element)\n\n this._isTransitioning = false\n this._config = this._getConfig(config)\n this._triggerArray = []\n\n const toggleList = SelectorEngine.find(SELECTOR_DATA_TOGGLE)\n\n for (let i = 0, len = toggleList.length; i < len; i++) {\n const elem = toggleList[i]\n const selector = getSelectorFromElement(elem)\n const filterElement = SelectorEngine.find(selector)\n .filter(foundElem => foundElem === this._element)\n\n if (selector !== null && filterElement.length) {\n this._selector = selector\n this._triggerArray.push(elem)\n }\n }\n\n this._initializeChildren()\n\n if (!this._config.parent) {\n this._addAriaAndCollapsedClass(this._triggerArray, this._isShown())\n }\n\n if (this._config.toggle) {\n this.toggle()\n }\n }\n\n // Getters\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n\n toggle() {\n if (this._isShown()) {\n this.hide()\n } else {\n this.show()\n }\n }\n\n show() {\n if (this._isTransitioning || this._isShown()) {\n return\n }\n\n let actives = []\n let activesData\n\n if (this._config.parent) {\n const children = SelectorEngine.find(CLASS_NAME_DEEPER_CHILDREN, this._config.parent)\n actives = SelectorEngine.find(SELECTOR_ACTIVES, this._config.parent).filter(elem => !children.includes(elem)) // remove children if greater depth\n }\n\n const container = SelectorEngine.findOne(this._selector)\n if (actives.length) {\n const tempActiveData = actives.find(elem => container !== elem)\n activesData = tempActiveData ? Collapse.getInstance(tempActiveData) : null\n\n if (activesData && activesData._isTransitioning) {\n return\n }\n }\n\n const startEvent = EventHandler.trigger(this._element, EVENT_SHOW)\n if (startEvent.defaultPrevented) {\n return\n }\n\n actives.forEach(elemActive => {\n if (container !== elemActive) {\n Collapse.getOrCreateInstance(elemActive, { toggle: false }).hide()\n }\n\n if (!activesData) {\n Data.set(elemActive, DATA_KEY, null)\n }\n })\n\n const dimension = this._getDimension()\n\n this._element.classList.remove(CLASS_NAME_COLLAPSE)\n this._element.classList.add(CLASS_NAME_COLLAPSING)\n\n this._element.style[dimension] = 0\n\n this._addAriaAndCollapsedClass(this._triggerArray, true)\n this._isTransitioning = true\n\n const complete = () => {\n this._isTransitioning = false\n\n this._element.classList.remove(CLASS_NAME_COLLAPSING)\n this._element.classList.add(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW)\n\n this._element.style[dimension] = ''\n\n EventHandler.trigger(this._element, EVENT_SHOWN)\n }\n\n const capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1)\n const scrollSize = `scroll${capitalizedDimension}`\n\n this._queueCallback(complete, this._element, true)\n this._element.style[dimension] = `${this._element[scrollSize]}px`\n }\n\n hide() {\n if (this._isTransitioning || !this._isShown()) {\n return\n }\n\n const startEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n if (startEvent.defaultPrevented) {\n return\n }\n\n const dimension = this._getDimension()\n\n this._element.style[dimension] = `${this._element.getBoundingClientRect()[dimension]}px`\n\n reflow(this._element)\n\n this._element.classList.add(CLASS_NAME_COLLAPSING)\n this._element.classList.remove(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW)\n\n const triggerArrayLength = this._triggerArray.length\n for (let i = 0; i < triggerArrayLength; i++) {\n const trigger = this._triggerArray[i]\n const elem = getElementFromSelector(trigger)\n\n if (elem && !this._isShown(elem)) {\n this._addAriaAndCollapsedClass([trigger], false)\n }\n }\n\n this._isTransitioning = true\n\n const complete = () => {\n this._isTransitioning = false\n this._element.classList.remove(CLASS_NAME_COLLAPSING)\n this._element.classList.add(CLASS_NAME_COLLAPSE)\n EventHandler.trigger(this._element, EVENT_HIDDEN)\n }\n\n this._element.style[dimension] = ''\n\n this._queueCallback(complete, this._element, true)\n }\n\n _isShown(element = this._element) {\n return element.classList.contains(CLASS_NAME_SHOW)\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...Manipulator.getDataAttributes(this._element),\n ...config\n }\n config.toggle = Boolean(config.toggle) // Coerce string values\n config.parent = getElement(config.parent)\n typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _getDimension() {\n return this._element.classList.contains(CLASS_NAME_HORIZONTAL) ? WIDTH : HEIGHT\n }\n\n _initializeChildren() {\n if (!this._config.parent) {\n return\n }\n\n const children = SelectorEngine.find(CLASS_NAME_DEEPER_CHILDREN, this._config.parent)\n SelectorEngine.find(SELECTOR_DATA_TOGGLE, this._config.parent).filter(elem => !children.includes(elem))\n .forEach(element => {\n const selected = getElementFromSelector(element)\n\n if (selected) {\n this._addAriaAndCollapsedClass([element], this._isShown(selected))\n }\n })\n }\n\n _addAriaAndCollapsedClass(triggerArray, isOpen) {\n if (!triggerArray.length) {\n return\n }\n\n triggerArray.forEach(elem => {\n if (isOpen) {\n elem.classList.remove(CLASS_NAME_COLLAPSED)\n } else {\n elem.classList.add(CLASS_NAME_COLLAPSED)\n }\n\n elem.setAttribute('aria-expanded', isOpen)\n })\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n const _config = {}\n if (typeof config === 'string' && /show|hide/.test(config)) {\n _config.toggle = false\n }\n\n const data = Collapse.getOrCreateInstance(this, _config)\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n // preventDefault only for elements (which change the URL) not inside the collapsible element\n if (event.target.tagName === 'A' || (event.delegateTarget && event.delegateTarget.tagName === 'A')) {\n event.preventDefault()\n }\n\n const selector = getSelectorFromElement(this)\n const selectorElements = SelectorEngine.find(selector)\n\n selectorElements.forEach(element => {\n Collapse.getOrCreateInstance(element, { toggle: false }).toggle()\n })\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .Collapse to jQuery only if jQuery is present\n */\n\ndefineJQueryPlugin(Collapse)\n\nexport default Collapse\n"],"names":["toType","obj","undefined","toString","call","match","toLowerCase","getSelector","element","selector","getAttribute","hrefAttr","includes","startsWith","split","trim","getSelectorFromElement","document","querySelector","getElementFromSelector","isElement","jquery","nodeType","getElement","length","typeCheckConfig","componentName","config","configTypes","Object","keys","forEach","property","expectedTypes","value","valueType","RegExp","test","TypeError","toUpperCase","reflow","offsetHeight","getjQuery","jQuery","window","body","hasAttribute","DOMContentLoadedCallbacks","onDOMContentLoaded","callback","readyState","addEventListener","push","defineJQueryPlugin","plugin","$","name","NAME","JQUERY_NO_CONFLICT","fn","jQueryInterface","Constructor","noConflict","DATA_KEY","EVENT_KEY","DATA_API_KEY","Default","toggle","parent","DefaultType","EVENT_SHOW","EVENT_SHOWN","EVENT_HIDE","EVENT_HIDDEN","EVENT_CLICK_DATA_API","CLASS_NAME_SHOW","CLASS_NAME_COLLAPSE","CLASS_NAME_COLLAPSING","CLASS_NAME_COLLAPSED","CLASS_NAME_DEEPER_CHILDREN","CLASS_NAME_HORIZONTAL","WIDTH","HEIGHT","SELECTOR_ACTIVES","SELECTOR_DATA_TOGGLE","Collapse","BaseComponent","constructor","_isTransitioning","_config","_getConfig","_triggerArray","toggleList","SelectorEngine","find","i","len","elem","filterElement","filter","foundElem","_element","_selector","_initializeChildren","_addAriaAndCollapsedClass","_isShown","hide","show","actives","activesData","children","container","findOne","tempActiveData","getInstance","startEvent","EventHandler","trigger","defaultPrevented","elemActive","getOrCreateInstance","Data","set","dimension","_getDimension","classList","remove","add","style","complete","capitalizedDimension","slice","scrollSize","_queueCallback","getBoundingClientRect","triggerArrayLength","contains","Manipulator","getDataAttributes","Boolean","selected","triggerArray","isOpen","setAttribute","each","data","on","event","target","tagName","delegateTarget","preventDefault","selectorElements"],"mappings":"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"} \ No newline at end of file diff --git a/src/js/bs/dist/dom/data.js b/src/js/bs/dist/dom/data.js deleted file mode 100644 index f8dafc699..000000000 --- a/src/js/bs/dist/dom/data.js +++ /dev/null @@ -1,69 +0,0 @@ -/*! - * Bootstrap data.js v5.1.3 (https://getbootstrap.com/) - * Copyright 2011-2021 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) - */ -(function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() : - typeof define === 'function' && define.amd ? define(factory) : - (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Data = factory()); -})(this, (function () { 'use strict'; - - /** - * -------------------------------------------------------------------------- - * Bootstrap (v5.1.3): dom/data.js - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) - * -------------------------------------------------------------------------- - */ - - /** - * ------------------------------------------------------------------------ - * Constants - * ------------------------------------------------------------------------ - */ - const elementMap = new Map(); - const data = { - set(element, key, instance) { - if (!elementMap.has(element)) { - elementMap.set(element, new Map()); - } - - const instanceMap = elementMap.get(element); // make it clear we only want one instance per element - // can be removed later when multiple key/instances are fine to be used - - if (!instanceMap.has(key) && instanceMap.size !== 0) { - // eslint-disable-next-line no-console - console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(instanceMap.keys())[0]}.`); - return; - } - - instanceMap.set(key, instance); - }, - - get(element, key) { - if (elementMap.has(element)) { - return elementMap.get(element).get(key) || null; - } - - return null; - }, - - remove(element, key) { - if (!elementMap.has(element)) { - return; - } - - const instanceMap = elementMap.get(element); - instanceMap.delete(key); // free up element references if there are no instances left for an element - - if (instanceMap.size === 0) { - elementMap.delete(element); - } - } - - }; - - return data; - -})); -//# sourceMappingURL=data.js.map diff --git a/src/js/bs/dist/dom/data.js.map b/src/js/bs/dist/dom/data.js.map deleted file mode 100644 index e5f9ae7a3..000000000 --- a/src/js/bs/dist/dom/data.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"data.js","sources":["../../src/dom/data.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.1.3): dom/data.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst elementMap = new Map()\n\nexport default {\n set(element, key, instance) {\n if (!elementMap.has(element)) {\n elementMap.set(element, new Map())\n }\n\n const instanceMap = elementMap.get(element)\n\n // make it clear we only want one instance per element\n // can be removed later when multiple key/instances are fine to be used\n if (!instanceMap.has(key) && instanceMap.size !== 0) {\n // eslint-disable-next-line no-console\n console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(instanceMap.keys())[0]}.`)\n return\n }\n\n instanceMap.set(key, instance)\n },\n\n get(element, key) {\n if (elementMap.has(element)) {\n return elementMap.get(element).get(key) || null\n }\n\n return null\n },\n\n remove(element, key) {\n if (!elementMap.has(element)) {\n return\n }\n\n const instanceMap = elementMap.get(element)\n\n instanceMap.delete(key)\n\n // free up element references if there are no instances left for an element\n if (instanceMap.size === 0) {\n elementMap.delete(element)\n }\n }\n}\n"],"names":["elementMap","Map","set","element","key","instance","has","instanceMap","get","size","console","error","Array","from","keys","remove","delete"],"mappings":";;;;;;;;;;;EAAA;EACA;EACA;EACA;EACA;EACA;;EAEA;EACA;EACA;EACA;EACA;EAEA,MAAMA,UAAU,GAAG,IAAIC,GAAJ,EAAnB;AAEA,eAAe;EACbC,EAAAA,GAAG,CAACC,OAAD,EAAUC,GAAV,EAAeC,QAAf,EAAyB;EAC1B,QAAI,CAACL,UAAU,CAACM,GAAX,CAAeH,OAAf,CAAL,EAA8B;EAC5BH,MAAAA,UAAU,CAACE,GAAX,CAAeC,OAAf,EAAwB,IAAIF,GAAJ,EAAxB;EACD;;EAED,UAAMM,WAAW,GAAGP,UAAU,CAACQ,GAAX,CAAeL,OAAf,CAApB,CAL0B;EAQ1B;;EACA,QAAI,CAACI,WAAW,CAACD,GAAZ,CAAgBF,GAAhB,CAAD,IAAyBG,WAAW,CAACE,IAAZ,KAAqB,CAAlD,EAAqD;EACnD;EACAC,MAAAA,OAAO,CAACC,KAAR,CAAe,+EAA8EC,KAAK,CAACC,IAAN,CAAWN,WAAW,CAACO,IAAZ,EAAX,EAA+B,CAA/B,CAAkC,GAA/H;EACA;EACD;;EAEDP,IAAAA,WAAW,CAACL,GAAZ,CAAgBE,GAAhB,EAAqBC,QAArB;EACD,GAjBY;;EAmBbG,EAAAA,GAAG,CAACL,OAAD,EAAUC,GAAV,EAAe;EAChB,QAAIJ,UAAU,CAACM,GAAX,CAAeH,OAAf,CAAJ,EAA6B;EAC3B,aAAOH,UAAU,CAACQ,GAAX,CAAeL,OAAf,EAAwBK,GAAxB,CAA4BJ,GAA5B,KAAoC,IAA3C;EACD;;EAED,WAAO,IAAP;EACD,GAzBY;;EA2BbW,EAAAA,MAAM,CAACZ,OAAD,EAAUC,GAAV,EAAe;EACnB,QAAI,CAACJ,UAAU,CAACM,GAAX,CAAeH,OAAf,CAAL,EAA8B;EAC5B;EACD;;EAED,UAAMI,WAAW,GAAGP,UAAU,CAACQ,GAAX,CAAeL,OAAf,CAApB;EAEAI,IAAAA,WAAW,CAACS,MAAZ,CAAmBZ,GAAnB,EAPmB;;EAUnB,QAAIG,WAAW,CAACE,IAAZ,KAAqB,CAAzB,EAA4B;EAC1BT,MAAAA,UAAU,CAACgB,MAAX,CAAkBb,OAAlB;EACD;EACF;;EAxCY,CAAf;;;;;;;;"} \ No newline at end of file diff --git a/src/js/bs/dist/dom/event-handler.js b/src/js/bs/dist/dom/event-handler.js deleted file mode 100644 index 954fe1f37..000000000 --- a/src/js/bs/dist/dom/event-handler.js +++ /dev/null @@ -1,322 +0,0 @@ -/*! - * Bootstrap event-handler.js v5.1.3 (https://getbootstrap.com/) - * Copyright 2011-2021 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) - */ -(function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() : - typeof define === 'function' && define.amd ? define(factory) : - (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.EventHandler = factory()); -})(this, (function () { 'use strict'; - - /** - * -------------------------------------------------------------------------- - * Bootstrap (v5.1.3): util/index.js - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) - * -------------------------------------------------------------------------- - */ - - const getjQuery = () => { - const { - jQuery - } = window; - - if (jQuery && !document.body.hasAttribute('data-bs-no-jquery')) { - return jQuery; - } - - return null; - }; - - /** - * -------------------------------------------------------------------------- - * Bootstrap (v5.1.3): dom/event-handler.js - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) - * -------------------------------------------------------------------------- - */ - /** - * ------------------------------------------------------------------------ - * Constants - * ------------------------------------------------------------------------ - */ - - const namespaceRegex = /[^.]*(?=\..*)\.|.*/; - const stripNameRegex = /\..*/; - const stripUidRegex = /::\d+$/; - const eventRegistry = {}; // Events storage - - let uidEvent = 1; - const customEvents = { - mouseenter: 'mouseover', - mouseleave: 'mouseout' - }; - const customEventsRegex = /^(mouseenter|mouseleave)/i; - const nativeEvents = new Set(['click', 'dblclick', 'mouseup', 'mousedown', 'contextmenu', 'mousewheel', 'DOMMouseScroll', 'mouseover', 'mouseout', 'mousemove', 'selectstart', 'selectend', 'keydown', 'keypress', 'keyup', 'orientationchange', 'touchstart', 'touchmove', 'touchend', 'touchcancel', 'pointerdown', 'pointermove', 'pointerup', 'pointerleave', 'pointercancel', 'gesturestart', 'gesturechange', 'gestureend', 'focus', 'blur', 'change', 'reset', 'select', 'submit', 'focusin', 'focusout', 'load', 'unload', 'beforeunload', 'resize', 'move', 'DOMContentLoaded', 'readystatechange', 'error', 'abort', 'scroll']); - /** - * ------------------------------------------------------------------------ - * Private methods - * ------------------------------------------------------------------------ - */ - - function getUidEvent(element, uid) { - return uid && `${uid}::${uidEvent++}` || element.uidEvent || uidEvent++; - } - - function getEvent(element) { - const uid = getUidEvent(element); - element.uidEvent = uid; - eventRegistry[uid] = eventRegistry[uid] || {}; - return eventRegistry[uid]; - } - - function bootstrapHandler(element, fn) { - return function handler(event) { - event.delegateTarget = element; - - if (handler.oneOff) { - EventHandler.off(element, event.type, fn); - } - - return fn.apply(element, [event]); - }; - } - - function bootstrapDelegationHandler(element, selector, fn) { - return function handler(event) { - const domElements = element.querySelectorAll(selector); - - for (let { - target - } = event; target && target !== this; target = target.parentNode) { - for (let i = domElements.length; i--;) { - if (domElements[i] === target) { - event.delegateTarget = target; - - if (handler.oneOff) { - EventHandler.off(element, event.type, selector, fn); - } - - return fn.apply(target, [event]); - } - } - } // To please ESLint - - - return null; - }; - } - - function findHandler(events, handler, delegationSelector = null) { - const uidEventList = Object.keys(events); - - for (let i = 0, len = uidEventList.length; i < len; i++) { - const event = events[uidEventList[i]]; - - if (event.originalHandler === handler && event.delegationSelector === delegationSelector) { - return event; - } - } - - return null; - } - - function normalizeParams(originalTypeEvent, handler, delegationFn) { - const delegation = typeof handler === 'string'; - const originalHandler = delegation ? delegationFn : handler; - let typeEvent = getTypeEvent(originalTypeEvent); - const isNative = nativeEvents.has(typeEvent); - - if (!isNative) { - typeEvent = originalTypeEvent; - } - - return [delegation, originalHandler, typeEvent]; - } - - function addHandler(element, originalTypeEvent, handler, delegationFn, oneOff) { - if (typeof originalTypeEvent !== 'string' || !element) { - return; - } - - if (!handler) { - handler = delegationFn; - delegationFn = null; - } // in case of mouseenter or mouseleave wrap the handler within a function that checks for its DOM position - // this prevents the handler from being dispatched the same way as mouseover or mouseout does - - - if (customEventsRegex.test(originalTypeEvent)) { - const wrapFn = fn => { - return function (event) { - if (!event.relatedTarget || event.relatedTarget !== event.delegateTarget && !event.delegateTarget.contains(event.relatedTarget)) { - return fn.call(this, event); - } - }; - }; - - if (delegationFn) { - delegationFn = wrapFn(delegationFn); - } else { - handler = wrapFn(handler); - } - } - - const [delegation, originalHandler, typeEvent] = normalizeParams(originalTypeEvent, handler, delegationFn); - const events = getEvent(element); - const handlers = events[typeEvent] || (events[typeEvent] = {}); - const previousFn = findHandler(handlers, originalHandler, delegation ? handler : null); - - if (previousFn) { - previousFn.oneOff = previousFn.oneOff && oneOff; - return; - } - - const uid = getUidEvent(originalHandler, originalTypeEvent.replace(namespaceRegex, '')); - const fn = delegation ? bootstrapDelegationHandler(element, handler, delegationFn) : bootstrapHandler(element, handler); - fn.delegationSelector = delegation ? handler : null; - fn.originalHandler = originalHandler; - fn.oneOff = oneOff; - fn.uidEvent = uid; - handlers[uid] = fn; - element.addEventListener(typeEvent, fn, delegation); - } - - function removeHandler(element, events, typeEvent, handler, delegationSelector) { - const fn = findHandler(events[typeEvent], handler, delegationSelector); - - if (!fn) { - return; - } - - element.removeEventListener(typeEvent, fn, Boolean(delegationSelector)); - delete events[typeEvent][fn.uidEvent]; - } - - function removeNamespacedHandlers(element, events, typeEvent, namespace) { - const storeElementEvent = events[typeEvent] || {}; - Object.keys(storeElementEvent).forEach(handlerKey => { - if (handlerKey.includes(namespace)) { - const event = storeElementEvent[handlerKey]; - removeHandler(element, events, typeEvent, event.originalHandler, event.delegationSelector); - } - }); - } - - function getTypeEvent(event) { - // allow to get the native events from namespaced events ('click.bs.button' --> 'click') - event = event.replace(stripNameRegex, ''); - return customEvents[event] || event; - } - - const EventHandler = { - on(element, event, handler, delegationFn) { - addHandler(element, event, handler, delegationFn, false); - }, - - one(element, event, handler, delegationFn) { - addHandler(element, event, handler, delegationFn, true); - }, - - off(element, originalTypeEvent, handler, delegationFn) { - if (typeof originalTypeEvent !== 'string' || !element) { - return; - } - - const [delegation, originalHandler, typeEvent] = normalizeParams(originalTypeEvent, handler, delegationFn); - const inNamespace = typeEvent !== originalTypeEvent; - const events = getEvent(element); - const isNamespace = originalTypeEvent.startsWith('.'); - - if (typeof originalHandler !== 'undefined') { - // Simplest case: handler is passed, remove that listener ONLY. - if (!events || !events[typeEvent]) { - return; - } - - removeHandler(element, events, typeEvent, originalHandler, delegation ? handler : null); - return; - } - - if (isNamespace) { - Object.keys(events).forEach(elementEvent => { - removeNamespacedHandlers(element, events, elementEvent, originalTypeEvent.slice(1)); - }); - } - - const storeElementEvent = events[typeEvent] || {}; - Object.keys(storeElementEvent).forEach(keyHandlers => { - const handlerKey = keyHandlers.replace(stripUidRegex, ''); - - if (!inNamespace || originalTypeEvent.includes(handlerKey)) { - const event = storeElementEvent[keyHandlers]; - removeHandler(element, events, typeEvent, event.originalHandler, event.delegationSelector); - } - }); - }, - - trigger(element, event, args) { - if (typeof event !== 'string' || !element) { - return null; - } - - const $ = getjQuery(); - const typeEvent = getTypeEvent(event); - const inNamespace = event !== typeEvent; - const isNative = nativeEvents.has(typeEvent); - let jQueryEvent; - let bubbles = true; - let nativeDispatch = true; - let defaultPrevented = false; - let evt = null; - - if (inNamespace && $) { - jQueryEvent = $.Event(event, args); - $(element).trigger(jQueryEvent); - bubbles = !jQueryEvent.isPropagationStopped(); - nativeDispatch = !jQueryEvent.isImmediatePropagationStopped(); - defaultPrevented = jQueryEvent.isDefaultPrevented(); - } - - if (isNative) { - evt = document.createEvent('HTMLEvents'); - evt.initEvent(typeEvent, bubbles, true); - } else { - evt = new CustomEvent(event, { - bubbles, - cancelable: true - }); - } // merge custom information in our event - - - if (typeof args !== 'undefined') { - Object.keys(args).forEach(key => { - Object.defineProperty(evt, key, { - get() { - return args[key]; - } - - }); - }); - } - - if (defaultPrevented) { - evt.preventDefault(); - } - - if (nativeDispatch) { - element.dispatchEvent(evt); - } - - if (evt.defaultPrevented && typeof jQueryEvent !== 'undefined') { - jQueryEvent.preventDefault(); - } - - return evt; - } - - }; - - return EventHandler; - -})); -//# sourceMappingURL=event-handler.js.map diff --git a/src/js/bs/dist/dom/event-handler.js.map b/src/js/bs/dist/dom/event-handler.js.map deleted file mode 100644 index d83e03721..000000000 --- a/src/js/bs/dist/dom/event-handler.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"event-handler.js","sources":["../../src/util/index.js","../../src/dom/event-handler.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.1.3): util/index.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst MAX_UID = 1000000\nconst MILLISECONDS_MULTIPLIER = 1000\nconst TRANSITION_END = 'transitionend'\n\n// Shoutout AngusCroll (https://goo.gl/pxwQGp)\nconst toType = obj => {\n if (obj === null || obj === undefined) {\n return `${obj}`\n }\n\n return {}.toString.call(obj).match(/\\s([a-z]+)/i)[1].toLowerCase()\n}\n\n/**\n * --------------------------------------------------------------------------\n * Public Util Api\n * --------------------------------------------------------------------------\n */\n\nconst getUID = prefix => {\n do {\n prefix += Math.floor(Math.random() * MAX_UID)\n } while (document.getElementById(prefix))\n\n return prefix\n}\n\nconst getSelector = element => {\n let selector = element.getAttribute('data-bs-target')\n\n if (!selector || selector === '#') {\n let hrefAttr = element.getAttribute('href')\n\n // The only valid content that could double as a selector are IDs or classes,\n // so everything starting with `#` or `.`. If a \"real\" URL is used as the selector,\n // `document.querySelector` will rightfully complain it is invalid.\n // See https://github.com/twbs/bootstrap/issues/32273\n if (!hrefAttr || (!hrefAttr.includes('#') && !hrefAttr.startsWith('.'))) {\n return null\n }\n\n // Just in case some CMS puts out a full URL with the anchor appended\n if (hrefAttr.includes('#') && !hrefAttr.startsWith('#')) {\n hrefAttr = `#${hrefAttr.split('#')[1]}`\n }\n\n selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : null\n }\n\n return selector\n}\n\nconst getSelectorFromElement = element => {\n const selector = getSelector(element)\n\n if (selector) {\n return document.querySelector(selector) ? selector : null\n }\n\n return null\n}\n\nconst getElementFromSelector = element => {\n const selector = getSelector(element)\n\n return selector ? document.querySelector(selector) : null\n}\n\nconst getTransitionDurationFromElement = element => {\n if (!element) {\n return 0\n }\n\n // Get transition-duration of the element\n let { transitionDuration, transitionDelay } = window.getComputedStyle(element)\n\n const floatTransitionDuration = Number.parseFloat(transitionDuration)\n const floatTransitionDelay = Number.parseFloat(transitionDelay)\n\n // Return 0 if element or transition duration is not found\n if (!floatTransitionDuration && !floatTransitionDelay) {\n return 0\n }\n\n // If multiple durations are defined, take the first\n transitionDuration = transitionDuration.split(',')[0]\n transitionDelay = transitionDelay.split(',')[0]\n\n return (Number.parseFloat(transitionDuration) + Number.parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER\n}\n\nconst triggerTransitionEnd = element => {\n element.dispatchEvent(new Event(TRANSITION_END))\n}\n\nconst isElement = obj => {\n if (!obj || typeof obj !== 'object') {\n return false\n }\n\n if (typeof obj.jquery !== 'undefined') {\n obj = obj[0]\n }\n\n return typeof obj.nodeType !== 'undefined'\n}\n\nconst getElement = obj => {\n if (isElement(obj)) { // it's a jQuery object or a node element\n return obj.jquery ? obj[0] : obj\n }\n\n if (typeof obj === 'string' && obj.length > 0) {\n return document.querySelector(obj)\n }\n\n return null\n}\n\nconst typeCheckConfig = (componentName, config, configTypes) => {\n Object.keys(configTypes).forEach(property => {\n const expectedTypes = configTypes[property]\n const value = config[property]\n const valueType = value && isElement(value) ? 'element' : toType(value)\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new TypeError(\n `${componentName.toUpperCase()}: Option \"${property}\" provided type \"${valueType}\" but expected type \"${expectedTypes}\".`\n )\n }\n })\n}\n\nconst isVisible = element => {\n if (!isElement(element) || element.getClientRects().length === 0) {\n return false\n }\n\n return getComputedStyle(element).getPropertyValue('visibility') === 'visible'\n}\n\nconst isDisabled = element => {\n if (!element || element.nodeType !== Node.ELEMENT_NODE) {\n return true\n }\n\n if (element.classList.contains('disabled')) {\n return true\n }\n\n if (typeof element.disabled !== 'undefined') {\n return element.disabled\n }\n\n return element.hasAttribute('disabled') && element.getAttribute('disabled') !== 'false'\n}\n\nconst findShadowRoot = element => {\n if (!document.documentElement.attachShadow) {\n return null\n }\n\n // Can find the shadow root otherwise it'll return the document\n if (typeof element.getRootNode === 'function') {\n const root = element.getRootNode()\n return root instanceof ShadowRoot ? root : null\n }\n\n if (element instanceof ShadowRoot) {\n return element\n }\n\n // when we don't find a shadow root\n if (!element.parentNode) {\n return null\n }\n\n return findShadowRoot(element.parentNode)\n}\n\nconst noop = () => {}\n\n/**\n * Trick to restart an element's animation\n *\n * @param {HTMLElement} element\n * @return void\n *\n * @see https://www.charistheo.io/blog/2021/02/restart-a-css-animation-with-javascript/#restarting-a-css-animation\n */\nconst reflow = element => {\n // eslint-disable-next-line no-unused-expressions\n element.offsetHeight\n}\n\nconst getjQuery = () => {\n const { jQuery } = window\n\n if (jQuery && !document.body.hasAttribute('data-bs-no-jquery')) {\n return jQuery\n }\n\n return null\n}\n\nconst DOMContentLoadedCallbacks = []\n\nconst onDOMContentLoaded = callback => {\n if (document.readyState === 'loading') {\n // add listener on the first call when the document is in loading state\n if (!DOMContentLoadedCallbacks.length) {\n document.addEventListener('DOMContentLoaded', () => {\n DOMContentLoadedCallbacks.forEach(callback => callback())\n })\n }\n\n DOMContentLoadedCallbacks.push(callback)\n } else {\n callback()\n }\n}\n\nconst isRTL = () => document.documentElement.dir === 'rtl'\n\nconst defineJQueryPlugin = plugin => {\n onDOMContentLoaded(() => {\n const $ = getjQuery()\n /* istanbul ignore if */\n if ($) {\n const name = plugin.NAME\n const JQUERY_NO_CONFLICT = $.fn[name]\n $.fn[name] = plugin.jQueryInterface\n $.fn[name].Constructor = plugin\n $.fn[name].noConflict = () => {\n $.fn[name] = JQUERY_NO_CONFLICT\n return plugin.jQueryInterface\n }\n }\n })\n}\n\nconst execute = callback => {\n if (typeof callback === 'function') {\n callback()\n }\n}\n\nconst executeAfterTransition = (callback, transitionElement, waitForTransition = true) => {\n if (!waitForTransition) {\n execute(callback)\n return\n }\n\n const durationPadding = 5\n const emulatedDuration = getTransitionDurationFromElement(transitionElement) + durationPadding\n\n let called = false\n\n const handler = ({ target }) => {\n if (target !== transitionElement) {\n return\n }\n\n called = true\n transitionElement.removeEventListener(TRANSITION_END, handler)\n execute(callback)\n }\n\n transitionElement.addEventListener(TRANSITION_END, handler)\n setTimeout(() => {\n if (!called) {\n triggerTransitionEnd(transitionElement)\n }\n }, emulatedDuration)\n}\n\n/**\n * Return the previous/next element of a list.\n *\n * @param {array} list The list of elements\n * @param activeElement The active element\n * @param shouldGetNext Choose to get next or previous element\n * @param isCycleAllowed\n * @return {Element|elem} The proper element\n */\nconst getNextActiveElement = (list, activeElement, shouldGetNext, isCycleAllowed) => {\n let index = list.indexOf(activeElement)\n\n // if the element does not exist in the list return an element depending on the direction and if cycle is allowed\n if (index === -1) {\n return list[!shouldGetNext && isCycleAllowed ? list.length - 1 : 0]\n }\n\n const listLength = list.length\n\n index += shouldGetNext ? 1 : -1\n\n if (isCycleAllowed) {\n index = (index + listLength) % listLength\n }\n\n return list[Math.max(0, Math.min(index, listLength - 1))]\n}\n\nexport {\n getElement,\n getUID,\n getSelectorFromElement,\n getElementFromSelector,\n getTransitionDurationFromElement,\n triggerTransitionEnd,\n isElement,\n typeCheckConfig,\n isVisible,\n isDisabled,\n findShadowRoot,\n noop,\n getNextActiveElement,\n reflow,\n getjQuery,\n onDOMContentLoaded,\n isRTL,\n defineJQueryPlugin,\n execute,\n executeAfterTransition\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.1.3): dom/event-handler.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { getjQuery } from '../util/index'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst namespaceRegex = /[^.]*(?=\\..*)\\.|.*/\nconst stripNameRegex = /\\..*/\nconst stripUidRegex = /::\\d+$/\nconst eventRegistry = {} // Events storage\nlet uidEvent = 1\nconst customEvents = {\n mouseenter: 'mouseover',\n mouseleave: 'mouseout'\n}\nconst customEventsRegex = /^(mouseenter|mouseleave)/i\nconst nativeEvents = new Set([\n 'click',\n 'dblclick',\n 'mouseup',\n 'mousedown',\n 'contextmenu',\n 'mousewheel',\n 'DOMMouseScroll',\n 'mouseover',\n 'mouseout',\n 'mousemove',\n 'selectstart',\n 'selectend',\n 'keydown',\n 'keypress',\n 'keyup',\n 'orientationchange',\n 'touchstart',\n 'touchmove',\n 'touchend',\n 'touchcancel',\n 'pointerdown',\n 'pointermove',\n 'pointerup',\n 'pointerleave',\n 'pointercancel',\n 'gesturestart',\n 'gesturechange',\n 'gestureend',\n 'focus',\n 'blur',\n 'change',\n 'reset',\n 'select',\n 'submit',\n 'focusin',\n 'focusout',\n 'load',\n 'unload',\n 'beforeunload',\n 'resize',\n 'move',\n 'DOMContentLoaded',\n 'readystatechange',\n 'error',\n 'abort',\n 'scroll'\n])\n\n/**\n * ------------------------------------------------------------------------\n * Private methods\n * ------------------------------------------------------------------------\n */\n\nfunction getUidEvent(element, uid) {\n return (uid && `${uid}::${uidEvent++}`) || element.uidEvent || uidEvent++\n}\n\nfunction getEvent(element) {\n const uid = getUidEvent(element)\n\n element.uidEvent = uid\n eventRegistry[uid] = eventRegistry[uid] || {}\n\n return eventRegistry[uid]\n}\n\nfunction bootstrapHandler(element, fn) {\n return function handler(event) {\n event.delegateTarget = element\n\n if (handler.oneOff) {\n EventHandler.off(element, event.type, fn)\n }\n\n return fn.apply(element, [event])\n }\n}\n\nfunction bootstrapDelegationHandler(element, selector, fn) {\n return function handler(event) {\n const domElements = element.querySelectorAll(selector)\n\n for (let { target } = event; target && target !== this; target = target.parentNode) {\n for (let i = domElements.length; i--;) {\n if (domElements[i] === target) {\n event.delegateTarget = target\n\n if (handler.oneOff) {\n EventHandler.off(element, event.type, selector, fn)\n }\n\n return fn.apply(target, [event])\n }\n }\n }\n\n // To please ESLint\n return null\n }\n}\n\nfunction findHandler(events, handler, delegationSelector = null) {\n const uidEventList = Object.keys(events)\n\n for (let i = 0, len = uidEventList.length; i < len; i++) {\n const event = events[uidEventList[i]]\n\n if (event.originalHandler === handler && event.delegationSelector === delegationSelector) {\n return event\n }\n }\n\n return null\n}\n\nfunction normalizeParams(originalTypeEvent, handler, delegationFn) {\n const delegation = typeof handler === 'string'\n const originalHandler = delegation ? delegationFn : handler\n\n let typeEvent = getTypeEvent(originalTypeEvent)\n const isNative = nativeEvents.has(typeEvent)\n\n if (!isNative) {\n typeEvent = originalTypeEvent\n }\n\n return [delegation, originalHandler, typeEvent]\n}\n\nfunction addHandler(element, originalTypeEvent, handler, delegationFn, oneOff) {\n if (typeof originalTypeEvent !== 'string' || !element) {\n return\n }\n\n if (!handler) {\n handler = delegationFn\n delegationFn = null\n }\n\n // in case of mouseenter or mouseleave wrap the handler within a function that checks for its DOM position\n // this prevents the handler from being dispatched the same way as mouseover or mouseout does\n if (customEventsRegex.test(originalTypeEvent)) {\n const wrapFn = fn => {\n return function (event) {\n if (!event.relatedTarget || (event.relatedTarget !== event.delegateTarget && !event.delegateTarget.contains(event.relatedTarget))) {\n return fn.call(this, event)\n }\n }\n }\n\n if (delegationFn) {\n delegationFn = wrapFn(delegationFn)\n } else {\n handler = wrapFn(handler)\n }\n }\n\n const [delegation, originalHandler, typeEvent] = normalizeParams(originalTypeEvent, handler, delegationFn)\n const events = getEvent(element)\n const handlers = events[typeEvent] || (events[typeEvent] = {})\n const previousFn = findHandler(handlers, originalHandler, delegation ? handler : null)\n\n if (previousFn) {\n previousFn.oneOff = previousFn.oneOff && oneOff\n\n return\n }\n\n const uid = getUidEvent(originalHandler, originalTypeEvent.replace(namespaceRegex, ''))\n const fn = delegation ?\n bootstrapDelegationHandler(element, handler, delegationFn) :\n bootstrapHandler(element, handler)\n\n fn.delegationSelector = delegation ? handler : null\n fn.originalHandler = originalHandler\n fn.oneOff = oneOff\n fn.uidEvent = uid\n handlers[uid] = fn\n\n element.addEventListener(typeEvent, fn, delegation)\n}\n\nfunction removeHandler(element, events, typeEvent, handler, delegationSelector) {\n const fn = findHandler(events[typeEvent], handler, delegationSelector)\n\n if (!fn) {\n return\n }\n\n element.removeEventListener(typeEvent, fn, Boolean(delegationSelector))\n delete events[typeEvent][fn.uidEvent]\n}\n\nfunction removeNamespacedHandlers(element, events, typeEvent, namespace) {\n const storeElementEvent = events[typeEvent] || {}\n\n Object.keys(storeElementEvent).forEach(handlerKey => {\n if (handlerKey.includes(namespace)) {\n const event = storeElementEvent[handlerKey]\n\n removeHandler(element, events, typeEvent, event.originalHandler, event.delegationSelector)\n }\n })\n}\n\nfunction getTypeEvent(event) {\n // allow to get the native events from namespaced events ('click.bs.button' --> 'click')\n event = event.replace(stripNameRegex, '')\n return customEvents[event] || event\n}\n\nconst EventHandler = {\n on(element, event, handler, delegationFn) {\n addHandler(element, event, handler, delegationFn, false)\n },\n\n one(element, event, handler, delegationFn) {\n addHandler(element, event, handler, delegationFn, true)\n },\n\n off(element, originalTypeEvent, handler, delegationFn) {\n if (typeof originalTypeEvent !== 'string' || !element) {\n return\n }\n\n const [delegation, originalHandler, typeEvent] = normalizeParams(originalTypeEvent, handler, delegationFn)\n const inNamespace = typeEvent !== originalTypeEvent\n const events = getEvent(element)\n const isNamespace = originalTypeEvent.startsWith('.')\n\n if (typeof originalHandler !== 'undefined') {\n // Simplest case: handler is passed, remove that listener ONLY.\n if (!events || !events[typeEvent]) {\n return\n }\n\n removeHandler(element, events, typeEvent, originalHandler, delegation ? handler : null)\n return\n }\n\n if (isNamespace) {\n Object.keys(events).forEach(elementEvent => {\n removeNamespacedHandlers(element, events, elementEvent, originalTypeEvent.slice(1))\n })\n }\n\n const storeElementEvent = events[typeEvent] || {}\n Object.keys(storeElementEvent).forEach(keyHandlers => {\n const handlerKey = keyHandlers.replace(stripUidRegex, '')\n\n if (!inNamespace || originalTypeEvent.includes(handlerKey)) {\n const event = storeElementEvent[keyHandlers]\n\n removeHandler(element, events, typeEvent, event.originalHandler, event.delegationSelector)\n }\n })\n },\n\n trigger(element, event, args) {\n if (typeof event !== 'string' || !element) {\n return null\n }\n\n const $ = getjQuery()\n const typeEvent = getTypeEvent(event)\n const inNamespace = event !== typeEvent\n const isNative = nativeEvents.has(typeEvent)\n\n let jQueryEvent\n let bubbles = true\n let nativeDispatch = true\n let defaultPrevented = false\n let evt = null\n\n if (inNamespace && $) {\n jQueryEvent = $.Event(event, args)\n\n $(element).trigger(jQueryEvent)\n bubbles = !jQueryEvent.isPropagationStopped()\n nativeDispatch = !jQueryEvent.isImmediatePropagationStopped()\n defaultPrevented = jQueryEvent.isDefaultPrevented()\n }\n\n if (isNative) {\n evt = document.createEvent('HTMLEvents')\n evt.initEvent(typeEvent, bubbles, true)\n } else {\n evt = new CustomEvent(event, {\n bubbles,\n cancelable: true\n })\n }\n\n // merge custom information in our event\n if (typeof args !== 'undefined') {\n Object.keys(args).forEach(key => {\n Object.defineProperty(evt, key, {\n get() {\n return args[key]\n }\n })\n })\n }\n\n if (defaultPrevented) {\n evt.preventDefault()\n }\n\n if (nativeDispatch) {\n element.dispatchEvent(evt)\n }\n\n if (evt.defaultPrevented && typeof jQueryEvent !== 'undefined') {\n jQueryEvent.preventDefault()\n }\n\n return evt\n }\n}\n\nexport default EventHandler\n"],"names":["getjQuery","jQuery","window","document","body","hasAttribute","namespaceRegex","stripNameRegex","stripUidRegex","eventRegistry","uidEvent","customEvents","mouseenter","mouseleave","customEventsRegex","nativeEvents","Set","getUidEvent","element","uid","getEvent","bootstrapHandler","fn","handler","event","delegateTarget","oneOff","EventHandler","off","type","apply","bootstrapDelegationHandler","selector","domElements","querySelectorAll","target","parentNode","i","length","findHandler","events","delegationSelector","uidEventList","Object","keys","len","originalHandler","normalizeParams","originalTypeEvent","delegationFn","delegation","typeEvent","getTypeEvent","isNative","has","addHandler","test","wrapFn","relatedTarget","contains","call","handlers","previousFn","replace","addEventListener","removeHandler","removeEventListener","Boolean","removeNamespacedHandlers","namespace","storeElementEvent","forEach","handlerKey","includes","on","one","inNamespace","isNamespace","startsWith","elementEvent","slice","keyHandlers","trigger","args","$","jQueryEvent","bubbles","nativeDispatch","defaultPrevented","evt","Event","isPropagationStopped","isImmediatePropagationStopped","isDefaultPrevented","createEvent","initEvent","CustomEvent","cancelable","key","defineProperty","get","preventDefault","dispatchEvent"],"mappings":"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"} \ No newline at end of file diff --git a/src/js/bs/dist/dom/manipulator.js b/src/js/bs/dist/dom/manipulator.js deleted file mode 100644 index bac8a4d5a..000000000 --- a/src/js/bs/dist/dom/manipulator.js +++ /dev/null @@ -1,89 +0,0 @@ -/*! - * Bootstrap manipulator.js v5.1.3 (https://getbootstrap.com/) - * Copyright 2011-2021 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) - */ -(function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() : - typeof define === 'function' && define.amd ? define(factory) : - (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Manipulator = factory()); -})(this, (function () { 'use strict'; - - /** - * -------------------------------------------------------------------------- - * Bootstrap (v5.1.3): dom/manipulator.js - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) - * -------------------------------------------------------------------------- - */ - function normalizeData(val) { - if (val === 'true') { - return true; - } - - if (val === 'false') { - return false; - } - - if (val === Number(val).toString()) { - return Number(val); - } - - if (val === '' || val === 'null') { - return null; - } - - return val; - } - - function normalizeDataKey(key) { - return key.replace(/[A-Z]/g, chr => `-${chr.toLowerCase()}`); - } - - const Manipulator = { - setDataAttribute(element, key, value) { - element.setAttribute(`data-bs-${normalizeDataKey(key)}`, value); - }, - - removeDataAttribute(element, key) { - element.removeAttribute(`data-bs-${normalizeDataKey(key)}`); - }, - - getDataAttributes(element) { - if (!element) { - return {}; - } - - const attributes = {}; - Object.keys(element.dataset).filter(key => key.startsWith('bs')).forEach(key => { - let pureKey = key.replace(/^bs/, ''); - pureKey = pureKey.charAt(0).toLowerCase() + pureKey.slice(1, pureKey.length); - attributes[pureKey] = normalizeData(element.dataset[key]); - }); - return attributes; - }, - - getDataAttribute(element, key) { - return normalizeData(element.getAttribute(`data-bs-${normalizeDataKey(key)}`)); - }, - - offset(element) { - const rect = element.getBoundingClientRect(); - return { - top: rect.top + window.pageYOffset, - left: rect.left + window.pageXOffset - }; - }, - - position(element) { - return { - top: element.offsetTop, - left: element.offsetLeft - }; - } - - }; - - return Manipulator; - -})); -//# sourceMappingURL=manipulator.js.map diff --git a/src/js/bs/dist/dom/manipulator.js.map b/src/js/bs/dist/dom/manipulator.js.map deleted file mode 100644 index 9c893e61a..000000000 --- a/src/js/bs/dist/dom/manipulator.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"manipulator.js","sources":["../../src/dom/manipulator.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.1.3): dom/manipulator.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nfunction normalizeData(val) {\n if (val === 'true') {\n return true\n }\n\n if (val === 'false') {\n return false\n }\n\n if (val === Number(val).toString()) {\n return Number(val)\n }\n\n if (val === '' || val === 'null') {\n return null\n }\n\n return val\n}\n\nfunction normalizeDataKey(key) {\n return key.replace(/[A-Z]/g, chr => `-${chr.toLowerCase()}`)\n}\n\nconst Manipulator = {\n setDataAttribute(element, key, value) {\n element.setAttribute(`data-bs-${normalizeDataKey(key)}`, value)\n },\n\n removeDataAttribute(element, key) {\n element.removeAttribute(`data-bs-${normalizeDataKey(key)}`)\n },\n\n getDataAttributes(element) {\n if (!element) {\n return {}\n }\n\n const attributes = {}\n\n Object.keys(element.dataset)\n .filter(key => key.startsWith('bs'))\n .forEach(key => {\n let pureKey = key.replace(/^bs/, '')\n pureKey = pureKey.charAt(0).toLowerCase() + pureKey.slice(1, pureKey.length)\n attributes[pureKey] = normalizeData(element.dataset[key])\n })\n\n return attributes\n },\n\n getDataAttribute(element, key) {\n return normalizeData(element.getAttribute(`data-bs-${normalizeDataKey(key)}`))\n },\n\n offset(element) {\n const rect = element.getBoundingClientRect()\n\n return {\n top: rect.top + window.pageYOffset,\n left: rect.left + window.pageXOffset\n }\n },\n\n position(element) {\n return {\n top: element.offsetTop,\n left: element.offsetLeft\n }\n }\n}\n\nexport default Manipulator\n"],"names":["normalizeData","val","Number","toString","normalizeDataKey","key","replace","chr","toLowerCase","Manipulator","setDataAttribute","element","value","setAttribute","removeDataAttribute","removeAttribute","getDataAttributes","attributes","Object","keys","dataset","filter","startsWith","forEach","pureKey","charAt","slice","length","getDataAttribute","getAttribute","offset","rect","getBoundingClientRect","top","window","pageYOffset","left","pageXOffset","position","offsetTop","offsetLeft"],"mappings":";;;;;;;;;;;EAAA;EACA;EACA;EACA;EACA;EACA;EAEA,SAASA,aAAT,CAAuBC,GAAvB,EAA4B;EAC1B,MAAIA,GAAG,KAAK,MAAZ,EAAoB;EAClB,WAAO,IAAP;EACD;;EAED,MAAIA,GAAG,KAAK,OAAZ,EAAqB;EACnB,WAAO,KAAP;EACD;;EAED,MAAIA,GAAG,KAAKC,MAAM,CAACD,GAAD,CAAN,CAAYE,QAAZ,EAAZ,EAAoC;EAClC,WAAOD,MAAM,CAACD,GAAD,CAAb;EACD;;EAED,MAAIA,GAAG,KAAK,EAAR,IAAcA,GAAG,KAAK,MAA1B,EAAkC;EAChC,WAAO,IAAP;EACD;;EAED,SAAOA,GAAP;EACD;;EAED,SAASG,gBAAT,CAA0BC,GAA1B,EAA+B;EAC7B,SAAOA,GAAG,CAACC,OAAJ,CAAY,QAAZ,EAAsBC,GAAG,IAAK,IAAGA,GAAG,CAACC,WAAJ,EAAkB,EAAnD,CAAP;EACD;;QAEKC,WAAW,GAAG;EAClBC,EAAAA,gBAAgB,CAACC,OAAD,EAAUN,GAAV,EAAeO,KAAf,EAAsB;EACpCD,IAAAA,OAAO,CAACE,YAAR,CAAsB,WAAUT,gBAAgB,CAACC,GAAD,CAAM,EAAtD,EAAyDO,KAAzD;EACD,GAHiB;;EAKlBE,EAAAA,mBAAmB,CAACH,OAAD,EAAUN,GAAV,EAAe;EAChCM,IAAAA,OAAO,CAACI,eAAR,CAAyB,WAAUX,gBAAgB,CAACC,GAAD,CAAM,EAAzD;EACD,GAPiB;;EASlBW,EAAAA,iBAAiB,CAACL,OAAD,EAAU;EACzB,QAAI,CAACA,OAAL,EAAc;EACZ,aAAO,EAAP;EACD;;EAED,UAAMM,UAAU,GAAG,EAAnB;EAEAC,IAAAA,MAAM,CAACC,IAAP,CAAYR,OAAO,CAACS,OAApB,EACGC,MADH,CACUhB,GAAG,IAAIA,GAAG,CAACiB,UAAJ,CAAe,IAAf,CADjB,EAEGC,OAFH,CAEWlB,GAAG,IAAI;EACd,UAAImB,OAAO,GAAGnB,GAAG,CAACC,OAAJ,CAAY,KAAZ,EAAmB,EAAnB,CAAd;EACAkB,MAAAA,OAAO,GAAGA,OAAO,CAACC,MAAR,CAAe,CAAf,EAAkBjB,WAAlB,KAAkCgB,OAAO,CAACE,KAAR,CAAc,CAAd,EAAiBF,OAAO,CAACG,MAAzB,CAA5C;EACAV,MAAAA,UAAU,CAACO,OAAD,CAAV,GAAsBxB,aAAa,CAACW,OAAO,CAACS,OAAR,CAAgBf,GAAhB,CAAD,CAAnC;EACD,KANH;EAQA,WAAOY,UAAP;EACD,GAzBiB;;EA2BlBW,EAAAA,gBAAgB,CAACjB,OAAD,EAAUN,GAAV,EAAe;EAC7B,WAAOL,aAAa,CAACW,OAAO,CAACkB,YAAR,CAAsB,WAAUzB,gBAAgB,CAACC,GAAD,CAAM,EAAtD,CAAD,CAApB;EACD,GA7BiB;;EA+BlByB,EAAAA,MAAM,CAACnB,OAAD,EAAU;EACd,UAAMoB,IAAI,GAAGpB,OAAO,CAACqB,qBAAR,EAAb;EAEA,WAAO;EACLC,MAAAA,GAAG,EAAEF,IAAI,CAACE,GAAL,GAAWC,MAAM,CAACC,WADlB;EAELC,MAAAA,IAAI,EAAEL,IAAI,CAACK,IAAL,GAAYF,MAAM,CAACG;EAFpB,KAAP;EAID,GAtCiB;;EAwClBC,EAAAA,QAAQ,CAAC3B,OAAD,EAAU;EAChB,WAAO;EACLsB,MAAAA,GAAG,EAAEtB,OAAO,CAAC4B,SADR;EAELH,MAAAA,IAAI,EAAEzB,OAAO,CAAC6B;EAFT,KAAP;EAID;;EA7CiB;;;;;;;;"} \ No newline at end of file diff --git a/src/js/bs/dist/dom/selector-engine.js b/src/js/bs/dist/dom/selector-engine.js deleted file mode 100644 index 8cf7e2925..000000000 --- a/src/js/bs/dist/dom/selector-engine.js +++ /dev/null @@ -1,128 +0,0 @@ -/*! - * Bootstrap selector-engine.js v5.1.3 (https://getbootstrap.com/) - * Copyright 2011-2021 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) - */ -(function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() : - typeof define === 'function' && define.amd ? define(factory) : - (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.SelectorEngine = factory()); -})(this, (function () { 'use strict'; - - /** - * -------------------------------------------------------------------------- - * Bootstrap (v5.1.3): util/index.js - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) - * -------------------------------------------------------------------------- - */ - - const isElement = obj => { - if (!obj || typeof obj !== 'object') { - return false; - } - - if (typeof obj.jquery !== 'undefined') { - obj = obj[0]; - } - - return typeof obj.nodeType !== 'undefined'; - }; - - const isVisible = element => { - if (!isElement(element) || element.getClientRects().length === 0) { - return false; - } - - return getComputedStyle(element).getPropertyValue('visibility') === 'visible'; - }; - - const isDisabled = element => { - if (!element || element.nodeType !== Node.ELEMENT_NODE) { - return true; - } - - if (element.classList.contains('disabled')) { - return true; - } - - if (typeof element.disabled !== 'undefined') { - return element.disabled; - } - - return element.hasAttribute('disabled') && element.getAttribute('disabled') !== 'false'; - }; - - /** - * -------------------------------------------------------------------------- - * Bootstrap (v5.1.3): dom/selector-engine.js - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) - * -------------------------------------------------------------------------- - */ - const NODE_TEXT = 3; - const SelectorEngine = { - find(selector, element = document.documentElement) { - return [].concat(...Element.prototype.querySelectorAll.call(element, selector)); - }, - - findOne(selector, element = document.documentElement) { - return Element.prototype.querySelector.call(element, selector); - }, - - children(element, selector) { - return [].concat(...element.children).filter(child => child.matches(selector)); - }, - - parents(element, selector) { - const parents = []; - let ancestor = element.parentNode; - - while (ancestor && ancestor.nodeType === Node.ELEMENT_NODE && ancestor.nodeType !== NODE_TEXT) { - if (ancestor.matches(selector)) { - parents.push(ancestor); - } - - ancestor = ancestor.parentNode; - } - - return parents; - }, - - prev(element, selector) { - let previous = element.previousElementSibling; - - while (previous) { - if (previous.matches(selector)) { - return [previous]; - } - - previous = previous.previousElementSibling; - } - - return []; - }, - - next(element, selector) { - let next = element.nextElementSibling; - - while (next) { - if (next.matches(selector)) { - return [next]; - } - - next = next.nextElementSibling; - } - - return []; - }, - - focusableChildren(element) { - const focusables = ['a', 'button', 'input', 'textarea', 'select', 'details', '[tabindex]', '[contenteditable="true"]'].map(selector => `${selector}:not([tabindex^="-"])`).join(', '); - return this.find(focusables, element).filter(el => !isDisabled(el) && isVisible(el)); - } - - }; - - return SelectorEngine; - -})); -//# sourceMappingURL=selector-engine.js.map diff --git a/src/js/bs/dist/dom/selector-engine.js.map b/src/js/bs/dist/dom/selector-engine.js.map deleted file mode 100644 index 49ce84771..000000000 --- a/src/js/bs/dist/dom/selector-engine.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"selector-engine.js","sources":["../../src/util/index.js","../../src/dom/selector-engine.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.1.3): util/index.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst MAX_UID = 1000000\nconst MILLISECONDS_MULTIPLIER = 1000\nconst TRANSITION_END = 'transitionend'\n\n// Shoutout AngusCroll (https://goo.gl/pxwQGp)\nconst toType = obj => {\n if (obj === null || obj === undefined) {\n return `${obj}`\n }\n\n return {}.toString.call(obj).match(/\\s([a-z]+)/i)[1].toLowerCase()\n}\n\n/**\n * --------------------------------------------------------------------------\n * Public Util Api\n * --------------------------------------------------------------------------\n */\n\nconst getUID = prefix => {\n do {\n prefix += Math.floor(Math.random() * MAX_UID)\n } while (document.getElementById(prefix))\n\n return prefix\n}\n\nconst getSelector = element => {\n let selector = element.getAttribute('data-bs-target')\n\n if (!selector || selector === '#') {\n let hrefAttr = element.getAttribute('href')\n\n // The only valid content that could double as a selector are IDs or classes,\n // so everything starting with `#` or `.`. If a \"real\" URL is used as the selector,\n // `document.querySelector` will rightfully complain it is invalid.\n // See https://github.com/twbs/bootstrap/issues/32273\n if (!hrefAttr || (!hrefAttr.includes('#') && !hrefAttr.startsWith('.'))) {\n return null\n }\n\n // Just in case some CMS puts out a full URL with the anchor appended\n if (hrefAttr.includes('#') && !hrefAttr.startsWith('#')) {\n hrefAttr = `#${hrefAttr.split('#')[1]}`\n }\n\n selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : null\n }\n\n return selector\n}\n\nconst getSelectorFromElement = element => {\n const selector = getSelector(element)\n\n if (selector) {\n return document.querySelector(selector) ? selector : null\n }\n\n return null\n}\n\nconst getElementFromSelector = element => {\n const selector = getSelector(element)\n\n return selector ? document.querySelector(selector) : null\n}\n\nconst getTransitionDurationFromElement = element => {\n if (!element) {\n return 0\n }\n\n // Get transition-duration of the element\n let { transitionDuration, transitionDelay } = window.getComputedStyle(element)\n\n const floatTransitionDuration = Number.parseFloat(transitionDuration)\n const floatTransitionDelay = Number.parseFloat(transitionDelay)\n\n // Return 0 if element or transition duration is not found\n if (!floatTransitionDuration && !floatTransitionDelay) {\n return 0\n }\n\n // If multiple durations are defined, take the first\n transitionDuration = transitionDuration.split(',')[0]\n transitionDelay = transitionDelay.split(',')[0]\n\n return (Number.parseFloat(transitionDuration) + Number.parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER\n}\n\nconst triggerTransitionEnd = element => {\n element.dispatchEvent(new Event(TRANSITION_END))\n}\n\nconst isElement = obj => {\n if (!obj || typeof obj !== 'object') {\n return false\n }\n\n if (typeof obj.jquery !== 'undefined') {\n obj = obj[0]\n }\n\n return typeof obj.nodeType !== 'undefined'\n}\n\nconst getElement = obj => {\n if (isElement(obj)) { // it's a jQuery object or a node element\n return obj.jquery ? obj[0] : obj\n }\n\n if (typeof obj === 'string' && obj.length > 0) {\n return document.querySelector(obj)\n }\n\n return null\n}\n\nconst typeCheckConfig = (componentName, config, configTypes) => {\n Object.keys(configTypes).forEach(property => {\n const expectedTypes = configTypes[property]\n const value = config[property]\n const valueType = value && isElement(value) ? 'element' : toType(value)\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new TypeError(\n `${componentName.toUpperCase()}: Option \"${property}\" provided type \"${valueType}\" but expected type \"${expectedTypes}\".`\n )\n }\n })\n}\n\nconst isVisible = element => {\n if (!isElement(element) || element.getClientRects().length === 0) {\n return false\n }\n\n return getComputedStyle(element).getPropertyValue('visibility') === 'visible'\n}\n\nconst isDisabled = element => {\n if (!element || element.nodeType !== Node.ELEMENT_NODE) {\n return true\n }\n\n if (element.classList.contains('disabled')) {\n return true\n }\n\n if (typeof element.disabled !== 'undefined') {\n return element.disabled\n }\n\n return element.hasAttribute('disabled') && element.getAttribute('disabled') !== 'false'\n}\n\nconst findShadowRoot = element => {\n if (!document.documentElement.attachShadow) {\n return null\n }\n\n // Can find the shadow root otherwise it'll return the document\n if (typeof element.getRootNode === 'function') {\n const root = element.getRootNode()\n return root instanceof ShadowRoot ? root : null\n }\n\n if (element instanceof ShadowRoot) {\n return element\n }\n\n // when we don't find a shadow root\n if (!element.parentNode) {\n return null\n }\n\n return findShadowRoot(element.parentNode)\n}\n\nconst noop = () => {}\n\n/**\n * Trick to restart an element's animation\n *\n * @param {HTMLElement} element\n * @return void\n *\n * @see https://www.charistheo.io/blog/2021/02/restart-a-css-animation-with-javascript/#restarting-a-css-animation\n */\nconst reflow = element => {\n // eslint-disable-next-line no-unused-expressions\n element.offsetHeight\n}\n\nconst getjQuery = () => {\n const { jQuery } = window\n\n if (jQuery && !document.body.hasAttribute('data-bs-no-jquery')) {\n return jQuery\n }\n\n return null\n}\n\nconst DOMContentLoadedCallbacks = []\n\nconst onDOMContentLoaded = callback => {\n if (document.readyState === 'loading') {\n // add listener on the first call when the document is in loading state\n if (!DOMContentLoadedCallbacks.length) {\n document.addEventListener('DOMContentLoaded', () => {\n DOMContentLoadedCallbacks.forEach(callback => callback())\n })\n }\n\n DOMContentLoadedCallbacks.push(callback)\n } else {\n callback()\n }\n}\n\nconst isRTL = () => document.documentElement.dir === 'rtl'\n\nconst defineJQueryPlugin = plugin => {\n onDOMContentLoaded(() => {\n const $ = getjQuery()\n /* istanbul ignore if */\n if ($) {\n const name = plugin.NAME\n const JQUERY_NO_CONFLICT = $.fn[name]\n $.fn[name] = plugin.jQueryInterface\n $.fn[name].Constructor = plugin\n $.fn[name].noConflict = () => {\n $.fn[name] = JQUERY_NO_CONFLICT\n return plugin.jQueryInterface\n }\n }\n })\n}\n\nconst execute = callback => {\n if (typeof callback === 'function') {\n callback()\n }\n}\n\nconst executeAfterTransition = (callback, transitionElement, waitForTransition = true) => {\n if (!waitForTransition) {\n execute(callback)\n return\n }\n\n const durationPadding = 5\n const emulatedDuration = getTransitionDurationFromElement(transitionElement) + durationPadding\n\n let called = false\n\n const handler = ({ target }) => {\n if (target !== transitionElement) {\n return\n }\n\n called = true\n transitionElement.removeEventListener(TRANSITION_END, handler)\n execute(callback)\n }\n\n transitionElement.addEventListener(TRANSITION_END, handler)\n setTimeout(() => {\n if (!called) {\n triggerTransitionEnd(transitionElement)\n }\n }, emulatedDuration)\n}\n\n/**\n * Return the previous/next element of a list.\n *\n * @param {array} list The list of elements\n * @param activeElement The active element\n * @param shouldGetNext Choose to get next or previous element\n * @param isCycleAllowed\n * @return {Element|elem} The proper element\n */\nconst getNextActiveElement = (list, activeElement, shouldGetNext, isCycleAllowed) => {\n let index = list.indexOf(activeElement)\n\n // if the element does not exist in the list return an element depending on the direction and if cycle is allowed\n if (index === -1) {\n return list[!shouldGetNext && isCycleAllowed ? list.length - 1 : 0]\n }\n\n const listLength = list.length\n\n index += shouldGetNext ? 1 : -1\n\n if (isCycleAllowed) {\n index = (index + listLength) % listLength\n }\n\n return list[Math.max(0, Math.min(index, listLength - 1))]\n}\n\nexport {\n getElement,\n getUID,\n getSelectorFromElement,\n getElementFromSelector,\n getTransitionDurationFromElement,\n triggerTransitionEnd,\n isElement,\n typeCheckConfig,\n isVisible,\n isDisabled,\n findShadowRoot,\n noop,\n getNextActiveElement,\n reflow,\n getjQuery,\n onDOMContentLoaded,\n isRTL,\n defineJQueryPlugin,\n execute,\n executeAfterTransition\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.1.3): dom/selector-engine.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nimport { isDisabled, isVisible } from '../util/index'\n\nconst NODE_TEXT = 3\n\nconst SelectorEngine = {\n find(selector, element = document.documentElement) {\n return [].concat(...Element.prototype.querySelectorAll.call(element, selector))\n },\n\n findOne(selector, element = document.documentElement) {\n return Element.prototype.querySelector.call(element, selector)\n },\n\n children(element, selector) {\n return [].concat(...element.children)\n .filter(child => child.matches(selector))\n },\n\n parents(element, selector) {\n const parents = []\n\n let ancestor = element.parentNode\n\n while (ancestor && ancestor.nodeType === Node.ELEMENT_NODE && ancestor.nodeType !== NODE_TEXT) {\n if (ancestor.matches(selector)) {\n parents.push(ancestor)\n }\n\n ancestor = ancestor.parentNode\n }\n\n return parents\n },\n\n prev(element, selector) {\n let previous = element.previousElementSibling\n\n while (previous) {\n if (previous.matches(selector)) {\n return [previous]\n }\n\n previous = previous.previousElementSibling\n }\n\n return []\n },\n\n next(element, selector) {\n let next = element.nextElementSibling\n\n while (next) {\n if (next.matches(selector)) {\n return [next]\n }\n\n next = next.nextElementSibling\n }\n\n return []\n },\n\n focusableChildren(element) {\n const focusables = [\n 'a',\n 'button',\n 'input',\n 'textarea',\n 'select',\n 'details',\n '[tabindex]',\n '[contenteditable=\"true\"]'\n ].map(selector => `${selector}:not([tabindex^=\"-\"])`).join(', ')\n\n return this.find(focusables, element).filter(el => !isDisabled(el) && isVisible(el))\n }\n}\n\nexport default SelectorEngine\n"],"names":["isElement","obj","jquery","nodeType","isVisible","element","getClientRects","length","getComputedStyle","getPropertyValue","isDisabled","Node","ELEMENT_NODE","classList","contains","disabled","hasAttribute","getAttribute","NODE_TEXT","SelectorEngine","find","selector","document","documentElement","concat","Element","prototype","querySelectorAll","call","findOne","querySelector","children","filter","child","matches","parents","ancestor","parentNode","push","prev","previous","previousElementSibling","next","nextElementSibling","focusableChildren","focusables","map","join","el"],"mappings":"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"} \ No newline at end of file diff --git a/src/js/bs/dist/dropdown.js b/src/js/bs/dist/dropdown.js deleted file mode 100644 index 1ac223fa8..000000000 --- a/src/js/bs/dist/dropdown.js +++ /dev/null @@ -1,687 +0,0 @@ -/*! - * Bootstrap dropdown.js v5.1.3 (https://getbootstrap.com/) - * Copyright 2011-2021 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) - */ -(function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('@popperjs/core'), require('./dom/event-handler.js'), require('./dom/manipulator.js'), require('./dom/selector-engine.js'), require('./base-component.js')) : - typeof define === 'function' && define.amd ? define(['@popperjs/core', './dom/event-handler', './dom/manipulator', './dom/selector-engine', './base-component'], factory) : - (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Dropdown = factory(global.Popper, global.EventHandler, global.Manipulator, global.SelectorEngine, global.Base)); -})(this, (function (Popper, EventHandler, Manipulator, SelectorEngine, BaseComponent) { 'use strict'; - - const _interopDefaultLegacy = e => e && typeof e === 'object' && 'default' in e ? e : { default: e }; - - function _interopNamespace(e) { - if (e && e.__esModule) return e; - const n = Object.create(null); - if (e) { - for (const k in e) { - if (k !== 'default') { - const d = Object.getOwnPropertyDescriptor(e, k); - Object.defineProperty(n, k, d.get ? d : { - enumerable: true, - get: () => e[k] - }); - } - } - } - n.default = e; - return Object.freeze(n); - } - - const Popper__namespace = /*#__PURE__*/_interopNamespace(Popper); - const EventHandler__default = /*#__PURE__*/_interopDefaultLegacy(EventHandler); - const Manipulator__default = /*#__PURE__*/_interopDefaultLegacy(Manipulator); - const SelectorEngine__default = /*#__PURE__*/_interopDefaultLegacy(SelectorEngine); - const BaseComponent__default = /*#__PURE__*/_interopDefaultLegacy(BaseComponent); - - /** - * -------------------------------------------------------------------------- - * Bootstrap (v5.1.3): util/index.js - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) - * -------------------------------------------------------------------------- - */ - - const toType = obj => { - if (obj === null || obj === undefined) { - return `${obj}`; - } - - return {}.toString.call(obj).match(/\s([a-z]+)/i)[1].toLowerCase(); - }; - - const getSelector = element => { - let selector = element.getAttribute('data-bs-target'); - - if (!selector || selector === '#') { - let hrefAttr = element.getAttribute('href'); // The only valid content that could double as a selector are IDs or classes, - // so everything starting with `#` or `.`. If a "real" URL is used as the selector, - // `document.querySelector` will rightfully complain it is invalid. - // See https://github.com/twbs/bootstrap/issues/32273 - - if (!hrefAttr || !hrefAttr.includes('#') && !hrefAttr.startsWith('.')) { - return null; - } // Just in case some CMS puts out a full URL with the anchor appended - - - if (hrefAttr.includes('#') && !hrefAttr.startsWith('#')) { - hrefAttr = `#${hrefAttr.split('#')[1]}`; - } - - selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : null; - } - - return selector; - }; - - const getElementFromSelector = element => { - const selector = getSelector(element); - return selector ? document.querySelector(selector) : null; - }; - - const isElement = obj => { - if (!obj || typeof obj !== 'object') { - return false; - } - - if (typeof obj.jquery !== 'undefined') { - obj = obj[0]; - } - - return typeof obj.nodeType !== 'undefined'; - }; - - const getElement = obj => { - if (isElement(obj)) { - // it's a jQuery object or a node element - return obj.jquery ? obj[0] : obj; - } - - if (typeof obj === 'string' && obj.length > 0) { - return document.querySelector(obj); - } - - return null; - }; - - const typeCheckConfig = (componentName, config, configTypes) => { - Object.keys(configTypes).forEach(property => { - const expectedTypes = configTypes[property]; - const value = config[property]; - const valueType = value && isElement(value) ? 'element' : toType(value); - - if (!new RegExp(expectedTypes).test(valueType)) { - throw new TypeError(`${componentName.toUpperCase()}: Option "${property}" provided type "${valueType}" but expected type "${expectedTypes}".`); - } - }); - }; - - const isVisible = element => { - if (!isElement(element) || element.getClientRects().length === 0) { - return false; - } - - return getComputedStyle(element).getPropertyValue('visibility') === 'visible'; - }; - - const isDisabled = element => { - if (!element || element.nodeType !== Node.ELEMENT_NODE) { - return true; - } - - if (element.classList.contains('disabled')) { - return true; - } - - if (typeof element.disabled !== 'undefined') { - return element.disabled; - } - - return element.hasAttribute('disabled') && element.getAttribute('disabled') !== 'false'; - }; - - const noop = () => {}; - - const getjQuery = () => { - const { - jQuery - } = window; - - if (jQuery && !document.body.hasAttribute('data-bs-no-jquery')) { - return jQuery; - } - - return null; - }; - - const DOMContentLoadedCallbacks = []; - - const onDOMContentLoaded = callback => { - if (document.readyState === 'loading') { - // add listener on the first call when the document is in loading state - if (!DOMContentLoadedCallbacks.length) { - document.addEventListener('DOMContentLoaded', () => { - DOMContentLoadedCallbacks.forEach(callback => callback()); - }); - } - - DOMContentLoadedCallbacks.push(callback); - } else { - callback(); - } - }; - - const isRTL = () => document.documentElement.dir === 'rtl'; - - const defineJQueryPlugin = plugin => { - onDOMContentLoaded(() => { - const $ = getjQuery(); - /* istanbul ignore if */ - - if ($) { - const name = plugin.NAME; - const JQUERY_NO_CONFLICT = $.fn[name]; - $.fn[name] = plugin.jQueryInterface; - $.fn[name].Constructor = plugin; - - $.fn[name].noConflict = () => { - $.fn[name] = JQUERY_NO_CONFLICT; - return plugin.jQueryInterface; - }; - } - }); - }; - /** - * Return the previous/next element of a list. - * - * @param {array} list The list of elements - * @param activeElement The active element - * @param shouldGetNext Choose to get next or previous element - * @param isCycleAllowed - * @return {Element|elem} The proper element - */ - - - const getNextActiveElement = (list, activeElement, shouldGetNext, isCycleAllowed) => { - let index = list.indexOf(activeElement); // if the element does not exist in the list return an element depending on the direction and if cycle is allowed - - if (index === -1) { - return list[!shouldGetNext && isCycleAllowed ? list.length - 1 : 0]; - } - - const listLength = list.length; - index += shouldGetNext ? 1 : -1; - - if (isCycleAllowed) { - index = (index + listLength) % listLength; - } - - return list[Math.max(0, Math.min(index, listLength - 1))]; - }; - - /** - * -------------------------------------------------------------------------- - * Bootstrap (v5.1.3): dropdown.js - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) - * -------------------------------------------------------------------------- - */ - /** - * ------------------------------------------------------------------------ - * Constants - * ------------------------------------------------------------------------ - */ - - const NAME = 'dropdown'; - const DATA_KEY = 'bs.dropdown'; - const EVENT_KEY = `.${DATA_KEY}`; - const DATA_API_KEY = '.data-api'; - const ESCAPE_KEY = 'Escape'; - const SPACE_KEY = 'Space'; - const TAB_KEY = 'Tab'; - const ARROW_UP_KEY = 'ArrowUp'; - const ARROW_DOWN_KEY = 'ArrowDown'; - const RIGHT_MOUSE_BUTTON = 2; // MouseEvent.button value for the secondary button, usually the right button - - const REGEXP_KEYDOWN = new RegExp(`${ARROW_UP_KEY}|${ARROW_DOWN_KEY}|${ESCAPE_KEY}`); - const EVENT_HIDE = `hide${EVENT_KEY}`; - const EVENT_HIDDEN = `hidden${EVENT_KEY}`; - const EVENT_SHOW = `show${EVENT_KEY}`; - const EVENT_SHOWN = `shown${EVENT_KEY}`; - const EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`; - const EVENT_KEYDOWN_DATA_API = `keydown${EVENT_KEY}${DATA_API_KEY}`; - const EVENT_KEYUP_DATA_API = `keyup${EVENT_KEY}${DATA_API_KEY}`; - const CLASS_NAME_SHOW = 'show'; - const CLASS_NAME_DROPUP = 'dropup'; - const CLASS_NAME_DROPEND = 'dropend'; - const CLASS_NAME_DROPSTART = 'dropstart'; - const CLASS_NAME_NAVBAR = 'navbar'; - const SELECTOR_DATA_TOGGLE = '[data-bs-toggle="dropdown"]'; - const SELECTOR_MENU = '.dropdown-menu'; - const SELECTOR_NAVBAR_NAV = '.navbar-nav'; - const SELECTOR_VISIBLE_ITEMS = '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)'; - const PLACEMENT_TOP = isRTL() ? 'top-end' : 'top-start'; - const PLACEMENT_TOPEND = isRTL() ? 'top-start' : 'top-end'; - const PLACEMENT_BOTTOM = isRTL() ? 'bottom-end' : 'bottom-start'; - const PLACEMENT_BOTTOMEND = isRTL() ? 'bottom-start' : 'bottom-end'; - const PLACEMENT_RIGHT = isRTL() ? 'left-start' : 'right-start'; - const PLACEMENT_LEFT = isRTL() ? 'right-start' : 'left-start'; - const Default = { - offset: [0, 2], - boundary: 'clippingParents', - reference: 'toggle', - display: 'dynamic', - popperConfig: null, - autoClose: true - }; - const DefaultType = { - offset: '(array|string|function)', - boundary: '(string|element)', - reference: '(string|element|object)', - display: 'string', - popperConfig: '(null|object|function)', - autoClose: '(boolean|string)' - }; - /** - * ------------------------------------------------------------------------ - * Class Definition - * ------------------------------------------------------------------------ - */ - - class Dropdown extends BaseComponent__default.default { - constructor(element, config) { - super(element); - this._popper = null; - this._config = this._getConfig(config); - this._menu = this._getMenuElement(); - this._inNavbar = this._detectNavbar(); - } // Getters - - - static get Default() { - return Default; - } - - static get DefaultType() { - return DefaultType; - } - - static get NAME() { - return NAME; - } // Public - - - toggle() { - return this._isShown() ? this.hide() : this.show(); - } - - show() { - if (isDisabled(this._element) || this._isShown(this._menu)) { - return; - } - - const relatedTarget = { - relatedTarget: this._element - }; - const showEvent = EventHandler__default.default.trigger(this._element, EVENT_SHOW, relatedTarget); - - if (showEvent.defaultPrevented) { - return; - } - - const parent = Dropdown.getParentFromElement(this._element); // Totally disable Popper for Dropdowns in Navbar - - if (this._inNavbar) { - Manipulator__default.default.setDataAttribute(this._menu, 'popper', 'none'); - } else { - this._createPopper(parent); - } // If this is a touch-enabled device we add extra - // empty mouseover listeners to the body's immediate children; - // only needed because of broken event delegation on iOS - // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html - - - if ('ontouchstart' in document.documentElement && !parent.closest(SELECTOR_NAVBAR_NAV)) { - [].concat(...document.body.children).forEach(elem => EventHandler__default.default.on(elem, 'mouseover', noop)); - } - - this._element.focus(); - - this._element.setAttribute('aria-expanded', true); - - this._menu.classList.add(CLASS_NAME_SHOW); - - this._element.classList.add(CLASS_NAME_SHOW); - - EventHandler__default.default.trigger(this._element, EVENT_SHOWN, relatedTarget); - } - - hide() { - if (isDisabled(this._element) || !this._isShown(this._menu)) { - return; - } - - const relatedTarget = { - relatedTarget: this._element - }; - - this._completeHide(relatedTarget); - } - - dispose() { - if (this._popper) { - this._popper.destroy(); - } - - super.dispose(); - } - - update() { - this._inNavbar = this._detectNavbar(); - - if (this._popper) { - this._popper.update(); - } - } // Private - - - _completeHide(relatedTarget) { - const hideEvent = EventHandler__default.default.trigger(this._element, EVENT_HIDE, relatedTarget); - - if (hideEvent.defaultPrevented) { - return; - } // If this is a touch-enabled device we remove the extra - // empty mouseover listeners we added for iOS support - - - if ('ontouchstart' in document.documentElement) { - [].concat(...document.body.children).forEach(elem => EventHandler__default.default.off(elem, 'mouseover', noop)); - } - - if (this._popper) { - this._popper.destroy(); - } - - this._menu.classList.remove(CLASS_NAME_SHOW); - - this._element.classList.remove(CLASS_NAME_SHOW); - - this._element.setAttribute('aria-expanded', 'false'); - - Manipulator__default.default.removeDataAttribute(this._menu, 'popper'); - EventHandler__default.default.trigger(this._element, EVENT_HIDDEN, relatedTarget); - } - - _getConfig(config) { - config = { ...this.constructor.Default, - ...Manipulator__default.default.getDataAttributes(this._element), - ...config - }; - typeCheckConfig(NAME, config, this.constructor.DefaultType); - - if (typeof config.reference === 'object' && !isElement(config.reference) && typeof config.reference.getBoundingClientRect !== 'function') { - // Popper virtual elements require a getBoundingClientRect method - throw new TypeError(`${NAME.toUpperCase()}: Option "reference" provided type "object" without a required "getBoundingClientRect" method.`); - } - - return config; - } - - _createPopper(parent) { - if (typeof Popper__namespace === 'undefined') { - throw new TypeError('Bootstrap\'s dropdowns require Popper (https://popper.js.org)'); - } - - let referenceElement = this._element; - - if (this._config.reference === 'parent') { - referenceElement = parent; - } else if (isElement(this._config.reference)) { - referenceElement = getElement(this._config.reference); - } else if (typeof this._config.reference === 'object') { - referenceElement = this._config.reference; - } - - const popperConfig = this._getPopperConfig(); - - const isDisplayStatic = popperConfig.modifiers.find(modifier => modifier.name === 'applyStyles' && modifier.enabled === false); - this._popper = Popper__namespace.createPopper(referenceElement, this._menu, popperConfig); - - if (isDisplayStatic) { - Manipulator__default.default.setDataAttribute(this._menu, 'popper', 'static'); - } - } - - _isShown(element = this._element) { - return element.classList.contains(CLASS_NAME_SHOW); - } - - _getMenuElement() { - return SelectorEngine__default.default.next(this._element, SELECTOR_MENU)[0]; - } - - _getPlacement() { - const parentDropdown = this._element.parentNode; - - if (parentDropdown.classList.contains(CLASS_NAME_DROPEND)) { - return PLACEMENT_RIGHT; - } - - if (parentDropdown.classList.contains(CLASS_NAME_DROPSTART)) { - return PLACEMENT_LEFT; - } // We need to trim the value because custom properties can also include spaces - - - const isEnd = getComputedStyle(this._menu).getPropertyValue('--bs-position').trim() === 'end'; - - if (parentDropdown.classList.contains(CLASS_NAME_DROPUP)) { - return isEnd ? PLACEMENT_TOPEND : PLACEMENT_TOP; - } - - return isEnd ? PLACEMENT_BOTTOMEND : PLACEMENT_BOTTOM; - } - - _detectNavbar() { - return this._element.closest(`.${CLASS_NAME_NAVBAR}`) !== null; - } - - _getOffset() { - const { - offset - } = this._config; - - if (typeof offset === 'string') { - return offset.split(',').map(val => Number.parseInt(val, 10)); - } - - if (typeof offset === 'function') { - return popperData => offset(popperData, this._element); - } - - return offset; - } - - _getPopperConfig() { - const defaultBsPopperConfig = { - placement: this._getPlacement(), - modifiers: [{ - name: 'preventOverflow', - options: { - boundary: this._config.boundary - } - }, { - name: 'offset', - options: { - offset: this._getOffset() - } - }] - }; // Disable Popper if we have a static display - - if (this._config.display === 'static') { - defaultBsPopperConfig.modifiers = [{ - name: 'applyStyles', - enabled: false - }]; - } - - return { ...defaultBsPopperConfig, - ...(typeof this._config.popperConfig === 'function' ? this._config.popperConfig(defaultBsPopperConfig) : this._config.popperConfig) - }; - } - - _selectMenuItem({ - key, - target - }) { - const items = SelectorEngine__default.default.find(SELECTOR_VISIBLE_ITEMS, this._menu).filter(isVisible); - - if (!items.length) { - return; - } // if target isn't included in items (e.g. when expanding the dropdown) - // allow cycling to get the last item in case key equals ARROW_UP_KEY - - - getNextActiveElement(items, target, key === ARROW_DOWN_KEY, !items.includes(target)).focus(); - } // Static - - - static jQueryInterface(config) { - return this.each(function () { - const data = Dropdown.getOrCreateInstance(this, config); - - if (typeof config !== 'string') { - return; - } - - if (typeof data[config] === 'undefined') { - throw new TypeError(`No method named "${config}"`); - } - - data[config](); - }); - } - - static clearMenus(event) { - if (event && (event.button === RIGHT_MOUSE_BUTTON || event.type === 'keyup' && event.key !== TAB_KEY)) { - return; - } - - const toggles = SelectorEngine__default.default.find(SELECTOR_DATA_TOGGLE); - - for (let i = 0, len = toggles.length; i < len; i++) { - const context = Dropdown.getInstance(toggles[i]); - - if (!context || context._config.autoClose === false) { - continue; - } - - if (!context._isShown()) { - continue; - } - - const relatedTarget = { - relatedTarget: context._element - }; - - if (event) { - const composedPath = event.composedPath(); - const isMenuTarget = composedPath.includes(context._menu); - - if (composedPath.includes(context._element) || context._config.autoClose === 'inside' && !isMenuTarget || context._config.autoClose === 'outside' && isMenuTarget) { - continue; - } // Tab navigation through the dropdown menu or events from contained inputs shouldn't close the menu - - - if (context._menu.contains(event.target) && (event.type === 'keyup' && event.key === TAB_KEY || /input|select|option|textarea|form/i.test(event.target.tagName))) { - continue; - } - - if (event.type === 'click') { - relatedTarget.clickEvent = event; - } - } - - context._completeHide(relatedTarget); - } - } - - static getParentFromElement(element) { - return getElementFromSelector(element) || element.parentNode; - } - - static dataApiKeydownHandler(event) { - // If not input/textarea: - // - And not a key in REGEXP_KEYDOWN => not a dropdown command - // If input/textarea: - // - If space key => not a dropdown command - // - If key is other than escape - // - If key is not up or down => not a dropdown command - // - If trigger inside the menu => not a dropdown command - if (/input|textarea/i.test(event.target.tagName) ? event.key === SPACE_KEY || event.key !== ESCAPE_KEY && (event.key !== ARROW_DOWN_KEY && event.key !== ARROW_UP_KEY || event.target.closest(SELECTOR_MENU)) : !REGEXP_KEYDOWN.test(event.key)) { - return; - } - - const isActive = this.classList.contains(CLASS_NAME_SHOW); - - if (!isActive && event.key === ESCAPE_KEY) { - return; - } - - event.preventDefault(); - event.stopPropagation(); - - if (isDisabled(this)) { - return; - } - - const getToggleButton = this.matches(SELECTOR_DATA_TOGGLE) ? this : SelectorEngine__default.default.prev(this, SELECTOR_DATA_TOGGLE)[0]; - const instance = Dropdown.getOrCreateInstance(getToggleButton); - - if (event.key === ESCAPE_KEY) { - instance.hide(); - return; - } - - if (event.key === ARROW_UP_KEY || event.key === ARROW_DOWN_KEY) { - if (!isActive) { - instance.show(); - } - - instance._selectMenuItem(event); - - return; - } - - if (!isActive || event.key === SPACE_KEY) { - Dropdown.clearMenus(); - } - } - - } - /** - * ------------------------------------------------------------------------ - * Data Api implementation - * ------------------------------------------------------------------------ - */ - - - EventHandler__default.default.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_DATA_TOGGLE, Dropdown.dataApiKeydownHandler); - EventHandler__default.default.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_MENU, Dropdown.dataApiKeydownHandler); - EventHandler__default.default.on(document, EVENT_CLICK_DATA_API, Dropdown.clearMenus); - EventHandler__default.default.on(document, EVENT_KEYUP_DATA_API, Dropdown.clearMenus); - EventHandler__default.default.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) { - event.preventDefault(); - Dropdown.getOrCreateInstance(this).toggle(); - }); - /** - * ------------------------------------------------------------------------ - * jQuery - * ------------------------------------------------------------------------ - * add .Dropdown to jQuery only if jQuery is present - */ - - defineJQueryPlugin(Dropdown); - - return Dropdown; - -})); -//# sourceMappingURL=dropdown.js.map diff --git a/src/js/bs/dist/dropdown.js.map b/src/js/bs/dist/dropdown.js.map deleted file mode 100644 index 171983de2..000000000 --- a/src/js/bs/dist/dropdown.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"dropdown.js","sources":["../src/util/index.js","../src/dropdown.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.1.3): util/index.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst MAX_UID = 1000000\nconst MILLISECONDS_MULTIPLIER = 1000\nconst TRANSITION_END = 'transitionend'\n\n// Shoutout AngusCroll (https://goo.gl/pxwQGp)\nconst toType = obj => {\n if (obj === null || obj === undefined) {\n return `${obj}`\n }\n\n return {}.toString.call(obj).match(/\\s([a-z]+)/i)[1].toLowerCase()\n}\n\n/**\n * --------------------------------------------------------------------------\n * Public Util Api\n * --------------------------------------------------------------------------\n */\n\nconst getUID = prefix => {\n do {\n prefix += Math.floor(Math.random() * MAX_UID)\n } while (document.getElementById(prefix))\n\n return prefix\n}\n\nconst getSelector = element => {\n let selector = element.getAttribute('data-bs-target')\n\n if (!selector || selector === '#') {\n let hrefAttr = element.getAttribute('href')\n\n // The only valid content that could double as a selector are IDs or classes,\n // so everything starting with `#` or `.`. If a \"real\" URL is used as the selector,\n // `document.querySelector` will rightfully complain it is invalid.\n // See https://github.com/twbs/bootstrap/issues/32273\n if (!hrefAttr || (!hrefAttr.includes('#') && !hrefAttr.startsWith('.'))) {\n return null\n }\n\n // Just in case some CMS puts out a full URL with the anchor appended\n if (hrefAttr.includes('#') && !hrefAttr.startsWith('#')) {\n hrefAttr = `#${hrefAttr.split('#')[1]}`\n }\n\n selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : null\n }\n\n return selector\n}\n\nconst getSelectorFromElement = element => {\n const selector = getSelector(element)\n\n if (selector) {\n return document.querySelector(selector) ? selector : null\n }\n\n return null\n}\n\nconst getElementFromSelector = element => {\n const selector = getSelector(element)\n\n return selector ? document.querySelector(selector) : null\n}\n\nconst getTransitionDurationFromElement = element => {\n if (!element) {\n return 0\n }\n\n // Get transition-duration of the element\n let { transitionDuration, transitionDelay } = window.getComputedStyle(element)\n\n const floatTransitionDuration = Number.parseFloat(transitionDuration)\n const floatTransitionDelay = Number.parseFloat(transitionDelay)\n\n // Return 0 if element or transition duration is not found\n if (!floatTransitionDuration && !floatTransitionDelay) {\n return 0\n }\n\n // If multiple durations are defined, take the first\n transitionDuration = transitionDuration.split(',')[0]\n transitionDelay = transitionDelay.split(',')[0]\n\n return (Number.parseFloat(transitionDuration) + Number.parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER\n}\n\nconst triggerTransitionEnd = element => {\n element.dispatchEvent(new Event(TRANSITION_END))\n}\n\nconst isElement = obj => {\n if (!obj || typeof obj !== 'object') {\n return false\n }\n\n if (typeof obj.jquery !== 'undefined') {\n obj = obj[0]\n }\n\n return typeof obj.nodeType !== 'undefined'\n}\n\nconst getElement = obj => {\n if (isElement(obj)) { // it's a jQuery object or a node element\n return obj.jquery ? obj[0] : obj\n }\n\n if (typeof obj === 'string' && obj.length > 0) {\n return document.querySelector(obj)\n }\n\n return null\n}\n\nconst typeCheckConfig = (componentName, config, configTypes) => {\n Object.keys(configTypes).forEach(property => {\n const expectedTypes = configTypes[property]\n const value = config[property]\n const valueType = value && isElement(value) ? 'element' : toType(value)\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new TypeError(\n `${componentName.toUpperCase()}: Option \"${property}\" provided type \"${valueType}\" but expected type \"${expectedTypes}\".`\n )\n }\n })\n}\n\nconst isVisible = element => {\n if (!isElement(element) || element.getClientRects().length === 0) {\n return false\n }\n\n return getComputedStyle(element).getPropertyValue('visibility') === 'visible'\n}\n\nconst isDisabled = element => {\n if (!element || element.nodeType !== Node.ELEMENT_NODE) {\n return true\n }\n\n if (element.classList.contains('disabled')) {\n return true\n }\n\n if (typeof element.disabled !== 'undefined') {\n return element.disabled\n }\n\n return element.hasAttribute('disabled') && element.getAttribute('disabled') !== 'false'\n}\n\nconst findShadowRoot = element => {\n if (!document.documentElement.attachShadow) {\n return null\n }\n\n // Can find the shadow root otherwise it'll return the document\n if (typeof element.getRootNode === 'function') {\n const root = element.getRootNode()\n return root instanceof ShadowRoot ? root : null\n }\n\n if (element instanceof ShadowRoot) {\n return element\n }\n\n // when we don't find a shadow root\n if (!element.parentNode) {\n return null\n }\n\n return findShadowRoot(element.parentNode)\n}\n\nconst noop = () => {}\n\n/**\n * Trick to restart an element's animation\n *\n * @param {HTMLElement} element\n * @return void\n *\n * @see https://www.charistheo.io/blog/2021/02/restart-a-css-animation-with-javascript/#restarting-a-css-animation\n */\nconst reflow = element => {\n // eslint-disable-next-line no-unused-expressions\n element.offsetHeight\n}\n\nconst getjQuery = () => {\n const { jQuery } = window\n\n if (jQuery && !document.body.hasAttribute('data-bs-no-jquery')) {\n return jQuery\n }\n\n return null\n}\n\nconst DOMContentLoadedCallbacks = []\n\nconst onDOMContentLoaded = callback => {\n if (document.readyState === 'loading') {\n // add listener on the first call when the document is in loading state\n if (!DOMContentLoadedCallbacks.length) {\n document.addEventListener('DOMContentLoaded', () => {\n DOMContentLoadedCallbacks.forEach(callback => callback())\n })\n }\n\n DOMContentLoadedCallbacks.push(callback)\n } else {\n callback()\n }\n}\n\nconst isRTL = () => document.documentElement.dir === 'rtl'\n\nconst defineJQueryPlugin = plugin => {\n onDOMContentLoaded(() => {\n const $ = getjQuery()\n /* istanbul ignore if */\n if ($) {\n const name = plugin.NAME\n const JQUERY_NO_CONFLICT = $.fn[name]\n $.fn[name] = plugin.jQueryInterface\n $.fn[name].Constructor = plugin\n $.fn[name].noConflict = () => {\n $.fn[name] = JQUERY_NO_CONFLICT\n return plugin.jQueryInterface\n }\n }\n })\n}\n\nconst execute = callback => {\n if (typeof callback === 'function') {\n callback()\n }\n}\n\nconst executeAfterTransition = (callback, transitionElement, waitForTransition = true) => {\n if (!waitForTransition) {\n execute(callback)\n return\n }\n\n const durationPadding = 5\n const emulatedDuration = getTransitionDurationFromElement(transitionElement) + durationPadding\n\n let called = false\n\n const handler = ({ target }) => {\n if (target !== transitionElement) {\n return\n }\n\n called = true\n transitionElement.removeEventListener(TRANSITION_END, handler)\n execute(callback)\n }\n\n transitionElement.addEventListener(TRANSITION_END, handler)\n setTimeout(() => {\n if (!called) {\n triggerTransitionEnd(transitionElement)\n }\n }, emulatedDuration)\n}\n\n/**\n * Return the previous/next element of a list.\n *\n * @param {array} list The list of elements\n * @param activeElement The active element\n * @param shouldGetNext Choose to get next or previous element\n * @param isCycleAllowed\n * @return {Element|elem} The proper element\n */\nconst getNextActiveElement = (list, activeElement, shouldGetNext, isCycleAllowed) => {\n let index = list.indexOf(activeElement)\n\n // if the element does not exist in the list return an element depending on the direction and if cycle is allowed\n if (index === -1) {\n return list[!shouldGetNext && isCycleAllowed ? list.length - 1 : 0]\n }\n\n const listLength = list.length\n\n index += shouldGetNext ? 1 : -1\n\n if (isCycleAllowed) {\n index = (index + listLength) % listLength\n }\n\n return list[Math.max(0, Math.min(index, listLength - 1))]\n}\n\nexport {\n getElement,\n getUID,\n getSelectorFromElement,\n getElementFromSelector,\n getTransitionDurationFromElement,\n triggerTransitionEnd,\n isElement,\n typeCheckConfig,\n isVisible,\n isDisabled,\n findShadowRoot,\n noop,\n getNextActiveElement,\n reflow,\n getjQuery,\n onDOMContentLoaded,\n isRTL,\n defineJQueryPlugin,\n execute,\n executeAfterTransition\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.1.3): dropdown.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport * as Popper from '@popperjs/core'\n\nimport {\n defineJQueryPlugin,\n getElement,\n getElementFromSelector,\n getNextActiveElement,\n isDisabled,\n isElement,\n isRTL,\n isVisible,\n noop,\n typeCheckConfig\n} from './util/index'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport SelectorEngine from './dom/selector-engine'\nimport BaseComponent from './base-component'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'dropdown'\nconst DATA_KEY = 'bs.dropdown'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst ESCAPE_KEY = 'Escape'\nconst SPACE_KEY = 'Space'\nconst TAB_KEY = 'Tab'\nconst ARROW_UP_KEY = 'ArrowUp'\nconst ARROW_DOWN_KEY = 'ArrowDown'\nconst RIGHT_MOUSE_BUTTON = 2 // MouseEvent.button value for the secondary button, usually the right button\n\nconst REGEXP_KEYDOWN = new RegExp(`${ARROW_UP_KEY}|${ARROW_DOWN_KEY}|${ESCAPE_KEY}`)\n\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_KEYDOWN_DATA_API = `keydown${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_KEYUP_DATA_API = `keyup${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_DROPUP = 'dropup'\nconst CLASS_NAME_DROPEND = 'dropend'\nconst CLASS_NAME_DROPSTART = 'dropstart'\nconst CLASS_NAME_NAVBAR = 'navbar'\n\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"dropdown\"]'\nconst SELECTOR_MENU = '.dropdown-menu'\nconst SELECTOR_NAVBAR_NAV = '.navbar-nav'\nconst SELECTOR_VISIBLE_ITEMS = '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)'\n\nconst PLACEMENT_TOP = isRTL() ? 'top-end' : 'top-start'\nconst PLACEMENT_TOPEND = isRTL() ? 'top-start' : 'top-end'\nconst PLACEMENT_BOTTOM = isRTL() ? 'bottom-end' : 'bottom-start'\nconst PLACEMENT_BOTTOMEND = isRTL() ? 'bottom-start' : 'bottom-end'\nconst PLACEMENT_RIGHT = isRTL() ? 'left-start' : 'right-start'\nconst PLACEMENT_LEFT = isRTL() ? 'right-start' : 'left-start'\n\nconst Default = {\n offset: [0, 2],\n boundary: 'clippingParents',\n reference: 'toggle',\n display: 'dynamic',\n popperConfig: null,\n autoClose: true\n}\n\nconst DefaultType = {\n offset: '(array|string|function)',\n boundary: '(string|element)',\n reference: '(string|element|object)',\n display: 'string',\n popperConfig: '(null|object|function)',\n autoClose: '(boolean|string)'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Dropdown extends BaseComponent {\n constructor(element, config) {\n super(element)\n\n this._popper = null\n this._config = this._getConfig(config)\n this._menu = this._getMenuElement()\n this._inNavbar = this._detectNavbar()\n }\n\n // Getters\n\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n\n toggle() {\n return this._isShown() ? this.hide() : this.show()\n }\n\n show() {\n if (isDisabled(this._element) || this._isShown(this._menu)) {\n return\n }\n\n const relatedTarget = {\n relatedTarget: this._element\n }\n\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, relatedTarget)\n\n if (showEvent.defaultPrevented) {\n return\n }\n\n const parent = Dropdown.getParentFromElement(this._element)\n // Totally disable Popper for Dropdowns in Navbar\n if (this._inNavbar) {\n Manipulator.setDataAttribute(this._menu, 'popper', 'none')\n } else {\n this._createPopper(parent)\n }\n\n // If this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n if ('ontouchstart' in document.documentElement &&\n !parent.closest(SELECTOR_NAVBAR_NAV)) {\n [].concat(...document.body.children)\n .forEach(elem => EventHandler.on(elem, 'mouseover', noop))\n }\n\n this._element.focus()\n this._element.setAttribute('aria-expanded', true)\n\n this._menu.classList.add(CLASS_NAME_SHOW)\n this._element.classList.add(CLASS_NAME_SHOW)\n EventHandler.trigger(this._element, EVENT_SHOWN, relatedTarget)\n }\n\n hide() {\n if (isDisabled(this._element) || !this._isShown(this._menu)) {\n return\n }\n\n const relatedTarget = {\n relatedTarget: this._element\n }\n\n this._completeHide(relatedTarget)\n }\n\n dispose() {\n if (this._popper) {\n this._popper.destroy()\n }\n\n super.dispose()\n }\n\n update() {\n this._inNavbar = this._detectNavbar()\n if (this._popper) {\n this._popper.update()\n }\n }\n\n // Private\n\n _completeHide(relatedTarget) {\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE, relatedTarget)\n if (hideEvent.defaultPrevented) {\n return\n }\n\n // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n if ('ontouchstart' in document.documentElement) {\n [].concat(...document.body.children)\n .forEach(elem => EventHandler.off(elem, 'mouseover', noop))\n }\n\n if (this._popper) {\n this._popper.destroy()\n }\n\n this._menu.classList.remove(CLASS_NAME_SHOW)\n this._element.classList.remove(CLASS_NAME_SHOW)\n this._element.setAttribute('aria-expanded', 'false')\n Manipulator.removeDataAttribute(this._menu, 'popper')\n EventHandler.trigger(this._element, EVENT_HIDDEN, relatedTarget)\n }\n\n _getConfig(config) {\n config = {\n ...this.constructor.Default,\n ...Manipulator.getDataAttributes(this._element),\n ...config\n }\n\n typeCheckConfig(NAME, config, this.constructor.DefaultType)\n\n if (typeof config.reference === 'object' && !isElement(config.reference) &&\n typeof config.reference.getBoundingClientRect !== 'function'\n ) {\n // Popper virtual elements require a getBoundingClientRect method\n throw new TypeError(`${NAME.toUpperCase()}: Option \"reference\" provided type \"object\" without a required \"getBoundingClientRect\" method.`)\n }\n\n return config\n }\n\n _createPopper(parent) {\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap\\'s dropdowns require Popper (https://popper.js.org)')\n }\n\n let referenceElement = this._element\n\n if (this._config.reference === 'parent') {\n referenceElement = parent\n } else if (isElement(this._config.reference)) {\n referenceElement = getElement(this._config.reference)\n } else if (typeof this._config.reference === 'object') {\n referenceElement = this._config.reference\n }\n\n const popperConfig = this._getPopperConfig()\n const isDisplayStatic = popperConfig.modifiers.find(modifier => modifier.name === 'applyStyles' && modifier.enabled === false)\n\n this._popper = Popper.createPopper(referenceElement, this._menu, popperConfig)\n\n if (isDisplayStatic) {\n Manipulator.setDataAttribute(this._menu, 'popper', 'static')\n }\n }\n\n _isShown(element = this._element) {\n return element.classList.contains(CLASS_NAME_SHOW)\n }\n\n _getMenuElement() {\n return SelectorEngine.next(this._element, SELECTOR_MENU)[0]\n }\n\n _getPlacement() {\n const parentDropdown = this._element.parentNode\n\n if (parentDropdown.classList.contains(CLASS_NAME_DROPEND)) {\n return PLACEMENT_RIGHT\n }\n\n if (parentDropdown.classList.contains(CLASS_NAME_DROPSTART)) {\n return PLACEMENT_LEFT\n }\n\n // We need to trim the value because custom properties can also include spaces\n const isEnd = getComputedStyle(this._menu).getPropertyValue('--bs-position').trim() === 'end'\n\n if (parentDropdown.classList.contains(CLASS_NAME_DROPUP)) {\n return isEnd ? PLACEMENT_TOPEND : PLACEMENT_TOP\n }\n\n return isEnd ? PLACEMENT_BOTTOMEND : PLACEMENT_BOTTOM\n }\n\n _detectNavbar() {\n return this._element.closest(`.${CLASS_NAME_NAVBAR}`) !== null\n }\n\n _getOffset() {\n const { offset } = this._config\n\n if (typeof offset === 'string') {\n return offset.split(',').map(val => Number.parseInt(val, 10))\n }\n\n if (typeof offset === 'function') {\n return popperData => offset(popperData, this._element)\n }\n\n return offset\n }\n\n _getPopperConfig() {\n const defaultBsPopperConfig = {\n placement: this._getPlacement(),\n modifiers: [{\n name: 'preventOverflow',\n options: {\n boundary: this._config.boundary\n }\n },\n {\n name: 'offset',\n options: {\n offset: this._getOffset()\n }\n }]\n }\n\n // Disable Popper if we have a static display\n if (this._config.display === 'static') {\n defaultBsPopperConfig.modifiers = [{\n name: 'applyStyles',\n enabled: false\n }]\n }\n\n return {\n ...defaultBsPopperConfig,\n ...(typeof this._config.popperConfig === 'function' ? this._config.popperConfig(defaultBsPopperConfig) : this._config.popperConfig)\n }\n }\n\n _selectMenuItem({ key, target }) {\n const items = SelectorEngine.find(SELECTOR_VISIBLE_ITEMS, this._menu).filter(isVisible)\n\n if (!items.length) {\n return\n }\n\n // if target isn't included in items (e.g. when expanding the dropdown)\n // allow cycling to get the last item in case key equals ARROW_UP_KEY\n getNextActiveElement(items, target, key === ARROW_DOWN_KEY, !items.includes(target)).focus()\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Dropdown.getOrCreateInstance(this, config)\n\n if (typeof config !== 'string') {\n return\n }\n\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n })\n }\n\n static clearMenus(event) {\n if (event && (event.button === RIGHT_MOUSE_BUTTON || (event.type === 'keyup' && event.key !== TAB_KEY))) {\n return\n }\n\n const toggles = SelectorEngine.find(SELECTOR_DATA_TOGGLE)\n\n for (let i = 0, len = toggles.length; i < len; i++) {\n const context = Dropdown.getInstance(toggles[i])\n if (!context || context._config.autoClose === false) {\n continue\n }\n\n if (!context._isShown()) {\n continue\n }\n\n const relatedTarget = {\n relatedTarget: context._element\n }\n\n if (event) {\n const composedPath = event.composedPath()\n const isMenuTarget = composedPath.includes(context._menu)\n if (\n composedPath.includes(context._element) ||\n (context._config.autoClose === 'inside' && !isMenuTarget) ||\n (context._config.autoClose === 'outside' && isMenuTarget)\n ) {\n continue\n }\n\n // Tab navigation through the dropdown menu or events from contained inputs shouldn't close the menu\n if (context._menu.contains(event.target) && ((event.type === 'keyup' && event.key === TAB_KEY) || /input|select|option|textarea|form/i.test(event.target.tagName))) {\n continue\n }\n\n if (event.type === 'click') {\n relatedTarget.clickEvent = event\n }\n }\n\n context._completeHide(relatedTarget)\n }\n }\n\n static getParentFromElement(element) {\n return getElementFromSelector(element) || element.parentNode\n }\n\n static dataApiKeydownHandler(event) {\n // If not input/textarea:\n // - And not a key in REGEXP_KEYDOWN => not a dropdown command\n // If input/textarea:\n // - If space key => not a dropdown command\n // - If key is other than escape\n // - If key is not up or down => not a dropdown command\n // - If trigger inside the menu => not a dropdown command\n if (/input|textarea/i.test(event.target.tagName) ?\n event.key === SPACE_KEY || (event.key !== ESCAPE_KEY &&\n ((event.key !== ARROW_DOWN_KEY && event.key !== ARROW_UP_KEY) ||\n event.target.closest(SELECTOR_MENU))) :\n !REGEXP_KEYDOWN.test(event.key)) {\n return\n }\n\n const isActive = this.classList.contains(CLASS_NAME_SHOW)\n\n if (!isActive && event.key === ESCAPE_KEY) {\n return\n }\n\n event.preventDefault()\n event.stopPropagation()\n\n if (isDisabled(this)) {\n return\n }\n\n const getToggleButton = this.matches(SELECTOR_DATA_TOGGLE) ? this : SelectorEngine.prev(this, SELECTOR_DATA_TOGGLE)[0]\n const instance = Dropdown.getOrCreateInstance(getToggleButton)\n\n if (event.key === ESCAPE_KEY) {\n instance.hide()\n return\n }\n\n if (event.key === ARROW_UP_KEY || event.key === ARROW_DOWN_KEY) {\n if (!isActive) {\n instance.show()\n }\n\n instance._selectMenuItem(event)\n return\n }\n\n if (!isActive || event.key === SPACE_KEY) {\n Dropdown.clearMenus()\n }\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_DATA_TOGGLE, Dropdown.dataApiKeydownHandler)\nEventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_MENU, Dropdown.dataApiKeydownHandler)\nEventHandler.on(document, EVENT_CLICK_DATA_API, Dropdown.clearMenus)\nEventHandler.on(document, EVENT_KEYUP_DATA_API, Dropdown.clearMenus)\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n event.preventDefault()\n Dropdown.getOrCreateInstance(this).toggle()\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .Dropdown to jQuery only if jQuery is present\n */\n\ndefineJQueryPlugin(Dropdown)\n\nexport default Dropdown\n"],"names":["toType","obj","undefined","toString","call","match","toLowerCase","getSelector","element","selector","getAttribute","hrefAttr","includes","startsWith","split","trim","getElementFromSelector","document","querySelector","isElement","jquery","nodeType","getElement","length","typeCheckConfig","componentName","config","configTypes","Object","keys","forEach","property","expectedTypes","value","valueType","RegExp","test","TypeError","toUpperCase","isVisible","getClientRects","getComputedStyle","getPropertyValue","isDisabled","Node","ELEMENT_NODE","classList","contains","disabled","hasAttribute","noop","getjQuery","jQuery","window","body","DOMContentLoadedCallbacks","onDOMContentLoaded","callback","readyState","addEventListener","push","isRTL","documentElement","dir","defineJQueryPlugin","plugin","$","name","NAME","JQUERY_NO_CONFLICT","fn","jQueryInterface","Constructor","noConflict","getNextActiveElement","list","activeElement","shouldGetNext","isCycleAllowed","index","indexOf","listLength","Math","max","min","DATA_KEY","EVENT_KEY","DATA_API_KEY","ESCAPE_KEY","SPACE_KEY","TAB_KEY","ARROW_UP_KEY","ARROW_DOWN_KEY","RIGHT_MOUSE_BUTTON","REGEXP_KEYDOWN","EVENT_HIDE","EVENT_HIDDEN","EVENT_SHOW","EVENT_SHOWN","EVENT_CLICK_DATA_API","EVENT_KEYDOWN_DATA_API","EVENT_KEYUP_DATA_API","CLASS_NAME_SHOW","CLASS_NAME_DROPUP","CLASS_NAME_DROPEND","CLASS_NAME_DROPSTART","CLASS_NAME_NAVBAR","SELECTOR_DATA_TOGGLE","SELECTOR_MENU","SELECTOR_NAVBAR_NAV","SELECTOR_VISIBLE_ITEMS","PLACEMENT_TOP","PLACEMENT_TOPEND","PLACEMENT_BOTTOM","PLACEMENT_BOTTOMEND","PLACEMENT_RIGHT","PLACEMENT_LEFT","Default","offset","boundary","reference","display","popperConfig","autoClose","DefaultType","Dropdown","BaseComponent","constructor","_popper","_config","_getConfig","_menu","_getMenuElement","_inNavbar","_detectNavbar","toggle","_isShown","hide","show","_element","relatedTarget","showEvent","EventHandler","trigger","defaultPrevented","parent","getParentFromElement","Manipulator","setDataAttribute","_createPopper","closest","concat","children","elem","on","focus","setAttribute","add","_completeHide","dispose","destroy","update","hideEvent","off","remove","removeDataAttribute","getDataAttributes","getBoundingClientRect","Popper","referenceElement","_getPopperConfig","isDisplayStatic","modifiers","find","modifier","enabled","createPopper","SelectorEngine","next","_getPlacement","parentDropdown","parentNode","isEnd","_getOffset","map","val","Number","parseInt","popperData","defaultBsPopperConfig","placement","options","_selectMenuItem","key","target","items","filter","each","data","getOrCreateInstance","clearMenus","event","button","type","toggles","i","len","context","getInstance","composedPath","isMenuTarget","tagName","clickEvent","dataApiKeydownHandler","isActive","preventDefault","stopPropagation","getToggleButton","matches","prev","instance"],"mappings":"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"} \ No newline at end of file diff --git a/src/js/bs/dist/modal.js b/src/js/bs/dist/modal.js deleted file mode 100644 index c6983290e..000000000 --- a/src/js/bs/dist/modal.js +++ /dev/null @@ -1,1042 +0,0 @@ -/*! - * Bootstrap modal.js v5.1.3 (https://getbootstrap.com/) - * Copyright 2011-2021 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) - */ -(function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('./dom/event-handler.js'), require('./dom/manipulator.js'), require('./dom/selector-engine.js'), require('./base-component.js')) : - typeof define === 'function' && define.amd ? define(['./dom/event-handler', './dom/manipulator', './dom/selector-engine', './base-component'], factory) : - (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Modal = factory(global.EventHandler, global.Manipulator, global.SelectorEngine, global.Base)); -})(this, (function (EventHandler, Manipulator, SelectorEngine, BaseComponent) { 'use strict'; - - const _interopDefaultLegacy = e => e && typeof e === 'object' && 'default' in e ? e : { default: e }; - - const EventHandler__default = /*#__PURE__*/_interopDefaultLegacy(EventHandler); - const Manipulator__default = /*#__PURE__*/_interopDefaultLegacy(Manipulator); - const SelectorEngine__default = /*#__PURE__*/_interopDefaultLegacy(SelectorEngine); - const BaseComponent__default = /*#__PURE__*/_interopDefaultLegacy(BaseComponent); - - /** - * -------------------------------------------------------------------------- - * Bootstrap (v5.1.3): util/index.js - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) - * -------------------------------------------------------------------------- - */ - const MILLISECONDS_MULTIPLIER = 1000; - const TRANSITION_END = 'transitionend'; // Shoutout AngusCroll (https://goo.gl/pxwQGp) - - const toType = obj => { - if (obj === null || obj === undefined) { - return `${obj}`; - } - - return {}.toString.call(obj).match(/\s([a-z]+)/i)[1].toLowerCase(); - }; - - const getSelector = element => { - let selector = element.getAttribute('data-bs-target'); - - if (!selector || selector === '#') { - let hrefAttr = element.getAttribute('href'); // The only valid content that could double as a selector are IDs or classes, - // so everything starting with `#` or `.`. If a "real" URL is used as the selector, - // `document.querySelector` will rightfully complain it is invalid. - // See https://github.com/twbs/bootstrap/issues/32273 - - if (!hrefAttr || !hrefAttr.includes('#') && !hrefAttr.startsWith('.')) { - return null; - } // Just in case some CMS puts out a full URL with the anchor appended - - - if (hrefAttr.includes('#') && !hrefAttr.startsWith('#')) { - hrefAttr = `#${hrefAttr.split('#')[1]}`; - } - - selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : null; - } - - return selector; - }; - - const getElementFromSelector = element => { - const selector = getSelector(element); - return selector ? document.querySelector(selector) : null; - }; - - const getTransitionDurationFromElement = element => { - if (!element) { - return 0; - } // Get transition-duration of the element - - - let { - transitionDuration, - transitionDelay - } = window.getComputedStyle(element); - const floatTransitionDuration = Number.parseFloat(transitionDuration); - const floatTransitionDelay = Number.parseFloat(transitionDelay); // Return 0 if element or transition duration is not found - - if (!floatTransitionDuration && !floatTransitionDelay) { - return 0; - } // If multiple durations are defined, take the first - - - transitionDuration = transitionDuration.split(',')[0]; - transitionDelay = transitionDelay.split(',')[0]; - return (Number.parseFloat(transitionDuration) + Number.parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER; - }; - - const triggerTransitionEnd = element => { - element.dispatchEvent(new Event(TRANSITION_END)); - }; - - const isElement = obj => { - if (!obj || typeof obj !== 'object') { - return false; - } - - if (typeof obj.jquery !== 'undefined') { - obj = obj[0]; - } - - return typeof obj.nodeType !== 'undefined'; - }; - - const getElement = obj => { - if (isElement(obj)) { - // it's a jQuery object or a node element - return obj.jquery ? obj[0] : obj; - } - - if (typeof obj === 'string' && obj.length > 0) { - return document.querySelector(obj); - } - - return null; - }; - - const typeCheckConfig = (componentName, config, configTypes) => { - Object.keys(configTypes).forEach(property => { - const expectedTypes = configTypes[property]; - const value = config[property]; - const valueType = value && isElement(value) ? 'element' : toType(value); - - if (!new RegExp(expectedTypes).test(valueType)) { - throw new TypeError(`${componentName.toUpperCase()}: Option "${property}" provided type "${valueType}" but expected type "${expectedTypes}".`); - } - }); - }; - - const isVisible = element => { - if (!isElement(element) || element.getClientRects().length === 0) { - return false; - } - - return getComputedStyle(element).getPropertyValue('visibility') === 'visible'; - }; - - const isDisabled = element => { - if (!element || element.nodeType !== Node.ELEMENT_NODE) { - return true; - } - - if (element.classList.contains('disabled')) { - return true; - } - - if (typeof element.disabled !== 'undefined') { - return element.disabled; - } - - return element.hasAttribute('disabled') && element.getAttribute('disabled') !== 'false'; - }; - /** - * Trick to restart an element's animation - * - * @param {HTMLElement} element - * @return void - * - * @see https://www.charistheo.io/blog/2021/02/restart-a-css-animation-with-javascript/#restarting-a-css-animation - */ - - - const reflow = element => { - // eslint-disable-next-line no-unused-expressions - element.offsetHeight; - }; - - const getjQuery = () => { - const { - jQuery - } = window; - - if (jQuery && !document.body.hasAttribute('data-bs-no-jquery')) { - return jQuery; - } - - return null; - }; - - const DOMContentLoadedCallbacks = []; - - const onDOMContentLoaded = callback => { - if (document.readyState === 'loading') { - // add listener on the first call when the document is in loading state - if (!DOMContentLoadedCallbacks.length) { - document.addEventListener('DOMContentLoaded', () => { - DOMContentLoadedCallbacks.forEach(callback => callback()); - }); - } - - DOMContentLoadedCallbacks.push(callback); - } else { - callback(); - } - }; - - const isRTL = () => document.documentElement.dir === 'rtl'; - - const defineJQueryPlugin = plugin => { - onDOMContentLoaded(() => { - const $ = getjQuery(); - /* istanbul ignore if */ - - if ($) { - const name = plugin.NAME; - const JQUERY_NO_CONFLICT = $.fn[name]; - $.fn[name] = plugin.jQueryInterface; - $.fn[name].Constructor = plugin; - - $.fn[name].noConflict = () => { - $.fn[name] = JQUERY_NO_CONFLICT; - return plugin.jQueryInterface; - }; - } - }); - }; - - const execute = callback => { - if (typeof callback === 'function') { - callback(); - } - }; - - const executeAfterTransition = (callback, transitionElement, waitForTransition = true) => { - if (!waitForTransition) { - execute(callback); - return; - } - - const durationPadding = 5; - const emulatedDuration = getTransitionDurationFromElement(transitionElement) + durationPadding; - let called = false; - - const handler = ({ - target - }) => { - if (target !== transitionElement) { - return; - } - - called = true; - transitionElement.removeEventListener(TRANSITION_END, handler); - execute(callback); - }; - - transitionElement.addEventListener(TRANSITION_END, handler); - setTimeout(() => { - if (!called) { - triggerTransitionEnd(transitionElement); - } - }, emulatedDuration); - }; - - /** - * -------------------------------------------------------------------------- - * Bootstrap (v5.1.3): util/scrollBar.js - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) - * -------------------------------------------------------------------------- - */ - const SELECTOR_FIXED_CONTENT = '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top'; - const SELECTOR_STICKY_CONTENT = '.sticky-top'; - - class ScrollBarHelper { - constructor() { - this._element = document.body; - } - - getWidth() { - // https://developer.mozilla.org/en-US/docs/Web/API/Window/innerWidth#usage_notes - const documentWidth = document.documentElement.clientWidth; - return Math.abs(window.innerWidth - documentWidth); - } - - hide() { - const width = this.getWidth(); - - this._disableOverFlow(); // give padding to element to balance the hidden scrollbar width - - - this._setElementAttributes(this._element, 'paddingRight', calculatedValue => calculatedValue + width); // trick: We adjust positive paddingRight and negative marginRight to sticky-top elements to keep showing fullwidth - - - this._setElementAttributes(SELECTOR_FIXED_CONTENT, 'paddingRight', calculatedValue => calculatedValue + width); - - this._setElementAttributes(SELECTOR_STICKY_CONTENT, 'marginRight', calculatedValue => calculatedValue - width); - } - - _disableOverFlow() { - this._saveInitialAttribute(this._element, 'overflow'); - - this._element.style.overflow = 'hidden'; - } - - _setElementAttributes(selector, styleProp, callback) { - const scrollbarWidth = this.getWidth(); - - const manipulationCallBack = element => { - if (element !== this._element && window.innerWidth > element.clientWidth + scrollbarWidth) { - return; - } - - this._saveInitialAttribute(element, styleProp); - - const calculatedValue = window.getComputedStyle(element)[styleProp]; - element.style[styleProp] = `${callback(Number.parseFloat(calculatedValue))}px`; - }; - - this._applyManipulationCallback(selector, manipulationCallBack); - } - - reset() { - this._resetElementAttributes(this._element, 'overflow'); - - this._resetElementAttributes(this._element, 'paddingRight'); - - this._resetElementAttributes(SELECTOR_FIXED_CONTENT, 'paddingRight'); - - this._resetElementAttributes(SELECTOR_STICKY_CONTENT, 'marginRight'); - } - - _saveInitialAttribute(element, styleProp) { - const actualValue = element.style[styleProp]; - - if (actualValue) { - Manipulator__default.default.setDataAttribute(element, styleProp, actualValue); - } - } - - _resetElementAttributes(selector, styleProp) { - const manipulationCallBack = element => { - const value = Manipulator__default.default.getDataAttribute(element, styleProp); - - if (typeof value === 'undefined') { - element.style.removeProperty(styleProp); - } else { - Manipulator__default.default.removeDataAttribute(element, styleProp); - element.style[styleProp] = value; - } - }; - - this._applyManipulationCallback(selector, manipulationCallBack); - } - - _applyManipulationCallback(selector, callBack) { - if (isElement(selector)) { - callBack(selector); - } else { - SelectorEngine__default.default.find(selector, this._element).forEach(callBack); - } - } - - isOverflowing() { - return this.getWidth() > 0; - } - - } - - /** - * -------------------------------------------------------------------------- - * Bootstrap (v5.1.3): util/backdrop.js - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) - * -------------------------------------------------------------------------- - */ - const Default$2 = { - className: 'modal-backdrop', - isVisible: true, - // if false, we use the backdrop helper without adding any element to the dom - isAnimated: false, - rootElement: 'body', - // give the choice to place backdrop under different elements - clickCallback: null - }; - const DefaultType$2 = { - className: 'string', - isVisible: 'boolean', - isAnimated: 'boolean', - rootElement: '(element|string)', - clickCallback: '(function|null)' - }; - const NAME$2 = 'backdrop'; - const CLASS_NAME_FADE$1 = 'fade'; - const CLASS_NAME_SHOW$1 = 'show'; - const EVENT_MOUSEDOWN = `mousedown.bs.${NAME$2}`; - - class Backdrop { - constructor(config) { - this._config = this._getConfig(config); - this._isAppended = false; - this._element = null; - } - - show(callback) { - if (!this._config.isVisible) { - execute(callback); - return; - } - - this._append(); - - if (this._config.isAnimated) { - reflow(this._getElement()); - } - - this._getElement().classList.add(CLASS_NAME_SHOW$1); - - this._emulateAnimation(() => { - execute(callback); - }); - } - - hide(callback) { - if (!this._config.isVisible) { - execute(callback); - return; - } - - this._getElement().classList.remove(CLASS_NAME_SHOW$1); - - this._emulateAnimation(() => { - this.dispose(); - execute(callback); - }); - } // Private - - - _getElement() { - if (!this._element) { - const backdrop = document.createElement('div'); - backdrop.className = this._config.className; - - if (this._config.isAnimated) { - backdrop.classList.add(CLASS_NAME_FADE$1); - } - - this._element = backdrop; - } - - return this._element; - } - - _getConfig(config) { - config = { ...Default$2, - ...(typeof config === 'object' ? config : {}) - }; // use getElement() with the default "body" to get a fresh Element on each instantiation - - config.rootElement = getElement(config.rootElement); - typeCheckConfig(NAME$2, config, DefaultType$2); - return config; - } - - _append() { - if (this._isAppended) { - return; - } - - this._config.rootElement.append(this._getElement()); - - EventHandler__default.default.on(this._getElement(), EVENT_MOUSEDOWN, () => { - execute(this._config.clickCallback); - }); - this._isAppended = true; - } - - dispose() { - if (!this._isAppended) { - return; - } - - EventHandler__default.default.off(this._element, EVENT_MOUSEDOWN); - - this._element.remove(); - - this._isAppended = false; - } - - _emulateAnimation(callback) { - executeAfterTransition(callback, this._getElement(), this._config.isAnimated); - } - - } - - /** - * -------------------------------------------------------------------------- - * Bootstrap (v5.1.3): util/focustrap.js - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) - * -------------------------------------------------------------------------- - */ - const Default$1 = { - trapElement: null, - // The element to trap focus inside of - autofocus: true - }; - const DefaultType$1 = { - trapElement: 'element', - autofocus: 'boolean' - }; - const NAME$1 = 'focustrap'; - const DATA_KEY$1 = 'bs.focustrap'; - const EVENT_KEY$1 = `.${DATA_KEY$1}`; - const EVENT_FOCUSIN = `focusin${EVENT_KEY$1}`; - const EVENT_KEYDOWN_TAB = `keydown.tab${EVENT_KEY$1}`; - const TAB_KEY = 'Tab'; - const TAB_NAV_FORWARD = 'forward'; - const TAB_NAV_BACKWARD = 'backward'; - - class FocusTrap { - constructor(config) { - this._config = this._getConfig(config); - this._isActive = false; - this._lastTabNavDirection = null; - } - - activate() { - const { - trapElement, - autofocus - } = this._config; - - if (this._isActive) { - return; - } - - if (autofocus) { - trapElement.focus(); - } - - EventHandler__default.default.off(document, EVENT_KEY$1); // guard against infinite focus loop - - EventHandler__default.default.on(document, EVENT_FOCUSIN, event => this._handleFocusin(event)); - EventHandler__default.default.on(document, EVENT_KEYDOWN_TAB, event => this._handleKeydown(event)); - this._isActive = true; - } - - deactivate() { - if (!this._isActive) { - return; - } - - this._isActive = false; - EventHandler__default.default.off(document, EVENT_KEY$1); - } // Private - - - _handleFocusin(event) { - const { - target - } = event; - const { - trapElement - } = this._config; - - if (target === document || target === trapElement || trapElement.contains(target)) { - return; - } - - const elements = SelectorEngine__default.default.focusableChildren(trapElement); - - if (elements.length === 0) { - trapElement.focus(); - } else if (this._lastTabNavDirection === TAB_NAV_BACKWARD) { - elements[elements.length - 1].focus(); - } else { - elements[0].focus(); - } - } - - _handleKeydown(event) { - if (event.key !== TAB_KEY) { - return; - } - - this._lastTabNavDirection = event.shiftKey ? TAB_NAV_BACKWARD : TAB_NAV_FORWARD; - } - - _getConfig(config) { - config = { ...Default$1, - ...(typeof config === 'object' ? config : {}) - }; - typeCheckConfig(NAME$1, config, DefaultType$1); - return config; - } - - } - - /** - * -------------------------------------------------------------------------- - * Bootstrap (v5.1.3): util/component-functions.js - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) - * -------------------------------------------------------------------------- - */ - - const enableDismissTrigger = (component, method = 'hide') => { - const clickEvent = `click.dismiss${component.EVENT_KEY}`; - const name = component.NAME; - EventHandler__default.default.on(document, clickEvent, `[data-bs-dismiss="${name}"]`, function (event) { - if (['A', 'AREA'].includes(this.tagName)) { - event.preventDefault(); - } - - if (isDisabled(this)) { - return; - } - - const target = getElementFromSelector(this) || this.closest(`.${name}`); - const instance = component.getOrCreateInstance(target); // Method argument is left, for Alert and only, as it doesn't implement the 'hide' method - - instance[method](); - }); - }; - - /** - * -------------------------------------------------------------------------- - * Bootstrap (v5.1.3): modal.js - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) - * -------------------------------------------------------------------------- - */ - /** - * ------------------------------------------------------------------------ - * Constants - * ------------------------------------------------------------------------ - */ - - const NAME = 'modal'; - const DATA_KEY = 'bs.modal'; - const EVENT_KEY = `.${DATA_KEY}`; - const DATA_API_KEY = '.data-api'; - const ESCAPE_KEY = 'Escape'; - const Default = { - backdrop: true, - keyboard: true, - focus: true - }; - const DefaultType = { - backdrop: '(boolean|string)', - keyboard: 'boolean', - focus: 'boolean' - }; - const EVENT_HIDE = `hide${EVENT_KEY}`; - const EVENT_HIDE_PREVENTED = `hidePrevented${EVENT_KEY}`; - const EVENT_HIDDEN = `hidden${EVENT_KEY}`; - const EVENT_SHOW = `show${EVENT_KEY}`; - const EVENT_SHOWN = `shown${EVENT_KEY}`; - const EVENT_RESIZE = `resize${EVENT_KEY}`; - const EVENT_CLICK_DISMISS = `click.dismiss${EVENT_KEY}`; - const EVENT_KEYDOWN_DISMISS = `keydown.dismiss${EVENT_KEY}`; - const EVENT_MOUSEUP_DISMISS = `mouseup.dismiss${EVENT_KEY}`; - const EVENT_MOUSEDOWN_DISMISS = `mousedown.dismiss${EVENT_KEY}`; - const EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`; - const CLASS_NAME_OPEN = 'modal-open'; - const CLASS_NAME_FADE = 'fade'; - const CLASS_NAME_SHOW = 'show'; - const CLASS_NAME_STATIC = 'modal-static'; - const OPEN_SELECTOR = '.modal.show'; - const SELECTOR_DIALOG = '.modal-dialog'; - const SELECTOR_MODAL_BODY = '.modal-body'; - const SELECTOR_DATA_TOGGLE = '[data-bs-toggle="modal"]'; - /** - * ------------------------------------------------------------------------ - * Class Definition - * ------------------------------------------------------------------------ - */ - - class Modal extends BaseComponent__default.default { - constructor(element, config) { - super(element); - this._config = this._getConfig(config); - this._dialog = SelectorEngine__default.default.findOne(SELECTOR_DIALOG, this._element); - this._backdrop = this._initializeBackDrop(); - this._focustrap = this._initializeFocusTrap(); - this._isShown = false; - this._ignoreBackdropClick = false; - this._isTransitioning = false; - this._scrollBar = new ScrollBarHelper(); - } // Getters - - - static get Default() { - return Default; - } - - static get NAME() { - return NAME; - } // Public - - - toggle(relatedTarget) { - return this._isShown ? this.hide() : this.show(relatedTarget); - } - - show(relatedTarget) { - if (this._isShown || this._isTransitioning) { - return; - } - - const showEvent = EventHandler__default.default.trigger(this._element, EVENT_SHOW, { - relatedTarget - }); - - if (showEvent.defaultPrevented) { - return; - } - - this._isShown = true; - - if (this._isAnimated()) { - this._isTransitioning = true; - } - - this._scrollBar.hide(); - - document.body.classList.add(CLASS_NAME_OPEN); - - this._adjustDialog(); - - this._setEscapeEvent(); - - this._setResizeEvent(); - - EventHandler__default.default.on(this._dialog, EVENT_MOUSEDOWN_DISMISS, () => { - EventHandler__default.default.one(this._element, EVENT_MOUSEUP_DISMISS, event => { - if (event.target === this._element) { - this._ignoreBackdropClick = true; - } - }); - }); - - this._showBackdrop(() => this._showElement(relatedTarget)); - } - - hide() { - if (!this._isShown || this._isTransitioning) { - return; - } - - const hideEvent = EventHandler__default.default.trigger(this._element, EVENT_HIDE); - - if (hideEvent.defaultPrevented) { - return; - } - - this._isShown = false; - - const isAnimated = this._isAnimated(); - - if (isAnimated) { - this._isTransitioning = true; - } - - this._setEscapeEvent(); - - this._setResizeEvent(); - - this._focustrap.deactivate(); - - this._element.classList.remove(CLASS_NAME_SHOW); - - EventHandler__default.default.off(this._element, EVENT_CLICK_DISMISS); - EventHandler__default.default.off(this._dialog, EVENT_MOUSEDOWN_DISMISS); - - this._queueCallback(() => this._hideModal(), this._element, isAnimated); - } - - dispose() { - [window, this._dialog].forEach(htmlElement => EventHandler__default.default.off(htmlElement, EVENT_KEY)); - - this._backdrop.dispose(); - - this._focustrap.deactivate(); - - super.dispose(); - } - - handleUpdate() { - this._adjustDialog(); - } // Private - - - _initializeBackDrop() { - return new Backdrop({ - isVisible: Boolean(this._config.backdrop), - // 'static' option will be translated to true, and booleans will keep their value - isAnimated: this._isAnimated() - }); - } - - _initializeFocusTrap() { - return new FocusTrap({ - trapElement: this._element - }); - } - - _getConfig(config) { - config = { ...Default, - ...Manipulator__default.default.getDataAttributes(this._element), - ...(typeof config === 'object' ? config : {}) - }; - typeCheckConfig(NAME, config, DefaultType); - return config; - } - - _showElement(relatedTarget) { - const isAnimated = this._isAnimated(); - - const modalBody = SelectorEngine__default.default.findOne(SELECTOR_MODAL_BODY, this._dialog); - - if (!this._element.parentNode || this._element.parentNode.nodeType !== Node.ELEMENT_NODE) { - // Don't move modal's DOM position - document.body.append(this._element); - } - - this._element.style.display = 'block'; - - this._element.removeAttribute('aria-hidden'); - - this._element.setAttribute('aria-modal', true); - - this._element.setAttribute('role', 'dialog'); - - this._element.scrollTop = 0; - - if (modalBody) { - modalBody.scrollTop = 0; - } - - if (isAnimated) { - reflow(this._element); - } - - this._element.classList.add(CLASS_NAME_SHOW); - - const transitionComplete = () => { - if (this._config.focus) { - this._focustrap.activate(); - } - - this._isTransitioning = false; - EventHandler__default.default.trigger(this._element, EVENT_SHOWN, { - relatedTarget - }); - }; - - this._queueCallback(transitionComplete, this._dialog, isAnimated); - } - - _setEscapeEvent() { - if (this._isShown) { - EventHandler__default.default.on(this._element, EVENT_KEYDOWN_DISMISS, event => { - if (this._config.keyboard && event.key === ESCAPE_KEY) { - event.preventDefault(); - this.hide(); - } else if (!this._config.keyboard && event.key === ESCAPE_KEY) { - this._triggerBackdropTransition(); - } - }); - } else { - EventHandler__default.default.off(this._element, EVENT_KEYDOWN_DISMISS); - } - } - - _setResizeEvent() { - if (this._isShown) { - EventHandler__default.default.on(window, EVENT_RESIZE, () => this._adjustDialog()); - } else { - EventHandler__default.default.off(window, EVENT_RESIZE); - } - } - - _hideModal() { - this._element.style.display = 'none'; - - this._element.setAttribute('aria-hidden', true); - - this._element.removeAttribute('aria-modal'); - - this._element.removeAttribute('role'); - - this._isTransitioning = false; - - this._backdrop.hide(() => { - document.body.classList.remove(CLASS_NAME_OPEN); - - this._resetAdjustments(); - - this._scrollBar.reset(); - - EventHandler__default.default.trigger(this._element, EVENT_HIDDEN); - }); - } - - _showBackdrop(callback) { - EventHandler__default.default.on(this._element, EVENT_CLICK_DISMISS, event => { - if (this._ignoreBackdropClick) { - this._ignoreBackdropClick = false; - return; - } - - if (event.target !== event.currentTarget) { - return; - } - - if (this._config.backdrop === true) { - this.hide(); - } else if (this._config.backdrop === 'static') { - this._triggerBackdropTransition(); - } - }); - - this._backdrop.show(callback); - } - - _isAnimated() { - return this._element.classList.contains(CLASS_NAME_FADE); - } - - _triggerBackdropTransition() { - const hideEvent = EventHandler__default.default.trigger(this._element, EVENT_HIDE_PREVENTED); - - if (hideEvent.defaultPrevented) { - return; - } - - const { - classList, - scrollHeight, - style - } = this._element; - const isModalOverflowing = scrollHeight > document.documentElement.clientHeight; // return if the following background transition hasn't yet completed - - if (!isModalOverflowing && style.overflowY === 'hidden' || classList.contains(CLASS_NAME_STATIC)) { - return; - } - - if (!isModalOverflowing) { - style.overflowY = 'hidden'; - } - - classList.add(CLASS_NAME_STATIC); - - this._queueCallback(() => { - classList.remove(CLASS_NAME_STATIC); - - if (!isModalOverflowing) { - this._queueCallback(() => { - style.overflowY = ''; - }, this._dialog); - } - }, this._dialog); - - this._element.focus(); - } // ---------------------------------------------------------------------- - // the following methods are used to handle overflowing modals - // ---------------------------------------------------------------------- - - - _adjustDialog() { - const isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight; - - const scrollbarWidth = this._scrollBar.getWidth(); - - const isBodyOverflowing = scrollbarWidth > 0; - - if (!isBodyOverflowing && isModalOverflowing && !isRTL() || isBodyOverflowing && !isModalOverflowing && isRTL()) { - this._element.style.paddingLeft = `${scrollbarWidth}px`; - } - - if (isBodyOverflowing && !isModalOverflowing && !isRTL() || !isBodyOverflowing && isModalOverflowing && isRTL()) { - this._element.style.paddingRight = `${scrollbarWidth}px`; - } - } - - _resetAdjustments() { - this._element.style.paddingLeft = ''; - this._element.style.paddingRight = ''; - } // Static - - - static jQueryInterface(config, relatedTarget) { - return this.each(function () { - const data = Modal.getOrCreateInstance(this, config); - - if (typeof config !== 'string') { - return; - } - - if (typeof data[config] === 'undefined') { - throw new TypeError(`No method named "${config}"`); - } - - data[config](relatedTarget); - }); - } - - } - /** - * ------------------------------------------------------------------------ - * Data Api implementation - * ------------------------------------------------------------------------ - */ - - - EventHandler__default.default.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) { - const target = getElementFromSelector(this); - - if (['A', 'AREA'].includes(this.tagName)) { - event.preventDefault(); - } - - EventHandler__default.default.one(target, EVENT_SHOW, showEvent => { - if (showEvent.defaultPrevented) { - // only register focus restorer if modal will actually get shown - return; - } - - EventHandler__default.default.one(target, EVENT_HIDDEN, () => { - if (isVisible(this)) { - this.focus(); - } - }); - }); // avoid conflict when clicking moddal toggler while another one is open - - const allReadyOpen = SelectorEngine__default.default.findOne(OPEN_SELECTOR); - - if (allReadyOpen) { - Modal.getInstance(allReadyOpen).hide(); - } - - const data = Modal.getOrCreateInstance(target); - data.toggle(this); - }); - enableDismissTrigger(Modal); - /** - * ------------------------------------------------------------------------ - * jQuery - * ------------------------------------------------------------------------ - * add .Modal to jQuery only if jQuery is present - */ - - defineJQueryPlugin(Modal); - - return Modal; - -})); -//# sourceMappingURL=modal.js.map diff --git a/src/js/bs/dist/modal.js.map b/src/js/bs/dist/modal.js.map deleted file mode 100644 index b82c441e9..000000000 --- a/src/js/bs/dist/modal.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"modal.js","sources":["../src/util/index.js","../src/util/scrollbar.js","../src/util/backdrop.js","../src/util/focustrap.js","../src/util/component-functions.js","../src/modal.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.1.3): util/index.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst MAX_UID = 1000000\nconst MILLISECONDS_MULTIPLIER = 1000\nconst TRANSITION_END = 'transitionend'\n\n// Shoutout AngusCroll (https://goo.gl/pxwQGp)\nconst toType = obj => {\n if (obj === null || obj === undefined) {\n return `${obj}`\n }\n\n return {}.toString.call(obj).match(/\\s([a-z]+)/i)[1].toLowerCase()\n}\n\n/**\n * --------------------------------------------------------------------------\n * Public Util Api\n * --------------------------------------------------------------------------\n */\n\nconst getUID = prefix => {\n do {\n prefix += Math.floor(Math.random() * MAX_UID)\n } while (document.getElementById(prefix))\n\n return prefix\n}\n\nconst getSelector = element => {\n let selector = element.getAttribute('data-bs-target')\n\n if (!selector || selector === '#') {\n let hrefAttr = element.getAttribute('href')\n\n // The only valid content that could double as a selector are IDs or classes,\n // so everything starting with `#` or `.`. If a \"real\" URL is used as the selector,\n // `document.querySelector` will rightfully complain it is invalid.\n // See https://github.com/twbs/bootstrap/issues/32273\n if (!hrefAttr || (!hrefAttr.includes('#') && !hrefAttr.startsWith('.'))) {\n return null\n }\n\n // Just in case some CMS puts out a full URL with the anchor appended\n if (hrefAttr.includes('#') && !hrefAttr.startsWith('#')) {\n hrefAttr = `#${hrefAttr.split('#')[1]}`\n }\n\n selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : null\n }\n\n return selector\n}\n\nconst getSelectorFromElement = element => {\n const selector = getSelector(element)\n\n if (selector) {\n return document.querySelector(selector) ? selector : null\n }\n\n return null\n}\n\nconst getElementFromSelector = element => {\n const selector = getSelector(element)\n\n return selector ? document.querySelector(selector) : null\n}\n\nconst getTransitionDurationFromElement = element => {\n if (!element) {\n return 0\n }\n\n // Get transition-duration of the element\n let { transitionDuration, transitionDelay } = window.getComputedStyle(element)\n\n const floatTransitionDuration = Number.parseFloat(transitionDuration)\n const floatTransitionDelay = Number.parseFloat(transitionDelay)\n\n // Return 0 if element or transition duration is not found\n if (!floatTransitionDuration && !floatTransitionDelay) {\n return 0\n }\n\n // If multiple durations are defined, take the first\n transitionDuration = transitionDuration.split(',')[0]\n transitionDelay = transitionDelay.split(',')[0]\n\n return (Number.parseFloat(transitionDuration) + Number.parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER\n}\n\nconst triggerTransitionEnd = element => {\n element.dispatchEvent(new Event(TRANSITION_END))\n}\n\nconst isElement = obj => {\n if (!obj || typeof obj !== 'object') {\n return false\n }\n\n if (typeof obj.jquery !== 'undefined') {\n obj = obj[0]\n }\n\n return typeof obj.nodeType !== 'undefined'\n}\n\nconst getElement = obj => {\n if (isElement(obj)) { // it's a jQuery object or a node element\n return obj.jquery ? obj[0] : obj\n }\n\n if (typeof obj === 'string' && obj.length > 0) {\n return document.querySelector(obj)\n }\n\n return null\n}\n\nconst typeCheckConfig = (componentName, config, configTypes) => {\n Object.keys(configTypes).forEach(property => {\n const expectedTypes = configTypes[property]\n const value = config[property]\n const valueType = value && isElement(value) ? 'element' : toType(value)\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new TypeError(\n `${componentName.toUpperCase()}: Option \"${property}\" provided type \"${valueType}\" but expected type \"${expectedTypes}\".`\n )\n }\n })\n}\n\nconst isVisible = element => {\n if (!isElement(element) || element.getClientRects().length === 0) {\n return false\n }\n\n return getComputedStyle(element).getPropertyValue('visibility') === 'visible'\n}\n\nconst isDisabled = element => {\n if (!element || element.nodeType !== Node.ELEMENT_NODE) {\n return true\n }\n\n if (element.classList.contains('disabled')) {\n return true\n }\n\n if (typeof element.disabled !== 'undefined') {\n return element.disabled\n }\n\n return element.hasAttribute('disabled') && element.getAttribute('disabled') !== 'false'\n}\n\nconst findShadowRoot = element => {\n if (!document.documentElement.attachShadow) {\n return null\n }\n\n // Can find the shadow root otherwise it'll return the document\n if (typeof element.getRootNode === 'function') {\n const root = element.getRootNode()\n return root instanceof ShadowRoot ? root : null\n }\n\n if (element instanceof ShadowRoot) {\n return element\n }\n\n // when we don't find a shadow root\n if (!element.parentNode) {\n return null\n }\n\n return findShadowRoot(element.parentNode)\n}\n\nconst noop = () => {}\n\n/**\n * Trick to restart an element's animation\n *\n * @param {HTMLElement} element\n * @return void\n *\n * @see https://www.charistheo.io/blog/2021/02/restart-a-css-animation-with-javascript/#restarting-a-css-animation\n */\nconst reflow = element => {\n // eslint-disable-next-line no-unused-expressions\n element.offsetHeight\n}\n\nconst getjQuery = () => {\n const { jQuery } = window\n\n if (jQuery && !document.body.hasAttribute('data-bs-no-jquery')) {\n return jQuery\n }\n\n return null\n}\n\nconst DOMContentLoadedCallbacks = []\n\nconst onDOMContentLoaded = callback => {\n if (document.readyState === 'loading') {\n // add listener on the first call when the document is in loading state\n if (!DOMContentLoadedCallbacks.length) {\n document.addEventListener('DOMContentLoaded', () => {\n DOMContentLoadedCallbacks.forEach(callback => callback())\n })\n }\n\n DOMContentLoadedCallbacks.push(callback)\n } else {\n callback()\n }\n}\n\nconst isRTL = () => document.documentElement.dir === 'rtl'\n\nconst defineJQueryPlugin = plugin => {\n onDOMContentLoaded(() => {\n const $ = getjQuery()\n /* istanbul ignore if */\n if ($) {\n const name = plugin.NAME\n const JQUERY_NO_CONFLICT = $.fn[name]\n $.fn[name] = plugin.jQueryInterface\n $.fn[name].Constructor = plugin\n $.fn[name].noConflict = () => {\n $.fn[name] = JQUERY_NO_CONFLICT\n return plugin.jQueryInterface\n }\n }\n })\n}\n\nconst execute = callback => {\n if (typeof callback === 'function') {\n callback()\n }\n}\n\nconst executeAfterTransition = (callback, transitionElement, waitForTransition = true) => {\n if (!waitForTransition) {\n execute(callback)\n return\n }\n\n const durationPadding = 5\n const emulatedDuration = getTransitionDurationFromElement(transitionElement) + durationPadding\n\n let called = false\n\n const handler = ({ target }) => {\n if (target !== transitionElement) {\n return\n }\n\n called = true\n transitionElement.removeEventListener(TRANSITION_END, handler)\n execute(callback)\n }\n\n transitionElement.addEventListener(TRANSITION_END, handler)\n setTimeout(() => {\n if (!called) {\n triggerTransitionEnd(transitionElement)\n }\n }, emulatedDuration)\n}\n\n/**\n * Return the previous/next element of a list.\n *\n * @param {array} list The list of elements\n * @param activeElement The active element\n * @param shouldGetNext Choose to get next or previous element\n * @param isCycleAllowed\n * @return {Element|elem} The proper element\n */\nconst getNextActiveElement = (list, activeElement, shouldGetNext, isCycleAllowed) => {\n let index = list.indexOf(activeElement)\n\n // if the element does not exist in the list return an element depending on the direction and if cycle is allowed\n if (index === -1) {\n return list[!shouldGetNext && isCycleAllowed ? list.length - 1 : 0]\n }\n\n const listLength = list.length\n\n index += shouldGetNext ? 1 : -1\n\n if (isCycleAllowed) {\n index = (index + listLength) % listLength\n }\n\n return list[Math.max(0, Math.min(index, listLength - 1))]\n}\n\nexport {\n getElement,\n getUID,\n getSelectorFromElement,\n getElementFromSelector,\n getTransitionDurationFromElement,\n triggerTransitionEnd,\n isElement,\n typeCheckConfig,\n isVisible,\n isDisabled,\n findShadowRoot,\n noop,\n getNextActiveElement,\n reflow,\n getjQuery,\n onDOMContentLoaded,\n isRTL,\n defineJQueryPlugin,\n execute,\n executeAfterTransition\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.1.3): util/scrollBar.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport SelectorEngine from '../dom/selector-engine'\nimport Manipulator from '../dom/manipulator'\nimport { isElement } from './index'\n\nconst SELECTOR_FIXED_CONTENT = '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top'\nconst SELECTOR_STICKY_CONTENT = '.sticky-top'\n\nclass ScrollBarHelper {\n constructor() {\n this._element = document.body\n }\n\n getWidth() {\n // https://developer.mozilla.org/en-US/docs/Web/API/Window/innerWidth#usage_notes\n const documentWidth = document.documentElement.clientWidth\n return Math.abs(window.innerWidth - documentWidth)\n }\n\n hide() {\n const width = this.getWidth()\n this._disableOverFlow()\n // give padding to element to balance the hidden scrollbar width\n this._setElementAttributes(this._element, 'paddingRight', calculatedValue => calculatedValue + width)\n // trick: We adjust positive paddingRight and negative marginRight to sticky-top elements to keep showing fullwidth\n this._setElementAttributes(SELECTOR_FIXED_CONTENT, 'paddingRight', calculatedValue => calculatedValue + width)\n this._setElementAttributes(SELECTOR_STICKY_CONTENT, 'marginRight', calculatedValue => calculatedValue - width)\n }\n\n _disableOverFlow() {\n this._saveInitialAttribute(this._element, 'overflow')\n this._element.style.overflow = 'hidden'\n }\n\n _setElementAttributes(selector, styleProp, callback) {\n const scrollbarWidth = this.getWidth()\n const manipulationCallBack = element => {\n if (element !== this._element && window.innerWidth > element.clientWidth + scrollbarWidth) {\n return\n }\n\n this._saveInitialAttribute(element, styleProp)\n const calculatedValue = window.getComputedStyle(element)[styleProp]\n element.style[styleProp] = `${callback(Number.parseFloat(calculatedValue))}px`\n }\n\n this._applyManipulationCallback(selector, manipulationCallBack)\n }\n\n reset() {\n this._resetElementAttributes(this._element, 'overflow')\n this._resetElementAttributes(this._element, 'paddingRight')\n this._resetElementAttributes(SELECTOR_FIXED_CONTENT, 'paddingRight')\n this._resetElementAttributes(SELECTOR_STICKY_CONTENT, 'marginRight')\n }\n\n _saveInitialAttribute(element, styleProp) {\n const actualValue = element.style[styleProp]\n if (actualValue) {\n Manipulator.setDataAttribute(element, styleProp, actualValue)\n }\n }\n\n _resetElementAttributes(selector, styleProp) {\n const manipulationCallBack = element => {\n const value = Manipulator.getDataAttribute(element, styleProp)\n if (typeof value === 'undefined') {\n element.style.removeProperty(styleProp)\n } else {\n Manipulator.removeDataAttribute(element, styleProp)\n element.style[styleProp] = value\n }\n }\n\n this._applyManipulationCallback(selector, manipulationCallBack)\n }\n\n _applyManipulationCallback(selector, callBack) {\n if (isElement(selector)) {\n callBack(selector)\n } else {\n SelectorEngine.find(selector, this._element).forEach(callBack)\n }\n }\n\n isOverflowing() {\n return this.getWidth() > 0\n }\n}\n\nexport default ScrollBarHelper\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.1.3): util/backdrop.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport EventHandler from '../dom/event-handler'\nimport { execute, executeAfterTransition, getElement, reflow, typeCheckConfig } from './index'\n\nconst Default = {\n className: 'modal-backdrop',\n isVisible: true, // if false, we use the backdrop helper without adding any element to the dom\n isAnimated: false,\n rootElement: 'body', // give the choice to place backdrop under different elements\n clickCallback: null\n}\n\nconst DefaultType = {\n className: 'string',\n isVisible: 'boolean',\n isAnimated: 'boolean',\n rootElement: '(element|string)',\n clickCallback: '(function|null)'\n}\nconst NAME = 'backdrop'\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\n\nconst EVENT_MOUSEDOWN = `mousedown.bs.${NAME}`\n\nclass Backdrop {\n constructor(config) {\n this._config = this._getConfig(config)\n this._isAppended = false\n this._element = null\n }\n\n show(callback) {\n if (!this._config.isVisible) {\n execute(callback)\n return\n }\n\n this._append()\n\n if (this._config.isAnimated) {\n reflow(this._getElement())\n }\n\n this._getElement().classList.add(CLASS_NAME_SHOW)\n\n this._emulateAnimation(() => {\n execute(callback)\n })\n }\n\n hide(callback) {\n if (!this._config.isVisible) {\n execute(callback)\n return\n }\n\n this._getElement().classList.remove(CLASS_NAME_SHOW)\n\n this._emulateAnimation(() => {\n this.dispose()\n execute(callback)\n })\n }\n\n // Private\n\n _getElement() {\n if (!this._element) {\n const backdrop = document.createElement('div')\n backdrop.className = this._config.className\n if (this._config.isAnimated) {\n backdrop.classList.add(CLASS_NAME_FADE)\n }\n\n this._element = backdrop\n }\n\n return this._element\n }\n\n _getConfig(config) {\n config = {\n ...Default,\n ...(typeof config === 'object' ? config : {})\n }\n\n // use getElement() with the default \"body\" to get a fresh Element on each instantiation\n config.rootElement = getElement(config.rootElement)\n typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _append() {\n if (this._isAppended) {\n return\n }\n\n this._config.rootElement.append(this._getElement())\n\n EventHandler.on(this._getElement(), EVENT_MOUSEDOWN, () => {\n execute(this._config.clickCallback)\n })\n\n this._isAppended = true\n }\n\n dispose() {\n if (!this._isAppended) {\n return\n }\n\n EventHandler.off(this._element, EVENT_MOUSEDOWN)\n\n this._element.remove()\n this._isAppended = false\n }\n\n _emulateAnimation(callback) {\n executeAfterTransition(callback, this._getElement(), this._config.isAnimated)\n }\n}\n\nexport default Backdrop\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.1.3): util/focustrap.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport EventHandler from '../dom/event-handler'\nimport SelectorEngine from '../dom/selector-engine'\nimport { typeCheckConfig } from './index'\n\nconst Default = {\n trapElement: null, // The element to trap focus inside of\n autofocus: true\n}\n\nconst DefaultType = {\n trapElement: 'element',\n autofocus: 'boolean'\n}\n\nconst NAME = 'focustrap'\nconst DATA_KEY = 'bs.focustrap'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst EVENT_FOCUSIN = `focusin${EVENT_KEY}`\nconst EVENT_KEYDOWN_TAB = `keydown.tab${EVENT_KEY}`\n\nconst TAB_KEY = 'Tab'\nconst TAB_NAV_FORWARD = 'forward'\nconst TAB_NAV_BACKWARD = 'backward'\n\nclass FocusTrap {\n constructor(config) {\n this._config = this._getConfig(config)\n this._isActive = false\n this._lastTabNavDirection = null\n }\n\n activate() {\n const { trapElement, autofocus } = this._config\n\n if (this._isActive) {\n return\n }\n\n if (autofocus) {\n trapElement.focus()\n }\n\n EventHandler.off(document, EVENT_KEY) // guard against infinite focus loop\n EventHandler.on(document, EVENT_FOCUSIN, event => this._handleFocusin(event))\n EventHandler.on(document, EVENT_KEYDOWN_TAB, event => this._handleKeydown(event))\n\n this._isActive = true\n }\n\n deactivate() {\n if (!this._isActive) {\n return\n }\n\n this._isActive = false\n EventHandler.off(document, EVENT_KEY)\n }\n\n // Private\n\n _handleFocusin(event) {\n const { target } = event\n const { trapElement } = this._config\n\n if (target === document || target === trapElement || trapElement.contains(target)) {\n return\n }\n\n const elements = SelectorEngine.focusableChildren(trapElement)\n\n if (elements.length === 0) {\n trapElement.focus()\n } else if (this._lastTabNavDirection === TAB_NAV_BACKWARD) {\n elements[elements.length - 1].focus()\n } else {\n elements[0].focus()\n }\n }\n\n _handleKeydown(event) {\n if (event.key !== TAB_KEY) {\n return\n }\n\n this._lastTabNavDirection = event.shiftKey ? TAB_NAV_BACKWARD : TAB_NAV_FORWARD\n }\n\n _getConfig(config) {\n config = {\n ...Default,\n ...(typeof config === 'object' ? config : {})\n }\n typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n}\n\nexport default FocusTrap\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.1.3): util/component-functions.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport EventHandler from '../dom/event-handler'\nimport { getElementFromSelector, isDisabled } from './index'\n\nconst enableDismissTrigger = (component, method = 'hide') => {\n const clickEvent = `click.dismiss${component.EVENT_KEY}`\n const name = component.NAME\n\n EventHandler.on(document, clickEvent, `[data-bs-dismiss=\"${name}\"]`, function (event) {\n if (['A', 'AREA'].includes(this.tagName)) {\n event.preventDefault()\n }\n\n if (isDisabled(this)) {\n return\n }\n\n const target = getElementFromSelector(this) || this.closest(`.${name}`)\n const instance = component.getOrCreateInstance(target)\n\n // Method argument is left, for Alert and only, as it doesn't implement the 'hide' method\n instance[method]()\n })\n}\n\nexport {\n enableDismissTrigger\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.1.3): modal.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n defineJQueryPlugin,\n getElementFromSelector,\n isRTL,\n isVisible,\n reflow,\n typeCheckConfig\n} from './util/index'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport SelectorEngine from './dom/selector-engine'\nimport ScrollBarHelper from './util/scrollbar'\nimport BaseComponent from './base-component'\nimport Backdrop from './util/backdrop'\nimport FocusTrap from './util/focustrap'\nimport { enableDismissTrigger } from './util/component-functions'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'modal'\nconst DATA_KEY = 'bs.modal'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst ESCAPE_KEY = 'Escape'\n\nconst Default = {\n backdrop: true,\n keyboard: true,\n focus: true\n}\n\nconst DefaultType = {\n backdrop: '(boolean|string)',\n keyboard: 'boolean',\n focus: 'boolean'\n}\n\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDE_PREVENTED = `hidePrevented${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_RESIZE = `resize${EVENT_KEY}`\nconst EVENT_CLICK_DISMISS = `click.dismiss${EVENT_KEY}`\nconst EVENT_KEYDOWN_DISMISS = `keydown.dismiss${EVENT_KEY}`\nconst EVENT_MOUSEUP_DISMISS = `mouseup.dismiss${EVENT_KEY}`\nconst EVENT_MOUSEDOWN_DISMISS = `mousedown.dismiss${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_OPEN = 'modal-open'\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_STATIC = 'modal-static'\n\nconst OPEN_SELECTOR = '.modal.show'\nconst SELECTOR_DIALOG = '.modal-dialog'\nconst SELECTOR_MODAL_BODY = '.modal-body'\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"modal\"]'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Modal extends BaseComponent {\n constructor(element, config) {\n super(element)\n\n this._config = this._getConfig(config)\n this._dialog = SelectorEngine.findOne(SELECTOR_DIALOG, this._element)\n this._backdrop = this._initializeBackDrop()\n this._focustrap = this._initializeFocusTrap()\n this._isShown = false\n this._ignoreBackdropClick = false\n this._isTransitioning = false\n this._scrollBar = new ScrollBarHelper()\n }\n\n // Getters\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n\n toggle(relatedTarget) {\n return this._isShown ? this.hide() : this.show(relatedTarget)\n }\n\n show(relatedTarget) {\n if (this._isShown || this._isTransitioning) {\n return\n }\n\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, {\n relatedTarget\n })\n\n if (showEvent.defaultPrevented) {\n return\n }\n\n this._isShown = true\n\n if (this._isAnimated()) {\n this._isTransitioning = true\n }\n\n this._scrollBar.hide()\n\n document.body.classList.add(CLASS_NAME_OPEN)\n\n this._adjustDialog()\n\n this._setEscapeEvent()\n this._setResizeEvent()\n\n EventHandler.on(this._dialog, EVENT_MOUSEDOWN_DISMISS, () => {\n EventHandler.one(this._element, EVENT_MOUSEUP_DISMISS, event => {\n if (event.target === this._element) {\n this._ignoreBackdropClick = true\n }\n })\n })\n\n this._showBackdrop(() => this._showElement(relatedTarget))\n }\n\n hide() {\n if (!this._isShown || this._isTransitioning) {\n return\n }\n\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n\n if (hideEvent.defaultPrevented) {\n return\n }\n\n this._isShown = false\n const isAnimated = this._isAnimated()\n\n if (isAnimated) {\n this._isTransitioning = true\n }\n\n this._setEscapeEvent()\n this._setResizeEvent()\n\n this._focustrap.deactivate()\n\n this._element.classList.remove(CLASS_NAME_SHOW)\n\n EventHandler.off(this._element, EVENT_CLICK_DISMISS)\n EventHandler.off(this._dialog, EVENT_MOUSEDOWN_DISMISS)\n\n this._queueCallback(() => this._hideModal(), this._element, isAnimated)\n }\n\n dispose() {\n [window, this._dialog]\n .forEach(htmlElement => EventHandler.off(htmlElement, EVENT_KEY))\n\n this._backdrop.dispose()\n this._focustrap.deactivate()\n super.dispose()\n }\n\n handleUpdate() {\n this._adjustDialog()\n }\n\n // Private\n\n _initializeBackDrop() {\n return new Backdrop({\n isVisible: Boolean(this._config.backdrop), // 'static' option will be translated to true, and booleans will keep their value\n isAnimated: this._isAnimated()\n })\n }\n\n _initializeFocusTrap() {\n return new FocusTrap({\n trapElement: this._element\n })\n }\n\n _getConfig(config) {\n config = {\n ...Default,\n ...Manipulator.getDataAttributes(this._element),\n ...(typeof config === 'object' ? config : {})\n }\n typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _showElement(relatedTarget) {\n const isAnimated = this._isAnimated()\n const modalBody = SelectorEngine.findOne(SELECTOR_MODAL_BODY, this._dialog)\n\n if (!this._element.parentNode || this._element.parentNode.nodeType !== Node.ELEMENT_NODE) {\n // Don't move modal's DOM position\n document.body.append(this._element)\n }\n\n this._element.style.display = 'block'\n this._element.removeAttribute('aria-hidden')\n this._element.setAttribute('aria-modal', true)\n this._element.setAttribute('role', 'dialog')\n this._element.scrollTop = 0\n\n if (modalBody) {\n modalBody.scrollTop = 0\n }\n\n if (isAnimated) {\n reflow(this._element)\n }\n\n this._element.classList.add(CLASS_NAME_SHOW)\n\n const transitionComplete = () => {\n if (this._config.focus) {\n this._focustrap.activate()\n }\n\n this._isTransitioning = false\n EventHandler.trigger(this._element, EVENT_SHOWN, {\n relatedTarget\n })\n }\n\n this._queueCallback(transitionComplete, this._dialog, isAnimated)\n }\n\n _setEscapeEvent() {\n if (this._isShown) {\n EventHandler.on(this._element, EVENT_KEYDOWN_DISMISS, event => {\n if (this._config.keyboard && event.key === ESCAPE_KEY) {\n event.preventDefault()\n this.hide()\n } else if (!this._config.keyboard && event.key === ESCAPE_KEY) {\n this._triggerBackdropTransition()\n }\n })\n } else {\n EventHandler.off(this._element, EVENT_KEYDOWN_DISMISS)\n }\n }\n\n _setResizeEvent() {\n if (this._isShown) {\n EventHandler.on(window, EVENT_RESIZE, () => this._adjustDialog())\n } else {\n EventHandler.off(window, EVENT_RESIZE)\n }\n }\n\n _hideModal() {\n this._element.style.display = 'none'\n this._element.setAttribute('aria-hidden', true)\n this._element.removeAttribute('aria-modal')\n this._element.removeAttribute('role')\n this._isTransitioning = false\n this._backdrop.hide(() => {\n document.body.classList.remove(CLASS_NAME_OPEN)\n this._resetAdjustments()\n this._scrollBar.reset()\n EventHandler.trigger(this._element, EVENT_HIDDEN)\n })\n }\n\n _showBackdrop(callback) {\n EventHandler.on(this._element, EVENT_CLICK_DISMISS, event => {\n if (this._ignoreBackdropClick) {\n this._ignoreBackdropClick = false\n return\n }\n\n if (event.target !== event.currentTarget) {\n return\n }\n\n if (this._config.backdrop === true) {\n this.hide()\n } else if (this._config.backdrop === 'static') {\n this._triggerBackdropTransition()\n }\n })\n\n this._backdrop.show(callback)\n }\n\n _isAnimated() {\n return this._element.classList.contains(CLASS_NAME_FADE)\n }\n\n _triggerBackdropTransition() {\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED)\n if (hideEvent.defaultPrevented) {\n return\n }\n\n const { classList, scrollHeight, style } = this._element\n const isModalOverflowing = scrollHeight > document.documentElement.clientHeight\n\n // return if the following background transition hasn't yet completed\n if ((!isModalOverflowing && style.overflowY === 'hidden') || classList.contains(CLASS_NAME_STATIC)) {\n return\n }\n\n if (!isModalOverflowing) {\n style.overflowY = 'hidden'\n }\n\n classList.add(CLASS_NAME_STATIC)\n this._queueCallback(() => {\n classList.remove(CLASS_NAME_STATIC)\n if (!isModalOverflowing) {\n this._queueCallback(() => {\n style.overflowY = ''\n }, this._dialog)\n }\n }, this._dialog)\n\n this._element.focus()\n }\n\n // ----------------------------------------------------------------------\n // the following methods are used to handle overflowing modals\n // ----------------------------------------------------------------------\n\n _adjustDialog() {\n const isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight\n const scrollbarWidth = this._scrollBar.getWidth()\n const isBodyOverflowing = scrollbarWidth > 0\n\n if ((!isBodyOverflowing && isModalOverflowing && !isRTL()) || (isBodyOverflowing && !isModalOverflowing && isRTL())) {\n this._element.style.paddingLeft = `${scrollbarWidth}px`\n }\n\n if ((isBodyOverflowing && !isModalOverflowing && !isRTL()) || (!isBodyOverflowing && isModalOverflowing && isRTL())) {\n this._element.style.paddingRight = `${scrollbarWidth}px`\n }\n }\n\n _resetAdjustments() {\n this._element.style.paddingLeft = ''\n this._element.style.paddingRight = ''\n }\n\n // Static\n\n static jQueryInterface(config, relatedTarget) {\n return this.each(function () {\n const data = Modal.getOrCreateInstance(this, config)\n\n if (typeof config !== 'string') {\n return\n }\n\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config](relatedTarget)\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n const target = getElementFromSelector(this)\n\n if (['A', 'AREA'].includes(this.tagName)) {\n event.preventDefault()\n }\n\n EventHandler.one(target, EVENT_SHOW, showEvent => {\n if (showEvent.defaultPrevented) {\n // only register focus restorer if modal will actually get shown\n return\n }\n\n EventHandler.one(target, EVENT_HIDDEN, () => {\n if (isVisible(this)) {\n this.focus()\n }\n })\n })\n\n // avoid conflict when clicking moddal toggler while another one is open\n const allReadyOpen = SelectorEngine.findOne(OPEN_SELECTOR)\n if (allReadyOpen) {\n Modal.getInstance(allReadyOpen).hide()\n }\n\n const data = Modal.getOrCreateInstance(target)\n\n data.toggle(this)\n})\n\nenableDismissTrigger(Modal)\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .Modal to jQuery only if jQuery is present\n */\n\ndefineJQueryPlugin(Modal)\n\nexport default Modal\n"],"names":["MILLISECONDS_MULTIPLIER","TRANSITION_END","toType","obj","undefined","toString","call","match","toLowerCase","getSelector","element","selector","getAttribute","hrefAttr","includes","startsWith","split","trim","getElementFromSelector","document","querySelector","getTransitionDurationFromElement","transitionDuration","transitionDelay","window","getComputedStyle","floatTransitionDuration","Number","parseFloat","floatTransitionDelay","triggerTransitionEnd","dispatchEvent","Event","isElement","jquery","nodeType","getElement","length","typeCheckConfig","componentName","config","configTypes","Object","keys","forEach","property","expectedTypes","value","valueType","RegExp","test","TypeError","toUpperCase","isVisible","getClientRects","getPropertyValue","isDisabled","Node","ELEMENT_NODE","classList","contains","disabled","hasAttribute","reflow","offsetHeight","getjQuery","jQuery","body","DOMContentLoadedCallbacks","onDOMContentLoaded","callback","readyState","addEventListener","push","isRTL","documentElement","dir","defineJQueryPlugin","plugin","$","name","NAME","JQUERY_NO_CONFLICT","fn","jQueryInterface","Constructor","noConflict","execute","executeAfterTransition","transitionElement","waitForTransition","durationPadding","emulatedDuration","called","handler","target","removeEventListener","setTimeout","SELECTOR_FIXED_CONTENT","SELECTOR_STICKY_CONTENT","ScrollBarHelper","constructor","_element","getWidth","documentWidth","clientWidth","Math","abs","innerWidth","hide","width","_disableOverFlow","_setElementAttributes","calculatedValue","_saveInitialAttribute","style","overflow","styleProp","scrollbarWidth","manipulationCallBack","_applyManipulationCallback","reset","_resetElementAttributes","actualValue","Manipulator","setDataAttribute","getDataAttribute","removeProperty","removeDataAttribute","callBack","SelectorEngine","find","isOverflowing","Default","className","isAnimated","rootElement","clickCallback","DefaultType","CLASS_NAME_FADE","CLASS_NAME_SHOW","EVENT_MOUSEDOWN","Backdrop","_config","_getConfig","_isAppended","show","_append","_getElement","add","_emulateAnimation","remove","dispose","backdrop","createElement","append","EventHandler","on","off","trapElement","autofocus","DATA_KEY","EVENT_KEY","EVENT_FOCUSIN","EVENT_KEYDOWN_TAB","TAB_KEY","TAB_NAV_FORWARD","TAB_NAV_BACKWARD","FocusTrap","_isActive","_lastTabNavDirection","activate","focus","event","_handleFocusin","_handleKeydown","deactivate","elements","focusableChildren","key","shiftKey","enableDismissTrigger","component","method","clickEvent","tagName","preventDefault","closest","instance","getOrCreateInstance","DATA_API_KEY","ESCAPE_KEY","keyboard","EVENT_HIDE","EVENT_HIDE_PREVENTED","EVENT_HIDDEN","EVENT_SHOW","EVENT_SHOWN","EVENT_RESIZE","EVENT_CLICK_DISMISS","EVENT_KEYDOWN_DISMISS","EVENT_MOUSEUP_DISMISS","EVENT_MOUSEDOWN_DISMISS","EVENT_CLICK_DATA_API","CLASS_NAME_OPEN","CLASS_NAME_STATIC","OPEN_SELECTOR","SELECTOR_DIALOG","SELECTOR_MODAL_BODY","SELECTOR_DATA_TOGGLE","Modal","BaseComponent","_dialog","findOne","_backdrop","_initializeBackDrop","_focustrap","_initializeFocusTrap","_isShown","_ignoreBackdropClick","_isTransitioning","_scrollBar","toggle","relatedTarget","showEvent","trigger","defaultPrevented","_isAnimated","_adjustDialog","_setEscapeEvent","_setResizeEvent","one","_showBackdrop","_showElement","hideEvent","_queueCallback","_hideModal","htmlElement","handleUpdate","Boolean","getDataAttributes","modalBody","parentNode","display","removeAttribute","setAttribute","scrollTop","transitionComplete","_triggerBackdropTransition","_resetAdjustments","currentTarget","scrollHeight","isModalOverflowing","clientHeight","overflowY","isBodyOverflowing","paddingLeft","paddingRight","each","data","allReadyOpen","getInstance"],"mappings":"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"} \ No newline at end of file diff --git a/src/js/bs/dist/offcanvas.js b/src/js/bs/dist/offcanvas.js deleted file mode 100644 index 9b9ab6a3c..000000000 --- a/src/js/bs/dist/offcanvas.js +++ /dev/null @@ -1,867 +0,0 @@ -/*! - * Bootstrap offcanvas.js v5.1.3 (https://getbootstrap.com/) - * Copyright 2011-2021 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) - */ -(function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('./dom/selector-engine.js'), require('./dom/manipulator.js'), require('./dom/event-handler.js'), require('./base-component.js')) : - typeof define === 'function' && define.amd ? define(['./dom/selector-engine', './dom/manipulator', './dom/event-handler', './base-component'], factory) : - (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Offcanvas = factory(global.SelectorEngine, global.Manipulator, global.EventHandler, global.Base)); -})(this, (function (SelectorEngine, Manipulator, EventHandler, BaseComponent) { 'use strict'; - - const _interopDefaultLegacy = e => e && typeof e === 'object' && 'default' in e ? e : { default: e }; - - const SelectorEngine__default = /*#__PURE__*/_interopDefaultLegacy(SelectorEngine); - const Manipulator__default = /*#__PURE__*/_interopDefaultLegacy(Manipulator); - const EventHandler__default = /*#__PURE__*/_interopDefaultLegacy(EventHandler); - const BaseComponent__default = /*#__PURE__*/_interopDefaultLegacy(BaseComponent); - - /** - * -------------------------------------------------------------------------- - * Bootstrap (v5.1.3): util/index.js - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) - * -------------------------------------------------------------------------- - */ - const MILLISECONDS_MULTIPLIER = 1000; - const TRANSITION_END = 'transitionend'; // Shoutout AngusCroll (https://goo.gl/pxwQGp) - - const toType = obj => { - if (obj === null || obj === undefined) { - return `${obj}`; - } - - return {}.toString.call(obj).match(/\s([a-z]+)/i)[1].toLowerCase(); - }; - - const getSelector = element => { - let selector = element.getAttribute('data-bs-target'); - - if (!selector || selector === '#') { - let hrefAttr = element.getAttribute('href'); // The only valid content that could double as a selector are IDs or classes, - // so everything starting with `#` or `.`. If a "real" URL is used as the selector, - // `document.querySelector` will rightfully complain it is invalid. - // See https://github.com/twbs/bootstrap/issues/32273 - - if (!hrefAttr || !hrefAttr.includes('#') && !hrefAttr.startsWith('.')) { - return null; - } // Just in case some CMS puts out a full URL with the anchor appended - - - if (hrefAttr.includes('#') && !hrefAttr.startsWith('#')) { - hrefAttr = `#${hrefAttr.split('#')[1]}`; - } - - selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : null; - } - - return selector; - }; - - const getElementFromSelector = element => { - const selector = getSelector(element); - return selector ? document.querySelector(selector) : null; - }; - - const getTransitionDurationFromElement = element => { - if (!element) { - return 0; - } // Get transition-duration of the element - - - let { - transitionDuration, - transitionDelay - } = window.getComputedStyle(element); - const floatTransitionDuration = Number.parseFloat(transitionDuration); - const floatTransitionDelay = Number.parseFloat(transitionDelay); // Return 0 if element or transition duration is not found - - if (!floatTransitionDuration && !floatTransitionDelay) { - return 0; - } // If multiple durations are defined, take the first - - - transitionDuration = transitionDuration.split(',')[0]; - transitionDelay = transitionDelay.split(',')[0]; - return (Number.parseFloat(transitionDuration) + Number.parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER; - }; - - const triggerTransitionEnd = element => { - element.dispatchEvent(new Event(TRANSITION_END)); - }; - - const isElement = obj => { - if (!obj || typeof obj !== 'object') { - return false; - } - - if (typeof obj.jquery !== 'undefined') { - obj = obj[0]; - } - - return typeof obj.nodeType !== 'undefined'; - }; - - const getElement = obj => { - if (isElement(obj)) { - // it's a jQuery object or a node element - return obj.jquery ? obj[0] : obj; - } - - if (typeof obj === 'string' && obj.length > 0) { - return document.querySelector(obj); - } - - return null; - }; - - const typeCheckConfig = (componentName, config, configTypes) => { - Object.keys(configTypes).forEach(property => { - const expectedTypes = configTypes[property]; - const value = config[property]; - const valueType = value && isElement(value) ? 'element' : toType(value); - - if (!new RegExp(expectedTypes).test(valueType)) { - throw new TypeError(`${componentName.toUpperCase()}: Option "${property}" provided type "${valueType}" but expected type "${expectedTypes}".`); - } - }); - }; - - const isVisible = element => { - if (!isElement(element) || element.getClientRects().length === 0) { - return false; - } - - return getComputedStyle(element).getPropertyValue('visibility') === 'visible'; - }; - - const isDisabled = element => { - if (!element || element.nodeType !== Node.ELEMENT_NODE) { - return true; - } - - if (element.classList.contains('disabled')) { - return true; - } - - if (typeof element.disabled !== 'undefined') { - return element.disabled; - } - - return element.hasAttribute('disabled') && element.getAttribute('disabled') !== 'false'; - }; - /** - * Trick to restart an element's animation - * - * @param {HTMLElement} element - * @return void - * - * @see https://www.charistheo.io/blog/2021/02/restart-a-css-animation-with-javascript/#restarting-a-css-animation - */ - - - const reflow = element => { - // eslint-disable-next-line no-unused-expressions - element.offsetHeight; - }; - - const getjQuery = () => { - const { - jQuery - } = window; - - if (jQuery && !document.body.hasAttribute('data-bs-no-jquery')) { - return jQuery; - } - - return null; - }; - - const DOMContentLoadedCallbacks = []; - - const onDOMContentLoaded = callback => { - if (document.readyState === 'loading') { - // add listener on the first call when the document is in loading state - if (!DOMContentLoadedCallbacks.length) { - document.addEventListener('DOMContentLoaded', () => { - DOMContentLoadedCallbacks.forEach(callback => callback()); - }); - } - - DOMContentLoadedCallbacks.push(callback); - } else { - callback(); - } - }; - - const defineJQueryPlugin = plugin => { - onDOMContentLoaded(() => { - const $ = getjQuery(); - /* istanbul ignore if */ - - if ($) { - const name = plugin.NAME; - const JQUERY_NO_CONFLICT = $.fn[name]; - $.fn[name] = plugin.jQueryInterface; - $.fn[name].Constructor = plugin; - - $.fn[name].noConflict = () => { - $.fn[name] = JQUERY_NO_CONFLICT; - return plugin.jQueryInterface; - }; - } - }); - }; - - const execute = callback => { - if (typeof callback === 'function') { - callback(); - } - }; - - const executeAfterTransition = (callback, transitionElement, waitForTransition = true) => { - if (!waitForTransition) { - execute(callback); - return; - } - - const durationPadding = 5; - const emulatedDuration = getTransitionDurationFromElement(transitionElement) + durationPadding; - let called = false; - - const handler = ({ - target - }) => { - if (target !== transitionElement) { - return; - } - - called = true; - transitionElement.removeEventListener(TRANSITION_END, handler); - execute(callback); - }; - - transitionElement.addEventListener(TRANSITION_END, handler); - setTimeout(() => { - if (!called) { - triggerTransitionEnd(transitionElement); - } - }, emulatedDuration); - }; - - /** - * -------------------------------------------------------------------------- - * Bootstrap (v5.1.3): util/scrollBar.js - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) - * -------------------------------------------------------------------------- - */ - const SELECTOR_FIXED_CONTENT = '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top'; - const SELECTOR_STICKY_CONTENT = '.sticky-top'; - - class ScrollBarHelper { - constructor() { - this._element = document.body; - } - - getWidth() { - // https://developer.mozilla.org/en-US/docs/Web/API/Window/innerWidth#usage_notes - const documentWidth = document.documentElement.clientWidth; - return Math.abs(window.innerWidth - documentWidth); - } - - hide() { - const width = this.getWidth(); - - this._disableOverFlow(); // give padding to element to balance the hidden scrollbar width - - - this._setElementAttributes(this._element, 'paddingRight', calculatedValue => calculatedValue + width); // trick: We adjust positive paddingRight and negative marginRight to sticky-top elements to keep showing fullwidth - - - this._setElementAttributes(SELECTOR_FIXED_CONTENT, 'paddingRight', calculatedValue => calculatedValue + width); - - this._setElementAttributes(SELECTOR_STICKY_CONTENT, 'marginRight', calculatedValue => calculatedValue - width); - } - - _disableOverFlow() { - this._saveInitialAttribute(this._element, 'overflow'); - - this._element.style.overflow = 'hidden'; - } - - _setElementAttributes(selector, styleProp, callback) { - const scrollbarWidth = this.getWidth(); - - const manipulationCallBack = element => { - if (element !== this._element && window.innerWidth > element.clientWidth + scrollbarWidth) { - return; - } - - this._saveInitialAttribute(element, styleProp); - - const calculatedValue = window.getComputedStyle(element)[styleProp]; - element.style[styleProp] = `${callback(Number.parseFloat(calculatedValue))}px`; - }; - - this._applyManipulationCallback(selector, manipulationCallBack); - } - - reset() { - this._resetElementAttributes(this._element, 'overflow'); - - this._resetElementAttributes(this._element, 'paddingRight'); - - this._resetElementAttributes(SELECTOR_FIXED_CONTENT, 'paddingRight'); - - this._resetElementAttributes(SELECTOR_STICKY_CONTENT, 'marginRight'); - } - - _saveInitialAttribute(element, styleProp) { - const actualValue = element.style[styleProp]; - - if (actualValue) { - Manipulator__default.default.setDataAttribute(element, styleProp, actualValue); - } - } - - _resetElementAttributes(selector, styleProp) { - const manipulationCallBack = element => { - const value = Manipulator__default.default.getDataAttribute(element, styleProp); - - if (typeof value === 'undefined') { - element.style.removeProperty(styleProp); - } else { - Manipulator__default.default.removeDataAttribute(element, styleProp); - element.style[styleProp] = value; - } - }; - - this._applyManipulationCallback(selector, manipulationCallBack); - } - - _applyManipulationCallback(selector, callBack) { - if (isElement(selector)) { - callBack(selector); - } else { - SelectorEngine__default.default.find(selector, this._element).forEach(callBack); - } - } - - isOverflowing() { - return this.getWidth() > 0; - } - - } - - /** - * -------------------------------------------------------------------------- - * Bootstrap (v5.1.3): util/backdrop.js - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) - * -------------------------------------------------------------------------- - */ - const Default$2 = { - className: 'modal-backdrop', - isVisible: true, - // if false, we use the backdrop helper without adding any element to the dom - isAnimated: false, - rootElement: 'body', - // give the choice to place backdrop under different elements - clickCallback: null - }; - const DefaultType$2 = { - className: 'string', - isVisible: 'boolean', - isAnimated: 'boolean', - rootElement: '(element|string)', - clickCallback: '(function|null)' - }; - const NAME$2 = 'backdrop'; - const CLASS_NAME_FADE = 'fade'; - const CLASS_NAME_SHOW$1 = 'show'; - const EVENT_MOUSEDOWN = `mousedown.bs.${NAME$2}`; - - class Backdrop { - constructor(config) { - this._config = this._getConfig(config); - this._isAppended = false; - this._element = null; - } - - show(callback) { - if (!this._config.isVisible) { - execute(callback); - return; - } - - this._append(); - - if (this._config.isAnimated) { - reflow(this._getElement()); - } - - this._getElement().classList.add(CLASS_NAME_SHOW$1); - - this._emulateAnimation(() => { - execute(callback); - }); - } - - hide(callback) { - if (!this._config.isVisible) { - execute(callback); - return; - } - - this._getElement().classList.remove(CLASS_NAME_SHOW$1); - - this._emulateAnimation(() => { - this.dispose(); - execute(callback); - }); - } // Private - - - _getElement() { - if (!this._element) { - const backdrop = document.createElement('div'); - backdrop.className = this._config.className; - - if (this._config.isAnimated) { - backdrop.classList.add(CLASS_NAME_FADE); - } - - this._element = backdrop; - } - - return this._element; - } - - _getConfig(config) { - config = { ...Default$2, - ...(typeof config === 'object' ? config : {}) - }; // use getElement() with the default "body" to get a fresh Element on each instantiation - - config.rootElement = getElement(config.rootElement); - typeCheckConfig(NAME$2, config, DefaultType$2); - return config; - } - - _append() { - if (this._isAppended) { - return; - } - - this._config.rootElement.append(this._getElement()); - - EventHandler__default.default.on(this._getElement(), EVENT_MOUSEDOWN, () => { - execute(this._config.clickCallback); - }); - this._isAppended = true; - } - - dispose() { - if (!this._isAppended) { - return; - } - - EventHandler__default.default.off(this._element, EVENT_MOUSEDOWN); - - this._element.remove(); - - this._isAppended = false; - } - - _emulateAnimation(callback) { - executeAfterTransition(callback, this._getElement(), this._config.isAnimated); - } - - } - - /** - * -------------------------------------------------------------------------- - * Bootstrap (v5.1.3): util/focustrap.js - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) - * -------------------------------------------------------------------------- - */ - const Default$1 = { - trapElement: null, - // The element to trap focus inside of - autofocus: true - }; - const DefaultType$1 = { - trapElement: 'element', - autofocus: 'boolean' - }; - const NAME$1 = 'focustrap'; - const DATA_KEY$1 = 'bs.focustrap'; - const EVENT_KEY$1 = `.${DATA_KEY$1}`; - const EVENT_FOCUSIN = `focusin${EVENT_KEY$1}`; - const EVENT_KEYDOWN_TAB = `keydown.tab${EVENT_KEY$1}`; - const TAB_KEY = 'Tab'; - const TAB_NAV_FORWARD = 'forward'; - const TAB_NAV_BACKWARD = 'backward'; - - class FocusTrap { - constructor(config) { - this._config = this._getConfig(config); - this._isActive = false; - this._lastTabNavDirection = null; - } - - activate() { - const { - trapElement, - autofocus - } = this._config; - - if (this._isActive) { - return; - } - - if (autofocus) { - trapElement.focus(); - } - - EventHandler__default.default.off(document, EVENT_KEY$1); // guard against infinite focus loop - - EventHandler__default.default.on(document, EVENT_FOCUSIN, event => this._handleFocusin(event)); - EventHandler__default.default.on(document, EVENT_KEYDOWN_TAB, event => this._handleKeydown(event)); - this._isActive = true; - } - - deactivate() { - if (!this._isActive) { - return; - } - - this._isActive = false; - EventHandler__default.default.off(document, EVENT_KEY$1); - } // Private - - - _handleFocusin(event) { - const { - target - } = event; - const { - trapElement - } = this._config; - - if (target === document || target === trapElement || trapElement.contains(target)) { - return; - } - - const elements = SelectorEngine__default.default.focusableChildren(trapElement); - - if (elements.length === 0) { - trapElement.focus(); - } else if (this._lastTabNavDirection === TAB_NAV_BACKWARD) { - elements[elements.length - 1].focus(); - } else { - elements[0].focus(); - } - } - - _handleKeydown(event) { - if (event.key !== TAB_KEY) { - return; - } - - this._lastTabNavDirection = event.shiftKey ? TAB_NAV_BACKWARD : TAB_NAV_FORWARD; - } - - _getConfig(config) { - config = { ...Default$1, - ...(typeof config === 'object' ? config : {}) - }; - typeCheckConfig(NAME$1, config, DefaultType$1); - return config; - } - - } - - /** - * -------------------------------------------------------------------------- - * Bootstrap (v5.1.3): util/component-functions.js - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) - * -------------------------------------------------------------------------- - */ - - const enableDismissTrigger = (component, method = 'hide') => { - const clickEvent = `click.dismiss${component.EVENT_KEY}`; - const name = component.NAME; - EventHandler__default.default.on(document, clickEvent, `[data-bs-dismiss="${name}"]`, function (event) { - if (['A', 'AREA'].includes(this.tagName)) { - event.preventDefault(); - } - - if (isDisabled(this)) { - return; - } - - const target = getElementFromSelector(this) || this.closest(`.${name}`); - const instance = component.getOrCreateInstance(target); // Method argument is left, for Alert and only, as it doesn't implement the 'hide' method - - instance[method](); - }); - }; - - /** - * -------------------------------------------------------------------------- - * Bootstrap (v5.1.3): offcanvas.js - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) - * -------------------------------------------------------------------------- - */ - /** - * ------------------------------------------------------------------------ - * Constants - * ------------------------------------------------------------------------ - */ - - const NAME = 'offcanvas'; - const DATA_KEY = 'bs.offcanvas'; - const EVENT_KEY = `.${DATA_KEY}`; - const DATA_API_KEY = '.data-api'; - const EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`; - const ESCAPE_KEY = 'Escape'; - const Default = { - backdrop: true, - keyboard: true, - scroll: false - }; - const DefaultType = { - backdrop: 'boolean', - keyboard: 'boolean', - scroll: 'boolean' - }; - const CLASS_NAME_SHOW = 'show'; - const CLASS_NAME_BACKDROP = 'offcanvas-backdrop'; - const OPEN_SELECTOR = '.offcanvas.show'; - const EVENT_SHOW = `show${EVENT_KEY}`; - const EVENT_SHOWN = `shown${EVENT_KEY}`; - const EVENT_HIDE = `hide${EVENT_KEY}`; - const EVENT_HIDDEN = `hidden${EVENT_KEY}`; - const EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`; - const EVENT_KEYDOWN_DISMISS = `keydown.dismiss${EVENT_KEY}`; - const SELECTOR_DATA_TOGGLE = '[data-bs-toggle="offcanvas"]'; - /** - * ------------------------------------------------------------------------ - * Class Definition - * ------------------------------------------------------------------------ - */ - - class Offcanvas extends BaseComponent__default.default { - constructor(element, config) { - super(element); - this._config = this._getConfig(config); - this._isShown = false; - this._backdrop = this._initializeBackDrop(); - this._focustrap = this._initializeFocusTrap(); - - this._addEventListeners(); - } // Getters - - - static get NAME() { - return NAME; - } - - static get Default() { - return Default; - } // Public - - - toggle(relatedTarget) { - return this._isShown ? this.hide() : this.show(relatedTarget); - } - - show(relatedTarget) { - if (this._isShown) { - return; - } - - const showEvent = EventHandler__default.default.trigger(this._element, EVENT_SHOW, { - relatedTarget - }); - - if (showEvent.defaultPrevented) { - return; - } - - this._isShown = true; - this._element.style.visibility = 'visible'; - - this._backdrop.show(); - - if (!this._config.scroll) { - new ScrollBarHelper().hide(); - } - - this._element.removeAttribute('aria-hidden'); - - this._element.setAttribute('aria-modal', true); - - this._element.setAttribute('role', 'dialog'); - - this._element.classList.add(CLASS_NAME_SHOW); - - const completeCallBack = () => { - if (!this._config.scroll) { - this._focustrap.activate(); - } - - EventHandler__default.default.trigger(this._element, EVENT_SHOWN, { - relatedTarget - }); - }; - - this._queueCallback(completeCallBack, this._element, true); - } - - hide() { - if (!this._isShown) { - return; - } - - const hideEvent = EventHandler__default.default.trigger(this._element, EVENT_HIDE); - - if (hideEvent.defaultPrevented) { - return; - } - - this._focustrap.deactivate(); - - this._element.blur(); - - this._isShown = false; - - this._element.classList.remove(CLASS_NAME_SHOW); - - this._backdrop.hide(); - - const completeCallback = () => { - this._element.setAttribute('aria-hidden', true); - - this._element.removeAttribute('aria-modal'); - - this._element.removeAttribute('role'); - - this._element.style.visibility = 'hidden'; - - if (!this._config.scroll) { - new ScrollBarHelper().reset(); - } - - EventHandler__default.default.trigger(this._element, EVENT_HIDDEN); - }; - - this._queueCallback(completeCallback, this._element, true); - } - - dispose() { - this._backdrop.dispose(); - - this._focustrap.deactivate(); - - super.dispose(); - } // Private - - - _getConfig(config) { - config = { ...Default, - ...Manipulator__default.default.getDataAttributes(this._element), - ...(typeof config === 'object' ? config : {}) - }; - typeCheckConfig(NAME, config, DefaultType); - return config; - } - - _initializeBackDrop() { - return new Backdrop({ - className: CLASS_NAME_BACKDROP, - isVisible: this._config.backdrop, - isAnimated: true, - rootElement: this._element.parentNode, - clickCallback: () => this.hide() - }); - } - - _initializeFocusTrap() { - return new FocusTrap({ - trapElement: this._element - }); - } - - _addEventListeners() { - EventHandler__default.default.on(this._element, EVENT_KEYDOWN_DISMISS, event => { - if (this._config.keyboard && event.key === ESCAPE_KEY) { - this.hide(); - } - }); - } // Static - - - static jQueryInterface(config) { - return this.each(function () { - const data = Offcanvas.getOrCreateInstance(this, config); - - if (typeof config !== 'string') { - return; - } - - if (data[config] === undefined || config.startsWith('_') || config === 'constructor') { - throw new TypeError(`No method named "${config}"`); - } - - data[config](this); - }); - } - - } - /** - * ------------------------------------------------------------------------ - * Data Api implementation - * ------------------------------------------------------------------------ - */ - - - EventHandler__default.default.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) { - const target = getElementFromSelector(this); - - if (['A', 'AREA'].includes(this.tagName)) { - event.preventDefault(); - } - - if (isDisabled(this)) { - return; - } - - EventHandler__default.default.one(target, EVENT_HIDDEN, () => { - // focus on trigger when it is closed - if (isVisible(this)) { - this.focus(); - } - }); // avoid conflict when clicking a toggler of an offcanvas, while another is open - - const allReadyOpen = SelectorEngine__default.default.findOne(OPEN_SELECTOR); - - if (allReadyOpen && allReadyOpen !== target) { - Offcanvas.getInstance(allReadyOpen).hide(); - } - - const data = Offcanvas.getOrCreateInstance(target); - data.toggle(this); - }); - EventHandler__default.default.on(window, EVENT_LOAD_DATA_API, () => SelectorEngine__default.default.find(OPEN_SELECTOR).forEach(el => Offcanvas.getOrCreateInstance(el).show())); - enableDismissTrigger(Offcanvas); - /** - * ------------------------------------------------------------------------ - * jQuery - * ------------------------------------------------------------------------ - */ - - defineJQueryPlugin(Offcanvas); - - return Offcanvas; - -})); -//# sourceMappingURL=offcanvas.js.map diff --git a/src/js/bs/dist/offcanvas.js.map b/src/js/bs/dist/offcanvas.js.map deleted file mode 100644 index 4b0868d61..000000000 --- a/src/js/bs/dist/offcanvas.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"offcanvas.js","sources":["../src/util/index.js","../src/util/scrollbar.js","../src/util/backdrop.js","../src/util/focustrap.js","../src/util/component-functions.js","../src/offcanvas.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.1.3): util/index.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst MAX_UID = 1000000\nconst MILLISECONDS_MULTIPLIER = 1000\nconst TRANSITION_END = 'transitionend'\n\n// Shoutout AngusCroll (https://goo.gl/pxwQGp)\nconst toType = obj => {\n if (obj === null || obj === undefined) {\n return `${obj}`\n }\n\n return {}.toString.call(obj).match(/\\s([a-z]+)/i)[1].toLowerCase()\n}\n\n/**\n * --------------------------------------------------------------------------\n * Public Util Api\n * --------------------------------------------------------------------------\n */\n\nconst getUID = prefix => {\n do {\n prefix += Math.floor(Math.random() * MAX_UID)\n } while (document.getElementById(prefix))\n\n return prefix\n}\n\nconst getSelector = element => {\n let selector = element.getAttribute('data-bs-target')\n\n if (!selector || selector === '#') {\n let hrefAttr = element.getAttribute('href')\n\n // The only valid content that could double as a selector are IDs or classes,\n // so everything starting with `#` or `.`. If a \"real\" URL is used as the selector,\n // `document.querySelector` will rightfully complain it is invalid.\n // See https://github.com/twbs/bootstrap/issues/32273\n if (!hrefAttr || (!hrefAttr.includes('#') && !hrefAttr.startsWith('.'))) {\n return null\n }\n\n // Just in case some CMS puts out a full URL with the anchor appended\n if (hrefAttr.includes('#') && !hrefAttr.startsWith('#')) {\n hrefAttr = `#${hrefAttr.split('#')[1]}`\n }\n\n selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : null\n }\n\n return selector\n}\n\nconst getSelectorFromElement = element => {\n const selector = getSelector(element)\n\n if (selector) {\n return document.querySelector(selector) ? selector : null\n }\n\n return null\n}\n\nconst getElementFromSelector = element => {\n const selector = getSelector(element)\n\n return selector ? document.querySelector(selector) : null\n}\n\nconst getTransitionDurationFromElement = element => {\n if (!element) {\n return 0\n }\n\n // Get transition-duration of the element\n let { transitionDuration, transitionDelay } = window.getComputedStyle(element)\n\n const floatTransitionDuration = Number.parseFloat(transitionDuration)\n const floatTransitionDelay = Number.parseFloat(transitionDelay)\n\n // Return 0 if element or transition duration is not found\n if (!floatTransitionDuration && !floatTransitionDelay) {\n return 0\n }\n\n // If multiple durations are defined, take the first\n transitionDuration = transitionDuration.split(',')[0]\n transitionDelay = transitionDelay.split(',')[0]\n\n return (Number.parseFloat(transitionDuration) + Number.parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER\n}\n\nconst triggerTransitionEnd = element => {\n element.dispatchEvent(new Event(TRANSITION_END))\n}\n\nconst isElement = obj => {\n if (!obj || typeof obj !== 'object') {\n return false\n }\n\n if (typeof obj.jquery !== 'undefined') {\n obj = obj[0]\n }\n\n return typeof obj.nodeType !== 'undefined'\n}\n\nconst getElement = obj => {\n if (isElement(obj)) { // it's a jQuery object or a node element\n return obj.jquery ? obj[0] : obj\n }\n\n if (typeof obj === 'string' && obj.length > 0) {\n return document.querySelector(obj)\n }\n\n return null\n}\n\nconst typeCheckConfig = (componentName, config, configTypes) => {\n Object.keys(configTypes).forEach(property => {\n const expectedTypes = configTypes[property]\n const value = config[property]\n const valueType = value && isElement(value) ? 'element' : toType(value)\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new TypeError(\n `${componentName.toUpperCase()}: Option \"${property}\" provided type \"${valueType}\" but expected type \"${expectedTypes}\".`\n )\n }\n })\n}\n\nconst isVisible = element => {\n if (!isElement(element) || element.getClientRects().length === 0) {\n return false\n }\n\n return getComputedStyle(element).getPropertyValue('visibility') === 'visible'\n}\n\nconst isDisabled = element => {\n if (!element || element.nodeType !== Node.ELEMENT_NODE) {\n return true\n }\n\n if (element.classList.contains('disabled')) {\n return true\n }\n\n if (typeof element.disabled !== 'undefined') {\n return element.disabled\n }\n\n return element.hasAttribute('disabled') && element.getAttribute('disabled') !== 'false'\n}\n\nconst findShadowRoot = element => {\n if (!document.documentElement.attachShadow) {\n return null\n }\n\n // Can find the shadow root otherwise it'll return the document\n if (typeof element.getRootNode === 'function') {\n const root = element.getRootNode()\n return root instanceof ShadowRoot ? root : null\n }\n\n if (element instanceof ShadowRoot) {\n return element\n }\n\n // when we don't find a shadow root\n if (!element.parentNode) {\n return null\n }\n\n return findShadowRoot(element.parentNode)\n}\n\nconst noop = () => {}\n\n/**\n * Trick to restart an element's animation\n *\n * @param {HTMLElement} element\n * @return void\n *\n * @see https://www.charistheo.io/blog/2021/02/restart-a-css-animation-with-javascript/#restarting-a-css-animation\n */\nconst reflow = element => {\n // eslint-disable-next-line no-unused-expressions\n element.offsetHeight\n}\n\nconst getjQuery = () => {\n const { jQuery } = window\n\n if (jQuery && !document.body.hasAttribute('data-bs-no-jquery')) {\n return jQuery\n }\n\n return null\n}\n\nconst DOMContentLoadedCallbacks = []\n\nconst onDOMContentLoaded = callback => {\n if (document.readyState === 'loading') {\n // add listener on the first call when the document is in loading state\n if (!DOMContentLoadedCallbacks.length) {\n document.addEventListener('DOMContentLoaded', () => {\n DOMContentLoadedCallbacks.forEach(callback => callback())\n })\n }\n\n DOMContentLoadedCallbacks.push(callback)\n } else {\n callback()\n }\n}\n\nconst isRTL = () => document.documentElement.dir === 'rtl'\n\nconst defineJQueryPlugin = plugin => {\n onDOMContentLoaded(() => {\n const $ = getjQuery()\n /* istanbul ignore if */\n if ($) {\n const name = plugin.NAME\n const JQUERY_NO_CONFLICT = $.fn[name]\n $.fn[name] = plugin.jQueryInterface\n $.fn[name].Constructor = plugin\n $.fn[name].noConflict = () => {\n $.fn[name] = JQUERY_NO_CONFLICT\n return plugin.jQueryInterface\n }\n }\n })\n}\n\nconst execute = callback => {\n if (typeof callback === 'function') {\n callback()\n }\n}\n\nconst executeAfterTransition = (callback, transitionElement, waitForTransition = true) => {\n if (!waitForTransition) {\n execute(callback)\n return\n }\n\n const durationPadding = 5\n const emulatedDuration = getTransitionDurationFromElement(transitionElement) + durationPadding\n\n let called = false\n\n const handler = ({ target }) => {\n if (target !== transitionElement) {\n return\n }\n\n called = true\n transitionElement.removeEventListener(TRANSITION_END, handler)\n execute(callback)\n }\n\n transitionElement.addEventListener(TRANSITION_END, handler)\n setTimeout(() => {\n if (!called) {\n triggerTransitionEnd(transitionElement)\n }\n }, emulatedDuration)\n}\n\n/**\n * Return the previous/next element of a list.\n *\n * @param {array} list The list of elements\n * @param activeElement The active element\n * @param shouldGetNext Choose to get next or previous element\n * @param isCycleAllowed\n * @return {Element|elem} The proper element\n */\nconst getNextActiveElement = (list, activeElement, shouldGetNext, isCycleAllowed) => {\n let index = list.indexOf(activeElement)\n\n // if the element does not exist in the list return an element depending on the direction and if cycle is allowed\n if (index === -1) {\n return list[!shouldGetNext && isCycleAllowed ? list.length - 1 : 0]\n }\n\n const listLength = list.length\n\n index += shouldGetNext ? 1 : -1\n\n if (isCycleAllowed) {\n index = (index + listLength) % listLength\n }\n\n return list[Math.max(0, Math.min(index, listLength - 1))]\n}\n\nexport {\n getElement,\n getUID,\n getSelectorFromElement,\n getElementFromSelector,\n getTransitionDurationFromElement,\n triggerTransitionEnd,\n isElement,\n typeCheckConfig,\n isVisible,\n isDisabled,\n findShadowRoot,\n noop,\n getNextActiveElement,\n reflow,\n getjQuery,\n onDOMContentLoaded,\n isRTL,\n defineJQueryPlugin,\n execute,\n executeAfterTransition\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.1.3): util/scrollBar.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport SelectorEngine from '../dom/selector-engine'\nimport Manipulator from '../dom/manipulator'\nimport { isElement } from './index'\n\nconst SELECTOR_FIXED_CONTENT = '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top'\nconst SELECTOR_STICKY_CONTENT = '.sticky-top'\n\nclass ScrollBarHelper {\n constructor() {\n this._element = document.body\n }\n\n getWidth() {\n // https://developer.mozilla.org/en-US/docs/Web/API/Window/innerWidth#usage_notes\n const documentWidth = document.documentElement.clientWidth\n return Math.abs(window.innerWidth - documentWidth)\n }\n\n hide() {\n const width = this.getWidth()\n this._disableOverFlow()\n // give padding to element to balance the hidden scrollbar width\n this._setElementAttributes(this._element, 'paddingRight', calculatedValue => calculatedValue + width)\n // trick: We adjust positive paddingRight and negative marginRight to sticky-top elements to keep showing fullwidth\n this._setElementAttributes(SELECTOR_FIXED_CONTENT, 'paddingRight', calculatedValue => calculatedValue + width)\n this._setElementAttributes(SELECTOR_STICKY_CONTENT, 'marginRight', calculatedValue => calculatedValue - width)\n }\n\n _disableOverFlow() {\n this._saveInitialAttribute(this._element, 'overflow')\n this._element.style.overflow = 'hidden'\n }\n\n _setElementAttributes(selector, styleProp, callback) {\n const scrollbarWidth = this.getWidth()\n const manipulationCallBack = element => {\n if (element !== this._element && window.innerWidth > element.clientWidth + scrollbarWidth) {\n return\n }\n\n this._saveInitialAttribute(element, styleProp)\n const calculatedValue = window.getComputedStyle(element)[styleProp]\n element.style[styleProp] = `${callback(Number.parseFloat(calculatedValue))}px`\n }\n\n this._applyManipulationCallback(selector, manipulationCallBack)\n }\n\n reset() {\n this._resetElementAttributes(this._element, 'overflow')\n this._resetElementAttributes(this._element, 'paddingRight')\n this._resetElementAttributes(SELECTOR_FIXED_CONTENT, 'paddingRight')\n this._resetElementAttributes(SELECTOR_STICKY_CONTENT, 'marginRight')\n }\n\n _saveInitialAttribute(element, styleProp) {\n const actualValue = element.style[styleProp]\n if (actualValue) {\n Manipulator.setDataAttribute(element, styleProp, actualValue)\n }\n }\n\n _resetElementAttributes(selector, styleProp) {\n const manipulationCallBack = element => {\n const value = Manipulator.getDataAttribute(element, styleProp)\n if (typeof value === 'undefined') {\n element.style.removeProperty(styleProp)\n } else {\n Manipulator.removeDataAttribute(element, styleProp)\n element.style[styleProp] = value\n }\n }\n\n this._applyManipulationCallback(selector, manipulationCallBack)\n }\n\n _applyManipulationCallback(selector, callBack) {\n if (isElement(selector)) {\n callBack(selector)\n } else {\n SelectorEngine.find(selector, this._element).forEach(callBack)\n }\n }\n\n isOverflowing() {\n return this.getWidth() > 0\n }\n}\n\nexport default ScrollBarHelper\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.1.3): util/backdrop.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport EventHandler from '../dom/event-handler'\nimport { execute, executeAfterTransition, getElement, reflow, typeCheckConfig } from './index'\n\nconst Default = {\n className: 'modal-backdrop',\n isVisible: true, // if false, we use the backdrop helper without adding any element to the dom\n isAnimated: false,\n rootElement: 'body', // give the choice to place backdrop under different elements\n clickCallback: null\n}\n\nconst DefaultType = {\n className: 'string',\n isVisible: 'boolean',\n isAnimated: 'boolean',\n rootElement: '(element|string)',\n clickCallback: '(function|null)'\n}\nconst NAME = 'backdrop'\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\n\nconst EVENT_MOUSEDOWN = `mousedown.bs.${NAME}`\n\nclass Backdrop {\n constructor(config) {\n this._config = this._getConfig(config)\n this._isAppended = false\n this._element = null\n }\n\n show(callback) {\n if (!this._config.isVisible) {\n execute(callback)\n return\n }\n\n this._append()\n\n if (this._config.isAnimated) {\n reflow(this._getElement())\n }\n\n this._getElement().classList.add(CLASS_NAME_SHOW)\n\n this._emulateAnimation(() => {\n execute(callback)\n })\n }\n\n hide(callback) {\n if (!this._config.isVisible) {\n execute(callback)\n return\n }\n\n this._getElement().classList.remove(CLASS_NAME_SHOW)\n\n this._emulateAnimation(() => {\n this.dispose()\n execute(callback)\n })\n }\n\n // Private\n\n _getElement() {\n if (!this._element) {\n const backdrop = document.createElement('div')\n backdrop.className = this._config.className\n if (this._config.isAnimated) {\n backdrop.classList.add(CLASS_NAME_FADE)\n }\n\n this._element = backdrop\n }\n\n return this._element\n }\n\n _getConfig(config) {\n config = {\n ...Default,\n ...(typeof config === 'object' ? config : {})\n }\n\n // use getElement() with the default \"body\" to get a fresh Element on each instantiation\n config.rootElement = getElement(config.rootElement)\n typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _append() {\n if (this._isAppended) {\n return\n }\n\n this._config.rootElement.append(this._getElement())\n\n EventHandler.on(this._getElement(), EVENT_MOUSEDOWN, () => {\n execute(this._config.clickCallback)\n })\n\n this._isAppended = true\n }\n\n dispose() {\n if (!this._isAppended) {\n return\n }\n\n EventHandler.off(this._element, EVENT_MOUSEDOWN)\n\n this._element.remove()\n this._isAppended = false\n }\n\n _emulateAnimation(callback) {\n executeAfterTransition(callback, this._getElement(), this._config.isAnimated)\n }\n}\n\nexport default Backdrop\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.1.3): util/focustrap.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport EventHandler from '../dom/event-handler'\nimport SelectorEngine from '../dom/selector-engine'\nimport { typeCheckConfig } from './index'\n\nconst Default = {\n trapElement: null, // The element to trap focus inside of\n autofocus: true\n}\n\nconst DefaultType = {\n trapElement: 'element',\n autofocus: 'boolean'\n}\n\nconst NAME = 'focustrap'\nconst DATA_KEY = 'bs.focustrap'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst EVENT_FOCUSIN = `focusin${EVENT_KEY}`\nconst EVENT_KEYDOWN_TAB = `keydown.tab${EVENT_KEY}`\n\nconst TAB_KEY = 'Tab'\nconst TAB_NAV_FORWARD = 'forward'\nconst TAB_NAV_BACKWARD = 'backward'\n\nclass FocusTrap {\n constructor(config) {\n this._config = this._getConfig(config)\n this._isActive = false\n this._lastTabNavDirection = null\n }\n\n activate() {\n const { trapElement, autofocus } = this._config\n\n if (this._isActive) {\n return\n }\n\n if (autofocus) {\n trapElement.focus()\n }\n\n EventHandler.off(document, EVENT_KEY) // guard against infinite focus loop\n EventHandler.on(document, EVENT_FOCUSIN, event => this._handleFocusin(event))\n EventHandler.on(document, EVENT_KEYDOWN_TAB, event => this._handleKeydown(event))\n\n this._isActive = true\n }\n\n deactivate() {\n if (!this._isActive) {\n return\n }\n\n this._isActive = false\n EventHandler.off(document, EVENT_KEY)\n }\n\n // Private\n\n _handleFocusin(event) {\n const { target } = event\n const { trapElement } = this._config\n\n if (target === document || target === trapElement || trapElement.contains(target)) {\n return\n }\n\n const elements = SelectorEngine.focusableChildren(trapElement)\n\n if (elements.length === 0) {\n trapElement.focus()\n } else if (this._lastTabNavDirection === TAB_NAV_BACKWARD) {\n elements[elements.length - 1].focus()\n } else {\n elements[0].focus()\n }\n }\n\n _handleKeydown(event) {\n if (event.key !== TAB_KEY) {\n return\n }\n\n this._lastTabNavDirection = event.shiftKey ? TAB_NAV_BACKWARD : TAB_NAV_FORWARD\n }\n\n _getConfig(config) {\n config = {\n ...Default,\n ...(typeof config === 'object' ? config : {})\n }\n typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n}\n\nexport default FocusTrap\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.1.3): util/component-functions.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport EventHandler from '../dom/event-handler'\nimport { getElementFromSelector, isDisabled } from './index'\n\nconst enableDismissTrigger = (component, method = 'hide') => {\n const clickEvent = `click.dismiss${component.EVENT_KEY}`\n const name = component.NAME\n\n EventHandler.on(document, clickEvent, `[data-bs-dismiss=\"${name}\"]`, function (event) {\n if (['A', 'AREA'].includes(this.tagName)) {\n event.preventDefault()\n }\n\n if (isDisabled(this)) {\n return\n }\n\n const target = getElementFromSelector(this) || this.closest(`.${name}`)\n const instance = component.getOrCreateInstance(target)\n\n // Method argument is left, for Alert and only, as it doesn't implement the 'hide' method\n instance[method]()\n })\n}\n\nexport {\n enableDismissTrigger\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.1.3): offcanvas.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n defineJQueryPlugin,\n getElementFromSelector,\n isDisabled,\n isVisible,\n typeCheckConfig\n} from './util/index'\nimport ScrollBarHelper from './util/scrollbar'\nimport EventHandler from './dom/event-handler'\nimport BaseComponent from './base-component'\nimport SelectorEngine from './dom/selector-engine'\nimport Manipulator from './dom/manipulator'\nimport Backdrop from './util/backdrop'\nimport FocusTrap from './util/focustrap'\nimport { enableDismissTrigger } from './util/component-functions'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'offcanvas'\nconst DATA_KEY = 'bs.offcanvas'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\nconst ESCAPE_KEY = 'Escape'\n\nconst Default = {\n backdrop: true,\n keyboard: true,\n scroll: false\n}\n\nconst DefaultType = {\n backdrop: 'boolean',\n keyboard: 'boolean',\n scroll: 'boolean'\n}\n\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_BACKDROP = 'offcanvas-backdrop'\nconst OPEN_SELECTOR = '.offcanvas.show'\n\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_KEYDOWN_DISMISS = `keydown.dismiss${EVENT_KEY}`\n\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"offcanvas\"]'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Offcanvas extends BaseComponent {\n constructor(element, config) {\n super(element)\n\n this._config = this._getConfig(config)\n this._isShown = false\n this._backdrop = this._initializeBackDrop()\n this._focustrap = this._initializeFocusTrap()\n this._addEventListeners()\n }\n\n // Getters\n\n static get NAME() {\n return NAME\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n toggle(relatedTarget) {\n return this._isShown ? this.hide() : this.show(relatedTarget)\n }\n\n show(relatedTarget) {\n if (this._isShown) {\n return\n }\n\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, { relatedTarget })\n\n if (showEvent.defaultPrevented) {\n return\n }\n\n this._isShown = true\n this._element.style.visibility = 'visible'\n\n this._backdrop.show()\n\n if (!this._config.scroll) {\n new ScrollBarHelper().hide()\n }\n\n this._element.removeAttribute('aria-hidden')\n this._element.setAttribute('aria-modal', true)\n this._element.setAttribute('role', 'dialog')\n this._element.classList.add(CLASS_NAME_SHOW)\n\n const completeCallBack = () => {\n if (!this._config.scroll) {\n this._focustrap.activate()\n }\n\n EventHandler.trigger(this._element, EVENT_SHOWN, { relatedTarget })\n }\n\n this._queueCallback(completeCallBack, this._element, true)\n }\n\n hide() {\n if (!this._isShown) {\n return\n }\n\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n\n if (hideEvent.defaultPrevented) {\n return\n }\n\n this._focustrap.deactivate()\n this._element.blur()\n this._isShown = false\n this._element.classList.remove(CLASS_NAME_SHOW)\n this._backdrop.hide()\n\n const completeCallback = () => {\n this._element.setAttribute('aria-hidden', true)\n this._element.removeAttribute('aria-modal')\n this._element.removeAttribute('role')\n this._element.style.visibility = 'hidden'\n\n if (!this._config.scroll) {\n new ScrollBarHelper().reset()\n }\n\n EventHandler.trigger(this._element, EVENT_HIDDEN)\n }\n\n this._queueCallback(completeCallback, this._element, true)\n }\n\n dispose() {\n this._backdrop.dispose()\n this._focustrap.deactivate()\n super.dispose()\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...Manipulator.getDataAttributes(this._element),\n ...(typeof config === 'object' ? config : {})\n }\n typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _initializeBackDrop() {\n return new Backdrop({\n className: CLASS_NAME_BACKDROP,\n isVisible: this._config.backdrop,\n isAnimated: true,\n rootElement: this._element.parentNode,\n clickCallback: () => this.hide()\n })\n }\n\n _initializeFocusTrap() {\n return new FocusTrap({\n trapElement: this._element\n })\n }\n\n _addEventListeners() {\n EventHandler.on(this._element, EVENT_KEYDOWN_DISMISS, event => {\n if (this._config.keyboard && event.key === ESCAPE_KEY) {\n this.hide()\n }\n })\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Offcanvas.getOrCreateInstance(this, config)\n\n if (typeof config !== 'string') {\n return\n }\n\n if (data[config] === undefined || config.startsWith('_') || config === 'constructor') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config](this)\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n const target = getElementFromSelector(this)\n\n if (['A', 'AREA'].includes(this.tagName)) {\n event.preventDefault()\n }\n\n if (isDisabled(this)) {\n return\n }\n\n EventHandler.one(target, EVENT_HIDDEN, () => {\n // focus on trigger when it is closed\n if (isVisible(this)) {\n this.focus()\n }\n })\n\n // avoid conflict when clicking a toggler of an offcanvas, while another is open\n const allReadyOpen = SelectorEngine.findOne(OPEN_SELECTOR)\n if (allReadyOpen && allReadyOpen !== target) {\n Offcanvas.getInstance(allReadyOpen).hide()\n }\n\n const data = Offcanvas.getOrCreateInstance(target)\n data.toggle(this)\n})\n\nEventHandler.on(window, EVENT_LOAD_DATA_API, () =>\n SelectorEngine.find(OPEN_SELECTOR).forEach(el => Offcanvas.getOrCreateInstance(el).show())\n)\n\nenableDismissTrigger(Offcanvas)\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\ndefineJQueryPlugin(Offcanvas)\n\nexport default Offcanvas\n"],"names":["MILLISECONDS_MULTIPLIER","TRANSITION_END","toType","obj","undefined","toString","call","match","toLowerCase","getSelector","element","selector","getAttribute","hrefAttr","includes","startsWith","split","trim","getElementFromSelector","document","querySelector","getTransitionDurationFromElement","transitionDuration","transitionDelay","window","getComputedStyle","floatTransitionDuration","Number","parseFloat","floatTransitionDelay","triggerTransitionEnd","dispatchEvent","Event","isElement","jquery","nodeType","getElement","length","typeCheckConfig","componentName","config","configTypes","Object","keys","forEach","property","expectedTypes","value","valueType","RegExp","test","TypeError","toUpperCase","isVisible","getClientRects","getPropertyValue","isDisabled","Node","ELEMENT_NODE","classList","contains","disabled","hasAttribute","reflow","offsetHeight","getjQuery","jQuery","body","DOMContentLoadedCallbacks","onDOMContentLoaded","callback","readyState","addEventListener","push","defineJQueryPlugin","plugin","$","name","NAME","JQUERY_NO_CONFLICT","fn","jQueryInterface","Constructor","noConflict","execute","executeAfterTransition","transitionElement","waitForTransition","durationPadding","emulatedDuration","called","handler","target","removeEventListener","setTimeout","SELECTOR_FIXED_CONTENT","SELECTOR_STICKY_CONTENT","ScrollBarHelper","constructor","_element","getWidth","documentWidth","documentElement","clientWidth","Math","abs","innerWidth","hide","width","_disableOverFlow","_setElementAttributes","calculatedValue","_saveInitialAttribute","style","overflow","styleProp","scrollbarWidth","manipulationCallBack","_applyManipulationCallback","reset","_resetElementAttributes","actualValue","Manipulator","setDataAttribute","getDataAttribute","removeProperty","removeDataAttribute","callBack","SelectorEngine","find","isOverflowing","Default","className","isAnimated","rootElement","clickCallback","DefaultType","CLASS_NAME_FADE","CLASS_NAME_SHOW","EVENT_MOUSEDOWN","Backdrop","_config","_getConfig","_isAppended","show","_append","_getElement","add","_emulateAnimation","remove","dispose","backdrop","createElement","append","EventHandler","on","off","trapElement","autofocus","DATA_KEY","EVENT_KEY","EVENT_FOCUSIN","EVENT_KEYDOWN_TAB","TAB_KEY","TAB_NAV_FORWARD","TAB_NAV_BACKWARD","FocusTrap","_isActive","_lastTabNavDirection","activate","focus","event","_handleFocusin","_handleKeydown","deactivate","elements","focusableChildren","key","shiftKey","enableDismissTrigger","component","method","clickEvent","tagName","preventDefault","closest","instance","getOrCreateInstance","DATA_API_KEY","EVENT_LOAD_DATA_API","ESCAPE_KEY","keyboard","scroll","CLASS_NAME_BACKDROP","OPEN_SELECTOR","EVENT_SHOW","EVENT_SHOWN","EVENT_HIDE","EVENT_HIDDEN","EVENT_CLICK_DATA_API","EVENT_KEYDOWN_DISMISS","SELECTOR_DATA_TOGGLE","Offcanvas","BaseComponent","_isShown","_backdrop","_initializeBackDrop","_focustrap","_initializeFocusTrap","_addEventListeners","toggle","relatedTarget","showEvent","trigger","defaultPrevented","visibility","removeAttribute","setAttribute","completeCallBack","_queueCallback","hideEvent","blur","completeCallback","getDataAttributes","parentNode","each","data","one","allReadyOpen","findOne","getInstance","el"],"mappings":"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"} \ No newline at end of file diff --git a/src/js/bs/dist/popover.js b/src/js/bs/dist/popover.js deleted file mode 100644 index f46a97144..000000000 --- a/src/js/bs/dist/popover.js +++ /dev/null @@ -1,184 +0,0 @@ -/*! - * Bootstrap popover.js v5.1.3 (https://getbootstrap.com/) - * Copyright 2011-2021 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) - */ -(function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('./tooltip.js')) : - typeof define === 'function' && define.amd ? define(['./tooltip'], factory) : - (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Popover = factory(global.Tooltip)); -})(this, (function (Tooltip) { 'use strict'; - - const _interopDefaultLegacy = e => e && typeof e === 'object' && 'default' in e ? e : { default: e }; - - const Tooltip__default = /*#__PURE__*/_interopDefaultLegacy(Tooltip); - - /** - * -------------------------------------------------------------------------- - * Bootstrap (v5.1.3): util/index.js - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) - * -------------------------------------------------------------------------- - */ - - const getjQuery = () => { - const { - jQuery - } = window; - - if (jQuery && !document.body.hasAttribute('data-bs-no-jquery')) { - return jQuery; - } - - return null; - }; - - const DOMContentLoadedCallbacks = []; - - const onDOMContentLoaded = callback => { - if (document.readyState === 'loading') { - // add listener on the first call when the document is in loading state - if (!DOMContentLoadedCallbacks.length) { - document.addEventListener('DOMContentLoaded', () => { - DOMContentLoadedCallbacks.forEach(callback => callback()); - }); - } - - DOMContentLoadedCallbacks.push(callback); - } else { - callback(); - } - }; - - const defineJQueryPlugin = plugin => { - onDOMContentLoaded(() => { - const $ = getjQuery(); - /* istanbul ignore if */ - - if ($) { - const name = plugin.NAME; - const JQUERY_NO_CONFLICT = $.fn[name]; - $.fn[name] = plugin.jQueryInterface; - $.fn[name].Constructor = plugin; - - $.fn[name].noConflict = () => { - $.fn[name] = JQUERY_NO_CONFLICT; - return plugin.jQueryInterface; - }; - } - }); - }; - - /** - * -------------------------------------------------------------------------- - * Bootstrap (v5.1.3): popover.js - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) - * -------------------------------------------------------------------------- - */ - /** - * ------------------------------------------------------------------------ - * Constants - * ------------------------------------------------------------------------ - */ - - const NAME = 'popover'; - const DATA_KEY = 'bs.popover'; - const EVENT_KEY = `.${DATA_KEY}`; - const CLASS_PREFIX = 'bs-popover'; - const Default = { ...Tooltip__default.default.Default, - placement: 'right', - offset: [0, 8], - trigger: 'click', - content: '', - template: '' - }; - const DefaultType = { ...Tooltip__default.default.DefaultType, - content: '(string|element|function)' - }; - const Event = { - HIDE: `hide${EVENT_KEY}`, - HIDDEN: `hidden${EVENT_KEY}`, - SHOW: `show${EVENT_KEY}`, - SHOWN: `shown${EVENT_KEY}`, - INSERTED: `inserted${EVENT_KEY}`, - CLICK: `click${EVENT_KEY}`, - FOCUSIN: `focusin${EVENT_KEY}`, - FOCUSOUT: `focusout${EVENT_KEY}`, - MOUSEENTER: `mouseenter${EVENT_KEY}`, - MOUSELEAVE: `mouseleave${EVENT_KEY}` - }; - const SELECTOR_TITLE = '.popover-header'; - const SELECTOR_CONTENT = '.popover-body'; - /** - * ------------------------------------------------------------------------ - * Class Definition - * ------------------------------------------------------------------------ - */ - - class Popover extends Tooltip__default.default { - // Getters - static get Default() { - return Default; - } - - static get NAME() { - return NAME; - } - - static get Event() { - return Event; - } - - static get DefaultType() { - return DefaultType; - } // Overrides - - - isWithContent() { - return this.getTitle() || this._getContent(); - } - - setContent(tip) { - this._sanitizeAndSetContent(tip, this.getTitle(), SELECTOR_TITLE); - - this._sanitizeAndSetContent(tip, this._getContent(), SELECTOR_CONTENT); - } // Private - - - _getContent() { - return this._resolvePossibleFunction(this._config.content); - } - - _getBasicClassPrefix() { - return CLASS_PREFIX; - } // Static - - - static jQueryInterface(config) { - return this.each(function () { - const data = Popover.getOrCreateInstance(this, config); - - if (typeof config === 'string') { - if (typeof data[config] === 'undefined') { - throw new TypeError(`No method named "${config}"`); - } - - data[config](); - } - }); - } - - } - /** - * ------------------------------------------------------------------------ - * jQuery - * ------------------------------------------------------------------------ - * add .Popover to jQuery only if jQuery is present - */ - - - defineJQueryPlugin(Popover); - - return Popover; - -})); -//# sourceMappingURL=popover.js.map diff --git a/src/js/bs/dist/popover.js.map b/src/js/bs/dist/popover.js.map deleted file mode 100644 index 92a573a92..000000000 --- a/src/js/bs/dist/popover.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"popover.js","sources":["../src/util/index.js","../src/popover.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.1.3): util/index.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst MAX_UID = 1000000\nconst MILLISECONDS_MULTIPLIER = 1000\nconst TRANSITION_END = 'transitionend'\n\n// Shoutout AngusCroll (https://goo.gl/pxwQGp)\nconst toType = obj => {\n if (obj === null || obj === undefined) {\n return `${obj}`\n }\n\n return {}.toString.call(obj).match(/\\s([a-z]+)/i)[1].toLowerCase()\n}\n\n/**\n * --------------------------------------------------------------------------\n * Public Util Api\n * --------------------------------------------------------------------------\n */\n\nconst getUID = prefix => {\n do {\n prefix += Math.floor(Math.random() * MAX_UID)\n } while (document.getElementById(prefix))\n\n return prefix\n}\n\nconst getSelector = element => {\n let selector = element.getAttribute('data-bs-target')\n\n if (!selector || selector === '#') {\n let hrefAttr = element.getAttribute('href')\n\n // The only valid content that could double as a selector are IDs or classes,\n // so everything starting with `#` or `.`. If a \"real\" URL is used as the selector,\n // `document.querySelector` will rightfully complain it is invalid.\n // See https://github.com/twbs/bootstrap/issues/32273\n if (!hrefAttr || (!hrefAttr.includes('#') && !hrefAttr.startsWith('.'))) {\n return null\n }\n\n // Just in case some CMS puts out a full URL with the anchor appended\n if (hrefAttr.includes('#') && !hrefAttr.startsWith('#')) {\n hrefAttr = `#${hrefAttr.split('#')[1]}`\n }\n\n selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : null\n }\n\n return selector\n}\n\nconst getSelectorFromElement = element => {\n const selector = getSelector(element)\n\n if (selector) {\n return document.querySelector(selector) ? selector : null\n }\n\n return null\n}\n\nconst getElementFromSelector = element => {\n const selector = getSelector(element)\n\n return selector ? document.querySelector(selector) : null\n}\n\nconst getTransitionDurationFromElement = element => {\n if (!element) {\n return 0\n }\n\n // Get transition-duration of the element\n let { transitionDuration, transitionDelay } = window.getComputedStyle(element)\n\n const floatTransitionDuration = Number.parseFloat(transitionDuration)\n const floatTransitionDelay = Number.parseFloat(transitionDelay)\n\n // Return 0 if element or transition duration is not found\n if (!floatTransitionDuration && !floatTransitionDelay) {\n return 0\n }\n\n // If multiple durations are defined, take the first\n transitionDuration = transitionDuration.split(',')[0]\n transitionDelay = transitionDelay.split(',')[0]\n\n return (Number.parseFloat(transitionDuration) + Number.parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER\n}\n\nconst triggerTransitionEnd = element => {\n element.dispatchEvent(new Event(TRANSITION_END))\n}\n\nconst isElement = obj => {\n if (!obj || typeof obj !== 'object') {\n return false\n }\n\n if (typeof obj.jquery !== 'undefined') {\n obj = obj[0]\n }\n\n return typeof obj.nodeType !== 'undefined'\n}\n\nconst getElement = obj => {\n if (isElement(obj)) { // it's a jQuery object or a node element\n return obj.jquery ? obj[0] : obj\n }\n\n if (typeof obj === 'string' && obj.length > 0) {\n return document.querySelector(obj)\n }\n\n return null\n}\n\nconst typeCheckConfig = (componentName, config, configTypes) => {\n Object.keys(configTypes).forEach(property => {\n const expectedTypes = configTypes[property]\n const value = config[property]\n const valueType = value && isElement(value) ? 'element' : toType(value)\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new TypeError(\n `${componentName.toUpperCase()}: Option \"${property}\" provided type \"${valueType}\" but expected type \"${expectedTypes}\".`\n )\n }\n })\n}\n\nconst isVisible = element => {\n if (!isElement(element) || element.getClientRects().length === 0) {\n return false\n }\n\n return getComputedStyle(element).getPropertyValue('visibility') === 'visible'\n}\n\nconst isDisabled = element => {\n if (!element || element.nodeType !== Node.ELEMENT_NODE) {\n return true\n }\n\n if (element.classList.contains('disabled')) {\n return true\n }\n\n if (typeof element.disabled !== 'undefined') {\n return element.disabled\n }\n\n return element.hasAttribute('disabled') && element.getAttribute('disabled') !== 'false'\n}\n\nconst findShadowRoot = element => {\n if (!document.documentElement.attachShadow) {\n return null\n }\n\n // Can find the shadow root otherwise it'll return the document\n if (typeof element.getRootNode === 'function') {\n const root = element.getRootNode()\n return root instanceof ShadowRoot ? root : null\n }\n\n if (element instanceof ShadowRoot) {\n return element\n }\n\n // when we don't find a shadow root\n if (!element.parentNode) {\n return null\n }\n\n return findShadowRoot(element.parentNode)\n}\n\nconst noop = () => {}\n\n/**\n * Trick to restart an element's animation\n *\n * @param {HTMLElement} element\n * @return void\n *\n * @see https://www.charistheo.io/blog/2021/02/restart-a-css-animation-with-javascript/#restarting-a-css-animation\n */\nconst reflow = element => {\n // eslint-disable-next-line no-unused-expressions\n element.offsetHeight\n}\n\nconst getjQuery = () => {\n const { jQuery } = window\n\n if (jQuery && !document.body.hasAttribute('data-bs-no-jquery')) {\n return jQuery\n }\n\n return null\n}\n\nconst DOMContentLoadedCallbacks = []\n\nconst onDOMContentLoaded = callback => {\n if (document.readyState === 'loading') {\n // add listener on the first call when the document is in loading state\n if (!DOMContentLoadedCallbacks.length) {\n document.addEventListener('DOMContentLoaded', () => {\n DOMContentLoadedCallbacks.forEach(callback => callback())\n })\n }\n\n DOMContentLoadedCallbacks.push(callback)\n } else {\n callback()\n }\n}\n\nconst isRTL = () => document.documentElement.dir === 'rtl'\n\nconst defineJQueryPlugin = plugin => {\n onDOMContentLoaded(() => {\n const $ = getjQuery()\n /* istanbul ignore if */\n if ($) {\n const name = plugin.NAME\n const JQUERY_NO_CONFLICT = $.fn[name]\n $.fn[name] = plugin.jQueryInterface\n $.fn[name].Constructor = plugin\n $.fn[name].noConflict = () => {\n $.fn[name] = JQUERY_NO_CONFLICT\n return plugin.jQueryInterface\n }\n }\n })\n}\n\nconst execute = callback => {\n if (typeof callback === 'function') {\n callback()\n }\n}\n\nconst executeAfterTransition = (callback, transitionElement, waitForTransition = true) => {\n if (!waitForTransition) {\n execute(callback)\n return\n }\n\n const durationPadding = 5\n const emulatedDuration = getTransitionDurationFromElement(transitionElement) + durationPadding\n\n let called = false\n\n const handler = ({ target }) => {\n if (target !== transitionElement) {\n return\n }\n\n called = true\n transitionElement.removeEventListener(TRANSITION_END, handler)\n execute(callback)\n }\n\n transitionElement.addEventListener(TRANSITION_END, handler)\n setTimeout(() => {\n if (!called) {\n triggerTransitionEnd(transitionElement)\n }\n }, emulatedDuration)\n}\n\n/**\n * Return the previous/next element of a list.\n *\n * @param {array} list The list of elements\n * @param activeElement The active element\n * @param shouldGetNext Choose to get next or previous element\n * @param isCycleAllowed\n * @return {Element|elem} The proper element\n */\nconst getNextActiveElement = (list, activeElement, shouldGetNext, isCycleAllowed) => {\n let index = list.indexOf(activeElement)\n\n // if the element does not exist in the list return an element depending on the direction and if cycle is allowed\n if (index === -1) {\n return list[!shouldGetNext && isCycleAllowed ? list.length - 1 : 0]\n }\n\n const listLength = list.length\n\n index += shouldGetNext ? 1 : -1\n\n if (isCycleAllowed) {\n index = (index + listLength) % listLength\n }\n\n return list[Math.max(0, Math.min(index, listLength - 1))]\n}\n\nexport {\n getElement,\n getUID,\n getSelectorFromElement,\n getElementFromSelector,\n getTransitionDurationFromElement,\n triggerTransitionEnd,\n isElement,\n typeCheckConfig,\n isVisible,\n isDisabled,\n findShadowRoot,\n noop,\n getNextActiveElement,\n reflow,\n getjQuery,\n onDOMContentLoaded,\n isRTL,\n defineJQueryPlugin,\n execute,\n executeAfterTransition\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.1.3): popover.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { defineJQueryPlugin } from './util/index'\nimport Tooltip from './tooltip'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'popover'\nconst DATA_KEY = 'bs.popover'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst CLASS_PREFIX = 'bs-popover'\n\nconst Default = {\n ...Tooltip.Default,\n placement: 'right',\n offset: [0, 8],\n trigger: 'click',\n content: '',\n template: '
    ' +\n '
    ' +\n '

    ' +\n '
    ' +\n '
    '\n}\n\nconst DefaultType = {\n ...Tooltip.DefaultType,\n content: '(string|element|function)'\n}\n\nconst Event = {\n HIDE: `hide${EVENT_KEY}`,\n HIDDEN: `hidden${EVENT_KEY}`,\n SHOW: `show${EVENT_KEY}`,\n SHOWN: `shown${EVENT_KEY}`,\n INSERTED: `inserted${EVENT_KEY}`,\n CLICK: `click${EVENT_KEY}`,\n FOCUSIN: `focusin${EVENT_KEY}`,\n FOCUSOUT: `focusout${EVENT_KEY}`,\n MOUSEENTER: `mouseenter${EVENT_KEY}`,\n MOUSELEAVE: `mouseleave${EVENT_KEY}`\n}\n\nconst SELECTOR_TITLE = '.popover-header'\nconst SELECTOR_CONTENT = '.popover-body'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Popover extends Tooltip {\n // Getters\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n static get Event() {\n return Event\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Overrides\n\n isWithContent() {\n return this.getTitle() || this._getContent()\n }\n\n setContent(tip) {\n this._sanitizeAndSetContent(tip, this.getTitle(), SELECTOR_TITLE)\n this._sanitizeAndSetContent(tip, this._getContent(), SELECTOR_CONTENT)\n }\n\n // Private\n\n _getContent() {\n return this._resolvePossibleFunction(this._config.content)\n }\n\n _getBasicClassPrefix() {\n return CLASS_PREFIX\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Popover.getOrCreateInstance(this, config)\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .Popover to jQuery only if jQuery is present\n */\n\ndefineJQueryPlugin(Popover)\n\nexport default Popover\n"],"names":["getjQuery","jQuery","window","document","body","hasAttribute","DOMContentLoadedCallbacks","onDOMContentLoaded","callback","readyState","length","addEventListener","forEach","push","defineJQueryPlugin","plugin","$","name","NAME","JQUERY_NO_CONFLICT","fn","jQueryInterface","Constructor","noConflict","DATA_KEY","EVENT_KEY","CLASS_PREFIX","Default","Tooltip","placement","offset","trigger","content","template","DefaultType","Event","HIDE","HIDDEN","SHOW","SHOWN","INSERTED","CLICK","FOCUSIN","FOCUSOUT","MOUSEENTER","MOUSELEAVE","SELECTOR_TITLE","SELECTOR_CONTENT","Popover","isWithContent","getTitle","_getContent","setContent","tip","_sanitizeAndSetContent","_resolvePossibleFunction","_config","_getBasicClassPrefix","config","each","data","getOrCreateInstance","TypeError"],"mappings":"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"} \ No newline at end of file diff --git a/src/js/bs/dist/scrollspy.js b/src/js/bs/dist/scrollspy.js deleted file mode 100644 index 261c2658a..000000000 --- a/src/js/bs/dist/scrollspy.js +++ /dev/null @@ -1,391 +0,0 @@ -/*! - * Bootstrap scrollspy.js v5.1.3 (https://getbootstrap.com/) - * Copyright 2011-2021 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) - */ -(function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('./dom/event-handler.js'), require('./dom/manipulator.js'), require('./dom/selector-engine.js'), require('./base-component.js')) : - typeof define === 'function' && define.amd ? define(['./dom/event-handler', './dom/manipulator', './dom/selector-engine', './base-component'], factory) : - (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.ScrollSpy = factory(global.EventHandler, global.Manipulator, global.SelectorEngine, global.Base)); -})(this, (function (EventHandler, Manipulator, SelectorEngine, BaseComponent) { 'use strict'; - - const _interopDefaultLegacy = e => e && typeof e === 'object' && 'default' in e ? e : { default: e }; - - const EventHandler__default = /*#__PURE__*/_interopDefaultLegacy(EventHandler); - const Manipulator__default = /*#__PURE__*/_interopDefaultLegacy(Manipulator); - const SelectorEngine__default = /*#__PURE__*/_interopDefaultLegacy(SelectorEngine); - const BaseComponent__default = /*#__PURE__*/_interopDefaultLegacy(BaseComponent); - - /** - * -------------------------------------------------------------------------- - * Bootstrap (v5.1.3): util/index.js - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) - * -------------------------------------------------------------------------- - */ - - const toType = obj => { - if (obj === null || obj === undefined) { - return `${obj}`; - } - - return {}.toString.call(obj).match(/\s([a-z]+)/i)[1].toLowerCase(); - }; - - const getSelector = element => { - let selector = element.getAttribute('data-bs-target'); - - if (!selector || selector === '#') { - let hrefAttr = element.getAttribute('href'); // The only valid content that could double as a selector are IDs or classes, - // so everything starting with `#` or `.`. If a "real" URL is used as the selector, - // `document.querySelector` will rightfully complain it is invalid. - // See https://github.com/twbs/bootstrap/issues/32273 - - if (!hrefAttr || !hrefAttr.includes('#') && !hrefAttr.startsWith('.')) { - return null; - } // Just in case some CMS puts out a full URL with the anchor appended - - - if (hrefAttr.includes('#') && !hrefAttr.startsWith('#')) { - hrefAttr = `#${hrefAttr.split('#')[1]}`; - } - - selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : null; - } - - return selector; - }; - - const getSelectorFromElement = element => { - const selector = getSelector(element); - - if (selector) { - return document.querySelector(selector) ? selector : null; - } - - return null; - }; - - const isElement = obj => { - if (!obj || typeof obj !== 'object') { - return false; - } - - if (typeof obj.jquery !== 'undefined') { - obj = obj[0]; - } - - return typeof obj.nodeType !== 'undefined'; - }; - - const getElement = obj => { - if (isElement(obj)) { - // it's a jQuery object or a node element - return obj.jquery ? obj[0] : obj; - } - - if (typeof obj === 'string' && obj.length > 0) { - return document.querySelector(obj); - } - - return null; - }; - - const typeCheckConfig = (componentName, config, configTypes) => { - Object.keys(configTypes).forEach(property => { - const expectedTypes = configTypes[property]; - const value = config[property]; - const valueType = value && isElement(value) ? 'element' : toType(value); - - if (!new RegExp(expectedTypes).test(valueType)) { - throw new TypeError(`${componentName.toUpperCase()}: Option "${property}" provided type "${valueType}" but expected type "${expectedTypes}".`); - } - }); - }; - - const getjQuery = () => { - const { - jQuery - } = window; - - if (jQuery && !document.body.hasAttribute('data-bs-no-jquery')) { - return jQuery; - } - - return null; - }; - - const DOMContentLoadedCallbacks = []; - - const onDOMContentLoaded = callback => { - if (document.readyState === 'loading') { - // add listener on the first call when the document is in loading state - if (!DOMContentLoadedCallbacks.length) { - document.addEventListener('DOMContentLoaded', () => { - DOMContentLoadedCallbacks.forEach(callback => callback()); - }); - } - - DOMContentLoadedCallbacks.push(callback); - } else { - callback(); - } - }; - - const defineJQueryPlugin = plugin => { - onDOMContentLoaded(() => { - const $ = getjQuery(); - /* istanbul ignore if */ - - if ($) { - const name = plugin.NAME; - const JQUERY_NO_CONFLICT = $.fn[name]; - $.fn[name] = plugin.jQueryInterface; - $.fn[name].Constructor = plugin; - - $.fn[name].noConflict = () => { - $.fn[name] = JQUERY_NO_CONFLICT; - return plugin.jQueryInterface; - }; - } - }); - }; - - /** - * -------------------------------------------------------------------------- - * Bootstrap (v5.1.3): scrollspy.js - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) - * -------------------------------------------------------------------------- - */ - /** - * ------------------------------------------------------------------------ - * Constants - * ------------------------------------------------------------------------ - */ - - const NAME = 'scrollspy'; - const DATA_KEY = 'bs.scrollspy'; - const EVENT_KEY = `.${DATA_KEY}`; - const DATA_API_KEY = '.data-api'; - const Default = { - offset: 10, - method: 'auto', - target: '' - }; - const DefaultType = { - offset: 'number', - method: 'string', - target: '(string|element)' - }; - const EVENT_ACTIVATE = `activate${EVENT_KEY}`; - const EVENT_SCROLL = `scroll${EVENT_KEY}`; - const EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`; - const CLASS_NAME_DROPDOWN_ITEM = 'dropdown-item'; - const CLASS_NAME_ACTIVE = 'active'; - const SELECTOR_DATA_SPY = '[data-bs-spy="scroll"]'; - const SELECTOR_NAV_LIST_GROUP = '.nav, .list-group'; - const SELECTOR_NAV_LINKS = '.nav-link'; - const SELECTOR_NAV_ITEMS = '.nav-item'; - const SELECTOR_LIST_ITEMS = '.list-group-item'; - const SELECTOR_LINK_ITEMS = `${SELECTOR_NAV_LINKS}, ${SELECTOR_LIST_ITEMS}, .${CLASS_NAME_DROPDOWN_ITEM}`; - const SELECTOR_DROPDOWN = '.dropdown'; - const SELECTOR_DROPDOWN_TOGGLE = '.dropdown-toggle'; - const METHOD_OFFSET = 'offset'; - const METHOD_POSITION = 'position'; - /** - * ------------------------------------------------------------------------ - * Class Definition - * ------------------------------------------------------------------------ - */ - - class ScrollSpy extends BaseComponent__default.default { - constructor(element, config) { - super(element); - this._scrollElement = this._element.tagName === 'BODY' ? window : this._element; - this._config = this._getConfig(config); - this._offsets = []; - this._targets = []; - this._activeTarget = null; - this._scrollHeight = 0; - EventHandler__default.default.on(this._scrollElement, EVENT_SCROLL, () => this._process()); - this.refresh(); - - this._process(); - } // Getters - - - static get Default() { - return Default; - } - - static get NAME() { - return NAME; - } // Public - - - refresh() { - const autoMethod = this._scrollElement === this._scrollElement.window ? METHOD_OFFSET : METHOD_POSITION; - const offsetMethod = this._config.method === 'auto' ? autoMethod : this._config.method; - const offsetBase = offsetMethod === METHOD_POSITION ? this._getScrollTop() : 0; - this._offsets = []; - this._targets = []; - this._scrollHeight = this._getScrollHeight(); - const targets = SelectorEngine__default.default.find(SELECTOR_LINK_ITEMS, this._config.target); - targets.map(element => { - const targetSelector = getSelectorFromElement(element); - const target = targetSelector ? SelectorEngine__default.default.findOne(targetSelector) : null; - - if (target) { - const targetBCR = target.getBoundingClientRect(); - - if (targetBCR.width || targetBCR.height) { - return [Manipulator__default.default[offsetMethod](target).top + offsetBase, targetSelector]; - } - } - - return null; - }).filter(item => item).sort((a, b) => a[0] - b[0]).forEach(item => { - this._offsets.push(item[0]); - - this._targets.push(item[1]); - }); - } - - dispose() { - EventHandler__default.default.off(this._scrollElement, EVENT_KEY); - super.dispose(); - } // Private - - - _getConfig(config) { - config = { ...Default, - ...Manipulator__default.default.getDataAttributes(this._element), - ...(typeof config === 'object' && config ? config : {}) - }; - config.target = getElement(config.target) || document.documentElement; - typeCheckConfig(NAME, config, DefaultType); - return config; - } - - _getScrollTop() { - return this._scrollElement === window ? this._scrollElement.pageYOffset : this._scrollElement.scrollTop; - } - - _getScrollHeight() { - return this._scrollElement.scrollHeight || Math.max(document.body.scrollHeight, document.documentElement.scrollHeight); - } - - _getOffsetHeight() { - return this._scrollElement === window ? window.innerHeight : this._scrollElement.getBoundingClientRect().height; - } - - _process() { - const scrollTop = this._getScrollTop() + this._config.offset; - - const scrollHeight = this._getScrollHeight(); - - const maxScroll = this._config.offset + scrollHeight - this._getOffsetHeight(); - - if (this._scrollHeight !== scrollHeight) { - this.refresh(); - } - - if (scrollTop >= maxScroll) { - const target = this._targets[this._targets.length - 1]; - - if (this._activeTarget !== target) { - this._activate(target); - } - - return; - } - - if (this._activeTarget && scrollTop < this._offsets[0] && this._offsets[0] > 0) { - this._activeTarget = null; - - this._clear(); - - return; - } - - for (let i = this._offsets.length; i--;) { - const isActiveTarget = this._activeTarget !== this._targets[i] && scrollTop >= this._offsets[i] && (typeof this._offsets[i + 1] === 'undefined' || scrollTop < this._offsets[i + 1]); - - if (isActiveTarget) { - this._activate(this._targets[i]); - } - } - } - - _activate(target) { - this._activeTarget = target; - - this._clear(); - - const queries = SELECTOR_LINK_ITEMS.split(',').map(selector => `${selector}[data-bs-target="${target}"],${selector}[href="${target}"]`); - const link = SelectorEngine__default.default.findOne(queries.join(','), this._config.target); - link.classList.add(CLASS_NAME_ACTIVE); - - if (link.classList.contains(CLASS_NAME_DROPDOWN_ITEM)) { - SelectorEngine__default.default.findOne(SELECTOR_DROPDOWN_TOGGLE, link.closest(SELECTOR_DROPDOWN)).classList.add(CLASS_NAME_ACTIVE); - } else { - SelectorEngine__default.default.parents(link, SELECTOR_NAV_LIST_GROUP).forEach(listGroup => { - // Set triggered links parents as active - // With both