@govtechsg/sgds-web-component 0.0.10 → 0.0.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +102 -10
- package/base/card-element.d.ts +12 -0
- package/{lib/utils → base}/dropdown-element.d.ts +38 -37
- package/{lib/utils → base}/link-element.d.ts +8 -7
- package/{lib/utils → base}/sgds-element.d.ts +6 -5
- package/components/Accordion/index.d.ts +2 -0
- package/components/Accordion/sgds-accordion-item.d.ts +40 -0
- package/components/Accordion/sgds-accordion.d.ts +19 -0
- package/components/ActionCard/index.d.ts +1 -0
- package/{lib/Card → components/ActionCard}/sgds-action-card.d.ts +21 -20
- package/components/Alert/index.d.ts +1 -0
- package/components/Alert/sgds-alert.d.ts +37 -0
- package/components/Badge/index.d.ts +1 -0
- package/components/Badge/sgds-badge.d.ts +10 -0
- package/components/Breadcrumb/index.d.ts +2 -0
- package/components/Breadcrumb/sgds-breadcrumb-item.d.ts +10 -0
- package/components/Breadcrumb/sgds-breadcrumb.d.ts +12 -0
- package/components/Button/index.d.ts +1 -0
- package/{lib → components}/Button/sgds-button.d.ts +55 -48
- package/components/Checkbox/index.d.ts +1 -0
- package/{lib → components}/Checkbox/sgds-checkbox.d.ts +36 -36
- package/components/CloseButton/index.d.ts +1 -0
- package/components/CloseButton/sgds-closebutton.d.ts +9 -0
- package/components/Dropdown/index.d.ts +3 -0
- package/{lib → components}/Dropdown/sgds-dropdown-item.d.ts +8 -7
- package/{lib → components}/Dropdown/sgds-dropdown.d.ts +8 -7
- package/components/FileUpload/index.d.ts +1 -0
- package/components/FileUpload/sgds-fileupload.d.ts +22 -0
- package/components/Footer/index.d.ts +1 -0
- package/{lib → components}/Footer/sgds-footer.d.ts +27 -23
- package/components/Input/index.d.ts +1 -0
- package/{lib → components}/Input/sgds-input.d.ts +42 -42
- package/components/Mainnav/index.d.ts +3 -0
- package/components/Mainnav/sgds-mainnav-dropdown.d.ts +6 -0
- package/components/Mainnav/sgds-mainnav-item.d.ts +8 -0
- package/{lib → components}/Mainnav/sgds-mainnav.d.ts +26 -22
- package/components/Masthead/index.d.ts +1 -0
- package/{lib → components}/Masthead/sgds-masthead.d.ts +9 -12
- package/components/Modal/index.d.ts +1 -0
- package/{lib → components}/Modal/sgds-modal.d.ts +28 -28
- package/components/QuantityToggle/index.d.ts +1 -0
- package/{lib/QuantityToggle/sgds-quantitytoggle.d.ts → components/QuantityToggle/sgds-quantity-toggle.d.ts} +30 -30
- package/components/Radio/index.d.ts +2 -0
- package/{lib/Radio/sgds-radiogroup.d.ts → components/Radio/sgds-radio-group.d.ts} +41 -41
- package/{lib → components}/Radio/sgds-radio.d.ts +31 -31
- package/components/Sidenav/index.d.ts +3 -0
- package/{lib → components}/Sidenav/sgds-sidenav-item.d.ts +36 -28
- package/components/Sidenav/sgds-sidenav-link.d.ts +8 -0
- package/{lib → components}/Sidenav/sgds-sidenav.d.ts +10 -6
- package/components/Stepper/index.d.ts +1 -0
- package/components/Stepper/sgds-stepper.d.ts +17 -0
- package/components/Tab/index.d.ts +3 -0
- package/{lib → components}/Tab/sgds-tab.d.ts +27 -26
- package/{lib → components}/Tab/sgds-tabgroup.d.ts +48 -47
- package/{lib → components}/Tab/sgds-tabpanel.d.ts +26 -25
- package/components/Table/index.d.ts +1 -0
- package/components/Table/sgds-table.d.ts +26 -0
- package/components/Textarea/index.d.ts +1 -0
- package/{lib → components}/Textarea/sgds-textarea.d.ts +53 -53
- package/components/Toast/index.d.ts +1 -0
- package/components/Toast/sgds-toast.d.ts +22 -0
- package/components/Tooltip/index.d.ts +1 -0
- package/components/Tooltip/sgds-tooltip.d.ts +30 -0
- package/index.d.ts +23 -0
- package/index.js +11543 -0
- package/index.js.map +1 -0
- package/main.d.ts +24 -0
- package/package.json +23 -65
- package/react/accordion/index.d.ts +3 -0
- package/react/accordion-item/index.d.ts +8 -0
- package/react/action-card/index.d.ts +3 -0
- package/react/alert/index.d.ts +3 -0
- package/react/badge/index.d.ts +3 -0
- package/react/breadcrumb/index.d.ts +3 -0
- package/react/breadcrumb-item/index.d.ts +3 -0
- package/react/button/index.d.ts +6 -0
- package/react/checkbox/index.d.ts +3 -0
- package/react/cjs/index.js +12510 -0
- package/react/cjs/index.js.map +1 -0
- package/react/closebutton/index.d.ts +5 -0
- package/react/dropdown/index.d.ts +3 -0
- package/react/dropdown-item/index.d.ts +3 -0
- package/react/fileupload/index.d.ts +3 -0
- package/react/footer/index.d.ts +3 -0
- package/react/index.d.ts +34 -0
- package/react/index.js +12453 -0
- package/react/index.js.map +1 -0
- package/react/input/index.d.ts +3 -0
- package/react/mainnav/index.d.ts +3 -0
- package/react/mainnav-dropdown/index.d.ts +3 -0
- package/react/mainnav-item/index.d.ts +3 -0
- package/react/masthead/index.d.ts +3 -0
- package/react/modal/index.d.ts +3 -0
- package/react/package.json +10 -0
- package/react/quantity-toggle/index.d.ts +3 -0
- package/react/radio/index.d.ts +3 -0
- package/react/radio-group/index.d.ts +3 -0
- package/react/sidenav/index.d.ts +3 -0
- package/react/sidenav-item/index.d.ts +5 -0
- package/react/sidenav-link/index.d.ts +3 -0
- package/react/stepper/index.d.ts +3 -0
- package/react/tab/index.d.ts +3 -0
- package/react/tab-group/index.d.ts +3 -0
- package/react/tab-panel/index.d.ts +3 -0
- package/react/table/index.d.ts +3 -0
- package/react/textarea/index.d.ts +3 -0
- package/react/toast/index.d.ts +3 -0
- package/react/tooltip/index.d.ts +3 -0
- package/umd/index.js +11995 -0
- package/umd/index.js.map +1 -0
- package/{lib/utils → utils}/animate.d.ts +10 -10
- package/{lib/utils → utils}/animation-registry.d.ts +18 -18
- package/{lib/utils → utils}/breakpoints.d.ts +5 -5
- package/{lib/utils → utils}/defaultvalue.d.ts +2 -2
- package/{lib/utils → utils}/event.d.ts +2 -2
- package/{lib/utils → utils}/form.d.ts +38 -38
- package/{lib/utils → utils}/generateId.d.ts +1 -1
- package/{lib/utils → utils}/mergeDeep.d.ts +2 -2
- package/{lib/utils → utils}/modal.d.ts +12 -12
- package/{lib/utils → utils}/object.d.ts +2 -2
- package/{lib/utils → utils}/offset.d.ts +4 -4
- package/{lib/utils → utils}/scroll.d.ts +13 -13
- package/{lib/utils → utils}/slot.d.ts +22 -22
- package/{lib/utils → utils}/tabbable.d.ts +8 -8
- package/{lib/utils → utils}/watch.d.ts +14 -14
- package/.github/workflows/publish-latest.yml +0 -22
- package/.github/workflows/publish-pr.yml +0 -28
- package/.husky/commit-msg +0 -4
- package/.husky/prepare-commit-msg +0 -8
- package/.storybook/main.js +0 -16
- package/.storybook/preview-head.html +0 -11
- package/.storybook/preview.js +0 -9
- package/.vscode/settings.json +0 -7
- package/CONTRIBUTING.md +0 -56
- package/LICENSE +0 -20
- package/amplify.yml +0 -22
- package/commitlint.config.js +0 -1
- package/coverage/lcov-report/base.css +0 -224
- package/coverage/lcov-report/block-navigation.js +0 -87
- package/coverage/lcov-report/button-element.scss.html +0 -112
- package/coverage/lcov-report/button-element.ts.html +0 -145
- package/coverage/lcov-report/favicon.png +0 -0
- package/coverage/lcov-report/index.html +0 -116
- package/coverage/lcov-report/prettify.css +0 -1
- package/coverage/lcov-report/prettify.js +0 -2
- package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
- package/coverage/lcov-report/sorter.js +0 -196
- package/coverage/lcov.info +0 -32
- package/index.html +0 -430
- package/lib/Button/index.d.ts +0 -1
- package/lib/Button/index.js +0 -6634
- package/lib/Button/index.js.map +0 -1
- package/lib/Button/package.json +0 -7
- package/lib/Card/index.d.ts +0 -1
- package/lib/Card/index.js +0 -6150
- package/lib/Card/index.js.map +0 -1
- package/lib/Card/package.json +0 -7
- package/lib/Checkbox/index.d.ts +0 -1
- package/lib/Checkbox/index.js +0 -6366
- package/lib/Checkbox/index.js.map +0 -1
- package/lib/Checkbox/package.json +0 -7
- package/lib/Dropdown/index.d.ts +0 -3
- package/lib/Dropdown/index.js +0 -13502
- package/lib/Dropdown/index.js.map +0 -1
- package/lib/Dropdown/package.json +0 -7
- package/lib/Footer/index.d.ts +0 -2
- package/lib/Footer/index.js +0 -7168
- package/lib/Footer/index.js.map +0 -1
- package/lib/Footer/package.json +0 -7
- package/lib/Input/index.d.ts +0 -1
- package/lib/Input/index.js +0 -6656
- package/lib/Input/index.js.map +0 -1
- package/lib/Input/package.json +0 -7
- package/lib/Mainnav/index.d.ts +0 -4
- package/lib/Mainnav/index.js +0 -32546
- package/lib/Mainnav/index.js.map +0 -1
- package/lib/Mainnav/package.json +0 -7
- package/lib/Mainnav/sgds-mainnav-dropdown.d.ts +0 -5
- package/lib/Mainnav/sgds-mainnav-item.d.ts +0 -4
- package/lib/Masthead/index.d.ts +0 -1
- package/lib/Masthead/index.js +0 -7371
- package/lib/Masthead/index.js.map +0 -1
- package/lib/Masthead/package.json +0 -7
- package/lib/Modal/index.d.ts +0 -1
- package/lib/Modal/index.js +0 -6432
- package/lib/Modal/index.js.map +0 -1
- package/lib/Modal/package.json +0 -7
- package/lib/QuantityToggle/index.d.ts +0 -1
- package/lib/QuantityToggle/index.js +0 -7049
- package/lib/QuantityToggle/index.js.map +0 -1
- package/lib/QuantityToggle/package.json +0 -7
- package/lib/Radio/index.d.ts +0 -2
- package/lib/Radio/index.js +0 -12607
- package/lib/Radio/index.js.map +0 -1
- package/lib/Radio/package.json +0 -7
- package/lib/Sidenav/index.d.ts +0 -3
- package/lib/Sidenav/index.js +0 -18739
- package/lib/Sidenav/index.js.map +0 -1
- package/lib/Sidenav/package.json +0 -7
- package/lib/Sidenav/sgds-sidenav-link.d.ts +0 -4
- package/lib/Tab/index.d.ts +0 -3
- package/lib/Tab/index.js +0 -13557
- package/lib/Tab/index.js.map +0 -1
- package/lib/Tab/package.json +0 -7
- package/lib/Textarea/index.d.ts +0 -1
- package/lib/Textarea/index.js +0 -6696
- package/lib/Textarea/index.js.map +0 -1
- package/lib/Textarea/package.json +0 -7
- package/lib/index.d.ts +0 -16
- package/lib/index.js +0 -134580
- package/lib/index.js.map +0 -1
- package/lib/umd/index.js +0 -134587
- package/lib/umd/index.js.map +0 -1
- package/lib/utils/card-element.d.ts +0 -11
- package/mocks/dropdown.d.ts +0 -4
- package/mocks/dropdown.ts +0 -27
- package/mocks/link.d.ts +0 -3
- package/mocks/link.ts +0 -6
- package/rollup.config.js +0 -73
- package/rollup.test.config.js +0 -42
- package/scripts/buildUtils.js +0 -30
- package/scripts/frankBuild.js +0 -49
- package/src/Button/index.ts +0 -1
- package/src/Button/sgds-button.scss +0 -28
- package/src/Button/sgds-button.ts +0 -153
- package/src/Card/index.ts +0 -1
- package/src/Card/sgds-action-card.scss +0 -27
- package/src/Card/sgds-action-card.ts +0 -115
- package/src/Checkbox/index.ts +0 -1
- package/src/Checkbox/sgds-checkbox.scss +0 -4
- package/src/Checkbox/sgds-checkbox.ts +0 -149
- package/src/Dropdown/index.ts +0 -3
- package/src/Dropdown/sgds-dropdown-item.ts +0 -39
- package/src/Dropdown/sgds-dropdown.scss +0 -5
- package/src/Dropdown/sgds-dropdown.ts +0 -54
- package/src/Footer/index.ts +0 -3
- package/src/Footer/sgds-footer.scss +0 -5
- package/src/Footer/sgds-footer.ts +0 -121
- package/src/Input/index.ts +0 -1
- package/src/Input/sgds-input.scss +0 -20
- package/src/Input/sgds-input.ts +0 -178
- package/src/Mainnav/index.ts +0 -4
- package/src/Mainnav/sgds-mainnav-dropdown.scss +0 -13
- package/src/Mainnav/sgds-mainnav-dropdown.ts +0 -45
- package/src/Mainnav/sgds-mainnav-item.scss +0 -24
- package/src/Mainnav/sgds-mainnav-item.ts +0 -8
- package/src/Mainnav/sgds-mainnav.scss +0 -39
- package/src/Mainnav/sgds-mainnav.ts +0 -183
- package/src/Masthead/index.ts +0 -1
- package/src/Masthead/sgds-masthead.scss +0 -217
- package/src/Masthead/sgds-masthead.ts +0 -189
- package/src/Modal/index.ts +0 -1
- package/src/Modal/sgds-modal.scss +0 -128
- package/src/Modal/sgds-modal.ts +0 -309
- package/src/QuantityToggle/index.ts +0 -1
- package/src/QuantityToggle/sgds-quantitytoggle.scss +0 -10
- package/src/QuantityToggle/sgds-quantitytoggle.ts +0 -130
- package/src/Radio/index.ts +0 -2
- package/src/Radio/sgds-radio.scss +0 -5
- package/src/Radio/sgds-radio.ts +0 -120
- package/src/Radio/sgds-radiogroup.scss +0 -22
- package/src/Radio/sgds-radiogroup.ts +0 -221
- package/src/Sidenav/index.ts +0 -4
- package/src/Sidenav/sgds-sidenav-item.scss +0 -73
- package/src/Sidenav/sgds-sidenav-item.ts +0 -145
- package/src/Sidenav/sgds-sidenav-link.scss +0 -25
- package/src/Sidenav/sgds-sidenav-link.ts +0 -8
- package/src/Sidenav/sgds-sidenav.scss +0 -6
- package/src/Sidenav/sgds-sidenav.ts +0 -33
- package/src/Tab/index.ts +0 -3
- package/src/Tab/sgds-tab.scss +0 -84
- package/src/Tab/sgds-tab.ts +0 -87
- package/src/Tab/sgds-tabgroup.scss +0 -198
- package/src/Tab/sgds-tabgroup.ts +0 -295
- package/src/Tab/sgds-tabpanel.scss +0 -12
- package/src/Tab/sgds-tabpanel.ts +0 -55
- package/src/Textarea/index.ts +0 -1
- package/src/Textarea/sgds-textarea.scss +0 -23
- package/src/Textarea/sgds-textarea.ts +0 -201
- package/src/index.ts +0 -16
- package/src/utils/animate.ts +0 -69
- package/src/utils/animation-registry.ts +0 -71
- package/src/utils/base.scss +0 -14
- package/src/utils/breakpoints.ts +0 -5
- package/src/utils/card-element.ts +0 -42
- package/src/utils/components.style.scss +0 -531
- package/src/utils/defaultvalue.ts +0 -51
- package/src/utils/dropdown-element.ts +0 -244
- package/src/utils/event.ts +0 -13
- package/src/utils/form.ts +0 -183
- package/src/utils/generateId.ts +0 -4
- package/src/utils/link-element.ts +0 -34
- package/src/utils/mergeDeep.ts +0 -22
- package/src/utils/modal.ts +0 -64
- package/src/utils/object.ts +0 -2
- package/src/utils/offset.ts +0 -6
- package/src/utils/scroll.ts +0 -57
- package/src/utils/sgds-element.ts +0 -18
- package/src/utils/slot.ts +0 -102
- package/src/utils/tabbable.ts +0 -81
- package/src/utils/watch.ts +0 -62
- package/stories/ActionCard.stories.mdx +0 -199
- package/stories/Button.stories.mdx +0 -194
- package/stories/Checkbox.stories.mdx +0 -196
- package/stories/Dropdown.stories.mdx +0 -152
- package/stories/Footer.stories.mdx +0 -261
- package/stories/Input.stories.mdx +0 -236
- package/stories/MainNav.stories.mdx +0 -169
- package/stories/Masthead.stories.mdx +0 -112
- package/stories/Modal.stories.mdx +0 -103
- package/stories/QuantityToggle.stories.mdx +0 -97
- package/stories/Radio.stories.mdx +0 -262
- package/stories/Sample.stories.js +0 -29
- package/stories/Sample.stories.mdx +0 -33
- package/stories/SideNav.stories.mdx +0 -245
- package/stories/common.js +0 -185
- package/stories/textarea.stories.mdx +0 -253
- package/test/button.element.test.ts +0 -185
- package/test/checkbox.test.ts +0 -240
- package/test/dropdown.test.ts +0 -637
- package/test/footer.test.ts +0 -181
- package/test/generateId.test.ts +0 -18
- package/test/input.element.test.ts +0 -316
- package/test/link-element.test.ts +0 -38
- package/test/mainnav.test.ts +0 -313
- package/test/masthead.test.ts +0 -116
- package/test/modal.test.ts +0 -149
- package/test/quantitytoggle.test.ts +0 -76
- package/test/radio.test.ts +0 -310
- package/test/selectable-card.test.ts +0 -159
- package/test/sidenav.test.ts +0 -390
- package/test/tab.test.ts +0 -76
- package/test/textarea.test.ts +0 -126
- package/tsconfig.json +0 -26
- package/tsconfig.test.json +0 -24
- package/typings/scss.d.ts +0 -5
- package/web-dev-server.config.mjs +0 -7
- package/web-test-runner.config.mjs +0 -47
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../node_modules/tslib/tslib.es6.js","../../../src/utils/animate.ts","../../../node_modules/lit/node_modules/lit-html/lit-html.js","../../../node_modules/lit/node_modules/lit-html/directive.js","../../../node_modules/lit/node_modules/lit-html/directives/class-map.js","../../../node_modules/@lit/reactive-element/decorators/custom-element.js","../../../node_modules/@lit/reactive-element/decorators/property.js","../../../node_modules/@lit/reactive-element/decorators/state.js","../../../node_modules/@lit/reactive-element/decorators/base.js","../../../node_modules/@lit/reactive-element/decorators/query.js","../../../node_modules/@lit/reactive-element/decorators/query-assigned-elements.js","../../../node_modules/@lit/reactive-element/decorators/query-assigned-nodes.js","../../../src/utils/animation-registry.ts","../../../node_modules/@lit/reactive-element/css-tag.js","../../../node_modules/@lit/reactive-element/reactive-element.js","../../../node_modules/lit-element/node_modules/lit-html/lit-html.js","../../../node_modules/lit-element/lit-element.js","../../../src/utils/event.ts","../../../src/utils/watch.ts","../../../node_modules/lit-element/index.js","../../../src/base/sgds-element.ts","../../../src/components/Accordion/sgds-accordion-item.ts","../../../src/react/accordion-item/index.ts","../../../src/components/Accordion/sgds-accordion.ts","../../../src/react/accordion/index.ts","../../../node_modules/lit/node_modules/lit-html/directive-helpers.js","../../../node_modules/lit/node_modules/lit-html/async-directive.js","../../../node_modules/lit/node_modules/lit-html/directives/ref.js","../../../node_modules/lit/node_modules/lit-html/static.js","../../../src/base/card-element.ts","../../../src/components/ActionCard/sgds-action-card.ts","../../../src/react/action-card/index.ts","../../../node_modules/lit/node_modules/lit-html/directives/if-defined.js","../../../src/components/Alert/sgds-alert.ts","../../../src/react/alert/index.ts","../../../src/components/Badge/sgds-badge.ts","../../../src/react/badge/index.ts","../../../src/components/Breadcrumb/sgds-breadcrumb-item.ts","../../../src/react/breadcrumb-item/index.ts","../../../src/components/Breadcrumb/sgds-breadcrumb.ts","../../../src/react/breadcrumb/index.ts","../../../src/utils/form.ts","../../../src/components/Button/sgds-button.ts","../../../src/react/button/index.ts","../../../node_modules/lit/node_modules/lit-html/directives/live.js","../../../src/utils/defaultvalue.ts","../../../src/utils/generateId.ts","../../../src/components/Checkbox/sgds-checkbox.ts","../../../src/react/checkbox/index.ts","../../../src/components/CloseButton/sgds-closebutton.ts","../../../src/react/closebutton/index.ts","../../../src/base/link-element.ts","../../../src/components/Dropdown/sgds-dropdown-item.ts","../../../src/react/dropdown-item/index.ts","../../../node_modules/@popperjs/core/lib/enums.js","../../../node_modules/@popperjs/core/lib/dom-utils/getNodeName.js","../../../node_modules/@popperjs/core/lib/dom-utils/getWindow.js","../../../node_modules/@popperjs/core/lib/dom-utils/instanceOf.js","../../../node_modules/@popperjs/core/lib/modifiers/applyStyles.js","../../../node_modules/@popperjs/core/lib/utils/getBasePlacement.js","../../../node_modules/@popperjs/core/lib/utils/math.js","../../../node_modules/@popperjs/core/lib/utils/userAgent.js","../../../node_modules/@popperjs/core/lib/dom-utils/isLayoutViewport.js","../../../node_modules/@popperjs/core/lib/dom-utils/getBoundingClientRect.js","../../../node_modules/@popperjs/core/lib/dom-utils/getLayoutRect.js","../../../node_modules/@popperjs/core/lib/dom-utils/contains.js","../../../node_modules/@popperjs/core/lib/dom-utils/getComputedStyle.js","../../../node_modules/@popperjs/core/lib/dom-utils/isTableElement.js","../../../node_modules/@popperjs/core/lib/dom-utils/getDocumentElement.js","../../../node_modules/@popperjs/core/lib/dom-utils/getParentNode.js","../../../node_modules/@popperjs/core/lib/dom-utils/getOffsetParent.js","../../../node_modules/@popperjs/core/lib/utils/getMainAxisFromPlacement.js","../../../node_modules/@popperjs/core/lib/utils/within.js","../../../node_modules/@popperjs/core/lib/utils/getFreshSideObject.js","../../../node_modules/@popperjs/core/lib/utils/mergePaddingObject.js","../../../node_modules/@popperjs/core/lib/utils/expandToHashMap.js","../../../node_modules/@popperjs/core/lib/modifiers/arrow.js","../../../node_modules/@popperjs/core/lib/utils/getVariation.js","../../../node_modules/@popperjs/core/lib/modifiers/computeStyles.js","../../../node_modules/@popperjs/core/lib/modifiers/eventListeners.js","../../../node_modules/@popperjs/core/lib/utils/getOppositePlacement.js","../../../node_modules/@popperjs/core/lib/utils/getOppositeVariationPlacement.js","../../../node_modules/@popperjs/core/lib/dom-utils/getWindowScroll.js","../../../node_modules/@popperjs/core/lib/dom-utils/getWindowScrollBarX.js","../../../node_modules/@popperjs/core/lib/dom-utils/getViewportRect.js","../../../node_modules/@popperjs/core/lib/dom-utils/getDocumentRect.js","../../../node_modules/@popperjs/core/lib/dom-utils/isScrollParent.js","../../../node_modules/@popperjs/core/lib/dom-utils/getScrollParent.js","../../../node_modules/@popperjs/core/lib/dom-utils/listScrollParents.js","../../../node_modules/@popperjs/core/lib/utils/rectToClientRect.js","../../../node_modules/@popperjs/core/lib/dom-utils/getClippingRect.js","../../../node_modules/@popperjs/core/lib/utils/computeOffsets.js","../../../node_modules/@popperjs/core/lib/utils/detectOverflow.js","../../../node_modules/@popperjs/core/lib/utils/computeAutoPlacement.js","../../../node_modules/@popperjs/core/lib/modifiers/flip.js","../../../node_modules/@popperjs/core/lib/modifiers/hide.js","../../../node_modules/@popperjs/core/lib/modifiers/offset.js","../../../node_modules/@popperjs/core/lib/modifiers/popperOffsets.js","../../../node_modules/@popperjs/core/lib/utils/getAltAxis.js","../../../node_modules/@popperjs/core/lib/modifiers/preventOverflow.js","../../../node_modules/@popperjs/core/lib/dom-utils/getHTMLElementScroll.js","../../../node_modules/@popperjs/core/lib/dom-utils/getNodeScroll.js","../../../node_modules/@popperjs/core/lib/dom-utils/getCompositeRect.js","../../../node_modules/@popperjs/core/lib/utils/orderModifiers.js","../../../node_modules/@popperjs/core/lib/utils/debounce.js","../../../node_modules/@popperjs/core/lib/utils/format.js","../../../node_modules/@popperjs/core/lib/utils/validateModifiers.js","../../../node_modules/@popperjs/core/lib/utils/uniqueBy.js","../../../node_modules/@popperjs/core/lib/utils/mergeByName.js","../../../node_modules/@popperjs/core/lib/createPopper.js","../../../node_modules/@popperjs/core/lib/popper-lite.js","../../../node_modules/@popperjs/core/lib/popper.js","../../../node_modules/bootstrap/dist/js/bootstrap.esm.js","../../../src/utils/object.ts","../../../src/utils/mergeDeep.ts","../../../src/base/dropdown-element.ts","../../../src/components/Dropdown/sgds-dropdown.ts","../../../src/react/dropdown/index.ts","../../../node_modules/lit/node_modules/lit-html/directives/unsafe-html.js","../../../node_modules/lit/node_modules/lit-html/directives/unsafe-svg.js","../../../src/components/FileUpload/sgds-fileupload.ts","../../../src/react/fileupload/index.ts","../../../src/components/Footer/sgds-footer.ts","../../../src/react/footer/index.ts","../../../src/components/Input/sgds-input.ts","../../../src/react/input/index.ts","../../../src/components/Mainnav/sgds-mainnav-dropdown.ts","../../../src/react/mainnav-dropdown/index.ts","../../../src/components/Mainnav/sgds-mainnav-item.ts","../../../src/react/mainnav-item/index.ts","../../../src/utils/breakpoints.ts","../../../src/components/Mainnav/sgds-mainnav.ts","../../../src/react/mainnav/index.ts","../../../src/components/Masthead/sgds-masthead.ts","../../../src/react/masthead/index.ts","../../../src/utils/tabbable.ts","../../../src/utils/modal.ts","../../../src/utils/offset.ts","../../../src/utils/scroll.ts","../../../src/utils/slot.ts","../../../src/components/Modal/sgds-modal.ts","../../../src/react/modal/index.ts","../../../src/components/QuantityToggle/sgds-quantity-toggle.ts","../../../src/react/quantity-toggle/index.ts","../../../src/components/Radio/sgds-radio-group.ts","../../../src/react/radio-group/index.ts","../../../src/components/Radio/sgds-radio.ts","../../../src/react/radio/index.ts","../../../src/components/Sidenav/sgds-sidenav-item.ts","../../../src/react/sidenav-item/index.ts","../../../src/components/Sidenav/sgds-sidenav-link.ts","../../../src/react/sidenav-link/index.ts","../../../src/components/Sidenav/sgds-sidenav.ts","../../../src/react/sidenav/index.ts","../../../src/components/Stepper/sgds-stepper.ts","../../../src/react/stepper/index.ts","../../../src/components/Tab/sgds-tab.ts","../../../src/react/tab/index.ts","../../../src/components/Tab/sgds-tabgroup.ts","../../../src/react/tab-group/index.ts","../../../src/components/Tab/sgds-tabpanel.ts","../../../src/react/tab-panel/index.ts","../../../src/components/Table/sgds-table.ts","../../../src/react/table/index.ts","../../../src/components/Textarea/sgds-textarea.ts","../../../src/react/textarea/index.ts","../../../src/components/Toast/sgds-toast.ts","../../../src/react/toast/index.ts","../../../src/components/Tooltip/sgds-tooltip.ts","../../../src/react/tooltip/index.ts"],"sourcesContent":["/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\r\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\r\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\r\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\r\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\r\n var _, done = false;\r\n for (var i = decorators.length - 1; i >= 0; i--) {\r\n var context = {};\r\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\r\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\r\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\r\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\r\n if (kind === \"accessor\") {\r\n if (result === void 0) continue;\r\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\r\n if (_ = accept(result.get)) descriptor.get = _;\r\n if (_ = accept(result.set)) descriptor.set = _;\r\n if (_ = accept(result.init)) initializers.push(_);\r\n }\r\n else if (_ = accept(result)) {\r\n if (kind === \"field\") initializers.push(_);\r\n else descriptor[key] = _;\r\n }\r\n }\r\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\r\n done = true;\r\n};\r\n\r\nexport function __runInitializers(thisArg, initializers, value) {\r\n var useValue = arguments.length > 2;\r\n for (var i = 0; i < initializers.length; i++) {\r\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\r\n }\r\n return useValue ? value : void 0;\r\n};\r\n\r\nexport function __propKey(x) {\r\n return typeof x === \"symbol\" ? x : \"\".concat(x);\r\n};\r\n\r\nexport function __setFunctionName(f, name, prefix) {\r\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\r\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\r\n};\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n","//\n// Animates an element using keyframes. Returns a promise that resolves after the animation completes or gets canceled.\n//\nexport function animateTo(el: HTMLElement, keyframes: Keyframe[], options?: KeyframeAnimationOptions) {\n return new Promise(resolve => {\n if (options?.duration === Infinity) {\n throw new Error(\"Promise-based animations must be finite.\");\n }\n\n const animation = el.animate(keyframes, {\n ...options,\n duration: prefersReducedMotion() ? 0 : options?.duration\n });\n\n animation.addEventListener(\"cancel\", resolve, { once: true });\n animation.addEventListener(\"finish\", resolve, { once: true });\n });\n}\n\n//\n// Parses a CSS duration and returns the number of milliseconds.\n//\nexport function parseDuration(delay: number | string) {\n delay = delay.toString().toLowerCase();\n\n if (delay.indexOf(\"ms\") > -1) {\n return parseFloat(delay);\n }\n\n if (delay.indexOf(\"s\") > -1) {\n return parseFloat(delay) * 1000;\n }\n\n return parseFloat(delay);\n}\n\n//\n// Tells if the user has enabled the \"reduced motion\" setting in their browser or OS.\n//\nexport function prefersReducedMotion() {\n const query = window.matchMedia(\"(prefers-reduced-motion: reduce)\");\n return query.matches;\n}\n\n//\n// Stops all active animations on the target element. Returns a promise that resolves after all animations are canceled.\n//\nexport function stopAnimations(el: HTMLElement) {\n return Promise.all(\n el.getAnimations().map(animation => {\n return new Promise(resolve => {\n const handleAnimationEvent = requestAnimationFrame(resolve);\n\n animation.addEventListener(\"cancel\", () => handleAnimationEvent, { once: true });\n animation.addEventListener(\"finish\", () => handleAnimationEvent, { once: true });\n animation.cancel();\n });\n })\n );\n}\n\n// We can't animate `height: auto`, but we can calculate the height and shim keyframes by replacing it with the\n// element's scrollHeight before the animation.\nexport function shimKeyframesHeightAuto(keyframes: Keyframe[], calculatedHeight: number) {\n return keyframes.map(keyframe => ({\n ...keyframe,\n height: keyframe.height === \"auto\" ? `${calculatedHeight}px` : keyframe.height\n }));\n}\n","/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nvar t;const i=window,s=i.trustedTypes,e=s?s.createPolicy(\"lit-html\",{createHTML:t=>t}):void 0,o=\"$lit$\",n=`lit$${(Math.random()+\"\").slice(9)}$`,l=\"?\"+n,h=`<${l}>`,r=document,d=()=>r.createComment(\"\"),u=t=>null===t||\"object\"!=typeof t&&\"function\"!=typeof t,c=Array.isArray,v=t=>c(t)||\"function\"==typeof(null==t?void 0:t[Symbol.iterator]),a=\"[ \\t\\n\\f\\r]\",f=/<(?:(!--|\\/[^a-zA-Z])|(\\/?[a-zA-Z][^>\\s]*)|(\\/?$))/g,_=/-->/g,m=/>/g,p=RegExp(`>|${a}(?:([^\\\\s\"'>=/]+)(${a}*=${a}*(?:[^ \\t\\n\\f\\r\"'\\`<>=]|(\"|')|))|$)`,\"g\"),g=/'/g,$=/\"/g,y=/^(?:script|style|textarea|title)$/i,w=t=>(i,...s)=>({_$litType$:t,strings:i,values:s}),x=w(1),b=w(2),T=Symbol.for(\"lit-noChange\"),A=Symbol.for(\"lit-nothing\"),E=new WeakMap,C=r.createTreeWalker(r,129,null,!1),P=(t,i)=>{const s=t.length-1,l=[];let r,d=2===i?\"<svg>\":\"\",u=f;for(let i=0;i<s;i++){const s=t[i];let e,c,v=-1,a=0;for(;a<s.length&&(u.lastIndex=a,c=u.exec(s),null!==c);)a=u.lastIndex,u===f?\"!--\"===c[1]?u=_:void 0!==c[1]?u=m:void 0!==c[2]?(y.test(c[2])&&(r=RegExp(\"</\"+c[2],\"g\")),u=p):void 0!==c[3]&&(u=p):u===p?\">\"===c[0]?(u=null!=r?r:f,v=-1):void 0===c[1]?v=-2:(v=u.lastIndex-c[2].length,e=c[1],u=void 0===c[3]?p:'\"'===c[3]?$:g):u===$||u===g?u=p:u===_||u===m?u=f:(u=p,r=void 0);const w=u===p&&t[i+1].startsWith(\"/>\")?\" \":\"\";d+=u===f?s+h:v>=0?(l.push(e),s.slice(0,v)+o+s.slice(v)+n+w):s+n+(-2===v?(l.push(void 0),i):w)}const c=d+(t[s]||\"<?>\")+(2===i?\"</svg>\":\"\");if(!Array.isArray(t)||!t.hasOwnProperty(\"raw\"))throw Error(\"invalid template strings array\");return[void 0!==e?e.createHTML(c):c,l]};class V{constructor({strings:t,_$litType$:i},e){let h;this.parts=[];let r=0,u=0;const c=t.length-1,v=this.parts,[a,f]=P(t,i);if(this.el=V.createElement(a,e),C.currentNode=this.el.content,2===i){const t=this.el.content,i=t.firstChild;i.remove(),t.append(...i.childNodes)}for(;null!==(h=C.nextNode())&&v.length<c;){if(1===h.nodeType){if(h.hasAttributes()){const t=[];for(const i of h.getAttributeNames())if(i.endsWith(o)||i.startsWith(n)){const s=f[u++];if(t.push(i),void 0!==s){const t=h.getAttribute(s.toLowerCase()+o).split(n),i=/([.?@])?(.*)/.exec(s);v.push({type:1,index:r,name:i[2],strings:t,ctor:\".\"===i[1]?k:\"?\"===i[1]?I:\"@\"===i[1]?L:R})}else v.push({type:6,index:r})}for(const i of t)h.removeAttribute(i)}if(y.test(h.tagName)){const t=h.textContent.split(n),i=t.length-1;if(i>0){h.textContent=s?s.emptyScript:\"\";for(let s=0;s<i;s++)h.append(t[s],d()),C.nextNode(),v.push({type:2,index:++r});h.append(t[i],d())}}}else if(8===h.nodeType)if(h.data===l)v.push({type:2,index:r});else{let t=-1;for(;-1!==(t=h.data.indexOf(n,t+1));)v.push({type:7,index:r}),t+=n.length-1}r++}}static createElement(t,i){const s=r.createElement(\"template\");return s.innerHTML=t,s}}function N(t,i,s=t,e){var o,n,l,h;if(i===T)return i;let r=void 0!==e?null===(o=s._$Co)||void 0===o?void 0:o[e]:s._$Cl;const d=u(i)?void 0:i._$litDirective$;return(null==r?void 0:r.constructor)!==d&&(null===(n=null==r?void 0:r._$AO)||void 0===n||n.call(r,!1),void 0===d?r=void 0:(r=new d(t),r._$AT(t,s,e)),void 0!==e?(null!==(l=(h=s)._$Co)&&void 0!==l?l:h._$Co=[])[e]=r:s._$Cl=r),void 0!==r&&(i=N(t,r._$AS(t,i.values),r,e)),i}class S{constructor(t,i){this._$AV=[],this._$AN=void 0,this._$AD=t,this._$AM=i}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}u(t){var i;const{el:{content:s},parts:e}=this._$AD,o=(null!==(i=null==t?void 0:t.creationScope)&&void 0!==i?i:r).importNode(s,!0);C.currentNode=o;let n=C.nextNode(),l=0,h=0,d=e[0];for(;void 0!==d;){if(l===d.index){let i;2===d.type?i=new M(n,n.nextSibling,this,t):1===d.type?i=new d.ctor(n,d.name,d.strings,this,t):6===d.type&&(i=new z(n,this,t)),this._$AV.push(i),d=e[++h]}l!==(null==d?void 0:d.index)&&(n=C.nextNode(),l++)}return o}v(t){let i=0;for(const s of this._$AV)void 0!==s&&(void 0!==s.strings?(s._$AI(t,s,i),i+=s.strings.length-2):s._$AI(t[i])),i++}}class M{constructor(t,i,s,e){var o;this.type=2,this._$AH=A,this._$AN=void 0,this._$AA=t,this._$AB=i,this._$AM=s,this.options=e,this._$Cp=null===(o=null==e?void 0:e.isConnected)||void 0===o||o}get _$AU(){var t,i;return null!==(i=null===(t=this._$AM)||void 0===t?void 0:t._$AU)&&void 0!==i?i:this._$Cp}get parentNode(){let t=this._$AA.parentNode;const i=this._$AM;return void 0!==i&&11===(null==t?void 0:t.nodeType)&&(t=i.parentNode),t}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(t,i=this){t=N(this,t,i),u(t)?t===A||null==t||\"\"===t?(this._$AH!==A&&this._$AR(),this._$AH=A):t!==this._$AH&&t!==T&&this._(t):void 0!==t._$litType$?this.g(t):void 0!==t.nodeType?this.$(t):v(t)?this.T(t):this._(t)}k(t){return this._$AA.parentNode.insertBefore(t,this._$AB)}$(t){this._$AH!==t&&(this._$AR(),this._$AH=this.k(t))}_(t){this._$AH!==A&&u(this._$AH)?this._$AA.nextSibling.data=t:this.$(r.createTextNode(t)),this._$AH=t}g(t){var i;const{values:s,_$litType$:e}=t,o=\"number\"==typeof e?this._$AC(t):(void 0===e.el&&(e.el=V.createElement(e.h,this.options)),e);if((null===(i=this._$AH)||void 0===i?void 0:i._$AD)===o)this._$AH.v(s);else{const t=new S(o,this),i=t.u(this.options);t.v(s),this.$(i),this._$AH=t}}_$AC(t){let i=E.get(t.strings);return void 0===i&&E.set(t.strings,i=new V(t)),i}T(t){c(this._$AH)||(this._$AH=[],this._$AR());const i=this._$AH;let s,e=0;for(const o of t)e===i.length?i.push(s=new M(this.k(d()),this.k(d()),this,this.options)):s=i[e],s._$AI(o),e++;e<i.length&&(this._$AR(s&&s._$AB.nextSibling,e),i.length=e)}_$AR(t=this._$AA.nextSibling,i){var s;for(null===(s=this._$AP)||void 0===s||s.call(this,!1,!0,i);t&&t!==this._$AB;){const i=t.nextSibling;t.remove(),t=i}}setConnected(t){var i;void 0===this._$AM&&(this._$Cp=t,null===(i=this._$AP)||void 0===i||i.call(this,t))}}class R{constructor(t,i,s,e,o){this.type=1,this._$AH=A,this._$AN=void 0,this.element=t,this.name=i,this._$AM=e,this.options=o,s.length>2||\"\"!==s[0]||\"\"!==s[1]?(this._$AH=Array(s.length-1).fill(new String),this.strings=s):this._$AH=A}get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}_$AI(t,i=this,s,e){const o=this.strings;let n=!1;if(void 0===o)t=N(this,t,i,0),n=!u(t)||t!==this._$AH&&t!==T,n&&(this._$AH=t);else{const e=t;let l,h;for(t=o[0],l=0;l<o.length-1;l++)h=N(this,e[s+l],i,l),h===T&&(h=this._$AH[l]),n||(n=!u(h)||h!==this._$AH[l]),h===A?t=A:t!==A&&(t+=(null!=h?h:\"\")+o[l+1]),this._$AH[l]=h}n&&!e&&this.j(t)}j(t){t===A?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,null!=t?t:\"\")}}class k extends R{constructor(){super(...arguments),this.type=3}j(t){this.element[this.name]=t===A?void 0:t}}const H=s?s.emptyScript:\"\";class I extends R{constructor(){super(...arguments),this.type=4}j(t){t&&t!==A?this.element.setAttribute(this.name,H):this.element.removeAttribute(this.name)}}class L extends R{constructor(t,i,s,e,o){super(t,i,s,e,o),this.type=5}_$AI(t,i=this){var s;if((t=null!==(s=N(this,t,i,0))&&void 0!==s?s:A)===T)return;const e=this._$AH,o=t===A&&e!==A||t.capture!==e.capture||t.once!==e.once||t.passive!==e.passive,n=t!==A&&(e===A||o);o&&this.element.removeEventListener(this.name,this,e),n&&this.element.addEventListener(this.name,this,t),this._$AH=t}handleEvent(t){var i,s;\"function\"==typeof this._$AH?this._$AH.call(null!==(s=null===(i=this.options)||void 0===i?void 0:i.host)&&void 0!==s?s:this.element,t):this._$AH.handleEvent(t)}}class z{constructor(t,i,s){this.element=t,this.type=6,this._$AN=void 0,this._$AM=i,this.options=s}get _$AU(){return this._$AM._$AU}_$AI(t){N(this,t)}}const Z={O:o,P:n,A:l,C:1,M:P,L:S,D:v,R:N,I:M,V:R,H:I,N:L,U:k,F:z},j=i.litHtmlPolyfillSupport;null==j||j(V,M),(null!==(t=i.litHtmlVersions)&&void 0!==t?t:i.litHtmlVersions=[]).push(\"2.7.2\");const B=(t,i,s)=>{var e,o;const n=null!==(e=null==s?void 0:s.renderBefore)&&void 0!==e?e:i;let l=n._$litPart$;if(void 0===l){const t=null!==(o=null==s?void 0:s.renderBefore)&&void 0!==o?o:null;n._$litPart$=l=new M(i.insertBefore(d(),t),t,void 0,null!=s?s:{})}return l._$AI(t),l};export{Z as _$LH,x as html,T as noChange,A as nothing,B as render,b as svg};\n//# sourceMappingURL=lit-html.js.map\n","/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst t={ATTRIBUTE:1,CHILD:2,PROPERTY:3,BOOLEAN_ATTRIBUTE:4,EVENT:5,ELEMENT:6},e=t=>(...e)=>({_$litDirective$:t,values:e});class i{constructor(t){}get _$AU(){return this._$AM._$AU}_$AT(t,e,i){this._$Ct=t,this._$AM=e,this._$Ci=i}_$AS(t,e){return this.update(t,e)}update(t,e){return this.render(...e)}}export{i as Directive,t as PartType,e as directive};\n//# sourceMappingURL=directive.js.map\n","import{noChange as t}from\"../lit-html.js\";import{directive as i,Directive as s,PartType as r}from\"../directive.js\";\n/**\n * @license\n * Copyright 2018 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const o=i(class extends s{constructor(t){var i;if(super(t),t.type!==r.ATTRIBUTE||\"class\"!==t.name||(null===(i=t.strings)||void 0===i?void 0:i.length)>2)throw Error(\"`classMap()` can only be used in the `class` attribute and must be the only part in the attribute.\")}render(t){return\" \"+Object.keys(t).filter((i=>t[i])).join(\" \")+\" \"}update(i,[s]){var r,o;if(void 0===this.it){this.it=new Set,void 0!==i.strings&&(this.nt=new Set(i.strings.join(\" \").split(/\\s/).filter((t=>\"\"!==t))));for(const t in s)s[t]&&!(null===(r=this.nt)||void 0===r?void 0:r.has(t))&&this.it.add(t);return this.render(s)}const e=i.element.classList;this.it.forEach((t=>{t in s||(e.remove(t),this.it.delete(t))}));for(const t in s){const i=!!s[t];i===this.it.has(t)||(null===(o=this.nt)||void 0===o?void 0:o.has(t))||(i?(e.add(t),this.it.add(t)):(e.remove(t),this.it.delete(t)))}return t}});export{o as classMap};\n//# sourceMappingURL=class-map.js.map\n","/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst e=e=>n=>\"function\"==typeof n?((e,n)=>(customElements.define(e,n),n))(e,n):((e,n)=>{const{kind:t,elements:s}=n;return{kind:t,elements:s,finisher(n){customElements.define(e,n)}}})(e,n);export{e as customElement};\n//# sourceMappingURL=custom-element.js.map\n","/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst i=(i,e)=>\"method\"===e.kind&&e.descriptor&&!(\"value\"in e.descriptor)?{...e,finisher(n){n.createProperty(e.key,i)}}:{kind:\"field\",key:Symbol(),placement:\"own\",descriptor:{},originalKey:e.key,initializer(){\"function\"==typeof e.initializer&&(this[e.key]=e.initializer.call(this))},finisher(n){n.createProperty(e.key,i)}};function e(e){return(n,t)=>void 0!==t?((i,e,n)=>{e.constructor.createProperty(n,i)})(e,n,t):i(e,n)}export{e as property};\n//# sourceMappingURL=property.js.map\n","import{property as r}from\"./property.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */function t(t){return r({...t,state:!0})}export{t as state};\n//# sourceMappingURL=state.js.map\n","/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst e=(e,t,o)=>{Object.defineProperty(t,o,e)},t=(e,t)=>({kind:\"method\",placement:\"prototype\",key:t.key,descriptor:e}),o=({finisher:e,descriptor:t})=>(o,n)=>{var r;if(void 0===n){const n=null!==(r=o.originalKey)&&void 0!==r?r:o.key,i=null!=t?{kind:\"method\",placement:\"prototype\",key:n,descriptor:t(o.key)}:{...o,key:n};return null!=e&&(i.finisher=function(t){e(t,n)}),i}{const r=o.constructor;void 0!==t&&Object.defineProperty(o,n,t(n)),null==e||e(r,n)}};export{o as decorateProperty,e as legacyPrototypeMethod,t as standardPrototypeMethod};\n//# sourceMappingURL=base.js.map\n","import{decorateProperty as o}from\"./base.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */function i(i,n){return o({descriptor:o=>{const t={get(){var o,n;return null!==(n=null===(o=this.renderRoot)||void 0===o?void 0:o.querySelector(i))&&void 0!==n?n:null},enumerable:!0,configurable:!0};if(n){const n=\"symbol\"==typeof o?Symbol():\"__\"+o;t.get=function(){var o,t;return void 0===this[n]&&(this[n]=null!==(t=null===(o=this.renderRoot)||void 0===o?void 0:o.querySelector(i))&&void 0!==t?t:null),this[n]}}return t}})}export{i as query};\n//# sourceMappingURL=query.js.map\n","import{decorateProperty as o}from\"./base.js\";\n/**\n * @license\n * Copyright 2021 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */var n;const e=null!=(null===(n=window.HTMLSlotElement)||void 0===n?void 0:n.prototype.assignedElements)?(o,n)=>o.assignedElements(n):(o,n)=>o.assignedNodes(n).filter((o=>o.nodeType===Node.ELEMENT_NODE));function l(n){const{slot:l,selector:t}=null!=n?n:{};return o({descriptor:o=>({get(){var o;const r=\"slot\"+(l?`[name=${l}]`:\":not([name])\"),i=null===(o=this.renderRoot)||void 0===o?void 0:o.querySelector(r),s=null!=i?e(i,n):[];return t?s.filter((o=>o.matches(t))):s},enumerable:!0,configurable:!0})})}export{l as queryAssignedElements};\n//# sourceMappingURL=query-assigned-elements.js.map\n","import{decorateProperty as e}from\"./base.js\";import{queryAssignedElements as t}from\"./query-assigned-elements.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */function o(o,n,r){let l,s=o;return\"object\"==typeof o?(s=o.slot,l=o):l={flatten:n},r?t({slot:s,flatten:n,selector:r}):e({descriptor:e=>({get(){var e,t;const o=\"slot\"+(s?`[name=${s}]`:\":not([name])\"),n=null===(e=this.renderRoot)||void 0===e?void 0:e.querySelector(o);return null!==(t=null==n?void 0:n.assignedNodes(l))&&void 0!==t?t:[]},enumerable:!0,configurable:!0})})}export{o as queryAssignedNodes};\n//# sourceMappingURL=query-assigned-nodes.js.map\n","export interface ElementAnimation {\n keyframes: Keyframe[];\n rtlKeyframes?: Keyframe[];\n options?: KeyframeAnimationOptions;\n}\n\nexport interface ElementAnimationMap {\n [animationName: string]: ElementAnimation;\n}\n\nexport interface GetAnimationOptions {\n /**\n * The component's directionality. When set to \"rtl\", `rtlKeyframes` will be preferred over `keyframes` where\n * available using getAnimation().\n */\n dir: string;\n}\n\nconst defaultAnimationRegistry = new Map<string, ElementAnimation>();\nconst customAnimationRegistry = new WeakMap<Element, ElementAnimationMap>();\n\nfunction ensureAnimation(animation: ElementAnimation | null) {\n return animation ?? { keyframes: [], options: { duration: 0 } };\n}\n\n//\n// Given an ElementAnimation, this function returns a new ElementAnimation where the keyframes property reflects either\n// keyframes or rtlKeyframes depending on the specified directionality.\n//\nfunction getLogicalAnimation(animation: ElementAnimation) {\n return animation;\n}\n\n//\n// Sets a default animation. Components should use the `name.animation` for primary animations and `name.part.animation`\n// for secondary animations, e.g. `dialog.show` and `dialog.overlay.show`. For modifiers, use `drawer.showTop`.\n//\nexport function setDefaultAnimation(animationName: string, animation: ElementAnimation | null) {\n defaultAnimationRegistry.set(animationName, ensureAnimation(animation));\n}\n\n//\n// Sets a custom animation for the specified element.\n//\nexport function setAnimation(el: Element, animationName: string, animation: ElementAnimation | null) {\n customAnimationRegistry.set(el, { ...customAnimationRegistry.get(el), [animationName]: ensureAnimation(animation) });\n}\n\n//\n// Gets an element's animation. Falls back to the default if no animation is found.\n//\nexport function getAnimation(el: Element, animationName: string) {\n const customAnimation = customAnimationRegistry.get(el);\n\n // Check for a custom animation\n if (customAnimation?.[animationName]) {\n return getLogicalAnimation(customAnimation[animationName]);\n }\n\n // Check for a default animation\n const defaultAnimation = defaultAnimationRegistry.get(animationName);\n if (defaultAnimation) {\n return getLogicalAnimation(defaultAnimation);\n }\n\n // Fall back to an empty animation\n return {\n keyframes: [],\n options: { duration: 0 }\n };\n}\n","/**\n * @license\n * Copyright 2019 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst t=window,e=t.ShadowRoot&&(void 0===t.ShadyCSS||t.ShadyCSS.nativeShadow)&&\"adoptedStyleSheets\"in Document.prototype&&\"replace\"in CSSStyleSheet.prototype,s=Symbol(),n=new WeakMap;class o{constructor(t,e,n){if(this._$cssResult$=!0,n!==s)throw Error(\"CSSResult is not constructable. Use `unsafeCSS` or `css` instead.\");this.cssText=t,this.t=e}get styleSheet(){let t=this.o;const s=this.t;if(e&&void 0===t){const e=void 0!==s&&1===s.length;e&&(t=n.get(s)),void 0===t&&((this.o=t=new CSSStyleSheet).replaceSync(this.cssText),e&&n.set(s,t))}return t}toString(){return this.cssText}}const r=t=>new o(\"string\"==typeof t?t:t+\"\",void 0,s),i=(t,...e)=>{const n=1===t.length?t[0]:e.reduce(((e,s,n)=>e+(t=>{if(!0===t._$cssResult$)return t.cssText;if(\"number\"==typeof t)return t;throw Error(\"Value passed to 'css' function must be a 'css' function result: \"+t+\". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.\")})(s)+t[n+1]),t[0]);return new o(n,t,s)},S=(s,n)=>{e?s.adoptedStyleSheets=n.map((t=>t instanceof CSSStyleSheet?t:t.styleSheet)):n.forEach((e=>{const n=document.createElement(\"style\"),o=t.litNonce;void 0!==o&&n.setAttribute(\"nonce\",o),n.textContent=e.cssText,s.appendChild(n)}))},c=e?t=>t:t=>t instanceof CSSStyleSheet?(t=>{let e=\"\";for(const s of t.cssRules)e+=s.cssText;return r(e)})(t):t;export{o as CSSResult,S as adoptStyles,i as css,c as getCompatibleStyle,e as supportsAdoptingStyleSheets,r as unsafeCSS};\n//# sourceMappingURL=css-tag.js.map\n","import{getCompatibleStyle as t,adoptStyles as i}from\"./css-tag.js\";export{CSSResult,adoptStyles,css,getCompatibleStyle,supportsAdoptingStyleSheets,unsafeCSS}from\"./css-tag.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */var s;const e=window,r=e.trustedTypes,h=r?r.emptyScript:\"\",o=e.reactiveElementPolyfillSupport,n={toAttribute(t,i){switch(i){case Boolean:t=t?h:null;break;case Object:case Array:t=null==t?t:JSON.stringify(t)}return t},fromAttribute(t,i){let s=t;switch(i){case Boolean:s=null!==t;break;case Number:s=null===t?null:Number(t);break;case Object:case Array:try{s=JSON.parse(t)}catch(t){s=null}}return s}},a=(t,i)=>i!==t&&(i==i||t==t),l={attribute:!0,type:String,converter:n,reflect:!1,hasChanged:a};class d extends HTMLElement{constructor(){super(),this._$Ei=new Map,this.isUpdatePending=!1,this.hasUpdated=!1,this._$El=null,this.u()}static addInitializer(t){var i;this.finalize(),(null!==(i=this.h)&&void 0!==i?i:this.h=[]).push(t)}static get observedAttributes(){this.finalize();const t=[];return this.elementProperties.forEach(((i,s)=>{const e=this._$Ep(s,i);void 0!==e&&(this._$Ev.set(e,s),t.push(e))})),t}static createProperty(t,i=l){if(i.state&&(i.attribute=!1),this.finalize(),this.elementProperties.set(t,i),!i.noAccessor&&!this.prototype.hasOwnProperty(t)){const s=\"symbol\"==typeof t?Symbol():\"__\"+t,e=this.getPropertyDescriptor(t,s,i);void 0!==e&&Object.defineProperty(this.prototype,t,e)}}static getPropertyDescriptor(t,i,s){return{get(){return this[i]},set(e){const r=this[t];this[i]=e,this.requestUpdate(t,r,s)},configurable:!0,enumerable:!0}}static getPropertyOptions(t){return this.elementProperties.get(t)||l}static finalize(){if(this.hasOwnProperty(\"finalized\"))return!1;this.finalized=!0;const t=Object.getPrototypeOf(this);if(t.finalize(),void 0!==t.h&&(this.h=[...t.h]),this.elementProperties=new Map(t.elementProperties),this._$Ev=new Map,this.hasOwnProperty(\"properties\")){const t=this.properties,i=[...Object.getOwnPropertyNames(t),...Object.getOwnPropertySymbols(t)];for(const s of i)this.createProperty(s,t[s])}return this.elementStyles=this.finalizeStyles(this.styles),!0}static finalizeStyles(i){const s=[];if(Array.isArray(i)){const e=new Set(i.flat(1/0).reverse());for(const i of e)s.unshift(t(i))}else void 0!==i&&s.push(t(i));return s}static _$Ep(t,i){const s=i.attribute;return!1===s?void 0:\"string\"==typeof s?s:\"string\"==typeof t?t.toLowerCase():void 0}u(){var t;this._$E_=new Promise((t=>this.enableUpdating=t)),this._$AL=new Map,this._$Eg(),this.requestUpdate(),null===(t=this.constructor.h)||void 0===t||t.forEach((t=>t(this)))}addController(t){var i,s;(null!==(i=this._$ES)&&void 0!==i?i:this._$ES=[]).push(t),void 0!==this.renderRoot&&this.isConnected&&(null===(s=t.hostConnected)||void 0===s||s.call(t))}removeController(t){var i;null===(i=this._$ES)||void 0===i||i.splice(this._$ES.indexOf(t)>>>0,1)}_$Eg(){this.constructor.elementProperties.forEach(((t,i)=>{this.hasOwnProperty(i)&&(this._$Ei.set(i,this[i]),delete this[i])}))}createRenderRoot(){var t;const s=null!==(t=this.shadowRoot)&&void 0!==t?t:this.attachShadow(this.constructor.shadowRootOptions);return i(s,this.constructor.elementStyles),s}connectedCallback(){var t;void 0===this.renderRoot&&(this.renderRoot=this.createRenderRoot()),this.enableUpdating(!0),null===(t=this._$ES)||void 0===t||t.forEach((t=>{var i;return null===(i=t.hostConnected)||void 0===i?void 0:i.call(t)}))}enableUpdating(t){}disconnectedCallback(){var t;null===(t=this._$ES)||void 0===t||t.forEach((t=>{var i;return null===(i=t.hostDisconnected)||void 0===i?void 0:i.call(t)}))}attributeChangedCallback(t,i,s){this._$AK(t,s)}_$EO(t,i,s=l){var e;const r=this.constructor._$Ep(t,s);if(void 0!==r&&!0===s.reflect){const h=(void 0!==(null===(e=s.converter)||void 0===e?void 0:e.toAttribute)?s.converter:n).toAttribute(i,s.type);this._$El=t,null==h?this.removeAttribute(r):this.setAttribute(r,h),this._$El=null}}_$AK(t,i){var s;const e=this.constructor,r=e._$Ev.get(t);if(void 0!==r&&this._$El!==r){const t=e.getPropertyOptions(r),h=\"function\"==typeof t.converter?{fromAttribute:t.converter}:void 0!==(null===(s=t.converter)||void 0===s?void 0:s.fromAttribute)?t.converter:n;this._$El=r,this[r]=h.fromAttribute(i,t.type),this._$El=null}}requestUpdate(t,i,s){let e=!0;void 0!==t&&(((s=s||this.constructor.getPropertyOptions(t)).hasChanged||a)(this[t],i)?(this._$AL.has(t)||this._$AL.set(t,i),!0===s.reflect&&this._$El!==t&&(void 0===this._$EC&&(this._$EC=new Map),this._$EC.set(t,s))):e=!1),!this.isUpdatePending&&e&&(this._$E_=this._$Ej())}async _$Ej(){this.isUpdatePending=!0;try{await this._$E_}catch(t){Promise.reject(t)}const t=this.scheduleUpdate();return null!=t&&await t,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){var t;if(!this.isUpdatePending)return;this.hasUpdated,this._$Ei&&(this._$Ei.forEach(((t,i)=>this[i]=t)),this._$Ei=void 0);let i=!1;const s=this._$AL;try{i=this.shouldUpdate(s),i?(this.willUpdate(s),null===(t=this._$ES)||void 0===t||t.forEach((t=>{var i;return null===(i=t.hostUpdate)||void 0===i?void 0:i.call(t)})),this.update(s)):this._$Ek()}catch(t){throw i=!1,this._$Ek(),t}i&&this._$AE(s)}willUpdate(t){}_$AE(t){var i;null===(i=this._$ES)||void 0===i||i.forEach((t=>{var i;return null===(i=t.hostUpdated)||void 0===i?void 0:i.call(t)})),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(t)),this.updated(t)}_$Ek(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$E_}shouldUpdate(t){return!0}update(t){void 0!==this._$EC&&(this._$EC.forEach(((t,i)=>this._$EO(i,this[i],t))),this._$EC=void 0),this._$Ek()}updated(t){}firstUpdated(t){}}d.finalized=!0,d.elementProperties=new Map,d.elementStyles=[],d.shadowRootOptions={mode:\"open\"},null==o||o({ReactiveElement:d}),(null!==(s=e.reactiveElementVersions)&&void 0!==s?s:e.reactiveElementVersions=[]).push(\"1.6.1\");export{d as ReactiveElement,n as defaultConverter,a as notEqual};\n//# sourceMappingURL=reactive-element.js.map\n","/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nvar t;const i=window,s=i.trustedTypes,e=s?s.createPolicy(\"lit-html\",{createHTML:t=>t}):void 0,o=\"$lit$\",n=`lit$${(Math.random()+\"\").slice(9)}$`,l=\"?\"+n,h=`<${l}>`,r=document,d=()=>r.createComment(\"\"),u=t=>null===t||\"object\"!=typeof t&&\"function\"!=typeof t,c=Array.isArray,v=t=>c(t)||\"function\"==typeof(null==t?void 0:t[Symbol.iterator]),a=\"[ \\t\\n\\f\\r]\",f=/<(?:(!--|\\/[^a-zA-Z])|(\\/?[a-zA-Z][^>\\s]*)|(\\/?$))/g,_=/-->/g,m=/>/g,p=RegExp(`>|${a}(?:([^\\\\s\"'>=/]+)(${a}*=${a}*(?:[^ \\t\\n\\f\\r\"'\\`<>=]|(\"|')|))|$)`,\"g\"),g=/'/g,$=/\"/g,y=/^(?:script|style|textarea|title)$/i,w=t=>(i,...s)=>({_$litType$:t,strings:i,values:s}),x=w(1),b=w(2),T=Symbol.for(\"lit-noChange\"),A=Symbol.for(\"lit-nothing\"),E=new WeakMap,C=r.createTreeWalker(r,129,null,!1),P=(t,i)=>{const s=t.length-1,l=[];let r,d=2===i?\"<svg>\":\"\",u=f;for(let i=0;i<s;i++){const s=t[i];let e,c,v=-1,a=0;for(;a<s.length&&(u.lastIndex=a,c=u.exec(s),null!==c);)a=u.lastIndex,u===f?\"!--\"===c[1]?u=_:void 0!==c[1]?u=m:void 0!==c[2]?(y.test(c[2])&&(r=RegExp(\"</\"+c[2],\"g\")),u=p):void 0!==c[3]&&(u=p):u===p?\">\"===c[0]?(u=null!=r?r:f,v=-1):void 0===c[1]?v=-2:(v=u.lastIndex-c[2].length,e=c[1],u=void 0===c[3]?p:'\"'===c[3]?$:g):u===$||u===g?u=p:u===_||u===m?u=f:(u=p,r=void 0);const w=u===p&&t[i+1].startsWith(\"/>\")?\" \":\"\";d+=u===f?s+h:v>=0?(l.push(e),s.slice(0,v)+o+s.slice(v)+n+w):s+n+(-2===v?(l.push(void 0),i):w)}const c=d+(t[s]||\"<?>\")+(2===i?\"</svg>\":\"\");if(!Array.isArray(t)||!t.hasOwnProperty(\"raw\"))throw Error(\"invalid template strings array\");return[void 0!==e?e.createHTML(c):c,l]};class V{constructor({strings:t,_$litType$:i},e){let h;this.parts=[];let r=0,u=0;const c=t.length-1,v=this.parts,[a,f]=P(t,i);if(this.el=V.createElement(a,e),C.currentNode=this.el.content,2===i){const t=this.el.content,i=t.firstChild;i.remove(),t.append(...i.childNodes)}for(;null!==(h=C.nextNode())&&v.length<c;){if(1===h.nodeType){if(h.hasAttributes()){const t=[];for(const i of h.getAttributeNames())if(i.endsWith(o)||i.startsWith(n)){const s=f[u++];if(t.push(i),void 0!==s){const t=h.getAttribute(s.toLowerCase()+o).split(n),i=/([.?@])?(.*)/.exec(s);v.push({type:1,index:r,name:i[2],strings:t,ctor:\".\"===i[1]?k:\"?\"===i[1]?I:\"@\"===i[1]?L:R})}else v.push({type:6,index:r})}for(const i of t)h.removeAttribute(i)}if(y.test(h.tagName)){const t=h.textContent.split(n),i=t.length-1;if(i>0){h.textContent=s?s.emptyScript:\"\";for(let s=0;s<i;s++)h.append(t[s],d()),C.nextNode(),v.push({type:2,index:++r});h.append(t[i],d())}}}else if(8===h.nodeType)if(h.data===l)v.push({type:2,index:r});else{let t=-1;for(;-1!==(t=h.data.indexOf(n,t+1));)v.push({type:7,index:r}),t+=n.length-1}r++}}static createElement(t,i){const s=r.createElement(\"template\");return s.innerHTML=t,s}}function N(t,i,s=t,e){var o,n,l,h;if(i===T)return i;let r=void 0!==e?null===(o=s._$Co)||void 0===o?void 0:o[e]:s._$Cl;const d=u(i)?void 0:i._$litDirective$;return(null==r?void 0:r.constructor)!==d&&(null===(n=null==r?void 0:r._$AO)||void 0===n||n.call(r,!1),void 0===d?r=void 0:(r=new d(t),r._$AT(t,s,e)),void 0!==e?(null!==(l=(h=s)._$Co)&&void 0!==l?l:h._$Co=[])[e]=r:s._$Cl=r),void 0!==r&&(i=N(t,r._$AS(t,i.values),r,e)),i}class S{constructor(t,i){this._$AV=[],this._$AN=void 0,this._$AD=t,this._$AM=i}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}u(t){var i;const{el:{content:s},parts:e}=this._$AD,o=(null!==(i=null==t?void 0:t.creationScope)&&void 0!==i?i:r).importNode(s,!0);C.currentNode=o;let n=C.nextNode(),l=0,h=0,d=e[0];for(;void 0!==d;){if(l===d.index){let i;2===d.type?i=new M(n,n.nextSibling,this,t):1===d.type?i=new d.ctor(n,d.name,d.strings,this,t):6===d.type&&(i=new z(n,this,t)),this._$AV.push(i),d=e[++h]}l!==(null==d?void 0:d.index)&&(n=C.nextNode(),l++)}return o}v(t){let i=0;for(const s of this._$AV)void 0!==s&&(void 0!==s.strings?(s._$AI(t,s,i),i+=s.strings.length-2):s._$AI(t[i])),i++}}class M{constructor(t,i,s,e){var o;this.type=2,this._$AH=A,this._$AN=void 0,this._$AA=t,this._$AB=i,this._$AM=s,this.options=e,this._$Cp=null===(o=null==e?void 0:e.isConnected)||void 0===o||o}get _$AU(){var t,i;return null!==(i=null===(t=this._$AM)||void 0===t?void 0:t._$AU)&&void 0!==i?i:this._$Cp}get parentNode(){let t=this._$AA.parentNode;const i=this._$AM;return void 0!==i&&11===(null==t?void 0:t.nodeType)&&(t=i.parentNode),t}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(t,i=this){t=N(this,t,i),u(t)?t===A||null==t||\"\"===t?(this._$AH!==A&&this._$AR(),this._$AH=A):t!==this._$AH&&t!==T&&this._(t):void 0!==t._$litType$?this.g(t):void 0!==t.nodeType?this.$(t):v(t)?this.T(t):this._(t)}k(t){return this._$AA.parentNode.insertBefore(t,this._$AB)}$(t){this._$AH!==t&&(this._$AR(),this._$AH=this.k(t))}_(t){this._$AH!==A&&u(this._$AH)?this._$AA.nextSibling.data=t:this.$(r.createTextNode(t)),this._$AH=t}g(t){var i;const{values:s,_$litType$:e}=t,o=\"number\"==typeof e?this._$AC(t):(void 0===e.el&&(e.el=V.createElement(e.h,this.options)),e);if((null===(i=this._$AH)||void 0===i?void 0:i._$AD)===o)this._$AH.v(s);else{const t=new S(o,this),i=t.u(this.options);t.v(s),this.$(i),this._$AH=t}}_$AC(t){let i=E.get(t.strings);return void 0===i&&E.set(t.strings,i=new V(t)),i}T(t){c(this._$AH)||(this._$AH=[],this._$AR());const i=this._$AH;let s,e=0;for(const o of t)e===i.length?i.push(s=new M(this.k(d()),this.k(d()),this,this.options)):s=i[e],s._$AI(o),e++;e<i.length&&(this._$AR(s&&s._$AB.nextSibling,e),i.length=e)}_$AR(t=this._$AA.nextSibling,i){var s;for(null===(s=this._$AP)||void 0===s||s.call(this,!1,!0,i);t&&t!==this._$AB;){const i=t.nextSibling;t.remove(),t=i}}setConnected(t){var i;void 0===this._$AM&&(this._$Cp=t,null===(i=this._$AP)||void 0===i||i.call(this,t))}}class R{constructor(t,i,s,e,o){this.type=1,this._$AH=A,this._$AN=void 0,this.element=t,this.name=i,this._$AM=e,this.options=o,s.length>2||\"\"!==s[0]||\"\"!==s[1]?(this._$AH=Array(s.length-1).fill(new String),this.strings=s):this._$AH=A}get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}_$AI(t,i=this,s,e){const o=this.strings;let n=!1;if(void 0===o)t=N(this,t,i,0),n=!u(t)||t!==this._$AH&&t!==T,n&&(this._$AH=t);else{const e=t;let l,h;for(t=o[0],l=0;l<o.length-1;l++)h=N(this,e[s+l],i,l),h===T&&(h=this._$AH[l]),n||(n=!u(h)||h!==this._$AH[l]),h===A?t=A:t!==A&&(t+=(null!=h?h:\"\")+o[l+1]),this._$AH[l]=h}n&&!e&&this.j(t)}j(t){t===A?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,null!=t?t:\"\")}}class k extends R{constructor(){super(...arguments),this.type=3}j(t){this.element[this.name]=t===A?void 0:t}}const H=s?s.emptyScript:\"\";class I extends R{constructor(){super(...arguments),this.type=4}j(t){t&&t!==A?this.element.setAttribute(this.name,H):this.element.removeAttribute(this.name)}}class L extends R{constructor(t,i,s,e,o){super(t,i,s,e,o),this.type=5}_$AI(t,i=this){var s;if((t=null!==(s=N(this,t,i,0))&&void 0!==s?s:A)===T)return;const e=this._$AH,o=t===A&&e!==A||t.capture!==e.capture||t.once!==e.once||t.passive!==e.passive,n=t!==A&&(e===A||o);o&&this.element.removeEventListener(this.name,this,e),n&&this.element.addEventListener(this.name,this,t),this._$AH=t}handleEvent(t){var i,s;\"function\"==typeof this._$AH?this._$AH.call(null!==(s=null===(i=this.options)||void 0===i?void 0:i.host)&&void 0!==s?s:this.element,t):this._$AH.handleEvent(t)}}class z{constructor(t,i,s){this.element=t,this.type=6,this._$AN=void 0,this._$AM=i,this.options=s}get _$AU(){return this._$AM._$AU}_$AI(t){N(this,t)}}const Z={O:o,P:n,A:l,C:1,M:P,L:S,D:v,R:N,I:M,V:R,H:I,N:L,U:k,F:z},j=i.litHtmlPolyfillSupport;null==j||j(V,M),(null!==(t=i.litHtmlVersions)&&void 0!==t?t:i.litHtmlVersions=[]).push(\"2.7.2\");const B=(t,i,s)=>{var e,o;const n=null!==(e=null==s?void 0:s.renderBefore)&&void 0!==e?e:i;let l=n._$litPart$;if(void 0===l){const t=null!==(o=null==s?void 0:s.renderBefore)&&void 0!==o?o:null;n._$litPart$=l=new M(i.insertBefore(d(),t),t,void 0,null!=s?s:{})}return l._$AI(t),l};export{Z as _$LH,x as html,T as noChange,A as nothing,B as render,b as svg};\n//# sourceMappingURL=lit-html.js.map\n","import{ReactiveElement as t}from\"@lit/reactive-element\";export*from\"@lit/reactive-element\";import{render as e,noChange as i}from\"lit-html\";export*from\"lit-html\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */var l,o;const r=t;class s extends t{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0}createRenderRoot(){var t,e;const i=super.createRenderRoot();return null!==(t=(e=this.renderOptions).renderBefore)&&void 0!==t||(e.renderBefore=i.firstChild),i}update(t){const i=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(t),this._$Do=e(i,this.renderRoot,this.renderOptions)}connectedCallback(){var t;super.connectedCallback(),null===(t=this._$Do)||void 0===t||t.setConnected(!0)}disconnectedCallback(){var t;super.disconnectedCallback(),null===(t=this._$Do)||void 0===t||t.setConnected(!1)}render(){return i}}s.finalized=!0,s._$litElement$=!0,null===(l=globalThis.litElementHydrateSupport)||void 0===l||l.call(globalThis,{LitElement:s});const n=globalThis.litElementPolyfillSupport;null==n||n({LitElement:s});const h={_$AK:(t,e,i)=>{t._$AK(e,i)},_$AL:t=>t._$AL};(null!==(o=globalThis.litElementVersions)&&void 0!==o?o:globalThis.litElementVersions=[]).push(\"3.3.1\");export{s as LitElement,r as UpdatingElement,h as _$LE};\n//# sourceMappingURL=lit-element.js.map\n","/** Waits for a specific event to be emitted from an element. Ignores events that bubble up from child elements. */\nexport function waitForEvent(el: HTMLElement, eventName: string) {\n return new Promise<void>(resolve => {\n function done(event: Event) {\n if (event.target === el) {\n el.removeEventListener(eventName, done);\n resolve();\n }\n }\n\n el.addEventListener(eventName, done);\n });\n}\n","// @watch decorator\n//\n// Runs when an observed property changes, e.g. @property or @state, but before the component updates.\n//\n// To wait for an update to complete after a change occurs, use `await this.updateComplete` in the handler. To start\n// watching after the initial update/render, use `{ waitUntilFirstUpdate: true }` or `this.hasUpdated` in the handler.\n//\n// Usage:\n//\n// @watch('propName')\n// handlePropChange(oldValue, newValue) {\n// ...\n// }\n\nimport type { LitElement } from \"lit\";\n\ntype UpdateHandler = (prev?: unknown, next?: unknown) => void;\n\ntype NonUndefined<A> = A extends undefined ? never : A;\n\ntype UpdateHandlerFunctionKeys<T extends object> = {\n [K in keyof T]-?: NonUndefined<T[K]> extends UpdateHandler ? K : never;\n}[keyof T];\n\ninterface WatchOptions {\n /**\n * If true, will only start watching after the initial update/render\n */\n waitUntilFirstUpdate?: boolean;\n}\n\nexport function watch(propName: string, options?: WatchOptions) {\n const resolvedOptions: Required<WatchOptions> = {\n waitUntilFirstUpdate: false,\n ...options\n };\n return <ElemClass extends LitElement>(\n proto: ElemClass,\n decoratedFnName: UpdateHandlerFunctionKeys<ElemClass>\n ): void => {\n // @ts-expect-error -- update is a protected property\n const { update } = proto;\n if (propName in proto) {\n const propNameKey = propName as keyof ElemClass;\n // @ts-expect-error -- update is a protected property\n proto.update = function (this: ElemClass, changedProps: Map<keyof ElemClass, ElemClass[keyof ElemClass]>) {\n if (changedProps.has(propNameKey)) {\n const oldValue = changedProps.get(propNameKey);\n const newValue = this[propNameKey];\n\n if (oldValue !== newValue) {\n if (!resolvedOptions.waitUntilFirstUpdate || this.hasUpdated) {\n (this[decoratedFnName] as unknown as UpdateHandler)(oldValue, newValue);\n }\n }\n }\n\n update.call(this, changedProps);\n };\n }\n };\n}\n","export*from\"@lit/reactive-element\";export*from\"lit-html\";export{LitElement,UpdatingElement,_$LE}from\"./lit-element.js\";export*from\"@lit/reactive-element/decorators/base.js\";export*from\"@lit/reactive-element/decorators/custom-element.js\";export*from\"@lit/reactive-element/decorators/property.js\";export*from\"@lit/reactive-element/decorators/state.js\";export*from\"@lit/reactive-element/decorators/event-options.js\";export*from\"@lit/reactive-element/decorators/query.js\";export*from\"@lit/reactive-element/decorators/query-all.js\";export*from\"@lit/reactive-element/decorators/query-async.js\";export*from\"@lit/reactive-element/decorators/query-assigned-elements.js\";export*from\"@lit/reactive-element/decorators/query-assigned-nodes.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */console.warn(\"The main 'lit-element' module entrypoint is deprecated. Please update your imports to use the 'lit' package: 'lit' and 'lit/decorators.ts' or import from 'lit-element/lit-element.ts'. See https://lit.dev/msg/deprecated-import-path for more information.\");\n//# sourceMappingURL=index.js.map\n","import { LitElement } from \"lit\";\nimport styles from \"./sgds-element.scss\";\nexport default class SgdsElement extends LitElement {\n static styles = styles;\n /** Emits a custom event with more convenient defaults. */\n emit(name: string, options?: CustomEventInit) {\n const event = new CustomEvent(name, {\n bubbles: true,\n cancelable: false,\n composed: true,\n detail: {},\n ...options\n });\n\n this.dispatchEvent(event);\n\n return event;\n }\n}\n","import { animateTo, shimKeyframesHeightAuto, stopAnimations } from \"../../utils/animate\";\nimport { classMap } from \"lit/directives/class-map.js\";\nimport { customElement, property, query } from \"lit/decorators.js\";\nimport { getAnimation, setDefaultAnimation } from \"../../utils/animation-registry\";\nimport { html } from \"lit\";\nimport { waitForEvent } from \"../../utils/event\";\nimport { watch } from \"../../utils/watch\";\nimport SgdsElement from \"../../base/sgds-element\";\nimport styles from \"./sgds-accordion-item.scss\";\n\n/**\n * @slot default - content of the accordion item\n *\n * @event sgds-show - Emitted on show.\n * @event sgds-after-show - Emitted on show after animation has completed.\n * @event sgds-hide - Emitted on hide.\n * @event sgds-after-hide - Emitted on hide after animation has completed.\n *\n * @csspart base - The accordion-item base wrapper\n * @csspart header - The accordion-item button header\n * @csspart content - The accordion-item content\n */\n@customElement(\"sgds-accordion-item\")\nexport class SgdsAccordionItem extends SgdsElement {\n static styles = [SgdsElement.styles, styles];\n /** @internal */\n @query(\".accordion-item\") accordion: HTMLElement;\n /** @internal */\n @query(\".accordion-button\") header: HTMLElement;\n /** @internal */\n @query(\".accordion-body\") body: HTMLElement;\n\n /** Controls whether accordion-item is open or close */\n @property({ type: Boolean, reflect: true }) open = false;\n /** Title of the accordion */\n @property() summary: string;\n /** Disables the accordion-item. When true, accordion-item cannot open */\n @property({ type: Boolean, reflect: true }) disabled = false;\n /** Optional for accordion item. Can be used to insert any utility classes such as `me-auto` */\n @property({ reflect: true }) accordionItemClasses?: string;\n\n firstUpdated() {\n this.body.hidden = !this.open;\n this.body.style.height = this.open ? \"auto\" : \"0\";\n }\n\n private handleSummaryClick() {\n if (!this.disabled) {\n if (this.open) {\n this.hide();\n } else {\n this.show();\n }\n\n this.header.focus();\n }\n }\n\n private handleSummaryKeyDown(event: KeyboardEvent) {\n if (event.key === \"Enter\" || event.key === \" \") {\n event.preventDefault();\n\n if (this.open) {\n this.hide();\n } else {\n this.show();\n }\n }\n\n if (event.key === \"ArrowUp\" || event.key === \"ArrowLeft\") {\n event.preventDefault();\n this.hide();\n }\n\n if (event.key === \"ArrowDown\" || event.key === \"ArrowRight\") {\n event.preventDefault();\n this.show();\n }\n }\n\n @watch(\"open\", { waitUntilFirstUpdate: true })\n async handleOpenChange() {\n if (this.open) {\n // Show\n const sgdsShow = this.emit(\"sgds-show\", { cancelable: true });\n if (sgdsShow.defaultPrevented) {\n this.open = false;\n return;\n }\n\n await stopAnimations(this.body);\n this.body.hidden = false;\n\n const { keyframes, options } = getAnimation(this, \"accordion.show\");\n await animateTo(this.body, shimKeyframesHeightAuto(keyframes, this.body.scrollHeight), options);\n this.body.style.height = \"auto\";\n\n this.emit(\"sgds-after-show\");\n } else {\n // Hide\n const slHide = this.emit(\"sgds-hide\", { cancelable: true });\n if (slHide.defaultPrevented) {\n this.open = true;\n return;\n }\n\n await stopAnimations(this.body);\n\n const { keyframes, options } = getAnimation(this, \"accordion.hide\");\n await animateTo(this.body, shimKeyframesHeightAuto(keyframes, this.body.scrollHeight), options);\n this.body.hidden = true;\n this.body.style.height = \"auto\";\n\n this.emit(\"sgds-after-hide\");\n }\n }\n\n /** Shows the accordion. */\n public async show() {\n if (this.open || this.disabled) {\n return undefined;\n }\n\n this.open = true;\n return waitForEvent(this, \"sgds-after-show\");\n }\n\n /** Hide the accordion */\n public async hide() {\n if (!this.open || this.disabled) {\n return undefined;\n }\n\n this.open = false;\n return waitForEvent(this, \"sgds-after-hide\");\n }\n\n render() {\n return html`\n <div\n part=\"base\"\n class=${classMap({\n sgds: true,\n \"accordion-item\": true,\n //TODO: Remove unnecessary classes\n \"accordion--open\": this.open,\n \"accordion--disabled\": this.disabled,\n [`${this.accordionItemClasses}`]: this.accordionItemClasses\n })}\n >\n <button\n part=\"header\"\n class=${classMap({\n \"accordion-button\": true,\n collapsed: !this.open\n })}\n id=\"header\"\n role=\"button\"\n aria-expanded=${this.open ? \"true\" : \"false\"}\n aria-controls=\"content\"\n aria-disabled=${this.disabled ? \"true\" : \"false\"}\n tabindex=${this.disabled ? \"-1\" : \"0\"}\n @click=${this.handleSummaryClick}\n @keydown=${this.handleSummaryKeyDown}\n >\n ${this.summary}\n </button>\n <div class=\"accordion-body\">\n <slot part=\"content\" id=\"content\" class=\"accordion-content\" role=\"region\" aria-labelledby=\"header\"></slot>\n </div>\n </div>\n `;\n }\n}\n\nsetDefaultAnimation(\"accordion.show\", {\n keyframes: [\n { height: \"0\", opacity: \"0\" },\n { height: \"auto\", opacity: \"1\" }\n ],\n options: { duration: 200, easing: \"ease-in-out\" }\n});\n\nsetDefaultAnimation(\"accordion.hide\", {\n keyframes: [\n { height: \"auto\", opacity: \"1\" },\n { height: \"0\", opacity: \"0\" }\n ],\n options: { duration: 200, easing: \"ease-in-out\" }\n});\n\nexport default SgdsAccordionItem;\n","import * as React from \"react\";\nimport { createComponent } from \"@lit-labs/react\";\nimport Component from \"../../components/Accordion/sgds-accordion-item\";\n\nexport default createComponent({\n react: React,\n tagName: \"sgds-accordion-item\",\n elementClass: Component,\n events: {\n onSgdsShow: \"sgds-show\",\n onSgdsAfterShow: \"sgds-after-show\",\n onSgdsHide: \"sgds-hide\",\n onSgdsAfterHide: \"sgds-after-hide\"\n }\n});\n","import { classMap } from \"lit/directives/class-map.js\";\nimport { html } from \"lit\";\nimport { customElement, property, queryAssignedNodes } from \"lit/decorators.js\";\nimport SgdsElement from \"../../base/sgds-element\";\nimport styles from \"./sgds-accordion.scss\";\nimport type SgdsAccordionItem from \"./sgds-accordion-item\";\n\n/**\n * @summary A dropdown mechanism that allow users to either show or hide related content.\n * @slot default - slot for accordion-item\n */\n@customElement(\"sgds-accordion\")\nexport class SgdsAccordion extends SgdsElement {\n static styles = [SgdsElement.styles, styles];\n\n @property({ type: Boolean, reflect: true }) allowMultiple = false;\n\n @property({ reflect: true }) accordionClasses?: string;\n\n /** @internal */\n @queryAssignedNodes()\n private defaultNodes!: NodeListOf<SgdsAccordionItem>;\n\n /** @internal */\n get items(): SgdsAccordionItem[] {\n return [...(this.defaultNodes || [])].filter(\n (node: HTMLElement) => typeof node.tagName !== \"undefined\"\n ) as SgdsAccordionItem[];\n }\n\n firstUpdated() {\n const items = [...this.items] as SgdsAccordionItem[];\n items.forEach((item, index) => {\n if (items.length > 1) {\n switch (index) {\n case 0:\n item.setAttribute(\"first-of-type\", \"\");\n break;\n\n case items.length - 1:\n item.setAttribute(\"last-of-type\", \"\");\n break;\n\n default:\n item.setAttribute(\"nth-of-type\", \"\");\n }\n }\n });\n }\n\n async onToggle(event: Event): Promise<void> {\n const target = event.target as SgdsAccordionItem;\n // Let the event pass through the DOM so that it can be\n // prevented from the outside if a user so desires.\n if (this.allowMultiple || event.defaultPrevented) {\n // No toggling when `allowMultiple` or the user prevents it.\n return;\n }\n const items = [...this.items] as SgdsAccordionItem[];\n\n if (items && !items.length) {\n // no toggling when there aren't items.\n return;\n }\n items.forEach(item => {\n if (item !== target) {\n // Close all the items that didn't dispatch the event.\n item.open = false;\n }\n });\n }\n\n render() {\n return html`\n <div\n class=\"\n ${classMap({\n \"sgds accordion\": true,\n [`${this.accordionClasses}`]: this.accordionClasses\n })}\"\n >\n <slot @click=${this.onToggle}></slot>\n </div>\n `;\n }\n}\n\nexport default SgdsAccordion;\n","import * as React from \"react\";\nimport { createComponent } from \"@lit-labs/react\";\nimport Component from \"../../components/Accordion/sgds-accordion\";\n\nexport default createComponent({\n react: React,\n tagName: \"sgds-accordion\",\n elementClass: Component,\n events: {}\n});\n","import{_$LH as o}from\"./lit-html.js\";\n/**\n * @license\n * Copyright 2020 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const{I:l}=o,t=o=>null===o||\"object\"!=typeof o&&\"function\"!=typeof o,i={HTML:1,SVG:2},n=(o,l)=>void 0===l?void 0!==(null==o?void 0:o._$litType$):(null==o?void 0:o._$litType$)===l,d=o=>void 0!==(null==o?void 0:o._$litDirective$),v=o=>null==o?void 0:o._$litDirective$,e=o=>void 0===o.strings,c=()=>document.createComment(\"\"),r=(o,t,i)=>{var n;const d=o._$AA.parentNode,v=void 0===t?o._$AB:t._$AA;if(void 0===i){const t=d.insertBefore(c(),v),n=d.insertBefore(c(),v);i=new l(t,n,o,o.options)}else{const l=i._$AB.nextSibling,t=i._$AM,e=t!==o;if(e){let l;null===(n=i._$AQ)||void 0===n||n.call(i,o),i._$AM=o,void 0!==i._$AP&&(l=o._$AU)!==t._$AU&&i._$AP(l)}if(l!==v||e){let o=i._$AA;for(;o!==l;){const l=o.nextSibling;d.insertBefore(o,v),o=l}}}return i},u=(o,l,t=o)=>(o._$AI(l,t),o),f={},s=(o,l=f)=>o._$AH=l,m=o=>o._$AH,p=o=>{var l;null===(l=o._$AP)||void 0===l||l.call(o,!1,!0);let t=o._$AA;const i=o._$AB.nextSibling;for(;t!==i;){const o=t.nextSibling;t.remove(),t=o}},a=o=>{o._$AR()};export{i as TemplateResultType,a as clearPart,m as getCommittedValue,v as getDirectiveClass,r as insertPart,d as isDirectiveResult,t as isPrimitive,e as isSingleExpression,n as isTemplateResult,p as removePart,u as setChildPartValue,s as setCommittedValue};\n//# sourceMappingURL=directive-helpers.js.map\n","import{isSingleExpression as i}from\"./directive-helpers.js\";import{Directive as t,PartType as e}from\"./directive.js\";export{Directive,PartType,directive}from\"./directive.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const s=(i,t)=>{var e,o;const r=i._$AN;if(void 0===r)return!1;for(const i of r)null===(o=(e=i)._$AO)||void 0===o||o.call(e,t,!1),s(i,t);return!0},o=i=>{let t,e;do{if(void 0===(t=i._$AM))break;e=t._$AN,e.delete(i),i=t}while(0===(null==e?void 0:e.size))},r=i=>{for(let t;t=i._$AM;i=t){let e=t._$AN;if(void 0===e)t._$AN=e=new Set;else if(e.has(i))break;e.add(i),l(t)}};function n(i){void 0!==this._$AN?(o(this),this._$AM=i,r(this)):this._$AM=i}function h(i,t=!1,e=0){const r=this._$AH,n=this._$AN;if(void 0!==n&&0!==n.size)if(t)if(Array.isArray(r))for(let i=e;i<r.length;i++)s(r[i],!1),o(r[i]);else null!=r&&(s(r,!1),o(r));else s(this,i)}const l=i=>{var t,s,o,r;i.type==e.CHILD&&(null!==(t=(o=i)._$AP)&&void 0!==t||(o._$AP=h),null!==(s=(r=i)._$AQ)&&void 0!==s||(r._$AQ=n))};class c extends t{constructor(){super(...arguments),this._$AN=void 0}_$AT(i,t,e){super._$AT(i,t,e),r(this),this.isConnected=i._$AU}_$AO(i,t=!0){var e,r;i!==this.isConnected&&(this.isConnected=i,i?null===(e=this.reconnected)||void 0===e||e.call(this):null===(r=this.disconnected)||void 0===r||r.call(this)),t&&(s(this,i),o(this))}setValue(t){if(i(this._$Ct))this._$Ct._$AI(t,this);else{const i=[...this._$Ct._$AH];i[this._$Ci]=t,this._$Ct._$AI(i,this,0)}}disconnected(){}reconnected(){}}export{c as AsyncDirective};\n//# sourceMappingURL=async-directive.js.map\n","import{nothing as i}from\"../lit-html.js\";import{AsyncDirective as t}from\"../async-directive.js\";import{directive as s}from\"../directive.js\";\n/**\n * @license\n * Copyright 2020 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const e=()=>new o;class o{}const h=new WeakMap,n=s(class extends t{render(t){return i}update(t,[s]){var e;const o=s!==this.G;return o&&void 0!==this.G&&this.ot(void 0),(o||this.rt!==this.lt)&&(this.G=s,this.ct=null===(e=t.options)||void 0===e?void 0:e.host,this.ot(this.lt=t.element)),i}ot(i){var t;if(\"function\"==typeof this.G){const s=null!==(t=this.ct)&&void 0!==t?t:globalThis;let e=h.get(s);void 0===e&&(e=new WeakMap,h.set(s,e)),void 0!==e.get(this.G)&&this.G.call(this.ct,void 0),e.set(this.G,i),void 0!==i&&this.G.call(this.ct,i)}else this.G.value=i}get rt(){var i,t,s;return\"function\"==typeof this.G?null===(t=h.get(null!==(i=this.ct)&&void 0!==i?i:globalThis))||void 0===t?void 0:t.get(this.G):null===(s=this.G)||void 0===s?void 0:s.value}disconnected(){this.rt===this.lt&&this.ot(void 0)}reconnected(){this.ot(this.lt)}});export{e as createRef,n as ref};\n//# sourceMappingURL=ref.js.map\n","import{html as t,svg as r}from\"./lit-html.js\";\n/**\n * @license\n * Copyright 2020 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const e=Symbol.for(\"\"),l=t=>{if((null==t?void 0:t.r)===e)return null==t?void 0:t._$litStatic$},o=t=>({_$litStatic$:t,r:e}),i=(t,...r)=>({_$litStatic$:r.reduce(((r,e,l)=>r+(t=>{if(void 0!==t._$litStatic$)return t._$litStatic$;throw Error(`Value passed to 'literal' function must be a 'literal' result: ${t}. Use 'unsafeStatic' to pass non-literal values, but\\n take care to ensure page security.`)})(e)+t[l+1]),t[0]),r:e}),s=new Map,a=t=>(r,...e)=>{const o=e.length;let i,a;const n=[],u=[];let c,$=0,f=!1;for(;$<o;){for(c=r[$];$<o&&void 0!==(a=e[$],i=l(a));)c+=i+r[++$],f=!0;u.push(a),n.push(c),$++}if($===o&&n.push(r[o]),f){const t=n.join(\"$$lit$$\");void 0===(r=s.get(t))&&(n.raw=n,s.set(t,r=n)),e=u}return t(r,...e)},n=a(t),u=a(r);export{n as html,i as literal,u as svg,o as unsafeStatic,a as withStatic};\n//# sourceMappingURL=static.js.map\n","import { property } from \"lit/decorators.js\";\nimport SgdsElement from \"./sgds-element\";\n\nexport type CardBorderVariant = \"primary\" | \"secondary\" | \"success\" | \"danger\" | \"warning\" | \"info\" | \"dark\" | \"light\";\n\nexport type CardTextVariant =\n | \"primary\"\n | \"secondary\"\n | \"success\"\n | \"danger\"\n | \"warning\"\n | \"info\"\n | \"dark\"\n | \"light\"\n | \"white\"\n | \"muted\";\n\nexport class CardElement extends SgdsElement {\n static styles = SgdsElement.styles;\n\n @property({ type: String })\n\n /** The border's variant. */\n @property()\n borderColor?: CardBorderVariant;\n\n /** The bg's variant. */\n @property() bgColor?: CardBorderVariant;\n\n /** The text's variant. */\n @property() textColor?: CardTextVariant;\n\n @property({ type: Boolean, reflect: true })\n disabled = false;\n}\n","import { customElement, property } from \"lit/decorators.js\";\nimport { classMap } from \"lit/directives/class-map.js\";\nimport { Ref, createRef, ref } from \"lit/directives/ref.js\";\nimport { html } from \"lit/static-html.js\";\nimport { CardElement } from \"../../base/card-element\";\nimport styles from \"./sgds-action-card.scss\";\n\nexport type CardVariant = \"card-action\" | \"card-action-quantity-toggle\";\n\nexport type TypeVariant = \"checkbox\" | \"radio\";\n\n@customElement(\"sgds-action-card\")\nexport class SgdsActionCard extends CardElement {\n static styles = [CardElement.styles, styles];\n /** @internal */\n inputRef: Ref<HTMLInputElement> = createRef();\n\n @property({ type: String, reflect: true }) type?: TypeVariant = \"checkbox\";\n\n /** Use on actionable cards like SelectableCard and Quantity Toggle Card' */\n @property({ reflect: true }) variant: CardVariant = \"card-action\";\n\n /** The card's subtitle iconName. */\n @property({ reflect: true }) iconName?: string;\n\n /** The input's id. */\n @property({ reflect: true }) inputId?: string;\n\n @property({ reflect: true, type: Boolean })\n active = false;\n\n // Declare the click event listener\n onInputChange() {\n this.inputRef.value.click();\n if (this.inputRef.value.checked && !this.inputRef.value.disabled) this.active = true;\n else if (!this.inputRef.value.checked) {\n this.active = false;\n }\n }\n\n handleKeyDown(event: KeyboardEvent) {\n const hasModifier = event.metaKey || event.ctrlKey || event.shiftKey || event.altKey;\n if (event.key === \"Enter\" && !hasModifier) {\n this.onInputChange();\n }\n }\n // handleChange(event: string){\n // this.checked = this.inputRef.value.checked;\n // this.emit(event);\n // }\n\n render() {\n const checkbox = html`<sgds-checkbox\n ${ref(this.inputRef)}\n ?disabled=${this.disabled}\n checkboxId=${this.inputId}\n @click=${this.onInputChange}\n @keydown=${this.handleKeyDown}\n ></sgds-checkbox>`;\n\n const radio = html`<sgds-radio\n ${ref(this.inputRef)}\n ?disabled=${this.disabled}\n radioId=${this.inputId}\n @click=${this.onInputChange}\n @keydown=${this.handleKeyDown}\n ></sgds-radio>`;\n\n const icon = html`<sl-icon name=\"${this.iconName}\"></sl-icon>`;\n\n return html`\n <div\n tabindex=${this.disabled ? \"-1\" : \"0\"}\n @click=${this.onInputChange}\n @keydown=${this.handleKeyDown}\n \n variant=\"card-action\"\n class=\"sgds card\n ${classMap({\n [`text-${this.textColor}`]: this.textColor,\n [`bg-${this.bgColor}`]: this.bgColor,\n [`border-${this.borderColor}`]: this.borderColor,\n [\"is-active\"]: this.active\n })}\n \"\n >\n <div class=\"card-body\">\n <h6 class=\"text-muted card-subtitle\">\n <div>\n ${this.iconName == undefined ? undefined : icon}\n <slot name=\"card-subtitle\"></slot></slot>\n </div>\n <div class=\"card-input\">\n ${\n this.type == \"checkbox\" && this.variant == \"card-action\"\n ? checkbox\n : this.type == \"radio\" && this.variant == \"card-action\"\n ? radio\n : undefined\n }\n </div>\n </h6>\n <h5 class=\"card-title\"><slot name=\"card-title\"></slot></h5>\n <p class=\"card-text\"><slot name=\"card-text\"></slot></p>\n </div>\n </div>\n `;\n }\n}\n\nexport default SgdsActionCard;\n","import * as React from \"react\";\nimport { createComponent } from \"@lit-labs/react\";\nimport Component from \"../../components/ActionCard/sgds-action-card\";\n\nexport default createComponent({\n react: React,\n tagName: \"sgds-action-card\",\n elementClass: Component,\n events: {}\n});\n","import{nothing as t}from\"../lit-html.js\";\n/**\n * @license\n * Copyright 2018 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const l=l=>null!=l?l:t;export{l as ifDefined};\n//# sourceMappingURL=if-defined.js.map\n","import { customElement, property } from \"lit/decorators.js\";\nimport { classMap } from \"lit/directives/class-map.js\";\nimport { ifDefined } from \"lit/directives/if-defined.js\";\nimport { html } from \"lit/static-html.js\";\nimport SgdsElement from \"../../base/sgds-element\";\nimport styles from \"./sgds-alert.scss\";\n\n//TODO: Alert Link\n/**\n *\n * @dependency sl-icon-button\n *\n * @slot - The alert's main content.\n * @slot icon - An icon to show in the alert. Works best with `<sl-icon>`.\n *\n * @event sl-show - Emitted when the alert opens.\n * @event sl-after-show - Emitted after the alert opens and all animations are complete.\n * @event sl-hide - Emitted when the alert closes.\n * @event sl-after-hide - Emitted after the alert closes and all animations are complete.\n *\n * @csspart base - The component's base wrapper.\n * @csspart icon - The container that wraps the optional icon.\n * @csspart message - The container that wraps the alert's main content.\n * @csspart close-button - The close button, an `<sl-icon-button>`.\n * @csspart close-button__base - The close button's exported `base` part.\n *\n * @animation alert.show - The animation to use when showing the alert.\n * @animation alert.hide - The animation to use when hiding the alert.\n */\n\nexport type AlertVariant = \"primary\" | \"secondary\" | \"success\" | \"danger\" | \"warning\" | \"info\" | \"light\";\n\n@customElement(\"sgds-alert\")\nexport class SgdsAlert extends SgdsElement {\n static styles = [SgdsElement.styles, styles];\n\n // @query('[part~=\"base\"]') base: HTMLElement;\n\n @property({ type: Boolean, reflect: true }) show = false;\n\n /** Enables a close button that allows the user to dismiss the alert. */\n @property({ type: Boolean, reflect: true }) dismissible? = false;\n\n /** The alert's theme variant. */\n @property({ reflect: true }) variant: AlertVariant = \"primary\";\n\n @property({ type: String }) closeLabel?: string;\n\n @property({ reflect: true }) alertClasses?: string;\n\n toggleShow() {\n if (!this.show) {\n this.show = true;\n this.emit(\"sgds-show\");\n }\n }\n\n handleCloseClick() {\n this.show = false;\n this.emit(\"sgds-hide\");\n }\n\n render() {\n return html`\n <div\n part=\"base\"\n class=\"${classMap({\n sgds: true,\n alert: true,\n fade: true,\n show: this.show,\n [`alert-${this.variant}`]: this.variant,\n [`alert-dismissible`]: this.dismissible,\n [`${this.alertClasses}`]: this.alertClasses\n })}\"\n role=\"alert\"\n aria-hidden=${this.show ? \"false\" : \"true\"}\n >\n <slot></slot>\n ${this.dismissible\n ? html`<sgds-closebutton\n class=\"btn-close btn-sm\"\n closeLabel=${ifDefined(this.closeLabel)}\n @click=${this.handleCloseClick}\n ></sgds-closebutton>`\n : null}\n </div>\n `;\n }\n}\n\nexport default SgdsAlert;\n","import * as React from \"react\";\nimport { createComponent } from \"@lit-labs/react\";\nimport Component from \"../../components/Alert/sgds-alert\";\n\nexport default createComponent({\n react: React,\n tagName: \"sgds-alert\",\n elementClass: Component,\n events: {}\n});\n","import { html } from \"lit\";\nimport { customElement, property } from \"lit/decorators.js\";\nimport { classMap } from \"lit/directives/class-map.js\";\nimport SgdsElement from \"../../base/sgds-element\";\nimport styles from \"./sgds-badge.scss\";\n\nexport type BadgeVariant = \"primary\" | \"secondary\" | \"success\" | \"danger\" | \"warning\" | \"info\" | \"light\" | \"dark\";\n\n@customElement(\"sgds-badge\")\nexport class SgdsBadge extends SgdsElement {\n static styles = [SgdsElement.styles, styles];\n\n @property({ reflect: true }) variant: BadgeVariant = \"primary\";\n @property({ type: Boolean, reflect: true }) isLight;\n @property({ type: Boolean, reflect: true }) roundedPill;\n render() {\n return html`\n <span\n class=\" \n ${classMap({\n \"sgds badge\": true,\n [`bg-${this.variant}`]: this.variant,\n \"badge-light\": this.isLight,\n \"rounded-pill\": this.roundedPill\n })}\n \"\n >\n <slot name=\"leftIcon\"></slot>\n <slot></slot>\n <slot name=\"rightIcon\"></slot>\n </span>\n `;\n }\n}\n\nexport default SgdsBadge;\n","import * as React from \"react\";\nimport { createComponent } from \"@lit-labs/react\";\nimport Component from \"../../components/Badge/sgds-badge\";\n\nexport default createComponent({\n react: React,\n tagName: \"sgds-badge\",\n elementClass: Component,\n events: {}\n});\n","import { customElement, property } from \"lit/decorators.js\";\nimport { html } from \"lit\";\nimport { ifDefined } from \"lit/directives/if-defined.js\";\nimport { classMap } from \"lit/directives/class-map.js\";\nimport SgdsElement from \"../../base/sgds-element\";\nimport styles from \"./sgds-breadcrumb.scss\";\n\n@customElement(\"sgds-breadcrumb-item\")\nexport class SgdsBreadcrumbItem extends SgdsElement {\n static styles = [SgdsElement.styles, styles];\n\n @property({ type: String, reflect: true }) currentPage;\n\n @property({ type: String }) href;\n\n @property() target?: \"_blank\" | \"_parent\" | \"_self\" | \"_top\";\n\n @property() rel = \"noreferrer noopener\";\n\n render() {\n const isLink = this.href ? true : false;\n\n return html`\n <div\n part=\"base\"\n class=${classMap({\n \"breadcrumb-item\": true\n })}\n >\n ${isLink\n ? html`\n <a\n part=\"label\"\n href=\"${this.href}\"\n rel=${ifDefined(this.target ? this.rel : undefined)}\n target=${ifDefined(this.target)}\n ><slot></slot\n ></a>\n `\n : html`<span part=\"label\"><slot></slot></span>`}\n <slot name=\"separator\" part=\"separator\" class=\"breadcrumb-item__separator\" aria-hidden=\"true\"></slot>\n </div>\n `;\n }\n}\n\nexport default SgdsBreadcrumbItem;\n","import * as React from \"react\";\nimport { createComponent } from \"@lit-labs/react\";\nimport Component from \"../../components/Breadcrumb/sgds-breadcrumb-item\";\n\nexport default createComponent({\n react: React,\n tagName: \"sgds-breadcrumb-item\",\n elementClass: Component,\n events: {}\n});\n","import { customElement, property, query } from \"lit/decorators.js\";\nimport { classMap } from \"lit/directives/class-map.js\";\nimport { html } from \"lit/static-html.js\";\nimport SgdsElement from \"../../base/sgds-element\";\nimport type SgdsBreadcrumbItem from \"./sgds-breadcrumb-item\";\nimport styles from \"./sgds-breadcrumb.scss\";\n\n@customElement(\"sgds-breadcrumb\")\nexport class SgdsBreadcrumb extends SgdsElement {\n static styles = [SgdsElement.styles, styles];\n\n @property({ type: String, reflect: true }) ariaLabel = \"breadcrumb\";\n\n @property({ reflect: true }) breadcrumbClasses?: string;\n\n @query(\"slot\") defaultSlot: HTMLSlotElement;\n @query('slot[name=\"separator\"]') separatorSlot: HTMLSlotElement;\n\n // Generates a clone of the separator element to use for each breadcrumb item\n private getSeparator() {\n const separator = this.separatorSlot.assignedElements({ flatten: true })[0] as HTMLElement;\n\n // Clone it, remove ids, and slot it\n const clone = separator.cloneNode(true) as HTMLElement;\n [clone, ...clone.querySelectorAll(\"[id]\")].forEach(el => el.removeAttribute(\"id\"));\n clone.setAttribute(\"data-default\", \"\");\n clone.slot = \"separator\";\n\n return clone;\n }\n\n private handleSlotChange() {\n const items = [...this.defaultSlot.assignedElements({ flatten: true })].filter(\n item => item.tagName.toLowerCase() === \"sgds-breadcrumb-item\"\n ) as SgdsBreadcrumbItem[];\n\n items.forEach((item, index) => {\n // Append separators to each item if they don't already have one\n const separator = item.querySelector('[slot=\"separator\"]');\n if (separator === null) {\n // No separator exists, add one\n item.append(this.getSeparator());\n } else if (separator.hasAttribute(\"data-default\")) {\n // A default separator exists, replace it\n separator.replaceWith(this.getSeparator());\n } else {\n // The user provided a custom separator, leave it alone\n }\n\n // The last breadcrumb item is the \"current page\"\n\n if (index === items.length - 1) {\n console.log(items.length - 1);\n item.setAttribute(\"aria-current\", \"page\");\n } else {\n item.removeAttribute(\"aria-current\");\n }\n });\n }\n\n render() {\n return html`\n <nav\n class=\"sgds breadcrumb\n ${classMap({\n [`${this.breadcrumbClasses}`]: this.breadcrumbClasses\n })}\"\n aria-label=${this.ariaLabel}\n part=\"base\"\n >\n <slot @slotchange=${this.handleSlotChange}></slot>\n </nav>\n <slot name=\"separator\" hidden aria-hidden=\"true\">\n <span class=\"sgds-breadcrumb-seperator\"></span>\n </slot>\n `;\n }\n}\n\nexport default SgdsBreadcrumb;\n","import * as React from \"react\";\nimport { createComponent } from \"@lit-labs/react\";\nimport Component from \"../../components/Breadcrumb/sgds-breadcrumb\";\n\nexport default createComponent({\n react: React,\n tagName: \"sgds-breadcrumb\",\n elementClass: Component,\n events: {}\n});\n","import type SgdsButton from \"../components/Button/sgds-button\";\nimport type { ReactiveController, ReactiveControllerHost } from \"lit\";\n\nconst reportValidityOverloads: WeakMap<HTMLFormElement, () => boolean> = new WeakMap();\n\nexport interface FormSubmitControllerOptions {\n /** A function that returns the form containing the form control. */\n form: (input: unknown) => HTMLFormElement | null;\n /** A function that returns the form control's name, which will be submitted with the form data. */\n name: (input: unknown) => string;\n /** A function that returns the form control's current value. */\n value: (input: unknown) => unknown | unknown[];\n /** A function that returns the form control's default value. */\n defaultValue: (input: unknown) => unknown | unknown[];\n /** A function that returns the form control's current disabled state. If disabled, the value won't be submitted. */\n disabled: (input: unknown) => boolean;\n /**\n * A function that maps to the form control's reportValidity() function. When the control is invalid, this will\n * prevent submission and trigger the browser's constraint violation warning.\n */\n reportValidity: (input: unknown) => boolean;\n\n /** A function that sets the form control's value */\n setValue: (input: unknown, value: unknown) => void;\n}\n\nexport class FormSubmitController implements ReactiveController {\n host?: ReactiveControllerHost & Element;\n form?: HTMLFormElement | null;\n options: FormSubmitControllerOptions;\n\n constructor(host: ReactiveControllerHost & Element, options?: Partial<FormSubmitControllerOptions>) {\n (this.host = host).addController(this);\n this.options = {\n form: (input: HTMLInputElement) => input.closest(\"form\"),\n name: (input: HTMLInputElement) => input.name,\n value: (input: HTMLInputElement) => input.value,\n defaultValue: (input: HTMLInputElement) => input.defaultValue,\n disabled: (input: HTMLInputElement) => input.disabled,\n reportValidity: (input: HTMLInputElement) => {\n return typeof input.reportValidity === \"function\" ? input.reportValidity() : true;\n },\n setValue: (input: HTMLInputElement, value: string) => {\n input.value = value;\n },\n ...options\n };\n this.handleFormData = this.handleFormData.bind(this);\n this.handleFormSubmit = this.handleFormSubmit.bind(this);\n this.handleFormReset = this.handleFormReset.bind(this);\n this.reportFormValidity = this.reportFormValidity.bind(this);\n }\n\n hostConnected() {\n this.form = this.options.form(this.host);\n\n if (this.form) {\n this.form.addEventListener(\"formdata\", this.handleFormData);\n this.form.addEventListener(\"submit\", this.handleFormSubmit);\n this.form.addEventListener(\"reset\", this.handleFormReset);\n\n // Overload the form's reportValidity() method so it looks at Shoelace form controls\n if (!reportValidityOverloads.has(this.form)) {\n reportValidityOverloads.set(this.form, this.form.reportValidity);\n this.form.reportValidity = () => this.reportFormValidity();\n }\n }\n }\n\n hostDisconnected() {\n if (this.form) {\n this.form.removeEventListener(\"formdata\", this.handleFormData);\n this.form.removeEventListener(\"submit\", this.handleFormSubmit);\n this.form.removeEventListener(\"reset\", this.handleFormReset);\n\n // Remove the overload and restore the original method\n if (reportValidityOverloads.has(this.form)) {\n this.form.reportValidity = reportValidityOverloads.get(this.form);\n reportValidityOverloads.delete(this.form);\n }\n\n this.form = undefined;\n }\n }\n\n handleFormData(event: FormDataEvent) {\n const disabled = this.options.disabled(this.host);\n const name = this.options.name(this.host);\n const value = this.options.value(this.host);\n\n if (!disabled && typeof name === \"string\" && typeof value !== \"undefined\") {\n if (Array.isArray(value)) {\n (value as unknown[]).forEach(val => {\n event.formData.append(name, (val as string | number | boolean).toString());\n });\n } else {\n event.formData.append(name, (value as string | number | boolean).toString());\n }\n }\n }\n\n handleFormSubmit(event: Event) {\n const disabled = this.options.disabled(this.host);\n const reportValidity = this.options.reportValidity;\n\n if (this.form && !this.form.noValidate && !disabled && !reportValidity(this.host)) {\n event.preventDefault();\n event.stopImmediatePropagation();\n }\n }\n\n handleFormReset() {\n this.options.setValue(this.host, this.options.defaultValue(this.host));\n }\n\n reportFormValidity() {\n //\n // Shoelace form controls work hard to act like regular form controls. They support the Constraint Validation API\n // and its associated methods such as setCustomValidity() and reportValidity(). However, the HTMLFormElement also\n // has a reportValidity() method that will trigger validation on all child controls. Since we're not yet using\n // ElementInternals, we need to overload this method so it looks for any element with the reportValidity() method.\n //\n // We preserve the original method in a WeakMap, but we don't call it from the overload because that would trigger\n // validations in an unexpected order. When the element disconnects, we revert to the original behavior. This won't\n // be necessary once we can use ElementInternals.\n //\n // Note that we're also honoring the form's novalidate attribute.\n //\n if (this.form && !this.form.noValidate) {\n // This seems sloppy, but checking all elements will cover native inputs, Shoelace inputs, and other custom\n // elements that support the constraint validation API.\n const elements = this.form.querySelectorAll<HTMLInputElement>(\"*\");\n\n for (const element of elements) {\n if (typeof element.reportValidity === \"function\") {\n if (!element.reportValidity()) {\n return false;\n }\n }\n }\n }\n\n return true;\n }\n\n doAction(type: \"submit\" | \"reset\", invoker?: HTMLInputElement | SgdsButton) {\n if (this.form) {\n const button = document.createElement(\"button\");\n button.type = type;\n button.style.position = \"absolute\";\n button.style.width = \"0\";\n button.style.height = \"0\";\n button.style.clipPath = \"inset(50%)\";\n button.style.overflow = \"hidden\";\n button.style.whiteSpace = \"nowrap\";\n\n // Pass form attributes through to the temporary button\n if (invoker) {\n [\"formaction\", \"formmethod\", \"formnovalidate\", \"formtarget\"].forEach(attr => {\n if (invoker.hasAttribute(attr)) {\n button.setAttribute(attr, invoker.getAttribute(attr));\n }\n });\n }\n\n this.form.append(button);\n button.click();\n button.remove();\n }\n }\n\n /** Resets the form, restoring all the control to their default value */\n reset(invoker?: HTMLInputElement | SgdsButton) {\n this.doAction(\"reset\", invoker);\n }\n\n /** Submits the form, triggering validation and form data injection. */\n submit(invoker?: HTMLInputElement | SgdsButton) {\n // Calling form.submit() bypasses the submit event and constraint validation. To prevent this, we can inject a\n // native submit button into the form, \"click\" it, then remove it to simulate a standard form submission.\n this.doAction(\"submit\", invoker);\n }\n}\n","import { customElement, property, state, query } from \"lit/decorators.js\";\nimport { html, literal } from \"lit/static-html.js\";\nimport { ifDefined } from \"lit/directives/if-defined.js\";\nimport { classMap } from \"lit/directives/class-map.js\";\nimport { FormSubmitController } from \"../../utils/form\";\nimport SgdsElement from \"../../base/sgds-element\";\nimport styles from \"./sgds-button.scss\";\n\nexport type ButtonVariant =\n | \"primary\"\n | \"secondary\"\n | \"success\"\n | \"danger\"\n | \"warning\"\n | \"info\"\n | \"light\"\n | \"dark\"\n | \"link\"\n | \"outline-primary\"\n | \"outline-secondary\"\n | \"outline-success\"\n | \"outline-danger\"\n | \"outline-warning\"\n | \"outline-info\"\n | \"outline-light\"\n | \"outline-dark\";\n\n/**\n * @slot - The button's label.\n *\n * @event sgds-blur - Emitted when the button is not focused.\n * @event sgds-focus - Emitted when the button is focused.\n */\n@customElement(\"sgds-button\")\nexport class SgdsButton extends SgdsElement {\n static styles = [SgdsElement.styles, styles];\n\n @query(\".btn\") button: HTMLButtonElement | HTMLLinkElement;\n\n private readonly formSubmitController = new FormSubmitController(this, {\n form: (input: HTMLInputElement) => {\n // Buttons support a form attribute that points to an arbitrary form, so if this attribute it set we need to query\n // the form from the same root using its id\n if (input.hasAttribute(\"form\")) {\n const doc = input.getRootNode() as Document | ShadowRoot;\n const formId = input.getAttribute(\"form\");\n return doc.getElementById(formId) as HTMLFormElement;\n }\n\n // Fall back to the closest containing form\n return input.closest(\"form\");\n }\n });\n\n @state() private hasFocus = false;\n\n /** The button's variant. */\n @property({ reflect: true }) variant: ButtonVariant = \"primary\";\n\n @property({ reflect: true }) buttonClasses?: string;\n\n /** Button sizes */\n @property({ reflect: true }) size: \"sm\" | \"lg\";\n\n /** Button active state */\n @property({ type: Boolean, reflect: true }) active = false;\n\n /** Button disabled state */\n @property({ type: Boolean, reflect: true }) disabled = false;\n\n @property() type: \"button\" | \"submit\" | \"reset\" = \"button\";\n\n /** When set, the underlying button will be rendered as an `<a>` with this `href` instead of a `<button>`. */\n @property() href?: string;\n\n /** Tells the browser where to open the link. Only used when `href` is set. */\n @property() target?: \"_blank\" | \"_parent\" | \"_self\" | \"_top\";\n\n /** Tells the browser to download the linked file as this filename. Only used when `href` is set. */\n @property({ reflect: true }) download?: string;\n\n /**\n * The \"form owner\" to associate the button with. If omitted, the closest containing form will be used instead. The\n * value of this attribute must be an id of a form in the same document or shadow root as the button.\n */\n @property() form: string;\n\n /** Used to override the form owner's `action` attribute. */\n @property({ attribute: \"formaction\" }) formAction: string;\n\n /** Used to override the form owner's `method` attribute. */\n @property({ attribute: \"formmethod\" }) formMethod: \"post\" | \"get\";\n\n /** Used to override the form owner's `novalidate` attribute. */\n @property({ attribute: \"formnovalidate\", type: Boolean })\n formNoValidate: boolean;\n\n /** Used to override the form owner's `target` attribute. */\n @property({ attribute: \"formtarget\" }) formTarget: \"_self\" | \"_blank\" | \"_parent\" | \"_top\" | string;\n\n /** Sets focus on the button. */\n focus(options?: FocusOptions) {\n this.button.focus(options);\n }\n\n /** Simulates a click on the button. */\n click() {\n this.button.click();\n }\n\n /** Removes focus from the button. */\n blur() {\n this.button.blur();\n }\n\n handleBlur() {\n this.hasFocus = false;\n this.emit(\"sgds-blur\");\n }\n\n handleFocus() {\n this.hasFocus = true;\n this.emit(\"sgds-focus\");\n }\n\n handleClick(event: MouseEvent) {\n if (this.disabled) {\n event.preventDefault();\n event.stopPropagation();\n return;\n }\n\n this.removeEventListener(\"click\", this.clickHandler);\n this.addEventListener(\"click\", this.clickHandler);\n }\n\n clickHandler = () => {\n if (this.type === \"submit\") {\n this.formSubmitController.submit(this);\n }\n if (this.type === \"reset\") {\n this.formSubmitController.reset(this);\n }\n };\n\n render() {\n const isLink = this.href;\n const tag = isLink ? literal`a` : literal`button`;\n return html`\n <${tag}\n class=\"sgds btn ${classMap({\n disabled: isLink && this.disabled,\n active: this.active,\n [`btn-${this.variant}`]: this.variant,\n [`btn-${this.size}`]: this.size,\n [`${this.buttonClasses}`]: this.buttonClasses\n })}\"\n ?disabled=${ifDefined(isLink ? undefined : this.disabled)}\n type=${ifDefined(isLink ? undefined : this.type)}\n href=${ifDefined(isLink ? this.href : undefined)}\n target=${ifDefined(isLink ? this.target : undefined)}\n download=${ifDefined(isLink ? this.download : undefined)}\n rel=${ifDefined(isLink && this.target === \"_blank\" ? \"noreferrer noopener\" : undefined)}\n role=${ifDefined(isLink ? \"button\" : undefined)}\n aria-disabled=${this.disabled ? \"true\" : \"false\"}\n tabindex=${this.disabled ? \"-1\" : \"0\"}\n @click=${this.handleClick}\n @focus=${this.handleFocus}\n @blur=${this.handleBlur}\n >\n <slot></slot>\n </${tag}>\n `;\n }\n}\n\nexport default SgdsButton;\n","import * as React from \"react\";\nimport { createComponent } from \"@lit-labs/react\";\nimport Component from \"../../components/Button/sgds-button\";\n\nexport default createComponent({\n react: React,\n tagName: \"sgds-button\",\n elementClass: Component,\n events: {\n onSgdsBlur: \"sgds-blur\",\n onSgdsFocus: \"sgds-focus\"\n }\n});\n","import{noChange as r,nothing as e}from\"../lit-html.js\";import{directive as i,Directive as t,PartType as n}from\"../directive.js\";import{isSingleExpression as o,setCommittedValue as s}from\"../directive-helpers.js\";\n/**\n * @license\n * Copyright 2020 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const l=i(class extends t{constructor(r){if(super(r),r.type!==n.PROPERTY&&r.type!==n.ATTRIBUTE&&r.type!==n.BOOLEAN_ATTRIBUTE)throw Error(\"The `live` directive is not allowed on child or event bindings\");if(!o(r))throw Error(\"`live` bindings can only contain a single expression\")}render(r){return r}update(i,[t]){if(t===r||t===e)return t;const o=i.element,l=i.name;if(i.type===n.PROPERTY){if(t===o[l])return r}else if(i.type===n.BOOLEAN_ATTRIBUTE){if(!!t===o.hasAttribute(l))return r}else if(i.type===n.ATTRIBUTE&&o.getAttribute(l)===t+\"\")return r;return s(i),t}});export{l as live};\n//# sourceMappingURL=live.js.map\n","// @defaultValue decorator\n//\n// Runs when the corresponding attribute of the observed property changes, e.g. after calling Element.setAttribute or after updating\n// the observed property.\n//\n// The decorator checks whether the value of the attribute is different from the value of the property and in that case\n// it saves the new value.\n//\n//\n// Usage:\n//\n// @property({ type: Boolean, reflect: true })\n// checked = false;\n//\n// @defaultValue('checked')\n// defaultChecked = false;\n//\n\nimport { defaultConverter } from \"lit\";\nimport type { ReactiveElement } from \"lit\";\n\nexport const defaultValue =\n (propertyName = \"value\") =>\n (proto: ReactiveElement, key: string) => {\n const ctor = proto.constructor as typeof ReactiveElement;\n\n const attributeChangedCallback = ctor.prototype.attributeChangedCallback;\n ctor.prototype.attributeChangedCallback = function (\n this: ReactiveElement & { [name: string]: unknown },\n name,\n old,\n value\n ) {\n const options = ctor.getPropertyOptions(propertyName);\n const attributeName = typeof options.attribute === \"string\" ? options.attribute : propertyName;\n\n if (name === attributeName) {\n const converter = options.converter || defaultConverter;\n const fromAttribute =\n typeof converter === \"function\" ? converter : converter?.fromAttribute ?? defaultConverter.fromAttribute;\n\n const newValue: unknown = fromAttribute(value, options.type);\n\n if (this[propertyName] !== newValue) {\n this[key] = newValue;\n }\n }\n\n attributeChangedCallback.call(this, name, old, value);\n };\n };\n","export default function (componentName = \"\", elementName = \"\"): string {\n return `id-${Math.random().toString().substring(2, 6)}-sgds-${componentName}-${elementName}`;\n}\n","import { html } from \"lit\";\nimport { customElement, property, query } from \"lit/decorators.js\";\nimport { classMap } from \"lit/directives/class-map.js\";\nimport { ifDefined } from \"lit/directives/if-defined.js\";\nimport { live } from \"lit/directives/live.js\";\nimport SgdsElement from \"../../base/sgds-element\";\nimport { defaultValue } from \"../../utils/defaultvalue\";\nimport { FormSubmitController } from \"../../utils/form\";\nimport genId from \"../../utils/generateId\";\nimport { watch } from \"../../utils/watch\";\nimport styles from \"./sgds-checkbox.scss\";\n\n@customElement(\"sgds-checkbox\")\nexport class SgdsCheckbox extends SgdsElement {\n static styles = [SgdsElement.styles, styles];\n\n @query('input[type=\"checkbox\"]') input: HTMLInputElement;\n\n private readonly formSubmitController = new FormSubmitController(this, {\n value: (control: SgdsCheckbox) => (control.checked ? control.value : undefined),\n defaultValue: (control: SgdsCheckbox) => control.defaultChecked,\n setValue: (control: SgdsCheckbox, checked: boolean) => (control.checked = checked)\n });\n\n /** Name of the HTML form control. Submitted with the form as part of a name/value pair. */\n @property({ reflect: true }) name: string;\n\n /** For Id/For pair of the HTML form control. */\n @property({ type: String, reflect: true }) checkboxId = genId(\"checkbox\");\n\n /** For aria-label when there is no appropriate text label visible */\n @property({ type: String, reflect: true }) ariaLabel = \"checkbox\";\n\n /** Manually style the input as valid */\n @property({ type: Boolean, reflect: true }) valid = false;\n\n /** Manually style the input as invalid */\n @property({ type: Boolean, reflect: true }) invalid = false;\n\n /** Value of the HTML form control. Primarily used to differentiate a list of related checkboxes that have the same name. */\n @property() value: string;\n\n /** Makes the checkbox a required field. */\n @property({ type: Boolean, reflect: true }) required = false;\n\n /** Draws the checkbox in a checked state. */\n @property({ type: Boolean, reflect: true }) checked = false;\n\n /** Disables the checkbox (so the user can't check / uncheck it). */\n @property({ type: Boolean, reflect: true }) disabled = false;\n\n /** Gets or sets the default value used to reset this element. The initial value corresponds to the one originally specified in the HTML that created this element. */\n @defaultValue(\"checked\")\n defaultChecked = false;\n\n /** Simulates a click on the checkbox. */\n click() {\n this.input.click();\n }\n\n /** Checks for validity and shows the browser's validation message if the control is invalid. */\n reportValidity() {\n if (!this.input.reportValidity()) {\n this.invalid = !this.input.checkValidity();\n }\n return this.input.reportValidity();\n }\n\n handleChange() {\n // console.log(\n // \"when this.click() is fired, input detects a change --> handleChange runs\"\n // );\n this.checked = !this.checked;\n this.value = this.input.value;\n this.emit(\"sgds-change\");\n }\n\n handleKeyDown(event: KeyboardEvent) {\n const hasModifier = event.metaKey || event.ctrlKey || event.shiftKey || event.altKey;\n if (event.key === \"Enter\" && !hasModifier) {\n // console.log(\n // \"so here we are trying to mimick keydown enter event like a mousclick event\"\n // );\n this.click();\n }\n }\n\n @watch(\"disabled\", { waitUntilFirstUpdate: true })\n handleDisabledChange() {\n // Disabled form controls are always valid, so we need to recheck validity when the state changes\n this.input.disabled = this.disabled;\n this.invalid = !this.input.checkValidity();\n }\n\n @watch(\"checked\", { waitUntilFirstUpdate: true })\n handleStateChange() {\n this.invalid = !this.input.checkValidity();\n if (this.required) this.valid = this.input.checkValidity();\n }\n\n render() {\n return html`\n <div part=\"base\" class=\"form-check\">\n <input\n part=\"control\"\n class=${classMap({\n \"form-check-input\": true,\n \"is-invalid\": this.invalid,\n \"is-valid\": this.valid\n })}\n type=\"checkbox\"\n id=${ifDefined(this.checkboxId)}\n aria-invalid=${this.invalid ? \"true\" : \"false\"}\n name=${ifDefined(this.name)}\n value=${ifDefined(this.value)}\n .checked=${live(this.checked)}\n ?disabled=${this.disabled}\n ?required=${this.required}\n aria-disabled=${this.disabled ? \"true\" : \"false\"}\n aria-checked=${this.checked ? \"true\" : \"false\"}\n @change=${this.handleChange}\n @keydown=${this.handleKeyDown}\n />\n <label\n part=\"label\"\n for=\"${ifDefined(this.checkboxId)}\"\n aria-label=${ifDefined(this.ariaLabel)}\n class=\"form-check-label\"\n ><slot></slot\n ></label>\n ${this.invalid\n ? html`<slot\n name=\"feedback\"\n part=\"feedback\"\n class=${classMap({\n \"invalid-feedback\": true\n })}\n ></slot>`\n : undefined}\n </div>\n `;\n }\n}\n\nexport default SgdsCheckbox;\n","import * as React from \"react\";\nimport { createComponent } from \"@lit-labs/react\";\nimport Component from \"../../components/Checkbox/sgds-checkbox\";\n\nexport default createComponent({\n react: React,\n tagName: \"sgds-checkbox\",\n elementClass: Component,\n events: {}\n});\n","import { html } from \"lit\";\nimport { customElement, property } from \"lit/decorators.js\";\nimport { classMap } from \"lit/directives/class-map.js\";\nimport SgdsElement from \"../../base/sgds-element\";\nimport styles from \"./sgds-closebutton.scss\";\n\n@customElement(\"sgds-closebutton\")\nexport class SgdsCloseButton extends SgdsElement {\n static styles = [SgdsElement.styles, styles];\n\n @property({ type: Boolean, reflect: true })\n closed = false;\n\n @property({ type: String }) closeLabel = \"Close alert\";\n\n handleClick() {\n this.closed = true;\n this.dispatchEvent(new CustomEvent(\"sgds-close\", { detail: this.closed }));\n }\n\n render() {\n return html`\n <button\n type=\"button\"\n class=${classMap({ \"btn-close btn-sm\": true })}\n aria-label=${this.closeLabel}\n @click=\"${this.handleClick}\"\n ></button>\n `;\n }\n}\n\nexport default SgdsCloseButton;\n","import * as React from \"react\";\nimport { createComponent } from \"@lit-labs/react\";\nimport Component from \"../../components/CloseButton/sgds-closebutton\";\n\nexport default createComponent({\n react: React,\n tagName: \"sgds-closebutton\",\n elementClass: Component,\n events: {\n onSgdsClose: \"sgds-close\"\n }\n});\n","import { html } from \"lit\";\nimport SgdsElement from \"./sgds-element\";\nimport { property } from \"lit/decorators.js\";\nimport { classMap } from \"lit/directives/class-map.js\";\n\nexport default class LinkElement extends SgdsElement {\n static styles = SgdsElement.styles;\n\n @property({ type: Boolean })\n active = false;\n\n @property({ type: String })\n href = \"\";\n\n @property({ type: Boolean, reflect: true })\n disabled = false;\n\n render() {\n return html`\n <li>\n <a\n href=\"${this.href}\"\n class=\"nav-link ${classMap({\n disabled: this.disabled,\n active: this.active\n })} \"\n ?disabled=${this.disabled}\n aria-disabled=${this.disabled ? \"true\" : \"false\"}\n ><slot></slot\n ></a>\n </li>\n `;\n }\n}\n","import { html } from \"lit\";\nimport { customElement, query } from \"lit/decorators.js\";\nimport { classMap } from \"lit/directives/class-map.js\";\nimport LinkElement from \"../../base/link-element\";\nimport styles from \"./sgds-dropdown.scss\";\n\n@customElement(\"sgds-dropdown-item\")\nexport class SgdsDropdownItem extends LinkElement {\n static styles = [LinkElement.styles, styles];\n\n @query(\"a\")\n anchor: HTMLElement;\n firstUpdated() {\n //required when navigate with ArrowDown/ArrowUp\n this.addEventListener(\"keydown\", (e: KeyboardEvent) => {\n if (e.key === \"Enter\") {\n this.anchor.click();\n }\n });\n }\n\n render() {\n return html`\n <li>\n <a\n href=\"${this.href}\"\n class=\"dropdown-item ${classMap({\n disabled: this.disabled,\n active: this.active\n })}\"\n ?disabled=${this.disabled}\n aria-disabled=${this.disabled ? \"true\" : \"false\"}\n tabindex=${this.disabled ? \"-1\" : \"0\"}\n ><slot></slot\n ></a>\n </li>\n `;\n }\n}\n\nexport default SgdsDropdownItem;\n","import * as React from \"react\";\nimport { createComponent } from \"@lit-labs/react\";\nimport Component from \"../../components/Dropdown/sgds-dropdown-item\";\n\nexport default createComponent({\n react: React,\n tagName: \"sgds-dropdown-item\",\n elementClass: Component,\n events: {}\n});\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;","export default function getUAString() {\n var uaData = navigator.userAgentData;\n\n if (uaData != null && uaData.brands && Array.isArray(uaData.brands)) {\n return uaData.brands.map(function (item) {\n return item.brand + \"/\" + item.version;\n }).join(' ');\n }\n\n return navigator.userAgent;\n}","import getUAString from \"../utils/userAgent.js\";\nexport default function isLayoutViewport() {\n return !/^((?!chrome|android).)*safari/i.test(getUAString());\n}","import { isElement, isHTMLElement } from \"./instanceOf.js\";\nimport { round } from \"../utils/math.js\";\nimport getWindow from \"./getWindow.js\";\nimport isLayoutViewport from \"./isLayoutViewport.js\";\nexport default function getBoundingClientRect(element, includeScale, isFixedStrategy) {\n if (includeScale === void 0) {\n includeScale = false;\n }\n\n if (isFixedStrategy === void 0) {\n isFixedStrategy = false;\n }\n\n var clientRect = element.getBoundingClientRect();\n var scaleX = 1;\n var scaleY = 1;\n\n if (includeScale && isHTMLElement(element)) {\n scaleX = element.offsetWidth > 0 ? round(clientRect.width) / element.offsetWidth || 1 : 1;\n scaleY = element.offsetHeight > 0 ? round(clientRect.height) / element.offsetHeight || 1 : 1;\n }\n\n var _ref = isElement(element) ? getWindow(element) : window,\n visualViewport = _ref.visualViewport;\n\n var addVisualOffsets = !isLayoutViewport() && isFixedStrategy;\n var x = (clientRect.left + (addVisualOffsets && visualViewport ? visualViewport.offsetLeft : 0)) / scaleX;\n var y = (clientRect.top + (addVisualOffsets && visualViewport ? visualViewport.offsetTop : 0)) / scaleY;\n var width = clientRect.width / scaleX;\n var height = clientRect.height / scaleY;\n return {\n width: width,\n height: height,\n top: y,\n right: x + width,\n bottom: y + height,\n left: x,\n x: x,\n y: y\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 getNodeName from \"./getNodeName.js\";\nexport default function isTableElement(element) {\n return ['table', 'td', 'th'].indexOf(getNodeName(element)) >= 0;\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\";\nimport getUAString from \"../utils/userAgent.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 = /firefox/i.test(getUAString());\n var isIE = /Trident/i.test(getUAString());\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}","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, win) {\n var x = _ref.x,\n y = _ref.y;\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 }, getWindow(popper)) : {\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 <html> 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 <html>\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 getWindow from \"./getWindow.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport getWindowScrollBarX from \"./getWindowScrollBarX.js\";\nimport isLayoutViewport from \"./isLayoutViewport.js\";\nexport default function getViewportRect(element, strategy) {\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;\n\n if (visualViewport) {\n width = visualViewport.width;\n height = visualViewport.height;\n var layoutViewport = isLayoutViewport();\n\n if (layoutViewport || !layoutViewport && strategy === 'fixed') {\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 `<html>` and `<body>` 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 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 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}","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}","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, strategy) {\n var rect = getBoundingClientRect(element, false, strategy === 'fixed');\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, strategy) {\n return clippingParent === viewport ? rectToClientRect(getViewportRect(element, strategy)) : isElement(clippingParent) ? getInnerBoundingClientRect(clippingParent, strategy) : 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, strategy) {\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, strategy);\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, strategy));\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 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$strategy = _options.strategy,\n strategy = _options$strategy === void 0 ? state.strategy : _options$strategy,\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, strategy);\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 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 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 { 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};","export default function getAltAxis(axis) {\n return axis === 'x' ? 'y' : 'x';\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 getHTMLElementScroll(element) {\n return {\n scrollLeft: element.scrollLeft,\n scrollTop: element.scrollTop\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}","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, isFixed);\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 { 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}","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 format(str) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n return [].concat(args).reduce(function (p, c) {\n return p.replace(/%s/, c);\n }, str);\n}","import format from \"./format.js\";\nimport { modifierPhases } from \"../enums.js\";\nvar INVALID_MODIFIER_ERROR = 'Popper: modifier \"%s\" provided an invalid %s property, expected %s but got %s';\nvar MISSING_DEPENDENCY_ERROR = 'Popper: modifier \"%s\" requires \"%s\", but \"%s\" modifier is not available';\nvar VALID_PROPERTIES = ['name', 'enabled', 'phase', 'fn', 'effect', 'requires', 'options'];\nexport default function validateModifiers(modifiers) {\n modifiers.forEach(function (modifier) {\n [].concat(Object.keys(modifier), VALID_PROPERTIES) // IE11-compatible replacement for `new Set(iterable)`\n .filter(function (value, index, self) {\n return self.indexOf(value) === index;\n }).forEach(function (key) {\n switch (key) {\n case 'name':\n if (typeof modifier.name !== 'string') {\n console.error(format(INVALID_MODIFIER_ERROR, String(modifier.name), '\"name\"', '\"string\"', \"\\\"\" + String(modifier.name) + \"\\\"\"));\n }\n\n break;\n\n case 'enabled':\n if (typeof modifier.enabled !== 'boolean') {\n console.error(format(INVALID_MODIFIER_ERROR, modifier.name, '\"enabled\"', '\"boolean\"', \"\\\"\" + String(modifier.enabled) + \"\\\"\"));\n }\n\n break;\n\n case 'phase':\n if (modifierPhases.indexOf(modifier.phase) < 0) {\n console.error(format(INVALID_MODIFIER_ERROR, modifier.name, '\"phase\"', \"either \" + modifierPhases.join(', '), \"\\\"\" + String(modifier.phase) + \"\\\"\"));\n }\n\n break;\n\n case 'fn':\n if (typeof modifier.fn !== 'function') {\n console.error(format(INVALID_MODIFIER_ERROR, modifier.name, '\"fn\"', '\"function\"', \"\\\"\" + String(modifier.fn) + \"\\\"\"));\n }\n\n break;\n\n case 'effect':\n if (modifier.effect != null && typeof modifier.effect !== 'function') {\n console.error(format(INVALID_MODIFIER_ERROR, modifier.name, '\"effect\"', '\"function\"', \"\\\"\" + String(modifier.fn) + \"\\\"\"));\n }\n\n break;\n\n case 'requires':\n if (modifier.requires != null && !Array.isArray(modifier.requires)) {\n console.error(format(INVALID_MODIFIER_ERROR, modifier.name, '\"requires\"', '\"array\"', \"\\\"\" + String(modifier.requires) + \"\\\"\"));\n }\n\n break;\n\n case 'requiresIfExists':\n if (!Array.isArray(modifier.requiresIfExists)) {\n console.error(format(INVALID_MODIFIER_ERROR, modifier.name, '\"requiresIfExists\"', '\"array\"', \"\\\"\" + String(modifier.requiresIfExists) + \"\\\"\"));\n }\n\n break;\n\n case 'options':\n case 'data':\n break;\n\n default:\n console.error(\"PopperJS: an invalid property has been provided to the \\\"\" + modifier.name + \"\\\" modifier, valid properties are \" + VALID_PROPERTIES.map(function (s) {\n return \"\\\"\" + s + \"\\\"\";\n }).join(', ') + \"; but \\\"\" + key + \"\\\" was provided.\");\n }\n\n modifier.requires && modifier.requires.forEach(function (requirement) {\n if (modifiers.find(function (mod) {\n return mod.name === requirement;\n }) == null) {\n console.error(format(MISSING_DEPENDENCY_ERROR, String(modifier.name), requirement, requirement));\n }\n });\n });\n });\n}","export default function uniqueBy(arr, fn) {\n var identifiers = new Set();\n return arr.filter(function (item) {\n var identifier = fn(item);\n\n if (!identifiers.has(identifier)) {\n identifiers.add(identifier);\n return true;\n }\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 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 };","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 };","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\";","/*!\n * Bootstrap v5.2.3 (https://getbootstrap.com/)\n * Copyright 2011-2022 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\nimport * as Popper from '@popperjs/core';\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.2.3): util/index.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\nconst MAX_UID = 1000000;\nconst MILLISECONDS_MULTIPLIER = 1000;\nconst TRANSITION_END = 'transitionend'; // Shout-out Angus Croll (https://goo.gl/pxwQGp)\n\nconst toType = object => {\n if (object === null || object === undefined) {\n return `${object}`;\n }\n\n return Object.prototype.toString.call(object).match(/\\s([a-z]+)/i)[1].toLowerCase();\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 hrefAttribute = element.getAttribute('href'); // 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\n if (!hrefAttribute || !hrefAttribute.includes('#') && !hrefAttribute.startsWith('.')) {\n return null;\n } // Just in case some CMS puts out a full URL with the anchor appended\n\n\n if (hrefAttribute.includes('#') && !hrefAttribute.startsWith('#')) {\n hrefAttribute = `#${hrefAttribute.split('#')[1]}`;\n }\n\n selector = hrefAttribute && hrefAttribute !== '#' ? hrefAttribute.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 return selector ? document.querySelector(selector) : null;\n};\n\nconst getTransitionDurationFromElement = element => {\n if (!element) {\n return 0;\n } // Get transition-duration of the element\n\n\n let {\n transitionDuration,\n transitionDelay\n } = window.getComputedStyle(element);\n const floatTransitionDuration = Number.parseFloat(transitionDuration);\n const floatTransitionDelay = Number.parseFloat(transitionDelay); // Return 0 if element or transition duration is not found\n\n if (!floatTransitionDuration && !floatTransitionDelay) {\n return 0;\n } // If multiple durations are defined, take the first\n\n\n transitionDuration = transitionDuration.split(',')[0];\n transitionDelay = transitionDelay.split(',')[0];\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 = object => {\n if (!object || typeof object !== 'object') {\n return false;\n }\n\n if (typeof object.jquery !== 'undefined') {\n object = object[0];\n }\n\n return typeof object.nodeType !== 'undefined';\n};\n\nconst getElement = object => {\n // it's a jQuery object or a node element\n if (isElement(object)) {\n return object.jquery ? object[0] : object;\n }\n\n if (typeof object === 'string' && object.length > 0) {\n return document.querySelector(object);\n }\n\n return null;\n};\n\nconst isVisible = element => {\n if (!isElement(element) || element.getClientRects().length === 0) {\n return false;\n }\n\n const elementIsVisible = getComputedStyle(element).getPropertyValue('visibility') === 'visible'; // Handle `details` element as its content may falsie appear visible when it is closed\n\n const closedDetails = element.closest('details:not([open])');\n\n if (!closedDetails) {\n return elementIsVisible;\n }\n\n if (closedDetails !== element) {\n const summary = element.closest('summary');\n\n if (summary && summary.parentNode !== closedDetails) {\n return false;\n }\n\n if (summary === null) {\n return false;\n }\n }\n\n return elementIsVisible;\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 } // Can find the shadow root otherwise it'll return the document\n\n\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 } // when we don't find a shadow root\n\n\n if (!element.parentNode) {\n return null;\n }\n\n return findShadowRoot(element.parentNode);\n};\n\nconst noop = () => {};\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 */\n\n\nconst reflow = element => {\n element.offsetHeight; // eslint-disable-line no-unused-expressions\n};\n\nconst getjQuery = () => {\n if (window.jQuery && !document.body.hasAttribute('data-bs-no-jquery')) {\n return window.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 for (const callback of DOMContentLoadedCallbacks) {\n callback();\n }\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\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\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 let called = false;\n\n const handler = ({\n target\n }) => {\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 * 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 */\n\n\nconst getNextActiveElement = (list, activeElement, shouldGetNext, isCycleAllowed) => {\n const listLength = list.length;\n let index = list.indexOf(activeElement); // if the element does not exist in the list return an element\n // depending on the direction and if cycle is allowed\n\n if (index === -1) {\n return !shouldGetNext && isCycleAllowed ? list[listLength - 1] : list[0];\n }\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\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.2.3): dom/event-handler.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n/**\n * Constants\n */\n\nconst namespaceRegex = /[^.]*(?=\\..*)\\.|.*/;\nconst stripNameRegex = /\\..*/;\nconst stripUidRegex = /::\\d+$/;\nconst eventRegistry = {}; // Events storage\n\nlet uidEvent = 1;\nconst customEvents = {\n mouseenter: 'mouseover',\n mouseleave: 'mouseout'\n};\nconst 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']);\n/**\n * Private methods\n */\n\nfunction makeEventUid(element, uid) {\n return uid && `${uid}::${uidEvent++}` || element.uidEvent || uidEvent++;\n}\n\nfunction getElementEvents(element) {\n const uid = makeEventUid(element);\n element.uidEvent = uid;\n eventRegistry[uid] = eventRegistry[uid] || {};\n return eventRegistry[uid];\n}\n\nfunction bootstrapHandler(element, fn) {\n return function handler(event) {\n hydrateObj(event, {\n delegateTarget: element\n });\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 {\n target\n } = event; target && target !== this; target = target.parentNode) {\n for (const domElement of domElements) {\n if (domElement !== target) {\n continue;\n }\n\n hydrateObj(event, {\n delegateTarget: target\n });\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\nfunction findHandler(events, callable, delegationSelector = null) {\n return Object.values(events).find(event => event.callable === callable && event.delegationSelector === delegationSelector);\n}\n\nfunction normalizeParameters(originalTypeEvent, handler, delegationFunction) {\n const isDelegated = typeof handler === 'string'; // todo: tooltip passes `false` instead of selector, so we need to check\n\n const callable = isDelegated ? delegationFunction : handler || delegationFunction;\n let typeEvent = getTypeEvent(originalTypeEvent);\n\n if (!nativeEvents.has(typeEvent)) {\n typeEvent = originalTypeEvent;\n }\n\n return [isDelegated, callable, typeEvent];\n}\n\nfunction addHandler(element, originalTypeEvent, handler, delegationFunction, oneOff) {\n if (typeof originalTypeEvent !== 'string' || !element) {\n return;\n }\n\n let [isDelegated, callable, typeEvent] = normalizeParameters(originalTypeEvent, handler, delegationFunction); // 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\n if (originalTypeEvent in customEvents) {\n const wrapFunction = 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 callable = wrapFunction(callable);\n }\n\n const events = getElementEvents(element);\n const handlers = events[typeEvent] || (events[typeEvent] = {});\n const previousFunction = findHandler(handlers, callable, isDelegated ? handler : null);\n\n if (previousFunction) {\n previousFunction.oneOff = previousFunction.oneOff && oneOff;\n return;\n }\n\n const uid = makeEventUid(callable, originalTypeEvent.replace(namespaceRegex, ''));\n const fn = isDelegated ? bootstrapDelegationHandler(element, handler, callable) : bootstrapHandler(element, callable);\n fn.delegationSelector = isDelegated ? handler : null;\n fn.callable = callable;\n fn.oneOff = oneOff;\n fn.uidEvent = uid;\n handlers[uid] = fn;\n element.addEventListener(typeEvent, fn, isDelegated);\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 for (const handlerKey of Object.keys(storeElementEvent)) {\n if (handlerKey.includes(namespace)) {\n const event = storeElementEvent[handlerKey];\n removeHandler(element, events, typeEvent, event.callable, 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, delegationFunction) {\n addHandler(element, event, handler, delegationFunction, false);\n },\n\n one(element, event, handler, delegationFunction) {\n addHandler(element, event, handler, delegationFunction, true);\n },\n\n off(element, originalTypeEvent, handler, delegationFunction) {\n if (typeof originalTypeEvent !== 'string' || !element) {\n return;\n }\n\n const [isDelegated, callable, typeEvent] = normalizeParameters(originalTypeEvent, handler, delegationFunction);\n const inNamespace = typeEvent !== originalTypeEvent;\n const events = getElementEvents(element);\n const storeElementEvent = events[typeEvent] || {};\n const isNamespace = originalTypeEvent.startsWith('.');\n\n if (typeof callable !== 'undefined') {\n // Simplest case: handler is passed, remove that listener ONLY.\n if (!Object.keys(storeElementEvent).length) {\n return;\n }\n\n removeHandler(element, events, typeEvent, callable, isDelegated ? handler : null);\n return;\n }\n\n if (isNamespace) {\n for (const elementEvent of Object.keys(events)) {\n removeNamespacedHandlers(element, events, elementEvent, originalTypeEvent.slice(1));\n }\n }\n\n for (const keyHandlers of Object.keys(storeElementEvent)) {\n const handlerKey = keyHandlers.replace(stripUidRegex, '');\n\n if (!inNamespace || originalTypeEvent.includes(handlerKey)) {\n const event = storeElementEvent[keyHandlers];\n removeHandler(element, events, typeEvent, event.callable, 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 let jQueryEvent = null;\n let bubbles = true;\n let nativeDispatch = true;\n let defaultPrevented = false;\n\n if (inNamespace && $) {\n jQueryEvent = $.Event(event, args);\n $(element).trigger(jQueryEvent);\n bubbles = !jQueryEvent.isPropagationStopped();\n nativeDispatch = !jQueryEvent.isImmediatePropagationStopped();\n defaultPrevented = jQueryEvent.isDefaultPrevented();\n }\n\n let evt = new Event(event, {\n bubbles,\n cancelable: true\n });\n evt = hydrateObj(evt, args);\n\n if (defaultPrevented) {\n evt.preventDefault();\n }\n\n if (nativeDispatch) {\n element.dispatchEvent(evt);\n }\n\n if (evt.defaultPrevented && jQueryEvent) {\n jQueryEvent.preventDefault();\n }\n\n return evt;\n }\n\n};\n\nfunction hydrateObj(obj, meta) {\n for (const [key, value] of Object.entries(meta || {})) {\n try {\n obj[key] = value;\n } catch (_unused) {\n Object.defineProperty(obj, key, {\n configurable: true,\n\n get() {\n return value;\n }\n\n });\n }\n }\n\n return obj;\n}\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.2.3): dom/data.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * Constants\n */\nconst elementMap = new Map();\nconst Data = {\n set(element, key, instance) {\n if (!elementMap.has(element)) {\n elementMap.set(element, new Map());\n }\n\n const instanceMap = elementMap.get(element); // 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\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 instanceMap.delete(key); // free up element references if there are no instances left for an element\n\n if (instanceMap.size === 0) {\n elementMap.delete(element);\n }\n }\n\n};\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.2.3): dom/manipulator.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\nfunction normalizeData(value) {\n if (value === 'true') {\n return true;\n }\n\n if (value === 'false') {\n return false;\n }\n\n if (value === Number(value).toString()) {\n return Number(value);\n }\n\n if (value === '' || value === 'null') {\n return null;\n }\n\n if (typeof value !== 'string') {\n return value;\n }\n\n try {\n return JSON.parse(decodeURIComponent(value));\n } catch (_unused) {\n return value;\n }\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 const bsKeys = Object.keys(element.dataset).filter(key => key.startsWith('bs') && !key.startsWith('bsConfig'));\n\n for (const key of bsKeys) {\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};\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.2.3): util/config.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n/**\n * Class definition\n */\n\nclass Config {\n // Getters\n static get Default() {\n return {};\n }\n\n static get DefaultType() {\n return {};\n }\n\n static get NAME() {\n throw new Error('You have to implement the static method \"NAME\", for each component!');\n }\n\n _getConfig(config) {\n config = this._mergeConfigObj(config);\n config = this._configAfterMerge(config);\n\n this._typeCheckConfig(config);\n\n return config;\n }\n\n _configAfterMerge(config) {\n return config;\n }\n\n _mergeConfigObj(config, element) {\n const jsonConfig = isElement(element) ? Manipulator.getDataAttribute(element, 'config') : {}; // try to parse\n\n return { ...this.constructor.Default,\n ...(typeof jsonConfig === 'object' ? jsonConfig : {}),\n ...(isElement(element) ? Manipulator.getDataAttributes(element) : {}),\n ...(typeof config === 'object' ? config : {})\n };\n }\n\n _typeCheckConfig(config, configTypes = this.constructor.DefaultType) {\n for (const property of Object.keys(configTypes)) {\n const expectedTypes = configTypes[property];\n const value = config[property];\n const valueType = isElement(value) ? 'element' : toType(value);\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new TypeError(`${this.constructor.NAME.toUpperCase()}: Option \"${property}\" provided type \"${valueType}\" but expected type \"${expectedTypes}\".`);\n }\n }\n }\n\n}\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.2.3): base-component.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n/**\n * Constants\n */\n\nconst VERSION = '5.2.3';\n/**\n * Class definition\n */\n\nclass BaseComponent extends Config {\n constructor(element, config) {\n super();\n element = getElement(element);\n\n if (!element) {\n return;\n }\n\n this._element = element;\n this._config = this._getConfig(config);\n Data.set(this._element, this.constructor.DATA_KEY, this);\n } // Public\n\n\n dispose() {\n Data.remove(this._element, this.constructor.DATA_KEY);\n EventHandler.off(this._element, this.constructor.EVENT_KEY);\n\n for (const propertyName of Object.getOwnPropertyNames(this)) {\n this[propertyName] = null;\n }\n }\n\n _queueCallback(callback, element, isAnimated = true) {\n executeAfterTransition(callback, element, isAnimated);\n }\n\n _getConfig(config) {\n config = this._mergeConfigObj(config, this._element);\n config = this._configAfterMerge(config);\n\n this._typeCheckConfig(config);\n\n return config;\n } // Static\n\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 DATA_KEY() {\n return `bs.${this.NAME}`;\n }\n\n static get EVENT_KEY() {\n return `.${this.DATA_KEY}`;\n }\n\n static eventName(name) {\n return `${name}${this.EVENT_KEY}`;\n }\n\n}\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.2.3): util/component-functions.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst enableDismissTrigger = (component, method = 'hide') => {\n const clickEvent = `click.dismiss${component.EVENT_KEY}`;\n const name = component.NAME;\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); // Method argument is left, for Alert and only, as it doesn't implement the 'hide' method\n\n instance[method]();\n });\n};\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.2.3): alert.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n/**\n * Constants\n */\n\nconst NAME$f = 'alert';\nconst DATA_KEY$a = 'bs.alert';\nconst EVENT_KEY$b = `.${DATA_KEY$a}`;\nconst EVENT_CLOSE = `close${EVENT_KEY$b}`;\nconst EVENT_CLOSED = `closed${EVENT_KEY$b}`;\nconst CLASS_NAME_FADE$5 = 'fade';\nconst CLASS_NAME_SHOW$8 = 'show';\n/**\n * Class definition\n */\n\nclass Alert extends BaseComponent {\n // Getters\n static get NAME() {\n return NAME$f;\n } // Public\n\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$8);\n\n const isAnimated = this._element.classList.contains(CLASS_NAME_FADE$5);\n\n this._queueCallback(() => this._destroyElement(), this._element, isAnimated);\n } // Private\n\n\n _destroyElement() {\n this._element.remove();\n\n EventHandler.trigger(this._element, EVENT_CLOSED);\n this.dispose();\n } // Static\n\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 * Data API implementation\n */\n\n\nenableDismissTrigger(Alert, 'close');\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(Alert);\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.2.3): button.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n/**\n * Constants\n */\n\nconst NAME$e = 'button';\nconst DATA_KEY$9 = 'bs.button';\nconst EVENT_KEY$a = `.${DATA_KEY$9}`;\nconst DATA_API_KEY$6 = '.data-api';\nconst CLASS_NAME_ACTIVE$3 = 'active';\nconst SELECTOR_DATA_TOGGLE$5 = '[data-bs-toggle=\"button\"]';\nconst EVENT_CLICK_DATA_API$6 = `click${EVENT_KEY$a}${DATA_API_KEY$6}`;\n/**\n * Class definition\n */\n\nclass Button extends BaseComponent {\n // Getters\n static get NAME() {\n return NAME$e;\n } // Public\n\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$3));\n } // Static\n\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 * Data API implementation\n */\n\n\nEventHandler.on(document, EVENT_CLICK_DATA_API$6, SELECTOR_DATA_TOGGLE$5, event => {\n event.preventDefault();\n const button = event.target.closest(SELECTOR_DATA_TOGGLE$5);\n const data = Button.getOrCreateInstance(button);\n data.toggle();\n});\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(Button);\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.2.3): dom/selector-engine.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n/**\n * Constants\n */\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).filter(child => child.matches(selector));\n },\n\n parents(element, selector) {\n const parents = [];\n let ancestor = element.parentNode.closest(selector);\n\n while (ancestor) {\n parents.push(ancestor);\n ancestor = ancestor.parentNode.closest(selector);\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 // TODO: this is now unused; remove later along with prev()\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 = ['a', 'button', 'input', 'textarea', 'select', 'details', '[tabindex]', '[contenteditable=\"true\"]'].map(selector => `${selector}:not([tabindex^=\"-\"])`).join(',');\n return this.find(focusables, element).filter(el => !isDisabled(el) && isVisible(el));\n }\n\n};\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.2.3): util/swipe.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n/**\n * Constants\n */\n\nconst NAME$d = 'swipe';\nconst EVENT_KEY$9 = '.bs.swipe';\nconst EVENT_TOUCHSTART = `touchstart${EVENT_KEY$9}`;\nconst EVENT_TOUCHMOVE = `touchmove${EVENT_KEY$9}`;\nconst EVENT_TOUCHEND = `touchend${EVENT_KEY$9}`;\nconst EVENT_POINTERDOWN = `pointerdown${EVENT_KEY$9}`;\nconst EVENT_POINTERUP = `pointerup${EVENT_KEY$9}`;\nconst POINTER_TYPE_TOUCH = 'touch';\nconst POINTER_TYPE_PEN = 'pen';\nconst CLASS_NAME_POINTER_EVENT = 'pointer-event';\nconst SWIPE_THRESHOLD = 40;\nconst Default$c = {\n endCallback: null,\n leftCallback: null,\n rightCallback: null\n};\nconst DefaultType$c = {\n endCallback: '(function|null)',\n leftCallback: '(function|null)',\n rightCallback: '(function|null)'\n};\n/**\n * Class definition\n */\n\nclass Swipe extends Config {\n constructor(element, config) {\n super();\n this._element = element;\n\n if (!element || !Swipe.isSupported()) {\n return;\n }\n\n this._config = this._getConfig(config);\n this._deltaX = 0;\n this._supportPointerEvents = Boolean(window.PointerEvent);\n\n this._initEvents();\n } // Getters\n\n\n static get Default() {\n return Default$c;\n }\n\n static get DefaultType() {\n return DefaultType$c;\n }\n\n static get NAME() {\n return NAME$d;\n } // Public\n\n\n dispose() {\n EventHandler.off(this._element, EVENT_KEY$9);\n } // Private\n\n\n _start(event) {\n if (!this._supportPointerEvents) {\n this._deltaX = event.touches[0].clientX;\n return;\n }\n\n if (this._eventIsPointerPenTouch(event)) {\n this._deltaX = event.clientX;\n }\n }\n\n _end(event) {\n if (this._eventIsPointerPenTouch(event)) {\n this._deltaX = event.clientX - this._deltaX;\n }\n\n this._handleSwipe();\n\n execute(this._config.endCallback);\n }\n\n _move(event) {\n this._deltaX = event.touches && event.touches.length > 1 ? 0 : event.touches[0].clientX - this._deltaX;\n }\n\n _handleSwipe() {\n const absDeltaX = Math.abs(this._deltaX);\n\n if (absDeltaX <= SWIPE_THRESHOLD) {\n return;\n }\n\n const direction = absDeltaX / this._deltaX;\n this._deltaX = 0;\n\n if (!direction) {\n return;\n }\n\n execute(direction > 0 ? this._config.rightCallback : this._config.leftCallback);\n }\n\n _initEvents() {\n if (this._supportPointerEvents) {\n EventHandler.on(this._element, EVENT_POINTERDOWN, event => this._start(event));\n EventHandler.on(this._element, EVENT_POINTERUP, event => this._end(event));\n\n this._element.classList.add(CLASS_NAME_POINTER_EVENT);\n } else {\n EventHandler.on(this._element, EVENT_TOUCHSTART, event => this._start(event));\n EventHandler.on(this._element, EVENT_TOUCHMOVE, event => this._move(event));\n EventHandler.on(this._element, EVENT_TOUCHEND, event => this._end(event));\n }\n }\n\n _eventIsPointerPenTouch(event) {\n return this._supportPointerEvents && (event.pointerType === POINTER_TYPE_PEN || event.pointerType === POINTER_TYPE_TOUCH);\n } // Static\n\n\n static isSupported() {\n return 'ontouchstart' in document.documentElement || navigator.maxTouchPoints > 0;\n }\n\n}\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.2.3): carousel.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n/**\n * Constants\n */\n\nconst NAME$c = 'carousel';\nconst DATA_KEY$8 = 'bs.carousel';\nconst EVENT_KEY$8 = `.${DATA_KEY$8}`;\nconst DATA_API_KEY$5 = '.data-api';\nconst ARROW_LEFT_KEY$1 = 'ArrowLeft';\nconst ARROW_RIGHT_KEY$1 = 'ArrowRight';\nconst TOUCHEVENT_COMPAT_WAIT = 500; // Time for mouse compat events to fire after touch\n\nconst ORDER_NEXT = 'next';\nconst ORDER_PREV = 'prev';\nconst DIRECTION_LEFT = 'left';\nconst DIRECTION_RIGHT = 'right';\nconst EVENT_SLIDE = `slide${EVENT_KEY$8}`;\nconst EVENT_SLID = `slid${EVENT_KEY$8}`;\nconst EVENT_KEYDOWN$1 = `keydown${EVENT_KEY$8}`;\nconst EVENT_MOUSEENTER$1 = `mouseenter${EVENT_KEY$8}`;\nconst EVENT_MOUSELEAVE$1 = `mouseleave${EVENT_KEY$8}`;\nconst EVENT_DRAG_START = `dragstart${EVENT_KEY$8}`;\nconst EVENT_LOAD_DATA_API$3 = `load${EVENT_KEY$8}${DATA_API_KEY$5}`;\nconst EVENT_CLICK_DATA_API$5 = `click${EVENT_KEY$8}${DATA_API_KEY$5}`;\nconst CLASS_NAME_CAROUSEL = 'carousel';\nconst CLASS_NAME_ACTIVE$2 = '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 SELECTOR_ACTIVE = '.active';\nconst SELECTOR_ITEM = '.carousel-item';\nconst SELECTOR_ACTIVE_ITEM = SELECTOR_ACTIVE + SELECTOR_ITEM;\nconst SELECTOR_ITEM_IMG = '.carousel-item img';\nconst SELECTOR_INDICATORS = '.carousel-indicators';\nconst SELECTOR_DATA_SLIDE = '[data-bs-slide], [data-bs-slide-to]';\nconst SELECTOR_DATA_RIDE = '[data-bs-ride=\"carousel\"]';\nconst KEY_TO_DIRECTION = {\n [ARROW_LEFT_KEY$1]: DIRECTION_RIGHT,\n [ARROW_RIGHT_KEY$1]: DIRECTION_LEFT\n};\nconst Default$b = {\n interval: 5000,\n keyboard: true,\n pause: 'hover',\n ride: false,\n touch: true,\n wrap: true\n};\nconst DefaultType$b = {\n interval: '(number|boolean)',\n // TODO:v6 remove boolean support\n keyboard: 'boolean',\n pause: '(string|boolean)',\n ride: '(boolean|string)',\n touch: 'boolean',\n wrap: 'boolean'\n};\n/**\n * Class definition\n */\n\nclass Carousel extends BaseComponent {\n constructor(element, config) {\n super(element, config);\n this._interval = null;\n this._activeElement = null;\n this._isSliding = false;\n this.touchTimeout = null;\n this._swipeHelper = null;\n this._indicatorsElement = SelectorEngine.findOne(SELECTOR_INDICATORS, this._element);\n\n this._addEventListeners();\n\n if (this._config.ride === CLASS_NAME_CAROUSEL) {\n this.cycle();\n }\n } // Getters\n\n\n static get Default() {\n return Default$b;\n }\n\n static get DefaultType() {\n return DefaultType$b;\n }\n\n static get NAME() {\n return NAME$c;\n } // Public\n\n\n next() {\n this._slide(ORDER_NEXT);\n }\n\n nextWhenVisible() {\n // FIXME TODO use `document.visibilityState`\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() {\n if (this._isSliding) {\n triggerTransitionEnd(this._element);\n }\n\n this._clearInterval();\n }\n\n cycle() {\n this._clearInterval();\n\n this._updateInterval();\n\n this._interval = setInterval(() => this.nextWhenVisible(), this._config.interval);\n }\n\n _maybeEnableCycle() {\n if (!this._config.ride) {\n return;\n }\n\n if (this._isSliding) {\n EventHandler.one(this._element, EVENT_SLID, () => this.cycle());\n return;\n }\n\n this.cycle();\n }\n\n to(index) {\n const items = this._getItems();\n\n if (index > 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 const activeIndex = this._getItemIndex(this._getActive());\n\n if (activeIndex === index) {\n return;\n }\n\n const order = index > activeIndex ? ORDER_NEXT : ORDER_PREV;\n\n this._slide(order, items[index]);\n }\n\n dispose() {\n if (this._swipeHelper) {\n this._swipeHelper.dispose();\n }\n\n super.dispose();\n } // Private\n\n\n _configAfterMerge(config) {\n config.defaultInterval = config.interval;\n return config;\n }\n\n _addEventListeners() {\n if (this._config.keyboard) {\n EventHandler.on(this._element, EVENT_KEYDOWN$1, event => this._keydown(event));\n }\n\n if (this._config.pause === 'hover') {\n EventHandler.on(this._element, EVENT_MOUSEENTER$1, () => this.pause());\n EventHandler.on(this._element, EVENT_MOUSELEAVE$1, () => this._maybeEnableCycle());\n }\n\n if (this._config.touch && Swipe.isSupported()) {\n this._addTouchEventListeners();\n }\n }\n\n _addTouchEventListeners() {\n for (const img of SelectorEngine.find(SELECTOR_ITEM_IMG, this._element)) {\n EventHandler.on(img, EVENT_DRAG_START, event => event.preventDefault());\n }\n\n const endCallBack = () => {\n if (this._config.pause !== 'hover') {\n return;\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\n this.pause();\n\n if (this.touchTimeout) {\n clearTimeout(this.touchTimeout);\n }\n\n this.touchTimeout = setTimeout(() => this._maybeEnableCycle(), TOUCHEVENT_COMPAT_WAIT + this._config.interval);\n };\n\n const swipeConfig = {\n leftCallback: () => this._slide(this._directionToOrder(DIRECTION_LEFT)),\n rightCallback: () => this._slide(this._directionToOrder(DIRECTION_RIGHT)),\n endCallback: endCallBack\n };\n this._swipeHelper = new Swipe(this._element, swipeConfig);\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\n if (direction) {\n event.preventDefault();\n\n this._slide(this._directionToOrder(direction));\n }\n }\n\n _getItemIndex(element) {\n return this._getItems().indexOf(element);\n }\n\n _setActiveIndicatorElement(index) {\n if (!this._indicatorsElement) {\n return;\n }\n\n const activeIndicator = SelectorEngine.findOne(SELECTOR_ACTIVE, this._indicatorsElement);\n activeIndicator.classList.remove(CLASS_NAME_ACTIVE$2);\n activeIndicator.removeAttribute('aria-current');\n const newActiveIndicator = SelectorEngine.findOne(`[data-bs-slide-to=\"${index}\"]`, this._indicatorsElement);\n\n if (newActiveIndicator) {\n newActiveIndicator.classList.add(CLASS_NAME_ACTIVE$2);\n newActiveIndicator.setAttribute('aria-current', 'true');\n }\n }\n\n _updateInterval() {\n const element = this._activeElement || this._getActive();\n\n if (!element) {\n return;\n }\n\n const elementInterval = Number.parseInt(element.getAttribute('data-bs-interval'), 10);\n this._config.interval = elementInterval || this._config.defaultInterval;\n }\n\n _slide(order, element = null) {\n if (this._isSliding) {\n return;\n }\n\n const activeElement = this._getActive();\n\n const isNext = order === ORDER_NEXT;\n const nextElement = element || getNextActiveElement(this._getItems(), activeElement, isNext, this._config.wrap);\n\n if (nextElement === activeElement) {\n return;\n }\n\n const nextElementIndex = this._getItemIndex(nextElement);\n\n const triggerEvent = eventName => {\n return EventHandler.trigger(this._element, eventName, {\n relatedTarget: nextElement,\n direction: this._orderToDirection(order),\n from: this._getItemIndex(activeElement),\n to: nextElementIndex\n });\n };\n\n const slideEvent = triggerEvent(EVENT_SLIDE);\n\n if (slideEvent.defaultPrevented) {\n return;\n }\n\n if (!activeElement || !nextElement) {\n // Some weirdness is happening, so we bail\n // todo: change tests that use empty divs to avoid this check\n return;\n }\n\n const isCycling = Boolean(this._interval);\n this.pause();\n this._isSliding = true;\n\n this._setActiveIndicatorElement(nextElementIndex);\n\n this._activeElement = nextElement;\n const directionalClassName = isNext ? CLASS_NAME_START : CLASS_NAME_END;\n const orderClassName = isNext ? CLASS_NAME_NEXT : CLASS_NAME_PREV;\n nextElement.classList.add(orderClassName);\n reflow(nextElement);\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$2);\n activeElement.classList.remove(CLASS_NAME_ACTIVE$2, orderClassName, directionalClassName);\n this._isSliding = false;\n triggerEvent(EVENT_SLID);\n };\n\n this._queueCallback(completeCallBack, activeElement, this._isAnimated());\n\n if (isCycling) {\n this.cycle();\n }\n }\n\n _isAnimated() {\n return this._element.classList.contains(CLASS_NAME_SLIDE);\n }\n\n _getActive() {\n return SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element);\n }\n\n _getItems() {\n return SelectorEngine.find(SELECTOR_ITEM, this._element);\n }\n\n _clearInterval() {\n if (this._interval) {\n clearInterval(this._interval);\n this._interval = null;\n }\n }\n\n _directionToOrder(direction) {\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 (isRTL()) {\n return order === ORDER_PREV ? DIRECTION_LEFT : DIRECTION_RIGHT;\n }\n\n return order === ORDER_PREV ? DIRECTION_RIGHT : DIRECTION_LEFT;\n } // Static\n\n\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Carousel.getOrCreateInstance(this, config);\n\n if (typeof config === 'number') {\n data.to(config);\n return;\n }\n\n if (typeof config === 'string') {\n if (data[config] === undefined || config.startsWith('_') || config === 'constructor') {\n throw new TypeError(`No method named \"${config}\"`);\n }\n\n data[config]();\n }\n });\n }\n\n}\n/**\n * Data API implementation\n */\n\n\nEventHandler.on(document, EVENT_CLICK_DATA_API$5, SELECTOR_DATA_SLIDE, function (event) {\n const target = getElementFromSelector(this);\n\n if (!target || !target.classList.contains(CLASS_NAME_CAROUSEL)) {\n return;\n }\n\n event.preventDefault();\n const carousel = Carousel.getOrCreateInstance(target);\n const slideIndex = this.getAttribute('data-bs-slide-to');\n\n if (slideIndex) {\n carousel.to(slideIndex);\n\n carousel._maybeEnableCycle();\n\n return;\n }\n\n if (Manipulator.getDataAttribute(this, 'slide') === 'next') {\n carousel.next();\n\n carousel._maybeEnableCycle();\n\n return;\n }\n\n carousel.prev();\n\n carousel._maybeEnableCycle();\n});\nEventHandler.on(window, EVENT_LOAD_DATA_API$3, () => {\n const carousels = SelectorEngine.find(SELECTOR_DATA_RIDE);\n\n for (const carousel of carousels) {\n Carousel.getOrCreateInstance(carousel);\n }\n});\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(Carousel);\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.2.3): collapse.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n/**\n * Constants\n */\n\nconst NAME$b = 'collapse';\nconst DATA_KEY$7 = 'bs.collapse';\nconst EVENT_KEY$7 = `.${DATA_KEY$7}`;\nconst DATA_API_KEY$4 = '.data-api';\nconst EVENT_SHOW$6 = `show${EVENT_KEY$7}`;\nconst EVENT_SHOWN$6 = `shown${EVENT_KEY$7}`;\nconst EVENT_HIDE$6 = `hide${EVENT_KEY$7}`;\nconst EVENT_HIDDEN$6 = `hidden${EVENT_KEY$7}`;\nconst EVENT_CLICK_DATA_API$4 = `click${EVENT_KEY$7}${DATA_API_KEY$4}`;\nconst CLASS_NAME_SHOW$7 = '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';\nconst WIDTH = 'width';\nconst HEIGHT = 'height';\nconst SELECTOR_ACTIVES = '.collapse.show, .collapse.collapsing';\nconst SELECTOR_DATA_TOGGLE$4 = '[data-bs-toggle=\"collapse\"]';\nconst Default$a = {\n parent: null,\n toggle: true\n};\nconst DefaultType$a = {\n parent: '(null|element)',\n toggle: 'boolean'\n};\n/**\n * Class definition\n */\n\nclass Collapse extends BaseComponent {\n constructor(element, config) {\n super(element, config);\n this._isTransitioning = false;\n this._triggerArray = [];\n const toggleList = SelectorEngine.find(SELECTOR_DATA_TOGGLE$4);\n\n for (const elem of toggleList) {\n const selector = getSelectorFromElement(elem);\n const filterElement = SelectorEngine.find(selector).filter(foundElement => foundElement === this._element);\n\n if (selector !== null && filterElement.length) {\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 } // Getters\n\n\n static get Default() {\n return Default$a;\n }\n\n static get DefaultType() {\n return DefaultType$a;\n }\n\n static get NAME() {\n return NAME$b;\n } // Public\n\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 activeChildren = []; // find active children\n\n if (this._config.parent) {\n activeChildren = this._getFirstLevelChildren(SELECTOR_ACTIVES).filter(element => element !== this._element).map(element => Collapse.getOrCreateInstance(element, {\n toggle: false\n }));\n }\n\n if (activeChildren.length && activeChildren[0]._isTransitioning) {\n return;\n }\n\n const startEvent = EventHandler.trigger(this._element, EVENT_SHOW$6);\n\n if (startEvent.defaultPrevented) {\n return;\n }\n\n for (const activeInstance of activeChildren) {\n activeInstance.hide();\n }\n\n const dimension = this._getDimension();\n\n this._element.classList.remove(CLASS_NAME_COLLAPSE);\n\n this._element.classList.add(CLASS_NAME_COLLAPSING);\n\n this._element.style[dimension] = 0;\n\n this._addAriaAndCollapsedClass(this._triggerArray, true);\n\n this._isTransitioning = true;\n\n const complete = () => {\n this._isTransitioning = false;\n\n this._element.classList.remove(CLASS_NAME_COLLAPSING);\n\n this._element.classList.add(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW$7);\n\n this._element.style[dimension] = '';\n EventHandler.trigger(this._element, EVENT_SHOWN$6);\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\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$6);\n\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 reflow(this._element);\n\n this._element.classList.add(CLASS_NAME_COLLAPSING);\n\n this._element.classList.remove(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW$7);\n\n for (const trigger of this._triggerArray) {\n const element = getElementFromSelector(trigger);\n\n if (element && !this._isShown(element)) {\n this._addAriaAndCollapsedClass([trigger], false);\n }\n }\n\n this._isTransitioning = true;\n\n const complete = () => {\n this._isTransitioning = false;\n\n this._element.classList.remove(CLASS_NAME_COLLAPSING);\n\n this._element.classList.add(CLASS_NAME_COLLAPSE);\n\n EventHandler.trigger(this._element, EVENT_HIDDEN$6);\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$7);\n } // Private\n\n\n _configAfterMerge(config) {\n config.toggle = Boolean(config.toggle); // Coerce string values\n\n config.parent = getElement(config.parent);\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 = this._getFirstLevelChildren(SELECTOR_DATA_TOGGLE$4);\n\n for (const element of children) {\n const selected = getElementFromSelector(element);\n\n if (selected) {\n this._addAriaAndCollapsedClass([element], this._isShown(selected));\n }\n }\n }\n\n _getFirstLevelChildren(selector) {\n const children = SelectorEngine.find(CLASS_NAME_DEEPER_CHILDREN, this._config.parent); // remove children if greater depth\n\n return SelectorEngine.find(selector, this._config.parent).filter(element => !children.includes(element));\n }\n\n _addAriaAndCollapsedClass(triggerArray, isOpen) {\n if (!triggerArray.length) {\n return;\n }\n\n for (const element of triggerArray) {\n element.classList.toggle(CLASS_NAME_COLLAPSED, !isOpen);\n element.setAttribute('aria-expanded', isOpen);\n }\n } // Static\n\n\n static jQueryInterface(config) {\n const _config = {};\n\n if (typeof config === 'string' && /show|hide/.test(config)) {\n _config.toggle = false;\n }\n\n return this.each(function () {\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 * Data API implementation\n */\n\n\nEventHandler.on(document, EVENT_CLICK_DATA_API$4, SELECTOR_DATA_TOGGLE$4, function (event) {\n // preventDefault only for <a> 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 for (const element of selectorElements) {\n Collapse.getOrCreateInstance(element, {\n toggle: false\n }).toggle();\n }\n});\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(Collapse);\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.2.3): dropdown.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n/**\n * Constants\n */\n\nconst NAME$a = 'dropdown';\nconst DATA_KEY$6 = 'bs.dropdown';\nconst EVENT_KEY$6 = `.${DATA_KEY$6}`;\nconst DATA_API_KEY$3 = '.data-api';\nconst ESCAPE_KEY$2 = 'Escape';\nconst TAB_KEY$1 = 'Tab';\nconst ARROW_UP_KEY$1 = 'ArrowUp';\nconst ARROW_DOWN_KEY$1 = 'ArrowDown';\nconst RIGHT_MOUSE_BUTTON = 2; // MouseEvent.button value for the secondary button, usually the right button\n\nconst EVENT_HIDE$5 = `hide${EVENT_KEY$6}`;\nconst EVENT_HIDDEN$5 = `hidden${EVENT_KEY$6}`;\nconst EVENT_SHOW$5 = `show${EVENT_KEY$6}`;\nconst EVENT_SHOWN$5 = `shown${EVENT_KEY$6}`;\nconst EVENT_CLICK_DATA_API$3 = `click${EVENT_KEY$6}${DATA_API_KEY$3}`;\nconst EVENT_KEYDOWN_DATA_API = `keydown${EVENT_KEY$6}${DATA_API_KEY$3}`;\nconst EVENT_KEYUP_DATA_API = `keyup${EVENT_KEY$6}${DATA_API_KEY$3}`;\nconst CLASS_NAME_SHOW$6 = 'show';\nconst CLASS_NAME_DROPUP = 'dropup';\nconst CLASS_NAME_DROPEND = 'dropend';\nconst CLASS_NAME_DROPSTART = 'dropstart';\nconst CLASS_NAME_DROPUP_CENTER = 'dropup-center';\nconst CLASS_NAME_DROPDOWN_CENTER = 'dropdown-center';\nconst SELECTOR_DATA_TOGGLE$3 = '[data-bs-toggle=\"dropdown\"]:not(.disabled):not(:disabled)';\nconst SELECTOR_DATA_TOGGLE_SHOWN = `${SELECTOR_DATA_TOGGLE$3}.${CLASS_NAME_SHOW$6}`;\nconst SELECTOR_MENU = '.dropdown-menu';\nconst SELECTOR_NAVBAR = '.navbar';\nconst SELECTOR_NAVBAR_NAV = '.navbar-nav';\nconst SELECTOR_VISIBLE_ITEMS = '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)';\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';\nconst PLACEMENT_TOPCENTER = 'top';\nconst PLACEMENT_BOTTOMCENTER = 'bottom';\nconst Default$9 = {\n autoClose: true,\n boundary: 'clippingParents',\n display: 'dynamic',\n offset: [0, 2],\n popperConfig: null,\n reference: 'toggle'\n};\nconst DefaultType$9 = {\n autoClose: '(boolean|string)',\n boundary: '(string|element)',\n display: 'string',\n offset: '(array|string|function)',\n popperConfig: '(null|object|function)',\n reference: '(string|element|object)'\n};\n/**\n * Class definition\n */\n\nclass Dropdown extends BaseComponent {\n constructor(element, config) {\n super(element, config);\n this._popper = null;\n this._parent = this._element.parentNode; // dropdown wrapper\n // todo: v6 revert #37011 & change markup https://getbootstrap.com/docs/5.2/forms/input-group/\n\n this._menu = SelectorEngine.next(this._element, SELECTOR_MENU)[0] || SelectorEngine.prev(this._element, SELECTOR_MENU)[0] || SelectorEngine.findOne(SELECTOR_MENU, this._parent);\n this._inNavbar = this._detectNavbar();\n } // Getters\n\n\n static get Default() {\n return Default$9;\n }\n\n static get DefaultType() {\n return DefaultType$9;\n }\n\n static get NAME() {\n return NAME$a;\n } // Public\n\n\n toggle() {\n return this._isShown() ? this.hide() : this.show();\n }\n\n show() {\n if (isDisabled(this._element) || this._isShown()) {\n return;\n }\n\n const relatedTarget = {\n relatedTarget: this._element\n };\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW$5, relatedTarget);\n\n if (showEvent.defaultPrevented) {\n return;\n }\n\n this._createPopper(); // 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\n\n if ('ontouchstart' in document.documentElement && !this._parent.closest(SELECTOR_NAVBAR_NAV)) {\n for (const element of [].concat(...document.body.children)) {\n EventHandler.on(element, 'mouseover', noop);\n }\n }\n\n this._element.focus();\n\n this._element.setAttribute('aria-expanded', true);\n\n this._menu.classList.add(CLASS_NAME_SHOW$6);\n\n this._element.classList.add(CLASS_NAME_SHOW$6);\n\n EventHandler.trigger(this._element, EVENT_SHOWN$5, relatedTarget);\n }\n\n hide() {\n if (isDisabled(this._element) || !this._isShown()) {\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\n if (this._popper) {\n this._popper.update();\n }\n } // Private\n\n\n _completeHide(relatedTarget) {\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE$5, relatedTarget);\n\n if (hideEvent.defaultPrevented) {\n return;\n } // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n\n\n if ('ontouchstart' in document.documentElement) {\n for (const element of [].concat(...document.body.children)) {\n EventHandler.off(element, 'mouseover', noop);\n }\n }\n\n if (this._popper) {\n this._popper.destroy();\n }\n\n this._menu.classList.remove(CLASS_NAME_SHOW$6);\n\n this._element.classList.remove(CLASS_NAME_SHOW$6);\n\n this._element.setAttribute('aria-expanded', 'false');\n\n Manipulator.removeDataAttribute(this._menu, 'popper');\n EventHandler.trigger(this._element, EVENT_HIDDEN$5, relatedTarget);\n }\n\n _getConfig(config) {\n config = super._getConfig(config);\n\n if (typeof config.reference === 'object' && !isElement(config.reference) && typeof config.reference.getBoundingClientRect !== 'function') {\n // Popper virtual elements require a getBoundingClientRect method\n throw new TypeError(`${NAME$a.toUpperCase()}: Option \"reference\" provided type \"object\" without a required \"getBoundingClientRect\" method.`);\n }\n\n return config;\n }\n\n _createPopper() {\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 = this._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\n this._popper = Popper.createPopper(referenceElement, this._menu, popperConfig);\n }\n\n _isShown() {\n return this._menu.classList.contains(CLASS_NAME_SHOW$6);\n }\n\n _getPlacement() {\n const parentDropdown = this._parent;\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 if (parentDropdown.classList.contains(CLASS_NAME_DROPUP_CENTER)) {\n return PLACEMENT_TOPCENTER;\n }\n\n if (parentDropdown.classList.contains(CLASS_NAME_DROPDOWN_CENTER)) {\n return PLACEMENT_BOTTOMCENTER;\n } // We need to trim the value because custom properties can also include spaces\n\n\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(SELECTOR_NAVBAR) !== null;\n }\n\n _getOffset() {\n const {\n offset\n } = this._config;\n\n if (typeof offset === 'string') {\n return offset.split(',').map(value => Number.parseInt(value, 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 name: 'offset',\n options: {\n offset: this._getOffset()\n }\n }]\n }; // Disable Popper if we have a static display or Dropdown is in Navbar\n\n if (this._inNavbar || this._config.display === 'static') {\n Manipulator.setDataAttribute(this._menu, 'popper', 'static'); // todo:v6 remove\n\n defaultBsPopperConfig.modifiers = [{\n name: 'applyStyles',\n enabled: false\n }];\n }\n\n return { ...defaultBsPopperConfig,\n ...(typeof this._config.popperConfig === 'function' ? this._config.popperConfig(defaultBsPopperConfig) : this._config.popperConfig)\n };\n }\n\n _selectMenuItem({\n key,\n target\n }) {\n const items = SelectorEngine.find(SELECTOR_VISIBLE_ITEMS, this._menu).filter(element => isVisible(element));\n\n if (!items.length) {\n return;\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\n\n getNextActiveElement(items, target, key === ARROW_DOWN_KEY$1, !items.includes(target)).focus();\n } // Static\n\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.button === RIGHT_MOUSE_BUTTON || event.type === 'keyup' && event.key !== TAB_KEY$1) {\n return;\n }\n\n const openToggles = SelectorEngine.find(SELECTOR_DATA_TOGGLE_SHOWN);\n\n for (const toggle of openToggles) {\n const context = Dropdown.getInstance(toggle);\n\n if (!context || context._config.autoClose === false) {\n continue;\n }\n\n const composedPath = event.composedPath();\n const isMenuTarget = composedPath.includes(context._menu);\n\n if (composedPath.includes(context._element) || context._config.autoClose === 'inside' && !isMenuTarget || context._config.autoClose === 'outside' && isMenuTarget) {\n continue;\n } // Tab navigation through the dropdown menu or events from contained inputs shouldn't close the menu\n\n\n if (context._menu.contains(event.target) && (event.type === 'keyup' && event.key === TAB_KEY$1 || /input|select|option|textarea|form/i.test(event.target.tagName))) {\n continue;\n }\n\n const relatedTarget = {\n relatedTarget: context._element\n };\n\n if (event.type === 'click') {\n relatedTarget.clickEvent = event;\n }\n\n context._completeHide(relatedTarget);\n }\n }\n\n static dataApiKeydownHandler(event) {\n // If not an UP | DOWN | ESCAPE key => not a dropdown command\n // If input/textarea && if key is other than ESCAPE => not a dropdown command\n const isInput = /input|textarea/i.test(event.target.tagName);\n const isEscapeEvent = event.key === ESCAPE_KEY$2;\n const isUpOrDownEvent = [ARROW_UP_KEY$1, ARROW_DOWN_KEY$1].includes(event.key);\n\n if (!isUpOrDownEvent && !isEscapeEvent) {\n return;\n }\n\n if (isInput && !isEscapeEvent) {\n return;\n }\n\n event.preventDefault(); // todo: v6 revert #37011 & change markup https://getbootstrap.com/docs/5.2/forms/input-group/\n\n const getToggleButton = this.matches(SELECTOR_DATA_TOGGLE$3) ? this : SelectorEngine.prev(this, SELECTOR_DATA_TOGGLE$3)[0] || SelectorEngine.next(this, SELECTOR_DATA_TOGGLE$3)[0] || SelectorEngine.findOne(SELECTOR_DATA_TOGGLE$3, event.delegateTarget.parentNode);\n const instance = Dropdown.getOrCreateInstance(getToggleButton);\n\n if (isUpOrDownEvent) {\n event.stopPropagation();\n instance.show();\n\n instance._selectMenuItem(event);\n\n return;\n }\n\n if (instance._isShown()) {\n // else is escape and we check if it is shown\n event.stopPropagation();\n instance.hide();\n getToggleButton.focus();\n }\n }\n\n}\n/**\n * Data API implementation\n */\n\n\nEventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_DATA_TOGGLE$3, Dropdown.dataApiKeydownHandler);\nEventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_MENU, Dropdown.dataApiKeydownHandler);\nEventHandler.on(document, EVENT_CLICK_DATA_API$3, Dropdown.clearMenus);\nEventHandler.on(document, EVENT_KEYUP_DATA_API, Dropdown.clearMenus);\nEventHandler.on(document, EVENT_CLICK_DATA_API$3, SELECTOR_DATA_TOGGLE$3, function (event) {\n event.preventDefault();\n Dropdown.getOrCreateInstance(this).toggle();\n});\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(Dropdown);\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.2.3): util/scrollBar.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n/**\n * Constants\n */\n\nconst SELECTOR_FIXED_CONTENT = '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top';\nconst SELECTOR_STICKY_CONTENT = '.sticky-top';\nconst PROPERTY_PADDING = 'padding-right';\nconst PROPERTY_MARGIN = 'margin-right';\n/**\n * Class definition\n */\n\nclass ScrollBarHelper {\n constructor() {\n this._element = document.body;\n } // Public\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\n this._disableOverFlow(); // give padding to element to balance the hidden scrollbar width\n\n\n this._setElementAttributes(this._element, PROPERTY_PADDING, calculatedValue => calculatedValue + width); // trick: We adjust positive paddingRight and negative marginRight to sticky-top elements to keep showing fullwidth\n\n\n this._setElementAttributes(SELECTOR_FIXED_CONTENT, PROPERTY_PADDING, calculatedValue => calculatedValue + width);\n\n this._setElementAttributes(SELECTOR_STICKY_CONTENT, PROPERTY_MARGIN, calculatedValue => calculatedValue - width);\n }\n\n reset() {\n this._resetElementAttributes(this._element, 'overflow');\n\n this._resetElementAttributes(this._element, PROPERTY_PADDING);\n\n this._resetElementAttributes(SELECTOR_FIXED_CONTENT, PROPERTY_PADDING);\n\n this._resetElementAttributes(SELECTOR_STICKY_CONTENT, PROPERTY_MARGIN);\n }\n\n isOverflowing() {\n return this.getWidth() > 0;\n } // Private\n\n\n _disableOverFlow() {\n this._saveInitialAttribute(this._element, 'overflow');\n\n this._element.style.overflow = 'hidden';\n }\n\n _setElementAttributes(selector, styleProperty, callback) {\n const scrollbarWidth = this.getWidth();\n\n const manipulationCallBack = element => {\n if (element !== this._element && window.innerWidth > element.clientWidth + scrollbarWidth) {\n return;\n }\n\n this._saveInitialAttribute(element, styleProperty);\n\n const calculatedValue = window.getComputedStyle(element).getPropertyValue(styleProperty);\n element.style.setProperty(styleProperty, `${callback(Number.parseFloat(calculatedValue))}px`);\n };\n\n this._applyManipulationCallback(selector, manipulationCallBack);\n }\n\n _saveInitialAttribute(element, styleProperty) {\n const actualValue = element.style.getPropertyValue(styleProperty);\n\n if (actualValue) {\n Manipulator.setDataAttribute(element, styleProperty, actualValue);\n }\n }\n\n _resetElementAttributes(selector, styleProperty) {\n const manipulationCallBack = element => {\n const value = Manipulator.getDataAttribute(element, styleProperty); // We only want to remove the property if the value is `null`; the value can also be zero\n\n if (value === null) {\n element.style.removeProperty(styleProperty);\n return;\n }\n\n Manipulator.removeDataAttribute(element, styleProperty);\n element.style.setProperty(styleProperty, value);\n };\n\n this._applyManipulationCallback(selector, manipulationCallBack);\n }\n\n _applyManipulationCallback(selector, callBack) {\n if (isElement(selector)) {\n callBack(selector);\n return;\n }\n\n for (const sel of SelectorEngine.find(selector, this._element)) {\n callBack(sel);\n }\n }\n\n}\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.2.3): util/backdrop.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n/**\n * Constants\n */\n\nconst NAME$9 = 'backdrop';\nconst CLASS_NAME_FADE$4 = 'fade';\nconst CLASS_NAME_SHOW$5 = 'show';\nconst EVENT_MOUSEDOWN = `mousedown.bs.${NAME$9}`;\nconst Default$8 = {\n className: 'modal-backdrop',\n clickCallback: null,\n isAnimated: false,\n isVisible: true,\n // if false, we use the backdrop helper without adding any element to the dom\n rootElement: 'body' // give the choice to place backdrop under different elements\n\n};\nconst DefaultType$8 = {\n className: 'string',\n clickCallback: '(function|null)',\n isAnimated: 'boolean',\n isVisible: 'boolean',\n rootElement: '(element|string)'\n};\n/**\n * Class definition\n */\n\nclass Backdrop extends Config {\n constructor(config) {\n super();\n this._config = this._getConfig(config);\n this._isAppended = false;\n this._element = null;\n } // Getters\n\n\n static get Default() {\n return Default$8;\n }\n\n static get DefaultType() {\n return DefaultType$8;\n }\n\n static get NAME() {\n return NAME$9;\n } // Public\n\n\n show(callback) {\n if (!this._config.isVisible) {\n execute(callback);\n return;\n }\n\n this._append();\n\n const element = this._getElement();\n\n if (this._config.isAnimated) {\n reflow(element);\n }\n\n element.classList.add(CLASS_NAME_SHOW$5);\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$5);\n\n this._emulateAnimation(() => {\n this.dispose();\n execute(callback);\n });\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\n this._isAppended = false;\n } // Private\n\n\n _getElement() {\n if (!this._element) {\n const backdrop = document.createElement('div');\n backdrop.className = this._config.className;\n\n if (this._config.isAnimated) {\n backdrop.classList.add(CLASS_NAME_FADE$4);\n }\n\n this._element = backdrop;\n }\n\n return this._element;\n }\n\n _configAfterMerge(config) {\n // use getElement() with the default \"body\" to get a fresh Element on each instantiation\n config.rootElement = getElement(config.rootElement);\n return config;\n }\n\n _append() {\n if (this._isAppended) {\n return;\n }\n\n const element = this._getElement();\n\n this._config.rootElement.append(element);\n\n EventHandler.on(element, EVENT_MOUSEDOWN, () => {\n execute(this._config.clickCallback);\n });\n this._isAppended = true;\n }\n\n _emulateAnimation(callback) {\n executeAfterTransition(callback, this._getElement(), this._config.isAnimated);\n }\n\n}\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.2.3): util/focustrap.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n/**\n * Constants\n */\n\nconst NAME$8 = 'focustrap';\nconst DATA_KEY$5 = 'bs.focustrap';\nconst EVENT_KEY$5 = `.${DATA_KEY$5}`;\nconst EVENT_FOCUSIN$2 = `focusin${EVENT_KEY$5}`;\nconst EVENT_KEYDOWN_TAB = `keydown.tab${EVENT_KEY$5}`;\nconst TAB_KEY = 'Tab';\nconst TAB_NAV_FORWARD = 'forward';\nconst TAB_NAV_BACKWARD = 'backward';\nconst Default$7 = {\n autofocus: true,\n trapElement: null // The element to trap focus inside of\n\n};\nconst DefaultType$7 = {\n autofocus: 'boolean',\n trapElement: 'element'\n};\n/**\n * Class definition\n */\n\nclass FocusTrap extends Config {\n constructor(config) {\n super();\n this._config = this._getConfig(config);\n this._isActive = false;\n this._lastTabNavDirection = null;\n } // Getters\n\n\n static get Default() {\n return Default$7;\n }\n\n static get DefaultType() {\n return DefaultType$7;\n }\n\n static get NAME() {\n return NAME$8;\n } // Public\n\n\n activate() {\n if (this._isActive) {\n return;\n }\n\n if (this._config.autofocus) {\n this._config.trapElement.focus();\n }\n\n EventHandler.off(document, EVENT_KEY$5); // guard against infinite focus loop\n\n EventHandler.on(document, EVENT_FOCUSIN$2, event => this._handleFocusin(event));\n EventHandler.on(document, EVENT_KEYDOWN_TAB, event => this._handleKeydown(event));\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$5);\n } // Private\n\n\n _handleFocusin(event) {\n const {\n trapElement\n } = this._config;\n\n if (event.target === document || event.target === trapElement || trapElement.contains(event.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}\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.2.3): modal.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n/**\n * Constants\n */\n\nconst NAME$7 = 'modal';\nconst DATA_KEY$4 = 'bs.modal';\nconst EVENT_KEY$4 = `.${DATA_KEY$4}`;\nconst DATA_API_KEY$2 = '.data-api';\nconst ESCAPE_KEY$1 = 'Escape';\nconst EVENT_HIDE$4 = `hide${EVENT_KEY$4}`;\nconst EVENT_HIDE_PREVENTED$1 = `hidePrevented${EVENT_KEY$4}`;\nconst EVENT_HIDDEN$4 = `hidden${EVENT_KEY$4}`;\nconst EVENT_SHOW$4 = `show${EVENT_KEY$4}`;\nconst EVENT_SHOWN$4 = `shown${EVENT_KEY$4}`;\nconst EVENT_RESIZE$1 = `resize${EVENT_KEY$4}`;\nconst EVENT_CLICK_DISMISS = `click.dismiss${EVENT_KEY$4}`;\nconst EVENT_MOUSEDOWN_DISMISS = `mousedown.dismiss${EVENT_KEY$4}`;\nconst EVENT_KEYDOWN_DISMISS$1 = `keydown.dismiss${EVENT_KEY$4}`;\nconst EVENT_CLICK_DATA_API$2 = `click${EVENT_KEY$4}${DATA_API_KEY$2}`;\nconst CLASS_NAME_OPEN = 'modal-open';\nconst CLASS_NAME_FADE$3 = 'fade';\nconst CLASS_NAME_SHOW$4 = 'show';\nconst CLASS_NAME_STATIC = 'modal-static';\nconst OPEN_SELECTOR$1 = '.modal.show';\nconst SELECTOR_DIALOG = '.modal-dialog';\nconst SELECTOR_MODAL_BODY = '.modal-body';\nconst SELECTOR_DATA_TOGGLE$2 = '[data-bs-toggle=\"modal\"]';\nconst Default$6 = {\n backdrop: true,\n focus: true,\n keyboard: true\n};\nconst DefaultType$6 = {\n backdrop: '(boolean|string)',\n focus: 'boolean',\n keyboard: 'boolean'\n};\n/**\n * Class definition\n */\n\nclass Modal extends BaseComponent {\n constructor(element, config) {\n super(element, 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._isTransitioning = false;\n this._scrollBar = new ScrollBarHelper();\n\n this._addEventListeners();\n } // Getters\n\n\n static get Default() {\n return Default$6;\n }\n\n static get DefaultType() {\n return DefaultType$6;\n }\n\n static get NAME() {\n return NAME$7;\n } // Public\n\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$4, {\n relatedTarget\n });\n\n if (showEvent.defaultPrevented) {\n return;\n }\n\n this._isShown = true;\n this._isTransitioning = true;\n\n this._scrollBar.hide();\n\n document.body.classList.add(CLASS_NAME_OPEN);\n\n this._adjustDialog();\n\n this._backdrop.show(() => 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$4);\n\n if (hideEvent.defaultPrevented) {\n return;\n }\n\n this._isShown = false;\n this._isTransitioning = true;\n\n this._focustrap.deactivate();\n\n this._element.classList.remove(CLASS_NAME_SHOW$4);\n\n this._queueCallback(() => this._hideModal(), this._element, this._isAnimated());\n }\n\n dispose() {\n for (const htmlElement of [window, this._dialog]) {\n EventHandler.off(htmlElement, EVENT_KEY$4);\n }\n\n this._backdrop.dispose();\n\n this._focustrap.deactivate();\n\n super.dispose();\n }\n\n handleUpdate() {\n this._adjustDialog();\n } // Private\n\n\n _initializeBackDrop() {\n return new Backdrop({\n isVisible: Boolean(this._config.backdrop),\n // '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 _showElement(relatedTarget) {\n // try to append dynamic modal\n if (!document.body.contains(this._element)) {\n document.body.append(this._element);\n }\n\n this._element.style.display = 'block';\n\n this._element.removeAttribute('aria-hidden');\n\n this._element.setAttribute('aria-modal', true);\n\n this._element.setAttribute('role', 'dialog');\n\n this._element.scrollTop = 0;\n const modalBody = SelectorEngine.findOne(SELECTOR_MODAL_BODY, this._dialog);\n\n if (modalBody) {\n modalBody.scrollTop = 0;\n }\n\n reflow(this._element);\n\n this._element.classList.add(CLASS_NAME_SHOW$4);\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$4, {\n relatedTarget\n });\n };\n\n this._queueCallback(transitionComplete, this._dialog, this._isAnimated());\n }\n\n _addEventListeners() {\n EventHandler.on(this._element, EVENT_KEYDOWN_DISMISS$1, event => {\n if (event.key !== ESCAPE_KEY$1) {\n return;\n }\n\n if (this._config.keyboard) {\n event.preventDefault();\n this.hide();\n return;\n }\n\n this._triggerBackdropTransition();\n });\n EventHandler.on(window, EVENT_RESIZE$1, () => {\n if (this._isShown && !this._isTransitioning) {\n this._adjustDialog();\n }\n });\n EventHandler.on(this._element, EVENT_MOUSEDOWN_DISMISS, event => {\n // a bad trick to segregate clicks that may start inside dialog but end outside, and avoid listen to scrollbar clicks\n EventHandler.one(this._element, EVENT_CLICK_DISMISS, event2 => {\n if (this._element !== event.target || this._element !== event2.target) {\n return;\n }\n\n if (this._config.backdrop === 'static') {\n this._triggerBackdropTransition();\n\n return;\n }\n\n if (this._config.backdrop) {\n this.hide();\n }\n });\n });\n }\n\n _hideModal() {\n this._element.style.display = 'none';\n\n this._element.setAttribute('aria-hidden', true);\n\n this._element.removeAttribute('aria-modal');\n\n this._element.removeAttribute('role');\n\n this._isTransitioning = false;\n\n this._backdrop.hide(() => {\n document.body.classList.remove(CLASS_NAME_OPEN);\n\n this._resetAdjustments();\n\n this._scrollBar.reset();\n\n EventHandler.trigger(this._element, EVENT_HIDDEN$4);\n });\n }\n\n _isAnimated() {\n return this._element.classList.contains(CLASS_NAME_FADE$3);\n }\n\n _triggerBackdropTransition() {\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED$1);\n\n if (hideEvent.defaultPrevented) {\n return;\n }\n\n const isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight;\n const initialOverflowY = this._element.style.overflowY; // return if the following background transition hasn't yet completed\n\n if (initialOverflowY === 'hidden' || this._element.classList.contains(CLASS_NAME_STATIC)) {\n return;\n }\n\n if (!isModalOverflowing) {\n this._element.style.overflowY = 'hidden';\n }\n\n this._element.classList.add(CLASS_NAME_STATIC);\n\n this._queueCallback(() => {\n this._element.classList.remove(CLASS_NAME_STATIC);\n\n this._queueCallback(() => {\n this._element.style.overflowY = initialOverflowY;\n }, this._dialog);\n }, this._dialog);\n\n this._element.focus();\n }\n /**\n * The following methods are used to handle overflowing modals\n */\n\n\n _adjustDialog() {\n const isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight;\n\n const scrollbarWidth = this._scrollBar.getWidth();\n\n const isBodyOverflowing = scrollbarWidth > 0;\n\n if (isBodyOverflowing && !isModalOverflowing) {\n const property = isRTL() ? 'paddingLeft' : 'paddingRight';\n this._element.style[property] = `${scrollbarWidth}px`;\n }\n\n if (!isBodyOverflowing && isModalOverflowing) {\n const property = isRTL() ? 'paddingRight' : 'paddingLeft';\n this._element.style[property] = `${scrollbarWidth}px`;\n }\n }\n\n _resetAdjustments() {\n this._element.style.paddingLeft = '';\n this._element.style.paddingRight = '';\n } // Static\n\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 * Data API implementation\n */\n\n\nEventHandler.on(document, EVENT_CLICK_DATA_API$2, SELECTOR_DATA_TOGGLE$2, 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$4, 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$4, () => {\n if (isVisible(this)) {\n this.focus();\n }\n });\n }); // avoid conflict when clicking modal toggler while another one is open\n\n const alreadyOpen = SelectorEngine.findOne(OPEN_SELECTOR$1);\n\n if (alreadyOpen) {\n Modal.getInstance(alreadyOpen).hide();\n }\n\n const data = Modal.getOrCreateInstance(target);\n data.toggle(this);\n});\nenableDismissTrigger(Modal);\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(Modal);\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.2.3): offcanvas.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n/**\n * Constants\n */\n\nconst NAME$6 = 'offcanvas';\nconst DATA_KEY$3 = 'bs.offcanvas';\nconst EVENT_KEY$3 = `.${DATA_KEY$3}`;\nconst DATA_API_KEY$1 = '.data-api';\nconst EVENT_LOAD_DATA_API$2 = `load${EVENT_KEY$3}${DATA_API_KEY$1}`;\nconst ESCAPE_KEY = 'Escape';\nconst CLASS_NAME_SHOW$3 = 'show';\nconst CLASS_NAME_SHOWING$1 = 'showing';\nconst CLASS_NAME_HIDING = 'hiding';\nconst CLASS_NAME_BACKDROP = 'offcanvas-backdrop';\nconst OPEN_SELECTOR = '.offcanvas.show';\nconst EVENT_SHOW$3 = `show${EVENT_KEY$3}`;\nconst EVENT_SHOWN$3 = `shown${EVENT_KEY$3}`;\nconst EVENT_HIDE$3 = `hide${EVENT_KEY$3}`;\nconst EVENT_HIDE_PREVENTED = `hidePrevented${EVENT_KEY$3}`;\nconst EVENT_HIDDEN$3 = `hidden${EVENT_KEY$3}`;\nconst EVENT_RESIZE = `resize${EVENT_KEY$3}`;\nconst EVENT_CLICK_DATA_API$1 = `click${EVENT_KEY$3}${DATA_API_KEY$1}`;\nconst EVENT_KEYDOWN_DISMISS = `keydown.dismiss${EVENT_KEY$3}`;\nconst SELECTOR_DATA_TOGGLE$1 = '[data-bs-toggle=\"offcanvas\"]';\nconst Default$5 = {\n backdrop: true,\n keyboard: true,\n scroll: false\n};\nconst DefaultType$5 = {\n backdrop: '(boolean|string)',\n keyboard: 'boolean',\n scroll: 'boolean'\n};\n/**\n * Class definition\n */\n\nclass Offcanvas extends BaseComponent {\n constructor(element, config) {\n super(element, config);\n this._isShown = false;\n this._backdrop = this._initializeBackDrop();\n this._focustrap = this._initializeFocusTrap();\n\n this._addEventListeners();\n } // Getters\n\n\n static get Default() {\n return Default$5;\n }\n\n static get DefaultType() {\n return DefaultType$5;\n }\n\n static get NAME() {\n return NAME$6;\n } // Public\n\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$3, {\n relatedTarget\n });\n\n if (showEvent.defaultPrevented) {\n return;\n }\n\n this._isShown = true;\n\n this._backdrop.show();\n\n if (!this._config.scroll) {\n new ScrollBarHelper().hide();\n }\n\n this._element.setAttribute('aria-modal', true);\n\n this._element.setAttribute('role', 'dialog');\n\n this._element.classList.add(CLASS_NAME_SHOWING$1);\n\n const completeCallBack = () => {\n if (!this._config.scroll || this._config.backdrop) {\n this._focustrap.activate();\n }\n\n this._element.classList.add(CLASS_NAME_SHOW$3);\n\n this._element.classList.remove(CLASS_NAME_SHOWING$1);\n\n EventHandler.trigger(this._element, EVENT_SHOWN$3, {\n relatedTarget\n });\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$3);\n\n if (hideEvent.defaultPrevented) {\n return;\n }\n\n this._focustrap.deactivate();\n\n this._element.blur();\n\n this._isShown = false;\n\n this._element.classList.add(CLASS_NAME_HIDING);\n\n this._backdrop.hide();\n\n const completeCallback = () => {\n this._element.classList.remove(CLASS_NAME_SHOW$3, CLASS_NAME_HIDING);\n\n this._element.removeAttribute('aria-modal');\n\n this._element.removeAttribute('role');\n\n if (!this._config.scroll) {\n new ScrollBarHelper().reset();\n }\n\n EventHandler.trigger(this._element, EVENT_HIDDEN$3);\n };\n\n this._queueCallback(completeCallback, this._element, true);\n }\n\n dispose() {\n this._backdrop.dispose();\n\n this._focustrap.deactivate();\n\n super.dispose();\n } // Private\n\n\n _initializeBackDrop() {\n const clickCallback = () => {\n if (this._config.backdrop === 'static') {\n EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED);\n return;\n }\n\n this.hide();\n }; // 'static' option will be translated to true, and booleans will keep their value\n\n\n const isVisible = Boolean(this._config.backdrop);\n return new Backdrop({\n className: CLASS_NAME_BACKDROP,\n isVisible,\n isAnimated: true,\n rootElement: this._element.parentNode,\n clickCallback: isVisible ? clickCallback : null\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 (event.key !== ESCAPE_KEY) {\n return;\n }\n\n if (!this._config.keyboard) {\n EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED);\n return;\n }\n\n this.hide();\n });\n } // Static\n\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 * Data API implementation\n */\n\n\nEventHandler.on(document, EVENT_CLICK_DATA_API$1, SELECTOR_DATA_TOGGLE$1, 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$3, () => {\n // focus on trigger when it is closed\n if (isVisible(this)) {\n this.focus();\n }\n }); // avoid conflict when clicking a toggler of an offcanvas, while another is open\n\n const alreadyOpen = SelectorEngine.findOne(OPEN_SELECTOR);\n\n if (alreadyOpen && alreadyOpen !== target) {\n Offcanvas.getInstance(alreadyOpen).hide();\n }\n\n const data = Offcanvas.getOrCreateInstance(target);\n data.toggle(this);\n});\nEventHandler.on(window, EVENT_LOAD_DATA_API$2, () => {\n for (const selector of SelectorEngine.find(OPEN_SELECTOR)) {\n Offcanvas.getOrCreateInstance(selector).show();\n }\n});\nEventHandler.on(window, EVENT_RESIZE, () => {\n for (const element of SelectorEngine.find('[aria-modal][class*=show][class*=offcanvas-]')) {\n if (getComputedStyle(element).position !== 'fixed') {\n Offcanvas.getOrCreateInstance(element).hide();\n }\n }\n});\nenableDismissTrigger(Offcanvas);\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(Offcanvas);\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.2.3): util/sanitizer.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\nconst uriAttributes = new Set(['background', 'cite', 'href', 'itemtype', 'longdesc', 'poster', 'src', 'xlink:href']);\nconst ARIA_ATTRIBUTE_PATTERN = /^aria-[\\w-]*$/i;\n/**\n * A pattern that recognizes a commonly useful subset of URLs that are safe.\n *\n * Shout-out to Angular https://github.com/angular/angular/blob/12.2.x/packages/core/src/sanitization/url_sanitizer.ts\n */\n\nconst SAFE_URL_PATTERN = /^(?:(?:https?|mailto|ftp|tel|file|sms):|[^#&/:?]*(?:[#/?]|$))/i;\n/**\n * A pattern that matches safe data URLs. Only matches image, video and audio types.\n *\n * Shout-out to Angular https://github.com/angular/angular/blob/12.2.x/packages/core/src/sanitization/url_sanitizer.ts\n */\n\nconst 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;\n\nconst allowedAttribute = (attribute, allowedAttributeList) => {\n const attributeName = attribute.nodeName.toLowerCase();\n\n if (allowedAttributeList.includes(attributeName)) {\n if (uriAttributes.has(attributeName)) {\n return Boolean(SAFE_URL_PATTERN.test(attribute.nodeValue) || DATA_URL_PATTERN.test(attribute.nodeValue));\n }\n\n return true;\n } // Check if a regular expression validates the attribute.\n\n\n return allowedAttributeList.filter(attributeRegex => attributeRegex instanceof RegExp).some(regex => regex.test(attributeName));\n};\n\nconst DefaultAllowlist = {\n // Global attributes allowed on any supplied element below.\n '*': ['class', 'dir', 'id', 'lang', 'role', ARIA_ATTRIBUTE_PATTERN],\n a: ['target', 'href', 'title', 'rel'],\n area: [],\n b: [],\n br: [],\n col: [],\n code: [],\n div: [],\n em: [],\n hr: [],\n h1: [],\n h2: [],\n h3: [],\n h4: [],\n h5: [],\n h6: [],\n i: [],\n img: ['src', 'srcset', 'alt', 'title', 'width', 'height'],\n li: [],\n ol: [],\n p: [],\n pre: [],\n s: [],\n small: [],\n span: [],\n sub: [],\n sup: [],\n strong: [],\n u: [],\n ul: []\n};\nfunction sanitizeHtml(unsafeHtml, allowList, sanitizeFunction) {\n if (!unsafeHtml.length) {\n return unsafeHtml;\n }\n\n if (sanitizeFunction && typeof sanitizeFunction === 'function') {\n return sanitizeFunction(unsafeHtml);\n }\n\n const domParser = new window.DOMParser();\n const createdDocument = domParser.parseFromString(unsafeHtml, 'text/html');\n const elements = [].concat(...createdDocument.body.querySelectorAll('*'));\n\n for (const element of elements) {\n const elementName = element.nodeName.toLowerCase();\n\n if (!Object.keys(allowList).includes(elementName)) {\n element.remove();\n continue;\n }\n\n const attributeList = [].concat(...element.attributes);\n const allowedAttributes = [].concat(allowList['*'] || [], allowList[elementName] || []);\n\n for (const attribute of attributeList) {\n if (!allowedAttribute(attribute, allowedAttributes)) {\n element.removeAttribute(attribute.nodeName);\n }\n }\n }\n\n return createdDocument.body.innerHTML;\n}\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.2.3): util/template-factory.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n/**\n * Constants\n */\n\nconst NAME$5 = 'TemplateFactory';\nconst Default$4 = {\n allowList: DefaultAllowlist,\n content: {},\n // { selector : text , selector2 : text2 , }\n extraClass: '',\n html: false,\n sanitize: true,\n sanitizeFn: null,\n template: '<div></div>'\n};\nconst DefaultType$4 = {\n allowList: 'object',\n content: 'object',\n extraClass: '(string|function)',\n html: 'boolean',\n sanitize: 'boolean',\n sanitizeFn: '(null|function)',\n template: 'string'\n};\nconst DefaultContentType = {\n entry: '(string|element|function|null)',\n selector: '(string|element)'\n};\n/**\n * Class definition\n */\n\nclass TemplateFactory extends Config {\n constructor(config) {\n super();\n this._config = this._getConfig(config);\n } // Getters\n\n\n static get Default() {\n return Default$4;\n }\n\n static get DefaultType() {\n return DefaultType$4;\n }\n\n static get NAME() {\n return NAME$5;\n } // Public\n\n\n getContent() {\n return Object.values(this._config.content).map(config => this._resolvePossibleFunction(config)).filter(Boolean);\n }\n\n hasContent() {\n return this.getContent().length > 0;\n }\n\n changeContent(content) {\n this._checkContent(content);\n\n this._config.content = { ...this._config.content,\n ...content\n };\n return this;\n }\n\n toHtml() {\n const templateWrapper = document.createElement('div');\n templateWrapper.innerHTML = this._maybeSanitize(this._config.template);\n\n for (const [selector, text] of Object.entries(this._config.content)) {\n this._setContent(templateWrapper, text, selector);\n }\n\n const template = templateWrapper.children[0];\n\n const extraClass = this._resolvePossibleFunction(this._config.extraClass);\n\n if (extraClass) {\n template.classList.add(...extraClass.split(' '));\n }\n\n return template;\n } // Private\n\n\n _typeCheckConfig(config) {\n super._typeCheckConfig(config);\n\n this._checkContent(config.content);\n }\n\n _checkContent(arg) {\n for (const [selector, content] of Object.entries(arg)) {\n super._typeCheckConfig({\n selector,\n entry: content\n }, DefaultContentType);\n }\n }\n\n _setContent(template, content, selector) {\n const templateElement = SelectorEngine.findOne(selector, template);\n\n if (!templateElement) {\n return;\n }\n\n content = this._resolvePossibleFunction(content);\n\n if (!content) {\n templateElement.remove();\n return;\n }\n\n if (isElement(content)) {\n this._putElementInTemplate(getElement(content), templateElement);\n\n return;\n }\n\n if (this._config.html) {\n templateElement.innerHTML = this._maybeSanitize(content);\n return;\n }\n\n templateElement.textContent = content;\n }\n\n _maybeSanitize(arg) {\n return this._config.sanitize ? sanitizeHtml(arg, this._config.allowList, this._config.sanitizeFn) : arg;\n }\n\n _resolvePossibleFunction(arg) {\n return typeof arg === 'function' ? arg(this) : arg;\n }\n\n _putElementInTemplate(element, templateElement) {\n if (this._config.html) {\n templateElement.innerHTML = '';\n templateElement.append(element);\n return;\n }\n\n templateElement.textContent = element.textContent;\n }\n\n}\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.2.3): tooltip.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n/**\n * Constants\n */\n\nconst NAME$4 = 'tooltip';\nconst DISALLOWED_ATTRIBUTES = new Set(['sanitize', 'allowList', 'sanitizeFn']);\nconst CLASS_NAME_FADE$2 = 'fade';\nconst CLASS_NAME_MODAL = 'modal';\nconst CLASS_NAME_SHOW$2 = 'show';\nconst SELECTOR_TOOLTIP_INNER = '.tooltip-inner';\nconst SELECTOR_MODAL = `.${CLASS_NAME_MODAL}`;\nconst EVENT_MODAL_HIDE = 'hide.bs.modal';\nconst TRIGGER_HOVER = 'hover';\nconst TRIGGER_FOCUS = 'focus';\nconst TRIGGER_CLICK = 'click';\nconst TRIGGER_MANUAL = 'manual';\nconst EVENT_HIDE$2 = 'hide';\nconst EVENT_HIDDEN$2 = 'hidden';\nconst EVENT_SHOW$2 = 'show';\nconst EVENT_SHOWN$2 = 'shown';\nconst EVENT_INSERTED = 'inserted';\nconst EVENT_CLICK$1 = 'click';\nconst EVENT_FOCUSIN$1 = 'focusin';\nconst EVENT_FOCUSOUT$1 = 'focusout';\nconst EVENT_MOUSEENTER = 'mouseenter';\nconst EVENT_MOUSELEAVE = 'mouseleave';\nconst AttachmentMap = {\n AUTO: 'auto',\n TOP: 'top',\n RIGHT: isRTL() ? 'left' : 'right',\n BOTTOM: 'bottom',\n LEFT: isRTL() ? 'right' : 'left'\n};\nconst Default$3 = {\n allowList: DefaultAllowlist,\n animation: true,\n boundary: 'clippingParents',\n container: false,\n customClass: '',\n delay: 0,\n fallbackPlacements: ['top', 'right', 'bottom', 'left'],\n html: false,\n offset: [0, 0],\n placement: 'top',\n popperConfig: null,\n sanitize: true,\n sanitizeFn: null,\n selector: false,\n template: '<div class=\"tooltip\" role=\"tooltip\">' + '<div class=\"tooltip-arrow\"></div>' + '<div class=\"tooltip-inner\"></div>' + '</div>',\n title: '',\n trigger: 'hover focus'\n};\nconst DefaultType$3 = {\n allowList: 'object',\n animation: 'boolean',\n boundary: '(string|element)',\n container: '(string|element|boolean)',\n customClass: '(string|function)',\n delay: '(number|object)',\n fallbackPlacements: 'array',\n html: 'boolean',\n offset: '(array|string|function)',\n placement: '(string|function)',\n popperConfig: '(null|object|function)',\n sanitize: 'boolean',\n sanitizeFn: '(null|function)',\n selector: '(string|boolean)',\n template: 'string',\n title: '(string|element|function)',\n trigger: 'string'\n};\n/**\n * Class definition\n */\n\nclass Tooltip extends BaseComponent {\n constructor(element, config) {\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap\\'s tooltips require Popper (https://popper.js.org)');\n }\n\n super(element, config); // Private\n\n this._isEnabled = true;\n this._timeout = 0;\n this._isHovered = null;\n this._activeTrigger = {};\n this._popper = null;\n this._templateFactory = null;\n this._newContent = null; // Protected\n\n this.tip = null;\n\n this._setListeners();\n\n if (!this._config.selector) {\n this._fixTitle();\n }\n } // Getters\n\n\n static get Default() {\n return Default$3;\n }\n\n static get DefaultType() {\n return DefaultType$3;\n }\n\n static get NAME() {\n return NAME$4;\n } // Public\n\n\n enable() {\n this._isEnabled = true;\n }\n\n disable() {\n this._isEnabled = false;\n }\n\n toggleEnabled() {\n this._isEnabled = !this._isEnabled;\n }\n\n toggle() {\n if (!this._isEnabled) {\n return;\n }\n\n this._activeTrigger.click = !this._activeTrigger.click;\n\n if (this._isShown()) {\n this._leave();\n\n return;\n }\n\n this._enter();\n }\n\n dispose() {\n clearTimeout(this._timeout);\n EventHandler.off(this._element.closest(SELECTOR_MODAL), EVENT_MODAL_HIDE, this._hideModalHandler);\n\n if (this._element.getAttribute('data-bs-original-title')) {\n this._element.setAttribute('title', this._element.getAttribute('data-bs-original-title'));\n }\n\n this._disposePopper();\n\n super.dispose();\n }\n\n show() {\n if (this._element.style.display === 'none') {\n throw new Error('Please use show on visible elements');\n }\n\n if (!(this._isWithContent() && this._isEnabled)) {\n return;\n }\n\n const showEvent = EventHandler.trigger(this._element, this.constructor.eventName(EVENT_SHOW$2));\n const shadowRoot = findShadowRoot(this._element);\n\n const isInTheDom = (shadowRoot || this._element.ownerDocument.documentElement).contains(this._element);\n\n if (showEvent.defaultPrevented || !isInTheDom) {\n return;\n } // todo v6 remove this OR make it optional\n\n\n this._disposePopper();\n\n const tip = this._getTipElement();\n\n this._element.setAttribute('aria-describedby', tip.getAttribute('id'));\n\n const {\n container\n } = this._config;\n\n if (!this._element.ownerDocument.documentElement.contains(this.tip)) {\n container.append(tip);\n EventHandler.trigger(this._element, this.constructor.eventName(EVENT_INSERTED));\n }\n\n this._popper = this._createPopper(tip);\n tip.classList.add(CLASS_NAME_SHOW$2); // 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\n if ('ontouchstart' in document.documentElement) {\n for (const element of [].concat(...document.body.children)) {\n EventHandler.on(element, 'mouseover', noop);\n }\n }\n\n const complete = () => {\n EventHandler.trigger(this._element, this.constructor.eventName(EVENT_SHOWN$2));\n\n if (this._isHovered === false) {\n this._leave();\n }\n\n this._isHovered = false;\n };\n\n this._queueCallback(complete, this.tip, this._isAnimated());\n }\n\n hide() {\n if (!this._isShown()) {\n return;\n }\n\n const hideEvent = EventHandler.trigger(this._element, this.constructor.eventName(EVENT_HIDE$2));\n\n if (hideEvent.defaultPrevented) {\n return;\n }\n\n const tip = this._getTipElement();\n\n tip.classList.remove(CLASS_NAME_SHOW$2); // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n\n if ('ontouchstart' in document.documentElement) {\n for (const element of [].concat(...document.body.children)) {\n EventHandler.off(element, 'mouseover', noop);\n }\n }\n\n this._activeTrigger[TRIGGER_CLICK] = false;\n this._activeTrigger[TRIGGER_FOCUS] = false;\n this._activeTrigger[TRIGGER_HOVER] = false;\n this._isHovered = null; // it is a trick to support manual triggering\n\n const complete = () => {\n if (this._isWithActiveTrigger()) {\n return;\n }\n\n if (!this._isHovered) {\n this._disposePopper();\n }\n\n this._element.removeAttribute('aria-describedby');\n\n EventHandler.trigger(this._element, this.constructor.eventName(EVENT_HIDDEN$2));\n };\n\n this._queueCallback(complete, this.tip, this._isAnimated());\n }\n\n update() {\n if (this._popper) {\n this._popper.update();\n }\n } // Protected\n\n\n _isWithContent() {\n return Boolean(this._getTitle());\n }\n\n _getTipElement() {\n if (!this.tip) {\n this.tip = this._createTipElement(this._newContent || this._getContentForTemplate());\n }\n\n return this.tip;\n }\n\n _createTipElement(content) {\n const tip = this._getTemplateFactory(content).toHtml(); // todo: remove this check on v6\n\n\n if (!tip) {\n return null;\n }\n\n tip.classList.remove(CLASS_NAME_FADE$2, CLASS_NAME_SHOW$2); // todo: on v6 the following can be achieved with CSS only\n\n tip.classList.add(`bs-${this.constructor.NAME}-auto`);\n const tipId = getUID(this.constructor.NAME).toString();\n tip.setAttribute('id', tipId);\n\n if (this._isAnimated()) {\n tip.classList.add(CLASS_NAME_FADE$2);\n }\n\n return tip;\n }\n\n setContent(content) {\n this._newContent = content;\n\n if (this._isShown()) {\n this._disposePopper();\n\n this.show();\n }\n }\n\n _getTemplateFactory(content) {\n if (this._templateFactory) {\n this._templateFactory.changeContent(content);\n } else {\n this._templateFactory = new TemplateFactory({ ...this._config,\n // the `content` var has to be after `this._config`\n // to override config.content in case of popover\n content,\n extraClass: this._resolvePossibleFunction(this._config.customClass)\n });\n }\n\n return this._templateFactory;\n }\n\n _getContentForTemplate() {\n return {\n [SELECTOR_TOOLTIP_INNER]: this._getTitle()\n };\n }\n\n _getTitle() {\n return this._resolvePossibleFunction(this._config.title) || this._element.getAttribute('data-bs-original-title');\n } // Private\n\n\n _initializeOnDelegatedTarget(event) {\n return this.constructor.getOrCreateInstance(event.delegateTarget, this._getDelegateConfig());\n }\n\n _isAnimated() {\n return this._config.animation || this.tip && this.tip.classList.contains(CLASS_NAME_FADE$2);\n }\n\n _isShown() {\n return this.tip && this.tip.classList.contains(CLASS_NAME_SHOW$2);\n }\n\n _createPopper(tip) {\n const placement = typeof this._config.placement === 'function' ? this._config.placement.call(this, tip, this._element) : this._config.placement;\n const attachment = AttachmentMap[placement.toUpperCase()];\n return Popper.createPopper(this._element, tip, this._getPopperConfig(attachment));\n }\n\n _getOffset() {\n const {\n offset\n } = this._config;\n\n if (typeof offset === 'string') {\n return offset.split(',').map(value => Number.parseInt(value, 10));\n }\n\n if (typeof offset === 'function') {\n return popperData => offset(popperData, this._element);\n }\n\n return offset;\n }\n\n _resolvePossibleFunction(arg) {\n return typeof arg === 'function' ? arg.call(this._element) : arg;\n }\n\n _getPopperConfig(attachment) {\n const defaultBsPopperConfig = {\n placement: attachment,\n modifiers: [{\n name: 'flip',\n options: {\n fallbackPlacements: this._config.fallbackPlacements\n }\n }, {\n name: 'offset',\n options: {\n offset: this._getOffset()\n }\n }, {\n name: 'preventOverflow',\n options: {\n boundary: this._config.boundary\n }\n }, {\n name: 'arrow',\n options: {\n element: `.${this.constructor.NAME}-arrow`\n }\n }, {\n name: 'preSetPlacement',\n enabled: true,\n phase: 'beforeMain',\n fn: data => {\n // Pre-set Popper's placement attribute in order to read the arrow sizes properly.\n // Otherwise, Popper mixes up the width and height dimensions since the initial arrow style is for top placement\n this._getTipElement().setAttribute('data-popper-placement', data.state.placement);\n }\n }]\n };\n return { ...defaultBsPopperConfig,\n ...(typeof this._config.popperConfig === 'function' ? this._config.popperConfig(defaultBsPopperConfig) : this._config.popperConfig)\n };\n }\n\n _setListeners() {\n const triggers = this._config.trigger.split(' ');\n\n for (const trigger of triggers) {\n if (trigger === 'click') {\n EventHandler.on(this._element, this.constructor.eventName(EVENT_CLICK$1), this._config.selector, event => {\n const context = this._initializeOnDelegatedTarget(event);\n\n context.toggle();\n });\n } else if (trigger !== TRIGGER_MANUAL) {\n const eventIn = trigger === TRIGGER_HOVER ? this.constructor.eventName(EVENT_MOUSEENTER) : this.constructor.eventName(EVENT_FOCUSIN$1);\n const eventOut = trigger === TRIGGER_HOVER ? this.constructor.eventName(EVENT_MOUSELEAVE) : this.constructor.eventName(EVENT_FOCUSOUT$1);\n EventHandler.on(this._element, eventIn, this._config.selector, event => {\n const context = this._initializeOnDelegatedTarget(event);\n\n context._activeTrigger[event.type === 'focusin' ? TRIGGER_FOCUS : TRIGGER_HOVER] = true;\n\n context._enter();\n });\n EventHandler.on(this._element, eventOut, this._config.selector, event => {\n const context = this._initializeOnDelegatedTarget(event);\n\n context._activeTrigger[event.type === 'focusout' ? TRIGGER_FOCUS : TRIGGER_HOVER] = context._element.contains(event.relatedTarget);\n\n context._leave();\n });\n }\n }\n\n this._hideModalHandler = () => {\n if (this._element) {\n this.hide();\n }\n };\n\n EventHandler.on(this._element.closest(SELECTOR_MODAL), EVENT_MODAL_HIDE, this._hideModalHandler);\n }\n\n _fixTitle() {\n const title = this._element.getAttribute('title');\n\n if (!title) {\n return;\n }\n\n if (!this._element.getAttribute('aria-label') && !this._element.textContent.trim()) {\n this._element.setAttribute('aria-label', title);\n }\n\n this._element.setAttribute('data-bs-original-title', title); // DO NOT USE IT. Is only for backwards compatibility\n\n\n this._element.removeAttribute('title');\n }\n\n _enter() {\n if (this._isShown() || this._isHovered) {\n this._isHovered = true;\n return;\n }\n\n this._isHovered = true;\n\n this._setTimeout(() => {\n if (this._isHovered) {\n this.show();\n }\n }, this._config.delay.show);\n }\n\n _leave() {\n if (this._isWithActiveTrigger()) {\n return;\n }\n\n this._isHovered = false;\n\n this._setTimeout(() => {\n if (!this._isHovered) {\n this.hide();\n }\n }, this._config.delay.hide);\n }\n\n _setTimeout(handler, timeout) {\n clearTimeout(this._timeout);\n this._timeout = setTimeout(handler, timeout);\n }\n\n _isWithActiveTrigger() {\n return Object.values(this._activeTrigger).includes(true);\n }\n\n _getConfig(config) {\n const dataAttributes = Manipulator.getDataAttributes(this._element);\n\n for (const dataAttribute of Object.keys(dataAttributes)) {\n if (DISALLOWED_ATTRIBUTES.has(dataAttribute)) {\n delete dataAttributes[dataAttribute];\n }\n }\n\n config = { ...dataAttributes,\n ...(typeof config === 'object' && config ? config : {})\n };\n config = this._mergeConfigObj(config);\n config = this._configAfterMerge(config);\n\n this._typeCheckConfig(config);\n\n return config;\n }\n\n _configAfterMerge(config) {\n config.container = config.container === false ? document.body : getElement(config.container);\n\n if (typeof config.delay === 'number') {\n config.delay = {\n show: config.delay,\n hide: config.delay\n };\n }\n\n if (typeof config.title === 'number') {\n config.title = config.title.toString();\n }\n\n if (typeof config.content === 'number') {\n config.content = config.content.toString();\n }\n\n return config;\n }\n\n _getDelegateConfig() {\n const config = {};\n\n for (const key in this._config) {\n if (this.constructor.Default[key] !== this._config[key]) {\n config[key] = this._config[key];\n }\n }\n\n config.selector = false;\n config.trigger = 'manual'; // In the future can be replaced with:\n // const keysWithDifferentValues = Object.entries(this._config).filter(entry => this.constructor.Default[entry[0]] !== this._config[entry[0]])\n // `Object.fromEntries(keysWithDifferentValues)`\n\n return config;\n }\n\n _disposePopper() {\n if (this._popper) {\n this._popper.destroy();\n\n this._popper = null;\n }\n\n if (this.tip) {\n this.tip.remove();\n this.tip = null;\n }\n } // Static\n\n\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Tooltip.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}\n/**\n * jQuery\n */\n\n\ndefineJQueryPlugin(Tooltip);\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.2.3): popover.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n/**\n * Constants\n */\n\nconst NAME$3 = 'popover';\nconst SELECTOR_TITLE = '.popover-header';\nconst SELECTOR_CONTENT = '.popover-body';\nconst Default$2 = { ...Tooltip.Default,\n content: '',\n offset: [0, 8],\n placement: 'right',\n template: '<div class=\"popover\" role=\"tooltip\">' + '<div class=\"popover-arrow\"></div>' + '<h3 class=\"popover-header\"></h3>' + '<div class=\"popover-body\"></div>' + '</div>',\n trigger: 'click'\n};\nconst DefaultType$2 = { ...Tooltip.DefaultType,\n content: '(null|string|element|function)'\n};\n/**\n * Class definition\n */\n\nclass Popover extends Tooltip {\n // Getters\n static get Default() {\n return Default$2;\n }\n\n static get DefaultType() {\n return DefaultType$2;\n }\n\n static get NAME() {\n return NAME$3;\n } // Overrides\n\n\n _isWithContent() {\n return this._getTitle() || this._getContent();\n } // Private\n\n\n _getContentForTemplate() {\n return {\n [SELECTOR_TITLE]: this._getTitle(),\n [SELECTOR_CONTENT]: this._getContent()\n };\n }\n\n _getContent() {\n return this._resolvePossibleFunction(this._config.content);\n } // Static\n\n\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Popover.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}\n/**\n * jQuery\n */\n\n\ndefineJQueryPlugin(Popover);\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.2.3): scrollspy.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n/**\n * Constants\n */\n\nconst NAME$2 = 'scrollspy';\nconst DATA_KEY$2 = 'bs.scrollspy';\nconst EVENT_KEY$2 = `.${DATA_KEY$2}`;\nconst DATA_API_KEY = '.data-api';\nconst EVENT_ACTIVATE = `activate${EVENT_KEY$2}`;\nconst EVENT_CLICK = `click${EVENT_KEY$2}`;\nconst EVENT_LOAD_DATA_API$1 = `load${EVENT_KEY$2}${DATA_API_KEY}`;\nconst CLASS_NAME_DROPDOWN_ITEM = 'dropdown-item';\nconst CLASS_NAME_ACTIVE$1 = 'active';\nconst SELECTOR_DATA_SPY = '[data-bs-spy=\"scroll\"]';\nconst SELECTOR_TARGET_LINKS = '[href]';\nconst SELECTOR_NAV_LIST_GROUP = '.nav, .list-group';\nconst SELECTOR_NAV_LINKS = '.nav-link';\nconst SELECTOR_NAV_ITEMS = '.nav-item';\nconst SELECTOR_LIST_ITEMS = '.list-group-item';\nconst SELECTOR_LINK_ITEMS = `${SELECTOR_NAV_LINKS}, ${SELECTOR_NAV_ITEMS} > ${SELECTOR_NAV_LINKS}, ${SELECTOR_LIST_ITEMS}`;\nconst SELECTOR_DROPDOWN = '.dropdown';\nconst SELECTOR_DROPDOWN_TOGGLE$1 = '.dropdown-toggle';\nconst Default$1 = {\n offset: null,\n // TODO: v6 @deprecated, keep it for backwards compatibility reasons\n rootMargin: '0px 0px -25%',\n smoothScroll: false,\n target: null,\n threshold: [0.1, 0.5, 1]\n};\nconst DefaultType$1 = {\n offset: '(number|null)',\n // TODO v6 @deprecated, keep it for backwards compatibility reasons\n rootMargin: 'string',\n smoothScroll: 'boolean',\n target: 'element',\n threshold: 'array'\n};\n/**\n * Class definition\n */\n\nclass ScrollSpy extends BaseComponent {\n constructor(element, config) {\n super(element, config); // this._element is the observablesContainer and config.target the menu links wrapper\n\n this._targetLinks = new Map();\n this._observableSections = new Map();\n this._rootElement = getComputedStyle(this._element).overflowY === 'visible' ? null : this._element;\n this._activeTarget = null;\n this._observer = null;\n this._previousScrollData = {\n visibleEntryTop: 0,\n parentScrollTop: 0\n };\n this.refresh(); // initialize\n } // Getters\n\n\n static get Default() {\n return Default$1;\n }\n\n static get DefaultType() {\n return DefaultType$1;\n }\n\n static get NAME() {\n return NAME$2;\n } // Public\n\n\n refresh() {\n this._initializeTargetsAndObservables();\n\n this._maybeEnableSmoothScroll();\n\n if (this._observer) {\n this._observer.disconnect();\n } else {\n this._observer = this._getNewObserver();\n }\n\n for (const section of this._observableSections.values()) {\n this._observer.observe(section);\n }\n }\n\n dispose() {\n this._observer.disconnect();\n\n super.dispose();\n } // Private\n\n\n _configAfterMerge(config) {\n // TODO: on v6 target should be given explicitly & remove the {target: 'ss-target'} case\n config.target = getElement(config.target) || document.body; // TODO: v6 Only for backwards compatibility reasons. Use rootMargin only\n\n config.rootMargin = config.offset ? `${config.offset}px 0px -30%` : config.rootMargin;\n\n if (typeof config.threshold === 'string') {\n config.threshold = config.threshold.split(',').map(value => Number.parseFloat(value));\n }\n\n return config;\n }\n\n _maybeEnableSmoothScroll() {\n if (!this._config.smoothScroll) {\n return;\n } // unregister any previous listeners\n\n\n EventHandler.off(this._config.target, EVENT_CLICK);\n EventHandler.on(this._config.target, EVENT_CLICK, SELECTOR_TARGET_LINKS, event => {\n const observableSection = this._observableSections.get(event.target.hash);\n\n if (observableSection) {\n event.preventDefault();\n const root = this._rootElement || window;\n const height = observableSection.offsetTop - this._element.offsetTop;\n\n if (root.scrollTo) {\n root.scrollTo({\n top: height,\n behavior: 'smooth'\n });\n return;\n } // Chrome 60 doesn't support `scrollTo`\n\n\n root.scrollTop = height;\n }\n });\n }\n\n _getNewObserver() {\n const options = {\n root: this._rootElement,\n threshold: this._config.threshold,\n rootMargin: this._config.rootMargin\n };\n return new IntersectionObserver(entries => this._observerCallback(entries), options);\n } // The logic of selection\n\n\n _observerCallback(entries) {\n const targetElement = entry => this._targetLinks.get(`#${entry.target.id}`);\n\n const activate = entry => {\n this._previousScrollData.visibleEntryTop = entry.target.offsetTop;\n\n this._process(targetElement(entry));\n };\n\n const parentScrollTop = (this._rootElement || document.documentElement).scrollTop;\n const userScrollsDown = parentScrollTop >= this._previousScrollData.parentScrollTop;\n this._previousScrollData.parentScrollTop = parentScrollTop;\n\n for (const entry of entries) {\n if (!entry.isIntersecting) {\n this._activeTarget = null;\n\n this._clearActiveClass(targetElement(entry));\n\n continue;\n }\n\n const entryIsLowerThanPrevious = entry.target.offsetTop >= this._previousScrollData.visibleEntryTop; // if we are scrolling down, pick the bigger offsetTop\n\n if (userScrollsDown && entryIsLowerThanPrevious) {\n activate(entry); // if parent isn't scrolled, let's keep the first visible item, breaking the iteration\n\n if (!parentScrollTop) {\n return;\n }\n\n continue;\n } // if we are scrolling up, pick the smallest offsetTop\n\n\n if (!userScrollsDown && !entryIsLowerThanPrevious) {\n activate(entry);\n }\n }\n }\n\n _initializeTargetsAndObservables() {\n this._targetLinks = new Map();\n this._observableSections = new Map();\n const targetLinks = SelectorEngine.find(SELECTOR_TARGET_LINKS, this._config.target);\n\n for (const anchor of targetLinks) {\n // ensure that the anchor has an id and is not disabled\n if (!anchor.hash || isDisabled(anchor)) {\n continue;\n }\n\n const observableSection = SelectorEngine.findOne(anchor.hash, this._element); // ensure that the observableSection exists & is visible\n\n if (isVisible(observableSection)) {\n this._targetLinks.set(anchor.hash, anchor);\n\n this._observableSections.set(anchor.hash, observableSection);\n }\n }\n }\n\n _process(target) {\n if (this._activeTarget === target) {\n return;\n }\n\n this._clearActiveClass(this._config.target);\n\n this._activeTarget = target;\n target.classList.add(CLASS_NAME_ACTIVE$1);\n\n this._activateParents(target);\n\n EventHandler.trigger(this._element, EVENT_ACTIVATE, {\n relatedTarget: target\n });\n }\n\n _activateParents(target) {\n // Activate dropdown parents\n if (target.classList.contains(CLASS_NAME_DROPDOWN_ITEM)) {\n SelectorEngine.findOne(SELECTOR_DROPDOWN_TOGGLE$1, target.closest(SELECTOR_DROPDOWN)).classList.add(CLASS_NAME_ACTIVE$1);\n return;\n }\n\n for (const listGroup of SelectorEngine.parents(target, SELECTOR_NAV_LIST_GROUP)) {\n // Set triggered links parents as active\n // With both <ul> and <nav> markup a parent is the previous sibling of any nav ancestor\n for (const item of SelectorEngine.prev(listGroup, SELECTOR_LINK_ITEMS)) {\n item.classList.add(CLASS_NAME_ACTIVE$1);\n }\n }\n }\n\n _clearActiveClass(parent) {\n parent.classList.remove(CLASS_NAME_ACTIVE$1);\n const activeNodes = SelectorEngine.find(`${SELECTOR_TARGET_LINKS}.${CLASS_NAME_ACTIVE$1}`, parent);\n\n for (const node of activeNodes) {\n node.classList.remove(CLASS_NAME_ACTIVE$1);\n }\n } // Static\n\n\n static jQueryInterface(config) {\n return this.each(function () {\n const data = ScrollSpy.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]();\n });\n }\n\n}\n/**\n * Data API implementation\n */\n\n\nEventHandler.on(window, EVENT_LOAD_DATA_API$1, () => {\n for (const spy of SelectorEngine.find(SELECTOR_DATA_SPY)) {\n ScrollSpy.getOrCreateInstance(spy);\n }\n});\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(ScrollSpy);\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.2.3): tab.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n/**\n * Constants\n */\n\nconst NAME$1 = 'tab';\nconst DATA_KEY$1 = 'bs.tab';\nconst EVENT_KEY$1 = `.${DATA_KEY$1}`;\nconst EVENT_HIDE$1 = `hide${EVENT_KEY$1}`;\nconst EVENT_HIDDEN$1 = `hidden${EVENT_KEY$1}`;\nconst EVENT_SHOW$1 = `show${EVENT_KEY$1}`;\nconst EVENT_SHOWN$1 = `shown${EVENT_KEY$1}`;\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY$1}`;\nconst EVENT_KEYDOWN = `keydown${EVENT_KEY$1}`;\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY$1}`;\nconst ARROW_LEFT_KEY = 'ArrowLeft';\nconst ARROW_RIGHT_KEY = 'ArrowRight';\nconst ARROW_UP_KEY = 'ArrowUp';\nconst ARROW_DOWN_KEY = 'ArrowDown';\nconst CLASS_NAME_ACTIVE = 'active';\nconst CLASS_NAME_FADE$1 = 'fade';\nconst CLASS_NAME_SHOW$1 = 'show';\nconst CLASS_DROPDOWN = 'dropdown';\nconst SELECTOR_DROPDOWN_TOGGLE = '.dropdown-toggle';\nconst SELECTOR_DROPDOWN_MENU = '.dropdown-menu';\nconst NOT_SELECTOR_DROPDOWN_TOGGLE = ':not(.dropdown-toggle)';\nconst SELECTOR_TAB_PANEL = '.list-group, .nav, [role=\"tablist\"]';\nconst SELECTOR_OUTER = '.nav-item, .list-group-item';\nconst SELECTOR_INNER = `.nav-link${NOT_SELECTOR_DROPDOWN_TOGGLE}, .list-group-item${NOT_SELECTOR_DROPDOWN_TOGGLE}, [role=\"tab\"]${NOT_SELECTOR_DROPDOWN_TOGGLE}`;\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"tab\"], [data-bs-toggle=\"pill\"], [data-bs-toggle=\"list\"]'; // todo:v6: could be only `tab`\n\nconst SELECTOR_INNER_ELEM = `${SELECTOR_INNER}, ${SELECTOR_DATA_TOGGLE}`;\nconst SELECTOR_DATA_TOGGLE_ACTIVE = `.${CLASS_NAME_ACTIVE}[data-bs-toggle=\"tab\"], .${CLASS_NAME_ACTIVE}[data-bs-toggle=\"pill\"], .${CLASS_NAME_ACTIVE}[data-bs-toggle=\"list\"]`;\n/**\n * Class definition\n */\n\nclass Tab extends BaseComponent {\n constructor(element) {\n super(element);\n this._parent = this._element.closest(SELECTOR_TAB_PANEL);\n\n if (!this._parent) {\n return; // todo: should Throw exception on v6\n // throw new TypeError(`${element.outerHTML} has not a valid parent ${SELECTOR_INNER_ELEM}`)\n } // Set up initial aria attributes\n\n\n this._setInitialAttributes(this._parent, this._getChildren());\n\n EventHandler.on(this._element, EVENT_KEYDOWN, event => this._keydown(event));\n } // Getters\n\n\n static get NAME() {\n return NAME$1;\n } // Public\n\n\n show() {\n // Shows this elem and deactivate the active sibling if exists\n const innerElem = this._element;\n\n if (this._elemIsActive(innerElem)) {\n return;\n } // Search for active tab on same parent to deactivate it\n\n\n const active = this._getActiveElem();\n\n const hideEvent = active ? EventHandler.trigger(active, EVENT_HIDE$1, {\n relatedTarget: innerElem\n }) : null;\n const showEvent = EventHandler.trigger(innerElem, EVENT_SHOW$1, {\n relatedTarget: active\n });\n\n if (showEvent.defaultPrevented || hideEvent && hideEvent.defaultPrevented) {\n return;\n }\n\n this._deactivate(active, innerElem);\n\n this._activate(innerElem, active);\n } // Private\n\n\n _activate(element, relatedElem) {\n if (!element) {\n return;\n }\n\n element.classList.add(CLASS_NAME_ACTIVE);\n\n this._activate(getElementFromSelector(element)); // Search and activate/show the proper section\n\n\n const complete = () => {\n if (element.getAttribute('role') !== 'tab') {\n element.classList.add(CLASS_NAME_SHOW$1);\n return;\n }\n\n element.removeAttribute('tabindex');\n element.setAttribute('aria-selected', true);\n\n this._toggleDropDown(element, true);\n\n EventHandler.trigger(element, EVENT_SHOWN$1, {\n relatedTarget: relatedElem\n });\n };\n\n this._queueCallback(complete, element, element.classList.contains(CLASS_NAME_FADE$1));\n }\n\n _deactivate(element, relatedElem) {\n if (!element) {\n return;\n }\n\n element.classList.remove(CLASS_NAME_ACTIVE);\n element.blur();\n\n this._deactivate(getElementFromSelector(element)); // Search and deactivate the shown section too\n\n\n const complete = () => {\n if (element.getAttribute('role') !== 'tab') {\n element.classList.remove(CLASS_NAME_SHOW$1);\n return;\n }\n\n element.setAttribute('aria-selected', false);\n element.setAttribute('tabindex', '-1');\n\n this._toggleDropDown(element, false);\n\n EventHandler.trigger(element, EVENT_HIDDEN$1, {\n relatedTarget: relatedElem\n });\n };\n\n this._queueCallback(complete, element, element.classList.contains(CLASS_NAME_FADE$1));\n }\n\n _keydown(event) {\n if (![ARROW_LEFT_KEY, ARROW_RIGHT_KEY, ARROW_UP_KEY, ARROW_DOWN_KEY].includes(event.key)) {\n return;\n }\n\n event.stopPropagation(); // stopPropagation/preventDefault both added to support up/down keys without scrolling the page\n\n event.preventDefault();\n const isNext = [ARROW_RIGHT_KEY, ARROW_DOWN_KEY].includes(event.key);\n const nextActiveElement = getNextActiveElement(this._getChildren().filter(element => !isDisabled(element)), event.target, isNext, true);\n\n if (nextActiveElement) {\n nextActiveElement.focus({\n preventScroll: true\n });\n Tab.getOrCreateInstance(nextActiveElement).show();\n }\n }\n\n _getChildren() {\n // collection of inner elements\n return SelectorEngine.find(SELECTOR_INNER_ELEM, this._parent);\n }\n\n _getActiveElem() {\n return this._getChildren().find(child => this._elemIsActive(child)) || null;\n }\n\n _setInitialAttributes(parent, children) {\n this._setAttributeIfNotExists(parent, 'role', 'tablist');\n\n for (const child of children) {\n this._setInitialAttributesOnChild(child);\n }\n }\n\n _setInitialAttributesOnChild(child) {\n child = this._getInnerElement(child);\n\n const isActive = this._elemIsActive(child);\n\n const outerElem = this._getOuterElement(child);\n\n child.setAttribute('aria-selected', isActive);\n\n if (outerElem !== child) {\n this._setAttributeIfNotExists(outerElem, 'role', 'presentation');\n }\n\n if (!isActive) {\n child.setAttribute('tabindex', '-1');\n }\n\n this._setAttributeIfNotExists(child, 'role', 'tab'); // set attributes to the related panel too\n\n\n this._setInitialAttributesOnTargetPanel(child);\n }\n\n _setInitialAttributesOnTargetPanel(child) {\n const target = getElementFromSelector(child);\n\n if (!target) {\n return;\n }\n\n this._setAttributeIfNotExists(target, 'role', 'tabpanel');\n\n if (child.id) {\n this._setAttributeIfNotExists(target, 'aria-labelledby', `#${child.id}`);\n }\n }\n\n _toggleDropDown(element, open) {\n const outerElem = this._getOuterElement(element);\n\n if (!outerElem.classList.contains(CLASS_DROPDOWN)) {\n return;\n }\n\n const toggle = (selector, className) => {\n const element = SelectorEngine.findOne(selector, outerElem);\n\n if (element) {\n element.classList.toggle(className, open);\n }\n };\n\n toggle(SELECTOR_DROPDOWN_TOGGLE, CLASS_NAME_ACTIVE);\n toggle(SELECTOR_DROPDOWN_MENU, CLASS_NAME_SHOW$1);\n outerElem.setAttribute('aria-expanded', open);\n }\n\n _setAttributeIfNotExists(element, attribute, value) {\n if (!element.hasAttribute(attribute)) {\n element.setAttribute(attribute, value);\n }\n }\n\n _elemIsActive(elem) {\n return elem.classList.contains(CLASS_NAME_ACTIVE);\n } // Try to get the inner element (usually the .nav-link)\n\n\n _getInnerElement(elem) {\n return elem.matches(SELECTOR_INNER_ELEM) ? elem : SelectorEngine.findOne(SELECTOR_INNER_ELEM, elem);\n } // Try to get the outer element (usually the .nav-item)\n\n\n _getOuterElement(elem) {\n return elem.closest(SELECTOR_OUTER) || elem;\n } // Static\n\n\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Tab.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]();\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 if (['A', 'AREA'].includes(this.tagName)) {\n event.preventDefault();\n }\n\n if (isDisabled(this)) {\n return;\n }\n\n Tab.getOrCreateInstance(this).show();\n});\n/**\n * Initialize on focus\n */\n\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n for (const element of SelectorEngine.find(SELECTOR_DATA_TOGGLE_ACTIVE)) {\n Tab.getOrCreateInstance(element);\n }\n});\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(Tab);\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.2.3): toast.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n/**\n * Constants\n */\n\nconst NAME = 'toast';\nconst DATA_KEY = 'bs.toast';\nconst EVENT_KEY = `.${DATA_KEY}`;\nconst EVENT_MOUSEOVER = `mouseover${EVENT_KEY}`;\nconst EVENT_MOUSEOUT = `mouseout${EVENT_KEY}`;\nconst EVENT_FOCUSIN = `focusin${EVENT_KEY}`;\nconst EVENT_FOCUSOUT = `focusout${EVENT_KEY}`;\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 CLASS_NAME_FADE = 'fade';\nconst CLASS_NAME_HIDE = 'hide'; // @deprecated - kept here only for backwards compatibility\n\nconst CLASS_NAME_SHOW = 'show';\nconst CLASS_NAME_SHOWING = 'showing';\nconst DefaultType = {\n animation: 'boolean',\n autohide: 'boolean',\n delay: 'number'\n};\nconst Default = {\n animation: true,\n autohide: true,\n delay: 5000\n};\n/**\n * Class definition\n */\n\nclass Toast extends BaseComponent {\n constructor(element, config) {\n super(element, config);\n this._timeout = null;\n this._hasMouseInteraction = false;\n this._hasKeyboardInteraction = false;\n\n this._setListeners();\n } // Getters\n\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 } // Public\n\n\n show() {\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW);\n\n if (showEvent.defaultPrevented) {\n return;\n }\n\n this._clearTimeout();\n\n if (this._config.animation) {\n this._element.classList.add(CLASS_NAME_FADE);\n }\n\n const complete = () => {\n this._element.classList.remove(CLASS_NAME_SHOWING);\n\n EventHandler.trigger(this._element, EVENT_SHOWN);\n\n this._maybeScheduleHide();\n };\n\n this._element.classList.remove(CLASS_NAME_HIDE); // @deprecated\n\n\n reflow(this._element);\n\n this._element.classList.add(CLASS_NAME_SHOW, CLASS_NAME_SHOWING);\n\n this._queueCallback(complete, this._element, this._config.animation);\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 const complete = () => {\n this._element.classList.add(CLASS_NAME_HIDE); // @deprecated\n\n\n this._element.classList.remove(CLASS_NAME_SHOWING, CLASS_NAME_SHOW);\n\n EventHandler.trigger(this._element, EVENT_HIDDEN);\n };\n\n this._element.classList.add(CLASS_NAME_SHOWING);\n\n this._queueCallback(complete, this._element, this._config.animation);\n }\n\n dispose() {\n this._clearTimeout();\n\n if (this.isShown()) {\n this._element.classList.remove(CLASS_NAME_SHOW);\n }\n\n super.dispose();\n }\n\n isShown() {\n return this._element.classList.contains(CLASS_NAME_SHOW);\n } // Private\n\n\n _maybeScheduleHide() {\n if (!this._config.autohide) {\n return;\n }\n\n if (this._hasMouseInteraction || this._hasKeyboardInteraction) {\n return;\n }\n\n this._timeout = setTimeout(() => {\n this.hide();\n }, this._config.delay);\n }\n\n _onInteraction(event, isInteracting) {\n switch (event.type) {\n case 'mouseover':\n case 'mouseout':\n {\n this._hasMouseInteraction = isInteracting;\n break;\n }\n\n case 'focusin':\n case 'focusout':\n {\n this._hasKeyboardInteraction = isInteracting;\n break;\n }\n }\n\n if (isInteracting) {\n this._clearTimeout();\n\n return;\n }\n\n const nextElement = event.relatedTarget;\n\n if (this._element === nextElement || this._element.contains(nextElement)) {\n return;\n }\n\n this._maybeScheduleHide();\n }\n\n _setListeners() {\n EventHandler.on(this._element, EVENT_MOUSEOVER, event => this._onInteraction(event, true));\n EventHandler.on(this._element, EVENT_MOUSEOUT, event => this._onInteraction(event, false));\n EventHandler.on(this._element, EVENT_FOCUSIN, event => this._onInteraction(event, true));\n EventHandler.on(this._element, EVENT_FOCUSOUT, event => this._onInteraction(event, false));\n }\n\n _clearTimeout() {\n clearTimeout(this._timeout);\n this._timeout = null;\n } // Static\n\n\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Toast.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](this);\n }\n });\n }\n\n}\n/**\n * Data API implementation\n */\n\n\nenableDismissTrigger(Toast);\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(Toast);\n\nexport { Alert, Button, Carousel, Collapse, Dropdown, Modal, Offcanvas, Popover, ScrollSpy, Tab, Toast, Tooltip };\n//# sourceMappingURL=bootstrap.esm.js.map\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nexport const assign = (target: any, ...args: any[]) => Object.assign(target, ...args);\nexport const keys = (obj: any) => Object.keys(obj);\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { assign, keys } from \"./object\";\nfunction _isObject(item: any) {\n return item && typeof item === \"object\" && item.constructor === Object;\n}\n\nconst mergeDeep = (target: any, source: any) => {\n if (_isObject(target) && _isObject(source)) {\n keys(source).forEach(key => {\n if (_isObject(source[key])) {\n if (!target[key] || !_isObject(target[key])) {\n target[key] = source[key];\n }\n mergeDeep(target[key], source[key]);\n } else {\n assign(target, { [key]: source[key] });\n }\n });\n }\n return target;\n};\n\nexport default mergeDeep;\n","import { property, state } from \"lit/decorators.js\";\nimport { Dropdown } from \"bootstrap\";\nimport * as Popper from \"@popperjs/core\";\nimport type { StrictModifiers } from \"@popperjs/core\";\nimport { createRef, Ref } from \"lit/directives/ref.js\";\nimport mergeDeep from \"../utils/mergeDeep\";\nimport genId from \"../utils/generateId\";\nimport { SgdsDropdownItem } from \"../components/Dropdown/sgds-dropdown-item\";\nimport SgdsElement from \"./sgds-element\";\n\nconst ARROW_DOWN = \"ArrowDown\";\nconst ARROW_UP = \"ArrowUp\";\nconst ESC = \"Escape\";\nconst ENTER = \"Enter\";\n\nexport type DropdownButtonVariant =\n | \"primary\"\n | \"secondary\"\n | \"success\"\n | \"danger\"\n | \"warning\"\n | \"info\"\n | \"light\"\n | \"dark\";\nexport type DropDirection = \"left\" | \"right\" | \"up\" | \"down\";\n\nexport class DropdownElement extends SgdsElement {\n static styles = SgdsElement.styles;\n\n myDropdown: Ref<HTMLElement> = createRef();\n bsDropdown: Dropdown = null;\n\n @property({ type: Boolean, reflect: true })\n noFlip = false;\n @property({ type: Boolean, reflect: true })\n menuAlignRight = false;\n @property({ type: String, reflect: true })\n drop: DropDirection = \"down\";\n @property({ type: Object })\n popperOpts = {};\n @property({ type: String })\n togglerId = genId(\"dropdown\", \"button\");\n\n @property({ type: String })\n togglerText = \"\";\n @property({ type: String })\n variant: DropdownButtonVariant = \"secondary\";\n\n @property({ type: Boolean })\n menuIsOpen = false;\n\n @property({ type: String })\n close: \"outside\" | \"default\" | \"inside\" = \"default\";\n\n @property({ type: Boolean, reflect: true })\n disabled = false;\n\n @state()\n nextDropdownItemNo = 0;\n @state()\n prevDropdownItemNo = -1;\n @state()\n dropdownConfig: Partial<Popper.Options>;\n @state()\n modifierOpt: StrictModifiers[] = [];\n\n firstUpdated() {\n this.bsDropdown = new Dropdown(this.myDropdown.value, {\n // autoClose not working as bootstrap is using attribute data-bs-toggle=\"dropdown\" to configure autoclose. But it doesnt look into this attribute in the shadow dom\n reference: \"toggle\", // working\n popperConfig: (defaultConfig?: Partial<Popper.Options>) => {\n //working\n this.dropdownConfig = {\n placement: \"bottom-start\",\n modifiers: !this.noFlip\n ? this.modifierOpt\n : [\n ...this.modifierOpt,\n {\n name: \"flip\",\n options: { fallbackPlacements: [] }\n }\n ]\n };\n\n switch (this.drop) {\n case \"up\":\n this.dropdownConfig.placement = this.menuAlignRight ? \"top-end\" : \"top-start\";\n break;\n case \"right\":\n this.dropdownConfig.placement = \"right-start\";\n break;\n case \"left\":\n this.dropdownConfig.placement = \"left-start\";\n break;\n case \"down\":\n this.dropdownConfig.placement = this.menuAlignRight ? \"bottom-end\" : \"bottom-start\";\n break;\n default:\n this.dropdownConfig.placement = undefined;\n break;\n }\n return mergeDeep(defaultConfig, mergeDeep(this.dropdownConfig, this.popperOpts));\n }\n });\n this.myDropdown.value.addEventListener(\"show.bs.dropdown\", () => {\n this.menuIsOpen = true;\n this.emit(\"sgds-show\");\n });\n this.myDropdown.value.addEventListener(\"shown.bs.dropdown\", () => {\n this.menuIsOpen = true;\n this.emit(\"sgds-shown\");\n });\n this.myDropdown.value.addEventListener(\"hide.bs.dropdown\", () => {\n this.menuIsOpen = false;\n this._resetMenu();\n this.emit(\"sgds-hide\");\n });\n this.myDropdown.value.addEventListener(\"hidden.bs.dropdown\", () => {\n this.menuIsOpen = false;\n this.emit(\"sgds-hidden\");\n });\n\n this.addEventListener(\"keydown\", this._handleKeyboardEvent);\n if (this.close !== \"inside\") {\n this.addEventListener(\"blur\", e => {\n return e.relatedTarget == null ? this.bsDropdown.hide() : e.stopPropagation();\n });\n addEventListener(\"click\", e => this._handleClickOutOfElement(e, this));\n }\n if (this.menuIsOpen) this.bsDropdown.show();\n }\n\n public showMenu() {\n this.bsDropdown.show();\n }\n public hideMenu() {\n this.bsDropdown.hide();\n }\n\n _onClickButton() {\n this.bsDropdown.toggle();\n }\n\n _resetMenu() {\n this.nextDropdownItemNo = 0;\n this.prevDropdownItemNo = -1;\n // reset the tabindex\n const items = this._getMenuItems();\n items.forEach(i => {\n i.removeAttribute(\"tabindex\");\n });\n }\n\n _getMenuItems(): SgdsDropdownItem[] {\n return this.shadowRoot.querySelector(\"slot\").assignedElements({ flatten: true }) as SgdsDropdownItem[];\n }\n\n _getActiveMenuItems(): SgdsDropdownItem[] {\n return this._getMenuItems().filter(item => !item.disabled);\n }\n\n _setMenuItem(currentItemIdx: number, isArrowDown = true) {\n const items = this._getActiveMenuItems();\n if (items.length === 0) return;\n const item = items[currentItemIdx];\n this.nextDropdownItemNo = currentItemIdx + 1;\n this.prevDropdownItemNo = currentItemIdx - 1 < 0 ? items.length - 1 : currentItemIdx - 1;\n let activeItem: SgdsDropdownItem;\n if (item.disabled) {\n return this._setMenuItem(isArrowDown ? this.nextDropdownItemNo : this.prevDropdownItemNo);\n } else activeItem = item;\n\n // focus or blur items depending on active or not\n items.forEach(i => {\n i.setAttribute(\"tabindex\", i === activeItem ? \"0\" : \"-1\");\n i === activeItem ? i.focus() : i.blur();\n });\n }\n\n _handleSelectSlot(e: KeyboardEvent | MouseEvent) {\n const items = this._getActiveMenuItems();\n const currentItemNo = items.indexOf(e.target as SgdsDropdownItem);\n this.nextDropdownItemNo = currentItemNo + 1;\n this.prevDropdownItemNo = currentItemNo <= 0 ? items.length - 1 : currentItemNo - 1;\n\n // assign selected dropdown-item value to sgds-dropdown value\n const selectedItem = e.target as SgdsDropdownItem;\n if (!selectedItem.disabled) {\n this.emit(\"sgds-select\");\n this.close !== \"outside\" && this.bsDropdown.hide();\n } else return;\n }\n _handleKeyboardEvent(e: KeyboardEvent) {\n const menuItems = this._getActiveMenuItems();\n switch (e.key) {\n case ARROW_DOWN:\n if (!this.menuIsOpen) return this.bsDropdown.show();\n if (this.nextDropdownItemNo === menuItems.length) {\n return this._setMenuItem(0);\n } else {\n return this._setMenuItem(this.nextDropdownItemNo > 0 ? this.nextDropdownItemNo : 0);\n }\n case ARROW_UP:\n if (!this.menuIsOpen) return this.bsDropdown.show();\n if (this.prevDropdownItemNo < 0) {\n return this._setMenuItem(menuItems.length - 1, false);\n } else {\n return this._setMenuItem(this.prevDropdownItemNo, false);\n }\n case ESC:\n return this.bsDropdown.hide();\n case ENTER:\n if (menuItems.includes(e.target as SgdsDropdownItem)) {\n return this._handleSelectSlot(e);\n }\n break;\n default:\n break;\n }\n }\n\n _handleClickOutOfElement(e: MouseEvent, self: DropdownElement) {\n if (!e.composedPath().includes(self)) {\n this.bsDropdown.hide();\n }\n }\n}\n","import { html } from \"lit\";\nimport { customElement } from \"lit/decorators.js\";\nimport { ref } from \"lit/directives/ref.js\";\nimport styles from \"./sgds-dropdown.scss\";\nimport { DropdownElement } from \"../../base/dropdown-element\";\n\nexport type DropDirection = \"left\" | \"right\" | \"up\" | \"down\";\n@customElement(\"sgds-dropdown\")\nexport class SgdsDropdown extends DropdownElement {\n static styles = [DropdownElement.styles, styles];\n constructor() {\n super();\n this.modifierOpt = [\n {\n name: \"offset\",\n options: {\n offset: [0, 10]\n }\n }\n ];\n }\n render() {\n return html`\n <div>\n <sgds-button\n variant=\"outline-${this.variant}\"\n ?disabled=${this.disabled}\n aria-expanded=\"${this.menuIsOpen}\"\n ${ref(this.myDropdown)}\n @click=${() => this._onClickButton()}\n id=${this.togglerId}\n >\n ${this.togglerText}\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"16\"\n fill=\"currentColor\"\n class=\"bi bi-chevron-down\"\n viewBox=\"0 0 16 16\"\n >\n <path\n fill-rule=\"evenodd\"\n 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\"\n />\n </svg>\n </sgds-button>\n <ul class=\"dropdown-menu\" role=\"menu\" part=\"menu\">\n <slot @click=${this._handleSelectSlot}></slot>\n </ul>\n </div>\n `;\n }\n}\n\nexport default SgdsDropdown;\n","import * as React from \"react\";\nimport { createComponent } from \"@lit-labs/react\";\nimport Component from \"../../components/Dropdown/sgds-dropdown\";\n\nexport default createComponent({\n react: React,\n tagName: \"sgds-dropdown\",\n elementClass: Component,\n events: {}\n});\n","import{nothing as t,noChange as i}from\"../lit-html.js\";import{Directive as r,PartType as s,directive as n}from\"../directive.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */class e extends r{constructor(i){if(super(i),this.et=t,i.type!==s.CHILD)throw Error(this.constructor.directiveName+\"() can only be used in child bindings\")}render(r){if(r===t||null==r)return this.ft=void 0,this.et=r;if(r===i)return r;if(\"string\"!=typeof r)throw Error(this.constructor.directiveName+\"() called with a non-string value\");if(r===this.et)return this.ft;this.et=r;const s=[r];return s.raw=s,this.ft={_$litType$:this.constructor.resultType,strings:s,values:[]}}}e.directiveName=\"unsafeHTML\",e.resultType=1;const o=n(e);export{e as UnsafeHTMLDirective,o as unsafeHTML};\n//# sourceMappingURL=unsafe-html.js.map\n","import{directive as s}from\"../directive.js\";import{UnsafeHTMLDirective as e}from\"./unsafe-html.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */class t extends e{}t.directiveName=\"unsafeSVG\",t.resultType=2;const o=s(t);export{o as unsafeSVG};\n//# sourceMappingURL=unsafe-svg.js.map\n","import { html } from \"lit\";\nimport { customElement, property } from \"lit/decorators.js\";\nimport styles from \"./sgds-fileupload.scss\";\nimport SgdsElement from \"../../base/sgds-element\";\nimport { unsafeSVG } from \"lit/directives/unsafe-svg.js\";\nimport { createRef, ref } from \"lit/directives/ref.js\";\n\nexport type FileUploadButtonVariant =\n | \"primary\"\n | \"secondary\"\n | \"success\"\n | \"danger\"\n | \"warning\"\n | \"info\"\n | \"light\"\n | \"dark\"\n | \"link\"\n | \"outline-primary\"\n | \"outline-secondary\"\n | \"outline-success\"\n | \"outline-danger\"\n | \"outline-warning\"\n | \"outline-info\"\n | \"outline-light\"\n | \"outline-dark\";\n\n@customElement(\"sgds-fileupload\")\nexport class SgdsFileUpload extends SgdsElement {\n /** The button's variant. */\n @property({ reflect: true }) variant: FileUploadButtonVariant = \"primary\";\n\n // /** Sets a unique id to the file input, required. */\n // @property({ type: String }) controlId = \"\";\n\n @property({ type: Boolean, reflect: true })\n disabled = false;\n\n /** Button sizes */\n @property({ reflect: true }) size: \"sm\" | \"lg\";\n\n @property({ type: String })\n checkedIcon? = \"\";\n\n @property({ type: String })\n cancelIcon? = \"\";\n\n @property({ type: FileList })\n private fileList: FileList | undefined;\n\n @property({ type: Array })\n private selectedFiles: File[] = [];\n\n constructor() {\n super();\n this.addEventListener(\"sgds-files-selected\", () => {\n this.selectedFiles = Array.from(this.fileList || []);\n this.emit(\"selected-files-changed\", {\n detail: { selectedFiles: this.selectedFiles }\n });\n });\n }\n\n setFileList(fileList) {\n this.fileList = fileList[0];\n this.emit(\"sgds-files-selected\");\n }\n\n static styles = [SgdsElement.styles, styles];\n\n // Create a ref to the input element\n private inputRef = createRef<HTMLInputElement>();\n\n private handleClick(event: Event) {\n event.preventDefault();\n if (!this.disabled) {\n // Get a reference to the input element using the inputRef\n const inputElement = this.inputRef.value;\n // Do something with the input element\n inputElement.click();\n }\n }\n\n private handleInputChange(event: Event) {\n const inputElement = event.target as HTMLInputElement;\n const fileList = inputElement.files as FileList;\n\n const dt = new DataTransfer();\n for (let i = 0; i < fileList.length; i++) {\n dt.items.add(fileList[i]);\n }\n\n this.setFileList(dt.files);\n this.selectedFiles = Array.from(dt.files);\n\n // Trigger a re-render of the component to update the list of selected files\n this.requestUpdate();\n }\n\n removeFileHandler(index: number) {\n const inputElement = this.inputRef.value;\n const attachments = inputElement.files;\n\n const fileBuffer = new DataTransfer();\n for (let i = 0; i < attachments.length; i++) {\n if (index !== i) fileBuffer.items.add(attachments[i]);\n }\n\n // Assign buffer to file input\n inputElement.files = fileBuffer.files;\n\n this.setFileList(fileBuffer.files);\n this.selectedFiles = Array.from(fileBuffer.files);\n\n // Trigger a re-render of the component to update the list of selected files\n this.requestUpdate();\n }\n\n render() {\n const getCheckedIcon = (checkedIcon: string) => {\n if (checkedIcon) {\n return html`${unsafeSVG(checkedIcon)}`;\n }\n return html`<svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"16\"\n fill=\"green\"\n class=\"bi bi-check\"\n viewBox=\"0 0 16 16\"\n >\n <path\n d=\"M10.97 4.97a.75.75 0 0 1 1.07 1.05l-3.99 4.99a.75.75 0 0 1-1.08.02L4.324 8.384a.75.75 0 1 1 1.06-1.06l2.094 2.093 3.473-4.425a.267.267 0 0 1 .02-.022z\"\n />\n </svg>`;\n };\n\n const getCancelIcon = (cancelIcon: string) => {\n if (cancelIcon) {\n return html`${unsafeSVG(cancelIcon)}`;\n }\n return html`<svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"16\"\n fill=\"red\"\n class=\"bi bi-x-circle\"\n viewBox=\"0 0 16 16\"\n >\n <path d=\"M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14zm0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16z\" />\n <path\n d=\"M4.646 4.646a.5.5 0 0 1 .708 0L8 7.293l2.646-2.647a.5.5 0 0 1 .708.708L8.707 8l2.647 2.646a.5.5 0 0 1-.708.708L8 8.707l-2.646 2.647a.5.5 0 0 1-.708-.708L7.293 8 4.646 5.354a.5.5 0 0 1 0-.708z\"\n />\n </svg>`;\n };\n\n const listItems = this.selectedFiles.map(\n (file, index) => html`\n <li key=${index} class=\"fileupload-list-item\">\n <span class=\"me-2\">${getCheckedIcon(this.checkedIcon)}</span>\n <span class=\"filename\">${file.name}</span>\n <span class=\"ms-2\" @click=${() => this.removeFileHandler(index)}>${getCancelIcon(this.cancelIcon)}</span>\n </li>\n `\n );\n\n return html`\n <form>\n <div>\n <input\n ${ref(this.inputRef)}\n type=\"file\"\n class=\"d-none form-control\"\n @change=${this.handleInputChange}\n multiple\n />\n <sgds-button size=${this.size} variant=${this.variant} ?disabled=${this.disabled} @click=${this.handleClick}\n ><slot></slot\n ></sgds-button>\n </div>\n </form>\n <ul class=\"sgds fileupload-list\">\n ${listItems}\n </ul>\n `;\n }\n}\n\nexport default SgdsFileUpload;\n","import * as React from \"react\";\nimport { createComponent } from \"@lit-labs/react\";\nimport Component from \"../../components/FileUpload/sgds-fileupload\";\n\nexport default createComponent({\n react: React,\n tagName: \"sgds-fileupload\",\n elementClass: Component,\n events: {}\n});\n","import { html } from \"lit\";\nimport { customElement, property } from \"lit/decorators.js\";\nimport styles from \"./sgds-footer.scss\";\nimport SgdsElement from \"../../base/sgds-element\";\n\nexport interface Links {\n href: string;\n label: string;\n}\nexport interface ColumnLinks {\n title: string;\n links: Links[];\n}\n\n/**\n * @csspart footer-top - The component's footer-top section container.\n * @csspart footer-bottom - The component's footer-bottom section container.\n */\n@customElement(\"sgds-footer\")\nexport class SgdsFooter extends SgdsElement {\n static styles = [SgdsElement.styles, styles];\n\n @property()\n title = ``;\n @property()\n description = ``;\n @property({\n type: Array\n })\n links: ColumnLinks[] = [];\n\n @property({ type: String })\n lastUpdatedDate = \"\";\n\n //href\n @property({ type: String })\n contactHref = \"#\";\n @property({ type: String })\n feedbackHref = \"#\";\n @property({ type: String })\n vulnerabilityHref = \"#\";\n @property({ type: String })\n privacyHref = \"#\";\n @property({ type: String })\n termsOfUseHref = \"#\";\n\n render() {\n return html`\n <footer class=\"sgds footer\">\n <section class=\"footer-top\" part=\"footer-top\">\n <div class=\"container-fluid\">\n <div class=\"row footer-header\">\n <div class=\"col col-lg-6 col-md-12\">\n <div class=\"title\">${this.title}</div>\n <div class=\"description\">${this.description}</div>\n </div>\n </div>\n <div class=\"row footer-items\">\n ${this.links.map(\n (item: ColumnLinks) =>\n html`\n <div class=\"col-xxl-2 col-md-4 mb-3\">\n <div class=\"title\">${item.title}</div>\n <ul class=\"links\">\n ${item.links.map((link: Links) => html` <li><a href=\"${link.href}\">${link.label}</a></li> `)}\n </ul>\n </div>\n `\n )}\n </div>\n <div class=\"row footer-contact-links\">\n <div class=\"col\">\n <div class=\"d-flex justify-content-lg-end\">\n <ul>\n <li><a href=\"${this.contactHref}\">Contact</a></li>\n <li><a href=\"${this.feedbackHref}\">Feedback</a></li>\n <li>\n <a href=\"https://www.reach.gov.sg/\" target=\"_blank\" rel=\"noopener noreferrer\">Reach.gov.sg</a>\n </li>\n </ul>\n </div>\n </div>\n </div>\n </div>\n </section>\n <section class=\"footer-bottom\" part=\"footer-bottom\">\n <div class=\"container-fluid\">\n <div class=\"row footer-mandatory-links\">\n <div class=\"col\">\n <ul>\n <li>\n <a href=\"${this.vulnerabilityHref}\" target=\"_blank\" rel=\"noopener noreferrer\"\n >Report Vulnerability</a\n >\n </li>\n <li><a href=\"${this.privacyHref}\">Privacy Statement</a></li>\n <li><a href=\"${this.termsOfUseHref}\">Terms of use</a></li>\n </ul>\n </div>\n </div>\n <div class=\"row footer-copyrights\">\n <div class=\"col\">\n <div class=\"d-flex justify-content-lg-end text-end\">\n © ${new Date().getFullYear()} Government of Singapore<br />\n Last Updated ${this.lastUpdatedDate}\n </div>\n </div>\n </div>\n </div>\n </section>\n </footer>\n `;\n }\n}\n\nexport default SgdsFooter;\n","import * as React from \"react\";\nimport { createComponent } from \"@lit-labs/react\";\nimport Component from \"../../components/Footer/sgds-footer\";\n\nexport default createComponent({\n react: React,\n tagName: \"sgds-footer\",\n elementClass: Component,\n events: {}\n});\n","import { customElement, property, query, state } from \"lit/decorators.js\";\nimport { html } from \"lit/static-html.js\";\nimport { ifDefined } from \"lit/directives/if-defined.js\";\nimport { classMap } from \"lit/directives/class-map.js\";\nimport { live } from \"lit/directives/live.js\";\nimport styles from \"./sgds-input.scss\";\nimport SgdsElement from \"../../base/sgds-element\";\nimport { defaultValue } from \"../../utils/defaultvalue\";\nimport { FormSubmitController } from \"../../utils/form\";\nimport genId from \"../../utils/generateId\";\nimport { watch } from \"../../utils/watch\";\n@customElement(\"sgds-input\")\nexport class SgdsInput extends SgdsElement {\n @query(\"input.form-control\") input: HTMLInputElement;\n\n @state() private hasFocus = false;\n\n private readonly formSubmitController = new FormSubmitController(this);\n\n static styles = [SgdsElement.styles, styles];\n @property({ reflect: true }) type:\n | \"date\"\n | \"datetime-local\"\n | \"email\"\n | \"number\"\n | \"password\"\n | \"search\"\n | \"tel\"\n | \"text\"\n | \"time\"\n | \"url\" = \"text\";\n @property({ reflect: true }) label: string;\n @property({ reflect: true }) hintText: string;\n @property({ type: String, reflect: true }) inputId = genId(\"input\", this.type);\n @property({ reflect: true }) name: string;\n @property({ reflect: true }) inputClasses: string;\n @property({ reflect: true }) iconName: string;\n\n @property({ type: String, reflect: true }) value = \"\";\n @property({ type: String, reflect: true }) minlength;\n @property({ type: String, reflect: true }) maxlength;\n\n @property({ type: String, reflect: true }) placeholder = \"Placeholder\";\n\n @property({ type: String }) pattern;\n @property({ type: String, reflect: true }) invalidFeedback = \"default feedback\";\n\n @property({ type: Boolean, reflect: true }) autofocus = false;\n @property({ type: Boolean, reflect: true }) disabled = false;\n @property({ type: Boolean, reflect: true }) required = false;\n /** Makes the input readonly. */\n @property({ type: Boolean, reflect: true }) readonly = false;\n\n @property({ type: Boolean, reflect: true }) invalid = false;\n @property({ type: Boolean, reflect: true }) valid = false;\n\n /** Gets or sets the default value used to reset this element. The initial value corresponds to the one originally specified in the HTML that created this element. */\n @defaultValue()\n defaultValue = \"\";\n\n /** Sets focus on the input. */\n focus(options?: FocusOptions) {\n this.input.focus(options);\n }\n\n /** Checks for validity and shows the browser's validation message if the control is invalid. */\n reportValidity() {\n return this.input.reportValidity();\n }\n\n handleInvalid() {\n this.invalid = true;\n }\n\n handleChange(event: string) {\n this.value = this.input.value;\n this.emit(event);\n }\n\n handleFocus() {\n this.hasFocus = true;\n this.emit(\"sgds-focus\");\n }\n\n handleBlur() {\n this.hasFocus = false;\n this.emit(\"sgds-blur\");\n }\n\n handleKeyDown(event: KeyboardEvent) {\n const hasModifier = event.metaKey || event.ctrlKey || event.shiftKey || event.altKey;\n\n // Pressing enter when focused on an input should submit the form like a native input, but we wait a tick before\n // submitting to allow users to cancel the keydown event if they need to\n if (event.key === \"Enter\" && !hasModifier) {\n setTimeout(() => {\n if (!event.defaultPrevented) {\n this.formSubmitController.submit();\n }\n });\n }\n }\n\n @watch(\"disabled\", { waitUntilFirstUpdate: true })\n handleDisabledChange() {\n // Disabled form controls are always valid, so we need to recheck validity when the state changes\n this.input.disabled = this.disabled;\n this.invalid = !this.input.checkValidity();\n }\n\n @watch(\"value\", { waitUntilFirstUpdate: true })\n handleValueChange() {\n this.invalid = !this.input.checkValidity();\n this.valid = this.input.checkValidity();\n }\n\n render() {\n const input = html`\n <input\n class=\"form-control \n ${classMap({\n \"is-invalid\": this.invalid,\n \"is-valid\": this.valid,\n [`${this.inputClasses}`]: this.inputClasses\n })}\n \"\n type=${this.type}\n id=${this.inputId}\n name=${ifDefined(this.name)}\n placeholder=${ifDefined(this.placeholder)}\n aria-invalid=${this.invalid ? \"true\" : \"false\"}\n pattern=${ifDefined(this.pattern)}\n ?autofocus=${this.autofocus}\n ?disabled=${this.disabled}\n ?readonly=${this.readonly}\n ?required=${this.required}\n .value=${live(this.value)}\n minlength=${ifDefined(this.minlength)}\n maxlength=${ifDefined(this.maxlength)}\n @input=${() => this.handleChange(\"sgds-input\")}\n @change=${() => this.handleChange(\"sgds-change\")}\n @keydown=${this.handleKeyDown}\n @invalid=${this.handleInvalid}\n @focus=${this.handleFocus}\n @blur=${this.handleBlur}\n />\n <div id=\"${this.inputId}-invalid\" class=\"invalid-feedback\">${this.invalidFeedback}</div>\n `;\n // if iconName is defined\n const inputWithIcon = html`\n <div class=\"sgds form-control-group ${this.inputClasses}\">\n <span class=\"form-control-icon\">\n <sl-icon name=${this.iconName}></sl-icon>\n </span>\n ${input}\n </div>\n `;\n // if hintText is defined\n const withHintText = html`\n <small id=\"${ifDefined(this.inputId)}Help\" class=\"text-muted form-text\">${this.hintText}</small>\n `;\n\n // if label is defined\n const withLabel = html` <label for=${ifDefined(this.inputId)} class=\"form-label\">${this.label}</label> `;\n\n return html`\n ${this.label ? withLabel : undefined} ${this.hintText ? withHintText : undefined}\n ${this.iconName ? inputWithIcon : input}\n `;\n }\n}\n\nexport default SgdsInput;\n","import * as React from \"react\";\nimport { createComponent } from \"@lit-labs/react\";\nimport Component from \"../../components/Input/sgds-input\";\n\nexport default createComponent({\n react: React,\n tagName: \"sgds-input\",\n elementClass: Component,\n events: {}\n});\n","import { html } from \"lit\";\nimport { customElement } from \"lit/decorators.js\";\nimport { ref } from \"lit/directives/ref.js\";\nimport styles from \"./sgds-mainnav-dropdown.scss\";\nimport { DropdownElement } from \"../../base/dropdown-element\";\n\n@customElement(\"sgds-mainnav-dropdown\")\nexport class SgdsMainnavDropdown extends DropdownElement {\n static styles = [DropdownElement.styles, styles];\n\n render() {\n return html`\n <li class=\"nav-item\">\n <a\n class=\"nav-link\"\n ?disabled=${this.disabled}\n aria-expanded=\"${this.menuIsOpen}\"\n ${ref(this.myDropdown)}\n @click=${() => this._onClickButton()}\n id=${this.togglerId}\n tabindex=${this.disabled ? \"-1\" : \"0\"}\n role=\"button\"\n >\n ${this.togglerText}\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"16\"\n fill=\"currentColor\"\n class=\"bi bi-chevron-down\"\n viewBox=\"0 0 16 16\"\n >\n <path\n fill-rule=\"evenodd\"\n 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\"\n />\n </svg>\n </a>\n <ul class=\"dropdown-menu\" role=\"menu\" part=\"menu\">\n <slot @click=${this._handleSelectSlot}></slot>\n </ul>\n </li>\n `;\n }\n}\n\nexport default SgdsMainnavDropdown;\n","import * as React from \"react\";\nimport { createComponent } from \"@lit-labs/react\";\nimport Component from \"../../components/Mainnav/sgds-mainnav-dropdown\";\n\nexport default createComponent({\n react: React,\n tagName: \"sgds-mainnav-dropdown\",\n elementClass: Component,\n events: {}\n});\n","import { customElement } from \"lit/decorators.js\";\nimport styles from \"./sgds-mainnav-item.scss\";\nimport LinkElement from \"../../base/link-element\";\n\n/**\n * @slot - Label for the anchor tag.\n */\n@customElement(\"sgds-mainnav-item\")\nexport class SgdsMainnavItem extends LinkElement {\n static styles = [LinkElement.styles, styles];\n}\n\nexport default SgdsMainnavItem;\n","import * as React from \"react\";\nimport { createComponent } from \"@lit-labs/react\";\nimport Component from \"../../components/Mainnav/sgds-mainnav-item\";\n\nexport default createComponent({\n react: React,\n tagName: \"sgds-mainnav-item\",\n elementClass: Component,\n events: {}\n});\n","export const SM_BREAKPOINT = 576;\nexport const MD_BREAKPOINT = 768;\nexport const LG_BREAKPOINT = 992;\nexport const XL_BREAKPOINT = 1200;\nexport const XXL_BREAKPOINT = 1400;\n","import { Collapse, Offcanvas } from \"bootstrap\";\nimport { html } from \"lit\";\nimport { customElement, property, state } from \"lit/decorators.js\";\nimport { classMap } from \"lit/directives/class-map.js\";\nimport { createRef, ref, Ref } from \"lit/directives/ref.js\";\nimport SgdsElement from \"../../base/sgds-element\";\nimport { LG_BREAKPOINT, MD_BREAKPOINT, SM_BREAKPOINT, XL_BREAKPOINT, XXL_BREAKPOINT } from \"../../utils/breakpoints\";\nimport genId from \"../../utils/generateId\";\nimport styles from \"./sgds-mainnav.scss\";\n\nexport type MainnavExpandSize = \"sm\" | \"md\" | \"lg\" | \"xl\" | \"xxl\" | \"always\" | \"never\";\n\nconst SIZES = {\n sm: SM_BREAKPOINT,\n md: MD_BREAKPOINT,\n lg: LG_BREAKPOINT,\n xl: XL_BREAKPOINT,\n XXL: XXL_BREAKPOINT,\n never: Infinity,\n always: -1\n};\n\n/**\n * @slot - Pass in SgdsMainnavItem elements here.\n * @slot end - Elements in this slot will be positioned to the right end of .navbar-nav. Elements in this slot will also be included in collapsed menu.\n */\n@customElement(\"sgds-mainnav\")\nexport class SgdsMainnav extends SgdsElement {\n static styles = [SgdsElement.styles, styles];\n\n constructor() {\n super();\n window.addEventListener(\"resize\", () => {\n const newBreakpointReachedValue = window.innerWidth < SIZES[this.expand.toString()];\n if (newBreakpointReachedValue !== this.breakpointReached) {\n this.requestUpdate();\n }\n });\n }\n\n private myCollapse: Ref<HTMLElement> = createRef();\n private bsCollapse: Collapse = null;\n // TODO: stylings and slots are incomplete for offcanvas mode\n private myOffcanvas: Ref<HTMLElement> = createRef();\n private bsOffcanvas: Offcanvas = null;\n\n private _onClickButton() {\n if (this.mode === \"offcanvas\") {\n return this.bsOffcanvas.toggle();\n }\n this.bsCollapse.toggle();\n }\n\n @property({ type: String })\n brandHref = \"\";\n\n @property({ type: String })\n collapseId = genId(\"mainnav\", \"collapse\");\n\n @property()\n expand: MainnavExpandSize = \"lg\";\n\n @property({ type: String })\n mode: \"offcanvas\" | \"default\" = \"default\";\n\n @state()\n breakpointReached = false;\n\n @state()\n expanded = false;\n\n firstUpdated() {\n if (this.mode === \"default\") {\n this.bsCollapse = new Collapse(this.myCollapse.value, {\n toggle: false\n });\n this.myCollapse.value.addEventListener(\"show.bs.collapse\", () => {\n this.expanded = true;\n });\n this.myCollapse.value.addEventListener(\"shown.bs.collapse\", () => {\n this.expanded = true;\n });\n this.myCollapse.value.addEventListener(\"hide.bs.collapse\", () => {\n this.expanded = false;\n });\n this.myCollapse.value.addEventListener(\"hidden.bs.collapse\", () => {\n this.expanded = false;\n });\n }\n\n if (this.mode === \"offcanvas\") {\n this.bsOffcanvas = new Offcanvas(this.myOffcanvas.value);\n //add esc keyboard event for bsOffcanvas\n this.addEventListener(\"keydown\", ev => {\n if (ev.key === \"Escape\") {\n this.bsOffcanvas.hide();\n }\n });\n }\n }\n // assigning name attribute to elements added in slot=\"end\", to use wildcard css selector to assign styles only to *-mainnav-item\n _handleSlotChange(e: Event) {\n const childElements = (e.target as HTMLSlotElement).assignedElements({ flatten: true });\n childElements.forEach(e => e.setAttribute(\"name\", e.tagName.toLowerCase()));\n }\n\n render() {\n this.breakpointReached = window.innerWidth < SIZES[this.expand.toString()];\n const collapseClass = \"collapse navbar-collapse order-4\";\n const offcanvasClass = \"offcanvas offcanvas-start order-4\";\n return html`\n <nav\n class=\"sgds navbar navbar-light\n ${this._expandClass()}\"\n >\n <a class=\"navbar-brand me-auto order-1\" href=${this.brandHref}>\n <slot name=\"brand\"></slot>\n </a>\n <slot name=\"non-collapsible\" class=\"${this.breakpointReached ? \"order-2\" : \"order-5\"}\"></slot>\n <button\n class=\"navbar-toggler order-3\"\n type=\"button\"\n @click=${() => this._onClickButton()}\n aria-controls=\"${this.collapseId}\"\n aria-expanded=\"${this.expanded}\"\n aria-label=\"Toggle navigation\"\n >\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"30\"\n height=\"30\"\n fill=\"currentColor\"\n class=\"bi bi-list\"\n viewBox=\"0 0 16 16\"\n >\n <path\n fill-rule=\"evenodd\"\n d=\"M2.5 12a.5.5 0 0 1 .5-.5h10a.5.5 0 0 1 0 1H3a.5.5 0 0 1-.5-.5zm0-4a.5.5 0 0 1 .5-.5h10a.5.5 0 0 1 0 1H3a.5.5 0 0 1-.5-.5zm0-4a.5.5 0 0 1 .5-.5h10a.5.5 0 0 1 0 1H3a.5.5 0 0 1-.5-.5z\"\n />\n </svg>\n </button>\n <div\n class=${this.mode === \"default\" ? collapseClass : offcanvasClass}\n ${this.mode === \"default\" ? ref(this.myCollapse) : ref(this.myOffcanvas)}\n id=${this.collapseId}\n >\n <ul class=\"navbar-nav\">\n <slot></slot>\n <slot\n name=\"end\"\n class=${classMap({ \"slot-end\": !this.breakpointReached })}\n @slotchange=${this._handleSlotChange}\n ></slot>\n </ul>\n </div>\n </nav>\n `;\n }\n _expandClass() {\n switch (this.expand) {\n case \"always\":\n return \"navbar-expand\";\n case \"never\":\n break;\n default:\n return `navbar-expand-${this.expand}`;\n }\n }\n}\n\nexport default SgdsMainnav;\n","import * as React from \"react\";\nimport { createComponent } from \"@lit-labs/react\";\nimport Component from \"../../components/Mainnav/sgds-mainnav\";\n\nexport default createComponent({\n react: React,\n tagName: \"sgds-mainnav\",\n elementClass: Component,\n events: {}\n});\n","import { html } from \"lit\";\nimport { customElement, property, state } from \"lit/decorators.js\";\nimport styles from \"./sgds-masthead.scss\";\nimport SgdsElement from \"../../base/sgds-element\";\n\n@customElement(\"sgds-masthead\")\nexport class SgdsMasthead extends SgdsElement {\n static styles = [SgdsElement.styles, styles];\n\n @property({ type: Boolean, reflect: true })\n fluid = false;\n\n @state()\n toggleVisibility = false;\n\n private _toggleVisibility() {\n this.toggleVisibility = !this.toggleVisibility;\n }\n\n render() {\n return html`\n <div id=\"sgds-masthead\" class=\"sgds-masthead\" aria-label=\"A Singapore Government Agency Website\">\n <div class=\"${this.fluid ? \"container-fluid\" : \"container\"}\">\n <div class=\"row\">\n <div class=\"col\">\n <div class=\"masthead-layout\">\n <svg\n version=\"1.1\"\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"32\"\n height=\"32\"\n viewBox=\"0 0 32 32\"\n class=\"sg-crest\"\n >\n <title>sg-crest</title>\n <path\n d=\"M5.896 11.185c0 0-0.949 1.341 0.294 3.075 0 0 0.196-0.883 2.159-0.883h2.356c2.225 0 3.893-2.126 2.846-4.319 0 0 1.57 0.164 2.095-0.818 0.523-0.981-0.033-1.374-0.818-1.374h-3.959c0 0.704-1.341 0.802-1.341 0h-2.225c0 0-1.669 0-1.701 1.407 0 0 0.377-0.229 0.752-0.261v0.375c0 0-0.458 0.082-0.671 0.197-0.212 0.114-0.523 0.425-0.228 1.227 0.294 0.801 0.409 1.079 0.409 1.079s0.475-0.41 1.244-0.41h0.9c1.602 0 1.308 1.554-0.295 1.554s-1.815-0.85-1.815-0.85z\"\n ></path>\n <path\n d=\"M14.255 9.566c0 0 0.54 0.033 0.932-0.31 0 0 3.55 2.765-1.717 8.326-5.268 5.562-1.195 9.162-1.195 9.162s-0.948 0.915-0.409 2.699c0 0-2.191-1.237-3.867-3.338-2.422-3.036-3.902-7.681 2.749-11.386 0 0 4.389-2.208 3.506-5.153z\"\n ></path>\n <path\n d=\"M8.829 6.343c0 0 0.709-1.265 2.355-1.265 1.298 0 1.594-0.666 1.594-0.666s0.566-1.079 3.424-1.079c2.619 0 4.384 0.873 5.812 2.039 0 0-3.85-2.388-7.645 0.971h-5.54z\"\n ></path>\n <path\n d=\"M24.839 14.348c-0.109-3.948-3.163-8.179-9.728-7.939 6.413-5.431 17.537 6.695 8.375 13.066 0 0 1.533-2.186 1.353-5.126z\"\n ></path>\n <path\n d=\"M16.093 6.845c8.005-0.24 10.863 9.357 5.693 13.676l-5.191 2.509c0 0-0.676-2.181 1.833-4.734 2.509-2.551 4.929-7.328-2.006-10.469 0 0 0.131-0.654-0.327-0.981z\"\n ></path>\n <path\n d=\"M15.678 9.004c0 0 0.393-0.371 0.524-0.676 5.954 2.486 5.017 6.697 1.461 10.23-2.181 2.246-1.505 4.668-1.505 4.668s-2.66 1.657-3.577 3.097c0 0-3.852-3.28 1.483-8.724 5.235-5.344 1.614-8.594 1.614-8.594z\"\n ></path>\n </svg>\n <span>A Singapore Government Agency Website</span>\n <div\n class=\"sgds-masthead-button\"\n id=\"sgds-masthead-identify\"\n role=\"button\"\n aria-expanded=\"${this.toggleVisibility}\"\n aria-controls=\"sgds-masthead-content\"\n @click=${() => this._toggleVisibility()}\n >\n <span class=\"sgds-masthead-button-text\">How to identify</span>\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"20\"\n height=\"20\"\n viewBox=\"0 0 20 20\"\n fill=\"none\"\n class=\"sgds-masthead-identify-icon ${!this.toggleVisibility ? null : \"show\"}\"\n >\n <path\n d=\"M8.65188 6.85L8.64813 6.84625L10.0031 5.49125L17.0744 12.5625L15.7194 13.9175L10.0075 8.20562L4.2875 13.9256L2.9325 12.5706L8.6525 6.85062L8.65188 6.85Z\"\n fill=\"#2F60CE\"\n ></path>\n </svg>\n </div>\n </div>\n </div>\n </div>\n </div>\n\n <div\n id=\"sgds-masthead-content\"\n class=\"container sgds-masthead-content ${this.toggleVisibility ? \"show\" : null}\"\n >\n <div class=\"row\">\n <div class=\"col\">\n <div class=\"content-grid\">\n <div class=\"wrapper\">\n <div class=\"icon\">\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"17\"\n height=\"17\"\n viewBox=\"0 0 17 17\"\n fill=\"none\"\n class=\"banner-icon\"\n >\n <path\n d=\"M0.166016 5.6665V9.00067H0.999349V13.9998H0.166016V16.4998H0.999349H3.49935H5.16602H7.66601H9.33268H11.8327H13.4993L15.9993 16.5007V16.4998H16.8327V13.9998H15.9993V9.00067H16.8327V5.6665L8.49935 0.666504L0.166016 5.6665ZM3.49935 13.9998V9.00067H5.16602V13.9998H3.49935ZM7.66601 13.9998V9.00067H9.33268V13.9998H7.66601ZM13.4993 13.9998H11.8327V9.00067H13.4993V13.9998ZM10.166 5.6665C10.166 6.58651 9.41935 7.33317 8.49935 7.33317C7.57935 7.33317 6.83268 6.58651 6.83268 5.6665C6.83268 4.7465 7.57935 3.99984 8.49935 3.99984C9.41935 3.99984 10.166 4.7465 10.166 5.6665Z\"\n fill=\"#242425\"\n ></path>\n </svg>\n </div>\n <div class=\"content\">\n <div class=\"title\">Official website links end with .gov.sg</div>\n <article>\n Government agencies communicate via .gov.sg websites (e.g. go.gov.sg/open).<a\n href=\"https://www.gov.sg/trusted-sites#govsites\"\n class=\"trusted-websites-link\"\n rel=\"noreferrer\"\n target=\"_blank\"\n >Trusted websites<svg\n version=\"1.1\"\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"18\"\n height=\"18\"\n viewBox=\"0 0 32 32\"\n class=\"trusted-websites-icon\"\n >\n <title>Trusted websites</title>\n <path\n d=\"M18.667 4v2.667h4c0.186-0.020 0.374-0.020 0.56 0l-2.667 2.667-6.973 6.987 1.88 1.88 9.733-9.667c0.092 0.257 0.137 0.528 0.133 0.8v4h2.667v-9.333h-9.333z\"\n ></path>\n <path\n d=\"M22.667 25.333h-16v-16h8v-2.667h-8c-1.473 0-2.667 1.194-2.667 2.667v16c0 1.473 1.194 2.667 2.667 2.667h16c1.473 0 2.667-1.194 2.667-2.667v-8h-2.667v8z\"\n ></path></svg\n ></a>\n </article>\n </div>\n </div>\n <div class=\"wrapper\">\n <div class=\"icon\">\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"15\"\n height=\"18\"\n viewBox=\"0 0 15 18\"\n fill=\"none\"\n class=\"banner-icon\"\n >\n <path\n d=\"M14.1663 9.00008C14.1663 8.08091 13.4188 7.33342 12.4997 7.33342H11.6663V4.83342C11.6663 2.53591 9.79717 0.666748 7.49967 0.666748C5.20217 0.666748 3.33301 2.53591 3.33301 4.83342V7.33342H2.49967C1.58051 7.33342 0.833008 8.08091 0.833008 9.00008V15.6667C0.833008 16.5859 1.58051 17.3334 2.49967 17.3334H12.4997C13.4188 17.3334 14.1663 16.5859 14.1663 15.6667V9.00008ZM4.99967 4.83342C4.99967 3.45508 6.12134 2.33341 7.49967 2.33341C8.87801 2.33341 9.99967 3.45508 9.99967 4.83342V7.33342H4.99967V4.83342Z\"\n fill=\"#242425\"\n ></path>\n </svg>\n </div>\n <div class=\"content\">\n <div class=\"title\">Secure websites use HTTPS</div>\n <article>\n Look for a<b> lock </b>(<svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"15\"\n height=\"18\"\n viewBox=\"0 0 15 18\"\n fill=\"none\"\n class=\"banner-icon-inline\"\n >\n <path\n d=\"M14.1663 9.00008C14.1663 8.08091 13.4188 7.33342 12.4997 7.33342H11.6663V4.83342C11.6663 2.53591 9.79717 0.666748 7.49967 0.666748C5.20217 0.666748 3.33301 2.53591 3.33301 4.83342V7.33342H2.49967C1.58051 7.33342 0.833008 8.08091 0.833008 9.00008V15.6667C0.833008 16.5859 1.58051 17.3334 2.49967 17.3334H12.4997C13.4188 17.3334 14.1663 16.5859 14.1663 15.6667V9.00008ZM4.99967 4.83342C4.99967 3.45508 6.12134 2.33341 7.49967 2.33341C8.87801 2.33341 9.99967 3.45508 9.99967 4.83342V7.33342H4.99967V4.83342Z\"\n fill=\"#242425\"\n ></path></svg\n >) or https:// as an added precaution. Share sensitive information only on official, secure\n websites.\n </article>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n `;\n }\n}\n\nexport default SgdsMasthead;\n","import * as React from \"react\";\nimport { createComponent } from \"@lit-labs/react\";\nimport Component from \"../../components/Masthead/sgds-masthead\";\n\nexport default createComponent({\n react: React,\n tagName: \"sgds-masthead\",\n elementClass: Component,\n events: {}\n});\n","/** Determines if the specified element is tabbable using heuristics inspired by https://github.com/focus-trap/tabbable */\nfunction isTabbable(el: HTMLElement) {\n const tag = el.tagName.toLowerCase();\n\n // Elements with a -1 tab index are not tabbable\n if (el.getAttribute(\"tabindex\") === \"-1\") {\n return false;\n }\n\n // Elements with a disabled attribute are not tabbable\n if (el.hasAttribute(\"disabled\")) {\n return false;\n }\n\n // Elements with aria-disabled are not tabbable\n if (el.hasAttribute(\"aria-disabled\") && el.getAttribute(\"aria-disabled\") !== \"false\") {\n return false;\n }\n\n // Radios without a checked attribute are not tabbable\n if (tag === \"input\" && el.getAttribute(\"type\") === \"radio\" && !el.hasAttribute(\"checked\")) {\n return false;\n }\n\n // Elements that are hidden have no offsetParent and are not tabbable\n if (el.offsetParent === null) {\n return false;\n }\n\n // Elements without visibility are not tabbable\n if (window.getComputedStyle(el).visibility === \"hidden\") {\n return false;\n }\n\n // Audio and video elements with the controls attribute are tabbable\n if ((tag === \"audio\" || tag === \"video\") && el.hasAttribute(\"controls\")) {\n return true;\n }\n\n // Elements with a tabindex other than -1 are tabbable\n if (el.hasAttribute(\"tabindex\")) {\n return true;\n }\n\n // Elements with a contenteditable attribute are tabbable\n if (el.hasAttribute(\"contenteditable\") && el.getAttribute(\"contenteditable\") !== \"false\") {\n return true;\n }\n\n // At this point, the following elements are considered tabbable\n return [\"button\", \"input\", \"select\", \"textarea\", \"a\", \"audio\", \"video\", \"summary\"].includes(tag);\n}\n\n/**\n * Returns the first and last bounding elements that are tabbable. This is more performant than checking every single\n * element because it short-circuits after finding the first and last ones.\n */\nexport function getTabbableBoundary(root: HTMLElement | ShadowRoot) {\n const allElements: HTMLElement[] = [];\n\n function walk(el: HTMLElement | ShadowRoot) {\n if (el instanceof HTMLElement) {\n allElements.push(el);\n\n if (el.shadowRoot !== null && el.shadowRoot.mode === \"open\") {\n walk(el.shadowRoot);\n }\n }\n\n [...el.children].forEach((e: HTMLElement) => walk(e));\n }\n\n // Collect all elements including the root\n walk(root);\n\n // Find the first and last tabbable elements\n const start = allElements.find(el => isTabbable(el)) ?? null;\n const end = allElements.reverse().find(el => isTabbable(el)) ?? null;\n\n return { start, end };\n}\n","import { getTabbableBoundary } from \"./tabbable\";\n\nlet activeModals: HTMLElement[] = [];\n\nexport default class Modal {\n element: HTMLElement;\n tabDirection: \"forward\" | \"backward\" = \"forward\";\n\n constructor(element: HTMLElement) {\n this.element = element;\n this.handleFocusIn = this.handleFocusIn.bind(this);\n this.handleKeyDown = this.handleKeyDown.bind(this);\n this.handleKeyUp = this.handleKeyUp.bind(this);\n }\n\n activate() {\n activeModals.push(this.element);\n document.addEventListener(\"focusin\", this.handleFocusIn);\n document.addEventListener(\"keydown\", this.handleKeyDown);\n document.addEventListener(\"keyup\", this.handleKeyUp);\n }\n\n deactivate() {\n activeModals = activeModals.filter(modal => modal !== this.element);\n document.removeEventListener(\"focusin\", this.handleFocusIn);\n document.removeEventListener(\"keydown\", this.handleKeyDown);\n document.removeEventListener(\"keyup\", this.handleKeyUp);\n }\n\n isActive() {\n // The \"active\" modal is always the most recent one shown\n return activeModals[activeModals.length - 1] === this.element;\n }\n\n checkFocus() {\n if (this.isActive()) {\n if (!this.element.matches(\":focus-within\")) {\n const { start, end } = getTabbableBoundary(this.element);\n const target = this.tabDirection === \"forward\" ? start : end;\n\n if (typeof target?.focus === \"function\") {\n target.focus({ preventScroll: true });\n }\n }\n }\n }\n\n handleFocusIn() {\n this.checkFocus();\n }\n\n handleKeyDown(event: KeyboardEvent) {\n if (event.key === \"Tab\" && event.shiftKey) {\n this.tabDirection = \"backward\";\n\n // Ensure focus remains trapped after the key is pressed\n requestAnimationFrame(() => this.checkFocus());\n }\n }\n\n handleKeyUp() {\n this.tabDirection = \"forward\";\n }\n}\n","export function getOffset(element: HTMLElement, parent: HTMLElement) {\n return {\n top: Math.round(element.getBoundingClientRect().top - parent.getBoundingClientRect().top),\n left: Math.round(element.getBoundingClientRect().left - parent.getBoundingClientRect().left)\n };\n}\n","import { getOffset } from \"./offset\";\n\nconst locks = new Set();\n\n/**\n * Prevents body scrolling. Keeps track of which elements requested a lock so multiple levels of locking are possible\n * without premature unlocking.\n */\nexport function lockBodyScrolling(lockingEl: HTMLElement) {\n locks.add(lockingEl);\n document.body.classList.add(\"sl-scroll-lock\");\n}\n\n/**\n * Unlocks body scrolling. Scrolling will only be unlocked once all elements that requested a lock call this method.\n */\nexport function unlockBodyScrolling(lockingEl: HTMLElement) {\n locks.delete(lockingEl);\n\n if (locks.size === 0) {\n document.body.classList.remove(\"sl-scroll-lock\");\n }\n}\n\n/**\n * Scrolls an element into view of its container. If the element is already in view, nothing will happen.\n */\nexport function scrollIntoView(\n element: HTMLElement,\n container: HTMLElement,\n direction: \"horizontal\" | \"vertical\" | \"both\" = \"vertical\",\n behavior: \"smooth\" | \"auto\" = \"smooth\"\n) {\n const offset = getOffset(element, container);\n const offsetTop = offset.top + container.scrollTop;\n const offsetLeft = offset.left + container.scrollLeft;\n const minX = container.scrollLeft;\n const maxX = container.scrollLeft + container.offsetWidth;\n const minY = container.scrollTop;\n const maxY = container.scrollTop + container.offsetHeight;\n\n if (direction === \"horizontal\" || direction === \"both\") {\n if (offsetLeft < minX) {\n container.scrollTo({ left: offsetLeft, behavior });\n } else if (offsetLeft + element.clientWidth > maxX) {\n container.scrollTo({ left: offsetLeft - container.offsetWidth + element.clientWidth, behavior });\n }\n }\n\n if (direction === \"vertical\" || direction === \"both\") {\n if (offsetTop < minY) {\n container.scrollTo({ top: offsetTop, behavior });\n } else if (offsetTop + element.clientHeight > maxY) {\n container.scrollTo({ top: offsetTop - container.offsetHeight + element.clientHeight, behavior });\n }\n }\n}\n","import type { ReactiveController, ReactiveControllerHost } from \"lit\";\n\nexport class HasSlotController implements ReactiveController {\n host: ReactiveControllerHost & Element;\n slotNames: string[] = [];\n\n constructor(host: ReactiveControllerHost & Element, ...slotNames: string[]) {\n (this.host = host).addController(this);\n this.slotNames = slotNames;\n this.handleSlotChange = this.handleSlotChange.bind(this);\n }\n\n private hasDefaultSlot() {\n return [...this.host.childNodes].some(node => {\n if (node.nodeType === node.TEXT_NODE && node.textContent?.trim() !== \"\") {\n return true;\n }\n\n if (node.nodeType === node.ELEMENT_NODE) {\n const el = node as HTMLElement;\n const tagName = el.tagName.toLowerCase();\n\n // Ignore visually hidden elements since they aren't rendered\n if (tagName === \"sl-visually-hidden\") {\n return false;\n }\n\n // If it doesn't have a slot attribute, it's part of the default slot\n if (!el.hasAttribute(\"slot\")) {\n return true;\n }\n }\n\n return false;\n });\n }\n\n private hasNamedSlot(name: string) {\n return this.host.querySelector(`:scope > [slot=\"${name}\"]`) !== null;\n }\n\n test(slotName: string) {\n return slotName === \"[default]\" ? this.hasDefaultSlot() : this.hasNamedSlot(slotName);\n }\n\n hostConnected() {\n this.host.shadowRoot?.addEventListener(\"slotchange\", this.handleSlotChange);\n }\n\n hostDisconnected() {\n this.host.shadowRoot?.removeEventListener(\"slotchange\", this.handleSlotChange);\n }\n\n handleSlotChange(event: Event) {\n const slot = event.target as HTMLSlotElement;\n\n if ((this.slotNames.includes(\"[default]\") && !slot.name) || (slot.name && this.slotNames.includes(slot.name))) {\n this.host.requestUpdate();\n }\n }\n}\n\n/**\n * Given a slot, this function iterates over all of its assigned element and text nodes and returns the concatenated\n * HTML as a string. This is useful because we can't use slot.innerHTML as an alternative.\n */\nexport function getInnerHTML(slot: HTMLSlotElement): string {\n const nodes = slot.assignedNodes({ flatten: true });\n let html = \"\";\n\n [...nodes].forEach(node => {\n if (node.nodeType === Node.ELEMENT_NODE) {\n html += (node as HTMLElement).outerHTML;\n }\n\n if (node.nodeType === Node.TEXT_NODE) {\n html += node.textContent;\n }\n });\n\n return html;\n}\n\n/**\n * Given a slot, this function iterates over all of its assigned text nodes and returns the concatenated text as a\n * string. This is useful because we can't use slot.textContent as an alternative.\n */\nexport function getTextContent(slot: HTMLSlotElement | undefined | null): string {\n if (!slot) {\n return \"\";\n }\n const nodes = slot.assignedNodes({ flatten: true });\n let text = \"\";\n\n [...nodes].forEach(node => {\n if (node.nodeType === Node.TEXT_NODE) {\n text += node.textContent;\n }\n });\n\n return text;\n}\n","import { html } from \"lit\";\nimport { customElement, property, query } from \"lit/decorators.js\";\nimport { classMap } from \"lit/directives/class-map.js\";\nimport { ifDefined } from \"lit/directives/if-defined.js\";\nimport { animateTo, stopAnimations } from \"../../utils/animate\";\nimport { waitForEvent } from \"../../utils/event\";\nimport Modal from \"../../utils/modal\";\nimport { lockBodyScrolling, unlockBodyScrolling } from \"../../utils/scroll\";\nimport SgdsElement from \"../../base/sgds-element\";\nimport { HasSlotController } from \"../../utils/slot\";\nimport { watch } from \"../../utils/watch\";\nimport { getAnimation, setDefaultAnimation } from \"../../utils/animation-registry\";\nimport styles from \"./sgds-modal.scss\";\n@customElement(\"sgds-modal\")\nexport class SgdsModal extends SgdsElement {\n static styles = [SgdsElement.styles, styles];\n\n @query(\".modal\") dialog: HTMLElement;\n @query(\".modal-panel\") panel: HTMLElement;\n @query(\".modal-overlay\") overlay: HTMLElement;\n\n private readonly hasSlotController = new HasSlotController(this, \"footer\");\n private modal: Modal;\n private originalTrigger: HTMLElement | null;\n\n @property({ type: Boolean, reflect: true }) open = false;\n // @property({ type: Boolean, reflect: true }) centeredAlignVariant = false;\n\n @property({ reflect: true }) title = \"\";\n @property({ reflect: true }) titleIcon = \"\";\n @property({ attribute: \"no-header\", type: Boolean, reflect: true }) noHeader = false;\n\n connectedCallback() {\n super.connectedCallback();\n this.handleDocumentKeyDown = this.handleDocumentKeyDown.bind(this);\n this.modal = new Modal(this);\n }\n\n firstUpdated() {\n this.dialog.hidden = !this.open;\n\n if (this.open) {\n this.addOpenListeners();\n this.modal.activate();\n lockBodyScrolling(this);\n }\n }\n\n disconnectedCallback() {\n super.disconnectedCallback();\n unlockBodyScrolling(this);\n }\n\n /** Shows the dialog. */\n async show() {\n if (this.open) {\n return undefined;\n }\n\n this.open = true;\n return waitForEvent(this, \"sgds-after-show\");\n }\n\n /** Hides the dialog */\n async hide() {\n if (!this.open) {\n return undefined;\n }\n\n this.open = false;\n return waitForEvent(this, \"sgds-after-hide\");\n }\n\n private requestClose(source: \"close-button\" | \"keyboard\" | \"overlay\") {\n const slRequestClose = this.emit(\"sgds-close\", {\n cancelable: true,\n detail: { source }\n });\n\n if (slRequestClose.defaultPrevented) {\n const animation = getAnimation(this, \"modal.denyClose\");\n animateTo(this.panel, animation.keyframes);\n return;\n }\n\n this.hide();\n }\n\n addOpenListeners() {\n document.addEventListener(\"keydown\", this.handleDocumentKeyDown);\n }\n\n removeOpenListeners() {\n document.removeEventListener(\"keydown\", this.handleDocumentKeyDown);\n }\n\n handleDocumentKeyDown(event: KeyboardEvent) {\n if (this.open && event.key === \"Escape\") {\n event.stopPropagation();\n this.requestClose(\"keyboard\");\n }\n }\n\n @watch(\"open\", { waitUntilFirstUpdate: true })\n async handleOpenChange() {\n if (this.open) {\n // Show\n this.emit(\"sgds-show\");\n this.addOpenListeners();\n this.originalTrigger = document.activeElement as HTMLElement;\n this.modal.activate();\n\n lockBodyScrolling(this);\n\n // When the dialog is shown, Safari will attempt to set focus on whatever element has autofocus. This can cause\n // the dialogs's animation to jitter (if it starts offscreen), so we'll temporarily remove the attribute, call\n // `focus({ preventScroll: true })` ourselves, and add the attribute back afterwards.\n //\n // Related: https://github.com/shoelace-style/shoelace/issues/693\n //\n const autoFocusTarget = this.querySelector(\"[autofocus]\");\n if (autoFocusTarget) {\n autoFocusTarget.removeAttribute(\"autofocus\");\n }\n\n await Promise.all([stopAnimations(this.dialog), stopAnimations(this.overlay)]);\n this.dialog.hidden = false;\n\n // Set initial focus\n requestAnimationFrame(() => {\n const slInitialFocus = this.emit(\"sgds-initial-focus\", { cancelable: true });\n\n if (!slInitialFocus.defaultPrevented) {\n // Set focus to the autofocus target and restore the attribute\n if (autoFocusTarget) {\n (autoFocusTarget as HTMLInputElement).focus({ preventScroll: true });\n } else {\n this.panel.focus({ preventScroll: true });\n }\n }\n\n // Restore the autofocus attribute\n if (autoFocusTarget) {\n autoFocusTarget.setAttribute(\"autofocus\", \"\");\n }\n });\n\n const panelAnimation = getAnimation(this, \"modal.show\");\n const overlayAnimation = getAnimation(this, \"modal.overlay.show\");\n await Promise.all([\n animateTo(this.panel, panelAnimation.keyframes, panelAnimation.options),\n animateTo(this.overlay, overlayAnimation.keyframes, overlayAnimation.options)\n ]);\n\n this.emit(\"sgds-after-show\");\n } else {\n // Hide\n this.emit(\"sgds-hide\");\n this.removeOpenListeners();\n this.modal.deactivate();\n\n await Promise.all([stopAnimations(this.dialog), stopAnimations(this.overlay)]);\n const panelAnimation = getAnimation(this, \"modal.hide\");\n const overlayAnimation = getAnimation(this, \"modal.overlay.hide\");\n\n // Animate the overlay and the panel at the same time. Because animation durations might be different, we need to\n // hide each one individually when the animation finishes, otherwise the first one that finishes will reappear\n // unexpectedly. We'll unhide them after all animations have completed.\n await Promise.all([\n animateTo(this.overlay, overlayAnimation.keyframes, overlayAnimation.options).then(() => {\n this.overlay.hidden = true;\n }),\n animateTo(this.panel, panelAnimation.keyframes, panelAnimation.options).then(() => {\n this.panel.hidden = true;\n })\n ]);\n\n this.dialog.hidden = true;\n\n // Now that the dialog is hidden, restore the overlay and panel for next time\n this.overlay.hidden = false;\n this.panel.hidden = false;\n\n unlockBodyScrolling(this);\n\n // Restore focus to the original trigger\n const trigger = this.originalTrigger;\n if (typeof trigger?.focus === \"function\") {\n setTimeout(() => trigger.focus());\n }\n\n this.emit(\"sgds-after-hide\");\n }\n }\n\n render() {\n // if label is defined\n const withLabelIcon = html` <sl-icon name=${this.titleIcon} class=\"pe-2 flex-shrink-0\"></sl-icon>`;\n\n return html`\n <div\n part=\"base\"\n class=${classMap({\n modal: true,\n \"modal--open\": this.open,\n \"modal--has-footer\": this.hasSlotController.test(\"footer\")\n })}\n >\n <div part=\"overlay\" class=\"modal-overlay\" @click=${() => this.requestClose(\"overlay\")} tabindex=\"-1\"></div>\n\n <div\n part=\"panel\"\n class=\"modal-panel\"\n role=\"dialog\"\n aria-modal=\"true\"\n aria-hidden=${this.open ? \"false\" : \"true\"}\n aria-label=${ifDefined(this.noHeader ? this.title : undefined)}\n aria-labelledby=${ifDefined(!this.noHeader ? \"title\" : undefined)}\n tabindex=\"0\"\n >\n ${!this.noHeader\n ? html`\n <h3\n part=\"header\"\n class=${classMap({\n \"modal-header\": true\n // centered: this.centeredAlignVariant,\n })}\n >\n <div\n part=\"title\"\n class=${classMap({\n \"modal-title d-flex align-items-center\": true\n // centered : this.centeredAlignVariant,\n })}\n id=\"title\"\n >\n ${this.titleIcon ? withLabelIcon : null}\n ${this.title.length > 0 ? this.title : String.fromCharCode(65279)}\n </div>\n <sgds-button\n part=\"close-button\"\n variant=\"icon\"\n exportparts=\"base:close-button__base\"\n class=${classMap({\n \"modal-close\": true\n // 'centered': this.centeredAlignVariant,\n })}\n @click=\"${() => this.requestClose(\"close-button\")}\"\n ><sl-icon name=\"x-lg\"></sl-icon\n ></sgds-button>\n </h3>\n `\n : \"\"}\n\n <div part=\"body\" class=\"modal-body\">\n <slot></slot>\n </div>\n\n <footer\n part=\"footer\"\n class=${classMap({\n \"modal-footer\": true\n // centered: this.centeredAlignVariant,\n })}\n >\n <slot name=\"footer\"></slot>\n </footer>\n </div>\n </div>\n `;\n }\n}\n\nsetDefaultAnimation(\"modal.show\", {\n keyframes: [\n { opacity: 0, transform: \"scale(0.8)\" },\n { opacity: 1, transform: \"scale(1)\" }\n ],\n options: { duration: 250, easing: \"ease\" }\n});\n\nsetDefaultAnimation(\"modal.hide\", {\n keyframes: [\n { opacity: 1, transform: \"scale(1)\" },\n { opacity: 0, transform: \"scale(0.8)\" }\n ],\n options: { duration: 250, easing: \"ease\" }\n});\n\nsetDefaultAnimation(\"modal.denyClose\", {\n keyframes: [{ transform: \"scale(1)\" }, { transform: \"scale(1.02)\" }, { transform: \"scale(1)\" }],\n options: { duration: 250 }\n});\n\nsetDefaultAnimation(\"modal.overlay.show\", {\n keyframes: [{ opacity: 0 }, { opacity: 1 }],\n options: { duration: 250 }\n});\n\nsetDefaultAnimation(\"modal.overlay.hide\", {\n keyframes: [{ opacity: 1 }, { opacity: 0 }],\n options: { duration: 250 }\n});\n\nexport default SgdsModal;\n","import * as React from \"react\";\nimport { createComponent } from \"@lit-labs/react\";\nimport Component from \"../../components/Modal/sgds-modal\";\n\nexport default createComponent({\n react: React,\n tagName: \"sgds-modal\",\n elementClass: Component,\n events: {}\n});\n","import { customElement, property, query } from \"lit/decorators.js\";\nimport { classMap } from \"lit/directives/class-map.js\";\nimport { ifDefined } from \"lit/directives/if-defined.js\";\nimport { live } from \"lit/directives/live.js\";\nimport { html } from \"lit/static-html.js\";\nimport { SgdsButton } from \"../Button\";\nimport SgdsElement from \"../../base/sgds-element\";\nimport { defaultValue } from \"../../utils/defaultvalue\";\nimport genId from \"../../utils/generateId\";\nimport { watch } from \"../../utils/watch\";\nimport styles from \"./sgds-quantity-toggle.scss\";\n\n@customElement(\"sgds-quantity-toggle\")\nexport class SgdsQuantityToggle extends SgdsElement {\n @query(\"input.form-control\") input: HTMLInputElement;\n @query(\"sgds-button.button-group_button-first\") leftBtn: SgdsButton;\n @query(\"sgds-button.button-group_button-last\") lastBtn: SgdsButton;\n static styles = [SgdsElement.styles, styles];\n\n @property({ reflect: true, type: String }) quantToggleId = genId(\"quantToggle\", \"toggle\");\n\n @property({ reflect: true }) name: string;\n /** The input's minimum value. */\n @property() min: number | string;\n /** The input's maximum value. */\n @property() max: number | string;\n\n @property() size: \"sm\" | \"lg\" | \"default\" = \"sm\";\n\n @property({ reflect: true, type: Number }) count: number;\n\n @property({ type: Boolean, reflect: true }) disabled = false;\n\n @property({ reflect: true }) quantityToggleClasses?: string;\n\n /**\n * Specifies the granularity that the value must adhere to, or the special value `any` which means no stepping is\n * implied, allowing any numeric value.\n */\n @property() step = 1;\n\n /** Gets or sets the default value used to reset this element. The initial value corresponds to the one originally specified in the HTML that created this element. */\n @defaultValue()\n defaultValue = \"\";\n\n handleChange(event: string) {\n this.emit(event);\n this.count = parseInt(this.input.value);\n }\n onPlus(event: MouseEvent) {\n if (this.disabled) {\n event.preventDefault();\n event.stopPropagation();\n return;\n }\n this.count = parseInt(this.input.value) + parseInt(this.input.step);\n }\n onMinus(event: MouseEvent) {\n if (this.disabled) {\n event.preventDefault();\n event.stopPropagation();\n return;\n }\n if (this.count < this.step) {\n this.count = 0;\n } else {\n this.count = parseInt(this.input.value) - parseInt(this.input.step);\n }\n }\n\n @watch(\"count\", { waitUntilFirstUpdate: true })\n render() {\n return html`\n <div\n part=\"base\"\n class=\"${classMap({\n sgds: true,\n disabled: this.disabled,\n \"input-group\": true,\n [`${this.quantityToggleClasses}`]: this.quantityToggleClasses\n })}\"\n variant=\"quantity-toggle\"\n id=${this.quantToggleId}\n size=${this.size}\n >\n <sgds-button\n part=\"button\"\n variant=\"primary\"\n class=\"button-group_button-first\"\n size=${this.size}\n @click=${this.onMinus}\n ?disabled=${this.disabled}\n >\n <sl-icon name=\"dash-lg\"></sl-icon>\n </sgds-button>\n <input\n type=\"number\"\n class=\"form-control ${\"form-control-\" + this.size} text-center\"\n name=${ifDefined(this.name)}\n step=${ifDefined(this.step as number)}\n min=${ifDefined(this.min)}\n max=${ifDefined(this.max)}\n .value=${live(this.count)}\n @change=${() => this.handleChange(\"sgds-change\")}\n @input=${() => this.handleChange(\"sgds-input\")}\n ?disabled=${this.disabled}\n />\n <sgds-button\n part=\"button\"\n variant=\"primary\"\n class=\"button-group_button-last\"\n size=${this.size}\n @click=${this.onPlus}\n ?disabled=${this.disabled}\n >\n <sl-icon name=\"plus-lg\"></sl-icon>\n </sgds-button>\n </div>\n `;\n }\n}\n\nexport default SgdsQuantityToggle;\n","import * as React from \"react\";\nimport { createComponent } from \"@lit-labs/react\";\nimport Component from \"../../components/QuantityToggle/sgds-quantity-toggle\";\n\nexport default createComponent({\n react: React,\n tagName: \"sgds-quantity-toggle\",\n elementClass: Component,\n events: {}\n});\n","import { html } from \"lit\";\nimport { customElement, property, query, state } from \"lit/decorators.js\";\nimport { classMap } from \"lit/directives/class-map.js\";\nimport SgdsElement from \"../../base/sgds-element\";\nimport { FormSubmitController } from \"../../utils/form\";\nimport { watch } from \"../../utils/watch\";\nimport SgdsRadio from \"./sgds-radio\";\nimport styles from \"./sgds-radio-group.scss\";\n\n@customElement(\"sgds-radio-group\")\nexport class SgdsRadioGroup extends SgdsElement {\n static styles = [SgdsElement.styles, styles];\n\n protected readonly formSubmitController = new FormSubmitController(this, {\n defaultValue: (control: SgdsRadioGroup) => control.defaultValue\n });\n\n @query(\"slot:not([name])\") defaultSlot: HTMLSlotElement;\n @query(\".radio-group__validation-input\") input: HTMLInputElement;\n\n @state() private defaultValue = \"\";\n @state() private customErrorMessage = \"\";\n\n /**\n * The radio group label. Required for proper accessibility. If you need to display HTML, you can use the `label` slot\n * instead.\n */\n @property() label = \"\";\n\n /** The selected value of the control. */\n @property({ reflect: true }) value = \"\";\n\n /** The name assigned to the radio controls. */\n @property({ reflect: true }) name = \"option\";\n\n /** Ensures a child radio is checked before allowing the containing form to submit. */\n @property({ type: Boolean, reflect: true }) required = false;\n\n /**\n * This will be true when the control is in an invalid state.\n */\n @property({ type: Boolean, reflect: true }) invalid = false;\n\n @property({ type: String, reflect: true }) invalidFeedback = \"default feedback\";\n\n @watch(\"value\")\n handleValueChange() {\n if (this.hasUpdated) {\n this.emit(\"sgds-change\");\n this.updateCheckedRadio();\n }\n }\n\n connectedCallback() {\n super.connectedCallback();\n this.defaultValue = this.value;\n }\n\n get validity(): ValidityState {\n const hasMissingData = !((this.value && this.required) || !this.required);\n const hasCustomError = this.customErrorMessage !== \"\";\n return {\n badInput: false,\n customError: hasCustomError,\n patternMismatch: false,\n rangeOverflow: false,\n rangeUnderflow: false,\n stepMismatch: false,\n tooLong: false,\n tooShort: false,\n typeMismatch: false,\n valid: hasMissingData ? false : true,\n valueMissing: !hasMissingData\n };\n }\n\n /** Checks for validity and shows the browser's validation message if the control is invalid. */\n reportValidity(): boolean {\n const validity = this.validity;\n\n // this.errorMessage = this.customErrorMessage || validity.valid ? '' : this.input.validationMessage;\n // this.invalid = !this.input.checkValidity();\n this.invalid = !validity.valid;\n\n if (!validity.valid) {\n this.showNativeErrorMessage();\n }\n\n return !this.invalid;\n }\n\n private getAllRadios() {\n //FIXME: too specific selector , this will not work if its on dev console design system\n return [...this.querySelectorAll<SgdsRadio>(\"sgds-radio\")];\n }\n\n handleRadioClick(event: MouseEvent) {\n const target = event.target as SgdsRadio;\n\n if (target.disabled) {\n return;\n }\n\n this.value = target.value;\n const radios = this.getAllRadios();\n radios.forEach(radio => (radio.checked = radio === target));\n }\n\n handleKeyDown(event: KeyboardEvent) {\n if (![\"ArrowUp\", \"ArrowDown\", \"ArrowLeft\", \"ArrowRight\", \" \"].includes(event.key)) {\n return;\n }\n\n const radios = this.getAllRadios().filter(radio => !radio.disabled);\n const checkedRadio = radios.find(radio => radio.checked) ?? radios[0];\n //if eventkey is space, index increment is 0, if eventkey arrowup/arrowleft, index is -1, arrowright/arrowdown, index incr is 1\n const incr = event.key === \" \" ? 0 : [\"ArrowUp\", \"ArrowLeft\"].includes(event.key) ? -1 : 1;\n let index = radios.indexOf(checkedRadio) + incr;\n if (index < 0) {\n index = radios.length - 1;\n }\n if (index > radios.length - 1) {\n index = 0;\n }\n\n this.getAllRadios().forEach(radio => {\n radio.checked = false;\n radio.tabIndex = -1;\n });\n\n this.value = radios[index].value;\n radios[index].checked = true;\n radios[index].tabIndex = 0;\n radios[index].focus();\n\n event.preventDefault();\n }\n\n handleLabelClick() {\n const radios = this.getAllRadios();\n const checked = radios.find(radio => radio.checked);\n const radioToFocus = checked || radios[0];\n\n // Move focus to the checked radio (or the first one if none are checked) when clicking the label\n if (radioToFocus) {\n radioToFocus.focus();\n }\n }\n\n handleSlotChange() {\n const radios = this.getAllRadios();\n\n radios.forEach(radio => (radio.checked = radio.value === this.value));\n\n if (!radios.some(radio => radio.checked)) {\n if (radios[0]) radios[0].tabIndex = 0;\n }\n }\n\n handleInvalid() {\n this.invalid = true;\n }\n\n showNativeErrorMessage() {\n this.input.hidden = false;\n this.input.reportValidity();\n setTimeout(() => (this.input.hidden = true), 10000);\n }\n\n updateCheckedRadio() {\n const radios = this.getAllRadios();\n radios.forEach(radio => (radio.checked = radio.value === this.value));\n this.invalid = !this.validity.valid;\n }\n\n render() {\n const defaultSlot = html`\n <div>\n <slot\n @click=${this.handleRadioClick}\n @keydown=${this.handleKeyDown}\n @slotchange=${this.handleSlotChange}\n role=\"presentation\"\n ></slot>\n </div>\n `;\n return html`\n <fieldset role=\"radio-group\" part=\"base\" name=${this.name}>\n <label @click=${this.handleLabelClick} class=\"form-label\" part=\"label\">\n <slot name=\"label\">${this.label}</slot>\n </label>\n ${defaultSlot}\n <input\n part=\"control\"\n type=\"text\"\n class=\"radio-group__validation-input visually-hidden ${classMap({\n \"is-invalid\": this.invalid\n })}\"\n ?required=${this.required}\n tabindex=\"-1\"\n @invalid=${this.handleInvalid}\n hidden\n />\n <div class=\"invalid-feedback\" part=\"invalidFeedback\">${this.invalidFeedback}</div>\n </fieldset>\n `;\n }\n}\n\nexport default SgdsRadioGroup;\n","import * as React from \"react\";\nimport { createComponent } from \"@lit-labs/react\";\nimport Component from \"../../components/Radio/sgds-radio-group\";\n\nexport default createComponent({\n react: React,\n tagName: \"sgds-radio-group\",\n elementClass: Component,\n events: {}\n});\n","import { html } from \"lit\";\nimport { customElement, property, state } from \"lit/decorators.js\";\nimport { classMap } from \"lit/directives/class-map.js\";\nimport { watch } from \"../../utils/watch\";\nimport styles from \"./sgds-radio.scss\";\nimport SgdsElement from \"../../base/sgds-element\";\nimport { ifDefined } from \"lit/directives/if-defined.js\";\nimport { live } from \"lit/directives/live.js\";\nimport genId from \"../../utils/generateId\";\n\n@customElement(\"sgds-radio\")\nexport class SgdsRadio extends SgdsElement {\n static styles = [SgdsElement.styles, styles];\n\n @state() checked = false;\n @state() protected hasFocus = false;\n\n /** The radio's value attribute. */\n @property() value: string;\n\n /** For id/for pair of the HTML form control. */\n @property({ type: String, reflect: true }) radioId = genId(\"radio\");\n\n /** Disables the radio. */\n @property({ type: Boolean, reflect: true }) disabled = false;\n\n /** Aligns the radios horizontally */\n @property({ type: Boolean, reflect: true }) isInline = false;\n\n /** For aria-label */\n @property({ type: String, reflect: true }) ariaLabel = \"\";\n\n connectedCallback(): void {\n super.connectedCallback();\n this.setInitialAttributes();\n this.addEventListeners();\n }\n\n @watch(\"checked\")\n handleCheckedChange() {\n this.setAttribute(\"aria-checked\", this.checked ? \"true\" : \"false\");\n this.setAttribute(\"tabindex\", this.checked ? \"0\" : \"-1\");\n }\n\n @watch(\"disabled\", { waitUntilFirstUpdate: true })\n handleDisabledChange() {\n this.setAttribute(\"aria-disabled\", this.disabled ? \"true\" : \"false\");\n }\n\n private handleBlur() {\n this.hasFocus = false;\n this.emit(\"sgds-blur\");\n }\n\n private handleClick() {\n if (!this.disabled) {\n this.checked = true;\n }\n }\n\n private handleFocus() {\n this.hasFocus = true;\n this.emit(\"sgds-focus\");\n }\n\n private addEventListeners() {\n this.addEventListener(\"blur\", () => this.handleBlur());\n this.addEventListener(\"click\", () => this.handleClick());\n this.addEventListener(\"focus\", () => this.handleFocus());\n }\n\n private setInitialAttributes() {\n this.setAttribute(\"role\", \"radio\");\n this.setAttribute(\"tabindex\", \"-1\");\n this.setAttribute(\"aria-disabled\", this.disabled ? \"true\" : \"false\");\n }\n\n render() {\n return html`\n <div\n part=\"base\"\n class=${classMap({\n \"form-check\": true,\n \"form-check-inline\": this.isInline\n })}\n >\n <input\n part=\"control\"\n class=${classMap({\n \"form-check-input\": true\n })}\n type=\"radio\"\n id=${ifDefined(this.radioId)}\n value=${ifDefined(this.value)}\n .checked=${live(this.checked)}\n ?disabled=${this.disabled}\n aria-disabled=${this.disabled ? \"true\" : \"false\"}\n aria-checked=${this.checked ? \"true\" : \"false\"}\n @click=${this.handleClick}\n />\n <label\n part=\"label\"\n for=\"${ifDefined(this.radioId)}\"\n aria-label=${ifDefined(this.ariaLabel)}\n class=\"form-check-label\"\n ><slot></slot\n ></label>\n </div>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n \"sgds-radio\": SgdsRadio;\n }\n}\n\nexport default SgdsRadio;\n","import * as React from \"react\";\nimport { createComponent } from \"@lit-labs/react\";\nimport Component from \"../../components/Radio/sgds-radio\";\n\nexport default createComponent({\n react: React,\n tagName: \"sgds-radio\",\n elementClass: Component,\n events: {}\n});\n","import { html } from \"lit\";\nimport { customElement, property } from \"lit/decorators.js\";\nimport SgdsElement from \"../../base/sgds-element\";\nimport styles from \"./sgds-sidenav-item.scss\";\nimport { ref, createRef, Ref } from \"lit/directives/ref.js\";\nimport { Collapse } from \"bootstrap\";\nimport genId from \"../../utils/generateId\";\nimport { classMap } from \"lit/directives/class-map.js\";\n\n/**\n *\n * @event sgds-toggle - Emitted when the dropdown is clicked.\n *\n * @slot - default slot for SgdsSidenavLink element.\n * @slot title - title slot for the content of SgdsSidenavItem's button / anchor element.\n */\n\n@customElement(\"sgds-sidenav-item\")\nexport class SgdsSidenavItem extends SgdsElement {\n static styles = [SgdsElement.styles, styles];\n\n private myCollapse: Ref<HTMLElement> = createRef();\n private bsCollapse: Collapse = null;\n\n /** when true, toggles the sidenav-item to open on first load and\n * set the active stylings.\n */\n @property({ type: Boolean })\n active = false;\n\n @property({ type: String })\n href = \"\";\n\n @property({ type: String })\n collapseId = genId(\"sidenav\", \"collapse\");\n\n @property({ type: String })\n buttonId = genId(\"sidenav\", \"button\");\n\n @property({ type: Boolean, reflect: true })\n disabled = false;\n\n private index = \"-1\";\n\n private _onClick() {\n this.emit(\"sgds-toggle\", { detail: { index: this.index } });\n }\n\n private _onClickButton() {\n this._onClick();\n if (this.bsCollapse) {\n this.bsCollapse.toggle();\n }\n }\n private _onClickLink() {\n this._onClick();\n this.active = true;\n }\n\n /**\n * closeItem - closes sidenav and inactivates it\n */\n public closeItem() {\n this.active = false;\n if (this.bsCollapse) this.bsCollapse.hide();\n }\n /**\n * openItem\n */\n public openItem() {\n this.active = true;\n if (this.bsCollapse) this.bsCollapse.show();\n }\n\n firstUpdated() {\n // if sidenav has menu, initialise bootstrap collapse\n if (!this.href) {\n this.bsCollapse = new Collapse(this.myCollapse.value, {\n toggle: this.active\n });\n\n this.myCollapse.value.addEventListener(\"show.bs.collapse\", () => {\n this.active = true;\n });\n this.myCollapse.value.addEventListener(\"shown.bs.collapse\", () => {\n this.active = true;\n });\n this.myCollapse.value.addEventListener(\"hide.bs.collapse\", () => {\n this.active = false;\n });\n this.myCollapse.value.addEventListener(\"hidden.bs.collapse\", () => {\n this.active = false;\n });\n }\n }\n\n render() {\n const withMenuTemplate = html` <button\n @click=${() => this._onClickButton()}\n class=\"collapsed sidenav-btn ${classMap({\n disabled: this.disabled,\n active: this.active\n })} \"\n aria-expanded=\"${this.active}\"\n aria-controls=\"${this.collapseId}\"\n aria-selected=\"${this.active}\"\n id=\"${this.buttonId}\"\n ?disabled=${this.disabled}\n aria-disabled=${this.disabled ? \"true\" : \"false\"}\n >\n <slot name=\"icon\"></slot>\n <slot name=\"title\"></slot>\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"16\"\n fill=\"currentColor\"\n class=\"bi bi-chevron-down\"\n viewBox=\"0 0 16 16\"\n >\n <path\n fill-rule=\"evenodd\"\n 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\"\n />\n </svg>\n </button>\n <div class=\"collapse\" ${ref(this.myCollapse)} id=\"${this.collapseId}\">\n <ul class=\"sidenav-list\" aria-labelledby=\"${this.buttonId}\">\n <slot></slot>\n </ul>\n </div>`;\n\n const noMenuTemplate = html`\n <a\n href=${this.href}\n @click=${() => this._onClickLink()}\n class=\"sidenav-btn ${classMap({\n disabled: this.disabled,\n active: this.active\n })} \"\n aria-selected=\"${this.active}\"\n ?disabled=${this.disabled}\n aria-disabled=${this.disabled ? \"true\" : \"false\"}\n >\n <slot name=\"title\"></slot>\n </a>\n `;\n return html`\n <li class=\"sidenav-item\" aria-haspopup=\"${!this.href}\">${this.href ? noMenuTemplate : withMenuTemplate}</li>\n `;\n }\n}\n\nexport default SgdsSidenavItem;\n","import * as React from \"react\";\nimport { createComponent } from \"@lit-labs/react\";\nimport Component from \"../../components/Sidenav/sgds-sidenav-item\";\n\nexport default createComponent({\n react: React,\n tagName: \"sgds-sidenav-item\",\n elementClass: Component,\n events: {\n onSgdsToggle: \"sgds-toggle\"\n }\n});\n","import LinkElement from \"../../base/link-element\";\nimport { customElement } from \"lit/decorators.js\";\nimport styles from \"./sgds-sidenav-link.scss\";\n\n/**\n * @slot - default slot for label of anchor tag.\n */\n@customElement(\"sgds-sidenav-link\")\nexport class SgdsSidenavLink extends LinkElement {\n static styles = styles;\n}\n\nexport default SgdsSidenavLink;\n","import * as React from \"react\";\nimport { createComponent } from \"@lit-labs/react\";\nimport Component from \"../../components/Sidenav/sgds-sidenav-link\";\n\nexport default createComponent({\n react: React,\n tagName: \"sgds-sidenav-link\",\n elementClass: Component,\n events: {}\n});\n","import { html } from \"lit\";\nimport SgdsElement from \"../../base/sgds-element\";\nimport { customElement, property } from \"lit/decorators.js\";\nimport styles from \"./sgds-sidenav.scss\";\nimport SgdsSidenavItem from \"./sgds-sidenav-item\";\n\n/**\n * @slot - default slot for SgdsSidenavItem element.\n */\n@customElement(\"sgds-sidenav\")\nexport class SgdsSidenav extends SgdsElement {\n static styles = styles;\n\n @property({ type: Boolean, attribute: true })\n alwaysOpen = false;\n\n render() {\n this.alwaysOpen\n ? null\n : this.addEventListener(\"sgds-toggle\", (e: CustomEvent) => {\n const children = this.shadowRoot.querySelector(\"slot\").assignedElements({ flatten: true });\n for (let i = 0; i < children.length; i++) {\n if (e.detail.index != i) {\n (children[i] as SgdsSidenavItem).closeItem();\n }\n }\n });\n\n return html`\n <nav class=\"sidenav\" id=\"${this.id}\">\n <ul>\n <slot></slot>\n </ul>\n </nav>\n `;\n }\n}\n\nexport default SgdsSidenav;\n","import * as React from \"react\";\nimport { createComponent } from \"@lit-labs/react\";\nimport Component from \"../../components/Sidenav/sgds-sidenav\";\n\nexport default createComponent({\n react: React,\n tagName: \"sgds-sidenav\",\n elementClass: Component,\n events: {}\n});\n","import { html } from \"lit\";\nimport { customElement, property } from \"lit/decorators.js\";\nimport { classMap } from \"lit/directives/class-map.js\";\nimport SgdsElement from \"../../base/sgds-element\";\nimport styles from \"./sgds-stepper.scss\";\n\n// TODO: any events emitted?\n@customElement(\"sgds-stepper\")\nexport class SgdsStepper extends SgdsElement {\n static styles = [SgdsElement.styles, styles];\n\n @property({ type: Array })\n steps = [\n {\n title: 1,\n stepHeader: \"Marker title 1\"\n },\n { title: 2, stepHeader: \"Marker title 2\" },\n { title: 3, stepHeader: \"Marker title 3\" }\n ];\n\n @property({ type: Number })\n activeStep: number;\n\n connectedCallback() {\n super.connectedCallback();\n }\n\n public incrementStep() {\n if (this.activeStep < this.steps.length - 1) {\n this.activeStep++;\n }\n }\n\n public decrementStep() {\n if (this.activeStep > 0) {\n this.activeStep--;\n }\n }\n\n public lastStep() {\n if (this.activeStep !== this.steps.length - 1) {\n this.activeStep = this.steps.length - 1;\n }\n }\n\n public firstStep() {\n if (this.activeStep > 0) {\n this.activeStep = 0;\n }\n }\n\n _onStepperItemClick(index: number) {\n if (this.activeStep > index) {\n this.activeStep = index;\n }\n }\n render() {\n return html`\n <div class=\"sgds stepper\">\n ${this.steps.map((step, index) => {\n return html`\n <div\n class=\"stepper-item ${classMap({\n \"is-active\": this.activeStep === index,\n \"is-completed\": this.activeStep > index,\n \"is-clickable\": this.activeStep > index\n })}\"\n @click=\"${() => this._onStepperItemClick(index)}\"\n >\n <div class=\"stepper-marker\">${step.title}</div>\n <div class=\"stepper-detail\">\n <p><b>${step.stepHeader}</b></p>\n </div>\n </div>\n `;\n })}\n </div>\n <slot name=\"step-${this.activeStep + 1}\" ?hidden=\"${this.activeStep === -1}\"></slot>\n `;\n }\n}\n\nexport default SgdsStepper;\n","import * as React from \"react\";\nimport { createComponent } from \"@lit-labs/react\";\nimport Component from \"../../components/Stepper/sgds-stepper\";\n\nexport default createComponent({\n react: React,\n tagName: \"sgds-stepper\",\n elementClass: Component,\n events: {}\n});\n","import { html } from \"lit\";\nimport { customElement, property, query } from \"lit/decorators.js\";\nimport { classMap } from \"lit/directives/class-map.js\";\nimport SgdsElement from \"../../base/sgds-element\";\nimport { watch } from \"../../utils/watch\";\nimport styles from \"./sgds-tab.scss\";\n\nlet id = 0;\n\n@customElement(\"sgds-tab\")\nexport class SgdsTab extends SgdsElement {\n static styles = styles;\n @query(\".tab\") tab: HTMLElement;\n\n private readonly attrId = ++id;\n private readonly componentId = `sgds-tab-${this.attrId}`;\n\n @property({ reflect: true }) label = \"\";\n /** The name of the tab panel this tab is associated with. The panel must be located in the same tab group. */\n @property({ reflect: true }) panel = \"\";\n\n /** Draws the tab in an active state. */\n @property({ type: Boolean, reflect: true }) active = false;\n\n /** Makes the tab closable and shows a close button. */\n @property({ type: Boolean }) closable = false;\n\n /** Disables the tab and prevents selection. */\n @property({ type: Boolean, reflect: true }) disabled = false;\n\n @property({ type: Boolean, reflect: true }) variant;\n\n connectedCallback() {\n super.connectedCallback();\n this.setAttribute(\"role\", \"tab\");\n }\n\n /** Sets focus to the tab. */\n focus(options?: FocusOptions) {\n this.tab.focus(options);\n }\n\n /** Removes focus from the tab. */\n blur() {\n this.tab.blur();\n }\n\n handleCloseClick() {\n this.emit(\"sgds-close\");\n }\n\n @watch(\"active\")\n handleActiveChange() {\n this.setAttribute(\"aria-selected\", this.active ? \"true\" : \"false\");\n }\n\n @watch(\"disabled\")\n handleDisabledChange() {\n this.setAttribute(\"aria-disabled\", this.disabled ? \"true\" : \"false\");\n }\n\n render() {\n // If the user didn't provide an ID, we'll set one so we can link tabs and tab panels with aria labels\n this.id = this.id.length > 0 ? this.id : this.componentId;\n\n const getAttr = this.closest(\"sgds-tab\").getAttribute(\"variant\");\n\n return html`\n <div\n part=\"base\"\n class=${classMap({\n tab: true,\n \"tab--active\": this.active,\n \"tab--closable\": this.closable,\n \"tab--disabled\": this.disabled,\n [`tab--${getAttr}`]: getAttr\n })}\n tabindex=${this.disabled ? \"-1\" : \"0\"}\n >\n <slot></slot>\n </div>\n `;\n }\n}\n\nexport default SgdsTab;\n","import * as React from \"react\";\nimport { createComponent } from \"@lit-labs/react\";\nimport Component from \"../../components/Tab/sgds-tab\";\n\nexport default createComponent({\n react: React,\n tagName: \"sgds-tab\",\n elementClass: Component,\n events: {}\n});\n","import { html } from \"lit\";\nimport { customElement, property, query, state } from \"lit/decorators.js\";\nimport { classMap } from \"lit/directives/class-map.js\";\nimport { scrollIntoView } from \"../../utils/scroll\";\nimport SgdsElement from \"../../base/sgds-element\";\nimport { watch } from \"../../utils/watch\";\nimport styles from \"./sgds-tabgroup.scss\";\nimport { SgdsTabPanel } from \"./sgds-tabpanel\";\nimport { SgdsTab } from \"./sgds-tab\";\n\n@customElement(\"sgds-tab-group\")\nexport class SgdsTabGroup extends SgdsElement {\n static styles = styles;\n\n @query(\".tab-group\") tabGroup: HTMLElement;\n @query(\".tab-group__body\") body: HTMLSlotElement;\n @query(\".tab-group__nav\") nav: HTMLElement;\n\n private activeTab?: SgdsTab;\n private mutationObserver: MutationObserver;\n private resizeObserver: ResizeObserver;\n private tabs: SgdsTab[] = [];\n private panels: SgdsTabPanel[] = [];\n\n @state() private hasScrollControls = false;\n\n /** The placement of the tabs. */\n @property() placement: \"top\" | \"bottom\" | \"start\" | \"end\" = \"top\";\n\n @property({ reflect: true }) TabVariant: \"basic-toggle\" | \"info-toggle\";\n /**\n * When set to auto, navigating tabs with the arrow keys will instantly show the corresponding tab panel. When set to\n * manual, the tab will receive focus but will not show until the user presses spacebar or enter.\n */\n @property() activation: \"auto\" | \"manual\" = \"auto\";\n\n /** Disables the scroll arrows that appear when tabs overflow. */\n @property({ attribute: \"no-scroll-controls\", type: Boolean }) noScrollControls = false;\n\n connectedCallback() {\n super.connectedCallback();\n\n this.resizeObserver = new ResizeObserver(() => {\n this.updateScrollControls();\n });\n\n this.mutationObserver = new MutationObserver(mutations => {\n // Update aria labels when the DOM changes\n if (mutations.some(m => ![\"aria-labelledby\", \"aria-controls\"].includes(m.attributeName))) {\n setTimeout(() => this.setAriaLabels());\n }\n\n // Sync tabs when disabled states change\n if (mutations.some(m => m.attributeName === \"disabled\")) {\n this.syncTabsAndPanels();\n }\n });\n\n this.updateComplete.then(() => {\n this.syncTabsAndPanels();\n this.mutationObserver.observe(this, { attributes: true, childList: true, subtree: true });\n this.resizeObserver.observe(this.nav);\n\n // Set initial tab state when the tabs first become visible\n const intersectionObserver = new IntersectionObserver((entries, observer) => {\n if (entries[0].intersectionRatio > 0) {\n this.setAriaLabels();\n this.setTabVariant();\n this.setActiveTab(this.getActiveTab() ?? this.tabs[0], { emitEvents: false });\n observer.unobserve(entries[0].target);\n }\n });\n intersectionObserver.observe(this.tabGroup);\n });\n }\n\n disconnectedCallback() {\n this.mutationObserver.disconnect();\n this.resizeObserver.unobserve(this.nav);\n }\n\n /** Shows the specified tab panel. */\n show(panel: string) {\n const tab = this.tabs.find(el => el.panel === panel);\n\n if (tab) {\n this.setActiveTab(tab, { scrollBehavior: \"smooth\" });\n }\n }\n\n getAllTabs(options: { includeDisabled: boolean } = { includeDisabled: true }) {\n const slot = this.shadowRoot.querySelector<HTMLSlotElement>('slot[name=\"nav\"]');\n\n return [...(slot.assignedElements() as SgdsTab[])].filter(el => {\n return options.includeDisabled\n ? el.tagName.toLowerCase() === \"sgds-tab\"\n : el.tagName.toLowerCase() === \"sgds-tab\" && !el.disabled;\n });\n }\n\n getAllPanels() {\n return [...this.body.assignedElements()].filter(el => el.tagName.toLowerCase() === \"sgds-tab-panel\") as [\n SgdsTabPanel\n ];\n }\n\n getActiveTab() {\n return this.tabs.find(el => el.active);\n }\n\n handleClick(event: MouseEvent) {\n const target = event.target as HTMLElement;\n //FIXME: too specific this will not work in dc design system\n const tab = target.closest(\"sgds-tab\") as SgdsTab;\n const tabGroup = tab?.closest(\"sgds-tab-group\");\n\n // Ensure the target tab is in this tab group\n if (tabGroup !== this) {\n return;\n }\n\n if (tab !== null) {\n this.setActiveTab(tab, { scrollBehavior: \"smooth\" });\n }\n }\n\n handleKeyDown(event: KeyboardEvent) {\n const target = event.target as HTMLElement;\n const tab = target.closest(\"sgds-tab\") as SgdsTab;\n const tabGroup = tab?.closest(\"sgds-tab-group\");\n\n // Ensure the target tab is in this tab group\n if (tabGroup !== this) {\n return;\n }\n\n // Activate a tab\n if ([\"Enter\", \" \"].includes(event.key)) {\n if (tab !== null) {\n this.setActiveTab(tab, { scrollBehavior: \"smooth\" });\n event.preventDefault();\n }\n }\n\n // Move focus left or right\n if ([\"ArrowLeft\", \"ArrowRight\", \"ArrowUp\", \"ArrowDown\", \"Home\", \"End\"].includes(event.key)) {\n const activeEl = this.tabs.find(t => t.matches(\":focus\"));\n\n if (activeEl?.tagName.toLowerCase() === \"sgds-tab\") {\n let index = this.tabs.indexOf(activeEl);\n\n if (event.key === \"Home\") {\n index = 0;\n } else if (event.key === \"End\") {\n index = this.tabs.length - 1;\n } else if (\n [\"top\", \"bottom\"].includes(this.placement) ||\n ([\"start\", \"end\"].includes(this.placement) && event.key === \"ArrowUp\")\n ) {\n index--;\n } else if (\n [\"top\", \"bottom\"].includes(this.placement) ||\n ([\"start\", \"end\"].includes(this.placement) && event.key === \"ArrowDown\")\n ) {\n index++;\n }\n\n if (index < 0) {\n index = this.tabs.length - 1;\n }\n\n if (index > this.tabs.length - 1) {\n index = 0;\n }\n\n this.tabs[index].focus({ preventScroll: true });\n\n if (this.activation === \"auto\") {\n this.setActiveTab(this.tabs[index], { scrollBehavior: \"smooth\" });\n }\n\n if ([\"top\", \"bottom\"].includes(this.placement)) {\n scrollIntoView(this.tabs[index], this.nav, \"horizontal\");\n }\n\n event.preventDefault();\n }\n }\n }\n\n handleScrollToStart() {\n this.nav.scroll({\n left: this.nav.scrollLeft - this.nav.clientWidth,\n behavior: \"smooth\"\n });\n }\n\n handleScrollToEnd() {\n this.nav.scroll({\n left: this.nav.scrollLeft + this.nav.clientWidth,\n behavior: \"smooth\"\n });\n }\n\n @watch(\"noScrollControls\", { waitUntilFirstUpdate: true })\n updateScrollControls() {\n if (this.noScrollControls) {\n this.hasScrollControls = false;\n } else {\n this.hasScrollControls =\n [\"top\", \"bottom\"].includes(this.placement) && this.nav.scrollWidth > this.nav.clientWidth;\n }\n }\n\n setActiveTab(tab: SgdsTab, options?: { emitEvents?: boolean; scrollBehavior?: \"auto\" | \"smooth\" }) {\n options = {\n emitEvents: true,\n scrollBehavior: \"auto\",\n ...options\n };\n\n if (tab !== this.activeTab && !tab.disabled) {\n const previousTab = this.activeTab;\n this.activeTab = tab;\n\n // Sync active tab and panel\n this.tabs.map(el => (el.active = el === this.activeTab));\n this.panels.map(el => (el.active = el.name === this.activeTab?.panel));\n\n if ([\"top\", \"bottom\"].includes(this.placement)) {\n scrollIntoView(this.activeTab, this.nav, \"horizontal\", options.scrollBehavior);\n }\n\n // Emit events\n if (options.emitEvents) {\n if (previousTab) {\n this.emit(\"sgds-tab-hide\", { detail: { name: previousTab.panel } });\n }\n\n this.emit(\"sgds-tab-show\", { detail: { name: this.activeTab.panel } });\n }\n }\n }\n\n setAriaLabels() {\n // Link each tab with its corresponding panel\n this.tabs.forEach(tab => {\n const panel = this.panels.find(el => el.name === tab.panel);\n if (panel) {\n tab.setAttribute(\"aria-controls\", panel.getAttribute(\"id\"));\n panel.setAttribute(\"aria-labelledby\", tab.getAttribute(\"id\"));\n }\n });\n }\n\n setTabVariant() {\n // Link each tab with its corresponding panel\n this.tabs.forEach(tab => {\n tab.setAttribute(\"variant\", this.TabVariant);\n });\n }\n\n // This stores tabs and panels so we can refer to a cache instead of calling querySelectorAll() multiple times.\n syncTabsAndPanels() {\n this.tabs = this.getAllTabs({ includeDisabled: false });\n this.panels = this.getAllPanels();\n }\n\n render() {\n return html`\n <div\n part=\"base\"\n class=${classMap({\n \"tab-group\": true,\n \"tab-group--top\": this.placement === \"top\",\n \"tab-group--bottom\": this.placement === \"bottom\",\n \"tab-group--start\": this.placement === \"start\",\n \"tab-group--end\": this.placement === \"end\",\n \"tab-group--basic-toggle\": this.TabVariant === \"basic-toggle\",\n \"tab-group--info-toggle\": this.TabVariant === \"info-toggle\"\n })}\n @click=${this.handleClick}\n @keydown=${this.handleKeyDown}\n >\n <div class=\"tab-group__nav-container\" part=\"nav\">\n <div class=\"tab-group__nav\">\n <div part=\"tabs\" class=\"tab-group__tabs\" role=\"tablist\">\n <slot name=\"nav\" @slotchange=${this.syncTabsAndPanels}></slot>\n </div>\n </div>\n </div>\n <slot part=\"body\" class=\"tab-group__body\" @slotchange=${this.syncTabsAndPanels}></slot>\n </div>\n `;\n }\n}\n\nexport default SgdsTabGroup;\n","import * as React from \"react\";\nimport { createComponent } from \"@lit-labs/react\";\nimport Component from \"../../components/Tab/sgds-tabgroup\";\n\nexport default createComponent({\n react: React,\n tagName: \"sgds-tab-group\",\n elementClass: Component,\n events: {}\n});\n","import { html } from \"lit\";\nimport { customElement, property } from \"lit/decorators.js\";\nimport { classMap } from \"lit/directives/class-map.js\";\nimport SgdsElement from \"../../base/sgds-element\";\nimport { watch } from \"../../utils/watch\";\nimport styles from \"./sgds-tabpanel.scss\";\nlet id = 0;\n\n/**\n * @summary Tab panels are used inside [tab groups](/components/tab-group) to display tabbed content.\n *\n * @since 2.0\n * @status stable\n *\n * @slot - The tab panel's content.\n *\n * @csspart base - The component's base wrapper.\n *\n * @cssproperty --padding - The tab panel's padding.\n */\n@customElement(\"sgds-tab-panel\")\nexport class SgdsTabPanel extends SgdsElement {\n static styles = styles;\n private readonly attrId = ++id;\n private readonly componentId = `sgds-tab-panel-${this.attrId}`;\n\n /** The tab panel's name. */\n @property({ reflect: true }) name = \"\";\n\n /** When true, the tab panel will be shown. */\n @property({ type: Boolean, reflect: true }) active = false;\n\n connectedCallback() {\n super.connectedCallback();\n this.id = this.id.length > 0 ? this.id : this.componentId;\n this.setAttribute(\"role\", \"tabpanel\");\n }\n\n @watch(\"active\")\n handleActiveChange() {\n this.setAttribute(\"aria-hidden\", this.active ? \"false\" : \"true\");\n }\n\n render() {\n return html`\n <slot\n part=\"base\"\n class=${classMap({\n \"tab-panel\": true,\n \"tab-panel--active\": this.active\n })}\n ></slot>\n `;\n }\n}\n\nexport default SgdsTabPanel;\n","import * as React from \"react\";\nimport { createComponent } from \"@lit-labs/react\";\nimport Component from \"../../components/Tab/sgds-tabpanel\";\n\nexport default createComponent({\n react: React,\n tagName: \"sgds-tab-panel\",\n elementClass: Component,\n events: {}\n});\n","import { html } from \"lit\";\nimport { customElement, property, state } from \"lit/decorators.js\";\nimport { classMap } from \"lit/directives/class-map.js\";\nimport SgdsElement from \"../../base/sgds-element\";\nimport styles from \"./sgds-table.scss\";\n\n@customElement(\"sgds-table\")\nexport class SgdsTable extends SgdsElement {\n static styles = [SgdsElement.styles, styles];\n\n @property({ type: Boolean, reflect: true }) striped = false;\n @property({ type: Boolean, reflect: true }) bordered = false;\n @property({ type: Boolean, reflect: true }) borderless = false;\n @property({ type: Boolean, reflect: true }) hover = false;\n @property({ type: String, reflect: true }) size?: string;\n @property({ type: String, reflect: true }) variant?: string;\n @property({ type: Boolean, reflect: true }) sort = false;\n @property({ type: Boolean, reflect: true }) removableSort = false;\n\n @property({ type: String, reflect: true }) responsive?: \"sm\" | \"md\" | \"lg\" | \"xl\";\n\n @property({ type: Array<string> }) tableHeaders = [];\n @property({ type: Array<string> }) tableData = [];\n\n @state() sortColumn: number | null = null;\n @state() sortAsc = true;\n @state() activeColumn: number | null = null;\n @state() sortClickCount = 0;\n @state() clickCount = 0;\n @state() originalTableData: Array<string[]> = [];\n\n connectedCallback() {\n super.connectedCallback();\n this.originalTableData = [...this.tableData];\n }\n\n handleHeaderClick(columnIndex: number) {\n if (this.sort) {\n if (this.sortColumn === columnIndex) {\n this.sortAsc = !this.sortAsc;\n } else {\n this.sortColumn = columnIndex;\n this.sortAsc = true;\n }\n\n this.tableData = [...this.tableData].sort((a, b) => {\n const aValue = a[columnIndex];\n const bValue = b[columnIndex];\n\n if (typeof aValue === \"string\" && typeof bValue === \"string\") {\n return this.sortAsc ? aValue.localeCompare(bValue) : bValue.localeCompare(aValue);\n } else {\n return this.sortAsc ? (aValue as number) - (bValue as number) : (bValue as number) - (aValue as number);\n }\n });\n\n // update the active column\n if (this.activeColumn === columnIndex) {\n this.clickCount++;\n if (this.clickCount === 3 && this.removableSort) {\n this.activeColumn = null;\n this.clickCount = 0;\n this.tableData = [...this.originalTableData];\n }\n } else {\n this.activeColumn = columnIndex;\n this.clickCount = 1;\n }\n\n // add the .active class to the clicked header cell\n const thElements = this.shadowRoot?.querySelectorAll(\"th\");\n thElements.forEach((thElement, index) => {\n if (index === columnIndex) {\n thElement.classList.add(\"active\");\n } else {\n thElement.classList.remove(\"active\");\n }\n });\n }\n }\n\n getIcon(columnIndex: number) {\n if (this.activeColumn !== columnIndex) {\n return html`<svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"16\"\n fill=\"currentColor\"\n class=\"bi bi-arrow-down-up ms-2 align-self-center\"\n viewBox=\"0 0 16 16\"\n >\n <path\n fill-rule=\"evenodd\"\n d=\"M11.5 15a.5.5 0 0 0 .5-.5V2.707l3.146 3.147a.5.5 0 0 0 .708-.708l-4-4a.5.5 0 0 0-.708 0l-4 4a.5.5 0 1 0 .708.708L11 2.707V14.5a.5.5 0 0 0 .5.5zm-7-14a.5.5 0 0 1 .5.5v11.793l3.146-3.147a.5.5 0 0 1 .708.708l-4 4a.5.5 0 0 1-.708 0l-4-4a.5.5 0 0 1 .708-.708L4 13.293V1.5a.5.5 0 0 1 .5-.5z\"\n />\n </svg>`;\n } else {\n return this.sortAsc\n ? html`<svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"16\"\n fill=\"currentColor\"\n class=\"bi bi-sort-up-alt ms-2 align-self-center\"\n viewBox=\"0 0 16 16\"\n >\n <path\n d=\"M3.5 13.5a.5.5 0 0 1-1 0V4.707L1.354 5.854a.5.5 0 1 1-.708-.708l2-1.999.007-.007a.498.498 0 0 1 .7.006l2 2a.5.5 0 1 1-.707.708L3.5 4.707V13.5zm4-9.5a.5.5 0 0 1 0-1h1a.5.5 0 0 1 0 1h-1zm0 3a.5.5 0 0 1 0-1h3a.5.5 0 0 1 0 1h-3zm0 3a.5.5 0 0 1 0-1h5a.5.5 0 0 1 0 1h-5zM7 12.5a.5.5 0 0 0 .5.5h7a.5.5 0 0 0 0-1h-7a.5.5 0 0 0-.5.5z\"\n />\n </svg>`\n : html`<svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"16\"\n fill=\"currentColor\"\n class=\"bi bi-sort-down ms-2 align-self-center\"\n viewBox=\"0 0 16 16\"\n >\n <path\n d=\"M3.5 2.5a.5.5 0 0 0-1 0v8.793l-1.146-1.147a.5.5 0 0 0-.708.708l2 1.999.007.007a.497.497 0 0 0 .7-.006l2-2a.5.5 0 0 0-.707-.708L3.5 11.293V2.5zm3.5 1a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 0 1h-7a.5.5 0 0 1-.5-.5zM7.5 6a.5.5 0 0 0 0 1h5a.5.5 0 0 0 0-1h-5zm0 3a.5.5 0 0 0 0 1h3a.5.5 0 0 0 0-1h-3zm0 3a.5.5 0 0 0 0 1h1a.5.5 0 0 0 0-1h-1z\"\n />\n </svg>`;\n }\n }\n\n render() {\n return html`\n <div\n class=${classMap({\n \"table-responsive\": !!this.responsive,\n \"table-responsive-sm\": this.responsive === \"sm\",\n \"table-responsive-md\": this.responsive === \"md\",\n \"table-responsive-lg\": this.responsive === \"lg\",\n \"table-responsive-xl\": this.responsive === \"xl\"\n })}\n tabindex=\"0\"\n >\n <table\n class=\"table ${classMap({\n [`table-striped`]: this.striped,\n [`table-bordered`]: this.bordered,\n [`table-borderless`]: this.borderless,\n [`table-hover`]: this.hover,\n [`table-${this.size}`]: this.size,\n [`table-${this.variant}`]: this.variant\n })} sgds\"\n >\n <thead>\n <tr>\n ${this.tableHeaders.map(\n (header: string, index: number) => html`\n <th\n class=\"${classMap({\n \"sortable-header\": this.sort,\n active: this.activeColumn === index\n })}\"\n @click=${() => this.handleHeaderClick(index)}\n >\n ${header} ${this.sort ? this.getIcon(index) : null}\n </th>\n `\n )}\n </tr>\n </thead>\n <tbody>\n ${this.tableData.map(\n row => html`\n <tr>\n ${row.map((cell: string) => html`<td>${cell}</td>`)}\n </tr>\n `\n )}\n </tbody>\n </table>\n </div>\n `;\n }\n}\n\nexport default SgdsTable;\n","import * as React from \"react\";\nimport { createComponent } from \"@lit-labs/react\";\nimport Component from \"../../components/Table/sgds-table\";\n\nexport default createComponent({\n react: React,\n tagName: \"sgds-table\",\n elementClass: Component,\n events: {}\n});\n","import { customElement, property, query, state } from \"lit/decorators.js\";\nimport { html } from \"lit/static-html.js\";\nimport { ifDefined } from \"lit/directives/if-defined.js\";\nimport { classMap } from \"lit/directives/class-map.js\";\nimport { live } from \"lit/directives/live.js\";\nimport styles from \"./sgds-textarea.scss\";\nimport SgdsElement from \"../../base/sgds-element\";\nimport { defaultValue } from \"../../utils/defaultvalue\";\nimport { FormSubmitController } from \"../../utils/form\";\nimport genId from \"../../utils/generateId\";\nimport { watch } from \"../../utils/watch\";\n\n@customElement(\"sgds-textarea\")\nexport class SgdsTextArea extends SgdsElement {\n static styles = [SgdsElement.styles, styles];\n\n @query(\"textarea.form-control\") textarea: HTMLTextAreaElement;\n @state() private hasFocus = false;\n\n private readonly formSubmitController = new FormSubmitController(this);\n private resizeObserver: ResizeObserver;\n\n @property({ type: String, reflect: true }) label = \"label\";\n @property({ type: String, reflect: true }) textareaId = genId(\"textarea\", \"input\");\n @property({ type: String, reflect: true }) name;\n @property({ type: String, reflect: true }) textareaClasses?;\n @property({ type: String, reflect: true }) value = \"\";\n @property({ type: String, reflect: true }) minlength;\n @property({ type: String, reflect: true }) maxlength;\n @property({ type: Boolean, reflect: true }) spellcheck = false;\n /** The number of rows to display by default. */\n @property({ type: Number }) rows = 4;\n @property({ type: String, reflect: true }) placeholder = \"Placeholder\";\n @property({ type: String, reflect: true }) invalidFeedback = \"default feedback\";\n @property({ type: Boolean, reflect: true }) autofocus = false;\n @property({ type: Boolean, reflect: true }) disabled = false;\n @property({ type: Boolean, reflect: true }) required = false;\n /** Makes the input readonly. */\n @property({ type: Boolean, reflect: true }) readonly = false;\n @property({ type: Boolean, reflect: true }) invalid = false;\n @property({ type: Boolean, reflect: true }) valid = false;\n /** Controls how the textarea can be resized. */\n @property() resize: \"none\" | \"vertical\" | \"auto\" = \"vertical\";\n /** The textarea's inputmode attribute. */\n @property() inputmode: \"none\" | \"text\" | \"decimal\" | \"numeric\" | \"tel\" | \"search\" | \"email\" | \"url\";\n /* The textarea's autocorrect attribute. */\n @property() autocorrect: string;\n /** Gets or sets the default value used to reset this element. The initial value corresponds to the one originally specified in the HTML that created this element. */\n @defaultValue()\n defaultValue = \"\";\n\n connectedCallback() {\n super.connectedCallback();\n this.resizeObserver = new ResizeObserver(() => this.setTextareaHeight());\n\n this.updateComplete.then(() => {\n this.setTextareaHeight();\n this.resizeObserver.observe(this.textarea);\n });\n }\n\n disconnectedCallback() {\n super.disconnectedCallback();\n this.resizeObserver.unobserve(this.textarea);\n }\n\n /** Sets focus on the textarea. */\n focus(options?: FocusOptions) {\n this.textarea.focus(options);\n }\n\n /** Checks for validity and shows the browser's validation message if the control is invalid. */\n reportValidity() {\n return this.textarea.reportValidity();\n }\n\n handleInvalid() {\n this.invalid = true;\n }\n\n handleChange(event: string) {\n this.value = this.textarea.value;\n this.emit(event);\n }\n\n handleFocus() {\n this.hasFocus = true;\n this.emit(\"sgds-focus\");\n }\n\n handleBlur() {\n this.hasFocus = false;\n this.emit(\"sgds-blur\");\n }\n\n /** Selects all the text in the textarea. */\n select() {\n this.textarea.select();\n }\n\n handleKeyDown(event: KeyboardEvent) {\n const hasModifier = event.metaKey || event.ctrlKey || event.shiftKey || event.altKey;\n\n // Pressing enter when focused on an input should submit the form like a native input, but we wait a tick before\n // submitting to allow users to cancel the keydown event if they need to\n if (event.key === \"Enter\" && !hasModifier) {\n setTimeout(() => {\n if (!event.defaultPrevented) {\n this.formSubmitController.submit();\n }\n });\n }\n }\n\n @watch(\"rows\", { waitUntilFirstUpdate: true })\n handleRowsChange() {\n this.setTextareaHeight();\n }\n\n setTextareaHeight() {\n if (this.resize === \"auto\") {\n this.textarea.style.height = \"auto\";\n this.textarea.style.height = `${this.textarea.scrollHeight}px`;\n } else {\n (this.textarea.style.height as string | undefined) = undefined;\n }\n }\n\n @watch(\"disabled\", { waitUntilFirstUpdate: true })\n handleDisabledChange() {\n // Disabled form controls are always valid, so we need to recheck validity when the state changes\n this.textarea.disabled = this.disabled;\n this.invalid = !this.textarea.checkValidity();\n }\n\n @watch(\"value\", { waitUntilFirstUpdate: true })\n handleValueChange() {\n this.invalid = !this.textarea.checkValidity();\n this.valid = this.textarea.checkValidity();\n this.updateComplete.then(() => this.setTextareaHeight());\n }\n\n render() {\n // if maxlength is defined\n const wordCount = html` <div class=\"form-text\">${this.value.length}/${this.maxlength}</div> `;\n\n return html`\n <div class=\"text-area-label-wrapper d-flex justify-content-between\">\n <label for=${ifDefined(this.textareaId)} class=\"form-label\">${this.label}</label>\n ${parseInt(this.maxlength) > 0 ? wordCount : undefined}\n </div>\n\n <textarea\n class=\"${classMap({\n \"form-control\": true,\n \"is-invalid\": this.invalid,\n \"is-valid\": this.valid,\n \"textarea-resize-none\": this.resize === \"none\",\n \"textarea-resize-vertical\": this.resize === \"vertical\",\n \"textarea-resize-auto\": this.resize === \"auto\",\n [`${this.textareaClasses}`]: this.textareaClasses\n })}\"\n id=${ifDefined(this.textareaId)}\n name=${ifDefined(this.name)}\n rows=${ifDefined(this.rows)}\n placeholder=${ifDefined(this.placeholder)}\n minlength=${ifDefined(this.minlength)}\n maxlength=${ifDefined(this.maxlength)}\n .value=${live(this.value)}\n aria-invalid=${this.invalid ? \"true\" : \"false\"}\n spellcheck=${ifDefined(this.spellcheck)}\n ?disabled=${this.disabled}\n ?readonly=${this.readonly}\n ?required=${this.required}\n ?autofocus=${this.autofocus}\n autocorrect=${ifDefined(this.autocorrect)}\n inputmode=${ifDefined(this.inputmode)}\n @keyup=${this.handleValueChange}\n @input=${() => this.handleChange(\"sgds-input\")}\n @change=${() => this.handleChange(\"sgds-change\")}\n @invalid=${this.handleInvalid}\n @focus=${this.handleFocus}\n @blur=${this.handleBlur}\n >\n </textarea>\n\n <div id=\"${this.textareaId}-invalid\" class=\"invalid-feedback\">${this.invalidFeedback}</div>\n `;\n }\n}\n\nexport default SgdsTextArea;\n","import * as React from \"react\";\nimport { createComponent } from \"@lit-labs/react\";\nimport Component from \"../../components/Textarea/sgds-textarea\";\n\nexport default createComponent({\n react: React,\n tagName: \"sgds-textarea\",\n elementClass: Component,\n events: {}\n});\n","import { customElement, property, query } from \"lit/decorators.js\";\nimport { classMap } from \"lit/directives/class-map.js\";\nimport { ifDefined } from \"lit/directives/if-defined.js\";\nimport { html } from \"lit/static-html.js\";\nimport SgdsElement from \"../../base/sgds-element\";\nimport styles from \"./sgds-toast.scss\";\n\nexport type ToastVariant = \"primary\" | \"secondary\" | \"success\" | \"danger\" | \"warning\" | \"info\" | \"dark\" | \"light\";\n\n@customElement(\"sgds-toast\")\nexport class SgdsToast extends SgdsElement {\n static styles = [SgdsElement.styles, styles];\n\n @query('[part~=\"base\"]') base: HTMLElement;\n\n @property({ type: Boolean, reflect: true }) show = true;\n\n /**\n * Apply a CSS fade transition to the toast\n */\n @property({ type: Boolean, reflect: true }) animation?: boolean;\n\n @property({ type: Boolean, reflect: true }) autohide? = false;\n\n @property({ type: Number, reflect: true }) delay = Infinity;\n\n @property({ type: String, reflect: true }) variant: ToastVariant;\n\n /** The toast variant. */\n @property({ type: String, reflect: true }) bg?:\n | \"primary\"\n | \"secondary\"\n | \"success\"\n | \"danger\"\n | \"warning\"\n | \"info\"\n | \"dark\"\n | \"light\";\n\n @property({ type: String }) closeLabel?: string;\n\n /**Adds CSS styling to `<Toast />` based on the defined status */\n @property({ type: String, reflect: true }) status?: \"success\" | \"warning\" | \"danger\";\n\n handleCloseClick() {\n this.show = false;\n this.emit(\"sgds-close\");\n }\n\n render() {\n if (this.autohide && this.delay < Infinity) {\n setTimeout(() => {\n this.show = false;\n }, this.delay);\n }\n return html`\n ${this.show\n ? html`\n <div\n part=\"base\"\n class=\"fade toast sgds show ${classMap({\n [`is-${this.variant}`]: this.variant,\n [`bg-${this.bg}`]: this.bg,\n [`is-${this.status}`]: this.status\n })}\"\n role=\"alert\"\n aria-hidden=${this.show ? \"false\" : \"true\"}\n aria-live=\"assertive\"\n aria-atomic=\"true\"\n >\n <div class=\"toast-header\">\n <sl-icon name=\"check-circle\" class=\"me-2\"></sl-icon>\n <strong class=\"me-auto\">Title</strong>\n <sgds-closebutton\n closeLabel=${ifDefined(this.closeLabel)}\n @click=${this.handleCloseClick}\n data-dismiss=\"toast\"\n ></sgds-closebutton>\n </div>\n <div class=\"toast-body\">This is a toast message.</div>\n </div>\n `\n : null}\n `;\n }\n}\n\nexport default SgdsToast;\n","import * as React from \"react\";\nimport { createComponent } from \"@lit-labs/react\";\nimport Component from \"../../components/Toast/sgds-toast\";\n\nexport default createComponent({\n react: React,\n tagName: \"sgds-toast\",\n elementClass: Component,\n events: {}\n});\n","import { html } from \"lit\";\nimport { customElement, property, state } from \"lit/decorators.js\";\nimport SgdsElement from \"../../base/sgds-element\";\nimport { ref, createRef, Ref } from \"lit/directives/ref.js\";\nimport { Tooltip } from \"bootstrap\";\nimport styles from \"./sgds-tooltip.scss\";\nimport * as Popper from \"@popperjs/core\";\n\n/**\n * @summary Tooltip summary\n * @slot default - slot for Tooltip's contentz\n */\n@customElement(\"sgds-tooltip\")\nexport class SgdsTooltip extends SgdsElement {\n static styles = [SgdsElement.styles, styles];\n /**@internal */\n myTooltip: Ref<HTMLElement> = createRef();\n /**@internal */\n bsTooltip: Tooltip = null;\n /** */\n @property({ type: String })\n content = \"\";\n\n @property({ type: String })\n placement: \"top\" | \"bottom\" | \"left\" | \"right\" = \"top\";\n\n @property({ type: String })\n trigger: \"click\" | \"hover\" | \"focus\" | \"hover focus\" = \"hover focus\";\n /**@internal */\n closableContainer: HTMLElement;\n /**@internal */\n @state()\n popperConfig: Partial<Popper.Options>;\n /**@internal */\n @state()\n tooltipConfig: Partial<Tooltip.Options>;\n\n firstUpdated() {\n // refer to Bootstrap's Tooltip options\n // Feature: Add close button when prop trigger === 'click'\n //useless to modify the \"template\" as BsTooltip \"title\" option will override anything that is within .tooltip-inner\n //HTML method insertAdjacentText() is use to add the text content before close button but it requires a parent\n // Only way is to modify BsTooltip's title with \"sanitize: false\" to add the close button\n // When trigger is a \"click\", tooltipContainer will be created and modify BsTooltip's \"title\", adding a close button\n if (this.trigger === \"click\") {\n this.closableContainer = document.createElement(\"div\");\n this.closableContainer.classList.add(\"d-flex\");\n this.closableContainer.classList.add(\"gap-5\");\n const closeBtn: HTMLButtonElement = document.createElement(\"button\");\n closeBtn.classList.add(\"btn-close\");\n closeBtn.classList.add(\"btn-close-white\");\n closeBtn.setAttribute(\"aria-label\", \"Close\");\n this.closableContainer.appendChild(closeBtn);\n this.closableContainer.insertAdjacentText(\"afterbegin\", this.content);\n\n this.shadowRoot.querySelector(\".btn-close\")?.addEventListener(\"click\", () => this.closeTooltip());\n }\n this.tooltipConfig = {\n popperConfig: (defaultConfig?: Partial<Popper.Options>) => {\n this.popperConfig = defaultConfig;\n const defaultModifiers = defaultConfig.modifiers;\n const newModifiers = defaultModifiers.map(mod => {\n if (mod.name === \"flip\") {\n mod.options.fallbackPlacements = [];\n }\n return mod;\n });\n this.popperConfig.modifiers = newModifiers;\n return this.popperConfig;\n },\n placement: this.placement,\n trigger: this.trigger,\n title: this.trigger === \"click\" ? this.closableContainer : this.content,\n html: true,\n sanitize: false, // to allow button element,\n container: this.shadowRoot.querySelector(\"div\") // tooltip to appear inside the shadow root of sgds-tooltip instead of anywhere in the DOM, so that scoped styles can apply\n } as Partial<Tooltip.Options>;\n this.bsTooltip = new Tooltip(this.myTooltip.value, this.tooltipConfig);\n\n this.myTooltip.value.addEventListener(\"show.bs.tooltip\", () => {\n this.emit(\"sgds-show\");\n });\n this.myTooltip.value.addEventListener(\"shown.bs.tooltip\", () => {\n this.emit(\"sgds-shown\");\n });\n this.myTooltip.value.addEventListener(\"hide.bs.tooltip\", () => {\n this.emit(\"sgds-hide\");\n });\n this.myTooltip.value.addEventListener(\"hidden.bs.tooltip\", () => {\n this.emit(\"sgds-hidden\");\n });\n }\n /** Hides the Tooltip */\n public closeTooltip() {\n this.bsTooltip.hide();\n }\n\n render() {\n return html`\n <div ${ref(this.myTooltip)}>\n <slot></slot>\n </div>\n `;\n }\n}\n\nexport default SgdsTooltip;\n","import * as React from \"react\";\nimport { createComponent } from \"@lit-labs/react\";\nimport Component from \"../../components/Tooltip/sgds-tooltip\";\n\nexport default createComponent({\n react: React,\n tagName: \"sgds-tooltip\",\n elementClass: Component,\n events: {}\n});\n"],"names":["t","i","s","e","o","n","l","h","r","d","u","c","v","a","f","_","m","p","g","$","y","w","x","T","A","E","C","P","V","k","I","L","R","N","S","M","z","H","j","LitElement","styles","html","classMap","query","property","customElement","createComponent","React","Component","queryAssignedNodes","createRef","ref","ifDefined","literal","state","defaultConverter","live","isElement","effect","getComputedStyle","min","max","mathMax","mathMin","hash","allPlacements","placements","createPopper","defaultModifiers","popperOffsets","computeStyles","applyStyles","offset","flip","preventOverflow","arrow","hide","Popper.createPopper","Modal","unsafeSVG","id"],"mappings":"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I,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,GAAG,IAAI,CAAC,EAAE,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAC,CAAC,EAAE,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAA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"}
|