@govtechsg/sgds-web-component 3.28.1-rc.0 → 3.29.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 (173) hide show
  1. package/base/button.js +1 -1
  2. package/base/button.js.map +1 -1
  3. package/components/Alert/alert.js +1 -1
  4. package/components/Alert/alert.js.map +1 -1
  5. package/components/Alert/index.umd.min.js +3 -3
  6. package/components/Alert/index.umd.min.js.map +1 -1
  7. package/components/Alert/sgds-alert.js +1 -1
  8. package/components/Alert/sgds-alert.js.map +1 -1
  9. package/components/Appnav/index.umd.min.js +3 -3
  10. package/components/Appnav/index.umd.min.js.map +1 -1
  11. package/components/Appnav/sgds-appnav.js +1 -1
  12. package/components/Appnav/sgds-appnav.js.map +1 -1
  13. package/components/Badge/index.umd.min.js +1 -1
  14. package/components/Badge/index.umd.min.js.map +1 -1
  15. package/components/Breadcrumb/index.umd.min.js +3 -3
  16. package/components/Breadcrumb/index.umd.min.js.map +1 -1
  17. package/components/Breadcrumb/sgds-breadcrumb.js +2 -2
  18. package/components/Breadcrumb/sgds-breadcrumb.js.map +1 -1
  19. package/components/Button/index.umd.min.js +2 -2
  20. package/components/Button/index.umd.min.js.map +1 -1
  21. package/components/Button/sgds-button.js +1 -1
  22. package/components/Button/sgds-button.js.map +1 -1
  23. package/components/Checkbox/index.umd.min.js +3 -2
  24. package/components/Checkbox/index.umd.min.js.map +1 -1
  25. package/components/Checkbox/sgds-checkbox.d.ts +2 -0
  26. package/components/Checkbox/sgds-checkbox.js +3 -0
  27. package/components/Checkbox/sgds-checkbox.js.map +1 -1
  28. package/components/CloseButton/close-button.js +1 -1
  29. package/components/CloseButton/close-button.js.map +1 -1
  30. package/components/CloseButton/index.umd.min.js +1 -1
  31. package/components/CloseButton/index.umd.min.js.map +1 -1
  32. package/components/ComboBox/index.umd.min.js +4 -3
  33. package/components/ComboBox/index.umd.min.js.map +1 -1
  34. package/components/DataTable/data-table.js +1 -1
  35. package/components/DataTable/data-table.js.map +1 -1
  36. package/components/DataTable/index.umd.min.js +20 -11
  37. package/components/DataTable/index.umd.min.js.map +1 -1
  38. package/components/DataTable/sgds-data-table-row.js +12 -4
  39. package/components/DataTable/sgds-data-table-row.js.map +1 -1
  40. package/components/DataTable/sgds-data-table.js +1 -2
  41. package/components/DataTable/sgds-data-table.js.map +1 -1
  42. package/components/Datepicker/index.umd.min.js +3 -2
  43. package/components/Datepicker/index.umd.min.js.map +1 -1
  44. package/components/Drawer/index.umd.min.js +1 -1
  45. package/components/Drawer/index.umd.min.js.map +1 -1
  46. package/components/Dropdown/index.umd.min.js +1 -1
  47. package/components/Dropdown/index.umd.min.js.map +1 -1
  48. package/components/Dropdown/sgds-dropdown.js +1 -1
  49. package/components/Dropdown/sgds-dropdown.js.map +1 -1
  50. package/components/FileUpload/index.umd.min.js +3 -3
  51. package/components/FileUpload/index.umd.min.js.map +1 -1
  52. package/components/IconButton/index.umd.min.js +1 -1
  53. package/components/IconButton/index.umd.min.js.map +1 -1
  54. package/components/Input/index.umd.min.js +1 -0
  55. package/components/Input/index.umd.min.js.map +1 -1
  56. package/components/Input/sgds-input.js +1 -0
  57. package/components/Input/sgds-input.js.map +1 -1
  58. package/components/Mainnav/index.umd.min.js +3 -3
  59. package/components/Mainnav/index.umd.min.js.map +1 -1
  60. package/components/Mainnav/sgds-mainnav.js +1 -1
  61. package/components/Mainnav/sgds-mainnav.js.map +1 -1
  62. package/components/Modal/index.umd.min.js +3 -3
  63. package/components/Modal/index.umd.min.js.map +1 -1
  64. package/components/Modal/modal.js +1 -1
  65. package/components/Modal/modal.js.map +1 -1
  66. package/components/Modal/sgds-modal.js +1 -1
  67. package/components/Modal/sgds-modal.js.map +1 -1
  68. package/components/OverflowMenu/index.umd.min.js +1 -1
  69. package/components/OverflowMenu/index.umd.min.js.map +1 -1
  70. package/components/Pagination/index.umd.min.js +2 -2
  71. package/components/Pagination/index.umd.min.js.map +1 -1
  72. package/components/QuantityToggle/index.umd.min.js +2 -1
  73. package/components/QuantityToggle/index.umd.min.js.map +1 -1
  74. package/components/Select/index.umd.min.js +1 -1
  75. package/components/Select/index.umd.min.js.map +1 -1
  76. package/components/Select/sgds-select.js +1 -1
  77. package/components/Select/sgds-select.js.map +1 -1
  78. package/components/Sidebar/index.umd.min.js +1 -1
  79. package/components/Sidebar/index.umd.min.js.map +1 -1
  80. package/components/Sidenav/index.umd.min.js +1 -1
  81. package/components/Sidenav/index.umd.min.js.map +1 -1
  82. package/components/Sidenav/sgds-sidenav.js +1 -1
  83. package/components/Sidenav/sgds-sidenav.js.map +1 -1
  84. package/components/SystemBanner/index.umd.min.js +4 -2
  85. package/components/SystemBanner/index.umd.min.js.map +1 -1
  86. package/components/SystemBanner/sgds-system-banner.js +2 -0
  87. package/components/SystemBanner/sgds-system-banner.js.map +1 -1
  88. package/components/Toast/index.umd.min.js +1 -1
  89. package/components/Toast/index.umd.min.js.map +1 -1
  90. package/components/index.umd.min.js +68 -56
  91. package/components/index.umd.min.js.map +1 -1
  92. package/custom-elements.json +20 -1
  93. package/index.umd.min.js +49 -37
  94. package/index.umd.min.js.map +1 -1
  95. package/package.json +1 -1
  96. package/react/base/button.cjs.js +1 -1
  97. package/react/base/button.cjs.js.map +1 -1
  98. package/react/base/button.js +1 -1
  99. package/react/base/button.js.map +1 -1
  100. package/react/components/Alert/alert.cjs.js +1 -1
  101. package/react/components/Alert/alert.cjs.js.map +1 -1
  102. package/react/components/Alert/alert.js +1 -1
  103. package/react/components/Alert/alert.js.map +1 -1
  104. package/react/components/Alert/sgds-alert.cjs.js +1 -1
  105. package/react/components/Alert/sgds-alert.cjs.js.map +1 -1
  106. package/react/components/Alert/sgds-alert.js +1 -1
  107. package/react/components/Alert/sgds-alert.js.map +1 -1
  108. package/react/components/Appnav/sgds-appnav.cjs.js +1 -1
  109. package/react/components/Appnav/sgds-appnav.cjs.js.map +1 -1
  110. package/react/components/Appnav/sgds-appnav.js +1 -1
  111. package/react/components/Appnav/sgds-appnav.js.map +1 -1
  112. package/react/components/Breadcrumb/sgds-breadcrumb.cjs.js +2 -2
  113. package/react/components/Breadcrumb/sgds-breadcrumb.cjs.js.map +1 -1
  114. package/react/components/Breadcrumb/sgds-breadcrumb.js +2 -2
  115. package/react/components/Breadcrumb/sgds-breadcrumb.js.map +1 -1
  116. package/react/components/Button/sgds-button.cjs.js +1 -1
  117. package/react/components/Button/sgds-button.cjs.js.map +1 -1
  118. package/react/components/Button/sgds-button.js +1 -1
  119. package/react/components/Button/sgds-button.js.map +1 -1
  120. package/react/components/Checkbox/sgds-checkbox.cjs.js +3 -0
  121. package/react/components/Checkbox/sgds-checkbox.cjs.js.map +1 -1
  122. package/react/components/Checkbox/sgds-checkbox.js +3 -0
  123. package/react/components/Checkbox/sgds-checkbox.js.map +1 -1
  124. package/react/components/CloseButton/close-button.cjs.js +1 -1
  125. package/react/components/CloseButton/close-button.cjs.js.map +1 -1
  126. package/react/components/CloseButton/close-button.js +1 -1
  127. package/react/components/CloseButton/close-button.js.map +1 -1
  128. package/react/components/DataTable/data-table.cjs.js +1 -1
  129. package/react/components/DataTable/data-table.cjs.js.map +1 -1
  130. package/react/components/DataTable/data-table.js +1 -1
  131. package/react/components/DataTable/data-table.js.map +1 -1
  132. package/react/components/DataTable/sgds-data-table-row.cjs.js +12 -4
  133. package/react/components/DataTable/sgds-data-table-row.cjs.js.map +1 -1
  134. package/react/components/DataTable/sgds-data-table-row.js +12 -4
  135. package/react/components/DataTable/sgds-data-table-row.js.map +1 -1
  136. package/react/components/DataTable/sgds-data-table.cjs.js +1 -2
  137. package/react/components/DataTable/sgds-data-table.cjs.js.map +1 -1
  138. package/react/components/DataTable/sgds-data-table.js +1 -2
  139. package/react/components/DataTable/sgds-data-table.js.map +1 -1
  140. package/react/components/Dropdown/sgds-dropdown.cjs.js +1 -1
  141. package/react/components/Dropdown/sgds-dropdown.cjs.js.map +1 -1
  142. package/react/components/Dropdown/sgds-dropdown.js +1 -1
  143. package/react/components/Dropdown/sgds-dropdown.js.map +1 -1
  144. package/react/components/Input/sgds-input.cjs.js +1 -0
  145. package/react/components/Input/sgds-input.cjs.js.map +1 -1
  146. package/react/components/Input/sgds-input.js +1 -0
  147. package/react/components/Input/sgds-input.js.map +1 -1
  148. package/react/components/Mainnav/sgds-mainnav.cjs.js +1 -1
  149. package/react/components/Mainnav/sgds-mainnav.cjs.js.map +1 -1
  150. package/react/components/Mainnav/sgds-mainnav.js +1 -1
  151. package/react/components/Mainnav/sgds-mainnav.js.map +1 -1
  152. package/react/components/Modal/modal.cjs.js +1 -1
  153. package/react/components/Modal/modal.cjs.js.map +1 -1
  154. package/react/components/Modal/modal.js +1 -1
  155. package/react/components/Modal/modal.js.map +1 -1
  156. package/react/components/Modal/sgds-modal.cjs.js +1 -1
  157. package/react/components/Modal/sgds-modal.cjs.js.map +1 -1
  158. package/react/components/Modal/sgds-modal.js +1 -1
  159. package/react/components/Modal/sgds-modal.js.map +1 -1
  160. package/react/components/Select/sgds-select.cjs.js +1 -1
  161. package/react/components/Select/sgds-select.cjs.js.map +1 -1
  162. package/react/components/Select/sgds-select.js +1 -1
  163. package/react/components/Select/sgds-select.js.map +1 -1
  164. package/react/components/Sidenav/sgds-sidenav.cjs.js +1 -1
  165. package/react/components/Sidenav/sgds-sidenav.cjs.js.map +1 -1
  166. package/react/components/Sidenav/sgds-sidenav.js +1 -1
  167. package/react/components/Sidenav/sgds-sidenav.js.map +1 -1
  168. package/react/components/SystemBanner/sgds-system-banner.cjs.js +2 -0
  169. package/react/components/SystemBanner/sgds-system-banner.cjs.js.map +1 -1
  170. package/react/components/SystemBanner/sgds-system-banner.js +2 -0
  171. package/react/components/SystemBanner/sgds-system-banner.js.map +1 -1
  172. package/themes/night.css +8 -8
  173. package/types/react.d.ts +2 -0
