@quartzds/core 1.0.0-beta.127 → 1.0.0-beta.129

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 (200) hide show
  1. package/CHANGELOG.md +56 -0
  2. package/components/index.js +1 -1
  3. package/components/{p--fUtCWTJ.js → p-BJEvSqqL.js} +6 -6
  4. package/components/{p--fUtCWTJ.js.map → p-BJEvSqqL.js.map} +1 -1
  5. package/components/{p-CeqWiFUg.js → p-Bn9o5Um2.js} +3 -3
  6. package/components/{p-CeqWiFUg.js.map → p-Bn9o5Um2.js.map} +1 -1
  7. package/components/{p-CaibVX_2.js → p-BoqB4ddF.js} +29 -7
  8. package/components/p-BoqB4ddF.js.map +1 -0
  9. package/components/{p-B2794xy3.js → p-CQ-Ilm5d.js} +5 -5
  10. package/components/p-CQ-Ilm5d.js.map +1 -0
  11. package/components/{p-CVa_aaUh.js → p-Cevyg51v.js} +46 -20
  12. package/components/p-Cevyg51v.js.map +1 -0
  13. package/components/{p-CgD-5rh_.js → p-CnWdHgve.js} +12 -22
  14. package/components/p-CnWdHgve.js.map +1 -0
  15. package/components/{p-D03cCQ_7.js → p-CrzaI1TQ.js} +6 -6
  16. package/components/p-CrzaI1TQ.js.map +1 -0
  17. package/components/{p-CIoYTw7w.js → p-DEa0r_EV.js} +6 -6
  18. package/components/p-DEa0r_EV.js.map +1 -0
  19. package/components/{p-CHINI0hi.js → p-DOqfdgQA.js} +6 -6
  20. package/components/p-DOqfdgQA.js.map +1 -0
  21. package/components/{p-BIt0dDIJ.js → p-DjZ2J7fQ.js} +4 -4
  22. package/components/{p-BIt0dDIJ.js.map → p-DjZ2J7fQ.js.map} +1 -1
  23. package/components/{p-epc3kt-8.js → p-Do46q_Gd.js} +5 -5
  24. package/components/p-Do46q_Gd.js.map +1 -0
  25. package/components/{p-CS-MebAm.js → p-cw45QxUT.js} +7 -7
  26. package/components/{p-CS-MebAm.js.map → p-cw45QxUT.js.map} +1 -1
  27. package/components/{p-CtPHn4AQ.js → p-fKK7EmM2.js} +3 -3
  28. package/components/{p-CtPHn4AQ.js.map → p-fKK7EmM2.js.map} +1 -1
  29. package/components/qds-action-item.js +3 -3
  30. package/components/qds-avatar-media.js +1 -1
  31. package/components/qds-avatar.js +5 -5
  32. package/components/qds-avatar.js.map +1 -1
  33. package/components/qds-badge-indicator.js +1 -1
  34. package/components/qds-breadcrumb-item.js +5 -5
  35. package/components/qds-breadcrumb-item.js.map +1 -1
  36. package/components/qds-button.js +12 -20
  37. package/components/qds-button.js.map +1 -1
  38. package/components/qds-checkbox.js +1 -1
  39. package/components/qds-chip.js +62 -29
  40. package/components/qds-chip.js.map +1 -1
  41. package/components/qds-dialog.js +6 -6
  42. package/components/qds-divider.js +1 -1
  43. package/components/qds-dropdown.js +1 -1
  44. package/components/qds-form-message.js +3 -3
  45. package/components/qds-icon-button.js +1 -1
  46. package/components/qds-icon-tab.js +68 -34
  47. package/components/qds-icon-tab.js.map +1 -1
  48. package/components/qds-icon.js +1 -1
  49. package/components/qds-inline-link.js +4 -4
  50. package/components/qds-inline-link.js.map +1 -1
  51. package/components/qds-input.js +6 -6
  52. package/components/qds-input.js.map +1 -1
  53. package/components/qds-label.js +4 -4
  54. package/components/qds-list-item.js +14 -14
  55. package/components/qds-loader.js +2 -2
  56. package/components/qds-menu-item.js +49 -16
  57. package/components/qds-menu-item.js.map +1 -1
  58. package/components/qds-mini-button.js +1 -1
  59. package/components/qds-progress-bar.js +1 -1
  60. package/components/qds-radio.js +1 -1
  61. package/components/qds-select.js +6 -6
  62. package/components/qds-standalone-link.js +2 -2
  63. package/components/qds-switch.js +2 -2
  64. package/components/qds-tab.js +39 -29
  65. package/components/qds-tab.js.map +1 -1
  66. package/components/qds-tabbar.js +140 -33
  67. package/components/qds-tabbar.js.map +1 -1
  68. package/components/qds-table-head-cell.js +2 -2
  69. package/components/qds-tag.js +1 -1
  70. package/components/qds-textarea.js +4 -4
  71. package/components/qds-textarea.js.map +1 -1
  72. package/components/qds-title.js +1 -1
  73. package/components/qds-tooltip.js +1 -1
  74. package/dist/cjs/{helpers-DjUgyTKn.js → helpers-D6srVOLt.js} +31 -6
  75. package/dist/{esm/helpers-mPQzhx-O.js.map → cjs/helpers-D6srVOLt.js.map} +1 -1
  76. package/dist/cjs/loader.cjs.js +1 -1
  77. package/dist/cjs/qds-action-item.cjs.entry.js +1 -1
  78. package/dist/cjs/qds-avatar-media.cjs.entry.js +2 -2
  79. package/dist/cjs/qds-avatar-media.entry.cjs.js.map +1 -1
  80. package/dist/cjs/qds-avatar.cjs.entry.js +2 -2
  81. package/dist/cjs/qds-avatar.entry.cjs.js.map +1 -1
  82. package/dist/cjs/qds-badge-counter.qds-badge-indicator.entry.cjs.js.map +1 -1
  83. package/dist/cjs/qds-badge-counter_2.cjs.entry.js +3 -3
  84. package/dist/cjs/qds-breadcrumb-item.cjs.entry.js +3 -3
  85. package/dist/cjs/qds-breadcrumb-item.entry.cjs.js.map +1 -1
  86. package/dist/cjs/qds-button.cjs.entry.js +9 -17
  87. package/dist/cjs/qds-button.entry.cjs.js.map +1 -1
  88. package/dist/cjs/qds-checkbox.qds-radio.entry.cjs.js.map +1 -1
  89. package/dist/cjs/qds-checkbox_2.cjs.entry.js +3 -3
  90. package/dist/cjs/qds-chip.cjs.entry.js +56 -23
  91. package/dist/cjs/qds-chip.entry.cjs.js.map +1 -1
  92. package/dist/cjs/qds-dialog.cjs.entry.js +2 -2
  93. package/dist/cjs/qds-divider.qds-icon-button.entry.cjs.js.map +1 -1
  94. package/dist/cjs/qds-divider_2.cjs.entry.js +8 -18
  95. package/dist/cjs/qds-dropdown.cjs.entry.js +44 -18
  96. package/dist/cjs/qds-dropdown.entry.cjs.js.map +1 -1
  97. package/dist/cjs/qds-form-message.cjs.entry.js +2 -2
  98. package/dist/cjs/qds-icon-tab.cjs.entry.js +59 -29
  99. package/dist/cjs/qds-icon-tab.entry.cjs.js.map +1 -1
  100. package/dist/cjs/qds-icon.cjs.entry.js +1 -1
  101. package/dist/cjs/qds-inline-link.cjs.entry.js +3 -3
  102. package/dist/cjs/qds-inline-link.entry.cjs.js.map +1 -1
  103. package/dist/cjs/qds-input.cjs.entry.js +4 -4
  104. package/dist/cjs/qds-input.entry.cjs.js.map +1 -1
  105. package/dist/cjs/qds-label.cjs.entry.js +3 -3
  106. package/dist/cjs/qds-list-item.cjs.entry.js +5 -5
  107. package/dist/cjs/qds-loader.cjs.entry.js +1 -1
  108. package/dist/cjs/qds-menu-item.cjs.entry.js +42 -12
  109. package/dist/cjs/qds-menu-item.entry.cjs.js.map +1 -1
  110. package/dist/cjs/qds-mini-button.cjs.entry.js +1 -1
  111. package/dist/cjs/qds-progress-bar.cjs.entry.js +1 -1
  112. package/dist/cjs/qds-select.cjs.entry.js +5 -5
  113. package/dist/cjs/qds-standalone-link.cjs.entry.js +1 -1
  114. package/dist/cjs/qds-switch.cjs.entry.js +1 -1
  115. package/dist/cjs/qds-tab.cjs.entry.js +34 -24
  116. package/dist/cjs/qds-tab.entry.cjs.js.map +1 -1
  117. package/dist/cjs/qds-tabbar.cjs.entry.js +130 -26
  118. package/dist/cjs/qds-tabbar.entry.cjs.js.map +1 -1
  119. package/dist/cjs/qds-table-head-cell.cjs.entry.js +2 -2
  120. package/dist/cjs/qds-tag.cjs.entry.js +3 -3
  121. package/dist/cjs/qds-textarea.cjs.entry.js +4 -4
  122. package/dist/cjs/qds-textarea.entry.cjs.js.map +1 -1
  123. package/dist/cjs/qds-title.cjs.entry.js +3 -3
  124. package/dist/cjs/qds-tooltip.cjs.entry.js +3 -3
  125. package/dist/cjs/qds-tooltip.entry.cjs.js.map +1 -1
  126. package/dist/cjs/qds.cjs.js +1 -1
  127. package/dist/custom-elements.json +379 -47
  128. package/dist/docs.json +47 -1
  129. package/dist/esm/{helpers-mPQzhx-O.js → helpers-_a9kqEyo.js} +29 -7
  130. package/dist/{cjs/helpers-DjUgyTKn.js.map → esm/helpers-_a9kqEyo.js.map} +1 -1
  131. package/dist/esm/loader.js +1 -1
  132. package/dist/esm/qds-action-item.entry.js +1 -1
  133. package/dist/esm/qds-avatar-media.entry.js +2 -2
  134. package/dist/esm/qds-avatar-media.entry.js.map +1 -1
  135. package/dist/esm/qds-avatar.entry.js +2 -2
  136. package/dist/esm/qds-avatar.entry.js.map +1 -1
  137. package/dist/esm/qds-badge-counter.qds-badge-indicator.entry.js.map +1 -1
  138. package/dist/esm/qds-badge-counter_2.entry.js +3 -3
  139. package/dist/esm/qds-breadcrumb-item.entry.js +3 -3
  140. package/dist/esm/qds-breadcrumb-item.entry.js.map +1 -1
  141. package/dist/esm/qds-button.entry.js +9 -17
  142. package/dist/esm/qds-button.entry.js.map +1 -1
  143. package/dist/esm/qds-checkbox.qds-radio.entry.js.map +1 -1
  144. package/dist/esm/qds-checkbox_2.entry.js +3 -3
  145. package/dist/esm/qds-chip.entry.js +56 -23
  146. package/dist/esm/qds-chip.entry.js.map +1 -1
  147. package/dist/esm/qds-dialog.entry.js +2 -2
  148. package/dist/esm/qds-divider.qds-icon-button.entry.js.map +1 -1
  149. package/dist/esm/qds-divider_2.entry.js +8 -18
  150. package/dist/esm/qds-dropdown.entry.js +44 -18
  151. package/dist/esm/qds-dropdown.entry.js.map +1 -1
  152. package/dist/esm/qds-form-message.entry.js +2 -2
  153. package/dist/esm/qds-icon-tab.entry.js +59 -29
  154. package/dist/esm/qds-icon-tab.entry.js.map +1 -1
  155. package/dist/esm/qds-icon.entry.js +1 -1
  156. package/dist/esm/qds-inline-link.entry.js +3 -3
  157. package/dist/esm/qds-inline-link.entry.js.map +1 -1
  158. package/dist/esm/qds-input.entry.js +4 -4
  159. package/dist/esm/qds-input.entry.js.map +1 -1
  160. package/dist/esm/qds-label.entry.js +3 -3
  161. package/dist/esm/qds-list-item.entry.js +5 -5
  162. package/dist/esm/qds-loader.entry.js +1 -1
  163. package/dist/esm/qds-menu-item.entry.js +42 -12
  164. package/dist/esm/qds-menu-item.entry.js.map +1 -1
  165. package/dist/esm/qds-mini-button.entry.js +1 -1
  166. package/dist/esm/qds-progress-bar.entry.js +1 -1
  167. package/dist/esm/qds-select.entry.js +5 -5
  168. package/dist/esm/qds-standalone-link.entry.js +1 -1
  169. package/dist/esm/qds-switch.entry.js +1 -1
  170. package/dist/esm/qds-tab.entry.js +34 -24
  171. package/dist/esm/qds-tab.entry.js.map +1 -1
  172. package/dist/esm/qds-tabbar.entry.js +130 -26
  173. package/dist/esm/qds-tabbar.entry.js.map +1 -1
  174. package/dist/esm/qds-table-head-cell.entry.js +2 -2
  175. package/dist/esm/qds-tag.entry.js +3 -3
  176. package/dist/esm/qds-textarea.entry.js +4 -4
  177. package/dist/esm/qds-textarea.entry.js.map +1 -1
  178. package/dist/esm/qds-title.entry.js +3 -3
  179. package/dist/esm/qds-tooltip.entry.js +3 -3
  180. package/dist/esm/qds-tooltip.entry.js.map +1 -1
  181. package/dist/esm/qds.js +1 -1
  182. package/dist/types/components/chip/chip.d.ts +4 -2
  183. package/dist/types/components/icon-tab/icon-tab.d.ts +2 -0
  184. package/dist/types/components/menu-item/menu-item.d.ts +3 -0
  185. package/dist/types/components/tab/tab.d.ts +2 -0
  186. package/dist/types/components/tabbar/tabbar.d.ts +7 -0
  187. package/dist/types/components.d.ts +8 -0
  188. package/dist/types/helpers.d.ts +4 -1
  189. package/dist/vscode.html-custom-data.json +4 -0
  190. package/hydrate/index.js +450 -212
  191. package/hydrate/index.mjs +450 -212
  192. package/package.json +1 -1
  193. package/components/p-B2794xy3.js.map +0 -1
  194. package/components/p-CHINI0hi.js.map +0 -1
  195. package/components/p-CIoYTw7w.js.map +0 -1
  196. package/components/p-CVa_aaUh.js.map +0 -1
  197. package/components/p-CaibVX_2.js.map +0 -1
  198. package/components/p-CgD-5rh_.js.map +0 -1
  199. package/components/p-D03cCQ_7.js.map +0 -1
  200. package/components/p-epc3kt-8.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"qds-menu-item.entry.js","sources":["src/components/menu-item/menu-item.css?tag=qds-menu-item&encapsulation=shadow","src/components/menu-item/menu-item.tsx"],"sourcesContent":["/*\n * SPDX-FileCopyrightText: © 2025 Schneider Electric\n *\n * SPDX-License-Identifier: Apache-2.0\n */\n\n@import url('../shared.css');\n\n:host {\n display: block;\n}\n\n:host(:focus-visible) {\n /* inner ring */\n outline: var(--qds-theme-focus-border-contrast) solid\n var(--qds-focus-light-border-width);\n outline-offset: 0;\n\n /* outer ring */\n box-shadow: 0 0 0 var(--qds-focus-heavy-border-width)\n var(--qds-theme-focus-border);\n border-radius: var(--qds-control-border-radius);\n}\n\n.qds-menu-item-container {\n display: flex;\n align-items: center;\n flex-grow: 1;\n}\n\n.qds-disabled {\n opacity: var(--qds-theme-disabled);\n pointer-events: none;\n cursor: not-allowed;\n}\n\n.qds-icon {\n color: var(--qds-theme-text-standard);\n transform: scaleX(var(--qds-direction-factor, 1));\n}\n\n.qds-text {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n color: var(--qds-theme-title);\n flex-grow: 1;\n}\n\n.qds-shortcut {\n color: var(--qds-theme-text-subdued);\n}\n\n[data-size='small'] {\n .qds-menu-item-container {\n gap: var(--qds-list-item-small-gap-internal);\n padding-inline: var(--qds-list-item-small-padding-horizontal);\n padding-block: var(--qds-list-item-small-padding-vertical);\n }\n\n .menu-item-checkable,\n .qds-icon {\n height: var(--qds-control-small-icon-size);\n width: var(--qds-control-small-icon-size);\n }\n\n .qds-text {\n font: var(--qds-list-item-small-title);\n }\n}\n\n[data-size='standard'] {\n .qds-menu-item-container {\n gap: var(--qds-list-item-standard-gap-internal);\n padding-inline: var(--qds-list-item-standard-padding-horizontal);\n padding-block: var(--qds-list-item-standard-padding-vertical);\n }\n\n .menu-item-checkable,\n .qds-icon {\n height: var(--qds-control-standard-icon-size);\n width: var(--qds-control-standard-icon-size);\n }\n\n .qds-text {\n font: var(--qds-list-item-standard-title);\n }\n}\n\n[data-size='large'] {\n .qds-menu-item-container {\n gap: var(--qds-list-item-large-gap-internal);\n padding-inline: var(--qds-list-item-large-padding-horizontal);\n padding-block: var(--qds-list-item-large-padding-vertical);\n }\n\n .menu-item-checkable,\n .qds-icon {\n height: var(--qds-control-large-icon-size);\n width: var(--qds-control-large-icon-size);\n }\n\n .qds-text {\n font: var(--qds-list-item-large-title);\n }\n}\n\n.qds-menu-item {\n box-sizing: border-box;\n display: flex;\n flex-grow: 1;\n align-items: center;\n appearance: none;\n border: none;\n border-radius: var(--qds-control-border-radius);\n cursor: pointer;\n text-align: initial;\n text-decoration: none;\n color: var(--qds-theme-text-standard);\n\n &:not(.qds-selected, .qds-disabled) {\n &:hover {\n background-color: var(--qds-theme-interactive-background-hover);\n }\n\n &:active {\n background-color: var(--qds-theme-interactive-background-pressed);\n }\n }\n}\n","// SPDX-FileCopyrightText: © 2025 Schneider Electric\n//\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { ComponentInterface, EventEmitter } from '@stencil/core'\nimport {\n AttachInternals,\n Component,\n Element,\n Event,\n h,\n Host,\n Listen,\n Prop,\n readTask,\n State,\n Watch,\n} from '@stencil/core'\n\nimport type { QdsFocusEventDetail } from '../../helpers'\nimport {\n getSubmenuOpenKey,\n invariant,\n isEllipsisActive,\n isRTL,\n pickFocusEventAttributes,\n} from '../../helpers'\nimport type { Size } from '../shared'\n\nexport type Type = 'checkbox' | undefined\n\n/**\n *\n *\n * @see https://quartz.se.com/build/components/menu-item\n */\n@Component({\n tag: 'qds-menu-item',\n shadow: true,\n styleUrl: 'menu-item.css',\n})\nexport class MenuItem implements ComponentInterface {\n /**\n * Prevents the menu item from being interacted with: it cannot be clicked\n * or focused.\n */\n @Prop() public readonly disabled?: boolean = false\n\n /**\n * The name of the icon to render.\n *\n * Available names depend on the icon library being used.\n */\n @Prop() public readonly iconName?: string\n\n /**\n * The name of a registered icon library.\n */\n @Prop() public readonly iconLibrary: string = 'default'\n\n /**\n * The menu item's size.\n */\n @Prop() public readonly size?: Size = 'standard'\n\n /**\n * Whether or not the menu item should be selectable.\n */\n @Prop() public type: Type\n\n /**\n * Whether or not the menu item is checked.\n */\n @Prop({ mutable: true }) public checked?: boolean\n\n /**\n * The menu item's text\n */\n @Prop() public readonly text!: string\n\n /**\n * The shortcut of the action.\n */\n @Prop() public readonly shortcut?: string\n\n @State() private hasSubmenuSlot = false\n\n @State() private tooltip = false\n\n /**\n * Emitted when the menu item loses focus.\n */\n @Event({ eventName: 'qdsBlur', bubbles: false, cancelable: false })\n private readonly blurEmitter!: EventEmitter<QdsFocusEventDetail>\n\n /**\n * Emitted when the menu item gains focus.\n */\n @Event({ eventName: 'qdsFocus', bubbles: false, cancelable: false })\n private readonly focusEmitter!: EventEmitter<QdsFocusEventDetail>\n\n /**\n * Emitted when the menu item is checked.\n */\n @Event({ eventName: 'qdsSelect', cancelable: false })\n private readonly selectEmitter!: EventEmitter<void>\n\n @Element() private readonly host!: HTMLElement\n\n @AttachInternals() private readonly internals!: ElementInternals\n\n #ro?: ResizeObserver\n\n #menuItem!: HTMLDivElement\n\n #span?: HTMLSpanElement\n\n #submenuDropdown?: HTMLQdsDropdownElement\n\n get #submenuPlacement(): 'left-start' | 'right-start' {\n return isRTL(this.host) ? 'left-start' : 'right-start'\n }\n\n get #computedSize(): Size {\n switch (this.size) {\n case 'standard':\n case 'small':\n case 'large': {\n return this.size\n }\n default: {\n return 'standard'\n }\n }\n }\n\n get #computedType(): Type {\n return this.type ?? undefined\n }\n\n get #computedCheckable(): boolean {\n return this.#computedType === 'checkbox'\n }\n\n get #computedChecked(): boolean {\n return (\n (this.#computedCheckable && !this.#hasSubmenu && this.checked) ?? false\n )\n }\n\n get #computedDisabled(): boolean {\n return this.disabled ?? false\n }\n\n get #hasSubmenu(): boolean {\n return this.hasSubmenuSlot\n }\n\n @Listen('blur')\n protected onBlur(event: FocusEvent): void {\n this.blurEmitter.emit(pickFocusEventAttributes(event))\n }\n\n @Listen('focus')\n protected onFocus(event: FocusEvent): void {\n this.focusEmitter.emit(pickFocusEventAttributes(event))\n }\n\n @Listen('click')\n protected onClick(event: MouseEvent): void {\n if (this.#computedDisabled) {\n event.stopImmediatePropagation()\n return\n }\n\n if (this.#computedCheckable) {\n this.checked = !this.#computedChecked\n this.selectEmitter.emit()\n }\n\n if (this.#hasSubmenu && this.#submenuDropdown) {\n this.#submenuDropdown.placement = isRTL(this.host)\n ? this.#submenuPlacement\n : this.#submenuPlacement\n }\n }\n\n @Listen('keydown')\n protected async onKeydown(event: KeyboardEvent): Promise<void> {\n if (!this.#hasSubmenu || !this.#submenuDropdown) return\n\n const openKey = getSubmenuOpenKey(this.host)\n if (event.key === openKey || event.key === ' ' || event.key === 'Enter') {\n event.preventDefault()\n event.stopPropagation()\n this.#submenuDropdown.placement =\n event.key === openKey ? this.#submenuPlacement : this.#submenuPlacement\n await this.#submenuDropdown.show()\n await this.#submenuDropdown.focusFirstItem()\n }\n }\n\n @Watch('disabled')\n protected disabledChanged(): void {\n this.internals.ariaDisabled = this.#computedDisabled.toString()\n }\n\n @Watch('checked')\n protected checkedChanged(): void {\n this.internals.ariaChecked = this.#computedChecked.toString()\n }\n\n public componentDidLoad(): void {\n this.checkedChanged()\n invariant(this.#span)\n\n const span = this.#span\n readTask(() => {\n this.tooltip = isEllipsisActive(span)\n })\n this.#ro = new ResizeObserver(([spanEntry]) => {\n this.tooltip = isEllipsisActive(spanEntry.target as HTMLSpanElement)\n })\n this.#ro.observe(this.#span)\n }\n\n public componentWillLoad(): void {\n this.hasSubmenuSlot = this.host.hasChildNodes()\n\n this.internals.role = this.hasSubmenuSlot\n ? 'menu'\n : this.type === 'checkbox'\n ? 'menuitemcheckbox'\n : 'menuitem'\n\n this.disabledChanged()\n }\n\n public render() {\n return (\n <Host>\n <div\n class={{\n 'qds-menu-item': true,\n 'qds-disabled': this.#computedDisabled,\n 'qds-has-submenu': this.hasSubmenuSlot,\n }}\n ref={this.#menuitemDivRef}\n data-size={this.#computedSize}\n aria-hidden=\"true\"\n >\n <div class=\"qds-menu-item-container\">\n {this.#computedCheckable && !this.#computedChecked && (\n <span class=\"menu-item-checkable\" />\n )}\n {this.#computedChecked && (\n <qds-icon class=\"qds-icon\" library=\"core\" name=\"checked\" />\n )}\n {this.iconName !== undefined && this.iconName !== '' && (\n <qds-icon\n class=\"qds-icon\"\n library={this.iconLibrary}\n name={this.iconName}\n />\n )}\n <span class=\"qds-text\" ref={this.#spanRef}>\n {this.text}\n </span>\n {this.shortcut !== undefined && this.shortcut !== '' && (\n <span class=\"qds-shortcut\">{this.shortcut}</span>\n )}\n {this.#hasSubmenu && (\n <qds-icon class=\"qds-icon\" library=\"core\" name=\"navigation\" />\n )}\n </div>\n </div>\n {this.#hasSubmenu && (\n <qds-dropdown\n class=\"qds-accessory qds-related\"\n target={this.#menuitemDivRef}\n ref={(element: HTMLQdsDropdownElement | undefined) => {\n this.#submenuDropdown = element\n }}\n >\n <slot />\n </qds-dropdown>\n )}\n {this.tooltip && (\n <qds-tooltip ref={this.#tooltipRef}>{this.text}</qds-tooltip>\n )}\n </Host>\n )\n }\n\n readonly #menuitemDivRef = (menuItem?: HTMLDivElement): HTMLDivElement => {\n if (menuItem) {\n this.#menuItem = menuItem\n }\n\n return this.#menuItem\n }\n\n readonly #spanRef = (span?: HTMLSpanElement): void => {\n this.#span = span\n }\n\n readonly #tooltipRef = (tooltip?: HTMLQdsTooltipElement): void => {\n if (tooltip)\n // eslint-disable-next-line no-param-reassign\n tooltip.target = this.#menuItem\n }\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"qds-menu-item.entry.js","sources":["src/components/menu-item/menu-item.css?tag=qds-menu-item&encapsulation=shadow","src/components/menu-item/menu-item.tsx"],"sourcesContent":["/*\n * SPDX-FileCopyrightText: © 2025 Schneider Electric\n *\n * SPDX-License-Identifier: Apache-2.0\n */\n\n@import url('../shared.css');\n\n:host {\n display: block;\n}\n\n:host(:focus-visible) {\n /* inner ring */\n outline: var(--qds-theme-focus-border-contrast) solid\n var(--qds-focus-light-border-width);\n outline-offset: 0;\n\n /* outer ring */\n box-shadow: 0 0 0 var(--qds-focus-heavy-border-width)\n var(--qds-theme-focus-border);\n border-radius: var(--qds-control-border-radius);\n}\n\n.qds-menu-item-container {\n display: flex;\n align-items: center;\n flex-grow: 1;\n}\n\n.qds-disabled {\n opacity: var(--qds-theme-disabled);\n pointer-events: none;\n cursor: not-allowed;\n}\n\n.qds-icon {\n color: var(--qds-theme-text-standard);\n transform: scaleX(var(--qds-direction-factor, 1));\n}\n\n.qds-text {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n color: var(--qds-theme-title);\n flex-grow: 1;\n}\n\n.qds-shortcut {\n color: var(--qds-theme-text-subdued);\n}\n\n[data-size='small'] {\n .qds-menu-item-container {\n gap: var(--qds-list-item-small-gap-internal);\n padding-inline: var(--qds-list-item-small-padding-horizontal);\n padding-block: var(--qds-list-item-small-padding-vertical);\n }\n\n .menu-item-checkable,\n .qds-icon {\n height: var(--qds-control-small-icon-size);\n width: var(--qds-control-small-icon-size);\n }\n\n .qds-text {\n font: var(--qds-list-item-small-title);\n }\n}\n\n[data-size='standard'] {\n .qds-menu-item-container {\n gap: var(--qds-list-item-standard-gap-internal);\n padding-inline: var(--qds-list-item-standard-padding-horizontal);\n padding-block: var(--qds-list-item-standard-padding-vertical);\n }\n\n .menu-item-checkable,\n .qds-icon {\n height: var(--qds-control-standard-icon-size);\n width: var(--qds-control-standard-icon-size);\n }\n\n .qds-text {\n font: var(--qds-list-item-standard-title);\n }\n}\n\n[data-size='large'] {\n .qds-menu-item-container {\n gap: var(--qds-list-item-large-gap-internal);\n padding-inline: var(--qds-list-item-large-padding-horizontal);\n padding-block: var(--qds-list-item-large-padding-vertical);\n }\n\n .menu-item-checkable,\n .qds-icon {\n height: var(--qds-control-large-icon-size);\n width: var(--qds-control-large-icon-size);\n }\n\n .qds-text {\n font: var(--qds-list-item-large-title);\n }\n}\n\n.qds-menu-item {\n box-sizing: border-box;\n display: flex;\n flex-grow: 1;\n align-items: center;\n appearance: none;\n border: none;\n border-radius: var(--qds-control-border-radius);\n cursor: pointer;\n text-align: initial;\n text-decoration: none;\n color: var(--qds-theme-text-standard);\n\n &:not(.qds-selected, .qds-disabled) {\n &:hover {\n background-color: var(--qds-theme-interactive-background-hover);\n }\n\n &:active {\n background-color: var(--qds-theme-interactive-background-pressed);\n }\n }\n}\n","// SPDX-FileCopyrightText: © 2025 Schneider Electric\n//\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { ComponentInterface, EventEmitter } from '@stencil/core'\nimport {\n AttachInternals,\n Component,\n Element,\n Event,\n h,\n Host,\n Listen,\n Prop,\n readTask,\n State,\n Watch,\n} from '@stencil/core'\n\nimport type { QdsFocusEventDetail } from '../../helpers'\nimport {\n getSubmenuOpenKey,\n invariant,\n isEllipsisActive,\n isRTL,\n pickFocusEventAttributes,\n} from '../../helpers'\nimport type { Size } from '../shared'\n\nexport type Type = 'checkbox' | undefined\n\n/**\n *\n *\n * @see https://quartz.se.com/build/components/menu-item\n */\n@Component({\n tag: 'qds-menu-item',\n shadow: true,\n styleUrl: 'menu-item.css',\n})\nexport class MenuItem implements ComponentInterface {\n /**\n * Prevents the menu item from being interacted with: it cannot be clicked\n * or focused.\n */\n @Prop() public readonly disabled?: boolean = false\n\n /**\n * The name of the icon to render.\n *\n * Available names depend on the icon library being used.\n */\n @Prop() public readonly iconName?: string\n\n /**\n * The name of a registered icon library.\n */\n @Prop() public readonly iconLibrary: string = 'default'\n\n /**\n * The menu item's size.\n */\n @Prop() public readonly size?: Size = 'standard'\n\n /**\n * Whether or not the menu item should be selectable.\n */\n @Prop() public type: Type\n\n /**\n * Whether or not the menu item is checked.\n */\n @Prop({ mutable: true }) public checked?: boolean\n\n /**\n * The menu item's text\n */\n @Prop() public readonly text!: string\n\n /**\n * The shortcut of the action.\n */\n @Prop() public readonly shortcut?: string\n\n @State() private hasSubmenuSlot = false\n\n @State() private tooltip = false\n\n /**\n * Emitted when the menu item loses focus.\n */\n @Event({ eventName: 'qdsBlur', bubbles: false, cancelable: false })\n private readonly blurEmitter!: EventEmitter<QdsFocusEventDetail>\n\n /**\n * Emitted when the menu item gains focus.\n */\n @Event({ eventName: 'qdsFocus', bubbles: false, cancelable: false })\n private readonly focusEmitter!: EventEmitter<QdsFocusEventDetail>\n\n /**\n * Emitted when the menu item is checked.\n */\n @Event({ eventName: 'qdsSelect', cancelable: false })\n private readonly selectEmitter!: EventEmitter<void>\n\n @Element() private readonly host!: HTMLElement\n\n @AttachInternals() private readonly internals!: ElementInternals\n\n #ro?: ResizeObserver\n\n #menuItem!: HTMLDivElement\n\n #span?: HTMLSpanElement\n\n #submenuDropdown?: HTMLQdsDropdownElement\n\n #rawAriaLabel?: string\n\n get #submenuPlacement(): 'left-start' | 'right-start' {\n return isRTL(this.host) ? 'left-start' : 'right-start'\n }\n\n get #computedSize(): Size {\n switch (this.size) {\n case 'standard':\n case 'small':\n case 'large': {\n return this.size\n }\n default: {\n return 'standard'\n }\n }\n }\n\n get #computedType(): Type {\n return this.type ?? undefined\n }\n\n get #computedCheckable(): boolean {\n return this.#computedType === 'checkbox'\n }\n\n get #computedChecked(): boolean {\n return (\n (this.#computedCheckable && !this.#hasSubmenu && this.checked) ?? false\n )\n }\n\n get #computedDisabled(): boolean {\n return this.disabled ?? false\n }\n\n get #hasSubmenu(): boolean {\n return this.hasSubmenuSlot\n }\n\n get #computedRole(): 'menuitem' | 'menuitemcheckbox' {\n return this.hasSubmenuSlot\n ? 'menuitem'\n : this.type === 'checkbox'\n ? 'menuitemcheckbox'\n : 'menuitem'\n }\n\n get #hasShortcut(): boolean {\n return (this.shortcut?.trim() ?? '') !== ''\n }\n\n get #computedAriaLabel(): string {\n const label = this.#rawAriaLabel ?? this.text\n return this.#hasShortcut ? `${label} ${this.shortcut}` : label\n }\n\n @Listen('blur')\n protected onBlur(event: FocusEvent): void {\n this.blurEmitter.emit(pickFocusEventAttributes(event))\n }\n\n @Listen('focus')\n protected onFocus(event: FocusEvent): void {\n this.focusEmitter.emit(pickFocusEventAttributes(event))\n }\n\n @Listen('click')\n protected onClick(event: MouseEvent): void {\n if (this.#computedDisabled) {\n event.stopImmediatePropagation()\n return\n }\n\n if (this.#computedCheckable) {\n this.checked = !this.#computedChecked\n this.selectEmitter.emit()\n }\n\n if (this.#hasSubmenu && this.#submenuDropdown) {\n this.#submenuDropdown.placement = isRTL(this.host)\n ? this.#submenuPlacement\n : this.#submenuPlacement\n }\n }\n\n @Listen('keydown')\n protected async onKeydown(event: KeyboardEvent): Promise<void> {\n if (!this.#hasSubmenu || !this.#submenuDropdown) return\n\n const openKey = getSubmenuOpenKey(this.host)\n if (event.key === openKey || event.key === ' ' || event.key === 'Enter') {\n event.preventDefault()\n event.stopPropagation()\n this.#submenuDropdown.placement =\n event.key === openKey ? this.#submenuPlacement : this.#submenuPlacement\n await this.#submenuDropdown.show()\n await this.#submenuDropdown.focusFirstItem()\n }\n }\n\n @Watch('disabled')\n protected disabledChanged(): void {\n this.internals.ariaDisabled = this.#computedDisabled.toString()\n }\n\n @Watch('checked')\n protected checkedChanged(): void {\n this.internals.ariaChecked = this.#computedChecked.toString()\n }\n\n @Watch('text')\n protected textChanged(): void {\n this.#updateAriaLabel()\n }\n\n @Watch('aria-label')\n protected ariaLabelChanged(newValue: string | null): void {\n this.#rawAriaLabel = newValue ?? undefined\n\n this.#updateAriaLabel()\n }\n\n @Watch('shortcut')\n protected shortcutChanged(): void {\n this.#updateAriaLabel()\n }\n\n public componentDidLoad(): void {\n this.checkedChanged()\n invariant(this.#span)\n\n const span = this.#span\n readTask(() => {\n this.tooltip = isEllipsisActive(span)\n })\n this.#ro = new ResizeObserver(([spanEntry]) => {\n this.tooltip = isEllipsisActive(spanEntry.target as HTMLSpanElement)\n })\n this.#ro.observe(this.#span)\n }\n\n public componentWillLoad(): void {\n this.hasSubmenuSlot = this.host.hasChildNodes()\n\n const { ariaLabel } = this.host\n if (ariaLabel !== null) {\n this.#rawAriaLabel = ariaLabel\n }\n\n this.internals.role = this.#computedRole\n\n // eslint-disable-next-line unicorn/no-null\n this.internals.ariaHasPopup = this.#hasSubmenu ? 'menu' : null\n\n this.disabledChanged()\n this.textChanged()\n }\n\n public render() {\n return (\n <Host>\n <div\n class={{\n 'qds-menu-item': true,\n 'qds-disabled': this.#computedDisabled,\n 'qds-has-submenu': this.hasSubmenuSlot,\n }}\n ref={this.#menuitemDivRef}\n data-size={this.#computedSize}\n aria-hidden=\"true\"\n >\n <div class=\"qds-menu-item-container\">\n {this.#computedCheckable && !this.#computedChecked && (\n <span class=\"menu-item-checkable\" />\n )}\n {this.#computedChecked && (\n <qds-icon class=\"qds-icon\" library=\"core\" name=\"checked\" />\n )}\n {this.iconName !== undefined && this.iconName !== '' && (\n <qds-icon\n class=\"qds-icon\"\n library={this.iconLibrary}\n name={this.iconName}\n />\n )}\n <span class=\"qds-text\" ref={this.#spanRef}>\n {this.text}\n </span>\n {this.#hasShortcut && (\n <span class=\"qds-shortcut\">{this.shortcut}</span>\n )}\n {this.#hasSubmenu && (\n <qds-icon class=\"qds-icon\" library=\"core\" name=\"navigation\" />\n )}\n </div>\n </div>\n {this.#hasSubmenu && (\n <qds-dropdown\n class=\"qds-accessory qds-related\"\n target={this.#menuitemDivRef}\n ref={(element: HTMLQdsDropdownElement | undefined) => {\n this.#submenuDropdown = element\n }}\n >\n <slot />\n </qds-dropdown>\n )}\n {this.tooltip && (\n <qds-tooltip ref={this.#tooltipRef}>{this.text}</qds-tooltip>\n )}\n </Host>\n )\n }\n\n readonly #menuitemDivRef = (menuItem?: HTMLDivElement): HTMLDivElement => {\n if (menuItem) {\n this.#menuItem = menuItem\n }\n\n return this.#menuItem\n }\n\n readonly #spanRef = (span?: HTMLSpanElement): void => {\n this.#span = span\n }\n\n readonly #tooltipRef = (tooltip?: HTMLQdsTooltipElement): void => {\n if (tooltip)\n // eslint-disable-next-line no-param-reassign\n tooltip.target = this.#menuItem\n }\n\n #updateAriaLabel(): void {\n this.internals.ariaLabel = this.#computedAriaLabel\n }\n}\n"],"names":[],"mappings":"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"}
@@ -4,7 +4,7 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
  import { r as registerInstance, c as createEvent, h, g as getElement } from './index-Hg1Liloy.js';
7
- import { p as pickFocusEventAttributes } from './helpers-mPQzhx-O.js';
7
+ import { p as pickFocusEventAttributes } from './helpers-_a9kqEyo.js';
8
8
 
9
9
  const miniButtonCss = ":host{border-radius:var(--qds-control-rounded-border-radius);display:block}:host(:focus-visible){box-shadow:0 0 0 var(--qds-focus-heavy-border-width) var(--qds-theme-focus-border);outline:var(--qds-theme-focus-border-contrast) solid var(--qds-focus-light-border-width);outline-offset:0}:host(:hover){background-color:var(--qds-theme-interactive-background-hover)}:host(:active){background-color:var(--qds-theme-interactive-background-pressed)}.qds-mini-button{align-items:center;background-color:initial;border:none;color:var(--qds-theme-control-text-standard);cursor:pointer;display:flex;justify-content:center;min-height:var(--qds-control-mini-button-standard-size);padding:0;width:var(--qds-control-mini-button-standard-size)}.qds-mini-button:focus-visible{outline:none}.qds-mini-button:disabled{pointer-events:none}.qds-icon{align-content:center;font-size:var(--qds-control-standard-icon-size);line-height:normal}";
10
10
 
@@ -5,7 +5,7 @@
5
5
  */
6
6
  import { r as registerInstance, h, g as getElement } from './index-Hg1Liloy.js';
7
7
 
8
- const progressBarCss = ":host([hidden]){display:none!important}:host{display:block;width:100%}.qds-bar,.qds-track{overflow:hidden}.qds-track{background-color:var(--qds-theme-control-slider-track-background)}.qds-bar,.qds-track{border-radius:var(--qds-signature-line-progress-cap-radius)}.qds-bar{background-color:var(--qds-theme-signature-line-progress-determinate);transition:width .6s cubic-bezier(.83,0,.17,1)}@media (prefers-reduced-motion){.qds-bar{transition:none}}.qds-indeterminate{animation:b 2s linear infinite;background-color:initial;background-image:var(--qds-theme-signature-line-progress-indeterminate)}@keyframes b{0%{transform:translateX(-100%)}to{transform:translateX(200%)}}[data-size=small]{height:var(--qds-signature-line-progress-small-height)}[data-size=standard]{height:var(--qds-signature-line-progress-standard-height)}[data-size=large]{height:var(--qds-signature-line-progress-large-height)}";
8
+ const progressBarCss = ":host([hidden]){display:none!important}:host{display:block;width:100%}.qds-bar,.qds-track{overflow:hidden}.qds-track{background-color:var(--qds-theme-control-slider-track-background)}.qds-bar,.qds-track{border-radius:var(--qds-signature-line-progress-cap-radius)}.qds-bar{background-color:var(--qds-theme-signature-line-progress-determinate);transition:width .6s cubic-bezier(.83,0,.17,1)}@media (prefers-reduced-motion){.qds-bar{transition:none}}.qds-indeterminate{animation:a 2s linear infinite;background-color:initial;background-image:var(--qds-theme-signature-line-progress-indeterminate)}@keyframes a{0%{transform:translateX(-100%)}to{transform:translateX(200%)}}[data-size=small]{height:var(--qds-signature-line-progress-small-height)}[data-size=standard]{height:var(--qds-signature-line-progress-standard-height)}[data-size=large]{height:var(--qds-signature-line-progress-large-height)}";
9
9
 
10
10
  // SPDX-FileCopyrightText: © 2024 Schneider Electric
11
11
  //
@@ -4,10 +4,10 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
  import { r as registerInstance, c as createEvent, h, g as getElement } from './index-Hg1Liloy.js';
7
- import { i as invariant, p as pickFocusEventAttributes, e as pickInputEventAttributes, c as inheritAriaAttributes } from './helpers-mPQzhx-O.js';
7
+ import { i as invariant, p as pickFocusEventAttributes, h as pickInputEventAttributes, f as inheritAriaAttributes } from './helpers-_a9kqEyo.js';
8
8
  import { V as VALID_STATE, C as CUSTOM_ERROR_FLAGS, N as NO_ERROR_FLAGS } from './controls-CZRW1LV_.js';
9
9
 
10
- const selectCss = ":host([hidden]){display:none!important}:host{display:inline-block}slot{display:none}.qds-container{box-sizing:border-box;display:grid;grid-template-areas:\"j\"}.qds-container,.qds-select{letter-spacing:inherit;width:inherit;word-spacing:inherit}.qds-icon,.qds-select{color:var(--qds-theme-form-input-text-active);grid-area:j}.qds-icon{place-self:center end;pointer-events:none}.qds-select{-webkit-appearance:none;appearance:none;background-color:var(--qds-theme-form-input-background-default);border-color:var(--qds-theme-form-input-border-default);border-radius:var(\n --qds-form-input-border-radius-top-left,var(--qds-form-input-border-radius)\n ) var(\n --qds-form-input-border-radius-top-right,var(--qds-form-input-border-radius)\n ) var(\n --qds-form-input-border-radius-bottom-right,var(--qds-form-input-border-radius)\n ) var(\n --qds-form-input-border-radius-bottom-left,var(--qds-form-input-border-radius)\n );border-style:solid;border-width:var(--qds-form-input-border-width-default) var(\n --qds-form-input-border-width-inline-end,var(--qds-form-input-border-width-default)\n ) var(\n --qds-form-input-border-width-block-end,var(--qds-form-input-border-width-default)\n ) var(--qds-form-input-border-width-default);margin:0;outline:0;padding-block:0;text-overflow:ellipsis}.qds-select:enabled:hover{background-color:var(--qds-theme-form-input-background-hover);border-color:var(--qds-theme-form-input-border-hover)}.qds-select:enabled:active{background-color:var(--qds-theme-form-input-background-active);color:var(--qds-theme-form-input-text-active)}.qds-select:not(:focus):user-invalid{border-color:var(--qds-theme-feedback-result-failure)}.qds-select[data-status]{border-width:var(--qds-form-input-border-width-status) var(\n --qds-form-input-border-width-inline-end,var(--qds-form-input-border-width-status)\n ) var(\n --qds-form-input-border-width-block-end,var(--qds-form-input-border-width-status)\n ) var(--qds-form-input-border-width-status)}.qds-select[data-status=success]{border-color:var(--qds-theme-form-input-border-success)}.qds-select[data-status=warning]{border-color:var(--qds-theme-form-input-border-warning)}.qds-select :not(:focus):user-invalid,.qds-select[data-status=error]{border-color:var(--qds-theme-form-input-border-error)}.qds-select:disabled,.qds-select:disabled+.qds-icon{opacity:var(--qds-theme-disabled)}:is(::slotted(optgroup),::slotted(optgroup:not(:disabled)>option),::slotted(option)):disabled{opacity:var(--qds-theme-disabled)}::slotted(optgroup){font:var(--qds-accessory-section-title)}::slotted(optgroup>option),::slotted(option){font:var(--qds-list-item-label-main)}.qds-select[data-size=small]{font:var(--qds-form-small-text);padding-inline:var(--qds-form-input-small-padding-start) var(--qds-form-input-small-padding-end)}.qds-select[data-size=small]:not([multiple]){min-height:var(--qds-form-input-small-height);padding-inline-end:calc(var(--qds-control-small-icon-size) + var(--qds-form-input-small-gap-internal) + var(--qds-form-input-small-padding-end))}.qds-icon[data-size=small]{height:var(--qds-control-small-icon-size);margin-inline-end:calc(var(--qds-form-input-small-padding-end) + var(--qds-form-input-border-width-default));width:var(--qds-control-small-icon-size)}.qds-select[data-size=standard]{font:var(--qds-form-standard-text);padding-inline:var(--qds-form-input-standard-padding-start) var(--qds-form-input-standard-padding-end)}.qds-select[data-size=standard]:not([multiple]){min-height:var(--qds-form-input-standard-height);padding-inline-end:calc(var(--qds-control-standard-icon-size) + var(--qds-form-input-standard-gap-internal) + var(--qds-form-input-standard-padding-end))}.qds-icon[data-size=standard]{height:var(--qds-control-standard-icon-size);margin-inline-end:calc(var(--qds-form-input-standard-padding-end) + var(--qds-form-input-border-width-default));width:var(--qds-control-standard-icon-size)}.qds-select[data-size=large]{font:var(--qds-form-large-text);padding-inline:var(--qds-form-input-large-padding-start) var(--qds-form-input-large-padding-end)}.qds-select[data-size=large]:not([multiple]){min-height:var(--qds-form-input-large-height);padding-inline-end:calc(var(--qds-control-large-icon-size) + var(--qds-form-input-large-gap-internal) + var(--qds-form-input-large-padding-end))}.qds-icon[data-size=large]{height:var(--qds-control-large-icon-size);margin-inline-end:calc(var(--qds-form-input-large-padding-end) + var(--qds-form-input-border-width-default));width:var(--qds-control-large-icon-size)}.qds-focus-ring{border-radius:max(1px,var(\n --qds-form-input-border-radius-top-left,var(--qds-form-input-border-radius)\n )) max(1px,var(\n --qds-form-input-border-radius-top-right,var(--qds-form-input-border-radius)\n )) max(1px,var(\n --qds-form-input-border-radius-bottom-right,var(--qds-form-input-border-radius)\n )) max(1px,var(\n --qds-form-input-border-radius-bottom-left,var(--qds-form-input-border-radius)\n ));box-shadow:0 0 0 var(--qds-focus-heavy-border-width) var(--qds-theme-focus-border);grid-area:j;height:calc(100% + var(--qds-form-input-border-width-default) - var(\n --qds-form-input-border-width-block-end,\n var(--qds-form-input-border-width-default)\n ));isolation:isolate;outline:var(--qds-theme-focus-border-contrast) solid var(--qds-focus-light-border-width);outline-offset:0;pointer-events:none;visibility:hidden;width:calc(100% + var(--qds-form-input-border-width-default) - var(\n --qds-form-input-border-width-inline-end,\n var(--qds-form-input-border-width-default)\n ))}.qds-select:focus-visible~.qds-focus-ring{visibility:visible}";
10
+ const selectCss = ":host([hidden]){display:none!important}:host{display:inline-block}slot{display:none}.qds-container{box-sizing:border-box;display:grid;grid-template-areas:\"b\"}.qds-container,.qds-select{letter-spacing:inherit;width:inherit;word-spacing:inherit}.qds-icon,.qds-select{color:var(--qds-theme-form-input-text-active);grid-area:b}.qds-icon{place-self:center end;pointer-events:none}.qds-select{-webkit-appearance:none;appearance:none;background-color:var(--qds-theme-form-input-background-default);border-color:var(--qds-theme-form-input-border-default);border-radius:var(\n --qds-form-input-border-radius-top-left,var(--qds-form-input-border-radius)\n ) var(\n --qds-form-input-border-radius-top-right,var(--qds-form-input-border-radius)\n ) var(\n --qds-form-input-border-radius-bottom-right,var(--qds-form-input-border-radius)\n ) var(\n --qds-form-input-border-radius-bottom-left,var(--qds-form-input-border-radius)\n );border-style:solid;border-width:var(--qds-form-input-border-width-default) var(\n --qds-form-input-border-width-inline-end,var(--qds-form-input-border-width-default)\n ) var(\n --qds-form-input-border-width-block-end,var(--qds-form-input-border-width-default)\n ) var(--qds-form-input-border-width-default);margin:0;outline:0;padding-block:0;text-overflow:ellipsis}.qds-select:enabled:hover{background-color:var(--qds-theme-form-input-background-hover);border-color:var(--qds-theme-form-input-border-hover)}.qds-select:enabled:active{background-color:var(--qds-theme-form-input-background-active);color:var(--qds-theme-form-input-text-active)}.qds-select:not(:focus):user-invalid{border-color:var(--qds-theme-feedback-result-failure)}.qds-select[data-status]{border-width:var(--qds-form-input-border-width-status) var(\n --qds-form-input-border-width-inline-end,var(--qds-form-input-border-width-status)\n ) var(\n --qds-form-input-border-width-block-end,var(--qds-form-input-border-width-status)\n ) var(--qds-form-input-border-width-status)}.qds-select[data-status=success]{border-color:var(--qds-theme-form-input-border-success)}.qds-select[data-status=warning]{border-color:var(--qds-theme-form-input-border-warning)}.qds-select :not(:focus):user-invalid,.qds-select[data-status=error]{border-color:var(--qds-theme-form-input-border-error)}.qds-select:disabled,.qds-select:disabled+.qds-icon{opacity:var(--qds-theme-disabled)}:is(::slotted(optgroup),::slotted(optgroup:not(:disabled)>option),::slotted(option)):disabled{opacity:var(--qds-theme-disabled)}::slotted(optgroup){font:var(--qds-accessory-section-title)}::slotted(optgroup>option),::slotted(option){font:var(--qds-list-item-label-main)}.qds-select[data-size=small]{font:var(--qds-form-small-text);padding-inline:var(--qds-form-input-small-padding-start) var(--qds-form-input-small-padding-end)}.qds-select[data-size=small]:not([multiple]){min-height:var(--qds-form-input-small-height);padding-inline-end:calc(var(--qds-control-small-icon-size) + var(--qds-form-input-small-gap-internal) + var(--qds-form-input-small-padding-end))}.qds-icon[data-size=small]{height:var(--qds-control-small-icon-size);margin-inline-end:calc(var(--qds-form-input-small-padding-end) + var(--qds-form-input-border-width-default));width:var(--qds-control-small-icon-size)}.qds-select[data-size=standard]{font:var(--qds-form-standard-text);padding-inline:var(--qds-form-input-standard-padding-start) var(--qds-form-input-standard-padding-end)}.qds-select[data-size=standard]:not([multiple]){min-height:var(--qds-form-input-standard-height);padding-inline-end:calc(var(--qds-control-standard-icon-size) + var(--qds-form-input-standard-gap-internal) + var(--qds-form-input-standard-padding-end))}.qds-icon[data-size=standard]{height:var(--qds-control-standard-icon-size);margin-inline-end:calc(var(--qds-form-input-standard-padding-end) + var(--qds-form-input-border-width-default));width:var(--qds-control-standard-icon-size)}.qds-select[data-size=large]{font:var(--qds-form-large-text);padding-inline:var(--qds-form-input-large-padding-start) var(--qds-form-input-large-padding-end)}.qds-select[data-size=large]:not([multiple]){min-height:var(--qds-form-input-large-height);padding-inline-end:calc(var(--qds-control-large-icon-size) + var(--qds-form-input-large-gap-internal) + var(--qds-form-input-large-padding-end))}.qds-icon[data-size=large]{height:var(--qds-control-large-icon-size);margin-inline-end:calc(var(--qds-form-input-large-padding-end) + var(--qds-form-input-border-width-default));width:var(--qds-control-large-icon-size)}.qds-focus-ring{border-radius:max(1px,var(\n --qds-form-input-border-radius-top-left,var(--qds-form-input-border-radius)\n )) max(1px,var(\n --qds-form-input-border-radius-top-right,var(--qds-form-input-border-radius)\n )) max(1px,var(\n --qds-form-input-border-radius-bottom-right,var(--qds-form-input-border-radius)\n )) max(1px,var(\n --qds-form-input-border-radius-bottom-left,var(--qds-form-input-border-radius)\n ));box-shadow:0 0 0 var(--qds-focus-heavy-border-width) var(--qds-theme-focus-border);grid-area:b;height:calc(100% + var(--qds-form-input-border-width-default) - var(\n --qds-form-input-border-width-block-end,\n var(--qds-form-input-border-width-default)\n ));isolation:isolate;outline:var(--qds-theme-focus-border-contrast) solid var(--qds-focus-light-border-width);outline-offset:0;pointer-events:none;visibility:hidden;width:calc(100% + var(--qds-form-input-border-width-default) - var(\n --qds-form-input-border-width-inline-end,\n var(--qds-form-input-border-width-default)\n ))}.qds-select:focus-visible~.qds-focus-ring{visibility:visible}";
11
11
 
12
12
  // SPDX-FileCopyrightText: © 2024 Schneider Electric
13
13
  //
@@ -265,12 +265,12 @@ const Select = class {
265
265
  this.selectedIndex = __classPrivateFieldGet(this, _Select_select, "f").selectedIndex;
266
266
  }
267
267
  render() {
268
- return (h("div", { key: '7ec5716068098204bef753a2a3638cbe6dc3b6e2', class: {
268
+ return (h("div", { key: 'b098f032561e734da66f3f499056cc9521db6235', class: {
269
269
  'qds-container': true,
270
270
  'qds-multiple': this.multiple ?? false,
271
- }, "data-size": __classPrivateFieldGet(this, _Select_instances, "a", _Select_computedSize_get) }, h("select", { key: '2223f9305b8815f706098b6cf547f473679b1d4e', autoComplete: this.autoComplete,
271
+ }, "data-size": __classPrivateFieldGet(this, _Select_instances, "a", _Select_computedSize_get) }, h("select", { key: '9555b4ecc3043c45d647512d782e8e8d7ae3b740', autoComplete: this.autoComplete,
272
272
  // eslint-disable-next-line jsx-a11y/no-autofocus
273
- autoFocus: this.host.autofocus, class: "qds-select", "data-size": __classPrivateFieldGet(this, _Select_instances, "a", _Select_computedSize_get), "data-status": __classPrivateFieldGet(this, _Select_instances, "a", _Select_computedStatus_get), disabled: __classPrivateFieldGet(this, _Select_instances, "a", _Select_computedDisabled_get), multiple: this.multiple, name: this.name, onBlur: __classPrivateFieldGet(this, _Select_onBlur, "f"), onChange: __classPrivateFieldGet(this, _Select_onChange, "f"), onFocus: __classPrivateFieldGet(this, _Select_onFocus, "f"), onInput: __classPrivateFieldGet(this, _Select_onInput, "f"), ref: __classPrivateFieldGet(this, _Select_ref, "f"), required: this.required, tabIndex: __classPrivateFieldGet(this, _Select_instances, "a", _Select_computedDisabled_get) ? undefined : this.tabIndex, ...__classPrivateFieldGet(this, _Select_inheritedAttributes, "f") }), this.multiple !== true && (h("qds-icon", { key: 'b1272954bda840e88ab22f593ed3d66878b72a12', class: "qds-icon", "data-size": __classPrivateFieldGet(this, _Select_instances, "a", _Select_computedSize_get), library: "core", name: "dropdown" })), h("slot", { key: 'e790b0bd0a31ae42857e1f1b4aef16869c9b2198', onSlotchange: __classPrivateFieldGet(this, _Select_onSlotchange, "f") }), h("div", { key: 'a8bcffcfc020618494737f6d0d70867857b8d905', class: "qds-focus-ring" })));
273
+ autoFocus: this.host.autofocus, class: "qds-select", "data-size": __classPrivateFieldGet(this, _Select_instances, "a", _Select_computedSize_get), "data-status": __classPrivateFieldGet(this, _Select_instances, "a", _Select_computedStatus_get), disabled: __classPrivateFieldGet(this, _Select_instances, "a", _Select_computedDisabled_get), multiple: this.multiple, name: this.name, onBlur: __classPrivateFieldGet(this, _Select_onBlur, "f"), onChange: __classPrivateFieldGet(this, _Select_onChange, "f"), onFocus: __classPrivateFieldGet(this, _Select_onFocus, "f"), onInput: __classPrivateFieldGet(this, _Select_onInput, "f"), ref: __classPrivateFieldGet(this, _Select_ref, "f"), required: this.required, tabIndex: __classPrivateFieldGet(this, _Select_instances, "a", _Select_computedDisabled_get) ? undefined : this.tabIndex, ...__classPrivateFieldGet(this, _Select_inheritedAttributes, "f") }), this.multiple !== true && (h("qds-icon", { key: '66c03e7d53d2c3d4185162bcdcfc3a4181985199', class: "qds-icon", "data-size": __classPrivateFieldGet(this, _Select_instances, "a", _Select_computedSize_get), library: "core", name: "dropdown" })), h("slot", { key: 'fb93dc938874d22f5ad293aae12782d7272ab5db', onSlotchange: __classPrivateFieldGet(this, _Select_onSlotchange, "f") }), h("div", { key: '444579cfa37ebf7d98acf9ad9cbae82465eddc47', class: "qds-focus-ring" })));
274
274
  }
275
275
  static get delegatesFocus() { return true; }
276
276
  static get formAssociated() { return true; }
@@ -4,7 +4,7 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
  import { r as registerInstance, c as createEvent, h, g as getElement } from './index-Hg1Liloy.js';
7
- import { p as pickFocusEventAttributes, i as invariant, d as determineLinkIcon } from './helpers-mPQzhx-O.js';
7
+ import { p as pickFocusEventAttributes, i as invariant, g as determineLinkIcon } from './helpers-_a9kqEyo.js';
8
8
 
9
9
  const standaloneLinkCss = ":host([hidden]){display:none!important}:host{display:inline-block}:host(:focus-visible){border-radius:var(--qds-control-border-radius);box-shadow:0 0 0 var(--qds-focus-heavy-border-width) var(--qds-theme-focus-border);outline:var(--qds-theme-focus-border-contrast) solid var(--qds-focus-light-border-width);outline-offset:0}.qds-icon-crop{align-items:center;display:flex;justify-content:center}.qds-icon{flex-shrink:0;transform:scaleX(var(--qds-direction-factor,1))}.qds-standalone-link{box-sizing:border-box;display:inline-flex;justify-content:center;-webkit-print-color-adjust:exact;print-color-adjust:exact;width:100%}.qds-text{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}[data-importance=emphasized],[data-importance=standard]{-webkit-text-decoration:none;text-decoration:none}.qds-visitable[data-importance=emphasized],.qds-visitable[data-importance=standard],[data-importance=emphasized]:active,[data-importance=emphasized]:hover,[data-importance=standard]:active,[data-importance=standard]:hover{-webkit-text-decoration:underline;text-decoration:underline}[data-importance=subdued]{color:var(--qds-theme-link-subdued-default)}.qds-visitable[data-importance=subdued]:visited{color:var(--qds-theme-link-visited-default)}[data-importance=subdued]:hover{color:var(--qds-theme-link-subdued-hover)}[data-importance=subdued]:active{color:var(--qds-theme-link-subdued-pressed)}.qds-visitable[data-importance=subdued]:visited:hover{color:var(--qds-theme-link-visited-hover)}.qds-visitable[data-importance=subdued]:visited:active{color:var(--qds-theme-link-visited-pressed)}[data-importance=standard]{color:var(--qds-theme-link-standard-default)}.qds-visitable[data-importance=standard]:visited{color:var(--qds-theme-link-visited-default)}[data-importance=standard]:hover{color:var(--qds-theme-link-standard-hover)}[data-importance=standard]:active{color:var(--qds-theme-link-standard-pressed)}.qds-visitable[data-importance=standard]:visited:hover{color:var(--qds-theme-link-visited-hover)}.qds-visitable[data-importance=standard]:visited:active{color:var(--qds-theme-link-visited-pressed)}[data-importance=emphasized]{color:var(--qds-theme-link-emphasized-default)}.qds-visitable[data-importance=emphasized]:visited{color:var(--qds-theme-link-visited-default)}[data-importance=emphasized]:hover{color:var(--qds-theme-link-emphasized-hover)}[data-importance=emphasized]:active{color:var(--qds-theme-link-emphasized-pressed)}.qds-visitable[data-importance=emphasized]:visited:hover{color:var(--qds-theme-link-visited-hover)}.qds-visitable[data-importance=emphasized]:visited:active{color:var(--qds-theme-link-visited-pressed)}.qds-disabled{opacity:var(--qds-theme-disabled);pointer-events:none}.qds-standalone-link[data-size=small]{font:var(--qds-control-small-text);gap:var(--qds-control-small-gap-internal);min-height:var(--qds-control-small-height);padding-block:var(--qds-control-small-padding-auto-height)}.qds-icon-crop[data-size=small]{height:var(--qds-control-small-icon-crop-height)}.qds-icon[data-size=small]{height:var(--qds-control-small-icon-size);width:var(--qds-control-small-icon-size)}.qds-standalone-link[data-size=standard]{font:var(--qds-control-standard-text);gap:var(--qds-control-standard-gap-internal);min-height:var(--qds-control-standard-height);padding-block:var(--qds-control-standard-padding-auto-height)}.qds-icon-crop[data-size=standard]{height:var(--qds-control-standard-icon-crop-height)}.qds-icon[data-size=standard]{height:var(--qds-control-standard-icon-size);width:var(--qds-control-standard-icon-size)}.qds-standalone-link[data-size=large]{font:var(--qds-control-large-text);gap:var(--qds-control-large-gap-internal);min-height:var(--qds-control-large-height);padding-block:var(--qds-control-large-padding-auto-height)}.qds-icon-crop[data-size=large]{height:var(--qds-control-large-icon-crop-height)}.qds-icon[data-size=large]{height:var(--qds-control-large-icon-size);width:var(--qds-control-large-icon-size)}";
10
10
 
@@ -4,7 +4,7 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
  import { r as registerInstance, c as createEvent, h, g as getElement } from './index-Hg1Liloy.js';
7
- import { p as pickFocusEventAttributes } from './helpers-mPQzhx-O.js';
7
+ import { p as pickFocusEventAttributes } from './helpers-_a9kqEyo.js';
8
8
  import { V as VALID_STATE, C as CUSTOM_ERROR_FLAGS, N as NO_ERROR_FLAGS } from './controls-CZRW1LV_.js';
9
9
 
10
10
  const switchCss = ":host([hidden]){display:none!important}:host{display:inline-block;outline:none}.qds-knob,.qds-track{-webkit-print-color-adjust:exact;print-color-adjust:exact}.qds-track{align-items:center;background-color:var(--qds-theme-control-toggle-track-default);border-radius:var(--qds-control-rounded-border-radius);box-sizing:border-box;display:flex;flex-shrink:0;padding-inline:var(--qds-control-toggle-track-padding)}.qds-track:hover{background-color:var(--qds-theme-control-toggle-track-hover)}.qds-track:active{background-color:var(--qds-theme-control-toggle-track-pressed)}.qds-knob-container{align-items:center;align-self:stretch;display:flex;flex-direction:column;flex-shrink:0;justify-content:center;padding-block:var(--qds-control-toggle-track-padding)}.qds-knob{background-color:var(--qds-theme-control-background-default);border-radius:var(--qds-control-rounded-border-radius);box-sizing:border-box;height:100%;margin:0}.qds-indicator{color:var(--qds-theme-control-background-default);flex-grow:1;justify-content:center;padding-block:var(--qds-control-toggle-track-padding)}.qds-container,.qds-indicator{align-items:center;display:flex}.qds-container{box-sizing:border-box;cursor:pointer}.qds-switch{clip-path:inset(50%);height:1px;margin:0;position:absolute;white-space:nowrap;width:1px}.qds-switch:checked~.qds-track{background-color:var(--qds-theme-signature-color-default);justify-content:flex-end}.qds-switch:checked~.qds-track:hover{background-color:var(--qds-theme-signature-color-hover)}.qds-switch:checked~.qds-track:active{background-color:var(--qds-theme-signature-color-pressed)}:host(:focus-visible) .qds-switch~.qds-track{box-shadow:0 0 0 var(--qds-focus-heavy-border-width) var(--qds-theme-focus-border);outline:var(--qds-theme-focus-border-contrast) solid var(--qds-focus-light-border-width);outline-offset:0}.qds-disabled{opacity:var(--qds-theme-disabled);pointer-events:none}.qds-container[data-size=small]{min-height:var(--qds-control-toggle-small-height)}.qds-inline[data-size=small]{min-height:var(--qds-control-small-height);padding-block:var(--qds-control-small-padding-auto-height)}.qds-track[data-size=small]{height:var(--qds-control-toggle-small-track-height);width:var(--qds-control-toggle-small-track-width)}.qds-knob[data-size=small]{width:var(--qds-control-toggle-small-knob-width)}.qds-indicator[data-size=small]{height:var(--qds-control-small-icon-size);width:var(--qds-control-small-icon-size)}.qds-container[data-size=standard]{min-height:var(--qds-control-toggle-standard-height)}.qds-inline[data-size=standard]{min-height:var(--qds-control-standard-height);padding-block:var(--qds-control-standard-padding-auto-height)}.qds-track[data-size=standard]{height:var(--qds-control-toggle-standard-track-height);width:var(--qds-control-toggle-standard-track-width)}.qds-knob[data-size=standard]{width:var(--qds-control-toggle-standard-knob-width)}.qds-indicator[data-size=standard]{height:var(--qds-control-standard-icon-size);width:var(--qds-control-standard-icon-size)}.qds-container[data-size=large]{min-height:var(--qds-control-toggle-large-height)}.qds-inline[data-size=large]{min-height:var(--qds-control-large-height);padding-block:var(--qds-control-large-padding-auto-height)}.qds-track[data-size=large]{height:var(--qds-control-toggle-large-track-height);width:var(--qds-control-toggle-large-track-width)}.qds-knob[data-size=large]{width:var(--qds-control-toggle-large-knob-width)}.qds-indicator[data-size=large]{height:var(--qds-control-large-icon-size);width:var(--qds-control-large-icon-size)}";
@@ -4,9 +4,9 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
  import { r as registerInstance, c as createEvent, h, g as getElement } from './index-Hg1Liloy.js';
7
- import { p as pickFocusEventAttributes, r as resolveTarget } from './helpers-mPQzhx-O.js';
7
+ import { p as pickFocusEventAttributes, r as resolveTarget, c as isIndicator, d as isCounter } from './helpers-_a9kqEyo.js';
8
8
 
9
- const tabCss = ":host([hidden]){display:none!important}:host{display:inline-block;line-height:0}[aria-disabled=true]{opacity:var(--qds-theme-disabled);pointer-events:none}:host(:focus-visible){border-radius:var(--qds-focus-border-radius);outline:var(--qds-theme-focus-border) solid var(--qds-focus-border-width);outline-offset:calc(var(--qds-focus-border-width)*-1 - var(--qds-focus-border-offset))}.qds-target-icon{color:var(--qds-theme-control-text-standard)}.qds-icon,.qds-target-icon{flex-shrink:0}.qds-chevron{transform:rotate(180deg)}.qds-selected:hover{background-color:var(--qds-theme-interactive-background-selected-hover)}.qds-selected:active{background-color:var(--qds-theme-interactive-background-selected-pressed)}.qds-closable-tab,.qds-closable-wrapper,.qds-tab,.qds-texts{display:flex}.qds-texts{flex:1 0;flex-direction:column}.qds-icon,.qds-text{color:var(--qds-theme-title)}.qds-subtitle{color:var(--qds-theme-subtitle);font:var(--qds-nav-element-standard-subtitle)}.qds-closable-wrapper[data-size=small],.qds-tab[data-size=small]{gap:var(--qds-nav-element-small-gap-internal);min-height:var(--qds-nav-element-small-height);padding-inline:var(--qds-nav-element-small-padding-horizontal)}.qds-closable-tab[data-size=small]{gap:var(--qds-nav-element-small-gap-internal)}[data-size=small]>.qds-icon{height:var(--qds-nav-element-small-icon-size);width:var(--qds-nav-element-small-icon-size)}[data-size=small]>.qds-texts{gap:var(--qds-nav-element-small-titles-gap)}[data-size=small] .qds-text{font:var(--qds-nav-element-small-title)}[data-size=small] .qds-subtitle{font:var(--qds-nav-element-small-subtitle)}.qds-target-icon[data-size=small]{height:var(--qds-control-small-icon-size);width:var(--qds-control-small-icon-size)}.qds-closable-wrapper[data-size=standard],.qds-tab[data-size=standard]{gap:var(--qds-nav-element-standard-gap-internal);min-height:var(--qds-nav-element-standard-height);padding-inline:var(--qds-nav-element-standard-padding-horizontal)}.qds-closable-tab[data-size=standard]{gap:var(--qds-nav-element-standard-gap-internal)}[data-size=standard]>.qds-icon{height:var(--qds-nav-element-standard-icon-size);width:var(--qds-nav-element-standard-icon-size)}[data-size=standard]>.qds-texts{gap:var(--qds-nav-element-standard-titles-gap)}[data-size=standard] .qds-text{font:var(--qds-nav-element-standard-title)}[data-size=standard] .qds-subtitle{font:var(--qds-nav-element-standard-subtitle)}.qds-target-icon[data-size=standard]{height:var(--qds-control-standard-icon-size);width:var(--qds-control-standard-icon-size)}.qds-closable-wrapper[data-size=large],.qds-tab[data-size=large]{gap:var(--qds-nav-element-large-gap-internal);min-height:var(--qds-nav-element-large-height);padding-inline:var(--qds-nav-element-large-padding-horizontal)}.qds-closable-tab[data-size=large]{gap:var(--qds-nav-element-large-gap-internal)}[data-size=large]>.qds-icon{height:var(--qds-nav-element-large-icon-size);width:var(--qds-nav-element-large-icon-size)}[data-size=large]>.qds-texts{gap:var(--qds-nav-element-large-titles-gap)}[data-size=large] .qds-text{font:var(--qds-nav-element-large-title)}[data-size=large] .qds-subtext{font:var(--qds-nav-element-large-subtitle)}.qds-target-icon[data-size=large]{height:var(--qds-control-large-icon-size);width:var(--qds-control-large-icon-size)}[data-importance=standard] .qds-selected .qds-icon{color:var(--qds-theme-title)}.qds-selected[data-importance=standard]:after{background-color:var(--qds-theme-signature-color-default)}.qds-selected[data-importance=subdued]:after{background-color:var(\n --qds-theme-nav-element-selection-indicator-background-subdued\n )}.qds-selected[data-importance=standard]:after,.qds-selected[data-importance=subdued]:after{border-radius:var(--qds-signature-line-connection-cap-radius);content:\"\";display:block;position:absolute}.qds-selected.qds-indicator-inline-end[data-importance=standard]:after,.qds-selected.qds-indicator-inline-end[data-importance=subdued]:after,.qds-selected.qds-indicator-inline-start[data-importance=standard]:after,.qds-selected.qds-indicator-inline-start[data-importance=subdued]:after{height:100%;width:var(--qds-signature-line-connection-width)}.qds-selected.qds-indicator-inline-end[data-importance=standard]:after,.qds-selected.qds-indicator-inline-end[data-importance=subdued]:after{inset-inline-end:0}.qds-selected.qds-indicator-inline-start[data-importance=standard]:after,.qds-selected.qds-indicator-inline-start[data-importance=subdued]:after{inset-inline-start:0}.qds-selected.qds-indicator-block-end[data-importance=standard]:after,.qds-selected.qds-indicator-block-end[data-importance=subdued]:after,.qds-selected.qds-indicator-block-start[data-importance=standard]:after,.qds-selected.qds-indicator-block-start[data-importance=subdued]:after{height:var(--qds-signature-line-connection-width);width:100%}.qds-selected.qds-indicator-block-end[data-importance=standard]:after,.qds-selected.qds-indicator-block-end[data-importance=subdued]:after{bottom:0}.qds-selected.qds-indicator-block-start[data-importance=standard]:after,.qds-selected.qds-indicator-block-start[data-importance=subdued]:after{top:0}.qds-selected[data-importance=standard][data-size=standard] .qds-text,.qds-selected[data-importance=subdued][data-size=standard] .qds-text{font:var(--qds-nav-element-standard-title-emphasized)}.qds-selected[data-importance=standard][data-size=small] .qds-text,.qds-selected[data-importance=subdued][data-size=small] .qds-text{font:var(--qds-nav-element-small-title-emphasized)}.qds-selected[data-importance=standard][data-size=large] .qds-text,.qds-selected[data-importance=subdued][data-size=large] .qds-text{font:var(--qds-nav-element-large-title-emphasized)}.qds-tab:focus-visible{border-radius:var(--qds-focus-border-radius);outline:var(--qds-theme-focus-border) solid var(--qds-focus-border-width);outline-offset:calc(var(--qds-focus-border-width)*-1 - var(--qds-focus-border-offset))}.qds-closable-tab{width:100%}.qds-closable-tab:focus-visible{border-radius:var(--qds-focus-border-radius);outline:var(--qds-theme-focus-border) solid var(--qds-focus-border-width)}.qds-closable-tab,.qds-closable-wrapper,.qds-tab{align-items:center;justify-content:center}.qds-closable-tab,.qds-tab{background-color:initial;border:none;cursor:pointer;text-align:initial}.qds-closable-tab:any-link,.qds-tab:any-link{-webkit-text-decoration:none;text-decoration:none}.qds-closable-wrapper,.qds-tab{position:relative}.qds-closable-wrapper:not(.qds-selected):hover,.qds-tab:not(.qds-selected):hover{background-color:var(--qds-theme-interactive-background-hover)}.qds-closable-wrapper:not(.qds-selected):active,.qds-tab:not(.qds-selected):active{background-color:var(--qds-theme-interactive-background-pressed)}";
9
+ const tabCss = ":host([hidden]){display:none!important}:host{display:inline-block;line-height:0}[aria-disabled=true]{opacity:var(--qds-theme-disabled);pointer-events:none}:host(:focus-visible){border-radius:var(--qds-focus-border-radius);outline:var(--qds-theme-focus-border) solid var(--qds-focus-border-width);outline-offset:calc(var(--qds-focus-border-width)*-1 - var(--qds-focus-border-offset))}.qds-target-icon{color:var(--qds-theme-control-text-standard)}.qds-icon,.qds-target-icon{flex-shrink:0}.qds-chevron{transform:rotate(180deg)}.qds-selected:hover{background-color:var(--qds-theme-interactive-background-selected-hover)}.qds-selected:active{background-color:var(--qds-theme-interactive-background-selected-pressed)}.qds-closable-tab,.qds-closable-wrapper,.qds-tab,.qds-texts{display:flex;letter-spacing:inherit;word-spacing:inherit}.qds-texts{flex:1 0;flex-direction:column}.qds-icon,.qds-text{color:var(--qds-theme-title)}.qds-subtitle{color:var(--qds-theme-subtitle);font:var(--qds-nav-element-standard-subtitle)}.qds-closable-wrapper[data-size=small],.qds-tab[data-size=small]{gap:var(--qds-nav-element-small-gap-internal);min-height:var(--qds-nav-element-small-height);padding-inline:var(--qds-nav-element-small-padding-horizontal)}.qds-closable-tab[data-size=small]{gap:var(--qds-nav-element-small-gap-internal)}[data-size=small]>.qds-icon{height:var(--qds-nav-element-small-icon-size);width:var(--qds-nav-element-small-icon-size)}[data-size=small]>.qds-texts{gap:var(--qds-nav-element-small-titles-gap)}[data-size=small] .qds-text{font:var(--qds-nav-element-small-title)}[data-size=small] .qds-subtitle{font:var(--qds-nav-element-small-subtitle)}.qds-target-icon[data-size=small]{height:var(--qds-control-small-icon-size);width:var(--qds-control-small-icon-size)}.qds-closable-wrapper[data-size=standard],.qds-tab[data-size=standard]{gap:var(--qds-nav-element-standard-gap-internal);min-height:var(--qds-nav-element-standard-height);padding-inline:var(--qds-nav-element-standard-padding-horizontal)}.qds-closable-tab[data-size=standard]{gap:var(--qds-nav-element-standard-gap-internal)}[data-size=standard]>.qds-icon{height:var(--qds-nav-element-standard-icon-size);width:var(--qds-nav-element-standard-icon-size)}[data-size=standard]>.qds-texts{gap:var(--qds-nav-element-standard-titles-gap)}[data-size=standard] .qds-text{font:var(--qds-nav-element-standard-title)}[data-size=standard] .qds-subtitle{font:var(--qds-nav-element-standard-subtitle)}.qds-target-icon[data-size=standard]{height:var(--qds-control-standard-icon-size);width:var(--qds-control-standard-icon-size)}.qds-closable-wrapper[data-size=large],.qds-tab[data-size=large]{gap:var(--qds-nav-element-large-gap-internal);min-height:var(--qds-nav-element-large-height);padding-inline:var(--qds-nav-element-large-padding-horizontal)}.qds-closable-tab[data-size=large]{gap:var(--qds-nav-element-large-gap-internal)}[data-size=large]>.qds-icon{height:var(--qds-nav-element-large-icon-size);width:var(--qds-nav-element-large-icon-size)}[data-size=large]>.qds-texts{gap:var(--qds-nav-element-large-titles-gap)}[data-size=large] .qds-text{font:var(--qds-nav-element-large-title)}[data-size=large] .qds-subtext{font:var(--qds-nav-element-large-subtitle)}.qds-target-icon[data-size=large]{height:var(--qds-control-large-icon-size);width:var(--qds-control-large-icon-size)}[data-importance=standard] .qds-selected .qds-icon{color:var(--qds-theme-title)}.qds-selected[data-importance=standard]:after{background-color:var(--qds-theme-signature-color-default)}.qds-selected[data-importance=subdued]:after{background-color:var(\n --qds-theme-nav-element-selection-indicator-background-subdued\n )}.qds-selected[data-importance=standard]:after,.qds-selected[data-importance=subdued]:after{border-radius:var(--qds-signature-line-connection-cap-radius);content:\"\";display:block;position:absolute}.qds-selected.qds-indicator-inline-end[data-importance=standard]:after,.qds-selected.qds-indicator-inline-end[data-importance=subdued]:after,.qds-selected.qds-indicator-inline-start[data-importance=standard]:after,.qds-selected.qds-indicator-inline-start[data-importance=subdued]:after{height:100%;width:var(--qds-signature-line-connection-width)}.qds-selected.qds-indicator-inline-end[data-importance=standard]:after,.qds-selected.qds-indicator-inline-end[data-importance=subdued]:after{inset-inline-end:0}.qds-selected.qds-indicator-inline-start[data-importance=standard]:after,.qds-selected.qds-indicator-inline-start[data-importance=subdued]:after{inset-inline-start:0}.qds-selected.qds-indicator-block-end[data-importance=standard]:after,.qds-selected.qds-indicator-block-end[data-importance=subdued]:after,.qds-selected.qds-indicator-block-start[data-importance=standard]:after,.qds-selected.qds-indicator-block-start[data-importance=subdued]:after{height:var(--qds-signature-line-connection-width);width:100%}.qds-selected.qds-indicator-block-end[data-importance=standard]:after,.qds-selected.qds-indicator-block-end[data-importance=subdued]:after{bottom:0}.qds-selected.qds-indicator-block-start[data-importance=standard]:after,.qds-selected.qds-indicator-block-start[data-importance=subdued]:after{top:0}.qds-selected[data-importance=standard][data-size=standard] .qds-text,.qds-selected[data-importance=subdued][data-size=standard] .qds-text{font:var(--qds-nav-element-standard-title-emphasized)}.qds-selected[data-importance=standard][data-size=small] .qds-text,.qds-selected[data-importance=subdued][data-size=small] .qds-text{font:var(--qds-nav-element-small-title-emphasized)}.qds-selected[data-importance=standard][data-size=large] .qds-text,.qds-selected[data-importance=subdued][data-size=large] .qds-text{font:var(--qds-nav-element-large-title-emphasized)}.qds-tab:focus-visible{border-radius:var(--qds-focus-border-radius);outline:var(--qds-theme-focus-border) solid var(--qds-focus-border-width);outline-offset:calc(var(--qds-focus-border-width)*-1 - var(--qds-focus-border-offset))}.qds-closable-tab{width:100%}.qds-closable-tab:focus-visible{border-radius:var(--qds-focus-border-radius);outline:var(--qds-theme-focus-border) solid var(--qds-focus-border-width)}.qds-closable-tab,.qds-closable-wrapper,.qds-tab{align-items:center;justify-content:center}.qds-closable-tab,.qds-tab{background-color:initial;border:none;cursor:pointer;text-align:initial}.qds-closable-tab:any-link,.qds-tab:any-link{-webkit-text-decoration:none;text-decoration:none}.qds-closable-wrapper,.qds-tab{position:relative}.qds-closable-wrapper:not(.qds-selected):hover,.qds-tab:not(.qds-selected):hover{background-color:var(--qds-theme-interactive-background-hover)}.qds-closable-wrapper:not(.qds-selected):active,.qds-tab:not(.qds-selected):active{background-color:var(--qds-theme-interactive-background-pressed)}";
10
10
 
11
11
  // SPDX-FileCopyrightText: © 2024 Schneider Electric
12
12
  //
@@ -27,11 +27,7 @@ var __classPrivateFieldSet = (undefined && undefined.__classPrivateFieldSet) ||
27
27
  throw new TypeError("Cannot write private member to an object whose class did not declare it");
28
28
  return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
29
29
  };
