@helixui/library 0.1.0

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 (778) hide show
  1. package/custom-elements.json +31860 -0
  2. package/dist/components/hx-accordion/hx-accordion-item.d.ts +52 -0
  3. package/dist/components/hx-accordion/hx-accordion-item.d.ts.map +1 -0
  4. package/dist/components/hx-accordion/hx-accordion-item.styles.d.ts +2 -0
  5. package/dist/components/hx-accordion/hx-accordion-item.styles.d.ts.map +1 -0
  6. package/dist/components/hx-accordion/hx-accordion.d.ts +45 -0
  7. package/dist/components/hx-accordion/hx-accordion.d.ts.map +1 -0
  8. package/dist/components/hx-accordion/hx-accordion.styles.d.ts +2 -0
  9. package/dist/components/hx-accordion/hx-accordion.styles.d.ts.map +1 -0
  10. package/dist/components/hx-accordion/index.d.ts +3 -0
  11. package/dist/components/hx-accordion/index.d.ts.map +1 -0
  12. package/dist/components/hx-accordion/index.js +6 -0
  13. package/dist/components/hx-accordion/index.js.map +1 -0
  14. package/dist/components/hx-action-bar/hx-action-bar.d.ts +91 -0
  15. package/dist/components/hx-action-bar/hx-action-bar.d.ts.map +1 -0
  16. package/dist/components/hx-action-bar/hx-action-bar.styles.d.ts +2 -0
  17. package/dist/components/hx-action-bar/hx-action-bar.styles.d.ts.map +1 -0
  18. package/dist/components/hx-action-bar/index.d.ts +2 -0
  19. package/dist/components/hx-action-bar/index.d.ts.map +1 -0
  20. package/dist/components/hx-action-bar/index.js +5 -0
  21. package/dist/components/hx-action-bar/index.js.map +1 -0
  22. package/dist/components/hx-alert/hx-alert.d.ts +108 -0
  23. package/dist/components/hx-alert/hx-alert.d.ts.map +1 -0
  24. package/dist/components/hx-alert/hx-alert.styles.d.ts +2 -0
  25. package/dist/components/hx-alert/hx-alert.styles.d.ts.map +1 -0
  26. package/dist/components/hx-alert/index.d.ts +2 -0
  27. package/dist/components/hx-alert/index.d.ts.map +1 -0
  28. package/dist/components/hx-alert/index.js +5 -0
  29. package/dist/components/hx-alert/index.js.map +1 -0
  30. package/dist/components/hx-avatar/hx-avatar.d.ts +85 -0
  31. package/dist/components/hx-avatar/hx-avatar.d.ts.map +1 -0
  32. package/dist/components/hx-avatar/hx-avatar.styles.d.ts +2 -0
  33. package/dist/components/hx-avatar/hx-avatar.styles.d.ts.map +1 -0
  34. package/dist/components/hx-avatar/index.d.ts +2 -0
  35. package/dist/components/hx-avatar/index.d.ts.map +1 -0
  36. package/dist/components/hx-avatar/index.js +5 -0
  37. package/dist/components/hx-avatar/index.js.map +1 -0
  38. package/dist/components/hx-badge/hx-badge.d.ts +98 -0
  39. package/dist/components/hx-badge/hx-badge.d.ts.map +1 -0
  40. package/dist/components/hx-badge/hx-badge.styles.d.ts +2 -0
  41. package/dist/components/hx-badge/hx-badge.styles.d.ts.map +1 -0
  42. package/dist/components/hx-badge/index.d.ts +2 -0
  43. package/dist/components/hx-badge/index.d.ts.map +1 -0
  44. package/dist/components/hx-badge/index.js +5 -0
  45. package/dist/components/hx-badge/index.js.map +1 -0
  46. package/dist/components/hx-breadcrumb/hx-breadcrumb-item.d.ts +66 -0
  47. package/dist/components/hx-breadcrumb/hx-breadcrumb-item.d.ts.map +1 -0
  48. package/dist/components/hx-breadcrumb/hx-breadcrumb-item.styles.d.ts +2 -0
  49. package/dist/components/hx-breadcrumb/hx-breadcrumb-item.styles.d.ts.map +1 -0
  50. package/dist/components/hx-breadcrumb/hx-breadcrumb.d.ts +130 -0
  51. package/dist/components/hx-breadcrumb/hx-breadcrumb.d.ts.map +1 -0
  52. package/dist/components/hx-breadcrumb/hx-breadcrumb.styles.d.ts +2 -0
  53. package/dist/components/hx-breadcrumb/hx-breadcrumb.styles.d.ts.map +1 -0
  54. package/dist/components/hx-breadcrumb/index.d.ts +3 -0
  55. package/dist/components/hx-breadcrumb/index.d.ts.map +1 -0
  56. package/dist/components/hx-breadcrumb/index.js +6 -0
  57. package/dist/components/hx-breadcrumb/index.js.map +1 -0
  58. package/dist/components/hx-button/hx-button.d.ts +97 -0
  59. package/dist/components/hx-button/hx-button.d.ts.map +1 -0
  60. package/dist/components/hx-button/hx-button.styles.d.ts +2 -0
  61. package/dist/components/hx-button/hx-button.styles.d.ts.map +1 -0
  62. package/dist/components/hx-button/index.d.ts +2 -0
  63. package/dist/components/hx-button/index.d.ts.map +1 -0
  64. package/dist/components/hx-button/index.js +5 -0
  65. package/dist/components/hx-button/index.js.map +1 -0
  66. package/dist/components/hx-button-group/hx-button-group.d.ts +49 -0
  67. package/dist/components/hx-button-group/hx-button-group.d.ts.map +1 -0
  68. package/dist/components/hx-button-group/hx-button-group.styles.d.ts +2 -0
  69. package/dist/components/hx-button-group/hx-button-group.styles.d.ts.map +1 -0
  70. package/dist/components/hx-button-group/index.d.ts +2 -0
  71. package/dist/components/hx-button-group/index.d.ts.map +1 -0
  72. package/dist/components/hx-button-group/index.js +5 -0
  73. package/dist/components/hx-button-group/index.js.map +1 -0
  74. package/dist/components/hx-card/hx-card.d.ts +76 -0
  75. package/dist/components/hx-card/hx-card.d.ts.map +1 -0
  76. package/dist/components/hx-card/hx-card.styles.d.ts +2 -0
  77. package/dist/components/hx-card/hx-card.styles.d.ts.map +1 -0
  78. package/dist/components/hx-card/index.d.ts +2 -0
  79. package/dist/components/hx-card/index.d.ts.map +1 -0
  80. package/dist/components/hx-card/index.js +5 -0
  81. package/dist/components/hx-card/index.js.map +1 -0
  82. package/dist/components/hx-carousel/hx-carousel-item.d.ts +30 -0
  83. package/dist/components/hx-carousel/hx-carousel-item.d.ts.map +1 -0
  84. package/dist/components/hx-carousel/hx-carousel.d.ts +130 -0
  85. package/dist/components/hx-carousel/hx-carousel.d.ts.map +1 -0
  86. package/dist/components/hx-carousel/hx-carousel.styles.d.ts +2 -0
  87. package/dist/components/hx-carousel/hx-carousel.styles.d.ts.map +1 -0
  88. package/dist/components/hx-carousel/index.d.ts +3 -0
  89. package/dist/components/hx-carousel/index.d.ts.map +1 -0
  90. package/dist/components/hx-carousel/index.js +6 -0
  91. package/dist/components/hx-carousel/index.js.map +1 -0
  92. package/dist/components/hx-checkbox/hx-checkbox.d.ts +127 -0
  93. package/dist/components/hx-checkbox/hx-checkbox.d.ts.map +1 -0
  94. package/dist/components/hx-checkbox/hx-checkbox.styles.d.ts +2 -0
  95. package/dist/components/hx-checkbox/hx-checkbox.styles.d.ts.map +1 -0
  96. package/dist/components/hx-checkbox/index.d.ts +2 -0
  97. package/dist/components/hx-checkbox/index.d.ts.map +1 -0
  98. package/dist/components/hx-checkbox/index.js +5 -0
  99. package/dist/components/hx-checkbox/index.js.map +1 -0
  100. package/dist/components/hx-checkbox-group/hx-checkbox-group.d.ts +111 -0
  101. package/dist/components/hx-checkbox-group/hx-checkbox-group.d.ts.map +1 -0
  102. package/dist/components/hx-checkbox-group/hx-checkbox-group.styles.d.ts +2 -0
  103. package/dist/components/hx-checkbox-group/hx-checkbox-group.styles.d.ts.map +1 -0
  104. package/dist/components/hx-checkbox-group/index.d.ts +2 -0
  105. package/dist/components/hx-checkbox-group/index.d.ts.map +1 -0
  106. package/dist/components/hx-checkbox-group/index.js +5 -0
  107. package/dist/components/hx-checkbox-group/index.js.map +1 -0
  108. package/dist/components/hx-code-snippet/hx-code-snippet.d.ts +90 -0
  109. package/dist/components/hx-code-snippet/hx-code-snippet.d.ts.map +1 -0
  110. package/dist/components/hx-code-snippet/hx-code-snippet.styles.d.ts +2 -0
  111. package/dist/components/hx-code-snippet/hx-code-snippet.styles.d.ts.map +1 -0
  112. package/dist/components/hx-code-snippet/index.d.ts +2 -0
  113. package/dist/components/hx-code-snippet/index.d.ts.map +1 -0
  114. package/dist/components/hx-code-snippet/index.js +5 -0
  115. package/dist/components/hx-code-snippet/index.js.map +1 -0
  116. package/dist/components/hx-color-picker/hx-color-picker.d.ts +154 -0
  117. package/dist/components/hx-color-picker/hx-color-picker.d.ts.map +1 -0
  118. package/dist/components/hx-color-picker/hx-color-picker.styles.d.ts +2 -0
  119. package/dist/components/hx-color-picker/hx-color-picker.styles.d.ts.map +1 -0
  120. package/dist/components/hx-color-picker/index.d.ts +2 -0
  121. package/dist/components/hx-color-picker/index.d.ts.map +1 -0
  122. package/dist/components/hx-color-picker/index.js +5 -0
  123. package/dist/components/hx-color-picker/index.js.map +1 -0
  124. package/dist/components/hx-combobox/hx-combobox.d.ts +185 -0
  125. package/dist/components/hx-combobox/hx-combobox.d.ts.map +1 -0
  126. package/dist/components/hx-combobox/hx-combobox.styles.d.ts +2 -0
  127. package/dist/components/hx-combobox/hx-combobox.styles.d.ts.map +1 -0
  128. package/dist/components/hx-combobox/index.d.ts +3 -0
  129. package/dist/components/hx-combobox/index.d.ts.map +1 -0
  130. package/dist/components/hx-combobox/index.js +5 -0
  131. package/dist/components/hx-combobox/index.js.map +1 -0
  132. package/dist/components/hx-container/hx-container.d.ts +56 -0
  133. package/dist/components/hx-container/hx-container.d.ts.map +1 -0
  134. package/dist/components/hx-container/hx-container.styles.d.ts +2 -0
  135. package/dist/components/hx-container/hx-container.styles.d.ts.map +1 -0
  136. package/dist/components/hx-container/index.d.ts +2 -0
  137. package/dist/components/hx-container/index.d.ts.map +1 -0
  138. package/dist/components/hx-container/index.js +5 -0
  139. package/dist/components/hx-container/index.js.map +1 -0
  140. package/dist/components/hx-copy-button/hx-copy-button.d.ts +103 -0
  141. package/dist/components/hx-copy-button/hx-copy-button.d.ts.map +1 -0
  142. package/dist/components/hx-copy-button/hx-copy-button.styles.d.ts +2 -0
  143. package/dist/components/hx-copy-button/hx-copy-button.styles.d.ts.map +1 -0
  144. package/dist/components/hx-copy-button/index.d.ts +2 -0
  145. package/dist/components/hx-copy-button/index.d.ts.map +1 -0
  146. package/dist/components/hx-copy-button/index.js +5 -0
  147. package/dist/components/hx-copy-button/index.js.map +1 -0
  148. package/dist/components/hx-data-table/hx-data-table.d.ts +125 -0
  149. package/dist/components/hx-data-table/hx-data-table.d.ts.map +1 -0
  150. package/dist/components/hx-data-table/hx-data-table.styles.d.ts +2 -0
  151. package/dist/components/hx-data-table/hx-data-table.styles.d.ts.map +1 -0
  152. package/dist/components/hx-data-table/index.d.ts +3 -0
  153. package/dist/components/hx-data-table/index.d.ts.map +1 -0
  154. package/dist/components/hx-data-table/index.js +5 -0
  155. package/dist/components/hx-data-table/index.js.map +1 -0
  156. package/dist/components/hx-date-picker/hx-date-picker.d.ts +129 -0
  157. package/dist/components/hx-date-picker/hx-date-picker.d.ts.map +1 -0
  158. package/dist/components/hx-date-picker/hx-date-picker.styles.d.ts +2 -0
  159. package/dist/components/hx-date-picker/hx-date-picker.styles.d.ts.map +1 -0
  160. package/dist/components/hx-date-picker/index.d.ts +2 -0
  161. package/dist/components/hx-date-picker/index.d.ts.map +1 -0
  162. package/dist/components/hx-date-picker/index.js +5 -0
  163. package/dist/components/hx-date-picker/index.js.map +1 -0
  164. package/dist/components/hx-dialog/hx-dialog.d.ts +156 -0
  165. package/dist/components/hx-dialog/hx-dialog.d.ts.map +1 -0
  166. package/dist/components/hx-dialog/hx-dialog.styles.d.ts +2 -0
  167. package/dist/components/hx-dialog/hx-dialog.styles.d.ts.map +1 -0
  168. package/dist/components/hx-dialog/index.d.ts +2 -0
  169. package/dist/components/hx-dialog/index.d.ts.map +1 -0
  170. package/dist/components/hx-dialog/index.js +5 -0
  171. package/dist/components/hx-dialog/index.js.map +1 -0
  172. package/dist/components/hx-divider/hx-divider.d.ts +58 -0
  173. package/dist/components/hx-divider/hx-divider.d.ts.map +1 -0
  174. package/dist/components/hx-divider/hx-divider.styles.d.ts +2 -0
  175. package/dist/components/hx-divider/hx-divider.styles.d.ts.map +1 -0
  176. package/dist/components/hx-divider/index.d.ts +3 -0
  177. package/dist/components/hx-divider/index.d.ts.map +1 -0
  178. package/dist/components/hx-divider/index.js +5 -0
  179. package/dist/components/hx-divider/index.js.map +1 -0
  180. package/dist/components/hx-drawer/hx-drawer.d.ts +131 -0
  181. package/dist/components/hx-drawer/hx-drawer.d.ts.map +1 -0
  182. package/dist/components/hx-drawer/hx-drawer.styles.d.ts +2 -0
  183. package/dist/components/hx-drawer/hx-drawer.styles.d.ts.map +1 -0
  184. package/dist/components/hx-drawer/index.d.ts +2 -0
  185. package/dist/components/hx-drawer/index.d.ts.map +1 -0
  186. package/dist/components/hx-drawer/index.js +5 -0
  187. package/dist/components/hx-drawer/index.js.map +1 -0
  188. package/dist/components/hx-dropdown/hx-dropdown.d.ts +89 -0
  189. package/dist/components/hx-dropdown/hx-dropdown.d.ts.map +1 -0
  190. package/dist/components/hx-dropdown/hx-dropdown.styles.d.ts +2 -0
  191. package/dist/components/hx-dropdown/hx-dropdown.styles.d.ts.map +1 -0
  192. package/dist/components/hx-dropdown/index.d.ts +2 -0
  193. package/dist/components/hx-dropdown/index.d.ts.map +1 -0
  194. package/dist/components/hx-dropdown/index.js +5 -0
  195. package/dist/components/hx-dropdown/index.js.map +1 -0
  196. package/dist/components/hx-field/hx-field.d.ts +141 -0
  197. package/dist/components/hx-field/hx-field.d.ts.map +1 -0
  198. package/dist/components/hx-field/hx-field.styles.d.ts +2 -0
  199. package/dist/components/hx-field/hx-field.styles.d.ts.map +1 -0
  200. package/dist/components/hx-field/index.d.ts +2 -0
  201. package/dist/components/hx-field/index.d.ts.map +1 -0
  202. package/dist/components/hx-field/index.js +5 -0
  203. package/dist/components/hx-field/index.js.map +1 -0
  204. package/dist/components/hx-field-label/hx-field-label.d.ts +58 -0
  205. package/dist/components/hx-field-label/hx-field-label.d.ts.map +1 -0
  206. package/dist/components/hx-field-label/hx-field-label.styles.d.ts +2 -0
  207. package/dist/components/hx-field-label/hx-field-label.styles.d.ts.map +1 -0
  208. package/dist/components/hx-field-label/index.d.ts +2 -0
  209. package/dist/components/hx-field-label/index.d.ts.map +1 -0
  210. package/dist/components/hx-field-label/index.js +5 -0
  211. package/dist/components/hx-field-label/index.js.map +1 -0
  212. package/dist/components/hx-file-upload/hx-file-upload.d.ts +138 -0
  213. package/dist/components/hx-file-upload/hx-file-upload.d.ts.map +1 -0
  214. package/dist/components/hx-file-upload/hx-file-upload.styles.d.ts +2 -0
  215. package/dist/components/hx-file-upload/hx-file-upload.styles.d.ts.map +1 -0
  216. package/dist/components/hx-file-upload/index.d.ts +2 -0
  217. package/dist/components/hx-file-upload/index.d.ts.map +1 -0
  218. package/dist/components/hx-file-upload/index.js +5 -0
  219. package/dist/components/hx-file-upload/index.js.map +1 -0
  220. package/dist/components/hx-form/hx-form.d.ts +141 -0
  221. package/dist/components/hx-form/hx-form.d.ts.map +1 -0
  222. package/dist/components/hx-form/hx-form.styles.d.ts +2 -0
  223. package/dist/components/hx-form/hx-form.styles.d.ts.map +1 -0
  224. package/dist/components/hx-form/index.d.ts +2 -0
  225. package/dist/components/hx-form/index.d.ts.map +1 -0
  226. package/dist/components/hx-form/index.js +5 -0
  227. package/dist/components/hx-form/index.js.map +1 -0
  228. package/dist/components/hx-format-date/hx-format-date.d.ts +120 -0
  229. package/dist/components/hx-format-date/hx-format-date.d.ts.map +1 -0
  230. package/dist/components/hx-format-date/hx-format-date.styles.d.ts +2 -0
  231. package/dist/components/hx-format-date/hx-format-date.styles.d.ts.map +1 -0
  232. package/dist/components/hx-format-date/index.d.ts +2 -0
  233. package/dist/components/hx-format-date/index.d.ts.map +1 -0
  234. package/dist/components/hx-format-date/index.js +5 -0
  235. package/dist/components/hx-format-date/index.js.map +1 -0
  236. package/dist/components/hx-grid/hx-grid.d.ts +100 -0
  237. package/dist/components/hx-grid/hx-grid.d.ts.map +1 -0
  238. package/dist/components/hx-grid/hx-grid.styles.d.ts +3 -0
  239. package/dist/components/hx-grid/hx-grid.styles.d.ts.map +1 -0
  240. package/dist/components/hx-grid/index.d.ts +2 -0
  241. package/dist/components/hx-grid/index.d.ts.map +1 -0
  242. package/dist/components/hx-grid/index.js +6 -0
  243. package/dist/components/hx-grid/index.js.map +1 -0
  244. package/dist/components/hx-help-text/hx-help-text.d.ts +44 -0
  245. package/dist/components/hx-help-text/hx-help-text.d.ts.map +1 -0
  246. package/dist/components/hx-help-text/hx-help-text.styles.d.ts +2 -0
  247. package/dist/components/hx-help-text/hx-help-text.styles.d.ts.map +1 -0
  248. package/dist/components/hx-help-text/index.d.ts +2 -0
  249. package/dist/components/hx-help-text/index.d.ts.map +1 -0
  250. package/dist/components/hx-help-text/index.js +5 -0
  251. package/dist/components/hx-help-text/index.js.map +1 -0
  252. package/dist/components/hx-icon/hx-icon.d.ts +115 -0
  253. package/dist/components/hx-icon/hx-icon.d.ts.map +1 -0
  254. package/dist/components/hx-icon/hx-icon.styles.d.ts +2 -0
  255. package/dist/components/hx-icon/hx-icon.styles.d.ts.map +1 -0
  256. package/dist/components/hx-icon/index.d.ts +2 -0
  257. package/dist/components/hx-icon/index.d.ts.map +1 -0
  258. package/dist/components/hx-icon/index.js +5 -0
  259. package/dist/components/hx-icon/index.js.map +1 -0
  260. package/dist/components/hx-image/hx-image.d.ts +120 -0
  261. package/dist/components/hx-image/hx-image.d.ts.map +1 -0
  262. package/dist/components/hx-image/hx-image.styles.d.ts +2 -0
  263. package/dist/components/hx-image/hx-image.styles.d.ts.map +1 -0
  264. package/dist/components/hx-image/index.d.ts +2 -0
  265. package/dist/components/hx-image/index.d.ts.map +1 -0
  266. package/dist/components/hx-image/index.js +5 -0
  267. package/dist/components/hx-image/index.js.map +1 -0
  268. package/dist/components/hx-link/hx-link.d.ts +84 -0
  269. package/dist/components/hx-link/hx-link.d.ts.map +1 -0
  270. package/dist/components/hx-link/hx-link.styles.d.ts +2 -0
  271. package/dist/components/hx-link/hx-link.styles.d.ts.map +1 -0
  272. package/dist/components/hx-link/index.d.ts +3 -0
  273. package/dist/components/hx-link/index.d.ts.map +1 -0
  274. package/dist/components/hx-link/index.js +5 -0
  275. package/dist/components/hx-link/index.js.map +1 -0
  276. package/dist/components/hx-list/hx-list-item.d.ts +79 -0
  277. package/dist/components/hx-list/hx-list-item.d.ts.map +1 -0
  278. package/dist/components/hx-list/hx-list-item.styles.d.ts +2 -0
  279. package/dist/components/hx-list/hx-list-item.styles.d.ts.map +1 -0
  280. package/dist/components/hx-list/hx-list.d.ts +54 -0
  281. package/dist/components/hx-list/hx-list.d.ts.map +1 -0
  282. package/dist/components/hx-list/hx-list.styles.d.ts +2 -0
  283. package/dist/components/hx-list/hx-list.styles.d.ts.map +1 -0
  284. package/dist/components/hx-list/index.d.ts +3 -0
  285. package/dist/components/hx-list/index.d.ts.map +1 -0
  286. package/dist/components/hx-list/index.js +6 -0
  287. package/dist/components/hx-list/index.js.map +1 -0
  288. package/dist/components/hx-menu/hx-menu-divider.d.ts +22 -0
  289. package/dist/components/hx-menu/hx-menu-divider.d.ts.map +1 -0
  290. package/dist/components/hx-menu/hx-menu-item.d.ts +75 -0
  291. package/dist/components/hx-menu/hx-menu-item.d.ts.map +1 -0
  292. package/dist/components/hx-menu/hx-menu-item.styles.d.ts +2 -0
  293. package/dist/components/hx-menu/hx-menu-item.styles.d.ts.map +1 -0
  294. package/dist/components/hx-menu/hx-menu.d.ts +45 -0
  295. package/dist/components/hx-menu/hx-menu.d.ts.map +1 -0
  296. package/dist/components/hx-menu/hx-menu.styles.d.ts +2 -0
  297. package/dist/components/hx-menu/hx-menu.styles.d.ts.map +1 -0
  298. package/dist/components/hx-menu/index.d.ts +4 -0
  299. package/dist/components/hx-menu/index.d.ts.map +1 -0
  300. package/dist/components/hx-menu/index.js +7 -0
  301. package/dist/components/hx-menu/index.js.map +1 -0
  302. package/dist/components/hx-meter/hx-meter.d.ts +83 -0
  303. package/dist/components/hx-meter/hx-meter.d.ts.map +1 -0
  304. package/dist/components/hx-meter/hx-meter.styles.d.ts +2 -0
  305. package/dist/components/hx-meter/hx-meter.styles.d.ts.map +1 -0
  306. package/dist/components/hx-meter/index.d.ts +2 -0
  307. package/dist/components/hx-meter/index.d.ts.map +1 -0
  308. package/dist/components/hx-meter/index.js +5 -0
  309. package/dist/components/hx-meter/index.js.map +1 -0
  310. package/dist/components/hx-nav/hx-nav.d.ts +92 -0
  311. package/dist/components/hx-nav/hx-nav.d.ts.map +1 -0
  312. package/dist/components/hx-nav/hx-nav.styles.d.ts +2 -0
  313. package/dist/components/hx-nav/hx-nav.styles.d.ts.map +1 -0
  314. package/dist/components/hx-nav/index.d.ts +2 -0
  315. package/dist/components/hx-nav/index.d.ts.map +1 -0
  316. package/dist/components/hx-nav/index.js +5 -0
  317. package/dist/components/hx-nav/index.js.map +1 -0
  318. package/dist/components/hx-number-input/hx-number-input.d.ts +171 -0
  319. package/dist/components/hx-number-input/hx-number-input.d.ts.map +1 -0
  320. package/dist/components/hx-number-input/hx-number-input.styles.d.ts +2 -0
  321. package/dist/components/hx-number-input/hx-number-input.styles.d.ts.map +1 -0
  322. package/dist/components/hx-number-input/index.d.ts +2 -0
  323. package/dist/components/hx-number-input/index.d.ts.map +1 -0
  324. package/dist/components/hx-number-input/index.js +5 -0
  325. package/dist/components/hx-number-input/index.js.map +1 -0
  326. package/dist/components/hx-overflow-menu/hx-overflow-menu.d.ts +85 -0
  327. package/dist/components/hx-overflow-menu/hx-overflow-menu.d.ts.map +1 -0
  328. package/dist/components/hx-overflow-menu/hx-overflow-menu.styles.d.ts +2 -0
  329. package/dist/components/hx-overflow-menu/hx-overflow-menu.styles.d.ts.map +1 -0
  330. package/dist/components/hx-overflow-menu/index.d.ts +2 -0
  331. package/dist/components/hx-overflow-menu/index.d.ts.map +1 -0
  332. package/dist/components/hx-overflow-menu/index.js +5 -0
  333. package/dist/components/hx-overflow-menu/index.js.map +1 -0
  334. package/dist/components/hx-pagination/hx-pagination.d.ts +123 -0
  335. package/dist/components/hx-pagination/hx-pagination.d.ts.map +1 -0
  336. package/dist/components/hx-pagination/hx-pagination.styles.d.ts +2 -0
  337. package/dist/components/hx-pagination/hx-pagination.styles.d.ts.map +1 -0
  338. package/dist/components/hx-pagination/index.d.ts +2 -0
  339. package/dist/components/hx-pagination/index.d.ts.map +1 -0
  340. package/dist/components/hx-pagination/index.js +5 -0
  341. package/dist/components/hx-pagination/index.js.map +1 -0
  342. package/dist/components/hx-popover/hx-popover.d.ts +105 -0
  343. package/dist/components/hx-popover/hx-popover.d.ts.map +1 -0
  344. package/dist/components/hx-popover/hx-popover.styles.d.ts +2 -0
  345. package/dist/components/hx-popover/hx-popover.styles.d.ts.map +1 -0
  346. package/dist/components/hx-popover/index.d.ts +2 -0
  347. package/dist/components/hx-popover/index.d.ts.map +1 -0
  348. package/dist/components/hx-popover/index.js +5 -0
  349. package/dist/components/hx-popover/index.js.map +1 -0
  350. package/dist/components/hx-popup/hx-popup.d.ts +218 -0
  351. package/dist/components/hx-popup/hx-popup.d.ts.map +1 -0
  352. package/dist/components/hx-popup/hx-popup.styles.d.ts +2 -0
  353. package/dist/components/hx-popup/hx-popup.styles.d.ts.map +1 -0
  354. package/dist/components/hx-popup/index.d.ts +2 -0
  355. package/dist/components/hx-popup/index.d.ts.map +1 -0
  356. package/dist/components/hx-popup/index.js +5 -0
  357. package/dist/components/hx-popup/index.js.map +1 -0
  358. package/dist/components/hx-progress-bar/hx-progress-bar.d.ts +80 -0
  359. package/dist/components/hx-progress-bar/hx-progress-bar.d.ts.map +1 -0
  360. package/dist/components/hx-progress-bar/hx-progress-bar.styles.d.ts +2 -0
  361. package/dist/components/hx-progress-bar/hx-progress-bar.styles.d.ts.map +1 -0
  362. package/dist/components/hx-progress-bar/index.d.ts +2 -0
  363. package/dist/components/hx-progress-bar/index.d.ts.map +1 -0
  364. package/dist/components/hx-progress-bar/index.js +5 -0
  365. package/dist/components/hx-progress-bar/index.js.map +1 -0
  366. package/dist/components/hx-progress-ring/hx-progress-ring.d.ts +73 -0
  367. package/dist/components/hx-progress-ring/hx-progress-ring.d.ts.map +1 -0
  368. package/dist/components/hx-progress-ring/hx-progress-ring.styles.d.ts +2 -0
  369. package/dist/components/hx-progress-ring/hx-progress-ring.styles.d.ts.map +1 -0
  370. package/dist/components/hx-progress-ring/index.d.ts +2 -0
  371. package/dist/components/hx-progress-ring/index.d.ts.map +1 -0
  372. package/dist/components/hx-progress-ring/index.js +5 -0
  373. package/dist/components/hx-progress-ring/index.js.map +1 -0
  374. package/dist/components/hx-prose/hx-prose.d.ts +49 -0
  375. package/dist/components/hx-prose/hx-prose.d.ts.map +1 -0
  376. package/dist/components/hx-prose/hx-prose.styles.d.ts +2 -0
  377. package/dist/components/hx-prose/hx-prose.styles.d.ts.map +1 -0
  378. package/dist/components/hx-prose/index.d.ts +2 -0
  379. package/dist/components/hx-prose/index.d.ts.map +1 -0
  380. package/dist/components/hx-prose/index.js +5 -0
  381. package/dist/components/hx-prose/index.js.map +1 -0
  382. package/dist/components/hx-radio-group/hx-radio-group.d.ts +112 -0
  383. package/dist/components/hx-radio-group/hx-radio-group.d.ts.map +1 -0
  384. package/dist/components/hx-radio-group/hx-radio-group.styles.d.ts +2 -0
  385. package/dist/components/hx-radio-group/hx-radio-group.styles.d.ts.map +1 -0
  386. package/dist/components/hx-radio-group/hx-radio.d.ts +57 -0
  387. package/dist/components/hx-radio-group/hx-radio.d.ts.map +1 -0
  388. package/dist/components/hx-radio-group/hx-radio.styles.d.ts +2 -0
  389. package/dist/components/hx-radio-group/hx-radio.styles.d.ts.map +1 -0
  390. package/dist/components/hx-radio-group/index.d.ts +3 -0
  391. package/dist/components/hx-radio-group/index.d.ts.map +1 -0
  392. package/dist/components/hx-radio-group/index.js +6 -0
  393. package/dist/components/hx-radio-group/index.js.map +1 -0
  394. package/dist/components/hx-rating/hx-rating.d.ts +112 -0
  395. package/dist/components/hx-rating/hx-rating.d.ts.map +1 -0
  396. package/dist/components/hx-rating/hx-rating.styles.d.ts +2 -0
  397. package/dist/components/hx-rating/hx-rating.styles.d.ts.map +1 -0
  398. package/dist/components/hx-rating/index.d.ts +2 -0
  399. package/dist/components/hx-rating/index.d.ts.map +1 -0
  400. package/dist/components/hx-rating/index.js +5 -0
  401. package/dist/components/hx-rating/index.js.map +1 -0
  402. package/dist/components/hx-select/hx-select.d.ts +173 -0
  403. package/dist/components/hx-select/hx-select.d.ts.map +1 -0
  404. package/dist/components/hx-select/hx-select.styles.d.ts +2 -0
  405. package/dist/components/hx-select/hx-select.styles.d.ts.map +1 -0
  406. package/dist/components/hx-select/index.d.ts +2 -0
  407. package/dist/components/hx-select/index.d.ts.map +1 -0
  408. package/dist/components/hx-select/index.js +5 -0
  409. package/dist/components/hx-select/index.js.map +1 -0
  410. package/dist/components/hx-side-nav/hx-nav-item.d.ts +69 -0
  411. package/dist/components/hx-side-nav/hx-nav-item.d.ts.map +1 -0
  412. package/dist/components/hx-side-nav/hx-nav-item.styles.d.ts +2 -0
  413. package/dist/components/hx-side-nav/hx-nav-item.styles.d.ts.map +1 -0
  414. package/dist/components/hx-side-nav/hx-side-nav.d.ts +73 -0
  415. package/dist/components/hx-side-nav/hx-side-nav.d.ts.map +1 -0
  416. package/dist/components/hx-side-nav/hx-side-nav.styles.d.ts +2 -0
  417. package/dist/components/hx-side-nav/hx-side-nav.styles.d.ts.map +1 -0
  418. package/dist/components/hx-side-nav/index.d.ts +3 -0
  419. package/dist/components/hx-side-nav/index.d.ts.map +1 -0
  420. package/dist/components/hx-side-nav/index.js +6 -0
  421. package/dist/components/hx-side-nav/index.js.map +1 -0
  422. package/dist/components/hx-skeleton/hx-skeleton.d.ts +76 -0
  423. package/dist/components/hx-skeleton/hx-skeleton.d.ts.map +1 -0
  424. package/dist/components/hx-skeleton/hx-skeleton.styles.d.ts +2 -0
  425. package/dist/components/hx-skeleton/hx-skeleton.styles.d.ts.map +1 -0
  426. package/dist/components/hx-skeleton/index.d.ts +2 -0
  427. package/dist/components/hx-skeleton/index.d.ts.map +1 -0
  428. package/dist/components/hx-skeleton/index.js +5 -0
  429. package/dist/components/hx-skeleton/index.js.map +1 -0
  430. package/dist/components/hx-slider/hx-slider.d.ts +166 -0
  431. package/dist/components/hx-slider/hx-slider.d.ts.map +1 -0
  432. package/dist/components/hx-slider/hx-slider.styles.d.ts +2 -0
  433. package/dist/components/hx-slider/hx-slider.styles.d.ts.map +1 -0
  434. package/dist/components/hx-slider/index.d.ts +2 -0
  435. package/dist/components/hx-slider/index.d.ts.map +1 -0
  436. package/dist/components/hx-slider/index.js +5 -0
  437. package/dist/components/hx-slider/index.js.map +1 -0
  438. package/dist/components/hx-spinner/hx-spinner.d.ts +58 -0
  439. package/dist/components/hx-spinner/hx-spinner.d.ts.map +1 -0
  440. package/dist/components/hx-spinner/hx-spinner.styles.d.ts +2 -0
  441. package/dist/components/hx-spinner/hx-spinner.styles.d.ts.map +1 -0
  442. package/dist/components/hx-spinner/index.d.ts +2 -0
  443. package/dist/components/hx-spinner/index.d.ts.map +1 -0
  444. package/dist/components/hx-spinner/index.js +5 -0
  445. package/dist/components/hx-spinner/index.js.map +1 -0
  446. package/dist/components/hx-split-button/hx-split-button.d.ts +101 -0
  447. package/dist/components/hx-split-button/hx-split-button.d.ts.map +1 -0
  448. package/dist/components/hx-split-button/hx-split-button.styles.d.ts +2 -0
  449. package/dist/components/hx-split-button/hx-split-button.styles.d.ts.map +1 -0
  450. package/dist/components/hx-split-button/index.d.ts +2 -0
  451. package/dist/components/hx-split-button/index.d.ts.map +1 -0
  452. package/dist/components/hx-split-button/index.js +5 -0
  453. package/dist/components/hx-split-button/index.js.map +1 -0
  454. package/dist/components/hx-split-panel/hx-split-panel.d.ts +115 -0
  455. package/dist/components/hx-split-panel/hx-split-panel.d.ts.map +1 -0
  456. package/dist/components/hx-split-panel/hx-split-panel.styles.d.ts +2 -0
  457. package/dist/components/hx-split-panel/hx-split-panel.styles.d.ts.map +1 -0
  458. package/dist/components/hx-split-panel/index.d.ts +2 -0
  459. package/dist/components/hx-split-panel/index.d.ts.map +1 -0
  460. package/dist/components/hx-split-panel/index.js +5 -0
  461. package/dist/components/hx-split-panel/index.js.map +1 -0
  462. package/dist/components/hx-stack/hx-stack.d.ts +53 -0
  463. package/dist/components/hx-stack/hx-stack.d.ts.map +1 -0
  464. package/dist/components/hx-stack/hx-stack.styles.d.ts +2 -0
  465. package/dist/components/hx-stack/hx-stack.styles.d.ts.map +1 -0
  466. package/dist/components/hx-stack/index.d.ts +2 -0
  467. package/dist/components/hx-stack/index.d.ts.map +1 -0
  468. package/dist/components/hx-stack/index.js +5 -0
  469. package/dist/components/hx-stack/index.js.map +1 -0
  470. package/dist/components/hx-status-indicator/hx-status-indicator.d.ts +74 -0
  471. package/dist/components/hx-status-indicator/hx-status-indicator.d.ts.map +1 -0
  472. package/dist/components/hx-status-indicator/hx-status-indicator.styles.d.ts +2 -0
  473. package/dist/components/hx-status-indicator/hx-status-indicator.styles.d.ts.map +1 -0
  474. package/dist/components/hx-status-indicator/index.d.ts +3 -0
  475. package/dist/components/hx-status-indicator/index.d.ts.map +1 -0
  476. package/dist/components/hx-status-indicator/index.js +5 -0
  477. package/dist/components/hx-status-indicator/index.js.map +1 -0
  478. package/dist/components/hx-steps/hx-step.d.ts +88 -0
  479. package/dist/components/hx-steps/hx-step.d.ts.map +1 -0
  480. package/dist/components/hx-steps/hx-step.styles.d.ts +2 -0
  481. package/dist/components/hx-steps/hx-step.styles.d.ts.map +1 -0
  482. package/dist/components/hx-steps/hx-steps.d.ts +56 -0
  483. package/dist/components/hx-steps/hx-steps.d.ts.map +1 -0
  484. package/dist/components/hx-steps/hx-steps.styles.d.ts +2 -0
  485. package/dist/components/hx-steps/hx-steps.styles.d.ts.map +1 -0
  486. package/dist/components/hx-steps/index.d.ts +3 -0
  487. package/dist/components/hx-steps/index.d.ts.map +1 -0
  488. package/dist/components/hx-steps/index.js +6 -0
  489. package/dist/components/hx-steps/index.js.map +1 -0
  490. package/dist/components/hx-structured-list/hx-structured-list.d.ts +72 -0
  491. package/dist/components/hx-structured-list/hx-structured-list.d.ts.map +1 -0
  492. package/dist/components/hx-structured-list/hx-structured-list.styles.d.ts +3 -0
  493. package/dist/components/hx-structured-list/hx-structured-list.styles.d.ts.map +1 -0
  494. package/dist/components/hx-structured-list/index.d.ts +2 -0
  495. package/dist/components/hx-structured-list/index.d.ts.map +1 -0
  496. package/dist/components/hx-structured-list/index.js +6 -0
  497. package/dist/components/hx-structured-list/index.js.map +1 -0
  498. package/dist/components/hx-switch/hx-switch.d.ts +143 -0
  499. package/dist/components/hx-switch/hx-switch.d.ts.map +1 -0
  500. package/dist/components/hx-switch/hx-switch.styles.d.ts +2 -0
  501. package/dist/components/hx-switch/hx-switch.styles.d.ts.map +1 -0
  502. package/dist/components/hx-switch/index.d.ts +2 -0
  503. package/dist/components/hx-switch/index.d.ts.map +1 -0
  504. package/dist/components/hx-switch/index.js +5 -0
  505. package/dist/components/hx-switch/index.js.map +1 -0
  506. package/dist/components/hx-tabs/hx-tab-panel.d.ts +32 -0
  507. package/dist/components/hx-tabs/hx-tab-panel.d.ts.map +1 -0
  508. package/dist/components/hx-tabs/hx-tab-panel.styles.d.ts +2 -0
  509. package/dist/components/hx-tabs/hx-tab-panel.styles.d.ts.map +1 -0
  510. package/dist/components/hx-tabs/hx-tab.d.ts +69 -0
  511. package/dist/components/hx-tabs/hx-tab.d.ts.map +1 -0
  512. package/dist/components/hx-tabs/hx-tab.styles.d.ts +2 -0
  513. package/dist/components/hx-tabs/hx-tab.styles.d.ts.map +1 -0
  514. package/dist/components/hx-tabs/hx-tabs.d.ts +97 -0
  515. package/dist/components/hx-tabs/hx-tabs.d.ts.map +1 -0
  516. package/dist/components/hx-tabs/hx-tabs.styles.d.ts +2 -0
  517. package/dist/components/hx-tabs/hx-tabs.styles.d.ts.map +1 -0
  518. package/dist/components/hx-tabs/index.d.ts +4 -0
  519. package/dist/components/hx-tabs/index.d.ts.map +1 -0
  520. package/dist/components/hx-tabs/index.js +7 -0
  521. package/dist/components/hx-tabs/index.js.map +1 -0
  522. package/dist/components/hx-tag/hx-tag.d.ts +97 -0
  523. package/dist/components/hx-tag/hx-tag.d.ts.map +1 -0
  524. package/dist/components/hx-tag/hx-tag.styles.d.ts +2 -0
  525. package/dist/components/hx-tag/hx-tag.styles.d.ts.map +1 -0
  526. package/dist/components/hx-tag/index.d.ts +2 -0
  527. package/dist/components/hx-tag/index.d.ts.map +1 -0
  528. package/dist/components/hx-tag/index.js +5 -0
  529. package/dist/components/hx-tag/index.js.map +1 -0
  530. package/dist/components/hx-text/hx-text.d.ts +90 -0
  531. package/dist/components/hx-text/hx-text.d.ts.map +1 -0
  532. package/dist/components/hx-text/hx-text.styles.d.ts +2 -0
  533. package/dist/components/hx-text/hx-text.styles.d.ts.map +1 -0
  534. package/dist/components/hx-text/index.d.ts +2 -0
  535. package/dist/components/hx-text/index.d.ts.map +1 -0
  536. package/dist/components/hx-text/index.js +5 -0
  537. package/dist/components/hx-text/index.js.map +1 -0
  538. package/dist/components/hx-text-input/hx-text-input.d.ts +188 -0
  539. package/dist/components/hx-text-input/hx-text-input.d.ts.map +1 -0
  540. package/dist/components/hx-text-input/hx-text-input.styles.d.ts +2 -0
  541. package/dist/components/hx-text-input/hx-text-input.styles.d.ts.map +1 -0
  542. package/dist/components/hx-text-input/index.d.ts +2 -0
  543. package/dist/components/hx-text-input/index.d.ts.map +1 -0
  544. package/dist/components/hx-text-input/index.js +5 -0
  545. package/dist/components/hx-text-input/index.js.map +1 -0
  546. package/dist/components/hx-textarea/hx-textarea.d.ts +169 -0
  547. package/dist/components/hx-textarea/hx-textarea.d.ts.map +1 -0
  548. package/dist/components/hx-textarea/hx-textarea.styles.d.ts +2 -0
  549. package/dist/components/hx-textarea/hx-textarea.styles.d.ts.map +1 -0
  550. package/dist/components/hx-textarea/index.d.ts +2 -0
  551. package/dist/components/hx-textarea/index.d.ts.map +1 -0
  552. package/dist/components/hx-textarea/index.js +5 -0
  553. package/dist/components/hx-textarea/index.js.map +1 -0
  554. package/dist/components/hx-theme/hx-theme.d.ts +108 -0
  555. package/dist/components/hx-theme/hx-theme.d.ts.map +1 -0
  556. package/dist/components/hx-theme/hx-theme.styles.d.ts +2 -0
  557. package/dist/components/hx-theme/hx-theme.styles.d.ts.map +1 -0
  558. package/dist/components/hx-theme/index.d.ts +3 -0
  559. package/dist/components/hx-theme/index.d.ts.map +1 -0
  560. package/dist/components/hx-theme/index.js +5 -0
  561. package/dist/components/hx-theme/index.js.map +1 -0
  562. package/dist/components/hx-time-picker/hx-time-picker.d.ts +153 -0
  563. package/dist/components/hx-time-picker/hx-time-picker.d.ts.map +1 -0
  564. package/dist/components/hx-time-picker/hx-time-picker.styles.d.ts +2 -0
  565. package/dist/components/hx-time-picker/hx-time-picker.styles.d.ts.map +1 -0
  566. package/dist/components/hx-time-picker/index.d.ts +2 -0
  567. package/dist/components/hx-time-picker/index.d.ts.map +1 -0
  568. package/dist/components/hx-time-picker/index.js +5 -0
  569. package/dist/components/hx-time-picker/index.js.map +1 -0
  570. package/dist/components/hx-toast/hx-toast.d.ts +156 -0
  571. package/dist/components/hx-toast/hx-toast.d.ts.map +1 -0
  572. package/dist/components/hx-toast/hx-toast.styles.d.ts +3 -0
  573. package/dist/components/hx-toast/hx-toast.styles.d.ts.map +1 -0
  574. package/dist/components/hx-toast/index.d.ts +3 -0
  575. package/dist/components/hx-toast/index.d.ts.map +1 -0
  576. package/dist/components/hx-toast/index.js +7 -0
  577. package/dist/components/hx-toast/index.js.map +1 -0
  578. package/dist/components/hx-toggle-button/hx-toggle-button.d.ts +93 -0
  579. package/dist/components/hx-toggle-button/hx-toggle-button.d.ts.map +1 -0
  580. package/dist/components/hx-toggle-button/hx-toggle-button.styles.d.ts +2 -0
  581. package/dist/components/hx-toggle-button/hx-toggle-button.styles.d.ts.map +1 -0
  582. package/dist/components/hx-toggle-button/index.d.ts +2 -0
  583. package/dist/components/hx-toggle-button/index.d.ts.map +1 -0
  584. package/dist/components/hx-toggle-button/index.js +5 -0
  585. package/dist/components/hx-toggle-button/index.js.map +1 -0
  586. package/dist/components/hx-tooltip/hx-tooltip.d.ts +109 -0
  587. package/dist/components/hx-tooltip/hx-tooltip.d.ts.map +1 -0
  588. package/dist/components/hx-tooltip/hx-tooltip.styles.d.ts +2 -0
  589. package/dist/components/hx-tooltip/hx-tooltip.styles.d.ts.map +1 -0
  590. package/dist/components/hx-tooltip/index.d.ts +2 -0
  591. package/dist/components/hx-tooltip/index.d.ts.map +1 -0
  592. package/dist/components/hx-tooltip/index.js +5 -0
  593. package/dist/components/hx-tooltip/index.js.map +1 -0
  594. package/dist/components/hx-top-nav/hx-top-nav.d.ts +61 -0
  595. package/dist/components/hx-top-nav/hx-top-nav.d.ts.map +1 -0
  596. package/dist/components/hx-top-nav/hx-top-nav.styles.d.ts +2 -0
  597. package/dist/components/hx-top-nav/hx-top-nav.styles.d.ts.map +1 -0
  598. package/dist/components/hx-top-nav/index.d.ts +2 -0
  599. package/dist/components/hx-top-nav/index.d.ts.map +1 -0
  600. package/dist/components/hx-top-nav/index.js +5 -0
  601. package/dist/components/hx-top-nav/index.js.map +1 -0
  602. package/dist/components/hx-tree-view/hx-tree-item.d.ts +71 -0
  603. package/dist/components/hx-tree-view/hx-tree-item.d.ts.map +1 -0
  604. package/dist/components/hx-tree-view/hx-tree-item.styles.d.ts +2 -0
  605. package/dist/components/hx-tree-view/hx-tree-item.styles.d.ts.map +1 -0
  606. package/dist/components/hx-tree-view/hx-tree-view.d.ts +61 -0
  607. package/dist/components/hx-tree-view/hx-tree-view.d.ts.map +1 -0
  608. package/dist/components/hx-tree-view/hx-tree-view.styles.d.ts +2 -0
  609. package/dist/components/hx-tree-view/hx-tree-view.styles.d.ts.map +1 -0
  610. package/dist/components/hx-tree-view/index.d.ts +4 -0
  611. package/dist/components/hx-tree-view/index.d.ts.map +1 -0
  612. package/dist/components/hx-tree-view/index.js +6 -0
  613. package/dist/components/hx-tree-view/index.js.map +1 -0
  614. package/dist/components/hx-visually-hidden/hx-visually-hidden.d.ts +46 -0
  615. package/dist/components/hx-visually-hidden/hx-visually-hidden.d.ts.map +1 -0
  616. package/dist/components/hx-visually-hidden/hx-visually-hidden.styles.d.ts +2 -0
  617. package/dist/components/hx-visually-hidden/hx-visually-hidden.styles.d.ts.map +1 -0
  618. package/dist/components/hx-visually-hidden/index.d.ts +2 -0
  619. package/dist/components/hx-visually-hidden/index.d.ts.map +1 -0
  620. package/dist/components/hx-visually-hidden/index.js +5 -0
  621. package/dist/components/hx-visually-hidden/index.js.map +1 -0
  622. package/dist/controllers/adopted-stylesheets.d.ts +32 -0
  623. package/dist/controllers/adopted-stylesheets.d.ts.map +1 -0
  624. package/dist/index.d.ts +94 -0
  625. package/dist/index.d.ts.map +1 -0
  626. package/dist/index.js +163 -0
  627. package/dist/index.js.map +1 -0
  628. package/dist/shared/adopted-stylesheets-BZZnCSAs.js +35 -0
  629. package/dist/shared/adopted-stylesheets-BZZnCSAs.js.map +1 -0
  630. package/dist/shared/hx-accordion-DUkYS5rZ.js +332 -0
  631. package/dist/shared/hx-accordion-DUkYS5rZ.js.map +1 -0
  632. package/dist/shared/hx-action-bar-CwIRFzBx.js +256 -0
  633. package/dist/shared/hx-action-bar-CwIRFzBx.js.map +1 -0
  634. package/dist/shared/hx-alert-C3Papw22.js +364 -0
  635. package/dist/shared/hx-alert-C3Papw22.js.map +1 -0
  636. package/dist/shared/hx-avatar-DoHGMrj7.js +238 -0
  637. package/dist/shared/hx-avatar-DoHGMrj7.js.map +1 -0
  638. package/dist/shared/hx-badge-BeCmOPr1.js +255 -0
  639. package/dist/shared/hx-badge-BeCmOPr1.js.map +1 -0
  640. package/dist/shared/hx-breadcrumb-item-BSBMWQHz.js +309 -0
  641. package/dist/shared/hx-breadcrumb-item-BSBMWQHz.js.map +1 -0
  642. package/dist/shared/hx-button-group-BbWEDMPb.js +157 -0
  643. package/dist/shared/hx-button-group-BbWEDMPb.js.map +1 -0
  644. package/dist/shared/hx-button-p_YAY9Nv.js +322 -0
  645. package/dist/shared/hx-button-p_YAY9Nv.js.map +1 -0
  646. package/dist/shared/hx-card-DfEGlbZR.js +279 -0
  647. package/dist/shared/hx-card-DfEGlbZR.js.map +1 -0
  648. package/dist/shared/hx-carousel-item-CymJHv1m.js +610 -0
  649. package/dist/shared/hx-carousel-item-CymJHv1m.js.map +1 -0
  650. package/dist/shared/hx-checkbox-CV5c6AE8.js +423 -0
  651. package/dist/shared/hx-checkbox-CV5c6AE8.js.map +1 -0
  652. package/dist/shared/hx-checkbox-group-ClGxYUi0.js +271 -0
  653. package/dist/shared/hx-checkbox-group-ClGxYUi0.js.map +1 -0
  654. package/dist/shared/hx-code-snippet-CoFaSyuB.js +322 -0
  655. package/dist/shared/hx-code-snippet-CoFaSyuB.js.map +1 -0
  656. package/dist/shared/hx-color-picker-BF7PA7zf.js +795 -0
  657. package/dist/shared/hx-color-picker-BF7PA7zf.js.map +1 -0
  658. package/dist/shared/hx-combobox-De4-pDn0.js +871 -0
  659. package/dist/shared/hx-combobox-De4-pDn0.js.map +1 -0
  660. package/dist/shared/hx-container-DWBtruk3.js +121 -0
  661. package/dist/shared/hx-container-DWBtruk3.js.map +1 -0
  662. package/dist/shared/hx-copy-button-BCy6VMwN.js +265 -0
  663. package/dist/shared/hx-copy-button-BCy6VMwN.js.map +1 -0
  664. package/dist/shared/hx-data-table-D5huonFo.js +497 -0
  665. package/dist/shared/hx-data-table-D5huonFo.js.map +1 -0
  666. package/dist/shared/hx-date-picker-Ckvm0yi9.js +969 -0
  667. package/dist/shared/hx-date-picker-Ckvm0yi9.js.map +1 -0
  668. package/dist/shared/hx-dialog-D_NXy5rB.js +439 -0
  669. package/dist/shared/hx-dialog-D_NXy5rB.js.map +1 -0
  670. package/dist/shared/hx-divider-BDMW3H-1.js +157 -0
  671. package/dist/shared/hx-divider-BDMW3H-1.js.map +1 -0
  672. package/dist/shared/hx-drawer-CESgUmre.js +515 -0
  673. package/dist/shared/hx-drawer-CESgUmre.js.map +1 -0
  674. package/dist/shared/hx-dropdown-AZLF-5t6.js +229 -0
  675. package/dist/shared/hx-dropdown-AZLF-5t6.js.map +1 -0
  676. package/dist/shared/hx-field-label-CPBvSn_r.js +79 -0
  677. package/dist/shared/hx-field-label-CPBvSn_r.js.map +1 -0
  678. package/dist/shared/hx-field-vWiKgWIy.js +308 -0
  679. package/dist/shared/hx-field-vWiKgWIy.js.map +1 -0
  680. package/dist/shared/hx-file-upload-Px6kRzAZ.js +614 -0
  681. package/dist/shared/hx-file-upload-Px6kRzAZ.js.map +1 -0
  682. package/dist/shared/hx-form-BJeLK34m.js +1264 -0
  683. package/dist/shared/hx-form-BJeLK34m.js.map +1 -0
  684. package/dist/shared/hx-format-date-BIR66MeC.js +172 -0
  685. package/dist/shared/hx-format-date-BIR66MeC.js.map +1 -0
  686. package/dist/shared/hx-grid-Dgo7fnWu.js +118 -0
  687. package/dist/shared/hx-grid-Dgo7fnWu.js.map +1 -0
  688. package/dist/shared/hx-help-text-C3WCP11-.js +135 -0
  689. package/dist/shared/hx-help-text-C3WCP11-.js.map +1 -0
  690. package/dist/shared/hx-icon-CxOk7jZe.js +235 -0
  691. package/dist/shared/hx-icon-CxOk7jZe.js.map +1 -0
  692. package/dist/shared/hx-image-CZPw1AiF.js +175 -0
  693. package/dist/shared/hx-image-CZPw1AiF.js.map +1 -0
  694. package/dist/shared/hx-link-DObQ7eS4.js +209 -0
  695. package/dist/shared/hx-link-DObQ7eS4.js.map +1 -0
  696. package/dist/shared/hx-list-B6yPCAAW.js +402 -0
  697. package/dist/shared/hx-list-B6yPCAAW.js.map +1 -0
  698. package/dist/shared/hx-menu-divider-BgVoqte4.js +420 -0
  699. package/dist/shared/hx-menu-divider-BgVoqte4.js.map +1 -0
  700. package/dist/shared/hx-meter-B5LOo0zD.js +184 -0
  701. package/dist/shared/hx-meter-B5LOo0zD.js.map +1 -0
  702. package/dist/shared/hx-nav-BhtMZCze.js +537 -0
  703. package/dist/shared/hx-nav-BhtMZCze.js.map +1 -0
  704. package/dist/shared/hx-nav-item-CbNibLuK.js +605 -0
  705. package/dist/shared/hx-nav-item-CbNibLuK.js.map +1 -0
  706. package/dist/shared/hx-number-input-DgHt4ggr.js +642 -0
  707. package/dist/shared/hx-number-input-DgHt4ggr.js.map +1 -0
  708. package/dist/shared/hx-overflow-menu-DkbrRDmB.js +309 -0
  709. package/dist/shared/hx-overflow-menu-DkbrRDmB.js.map +1 -0
  710. package/dist/shared/hx-pagination-VMEpaOXX.js +437 -0
  711. package/dist/shared/hx-pagination-VMEpaOXX.js.map +1 -0
  712. package/dist/shared/hx-popover-DTe00Q46.js +226 -0
  713. package/dist/shared/hx-popover-DTe00Q46.js.map +1 -0
  714. package/dist/shared/hx-popup-5O6q0jf1.js +200 -0
  715. package/dist/shared/hx-popup-5O6q0jf1.js.map +1 -0
  716. package/dist/shared/hx-progress-bar-vQnpJ-9N.js +217 -0
  717. package/dist/shared/hx-progress-bar-vQnpJ-9N.js.map +1 -0
  718. package/dist/shared/hx-progress-ring-DDSW677s.js +252 -0
  719. package/dist/shared/hx-progress-ring-DDSW677s.js.map +1 -0
  720. package/dist/shared/hx-prose-BUkZ8rB3.js +873 -0
  721. package/dist/shared/hx-prose-BUkZ8rB3.js.map +1 -0
  722. package/dist/shared/hx-radio-93uKku6B.js +481 -0
  723. package/dist/shared/hx-radio-93uKku6B.js.map +1 -0
  724. package/dist/shared/hx-rating-t4o150-R.js +358 -0
  725. package/dist/shared/hx-rating-t4o150-R.js.map +1 -0
  726. package/dist/shared/hx-select-DQks1zLJ.js +753 -0
  727. package/dist/shared/hx-select-DQks1zLJ.js.map +1 -0
  728. package/dist/shared/hx-skeleton-DQQ2SYxF.js +154 -0
  729. package/dist/shared/hx-skeleton-DQQ2SYxF.js.map +1 -0
  730. package/dist/shared/hx-slider-BRMWoKZk.js +548 -0
  731. package/dist/shared/hx-slider-BRMWoKZk.js.map +1 -0
  732. package/dist/shared/hx-spinner-CcbmN-u_.js +183 -0
  733. package/dist/shared/hx-spinner-CcbmN-u_.js.map +1 -0
  734. package/dist/shared/hx-split-button-hBPl-zRv.js +542 -0
  735. package/dist/shared/hx-split-button-hBPl-zRv.js.map +1 -0
  736. package/dist/shared/hx-split-panel-C9Sy7XVW.js +351 -0
  737. package/dist/shared/hx-split-panel-C9Sy7XVW.js.map +1 -0
  738. package/dist/shared/hx-stack-B_wODjQX.js +154 -0
  739. package/dist/shared/hx-stack-B_wODjQX.js.map +1 -0
  740. package/dist/shared/hx-status-indicator-CiTQuO5V.js +149 -0
  741. package/dist/shared/hx-status-indicator-CiTQuO5V.js.map +1 -0
  742. package/dist/shared/hx-step-m5RcyZ61.js +496 -0
  743. package/dist/shared/hx-step-m5RcyZ61.js.map +1 -0
  744. package/dist/shared/hx-structured-list-ClvSFleR.js +133 -0
  745. package/dist/shared/hx-structured-list-ClvSFleR.js.map +1 -0
  746. package/dist/shared/hx-switch-BFxgxal8.js +356 -0
  747. package/dist/shared/hx-switch-BFxgxal8.js.map +1 -0
  748. package/dist/shared/hx-tab-panel-8p6KfVzz.js +470 -0
  749. package/dist/shared/hx-tab-panel-8p6KfVzz.js.map +1 -0
  750. package/dist/shared/hx-tag-BP7HJ6_0.js +243 -0
  751. package/dist/shared/hx-tag-BP7HJ6_0.js.map +1 -0
  752. package/dist/shared/hx-text-DDSH1alC.js +218 -0
  753. package/dist/shared/hx-text-DDSH1alC.js.map +1 -0
  754. package/dist/shared/hx-text-input-Dv458950.js +440 -0
  755. package/dist/shared/hx-text-input-Dv458950.js.map +1 -0
  756. package/dist/shared/hx-textarea-BX8nCfDJ.js +398 -0
  757. package/dist/shared/hx-textarea-BX8nCfDJ.js.map +1 -0
  758. package/dist/shared/hx-theme-Dc0nKH7V.js +176 -0
  759. package/dist/shared/hx-theme-Dc0nKH7V.js.map +1 -0
  760. package/dist/shared/hx-time-picker-CA58UCqx.js +651 -0
  761. package/dist/shared/hx-time-picker-CA58UCqx.js.map +1 -0
  762. package/dist/shared/hx-toast-BTqzF2VV.js +423 -0
  763. package/dist/shared/hx-toast-BTqzF2VV.js.map +1 -0
  764. package/dist/shared/hx-toggle-button-BkDaJgRS.js +320 -0
  765. package/dist/shared/hx-toggle-button-BkDaJgRS.js.map +1 -0
  766. package/dist/shared/hx-tooltip-wAQWzjlr.js +190 -0
  767. package/dist/shared/hx-tooltip-wAQWzjlr.js.map +1 -0
  768. package/dist/shared/hx-top-nav-CBxdfPqY.js +322 -0
  769. package/dist/shared/hx-top-nav-CBxdfPqY.js.map +1 -0
  770. package/dist/shared/hx-tree-item-BySNNlrw.js +494 -0
  771. package/dist/shared/hx-tree-item-BySNNlrw.js.map +1 -0
  772. package/dist/shared/hx-visually-hidden-8ycpz6oY.js +54 -0
  773. package/dist/shared/hx-visually-hidden-8ycpz6oY.js.map +1 -0
  774. package/dist/shared/index-nHBAh0Cr.js +74 -0
  775. package/dist/shared/index-nHBAh0Cr.js.map +1 -0
  776. package/dist/shared/lit-Dpo7RLp4.js +24 -0
  777. package/dist/shared/lit-Dpo7RLp4.js.map +1 -0
  778. package/package.json +62 -0