@@ -79,7 +79,7 @@ var SgdsMainnav = class extends NavElement {
79
79
  xxl: 1440
80
80
  }[this.expand]);
81
81
  return html`
82
- <nav>
82
+ <nav aria-label="Main navigation">
83
83
  <div class="navbar ${this._expandClass()}">
84
84
  <a class="navbar-brand" href=${sanitizeHref(this.brandHref) ?? ""} aria-label="brand-link">
85
85
  <slot name="brand"></slot>
@@ -1 +1 @@
1
- {"version":3,"file":"sgds-mainnav.js","names":["mainnavStyle"],"sources":["../../../src/components/Mainnav/sgds-mainnav.ts"],"sourcesContent":["import { provide } from \"@lit/context\";\nimport { html } from \"lit\";\nimport { property, queryAssignedElements, state } from \"lit/decorators.js\";\nimport { classMap } from \"lit/directives/class-map.js\";\nimport NavElement from \"../../base/nav-element\";\nimport { sanitizeHref } from \"../../utils/safeUrl\";\nimport { HasSlotController } from \"../../utils/slot\";\nimport { MainnavBreakpointContext, MainnavExpandedContext } from \"./mainnav-context\";\nimport mainnavStyle from \"./mainnav.css\";\nimport SgdsMainnavDropdown from \"./sgds-mainnav-dropdown\";\nimport SgdsMainnavItem from \"./sgds-mainnav-item\";\n\nexport type MainnavExpandSize = \"sm\" | \"md\" | \"lg\" | \"xl\" | \"xxl\" | \"always\" | \"never\";\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 profile - Profile slot positioned at the far right in desktop. In mobile, moves into the collapsed menu as the first item.\n * @slot non-collapsible - Elements in this slot will not be collapsed\n *\n */\nexport class SgdsMainnav extends NavElement {\n static styles = [...NavElement.styles, mainnavStyle];\n\n @provide({ context: MainnavBreakpointContext })\n @state()\n private _breakpointReached = false;\n\n @provide({ context: MainnavExpandedContext })\n @state()\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n private _expanded = false;\n\n /** Used only for SSR to indicate the presence of the `non-collapsible` slot. */\n @property({ type: Boolean }) hasNonCollapsibleSlot = false;\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 @queryAssignedElements() private defaultNodes!: SgdsMainnavItem[] | SgdsMainnavDropdown[];\n\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 private readonly hasSlotController = new HasSlotController(this, \"non-collapsible\");\n\n updated() {\n if (!this.hasNonCollapsibleSlot) this.hasNonCollapsibleSlot = this.hasSlotController.test(\"non-collapsible\");\n // Sync expanded state to context\n this._expanded = this.expanded;\n }\n\n protected _onBreakpointReached(reached: boolean): void {\n this._breakpointReached = reached;\n }\n\n protected _isBreakpointReached(): boolean {\n return this._breakpointReached;\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 private _handleSlotChange(e: Event) {\n const childElements = (e.target as HTMLSlotElement).assignedElements({ flatten: true });\n childElements.forEach(e => {\n e.setAttribute(\"name\", e.tagName.toLowerCase());\n e.setAttribute(\"expand\", this.expand);\n });\n }\n\n private _handleProfileSlotChange(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 render() {\n this.breakpointReached =\n window.innerWidth <\n (this.expand === \"always\"\n ? -1\n : this.expand === \"never\"\n ? Infinity\n : { sm: 512, md: 768, lg: 1024, xl: 1280, xxl: 1440 }[this.expand]);\n\n return html`\n <nav>\n <div class=\"navbar ${this._expandClass()}\">\n <a class=\"navbar-brand\" href=${sanitizeHref(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 <div class=\"navbar-end\">\n <slot name=\"non-collapsible\" class=${classMap({ \"slot-empty\": !this.hasNonCollapsibleSlot })}></slot>\n <slot name=\"profile\" @slotchange=${this._handleProfileSlotChange}></slot>\n ${this._renderToggler()}\n </div>\n </div>\n </nav>\n `;\n }\n}\n\nexport default SgdsMainnav;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AA6BA,IAAa,cAAb,cAAiC,WAAW;;;EAKb,KAAA,qBAAA;EAKT,KAAA,YAAA;EAGiC,KAAA,wBAAA;EAI7C,KAAA,QAAA;EAoB6B,KAAA,oBAAA,IAAI,kBAAkB,MAAM,iBAAiB;;;EApClE,KAAA,SAAA,CAAC,GAAG,WAAW,QAAQA,QAAY;;;CAuBnD,IAAI,mBAA8D;EAChE,OAAO,CAAC,GAAI,KAAK,gBAAgB,CAAC,CAAE,CAAC,CAAC,QAAQ,SAAsB,OAAO,KAAK,YAAY,WAAW;CAGzG;;CAGA,IAAI,eAA0D;EAC5D,OAAO,CAAC,GAAI,KAAK,YAAY,CAAC,CAAE,CAAC,CAAC,QAAQ,SAAsB,OAAO,KAAK,YAAY,WAAW;CAGrG;CAIA,UAAU;EACR,IAAI,CAAC,KAAK,uBAAuB,KAAK,wBAAwB,KAAK,kBAAkB,KAAK,iBAAiB;EAE3G,KAAK,YAAY,KAAK;CACxB;CAEA,qBAA+B,SAAwB;EACrD,KAAK,qBAAqB;CAC5B;CAEA,uBAA0C;EACxC,OAAO,KAAK;CACd;CAEA,yBAAiC,GAAU;EAEzC,EADyB,OAA2B,iBAAiB,EAAE,SAAS,KAAK,CACzE,CAAC,CAAC,SAAQ,OAAM;GAC1B,GAAG,aAAa,UAAU,KAAK,MAAM;EACvC,CAAC;CACH;CAEA,kBAA0B,GAAU;EAElC,EADyB,OAA2B,iBAAiB,EAAE,SAAS,KAAK,CACzE,CAAC,CAAC,SAAQ,MAAK;GACzB,EAAE,aAAa,QAAQ,EAAE,QAAQ,YAAY,CAAC;GAC9C,EAAE,aAAa,UAAU,KAAK,MAAM;EACtC,CAAC;CACH;CAEA,yBAAiC,GAAU;EAEzC,EADyB,OAA2B,iBAAiB,EAAE,SAAS,KAAK,CACzE,CAAC,CAAC,SAAQ,OAAM;GAC1B,GAAG,aAAa,UAAU,KAAK,MAAM;EACvC,CAAC;CACH;CAEA,SAAS;EACP,KAAK,oBACH,OAAO,cACN,KAAK,WAAW,WACb,KACA,KAAK,WAAW,UAChB,WACA;GAAE,IAAI;GAAK,IAAI;GAAK,IAAI;GAAM,IAAI;GAAM,KAAK;EAAK,EAAE,KAAK;EAE/D,OAAO,IAAI;;6BAEc,KAAK,aAAa,EAAE;yCACR,aAAa,KAAK,SAAS,KAAK,GAAG;;;wDAGpB,KAAK,WAAW;;kCAEtC,KAAK,yBAAyB;;;wBAGxC,SAAS,EAAE,YAAY,CAAC,KAAK,kBAAkB,CAAC,EAAE;8BAC5C,KAAK,kBAAkB;;;;;iDAKJ,SAAS,EAAE,cAAc,CAAC,KAAK,sBAAsB,CAAC,EAAE;+CAC1D,KAAK,yBAAyB;cAC/D,KAAK,eAAe,EAAE;;;;;CAKlC;AACF;AA1GG,WAAA,CAAA,QAAQ,EAAE,SAAS,yBAAyB,CAAC,GAC7C,MAAM,CAAA,GAAA,YAAA,WAAA,sBAAA,KAAA,CAAA;AAGN,WAAA,CAAA,QAAQ,EAAE,SAAS,uBAAuB,CAAC,GAC3C,MAAM,CAAA,GAAA,YAAA,WAAA,aAAA,KAAA,CAAA;AAKN,WAAA,CAAA,SAAS,EAAE,MAAM,QAAQ,CAAC,CAAA,GAAA,YAAA,WAAA,yBAAA,KAAA,CAAA;AAG1B,WAAA,CAAA,SAAS;CAAE,MAAM;CAAS,SAAS;AAAK,CAAC,CAAA,GAAA,YAAA,WAAA,SAAA,KAAA,CAAA;AAGzC,WAAA,CAAA,sBAAsB,CAAA,GAAA,YAAA,WAAA,gBAAA,KAAA,CAAA;AAEtB,WAAA,CAAA,sBAAsB,EAAE,MAAM,MAAM,CAAC,CAAA,GAAA,YAAA,WAAA,YAAA,KAAA,CAAA"}
1
+ {"version":3,"file":"sgds-mainnav.js","names":["mainnavStyle"],"sources":["../../../src/components/Mainnav/sgds-mainnav.ts"],"sourcesContent":["import { provide } from \"@lit/context\";\nimport { html } from \"lit\";\nimport { property, queryAssignedElements, state } from \"lit/decorators.js\";\nimport { classMap } from \"lit/directives/class-map.js\";\nimport NavElement from \"../../base/nav-element\";\nimport { sanitizeHref } from \"../../utils/safeUrl\";\nimport { HasSlotController } from \"../../utils/slot\";\nimport { MainnavBreakpointContext, MainnavExpandedContext } from \"./mainnav-context\";\nimport mainnavStyle from \"./mainnav.css\";\nimport SgdsMainnavDropdown from \"./sgds-mainnav-dropdown\";\nimport SgdsMainnavItem from \"./sgds-mainnav-item\";\n\nexport type MainnavExpandSize = \"sm\" | \"md\" | \"lg\" | \"xl\" | \"xxl\" | \"always\" | \"never\";\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 profile - Profile slot positioned at the far right in desktop. In mobile, moves into the collapsed menu as the first item.\n * @slot non-collapsible - Elements in this slot will not be collapsed\n *\n */\nexport class SgdsMainnav extends NavElement {\n static styles = [...NavElement.styles, mainnavStyle];\n\n @provide({ context: MainnavBreakpointContext })\n @state()\n private _breakpointReached = false;\n\n @provide({ context: MainnavExpandedContext })\n @state()\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n private _expanded = false;\n\n /** Used only for SSR to indicate the presence of the `non-collapsible` slot. */\n @property({ type: Boolean }) hasNonCollapsibleSlot = false;\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 @queryAssignedElements() private defaultNodes!: SgdsMainnavItem[] | SgdsMainnavDropdown[];\n\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 private readonly hasSlotController = new HasSlotController(this, \"non-collapsible\");\n\n updated() {\n if (!this.hasNonCollapsibleSlot) this.hasNonCollapsibleSlot = this.hasSlotController.test(\"non-collapsible\");\n // Sync expanded state to context\n this._expanded = this.expanded;\n }\n\n protected _onBreakpointReached(reached: boolean): void {\n this._breakpointReached = reached;\n }\n\n protected _isBreakpointReached(): boolean {\n return this._breakpointReached;\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 private _handleSlotChange(e: Event) {\n const childElements = (e.target as HTMLSlotElement).assignedElements({ flatten: true });\n childElements.forEach(e => {\n e.setAttribute(\"name\", e.tagName.toLowerCase());\n e.setAttribute(\"expand\", this.expand);\n });\n }\n\n private _handleProfileSlotChange(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 render() {\n this.breakpointReached =\n window.innerWidth <\n (this.expand === \"always\"\n ? -1\n : this.expand === \"never\"\n ? Infinity\n : { sm: 512, md: 768, lg: 1024, xl: 1280, xxl: 1440 }[this.expand]);\n\n return html`\n <nav aria-label=\"Main navigation\">\n <div class=\"navbar ${this._expandClass()}\">\n <a class=\"navbar-brand\" href=${sanitizeHref(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 <div class=\"navbar-end\">\n <slot name=\"non-collapsible\" class=${classMap({ \"slot-empty\": !this.hasNonCollapsibleSlot })}></slot>\n <slot name=\"profile\" @slotchange=${this._handleProfileSlotChange}></slot>\n ${this._renderToggler()}\n </div>\n </div>\n </nav>\n `;\n }\n}\n\nexport default SgdsMainnav;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AA6BA,IAAa,cAAb,cAAiC,WAAW;;;EAKb,KAAA,qBAAA;EAKT,KAAA,YAAA;EAGiC,KAAA,wBAAA;EAI7C,KAAA,QAAA;EAoB6B,KAAA,oBAAA,IAAI,kBAAkB,MAAM,iBAAiB;;;EApClE,KAAA,SAAA,CAAC,GAAG,WAAW,QAAQA,QAAY;;;CAuBnD,IAAI,mBAA8D;EAChE,OAAO,CAAC,GAAI,KAAK,gBAAgB,CAAC,CAAE,CAAC,CAAC,QAAQ,SAAsB,OAAO,KAAK,YAAY,WAAW;CAGzG;;CAGA,IAAI,eAA0D;EAC5D,OAAO,CAAC,GAAI,KAAK,YAAY,CAAC,CAAE,CAAC,CAAC,QAAQ,SAAsB,OAAO,KAAK,YAAY,WAAW;CAGrG;CAIA,UAAU;EACR,IAAI,CAAC,KAAK,uBAAuB,KAAK,wBAAwB,KAAK,kBAAkB,KAAK,iBAAiB;EAE3G,KAAK,YAAY,KAAK;CACxB;CAEA,qBAA+B,SAAwB;EACrD,KAAK,qBAAqB;CAC5B;CAEA,uBAA0C;EACxC,OAAO,KAAK;CACd;CAEA,yBAAiC,GAAU;EAEzC,EADyB,OAA2B,iBAAiB,EAAE,SAAS,KAAK,CACzE,CAAC,CAAC,SAAQ,OAAM;GAC1B,GAAG,aAAa,UAAU,KAAK,MAAM;EACvC,CAAC;CACH;CAEA,kBAA0B,GAAU;EAElC,EADyB,OAA2B,iBAAiB,EAAE,SAAS,KAAK,CACzE,CAAC,CAAC,SAAQ,MAAK;GACzB,EAAE,aAAa,QAAQ,EAAE,QAAQ,YAAY,CAAC;GAC9C,EAAE,aAAa,UAAU,KAAK,MAAM;EACtC,CAAC;CACH;CAEA,yBAAiC,GAAU;EAEzC,EADyB,OAA2B,iBAAiB,EAAE,SAAS,KAAK,CACzE,CAAC,CAAC,SAAQ,OAAM;GAC1B,GAAG,aAAa,UAAU,KAAK,MAAM;EACvC,CAAC;CACH;CAEA,SAAS;EACP,KAAK,oBACH,OAAO,cACN,KAAK,WAAW,WACb,KACA,KAAK,WAAW,UAChB,WACA;GAAE,IAAI;GAAK,IAAI;GAAK,IAAI;GAAM,IAAI;GAAM,KAAK;EAAK,EAAE,KAAK;EAE/D,OAAO,IAAI;;6BAEc,KAAK,aAAa,EAAE;yCACR,aAAa,KAAK,SAAS,KAAK,GAAG;;;wDAGpB,KAAK,WAAW;;kCAEtC,KAAK,yBAAyB;;;wBAGxC,SAAS,EAAE,YAAY,CAAC,KAAK,kBAAkB,CAAC,EAAE;8BAC5C,KAAK,kBAAkB;;;;;iDAKJ,SAAS,EAAE,cAAc,CAAC,KAAK,sBAAsB,CAAC,EAAE;+CAC1D,KAAK,yBAAyB;cAC/D,KAAK,eAAe,EAAE;;;;;CAKlC;AACF;AA1GG,WAAA,CAAA,QAAQ,EAAE,SAAS,yBAAyB,CAAC,GAC7C,MAAM,CAAA,GAAA,YAAA,WAAA,sBAAA,KAAA,CAAA;AAGN,WAAA,CAAA,QAAQ,EAAE,SAAS,uBAAuB,CAAC,GAC3C,MAAM,CAAA,GAAA,YAAA,WAAA,aAAA,KAAA,CAAA;AAKN,WAAA,CAAA,SAAS,EAAE,MAAM,QAAQ,CAAC,CAAA,GAAA,YAAA,WAAA,yBAAA,KAAA,CAAA;AAG1B,WAAA,CAAA,SAAS;CAAE,MAAM;CAAS,SAAS;AAAK,CAAC,CAAA,GAAA,YAAA,WAAA,SAAA,KAAA,CAAA;AAGzC,WAAA,CAAA,sBAAsB,CAAA,GAAA,YAAA,WAAA,gBAAA,KAAA,CAAA;AAEtB,WAAA,CAAA,sBAAsB,EAAE,MAAM,MAAM,CAAC,CAAA,GAAA,YAAA,WAAA,YAAA,KAAA,CAAA"}
@@ -55,11 +55,11 @@ let De={ATTRIBUTE:1,CHILD:2,PROPERTY:3,BOOLEAN_ATTRIBUTE:4,EVENT:5,ELEMENT:6},Oe
55
55
  * @license
56
56
  * Copyright 2018 Google LLC
57
57
  * SPDX-License-Identifier: BSD-3-Clause
58
- */let Ae=Oe(class extends ke{constructor(e){if(super(e),e.type!==De.ATTRIBUTE||e.name!==`class`||e.strings?.length>2)throw Error("`classMap()` can only be used in the `class` attribute and must be the only part in the attribute.")}render(e){return` `+Object.keys(e).filter(t=>e[t]).join(` `)+` `}update(e,[t]){if(this.st===void 0){this.st=/* @__PURE__ */ new Set,e.strings!==void 0&&(this.nt=new Set(e.strings.join(` `).split(/\s/).filter(e=>e!==``)));for(let e in t)t[e]&&!this.nt?.has(e)&&this.st.add(e);return this.render(t)}let n=e.element.classList;for(let e of this.st)e in t||(n.remove(e),this.st.delete(e));for(let e in t){let r=!!t[e];r===this.st.has(e)||this.nt?.has(e)||(r?(n.add(e),this.st.add(e)):(n.remove(e),this.st.delete(e)))}return M}});var je=o`:host{-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-font-smoothing:antialiased;color:var(--sgds-body-color-default,#1a1a1a);display:block;font-family:var(--sgds-font-family-brand,"Inter",system-ui,sans-serif);font-size:var(--sgds-font-size-body-md,1rem);font-weight:var(--sgds-font-weight-regular,400);line-height:var(--sgds-line-height-xs,24px);margin:0;*,:after,:before{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}:disabled{cursor:not-allowed}@media (prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.1ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}::slotted(a[target=_blank]):after,a[target=_blank]:after{background-color:currentColor;content:"/";display:inline-block;height:1em;-webkit-mask-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24'%3E%3Cpath fill='%230e0e0e' fill-rule='evenodd' d='M9.774 4.4H9.8a.6.6 0 1 1 0 1.2c-.85 0-1.451 0-1.922.039-.463.038-.745.11-.968.223A2.4 2.4 0 0 0 5.861 6.91c-.113.223-.184.505-.222.968-.039.47-.04 1.072-.04 1.922v4.4c0 .85.001 1.451.04 1.922.038.463.11.745.222.968a2.4 2.4 0 0 0 1.05 1.048c.222.114.504.185.967.223.47.038 1.072.039 1.922.039h4.4c.85 0 1.451 0 1.921-.039.464-.038.746-.11.969-.223a2.4 2.4 0 0 0 1.048-1.048c.113-.223.185-.505.223-.968.038-.47.039-1.072.039-1.922a.6.6 0 1 1 1.2 0v.026c0 .818 0 1.468-.043 1.993-.044.538-.136.996-.35 1.415a3.6 3.6 0 0 1-1.573 1.574c-.42.213-.878.305-1.415.35-.525.042-1.175.042-1.993.042H9.774c-.818 0-1.469 0-1.993-.043-.538-.044-.996-.136-1.415-.35a3.6 3.6 0 0 1-1.574-1.573c-.213-.42-.305-.877-.35-1.415-.042-.525-.042-1.175-.042-1.993V9.774c0-.818 0-1.468.043-1.993.044-.538.136-.996.35-1.415a3.6 3.6 0 0 1 1.573-1.574c.42-.213.877-.305 1.415-.35C8.305 4.4 8.956 4.4 9.774 4.4M12.4 5a.6.6 0 0 1 .6-.6h6a.6.6 0 0 1 .6.6v6a.6.6 0 1 1-1.2 0V6.449l-5.976 5.975a.6.6 0 0 1-.848-.848L17.55 5.6H13a.6.6 0 0 1-.6-.6' clip-rule='evenodd'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24'%3E%3Cpath fill='%230e0e0e' fill-rule='evenodd' d='M9.774 4.4H9.8a.6.6 0 1 1 0 1.2c-.85 0-1.451 0-1.922.039-.463.038-.745.11-.968.223A2.4 2.4 0 0 0 5.861 6.91c-.113.223-.184.505-.222.968-.039.47-.04 1.072-.04 1.922v4.4c0 .85.001 1.451.04 1.922.038.463.11.745.222.968a2.4 2.4 0 0 0 1.05 1.048c.222.114.504.185.967.223.47.038 1.072.039 1.922.039h4.4c.85 0 1.451 0 1.921-.039.464-.038.746-.11.969-.223a2.4 2.4 0 0 0 1.048-1.048c.113-.223.185-.505.223-.968.038-.47.039-1.072.039-1.922a.6.6 0 1 1 1.2 0v.026c0 .818 0 1.468-.043 1.993-.044.538-.136.996-.35 1.415a3.6 3.6 0 0 1-1.573 1.574c-.42.213-.878.305-1.415.35-.525.042-1.175.042-1.993.042H9.774c-.818 0-1.469 0-1.993-.043-.538-.044-.996-.136-1.415-.35a3.6 3.6 0 0 1-1.574-1.573c-.213-.42-.305-.877-.35-1.415-.042-.525-.042-1.175-.042-1.993V9.774c0-.818 0-1.468.043-1.993.044-.538.136-.996.35-1.415a3.6 3.6 0 0 1 1.573-1.574c.42-.213.877-.305 1.415-.35C8.305 4.4 8.956 4.4 9.774 4.4M12.4 5a.6.6 0 0 1 .6-.6h6a.6.6 0 0 1 .6.6v6a.6.6 0 1 1-1.2 0V6.449l-5.976 5.975a.6.6 0 0 1-.848-.848L17.55 5.6H13a.6.6 0 0 1-.6-.6' clip-rule='evenodd'/%3E%3C/svg%3E");-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;vertical-align:top;width:1em}::slotted(svg){vertical-align:middle}}`;function W(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a}var G=class extends V{static{this.styles=[je]}emit(e,t){let n=new CustomEvent(e,{bubbles:!0,cancelable:!1,composed:!0,detail:{},...t});return this.dispatchEvent(n),n}static define(e,t=this,n={}){if(!customElements.get(e)){try{customElements.define(e,t,n)}catch{customElements.define(e,class extends t{},n)}return}}static{this.dependencies={}}constructor(){super(),this.ssr=!!this.shadowRoot,Object.entries(this.constructor.dependencies).forEach(([e,t])=>{this.constructor.define(e,t)})}firstUpdated(e){super.firstUpdated(e),this.ssr&&this.shadowRoot?.querySelectorAll(`slot`).forEach(e=>{e.dispatchEvent(new Event(`slotchange`,{bubbles:!0,composed:!1,cancelable:!1}))})}};W([H({type:Boolean,reflect:!0})],G.prototype,`ssr`,void 0);function Me(e,t){let n={waitUntilFirstUpdate:!1,...t};return(t,r)=>{let{update:i}=t;if(e in t){let a=e;t.update=function(e){if(e.has(a)){let t=e.get(a),i=this[a];t!==i&&(!n.waitUntilFirstUpdate||this.hasUpdated)&&this[r](t,i)}i.call(this,e)}}}}function K(e,t,n){return new Promise(r=>{if(n?.duration===1/0)throw Error(`Promise-based animations must be finite.`);let i=e.animate(t,{...n,duration:Ne()?0:n?.duration});i.addEventListener(`cancel`,r,{once:!0}),i.addEventListener(`finish`,r,{once:!0})})}function Ne(){return window.matchMedia(`(prefers-reduced-motion: reduce)`).matches}function q(e){return Promise.all(e.getAnimations().map(e=>new Promise(t=>{let n=requestAnimationFrame(t);e.addEventListener(`cancel`,()=>n,{once:!0}),e.addEventListener(`finish`,()=>n,{once:!0}),e.cancel()})))}let Pe=/* @__PURE__ */ new Map,Fe=/* @__PURE__ */ new WeakMap;function Ie(e){return e??{keyframes:[],options:{duration:0}}}function Le(e){return e}function J(e,t){let n=Fe.get(e);if(n?.[t])return Le(n[t]);let r=Pe.get(t);return r?Le(r):{keyframes:[],options:{duration:0}}}function Y(e,t){Pe.set(e,Ie(t))}function Re(e,t){return new Promise(n=>{function r(i){i.target===e&&(e.removeEventListener(t,r),n())}e.addEventListener(t,r)})}function ze(e){let t=e.tagName.toLowerCase();return e.getAttribute(`tabindex`)===`-1`||e.hasAttribute(`disabled`)||e.hasAttribute(`aria-disabled`)&&e.getAttribute(`aria-disabled`)!==`false`||t===`input`&&e.getAttribute(`type`)===`radio`&&!e.hasAttribute(`checked`)||e.offsetParent===null||window.getComputedStyle(e).visibility===`hidden`?!1:(t===`audio`||t===`video`)&&e.hasAttribute(`controls`)||e.hasAttribute(`tabindex`)||e.hasAttribute(`contenteditable`)&&e.getAttribute(`contenteditable`)!==`false`?!0:[`button`,`input`,`select`,`textarea`,`a`,`audio`,`video`,`summary`].includes(t)}function Be(e){let t=[];function n(e){e instanceof HTMLElement&&(t.push(e),e.shadowRoot!==null&&e.shadowRoot.mode===`open`&&n(e.shadowRoot)),[...e.children].forEach(e=>n(e))}return n(e),{start:t.find(e=>ze(e))??null,end:t.reverse().find(e=>ze(e))??null}}let X=[];var Ve=class{constructor(e){this.tabDirection=`forward`,this.element=e,this.handleFocusIn=this.handleFocusIn.bind(this),this.handleKeyDown=this.handleKeyDown.bind(this),this.handleKeyUp=this.handleKeyUp.bind(this)}activate(){X.push(this.element),document.addEventListener(`focusin`,this.handleFocusIn),document.addEventListener(`keydown`,this.handleKeyDown),document.addEventListener(`keyup`,this.handleKeyUp)}deactivate(){X=X.filter(e=>e!==this.element),document.removeEventListener(`focusin`,this.handleFocusIn),document.removeEventListener(`keydown`,this.handleKeyDown),document.removeEventListener(`keyup`,this.handleKeyUp)}isActive(){return X[X.length-1]===this.element}checkFocus(){if(this.isActive()&&!this.element.matches(`:focus-within`)){let{start:e,end:t}=Be(this.element),n=this.tabDirection===`forward`?e:t;typeof n?.focus==`function`&&n.focus({preventScroll:!0})}}handleFocusIn(){this.checkFocus()}handleKeyDown(e){e.key===`Tab`&&e.shiftKey&&(this.tabDirection=`backward`,requestAnimationFrame(()=>this.checkFocus()))}handleKeyUp(){this.tabDirection=`forward`}},He=class{constructor(e,...t){this.slotNames=[],(this.host=e).addController(this),this.slotNames=t,this.handleSlotChange=this.handleSlotChange.bind(this)}hasDefaultSlot(){return[...this.host.childNodes].some(e=>{if(e.nodeType===e.TEXT_NODE&&e.textContent?.trim()!==``)return!0;if(e.nodeType===e.ELEMENT_NODE){let t=e;if(t.tagName.toLowerCase()===`sl-visually-hidden`)return!1;if(!t.hasAttribute(`slot`))return!0}return!1})}hasNamedSlot(e){return this.host.querySelector(`:scope > [slot="${e}"]`)!==null}test(e){return e===`[default]`?this.hasDefaultSlot():this.hasNamedSlot(e)}hostConnected(){this.host.shadowRoot?.addEventListener(`slotchange`,this.handleSlotChange)}hostDisconnected(){this.host.shadowRoot?.removeEventListener(`slotchange`,this.handleSlotChange)}handleSlotChange(e){let t=e.target;(this.slotNames.includes(`[default]`)&&!t.name||t.name&&this.slotNames.includes(t.name))&&this.host.requestUpdate()}};let Z=/* @__PURE__ */ new Set;function Ue(e){Z.add(e),document.body.style.overflow=`hidden`}function We(e){Z.delete(e),Z.size===0&&(document.body.style.overflow=``)}var Ge=o`:host{--sgds-close-btn-border-radius:var(--sgds-border-radius-sm);display:inline-flex}:host([size=sm]) .btn-close{height:var(--sgds-dimension-24);width:var(--sgds-dimension-24)}:host([tone=fixed-light]) .btn-close{color:var(--sgds-color-fixed-light)}:host([tone=fixed-dark]) .btn-close{color:var(--sgds-color-fixed-dark)}.btn-close{align-items:center;background-color:var(--sgds-bg-transparent);border:0;border:var(--sgds-border-width-1) solid var(--sgds-border-color-transparent);border-radius:var(--sgds-close-btn-border-radius);cursor:pointer;display:flex;height:var(--sgds-dimension-32);justify-content:center;padding:0;position:relative;width:var(--sgds-dimension-32)}.btn-close:focus-visible,.btn-close:hover{background-color:var(--sgds-bg-translucent)}:host([tone=fixed-light]) .btn-close:focus-visible,:host([tone=fixed-light]) .btn-close:hover{background-color:var(--sgds-bg-translucent-fixed-light)}:host([tone=fixed-dark]) .btn-close:focus-visible,:host([tone=fixed-dark]) .btn-close:hover{background-color:var(--sgds-bg-translucent-fixed-dark)}.btn-close:focus-visible{outline:var(--sgds-outline-focus);outline-offset:var(--sgds-outline-offset-focus)}:host([disabled]) .btn-close{cursor:not-allowed;opacity:var(--sgds-opacity-40);pointer-events:none}`;function Ke(e){return!!customElements.get(e)}function qe(e,t){customElements.get(e)||customElements.define(e,t)}function Je(e){return Ke(e)?!0:(console.error(`Custom element of name : ${e} is not registered. Remember to import the component file for custom element registration`),!1)}var Q=class extends G{constructor(...e){super(...e),this.size=`md`,this.tone=`default`,this.disabled=!1,this._clickHandler=()=>{}}static{this.styles=[...G.styles,Ge]}_handleClick(e){if(this.disabled){e.preventDefault(),e.stopPropagation();return}this.removeEventListener(`click`,this._clickHandler),this.addEventListener(`click`,this._clickHandler)}firstUpdated(e){super.firstUpdated(e),Je(`sgds-icon`)}render(){return j`
58
+ */let Ae=Oe(class extends ke{constructor(e){if(super(e),e.type!==De.ATTRIBUTE||e.name!==`class`||e.strings?.length>2)throw Error("`classMap()` can only be used in the `class` attribute and must be the only part in the attribute.")}render(e){return` `+Object.keys(e).filter(t=>e[t]).join(` `)+` `}update(e,[t]){if(this.st===void 0){this.st=/* @__PURE__ */ new Set,e.strings!==void 0&&(this.nt=new Set(e.strings.join(` `).split(/\s/).filter(e=>e!==``)));for(let e in t)t[e]&&!this.nt?.has(e)&&this.st.add(e);return this.render(t)}let n=e.element.classList;for(let e of this.st)e in t||(n.remove(e),this.st.delete(e));for(let e in t){let r=!!t[e];r===this.st.has(e)||this.nt?.has(e)||(r?(n.add(e),this.st.add(e)):(n.remove(e),this.st.delete(e)))}return M}});var je=o`:host{-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-font-smoothing:antialiased;color:var(--sgds-body-color-default,#1a1a1a);display:block;font-family:var(--sgds-font-family-brand,"Inter",system-ui,sans-serif);font-size:var(--sgds-font-size-body-md,1rem);font-weight:var(--sgds-font-weight-regular,400);line-height:var(--sgds-line-height-xs,24px);margin:0;*,:after,:before{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}:disabled{cursor:not-allowed}@media (prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.1ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}::slotted(a[target=_blank]):after,a[target=_blank]:after{background-color:currentColor;content:"/";display:inline-block;height:1em;-webkit-mask-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24'%3E%3Cpath fill='%230e0e0e' fill-rule='evenodd' d='M9.774 4.4H9.8a.6.6 0 1 1 0 1.2c-.85 0-1.451 0-1.922.039-.463.038-.745.11-.968.223A2.4 2.4 0 0 0 5.861 6.91c-.113.223-.184.505-.222.968-.039.47-.04 1.072-.04 1.922v4.4c0 .85.001 1.451.04 1.922.038.463.11.745.222.968a2.4 2.4 0 0 0 1.05 1.048c.222.114.504.185.967.223.47.038 1.072.039 1.922.039h4.4c.85 0 1.451 0 1.921-.039.464-.038.746-.11.969-.223a2.4 2.4 0 0 0 1.048-1.048c.113-.223.185-.505.223-.968.038-.47.039-1.072.039-1.922a.6.6 0 1 1 1.2 0v.026c0 .818 0 1.468-.043 1.993-.044.538-.136.996-.35 1.415a3.6 3.6 0 0 1-1.573 1.574c-.42.213-.878.305-1.415.35-.525.042-1.175.042-1.993.042H9.774c-.818 0-1.469 0-1.993-.043-.538-.044-.996-.136-1.415-.35a3.6 3.6 0 0 1-1.574-1.573c-.213-.42-.305-.877-.35-1.415-.042-.525-.042-1.175-.042-1.993V9.774c0-.818 0-1.468.043-1.993.044-.538.136-.996.35-1.415a3.6 3.6 0 0 1 1.573-1.574c.42-.213.877-.305 1.415-.35C8.305 4.4 8.956 4.4 9.774 4.4M12.4 5a.6.6 0 0 1 .6-.6h6a.6.6 0 0 1 .6.6v6a.6.6 0 1 1-1.2 0V6.449l-5.976 5.975a.6.6 0 0 1-.848-.848L17.55 5.6H13a.6.6 0 0 1-.6-.6' clip-rule='evenodd'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24'%3E%3Cpath fill='%230e0e0e' fill-rule='evenodd' d='M9.774 4.4H9.8a.6.6 0 1 1 0 1.2c-.85 0-1.451 0-1.922.039-.463.038-.745.11-.968.223A2.4 2.4 0 0 0 5.861 6.91c-.113.223-.184.505-.222.968-.039.47-.04 1.072-.04 1.922v4.4c0 .85.001 1.451.04 1.922.038.463.11.745.222.968a2.4 2.4 0 0 0 1.05 1.048c.222.114.504.185.967.223.47.038 1.072.039 1.922.039h4.4c.85 0 1.451 0 1.921-.039.464-.038.746-.11.969-.223a2.4 2.4 0 0 0 1.048-1.048c.113-.223.185-.505.223-.968.038-.47.039-1.072.039-1.922a.6.6 0 1 1 1.2 0v.026c0 .818 0 1.468-.043 1.993-.044.538-.136.996-.35 1.415a3.6 3.6 0 0 1-1.573 1.574c-.42.213-.878.305-1.415.35-.525.042-1.175.042-1.993.042H9.774c-.818 0-1.469 0-1.993-.043-.538-.044-.996-.136-1.415-.35a3.6 3.6 0 0 1-1.574-1.573c-.213-.42-.305-.877-.35-1.415-.042-.525-.042-1.175-.042-1.993V9.774c0-.818 0-1.468.043-1.993.044-.538.136-.996.35-1.415a3.6 3.6 0 0 1 1.573-1.574c.42-.213.877-.305 1.415-.35C8.305 4.4 8.956 4.4 9.774 4.4M12.4 5a.6.6 0 0 1 .6-.6h6a.6.6 0 0 1 .6.6v6a.6.6 0 1 1-1.2 0V6.449l-5.976 5.975a.6.6 0 0 1-.848-.848L17.55 5.6H13a.6.6 0 0 1-.6-.6' clip-rule='evenodd'/%3E%3C/svg%3E");-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;vertical-align:top;width:1em}::slotted(svg){vertical-align:middle}}`;function W(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a}var G=class extends V{static{this.styles=[je]}emit(e,t){let n=new CustomEvent(e,{bubbles:!0,cancelable:!1,composed:!0,detail:{},...t});return this.dispatchEvent(n),n}static define(e,t=this,n={}){if(!customElements.get(e)){try{customElements.define(e,t,n)}catch{customElements.define(e,class extends t{},n)}return}}static{this.dependencies={}}constructor(){super(),this.ssr=!!this.shadowRoot,Object.entries(this.constructor.dependencies).forEach(([e,t])=>{this.constructor.define(e,t)})}firstUpdated(e){super.firstUpdated(e),this.ssr&&this.shadowRoot?.querySelectorAll(`slot`).forEach(e=>{e.dispatchEvent(new Event(`slotchange`,{bubbles:!0,composed:!1,cancelable:!1}))})}};W([H({type:Boolean,reflect:!0})],G.prototype,`ssr`,void 0);function Me(e,t){let n={waitUntilFirstUpdate:!1,...t};return(t,r)=>{let{update:i}=t;if(e in t){let a=e;t.update=function(e){if(e.has(a)){let t=e.get(a),i=this[a];t!==i&&(!n.waitUntilFirstUpdate||this.hasUpdated)&&this[r](t,i)}i.call(this,e)}}}}function K(e,t,n){return new Promise(r=>{if(n?.duration===1/0)throw Error(`Promise-based animations must be finite.`);let i=e.animate(t,{...n,duration:Ne()?0:n?.duration});i.addEventListener(`cancel`,r,{once:!0}),i.addEventListener(`finish`,r,{once:!0})})}function Ne(){return window.matchMedia(`(prefers-reduced-motion: reduce)`).matches}function q(e){return Promise.all(e.getAnimations().map(e=>new Promise(t=>{let n=requestAnimationFrame(t);e.addEventListener(`cancel`,()=>n,{once:!0}),e.addEventListener(`finish`,()=>n,{once:!0}),e.cancel()})))}let Pe=/* @__PURE__ */ new Map,Fe=/* @__PURE__ */ new WeakMap;function Ie(e){return e??{keyframes:[],options:{duration:0}}}function Le(e){return e}function J(e,t){let n=Fe.get(e);if(n?.[t])return Le(n[t]);let r=Pe.get(t);return r?Le(r):{keyframes:[],options:{duration:0}}}function Y(e,t){Pe.set(e,Ie(t))}function Re(e,t){return new Promise(n=>{function r(i){i.target===e&&(e.removeEventListener(t,r),n())}e.addEventListener(t,r)})}function ze(e){let t=e.tagName.toLowerCase();return e.getAttribute(`tabindex`)===`-1`||e.hasAttribute(`disabled`)||e.hasAttribute(`aria-disabled`)&&e.getAttribute(`aria-disabled`)!==`false`||t===`input`&&e.getAttribute(`type`)===`radio`&&!e.hasAttribute(`checked`)||e.offsetParent===null||window.getComputedStyle(e).visibility===`hidden`?!1:(t===`audio`||t===`video`)&&e.hasAttribute(`controls`)||e.hasAttribute(`tabindex`)||e.hasAttribute(`contenteditable`)&&e.getAttribute(`contenteditable`)!==`false`?!0:[`button`,`input`,`select`,`textarea`,`a`,`audio`,`video`,`summary`].includes(t)}function Be(e){let t=[];function n(e){e instanceof HTMLElement&&(t.push(e),e.shadowRoot!==null&&e.shadowRoot.mode===`open`&&n(e.shadowRoot)),[...e.children].forEach(e=>n(e))}return n(e),{start:t.find(e=>ze(e))??null,end:t.reverse().find(e=>ze(e))??null}}let X=[];var Ve=class{constructor(e){this.tabDirection=`forward`,this.element=e,this.handleFocusIn=this.handleFocusIn.bind(this),this.handleKeyDown=this.handleKeyDown.bind(this),this.handleKeyUp=this.handleKeyUp.bind(this)}activate(){X.push(this.element),document.addEventListener(`focusin`,this.handleFocusIn),document.addEventListener(`keydown`,this.handleKeyDown),document.addEventListener(`keyup`,this.handleKeyUp)}deactivate(){X=X.filter(e=>e!==this.element),document.removeEventListener(`focusin`,this.handleFocusIn),document.removeEventListener(`keydown`,this.handleKeyDown),document.removeEventListener(`keyup`,this.handleKeyUp)}isActive(){return X[X.length-1]===this.element}checkFocus(){if(this.isActive()&&!this.element.matches(`:focus-within`)){let{start:e,end:t}=Be(this.element),n=this.tabDirection===`forward`?e:t;typeof n?.focus==`function`&&n.focus({preventScroll:!0})}}handleFocusIn(){this.checkFocus()}handleKeyDown(e){e.key===`Tab`&&e.shiftKey&&(this.tabDirection=`backward`,requestAnimationFrame(()=>this.checkFocus()))}handleKeyUp(){this.tabDirection=`forward`}},He=class{constructor(e,...t){this.slotNames=[],(this.host=e).addController(this),this.slotNames=t,this.handleSlotChange=this.handleSlotChange.bind(this)}hasDefaultSlot(){return[...this.host.childNodes].some(e=>{if(e.nodeType===e.TEXT_NODE&&e.textContent?.trim()!==``)return!0;if(e.nodeType===e.ELEMENT_NODE){let t=e;if(t.tagName.toLowerCase()===`sl-visually-hidden`)return!1;if(!t.hasAttribute(`slot`))return!0}return!1})}hasNamedSlot(e){return this.host.querySelector(`:scope > [slot="${e}"]`)!==null}test(e){return e===`[default]`?this.hasDefaultSlot():this.hasNamedSlot(e)}hostConnected(){this.host.shadowRoot?.addEventListener(`slotchange`,this.handleSlotChange)}hostDisconnected(){this.host.shadowRoot?.removeEventListener(`slotchange`,this.handleSlotChange)}handleSlotChange(e){let t=e.target;(this.slotNames.includes(`[default]`)&&!t.name||t.name&&this.slotNames.includes(t.name))&&this.host.requestUpdate()}};let Z=/* @__PURE__ */ new Set;function Ue(e){Z.add(e),document.body.style.overflow=`hidden`}function We(e){Z.delete(e),Z.size===0&&(document.body.style.overflow=``)}var Ge=o`:host{--sgds-close-btn-border-radius:var(--sgds-border-radius-sm);display:inline-flex}:host([size=sm]) .btn-close{height:var(--sgds-dimension-24);width:var(--sgds-dimension-24)}:host([tone=fixed-light]) .btn-close{color:var(--sgds-color-fixed-light)}:host([tone=fixed-dark]) .btn-close{color:var(--sgds-color-fixed-dark)}.btn-close{align-items:center;background-color:var(--sgds-bg-transparent);border:0;border:var(--sgds-border-width-1) solid var(--sgds-border-color-transparent);border-radius:var(--sgds-close-btn-border-radius);cursor:pointer;display:flex;height:var(--sgds-dimension-32);justify-content:center;padding:0;position:relative;width:var(--sgds-dimension-32)}.btn-close:focus-visible,.btn-close:hover{background-color:var(--sgds-bg-translucent)}:host([tone=fixed-light]) .btn-close:focus-visible,:host([tone=fixed-light]) .btn-close:hover{background-color:var(--sgds-bg-translucent-fixed-light)}:host([tone=fixed-dark]) .btn-close:focus-visible,:host([tone=fixed-dark]) .btn-close:hover{background-color:var(--sgds-bg-translucent-fixed-dark)}.btn-close:focus-visible{outline:var(--sgds-outline-focus);outline-offset:var(--sgds-outline-offset-focus)}:host(:not([disabled])) .btn-close:active:after{background-color:var(--sgds-bg-translucent);border-radius:inherit;content:"";inset:0;position:absolute}:host([disabled]) .btn-close{cursor:not-allowed;opacity:var(--sgds-opacity-40);pointer-events:none}`;function Ke(e){return!!customElements.get(e)}function qe(e,t){customElements.get(e)||customElements.define(e,t)}function Je(e){return Ke(e)?!0:(console.error(`Custom element of name : ${e} is not registered. Remember to import the component file for custom element registration`),!1)}var Q=class extends G{constructor(...e){super(...e),this.size=`md`,this.tone=`default`,this.disabled=!1,this._clickHandler=()=>{}}static{this.styles=[...G.styles,Ge]}_handleClick(e){if(this.disabled){e.preventDefault(),e.stopPropagation();return}this.removeEventListener(`click`,this._clickHandler),this.addEventListener(`click`,this._clickHandler)}firstUpdated(e){super.firstUpdated(e),Je(`sgds-icon`)}render(){return j`
59
59
  <button class="btn-close" aria-label="Close button" ?disabled=${this.disabled} @click=${this._handleClick}>
60
60
  <sgds-icon name="cross" size="sm"></sgds-icon>
61
61
  </button>
62
- `}};W([H({type:String,reflect:!0})],Q.prototype,`size`,void 0),W([H({type:String,reflect:!0})],Q.prototype,`tone`,void 0),W([H({type:Boolean,reflect:!0})],Q.prototype,`disabled`,void 0);var Ye=o`:host(:not([size=fullscreen])) .modal-panel{background-color:var(--sgds-surface-default);max-width:var(--sgds-dimension-640);padding:var(--sgds-padding-xl)}:host([size=sm]) .modal-panel{max-width:var(--sgds-dimension-480)}:host([size=md]) .modal-panel{max-width:var(--sgds-dimension-640)}:host([size=lg]) .modal-panel{max-width:var(--sgds-dimension-800)}:host([size=xl]) .modal-panel{max-width:var(--sgds-dimension-1280)}:host([size=fullscreen]) .modal-overlay{background-color:var(--sgds-surface-default)}:host([size=fullscreen]) .modal-panel{margin:var(--sgds-margin-xl) var(--sgds-margin-lg)}.modal{align-items:start;bottom:0;display:flex;font-family:var(--sgds-body-font-family);justify-content:center;left:0;position:fixed;right:0;top:0;z-index:var(--sgds-z-index-modal)}.modal-panel{border-radius:var(--sgds-border-radius-md);display:flex;flex-direction:column;gap:var(--sgds-gap-2-xl);margin:auto;max-height:calc(100% - var(--sgds-margin-xl) - var(--sgds-margin-xl));width:100%;z-index:2}.modal-panel:focus{outline:none}.modal-content{display:flex;flex:1 1 auto;flex-direction:column;gap:var(--sgds-gap-2-xl);min-height:0;position:relative}.modal-header__close{position:absolute;right:calc(var(--sgds-padding-md)*-1);top:calc(var(--sgds-padding-md)*-1)}@media screen and (min-width:512px){:host([size=fullscreen]) .modal-panel{margin:var(--sgds-margin-xl)}}@media screen and (min-width:768px){:host([size=fullscreen]) .modal-panel{margin:var(--sgds-margin-2-xl);max-height:calc(100% - var(--sgds-margin-2-xl) - var(--sgds-margin-2-xl))}}@media screen and (min-width:1024px){:host([size=fullscreen]) .modal-panel{margin:var(--sgds-margin-4-xl) var(--sgds-margin-lg);max-height:calc(100% - var(--sgds-margin-4-xl) - var(--sgds-margin-4-xl));max-width:var(--sgds-dimension-888)}}@media screen and (min-width:1280px){:host([size=fullscreen]) .modal-panel{max-width:var(--sgds-dimension-1168)}}@media screen and (min-width:1440px){:host([size=fullscreen]) .modal-panel{max-width:var(--sgds-dimension-1312)}}.modal.show .modal-panel{opacity:1;transform:none}.modal-header{display:flex;flex:0 0 auto;flex-direction:row;justify-content:space-between;max-width:var(--sgds-dimension-872)}.modal-header__title-description{display:flex;flex-direction:column;gap:var(--sgds-gap-sm)}:host([size=fullscreen]) .modal-header__title-description{gap:var(--sgds-gap-md)}slot[name=title]::slotted(*){align-items:center;display:flex;flex:1 1 auto;font-size:var(--sgds-font-size-heading-sm)!important;gap:1rem;line-height:var(--sgds-line-height-lg)!important;margin:var(--sgds-margin-none)!important}slot[name=description]::slotted(*){color:var(--sgds-color-subtle);line-height:var(--sgds-line-height-xs);margin:var(--sgds-margin-none)!important}.modal-body{-webkit-overflow-scrolling:touch;flex:1 1 auto;overflow:auto}.modal-body slot::slotted(*){--sgds-paragraph-spacing-xl:var(--sgds-margin-none)}.modal-footer{display:flex;flex:0 0 auto;flex-wrap:wrap;gap:var(--sgds-gap-md);justify-content:flex-end;padding-top:var(--sgds-padding-md)}.modal:not(.has-footer) .modal-footer{display:none}.modal-overlay{background-color:var(--sgds-bg-overlay);bottom:0;left:0;position:fixed;right:0;top:0}[hidden]{display:none}`,Xe=o`.h1,.h2,.h3,.h4,.h5,.h6 ::slotted(h6),::slotted(h1),::slotted(h2),::slotted(h3),::slotted(h4),::slotted(h5),h1,h2,h3,h4,h5,h6{color:var(--sgds-heading-color);font-weight:700;line-height:1.2;margin-bottom:.5rem;margin-top:0}.h1,::slotted(h1),h1{font-size:calc(1.375rem + 1.5vw)}@media (min-width:1200px){.h1,::slotted(h1),h1{font-size:2.5rem}}.h2,::slotted(h2),h2{font-size:calc(1.325rem + .9vw)}@media (min-width:1200px){.h2,::slotted(h2),h2{font-size:2rem}}.h3,::slotted(h3),h3{font-size:calc(1.275rem + .3vw)}@media (min-width:1200px){.h3,::slotted(h3),h3{font-size:1.5rem}}.h4,::slotted(h4),h4{font-size:1.125rem}.h5,.h6 ::slotted(h6),::slotted(h5),h5,h6{font-size:1rem}.h1,::slotted(h1),h1{line-height:1.2}.h2,::slotted(h2),h2{line-height:1.25}.h3,::slotted(h3),h3{line-height:1.33}.h4,::slotted(h4),h4{line-height:1.78}.h5,.h6 ::slotted(h6),::slotted(h5),h5,h6{line-height:1.2}`,Ze=o`svg{vertical-align:middle}`,$=class extends G{constructor(...e){super(...e),this.hasSlotController=new He(this,`footer`),this.open=!1,this.noAnimation=!1,this.size=`md`,this.hasFooterSlot=!1,this.noCloseButton=!1}static{this.styles=[...G.styles,Xe,Ze,Ye]}static{this.dependencies={"sgds-close-button":Q}}connectedCallback(){super.connectedCallback(),this.handleDocumentKeyDown=this.handleDocumentKeyDown.bind(this),this.modal=new Ve(this),this._resizeHandler=this._debounce(this._onWindowResize.bind(this),200)}disconnectedCallback(){super.disconnectedCallback(),this._removeResizeListener(),We(this)}firstUpdated(e){super.firstUpdated(e),this._onWindowResize(),this.dialog.hidden=!this.open,this.open&&(this.addOpenListeners(),this.modal.activate(),Ue(this))}updated(){this.hasFooterSlot||=this.hasSlotController.test(`footer`)}_debounce(e,t){let n;return(...r)=>{clearTimeout(n),n=window.setTimeout(()=>e(...r),t)}}_onWindowResize(){let e=this.panel.getBoundingClientRect().width,t=this.querySelectorAll(`sgds-button[slot='footer']`);this.panel&&(t.length<=1||(e<512||this.size===`fullscreen`&&e<768?t.forEach(e=>{let t=e;t.fullWidth=!0}):t.forEach(e=>{let t=e;t.fullWidth=!1})))}_addResizeListener(){window.addEventListener(`resize`,this._resizeHandler)}_removeResizeListener(){window.removeEventListener(`resize`,this._resizeHandler)}async show(){if(!this.open)return this.open=!0,Re(this,`sgds-after-show`)}async hide(){if(this.open)return this.open=!1,Re(this,`sgds-after-hide`)}requestClose(e){if(this.emit(`sgds-close`,{cancelable:!0,detail:{source:e}}).defaultPrevented){let e=J(this,`modal.denyClose`);K(this.panel,e.keyframes);return}this.hide()}addOpenListeners(){document.addEventListener(`keydown`,this.handleDocumentKeyDown)}removeOpenListeners(){document.removeEventListener(`keydown`,this.handleDocumentKeyDown)}handleDocumentKeyDown(e){this.open&&e.key===`Escape`&&(e.stopPropagation(),this.requestClose(`keyboard`))}_overlayClickHandler(){this.size!==`fullscreen`&&this.requestClose(`overlay`)}async handleOpenChange(){if(this.open){this.emit(`sgds-show`),this.addOpenListeners(),this.originalTrigger=document.activeElement,this.modal.activate(),Ue(this),await Promise.all([q(this.dialog),q(this.overlay)]),this.dialog.hidden=!1;let e=J(this,`modal.show`),t=J(this,`modal.overlay.show`);!this.noAnimation&&await Promise.all([K(this.panel,e.keyframes,e.options),K(this.overlay,t.keyframes,t.options)]),this.emit(`sgds-after-show`),this.heading.focus(),this._addResizeListener()}else{this.emit(`sgds-hide`),this.removeOpenListeners(),this.modal.deactivate(),await Promise.all([q(this.dialog),q(this.overlay)]);let e=J(this,`modal.hide`),t=J(this,`modal.overlay.hide`);!this.noAnimation&&await Promise.all([K(this.overlay,t.keyframes,t.options).then(()=>{this.overlay.hidden=!0}),K(this.panel,e.keyframes,e.options).then(()=>{this.panel.hidden=!0})]),this.dialog.hidden=!0,this.overlay.hidden=!1,this.panel.hidden=!1,We(this);let n=this.originalTrigger;typeof n?.focus==`function`&&setTimeout(()=>n.focus()),this.emit(`sgds-after-hide`),this._removeResizeListener()}}render(){return j`
62
+ `}};W([H({type:String,reflect:!0})],Q.prototype,`size`,void 0),W([H({type:String,reflect:!0})],Q.prototype,`tone`,void 0),W([H({type:Boolean,reflect:!0})],Q.prototype,`disabled`,void 0);var Ye=o`:host(:not([size=fullscreen])) .modal-panel{background-color:var(--sgds-surface-default);max-width:var(--sgds-dimension-640);padding:var(--sgds-padding-xl)}:host([size=sm]) .modal-panel{max-width:var(--sgds-dimension-480)}:host([size=md]) .modal-panel{max-width:var(--sgds-dimension-640)}:host([size=lg]) .modal-panel{max-width:var(--sgds-dimension-800)}:host([size=xl]) .modal-panel{max-width:var(--sgds-dimension-1280)}:host([size=fullscreen]) .modal-overlay{background-color:var(--sgds-surface-default)}:host([size=fullscreen]) .modal-panel{margin:var(--sgds-margin-xl) var(--sgds-margin-lg)}.modal{align-items:start;bottom:0;display:flex;font-family:var(--sgds-body-font-family);justify-content:center;left:0;position:fixed;right:0;top:0;z-index:var(--sgds-z-index-modal)}.modal-panel{border-radius:var(--sgds-border-radius-md);display:flex;flex-direction:column;gap:var(--sgds-gap-2-xl);margin:auto;max-height:calc(100% - var(--sgds-margin-xl) - var(--sgds-margin-xl));width:100%;z-index:2}.modal-panel:focus{outline:none}.modal-content{display:flex;flex:1 1 auto;flex-direction:column;gap:var(--sgds-gap-2-xl);min-height:0;position:relative}.modal-header__close{position:absolute;right:calc(var(--sgds-padding-md)*-1);top:calc(var(--sgds-padding-md)*-1)}@media screen and (min-width:512px){:host([size=fullscreen]) .modal-panel{margin:var(--sgds-margin-xl)}}@media screen and (min-width:768px){:host([size=fullscreen]) .modal-panel{margin:var(--sgds-margin-2-xl);max-height:calc(100% - var(--sgds-margin-2-xl) - var(--sgds-margin-2-xl))}}@media screen and (min-width:1024px){:host([size=fullscreen]) .modal-panel{margin:var(--sgds-margin-4-xl) var(--sgds-margin-lg);max-height:calc(100% - var(--sgds-margin-4-xl) - var(--sgds-margin-4-xl));max-width:var(--sgds-dimension-888)}}@media screen and (min-width:1280px){:host([size=fullscreen]) .modal-panel{max-width:var(--sgds-dimension-1168)}}@media screen and (min-width:1440px){:host([size=fullscreen]) .modal-panel{max-width:var(--sgds-dimension-1312)}}.modal.show .modal-panel{opacity:1;transform:none}.modal-header{display:flex;flex:0 0 auto;flex-direction:row;justify-content:space-between;max-width:var(--sgds-dimension-872)}.modal-header__title-description{display:flex;flex-direction:column;gap:var(--sgds-gap-sm)}:host([size=fullscreen]) .modal-header__title-description{gap:var(--sgds-gap-md)}slot[name=title]::slotted(*){align-items:center;display:flex;flex:1 1 auto;font-size:var(--sgds-font-size-heading-sm)!important;gap:1rem;line-height:var(--sgds-line-height-lg)!important;margin:var(--sgds-margin-none)!important}slot[name=description]::slotted(*){color:var(--sgds-color-subtle);line-height:var(--sgds-line-height-xs);margin:var(--sgds-margin-none)!important}.modal-body{-webkit-overflow-scrolling:touch;flex:1 1 auto;overflow:auto}.modal-body:focus-visible{outline:var(--sgds-outline-focus);outline-offset:var(--sgds-outline-offset-focus)}.modal-body slot::slotted(*){--sgds-paragraph-spacing-xl:var(--sgds-margin-none)}.modal-footer{display:flex;flex:0 0 auto;flex-wrap:wrap;gap:var(--sgds-gap-md);justify-content:flex-end;padding-top:var(--sgds-padding-md)}.modal:not(.has-footer) .modal-footer{display:none}.modal-overlay{background-color:var(--sgds-bg-overlay);bottom:0;left:0;position:fixed;right:0;top:0}[hidden]{display:none}`,Xe=o`.h1,.h2,.h3,.h4,.h5,.h6 ::slotted(h6),::slotted(h1),::slotted(h2),::slotted(h3),::slotted(h4),::slotted(h5),h1,h2,h3,h4,h5,h6{color:var(--sgds-heading-color);font-weight:700;line-height:1.2;margin-bottom:.5rem;margin-top:0}.h1,::slotted(h1),h1{font-size:calc(1.375rem + 1.5vw)}@media (min-width:1200px){.h1,::slotted(h1),h1{font-size:2.5rem}}.h2,::slotted(h2),h2{font-size:calc(1.325rem + .9vw)}@media (min-width:1200px){.h2,::slotted(h2),h2{font-size:2rem}}.h3,::slotted(h3),h3{font-size:calc(1.275rem + .3vw)}@media (min-width:1200px){.h3,::slotted(h3),h3{font-size:1.5rem}}.h4,::slotted(h4),h4{font-size:1.125rem}.h5,.h6 ::slotted(h6),::slotted(h5),h5,h6{font-size:1rem}.h1,::slotted(h1),h1{line-height:1.2}.h2,::slotted(h2),h2{line-height:1.25}.h3,::slotted(h3),h3{line-height:1.33}.h4,::slotted(h4),h4{line-height:1.78}.h5,.h6 ::slotted(h6),::slotted(h5),h5,h6{line-height:1.2}`,Ze=o`svg{vertical-align:middle}`,$=class extends G{constructor(...e){super(...e),this.hasSlotController=new He(this,`footer`),this.open=!1,this.noAnimation=!1,this.size=`md`,this.hasFooterSlot=!1,this.noCloseButton=!1}static{this.styles=[...G.styles,Xe,Ze,Ye]}static{this.dependencies={"sgds-close-button":Q}}connectedCallback(){super.connectedCallback(),this.handleDocumentKeyDown=this.handleDocumentKeyDown.bind(this),this.modal=new Ve(this),this._resizeHandler=this._debounce(this._onWindowResize.bind(this),200)}disconnectedCallback(){super.disconnectedCallback(),this._removeResizeListener(),We(this)}firstUpdated(e){super.firstUpdated(e),this._onWindowResize(),this.dialog.hidden=!this.open,this.open&&(this.addOpenListeners(),this.modal.activate(),Ue(this))}updated(){this.hasFooterSlot||=this.hasSlotController.test(`footer`)}_debounce(e,t){let n;return(...r)=>{clearTimeout(n),n=window.setTimeout(()=>e(...r),t)}}_onWindowResize(){let e=this.panel.getBoundingClientRect().width,t=this.querySelectorAll(`sgds-button[slot='footer']`);this.panel&&(t.length<=1||(e<512||this.size===`fullscreen`&&e<768?t.forEach(e=>{let t=e;t.fullWidth=!0}):t.forEach(e=>{let t=e;t.fullWidth=!1})))}_addResizeListener(){window.addEventListener(`resize`,this._resizeHandler)}_removeResizeListener(){window.removeEventListener(`resize`,this._resizeHandler)}async show(){if(!this.open)return this.open=!0,Re(this,`sgds-after-show`)}async hide(){if(this.open)return this.open=!1,Re(this,`sgds-after-hide`)}requestClose(e){if(this.emit(`sgds-close`,{cancelable:!0,detail:{source:e}}).defaultPrevented){let e=J(this,`modal.denyClose`);K(this.panel,e.keyframes);return}this.hide()}addOpenListeners(){document.addEventListener(`keydown`,this.handleDocumentKeyDown)}removeOpenListeners(){document.removeEventListener(`keydown`,this.handleDocumentKeyDown)}handleDocumentKeyDown(e){this.open&&e.key===`Escape`&&(e.stopPropagation(),this.requestClose(`keyboard`))}_overlayClickHandler(){this.size!==`fullscreen`&&this.requestClose(`overlay`)}async handleOpenChange(){if(this.open){this.emit(`sgds-show`),this.addOpenListeners(),this.originalTrigger=document.activeElement,this.modal.activate(),Ue(this),await Promise.all([q(this.dialog),q(this.overlay)]),this.dialog.hidden=!1;let e=J(this,`modal.show`),t=J(this,`modal.overlay.show`);!this.noAnimation&&await Promise.all([K(this.panel,e.keyframes,e.options),K(this.overlay,t.keyframes,t.options)]),this.emit(`sgds-after-show`),this.heading.focus(),this._addResizeListener()}else{this.emit(`sgds-hide`),this.removeOpenListeners(),this.modal.deactivate(),await Promise.all([q(this.dialog),q(this.overlay)]);let e=J(this,`modal.hide`),t=J(this,`modal.overlay.hide`);!this.noAnimation&&await Promise.all([K(this.overlay,t.keyframes,t.options).then(()=>{this.overlay.hidden=!0}),K(this.panel,e.keyframes,e.options).then(()=>{this.panel.hidden=!0})]),this.dialog.hidden=!0,this.overlay.hidden=!1,this.panel.hidden=!1,We(this);let n=this.originalTrigger;typeof n?.focus==`function`&&setTimeout(()=>n.focus()),this.emit(`sgds-after-hide`),this._removeResizeListener()}}render(){return j`
63
63
  <div
64
64
  class=${Ae({modal:!0,show:this.open,"has-footer":this.hasFooterSlot})}
65
65
  >
@@ -85,7 +85,7 @@ let De={ATTRIBUTE:1,CHILD:2,PROPERTY:3,BOOLEAN_ATTRIBUTE:4,EVENT:5,ELEMENT:6},Oe
85
85
  <slot name="description"></slot>
86
86
  </div>
87
87
  </div>
88
- <div class="modal-body">
88
+ <div class="modal-body" tabindex="0">
89
89
  <slot></slot>
90
90
  </div>
91
91
  </div class="modal-content">