@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,227 +1,475 @@
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
6
  'use strict';
7
7
 
8
- Object.defineProperty(exports, '__esModule', { value: true });
8
+ var index = require('./index-DIY7gpXM.js');
9
+ var floatingUi_dom = require('./floating-ui.dom-Bvzubd50.js');
10
+ var helpers = require('./helpers-D6srVOLt.js');
9
11
 
10
- const index = require('./index-d181f952.js');
11
- const floatingUi_dom_esm = require('./floating-ui.dom.esm-7f1cac3e.js');
12
- const helpers = require('./helpers-452256e8.js');
13
-
14
- const dropdownCss = ":host{box-sizing:border-box}:host([hidden]){display:none !important}:host([hidden]){}:host *,:host *::before,:host *::after{box-sizing:inherit}:host{background:var(--qds-theme-accessory-background);border-radius:var(--qds-accessory-border-radius);box-shadow:var(--qds-theme-accessory-elevation);display:inline-block;left:0;top:0}";
12
+ const dropdownCss = ":host([hidden]){display:none!important}:host{background-color:var(--qds-theme-popup-background);border:none;border-radius:var(--qds-popup-border-radius);box-shadow:var(--qds-popup-elevation);box-sizing:border-box;display:inline-block;inset:unset;margin:0;overflow:initial;padding:0}";
15
13
 
14
+ // SPDX-FileCopyrightText: © 2024 Schneider Electric
15
+ //
16
+ // SPDX-License-Identifier: Apache-2.0
17
+ var __classPrivateFieldSet = (undefined && undefined.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
18
+ if (kind === "m")
19
+ throw new TypeError("Private method is not writable");
20
+ if (kind === "a" && !f)
21
+ throw new TypeError("Private accessor was defined without a setter");
22
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver))
23
+ throw new TypeError("Cannot write private member to an object whose class did not declare it");
24
+ return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
25
+ };
26
+ var __classPrivateFieldGet = (undefined && undefined.__classPrivateFieldGet) || function (receiver, state, kind, f) {
27
+ if (kind === "a" && !f)
28
+ throw new TypeError("Private accessor was defined without a getter");
29
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver))
30
+ throw new TypeError("Cannot read private member from an object whose class did not declare it");
31
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
32
+ };
33
+ var _Dropdown_instances, _Dropdown_cleanup, _Dropdown_Items, _Dropdown_instanceId, _Dropdown_gap, _Dropdown_middleware, _Dropdown_referenceElement, _Dropdown_open, _Dropdown_opened, _Dropdown_onFocusout, _Dropdown_focusOnTrigger, _Dropdown_onKeydown, _Dropdown_onReferenceClick, _Dropdown_focusFirstItem, _Dropdown_initializeFirstItem, _Dropdown_setFirstItemTabindex, _Dropdown_findFirstFocusableDescendant, _Dropdown_focusWithin, _Dropdown_disconnectReferenceElement, _Dropdown_boundOnFocusout, _Dropdown_boundOnKeydown, _Dropdown_boundOnReferenceClick, _Dropdown_onSlotchange, _Dropdown_isReferenceOrDescendant;
16
34
  let autoIncrementingId = 1;
