@helixui/library 1.0.1 → 1.1.2

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 (466) hide show
  1. package/custom-elements.json +2936 -9700
  2. package/dist/components/hx-accordion/hx-accordion-item.d.ts +7 -0
  3. package/dist/components/hx-accordion/hx-accordion-item.d.ts.map +1 -1
  4. package/dist/components/hx-accordion/hx-accordion.d.ts +3 -0
  5. package/dist/components/hx-accordion/hx-accordion.d.ts.map +1 -1
  6. package/dist/components/hx-accordion/index.js +1 -1
  7. package/dist/components/hx-action-bar/hx-action-bar.d.ts +13 -3
  8. package/dist/components/hx-action-bar/hx-action-bar.d.ts.map +1 -1
  9. package/dist/components/hx-action-bar/index.js +1 -1
  10. package/dist/components/hx-alert/hx-alert.d.ts +23 -0
  11. package/dist/components/hx-alert/hx-alert.d.ts.map +1 -1
  12. package/dist/components/hx-alert/hx-alert.styles.d.ts.map +1 -1
  13. package/dist/components/hx-alert/index.js +1 -1
  14. package/dist/components/hx-avatar/hx-avatar.d.ts +8 -1
  15. package/dist/components/hx-avatar/hx-avatar.d.ts.map +1 -1
  16. package/dist/components/hx-avatar/index.js +1 -1
  17. package/dist/components/hx-badge/hx-badge.d.ts +8 -1
  18. package/dist/components/hx-badge/hx-badge.d.ts.map +1 -1
  19. package/dist/components/hx-badge/index.js +1 -1
  20. package/dist/components/hx-banner/hx-banner.d.ts +11 -0
  21. package/dist/components/hx-banner/hx-banner.d.ts.map +1 -1
  22. package/dist/components/hx-banner/index.js +1 -1
  23. package/dist/components/hx-breadcrumb/hx-breadcrumb.d.ts +17 -2
  24. package/dist/components/hx-breadcrumb/hx-breadcrumb.d.ts.map +1 -1
  25. package/dist/components/hx-breadcrumb/index.js +1 -1
  26. package/dist/components/hx-button/hx-button.d.ts +6 -0
  27. package/dist/components/hx-button/hx-button.d.ts.map +1 -1
  28. package/dist/components/hx-button/hx-button.styles.d.ts.map +1 -1
  29. package/dist/components/hx-button/index.js +1 -1
  30. package/dist/components/hx-card/hx-card.d.ts +7 -0
  31. package/dist/components/hx-card/hx-card.d.ts.map +1 -1
  32. package/dist/components/hx-card/index.js +1 -1
  33. package/dist/components/hx-carousel/hx-carousel-item.d.ts +2 -0
  34. package/dist/components/hx-carousel/hx-carousel-item.d.ts.map +1 -1
  35. package/dist/components/hx-carousel/hx-carousel-item.styles.d.ts +2 -0
  36. package/dist/components/hx-carousel/hx-carousel-item.styles.d.ts.map +1 -0
  37. package/dist/components/hx-carousel/hx-carousel.d.ts +27 -0
  38. package/dist/components/hx-carousel/hx-carousel.d.ts.map +1 -1
  39. package/dist/components/hx-carousel/index.js +1 -1
  40. package/dist/components/hx-checkbox/hx-checkbox.d.ts +18 -2
  41. package/dist/components/hx-checkbox/hx-checkbox.d.ts.map +1 -1
  42. package/dist/components/hx-checkbox/index.js +1 -1
  43. package/dist/components/hx-checkbox-group/hx-checkbox-group.d.ts +20 -4
  44. package/dist/components/hx-checkbox-group/hx-checkbox-group.d.ts.map +1 -1
  45. package/dist/components/hx-checkbox-group/index.js +1 -1
  46. package/dist/components/hx-code-snippet/hx-code-snippet.d.ts +10 -0
  47. package/dist/components/hx-code-snippet/hx-code-snippet.d.ts.map +1 -1
  48. package/dist/components/hx-code-snippet/hx-code-snippet.styles.d.ts.map +1 -1
  49. package/dist/components/hx-code-snippet/index.js +1 -1
  50. package/dist/components/hx-color-picker/hx-color-picker.d.ts +70 -2
  51. package/dist/components/hx-color-picker/hx-color-picker.d.ts.map +1 -1
  52. package/dist/components/hx-color-picker/hx-color-picker.styles.d.ts.map +1 -1
  53. package/dist/components/hx-color-picker/index.js +1 -1
  54. package/dist/components/hx-combobox/hx-combobox.d.ts +37 -2
  55. package/dist/components/hx-combobox/hx-combobox.d.ts.map +1 -1
  56. package/dist/components/hx-combobox/hx-combobox.styles.d.ts.map +1 -1
  57. package/dist/components/hx-combobox/index.js +1 -1
  58. package/dist/components/hx-copy-button/hx-copy-button.d.ts +11 -0
  59. package/dist/components/hx-copy-button/hx-copy-button.d.ts.map +1 -1
  60. package/dist/components/hx-copy-button/index.js +1 -1
  61. package/dist/components/hx-counter/hx-counter.d.ts +12 -3
  62. package/dist/components/hx-counter/hx-counter.d.ts.map +1 -1
  63. package/dist/components/hx-counter/index.js +1 -1
  64. package/dist/components/hx-data-table/hx-data-table.d.ts +19 -2
  65. package/dist/components/hx-data-table/hx-data-table.d.ts.map +1 -1
  66. package/dist/components/hx-data-table/hx-data-table.styles.d.ts.map +1 -1
  67. package/dist/components/hx-data-table/index.js +1 -1
  68. package/dist/components/hx-date-picker/hx-date-picker.d.ts +62 -3
  69. package/dist/components/hx-date-picker/hx-date-picker.d.ts.map +1 -1
  70. package/dist/components/hx-date-picker/hx-date-picker.styles.d.ts.map +1 -1
  71. package/dist/components/hx-date-picker/index.js +1 -1
  72. package/dist/components/hx-dialog/hx-dialog.d.ts +31 -4
  73. package/dist/components/hx-dialog/hx-dialog.d.ts.map +1 -1
  74. package/dist/components/hx-dialog/hx-dialog.styles.d.ts.map +1 -1
  75. package/dist/components/hx-dialog/index.js +1 -1
  76. package/dist/components/hx-divider/hx-divider.d.ts +4 -1
  77. package/dist/components/hx-divider/hx-divider.d.ts.map +1 -1
  78. package/dist/components/hx-divider/index.js +1 -1
  79. package/dist/components/hx-drawer/hx-drawer.d.ts +25 -3
  80. package/dist/components/hx-drawer/hx-drawer.d.ts.map +1 -1
  81. package/dist/components/hx-drawer/hx-drawer.styles.d.ts.map +1 -1
  82. package/dist/components/hx-drawer/index.js +1 -1
  83. package/dist/components/hx-dropdown/hx-dropdown.d.ts +15 -2
  84. package/dist/components/hx-dropdown/hx-dropdown.d.ts.map +1 -1
  85. package/dist/components/hx-dropdown/index.js +1 -1
  86. package/dist/components/hx-field/hx-field.d.ts +10 -2
  87. package/dist/components/hx-field/hx-field.d.ts.map +1 -1
  88. package/dist/components/hx-field/index.js +1 -1
  89. package/dist/components/hx-file-upload/hx-file-upload.d.ts +39 -2
  90. package/dist/components/hx-file-upload/hx-file-upload.d.ts.map +1 -1
  91. package/dist/components/hx-file-upload/hx-file-upload.styles.d.ts.map +1 -1
  92. package/dist/components/hx-file-upload/index.js +1 -1
  93. package/dist/components/hx-form/hx-form.d.ts.map +1 -1
  94. package/dist/components/hx-form/index.js +1 -1
  95. package/dist/components/hx-format-date/hx-format-date.d.ts +8 -0
  96. package/dist/components/hx-format-date/hx-format-date.d.ts.map +1 -1
  97. package/dist/components/hx-format-date/index.js +1 -1
  98. package/dist/components/hx-grid/hx-grid.d.ts +9 -3
  99. package/dist/components/hx-grid/hx-grid.d.ts.map +1 -1
  100. package/dist/components/hx-grid/index.js +1 -1
  101. package/dist/components/hx-help-text/index.js +1 -1
  102. package/dist/components/hx-icon/hx-icon.d.ts +10 -2
  103. package/dist/components/hx-icon/hx-icon.d.ts.map +1 -1
  104. package/dist/components/hx-icon/index.js +1 -1
  105. package/dist/components/hx-icon-button/hx-icon-button.d.ts +11 -0
  106. package/dist/components/hx-icon-button/hx-icon-button.d.ts.map +1 -1
  107. package/dist/components/hx-icon-button/index.js +1 -1
  108. package/dist/components/hx-image/hx-image.d.ts +8 -0
  109. package/dist/components/hx-image/hx-image.d.ts.map +1 -1
  110. package/dist/components/hx-image/index.js +1 -1
  111. package/dist/components/hx-link/hx-link.d.ts +3 -0
  112. package/dist/components/hx-link/hx-link.d.ts.map +1 -1
  113. package/dist/components/hx-link/hx-link.styles.d.ts.map +1 -1
  114. package/dist/components/hx-link/index.js +1 -1
  115. package/dist/components/hx-list/hx-list-item.d.ts +8 -2
  116. package/dist/components/hx-list/hx-list-item.d.ts.map +1 -1
  117. package/dist/components/hx-list/hx-list-item.styles.d.ts.map +1 -1
  118. package/dist/components/hx-list/hx-list.d.ts +6 -2
  119. package/dist/components/hx-list/hx-list.d.ts.map +1 -1
  120. package/dist/components/hx-list/index.js +1 -1
  121. package/dist/components/hx-menu/hx-menu-item.d.ts +11 -0
  122. package/dist/components/hx-menu/hx-menu-item.d.ts.map +1 -1
  123. package/dist/components/hx-menu/hx-menu-item.styles.d.ts.map +1 -1
  124. package/dist/components/hx-menu/hx-menu.d.ts +10 -1
  125. package/dist/components/hx-menu/hx-menu.d.ts.map +1 -1
  126. package/dist/components/hx-menu/index.js +1 -1
  127. package/dist/components/hx-meter/hx-meter.d.ts +8 -0
  128. package/dist/components/hx-meter/hx-meter.d.ts.map +1 -1
  129. package/dist/components/hx-meter/hx-meter.styles.d.ts.map +1 -1
  130. package/dist/components/hx-meter/index.js +1 -1
  131. package/dist/components/hx-nav/hx-nav.d.ts +15 -0
  132. package/dist/components/hx-nav/hx-nav.d.ts.map +1 -1
  133. package/dist/components/hx-nav/index.js +1 -1
  134. package/dist/components/hx-number-input/hx-number-input.d.ts +47 -1
  135. package/dist/components/hx-number-input/hx-number-input.d.ts.map +1 -1
  136. package/dist/components/hx-number-input/index.js +1 -1
  137. package/dist/components/hx-overflow-menu/hx-overflow-menu.d.ts +15 -0
  138. package/dist/components/hx-overflow-menu/hx-overflow-menu.d.ts.map +1 -1
  139. package/dist/components/hx-overflow-menu/index.js +1 -1
  140. package/dist/components/hx-pagination/hx-pagination.d.ts +30 -0
  141. package/dist/components/hx-pagination/hx-pagination.d.ts.map +1 -1
  142. package/dist/components/hx-pagination/index.js +1 -1
  143. package/dist/components/hx-popover/hx-popover.d.ts +53 -2
  144. package/dist/components/hx-popover/hx-popover.d.ts.map +1 -1
  145. package/dist/components/hx-popover/index.js +1 -1
  146. package/dist/components/hx-popup/hx-popup.d.ts +8 -0
  147. package/dist/components/hx-popup/hx-popup.d.ts.map +1 -1
  148. package/dist/components/hx-popup/hx-popup.styles.d.ts.map +1 -1
  149. package/dist/components/hx-popup/index.js +1 -1
  150. package/dist/components/hx-progress-bar/hx-progress-bar.d.ts +8 -2
  151. package/dist/components/hx-progress-bar/hx-progress-bar.d.ts.map +1 -1
  152. package/dist/components/hx-progress-bar/hx-progress-bar.styles.d.ts.map +1 -1
  153. package/dist/components/hx-progress-bar/index.js +1 -1
  154. package/dist/components/hx-progress-ring/hx-progress-ring.d.ts +8 -2
  155. package/dist/components/hx-progress-ring/hx-progress-ring.d.ts.map +1 -1
  156. package/dist/components/hx-progress-ring/index.js +1 -1
  157. package/dist/components/hx-prose/hx-prose.d.ts +5 -3
  158. package/dist/components/hx-prose/hx-prose.d.ts.map +1 -1
  159. package/dist/components/hx-prose/index.js +1 -1
  160. package/dist/components/hx-radio-group/hx-radio-group.d.ts.map +1 -1
  161. package/dist/components/hx-radio-group/hx-radio.d.ts +4 -2
  162. package/dist/components/hx-radio-group/hx-radio.d.ts.map +1 -1
  163. package/dist/components/hx-radio-group/hx-radio.styles.d.ts.map +1 -1
  164. package/dist/components/hx-radio-group/index.js +1 -1
  165. package/dist/components/hx-rating/hx-rating.d.ts +54 -2
  166. package/dist/components/hx-rating/hx-rating.d.ts.map +1 -1
  167. package/dist/components/hx-rating/index.js +1 -1
  168. package/dist/components/hx-select/hx-select.d.ts +22 -2
  169. package/dist/components/hx-select/hx-select.d.ts.map +1 -1
  170. package/dist/components/hx-select/hx-select.styles.d.ts.map +1 -1
  171. package/dist/components/hx-select/index.js +1 -1
  172. package/dist/components/hx-side-nav/hx-nav-item.d.ts +6 -0
  173. package/dist/components/hx-side-nav/hx-nav-item.d.ts.map +1 -1
  174. package/dist/components/hx-side-nav/hx-nav-item.styles.d.ts.map +1 -1
  175. package/dist/components/hx-side-nav/hx-side-nav.d.ts +6 -1
  176. package/dist/components/hx-side-nav/hx-side-nav.d.ts.map +1 -1
  177. package/dist/components/hx-side-nav/hx-side-nav.styles.d.ts.map +1 -1
  178. package/dist/components/hx-side-nav/index.js +1 -1
  179. package/dist/components/hx-slider/hx-slider.d.ts +22 -1
  180. package/dist/components/hx-slider/hx-slider.d.ts.map +1 -1
  181. package/dist/components/hx-slider/hx-slider.styles.d.ts.map +1 -1
  182. package/dist/components/hx-slider/index.js +1 -1
  183. package/dist/components/hx-spinner/hx-spinner.d.ts +3 -1
  184. package/dist/components/hx-spinner/hx-spinner.d.ts.map +1 -1
  185. package/dist/components/hx-spinner/index.js +1 -1
  186. package/dist/components/hx-split-button/hx-split-button.d.ts +12 -0
  187. package/dist/components/hx-split-button/hx-split-button.d.ts.map +1 -1
  188. package/dist/components/hx-split-button/index.js +1 -1
  189. package/dist/components/hx-split-panel/hx-split-panel.d.ts +32 -2
  190. package/dist/components/hx-split-panel/hx-split-panel.d.ts.map +1 -1
  191. package/dist/components/hx-split-panel/hx-split-panel.styles.d.ts.map +1 -1
  192. package/dist/components/hx-split-panel/index.js +1 -1
  193. package/dist/components/hx-stack/index.js +1 -1
  194. package/dist/components/hx-stat/hx-stat.d.ts +5 -1
  195. package/dist/components/hx-stat/hx-stat.d.ts.map +1 -1
  196. package/dist/components/hx-stat/index.js +1 -1
  197. package/dist/components/hx-status-indicator/hx-status-indicator.d.ts +13 -12
  198. package/dist/components/hx-status-indicator/hx-status-indicator.d.ts.map +1 -1
  199. package/dist/components/hx-status-indicator/index.js +1 -1
  200. package/dist/components/hx-steps/hx-step.d.ts +7 -9
  201. package/dist/components/hx-steps/hx-step.d.ts.map +1 -1
  202. package/dist/components/hx-steps/hx-step.styles.d.ts.map +1 -1
  203. package/dist/components/hx-steps/hx-steps.d.ts +3 -3
  204. package/dist/components/hx-steps/hx-steps.d.ts.map +1 -1
  205. package/dist/components/hx-steps/index.js +1 -1
  206. package/dist/components/hx-switch/hx-switch.d.ts +21 -1
  207. package/dist/components/hx-switch/hx-switch.d.ts.map +1 -1
  208. package/dist/components/hx-switch/index.js +1 -1
  209. package/dist/components/hx-table/hx-table.d.ts +7 -2
  210. package/dist/components/hx-table/hx-table.d.ts.map +1 -1
  211. package/dist/components/hx-table/hx-table.styles.d.ts.map +1 -1
  212. package/dist/components/hx-table/hx-th.d.ts +4 -0
  213. package/dist/components/hx-table/hx-th.d.ts.map +1 -1
  214. package/dist/components/hx-table/index.js +1 -1
  215. package/dist/components/hx-tabs/hx-tab.d.ts +3 -0
  216. package/dist/components/hx-tabs/hx-tab.d.ts.map +1 -1
  217. package/dist/components/hx-tabs/hx-tabs.d.ts +6 -0
  218. package/dist/components/hx-tabs/hx-tabs.d.ts.map +1 -1
  219. package/dist/components/hx-tabs/index.js +1 -1
  220. package/dist/components/hx-tag/hx-tag.d.ts +2 -0
  221. package/dist/components/hx-tag/hx-tag.d.ts.map +1 -1
  222. package/dist/components/hx-tag/index.js +1 -1
  223. package/dist/components/hx-text/hx-text.d.ts +1 -0
  224. package/dist/components/hx-text/hx-text.d.ts.map +1 -1
  225. package/dist/components/hx-text/index.js +1 -1
  226. package/dist/components/hx-text-input/hx-text-input.d.ts +8 -3
  227. package/dist/components/hx-text-input/hx-text-input.d.ts.map +1 -1
  228. package/dist/components/hx-text-input/index.js +1 -1
  229. package/dist/components/hx-textarea/hx-textarea.d.ts +9 -3
  230. package/dist/components/hx-textarea/hx-textarea.d.ts.map +1 -1
  231. package/dist/components/hx-textarea/hx-textarea.styles.d.ts.map +1 -1
  232. package/dist/components/hx-textarea/index.js +1 -1
  233. package/dist/components/hx-theme/hx-theme.d.ts +2 -2
  234. package/dist/components/hx-theme/hx-theme.d.ts.map +1 -1
  235. package/dist/components/hx-time-picker/hx-time-picker.d.ts +22 -3
  236. package/dist/components/hx-time-picker/hx-time-picker.d.ts.map +1 -1
  237. package/dist/components/hx-time-picker/hx-time-picker.styles.d.ts.map +1 -1
  238. package/dist/components/hx-time-picker/index.js +1 -1
  239. package/dist/components/hx-toast/hx-toast.d.ts +8 -0
  240. package/dist/components/hx-toast/hx-toast.d.ts.map +1 -1
  241. package/dist/components/hx-toast/hx-toast.styles.d.ts.map +1 -1
  242. package/dist/components/hx-toast/index.js +1 -1
  243. package/dist/components/hx-toggle-button/hx-toggle-button.d.ts +23 -0
  244. package/dist/components/hx-toggle-button/hx-toggle-button.d.ts.map +1 -1
  245. package/dist/components/hx-toggle-button/index.js +1 -1
  246. package/dist/components/hx-tooltip/hx-tooltip.d.ts +57 -0
  247. package/dist/components/hx-tooltip/hx-tooltip.d.ts.map +1 -1
  248. package/dist/components/hx-tooltip/index.js +1 -1
  249. package/dist/components/hx-top-nav/hx-top-nav.d.ts +4 -0
  250. package/dist/components/hx-top-nav/hx-top-nav.d.ts.map +1 -1
  251. package/dist/components/hx-top-nav/index.js +1 -1
  252. package/dist/components/hx-tree-view/hx-tree-item.d.ts +2 -0
  253. package/dist/components/hx-tree-view/hx-tree-item.d.ts.map +1 -1
  254. package/dist/components/hx-tree-view/hx-tree-view.d.ts +11 -0
  255. package/dist/components/hx-tree-view/hx-tree-view.d.ts.map +1 -1
  256. package/dist/components/hx-tree-view/index.js +1 -1
  257. package/dist/index.js +70 -70
  258. package/dist/shared/{hx-accordion-DT8qHOay.js → hx-accordion-D1kFhdeQ.js} +15 -3
  259. package/dist/shared/hx-accordion-D1kFhdeQ.js.map +1 -0
  260. package/dist/shared/{hx-action-bar-we_WJety.js → hx-action-bar-D4bulGQP.js} +38 -31
  261. package/dist/shared/hx-action-bar-D4bulGQP.js.map +1 -0
  262. package/dist/shared/{hx-alert-D6uok29t.js → hx-alert-CSxCF2rr.js} +74 -53
  263. package/dist/shared/hx-alert-CSxCF2rr.js.map +1 -0
  264. package/dist/shared/{hx-avatar-Cep6Urm3.js → hx-avatar-Cun-O99h.js} +5 -1
  265. package/dist/shared/hx-avatar-Cun-O99h.js.map +1 -0
  266. package/dist/shared/{hx-badge-BeuWuUj_.js → hx-badge-CsFd2xtw.js} +53 -43
  267. package/dist/shared/hx-badge-CsFd2xtw.js.map +1 -0
  268. package/dist/shared/{hx-banner-DnCBJtRR.js → hx-banner-BTV-X2xF.js} +55 -43
  269. package/dist/shared/{hx-banner-DnCBJtRR.js.map → hx-banner-BTV-X2xF.js.map} +1 -1
  270. package/dist/shared/{hx-breadcrumb-item-Bj2UqhzR.js → hx-breadcrumb-item-4IwaLgaO.js} +34 -22
  271. package/dist/shared/hx-breadcrumb-item-4IwaLgaO.js.map +1 -0
  272. package/dist/shared/{hx-button-Cbhqpm5i.js → hx-button-7k-KeCYU.js} +29 -15
  273. package/dist/shared/hx-button-7k-KeCYU.js.map +1 -0
  274. package/dist/shared/{hx-card-B9j2SHyI.js → hx-card-0hT3G5hi.js} +10 -3
  275. package/dist/shared/hx-card-0hT3G5hi.js.map +1 -0
  276. package/dist/shared/{hx-carousel-item-Be0bC-7o.js → hx-carousel-item-DgeYyYZJ.js} +106 -89
  277. package/dist/shared/hx-carousel-item-DgeYyYZJ.js.map +1 -0
  278. package/dist/shared/{hx-checkbox-CuaJqEo7.js → hx-checkbox-BvjO-O41.js} +13 -6
  279. package/dist/shared/hx-checkbox-BvjO-O41.js.map +1 -0
  280. package/dist/shared/{hx-checkbox-group-ydUdV9Sx.js → hx-checkbox-group-Z5VvWzcj.js} +50 -37
  281. package/dist/shared/hx-checkbox-group-Z5VvWzcj.js.map +1 -0
  282. package/dist/shared/{hx-code-snippet-DBwIjl5p.js → hx-code-snippet-DqzPkH4K.js} +17 -1
  283. package/dist/shared/hx-code-snippet-DqzPkH4K.js.map +1 -0
  284. package/dist/shared/hx-color-picker-Da8z6AlQ.js +596 -0
  285. package/dist/shared/hx-color-picker-Da8z6AlQ.js.map +1 -0
  286. package/dist/shared/{hx-combobox-CNvY-es8.js → hx-combobox-CivfelTS.js} +93 -459
  287. package/dist/shared/hx-combobox-CivfelTS.js.map +1 -0
  288. package/dist/shared/{hx-copy-button-CLBA31to.js → hx-copy-button--0dymSvw.js} +9 -1
  289. package/dist/shared/{hx-copy-button-CLBA31to.js.map → hx-copy-button--0dymSvw.js.map} +1 -1
  290. package/dist/shared/{hx-counter-D-1NXzGs.js → hx-counter-Duf00H7p.js} +58 -49
  291. package/dist/shared/hx-counter-Duf00H7p.js.map +1 -0
  292. package/dist/shared/{hx-data-table-BwoJCFgs.js → hx-data-table-BWvd5NNx.js} +123 -89
  293. package/dist/shared/hx-data-table-BWvd5NNx.js.map +1 -0
  294. package/dist/shared/{hx-date-picker-DDcIBJir.js → hx-date-picker-6voxxxNE.js} +119 -485
  295. package/dist/shared/hx-date-picker-6voxxxNE.js.map +1 -0
  296. package/dist/shared/{hx-dialog-M7so0sRT.js → hx-dialog-DkUSnVgw.js} +72 -52
  297. package/dist/shared/hx-dialog-DkUSnVgw.js.map +1 -0
  298. package/dist/shared/{hx-divider-XgWIz4Mr.js → hx-divider-DNNs4e8q.js} +2 -1
  299. package/dist/shared/{hx-divider-XgWIz4Mr.js.map → hx-divider-DNNs4e8q.js.map} +1 -1
  300. package/dist/shared/{hx-drawer-CYxuhIQ0.js → hx-drawer-CJcRZcns.js} +85 -56
  301. package/dist/shared/hx-drawer-CJcRZcns.js.map +1 -0
  302. package/dist/shared/{hx-dropdown-7cfowTWv.js → hx-dropdown-Bo0KTM1A.js} +29 -20
  303. package/dist/shared/hx-dropdown-Bo0KTM1A.js.map +1 -0
  304. package/dist/shared/{hx-field-CDP8EXuj.js → hx-field-3MmzJ4kZ.js} +21 -13
  305. package/dist/shared/hx-field-3MmzJ4kZ.js.map +1 -0
  306. package/dist/shared/{hx-file-upload-9HbONfqt.js → hx-file-upload-ByjAgfNy.js} +103 -64
  307. package/dist/shared/hx-file-upload-ByjAgfNy.js.map +1 -0
  308. package/dist/shared/hx-form-BpS6v3Iu.js +258 -0
  309. package/dist/shared/hx-form-BpS6v3Iu.js.map +1 -0
  310. package/dist/shared/{hx-format-date-BsVr8gpD.js → hx-format-date-BdnWV2kX.js} +7 -1
  311. package/dist/shared/hx-format-date-BdnWV2kX.js.map +1 -0
  312. package/dist/shared/{hx-grid-BsDBCTbt.js → hx-grid-gEjuF0cR.js} +25 -18
  313. package/dist/shared/hx-grid-gEjuF0cR.js.map +1 -0
  314. package/dist/shared/{hx-help-text-DaOPN1iB.js → hx-help-text-BAcEGRUE.js} +2 -2
  315. package/dist/shared/{hx-help-text-DaOPN1iB.js.map → hx-help-text-BAcEGRUE.js.map} +1 -1
  316. package/dist/shared/{hx-icon--xsJztDh.js → hx-icon-CP6OnLoM.js} +6 -1
  317. package/dist/shared/hx-icon-CP6OnLoM.js.map +1 -0
  318. package/dist/shared/{hx-icon-button-iu0i_faq.js → hx-icon-button-DzH_bRtC.js} +15 -1
  319. package/dist/shared/{hx-icon-button-iu0i_faq.js.map → hx-icon-button-DzH_bRtC.js.map} +1 -1
  320. package/dist/shared/{hx-image-xyb_tHCR.js → hx-image-C6pGiI6c.js} +6 -1
  321. package/dist/shared/hx-image-C6pGiI6c.js.map +1 -0
  322. package/dist/shared/{hx-link-DfNy_UU8.js → hx-link-Tmk_YPvW.js} +46 -37
  323. package/dist/shared/hx-link-Tmk_YPvW.js.map +1 -0
  324. package/dist/shared/{hx-list-CdRNgeoP.js → hx-list-DwInEX2H.js} +63 -37
  325. package/dist/shared/hx-list-DwInEX2H.js.map +1 -0
  326. package/dist/shared/{hx-menu-divider-DR8klkFT.js → hx-menu-divider-DR4G_rqw.js} +71 -40
  327. package/dist/shared/hx-menu-divider-DR4G_rqw.js.map +1 -0
  328. package/dist/shared/{hx-meter-CZ7lnMra.js → hx-meter-uXkTZq-W.js} +77 -61
  329. package/dist/shared/hx-meter-uXkTZq-W.js.map +1 -0
  330. package/dist/shared/{hx-nav-DM6-cGKF.js → hx-nav-3JsN2Oak.js} +64 -47
  331. package/dist/shared/hx-nav-3JsN2Oak.js.map +1 -0
  332. package/dist/shared/{hx-nav-item-D54-5eUM.js → hx-nav-item-D3EJatzc.js} +40 -16
  333. package/dist/shared/hx-nav-item-D3EJatzc.js.map +1 -0
  334. package/dist/shared/{hx-number-input-BP6TIA92.js → hx-number-input-CIpL2BEh.js} +65 -34
  335. package/dist/shared/hx-number-input-CIpL2BEh.js.map +1 -0
  336. package/dist/shared/{hx-overflow-menu-CobkjAb8.js → hx-overflow-menu-2kgOJ_ht.js} +76 -64
  337. package/dist/shared/hx-overflow-menu-2kgOJ_ht.js.map +1 -0
  338. package/dist/shared/{hx-pagination-10dpXS95.js → hx-pagination-Blt-fFqV.js} +113 -94
  339. package/dist/shared/hx-pagination-Blt-fFqV.js.map +1 -0
  340. package/dist/shared/{hx-popover-ULjonbaO.js → hx-popover-DxE67miP.js} +71 -66
  341. package/dist/shared/hx-popover-DxE67miP.js.map +1 -0
  342. package/dist/shared/{hx-popup-CYf9Q5sj.js → hx-popup-Dg6n_PbY.js} +13 -1
  343. package/dist/shared/hx-popup-Dg6n_PbY.js.map +1 -0
  344. package/dist/shared/{hx-progress-bar-CnTibV63.js → hx-progress-bar-Dm_EHyng.js} +65 -47
  345. package/dist/shared/hx-progress-bar-Dm_EHyng.js.map +1 -0
  346. package/dist/shared/{hx-progress-ring-BHJBaXNk.js → hx-progress-ring-DpxBDD5d.js} +35 -28
  347. package/dist/shared/hx-progress-ring-DpxBDD5d.js.map +1 -0
  348. package/dist/shared/hx-prose-Ml_L2zje.js +59 -0
  349. package/dist/shared/hx-prose-Ml_L2zje.js.map +1 -0
  350. package/dist/shared/{hx-radio-BnKcRuQu.js → hx-radio-BywgVSEu.js} +7 -8
  351. package/dist/shared/hx-radio-BywgVSEu.js.map +1 -0
  352. package/dist/shared/{hx-rating-Y_t7Z4qb.js → hx-rating-CUWBQ0fZ.js} +131 -64
  353. package/dist/shared/hx-rating-CUWBQ0fZ.js.map +1 -0
  354. package/dist/shared/{hx-select-C50lD7NS.js → hx-select-BwDwxk-M.js} +107 -169
  355. package/dist/shared/hx-select-BwDwxk-M.js.map +1 -0
  356. package/dist/shared/hx-skeleton-BHvALyd7.js.map +1 -1
  357. package/dist/shared/{hx-slider-CprSNrRi.js → hx-slider-D_0EKJyk.js} +23 -7
  358. package/dist/shared/hx-slider-D_0EKJyk.js.map +1 -0
  359. package/dist/shared/{hx-spinner-BOApJ-g9.js → hx-spinner-DMn4SChS.js} +35 -28
  360. package/dist/shared/hx-spinner-DMn4SChS.js.map +1 -0
  361. package/dist/shared/{hx-split-button-CHGy4FUc.js → hx-split-button-CypgLXw1.js} +14 -3
  362. package/dist/shared/{hx-split-button-CHGy4FUc.js.map → hx-split-button-CypgLXw1.js.map} +1 -1
  363. package/dist/shared/{hx-split-panel-DYtB45Tr.js → hx-split-panel-CV_Kr4EK.js} +58 -37
  364. package/dist/shared/hx-split-panel-CV_Kr4EK.js.map +1 -0
  365. package/dist/shared/{hx-stack-CfoW7jU7.js → hx-stack-BStY1RmV.js} +29 -29
  366. package/dist/shared/hx-stack-BStY1RmV.js.map +1 -0
  367. package/dist/shared/{hx-stat-C2wfph8W.js → hx-stat-CHntLHJM.js} +18 -10
  368. package/dist/shared/hx-stat-CHntLHJM.js.map +1 -0
  369. package/dist/shared/{hx-status-indicator-oYWOkWlD.js → hx-status-indicator-C1BwEvUw.js} +15 -12
  370. package/dist/shared/hx-status-indicator-C1BwEvUw.js.map +1 -0
  371. package/dist/shared/{hx-step-DYoIumpR.js → hx-step-BIVWSPxd.js} +45 -33
  372. package/dist/shared/hx-step-BIVWSPxd.js.map +1 -0
  373. package/dist/shared/{hx-switch-DkKchcuP.js → hx-switch-BgX8kuWt.js} +12 -3
  374. package/dist/shared/hx-switch-BgX8kuWt.js.map +1 -0
  375. package/dist/shared/{hx-tab-panel-BRNcLICw.js → hx-tab-panel-DhOq67jj.js} +11 -2
  376. package/dist/shared/hx-tab-panel-DhOq67jj.js.map +1 -0
  377. package/dist/shared/{hx-tag-B3N-vZ6B.js → hx-tag-CzOTDcXI.js} +2 -1
  378. package/dist/shared/{hx-tag-B3N-vZ6B.js.map → hx-tag-CzOTDcXI.js.map} +1 -1
  379. package/dist/shared/{hx-td-CVwCGBYf.js → hx-td-h6oeW6YC.js} +43 -41
  380. package/dist/shared/hx-td-h6oeW6YC.js.map +1 -0
  381. package/dist/shared/{hx-text-NjKoQATI.js → hx-text-DTXjiviE.js} +2 -1
  382. package/dist/shared/{hx-text-NjKoQATI.js.map → hx-text-DTXjiviE.js.map} +1 -1
  383. package/dist/shared/{hx-text-input-CCZZbWQ9.js → hx-text-input-CqEdDHMU.js} +82 -65
  384. package/dist/shared/hx-text-input-CqEdDHMU.js.map +1 -0
  385. package/dist/shared/{hx-textarea-BsQdB1Rk.js → hx-textarea-BgX7rxyo.js} +21 -12
  386. package/dist/shared/hx-textarea-BgX7rxyo.js.map +1 -0
  387. package/dist/shared/hx-theme-6GDoUG8j.js.map +1 -1
  388. package/dist/shared/{hx-time-picker-CJcIjH3C.js → hx-time-picker-DmLu7WUC.js} +73 -273
  389. package/dist/shared/hx-time-picker-DmLu7WUC.js.map +1 -0
  390. package/dist/shared/{hx-toggle-button-D4F1soEM.js → hx-toggle-button-D1jpDvSA.js} +75 -38
  391. package/dist/shared/hx-toggle-button-D1jpDvSA.js.map +1 -0
  392. package/dist/shared/{hx-tooltip-Bk1iQRHs.js → hx-tooltip-kh7QFPKu.js} +66 -49
  393. package/dist/shared/hx-tooltip-kh7QFPKu.js.map +1 -0
  394. package/dist/shared/{hx-top-nav-D2bQpns3.js → hx-top-nav-DYlnzDaU.js} +3 -1
  395. package/dist/shared/{hx-top-nav-D2bQpns3.js.map → hx-top-nav-DYlnzDaU.js.map} +1 -1
  396. package/dist/shared/{hx-tree-item-BobGN76x.js → hx-tree-item-BP6UF_H1.js} +29 -16
  397. package/dist/shared/hx-tree-item-BP6UF_H1.js.map +1 -0
  398. package/dist/shared/{toast-factory-MvMMreTu.js → toast-factory-DTy-qN8r.js} +70 -59
  399. package/dist/shared/toast-factory-DTy-qN8r.js.map +1 -0
  400. package/dist/styles/shared-field.styles.d.ts +6 -0
  401. package/dist/styles/shared-field.styles.d.ts.map +1 -0
  402. package/package.json +2 -5
  403. package/dist/shared/hx-accordion-DT8qHOay.js.map +0 -1
  404. package/dist/shared/hx-action-bar-we_WJety.js.map +0 -1
  405. package/dist/shared/hx-alert-D6uok29t.js.map +0 -1
  406. package/dist/shared/hx-avatar-Cep6Urm3.js.map +0 -1
  407. package/dist/shared/hx-badge-BeuWuUj_.js.map +0 -1
  408. package/dist/shared/hx-breadcrumb-item-Bj2UqhzR.js.map +0 -1
  409. package/dist/shared/hx-button-Cbhqpm5i.js.map +0 -1
  410. package/dist/shared/hx-card-B9j2SHyI.js.map +0 -1
  411. package/dist/shared/hx-carousel-item-Be0bC-7o.js.map +0 -1
  412. package/dist/shared/hx-checkbox-CuaJqEo7.js.map +0 -1
  413. package/dist/shared/hx-checkbox-group-ydUdV9Sx.js.map +0 -1
  414. package/dist/shared/hx-code-snippet-DBwIjl5p.js.map +0 -1
  415. package/dist/shared/hx-color-picker-Bb2UPVc3.js +0 -803
  416. package/dist/shared/hx-color-picker-Bb2UPVc3.js.map +0 -1
  417. package/dist/shared/hx-combobox-CNvY-es8.js.map +0 -1
  418. package/dist/shared/hx-counter-D-1NXzGs.js.map +0 -1
  419. package/dist/shared/hx-data-table-BwoJCFgs.js.map +0 -1
  420. package/dist/shared/hx-date-picker-DDcIBJir.js.map +0 -1
  421. package/dist/shared/hx-dialog-M7so0sRT.js.map +0 -1
  422. package/dist/shared/hx-drawer-CYxuhIQ0.js.map +0 -1
  423. package/dist/shared/hx-dropdown-7cfowTWv.js.map +0 -1
  424. package/dist/shared/hx-field-CDP8EXuj.js.map +0 -1
  425. package/dist/shared/hx-file-upload-9HbONfqt.js.map +0 -1
  426. package/dist/shared/hx-form-BFv_N1dm.js +0 -1272
  427. package/dist/shared/hx-form-BFv_N1dm.js.map +0 -1
  428. package/dist/shared/hx-format-date-BsVr8gpD.js.map +0 -1
  429. package/dist/shared/hx-grid-BsDBCTbt.js.map +0 -1
  430. package/dist/shared/hx-icon--xsJztDh.js.map +0 -1
  431. package/dist/shared/hx-image-xyb_tHCR.js.map +0 -1
  432. package/dist/shared/hx-link-DfNy_UU8.js.map +0 -1
  433. package/dist/shared/hx-list-CdRNgeoP.js.map +0 -1
  434. package/dist/shared/hx-menu-divider-DR8klkFT.js.map +0 -1
  435. package/dist/shared/hx-meter-CZ7lnMra.js.map +0 -1
  436. package/dist/shared/hx-nav-DM6-cGKF.js.map +0 -1
  437. package/dist/shared/hx-nav-item-D54-5eUM.js.map +0 -1
  438. package/dist/shared/hx-number-input-BP6TIA92.js.map +0 -1
  439. package/dist/shared/hx-overflow-menu-CobkjAb8.js.map +0 -1
  440. package/dist/shared/hx-pagination-10dpXS95.js.map +0 -1
  441. package/dist/shared/hx-popover-ULjonbaO.js.map +0 -1
  442. package/dist/shared/hx-popup-CYf9Q5sj.js.map +0 -1
  443. package/dist/shared/hx-progress-bar-CnTibV63.js.map +0 -1
  444. package/dist/shared/hx-progress-ring-BHJBaXNk.js.map +0 -1
  445. package/dist/shared/hx-prose-DZh2KrMb.js +0 -876
  446. package/dist/shared/hx-prose-DZh2KrMb.js.map +0 -1
  447. package/dist/shared/hx-radio-BnKcRuQu.js.map +0 -1
  448. package/dist/shared/hx-rating-Y_t7Z4qb.js.map +0 -1
  449. package/dist/shared/hx-select-C50lD7NS.js.map +0 -1
  450. package/dist/shared/hx-slider-CprSNrRi.js.map +0 -1
  451. package/dist/shared/hx-spinner-BOApJ-g9.js.map +0 -1
  452. package/dist/shared/hx-split-panel-DYtB45Tr.js.map +0 -1
  453. package/dist/shared/hx-stack-CfoW7jU7.js.map +0 -1
  454. package/dist/shared/hx-stat-C2wfph8W.js.map +0 -1
  455. package/dist/shared/hx-status-indicator-oYWOkWlD.js.map +0 -1
  456. package/dist/shared/hx-step-DYoIumpR.js.map +0 -1
  457. package/dist/shared/hx-switch-DkKchcuP.js.map +0 -1
  458. package/dist/shared/hx-tab-panel-BRNcLICw.js.map +0 -1
  459. package/dist/shared/hx-td-CVwCGBYf.js.map +0 -1
  460. package/dist/shared/hx-text-input-CCZZbWQ9.js.map +0 -1
  461. package/dist/shared/hx-textarea-BsQdB1Rk.js.map +0 -1
  462. package/dist/shared/hx-time-picker-CJcIjH3C.js.map +0 -1
  463. package/dist/shared/hx-toggle-button-D4F1soEM.js.map +0 -1
  464. package/dist/shared/hx-tooltip-Bk1iQRHs.js.map +0 -1
  465. package/dist/shared/hx-tree-item-BobGN76x.js.map +0 -1
  466. package/dist/shared/toast-factory-MvMMreTu.js.map +0 -1
