@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 @@
1
+ {"version":3,"file":"hx-avatar-DoHGMrj7.js","sources":["../../src/components/hx-avatar/hx-avatar.styles.ts","../../src/components/hx-avatar/hx-avatar.ts"],"sourcesContent":["import { css } from 'lit';\n\nexport const helixAvatarStyles = css`\n :host {\n display: inline-block;\n }\n\n /* P2-5: Respect the HTML hidden attribute — custom elements with explicit display ignore it otherwise. */\n :host([hidden]) {\n display: none !important;\n }\n\n /* P0-2: Wrapper provides the positioning context for the badge slot, outside overflow: hidden. */\n .avatar-wrapper {\n position: relative;\n display: inline-flex;\n }\n\n .avatar {\n display: flex;\n align-items: center;\n justify-content: center;\n overflow: hidden;\n width: var(--hx-avatar-size);\n height: var(--hx-avatar-size);\n background-color: var(--hx-avatar-bg, var(--hx-color-primary-100));\n color: var(--hx-avatar-color, var(--hx-color-primary-700));\n border-radius: var(--hx-avatar-border-radius);\n flex-shrink: 0;\n }\n\n /* ─── Size Variants ─── */\n\n .avatar--xs {\n --hx-avatar-size: var(--hx-size-6, 1.5rem);\n --hx-avatar-font-size: var(--hx-font-size-2xs, 0.625rem);\n }\n\n .avatar--sm {\n --hx-avatar-size: var(--hx-size-8, 2rem);\n --hx-avatar-font-size: var(--hx-font-size-xs, 0.75rem);\n }\n\n .avatar--md {\n --hx-avatar-size: var(--hx-size-10, 2.5rem);\n --hx-avatar-font-size: var(--hx-font-size-sm, 0.875rem);\n }\n\n .avatar--lg {\n --hx-avatar-size: var(--hx-size-12, 3rem);\n --hx-avatar-font-size: var(--hx-font-size-base, 1rem);\n }\n\n .avatar--xl {\n --hx-avatar-size: var(--hx-size-16, 4rem);\n --hx-avatar-font-size: var(--hx-font-size-lg, 1.125rem);\n }\n\n /* ─── Shape Variants ─── */\n\n .avatar--circle {\n --hx-avatar-border-radius: 50%;\n }\n\n .avatar--square {\n --hx-avatar-border-radius: var(--hx-border-radius-md, 0.375rem);\n }\n\n /* ─── Image ─── */\n\n .avatar__image {\n width: 100%;\n height: 100%;\n object-fit: cover;\n display: block;\n }\n\n /* ─── Initials ─── */\n\n .avatar__initials {\n font-family: var(--hx-font-family-sans, sans-serif);\n font-size: var(--hx-avatar-font-size);\n font-weight: var(--hx-font-weight-semibold, 600);\n line-height: 1;\n text-transform: uppercase;\n letter-spacing: var(--hx-letter-spacing-wide, 0.025em);\n user-select: none;\n }\n\n /* ─── Fallback Icon ─── */\n\n .avatar__fallback-icon {\n width: 60%;\n height: 60%;\n color: var(--hx-avatar-color, var(--hx-color-primary-700));\n }\n\n /* ─── Badge Slot ─── */\n\n /* P0-2: Positioned relative to .avatar-wrapper — outside the overflow: hidden on .avatar. */\n .avatar__badge {\n position: absolute;\n bottom: 0;\n right: 0;\n }\n\n /* P2-2: Hide the badge wrapper when no slot content is present, preserving slotchange detection. */\n .avatar__badge--hidden {\n display: none;\n }\n`;\n","import { LitElement, html, nothing, type PropertyValues } from 'lit';\nimport { customElement, property, state } from 'lit/decorators.js';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { tokenStyles } from '@helixui/tokens/lit';\nimport { helixAvatarStyles } from './hx-avatar.styles.js';\n\n/**\n * A user avatar component that displays an image, initials, or a fallback icon.\n * Supports a badge slot for status indicator overlays.\n *\n * @summary User avatar with image, initials, and fallback icon support for healthcare applications.\n *\n * @tag hx-avatar\n *\n * @slot - Default slot for custom avatar content. Overrides src and initials when slotted content is present.\n * @slot badge - Status indicator overlay, positioned at the bottom-right of the avatar container.\n *\n * @csspart avatar - The outer container element.\n * @csspart image - The img element shown when src is provided.\n * @csspart initials - The initials text span shown as a fallback.\n * @csspart fallback-icon - The SVG person silhouette shown when no src or initials are available.\n * @csspart badge - The badge slot container.\n *\n * @cssprop [--hx-avatar-size] - Computed width and height from the size variant.\n * @cssprop [--hx-avatar-border-radius] - Circle = 50%, Square = var(--hx-border-radius-md).\n * @cssprop [--hx-avatar-bg=var(--hx-color-primary-100)] - Background color of the avatar container.\n * @cssprop [--hx-avatar-color=var(--hx-color-primary-700)] - Text and icon color inside the avatar.\n * @cssprop [--hx-avatar-font-size] - Font size for the initials text, set per size variant.\n */\n@customElement('hx-avatar')\nexport class HelixAvatar extends LitElement {\n static override styles = [tokenStyles, helixAvatarStyles];\n\n /**\n * Image URL. When provided and successfully loaded, displays the image.\n * @attr src\n */\n @property({ type: String })\n src: string | undefined = undefined;\n\n /**\n * Accessible label for the image. Required when `src` is provided.\n * Used as the container's aria-label in image mode.\n * @attr alt\n */\n @property({ type: String })\n alt = '';\n\n /**\n * Human-readable accessible name for non-image states (initials, fallback icon).\n * In healthcare contexts, provide the full person name (e.g., \"Dr. Jane Doe\") rather than\n * relying on raw initials, which screen readers announce as individual letters.\n * When set, takes precedence over raw initials and the generic \"Avatar\" fallback.\n * @attr label\n */\n @property({ type: String })\n label = '';\n\n /**\n * Fallback initials text displayed when no image is available.\n * @attr initials\n */\n @property({ type: String })\n initials = '';\n\n /**\n * Size variant of the avatar.\n * @attr hx-size\n */\n @property({ type: String, reflect: true, attribute: 'hx-size' })\n size: 'xs' | 'sm' | 'md' | 'lg' | 'xl' = 'md';\n\n /**\n * Shape variant of the avatar.\n * @attr shape\n */\n @property({ type: String, reflect: true })\n shape: 'circle' | 'square' = 'circle';\n\n /**\n * Tracks whether the image failed to load, triggering the fallback chain.\n */\n @state()\n private _imgError = false;\n\n /**\n * Tracks whether the default slot has assigned content.\n */\n @state()\n private _hasDefaultSlot = false;\n\n /**\n * Tracks whether the badge slot has assigned content.\n */\n @state()\n private _hasBadgeSlot = false;\n\n // ─── Lifecycle ───\n\n override updated(changedProperties: PropertyValues): void {\n // P0-1: Reset image error state when src changes so a new valid src renders correctly.\n if (changedProperties.has('src')) {\n this._imgError = false;\n }\n\n // P1-2: Warn when src is provided without alt — silent accessibility failure in healthcare UIs.\n if (changedProperties.has('src') || changedProperties.has('alt')) {\n if (this.src && !this.alt) {\n console.warn(\n '[hx-avatar] Accessibility: \"alt\" attribute is required when \"src\" is provided. ' +\n 'Without alt text, screen readers announce a non-descriptive label. ' +\n 'Add alt=\"Full name or description\" to your hx-avatar element.',\n );\n }\n }\n\n // P2-1: Warn when invalid size or shape attribute values are used (e.g., from Twig templates).\n const validSizes: ReadonlyArray<string> = ['xs', 'sm', 'md', 'lg', 'xl'];\n if (changedProperties.has('size') && !validSizes.includes(this.size)) {\n console.warn(\n `[hx-avatar] Invalid hx-size=\"${String(this.size)}\". Valid values: xs, sm, md, lg, xl. Rendering with \"md\".`,\n );\n }\n const validShapes: ReadonlyArray<string> = ['circle', 'square'];\n if (changedProperties.has('shape') && !validShapes.includes(this.shape)) {\n console.warn(\n `[hx-avatar] Invalid shape=\"${String(this.shape)}\". Valid values: circle, square. Rendering with \"circle\".`,\n );\n }\n }\n\n // ─── Slot Change Handling ───\n\n private _handleSlotChange(e: Event): void {\n const slot = e.target as HTMLSlotElement;\n const nodes = slot.assignedNodes({ flatten: true });\n this._hasDefaultSlot = nodes.some((node) => {\n if (node.nodeType === Node.ELEMENT_NODE) return true;\n if (node.nodeType === Node.TEXT_NODE) {\n return (node.textContent ?? '').trim().length > 0;\n }\n return false;\n });\n }\n\n private _handleBadgeSlotChange(e: Event): void {\n const slot = e.target as HTMLSlotElement;\n const nodes = slot.assignedNodes({ flatten: true });\n this._hasBadgeSlot = nodes.some((node) => {\n if (node.nodeType === Node.ELEMENT_NODE) return true;\n if (node.nodeType === Node.TEXT_NODE) {\n return (node.textContent ?? '').trim().length > 0;\n }\n return false;\n });\n }\n\n // ─── Image Error Handling ───\n\n private _handleImgError(): void {\n this._imgError = true;\n }\n\n // ─── Fallback Icon ───\n\n private _renderFallbackIcon() {\n return html`\n <svg\n part=\"fallback-icon\"\n class=\"avatar__fallback-icon\"\n viewBox=\"0 0 24 24\"\n aria-hidden=\"true\"\n fill=\"currentColor\"\n >\n <path\n d=\"M12 12c2.7 0 4.8-2.1 4.8-4.8S14.7 2.4 12 2.4 7.2 4.5 7.2 7.2 9.3 12 12 12zm0 2.4c-3.2 0-9.6 1.6-9.6 4.8v2.4h19.2v-2.4c0-3.2-6.4-4.8-9.6-4.8z\"\n />\n </svg>\n `;\n }\n\n // ─── Render ───\n\n override render() {\n const src = this.src;\n const showSlot = this._hasDefaultSlot;\n const showImage = !showSlot && !!src && !this._imgError;\n const showInitials = !showSlot && !showImage && !!this.initials.trim();\n const showFallback = !showSlot && !showImage && !showInitials;\n\n // P1-1 / P1-7: Use label property for human-readable accessible name in non-image states.\n const ariaLabel = showImage\n ? this.alt || this.label || 'Avatar'\n : showInitials\n ? this.label || this.initials\n : this.label || 'Avatar';\n\n // P2-1: Safe class fallback for invalid attribute values supplied via HTML/Twig.\n const validSizes: ReadonlyArray<string> = ['xs', 'sm', 'md', 'lg', 'xl'];\n const validShapes: ReadonlyArray<string> = ['circle', 'square'];\n const sizeClass = validSizes.includes(this.size) ? this.size : 'md';\n const shapeClass = validShapes.includes(this.shape) ? this.shape : 'circle';\n\n const classes = {\n avatar: true,\n [`avatar--${sizeClass}`]: true,\n [`avatar--${shapeClass}`]: true,\n };\n\n // P2-2: Badge wrapper is hidden (not removed) when empty so slotchange detection still works.\n const badgeClasses = {\n avatar__badge: true,\n 'avatar__badge--hidden': !this._hasBadgeSlot,\n };\n\n return html`\n <div class=\"avatar-wrapper\">\n <div\n part=\"avatar\"\n class=${classMap(classes)}\n role=${showSlot ? nothing : 'img'}\n aria-label=${showSlot ? nothing : ariaLabel}\n >\n <slot @slotchange=${this._handleSlotChange}></slot>\n ${showImage && src\n ? html`<img\n part=\"image\"\n class=\"avatar__image\"\n src=${src}\n alt=${this.alt}\n aria-hidden=\"true\"\n loading=\"lazy\"\n @error=${this._handleImgError}\n />`\n : nothing}\n ${showInitials\n ? html`<span part=\"initials\" class=\"avatar__initials\">${this.initials.trim()}</span>`\n : nothing}\n ${showFallback ? this._renderFallbackIcon() : nothing}\n </div>\n <span part=\"badge\" class=${classMap(badgeClasses)}>\n <slot name=\"badge\" @slotchange=${this._handleBadgeSlotChange}></slot>\n </span>\n </div>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'hx-avatar': HelixAvatar;\n }\n}\n"],"names":["helixAvatarStyles","css","HelixAvatar","LitElement","changedProperties","validSizes","validShapes","e","nodes","node","html","src","showSlot","showImage","showInitials","showFallback","ariaLabel","sizeClass","shapeClass","classes","badgeClasses","classMap","nothing","tokenStyles","__decorateClass","property","state","customElement"],"mappings":"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"}
@@ -0,0 +1,255 @@
1
+ import { css as g, LitElement as c, nothing as n, html as b } from "lit";
2
+ import { property as o, state as p, customElement as x } from "lit/decorators.js";
3
+ import { classMap as u } from "lit/directives/class-map.js";
4
+ import { t as v } from "./lit-Dpo7RLp4.js";
5
+ const f = g`
6
+ :host {
7
+ display: inline-block;
8
+ }
9
+
10
+ .badge {
11
+ display: inline-flex;
12
+ align-items: center;
13
+ justify-content: center;
14
+ gap: var(--hx-space-1, 0.25rem);
15
+ border-radius: var(--hx-badge-border-radius, var(--hx-border-radius-md, 0.375rem));
16
+ background-color: var(--hx-badge-bg, var(--hx-color-primary-500, #2563eb));
17
+ color: var(--hx-badge-color, var(--hx-color-neutral-0, #ffffff));
18
+ font-family: var(--hx-badge-font-family, var(--hx-font-family-sans, sans-serif));
19
+ font-weight: var(--hx-badge-font-weight, var(--hx-font-weight-semibold, 600));
20
+ line-height: var(--hx-line-height-tight, 1.25);
21
+ white-space: nowrap;
22
+ vertical-align: middle;
23
+ position: relative;
24
+ }
25
+
26
+ /* ─── Size Variants ─── */
27
+
28
+ .badge--sm {
29
+ font-size: var(--hx-badge-font-size, var(--hx-font-size-2xs, 0.625rem));
30
+ padding: var(--hx-badge-padding-y, var(--hx-space-0-5, 0.125rem))
31
+ var(--hx-badge-padding-x, var(--hx-space-1-5, 0.375rem));
32
+ }
33
+
34
+ .badge--md {
35
+ font-size: var(--hx-badge-font-size, var(--hx-font-size-xs, 0.75rem));
36
+ padding: var(--hx-badge-padding-y, var(--hx-space-1, 0.25rem))
37
+ var(--hx-badge-padding-x, var(--hx-space-2, 0.5rem));
38
+ }
39
+
40
+ .badge--lg {
41
+ font-size: var(--hx-badge-font-size, var(--hx-font-size-sm, 0.875rem));
42
+ padding: var(--hx-badge-padding-y, var(--hx-space-1, 0.25rem))
43
+ var(--hx-badge-padding-x, var(--hx-space-3, 0.75rem));
44
+ }
45
+
46
+ /* ─── Style Variants ─── */
47
+
48
+ .badge--primary {
49
+ --hx-badge-bg: var(--hx-color-primary-500, #2563eb);
50
+ --hx-badge-color: var(--hx-color-neutral-0, #ffffff);
51
+ --hx-badge-pulse-color: var(--hx-color-primary-500, #2563eb);
52
+ }
53
+
54
+ .badge--secondary {
55
+ --hx-badge-bg: var(--hx-badge-secondary-bg, var(--hx-color-neutral-100, #f3f4f6));
56
+ --hx-badge-color: var(--hx-badge-secondary-color, var(--hx-color-neutral-700, #374151));
57
+ --hx-badge-pulse-color: var(--hx-badge-secondary-bg, var(--hx-color-neutral-100, #f3f4f6));
58
+ }
59
+
60
+ .badge--success {
61
+ --hx-badge-bg: var(--hx-color-success-700, #15803d);
62
+ --hx-badge-color: var(--hx-color-neutral-0, #ffffff);
63
+ --hx-badge-pulse-color: var(--hx-color-success-700, #15803d);
64
+ }
65
+
66
+ .badge--warning {
67
+ --hx-badge-bg: var(--hx-color-warning-500, #eab308);
68
+ --hx-badge-color: var(--hx-color-neutral-900, #1a1a1a);
69
+ --hx-badge-pulse-color: var(--hx-color-warning-500, #eab308);
70
+ }
71
+
72
+ .badge--error {
73
+ --hx-badge-bg: var(--hx-color-error-500, #dc2626);
74
+ --hx-badge-color: var(--hx-color-neutral-0, #ffffff);
75
+ --hx-badge-pulse-color: var(--hx-color-error-500, #dc2626);
76
+ }
77
+
78
+ .badge--neutral {
79
+ --hx-badge-bg: var(--hx-color-neutral-200, #e5e7eb);
80
+ --hx-badge-color: var(--hx-color-neutral-700, #374151);
81
+ --hx-badge-pulse-color: var(--hx-color-neutral-200, #e5e7eb);
82
+ }
83
+
84
+ .badge--info {
85
+ --hx-badge-bg: var(--hx-badge-info-bg, var(--hx-color-info-700, #0369a1));
86
+ --hx-badge-color: var(--hx-badge-info-color, var(--hx-color-neutral-0, #ffffff));
87
+ --hx-badge-pulse-color: var(--hx-badge-info-bg, var(--hx-color-info-700, #0369a1));
88
+ }
89
+
90
+ /* ─── Pill Mode ─── */
91
+
92
+ .badge--pill {
93
+ border-radius: var(--hx-badge-border-radius, var(--hx-border-radius-full, 9999px));
94
+ }
95
+
96
+ /* ─── Dot Indicator (empty + pulse) ─── */
97
+
98
+ .badge--dot {
99
+ width: var(--hx-badge-dot-size, var(--hx-size-2, 0.5rem));
100
+ height: var(--hx-badge-dot-size, var(--hx-size-2, 0.5rem));
101
+ padding: 0;
102
+ border-radius: var(--hx-border-radius-full, 9999px);
103
+ }
104
+
105
+ /* ─── Pulse Animation ─── */
106
+
107
+ @keyframes wc-badge-pulse {
108
+ 0%,
109
+ 100% {
110
+ opacity: 1;
111
+ }
112
+ 50% {
113
+ opacity: 0.5;
114
+ }
115
+ }
116
+
117
+ .badge--pulse {
118
+ animation: wc-badge-pulse var(--hx-badge-pulse-duration, var(--hx-duration-slow, 2s))
119
+ var(--hx-badge-pulse-easing, var(--hx-ease-in-out, ease-in-out)) infinite;
120
+ }
121
+
122
+ @media (prefers-reduced-motion: reduce) {
123
+ .badge--pulse {
124
+ animation: none;
125
+ }
126
+ }
127
+
128
+ /* ─── Remove Button ─── */
129
+
130
+ .badge__remove-button {
131
+ display: inline-flex;
132
+ align-items: center;
133
+ justify-content: center;
134
+ background: none;
135
+ border: none;
136
+ padding: 0;
137
+ margin-inline-start: var(--hx-space-1, 0.25rem);
138
+ cursor: pointer;
139
+ color: inherit;
140
+ opacity: 0.7;
141
+ border-radius: var(--hx-border-radius-sm, 0.125rem);
142
+ line-height: 0;
143
+ }
144
+
145
+ .badge__remove-button:hover {
146
+ opacity: 1;
147
+ }
148
+
149
+ .badge__remove-button:focus-visible {
150
+ outline: var(--hx-focus-ring-width, 2px) solid var(--hx-focus-ring-color, currentColor);
151
+ outline-offset: var(--hx-focus-ring-offset, 1px);
152
+ }
153
+ `;
154
+ var m = Object.defineProperty, y = Object.getOwnPropertyDescriptor, r = (t, a, s, i) => {
155
+ for (var l = i > 1 ? void 0 : i ? y(a, s) : a, d = t.length - 1, h; d >= 0; d--)
156
+ (h = t[d]) && (l = (i ? h(a, s, l) : h(l)) || l);
157
+ return i && l && m(a, s, l), l;
158
+ };
159
+ let e = class extends c {
160
+ constructor() {
161
+ super(...arguments), this.variant = "primary", this.size = "md", this.pill = !1, this.pulse = !1, this.removable = !1, this.count = void 0, this.max = 99, this.dotLabel = "", this.removeLabel = "Remove", this._hasSlotContent = !1;
162
+ }
163
+ // ─── Slot Change Handling ───
164
+ _handleSlotChange(t) {
165
+ const s = t.target.assignedNodes({ flatten: !0 });
166
+ this._hasSlotContent = s.some((i) => i.nodeType === Node.ELEMENT_NODE ? !0 : i.nodeType === Node.TEXT_NODE ? (i.textContent ?? "").trim().length > 0 : !1);
167
+ }
168
+ // ─── Event Handling ───
169
+ _handleRemove() {
170
+ this.dispatchEvent(
171
+ new CustomEvent("hx-remove", {
172
+ bubbles: !0,
173
+ composed: !0
174
+ })
175
+ );
176
+ }
177
+ // ─── Count Display ───
178
+ get _countDisplay() {
179
+ return this.count === void 0 ? "" : this.count > this.max ? `${this.max}+` : String(this.count);
180
+ }
181
+ // ─── Render ───
182
+ render() {
183
+ const t = this.count !== void 0, a = !this._hasSlotContent && !t && this.pulse, s = {
184
+ badge: !0,
185
+ [`badge--${this.variant}`]: !0,
186
+ [`badge--${this.size}`]: !0,
187
+ "badge--pill": this.pill,
188
+ "badge--pulse": this.pulse,
189
+ "badge--dot": a
190
+ };
191
+ return b`
192
+ <span
193
+ part="badge"
194
+ class=${u(s)}
195
+ role=${a && this.dotLabel ? "img" : n}
196
+ aria-label=${a && this.dotLabel ? this.dotLabel : n}
197
+ aria-live=${t ? "polite" : n}
198
+ >
199
+ <slot name="prefix"></slot>
200
+ ${t ? this._countDisplay : b`<slot @slotchange=${this._handleSlotChange}></slot>`}
201
+ ${this.removable ? b`<button
202
+ part="remove-button"
203
+ class="badge__remove-button"
204
+ aria-label=${this.removeLabel}
205
+ @click=${this._handleRemove}
206
+ >
207
+ <svg viewBox="0 0 12 12" aria-hidden="true" width="10" height="10">
208
+ <path
209
+ d="M2.22 2.22a.75.75 0 011.06 0L6 4.94l2.72-2.72a.75.75 0 011.06 1.06L7.06 6l2.72 2.72a.75.75 0 01-1.06 1.06L6 7.06 3.28 9.78a.75.75 0 01-1.06-1.06L4.94 6 2.22 3.28a.75.75 0 010-1.06z"
210
+ fill="currentColor"
211
+ />
212
+ </svg>
213
+ </button>` : n}
214
+ </span>
215
+ `;
216
+ }
217
+ };
218
+ e.styles = [v, f];
219
+ r([
220
+ o({ type: String, reflect: !0 })
221
+ ], e.prototype, "variant", 2);
222
+ r([
223
+ o({ type: String, reflect: !0 })
224
+ ], e.prototype, "size", 2);
225
+ r([
226
+ o({ type: Boolean, reflect: !0 })
227
+ ], e.prototype, "pill", 2);
228
+ r([
229
+ o({ type: Boolean, reflect: !0 })
230
+ ], e.prototype, "pulse", 2);
231
+ r([
232
+ o({ type: Boolean, reflect: !0 })
233
+ ], e.prototype, "removable", 2);
234
+ r([
235
+ o({ type: Number, reflect: !0 })
236
+ ], e.prototype, "count", 2);
237
+ r([
238
+ o({ type: Number, reflect: !0 })
239
+ ], e.prototype, "max", 2);
240
+ r([
241
+ o({ type: String, attribute: "dot-label" })
242
+ ], e.prototype, "dotLabel", 2);
243
+ r([
244
+ o({ type: String, attribute: "remove-label" })
245
+ ], e.prototype, "removeLabel", 2);
246
+ r([
247
+ p()
248
+ ], e.prototype, "_hasSlotContent", 2);
249
+ e = r([
250
+ x("hx-badge")
251
+ ], e);
252
+ export {
253
+ e as H
254
+ };
255
+ //# sourceMappingURL=hx-badge-BeCmOPr1.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hx-badge-BeCmOPr1.js","sources":["../../src/components/hx-badge/hx-badge.styles.ts","../../src/components/hx-badge/hx-badge.ts"],"sourcesContent":["import { css } from 'lit';\n\nexport const helixBadgeStyles = css`\n :host {\n display: inline-block;\n }\n\n .badge {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n gap: var(--hx-space-1, 0.25rem);\n border-radius: var(--hx-badge-border-radius, var(--hx-border-radius-md, 0.375rem));\n background-color: var(--hx-badge-bg, var(--hx-color-primary-500, #2563eb));\n color: var(--hx-badge-color, var(--hx-color-neutral-0, #ffffff));\n font-family: var(--hx-badge-font-family, var(--hx-font-family-sans, sans-serif));\n font-weight: var(--hx-badge-font-weight, var(--hx-font-weight-semibold, 600));\n line-height: var(--hx-line-height-tight, 1.25);\n white-space: nowrap;\n vertical-align: middle;\n position: relative;\n }\n\n /* ─── Size Variants ─── */\n\n .badge--sm {\n font-size: var(--hx-badge-font-size, var(--hx-font-size-2xs, 0.625rem));\n padding: var(--hx-badge-padding-y, var(--hx-space-0-5, 0.125rem))\n var(--hx-badge-padding-x, var(--hx-space-1-5, 0.375rem));\n }\n\n .badge--md {\n font-size: var(--hx-badge-font-size, var(--hx-font-size-xs, 0.75rem));\n padding: var(--hx-badge-padding-y, var(--hx-space-1, 0.25rem))\n var(--hx-badge-padding-x, var(--hx-space-2, 0.5rem));\n }\n\n .badge--lg {\n font-size: var(--hx-badge-font-size, var(--hx-font-size-sm, 0.875rem));\n padding: var(--hx-badge-padding-y, var(--hx-space-1, 0.25rem))\n var(--hx-badge-padding-x, var(--hx-space-3, 0.75rem));\n }\n\n /* ─── Style Variants ─── */\n\n .badge--primary {\n --hx-badge-bg: var(--hx-color-primary-500, #2563eb);\n --hx-badge-color: var(--hx-color-neutral-0, #ffffff);\n --hx-badge-pulse-color: var(--hx-color-primary-500, #2563eb);\n }\n\n .badge--secondary {\n --hx-badge-bg: var(--hx-badge-secondary-bg, var(--hx-color-neutral-100, #f3f4f6));\n --hx-badge-color: var(--hx-badge-secondary-color, var(--hx-color-neutral-700, #374151));\n --hx-badge-pulse-color: var(--hx-badge-secondary-bg, var(--hx-color-neutral-100, #f3f4f6));\n }\n\n .badge--success {\n --hx-badge-bg: var(--hx-color-success-700, #15803d);\n --hx-badge-color: var(--hx-color-neutral-0, #ffffff);\n --hx-badge-pulse-color: var(--hx-color-success-700, #15803d);\n }\n\n .badge--warning {\n --hx-badge-bg: var(--hx-color-warning-500, #eab308);\n --hx-badge-color: var(--hx-color-neutral-900, #1a1a1a);\n --hx-badge-pulse-color: var(--hx-color-warning-500, #eab308);\n }\n\n .badge--error {\n --hx-badge-bg: var(--hx-color-error-500, #dc2626);\n --hx-badge-color: var(--hx-color-neutral-0, #ffffff);\n --hx-badge-pulse-color: var(--hx-color-error-500, #dc2626);\n }\n\n .badge--neutral {\n --hx-badge-bg: var(--hx-color-neutral-200, #e5e7eb);\n --hx-badge-color: var(--hx-color-neutral-700, #374151);\n --hx-badge-pulse-color: var(--hx-color-neutral-200, #e5e7eb);\n }\n\n .badge--info {\n --hx-badge-bg: var(--hx-badge-info-bg, var(--hx-color-info-700, #0369a1));\n --hx-badge-color: var(--hx-badge-info-color, var(--hx-color-neutral-0, #ffffff));\n --hx-badge-pulse-color: var(--hx-badge-info-bg, var(--hx-color-info-700, #0369a1));\n }\n\n /* ─── Pill Mode ─── */\n\n .badge--pill {\n border-radius: var(--hx-badge-border-radius, var(--hx-border-radius-full, 9999px));\n }\n\n /* ─── Dot Indicator (empty + pulse) ─── */\n\n .badge--dot {\n width: var(--hx-badge-dot-size, var(--hx-size-2, 0.5rem));\n height: var(--hx-badge-dot-size, var(--hx-size-2, 0.5rem));\n padding: 0;\n border-radius: var(--hx-border-radius-full, 9999px);\n }\n\n /* ─── Pulse Animation ─── */\n\n @keyframes wc-badge-pulse {\n 0%,\n 100% {\n opacity: 1;\n }\n 50% {\n opacity: 0.5;\n }\n }\n\n .badge--pulse {\n animation: wc-badge-pulse var(--hx-badge-pulse-duration, var(--hx-duration-slow, 2s))\n var(--hx-badge-pulse-easing, var(--hx-ease-in-out, ease-in-out)) infinite;\n }\n\n @media (prefers-reduced-motion: reduce) {\n .badge--pulse {\n animation: none;\n }\n }\n\n /* ─── Remove Button ─── */\n\n .badge__remove-button {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n background: none;\n border: none;\n padding: 0;\n margin-inline-start: var(--hx-space-1, 0.25rem);\n cursor: pointer;\n color: inherit;\n opacity: 0.7;\n border-radius: var(--hx-border-radius-sm, 0.125rem);\n line-height: 0;\n }\n\n .badge__remove-button:hover {\n opacity: 1;\n }\n\n .badge__remove-button:focus-visible {\n outline: var(--hx-focus-ring-width, 2px) solid var(--hx-focus-ring-color, currentColor);\n outline-offset: var(--hx-focus-ring-offset, 1px);\n }\n`;\n","import { LitElement, html, nothing } from 'lit';\nimport { customElement, property, state } from 'lit/decorators.js';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { tokenStyles } from '@helixui/tokens/lit';\nimport { helixBadgeStyles } from './hx-badge.styles.js';\n\n/**\n * A small status indicator for notifications, counts, and labels.\n *\n * @summary Presentational badge for status indicators, notification counts, and labels.\n *\n * @tag hx-badge\n *\n * @slot - Default slot for badge content (text, number). When empty with pulse enabled, renders as a dot indicator.\n * @slot prefix - Icon or content rendered before the badge text.\n *\n * @fires {CustomEvent<void>} hx-remove - Dispatched when the user clicks the remove button.\n *\n * @csspart badge - The badge element.\n * @csspart remove-button - The remove/dismiss button.\n *\n * @cssprop [--hx-badge-bg=var(--hx-color-primary-500)] - Badge background color. The primary override point.\n * @cssprop [--hx-badge-color=var(--hx-color-neutral-0)] - Badge text color. The primary override point.\n * @cssprop [--hx-badge-font-size] - Badge font size (set per size variant).\n * @cssprop [--hx-badge-font-weight=var(--hx-font-weight-semibold)] - Badge font weight.\n * @cssprop [--hx-badge-font-family=var(--hx-font-family-sans)] - Badge font family.\n * @cssprop [--hx-badge-border-radius=var(--hx-border-radius-md)] - Badge border radius.\n * @cssprop [--hx-badge-padding-x] - Badge horizontal padding (set per size variant).\n * @cssprop [--hx-badge-padding-y] - Badge vertical padding (set per size variant).\n * @cssprop [--hx-badge-pulse-color] - Pulse color matching variant background with reduced opacity.\n * @cssprop [--hx-badge-dot-size=var(--hx-size-2)] - Dot indicator size when rendered without content.\n * @cssprop [--hx-badge-secondary-bg=var(--hx-color-neutral-100)] - Background for the secondary variant.\n * @cssprop [--hx-badge-secondary-color=var(--hx-color-neutral-700)] - Text color for the secondary variant.\n * @cssprop [--hx-badge-info-bg=var(--hx-color-info-700)] - Background for the info variant.\n * @cssprop [--hx-badge-info-color=var(--hx-color-neutral-0)] - Text color for the info variant.\n */\n@customElement('hx-badge')\nexport class HelixBadge extends LitElement {\n static override styles = [tokenStyles, helixBadgeStyles];\n\n /**\n * Visual style variant of the badge.\n * @attr variant\n */\n @property({ type: String, reflect: true })\n variant: 'primary' | 'secondary' | 'success' | 'warning' | 'error' | 'neutral' | 'info' =\n 'primary';\n\n /**\n * Size of the badge.\n * @attr size\n */\n @property({ type: String, reflect: true })\n size: 'sm' | 'md' | 'lg' = 'md';\n\n /**\n * Whether the badge uses fully rounded (pill) styling.\n * @attr pill\n */\n @property({ type: Boolean, reflect: true })\n pill = false;\n\n /**\n * Whether the badge displays an animated pulse for attention.\n * @attr pulse\n */\n @property({ type: Boolean, reflect: true })\n pulse = false;\n\n /**\n * Whether the badge renders a dismiss button.\n * @attr removable\n */\n @property({ type: Boolean, reflect: true })\n removable = false;\n\n /**\n * Numeric count to display. When set, renders the count as badge content.\n * When count exceeds `max`, displays `${max}+` (e.g. `99+`).\n * @attr count\n */\n @property({ type: Number, reflect: true })\n count: number | undefined = undefined;\n\n /**\n * Maximum count value before truncation to `${max}+`. Defaults to 99.\n * @attr max\n */\n @property({ type: Number, reflect: true })\n max = 99;\n\n /**\n * Accessible label for the dot indicator mode (pulse + empty slot).\n * Required for WCAG 4.1.2 compliance when using the dot indicator pattern.\n * Example: `dot-label=\"3 new messages\"`.\n * @attr dot-label\n */\n @property({ type: String, attribute: 'dot-label' })\n dotLabel = '';\n\n /**\n * Accessible label for the remove button. Should describe what is being removed.\n * Defaults to \"Remove\". For better accessibility, include context: e.g. \"Remove Critical badge\".\n * @attr remove-label\n */\n @property({ type: String, attribute: 'remove-label' })\n removeLabel = 'Remove';\n\n /**\n * Tracks whether the default slot has assigned content.\n */\n @state()\n private _hasSlotContent = false;\n\n // ─── Slot Change Handling ───\n\n private _handleSlotChange(e: Event): void {\n const slot = e.target as HTMLSlotElement;\n const nodes = slot.assignedNodes({ flatten: true });\n // Check if any assigned node has non-whitespace content\n this._hasSlotContent = nodes.some((node) => {\n if (node.nodeType === Node.ELEMENT_NODE) return true;\n if (node.nodeType === Node.TEXT_NODE) {\n return (node.textContent ?? '').trim().length > 0;\n }\n return false;\n });\n }\n\n // ─── Event Handling ───\n\n private _handleRemove(): void {\n this.dispatchEvent(\n new CustomEvent('hx-remove', {\n bubbles: true,\n composed: true,\n }),\n );\n }\n\n // ─── Count Display ───\n\n private get _countDisplay(): string {\n if (this.count === undefined) return '';\n return this.count > this.max ? `${this.max}+` : String(this.count);\n }\n\n // ─── Render ───\n\n override render() {\n const hasCount = this.count !== undefined;\n const isDot = !this._hasSlotContent && !hasCount && this.pulse;\n\n const classes = {\n badge: true,\n [`badge--${this.variant}`]: true,\n [`badge--${this.size}`]: true,\n 'badge--pill': this.pill,\n 'badge--pulse': this.pulse,\n 'badge--dot': isDot,\n };\n\n return html`\n <span\n part=\"badge\"\n class=${classMap(classes)}\n role=${isDot && this.dotLabel ? 'img' : nothing}\n aria-label=${isDot && this.dotLabel ? this.dotLabel : nothing}\n aria-live=${hasCount ? 'polite' : nothing}\n >\n <slot name=\"prefix\"></slot>\n ${hasCount ? this._countDisplay : html`<slot @slotchange=${this._handleSlotChange}></slot>`}\n ${this.removable\n ? html`<button\n part=\"remove-button\"\n class=\"badge__remove-button\"\n aria-label=${this.removeLabel}\n @click=${this._handleRemove}\n >\n <svg viewBox=\"0 0 12 12\" aria-hidden=\"true\" width=\"10\" height=\"10\">\n <path\n d=\"M2.22 2.22a.75.75 0 011.06 0L6 4.94l2.72-2.72a.75.75 0 011.06 1.06L7.06 6l2.72 2.72a.75.75 0 01-1.06 1.06L6 7.06 3.28 9.78a.75.75 0 01-1.06-1.06L4.94 6 2.22 3.28a.75.75 0 010-1.06z\"\n fill=\"currentColor\"\n />\n </svg>\n </button>`\n : nothing}\n </span>\n `;\n }\n}\n\nexport type WcBadge = HelixBadge;\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'hx-badge': HelixBadge;\n }\n}\n"],"names":["helixBadgeStyles","css","HelixBadge","LitElement","e","nodes","node","hasCount","isDot","classes","html","classMap","nothing","tokenStyles","__decorateClass","property","state","customElement"],"mappings":"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"}
@@ -0,0 +1,309 @@
1
+ import { css as m, LitElement as u, html as d, nothing as x } from "lit";
2
+ import { property as l, customElement as b } from "lit/decorators.js";
3
+ import { t as f } from "./lit-Dpo7RLp4.js";
4
+ const _ = m`
5
+ :host {
6
+ display: block;
7
+ font-family: var(
8
+ --hx-breadcrumb-font-family,
9
+ var(--hx-font-family-sans, system-ui, sans-serif)
10
+ );
11
+ font-size: var(--hx-breadcrumb-font-size, var(--hx-font-size-sm, 0.875rem));
12
+ }
13
+
14
+ [part='nav'] {
15
+ /* nav landmark — no additional styling needed */
16
+ }
17
+
18
+ [part='list'] {
19
+ display: flex;
20
+ flex-wrap: wrap;
21
+ align-items: center;
22
+ list-style: none;
23
+ margin: 0;
24
+ padding: 0;
25
+ gap: 0;
26
+ }
27
+
28
+ /* Hide middle items when collapsed via maxItems */
29
+ ::slotted([data-bc-hidden]) {
30
+ display: none;
31
+ }
32
+
33
+ /* Visually hide the separator slot — used only to read text content.
34
+ * display:none is intentional: the slot contains no interactive or focusable
35
+ * content. If a future change adds focusable elements to this slot, switch to
36
+ * visibility:hidden + position:absolute to preserve focus reachability. */
37
+ .separator-slot {
38
+ display: none;
39
+ }
40
+ `;
41
+ var v = Object.defineProperty, y = Object.getOwnPropertyDescriptor, h = (e, s, t, i) => {
42
+ for (var r = i > 1 ? void 0 : i ? y(s, t) : s, a = e.length - 1, n; a >= 0; a--)
43
+ (n = e[a]) && (r = (i ? n(s, t, r) : n(r)) || r);
44
+ return i && r && v(s, t, r), r;
45
+ };
46
+ let o = class extends u {
47
+ constructor() {
48
+ super(...arguments), this.separator = "/", this.label = "Breadcrumb", this.maxItems = 0, this.jsonLd = !1, this._ellipsisItem = null, this._jsonLdScript = null, this._boundEllipsisClick = () => {
49
+ }, this._boundEllipsisKeydown = () => {
50
+ }, this._managedCurrentItems = /* @__PURE__ */ new WeakSet(), this._jsonLdId = `hx-breadcrumb-ld-${++o._instanceCounter}`;
51
+ }
52
+ // ─── Item Helpers ───
53
+ /** Returns only real breadcrumb items, excluding the managed ellipsis element. */
54
+ _getBreadcrumbItems(e) {
55
+ return e.assignedElements({ flatten: !0 }).filter(
56
+ (s) => s.tagName.toLowerCase() === "hx-breadcrumb-item" && !s.classList.contains("hx-bc-ellipsis")
57
+ );
58
+ }
59
+ /**
60
+ * Applies aria/state attributes to the item list.
61
+ *
62
+ * Current-page detection: if any item has an explicit `current` attribute
63
+ * (e.g. set by a Drupal Twig template), that item is treated as the current
64
+ * page. Otherwise the last item is the current page (default behaviour).
65
+ *
66
+ * This separation allows Drupal to control current-page marking without
67
+ * relying on item order.
68
+ */
69
+ _applyItemAttributes(e) {
70
+ const s = e.some(
71
+ (t) => t.hasAttribute("current") && !this._managedCurrentItems.has(t)
72
+ );
73
+ e.forEach((t, i) => {
74
+ const r = t, a = i === e.length - 1;
75
+ a ? r.setAttribute("data-bc-last", "") : r.removeAttribute("data-bc-last"), s || (a ? (r.setAttribute("current", ""), this._managedCurrentItems.add(r)) : (r.removeAttribute("current"), this._managedCurrentItems.delete(r)));
76
+ });
77
+ }
78
+ // ─── Slot Handling ───
79
+ _handleSlotChange(e) {
80
+ const s = e.target, t = this._getBreadcrumbItems(s);
81
+ this.maxItems > 0 && t.length > this.maxItems ? this._applyCollapse(t) : this._removeCollapse(t), this._applyItemAttributes(t), this.jsonLd && this._updateJsonLd(t);
82
+ }
83
+ _handleSeparatorSlotChange(e) {
84
+ var i;
85
+ const t = e.target.assignedElements({ flatten: !0 });
86
+ if (t.length > 0) {
87
+ const r = ((i = t[0].textContent) == null ? void 0 : i.trim()) ?? "";
88
+ this.style.setProperty("--hx-breadcrumb-separator-content", JSON.stringify(r));
89
+ }
90
+ }
91
+ // ─── Collapse ───
92
+ _applyCollapse(e) {
93
+ if (e.forEach((t, i) => {
94
+ const r = t;
95
+ i === 0 || i === e.length - 1 ? r.removeAttribute("data-bc-hidden") : r.setAttribute("data-bc-hidden", "");
96
+ }), !this._ellipsisItem) {
97
+ const t = document.createElement("hx-breadcrumb-item");
98
+ t.classList.add("hx-bc-ellipsis");
99
+ const i = document.createElement("button");
100
+ i.type = "button", i.textContent = "…", i.setAttribute("aria-label", "Show all breadcrumb items"), t.appendChild(i), this._ellipsisItem = t;
101
+ }
102
+ const s = e[0];
103
+ s && this._ellipsisItem.previousElementSibling !== s && s.after(this._ellipsisItem);
104
+ }
105
+ _removeCollapse(e) {
106
+ var s;
107
+ e.forEach((t) => {
108
+ t.removeAttribute("data-bc-hidden");
109
+ }), (s = this._ellipsisItem) != null && s.isConnected && this._ellipsisItem.remove();
110
+ }
111
+ _handleEllipsisClick(e) {
112
+ var s, t;
113
+ (t = (s = e.target) == null ? void 0 : s.closest) != null && t.call(s, ".hx-bc-ellipsis") && this._expandBreadcrumb();
114
+ }
115
+ _handleEllipsisKeydown(e) {
116
+ var s, t;
117
+ (e.key === "Enter" || e.key === " ") && (t = (s = e.target) == null ? void 0 : s.closest) != null && t.call(s, ".hx-bc-ellipsis") && (e.preventDefault(), this._expandBreadcrumb());
118
+ }
119
+ /**
120
+ * Expands a collapsed breadcrumb by resetting maxItems to 0.
121
+ * Called by the ellipsis expand button (click or Enter/Space).
122
+ */
123
+ _expandBreadcrumb() {
124
+ this.maxItems = 0;
125
+ }
126
+ // ─── JSON-LD ───
127
+ /**
128
+ * JSON-LD ListItem entry with typed fields to avoid Record<string, unknown>.
129
+ */
130
+ _buildListItem(e, s) {
131
+ var a;
132
+ const t = e.getAttribute("href"), i = ((a = e.textContent) == null ? void 0 : a.trim()) ?? "", r = {
133
+ "@type": "ListItem",
134
+ position: s,
135
+ name: i
136
+ };
137
+ return t && (r.item = t), r;
138
+ }
139
+ _updateJsonLd(e) {
140
+ var t;
141
+ const s = {
142
+ "@context": "https://schema.org",
143
+ "@type": "BreadcrumbList",
144
+ itemListElement: e.map((i, r) => this._buildListItem(i, r + 1))
145
+ };
146
+ this._jsonLdScript || ((t = document.getElementById(this._jsonLdId)) == null || t.remove(), this._jsonLdScript = document.createElement("script"), this._jsonLdScript.type = "application/ld+json", this._jsonLdScript.id = this._jsonLdId, this._jsonLdScript.setAttribute("data-hx-breadcrumb", ""), document.head.appendChild(this._jsonLdScript)), this._jsonLdScript.textContent = JSON.stringify(s);
147
+ }
148
+ _removeJsonLd() {
149
+ var e;
150
+ (e = this._jsonLdScript) == null || e.remove(), this._jsonLdScript = null;
151
+ }
152
+ // ─── Lifecycle ───
153
+ connectedCallback() {
154
+ super.connectedCallback(), this._boundEllipsisClick = this._handleEllipsisClick.bind(this), this._boundEllipsisKeydown = this._handleEllipsisKeydown.bind(this), this.addEventListener("click", this._boundEllipsisClick), this.addEventListener("keydown", this._boundEllipsisKeydown);
155
+ }
156
+ disconnectedCallback() {
157
+ super.disconnectedCallback(), this.removeEventListener("click", this._boundEllipsisClick), this.removeEventListener("keydown", this._boundEllipsisKeydown), this._removeJsonLd();
158
+ }
159
+ updated(e) {
160
+ var s, t;
161
+ if (super.updated(e), e.has("separator") && this.style.setProperty("--hx-breadcrumb-separator-content", JSON.stringify(this.separator)), e.has("maxItems")) {
162
+ const i = (s = this.shadowRoot) == null ? void 0 : s.querySelector("slot:not([name])");
163
+ if (i) {
164
+ const r = this._getBreadcrumbItems(i);
165
+ this.maxItems > 0 && r.length > this.maxItems ? this._applyCollapse(r) : this._removeCollapse(r), this._applyItemAttributes(r);
166
+ }
167
+ }
168
+ if (e.has("jsonLd"))
169
+ if (this.jsonLd) {
170
+ const i = (t = this.shadowRoot) == null ? void 0 : t.querySelector("slot:not([name])");
171
+ i && this._updateJsonLd(this._getBreadcrumbItems(i));
172
+ } else
173
+ this._removeJsonLd();
174
+ }
175
+ // ─── Render ───
176
+ render() {
177
+ return d`
178
+ <nav part="nav" aria-label=${this.label}>
179
+ <ol part="list">
180
+ <slot @slotchange=${this._handleSlotChange}></slot>
181
+ </ol>
182
+ </nav>
183
+ <slot
184
+ name="separator"
185
+ class="separator-slot"
186
+ @slotchange=${this._handleSeparatorSlotChange}
187
+ ></slot>
188
+ `;
189
+ }
190
+ };
191
+ o.styles = [f, _];
192
+ o._instanceCounter = 0;
193
+ h([
194
+ l({ type: String })
195
+ ], o.prototype, "separator", 2);
196
+ h([
197
+ l({ type: String })
198
+ ], o.prototype, "label", 2);
199
+ h([
200
+ l({ type: Number, attribute: "max-items" })
201
+ ], o.prototype, "maxItems", 2);
202
+ h([
203
+ l({ type: Boolean, attribute: "json-ld" })
204
+ ], o.prototype, "jsonLd", 2);
205
+ o = h([
206
+ b("hx-breadcrumb")
207
+ ], o);
208
+ const g = m`
209
+ :host {
210
+ display: inline-flex;
211
+ align-items: center;
212
+ }
213
+
214
+ [part='item'] {
215
+ display: contents;
216
+ }
217
+
218
+ [part='link'] {
219
+ color: var(--hx-breadcrumb-link-color, var(--hx-color-primary-600));
220
+ text-decoration: none;
221
+ cursor: pointer;
222
+ font-family: inherit;
223
+ font-size: inherit;
224
+ max-width: var(--hx-breadcrumb-item-max-width);
225
+ overflow: hidden;
226
+ text-overflow: ellipsis;
227
+ white-space: nowrap;
228
+ }
229
+
230
+ [part='link']:hover {
231
+ color: var(--hx-breadcrumb-link-hover-color, var(--hx-color-primary-700));
232
+ text-decoration: underline;
233
+ }
234
+
235
+ [part='link']:focus-visible {
236
+ outline: 2px solid var(--hx-focus-ring-color, var(--hx-color-primary-500));
237
+ outline-offset: 2px;
238
+ border-radius: var(--hx-border-radius-sm, 0.125rem);
239
+ }
240
+
241
+ [part='text'] {
242
+ color: var(--hx-breadcrumb-text-color, var(--hx-color-neutral-700));
243
+ font-family: inherit;
244
+ font-size: inherit;
245
+ max-width: var(--hx-breadcrumb-item-max-width);
246
+ overflow: hidden;
247
+ text-overflow: ellipsis;
248
+ white-space: nowrap;
249
+ }
250
+
251
+ .separator {
252
+ margin-inline: var(--hx-breadcrumb-separator-gap, var(--hx-space-1, 0.25rem));
253
+ color: var(--hx-breadcrumb-separator-color, var(--hx-color-neutral-400));
254
+ user-select: none;
255
+ }
256
+
257
+ .separator::before {
258
+ content: var(--hx-breadcrumb-separator-content, '/');
259
+ }
260
+
261
+ /* Normalize buttons slotted into breadcrumb items (e.g. the expand-ellipsis button). */
262
+ ::slotted(button) {
263
+ background: none;
264
+ border: none;
265
+ cursor: pointer;
266
+ font: inherit;
267
+ color: inherit;
268
+ padding: 0;
269
+ }
270
+ `;
271
+ var L = Object.defineProperty, C = Object.getOwnPropertyDescriptor, p = (e, s, t, i) => {
272
+ for (var r = i > 1 ? void 0 : i ? C(s, t) : s, a = e.length - 1, n; a >= 0; a--)
273
+ (n = e[a]) && (r = (i ? n(s, t, r) : n(r)) || r);
274
+ return i && r && L(s, t, r), r;
275
+ };
276
+ let c = class extends u {
277
+ constructor() {
278
+ super(...arguments), this.href = void 0, this.dataBcLast = !1, this.current = !1;
279
+ }
280
+ connectedCallback() {
281
+ super.connectedCallback(), this.closest("hx-breadcrumb") !== null ? this.setAttribute("role", "listitem") : this.removeAttribute("role");
282
+ }
283
+ render() {
284
+ return d`
285
+ <span part="item">
286
+ ${this.current ? d`<span part="text" aria-current="page"><slot></slot></span>` : this.href ? d`<a part="link" href=${this.href}><slot></slot></a>` : d`<span part="text"><slot></slot></span>`}
287
+ </span>
288
+ ${this.dataBcLast ? x : d`<span class="separator" part="separator" aria-hidden="true"></span>`}
289
+ `;
290
+ }
291
+ };
292
+ c.styles = [f, g];
293
+ p([
294
+ l({ type: String, reflect: !0 })
295
+ ], c.prototype, "href", 2);
296
+ p([
297
+ l({ type: Boolean, attribute: "data-bc-last", reflect: !0 })
298
+ ], c.prototype, "dataBcLast", 2);
299
+ p([
300
+ l({ type: Boolean, reflect: !0 })
301
+ ], c.prototype, "current", 2);
302
+ c = p([
303
+ b("hx-breadcrumb-item")
304
+ ], c);
305
+ export {
306
+ o as H,
307
+ c as a
308
+ };
309
+ //# sourceMappingURL=hx-breadcrumb-item-BSBMWQHz.js.map