@@ -0,0 +1,497 @@
1
+ import { css as u, LitElement as m, html as i, nothing as p } from "lit";
2
+ import { property as d, state as f, customElement as w } from "lit/decorators.js";
3
+ import { t as y } from "./lit-Dpo7RLp4.js";
4
+ const x = u`
5
+ :host {
6
+ display: block;
7
+ overflow-x: auto;
8
+ font-family: var(--hx-font-family-sans, sans-serif);
9
+ font-size: var(--hx-font-size-sm, 0.875rem);
10
+ }
11
+
12
+ /* ─── Scroll Wrapper ─── */
13
+
14
+ .table-wrapper {
15
+ min-width: 0;
16
+ width: 100%;
17
+ }
18
+
19
+ /* ─── Table ─── */
20
+
21
+ table {
22
+ width: 100%;
23
+ border-collapse: collapse;
24
+ border-spacing: 0;
25
+ min-width: var(--hx-data-table-min-width, 600px);
26
+ }
27
+
28
+ /* ─── Head ─── */
29
+
30
+ thead {
31
+ background-color: var(--hx-data-table-header-bg, var(--hx-color-neutral-50, #f8fafc));
32
+ }
33
+
34
+ :host([sticky-header]) thead th {
35
+ position: sticky;
36
+ top: 0;
37
+ z-index: 1;
38
+ background-color: var(--hx-data-table-header-bg, var(--hx-color-neutral-50, #f8fafc));
39
+ }
40
+
41
+ /* ─── Cells ─── */
42
+
43
+ th,
44
+ td {
45
+ padding: var(--hx-space-3, 0.75rem) var(--hx-space-4, 1rem);
46
+ text-align: left;
47
+ border-bottom: var(--hx-border-width-thin, 1px) solid
48
+ var(--hx-data-table-border-color, var(--hx-color-neutral-200, #e2e8f0));
49
+ vertical-align: middle;
50
+ }
51
+
52
+ th {
53
+ font-weight: var(--hx-font-weight-semibold, 600);
54
+ color: var(--hx-data-table-header-color, var(--hx-color-neutral-700, #334155));
55
+ white-space: nowrap;
56
+ }
57
+
58
+ td {
59
+ color: var(--hx-data-table-cell-color, var(--hx-color-neutral-900, #0f172a));
60
+ }
61
+
62
+ /* ─── Checkbox Column ─── */
63
+
64
+ th.col-checkbox,
65
+ td.col-checkbox {
66
+ width: 40px;
67
+ min-width: 40px;
68
+ padding-right: var(--hx-space-2, 0.5rem);
69
+ }
70
+
71
+ th.col-checkbox {
72
+ text-align: center;
73
+ }
74
+
75
+ td.col-checkbox {
76
+ text-align: center;
77
+ }
78
+
79
+ /* ─── Sort Button ─── */
80
+
81
+ .sort-btn {
82
+ display: inline-flex;
83
+ align-items: center;
84
+ gap: var(--hx-space-1, 0.25rem);
85
+ background: none;
86
+ border: none;
87
+ padding: 0;
88
+ font: inherit;
89
+ font-weight: inherit;
90
+ color: inherit;
91
+ cursor: pointer;
92
+ white-space: nowrap;
93
+ }
94
+
95
+ .sort-btn:focus-visible {
96
+ outline: var(--hx-focus-ring-width, 2px) solid
97
+ var(--hx-focus-ring-color, var(--hx-color-primary-500, #2563eb));
98
+ outline-offset: var(--hx-focus-ring-offset, 2px);
99
+ border-radius: var(--hx-border-radius-sm, 2px);
100
+ }
101
+
102
+ /* ─── Sort Icon ─── */
103
+
104
+ .sort-icon {
105
+ display: inline-flex;
106
+ align-items: center;
107
+ flex-shrink: 0;
108
+ width: 1em;
109
+ height: 1em;
110
+ opacity: 0.4;
111
+ transition:
112
+ opacity var(--hx-transition-fast, 150ms ease),
113
+ transform var(--hx-transition-fast, 150ms ease);
114
+ }
115
+
116
+ .sort-icon--active {
117
+ opacity: 1;
118
+ color: var(--hx-color-primary-500, #2563eb);
119
+ }
120
+
121
+ .sort-icon--desc {
122
+ transform: rotate(180deg);
123
+ }
124
+
125
+ /* ─── Row States ─── */
126
+
127
+ tbody tr {
128
+ transition: background-color var(--hx-transition-fast, 150ms ease);
129
+ }
130
+
131
+ tbody tr:hover {
132
+ background-color: var(--hx-data-table-row-hover-bg, var(--hx-color-neutral-50, #f8fafc));
133
+ }
134
+
135
+ tbody tr[aria-selected='true'] {
136
+ background-color: var(--hx-data-table-row-selected-bg, var(--hx-color-primary-50, #eff6ff));
137
+ }
138
+
139
+ /* ─── Checkbox Input ─── */
140
+
141
+ input[type='checkbox'] {
142
+ width: var(--hx-size-4, 1rem);
143
+ height: var(--hx-size-4, 1rem);
144
+ cursor: pointer;
145
+ accent-color: var(--hx-color-primary-500, #2563eb);
146
+ }
147
+
148
+ /* ─── Loading Skeleton ─── */
149
+
150
+ .skeleton-cell {
151
+ display: block;
152
+ height: 1em;
153
+ border-radius: var(--hx-border-radius-sm, 2px);
154
+ background: linear-gradient(
155
+ 90deg,
156
+ var(--hx-color-neutral-200, #e2e8f0) 25%,
157
+ var(--hx-color-neutral-100, #f1f5f9) 50%,
158
+ var(--hx-color-neutral-200, #e2e8f0) 75%
159
+ );
160
+ background-size: 200% 100%;
161
+ animation: hx-shimmer 1.5s infinite;
162
+ }
163
+
164
+ @keyframes hx-shimmer {
165
+ 0% {
166
+ background-position: 200% 0;
167
+ }
168
+ 100% {
169
+ background-position: -200% 0;
170
+ }
171
+ }
172
+
173
+ @media (prefers-reduced-motion: reduce) {
174
+ .skeleton-cell {
175
+ animation: none;
176
+ opacity: 0.6;
177
+ }
178
+ }
179
+
180
+ /* ─── Cell Focus ─── */
181
+
182
+ td:focus-visible {
183
+ outline: var(--hx-focus-ring-width, 2px) solid
184
+ var(--hx-focus-ring-color, var(--hx-color-primary-500, #2563eb));
185
+ outline-offset: var(--hx-focus-ring-offset, -2px);
186
+ border-radius: var(--hx-border-radius-sm, 2px);
187
+ }
188
+
189
+ /* ─── Empty State ─── */
190
+
191
+ .empty-cell {
192
+ text-align: center;
193
+ color: var(--hx-data-table-empty-color, var(--hx-color-neutral-600, #475569));
194
+ padding: var(--hx-space-8, 2rem) var(--hx-space-4, 1rem);
195
+ }
196
+ `;
197
+ var g = Object.defineProperty, v = Object.getOwnPropertyDescriptor, h = (e, t, r, o) => {
198
+ for (var s = o > 1 ? void 0 : o ? v(t, r) : t, a = e.length - 1, n; a >= 0; a--)
199
+ (n = e[a]) && (s = (o ? n(t, r, s) : n(s)) || s);
200
+ return o && s && g(t, r, s), s;
201
+ };
202
+ let l = class extends m {
203
+ constructor() {
204
+ super(...arguments), this.columns = [], this.rows = [], this.selectable = !1, this.sortKey = "", this.sortDirection = "asc", this.loading = !1, this.emptyLabel = "No data", this.stickyHeader = !1, this.page = 1, this.pageSize = 0, this._selectedRows = /* @__PURE__ */ new Set();
205
+ }
206
+ // ─── Lifecycle ───
207
+ willUpdate(e) {
208
+ if (e.has("columns"))
209
+ if (typeof this.columns == "string")
210
+ try {
211
+ this.columns = JSON.parse(this.columns);
212
+ } catch {
213
+ this.columns = [];
214
+ }
215
+ else Array.isArray(this.columns) || (this.columns = []);
216
+ if (e.has("rows"))
217
+ if (typeof this.rows == "string")
218
+ try {
219
+ this.rows = JSON.parse(this.rows);
220
+ } catch {
221
+ this.rows = [];
222
+ }
223
+ else Array.isArray(this.rows) || (this.rows = []);
224
+ e.has("rows") && this.rows.length > 500 && console.warn(
225
+ "[hx-data-table] Rendering more than 500 rows may impact performance. Consider server-side pagination."
226
+ );
227
+ }
228
+ // ─── Event Handlers ───
229
+ _handleSort(e) {
230
+ const t = this.sortKey === e && this.sortDirection === "asc" ? "desc" : "asc";
231
+ this.sortKey = e, this.sortDirection = t, this.dispatchEvent(
232
+ new CustomEvent("hx-sort", {
233
+ bubbles: !0,
234
+ composed: !0,
235
+ detail: { key: e, direction: t }
236
+ })
237
+ );
238
+ }
239
+ _handleRowClick(e, t) {
240
+ this.dispatchEvent(
241
+ new CustomEvent("hx-row-click", {
242
+ bubbles: !0,
243
+ composed: !0,
244
+ detail: { row: e, index: t }
245
+ })
246
+ );
247
+ }
248
+ _handleSelect(e, t) {
249
+ const r = new Set(this._selectedRows);
250
+ t ? r.add(e) : r.delete(e), this._selectedRows = r, this._dispatchSelect();
251
+ }
252
+ _handleSelectAll(e) {
253
+ this._selectedRows = e ? new Set(this.rows.map((t, r) => r)) : /* @__PURE__ */ new Set(), this._dispatchSelect();
254
+ }
255
+ _dispatchSelect() {
256
+ this.dispatchEvent(
257
+ new CustomEvent("hx-select", {
258
+ bubbles: !0,
259
+ composed: !0,
260
+ detail: {
261
+ selectedRows: [...this._selectedRows].map((e) => this.rows[e])
262
+ }
263
+ })
264
+ );
265
+ }
266
+ // ─── Keyboard Navigation ───
267
+ _handleKeydown(e) {
268
+ var b;
269
+ if (!["ArrowUp", "ArrowDown", "ArrowLeft", "ArrowRight", "Home", "End", " "].includes(e.key))
270
+ return;
271
+ const t = this.shadowRoot;
272
+ if (!t) return;
273
+ const r = Array.from(t.querySelectorAll('[part~="td"],[part~="th"]'));
274
+ let o = t.activeElement;
275
+ if (!o) return;
276
+ if (r.indexOf(o) === -1) {
277
+ let c = o.parentElement;
278
+ for (; c; ) {
279
+ if (r.includes(c)) {
280
+ o = c;
281
+ break;
282
+ }
283
+ c = c.parentElement;
284
+ }
285
+ }
286
+ const s = this.columns.length + (this.selectable ? 1 : 0), a = r.indexOf(o);
287
+ if (a === -1) return;
288
+ let n = null;
289
+ if (e.key === "ArrowRight" && a + 1 < r.length)
290
+ n = r[a + 1] ?? null;
291
+ else if (e.key === "ArrowLeft" && a - 1 >= 0)
292
+ n = r[a - 1] ?? null;
293
+ else if (e.key === "ArrowDown" && a + s < r.length)
294
+ n = r[a + s] ?? null;
295
+ else if (e.key === "ArrowUp" && a - s >= 0)
296
+ n = r[a - s] ?? null;
297
+ else if (e.key === "Home") {
298
+ const c = a - a % s;
299
+ n = r[c] ?? null;
300
+ } else if (e.key === "End") {
301
+ const c = Math.min(a - a % s + s - 1, r.length - 1);
302
+ n = r[c] ?? null;
303
+ } else if (e.key === " " && ((b = o.getAttribute("part")) != null && b.includes("td"))) {
304
+ const c = Number(o.dataset.rowIndex);
305
+ this.selectable && !isNaN(c) && (e.preventDefault(), this._handleSelect(c, !this._selectedRows.has(c)));
306
+ return;
307
+ }
308
+ n && (e.preventDefault(), n.setAttribute("tabindex", "0"), n.focus(), o.setAttribute("tabindex", "-1"));
309
+ }
310
+ // ─── Render Helpers ───
311
+ _renderSortIcon(e) {
312
+ const t = this.sortKey === e, r = [
313
+ "sort-icon",
314
+ t ? "sort-icon--active" : "",
315
+ t && this.sortDirection === "desc" ? "sort-icon--desc" : ""
316
+ ].filter(Boolean).join(" ");
317
+ return i`
318
+ <span part="sort-icon" class=${r} aria-hidden="true">
319
+ <svg
320
+ xmlns="http://www.w3.org/2000/svg"
321
+ viewBox="0 0 16 16"
322
+ fill="currentColor"
323
+ width="16"
324
+ height="16"
325
+ >
326
+ <path d="M8 3L5 7h6L8 3zM8 13l3-4H5l3 4z" fill-rule="evenodd" />
327
+ </svg>
328
+ </span>
329
+ `;
330
+ }
331
+ _renderHeaderRow() {
332
+ return i`
333
+ <tr part="tr">
334
+ ${this.selectable ? i`
335
+ <th part="th" class="col-checkbox" tabindex="0">
336
+ <input
337
+ type="checkbox"
338
+ part="checkbox"
339
+ aria-label="Select all rows"
340
+ .indeterminate=${this._selectedRows.size > 0 && this._selectedRows.size < this.rows.length}
341
+ .checked=${this._selectedRows.size === this.rows.length && this.rows.length > 0}
342
+ @change=${(e) => this._handleSelectAll(e.target.checked)}
343
+ />
344
+ </th>
345
+ ` : p}
346
+ ${this.columns.map(
347
+ (e) => i`
348
+ <th
349
+ part="th"
350
+ tabindex="0"
351
+ style=${e.width ? `width: ${e.width}` : ""}
352
+ aria-sort=${e.sortable ? this.sortKey === e.key ? this.sortDirection === "asc" ? "ascending" : "descending" : "none" : p}
353
+ >
354
+ ${e.sortable ? i`
355
+ <button
356
+ class="sort-btn"
357
+ @click=${() => this._handleSort(e.key)}
358
+ aria-label=${this.sortKey === e.key ? `Sort by ${e.label}, currently sorted ${this.sortDirection === "asc" ? "ascending" : "descending"}` : `Sort by ${e.label}`}
359
+ >
360
+ ${e.label} ${this._renderSortIcon(e.key)}
361
+ </button>
362
+ ` : e.label}
363
+ </th>
364
+ `
365
+ )}
366
+ </tr>
367
+ `;
368
+ }
369
+ _renderSkeletonRows() {
370
+ return Array.from(
371
+ { length: 3 },
372
+ (e, t) => i`
373
+ <tr part="tr" aria-hidden="true" key=${t}>
374
+ ${this.selectable ? i`<td part="td" class="col-checkbox">
375
+ <span class="skeleton-cell" style="width:1rem;margin:auto"></span>
376
+ </td>` : p}
377
+ ${this.columns.map(
378
+ () => i`
379
+ <td part="td">
380
+ <span class="skeleton-cell"></span>
381
+ </td>
382
+ `
383
+ )}
384
+ </tr>
385
+ `
386
+ );
387
+ }
388
+ _renderEmptyRow() {
389
+ const e = this.columns.length + (this.selectable ? 1 : 0);
390
+ return i`
391
+ <tr part="tr">
392
+ <td part="td" colspan=${e} class="empty-cell">
393
+ <slot name="empty">${this.emptyLabel}</slot>
394
+ </td>
395
+ </tr>
396
+ `;
397
+ }
398
+ _renderDataRows() {
399
+ let e = this.rows;
400
+ if (this.pageSize > 0) {
401
+ const t = (this.page - 1) * this.pageSize;
402
+ e = this.rows.slice(t, t + this.pageSize);
403
+ }
404
+ return e.map((t, r) => {
405
+ const o = this.pageSize > 0 ? (this.page - 1) * this.pageSize + r : r;
406
+ return i`
407
+ <tr
408
+ part="tr"
409
+ aria-selected=${this.selectable ? String(this._selectedRows.has(o)) : p}
410
+ @click=${() => this._handleRowClick(t, o)}
411
+ >
412
+ ${this.selectable ? i`
413
+ <td part="td" class="col-checkbox">
414
+ <input
415
+ type="checkbox"
416
+ part="checkbox"
417
+ aria-label=${`Select row ${o + 1}`}
418
+ .checked=${this._selectedRows.has(o)}
419
+ @click=${(s) => s.stopPropagation()}
420
+ @change=${(s) => this._handleSelect(o, s.target.checked)}
421
+ />
422
+ </td>
423
+ ` : p}
424
+ ${this.columns.map(
425
+ (s) => i`
426
+ <td part="td" tabindex="-1" data-row-index=${o}>
427
+ ${t[s.key] != null ? String(t[s.key]) : ""}
428
+ </td>
429
+ `
430
+ )}
431
+ </tr>
432
+ `;
433
+ });
434
+ }
435
+ // ─── Render ───
436
+ render() {
437
+ return i`
438
+ <slot name="toolbar"></slot>
439
+ <div class="table-wrapper">
440
+ <table
441
+ part="table"
442
+ role="grid"
443
+ aria-busy=${this.loading ? "true" : p}
444
+ @keydown=${this._handleKeydown}
445
+ >
446
+ <thead part="thead">
447
+ ${this._renderHeaderRow()}
448
+ </thead>
449
+ <tbody part="tbody">
450
+ ${this.loading ? i`<slot name="loading">${this._renderSkeletonRows()}</slot>` : this.rows.length === 0 ? this._renderEmptyRow() : this._renderDataRows()}
451
+ </tbody>
452
+ </table>
453
+ </div>
454
+ `;
455
+ }
456
+ };
457
+ l.styles = [y, x];
458
+ h([
459
+ d({ type: Array })
460
+ ], l.prototype, "columns", 2);
461
+ h([
462
+ d({ type: Array })
463
+ ], l.prototype, "rows", 2);
464
+ h([
465
+ d({ type: Boolean, reflect: !0 })
466
+ ], l.prototype, "selectable", 2);
467
+ h([
468
+ d({ type: String, attribute: "sort-key" })
469
+ ], l.prototype, "sortKey", 2);
470
+ h([
471
+ d({ type: String, attribute: "sort-direction" })
472
+ ], l.prototype, "sortDirection", 2);
473
+ h([
474
+ d({ type: Boolean, reflect: !0 })
475
+ ], l.prototype, "loading", 2);
476
+ h([
477
+ d({ type: String, attribute: "empty-label" })
478
+ ], l.prototype, "emptyLabel", 2);
479
+ h([
480
+ d({ type: Boolean, reflect: !0, attribute: "sticky-header" })
481
+ ], l.prototype, "stickyHeader", 2);
482
+ h([
483
+ d({ type: Number })
484
+ ], l.prototype, "page", 2);
485
+ h([
486
+ d({ type: Number, attribute: "page-size" })
487
+ ], l.prototype, "pageSize", 2);
488
+ h([
489
+ f()
490
+ ], l.prototype, "_selectedRows", 2);
491
+ l = h([
492
+ w("hx-data-table")
493
+ ], l);
494
+ export {
495
+ l as H
496
+ };
497
+ //# sourceMappingURL=hx-data-table-D5huonFo.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hx-data-table-D5huonFo.js","sources":["../../src/components/hx-data-table/hx-data-table.styles.ts","../../src/components/hx-data-table/hx-data-table.ts"],"sourcesContent":["import { css } from 'lit';\n\nexport const helixDataTableStyles = css`\n :host {\n display: block;\n overflow-x: auto;\n font-family: var(--hx-font-family-sans, sans-serif);\n font-size: var(--hx-font-size-sm, 0.875rem);\n }\n\n /* ─── Scroll Wrapper ─── */\n\n .table-wrapper {\n min-width: 0;\n width: 100%;\n }\n\n /* ─── Table ─── */\n\n table {\n width: 100%;\n border-collapse: collapse;\n border-spacing: 0;\n min-width: var(--hx-data-table-min-width, 600px);\n }\n\n /* ─── Head ─── */\n\n thead {\n background-color: var(--hx-data-table-header-bg, var(--hx-color-neutral-50, #f8fafc));\n }\n\n :host([sticky-header]) thead th {\n position: sticky;\n top: 0;\n z-index: 1;\n background-color: var(--hx-data-table-header-bg, var(--hx-color-neutral-50, #f8fafc));\n }\n\n /* ─── Cells ─── */\n\n th,\n td {\n padding: var(--hx-space-3, 0.75rem) var(--hx-space-4, 1rem);\n text-align: left;\n border-bottom: var(--hx-border-width-thin, 1px) solid\n var(--hx-data-table-border-color, var(--hx-color-neutral-200, #e2e8f0));\n vertical-align: middle;\n }\n\n th {\n font-weight: var(--hx-font-weight-semibold, 600);\n color: var(--hx-data-table-header-color, var(--hx-color-neutral-700, #334155));\n white-space: nowrap;\n }\n\n td {\n color: var(--hx-data-table-cell-color, var(--hx-color-neutral-900, #0f172a));\n }\n\n /* ─── Checkbox Column ─── */\n\n th.col-checkbox,\n td.col-checkbox {\n width: 40px;\n min-width: 40px;\n padding-right: var(--hx-space-2, 0.5rem);\n }\n\n th.col-checkbox {\n text-align: center;\n }\n\n td.col-checkbox {\n text-align: center;\n }\n\n /* ─── Sort Button ─── */\n\n .sort-btn {\n display: inline-flex;\n align-items: center;\n gap: var(--hx-space-1, 0.25rem);\n background: none;\n border: none;\n padding: 0;\n font: inherit;\n font-weight: inherit;\n color: inherit;\n cursor: pointer;\n white-space: nowrap;\n }\n\n .sort-btn:focus-visible {\n outline: var(--hx-focus-ring-width, 2px) solid\n var(--hx-focus-ring-color, var(--hx-color-primary-500, #2563eb));\n outline-offset: var(--hx-focus-ring-offset, 2px);\n border-radius: var(--hx-border-radius-sm, 2px);\n }\n\n /* ─── Sort Icon ─── */\n\n .sort-icon {\n display: inline-flex;\n align-items: center;\n flex-shrink: 0;\n width: 1em;\n height: 1em;\n opacity: 0.4;\n transition:\n opacity var(--hx-transition-fast, 150ms ease),\n transform var(--hx-transition-fast, 150ms ease);\n }\n\n .sort-icon--active {\n opacity: 1;\n color: var(--hx-color-primary-500, #2563eb);\n }\n\n .sort-icon--desc {\n transform: rotate(180deg);\n }\n\n /* ─── Row States ─── */\n\n tbody tr {\n transition: background-color var(--hx-transition-fast, 150ms ease);\n }\n\n tbody tr:hover {\n background-color: var(--hx-data-table-row-hover-bg, var(--hx-color-neutral-50, #f8fafc));\n }\n\n tbody tr[aria-selected='true'] {\n background-color: var(--hx-data-table-row-selected-bg, var(--hx-color-primary-50, #eff6ff));\n }\n\n /* ─── Checkbox Input ─── */\n\n input[type='checkbox'] {\n width: var(--hx-size-4, 1rem);\n height: var(--hx-size-4, 1rem);\n cursor: pointer;\n accent-color: var(--hx-color-primary-500, #2563eb);\n }\n\n /* ─── Loading Skeleton ─── */\n\n .skeleton-cell {\n display: block;\n height: 1em;\n border-radius: var(--hx-border-radius-sm, 2px);\n background: linear-gradient(\n 90deg,\n var(--hx-color-neutral-200, #e2e8f0) 25%,\n var(--hx-color-neutral-100, #f1f5f9) 50%,\n var(--hx-color-neutral-200, #e2e8f0) 75%\n );\n background-size: 200% 100%;\n animation: hx-shimmer 1.5s infinite;\n }\n\n @keyframes hx-shimmer {\n 0% {\n background-position: 200% 0;\n }\n 100% {\n background-position: -200% 0;\n }\n }\n\n @media (prefers-reduced-motion: reduce) {\n .skeleton-cell {\n animation: none;\n opacity: 0.6;\n }\n }\n\n /* ─── Cell Focus ─── */\n\n td:focus-visible {\n outline: var(--hx-focus-ring-width, 2px) solid\n var(--hx-focus-ring-color, var(--hx-color-primary-500, #2563eb));\n outline-offset: var(--hx-focus-ring-offset, -2px);\n border-radius: var(--hx-border-radius-sm, 2px);\n }\n\n /* ─── Empty State ─── */\n\n .empty-cell {\n text-align: center;\n color: var(--hx-data-table-empty-color, var(--hx-color-neutral-600, #475569));\n padding: var(--hx-space-8, 2rem) var(--hx-space-4, 1rem);\n }\n`;\n","import { LitElement, html, nothing } from 'lit';\nimport { customElement, property, state } from 'lit/decorators.js';\nimport { tokenStyles } from '@helixui/tokens/lit';\nimport { helixDataTableStyles } from './hx-data-table.styles.js';\n\n/**\n * Column definition for `hx-data-table`.\n */\nexport interface HxDataTableColumn {\n key: string;\n label: string;\n sortable?: boolean;\n width?: string;\n}\n\n/**\n * Sort state exported for TypeScript consumers and CEM event types.\n */\nexport interface HxDataTableSortState {\n key: string;\n direction: 'asc' | 'desc';\n}\n\n/**\n * An enterprise data table with sorting, row selection, and keyboard navigation.\n *\n * @summary Enterprise data table with sorting, selection, and responsive scroll.\n *\n * @tag hx-data-table\n *\n * @slot toolbar - Content rendered above the table (e.g., search, actions).\n * @slot empty - Custom empty-state content rendered when `rows` is empty and not loading.\n * @slot loading - Custom loading content rendered when `loading` is true.\n *\n * @fires {CustomEvent<HxDataTableSortState>} hx-sort - Dispatched when a sortable column header is clicked.\n * @fires {CustomEvent<{selectedRows: Record<string, unknown>[]}>} hx-select - Dispatched when row selection changes.\n * @fires {CustomEvent<{row: Record<string, unknown>, index: number}>} hx-row-click - Dispatched when a data row is clicked.\n *\n * @csspart table - The `<table>` element.\n * @csspart thead - The `<thead>` element.\n * @csspart tbody - The `<tbody>` element.\n * @csspart tr - Each `<tr>` element.\n * @csspart th - Each `<th>` element.\n * @csspart td - Each `<td>` element.\n * @csspart sort-icon - The sort indicator icon `<span>` inside sortable headers.\n * @csspart checkbox - Each `<input type=\"checkbox\">` element.\n *\n * @cssprop [--hx-data-table-header-bg=var(--hx-color-neutral-50)] - Header background color.\n * @cssprop [--hx-data-table-header-color=var(--hx-color-neutral-700)] - Header text color.\n * @cssprop [--hx-data-table-cell-color=var(--hx-color-neutral-900)] - Cell text color.\n * @cssprop [--hx-data-table-border-color=var(--hx-color-neutral-200)] - Row border color.\n * @cssprop [--hx-data-table-row-hover-bg=var(--hx-color-neutral-50)] - Row hover background.\n * @cssprop [--hx-data-table-row-selected-bg=var(--hx-color-primary-50)] - Selected row background.\n * @cssprop [--hx-data-table-empty-color=var(--hx-color-neutral-600)] - Empty state text color.\n * @cssprop [--hx-data-table-min-width=600px] - Minimum table width before horizontal scrolling.\n */\n@customElement('hx-data-table')\nexport class HelixDataTable extends LitElement {\n static override styles = [tokenStyles, helixDataTableStyles];\n\n // ─── Public Properties ───\n\n /**\n * Column definitions. Each item: `{ key, label, sortable?, width? }`.\n * Can be set as a JS array or a JSON string (e.g., from a Drupal Twig attribute).\n * @attr columns\n */\n @property({ type: Array })\n columns: HxDataTableColumn[] = [];\n\n /**\n * Row data. Each item is a plain object keyed by column `key` values.\n * Can be set as a JS array or a JSON string (e.g., from a Drupal Twig attribute).\n * @attr rows\n */\n @property({ type: Array })\n rows: Record<string, unknown>[] = [];\n\n /**\n * When true, renders a checkbox column for row selection.\n * @attr selectable\n */\n @property({ type: Boolean, reflect: true })\n selectable = false;\n\n /**\n * The column key currently used for sorting.\n * @attr sort-key\n */\n @property({ type: String, attribute: 'sort-key' })\n sortKey = '';\n\n /**\n * Current sort direction.\n * @attr sort-direction\n */\n @property({ type: String, attribute: 'sort-direction' })\n sortDirection: 'asc' | 'desc' = 'asc';\n\n /**\n * When true, renders a loading skeleton and sets `aria-busy=\"true\"` on the host.\n * @attr loading\n */\n @property({ type: Boolean, reflect: true })\n loading = false;\n\n /**\n * Text displayed in the default empty state when `rows` is empty and not loading.\n * @attr empty-label\n */\n @property({ type: String, attribute: 'empty-label' })\n emptyLabel = 'No data';\n\n /**\n * When true, the header row is sticky (position: sticky; top: 0).\n * @attr sticky-header\n */\n @property({ type: Boolean, reflect: true, attribute: 'sticky-header' })\n stickyHeader = false;\n\n /**\n * Current page (1-based). Set to 0 or leave at default (0) to disable pagination.\n * @attr page\n */\n @property({ type: Number })\n page = 1;\n\n /**\n * Number of rows per page. Set to 0 to disable pagination (show all rows).\n * @attr page-size\n */\n @property({ type: Number, attribute: 'page-size' })\n pageSize = 0;\n\n // ─── Internal State ───\n\n @state()\n private _selectedRows: Set<number> = new Set();\n\n // ─── Lifecycle ───\n\n override willUpdate(changed: Map<string, unknown>): void {\n // Coerce JSON strings to arrays — this is the Drupal/Twig integration path.\n // Lit does not JSON-parse array attributes automatically, so we do it here.\n // Note: Lit's defaultConverter returns null (not a string) when JSON.parse fails for\n // type: Array — so we guard against both string and any non-array value.\n if (changed.has('columns')) {\n if (typeof (this.columns as unknown) === 'string') {\n try {\n this.columns = JSON.parse(this.columns as unknown as string) as HxDataTableColumn[];\n } catch {\n this.columns = [];\n }\n } else if (!Array.isArray(this.columns)) {\n this.columns = [];\n }\n }\n if (changed.has('rows')) {\n if (typeof (this.rows as unknown) === 'string') {\n try {\n this.rows = JSON.parse(this.rows as unknown as string) as Record<string, unknown>[];\n } catch {\n this.rows = [];\n }\n } else if (!Array.isArray(this.rows)) {\n this.rows = [];\n }\n }\n // Only warn when rows actually changes to avoid noise on every property update.\n if (changed.has('rows') && this.rows.length > 500) {\n console.warn(\n '[hx-data-table] Rendering more than 500 rows may impact performance. Consider server-side pagination.',\n );\n }\n }\n\n // ─── Event Handlers ───\n\n private _handleSort(key: string): void {\n const direction =\n this.sortKey === key ? (this.sortDirection === 'asc' ? 'desc' : 'asc') : 'asc';\n this.sortKey = key;\n this.sortDirection = direction;\n this.dispatchEvent(\n new CustomEvent<HxDataTableSortState>('hx-sort', {\n bubbles: true,\n composed: true,\n detail: { key, direction },\n }),\n );\n }\n\n private _handleRowClick(row: Record<string, unknown>, index: number): void {\n this.dispatchEvent(\n new CustomEvent('hx-row-click', {\n bubbles: true,\n composed: true,\n detail: { row, index },\n }),\n );\n }\n\n private _handleSelect(index: number, checked: boolean): void {\n const next = new Set(this._selectedRows);\n if (checked) {\n next.add(index);\n } else {\n next.delete(index);\n }\n this._selectedRows = next;\n this._dispatchSelect();\n }\n\n private _handleSelectAll(checked: boolean): void {\n this._selectedRows = checked ? new Set(this.rows.map((_, i) => i)) : new Set<number>();\n this._dispatchSelect();\n }\n\n private _dispatchSelect(): void {\n this.dispatchEvent(\n new CustomEvent('hx-select', {\n bubbles: true,\n composed: true,\n detail: {\n selectedRows: [...this._selectedRows].map((i) => this.rows[i]),\n },\n }),\n );\n }\n\n // ─── Keyboard Navigation ───\n\n private _handleKeydown(e: KeyboardEvent): void {\n if (!['ArrowUp', 'ArrowDown', 'ArrowLeft', 'ArrowRight', 'Home', 'End', ' '].includes(e.key))\n return;\n\n const root = this.shadowRoot;\n if (!root) return;\n\n const cells = Array.from(root.querySelectorAll<HTMLElement>('[part~=\"td\"],[part~=\"th\"]'));\n\n // When focus is inside a child element (e.g., the sort <button> inside a <th>),\n // shadowRoot.activeElement returns the child, not the cell. Walk up to find the cell.\n let focused = root.activeElement as HTMLElement | null;\n if (!focused) return;\n\n if (cells.indexOf(focused) === -1) {\n let ancestor = focused.parentElement;\n while (ancestor) {\n if (cells.includes(ancestor as HTMLElement)) {\n focused = ancestor as HTMLElement;\n break;\n }\n ancestor = ancestor.parentElement;\n }\n }\n\n const colCount = this.columns.length + (this.selectable ? 1 : 0);\n const idx = cells.indexOf(focused);\n if (idx === -1) return;\n\n let target: HTMLElement | null = null;\n\n if (e.key === 'ArrowRight' && idx + 1 < cells.length) {\n target = cells[idx + 1] ?? null;\n } else if (e.key === 'ArrowLeft' && idx - 1 >= 0) {\n target = cells[idx - 1] ?? null;\n } else if (e.key === 'ArrowDown' && idx + colCount < cells.length) {\n target = cells[idx + colCount] ?? null;\n } else if (e.key === 'ArrowUp' && idx - colCount >= 0) {\n target = cells[idx - colCount] ?? null;\n } else if (e.key === 'Home') {\n // First cell of the current row\n const rowStart = idx - (idx % colCount);\n target = cells[rowStart] ?? null;\n } else if (e.key === 'End') {\n // Last cell of the current row\n const rowEnd = Math.min(idx - (idx % colCount) + colCount - 1, cells.length - 1);\n target = cells[rowEnd] ?? null;\n } else if (e.key === ' ' && focused.getAttribute('part')?.includes('td')) {\n // Toggle selection on Space in a data row\n const rowIdx = Number(focused.dataset['rowIndex']);\n if (this.selectable && !isNaN(rowIdx)) {\n e.preventDefault();\n this._handleSelect(rowIdx, !this._selectedRows.has(rowIdx));\n }\n return;\n }\n\n if (target) {\n e.preventDefault();\n target.setAttribute('tabindex', '0');\n target.focus();\n focused.setAttribute('tabindex', '-1');\n }\n }\n\n // ─── Render Helpers ───\n\n private _renderSortIcon(key: string) {\n const isActive = this.sortKey === key;\n const iconClass = [\n 'sort-icon',\n isActive ? 'sort-icon--active' : '',\n isActive && this.sortDirection === 'desc' ? 'sort-icon--desc' : '',\n ]\n .filter(Boolean)\n .join(' ');\n\n return html`\n <span part=\"sort-icon\" class=${iconClass} aria-hidden=\"true\">\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 16 16\"\n fill=\"currentColor\"\n width=\"16\"\n height=\"16\"\n >\n <path d=\"M8 3L5 7h6L8 3zM8 13l3-4H5l3 4z\" fill-rule=\"evenodd\" />\n </svg>\n </span>\n `;\n }\n\n private _renderHeaderRow() {\n return html`\n <tr part=\"tr\">\n ${this.selectable\n ? html`\n <th part=\"th\" class=\"col-checkbox\" tabindex=\"0\">\n <input\n type=\"checkbox\"\n part=\"checkbox\"\n aria-label=\"Select all rows\"\n .indeterminate=${this._selectedRows.size > 0 &&\n this._selectedRows.size < this.rows.length}\n .checked=${this._selectedRows.size === this.rows.length && this.rows.length > 0}\n @change=${(e: Event) =>\n this._handleSelectAll((e.target as HTMLInputElement).checked)}\n />\n </th>\n `\n : nothing}\n ${this.columns.map(\n (col) => html`\n <th\n part=\"th\"\n tabindex=\"0\"\n style=${col.width ? `width: ${col.width}` : ''}\n aria-sort=${col.sortable\n ? this.sortKey === col.key\n ? this.sortDirection === 'asc'\n ? 'ascending'\n : 'descending'\n : 'none'\n : nothing}\n >\n ${col.sortable\n ? html`\n <button\n class=\"sort-btn\"\n @click=${() => this._handleSort(col.key)}\n aria-label=${this.sortKey === col.key\n ? `Sort by ${col.label}, currently sorted ${this.sortDirection === 'asc' ? 'ascending' : 'descending'}`\n : `Sort by ${col.label}`}\n >\n ${col.label} ${this._renderSortIcon(col.key)}\n </button>\n `\n : col.label}\n </th>\n `,\n )}\n </tr>\n `;\n }\n\n private _renderSkeletonRows() {\n return Array.from(\n { length: 3 },\n (_, i) => html`\n <tr part=\"tr\" aria-hidden=\"true\" key=${i}>\n ${this.selectable\n ? html`<td part=\"td\" class=\"col-checkbox\">\n <span class=\"skeleton-cell\" style=\"width:1rem;margin:auto\"></span>\n </td>`\n : nothing}\n ${this.columns.map(\n () => html`\n <td part=\"td\">\n <span class=\"skeleton-cell\"></span>\n </td>\n `,\n )}\n </tr>\n `,\n );\n }\n\n private _renderEmptyRow() {\n const colSpan = this.columns.length + (this.selectable ? 1 : 0);\n return html`\n <tr part=\"tr\">\n <td part=\"td\" colspan=${colSpan} class=\"empty-cell\">\n <slot name=\"empty\">${this.emptyLabel}</slot>\n </td>\n </tr>\n `;\n }\n\n private _renderDataRows() {\n let displayRows = this.rows;\n\n // Client-side pagination when pageSize > 0\n if (this.pageSize > 0) {\n const start = (this.page - 1) * this.pageSize;\n displayRows = this.rows.slice(start, start + this.pageSize);\n }\n\n return displayRows.map((row, pageIndex) => {\n // The global row index for selection and events\n const globalIndex =\n this.pageSize > 0 ? (this.page - 1) * this.pageSize + pageIndex : pageIndex;\n return html`\n <tr\n part=\"tr\"\n aria-selected=${this.selectable ? String(this._selectedRows.has(globalIndex)) : nothing}\n @click=${() => this._handleRowClick(row, globalIndex)}\n >\n ${this.selectable\n ? html`\n <td part=\"td\" class=\"col-checkbox\">\n <input\n type=\"checkbox\"\n part=\"checkbox\"\n aria-label=${`Select row ${globalIndex + 1}`}\n .checked=${this._selectedRows.has(globalIndex)}\n @click=${(e: Event) => e.stopPropagation()}\n @change=${(e: Event) =>\n this._handleSelect(globalIndex, (e.target as HTMLInputElement).checked)}\n />\n </td>\n `\n : nothing}\n ${this.columns.map(\n (col) => html`\n <td part=\"td\" tabindex=\"-1\" data-row-index=${globalIndex}>\n ${row[col.key] != null ? String(row[col.key]) : ''}\n </td>\n `,\n )}\n </tr>\n `;\n });\n }\n\n // ─── Render ───\n\n override render() {\n return html`\n <slot name=\"toolbar\"></slot>\n <div class=\"table-wrapper\">\n <table\n part=\"table\"\n role=\"grid\"\n aria-busy=${this.loading ? 'true' : nothing}\n @keydown=${this._handleKeydown}\n >\n <thead part=\"thead\">\n ${this._renderHeaderRow()}\n </thead>\n <tbody part=\"tbody\">\n ${this.loading\n ? html`<slot name=\"loading\">${this._renderSkeletonRows()}</slot>`\n : this.rows.length === 0\n ? this._renderEmptyRow()\n : this._renderDataRows()}\n </tbody>\n </table>\n </div>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'hx-data-table': HelixDataTable;\n }\n}\n"],"names":["helixDataTableStyles","css","HelixDataTable","LitElement","changed","key","direction","row","index","checked","next","_","i","root","cells","focused","ancestor","colCount","idx","target","rowStart","rowEnd","_a","rowIdx","isActive","iconClass","html","nothing","col","colSpan","displayRows","start","pageIndex","globalIndex","e","tokenStyles","__decorateClass","property","state","customElement"],"mappings":"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"}