@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.
Files changed (172) hide show
  1. package/base/dropdown-element.d.ts +2 -0
  2. package/base/dropdown-element.js +8 -2
  3. package/base/dropdown-element.js.map +1 -1
  4. package/components/Accordion/index.umd.min.js +8 -8
  5. package/components/Accordion/index.umd.min.js.map +1 -1
  6. package/components/Accordion/sgds-accordion.d.ts +1 -2
  7. package/components/Accordion/sgds-accordion.js +2 -3
  8. package/components/Accordion/sgds-accordion.js.map +1 -1
  9. package/components/Breadcrumb/index.umd.min.js +1 -1
  10. package/components/Breadcrumb/index.umd.min.js.map +1 -1
  11. package/components/ComboBox/index.umd.min.js +24 -24
  12. package/components/ComboBox/index.umd.min.js.map +1 -1
  13. package/components/ComboBox/sgds-combo-box.js +2 -2
  14. package/components/ComboBox/sgds-combo-box.js.map +1 -1
  15. package/components/Datepicker/datepicker.js +1 -1
  16. package/components/Datepicker/index.umd.min.js +3 -3
  17. package/components/Datepicker/index.umd.min.js.map +1 -1
  18. package/components/Datepicker/sgds-datepicker.js +1 -1
  19. package/components/Datepicker/sgds-datepicker.js.map +1 -1
  20. package/components/Dropdown/dropdown-menu.js +1 -1
  21. package/components/Dropdown/index.umd.min.js +1 -1
  22. package/components/Dropdown/index.umd.min.js.map +1 -1
  23. package/components/Dropdown/sgds-dropdown.js +1 -1
  24. package/components/Dropdown/sgds-dropdown.js.map +1 -1
  25. package/components/Mainnav/index.umd.min.js +8 -8
  26. package/components/Mainnav/index.umd.min.js.map +1 -1
  27. package/components/Mainnav/sgds-mainnav.d.ts +3 -1
  28. package/components/Mainnav/sgds-mainnav.js +9 -5
  29. package/components/Mainnav/sgds-mainnav.js.map +1 -1
  30. package/components/OverflowMenu/index.umd.min.js +1 -1
  31. package/components/OverflowMenu/index.umd.min.js.map +1 -1
  32. package/components/Select/index.umd.min.js +7 -7
  33. package/components/Select/index.umd.min.js.map +1 -1
  34. package/components/Select/sgds-select.js +2 -2
  35. package/components/Select/sgds-select.js.map +1 -1
  36. package/components/index.d.ts +0 -1
  37. package/components/index.js +0 -1
  38. package/components/index.js.map +1 -1
  39. package/components/index.umd.min.js +77 -130
  40. package/components/index.umd.min.js.map +1 -1
  41. package/css/fouc.css +0 -4
  42. package/css/sgds.css +2 -2
  43. package/css/utility.css +29 -18
  44. package/index.d.ts +0 -1
  45. package/index.js +0 -1
  46. package/index.js.map +1 -1
  47. package/index.umd.min.js +65 -196
  48. package/index.umd.min.js.map +1 -1
  49. package/package.json +1 -1
  50. package/react/base/dropdown-element.cjs.js +8 -2
  51. package/react/base/dropdown-element.cjs.js.map +1 -1
  52. package/react/base/dropdown-element.js +8 -2
  53. package/react/base/dropdown-element.js.map +1 -1
  54. package/react/components/Accordion/sgds-accordion.cjs.js +2 -3
  55. package/react/components/Accordion/sgds-accordion.cjs.js.map +1 -1
  56. package/react/components/Accordion/sgds-accordion.js +2 -3
  57. package/react/components/Accordion/sgds-accordion.js.map +1 -1
  58. package/react/components/ComboBox/sgds-combo-box.cjs.js +2 -2
  59. package/react/components/ComboBox/sgds-combo-box.cjs.js.map +1 -1
  60. package/react/components/ComboBox/sgds-combo-box.js +2 -2
  61. package/react/components/ComboBox/sgds-combo-box.js.map +1 -1
  62. package/react/components/Datepicker/datepicker.cjs.js +1 -1
  63. package/react/components/Datepicker/datepicker.js +1 -1
  64. package/react/components/Datepicker/sgds-datepicker.cjs.js +1 -1
  65. package/react/components/Datepicker/sgds-datepicker.cjs.js.map +1 -1
  66. package/react/components/Datepicker/sgds-datepicker.js +1 -1
  67. package/react/components/Datepicker/sgds-datepicker.js.map +1 -1
  68. package/react/components/Dropdown/dropdown-menu.cjs.js +1 -1
  69. package/react/components/Dropdown/dropdown-menu.js +1 -1
  70. package/react/components/Dropdown/sgds-dropdown.cjs.js +1 -1
  71. package/react/components/Dropdown/sgds-dropdown.cjs.js.map +1 -1
  72. package/react/components/Dropdown/sgds-dropdown.js +1 -1
  73. package/react/components/Dropdown/sgds-dropdown.js.map +1 -1
  74. package/react/components/Mainnav/sgds-mainnav.cjs.js +9 -5
  75. package/react/components/Mainnav/sgds-mainnav.cjs.js.map +1 -1
  76. package/react/components/Mainnav/sgds-mainnav.js +9 -5
  77. package/react/components/Mainnav/sgds-mainnav.js.map +1 -1
  78. package/react/components/Select/sgds-select.cjs.js +2 -2
  79. package/react/components/Select/sgds-select.cjs.js.map +1 -1
  80. package/react/components/Select/sgds-select.js +2 -2
  81. package/react/components/Select/sgds-select.js.map +1 -1
  82. package/react/index.cjs.js +48 -56
  83. package/react/index.cjs.js.map +1 -1
  84. package/react/index.d.ts +0 -4
  85. package/react/index.js +0 -4
  86. package/react/index.js.map +1 -1
  87. package/themes/responsive.css +18 -0
  88. package/base/sidebar-element.d.ts +0 -112
  89. package/base/sidebar-element.js +0 -281
  90. package/base/sidebar-element.js.map +0 -1
  91. package/components/Sidebar/index.d.ts +0 -16
  92. package/components/Sidebar/index.js +0 -10
  93. package/components/Sidebar/index.js.map +0 -1
  94. package/components/Sidebar/index.umd.min.js +0 -2501
  95. package/components/Sidebar/index.umd.min.js.map +0 -1
  96. package/components/Sidebar/sgds-sidebar-group.d.ts +0 -51
  97. package/components/Sidebar/sgds-sidebar-group.js +0 -124
  98. package/components/Sidebar/sgds-sidebar-group.js.map +0 -1
  99. package/components/Sidebar/sgds-sidebar-item.d.ts +0 -25
  100. package/components/Sidebar/sgds-sidebar-item.js +0 -73
  101. package/components/Sidebar/sgds-sidebar-item.js.map +0 -1
  102. package/components/Sidebar/sgds-sidebar-section.d.ts +0 -56
  103. package/components/Sidebar/sgds-sidebar-section.js +0 -125
  104. package/components/Sidebar/sgds-sidebar-section.js.map +0 -1
  105. package/components/Sidebar/sgds-sidebar.d.ts +0 -156
  106. package/components/Sidebar/sgds-sidebar.js +0 -412
  107. package/components/Sidebar/sgds-sidebar.js.map +0 -1
  108. package/components/Sidebar/sidebar-context.d.ts +0 -51
  109. package/components/Sidebar/sidebar-context.js +0 -45
  110. package/components/Sidebar/sidebar-context.js.map +0 -1
  111. package/components/Sidebar/sidebar-item.js +0 -6
  112. package/components/Sidebar/sidebar-item.js.map +0 -1
  113. package/components/Sidebar/sidebar-section.js +0 -6
  114. package/components/Sidebar/sidebar-section.js.map +0 -1
  115. package/components/Sidebar/sidebar.js +0 -6
  116. package/components/Sidebar/sidebar.js.map +0 -1
  117. package/react/base/sidebar-element.cjs.js +0 -286
  118. package/react/base/sidebar-element.cjs.js.map +0 -1
  119. package/react/base/sidebar-element.js +0 -282
  120. package/react/base/sidebar-element.js.map +0 -1
  121. package/react/components/Sidebar/sgds-sidebar-group.cjs.js +0 -130
  122. package/react/components/Sidebar/sgds-sidebar-group.cjs.js.map +0 -1
  123. package/react/components/Sidebar/sgds-sidebar-group.js +0 -125
  124. package/react/components/Sidebar/sgds-sidebar-group.js.map +0 -1
  125. package/react/components/Sidebar/sgds-sidebar-item.cjs.js +0 -79
  126. package/react/components/Sidebar/sgds-sidebar-item.cjs.js.map +0 -1
  127. package/react/components/Sidebar/sgds-sidebar-item.js +0 -74
  128. package/react/components/Sidebar/sgds-sidebar-item.js.map +0 -1
  129. package/react/components/Sidebar/sgds-sidebar-section.cjs.js +0 -131
  130. package/react/components/Sidebar/sgds-sidebar-section.cjs.js.map +0 -1
  131. package/react/components/Sidebar/sgds-sidebar-section.js +0 -126
  132. package/react/components/Sidebar/sgds-sidebar-section.js.map +0 -1
  133. package/react/components/Sidebar/sgds-sidebar.cjs.js +0 -418
  134. package/react/components/Sidebar/sgds-sidebar.cjs.js.map +0 -1
  135. package/react/components/Sidebar/sgds-sidebar.js +0 -413
  136. package/react/components/Sidebar/sgds-sidebar.js.map +0 -1
  137. package/react/components/Sidebar/sidebar-context.cjs.js +0 -54
  138. package/react/components/Sidebar/sidebar-context.cjs.js.map +0 -1
  139. package/react/components/Sidebar/sidebar-context.js +0 -46
  140. package/react/components/Sidebar/sidebar-context.js.map +0 -1
  141. package/react/components/Sidebar/sidebar-item.cjs.js +0 -11
  142. package/react/components/Sidebar/sidebar-item.cjs.js.map +0 -1
  143. package/react/components/Sidebar/sidebar-item.js +0 -7
  144. package/react/components/Sidebar/sidebar-item.js.map +0 -1
  145. package/react/components/Sidebar/sidebar-section.cjs.js +0 -11
  146. package/react/components/Sidebar/sidebar-section.cjs.js.map +0 -1
  147. package/react/components/Sidebar/sidebar-section.js +0 -7
  148. package/react/components/Sidebar/sidebar-section.js.map +0 -1
  149. package/react/components/Sidebar/sidebar.cjs.js +0 -11
  150. package/react/components/Sidebar/sidebar.cjs.js.map +0 -1
  151. package/react/components/Sidebar/sidebar.js +0 -7
  152. package/react/components/Sidebar/sidebar.js.map +0 -1
  153. package/react/sidebar/index.cjs.js +0 -42
  154. package/react/sidebar/index.cjs.js.map +0 -1
  155. package/react/sidebar/index.d.ts +0 -2
  156. package/react/sidebar/index.js +0 -18
  157. package/react/sidebar/index.js.map +0 -1
  158. package/react/sidebar-group/index.cjs.js +0 -40
  159. package/react/sidebar-group/index.cjs.js.map +0 -1
  160. package/react/sidebar-group/index.d.ts +0 -2
  161. package/react/sidebar-group/index.js +0 -16
  162. package/react/sidebar-group/index.js.map +0 -1
  163. package/react/sidebar-item/index.cjs.js +0 -40
  164. package/react/sidebar-item/index.cjs.js.map +0 -1
  165. package/react/sidebar-item/index.d.ts +0 -2
  166. package/react/sidebar-item/index.js +0 -16
  167. package/react/sidebar-item/index.js.map +0 -1
  168. package/react/sidebar-section/index.cjs.js +0 -40
  169. package/react/sidebar-section/index.cjs.js.map +0 -1
  170. package/react/sidebar-section/index.d.ts +0 -2
  171. package/react/sidebar-section/index.js +0 -16
  172. package/react/sidebar-section/index.js.map +0 -1