35
+ const getDropdownInstanceId = () => {
36
+ const instanceId = autoIncrementingId;
37
+ autoIncrementingId += 1;
38
+ return instanceId;
39
+ };
40
+ const isQdsButton = (element) => element.tagName.toLowerCase() === 'qds-button';
41
+ const ALLOWED_TAGS = new Set([
42
+ 'qds-action-item',
43
+ 'qds-menu-item',
44
+ 'qds-list-item',
45
+ ]);
46
+ const isEnabledItem = (element) => element instanceof HTMLElement &&
47
+ ALLOWED_TAGS.has(element.tagName.toLowerCase()) &&
48
+ !element.hasAttribute('disabled') &&
49
+ !element.inert &&
50
+ element.getAttribute('list-action') !== 'none';
17
51
  const Dropdown = class {
18
- constructor(hostRef) {
19
- index.registerInstance(this, hostRef);
20
- this.cancelEmitter = index.createEvent(this, "qdsCancel", 3);
21
- this.closeEmitter = index.createEvent(this, "qdsClose", 2);
22
- this.open = false;
23
- this.boundFocusout = (event) => {
24
- helpers.ignorePromise(this.handleFocusout(event));
25
- };
26
- this.boundEscape = (event) => {
27
- helpers.ignorePromise(this.handleEscape(event));
28
- };
29
- this.boundReferenceClick = () => {
30
- helpers.ignorePromise(this.handleReferenceClick());
31
- };
32
- this.autoUpdateOptions = undefined;
33
- this.disabled = false;
34
- this.flipOptions = undefined;
35
- this.noFlip = false;
36
- this.noShift = false;
37
- this.offsetOptions = undefined;
38
- this.placement = 'bottom-start';
39
- this.shiftOptions = undefined;
40
- this.strategy = undefined;
41
- this.target = undefined;
42
- this.hostAriaLabelledBy = undefined;
43
- this.hostDisplay = undefined;
44
- this.hostPosition = undefined;
45
- this.hostTransform = undefined;
46
- }
47
- /**
48
- * Show the dropdown.
49
- */
50
- async show() {
51
- if (this.open)
52
- return;
53
- if (this.referenceElement instanceof globalThis.Element) {
54
- this.referenceElement.setAttribute('aria-expanded', 'true');
55
- this.referenceElement.setAttribute('aria-controls', this.element.id);
56
- }
57
- this.open = true;
58
- this.hostDisplay = undefined;
59
- this.startAutoUpdate();
60
- }
61
- /**
62
- * Close the dropdown.
63
- */
64
- async close() {
65
- if (!this.open)
66
- return;
67
- if (this.referenceElement instanceof globalThis.Element) {
68
- this.referenceElement.setAttribute('aria-expanded', 'false');
69
- this.referenceElement.removeAttribute('aria-controls');
70
- }
71
- this.open = false;
72
- this.hostDisplay = 'none';
73
- if (this.cleanup)
74
- this.cleanup();
75
- this.closeEmitter.emit();
76
- }
77
- /**
78
- * Update the dropdown's middleware and position.
79
- */
80
- async update() {
81
- await this.updateMiddleware();
82
- }
83
- async handleMouseDown(event) {
84
- if (!this.open)
85
- return;
86
- const composedPath = event.composedPath();
87
- const withinBounds = composedPath.includes(this.element) ||
88
- (this.referenceElement instanceof globalThis.Element &&
89
- composedPath.includes(this.referenceElement));
90
- if (!withinBounds)
91
- await this.close();
92
- }
93
- async updateReferenceElement() {
94
- var _a;
95
- this.disconnectReferenceElement();
96
- const resolvedTarget = typeof this.target === 'function' ? this.target() : this.target;
97
- if (typeof resolvedTarget === 'string') {
98
- const element = document.querySelector(resolvedTarget);
99
- if (element === null)
100
- throw new Error('String `target` must resolve to an Element.');
101
- this.referenceElement = element;
102
- }
103
- else
104
- this.referenceElement = resolvedTarget;
105
- if (!(this.referenceElement instanceof globalThis.Element))
106
- return;
107
- this.referenceElement.setAttribute('aria-expanded', 'false');
108
- this.referenceElement.addEventListener('click', this.boundReferenceClick);
109
- this.referenceElement.addEventListener('focusout', this.boundFocusout);
110
- this.referenceElement.addEventListener('keydown', this.boundEscape);
111
- if (this.element.role === 'menu') {
112
- (_a = this.referenceElement).id || (_a.id = `qds-dropdown-trigger-${autoIncrementingId}`);
113
- this.hostAriaLabelledBy = this.referenceElement.id;
114
- }
115
- }
116
- async updateMiddleware() {
117
- this.middleware = [
118
- floatingUi_dom_esm.offset({
119
- ...this.offsetOptions,
120
- mainAxis: helpers.propertyToPx(this.element, '--qds-accessory-gap-floating') ?? 0,
121
- }),
122
- !this.noFlip &&
123
- floatingUi_dom_esm.flip({
124
- crossAxis: this.noShift,
125
- ...this.flipOptions,
126
- }),
127
- !this.noShift &&
128
- floatingUi_dom_esm.shift({
129
- limiter: floatingUi_dom_esm.limitShift(),
130
- ...this.shiftOptions,
131
- }),
132
- ].filter((middleware) => middleware !== false);
133
- await this.updatePosition();
134
- }
135
- async updatePosition() {
136
- helpers.invariant(this.referenceElement);
137
- const { x, y, strategy } = await floatingUi_dom_esm.computePosition(this.referenceElement, this.element, {
138
- middleware: this.middleware,
139
- placement: this.placement,
140
- strategy: this.strategy,
52
+ constructor(hostRef) {
53
+ index.registerInstance(this, hostRef);
54
+ this.cancelEmitter = index.createEvent(this, "qdsCancel", 3);
55
+ this.closeEmitter = index.createEvent(this, "qdsClose", 2);
56
+ if (hostRef.$hostElement$["s-ei"]) {
57
+ this.internals = hostRef.$hostElement$["s-ei"];
58
+ }
59
+ else {
60
+ this.internals = hostRef.$hostElement$.attachInternals();
61
+ hostRef.$hostElement$["s-ei"] = this.internals;
62
+ }
63
+ _Dropdown_instances.add(this);
64
+ /**
65
+ * Prevents the dropdown from being shown by user interaction. The dropdown
66
+ * can still be displayed by calling the `show()` method.
67
+ */
68
+ this.disabled = false;
69
+ /**
70
+ * Disable Floating UI's
71
+ * [`flip` middleware](https://floating-ui.com/docs/flip).
72
+ */
73
+ this.noFlip = false;
74
+ /**
75
+ * Disable Floating UI's
76
+ * [`shift` middleware](https://floating-ui.com/docs/shift).
77
+ */
78
+ this.noShift = false;
79
+ /**
80
+ * Where to place the dropdown relative to the `target`.
81
+ *
82
+ * @see https://floating-ui.com/docs/tutorial#placements
83
+ */
84
+ this.placement = 'bottom-start';
85
+ /**
86
+ * By default, the dropdown is closed when an item is selected. This attribute will keep it open instead. Useful for
87
+ * dropdowns that allow for multiple interactions.
88
+ */
89
+ this.keepOpenOnSelect = false;
90
+ _Dropdown_cleanup.set(this, void 0);
91
+ _Dropdown_Items.set(this, []);
92
+ _Dropdown_instanceId.set(this, getDropdownInstanceId());
93
+ _Dropdown_gap.set(this, 0);
94
+ _Dropdown_middleware.set(this, void 0);
95
+ _Dropdown_referenceElement.set(this, void 0);
96
+ _Dropdown_open.set(this, false
97
+ /**
98
+ * Whether the dropdown has been opened at least once.
99
+ * This is used to determine whether the dropdown should update its position, gap
100
+ * and middleware when it is opened.
101
+ */
102
+ );
103
+ /**
104
+ * Whether the dropdown has been opened at least once.
105
+ * This is used to determine whether the dropdown should update its position, gap
106
+ * and middleware when it is opened.
107
+ */
108
+ _Dropdown_opened.set(this, false
109
+ /**
110
+ * Updates the gap between the dropdown and its target element.
111
+ */
112
+ );
113
+ _Dropdown_onFocusout.set(this, async (event) => {
114
+ if (!(event instanceof FocusEvent))
115
+ return;
116
+ const { relatedTarget } = event;
117
+ const dropdownItem = __classPrivateFieldGet(this, _Dropdown_Items, "f").find((item) => item === relatedTarget);
118
+ if (relatedTarget instanceof globalThis.Element &&
119
+ !this.host.contains(relatedTarget) &&
120
+ !dropdownItem &&
121
+ !__classPrivateFieldGet(this, _Dropdown_instances, "m", _Dropdown_isReferenceOrDescendant).call(this, relatedTarget))
122
+ await this.close();
123
+ });
124
+ _Dropdown_onKeydown.set(this, async (event) => {
125
+ if (!(event instanceof KeyboardEvent))
126
+ return;
127
+ const { key, target } = event;
128
+ const keydownOnReference = __classPrivateFieldGet(this, _Dropdown_instances, "m", _Dropdown_isReferenceOrDescendant).call(this, target);
129
+ if (key === 'Enter' && !this.keepOpenOnSelect && isEnabledItem(target)) {
130
+ // Keep parent open when Enter is used on an item with a nested submenu.
131
+ if (target instanceof HTMLElement &&
132
+ target.shadowRoot?.querySelector('qds-dropdown'))
133
+ return;
134
+ await this.close();
135
+ __classPrivateFieldGet(this, _Dropdown_instances, "m", _Dropdown_focusOnTrigger).call(this);
136
+ return;
137
+ }
138
+ if (key === 'Escape' &&
139
+ (target === __classPrivateFieldGet(this, _Dropdown_referenceElement, "f") ||
140
+ (target instanceof globalThis.Element &&
141
+ helpers.closestElement('qds-dropdown', target) === this.host))) {
142
+ const cancelEvent = this.cancelEmitter.emit();
143
+ if (cancelEvent.defaultPrevented)
144
+ return;
145
+ await this.close();
146
+ __classPrivateFieldGet(this, _Dropdown_instances, "m", _Dropdown_focusOnTrigger).call(this);
147
+ return;
148
+ }
149
+ if (keydownOnReference && (key === 'ArrowDown' || key === 'ArrowUp')) {
150
+ event.preventDefault();
151
+ event.stopPropagation();
152
+ if (!__classPrivateFieldGet(this, _Dropdown_open, "f"))
153
+ await this.show();
154
+ __classPrivateFieldGet(this, _Dropdown_instances, "m", _Dropdown_focusFirstItem).call(this);
155
+ return;
156
+ }
157
+ // Prevent space key from scrolling the page when focused on an item
158
+ if (key === ' ' || key === 'Enter') {
159
+ event.preventDefault();
160
+ event.stopPropagation();
161
+ return;
162
+ }
163
+ if (key === helpers.getSubmenuCloseKey(this.host) && __classPrivateFieldGet(this, _Dropdown_open, "f")) {
164
+ event.preventDefault();
165
+ event.stopPropagation();
166
+ await this.close();
167
+ __classPrivateFieldGet(this, _Dropdown_instances, "m", _Dropdown_focusOnTrigger).call(this);
168
+ return;
169
+ }
170
+ if (!helpers.VERTICAL_MOVE_KEYS.has(key))
171
+ return;
172
+ const Items = __classPrivateFieldGet(this, _Dropdown_Items, "f").filter((item) => isEnabledItem(item) &&
173
+ helpers.closestElement('qds-dropdown', item) === this.host);
174
+ if (Items.length === 0)
175
+ return;
176
+ event.preventDefault();
177
+ event.stopPropagation();
178
+ const currentIndex = Items.findIndex((item) => item.getAttribute('tabindex') === '0');
179
+ let nextIndex = currentIndex;
180
+ switch (key) {
181
+ case 'ArrowUp': {
182
+ nextIndex = currentIndex > 0 ? currentIndex - 1 : Items.length - 1;
183
+ break;
184
+ }
185
+ case 'ArrowDown': {
186
+ nextIndex = currentIndex < Items.length - 1 ? currentIndex + 1 : 0;
187
+ break;
188
+ }
189
+ case 'Home': {
190
+ nextIndex = 0;
191
+ break;
192
+ }
193
+ case 'End': {
194
+ nextIndex = Items.length - 1;
195
+ break;
196
+ }
197
+ default: {
198
+ return;
199
+ }
200
+ }
201
+ const nextItem = Items[nextIndex];
202
+ for (const [index, item] of Items.entries()) {
203
+ item.setAttribute('tabindex', index === nextIndex ? '0' : '-1');
204
+ }
205
+ nextItem.focus();
206
+ event.preventDefault();
207
+ });
208
+ _Dropdown_onReferenceClick.set(this, async () => {
209
+ if (this.disabled)
210
+ return;
211
+ if (__classPrivateFieldGet(this, _Dropdown_open, "f")) {
212
+ await this.close();
213
+ return;
214
+ }
215
+ await this.show();
216
+ __classPrivateFieldGet(this, _Dropdown_instances, "m", _Dropdown_initializeFirstItem).call(this);
217
+ __classPrivateFieldGet(this, _Dropdown_instances, "m", _Dropdown_focusFirstItem).call(this);
218
+ });
219
+ _Dropdown_boundOnFocusout.set(this, (event) => {
220
+ helpers.ignorePromise(__classPrivateFieldGet(this, _Dropdown_onFocusout, "f").call(this, event));
221
+ });
222
+ _Dropdown_boundOnKeydown.set(this, (event) => {
223
+ helpers.ignorePromise(__classPrivateFieldGet(this, _Dropdown_onKeydown, "f").call(this, event));
224
+ });
225
+ _Dropdown_boundOnReferenceClick.set(this, () => {
226
+ helpers.ignorePromise(__classPrivateFieldGet(this, _Dropdown_onReferenceClick, "f").call(this));
227
+ });
228
+ _Dropdown_onSlotchange.set(this, (event) => {
229
+ const slot = event.target;
230
+ const assignedElements = slot.assignedElements({ flatten: true });
231
+ __classPrivateFieldSet(this, _Dropdown_Items, assignedElements.filter((element) => isEnabledItem(element)), "f");
232
+ });
233
+ }
234
+ /**
235
+ * Updates the gap between the dropdown and its target element.
236
+ */
237
+ async updateGap() {
238
+ __classPrivateFieldSet(this, _Dropdown_gap, helpers.propertyToPx(this.host, '--qds-accessory-gap-floating') ?? 0, "f");
239
+ await this.updateMiddleware();
240
+ }
241
+ /**
242
+ * Shows the dropdown.
243
+ */
244
+ async show() {
245
+ if (__classPrivateFieldGet(this, _Dropdown_open, "f"))
246
+ return;
247
+ const reference = __classPrivateFieldGet(this, _Dropdown_referenceElement, "f");
248
+ const { host } = this;
249
+ if (reference instanceof globalThis.Element) {
250
+ reference.setAttribute('aria-expanded', 'true');
251
+ host.setAttribute('aria-labelledby', reference.id);
252
+ if (isQdsButton(reference) && reference.action === 'dropdown')
253
+ reference.action = 'dropdown-close';
254
+ }
255
+ if (!__classPrivateFieldGet(this, _Dropdown_opened, "f")) {
256
+ await this.updateGap();
257
+ __classPrivateFieldSet(this, _Dropdown_opened, true, "f");
258
+ }
259
+ this.startAutoUpdate();
260
+ __classPrivateFieldSet(this, _Dropdown_open, true, "f");
261
+ host.hidden = false;
262
+ host.showPopover();
263
+ }
264
+ /**
265
+ * Closes the dropdown.
266
+ */
267
+ async close() {
268
+ if (!__classPrivateFieldGet(this, _Dropdown_open, "f"))
269
+ return;
270
+ if (__classPrivateFieldGet(this, _Dropdown_referenceElement, "f") instanceof globalThis.Element) {
271
+ __classPrivateFieldGet(this, _Dropdown_referenceElement, "f").setAttribute('aria-expanded', 'false');
272
+ if (isQdsButton(__classPrivateFieldGet(this, _Dropdown_referenceElement, "f")) &&
273
+ __classPrivateFieldGet(this, _Dropdown_referenceElement, "f").action === 'dropdown-close')
274
+ __classPrivateFieldGet(this, _Dropdown_referenceElement, "f").action = 'dropdown';
275
+ }
276
+ if (__classPrivateFieldGet(this, _Dropdown_cleanup, "f"))
277
+ __classPrivateFieldGet(this, _Dropdown_cleanup, "f").call(this);
278
+ __classPrivateFieldSet(this, _Dropdown_open, false, "f");
279
+ this.host.hidden = true;
280
+ this.host.hidePopover();
281
+ this.closeEmitter.emit();
282
+ }
283
+ async focusFirstItem() {
284
+ __classPrivateFieldGet(this, _Dropdown_instances, "m", _Dropdown_focusFirstItem).call(this);
285
+ }
286
+ async handleMouseDown(event) {
287
+ if (!__classPrivateFieldGet(this, _Dropdown_open, "f"))
288
+ return;
289
+ const composedPath = event.composedPath();
290
+ const withinBounds = composedPath.includes(this.host) ||
291
+ (__classPrivateFieldGet(this, _Dropdown_referenceElement, "f") instanceof globalThis.Element &&
292
+ composedPath.includes(__classPrivateFieldGet(this, _Dropdown_referenceElement, "f")));
293
+ if (!withinBounds)
294
+ await this.close();
295
+ }
296
+ async onItemClick(event) {
297
+ if (!this.keepOpenOnSelect && isEnabledItem(event.target)) {
298
+ await this.close();
299
+ }
300
+ }
301
+ async updateReferenceElement() {
302
+ var _a;
303
+ __classPrivateFieldGet(this, _Dropdown_instances, "m", _Dropdown_disconnectReferenceElement).call(this);
304
+ __classPrivateFieldSet(this, _Dropdown_referenceElement, helpers.resolveTarget(this.target, 'qds-dropdown'), "f");
305
+ if (!(__classPrivateFieldGet(this, _Dropdown_referenceElement, "f") instanceof globalThis.Element))
306
+ return;
307
+ __classPrivateFieldGet(this, _Dropdown_referenceElement, "f").setAttribute('aria-expanded', 'false');
308
+ __classPrivateFieldGet(this, _Dropdown_referenceElement, "f").setAttribute('aria-haspopup', 'true');
309
+ __classPrivateFieldGet(this, _Dropdown_referenceElement, "f").setAttribute('aria-controls', this.host.id);
310
+ __classPrivateFieldGet(this, _Dropdown_referenceElement, "f").addEventListener('click', __classPrivateFieldGet(this, _Dropdown_boundOnReferenceClick, "f"));
311
+ __classPrivateFieldGet(this, _Dropdown_referenceElement, "f").addEventListener('focusout', __classPrivateFieldGet(this, _Dropdown_boundOnFocusout, "f"));
312
+ __classPrivateFieldGet(this, _Dropdown_referenceElement, "f").addEventListener('keydown', __classPrivateFieldGet(this, _Dropdown_boundOnKeydown, "f"));
313
+ if (this.internals.role === 'menu') {
314
+ (_a = __classPrivateFieldGet(this, _Dropdown_referenceElement, "f")).id || (_a.id = `qds-dropdown-trigger-${__classPrivateFieldGet(this, _Dropdown_instanceId, "f")}`);
315
+ this.host.setAttribute('aria-labelledby', __classPrivateFieldGet(this, _Dropdown_referenceElement, "f").id);
316
+ }
317
+ }
318
+ async updateMiddleware() {
319
+ __classPrivateFieldSet(this, _Dropdown_middleware, [
320
+ floatingUi_dom.offset({
321
+ ...this.offsetOptions,
322
+ mainAxis: __classPrivateFieldGet(this, _Dropdown_gap, "f"),
323
+ }),
324
+ !this.noFlip &&
325
+ floatingUi_dom.flip({
326
+ crossAxis: this.noShift,
327
+ ...this.flipOptions,
328
+ }),
329
+ !this.noShift &&
330
+ floatingUi_dom.shift({
331
+ limiter: floatingUi_dom.limitShift(),
332
+ ...this.shiftOptions,
333
+ }),
334
+ ], "f");
335
+ }
336
+ async updatePosition() {
337
+ if (!__classPrivateFieldGet(this, _Dropdown_referenceElement, "f"))
338
+ return;
339
+ const { x, y, strategy } = await floatingUi_dom.computePosition(__classPrivateFieldGet(this, _Dropdown_referenceElement, "f"), this.host, {
340
+ middleware: __classPrivateFieldGet(this, _Dropdown_middleware, "f"),
341
+ placement: this.placement,
342
+ strategy: this.strategy,
343
+ });
344
+ Object.assign(this.host.style, {
345
+ position: strategy,
346
+ left: `${x}px`,
347
+ top: `${y}px`,
348
+ });
349
+ }
350
+ startAutoUpdate() {
351
+ if (!__classPrivateFieldGet(this, _Dropdown_referenceElement, "f"))
352
+ return;
353
+ if (__classPrivateFieldGet(this, _Dropdown_cleanup, "f"))
354
+ __classPrivateFieldGet(this, _Dropdown_cleanup, "f").call(this);
355
+ __classPrivateFieldSet(this, _Dropdown_cleanup, floatingUi_dom.autoUpdate(__classPrivateFieldGet(this, _Dropdown_referenceElement, "f"), this.host, () => {
356
+ helpers.ignorePromise(this.updatePosition());
357
+ }, this.autoUpdateOptions), "f");
358
+ }
359
+ async componentWillLoad() {
360
+ var _a;
361
+ this.host.hidden = true;
362
+ this.host.popover = 'manual';
363
+ this.internals.role = 'menu';
364
+ (_a = this.host).id || (_a.id = `qds-dropdown-${__classPrivateFieldGet(this, _Dropdown_instanceId, "f")}`);
365
+ await this.updateReferenceElement();
366
+ }
367
+ disconnectedCallback() {
368
+ __classPrivateFieldGet(this, _Dropdown_instances, "m", _Dropdown_disconnectReferenceElement).call(this);
369
+ }
370
+ render() {
371
+ return (index.h(index.Host, { key: '09855258aee08fb275151fd43d6bc88cdfd9444b', onKeyDown: __classPrivateFieldGet(this, _Dropdown_onKeydown, "f"), onFocusout: __classPrivateFieldGet(this, _Dropdown_onFocusout, "f") }, index.h("slot", { key: 'ed9fbc08022595ed716943a705d82a080661d37e', onSlotchange: __classPrivateFieldGet(this, _Dropdown_onSlotchange, "f") })));
372
+ }
373
+ static get delegatesFocus() { return true; }
374
+ get host() { return index.getElement(this); }
375
+ static get watchers() { return {
376
+ "target": ["updateReferenceElement"],
377
+ "flipOptions": ["updateMiddleware"],
378
+ "noFlip": ["updateMiddleware"],
379
+ "noShift": ["updateMiddleware"],
380
+ "offsetOptions": ["updateMiddleware"],
381
+ "shiftOptions": ["updateMiddleware"],
382
+ "middleware": ["updatePosition"],
383
+ "placement": ["updatePosition"],
384
+ "strategy": ["updatePosition"],
385
+ "autoUpdateOptions": ["startAutoUpdate"]
386
+ }; }
387
+ };
388
+ _Dropdown_cleanup = new WeakMap(), _Dropdown_Items = new WeakMap(), _Dropdown_instanceId = new WeakMap(), _Dropdown_gap = new WeakMap(), _Dropdown_middleware = new WeakMap(), _Dropdown_referenceElement = new WeakMap(), _Dropdown_open = new WeakMap(), _Dropdown_opened = new WeakMap(), _Dropdown_onFocusout = new WeakMap(), _Dropdown_onKeydown = new WeakMap(), _Dropdown_onReferenceClick = new WeakMap(), _Dropdown_boundOnFocusout = new WeakMap(), _Dropdown_boundOnKeydown = new WeakMap(), _Dropdown_boundOnReferenceClick = new WeakMap(), _Dropdown_onSlotchange = new WeakMap(), _Dropdown_instances = new WeakSet(), _Dropdown_focusOnTrigger = function _Dropdown_focusOnTrigger() {
389
+ if (!(__classPrivateFieldGet(this, _Dropdown_referenceElement, "f") instanceof globalThis.HTMLElement) &&
390
+ !(__classPrivateFieldGet(this, _Dropdown_referenceElement, "f") instanceof globalThis.SVGElement))
391
+ return;
392
+ const root = __classPrivateFieldGet(this, _Dropdown_referenceElement, "f").getRootNode();
393
+ const isCustomElement = __classPrivateFieldGet(this, _Dropdown_referenceElement, "f") instanceof globalThis.HTMLElement &&
394
+ __classPrivateFieldGet(this, _Dropdown_referenceElement, "f").tagName.includes('-');
395
+ const target = root instanceof globalThis.ShadowRoot && !isCustomElement
396
+ ? root.host
397
+ : __classPrivateFieldGet(this, _Dropdown_referenceElement, "f");
398
+ target.focus();
399
+ }, _Dropdown_focusFirstItem = function _Dropdown_focusFirstItem() {
400
+ requestAnimationFrame(() => {
401
+ const firstItem = __classPrivateFieldGet(this, _Dropdown_instances, "m", _Dropdown_setFirstItemTabindex).call(this);
402
+ if (firstItem) {
403
+ firstItem.focus();
404
+ return;
405
+ }
406
+ const focusable = __classPrivateFieldGet(this, _Dropdown_instances, "m", _Dropdown_findFirstFocusableDescendant).call(this);
407
+ if (focusable)
408
+ focusable.focus();
141
409
  });
142
- this.hostPosition = strategy;
143
- this.hostTransform = `translate(${helpers.roundByDPR(x)}px,${helpers.roundByDPR(y)}px)`;
144
- }
145
- startAutoUpdate() {
146
- helpers.invariant(this.referenceElement);
147
- if (this.cleanup)
148
- this.cleanup();
149
- this.cleanup = floatingUi_dom_esm.autoUpdate(this.referenceElement, this.element, () => {
150
- helpers.ignorePromise(this.updatePosition());
151
- }, this.autoUpdateOptions);
152
- }
153
- async componentWillLoad() {
154
- var _a, _b;
155
- this.hostDisplay = 'none';
156
- (_a = this.element).role ?? (_a.role = 'menu');
157
- (_b = this.element).id || (_b.id = `qds-dropdown-${autoIncrementingId}`);
158
- await this.updateReferenceElement();
159
- autoIncrementingId += 1;
160
- await this.updateMiddleware();
161
- }
162
- disconnectedCallback() {
163
- this.disconnectReferenceElement();
164
- }
165
- render() {
166
- return (index.h(index.Host, { "aria-labelledby": this.hostAriaLabelledBy, onKeyDown: this.boundEscape, onFocusout: this.boundFocusout, style: {
167
- display: this.hostDisplay,
168
- position: this.hostPosition,
169
- transform: this.hostTransform,
170
- } }, index.h("slot", null)));
171
- }
172
- async handleFocusout(event) {
173
- if (!(event instanceof FocusEvent))
174
- return;
175
- const { relatedTarget } = event;
176
- if (relatedTarget instanceof globalThis.Element &&
177
- !this.element.contains(relatedTarget) &&
178
- this.referenceElement !== relatedTarget)
179
- await this.close();
180
- }
181
- async handleEscape(event) {
182
- if (!(event instanceof KeyboardEvent) ||
183
- event.key !== 'Escape' ||
184
- (event.target !== this.referenceElement &&
185
- event.target instanceof globalThis.Element &&
186
- event.target.closest('qds-dropdown') !== this.element))
187
- return;
188
- const cancelEvent = this.cancelEmitter.emit();
189
- if (cancelEvent.defaultPrevented)
190
- return;
191
- await this.close();
192
- if (this.referenceElement instanceof globalThis.HTMLElement ||
193
- this.referenceElement instanceof globalThis.SVGElement)
194
- this.referenceElement.focus();
195
- }
196
- async handleReferenceClick() {
197
- if (!this.disabled)
198
- await (this.open ? this.close() : this.show());
199
- }
200
- disconnectReferenceElement() {
201
- this.hostAriaLabelledBy = undefined;
202
- if (!(this.referenceElement instanceof globalThis.Element))
203
- return;
204
- this.referenceElement.removeEventListener('click', this.boundReferenceClick);
205
- this.referenceElement.removeEventListener('focusout', this.boundFocusout);
206
- this.referenceElement.removeEventListener('keydown', this.boundEscape);
207
- this.referenceElement.removeAttribute('aria-expanded');
208
- this.referenceElement.removeAttribute('aria-controls');
209
- }
210
- get element() { return index.getElement(this); }
211
- static get watchers() { return {
212
- "target": ["updateReferenceElement"],
213
- "flipOptions": ["updateMiddleware"],
214
- "noFlip": ["updateMiddleware"],
215
- "noShift": ["updateMiddleware"],
216
- "offsetOptions": ["updateMiddleware"],
217
- "shiftOptions": ["updateMiddleware"],
218
- "placement": ["updatePosition"],
219
- "strategy": ["updatePosition"],
220
- "autoUpdateOptions": ["startAutoUpdate"]
221
- }; }
410
+ }, _Dropdown_initializeFirstItem = function _Dropdown_initializeFirstItem() {
411
+ requestAnimationFrame(() => {
412
+ __classPrivateFieldGet(this, _Dropdown_instances, "m", _Dropdown_setFirstItemTabindex).call(this);
413
+ });
414
+ }, _Dropdown_setFirstItemTabindex = function _Dropdown_setFirstItemTabindex() {
415
+ const firstItem = __classPrivateFieldGet(this, _Dropdown_Items, "f").find((item) => item instanceof HTMLElement &&
416
+ isEnabledItem(item) &&
417
+ helpers.closestElement('qds-dropdown', item) === this.host);
418
+ if (!firstItem)
419
+ return undefined;
420
+ for (const item of __classPrivateFieldGet(this, _Dropdown_Items, "f"))
421
+ item.setAttribute('tabindex', '-1');
422
+ firstItem.setAttribute('tabindex', '0');
423
+ return firstItem;
424
+ }, _Dropdown_findFirstFocusableDescendant = function _Dropdown_findFirstFocusableDescendant() {
425
+ for (const child of this.host.children) {
426
+ if (child instanceof HTMLElement && !child.inert) {
427
+ const focusable = __classPrivateFieldGet(this, _Dropdown_instances, "m", _Dropdown_focusWithin).call(this, child);
428
+ if (focusable)
429
+ return focusable;
430
+ }
431
+ }
432
+ return undefined;
433
+ }, _Dropdown_focusWithin = function _Dropdown_focusWithin(target) {
434
+ target.focus();
435
+ if (target.matches(':focus'))
436
+ return target;
437
+ if (target.shadowRoot) {
438
+ for (const child of target.shadowRoot.querySelectorAll('*')) {
439
+ if (child instanceof HTMLElement && !child.inert) {
440
+ const focusable = __classPrivateFieldGet(this, _Dropdown_instances, "m", _Dropdown_focusWithin).call(this, child);
441
+ if (focusable)
442
+ return focusable;
443
+ }
444
+ }
445
+ }
446
+ return undefined;
447
+ }, _Dropdown_disconnectReferenceElement = function _Dropdown_disconnectReferenceElement() {
448
+ this.host.removeAttribute('aria-labelledby');
449
+ if (!(__classPrivateFieldGet(this, _Dropdown_referenceElement, "f") instanceof globalThis.Element))
450
+ return;
451
+ __classPrivateFieldGet(this, _Dropdown_referenceElement, "f").removeEventListener('click', __classPrivateFieldGet(this, _Dropdown_boundOnReferenceClick, "f"));
452
+ __classPrivateFieldGet(this, _Dropdown_referenceElement, "f").removeEventListener('focusout', __classPrivateFieldGet(this, _Dropdown_boundOnFocusout, "f"));
453
+ __classPrivateFieldGet(this, _Dropdown_referenceElement, "f").removeEventListener('keydown', __classPrivateFieldGet(this, _Dropdown_boundOnKeydown, "f"));
454
+ __classPrivateFieldGet(this, _Dropdown_referenceElement, "f").removeAttribute('aria-expanded');
455
+ __classPrivateFieldGet(this, _Dropdown_referenceElement, "f").removeAttribute('aria-controls');
456
+ }, _Dropdown_isReferenceOrDescendant = function _Dropdown_isReferenceOrDescendant(target) {
457
+ if (target === __classPrivateFieldGet(this, _Dropdown_referenceElement, "f"))
458
+ return true;
459
+ if (!(__classPrivateFieldGet(this, _Dropdown_referenceElement, "f") instanceof globalThis.Element))
460
+ return false;
461
+ if (target instanceof globalThis.Element &&
462
+ __classPrivateFieldGet(this, _Dropdown_referenceElement, "f").contains(target))
463
+ return true;
464
+ if (target instanceof globalThis.Node) {
465
+ const rootNode = target.getRootNode();
466
+ if (rootNode instanceof globalThis.ShadowRoot &&
467
+ rootNode.host === __classPrivateFieldGet(this, _Dropdown_referenceElement, "f"))
468
+ return true;
469
+ }
470
+ return false;
222
471
  };
223
472
  Dropdown.style = dropdownCss;
224
473
 
225
474
  exports.qds_dropdown = Dropdown;
226
-
227
- //# sourceMappingURL=qds-dropdown.cjs.entry.js.map
475
+ //# sourceMappingURL=qds-dropdown.entry.cjs.js.map