@govtechsg/sgds-web-component 3.14.1-rc.1 → 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/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 +2 -2
- package/components/Mainnav/index.umd.min.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 +75 -128
- package/components/index.umd.min.js.map +1 -1
- package/css/fouc.css +0 -4
- package/css/utility.css +25 -18
- package/index.d.ts +0 -1
- package/index.js +0 -1
- package/index.js.map +1 -1
- package/index.umd.min.js +63 -194
- 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/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/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/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
|
@@ -41,6 +41,8 @@ export declare class DropdownElement extends SgdsElement {
|
|
|
41
41
|
firstUpdated(changedProperties: PropertyValueMap<this>): void;
|
|
42
42
|
/** When invoked, opens the dropdown menu */
|
|
43
43
|
showMenu(): Promise<void>;
|
|
44
|
+
/** Starts Floating UI's autoUpdate loop, recomputing menu position on scroll, resize, or ancestor layout changes. Stores the cleanup function to stop tracking when the menu closes. */
|
|
45
|
+
private _startAutoUpdate;
|
|
44
46
|
/** When invoked, hides the dropdown menu */
|
|
45
47
|
hideMenu(isOutside?: boolean): void;
|
|
46
48
|
toggleMenu(): void;
|
package/base/dropdown-element.js
CHANGED
|
@@ -66,9 +66,11 @@ class DropdownElement extends SgdsElement {
|
|
|
66
66
|
}
|
|
67
67
|
firstUpdated(changedProperties) {
|
|
68
68
|
super.firstUpdated(changedProperties);
|
|
69
|
-
// Optionally open menu on first load
|
|
70
69
|
if (this.menuIsOpen) {
|
|
71
|
-
|
|
70
|
+
requestAnimationFrame(async () => {
|
|
71
|
+
await this.updateFloatingPosition();
|
|
72
|
+
this._startAutoUpdate();
|
|
73
|
+
});
|
|
72
74
|
}
|
|
73
75
|
}
|
|
74
76
|
/** When invoked, opens the dropdown menu */
|
|
@@ -79,6 +81,10 @@ class DropdownElement extends SgdsElement {
|
|
|
79
81
|
this.emit("sgds-show");
|
|
80
82
|
await this.updateFloatingPosition();
|
|
81
83
|
this.emit("sgds-after-show");
|
|
84
|
+
this._startAutoUpdate();
|
|
85
|
+
}
|
|
86
|
+
/** Starts Floating UI's autoUpdate loop, recomputing menu position on scroll, resize, or ancestor layout changes. Stores the cleanup function to stop tracking when the menu closes. */
|
|
87
|
+
_startAutoUpdate() {
|
|
82
88
|
if (this.myDropdown.value && this.menuRef.value) {
|
|
83
89
|
this._cleanupAutoUpdate = autoUpdate(this.myDropdown.value, this.menuRef.value, () => this.updateFloatingPosition());
|
|
84
90
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dropdown-element.js","sources":["../../src/base/dropdown-element.ts"],"sourcesContent":["import { property } from \"lit/decorators.js\";\nimport { Ref, createRef } from \"lit/directives/ref.js\";\nimport { computePosition, flip, shift, offset, Placement, Middleware, autoUpdate, Strategy } from \"@floating-ui/dom\";\nimport SgdsElement from \"./sgds-element\";\nimport generateId from \"../utils/generateId\";\nimport { PropertyValueMap } from \"lit\";\n\nconst ARROW_DOWN = \"ArrowDown\";\nconst ARROW_UP = \"ArrowUp\";\nconst ESC = \"Escape\";\n\nexport type DropDirection = \"left\" | \"right\" | \"up\" | \"down\";\n\n/**\n * @event sgds-show - Emitted event when show instance is called\n * @event sgds-after-show - Emitted event when dropdown has been made visible to the user and CSS transitions have completed\n * @event sgds-hide - Emitted event when hide instance is called\n * @event sgds-after-hide - Emitted event when dropdown has hidden to the user and CSS transitions have completed\n */\n\nexport class DropdownElement extends SgdsElement {\n // static styles = SgdsElement.styles;\n\n /** @internal */\n protected myDropdown: Ref<HTMLElement> = createRef();\n\n /** @internal Unique id generated for the dropdown menu */\n protected dropdownMenuId: string = generateId(\"dropdown-menu\", \"div\");\n\n /** @internal Controls auto-flipping of menu */\n @property({ type: Boolean, state: true })\n protected noFlip = false;\n\n /** @internal When true, aligns right edge of menu with right edge of button */\n @property({ type: Boolean, reflect: true, state: true })\n protected menuAlignRight = false;\n\n /** @internal The drop position of menu relative to the toggle button */\n @property({ type: String, reflect: true, state: true })\n protected drop: DropDirection = \"down\";\n\n /** Additional configuration to pass to Floating UI. */\n @property({ type: Object })\n floatingOpts: { placement?: Placement; middleware?: Array<Middleware> } = {};\n\n /** When true, dropdown menu shows on first load */\n @property({ type: Boolean, reflect: true })\n menuIsOpen = false;\n\n /** Controls the close behaviour of dropdown menu. By default menu auto-closes when SgdsDropdownItem or area outside dropdown is clicked */\n protected close: \"outside\" | \"default\" | \"inside\" = \"default\";\n\n /** Disables the dropdown toggle */\n @property({ type: Boolean, reflect: true })\n disabled = false;\n\n /** Makes the input readonly. */\n @property({ type: Boolean, reflect: true }) readonly = false;\n\n private _cleanupAutoUpdate?: () => void;\n\n /** @internal Reference to the floating menu element */\n protected menuRef: Ref<HTMLElement> = createRef();\n\n connectedCallback() {\n super.connectedCallback();\n\n if (this.close !== \"inside\") {\n document.addEventListener(\"click\", this._handleClickOutOfElement);\n }\n this.addEventListener(\"keydown\", this._handleKeyboardMenuEvent);\n }\n\n disconnectedCallback() {\n super.disconnectedCallback();\n document.removeEventListener(\"click\", this._handleClickOutOfElement);\n this.removeEventListener(\"keydown\", this._handleKeyboardMenuEvent);\n if (this._cleanupAutoUpdate) {\n this._cleanupAutoUpdate();\n this._cleanupAutoUpdate = undefined;\n }\n }\n\n firstUpdated(changedProperties: PropertyValueMap<this>) {\n super.firstUpdated(changedProperties);\n // Optionally open menu on first load\n if (this.menuIsOpen) {\n this.updateFloatingPosition();\n }\n }\n\n /** When invoked, opens the dropdown menu */\n public async showMenu() {\n if (this.disabled || this.menuIsOpen) return;\n this.menuIsOpen = true;\n this.emit(\"sgds-show\");\n await this.updateFloatingPosition();\n this.emit(\"sgds-after-show\");\n\n if (this.myDropdown.value && this.menuRef.value) {\n this._cleanupAutoUpdate = autoUpdate(this.myDropdown.value, this.menuRef.value, () =>\n this.updateFloatingPosition()\n );\n }\n }\n\n /** When invoked, hides the dropdown menu */\n public hideMenu(isOutside?: boolean) {\n if (!this.menuIsOpen) return;\n this.emit(\"sgds-hide\", { detail: { isOutside } });\n\n this.menuIsOpen = false;\n setTimeout(() => this.emit(\"sgds-after-hide\"), 0);\n\n if (this._cleanupAutoUpdate) {\n this._cleanupAutoUpdate();\n this._cleanupAutoUpdate = undefined;\n }\n }\n\n toggleMenu() {\n if (this.menuIsOpen) {\n this.hideMenu();\n } else {\n this.showMenu();\n }\n }\n\n protected _handleKeyboardMenuEvent(e: KeyboardEvent) {\n if (this.readonly) return;\n switch (e.key) {\n case ARROW_DOWN:\n case ARROW_UP:\n e.preventDefault();\n if (!this.menuIsOpen) this.showMenu();\n break;\n case ESC:\n this.hideMenu();\n break;\n default:\n break;\n }\n }\n\n private _handleClickOutOfElement = (e: MouseEvent) => {\n if (!this.menuIsOpen) return;\n if (!e.composedPath().includes(this)) {\n this.hideMenu(true);\n }\n };\n\n protected mergeMiddleware(defaults: Middleware[], custom: Middleware[]): Middleware[] {\n const getType = (mw: Middleware) => mw?.name || mw?.constructor?.name;\n const customTypes = custom.map(getType);\n\n const merged = defaults\n .map(def => {\n const type = getType(def);\n const customIdx = customTypes.indexOf(type);\n return customIdx !== -1 ? custom[customIdx] : def;\n })\n\n .concat(custom.filter(c => !defaults.some(def => getType(def) === getType(c))));\n return merged;\n }\n\n protected async updateFloatingPosition() {\n if (!this.myDropdown.value || !this.menuRef.value) return;\n\n let placement: Placement = \"bottom-start\";\n switch (this.drop) {\n case \"up\":\n placement = this.menuAlignRight ? \"top-end\" : \"top-start\";\n break;\n case \"right\":\n placement = \"right-start\";\n break;\n case \"left\":\n placement = \"left-start\";\n break;\n case \"down\":\n placement = this.menuAlignRight ? \"bottom-end\" : \"bottom-start\";\n break;\n default:\n placement = \"bottom-start\";\n break;\n }\n\n const defaultMiddleware = [offset(8), !this.noFlip ? flip() : undefined, shift()].filter(Boolean);\n\n let middleware = defaultMiddleware;\n if (Array.isArray(this.floatingOpts.middleware) && this.floatingOpts.middleware.length > 0) {\n middleware = this.mergeMiddleware(defaultMiddleware, this.floatingOpts.middleware.filter(Boolean));\n }\n\n const opts = {\n strategy: \"fixed\" as Strategy,\n placement,\n ...this.floatingOpts,\n middleware\n };\n\n const {\n x,\n y,\n strategy,\n placement: computedPlacement\n } = await computePosition(this.myDropdown.value, this.menuRef.value, opts);\n\n this.menuRef.value.setAttribute(\"data-placement\", computedPlacement);\n\n Object.assign(this.menuRef.value.style, {\n position: strategy,\n left: `${x}px`,\n top: `${y}px`\n });\n }\n}\n"],"names":["generateId"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"dropdown-element.js","sources":["../../src/base/dropdown-element.ts"],"sourcesContent":["import { property } from \"lit/decorators.js\";\nimport { Ref, createRef } from \"lit/directives/ref.js\";\nimport { computePosition, flip, shift, offset, Placement, Middleware, autoUpdate, Strategy } from \"@floating-ui/dom\";\nimport SgdsElement from \"./sgds-element\";\nimport generateId from \"../utils/generateId\";\nimport { PropertyValueMap } from \"lit\";\n\nconst ARROW_DOWN = \"ArrowDown\";\nconst ARROW_UP = \"ArrowUp\";\nconst ESC = \"Escape\";\n\nexport type DropDirection = \"left\" | \"right\" | \"up\" | \"down\";\n\n/**\n * @event sgds-show - Emitted event when show instance is called\n * @event sgds-after-show - Emitted event when dropdown has been made visible to the user and CSS transitions have completed\n * @event sgds-hide - Emitted event when hide instance is called\n * @event sgds-after-hide - Emitted event when dropdown has hidden to the user and CSS transitions have completed\n */\n\nexport class DropdownElement extends SgdsElement {\n // static styles = SgdsElement.styles;\n\n /** @internal */\n protected myDropdown: Ref<HTMLElement> = createRef();\n\n /** @internal Unique id generated for the dropdown menu */\n protected dropdownMenuId: string = generateId(\"dropdown-menu\", \"div\");\n\n /** @internal Controls auto-flipping of menu */\n @property({ type: Boolean, state: true })\n protected noFlip = false;\n\n /** @internal When true, aligns right edge of menu with right edge of button */\n @property({ type: Boolean, reflect: true, state: true })\n protected menuAlignRight = false;\n\n /** @internal The drop position of menu relative to the toggle button */\n @property({ type: String, reflect: true, state: true })\n protected drop: DropDirection = \"down\";\n\n /** Additional configuration to pass to Floating UI. */\n @property({ type: Object })\n floatingOpts: { placement?: Placement; middleware?: Array<Middleware> } = {};\n\n /** When true, dropdown menu shows on first load */\n @property({ type: Boolean, reflect: true })\n menuIsOpen = false;\n\n /** Controls the close behaviour of dropdown menu. By default menu auto-closes when SgdsDropdownItem or area outside dropdown is clicked */\n protected close: \"outside\" | \"default\" | \"inside\" = \"default\";\n\n /** Disables the dropdown toggle */\n @property({ type: Boolean, reflect: true })\n disabled = false;\n\n /** Makes the input readonly. */\n @property({ type: Boolean, reflect: true }) readonly = false;\n\n private _cleanupAutoUpdate?: () => void;\n\n /** @internal Reference to the floating menu element */\n protected menuRef: Ref<HTMLElement> = createRef();\n\n connectedCallback() {\n super.connectedCallback();\n\n if (this.close !== \"inside\") {\n document.addEventListener(\"click\", this._handleClickOutOfElement);\n }\n this.addEventListener(\"keydown\", this._handleKeyboardMenuEvent);\n }\n\n disconnectedCallback() {\n super.disconnectedCallback();\n document.removeEventListener(\"click\", this._handleClickOutOfElement);\n this.removeEventListener(\"keydown\", this._handleKeyboardMenuEvent);\n if (this._cleanupAutoUpdate) {\n this._cleanupAutoUpdate();\n this._cleanupAutoUpdate = undefined;\n }\n }\n\n firstUpdated(changedProperties: PropertyValueMap<this>) {\n super.firstUpdated(changedProperties);\n if (this.menuIsOpen) {\n requestAnimationFrame(async () => {\n await this.updateFloatingPosition();\n this._startAutoUpdate();\n });\n }\n }\n\n /** When invoked, opens the dropdown menu */\n public async showMenu() {\n if (this.disabled || this.menuIsOpen) return;\n this.menuIsOpen = true;\n this.emit(\"sgds-show\");\n await this.updateFloatingPosition();\n this.emit(\"sgds-after-show\");\n this._startAutoUpdate();\n }\n\n /** Starts Floating UI's autoUpdate loop, recomputing menu position on scroll, resize, or ancestor layout changes. Stores the cleanup function to stop tracking when the menu closes. */\n private _startAutoUpdate() {\n if (this.myDropdown.value && this.menuRef.value) {\n this._cleanupAutoUpdate = autoUpdate(this.myDropdown.value, this.menuRef.value, () =>\n this.updateFloatingPosition()\n );\n }\n }\n\n /** When invoked, hides the dropdown menu */\n public hideMenu(isOutside?: boolean) {\n if (!this.menuIsOpen) return;\n this.emit(\"sgds-hide\", { detail: { isOutside } });\n\n this.menuIsOpen = false;\n setTimeout(() => this.emit(\"sgds-after-hide\"), 0);\n\n if (this._cleanupAutoUpdate) {\n this._cleanupAutoUpdate();\n this._cleanupAutoUpdate = undefined;\n }\n }\n\n toggleMenu() {\n if (this.menuIsOpen) {\n this.hideMenu();\n } else {\n this.showMenu();\n }\n }\n\n protected _handleKeyboardMenuEvent(e: KeyboardEvent) {\n if (this.readonly) return;\n switch (e.key) {\n case ARROW_DOWN:\n case ARROW_UP:\n e.preventDefault();\n if (!this.menuIsOpen) this.showMenu();\n break;\n case ESC:\n this.hideMenu();\n break;\n default:\n break;\n }\n }\n\n private _handleClickOutOfElement = (e: MouseEvent) => {\n if (!this.menuIsOpen) return;\n if (!e.composedPath().includes(this)) {\n this.hideMenu(true);\n }\n };\n\n protected mergeMiddleware(defaults: Middleware[], custom: Middleware[]): Middleware[] {\n const getType = (mw: Middleware) => mw?.name || mw?.constructor?.name;\n const customTypes = custom.map(getType);\n\n const merged = defaults\n .map(def => {\n const type = getType(def);\n const customIdx = customTypes.indexOf(type);\n return customIdx !== -1 ? custom[customIdx] : def;\n })\n\n .concat(custom.filter(c => !defaults.some(def => getType(def) === getType(c))));\n return merged;\n }\n\n protected async updateFloatingPosition() {\n if (!this.myDropdown.value || !this.menuRef.value) return;\n\n let placement: Placement = \"bottom-start\";\n switch (this.drop) {\n case \"up\":\n placement = this.menuAlignRight ? \"top-end\" : \"top-start\";\n break;\n case \"right\":\n placement = \"right-start\";\n break;\n case \"left\":\n placement = \"left-start\";\n break;\n case \"down\":\n placement = this.menuAlignRight ? \"bottom-end\" : \"bottom-start\";\n break;\n default:\n placement = \"bottom-start\";\n break;\n }\n\n const defaultMiddleware = [offset(8), !this.noFlip ? flip() : undefined, shift()].filter(Boolean);\n\n let middleware = defaultMiddleware;\n if (Array.isArray(this.floatingOpts.middleware) && this.floatingOpts.middleware.length > 0) {\n middleware = this.mergeMiddleware(defaultMiddleware, this.floatingOpts.middleware.filter(Boolean));\n }\n\n const opts = {\n strategy: \"fixed\" as Strategy,\n placement,\n ...this.floatingOpts,\n middleware\n };\n\n const {\n x,\n y,\n strategy,\n placement: computedPlacement\n } = await computePosition(this.myDropdown.value, this.menuRef.value, opts);\n\n this.menuRef.value.setAttribute(\"data-placement\", computedPlacement);\n\n Object.assign(this.menuRef.value.style, {\n position: strategy,\n left: `${x}px`,\n top: `${y}px`\n });\n }\n}\n"],"names":["generateId"],"mappings":"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"}
|
|
@@ -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"
|