@@ -69,12 +69,14 @@ export declare class SgdsMainnav extends SgdsElement {
69
69
  private _handleDesktopNav;
70
70
  private _animateToShow;
71
71
  private _animateToHide;
72
+ /** @internal */
72
73
  handleOpenChange(): Promise<void>;
73
74
  /** Shows the menu. For when mainnav is in the collapsed form */
74
75
  show(): Promise<void>;
75
76
  /** Hide the menu. For when mainnav is in the collapsed form */
76
77
  hide(): Promise<void>;
77
- _handleSlotChange(e: Event): void;
78
+ private _handleDefaultSlotChange;
79
+ private _handleSlotChange;
78
80
  render(): import("lit").TemplateResult<1>;
79
81
  _expandClass(): string;
80
82
  }
@@ -83,10 +83,6 @@ class SgdsMainnav extends SgdsElement {
83
83
  this._handleMobileNav();
84
84
  this._breakpointReached = true;
85
85
  }
86
- const items = [...this.defaultSlotItems, ...this.endSlotItems];
87
- items.forEach((item) => {
88
- item.setAttribute("expand", this.expand);
89
- });
90
86
  }
91
87
  _handleClickOutOfElement(e, self) {
92
88
  if (!e.composedPath().includes(self) && !e.composedPath().includes(this.header)) {
@@ -166,6 +162,7 @@ class SgdsMainnav extends SgdsElement {
166
162
  this.body.style.height = "auto";
167
163
  this.emit("sgds-after-hide");
168
164
  }
165
+ /** @internal */
169
166
  async handleOpenChange() {
170
167
  if (this.expanding) {
171
168
  // Show
@@ -196,11 +193,18 @@ class SgdsMainnav extends SgdsElement {
196
193
  document.querySelector("body").style.removeProperty("overflow");
197
194
  return waitForEvent(this, "sgds-after-hide");
198
195
  }
196
+ _handleDefaultSlotChange(e) {
197
+ const childElements = e.target.assignedElements({ flatten: true });
198
+ childElements.forEach(el => {
199
+ el.setAttribute("expand", this.expand);
200
+ });
201
+ }
199
202
  // assigning name attribute to elements added in slot="end", to use wildcard css selector to assign styles only to *-mainnav-item
200
203
  _handleSlotChange(e) {
201
204
  const childElements = e.target.assignedElements({ flatten: true });
202
205
  childElements.forEach(e => {
203
206
  e.setAttribute("name", e.tagName.toLowerCase());
207
+ e.setAttribute("expand", this.expand);
204
208
  });
205
209
  }
206
210
  render() {
@@ -213,7 +217,7 @@ class SgdsMainnav extends SgdsElement {
213
217
  </a>
214
218
  <div class="navbar-body navbar-collapse" id=${this.collapseId}>
215
219
  <div class="navbar-nav navbar-nav-scroll">
216
- <slot></slot>
220
+ <slot @slotchange=${this._handleDefaultSlotChange}></slot>
217
221
  <slot
218
222
  name="end"
219
223
  class=${classMap({ "slot-end": !this.breakpointReached })}
@@ -1 +1 @@
1
- {"version":3,"file":"sgds-mainnav.js","sources":["../../../src/components/Mainnav/sgds-mainnav.ts"],"sourcesContent":["import { provide } from \"@lit/context\";\nimport { html, PropertyValueMap } from \"lit\";\nimport { property, query, queryAssignedElements, state } from \"lit/decorators.js\";\nimport { classMap } from \"lit/directives/class-map.js\";\nimport SgdsElement from \"../../base/sgds-element\";\nimport { animateTo, shimKeyframesHeightAuto, stopAnimations } from \"../../utils/animate\";\nimport { getAnimation, setDefaultAnimation } from \"../../utils/animation-registry\";\nimport { LG_BREAKPOINT, MD_BREAKPOINT, SM_BREAKPOINT, XL_BREAKPOINT, XXL_BREAKPOINT } from \"../../utils/breakpoints\";\nimport { waitForEvent } from \"../../utils/event\";\nimport genId from \"../../utils/generateId\";\nimport { watch } from \"../../utils/watch\";\nimport SgdsIconButton from \"../IconButton/sgds-icon-button\";\nimport { MainnavBreakpointContext, MainnavExpandedContext } from \"./mainnav-context\";\nimport mainnavStyle from \"./mainnav.css\";\nimport SgdsMainnavDropdown from \"./sgds-mainnav-dropdown\";\nimport SgdsMainnavItem from \"./sgds-mainnav-item\";\nexport type MainnavExpandSize = \"sm\" | \"md\" | \"lg\" | \"xl\" | \"xxl\" | \"always\" | \"never\";\n\nconst SIZES = {\n sm: SM_BREAKPOINT,\n md: MD_BREAKPOINT,\n lg: LG_BREAKPOINT,\n xl: XL_BREAKPOINT,\n xxl: XXL_BREAKPOINT,\n never: Infinity,\n always: -1\n};\n\n/**\n * @summary This component is the primary means that your users will use to navigate through your portal. It includes horizontal navigation and branding to identify your site.\n *\n * @event sgds-show - Emitted on show. Only for collapsed menu.\n * @event sgds-after-show - Emitted on show after animation has completed. Only for collapsed menu.\n * @event sgds-hide - Emitted on hide. Only for collapsed menu.\n * @event sgds-after-hide - Emitted on hide after animation has completed. Only for collapsed menu.\n *\n * @slot default - Default slot of SgdsMainnav. Pass in SgdsMainnavItem elements here.\n * @slot end - Elements in this slot will be positioned to the right end of .navbar-nav. Elements in this slot will also be included in collapsed menu.\n * @slot brand - Brand slot of SgdsMainnav. Pass in brand logo img here\n * @slot non-collapsible - Elements in this slot will not be collapsed\n *\n */\nexport class SgdsMainnav extends SgdsElement {\n static styles = [...SgdsElement.styles, mainnavStyle];\n /** @internal */\n static dependencies = {\n \"sgds-icon-button\": SgdsIconButton\n };\n\n @provide({ context: MainnavBreakpointContext })\n @state()\n private _breakpointReached = false;\n /** Indicates if mobile menu is open or closed */\n @provide({ context: MainnavExpandedContext })\n @state()\n private expanded = false;\n /** Denotes the transition state of mobile mainnav menu opening */\n @state()\n private expanding = false;\n\n /** @internal */\n @query(\"nav\") nav: HTMLElement;\n /** @internal */\n @query(\".navbar\") navbar: HTMLElement;\n /** @internal */\n @query(\".navbar-toggler\") header: HTMLElement;\n /** @internal */\n @query(\".navbar-body\") body: HTMLElement;\n /** @internal */\n @query(\".navbar-nav-scroll\") navScroll: HTMLElement;\n /** @internal */\n @query(\"slot[name='non-collapsible']\") nonCollapsibleSlot: HTMLSlotElement;\n\n /** The href link for brand logo */\n @property({ type: String })\n brandHref = \"\";\n\n private collapseId = genId(\"mainnav\", \"collapse\");\n\n /** The breakpoint, below which, the Navbar will collapse. When always the Navbar will always be expanded regardless of screen size. When never, the Navbar will always be collapsed */\n @property({ type: String })\n expand: MainnavExpandSize = \"lg\";\n\n /** When true, removes max-width constraint to allow content to stretch full screen width */\n @property({ type: Boolean, reflect: true })\n fluid = false;\n\n /** @internal */\n @state()\n breakpointReached = false;\n\n /** @internal */\n @queryAssignedElements() private defaultNodes!: SgdsMainnavItem[] | SgdsMainnavDropdown[];\n\n /** @internal */\n @queryAssignedElements({ slot: \"end\" }) private endNodes!: SgdsMainnavItem[] | SgdsMainnavDropdown[];\n\n /** @internal */\n get defaultSlotItems(): SgdsMainnavItem[] | SgdsMainnavDropdown[] {\n return [...(this.defaultNodes || [])].filter((node: HTMLElement) => typeof node.tagName !== \"undefined\") as\n | SgdsMainnavItem[]\n | SgdsMainnavDropdown[];\n }\n\n /** @internal */\n get endSlotItems(): SgdsMainnavItem[] | SgdsMainnavDropdown[] {\n return [...(this.endNodes || [])].filter((node: HTMLElement) => typeof node.tagName !== \"undefined\") as\n | SgdsMainnavItem[]\n | SgdsMainnavDropdown[];\n }\n\n connectedCallback() {\n super.connectedCallback();\n\n this._handleResize();\n\n window.addEventListener(\"click\", (event: MouseEvent) => this._handleClickOutOfElement(event, this.body));\n window.addEventListener(\"resize\", this._handleResize.bind(this));\n }\n\n disconnectedCallback() {\n super.disconnectedCallback();\n\n window.removeEventListener(\"click\", (event: MouseEvent) => this._handleClickOutOfElement(event, this.body));\n window.removeEventListener(\"resize\", this._handleResize.bind(this));\n }\n\n firstUpdated(changedProperties: PropertyValueMap<this>) {\n super.firstUpdated(changedProperties);\n\n if (this.breakpointReached && this.body) {\n this.expanded = false;\n this.body.hidden = true;\n this._handleMobileNav();\n this._breakpointReached = true;\n }\n\n const items = [...this.defaultSlotItems, ...this.endSlotItems] as SgdsMainnavItem[] | SgdsMainnavDropdown[];\n items.forEach((item: SgdsMainnavItem | SgdsMainnavDropdown) => {\n item.setAttribute(\"expand\", this.expand);\n });\n }\n\n private _handleClickOutOfElement(e: MouseEvent, self: HTMLElement) {\n if (!e.composedPath().includes(self) && !e.composedPath().includes(this.header)) {\n this.hide();\n }\n }\n\n private _handleSummaryClick() {\n if (this.expanded) {\n this.hide();\n } else {\n document.querySelector(\"body\").style.overflow = \"hidden\";\n this.show();\n }\n }\n\n private _handleResize() {\n const newBreakpointReachedValue = window.innerWidth < SIZES[this.expand];\n if (newBreakpointReachedValue !== this.breakpointReached) {\n this.requestUpdate();\n } else {\n this.body ? (this.body.hidden = true) : null;\n // this.expanded = false;\n this.expanding = false;\n }\n\n if (newBreakpointReachedValue) {\n this._handleMobileNav();\n\n if (!this._breakpointReached) {\n this._breakpointReached = true;\n\n window.addEventListener(\"scrollend\", this._handleMobileNavBound);\n }\n } else {\n this._handleDesktopNav();\n this._breakpointReached = false;\n window.removeEventListener(\"scrollend\", this._handleMobileNavBound);\n }\n }\n\n private _handleMobileNavBound = this._handleMobileNav.bind(this);\n\n private async _handleMobileNav() {\n if (!this.nav) return;\n\n this.nav.appendChild(this.body);\n await customElements.whenDefined(\"sgds-masthead\");\n\n const { bottom } = this.nav.getBoundingClientRect();\n const navBodyPaddingY =\n parseFloat(getComputedStyle(this.body).paddingTop) + parseFloat(getComputedStyle(this.body).paddingBottom);\n\n this.navScroll.style.maxHeight = `calc(100dvh - ${bottom}px - ${navBodyPaddingY}px)`;\n }\n\n private _handleDesktopNav() {\n this.navbar?.insertBefore(this.body, this.nonCollapsibleSlot);\n }\n\n private async _animateToShow() {\n const sgdsShow = this.emit(\"sgds-show\", { cancelable: true });\n if (sgdsShow.defaultPrevented) {\n this.expanding = false;\n this.expanded = false;\n return;\n }\n\n await stopAnimations(this.body);\n this.body.hidden = false;\n\n const { keyframes, options } = getAnimation(this, \"mainnav.show\");\n await animateTo(this.body, shimKeyframesHeightAuto(keyframes, this.body.scrollHeight), options);\n this.body.style.height = \"auto\";\n\n this.emit(\"sgds-after-show\");\n }\n\n private async _animateToHide() {\n const slHide = this.emit(\"sgds-hide\", { cancelable: true });\n if (slHide.defaultPrevented) {\n this.expanding = false;\n this.expanded = true;\n return;\n }\n\n await stopAnimations(this.body);\n\n const { keyframes, options } = getAnimation(this, \"mainnav.hide\");\n await animateTo(this.body, shimKeyframesHeightAuto(keyframes, this.body.scrollHeight), options);\n this.body.hidden = true;\n this.body.style.height = \"auto\";\n this.emit(\"sgds-after-hide\");\n }\n\n @watch(\"expanding\", { waitUntilFirstUpdate: true })\n async handleOpenChange() {\n if (this.expanding) {\n // Show\n await this._animateToShow();\n this.expanded = true;\n } else {\n this.header.focus();\n // Hide\n await this._animateToHide();\n this.expanded = false;\n }\n }\n\n /** Shows the menu. For when mainnav is in the collapsed form */\n public async show() {\n if (this.expanded) {\n return;\n }\n\n this.expanding = true;\n return waitForEvent(this, \"sgds-after-show\");\n }\n\n /** Hide the menu. For when mainnav is in the collapsed form */\n public async hide() {\n if (!this.expanded) {\n return;\n }\n\n this.expanding = false;\n document.querySelector(\"body\").style.removeProperty(\"overflow\");\n\n return waitForEvent(this, \"sgds-after-hide\");\n }\n\n // assigning name attribute to elements added in slot=\"end\", to use wildcard css selector to assign styles only to *-mainnav-item\n _handleSlotChange(e: Event) {\n const childElements = (e.target as HTMLSlotElement).assignedElements({ flatten: true });\n\n childElements.forEach(e => {\n e.setAttribute(\"name\", e.tagName.toLowerCase());\n });\n }\n\n render() {\n this.breakpointReached = window.innerWidth < SIZES[this.expand];\n\n return html`\n <nav>\n <div class=\"navbar ${this._expandClass()}\">\n <a class=\"navbar-brand\" href=${this.brandHref} aria-label=\"brand-link\">\n <slot name=\"brand\"></slot>\n </a>\n <div class=\"navbar-body navbar-collapse\" id=${this.collapseId}>\n <div class=\"navbar-nav navbar-nav-scroll\">\n <slot></slot>\n <slot\n name=\"end\"\n class=${classMap({ \"slot-end\": !this.breakpointReached })}\n @slotchange=${this._handleSlotChange}\n ></slot>\n </div>\n </div>\n <slot name=\"non-collapsible\"></slot>\n <sgds-icon-button\n name=${this.expanded ? \"cross\" : \"menu\"}\n variant=\"ghost\"\n size=\"sm\"\n class=\"navbar-toggler\"\n @click=${this._handleSummaryClick}\n aria-controls=\"${this.collapseId}\"\n aria-expanded=\"${this.expanded}\"\n aria-label=\"Toggle navigation\"\n ></sgds-icon-button>\n </div>\n </nav>\n `;\n }\n _expandClass() {\n switch (this.expand) {\n case \"always\":\n return \"navbar-expand\";\n case \"never\":\n break;\n default:\n return `navbar-expand-${this.expand}`;\n }\n }\n}\nsetDefaultAnimation(\"mainnav.show\", {\n keyframes: [\n { height: \"0\", opacity: \"0\" },\n { height: \"auto\", opacity: \"1\" }\n ],\n options: { duration: 200, easing: \"ease-in-out\" }\n});\n\nsetDefaultAnimation(\"mainnav.hide\", {\n keyframes: [\n { height: \"auto\", opacity: \"1\" },\n { height: \"0\", opacity: \"0\" }\n ],\n options: { duration: 200, easing: \"ease-in-out\" }\n});\n\nexport default SgdsMainnav;\n"],"names":["mainnavStyle"],"mappings":"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"}
1
+ {"version":3,"file":"sgds-mainnav.js","sources":["../../../src/components/Mainnav/sgds-mainnav.ts"],"sourcesContent":["import { provide } from \"@lit/context\";\nimport { html, PropertyValueMap } from \"lit\";\nimport { property, query, queryAssignedElements, state } from \"lit/decorators.js\";\nimport { classMap } from \"lit/directives/class-map.js\";\nimport SgdsElement from \"../../base/sgds-element\";\nimport { animateTo, shimKeyframesHeightAuto, stopAnimations } from \"../../utils/animate\";\nimport { getAnimation, setDefaultAnimation } from \"../../utils/animation-registry\";\nimport { LG_BREAKPOINT, MD_BREAKPOINT, SM_BREAKPOINT, XL_BREAKPOINT, XXL_BREAKPOINT } from \"../../utils/breakpoints\";\nimport { waitForEvent } from \"../../utils/event\";\nimport genId from \"../../utils/generateId\";\nimport { watch } from \"../../utils/watch\";\nimport SgdsIconButton from \"../IconButton/sgds-icon-button\";\nimport { MainnavBreakpointContext, MainnavExpandedContext } from \"./mainnav-context\";\nimport mainnavStyle from \"./mainnav.css\";\nimport SgdsMainnavDropdown from \"./sgds-mainnav-dropdown\";\nimport SgdsMainnavItem from \"./sgds-mainnav-item\";\nexport type MainnavExpandSize = \"sm\" | \"md\" | \"lg\" | \"xl\" | \"xxl\" | \"always\" | \"never\";\n\nconst SIZES = {\n sm: SM_BREAKPOINT,\n md: MD_BREAKPOINT,\n lg: LG_BREAKPOINT,\n xl: XL_BREAKPOINT,\n xxl: XXL_BREAKPOINT,\n never: Infinity,\n always: -1\n};\n\n/**\n * @summary This component is the primary means that your users will use to navigate through your portal. It includes horizontal navigation and branding to identify your site.\n *\n * @event sgds-show - Emitted on show. Only for collapsed menu.\n * @event sgds-after-show - Emitted on show after animation has completed. Only for collapsed menu.\n * @event sgds-hide - Emitted on hide. Only for collapsed menu.\n * @event sgds-after-hide - Emitted on hide after animation has completed. Only for collapsed menu.\n *\n * @slot default - Default slot of SgdsMainnav. Pass in SgdsMainnavItem elements here.\n * @slot end - Elements in this slot will be positioned to the right end of .navbar-nav. Elements in this slot will also be included in collapsed menu.\n * @slot brand - Brand slot of SgdsMainnav. Pass in brand logo img here\n * @slot non-collapsible - Elements in this slot will not be collapsed\n *\n */\nexport class SgdsMainnav extends SgdsElement {\n static styles = [...SgdsElement.styles, mainnavStyle];\n /** @internal */\n static dependencies = {\n \"sgds-icon-button\": SgdsIconButton\n };\n\n @provide({ context: MainnavBreakpointContext })\n @state()\n private _breakpointReached = false;\n /** Indicates if mobile menu is open or closed */\n @provide({ context: MainnavExpandedContext })\n @state()\n private expanded = false;\n /** Denotes the transition state of mobile mainnav menu opening */\n @state()\n private expanding = false;\n\n /** @internal */\n @query(\"nav\") nav: HTMLElement;\n /** @internal */\n @query(\".navbar\") navbar: HTMLElement;\n /** @internal */\n @query(\".navbar-toggler\") header: HTMLElement;\n /** @internal */\n @query(\".navbar-body\") body: HTMLElement;\n /** @internal */\n @query(\".navbar-nav-scroll\") navScroll: HTMLElement;\n /** @internal */\n @query(\"slot[name='non-collapsible']\") nonCollapsibleSlot: HTMLSlotElement;\n\n /** The href link for brand logo */\n @property({ type: String })\n brandHref = \"\";\n\n private collapseId = genId(\"mainnav\", \"collapse\");\n\n /** The breakpoint, below which, the Navbar will collapse. When always the Navbar will always be expanded regardless of screen size. When never, the Navbar will always be collapsed */\n @property({ type: String })\n expand: MainnavExpandSize = \"lg\";\n\n /** When true, removes max-width constraint to allow content to stretch full screen width */\n @property({ type: Boolean, reflect: true })\n fluid = false;\n\n /** @internal */\n @state()\n breakpointReached = false;\n\n /** @internal */\n @queryAssignedElements() private defaultNodes!: SgdsMainnavItem[] | SgdsMainnavDropdown[];\n\n /** @internal */\n @queryAssignedElements({ slot: \"end\" }) private endNodes!: SgdsMainnavItem[] | SgdsMainnavDropdown[];\n\n /** @internal */\n get defaultSlotItems(): SgdsMainnavItem[] | SgdsMainnavDropdown[] {\n return [...(this.defaultNodes || [])].filter((node: HTMLElement) => typeof node.tagName !== \"undefined\") as\n | SgdsMainnavItem[]\n | SgdsMainnavDropdown[];\n }\n\n /** @internal */\n get endSlotItems(): SgdsMainnavItem[] | SgdsMainnavDropdown[] {\n return [...(this.endNodes || [])].filter((node: HTMLElement) => typeof node.tagName !== \"undefined\") as\n | SgdsMainnavItem[]\n | SgdsMainnavDropdown[];\n }\n\n connectedCallback() {\n super.connectedCallback();\n\n this._handleResize();\n\n window.addEventListener(\"click\", (event: MouseEvent) => this._handleClickOutOfElement(event, this.body));\n window.addEventListener(\"resize\", this._handleResize.bind(this));\n }\n\n disconnectedCallback() {\n super.disconnectedCallback();\n\n window.removeEventListener(\"click\", (event: MouseEvent) => this._handleClickOutOfElement(event, this.body));\n window.removeEventListener(\"resize\", this._handleResize.bind(this));\n }\n\n firstUpdated(changedProperties: PropertyValueMap<this>) {\n super.firstUpdated(changedProperties);\n\n if (this.breakpointReached && this.body) {\n this.expanded = false;\n this.body.hidden = true;\n this._handleMobileNav();\n this._breakpointReached = true;\n }\n }\n\n private _handleClickOutOfElement(e: MouseEvent, self: HTMLElement) {\n if (!e.composedPath().includes(self) && !e.composedPath().includes(this.header)) {\n this.hide();\n }\n }\n\n private _handleSummaryClick() {\n if (this.expanded) {\n this.hide();\n } else {\n document.querySelector(\"body\").style.overflow = \"hidden\";\n this.show();\n }\n }\n\n private _handleResize() {\n const newBreakpointReachedValue = window.innerWidth < SIZES[this.expand];\n if (newBreakpointReachedValue !== this.breakpointReached) {\n this.requestUpdate();\n } else {\n this.body ? (this.body.hidden = true) : null;\n // this.expanded = false;\n this.expanding = false;\n }\n\n if (newBreakpointReachedValue) {\n this._handleMobileNav();\n\n if (!this._breakpointReached) {\n this._breakpointReached = true;\n\n window.addEventListener(\"scrollend\", this._handleMobileNavBound);\n }\n } else {\n this._handleDesktopNav();\n this._breakpointReached = false;\n window.removeEventListener(\"scrollend\", this._handleMobileNavBound);\n }\n }\n\n private _handleMobileNavBound = this._handleMobileNav.bind(this);\n\n private async _handleMobileNav() {\n if (!this.nav) return;\n\n this.nav.appendChild(this.body);\n await customElements.whenDefined(\"sgds-masthead\");\n\n const { bottom } = this.nav.getBoundingClientRect();\n const navBodyPaddingY =\n parseFloat(getComputedStyle(this.body).paddingTop) + parseFloat(getComputedStyle(this.body).paddingBottom);\n\n this.navScroll.style.maxHeight = `calc(100dvh - ${bottom}px - ${navBodyPaddingY}px)`;\n }\n\n private _handleDesktopNav() {\n this.navbar?.insertBefore(this.body, this.nonCollapsibleSlot);\n }\n\n private async _animateToShow() {\n const sgdsShow = this.emit(\"sgds-show\", { cancelable: true });\n if (sgdsShow.defaultPrevented) {\n this.expanding = false;\n this.expanded = false;\n return;\n }\n\n await stopAnimations(this.body);\n this.body.hidden = false;\n\n const { keyframes, options } = getAnimation(this, \"mainnav.show\");\n await animateTo(this.body, shimKeyframesHeightAuto(keyframes, this.body.scrollHeight), options);\n this.body.style.height = \"auto\";\n\n this.emit(\"sgds-after-show\");\n }\n\n private async _animateToHide() {\n const slHide = this.emit(\"sgds-hide\", { cancelable: true });\n if (slHide.defaultPrevented) {\n this.expanding = false;\n this.expanded = true;\n return;\n }\n\n await stopAnimations(this.body);\n\n const { keyframes, options } = getAnimation(this, \"mainnav.hide\");\n await animateTo(this.body, shimKeyframesHeightAuto(keyframes, this.body.scrollHeight), options);\n this.body.hidden = true;\n this.body.style.height = \"auto\";\n this.emit(\"sgds-after-hide\");\n }\n /** @internal */\n @watch(\"expanding\", { waitUntilFirstUpdate: true })\n async handleOpenChange() {\n if (this.expanding) {\n // Show\n await this._animateToShow();\n this.expanded = true;\n } else {\n this.header.focus();\n // Hide\n await this._animateToHide();\n this.expanded = false;\n }\n }\n\n /** Shows the menu. For when mainnav is in the collapsed form */\n public async show() {\n if (this.expanded) {\n return;\n }\n\n this.expanding = true;\n return waitForEvent(this, \"sgds-after-show\");\n }\n\n /** Hide the menu. For when mainnav is in the collapsed form */\n public async hide() {\n if (!this.expanded) {\n return;\n }\n\n this.expanding = false;\n document.querySelector(\"body\").style.removeProperty(\"overflow\");\n\n return waitForEvent(this, \"sgds-after-hide\");\n }\n\n private _handleDefaultSlotChange(e: Event) {\n const childElements = (e.target as HTMLSlotElement).assignedElements({ flatten: true });\n childElements.forEach(el => {\n el.setAttribute(\"expand\", this.expand);\n });\n }\n\n // assigning name attribute to elements added in slot=\"end\", to use wildcard css selector to assign styles only to *-mainnav-item\n private _handleSlotChange(e: Event) {\n const childElements = (e.target as HTMLSlotElement).assignedElements({ flatten: true });\n\n childElements.forEach(e => {\n e.setAttribute(\"name\", e.tagName.toLowerCase());\n e.setAttribute(\"expand\", this.expand);\n });\n }\n\n render() {\n this.breakpointReached = window.innerWidth < SIZES[this.expand];\n\n return html`\n <nav>\n <div class=\"navbar ${this._expandClass()}\">\n <a class=\"navbar-brand\" href=${this.brandHref} aria-label=\"brand-link\">\n <slot name=\"brand\"></slot>\n </a>\n <div class=\"navbar-body navbar-collapse\" id=${this.collapseId}>\n <div class=\"navbar-nav navbar-nav-scroll\">\n <slot @slotchange=${this._handleDefaultSlotChange}></slot>\n <slot\n name=\"end\"\n class=${classMap({ \"slot-end\": !this.breakpointReached })}\n @slotchange=${this._handleSlotChange}\n ></slot>\n </div>\n </div>\n <slot name=\"non-collapsible\"></slot>\n <sgds-icon-button\n name=${this.expanded ? \"cross\" : \"menu\"}\n variant=\"ghost\"\n size=\"sm\"\n class=\"navbar-toggler\"\n @click=${this._handleSummaryClick}\n aria-controls=\"${this.collapseId}\"\n aria-expanded=\"${this.expanded}\"\n aria-label=\"Toggle navigation\"\n ></sgds-icon-button>\n </div>\n </nav>\n `;\n }\n _expandClass() {\n switch (this.expand) {\n case \"always\":\n return \"navbar-expand\";\n case \"never\":\n break;\n default:\n return `navbar-expand-${this.expand}`;\n }\n }\n}\nsetDefaultAnimation(\"mainnav.show\", {\n keyframes: [\n { height: \"0\", opacity: \"0\" },\n { height: \"auto\", opacity: \"1\" }\n ],\n options: { duration: 200, easing: \"ease-in-out\" }\n});\n\nsetDefaultAnimation(\"mainnav.hide\", {\n keyframes: [\n { height: \"auto\", opacity: \"1\" },\n { height: \"0\", opacity: \"0\" }\n ],\n options: { duration: 200, easing: \"ease-in-out\" }\n});\n\nexport default SgdsMainnav;\n"],"names":["mainnavStyle"],"mappings":"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"}
@@ -62,7 +62,7 @@ function Le(e){return(t,l)=>{const{slot:i,selector:a}=e??{},o="slot"+(i?`[name=$
62
62
  * @license
63
63
  * Copyright 2020 Google LLC
64
64
  * SPDX-License-Identifier: BSD-3-Clause
65
- */const Fe=()=>new qe;class qe{}const je=new WeakMap;const Ke=Te(class extends We{render(e){return le}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)),le}_updateRefValue(e){if(this.isConnected||(e=void 0),"function"==typeof this._ref){const t=this._context??globalThis;let l=je.get(t);void 0===l&&(l=new WeakMap,je.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?je.get(this._context??globalThis)?.get(this._ref):this._ref?.value}disconnected(){this._lastElementForRef===this._element&&this._updateRefValue(void 0)}reconnected(){this._updateRefValue(this._element)}}),Je=Math.min,Ye=Math.max,Xe=Math.round,Ge=Math.floor,Qe=e=>({x:e,y:e}),et={left:"right",right:"left",bottom:"top",top:"bottom"},tt={start:"end",end:"start"};function lt(e,t,l){return Ye(e,Je(t,l))}function it(e,t){return"function"==typeof e?e(t):e}function at(e){return e.split("-")[0]}function ot(e){return e.split("-")[1]}function nt(e){return"x"===e?"y":"x"}function ct(e){return"y"===e?"height":"width"}const rt=new Set(["top","bottom"]);function st(e){return rt.has(at(e))?"y":"x"}function ht(e){return nt(st(e))}function dt(e,t,l){void 0===l&&(l=!1);const i=ot(e),a=ht(e),o=ct(a);let n="x"===a?i===(l?"end":"start")?"right":"left":"start"===i?"bottom":"top";return t.reference[o]>t.floating[o]&&(n=mt(n)),[n,mt(n)]}function vt(e){return e.replace(/start|end/g,e=>tt[e])}const ut=["left","right"],pt=["right","left"],gt=["top","bottom"],wt=["bottom","top"];function ft(e,t,l,i){const a=ot(e);let o=function(e,t,l){switch(e){case"top":case"bottom":return l?t?pt:ut:t?ut:pt;case"left":case"right":return t?gt:wt;default:return[]}}(at(e),"start"===l,i);return a&&(o=o.map(e=>e+"-"+a),t&&(o=o.concat(o.map(vt)))),o}function mt(e){return e.replace(/left|right|bottom|top/g,e=>et[e])}function Zt(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 xt(e){const{x:t,y:l,width:i,height:a}=e;return{width:i,height:a,top:l,left:t,right:t+i,bottom:l+a,x:t,y:l}}function Ct(e,t,l){let{reference:i,floating:a}=e;const o=st(t),n=ht(t),c=ct(n),r=at(t),s="y"===o,h=i.x+i.width/2-a.width/2,d=i.y+i.height/2-a.height/2,v=i[c]/2-a[c]/2;let u;switch(r){case"top":u={x:h,y:i.y-a.height};break;case"bottom":u={x:h,y:i.y+i.height};break;case"right":u={x:i.x+i.width,y:d};break;case"left":u={x:i.x-a.width,y:d};break;default:u={x:i.x,y:i.y}}switch(ot(t)){case"start":u[n]-=v*(l&&s?-1:1);break;case"end":u[n]+=v*(l&&s?-1:1)}return u}async function Mt(e,t){var l;void 0===t&&(t={});const{x:i,y:a,platform:o,rects:n,elements:c,strategy:r}=e,{boundary:s="clippingAncestors",rootBoundary:h="viewport",elementContext:d="floating",altBoundary:v=!1,padding:u=0}=it(t,e),p=Zt(u),g=c[v?"floating"===d?"reference":"floating":d],w=xt(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(c.floating)),boundary:s,rootBoundary:h,strategy:r})),f="floating"===d?{x:i,y:a,width:n.floating.width,height:n.floating.height}:n.reference,m=await(null==o.getOffsetParent?void 0:o.getOffsetParent(c.floating)),Z=await(null==o.isElement?void 0:o.isElement(m))&&await(null==o.getScale?void 0:o.getScale(m))||{x:1,y:1},x=xt(o.convertOffsetParentRelativeRectToViewportRelativeRect?await o.convertOffsetParentRelativeRectToViewportRelativeRect({elements:c,rect:f,offsetParent:m,strategy:r}):f);return{top:(w.top-x.top+p.top)/Z.y,bottom:(x.bottom-w.bottom+p.bottom)/Z.y,left:(w.left-x.left+p.left)/Z.x,right:(x.right-w.right+p.right)/Z.x}}const yt=new Set(["left","top"]);function bt(){return"undefined"!=typeof window}function _t(e){return Bt(e)?(e.nodeName||"").toLowerCase():"#document"}function Vt(e){var t;return(null==e||null==(t=e.ownerDocument)?void 0:t.defaultView)||window}function Ht(e){var t;return null==(t=(Bt(e)?e.ownerDocument:e.document)||window.document)?void 0:t.documentElement}function Bt(e){return!!bt()&&(e instanceof Node||e instanceof Vt(e).Node)}function At(e){return!!bt()&&(e instanceof Element||e instanceof Vt(e).Element)}function $t(e){return!!bt()&&(e instanceof HTMLElement||e instanceof Vt(e).HTMLElement)}function Lt(e){return!(!bt()||"undefined"==typeof ShadowRoot)&&(e instanceof ShadowRoot||e instanceof Vt(e).ShadowRoot)}const St=new Set(["inline","contents"]);function kt(e){const{overflow:t,overflowX:l,overflowY:i,display:a}=Ft(e);return/auto|scroll|overlay|hidden|clip/.test(t+i+l)&&!St.has(a)}const Et=new Set(["table","td","th"]);function Pt(e){return Et.has(_t(e))}const Tt=[":popover-open",":modal"];function Ot(e){return Tt.some(t=>{try{return e.matches(t)}catch(e){return!1}})}const Rt=["transform","translate","scale","rotate","perspective"],Dt=["transform","translate","scale","rotate","perspective","filter"],Nt=["paint","layout","strict","content"];function zt(e){const t=It(),l=At(e)?Ft(e):e;return Rt.some(e=>!!l[e]&&"none"!==l[e])||!!l.containerType&&"normal"!==l.containerType||!t&&!!l.backdropFilter&&"none"!==l.backdropFilter||!t&&!!l.filter&&"none"!==l.filter||Dt.some(e=>(l.willChange||"").includes(e))||Nt.some(e=>(l.contain||"").includes(e))}function It(){return!("undefined"==typeof CSS||!CSS.supports)&&CSS.supports("-webkit-backdrop-filter","none")}const Ut=new Set(["html","body","#document"]);function Wt(e){return Ut.has(_t(e))}function Ft(e){return Vt(e).getComputedStyle(e)}function qt(e){return At(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function jt(e){if("html"===_t(e))return e;const t=e.assignedSlot||e.parentNode||Lt(e)&&e.host||Ht(e);return Lt(t)?t.host:t}function Kt(e){const t=jt(e);return Wt(t)?e.ownerDocument?e.ownerDocument.body:e.body:$t(t)&&kt(t)?t:Kt(t)}function Jt(e,t,l){var i;void 0===t&&(t=[]),void 0===l&&(l=!0);const a=Kt(e),o=a===(null==(i=e.ownerDocument)?void 0:i.body),n=Vt(a);if(o){const e=Yt(n);return t.concat(n,n.visualViewport||[],kt(a)?a:[],e&&l?Jt(e):[])}return t.concat(a,Jt(a,[],l))}function Yt(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function Xt(e){const t=Ft(e);let l=parseFloat(t.width)||0,i=parseFloat(t.height)||0;const a=$t(e),o=a?e.offsetWidth:l,n=a?e.offsetHeight:i,c=Xe(l)!==o||Xe(i)!==n;return c&&(l=o,i=n),{width:l,height:i,$:c}}function Gt(e){return At(e)?e:e.contextElement}function Qt(e){const t=Gt(e);if(!$t(t))return Qe(1);const l=t.getBoundingClientRect(),{width:i,height:a,$:o}=Xt(t);let n=(o?Xe(l.width):l.width)/i,c=(o?Xe(l.height):l.height)/a;return n&&Number.isFinite(n)||(n=1),c&&Number.isFinite(c)||(c=1),{x:n,y:c}}const el=Qe(0);function tl(e){const t=Vt(e);return It()&&t.visualViewport?{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}:el}function ll(e,t,l,i){void 0===t&&(t=!1),void 0===l&&(l=!1);const a=e.getBoundingClientRect(),o=Gt(e);let n=Qe(1);t&&(i?At(i)&&(n=Qt(i)):n=Qt(e));const c=function(e,t,l){return void 0===t&&(t=!1),!(!l||t&&l!==Vt(e))&&t}(o,l,i)?tl(o):Qe(0);let r=(a.left+c.x)/n.x,s=(a.top+c.y)/n.y,h=a.width/n.x,d=a.height/n.y;if(o){const e=Vt(o),t=i&&At(i)?Vt(i):i;let l=e,a=Yt(l);for(;a&&i&&t!==l;){const e=Qt(a),t=a.getBoundingClientRect(),i=Ft(a),o=t.left+(a.clientLeft+parseFloat(i.paddingLeft))*e.x,n=t.top+(a.clientTop+parseFloat(i.paddingTop))*e.y;r*=e.x,s*=e.y,h*=e.x,d*=e.y,r+=o,s+=n,l=Vt(a),a=Yt(l)}}return xt({width:h,height:d,x:r,y:s})}function il(e,t){const l=qt(e).scrollLeft;return t?t.left+l:ll(Ht(e)).left+l}function al(e,t){const l=e.getBoundingClientRect();return{x:l.left+t.scrollLeft-il(e,l),y:l.top+t.scrollTop}}const ol=new Set(["absolute","fixed"]);function nl(e,t,l){let i;if("viewport"===t)i=function(e,t){const l=Vt(e),i=Ht(e),a=l.visualViewport;let o=i.clientWidth,n=i.clientHeight,c=0,r=0;if(a){o=a.width,n=a.height;const e=It();(!e||e&&"fixed"===t)&&(c=a.offsetLeft,r=a.offsetTop)}const s=il(i);if(s<=0){const e=i.ownerDocument,t=e.body,l=getComputedStyle(t),a="CSS1Compat"===e.compatMode&&parseFloat(l.marginLeft)+parseFloat(l.marginRight)||0,n=Math.abs(i.clientWidth-t.clientWidth-a);n<=25&&(o-=n)}else s<=25&&(o+=s);return{width:o,height:n,x:c,y:r}}(e,l);else if("document"===t)i=function(e){const t=Ht(e),l=qt(e),i=e.ownerDocument.body,a=Ye(t.scrollWidth,t.clientWidth,i.scrollWidth,i.clientWidth),o=Ye(t.scrollHeight,t.clientHeight,i.scrollHeight,i.clientHeight);let n=-l.scrollLeft+il(e);const c=-l.scrollTop;return"rtl"===Ft(i).direction&&(n+=Ye(t.clientWidth,i.clientWidth)-a),{width:a,height:o,x:n,y:c}}(Ht(e));else if(At(t))i=function(e,t){const l=ll(e,!0,"fixed"===t),i=l.top+e.clientTop,a=l.left+e.clientLeft,o=$t(e)?Qt(e):Qe(1);return{width:e.clientWidth*o.x,height:e.clientHeight*o.y,x:a*o.x,y:i*o.y}}(t,l);else{const l=tl(e);i={x:t.x-l.x,y:t.y-l.y,width:t.width,height:t.height}}return xt(i)}function cl(e,t){const l=jt(e);return!(l===t||!At(l)||Wt(l))&&("fixed"===Ft(l).position||cl(l,t))}function rl(e,t,l){const i=$t(t),a=Ht(t),o="fixed"===l,n=ll(e,!0,o,t);let c={scrollLeft:0,scrollTop:0};const r=Qe(0);function s(){r.x=il(a)}if(i||!i&&!o)if(("body"!==_t(t)||kt(a))&&(c=qt(t)),i){const e=ll(t,!0,o,t);r.x=e.x+t.clientLeft,r.y=e.y+t.clientTop}else a&&s();o&&!i&&a&&s();const h=!a||i||o?Qe(0):al(a,c);return{x:n.left+c.scrollLeft-r.x-h.x,y:n.top+c.scrollTop-r.y-h.y,width:n.width,height:n.height}}function sl(e){return"static"===Ft(e).position}function hl(e,t){if(!$t(e)||"fixed"===Ft(e).position)return null;if(t)return t(e);let l=e.offsetParent;return Ht(e)===l&&(l=l.ownerDocument.body),l}function dl(e,t){const l=Vt(e);if(Ot(e))return l;if(!$t(e)){let t=jt(e);for(;t&&!Wt(t);){if(At(t)&&!sl(t))return t;t=jt(t)}return l}let i=hl(e,t);for(;i&&Pt(i)&&sl(i);)i=hl(i,t);return i&&Wt(i)&&sl(i)&&!zt(i)?l:i||function(e){let t=jt(e);for(;$t(t)&&!Wt(t);){if(zt(t))return t;if(Ot(t))return null;t=jt(t)}return null}(e)||l}const vl={convertOffsetParentRelativeRectToViewportRelativeRect:function(e){let{elements:t,rect:l,offsetParent:i,strategy:a}=e;const o="fixed"===a,n=Ht(i),c=!!t&&Ot(t.floating);if(i===n||c&&o)return l;let r={scrollLeft:0,scrollTop:0},s=Qe(1);const h=Qe(0),d=$t(i);if((d||!d&&!o)&&(("body"!==_t(i)||kt(n))&&(r=qt(i)),$t(i))){const e=ll(i);s=Qt(i),h.x=e.x+i.clientLeft,h.y=e.y+i.clientTop}const v=!n||d||o?Qe(0):al(n,r);return{width:l.width*s.x,height:l.height*s.y,x:l.x*s.x-r.scrollLeft*s.x+h.x+v.x,y:l.y*s.y-r.scrollTop*s.y+h.y+v.y}},getDocumentElement:Ht,getClippingRect:function(e){let{element:t,boundary:l,rootBoundary:i,strategy:a}=e;const o=[..."clippingAncestors"===l?Ot(t)?[]:function(e,t){const l=t.get(e);if(l)return l;let i=Jt(e,[],!1).filter(e=>At(e)&&"body"!==_t(e)),a=null;const o="fixed"===Ft(e).position;let n=o?jt(e):e;for(;At(n)&&!Wt(n);){const t=Ft(n),l=zt(n);l||"fixed"!==t.position||(a=null),(o?!l&&!a:!l&&"static"===t.position&&a&&ol.has(a.position)||kt(n)&&!l&&cl(e,n))?i=i.filter(e=>e!==n):a=t,n=jt(n)}return t.set(e,i),i}(t,this._c):[].concat(l),i],n=o[0],c=o.reduce((e,l)=>{const i=nl(t,l,a);return e.top=Ye(i.top,e.top),e.right=Je(i.right,e.right),e.bottom=Je(i.bottom,e.bottom),e.left=Ye(i.left,e.left),e},nl(t,n,a));return{width:c.right-c.left,height:c.bottom-c.top,x:c.left,y:c.top}},getOffsetParent:dl,getElementRects:async function(e){const t=this.getOffsetParent||dl,l=this.getDimensions,i=await l(e.floating);return{reference:rl(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:i.width,height:i.height}}},getClientRects:function(e){return Array.from(e.getClientRects())},getDimensions:function(e){const{width:t,height:l}=Xt(e);return{width:t,height:l}},getScale:Qt,isElement:At,isRTL:function(e){return"rtl"===Ft(e).direction}};function ul(e,t){return e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height}function pl(e,t,l,i){void 0===i&&(i={});const{ancestorScroll:a=!0,ancestorResize:o=!0,elementResize:n="function"==typeof ResizeObserver,layoutShift:c="function"==typeof IntersectionObserver,animationFrame:r=!1}=i,s=Gt(e),h=a||o?[...s?Jt(s):[],...Jt(t)]:[];h.forEach(e=>{a&&e.addEventListener("scroll",l,{passive:!0}),o&&e.addEventListener("resize",l)});const d=s&&c?function(e,t){let l,i=null;const a=Ht(e);function o(){var e;clearTimeout(l),null==(e=i)||e.disconnect(),i=null}return function n(c,r){void 0===c&&(c=!1),void 0===r&&(r=1),o();const s=e.getBoundingClientRect(),{left:h,top:d,width:v,height:u}=s;if(c||t(),!v||!u)return;const p={rootMargin:-Ge(d)+"px "+-Ge(a.clientWidth-(h+v))+"px "+-Ge(a.clientHeight-(d+u))+"px "+-Ge(h)+"px",threshold:Ye(0,Je(1,r))||1};let g=!0;function w(t){const i=t[0].intersectionRatio;if(i!==r){if(!g)return n();i?n(!1,i):l=setTimeout(()=>{n(!1,1e-7)},1e3)}1!==i||ul(s,e.getBoundingClientRect())||n(),g=!1}try{i=new IntersectionObserver(w,{...p,root:a.ownerDocument})}catch(e){i=new IntersectionObserver(w,p)}i.observe(e)}(!0),o}(s,l):null;let v,u=-1,p=null;n&&(p=new ResizeObserver(e=>{let[i]=e;i&&i.target===s&&p&&(p.unobserve(t),cancelAnimationFrame(u),u=requestAnimationFrame(()=>{var e;null==(e=p)||e.observe(t)})),l()}),s&&!r&&p.observe(s),p.observe(t));let g=r?ll(e):null;return r&&function t(){const i=ll(e);g&&!ul(g,i)&&l();g=i,v=requestAnimationFrame(t)}(),l(),()=>{var e;h.forEach(e=>{a&&e.removeEventListener("scroll",l),o&&e.removeEventListener("resize",l)}),null==d||d(),null==(e=p)||e.disconnect(),p=null,r&&cancelAnimationFrame(v)}}const gl=function(e){return void 0===e&&(e=0),{name:"offset",options:e,async fn(t){var l,i;const{x:a,y:o,placement:n,middlewareData:c}=t,r=await async function(e,t){const{placement:l,platform:i,elements:a}=e,o=await(null==i.isRTL?void 0:i.isRTL(a.floating)),n=at(l),c=ot(l),r="y"===st(l),s=yt.has(n)?-1:1,h=o&&r?-1:1,d=it(t,e);let{mainAxis:v,crossAxis:u,alignmentAxis:p}="number"==typeof d?{mainAxis:d,crossAxis:0,alignmentAxis:null}:{mainAxis:d.mainAxis||0,crossAxis:d.crossAxis||0,alignmentAxis:d.alignmentAxis};return c&&"number"==typeof p&&(u="end"===c?-1*p:p),r?{x:u*h,y:v*s}:{x:v*s,y:u*h}}(t,e);return n===(null==(l=c.offset)?void 0:l.placement)&&null!=(i=c.arrow)&&i.alignmentOffset?{}:{x:a+r.x,y:o+r.y,data:{...r,placement:n}}}}},wl=function(e){return void 0===e&&(e={}),{name:"shift",options:e,async fn(t){const{x:l,y:i,placement:a}=t,{mainAxis:o=!0,crossAxis:n=!1,limiter:c={fn:e=>{let{x:t,y:l}=e;return{x:t,y:l}}},...r}=it(e,t),s={x:l,y:i},h=await Mt(t,r),d=st(at(a)),v=nt(d);let u=s[v],p=s[d];if(o){const e="y"===v?"bottom":"right";u=lt(u+h["y"===v?"top":"left"],u,u-h[e])}if(n){const e="y"===d?"bottom":"right";p=lt(p+h["y"===d?"top":"left"],p,p-h[e])}const g=c.fn({...t,[v]:u,[d]:p});return{...g,data:{x:g.x-l,y:g.y-i,enabled:{[v]:o,[d]:n}}}}}},fl=function(e){return void 0===e&&(e={}),{name:"flip",options:e,async fn(t){var l,i;const{placement:a,middlewareData:o,rects:n,initialPlacement:c,platform:r,elements:s}=t,{mainAxis:h=!0,crossAxis:d=!0,fallbackPlacements:v,fallbackStrategy:u="bestFit",fallbackAxisSideDirection:p="none",flipAlignment:g=!0,...w}=it(e,t);if(null!=(l=o.arrow)&&l.alignmentOffset)return{};const f=at(a),m=st(c),Z=at(c)===c,x=await(null==r.isRTL?void 0:r.isRTL(s.floating)),C=v||(Z||!g?[mt(c)]:function(e){const t=mt(e);return[vt(e),t,vt(t)]}(c)),M="none"!==p;!v&&M&&C.push(...ft(c,g,p,x));const y=[c,...C],b=await Mt(t,w),_=[];let V=(null==(i=o.flip)?void 0:i.overflows)||[];if(h&&_.push(b[f]),d){const e=dt(a,n,x);_.push(b[e[0]],b[e[1]])}if(V=[...V,{placement:a,overflows:_}],!_.every(e=>e<=0)){var H,B;const e=((null==(H=o.flip)?void 0:H.index)||0)+1,t=y[e];if(t){if(!("alignment"===d&&m!==st(t))||V.every(e=>st(e.placement)!==m||e.overflows[0]>0))return{data:{index:e,overflows:V},reset:{placement:t}}}let l=null==(B=V.filter(e=>e.overflows[0]<=0).sort((e,t)=>e.overflows[1]-t.overflows[1])[0])?void 0:B.placement;if(!l)switch(u){case"bestFit":{var A;const e=null==(A=V.filter(e=>{if(M){const t=st(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:A[0];e&&(l=e);break}case"initialPlacement":l=c}if(a!==l)return{reset:{placement:l}}}return{}}}},ml=(e,t,l)=>{const i=new Map,a={platform:vl,...l},o={...a.platform,_c:i};return(async(e,t,l)=>{const{placement:i="bottom",strategy:a="absolute",middleware:o=[],platform:n}=l,c=o.filter(Boolean),r=await(null==n.isRTL?void 0:n.isRTL(t));let s=await n.getElementRects({reference:e,floating:t,strategy:a}),{x:h,y:d}=Ct(s,i,r),v=i,u={},p=0;for(let l=0;l<c.length;l++){const{name:o,fn:g}=c[l],{x:w,y:f,data:m,reset:Z}=await g({x:h,y:d,initialPlacement:i,placement:v,strategy:a,middlewareData:u,rects:s,platform:n,elements:{reference:e,floating:t}});h=null!=w?w:h,d=null!=f?f:d,u={...u,[o]:{...u[o],...m}},Z&&p<=50&&(p++,"object"==typeof Z&&(Z.placement&&(v=Z.placement),Z.rects&&(s=!0===Z.rects?await n.getElementRects({reference:e,floating:t,strategy:a}):Z.rects),({x:h,y:d}=Ct(s,v,r))),l=-1)}return{x:h,y:d,placement:v,strategy:a,middlewareData:u}})(e,t,{...a,platform:o})};class Zl extends Se{constructor(){super(...arguments),this.myDropdown=Fe(),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=Fe(),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=pl(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)},i=t.map(l),a=e.map(e=>{const a=l(e),o=i.indexOf(a);return-1!==o?t[o]:e}).concat(t.filter(t=>!e.some(e=>l(e)===l(t))));return a}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=[gl(8),this.noFlip?void 0:fl(),wl()].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 i=Object.assign(Object.assign({strategy:"fixed",placement:e},this.floatingOpts),{middleware:l}),{x:a,y:o,strategy:n,placement:c}=await ml(this.myDropdown.value,this.menuRef.value,i);this.menuRef.value.setAttribute("data-placement",c),Object.assign(this.menuRef.value.style,{position:n,left:`${a}px`,top:`${o}px`})}}e([He({type:Boolean,state:!0})],Zl.prototype,"noFlip",void 0),e([He({type:Boolean,reflect:!0,state:!0})],Zl.prototype,"menuAlignRight",void 0),e([He({type:String,reflect:!0,state:!0})],Zl.prototype,"drop",void 0),e([He({type:Object})],Zl.prototype,"floatingOpts",void 0),e([He({type:Boolean,reflect:!0})],Zl.prototype,"menuIsOpen",void 0),e([He({type:Boolean,reflect:!0})],Zl.prototype,"disabled",void 0),e([He({type:Boolean,reflect:!0})],Zl.prototype,"readonly",void 0);class xl extends Zl{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 i=e.target;i.disabled||(this.emit("sgds-select",{detail:{item:i}}),"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,i=t[l];this.emit("i-sgds-option-focus",{detail:{option:i}}),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===i?"0":"-1"),e===i&&t.focus()})}}var Cl,Ml;xl.styles=Zl.styles,e([(Cl="ul.dropdown-menu",(e,t,l)=>{const i=e=>{const l=e.renderRoot?.querySelector(Cl)??null;if(null===l&&Ml&&!e.hasUpdated){const e="object"==typeof t?t.name:t;$e("",`@query'd field ${JSON.stringify(String(e))} with the 'cache' flag set for selector '${Cl}' has been accessed before the first update and returned null. This is expected if the renderRoot tree has not been provided beforehand (e.g. via Declarative Shadow DOM). Therefore the value hasn't been cached.`)}return l};if(Ml){const{get:a,set:o}="object"==typeof t?e:l??(()=>{const e=Symbol(`${String(t)} (@query() cache)`);return{get(){return this[e]},set(t){this[e]=t}}})();return Ae(e,t,{get(){let e=a.call(this);return void 0===e&&(e=i(this),(null!==e||this.hasUpdated)&&o.call(this,e)),e}})}return Ae(e,t,{get(){return i(this)}})})],xl.prototype,"menu",void 0),e([Be()],xl.prototype,"nextDropdownItemNo",void 0),e([Be()],xl.prototype,"prevDropdownItemNo",void 0),e([He({type:Boolean,reflect:!0})],xl.prototype,"hidden",void 0);var yl=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%}`,bl=n`.dropdown{display:flex;height:inherit;position:relative}`;class _l extends xl{constructor(){super(),this.noFlip=!1,this.menuAlignRight=!1,this.drop="down",this.menuRef=Ke()}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 Q`
65
+ */const Fe=()=>new qe;class qe{}const je=new WeakMap;const Ke=Te(class extends We{render(e){return le}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)),le}_updateRefValue(e){if(this.isConnected||(e=void 0),"function"==typeof this._ref){const t=this._context??globalThis;let l=je.get(t);void 0===l&&(l=new WeakMap,je.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?je.get(this._context??globalThis)?.get(this._ref):this._ref?.value}disconnected(){this._lastElementForRef===this._element&&this._updateRefValue(void 0)}reconnected(){this._updateRefValue(this._element)}}),Je=Math.min,Ye=Math.max,Xe=Math.round,Ge=Math.floor,Qe=e=>({x:e,y:e}),et={left:"right",right:"left",bottom:"top",top:"bottom"},tt={start:"end",end:"start"};function lt(e,t,l){return Ye(e,Je(t,l))}function it(e,t){return"function"==typeof e?e(t):e}function at(e){return e.split("-")[0]}function ot(e){return e.split("-")[1]}function nt(e){return"x"===e?"y":"x"}function ct(e){return"y"===e?"height":"width"}const rt=new Set(["top","bottom"]);function st(e){return rt.has(at(e))?"y":"x"}function ht(e){return nt(st(e))}function dt(e,t,l){void 0===l&&(l=!1);const i=ot(e),a=ht(e),o=ct(a);let n="x"===a?i===(l?"end":"start")?"right":"left":"start"===i?"bottom":"top";return t.reference[o]>t.floating[o]&&(n=mt(n)),[n,mt(n)]}function vt(e){return e.replace(/start|end/g,e=>tt[e])}const ut=["left","right"],pt=["right","left"],gt=["top","bottom"],wt=["bottom","top"];function ft(e,t,l,i){const a=ot(e);let o=function(e,t,l){switch(e){case"top":case"bottom":return l?t?pt:ut:t?ut:pt;case"left":case"right":return t?gt:wt;default:return[]}}(at(e),"start"===l,i);return a&&(o=o.map(e=>e+"-"+a),t&&(o=o.concat(o.map(vt)))),o}function mt(e){return e.replace(/left|right|bottom|top/g,e=>et[e])}function Zt(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 xt(e){const{x:t,y:l,width:i,height:a}=e;return{width:i,height:a,top:l,left:t,right:t+i,bottom:l+a,x:t,y:l}}function Ct(e,t,l){let{reference:i,floating:a}=e;const o=st(t),n=ht(t),c=ct(n),r=at(t),s="y"===o,h=i.x+i.width/2-a.width/2,d=i.y+i.height/2-a.height/2,v=i[c]/2-a[c]/2;let u;switch(r){case"top":u={x:h,y:i.y-a.height};break;case"bottom":u={x:h,y:i.y+i.height};break;case"right":u={x:i.x+i.width,y:d};break;case"left":u={x:i.x-a.width,y:d};break;default:u={x:i.x,y:i.y}}switch(ot(t)){case"start":u[n]-=v*(l&&s?-1:1);break;case"end":u[n]+=v*(l&&s?-1:1)}return u}async function Mt(e,t){var l;void 0===t&&(t={});const{x:i,y:a,platform:o,rects:n,elements:c,strategy:r}=e,{boundary:s="clippingAncestors",rootBoundary:h="viewport",elementContext:d="floating",altBoundary:v=!1,padding:u=0}=it(t,e),p=Zt(u),g=c[v?"floating"===d?"reference":"floating":d],w=xt(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(c.floating)),boundary:s,rootBoundary:h,strategy:r})),f="floating"===d?{x:i,y:a,width:n.floating.width,height:n.floating.height}:n.reference,m=await(null==o.getOffsetParent?void 0:o.getOffsetParent(c.floating)),Z=await(null==o.isElement?void 0:o.isElement(m))&&await(null==o.getScale?void 0:o.getScale(m))||{x:1,y:1},x=xt(o.convertOffsetParentRelativeRectToViewportRelativeRect?await o.convertOffsetParentRelativeRectToViewportRelativeRect({elements:c,rect:f,offsetParent:m,strategy:r}):f);return{top:(w.top-x.top+p.top)/Z.y,bottom:(x.bottom-w.bottom+p.bottom)/Z.y,left:(w.left-x.left+p.left)/Z.x,right:(x.right-w.right+p.right)/Z.x}}const yt=new Set(["left","top"]);function bt(){return"undefined"!=typeof window}function _t(e){return Bt(e)?(e.nodeName||"").toLowerCase():"#document"}function Vt(e){var t;return(null==e||null==(t=e.ownerDocument)?void 0:t.defaultView)||window}function Ht(e){var t;return null==(t=(Bt(e)?e.ownerDocument:e.document)||window.document)?void 0:t.documentElement}function Bt(e){return!!bt()&&(e instanceof Node||e instanceof Vt(e).Node)}function At(e){return!!bt()&&(e instanceof Element||e instanceof Vt(e).Element)}function $t(e){return!!bt()&&(e instanceof HTMLElement||e instanceof Vt(e).HTMLElement)}function Lt(e){return!(!bt()||"undefined"==typeof ShadowRoot)&&(e instanceof ShadowRoot||e instanceof Vt(e).ShadowRoot)}const St=new Set(["inline","contents"]);function kt(e){const{overflow:t,overflowX:l,overflowY:i,display:a}=Ft(e);return/auto|scroll|overlay|hidden|clip/.test(t+i+l)&&!St.has(a)}const Et=new Set(["table","td","th"]);function Pt(e){return Et.has(_t(e))}const Tt=[":popover-open",":modal"];function Ot(e){return Tt.some(t=>{try{return e.matches(t)}catch(e){return!1}})}const Rt=["transform","translate","scale","rotate","perspective"],Dt=["transform","translate","scale","rotate","perspective","filter"],Nt=["paint","layout","strict","content"];function zt(e){const t=It(),l=At(e)?Ft(e):e;return Rt.some(e=>!!l[e]&&"none"!==l[e])||!!l.containerType&&"normal"!==l.containerType||!t&&!!l.backdropFilter&&"none"!==l.backdropFilter||!t&&!!l.filter&&"none"!==l.filter||Dt.some(e=>(l.willChange||"").includes(e))||Nt.some(e=>(l.contain||"").includes(e))}function It(){return!("undefined"==typeof CSS||!CSS.supports)&&CSS.supports("-webkit-backdrop-filter","none")}const Ut=new Set(["html","body","#document"]);function Wt(e){return Ut.has(_t(e))}function Ft(e){return Vt(e).getComputedStyle(e)}function qt(e){return At(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function jt(e){if("html"===_t(e))return e;const t=e.assignedSlot||e.parentNode||Lt(e)&&e.host||Ht(e);return Lt(t)?t.host:t}function Kt(e){const t=jt(e);return Wt(t)?e.ownerDocument?e.ownerDocument.body:e.body:$t(t)&&kt(t)?t:Kt(t)}function Jt(e,t,l){var i;void 0===t&&(t=[]),void 0===l&&(l=!0);const a=Kt(e),o=a===(null==(i=e.ownerDocument)?void 0:i.body),n=Vt(a);if(o){const e=Yt(n);return t.concat(n,n.visualViewport||[],kt(a)?a:[],e&&l?Jt(e):[])}return t.concat(a,Jt(a,[],l))}function Yt(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function Xt(e){const t=Ft(e);let l=parseFloat(t.width)||0,i=parseFloat(t.height)||0;const a=$t(e),o=a?e.offsetWidth:l,n=a?e.offsetHeight:i,c=Xe(l)!==o||Xe(i)!==n;return c&&(l=o,i=n),{width:l,height:i,$:c}}function Gt(e){return At(e)?e:e.contextElement}function Qt(e){const t=Gt(e);if(!$t(t))return Qe(1);const l=t.getBoundingClientRect(),{width:i,height:a,$:o}=Xt(t);let n=(o?Xe(l.width):l.width)/i,c=(o?Xe(l.height):l.height)/a;return n&&Number.isFinite(n)||(n=1),c&&Number.isFinite(c)||(c=1),{x:n,y:c}}const el=Qe(0);function tl(e){const t=Vt(e);return It()&&t.visualViewport?{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}:el}function ll(e,t,l,i){void 0===t&&(t=!1),void 0===l&&(l=!1);const a=e.getBoundingClientRect(),o=Gt(e);let n=Qe(1);t&&(i?At(i)&&(n=Qt(i)):n=Qt(e));const c=function(e,t,l){return void 0===t&&(t=!1),!(!l||t&&l!==Vt(e))&&t}(o,l,i)?tl(o):Qe(0);let r=(a.left+c.x)/n.x,s=(a.top+c.y)/n.y,h=a.width/n.x,d=a.height/n.y;if(o){const e=Vt(o),t=i&&At(i)?Vt(i):i;let l=e,a=Yt(l);for(;a&&i&&t!==l;){const e=Qt(a),t=a.getBoundingClientRect(),i=Ft(a),o=t.left+(a.clientLeft+parseFloat(i.paddingLeft))*e.x,n=t.top+(a.clientTop+parseFloat(i.paddingTop))*e.y;r*=e.x,s*=e.y,h*=e.x,d*=e.y,r+=o,s+=n,l=Vt(a),a=Yt(l)}}return xt({width:h,height:d,x:r,y:s})}function il(e,t){const l=qt(e).scrollLeft;return t?t.left+l:ll(Ht(e)).left+l}function al(e,t){const l=e.getBoundingClientRect();return{x:l.left+t.scrollLeft-il(e,l),y:l.top+t.scrollTop}}const ol=new Set(["absolute","fixed"]);function nl(e,t,l){let i;if("viewport"===t)i=function(e,t){const l=Vt(e),i=Ht(e),a=l.visualViewport;let o=i.clientWidth,n=i.clientHeight,c=0,r=0;if(a){o=a.width,n=a.height;const e=It();(!e||e&&"fixed"===t)&&(c=a.offsetLeft,r=a.offsetTop)}const s=il(i);if(s<=0){const e=i.ownerDocument,t=e.body,l=getComputedStyle(t),a="CSS1Compat"===e.compatMode&&parseFloat(l.marginLeft)+parseFloat(l.marginRight)||0,n=Math.abs(i.clientWidth-t.clientWidth-a);n<=25&&(o-=n)}else s<=25&&(o+=s);return{width:o,height:n,x:c,y:r}}(e,l);else if("document"===t)i=function(e){const t=Ht(e),l=qt(e),i=e.ownerDocument.body,a=Ye(t.scrollWidth,t.clientWidth,i.scrollWidth,i.clientWidth),o=Ye(t.scrollHeight,t.clientHeight,i.scrollHeight,i.clientHeight);let n=-l.scrollLeft+il(e);const c=-l.scrollTop;return"rtl"===Ft(i).direction&&(n+=Ye(t.clientWidth,i.clientWidth)-a),{width:a,height:o,x:n,y:c}}(Ht(e));else if(At(t))i=function(e,t){const l=ll(e,!0,"fixed"===t),i=l.top+e.clientTop,a=l.left+e.clientLeft,o=$t(e)?Qt(e):Qe(1);return{width:e.clientWidth*o.x,height:e.clientHeight*o.y,x:a*o.x,y:i*o.y}}(t,l);else{const l=tl(e);i={x:t.x-l.x,y:t.y-l.y,width:t.width,height:t.height}}return xt(i)}function cl(e,t){const l=jt(e);return!(l===t||!At(l)||Wt(l))&&("fixed"===Ft(l).position||cl(l,t))}function rl(e,t,l){const i=$t(t),a=Ht(t),o="fixed"===l,n=ll(e,!0,o,t);let c={scrollLeft:0,scrollTop:0};const r=Qe(0);function s(){r.x=il(a)}if(i||!i&&!o)if(("body"!==_t(t)||kt(a))&&(c=qt(t)),i){const e=ll(t,!0,o,t);r.x=e.x+t.clientLeft,r.y=e.y+t.clientTop}else a&&s();o&&!i&&a&&s();const h=!a||i||o?Qe(0):al(a,c);return{x:n.left+c.scrollLeft-r.x-h.x,y:n.top+c.scrollTop-r.y-h.y,width:n.width,height:n.height}}function sl(e){return"static"===Ft(e).position}function hl(e,t){if(!$t(e)||"fixed"===Ft(e).position)return null;if(t)return t(e);let l=e.offsetParent;return Ht(e)===l&&(l=l.ownerDocument.body),l}function dl(e,t){const l=Vt(e);if(Ot(e))return l;if(!$t(e)){let t=jt(e);for(;t&&!Wt(t);){if(At(t)&&!sl(t))return t;t=jt(t)}return l}let i=hl(e,t);for(;i&&Pt(i)&&sl(i);)i=hl(i,t);return i&&Wt(i)&&sl(i)&&!zt(i)?l:i||function(e){let t=jt(e);for(;$t(t)&&!Wt(t);){if(zt(t))return t;if(Ot(t))return null;t=jt(t)}return null}(e)||l}const vl={convertOffsetParentRelativeRectToViewportRelativeRect:function(e){let{elements:t,rect:l,offsetParent:i,strategy:a}=e;const o="fixed"===a,n=Ht(i),c=!!t&&Ot(t.floating);if(i===n||c&&o)return l;let r={scrollLeft:0,scrollTop:0},s=Qe(1);const h=Qe(0),d=$t(i);if((d||!d&&!o)&&(("body"!==_t(i)||kt(n))&&(r=qt(i)),$t(i))){const e=ll(i);s=Qt(i),h.x=e.x+i.clientLeft,h.y=e.y+i.clientTop}const v=!n||d||o?Qe(0):al(n,r);return{width:l.width*s.x,height:l.height*s.y,x:l.x*s.x-r.scrollLeft*s.x+h.x+v.x,y:l.y*s.y-r.scrollTop*s.y+h.y+v.y}},getDocumentElement:Ht,getClippingRect:function(e){let{element:t,boundary:l,rootBoundary:i,strategy:a}=e;const o=[..."clippingAncestors"===l?Ot(t)?[]:function(e,t){const l=t.get(e);if(l)return l;let i=Jt(e,[],!1).filter(e=>At(e)&&"body"!==_t(e)),a=null;const o="fixed"===Ft(e).position;let n=o?jt(e):e;for(;At(n)&&!Wt(n);){const t=Ft(n),l=zt(n);l||"fixed"!==t.position||(a=null),(o?!l&&!a:!l&&"static"===t.position&&a&&ol.has(a.position)||kt(n)&&!l&&cl(e,n))?i=i.filter(e=>e!==n):a=t,n=jt(n)}return t.set(e,i),i}(t,this._c):[].concat(l),i],n=o[0],c=o.reduce((e,l)=>{const i=nl(t,l,a);return e.top=Ye(i.top,e.top),e.right=Je(i.right,e.right),e.bottom=Je(i.bottom,e.bottom),e.left=Ye(i.left,e.left),e},nl(t,n,a));return{width:c.right-c.left,height:c.bottom-c.top,x:c.left,y:c.top}},getOffsetParent:dl,getElementRects:async function(e){const t=this.getOffsetParent||dl,l=this.getDimensions,i=await l(e.floating);return{reference:rl(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:i.width,height:i.height}}},getClientRects:function(e){return Array.from(e.getClientRects())},getDimensions:function(e){const{width:t,height:l}=Xt(e);return{width:t,height:l}},getScale:Qt,isElement:At,isRTL:function(e){return"rtl"===Ft(e).direction}};function ul(e,t){return e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height}function pl(e,t,l,i){void 0===i&&(i={});const{ancestorScroll:a=!0,ancestorResize:o=!0,elementResize:n="function"==typeof ResizeObserver,layoutShift:c="function"==typeof IntersectionObserver,animationFrame:r=!1}=i,s=Gt(e),h=a||o?[...s?Jt(s):[],...Jt(t)]:[];h.forEach(e=>{a&&e.addEventListener("scroll",l,{passive:!0}),o&&e.addEventListener("resize",l)});const d=s&&c?function(e,t){let l,i=null;const a=Ht(e);function o(){var e;clearTimeout(l),null==(e=i)||e.disconnect(),i=null}return function n(c,r){void 0===c&&(c=!1),void 0===r&&(r=1),o();const s=e.getBoundingClientRect(),{left:h,top:d,width:v,height:u}=s;if(c||t(),!v||!u)return;const p={rootMargin:-Ge(d)+"px "+-Ge(a.clientWidth-(h+v))+"px "+-Ge(a.clientHeight-(d+u))+"px "+-Ge(h)+"px",threshold:Ye(0,Je(1,r))||1};let g=!0;function w(t){const i=t[0].intersectionRatio;if(i!==r){if(!g)return n();i?n(!1,i):l=setTimeout(()=>{n(!1,1e-7)},1e3)}1!==i||ul(s,e.getBoundingClientRect())||n(),g=!1}try{i=new IntersectionObserver(w,{...p,root:a.ownerDocument})}catch(e){i=new IntersectionObserver(w,p)}i.observe(e)}(!0),o}(s,l):null;let v,u=-1,p=null;n&&(p=new ResizeObserver(e=>{let[i]=e;i&&i.target===s&&p&&(p.unobserve(t),cancelAnimationFrame(u),u=requestAnimationFrame(()=>{var e;null==(e=p)||e.observe(t)})),l()}),s&&!r&&p.observe(s),p.observe(t));let g=r?ll(e):null;return r&&function t(){const i=ll(e);g&&!ul(g,i)&&l();g=i,v=requestAnimationFrame(t)}(),l(),()=>{var e;h.forEach(e=>{a&&e.removeEventListener("scroll",l),o&&e.removeEventListener("resize",l)}),null==d||d(),null==(e=p)||e.disconnect(),p=null,r&&cancelAnimationFrame(v)}}const gl=function(e){return void 0===e&&(e=0),{name:"offset",options:e,async fn(t){var l,i;const{x:a,y:o,placement:n,middlewareData:c}=t,r=await async function(e,t){const{placement:l,platform:i,elements:a}=e,o=await(null==i.isRTL?void 0:i.isRTL(a.floating)),n=at(l),c=ot(l),r="y"===st(l),s=yt.has(n)?-1:1,h=o&&r?-1:1,d=it(t,e);let{mainAxis:v,crossAxis:u,alignmentAxis:p}="number"==typeof d?{mainAxis:d,crossAxis:0,alignmentAxis:null}:{mainAxis:d.mainAxis||0,crossAxis:d.crossAxis||0,alignmentAxis:d.alignmentAxis};return c&&"number"==typeof p&&(u="end"===c?-1*p:p),r?{x:u*h,y:v*s}:{x:v*s,y:u*h}}(t,e);return n===(null==(l=c.offset)?void 0:l.placement)&&null!=(i=c.arrow)&&i.alignmentOffset?{}:{x:a+r.x,y:o+r.y,data:{...r,placement:n}}}}},wl=function(e){return void 0===e&&(e={}),{name:"shift",options:e,async fn(t){const{x:l,y:i,placement:a}=t,{mainAxis:o=!0,crossAxis:n=!1,limiter:c={fn:e=>{let{x:t,y:l}=e;return{x:t,y:l}}},...r}=it(e,t),s={x:l,y:i},h=await Mt(t,r),d=st(at(a)),v=nt(d);let u=s[v],p=s[d];if(o){const e="y"===v?"bottom":"right";u=lt(u+h["y"===v?"top":"left"],u,u-h[e])}if(n){const e="y"===d?"bottom":"right";p=lt(p+h["y"===d?"top":"left"],p,p-h[e])}const g=c.fn({...t,[v]:u,[d]:p});return{...g,data:{x:g.x-l,y:g.y-i,enabled:{[v]:o,[d]:n}}}}}},fl=function(e){return void 0===e&&(e={}),{name:"flip",options:e,async fn(t){var l,i;const{placement:a,middlewareData:o,rects:n,initialPlacement:c,platform:r,elements:s}=t,{mainAxis:h=!0,crossAxis:d=!0,fallbackPlacements:v,fallbackStrategy:u="bestFit",fallbackAxisSideDirection:p="none",flipAlignment:g=!0,...w}=it(e,t);if(null!=(l=o.arrow)&&l.alignmentOffset)return{};const f=at(a),m=st(c),Z=at(c)===c,x=await(null==r.isRTL?void 0:r.isRTL(s.floating)),C=v||(Z||!g?[mt(c)]:function(e){const t=mt(e);return[vt(e),t,vt(t)]}(c)),M="none"!==p;!v&&M&&C.push(...ft(c,g,p,x));const y=[c,...C],b=await Mt(t,w),_=[];let V=(null==(i=o.flip)?void 0:i.overflows)||[];if(h&&_.push(b[f]),d){const e=dt(a,n,x);_.push(b[e[0]],b[e[1]])}if(V=[...V,{placement:a,overflows:_}],!_.every(e=>e<=0)){var H,B;const e=((null==(H=o.flip)?void 0:H.index)||0)+1,t=y[e];if(t){if(!("alignment"===d&&m!==st(t))||V.every(e=>st(e.placement)!==m||e.overflows[0]>0))return{data:{index:e,overflows:V},reset:{placement:t}}}let l=null==(B=V.filter(e=>e.overflows[0]<=0).sort((e,t)=>e.overflows[1]-t.overflows[1])[0])?void 0:B.placement;if(!l)switch(u){case"bestFit":{var A;const e=null==(A=V.filter(e=>{if(M){const t=st(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:A[0];e&&(l=e);break}case"initialPlacement":l=c}if(a!==l)return{reset:{placement:l}}}return{}}}},ml=(e,t,l)=>{const i=new Map,a={platform:vl,...l},o={...a.platform,_c:i};return(async(e,t,l)=>{const{placement:i="bottom",strategy:a="absolute",middleware:o=[],platform:n}=l,c=o.filter(Boolean),r=await(null==n.isRTL?void 0:n.isRTL(t));let s=await n.getElementRects({reference:e,floating:t,strategy:a}),{x:h,y:d}=Ct(s,i,r),v=i,u={},p=0;for(let l=0;l<c.length;l++){const{name:o,fn:g}=c[l],{x:w,y:f,data:m,reset:Z}=await g({x:h,y:d,initialPlacement:i,placement:v,strategy:a,middlewareData:u,rects:s,platform:n,elements:{reference:e,floating:t}});h=null!=w?w:h,d=null!=f?f:d,u={...u,[o]:{...u[o],...m}},Z&&p<=50&&(p++,"object"==typeof Z&&(Z.placement&&(v=Z.placement),Z.rects&&(s=!0===Z.rects?await n.getElementRects({reference:e,floating:t,strategy:a}):Z.rects),({x:h,y:d}=Ct(s,v,r))),l=-1)}return{x:h,y:d,placement:v,strategy:a,middlewareData:u}})(e,t,{...a,platform:o})};class Zl extends Se{constructor(){super(...arguments),this.myDropdown=Fe(),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=Fe(),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=pl(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)},i=t.map(l),a=e.map(e=>{const a=l(e),o=i.indexOf(a);return-1!==o?t[o]:e}).concat(t.filter(t=>!e.some(e=>l(e)===l(t))));return a}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=[gl(8),this.noFlip?void 0:fl(),wl()].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 i=Object.assign(Object.assign({strategy:"fixed",placement:e},this.floatingOpts),{middleware:l}),{x:a,y:o,strategy:n,placement:c}=await ml(this.myDropdown.value,this.menuRef.value,i);this.menuRef.value.setAttribute("data-placement",c),Object.assign(this.menuRef.value.style,{position:n,left:`${a}px`,top:`${o}px`})}}e([He({type:Boolean,state:!0})],Zl.prototype,"noFlip",void 0),e([He({type:Boolean,reflect:!0,state:!0})],Zl.prototype,"menuAlignRight",void 0),e([He({type:String,reflect:!0,state:!0})],Zl.prototype,"drop",void 0),e([He({type:Object})],Zl.prototype,"floatingOpts",void 0),e([He({type:Boolean,reflect:!0})],Zl.prototype,"menuIsOpen",void 0),e([He({type:Boolean,reflect:!0})],Zl.prototype,"disabled",void 0),e([He({type:Boolean,reflect:!0})],Zl.prototype,"readonly",void 0);class xl extends Zl{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 i=e.target;i.disabled||(this.emit("sgds-select",{detail:{item:i}}),"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,i=t[l];this.emit("i-sgds-option-focus",{detail:{option:i}}),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===i?"0":"-1"),e===i&&t.focus()})}}var Cl,Ml;xl.styles=Zl.styles,e([(Cl="ul.dropdown-menu",(e,t,l)=>{const i=e=>{const l=e.renderRoot?.querySelector(Cl)??null;if(null===l&&Ml&&!e.hasUpdated){const e="object"==typeof t?t.name:t;$e("",`@query'd field ${JSON.stringify(String(e))} with the 'cache' flag set for selector '${Cl}' has been accessed before the first update and returned null. This is expected if the renderRoot tree has not been provided beforehand (e.g. via Declarative Shadow DOM). Therefore the value hasn't been cached.`)}return l};if(Ml){const{get:a,set:o}="object"==typeof t?e:l??(()=>{const e=Symbol(`${String(t)} (@query() cache)`);return{get(){return this[e]},set(t){this[e]=t}}})();return Ae(e,t,{get(){let e=a.call(this);return void 0===e&&(e=i(this),(null!==e||this.hasUpdated)&&o.call(this,e)),e}})}return Ae(e,t,{get(){return i(this)}})})],xl.prototype,"menu",void 0),e([Be()],xl.prototype,"nextDropdownItemNo",void 0),e([Be()],xl.prototype,"prevDropdownItemNo",void 0),e([He({type:Boolean,reflect:!0})],xl.prototype,"hidden",void 0);var yl=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%}`,bl=n`.dropdown{display:flex;height:inherit;position:relative}`;class _l extends xl{constructor(){super(),this.noFlip=!1,this.menuAlignRight=!1,this.drop="down",this.menuRef=Ke()}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 Q`
66
66
  <div class="dropdown">
67
67
  <div
68
68
  class="toggler-container"