@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
@@ -1 +1 @@
1
- {"file":"qds-dropdown.entry.js","mappings":"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","names":[],"sources":["src/components/dropdown/dropdown.css?tag=qds-dropdown&encapsulation=shadow","src/components/dropdown/dropdown.tsx"],"sourcesContent":["/*\n * SPDX-FileCopyrightText: © 2023 Schneider Electric\n *\n * SPDX-License-Identifier: LGPL-2.1-only\n */\n\n@import url('../shared.css');\n\n:host {\n background: var(--qds-theme-accessory-background);\n border-radius: var(--qds-accessory-border-radius);\n box-shadow: var(--qds-theme-accessory-elevation);\n display: inline-block;\n left: 0;\n top: 0;\n}\n","// SPDX-FileCopyrightText: © 2023 Schneider Electric\n//\n// SPDX-License-Identifier: LGPL-2.1-only\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 Component,\n Element,\n Event,\n h,\n Host,\n Listen,\n Method,\n Prop,\n State,\n Watch,\n} from '@stencil/core'\n\nimport type { OffsetOptions } from '../../helpers'\nimport {\n ignorePromise,\n invariant,\n propertyToPx,\n roundByDPR,\n} from '../../helpers'\n\nlet autoIncrementingId = 1\n\n/**\n * @experimental\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: 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({ mutable: true }) public disabled = 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 follow:\n *\n * - A CSS selector string\n * - A reference to an\n * [`Element`](https://developer.mozilla.org/docs/Web/API/Element) or\n * [Virtual Element](https://floating-ui.com/docs/virtual-elements)\n * - A function returning a reference to an\n * [`Element`](https://developer.mozilla.org/docs/Web/API/Element),\n * [Virtual Element](https://floating-ui.com/docs/virtual-elements),\n * or a CSS selector string\n */\n @Prop() public readonly target!:\n | ReferenceElement\n | string\n | (() => ReferenceElement | string)\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 element!: HTMLQdsDropdownElement\n\n @State() private hostAriaLabelledBy?: string\n\n @State() private hostDisplay?: string\n\n @State() private hostPosition?: string\n\n @State() private hostTransform?: string\n\n private cleanup?: () => void\n\n private middleware?: Middleware[]\n\n private referenceElement?: ReferenceElement\n\n private open = false\n\n /**\n * Show the dropdown.\n */\n @Method()\n public async show(): Promise<void> {\n if (this.open) return\n\n if (this.referenceElement instanceof globalThis.Element) {\n this.referenceElement.setAttribute('aria-expanded', 'true')\n this.referenceElement.setAttribute('aria-controls', this.element.id)\n }\n\n this.open = true\n this.hostDisplay = undefined\n this.startAutoUpdate()\n }\n\n /**\n * Close 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\n this.open = false\n this.hostDisplay = 'none'\n if (this.cleanup) this.cleanup()\n\n this.closeEmitter.emit()\n }\n\n /**\n * Update the dropdown's middleware and position.\n */\n @Method()\n public async update(): Promise<void> {\n await this.updateMiddleware()\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.element) ||\n (this.referenceElement instanceof globalThis.Element &&\n composedPath.includes(this.referenceElement))\n if (!withinBounds) await this.close()\n }\n\n @Watch('target')\n private async updateReferenceElement(): Promise<void> {\n this.disconnectReferenceElement()\n\n const resolvedTarget =\n typeof this.target === 'function' ? this.target() : this.target\n if (typeof resolvedTarget === 'string') {\n const element = document.querySelector(resolvedTarget)\n if (element === null)\n throw new Error('String `target` must resolve to an Element.')\n this.referenceElement = element\n } else this.referenceElement = resolvedTarget\n\n if (!(this.referenceElement instanceof globalThis.Element)) return\n\n this.referenceElement.setAttribute('aria-expanded', 'false')\n this.referenceElement.addEventListener('click', this.boundReferenceClick)\n this.referenceElement.addEventListener('focusout', this.boundFocusout)\n this.referenceElement.addEventListener('keydown', this.boundEscape)\n if (this.element.role === 'menu') {\n this.referenceElement.id ||= `qds-dropdown-trigger-${autoIncrementingId}`\n this.hostAriaLabelledBy = 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:\n propertyToPx(this.element, '--qds-accessory-gap-floating') ?? 0,\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 ].filter((middleware): middleware is Middleware => middleware !== false)\n await this.updatePosition()\n }\n\n @Watch('placement')\n @Watch('strategy')\n private async updatePosition(): Promise<void> {\n invariant(this.referenceElement)\n\n const { x, y, strategy } = await computePosition(\n this.referenceElement,\n this.element,\n {\n middleware: this.middleware,\n placement: this.placement,\n strategy: this.strategy,\n },\n )\n this.hostPosition = strategy\n this.hostTransform = `translate(${roundByDPR(x)}px,${roundByDPR(y)}px)`\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.element,\n () => {\n ignorePromise(this.updatePosition())\n },\n this.autoUpdateOptions,\n )\n }\n\n public async componentWillLoad(): Promise<void> {\n this.hostDisplay = 'none'\n this.element.role ??= 'menu'\n this.element.id ||= `qds-dropdown-${autoIncrementingId}`\n await this.updateReferenceElement()\n autoIncrementingId += 1\n await this.updateMiddleware()\n }\n\n public disconnectedCallback(): void {\n this.disconnectReferenceElement()\n }\n\n public render() {\n return (\n <Host\n aria-labelledby={this.hostAriaLabelledBy}\n onKeyDown={this.boundEscape}\n onFocusout={this.boundFocusout}\n style={{\n display: this.hostDisplay,\n position: this.hostPosition,\n transform: this.hostTransform,\n }}\n >\n <slot />\n </Host>\n )\n }\n\n private 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.element.contains(relatedTarget) &&\n this.referenceElement !== relatedTarget\n )\n await this.close()\n }\n\n private readonly boundFocusout = (event: Event): void => {\n ignorePromise(this.handleFocusout(event))\n }\n\n private async handleEscape(event: Event): Promise<void> {\n if (\n !(event instanceof KeyboardEvent) ||\n event.key !== 'Escape' ||\n (event.target !== this.referenceElement &&\n event.target instanceof globalThis.Element &&\n event.target.closest('qds-dropdown') !== this.element)\n )\n return\n\n const cancelEvent = this.cancelEmitter.emit()\n if (cancelEvent.defaultPrevented) return\n\n await this.close()\n if (\n this.referenceElement instanceof globalThis.HTMLElement ||\n this.referenceElement instanceof globalThis.SVGElement\n )\n this.referenceElement.focus()\n }\n\n private readonly boundEscape = (event: Event): void => {\n ignorePromise(this.handleEscape(event))\n }\n\n private async handleReferenceClick(): Promise<void> {\n if (!this.disabled) await (this.open ? this.close() : this.show())\n }\n\n private readonly boundReferenceClick = (): void => {\n ignorePromise(this.handleReferenceClick())\n }\n\n private disconnectReferenceElement(): void {\n this.hostAriaLabelledBy = undefined\n\n if (!(this.referenceElement instanceof globalThis.Element)) return\n\n this.referenceElement.removeEventListener('click', this.boundReferenceClick)\n this.referenceElement.removeEventListener('focusout', this.boundFocusout)\n this.referenceElement.removeEventListener('keydown', this.boundEscape)\n this.referenceElement.removeAttribute('aria-expanded')\n this.referenceElement.removeAttribute('aria-controls')\n }\n}\n"],"version":3}
1
+ {"version":3,"file":"qds-dropdown.entry.js","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 getSubmenuCloseKey,\n ignorePromise,\n propertyToPx,\n resolveTarget,\n VERTICAL_MOVE_KEYS,\n} from '../../helpers'\n\nlet autoIncrementingId = 1\n\nconst getDropdownInstanceId = (): number => {\n const instanceId = autoIncrementingId\n autoIncrementingId += 1\n return instanceId\n}\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 element.getAttribute('list-action') !== 'none'\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 readonly #instanceId = getDropdownInstanceId()\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 host.setAttribute('aria-labelledby', reference.id)\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\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 @Method()\n public async focusFirstItem(): Promise<void> {\n this.#focusFirstItem()\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, 'qds-dropdown')\n\n if (!(this.#referenceElement instanceof globalThis.Element)) return\n\n this.#referenceElement.setAttribute('aria-expanded', 'false')\n this.#referenceElement.setAttribute('aria-haspopup', 'true')\n this.#referenceElement.setAttribute('aria-controls', this.host.id)\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.internals.role === 'menu') {\n this.#referenceElement.id ||= `qds-dropdown-trigger-${this.#instanceId}`\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-${this.#instanceId}`\n await this.updateReferenceElement()\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 !dropdownItem &&\n !this.#isReferenceOrDescendant(relatedTarget)\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 return\n\n const root = this.#referenceElement.getRootNode()\n const isCustomElement =\n this.#referenceElement instanceof globalThis.HTMLElement &&\n this.#referenceElement.tagName.includes('-')\n\n const target =\n root instanceof globalThis.ShadowRoot && !isCustomElement\n ? (root.host as HTMLElement)\n : this.#referenceElement\n\n target.focus()\n }\n\n readonly #onKeydown = async (event: Event): Promise<void> => {\n if (!(event instanceof KeyboardEvent)) return\n\n const { key, target } = event\n const keydownOnReference = this.#isReferenceOrDescendant(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 (keydownOnReference && (key === 'ArrowDown' || key === 'ArrowUp')) {\n event.preventDefault()\n event.stopPropagation()\n if (!this.#open) await this.show()\n this.#focusFirstItem()\n return\n }\n // Prevent space key from scrolling the page when focused on an item\n if (key === ' ' || key === 'Enter') {\n event.preventDefault()\n event.stopPropagation()\n return\n }\n\n if (key === getSubmenuCloseKey(this.host) && this.#open) {\n event.preventDefault()\n event.stopPropagation()\n await this.close()\n this.#focusOnTrigger()\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.#initializeFirstItem()\n this.#focusFirstItem()\n }\n\n #focusFirstItem(): void {\n requestAnimationFrame(() => {\n const firstItem = this.#setFirstItemTabindex()\n if (firstItem) {\n firstItem.focus()\n return\n }\n\n const focusable = this.#findFirstFocusableDescendant()\n if (focusable) focusable.focus()\n })\n }\n\n #initializeFirstItem(): void {\n requestAnimationFrame(() => {\n this.#setFirstItemTabindex()\n })\n }\n\n #setFirstItemTabindex(): HTMLElement | undefined {\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 undefined\n for (const item of this.#Items) item.setAttribute('tabindex', '-1')\n firstItem.setAttribute('tabindex', '0')\n return firstItem\n }\n\n #findFirstFocusableDescendant(): HTMLElement | undefined {\n for (const child of this.host.children) {\n if (child instanceof HTMLElement && !child.inert) {\n const focusable = this.#focusWithin(child)\n if (focusable) return focusable\n }\n }\n\n return undefined\n }\n\n #focusWithin(target: HTMLElement): HTMLElement | undefined {\n target.focus()\n if (target.matches(':focus')) return target\n\n if (target.shadowRoot) {\n for (const child of target.shadowRoot.querySelectorAll('*')) {\n if (child instanceof HTMLElement && !child.inert) {\n const focusable = this.#focusWithin(child)\n if (focusable) return focusable\n }\n }\n }\n\n return undefined\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 'click',\n this.#boundOnReferenceClick,\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 #isReferenceOrDescendant(target: EventTarget | null): boolean {\n if (target === this.#referenceElement) return true\n\n if (!(this.#referenceElement instanceof globalThis.Element)) return false\n\n if (\n target instanceof globalThis.Element &&\n this.#referenceElement.contains(target)\n )\n return true\n\n if (target instanceof globalThis.Node) {\n const rootNode = target.getRootNode()\n if (\n rootNode instanceof globalThis.ShadowRoot &&\n rootNode.host === this.#referenceElement\n )\n return true\n }\n\n return false\n }\n}\n"],"names":[],"mappings":"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"}
@@ -1,35 +1,90 @@
1
1
  /*!
2
- * SPDX-FileCopyrightText: © 2023 Schneider Electric
2
+ * SPDX-FileCopyrightText: © 2026 Schneider Electric
3
3
  *
4
- * SPDX-License-Identifier: LGPL-2.1-only
4
+ * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
- import { r as registerInstance, h, a as getElement } from './index-d7183092.js';
7
- import { i as inheritAriaAttributes } from './helpers-76b84f45.js';
6
+ import { r as registerInstance, h, g as getElement } from './index-Hg1Liloy.js';
8
7
 
9
- const formMessageCss = ":host{box-sizing:border-box}:host([hidden]){display:none !important}:host([hidden]){}:host *,:host *::before,:host *::after{box-sizing:inherit}:host{display:inline-block;line-height:0}.form-message{color:var(--qds-theme-control-text-standard);display:inline-flex;gap:var(--qds-text-icon-gap)}.icon-background,.icon{flex-shrink:0}.icon-background{border-radius:var(--qds-control-rounded-border-radius);position:relative}.icon{position:absolute;color:var(--qds-theme-feedback-action-destructive-contrast)}[data-size='small']{font:var(--qds-control-small-text)}.icon[data-size='small'],.icon-background[data-size='small']{width:var(--qds-control-small-icon-size);height:var(--qds-control-small-icon-size)}.inline[data-size='small']{margin-block:var(--qds-control-small-padding-auto-height)}[data-size='standard']{font:var(--qds-control-standard-text)}.icon[data-size='standard'],.icon-background[data-size='standard']{width:var(--qds-control-standard-icon-size);height:var(--qds-control-standard-icon-size)}.inline[data-size='standard']{margin-block:var(--qds-control-standard-padding-auto-height)}[data-size='large']{font:var(--qds-control-large-text)}.icon[data-size='large'],.icon-background[data-size='large']{width:var(--qds-control-large-icon-size);height:var(--qds-control-large-icon-size)}.inline[data-size='large']{margin-block:var(--qds-control-large-padding-auto-height)}.icon-background[data-status='error']{background-color:var(--qds-theme-feedback-result-failure)}.text[data-status='error']{color:var(--qds-theme-feedback-result-failure)}[data-status='info'].icon-background{background-color:var(--qds-theme-feedback-message-informational)}.icon-background[data-status='success']{background-color:var(--qds-theme-feedback-result-success)}.text[data-status='success']{color:var(--qds-theme-feedback-result-success)}[data-status='warning'].icon-background{background-color:var(--qds-theme-feedback-result-partial-success)}";
8
+ const formMessageCss = ":host([hidden]){display:none!important}:host{display:inline-block;line-height:0}.qds-form-message{color:var(--qds-theme-control-text-standard);display:inline-flex;gap:var(--qds-text-icon-gap)}.qds-form-message.qds-inline{align-items:flex-start}.qds-icon-background,.qds-icon-container{align-items:center;display:flex}.qds-icon-background{background-color:var(--qds-theme-feedback-action-destructive-contrast);border-radius:var(--qds-control-rounded-border-radius)}.qds-sr-only{clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}[data-size=small]{font:var(--qds-form-small-text)}.qds-icon-container[data-size=small]{height:var(--qds-control-small-icon-crop-height)}.qds-icon[data-size=small]{height:var(--qds-form-small-icon-size);width:var(--qds-form-small-icon-size)}.qds-inline[data-size=small]{min-height:var(--qds-form-input-small-height);padding-block:var(--qds-control-small-padding-auto-height)}[data-size=standard]{font:var(--qds-form-standard-text)}.qds-icon-container[data-size=standard]{height:var(--qds-control-standard-icon-crop-height)}.qds-icon[data-size=standard]{height:var(--qds-form-standard-icon-size);width:var(--qds-form-standard-icon-size)}.qds-inline[data-size=standard]{min-height:var(--qds-form-input-standard-height);padding-block:var(--qds-control-standard-padding-auto-height)}[data-size=large]{font:var(--qds-form-large-text)}.qds-icon-container[data-size=large]{height:var(--qds-control-large-icon-crop-height)}.qds-icon[data-size=large]{height:var(--qds-form-large-icon-size);width:var(--qds-form-large-icon-size)}.qds-inline[data-size=large]{min-height:var(--qds-form-input-large-height);padding-block:var(--qds-control-large-padding-auto-height)}.qds-icon[data-status=error],.qds-text[data-status=error]{color:var(--qds-theme-feedback-result-failure)}[data-status=info].qds-icon{color:var(--qds-theme-feedback-message-informational)}.qds-icon[data-status=success],.qds-text[data-status=success]{color:var(--qds-theme-feedback-result-success)}[data-status=warning].qds-icon{color:var(--qds-theme-feedback-result-partial-success)}[data-status=neutral]{color:var(--qds-theme-text-subdued)}";
10
9
 
10
+ // SPDX-FileCopyrightText: © 2024 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 _FormMessage_instances, _FormMessage_computedSize_get, _FormMessage_computedStatus_get, _FormMessage_syncInternalsAccessibility;
11
21
  const FormMessage = class {
12
- constructor(hostRef) {
13
- registerInstance(this, hostRef);
14
- this.inheritedAttributes = {};
15
- this.inline = false;
16
- this.size = 'standard';
17
- this.status = 'error';
18
- this.text = undefined;
19
- }
20
- componentWillLoad() {
21
- this.inheritedAttributes = inheritAriaAttributes(this.element);
22
- }
23
- render() {
24
- return (h("span", { class: {
25
- inline: this.inline,
26
- 'form-message': true,
27
- }, "data-size": this.size, ...this.inheritedAttributes }, h("span", { class: "icon-background", "data-size": this.size, "data-status": this.status }), h("qds-icon", { class: "icon", "data-size": this.size, name: `status-${this.status}`, library: "core" }), h("span", { class: "text", "data-status": this.status }, this.text)));
28
- }
29
- get element() { return getElement(this); }
22
+ constructor(hostRef) {
23
+ registerInstance(this, hostRef);
24
+ if (hostRef.$hostElement$["s-ei"]) {
25
+ this.internals = hostRef.$hostElement$["s-ei"];
26
+ }
27
+ else {
28
+ this.internals = hostRef.$hostElement$.attachInternals();
29
+ hostRef.$hostElement$["s-ei"] = this.internals;
30
+ }
31
+ _FormMessage_instances.add(this);
32
+ /**
33
+ * Adds vertical margin to the form message for alignment.
34
+ *
35
+ * This is useful when creating inline layouts so that the first lines have
36
+ * the correct vertical centering.
37
+ */
38
+ this.inline = false;
39
+ /**
40
+ * The form message's size.
41
+ */
42
+ this.size = 'standard';
43
+ /**
44
+ * The form message's status.
45
+ */
46
+ this.status = 'error';
47
+ }
48
+ statusChanged() {
49
+ __classPrivateFieldGet(this, _FormMessage_instances, "m", _FormMessage_syncInternalsAccessibility).call(this);
50
+ }
51
+ componentWillLoad() {
52
+ if (__classPrivateFieldGet(this, _FormMessage_instances, "a", _FormMessage_computedStatus_get) !== 'neutral') {
53
+ this.internals.role =
54
+ __classPrivateFieldGet(this, _FormMessage_instances, "a", _FormMessage_computedStatus_get) === 'error' ? 'alert' : 'status';
55
+ }
56
+ __classPrivateFieldGet(this, _FormMessage_instances, "m", _FormMessage_syncInternalsAccessibility).call(this);
57
+ }
58
+ render() {
59
+ return (h("div", { key: '759963a507bcf2b627308d1c2aba25417f7de9a3', class: {
60
+ 'qds-form-message': true,
61
+ 'qds-inline': this.inline,
62
+ }, "data-size": __classPrivateFieldGet(this, _FormMessage_instances, "a", _FormMessage_computedSize_get) }, __classPrivateFieldGet(this, _FormMessage_instances, "a", _FormMessage_computedStatus_get) !== 'neutral' && (h("div", { key: '43ed401c91d26c323225436cee087dff786676d2', class: "qds-icon-container", "data-size": __classPrivateFieldGet(this, _FormMessage_instances, "a", _FormMessage_computedSize_get) }, h("div", { key: 'dc8e7cb62f946c1a0d4f7ea7b687d61246dddd52', class: "qds-icon-background", "data-size": __classPrivateFieldGet(this, _FormMessage_instances, "a", _FormMessage_computedSize_get), "data-status": __classPrivateFieldGet(this, _FormMessage_instances, "a", _FormMessage_computedStatus_get) }, h("qds-icon", { key: '0e3063047c84de01742cb309736ffb09187f7382', class: "qds-icon", "data-size": __classPrivateFieldGet(this, _FormMessage_instances, "a", _FormMessage_computedSize_get), "data-status": __classPrivateFieldGet(this, _FormMessage_instances, "a", _FormMessage_computedStatus_get), name: `status-${__classPrivateFieldGet(this, _FormMessage_instances, "a", _FormMessage_computedStatus_get)}-solid`, library: "core" }), h("span", { key: '71a512a0550e779243aac4e7fbf8a75c1fb7fa68', class: "qds-sr-only" }, this.statusDescription)))), h("span", { key: '1d069be1bb36c46ce828c2c4cf0a4ae2006fcbea', class: "qds-text", "data-status": __classPrivateFieldGet(this, _FormMessage_instances, "a", _FormMessage_computedStatus_get) }, this.text)));
63
+ }
64
+ get host() { return getElement(this); }
65
+ static get watchers() { return {
66
+ "status": ["statusChanged"]
67
+ }; }
68
+ };
69
+ _FormMessage_instances = new WeakSet(), _FormMessage_computedSize_get = function _FormMessage_computedSize_get() {
70
+ switch (this.size) {
71
+ case 'standard':
72
+ case 'small':
73
+ case 'large': {
74
+ return this.size;
75
+ }
76
+ default: {
77
+ return 'standard';
78
+ }
79
+ }
80
+ }, _FormMessage_computedStatus_get = function _FormMessage_computedStatus_get() {
81
+ return this.status ?? 'error';
82
+ }, _FormMessage_syncInternalsAccessibility = function _FormMessage_syncInternalsAccessibility() {
83
+ this.internals.ariaLive =
84
+ __classPrivateFieldGet(this, _FormMessage_instances, "a", _FormMessage_computedStatus_get) === 'error' ? 'assertive' : 'polite';
85
+ this.internals.ariaAtomic = 'true';
30
86
  };
