@govtechsg/sgds-web-component 3.14.1-rc.0 → 3.15.0
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/base/dropdown-element.d.ts +2 -0
- package/base/dropdown-element.js +8 -2
- package/base/dropdown-element.js.map +1 -1
- package/components/Accordion/index.umd.min.js +8 -8
- package/components/Accordion/index.umd.min.js.map +1 -1
- package/components/Accordion/sgds-accordion.d.ts +1 -2
- package/components/Accordion/sgds-accordion.js +2 -3
- package/components/Accordion/sgds-accordion.js.map +1 -1
- package/components/Breadcrumb/index.umd.min.js +1 -1
- package/components/Breadcrumb/index.umd.min.js.map +1 -1
- package/components/ComboBox/index.umd.min.js +24 -24
- package/components/ComboBox/index.umd.min.js.map +1 -1
- package/components/ComboBox/sgds-combo-box.js +2 -2
- package/components/ComboBox/sgds-combo-box.js.map +1 -1
- package/components/Datepicker/datepicker.js +1 -1
- package/components/Datepicker/index.umd.min.js +3 -3
- package/components/Datepicker/index.umd.min.js.map +1 -1
- package/components/Datepicker/sgds-datepicker.js +1 -1
- package/components/Datepicker/sgds-datepicker.js.map +1 -1
- package/components/Dropdown/dropdown-menu.js +1 -1
- package/components/Dropdown/index.umd.min.js +1 -1
- package/components/Dropdown/index.umd.min.js.map +1 -1
- package/components/Dropdown/sgds-dropdown.js +1 -1
- package/components/Dropdown/sgds-dropdown.js.map +1 -1
- package/components/Mainnav/index.umd.min.js +8 -8
- package/components/Mainnav/index.umd.min.js.map +1 -1
- package/components/Mainnav/sgds-mainnav.d.ts +3 -1
- package/components/Mainnav/sgds-mainnav.js +9 -5
- package/components/Mainnav/sgds-mainnav.js.map +1 -1
- package/components/OverflowMenu/index.umd.min.js +1 -1
- package/components/OverflowMenu/index.umd.min.js.map +1 -1
- package/components/Select/index.umd.min.js +7 -7
- package/components/Select/index.umd.min.js.map +1 -1
- package/components/Select/sgds-select.js +2 -2
- package/components/Select/sgds-select.js.map +1 -1
- package/components/index.d.ts +0 -1
- package/components/index.js +0 -1
- package/components/index.js.map +1 -1
- package/components/index.umd.min.js +77 -130
- package/components/index.umd.min.js.map +1 -1
- package/css/fouc.css +0 -4
- package/css/sgds.css +2 -2
- package/css/utility.css +29 -18
- package/index.d.ts +0 -1
- package/index.js +0 -1
- package/index.js.map +1 -1
- package/index.umd.min.js +65 -196
- package/index.umd.min.js.map +1 -1
- package/package.json +1 -1
- package/react/base/dropdown-element.cjs.js +8 -2
- package/react/base/dropdown-element.cjs.js.map +1 -1
- package/react/base/dropdown-element.js +8 -2
- package/react/base/dropdown-element.js.map +1 -1
- package/react/components/Accordion/sgds-accordion.cjs.js +2 -3
- package/react/components/Accordion/sgds-accordion.cjs.js.map +1 -1
- package/react/components/Accordion/sgds-accordion.js +2 -3
- package/react/components/Accordion/sgds-accordion.js.map +1 -1
- package/react/components/ComboBox/sgds-combo-box.cjs.js +2 -2
- package/react/components/ComboBox/sgds-combo-box.cjs.js.map +1 -1
- package/react/components/ComboBox/sgds-combo-box.js +2 -2
- package/react/components/ComboBox/sgds-combo-box.js.map +1 -1
- package/react/components/Datepicker/datepicker.cjs.js +1 -1
- package/react/components/Datepicker/datepicker.js +1 -1
- package/react/components/Datepicker/sgds-datepicker.cjs.js +1 -1
- package/react/components/Datepicker/sgds-datepicker.cjs.js.map +1 -1
- package/react/components/Datepicker/sgds-datepicker.js +1 -1
- package/react/components/Datepicker/sgds-datepicker.js.map +1 -1
- package/react/components/Dropdown/dropdown-menu.cjs.js +1 -1
- package/react/components/Dropdown/dropdown-menu.js +1 -1
- package/react/components/Dropdown/sgds-dropdown.cjs.js +1 -1
- package/react/components/Dropdown/sgds-dropdown.cjs.js.map +1 -1
- package/react/components/Dropdown/sgds-dropdown.js +1 -1
- package/react/components/Dropdown/sgds-dropdown.js.map +1 -1
- package/react/components/Mainnav/sgds-mainnav.cjs.js +9 -5
- package/react/components/Mainnav/sgds-mainnav.cjs.js.map +1 -1
- package/react/components/Mainnav/sgds-mainnav.js +9 -5
- package/react/components/Mainnav/sgds-mainnav.js.map +1 -1
- package/react/components/Select/sgds-select.cjs.js +2 -2
- package/react/components/Select/sgds-select.cjs.js.map +1 -1
- package/react/components/Select/sgds-select.js +2 -2
- package/react/components/Select/sgds-select.js.map +1 -1
- package/react/index.cjs.js +48 -56
- package/react/index.cjs.js.map +1 -1
- package/react/index.d.ts +0 -4
- package/react/index.js +0 -4
- package/react/index.js.map +1 -1
- package/themes/responsive.css +18 -0
- package/base/sidebar-element.d.ts +0 -112
- package/base/sidebar-element.js +0 -281
- package/base/sidebar-element.js.map +0 -1
- package/components/Sidebar/index.d.ts +0 -16
- package/components/Sidebar/index.js +0 -10
- package/components/Sidebar/index.js.map +0 -1
- package/components/Sidebar/index.umd.min.js +0 -2501
- package/components/Sidebar/index.umd.min.js.map +0 -1
- package/components/Sidebar/sgds-sidebar-group.d.ts +0 -51
- package/components/Sidebar/sgds-sidebar-group.js +0 -124
- package/components/Sidebar/sgds-sidebar-group.js.map +0 -1
- package/components/Sidebar/sgds-sidebar-item.d.ts +0 -25
- package/components/Sidebar/sgds-sidebar-item.js +0 -73
- package/components/Sidebar/sgds-sidebar-item.js.map +0 -1
- package/components/Sidebar/sgds-sidebar-section.d.ts +0 -56
- package/components/Sidebar/sgds-sidebar-section.js +0 -125
- package/components/Sidebar/sgds-sidebar-section.js.map +0 -1
- package/components/Sidebar/sgds-sidebar.d.ts +0 -156
- package/components/Sidebar/sgds-sidebar.js +0 -412
- package/components/Sidebar/sgds-sidebar.js.map +0 -1
- package/components/Sidebar/sidebar-context.d.ts +0 -51
- package/components/Sidebar/sidebar-context.js +0 -45
- package/components/Sidebar/sidebar-context.js.map +0 -1
- package/components/Sidebar/sidebar-item.js +0 -6
- package/components/Sidebar/sidebar-item.js.map +0 -1
- package/components/Sidebar/sidebar-section.js +0 -6
- package/components/Sidebar/sidebar-section.js.map +0 -1
- package/components/Sidebar/sidebar.js +0 -6
- package/components/Sidebar/sidebar.js.map +0 -1
- package/react/base/sidebar-element.cjs.js +0 -286
- package/react/base/sidebar-element.cjs.js.map +0 -1
- package/react/base/sidebar-element.js +0 -282
- package/react/base/sidebar-element.js.map +0 -1
- package/react/components/Sidebar/sgds-sidebar-group.cjs.js +0 -130
- package/react/components/Sidebar/sgds-sidebar-group.cjs.js.map +0 -1
- package/react/components/Sidebar/sgds-sidebar-group.js +0 -125
- package/react/components/Sidebar/sgds-sidebar-group.js.map +0 -1
- package/react/components/Sidebar/sgds-sidebar-item.cjs.js +0 -79
- package/react/components/Sidebar/sgds-sidebar-item.cjs.js.map +0 -1
- package/react/components/Sidebar/sgds-sidebar-item.js +0 -74
- package/react/components/Sidebar/sgds-sidebar-item.js.map +0 -1
- package/react/components/Sidebar/sgds-sidebar-section.cjs.js +0 -131
- package/react/components/Sidebar/sgds-sidebar-section.cjs.js.map +0 -1
- package/react/components/Sidebar/sgds-sidebar-section.js +0 -126
- package/react/components/Sidebar/sgds-sidebar-section.js.map +0 -1
- package/react/components/Sidebar/sgds-sidebar.cjs.js +0 -418
- package/react/components/Sidebar/sgds-sidebar.cjs.js.map +0 -1
- package/react/components/Sidebar/sgds-sidebar.js +0 -413
- package/react/components/Sidebar/sgds-sidebar.js.map +0 -1
- package/react/components/Sidebar/sidebar-context.cjs.js +0 -54
- package/react/components/Sidebar/sidebar-context.cjs.js.map +0 -1
- package/react/components/Sidebar/sidebar-context.js +0 -46
- package/react/components/Sidebar/sidebar-context.js.map +0 -1
- package/react/components/Sidebar/sidebar-item.cjs.js +0 -11
- package/react/components/Sidebar/sidebar-item.cjs.js.map +0 -1
- package/react/components/Sidebar/sidebar-item.js +0 -7
- package/react/components/Sidebar/sidebar-item.js.map +0 -1
- package/react/components/Sidebar/sidebar-section.cjs.js +0 -11
- package/react/components/Sidebar/sidebar-section.cjs.js.map +0 -1
- package/react/components/Sidebar/sidebar-section.js +0 -7
- package/react/components/Sidebar/sidebar-section.js.map +0 -1
- package/react/components/Sidebar/sidebar.cjs.js +0 -11
- package/react/components/Sidebar/sidebar.cjs.js.map +0 -1
- package/react/components/Sidebar/sidebar.js +0 -7
- package/react/components/Sidebar/sidebar.js.map +0 -1
- package/react/sidebar/index.cjs.js +0 -42
- package/react/sidebar/index.cjs.js.map +0 -1
- package/react/sidebar/index.d.ts +0 -2
- package/react/sidebar/index.js +0 -18
- package/react/sidebar/index.js.map +0 -1
- package/react/sidebar-group/index.cjs.js +0 -40
- package/react/sidebar-group/index.cjs.js.map +0 -1
- package/react/sidebar-group/index.d.ts +0 -2
- package/react/sidebar-group/index.js +0 -16
- package/react/sidebar-group/index.js.map +0 -1
- package/react/sidebar-item/index.cjs.js +0 -40
- package/react/sidebar-item/index.cjs.js.map +0 -1
- package/react/sidebar-item/index.d.ts +0 -2
- package/react/sidebar-item/index.js +0 -16
- package/react/sidebar-item/index.js.map +0 -1
- package/react/sidebar-section/index.cjs.js +0 -40
- package/react/sidebar-section/index.cjs.js.map +0 -1
- package/react/sidebar-section/index.d.ts +0 -2
- package/react/sidebar-section/index.js +0 -16
- package/react/sidebar-section/index.js.map +0 -1
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { PropertyValueMap } from "lit";
|
|
2
1
|
import SgdsElement from "../../base/sgds-element";
|
|
3
2
|
import type SgdsAccordionItem from "./sgds-accordion-item";
|
|
4
3
|
export type AccordionDensity = "default" | "compact";
|
|
@@ -20,7 +19,7 @@ export declare class SgdsAccordion extends SgdsElement {
|
|
|
20
19
|
private defaultNodes;
|
|
21
20
|
/** @internal */
|
|
22
21
|
get items(): SgdsAccordionItem[];
|
|
23
|
-
|
|
22
|
+
private _handleSlotChange;
|
|
24
23
|
private _onToggle;
|
|
25
24
|
private _onKeyboardToggle;
|
|
26
25
|
render(): import("lit").TemplateResult<1>;
|
|
@@ -24,8 +24,7 @@ class SgdsAccordion extends SgdsElement {
|
|
|
24
24
|
get items() {
|
|
25
25
|
return [...(this.defaultNodes || [])].filter((node) => typeof node.tagName !== "undefined");
|
|
26
26
|
}
|
|
27
|
-
|
|
28
|
-
super.firstUpdated(changedProperties);
|
|
27
|
+
_handleSlotChange() {
|
|
29
28
|
const items = [...this.items];
|
|
30
29
|
items.forEach((item, index) => {
|
|
31
30
|
if (items.length > 1) {
|
|
@@ -70,7 +69,7 @@ class SgdsAccordion extends SgdsElement {
|
|
|
70
69
|
render() {
|
|
71
70
|
return html `
|
|
72
71
|
<div class="accordion">
|
|
73
|
-
<slot @click=${this._onToggle} @keydown=${this._onKeyboardToggle}></slot>
|
|
72
|
+
<slot @slotchange=${this._handleSlotChange} @click=${this._onToggle} @keydown=${this._onKeyboardToggle}></slot>
|
|
74
73
|
</div>
|
|
75
74
|
`;
|
|
76
75
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sgds-accordion.js","sources":["../../../src/components/Accordion/sgds-accordion.ts"],"sourcesContent":["import { html
|
|
1
|
+
{"version":3,"file":"sgds-accordion.js","sources":["../../../src/components/Accordion/sgds-accordion.ts"],"sourcesContent":["import { html } from \"lit\";\nimport { property, queryAssignedElements } from \"lit/decorators.js\";\nimport SgdsElement from \"../../base/sgds-element\";\nimport type SgdsAccordionItem from \"./sgds-accordion-item\";\nimport accordionStyle from \"./accordion.css\";\n\nexport type AccordionDensity = \"default\" | \"compact\";\nexport type AccordionVariant = \"default\" | \"border\";\n\nconst VALID_KEYS = [\"Enter\", \"ArrowUp\", \"ArrowLeft\", \"ArrowDown\", \"ArrowRight\"];\n\n/**\n * @summary A dropdown mechanism that allow users to either show or hide related content. `SgdsAccordion` is a wrapper to manage the behaviour for multiple `SgdsAccordionItems`\n * @slot default - slot for accordion-item\n *\n */\n\nexport class SgdsAccordion extends SgdsElement {\n static styles = [...SgdsElement.styles, accordionStyle];\n\n /** Allows multiple accordion items to be opened at the same time */\n @property({ type: Boolean, reflect: true }) allowMultiple = false;\n\n /** The variant of accordion */\n @property({ type: String, reflect: true }) variant: AccordionVariant = \"default\";\n\n /** The density of accordion */\n @property({ type: String, reflect: true }) density: AccordionDensity = \"default\";\n\n /** @internal */\n @queryAssignedElements() private defaultNodes!: 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 private _handleSlotChange() {\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 item.setAttribute(\"variant\", this.variant);\n item.setAttribute(\"density\", this.density);\n });\n }\n\n private async _onToggle(event: Event) {\n if (this.allowMultiple) {\n // No toggling when `allowMultiple` or the user prevents it.\n return;\n }\n const items = [...this.items] as SgdsAccordionItem[];\n if (items && !items.length) {\n // no toggling when there aren't items.\n return;\n }\n items.forEach(item => {\n // Covers all elements within accordion-item\n if (!event.composedPath().includes(item)) {\n // Close all the items that didn't dispatch the event.\n item.open = false;\n }\n });\n }\n\n private async _onKeyboardToggle(event: KeyboardEvent) {\n if (!VALID_KEYS.includes(event.key)) return;\n return this._onToggle(event);\n }\n\n render() {\n return html`\n <div class=\"accordion\">\n <slot @slotchange=${this._handleSlotChange} @click=${this._onToggle} @keydown=${this._onKeyboardToggle}></slot>\n </div>\n `;\n }\n}\n\nexport default SgdsAccordion;\n"],"names":["accordionStyle"],"mappings":";;;;;;AASA,MAAM,UAAU,GAAG,CAAC,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,WAAW,EAAE,YAAY,CAAC,CAAC;AAEhF;;;;AAIG;AAEG,MAAO,aAAc,SAAQ,WAAW,CAAA;AAA9C,IAAA,WAAA,GAAA;;;QAI8C,IAAa,CAAA,aAAA,GAAG,KAAK,CAAC;;QAGvB,IAAO,CAAA,OAAA,GAAqB,SAAS,CAAC;;QAGtC,IAAO,CAAA,OAAA,GAAqB,SAAS,CAAC;KAkElF;;AA5DC,IAAA,IAAI,KAAK,GAAA;QACP,OAAO,CAAC,IAAI,IAAI,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC,CAAC,MAAM,CAC1C,CAAC,IAAiB,KAAK,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW,CACpC,CAAC;KAC1B;IAEO,iBAAiB,GAAA;QACvB,MAAM,KAAK,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAwB,CAAC;QACrD,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,KAAI;AAC5B,YAAA,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;gBACpB,QAAQ,KAAK;AACX,oBAAA,KAAK,CAAC;AACJ,wBAAA,IAAI,CAAC,YAAY,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC;wBACvC,MAAM;AAER,oBAAA,KAAK,KAAK,CAAC,MAAM,GAAG,CAAC;AACnB,wBAAA,IAAI,CAAC,YAAY,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;wBACtC,MAAM;AAER,oBAAA;AACE,wBAAA,IAAI,CAAC,YAAY,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;iBACxC;aACF;YAED,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;YAC3C,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;AAC7C,SAAC,CAAC,CAAC;KACJ;IAEO,MAAM,SAAS,CAAC,KAAY,EAAA;AAClC,QAAA,IAAI,IAAI,CAAC,aAAa,EAAE;;YAEtB,OAAO;SACR;QACD,MAAM,KAAK,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAwB,CAAC;AACrD,QAAA,IAAI,KAAK,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;;YAE1B,OAAO;SACR;AACD,QAAA,KAAK,CAAC,OAAO,CAAC,IAAI,IAAG;;YAEnB,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;;AAExC,gBAAA,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;aACnB;AACH,SAAC,CAAC,CAAC;KACJ;IAEO,MAAM,iBAAiB,CAAC,KAAoB,EAAA;QAClD,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC;YAAE,OAAO;AAC5C,QAAA,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;KAC9B;IAED,MAAM,GAAA;AACJ,QAAA,OAAO,IAAI,CAAA,CAAA;;4BAEa,IAAI,CAAC,iBAAiB,CAAW,QAAA,EAAA,IAAI,CAAC,SAAS,CAAA,UAAA,EAAa,IAAI,CAAC,iBAAiB,CAAA;;KAEzG,CAAC;KACH;;AA1EM,aAAM,CAAA,MAAA,GAAG,CAAC,GAAG,WAAW,CAAC,MAAM,EAAEA,QAAc,CAAzC,CAA2C;AAGZ,UAAA,CAAA;IAA3C,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAAuB,CAAA,EAAA,aAAA,CAAA,SAAA,EAAA,eAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAGvB,UAAA,CAAA;IAA1C,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAAuC,CAAA,EAAA,aAAA,CAAA,SAAA,EAAA,SAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAGtC,UAAA,CAAA;IAA1C,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAAuC,CAAA,EAAA,aAAA,CAAA,SAAA,EAAA,SAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAGhD,UAAA,CAAA;AAAhC,IAAA,qBAAqB,EAAE;AAA4C,CAAA,EAAA,aAAA,CAAA,SAAA,EAAA,cAAA,EAAA,KAAA,CAAA,CAAA;;;;"}
|
|
@@ -72,7 +72,7 @@ const Se=globalThis;let Le;Se.litIssuedWarnings??=new Set,Le=(e,t)=>{t+=` See ht
|
|
|
72
72
|
* @license
|
|
73
73
|
* Copyright 2020 Google LLC
|
|
74
74
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
75
|
-
*/const Xe=()=>new Ge;class Ge{}const Qe=new WeakMap;const et=Ie(class extends Ye{render(e){return he}update(e,[t]){const l=t!==this._ref;return l&&void 0!==this._ref&&this._updateRefValue(void 0),(l||this._lastElementForRef!==this._element)&&(this._ref=t,this._context=e.options?.host,this._updateRefValue(this._element=e.element)),he}_updateRefValue(e){if(this.isConnected||(e=void 0),"function"==typeof this._ref){const t=this._context??globalThis;let l=Qe.get(t);void 0===l&&(l=new WeakMap,Qe.set(t,l)),void 0!==l.get(this._ref)&&this._ref.call(this._context,void 0),l.set(this._ref,e),void 0!==e&&this._ref.call(this._context,e)}else this._ref.value=e}get _lastElementForRef(){return"function"==typeof this._ref?Qe.get(this._context??globalThis)?.get(this._ref):this._ref?.value}disconnected(){this._lastElementForRef===this._element&&this._updateRefValue(void 0)}reconnected(){this._updateRefValue(this._element)}}),tt=Math.min,lt=Math.max,at=Math.round,it=Math.floor,ot=e=>({x:e,y:e}),nt={left:"right",right:"left",bottom:"top",top:"bottom"},rt={start:"end",end:"start"};function st(e,t,l){return lt(e,tt(t,l))}function ct(e,t){return"function"==typeof e?e(t):e}function dt(e){return e.split("-")[0]}function ht(e){return e.split("-")[1]}function vt(e){return"x"===e?"y":"x"}function ut(e){return"y"===e?"height":"width"}const pt=new Set(["top","bottom"]);function gt(e){return pt.has(dt(e))?"y":"x"}function wt(e){return vt(gt(e))}function ft(e,t,l){void 0===l&&(l=!1);const a=ht(e),i=wt(e),o=ut(i);let n="x"===i?a===(l?"end":"start")?"right":"left":"start"===a?"bottom":"top";return t.reference[o]>t.floating[o]&&(n=yt(n)),[n,yt(n)]}function mt(e){return e.replace(/start|end/g,e=>rt[e])}const xt=["left","right"],Zt=["right","left"],Ct=["top","bottom"],Mt=["bottom","top"];function bt(e,t,l,a){const i=ht(e);let o=function(e,t,l){switch(e){case"top":case"bottom":return l?t?Zt:xt:t?xt:Zt;case"left":case"right":return t?Ct:Mt;default:return[]}}(dt(e),"start"===l,a);return i&&(o=o.map(e=>e+"-"+i),t&&(o=o.concat(o.map(mt)))),o}function yt(e){return e.replace(/left|right|bottom|top/g,e=>nt[e])}function _t(e){return"number"!=typeof e?function(e){return{top:0,right:0,bottom:0,left:0,...e}}(e):{top:e,right:e,bottom:e,left:e}}function Vt(e){const{x:t,y:l,width:a,height:i}=e;return{width:a,height:i,top:l,left:t,right:t+a,bottom:l+i,x:t,y:l}}function Ht(e,t,l){let{reference:a,floating:i}=e;const o=gt(t),n=wt(t),r=ut(n),s=dt(t),c="y"===o,d=a.x+a.width/2-i.width/2,h=a.y+a.height/2-i.height/2,v=a[r]/2-i[r]/2;let u;switch(s){case"top":u={x:d,y:a.y-i.height};break;case"bottom":u={x:d,y:a.y+a.height};break;case"right":u={x:a.x+a.width,y:h};break;case"left":u={x:a.x-i.width,y:h};break;default:u={x:a.x,y:a.y}}switch(ht(t)){case"start":u[n]-=v*(l&&c?-1:1);break;case"end":u[n]+=v*(l&&c?-1:1)}return u}async function kt(e,t){var l;void 0===t&&(t={});const{x:a,y:i,platform:o,rects:n,elements:r,strategy:s}=e,{boundary:c="clippingAncestors",rootBoundary:d="viewport",elementContext:h="floating",altBoundary:v=!1,padding:u=0}=ct(t,e),p=_t(u),g=r[v?"floating"===h?"reference":"floating":h],w=Vt(await o.getClippingRect({element:null==(l=await(null==o.isElement?void 0:o.isElement(g)))||l?g:g.contextElement||await(null==o.getDocumentElement?void 0:o.getDocumentElement(r.floating)),boundary:c,rootBoundary:d,strategy:s})),f="floating"===h?{x:a,y:i,width:n.floating.width,height:n.floating.height}:n.reference,m=await(null==o.getOffsetParent?void 0:o.getOffsetParent(r.floating)),x=await(null==o.isElement?void 0:o.isElement(m))&&await(null==o.getScale?void 0:o.getScale(m))||{x:1,y:1},Z=Vt(o.convertOffsetParentRelativeRectToViewportRelativeRect?await o.convertOffsetParentRelativeRectToViewportRelativeRect({elements:r,rect:f,offsetParent:m,strategy:s}):f);return{top:(w.top-Z.top+p.top)/x.y,bottom:(Z.bottom-w.bottom+p.bottom)/x.y,left:(w.left-Z.left+p.left)/x.x,right:(Z.right-w.right+p.right)/x.x}}const Bt=new Set(["left","top"]);function At(){return"undefined"!=typeof window}function $t(e){return Et(e)?(e.nodeName||"").toLowerCase():"#document"}function St(e){var t;return(null==e||null==(t=e.ownerDocument)?void 0:t.defaultView)||window}function Lt(e){var t;return null==(t=(Et(e)?e.ownerDocument:e.document)||window.document)?void 0:t.documentElement}function Et(e){return!!At()&&(e instanceof Node||e instanceof St(e).Node)}function Pt(e){return!!At()&&(e instanceof Element||e instanceof St(e).Element)}function Tt(e){return!!At()&&(e instanceof HTMLElement||e instanceof St(e).HTMLElement)}function zt(e){return!(!At()||"undefined"==typeof ShadowRoot)&&(e instanceof ShadowRoot||e instanceof St(e).ShadowRoot)}const Ot=new Set(["inline","contents"]);function Rt(e){const{overflow:t,overflowX:l,overflowY:a,display:i}=Xt(e);return/auto|scroll|overlay|hidden|clip/.test(t+a+l)&&!Ot.has(i)}const Dt=new Set(["table","td","th"]);function Nt(e){return Dt.has($t(e))}const It=[":popover-open",":modal"];function Ut(e){return It.some(t=>{try{return e.matches(t)}catch(e){return!1}})}const Wt=["transform","translate","scale","rotate","perspective"],Ft=["transform","translate","scale","rotate","perspective","filter"],qt=["paint","layout","strict","content"];function jt(e){const t=Kt(),l=Pt(e)?Xt(e):e;return Wt.some(e=>!!l[e]&&"none"!==l[e])||!!l.containerType&&"normal"!==l.containerType||!t&&!!l.backdropFilter&&"none"!==l.backdropFilter||!t&&!!l.filter&&"none"!==l.filter||Ft.some(e=>(l.willChange||"").includes(e))||qt.some(e=>(l.contain||"").includes(e))}function Kt(){return!("undefined"==typeof CSS||!CSS.supports)&&CSS.supports("-webkit-backdrop-filter","none")}const Jt=new Set(["html","body","#document"]);function Yt(e){return Jt.has($t(e))}function Xt(e){return St(e).getComputedStyle(e)}function Gt(e){return Pt(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function Qt(e){if("html"===$t(e))return e;const t=e.assignedSlot||e.parentNode||zt(e)&&e.host||Lt(e);return zt(t)?t.host:t}function el(e){const t=Qt(e);return Yt(t)?e.ownerDocument?e.ownerDocument.body:e.body:Tt(t)&&Rt(t)?t:el(t)}function tl(e,t,l){var a;void 0===t&&(t=[]),void 0===l&&(l=!0);const i=el(e),o=i===(null==(a=e.ownerDocument)?void 0:a.body),n=St(i);if(o){const e=ll(n);return t.concat(n,n.visualViewport||[],Rt(i)?i:[],e&&l?tl(e):[])}return t.concat(i,tl(i,[],l))}function ll(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function al(e){const t=Xt(e);let l=parseFloat(t.width)||0,a=parseFloat(t.height)||0;const i=Tt(e),o=i?e.offsetWidth:l,n=i?e.offsetHeight:a,r=at(l)!==o||at(a)!==n;return r&&(l=o,a=n),{width:l,height:a,$:r}}function il(e){return Pt(e)?e:e.contextElement}function ol(e){const t=il(e);if(!Tt(t))return ot(1);const l=t.getBoundingClientRect(),{width:a,height:i,$:o}=al(t);let n=(o?at(l.width):l.width)/a,r=(o?at(l.height):l.height)/i;return n&&Number.isFinite(n)||(n=1),r&&Number.isFinite(r)||(r=1),{x:n,y:r}}const nl=ot(0);function rl(e){const t=St(e);return Kt()&&t.visualViewport?{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}:nl}function sl(e,t,l,a){void 0===t&&(t=!1),void 0===l&&(l=!1);const i=e.getBoundingClientRect(),o=il(e);let n=ot(1);t&&(a?Pt(a)&&(n=ol(a)):n=ol(e));const r=function(e,t,l){return void 0===t&&(t=!1),!(!l||t&&l!==St(e))&&t}(o,l,a)?rl(o):ot(0);let s=(i.left+r.x)/n.x,c=(i.top+r.y)/n.y,d=i.width/n.x,h=i.height/n.y;if(o){const e=St(o),t=a&&Pt(a)?St(a):a;let l=e,i=ll(l);for(;i&&a&&t!==l;){const e=ol(i),t=i.getBoundingClientRect(),a=Xt(i),o=t.left+(i.clientLeft+parseFloat(a.paddingLeft))*e.x,n=t.top+(i.clientTop+parseFloat(a.paddingTop))*e.y;s*=e.x,c*=e.y,d*=e.x,h*=e.y,s+=o,c+=n,l=St(i),i=ll(l)}}return Vt({width:d,height:h,x:s,y:c})}function cl(e,t){const l=Gt(e).scrollLeft;return t?t.left+l:sl(Lt(e)).left+l}function dl(e,t){const l=e.getBoundingClientRect();return{x:l.left+t.scrollLeft-cl(e,l),y:l.top+t.scrollTop}}const hl=new Set(["absolute","fixed"]);function vl(e,t,l){let a;if("viewport"===t)a=function(e,t){const l=St(e),a=Lt(e),i=l.visualViewport;let o=a.clientWidth,n=a.clientHeight,r=0,s=0;if(i){o=i.width,n=i.height;const e=Kt();(!e||e&&"fixed"===t)&&(r=i.offsetLeft,s=i.offsetTop)}const c=cl(a);if(c<=0){const e=a.ownerDocument,t=e.body,l=getComputedStyle(t),i="CSS1Compat"===e.compatMode&&parseFloat(l.marginLeft)+parseFloat(l.marginRight)||0,n=Math.abs(a.clientWidth-t.clientWidth-i);n<=25&&(o-=n)}else c<=25&&(o+=c);return{width:o,height:n,x:r,y:s}}(e,l);else if("document"===t)a=function(e){const t=Lt(e),l=Gt(e),a=e.ownerDocument.body,i=lt(t.scrollWidth,t.clientWidth,a.scrollWidth,a.clientWidth),o=lt(t.scrollHeight,t.clientHeight,a.scrollHeight,a.clientHeight);let n=-l.scrollLeft+cl(e);const r=-l.scrollTop;return"rtl"===Xt(a).direction&&(n+=lt(t.clientWidth,a.clientWidth)-i),{width:i,height:o,x:n,y:r}}(Lt(e));else if(Pt(t))a=function(e,t){const l=sl(e,!0,"fixed"===t),a=l.top+e.clientTop,i=l.left+e.clientLeft,o=Tt(e)?ol(e):ot(1);return{width:e.clientWidth*o.x,height:e.clientHeight*o.y,x:i*o.x,y:a*o.y}}(t,l);else{const l=rl(e);a={x:t.x-l.x,y:t.y-l.y,width:t.width,height:t.height}}return Vt(a)}function ul(e,t){const l=Qt(e);return!(l===t||!Pt(l)||Yt(l))&&("fixed"===Xt(l).position||ul(l,t))}function pl(e,t,l){const a=Tt(t),i=Lt(t),o="fixed"===l,n=sl(e,!0,o,t);let r={scrollLeft:0,scrollTop:0};const s=ot(0);function c(){s.x=cl(i)}if(a||!a&&!o)if(("body"!==$t(t)||Rt(i))&&(r=Gt(t)),a){const e=sl(t,!0,o,t);s.x=e.x+t.clientLeft,s.y=e.y+t.clientTop}else i&&c();o&&!a&&i&&c();const d=!i||a||o?ot(0):dl(i,r);return{x:n.left+r.scrollLeft-s.x-d.x,y:n.top+r.scrollTop-s.y-d.y,width:n.width,height:n.height}}function gl(e){return"static"===Xt(e).position}function wl(e,t){if(!Tt(e)||"fixed"===Xt(e).position)return null;if(t)return t(e);let l=e.offsetParent;return Lt(e)===l&&(l=l.ownerDocument.body),l}function fl(e,t){const l=St(e);if(Ut(e))return l;if(!Tt(e)){let t=Qt(e);for(;t&&!Yt(t);){if(Pt(t)&&!gl(t))return t;t=Qt(t)}return l}let a=wl(e,t);for(;a&&Nt(a)&&gl(a);)a=wl(a,t);return a&&Yt(a)&&gl(a)&&!jt(a)?l:a||function(e){let t=Qt(e);for(;Tt(t)&&!Yt(t);){if(jt(t))return t;if(Ut(t))return null;t=Qt(t)}return null}(e)||l}const ml={convertOffsetParentRelativeRectToViewportRelativeRect:function(e){let{elements:t,rect:l,offsetParent:a,strategy:i}=e;const o="fixed"===i,n=Lt(a),r=!!t&&Ut(t.floating);if(a===n||r&&o)return l;let s={scrollLeft:0,scrollTop:0},c=ot(1);const d=ot(0),h=Tt(a);if((h||!h&&!o)&&(("body"!==$t(a)||Rt(n))&&(s=Gt(a)),Tt(a))){const e=sl(a);c=ol(a),d.x=e.x+a.clientLeft,d.y=e.y+a.clientTop}const v=!n||h||o?ot(0):dl(n,s);return{width:l.width*c.x,height:l.height*c.y,x:l.x*c.x-s.scrollLeft*c.x+d.x+v.x,y:l.y*c.y-s.scrollTop*c.y+d.y+v.y}},getDocumentElement:Lt,getClippingRect:function(e){let{element:t,boundary:l,rootBoundary:a,strategy:i}=e;const o=[..."clippingAncestors"===l?Ut(t)?[]:function(e,t){const l=t.get(e);if(l)return l;let a=tl(e,[],!1).filter(e=>Pt(e)&&"body"!==$t(e)),i=null;const o="fixed"===Xt(e).position;let n=o?Qt(e):e;for(;Pt(n)&&!Yt(n);){const t=Xt(n),l=jt(n);l||"fixed"!==t.position||(i=null),(o?!l&&!i:!l&&"static"===t.position&&i&&hl.has(i.position)||Rt(n)&&!l&&ul(e,n))?a=a.filter(e=>e!==n):i=t,n=Qt(n)}return t.set(e,a),a}(t,this._c):[].concat(l),a],n=o[0],r=o.reduce((e,l)=>{const a=vl(t,l,i);return e.top=lt(a.top,e.top),e.right=tt(a.right,e.right),e.bottom=tt(a.bottom,e.bottom),e.left=lt(a.left,e.left),e},vl(t,n,i));return{width:r.right-r.left,height:r.bottom-r.top,x:r.left,y:r.top}},getOffsetParent:fl,getElementRects:async function(e){const t=this.getOffsetParent||fl,l=this.getDimensions,a=await l(e.floating);return{reference:pl(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:a.width,height:a.height}}},getClientRects:function(e){return Array.from(e.getClientRects())},getDimensions:function(e){const{width:t,height:l}=al(e);return{width:t,height:l}},getScale:ol,isElement:Pt,isRTL:function(e){return"rtl"===Xt(e).direction}};function xl(e,t){return e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height}function Zl(e,t,l,a){void 0===a&&(a={});const{ancestorScroll:i=!0,ancestorResize:o=!0,elementResize:n="function"==typeof ResizeObserver,layoutShift:r="function"==typeof IntersectionObserver,animationFrame:s=!1}=a,c=il(e),d=i||o?[...c?tl(c):[],...tl(t)]:[];d.forEach(e=>{i&&e.addEventListener("scroll",l,{passive:!0}),o&&e.addEventListener("resize",l)});const h=c&&r?function(e,t){let l,a=null;const i=Lt(e);function o(){var e;clearTimeout(l),null==(e=a)||e.disconnect(),a=null}return function n(r,s){void 0===r&&(r=!1),void 0===s&&(s=1),o();const c=e.getBoundingClientRect(),{left:d,top:h,width:v,height:u}=c;if(r||t(),!v||!u)return;const p={rootMargin:-it(h)+"px "+-it(i.clientWidth-(d+v))+"px "+-it(i.clientHeight-(h+u))+"px "+-it(d)+"px",threshold:lt(0,tt(1,s))||1};let g=!0;function w(t){const a=t[0].intersectionRatio;if(a!==s){if(!g)return n();a?n(!1,a):l=setTimeout(()=>{n(!1,1e-7)},1e3)}1!==a||xl(c,e.getBoundingClientRect())||n(),g=!1}try{a=new IntersectionObserver(w,{...p,root:i.ownerDocument})}catch(e){a=new IntersectionObserver(w,p)}a.observe(e)}(!0),o}(c,l):null;let v,u=-1,p=null;n&&(p=new ResizeObserver(e=>{let[a]=e;a&&a.target===c&&p&&(p.unobserve(t),cancelAnimationFrame(u),u=requestAnimationFrame(()=>{var e;null==(e=p)||e.observe(t)})),l()}),c&&!s&&p.observe(c),p.observe(t));let g=s?sl(e):null;return s&&function t(){const a=sl(e);g&&!xl(g,a)&&l();g=a,v=requestAnimationFrame(t)}(),l(),()=>{var e;d.forEach(e=>{i&&e.removeEventListener("scroll",l),o&&e.removeEventListener("resize",l)}),null==h||h(),null==(e=p)||e.disconnect(),p=null,s&&cancelAnimationFrame(v)}}const Cl=function(e){return void 0===e&&(e=0),{name:"offset",options:e,async fn(t){var l,a;const{x:i,y:o,placement:n,middlewareData:r}=t,s=await async function(e,t){const{placement:l,platform:a,elements:i}=e,o=await(null==a.isRTL?void 0:a.isRTL(i.floating)),n=dt(l),r=ht(l),s="y"===gt(l),c=Bt.has(n)?-1:1,d=o&&s?-1:1,h=ct(t,e);let{mainAxis:v,crossAxis:u,alignmentAxis:p}="number"==typeof h?{mainAxis:h,crossAxis:0,alignmentAxis:null}:{mainAxis:h.mainAxis||0,crossAxis:h.crossAxis||0,alignmentAxis:h.alignmentAxis};return r&&"number"==typeof p&&(u="end"===r?-1*p:p),s?{x:u*d,y:v*c}:{x:v*c,y:u*d}}(t,e);return n===(null==(l=r.offset)?void 0:l.placement)&&null!=(a=r.arrow)&&a.alignmentOffset?{}:{x:i+s.x,y:o+s.y,data:{...s,placement:n}}}}},Ml=function(e){return void 0===e&&(e={}),{name:"shift",options:e,async fn(t){const{x:l,y:a,placement:i}=t,{mainAxis:o=!0,crossAxis:n=!1,limiter:r={fn:e=>{let{x:t,y:l}=e;return{x:t,y:l}}},...s}=ct(e,t),c={x:l,y:a},d=await kt(t,s),h=gt(dt(i)),v=vt(h);let u=c[v],p=c[h];if(o){const e="y"===v?"bottom":"right";u=st(u+d["y"===v?"top":"left"],u,u-d[e])}if(n){const e="y"===h?"bottom":"right";p=st(p+d["y"===h?"top":"left"],p,p-d[e])}const g=r.fn({...t,[v]:u,[h]:p});return{...g,data:{x:g.x-l,y:g.y-a,enabled:{[v]:o,[h]:n}}}}}},bl=function(e){return void 0===e&&(e={}),{name:"flip",options:e,async fn(t){var l,a;const{placement:i,middlewareData:o,rects:n,initialPlacement:r,platform:s,elements:c}=t,{mainAxis:d=!0,crossAxis:h=!0,fallbackPlacements:v,fallbackStrategy:u="bestFit",fallbackAxisSideDirection:p="none",flipAlignment:g=!0,...w}=ct(e,t);if(null!=(l=o.arrow)&&l.alignmentOffset)return{};const f=dt(i),m=gt(r),x=dt(r)===r,Z=await(null==s.isRTL?void 0:s.isRTL(c.floating)),C=v||(x||!g?[yt(r)]:function(e){const t=yt(e);return[mt(e),t,mt(t)]}(r)),M="none"!==p;!v&&M&&C.push(...bt(r,g,p,Z));const b=[r,...C],y=await kt(t,w),_=[];let V=(null==(a=o.flip)?void 0:a.overflows)||[];if(d&&_.push(y[f]),h){const e=ft(i,n,Z);_.push(y[e[0]],y[e[1]])}if(V=[...V,{placement:i,overflows:_}],!_.every(e=>e<=0)){var H,k;const e=((null==(H=o.flip)?void 0:H.index)||0)+1,t=b[e];if(t){if(!("alignment"===h&&m!==gt(t))||V.every(e=>gt(e.placement)!==m||e.overflows[0]>0))return{data:{index:e,overflows:V},reset:{placement:t}}}let l=null==(k=V.filter(e=>e.overflows[0]<=0).sort((e,t)=>e.overflows[1]-t.overflows[1])[0])?void 0:k.placement;if(!l)switch(u){case"bestFit":{var B;const e=null==(B=V.filter(e=>{if(M){const t=gt(e.placement);return t===m||"y"===t}return!0}).map(e=>[e.placement,e.overflows.filter(e=>e>0).reduce((e,t)=>e+t,0)]).sort((e,t)=>e[1]-t[1])[0])?void 0:B[0];e&&(l=e);break}case"initialPlacement":l=r}if(i!==l)return{reset:{placement:l}}}return{}}}},yl=(e,t,l)=>{const a=new Map,i={platform:ml,...l},o={...i.platform,_c:a};return(async(e,t,l)=>{const{placement:a="bottom",strategy:i="absolute",middleware:o=[],platform:n}=l,r=o.filter(Boolean),s=await(null==n.isRTL?void 0:n.isRTL(t));let c=await n.getElementRects({reference:e,floating:t,strategy:i}),{x:d,y:h}=Ht(c,a,s),v=a,u={},p=0;for(let l=0;l<r.length;l++){const{name:o,fn:g}=r[l],{x:w,y:f,data:m,reset:x}=await g({x:d,y:h,initialPlacement:a,placement:v,strategy:i,middlewareData:u,rects:c,platform:n,elements:{reference:e,floating:t}});d=null!=w?w:d,h=null!=f?f:h,u={...u,[o]:{...u[o],...m}},x&&p<=50&&(p++,"object"==typeof x&&(x.placement&&(v=x.placement),x.rects&&(c=!0===x.rects?await n.getElementRects({reference:e,floating:t,strategy:i}):x.rects),({x:d,y:h}=Ht(c,v,s))),l=-1)}return{x:d,y:h,placement:v,strategy:i,middlewareData:u}})(e,t,{...i,platform:o})};class _l extends Oe{constructor(){super(...arguments),this.myDropdown=Xe(),this.dropdownMenuId=function(e="",t=""){return`id-${Math.random().toString().substring(2,6)}-sgds-${e}-${t}`}("dropdown-menu","div"),this.noFlip=!1,this.menuAlignRight=!1,this.drop="down",this.floatingOpts={},this.menuIsOpen=!1,this.close="default",this.disabled=!1,this.readonly=!1,this.menuRef=Xe(),this._handleClickOutOfElement=e=>{this.menuIsOpen&&(e.composedPath().includes(this)||this.hideMenu(!0))}}connectedCallback(){super.connectedCallback(),"inside"!==this.close&&document.addEventListener("click",this._handleClickOutOfElement),this.addEventListener("keydown",this._handleKeyboardMenuEvent)}disconnectedCallback(){super.disconnectedCallback(),document.removeEventListener("click",this._handleClickOutOfElement),this.removeEventListener("keydown",this._handleKeyboardMenuEvent),this._cleanupAutoUpdate&&(this._cleanupAutoUpdate(),this._cleanupAutoUpdate=void 0)}firstUpdated(e){super.firstUpdated(e),this.menuIsOpen&&this.updateFloatingPosition()}async showMenu(){this.disabled||this.menuIsOpen||(this.menuIsOpen=!0,this.emit("sgds-show"),await this.updateFloatingPosition(),this.emit("sgds-after-show"),this.myDropdown.value&&this.menuRef.value&&(this._cleanupAutoUpdate=Zl(this.myDropdown.value,this.menuRef.value,()=>this.updateFloatingPosition())))}hideMenu(e){this.menuIsOpen&&(this.emit("sgds-hide",{detail:{isOutside:e}}),this.menuIsOpen=!1,setTimeout(()=>this.emit("sgds-after-hide"),0),this._cleanupAutoUpdate&&(this._cleanupAutoUpdate(),this._cleanupAutoUpdate=void 0))}toggleMenu(){this.menuIsOpen?this.hideMenu():this.showMenu()}_handleKeyboardMenuEvent(e){if(!this.readonly)switch(e.key){case"ArrowDown":case"ArrowUp":e.preventDefault(),this.menuIsOpen||this.showMenu();break;case"Escape":this.hideMenu()}}mergeMiddleware(e,t){const l=e=>{var t;return(null==e?void 0:e.name)||(null===(t=null==e?void 0:e.constructor)||void 0===t?void 0:t.name)},a=t.map(l),i=e.map(e=>{const i=l(e),o=a.indexOf(i);return-1!==o?t[o]:e}).concat(t.filter(t=>!e.some(e=>l(e)===l(t))));return i}async updateFloatingPosition(){if(!this.myDropdown.value||!this.menuRef.value)return;let e="bottom-start";switch(this.drop){case"up":e=this.menuAlignRight?"top-end":"top-start";break;case"right":e="right-start";break;case"left":e="left-start";break;case"down":e=this.menuAlignRight?"bottom-end":"bottom-start";break;default:e="bottom-start"}const t=[Cl(8),this.noFlip?void 0:bl(),Ml()].filter(Boolean);let l=t;Array.isArray(this.floatingOpts.middleware)&&this.floatingOpts.middleware.length>0&&(l=this.mergeMiddleware(t,this.floatingOpts.middleware.filter(Boolean)));const a=Object.assign(Object.assign({strategy:"fixed",placement:e},this.floatingOpts),{middleware:l}),{x:i,y:o,strategy:n,placement:r}=await yl(this.myDropdown.value,this.menuRef.value,a);this.menuRef.value.setAttribute("data-placement",r),Object.assign(this.menuRef.value.style,{position:n,left:`${i}px`,top:`${o}px`})}}e([k({type:Boolean,state:!0})],_l.prototype,"noFlip",void 0),e([k({type:Boolean,reflect:!0,state:!0})],_l.prototype,"menuAlignRight",void 0),e([k({type:String,reflect:!0,state:!0})],_l.prototype,"drop",void 0),e([k({type:Object})],_l.prototype,"floatingOpts",void 0),e([k({type:Boolean,reflect:!0})],_l.prototype,"menuIsOpen",void 0),e([k({type:Boolean,reflect:!0})],_l.prototype,"disabled",void 0),e([k({type:Boolean,reflect:!0})],_l.prototype,"readonly",void 0);class Vl extends _l{constructor(){super(...arguments),this.nextDropdownItemNo=0,this.prevDropdownItemNo=-1,this.hidden=!1}connectedCallback(){super.connectedCallback(),this.addEventListener("sgds-hide",this._resetMenu)}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener("sgds-hide",this._resetMenu)}firstUpdated(e){super.firstUpdated(e),this.addEventListener("keydown",this._handleKeyboardMenuItemsEvent)}handleSelectSlot(e){const t=this._getActiveMenuItems(),l=t.indexOf(e.target);this.nextDropdownItemNo=l+1,this.prevDropdownItemNo=l<=0?t.length-1:l-1;const a=e.target;a.disabled||(this.emit("sgds-select",{detail:{item:a}}),"outside"!==this.close&&this.hideMenu())}_resetMenu(){this.nextDropdownItemNo=0,this.prevDropdownItemNo=-1;this._getMenuItems().forEach(e=>{var t;const l=null===(t=null==e?void 0:e.shadowRoot)||void 0===t?void 0:t.querySelector(".dropdown-item");l&&l.removeAttribute("tabindex")})}_handleKeyboardMenuItemsEvent(e){if(this.readonly)return;const t=this._getActiveMenuItems();if(0!==t.length)switch(e.key){case"ArrowDown":e.preventDefault(),this._setMenuItem(this.nextDropdownItemNo);break;case"ArrowUp":e.preventDefault(),this._setMenuItem(this.prevDropdownItemNo);break;case"Tab":if(!this.menuIsOpen)return;e.preventDefault(),e.shiftKey?this._setMenuItem(this.prevDropdownItemNo):this._setMenuItem(this.nextDropdownItemNo);break;case"Enter":t.includes(e.target)&&this.handleSelectSlot(e)}}_getMenuItems(){var e,t;if(this.shadowRoot.querySelector("slot#default")){return null===(e=this.shadowRoot.querySelector("slot#default"))||void 0===e?void 0:e.assignedElements({flatten:!0}).filter(e=>!e.classList.contains("empty-menu")&&!e.hasAttribute("hidden"))}if(null===(t=this.menu)||void 0===t?void 0:t.hasChildNodes()){return[...Array.from(this.menu.children)]}return[]}_getActiveMenuItems(){return this._getMenuItems().filter(e=>!e.disabled&&!e.hidden)}_setMenuItem(e){const t=this._getActiveMenuItems();if(0===t.length)return;const l=(e%t.length+t.length)%t.length,a=t[l];this.emit("i-sgds-option-focus",{detail:{option:a}}),this.nextDropdownItemNo=(l+1)%t.length,this.prevDropdownItemNo=(l-1+t.length)%t.length,t.forEach(e=>{const t=e.shadowRoot.querySelector(".dropdown-item");t.setAttribute("tabindex",e===a?"0":"-1"),e===a&&t.focus()})}}Vl.styles=_l.styles,e([S("ul.dropdown-menu")],Vl.prototype,"menu",void 0),e([B()],Vl.prototype,"nextDropdownItemNo",void 0),e([B()],Vl.prototype,"prevDropdownItemNo",void 0),e([k({type:Boolean,reflect:!0})],Vl.prototype,"hidden",void 0);var Hl=n`:host([menuisopen]) .dropdown-menu{display:block}.dropdown-menu{background-clip:padding-box;background-color:var(--sgds-surface-default);border-radius:var(--sgds-border-radius-md);box-shadow:0 0 1px 0 hsla(0,0%,5%,.12),0 4px 8px 0 hsla(0,0%,5%,.12);color:var(--sgds-color-default);display:none;list-style:none;margin:0;max-height:var(--sgds-dimension-480);min-width:var(--sgds-dimension-280);overflow-y:auto;padding:var(--sgds-padding-xs) 0;position:absolute;text-align:left;z-index:1050}.nav-tabs .dropdown-menu{border-top-left-radius:0;border-top-right-radius:0;margin-top:calc(var(--sgds-nav-tabs-border-width)*-1)}@media (min-width:512px){.navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}}@media (min-width:768px){.navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}}@media (min-width:1024px){.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}}@media (min-width:1280px){.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}}@media (min-width:1440px){.navbar-expand-xxl .navbar-nav .dropdown-menu{position:absolute}}.navbar-expand .navbar-nav .dropdown-menu{position:absolute}.sgds.navbar .dropdown-menu.megamenu{left:0;right:0;width:100%}.sgds.combobox>.dropdown-menu{min-width:100%}`,kl=n`.dropdown{display:flex;height:inherit;position:relative}`;class Bl extends Vl{constructor(){super(),this.noFlip=!1,this.menuAlignRight=!1,this.drop="down",this.menuRef=et()}async _handleClick(){this.disabled||this.toggleMenu()}_handleCloseMenu(){const e=this._toggler[0];null==e||e.focus()}async connectedCallback(){super.connectedCallback(),this.addEventListener("sgds-hide",this._handleCloseMenu)}async disconnectedCallback(){this.removeEventListener("sgds-hide",this._handleCloseMenu)}async firstUpdated(e){super.firstUpdated(e),this.menuIsOpen&&await this.showMenu(),this._handleDisabled()}_handleDisabled(){const e=this._toggler[0];e&&(this.disabled?e.setAttribute("disabled","true"):e.hasAttribute("disabled")&&e.removeAttribute("disabled"))}render(){return se`
|
|
75
|
+
*/const Xe=()=>new Ge;class Ge{}const Qe=new WeakMap;const et=Ie(class extends Ye{render(e){return he}update(e,[t]){const l=t!==this._ref;return l&&void 0!==this._ref&&this._updateRefValue(void 0),(l||this._lastElementForRef!==this._element)&&(this._ref=t,this._context=e.options?.host,this._updateRefValue(this._element=e.element)),he}_updateRefValue(e){if(this.isConnected||(e=void 0),"function"==typeof this._ref){const t=this._context??globalThis;let l=Qe.get(t);void 0===l&&(l=new WeakMap,Qe.set(t,l)),void 0!==l.get(this._ref)&&this._ref.call(this._context,void 0),l.set(this._ref,e),void 0!==e&&this._ref.call(this._context,e)}else this._ref.value=e}get _lastElementForRef(){return"function"==typeof this._ref?Qe.get(this._context??globalThis)?.get(this._ref):this._ref?.value}disconnected(){this._lastElementForRef===this._element&&this._updateRefValue(void 0)}reconnected(){this._updateRefValue(this._element)}}),tt=Math.min,lt=Math.max,at=Math.round,it=Math.floor,ot=e=>({x:e,y:e}),nt={left:"right",right:"left",bottom:"top",top:"bottom"},rt={start:"end",end:"start"};function st(e,t,l){return lt(e,tt(t,l))}function ct(e,t){return"function"==typeof e?e(t):e}function dt(e){return e.split("-")[0]}function ht(e){return e.split("-")[1]}function vt(e){return"x"===e?"y":"x"}function ut(e){return"y"===e?"height":"width"}const pt=new Set(["top","bottom"]);function gt(e){return pt.has(dt(e))?"y":"x"}function wt(e){return vt(gt(e))}function ft(e,t,l){void 0===l&&(l=!1);const a=ht(e),i=wt(e),o=ut(i);let n="x"===i?a===(l?"end":"start")?"right":"left":"start"===a?"bottom":"top";return t.reference[o]>t.floating[o]&&(n=yt(n)),[n,yt(n)]}function mt(e){return e.replace(/start|end/g,e=>rt[e])}const xt=["left","right"],Zt=["right","left"],Ct=["top","bottom"],Mt=["bottom","top"];function bt(e,t,l,a){const i=ht(e);let o=function(e,t,l){switch(e){case"top":case"bottom":return l?t?Zt:xt:t?xt:Zt;case"left":case"right":return t?Ct:Mt;default:return[]}}(dt(e),"start"===l,a);return i&&(o=o.map(e=>e+"-"+i),t&&(o=o.concat(o.map(mt)))),o}function yt(e){return e.replace(/left|right|bottom|top/g,e=>nt[e])}function _t(e){return"number"!=typeof e?function(e){return{top:0,right:0,bottom:0,left:0,...e}}(e):{top:e,right:e,bottom:e,left:e}}function Vt(e){const{x:t,y:l,width:a,height:i}=e;return{width:a,height:i,top:l,left:t,right:t+a,bottom:l+i,x:t,y:l}}function Ht(e,t,l){let{reference:a,floating:i}=e;const o=gt(t),n=wt(t),r=ut(n),s=dt(t),c="y"===o,d=a.x+a.width/2-i.width/2,h=a.y+a.height/2-i.height/2,v=a[r]/2-i[r]/2;let u;switch(s){case"top":u={x:d,y:a.y-i.height};break;case"bottom":u={x:d,y:a.y+a.height};break;case"right":u={x:a.x+a.width,y:h};break;case"left":u={x:a.x-i.width,y:h};break;default:u={x:a.x,y:a.y}}switch(ht(t)){case"start":u[n]-=v*(l&&c?-1:1);break;case"end":u[n]+=v*(l&&c?-1:1)}return u}async function kt(e,t){var l;void 0===t&&(t={});const{x:a,y:i,platform:o,rects:n,elements:r,strategy:s}=e,{boundary:c="clippingAncestors",rootBoundary:d="viewport",elementContext:h="floating",altBoundary:v=!1,padding:u=0}=ct(t,e),p=_t(u),g=r[v?"floating"===h?"reference":"floating":h],w=Vt(await o.getClippingRect({element:null==(l=await(null==o.isElement?void 0:o.isElement(g)))||l?g:g.contextElement||await(null==o.getDocumentElement?void 0:o.getDocumentElement(r.floating)),boundary:c,rootBoundary:d,strategy:s})),f="floating"===h?{x:a,y:i,width:n.floating.width,height:n.floating.height}:n.reference,m=await(null==o.getOffsetParent?void 0:o.getOffsetParent(r.floating)),x=await(null==o.isElement?void 0:o.isElement(m))&&await(null==o.getScale?void 0:o.getScale(m))||{x:1,y:1},Z=Vt(o.convertOffsetParentRelativeRectToViewportRelativeRect?await o.convertOffsetParentRelativeRectToViewportRelativeRect({elements:r,rect:f,offsetParent:m,strategy:s}):f);return{top:(w.top-Z.top+p.top)/x.y,bottom:(Z.bottom-w.bottom+p.bottom)/x.y,left:(w.left-Z.left+p.left)/x.x,right:(Z.right-w.right+p.right)/x.x}}const Bt=new Set(["left","top"]);function At(){return"undefined"!=typeof window}function $t(e){return Et(e)?(e.nodeName||"").toLowerCase():"#document"}function St(e){var t;return(null==e||null==(t=e.ownerDocument)?void 0:t.defaultView)||window}function Lt(e){var t;return null==(t=(Et(e)?e.ownerDocument:e.document)||window.document)?void 0:t.documentElement}function Et(e){return!!At()&&(e instanceof Node||e instanceof St(e).Node)}function Pt(e){return!!At()&&(e instanceof Element||e instanceof St(e).Element)}function Tt(e){return!!At()&&(e instanceof HTMLElement||e instanceof St(e).HTMLElement)}function zt(e){return!(!At()||"undefined"==typeof ShadowRoot)&&(e instanceof ShadowRoot||e instanceof St(e).ShadowRoot)}const Ot=new Set(["inline","contents"]);function Rt(e){const{overflow:t,overflowX:l,overflowY:a,display:i}=Xt(e);return/auto|scroll|overlay|hidden|clip/.test(t+a+l)&&!Ot.has(i)}const Dt=new Set(["table","td","th"]);function Nt(e){return Dt.has($t(e))}const It=[":popover-open",":modal"];function Ut(e){return It.some(t=>{try{return e.matches(t)}catch(e){return!1}})}const Wt=["transform","translate","scale","rotate","perspective"],Ft=["transform","translate","scale","rotate","perspective","filter"],qt=["paint","layout","strict","content"];function jt(e){const t=Kt(),l=Pt(e)?Xt(e):e;return Wt.some(e=>!!l[e]&&"none"!==l[e])||!!l.containerType&&"normal"!==l.containerType||!t&&!!l.backdropFilter&&"none"!==l.backdropFilter||!t&&!!l.filter&&"none"!==l.filter||Ft.some(e=>(l.willChange||"").includes(e))||qt.some(e=>(l.contain||"").includes(e))}function Kt(){return!("undefined"==typeof CSS||!CSS.supports)&&CSS.supports("-webkit-backdrop-filter","none")}const Jt=new Set(["html","body","#document"]);function Yt(e){return Jt.has($t(e))}function Xt(e){return St(e).getComputedStyle(e)}function Gt(e){return Pt(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function Qt(e){if("html"===$t(e))return e;const t=e.assignedSlot||e.parentNode||zt(e)&&e.host||Lt(e);return zt(t)?t.host:t}function el(e){const t=Qt(e);return Yt(t)?e.ownerDocument?e.ownerDocument.body:e.body:Tt(t)&&Rt(t)?t:el(t)}function tl(e,t,l){var a;void 0===t&&(t=[]),void 0===l&&(l=!0);const i=el(e),o=i===(null==(a=e.ownerDocument)?void 0:a.body),n=St(i);if(o){const e=ll(n);return t.concat(n,n.visualViewport||[],Rt(i)?i:[],e&&l?tl(e):[])}return t.concat(i,tl(i,[],l))}function ll(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function al(e){const t=Xt(e);let l=parseFloat(t.width)||0,a=parseFloat(t.height)||0;const i=Tt(e),o=i?e.offsetWidth:l,n=i?e.offsetHeight:a,r=at(l)!==o||at(a)!==n;return r&&(l=o,a=n),{width:l,height:a,$:r}}function il(e){return Pt(e)?e:e.contextElement}function ol(e){const t=il(e);if(!Tt(t))return ot(1);const l=t.getBoundingClientRect(),{width:a,height:i,$:o}=al(t);let n=(o?at(l.width):l.width)/a,r=(o?at(l.height):l.height)/i;return n&&Number.isFinite(n)||(n=1),r&&Number.isFinite(r)||(r=1),{x:n,y:r}}const nl=ot(0);function rl(e){const t=St(e);return Kt()&&t.visualViewport?{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}:nl}function sl(e,t,l,a){void 0===t&&(t=!1),void 0===l&&(l=!1);const i=e.getBoundingClientRect(),o=il(e);let n=ot(1);t&&(a?Pt(a)&&(n=ol(a)):n=ol(e));const r=function(e,t,l){return void 0===t&&(t=!1),!(!l||t&&l!==St(e))&&t}(o,l,a)?rl(o):ot(0);let s=(i.left+r.x)/n.x,c=(i.top+r.y)/n.y,d=i.width/n.x,h=i.height/n.y;if(o){const e=St(o),t=a&&Pt(a)?St(a):a;let l=e,i=ll(l);for(;i&&a&&t!==l;){const e=ol(i),t=i.getBoundingClientRect(),a=Xt(i),o=t.left+(i.clientLeft+parseFloat(a.paddingLeft))*e.x,n=t.top+(i.clientTop+parseFloat(a.paddingTop))*e.y;s*=e.x,c*=e.y,d*=e.x,h*=e.y,s+=o,c+=n,l=St(i),i=ll(l)}}return Vt({width:d,height:h,x:s,y:c})}function cl(e,t){const l=Gt(e).scrollLeft;return t?t.left+l:sl(Lt(e)).left+l}function dl(e,t){const l=e.getBoundingClientRect();return{x:l.left+t.scrollLeft-cl(e,l),y:l.top+t.scrollTop}}const hl=new Set(["absolute","fixed"]);function vl(e,t,l){let a;if("viewport"===t)a=function(e,t){const l=St(e),a=Lt(e),i=l.visualViewport;let o=a.clientWidth,n=a.clientHeight,r=0,s=0;if(i){o=i.width,n=i.height;const e=Kt();(!e||e&&"fixed"===t)&&(r=i.offsetLeft,s=i.offsetTop)}const c=cl(a);if(c<=0){const e=a.ownerDocument,t=e.body,l=getComputedStyle(t),i="CSS1Compat"===e.compatMode&&parseFloat(l.marginLeft)+parseFloat(l.marginRight)||0,n=Math.abs(a.clientWidth-t.clientWidth-i);n<=25&&(o-=n)}else c<=25&&(o+=c);return{width:o,height:n,x:r,y:s}}(e,l);else if("document"===t)a=function(e){const t=Lt(e),l=Gt(e),a=e.ownerDocument.body,i=lt(t.scrollWidth,t.clientWidth,a.scrollWidth,a.clientWidth),o=lt(t.scrollHeight,t.clientHeight,a.scrollHeight,a.clientHeight);let n=-l.scrollLeft+cl(e);const r=-l.scrollTop;return"rtl"===Xt(a).direction&&(n+=lt(t.clientWidth,a.clientWidth)-i),{width:i,height:o,x:n,y:r}}(Lt(e));else if(Pt(t))a=function(e,t){const l=sl(e,!0,"fixed"===t),a=l.top+e.clientTop,i=l.left+e.clientLeft,o=Tt(e)?ol(e):ot(1);return{width:e.clientWidth*o.x,height:e.clientHeight*o.y,x:i*o.x,y:a*o.y}}(t,l);else{const l=rl(e);a={x:t.x-l.x,y:t.y-l.y,width:t.width,height:t.height}}return Vt(a)}function ul(e,t){const l=Qt(e);return!(l===t||!Pt(l)||Yt(l))&&("fixed"===Xt(l).position||ul(l,t))}function pl(e,t,l){const a=Tt(t),i=Lt(t),o="fixed"===l,n=sl(e,!0,o,t);let r={scrollLeft:0,scrollTop:0};const s=ot(0);function c(){s.x=cl(i)}if(a||!a&&!o)if(("body"!==$t(t)||Rt(i))&&(r=Gt(t)),a){const e=sl(t,!0,o,t);s.x=e.x+t.clientLeft,s.y=e.y+t.clientTop}else i&&c();o&&!a&&i&&c();const d=!i||a||o?ot(0):dl(i,r);return{x:n.left+r.scrollLeft-s.x-d.x,y:n.top+r.scrollTop-s.y-d.y,width:n.width,height:n.height}}function gl(e){return"static"===Xt(e).position}function wl(e,t){if(!Tt(e)||"fixed"===Xt(e).position)return null;if(t)return t(e);let l=e.offsetParent;return Lt(e)===l&&(l=l.ownerDocument.body),l}function fl(e,t){const l=St(e);if(Ut(e))return l;if(!Tt(e)){let t=Qt(e);for(;t&&!Yt(t);){if(Pt(t)&&!gl(t))return t;t=Qt(t)}return l}let a=wl(e,t);for(;a&&Nt(a)&&gl(a);)a=wl(a,t);return a&&Yt(a)&&gl(a)&&!jt(a)?l:a||function(e){let t=Qt(e);for(;Tt(t)&&!Yt(t);){if(jt(t))return t;if(Ut(t))return null;t=Qt(t)}return null}(e)||l}const ml={convertOffsetParentRelativeRectToViewportRelativeRect:function(e){let{elements:t,rect:l,offsetParent:a,strategy:i}=e;const o="fixed"===i,n=Lt(a),r=!!t&&Ut(t.floating);if(a===n||r&&o)return l;let s={scrollLeft:0,scrollTop:0},c=ot(1);const d=ot(0),h=Tt(a);if((h||!h&&!o)&&(("body"!==$t(a)||Rt(n))&&(s=Gt(a)),Tt(a))){const e=sl(a);c=ol(a),d.x=e.x+a.clientLeft,d.y=e.y+a.clientTop}const v=!n||h||o?ot(0):dl(n,s);return{width:l.width*c.x,height:l.height*c.y,x:l.x*c.x-s.scrollLeft*c.x+d.x+v.x,y:l.y*c.y-s.scrollTop*c.y+d.y+v.y}},getDocumentElement:Lt,getClippingRect:function(e){let{element:t,boundary:l,rootBoundary:a,strategy:i}=e;const o=[..."clippingAncestors"===l?Ut(t)?[]:function(e,t){const l=t.get(e);if(l)return l;let a=tl(e,[],!1).filter(e=>Pt(e)&&"body"!==$t(e)),i=null;const o="fixed"===Xt(e).position;let n=o?Qt(e):e;for(;Pt(n)&&!Yt(n);){const t=Xt(n),l=jt(n);l||"fixed"!==t.position||(i=null),(o?!l&&!i:!l&&"static"===t.position&&i&&hl.has(i.position)||Rt(n)&&!l&&ul(e,n))?a=a.filter(e=>e!==n):i=t,n=Qt(n)}return t.set(e,a),a}(t,this._c):[].concat(l),a],n=o[0],r=o.reduce((e,l)=>{const a=vl(t,l,i);return e.top=lt(a.top,e.top),e.right=tt(a.right,e.right),e.bottom=tt(a.bottom,e.bottom),e.left=lt(a.left,e.left),e},vl(t,n,i));return{width:r.right-r.left,height:r.bottom-r.top,x:r.left,y:r.top}},getOffsetParent:fl,getElementRects:async function(e){const t=this.getOffsetParent||fl,l=this.getDimensions,a=await l(e.floating);return{reference:pl(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:a.width,height:a.height}}},getClientRects:function(e){return Array.from(e.getClientRects())},getDimensions:function(e){const{width:t,height:l}=al(e);return{width:t,height:l}},getScale:ol,isElement:Pt,isRTL:function(e){return"rtl"===Xt(e).direction}};function xl(e,t){return e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height}function Zl(e,t,l,a){void 0===a&&(a={});const{ancestorScroll:i=!0,ancestorResize:o=!0,elementResize:n="function"==typeof ResizeObserver,layoutShift:r="function"==typeof IntersectionObserver,animationFrame:s=!1}=a,c=il(e),d=i||o?[...c?tl(c):[],...tl(t)]:[];d.forEach(e=>{i&&e.addEventListener("scroll",l,{passive:!0}),o&&e.addEventListener("resize",l)});const h=c&&r?function(e,t){let l,a=null;const i=Lt(e);function o(){var e;clearTimeout(l),null==(e=a)||e.disconnect(),a=null}return function n(r,s){void 0===r&&(r=!1),void 0===s&&(s=1),o();const c=e.getBoundingClientRect(),{left:d,top:h,width:v,height:u}=c;if(r||t(),!v||!u)return;const p={rootMargin:-it(h)+"px "+-it(i.clientWidth-(d+v))+"px "+-it(i.clientHeight-(h+u))+"px "+-it(d)+"px",threshold:lt(0,tt(1,s))||1};let g=!0;function w(t){const a=t[0].intersectionRatio;if(a!==s){if(!g)return n();a?n(!1,a):l=setTimeout(()=>{n(!1,1e-7)},1e3)}1!==a||xl(c,e.getBoundingClientRect())||n(),g=!1}try{a=new IntersectionObserver(w,{...p,root:i.ownerDocument})}catch(e){a=new IntersectionObserver(w,p)}a.observe(e)}(!0),o}(c,l):null;let v,u=-1,p=null;n&&(p=new ResizeObserver(e=>{let[a]=e;a&&a.target===c&&p&&(p.unobserve(t),cancelAnimationFrame(u),u=requestAnimationFrame(()=>{var e;null==(e=p)||e.observe(t)})),l()}),c&&!s&&p.observe(c),p.observe(t));let g=s?sl(e):null;return s&&function t(){const a=sl(e);g&&!xl(g,a)&&l();g=a,v=requestAnimationFrame(t)}(),l(),()=>{var e;d.forEach(e=>{i&&e.removeEventListener("scroll",l),o&&e.removeEventListener("resize",l)}),null==h||h(),null==(e=p)||e.disconnect(),p=null,s&&cancelAnimationFrame(v)}}const Cl=function(e){return void 0===e&&(e=0),{name:"offset",options:e,async fn(t){var l,a;const{x:i,y:o,placement:n,middlewareData:r}=t,s=await async function(e,t){const{placement:l,platform:a,elements:i}=e,o=await(null==a.isRTL?void 0:a.isRTL(i.floating)),n=dt(l),r=ht(l),s="y"===gt(l),c=Bt.has(n)?-1:1,d=o&&s?-1:1,h=ct(t,e);let{mainAxis:v,crossAxis:u,alignmentAxis:p}="number"==typeof h?{mainAxis:h,crossAxis:0,alignmentAxis:null}:{mainAxis:h.mainAxis||0,crossAxis:h.crossAxis||0,alignmentAxis:h.alignmentAxis};return r&&"number"==typeof p&&(u="end"===r?-1*p:p),s?{x:u*d,y:v*c}:{x:v*c,y:u*d}}(t,e);return n===(null==(l=r.offset)?void 0:l.placement)&&null!=(a=r.arrow)&&a.alignmentOffset?{}:{x:i+s.x,y:o+s.y,data:{...s,placement:n}}}}},Ml=function(e){return void 0===e&&(e={}),{name:"shift",options:e,async fn(t){const{x:l,y:a,placement:i}=t,{mainAxis:o=!0,crossAxis:n=!1,limiter:r={fn:e=>{let{x:t,y:l}=e;return{x:t,y:l}}},...s}=ct(e,t),c={x:l,y:a},d=await kt(t,s),h=gt(dt(i)),v=vt(h);let u=c[v],p=c[h];if(o){const e="y"===v?"bottom":"right";u=st(u+d["y"===v?"top":"left"],u,u-d[e])}if(n){const e="y"===h?"bottom":"right";p=st(p+d["y"===h?"top":"left"],p,p-d[e])}const g=r.fn({...t,[v]:u,[h]:p});return{...g,data:{x:g.x-l,y:g.y-a,enabled:{[v]:o,[h]:n}}}}}},bl=function(e){return void 0===e&&(e={}),{name:"flip",options:e,async fn(t){var l,a;const{placement:i,middlewareData:o,rects:n,initialPlacement:r,platform:s,elements:c}=t,{mainAxis:d=!0,crossAxis:h=!0,fallbackPlacements:v,fallbackStrategy:u="bestFit",fallbackAxisSideDirection:p="none",flipAlignment:g=!0,...w}=ct(e,t);if(null!=(l=o.arrow)&&l.alignmentOffset)return{};const f=dt(i),m=gt(r),x=dt(r)===r,Z=await(null==s.isRTL?void 0:s.isRTL(c.floating)),C=v||(x||!g?[yt(r)]:function(e){const t=yt(e);return[mt(e),t,mt(t)]}(r)),M="none"!==p;!v&&M&&C.push(...bt(r,g,p,Z));const b=[r,...C],y=await kt(t,w),_=[];let V=(null==(a=o.flip)?void 0:a.overflows)||[];if(d&&_.push(y[f]),h){const e=ft(i,n,Z);_.push(y[e[0]],y[e[1]])}if(V=[...V,{placement:i,overflows:_}],!_.every(e=>e<=0)){var H,k;const e=((null==(H=o.flip)?void 0:H.index)||0)+1,t=b[e];if(t){if(!("alignment"===h&&m!==gt(t))||V.every(e=>gt(e.placement)!==m||e.overflows[0]>0))return{data:{index:e,overflows:V},reset:{placement:t}}}let l=null==(k=V.filter(e=>e.overflows[0]<=0).sort((e,t)=>e.overflows[1]-t.overflows[1])[0])?void 0:k.placement;if(!l)switch(u){case"bestFit":{var B;const e=null==(B=V.filter(e=>{if(M){const t=gt(e.placement);return t===m||"y"===t}return!0}).map(e=>[e.placement,e.overflows.filter(e=>e>0).reduce((e,t)=>e+t,0)]).sort((e,t)=>e[1]-t[1])[0])?void 0:B[0];e&&(l=e);break}case"initialPlacement":l=r}if(i!==l)return{reset:{placement:l}}}return{}}}},yl=(e,t,l)=>{const a=new Map,i={platform:ml,...l},o={...i.platform,_c:a};return(async(e,t,l)=>{const{placement:a="bottom",strategy:i="absolute",middleware:o=[],platform:n}=l,r=o.filter(Boolean),s=await(null==n.isRTL?void 0:n.isRTL(t));let c=await n.getElementRects({reference:e,floating:t,strategy:i}),{x:d,y:h}=Ht(c,a,s),v=a,u={},p=0;for(let l=0;l<r.length;l++){const{name:o,fn:g}=r[l],{x:w,y:f,data:m,reset:x}=await g({x:d,y:h,initialPlacement:a,placement:v,strategy:i,middlewareData:u,rects:c,platform:n,elements:{reference:e,floating:t}});d=null!=w?w:d,h=null!=f?f:h,u={...u,[o]:{...u[o],...m}},x&&p<=50&&(p++,"object"==typeof x&&(x.placement&&(v=x.placement),x.rects&&(c=!0===x.rects?await n.getElementRects({reference:e,floating:t,strategy:i}):x.rects),({x:d,y:h}=Ht(c,v,s))),l=-1)}return{x:d,y:h,placement:v,strategy:i,middlewareData:u}})(e,t,{...i,platform:o})};class _l extends Oe{constructor(){super(...arguments),this.myDropdown=Xe(),this.dropdownMenuId=function(e="",t=""){return`id-${Math.random().toString().substring(2,6)}-sgds-${e}-${t}`}("dropdown-menu","div"),this.noFlip=!1,this.menuAlignRight=!1,this.drop="down",this.floatingOpts={},this.menuIsOpen=!1,this.close="default",this.disabled=!1,this.readonly=!1,this.menuRef=Xe(),this._handleClickOutOfElement=e=>{this.menuIsOpen&&(e.composedPath().includes(this)||this.hideMenu(!0))}}connectedCallback(){super.connectedCallback(),"inside"!==this.close&&document.addEventListener("click",this._handleClickOutOfElement),this.addEventListener("keydown",this._handleKeyboardMenuEvent)}disconnectedCallback(){super.disconnectedCallback(),document.removeEventListener("click",this._handleClickOutOfElement),this.removeEventListener("keydown",this._handleKeyboardMenuEvent),this._cleanupAutoUpdate&&(this._cleanupAutoUpdate(),this._cleanupAutoUpdate=void 0)}firstUpdated(e){super.firstUpdated(e),this.menuIsOpen&&requestAnimationFrame(async()=>{await this.updateFloatingPosition(),this._startAutoUpdate()})}async showMenu(){this.disabled||this.menuIsOpen||(this.menuIsOpen=!0,this.emit("sgds-show"),await this.updateFloatingPosition(),this.emit("sgds-after-show"),this._startAutoUpdate())}_startAutoUpdate(){this.myDropdown.value&&this.menuRef.value&&(this._cleanupAutoUpdate=Zl(this.myDropdown.value,this.menuRef.value,()=>this.updateFloatingPosition()))}hideMenu(e){this.menuIsOpen&&(this.emit("sgds-hide",{detail:{isOutside:e}}),this.menuIsOpen=!1,setTimeout(()=>this.emit("sgds-after-hide"),0),this._cleanupAutoUpdate&&(this._cleanupAutoUpdate(),this._cleanupAutoUpdate=void 0))}toggleMenu(){this.menuIsOpen?this.hideMenu():this.showMenu()}_handleKeyboardMenuEvent(e){if(!this.readonly)switch(e.key){case"ArrowDown":case"ArrowUp":e.preventDefault(),this.menuIsOpen||this.showMenu();break;case"Escape":this.hideMenu()}}mergeMiddleware(e,t){const l=e=>{var t;return(null==e?void 0:e.name)||(null===(t=null==e?void 0:e.constructor)||void 0===t?void 0:t.name)},a=t.map(l),i=e.map(e=>{const i=l(e),o=a.indexOf(i);return-1!==o?t[o]:e}).concat(t.filter(t=>!e.some(e=>l(e)===l(t))));return i}async updateFloatingPosition(){if(!this.myDropdown.value||!this.menuRef.value)return;let e="bottom-start";switch(this.drop){case"up":e=this.menuAlignRight?"top-end":"top-start";break;case"right":e="right-start";break;case"left":e="left-start";break;case"down":e=this.menuAlignRight?"bottom-end":"bottom-start";break;default:e="bottom-start"}const t=[Cl(8),this.noFlip?void 0:bl(),Ml()].filter(Boolean);let l=t;Array.isArray(this.floatingOpts.middleware)&&this.floatingOpts.middleware.length>0&&(l=this.mergeMiddleware(t,this.floatingOpts.middleware.filter(Boolean)));const a=Object.assign(Object.assign({strategy:"fixed",placement:e},this.floatingOpts),{middleware:l}),{x:i,y:o,strategy:n,placement:r}=await yl(this.myDropdown.value,this.menuRef.value,a);this.menuRef.value.setAttribute("data-placement",r),Object.assign(this.menuRef.value.style,{position:n,left:`${i}px`,top:`${o}px`})}}e([k({type:Boolean,state:!0})],_l.prototype,"noFlip",void 0),e([k({type:Boolean,reflect:!0,state:!0})],_l.prototype,"menuAlignRight",void 0),e([k({type:String,reflect:!0,state:!0})],_l.prototype,"drop",void 0),e([k({type:Object})],_l.prototype,"floatingOpts",void 0),e([k({type:Boolean,reflect:!0})],_l.prototype,"menuIsOpen",void 0),e([k({type:Boolean,reflect:!0})],_l.prototype,"disabled",void 0),e([k({type:Boolean,reflect:!0})],_l.prototype,"readonly",void 0);class Vl extends _l{constructor(){super(...arguments),this.nextDropdownItemNo=0,this.prevDropdownItemNo=-1,this.hidden=!1}connectedCallback(){super.connectedCallback(),this.addEventListener("sgds-hide",this._resetMenu)}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener("sgds-hide",this._resetMenu)}firstUpdated(e){super.firstUpdated(e),this.addEventListener("keydown",this._handleKeyboardMenuItemsEvent)}handleSelectSlot(e){const t=this._getActiveMenuItems(),l=t.indexOf(e.target);this.nextDropdownItemNo=l+1,this.prevDropdownItemNo=l<=0?t.length-1:l-1;const a=e.target;a.disabled||(this.emit("sgds-select",{detail:{item:a}}),"outside"!==this.close&&this.hideMenu())}_resetMenu(){this.nextDropdownItemNo=0,this.prevDropdownItemNo=-1;this._getMenuItems().forEach(e=>{var t;const l=null===(t=null==e?void 0:e.shadowRoot)||void 0===t?void 0:t.querySelector(".dropdown-item");l&&l.removeAttribute("tabindex")})}_handleKeyboardMenuItemsEvent(e){if(this.readonly)return;const t=this._getActiveMenuItems();if(0!==t.length)switch(e.key){case"ArrowDown":e.preventDefault(),this._setMenuItem(this.nextDropdownItemNo);break;case"ArrowUp":e.preventDefault(),this._setMenuItem(this.prevDropdownItemNo);break;case"Tab":if(!this.menuIsOpen)return;e.preventDefault(),e.shiftKey?this._setMenuItem(this.prevDropdownItemNo):this._setMenuItem(this.nextDropdownItemNo);break;case"Enter":t.includes(e.target)&&this.handleSelectSlot(e)}}_getMenuItems(){var e,t;if(this.shadowRoot.querySelector("slot#default")){return null===(e=this.shadowRoot.querySelector("slot#default"))||void 0===e?void 0:e.assignedElements({flatten:!0}).filter(e=>!e.classList.contains("empty-menu")&&!e.hasAttribute("hidden"))}if(null===(t=this.menu)||void 0===t?void 0:t.hasChildNodes()){return[...Array.from(this.menu.children)]}return[]}_getActiveMenuItems(){return this._getMenuItems().filter(e=>!e.disabled&&!e.hidden)}_setMenuItem(e){const t=this._getActiveMenuItems();if(0===t.length)return;const l=(e%t.length+t.length)%t.length,a=t[l];this.emit("i-sgds-option-focus",{detail:{option:a}}),this.nextDropdownItemNo=(l+1)%t.length,this.prevDropdownItemNo=(l-1+t.length)%t.length,t.forEach(e=>{const t=e.shadowRoot.querySelector(".dropdown-item");t.setAttribute("tabindex",e===a?"0":"-1"),e===a&&t.focus()})}}Vl.styles=_l.styles,e([S("ul.dropdown-menu")],Vl.prototype,"menu",void 0),e([B()],Vl.prototype,"nextDropdownItemNo",void 0),e([B()],Vl.prototype,"prevDropdownItemNo",void 0),e([k({type:Boolean,reflect:!0})],Vl.prototype,"hidden",void 0);var Hl=n`:host([menuisopen]:not([disabled]):not([readonly])) .dropdown-menu{display:block}.dropdown-menu{background-clip:padding-box;background-color:var(--sgds-surface-default);border-radius:var(--sgds-border-radius-md);box-shadow:0 0 1px 0 hsla(0,0%,5%,.12),0 4px 8px 0 hsla(0,0%,5%,.12);color:var(--sgds-color-default);display:none;list-style:none;margin:0;max-height:var(--sgds-dimension-480);min-width:var(--sgds-dimension-280);overflow-y:auto;padding:var(--sgds-padding-xs) 0;position:absolute;text-align:left;z-index:1050}.nav-tabs .dropdown-menu{border-top-left-radius:0;border-top-right-radius:0;margin-top:calc(var(--sgds-nav-tabs-border-width)*-1)}@media (min-width:512px){.navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}}@media (min-width:768px){.navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}}@media (min-width:1024px){.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}}@media (min-width:1280px){.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}}@media (min-width:1440px){.navbar-expand-xxl .navbar-nav .dropdown-menu{position:absolute}}.navbar-expand .navbar-nav .dropdown-menu{position:absolute}.sgds.navbar .dropdown-menu.megamenu{left:0;right:0;width:100%}.sgds.combobox>.dropdown-menu{min-width:100%}`,kl=n`.dropdown{display:flex;height:inherit;position:relative}`;class Bl extends Vl{constructor(){super(),this.noFlip=!1,this.menuAlignRight=!1,this.drop="down",this.menuRef=et()}async _handleClick(){this.disabled||this.toggleMenu()}_handleCloseMenu(){const e=this._toggler[0];null==e||e.focus()}async connectedCallback(){super.connectedCallback(),this.addEventListener("sgds-hide",this._handleCloseMenu)}async disconnectedCallback(){this.removeEventListener("sgds-hide",this._handleCloseMenu)}async firstUpdated(e){super.firstUpdated(e),this.menuIsOpen&&await this.updateFloatingPosition(),this._handleDisabled()}_handleDisabled(){const e=this._toggler[0];e&&(this.disabled?e.setAttribute("disabled","true"):e.hasAttribute("disabled")&&e.removeAttribute("disabled"))}render(){return se`
|
|
76
76
|
<div class="dropdown">
|
|
77
77
|
<div
|
|
78
78
|
class="toggler-container"
|