@@ -1,424 +1,9 @@
1
- import { css as b, LitElement as w, html as c, nothing as u } from "lit";
2
- import { property as p, state as v, query as x, customElement as D } from "lit/decorators.js";
1
+ import { css as m, LitElement as w, html as _, nothing as p } from "lit";
2
+ import { property as d, state as v, query as g, customElement as D } from "lit/decorators.js";
3
3
  import { classMap as y } from "lit/directives/class-map.js";
4
- import { ifDefined as g } from "lit/directives/if-defined.js";
4
+ import { ifDefined as b } from "lit/directives/if-defined.js";
5
5
  import { tokenStyles as k } from "@helixui/tokens/lit";
6
- const $ = b`
7
- :host {
8
- display: block;
9
- position: relative;
10
- }
11
-
12
- :host([disabled]) {
13
- opacity: var(--hx-opacity-disabled, 0.5);
14
- pointer-events: none;
15
- }
16
-
17
- * {
18
- box-sizing: border-box;
19
- }
20
-
21
- .field {
22
- display: flex;
23
- flex-direction: column;
24
- gap: var(--hx-space-1, 0.25rem);
25
- font-family: var(--hx-date-picker-font-family, var(--hx-font-family-sans, sans-serif));
26
- position: relative;
27
- }
28
-
29
- /* ─── Label ─── */
30
-
31
- .field__label-wrapper {
32
- display: contents;
33
- }
34
-
35
- .field__label {
36
- display: flex;
37
- align-items: baseline;
38
- gap: var(--hx-space-1, 0.25rem);
39
- font-size: var(--hx-font-size-sm, 0.875rem);
40
- font-weight: var(--hx-font-weight-medium, 500);
41
- color: var(--hx-date-picker-label-color, var(--hx-color-neutral-700, #343a40));
42
- line-height: var(--hx-line-height-normal, 1.5);
43
- }
44
-
45
- .field__required-marker {
46
- color: var(--hx-date-picker-error-color, var(--hx-color-error-text, #b91c1c));
47
- font-weight: var(--hx-font-weight-bold, 700);
48
- }
49
-
50
- /* ─── Input Wrapper ─── */
51
-
52
- .field__input-wrapper {
53
- display: flex;
54
- align-items: stretch;
55
- border: var(--hx-border-width-thin, 1px) solid
56
- var(--hx-date-picker-border-color, var(--hx-color-neutral-300, #ced4da));
57
- border-radius: var(--hx-date-picker-border-radius, var(--hx-border-radius-md, 0.375rem));
58
- background-color: var(--hx-date-picker-bg, var(--hx-color-neutral-0, #ffffff));
59
- transition:
60
- border-color var(--hx-transition-fast, 150ms ease),
61
- box-shadow var(--hx-transition-fast, 150ms ease);
62
- overflow: hidden;
63
- }
64
-
65
- .field__input-wrapper:focus-within {
66
- border-color: var(--hx-date-picker-focus-ring-color, var(--hx-focus-ring-color, #2563eb));
67
- box-shadow: 0 0 0 var(--hx-focus-ring-width, 2px)
68
- color-mix(
69
- in srgb,
70
- var(--hx-date-picker-focus-ring-color, var(--hx-focus-ring-color, #2563eb))
71
- calc(var(--hx-focus-ring-opacity, 0.25) * 100%),
72
- transparent
73
- );
74
- }
75
-
76
- /* ─── Error State ─── */
77
-
78
- .field--error .field__input-wrapper {
79
- border-color: var(--hx-date-picker-error-color, var(--hx-color-error-500, #dc3545));
80
- }
81
-
82
- .field--error .field__input-wrapper:focus-within {
83
- border-color: var(--hx-date-picker-error-color, var(--hx-color-error-500, #dc3545));
84
- box-shadow: 0 0 0 var(--hx-focus-ring-width, 2px)
85
- color-mix(
86
- in srgb,
87
- var(--hx-date-picker-error-color, var(--hx-color-error-500, #dc3545))
88
- calc(var(--hx-focus-ring-opacity, 0.25) * 100%),
89
- transparent
90
- );
91
- }
92
-
93
- /* ─── Native Input ─── */
94
-
95
- .field__input {
96
- flex: 1;
97
- border: none;
98
- outline: none;
99
- background: transparent;
100
- padding: var(--hx-space-2, 0.5rem) var(--hx-space-3, 0.75rem);
101
- font-family: inherit;
102
- font-size: var(--hx-font-size-md, 1rem);
103
- color: var(--hx-date-picker-color, var(--hx-color-neutral-800, #212529));
104
- line-height: var(--hx-line-height-normal, 1.5);
105
- min-height: var(--hx-size-10, 2.5rem);
106
- width: 100%;
107
- cursor: default;
108
- }
109
-
110
- .field__input::placeholder {
111
- color: var(--hx-color-neutral-400, #adb5bd);
112
- }
113
-
114
- .field__input:disabled {
115
- cursor: not-allowed;
116
- }
117
-
118
- /* ─── Calendar Trigger Button ─── */
119
-
120
- .field__trigger {
121
- display: flex;
122
- align-items: center;
123
- justify-content: center;
124
- padding: 0 var(--hx-space-3, 0.75rem);
125
- border: none;
126
- border-left: var(--hx-border-width-thin, 1px) solid
127
- var(--hx-date-picker-border-color, var(--hx-color-neutral-300, #ced4da));
128
- background: transparent;
129
- color: var(--hx-date-picker-trigger-color, var(--hx-color-neutral-500, #6c757d));
130
- cursor: pointer;
131
- flex-shrink: 0;
132
- transition: color var(--hx-transition-fast, 150ms ease);
133
- outline: none;
134
- }
135
-
136
- .field__trigger:focus-visible {
137
- color: var(--hx-date-picker-focus-ring-color, var(--hx-focus-ring-color, #2563eb));
138
- background-color: color-mix(
139
- in srgb,
140
- var(--hx-date-picker-focus-ring-color, var(--hx-focus-ring-color, #2563eb)) 8%,
141
- transparent
142
- );
143
- }
144
-
145
- .field__trigger:hover:not(:disabled) {
146
- color: var(--hx-date-picker-trigger-hover-color, var(--hx-color-neutral-700, #343a40));
147
- background-color: color-mix(in srgb, var(--hx-color-neutral-900, #212529) 4%, transparent);
148
- }
149
-
150
- .field__trigger:disabled {
151
- cursor: not-allowed;
152
- }
153
-
154
- /* ─── Calendar Popup ─── */
155
-
156
- .calendar {
157
- position: absolute;
158
- top: calc(100% + var(--hx-space-1, 0.25rem));
159
- left: 0;
160
- z-index: var(--hx-z-index-dropdown, 1000);
161
- min-width: var(--hx-date-picker-calendar-min-width, 18rem);
162
- background-color: var(--hx-date-picker-calendar-bg, var(--hx-color-neutral-0, #ffffff));
163
- border: var(--hx-border-width-thin, 1px) solid
164
- var(--hx-date-picker-calendar-border-color, var(--hx-color-neutral-200, #e9ecef));
165
- border-radius: var(--hx-date-picker-calendar-border-radius, var(--hx-border-radius-lg, 0.5rem));
166
- box-shadow: var(
167
- --hx-date-picker-calendar-shadow,
168
- 0 4px 6px -1px var(--hx-overlay-black-10, rgba(0, 0, 0, 0.1)),
169
- 0 2px 4px -2px var(--hx-overlay-black-10, rgba(0, 0, 0, 0.1))
170
- );
171
- padding: var(--hx-space-3, 0.75rem);
172
- outline: none;
173
- }
174
-
175
- @media (prefers-reduced-motion: no-preference) {
176
- .calendar {
177
- animation: calendar-appear var(--hx-transition-fast, 150ms ease) forwards;
178
- }
179
- }
180
-
181
- @keyframes calendar-appear {
182
- from {
183
- opacity: 0;
184
- transform: translateY(-0.25rem);
185
- }
186
- to {
187
- opacity: 1;
188
- transform: translateY(0);
189
- }
190
- }
191
-
192
- /* ─── Month Navigation ─── */
193
-
194
- .calendar__nav {
195
- display: flex;
196
- align-items: center;
197
- justify-content: space-between;
198
- margin-bottom: var(--hx-space-3, 0.75rem);
199
- }
200
-
201
- .calendar__nav-btn {
202
- display: flex;
203
- align-items: center;
204
- justify-content: center;
205
- /* WCAG 2.5.5 (healthcare mandate): minimum 44x44px touch target */
206
- min-width: var(--hx-touch-target-min, 2.75rem);
207
- min-height: var(--hx-touch-target-min, 2.75rem);
208
- width: var(--hx-touch-target-min, 2.75rem);
209
- height: var(--hx-touch-target-min, 2.75rem);
210
- border: none;
211
- border-radius: var(--hx-border-radius-sm, 0.25rem);
212
- background: transparent;
213
- color: var(--hx-color-neutral-600, #495057);
214
- cursor: pointer;
215
- font-size: var(--hx-font-size-lg, 1.125rem);
216
- line-height: 1;
217
- transition:
218
- background-color var(--hx-transition-fast, 150ms ease),
219
- color var(--hx-transition-fast, 150ms ease);
220
- outline: none;
221
- }
222
-
223
- .calendar__nav-btn:hover {
224
- background-color: var(--hx-color-neutral-100, #f8f9fa);
225
- color: var(--hx-color-neutral-900, #212529);
226
- }
227
-
228
- .calendar__nav-btn:focus-visible {
229
- box-shadow: 0 0 0 var(--hx-focus-ring-width, 2px)
230
- var(--hx-date-picker-focus-ring-color, var(--hx-focus-ring-color, #2563eb));
231
- }
232
-
233
- .calendar__month-label {
234
- font-size: var(--hx-font-size-sm, 0.875rem);
235
- font-weight: var(--hx-font-weight-semibold, 600);
236
- color: var(--hx-color-neutral-800, #212529);
237
- flex: 1;
238
- text-align: center;
239
- }
240
-
241
- /* ─── Calendar Grid ─── */
242
-
243
- .calendar__grid {
244
- display: flex;
245
- flex-direction: column;
246
- gap: var(--hx-space-1, 0.25rem);
247
- }
248
-
249
- .calendar__row {
250
- display: grid;
251
- grid-template-columns: repeat(7, 1fr);
252
- gap: var(--hx-space-1, 0.25rem);
253
- }
254
-
255
- .calendar__weekday {
256
- display: flex;
257
- align-items: center;
258
- justify-content: center;
259
- height: var(--hx-size-8, 2rem);
260
- font-size: var(--hx-font-size-xs, 0.75rem);
261
- font-weight: var(--hx-font-weight-semibold, 600);
262
- color: var(--hx-color-neutral-500, #6c757d);
263
- text-transform: uppercase;
264
- letter-spacing: 0.05em;
265
- }
266
-
267
- /* ─── Day Cells ─── */
268
-
269
- .calendar__day-cell {
270
- display: flex;
271
- align-items: center;
272
- justify-content: center;
273
- }
274
-
275
- .calendar__day {
276
- display: flex;
277
- align-items: center;
278
- justify-content: center;
279
- /* WCAG 2.5.5 (healthcare mandate): minimum 44x44px touch target */
280
- min-width: var(--hx-touch-target-min, 2.75rem);
281
- min-height: var(--hx-touch-target-min, 2.75rem);
282
- width: var(--hx-touch-target-min, 2.75rem);
283
- height: var(--hx-touch-target-min, 2.75rem);
284
- border: none;
285
- border-radius: var(--hx-border-radius-sm, 0.25rem);
286
- background: transparent;
287
- color: var(--hx-color-neutral-800, #212529);
288
- font-size: var(--hx-font-size-sm, 0.875rem);
289
- font-family: inherit;
290
- cursor: pointer;
291
- transition:
292
- background-color var(--hx-transition-fast, 150ms ease),
293
- color var(--hx-transition-fast, 150ms ease);
294
- outline: none;
295
- position: relative;
296
- }
297
-
298
- .calendar__day:hover:not(.calendar__day--disabled):not(.calendar__day--selected) {
299
- background-color: var(--hx-color-neutral-100, #f8f9fa);
300
- color: var(--hx-color-neutral-900, #212529);
301
- }
302
-
303
- .calendar__day:focus-visible {
304
- box-shadow: 0 0 0 var(--hx-focus-ring-width, 2px)
305
- var(--hx-date-picker-focus-ring-color, var(--hx-focus-ring-color, #2563eb));
306
- z-index: 1;
307
- }
308
-
309
- .calendar__day--selected {
310
- background-color: var(--hx-date-picker-selected-bg, var(--hx-color-primary-500, #2563eb));
311
- color: var(--hx-date-picker-selected-color, var(--hx-color-neutral-0, #ffffff));
312
- font-weight: var(--hx-font-weight-semibold, 600);
313
- }
314
-
315
- .calendar__day--selected:hover {
316
- background-color: var(--hx-date-picker-selected-hover-bg, var(--hx-color-primary-600, #1d4ed8));
317
- }
318
-
319
- .calendar__day--today:not(.calendar__day--selected) {
320
- font-weight: var(--hx-font-weight-bold, 700);
321
- color: var(--hx-date-picker-today-color, var(--hx-color-primary-600, #1d4ed8));
322
- }
323
-
324
- .calendar__day--today:not(.calendar__day--selected)::after {
325
- content: '';
326
- position: absolute;
327
- bottom: 0.2rem;
328
- left: 50%;
329
- transform: translateX(-50%);
330
- width: 0.25rem;
331
- height: 0.25rem;
332
- border-radius: 50%;
333
- background-color: var(--hx-date-picker-today-color, var(--hx-color-primary-600, #1d4ed8));
334
- }
335
-
336
- .calendar__day--disabled {
337
- opacity: var(--hx-opacity-disabled, 0.4);
338
- cursor: not-allowed;
339
- pointer-events: none;
340
- }
341
-
342
- /* ─── Live Region ─── */
343
-
344
- .calendar__live-region {
345
- position: absolute;
346
- width: 1px;
347
- height: 1px;
348
- padding: 0;
349
- margin: -1px;
350
- overflow: hidden;
351
- clip: rect(0, 0, 0, 0);
352
- white-space: nowrap;
353
- border: 0;
354
- }
355
-
356
- /* ─── Help Text & Error Messages ─── */
357
-
358
- .field__help-text {
359
- font-size: var(--hx-font-size-xs, 0.75rem);
360
- color: var(--hx-color-neutral-500, #6c757d);
361
- line-height: var(--hx-line-height-normal, 1.5);
362
- }
363
-
364
- .field__error {
365
- font-size: var(--hx-font-size-xs, 0.75rem);
366
- color: var(--hx-date-picker-error-color, var(--hx-color-error-text, #b91c1c));
367
- line-height: var(--hx-line-height-normal, 1.5);
368
- }
369
-
370
- .calendar__nav-btn:disabled {
371
- opacity: var(--hx-opacity-disabled, 0.4);
372
- cursor: not-allowed;
373
- pointer-events: none;
374
- }
375
-
376
- /* ─── Forced Colors (High Contrast Mode) ─── */
377
-
378
- @media (forced-colors: active) {
379
- .field__input-wrapper {
380
- border: 1px solid ButtonText;
381
- }
382
-
383
- .field__input-wrapper:focus-within {
384
- outline: 2px solid Highlight;
385
- outline-offset: 1px;
386
- box-shadow: none;
387
- }
388
-
389
- .calendar__day:focus-visible {
390
- outline: 2px solid Highlight;
391
- box-shadow: none;
392
- }
393
-
394
- .calendar__day--selected {
395
- background-color: Highlight;
396
- color: HighlightText;
397
- border: 1px solid Highlight;
398
- }
399
-
400
- .calendar__day--today:not(.calendar__day--selected) {
401
- border: 2px solid LinkText;
402
- }
403
-
404
- .calendar__day--today:not(.calendar__day--selected)::after {
405
- display: none;
406
- }
407
-
408
- .calendar__day--disabled {
409
- color: GrayText;
410
- }
411
-
412
- .calendar__nav-btn:focus-visible {
413
- outline: 2px solid Highlight;
414
- box-shadow: none;
415
- }
416
-
417
- .field--error .field__input-wrapper {
418
- border-color: LinkText;
419
- }
420
- }
421
- `;
6
+ const $ = m`:host{display:block;position:relative}:host([disabled]){opacity:var(--hx-opacity-disabled, .5);pointer-events:none}*{box-sizing:border-box}.field{display:flex;flex-direction:column;gap:var(--hx-space-1, .25rem);font-family:var(--hx-date-picker-font-family, var(--hx-font-family-sans, sans-serif));position:relative}.field__label-wrapper{display:contents}.field__label{display:flex;align-items:baseline;gap:var(--hx-space-1, .25rem);font-size:var(--hx-font-size-sm, .875rem);font-weight:var(--hx-font-weight-medium, 500);color:var(--hx-date-picker-label-color, var(--hx-color-neutral-700, #343a40));line-height:var(--hx-line-height-normal, 1.5)}.field__required-marker{color:var(--hx-date-picker-error-color, var(--hx-color-error-text, #b91c1c));font-weight:var(--hx-font-weight-bold, 700)}.field__input-wrapper{display:flex;align-items:stretch;border:var(--hx-border-width-thin, 1px) solid var(--hx-date-picker-border-color, var(--hx-color-neutral-300, #ced4da));border-radius:var(--hx-date-picker-border-radius, var(--hx-border-radius-md, .375rem));background-color:var(--hx-date-picker-bg, var(--hx-color-neutral-0, #ffffff));transition:border-color var(--hx-transition-fast, .15s ease),box-shadow var(--hx-transition-fast, .15s ease);overflow:hidden}.field__input-wrapper:focus-within{border-color:var(--hx-date-picker-focus-ring-color, var(--hx-focus-ring-color, #2563eb));box-shadow:0 0 0 var(--hx-focus-ring-width, 2px) color-mix(in srgb,var(--hx-date-picker-focus-ring-color, var(--hx-focus-ring-color, #2563eb)) calc(var(--hx-focus-ring-opacity, .25) * 100%),transparent)}.field--error .field__input-wrapper{border-color:var(--hx-date-picker-error-color, var(--hx-color-error-500, #dc3545))}.field--error .field__input-wrapper:focus-within{border-color:var(--hx-date-picker-error-color, var(--hx-color-error-500, #dc3545));box-shadow:0 0 0 var(--hx-focus-ring-width, 2px) color-mix(in srgb,var(--hx-date-picker-error-color, var(--hx-color-error-500, #dc3545)) calc(var(--hx-focus-ring-opacity, .25) * 100%),transparent)}.field__input{flex:1;border:none;outline:none;background:transparent;padding:var(--hx-space-2, .5rem) var(--hx-space-3, .75rem);font-family:inherit;font-size:var(--hx-font-size-md, 1rem);color:var(--hx-date-picker-color, var(--hx-color-neutral-800, #212529));line-height:var(--hx-line-height-normal, 1.5);min-height:var(--hx-size-10, 2.5rem);width:100%;cursor:default}.field__input::placeholder{color:var(--hx-color-neutral-400, #adb5bd)}.field__input:disabled{cursor:not-allowed}.field__trigger{display:flex;align-items:center;justify-content:center;padding:0 var(--hx-space-3, .75rem);border:none;border-left:var(--hx-border-width-thin, 1px) solid var(--hx-date-picker-border-color, var(--hx-color-neutral-300, #ced4da));background:transparent;color:var(--hx-date-picker-trigger-color, var(--hx-color-neutral-500, #6c757d));cursor:pointer;flex-shrink:0;transition:color var(--hx-transition-fast, .15s ease);outline:none}.field__trigger:focus-visible{color:var(--hx-date-picker-focus-ring-color, var(--hx-focus-ring-color, #2563eb));background-color:color-mix(in srgb,var(--hx-date-picker-focus-ring-color, var(--hx-focus-ring-color, #2563eb)) 8%,transparent)}.field__trigger:hover:not(:disabled){color:var(--hx-date-picker-trigger-hover-color, var(--hx-color-neutral-700, #343a40));background-color:color-mix(in srgb,var(--hx-color-neutral-900, #212529) 4%,transparent)}.field__trigger:disabled{cursor:not-allowed}.calendar{position:absolute;top:calc(100% + var(--hx-space-1, .25rem));left:0;z-index:var(--hx-z-index-dropdown, 1000);min-width:var(--hx-date-picker-calendar-min-width, 18rem);background-color:var(--hx-date-picker-calendar-bg, var(--hx-color-neutral-0, #ffffff));border:var(--hx-border-width-thin, 1px) solid var(--hx-date-picker-calendar-border-color, var(--hx-color-neutral-200, #e9ecef));border-radius:var(--hx-date-picker-calendar-border-radius, var(--hx-border-radius-lg, .5rem));box-shadow:var( --hx-date-picker-calendar-shadow, 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -2px rgba(0, 0, 0, .1) );padding:var(--hx-space-3, .75rem);outline:none}@media(prefers-reduced-motion:no-preference){.calendar{animation:calendar-appear var(--hx-transition-fast, .15s ease) forwards}}@keyframes calendar-appear{0%{opacity:0;transform:translateY(-.25rem)}to{opacity:1;transform:translateY(0)}}.calendar__nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--hx-space-3, .75rem)}:is(.calendar__nav-btn,.calendar__day,.calendar__day-cell,.calendar__weekday){display:flex;align-items:center;justify-content:center}:is(.calendar__nav-btn,.calendar__day){width:var(--hx-touch-target-min, 2.75rem);height:var(--hx-touch-target-min, 2.75rem);border:none;border-radius:var(--hx-border-radius-sm, .25rem);background:transparent;cursor:pointer;outline:none;transition:background-color var(--hx-transition-fast, .15s ease),color var(--hx-transition-fast, .15s ease)}.calendar__nav-btn{color:var(--hx-color-neutral-600, #495057);font-size:var(--hx-font-size-lg, 1.125rem);line-height:1}.calendar__nav-btn:hover{background-color:var(--hx-color-neutral-100, #f8f9fa);color:var(--hx-color-neutral-900, #212529)}:is(.calendar__nav-btn,.calendar__day):focus-visible{box-shadow:0 0 0 var(--hx-focus-ring-width, 2px) var(--hx-date-picker-focus-ring-color, var(--hx-focus-ring-color, #2563eb));z-index:1}.calendar__nav-btn:disabled{opacity:var(--hx-opacity-disabled, .4);cursor:not-allowed;pointer-events:none}.calendar__month-label{font-size:var(--hx-font-size-sm, .875rem);font-weight:var(--hx-font-weight-semibold, 600);color:var(--hx-color-neutral-800, #212529);flex:1;text-align:center}.calendar__grid{display:flex;flex-direction:column;gap:var(--hx-space-1, .25rem)}.calendar__row{display:grid;grid-template-columns:repeat(7,1fr);gap:var(--hx-space-1, .25rem)}.calendar__weekday{height:var(--hx-size-8, 2rem);font-size:var(--hx-font-size-xs, .75rem);font-weight:var(--hx-font-weight-semibold, 600);color:var(--hx-color-neutral-500, #6c757d);text-transform:uppercase;letter-spacing:.05em}.calendar__day{color:var(--hx-color-neutral-800, #212529);font-size:var(--hx-font-size-sm, .875rem);font-family:inherit;position:relative}.calendar__day:hover:not(.calendar__day--disabled):not(.calendar__day--selected){background-color:var(--hx-color-neutral-100, #f8f9fa);color:var(--hx-color-neutral-900, #212529)}.calendar__day--selected{background-color:var(--hx-date-picker-selected-bg, var(--hx-color-primary-500, #2563eb));color:var(--hx-date-picker-selected-color, var(--hx-color-neutral-0, #ffffff));font-weight:var(--hx-font-weight-semibold, 600)}.calendar__day--selected:hover{background-color:var(--hx-date-picker-selected-hover-bg, var(--hx-color-primary-600, #1d4ed8))}.calendar__day--today:not(.calendar__day--selected){font-weight:var(--hx-font-weight-bold, 700);color:var(--hx-date-picker-today-color, var(--hx-color-primary-600, #1d4ed8))}.calendar__day--today:not(.calendar__day--selected):after{content:"";position:absolute;bottom:.2rem;left:50%;transform:translate(-50%);width:.25rem;height:.25rem;border-radius:50%;background-color:currentColor}.calendar__day--disabled{opacity:var(--hx-opacity-disabled, .4);cursor:not-allowed;pointer-events:none}.calendar__live-region{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.field__help-text,.field__error{font-size:var(--hx-font-size-xs, .75rem);line-height:var(--hx-line-height-normal, 1.5)}.field__help-text{color:var(--hx-color-neutral-500, #6c757d)}.field__error{color:var(--hx-date-picker-error-color, var(--hx-color-error-text, #b91c1c))}@media(prefers-reduced-motion:reduce){.field__input-wrapper,.field__trigger,.calendar__nav-btn,.calendar__day{transition:none}}@media(forced-colors:active){.field__input-wrapper{border:1px solid ButtonText}.field__input-wrapper:focus-within{outline:2px solid Highlight;outline-offset:1px;box-shadow:none}:is(.calendar__day:focus-visible,.calendar__nav-btn:focus-visible){outline:2px solid Highlight;box-shadow:none}.calendar__day--selected{background-color:Highlight;color:HighlightText;border:1px solid Highlight}.calendar__day--today:not(.calendar__day--selected){border:2px solid LinkText}.calendar__day--today:not(.calendar__day--selected):after{display:none}.calendar__day--disabled{color:GrayText}.field--error .field__input-wrapper{border-color:LinkText}}`;
422
7
  var M = Object.defineProperty, C = Object.getOwnPropertyDescriptor, s = (t, e, r, a) => {
423
8
  for (var o = a > 1 ? void 0 : a ? C(e, r) : e, i = t.length - 1, l; i >= 0; i--)
424
9
  (l = t[i]) && (o = (a ? l(e, r, o) : l(o)) || o);
@@ -426,10 +11,11 @@ var M = Object.defineProperty, C = Object.getOwnPropertyDescriptor, s = (t, e, r
426
11
  };
427
12
  let S = 0, n = class extends w {
428
13
  constructor() {
429
- super(), this.name = "", this.value = "", this.min = "", this.max = "", this.label = "", this.required = !1, this.disabled = !1, this.error = "", this.helpText = "", this.format = "MM/DD/YYYY", this.locale = "en-US", this._isOpen = !1, this._viewYear = (/* @__PURE__ */ new Date()).getFullYear(), this._viewMonth = (/* @__PURE__ */ new Date()).getMonth(), this._focusedDay = null, this._liveMessage = "", this._id = `hx-date-picker-${++S}`, this._inputId = `${this._id}-input`, this._helpTextId = `${this._id}-help`, this._errorId = `${this._id}-error`, this._calendarId = `${this._id}-calendar`, this._liveRegionId = `${this._id}-live`, this._hasLabelSlot = !1, this._hasErrorSlot = !1, this._boundHandleOutsideClick = () => {
14
+ super(), this.name = "", this.value = "", this.min = "", this.max = "", this.label = "", this.required = !1, this.disabled = !1, this.error = "", this.helpText = "", this.format = "MM/DD/YYYY", this.locale = "en-US", this.requiredMessage = "This field is required.", this.chooseDateLabel = "Choose a date", this.openCalendarLabel = "Open calendar", this.closeCalendarLabel = "Close calendar", this.previousMonthLabel = "Previous month", this.nextMonthLabel = "Next month", this._isOpen = !1, this._viewYear = (/* @__PURE__ */ new Date()).getFullYear(), this._viewMonth = (/* @__PURE__ */ new Date()).getMonth(), this._focusedDay = null, this._liveMessage = "", this._id = `hx-date-picker-${++S}`, this._inputId = `${this._id}-input`, this._helpTextId = `${this._id}-help`, this._errorId = `${this._id}-error`, this._calendarId = `${this._id}-calendar`, this._liveRegionId = `${this._id}-live`, this._hasLabelSlot = !1, this._hasErrorSlot = !1, this._boundHandleOutsideClick = () => {
430
15
  }, this._boundHandleDocumentKeydown = () => {
431
16
  }, this._internals = this.attachInternals();
432
17
  }
18
+ /** @internal */
433
19
  _handleLabelSlotChange(t) {
434
20
  const e = t.target;
435
21
  if (this._hasLabelSlot = e.assignedElements().length > 0, this._hasLabelSlot) {
@@ -438,6 +24,7 @@ let S = 0, n = class extends w {
438
24
  }
439
25
  this.requestUpdate();
440
26
  }
27
+ /** @internal */
441
28
  _handleErrorSlotChange(t) {
442
29
  const e = t.target;
443
30
  this._hasErrorSlot = e.assignedElements().length > 0, this.requestUpdate();
@@ -465,9 +52,11 @@ let S = 0, n = class extends w {
465
52
  });
466
53
  }
467
54
  }
55
+ /** @internal */
468
56
  _handleOutsideClick(t) {
469
57
  t.composedPath().includes(this) || this._closeCalendar();
470
58
  }
59
+ /** @internal */
471
60
  _handleDocumentKeydown(t) {
472
61
  t.key === "Escape" && this._isOpen && this._closeCalendar();
473
62
  }
@@ -490,18 +79,23 @@ let S = 0, n = class extends w {
490
79
  reportValidity() {
491
80
  return this._internals.reportValidity();
492
81
  }
82
+ /** @internal */
493
83
  _updateValidity() {
494
84
  this.required && !this.value ? this._internals.setValidity(
495
85
  { valueMissing: !0 },
496
- this.error || "This field is required.",
86
+ this.error || this.requiredMessage,
497
87
  this._input
498
88
  ) : this._internals.setValidity({});
499
89
  }
500
90
  formResetCallback() {
501
- this.value = "", this._internals.setFormValue(""), this._isOpen = !1;
91
+ this.value = "", this._internals.setFormValue(null), this._isOpen = !1;
502
92
  }
503
- formStateRestoreCallback(t) {
504
- this.value = t;
93
+ formStateRestoreCallback(t, e) {
94
+ typeof t == "string" && (this.value = t);
95
+ }
96
+ /** Called when a parent fieldset is disabled/enabled. */
97
+ formDisabledCallback(t) {
98
+ this.disabled = t;
505
99
  }
506
100
  // ─── Public Methods ───
507
101
  focus(t) {
@@ -509,15 +103,18 @@ let S = 0, n = class extends w {
509
103
  (e = this._trigger) == null || e.focus(t);
510
104
  }
511
105
  // ─── Date Utilities ───
106
+ /** @internal */
512
107
  _parseISODate(t) {
513
108
  if (!t) return null;
514
109
  const e = /* @__PURE__ */ new Date(t + "T00:00:00");
515
110
  return isNaN(e.getTime()) ? null : e;
516
111
  }
112
+ /** @internal */
517
113
  _toISO(t) {
518
114
  const e = t.getFullYear(), r = String(t.getMonth() + 1).padStart(2, "0"), a = String(t.getDate()).padStart(2, "0");
519
115
  return `${e}-${r}-${a}`;
520
116
  }
117
+ /** @internal */
521
118
  _formatForDisplay(t) {
522
119
  const e = this._parseISODate(t);
523
120
  return e ? e.toLocaleDateString(this.locale, {
@@ -526,19 +123,24 @@ let S = 0, n = class extends w {
526
123
  day: "2-digit"
527
124
  }) : "";
528
125
  }
126
+ /** @internal */
529
127
  _isDateDisabled(t) {
530
128
  const e = this._toISO(t);
531
129
  return !!(this.min && e < this.min || this.max && e > this.max);
532
130
  }
131
+ /** @internal */
533
132
  _isSameDay(t, e) {
534
133
  return t.getFullYear() === e.getFullYear() && t.getMonth() === e.getMonth() && t.getDate() === e.getDate();
535
134
  }
135
+ /** @internal */
536
136
  _isToday(t) {
537
137
  return this._isSameDay(t, /* @__PURE__ */ new Date());
538
138
  }
139
+ /** @internal */
539
140
  _getMonthName(t) {
540
141
  return new Date(2e3, t, 1).toLocaleDateString(this.locale, { month: "long" });
541
142
  }
143
+ /** @internal */
542
144
  _getDayName(t) {
543
145
  return new Date(2e3, 0, 2 + t).toLocaleDateString(this.locale, {
544
146
  weekday: "short"
@@ -549,6 +151,7 @@ let S = 0, n = class extends w {
549
151
  * Returns an array of Date objects (or null for padding cells) representing
550
152
  * the 6-week grid for the current view month.
551
153
  */
154
+ /** @internal */
552
155
  _getDaysInGrid() {
553
156
  const e = new Date(this._viewYear, this._viewMonth, 1).getDay(), r = new Date(this._viewYear, this._viewMonth + 1, 0).getDate(), a = [];
554
157
  for (let i = 0; i < e; i++)
@@ -562,19 +165,23 @@ let S = 0, n = class extends w {
562
165
  return a;
563
166
  }
564
167
  // ─── Calendar Open/Close ───
168
+ /** @internal */
565
169
  _openCalendar() {
566
170
  this.disabled || (this._isOpen = !0);
567
171
  }
172
+ /** @internal */
568
173
  _closeCalendar() {
569
174
  this._isOpen = !1, this.updateComplete.then(() => {
570
175
  var t;
571
176
  (t = this._trigger) == null || t.focus();
572
177
  });
573
178
  }
179
+ /** @internal */
574
180
  _toggleCalendar() {
575
181
  this._isOpen ? this._closeCalendar() : this._openCalendar();
576
182
  }
577
183
  // ─── Focus Management ───
184
+ /** @internal */
578
185
  _focusActiveDay() {
579
186
  if (!this._calendar) return;
580
187
  const t = this.value, e = this._parseISODate(t);
@@ -605,13 +212,16 @@ let S = 0, n = class extends w {
605
212
  }));
606
213
  }
607
214
  // ─── Month Navigation ───
215
+ /** @internal */
608
216
  _prevMonth() {
609
217
  this._viewMonth === 0 ? (this._viewMonth = 11, this._viewYear = this._viewYear - 1) : this._viewMonth = this._viewMonth - 1;
610
218
  }
219
+ /** @internal */
611
220
  _nextMonth() {
612
221
  this._viewMonth === 11 ? (this._viewMonth = 0, this._viewYear = this._viewYear + 1) : this._viewMonth = this._viewMonth + 1;
613
222
  }
614
223
  // ─── Day Selection ───
224
+ /** @internal */
615
225
  _selectDay(t) {
616
226
  if (this._isDateDisabled(t)) return;
617
227
  const e = this._toISO(t);
@@ -624,6 +234,7 @@ let S = 0, n = class extends w {
624
234
  ), this._closeCalendar();
625
235
  }
626
236
  // ─── Calendar Keyboard Navigation ───
237
+ /** @internal */
627
238
  _handleCalendarKeydown(t) {
628
239
  const { key: e } = t;
629
240
  if (e === "Tab") {
@@ -652,18 +263,18 @@ let S = 0, n = class extends w {
652
263
  return;
653
264
  }
654
265
  if (e === "Home") {
655
- const l = new Date(this._viewYear, this._viewMonth, r).getDay(), h = r - l;
656
- h >= 1 && (this._focusedDay = h, this.updateComplete.then(() => {
657
- var d, _;
658
- (_ = (d = this._calendar) == null ? void 0 : d.querySelector(`[data-day="${h}"]`)) == null || _.focus();
266
+ const l = new Date(this._viewYear, this._viewMonth, r).getDay(), c = r - l;
267
+ c >= 1 && (this._focusedDay = c, this.updateComplete.then(() => {
268
+ var h, u;
269
+ (u = (h = this._calendar) == null ? void 0 : h.querySelector(`[data-day="${c}"]`)) == null || u.focus();
659
270
  }));
660
271
  return;
661
272
  }
662
273
  if (e === "End") {
663
- const h = 6 - new Date(this._viewYear, this._viewMonth, r).getDay(), d = r + h;
664
- d <= a && (this._focusedDay = d, this.updateComplete.then(() => {
665
- var _, f;
666
- (f = (_ = this._calendar) == null ? void 0 : _.querySelector(`[data-day="${d}"]`)) == null || f.focus();
274
+ const c = 6 - new Date(this._viewYear, this._viewMonth, r).getDay(), h = r + c;
275
+ h <= a && (this._focusedDay = h, this.updateComplete.then(() => {
276
+ var u, f;
277
+ (f = (u = this._calendar) == null ? void 0 : u.querySelector(`[data-day="${h}"]`)) == null || f.focus();
667
278
  }));
668
279
  return;
669
280
  }
@@ -672,18 +283,18 @@ let S = 0, n = class extends w {
672
283
  this._prevMonth();
673
284
  const i = new Date(this._viewYear, this._viewMonth + 1, 0).getDate();
674
285
  this._focusedDay = i + o, this.updateComplete.then(() => {
675
- var h, d;
286
+ var c, h;
676
287
  const l = this._focusedDay;
677
- (d = (h = this._calendar) == null ? void 0 : h.querySelector(`[data-day="${l}"]`)) == null || d.focus();
288
+ (h = (c = this._calendar) == null ? void 0 : c.querySelector(`[data-day="${l}"]`)) == null || h.focus();
678
289
  });
679
290
  return;
680
291
  }
681
292
  if (o > a) {
682
293
  const i = o - a;
683
294
  this._nextMonth(), this._focusedDay = i, this.updateComplete.then(() => {
684
- var h, d;
295
+ var c, h;
685
296
  const l = this._focusedDay;
686
- (d = (h = this._calendar) == null ? void 0 : h.querySelector(`[data-day="${l}"]`)) == null || d.focus();
297
+ (h = (c = this._calendar) == null ? void 0 : c.querySelector(`[data-day="${l}"]`)) == null || h.focus();
687
298
  });
688
299
  return;
689
300
  }
@@ -693,17 +304,20 @@ let S = 0, n = class extends w {
693
304
  });
694
305
  }
695
306
  // ─── Navigation Boundary Checks ───
307
+ /** @internal */
696
308
  _isPrevMonthDisabled() {
697
309
  if (!this.min) return !1;
698
310
  const t = new Date(this._viewYear, this._viewMonth, 1), e = this._parseISODate(this.min);
699
311
  return e ? t <= e : !1;
700
312
  }
313
+ /** @internal */
701
314
  _isNextMonthDisabled() {
702
315
  if (!this.max) return !1;
703
316
  const t = new Date(this._viewYear, this._viewMonth + 1, 0), e = this._parseISODate(this.max);
704
317
  return e ? t >= e : !1;
705
318
  }
706
319
  // ─── Focus Trap ───
320
+ /** @internal */
707
321
  _handleCalendarTab(t) {
708
322
  var i, l;
709
323
  if (t.key !== "Tab" || !this._isOpen) return;
@@ -715,45 +329,47 @@ let S = 0, n = class extends w {
715
329
  t.shiftKey ? o === r && (t.preventDefault(), a == null || a.focus()) : o === a && (t.preventDefault(), r == null || r.focus());
716
330
  }
717
331
  // ─── Render Helpers ───
332
+ /** @internal */
718
333
  _renderWeekdayHeaders() {
719
334
  const t = Array.from(
720
335
  { length: 7 },
721
- (e, r) => c`<div class="calendar__weekday" role="columnheader" aria-label=${this._getDayName(r)}>
336
+ (e, r) => _`<div class="calendar__weekday" role="columnheader" aria-label=${this._getDayName(r)}>
722
337
  ${this._getDayName(r).slice(0, 2)}
723
338
  </div>`
724
339
  );
725
- return c`<div class="calendar__row" role="row">${t}</div>`;
340
+ return _`<div class="calendar__row" role="row">${t}</div>`;
726
341
  }
342
+ /** @internal */
727
343
  _renderDayGrid() {
728
344
  const t = this._getDaysInGrid(), e = this._parseISODate(this.value), r = [];
729
345
  for (let a = 0; a < t.length; a += 7) {
730
346
  const o = t.slice(a, a + 7).map((i) => {
731
347
  if (i === null)
732
- return c`<div class="calendar__day-cell" role="gridcell" aria-hidden="true"></div>`;
733
- const l = e ? this._isSameDay(i, e) : !1, h = this._isToday(i), d = this._isDateDisabled(i), _ = this._focusedDay === i.getDate(), f = i.getDate(), m = i.toLocaleDateString(this.locale, {
348
+ return _`<div class="calendar__day-cell" role="gridcell" aria-hidden="true"></div>`;
349
+ const l = e ? this._isSameDay(i, e) : !1, c = this._isToday(i), h = this._isDateDisabled(i), u = this._focusedDay === i.getDate(), f = i.getDate(), x = i.toLocaleDateString(this.locale, {
734
350
  weekday: "long",
735
351
  year: "numeric",
736
352
  month: "long",
737
353
  day: "numeric"
738
354
  });
739
- return c`<div class="calendar__day-cell">
355
+ return _`<div class="calendar__day-cell">
740
356
  <button
741
357
  part="day"
742
358
  class=${y({
743
359
  calendar__day: !0,
744
360
  "calendar__day--selected": l,
745
- "calendar__day--today": h,
746
- "calendar__day--disabled": d
361
+ "calendar__day--today": c,
362
+ "calendar__day--disabled": h
747
363
  })}
748
364
  type="button"
749
365
  role="gridcell"
750
366
  data-day=${f}
751
- aria-label=${m}
752
- aria-selected=${l ? "true" : u}
753
- aria-disabled=${d ? "true" : u}
754
- aria-current=${h ? "date" : u}
755
- tabindex=${_ ? "0" : "-1"}
756
- ?disabled=${d}
367
+ aria-label=${x}
368
+ aria-selected=${l ? "true" : p}
369
+ aria-disabled=${h ? "true" : p}
370
+ aria-current=${c ? "date" : p}
371
+ tabindex=${u ? "0" : "-1"}
372
+ ?disabled=${h}
757
373
  @click=${() => {
758
374
  this._selectDay(i);
759
375
  }}
@@ -762,7 +378,7 @@ let S = 0, n = class extends w {
762
378
  </button>
763
379
  </div>`;
764
380
  });
765
- r.push(c`<div class="calendar__row" role="row">${o}</div>`);
381
+ r.push(_`<div class="calendar__row" role="row">${o}</div>`);
766
382
  }
767
383
  return r;
768
384
  }
@@ -774,17 +390,17 @@ let S = 0, n = class extends w {
774
390
  "field--disabled": this.disabled,
775
391
  "field--required": this.required
776
392
  }, o = [t ? this._errorId : null, this.helpText ? this._helpTextId : null].filter(Boolean).join(" ") || void 0;
777
- return c`
393
+ return _`
778
394
  <div part="field" class=${y(a)}>
779
395
  <!-- Label -->
780
396
  <div class="field__label-wrapper">
781
397
  <slot name="label" @slotchange=${this._handleLabelSlotChange}>
782
- ${this.label ? c`
398
+ ${this.label ? _`
783
399
  <label part="label" class="field__label" for=${this._inputId}>
784
400
  ${this.label}
785
- ${this.required ? c`<span class="field__required-marker" aria-hidden="true">*</span>` : u}
401
+ ${this.required ? _`<span class="field__required-marker" aria-hidden="true">*</span>` : p}
786
402
  </label>
787
- ` : u}
403
+ ` : p}
788
404
  </slot>
789
405
  </div>
790
406
 
@@ -797,14 +413,14 @@ let S = 0, n = class extends w {
797
413
  type="text"
798
414
  readonly
799
415
  .value=${e}
800
- placeholder=${g(this.format || void 0)}
416
+ placeholder=${b(this.format || void 0)}
801
417
  ?disabled=${this.disabled}
802
- aria-labelledby=${g(
418
+ aria-labelledby=${b(
803
419
  this._hasLabelSlot ? `${this._inputId}-slotted-label` : void 0
804
420
  )}
805
- aria-invalid=${t ? "true" : u}
806
- aria-describedby=${g(o)}
807
- aria-required=${this.required ? "true" : u}
421
+ aria-invalid=${t ? "true" : p}
422
+ aria-describedby=${b(o)}
423
+ aria-required=${this.required ? "true" : p}
808
424
  aria-haspopup="dialog"
809
425
  @click=${this._openCalendar}
810
426
  />
@@ -812,9 +428,9 @@ let S = 0, n = class extends w {
812
428
  part="trigger"
813
429
  class="field__trigger"
814
430
  type="button"
815
- aria-label=${this._isOpen ? "Close calendar" : "Open calendar"}
431
+ aria-label=${this._isOpen ? this.closeCalendarLabel : this.openCalendarLabel}
816
432
  aria-haspopup="dialog"
817
- aria-expanded=${this._isOpen ? "true" : u}
433
+ aria-expanded=${this._isOpen ? "true" : p}
818
434
  aria-controls=${this._calendarId}
819
435
  ?disabled=${this.disabled}
820
436
  @click=${this._toggleCalendar}
@@ -841,14 +457,14 @@ let S = 0, n = class extends w {
841
457
  </div>
842
458
 
843
459
  <!-- Calendar Popup -->
844
- ${this._isOpen ? c`
460
+ ${this._isOpen ? _`
845
461
  <div
846
462
  part="calendar"
847
463
  class="calendar"
848
464
  id=${this._calendarId}
849
465
  role="dialog"
850
466
  aria-modal="true"
851
- aria-label="Choose a date"
467
+ aria-label=${this.chooseDateLabel}
852
468
  @keydown=${this._handleCalendarKeydown}
853
469
  >
854
470
  <!-- Screen reader live region -->
@@ -866,7 +482,7 @@ let S = 0, n = class extends w {
866
482
  <button
867
483
  class="calendar__nav-btn"
868
484
  type="button"
869
- aria-label="Previous month"
485
+ aria-label=${this.previousMonthLabel}
870
486
  ?disabled=${this._isPrevMonthDisabled()}
871
487
  @click=${this._prevMonth}
872
488
  >
@@ -878,7 +494,7 @@ let S = 0, n = class extends w {
878
494
  <button
879
495
  class="calendar__nav-btn"
880
496
  type="button"
881
- aria-label="Next month"
497
+ aria-label=${this.nextMonthLabel}
882
498
  ?disabled=${this._isNextMonthDisabled()}
883
499
  @click=${this._nextMonth}
884
500
  >
@@ -891,23 +507,23 @@ let S = 0, n = class extends w {
891
507
  ${this._renderWeekdayHeaders()} ${this._renderDayGrid()}
892
508
  </div>
893
509
  </div>
894
- ` : u}
510
+ ` : p}
895
511
 
896
512
  <!-- Error -->
897
513
  <slot name="error" @slotchange=${this._handleErrorSlotChange}>
898
- ${this.error ? c`
514
+ ${this.error ? _`
899
515
  <div part="error" class="field__error" id=${this._errorId} role="alert">
900
516
  ${this.error}
901
517
  </div>
902
- ` : u}
518
+ ` : p}
903
519
  </slot>
904
520
 
905
521
  <!-- Help Text -->
906
- ${this.helpText && !t ? c`
522
+ ${this.helpText && !t ? _`
907
523
  <div part="help-text" class="field__help-text" id=${this._helpTextId}>
908
524
  <slot name="help-text">${this.helpText}</slot>
909
525
  </div>
910
- ` : u}
526
+ ` : p}
911
527
  </div>
912
528
  `;
913
529
  }
@@ -915,38 +531,56 @@ let S = 0, n = class extends w {
915
531
  n.styles = [k, $];
916
532
  n.formAssociated = !0;
917
533
  s([
918
- p({ type: String })
534
+ d({ type: String })
919
535
  ], n.prototype, "name", 2);
920
536
  s([
921
- p({ type: String })
537
+ d({ type: String })
922
538
  ], n.prototype, "value", 2);
923
539
  s([
924
- p({ type: String })
540
+ d({ type: String })
925
541
  ], n.prototype, "min", 2);
926
542
  s([
927
- p({ type: String })
543
+ d({ type: String })
928
544
  ], n.prototype, "max", 2);
929
545
  s([
930
- p({ type: String })
546
+ d({ type: String })
931
547
  ], n.prototype, "label", 2);
932
548
  s([
933
- p({ type: Boolean, reflect: !0 })
549
+ d({ type: Boolean, reflect: !0 })
934
550
  ], n.prototype, "required", 2);
935
551
  s([
936
- p({ type: Boolean, reflect: !0 })
552
+ d({ type: Boolean, reflect: !0 })
937
553
  ], n.prototype, "disabled", 2);
938
554
  s([
939
- p({ type: String })
555
+ d({ type: String })
940
556
  ], n.prototype, "error", 2);
941
557
  s([
942
- p({ type: String, attribute: "help-text" })
558
+ d({ type: String, attribute: "help-text" })
943
559
  ], n.prototype, "helpText", 2);
944
560
  s([
945
- p({ type: String })
561
+ d({ type: String })
946
562
  ], n.prototype, "format", 2);
947
563
  s([
948
- p({ type: String })
564
+ d({ type: String })
949
565
  ], n.prototype, "locale", 2);
566
+ s([
567
+ d({ attribute: "required-message" })
568
+ ], n.prototype, "requiredMessage", 2);
569
+ s([
570
+ d({ attribute: "choose-date-label" })
571
+ ], n.prototype, "chooseDateLabel", 2);
572
+ s([
573
+ d({ attribute: "open-calendar-label" })
574
+ ], n.prototype, "openCalendarLabel", 2);
575
+ s([
576
+ d({ attribute: "close-calendar-label" })
577
+ ], n.prototype, "closeCalendarLabel", 2);
578
+ s([
579
+ d({ attribute: "previous-month-label" })
580
+ ], n.prototype, "previousMonthLabel", 2);
581
+ s([
582
+ d({ attribute: "next-month-label" })
583
+ ], n.prototype, "nextMonthLabel", 2);
950
584
  s([
951
585
  v()
952
586
  ], n.prototype, "_isOpen", 2);
@@ -963,13 +597,13 @@ s([
963
597
  v()
964
598
  ], n.prototype, "_liveMessage", 2);
965
599
  s([
966
- x(".field__input")
600
+ g(".field__input")
967
601
  ], n.prototype, "_input", 2);
968
602
  s([
969
- x(".field__trigger")
603
+ g(".field__trigger")
970
604
  ], n.prototype, "_trigger", 2);
971
605
  s([
972
- x(".calendar")
606
+ g(".calendar")
973
607
  ], n.prototype, "_calendar", 2);
974
608
  n = s([
975
609
  D("hx-date-picker")
@@ -977,4 +611,4 @@ n = s([
977
611
  export {
978
612
  n as H
979
613
  };
980
- //# sourceMappingURL=hx-date-picker-DDcIBJir.js.map
614
+ //# sourceMappingURL=hx-date-picker-6voxxxNE.js.map