@quartzds/core 1.0.0-beta.13 → 1.0.0-beta.130

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 (444) hide show
  1. package/CHANGELOG.md +2145 -0
  2. package/README.md +23 -23
  3. package/components/index.d.ts +52 -0
  4. package/components/index.js +63 -28
  5. package/components/index.js.map +1 -1
  6. package/components/p-B9xuNEzc.js +438 -0
  7. package/components/p-B9xuNEzc.js.map +1 -0
  8. package/components/p-BHBodFuD.js +200 -0
  9. package/components/p-BHBodFuD.js.map +1 -0
  10. package/components/p-BLA62eFO.js +513 -0
  11. package/components/p-BLA62eFO.js.map +1 -0
  12. package/components/p-Bn9o5Um2.js +91 -0
  13. package/components/p-Bn9o5Um2.js.map +1 -0
  14. package/components/{floating-ui.dom.esm.js → p-Bv2vPjgL.js} +557 -345
  15. package/components/p-Bv2vPjgL.js.map +1 -0
  16. package/components/p-C-pZcrGt.js +357 -0
  17. package/components/p-C-pZcrGt.js.map +1 -0
  18. package/components/p-CZRW1LV_.js +28 -0
  19. package/components/p-CZRW1LV_.js.map +1 -0
  20. package/components/p-Cb4tcewD.js +281 -0
  21. package/components/p-Cb4tcewD.js.map +1 -0
  22. package/components/p-Cb5Tgh-o.js +102 -0
  23. package/components/p-Cb5Tgh-o.js.map +1 -0
  24. package/components/p-D2489VzR.js +2133 -0
  25. package/components/p-D2489VzR.js.map +1 -0
  26. package/components/p-D2BuSQre.js +160 -0
  27. package/components/p-D2BuSQre.js.map +1 -0
  28. package/components/p-DL21f4D7.js +149 -0
  29. package/components/p-DL21f4D7.js.map +1 -0
  30. package/components/p-DOqfdgQA.js +124 -0
  31. package/components/p-DOqfdgQA.js.map +1 -0
  32. package/components/p-Do46q_Gd.js +135 -0
  33. package/components/p-Do46q_Gd.js.map +1 -0
  34. package/components/p-XP2CY_fo.js +105 -0
  35. package/components/p-XP2CY_fo.js.map +1 -0
  36. package/components/p-eUDNu0SE.js +3561 -0
  37. package/components/p-eUDNu0SE.js.map +1 -0
  38. package/components/p-fKK7EmM2.js +256 -0
  39. package/components/p-fKK7EmM2.js.map +1 -0
  40. package/components/qds-action-item.d.ts +11 -0
  41. package/components/qds-action-item.js +204 -0
  42. package/components/qds-action-item.js.map +1 -0
  43. package/components/qds-avatar-media.d.ts +11 -0
  44. package/components/qds-avatar-media.js +14 -0
  45. package/components/qds-avatar-media.js.map +1 -0
  46. package/components/qds-avatar.d.ts +11 -0
  47. package/components/qds-avatar.js +120 -0
  48. package/components/qds-avatar.js.map +1 -0
  49. package/components/qds-badge-counter.d.ts +11 -0
  50. package/components/qds-badge-counter.js +14 -0
  51. package/components/qds-badge-counter.js.map +1 -0
  52. package/components/qds-badge-indicator.d.ts +11 -0
  53. package/components/qds-badge-indicator.js +14 -0
  54. package/components/qds-badge-indicator.js.map +1 -0
  55. package/components/qds-breadcrumb-item.d.ts +11 -0
  56. package/components/qds-breadcrumb-item.js +174 -0
  57. package/components/qds-breadcrumb-item.js.map +1 -0
  58. package/components/qds-button.d.ts +2 -2
  59. package/components/qds-button.js +475 -129
  60. package/components/qds-button.js.map +1 -1
  61. package/components/qds-checkbox.d.ts +2 -2
  62. package/components/qds-checkbox.js +4 -146
  63. package/components/qds-checkbox.js.map +1 -1
  64. package/components/qds-chip.d.ts +11 -0
  65. package/components/qds-chip.js +337 -0
  66. package/components/qds-chip.js.map +1 -0
  67. package/components/qds-dialog.d.ts +2 -2
  68. package/components/qds-dialog.js +179 -93
  69. package/components/qds-dialog.js.map +1 -1
  70. package/components/qds-divider.d.ts +2 -2
  71. package/components/qds-divider.js +4 -39
  72. package/components/qds-divider.js.map +1 -1
  73. package/components/qds-dropdown.d.ts +2 -2
  74. package/components/qds-dropdown.js +4 -249
  75. package/components/qds-dropdown.js.map +1 -1
  76. package/components/qds-form-message.d.ts +2 -2
  77. package/components/qds-form-message.js +106 -50
  78. package/components/qds-form-message.js.map +1 -1
  79. package/components/qds-icon-button.d.ts +11 -0
  80. package/components/qds-icon-button.js +14 -0
  81. package/components/qds-icon-button.js.map +1 -0
  82. package/components/qds-icon-tab.d.ts +11 -0
  83. package/components/qds-icon-tab.js +312 -0
  84. package/components/qds-icon-tab.js.map +1 -0
  85. package/components/qds-icon.d.ts +2 -2
  86. package/components/qds-icon.js +4 -3
  87. package/components/qds-inline-link.d.ts +2 -2
  88. package/components/qds-inline-link.js +173 -74
  89. package/components/qds-inline-link.js.map +1 -1
  90. package/components/qds-input.d.ts +2 -2
  91. package/components/qds-input.js +579 -230
  92. package/components/qds-input.js.map +1 -1
  93. package/components/qds-label.d.ts +2 -2
  94. package/components/qds-label.js +156 -3
  95. package/components/qds-label.js.map +1 -1
  96. package/components/qds-list-item.d.ts +11 -0
  97. package/components/qds-list-item.js +430 -0
  98. package/components/qds-list-item.js.map +1 -0
  99. package/components/qds-loader.d.ts +11 -0
  100. package/components/qds-loader.js +152 -0
  101. package/components/qds-loader.js.map +1 -0
  102. package/components/qds-menu-item.d.ts +11 -0
  103. package/components/qds-menu-item.js +263 -0
  104. package/components/qds-menu-item.js.map +1 -0
  105. package/components/qds-mini-button.d.ts +11 -0
  106. package/components/qds-mini-button.js +14 -0
  107. package/components/qds-mini-button.js.map +1 -0
  108. package/components/qds-progress-bar.d.ts +11 -0
  109. package/components/qds-progress-bar.js +155 -0
  110. package/components/qds-progress-bar.js.map +1 -0
  111. package/components/qds-radio.d.ts +2 -2
  112. package/components/qds-radio.js +4 -99
  113. package/components/qds-radio.js.map +1 -1
  114. package/components/qds-select.d.ts +11 -0
  115. package/components/qds-select.js +377 -0
  116. package/components/qds-select.js.map +1 -0
  117. package/components/qds-standalone-link.d.ts +11 -0
  118. package/components/qds-standalone-link.js +210 -0
  119. package/components/qds-standalone-link.js.map +1 -0
  120. package/components/qds-switch.d.ts +2 -2
  121. package/components/qds-switch.js +257 -105
  122. package/components/qds-switch.js.map +1 -1
  123. package/components/qds-tab.d.ts +11 -0
  124. package/components/qds-tab.js +354 -0
  125. package/components/qds-tab.js.map +1 -0
  126. package/components/qds-tabbar.d.ts +11 -0
  127. package/components/qds-tabbar.js +599 -0
  128. package/components/qds-tabbar.js.map +1 -0
  129. package/components/qds-table-cell.d.ts +11 -0
  130. package/components/qds-table-cell.js +109 -0
  131. package/components/qds-table-cell.js.map +1 -0
  132. package/components/qds-table-head-cell.d.ts +11 -0
  133. package/components/qds-table-head-cell.js +115 -0
  134. package/components/qds-table-head-cell.js.map +1 -0
  135. package/components/qds-table-row.d.ts +11 -0
  136. package/components/qds-table-row.js +48 -0
  137. package/components/qds-table-row.js.map +1 -0
  138. package/components/qds-table.d.ts +11 -0
  139. package/components/qds-table.js +48 -0
  140. package/components/qds-table.js.map +1 -0
  141. package/components/qds-tag.d.ts +11 -0
  142. package/components/qds-tag.js +14 -0
  143. package/components/qds-tag.js.map +1 -0
  144. package/components/qds-textarea.d.ts +2 -2
  145. package/components/qds-textarea.js +352 -193
  146. package/components/qds-textarea.js.map +1 -1
  147. package/components/qds-title.d.ts +2 -2
  148. package/components/qds-title.js +4 -84
  149. package/components/qds-title.js.map +1 -1
  150. package/components/qds-tooltip.d.ts +2 -2
  151. package/components/qds-tooltip.js +4 -315
  152. package/components/qds-tooltip.js.map +1 -1
  153. package/dist/cjs/app-globals-CLoao1by.js +13 -0
  154. package/dist/cjs/app-globals-CLoao1by.js.map +1 -0
  155. package/dist/cjs/controls-DKGeNyr5.js +32 -0
  156. package/dist/cjs/controls-DKGeNyr5.js.map +1 -0
  157. package/dist/cjs/{floating-ui.dom.esm-7f1cac3e.js → floating-ui.dom-Bvzubd50.js} +557 -345
  158. package/dist/cjs/floating-ui.dom-Bvzubd50.js.map +1 -0
  159. package/dist/cjs/helpers-D6srVOLt.js +3584 -0
  160. package/dist/cjs/helpers-D6srVOLt.js.map +1 -0
  161. package/dist/cjs/index-DIY7gpXM.js +2376 -0
  162. package/dist/cjs/index-DIY7gpXM.js.map +1 -0
  163. package/dist/cjs/index.cjs.js +40 -31
  164. package/dist/cjs/index.cjs.js.map +1 -1
  165. package/dist/cjs/library-CeKRI2f2.js +142 -0
  166. package/dist/cjs/library-CeKRI2f2.js.map +1 -0
  167. package/dist/cjs/loader.cjs.js +9 -10
  168. package/dist/cjs/loader.cjs.js.map +1 -1
  169. package/dist/cjs/qds-action-item.cjs.entry.js +165 -0
  170. package/dist/cjs/qds-action-item.entry.cjs.js.map +1 -0
  171. package/dist/cjs/qds-avatar-media.cjs.entry.js +105 -0
  172. package/dist/cjs/qds-avatar-media.entry.cjs.js.map +1 -0
  173. package/dist/cjs/qds-avatar.cjs.entry.js +70 -0
  174. package/dist/cjs/qds-avatar.entry.cjs.js.map +1 -0
  175. package/dist/cjs/qds-badge-counter.qds-badge-indicator.entry.cjs.js.map +1 -0
  176. package/dist/cjs/qds-badge-counter_2.cjs.entry.js +168 -0
  177. package/dist/cjs/qds-breadcrumb-item.cjs.entry.js +134 -0
  178. package/dist/cjs/qds-breadcrumb-item.entry.cjs.js.map +1 -0
  179. package/dist/cjs/qds-button.cjs.entry.js +402 -93
  180. package/dist/cjs/qds-button.entry.cjs.js.map +1 -0
  181. package/dist/cjs/qds-checkbox.qds-radio.entry.cjs.js.map +1 -0
  182. package/dist/cjs/qds-checkbox_2.cjs.entry.js +456 -0
  183. package/dist/cjs/qds-chip.cjs.entry.js +285 -0
  184. package/dist/cjs/qds-chip.entry.cjs.js.map +1 -0
  185. package/dist/cjs/qds-dialog.cjs.entry.js +124 -77
  186. package/dist/cjs/qds-dialog.entry.cjs.js.map +1 -0
  187. package/dist/cjs/qds-divider.qds-icon-button.entry.cjs.js.map +1 -0
  188. package/dist/cjs/qds-divider_2.cjs.entry.js +291 -0
  189. package/dist/cjs/qds-dropdown.cjs.entry.js +461 -213
  190. package/dist/cjs/qds-dropdown.entry.cjs.js.map +1 -0
  191. package/dist/cjs/qds-form-message.cjs.entry.js +80 -27
  192. package/dist/cjs/qds-form-message.entry.cjs.js.map +1 -0
  193. package/dist/cjs/qds-icon-tab.cjs.entry.js +244 -0
  194. package/dist/cjs/qds-icon-tab.entry.cjs.js.map +1 -0
  195. package/dist/cjs/qds-icon.cjs.entry.js +92 -93
  196. package/dist/cjs/qds-icon.entry.cjs.js.map +1 -0
  197. package/dist/cjs/qds-inline-link.cjs.entry.js +139 -49
  198. package/dist/cjs/qds-inline-link.entry.cjs.js.map +1 -0
  199. package/dist/cjs/qds-input.cjs.entry.js +503 -188
  200. package/dist/cjs/qds-input.entry.cjs.js.map +1 -0
  201. package/dist/cjs/qds-label.cjs.entry.js +118 -27
  202. package/dist/cjs/qds-label.entry.cjs.js.map +1 -0
  203. package/dist/cjs/qds-list-item.cjs.entry.js +328 -0
  204. package/dist/cjs/qds-list-item.entry.cjs.js.map +1 -0
  205. package/dist/cjs/qds-loader.cjs.entry.js +126 -0
  206. package/dist/cjs/qds-loader.entry.cjs.js.map +1 -0
  207. package/dist/cjs/qds-menu-item.cjs.entry.js +214 -0
  208. package/dist/cjs/qds-menu-item.entry.cjs.js.map +1 -0
  209. package/dist/cjs/qds-mini-button.cjs.entry.js +130 -0
  210. package/dist/cjs/qds-mini-button.entry.cjs.js.map +1 -0
  211. package/dist/cjs/qds-progress-bar.cjs.entry.js +131 -0
  212. package/dist/cjs/qds-progress-bar.entry.cjs.js.map +1 -0
  213. package/dist/cjs/qds-select.cjs.entry.js +331 -0
  214. package/dist/cjs/qds-select.entry.cjs.js.map +1 -0
  215. package/dist/cjs/qds-standalone-link.cjs.entry.js +171 -0
  216. package/dist/cjs/qds-standalone-link.entry.cjs.js.map +1 -0
  217. package/dist/cjs/qds-switch.cjs.entry.js +221 -67
  218. package/dist/cjs/qds-switch.entry.cjs.js.map +1 -0
  219. package/dist/cjs/qds-tab.cjs.entry.js +280 -0
  220. package/dist/cjs/qds-tab.entry.cjs.js.map +1 -0
  221. package/dist/cjs/qds-tabbar.cjs.entry.js +528 -0
  222. package/dist/cjs/qds-tabbar.entry.cjs.js.map +1 -0
  223. package/dist/cjs/qds-table-cell.cjs.entry.js +88 -0
  224. package/dist/cjs/qds-table-cell.entry.cjs.js.map +1 -0
  225. package/dist/cjs/qds-table-head-cell.cjs.entry.js +92 -0
  226. package/dist/cjs/qds-table-head-cell.entry.cjs.js.map +1 -0
  227. package/dist/cjs/qds-table-row.cjs.entry.js +34 -0
  228. package/dist/cjs/qds-table-row.entry.cjs.js.map +1 -0
  229. package/dist/cjs/qds-table.cjs.entry.js +34 -0
  230. package/dist/cjs/qds-table.entry.cjs.js.map +1 -0
  231. package/dist/cjs/qds-tag.cjs.entry.js +110 -0
  232. package/dist/cjs/qds-tag.entry.cjs.js.map +1 -0
  233. package/dist/cjs/qds-textarea.cjs.entry.js +303 -156
  234. package/dist/cjs/qds-textarea.entry.cjs.js.map +1 -0
  235. package/dist/cjs/qds-title.cjs.entry.js +61 -52
  236. package/dist/cjs/qds-title.entry.cjs.js.map +1 -0
  237. package/dist/cjs/qds-tooltip.cjs.entry.js +380 -264
  238. package/dist/cjs/qds-tooltip.entry.cjs.js.map +1 -0
  239. package/dist/cjs/qds.cjs.js +18 -17
  240. package/dist/cjs/qds.cjs.js.map +1 -1
  241. package/dist/custom-elements.json +13254 -2143
  242. package/dist/docs.d.ts +344 -240
  243. package/dist/docs.json +13958 -3308
  244. package/dist/esm/app-globals-WylVyaRG.js +11 -0
  245. package/dist/esm/app-globals-WylVyaRG.js.map +1 -0
  246. package/dist/esm/controls-CZRW1LV_.js +28 -0
  247. package/dist/esm/controls-CZRW1LV_.js.map +1 -0
  248. package/dist/esm/{floating-ui.dom.esm-c2f3e549.js → floating-ui.dom-Bv2vPjgL.js} +557 -345
  249. package/dist/esm/floating-ui.dom-Bv2vPjgL.js.map +1 -0
  250. package/dist/esm/helpers-BIo9VDPx.js +3561 -0
  251. package/dist/esm/helpers-BIo9VDPx.js.map +1 -0
  252. package/dist/esm/index-Hg1Liloy.js +2364 -0
  253. package/dist/esm/index-Hg1Liloy.js.map +1 -0
  254. package/dist/esm/index.js +40 -30
  255. package/dist/esm/index.js.map +1 -1
  256. package/dist/esm/library-CBfntPWH.js +138 -0
  257. package/dist/esm/library-CBfntPWH.js.map +1 -0
  258. package/dist/esm/loader.js +10 -9
  259. package/dist/esm/loader.js.map +1 -1
  260. package/dist/esm/qds-action-item.entry.js +163 -0
  261. package/dist/esm/qds-action-item.entry.js.map +1 -0
  262. package/dist/esm/qds-avatar-media.entry.js +103 -0
  263. package/dist/esm/qds-avatar-media.entry.js.map +1 -0
  264. package/dist/esm/qds-avatar.entry.js +68 -0
  265. package/dist/esm/qds-avatar.entry.js.map +1 -0
  266. package/dist/esm/qds-badge-counter.qds-badge-indicator.entry.js.map +1 -0
  267. package/dist/esm/qds-badge-counter_2.entry.js +165 -0
  268. package/dist/esm/qds-breadcrumb-item.entry.js +132 -0
  269. package/dist/esm/qds-breadcrumb-item.entry.js.map +1 -0
  270. package/dist/esm/qds-button.entry.js +402 -91
  271. package/dist/esm/qds-button.entry.js.map +1 -1
  272. package/dist/esm/qds-checkbox.qds-radio.entry.js.map +1 -0
  273. package/dist/esm/qds-checkbox_2.entry.js +453 -0
  274. package/dist/esm/qds-chip.entry.js +283 -0
  275. package/dist/esm/qds-chip.entry.js.map +1 -0
  276. package/dist/esm/qds-dialog.entry.js +124 -75
  277. package/dist/esm/qds-dialog.entry.js.map +1 -1
  278. package/dist/esm/qds-divider.qds-icon-button.entry.js.map +1 -0
  279. package/dist/esm/qds-divider_2.entry.js +288 -0
  280. package/dist/esm/qds-dropdown.entry.js +461 -211
  281. package/dist/esm/qds-dropdown.entry.js.map +1 -1
  282. package/dist/esm/qds-form-message.entry.js +80 -25
  283. package/dist/esm/qds-form-message.entry.js.map +1 -1
  284. package/dist/esm/qds-icon-tab.entry.js +242 -0
  285. package/dist/esm/qds-icon-tab.entry.js.map +1 -0
  286. package/dist/esm/qds-icon.entry.js +92 -91
  287. package/dist/esm/qds-icon.entry.js.map +1 -1
  288. package/dist/esm/qds-inline-link.entry.js +139 -47
  289. package/dist/esm/qds-inline-link.entry.js.map +1 -1
  290. package/dist/esm/qds-input.entry.js +503 -186
  291. package/dist/esm/qds-input.entry.js.map +1 -1
  292. package/dist/esm/qds-label.entry.js +118 -25
  293. package/dist/esm/qds-label.entry.js.map +1 -1
  294. package/dist/esm/qds-list-item.entry.js +326 -0
  295. package/dist/esm/qds-list-item.entry.js.map +1 -0
  296. package/dist/esm/qds-loader.entry.js +124 -0
  297. package/dist/esm/qds-loader.entry.js.map +1 -0
  298. package/dist/esm/qds-menu-item.entry.js +212 -0
  299. package/dist/esm/qds-menu-item.entry.js.map +1 -0
  300. package/dist/esm/qds-mini-button.entry.js +128 -0
  301. package/dist/esm/qds-mini-button.entry.js.map +1 -0
  302. package/dist/esm/qds-progress-bar.entry.js +129 -0
  303. package/dist/esm/qds-progress-bar.entry.js.map +1 -0
  304. package/dist/esm/qds-select.entry.js +329 -0
  305. package/dist/esm/qds-select.entry.js.map +1 -0
  306. package/dist/esm/qds-standalone-link.entry.js +169 -0
  307. package/dist/esm/qds-standalone-link.entry.js.map +1 -0
  308. package/dist/esm/qds-switch.entry.js +221 -65
  309. package/dist/esm/qds-switch.entry.js.map +1 -1
  310. package/dist/esm/qds-tab.entry.js +278 -0
  311. package/dist/esm/qds-tab.entry.js.map +1 -0
  312. package/dist/esm/qds-tabbar.entry.js +526 -0
  313. package/dist/esm/qds-tabbar.entry.js.map +1 -0
  314. package/dist/esm/qds-table-cell.entry.js +86 -0
  315. package/dist/esm/qds-table-cell.entry.js.map +1 -0
  316. package/dist/esm/qds-table-head-cell.entry.js +90 -0
  317. package/dist/esm/qds-table-head-cell.entry.js.map +1 -0
  318. package/dist/esm/qds-table-row.entry.js +32 -0
  319. package/dist/esm/qds-table-row.entry.js.map +1 -0
  320. package/dist/esm/qds-table.entry.js +32 -0
  321. package/dist/esm/qds-table.entry.js.map +1 -0
  322. package/dist/esm/qds-tag.entry.js +108 -0
  323. package/dist/esm/qds-tag.entry.js.map +1 -0
  324. package/dist/esm/qds-textarea.entry.js +303 -154
  325. package/dist/esm/qds-textarea.entry.js.map +1 -1
  326. package/dist/esm/qds-title.entry.js +61 -50
  327. package/dist/esm/qds-title.entry.js.map +1 -1
  328. package/dist/esm/qds-tooltip.entry.js +380 -262
  329. package/dist/esm/qds-tooltip.entry.js.map +1 -1
  330. package/dist/esm/qds.js +18 -16
  331. package/dist/esm/qds.js.map +1 -1
  332. package/dist/types/components/action-item/action-item.d.ts +70 -0
  333. package/dist/types/components/avatar/avatar.d.ts +61 -0
  334. package/dist/types/components/avatar-media/avatar-media.d.ts +47 -0
  335. package/dist/types/components/badge-counter/badge-counter.d.ts +40 -0
  336. package/dist/types/components/badge-indicator/badge-indicator.d.ts +36 -0
  337. package/dist/types/components/breadcrumb-item/breadcrumb-item.d.ts +178 -0
  338. package/dist/types/components/button/button.d.ts +283 -198
  339. package/dist/types/components/checkbox/checkbox.d.ts +142 -124
  340. package/dist/types/components/chip/chip.d.ts +111 -0
  341. package/dist/types/components/controls.d.ts +4 -1
  342. package/dist/types/components/dialog/dialog.d.ts +32 -41
  343. package/dist/types/components/divider/divider.d.ts +14 -9
  344. package/dist/types/components/dropdown/dropdown.d.ts +117 -125
  345. package/dist/types/components/form-message/form-message.d.ts +35 -25
  346. package/dist/types/components/icon/icon.d.ts +23 -24
  347. package/dist/types/components/icon/library.d.ts +3 -3
  348. package/dist/types/components/icon/request.d.ts +5 -9
  349. package/dist/types/components/icon-button/icon-button.d.ts +122 -0
  350. package/dist/types/components/icon-tab/icon-tab.d.ts +112 -0
  351. package/dist/types/components/inline-link/inline-link.d.ts +209 -191
  352. package/dist/types/components/input/input.d.ts +441 -368
  353. package/dist/types/components/label/label.d.ts +37 -24
  354. package/dist/types/components/list-item/list-item.d.ts +122 -0
  355. package/dist/types/components/loader/loader.d.ts +32 -0
  356. package/dist/types/components/menu-item/menu-item.d.ts +75 -0
  357. package/dist/types/components/mini-button/mini-button.d.ts +82 -0
  358. package/dist/types/components/progress-bar/progress-bar.d.ts +60 -0
  359. package/dist/types/components/radio/radio.d.ts +94 -95
  360. package/dist/types/components/select/select.d.ts +209 -0
  361. package/dist/types/components/shared.d.ts +6 -0
  362. package/dist/types/components/standalone-link/standalone-link.d.ts +234 -0
  363. package/dist/types/components/switch/switch.d.ts +122 -107
  364. package/dist/types/components/tab/tab.d.ts +157 -0
  365. package/dist/types/components/tabbar/tabbar.d.ts +91 -0
  366. package/dist/types/components/table/table.d.ts +14 -0
  367. package/dist/types/components/table-cell/table-cell.d.ts +39 -0
  368. package/dist/types/components/table-head-cell/table-head-cell.d.ts +56 -0
  369. package/dist/types/components/table-row/table-row.d.ts +14 -0
  370. package/dist/types/components/tag/tag.d.ts +55 -0
  371. package/dist/types/components/textarea/textarea.d.ts +295 -300
  372. package/dist/types/components/title/title.d.ts +39 -32
  373. package/dist/types/components/tooltip/tooltip.d.ts +111 -136
  374. package/dist/types/components.d.ts +4590 -929
  375. package/dist/types/helpers.d.ts +46 -19
  376. package/dist/types/index.d.ts +2 -1
  377. package/dist/types/interface-overrides.d.ts +215 -0
  378. package/dist/types/qds-test.d.ts +22 -11
  379. package/dist/types/stencil-public-runtime.d.ts +109 -17
  380. package/dist/types/utils.d.ts +11 -4
  381. package/dist/vscode.html-custom-data.json +2543 -426
  382. package/hydrate/index.d.ts +73 -18
  383. package/hydrate/index.js +32000 -9062
  384. package/hydrate/index.mjs +33081 -0
  385. package/hydrate/package.json +7 -1
  386. package/loader/cdn.js +3 -4
  387. package/loader/index.cjs.js +3 -4
  388. package/loader/index.d.ts +4 -1
  389. package/loader/index.es2017.js +3 -4
  390. package/loader/index.js +3 -4
  391. package/package.json +23 -180
  392. package/styles/core.css +156 -38
  393. package/components/floating-ui.dom.esm.js.map +0 -1
  394. package/components/helpers.js +0 -175
  395. package/components/helpers.js.map +0 -1
  396. package/components/icon.js +0 -185
  397. package/components/icon.js.map +0 -1
  398. package/components/label.js +0 -55
  399. package/components/label.js.map +0 -1
  400. package/dist/cjs/floating-ui.dom.esm-7f1cac3e.js.map +0 -1
  401. package/dist/cjs/helpers-452256e8.js +0 -185
  402. package/dist/cjs/helpers-452256e8.js.map +0 -1
  403. package/dist/cjs/index-d181f952.js +0 -2039
  404. package/dist/cjs/index-d181f952.js.map +0 -1
  405. package/dist/cjs/library-ad8d9466.js +0 -72
  406. package/dist/cjs/library-ad8d9466.js.map +0 -1
  407. package/dist/cjs/qds-button.cjs.entry.js.map +0 -1
  408. package/dist/cjs/qds-checkbox.cjs.entry.js +0 -116
  409. package/dist/cjs/qds-checkbox.cjs.entry.js.map +0 -1
  410. package/dist/cjs/qds-dialog.cjs.entry.js.map +0 -1
  411. package/dist/cjs/qds-divider.cjs.entry.js +0 -33
  412. package/dist/cjs/qds-divider.cjs.entry.js.map +0 -1
  413. package/dist/cjs/qds-dropdown.cjs.entry.js.map +0 -1
  414. package/dist/cjs/qds-form-message.cjs.entry.js.map +0 -1
  415. package/dist/cjs/qds-icon.cjs.entry.js.map +0 -1
  416. package/dist/cjs/qds-inline-link.cjs.entry.js.map +0 -1
  417. package/dist/cjs/qds-input.cjs.entry.js.map +0 -1
  418. package/dist/cjs/qds-label.cjs.entry.js.map +0 -1
  419. package/dist/cjs/qds-radio.cjs.entry.js +0 -74
  420. package/dist/cjs/qds-radio.cjs.entry.js.map +0 -1
  421. package/dist/cjs/qds-switch.cjs.entry.js.map +0 -1
  422. package/dist/cjs/qds-textarea.cjs.entry.js.map +0 -1
  423. package/dist/cjs/qds-title.cjs.entry.js.map +0 -1
  424. package/dist/cjs/qds-tooltip.cjs.entry.js.map +0 -1
  425. package/dist/esm/floating-ui.dom.esm-c2f3e549.js.map +0 -1
  426. package/dist/esm/helpers-76b84f45.js +0 -175
  427. package/dist/esm/helpers-76b84f45.js.map +0 -1
  428. package/dist/esm/index-d7183092.js +0 -2009
  429. package/dist/esm/index-d7183092.js.map +0 -1
  430. package/dist/esm/library-f36d7d09.js +0 -68
  431. package/dist/esm/library-f36d7d09.js.map +0 -1
  432. package/dist/esm/polyfills/core-js.js +0 -11
  433. package/dist/esm/polyfills/dom.js +0 -79
  434. package/dist/esm/polyfills/es5-html-element.js +0 -1
  435. package/dist/esm/polyfills/index.js +0 -34
  436. package/dist/esm/polyfills/system.js +0 -6
  437. package/dist/esm/qds-checkbox.entry.js +0 -112
  438. package/dist/esm/qds-checkbox.entry.js.map +0 -1
  439. package/dist/esm/qds-divider.entry.js +0 -29
  440. package/dist/esm/qds-divider.entry.js.map +0 -1
  441. package/dist/esm/qds-radio.entry.js +0 -70
  442. package/dist/esm/qds-radio.entry.js.map +0 -1
  443. package/dist/types/components/create-story.d.ts +0 -5
  444. package/loader/package.json +0 -11
