@quartzds/core 1.0.0-beta.8 → 1.0.0-beta.81

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 (387) hide show
  1. package/README.md +5 -5
  2. package/components/index.d.ts +50 -0
  3. package/components/index.js +49 -27
  4. package/components/index.js.map +1 -1
  5. package/components/p-028b9d2e.js +96 -0
  6. package/components/p-028b9d2e.js.map +1 -0
  7. package/components/p-355efdb1.js +83 -0
  8. package/components/p-355efdb1.js.map +1 -0
  9. package/components/p-4141d6ed.js +204 -0
  10. package/components/p-4141d6ed.js.map +1 -0
  11. package/components/p-698edde1.js +321 -0
  12. package/components/p-698edde1.js.map +1 -0
  13. package/components/p-7b04d43e.js +1556 -0
  14. package/components/p-7b04d43e.js.map +1 -0
  15. package/components/p-7f6e797a.js +108 -0
  16. package/components/p-7f6e797a.js.map +1 -0
  17. package/components/p-82461767.js +328 -0
  18. package/components/p-82461767.js.map +1 -0
  19. package/components/p-9df62f97.js +89 -0
  20. package/components/p-9df62f97.js.map +1 -0
  21. package/components/p-b82bac0a.js +121 -0
  22. package/components/p-b82bac0a.js.map +1 -0
  23. package/components/p-d107c90c.js +27 -0
  24. package/components/p-d107c90c.js.map +1 -0
  25. package/components/p-d279ae53.js +86 -0
  26. package/components/p-d279ae53.js.map +1 -0
  27. package/components/p-f5ba28ff.js +372 -0
  28. package/components/p-f5ba28ff.js.map +1 -0
  29. package/components/p-f85b490c.js +217 -0
  30. package/components/p-f85b490c.js.map +1 -0
  31. package/components/{floating-ui.dom.esm.js → p-fdd0abae.js} +468 -416
  32. package/components/p-fdd0abae.js.map +1 -0
  33. package/components/qds-badge-counter.d.ts +11 -0
  34. package/components/qds-badge-counter.js +13 -0
  35. package/components/qds-badge-counter.js.map +1 -0
  36. package/components/qds-badge-indicator.d.ts +11 -0
  37. package/components/qds-badge-indicator.js +13 -0
  38. package/components/qds-badge-indicator.js.map +1 -0
  39. package/components/qds-breadcrumb-item.d.ts +11 -0
  40. package/components/qds-breadcrumb-item.js +76 -0
  41. package/components/qds-breadcrumb-item.js.map +1 -0
  42. package/components/qds-button.d.ts +2 -2
  43. package/components/qds-button.js +3 -138
  44. package/components/qds-button.js.map +1 -1
  45. package/components/qds-checkbox.d.ts +2 -2
  46. package/components/qds-checkbox.js +3 -146
  47. package/components/qds-checkbox.js.map +1 -1
  48. package/components/qds-chip.d.ts +11 -0
  49. package/components/qds-chip.js +271 -0
  50. package/components/qds-chip.js.map +1 -0
  51. package/components/qds-dialog.d.ts +11 -0
  52. package/components/qds-dialog.js +121 -0
  53. package/components/qds-dialog.js.map +1 -0
  54. package/components/qds-divider.d.ts +11 -0
  55. package/components/qds-divider.js +13 -0
  56. package/components/qds-divider.js.map +1 -0
  57. package/components/qds-dropdown.d.ts +2 -2
  58. package/components/qds-dropdown.js +266 -239
  59. package/components/qds-dropdown.js.map +1 -1
  60. package/components/qds-form-message.d.ts +11 -0
  61. package/components/qds-form-message.js +102 -0
  62. package/components/qds-form-message.js.map +1 -0
  63. package/components/qds-icon.d.ts +2 -2
  64. package/components/qds-icon.js +3 -3
  65. package/components/qds-inline-link.d.ts +2 -2
  66. package/components/qds-inline-link.js +135 -73
  67. package/components/qds-inline-link.js.map +1 -1
  68. package/components/qds-input.d.ts +2 -2
  69. package/components/qds-input.js +426 -230
  70. package/components/qds-input.js.map +1 -1
  71. package/components/qds-label.d.ts +2 -2
  72. package/components/qds-label.js +3 -3
  73. package/components/qds-list-item.d.ts +11 -0
  74. package/components/qds-list-item.js +207 -0
  75. package/components/qds-list-item.js.map +1 -0
  76. package/components/qds-loader.d.ts +11 -0
  77. package/components/qds-loader.js +111 -0
  78. package/components/qds-loader.js.map +1 -0
  79. package/components/qds-nav-list-item.d.ts +11 -0
  80. package/components/qds-nav-list-item.js +146 -0
  81. package/components/qds-nav-list-item.js.map +1 -0
  82. package/components/qds-progress-bar.d.ts +11 -0
  83. package/components/qds-progress-bar.js +135 -0
  84. package/components/qds-progress-bar.js.map +1 -0
  85. package/components/qds-radio.d.ts +2 -2
  86. package/components/qds-radio.js +140 -93
  87. package/components/qds-radio.js.map +1 -1
  88. package/components/qds-select.d.ts +11 -0
  89. package/components/qds-select.js +273 -0
  90. package/components/qds-select.js.map +1 -0
  91. package/components/qds-standalone-link.d.ts +11 -0
  92. package/components/qds-standalone-link.js +167 -0
  93. package/components/qds-standalone-link.js.map +1 -0
  94. package/components/qds-switch.d.ts +2 -2
  95. package/components/qds-switch.js +172 -105
  96. package/components/qds-switch.js.map +1 -1
  97. package/components/qds-tab.d.ts +11 -0
  98. package/components/qds-tab.js +339 -0
  99. package/components/qds-tab.js.map +1 -0
  100. package/components/qds-tabbar.d.ts +11 -0
  101. package/components/qds-tabbar.js +384 -0
  102. package/components/qds-tabbar.js.map +1 -0
  103. package/components/qds-table-body.d.ts +11 -0
  104. package/components/qds-table-body.js +68 -0
  105. package/components/qds-table-body.js.map +1 -0
  106. package/components/qds-table-cell.d.ts +11 -0
  107. package/components/qds-table-cell.js +73 -0
  108. package/components/qds-table-cell.js.map +1 -0
  109. package/components/qds-table-head-cell.d.ts +11 -0
  110. package/components/qds-table-head-cell.js +77 -0
  111. package/components/qds-table-head-cell.js.map +1 -0
  112. package/components/qds-table-head.d.ts +11 -0
  113. package/components/qds-table-head.js +68 -0
  114. package/components/qds-table-head.js.map +1 -0
  115. package/components/qds-table-row.d.ts +11 -0
  116. package/components/qds-table-row.js +68 -0
  117. package/components/qds-table-row.js.map +1 -0
  118. package/components/qds-table.d.ts +11 -0
  119. package/components/qds-table.js +68 -0
  120. package/components/qds-table.js.map +1 -0
  121. package/components/qds-tag.d.ts +11 -0
  122. package/components/qds-tag.js +13 -0
  123. package/components/qds-tag.js.map +1 -0
  124. package/components/qds-textarea.d.ts +2 -2
  125. package/components/qds-textarea.js +276 -193
  126. package/components/qds-textarea.js.map +1 -1
  127. package/components/qds-title.d.ts +2 -2
  128. package/components/qds-title.js +3 -84
  129. package/components/qds-title.js.map +1 -1
  130. package/components/qds-tooltip.d.ts +2 -2
  131. package/components/qds-tooltip.js +3 -315
  132. package/components/qds-tooltip.js.map +1 -1
  133. package/dist/cjs/app-globals-c4cf08df.js +12 -0
  134. package/dist/cjs/app-globals-c4cf08df.js.map +1 -0
  135. package/dist/cjs/controls-ee3d2ec8.js +31 -0
  136. package/dist/cjs/controls-ee3d2ec8.js.map +1 -0
  137. package/dist/cjs/{floating-ui.dom.esm-71fa96af.js → floating-ui.dom.esm-19b2b933.js} +468 -416
  138. package/dist/cjs/floating-ui.dom.esm-19b2b933.js.map +1 -0
  139. package/dist/cjs/helpers-cdd65bd0.js +217 -0
  140. package/dist/cjs/helpers-cdd65bd0.js.map +1 -0
  141. package/dist/cjs/index-a9985af0.js +1699 -0
  142. package/dist/cjs/index-a9985af0.js.map +1 -0
  143. package/dist/cjs/index.cjs.js +27 -27
  144. package/dist/cjs/index.cjs.js.map +1 -1
  145. package/dist/cjs/library-57845012.js +117 -0
  146. package/dist/cjs/library-57845012.js.map +1 -0
  147. package/dist/cjs/loader.cjs.js +8 -6
  148. package/dist/cjs/loader.cjs.js.map +1 -1
  149. package/dist/cjs/qds-badge-counter_3.cjs.entry.js +445 -0
  150. package/dist/cjs/qds-badge-counter_3.cjs.entry.js.map +1 -0
  151. package/dist/cjs/qds-breadcrumb-item.cjs.entry.js +55 -0
  152. package/dist/cjs/qds-breadcrumb-item.cjs.entry.js.map +1 -0
  153. package/dist/cjs/qds-button.cjs.entry.js +234 -87
  154. package/dist/cjs/qds-button.cjs.entry.js.map +1 -1
  155. package/dist/cjs/qds-checkbox.cjs.entry.js +162 -99
  156. package/dist/cjs/qds-checkbox.cjs.entry.js.map +1 -1
  157. package/dist/cjs/qds-chip.cjs.entry.js +231 -0
  158. package/dist/cjs/qds-chip.cjs.entry.js.map +1 -0
  159. package/dist/cjs/qds-dialog.cjs.entry.js +103 -0
  160. package/dist/cjs/qds-dialog.cjs.entry.js.map +1 -0
  161. package/dist/cjs/qds-divider.cjs.entry.js +69 -0
  162. package/dist/cjs/qds-divider.cjs.entry.js.map +1 -0
  163. package/dist/cjs/qds-dropdown.cjs.entry.js +225 -206
  164. package/dist/cjs/qds-dropdown.cjs.entry.js.map +1 -1
  165. package/dist/cjs/qds-form-message.cjs.entry.js +76 -0
  166. package/dist/cjs/qds-form-message.cjs.entry.js.map +1 -0
  167. package/dist/cjs/qds-icon.cjs.entry.js +111 -90
  168. package/dist/cjs/qds-icon.cjs.entry.js.map +1 -1
  169. package/dist/cjs/qds-inline-link.cjs.entry.js +98 -46
  170. package/dist/cjs/qds-inline-link.cjs.entry.js.map +1 -1
  171. package/dist/cjs/qds-input.cjs.entry.js +337 -185
  172. package/dist/cjs/qds-input.cjs.entry.js.map +1 -1
  173. package/dist/cjs/qds-label.cjs.entry.js +58 -24
  174. package/dist/cjs/qds-label.cjs.entry.js.map +1 -1
  175. package/dist/cjs/qds-list-item.cjs.entry.js +158 -0
  176. package/dist/cjs/qds-list-item.cjs.entry.js.map +1 -0
  177. package/dist/cjs/qds-loader.cjs.entry.js +92 -0
  178. package/dist/cjs/qds-loader.cjs.entry.js.map +1 -0
  179. package/dist/cjs/qds-nav-list-item.cjs.entry.js +108 -0
  180. package/dist/cjs/qds-nav-list-item.cjs.entry.js.map +1 -0
  181. package/dist/cjs/qds-progress-bar.cjs.entry.js +117 -0
  182. package/dist/cjs/qds-progress-bar.cjs.entry.js.map +1 -0
  183. package/dist/cjs/qds-radio.cjs.entry.js +101 -57
  184. package/dist/cjs/qds-radio.cjs.entry.js.map +1 -1
  185. package/dist/cjs/qds-select.cjs.entry.js +233 -0
  186. package/dist/cjs/qds-select.cjs.entry.js.map +1 -0
  187. package/dist/cjs/qds-standalone-link.cjs.entry.js +127 -0
  188. package/dist/cjs/qds-standalone-link.cjs.entry.js.map +1 -0
  189. package/dist/cjs/qds-switch.cjs.entry.js +143 -64
  190. package/dist/cjs/qds-switch.cjs.entry.js.map +1 -1
  191. package/dist/cjs/qds-tab.cjs.entry.js +260 -0
  192. package/dist/cjs/qds-tab.cjs.entry.js.map +1 -0
  193. package/dist/cjs/qds-tabbar.cjs.entry.js +326 -0
  194. package/dist/cjs/qds-tabbar.cjs.entry.js.map +1 -0
  195. package/dist/cjs/qds-table-body.cjs.entry.js +54 -0
  196. package/dist/cjs/qds-table-body.cjs.entry.js.map +1 -0
  197. package/dist/cjs/qds-table-cell.cjs.entry.js +56 -0
  198. package/dist/cjs/qds-table-cell.cjs.entry.js.map +1 -0
  199. package/dist/cjs/qds-table-head-cell.cjs.entry.js +58 -0
  200. package/dist/cjs/qds-table-head-cell.cjs.entry.js.map +1 -0
  201. package/dist/cjs/qds-table-head.cjs.entry.js +54 -0
  202. package/dist/cjs/qds-table-head.cjs.entry.js.map +1 -0
  203. package/dist/cjs/qds-table-row.cjs.entry.js +54 -0
  204. package/dist/cjs/qds-table-row.cjs.entry.js.map +1 -0
  205. package/dist/cjs/qds-table.cjs.entry.js +54 -0
  206. package/dist/cjs/qds-table.cjs.entry.js.map +1 -0
  207. package/dist/cjs/qds-tag_2.cjs.entry.js +163 -0
  208. package/dist/cjs/qds-tag_2.cjs.entry.js.map +1 -0
  209. package/dist/cjs/qds-textarea.cjs.entry.js +229 -153
  210. package/dist/cjs/qds-textarea.cjs.entry.js.map +1 -1
  211. package/dist/cjs/qds.cjs.js +15 -13
  212. package/dist/cjs/qds.cjs.js.map +1 -1
  213. package/dist/custom-elements.json +8403 -1931
  214. package/dist/docs.d.ts +336 -240
  215. package/dist/docs.json +8819 -2762
  216. package/dist/esm/app-globals-8ced3a41.js +10 -0
  217. package/dist/esm/app-globals-8ced3a41.js.map +1 -0
  218. package/dist/esm/controls-a4768aaf.js +27 -0
  219. package/dist/esm/controls-a4768aaf.js.map +1 -0
  220. package/dist/esm/{floating-ui.dom.esm-f96ac766.js → floating-ui.dom.esm-61986f35.js} +468 -416
  221. package/dist/esm/floating-ui.dom.esm-61986f35.js.map +1 -0
  222. package/dist/esm/helpers-4eb4fa44.js +204 -0
  223. package/dist/esm/helpers-4eb4fa44.js.map +1 -0
  224. package/dist/esm/index-5291e8ff.js +1668 -0
  225. package/dist/esm/index-5291e8ff.js.map +1 -0
  226. package/dist/esm/index.js +27 -27
  227. package/dist/esm/index.js.map +1 -1
  228. package/dist/esm/library-9edbe354.js +113 -0
  229. package/dist/esm/library-9edbe354.js.map +1 -0
  230. package/dist/esm/loader.js +9 -7
  231. package/dist/esm/loader.js.map +1 -1
  232. package/dist/esm/qds-badge-counter_3.entry.js +439 -0
  233. package/dist/esm/qds-badge-counter_3.entry.js.map +1 -0
  234. package/dist/esm/qds-breadcrumb-item.entry.js +51 -0
  235. package/dist/esm/qds-breadcrumb-item.entry.js.map +1 -0
  236. package/dist/esm/qds-button.entry.js +234 -87
  237. package/dist/esm/qds-button.entry.js.map +1 -1
  238. package/dist/esm/qds-checkbox.entry.js +162 -99
  239. package/dist/esm/qds-checkbox.entry.js.map +1 -1
  240. package/dist/esm/qds-chip.entry.js +227 -0
  241. package/dist/esm/qds-chip.entry.js.map +1 -0
  242. package/dist/esm/qds-dialog.entry.js +99 -0
  243. package/dist/esm/qds-dialog.entry.js.map +1 -0
  244. package/dist/esm/qds-divider.entry.js +65 -0
  245. package/dist/esm/qds-divider.entry.js.map +1 -0
  246. package/dist/esm/qds-dropdown.entry.js +225 -206
  247. package/dist/esm/qds-dropdown.entry.js.map +1 -1
  248. package/dist/esm/qds-form-message.entry.js +72 -0
  249. package/dist/esm/qds-form-message.entry.js.map +1 -0
  250. package/dist/esm/qds-icon.entry.js +111 -90
  251. package/dist/esm/qds-icon.entry.js.map +1 -1
  252. package/dist/esm/qds-inline-link.entry.js +98 -46
  253. package/dist/esm/qds-inline-link.entry.js.map +1 -1
  254. package/dist/esm/qds-input.entry.js +337 -185
  255. package/dist/esm/qds-input.entry.js.map +1 -1
  256. package/dist/esm/qds-label.entry.js +58 -24
  257. package/dist/esm/qds-label.entry.js.map +1 -1
  258. package/dist/esm/qds-list-item.entry.js +154 -0
  259. package/dist/esm/qds-list-item.entry.js.map +1 -0
  260. package/dist/esm/qds-loader.entry.js +88 -0
  261. package/dist/esm/qds-loader.entry.js.map +1 -0
  262. package/dist/esm/qds-nav-list-item.entry.js +104 -0
  263. package/dist/esm/qds-nav-list-item.entry.js.map +1 -0
  264. package/dist/esm/qds-progress-bar.entry.js +113 -0
  265. package/dist/esm/qds-progress-bar.entry.js.map +1 -0
  266. package/dist/esm/qds-radio.entry.js +101 -57
  267. package/dist/esm/qds-radio.entry.js.map +1 -1
  268. package/dist/esm/qds-select.entry.js +229 -0
  269. package/dist/esm/qds-select.entry.js.map +1 -0
  270. package/dist/esm/qds-standalone-link.entry.js +123 -0
  271. package/dist/esm/qds-standalone-link.entry.js.map +1 -0
  272. package/dist/esm/qds-switch.entry.js +143 -64
  273. package/dist/esm/qds-switch.entry.js.map +1 -1
  274. package/dist/esm/qds-tab.entry.js +256 -0
  275. package/dist/esm/qds-tab.entry.js.map +1 -0
  276. package/dist/esm/qds-tabbar.entry.js +322 -0
  277. package/dist/esm/qds-tabbar.entry.js.map +1 -0
  278. package/dist/esm/qds-table-body.entry.js +50 -0
  279. package/dist/esm/qds-table-body.entry.js.map +1 -0
  280. package/dist/esm/qds-table-cell.entry.js +52 -0
  281. package/dist/esm/qds-table-cell.entry.js.map +1 -0
  282. package/dist/esm/qds-table-head-cell.entry.js +54 -0
  283. package/dist/esm/qds-table-head-cell.entry.js.map +1 -0
  284. package/dist/esm/qds-table-head.entry.js +50 -0
  285. package/dist/esm/qds-table-head.entry.js.map +1 -0
  286. package/dist/esm/qds-table-row.entry.js +50 -0
  287. package/dist/esm/qds-table-row.entry.js.map +1 -0
  288. package/dist/esm/qds-table.entry.js +50 -0
  289. package/dist/esm/qds-table.entry.js.map +1 -0
  290. package/dist/esm/qds-tag_2.entry.js +158 -0
  291. package/dist/esm/qds-tag_2.entry.js.map +1 -0
  292. package/dist/esm/qds-textarea.entry.js +229 -153
  293. package/dist/esm/qds-textarea.entry.js.map +1 -1
  294. package/dist/esm/qds.js +16 -14
  295. package/dist/esm/qds.js.map +1 -1
  296. package/dist/types/components/badge-counter/badge-counter.d.ts +40 -0
  297. package/dist/types/components/badge-indicator/badge-indicator.d.ts +36 -0
  298. package/dist/types/components/breadcrumb-item/breadcrumb-item.d.ts +156 -0
  299. package/dist/types/components/button/button.d.ts +232 -194
  300. package/dist/types/components/checkbox/checkbox.d.ts +136 -124
  301. package/dist/types/components/chip/chip.d.ts +114 -0
  302. package/dist/types/components/controls.d.ts +4 -1
  303. package/dist/types/components/dialog/dialog.d.ts +35 -0
  304. package/dist/types/components/divider/divider.d.ts +26 -0
  305. package/dist/types/components/dropdown/dropdown.d.ts +107 -125
  306. package/dist/types/components/form-message/form-message.d.ts +42 -0
  307. package/dist/types/components/icon/icon.d.ts +24 -24
  308. package/dist/types/components/icon/library.d.ts +3 -3
  309. package/dist/types/components/icon/request.d.ts +5 -9
  310. package/dist/types/components/inline-link/inline-link.d.ts +208 -191
  311. package/dist/types/components/input/input.d.ts +444 -368
  312. package/dist/types/components/label/label.d.ts +24 -24
  313. package/dist/types/components/list-item/list-item.d.ts +100 -0
  314. package/dist/types/components/loader/loader.d.ts +27 -0
  315. package/dist/types/components/nav-list-item/nav-list-item.d.ts +67 -0
  316. package/dist/types/components/progress-bar/progress-bar.d.ts +60 -0
  317. package/dist/types/components/radio/radio.d.ts +90 -95
  318. package/dist/types/components/select/select.d.ts +210 -0
  319. package/dist/types/components/shared.d.ts +6 -0
  320. package/dist/types/components/standalone-link/standalone-link.d.ts +233 -0
  321. package/dist/types/components/switch/switch.d.ts +120 -107
  322. package/dist/types/components/tab/tab.d.ts +158 -0
  323. package/dist/types/components/tabbar/tabbar.d.ts +46 -0
  324. package/dist/types/components/table/table.d.ts +15 -0
  325. package/dist/types/components/table-body/table-body.d.ts +15 -0
  326. package/dist/types/components/table-cell/table-cell.d.ts +32 -0
  327. package/dist/types/components/table-head/table-head.d.ts +15 -0
  328. package/dist/types/components/table-head-cell/table-head-cell.d.ts +56 -0
  329. package/dist/types/components/table-row/table-row.d.ts +15 -0
  330. package/dist/types/components/tag/tag.d.ts +46 -0
  331. package/dist/types/components/textarea/textarea.d.ts +313 -300
  332. package/dist/types/components/title/title.d.ts +39 -32
  333. package/dist/types/components/tooltip/tooltip.d.ts +121 -137
  334. package/dist/types/components.d.ts +3320 -783
  335. package/dist/types/helpers.d.ts +15 -16
  336. package/dist/types/index.d.ts +1 -0
  337. package/dist/types/interface-overrides.d.ts +211 -0
  338. package/dist/types/qds-test.d.ts +22 -11
  339. package/dist/types/stencil-public-runtime.d.ts +49 -15
  340. package/dist/types/utils.d.ts +4 -4
  341. package/dist/vscode.html-custom-data.json +1580 -167
  342. package/hydrate/index.d.ts +36 -18
  343. package/hydrate/index.js +24050 -9160
  344. package/hydrate/index.mjs +24769 -0
  345. package/hydrate/package.json +7 -1
  346. package/loader/cdn.js +3 -4
  347. package/loader/index.cjs.js +3 -4
  348. package/loader/index.d.ts +4 -1
  349. package/loader/index.es2017.js +3 -4
  350. package/loader/index.js +3 -4
  351. package/package.json +53 -89
  352. package/styles/core.css +137 -14
  353. package/components/floating-ui.dom.esm.js.map +0 -1
  354. package/components/helpers.js +0 -175
  355. package/components/helpers.js.map +0 -1
  356. package/components/icon.js +0 -175
  357. package/components/icon.js.map +0 -1
  358. package/components/label.js +0 -55
  359. package/components/label.js.map +0 -1
  360. package/dist/cjs/floating-ui.dom.esm-71fa96af.js.map +0 -1
  361. package/dist/cjs/helpers-452256e8.js +0 -185
  362. package/dist/cjs/helpers-452256e8.js.map +0 -1
  363. package/dist/cjs/index-d181f952.js +0 -2039
  364. package/dist/cjs/index-d181f952.js.map +0 -1
  365. package/dist/cjs/library-0a619eeb.js +0 -62
  366. package/dist/cjs/library-0a619eeb.js.map +0 -1
  367. package/dist/cjs/qds-title.cjs.entry.js +0 -66
  368. package/dist/cjs/qds-title.cjs.entry.js.map +0 -1
  369. package/dist/cjs/qds-tooltip.cjs.entry.js +0 -284
  370. package/dist/cjs/qds-tooltip.cjs.entry.js.map +0 -1
  371. package/dist/esm/floating-ui.dom.esm-f96ac766.js.map +0 -1
  372. package/dist/esm/helpers-76b84f45.js +0 -175
  373. package/dist/esm/helpers-76b84f45.js.map +0 -1
  374. package/dist/esm/index-d7183092.js +0 -2009
  375. package/dist/esm/index-d7183092.js.map +0 -1
  376. package/dist/esm/library-021aca11.js +0 -58
  377. package/dist/esm/library-021aca11.js.map +0 -1
  378. package/dist/esm/polyfills/core-js.js +0 -11
  379. package/dist/esm/polyfills/dom.js +0 -79
  380. package/dist/esm/polyfills/es5-html-element.js +0 -1
  381. package/dist/esm/polyfills/index.js +0 -34
  382. package/dist/esm/polyfills/system.js +0 -6
  383. package/dist/esm/qds-title.entry.js +0 -62
  384. package/dist/esm/qds-title.entry.js.map +0 -1
  385. package/dist/esm/qds-tooltip.entry.js +0 -280
  386. package/dist/esm/qds-tooltip.entry.js.map +0 -1
  387. package/dist/types/components/create-story.d.ts +0 -5