30
- var _Tab_instances, _Tab_panel, _Tab_tab, _Tab_computedAction_get, _Tab_computedSize_get, _Tab_computedImportance_get, _Tab_parentImportance_get, _Tab_parentSize_get, _Tab_parentLayer_get, _Tab_parentLevel_get, _Tab_ariaLabel_get, _Tab_computedDisabled_get, _Tab_computeCloseButtonTabIndex_get, _Tab_renderText, _Tab_tabRef, _Tab_close, _Tab_onIconClick, _Tab_onBlur, _Tab_onFocus, _Tab_defineTab, _Tab_defineGetter;
31
- const isCounter = (value) => typeof value === 'string'
32
- ? !Number.isNaN(Number.parseFloat(value))
33
- : typeof value === 'number';
34
- const isIndicator = (value) => value === '' || value === true;
30
+ var _Tab_instances, _Tab_panel, _Tab_tab, _Tab_computedAction_get, _Tab_computedSize_get, _Tab_computedImportance_get, _Tab_parentImportance_get, _Tab_parentSize_get, _Tab_parentLayer_get, _Tab_parentLevel_get, _Tab_ariaLabel_get, _Tab_computedDisabled_get, _Tab_computeCloseButtonTabIndex_get, _Tab_renderText, _Tab_onBlur, _Tab_onFocus, _Tab_tabRef, _Tab_close, _Tab_onIconClick, _Tab_defineTab, _Tab_defineGetter;
35
31
  let autoIncrementingId = 1;