@@ -0,0 +1,163 @@
1
+ /*!
2
+ * SPDX-FileCopyrightText: © 2026 Schneider Electric
3
+ *
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { r as registerInstance, c as createEvent, a as readTask, h, g as getElement } from './index-Hg1Liloy.js';
7
+ import { i as ignorePromise, p as pickFocusEventAttributes, a as invariant, b as isEllipsisActive } from './helpers-BIo9VDPx.js';
8
+
9
+ const actionItemCss = ":host([hidden]){display:none!important}:host{display:block}:host(:focus-visible){border-radius:var(--qds-control-border-radius);box-shadow:0 0 0 var(--qds-focus-heavy-border-width) var(--qds-theme-focus-border);outline:var(--qds-theme-focus-border-contrast) solid var(--qds-focus-light-border-width);outline-offset:0}.qds-disabled{opacity:var(--qds-theme-disabled);pointer-events:none}.qds-icon{flex-shrink:0}.qds-text{flex-grow:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}[aria-disabled=true]{opacity:var(--qds-theme-disabled);pointer-events:none}.qds-action-item{align-items:center;border:none;border-radius:var(--qds-control-border-radius);box-sizing:border-box;cursor:pointer;display:flex}.qds-action-item:hover{background-color:var(--qds-theme-interactive-background-hover)}.qds-action-item:active{background-color:var(--qds-theme-interactive-background-pressed)}.qds-action-item[data-size=small]{gap:var(--qds-list-item-small-gap-internal);min-height:var(--qds-list-item-small-height);padding-block:var(--qds-list-item-small-padding-vertical);padding-inline:var(--qds-list-item-small-padding-horizontal)}[data-size=small] .qds-icon{height:var(--qds-control-small-icon-size);width:var(--qds-control-small-icon-size)}[data-size=small] .qds-text{font:var(--qds-list-item-small-title)}.qds-action-item[data-size=standard]{gap:var(--qds-list-item-standard-gap-internal);min-height:var(--qds-list-item-standard-height);padding-block:var(--qds-list-item-standard-padding-vertical);padding-inline:var(--qds-list-item-standard-padding-horizontal)}[data-size=standard] .qds-icon{height:var(--qds-control-standard-icon-size);width:var(--qds-control-standard-icon-size)}[data-size=standard] .qds-text{font:var(--qds-list-item-standard-title)}.qds-action-item[data-size=large]{gap:var(--qds-list-item-large-gap-internal);min-height:var(--qds-list-item-large-height);padding-block:var(--qds-list-item-large-padding-vertical);padding-inline:var(--qds-list-item-large-padding-horizontal)}[data-size=large] .qds-icon{height:var(--qds-control-large-icon-size);width:var(--qds-control-large-icon-size)}[data-size=large] .qds-text{font:var(--qds-list-item-large-title)}[data-importance=standard] .qds-text{color:var(--qds-theme-text-standard)}[data-importance=standard] .qds-icon{color:var(--qds-theme-control-text-standard)}.qds-action-item[data-importance=emphasized] .qds-icon,.qds-action-item[data-importance=emphasized] .qds-text{color:var(--qds-theme-signature-color-default)}.qds-action-item[data-importance=emphasized]:hover .qds-icon,.qds-action-item[data-importance=emphasized]:hover .qds-text{color:var(--qds-theme-signature-color-hover)}.qds-action-item[data-importance=emphasized]:active .qds-icon,.qds-action-item[data-importance=emphasized]:active .qds-text{color:var(--qds-theme-signature-color-pressed)}.qds-action-item[data-importance=subdued] .qds-icon,.qds-action-item[data-importance=subdued] .qds-text{color:var(--qds-theme-link-standard-default)}.qds-action-item[data-importance=subdued]:hover .qds-icon,.qds-action-item[data-importance=subdued]:hover .qds-text{color:var(--qds-theme-link-standard-hover)}.qds-action-item[data-importance=subdued]:active .qds-icon,.qds-action-item[data-importance=subdued]:active .qds-text{color:var(--qds-theme-link-standard-pressed)}.qds-action-item[data-importance=destructive] .qds-icon,.qds-action-item[data-importance=destructive] .qds-text{color:var(--qds-theme-feedback-action-destructive-default)}.qds-action-item[data-importance=destructive]:hover .qds-icon,.qds-action-item[data-importance=destructive]:hover .qds-text{color:var(--qds-theme-feedback-action-destructive-hover)}.qds-action-item[data-importance=destructive]:active .qds-icon,.qds-action-item[data-importance=destructive]:active .qds-text{color:var(--qds-theme-feedback-action-destructive-pressed)}";
10
+
11
+ // SPDX-FileCopyrightText: © 2025 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 __classPrivateFieldSet = (undefined && undefined.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
22
+ if (kind === "m")
23
+ throw new TypeError("Private method is not writable");
24
+ if (kind === "a" && !f)
25
+ throw new TypeError("Private accessor was defined without a setter");
26
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver))
27
+ throw new TypeError("Cannot write private member to an object whose class did not declare it");
28
+ return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
29
+ };
30
+ var _ActionItem_instances, _ActionItem_ro, _ActionItem_span, _ActionItem_tooltipElement, _ActionItem_computedSize_get, _ActionItem_computedImportance_get, _ActionItem_computedDisabled_get, _ActionItem_spanRef, _ActionItem_tooltipRef;
31
+ const ActionItem = class {
32
+ constructor(hostRef) {
33
+ registerInstance(this, hostRef);
34
+ this.blurEmitter = createEvent(this, "qdsBlur", 2);
35
+ this.focusEmitter = createEvent(this, "qdsFocus", 2);
36
+ if (hostRef.$hostElement$["s-ei"]) {
37
+ this.internals = hostRef.$hostElement$["s-ei"];
38
+ }
39
+ else {
40
+ this.internals = hostRef.$hostElement$.attachInternals();
41
+ hostRef.$hostElement$["s-ei"] = this.internals;
42
+ }
43
+ _ActionItem_instances.add(this);
44
+ /**
45
+ * The action item's importance.
46
+ */
47
+ this.importance = 'standard';
48
+ /**
49
+ * Prevents the action item from being interacted with: it cannot be clicked
50
+ * or focused.
51
+ */
52
+ this.disabled = false;
53
+ /**
54
+ * The name of a registered icon library.
55
+ */
56
+ this.iconLibrary = 'default';
57
+ /**
58
+ * The action items's size.
59
+ */
60
+ this.size = 'standard';
61
+ this.tooltip = false;
62
+ _ActionItem_ro.set(this, void 0);
63
+ _ActionItem_span.set(this, void 0);
64
+ _ActionItem_tooltipElement.set(this, void 0);
65
+ _ActionItem_spanRef.set(this, (span) => {
66
+ __classPrivateFieldSet(this, _ActionItem_span, span, "f");
67
+ });
68
+ _ActionItem_tooltipRef.set(this, (tooltip) => {
69
+ __classPrivateFieldSet(this, _ActionItem_tooltipElement, tooltip, "f");
70
+ });
71
+ }
72
+ disabledChanged() {
73
+ this.internals.ariaDisabled = this.disabled.toString();
74
+ }
75
+ tooltipChanged(truncated) {
76
+ if (!__classPrivateFieldGet(this, _ActionItem_tooltipElement, "f"))
77
+ return;
78
+ __classPrivateFieldGet(this, _ActionItem_tooltipElement, "f").target = truncated ? this.host : undefined;
79
+ if (!truncated) {
80
+ ignorePromise(__classPrivateFieldGet(this, _ActionItem_tooltipElement, "f").close());
81
+ return;
82
+ }
83
+ if (document.activeElement === this.host &&
84
+ this.host.matches(':focus-visible'))
85
+ ignorePromise(__classPrivateFieldGet(this, _ActionItem_tooltipElement, "f").show());
86
+ }
87
+ onBlur(event) {
88
+ this.blurEmitter.emit(pickFocusEventAttributes(event));
89
+ }
90
+ onFocus(event) {
91
+ this.focusEmitter.emit(pickFocusEventAttributes(event));
92
+ }
93
+ onClick(event) {
94
+ if (__classPrivateFieldGet(this, _ActionItem_instances, "a", _ActionItem_computedDisabled_get))
95
+ event.stopImmediatePropagation();
96
+ }
97
+ onPointerleave() {
98
+ if (!__classPrivateFieldGet(this, _ActionItem_tooltipElement, "f"))
99
+ return;
100
+ if (this.host.matches(':focus-visible'))
101
+ return;
102
+ /**
103
+ * Close the tooltip when pointer hover ends unless the item has keyboard-visible focus.
104
+ * This avoids sticky hover tooltips on auto-focused first dropdown items.
105
+ * */
106
+ ignorePromise(__classPrivateFieldGet(this, _ActionItem_tooltipElement, "f").close());
107
+ }
108
+ componentWillLoad() {
109
+ this.internals.role = 'menuitem';
110
+ this.disabledChanged();
111
+ }
112
+ componentDidLoad() {
113
+ invariant(__classPrivateFieldGet(this, _ActionItem_span, "f"));
114
+ const span = __classPrivateFieldGet(this, _ActionItem_span, "f");
115
+ readTask(() => {
116
+ this.tooltip = isEllipsisActive(span);
117
+ });
118
+ __classPrivateFieldSet(this, _ActionItem_ro, new ResizeObserver(([spanEntry]) => {
119
+ this.tooltip = isEllipsisActive(spanEntry.target);
120
+ }), "f");
121
+ __classPrivateFieldGet(this, _ActionItem_ro, "f").observe(__classPrivateFieldGet(this, _ActionItem_span, "f"));
122
+ }
123
+ render() {
124
+ return (h("div", { key: '1299e2b225c006c503772ffe991845dd3146e771', class: {
125
+ 'qds-action-item': true,
126
+ 'qds-disabled': this.disabled,
127
+ }, "data-size": __classPrivateFieldGet(this, _ActionItem_instances, "a", _ActionItem_computedSize_get), "data-importance": __classPrivateFieldGet(this, _ActionItem_instances, "a", _ActionItem_computedImportance_get) }, this.iconName !== undefined && this.iconName !== '' && (h("qds-icon", { key: 'd842b78eb7ae8c7b0c1d5f39a77187dd34a03750', class: "qds-icon", "data-size": __classPrivateFieldGet(this, _ActionItem_instances, "a", _ActionItem_computedSize_get), library: this.iconLibrary, name: this.iconName })), h("span", { key: '9caa7922530dcc476fd28ff792b289c4f592f355', class: "qds-text", "data-size": __classPrivateFieldGet(this, _ActionItem_instances, "a", _ActionItem_computedSize_get), ref: __classPrivateFieldGet(this, _ActionItem_spanRef, "f") }, this.text), this.action !== undefined && (h("qds-icon", { key: 'ea40683d2db0ed4cdfde76a3ee5e651a38ea5e95', class: "qds-icon", "data-size": __classPrivateFieldGet(this, _ActionItem_instances, "a", _ActionItem_computedSize_get), name: this.action, library: "core", "aria-label": this.actionDescription, role: "img" })), h("qds-tooltip", { key: '922793a63f11063dcc56c242d2f8bf04995c0a5a', "aria-hidden": "true", ref: __classPrivateFieldGet(this, _ActionItem_tooltipRef, "f") }, this.text)));
128
+ }
129
+ get host() { return getElement(this); }
130
+ static get watchers() { return {
131
+ "disabled": ["disabledChanged"],
132
+ "tooltip": ["tooltipChanged"]
133
+ }; }
134
+ };
135
+ _ActionItem_ro = new WeakMap(), _ActionItem_span = new WeakMap(), _ActionItem_tooltipElement = new WeakMap(), _ActionItem_spanRef = new WeakMap(), _ActionItem_tooltipRef = new WeakMap(), _ActionItem_instances = new WeakSet(), _ActionItem_computedSize_get = function _ActionItem_computedSize_get() {
136
+ switch (this.size) {
137
+ case 'standard':
138
+ case 'small':
139
+ case 'large': {
140
+ return this.size;
141
+ }
142
+ default: {
143
+ return 'standard';
144
+ }
145
+ }
146
+ }, _ActionItem_computedImportance_get = function _ActionItem_computedImportance_get() {
147
+ switch (this.importance) {
148
+ case 'emphasized':
149
+ case 'subdued':
150
+ case 'destructive': {
151
+ return this.importance;
152
+ }
153
+ default: {
154
+ return 'standard';
155
+ }
156
+ }
157
+ }, _ActionItem_computedDisabled_get = function _ActionItem_computedDisabled_get() {
158
+ return this.disabled;
159
+ };
160
+ ActionItem.style = actionItemCss;
161
+
162
+ export { ActionItem as qds_action_item };
163
+ //# sourceMappingURL=qds-action-item.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"qds-action-item.entry.js","sources":["src/components/action-item/action-item.css?tag=qds-action-item&encapsulation=shadow","src/components/action-item/action-item.tsx"],"sourcesContent":["/*\n * SPDX-FileCopyrightText: © 2025 Schneider Electric\n *\n * SPDX-License-Identifier: Apache-2.0\n */\n\n@import url('../shared.css');\n\n:host {\n display: block;\n}\n\n:host(:focus-visible) {\n /* inner ring */\n outline: var(--qds-theme-focus-border-contrast) solid\n var(--qds-focus-light-border-width);\n outline-offset: 0;\n\n /* outer ring */\n box-shadow: 0 0 0 var(--qds-focus-heavy-border-width)\n var(--qds-theme-focus-border);\n border-radius: var(--qds-control-border-radius);\n}\n\n.qds-disabled {\n opacity: var(--qds-theme-disabled);\n pointer-events: none;\n}\n\n.qds-icon {\n flex-shrink: 0;\n}\n\n.qds-text {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n flex-grow: 1;\n}\n\n[aria-disabled='true'] {\n opacity: var(--qds-theme-disabled);\n pointer-events: none;\n}\n\n.qds-action-item {\n align-items: center;\n box-sizing: border-box;\n display: flex;\n border: none;\n cursor: pointer;\n border-radius: var(--qds-control-border-radius);\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\n[data-size='small'] {\n &.qds-action-item {\n gap: var(--qds-list-item-small-gap-internal);\n min-height: var(--qds-list-item-small-height);\n padding-block: var(--qds-list-item-small-padding-vertical);\n padding-inline: var(--qds-list-item-small-padding-horizontal);\n }\n\n .qds-icon {\n height: var(--qds-control-small-icon-size);\n width: var(--qds-control-small-icon-size);\n }\n\n .qds-text {\n font: var(--qds-list-item-small-title);\n }\n}\n\n[data-size='standard'] {\n &.qds-action-item {\n gap: var(--qds-list-item-standard-gap-internal);\n min-height: var(--qds-list-item-standard-height);\n padding-block: var(--qds-list-item-standard-padding-vertical);\n padding-inline: var(--qds-list-item-standard-padding-horizontal);\n }\n\n .qds-icon {\n height: var(--qds-control-standard-icon-size);\n width: var(--qds-control-standard-icon-size);\n }\n\n .qds-text {\n font: var(--qds-list-item-standard-title);\n }\n}\n\n[data-size='large'] {\n &.qds-action-item {\n gap: var(--qds-list-item-large-gap-internal);\n min-height: var(--qds-list-item-large-height);\n padding-block: var(--qds-list-item-large-padding-vertical);\n padding-inline: var(--qds-list-item-large-padding-horizontal);\n }\n\n .qds-icon {\n height: var(--qds-control-large-icon-size);\n width: var(--qds-control-large-icon-size);\n }\n\n .qds-text {\n font: var(--qds-list-item-large-title);\n }\n}\n\n[data-importance='standard'] {\n .qds-text {\n color: var(--qds-theme-text-standard);\n }\n\n .qds-icon {\n color: var(--qds-theme-control-text-standard);\n }\n}\n\n[data-importance='emphasized'] {\n &.qds-action-item {\n .qds-text,\n .qds-icon {\n color: var(--qds-theme-signature-color-default);\n }\n\n &:hover {\n .qds-text,\n .qds-icon {\n color: var(--qds-theme-signature-color-hover);\n }\n }\n\n &:active {\n .qds-text,\n .qds-icon {\n color: var(--qds-theme-signature-color-pressed);\n }\n }\n }\n}\n\n[data-importance='subdued'] {\n &.qds-action-item {\n .qds-text,\n .qds-icon {\n color: var(--qds-theme-link-standard-default);\n }\n\n &:hover {\n .qds-text,\n .qds-icon {\n color: var(--qds-theme-link-standard-hover);\n }\n }\n\n &:active {\n .qds-text,\n .qds-icon {\n color: var(--qds-theme-link-standard-pressed);\n }\n }\n }\n}\n\n[data-importance='destructive'] {\n &.qds-action-item {\n .qds-text,\n .qds-icon {\n color: var(--qds-theme-feedback-action-destructive-default);\n }\n\n &:hover {\n .qds-text,\n .qds-icon {\n color: var(--qds-theme-feedback-action-destructive-hover);\n }\n }\n\n &:active {\n .qds-text,\n .qds-icon {\n color: var(--qds-theme-feedback-action-destructive-pressed);\n }\n }\n }\n}\n","// SPDX-FileCopyrightText: © 2025 Schneider Electric\n//\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { ComponentInterface, EventEmitter } from '@stencil/core'\nimport {\n AttachInternals,\n Component,\n Element,\n Event,\n h,\n Listen,\n Prop,\n readTask,\n State,\n Watch,\n} from '@stencil/core'\n\nimport type { QdsFocusEventDetail } from '../../helpers'\nimport {\n ignorePromise,\n invariant,\n isEllipsisActive,\n pickFocusEventAttributes,\n} from '../../helpers'\nimport type { Importance, Size } from '../shared'\n\nexport type ActionItemImportance = Importance | 'destructive'\n\n/**\n *\n *\n * @see https://quartz.se.com/build/components/action-item\n */\n@Component({\n tag: 'qds-action-item',\n shadow: true,\n styleUrl: 'action-item.css',\n})\nexport class ActionItem implements ComponentInterface {\n /**\n * The action item's importance.\n */\n @Prop() public readonly importance?: ActionItemImportance = 'standard'\n\n /**\n * Prevents the action item from being interacted with: it cannot be clicked\n * or focused.\n */\n @Prop({ reflect: true }) public readonly disabled: boolean = false\n\n /**\n * The name of the icon to render.\n *\n * Available names depend on the icon library being used.\n */\n @Prop() public readonly iconName?: string\n\n /**\n * The name of a registered icon library.\n */\n @Prop() public readonly iconLibrary: string = 'default'\n\n /**\n * The name of the action icon to render.\n *\n * Available names exist on the core icon library.\n */\n @Prop() public readonly action?: string\n\n /**\n * The action icon's accessible text that will be used by\n * screen readers.\n */\n @Prop() public readonly actionDescription?: string\n\n /**\n * The action items's size.\n */\n @Prop() public readonly size?: Size = 'standard'\n\n /**\n * The action item's text.\n */\n @Prop() public readonly text!: string\n\n @State() private tooltip = false\n\n /**\n * Emitted when the action item loses focus.\n */\n @Event({ eventName: 'qdsBlur', bubbles: false, cancelable: false })\n private readonly blurEmitter!: EventEmitter<QdsFocusEventDetail>\n\n /**\n * Emitted when the action item 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 #ro?: ResizeObserver\n\n #span?: HTMLSpanElement\n\n #tooltipElement?: HTMLQdsTooltipElement\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 #computedImportance(): ActionItemImportance {\n switch (this.importance) {\n case 'emphasized':\n case 'subdued':\n case 'destructive': {\n return this.importance\n }\n default: {\n return 'standard'\n }\n }\n }\n\n get #computedDisabled(): boolean {\n return this.disabled\n }\n\n @Watch('disabled')\n protected disabledChanged(): void {\n this.internals.ariaDisabled = this.disabled.toString()\n }\n\n @Watch('tooltip')\n protected tooltipChanged(truncated: boolean): void {\n if (!this.#tooltipElement) return\n this.#tooltipElement.target = truncated ? this.host : undefined\n if (!truncated) {\n ignorePromise(this.#tooltipElement.close())\n return\n }\n\n if (\n document.activeElement === this.host &&\n this.host.matches(':focus-visible')\n )\n ignorePromise(this.#tooltipElement.show())\n }\n\n @Listen('blur')\n protected onBlur(event: FocusEvent): void {\n this.blurEmitter.emit(pickFocusEventAttributes(event))\n }\n\n @Listen('focus')\n protected onFocus(event: FocusEvent): void {\n this.focusEmitter.emit(pickFocusEventAttributes(event))\n }\n\n @Listen('click')\n protected onClick(event: MouseEvent): void {\n if (this.#computedDisabled) event.stopImmediatePropagation()\n }\n\n @Listen('pointerleave')\n protected onPointerleave(): void {\n if (!this.#tooltipElement) return\n if (this.host.matches(':focus-visible')) return\n /**\n * Close the tooltip when pointer hover ends unless the item has keyboard-visible focus.\n * This avoids sticky hover tooltips on auto-focused first dropdown items.\n * */\n ignorePromise(this.#tooltipElement.close())\n }\n\n public componentWillLoad(): void {\n this.internals.role = 'menuitem'\n this.disabledChanged()\n }\n\n public componentDidLoad(): void {\n invariant(this.#span)\n\n const span = this.#span\n readTask(() => {\n this.tooltip = isEllipsisActive(span)\n })\n this.#ro = new ResizeObserver(([spanEntry]) => {\n this.tooltip = isEllipsisActive(spanEntry.target as HTMLSpanElement)\n })\n this.#ro.observe(this.#span)\n }\n\n public render() {\n return (\n <div\n class={{\n 'qds-action-item': true,\n 'qds-disabled': this.disabled,\n }}\n data-size={this.#computedSize}\n data-importance={this.#computedImportance}\n >\n {this.iconName !== undefined && this.iconName !== '' && (\n <qds-icon\n class=\"qds-icon\"\n data-size={this.#computedSize}\n library={this.iconLibrary}\n name={this.iconName}\n />\n )}\n <span\n class=\"qds-text\"\n data-size={this.#computedSize}\n ref={this.#spanRef}\n >\n {this.text}\n </span>\n\n {this.action !== undefined && (\n <qds-icon\n class=\"qds-icon\"\n data-size={this.#computedSize}\n name={this.action}\n library=\"core\"\n aria-label={this.actionDescription}\n role=\"img\"\n />\n )}\n <qds-tooltip aria-hidden=\"true\" ref={this.#tooltipRef}>\n {this.text}\n </qds-tooltip>\n </div>\n )\n }\n\n readonly #spanRef = (span?: HTMLSpanElement): void => {\n this.#span = span\n }\n\n readonly #tooltipRef = (tooltip?: HTMLQdsTooltipElement): void => {\n this.#tooltipElement = tooltip\n }\n}\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,103 @@
1
+ /*!
2
+ * SPDX-FileCopyrightText: © 2026 Schneider Electric
3
+ *
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { r as registerInstance, c as createEvent, h } from './index-Hg1Liloy.js';
7
+
8
+ const avatarMediaCss = ":host([hidden]){display:none!important}:host{display:block}.qds-container{align-items:center;align-self:stretch;background:var(--qds-theme-display-background);border:var(--qds-display-border-width) solid var(--qds-theme-display-background-contrast);border-radius:var(--qds-display-rounded-border-radius);display:flex;height:inherit;justify-content:center;width:inherit}.qds-picture{border-radius:inherit;flex-shrink:0;height:100%;object-fit:cover;width:100%}.qds-icon,.qds-text{color:var(--qds-theme-display-background-contrast)}.qds-text{font:var(--qds-display-standard-kicker);text-align:center}.qds-sr-only{clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}";
9
+
10
+ // SPDX-FileCopyrightText: © 2025 Schneider Electric
11
+ //
12
+ // SPDX-License-Identifier: Apache-2.0
13
+ var __classPrivateFieldGet = (undefined && undefined.__classPrivateFieldGet) || function (receiver, state, kind, f) {
14
+ if (kind === "a" && !f)
15
+ throw new TypeError("Private accessor was defined without a getter");
16
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver))
17
+ throw new TypeError("Cannot read private member from an object whose class did not declare it");
18
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
19
+ };
20
+ var _AvatarMedia_renderContent, _AvatarMedia_handleImageError, _AvatarMedia_handleImageLoad;
21
+ const AvatarMedia = class {
22
+ constructor(hostRef) {
23
+ registerInstance(this, hostRef);
24
+ this.loadEmitter = createEvent(this, "qdsLoad", 6);
25
+ this.errorEmitter = createEvent(this, "qdsError", 6);
26
+ if (hostRef.$hostElement$["s-ei"]) {
27
+ this.internals = hostRef.$hostElement$["s-ei"];
28
+ }
29
+ else {
30
+ this.internals = hostRef.$hostElement$.attachInternals();
31
+ hostRef.$hostElement$["s-ei"] = this.internals;
32
+ }
33
+ /**
34
+ * The name of a registered icon library.
35
+ */
36
+ this.iconLibrary = 'default';
37
+ this.hasImageError = false;
38
+ _AvatarMedia_renderContent.set(this, () => {
39
+ if (this.src !== undefined && this.src !== '' && !this.hasImageError)
40
+ return (h("img", { "aria-hidden": "true", class: "qds-picture", src: this.src, alt: this.alt, onError: __classPrivateFieldGet(this, _AvatarMedia_handleImageError, "f"), onLoad: __classPrivateFieldGet(this, _AvatarMedia_handleImageLoad, "f") }));
41
+ if (this.iconName !== undefined && this.iconName !== '')
42
+ return (h("qds-icon", { class: "qds-icon", name: this.iconName, library: this.iconLibrary }));
43
+ if (this.text !== undefined && this.text !== '')
44
+ return (h("span", { "aria-hidden": "true", class: "qds-text" }, this.initials));
45
+ return h("qds-icon", { class: "qds-icon", name: "user", library: "core" });
46
+ });
47
+ _AvatarMedia_handleImageError.set(this, () => {
48
+ this.hasImageError = true;
49
+ this.roleChanged();
50
+ this.errorEmitter.emit();
51
+ });
52
+ _AvatarMedia_handleImageLoad.set(this, () => {
53
+ this.hasImageError = false;
54
+ this.roleChanged();
55
+ this.loadEmitter.emit();
56
+ });
57
+ }
58
+ textChanged() {
59
+ if (this.text === undefined || this.text === '') {
60
+ this.initials = undefined;
61
+ return;
62
+ }
63
+ const words = this.text.trim().split(' ');
64
+ const [first = '', second = ''] = words.filter(Boolean);
65
+ this.initials = (first.charAt(0) + (second.charAt(0) || '')).toLocaleUpperCase();
66
+ }
67
+ roleChanged() {
68
+ const hasSource = this.src !== undefined && this.src !== '' && !this.hasImageError;
69
+ const hasIcon = this.iconName !== undefined && this.iconName !== '';
70
+ const hasText = this.text !== undefined && this.text !== '';
71
+ const hasFallbackIcon = !hasSource && !hasIcon && !hasText;
72
+ const isImgMode = hasSource || hasIcon || hasFallbackIcon;
73
+ if (isImgMode)
74
+ this.internals.role = 'img';
75
+ else if (hasText)
76
+ this.internals.role = 'generic';
77
+ else
78
+ this.internals.role = 'presentation';
79
+ this.internals.ariaLabel =
80
+ isImgMode && this.alt !== undefined && this.alt !== ''
81
+ ? this.alt
82
+ : // eslint-disable-next-line unicorn/no-null
83
+ null;
84
+ }
85
+ componentWillLoad() {
86
+ this.textChanged();
87
+ this.roleChanged();
88
+ }
89
+ render() {
90
+ return h("div", { key: 'ac301d086b8cc5fa51eda1f39a49ce7120af96df', class: "qds-container" }, __classPrivateFieldGet(this, _AvatarMedia_renderContent, "f").call(this));
91
+ }
92
+ static get watchers() { return {
93
+ "text": ["textChanged", "roleChanged"],
94
+ "src": ["roleChanged"],
95
+ "iconName": ["roleChanged"],
96
+ "alt": ["roleChanged"]
97
+ }; }
98
+ };
99
+ _AvatarMedia_renderContent = new WeakMap(), _AvatarMedia_handleImageError = new WeakMap(), _AvatarMedia_handleImageLoad = new WeakMap();
100
+ AvatarMedia.style = avatarMediaCss;
101
+
102
+ export { AvatarMedia as qds_avatar_media };
103
+ //# sourceMappingURL=qds-avatar-media.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"qds-avatar-media.entry.js","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-text {\n text-align: center;\n font: var(--qds-display-standard-kicker);\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('src')\n @Watch('text')\n @Watch('iconName')\n @Watch('alt')\n private roleChanged(): void {\n const hasSource =\n this.src !== undefined && this.src !== '' && !this.hasImageError\n const hasIcon = this.iconName !== undefined && this.iconName !== ''\n const hasText = this.text !== undefined && this.text !== ''\n const hasFallbackIcon = !hasSource && !hasIcon && !hasText\n const isImgMode = hasSource || hasIcon || hasFallbackIcon\n\n if (isImgMode) this.internals.role = 'img'\n else if (hasText) this.internals.role = 'generic'\n else this.internals.role = 'presentation'\n\n this.internals.ariaLabel =\n isImgMode && this.alt !== undefined && this.alt !== ''\n ? this.alt\n : // eslint-disable-next-line unicorn/no-null\n null\n }\n\n public componentWillLoad(): Promise<void> | void {\n this.textChanged()\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.iconName !== undefined && this.iconName !== '')\n return (\n <qds-icon\n class=\"qds-icon\"\n name={this.iconName}\n library={this.iconLibrary}\n />\n )\n if (this.text !== undefined && this.text !== '')\n return (\n <span aria-hidden=\"true\" class=\"qds-text\">\n {this.initials}\n </span>\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"],"names":[],"mappings":"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"}
@@ -0,0 +1,68 @@
1
+ /*!
2
+ * SPDX-FileCopyrightText: © 2026 Schneider Electric
3
+ *
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { r as registerInstance, h } from './index-Hg1Liloy.js';
7
+
8
+ const avatarCss = ":host([hidden]){display:none!important}:host{display:block}.qds-avatar,.qds-label-container{display:inline-flex;justify-content:center;position:relative}.qds-avatar-vertical,.qds-label-container{flex-direction:column}.qds-avatar-vertical{align-items:center}.qds-avatar-vertical .qds-label-container{text-align:center}.qds-avatar-media-wrapper{flex-shrink:0;position:relative}.qds-label{color:var(--qds-theme-title)}.qds-kicker{color:var(--qds-theme-kicker)}.qds-indicator{inset-block-start:0;inset-inline-end:0;position:absolute;transform:translate(50%,-50%)}.qds-avatar[data-size=large]{gap:var(--qds-list-item-large-gap-internal)}[data-size=large] .qds-avatar-media{height:var(--qds-display-avatar-large-size);width:var(--qds-display-avatar-large-size)}[data-size=large] .qds-label-container{gap:var(--qds-list-item-large-titles-gap)}[data-size=large] .qds-label{font:var(--qds-list-item-large-title)}[data-size=large] .qds-kicker{font:var(--qds-list-item-large-kicker)}.qds-avatar[data-size=standard]{gap:var(--qds-list-item-standard-gap-internal)}[data-size=standard] .qds-avatar-media{height:var(--qds-display-avatar-standard-size);width:var(--qds-display-avatar-standard-size)}[data-size=standard] .qds-label-container{gap:var(--qds-list-item-standard-titles-gap)}[data-size=standard] .qds-label{font:var(--qds-list-item-standard-title)}[data-size=standard] .qds-kicker{font:var(--qds-list-item-standard-kicker)}.qds-avatar[data-size=small]{gap:var(--qds-list-item-small-gap-internal)}[data-size=small] .qds-avatar-media{height:var(--qds-display-avatar-small-size);width:var(--qds-display-avatar-small-size)}[data-size=small] .qds-label-container{gap:var(--qds-list-item-small-titles-gap)}[data-size=small] .qds-label{font:var(--qds-list-item-small-title)}[data-size=small] .qds-kicker{font:var(--qds-list-item-small-kicker)}";
9
+
10
+ // SPDX-FileCopyrightText: © 2026 Schneider Electric
11
+ //
12
+ // SPDX-License-Identifier: Apache-2.0
13
+ var __classPrivateFieldGet = (undefined && undefined.__classPrivateFieldGet) || function (receiver, state, kind, f) {
14
+ if (kind === "a" && !f)
15
+ throw new TypeError("Private accessor was defined without a getter");
16
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver))
17
+ throw new TypeError("Cannot read private member from an object whose class did not declare it");
18
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
19
+ };
20
+ var _Avatar_instances, _Avatar_computedSize_get;
21
+ const Avatar = class {
22
+ constructor(hostRef) {
23
+ registerInstance(this, hostRef);
24
+ _Avatar_instances.add(this);
25
+ /**
26
+ * The name of a registered icon library.
27
+ */
28
+ this.iconLibrary = 'default';
29
+ /**
30
+ * The avatar's size.
31
+ */
32
+ this.size = 'standard';
33
+ /**
34
+ * Display the avatar in a vertical direction.
35
+ */
36
+ this.vertical = false;
37
+ /**
38
+ * Displays an indicator if `true`.
39
+ */
40
+ this.badge = false;
41
+ /**
42
+ * The indicator's status.
43
+ */
44
+ this.badgeIndicatorStatus = 'success';
45
+ }
46
+ render() {
47
+ const hasLabel = this.label !== undefined && this.label !== '';
48
+ const hasAlt = this.avatarAlt !== undefined && this.avatarAlt !== '';
49
+ const hasKicker = this.kicker !== undefined && this.kicker !== '';
50
+ return (h("div", { key: 'df04ee473b689f1d0315b7346d77d93d66fb8abf', class: { 'qds-avatar': true, 'qds-avatar-vertical': this.vertical }, "data-size": __classPrivateFieldGet(this, _Avatar_instances, "a", _Avatar_computedSize_get) }, h("div", { key: '77682dc8297bc75252f92db6907de27f40c3ed4f', class: "qds-avatar-media-wrapper" }, h("qds-avatar-media", { key: 'e4062d40f2d91f958bac93de8a4d010c14dc6fc6', class: "qds-avatar-media", "aria-hidden": hasAlt ? undefined : 'true', src: this.avatarSrc, alt: this.avatarAlt, iconName: this.iconName, iconLibrary: this.iconLibrary, text: this.label }), (this.badge ?? false) && (h("qds-badge-indicator", { key: 'b074d5844b847890ba3531eb34ae5b5447714871', class: "qds-indicator", status: this.badgeIndicatorStatus, description: this.badgeDescription, size: __classPrivateFieldGet(this, _Avatar_instances, "a", _Avatar_computedSize_get), strokeRing: true }))), (hasLabel || hasKicker) && (h("div", { key: 'b00b1cbc34d71655bad3ba9290acead687469bce', class: "qds-label-container" }, hasLabel && h("strong", { key: '2b7df27b74c8dd1bb5a77ec54ef46a1e4034edb9', class: "qds-label" }, this.label), hasKicker && h("div", { key: '8a81525400061561e265ce5dfebc162a5ecbe04a', class: "qds-kicker" }, this.kicker)))));
51
+ }
52
+ };
53
+ _Avatar_instances = new WeakSet(), _Avatar_computedSize_get = function _Avatar_computedSize_get() {
54
+ switch (this.size) {
55
+ case 'standard':
56
+ case 'small':
57
+ case 'large': {
58
+ return this.size;
59
+ }
60
+ default: {
61
+ return 'standard';
62
+ }
63
+ }
64
+ };
65
+ Avatar.style = avatarCss;
66
+
67
+ export { Avatar as qds_avatar };
68
+ //# sourceMappingURL=qds-avatar.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"qds-avatar.entry.js","sources":["src/components/avatar/avatar.css?tag=qds-avatar&encapsulation=shadow","src/components/avatar/avatar.tsx"],"sourcesContent":["/*\n * SPDX-FileCopyrightText: © 2026 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-label-container,\n.qds-avatar {\n display: inline-flex;\n position: relative;\n justify-content: center;\n}\n\n.qds-label-container {\n flex-direction: column;\n}\n\n.qds-avatar-vertical {\n flex-direction: column;\n align-items: center;\n}\n\n.qds-avatar-vertical .qds-label-container {\n text-align: center;\n}\n\n.qds-avatar-media-wrapper {\n position: relative;\n flex-shrink: 0;\n}\n\n.qds-label {\n color: var(--qds-theme-title);\n}\n\n.qds-kicker {\n color: var(--qds-theme-kicker);\n}\n\n.qds-indicator {\n position: absolute;\n transform: translate(50%, -50%);\n inset-block-start: 0;\n inset-inline-end: 0;\n}\n\n[data-size='large'] {\n &.qds-avatar {\n gap: var(--qds-list-item-large-gap-internal);\n }\n\n .qds-avatar-media {\n width: var(--qds-display-avatar-large-size);\n height: var(--qds-display-avatar-large-size);\n }\n\n .qds-label-container {\n gap: var(--qds-list-item-large-titles-gap);\n }\n\n .qds-label {\n font: var(--qds-list-item-large-title);\n }\n\n .qds-kicker {\n font: var(--qds-list-item-large-kicker);\n }\n}\n\n[data-size='standard'] {\n &.qds-avatar {\n gap: var(--qds-list-item-standard-gap-internal);\n }\n\n .qds-avatar-media {\n width: var(--qds-display-avatar-standard-size);\n height: var(--qds-display-avatar-standard-size);\n }\n\n .qds-label-container {\n gap: var(--qds-list-item-standard-titles-gap);\n }\n\n .qds-label {\n font: var(--qds-list-item-standard-title);\n }\n\n .qds-kicker {\n font: var(--qds-list-item-standard-kicker);\n }\n}\n\n[data-size='small'] {\n &.qds-avatar {\n gap: var(--qds-list-item-small-gap-internal);\n }\n\n .qds-avatar-media {\n width: var(--qds-display-avatar-small-size);\n height: var(--qds-display-avatar-small-size);\n }\n\n .qds-label-container {\n gap: var(--qds-list-item-small-titles-gap);\n }\n\n .qds-label {\n font: var(--qds-list-item-small-title);\n }\n\n .qds-kicker {\n font: var(--qds-list-item-small-kicker);\n }\n}\n","// SPDX-FileCopyrightText: © 2026 Schneider Electric\n//\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { ComponentInterface } from '@stencil/core'\nimport { Component, h, Prop, Watch } from '@stencil/core'\n\nimport type { Size } from '../shared'\n\n/**\n * The avatar component is a visual representation of a user or entity, typically through a profile picture, icon, or initials.\n * It is used to provide a consistent way to identify users across different parts of an interface,\n * such as messages, comments, or user profiles.\n *\n * @see https://quartz.se.com/build/components/avatar\n */\n@Component({\n tag: 'qds-avatar',\n shadow: true,\n styleUrl: 'avatar.css',\n})\nexport class Avatar implements ComponentInterface {\n /**\n * The URL of the avatar image to display.\n */\n @Prop() public readonly avatarSrc?: string\n\n /**\n * The alt text for the avatar's image.\n */\n @Prop() public readonly avatarAlt?: 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 * Text to display for the kicker.\n */\n @Prop() public readonly kicker?: string\n\n /**\n * Text to display for the label.\n */\n @Prop() public readonly label?: string\n\n /**\n * The avatar's size.\n */\n @Prop() public readonly size?: Size = 'standard'\n\n /**\n * Display the avatar in a vertical direction.\n */\n @Prop() public readonly vertical: boolean = false\n\n /**\n * Displays an indicator if `true`.\n */\n @Prop() public readonly badge?: boolean = false\n\n /**\n * The indicator badge's accessible text that will be used by\n * screen readers.\n */\n @Prop() public readonly badgeDescription?: string\n\n /**\n * The indicator's status.\n */\n @Prop()\n public readonly badgeIndicatorStatus?: HTMLQdsBadgeIndicatorElement['status'] =\n 'success'\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 public render() {\n const hasLabel = this.label !== undefined && this.label !== ''\n const hasAlt = this.avatarAlt !== undefined && this.avatarAlt !== ''\n const hasKicker = this.kicker !== undefined && this.kicker !== ''\n\n return (\n <div\n class={{ 'qds-avatar': true, 'qds-avatar-vertical': this.vertical }}\n data-size={this.#computedSize}\n >\n <div class=\"qds-avatar-media-wrapper\">\n <qds-avatar-media\n class=\"qds-avatar-media\"\n aria-hidden={hasAlt ? undefined : 'true'}\n src={this.avatarSrc}\n alt={this.avatarAlt}\n iconName={this.iconName}\n iconLibrary={this.iconLibrary}\n text={this.label}\n />\n\n {(this.badge ?? false) && (\n <qds-badge-indicator\n class=\"qds-indicator\"\n status={this.badgeIndicatorStatus}\n description={this.badgeDescription}\n size={this.#computedSize}\n strokeRing\n />\n )}\n </div>\n\n {(hasLabel || hasKicker) && (\n <div class=\"qds-label-container\">\n {hasLabel && <strong class=\"qds-label\">{this.label}</strong>}\n {hasKicker && <div class=\"qds-kicker\">{this.kicker}</div>}\n </div>\n )}\n </div>\n )\n }\n}\n"],"names":[],"mappings":";;;;;;;AAAA,MAAM,SAAS,GAAG,yyDAAyyD;;ACA3zD;AACA;AACA;;;;;;;;;MAmBa,MAAM,GAAA,MAAA;AALnB,IAAA,WAAA,CAAA,OAAA,EAAA;;;AAuBE;;AAEG;AACqB,QAAA,IAAW,CAAA,WAAA,GAAY,SAAS;AAYxD;;AAEG;AACqB,QAAA,IAAI,CAAA,IAAA,GAAU,UAAU;AAEhD;;AAEG;AACqB,QAAA,IAAQ,CAAA,QAAA,GAAY,KAAK;AAEjD;;AAEG;AACqB,QAAA,IAAK,CAAA,KAAA,GAAa,KAAK;AAQ/C;;AAEG;AAEa,QAAA,IAAoB,CAAA,oBAAA,GAClC,SAAS;AAwDZ;IAzCQ,MAAM,GAAA;AACX,QAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,KAAK,SAAS,IAAI,IAAI,CAAC,KAAK,KAAK,EAAE;AAC9D,QAAA,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,KAAK,SAAS,IAAI,IAAI,CAAC,SAAS,KAAK,EAAE;AACpE,QAAA,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,KAAK,SAAS,IAAI,IAAI,CAAC,MAAM,KAAK,EAAE;QAEjE,QACE,CACE,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,qBAAqB,EAAE,IAAI,CAAC,QAAQ,EAAE,EACxD,WAAA,EAAA,sBAAA,CAAA,IAAI,EAAc,iBAAA,EAAA,GAAA,EAAA,wBAAA,CAAA,EAAA,EAE7B,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,0BAA0B,EAAA,EACnC,CAAA,CAAA,kBAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EACE,KAAK,EAAC,kBAAkB,iBACX,MAAM,GAAG,SAAS,GAAG,MAAM,EACxC,GAAG,EAAE,IAAI,CAAC,SAAS,EACnB,GAAG,EAAE,IAAI,CAAC,SAAS,EACnB,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,WAAW,EAAE,IAAI,CAAC,WAAW,EAC7B,IAAI,EAAE,IAAI,CAAC,KAAK,EAChB,CAAA,EAED,CAAC,IAAI,CAAC,KAAK,IAAI,KAAK,MACnB,CAAA,CAAA,qBAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EACE,KAAK,EAAC,eAAe,EACrB,MAAM,EAAE,IAAI,CAAC,oBAAoB,EACjC,WAAW,EAAE,IAAI,CAAC,gBAAgB,EAClC,IAAI,EAAE,sBAAA,CAAA,IAAI,EAAc,iBAAA,EAAA,GAAA,EAAA,wBAAA,CAAA,EACxB,UAAU,EAAA,IAAA,EAAA,CACV,CACH,CACG,EAEL,CAAC,QAAQ,IAAI,SAAS,MACrB,CAAA,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAK,KAAK,EAAC,qBAAqB,EAAA,EAC7B,QAAQ,IAAI,+DAAQ,KAAK,EAAC,WAAW,EAAE,EAAA,IAAI,CAAC,KAAK,CAAU,EAC3D,SAAS,IAAI,CAAA,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAK,KAAK,EAAC,YAAY,EAAE,EAAA,IAAI,CAAC,MAAM,CAAO,CACrD,CACP,CACG;;;;AAlDR,IAAA,QAAQ,IAAI,CAAC,IAAI;AACf,QAAA,KAAK,UAAU;AACf,QAAA,KAAK,OAAO;QACZ,KAAK,OAAO,EAAE;YACZ,OAAO,IAAI,CAAC,IAAI;;QAElB,SAAS;AACP,YAAA,OAAO,UAAU;;;AAGvB,CAAC;;;;;"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"qds-badge-counter.qds-badge-indicator.entry.js","sources":["src/components/badge-counter/badge-counter.css?tag=qds-badge-counter&encapsulation=shadow","src/components/badge-counter/badge-counter.tsx","src/components/badge-indicator/badge-indicator.css?tag=qds-badge-indicator&encapsulation=shadow","src/components/badge-indicator/badge-indicator.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}\n\n.qds-badge-counter {\n align-items: center;\n background-color: var(--qds-theme-feedback-message-neutral);\n border-radius: var(--qds-feedback-rounded-border-radius);\n color: var(--qds-theme-feedback-message-neutral-contrast);\n display: flex;\n font: var(--qds-feedback-badge-counter-standard-text);\n height: var(--qds-feedback-badge-counter-standard-height);\n min-width: var(--qds-feedback-badge-counter-standard-min-width);\n justify-content: center;\n margin: 0;\n padding-inline: var(--qds-feedback-badge-counter-standard-padding-horizontal);\n text-align: center;\n}\n\n.qds-stroke-ring {\n border: var(--qds-feedback-badge-border-width) solid\n var(--qds-theme-feedback-message-neutral-contrast);\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\n[data-importance='emphasized'] {\n background-color: var(--qds-theme-signature-color-contrast);\n color: var(--qds-theme-signature-color-default);\n\n &.qds-stroke-ring {\n border-color: var(--qds-theme-signature-color-default);\n }\n}\n\n[data-importance='subdued'] {\n background-color: var(--qds-theme-feedback-message-informational);\n color: var(--qds-theme-feedback-message-informational-contrast);\n\n &.qds-stroke-ring {\n border-color: var(--qds-theme-feedback-message-informational-contrast);\n }\n}\n\n[data-importance='destructive'] {\n background-color: var(--qds-theme-feedback-message-critical-contrast);\n color: var(--qds-theme-feedback-message-critical);\n\n &.qds-stroke-ring {\n border-color: var(--qds-theme-feedback-message-critical);\n }\n}\n\n[data-importance='subdued-destructive'] {\n color: var(--qds-theme-feedback-message-critical-contrast);\n background-color: var(--qds-theme-feedback-message-critical);\n\n &.qds-stroke-ring {\n border-color: var(--qds-theme-feedback-message-critical-contrast);\n }\n}\n\n[data-size='small'] {\n font: var(--qds-feedback-badge-counter-small-text);\n height: var(--qds-feedback-badge-counter-small-height);\n min-width: var(--qds-feedback-badge-counter-small-min-width);\n padding-inline: var(--qds-feedback-badge-counter-small-padding-horizontal);\n}\n\n[data-size='large'] {\n font: var(--qds-feedback-badge-counter-large-text);\n height: var(--qds-feedback-badge-counter-large-height);\n min-width: var(--qds-feedback-badge-counter-large-min-width);\n padding-inline: var(--qds-feedback-badge-counter-large-padding-horizontal);\n}\n\n[data-size='hero'] {\n font: var(--qds-feedback-badge-counter-hero-text);\n height: var(--qds-feedback-badge-counter-hero-height);\n padding-inline: var(--qds-feedback-badge-counter-hero-padding-horizontal);\n}\n","// SPDX-FileCopyrightText: © 2024 Schneider Electric\n//\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { ComponentInterface } from '@stencil/core'\nimport { Component, h, Prop } from '@stencil/core'\n\nimport type { Importance, Size } from '../shared'\n\nexport type BadgeCounterImportance =\n | Importance\n | 'destructive'\n | 'subdued-destructive'\nexport type BadgeCounterSize = Size | 'hero'\n\n/**\n * The `<qds-badge-counter>` element is a small, rounded UI element used to\n * display numerical values or counts. It is designed to draw the user's eye to\n * important or dynamic content by providing a visual cue that a countable\n * event or item has occurred or is waiting to be addressed.\n */\n@Component({\n tag: 'qds-badge-counter',\n shadow: true,\n styleUrl: 'badge-counter.css',\n})\nexport class BadgeCounter implements ComponentInterface {\n /**\n * Adds accessible text to the qds-badge-counter that will be used by screen\n * readers.\n *\n * @example\n * <qds-badge-counter value={2} description=\"new notifications\"></qds-badge-counter>\n * // This qds-badge-counter will be read by screen readers as \"two new notifications\"\n */\n @Prop() public readonly description?: string\n\n /**\n * The badge counter's importance.\n */\n @Prop() public readonly importance?: BadgeCounterImportance = 'standard'\n\n /**\n * The badge counter's size.\n */\n @Prop() public readonly size?: BadgeCounterSize = 'standard'\n\n /**\n * Shows a stroke ring around the component for better visibility\n */\n @Prop() public readonly strokeRing: boolean = false\n\n /**\n * The badge-counter's value.\n */\n @Prop() public readonly value!: number | string\n\n get #computedValue(): string {\n const value =\n typeof this.value === 'string'\n ? Number.parseInt(this.value, 10)\n : // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n (this.value ?? Number.NaN)\n if (Number.isNaN(value) || value < 0) return ''\n\n return value < 100 ? value.toString() : '99+'\n }\n\n get #computedImportance(): BadgeCounterImportance {\n switch (this.importance) {\n case 'subdued':\n case 'destructive':\n case 'subdued-destructive':\n case 'emphasized': {\n return this.importance\n }\n default: {\n return 'standard'\n }\n }\n }\n\n get #computedSize(): BadgeCounterSize {\n switch (this.size) {\n case 'hero':\n case 'large':\n case 'small': {\n return this.size\n }\n default: {\n return 'standard'\n }\n }\n }\n\n public render() {\n return (\n <span\n class={{\n 'qds-badge-counter': true,\n 'qds-stroke-ring': this.strokeRing,\n }}\n data-importance={this.#computedImportance}\n data-size={this.#computedSize}\n >\n {this.#computedValue}\n <span class=\"qds-sr-only\">{this.description}</span>\n </span>\n )\n }\n}\n","/*\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}\n\n.qds-badge-indicator {\n align-items: center;\n border-radius: var(--qds-feedback-rounded-border-radius);\n display: flex;\n height: var(--qds-feedback-badge-indicator-standard-size);\n justify-content: center;\n width: var(--qds-feedback-badge-indicator-standard-size);\n}\n\n.qds-stroke-ring {\n border: var(--qds-feedback-badge-border-width) solid\n var(--qds-theme-feedback-message-neutral-contrast);\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\n.qds-icon {\n height: 100%;\n width: 100%;\n}\n\n[data-status='error'] {\n &.qds-badge-indicator {\n background-color: var(--qds-theme-feedback-message-critical-contrast);\n }\n\n &.qds-icon {\n color: var(--qds-theme-feedback-message-critical);\n }\n\n &.qds-stroke-ring {\n border-color: var(--qds-theme-feedback-message-critical-contrast);\n }\n}\n\n[data-status='info'] {\n &.qds-badge-indicator {\n background-color: var(--qds-theme-feedback-message-informational-contrast);\n }\n\n &.qds-icon {\n color: var(--qds-theme-feedback-message-informational);\n }\n\n &.qds-stroke-ring {\n border-color: var(--qds-theme-feedback-message-informational-contrast);\n }\n}\n\n[data-status='neutral'] {\n &.qds-badge-indicator {\n background-color: var(--qds-theme-feedback-message-neutral);\n }\n\n &.qds-stroke-ring {\n border-color: var(--qds-theme-feedback-message-neutral-contrast);\n }\n}\n\n[data-status='unavailable'] {\n &.qds-badge-indicator {\n background-color: var(--qds-theme-feedback-availability-unavailable);\n }\n\n &.qds-icon {\n color: var(--qds-theme-feedback-message-neutral-contrast);\n }\n\n &.qds-stroke-ring {\n border-color: var(--qds-theme-feedback-message-neutral-contrast);\n }\n}\n\n[data-status='success'] {\n &.qds-badge-indicator {\n background-color: var(--qds-theme-feedback-message-success-contrast);\n }\n\n &.qds-icon {\n color: var(--qds-theme-feedback-message-success);\n }\n\n &.qds-stroke-ring {\n border-color: var(--qds-theme-feedback-message-success-contrast);\n }\n}\n\n[data-status='warning'] {\n &.qds-badge-indicator {\n background-color: var(--qds-theme-feedback-message-important-contrast);\n }\n\n &.qds-icon {\n color: var(--qds-theme-feedback-message-important);\n }\n\n &.qds-stroke-ring {\n border-color: var(--qds-theme-feedback-message-important-contrast);\n }\n}\n\n[data-size='small'] {\n height: var(--qds-feedback-badge-indicator-small-size);\n width: var(--qds-feedback-badge-indicator-small-size);\n}\n\n[data-size='standard'] {\n height: var(--qds-feedback-badge-indicator-standard-size);\n width: var(--qds-feedback-badge-indicator-standard-size);\n}\n\n[data-size='large'] {\n height: var(--qds-feedback-badge-indicator-large-size);\n width: var(--qds-feedback-badge-indicator-large-size);\n}\n\n[data-size='hero'] {\n height: var(--qds-feedback-badge-indicator-hero-size);\n width: var(--qds-feedback-badge-indicator-hero-size);\n}\n","// SPDX-FileCopyrightText: © 2024 Schneider Electric\n//\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { ComponentInterface } from '@stencil/core'\nimport { Component, h, Prop } from '@stencil/core'\n\nimport type { Size, Status } from '../shared'\n\nexport type BadgeIndicatorSize = Size | 'hero'\nexport type BadgeIndicatorStatus = Status | 'neutral' | 'unavailable'\n\n/**\n * The `<qds-badge-indicator>` element is a small, rounded UI element used to\n * display status indicators. It is designed to draw the user's eye to\n * important or dynamic content by providing a visual cue that an event has\n * occurred or is waiting to be addressed.\n */\n@Component({\n tag: 'qds-badge-indicator',\n shadow: true,\n styleUrl: 'badge-indicator.css',\n})\nexport class BadgeIndicator implements ComponentInterface {\n /**\n * Adds accessible text to the qds-badge-indicator that will be used by\n * screen readers.\n *\n * @example\n * <qds-badge-indicator description=\"success\"></qds-badge-indicator>\n * // This qds-badge-indicator will be read by screen readers as \"success\"\n */\n @Prop() public readonly description?: string\n\n /**\n * The badge indicator's size.\n */\n @Prop() public readonly size?: BadgeIndicatorSize = 'standard'\n\n /**\n * The badge indicator's status.\n */\n @Prop() public readonly status?: BadgeIndicatorStatus = 'neutral'\n\n /**\n * Shows a stroke ring around the badge indicator for better visibility.\n */\n @Prop() public readonly strokeRing: boolean = false\n\n get #computedStatus(): BadgeIndicatorStatus {\n switch (this.status) {\n case 'error':\n case 'info':\n case 'success':\n case 'warning':\n case 'unavailable': {\n return this.status\n }\n default: {\n return 'neutral'\n }\n }\n }\n\n get #computedSize(): BadgeIndicatorSize {\n switch (this.size) {\n case 'hero':\n case 'large':\n case 'small': {\n return this.size\n }\n default: {\n return 'standard'\n }\n }\n }\n\n get #computedIconName(): string {\n switch (this.#computedStatus) {\n case 'error': {\n return 'status-error-solid'\n }\n case 'info': {\n return 'status-info-solid'\n }\n case 'success': {\n return 'status-success-solid'\n }\n case 'warning': {\n return 'status-warning-solid'\n }\n case 'unavailable': {\n return 'status-unavailable'\n }\n default: {\n return ''\n }\n }\n }\n\n public render() {\n return (\n <div\n class={{\n 'qds-badge-indicator': true,\n 'qds-stroke-ring': this.strokeRing,\n }}\n data-size={this.#computedSize}\n data-status={this.#computedStatus}\n >\n <span class=\"qds-sr-only\">{this.description}</span>\n {this.#computedStatus !== 'neutral' && (\n <qds-icon\n library=\"core\"\n class=\"qds-icon\"\n name={this.#computedIconName}\n data-status={this.#computedStatus}\n />\n )}\n </div>\n )\n }\n}\n"],"names":["__classPrivateFieldGet"],"mappings":"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"}