@quartzds/core 1.0.0-beta.122 → 1.0.0-beta.124

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 (206) hide show
  1. package/CHANGELOG.md +50 -0
  2. package/components/index.js +1 -1
  3. package/components/{p-CVuTVnQo.js → p-B6ToH-uM.js} +4 -4
  4. package/components/p-B6ToH-uM.js.map +1 -0
  5. package/components/{p-oqmnh-8P.js → p-BGAgQ6J5.js} +5 -5
  6. package/components/p-BGAgQ6J5.js.map +1 -0
  7. package/components/{p-DCAlWquR.js → p-BPNu4xuI.js} +8 -8
  8. package/components/{p-DCAlWquR.js.map → p-BPNu4xuI.js.map} +1 -1
  9. package/components/{p-io1iVgY1.js → p-BceRDckL.js} +5 -5
  10. package/components/p-BceRDckL.js.map +1 -0
  11. package/components/{p-BalM52S_.js → p-Bm_hrsjc.js} +6 -3
  12. package/components/p-Bm_hrsjc.js.map +1 -0
  13. package/components/{p-DgYrfIr_.js → p-BxrR19WD.js} +7 -9
  14. package/components/p-BxrR19WD.js.map +1 -0
  15. package/components/{p-DRcxeXWE.js → p-CsIsG3ra.js} +75 -39
  16. package/components/p-CsIsG3ra.js.map +1 -0
  17. package/components/p-D5u-bDNf.js +102 -0
  18. package/components/p-D5u-bDNf.js.map +1 -0
  19. package/components/{p-C0VgKX4J.js → p-DVXvtEPn.js} +5 -5
  20. package/components/{p-C0VgKX4J.js.map → p-DVXvtEPn.js.map} +1 -1
  21. package/components/{p-yb0Kv4Y6.js → p-De7cAKF1.js} +24 -9
  22. package/components/p-De7cAKF1.js.map +1 -0
  23. package/components/{p-C9R8N06B.js → p-EjoVBa5a.js} +3 -3
  24. package/components/{p-C9R8N06B.js.map → p-EjoVBa5a.js.map} +1 -1
  25. package/components/{p-CKp062X8.js → p-Vtb6GsBy.js} +6 -6
  26. package/components/{p-CKp062X8.js.map → p-Vtb6GsBy.js.map} +1 -1
  27. package/components/qds-action-item.js +3 -3
  28. package/components/qds-avatar-media.js +1 -1
  29. package/components/qds-breadcrumb-item.js +11 -6
  30. package/components/qds-breadcrumb-item.js.map +1 -1
  31. package/components/qds-button.js +8 -8
  32. package/components/qds-button.js.map +1 -1
  33. package/components/qds-checkbox.js +1 -1
  34. package/components/qds-chip.js +5 -5
  35. package/components/qds-chip.js.map +1 -1
  36. package/components/qds-dialog.js +5 -5
  37. package/components/qds-dialog.js.map +1 -1
  38. package/components/qds-divider.js +1 -1
  39. package/components/qds-dropdown.js +1 -1
  40. package/components/qds-form-message.js +23 -17
  41. package/components/qds-form-message.js.map +1 -1
  42. package/components/qds-icon-button.js +1 -1
  43. package/components/qds-icon-tab.js +4 -4
  44. package/components/qds-icon.js +1 -1
  45. package/components/qds-inline-link.js +5 -5
  46. package/components/qds-inline-link.js.map +1 -1
  47. package/components/qds-input.js +3 -3
  48. package/components/qds-label.js +2 -2
  49. package/components/qds-list-item.js +16 -13
  50. package/components/qds-list-item.js.map +1 -1
  51. package/components/qds-loader.js +2 -2
  52. package/components/qds-menu-item.js +38 -12
  53. package/components/qds-menu-item.js.map +1 -1
  54. package/components/qds-mini-button.js +1 -1
  55. package/components/qds-progress-bar.js +2 -2
  56. package/components/qds-radio.js +1 -1
  57. package/components/qds-select.js +3 -3
  58. package/components/qds-select.js.map +1 -1
  59. package/components/qds-standalone-link.js +4 -4
  60. package/components/qds-switch.js +6 -6
  61. package/components/qds-switch.js.map +1 -1
  62. package/components/qds-tab.js +7 -7
  63. package/components/qds-tab.js.map +1 -1
  64. package/components/qds-tabbar.js +59 -38
  65. package/components/qds-tabbar.js.map +1 -1
  66. package/components/qds-table-cell.js +2 -2
  67. package/components/qds-table-head-cell.js +2 -2
  68. package/components/qds-table-row.js +1 -1
  69. package/components/qds-table.js +1 -1
  70. package/components/qds-tag.js +1 -1
  71. package/components/qds-textarea.js +4 -4
  72. package/components/qds-textarea.js.map +1 -1
  73. package/components/qds-title.js +1 -1
  74. package/components/qds-tooltip.js +1 -1
  75. package/dist/cjs/{helpers-Qs3cpKiI.js → helpers-CPSgo4Ef.js} +8 -2
  76. package/dist/cjs/{helpers-Qs3cpKiI.js.map → helpers-CPSgo4Ef.js.map} +1 -1
  77. package/dist/cjs/loader.cjs.js +1 -1
  78. package/dist/cjs/qds-action-item.cjs.entry.js +1 -1
  79. package/dist/cjs/qds-avatar-media.qds-checkbox.qds-radio.entry.cjs.js.map +1 -1
  80. package/dist/cjs/qds-avatar-media_3.cjs.entry.js +72 -36
  81. package/dist/cjs/qds-breadcrumb-item.cjs.entry.js +9 -4
  82. package/dist/cjs/qds-breadcrumb-item.entry.cjs.js.map +1 -1
  83. package/dist/cjs/qds-button.cjs.entry.js +6 -6
  84. package/dist/cjs/qds-button.entry.cjs.js.map +1 -1
  85. package/dist/cjs/qds-chip.cjs.entry.js +2 -2
  86. package/dist/cjs/qds-chip.entry.cjs.js.map +1 -1
  87. package/dist/cjs/qds-dialog.cjs.entry.js +2 -2
  88. package/dist/cjs/qds-dialog.entry.cjs.js.map +1 -1
  89. package/dist/cjs/qds-divider.qds-icon-button.entry.cjs.js.map +1 -1
  90. package/dist/cjs/qds-divider_2.cjs.entry.js +3 -3
  91. package/dist/cjs/qds-dropdown.cjs.entry.js +20 -6
  92. package/dist/cjs/qds-dropdown.entry.cjs.js.map +1 -1
  93. package/dist/cjs/qds-form-message.cjs.entry.js +26 -16
  94. package/dist/cjs/qds-form-message.entry.cjs.js.map +1 -1
  95. package/dist/cjs/qds-icon-tab.cjs.entry.js +1 -1
  96. package/dist/cjs/qds-icon.cjs.entry.js +1 -1
  97. package/dist/cjs/qds-inline-link.cjs.entry.js +4 -4
  98. package/dist/cjs/qds-inline-link.entry.cjs.js.map +1 -1
  99. package/dist/cjs/qds-input.cjs.entry.js +1 -1
  100. package/dist/cjs/qds-label.cjs.entry.js +1 -1
  101. package/dist/cjs/qds-list-item.cjs.entry.js +8 -5
  102. package/dist/cjs/qds-list-item.entry.cjs.js.map +1 -1
  103. package/dist/cjs/qds-loader.cjs.entry.js +1 -1
  104. package/dist/cjs/qds-menu-item.cjs.entry.js +34 -8
  105. package/dist/cjs/qds-menu-item.entry.cjs.js.map +1 -1
  106. package/dist/cjs/qds-mini-button.cjs.entry.js +4 -6
  107. package/dist/cjs/qds-mini-button.entry.cjs.js.map +1 -1
  108. package/dist/cjs/qds-progress-bar.cjs.entry.js +2 -2
  109. package/dist/cjs/qds-select.cjs.entry.js +2 -2
  110. package/dist/cjs/qds-select.entry.cjs.js.map +1 -1
  111. package/dist/cjs/qds-standalone-link.cjs.entry.js +3 -3
  112. package/dist/cjs/qds-switch.cjs.entry.js +5 -5
  113. package/dist/cjs/qds-switch.entry.cjs.js.map +1 -1
  114. package/dist/cjs/qds-tab.cjs.entry.js +4 -4
  115. package/dist/cjs/qds-tab.entry.cjs.js.map +1 -1
  116. package/dist/cjs/qds-tabbar.cjs.entry.js +57 -33
  117. package/dist/cjs/qds-tabbar.entry.cjs.js.map +1 -1
  118. package/dist/cjs/qds-table-cell.cjs.entry.js +2 -2
  119. package/dist/cjs/qds-table-head-cell.cjs.entry.js +2 -2
  120. package/dist/cjs/qds-table-row.cjs.entry.js +1 -1
  121. package/dist/cjs/qds-table.cjs.entry.js +1 -1
  122. package/dist/cjs/qds-tag.cjs.entry.js +3 -3
  123. package/dist/cjs/qds-textarea.cjs.entry.js +4 -4
  124. package/dist/cjs/qds-textarea.entry.cjs.js.map +1 -1
  125. package/dist/cjs/qds-title.cjs.entry.js +3 -3
  126. package/dist/cjs/qds-title.entry.cjs.js.map +1 -1
  127. package/dist/cjs/qds-tooltip.cjs.entry.js +3 -3
  128. package/dist/cjs/qds-tooltip.entry.cjs.js.map +1 -1
  129. package/dist/cjs/qds.cjs.js +1 -1
  130. package/dist/custom-elements.json +224 -70
  131. package/dist/docs.json +49 -7
  132. package/dist/esm/{helpers-Fe2AA6uo.js → helpers-JWnSavo8.js} +6 -3
  133. package/dist/esm/{helpers-Fe2AA6uo.js.map → helpers-JWnSavo8.js.map} +1 -1
  134. package/dist/esm/loader.js +1 -1
  135. package/dist/esm/qds-action-item.entry.js +1 -1
  136. package/dist/esm/qds-avatar-media.qds-checkbox.qds-radio.entry.js.map +1 -1
  137. package/dist/esm/qds-avatar-media_3.entry.js +72 -36
  138. package/dist/esm/qds-breadcrumb-item.entry.js +9 -4
  139. package/dist/esm/qds-breadcrumb-item.entry.js.map +1 -1
  140. package/dist/esm/qds-button.entry.js +6 -6
  141. package/dist/esm/qds-button.entry.js.map +1 -1
  142. package/dist/esm/qds-chip.entry.js +2 -2
  143. package/dist/esm/qds-chip.entry.js.map +1 -1
  144. package/dist/esm/qds-dialog.entry.js +2 -2
  145. package/dist/esm/qds-dialog.entry.js.map +1 -1
  146. package/dist/esm/qds-divider.qds-icon-button.entry.js.map +1 -1
  147. package/dist/esm/qds-divider_2.entry.js +3 -3
  148. package/dist/esm/qds-dropdown.entry.js +20 -6
  149. package/dist/esm/qds-dropdown.entry.js.map +1 -1
  150. package/dist/esm/qds-form-message.entry.js +26 -16
  151. package/dist/esm/qds-form-message.entry.js.map +1 -1
  152. package/dist/esm/qds-icon-tab.entry.js +1 -1
  153. package/dist/esm/qds-icon.entry.js +1 -1
  154. package/dist/esm/qds-inline-link.entry.js +4 -4
  155. package/dist/esm/qds-inline-link.entry.js.map +1 -1
  156. package/dist/esm/qds-input.entry.js +1 -1
  157. package/dist/esm/qds-label.entry.js +1 -1
  158. package/dist/esm/qds-list-item.entry.js +8 -5
  159. package/dist/esm/qds-list-item.entry.js.map +1 -1
  160. package/dist/esm/qds-loader.entry.js +1 -1
  161. package/dist/esm/qds-menu-item.entry.js +34 -8
  162. package/dist/esm/qds-menu-item.entry.js.map +1 -1
  163. package/dist/esm/qds-mini-button.entry.js +4 -6
  164. package/dist/esm/qds-mini-button.entry.js.map +1 -1
  165. package/dist/esm/qds-progress-bar.entry.js +2 -2
  166. package/dist/esm/qds-select.entry.js +2 -2
  167. package/dist/esm/qds-select.entry.js.map +1 -1
  168. package/dist/esm/qds-standalone-link.entry.js +3 -3
  169. package/dist/esm/qds-switch.entry.js +5 -5
  170. package/dist/esm/qds-switch.entry.js.map +1 -1
  171. package/dist/esm/qds-tab.entry.js +4 -4
  172. package/dist/esm/qds-tab.entry.js.map +1 -1
  173. package/dist/esm/qds-tabbar.entry.js +57 -33
  174. package/dist/esm/qds-tabbar.entry.js.map +1 -1
  175. package/dist/esm/qds-table-cell.entry.js +2 -2
  176. package/dist/esm/qds-table-head-cell.entry.js +2 -2
  177. package/dist/esm/qds-table-row.entry.js +1 -1
  178. package/dist/esm/qds-table.entry.js +1 -1
  179. package/dist/esm/qds-tag.entry.js +3 -3
  180. package/dist/esm/qds-textarea.entry.js +4 -4
  181. package/dist/esm/qds-textarea.entry.js.map +1 -1
  182. package/dist/esm/qds-title.entry.js +3 -3
  183. package/dist/esm/qds-title.entry.js.map +1 -1
  184. package/dist/esm/qds-tooltip.entry.js +3 -3
  185. package/dist/esm/qds-tooltip.entry.js.map +1 -1
  186. package/dist/esm/qds.js +1 -1
  187. package/dist/types/components/checkbox/checkbox.d.ts +9 -9
  188. package/dist/types/components/dropdown/dropdown.d.ts +1 -0
  189. package/dist/types/components/form-message/form-message.d.ts +2 -0
  190. package/dist/types/components/menu-item/menu-item.d.ts +1 -0
  191. package/dist/types/components/tabbar/tabbar.d.ts +2 -0
  192. package/dist/types/components.d.ts +3 -2
  193. package/dist/types/helpers.d.ts +6 -1
  194. package/dist/vscode.html-custom-data.json +1 -1
  195. package/hydrate/index.js +311 -191
  196. package/hydrate/index.mjs +311 -191
  197. package/package.json +1 -2
  198. package/components/p-BalM52S_.js.map +0 -1
  199. package/components/p-CVuTVnQo.js.map +0 -1
  200. package/components/p-Ck9w5WIb.js +0 -102
  201. package/components/p-Ck9w5WIb.js.map +0 -1
  202. package/components/p-DRcxeXWE.js.map +0 -1
  203. package/components/p-DgYrfIr_.js.map +0 -1
  204. package/components/p-io1iVgY1.js.map +0 -1
  205. package/components/p-oqmnh-8P.js.map +0 -1
  206. package/components/p-yb0Kv4Y6.js.map +0 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@quartzds/core",
3
- "version": "1.0.0-beta.122",
3
+ "version": "1.0.0-beta.124",
4
4
  "description": "Quartz design system web components",
5
5
  "homepage": "https://github.com/quartzds/core-foundations/tree/main/packages/core",
6
6
  "bugs": {
@@ -54,7 +54,6 @@
54
54
  ],
