@helixui/library 3.3.1 → 3.4.0-next.121

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 (321) hide show
  1. package/custom-elements.json +340 -71
  2. package/dist/components/hx-accordion/hx-accordion-item.d.ts +35 -0
  3. package/dist/components/hx-accordion/hx-accordion-item.d.ts.map +1 -1
  4. package/dist/components/hx-alert/hx-alert.d.ts +11 -0
  5. package/dist/components/hx-alert/hx-alert.d.ts.map +1 -1
  6. package/dist/components/hx-alert/hx-alert.styles.d.ts.map +1 -1
  7. package/dist/components/hx-alert/index.js +1 -1
  8. package/dist/components/hx-badge/hx-badge.styles.d.ts.map +1 -1
  9. package/dist/components/hx-badge/index.js +1 -1
  10. package/dist/components/hx-banner/hx-banner.d.ts +9 -1
  11. package/dist/components/hx-banner/hx-banner.d.ts.map +1 -1
  12. package/dist/components/hx-banner/index.js +1 -1
  13. package/dist/components/hx-button/hx-button.d.ts +11 -1
  14. package/dist/components/hx-button/hx-button.d.ts.map +1 -1
  15. package/dist/components/hx-button/index.js +1 -1
  16. package/dist/components/hx-button-group/hx-button-group.d.ts +13 -0
  17. package/dist/components/hx-button-group/hx-button-group.d.ts.map +1 -1
  18. package/dist/components/hx-button-group/index.js +1 -1
  19. package/dist/components/hx-checkbox/hx-checkbox.d.ts +153 -1
  20. package/dist/components/hx-checkbox/hx-checkbox.d.ts.map +1 -1
  21. package/dist/components/hx-checkbox/hx-checkbox.styles.d.ts.map +1 -1
  22. package/dist/components/hx-checkbox/index.js +1 -1
  23. package/dist/components/hx-checkbox-group/hx-checkbox-group.d.ts +151 -2
  24. package/dist/components/hx-checkbox-group/hx-checkbox-group.d.ts.map +1 -1
  25. package/dist/components/hx-checkbox-group/index.js +1 -1
  26. package/dist/components/hx-color-picker/hx-color-picker.d.ts +163 -1
  27. package/dist/components/hx-color-picker/hx-color-picker.d.ts.map +1 -1
  28. package/dist/components/hx-color-picker/hx-color-picker.styles.d.ts.map +1 -1
  29. package/dist/components/hx-color-picker/index.js +1 -1
  30. package/dist/components/hx-combobox/hx-combobox.d.ts +311 -2
  31. package/dist/components/hx-combobox/hx-combobox.d.ts.map +1 -1
  32. package/dist/components/hx-combobox/index.js +1 -1
  33. package/dist/components/hx-data-table/hx-data-table.d.ts.map +1 -1
  34. package/dist/components/hx-data-table/index.js +1 -1
  35. package/dist/components/hx-date-picker/hx-date-picker.d.ts +182 -56
  36. package/dist/components/hx-date-picker/hx-date-picker.d.ts.map +1 -1
  37. package/dist/components/hx-date-picker/hx-date-picker.styles.d.ts.map +1 -1
  38. package/dist/components/hx-date-picker/index.js +1 -1
  39. package/dist/components/hx-dialog/hx-dialog.d.ts +240 -0
  40. package/dist/components/hx-dialog/hx-dialog.d.ts.map +1 -1
  41. package/dist/components/hx-dialog/index.js +1 -1
  42. package/dist/components/hx-drawer/hx-drawer.d.ts +201 -0
  43. package/dist/components/hx-drawer/hx-drawer.d.ts.map +1 -1
  44. package/dist/components/hx-drawer/hx-drawer.styles.d.ts.map +1 -1
  45. package/dist/components/hx-drawer/index.js +1 -1
  46. package/dist/components/hx-dropdown/hx-dropdown.d.ts +168 -0
  47. package/dist/components/hx-dropdown/hx-dropdown.d.ts.map +1 -1
  48. package/dist/components/hx-dropdown/index.js +1 -1
  49. package/dist/components/hx-field/hx-field.d.ts +109 -0
  50. package/dist/components/hx-field/hx-field.d.ts.map +1 -1
  51. package/dist/components/hx-field/index.js +1 -1
  52. package/dist/components/hx-icon-button/hx-icon-button.d.ts +16 -3
  53. package/dist/components/hx-icon-button/hx-icon-button.d.ts.map +1 -1
  54. package/dist/components/hx-icon-button/hx-icon-button.styles.d.ts.map +1 -1
  55. package/dist/components/hx-icon-button/index.js +1 -1
  56. package/dist/components/hx-link/hx-link.d.ts +10 -1
  57. package/dist/components/hx-link/hx-link.d.ts.map +1 -1
  58. package/dist/components/hx-link/index.js +1 -1
  59. package/dist/components/hx-list/hx-list-item.d.ts +27 -1
  60. package/dist/components/hx-list/hx-list-item.d.ts.map +1 -1
  61. package/dist/components/hx-list/hx-list.d.ts +28 -0
  62. package/dist/components/hx-list/hx-list.d.ts.map +1 -1
  63. package/dist/components/hx-list/index.js +1 -1
  64. package/dist/components/hx-menu/hx-menu-divider.d.ts +10 -0
  65. package/dist/components/hx-menu/hx-menu-divider.d.ts.map +1 -1
  66. package/dist/components/hx-menu/hx-menu-item.d.ts +99 -2
  67. package/dist/components/hx-menu/hx-menu-item.d.ts.map +1 -1
  68. package/dist/components/hx-menu/hx-menu-item.styles.d.ts.map +1 -1
  69. package/dist/components/hx-menu/hx-menu.d.ts +117 -2
  70. package/dist/components/hx-menu/hx-menu.d.ts.map +1 -1
  71. package/dist/components/hx-menu/index.js +1 -1
  72. package/dist/components/hx-meter/hx-meter.d.ts +39 -0
  73. package/dist/components/hx-meter/hx-meter.d.ts.map +1 -1
  74. package/dist/components/hx-meter/hx-meter.styles.d.ts.map +1 -1
  75. package/dist/components/hx-meter/index.js +1 -1
  76. package/dist/components/hx-overflow-menu/hx-overflow-menu.d.ts +132 -1
  77. package/dist/components/hx-overflow-menu/hx-overflow-menu.d.ts.map +1 -1
  78. package/dist/components/hx-overflow-menu/index.js +1 -1
  79. package/dist/components/hx-phi-field/hx-phi-field.d.ts +0 -1
  80. package/dist/components/hx-phi-field/hx-phi-field.d.ts.map +1 -1
  81. package/dist/components/hx-popover/hx-popover.d.ts +91 -0
  82. package/dist/components/hx-popover/hx-popover.d.ts.map +1 -1
  83. package/dist/components/hx-popover/index.js +1 -1
  84. package/dist/components/hx-progress-bar/hx-progress-bar.d.ts +33 -0
  85. package/dist/components/hx-progress-bar/hx-progress-bar.d.ts.map +1 -1
  86. package/dist/components/hx-progress-bar/index.js +1 -1
  87. package/dist/components/hx-radio-group/hx-radio-group.d.ts +152 -1
  88. package/dist/components/hx-radio-group/hx-radio-group.d.ts.map +1 -1
  89. package/dist/components/hx-radio-group/hx-radio.d.ts +14 -0
  90. package/dist/components/hx-radio-group/hx-radio.d.ts.map +1 -1
  91. package/dist/components/hx-radio-group/index.js +1 -1
  92. package/dist/components/hx-select/hx-select.d.ts +304 -2
  93. package/dist/components/hx-select/hx-select.d.ts.map +1 -1
  94. package/dist/components/hx-select/hx-select.styles.d.ts.map +1 -1
  95. package/dist/components/hx-select/index.js +1 -1
  96. package/dist/components/hx-side-nav/hx-nav-item.styles.d.ts.map +1 -1
  97. package/dist/components/hx-side-nav/index.js +1 -1
  98. package/dist/components/hx-spinner/hx-spinner.d.ts +14 -0
  99. package/dist/components/hx-spinner/hx-spinner.d.ts.map +1 -1
  100. package/dist/components/hx-spinner/index.js +1 -1
  101. package/dist/components/hx-split-button/hx-split-button.d.ts +94 -7
  102. package/dist/components/hx-split-button/hx-split-button.d.ts.map +1 -1
  103. package/dist/components/hx-split-button/index.js +1 -1
  104. package/dist/components/hx-stat/hx-stat.d.ts +28 -0
  105. package/dist/components/hx-stat/hx-stat.d.ts.map +1 -1
  106. package/dist/components/hx-stat/index.js +1 -1
  107. package/dist/components/hx-switch/hx-switch.d.ts +78 -1
  108. package/dist/components/hx-switch/hx-switch.d.ts.map +1 -1
  109. package/dist/components/hx-switch/hx-switch.styles.d.ts.map +1 -1
  110. package/dist/components/hx-switch/index.js +1 -1
  111. package/dist/components/hx-table/hx-td.d.ts +30 -3
  112. package/dist/components/hx-table/hx-td.d.ts.map +1 -1
  113. package/dist/components/hx-table/hx-th.d.ts +39 -3
  114. package/dist/components/hx-table/hx-th.d.ts.map +1 -1
  115. package/dist/components/hx-table/hx-tr.d.ts +26 -0
  116. package/dist/components/hx-table/hx-tr.d.ts.map +1 -1
  117. package/dist/components/hx-table/index.js +1 -1
  118. package/dist/components/hx-tabs/hx-tab-panel.d.ts +34 -0
  119. package/dist/components/hx-tabs/hx-tab-panel.d.ts.map +1 -1
  120. package/dist/components/hx-tabs/hx-tab.d.ts +45 -2
  121. package/dist/components/hx-tabs/hx-tab.d.ts.map +1 -1
  122. package/dist/components/hx-tabs/hx-tab.styles.d.ts.map +1 -1
  123. package/dist/components/hx-tabs/hx-tabs.d.ts +32 -2
  124. package/dist/components/hx-tabs/hx-tabs.d.ts.map +1 -1
  125. package/dist/components/hx-tabs/index.js +1 -1
  126. package/dist/components/hx-tag/hx-tag.styles.d.ts.map +1 -1
  127. package/dist/components/hx-tag/index.js +1 -1
  128. package/dist/components/hx-theme/hx-theme.d.ts +10 -5
  129. package/dist/components/hx-theme/hx-theme.d.ts.map +1 -1
  130. package/dist/components/hx-time-picker/hx-time-picker.d.ts +210 -2
  131. package/dist/components/hx-time-picker/hx-time-picker.d.ts.map +1 -1
  132. package/dist/components/hx-time-picker/hx-time-picker.styles.d.ts.map +1 -1
  133. package/dist/components/hx-time-picker/index.js +1 -1
  134. package/dist/components/hx-toast/hx-toast-stack.d.ts +14 -0
  135. package/dist/components/hx-toast/hx-toast-stack.d.ts.map +1 -1
  136. package/dist/components/hx-toast/hx-toast.d.ts +22 -3
  137. package/dist/components/hx-toast/hx-toast.d.ts.map +1 -1
  138. package/dist/components/hx-toast/index.js +1 -1
  139. package/dist/components/hx-toast/toast-factory.d.ts.map +1 -1
  140. package/dist/components/hx-toggle-button/hx-toggle-button.d.ts +110 -0
  141. package/dist/components/hx-toggle-button/hx-toggle-button.d.ts.map +1 -1
  142. package/dist/components/hx-toggle-button/hx-toggle-button.styles.d.ts.map +1 -1
  143. package/dist/components/hx-toggle-button/index.js +1 -1
  144. package/dist/components/hx-tooltip/hx-tooltip.d.ts +52 -0
  145. package/dist/components/hx-tooltip/hx-tooltip.d.ts.map +1 -1
  146. package/dist/components/hx-tooltip/index.js +1 -1
  147. package/dist/components/hx-tree-view/hx-tree-item.d.ts +117 -12
  148. package/dist/components/hx-tree-view/hx-tree-item.d.ts.map +1 -1
  149. package/dist/components/hx-tree-view/hx-tree-view.d.ts +87 -7
  150. package/dist/components/hx-tree-view/hx-tree-view.d.ts.map +1 -1
  151. package/dist/components/hx-tree-view/index.js +1 -1
  152. package/dist/css/helix-all.css +221 -1
  153. package/dist/css/helix-core.css +81 -0
  154. package/dist/css/helix-feedback.css +14 -0
  155. package/dist/css/helix-forms.css +109 -1
  156. package/dist/css/helix-overlay.css +17 -0
  157. package/dist/css/hx-alert.css +9 -0
  158. package/dist/css/hx-badge.css +28 -0
  159. package/dist/css/hx-checkbox.css +18 -0
  160. package/dist/css/hx-color-picker.css +25 -0
  161. package/dist/css/hx-date-picker.css +2 -1
  162. package/dist/css/hx-drawer.css +17 -0
  163. package/dist/css/hx-icon-button.css +30 -0
  164. package/dist/css/hx-meter.css +5 -0
  165. package/dist/css/hx-select.css +19 -0
  166. package/dist/css/hx-switch.css +17 -0
  167. package/dist/css/hx-tag.css +23 -0
  168. package/dist/css/hx-time-picker.css +11 -0
  169. package/dist/css/hx-toggle-button.css +17 -0
  170. package/dist/css/index.css +1 -1
  171. package/dist/css/manifest.json +4 -1
  172. package/dist/index.js +38 -38
  173. package/dist/shared/aria-flatten-DY6v2vah.js +22 -0
  174. package/dist/shared/aria-flatten-DY6v2vah.js.map +1 -0
  175. package/dist/shared/aria-idref-CxvyzfQS.js +126 -0
  176. package/dist/shared/aria-idref-CxvyzfQS.js.map +1 -0
  177. package/dist/shared/hx-accordion-ZVzgDzTG.js.map +1 -1
  178. package/dist/shared/{hx-alert-CLn7CstP.js → hx-alert-Bto8-TIi.js} +55 -37
  179. package/dist/shared/hx-alert-Bto8-TIi.js.map +1 -0
  180. package/dist/shared/{hx-badge-CQXgOXJM.js → hx-badge-JlFtAdxS.js} +37 -9
  181. package/dist/shared/hx-badge-JlFtAdxS.js.map +1 -0
  182. package/dist/shared/{hx-banner-D3DzpfcP.js → hx-banner-fpRnciIO.js} +13 -5
  183. package/dist/shared/hx-banner-fpRnciIO.js.map +1 -0
  184. package/dist/shared/{hx-button-DPY6SPVT.js → hx-button-BOwAEcF1.js} +108 -85
  185. package/dist/shared/{hx-button-DPY6SPVT.js.map → hx-button-BOwAEcF1.js.map} +1 -1
  186. package/dist/shared/{hx-button-group-BI-QBqmO.js → hx-button-group-DcHP5MBv.js} +15 -16
  187. package/dist/shared/{hx-button-group-BI-QBqmO.js.map → hx-button-group-DcHP5MBv.js.map} +1 -1
  188. package/dist/shared/hx-checkbox-C48KYKFq.js +696 -0
  189. package/dist/shared/hx-checkbox-C48KYKFq.js.map +1 -0
  190. package/dist/shared/hx-checkbox-group-BJIAX3zU.js +496 -0
  191. package/dist/shared/hx-checkbox-group-BJIAX3zU.js.map +1 -0
  192. package/dist/shared/hx-color-picker-Dk4cBwYQ.js +1221 -0
  193. package/dist/shared/hx-color-picker-Dk4cBwYQ.js.map +1 -0
  194. package/dist/shared/hx-combobox-BTLO9qiK.js +1359 -0
  195. package/dist/shared/hx-combobox-BTLO9qiK.js.map +1 -0
  196. package/dist/shared/{hx-data-table-CLqVqdxr.js → hx-data-table-Ct3gQ6ya.js} +3 -2
  197. package/dist/shared/{hx-data-table-CLqVqdxr.js.map → hx-data-table-Ct3gQ6ya.js.map} +1 -1
  198. package/dist/shared/{hx-date-picker-2iRG1p74.js → hx-date-picker-CiR7FVnR.js} +542 -206
  199. package/dist/shared/hx-date-picker-CiR7FVnR.js.map +1 -0
  200. package/dist/shared/hx-dialog-AOZpHSuF.js +717 -0
  201. package/dist/shared/hx-dialog-AOZpHSuF.js.map +1 -0
  202. package/dist/shared/{hx-drawer-Y1Ui2IWJ.js → hx-drawer-DH6CdAN1.js} +300 -98
  203. package/dist/shared/hx-drawer-DH6CdAN1.js.map +1 -0
  204. package/dist/shared/hx-dropdown-DiLd40Lm.js +401 -0
  205. package/dist/shared/hx-dropdown-DiLd40Lm.js.map +1 -0
  206. package/dist/shared/{hx-field-B3Qo8OLS.js → hx-field-zw0U1KVi.js} +99 -38
  207. package/dist/shared/hx-field-zw0U1KVi.js.map +1 -0
  208. package/dist/shared/{hx-icon-button-CGNdQSFM.js → hx-icon-button-a6OpeQz5.js} +149 -68
  209. package/dist/shared/hx-icon-button-a6OpeQz5.js.map +1 -0
  210. package/dist/shared/{hx-link-C-O6vq0Q.js → hx-link-CMnZRUtQ.js} +55 -43
  211. package/dist/shared/hx-link-CMnZRUtQ.js.map +1 -0
  212. package/dist/shared/{hx-list-MyEhh8c7.js → hx-list-De66EtAP.js} +163 -107
  213. package/dist/shared/hx-list-De66EtAP.js.map +1 -0
  214. package/dist/shared/hx-menu-divider-BjiRIWKq.js +797 -0
  215. package/dist/shared/hx-menu-divider-BjiRIWKq.js.map +1 -0
  216. package/dist/shared/{hx-meter-BPscsw5t.js → hx-meter-BJdh6nrF.js} +105 -64
  217. package/dist/shared/hx-meter-BJdh6nrF.js.map +1 -0
  218. package/dist/shared/{hx-nav-item-xqRPOCWX.js → hx-nav-item-CODtUlew.js} +13 -9
  219. package/dist/shared/{hx-nav-item-xqRPOCWX.js.map → hx-nav-item-CODtUlew.js.map} +1 -1
  220. package/dist/shared/hx-overflow-menu-BQ4fiMYu.js +492 -0
  221. package/dist/shared/hx-overflow-menu-BQ4fiMYu.js.map +1 -0
  222. package/dist/shared/hx-phi-field-C19oxlrr.js.map +1 -1
  223. package/dist/shared/{hx-popover-B-FP3-wW.js → hx-popover-B9W8-tC0.js} +123 -66
  224. package/dist/shared/hx-popover-B9W8-tC0.js.map +1 -0
  225. package/dist/shared/hx-progress-bar-C8nDMdYa.js +290 -0
  226. package/dist/shared/hx-progress-bar-C8nDMdYa.js.map +1 -0
  227. package/dist/shared/hx-radio-Z1lV1zTO.js +822 -0
  228. package/dist/shared/hx-radio-Z1lV1zTO.js.map +1 -0
  229. package/dist/shared/hx-select-D18CnJ0e.js +1089 -0
  230. package/dist/shared/hx-select-D18CnJ0e.js.map +1 -0
  231. package/dist/shared/{hx-spinner-DL5AYr16.js → hx-spinner-BB0h2hKZ.js} +62 -34
  232. package/dist/shared/hx-spinner-BB0h2hKZ.js.map +1 -0
  233. package/dist/shared/{hx-split-button-Djnc5Aeg.js → hx-split-button-BoABoEm5.js} +153 -82
  234. package/dist/shared/hx-split-button-BoABoEm5.js.map +1 -0
  235. package/dist/shared/{hx-stat-WOcNV1Ry.js → hx-stat-Dtf9lz-O.js} +77 -47
  236. package/dist/shared/hx-stat-Dtf9lz-O.js.map +1 -0
  237. package/dist/shared/hx-switch-B6kr-EwE.js +540 -0
  238. package/dist/shared/hx-switch-B6kr-EwE.js.map +1 -0
  239. package/dist/shared/{hx-tab-panel-DspCrKqo.js → hx-tab-panel-BQtBXKLD.js} +255 -131
  240. package/dist/shared/hx-tab-panel-BQtBXKLD.js.map +1 -0
  241. package/dist/shared/{hx-tag-CNSmdyaK.js → hx-tag-C5aCUpVi.js} +63 -40
  242. package/dist/shared/hx-tag-C5aCUpVi.js.map +1 -0
  243. package/dist/shared/{hx-td-DnnEMIuA.js → hx-td-BGkFOJEK.js} +267 -123
  244. package/dist/shared/hx-td-BGkFOJEK.js.map +1 -0
  245. package/dist/shared/hx-theme-BsefFWTO.js.map +1 -1
  246. package/dist/shared/hx-time-picker-iwCD7rzW.js +1038 -0
  247. package/dist/shared/hx-time-picker-iwCD7rzW.js.map +1 -0
  248. package/dist/shared/{hx-toggle-button-iLiYrMbD.js → hx-toggle-button-BQ81EDkl.js} +226 -65
  249. package/dist/shared/hx-toggle-button-BQ81EDkl.js.map +1 -0
  250. package/dist/shared/{hx-tooltip-nYOv9OLu.js → hx-tooltip-DVqtKPCD.js} +68 -46
  251. package/dist/shared/hx-tooltip-DVqtKPCD.js.map +1 -0
  252. package/dist/shared/hx-tree-item-CHrUhuZL.js +925 -0
  253. package/dist/shared/hx-tree-item-CHrUhuZL.js.map +1 -0
  254. package/dist/shared/menu-roving-DmMnzJhn.js +14 -0
  255. package/dist/shared/menu-roving-DmMnzJhn.js.map +1 -0
  256. package/dist/shared/menu-tree-BNM0SYYq.js +42 -0
  257. package/dist/shared/menu-tree-BNM0SYYq.js.map +1 -0
  258. package/dist/shared/{toast-factory-YSznocIV.js → toast-factory-CL2BzdSB.js} +128 -77
  259. package/dist/shared/toast-factory-CL2BzdSB.js.map +1 -0
  260. package/dist/utils/aria-flatten.d.ts +56 -0
  261. package/dist/utils/aria-flatten.d.ts.map +1 -0
  262. package/dist/utils/aria-idref.d.ts +127 -0
  263. package/dist/utils/aria-idref.d.ts.map +1 -0
  264. package/dist/utils/menu-label.d.ts +18 -0
  265. package/dist/utils/menu-label.d.ts.map +1 -0
  266. package/dist/utils/menu-roving.d.ts +28 -0
  267. package/dist/utils/menu-roving.d.ts.map +1 -0
  268. package/dist/utils/menu-tree.d.ts +41 -0
  269. package/dist/utils/menu-tree.d.ts.map +1 -0
  270. package/dist/utils/tree-walk.d.ts +53 -0
  271. package/dist/utils/tree-walk.d.ts.map +1 -0
  272. package/figma-inventory.json +132 -20
  273. package/package.json +2 -2
  274. package/dist/shared/hx-alert-CLn7CstP.js.map +0 -1
  275. package/dist/shared/hx-badge-CQXgOXJM.js.map +0 -1
  276. package/dist/shared/hx-banner-D3DzpfcP.js.map +0 -1
  277. package/dist/shared/hx-checkbox-D7xma9YH.js +0 -524
  278. package/dist/shared/hx-checkbox-D7xma9YH.js.map +0 -1
  279. package/dist/shared/hx-checkbox-group-C9n315Ju.js +0 -323
  280. package/dist/shared/hx-checkbox-group-C9n315Ju.js.map +0 -1
  281. package/dist/shared/hx-color-picker-uRc865FJ.js +0 -882
  282. package/dist/shared/hx-color-picker-uRc865FJ.js.map +0 -1
  283. package/dist/shared/hx-combobox-DDzqNKEW.js +0 -924
  284. package/dist/shared/hx-combobox-DDzqNKEW.js.map +0 -1
  285. package/dist/shared/hx-date-picker-2iRG1p74.js.map +0 -1
  286. package/dist/shared/hx-dialog-DRN_1-Y-.js +0 -514
  287. package/dist/shared/hx-dialog-DRN_1-Y-.js.map +0 -1
  288. package/dist/shared/hx-drawer-Y1Ui2IWJ.js.map +0 -1
  289. package/dist/shared/hx-dropdown-LyaRc8Rf.js +0 -263
  290. package/dist/shared/hx-dropdown-LyaRc8Rf.js.map +0 -1
  291. package/dist/shared/hx-field-B3Qo8OLS.js.map +0 -1
  292. package/dist/shared/hx-icon-button-CGNdQSFM.js.map +0 -1
  293. package/dist/shared/hx-link-C-O6vq0Q.js.map +0 -1
  294. package/dist/shared/hx-list-MyEhh8c7.js.map +0 -1
  295. package/dist/shared/hx-menu-divider-C2omnPtj.js +0 -558
  296. package/dist/shared/hx-menu-divider-C2omnPtj.js.map +0 -1
  297. package/dist/shared/hx-meter-BPscsw5t.js.map +0 -1
  298. package/dist/shared/hx-overflow-menu-DCLsdIBy.js +0 -374
  299. package/dist/shared/hx-overflow-menu-DCLsdIBy.js.map +0 -1
  300. package/dist/shared/hx-popover-B-FP3-wW.js.map +0 -1
  301. package/dist/shared/hx-progress-bar-Bn3JEPUf.js +0 -258
  302. package/dist/shared/hx-progress-bar-Bn3JEPUf.js.map +0 -1
  303. package/dist/shared/hx-radio-CJvNU2yP.js +0 -621
  304. package/dist/shared/hx-radio-CJvNU2yP.js.map +0 -1
  305. package/dist/shared/hx-select-C8fEHQhC.js +0 -807
  306. package/dist/shared/hx-select-C8fEHQhC.js.map +0 -1
  307. package/dist/shared/hx-spinner-DL5AYr16.js.map +0 -1
  308. package/dist/shared/hx-split-button-Djnc5Aeg.js.map +0 -1
  309. package/dist/shared/hx-stat-WOcNV1Ry.js.map +0 -1
  310. package/dist/shared/hx-switch-BrZFaRue.js +0 -420
  311. package/dist/shared/hx-switch-BrZFaRue.js.map +0 -1
  312. package/dist/shared/hx-tab-panel-DspCrKqo.js.map +0 -1
  313. package/dist/shared/hx-tag-CNSmdyaK.js.map +0 -1
  314. package/dist/shared/hx-td-DnnEMIuA.js.map +0 -1
  315. package/dist/shared/hx-time-picker-BoEIZwzv.js +0 -688
  316. package/dist/shared/hx-time-picker-BoEIZwzv.js.map +0 -1
  317. package/dist/shared/hx-toggle-button-iLiYrMbD.js.map +0 -1
  318. package/dist/shared/hx-tooltip-nYOv9OLu.js.map +0 -1
  319. package/dist/shared/hx-tree-item-C2CiWuDE.js +0 -703
  320. package/dist/shared/hx-tree-item-C2CiWuDE.js.map +0 -1
  321. package/dist/shared/toast-factory-YSznocIV.js.map +0 -1