@@ -0,0 +1 @@
1
+ {"file":"qds-tab.entry.cjs.js","mappings":"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","names":["pickFocusEventAttributes","resolveTarget","inheritAriaAttributes","h"],"sources":["src/components/tab/tab.css?tag=qds-tab&encapsulation=shadow","src/components/tab/tab.tsx"],"sourcesContent":["/*\n * SPDX-FileCopyrightText: © 2024 Schneider Electric\n *\n * SPDX-License-Identifier: Apache-2.0\n */\n\n@import url('../shared.css');\n\n:host {\n display: inline-block;\n line-height: 0;\n}\n\n[aria-disabled='true'] {\n opacity: var(--qds-theme-disabled);\n pointer-events: none;\n}\n\n.qds-target {\n appearance: none;\n border: none;\n padding: 0;\n cursor: pointer;\n pointer-events: auto;\n background-color: transparent;\n\n &:disabled {\n pointer-events: none;\n }\n\n &:focus-visible {\n outline: var(--qds-theme-focus-border) solid var(--qds-focus-border-width);\n border-radius: var(--qds-focus-border-radius);\n outline-offset: var(--qds-focus-border-offset);\n }\n}\n\n.qds-target-icon {\n color: var(--qds-theme-control-text-standard);\n}\n\n.qds-icon,\n.qds-target-icon {\n flex-shrink: 0;\n}\n\n.qds-chevron {\n transform: rotate(180deg);\n}\n\n.qds-tab,\n.qds-closable-wrapper {\n position: relative;\n}\n\n.qds-target,\n.qds-closable-wrapper,\n.qds-tab,\n.qds-closable-tab,\n.qds-texts {\n display: flex;\n}\n\n.qds-texts {\n flex: 1 0;\n flex-direction: column;\n}\n\n.qds-icon,\n.qds-text {\n color: var(--qds-theme-title);\n}\n\n.qds-subtitle {\n color: var(--qds-theme-subtitle);\n font: var(--qds-control-tab-standard-subtitle);\n}\n\n.qds-indicator {\n position: absolute;\n inset-block-start: 0;\n inset-inline-end: 0;\n transform: translate(50%, -50%);\n}\n\n[data-size='small'] {\n &.qds-tab,\n &.qds-closable-wrapper {\n min-height: var(--qds-control-tab-small-height);\n gap: var(--qds-control-tab-small-gap-internal);\n padding-inline: var(--qds-control-tab-small-padding-horizontal);\n }\n\n &.qds-collapse {\n min-width: var(--qds-control-tab-small-height);\n }\n\n &.qds-closable-tab {\n gap: var(--qds-control-tab-small-gap-internal);\n }\n\n & > .qds-icon {\n font-size: var(--qds-control-tab-small-icon-size);\n }\n\n & > .qds-texts {\n gap: var(--qds-control-tab-small-titles-gap);\n }\n\n & .qds-text {\n font: var(--qds-control-tab-small-title);\n }\n\n & .qds-subtitle {\n font: var(--qds-control-tab-small-subtitle);\n }\n\n &.qds-target-icon {\n --qds-experimental-icon-click-target-size: var(--qds-control-small-height);\n\n height: var(--qds-control-small-icon-size);\n width: var(--qds-control-small-icon-size);\n }\n}\n\n[data-size='standard'] {\n &.qds-tab,\n &.qds-closable-wrapper {\n min-height: var(--qds-control-tab-standard-height);\n gap: var(--qds-control-tab-standard-gap-internal);\n padding-inline: var(--qds-control-tab-standard-padding-horizontal);\n }\n\n &.qds-collapse {\n min-width: var(--qds-control-tab-standard-height);\n }\n\n &.qds-closable-tab {\n gap: var(--qds-control-tab-standard-gap-internal);\n }\n\n & > .qds-icon {\n font-size: var(--qds-control-tab-standard-icon-size);\n }\n\n & > .qds-texts {\n gap: var(--qds-control-tab-standard-titles-gap);\n }\n\n & .qds-text {\n font: var(--qds-control-tab-standard-title);\n }\n\n & .qds-subtitle {\n font: var(--qds-control-tab-standard-subtitle);\n }\n\n &.qds-target-icon {\n --qds-experimental-icon-click-target-size: var(\n --qds-control-standard-height\n );\n\n height: var(--qds-control-standard-icon-size);\n width: var(--qds-control-standard-icon-size);\n }\n}\n\n[data-size='large'] {\n &.qds-tab,\n &.qds-closable-wrapper {\n min-height: var(--qds-control-tab-large-height);\n gap: var(--qds-control-tab-large-gap-internal);\n padding-inline: var(--qds-control-tab-large-padding-horizontal);\n }\n\n &.qds-collapse {\n min-width: var(--qds-control-tab-large-height);\n }\n\n &.qds-closable-tab {\n gap: var(--qds-control-tab-large-gap-internal);\n }\n\n & > .qds-icon {\n font-size: var(--qds-control-tab-large-icon-size);\n }\n\n & > .qds-texts {\n gap: var(--qds-control-tab-large-titles-gap);\n }\n\n & .qds-text {\n font: var(--qds-control-tab-large-title);\n }\n\n & .qds-subtext {\n font: var(--qds-control-tab-large-subtitle);\n }\n\n &.qds-target-icon {\n --qds-experimental-icon-click-target-size: var(--qds-control-large-height);\n\n height: var(--qds-control-large-icon-size);\n width: var(--qds-control-large-icon-size);\n }\n}\n\n[data-importance='emphasized'] {\n &.qds-selected {\n &.qds-tab,\n &.qds-closable-wrapper {\n background-color: var(--qds-theme-control-background);\n }\n }\n\n &[data-size='standard'] .qds-text {\n font: var(--qds-control-tab-standard-title-emphasized);\n }\n\n &[data-size='small'] .qds-text {\n font: var(--qds-control-tab-small-title-emphasized);\n }\n\n &[data-size='large'] .qds-text {\n font: var(--qds-control-tab-large-title-emphasized);\n }\n\n & .qds-icon {\n color: var(--qds-theme-signature-color-default);\n }\n}\n\n[data-importance='standard'] {\n .qds-selected .qds-icon {\n color: var(--qds-theme-signature-color-default);\n }\n}\n\n[data-importance='subdued'],\n[data-importance='standard'],\n[data-importance='emphasized'] {\n &.qds-selected,\n &.qds-closable-wrapper,\n .qds-tab:hover {\n &::after {\n border-radius: var(--qds-signature-line-connection-cap-radius);\n content: '';\n display: block;\n position: absolute;\n }\n\n &.qds-indicator-inline-end::after,\n &.qds-indicator-inline-start::after {\n width: var(--qds-signature-line-connection-width);\n height: 100%;\n }\n\n &.qds-indicator-inline-end::after {\n inset-inline-end: 0;\n }\n\n &.qds-indicator-inline-start::after {\n inset-inline-start: 0;\n }\n\n &.qds-indicator-block-end::after,\n &.qds-indicator-block-start::after {\n width: 100%;\n height: var(--qds-signature-line-connection-width);\n }\n\n &.qds-indicator-block-end::after {\n bottom: 0;\n }\n\n &.qds-indicator-block-start::after {\n top: 0;\n }\n }\n}\n\n[data-importance='subdued'],\n[data-importance='standard'] {\n &.qds-selected {\n &[data-size='standard'] .qds-text {\n font: var(--qds-control-tab-standard-title-emphasized);\n }\n\n &[data-size='small'] .qds-text {\n font: var(--qds-control-tab-small-title-emphasized);\n }\n\n &[data-size='large'] .qds-text {\n font: var(--qds-control-tab-large-title-emphasized);\n }\n }\n}\n\n[data-importance='standard'],\n[data-importance='emphasized'] {\n &:hover {\n &::after {\n background-color: var(--qds-theme-signature-color-hover);\n }\n }\n\n &:active {\n &::after {\n background-color: var(--qds-theme-signature-color-pressed);\n }\n }\n\n &.qds-selected {\n &::after {\n background-color: var(--qds-theme-signature-color-default);\n }\n }\n}\n\n[data-importance='subdued'] {\n &.qds-selected,\n :active {\n &::after {\n background-color: var(--qds-theme-link-subdued-pressed);\n }\n }\n\n &:hover {\n &::after {\n background-color: var(--qds-theme-link-subdued-hover);\n }\n }\n}\n\n.qds-tab {\n &.qds-icon-only {\n padding-inline: 0;\n }\n\n &:focus-visible {\n outline: var(--qds-theme-focus-border) solid var(--qds-focus-border-width);\n border-radius: var(--qds-focus-border-radius);\n outline-offset: calc(\n -1 * var(--qds-focus-border-width) - var(--qds-focus-border-offset)\n );\n }\n}\n\n.qds-closable-tab {\n width: 100%;\n\n &:focus-visible {\n outline: var(--qds-theme-focus-border) solid var(--qds-focus-border-width);\n border-radius: var(--qds-focus-border-radius);\n }\n}\n\n.qds-closable-wrapper {\n align-items: center;\n justify-content: center;\n}\n\n.qds-tab,\n.qds-closable-tab {\n align-items: center;\n justify-content: center;\n border: none;\n background-color: transparent;\n cursor: pointer;\n text-align: initial;\n\n &:any-link {\n text-decoration: none;\n }\n}\n\n.qds-hidden {\n display: none;\n}\n","// SPDX-FileCopyrightText: © 2024 Schneider Electric\n//\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { ComponentInterface, EventEmitter, JSX } from '@stencil/core'\nimport {\n Component,\n Element,\n Event,\n h,\n Listen,\n Prop,\n State,\n Watch,\n} from '@stencil/core'\n\nimport type { Attributes, QdsFocusEventDetail } from '../../helpers'\nimport {\n inheritAriaAttributes,\n pickFocusEventAttributes,\n resolveTarget,\n} from '../../helpers'\nimport type { Importance, Size, Status } from '../shared'\n\nexport type Action = 'closable' | 'expandable'\n\nexport type Placement = 'bottom' | 'left' | 'right' | 'top'\n\nexport type TagStatus = Status | 'neutral'\n\nexport type IndicatorPosition =\n | 'block-end'\n | 'block-start'\n | 'inline-end'\n | 'inline-start'\n\nconst isCounter = (value: unknown): value is number =>\n typeof value === 'string'\n ? !Number.isNaN(Number.parseFloat(value))\n : typeof value === 'number'\n\nconst isIndicator = (value: unknown): value is '' | true =>\n value === '' || value === true\n\nlet autoIncrementingId = 1\n\n/**\n * <qds-tab> is a navigational element that is used in different horizontal or vertical navigation bars\n * (Main Navigation, secondary navigation, Tab bar, etc.)\n * as trigger points for opening a menu list or switching content in Tab bar.\n *\n * @see https://quartz.se.com/build/components/tab\n */\n@Component({\n tag: 'qds-tab',\n shadow: true,\n styleUrl: 'tab.css',\n})\nexport class Tab implements ComponentInterface {\n /**\n * The name of the action icon to render.\n */\n @Prop() public readonly action?: Action\n\n /**\n * Displays an indicator if `true` or the empty string. Otherwise, displays a\n * counter badge if a number or string representing a number is used.\n */\n @Prop() public readonly badge?: number | string | true\n\n /**\n * The tab's counter importance.\n */\n @Prop()\n public readonly badgeCounterImportance?: HTMLQdsBadgeCounterElement['importance'] =\n 'standard'\n\n /**\n * The indicator or counter badge's accessible text that will be used by\n * screen readers.\n */\n @Prop() public readonly badgeDescription?: string\n\n /**\n * The indicator's status.\n */\n @Prop()\n public readonly badgeIndicatorStatus?: HTMLQdsBadgeIndicatorElement['status'] =\n 'neutral'\n\n /**\n * Prevents the tab from being interacted with: it cannot be\n * selected or focused.\n */\n @Prop() public readonly disabled?: boolean\n\n /**\n * The name of a registered icon library.\n */\n @Prop() public readonly iconLibrary: string = 'default'\n\n /**\n * The name of the icon to render.\n *\n * Available names depend on the icon library being used.\n */\n @Prop() public readonly iconName?: string\n\n /**\n * Displays the tab in a collapsed state without its text. The text will be\n * displayed in a tooltip instead.\n *\n * This property has no effect if the tab does not have an icon set.\n */\n @Prop() public readonly iconOnly: boolean = false\n\n /**\n * The tab's importance.\n */\n @Prop() public readonly importance?: Importance = 'standard'\n\n /**\n * The tab's indicator position.\n */\n @Prop() public readonly indicatorPosition?: IndicatorPosition = 'block-end'\n\n /**\n * The tab panel element associated with this tab. The `panel` specified\n * can be any of the following:\n *\n * - A CSS selector string\n * - A reference to an [`Element`][]\n * - A function returning a reference to an [`Element`][] or a CSS selector\n * string\n *\n * [`Element`]: https://developer.mozilla.org/docs/Web/API/Element\n */\n @Prop() public readonly panel!: Element | string | (() => Element | string)\n\n /**\n * The tag icon's accessible text that will be used by\n * screen readers.\n */\n @Prop() public readonly tagIconDescription?: string\n\n /**\n * The name of the tab's tag icon to render.\n *\n * Available names depend on the icon library being used.\n */\n @Prop() public readonly tagIconName?: string\n\n /**\n * The name of a registered icon library.\n */\n @Prop() public readonly tagIconLibrary: string = 'default'\n\n /**\n * The tab's tag importance.\n */\n @Prop() public readonly tagImportance?: HTMLQdsTagElement['importance'] =\n 'emphasized'\n\n /**\n * The tab's tag size.\n */\n @Prop() public readonly tagSize?: Size = 'small'\n\n /**\n * The tab's tag status.\n */\n @Prop() public readonly tagStatus?: Status = 'info'\n\n /**\n * The tab's tag text.\n */\n @Prop() public readonly tagText?: string\n\n /**\n * Whether or not the tab is selected.\n */\n @Prop() public selected = false\n\n /**\n * The tab's size.\n */\n @Prop() public readonly size?: Size = 'standard'\n\n /**\n * Text to display for the subtitle.\n */\n @Prop() public readonly subtitle?: string\n\n /**\n * Primary text to display.\n */\n @Prop() public readonly text!: string\n\n /**\n * When set, the underlying tab will be rendered as an `<a>` with this\n * `href` instead of a `<button>`.\n *\n * This property has no effect if the tab has an `action`.\n *\n * @webnative\n */\n @Prop() public readonly href?: string\n\n /**\n * Emitted when the tab is closed.\n */\n @Event({ eventName: 'qdsClose', cancelable: false })\n private readonly closeEmitter!: EventEmitter<void>\n\n /**\n * Emitted when the tab loses focus.\n */\n @Event({ eventName: 'qdsBlur', bubbles: false, cancelable: false })\n private readonly blurEmitter!: EventEmitter<QdsFocusEventDetail>\n\n /**\n * Emitted when the tab gains focus.\n */\n @Event({ eventName: 'qdsFocus', bubbles: false, cancelable: false })\n private readonly focusEmitter!: EventEmitter<QdsFocusEventDetail>\n\n @Element() private readonly host!: HTMLQdsTabElement\n\n @State() private tabIndex?: number\n\n #inheritedAttributes: Attributes = {}\n\n #div?: HTMLDivElement\n\n #panel?: Element\n\n get #collapsed(): boolean {\n const hasNoTag = this.tagText === undefined || this.tagText === ''\n const hasNoBadge = this.badge === undefined || this.badge === ''\n\n return (\n this.#shouldCollapse &&\n this.#computedAction === undefined &&\n hasNoTag &&\n hasNoBadge\n )\n }\n\n get #computedAction(): Action | undefined {\n switch (this.action) {\n case 'closable':\n case 'expandable': {\n return this.action\n }\n default: {\n return undefined\n }\n }\n }\n\n get #computedSize(): Size {\n switch (this.size) {\n case 'standard':\n case 'small':\n case 'large': {\n return this.size\n }\n default: {\n return 'standard'\n }\n }\n }\n\n get #computedImportance(): Importance {\n switch (this.importance) {\n case 'subdued':\n case 'emphasized': {\n return this.importance\n }\n default: {\n return 'standard'\n }\n }\n }\n\n get #ariaLabel(): string {\n return `Close ${this.text}`\n }\n\n get #computedDisabled(): boolean {\n return this.disabled ?? false\n }\n\n get #shouldCollapse(): boolean {\n return this.iconOnly && this.iconName !== undefined && this.iconName !== ''\n }\n\n get #placement(): Placement {\n switch (this.indicatorPosition) {\n case 'inline-start': {\n return 'left'\n }\n case 'inline-end': {\n return 'right'\n }\n case 'block-start': {\n return 'top'\n }\n default: {\n return 'bottom'\n }\n }\n }\n\n @Watch('panel')\n protected panelChanged(): void {\n this.disconnectedCallback()\n\n const panel = resolveTarget(this.panel)\n if (!(panel instanceof globalThis.Element)) return\n this.#panel = panel\n\n const tab = this.host.shadowRoot?.querySelector('[role=\"tab\"]')\n if (tab) tab.setAttribute('aria-controls', this.#panel.id)\n\n if (this.#panel.role === null) this.#panel.role = 'tabpanel'\n if (this.#panel.getAttribute('aria-labelledby') === null)\n this.#panel.setAttribute('aria-labelledby', this.host.id)\n this.#panel.setAttribute(\n 'tabindex',\n this.#panel.getAttribute('tabindex') ?? '0',\n )\n }\n\n @Listen('click')\n protected onClick(event: MouseEvent): void {\n if (this.#computedDisabled) event.stopImmediatePropagation()\n }\n\n @Watch('tabindex')\n protected tabindexChanged(newValue: string): void {\n const parsedValue = Number.parseInt(newValue, 10)\n this.tabIndex =\n parsedValue === 0 || Number.isNaN(parsedValue) ? undefined : parsedValue\n }\n\n public componentWillLoad(): void {\n this.#inheritedAttributes = inheritAriaAttributes(this.host)\n this.tabindexChanged(this.host.getAttribute('tabindex') ?? '0')\n this.host.id ||= `qds-tab-${autoIncrementingId}`\n autoIncrementingId += 1\n }\n\n public componentDidLoad(): void {\n this.panelChanged()\n }\n\n public disconnectedCallback(): void {\n if (!this.#panel) return\n\n const tab = this.host.shadowRoot?.querySelector('[role=\"tab\"]')\n if (tab) tab.removeAttribute('aria-controls')\n\n if (this.#panel.role === 'tabpanel')\n // eslint-disable-next-line unicorn/no-null\n this.#panel.role = null\n if (this.#panel.getAttribute('aria-labelledby') === this.host.id)\n this.#panel.removeAttribute('aria-labelledby')\n this.#panel.removeAttribute('tabindex')\n }\n\n public render() {\n const isLink = this.href !== undefined && this.#computedAction === undefined\n const Tag = isLink\n ? 'a'\n : this.#computedAction === 'expandable'\n ? 'button'\n : 'div'\n return (\n <div\n aria-disabled={this.#computedDisabled ? 'true' : undefined}\n class={{\n 'qds-closable-wrapper': this.#computedAction === 'closable',\n 'qds-selected': this.selected,\n [`qds-indicator-${this.indicatorPosition}`]:\n this.#computedAction === 'closable',\n }}\n data-size={this.#computedSize}\n data-importance={this.#computedImportance}\n ref={this.#ref}\n >\n <Tag\n aria-disabled={this.#computedDisabled ? 'true' : undefined}\n disabled={isLink ? undefined : this.disabled}\n onBlur={this.#onBlur}\n onFocus={this.#onFocus}\n class={{\n 'qds-tab': this.#computedAction !== 'closable',\n 'qds-icon-only': this.#collapsed,\n 'qds-collapse':\n this.#shouldCollapse && this.#computedAction !== 'closable',\n 'qds-closable-tab': this.#computedAction === 'closable',\n 'qds-selected': this.selected,\n [`qds-indicator-${this.indicatorPosition}`]:\n this.#computedAction !== 'closable',\n }}\n role={\n !isLink && this.#computedAction !== 'expandable' ? 'tab' : undefined\n }\n aria-current={isLink && this.selected ? 'true' : undefined}\n aria-expanded={\n this.#computedAction === 'expandable' && !isLink\n ? this.selected\n ? 'true'\n : 'false'\n : undefined\n }\n data-importance={this.#computedImportance}\n data-action={this.#computedAction}\n data-size={this.#computedSize}\n href={isLink ? this.href : undefined}\n // eslint-disable-next-line react/jsx-props-no-spreading\n {...this.#inheritedAttributes}\n >\n {((this.tagText !== undefined && this.tagText !== '') ||\n (this.tagIconName !== undefined && this.tagIconName !== '')) && (\n <qds-tag\n text={this.tagText}\n status={this.tagStatus}\n size={this.#computedSize}\n importance={this.tagImportance}\n icon-library={this.tagIconLibrary}\n icon-name={this.tagIconName}\n icon-description={this.tagIconDescription}\n class={{ 'qds-hidden': this.#shouldCollapse }}\n />\n )}\n\n {this.iconName !== undefined && this.iconName !== '' && (\n <qds-icon\n aria-hidden=\"true\"\n class=\"qds-icon\"\n library={this.iconLibrary}\n name={this.iconName}\n />\n )}\n {!this.#shouldCollapse && this.text && this.#renderText()}\n {isIndicator(this.badge) && (\n <qds-badge-indicator\n class={{\n 'qds-indicator': this.#shouldCollapse,\n }}\n status={this.badgeIndicatorStatus}\n description={this.badgeDescription}\n size={this.#computedSize}\n strokeRing\n />\n )}\n {isCounter(this.badge) && (\n <qds-badge-counter\n class={{\n 'qds-indicator': this.#shouldCollapse,\n }}\n description={this.badgeDescription}\n importance={this.badgeCounterImportance}\n size={this.#computedSize}\n strokeRing\n value={this.badge}\n />\n )}\n {this.#computedAction === 'expandable' && (\n <qds-icon\n aria-hidden=\"true\"\n class={{ 'qds-target-icon': true, 'qds-chevron': this.selected }}\n data-size={this.#computedSize}\n library=\"core\"\n name=\"dropdown\"\n />\n )}\n </Tag>\n {this.#computedAction === 'closable' && (\n <button\n aria-label={this.#ariaLabel}\n class=\"qds-target\"\n tabIndex={this.#computedDisabled ? undefined : this.tabIndex}\n disabled={this.disabled}\n onClick={this.#onIconClick}\n onKeyDown={this.#onIconKeyDown}\n type=\"button\"\n // eslint-disable-next-line react/jsx-props-no-spreading\n {...this.#inheritedAttributes}\n >\n <qds-icon\n aria-hidden=\"true\"\n class=\"qds-target-icon\"\n data-size={this.#computedSize}\n library=\"core\"\n name=\"close\"\n />\n </button>\n )}\n {this.#shouldCollapse && this.text && (\n <qds-tooltip placement={this.#placement} ref={this.#tooltipRef}>\n {this.#renderText()}\n </qds-tooltip>\n )}\n </div>\n )\n }\n\n #renderText(): JSX.Element {\n return this.#shouldCollapse ? (\n <qds-title subtitle={this.subtitle} layer=\"accessory\" level=\"root\">\n {this.text}\n </qds-title>\n ) : (\n <div class=\"qds-texts\">\n <div class=\"qds-text\">{this.text}</div>\n {this.subtitle !== undefined && this.subtitle !== '' && (\n <div class=\"qds-subtitle\">{this.subtitle}</div>\n )}\n </div>\n )\n }\n\n readonly #ref = (div?: HTMLDivElement): void => {\n this.#div = div\n }\n\n readonly #tooltipRef = (tooltip?: HTMLQdsTooltipElement): void => {\n if (tooltip)\n // eslint-disable-next-line no-param-reassign\n tooltip.target = this.#div\n }\n\n readonly #close = (): void => {\n this.closeEmitter.emit()\n }\n\n readonly #onIconClick = (event: MouseEvent): void => {\n event.stopPropagation()\n\n const path = event.composedPath()\n const closeIcon = path.find(\n (element): element is HTMLElement =>\n element instanceof HTMLElement &&\n element.classList.contains('qds-target'),\n )\n\n if (closeIcon && !event.defaultPrevented) this.#close()\n }\n\n readonly #onIconKeyDown = (event: KeyboardEvent): void => {\n const path = event.composedPath()\n const closeIcon = path.find(\n (element): element is HTMLElement =>\n element instanceof HTMLElement &&\n element.classList.contains('qds-target'),\n )\n\n if (closeIcon && (event.key === 'Enter' || event.key === ' ')) {\n event.preventDefault()\n event.stopPropagation()\n this.#close()\n }\n }\n\n readonly #onBlur = (event: FocusEvent): void => {\n this.blurEmitter.emit(pickFocusEventAttributes(event))\n }\n\n readonly #onFocus = (event: FocusEvent): void => {\n this.focusEmitter.emit(pickFocusEventAttributes(event))\n }\n}\n"],"version":3}
@@ -0,0 +1,326 @@
1
+ /*!
2
+ * SPDX-FileCopyrightText: © 2025 Schneider Electric
3
+ *
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ 'use strict';
7
+
8
+ Object.defineProperty(exports, '__esModule', { value: true });
9
+
10
+ const index = require('./index-a9985af0.js');
11
+ const helpers = require('./helpers-cdd65bd0.js');
12
+
13
+ const tabbarCss = ":host([hidden]){display:none!important}:host{display:block}.qds-tabbar,.qds-tabs,.qds-vertical,.qds-vertical-divider{display:flex}.qds-tabbar,.qds-vertical-divider{width:inherit}.qds-arrow-start{transform:scaleX(var(--qds-direction-factor,1)) rotate(90deg)}.qds-arrow-end{transform:scaleX(var(--qds-direction-factor,1)) rotate(-90deg)}.qds-flex{display:flex}.qds-hidden{display:none}.qds-tabs{flex:1;margin-block:0;overflow:hidden;padding-inline-start:0;scroll-behavior:smooth}.qds-vertical{flex-direction:column}.qds-vertical-divider{flex-direction:row}[data-layer=main][data-level=root] .qds-tabs{gap:var(--qds-control-large-gap-siblings-related)}[data-layer=main][data-level=section] .qds-tabs{gap:var(--qds-control-standard-gap-siblings-related)}[data-layer=main][data-level=subsection] .qds-tabs{gap:var(--qds-control-small-gap-siblings-related)}[data-layer=popup][data-level=root] .qds-tabs{gap:var(--qds-control-standard-gap-siblings-related)}[data-layer=popup][data-level=section] .qds-tabs{gap:var(--qds-control-small-gap-siblings-related)}:is([data-layer=panel],[data-layer=accessory])[data-level=root] .qds-tabs{gap:var(--qds-control-small-gap-siblings-related)}";
14
+ const QdsTabbarStyle0 = tabbarCss;
15
+
16
+ // SPDX-FileCopyrightText: © 2024 Schneider Electric
17
+ //
18
+ // SPDX-License-Identifier: Apache-2.0
19
+ var __classPrivateFieldGet = (undefined && undefined.__classPrivateFieldGet) || function (receiver, state, kind, f) {
20
+ if (kind === "a" && !f)
21
+ throw new TypeError("Private accessor was defined without a getter");
22
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver))
23
+ throw new TypeError("Cannot read private member from an object whose class did not declare it");
24
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
25
+ };
26
+ var __classPrivateFieldSet = (undefined && undefined.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
27
+ if (kind === "m")
28
+ throw new TypeError("Private method is not writable");
29
+ if (kind === "a" && !f)
30
+ throw new TypeError("Private accessor was defined without a setter");
31
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver))
32
+ throw new TypeError("Cannot write private member to an object whose class did not declare it");
33
+ return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
34
+ };
35
+ var _Tabbar_instances, _Tabbar_ro, _Tabbar_tabbar, _Tabbar_inheritedAttributes, _Tabbar_scrollToStart, _Tabbar_scrollToEnd, _Tabbar_setActiveTab, _Tabbar_getAllTabPanels, _Tabbar_switchTabPanel, _Tabbar_handleTabActivation, _Tabbar_getTabs, _Tabbar_getCurrentTab, _Tabbar_setCurrentTab, _Tabbar_onClick, _Tabbar_onKeyDown, _Tabbar_onMouseDown, _Tabbar_onScroll, _Tabbar_onSlotchange;
36
+ const HORIZONTAL_MOVE_KEYS = new Set([
37
+ 'ArrowLeft',
38
+ 'ArrowRight',
39
+ 'Home',
40
+ 'End',
41
+ ]);
42
+ const VERTICAL_MOVE_KEYS = new Set([
43
+ 'ArrowUp',
44
+ 'ArrowDown',
45
+ 'Home',
46
+ 'End',
47
+ ]);
48
+ const TAB_SETTINGS = {
49
+ 'main-root': {
50
+ importance: 'standard',
51
+ size: 'large',
52
+ indicatorPosition: 'block-end',
53
+ },
54
+ 'main-section': {
55
+ importance: 'standard',
56
+ size: 'standard',
57
+ indicatorPosition: 'block-end',
58
+ },
59
+ 'popup-root': {
60
+ importance: 'standard',
61
+ size: 'standard',
62
+ indicatorPosition: 'block-end',
63
+ },
64
+ 'main-subsection': {
65
+ importance: 'subdued',
66
+ size: 'small',
67
+ indicatorPosition: 'block-start',
68
+ },
69
+ 'popup-section': {
70
+ importance: 'subdued',
71
+ size: 'small',
72
+ indicatorPosition: 'inline-start',
73
+ },
74
+ 'panel-root': {
75
+ importance: 'standard',
76
+ size: 'small',
77
+ indicatorPosition: 'block-start',
78
+ },
79
+ 'accessory-root': {
80
+ importance: 'subdued',
81
+ size: 'small',
82
+ indicatorPosition: 'block-end',
83
+ },
84
+ };
85
+ const isEnabledTabItem = (item) => {
86
+ if (!(item instanceof HTMLElement))
87
+ return false;
88
+ const tagName = item.tagName.toLowerCase();
89
+ return ((!item.inert && tagName === 'qds-tab') ||
90
+ item.disabled !== true);
91
+ };
92
+ const Tabbar = class {
93
+ constructor(hostRef) {
94
+ index.registerInstance(this, hostRef);
95
+ this.showEmitter = index.createEvent(this, "qdsTabShow", 6);
96
+ this.hideEmitter = index.createEvent(this, "qdsTabHide", 6);
97
+ _Tabbar_instances.add(this);
98
+ _Tabbar_ro.set(this, void 0);
99
+ _Tabbar_tabbar.set(this, void 0);
100
+ _Tabbar_inheritedAttributes.set(this, {});
101
+ _Tabbar_scrollToStart.set(this, () => {
102
+ helpers.invariant(__classPrivateFieldGet(this, _Tabbar_tabbar, "f"));
103
+ const isRTL = globalThis.getComputedStyle(this.host).direction === 'rtl';
104
+ __classPrivateFieldGet(this, _Tabbar_tabbar, "f").scroll({
105
+ left: isRTL
106
+ ? __classPrivateFieldGet(this, _Tabbar_tabbar, "f").scrollLeft + __classPrivateFieldGet(this, _Tabbar_tabbar, "f").clientWidth
107
+ : __classPrivateFieldGet(this, _Tabbar_tabbar, "f").scrollLeft - __classPrivateFieldGet(this, _Tabbar_tabbar, "f").clientWidth,
108
+ });
109
+ });
110
+ _Tabbar_scrollToEnd.set(this, () => {
111
+ helpers.invariant(__classPrivateFieldGet(this, _Tabbar_tabbar, "f"));
112
+ const isRTL = globalThis.getComputedStyle(this.host).direction === 'rtl';
113
+ __classPrivateFieldGet(this, _Tabbar_tabbar, "f").scroll({
114
+ left: isRTL
115
+ ? __classPrivateFieldGet(this, _Tabbar_tabbar, "f").scrollLeft - __classPrivateFieldGet(this, _Tabbar_tabbar, "f").clientWidth
116
+ : __classPrivateFieldGet(this, _Tabbar_tabbar, "f").scrollLeft + __classPrivateFieldGet(this, _Tabbar_tabbar, "f").clientWidth,
117
+ });
118
+ });
119
+ _Tabbar_onClick.set(this, (event) => {
120
+ const { target } = event;
121
+ if (!(target instanceof HTMLElement))
122
+ return;
123
+ const tab = target.closest('qds-tab');
124
+ if (!tab || tab.disabled === true || tab.inert)
125
+ return;
126
+ __classPrivateFieldGet(this, _Tabbar_instances, "m", _Tabbar_handleTabActivation).call(this, tab);
127
+ __classPrivateFieldGet(this, _Tabbar_instances, "m", _Tabbar_setActiveTab).call(this, tab);
128
+ });
129
+ _Tabbar_onKeyDown.set(this, (event) => {
130
+ const isVertical = this.orientation === 'vertical';
131
+ const MOVE_SELECTION_KEYS = isVertical
132
+ ? VERTICAL_MOVE_KEYS
133
+ : HORIZONTAL_MOVE_KEYS;
134
+ if (!MOVE_SELECTION_KEYS.has(event.key))
135
+ return;
136
+ const tabs = __classPrivateFieldGet(this, _Tabbar_instances, "m", _Tabbar_getTabs).call(this);
137
+ if (tabs.length === 0)
138
+ return;
139
+ event.preventDefault();
140
+ event.stopPropagation();
141
+ const activeTab = __classPrivateFieldGet(this, _Tabbar_instances, "m", _Tabbar_getCurrentTab).call(this);
142
+ let index = activeTab ? tabs.indexOf(activeTab) : 0;
143
+ const isRTL = globalThis.getComputedStyle(this.host).direction === 'rtl';
144
+ let nextTab;
145
+ do {
146
+ switch (event.key) {
147
+ case 'ArrowLeft':
148
+ case 'ArrowUp': {
149
+ index = (isRTL ? index < tabs.length - 1 : index > 0)
150
+ ? index - (isRTL ? -1 : 1)
151
+ : isRTL
152
+ ? 0
153
+ : tabs.length - 1;
154
+ break;
155
+ }
156
+ case 'ArrowRight':
157
+ case 'ArrowDown': {
158
+ index = (isRTL ? index > 0 : index < tabs.length - 1)
159
+ ? index + (isRTL ? -1 : 1)
160
+ : isRTL
161
+ ? tabs.length - 1
162
+ : 0;
163
+ break;
164
+ }
165
+ case 'Home': {
166
+ index = isRTL ? tabs.length - 1 : 0;
167
+ break;
168
+ }
169
+ case 'End': {
170
+ index = isRTL ? 0 : tabs.length - 1;
171
+ break;
172
+ }
173
+ }
174
+ nextTab = tabs[index];
175
+ } while (nextTab.disabled === true);
176
+ __classPrivateFieldGet(this, _Tabbar_instances, "m", _Tabbar_setCurrentTab).call(this, nextTab);
177
+ const target = nextTab.shadowRoot?.querySelector('[role="tab"]');
178
+ if (target) {
179
+ target.focus();
180
+ target.scrollIntoView();
181
+ }
182
+ __classPrivateFieldGet(this, _Tabbar_instances, "m", _Tabbar_handleTabActivation).call(this, nextTab);
183
+ __classPrivateFieldGet(this, _Tabbar_instances, "m", _Tabbar_setActiveTab).call(this, nextTab);
184
+ });
185
+ _Tabbar_onMouseDown.set(this, (event) => {
186
+ const { target } = event;
187
+ if (isEnabledTabItem(target))
188
+ __classPrivateFieldGet(this, _Tabbar_instances, "m", _Tabbar_setCurrentTab).call(this, target);
189
+ });
190
+ _Tabbar_onScroll.set(this, () => {
191
+ if (!__classPrivateFieldGet(this, _Tabbar_tabbar, "f"))
192
+ return;
193
+ const { clientWidth, scrollWidth, scrollLeft } = __classPrivateFieldGet(this, _Tabbar_tabbar, "f");
194
+ const isRTL = globalThis.getComputedStyle(this.host).direction === 'rtl';
195
+ this.disableStartArrow = scrollLeft === 0;
196
+ this.disableEndArrow = isRTL
197
+ ? scrollWidth + scrollLeft <= clientWidth
198
+ : scrollWidth - clientWidth - scrollLeft <= 1;
199
+ });
200
+ _Tabbar_onSlotchange.set(this, () => {
201
+ const tabs = __classPrivateFieldGet(this, _Tabbar_instances, "m", _Tabbar_getTabs).call(this);
202
+ if (tabs.length > 0)
203
+ __classPrivateFieldGet(this, _Tabbar_instances, "m", _Tabbar_setCurrentTab).call(this, tabs[0]);
204
+ });
205
+ this.layer = 'main';
206
+ this.level = 'root';
207
+ this.orientation = 'horizontal';
208
+ this.tablistDescription = undefined;
209
+ this.disableEndArrow = false;
210
+ this.disableStartArrow = false;
211
+ this.activeTab = undefined;
212
+ }
213
+ componentWillLoad() {
214
+ __classPrivateFieldSet(this, _Tabbar_inheritedAttributes, helpers.inheritAriaAttributes(this.host), "f");
215
+ const firstTab = this.host.querySelector('qds-tab');
216
+ if (firstTab)
217
+ __classPrivateFieldGet(this, _Tabbar_instances, "m", _Tabbar_setActiveTab).call(this, firstTab);
218
+ }
219
+ componentDidRender() {
220
+ if (this.activeTab)
221
+ __classPrivateFieldGet(this, _Tabbar_instances, "m", _Tabbar_switchTabPanel).call(this, this.activeTab);
222
+ const settings = TAB_SETTINGS[`${this.layer}-${this.level}`];
223
+ if (!settings)
224
+ return;
225
+ for (const tab of this.host.querySelectorAll('qds-tab')) {
226
+ /* eslint-disable @typescript-eslint/no-unsafe-member-access */
227
+ tab.importance = settings.importance;
228
+ tab.size = settings.size;
229
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
230
+ tab.indicatorPosition =
231
+ this.orientation === 'vertical' ? 'inline-end' : tab.indicatorPosition;
232
+ /* eslint-enable @typescript-eslint/no-unsafe-member-access */
233
+ }
234
+ }
235
+ componentDidLoad() {
236
+ helpers.invariant(__classPrivateFieldGet(this, _Tabbar_tabbar, "f"));
237
+ __classPrivateFieldSet(this, _Tabbar_ro, new ResizeObserver(__classPrivateFieldGet(this, _Tabbar_onScroll, "f")), "f");
238
+ __classPrivateFieldGet(this, _Tabbar_ro, "f").observe(__classPrivateFieldGet(this, _Tabbar_tabbar, "f"));
239
+ }
240
+ disconnectedCallback() {
241
+ if (__classPrivateFieldGet(this, _Tabbar_ro, "f"))
242
+ __classPrivateFieldGet(this, _Tabbar_ro, "f").disconnect();
243
+ }
244
+ render() {
245
+ return (index.h("div", { key: '3288141ce044d8dbdf875f9b3b48334c63091826', class: { 'qds-vertical-divider': this.orientation === 'vertical' }, "data-layer": this.layer, "data-level": this.level }, index.h("div", { key: '525c775e3b74abf7dd2fbbdb765e02b63452b1ba', class: "qds-tabbar" }, index.h("div", { key: '5dc7b1e34020c5d4e066f99c5992d061a2d1ffba', class: {
246
+ 'qds-flex': !(this.disableEndArrow && this.disableStartArrow),
247
+ 'qds-hidden': (this.disableEndArrow && this.disableStartArrow) ||
248
+ this.orientation === 'vertical',
249
+ } }, index.h("qds-button", { key: 'fc18707d581ae99444d0dc4f24eec7195a1856f4', importance: "subdued", "icon-name": "dropdown", "icon-library": "core", "aria-label": "show previous tab", class: "qds-arrow-start", onClick: __classPrivateFieldGet(this, _Tabbar_scrollToStart, "f"), disabled: this.disableStartArrow })), index.h("ul", { key: '02e7c6d9dcbd396074301f31abee76fc8e64750c', class: {
250
+ 'qds-tabs': true,
251
+ 'qds-vertical': this.orientation === 'vertical',
252
+ }, role: "tablist", "aria-label": this.tablistDescription, ref: (element) => {
253
+ __classPrivateFieldSet(this, _Tabbar_tabbar, element, "f");
254
+ }, onClick: __classPrivateFieldGet(this, _Tabbar_onClick, "f"), onKeyDown: __classPrivateFieldGet(this, _Tabbar_onKeyDown, "f"), onMouseDown: __classPrivateFieldGet(this, _Tabbar_onMouseDown, "f"), onScroll: __classPrivateFieldGet(this, _Tabbar_onScroll, "f"), ...__classPrivateFieldGet(this, _Tabbar_inheritedAttributes, "f") }, index.h("slot", { key: 'f8f9ed26166eec2483f535698900f28e1e46242e', onSlotchange: __classPrivateFieldGet(this, _Tabbar_onSlotchange, "f") })), index.h("div", { key: '9599125a7aa8af7e2872025616db866c46150dcf', class: {
255
+ 'qds-flex': !(this.disableEndArrow && this.disableStartArrow),
256
+ 'qds-hidden': (this.disableEndArrow && this.disableStartArrow) ||
257
+ this.orientation === 'vertical',
258
+ } }, index.h("qds-button", { key: '04d5bc24dc6985774f425781ac6e0284a50b49de', "aria-label": "show next tab", "icon-name": "dropdown", "icon-library": "core", importance: "subdued", class: "qds-arrow-end", onClick: __classPrivateFieldGet(this, _Tabbar_scrollToEnd, "f"), disabled: this.disableEndArrow }))), ((this.level === 'root' &&
259
+ (this.layer === 'popup' || this.layer === 'accessory')) ||
260
+ (this.level === 'section' && this.layer === 'main')) && (index.h("qds-divider", { key: '1e482a59a6176e048a3e1b0d2d6efa8756fe4b34', vertical: this.orientation === 'vertical' }))));
261
+ }
262
+ static get delegatesFocus() { return true; }
263
+ get host() { return index.getElement(this); }
264
+ };
265
+ _Tabbar_ro = new WeakMap(), _Tabbar_tabbar = new WeakMap(), _Tabbar_inheritedAttributes = new WeakMap(), _Tabbar_scrollToStart = new WeakMap(), _Tabbar_scrollToEnd = new WeakMap(), _Tabbar_onClick = new WeakMap(), _Tabbar_onKeyDown = new WeakMap(), _Tabbar_onMouseDown = new WeakMap(), _Tabbar_onScroll = new WeakMap(), _Tabbar_onSlotchange = new WeakMap(), _Tabbar_instances = new WeakSet(), _Tabbar_setActiveTab = function _Tabbar_setActiveTab(tab) {
266
+ this.activeTab = tab;
267
+ for (const t of this.host.querySelectorAll('qds-tab')) {
268
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-call, @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-member-access
269
+ const target = t.shadowRoot?.querySelector('[role="tab"]');
270
+ const isSelected = t === tab;
271
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
272
+ t.selected = isSelected;
273
+ if (target instanceof globalThis.Element)
274
+ target.ariaSelected = isSelected.toString();
275
+ }
276
+ }, _Tabbar_getAllTabPanels = function _Tabbar_getAllTabPanels() {
277
+ const tabPanels = document.querySelectorAll('[role="tabpanel"]');
278
+ return [...tabPanels].filter((element) => element instanceof HTMLElement);
279
+ }, _Tabbar_switchTabPanel = function _Tabbar_switchTabPanel(activeTab) {
280
+ const target = activeTab.shadowRoot?.querySelector('[role="tab"]');
281
+ const tabAriaControls = target?.getAttribute('aria-controls');
282
+ const tabPanels = __classPrivateFieldGet(this, _Tabbar_instances, "m", _Tabbar_getAllTabPanels).call(this);
283
+ for (const panel of tabPanels)
284
+ panel.hidden = tabAriaControls !== panel.getAttribute('id');
285
+ }, _Tabbar_handleTabActivation = function _Tabbar_handleTabActivation(tab) {
286
+ const previousTab = this.activeTab;
287
+ if (previousTab === tab)
288
+ return;
289
+ this.activeTab = tab;
290
+ this.hideEmitter.emit(previousTab);
291
+ this.showEmitter.emit(tab);
292
+ __classPrivateFieldGet(this, _Tabbar_instances, "m", _Tabbar_setCurrentTab).call(this, tab);
293
+ __classPrivateFieldGet(this, _Tabbar_instances, "m", _Tabbar_switchTabPanel).call(this, tab);
294
+ }, _Tabbar_getTabs = function _Tabbar_getTabs() {
295
+ const slot = this.host.shadowRoot?.querySelector('slot');
296
+ return slot
297
+ ? [...slot.assignedElements({ flatten: true })].filter((element) => isEnabledTabItem(element))
298
+ : [];
299
+ }, _Tabbar_getCurrentTab = function _Tabbar_getCurrentTab() {
300
+ const currentTab = __classPrivateFieldGet(this, _Tabbar_instances, "m", _Tabbar_getTabs).call(this).find((tab) => tab.shadowRoot
301
+ ?.querySelector('[role="tab"]')
302
+ ?.getAttribute('tabindex') === '0');
303
+ return currentTab;
304
+ }, _Tabbar_setCurrentTab = function _Tabbar_setCurrentTab(tab) {
305
+ const tabs = __classPrivateFieldGet(this, _Tabbar_instances, "m", _Tabbar_getTabs).call(this);
306
+ for (const t of tabs) {
307
+ const isCurrent = t === tab;
308
+ const target = t.shadowRoot?.querySelector('[role="tab"]');
309
+ const closeButton = t.shadowRoot?.querySelector('.qds-target');
310
+ const isDisabled = target?.getAttribute('aria-disabled') === 'true';
311
+ const shouldActivateTab = isCurrent && !isDisabled;
312
+ const tabindex = shouldActivateTab ? '0' : '-1';
313
+ if (target) {
314
+ target.setAttribute('tabindex', tabindex);
315
+ if (shouldActivateTab)
316
+ __classPrivateFieldGet(this, _Tabbar_instances, "m", _Tabbar_handleTabActivation).call(this, t);
317
+ }
318
+ if (closeButton)
319
+ closeButton.setAttribute('tabindex', tabindex);
320
+ }
321
+ };
322
+ Tabbar.style = QdsTabbarStyle0;
323
+
324
+ exports.qds_tabbar = Tabbar;
325
+
326
+ //# sourceMappingURL=qds-tabbar.cjs.entry.js.map
@@ -0,0 +1 @@
1
+ {"file":"qds-tabbar.entry.cjs.js","mappings":"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","names":["invariant","inheritAriaAttributes","h"],"sources":["src/components/tabbar/tabbar.css?tag=qds-tabbar&encapsulation=shadow","src/components/tabbar/tabbar.tsx"],"sourcesContent":["/*\n * SPDX-FileCopyrightText: © 2024 Schneider Electric\n *\n * SPDX-License-Identifier: Apache-2.0\n */\n\n@import url('../shared.css');\n\n:host {\n display: block;\n}\n\n.qds-vertical,\n.qds-vertical-divider,\n.qds-tabbar,\n.qds-tabs {\n display: flex;\n}\n\n.qds-vertical-divider,\n.qds-tabbar {\n width: inherit;\n}\n\n.qds-arrow-start {\n transform: scaleX(var(--qds-direction-factor, 1)) rotate(90deg);\n}\n\n.qds-arrow-end {\n transform: scaleX(var(--qds-direction-factor, 1)) rotate(-90deg);\n}\n\n.qds-flex {\n display: flex;\n}\n\n.qds-hidden {\n display: none;\n}\n\n.qds-tabs {\n flex: 1;\n margin-block: 0;\n overflow: hidden;\n padding-inline-start: 0;\n scroll-behavior: smooth;\n}\n\n.qds-vertical {\n flex-direction: column;\n}\n\n.qds-vertical-divider {\n flex-direction: row;\n}\n\n[data-layer='main'] {\n &[data-level='root'] .qds-tabs {\n gap: var(--qds-control-large-gap-siblings-related);\n }\n\n &[data-level='section'] .qds-tabs {\n gap: var(--qds-control-standard-gap-siblings-related);\n }\n\n &[data-level='subsection'] .qds-tabs {\n gap: var(--qds-control-small-gap-siblings-related);\n }\n}\n\n[data-layer='popup'] {\n &[data-level='root'] .qds-tabs {\n gap: var(--qds-control-standard-gap-siblings-related);\n }\n\n &[data-level='section'] .qds-tabs {\n gap: var(--qds-control-small-gap-siblings-related);\n }\n}\n\n:is([data-layer='panel'], [data-layer='accessory'])[data-level='root']\n .qds-tabs {\n gap: var(--qds-control-small-gap-siblings-related);\n}\n","// SPDX-FileCopyrightText: © 2024 Schneider Electric\n//\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { ComponentInterface, EventEmitter } from '@stencil/core'\nimport { Component, Element, Event, h, Prop, State } from '@stencil/core'\n\nimport type { Attributes } from '../../helpers'\nimport { inheritAriaAttributes, invariant } from '../../helpers'\nimport type { Tab } from '../tab/tab'\n\nexport type Layer = 'accessory' | 'main' | 'panel' | 'popup'\nexport type Level = 'root' | 'section' | 'subsection'\nexport type Orientation = 'horizontal' | 'vertical'\n\nconst HORIZONTAL_MOVE_KEYS: ReadonlySet<string> = new Set([\n 'ArrowLeft',\n 'ArrowRight',\n 'Home',\n 'End',\n])\n\nconst VERTICAL_MOVE_KEYS: ReadonlySet<string> = new Set([\n 'ArrowUp',\n 'ArrowDown',\n 'Home',\n 'End',\n])\n\nconst TAB_SETTINGS: Record<\n string,\n Pick<Tab, 'importance' | 'indicatorPosition' | 'size'> | undefined\n> = {\n 'main-root': {\n importance: 'standard',\n size: 'large',\n indicatorPosition: 'block-end',\n },\n 'main-section': {\n importance: 'standard',\n size: 'standard',\n indicatorPosition: 'block-end',\n },\n 'popup-root': {\n importance: 'standard',\n size: 'standard',\n indicatorPosition: 'block-end',\n },\n 'main-subsection': {\n importance: 'subdued',\n size: 'small',\n indicatorPosition: 'block-start',\n },\n 'popup-section': {\n importance: 'subdued',\n size: 'small',\n indicatorPosition: 'inline-start',\n },\n 'panel-root': {\n importance: 'standard',\n size: 'small',\n indicatorPosition: 'block-start',\n },\n 'accessory-root': {\n importance: 'subdued',\n size: 'small',\n indicatorPosition: 'block-end',\n },\n}\n\nconst isEnabledTabItem = (item: unknown): item is HTMLQdsTabElement => {\n if (!(item instanceof HTMLElement)) return false\n const tagName = item.tagName.toLowerCase()\n\n return (\n (!item.inert && tagName === 'qds-tab') ||\n (item as HTMLQdsTabElement).disabled !== true\n )\n}\n\n/**\n * `<qds-tabbar>` is the component that facilitates navigation between the groups\n * of related content within the page.\n * It allows users to switch between groups by clicking on Tabs without going to another page.\n */\n@Component({\n tag: 'qds-tabbar',\n shadow: { delegatesFocus: true },\n styleUrl: 'tabbar.css',\n})\nexport class Tabbar implements ComponentInterface {\n /**\n * The tabbar's layer.\n */\n @Prop() public layer?: Layer = 'main'\n\n /**\n * The tabbar's level.\n */\n @Prop() public level?: Level = 'root'\n\n /**\n * The tabbar's orientation.\n */\n @Prop() public orientation?: Orientation = 'horizontal'\n\n /**\n * the tablist Description\n */\n @Prop() public readonly tablistDescription?: string\n\n /**\n * Emitted when the user selects the tab.\n */\n @Event({ eventName: 'qdsTabShow', cancelable: false })\n private readonly showEmitter!: EventEmitter<HTMLElement>\n\n /**\n * Emitted when the user selects the tab.\n */\n @Event({ eventName: 'qdsTabHide', cancelable: false })\n private readonly hideEmitter!: EventEmitter<HTMLElement>\n\n @Element() private readonly host!: HTMLQdsTabbarElement\n\n @State() private disableEndArrow = false\n\n @State() private disableStartArrow = false\n\n @State() private activeTab?: HTMLQdsTabElement\n\n #ro: ResizeObserver | undefined\n\n #tabbar?: HTMLElement\n\n #inheritedAttributes: Attributes = {}\n\n public componentWillLoad(): void {\n this.#inheritedAttributes = inheritAriaAttributes(this.host)\n\n const firstTab = this.host.querySelector('qds-tab')\n if (firstTab) this.#setActiveTab(firstTab)\n }\n\n public componentDidRender(): void {\n if (this.activeTab) this.#switchTabPanel(this.activeTab)\n\n const settings = TAB_SETTINGS[`${this.layer}-${this.level}`]\n if (!settings) return\n\n for (const tab of this.host.querySelectorAll('qds-tab')) {\n /* eslint-disable @typescript-eslint/no-unsafe-member-access */\n tab.importance = settings.importance\n tab.size = settings.size\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n tab.indicatorPosition =\n this.orientation === 'vertical' ? 'inline-end' : tab.indicatorPosition\n /* eslint-enable @typescript-eslint/no-unsafe-member-access */\n }\n }\n\n public componentDidLoad(): void {\n invariant(this.#tabbar)\n\n this.#ro = new ResizeObserver(this.#onScroll)\n this.#ro.observe(this.#tabbar)\n }\n\n public disconnectedCallback(): void {\n if (this.#ro) this.#ro.disconnect()\n }\n\n public render() {\n return (\n <div\n class={{ 'qds-vertical-divider': this.orientation === 'vertical' }}\n data-layer={this.layer}\n data-level={this.level}\n >\n <div class=\"qds-tabbar\">\n <div\n class={{\n 'qds-flex': !(this.disableEndArrow && this.disableStartArrow),\n 'qds-hidden':\n (this.disableEndArrow && this.disableStartArrow) ||\n this.orientation === 'vertical',\n }}\n >\n <qds-button\n importance=\"subdued\"\n icon-name=\"dropdown\"\n icon-library=\"core\"\n aria-label=\"show previous tab\"\n class=\"qds-arrow-start\"\n onClick={this.#scrollToStart}\n disabled={this.disableStartArrow}\n />\n </div>\n <ul\n class={{\n 'qds-tabs': true,\n 'qds-vertical': this.orientation === 'vertical',\n }}\n role=\"tablist\"\n aria-label={this.tablistDescription}\n ref={(element) => {\n this.#tabbar = element\n }}\n onClick={this.#onClick}\n onKeyDown={this.#onKeyDown}\n onMouseDown={this.#onMouseDown}\n onScroll={this.#onScroll}\n // eslint-disable-next-line react/jsx-props-no-spreading\n {...this.#inheritedAttributes}\n >\n <slot onSlotchange={this.#onSlotchange} />\n </ul>\n <div\n class={{\n 'qds-flex': !(this.disableEndArrow && this.disableStartArrow),\n 'qds-hidden':\n (this.disableEndArrow && this.disableStartArrow) ||\n this.orientation === 'vertical',\n }}\n >\n <qds-button\n aria-label=\"show next tab\"\n icon-name=\"dropdown\"\n icon-library=\"core\"\n importance=\"subdued\"\n class=\"qds-arrow-end\"\n onClick={this.#scrollToEnd}\n disabled={this.disableEndArrow}\n />\n </div>\n </div>\n {((this.level === 'root' &&\n (this.layer === 'popup' || this.layer === 'accessory')) ||\n (this.level === 'section' && this.layer === 'main')) && (\n <qds-divider vertical={this.orientation === 'vertical'} />\n )}\n </div>\n )\n }\n\n readonly #scrollToStart = (): void => {\n invariant(this.#tabbar)\n\n const isRTL = globalThis.getComputedStyle(this.host).direction === 'rtl'\n this.#tabbar.scroll({\n left: isRTL\n ? this.#tabbar.scrollLeft + this.#tabbar.clientWidth\n : this.#tabbar.scrollLeft - this.#tabbar.clientWidth,\n })\n }\n\n readonly #scrollToEnd = (): void => {\n invariant(this.#tabbar)\n\n const isRTL = globalThis.getComputedStyle(this.host).direction === 'rtl'\n this.#tabbar.scroll({\n left: isRTL\n ? this.#tabbar.scrollLeft - this.#tabbar.clientWidth\n : this.#tabbar.scrollLeft + this.#tabbar.clientWidth,\n })\n }\n\n #setActiveTab(tab: HTMLQdsTabElement): void {\n this.activeTab = tab\n\n for (const t of this.host.querySelectorAll('qds-tab')) {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-call, @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-member-access\n const target = t.shadowRoot?.querySelector('[role=\"tab\"]')\n\n const isSelected = t === tab\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n t.selected = isSelected\n if (target instanceof globalThis.Element)\n target.ariaSelected = isSelected.toString()\n }\n }\n\n // eslint-disable-next-line class-methods-use-this, @typescript-eslint/class-methods-use-this\n #getAllTabPanels(): HTMLElement[] {\n const tabPanels = document.querySelectorAll('[role=\"tabpanel\"]')\n return [...tabPanels].filter(\n (element): element is HTMLElement => element instanceof HTMLElement,\n )\n }\n\n #switchTabPanel(activeTab: HTMLQdsTabElement): void {\n const target = activeTab.shadowRoot?.querySelector('[role=\"tab\"]')\n const tabAriaControls = target?.getAttribute('aria-controls')\n const tabPanels = this.#getAllTabPanels()\n\n for (const panel of tabPanels)\n panel.hidden = tabAriaControls !== panel.getAttribute('id')\n }\n\n #handleTabActivation(tab: HTMLQdsTabElement): void {\n const previousTab = this.activeTab\n if (previousTab === tab) return\n\n this.activeTab = tab\n\n this.hideEmitter.emit(previousTab)\n\n this.showEmitter.emit(tab)\n this.#setCurrentTab(tab)\n this.#switchTabPanel(tab)\n }\n\n #getTabs(): HTMLQdsTabElement[] {\n const slot = this.host.shadowRoot?.querySelector('slot')\n return slot\n ? [...slot.assignedElements({ flatten: true })].filter<HTMLQdsTabElement>(\n (element) => isEnabledTabItem(element),\n )\n : []\n }\n\n #getCurrentTab(): HTMLQdsTabElement | undefined {\n const currentTab = this.#getTabs().find(\n (tab) =>\n tab.shadowRoot\n ?.querySelector('[role=\"tab\"]')\n ?.getAttribute('tabindex') === '0',\n )\n return currentTab\n }\n\n #setCurrentTab(tab: HTMLQdsTabElement): void {\n const tabs = this.#getTabs()\n for (const t of tabs) {\n const isCurrent = t === tab\n const target = t.shadowRoot?.querySelector('[role=\"tab\"]')\n const closeButton = t.shadowRoot?.querySelector('.qds-target')\n\n const isDisabled = target?.getAttribute('aria-disabled') === 'true'\n const shouldActivateTab = isCurrent && !isDisabled\n const tabindex = shouldActivateTab ? '0' : '-1'\n\n if (target) {\n target.setAttribute('tabindex', tabindex)\n if (shouldActivateTab) this.#handleTabActivation(t)\n }\n\n if (closeButton) closeButton.setAttribute('tabindex', tabindex)\n }\n }\n\n readonly #onClick = (event: MouseEvent): void => {\n const { target } = event\n if (!(target instanceof HTMLElement)) return\n const tab = target.closest('qds-tab')\n if (!tab || tab.disabled === true || tab.inert) return\n\n this.#handleTabActivation(tab)\n this.#setActiveTab(tab)\n }\n\n readonly #onKeyDown = (event: KeyboardEvent): void => {\n const isVertical = this.orientation === 'vertical'\n const MOVE_SELECTION_KEYS = isVertical\n ? VERTICAL_MOVE_KEYS\n : HORIZONTAL_MOVE_KEYS\n if (!MOVE_SELECTION_KEYS.has(event.key)) return\n\n const tabs = this.#getTabs()\n if (tabs.length === 0) return\n\n event.preventDefault()\n event.stopPropagation()\n\n const activeTab = this.#getCurrentTab()\n let index = activeTab ? tabs.indexOf(activeTab) : 0\n\n const isRTL = globalThis.getComputedStyle(this.host).direction === 'rtl'\n\n let nextTab: HTMLQdsTabElement | undefined\n do {\n switch (event.key) {\n case 'ArrowLeft':\n case 'ArrowUp': {\n index = (isRTL ? index < tabs.length - 1 : index > 0)\n ? index - (isRTL ? -1 : 1)\n : isRTL\n ? 0\n : tabs.length - 1\n break\n }\n case 'ArrowRight':\n case 'ArrowDown': {\n index = (isRTL ? index > 0 : index < tabs.length - 1)\n ? index + (isRTL ? -1 : 1)\n : isRTL\n ? tabs.length - 1\n : 0\n break\n }\n case 'Home': {\n index = isRTL ? tabs.length - 1 : 0\n break\n }\n case 'End': {\n index = isRTL ? 0 : tabs.length - 1\n break\n }\n default:\n }\n nextTab = tabs[index]\n } while (nextTab.disabled === true)\n\n this.#setCurrentTab(nextTab)\n\n const target =\n nextTab.shadowRoot?.querySelector<HTMLElement>('[role=\"tab\"]')\n if (target) {\n target.focus()\n target.scrollIntoView()\n }\n this.#handleTabActivation(nextTab)\n this.#setActiveTab(nextTab)\n }\n\n readonly #onMouseDown = (event: MouseEvent): void => {\n const { target } = event\n\n if (isEnabledTabItem(target)) this.#setCurrentTab(target)\n }\n\n readonly #onScroll = (): void => {\n if (!this.#tabbar) return\n\n const { clientWidth, scrollWidth, scrollLeft } = this.#tabbar\n\n const isRTL = globalThis.getComputedStyle(this.host).direction === 'rtl'\n this.disableStartArrow = scrollLeft === 0\n this.disableEndArrow = isRTL\n ? scrollWidth + scrollLeft <= clientWidth\n : scrollWidth - clientWidth - scrollLeft <= 1\n }\n\n readonly #onSlotchange = (): void => {\n const tabs = this.#getTabs()\n\n if (tabs.length > 0) this.#setCurrentTab(tabs[0])\n }\n}\n"],"version":3}
@@ -0,0 +1,54 @@
1
+ /*!
2
+ * SPDX-FileCopyrightText: © 2025 Schneider Electric
3
+ *
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ 'use strict';
7
+
8
+ Object.defineProperty(exports, '__esModule', { value: true });
9
+
10
+ const index = require('./index-a9985af0.js');
11
+ const helpers = require('./helpers-cdd65bd0.js');
12
+
13
+ const tableBodyCss = ":host([hidden]){display:none!important}:host{display:contents}.qds-table-body{box-sizing:border-box}";
14
+ const QdsTableBodyStyle0 = tableBodyCss;
15
+
16
+ // SPDX-FileCopyrightText: © 2024 Schneider Electric
17
+ //
18
+ // SPDX-License-Identifier: Apache-2.0
19
+ var __classPrivateFieldSet = (undefined && undefined.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
20
+ if (kind === "m")
21
+ throw new TypeError("Private method is not writable");
22
+ if (kind === "a" && !f)
23
+ throw new TypeError("Private accessor was defined without a setter");
24
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver))
25
+ throw new TypeError("Cannot write private member to an object whose class did not declare it");
26
+ return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
27
+ };
28
+ var __classPrivateFieldGet = (undefined && undefined.__classPrivateFieldGet) || function (receiver, state, kind, f) {
29
+ if (kind === "a" && !f)
30
+ throw new TypeError("Private accessor was defined without a getter");
31
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver))
32
+ throw new TypeError("Cannot read private member from an object whose class did not declare it");
33
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
34
+ };
35
+ var _TableBody_inheritedAttributes;
36
+ const TableBody = class {
37
+ constructor(hostRef) {
38
+ index.registerInstance(this, hostRef);
39
+ _TableBody_inheritedAttributes.set(this, {});
40
+ }
41
+ componentWillLoad() {
42
+ __classPrivateFieldSet(this, _TableBody_inheritedAttributes, helpers.inheritAriaAttributes(this.host), "f");
43
+ }
44
+ render() {
45
+ return (index.h("tbody", { key: 'a7a2a27b381d81bfcae59ade0dc1d377570eed15', class: "qds-table-body", ...__classPrivateFieldGet(this, _TableBody_inheritedAttributes, "f") }, index.h("slot", { key: '45949f2bd49816c54a9aa2036b22bb86d4003ecd' })));
46
+ }
47
+ get host() { return index.getElement(this); }
48
+ };
49
+ _TableBody_inheritedAttributes = new WeakMap();
50
+ TableBody.style = QdsTableBodyStyle0;
51
+
52
+ exports.qds_table_body = TableBody;
53
+
54
+ //# sourceMappingURL=qds-table-body.cjs.entry.js.map
@@ -0,0 +1 @@
1
+ {"file":"qds-table-body.entry.cjs.js","mappings":";;;;;;;;;;;;AAAA,MAAM,YAAY,GAAG,sGAAsG,CAAC;AAC5H,2BAAe,YAAY;;ACD3B;AACA;AACA;;;;;;;;;;;;;;;;;;MAoBa,SAAS;IALtB;;QAQE,yCAAmC,EAAE,EAAA;KAiBtC;IAfQ,iBAAiB;QACtB,uBAAA,IAAI,kCAAwBA,6BAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,MAAA,CAAA;KAC7D;IAEM,MAAM;QACX,QACEC,oEACE,KAAK,EAAC,gBAAgB,KAElB,uBAAA,IAAI,sCAAqB,IAE7BA,oEAAQ,CACF,EACT;KACF;;;;;;;;","names":["inheritAriaAttributes","h"],"sources":["src/components/table-body/table-body.css?tag=qds-table-body&encapsulation=shadow","src/components/table-body/table-body.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: contents;\n}\n\n.qds-table-body {\n box-sizing: border-box;\n}\n","// SPDX-FileCopyrightText: © 2024 Schneider Electric\n//\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { ComponentInterface } from '@stencil/core'\nimport { Component, Element, h } from '@stencil/core'\n\nimport type { Attributes } from '../../helpers'\nimport { inheritAriaAttributes } from '../../helpers'\n\n/**\n * The `<qds-table-body>` element encapsulates a set of rows (`<qds-table-row>`\n * elements) indicating that they comprise the body of the table\n * (`<qds-table>`).\n *\n * @see https://quartz.se.com/build/components/table\n */\n@Component({\n tag: 'qds-table-body',\n shadow: true,\n styleUrl: 'table-body.css',\n})\nexport class TableBody implements ComponentInterface {\n @Element() private readonly host!: HTMLQdsTableBodyElement\n\n #inheritedAttributes: Attributes = {}\n\n public componentWillLoad(): void {\n this.#inheritedAttributes = inheritAriaAttributes(this.host)\n }\n\n public render() {\n return (\n <tbody\n class=\"qds-table-body\"\n // eslint-disable-next-line react/jsx-props-no-spreading\n {...this.#inheritedAttributes}\n >\n <slot />\n </tbody>\n )\n }\n}\n"],"version":3}
@@ -0,0 +1,56 @@
1
+ /*!
2
+ * SPDX-FileCopyrightText: © 2025 Schneider Electric
3
+ *
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ 'use strict';
7
+
8
+ Object.defineProperty(exports, '__esModule', { value: true });
9
+
10
+ const index = require('./index-a9985af0.js');
11
+ const helpers = require('./helpers-cdd65bd0.js');
12
+
13
+ const tableCellCss = ":host([hidden]){display:none!important}:host{display:contents}.qds-table-cell{box-sizing:border-box;color:var(--qds-theme-title);font:var(--qds-list-item-standard-title);padding-block:0;padding-inline:var(--qds-list-item-standard-padding-horizontal);text-align:inherit;vertical-align:middle;width:inherit}";
14
+ const QdsTableCellStyle0 = tableCellCss;
15
+
16
+ // SPDX-FileCopyrightText: © 2024 Schneider Electric
17
+ //
18
+ // SPDX-License-Identifier: Apache-2.0
19
+ var __classPrivateFieldSet = (undefined && undefined.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
20
+ if (kind === "m")
21
+ throw new TypeError("Private method is not writable");
22
+ if (kind === "a" && !f)
23
+ throw new TypeError("Private accessor was defined without a setter");
24
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver))
25
+ throw new TypeError("Cannot write private member to an object whose class did not declare it");
26
+ return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
27
+ };
28
+ var __classPrivateFieldGet = (undefined && undefined.__classPrivateFieldGet) || function (receiver, state, kind, f) {
29
+ if (kind === "a" && !f)
30
+ throw new TypeError("Private accessor was defined without a getter");
31
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver))
32
+ throw new TypeError("Cannot read private member from an object whose class did not declare it");
33
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
34
+ };
35
+ var _TableCell_inheritedAttributes;
36
+ const TableCell = class {
37
+ constructor(hostRef) {
38
+ index.registerInstance(this, hostRef);
39
+ _TableCell_inheritedAttributes.set(this, {});
40
+ this.colSpan = undefined;
41
+ this.rowSpan = undefined;
42
+ }
43
+ componentWillLoad() {
44
+ __classPrivateFieldSet(this, _TableCell_inheritedAttributes, helpers.inheritAriaAttributes(this.host), "f");
45
+ }
46
+ render() {
47
+ return (index.h("td", { key: '01804f47116c78ebe7f75cc5ea7f05ea993818d5', class: "qds-table-cell", colSpan: this.colSpan, rowSpan: this.rowSpan, ...__classPrivateFieldGet(this, _TableCell_inheritedAttributes, "f") }, index.h("slot", { key: 'c8734c6b86f30024435f6293ceb769453624d000' })));
48
+ }
49
+ get host() { return index.getElement(this); }
50
+ };
51
+ _TableCell_inheritedAttributes = new WeakMap();
52
+ TableCell.style = QdsTableCellStyle0;
53
+
54
+ exports.qds_table_cell = TableCell;
55
+
56
+ //# sourceMappingURL=qds-table-cell.cjs.entry.js.map
@@ -0,0 +1 @@
1
+ {"file":"qds-table-cell.entry.cjs.js","mappings":";;;;;;;;;;;;AAAA,MAAM,YAAY,GAAG,mTAAmT,CAAC;AACzU,2BAAe,YAAY;;ACD3B;AACA;AACA;;;;;;;;;;;;;;;;;;MAmBa,SAAS;;;QAuBpB,yCAAmC,EAAE,EAAA;;;;IAE9B,iBAAiB;QACtB,uBAAA,IAAI,kCAAwBA,6BAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,MAAA,CAAA;KAC7D;IAEM,MAAM;QACX,QACEC,iEACE,KAAK,EAAC,gBAAgB,EACtB,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,OAAO,EAAE,IAAI,CAAC,OAAO,KAEjB,uBAAA,IAAI,sCAAqB,IAE7BA,oEAAQ,CACL,EACN;KACF;;;;;;;;","names":["inheritAriaAttributes","h"],"sources":["src/components/table-cell/table-cell.css?tag=qds-table-cell&encapsulation=shadow","src/components/table-cell/table-cell.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: contents;\n}\n\n.qds-table-cell {\n box-sizing: border-box;\n color: var(--qds-theme-title);\n font: var(--qds-list-item-standard-title);\n padding-block: 0;\n padding-inline: var(--qds-list-item-standard-padding-horizontal);\n text-align: inherit;\n vertical-align: middle;\n width: inherit;\n}\n","// SPDX-FileCopyrightText: © 2024 Schneider Electric\n//\n// SPDX-License-Identifier: Apache-2.0\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\n/**\n * The `<qds-table-cell>` element defines a cell of a table that contains data.\n * It participates in the *table model*.\n *\n * @see https://quartz.se.com/build/components/table\n */\n@Component({\n tag: 'qds-table-cell',\n shadow: true,\n styleUrl: 'table-cell.css',\n})\nexport class TableCell implements ComponentInterface {\n /**\n * Non-negative integer value that indicates for how many columns the cell\n * extends. Its default value is `1`. Values higher than 1000 will be\n * considered as incorrect and will be set to the default value (1).\n *\n * @webnative\n */\n @Prop({ attribute: 'colspan' }) public readonly colSpan?: number\n\n /**\n * Non-negative integer value that indicates for how many rows the cell\n * extends. Its default value is `1`; if its value is set to `0`, it extends\n * until the end of the table section (`<qds-table-head>` or\n * `<qds-table-body>`, even if implicitly defined), that the cell belongs to.\n * Values higher than 65534 are clipped down to 65534.\n *\n * @webnative\n */\n @Prop({ attribute: 'rowspan' }) public readonly rowSpan?: number\n\n @Element() private readonly host!: HTMLQdsTableCellElement\n\n #inheritedAttributes: Attributes = {}\n\n public componentWillLoad(): void {\n this.#inheritedAttributes = inheritAriaAttributes(this.host)\n }\n\n public render() {\n return (\n <td\n class=\"qds-table-cell\"\n colSpan={this.colSpan}\n rowSpan={this.rowSpan}\n // eslint-disable-next-line react/jsx-props-no-spreading\n {...this.#inheritedAttributes}\n >\n <slot />\n </td>\n )\n }\n}\n"],"version":3}