55
55
  "dependencies": {
56
56
  "@floating-ui/dom": "^1.0.0",
57
- "@quartzds/generic-icons-core": "1.0.0-beta.14",
58
57
  "@stencil/core": "^4.37.0",
59
58
  "@types/node": "*",
60
59
  "type-fest": "^4.0.0"
@@ -1 +0,0 @@
1
- {"file":"p-BalM52S_.js","mappings":"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","names":[],"sources":["src/helpers.ts"],"sourcesContent":["// SPDX-FileCopyrightText: © 2024 Schneider Electric\n//\n// SPDX-License-Identifier: Apache-2.0\n\nimport type {\n MiddlewareState,\n OffsetOptions as LibraryOffsetOptions,\n ReferenceElement,\n} from '@floating-ui/dom'\nimport type { Except, Replace } from 'type-fest'\n\nimport type { LinkIcon } from './components/shared'\n\nexport type Attributes = Record<string, string | undefined>\n\nconst inheritAttributes = (\n element: Element,\n attributes: string[] = [],\n): Attributes => {\n const attributeObject: Attributes = {}\n\n for (const attribute of attributes) {\n const value = element.getAttribute(attribute)\n if (value !== null) {\n attributeObject[attribute] = value\n element.removeAttribute(attribute)\n }\n }\n\n return attributeObject\n}\n\ntype ARIAAttribute =\n | Replace<Lowercase<keyof ARIAMixin>, 'aria', 'aria-'>\n | 'aria-activedescendant'\n | 'aria-braillelabel'\n | 'aria-brailleroledescription'\n | 'aria-colindextext'\n | 'aria-controls'\n | 'aria-describedby'\n | 'aria-description'\n | 'aria-details'\n | 'aria-errormessage'\n | 'aria-flowto'\n | 'aria-labelledby'\n | 'aria-owns'\n | 'aria-relevant'\n | 'aria-rowindextext'\n\nconst ariaAttributes: ARIAAttribute[] = [\n 'aria-activedescendant',\n 'aria-atomic',\n 'aria-autocomplete',\n 'aria-braillelabel',\n 'aria-brailleroledescription',\n 'aria-busy',\n 'aria-checked',\n 'aria-colcount',\n 'aria-colindex',\n 'aria-colindextext',\n 'aria-colspan',\n 'aria-controls',\n 'aria-current',\n 'aria-describedby',\n 'aria-description',\n 'aria-details',\n 'aria-disabled',\n 'aria-errormessage',\n 'aria-expanded',\n 'aria-flowto',\n 'aria-haspopup',\n 'aria-hidden',\n 'aria-invalid',\n 'aria-keyshortcuts',\n 'aria-label',\n 'aria-labelledby',\n 'aria-level',\n 'aria-live',\n 'aria-multiline',\n 'aria-multiselectable',\n 'aria-orientation',\n 'aria-owns',\n 'aria-placeholder',\n 'aria-posinset',\n 'aria-pressed',\n 'aria-readonly',\n 'aria-relevant',\n 'aria-required',\n 'aria-roledescription',\n 'aria-rowcount',\n 'aria-rowindex',\n 'aria-rowindextext',\n 'aria-rowspan',\n 'aria-selected',\n 'aria-setsize',\n 'aria-sort',\n 'aria-valuemax',\n 'aria-valuemin',\n 'aria-valuenow',\n 'aria-valuetext',\n 'role',\n]\n\n/**\n * Returns an array of aria attributes that should be copied from\n * the shadow host element to a target within the light DOM.\n *\n * @param element The element that the attributes should be copied from.\n */\nexport const inheritAriaAttributes = (\n element: Element,\n): ReturnType<typeof inheritAttributes> =>\n inheritAttributes(element, ariaAttributes)\n\nconst isProduction = process.env.NODE_ENV === 'production'\nconst prefix = 'Invariant failed'\n\n/**\n * Throws an error if the value is falsy.\n *\n * @param value Value to test.\n * @param message Optional message to display in development builds.\n */\nexport function invariant(value: unknown, message?: string): asserts value {\n // eslint-disable-next-line @typescript-eslint/strict-boolean-expressions\n if (value) return\n if (isProduction) throw new Error(prefix)\n\n const error = message === undefined ? prefix : `${prefix}: ${message}`\n throw new Error(error)\n}\n\n/**\n * From an object pick a set of keys.\n *\n * @param object Object to pick from.\n * @param keys They keys to pick.\n * @returns New object with only the picked keys.\n */\nexport const pick = <T, K extends keyof T>(\n object: T,\n ...keys: K[]\n): Pick<T, K> => {\n const returnValue: Partial<Pick<T, K>> = {}\n for (const key of keys) returnValue[key] = object[key]\n return returnValue as Pick<T, K>\n}\n\nexport type QdsFocusEventDetail = Pick<FocusEvent, 'relatedTarget'>\nexport type QdsInputEventDetail = Pick<\n InputEvent,\n 'data' | 'inputType' | 'isComposing'\n>\nexport const pickFocusEventAttributes = (\n event: FocusEvent,\n): QdsFocusEventDetail => pick(event, 'relatedTarget')\nexport const pickInputEventAttributes = (\n event: InputEvent,\n): QdsInputEventDetail => pick(event, 'data', 'inputType', 'isComposing')\n\nconst getConversionFactor = (\n element: Element,\n unit: string,\n): number | undefined => {\n switch (unit) {\n case 'cm': {\n return 96 / 2.54\n }\n case 'em': {\n return Number.parseFloat(\n globalThis.getComputedStyle(\n element.parentElement ?? document.documentElement,\n ).fontSize,\n )\n }\n case 'in': {\n return 96\n }\n case 'mm': {\n return 96 / 25.4\n }\n case 'pc': {\n return 16\n }\n case 'pt': {\n return 96 / 72\n }\n case 'px': {\n return 1\n }\n case 'rem': {\n return Number.parseFloat(\n globalThis.getComputedStyle(document.documentElement).fontSize,\n )\n }\n default: {\n return undefined\n }\n }\n}\n\nexport const propertyToPx = (\n element: Element,\n property: string,\n): number | undefined => {\n const value = globalThis.getComputedStyle(element).getPropertyValue(property)\n const number = Number.parseFloat(value)\n if (Number.isNaN(number)) return undefined\n const unit = /\\s*[\\d+.-]*\\s*(.*)/.exec(value)?.[1] ?? ''\n\n const conversionFactor = getConversionFactor(element, unit) ?? 1\n return number * conversionFactor\n}\n\nexport const ignorePromise = <T>(promise: Promise<T>): void => {\n promise.catch(() => {\n invariant(false)\n })\n}\n\nexport const isTouchDevice = (): boolean =>\n 'ontouchstart' in globalThis ||\n ('maxTouchPoints' in globalThis && globalThis.navigator.maxTouchPoints > 0)\n\n/**\n * Checks if an element's ellipsis is active.\n *\n * @param element The element to check.\n * @returns `true` if ellipsis is active, `false` otherwise.\n */\nexport const isEllipsisActive = (element: Element): boolean => {\n const range = document.createRange()\n range.selectNodeContents(element)\n\n const rangeRect = range.getBoundingClientRect()\n const elementWidth = element.getBoundingClientRect().width\n\n if (rangeRect.width > elementWidth) return true\n\n const { webkitLineClamp, lineHeight } = globalThis.getComputedStyle(element)\n\n const parsedLineClamp = Number.parseInt(webkitLineClamp, 10)\n if (Number.isNaN(parsedLineClamp)) return false\n const parsedLineHeight = Number.parseInt(lineHeight, 10)\n if (Number.isNaN(parsedLineHeight)) return false\n\n return rangeRect.height >= (parsedLineClamp + 1) * parsedLineHeight\n}\n\nexport const determineLinkIcon = (\n target?: string,\n // eslint-disable-next-line unicorn/prevent-abbreviations\n rel?: string,\n): LinkIcon | undefined => {\n if (!(rel?.split(' ') ?? []).includes('external')) return undefined\n return target === '_blank' ? 'external-new-tab-link' : 'external-link'\n}\n\nexport const resolveTarget = (\n target?: ReferenceElement | string | (() => ReferenceElement | string),\n): ReferenceElement | undefined => {\n const resolvedTarget = typeof target === 'function' ? target() : target\n if (typeof resolvedTarget !== 'string') return resolvedTarget\n\n const element = document.querySelector(resolvedTarget)\n if (element === null) throw new Error('String must resolve to an Element.')\n return element\n}\n\n/**\n * Patched version of requestAnimationFrame that avoids ngzone\n * Use only when you know ngzone should not run\n */\nconst raf = (h: FrameRequestCallback): number => {\n const win = window as Window & {\n ['__zone_symbol__requestAnimationFrame']?: (\n callback: FrameRequestCallback,\n ) => number\n }\n // eslint-disable-next-line no-underscore-dangle\n if (typeof win.__zone_symbol__requestAnimationFrame === 'function') {\n // eslint-disable-next-line no-underscore-dangle\n return win.__zone_symbol__requestAnimationFrame(h)\n }\n if (typeof requestAnimationFrame === 'function') {\n return requestAnimationFrame(h)\n }\n return setTimeout(h)\n}\n\n/**\n * Waits for a component to be ready for\n * both custom element and non-custom element builds.\n * If non-custom element build, el.componentOnReady\n * will be used.\n * For custom element builds, we wait a frame\n * so that the inner contents of the component\n * have a chance to render.\n *\n * Use this utility rather than calling\n * el.componentOnReady yourself.\n *\n * Reference: https://stenciljs.com/docs/api#componentonready\n */\nexport const componentOnReady = <\n T extends { componentOnReady?: () => Promise<T> },\n>(\n element: T,\n callback: (element_: T) => void,\n): void => {\n if (element.componentOnReady === undefined) {\n raf(() => {\n callback(element)\n })\n } else {\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n element.componentOnReady().then((resolvedElement) => {\n callback(resolvedElement)\n })\n }\n}\n\nconst resolvePanelFromValue = (value: unknown): HTMLElement | undefined => {\n if (value instanceof HTMLElement) {\n return value\n }\n\n if (typeof value === 'string') {\n const element = document.querySelector(value)\n return element instanceof HTMLElement ? element : undefined\n }\n\n return undefined\n}\n\nexport const resolvePanelElement = (\n tab: HTMLQdsTabElement,\n): HTMLElement | undefined => {\n const panelValue = typeof tab.panel === 'function' ? tab.panel() : tab.panel\n return resolvePanelFromValue(panelValue)\n}\n\ntype OffsetValue = Except<\n Exclude<\n LibraryOffsetOptions,\n // eslint-disable-next-line @typescript-eslint/ban-types\n Function | number\n >,\n 'mainAxis'\n>\ntype OffsetFunction = (state: MiddlewareState) => OffsetValue\nexport type OffsetOptions = OffsetFunction | OffsetValue\n\nexport const HORIZONTAL_MOVE_KEYS: ReadonlySet<string> = new Set([\n 'ArrowLeft',\n 'ArrowRight',\n 'Home',\n 'End',\n])\n\nexport const VERTICAL_MOVE_KEYS: ReadonlySet<string> = new Set([\n 'ArrowUp',\n 'ArrowDown',\n 'Home',\n 'End',\n])\n\nexport const closestElement = (\n selector: string,\n base: Element,\n): Element | undefined => {\n function closestFrom(\n element: Document | Element | typeof globalThis,\n ): Element | undefined {\n if (element === document || element === globalThis) return undefined\n const { assignedSlot } = element as Slottable\n // eslint-disable-next-line no-param-reassign\n if (assignedSlot) element = assignedSlot\n const found = (element as Element).closest(selector)\n return (\n found ??\n closestFrom(((element as Element).getRootNode() as ShadowRoot).host)\n )\n }\n return closestFrom(base)\n}\n\nexport const isCurrentPage = (url: string): boolean => {\n try {\n const currentUrl = new URL(window.location.href)\n const targetUrl = new URL(url)\n return (\n currentUrl.origin === targetUrl.origin &&\n currentUrl.pathname === targetUrl.pathname\n )\n } catch {\n return false\n }\n}\n"],"version":3}
@@ -1 +0,0 @@
1
- {"file":"p-CVuTVnQo.js","mappings":";;;;;;;AAAA,MAAM,UAAU,GAAG,6bAA6b;;ACAhd;AACA;AACA;;;;;;;;;MAqBa,OAAO,iBAAAA,kBAAA,CAAA,MAAA,OAAA,SAAAC,CAAA,CAAA;AALpB,IAAA,WAAA,CAAA,YAAA,EAAA;;;;;;;;AAME;;AAEG;AACqB,QAAA,IAAU,CAAA,UAAA,GAAgB,UAAU;AAE5D;;AAEG;AACqB,QAAA,IAAQ,CAAA,QAAA,GAAY,KAAK;AAwClD;IAvBW,eAAe,GAAA;AACvB,QAAA,IAAI,CAAC,SAAS,CAAC,eAAe,GAAG,IAAI,CAAC,QAAQ,GAAG,UAAU,GAAG,YAAY;;IAGrE,iBAAiB,GAAA;AACtB,QAAA,IAAI,CAAC,SAAS,CAAC,IAAI,GAAG,WAAW;AACjC,QAAA,IAAI,CAAC,SAAS,CAAC,UAAU,GAAG,MAAM;QAElC,IAAI,CAAC,eAAe,EAAE;;IAGjB,MAAM,GAAA;QACX,QACE,CACE,CAAA,IAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAE;AACL,gBAAA,aAAa,EAAE,IAAI;gBACnB,cAAc,EAAE,IAAI,CAAC,QAAQ;AAC9B,aAAA,EAAA,aAAA,EACW,MAAM,EACD,iBAAA,EAAA,sBAAA,CAAA,IAAI,EAAoB,kBAAA,EAAA,GAAA,EAAA,+BAAA,CAAA,EAAA,CACzC;;;;;;;;;;;;;AAhCJ,IAAA,QAAQ,IAAI,CAAC,UAAU;AACrB,QAAA,KAAK,YAAY;QACjB,KAAK,SAAS,EAAE;YACd,OAAO,IAAI,CAAC,UAAU;;QAExB,SAAS;AACP,YAAA,OAAO,UAAU;;;AAGvB,CAAC;;;;;;;;;;;;;;;;;","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/divider/divider.css?tag=qds-divider&encapsulation=shadow","src/components/divider/divider.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: block;\n}\n\n.qds-divider {\n border: none;\n height: var(--qds-control-border-width);\n margin: 0;\n width: 100%;\n}\n\n.qds-vertical {\n height: 100%;\n width: var(--qds-control-border-width);\n}\n\n[data-importance='standard'] {\n background-color: var(--qds-theme-divider-standard);\n}\n\n[data-importance='emphasized'] {\n background-color: var(--qds-theme-divider-emphasized);\n}\n\n[data-importance='subdued'] {\n background-color: var(--qds-theme-divider-subdued);\n}\n","// SPDX-FileCopyrightText: © 2024 Schneider Electric\n//\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { ComponentInterface } from '@stencil/core'\nimport { AttachInternals, Component, h, Prop, Watch } from '@stencil/core'\n\nimport type { Importance } from '../shared'\n\n/**\n * The `<qds-divider>` element a thematic break between paragraph-level\n * elements: for example, a change of scene in a story, or a shift of topic\n * within a section.\n *\n * Dividers can also be used to group menu items in `<qds-dropdown>` elements.\n *\n * @see https://quartz.se.com/build/components/divider\n */\n@Component({\n tag: 'qds-divider',\n shadow: true,\n styleUrl: 'divider.css',\n})\nexport class Divider implements ComponentInterface {\n /**\n * The divider's importance.\n */\n @Prop() public readonly importance?: Importance = 'standard'\n\n /**\n * Display the divider in vertical orientation.\n */\n @Prop() public readonly vertical: boolean = false\n\n @AttachInternals() private readonly internals!: ElementInternals\n\n get #computedImportance(): Importance {\n switch (this.importance) {\n case 'emphasized':\n case 'subdued': {\n return this.importance\n }\n default: {\n return 'standard'\n }\n }\n }\n\n @Watch('vertical')\n protected verticalChanged(): void {\n this.internals.ariaOrientation = this.vertical ? 'vertical' : 'horizontal'\n }\n\n public componentWillLoad(): void {\n this.internals.role = 'separator'\n this.internals.ariaHidden = 'true'\n\n this.verticalChanged()\n }\n\n public render() {\n return (\n <hr\n class={{\n 'qds-divider': true,\n 'qds-vertical': this.vertical,\n }}\n aria-hidden=\"true\"\n data-importance={this.#computedImportance}\n />\n )\n }\n}\n"],"version":3}
@@ -1,102 +0,0 @@
1
- /*!
2
- * SPDX-FileCopyrightText: © 2026 Schneider Electric
3
- *
4
- * SPDX-License-Identifier: Apache-2.0
5
- */
6
- import { p as proxyCustomElement, H, h } from './p-D2489VzR.js';
7
- import { d as defineCustomElement$1 } from './p-C9R8N06B.js';
8
-
9
- const titleCss = ":host([hidden]){display:none!important}:host{display:block}.qds-titles{display:grid;grid-template-areas:\"g\"}.qds-titles.qds-has-kicker{grid-template-areas:\"h\" \"g\"}.qds-titles.qds-has-subtitle{grid-template-areas:\"g\" \"i\"}.qds-titles.qds-has-kicker.qds-has-subtitle{grid-template-areas:\"h\" \"g\" \"i\"}.qds-has-icon{grid-template-areas:\"j g\";grid-template-columns:auto 1fr}.qds-has-icon.qds-has-kicker{grid-template-areas:\". h\" \"j g\"}.qds-has-icon.qds-has-subtitle{grid-template-areas:\"j g\" \". i\"}.qds-has-icon.qds-has-kicker.qds-has-subtitle{grid-template-areas:\". h\" \"j g\" \". i\"}.qds-title,.qds-titles{hyphens:inherit}.qds-kicker,.qds-subtitle{hyphens:manual}.qds-kicker,.qds-subtitle,.qds-title{margin-block:0}.qds-title{color:var(--qds-theme-title);grid-area:g}.qds-subtitle{color:var(--qds-theme-subtitle);grid-area:i}.qds-kicker{color:var(--qds-theme-kicker);grid-area:h}.qds-icon{align-content:center;color:var(--qds-theme-text-standard);grid-area:j}.qds-main.qds-section.qds-titles{gap:var(--qds-main-section-titles-gap)}.qds-main.qds-section.qds-has-icon{gap:var(--qds-main-section-titles-gap) var(--qds-main-section-titles-icon-gap)}.qds-main.qds-section .qds-title{font:var(--qds-main-section-title)}.qds-main.qds-section .qds-subtitle{font:var(--qds-main-section-subtitle)}.qds-main.qds-section .qds-kicker{font:var(--qds-main-section-kicker)}.qds-main.qds-section .qds-icon{height:var(--qds-main-section-titles-icon-crop-height);width:var(--qds-main-section-titles-icon-size)}.qds-main.qds-subsection.qds-titles{gap:var(--qds-main-subsection-titles-gap)}.qds-main.qds-subsection.qds-has-icon{gap:var(--qds-main-subsection-titles-gap) var(--qds-main-subsection-titles-icon-gap)}.qds-main.qds-subsection .qds-title{font:var(--qds-main-subsection-title)}.qds-main.qds-subsection .qds-subtitle{font:var(--qds-main-subsection-subtitle)}.qds-main.qds-subsection .qds-kicker{font:var(--qds-main-subsection-kicker)}.qds-main.qds-subsection .qds-icon{height:var(--qds-main-subsection-titles-icon-crop-height);width:var(--qds-main-subsection-titles-icon-size)}.qds-panel.qds-root.qds-titles{gap:var(--qds-panel-titles-gap)}.qds-panel.qds-root.qds-has-icon{gap:var(--qds-panel-titles-gap) var(--qds-panel-titles-icon-gap)}.qds-panel.qds-root .qds-title{font:var(--qds-panel-title)}.qds-panel.qds-root .qds-subtitle{font:var(--qds-panel-subtitle)}.qds-panel.qds-root .qds-kicker{font:var(--qds-panel-kicker)}.qds-panel.qds-root .qds-icon{height:var(--qds-panel-titles-icon-crop-height);width:var(--qds-panel-titles-icon-size)}.qds-panel.qds-section.qds-titles{gap:var(--qds-panel-section-titles-gap)}.qds-panel.qds-section.qds-has-icon{gap:var(--qds-panel-section-titles-gap) var(--qds-panel-section-titles-icon-gap)}.qds-panel.qds-section .qds-title{font:var(--qds-panel-section-title)}.qds-panel.qds-section .qds-subtitle{font:var(--qds-panel-section-subtitle)}.qds-panel.qds-section .qds-kicker{font:var(--qds-panel-section-kicker)}.qds-panel.qds-section .qds-icon{height:var(--qds-panel-section-titles-icon-crop-height);width:var(--qds-panel-section-titles-icon-size)}.qds-panel.qds-subsection.qds-titles{gap:var(--qds-panel-subsection-titles-gap)}.qds-panel.qds-subsection.qds-has-icon{gap:var(--qds-panel-subsection-titles-gap) var(--qds-panel-subsection-titles-icon-gap)}.qds-panel.qds-subsection .qds-title{font:var(--qds-panel-subsection-title)}.qds-panel.qds-subsection .qds-subtitle{font:var(--qds-panel-subsection-subtitle)}.qds-panel.qds-subsection .qds-kicker{font:var(--qds-panel-subsection-kicker)}.qds-panel.qds-subsection .qds-icon{height:var(--qds-panel-subsection-titles-icon-crop-height);width:var(--qds-panel-subsection-titles-icon-size)}.qds-navigation.qds-section.qds-titles{gap:var(--qds-navigation-section-titles-gap)}.qds-navigation.qds-section.qds-has-icon{gap:var(--qds-navigation-section-titles-gap) var(--qds-navigation-section-titles-icon-gap)}.qds-navigation.qds-section .qds-title{font:var(--qds-navigation-section-title)}.qds-navigation.qds-section .qds-subtitle{font:var(--qds-navigation-section-subtitle)}.qds-navigation.qds-section .qds-kicker{font:var(--qds-navigation-section-kicker)}.qds-navigation.qds-section .qds-icon{height:var(--qds-navigation-section-titles-icon-crop-height);width:var(--qds-navigation-section-titles-icon-size)}.qds-navigation.qds-subsection.qds-titles{gap:var(--qds-navigation-subsection-titles-gap)}.qds-navigation.qds-subsection.qds-has-icon{gap:var(--qds-navigation-subsection-titles-gap) var(--qds-navigation-subsection-titles-icon-gap)}.qds-navigation.qds-subsection .qds-title{font:var(--qds-navigation-subsection-title)}.qds-navigation.qds-subsection .qds-subtitle{font:var(--qds-navigation-subsection-subtitle)}.qds-navigation.qds-subsection .qds-kicker{font:var(--qds-navigation-subsection-kicker)}.qds-navigation.qds-subsection .qds-icon{height:var(--qds-navigation-subsection-titles-icon-crop-height);width:var(--qds-navigation-subsection-titles-icon-size)}.qds-popup.qds-root.qds-titles{gap:var(--qds-popup-titles-gap)}.qds-popup.qds-root.qds-has-icon{gap:var(--qds-popup-titles-gap) var(--qds-popup-titles-icon-gap)}.qds-popup.qds-root .qds-title{font:var(--qds-popup-title)}.qds-popup.qds-root .qds-subtitle{font:var(--qds-popup-subtitle)}.qds-popup.qds-root .qds-kicker{font:var(--qds-popup-kicker)}.qds-popup.qds-root .qds-icon{height:var(--qds-popup-titles-icon-crop-height);width:var(--qds-popup-titles-icon-size)}.qds-popup.qds-section.qds-titles{gap:var(--qds-popup-section-titles-gap)}.qds-popup.qds-section.qds-has-icon{gap:var(--qds-popup-section-titles-gap) var(--qds-popup-section-titles-icon-gap)}.qds-popup.qds-section .qds-title{font:var(--qds-popup-section-title)}.qds-popup.qds-section .qds-subtitle{font:var(--qds-popup-section-subtitle)}.qds-popup.qds-section .qds-kicker{font:var(--qds-popup-section-kicker)}.qds-popup.qds-section .qds-icon{height:var(--qds-popup-section-titles-icon-crop-height);width:var(--qds-popup-section-titles-icon-size)}.qds-popup.qds-subsection.qds-titles{gap:var(--qds-popup-subsection-titles-gap)}.qds-popup.qds-subsection.qds-has-icon{gap:var(--qds-popup-subsection-titles-gap) var(--qds-popup-subsection-titles-icon-gap)}.qds-popup.qds-subsection .qds-title{font:var(--qds-popup-subsection-title)}.qds-popup.qds-subsection .qds-subtitle{font:var(--qds-popup-subsection-subtitle)}.qds-popup.qds-subsection .qds-kicker{font:var(--qds-popup-subsection-kicker)}.qds-popup.qds-subsection .qds-icon{height:var(--qds-popup-subsection-titles-icon-crop-height);width:var(--qds-popup-subsection-titles-icon-size)}.qds-accessory.qds-root.qds-titles{gap:var(--qds-accessory-titles-gap)}.qds-accessory.qds-root.qds-has-icon{gap:var(--qds-accessory-titles-gap) var(--qds-accessory-titles-icon-gap)}.qds-accessory.qds-root .qds-title{font:var(--qds-accessory-title)}.qds-accessory.qds-root .qds-subtitle{font:var(--qds-accessory-subtitle)}.qds-accessory.qds-root .qds-kicker{font:var(--qds-accessory-kicker)}.qds-accessory.qds-root .qds-icon{height:var(--qds-accessory-titles-icon-crop-height);width:var(--qds-accessory-titles-icon-size)}.qds-accessory.qds-section.qds-titles{gap:var(--qds-accessory-section-titles-gap)}.qds-accessory.qds-section.qds-has-icon{gap:var(--qds-accessory-section-titles-gap) var(--qds-accessory-section-titles-icon-gap)}.qds-accessory.qds-section .qds-title{font:var(--qds-accessory-section-title)}.qds-accessory.qds-section .qds-subtitle{font:var(--qds-accessory-section-subtitle)}.qds-accessory.qds-section .qds-kicker{font:var(--qds-accessory-section-kicker)}.qds-accessory.qds-section .qds-icon{height:var(--qds-accessory-section-titles-icon-crop-height);width:var(--qds-accessory-section-titles-icon-size)}.qds-titles[data-variant=web-main-section-promo]:is(.qds-root,.qds-section,.qds-subsection){gap:var(--qds-main-section-promo-titles-gap);margin:auto}[data-variant=web-main-section-promo]:is(.qds-root,.qds-section,.qds-subsection) .qds-title{font:var(--qds-main-section-promo-title)}[data-variant=web-main-section-promo]:is(.qds-root,.qds-section,.qds-subsection) .qds-subtitle{font:var(--qds-main-section-promo-subtitle)}[data-variant=web-main-section-promo]:is(.qds-root,.qds-section,.qds-subsection) .qds-kicker{font:var(--qds-main-section-promo-kicker)}.qds-has-icon[data-variant=web-main-section-promo]:is(.qds-root,.qds-section,.qds-subsection){gap:var(--qds-main-section-promo-titles-gap) var(--qds-main-section-promo-titles-icon-gap)}[data-variant=web-main-section-promo]:is(.qds-root,.qds-section,.qds-subsection) .qds-icon{height:var(--qds-main-section-promo-titles-icon-crop-height);width:var(--qds-main-section-promo-titles-icon-size)}[data-alignment=start]{text-align:start}[data-alignment=center]{text-align:center}[data-alignment=end]{text-align:end}.qds-titles[data-variant=web-main-section-display]:is(.qds-root,.qds-section,.qds-subsection){gap:var(--qds-main-section-display-titles-gap)}[data-variant=web-main-section-display]:is(.qds-root,.qds-section,.qds-subsection) .qds-title{font:var(--qds-main-section-display-title)}.qds-titles[data-variant=web-main-subsection-card]:is(.qds-root,.qds-section,.qds-subsection){gap:var(--qds-main-subsection-card-titles-gap)}[data-variant=web-main-subsection-card]:is(.qds-root,.qds-section,.qds-subsection) .qds-title{font:var(--qds-main-subsection-card-standard-title)}.qds-titles[data-variant=web-main-section-hero]:is(.qds-root,.qds-section,.qds-subsection){gap:var(--qds-main-section-hero-titles-gap)}[data-variant=web-main-section-hero]:is(.qds-root,.qds-section,.qds-subsection) .qds-title{font:var(--qds-main-section-hero-title)}";
10
-
11
- // SPDX-FileCopyrightText: © 2024 Schneider Electric
12
- //
13
- // SPDX-License-Identifier: Apache-2.0
14
- var __classPrivateFieldGet = (undefined && undefined.__classPrivateFieldGet) || function (receiver, state, kind, f) {
15
- if (kind === "a" && !f)
16
- throw new TypeError("Private accessor was defined without a getter");
17
- if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver))
18
- throw new TypeError("Cannot read private member from an object whose class did not declare it");
19
- return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
20
- };
21
- var _Title_instances, _Title_hasSubtitle_get, _Title_hasKicker_get;
22
- const Title = /*@__PURE__*/ proxyCustomElement(class Title extends H {
23
- constructor(registerHost) {
24
- super();
25
- if (registerHost !== false) {
26
- this.__registerHost();
27
- }
28
- this.__attachShadow();
29
- this.internals = this.attachInternals();
30
- _Title_instances.add(this);
31
- /**
32
- * The alignment of the title.
33
- */
34
- this.alignment = 'start';
35
- /**
36
- * The name of a registered icon library.
37
- */
38
- this.iconLibrary = 'default';
39
- this.layer = 'main';
40
- this.level = 'section';
41
- /**
42
- * HTML tag to use to render the title.
43
- */
44
- this.tag = 'h2';
45
- }
46
- componentWillLoad() {
47
- this.internals.role = 'group';
48
- }
49
- render() {
50
- const layer = `qds-${this.layer ?? 'main'}`;
51
- const level = `qds-${this.level ?? 'section'}`;
52
- const Tag = this.tag ?? 'h2';
53
- const hasIcon = this.iconName !== undefined && this.iconName !== '';
54
- return (h("hgroup", { key: 'ed0b1522df1d04ac5d4a19bfd4d801bac51aba5a', "data-alignment": this.alignment ?? 'start', "data-variant": this.variant, class: {
55
- [layer]: true,
56
- [level]: true,
57
- 'qds-titles': true,
58
- 'qds-has-icon': hasIcon,
59
- 'qds-has-kicker': __classPrivateFieldGet(this, _Title_instances, "a", _Title_hasKicker_get),
60
- 'qds-has-subtitle': __classPrivateFieldGet(this, _Title_instances, "a", _Title_hasSubtitle_get),
61
- }, role: "none" }, h(Tag, { key: '9159ae4127d5be822227a6edd25d1297857686d7', class: "qds-title", "data-variant": this.variant }, h("slot", { key: '266cb1ded9c3d64320bd71d13393832f6e280a85' })), __classPrivateFieldGet(this, _Title_instances, "a", _Title_hasKicker_get) && h("p", { key: '5672a80281144196dc75fd811b5889afd997cf98', class: "qds-kicker" }, this.kicker), __classPrivateFieldGet(this, _Title_instances, "a", _Title_hasSubtitle_get) && h("p", { key: '499d0d4b792e9edba768472043c42b2fb08e3c62', class: "qds-subtitle" }, this.subtitle), hasIcon && (h("qds-icon", { key: 'f49f82e51dbfdefb3a1316372ee7d48ab2079e47', class: "qds-icon", name: this.iconName, library: this.iconLibrary }))));
62
- }
63
- static get style() { return titleCss; }
64
- }, [257, "qds-title", {
65
- "alignment": [1],
66
- "iconName": [1, "icon-name"],
67
- "iconLibrary": [1, "icon-library"],
68
- "kicker": [1],
69
- "layer": [1],
70
- "level": [1],
71
- "subtitle": [1],
72
- "tag": [1],
73
- "variant": [1]
74
- }]);
75
- _Title_instances = new WeakSet(), _Title_hasSubtitle_get = function _Title_hasSubtitle_get() {
76
- return this.subtitle !== undefined && this.subtitle !== '';
77
- }, _Title_hasKicker_get = function _Title_hasKicker_get() {
78
- return this.kicker !== undefined && this.kicker !== '';
79
- };
80
- function defineCustomElement() {
81
- if (typeof customElements === "undefined") {
82
- return;
83
- }
84
- const components = ["qds-title", "qds-icon"];
85
- components.forEach(tagName => { switch (tagName) {
86
- case "qds-title":
87
- if (!customElements.get(tagName)) {
88
- customElements.define(tagName, Title);
89
- }
90
- break;
91
- case "qds-icon":
92
- if (!customElements.get(tagName)) {
93
- defineCustomElement$1();
94
- }
95
- break;
96
- } });
97
- }
98
-
99
- export { Title as T, defineCustomElement as d };
100
- //# sourceMappingURL=p-Ck9w5WIb.js.map
101
-
102
- //# sourceMappingURL=p-Ck9w5WIb.js.map
@@ -1 +0,0 @@
1
- {"file":"p-Ck9w5WIb.js","mappings":";;;;;;;;AAAA,MAAM,QAAQ,GAAG,02SAA02S;;ACA33S;AACA;AACA;;;;;;;;;MAyBa,KAAK,iBAAAA,kBAAA,CAAA,MAAA,KAAA,SAAAC,CAAA,CAAA;AALlB,IAAA,WAAA,CAAA,YAAA,EAAA;;;;;;;;AAME;;AAEG;AACqB,QAAA,IAAS,CAAA,SAAA,GAAe,OAAO;AASvD;;AAEG;AACqB,QAAA,IAAW,CAAA,WAAA,GAAW,SAAS;AAO/B,QAAA,IAAK,CAAA,KAAA,GAAW,MAAM;AAEtB,QAAA,IAAK,CAAA,KAAA,GAAW,SAAS;AAOjD;;AAEG;AACqB,QAAA,IAAG,CAAA,GAAA,GAAS,IAAI;AAwDzC;IAvCQ,iBAAiB,GAAA;AACtB,QAAA,IAAI,CAAC,SAAS,CAAC,IAAI,GAAG,OAAO;;IAGxB,MAAM,GAAA;QACX,MAAM,KAAK,GAAG,CAAO,IAAA,EAAA,IAAI,CAAC,KAAK,IAAI,MAAM,CAAA,CAAE;QAC3C,MAAM,KAAK,GAAG,CAAO,IAAA,EAAA,IAAI,CAAC,KAAK,IAAI,SAAS,CAAA,CAAE;AAC9C,QAAA,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,IAAI;AAC5B,QAAA,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,KAAK,SAAS,IAAI,IAAI,CAAC,QAAQ,KAAK,EAAE;QAEnE,QACE,CAAA,CAAA,QAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,gBAAA,EACkB,IAAI,CAAC,SAAS,IAAI,OAAO,EAAA,cAAA,EAC3B,IAAI,CAAC,OAAO,EAC1B,KAAK,EAAE;gBACL,CAAC,KAAK,GAAG,IAAI;gBACb,CAAC,KAAK,GAAG,IAAI;AACb,gBAAA,YAAY,EAAE,IAAI;AAClB,gBAAA,cAAc,EAAE,OAAO;gBACvB,gBAAgB,EAAE,sBAAA,CAAA,IAAI,EAAW,gBAAA,EAAA,GAAA,EAAA,oBAAA,CAAA;gBACjC,kBAAkB,EAAE,sBAAA,CAAA,IAAI,EAAa,gBAAA,EAAA,GAAA,EAAA,sBAAA,CAAA;AACtC,aAAA,EACD,IAAI,EAAC,MAAM,EAAA,EAEX,CAAC,CAAA,GAAG,qDAAC,KAAK,EAAC,WAAW,EAAe,cAAA,EAAA,IAAI,CAAC,OAAO,EAAA,EAC/C,CAAA,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,CAAQ,CACJ,EACL,sBAAA,CAAA,IAAI,EAAW,gBAAA,EAAA,GAAA,EAAA,oBAAA,CAAA,IAAI,CAAG,CAAA,GAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,YAAY,EAAE,EAAA,IAAI,CAAC,MAAM,CAAK,EAC1D,sBAAA,CAAA,IAAI,EAAa,gBAAA,EAAA,GAAA,EAAA,sBAAA,CAAA,IAAI,CAAG,CAAA,GAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,cAAc,EAAE,EAAA,IAAI,CAAC,QAAQ,CAAK,EAChE,OAAO,KACN,CACE,CAAA,UAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,UAAU,EAChB,IAAI,EAAE,IAAI,CAAC,QAAQ,EACnB,OAAO,EAAE,IAAI,CAAC,WAAW,EACzB,CAAA,CACH,CACM;;;;;;;;;;;;;;;IA3CX,OAAO,IAAI,CAAC,QAAQ,KAAK,SAAS,IAAI,IAAI,CAAC,QAAQ,KAAK,EAAE;AAC5D,CAAC,EAAA,oBAAA,GAAA,SAAA,oBAAA,GAAA;IAGC,OAAO,IAAI,CAAC,MAAM,KAAK,SAAS,IAAI,IAAI,CAAC,MAAM,KAAK,EAAE;AACxD,CAAC;;;;;;;;;;;;;;;;;;;;;;","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/title/title.css?tag=qds-title&encapsulation=shadow","src/components/title/title.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: block;\n}\n\n.qds-titles {\n display: grid;\n grid-template-areas: 'title';\n\n &.qds-has-kicker {\n grid-template-areas:\n 'kicker'\n 'title';\n }\n\n &.qds-has-subtitle {\n grid-template-areas:\n 'title'\n 'subtitle';\n }\n\n &.qds-has-kicker.qds-has-subtitle {\n grid-template-areas:\n 'kicker'\n 'title'\n 'subtitle';\n }\n}\n\n.qds-has-icon {\n grid-template-columns: auto 1fr;\n grid-template-areas: 'icon title';\n\n &.qds-has-kicker {\n grid-template-areas:\n '. kicker'\n 'icon title';\n }\n\n &.qds-has-subtitle {\n grid-template-areas:\n 'icon title'\n '. subtitle';\n }\n\n &.qds-has-kicker.qds-has-subtitle {\n grid-template-areas:\n '. kicker'\n 'icon title'\n '. subtitle';\n }\n}\n\n.qds-titles,\n.qds-title {\n hyphens: inherit;\n}\n\n.qds-subtitle,\n.qds-kicker {\n hyphens: initial;\n}\n\n.qds-title,\n.qds-subtitle,\n.qds-kicker {\n margin-block: 0;\n}\n\n.qds-title {\n grid-area: title;\n color: var(--qds-theme-title);\n}\n\n.qds-subtitle {\n grid-area: subtitle;\n color: var(--qds-theme-subtitle);\n}\n\n.qds-kicker {\n grid-area: kicker;\n color: var(--qds-theme-kicker);\n}\n\n.qds-icon {\n grid-area: icon;\n align-content: center;\n color: var(--qds-theme-text-standard);\n}\n\n.qds-main {\n &.qds-section {\n &.qds-titles {\n gap: var(--qds-main-section-titles-gap);\n }\n\n &.qds-has-icon {\n gap: var(--qds-main-section-titles-gap)\n var(--qds-main-section-titles-icon-gap);\n }\n\n & .qds-title {\n font: var(--qds-main-section-title);\n }\n\n & .qds-subtitle {\n font: var(--qds-main-section-subtitle);\n }\n\n & .qds-kicker {\n font: var(--qds-main-section-kicker);\n }\n\n & .qds-icon {\n width: var(--qds-main-section-titles-icon-size);\n height: var(--qds-main-section-titles-icon-crop-height);\n }\n }\n\n &.qds-subsection {\n &.qds-titles {\n gap: var(--qds-main-subsection-titles-gap);\n }\n\n &.qds-has-icon {\n gap: var(--qds-main-subsection-titles-gap)\n var(--qds-main-subsection-titles-icon-gap);\n }\n\n & .qds-title {\n font: var(--qds-main-subsection-title);\n }\n\n & .qds-subtitle {\n font: var(--qds-main-subsection-subtitle);\n }\n\n & .qds-kicker {\n font: var(--qds-main-subsection-kicker);\n }\n\n & .qds-icon {\n width: var(--qds-main-subsection-titles-icon-size);\n height: var(--qds-main-subsection-titles-icon-crop-height);\n }\n }\n}\n\n.qds-panel {\n &.qds-root {\n &.qds-titles {\n gap: var(--qds-panel-titles-gap);\n }\n\n &.qds-has-icon {\n gap: var(--qds-panel-titles-gap) var(--qds-panel-titles-icon-gap);\n }\n\n & .qds-title {\n font: var(--qds-panel-title);\n }\n\n & .qds-subtitle {\n font: var(--qds-panel-subtitle);\n }\n\n & .qds-kicker {\n font: var(--qds-panel-kicker);\n }\n\n & .qds-icon {\n width: var(--qds-panel-titles-icon-size);\n height: var(--qds-panel-titles-icon-crop-height);\n }\n }\n\n &.qds-section {\n &.qds-titles {\n gap: var(--qds-panel-section-titles-gap);\n }\n\n &.qds-has-icon {\n gap: var(--qds-panel-section-titles-gap)\n var(--qds-panel-section-titles-icon-gap);\n }\n\n & .qds-title {\n font: var(--qds-panel-section-title);\n }\n\n & .qds-subtitle {\n font: var(--qds-panel-section-subtitle);\n }\n\n & .qds-kicker {\n font: var(--qds-panel-section-kicker);\n }\n\n & .qds-icon {\n width: var(--qds-panel-section-titles-icon-size);\n height: var(--qds-panel-section-titles-icon-crop-height);\n }\n }\n\n &.qds-subsection {\n &.qds-titles {\n gap: var(--qds-panel-subsection-titles-gap);\n }\n\n &.qds-has-icon {\n gap: var(--qds-panel-subsection-titles-gap)\n var(--qds-panel-subsection-titles-icon-gap);\n }\n\n & .qds-title {\n font: var(--qds-panel-subsection-title);\n }\n\n & .qds-subtitle {\n font: var(--qds-panel-subsection-subtitle);\n }\n\n & .qds-kicker {\n font: var(--qds-panel-subsection-kicker);\n }\n\n & .qds-icon {\n width: var(--qds-panel-subsection-titles-icon-size);\n height: var(--qds-panel-subsection-titles-icon-crop-height);\n }\n }\n}\n\n.qds-navigation {\n &.qds-section {\n &.qds-titles {\n gap: var(--qds-navigation-section-titles-gap);\n }\n\n &.qds-has-icon {\n gap: var(--qds-navigation-section-titles-gap)\n var(--qds-navigation-section-titles-icon-gap);\n }\n\n & .qds-title {\n font: var(--qds-navigation-section-title);\n }\n\n & .qds-subtitle {\n font: var(--qds-navigation-section-subtitle);\n }\n\n & .qds-kicker {\n font: var(--qds-navigation-section-kicker);\n }\n\n & .qds-icon {\n width: var(--qds-navigation-section-titles-icon-size);\n height: var(--qds-navigation-section-titles-icon-crop-height);\n }\n }\n\n &.qds-subsection {\n &.qds-titles {\n gap: var(--qds-navigation-subsection-titles-gap);\n }\n\n &.qds-has-icon {\n gap: var(--qds-navigation-subsection-titles-gap)\n var(--qds-navigation-subsection-titles-icon-gap);\n }\n\n & .qds-title {\n font: var(--qds-navigation-subsection-title);\n }\n\n & .qds-subtitle {\n font: var(--qds-navigation-subsection-subtitle);\n }\n\n & .qds-kicker {\n font: var(--qds-navigation-subsection-kicker);\n }\n\n & .qds-icon {\n width: var(--qds-navigation-subsection-titles-icon-size);\n height: var(--qds-navigation-subsection-titles-icon-crop-height);\n }\n }\n}\n\n.qds-popup {\n &.qds-root {\n &.qds-titles {\n gap: var(--qds-popup-titles-gap);\n }\n\n &.qds-has-icon {\n gap: var(--qds-popup-titles-gap) var(--qds-popup-titles-icon-gap);\n }\n\n & .qds-title {\n font: var(--qds-popup-title);\n }\n\n & .qds-subtitle {\n font: var(--qds-popup-subtitle);\n }\n\n & .qds-kicker {\n font: var(--qds-popup-kicker);\n }\n\n & .qds-icon {\n width: var(--qds-popup-titles-icon-size);\n height: var(--qds-popup-titles-icon-crop-height);\n }\n }\n\n &.qds-section {\n &.qds-titles {\n gap: var(--qds-popup-section-titles-gap);\n }\n\n &.qds-has-icon {\n gap: var(--qds-popup-section-titles-gap)\n var(--qds-popup-section-titles-icon-gap);\n }\n\n & .qds-title {\n font: var(--qds-popup-section-title);\n }\n\n & .qds-subtitle {\n font: var(--qds-popup-section-subtitle);\n }\n\n & .qds-kicker {\n font: var(--qds-popup-section-kicker);\n }\n\n & .qds-icon {\n width: var(--qds-popup-section-titles-icon-size);\n height: var(--qds-popup-section-titles-icon-crop-height);\n }\n }\n\n &.qds-subsection {\n &.qds-titles {\n gap: var(--qds-popup-subsection-titles-gap);\n }\n\n &.qds-has-icon {\n gap: var(--qds-popup-subsection-titles-gap)\n var(--qds-popup-subsection-titles-icon-gap);\n }\n\n & .qds-title {\n font: var(--qds-popup-subsection-title);\n }\n\n & .qds-subtitle {\n font: var(--qds-popup-subsection-subtitle);\n }\n\n & .qds-kicker {\n font: var(--qds-popup-subsection-kicker);\n }\n\n & .qds-icon {\n width: var(--qds-popup-subsection-titles-icon-size);\n height: var(--qds-popup-subsection-titles-icon-crop-height);\n }\n }\n}\n\n.qds-accessory {\n &.qds-root {\n &.qds-titles {\n gap: var(--qds-accessory-titles-gap);\n }\n\n &.qds-has-icon {\n gap: var(--qds-accessory-titles-gap) var(--qds-accessory-titles-icon-gap);\n }\n\n & .qds-title {\n font: var(--qds-accessory-title);\n }\n\n & .qds-subtitle {\n font: var(--qds-accessory-subtitle);\n }\n\n & .qds-kicker {\n font: var(--qds-accessory-kicker);\n }\n\n & .qds-icon {\n width: var(--qds-accessory-titles-icon-size);\n height: var(--qds-accessory-titles-icon-crop-height);\n }\n }\n\n &.qds-section {\n &.qds-titles {\n gap: var(--qds-accessory-section-titles-gap);\n }\n\n &.qds-has-icon {\n gap: var(--qds-accessory-section-titles-gap)\n var(--qds-accessory-section-titles-icon-gap);\n }\n\n & .qds-title {\n font: var(--qds-accessory-section-title);\n }\n\n & .qds-subtitle {\n font: var(--qds-accessory-section-subtitle);\n }\n\n & .qds-kicker {\n font: var(--qds-accessory-section-kicker);\n }\n\n & .qds-icon {\n width: var(--qds-accessory-section-titles-icon-size);\n height: var(--qds-accessory-section-titles-icon-crop-height);\n }\n }\n}\n\n[data-variant='web-main-section-promo'] {\n &:is(.qds-root, .qds-section, .qds-subsection) {\n &.qds-titles {\n gap: var(--qds-main-section-promo-titles-gap);\n margin: auto;\n }\n\n & .qds-title {\n font: var(--qds-main-section-promo-title);\n }\n\n & .qds-subtitle {\n font: var(--qds-main-section-promo-subtitle);\n }\n\n & .qds-kicker {\n font: var(--qds-main-section-promo-kicker);\n }\n\n &.qds-has-icon {\n gap: var(--qds-main-section-promo-titles-gap)\n var(--qds-main-section-promo-titles-icon-gap);\n }\n\n & .qds-icon {\n width: var(--qds-main-section-promo-titles-icon-size);\n height: var(--qds-main-section-promo-titles-icon-crop-height);\n }\n }\n}\n\n[data-alignment='start'] {\n text-align: start;\n}\n\n[data-alignment='center'] {\n text-align: center;\n}\n\n[data-alignment='end'] {\n text-align: end;\n}\n\n[data-variant='web-main-section-display'] {\n &:is(.qds-root, .qds-section, .qds-subsection) {\n &.qds-titles {\n gap: var(--qds-main-section-display-titles-gap);\n }\n\n & .qds-title {\n font: var(--qds-main-section-display-title);\n }\n }\n}\n\n[data-variant='web-main-subsection-card'] {\n &:is(.qds-root, .qds-section, .qds-subsection) {\n &.qds-titles {\n gap: var(--qds-main-subsection-card-titles-gap);\n }\n\n & .qds-title {\n font: var(--qds-main-subsection-card-standard-title);\n }\n }\n}\n\n[data-variant='web-main-section-hero'] {\n &:is(.qds-root, .qds-section, .qds-subsection) {\n &.qds-titles {\n gap: var(--qds-main-section-hero-titles-gap);\n }\n\n & .qds-title {\n font: var(--qds-main-section-hero-title);\n }\n }\n}\n","// SPDX-FileCopyrightText: © 2024 Schneider Electric\n//\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { ComponentInterface } from '@stencil/core'\nimport { AttachInternals, Component, h, Prop } from '@stencil/core'\n\nexport type Layer = 'accessory' | 'main' | 'navigation' | 'panel' | 'popup'\nexport type Level = 'root' | 'section' | 'subsection'\nexport type Tag = 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6'\nexport type TitleVariant =\n | 'web-main-section-display'\n | 'web-main-section-hero'\n | 'web-main-section-promo'\n | 'web-main-subsection-card'\n\nexport type Alignment = 'center' | 'end' | 'start'\n\n/**\n * @slot Content to display for the title.\n * @see https://quartz.se.com/build/components/title\n */\n@Component({\n tag: 'qds-title',\n shadow: true,\n styleUrl: 'title.css',\n})\nexport class Title implements ComponentInterface {\n /**\n * The alignment of the title.\n */\n @Prop() public readonly alignment?: Alignment = 'start'\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 * Text to display for the kicker.\n */\n @Prop() public readonly kicker?: string\n\n @Prop() public readonly layer?: Layer = 'main'\n\n @Prop() public readonly level?: Level = 'section'\n\n /**\n * Text to display for the subtitle.\n */\n @Prop() public readonly subtitle?: string\n\n /**\n * HTML tag to use to render the title.\n */\n @Prop() public readonly tag?: Tag = 'h2'\n\n /**\n * The title's variant.\n */\n @Prop() public readonly variant?: TitleVariant\n\n @AttachInternals() private readonly internals!: ElementInternals\n\n get #hasSubtitle(): boolean {\n return this.subtitle !== undefined && this.subtitle !== ''\n }\n\n get #hasKicker(): boolean {\n return this.kicker !== undefined && this.kicker !== ''\n }\n\n public componentWillLoad(): void {\n this.internals.role = 'group'\n }\n\n public render() {\n const layer = `qds-${this.layer ?? 'main'}`\n const level = `qds-${this.level ?? 'section'}`\n const Tag = this.tag ?? 'h2'\n const hasIcon = this.iconName !== undefined && this.iconName !== ''\n\n return (\n <hgroup\n data-alignment={this.alignment ?? 'start'}\n data-variant={this.variant}\n class={{\n [layer]: true,\n [level]: true,\n 'qds-titles': true,\n 'qds-has-icon': hasIcon,\n 'qds-has-kicker': this.#hasKicker,\n 'qds-has-subtitle': this.#hasSubtitle,\n }}\n role=\"none\"\n >\n <Tag class=\"qds-title\" data-variant={this.variant}>\n <slot />\n </Tag>\n {this.#hasKicker && <p class=\"qds-kicker\">{this.kicker}</p>}\n {this.#hasSubtitle && <p class=\"qds-subtitle\">{this.subtitle}</p>}\n {hasIcon && (\n <qds-icon\n class=\"qds-icon\"\n name={this.iconName}\n library={this.iconLibrary}\n />\n )}\n </hgroup>\n )\n }\n}\n"],"version":3}
@@ -1 +0,0 @@
1
- {"file":"p-DRcxeXWE.js","mappings":"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","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/checkbox/checkbox.css?tag=qds-checkbox&encapsulation=shadow","src/components/checkbox/checkbox.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.qds-checkbox,\n.qds-icon {\n grid-area: checkbox;\n place-self: center;\n}\n\n.qds-icon {\n display: none;\n pointer-events: none;\n color: var(--qds-theme-signature-color-contrast);\n}\n\n.qds-container {\n display: grid;\n grid-template-areas: 'checkbox';\n}\n\n.qds-label {\n cursor: pointer;\n display: inline-flex;\n width: inherit;\n border-radius: var(--qds-control-border-radius);\n align-items: flex-start;\n box-sizing: border-box;\n justify-content: center;\n background-color: var(--qds-theme-interactive-background-default);\n\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 &:has(.qds-checkbox: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 }\n}\n\n.qds-label-inner {\n color: var(--qds-theme-control-text-standard);\n display: -webkit-box;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: 2;\n overflow: hidden;\n width: 100%;\n}\n\n.qds-required {\n color: var(--qds-theme-feedback-field-required);\n user-select: none;\n}\n\n.qds-tooltip {\n line-height: initial;\n}\n\n.qds-checkbox {\n appearance: none;\n background-color: var(--qds-theme-interactive-background-default);\n border: var(--qds-control-border-width) solid var(--qds-theme-control-border);\n cursor: pointer;\n margin: 0;\n print-color-adjust: exact;\n\n &:focus-visible {\n outline: none;\n }\n\n &:checked ~ .qds-checked,\n &:indeterminate ~ .qds-indeterminate {\n display: block;\n }\n\n &:checked,\n &:indeterminate {\n background-color: var(--qds-theme-control-background-contrast);\n border-color: transparent;\n }\n}\n\n[aria-disabled='true'] {\n opacity: var(--qds-theme-disabled);\n pointer-events: none;\n}\n\n[data-size='small'] {\n &.qds-checkbox {\n width: var(--qds-control-toggle-small-box-size);\n height: var(--qds-control-toggle-small-box-size);\n border-radius: var(--qds-control-toggle-small-knob-border-radius);\n }\n\n &.qds-icon {\n font-size: var(--qds-control-toggle-small-box-size);\n }\n\n &.qds-label {\n gap: var(--qds-control-small-gap-siblings-related);\n min-height: var(--qds-control-toggle-small-height);\n padding-block: var(--qds-control-no-inline-small-padding-vertical);\n min-width: var(--qds-control-toggle-small-width);\n }\n\n &.qds-label-inner {\n font: var(--qds-control-small-text);\n }\n\n &.qds-inline {\n min-height: var(--qds-control-small-height);\n padding: var(--qds-control-small-padding-auto-height)\n var(--qds-control-toggle-small-padding-horizontal);\n }\n}\n\n[data-size='standard'] {\n &.qds-checkbox {\n width: var(--qds-control-toggle-standard-box-size);\n height: var(--qds-control-toggle-standard-box-size);\n border-radius: var(--qds-control-toggle-standard-knob-border-radius);\n }\n\n &.qds-icon {\n font-size: var(--qds-control-toggle-standard-box-size);\n }\n\n &.qds-label {\n gap: var(--qds-control-standard-gap-siblings-related);\n min-height: var(--qds-control-toggle-standard-height);\n padding-block: var(--qds-control-no-inline-standard-padding-vertical);\n min-width: var(--qds-control-toggle-standard-width);\n }\n\n &.qds-label-inner {\n font: var(--qds-control-standard-text);\n }\n\n &.qds-inline {\n min-height: var(--qds-control-standard-height);\n padding: var(--qds-control-standard-padding-auto-height)\n var(--qds-control-toggle-standard-padding-horizontal);\n }\n}\n\n[data-size='large'] {\n &.qds-checkbox {\n width: var(--qds-control-toggle-large-box-size);\n height: var(--qds-control-toggle-large-box-size);\n border-radius: var(--qds-control-toggle-large-knob-border-radius);\n }\n\n &.qds-icon {\n font-size: var(--qds-control-toggle-large-box-size);\n }\n\n &.qds-label {\n gap: var(--qds-control-large-gap-siblings-related);\n min-height: var(--qds-control-toggle-large-height);\n padding-block: var(--qds-control-no-inline-large-padding-vertical);\n min-width: var(--qds-control-toggle-large-width);\n }\n\n &.qds-label-inner {\n font: var(--qds-control-large-text);\n }\n\n &.qds-inline {\n min-height: var(--qds-control-large-height);\n padding: var(--qds-control-large-padding-auto-height)\n var(--qds-control-toggle-large-padding-horizontal);\n }\n}\n","// SPDX-FileCopyrightText: © 2024 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 Listen,\n Prop,\n readTask,\n State,\n Watch,\n} from '@stencil/core'\n\nimport type { Attributes, QdsFocusEventDetail } from '../../helpers'\nimport {\n ignorePromise,\n inheritAriaAttributes,\n isEllipsisActive,\n pickFocusEventAttributes,\n} from '../../helpers'\nimport { CUSTOM_ERROR_FLAGS, NO_ERROR_FLAGS, VALID_STATE } from '../controls'\nimport type { Size } from '../shared'\n\nexport type CheckboxValue = number | string | null\n\n/**\n * `<qds-checkbox>` elements are rendered as boxes that are checked (ticked)\n * when activated, like you might see in an official government paper form. A\n * checkbox allows you to select single values for submission in a form (or not).\n *\n * @see https://quartz.se.com/build/components/checkbox\n */\n@Component({\n tag: 'qds-checkbox',\n formAssociated: true,\n shadow: { delegatesFocus: true },\n styleUrl: 'checkbox.css',\n})\nexport class Checkbox implements ComponentInterface {\n /**\n * Adds vertical margin to the checkbox for alignment.\n *\n * This is useful when creating inline layouts so that the first lines have\n * the correct vertical centering.\n */\n @Prop() public readonly inline: boolean = false\n\n /**\n * The checkbox's size.\n */\n @Prop() public readonly size?: Size = 'standard'\n\n /**\n * The checkbox's text.\n *\n * Its value will also be used as the `aria-label` value when the\n * `checkbox-only` attribute is specified.\n */\n @Prop() public readonly text!: string\n\n /**\n * Sets the checkbox's state.\n *\n * @webnative\n */\n @Prop({ mutable: true }) public checked?: boolean\n\n /**\n * Prevents the checkbox from being interacted with: it cannot be pressed or\n * focused.\n *\n * @webnative\n */\n @Prop() public readonly disabled?: boolean\n\n /**\n * The [`<form>`][] element to associate the checkbox with (its form owner).\n *\n * The value of this attribute must be the id of a `<form>` in the same\n * document. If this attribute is not set, the `<qds-checkbox>` is associated\n * with its ancestor `<form>` element, if any.\n *\n * This attribute lets you associate `<qds-checkbox>` elements to `<form>`s\n * anywhere in the document, not just inside a `<form>`. It can also override\n * an ancestor `<form>` element.\n *\n * [`<form>`]: https://developer.mozilla.org/docs/Web/HTML/Element/form\n *\n * @readonly\n * @webnative\n */\n // eslint-disable-next-line unicorn/no-null\n @Prop() public readonly form: ElementInternals['form'] | string = null\n\n /**\n * Sets the checkbox to an indeterminate state. This is usually applied to\n * checkboxes that represent a \"select all/none\" behavior when associated\n * checkboxes have a mix of checked and unchecked states.\n *\n * @webnative\n */\n @Prop({ mutable: true }) public indeterminate?: boolean\n\n /**\n * The name of the checkbox, which is submitted with the form data.\n *\n * @webnative\n */\n @Prop() public readonly name?: string\n\n /**\n * A value must be specified for the checkbox before the owning form can be\n * submitted.\n *\n * See\n * [Client-side validation](https://developer.mozilla.org/docs/Web/HTML/Element/input#client-side_validation)\n * and the\n * [HTML attribute: `required`](https://developer.mozilla.org/docs/Web/HTML/Attributes/required)\n * for more information.\n *\n * @webnative\n */\n @Prop() public readonly required?: boolean\n\n /**\n * The error message that would be shown to the user if the `<qds-checkbox>`\n * was to be checked for validity.\n *\n * @readonly\n * @webnative\n */\n @Prop()\n public readonly validationMessage: ElementInternals['validationMessage'] = ''\n\n /**\n * The [`ValidityState`][] object for this `<qds-checkbox>`.\n *\n * [`ValidityState`]: https://developer.mozilla.org/docs/Web/API/ValidityState\n *\n * @readonly\n * @webnative\n */\n @Prop() public readonly validity: ElementInternals['validity'] = VALID_STATE\n\n /**\n * The value of the checkbox, submitted as a name/value pair with form data.\n *\n * @webnative\n */\n @Prop() public readonly value?: CheckboxValue = 'on'\n\n /**\n * True if `<qds-checkbox>` will be validated when the form is submitted;\n * false otherwise.\n *\n * @readonly\n * @webnative\n */\n @Prop() public readonly willValidate: ElementInternals['willValidate'] = false\n\n /**\n * Whether or not the text is displayed.\n */\n @Prop() public readonly checkboxOnly: boolean = false\n\n @AttachInternals() private readonly internals!: ElementInternals\n\n /**\n * Emitted when the checkbox loses focus.\n */\n @Event({ eventName: 'qdsBlur', bubbles: false, cancelable: false })\n private readonly blurEmitter!: EventEmitter<QdsFocusEventDetail>\n\n /**\n * Emitted when a change to the checkbox's state is committed by the user.\n */\n @Event({ eventName: 'qdsChange', cancelable: false })\n private readonly changeEmitter!: EventEmitter<void>\n\n /**\n * Emitted when the checkbox 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 tooltip = false\n\n #inheritedAttributes: Attributes = {}\n\n #ro?: ResizeObserver\n\n #span?: HTMLSpanElement\n\n #tooltip?: HTMLQdsTooltipElement\n\n get #computedChecked(): boolean {\n return this.checked ?? false\n }\n\n get #computedDisabled(): boolean {\n return (\n (this.host.matches(':disabled') || (this.disabled ?? false)) &&\n this.host.getAttribute('disabled') !== 'false'\n )\n }\n\n get #computedIndeterminate(): boolean {\n return this.indeterminate ?? false\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 #computedValue(): string | null {\n // eslint-disable-next-line unicorn/no-null\n return this.value == null ? null : this.value.toString()\n }\n\n get #hasText(): boolean {\n return (this.text !== '' || this.required === true) && !this.checkboxOnly\n }\n\n @Listen('click')\n protected onClick(event: MouseEvent): void {\n if (this.#computedDisabled) {\n event.stopImmediatePropagation()\n return\n }\n\n event.preventDefault()\n\n this.checked = this.#computedIndeterminate ? true : !this.#computedChecked\n this.changeEmitter.emit()\n this.indeterminate = false\n }\n\n @Watch('checked')\n protected checkedChanged(): void {\n this.internals.setFormValue(\n this.#computedChecked && !this.#computedDisabled\n ? this.#computedValue\n : // eslint-disable-next-line unicorn/no-null\n null,\n )\n }\n\n @Watch('disabled')\n protected disabledChanged(): void {\n if (this.#computedChecked && !this.#computedDisabled)\n this.internals.setFormValue(this.#computedValue)\n // eslint-disable-next-line unicorn/no-null\n else this.internals.setFormValue(null)\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('text')\n protected textChanged(): void {\n if (this.#ro) this.#ro.disconnect()\n\n if (!this.#span) return\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 @Watch('value')\n protected valueChanged(): void {\n if (this.#computedChecked && !this.#computedDisabled)\n this.internals.setFormValue(this.#computedValue)\n }\n\n public componentWillLoad(): void {\n this.valueChanged()\n\n this.#defineGetter('form', () => this.internals.form)\n this.#defineGetter('willValidate', () => this.internals.willValidate)\n this.#defineGetter('validity', () => this.internals.validity)\n this.#defineGetter(\n 'validationMessage',\n () => this.internals.validationMessage,\n )\n\n this.#inheritedAttributes = inheritAriaAttributes(this.host)\n this.tabindexChanged(this.host.getAttribute('tabindex') ?? '0')\n }\n\n public componentDidLoad(): void {\n this.textChanged()\n }\n\n public disconnectedCallback(): void {\n if (this.#ro) this.#ro.disconnect()\n }\n\n public render() {\n return (\n // eslint-disable-next-line jsx-a11y/label-has-associated-control\n <label\n aria-disabled={this.#computedDisabled ? 'true' : undefined}\n class={{\n 'qds-inline': this.inline,\n 'qds-label': true,\n }}\n data-size={this.#computedSize}\n >\n <div class=\"qds-container\">\n <input\n // eslint-disable-next-line jsx-a11y/no-autofocus\n autoFocus={this.host.autofocus}\n checked={this.#computedIndeterminate ? false : this.checked}\n class=\"qds-checkbox\"\n data-size={this.#computedSize}\n disabled={this.#computedDisabled}\n indeterminate={this.indeterminate}\n onBlur={this.#onBlur}\n onFocus={this.#onFocus}\n required={this.required}\n tabIndex={this.#computedDisabled ? undefined : this.tabIndex}\n type=\"checkbox\"\n aria-label={this.checkboxOnly ? this.text : undefined}\n // eslint-disable-next-line react/jsx-props-no-spreading\n {...this.#inheritedAttributes}\n />\n <qds-icon\n class={{\n 'qds-icon': true,\n 'qds-checked': true,\n }}\n data-size={this.#computedSize}\n library=\"core\"\n name=\"checked\"\n />\n <qds-icon\n class={{\n 'qds-icon': true,\n 'qds-indeterminate': true,\n }}\n data-size={this.#computedSize}\n library=\"core\"\n name=\"indeterminate\"\n />\n </div>\n {this.#hasText && (\n <span\n class=\"qds-label-inner\"\n data-size={this.#computedSize}\n ref={this.#spanRef}\n >\n {this.required === true && <span class=\"qds-required\">*</span>}\n {this.text}\n </span>\n )}\n {this.tooltip && (\n <qds-tooltip\n aria-hidden=\"true\"\n class=\"qds-tooltip\"\n ref={this.#tooltipRef}\n >\n {this.text}\n </qds-tooltip>\n )}\n </label>\n )\n }\n\n public checkValidity: ElementInternals['checkValidity'] = () =>\n this.internals.checkValidity()\n\n public reportValidity: ElementInternals['reportValidity'] = () =>\n this.internals.reportValidity()\n\n public setCustomValidity: HTMLInputElement['setCustomValidity'] = (error) => {\n if (error) this.internals.setValidity(CUSTOM_ERROR_FLAGS, error, this.host)\n else this.internals.setValidity(NO_ERROR_FLAGS)\n }\n\n readonly #onBlur = (event: FocusEvent): void => {\n this.blurEmitter.emit(pickFocusEventAttributes(event))\n if (this.#tooltip) ignorePromise(this.#tooltip.close())\n }\n\n readonly #onFocus = (event: FocusEvent): void => {\n this.focusEmitter.emit(pickFocusEventAttributes(event))\n if (this.#tooltip) ignorePromise(this.#tooltip.show())\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.host\n this.#tooltip = tooltip\n }\n }\n\n #defineGetter(p: PropertyKey, get: () => unknown): void {\n Object.defineProperty(this.host, p, { enumerable: true, get })\n }\n}\n"],"version":3}
@@ -1 +0,0 @@
1
- {"file":"p-DgYrfIr_.js","mappings":"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","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/mini-button/mini-button.css?tag=qds-mini-button&encapsulation=shadow","src/components/mini-button/mini-button.tsx"],"sourcesContent":["/*\n * SPDX-FileCopyrightText: © 2025 Schneider Electric\n *\n * SPDX-License-Identifier: Apache-2.0\n */\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}\n\n.qds-mini-button {\n display: flex;\n width: var(--qds-control-mini-button-standard-size);\n min-height: var(--qds-control-mini-button-standard-size);\n align-items: center;\n border-radius: var(--qds-control-rounded-border-radius);\n border: none;\n justify-content: center;\n color: var(--qds-theme-control-text-standard);\n background-color: transparent;\n padding: 0;\n cursor: pointer;\n\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 &:focus-visible {\n outline: none;\n }\n}\n\n.qds-mini-button:disabled {\n opacity: var(--qds-theme-disabled);\n pointer-events: none;\n}\n\n.qds-icon {\n font-size: var(--qds-control-standard-icon-size);\n align-content: center;\n line-height: normal;\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 Listen,\n Prop,\n Watch,\n} from '@stencil/core'\nimport type { LiteralUnion } from 'type-fest'\n\nimport type { QdsFocusEventDetail } from '../../helpers'\nimport { pickFocusEventAttributes } from '../../helpers'\nimport type { Target } from '../shared'\n\nconst preventDefault = (event: KeyboardEvent | MouseEvent): void => {\n event.preventDefault()\n}\n\n/**\n * @experimental\n */\n@Component({\n tag: 'qds-mini-button',\n formAssociated: true,\n styleUrl: 'mini-button.css',\n shadow: true,\n})\nexport class MiniButton implements ComponentInterface {\n /**\n * Prevents the mini button from being interacted with: it cannot be pressed or\n * focused.\n *\n * @webnative\n */\n @Prop()\n public readonly disabled?: boolean\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 name!: string\n\n /**\n * The name of a registered icon library.\n */\n @Prop() public readonly library: string = 'default'\n\n /**\n * Where to display the linked URL, as the name for a browsing context (a\n * tab, window, or\n * [`<iframe>`](https://developer.mozilla.org/docs/Web/HTML/Element/iframe).\n * The following keywords have special meanings for where to load the URL:\n *\n * - `_blank`: usually a new tab, but users can configure browsers to open a new\n * window instead.\n * - `_parent`: the parent browsing context of the current one. If no parent,\n * behaves as `_self`.\n * - `_self`: the current browsing context.\n * - `_top`: the topmost browsing context (the \"highest\" context that's an\n * ancestor of the current one). If no ancestors, behaves as `_self`.\n *\n * @webnative\n */\n @Prop() public readonly target?: LiteralUnion<Target, string>\n\n /**\n * When set, the underlying button will be rendered as an `<a>` with this\n * `href` instead of a `<button>`.\n *\n * @webnative\n */\n @Prop() public readonly href?: string\n\n /**\n * When href is define and the button act as a link (`<a>`), the `rel` will be added to the element.\n *\n * @webnative\n */\n @Prop() public readonly rel?: string = 'noopener'\n\n /**\n * The mini button's accessible name.\n */\n @Prop() public readonly text!: string\n\n /**\n * Emitted when the button loses focus.\n */\n @Event({ eventName: 'qdsBlur', bubbles: false, cancelable: false })\n private readonly blurEmitter!: EventEmitter<QdsFocusEventDetail>\n\n /**\n * Emitted when the button 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 @AttachInternals() private readonly internals!: ElementInternals\n\n #savedTabIndex = 0\n\n get #computedDisabled(): boolean {\n return (\n this.host.matches(':disabled') ||\n (this.host.hasAttribute('disabled') &&\n this.host.getAttribute('disabled') !== 'false')\n )\n }\n\n @Watch('disabled')\n protected disabledChanged(): void {\n this.internals.ariaDisabled = this.#computedDisabled.toString()\n if (this.#computedDisabled) this.host.removeAttribute('tabindex')\n else this.host.tabIndex = this.#savedTabIndex\n }\n\n @Watch('href')\n protected hrefChanged(): void {\n this.internals.role = this.href === undefined ? 'button' : 'link'\n }\n\n @Watch('tabindex')\n protected tabindexChanged(newValue: string | null): void {\n if (newValue !== null) {\n const parsedValue = Number.parseInt(newValue, 10)\n this.#savedTabIndex =\n Number.isNaN(parsedValue) || !Number.isFinite(parsedValue)\n ? 0\n : parsedValue\n }\n if (this.#computedDisabled) this.host.removeAttribute('tabindex')\n else this.host.tabIndex = this.#savedTabIndex\n }\n\n @Watch('text')\n protected textChanged(): void {\n this.internals.ariaLabel = this.text\n }\n\n @Listen('click')\n protected onClick(event: MouseEvent): void {\n if (this.#computedDisabled) {\n event.stopImmediatePropagation()\n }\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('keydown')\n protected onKeydown(event: KeyboardEvent): void {\n if (event.key === 'Enter') this.host.click()\n }\n\n @Listen('keyup')\n protected onKeyup(event: KeyboardEvent): void {\n if (event.key === ' ') this.host.click()\n }\n\n public componentWillLoad(): void {\n this.hrefChanged()\n this.textChanged()\n this.tabindexChanged(this.host.getAttribute('tabindex') ?? '0')\n this.disabledChanged()\n }\n\n public render() {\n const Tag = this.href === undefined ? 'button' : 'a'\n\n return (\n <Tag\n type={Tag === 'a' ? undefined : 'button'}\n class=\"qds-mini-button\"\n href={Tag === 'a' ? this.href : undefined}\n rel={Tag === 'a' ? this.rel : undefined}\n disabled={this.#computedDisabled}\n aria-hidden=\"true\"\n onKeyDown={preventDefault}\n onKeyUp={preventDefault}\n onKeyPress={preventDefault}\n tabIndex={-1}\n >\n <qds-icon class=\"qds-icon\" library={this.library} name={this.name} />\n </Tag>\n )\n }\n}\n"],"version":3}
@@ -1 +0,0 @@
1
- {"file":"p-io1iVgY1.js","mappings":"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","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/avatar-media/avatar-media.css?tag=qds-avatar-media&encapsulation=shadow","src/components/avatar-media/avatar-media.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.qds-container {\n display: flex;\n justify-content: center;\n align-self: stretch;\n border-radius: var(--qds-display-rounded-border-radius);\n border: var(--qds-display-border-width) solid\n var(--qds-theme-display-background-contrast);\n background: var(--qds-theme-display-background);\n width: inherit;\n height: inherit;\n align-items: center;\n}\n\n.qds-picture {\n height: 100%;\n width: 100%;\n object-fit: cover;\n border-radius: inherit;\n flex-shrink: 0;\n}\n\n.qds-icon,\n.qds-text {\n color: var(--qds-theme-display-background-contrast);\n}\n\n.qds-icon {\n width: 60%;\n height: 60%;\n flex-shrink: 0;\n}\n\n.qds-text {\n text-align: center;\n font: var(--qds-display-standard);\n}\n\n.qds-sr-only {\n clip: rect(0 0 0 0);\n height: 1px;\n width: 1px;\n margin: -1px;\n overflow: hidden;\n padding: 0;\n position: absolute;\n white-space: nowrap;\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 Event,\n Fragment,\n h,\n Prop,\n State,\n Watch,\n} from '@stencil/core'\n\n/**\n * @experimental\n */\n@Component({\n tag: 'qds-avatar-media',\n shadow: true,\n styleUrl: 'avatar-media.css',\n})\nexport class AvatarMedia implements ComponentInterface {\n /**\n * The avatar-media's image source.\n * @webnative\n */\n @Prop() public readonly src?: string\n\n /**\n * The alt text for the avatar-media's image.\n * @webnative\n */\n @Prop() public readonly alt?: string\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 avatar-media's text content.\n */\n @Prop() public readonly text?: string\n\n /**\n * Emitted when the avatar-media's image has loaded.\n */\n @Event({ eventName: 'qdsLoad', cancelable: false })\n private readonly loadEmitter!: EventEmitter<void>\n\n /**\n * Emitted when the avatar-media's image fails to load due to an error.\n */\n @Event({ eventName: 'qdsError', cancelable: false })\n private readonly errorEmitter!: EventEmitter<void>\n\n @State() private initials?: string\n\n @State() private hasImageError = false\n\n @AttachInternals() private readonly internals!: ElementInternals\n\n @Watch('text')\n private textChanged(): void {\n if (this.text === undefined || this.text === '') {\n this.initials = undefined\n return\n }\n const words = this.text.trim().split(' ')\n const [first = '', second = ''] = words.filter(Boolean)\n this.initials = (\n first.charAt(0) + (second.charAt(0) || '')\n ).toLocaleUpperCase()\n }\n\n @Watch('alt')\n private labelChanged(): void {\n this.internals.ariaLabel =\n this.alt !== undefined && this.alt !== ''\n ? this.alt\n : // eslint-disable-next-line unicorn/no-null\n null\n }\n\n @Watch('src')\n @Watch('text')\n private roleChanged(): void {\n if (this.src !== undefined && this.src !== '' && !this.hasImageError)\n this.internals.role = 'img'\n else if (this.text !== undefined && this.text !== '')\n this.internals.role = 'generic'\n else this.internals.role = 'presentation'\n }\n\n public componentWillLoad(): Promise<void> | void {\n this.textChanged()\n this.labelChanged()\n this.roleChanged()\n }\n\n public render() {\n return <div class=\"qds-container\">{this.#renderContent()}</div>\n }\n\n readonly #renderContent = (): HTMLElement | undefined => {\n if (this.src !== undefined && this.src !== '' && !this.hasImageError)\n return (\n <img\n aria-hidden=\"true\"\n class=\"qds-picture\"\n src={this.src}\n alt={this.alt}\n onError={this.#handleImageError}\n onLoad={this.#handleImageLoad}\n />\n )\n if (this.text !== undefined && this.text !== '')\n return (\n <>\n <span aria-hidden=\"true\" class=\"qds-text\">\n {this.initials}\n </span>\n <span class=\"qds-sr-only\">{this.text}</span>\n </>\n )\n if (this.iconName !== undefined && this.iconName !== '')\n return (\n <qds-icon\n class=\"qds-icon\"\n name={this.iconName}\n library={this.iconLibrary}\n />\n )\n return <qds-icon class=\"qds-icon\" name=\"user\" library=\"core\" />\n }\n\n readonly #handleImageError = (): void => {\n this.hasImageError = true\n this.roleChanged()\n this.errorEmitter.emit()\n }\n\n readonly #handleImageLoad = (): void => {\n this.hasImageError = false\n this.roleChanged()\n this.loadEmitter.emit()\n }\n}\n"],"version":3}
@@ -1 +0,0 @@
1
- {"file":"p-oqmnh-8P.js","mappings":"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","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/tooltip/tooltip.css?tag=qds-tooltip&encapsulation=shadow","src/components/tooltip/tooltip.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 align-items: flex-start;\n background-color: var(--qds-theme-accessory-background);\n border-radius: var(--qds-accessory-border-radius);\n border: none;\n box-shadow: var(--qds-accessory-elevation);\n box-sizing: border-box;\n color: var(--qds-theme-text-standard);\n display: flex;\n flex-direction: column;\n gap: var(--qds-accessory-gap-children-unrelated);\n inset: unset;\n margin: 0;\n overflow: initial;\n padding: 0;\n}\n\n:host::before {\n content: '';\n position: absolute;\n}\n\n::slotted(blockquote),\n::slotted(button),\n::slotted(dd),\n::slotted(dl),\n::slotted(fieldset),\n::slotted(figure),\n::slotted(h1),\n::slotted(h2),\n::slotted(h3),\n::slotted(h4),\n::slotted(h5),\n::slotted(h6),\n::slotted(hr),\n::slotted(input),\n::slotted(menu),\n::slotted(ol),\n::slotted(p),\n::slotted(pre),\n::slotted(select),\n::slotted(textarea),\n::slotted(ul) {\n margin: 0;\n}\n\n:host([data-side='top'])::before,\n:host([data-side='bottom'])::before {\n width: 100%;\n height: calc(\n var(--qds-accessory-gap-floating, 0px) +\n var(--qds-signature-triangle-pointer-size-height, 0px)\n );\n top: 100%;\n}\n\n:host([data-side='bottom'])::before {\n top: calc(\n -1 *\n (\n var(--qds-accessory-gap-floating, 0px) +\n var(--qds-signature-triangle-pointer-size-height, 0px)\n )\n );\n}\n\n:host([data-side='left'])::before,\n:host([data-side='right'])::before {\n width: calc(\n var(--qds-accessory-gap-floating, 0px) +\n var(--qds-signature-triangle-pointer-size-height, 0px)\n );\n left: 100%;\n}\n\n:host([data-side='right'])::before {\n left: calc(\n -1 *\n (\n var(--qds-accessory-gap-floating, 0px) +\n var(--qds-signature-triangle-pointer-size-height, 0px)\n )\n );\n}\n\n.qds-arrow {\n position: absolute;\n width: var(--qds-signature-triangle-pointer-size-width);\n height: var(--qds-signature-triangle-pointer-size-height);\n\n &::before {\n content: '';\n position: absolute;\n width: 100%;\n height: 100%;\n background-color: var(--qds-theme-accessory-background);\n clip-path: polygon(0% 0%, 100% 0%, 50% 100%);\n }\n\n &::after {\n content: '';\n position: absolute;\n width: 100%;\n height: calc(100% + var(--qds-accessory-border-width));\n background-color: var(--qds-theme-accessory-border);\n clip-path: polygon(0% 10%, 100% 10%, 50% 100%);\n z-index: -1;\n bottom: calc(-1 * var(--qds-accessory-border-width));\n }\n\n &[data-side='bottom'] {\n top: calc(\n -1 *\n (\n var(--qds-signature-triangle-pointer-size-height) -\n var(--qds-accessory-effect-section-position-y)\n )\n );\n transform: rotate(180deg);\n }\n\n &[data-side='left'] {\n right: calc(\n (\n -1 *\n (\n var(--qds-accessory-gap-floating) +\n var(--qds-signature-triangle-pointer-size-height)\n )\n ) +\n var(--qds-accessory-effect-section-position-y)\n );\n transform: rotate(-90deg);\n }\n\n &[data-side='right'] {\n left: calc(\n (\n -1 *\n (\n var(--qds-accessory-gap-floating) +\n var(--qds-signature-triangle-pointer-size-height)\n )\n ) +\n var(--qds-accessory-effect-section-position-y)\n );\n transform: rotate(90deg);\n }\n\n &[data-side='top'] {\n bottom: calc(\n -1 *\n (\n var(--qds-signature-triangle-pointer-size-height) -\n var(--qds-accessory-effect-section-position-y)\n )\n );\n }\n}\n\n.qds-tooltip {\n border: var(--qds-accessory-border-width) solid\n var(--qds-theme-accessory-border);\n border-radius: var(--qds-accessory-border-radius);\n padding: var(--qds-accessory-padding-top) var(--qds-accessory-padding-end)\n var(--qds-accessory-padding-bottom) var(--qds-accessory-padding-start);\n display: inherit;\n flex-direction: inherit;\n flex-wrap: inherit;\n justify-content: inherit;\n align-items: inherit;\n gap: inherit;\n max-width: var(--qds-accessory-max-width);\n}\n","// SPDX-FileCopyrightText: © 2024 Schneider Electric\n//\n// SPDX-License-Identifier: Apache-2.0\n\nimport type {\n AutoUpdateOptions,\n DetectOverflowOptions,\n FlipOptions,\n Middleware,\n Placement,\n ReferenceElement,\n ShiftOptions,\n Strategy,\n} from '@floating-ui/dom'\nimport {\n arrow,\n autoUpdate,\n computePosition,\n flip,\n limitShift,\n offset,\n shift,\n} from '@floating-ui/dom'\nimport type { ComponentInterface, EventEmitter } from '@stencil/core'\nimport {\n AttachInternals,\n Component,\n Element,\n Event,\n h,\n Host,\n Method,\n Prop,\n Watch,\n} from '@stencil/core'\nimport type { Split } from 'type-fest'\n\nimport type { OffsetOptions } from '../../helpers'\nimport {\n ignorePromise,\n invariant,\n isTouchDevice,\n propertyToPx,\n resolveTarget,\n} from '../../helpers'\n\nlet autoIncrementingId = 1\n\nexport type TriggerEvent = Extract<\n keyof GlobalEventHandlersEventMap,\n 'click' | 'focus' | 'focusin' | 'pointerenter'\n>\n\n/**\n * @slot Content to display in the dropdown.\n * @see https://quartz.se.com/build/components/tooltip\n */\n@Component({\n tag: 'qds-tooltip',\n shadow: true,\n styleUrl: 'tooltip.css',\n})\nexport class Tooltip implements ComponentInterface {\n /**\n * Options to pass to Floating UI's\n * [`autoUpdate()` function](https://floating-ui.com/docs/autoUpdate).\n *\n * @see https://floating-ui.com/docs/autoupdate#options\n */\n @Prop() public readonly autoUpdateOptions?: AutoUpdateOptions\n\n /**\n * Prevents the tooltip from being shown by user interaction. The tooltip can\n * still be displayed by calling the `show()` method.\n */\n @Prop() public readonly disabled: boolean = false\n\n /**\n * Options to pass to Floating UI's\n * [`flip` middleware](https://floating-ui.com/docs/flip).\n *\n * The [`crossAxis` option](https://floating-ui.com/docs/flip#crossaxis) is\n * set to the value of the `noShift` property by default for interoperability\n * with the [`shift` middleware](https://floating-ui.com/docs/shift).\n *\n * @see https://floating-ui.com/docs/flip#options\n */\n @Prop() public readonly flipOptions?: Partial<\n DetectOverflowOptions & FlipOptions\n >\n\n /**\n * Disable Floating UI's\n * [`flip` middleware](https://floating-ui.com/docs/flip).\n */\n @Prop() public readonly noFlip: boolean = false\n\n /**\n * Disable Floating UI's\n * [`shift` middleware](https://floating-ui.com/docs/shift).\n */\n @Prop() public readonly noShift: boolean = false\n\n /**\n * Options to pass to Floating UI's\n * [`offset` middleware](https://floating-ui.com/docs/offset).\n *\n * The [`mainAxis` option](https://floating-ui.com/docs/offset#mainaxis) is\n * not supported.\n *\n * @see https://floating-ui.com/docs/offset#options\n */\n @Prop() public readonly offsetOptions?: OffsetOptions\n\n /**\n * Where to place the tooltip relative to the `target`.\n *\n * @see https://floating-ui.com/docs/tutorial#placements\n */\n @Prop() public readonly placement: Placement = 'top'\n\n /**\n * Options to pass to Floating UI's\n * [`shift` middleware](https://floating-ui.com/docs/shift).\n *\n * @see https://floating-ui.com/docs/shift#options\n */\n @Prop() public readonly shiftOptions?: Partial<\n DetectOverflowOptions & ShiftOptions\n >\n\n /**\n * The CSS position strategy to use.\n *\n * @see https://floating-ui.com/docs/computeposition#strategy\n */\n @Prop() public readonly strategy?: Strategy\n\n /**\n * The trigger element that will trigger the tooltip. The target specified\n * can be any of the following:\n *\n * - A CSS selector string\n * - A reference to an [`Element`][] or [Virtual Element][]\n * - A function returning a reference to an [`Element`][],\n * [Virtual Element][], or a CSS selector string\n *\n * [`Element`]: https://developer.mozilla.org/docs/Web/API/Element\n * [Virtual Element]: https://floating-ui.com/docs/virtual-elements\n */\n @Prop() public readonly target?:\n | ReferenceElement\n | string\n | (() => ReferenceElement | string)\n\n /**\n * Determines the events that cause the tooltip to show. Multiple event names\n * are separated by spaces.\n */\n @Prop() public readonly trigger?: TriggerEvent[] | string =\n 'pointerenter focus'\n\n /**\n * Emitted when the tooltip is closed.\n */\n @Event({ eventName: 'qdsClose', bubbles: false, cancelable: false })\n private readonly closeEmitter!: EventEmitter<void>\n\n @Element() private readonly host!: HTMLElement\n\n @AttachInternals() private readonly internals!: ElementInternals\n\n #arrow?: HTMLElement\n\n #arrowPadding = 0\n\n #cleanup?: () => void\n\n #clickedTooltip = false\n\n #isTouchDevice = false\n\n #listeners: {\n element: Element\n event: keyof GlobalEventHandlersEventMap\n listener: EventListenerOrEventListenerObject\n }[] = []\n\n #mainAxisDistance = 0\n\n #middleware?: (Middleware | false)[]\n\n #open = false\n\n /**\n * Ensure that `updateArrow()` is called only once internally as this is\n * expensive.\n */\n #opened = false\n\n #referenceElement?: ReferenceElement\n\n /**\n * Show the tooltip.\n */\n @Method()\n public async show(): Promise<void> {\n if (this.#open) return\n\n if (!this.#opened) {\n await this.updateArrow()\n this.#opened = true\n }\n this.startAutoUpdate()\n this.#open = true\n this.#setAriaExpanded()\n }\n\n /**\n * Close the tooltip.\n */\n @Method()\n public async close(): Promise<void> {\n if (!this.#open) return\n\n this.closeEmitter.emit()\n\n if (this.#cleanup) this.#cleanup()\n this.#open = false\n this.#setAriaExpanded()\n this.#clickedTooltip = false\n }\n\n /**\n * Update the tooltip's arrow.\n *\n * This method should typically be called when the Quartz platform was\n * changed.\n */\n @Method()\n public async updateArrow(): Promise<void> {\n const gap = propertyToPx(this.host, '--qds-accessory-gap-floating') ?? 0\n const height =\n propertyToPx(this.host, '--qds-signature-triangle-pointer-size-height') ??\n 0\n const padding =\n propertyToPx(this.host, '--qds-accessory-border-radius') ?? 0\n this.#mainAxisDistance = gap + height\n this.#arrowPadding = padding\n\n await this.updateMiddleware()\n }\n\n @Watch('flipOptions')\n @Watch('noFlip')\n @Watch('noShift')\n @Watch('offsetOptions')\n @Watch('shiftOptions')\n private async updateMiddleware(): Promise<void> {\n invariant(this.#arrow)\n\n this.#middleware = [\n offset({\n ...this.offsetOptions,\n mainAxis: this.#mainAxisDistance,\n }),\n !this.noFlip &&\n flip({\n crossAxis: this.noShift,\n ...this.flipOptions,\n }),\n !this.noShift &&\n shift({\n limiter: limitShift(),\n ...this.shiftOptions,\n }),\n arrow({\n element: this.#arrow,\n padding: this.#arrowPadding,\n }),\n ]\n }\n\n @Watch('target')\n private async updateReferenceElement(): Promise<void> {\n this.disconnectedCallback()\n\n this.#referenceElement = resolveTarget(this.target)\n\n if (!(this.#referenceElement instanceof globalThis.Element)) return\n\n this.updateEventListeners()\n this.host.id ||= `qds-tooltip-${autoIncrementingId}`\n this.#referenceElement.setAttribute('aria-describedby', this.host.id)\n if (this.host.role === 'dialog')\n this.#referenceElement.ariaHasPopup = 'dialog'\n }\n\n @Watch('trigger')\n private updateEventListeners(): void {\n if (!(this.#referenceElement instanceof globalThis.Element)) return\n\n const triggers = Array.isArray(this.trigger)\n ? this.trigger\n : ((this.trigger?.split(' ') as Split<TriggerEvent, ' '> | undefined) ??\n [])\n\n this.#removeEventListeners()\n\n if (this.#isTouchDevice)\n this.#on(this.#referenceElement, 'click', this.#boundReferenceClick)\n this.#on(document.documentElement, 'pointerdown', this.#boundPointerdown)\n this.#on(this.#referenceElement, 'keydown', this.#boundKeyDown)\n\n for (const trigger of triggers) {\n switch (trigger) {\n case 'click': {\n this.#on(this.#referenceElement, 'click', this.#boundReferenceClick)\n break\n }\n case 'focus':\n case 'focusin': {\n this.#on(this.#referenceElement, trigger, this.#boundFocus)\n this.#on(this.#referenceElement, 'focusout', this.#boundFocusout)\n this.#on(this.host, 'focusout', this.#boundFocusout)\n break\n }\n case 'pointerenter': {\n this.#on(\n this.#referenceElement,\n 'pointerenter',\n this.#boundPointerenter,\n )\n this.#on(\n this.#referenceElement,\n 'pointerleave',\n this.#boundPointerleave,\n )\n this.#on(this.host, 'pointerleave', this.#boundPointerleave)\n break\n }\n default:\n }\n }\n }\n\n @Watch('middleware')\n @Watch('placement')\n @Watch('strategy')\n private async updatePosition(): Promise<void> {\n invariant(this.#referenceElement)\n\n const { x, y, middlewareData, placement, strategy } = await computePosition(\n this.#referenceElement,\n this.host,\n {\n middleware: this.#middleware,\n placement: this.placement,\n strategy: this.strategy,\n },\n )\n const [side] = placement.split('-') as Split<Placement, '-'>\n\n this.host.dataset.side = side\n Object.assign(this.host.style, {\n position: strategy,\n left: `${x}px`,\n top: `${y}px`,\n })\n\n if (middlewareData.arrow === undefined) return\n\n invariant(this.#arrow)\n\n const { x: aX, y: aY, centerOffset } = middlewareData.arrow\n this.#arrow.dataset.side = side\n Object.assign(this.#arrow.style, {\n display: centerOffset === 0 ? '' : 'none',\n left: aX === undefined ? '' : `${aX}px`,\n top: aY === undefined ? '' : `${aY}px`,\n })\n }\n\n @Watch('autoUpdateOptions')\n private startAutoUpdate(): void {\n invariant(this.#referenceElement)\n\n if (this.#cleanup) this.#cleanup()\n this.#cleanup = autoUpdate(\n this.#referenceElement,\n this.host,\n () => {\n ignorePromise(this.updatePosition())\n },\n this.autoUpdateOptions,\n )\n }\n\n public async componentWillLoad(): Promise<void> {\n this.#isTouchDevice = isTouchDevice()\n this.host.hidden = true\n this.host.popover = 'manual'\n this.internals.role = 'tooltip'\n await this.updateReferenceElement()\n autoIncrementingId += 1\n }\n\n public disconnectedCallback(): void {\n if (!(this.#referenceElement instanceof globalThis.Element)) return\n\n this.#removeEventListeners()\n this.#referenceElement.removeAttribute('aria-describedby')\n }\n\n public render() {\n return (\n <Host\n onKeyDown={this.#boundKeyDown}\n onPointerDown={this.#boundTooltipPointerDown}\n >\n <div class=\"qds-tooltip\">\n <slot />\n </div>\n\n <div class=\"qds-arrow\" ref={this.#arrowRef} />\n </Host>\n )\n }\n\n readonly #arrowRef = (div?: HTMLElement): void => {\n this.#arrow = div\n }\n\n readonly #boundTooltipPointerDown = (): void => {\n this.#clickedTooltip = true\n }\n\n async #handleFocus(): Promise<void> {\n if (!this.disabled) await this.show()\n }\n\n readonly #boundFocus = (): void => {\n ignorePromise(this.#handleFocus())\n }\n\n async #handleKeyDown(event: Event): Promise<void> {\n if (event instanceof KeyboardEvent && event.key === 'Escape')\n await this.close()\n }\n\n readonly #boundKeyDown = (event: Event): void => {\n ignorePromise(this.#handleKeyDown(event))\n }\n\n async #handlePointerenter(): Promise<void> {\n if (!this.disabled) await this.show()\n }\n\n readonly #boundPointerenter = (): void => {\n ignorePromise(this.#handlePointerenter())\n }\n\n async #handlePointerleave(event: Event): Promise<void> {\n if (\n !this.#clickedTooltip &&\n document.activeElement !== this.#referenceElement &&\n document.activeElement?.closest('qds-tooltip') !== this.host &&\n event instanceof PointerEvent &&\n event.relatedTarget !== this.#referenceElement &&\n event.relatedTarget !== this.host\n )\n await this.close()\n }\n\n readonly #boundPointerleave = (event: Event): void => {\n ignorePromise(this.#handlePointerleave(event))\n }\n\n async #handleFocusOut(event: Event): Promise<void> {\n if (!(event instanceof FocusEvent)) return\n const { relatedTarget } = event\n\n if (\n relatedTarget instanceof globalThis.Element &&\n !this.host.contains(relatedTarget) &&\n this.#referenceElement !== relatedTarget\n )\n await this.close()\n }\n\n readonly #boundFocusout = (event: Event): void => {\n ignorePromise(this.#handleFocusOut(event))\n }\n\n async #handlePointerdown(event: Event): Promise<void> {\n const composedPath = event.composedPath()\n const withinBounds =\n composedPath.includes(this.host) ||\n (this.#referenceElement instanceof globalThis.Element &&\n composedPath.includes(this.#referenceElement))\n if (!withinBounds) await this.close()\n }\n\n readonly #boundPointerdown = (event: Event): void => {\n ignorePromise(this.#handlePointerdown(event))\n }\n\n async #handleReferenceClick(): Promise<void> {\n if (!this.disabled) await (this.#open ? this.close() : this.show())\n }\n\n readonly #boundReferenceClick = (): void => {\n ignorePromise(this.#handleReferenceClick())\n }\n\n #on(\n element: Element,\n event: keyof GlobalEventHandlersEventMap,\n listener: EventListenerOrEventListenerObject,\n ): void {\n const hasListener = this.#listeners.some(\n (value) => value.element === element && value.event === event,\n )\n if (hasListener) return\n\n element.addEventListener(event, listener)\n this.#listeners.push({ element, event, listener })\n }\n\n #removeEventListeners(): void {\n for (const { element, event, listener } of this.#listeners)\n element.removeEventListener(event, listener)\n this.#listeners = []\n }\n\n #setAriaExpanded(): void {\n this.host.hidden = !this.#open\n if (this.#open) this.host.showPopover()\n else this.host.hidePopover()\n\n if (\n this.#referenceElement instanceof globalThis.Element &&\n this.host.role === 'dialog'\n )\n this.#referenceElement.ariaExpanded = String(this.#open)\n }\n}\n"],"version":3}
@@ -1 +0,0 @@
1
- {"file":"p-yb0Kv4Y6.js","mappings":"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","names":["HTMLElement","__stencil_proxyCustomElement"],"sources":["src/components/dropdown/dropdown.css?tag=qds-dropdown&encapsulation=shadow","src/components/dropdown/dropdown.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 background-color: var(--qds-theme-popup-background);\n border-radius: var(--qds-popup-border-radius);\n border: none;\n box-shadow: var(--qds-popup-elevation);\n box-sizing: border-box;\n display: inline-block;\n inset: unset;\n margin: 0;\n overflow: initial;\n padding: 0;\n}\n","// SPDX-FileCopyrightText: © 2024 Schneider Electric\n//\n// SPDX-License-Identifier: Apache-2.0\n\nimport type {\n AutoUpdateOptions,\n DetectOverflowOptions,\n FlipOptions,\n Middleware,\n Placement,\n ReferenceElement,\n ShiftOptions,\n Strategy,\n} from '@floating-ui/dom'\nimport {\n autoUpdate,\n computePosition,\n flip,\n limitShift,\n offset,\n shift,\n} from '@floating-ui/dom'\nimport type { ComponentInterface, EventEmitter } from '@stencil/core'\nimport {\n AttachInternals,\n Component,\n Element,\n Event,\n h,\n Host,\n Listen,\n Method,\n Prop,\n Watch,\n} from '@stencil/core'\n\nimport type { OffsetOptions } from '../../helpers'\nimport {\n closestElement,\n ignorePromise,\n propertyToPx,\n resolveTarget,\n VERTICAL_MOVE_KEYS,\n} from '../../helpers'\n\nlet autoIncrementingId = 1\n\nconst isQdsButton = (\n element: globalThis.Element,\n): element is HTMLQdsButtonElement =>\n element.tagName.toLowerCase() === 'qds-button'\n\nconst ALLOWED_TAGS: ReadonlySet<string> = new Set([\n 'qds-action-item',\n 'qds-menu-item',\n 'qds-list-item',\n])\n\nconst isEnabledItem = (element: unknown): element is HTMLElement =>\n element instanceof HTMLElement &&\n ALLOWED_TAGS.has(element.tagName.toLowerCase()) &&\n !element.hasAttribute('disabled') &&\n !element.inert\n\n/**\n * @slot Content to display in the dropdown.\n * @see https://quartz.se.com/build/components/dropdown\n */\n@Component({\n tag: 'qds-dropdown',\n shadow: { delegatesFocus: true },\n styleUrl: 'dropdown.css',\n})\nexport class Dropdown implements ComponentInterface {\n /**\n * Options to pass to Floating UI's\n * [`autoUpdate()` function](https://floating-ui.com/docs/autoUpdate).\n *\n * @see https://floating-ui.com/docs/autoupdate#options\n */\n @Prop() public readonly autoUpdateOptions?: AutoUpdateOptions\n\n /**\n * Prevents the dropdown from being shown by user interaction. The dropdown\n * can still be displayed by calling the `show()` method.\n */\n @Prop() public readonly disabled: boolean = false\n\n /**\n * Options to pass to Floating UI's\n * [`flip` middleware](https://floating-ui.com/docs/flip).\n *\n * The [`crossAxis` option](https://floating-ui.com/docs/flip#crossaxis) is\n * set to the value of the `noShift` property by default for interoperability\n * with the [`shift` middleware](https://floating-ui.com/docs/shift).\n *\n * @see https://floating-ui.com/docs/flip#options\n */\n @Prop() public readonly flipOptions?: Partial<\n DetectOverflowOptions & FlipOptions\n >\n\n /**\n * Disable Floating UI's\n * [`flip` middleware](https://floating-ui.com/docs/flip).\n */\n @Prop() public readonly noFlip: boolean = false\n\n /**\n * Disable Floating UI's\n * [`shift` middleware](https://floating-ui.com/docs/shift).\n */\n @Prop() public readonly noShift: boolean = false\n\n /**\n * Options to pass to Floating UI's\n * [`offset` middleware](https://floating-ui.com/docs/offset).\n *\n * The [`mainAxis` option](https://floating-ui.com/docs/offset#mainaxis) is\n * not supported.\n *\n * @see https://floating-ui.com/docs/offset#options\n */\n @Prop() public readonly offsetOptions?: OffsetOptions\n\n /**\n * Where to place the dropdown relative to the `target`.\n *\n * @see https://floating-ui.com/docs/tutorial#placements\n */\n @Prop() public readonly placement: Placement = 'bottom-start'\n\n /**\n * Options to pass to Floating UI's\n * [`shift` middleware](https://floating-ui.com/docs/shift).\n *\n * @see https://floating-ui.com/docs/shift#options\n */\n @Prop() public readonly shiftOptions?: Partial<\n DetectOverflowOptions & ShiftOptions\n >\n\n /**\n * The CSS position strategy to use.\n *\n * @see https://floating-ui.com/docs/computeposition#strategy\n */\n @Prop() public readonly strategy?: Strategy\n\n /**\n * The trigger element that will trigger the dropdown. The target specified\n * can be any of the following:\n *\n * - A CSS selector string\n * - A reference to an [`Element`][] or [Virtual Element][]\n * - A function returning a reference to an [`Element`][],\n * [Virtual Element][], or a CSS selector string\n *\n * [`Element`]: https://developer.mozilla.org/docs/Web/API/Element\n * [Virtual Element]: https://floating-ui.com/docs/virtual-elements\n */\n @Prop() public readonly target!:\n | ReferenceElement\n | string\n | (() => ReferenceElement | string)\n\n /**\n * By default, the dropdown is closed when an item is selected. This attribute will keep it open instead. Useful for\n * dropdowns that allow for multiple interactions.\n */\n @Prop() public readonly keepOpenOnSelect: boolean = false\n\n /**\n * Emitted when the user instructs the browser that they wish to dismiss the\n * current open dropdown by pressing the `Esc` key.\n *\n * When a dropdown is dismissed with the `Esc` key, both the `qdsCancel` and\n * `qdsClose` events are emitted.\n */\n @Event({ eventName: 'qdsCancel', bubbles: false })\n private readonly cancelEmitter!: EventEmitter<void>\n\n /**\n * Emitted when the dropdown is closed.\n */\n @Event({ eventName: 'qdsClose', bubbles: false, cancelable: false })\n private readonly closeEmitter!: EventEmitter<void>\n\n @Element() private readonly host!: HTMLElement\n\n @AttachInternals() private readonly internals!: ElementInternals\n\n #cleanup?: () => void\n\n #Items: HTMLElement[] = []\n\n #gap = 0\n\n #middleware?: (Middleware | false)[]\n\n #referenceElement?: ReferenceElement\n\n #open = false\n\n /**\n * Whether the dropdown has been opened at least once.\n * This is used to determine whether the dropdown should update its position, gap\n * and middleware when it is opened.\n */\n #opened = false\n\n /**\n * Updates the gap between the dropdown and its target element.\n */\n @Method()\n public async updateGap(): Promise<void> {\n this.#gap = propertyToPx(this.host, '--qds-accessory-gap-floating') ?? 0\n\n await this.updateMiddleware()\n }\n\n /**\n * Shows the dropdown.\n */\n @Method()\n public async show(): Promise<void> {\n if (this.#open) return\n\n const reference = this.#referenceElement\n const { host } = this\n\n if (reference instanceof globalThis.Element) {\n reference.setAttribute('aria-expanded', 'true')\n reference.setAttribute('aria-controls', host.id)\n host.setAttribute('aria-labelledby', reference.id)\n if (!reference.hasAttribute('aria-haspopup'))\n reference.setAttribute('aria-haspopup', 'true')\n\n if (isQdsButton(reference) && reference.action === 'dropdown')\n reference.action = 'dropdown-close'\n }\n\n if (!this.#opened) {\n await this.updateGap()\n this.#opened = true\n }\n this.startAutoUpdate()\n this.#open = true\n host.hidden = false\n host.showPopover()\n }\n\n /**\n * Closes the dropdown.\n */\n @Method()\n public async close(): Promise<void> {\n if (!this.#open) return\n\n if (this.#referenceElement instanceof globalThis.Element) {\n this.#referenceElement.setAttribute('aria-expanded', 'false')\n this.#referenceElement.removeAttribute('aria-controls')\n\n if (\n isQdsButton(this.#referenceElement) &&\n this.#referenceElement.action === 'dropdown-close'\n )\n this.#referenceElement.action = 'dropdown'\n }\n\n if (this.#cleanup) this.#cleanup()\n this.#open = false\n this.host.hidden = true\n this.host.hidePopover()\n\n this.closeEmitter.emit()\n }\n\n @Listen('click', { target: 'document' })\n protected async handleMouseDown(event: MouseEvent): Promise<void> {\n if (!this.#open) return\n\n const composedPath = event.composedPath()\n const withinBounds =\n composedPath.includes(this.host) ||\n (this.#referenceElement instanceof globalThis.Element &&\n composedPath.includes(this.#referenceElement))\n if (!withinBounds) await this.close()\n }\n\n @Listen('click')\n protected async onItemClick(event: MouseEvent): Promise<void> {\n if (!this.keepOpenOnSelect && isEnabledItem(event.target)) {\n await this.close()\n }\n }\n\n @Watch('target')\n private async updateReferenceElement(): Promise<void> {\n this.#disconnectReferenceElement()\n\n this.#referenceElement = resolveTarget(this.target)\n\n if (!(this.#referenceElement instanceof globalThis.Element)) return\n\n this.#referenceElement.setAttribute('aria-expanded', 'false')\n this.#referenceElement.addEventListener(\n 'click',\n this.#boundOnReferenceClick,\n )\n this.#referenceElement.addEventListener('focusout', this.#boundOnFocusout)\n this.#referenceElement.addEventListener('keydown', this.#boundOnKeydown)\n\n if (this.host.role === 'menu') {\n this.#referenceElement.id ||= `qds-dropdown-trigger-${autoIncrementingId}`\n this.host.setAttribute('aria-labelledby', this.#referenceElement.id)\n }\n }\n\n @Watch('flipOptions')\n @Watch('noFlip')\n @Watch('noShift')\n @Watch('offsetOptions')\n @Watch('shiftOptions')\n private async updateMiddleware(): Promise<void> {\n this.#middleware = [\n offset({\n ...this.offsetOptions,\n mainAxis: this.#gap,\n }),\n !this.noFlip &&\n flip({\n crossAxis: this.noShift,\n ...this.flipOptions,\n }),\n !this.noShift &&\n shift({\n limiter: limitShift(),\n ...this.shiftOptions,\n }),\n ]\n }\n\n @Watch('middleware')\n @Watch('placement')\n @Watch('strategy')\n private async updatePosition(): Promise<void> {\n if (!this.#referenceElement) return\n\n const { x, y, strategy } = await computePosition(\n this.#referenceElement,\n this.host,\n {\n middleware: this.#middleware,\n placement: this.placement,\n strategy: this.strategy,\n },\n )\n Object.assign(this.host.style, {\n position: strategy,\n left: `${x}px`,\n top: `${y}px`,\n })\n }\n\n @Watch('autoUpdateOptions')\n private startAutoUpdate(): void {\n if (!this.#referenceElement) return\n\n if (this.#cleanup) this.#cleanup()\n this.#cleanup = autoUpdate(\n this.#referenceElement,\n this.host,\n () => {\n ignorePromise(this.updatePosition())\n },\n this.autoUpdateOptions,\n )\n }\n\n public async componentWillLoad(): Promise<void> {\n this.host.hidden = true\n this.host.popover = 'manual'\n this.internals.role = 'menu'\n this.host.id ||= `qds-dropdown-${autoIncrementingId}`\n await this.updateReferenceElement()\n autoIncrementingId += 1\n }\n\n public disconnectedCallback(): void {\n this.#disconnectReferenceElement()\n }\n\n public render() {\n return (\n <Host onKeyDown={this.#onKeydown} onFocusout={this.#onFocusout}>\n <slot onSlotchange={this.#onSlotchange} />\n </Host>\n )\n }\n\n readonly #onFocusout = async (event: Event): Promise<void> => {\n if (!(event instanceof FocusEvent)) return\n const { relatedTarget } = event\n\n const dropdownItem = this.#Items.find((item) => item === relatedTarget)\n if (\n relatedTarget instanceof globalThis.Element &&\n !this.host.contains(relatedTarget) &&\n this.#referenceElement !== relatedTarget &&\n !dropdownItem\n )\n await this.close()\n }\n\n #focusOnTrigger(): void {\n if (\n this.#referenceElement instanceof globalThis.HTMLElement ||\n this.#referenceElement instanceof globalThis.SVGElement\n ) {\n this.#referenceElement.focus()\n }\n }\n\n readonly #onKeydown = async (event: Event): Promise<void> => {\n if (!(event instanceof KeyboardEvent)) return\n\n const { key, target } = event\n const targetRootNode =\n target instanceof globalThis.Node ? target.getRootNode() : undefined\n const keydownOnReference =\n target === this.#referenceElement ||\n (targetRootNode instanceof globalThis.ShadowRoot &&\n targetRootNode.host === this.#referenceElement) ||\n (target instanceof globalThis.Element &&\n this.#referenceElement instanceof globalThis.Element &&\n this.#referenceElement.contains(target))\n\n if (key === 'Enter' && !this.keepOpenOnSelect && isEnabledItem(target)) {\n // Keep parent open when Enter is used on an item with a nested submenu.\n if (\n target instanceof HTMLElement &&\n target.shadowRoot?.querySelector('qds-dropdown')\n )\n return\n\n await this.close()\n this.#focusOnTrigger()\n return\n }\n\n if (\n key === 'Escape' &&\n (target === this.#referenceElement ||\n (target instanceof globalThis.Element &&\n closestElement('qds-dropdown', target) === this.host))\n ) {\n const cancelEvent = this.cancelEmitter.emit()\n if (cancelEvent.defaultPrevented) return\n\n await this.close()\n this.#focusOnTrigger()\n\n return\n }\n\n if (\n keydownOnReference &&\n (key === 'ArrowDown' || key === 'ArrowUp' || key === 'Enter')\n ) {\n if (!this.#open) await this.show()\n this.#focusFirstItem()\n event.preventDefault()\n event.stopPropagation()\n return\n }\n // Prevent space key from scrolling the page when focused on an item\n if (key === ' ') {\n event.preventDefault()\n event.stopPropagation()\n return\n }\n\n if (!VERTICAL_MOVE_KEYS.has(key)) return\n\n const Items = this.#Items.filter(\n (item: HTMLElement) =>\n isEnabledItem(item) &&\n closestElement('qds-dropdown', item) === this.host,\n )\n\n if (Items.length === 0) return\n\n event.preventDefault()\n event.stopPropagation()\n\n const currentIndex = Items.findIndex(\n (item: HTMLElement) => item.getAttribute('tabindex') === '0',\n )\n\n let nextIndex = currentIndex\n\n switch (key) {\n case 'ArrowUp': {\n nextIndex = currentIndex > 0 ? currentIndex - 1 : Items.length - 1\n break\n }\n case 'ArrowDown': {\n nextIndex = currentIndex < Items.length - 1 ? currentIndex + 1 : 0\n break\n }\n case 'Home': {\n nextIndex = 0\n break\n }\n case 'End': {\n nextIndex = Items.length - 1\n break\n }\n default: {\n return\n }\n }\n const nextItem = Items[nextIndex]\n for (const [index, item] of Items.entries()) {\n ;(item as HTMLElement).setAttribute(\n 'tabindex',\n index === nextIndex ? '0' : '-1',\n )\n }\n\n nextItem.focus()\n event.preventDefault()\n }\n\n readonly #onReferenceClick = async (): Promise<void> => {\n if (this.disabled) return\n\n if (this.#open) {\n await this.close()\n return\n }\n\n await this.show()\n this.#focusFirstItem()\n }\n\n #focusFirstItem(): void {\n requestAnimationFrame(() => {\n const firstItem = this.#Items.find(\n (item) =>\n item instanceof HTMLElement &&\n isEnabledItem(item) &&\n closestElement('qds-dropdown', item) === this.host,\n )\n if (!firstItem) return\n for (const item of this.#Items) item.setAttribute('tabindex', '-1')\n firstItem.setAttribute('tabindex', '0')\n firstItem.focus()\n })\n }\n\n #disconnectReferenceElement(): void {\n this.host.removeAttribute('aria-labelledby')\n\n if (!(this.#referenceElement instanceof globalThis.Element)) return\n\n this.#referenceElement.removeEventListener(\n 'focusout',\n this.#boundOnFocusout,\n )\n this.#referenceElement.removeEventListener('keydown', this.#boundOnKeydown)\n this.#referenceElement.removeAttribute('aria-expanded')\n this.#referenceElement.removeAttribute('aria-controls')\n }\n\n readonly #boundOnFocusout = (event: Event): void => {\n ignorePromise(this.#onFocusout(event))\n }\n\n readonly #boundOnKeydown = (event: Event): void => {\n ignorePromise(this.#onKeydown(event))\n }\n\n readonly #boundOnReferenceClick = (): void => {\n ignorePromise(this.#onReferenceClick())\n }\n\n readonly #onSlotchange = (event: Event): void => {\n const slot = event.target as HTMLSlotElement\n const assignedElements = slot.assignedElements({ flatten: true })\n\n this.#Items = assignedElements.filter((element): element is HTMLElement =>\n isEnabledItem(element),\n )\n }\n}\n"],"version":3}