@@ -1,882 +0,0 @@
1
- import { css as D, html as f, nothing as k } from "lit";
2
- import { F as O } from "./FormMixin-B8PXk5RQ.js";
3
- import { property as c, state as H, query as E, customElement as R } from "lit/decorators.js";
4
- import { styleMap as g } from "lit/directives/style-map.js";
5
- import { b as T } from "./forced-colors-CTEDFRGa.js";
6
- import { H as V } from "./helix-element-BNEYeiys.js";
7
- const B = D`
8
- :host {
9
- display: inline-block;
10
- position: relative;
11
- font-family: var(--hx-font-family-sans, sans-serif);
12
- font-size: var(--hx-font-size-sm, 0.875rem);
13
- }
14
- :host([disabled]) {
15
- pointer-events: none;
16
- opacity: var(--hx-opacity-disabled, 0.5);
17
- }
18
- .trigger {
19
- display: inline-flex;
20
- align-items: center;
21
- gap: var(--hx-space-2, 0.5rem);
22
- padding: var(--hx-space-1, 0.25rem);
23
- border: var(--hx-border-width-thin, 1px) solid var(--hx-color-neutral-300, #b6bfb9);
24
- border-radius: var(--hx-border-radius-md, 0.375rem);
25
- background: var(--hx-color-neutral-0, #ffffff);
26
- cursor: pointer;
27
- transition: border-color var(--hx-transition-fast, 150ms ease);
28
- }
29
- .trigger:hover:not([disabled]) {
30
- border-color: var(
31
- --hx-color-picker-trigger-hover-border-color,
32
- var(--hx-color-primary-500, #429797)
33
- );
34
- }
35
- :is(.trigger, .gradient-grid, .slider-track, .swatch-btn, .format-btn):focus-visible {
36
- outline: var(--hx-focus-ring-width, 2px) solid
37
- var(--hx-color-picker-focus-ring-color, var(--hx-focus-ring-color, #0f7078));
38
- outline-offset: var(--hx-focus-ring-offset, 2px);
39
- }
40
- .trigger-swatch {
41
- width: 1.5rem;
42
- height: 1.5rem;
43
- border-radius: var(--hx-border-radius-sm, 0.25rem);
44
- border: var(--hx-border-width-thin, 1px) solid
45
- var(--hx-color-picker-swatch-border, var(--hx-overlay-black-10, rgba(0, 0, 0, 0.1)));
46
- background: var(--_preview-color, #000);
47
- display: block;
48
- flex-shrink: 0;
49
- }
50
- .trigger-label {
51
- font-size: var(--hx-font-size-sm, 0.875rem);
52
- color: var(--hx-color-neutral-700, #313e4b);
53
- font-family: var(--hx-font-family-mono, monospace);
54
- white-space: nowrap;
55
- }
56
- .panel {
57
- position: absolute;
58
- z-index: var(--hx-color-picker-z-index, 1000);
59
- top: calc(100% + 4px);
60
- left: 0;
61
- background: var(--hx-color-neutral-0, #ffffff);
62
- border: var(--hx-border-width-thin, 1px) solid var(--hx-color-neutral-200, #d6dbd5);
63
- border-radius: var(--hx-border-radius-lg, 0.5rem);
64
- box-shadow: 0 8px 24px
65
- var(--hx-color-picker-panel-shadow, var(--hx-overlay-black-15, rgba(0, 0, 0, 0.15)));
66
- padding: var(--hx-space-4, 1rem);
67
- width: var(--hx-color-picker-width, 260px);
68
- display: flex;
69
- flex-direction: column;
70
- gap: var(--hx-space-3, 0.75rem);
71
- outline: none;
72
- }
73
- :host([inline]) .panel {
74
- position: static;
75
- box-shadow: none;
76
- border: var(--hx-border-width-thin, 1px) solid var(--hx-color-neutral-200, #d6dbd5);
77
- border-radius: var(--hx-border-radius-lg, 0.5rem);
78
- }
79
- .gradient-grid {
80
- position: relative;
81
- width: 100%;
82
- height: var(--hx-color-picker-grid-height, 160px);
83
- border-radius: var(--hx-border-radius-sm, 0.25rem);
84
- cursor: crosshair;
85
- overflow: hidden;
86
- touch-action: none;
87
- flex-shrink: 0;
88
- }
89
- .gradient-grid-bg {
90
- position: absolute;
91
- inset: 0;
92
- background:
93
- linear-gradient(to bottom, transparent, #000),
94
- linear-gradient(to right, #fff, var(--_hue-color, hsl(0, 100%, 50%)));
95
- pointer-events: none;
96
- }
97
- .gradient-thumb {
98
- position: absolute;
99
- width: 12px;
100
- height: 12px;
101
- border-radius: 50%;
102
- border: none;
103
- box-shadow:
104
- 0 0 0 2px var(--hx-color-picker-thumb-border, var(--hx-color-neutral-0, #ffffff)),
105
- 0 0 0 3px var(--hx-color-picker-thumb-shadow, var(--hx-overlay-black-30, rgba(0, 0, 0, 0.3)));
106
- transform: translate(-50%, -50%);
107
- pointer-events: none;
108
- top: var(--_thumb-y, 0%);
109
- left: var(--_thumb-x, 100%);
110
- }
111
- .slider-track {
112
- position: relative;
113
- width: 100%;
114
- height: 12px;
115
- border-radius: 6px;
116
- cursor: pointer;
117
- touch-action: none;
118
- flex-shrink: 0;
119
- }
120
- .hue-track {
121
- background: linear-gradient(
122
- to right,
123
- red,
124
- #ff8000,
125
- #ff0,
126
- #80ff00,
127
- #0f0,
128
- #00ff80,
129
- #0ff,
130
- #0080ff,
131
- #00f,
132
- #7f00ff,
133
- #f0f,
134
- #ff0080,
135
- red
136
- );
137
- }
138
- .opacity-track {
139
- background-image:
140
- linear-gradient(to right, transparent, var(--_hue-color, hsl(0, 100%, 50%))),
141
- repeating-conic-gradient(#ccc 0% 25%, #fff 0% 50%) 0 0 / 12px 12px;
142
- }
143
- .slider-thumb {
144
- position: absolute;
145
- top: 50%;
146
- width: 16px;
147
- height: 16px;
148
- border-radius: 50%;
149
- border: none;
150
- box-shadow:
151
- 0 0 0 2px var(--hx-color-picker-thumb-border, var(--hx-color-neutral-0, #ffffff)),
152
- 0 0 0 3px var(--hx-color-picker-thumb-shadow, var(--hx-overlay-black-30, rgba(0, 0, 0, 0.3)));
153
- transform: translate(-50%, -50%);
154
- pointer-events: none;
155
- left: var(--_slider-pct, 0%);
156
- background: var(--_thumb-color, hsl(0, 100%, 50%));
157
- }
158
- .swatches {
159
- display: flex;
160
- flex-wrap: wrap;
161
- gap: var(--hx-space-1, 0.25rem);
162
- }
163
- .swatch-btn {
164
- width: 20px;
165
- height: 20px;
166
- border-radius: var(--hx-border-radius-sm, 0.25rem);
167
- border: var(--hx-border-width-thin, 1px) solid
168
- var(--hx-color-picker-swatch-border, var(--hx-overlay-black-10, rgba(0, 0, 0, 0.1)));
169
- cursor: pointer;
170
- padding: 0;
171
- flex-shrink: 0;
172
- transition: transform var(--hx-transition-fast, 150ms ease);
173
- }
174
- .swatch-btn:hover {
175
- transform: scale(1.15);
176
- border-color: var(
177
- --hx-color-picker-swatch-border-hover,
178
- var(--hx-overlay-black-30, rgba(0, 0, 0, 0.3))
179
- );
180
- }
181
- .input-area {
182
- display: flex;
183
- align-items: center;
184
- gap: var(--hx-space-2, 0.5rem);
185
- }
186
- .format-btn {
187
- flex-shrink: 0;
188
- padding: var(--hx-space-1, 0.25rem) var(--hx-space-2, 0.5rem);
189
- background: var(--hx-color-neutral-100, #ebeee9);
190
- border: var(--hx-border-width-thin, 1px) solid var(--hx-color-neutral-300, #b6bfb9);
191
- border-radius: var(--hx-border-radius-sm, 0.25rem);
192
- cursor: pointer;
193
- font-size: var(--hx-font-size-xs, 0.75rem);
194
- color: var(--hx-color-neutral-600, #4a5362);
195
- text-transform: uppercase;
196
- font-weight: var(--hx-font-weight-semibold, 600);
197
- letter-spacing: 0.05em;
198
- }
199
- .color-input {
200
- flex: 1;
201
- min-width: 0;
202
- padding: var(--hx-space-1, 0.25rem) var(--hx-space-2, 0.5rem);
203
- border: var(--hx-border-width-thin, 1px) solid var(--hx-color-neutral-300, #b6bfb9);
204
- border-radius: var(--hx-border-radius-sm, 0.25rem);
205
- font-family: var(--hx-font-family-mono, monospace);
206
- font-size: var(--hx-font-size-sm, 0.875rem);
207
- color: var(--hx-color-neutral-900, #0d1825);
208
- background: var(--hx-color-neutral-0, #ffffff);
209
- outline: none;
210
- }
211
- .color-input:focus-visible {
212
- border-color: var(--hx-color-picker-focus-ring-color, var(--hx-focus-ring-color, #0f7078));
213
- box-shadow: 0 0 0 2px
214
- color-mix(
215
- in srgb,
216
- var(--hx-color-picker-focus-ring-color, var(--hx-focus-ring-color, #0f7078)) 20%,
217
- transparent
218
- );
219
- }
220
- .input-preview {
221
- width: 24px;
222
- height: 24px;
223
- border-radius: var(--hx-border-radius-sm, 0.25rem);
224
- border: var(--hx-border-width-thin, 1px) solid
225
- var(--hx-color-picker-swatch-border, var(--hx-overlay-black-10, rgba(0, 0, 0, 0.1)));
226
- background: var(--_preview-color, #000);
227
- flex-shrink: 0;
228
- }
229
- @media (prefers-reduced-motion: reduce) {
230
- .trigger,
231
- .swatch-btn {
232
- transition: none;
233
- }
234
- }
235
- @media (forced-colors: active) {
236
- .trigger {
237
- forced-color-adjust: none;
238
- background-color: Field;
239
- color: FieldText;
240
- border: 2px solid ButtonText;
241
- }
242
- .trigger:hover:not([disabled]) {
243
- border-color: Highlight;
244
- }
245
- :is(.trigger, .gradient-grid, .slider-track, .swatch-btn, .format-btn):focus-visible {
246
- outline-color: Highlight;
247
- }
248
- .panel {
249
- forced-color-adjust: none;
250
- background-color: Canvas;
251
- border: 2px solid CanvasText;
252
- box-shadow: none;
253
- }
254
- .gradient-thumb,
255
- .slider-thumb {
256
- box-shadow: 0 0 0 2px CanvasText;
257
- }
258
- .swatch-btn {
259
- border: 2px solid ButtonText;
260
- }
261
- .swatch-btn:hover {
262
- border-color: Highlight;
263
- }
264
- .color-input {
265
- forced-color-adjust: none;
266
- background-color: Field;
267
- color: FieldText;
268
- border: 2px solid ButtonText;
269
- }
270
- .color-input:focus-visible {
271
- border-color: Highlight;
272
- box-shadow: none;
273
- }
274
- .format-btn {
275
- forced-color-adjust: none;
276
- background-color: ButtonFace;
277
- color: ButtonText;
278
- border: 2px solid ButtonText;
279
- }
280
- .trigger-label {
281
- color: FieldText;
282
- }
283
- :host([disabled]) {
284
- opacity: 1;
285
- }
286
- :host([disabled]) .trigger {
287
- border-color: GrayText;
288
- color: GrayText;
289
- }
290
- }
291
- `;
292
- function v(t, e, r) {
293
- return Math.max(e, Math.min(r, t));
294
- }
295
- function G(t) {
296
- let e = t.trim().replace(/^#/, "");
297
- if (e.length === 3 && (e = e.replace(/(.)/g, "$1$1")), e.length === 4 && (e = e.replace(/(.)/g, "$1$1")), e.length === 6 && (e += "ff"), e.length !== 8) return null;
298
- const r = parseInt(e, 16);
299
- return isNaN(r) ? null : {
300
- r: r >>> 24 & 255,
301
- g: r >>> 16 & 255,
302
- b: r >>> 8 & 255,
303
- a: (r & 255) / 255
304
- };
305
- }
306
- function $(t) {
307
- return Math.round(v(t, 0, 255)).toString(16).padStart(2, "0");
308
- }
309
- function U(t, e) {
310
- const r = `#${$(t.r)}${$(t.g)}${$(t.b)}`;
311
- return e && t.a < 1 ? r + $(t.a * 255) : r;
312
- }
313
- function S(t) {
314
- const e = t.r / 255, r = t.g / 255, i = t.b / 255, o = Math.max(e, r, i), h = Math.min(e, r, i), s = o - h, d = o === 0 ? 0 : s / o, u = o;
315
- let l = 0;
316
- return s !== 0 && (o === e ? l = ((r - i) / s + (r < i ? 6 : 0)) / 6 : o === r ? l = ((i - e) / s + 2) / 6 : l = ((e - r) / s + 4) / 6), { h: l * 360, s: d * 100, v: u * 100, a: t.a };
317
- }
318
- function F(t) {
319
- const e = t.h / 360, r = t.s / 100, i = t.v / 100, o = Math.floor(e * 6), h = e * 6 - o, s = i * (1 - r), d = i * (1 - h * r), u = i * (1 - (1 - h) * r);
320
- let l = 0, p = 0, b = 0;
321
- switch (o % 6) {
322
- case 0:
323
- l = i, p = u, b = s;
324
- break;
325
- case 1:
326
- l = d, p = i, b = s;
327
- break;
328
- case 2:
329
- l = s, p = i, b = u;
330
- break;
331
- case 3:
332
- l = s, p = d, b = i;
333
- break;
334
- case 4:
335
- l = u, p = s, b = i;
336
- break;
337
- case 5:
338
- l = i, p = s, b = d;
339
- break;
340
- }
341
- return { r: Math.round(l * 255), g: Math.round(p * 255), b: Math.round(b * 255), a: t.a };
342
- }
343
- function I(t) {
344
- const e = t.r / 255, r = t.g / 255, i = t.b / 255, o = Math.max(e, r, i), h = Math.min(e, r, i), s = (o + h) / 2;
345
- let d = 0, u = 0;
346
- if (o !== h) {
347
- const l = o - h;
348
- u = s > 0.5 ? l / (2 - o - h) : l / (o + h), o === e ? d = ((r - i) / l + (r < i ? 6 : 0)) / 6 : o === r ? d = ((i - e) / l + 2) / 6 : d = ((e - r) / l + 4) / 6;
349
- }
350
- return { h: d * 360, s: u * 100, l: s * 100, a: t.a };
351
- }
352
- function P(t) {
353
- if (!t) return null;
354
- if (t.startsWith("#")) {
355
- const o = G(t);
356
- return o ? S(o) : null;
357
- }
358
- const e = t.match(
359
- /rgba?\(\s*(\d+)(?:\s*,\s*|\s+)(\d+)(?:\s*,\s*|\s+)(\d+)(?:\s*(?:\/|,)\s*([\d.]+))?\s*\)/
360
- );
361
- if (e) {
362
- const [, o, h, s, d] = e;
363
- return S({
364
- r: parseInt(o ?? "0", 10),
365
- g: parseInt(h ?? "0", 10),
366
- b: parseInt(s ?? "0", 10),
367
- a: d !== void 0 ? parseFloat(d) : 1
368
- });
369
- }
370
- const r = t.match(
371
- /hsla?\(\s*([\d.]+)(?:\s*,\s*|\s+)([\d.]+)%(?:\s*,\s*|\s+)([\d.]+)%(?:\s*(?:\/|,)\s*([\d.]+))?\s*\)/
372
- );
373
- if (r) {
374
- const [, o, h, s, d] = r, u = parseFloat(o ?? "0"), l = parseFloat(h ?? "0") / 100, p = parseFloat(s ?? "0") / 100, b = d !== void 0 ? parseFloat(d) : 1, m = (1 - Math.abs(2 * p - 1)) * l, _ = m * (1 - Math.abs(u / 60 % 2 - 1)), M = p - m / 2;
375
- let x = 0, y = 0, w = 0;
376
- return u < 60 ? (x = m, y = _) : u < 120 ? (x = _, y = m) : u < 180 ? (y = m, w = _) : u < 240 ? (y = _, w = m) : u < 300 ? (x = _, w = m) : (x = m, w = _), S({
377
- r: Math.round((x + M) * 255),
378
- g: Math.round((y + M) * 255),
379
- b: Math.round((w + M) * 255),
380
- a: b
381
- });
382
- }
383
- const i = t.match(
384
- /hsva?\(\s*([\d.]+)\s*,\s*([\d.]+)%\s*,\s*([\d.]+)%(?:\s*,\s*([\d.]+))?\s*\)/
385
- );
386
- if (i) {
387
- const [, o, h, s, d] = i;
388
- return {
389
- h: parseFloat(o ?? "0"),
390
- s: parseFloat(h ?? "0"),
391
- v: parseFloat(s ?? "0"),
392
- a: d !== void 0 ? parseFloat(d) : 1
393
- };
394
- }
395
- return null;
396
- }
397
- function C(t, e, r) {
398
- const i = F(t);
399
- switch (e) {
400
- case "hex":
401
- return U(i, r);
402
- case "rgb":
403
- return r && t.a < 1 ? `rgb(${i.r} ${i.g} ${i.b} / ${Math.round(t.a * 100) / 100})` : `rgb(${i.r} ${i.g} ${i.b})`;
404
- case "hsl": {
405
- const o = I(i);
406
- return r && t.a < 1 ? `hsl(${Math.round(o.h)} ${Math.round(o.s)}% ${Math.round(o.l)}% / ${Math.round(t.a * 100) / 100})` : `hsl(${Math.round(o.h)} ${Math.round(o.s)}% ${Math.round(o.l)}%)`;
407
- }
408
- case "hsv":
409
- return r && t.a < 1 ? `hsva(${Math.round(t.h)}, ${Math.round(t.s)}%, ${Math.round(t.v)}%, ${Math.round(t.a * 100) / 100})` : `hsv(${Math.round(t.h)}, ${Math.round(t.s)}%, ${Math.round(t.v)}%)`;
410
- }
411
- }
412
- var L = Object.defineProperty, q = Object.getOwnPropertyDescriptor, n = (t, e, r, i) => {
413
- for (var o = i > 1 ? void 0 : i ? q(e, r) : e, h = t.length - 1, s; h >= 0; h--)
414
- (s = t[h]) && (o = (i ? s(e, r, o) : s(o)) || o);
415
- return i && o && L(e, r, o), o;
416
- };
417
- let a = class extends O(V) {
418
- constructor() {
419
- super(), this.value = "#000000", this.format = "hex", this.opacity = !1, this.swatches = [], this.swatchesOnly = !1, this.disabled = !1, this.name = "", this.inline = !1, this.required = !1, this.labelGradient = "Color gradient", this.labelHue = "Hue", this.labelOpacity = "Opacity", this.labelSwatches = "Preset colors", this.labelSwitchFormat = "Switch color format", this.labelColorValue = "Color value", this.labelPicker = "Color picker", this.labelTrigger = (t) => `Choose color: ${t}`, this._hsv = { h: 0, s: 0, v: 0, a: 1 }, this._open = !1, this._inputValue = "#000000", this._draggingGrid = !1, this._draggingHue = !1, this._draggingOpacity = !1, this._dragRect = null, this._boundPointerMove = this._handlePointerMove.bind(this), this._boundPointerUp = this._handlePointerUp.bind(this), this._boundDocumentClick = this._handleDocumentClick.bind(this);
420
- }
421
- // ─── Lifecycle ───────────────────────────────────────────────────────────
422
- connectedCallback() {
423
- super.connectedCallback(), this._syncFromValue();
424
- }
425
- disconnectedCallback() {
426
- super.disconnectedCallback(), typeof document < "u" && (document.removeEventListener("click", this._boundDocumentClick, !0), document.removeEventListener("pointermove", this._boundPointerMove), document.removeEventListener("pointerup", this._boundPointerUp));
427
- }
428
- willUpdate(t) {
429
- t.has("value") && this._syncFromValue();
430
- }
431
- // ─── Sync ────────────────────────────────────────────────────────────────
432
- /** @internal */
433
- _syncFromValue() {
434
- const t = P(this.value);
435
- t && (this._hsv = t), this._inputValue = C(this._hsv, this.format, this.opacity), this._internals.setFormValue(this.value);
436
- }
437
- /** @internal */
438
- _onFormDisabled(t) {
439
- this.disabled = t;
440
- }
441
- /** @internal */
442
- _onFormReset() {
443
- this.value = "#000000", this._internals.setFormValue(null), this._resetInteractionState();
444
- }
445
- /** @internal */
446
- _onFormStateRestore(t, e) {
447
- typeof t == "string" && (this.value = t);
448
- }
449
- /** @internal */
450
- _updateValidity() {
451
- var t, e;
452
- this.required && !this.value ? this._internals.setValidity(
453
- { valueMissing: !0 },
454
- "Please select a color.",
455
- ((t = this.shadowRoot) == null ? void 0 : t.querySelector('[part="trigger"]')) ?? ((e = this.shadowRoot) == null ? void 0 : e.querySelector('[part="grid"]')) ?? void 0
456
- ) : this._internals.setValidity({});
457
- }
458
- /** @internal */
459
- _commit(t) {
460
- const e = C(this._hsv, this.format, this.opacity);
461
- this.value = e, this._inputValue = e, this._internals.setFormValue(e), this._handleInteractionInput();
462
- const i = {
463
- bubbles: !0,
464
- composed: !0,
465
- detail: { value: e }
466
- };
467
- t === "drag" ? this.dispatchEvent(new CustomEvent("hx-input", i)) : this.dispatchEvent(new CustomEvent("hx-change", i));
468
- }
469
- // ─── Panel open/close ────────────────────────────────────────────────────
470
- /** @internal */
471
- _show() {
472
- this._open || this.inline || (this._open = !0, typeof document < "u" && document.addEventListener("click", this._boundDocumentClick, !0), this.updateComplete.then(() => {
473
- var r;
474
- const t = (r = this.shadowRoot) == null ? void 0 : r.querySelector(".panel"), e = (t == null ? void 0 : t.querySelector("input, button")) ?? t;
475
- e == null || e.focus();
476
- }));
477
- }
478
- /** @internal */
479
- _hide() {
480
- this._open && (this._open = !1, typeof document < "u" && document.removeEventListener("click", this._boundDocumentClick, !0));
481
- }
482
- /** @internal */
483
- _handleDocumentClick(t) {
484
- this._open && (t.composedPath().includes(this) || this._hide());
485
- }
486
- /** @internal */
487
- _handleTriggerClick(t) {
488
- t.stopPropagation(), this._open ? this._hide() : this._show();
489
- }
490
- /** @internal */
491
- _handlePanelKeydown(t) {
492
- var e, r;
493
- t.key === "Escape" && (t.stopPropagation(), this._hide(), (r = (e = this.shadowRoot) == null ? void 0 : e.querySelector('[part="trigger"]')) == null || r.focus());
494
- }
495
- // ─── Gradient grid dragging ───────────────────────────────────────────────
496
- /** @internal */
497
- _handleGridPointerDown(t) {
498
- var e;
499
- this.disabled || (t.preventDefault(), this._draggingGrid = !0, this._dragRect = ((e = this._gridEl) == null ? void 0 : e.getBoundingClientRect()) ?? null, t.currentTarget.setPointerCapture(t.pointerId), typeof document < "u" && (document.addEventListener("pointermove", this._boundPointerMove), document.addEventListener("pointerup", this._boundPointerUp)), this._updateGridFromPointer(t));
500
- }
501
- /** @internal */
502
- _updateGridFromPointer(t) {
503
- var o;
504
- const e = this._dragRect ?? ((o = this._gridEl) == null ? void 0 : o.getBoundingClientRect());
505
- if (!e) return;
506
- const r = v((t.clientX - e.left) / e.width, 0, 1), i = v((t.clientY - e.top) / e.height, 0, 1);
507
- this._hsv = { ...this._hsv, s: r * 100, v: (1 - i) * 100 }, this._commit("drag"), this.requestUpdate();
508
- }
509
- // P0-1: Keyboard support for gradient grid — fixes WCAG 2.1 SC 2.1.1 failure
510
- /** @internal */
511
- _handleGridKeydown(t) {
512
- let e = 0, r = 0;
513
- if (t.key === "ArrowLeft") e = -1;
514
- else if (t.key === "ArrowRight") e = 1;
515
- else if (t.key === "ArrowUp") r = 1;
516
- else if (t.key === "ArrowDown") r = -1;
517
- else if (t.key === "PageUp") r = 10;
518
- else if (t.key === "PageDown") r = -10;
519
- else if (t.key === "Home") {
520
- this._hsv = { ...this._hsv, s: 0, v: 100 }, this._commit("change");
521
- return;
522
- } else if (t.key === "End") {
523
- this._hsv = { ...this._hsv, s: 100, v: 0 }, this._commit("change");
524
- return;
525
- }
526
- (e !== 0 || r !== 0) && (t.preventDefault(), this._hsv = {
527
- ...this._hsv,
528
- s: v(this._hsv.s + e, 0, 100),
529
- v: v(this._hsv.v + r, 0, 100)
530
- }, this._commit("change"));
531
- }
532
- // ─── Hue slider dragging ─────────────────────────────────────────────────
533
- /** @internal */
534
- _handleHuePointerDown(t) {
535
- var e;
536
- this.disabled || (t.preventDefault(), this._draggingHue = !0, this._dragRect = ((e = this._hueSliderEl) == null ? void 0 : e.getBoundingClientRect()) ?? null, t.currentTarget.setPointerCapture(t.pointerId), typeof document < "u" && (document.addEventListener("pointermove", this._boundPointerMove), document.addEventListener("pointerup", this._boundPointerUp)), this._updateHueFromPointer(t));
537
- }
538
- /** @internal */
539
- _updateHueFromPointer(t) {
540
- var i;
541
- const e = this._dragRect ?? ((i = this._hueSliderEl) == null ? void 0 : i.getBoundingClientRect());
542
- if (!e) return;
543
- const r = v((t.clientX - e.left) / e.width, 0, 1);
544
- this._hsv = { ...this._hsv, h: r * 360 }, this._commit("drag"), this.requestUpdate();
545
- }
546
- // ─── Opacity slider dragging ──────────────────────────────────────────────
547
- /** @internal */
548
- _handleOpacityPointerDown(t) {
549
- var e;
550
- this.disabled || (t.preventDefault(), this._draggingOpacity = !0, this._dragRect = ((e = this._opacitySliderEl) == null ? void 0 : e.getBoundingClientRect()) ?? null, t.currentTarget.setPointerCapture(t.pointerId), typeof document < "u" && (document.addEventListener("pointermove", this._boundPointerMove), document.addEventListener("pointerup", this._boundPointerUp)), this._updateOpacityFromPointer(t));
551
- }
552
- /** @internal */
553
- _updateOpacityFromPointer(t) {
554
- var i;
555
- const e = this._dragRect ?? ((i = this._opacitySliderEl) == null ? void 0 : i.getBoundingClientRect());
556
- if (!e) return;
557
- const r = v((t.clientX - e.left) / e.width, 0, 1);
558
- this._hsv = { ...this._hsv, a: r }, this._commit("drag"), this.requestUpdate();
559
- }
560
- // ─── Document-level pointer handlers ─────────────────────────────────────
561
- /** @internal */
562
- _handlePointerMove(t) {
563
- this._draggingGrid ? this._updateGridFromPointer(t) : this._draggingHue ? this._updateHueFromPointer(t) : this._draggingOpacity && this._updateOpacityFromPointer(t);
564
- }
565
- /** @internal */
566
- _handlePointerUp() {
567
- (this._draggingGrid || this._draggingHue || this._draggingOpacity) && (this._draggingGrid = !1, this._draggingHue = !1, this._draggingOpacity = !1, this._dragRect = null, typeof document < "u" && (document.removeEventListener("pointermove", this._boundPointerMove), document.removeEventListener("pointerup", this._boundPointerUp)), this._commit("change"));
568
- }
569
- // ─── Keyboard handling for sliders ───────────────────────────────────────
570
- /** @internal */
571
- _handleHueKeydown(t) {
572
- let e = 0;
573
- if (t.key === "ArrowLeft" || t.key === "ArrowDown") e = -1;
574
- else if (t.key === "ArrowRight" || t.key === "ArrowUp") e = 1;
575
- else if (t.key === "PageDown") e = -10;
576
- else if (t.key === "PageUp") e = 10;
577
- else if (t.key === "Home") {
578
- this._hsv = { ...this._hsv, h: 0 }, this._commit("change");
579
- return;
580
- } else if (t.key === "End") {
581
- this._hsv = { ...this._hsv, h: 360 }, this._commit("change");
582
- return;
583
- }
584
- e !== 0 && (t.preventDefault(), this._hsv = { ...this._hsv, h: v(this._hsv.h + e, 0, 360) }, this._commit("change"));
585
- }
586
- /** @internal */
587
- _handleOpacityKeydown(t) {
588
- let e = 0;
589
- if (t.key === "ArrowLeft" || t.key === "ArrowDown") e = -0.01;
590
- else if (t.key === "ArrowRight" || t.key === "ArrowUp") e = 0.01;
591
- else if (t.key === "PageDown") e = -0.1;
592
- else if (t.key === "PageUp") e = 0.1;
593
- else if (t.key === "Home") {
594
- this._hsv = { ...this._hsv, a: 0 }, this._commit("change");
595
- return;
596
- } else if (t.key === "End") {
597
- this._hsv = { ...this._hsv, a: 1 }, this._commit("change");
598
- return;
599
- }
600
- e !== 0 && (t.preventDefault(), this._hsv = { ...this._hsv, a: v(this._hsv.a + e, 0, 1) }, this._commit("change"));
601
- }
602
- // ─── Input ───────────────────────────────────────────────────────────────
603
- // P1-7: Bound to @input (was @change) for real-time color preview while typing
604
- /** @internal */
605
- _handleInputChange(t) {
606
- const e = t.target, r = P(e.value.trim());
607
- r && (this._hsv = r, this._commit("change")), this._inputValue = e.value;
608
- }
609
- /** @internal */
610
- _handleInputBlur(t) {
611
- const e = t.target, r = P(e.value.trim());
612
- r ? (this._hsv = r, this._commit("change")) : this._inputValue = C(this._hsv, this.format, this.opacity);
613
- }
614
- /** @internal */
615
- _handleFormatCycle() {
616
- const t = ["hex", "rgb", "hsl", "hsv"], e = t.indexOf(this.format), r = t[(e + 1) % t.length];
617
- r !== void 0 && (this.format = r), this._inputValue = C(this._hsv, this.format, this.opacity);
618
- }
619
- // ─── Swatches ────────────────────────────────────────────────────────────
620
- /** @internal */
621
- _handleSwatchClick(t) {
622
- const e = P(t);
623
- e && (this._hsv = e, this._commit("change"));
624
- }
625
- // ─── Computed values ──────────────────────────────────────────────────────
626
- /** @internal */
627
- _hueColor() {
628
- return `hsl(${Math.round(this._hsv.h)}, 100%, 50%)`;
629
- }
630
- /** @internal */
631
- _previewColor() {
632
- const t = F(this._hsv);
633
- return this.opacity && this._hsv.a < 1 ? `rgb(${t.r} ${t.g} ${t.b} / ${Math.round(this._hsv.a * 100) / 100})` : `rgb(${t.r} ${t.g} ${t.b})`;
634
- }
635
- // ─── Render helpers ───────────────────────────────────────────────────────
636
- /** @internal */
637
- _renderGrid() {
638
- const t = `${this._hsv.s}%`, e = `${100 - this._hsv.v}%`, r = this._hueColor();
639
- return f`
640
- <div
641
- part="grid"
642
- class="gradient-grid"
643
- role="slider"
644
- tabindex="0"
645
- aria-label=${this.labelGradient}
646
- aria-valuemin="0"
647
- aria-valuemax="100"
648
- aria-valuenow=${Math.round(this._hsv.s)}
649
- aria-valuetext="Saturation ${Math.round(this._hsv.s)}%, Value ${Math.round(this._hsv.v)}%"
650
- @pointerdown=${this._handleGridPointerDown}
651
- @keydown=${this._handleGridKeydown}
652
- >
653
- <div class="gradient-grid-bg" style=${g({ "--_hue-color": r })}></div>
654
- <div
655
- class="gradient-thumb"
656
- style=${g({ "--_thumb-x": t, "--_thumb-y": e })}
657
- aria-hidden="true"
658
- ></div>
659
- </div>
660
- `;
661
- }
662
- /** @internal */
663
- _renderHueSlider() {
664
- const t = `${this._hsv.h / 360 * 100}%`, e = this._hueColor();
665
- return f`
666
- <div
667
- part="slider hue-slider"
668
- class="slider-track hue-track"
669
- role="slider"
670
- tabindex="0"
671
- aria-label=${this.labelHue}
672
- aria-valuemin="0"
673
- aria-valuemax="360"
674
- aria-valuenow=${Math.round(this._hsv.h)}
675
- aria-valuetext="${Math.round(this._hsv.h)}°"
676
- @pointerdown=${this._handleHuePointerDown}
677
- @keydown=${this._handleHueKeydown}
678
- >
679
- <div
680
- class="slider-thumb"
681
- style=${g({ "--_slider-pct": t, "--_thumb-color": e })}
682
- aria-hidden="true"
683
- ></div>
684
- </div>
685
- `;
686
- }
687
- /** @internal */
688
- _renderOpacitySlider() {
689
- if (!this.opacity) return k;
690
- const t = `${this._hsv.a * 100}%`, e = F(this._hsv), r = `rgb(${e.r} ${e.g} ${e.b} / ${Math.round(this._hsv.a * 100) / 100})`, i = this._hueColor();
691
- return f`
692
- <div
693
- part="slider opacity-slider"
694
- class="slider-track opacity-track"
695
- role="slider"
696
- tabindex="0"
697
- aria-label=${this.labelOpacity}
698
- aria-valuemin="0"
699
- aria-valuemax="100"
700
- aria-valuenow=${Math.round(this._hsv.a * 100)}
701
- aria-valuetext="${Math.round(this._hsv.a * 100)}%"
702
- style=${g({ "--_hue-color": i })}
703
- @pointerdown=${this._handleOpacityPointerDown}
704
- @keydown=${this._handleOpacityKeydown}
705
- >
706
- <div
707
- class="slider-thumb"
708
- style=${g({ "--_slider-pct": t, "--_thumb-color": r })}
709
- aria-hidden="true"
710
- ></div>
711
- </div>
712
- `;
713
- }
714
- /** @internal */
715
- _renderSwatches() {
716
- var t;
717
- return (t = this.swatches) != null && t.length ? f`
718
- <div part="swatches" class="swatches" role="group" aria-label=${this.labelSwatches}>
719
- ${this.swatches.map(
720
- (e) => f`
721
- <button
722
- type="button"
723
- class="swatch-btn"
724
- style=${g({ background: e })}
725
- aria-label=${e}
726
- title=${e}
727
- @click=${() => this._handleSwatchClick(e)}
728
- ></button>
729
- `
730
- )}
731
- </div>
732
- ` : k;
733
- }
734
- /** @internal */
735
- _renderInput() {
736
- return f`
737
- <div part="input" class="input-area">
738
- <div
739
- class="input-preview"
740
- style=${g({ "--_preview-color": this._previewColor() })}
741
- aria-hidden="true"
742
- ></div>
743
- <button
744
- type="button"
745
- class="format-btn"
746
- aria-label=${this.labelSwitchFormat}
747
- title="Switch format"
748
- @click=${this._handleFormatCycle}
749
- >
750
- ${this.format}
751
- </button>
752
- <input
753
- type="text"
754
- class="color-input"
755
- .value=${this._inputValue}
756
- aria-label=${this.labelColorValue}
757
- autocomplete="off"
758
- spellcheck="false"
759
- @input=${this._handleInputChange}
760
- @blur=${this._handleInputBlur}
761
- />
762
- </div>
763
- `;
764
- }
765
- /** @internal */
766
- _renderPanel() {
767
- return f`
768
- <div
769
- class="panel"
770
- role="group"
771
- aria-label=${this.labelPicker}
772
- tabindex="-1"
773
- @keydown=${this._handlePanelKeydown}
774
- >
775
- ${this.swatchesOnly ? k : f`${this._renderGrid()} ${this._renderHueSlider()} ${this._renderOpacitySlider()}`}
776
- ${this._renderSwatches()} ${this._renderInput()}
777
- </div>
778
- `;
779
- }
780
- // ─── Main render ─────────────────────────────────────────────────────────
781
- render() {
782
- const t = this._previewColor();
783
- return this.inline ? f`
784
- <div style=${g({ "--_preview-color": t })}>${this._renderPanel()}</div>
785
- ` : f`
786
- <button
787
- part="trigger"
788
- type="button"
789
- class="trigger"
790
- aria-label=${this.labelTrigger(this._inputValue)}
791
- aria-expanded=${this._open ? "true" : "false"}
792
- ?disabled=${this.disabled}
793
- style=${g({ "--_preview-color": t })}
794
- @click=${this._handleTriggerClick}
795
- >
796
- <slot name="trigger">
797
- <span class="trigger-swatch" aria-hidden="true"></span>
798
- <span class="trigger-label">${this._inputValue}</span>
799
- </slot>
800
- </button>
801
- ${this._open ? this._renderPanel() : k}
802
- `;
803
- }
804
- };
805
- a.styles = [B, T];
806
- a.formAssociated = !0;
807
- n([
808
- c({ type: String, reflect: !0 })
809
- ], a.prototype, "value", 2);
810
- n([
811
- c({ type: String, reflect: !0 })
812
- ], a.prototype, "format", 2);
813
- n([
814
- c({ type: Boolean, reflect: !0 })
815
- ], a.prototype, "opacity", 2);
816
- n([
817
- c({ attribute: !1 })
818
- ], a.prototype, "swatches", 2);
819
- n([
820
- c({ type: Boolean, reflect: !0, attribute: "swatches-only" })
821
- ], a.prototype, "swatchesOnly", 2);
822
- n([
823
- c({ type: Boolean, reflect: !0 })
824
- ], a.prototype, "disabled", 2);
825
- n([
826
- c({ type: String, reflect: !0 })
827
- ], a.prototype, "name", 2);
828
- n([
829
- c({ type: Boolean, reflect: !0 })
830
- ], a.prototype, "inline", 2);
831
- n([
832
- c({ type: Boolean, reflect: !0 })
833
- ], a.prototype, "required", 2);
834
- n([
835
- c({ type: String, attribute: "label-gradient" })
836
- ], a.prototype, "labelGradient", 2);
837
- n([
838
- c({ type: String, attribute: "label-hue" })
839
- ], a.prototype, "labelHue", 2);
840
- n([
841
- c({ type: String, attribute: "label-opacity" })
842
- ], a.prototype, "labelOpacity", 2);
843
- n([
844
- c({ type: String, attribute: "label-swatches" })
845
- ], a.prototype, "labelSwatches", 2);
846
- n([
847
- c({ type: String, attribute: "label-switch-format" })
848
- ], a.prototype, "labelSwitchFormat", 2);
849
- n([
850
- c({ type: String, attribute: "label-color-value" })
851
- ], a.prototype, "labelColorValue", 2);
852
- n([
853
- c({ type: String, attribute: "label-picker" })
854
- ], a.prototype, "labelPicker", 2);
855
- n([
856
- c({ attribute: !1 })
857
- ], a.prototype, "labelTrigger", 2);
858
- n([
859
- H()
860
- ], a.prototype, "_hsv", 2);
861
- n([
862
- H()
863
- ], a.prototype, "_open", 2);
864
- n([
865
- H()
866
- ], a.prototype, "_inputValue", 2);
867
- n([
868
- E('[part="grid"]')
869
- ], a.prototype, "_gridEl", 2);
870
- n([
871
- E('[part="hue-slider"]')
872
- ], a.prototype, "_hueSliderEl", 2);
873
- n([
874
- E('[part="opacity-slider"]')
875
- ], a.prototype, "_opacitySliderEl", 2);
876
- a = n([
877
- R("hx-color-picker")
878
- ], a);
879
- export {
880
- a as H
881
- };
882
- //# sourceMappingURL=hx-color-picker-uRc865FJ.js.map