31
87
  FormMessage.style = formMessageCss;
32
88
 
33
89
  export { FormMessage as qds_form_message };
34
-
35
- //# sourceMappingURL=qds-form-message.entry.js.map
90
+ //# sourceMappingURL=qds-form-message.entry.js.map
@@ -1 +1 @@
1
- {"file":"qds-form-message.entry.js","mappings":";;;;;;;;AAAA,MAAM,cAAc,GAAG,64DAA64D;;MCwBv5D,WAAW;;;IA0Bd,wBAAmB,GAAe,EAAE,CAAA;kBAnBF,KAAK;gBAKkB,UAAU;kBAKlC,OAAO;;;EAWzC,iBAAiB;IACtB,IAAI,CAAC,mBAAmB,GAAG,qBAAqB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;GAC/D;EAEM,MAAM;IACX,QACE,YACE,KAAK,EAAE;QACL,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,cAAc,EAAE,IAAI;OACrB,eACU,IAAI,CAAC,IAAI,KAEhB,IAAI,CAAC,mBAAmB,IAE5B,YACE,KAAK,EAAC,iBAAiB,eACZ,IAAI,CAAC,IAAI,iBACP,IAAI,CAAC,MAAM,GACxB,EACF,gBACE,KAAK,EAAC,MAAM,eACD,IAAI,CAAC,IAAI,EACpB,IAAI,EAAE,UAAU,IAAI,CAAC,MAAM,EAAE,EAC7B,OAAO,EAAC,MAAM,GACd,EACF,YAAM,KAAK,EAAC,MAAM,iBAAc,IAAI,CAAC,MAAM,IACxC,IAAI,CAAC,IAAI,CACL,CACF,EACR;GACF;;;;;;;","names":[],"sources":["src/components/form-message/form-message.css?tag=qds-form-message&encapsulation=shadow","src/components/form-message/form-message.tsx"],"sourcesContent":["/*\n * SPDX-FileCopyrightText: © 2023 Schneider Electric\n *\n * SPDX-License-Identifier: LGPL-2.1-only\n */\n\n@import url('../shared.css');\n\n:host {\n display: inline-block;\n line-height: 0;\n}\n\n.form-message {\n color: var(--qds-theme-control-text-standard);\n display: inline-flex;\n gap: var(--qds-text-icon-gap);\n}\n\n.icon-background,\n.icon {\n flex-shrink: 0;\n}\n\n.icon-background {\n border-radius: var(--qds-control-rounded-border-radius);\n position: relative;\n}\n\n.icon {\n position: absolute;\n color: var(--qds-theme-feedback-action-destructive-contrast);\n}\n\n[data-size='small'] {\n font: var(--qds-control-small-text);\n\n &:is(.icon, .icon-background) {\n width: var(--qds-control-small-icon-size);\n height: var(--qds-control-small-icon-size);\n }\n\n &.inline {\n margin-block: var(--qds-control-small-padding-auto-height);\n }\n}\n\n[data-size='standard'] {\n font: var(--qds-control-standard-text);\n\n &:is(.icon, .icon-background) {\n width: var(--qds-control-standard-icon-size);\n height: var(--qds-control-standard-icon-size);\n }\n\n &.inline {\n margin-block: var(--qds-control-standard-padding-auto-height);\n }\n}\n\n[data-size='large'] {\n font: var(--qds-control-large-text);\n\n &:is(.icon, .icon-background) {\n width: var(--qds-control-large-icon-size);\n height: var(--qds-control-large-icon-size);\n }\n\n &.inline {\n margin-block: var(--qds-control-large-padding-auto-height);\n }\n}\n\n[data-status='error'] {\n &.icon-background {\n background-color: var(--qds-theme-feedback-result-failure);\n }\n\n &.text {\n color: var(--qds-theme-feedback-result-failure);\n }\n}\n\n[data-status='info'].icon-background {\n background-color: var(--qds-theme-feedback-message-informational);\n}\n\n[data-status='success'] {\n &.icon-background {\n background-color: var(--qds-theme-feedback-result-success);\n }\n\n &.text {\n color: var(--qds-theme-feedback-result-success);\n }\n}\n\n[data-status='warning'].icon-background {\n background-color: var(--qds-theme-feedback-result-partial-success);\n}\n","// SPDX-FileCopyrightText: © 2023 Schneider Electric\n//\n// SPDX-License-Identifier: LGPL-2.1-only\n\nimport type { ComponentInterface } from '@stencil/core'\nimport { Component, Element, h, Prop } from '@stencil/core'\n\nimport type { Attributes } from '../../helpers'\nimport { inheritAriaAttributes } from '../../helpers'\n\nexport type FormMessageSize = 'large' | 'small' | 'standard'\nexport type Status = 'error' | 'info' | 'success' | 'warning'\n\n/**\n * `<qds-form-message>` elements represent messages for a form field in a user\n * interface.\n *\n * @see https://quartz.se.com/build/components/form-message\n */\n@Component({\n tag: 'qds-form-message',\n shadow: true,\n styleUrl: 'form-message.css',\n})\nexport class FormMessage implements ComponentInterface {\n /**\n * Adds vertical margin to the form message 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 form message's size.\n */\n @Prop({ reflect: true }) public readonly size: FormMessageSize = 'standard'\n\n /**\n * The form message's status.\n */\n @Prop() public readonly status: Status = 'error'\n\n /**\n * The form message's text.\n */\n @Prop({ reflect: true }) public readonly text?: string\n\n @Element() private readonly element!: HTMLQdsFormMessageElement\n\n private inheritedAttributes: Attributes = {}\n\n public componentWillLoad(): void {\n this.inheritedAttributes = inheritAriaAttributes(this.element)\n }\n\n public render() {\n return (\n <span\n class={{\n inline: this.inline,\n 'form-message': true,\n }}\n data-size={this.size}\n // eslint-disable-next-line react/jsx-props-no-spreading\n {...this.inheritedAttributes}\n >\n <span\n class=\"icon-background\"\n data-size={this.size}\n data-status={this.status}\n />\n <qds-icon\n class=\"icon\"\n data-size={this.size}\n name={`status-${this.status}`}\n library=\"core\"\n />\n <span class=\"text\" data-status={this.status}>\n {this.text}\n </span>\n </span>\n )\n }\n}\n"],"version":3}
1
+ {"version":3,"file":"qds-form-message.entry.js","sources":["src/components/form-message/form-message.css?tag=qds-form-message&encapsulation=shadow","src/components/form-message/form-message.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-form-message {\n color: var(--qds-theme-control-text-standard);\n display: inline-flex;\n gap: var(--qds-text-icon-gap);\n\n &.qds-inline {\n align-items: flex-start;\n }\n}\n\n.qds-icon-container,\n.qds-icon-background {\n display: flex;\n align-items: center;\n}\n\n.qds-icon-background {\n border-radius: var(--qds-control-rounded-border-radius);\n background-color: var(--qds-theme-feedback-action-destructive-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-size='small'] {\n font: var(--qds-form-small-text);\n\n &.qds-icon-container {\n height: var(--qds-control-small-icon-crop-height);\n }\n\n &.qds-icon {\n width: var(--qds-form-small-icon-size);\n height: var(--qds-form-small-icon-size);\n }\n\n &.qds-inline {\n min-height: var(--qds-form-input-small-height);\n padding-block: var(--qds-control-small-padding-auto-height);\n }\n}\n\n[data-size='standard'] {\n font: var(--qds-form-standard-text);\n\n &.qds-icon-container {\n height: var(--qds-control-standard-icon-crop-height);\n }\n\n &.qds-icon {\n width: var(--qds-form-standard-icon-size);\n height: var(--qds-form-standard-icon-size);\n }\n\n &.qds-inline {\n min-height: var(--qds-form-input-standard-height);\n padding-block: var(--qds-control-standard-padding-auto-height);\n }\n}\n\n[data-size='large'] {\n font: var(--qds-form-large-text);\n\n &.qds-icon-container {\n height: var(--qds-control-large-icon-crop-height);\n }\n\n &.qds-icon {\n width: var(--qds-form-large-icon-size);\n height: var(--qds-form-large-icon-size);\n }\n\n &.qds-inline {\n min-height: var(--qds-form-input-large-height);\n padding-block: var(--qds-control-large-padding-auto-height);\n }\n}\n\n[data-status='error'] {\n &.qds-icon {\n color: var(--qds-theme-feedback-result-failure);\n }\n\n &.qds-text {\n color: var(--qds-theme-feedback-result-failure);\n }\n}\n\n[data-status='info'].qds-icon {\n color: var(--qds-theme-feedback-message-informational);\n}\n\n[data-status='success'] {\n &.qds-icon {\n color: var(--qds-theme-feedback-result-success);\n }\n\n &.qds-text {\n color: var(--qds-theme-feedback-result-success);\n }\n}\n\n[data-status='warning'].qds-icon {\n color: var(--qds-theme-feedback-result-partial-success);\n}\n\n[data-status='neutral'] {\n color: var(--qds-theme-text-subdued);\n}\n","// SPDX-FileCopyrightText: © 2024 Schneider Electric\n//\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { ComponentInterface } from '@stencil/core'\nimport {\n AttachInternals,\n Component,\n Element,\n h,\n Prop,\n Watch,\n} from '@stencil/core'\n\nimport type { Size, Status } from '../shared'\n\nexport type FormMessageStatus = Status | 'neutral'\n\n/**\n * `<qds-form-message>` elements represent messages for a form field in a user\n * interface.\n *\n * @see https://quartz.se.com/build/components/form-message\n */\n@Component({\n tag: 'qds-form-message',\n shadow: true,\n styleUrl: 'form-message.css',\n})\nexport class FormMessage implements ComponentInterface {\n /**\n * Adds vertical margin to the form message 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 form message's size.\n */\n @Prop() public readonly size?: Size = 'standard'\n\n /**\n * The form message's status.\n */\n @Prop() public readonly status?: FormMessageStatus = 'error'\n\n /**\n * Adds accessible text to the icon's form message that will be used by screen readers.\n *\n * @example\n * <qds-form-message status-description=\"Error\" text=\"Password is required.\"></qds-form-message>\n * // This form message will be read by screen readers as \"Error Password is required.\"\n */\n @Prop() public readonly statusDescription?: string\n\n /**\n * The form message's text.\n */\n @Prop() public readonly text?: string\n\n @Element() private readonly host!: HTMLElement\n\n @AttachInternals() private readonly internals!: ElementInternals\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 #computedStatus(): FormMessageStatus {\n return this.status ?? 'error'\n }\n\n @Watch('status')\n protected statusChanged(): void {\n this.#syncInternalsAccessibility()\n }\n\n public componentWillLoad(): void {\n if (this.#computedStatus !== 'neutral') {\n this.internals.role =\n this.#computedStatus === 'error' ? 'alert' : 'status'\n }\n this.#syncInternalsAccessibility()\n }\n\n public render() {\n return (\n <div\n class={{\n 'qds-form-message': true,\n 'qds-inline': this.inline,\n }}\n data-size={this.#computedSize}\n >\n {this.#computedStatus !== 'neutral' && (\n <div class=\"qds-icon-container\" data-size={this.#computedSize}>\n <div\n class=\"qds-icon-background\"\n data-size={this.#computedSize}\n data-status={this.#computedStatus}\n >\n <qds-icon\n class=\"qds-icon\"\n data-size={this.#computedSize}\n data-status={this.#computedStatus}\n name={`status-${this.#computedStatus}-solid`}\n library=\"core\"\n />\n <span class=\"qds-sr-only\">{this.statusDescription}</span>\n </div>\n </div>\n )}\n <span class=\"qds-text\" data-status={this.#computedStatus}>\n {this.text}\n </span>\n </div>\n )\n }\n\n #syncInternalsAccessibility(): void {\n this.internals.ariaLive =\n this.#computedStatus === 'error' ? 'assertive' : 'polite'\n this.internals.ariaAtomic = 'true'\n }\n}\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,242 @@
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, g as getElement } from './index-Hg1Liloy.js';
7
+ import { p as pickFocusEventAttributes, r as resolveTarget, d as isIndicator, e as isCounter, f as computeBadgeValue } from './helpers-BIo9VDPx.js';
8
+
9
+ const iconTabCss = ":host([hidden]){display:none!important}:host{display:inline-block;line-height:0}[aria-disabled=true]{opacity:var(--qds-theme-disabled);pointer-events:none}:host(:focus-visible){border-radius:var(--qds-focus-border-radius);outline:var(--qds-theme-focus-border) solid var(--qds-focus-border-width);outline-offset:calc(var(--qds-focus-border-width)*-1 - var(--qds-focus-border-offset))}.qds-icon-container{align-items:center;display:flex;justify-content:center;position:relative}.qds-icon{flex-shrink:0}.qds-icon:hover{background-color:initial}.qds-selected:active{background-color:var(--qds-theme-interactive-background-selected-pressed)}.qds-icon,.qds-text{color:var(--qds-theme-title)}.qds-badge-indicator{inset-block-start:0;inset-inline-end:0;position:absolute}.qds-badge-counter{inset-block-start:-2px;inset-inline-end:-2px;position:absolute}.qds-icon-tab[data-size=small]{gap:var(--qds-nav-element-small-gap-internal);min-height:var(--qds-nav-element-small-height);min-width:var(--qds-nav-element-small-height)}[data-size=small] .qds-icon-container{height:var(--qds-control-small-height);width:var(--qds-control-small-height)}[data-size=small] .qds-icon-container>.qds-icon{height:var(--qds-nav-element-small-icon-size);width:var(--qds-nav-element-small-icon-size)}.qds-icon-tab[data-size=standard]{gap:var(--qds-nav-element-standard-gap-internal);min-height:var(--qds-nav-element-standard-height);min-width:var(--qds-nav-element-standard-height)}[data-size=standard] .qds-icon-container{height:var(--qds-control-standard-height);width:var(--qds-control-standard-height)}[data-size=standard] .qds-icon-container>.qds-icon{height:var(--qds-nav-element-standard-icon-size);width:var(--qds-nav-element-standard-icon-size)}.qds-icon-tab[data-size=large]{gap:var(--qds-nav-element-large-gap-internal);min-height:var(--qds-nav-element-large-height);min-width:var(--qds-nav-element-large-height)}[data-size=large] .qds-icon-container{height:var(--qds-control-large-height);width:var(--qds-control-large-height)}[data-size=large] .qds-icon-container>.qds-icon{height:var(--qds-nav-element-large-icon-size);width:var(--qds-nav-element-large-icon-size)}.qds-selected[data-importance=standard]:after,.qds-selected[data-importance=subdued]:after{border-radius:var(--qds-signature-line-connection-cap-radius);content:\"\";display:block;position:absolute}.qds-selected.qds-indicator-inline-end[data-importance=standard]:after,.qds-selected.qds-indicator-inline-end[data-importance=subdued]:after,.qds-selected.qds-indicator-inline-start[data-importance=standard]:after,.qds-selected.qds-indicator-inline-start[data-importance=subdued]:after{height:100%;width:var(--qds-signature-line-connection-width)}.qds-selected.qds-indicator-inline-end[data-importance=standard]:after,.qds-selected.qds-indicator-inline-end[data-importance=subdued]:after{inset-inline-end:0}.qds-selected.qds-indicator-inline-start[data-importance=standard]:after,.qds-selected.qds-indicator-inline-start[data-importance=subdued]:after{inset-inline-start:0}.qds-selected.qds-indicator-block-end[data-importance=standard]:after,.qds-selected.qds-indicator-block-end[data-importance=subdued]:after,.qds-selected.qds-indicator-block-start[data-importance=standard]:after,.qds-selected.qds-indicator-block-start[data-importance=subdued]:after{height:var(--qds-signature-line-connection-width);width:100%}.qds-selected.qds-indicator-block-end[data-importance=standard]:after,.qds-selected.qds-indicator-block-end[data-importance=subdued]:after{bottom:0}.qds-selected.qds-indicator-block-start[data-importance=standard]:after,.qds-selected.qds-indicator-block-start[data-importance=subdued]:after{top:0}[data-importance=standard]:hover:after{background-color:var(--qds-theme-signature-color-hover)}[data-importance=standard]:active:after{background-color:var(--qds-theme-signature-color-pressed)}.qds-selected[data-importance=standard]:after{background-color:var(--qds-theme-signature-color-default)}[data-importance=standard] .qds-selected .qds-icon{color:var(--qds-theme-title)}.qds-selected[data-importance=subdued]:after,[data-importance=subdued] :active:after{background-color:var(--qds-theme-link-subdued-pressed)}[data-importance=subdued]:hover:after{background-color:var(--qds-theme-link-subdued-hover)}.qds-selected[data-importance=subdued]:after{background-color:var(\n --qds-theme-nav-element-selection-indicator-background-subdued\n )}.qds-icon-tab{align-items:center;background-color:initial;border:none;cursor:pointer;display:flex;justify-content:center;position:relative;text-align:initial}.qds-icon-tab:any-link{-webkit-text-decoration:none;text-decoration:none}.qds-icon-tab:hover{background-color:var(--qds-theme-interactive-background-hover)}.qds-icon-tab:active{background-color:var(--qds-theme-interactive-background-pressed)}.qds-icon-tab:focus-visible{border-radius:var(--qds-focus-border-radius);outline:var(--qds-theme-focus-border) solid var(--qds-focus-border-width);outline-offset:calc(var(--qds-focus-border-width)*-1 - var(--qds-focus-border-offset))}.qds-hidden{display:none}";
10
+
11
+ // SPDX-FileCopyrightText: © 2026 Schneider Electric
12
+ //
13
+ // SPDX-License-Identifier: Apache-2.0
14
+ var __classPrivateFieldSet = (undefined && undefined.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
15
+ if (kind === "m")
16
+ throw new TypeError("Private method is not writable");
17
+ if (kind === "a" && !f)
18
+ throw new TypeError("Private accessor was defined without a setter");
19
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver))
20
+ throw new TypeError("Cannot write private member to an object whose class did not declare it");
21
+ return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
22
+ };
23
+ var __classPrivateFieldGet = (undefined && undefined.__classPrivateFieldGet) || function (receiver, state, kind, f) {
24
+ if (kind === "a" && !f)
25
+ throw new TypeError("Private accessor was defined without a getter");
26
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver))
27
+ throw new TypeError("Cannot read private member from an object whose class did not declare it");
28
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
29
+ };
30
+ var _IconTab_instances, _IconTab_tab, _IconTab_panel, _IconTab_computedSize_get, _IconTab_computedImportance_get, _IconTab_parentLayer_get, _IconTab_parentLevel_get, _IconTab_computedDisabled_get, _IconTab_placement_get, _IconTab_isLink_get, _IconTab_syncAriaLabel, _IconTab_tabRef, _IconTab_tooltipRef, _IconTab_onBlur, _IconTab_onFocus, _IconTab_defineTab, _IconTab_defineGetter;
31
+ let autoIncrementingId = 1;
32
+ const IconTab = class {
33
+ constructor(hostRef) {
34
+ registerInstance(this, hostRef);
35
+ this.blurEmitter = createEvent(this, "qdsBlur", 2);
36
+ this.focusEmitter = createEvent(this, "qdsFocus", 2);
37
+ if (hostRef.$hostElement$["s-ei"]) {
38
+ this.internals = hostRef.$hostElement$["s-ei"];
39
+ }
40
+ else {
41
+ this.internals = hostRef.$hostElement$.attachInternals();
42
+ hostRef.$hostElement$["s-ei"] = this.internals;
43
+ }
44
+ _IconTab_instances.add(this);
45
+ /**
46
+ * The tab's counter importance.
47
+ */
48
+ this.badgeCounterImportance = 'standard';
49
+ /**
50
+ * The indicator's status.
51
+ */
52
+ this.badgeIndicatorStatus = 'neutral';
53
+ /**
54
+ * The name of a registered icon library.
55
+ */
56
+ this.iconLibrary = 'default';
57
+ /**
58
+ * The tab's importance.
59
+ */
60
+ this.importance = 'standard';
61
+ /**
62
+ * The tab's indicator position.
63
+ */
64
+ this.indicatorPosition = 'block-end';
65
+ /**
66
+ * Whether or not the tab is selected.
67
+ */
68
+ this.selected = false;
69
+ /**
70
+ * The tab's size.
71
+ */
72
+ this.size = 'standard';
73
+ this.isIndicatorOnTop = false;
74
+ _IconTab_tab.set(this, void 0);
75
+ _IconTab_panel.set(this, void 0);
76
+ _IconTab_tabRef.set(this, (tab) => {
77
+ __classPrivateFieldSet(this, _IconTab_tab, tab, "f");
78
+ __classPrivateFieldGet(this, _IconTab_instances, "m", _IconTab_syncAriaLabel).call(this);
79
+ });
80
+ _IconTab_tooltipRef.set(this, (tooltip) => {
81
+ if (tooltip)
82
+ // eslint-disable-next-line no-param-reassign
83
+ tooltip.target = this.host;
84
+ });
85
+ _IconTab_onBlur.set(this, (event) => {
86
+ this.blurEmitter.emit(pickFocusEventAttributes(event));
87
+ });
88
+ _IconTab_onFocus.set(this, (event) => {
89
+ this.focusEmitter.emit(pickFocusEventAttributes(event));
90
+ });
91
+ _IconTab_defineTab.set(this, () => {
92
+ if (__classPrivateFieldGet(this, _IconTab_instances, "a", _IconTab_isLink_get)) {
93
+ // eslint-disable-next-line unicorn/no-null
94
+ this.internals.role = null;
95
+ __classPrivateFieldGet(this, _IconTab_instances, "m", _IconTab_defineGetter).call(this, 'tab', () => __classPrivateFieldGet(this, _IconTab_tab, "f"));
96
+ }
97
+ else {
98
+ this.internals.role = 'tab';
99
+ this.internals.ariaSelected = this.selected ? 'true' : 'false';
100
+ __classPrivateFieldGet(this, _IconTab_instances, "m", _IconTab_defineGetter).call(this, 'tab', () => this.host);
101
+ }
102
+ __classPrivateFieldGet(this, _IconTab_instances, "m", _IconTab_syncAriaLabel).call(this);
103
+ });
104
+ }
105
+ panelChanged() {
106
+ this.disconnectedCallback();
107
+ const panel = resolveTarget(this.panel, 'qds-icon-tab');
108
+ if (!(panel instanceof globalThis.Element))
109
+ return;
110
+ __classPrivateFieldSet(this, _IconTab_panel, panel, "f");
111
+ if (!__classPrivateFieldGet(this, _IconTab_instances, "a", _IconTab_isLink_get))
112
+ this.host.setAttribute('aria-controls', __classPrivateFieldGet(this, _IconTab_panel, "f").id);
113
+ if (__classPrivateFieldGet(this, _IconTab_panel, "f").role === null)
114
+ __classPrivateFieldGet(this, _IconTab_panel, "f").role = 'tabpanel';
115
+ if (__classPrivateFieldGet(this, _IconTab_panel, "f").getAttribute('aria-labelledby') === null)
116
+ __classPrivateFieldGet(this, _IconTab_panel, "f").setAttribute('aria-labelledby', this.host.id);
117
+ __classPrivateFieldGet(this, _IconTab_panel, "f").setAttribute('tabindex', __classPrivateFieldGet(this, _IconTab_panel, "f").getAttribute('tabindex') ?? '0');
118
+ }
119
+ onClick(event) {
120
+ if (__classPrivateFieldGet(this, _IconTab_instances, "a", _IconTab_computedDisabled_get))
121
+ event.stopImmediatePropagation();
122
+ }
123
+ tabindexChanged(newValue) {
124
+ const parsedValue = Number.parseInt(newValue, 10);
125
+ this.tabIndex =
126
+ parsedValue === 0 || Number.isNaN(parsedValue) ? undefined : parsedValue;
127
+ }
128
+ ariaLabelChanged() {
129
+ __classPrivateFieldGet(this, _IconTab_instances, "m", _IconTab_syncAriaLabel).call(this);
130
+ }
131
+ hrefChanged() {
132
+ __classPrivateFieldGet(this, _IconTab_defineTab, "f").call(this);
133
+ __classPrivateFieldGet(this, _IconTab_instances, "m", _IconTab_syncAriaLabel).call(this);
134
+ }
135
+ componentWillLoad() {
136
+ var _a;
137
+ this.tabindexChanged(this.host.getAttribute('tabindex') ?? '0');
138
+ (_a = this.host).id || (_a.id = `qds-icon-tab-${autoIncrementingId}`);
139
+ autoIncrementingId += 1;
140
+ __classPrivateFieldGet(this, _IconTab_defineTab, "f").call(this);
141
+ }
142
+ componentWillRender() {
143
+ const isPanelRoot = __classPrivateFieldGet(this, _IconTab_instances, "a", _IconTab_parentLayer_get) === 'panel' && __classPrivateFieldGet(this, _IconTab_instances, "a", _IconTab_parentLevel_get) === 'root';
144
+ const isMainSubsection = __classPrivateFieldGet(this, _IconTab_instances, "a", _IconTab_parentLayer_get) === 'main' && __classPrivateFieldGet(this, _IconTab_instances, "a", _IconTab_parentLevel_get) === 'subsection';
145
+ this.isIndicatorOnTop = isPanelRoot || isMainSubsection;
146
+ }
147
+ componentDidLoad() {
148
+ this.panelChanged();
149
+ }
150
+ disconnectedCallback() {
151
+ if (!__classPrivateFieldGet(this, _IconTab_panel, "f"))
152
+ return;
153
+ this.host.removeAttribute('aria-controls');
154
+ if (__classPrivateFieldGet(this, _IconTab_panel, "f").role === 'tabpanel')
155
+ // eslint-disable-next-line unicorn/no-null
156
+ __classPrivateFieldGet(this, _IconTab_panel, "f").role = null;
157
+ if (__classPrivateFieldGet(this, _IconTab_panel, "f").getAttribute('aria-labelledby') === this.host.id)
158
+ __classPrivateFieldGet(this, _IconTab_panel, "f").removeAttribute('aria-labelledby');
159
+ __classPrivateFieldGet(this, _IconTab_panel, "f").removeAttribute('tabindex');
160
+ }
161
+ render() {
162
+ const isLink = __classPrivateFieldGet(this, _IconTab_instances, "a", _IconTab_isLink_get);
163
+ const Tag = isLink ? 'a' : 'div';
164
+ return (h("div", { key: 'a07a44895055d6ad057780791f1b47eb92f19656', "aria-disabled": __classPrivateFieldGet(this, _IconTab_instances, "a", _IconTab_computedDisabled_get) ? 'true' : undefined, class: {
165
+ 'qds-selected': this.selected,
166
+ }, "data-size": __classPrivateFieldGet(this, _IconTab_instances, "a", _IconTab_computedSize_get), "data-importance": __classPrivateFieldGet(this, _IconTab_instances, "a", _IconTab_computedImportance_get) }, h(Tag, { key: '9f37a73925df953a0c82bff6916ee49d0e2d95f6', "aria-disabled": __classPrivateFieldGet(this, _IconTab_instances, "a", _IconTab_computedDisabled_get) ? 'true' : undefined, ...(isLink ? undefined : { disabled: this.disabled }), onBlur: __classPrivateFieldGet(this, _IconTab_onBlur, "f"), onFocus: __classPrivateFieldGet(this, _IconTab_onFocus, "f"), class: {
167
+ 'qds-icon-tab': true,
168
+ 'qds-selected': this.selected,
169
+ [`qds-indicator-${this.indicatorPosition}`]: true,
170
+ }, "aria-selected": isLink && this.selected ? 'true' : undefined, "data-importance": __classPrivateFieldGet(this, _IconTab_instances, "a", _IconTab_computedImportance_get), "data-size": __classPrivateFieldGet(this, _IconTab_instances, "a", _IconTab_computedSize_get), href: isLink ? this.href : undefined, role: isLink ? 'tab' : undefined, ref: __classPrivateFieldGet(this, _IconTab_tabRef, "f") }, h("div", { key: 'e86a614402e0fbb35deb4352955ced1957c05a4e', class: "qds-icon-container" }, h("qds-icon", { key: 'e0bc0565e7e362531cc93952f07b9ed9af583600', "aria-hidden": "true", class: "qds-icon", library: this.iconLibrary, name: this.iconName }), isIndicator(this.badge) && (h("qds-badge-indicator", { key: 'a198419320b358545bcf07c9614edfe2a7d34c4c', class: "qds-badge-indicator", status: this.badgeIndicatorStatus, description: this.badgeDescription, size: __classPrivateFieldGet(this, _IconTab_instances, "a", _IconTab_computedSize_get), strokeRing: true })), isCounter(this.badge) && (h("qds-badge-counter", { key: '08da61a0b23b5dbbacd1d383bd4ef855d6621d62', class: "qds-badge-counter", description: this.badgeDescription, importance: this.badgeCounterImportance, size: __classPrivateFieldGet(this, _IconTab_instances, "a", _IconTab_computedSize_get), strokeRing: true, value: this.badge })))), h("qds-tooltip", { key: 'ab638b82a0c6fe3d88ba28ee87d02c3ceb55d3df', placement: __classPrivateFieldGet(this, _IconTab_instances, "a", _IconTab_placement_get), ref: __classPrivateFieldGet(this, _IconTab_tooltipRef, "f") }, h("qds-title", { key: '1a0009d13238d7896416e476215476450d7107d8', layer: "accessory", level: "root" }, this.text))));
171
+ }
172
+ get host() { return getElement(this); }
173
+ static get watchers() { return {
174
+ "panel": ["panelChanged"],
175
+ "tabindex": ["tabindexChanged"],
176
+ "text": ["ariaLabelChanged"],
177
+ "badge": ["ariaLabelChanged"],
178
+ "badgeDescription": ["ariaLabelChanged"],
179
+ "href": ["hrefChanged"]
180
+ }; }
181
+ };
182
+ _IconTab_tab = new WeakMap(), _IconTab_panel = new WeakMap(), _IconTab_tabRef = new WeakMap(), _IconTab_tooltipRef = new WeakMap(), _IconTab_onBlur = new WeakMap(), _IconTab_onFocus = new WeakMap(), _IconTab_defineTab = new WeakMap(), _IconTab_instances = new WeakSet(), _IconTab_computedSize_get = function _IconTab_computedSize_get() {
183
+ switch (this.size) {
184
+ case 'standard':
185
+ case 'small':
186
+ case 'large': {
187
+ return this.size;
188
+ }
189
+ default: {
190
+ return 'standard';
191
+ }
192
+ }
193
+ }, _IconTab_computedImportance_get = function _IconTab_computedImportance_get() {
194
+ return this.importance ?? 'standard';
195
+ }, _IconTab_parentLayer_get = function _IconTab_parentLayer_get() {
196
+ return this.host.closest('qds-tabbar')?.layer ?? 'main';
197
+ }, _IconTab_parentLevel_get = function _IconTab_parentLevel_get() {
198
+ return this.host.closest('qds-tabbar')?.level ?? 'root';
199
+ }, _IconTab_computedDisabled_get = function _IconTab_computedDisabled_get() {
200
+ return this.disabled ?? false;
201
+ }, _IconTab_placement_get = function _IconTab_placement_get() {
202
+ switch (this.indicatorPosition) {
203
+ case 'inline-start': {
204
+ return 'left';
205
+ }
206
+ case 'inline-end': {
207
+ return 'right';
208
+ }
209
+ case 'block-start': {
210
+ return 'top';
211
+ }
212
+ default: {
213
+ return 'bottom';
214
+ }
215
+ }
216
+ }, _IconTab_isLink_get = function _IconTab_isLink_get() {
217
+ return this.href !== undefined;
218
+ }, _IconTab_syncAriaLabel = function _IconTab_syncAriaLabel() {
219
+ const ariaLabel = this.badge === undefined
220
+ ? // eslint-disable-next-line unicorn/no-null
221
+ (this.text ?? null)
222
+ : computeBadgeValue(this.text, this.badge, this.badgeDescription);
223
+ if (__classPrivateFieldGet(this, _IconTab_instances, "a", _IconTab_isLink_get)) {
224
+ // eslint-disable-next-line unicorn/no-null
225
+ this.internals.ariaLabel = null;
226
+ if (ariaLabel === null) {
227
+ __classPrivateFieldGet(this, _IconTab_tab, "f")?.removeAttribute('aria-label');
228
+ }
229
+ else {
230
+ __classPrivateFieldGet(this, _IconTab_tab, "f")?.setAttribute('aria-label', ariaLabel);
231
+ }
232
+ return;
233
+ }
234
+ __classPrivateFieldGet(this, _IconTab_tab, "f")?.removeAttribute('aria-label');
235
+ this.internals.ariaLabel = ariaLabel;
236
+ }, _IconTab_defineGetter = function _IconTab_defineGetter(p, get) {
237
+ Object.defineProperty(this.host, p, { enumerable: true, get });
238
+ };
239
+ IconTab.style = iconTabCss;
240
+
241
+ export { IconTab as qds_icon_tab };
242
+ //# sourceMappingURL=qds-icon-tab.entry.js.map