36
32
  const Tab = class {
37
33
  constructor(hostRef) {
@@ -94,6 +90,12 @@ const Tab = class {
94
90
  this.isIndicatorOnTop = false;
95
91
  _Tab_panel.set(this, void 0);
96
92
  _Tab_tab.set(this, void 0);
93
+ _Tab_onBlur.set(this, (event) => {
94
+ this.blurEmitter.emit(pickFocusEventAttributes(event));
95
+ });
96
+ _Tab_onFocus.set(this, (event) => {
97
+ this.focusEmitter.emit(pickFocusEventAttributes(event));
98
+ });
97
99
  _Tab_tabRef.set(this, (tab) => {
98
100
  __classPrivateFieldSet(this, _Tab_tab, tab, "f");
99
101
  });
@@ -104,25 +106,20 @@ const Tab = class {
104
106
  event.stopPropagation();
105
107
  __classPrivateFieldGet(this, _Tab_close, "f").call(this);
106
108
  });
107
- _Tab_onBlur.set(this, (event) => {
108
- this.blurEmitter.emit(pickFocusEventAttributes(event));
109
- });
110
- _Tab_onFocus.set(this, (event) => {
111
- this.focusEmitter.emit(pickFocusEventAttributes(event));
112
- });
113
109
  _Tab_defineTab.set(this, () => {
114
- if (__classPrivateFieldGet(this, _Tab_instances, "a", _Tab_computedAction_get) === 'closable') {
115
- __classPrivateFieldGet(this, _Tab_instances, "m", _Tab_defineGetter).call(this, 'tab', () => __classPrivateFieldGet(this, _Tab_tab, "f"));
116
- }
117
- else {
110
+ if (__classPrivateFieldGet(this, _Tab_instances, "a", _Tab_computedAction_get) === 'expandable') {
118
111
  this.internals.role = 'tab';
112
+ this.internals.ariaSelected = this.selected ? 'true' : 'false';
119
113
  __classPrivateFieldGet(this, _Tab_instances, "m", _Tab_defineGetter).call(this, 'tab', () => this.host);
120
114
  }
115
+ else {
116
+ __classPrivateFieldGet(this, _Tab_instances, "m", _Tab_defineGetter).call(this, 'tab', () => __classPrivateFieldGet(this, _Tab_tab, "f"));
117
+ }
121
118
  });
122
119
  }
123
120
  panelChanged() {
124
121
  this.disconnectedCallback();
125
- const panel = resolveTarget(this.panel);
122
+ const panel = resolveTarget(this.panel, 'qds-tab');
126
123
  if (!(panel instanceof globalThis.Element))
127
124
  return;
128
125
  __classPrivateFieldSet(this, _Tab_panel, panel, "f");
@@ -139,6 +136,12 @@ const Tab = class {
139
136
  if (__classPrivateFieldGet(this, _Tab_instances, "a", _Tab_computedDisabled_get))
140
137
  event.stopImmediatePropagation();
141
138
  }
139
+ onBlur(event) {
140
+ this.blurEmitter.emit(pickFocusEventAttributes(event));
141
+ }
142
+ onFocus(event) {
143
+ this.focusEmitter.emit(pickFocusEventAttributes(event));
144
+ }
142
145
  tabindexChanged(newValue) {
143
146
  const parsedValue = Number.parseInt(newValue, 10);
144
147
  this.tabIndex =
@@ -182,21 +185,28 @@ const Tab = class {
182
185
  : __classPrivateFieldGet(this, _Tab_instances, "a", _Tab_computedAction_get) === 'expandable'
183
186
  ? 'button'
184
187
  : 'div';
185
- return (h("div", { key: '27feee86d7cfe7803258013941ae010c8f52ddd4', "aria-disabled": __classPrivateFieldGet(this, _Tab_instances, "a", _Tab_computedDisabled_get) ? 'true' : undefined, class: {
188
+ return (h("div", { key: 'a509ef8ca1514c7a83c13e2a04ca7c1882819ac1', "aria-disabled": __classPrivateFieldGet(this, _Tab_instances, "a", _Tab_computedDisabled_get) ? 'true' : undefined, class: {
186
189
  'qds-closable-wrapper': __classPrivateFieldGet(this, _Tab_instances, "a", _Tab_computedAction_get) === 'closable',
187
190
  'qds-selected': this.selected,
188
191
  [`qds-indicator-${this.indicatorPosition}`]: __classPrivateFieldGet(this, _Tab_instances, "a", _Tab_computedAction_get) === 'closable',
189
- }, "data-size": __classPrivateFieldGet(this, _Tab_instances, "a", _Tab_computedSize_get), "data-importance": __classPrivateFieldGet(this, _Tab_instances, "a", _Tab_computedImportance_get) }, h(Tag, { key: '119a51ce7015fad718925fcd1a890228e4c801b4', ref: __classPrivateFieldGet(this, _Tab_tabRef, "f"), disabled: isLink ? undefined : this.disabled, onBlur: __classPrivateFieldGet(this, _Tab_onBlur, "f"), onFocus: __classPrivateFieldGet(this, _Tab_onFocus, "f"), class: {
192
+ }, "data-size": __classPrivateFieldGet(this, _Tab_instances, "a", _Tab_computedSize_get), "data-importance": __classPrivateFieldGet(this, _Tab_instances, "a", _Tab_computedImportance_get) }, h(Tag, { key: '3f08127d1e015998882721fa165afdbd3dd6db9a', ref: __classPrivateFieldGet(this, _Tab_tabRef, "f"), disabled: isLink ? undefined : this.disabled, onBlur: __classPrivateFieldGet(this, _Tab_onBlur, "f"), onFocus: __classPrivateFieldGet(this, _Tab_onFocus, "f"), class: {
190
193
  'qds-tab': __classPrivateFieldGet(this, _Tab_instances, "a", _Tab_computedAction_get) !== 'closable',
191
194
  'qds-closable-tab': __classPrivateFieldGet(this, _Tab_instances, "a", _Tab_computedAction_get) === 'closable',
192
195
  'qds-selected': this.selected,
193
196
  [`qds-indicator-${this.indicatorPosition}`]: __classPrivateFieldGet(this, _Tab_instances, "a", _Tab_computedAction_get) !== 'closable',
194
- }, role: !isLink && __classPrivateFieldGet(this, _Tab_instances, "a", _Tab_computedAction_get) !== 'expandable' ? 'tab' : undefined, "aria-current": isLink && this.selected ? 'true' : undefined, "aria-expanded": __classPrivateFieldGet(this, _Tab_instances, "a", _Tab_computedAction_get) === 'expandable' && !isLink
197
+ }, role: __classPrivateFieldGet(this, _Tab_instances, "a", _Tab_computedAction_get) === 'expandable' ? undefined : 'tab', "aria-selected": __classPrivateFieldGet(this, _Tab_instances, "a", _Tab_computedAction_get) === 'expandable'
198
+ ? undefined
199
+ : this.selected
200
+ ? 'true'
201
+ : 'false', "aria-expanded": __classPrivateFieldGet(this, _Tab_instances, "a", _Tab_computedAction_get) === 'expandable' && !isLink
195
202
  ? this.selected
196
203
  ? 'true'
197
204
  : 'false'
198
205
  : undefined, "data-importance": __classPrivateFieldGet(this, _Tab_instances, "a", _Tab_computedImportance_get), "data-action": __classPrivateFieldGet(this, _Tab_instances, "a", _Tab_computedAction_get), "data-size": __classPrivateFieldGet(this, _Tab_instances, "a", _Tab_computedSize_get), href: isLink ? this.href : undefined }, ((this.tagText !== undefined && this.tagText !== '') ||
199
- (this.tagIconName !== undefined && this.tagIconName !== '')) && (h("qds-tag", { key: '0a6edda23a52137ae9a132914b297a794fbe74ad', text: this.tagText, status: this.tagStatus, size: __classPrivateFieldGet(this, _Tab_instances, "a", _Tab_computedSize_get), importance: this.tagImportance, "icon-library": this.tagIconLibrary, "icon-name": this.tagIconName, "icon-description": this.tagIconDescription })), this.iconName !== undefined && this.iconName !== '' && (h("qds-icon", { key: '73f9d18f022080d08a5df3cbec528908808e8534', "aria-hidden": "true", class: "qds-icon", library: this.iconLibrary, name: this.iconName })), this.text && __classPrivateFieldGet(this, _Tab_instances, "m", _Tab_renderText).call(this), isIndicator(this.badge) && (h("qds-badge-indicator", { key: '11a67f8be99c0b50f4eeb2722c10041ca3ddd4c2', status: this.badgeIndicatorStatus, description: this.badgeDescription, size: __classPrivateFieldGet(this, _Tab_instances, "a", _Tab_computedSize_get), strokeRing: true })), isCounter(this.badge) && (h("qds-badge-counter", { key: '0f8351a7960a2b31237df340b2e1e77a31ec6f03', description: this.badgeDescription, importance: this.badgeCounterImportance, size: __classPrivateFieldGet(this, _Tab_instances, "a", _Tab_computedSize_get), strokeRing: true, value: this.badge })), __classPrivateFieldGet(this, _Tab_instances, "a", _Tab_computedAction_get) === 'expandable' && (h("qds-icon", { key: 'de917eda9fd9051090a34d973992ba42be344f9a', class: { 'qds-target-icon': true, 'qds-chevron': this.selected }, "data-size": __classPrivateFieldGet(this, _Tab_instances, "a", _Tab_computedSize_get), library: "core", name: "dropdown" }))), __classPrivateFieldGet(this, _Tab_instances, "a", _Tab_computedAction_get) === 'closable' && (h("qds-mini-button", { key: '54df8f80eb5b146129b46bb3abacab02c8e5d043', name: "close", library: "core", text: __classPrivateFieldGet(this, _Tab_instances, "a", _Tab_ariaLabel_get), "data-size": __classPrivateFieldGet(this, _Tab_instances, "a", _Tab_computedSize_get), disabled: __classPrivateFieldGet(this, _Tab_instances, "a", _Tab_computedDisabled_get), onClick: __classPrivateFieldGet(this, _Tab_onIconClick, "f"), tabIndex: __classPrivateFieldGet(this, _Tab_instances, "a", _Tab_computeCloseButtonTabIndex_get) }))));
206
+ (this.tagIconName !== undefined && this.tagIconName !== '')) && (h("qds-tag", { key: '7745d12e10ff6f195195515441cea9f05677e35d', text: this.tagText, status: this.tagStatus, size: __classPrivateFieldGet(this, _Tab_instances, "a", _Tab_computedSize_get), importance: this.tagImportance, "icon-library": this.tagIconLibrary, "icon-name": this.tagIconName, "icon-description": this.tagIconDescription })), this.iconName !== undefined && this.iconName !== '' && (h("qds-icon", { key: '68c37c3b5688c3827b1d4087e87e72a1f2e2851c', "aria-hidden": "true", class: "qds-icon", library: this.iconLibrary, name: this.iconName })), this.text && __classPrivateFieldGet(this, _Tab_instances, "m", _Tab_renderText).call(this), isIndicator(this.badge) && (h("qds-badge-indicator", { key: 'f523e62e1dd95118991cf8f8935bdfa7082b0a21', status: this.badgeIndicatorStatus, description: this.badgeDescription, size: __classPrivateFieldGet(this, _Tab_instances, "a", _Tab_computedSize_get), strokeRing: true })), isCounter(this.badge) && (h("qds-badge-counter", { key: 'f05aec5368b85d6033e84b6f16195ab26e5c2e2b', description: this.badgeDescription, importance: this.badgeCounterImportance, size: __classPrivateFieldGet(this, _Tab_instances, "a", _Tab_computedSize_get), strokeRing: true, value: this.badge })), __classPrivateFieldGet(this, _Tab_instances, "a", _Tab_computedAction_get) === 'expandable' && (h("qds-icon", { key: '1d0e42919c75acc5acb76da2c2ad2b7ce8ffeeb4', class: {
207
+ 'qds-target-icon': true,
208
+ 'qds-chevron': this.selected,
209
+ }, "data-size": __classPrivateFieldGet(this, _Tab_instances, "a", _Tab_computedSize_get), library: "core", name: "dropdown" }))), __classPrivateFieldGet(this, _Tab_instances, "a", _Tab_computedAction_get) === 'closable' && (h("qds-mini-button", { key: '0f049a099625765eb2c8b0648b282944ca2d1e06', name: "close", library: "core", text: __classPrivateFieldGet(this, _Tab_instances, "a", _Tab_ariaLabel_get), "data-size": __classPrivateFieldGet(this, _Tab_instances, "a", _Tab_computedSize_get), disabled: __classPrivateFieldGet(this, _Tab_instances, "a", _Tab_computedDisabled_get), onClick: __classPrivateFieldGet(this, _Tab_onIconClick, "f"), tabindex: __classPrivateFieldGet(this, _Tab_instances, "a", _Tab_computeCloseButtonTabIndex_get) }))));
200
210
  }
201
211
  get host() { return getElement(this); }
202
212
  static get watchers() { return {
@@ -205,7 +215,7 @@ const Tab = class {
205
215
  "action": ["actionChanged"]
206
216
  }; }
207
217
  };
208
- _Tab_panel = new WeakMap(), _Tab_tab = new WeakMap(), _Tab_tabRef = new WeakMap(), _Tab_close = new WeakMap(), _Tab_onIconClick = new WeakMap(), _Tab_onBlur = new WeakMap(), _Tab_onFocus = new WeakMap(), _Tab_defineTab = new WeakMap(), _Tab_instances = new WeakSet(), _Tab_computedAction_get = function _Tab_computedAction_get() {
218
+ _Tab_panel = new WeakMap(), _Tab_tab = new WeakMap(), _Tab_onBlur = new WeakMap(), _Tab_onFocus = new WeakMap(), _Tab_tabRef = new WeakMap(), _Tab_close = new WeakMap(), _Tab_onIconClick = new WeakMap(), _Tab_defineTab = new WeakMap(), _Tab_instances = new WeakSet(), _Tab_computedAction_get = function _Tab_computedAction_get() {
209
219
  switch (this.action) {
210
220
  case 'closable':
211
221
  case 'expandable': {
@@ -254,7 +264,7 @@ _Tab_panel = new WeakMap(), _Tab_tab = new WeakMap(), _Tab_tabRef = new WeakMap(
254
264
  return this.disabled ?? false;
255
265
  }, _Tab_computeCloseButtonTabIndex_get = function _Tab_computeCloseButtonTabIndex_get() {
256
266
  if (this.selected) {
257
- return __classPrivateFieldGet(this, _Tab_instances, "a", _Tab_computedDisabled_get) ? undefined : this.tabIndex;
267
+ return __classPrivateFieldGet(this, _Tab_instances, "a", _Tab_computedDisabled_get) ? undefined : (this.tabIndex ?? 0);
258
268
  }
259
269
  return -1;
260
270
  }, _Tab_renderText = function _Tab_renderText() {
@@ -1 +1 @@
1
- {"version":3,"file":"qds-tab.entry.js","sources":["src/components/tab/tab.css?tag=qds-tab&encapsulation=shadow","src/components/tab/tab.tsx"],"sourcesContent":["/*\n * SPDX-FileCopyrightText: © 2024 Schneider Electric\n *\n * SPDX-License-Identifier: Apache-2.0\n */\n\n@import url('../shared.css');\n\n:host {\n display: inline-block;\n line-height: 0;\n}\n\n[aria-disabled='true'] {\n opacity: var(--qds-theme-disabled);\n pointer-events: none;\n}\n\n:host(:focus-visible) {\n outline: var(--qds-theme-focus-border) solid var(--qds-focus-border-width);\n border-radius: var(--qds-focus-border-radius);\n outline-offset: calc(\n -1 * var(--qds-focus-border-width) - var(--qds-focus-border-offset)\n );\n}\n\n.qds-target-icon {\n color: var(--qds-theme-control-text-standard);\n}\n\n.qds-icon,\n.qds-target-icon {\n flex-shrink: 0;\n}\n\n.qds-chevron {\n transform: rotate(180deg);\n}\n\n.qds-selected {\n &:hover {\n background-color: var(--qds-theme-interactive-background-selected-hover);\n }\n\n &:active {\n background-color: var(--qds-theme-interactive-background-selected-pressed);\n }\n}\n\n.qds-closable-wrapper,\n.qds-tab,\n.qds-closable-tab,\n.qds-texts {\n display: flex;\n}\n\n.qds-texts {\n flex: 1 0;\n flex-direction: column;\n}\n\n.qds-icon,\n.qds-text {\n color: var(--qds-theme-title);\n}\n\n.qds-subtitle {\n color: var(--qds-theme-subtitle);\n font: var(--qds-nav-element-standard-subtitle);\n}\n\n[data-size='small'] {\n &.qds-tab,\n &.qds-closable-wrapper {\n min-height: var(--qds-nav-element-small-height);\n gap: var(--qds-nav-element-small-gap-internal);\n padding-inline: var(--qds-nav-element-small-padding-horizontal);\n }\n\n &.qds-closable-tab {\n gap: var(--qds-nav-element-small-gap-internal);\n }\n\n & > .qds-icon {\n height: var(--qds-nav-element-small-icon-size);\n width: var(--qds-nav-element-small-icon-size);\n }\n\n & > .qds-texts {\n gap: var(--qds-nav-element-small-titles-gap);\n }\n\n & .qds-text {\n font: var(--qds-nav-element-small-title);\n }\n\n & .qds-subtitle {\n font: var(--qds-nav-element-small-subtitle);\n }\n\n &.qds-target-icon {\n height: var(--qds-control-small-icon-size);\n width: var(--qds-control-small-icon-size);\n }\n}\n\n[data-size='standard'] {\n &.qds-tab,\n &.qds-closable-wrapper {\n min-height: var(--qds-nav-element-standard-height);\n gap: var(--qds-nav-element-standard-gap-internal);\n padding-inline: var(--qds-nav-element-standard-padding-horizontal);\n }\n\n &.qds-closable-tab {\n gap: var(--qds-nav-element-standard-gap-internal);\n }\n\n & > .qds-icon {\n height: var(--qds-nav-element-standard-icon-size);\n width: var(--qds-nav-element-standard-icon-size);\n }\n\n & > .qds-texts {\n gap: var(--qds-nav-element-standard-titles-gap);\n }\n\n & .qds-text {\n font: var(--qds-nav-element-standard-title);\n }\n\n & .qds-subtitle {\n font: var(--qds-nav-element-standard-subtitle);\n }\n\n &.qds-target-icon {\n height: var(--qds-control-standard-icon-size);\n width: var(--qds-control-standard-icon-size);\n }\n}\n\n[data-size='large'] {\n &.qds-tab,\n &.qds-closable-wrapper {\n min-height: var(--qds-nav-element-large-height);\n gap: var(--qds-nav-element-large-gap-internal);\n padding-inline: var(--qds-nav-element-large-padding-horizontal);\n }\n\n &.qds-closable-tab {\n gap: var(--qds-nav-element-large-gap-internal);\n }\n\n & > .qds-icon {\n height: var(--qds-nav-element-large-icon-size);\n width: var(--qds-nav-element-large-icon-size);\n }\n\n & > .qds-texts {\n gap: var(--qds-nav-element-large-titles-gap);\n }\n\n & .qds-text {\n font: var(--qds-nav-element-large-title);\n }\n\n & .qds-subtext {\n font: var(--qds-nav-element-large-subtitle);\n }\n\n &.qds-target-icon {\n height: var(--qds-control-large-icon-size);\n width: var(--qds-control-large-icon-size);\n }\n}\n\n[data-importance='standard'] {\n .qds-selected .qds-icon {\n color: var(--qds-theme-title);\n }\n\n &.qds-selected {\n &::after {\n background-color: var(--qds-theme-signature-color-default);\n }\n }\n}\n\n[data-importance='subdued'] {\n &.qds-selected {\n &::after {\n background-color: var(\n --qds-theme-nav-element-selection-indicator-background-subdued\n );\n }\n }\n}\n\n[data-importance='subdued'],\n[data-importance='standard'] {\n &.qds-selected {\n &::after {\n border-radius: var(--qds-signature-line-connection-cap-radius);\n content: '';\n display: block;\n position: absolute;\n }\n\n &.qds-indicator-inline-end::after,\n &.qds-indicator-inline-start::after {\n width: var(--qds-signature-line-connection-width);\n height: 100%;\n }\n\n &.qds-indicator-inline-end::after {\n inset-inline-end: 0;\n }\n\n &.qds-indicator-inline-start::after {\n inset-inline-start: 0;\n }\n\n &.qds-indicator-block-end::after,\n &.qds-indicator-block-start::after {\n width: 100%;\n height: var(--qds-signature-line-connection-width);\n }\n\n &.qds-indicator-block-end::after {\n bottom: 0;\n }\n\n &.qds-indicator-block-start::after {\n top: 0;\n }\n\n &[data-size='standard'] .qds-text {\n font: var(--qds-nav-element-standard-title-emphasized);\n }\n\n &[data-size='small'] .qds-text {\n font: var(--qds-nav-element-small-title-emphasized);\n }\n\n &[data-size='large'] .qds-text {\n font: var(--qds-nav-element-large-title-emphasized);\n }\n }\n}\n\n.qds-tab {\n &:focus-visible {\n outline: var(--qds-theme-focus-border) solid var(--qds-focus-border-width);\n border-radius: var(--qds-focus-border-radius);\n outline-offset: calc(\n -1 * var(--qds-focus-border-width) - var(--qds-focus-border-offset)\n );\n }\n}\n\n.qds-closable-tab {\n width: 100%;\n\n &:focus-visible {\n outline: var(--qds-theme-focus-border) solid var(--qds-focus-border-width);\n border-radius: var(--qds-focus-border-radius);\n }\n}\n\n.qds-closable-wrapper {\n align-items: center;\n justify-content: center;\n}\n\n.qds-tab,\n.qds-closable-tab {\n align-items: center;\n justify-content: center;\n border: none;\n background-color: transparent;\n cursor: pointer;\n text-align: initial;\n\n &:any-link {\n text-decoration: none;\n }\n}\n\n.qds-tab,\n.qds-closable-wrapper {\n position: relative;\n\n &:not(.qds-selected):hover {\n background-color: var(--qds-theme-interactive-background-hover);\n }\n\n &:not(.qds-selected):active {\n background-color: var(--qds-theme-interactive-background-pressed);\n }\n}\n","// SPDX-FileCopyrightText: © 2024 Schneider Electric\n//\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { ComponentInterface, EventEmitter, JSX } from '@stencil/core'\nimport {\n AttachInternals,\n Component,\n Element,\n Event,\n h,\n Listen,\n Prop,\n State,\n Watch,\n} from '@stencil/core'\n\nimport type { QdsFocusEventDetail } from '../../helpers'\nimport { pickFocusEventAttributes, resolveTarget } from '../../helpers'\nimport type { Importance, Size, Status } from '../shared'\nimport type { TabbarImportance, TabbarSize } from '../tabbar/tabbar'\n\nexport type Action = 'closable' | 'expandable'\n\nexport type TabImportance = Exclude<Importance, 'emphasized'> | undefined\n\nexport type TagStatus = Status | 'neutral'\n\nexport type IndicatorPosition =\n | 'block-end'\n | 'block-start'\n | 'inline-end'\n | 'inline-start'\n\nconst isCounter = (value: unknown): value is number =>\n typeof value === 'string'\n ? !Number.isNaN(Number.parseFloat(value))\n : typeof value === 'number'\n\nconst isIndicator = (value: unknown): value is '' | true =>\n value === '' || value === true\n\nlet autoIncrementingId = 1\n\n/**\n * <qds-tab> is a navigational element that is used in different horizontal or vertical navigation bars\n * (Main Navigation, secondary navigation, Tab bar, etc.)\n * as trigger points for opening a menu list or switching content in Tab bar.\n *\n * @see https://quartz.se.com/build/components/tab\n */\n@Component({\n tag: 'qds-tab',\n shadow: true,\n styleUrl: 'tab.css',\n})\nexport class Tab implements ComponentInterface {\n /**\n * The name of the action icon to render.\n */\n @Prop() public readonly action?: Action\n\n /**\n * Displays an indicator if `true` or the empty string. Otherwise, displays a\n * counter badge if a number or string representing a number is used.\n */\n @Prop() public readonly badge?: number | string | true\n\n /**\n * The tab's counter importance.\n */\n @Prop()\n public readonly badgeCounterImportance?: HTMLQdsBadgeCounterElement['importance'] =\n 'standard'\n\n /**\n * The indicator or counter badge's accessible text that will be used by\n * screen readers.\n */\n @Prop() public readonly badgeDescription?: string\n\n /**\n * The indicator's status.\n */\n @Prop()\n public readonly badgeIndicatorStatus?: HTMLQdsBadgeIndicatorElement['status'] =\n 'neutral'\n\n /**\n * Prevents the tab from being interacted with: it cannot be\n * selected or focused.\n */\n @Prop() public readonly disabled?: boolean\n\n /**\n * The name of a registered icon library.\n */\n @Prop() public readonly iconLibrary: string = 'default'\n\n /**\n * The name of the icon to render.\n *\n * Available names depend on the icon library being used.\n */\n @Prop() public readonly iconName?: string\n\n /**\n * The tab's importance.\n */\n @Prop() public readonly importance?: TabImportance = 'standard'\n\n /**\n * The tab's indicator position.\n */\n @Prop() public readonly indicatorPosition?: IndicatorPosition = 'block-start'\n\n /**\n * The tab panel element associated with this tab. The `panel` specified\n * can be any of the following:\n *\n * - A CSS selector string\n * - A reference to an [`Element`][]\n * - A function returning a reference to an [`Element`][] or a CSS selector\n * string\n *\n * [`Element`]: https://developer.mozilla.org/docs/Web/API/Element\n */\n @Prop() public readonly panel!: Element | string | (() => Element | string)\n\n /**\n * The tag icon's accessible text that will be used by\n * screen readers.\n */\n @Prop() public readonly tagIconDescription?: string\n\n /**\n * The name of the tab's tag icon to render.\n *\n * Available names depend on the icon library being used.\n */\n @Prop() public readonly tagIconName?: string\n\n /**\n * The name of a registered icon library.\n */\n @Prop() public readonly tagIconLibrary: string = 'default'\n\n /**\n * The tab's tag importance.\n */\n @Prop() public readonly tagImportance?: HTMLQdsTagElement['importance'] =\n 'emphasized'\n\n /**\n * The tab's tag size.\n */\n @Prop() public readonly tagSize?: Size = 'small'\n\n /**\n * The tab's tag status.\n */\n @Prop() public readonly tagStatus?: Status = 'info'\n\n /**\n * The tab's tag text.\n */\n @Prop() public readonly tagText?: string\n\n /**\n * Whether or not the tab is selected.\n */\n @Prop() public selected = false\n\n /**\n * The tab's size.\n */\n @Prop() public readonly size?: Size = 'standard'\n\n /**\n * Text to display for the subtitle.\n */\n @Prop() public readonly subtitle?: string\n\n /**\n * Primary text to display.\n */\n @Prop() public readonly text!: string\n\n /**\n * When set, the underlying tab will be rendered as an `<a>` with this\n * `href` instead of a `<button>`.\n *\n * This property has no effect if the tab has an `action`.\n *\n * @webnative\n */\n @Prop() public readonly href?: string\n\n /**\n * Emitted when the tab is closed.\n */\n @Event({ eventName: 'qdsClose', cancelable: false })\n private readonly closeEmitter!: EventEmitter<void>\n\n /**\n * Emitted when the tab loses focus.\n */\n @Event({ eventName: 'qdsBlur', bubbles: false, cancelable: false })\n private readonly blurEmitter!: EventEmitter<QdsFocusEventDetail>\n\n /**\n * Emitted when the tab gains focus.\n */\n @Event({ eventName: 'qdsFocus', bubbles: false, cancelable: false })\n private readonly focusEmitter!: EventEmitter<QdsFocusEventDetail>\n\n @Element() private readonly host!: HTMLElement\n\n @State() private tabIndex?: number\n\n @State() private isIndicatorOnTop = false\n\n @AttachInternals() private readonly internals!: ElementInternals\n\n #panel?: Element\n\n #tab?: HTMLElement\n\n get #computedAction(): Action | undefined {\n switch (this.action) {\n case 'closable':\n case 'expandable': {\n return this.action\n }\n default: {\n return undefined\n }\n }\n }\n\n get #computedSize(): Size {\n if (this.#parentSize !== undefined) return this.#parentSize\n switch (this.size) {\n case 'standard':\n case 'small':\n case 'large': {\n return this.size\n }\n default: {\n return 'standard'\n }\n }\n }\n\n get #computedImportance(): TabImportance {\n if (this.#parentImportance !== undefined) return this.#parentImportance\n switch (this.importance) {\n case 'subdued':\n case 'standard': {\n return this.importance\n }\n default: {\n return 'standard'\n }\n }\n }\n\n get #parentImportance(): TabbarImportance {\n return this.host.closest('qds-tabbar')?.importance ?? undefined\n }\n\n get #parentSize(): TabbarSize {\n return this.host.closest('qds-tabbar')?.size ?? undefined\n }\n\n get #parentLayer(): string {\n return this.host.closest('qds-tabbar')?.layer ?? 'main'\n }\n\n get #parentLevel(): string {\n return this.host.closest('qds-tabbar')?.level ?? 'root'\n }\n\n get #ariaLabel(): string {\n return `Close ${this.text}`\n }\n\n get #computedDisabled(): boolean {\n return this.disabled ?? false\n }\n\n get #computeCloseButtonTabIndex(): number | undefined {\n if (this.selected) {\n return this.#computedDisabled ? undefined : this.tabIndex\n }\n return -1\n }\n\n @Watch('panel')\n protected panelChanged(): void {\n this.disconnectedCallback()\n\n const panel = resolveTarget(this.panel)\n if (!(panel instanceof globalThis.Element)) return\n this.#panel = panel\n\n const tab = this.host.shadowRoot?.querySelector('[role=\"tab\"]')\n if (tab) tab.setAttribute('aria-controls', this.#panel.id)\n\n if (this.#panel.role === null) this.#panel.role = 'tabpanel'\n if (this.#panel.getAttribute('aria-labelledby') === null)\n this.#panel.setAttribute('aria-labelledby', this.host.id)\n this.#panel.setAttribute(\n 'tabindex',\n this.#panel.getAttribute('tabindex') ?? '0',\n )\n }\n\n @Listen('click')\n protected onClick(event: MouseEvent): void {\n if (this.#computedDisabled) event.stopImmediatePropagation()\n }\n\n @Watch('tabindex')\n protected tabindexChanged(newValue: string): void {\n const parsedValue = Number.parseInt(newValue, 10)\n this.tabIndex =\n parsedValue === 0 || Number.isNaN(parsedValue) ? undefined : parsedValue\n }\n\n @Watch('action')\n protected actionChanged(): void {\n this.#defineTab()\n }\n\n public componentWillLoad(): void {\n this.tabindexChanged(this.host.getAttribute('tabindex') ?? '0')\n this.host.id ||= `qds-tab-${autoIncrementingId}`\n autoIncrementingId += 1\n\n this.#defineTab()\n }\n\n public componentWillRender(): void {\n const isPanelRoot =\n this.#parentLayer === 'panel' && this.#parentLevel === 'root'\n const isMainSubsection =\n this.#parentLayer === 'main' && this.#parentLevel === 'subsection'\n\n this.isIndicatorOnTop = isPanelRoot || isMainSubsection\n }\n\n public componentDidLoad(): void {\n this.panelChanged()\n }\n\n public disconnectedCallback(): void {\n if (!this.#panel) return\n\n const tab = this.host.shadowRoot?.querySelector('[role=\"tab\"]')\n if (tab) tab.removeAttribute('aria-controls')\n\n if (this.#panel.role === 'tabpanel')\n // eslint-disable-next-line unicorn/no-null\n this.#panel.role = null\n if (this.#panel.getAttribute('aria-labelledby') === this.host.id)\n this.#panel.removeAttribute('aria-labelledby')\n this.#panel.removeAttribute('tabindex')\n }\n\n public render() {\n const isLink = this.href !== undefined && this.#computedAction === undefined\n const Tag = isLink\n ? 'a'\n : this.#computedAction === 'expandable'\n ? 'button'\n : 'div'\n return (\n <div\n aria-disabled={this.#computedDisabled ? 'true' : undefined}\n class={{\n 'qds-closable-wrapper': this.#computedAction === 'closable',\n 'qds-selected': this.selected,\n [`qds-indicator-${this.indicatorPosition}`]:\n this.#computedAction === 'closable',\n }}\n data-size={this.#computedSize}\n data-importance={this.#computedImportance}\n >\n <Tag\n ref={this.#tabRef}\n disabled={isLink ? undefined : this.disabled}\n onBlur={this.#onBlur}\n onFocus={this.#onFocus}\n class={{\n 'qds-tab': this.#computedAction !== 'closable',\n 'qds-closable-tab': this.#computedAction === 'closable',\n 'qds-selected': this.selected,\n [`qds-indicator-${this.indicatorPosition}`]:\n this.#computedAction !== 'closable',\n }}\n role={\n !isLink && this.#computedAction !== 'expandable' ? 'tab' : undefined\n }\n aria-current={isLink && this.selected ? 'true' : undefined}\n aria-expanded={\n this.#computedAction === 'expandable' && !isLink\n ? this.selected\n ? 'true'\n : 'false'\n : undefined\n }\n data-importance={this.#computedImportance}\n data-action={this.#computedAction}\n data-size={this.#computedSize}\n href={isLink ? this.href : undefined}\n >\n {((this.tagText !== undefined && this.tagText !== '') ||\n (this.tagIconName !== undefined && this.tagIconName !== '')) && (\n <qds-tag\n text={this.tagText}\n status={this.tagStatus}\n size={this.#computedSize}\n importance={this.tagImportance}\n icon-library={this.tagIconLibrary}\n icon-name={this.tagIconName}\n icon-description={this.tagIconDescription}\n />\n )}\n\n {this.iconName !== undefined && this.iconName !== '' && (\n <qds-icon\n aria-hidden=\"true\"\n class=\"qds-icon\"\n library={this.iconLibrary}\n name={this.iconName}\n />\n )}\n {this.text && this.#renderText()}\n {isIndicator(this.badge) && (\n <qds-badge-indicator\n status={this.badgeIndicatorStatus}\n description={this.badgeDescription}\n size={this.#computedSize}\n strokeRing\n />\n )}\n {isCounter(this.badge) && (\n <qds-badge-counter\n description={this.badgeDescription}\n importance={this.badgeCounterImportance}\n size={this.#computedSize}\n strokeRing\n value={this.badge}\n />\n )}\n {this.#computedAction === 'expandable' && (\n <qds-icon\n class={{ 'qds-target-icon': true, 'qds-chevron': this.selected }}\n data-size={this.#computedSize}\n library=\"core\"\n name=\"dropdown\"\n />\n )}\n </Tag>\n {this.#computedAction === 'closable' && (\n <qds-mini-button\n name=\"close\"\n library=\"core\"\n text={this.#ariaLabel}\n data-size={this.#computedSize}\n disabled={this.#computedDisabled}\n onClick={this.#onIconClick}\n tabIndex={this.#computeCloseButtonTabIndex}\n />\n )}\n </div>\n )\n }\n\n #renderText(): JSX.Element {\n return (\n <div class=\"qds-texts\">\n <div class=\"qds-text\">{this.text}</div>\n {this.subtitle !== undefined && this.subtitle !== '' && (\n <div class=\"qds-subtitle\">{this.subtitle}</div>\n )}\n </div>\n )\n }\n\n readonly #tabRef = (tab?: HTMLElement): void => {\n this.#tab = tab\n }\n\n readonly #close = (): void => {\n this.closeEmitter.emit()\n }\n\n readonly #onIconClick = (event: MouseEvent): void => {\n event.stopPropagation()\n this.#close()\n }\n\n readonly #onBlur = (event: FocusEvent): void => {\n this.blurEmitter.emit(pickFocusEventAttributes(event))\n }\n\n readonly #onFocus = (event: FocusEvent): void => {\n this.focusEmitter.emit(pickFocusEventAttributes(event))\n }\n\n readonly #defineTab = (): void => {\n if (this.#computedAction === 'closable') {\n this.#defineGetter('tab', () => this.#tab)\n } else {\n this.internals.role = 'tab'\n this.#defineGetter('tab', () => this.host)\n }\n }\n\n #defineGetter(p: PropertyKey, get: () => unknown): void {\n Object.defineProperty(this.host, p, { enumerable: true, get })\n }\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"qds-tab.entry.js","sources":["src/components/tab/tab.css?tag=qds-tab&encapsulation=shadow","src/components/tab/tab.tsx"],"sourcesContent":["/*\n * SPDX-FileCopyrightText: © 2024 Schneider Electric\n *\n * SPDX-License-Identifier: Apache-2.0\n */\n\n@import url('../shared.css');\n\n:host {\n display: inline-block;\n line-height: 0;\n}\n\n[aria-disabled='true'] {\n opacity: var(--qds-theme-disabled);\n pointer-events: none;\n}\n\n:host(:focus-visible) {\n outline: var(--qds-theme-focus-border) solid var(--qds-focus-border-width);\n border-radius: var(--qds-focus-border-radius);\n outline-offset: calc(\n -1 * var(--qds-focus-border-width) - var(--qds-focus-border-offset)\n );\n}\n\n.qds-target-icon {\n color: var(--qds-theme-control-text-standard);\n}\n\n.qds-icon,\n.qds-target-icon {\n flex-shrink: 0;\n}\n\n.qds-chevron {\n transform: rotate(180deg);\n}\n\n.qds-selected {\n &:hover {\n background-color: var(--qds-theme-interactive-background-selected-hover);\n }\n\n &:active {\n background-color: var(--qds-theme-interactive-background-selected-pressed);\n }\n}\n\n.qds-closable-wrapper,\n.qds-tab,\n.qds-closable-tab,\n.qds-texts {\n display: flex;\n letter-spacing: inherit;\n word-spacing: inherit;\n}\n\n.qds-texts {\n flex: 1 0;\n flex-direction: column;\n}\n\n.qds-icon,\n.qds-text {\n color: var(--qds-theme-title);\n}\n\n.qds-subtitle {\n color: var(--qds-theme-subtitle);\n font: var(--qds-nav-element-standard-subtitle);\n}\n\n[data-size='small'] {\n &.qds-tab,\n &.qds-closable-wrapper {\n min-height: var(--qds-nav-element-small-height);\n gap: var(--qds-nav-element-small-gap-internal);\n padding-inline: var(--qds-nav-element-small-padding-horizontal);\n }\n\n &.qds-closable-tab {\n gap: var(--qds-nav-element-small-gap-internal);\n }\n\n & > .qds-icon {\n height: var(--qds-nav-element-small-icon-size);\n width: var(--qds-nav-element-small-icon-size);\n }\n\n & > .qds-texts {\n gap: var(--qds-nav-element-small-titles-gap);\n }\n\n & .qds-text {\n font: var(--qds-nav-element-small-title);\n }\n\n & .qds-subtitle {\n font: var(--qds-nav-element-small-subtitle);\n }\n\n &.qds-target-icon {\n height: var(--qds-control-small-icon-size);\n width: var(--qds-control-small-icon-size);\n }\n}\n\n[data-size='standard'] {\n &.qds-tab,\n &.qds-closable-wrapper {\n min-height: var(--qds-nav-element-standard-height);\n gap: var(--qds-nav-element-standard-gap-internal);\n padding-inline: var(--qds-nav-element-standard-padding-horizontal);\n }\n\n &.qds-closable-tab {\n gap: var(--qds-nav-element-standard-gap-internal);\n }\n\n & > .qds-icon {\n height: var(--qds-nav-element-standard-icon-size);\n width: var(--qds-nav-element-standard-icon-size);\n }\n\n & > .qds-texts {\n gap: var(--qds-nav-element-standard-titles-gap);\n }\n\n & .qds-text {\n font: var(--qds-nav-element-standard-title);\n }\n\n & .qds-subtitle {\n font: var(--qds-nav-element-standard-subtitle);\n }\n\n &.qds-target-icon {\n height: var(--qds-control-standard-icon-size);\n width: var(--qds-control-standard-icon-size);\n }\n}\n\n[data-size='large'] {\n &.qds-tab,\n &.qds-closable-wrapper {\n min-height: var(--qds-nav-element-large-height);\n gap: var(--qds-nav-element-large-gap-internal);\n padding-inline: var(--qds-nav-element-large-padding-horizontal);\n }\n\n &.qds-closable-tab {\n gap: var(--qds-nav-element-large-gap-internal);\n }\n\n & > .qds-icon {\n height: var(--qds-nav-element-large-icon-size);\n width: var(--qds-nav-element-large-icon-size);\n }\n\n & > .qds-texts {\n gap: var(--qds-nav-element-large-titles-gap);\n }\n\n & .qds-text {\n font: var(--qds-nav-element-large-title);\n }\n\n & .qds-subtext {\n font: var(--qds-nav-element-large-subtitle);\n }\n\n &.qds-target-icon {\n height: var(--qds-control-large-icon-size);\n width: var(--qds-control-large-icon-size);\n }\n}\n\n[data-importance='standard'] {\n .qds-selected .qds-icon {\n color: var(--qds-theme-title);\n }\n\n &.qds-selected {\n &::after {\n background-color: var(--qds-theme-signature-color-default);\n }\n }\n}\n\n[data-importance='subdued'] {\n &.qds-selected {\n &::after {\n background-color: var(\n --qds-theme-nav-element-selection-indicator-background-subdued\n );\n }\n }\n}\n\n[data-importance='subdued'],\n[data-importance='standard'] {\n &.qds-selected {\n &::after {\n border-radius: var(--qds-signature-line-connection-cap-radius);\n content: '';\n display: block;\n position: absolute;\n }\n\n &.qds-indicator-inline-end::after,\n &.qds-indicator-inline-start::after {\n width: var(--qds-signature-line-connection-width);\n height: 100%;\n }\n\n &.qds-indicator-inline-end::after {\n inset-inline-end: 0;\n }\n\n &.qds-indicator-inline-start::after {\n inset-inline-start: 0;\n }\n\n &.qds-indicator-block-end::after,\n &.qds-indicator-block-start::after {\n width: 100%;\n height: var(--qds-signature-line-connection-width);\n }\n\n &.qds-indicator-block-end::after {\n bottom: 0;\n }\n\n &.qds-indicator-block-start::after {\n top: 0;\n }\n\n &[data-size='standard'] .qds-text {\n font: var(--qds-nav-element-standard-title-emphasized);\n }\n\n &[data-size='small'] .qds-text {\n font: var(--qds-nav-element-small-title-emphasized);\n }\n\n &[data-size='large'] .qds-text {\n font: var(--qds-nav-element-large-title-emphasized);\n }\n }\n}\n\n.qds-tab {\n &:focus-visible {\n outline: var(--qds-theme-focus-border) solid var(--qds-focus-border-width);\n border-radius: var(--qds-focus-border-radius);\n outline-offset: calc(\n -1 * var(--qds-focus-border-width) - var(--qds-focus-border-offset)\n );\n }\n}\n\n.qds-closable-tab {\n width: 100%;\n\n &:focus-visible {\n outline: var(--qds-theme-focus-border) solid var(--qds-focus-border-width);\n border-radius: var(--qds-focus-border-radius);\n }\n}\n\n.qds-closable-wrapper {\n align-items: center;\n justify-content: center;\n}\n\n.qds-tab,\n.qds-closable-tab {\n align-items: center;\n justify-content: center;\n border: none;\n background-color: transparent;\n cursor: pointer;\n text-align: initial;\n\n &:any-link {\n text-decoration: none;\n }\n}\n\n.qds-tab,\n.qds-closable-wrapper {\n position: relative;\n\n &:not(.qds-selected):hover {\n background-color: var(--qds-theme-interactive-background-hover);\n }\n\n &:not(.qds-selected):active {\n background-color: var(--qds-theme-interactive-background-pressed);\n }\n}\n","// SPDX-FileCopyrightText: © 2024 Schneider Electric\n//\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { ComponentInterface, EventEmitter, JSX } from '@stencil/core'\nimport {\n AttachInternals,\n Component,\n Element,\n Event,\n h,\n Listen,\n Prop,\n State,\n Watch,\n} from '@stencil/core'\n\nimport type { QdsFocusEventDetail } from '../../helpers'\nimport {\n isCounter,\n isIndicator,\n pickFocusEventAttributes,\n resolveTarget,\n} from '../../helpers'\nimport type { Importance, Size, Status } from '../shared'\nimport type { TabbarImportance, TabbarSize } from '../tabbar/tabbar'\n\nexport type Action = 'closable' | 'expandable'\n\nexport type TabImportance = Exclude<Importance, 'emphasized'> | undefined\n\nexport type TagStatus = Status | 'neutral'\n\nexport type IndicatorPosition =\n | 'block-end'\n | 'block-start'\n | 'inline-end'\n | 'inline-start'\n\nlet autoIncrementingId = 1\n\n/**\n * <qds-tab> is a navigational element that is used in different horizontal or vertical navigation bars\n * (Main Navigation, secondary navigation, Tab bar, etc.)\n * as trigger points for opening a menu list or switching content in Tab bar.\n *\n * @see https://quartz.se.com/build/components/tab\n */\n@Component({\n tag: 'qds-tab',\n shadow: true,\n styleUrl: 'tab.css',\n})\nexport class Tab implements ComponentInterface {\n /**\n * The name of the action icon to render.\n */\n @Prop() public readonly action?: Action\n\n /**\n * Displays an indicator if `true` or the empty string. Otherwise, displays a\n * counter badge if a number or string representing a number is used.\n */\n @Prop() public readonly badge?: number | string | true\n\n /**\n * The tab's counter importance.\n */\n @Prop()\n public readonly badgeCounterImportance?: HTMLQdsBadgeCounterElement['importance'] =\n 'standard'\n\n /**\n * The indicator or counter badge's accessible text that will be used by\n * screen readers.\n */\n @Prop() public readonly badgeDescription?: string\n\n /**\n * The indicator's status.\n */\n @Prop()\n public readonly badgeIndicatorStatus?: HTMLQdsBadgeIndicatorElement['status'] =\n 'neutral'\n\n /**\n * Prevents the tab from being interacted with: it cannot be\n * selected or focused.\n */\n @Prop() public readonly disabled?: boolean\n\n /**\n * The name of a registered icon library.\n */\n @Prop() public readonly iconLibrary: string = 'default'\n\n /**\n * The name of the icon to render.\n *\n * Available names depend on the icon library being used.\n */\n @Prop() public readonly iconName?: string\n\n /**\n * The tab's importance.\n */\n @Prop() public readonly importance?: TabImportance = 'standard'\n\n /**\n * The tab's indicator position.\n */\n @Prop() public readonly indicatorPosition?: IndicatorPosition = 'block-start'\n\n /**\n * The tab panel element associated with this tab. The `panel` specified\n * can be any of the following:\n *\n * - A CSS selector string\n * - A reference to an [`Element`][]\n * - A function returning a reference to an [`Element`][] or a CSS selector\n * string\n *\n * [`Element`]: https://developer.mozilla.org/docs/Web/API/Element\n */\n @Prop() public readonly panel!: Element | string | (() => Element | string)\n\n /**\n * The tag icon's accessible text that will be used by\n * screen readers.\n */\n @Prop() public readonly tagIconDescription?: string\n\n /**\n * The name of the tab's tag icon to render.\n *\n * Available names depend on the icon library being used.\n */\n @Prop() public readonly tagIconName?: string\n\n /**\n * The name of a registered icon library.\n */\n @Prop() public readonly tagIconLibrary: string = 'default'\n\n /**\n * The tab's tag importance.\n */\n @Prop() public readonly tagImportance?: HTMLQdsTagElement['importance'] =\n 'emphasized'\n\n /**\n * The tab's tag size.\n */\n @Prop() public readonly tagSize?: Size = 'small'\n\n /**\n * The tab's tag status.\n */\n @Prop() public readonly tagStatus?: Status = 'info'\n\n /**\n * The tab's tag text.\n */\n @Prop() public readonly tagText?: string\n\n /**\n * Whether or not the tab is selected.\n */\n @Prop() public selected = false\n\n /**\n * The tab's size.\n */\n @Prop() public readonly size?: Size = 'standard'\n\n /**\n * Text to display for the subtitle.\n */\n @Prop() public readonly subtitle?: string\n\n /**\n * Primary text to display.\n */\n @Prop() public readonly text!: string\n\n /**\n * When set, the underlying tab will be rendered as an `<a>` with this\n * `href` instead of a `<button>`.\n *\n * This property has no effect if the tab has an `action`.\n *\n * @webnative\n */\n @Prop() public readonly href?: string\n\n /**\n * Emitted when the tab is closed.\n */\n @Event({ eventName: 'qdsClose', cancelable: false })\n private readonly closeEmitter!: EventEmitter<void>\n\n /**\n * Emitted when the tab loses focus.\n */\n @Event({ eventName: 'qdsBlur', bubbles: false, cancelable: false })\n private readonly blurEmitter!: EventEmitter<QdsFocusEventDetail>\n\n /**\n * Emitted when the tab gains focus.\n */\n @Event({ eventName: 'qdsFocus', bubbles: false, cancelable: false })\n private readonly focusEmitter!: EventEmitter<QdsFocusEventDetail>\n\n @Element() private readonly host!: HTMLElement\n\n @State() private tabIndex?: number\n\n @State() private isIndicatorOnTop = false\n\n @AttachInternals() private readonly internals!: ElementInternals\n\n #panel?: Element\n\n #tab?: HTMLElement\n\n get #computedAction(): Action | undefined {\n switch (this.action) {\n case 'closable':\n case 'expandable': {\n return this.action\n }\n default: {\n return undefined\n }\n }\n }\n\n get #computedSize(): Size {\n if (this.#parentSize !== undefined) return this.#parentSize\n switch (this.size) {\n case 'standard':\n case 'small':\n case 'large': {\n return this.size\n }\n default: {\n return 'standard'\n }\n }\n }\n\n get #computedImportance(): TabImportance {\n if (this.#parentImportance !== undefined) return this.#parentImportance\n switch (this.importance) {\n case 'subdued':\n case 'standard': {\n return this.importance\n }\n default: {\n return 'standard'\n }\n }\n }\n\n get #parentImportance(): TabbarImportance {\n return this.host.closest('qds-tabbar')?.importance ?? undefined\n }\n\n get #parentSize(): TabbarSize {\n return this.host.closest('qds-tabbar')?.size ?? undefined\n }\n\n get #parentLayer(): string {\n return this.host.closest('qds-tabbar')?.layer ?? 'main'\n }\n\n get #parentLevel(): string {\n return this.host.closest('qds-tabbar')?.level ?? 'root'\n }\n\n get #ariaLabel(): string {\n return `Close ${this.text}`\n }\n\n get #computedDisabled(): boolean {\n return this.disabled ?? false\n }\n\n get #computeCloseButtonTabIndex(): number | undefined {\n if (this.selected) {\n return this.#computedDisabled ? undefined : (this.tabIndex ?? 0)\n }\n return -1\n }\n\n @Watch('panel')\n protected panelChanged(): void {\n this.disconnectedCallback()\n\n const panel = resolveTarget(this.panel, 'qds-tab')\n if (!(panel instanceof globalThis.Element)) return\n this.#panel = panel\n\n const tab = this.host.shadowRoot?.querySelector('[role=\"tab\"]')\n if (tab) tab.setAttribute('aria-controls', this.#panel.id)\n\n if (this.#panel.role === null) this.#panel.role = 'tabpanel'\n if (this.#panel.getAttribute('aria-labelledby') === null)\n this.#panel.setAttribute('aria-labelledby', this.host.id)\n this.#panel.setAttribute(\n 'tabindex',\n this.#panel.getAttribute('tabindex') ?? '0',\n )\n }\n\n @Listen('click')\n protected onClick(event: MouseEvent): void {\n if (this.#computedDisabled) event.stopImmediatePropagation()\n }\n\n @Listen('blur')\n protected onBlur(event: FocusEvent): void {\n this.blurEmitter.emit(pickFocusEventAttributes(event))\n }\n\n @Listen('focus')\n protected onFocus(event: FocusEvent): void {\n this.focusEmitter.emit(pickFocusEventAttributes(event))\n }\n\n @Watch('tabindex')\n protected tabindexChanged(newValue: string): void {\n const parsedValue = Number.parseInt(newValue, 10)\n this.tabIndex =\n parsedValue === 0 || Number.isNaN(parsedValue) ? undefined : parsedValue\n }\n\n @Watch('action')\n protected actionChanged(): void {\n this.#defineTab()\n }\n\n public componentWillLoad(): void {\n this.tabindexChanged(this.host.getAttribute('tabindex') ?? '0')\n this.host.id ||= `qds-tab-${autoIncrementingId}`\n autoIncrementingId += 1\n\n this.#defineTab()\n }\n\n public componentWillRender(): void {\n const isPanelRoot =\n this.#parentLayer === 'panel' && this.#parentLevel === 'root'\n const isMainSubsection =\n this.#parentLayer === 'main' && this.#parentLevel === 'subsection'\n\n this.isIndicatorOnTop = isPanelRoot || isMainSubsection\n }\n\n public componentDidLoad(): void {\n this.panelChanged()\n }\n\n public disconnectedCallback(): void {\n if (!this.#panel) return\n\n const tab = this.host.shadowRoot?.querySelector('[role=\"tab\"]')\n if (tab) tab.removeAttribute('aria-controls')\n\n if (this.#panel.role === 'tabpanel')\n // eslint-disable-next-line unicorn/no-null\n this.#panel.role = null\n if (this.#panel.getAttribute('aria-labelledby') === this.host.id)\n this.#panel.removeAttribute('aria-labelledby')\n this.#panel.removeAttribute('tabindex')\n }\n\n public render() {\n const isLink = this.href !== undefined && this.#computedAction === undefined\n const Tag = isLink\n ? 'a'\n : this.#computedAction === 'expandable'\n ? 'button'\n : 'div'\n return (\n <div\n aria-disabled={this.#computedDisabled ? 'true' : undefined}\n class={{\n 'qds-closable-wrapper': this.#computedAction === 'closable',\n 'qds-selected': this.selected,\n [`qds-indicator-${this.indicatorPosition}`]:\n this.#computedAction === 'closable',\n }}\n data-size={this.#computedSize}\n data-importance={this.#computedImportance}\n >\n <Tag\n ref={this.#tabRef}\n disabled={isLink ? undefined : this.disabled}\n onBlur={this.#onBlur}\n onFocus={this.#onFocus}\n class={{\n 'qds-tab': this.#computedAction !== 'closable',\n 'qds-closable-tab': this.#computedAction === 'closable',\n 'qds-selected': this.selected,\n [`qds-indicator-${this.indicatorPosition}`]:\n this.#computedAction !== 'closable',\n }}\n role={this.#computedAction === 'expandable' ? undefined : 'tab'}\n aria-selected={\n this.#computedAction === 'expandable'\n ? undefined\n : this.selected\n ? 'true'\n : 'false'\n }\n aria-expanded={\n this.#computedAction === 'expandable' && !isLink\n ? this.selected\n ? 'true'\n : 'false'\n : undefined\n }\n data-importance={this.#computedImportance}\n data-action={this.#computedAction}\n data-size={this.#computedSize}\n href={isLink ? this.href : undefined}\n >\n {((this.tagText !== undefined && this.tagText !== '') ||\n (this.tagIconName !== undefined && this.tagIconName !== '')) && (\n <qds-tag\n text={this.tagText}\n status={this.tagStatus}\n size={this.#computedSize}\n importance={this.tagImportance}\n icon-library={this.tagIconLibrary}\n icon-name={this.tagIconName}\n icon-description={this.tagIconDescription}\n />\n )}\n\n {this.iconName !== undefined && this.iconName !== '' && (\n <qds-icon\n aria-hidden=\"true\"\n class=\"qds-icon\"\n library={this.iconLibrary}\n name={this.iconName}\n />\n )}\n {this.text && this.#renderText()}\n {isIndicator(this.badge) && (\n <qds-badge-indicator\n status={this.badgeIndicatorStatus}\n description={this.badgeDescription}\n size={this.#computedSize}\n strokeRing\n />\n )}\n {isCounter(this.badge) && (\n <qds-badge-counter\n description={this.badgeDescription}\n importance={this.badgeCounterImportance}\n size={this.#computedSize}\n strokeRing\n value={this.badge}\n />\n )}\n {this.#computedAction === 'expandable' && (\n <qds-icon\n class={{\n 'qds-target-icon': true,\n 'qds-chevron': this.selected,\n }}\n data-size={this.#computedSize}\n library=\"core\"\n name=\"dropdown\"\n />\n )}\n </Tag>\n {this.#computedAction === 'closable' && (\n <qds-mini-button\n name=\"close\"\n library=\"core\"\n text={this.#ariaLabel}\n data-size={this.#computedSize}\n disabled={this.#computedDisabled}\n onClick={this.#onIconClick}\n tabindex={this.#computeCloseButtonTabIndex}\n />\n )}\n </div>\n )\n }\n\n #renderText(): JSX.Element {\n return (\n <div class=\"qds-texts\">\n <div class=\"qds-text\">{this.text}</div>\n {this.subtitle !== undefined && this.subtitle !== '' && (\n <div class=\"qds-subtitle\">{this.subtitle}</div>\n )}\n </div>\n )\n }\n\n readonly #onBlur = (event: FocusEvent): void => {\n this.blurEmitter.emit(pickFocusEventAttributes(event))\n }\n\n readonly #onFocus = (event: FocusEvent): void => {\n this.focusEmitter.emit(pickFocusEventAttributes(event))\n }\n\n readonly #tabRef = (tab?: HTMLElement): void => {\n this.#tab = tab\n }\n\n readonly #close = (): void => {\n this.closeEmitter.emit()\n }\n\n readonly #onIconClick = (event: MouseEvent): void => {\n event.stopPropagation()\n this.#close()\n }\n\n readonly #defineTab = (): void => {\n if (this.#computedAction === 'expandable') {\n this.internals.role = 'tab'\n this.internals.ariaSelected = this.selected ? 'true' : 'false'\n this.#defineGetter('tab', () => this.host)\n } else {\n this.#defineGetter('tab', () => this.#tab)\n }\n }\n\n #defineGetter(p: PropertyKey, get: () => unknown): void {\n Object.defineProperty(this.host, p, { enumerable: true, get })\n }\n}\n"],"names":[],"mappings":"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"}