@techzyapp/ui-library 1.0.25 → 1.0.28

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 (721) hide show
  1. package/dist/AdminRoot-BTvmassR.js +55 -0
  2. package/dist/AdminRoot-BTvmassR.js.map +1 -0
  3. package/dist/AdminRoot-DM-cZCpN.cjs +2 -0
  4. package/dist/AdminRoot-DM-cZCpN.cjs.map +1 -0
  5. package/dist/{Alert-udX1ybuC.cjs → Alert-CFm6MU0u.cjs} +2 -2
  6. package/dist/{Alert-udX1ybuC.cjs.map → Alert-CFm6MU0u.cjs.map} +1 -1
  7. package/dist/{Alert-DXmzM_rh.js → Alert-v-lelDih.js} +3 -3
  8. package/dist/{Alert-DXmzM_rh.js.map → Alert-v-lelDih.js.map} +1 -1
  9. package/dist/{AuthLayout-CP9qu6Bv.js → AuthLayout-DOFYw_z5.js} +3 -3
  10. package/dist/{AuthLayout-CP9qu6Bv.js.map → AuthLayout-DOFYw_z5.js.map} +1 -1
  11. package/dist/{AuthLayout-BRUxDgzs.cjs → AuthLayout-QAtW2GAT.cjs} +2 -2
  12. package/dist/{AuthLayout-BRUxDgzs.cjs.map → AuthLayout-QAtW2GAT.cjs.map} +1 -1
  13. package/dist/Avatar-DXNPg23a.js +90 -0
  14. package/dist/Avatar-DXNPg23a.js.map +1 -0
  15. package/dist/Avatar-DrV_F7Ex.cjs +2 -0
  16. package/dist/Avatar-DrV_F7Ex.cjs.map +1 -0
  17. package/dist/{AvatarGroup-uW0SD5P4.cjs → AvatarGroup-CHesdo-M.cjs} +2 -2
  18. package/dist/{AvatarGroup-uW0SD5P4.cjs.map → AvatarGroup-CHesdo-M.cjs.map} +1 -1
  19. package/dist/{AvatarGroup-YaNasLMS.js → AvatarGroup-CwlYqDCI.js} +2 -2
  20. package/dist/{AvatarGroup-YaNasLMS.js.map → AvatarGroup-CwlYqDCI.js.map} +1 -1
  21. package/dist/Badge-BmFgusOa.js +50 -0
  22. package/dist/{Badge-DSWigoGC.js.map → Badge-BmFgusOa.js.map} +1 -1
  23. package/dist/Badge-DVbe1rAI.cjs +2 -0
  24. package/dist/{Badge-BQpr2Jee.cjs.map → Badge-DVbe1rAI.cjs.map} +1 -1
  25. package/dist/{Breadcrumbs-CsYTiX2h.cjs → Breadcrumbs-3wHPNa0P.cjs} +2 -2
  26. package/dist/{Breadcrumbs-CsYTiX2h.cjs.map → Breadcrumbs-3wHPNa0P.cjs.map} +1 -1
  27. package/dist/{Breadcrumbs-DQHHeLId.js → Breadcrumbs-Cgd-u3aK.js} +3 -3
  28. package/dist/{Breadcrumbs-DQHHeLId.js.map → Breadcrumbs-Cgd-u3aK.js.map} +1 -1
  29. package/dist/Button-BLW9yV8W.js +72 -0
  30. package/dist/{Button-DBs8xnA5.js.map → Button-BLW9yV8W.js.map} +1 -1
  31. package/dist/Button-KRGjJdMV.cjs +2 -0
  32. package/dist/{Button-CXmDOzPk.cjs.map → Button-KRGjJdMV.cjs.map} +1 -1
  33. package/dist/{Calendar-B2nMXk4C.cjs → Calendar-CoTCOOUu.cjs} +2 -2
  34. package/dist/{Calendar-B2nMXk4C.cjs.map → Calendar-CoTCOOUu.cjs.map} +1 -1
  35. package/dist/{Calendar-CtteUt82.js → Calendar-sLA-xa0B.js} +4 -4
  36. package/dist/{Calendar-CtteUt82.js.map → Calendar-sLA-xa0B.js.map} +1 -1
  37. package/dist/Card-6fiSEC0z.js +121 -0
  38. package/dist/Card-6fiSEC0z.js.map +1 -0
  39. package/dist/Card-zTkvreQu.cjs +2 -0
  40. package/dist/Card-zTkvreQu.cjs.map +1 -0
  41. package/dist/Checkbox-CTp1xFW7.cjs +2 -0
  42. package/dist/{Checkbox-fzJCwe0j.cjs.map → Checkbox-CTp1xFW7.cjs.map} +1 -1
  43. package/dist/Checkbox-DyKBIgVT.js +98 -0
  44. package/dist/{Checkbox-ZYOSBYRt.js.map → Checkbox-DyKBIgVT.js.map} +1 -1
  45. package/dist/{Chip-DdKhcstm.js → Chip-C-5Z5wsC.js} +31 -31
  46. package/dist/{Chip-DdKhcstm.js.map → Chip-C-5Z5wsC.js.map} +1 -1
  47. package/dist/Chip-CqOqfafx.cjs +2 -0
  48. package/dist/{Chip-gUH_7nQc.cjs.map → Chip-CqOqfafx.cjs.map} +1 -1
  49. package/dist/ChoiceCardGroup-BSagRbPI.cjs +2 -0
  50. package/dist/{ChoiceCardGroup-d0VVTUi5.cjs.map → ChoiceCardGroup-BSagRbPI.cjs.map} +1 -1
  51. package/dist/ChoiceCardGroup-CEniY_HJ.js +181 -0
  52. package/dist/{ChoiceCardGroup-DBohUnRj.js.map → ChoiceCardGroup-CEniY_HJ.js.map} +1 -1
  53. package/dist/{CodeBlock-C6tQtbHU.cjs → CodeBlock-DFiHDZXh.cjs} +2 -2
  54. package/dist/{CodeBlock-C6tQtbHU.cjs.map → CodeBlock-DFiHDZXh.cjs.map} +1 -1
  55. package/dist/{CodeBlock-DD_d3-sM.js → CodeBlock-rPaqO7yD.js} +3 -3
  56. package/dist/{CodeBlock-DD_d3-sM.js.map → CodeBlock-rPaqO7yD.js.map} +1 -1
  57. package/dist/ColorPicker-Bqypsy5E.cjs +2 -0
  58. package/dist/ColorPicker-Bqypsy5E.cjs.map +1 -0
  59. package/dist/{ColorPicker-Dw6Qk0iy.js → ColorPicker-DXDAXvlA.js} +36 -27
  60. package/dist/ColorPicker-DXDAXvlA.js.map +1 -0
  61. package/dist/ColorPickerPanel-6lQC1URc.js +322 -0
  62. package/dist/ColorPickerPanel-6lQC1URc.js.map +1 -0
  63. package/dist/ColorPickerPanel-C9ARc_uD.cjs +2 -0
  64. package/dist/ColorPickerPanel-C9ARc_uD.cjs.map +1 -0
  65. package/dist/ColorRamp-B9OWxCOK.cjs +2 -0
  66. package/dist/ColorRamp-B9OWxCOK.cjs.map +1 -0
  67. package/dist/ColorRamp-DQ8wkgvF.js +126 -0
  68. package/dist/ColorRamp-DQ8wkgvF.js.map +1 -0
  69. package/dist/{ConfigProvider-Bszl3Wr3.cjs → ConfigProvider-BElY0HuV.cjs} +2 -2
  70. package/dist/ConfigProvider-BElY0HuV.cjs.map +1 -0
  71. package/dist/{ConfigProvider-DR9YMy9U.js → ConfigProvider-B_RSn9bb.js} +2 -2
  72. package/dist/ConfigProvider-B_RSn9bb.js.map +1 -0
  73. package/dist/CopyButton-B5aicGl3.cjs +2 -0
  74. package/dist/{CopyButton-Ct-8AmmX.cjs.map → CopyButton-B5aicGl3.cjs.map} +1 -1
  75. package/dist/CopyButton-BplPYm8i.js +43 -0
  76. package/dist/{CopyButton-DJ1PSJZU.js.map → CopyButton-BplPYm8i.js.map} +1 -1
  77. package/dist/DashedButton-B7xodc3N.cjs +2 -0
  78. package/dist/{DashedButton-3C4IZuo4.cjs.map → DashedButton-B7xodc3N.cjs.map} +1 -1
  79. package/dist/DashedButton-iM7kzopW.js +59 -0
  80. package/dist/{DashedButton-BXZAyMtw.js.map → DashedButton-iM7kzopW.js.map} +1 -1
  81. package/dist/{DatePicker-BxEydgfu.cjs → DatePicker-Cdl2JYBd.cjs} +2 -2
  82. package/dist/{DatePicker-BxEydgfu.cjs.map → DatePicker-Cdl2JYBd.cjs.map} +1 -1
  83. package/dist/{DatePicker-CJioG5M7.js → DatePicker-U5TJ9FYM.js} +7 -7
  84. package/dist/{DatePicker-CJioG5M7.js.map → DatePicker-U5TJ9FYM.js.map} +1 -1
  85. package/dist/DatePicker.module-BDtTsg8M.cjs +2 -0
  86. package/dist/{DatePicker.module-tE-tGNBd.cjs.map → DatePicker.module-BDtTsg8M.cjs.map} +1 -1
  87. package/dist/DatePicker.module-CMMQyEhG.js +138 -0
  88. package/dist/{DatePicker.module-BZDftL4g.js.map → DatePicker.module-CMMQyEhG.js.map} +1 -1
  89. package/dist/{DateTimePicker-COEj2Z0F.cjs → DateTimePicker-DUFtddxJ.cjs} +2 -2
  90. package/dist/{DateTimePicker-COEj2Z0F.cjs.map → DateTimePicker-DUFtddxJ.cjs.map} +1 -1
  91. package/dist/{DateTimePicker-e2zj2bhS.js → DateTimePicker-laJsZYJX.js} +10 -10
  92. package/dist/{DateTimePicker-e2zj2bhS.js.map → DateTimePicker-laJsZYJX.js.map} +1 -1
  93. package/dist/DescriptionList-BCvOX8fg.cjs +2 -0
  94. package/dist/DescriptionList-BCvOX8fg.cjs.map +1 -0
  95. package/dist/DescriptionList-Y9jF_4L0.js +176 -0
  96. package/dist/DescriptionList-Y9jF_4L0.js.map +1 -0
  97. package/dist/{Dropdown-FfkmluRu.js → Dropdown--1mNTVZJ.js} +2 -2
  98. package/dist/{Dropdown-FfkmluRu.js.map → Dropdown--1mNTVZJ.js.map} +1 -1
  99. package/dist/{Dropdown-Ui7h2TGd.cjs → Dropdown-DNZ9S_zQ.cjs} +2 -2
  100. package/dist/{Dropdown-Ui7h2TGd.cjs.map → Dropdown-DNZ9S_zQ.cjs.map} +1 -1
  101. package/dist/EmptyState-BtwuzX9Z.js +58 -0
  102. package/dist/EmptyState-BtwuzX9Z.js.map +1 -0
  103. package/dist/EmptyState-CO_NRZ6w.cjs +2 -0
  104. package/dist/EmptyState-CO_NRZ6w.cjs.map +1 -0
  105. package/dist/ErrorBoundary-DJ6R1M9k.js +126 -0
  106. package/dist/ErrorBoundary-DJ6R1M9k.js.map +1 -0
  107. package/dist/ErrorBoundary-unvC1vZQ.cjs +2 -0
  108. package/dist/ErrorBoundary-unvC1vZQ.cjs.map +1 -0
  109. package/dist/FileCard-C3a2yDhK.js +149 -0
  110. package/dist/FileCard-C3a2yDhK.js.map +1 -0
  111. package/dist/FileCard-DKjDQRzZ.cjs +2 -0
  112. package/dist/FileCard-DKjDQRzZ.cjs.map +1 -0
  113. package/dist/FileUploader-CuOHWkiG.js +707 -0
  114. package/dist/FileUploader-CuOHWkiG.js.map +1 -0
  115. package/dist/FileUploader-VIOg03pl.cjs +2 -0
  116. package/dist/FileUploader-VIOg03pl.cjs.map +1 -0
  117. package/dist/{Flag-CB4YyPj3.cjs → Flag-aOQncoEZ.cjs} +2 -2
  118. package/dist/{Flag-CB4YyPj3.cjs.map → Flag-aOQncoEZ.cjs.map} +1 -1
  119. package/dist/{Flag-yA1y5XzR.js → Flag-kpUfmrwC.js} +2 -2
  120. package/dist/{Flag-yA1y5XzR.js.map → Flag-kpUfmrwC.js.map} +1 -1
  121. package/dist/FloatingPanel-BIC4WrFa.cjs +2 -0
  122. package/dist/FloatingPanel-BIC4WrFa.cjs.map +1 -0
  123. package/dist/FloatingPanel-CeSOtE_D.js +135 -0
  124. package/dist/FloatingPanel-CeSOtE_D.js.map +1 -0
  125. package/dist/{FullscreenToggle-0lskYnpx.cjs → FullscreenToggle-BSwxQEaG.cjs} +2 -2
  126. package/dist/{FullscreenToggle-0lskYnpx.cjs.map → FullscreenToggle-BSwxQEaG.cjs.map} +1 -1
  127. package/dist/{FullscreenToggle-jSLruiKt.js → FullscreenToggle-CMifmPD3.js} +3 -3
  128. package/dist/{FullscreenToggle-jSLruiKt.js.map → FullscreenToggle-CMifmPD3.js.map} +1 -1
  129. package/dist/IconButton-A2B0bqC-.cjs +2 -0
  130. package/dist/{IconButton-BN-bZxEi.cjs.map → IconButton-A2B0bqC-.cjs.map} +1 -1
  131. package/dist/IconButton-Dq17Fekm.js +68 -0
  132. package/dist/{IconButton-BEGWfcVc.js.map → IconButton-Dq17Fekm.js.map} +1 -1
  133. package/dist/List-9lUjapQ5.cjs +2 -0
  134. package/dist/List-9lUjapQ5.cjs.map +1 -0
  135. package/dist/List-CZwNGxuP.js +107 -0
  136. package/dist/List-CZwNGxuP.js.map +1 -0
  137. package/dist/Loader-CwyoKoWY.js +28 -0
  138. package/dist/{Loader-BZIa8hwv.js.map → Loader-CwyoKoWY.js.map} +1 -1
  139. package/dist/Loader-D9nteBXt.cjs +2 -0
  140. package/dist/{Loader-B5YqzEYy.cjs.map → Loader-D9nteBXt.cjs.map} +1 -1
  141. package/dist/MobileFrame-8FSsYA_w.js +91 -0
  142. package/dist/MobileFrame-8FSsYA_w.js.map +1 -0
  143. package/dist/MobileFrame-Dsfgd_4k.cjs +2 -0
  144. package/dist/MobileFrame-Dsfgd_4k.cjs.map +1 -0
  145. package/dist/Modal-CQDcYS-Y.cjs +2 -0
  146. package/dist/Modal-CQDcYS-Y.cjs.map +1 -0
  147. package/dist/Modal-cz6JIsZn.js +196 -0
  148. package/dist/Modal-cz6JIsZn.js.map +1 -0
  149. package/dist/MultiSelect-BIwE6wb7.cjs +2 -0
  150. package/dist/MultiSelect-BIwE6wb7.cjs.map +1 -0
  151. package/dist/MultiSelect-C6l0LpIs.js +219 -0
  152. package/dist/MultiSelect-C6l0LpIs.js.map +1 -0
  153. package/dist/{MultilineTextField-Dz6Fg8RJ.cjs → MultilineTextField-B6EYAdik.cjs} +2 -2
  154. package/dist/{MultilineTextField-Dz6Fg8RJ.cjs.map → MultilineTextField-B6EYAdik.cjs.map} +1 -1
  155. package/dist/{MultilineTextField-CwNCJ9lZ.js → MultilineTextField-BgfBFeeF.js} +2 -2
  156. package/dist/{MultilineTextField-CwNCJ9lZ.js.map → MultilineTextField-BgfBFeeF.js.map} +1 -1
  157. package/dist/{NumberField-2yM0mmyj.js → NumberField-BpUTV_Qn.js} +5 -5
  158. package/dist/{NumberField-2yM0mmyj.js.map → NumberField-BpUTV_Qn.js.map} +1 -1
  159. package/dist/{NumberField-CEt95jcC.cjs → NumberField-IyhO4OpJ.cjs} +2 -2
  160. package/dist/{NumberField-CEt95jcC.cjs.map → NumberField-IyhO4OpJ.cjs.map} +1 -1
  161. package/dist/{OtpField-CkliY82J.js → OtpField-BoLxbGtY.js} +4 -4
  162. package/dist/{OtpField-CkliY82J.js.map → OtpField-BoLxbGtY.js.map} +1 -1
  163. package/dist/{OtpField-on-K0_fM.cjs → OtpField-HMrxkdiy.cjs} +2 -2
  164. package/dist/{OtpField-on-K0_fM.cjs.map → OtpField-HMrxkdiy.cjs.map} +1 -1
  165. package/dist/{PageLayout-DGHu7Vm3.cjs → PageLayout-DtWG-6dn.cjs} +2 -2
  166. package/dist/{PageLayout-DGHu7Vm3.cjs.map → PageLayout-DtWG-6dn.cjs.map} +1 -1
  167. package/dist/{PageLayout-DzPh_G6H.js → PageLayout-G8F1WgC-.js} +2 -2
  168. package/dist/{PageLayout-DzPh_G6H.js.map → PageLayout-G8F1WgC-.js.map} +1 -1
  169. package/dist/{PageNotFound-CCFfPHgA.js → PageNotFound-CeKIMZ55.js} +9 -9
  170. package/dist/PageNotFound-CeKIMZ55.js.map +1 -0
  171. package/dist/PageNotFound-DG8xXPL3.cjs +2 -0
  172. package/dist/PageNotFound-DG8xXPL3.cjs.map +1 -0
  173. package/dist/Pagination-Br8P3KwE.cjs +2 -0
  174. package/dist/{Pagination-BdVebW2L.cjs.map → Pagination-Br8P3KwE.cjs.map} +1 -1
  175. package/dist/Pagination-CE1uKrR4.js +139 -0
  176. package/dist/{Pagination-CmskZjcz.js.map → Pagination-CE1uKrR4.js.map} +1 -1
  177. package/dist/PaletteField-BBPbkDcp.js +54 -0
  178. package/dist/PaletteField-BBPbkDcp.js.map +1 -0
  179. package/dist/PaletteField-DwvSn6V6.cjs +2 -0
  180. package/dist/PaletteField-DwvSn6V6.cjs.map +1 -0
  181. package/dist/PhoneField-B-L0xAtD.js +372 -0
  182. package/dist/PhoneField-B-L0xAtD.js.map +1 -0
  183. package/dist/PhoneField-BclMbl7L.cjs +2 -0
  184. package/dist/PhoneField-BclMbl7L.cjs.map +1 -0
  185. package/dist/Popconfirm-BgpvCBy1.js +113 -0
  186. package/dist/Popconfirm-BgpvCBy1.js.map +1 -0
  187. package/dist/Popconfirm-DD8F8SXn.cjs +2 -0
  188. package/dist/Popconfirm-DD8F8SXn.cjs.map +1 -0
  189. package/dist/{Popover-CgIU4Rhg.js → Popover-B82Id9Ut.js} +2 -2
  190. package/dist/{Popover-CgIU4Rhg.js.map → Popover-B82Id9Ut.js.map} +1 -1
  191. package/dist/{Popover-CBI1icIM.cjs → Popover-DAT6DcM9.cjs} +2 -2
  192. package/dist/{Popover-CBI1icIM.cjs.map → Popover-DAT6DcM9.cjs.map} +1 -1
  193. package/dist/Progress-L5koRRJp.js +119 -0
  194. package/dist/Progress-L5koRRJp.js.map +1 -0
  195. package/dist/Progress-_aZ8XOJr.cjs +2 -0
  196. package/dist/Progress-_aZ8XOJr.cjs.map +1 -0
  197. package/dist/QrCode-BQ1eUiAJ.cjs +2 -0
  198. package/dist/QrCode-BQ1eUiAJ.cjs.map +1 -0
  199. package/dist/QrCode-osD23Vkt.js +80 -0
  200. package/dist/QrCode-osD23Vkt.js.map +1 -0
  201. package/dist/QueryError-BMH8X69O.cjs +2 -0
  202. package/dist/QueryError-BMH8X69O.cjs.map +1 -0
  203. package/dist/QueryError-tBuIQRgv.js +19 -0
  204. package/dist/QueryError-tBuIQRgv.js.map +1 -0
  205. package/dist/RadioGroup-BcFBdFhh.cjs +2 -0
  206. package/dist/{RadioGroup-C8u7eNBS.cjs.map → RadioGroup-BcFBdFhh.cjs.map} +1 -1
  207. package/dist/RadioGroup-dVx_hMCY.js +141 -0
  208. package/dist/{RadioGroup-DbodUJW8.js.map → RadioGroup-dVx_hMCY.js.map} +1 -1
  209. package/dist/RemoveDialog-C9_UzFBf.js +109 -0
  210. package/dist/RemoveDialog-C9_UzFBf.js.map +1 -0
  211. package/dist/RemoveDialog-DBKYnTYU.cjs +2 -0
  212. package/dist/RemoveDialog-DBKYnTYU.cjs.map +1 -0
  213. package/dist/RichTextEditor-DTz7Qcn_.cjs +2 -0
  214. package/dist/RichTextEditor-DTz7Qcn_.cjs.map +1 -0
  215. package/dist/{RichTextEditor-Bm8FFbcR.js → RichTextEditor-fXcbUjTl.js} +13 -13
  216. package/dist/RichTextEditor-fXcbUjTl.js.map +1 -0
  217. package/dist/RootLayout-DG2dXhXn.cjs +2 -0
  218. package/dist/{RootLayout-kssj9exn.cjs.map → RootLayout-DG2dXhXn.cjs.map} +1 -1
  219. package/dist/RootLayout-p8ArA6wA.js +515 -0
  220. package/dist/{RootLayout-Cf7Rr9Iz.js.map → RootLayout-p8ArA6wA.js.map} +1 -1
  221. package/dist/Select-BAR_aVSz.js +199 -0
  222. package/dist/Select-BAR_aVSz.js.map +1 -0
  223. package/dist/Select-BuVfUiw-.cjs +2 -0
  224. package/dist/Select-BuVfUiw-.cjs.map +1 -0
  225. package/dist/{Sidebar-YH-DoNG9.js → Sidebar-CsWcjSTx.js} +193 -183
  226. package/dist/Sidebar-CsWcjSTx.js.map +1 -0
  227. package/dist/Sidebar-NI5HGGYF.cjs +2 -0
  228. package/dist/Sidebar-NI5HGGYF.cjs.map +1 -0
  229. package/dist/Skeleton-DK0lAjS9.cjs +2 -0
  230. package/dist/Skeleton-DK0lAjS9.cjs.map +1 -0
  231. package/dist/Skeleton-_-uGax2j.js +56 -0
  232. package/dist/Skeleton-_-uGax2j.js.map +1 -0
  233. package/dist/Slider-Cu1FhxR2.cjs +2 -0
  234. package/dist/{Slider-dxYVXRev.cjs.map → Slider-Cu1FhxR2.cjs.map} +1 -1
  235. package/dist/Slider-DoQJWgGU.js +184 -0
  236. package/dist/{Slider-oGXd5e9X.js.map → Slider-DoQJWgGU.js.map} +1 -1
  237. package/dist/{SpeedDial-9_Yk8AGx.cjs → SpeedDial-C_rZkHmF.cjs} +2 -2
  238. package/dist/{SpeedDial-9_Yk8AGx.cjs.map → SpeedDial-C_rZkHmF.cjs.map} +1 -1
  239. package/dist/{SpeedDial-DWNuC6f8.js → SpeedDial-DF-ILheU.js} +2 -2
  240. package/dist/{SpeedDial-DWNuC6f8.js.map → SpeedDial-DF-ILheU.js.map} +1 -1
  241. package/dist/{Stepper-CuqFpamY.js → Stepper-B39Ax_w6.js} +70 -70
  242. package/dist/{Stepper-CuqFpamY.js.map → Stepper-B39Ax_w6.js.map} +1 -1
  243. package/dist/Stepper-CT7n113R.cjs +2 -0
  244. package/dist/{Stepper-B1z_u650.cjs.map → Stepper-CT7n113R.cjs.map} +1 -1
  245. package/dist/{SwatchPicker-CCJltwHI.cjs → SwatchPicker-BWXqgsEy.cjs} +2 -2
  246. package/dist/{SwatchPicker-CCJltwHI.cjs.map → SwatchPicker-BWXqgsEy.cjs.map} +1 -1
  247. package/dist/{SwatchPicker-CqyWngFJ.js → SwatchPicker-Bpxk0IOe.js} +3 -3
  248. package/dist/{SwatchPicker-CqyWngFJ.js.map → SwatchPicker-Bpxk0IOe.js.map} +1 -1
  249. package/dist/Switch-DSs2Y0IR.cjs +2 -0
  250. package/dist/{Switch-DRkZ6kHJ.cjs.map → Switch-DSs2Y0IR.cjs.map} +1 -1
  251. package/dist/Switch-Jh2Ch8GO.js +85 -0
  252. package/dist/{Switch-DMPJ0fhB.js.map → Switch-Jh2Ch8GO.js.map} +1 -1
  253. package/dist/Table-CH_oiEP3.js +1170 -0
  254. package/dist/Table-CH_oiEP3.js.map +1 -0
  255. package/dist/Table-DD_uysnY.cjs +2 -0
  256. package/dist/Table-DD_uysnY.cjs.map +1 -0
  257. package/dist/Tabs-By86Cmpw.js +190 -0
  258. package/dist/{Tabs-ytbBzAxG.js.map → Tabs-By86Cmpw.js.map} +1 -1
  259. package/dist/Tabs-C1N9FgAq.cjs +2 -0
  260. package/dist/{Tabs-BiKDy_fv.cjs.map → Tabs-C1N9FgAq.cjs.map} +1 -1
  261. package/dist/{TagsField-CEt_PC5y.js → TagsField-BiOyAadf.js} +5 -5
  262. package/dist/{TagsField-CEt_PC5y.js.map → TagsField-BiOyAadf.js.map} +1 -1
  263. package/dist/{TagsField-DpDbf0ru.cjs → TagsField-RX-x45-j.cjs} +2 -2
  264. package/dist/{TagsField-DpDbf0ru.cjs.map → TagsField-RX-x45-j.cjs.map} +1 -1
  265. package/dist/{TextField-Df_kGy2l.cjs → TextField-CdbanZuk.cjs} +2 -2
  266. package/dist/{TextField-Df_kGy2l.cjs.map → TextField-CdbanZuk.cjs.map} +1 -1
  267. package/dist/{TextField-BWdmF-HE.js → TextField-CkronCRC.js} +5 -5
  268. package/dist/{TextField-BWdmF-HE.js.map → TextField-CkronCRC.js.map} +1 -1
  269. package/dist/TextField.module-6gYcR9TL.js +27 -0
  270. package/dist/TextField.module-6gYcR9TL.js.map +1 -0
  271. package/dist/TextField.module-DsNCo8vN.cjs +2 -0
  272. package/dist/TextField.module-DsNCo8vN.cjs.map +1 -0
  273. package/dist/{ThemeToggle-CgxF6oUu.js → ThemeToggle-BYUEH6be.js} +3 -3
  274. package/dist/{ThemeToggle-CgxF6oUu.js.map → ThemeToggle-BYUEH6be.js.map} +1 -1
  275. package/dist/{ThemeToggle-BJdXhmfc.cjs → ThemeToggle-C4QhDd76.cjs} +2 -2
  276. package/dist/{ThemeToggle-BJdXhmfc.cjs.map → ThemeToggle-C4QhDd76.cjs.map} +1 -1
  277. package/dist/{TimeColumns-DxVN0V8l.cjs → TimeColumns-Cl0_IRf0.cjs} +2 -2
  278. package/dist/{TimeColumns-DxVN0V8l.cjs.map → TimeColumns-Cl0_IRf0.cjs.map} +1 -1
  279. package/dist/{TimeColumns-n-fz50mr.js → TimeColumns-yzjScNU8.js} +3 -3
  280. package/dist/{TimeColumns-n-fz50mr.js.map → TimeColumns-yzjScNU8.js.map} +1 -1
  281. package/dist/{TimePicker-DvoemiGz.cjs → TimePicker-CJGVGETl.cjs} +2 -2
  282. package/dist/{TimePicker-DvoemiGz.cjs.map → TimePicker-CJGVGETl.cjs.map} +1 -1
  283. package/dist/{TimePicker-Bopxx3zU.js → TimePicker-CoIdMv1S.js} +8 -8
  284. package/dist/{TimePicker-Bopxx3zU.js.map → TimePicker-CoIdMv1S.js.map} +1 -1
  285. package/dist/Timeline-CKEosWka.cjs +2 -0
  286. package/dist/{Timeline-ONU_3gi3.cjs.map → Timeline-CKEosWka.cjs.map} +1 -1
  287. package/dist/Timeline-ufVXmpMY.js +71 -0
  288. package/dist/{Timeline-D3kzt1dy.js.map → Timeline-ufVXmpMY.js.map} +1 -1
  289. package/dist/{Toaster-BxIY2H4V.js → Toaster-Dhz2mYq_.js} +2 -2
  290. package/dist/{Toaster-BxIY2H4V.js.map → Toaster-Dhz2mYq_.js.map} +1 -1
  291. package/dist/{Toaster-DZSzFse_.cjs → Toaster-lv5cJhib.cjs} +2 -2
  292. package/dist/{Toaster-DZSzFse_.cjs.map → Toaster-lv5cJhib.cjs.map} +1 -1
  293. package/dist/{TranslatedFields-BtDLkQy7.cjs → TranslatedFields-BCJ86Tqp.cjs} +2 -2
  294. package/dist/{TranslatedFields-BtDLkQy7.cjs.map → TranslatedFields-BCJ86Tqp.cjs.map} +1 -1
  295. package/dist/{TranslatedFields-DmR8LKSG.js → TranslatedFields-BtNUAyrY.js} +5 -5
  296. package/dist/{TranslatedFields-DmR8LKSG.js.map → TranslatedFields-BtNUAyrY.js.map} +1 -1
  297. package/dist/Typography-B6ASPrzT.cjs +2 -0
  298. package/dist/Typography-B6ASPrzT.cjs.map +1 -0
  299. package/dist/Typography-CJv5AnRP.js +70 -0
  300. package/dist/Typography-CJv5AnRP.js.map +1 -0
  301. package/dist/UserCard-B-eNyZuT.js +78 -0
  302. package/dist/UserCard-B-eNyZuT.js.map +1 -0
  303. package/dist/UserCard-CiQUrZjb.cjs +2 -0
  304. package/dist/UserCard-CiQUrZjb.cjs.map +1 -0
  305. package/dist/app/AdminRoot.d.cts +10 -3
  306. package/dist/app/AdminRoot.d.ts +10 -3
  307. package/dist/color-CgR8ybWZ.cjs +2 -0
  308. package/dist/color-CgR8ybWZ.cjs.map +1 -0
  309. package/dist/color-EQJ2DrcQ.js +24 -0
  310. package/dist/color-EQJ2DrcQ.js.map +1 -0
  311. package/dist/components/Alert/index.cjs +1 -1
  312. package/dist/components/Alert/index.js +1 -1
  313. package/dist/components/AuthLayout/index.cjs +1 -1
  314. package/dist/components/AuthLayout/index.js +1 -1
  315. package/dist/components/Avatar/Avatar.d.cts +7 -1
  316. package/dist/components/Avatar/Avatar.d.ts +7 -1
  317. package/dist/components/Avatar/index.cjs +1 -1
  318. package/dist/components/Avatar/index.js +2 -2
  319. package/dist/components/Badge/index.cjs +1 -1
  320. package/dist/components/Badge/index.js +1 -1
  321. package/dist/components/Breadcrumbs/index.cjs +1 -1
  322. package/dist/components/Breadcrumbs/index.js +1 -1
  323. package/dist/components/Button/index.cjs +1 -1
  324. package/dist/components/Button/index.js +1 -1
  325. package/dist/components/Card/Card.d.cts +2 -0
  326. package/dist/components/Card/Card.d.ts +2 -0
  327. package/dist/components/Card/index.cjs +1 -1
  328. package/dist/components/Card/index.js +1 -1
  329. package/dist/components/Checkbox/index.cjs +1 -1
  330. package/dist/components/Checkbox/index.js +1 -1
  331. package/dist/components/Chip/index.cjs +1 -1
  332. package/dist/components/Chip/index.js +1 -1
  333. package/dist/components/ChoiceCard/index.cjs +1 -1
  334. package/dist/components/ChoiceCard/index.js +1 -1
  335. package/dist/components/CodeBlock/index.cjs +1 -1
  336. package/dist/components/CodeBlock/index.js +1 -1
  337. package/dist/components/ColorPicker/ColorPicker.d.cts +5 -0
  338. package/dist/components/ColorPicker/ColorPicker.d.ts +5 -0
  339. package/dist/components/ColorPicker/ColorPickerPanel.d.cts +6 -1
  340. package/dist/components/ColorPicker/ColorPickerPanel.d.ts +6 -1
  341. package/dist/components/ColorPicker/colorUtils.d.cts +3 -12
  342. package/dist/components/ColorPicker/colorUtils.d.ts +3 -12
  343. package/dist/components/ColorPicker/index.cjs +1 -1
  344. package/dist/components/ColorPicker/index.js +1 -1
  345. package/dist/components/ColorRamp/ColorRamp.d.cts +36 -0
  346. package/dist/components/ColorRamp/ColorRamp.d.ts +36 -0
  347. package/dist/components/ColorRamp/index.cjs +2 -0
  348. package/dist/components/ColorRamp/index.cjs.map +1 -0
  349. package/dist/components/ColorRamp/index.d.cts +3 -0
  350. package/dist/components/ColorRamp/index.d.ts +3 -0
  351. package/dist/components/ColorRamp/index.js +6 -0
  352. package/dist/components/ColorRamp/index.js.map +1 -0
  353. package/dist/components/CopyButton/index.cjs +1 -1
  354. package/dist/components/CopyButton/index.js +1 -1
  355. package/dist/components/DashedButton/index.cjs +1 -1
  356. package/dist/components/DashedButton/index.js +1 -1
  357. package/dist/components/DatePicker/index.cjs +1 -1
  358. package/dist/components/DatePicker/index.js +1 -1
  359. package/dist/components/DateTimePicker/index.cjs +1 -1
  360. package/dist/components/DateTimePicker/index.js +1 -1
  361. package/dist/components/DescriptionList/DescriptionList.d.cts +76 -0
  362. package/dist/components/DescriptionList/DescriptionList.d.ts +76 -0
  363. package/dist/components/DescriptionList/index.cjs +2 -0
  364. package/dist/components/DescriptionList/index.cjs.map +1 -0
  365. package/dist/components/DescriptionList/index.d.cts +2 -0
  366. package/dist/components/DescriptionList/index.d.ts +2 -0
  367. package/dist/components/DescriptionList/index.js +6 -0
  368. package/dist/components/DescriptionList/index.js.map +1 -0
  369. package/dist/components/Dropdown/index.cjs +1 -1
  370. package/dist/components/Dropdown/index.js +1 -1
  371. package/dist/components/EmptyState/EmptyState.d.cts +4 -1
  372. package/dist/components/EmptyState/EmptyState.d.ts +4 -1
  373. package/dist/components/EmptyState/index.cjs +1 -1
  374. package/dist/components/EmptyState/index.js +1 -1
  375. package/dist/components/ErrorState/ErrorBoundary.d.cts +35 -0
  376. package/dist/components/ErrorState/ErrorBoundary.d.ts +35 -0
  377. package/dist/components/ErrorState/ErrorState.d.cts +36 -0
  378. package/dist/components/ErrorState/ErrorState.d.ts +36 -0
  379. package/dist/components/ErrorState/QueryError.d.cts +18 -0
  380. package/dist/components/ErrorState/QueryError.d.ts +18 -0
  381. package/dist/components/ErrorState/errorMessage.d.cts +14 -0
  382. package/dist/components/ErrorState/errorMessage.d.ts +14 -0
  383. package/dist/components/ErrorState/index.cjs +2 -0
  384. package/dist/components/ErrorState/index.cjs.map +1 -0
  385. package/dist/components/ErrorState/index.d.cts +7 -0
  386. package/dist/components/ErrorState/index.d.ts +7 -0
  387. package/dist/components/ErrorState/index.js +11 -0
  388. package/dist/components/ErrorState/index.js.map +1 -0
  389. package/dist/components/FileCard/index.cjs +1 -1
  390. package/dist/components/FileCard/index.js +1 -1
  391. package/dist/components/FileUploader/index.cjs +1 -1
  392. package/dist/components/FileUploader/index.js +1 -1
  393. package/dist/components/Flag/index.cjs +1 -1
  394. package/dist/components/Flag/index.js +1 -1
  395. package/dist/components/FloatingPanel/FloatingPanel.d.cts +4 -0
  396. package/dist/components/FloatingPanel/FloatingPanel.d.ts +4 -0
  397. package/dist/components/FullscreenToggle/index.cjs +1 -1
  398. package/dist/components/FullscreenToggle/index.js +1 -1
  399. package/dist/components/IconButton/index.cjs +1 -1
  400. package/dist/components/IconButton/index.js +1 -1
  401. package/dist/components/List/List.d.cts +13 -3
  402. package/dist/components/List/List.d.ts +13 -3
  403. package/dist/components/List/ListItem.d.cts +5 -0
  404. package/dist/components/List/ListItem.d.ts +5 -0
  405. package/dist/components/List/index.cjs +1 -1
  406. package/dist/components/List/index.js +4 -5
  407. package/dist/components/List/index.js.map +1 -1
  408. package/dist/components/List/listContext.d.cts +9 -3
  409. package/dist/components/List/listContext.d.ts +9 -3
  410. package/dist/components/Loader/index.cjs +1 -1
  411. package/dist/components/Loader/index.js +1 -1
  412. package/dist/components/MobileFrame/MobileFrame.d.cts +45 -0
  413. package/dist/components/MobileFrame/MobileFrame.d.ts +45 -0
  414. package/dist/components/MobileFrame/frames.d.cts +27 -0
  415. package/dist/components/MobileFrame/frames.d.ts +27 -0
  416. package/dist/components/MobileFrame/index.cjs +2 -0
  417. package/dist/components/MobileFrame/index.cjs.map +1 -0
  418. package/dist/components/MobileFrame/index.d.cts +4 -0
  419. package/dist/components/MobileFrame/index.d.ts +4 -0
  420. package/dist/components/MobileFrame/index.js +8 -0
  421. package/dist/components/MobileFrame/index.js.map +1 -0
  422. package/dist/components/Modal/Modal.d.cts +2 -0
  423. package/dist/components/Modal/Modal.d.ts +2 -0
  424. package/dist/components/Modal/index.cjs +1 -1
  425. package/dist/components/Modal/index.js +1 -1
  426. package/dist/components/MultiSelect/index.cjs +1 -1
  427. package/dist/components/MultiSelect/index.js +1 -1
  428. package/dist/components/MultilineTextField/index.cjs +1 -1
  429. package/dist/components/MultilineTextField/index.js +1 -1
  430. package/dist/components/NumberField/index.cjs +1 -1
  431. package/dist/components/NumberField/index.js +1 -1
  432. package/dist/components/OptionMenu/OptionMenu.d.cts +40 -0
  433. package/dist/components/OptionMenu/OptionMenu.d.ts +40 -0
  434. package/dist/components/OptionMenu/useOptionMenu.d.cts +81 -0
  435. package/dist/components/OptionMenu/useOptionMenu.d.ts +81 -0
  436. package/dist/components/OtpField/index.cjs +1 -1
  437. package/dist/components/OtpField/index.js +1 -1
  438. package/dist/components/PageLayout/index.cjs +1 -1
  439. package/dist/components/PageLayout/index.js +1 -1
  440. package/dist/components/PageNotFound/PageNotFound.d.cts +1 -1
  441. package/dist/components/PageNotFound/PageNotFound.d.ts +1 -1
  442. package/dist/components/PageNotFound/index.cjs +1 -1
  443. package/dist/components/PageNotFound/index.js +1 -1
  444. package/dist/components/Pagination/index.cjs +1 -1
  445. package/dist/components/Pagination/index.js +1 -1
  446. package/dist/components/PaletteField/PaletteField.d.cts +30 -0
  447. package/dist/components/PaletteField/PaletteField.d.ts +30 -0
  448. package/dist/components/PaletteField/index.cjs +2 -0
  449. package/dist/components/PaletteField/index.cjs.map +1 -0
  450. package/dist/components/PaletteField/index.d.cts +2 -0
  451. package/dist/components/PaletteField/index.d.ts +2 -0
  452. package/dist/components/PaletteField/index.js +6 -0
  453. package/dist/components/PaletteField/index.js.map +1 -0
  454. package/dist/components/PhoneField/PhoneField.d.cts +54 -0
  455. package/dist/components/PhoneField/PhoneField.d.ts +54 -0
  456. package/dist/components/PhoneField/index.cjs +2 -0
  457. package/dist/components/PhoneField/index.cjs.map +1 -0
  458. package/dist/components/PhoneField/index.d.cts +4 -0
  459. package/dist/components/PhoneField/index.d.ts +4 -0
  460. package/dist/components/PhoneField/index.js +7 -0
  461. package/dist/components/PhoneField/index.js.map +1 -0
  462. package/dist/components/PhoneField/phone.d.cts +50 -0
  463. package/dist/components/PhoneField/phone.d.ts +50 -0
  464. package/dist/components/Popconfirm/Popconfirm.d.cts +53 -0
  465. package/dist/components/Popconfirm/Popconfirm.d.ts +53 -0
  466. package/dist/components/Popconfirm/index.cjs +2 -0
  467. package/dist/components/Popconfirm/index.cjs.map +1 -0
  468. package/dist/components/Popconfirm/index.d.cts +2 -0
  469. package/dist/components/Popconfirm/index.d.ts +2 -0
  470. package/dist/components/Popconfirm/index.js +6 -0
  471. package/dist/components/Popconfirm/index.js.map +1 -0
  472. package/dist/components/Popover/index.cjs +1 -1
  473. package/dist/components/Popover/index.js +1 -1
  474. package/dist/components/Progress/Progress.d.cts +50 -0
  475. package/dist/components/Progress/Progress.d.ts +50 -0
  476. package/dist/components/Progress/index.cjs +2 -0
  477. package/dist/components/Progress/index.cjs.map +1 -0
  478. package/dist/components/Progress/index.d.cts +2 -0
  479. package/dist/components/Progress/index.d.ts +2 -0
  480. package/dist/components/Progress/index.js +6 -0
  481. package/dist/components/Progress/index.js.map +1 -0
  482. package/dist/components/QrCode/QrCode.d.cts +3 -0
  483. package/dist/components/QrCode/QrCode.d.ts +3 -0
  484. package/dist/components/QrCode/index.cjs +1 -1
  485. package/dist/components/QrCode/index.js +1 -1
  486. package/dist/components/Radio/index.cjs +1 -1
  487. package/dist/components/Radio/index.js +1 -1
  488. package/dist/components/RemoveDialog/RemoveDialog.d.cts +8 -1
  489. package/dist/components/RemoveDialog/RemoveDialog.d.ts +8 -1
  490. package/dist/components/RemoveDialog/index.cjs +1 -1
  491. package/dist/components/RemoveDialog/index.js +1 -1
  492. package/dist/components/RichTextEditor/index.cjs +1 -1
  493. package/dist/components/RichTextEditor/index.js +1 -1
  494. package/dist/components/RootLayout/index.cjs +1 -1
  495. package/dist/components/RootLayout/index.js +1 -1
  496. package/dist/components/Select/Select.d.cts +2 -12
  497. package/dist/components/Select/Select.d.ts +2 -12
  498. package/dist/components/Select/index.cjs +1 -1
  499. package/dist/components/Select/index.js +1 -1
  500. package/dist/components/Sidebar/index.cjs +1 -1
  501. package/dist/components/Sidebar/index.js +1 -1
  502. package/dist/components/Skeleton/Skeleton.d.cts +31 -0
  503. package/dist/components/Skeleton/Skeleton.d.ts +31 -0
  504. package/dist/components/Skeleton/index.cjs +2 -0
  505. package/dist/components/Skeleton/index.cjs.map +1 -0
  506. package/dist/components/Skeleton/index.d.cts +2 -0
  507. package/dist/components/Skeleton/index.d.ts +2 -0
  508. package/dist/components/Skeleton/index.js +6 -0
  509. package/dist/components/Skeleton/index.js.map +1 -0
  510. package/dist/components/Slider/index.cjs +1 -1
  511. package/dist/components/Slider/index.js +1 -1
  512. package/dist/components/SpeedDial/index.cjs +1 -1
  513. package/dist/components/SpeedDial/index.js +1 -1
  514. package/dist/components/Stepper/index.cjs +1 -1
  515. package/dist/components/Stepper/index.js +1 -1
  516. package/dist/components/SwatchPicker/index.cjs +1 -1
  517. package/dist/components/SwatchPicker/index.js +1 -1
  518. package/dist/components/Switch/index.cjs +1 -1
  519. package/dist/components/Switch/index.js +1 -1
  520. package/dist/components/Table/Table.d.cts +7 -1
  521. package/dist/components/Table/Table.d.ts +7 -1
  522. package/dist/components/Table/index.cjs +1 -1
  523. package/dist/components/Table/index.js +1 -1
  524. package/dist/components/Tabs/index.cjs +1 -1
  525. package/dist/components/Tabs/index.js +1 -1
  526. package/dist/components/TagsField/index.cjs +1 -1
  527. package/dist/components/TagsField/index.js +1 -1
  528. package/dist/components/TextField/index.cjs +1 -1
  529. package/dist/components/TextField/index.js +1 -1
  530. package/dist/components/ThemeToggle/index.cjs +1 -1
  531. package/dist/components/ThemeToggle/index.js +1 -1
  532. package/dist/components/TimePicker/index.cjs +1 -1
  533. package/dist/components/TimePicker/index.js +1 -1
  534. package/dist/components/Timeline/index.cjs +1 -1
  535. package/dist/components/Timeline/index.js +1 -1
  536. package/dist/components/Toast/index.cjs +1 -1
  537. package/dist/components/Toast/index.js +1 -1
  538. package/dist/components/TranslatedFields/index.cjs +1 -1
  539. package/dist/components/TranslatedFields/index.js +1 -1
  540. package/dist/components/Typography/Typography.d.cts +10 -3
  541. package/dist/components/Typography/Typography.d.ts +10 -3
  542. package/dist/components/Typography/index.cjs +1 -1
  543. package/dist/components/Typography/index.js +1 -1
  544. package/dist/components/UserCard/UserCard.d.cts +3 -1
  545. package/dist/components/UserCard/UserCard.d.ts +3 -1
  546. package/dist/components/UserCard/index.cjs +1 -1
  547. package/dist/components/UserCard/index.js +1 -1
  548. package/dist/components/index.d.cts +9 -0
  549. package/dist/components/index.d.ts +9 -0
  550. package/dist/entries/app.cjs +1 -1
  551. package/dist/entries/app.js +1 -1
  552. package/dist/entries/components.cjs +1 -1
  553. package/dist/entries/components.js +171 -146
  554. package/dist/entries/components.js.map +1 -1
  555. package/dist/entries/helpers.cjs +1 -1
  556. package/dist/entries/helpers.d.cts +2 -0
  557. package/dist/entries/helpers.d.ts +2 -0
  558. package/dist/entries/helpers.js +18 -8
  559. package/dist/entries/helpers.js.map +1 -1
  560. package/dist/entries/i18n.cjs +1 -1
  561. package/dist/entries/i18n.js +2 -2
  562. package/dist/entries/theme.cjs +1 -1
  563. package/dist/entries/theme.js +1 -1
  564. package/dist/helpers/color.d.cts +17 -0
  565. package/dist/helpers/color.d.ts +17 -0
  566. package/dist/helpers/palette.d.cts +68 -0
  567. package/dist/helpers/palette.d.ts +68 -0
  568. package/dist/hooks/useOptionalPeer.d.cts +21 -0
  569. package/dist/hooks/useOptionalPeer.d.ts +21 -0
  570. package/dist/i18n/messages.d.cts +24 -0
  571. package/dist/i18n/messages.d.ts +24 -0
  572. package/dist/index.cjs +1 -1
  573. package/dist/index.css +16 -12
  574. package/dist/index.js +224 -189
  575. package/dist/index.js.map +1 -1
  576. package/dist/{messages-ogohLC5P.js → messages-BF2ft7yD.js} +201 -33
  577. package/dist/messages-BF2ft7yD.js.map +1 -0
  578. package/dist/messages-ihnE1jVG.cjs +36 -0
  579. package/dist/messages-ihnE1jVG.cjs.map +1 -0
  580. package/dist/palette-B031dM4E.js +70 -0
  581. package/dist/palette-B031dM4E.js.map +1 -0
  582. package/dist/palette-BycMHbED.cjs +2 -0
  583. package/dist/palette-BycMHbED.cjs.map +1 -0
  584. package/dist/theme/ConfigProvider.d.cts +8 -8
  585. package/dist/theme/ConfigProvider.d.ts +8 -8
  586. package/dist/useOptionMenu-C0xSaZ4t.cjs +2 -0
  587. package/dist/useOptionMenu-C0xSaZ4t.cjs.map +1 -0
  588. package/dist/useOptionMenu-Cq_eHdab.js +286 -0
  589. package/dist/useOptionMenu-Cq_eHdab.js.map +1 -0
  590. package/dist/useOptionalPeer-49f3XcO5.js +28 -0
  591. package/dist/useOptionalPeer-49f3XcO5.js.map +1 -0
  592. package/dist/useOptionalPeer-9Fkx5Leb.cjs +2 -0
  593. package/dist/useOptionalPeer-9Fkx5Leb.cjs.map +1 -0
  594. package/package.json +6 -1
  595. package/dist/AdminRoot-BkPPRkyQ.cjs +0 -2
  596. package/dist/AdminRoot-BkPPRkyQ.cjs.map +0 -1
  597. package/dist/AdminRoot-CgvtgUpW.js +0 -50
  598. package/dist/AdminRoot-CgvtgUpW.js.map +0 -1
  599. package/dist/Avatar-Dgf04PBC.cjs +0 -2
  600. package/dist/Avatar-Dgf04PBC.cjs.map +0 -1
  601. package/dist/Avatar-Q50J8wdN.js +0 -60
  602. package/dist/Avatar-Q50J8wdN.js.map +0 -1
  603. package/dist/Badge-BQpr2Jee.cjs +0 -2
  604. package/dist/Badge-DSWigoGC.js +0 -50
  605. package/dist/Button-CXmDOzPk.cjs +0 -2
  606. package/dist/Button-DBs8xnA5.js +0 -72
  607. package/dist/Card-DGF22HbS.cjs +0 -2
  608. package/dist/Card-DGF22HbS.cjs.map +0 -1
  609. package/dist/Card-DYKnWt-L.js +0 -118
  610. package/dist/Card-DYKnWt-L.js.map +0 -1
  611. package/dist/Checkbox-ZYOSBYRt.js +0 -98
  612. package/dist/Checkbox-fzJCwe0j.cjs +0 -2
  613. package/dist/Chip-gUH_7nQc.cjs +0 -2
  614. package/dist/ChoiceCardGroup-DBohUnRj.js +0 -181
  615. package/dist/ChoiceCardGroup-d0VVTUi5.cjs +0 -2
  616. package/dist/ColorPicker-DtzFwNWk.cjs +0 -2
  617. package/dist/ColorPicker-DtzFwNWk.cjs.map +0 -1
  618. package/dist/ColorPicker-Dw6Qk0iy.js.map +0 -1
  619. package/dist/ColorPickerPanel--wBX-m7J.cjs +0 -2
  620. package/dist/ColorPickerPanel--wBX-m7J.cjs.map +0 -1
  621. package/dist/ColorPickerPanel-Dp7bnnVf.js +0 -336
  622. package/dist/ColorPickerPanel-Dp7bnnVf.js.map +0 -1
  623. package/dist/ConfigProvider-Bszl3Wr3.cjs.map +0 -1
  624. package/dist/ConfigProvider-DR9YMy9U.js.map +0 -1
  625. package/dist/CopyButton-Ct-8AmmX.cjs +0 -2
  626. package/dist/CopyButton-DJ1PSJZU.js +0 -31
  627. package/dist/DashedButton-3C4IZuo4.cjs +0 -2
  628. package/dist/DashedButton-BXZAyMtw.js +0 -59
  629. package/dist/DatePicker.module-BZDftL4g.js +0 -138
  630. package/dist/DatePicker.module-tE-tGNBd.cjs +0 -2
  631. package/dist/EmptyState-BTd7aVgu.js +0 -38
  632. package/dist/EmptyState-BTd7aVgu.js.map +0 -1
  633. package/dist/EmptyState-Bv4XXnD1.cjs +0 -2
  634. package/dist/EmptyState-Bv4XXnD1.cjs.map +0 -1
  635. package/dist/FileCard-DW5Ur8Aj.cjs +0 -2
  636. package/dist/FileCard-DW5Ur8Aj.cjs.map +0 -1
  637. package/dist/FileCard-DY8N9Lzz.js +0 -148
  638. package/dist/FileCard-DY8N9Lzz.js.map +0 -1
  639. package/dist/FileUploader-B7VfhcR7.cjs +0 -2
  640. package/dist/FileUploader-B7VfhcR7.cjs.map +0 -1
  641. package/dist/FileUploader-BYF5FvUc.js +0 -684
  642. package/dist/FileUploader-BYF5FvUc.js.map +0 -1
  643. package/dist/FloatingPanel-BG9Uag__.js +0 -131
  644. package/dist/FloatingPanel-BG9Uag__.js.map +0 -1
  645. package/dist/FloatingPanel-U6sGYiSK.cjs +0 -2
  646. package/dist/FloatingPanel-U6sGYiSK.cjs.map +0 -1
  647. package/dist/IconButton-BEGWfcVc.js +0 -68
  648. package/dist/IconButton-BN-bZxEi.cjs +0 -2
  649. package/dist/List-ChXO0Hz-.cjs +0 -2
  650. package/dist/List-ChXO0Hz-.cjs.map +0 -1
  651. package/dist/List-LqbfF6gU.js +0 -26
  652. package/dist/List-LqbfF6gU.js.map +0 -1
  653. package/dist/ListItem-Cn15lJBr.js +0 -74
  654. package/dist/ListItem-Cn15lJBr.js.map +0 -1
  655. package/dist/ListItem-yXXjtepZ.cjs +0 -2
  656. package/dist/ListItem-yXXjtepZ.cjs.map +0 -1
  657. package/dist/Loader-B5YqzEYy.cjs +0 -2
  658. package/dist/Loader-BZIa8hwv.js +0 -29
  659. package/dist/Modal-0V-REVV-.cjs +0 -2
  660. package/dist/Modal-0V-REVV-.cjs.map +0 -1
  661. package/dist/Modal-B7yoFC3o.js +0 -195
  662. package/dist/Modal-B7yoFC3o.js.map +0 -1
  663. package/dist/MultiSelect-C8xuXaoR.js +0 -350
  664. package/dist/MultiSelect-C8xuXaoR.js.map +0 -1
  665. package/dist/MultiSelect-gj9Ymeh2.cjs +0 -2
  666. package/dist/MultiSelect-gj9Ymeh2.cjs.map +0 -1
  667. package/dist/PageNotFound-B8_eIT8p.cjs +0 -2
  668. package/dist/PageNotFound-B8_eIT8p.cjs.map +0 -1
  669. package/dist/PageNotFound-CCFfPHgA.js.map +0 -1
  670. package/dist/Pagination-BdVebW2L.cjs +0 -2
  671. package/dist/Pagination-CmskZjcz.js +0 -139
  672. package/dist/QrCode-Bcj9_Emc.js +0 -70
  673. package/dist/QrCode-Bcj9_Emc.js.map +0 -1
  674. package/dist/QrCode-DfDfGhG-.cjs +0 -2
  675. package/dist/QrCode-DfDfGhG-.cjs.map +0 -1
  676. package/dist/RadioGroup-C8u7eNBS.cjs +0 -2
  677. package/dist/RadioGroup-DbodUJW8.js +0 -141
  678. package/dist/RemoveDialog-CV75B0aN.js +0 -47
  679. package/dist/RemoveDialog-CV75B0aN.js.map +0 -1
  680. package/dist/RemoveDialog-DmOk0ezc.cjs +0 -2
  681. package/dist/RemoveDialog-DmOk0ezc.cjs.map +0 -1
  682. package/dist/RichTextEditor-Bm8FFbcR.js.map +0 -1
  683. package/dist/RichTextEditor-uXddgtlk.cjs +0 -2
  684. package/dist/RichTextEditor-uXddgtlk.cjs.map +0 -1
  685. package/dist/RootLayout-Cf7Rr9Iz.js +0 -515
  686. package/dist/RootLayout-kssj9exn.cjs +0 -2
  687. package/dist/Select-7vEGJCvA.cjs +0 -2
  688. package/dist/Select-7vEGJCvA.cjs.map +0 -1
  689. package/dist/Select-CdX3Ks7y.js +0 -338
  690. package/dist/Select-CdX3Ks7y.js.map +0 -1
  691. package/dist/Sidebar-DcKIEfhy.cjs +0 -2
  692. package/dist/Sidebar-DcKIEfhy.cjs.map +0 -1
  693. package/dist/Sidebar-YH-DoNG9.js.map +0 -1
  694. package/dist/Slider-dxYVXRev.cjs +0 -2
  695. package/dist/Slider-oGXd5e9X.js +0 -184
  696. package/dist/Stepper-B1z_u650.cjs +0 -2
  697. package/dist/Switch-DMPJ0fhB.js +0 -85
  698. package/dist/Switch-DRkZ6kHJ.cjs +0 -2
  699. package/dist/Table-BPit83Pn.cjs +0 -2
  700. package/dist/Table-BPit83Pn.cjs.map +0 -1
  701. package/dist/Table-Drdhfm99.js +0 -1090
  702. package/dist/Table-Drdhfm99.js.map +0 -1
  703. package/dist/Tabs-BiKDy_fv.cjs +0 -2
  704. package/dist/Tabs-ytbBzAxG.js +0 -190
  705. package/dist/TextField.module-QePvGeJ3.js +0 -27
  706. package/dist/TextField.module-QePvGeJ3.js.map +0 -1
  707. package/dist/TextField.module-m-UllwzG.cjs +0 -2
  708. package/dist/TextField.module-m-UllwzG.cjs.map +0 -1
  709. package/dist/Timeline-D3kzt1dy.js +0 -71
  710. package/dist/Timeline-ONU_3gi3.cjs +0 -2
  711. package/dist/Typography-BFatE1_A.cjs +0 -2
  712. package/dist/Typography-BFatE1_A.cjs.map +0 -1
  713. package/dist/Typography-Cta6Rg4L.js +0 -51
  714. package/dist/Typography-Cta6Rg4L.js.map +0 -1
  715. package/dist/UserCard-C1yFvVIc.cjs +0 -2
  716. package/dist/UserCard-C1yFvVIc.cjs.map +0 -1
  717. package/dist/UserCard-J8Bpbh3x.js +0 -74
  718. package/dist/UserCard-J8Bpbh3x.js.map +0 -1
  719. package/dist/messages-DKT0SRM0.cjs +0 -36
  720. package/dist/messages-DKT0SRM0.cjs.map +0 -1
  721. package/dist/messages-ogohLC5P.js.map +0 -1
@@ -1,12 +1,12 @@
1
1
  import { jsxs as C, jsx as l } from "react/jsx-runtime";
2
- import { forwardRef as rr, useId as er, useState as V, useRef as E, useCallback as O } from "react";
2
+ import { forwardRef as er, useId as or, useState as V, useRef as E, useCallback as O } from "react";
3
3
  import { clsx as p } from "clsx";
4
- import { u as or } from "./formContext-B7ln1Miy.js";
5
- import { F as lr } from "./FloatingPanel-BG9Uag__.js";
6
- import { T as S } from "./Typography-Cta6Rg4L.js";
7
- import { p as sr, f as tr, s as e, C as ar } from "./ColorPickerPanel-Dp7bnnVf.js";
8
- import { a as ir } from "./ConfigProvider-DR9YMy9U.js";
9
- const nr = 232, Cr = rr(function({
4
+ import { u as lr } from "./formContext-B7ln1Miy.js";
5
+ import { F as sr } from "./FloatingPanel-CeSOtE_D.js";
6
+ import { T as S } from "./Typography-CJv5AnRP.js";
7
+ import { p as tr, f as ar, s as e, C as ir } from "./ColorPickerPanel-6lQC1URc.js";
8
+ import { a as nr } from "./ConfigProvider-B_RSn9bb.js";
9
+ const cr = 232, xr = er(function({
10
10
  label: u,
11
11
  size: j = "md",
12
12
  error: H,
@@ -18,23 +18,24 @@ const nr = 232, Cr = rr(function({
18
18
  defaultValue: L,
19
19
  onChange: f,
20
20
  swatches: U,
21
+ alpha: _ = !0,
21
22
  name: s,
22
23
  placeholder: P,
23
- id: _,
24
- className: $,
25
- style: z
24
+ id: $,
25
+ className: z,
26
+ style: A
26
27
  }, i) {
27
- const A = ir(), G = er(), m = _ ?? G, g = `${m}-helper`, n = or(), k = !!(n && s), o = n && s ? n.field(s) : void 0, N = T !== void 0 ? T : k ? n.values[s] ?? "" : void 0, R = N !== void 0, [J, K] = V(L ?? ""), B = R ? N : J, t = sr(B || ""), c = t ? tr(t) : null, M = c ? c[0] === "#" ? c.toUpperCase() : c : null, v = H ?? (o == null ? void 0 : o.error) ?? !1, h = W ?? (o == null ? void 0 : o.helperText), Q = (r) => {
28
- R || K(r), k && n.setValue(s, r), f == null || f(r);
29
- }, d = E(null), F = E(null), [y, I] = V(!1), X = O(
28
+ const G = nr(), J = or(), m = $ ?? J, g = `${m}-helper`, n = lr(), k = !!(n && s), o = n && s ? n.field(s) : void 0, N = T !== void 0 ? T : k ? n.values[s] ?? "" : void 0, R = N !== void 0, [K, M] = V(L ?? ""), B = R ? N : K, t = tr(B || ""), c = t ? ar(t) : null, Q = c ? c[0] === "#" ? c.toUpperCase() : c : null, v = H ?? (o == null ? void 0 : o.error) ?? !1, h = W ?? (o == null ? void 0 : o.helperText), X = (r) => {
29
+ R || M(r), k && n.setValue(s, r), f == null || f(r);
30
+ }, d = E(null), F = E(null), [y, I] = V(!1), Y = O(
30
31
  (r) => {
31
32
  d.current = r, typeof i == "function" ? i(r) : i && (i.current = r);
32
33
  },
33
34
  [i]
34
- ), Y = O((r) => {
35
+ ), Z = O((r) => {
35
36
  var a;
36
37
  I(!1), r && ((a = d.current) == null || a.focus());
37
- }, []), Z = (r) => {
38
+ }, []), rr = (r) => {
38
39
  var b, w;
39
40
  const a = r.relatedTarget;
40
41
  a && ((b = F.current) != null && b.contains(a) || (w = d.current) != null && w.contains(a)) || o == null || o.onBlur(r);
@@ -48,9 +49,9 @@ const nr = 232, Cr = rr(function({
48
49
  D && e.fullWidth,
49
50
  v && e.error,
50
51
  x && e.disabled,
51
- $
52
+ z
52
53
  ),
53
- style: z,
54
+ style: A,
54
55
  children: [
55
56
  u != null && /* @__PURE__ */ C("label", { htmlFor: m, className: e.label, children: [
56
57
  /* @__PURE__ */ l(S, { as: "span", variant: "bodySmall", color: "muted", children: u }),
@@ -59,7 +60,7 @@ const nr = 232, Cr = rr(function({
59
60
  /* @__PURE__ */ C(
60
61
  "button",
61
62
  {
62
- ref: X,
63
+ ref: Y,
63
64
  id: m,
64
65
  name: s,
65
66
  type: "button",
@@ -69,11 +70,11 @@ const nr = 232, Cr = rr(function({
69
70
  "aria-expanded": y,
70
71
  "aria-invalid": v || void 0,
71
72
  "aria-describedby": h != null ? g : void 0,
72
- "aria-label": u || t || P ? void 0 : A("colorPicker.pick"),
73
+ "aria-label": u || t || P ? void 0 : G("colorPicker.pick"),
73
74
  onClick: () => I((r) => !r),
74
- onBlur: Z,
75
+ onBlur: rr,
75
76
  children: [
76
- /* @__PURE__ */ l("span", { className: p(e.value, !t && e.placeholder), children: M ?? P }),
77
+ /* @__PURE__ */ l("span", { className: p(e.value, !t && e.placeholder), children: Q ?? P }),
77
78
  /* @__PURE__ */ l(
78
79
  "span",
79
80
  {
@@ -86,16 +87,24 @@ const nr = 232, Cr = rr(function({
86
87
  }
87
88
  ),
88
89
  /* @__PURE__ */ l(
89
- lr,
90
+ sr,
90
91
  {
91
92
  ref: F,
92
93
  open: y,
93
94
  triggerRef: d,
94
- onClose: Y,
95
+ onClose: Z,
95
96
  role: "dialog",
96
97
  ariaLabel: "Color picker",
97
- width: nr,
98
- children: /* @__PURE__ */ l(ar, { value: B, onChange: Q, swatches: U })
98
+ width: cr,
99
+ children: /* @__PURE__ */ l(
100
+ ir,
101
+ {
102
+ value: B,
103
+ onChange: X,
104
+ swatches: U,
105
+ alpha: _
106
+ }
107
+ )
99
108
  }
100
109
  ),
101
110
  h != null && /* @__PURE__ */ l(
@@ -114,6 +123,6 @@ const nr = 232, Cr = rr(function({
114
123
  );
115
124
  });
116
125
  export {
117
- Cr as C
126
+ xr as C
118
127
  };
119
- //# sourceMappingURL=ColorPicker-Dw6Qk0iy.js.map
128
+ //# sourceMappingURL=ColorPicker-DXDAXvlA.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ColorPicker-DXDAXvlA.js","sources":["../src/components/ColorPicker/ColorPicker.tsx"],"sourcesContent":["import {\n forwardRef,\n useCallback,\n useId,\n useRef,\n useState,\n type CSSProperties,\n type FocusEvent,\n type ReactNode,\n} from 'react'\nimport { clsx } from 'clsx'\nimport { useFormContext } from '../../form/formContext'\nimport { useT } from '../../theme'\nimport { FloatingPanel } from '../FloatingPanel/FloatingPanel'\nimport { Typography } from '../Typography'\nimport { ColorPickerPanel } from './ColorPickerPanel'\nimport { formatColor, parseColor } from './colorUtils'\nimport styles from './ColorPicker.module.css'\n\nexport type ColorPickerSize = 'sm' | 'md' | 'lg'\n\n/** Popover width (px). */\nconst POPOVER_WIDTH = 232\n\nexport interface ColorPickerProps {\n /** Label rendered above the field. */\n label?: ReactNode\n /** Preset size — control height, swatch and font. */\n size?: ColorPickerSize\n /** Marks the field invalid: red border/ring + the `helperText` in the error color. */\n error?: boolean\n /** Helper / validation text under the field. Adopts the error color while `error`. */\n helperText?: ReactNode\n /** Adds a red asterisk after the label. */\n required?: boolean\n /** Stretches the field to fill its container width. Defaults to `true`. */\n fullWidth?: boolean\n /** Disables the field. */\n disabled?: boolean\n /** Controlled value — a CSS color string: `#rrggbb` hex, or `rgba(r, g, b, a)` when translucent. */\n value?: string\n /** Initial value for uncontrolled use (hex or `rgb()`/`rgba()`). */\n defaultValue?: string\n /** Fires with the next color: `#rrggbb` when opaque, `rgba(r, g, b, a)` when not (or `''` when cleared). */\n onChange?: (color: string) => void\n /** Quick-pick swatches shown in the popover. Defaults to a curated palette. */\n swatches?: string[]\n /**\n * Offer opacity. Defaults to `true`. `false` hides the alpha slider and the field only ever emits\n * `#rrggbb` (never `rgba()`) — for colors that must be opaque, e.g. brand colors.\n */\n alpha?: boolean\n /** Form field name — auto-binds to a surrounding `<Form>` (value is the hex string). */\n name?: string\n /** Placeholder shown in the trigger when no color is set. Omit to show nothing. */\n placeholder?: string\n /** Id for the trigger (label association). */\n id?: string\n className?: string\n style?: CSSProperties\n}\n\n/**\n * A color field with a beautiful popover picker: a saturation/value square, a hue slider, an alpha\n * (opacity) slider, a color input, quick-pick swatches and a clear button. The input accepts hex\n * (`#rgb`/`#rrggbb`/`#rrggbbaa`) or `rgb()`/`rgba()`, and the value comes back as `#rrggbb` when\n * fully opaque or `rgba(r, g, b, a)` when translucent. Clicking the trigger opens the popover, which\n * — like `Dropdown` — is portaled to `<body>`, opens below (flips above only when it would\n * overflow), locks page scroll and re-positions on scroll/resize. Controlled (`value` + `onChange`)\n * or uncontrolled (`defaultValue`), and binds to a surrounding `<Form>` by `name` (its form value is\n * the color string; validate with e.g. `z.string().regex(/^#[0-9a-f]{6}$/i, 'Pick a color')`, or a\n * looser pattern if you allow `rgba()`). Styling uses `--tz-*` tokens (the spectrum gradients and\n * the alpha checkerboard are the unavoidable exceptions).\n */\nexport const ColorPicker = forwardRef<HTMLButtonElement, ColorPickerProps>(function ColorPicker(\n {\n label,\n size = 'md',\n error,\n helperText,\n required = false,\n fullWidth = true,\n disabled = false,\n value,\n defaultValue,\n onChange,\n swatches,\n alpha = true,\n name,\n placeholder,\n id: idProp,\n className,\n style,\n },\n ref,\n) {\n const t = useT()\n const reactId = useId()\n const id = idProp ?? reactId\n const helperId = `${id}-helper`\n\n // Auto-bind to a surrounding <Form> by `name` — the form value is the hex string.\n const form = useFormContext()\n const isFormBound = Boolean(form && name)\n const bound = form && name ? form.field(name) : undefined\n\n const externalValue: string | undefined =\n value !== undefined\n ? value\n : isFormBound\n ? ((form!.values[name!] as string | undefined) ?? '')\n : undefined\n const isControlled = externalValue !== undefined\n const [internal, setInternal] = useState<string>(defaultValue ?? '')\n const currentColor = isControlled ? externalValue! : internal\n const parsed = parseColor(currentColor || '')\n // canonical string for the value (`#rrggbb` when opaque, `rgba(...)` when not), null when unset\n const displayValue = parsed ? formatColor(parsed) : null\n // hex shows uppercase in the trigger; rgba() stays as-is\n const displayText = displayValue\n ? displayValue[0] === '#'\n ? displayValue.toUpperCase()\n : displayValue\n : null\n\n const resolvedError = error ?? bound?.error ?? false\n const resolvedHelperText = helperText ?? bound?.helperText\n\n const commit = (color: string) => {\n if (!isControlled) setInternal(color)\n if (isFormBound) form!.setValue(name!, color)\n onChange?.(color)\n }\n\n // ── popover (positioning / scroll-lock / dismiss come from FloatingPanel) ──────────────────────\n const triggerRef = useRef<HTMLButtonElement | null>(null)\n const popoverRef = useRef<HTMLDivElement | null>(null)\n const [open, setOpen] = useState(false)\n\n const setTriggerRef = useCallback(\n (node: HTMLButtonElement | null) => {\n triggerRef.current = node\n if (typeof ref === 'function') ref(node)\n else if (ref) (ref as { current: HTMLButtonElement | null }).current = node\n },\n [ref],\n )\n\n const closePopover = useCallback((refocus: boolean) => {\n setOpen(false)\n if (refocus) triggerRef.current?.focus()\n }, [])\n\n // mark the form field touched when focus leaves the whole widget — but not when it moves into the\n // (portaled) popover or stays on the trigger, so a form-bound picker shows its error like every\n // other popover field (Select/DatePicker) instead of only after submit\n const handleTriggerBlur = (event: FocusEvent<HTMLButtonElement>) => {\n const next = event.relatedTarget as Node | null\n if (next && (popoverRef.current?.contains(next) || triggerRef.current?.contains(next))) return\n bound?.onBlur(event as unknown as FocusEvent<HTMLInputElement>)\n }\n\n return (\n <div\n className={clsx(\n styles.field,\n styles[size],\n fullWidth && styles.fullWidth,\n resolvedError && styles.error,\n disabled && styles.disabled,\n className,\n )}\n style={style}\n >\n {label != null && (\n <label htmlFor={id} className={styles.label}>\n <Typography as=\"span\" variant=\"bodySmall\" color=\"muted\">\n {label}\n </Typography>\n {required && (\n <span className={styles.required} aria-hidden=\"true\">\n *\n </span>\n )}\n </label>\n )}\n\n <button\n ref={setTriggerRef}\n id={id}\n name={name}\n type=\"button\"\n className={clsx(styles.control, open && styles.open)}\n disabled={disabled}\n aria-haspopup=\"dialog\"\n aria-expanded={open}\n aria-invalid={resolvedError || undefined}\n aria-describedby={resolvedHelperText != null ? helperId : undefined}\n aria-label={label || parsed || placeholder ? undefined : t('colorPicker.pick')}\n onClick={() => setOpen((o) => !o)}\n onBlur={handleTriggerBlur}\n >\n <span className={clsx(styles.value, !parsed && styles.placeholder)}>\n {displayText ?? placeholder}\n </span>\n <span\n className={clsx(styles.preview, !parsed && styles.previewEmpty)}\n style={parsed ? ({ '--cp-fill': displayValue } as CSSProperties) : undefined}\n aria-hidden=\"true\"\n />\n </button>\n\n <FloatingPanel\n ref={popoverRef}\n open={open}\n triggerRef={triggerRef}\n onClose={closePopover}\n role=\"dialog\"\n ariaLabel=\"Color picker\"\n width={POPOVER_WIDTH}\n >\n <ColorPickerPanel\n value={currentColor}\n onChange={commit}\n swatches={swatches}\n alpha={alpha}\n />\n </FloatingPanel>\n\n {resolvedHelperText != null && (\n <Typography\n as=\"span\"\n id={helperId}\n variant=\"bodySmall\"\n color={resolvedError ? 'error' : 'muted'}\n className={styles.helper}\n >\n {resolvedHelperText}\n </Typography>\n )}\n </div>\n )\n})\n"],"names":["POPOVER_WIDTH","ColorPicker","forwardRef","label","size","error","helperText","required","fullWidth","disabled","value","defaultValue","onChange","swatches","alpha","name","placeholder","idProp","className","style","ref","t","useT","reactId","useId","id","helperId","form","useFormContext","isFormBound","bound","externalValue","isControlled","internal","setInternal","useState","currentColor","parsed","parseColor","displayValue","formatColor","displayText","resolvedError","resolvedHelperText","commit","color","triggerRef","useRef","popoverRef","open","setOpen","setTriggerRef","useCallback","node","closePopover","refocus","_a","handleTriggerBlur","event","next","_b","jsxs","clsx","styles","jsx","Typography","o","FloatingPanel","ColorPickerPanel"],"mappings":";;;;;;;;AAsBA,MAAMA,KAAgB,KAoDTC,KAAcC,GAAgD,SACzE;AAAA,EACE,OAAAC;AAAA,EACA,MAAAC,IAAO;AAAA,EACP,OAAAC;AAAA,EACA,YAAAC;AAAA,EACA,UAAAC,IAAW;AAAA,EACX,WAAAC,IAAY;AAAA,EACZ,UAAAC,IAAW;AAAA,EACX,OAAAC;AAAA,EACA,cAAAC;AAAA,EACA,UAAAC;AAAA,EACA,UAAAC;AAAA,EACA,OAAAC,IAAQ;AAAA,EACR,MAAAC;AAAA,EACA,aAAAC;AAAA,EACA,IAAIC;AAAA,EACJ,WAAAC;AAAA,EACA,OAAAC;AACF,GACAC,GACA;AACA,QAAMC,IAAIC,GAAA,GACJC,IAAUC,GAAA,GACVC,IAAKR,KAAUM,GACfG,IAAW,GAAGD,CAAE,WAGhBE,IAAOC,GAAA,GACPC,IAAc,GAAQF,KAAQZ,IAC9Be,IAAQH,KAAQZ,IAAOY,EAAK,MAAMZ,CAAI,IAAI,QAE1CgB,IACJrB,MAAU,SACNA,IACAmB,IACIF,EAAM,OAAOZ,CAAK,KAA4B,KAChD,QACFiB,IAAeD,MAAkB,QACjC,CAACE,GAAUC,CAAW,IAAIC,EAAiBxB,KAAgB,EAAE,GAC7DyB,IAAeJ,IAAeD,IAAiBE,GAC/CI,IAASC,GAAWF,KAAgB,EAAE,GAEtCG,IAAeF,IAASG,GAAYH,CAAM,IAAI,MAE9CI,IAAcF,IAChBA,EAAa,CAAC,MAAM,MAClBA,EAAa,gBACbA,IACF,MAEEG,IAAgBrC,MAASyB,KAAA,gBAAAA,EAAO,UAAS,IACzCa,IAAqBrC,MAAcwB,KAAA,gBAAAA,EAAO,aAE1Cc,IAAS,CAACC,MAAkB;AAChC,IAAKb,KAAcE,EAAYW,CAAK,GAChChB,KAAaF,EAAM,SAASZ,GAAO8B,CAAK,GAC5CjC,KAAA,QAAAA,EAAWiC;AAAA,EACb,GAGMC,IAAaC,EAAiC,IAAI,GAClDC,IAAaD,EAA8B,IAAI,GAC/C,CAACE,GAAMC,CAAO,IAAIf,EAAS,EAAK,GAEhCgB,IAAgBC;AAAA,IACpB,CAACC,MAAmC;AAClC,MAAAP,EAAW,UAAUO,GACjB,OAAOjC,KAAQ,aAAYA,EAAIiC,CAAI,IAC9BjC,MAAMA,EAA8C,UAAUiC;AAAA,IACzE;AAAA,IACA,CAACjC,CAAG;AAAA,EAAA,GAGAkC,IAAeF,EAAY,CAACG,MAAqB;;AACrD,IAAAL,EAAQ,EAAK,GACTK,OAASC,IAAAV,EAAW,YAAX,QAAAU,EAAoB;AAAA,EACnC,GAAG,CAAA,CAAE,GAKCC,KAAoB,CAACC,MAAyC;;AAClE,UAAMC,IAAOD,EAAM;AACnB,IAAIC,OAASH,IAAAR,EAAW,YAAX,QAAAQ,EAAoB,SAASG,OAASC,IAAAd,EAAW,YAAX,QAAAc,EAAoB,SAASD,OAChF7B,KAAA,QAAAA,EAAO,OAAO4B;AAAA,EAChB;AAEA,SACE,gBAAAG;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAWC;AAAA,QACTC,EAAO;AAAA,QACPA,EAAO3D,CAAI;AAAA,QACXI,KAAauD,EAAO;AAAA,QACpBrB,KAAiBqB,EAAO;AAAA,QACxBtD,KAAYsD,EAAO;AAAA,QACnB7C;AAAA,MAAA;AAAA,MAEF,OAAAC;AAAA,MAEC,UAAA;AAAA,QAAAhB,KAAS,QACR,gBAAA0D,EAAC,SAAA,EAAM,SAASpC,GAAI,WAAWsC,EAAO,OACpC,UAAA;AAAA,UAAA,gBAAAC,EAACC,KAAW,IAAG,QAAO,SAAQ,aAAY,OAAM,SAC7C,UAAA9D,EAAA,CACH;AAAA,UACCI,uBACE,QAAA,EAAK,WAAWwD,EAAO,UAAU,eAAY,QAAO,UAAA,IAAA,CAErD;AAAA,QAAA,GAEJ;AAAA,QAGF,gBAAAF;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,KAAKV;AAAA,YACL,IAAA1B;AAAA,YACA,MAAAV;AAAA,YACA,MAAK;AAAA,YACL,WAAW+C,EAAKC,EAAO,SAASd,KAAQc,EAAO,IAAI;AAAA,YACnD,UAAAtD;AAAA,YACA,iBAAc;AAAA,YACd,iBAAewC;AAAA,YACf,gBAAcP,KAAiB;AAAA,YAC/B,oBAAkBC,KAAsB,OAAOjB,IAAW;AAAA,YAC1D,cAAYvB,KAASkC,KAAUrB,IAAc,SAAYK,EAAE,kBAAkB;AAAA,YAC7E,SAAS,MAAM6B,EAAQ,CAACgB,MAAM,CAACA,CAAC;AAAA,YAChC,QAAQT;AAAA,YAER,UAAA;AAAA,cAAA,gBAAAO,EAAC,QAAA,EAAK,WAAWF,EAAKC,EAAO,OAAO,CAAC1B,KAAU0B,EAAO,WAAW,GAC9D,UAAAtB,KAAezB,EAAA,CAClB;AAAA,cACA,gBAAAgD;AAAA,gBAAC;AAAA,gBAAA;AAAA,kBACC,WAAWF,EAAKC,EAAO,SAAS,CAAC1B,KAAU0B,EAAO,YAAY;AAAA,kBAC9D,OAAO1B,IAAU,EAAE,aAAaE,MAAmC;AAAA,kBACnE,eAAY;AAAA,gBAAA;AAAA,cAAA;AAAA,YACd;AAAA,UAAA;AAAA,QAAA;AAAA,QAGF,gBAAAyB;AAAA,UAACG;AAAA,UAAA;AAAA,YACC,KAAKnB;AAAA,YACL,MAAAC;AAAA,YACA,YAAAH;AAAA,YACA,SAASQ;AAAA,YACT,MAAK;AAAA,YACL,WAAU;AAAA,YACV,OAAOtD;AAAA,YAEP,UAAA,gBAAAgE;AAAA,cAACI;AAAA,cAAA;AAAA,gBACC,OAAOhC;AAAA,gBACP,UAAUQ;AAAA,gBACV,UAAA/B;AAAA,gBACA,OAAAC;AAAA,cAAA;AAAA,YAAA;AAAA,UACF;AAAA,QAAA;AAAA,QAGD6B,KAAsB,QACrB,gBAAAqB;AAAA,UAACC;AAAA,UAAA;AAAA,YACC,IAAG;AAAA,YACH,IAAIvC;AAAA,YACJ,SAAQ;AAAA,YACR,OAAOgB,IAAgB,UAAU;AAAA,YACjC,WAAWqB,EAAO;AAAA,YAEjB,UAAApB;AAAA,UAAA;AAAA,QAAA;AAAA,MACH;AAAA,IAAA;AAAA,EAAA;AAIR,CAAC;"}
@@ -0,0 +1,322 @@
1
+ import { jsxs as H, jsx as m } from "react/jsx-runtime";
2
+ import { useState as P, useRef as L, useEffect as K } from "react";
3
+ import { clsx as se } from "clsx";
4
+ import { I as U } from "./Icon-DaTvzLBu.js";
5
+ import { c as p, r as j, h as q } from "./color-EQJ2DrcQ.js";
6
+ import { a as ae } from "./ConfigProvider-B_RSn9bb.js";
7
+ const A = (o) => Math.min(255, Math.max(0, Math.round(o)));
8
+ function D({ r: o, g: h, b: a }) {
9
+ const t = o / 255, c = h / 255, _ = a / 255, l = Math.max(t, c, _), n = Math.min(t, c, _), u = l - n;
10
+ let i = 0;
11
+ u !== 0 && (l === t ? i = (c - _) / u % 6 : l === c ? i = (_ - t) / u + 2 : i = (t - c) / u + 4, i *= 60, i < 0 && (i += 360));
12
+ const g = l === 0 ? 0 : u / l;
13
+ return { h: i, s: g, v: l };
14
+ }
15
+ function y({ h: o, s: h, v: a }) {
16
+ const t = a * h, c = t * (1 - Math.abs(o / 60 % 2 - 1)), _ = a - t;
17
+ let l = 0, n = 0, u = 0;
18
+ return o < 60 ? [l, n, u] = [t, c, 0] : o < 120 ? [l, n, u] = [c, t, 0] : o < 180 ? [l, n, u] = [0, t, c] : o < 240 ? [l, n, u] = [0, c, t] : o < 300 ? [l, n, u] = [c, 0, t] : [l, n, u] = [t, 0, c], { r: (l + _) * 255, g: (n + _) * 255, b: (u + _) * 255 };
19
+ }
20
+ const ne = (o) => D(q(o));
21
+ function oe(o) {
22
+ const { r: h, g: a, b: t } = q(o);
23
+ return (h * 299 + a * 587 + t * 114) / 1e3 >= 150 ? "#04202b" : "#ffffff";
24
+ }
25
+ const ce = /^rgba?\(\s*([\d.]+)\s*[, ]\s*([\d.]+)\s*[, ]\s*([\d.]+)\s*(?:[,/]\s*([\d.]+%?)\s*)?\)$/i;
26
+ function E(o) {
27
+ const h = o.trim();
28
+ if (!h) return null;
29
+ let a = h.replace(/^#/, "");
30
+ if (/^[0-9a-fA-F]{3,4}$/.test(a) && (a = a.split("").map((c) => c + c).join("")), /^[0-9a-fA-F]{6}$/.test(a))
31
+ return {
32
+ r: parseInt(a.slice(0, 2), 16),
33
+ g: parseInt(a.slice(2, 4), 16),
34
+ b: parseInt(a.slice(4, 6), 16),
35
+ a: 1
36
+ };
37
+ if (/^[0-9a-fA-F]{8}$/.test(a))
38
+ return {
39
+ r: parseInt(a.slice(0, 2), 16),
40
+ g: parseInt(a.slice(2, 4), 16),
41
+ b: parseInt(a.slice(4, 6), 16),
42
+ a: p(parseInt(a.slice(6, 8), 16) / 255)
43
+ };
44
+ const t = h.match(ce);
45
+ if (t) {
46
+ let c = 1;
47
+ return t[4] != null && (c = t[4].endsWith("%") ? p(parseFloat(t[4]) / 100) : p(parseFloat(t[4]))), { r: A(+t[1]), g: A(+t[2]), b: A(+t[3]), a: c };
48
+ }
49
+ return null;
50
+ }
51
+ function v({ r: o, g: h, b: a, a: t }) {
52
+ return t >= 1 ? j({ r: o, g: h, b: a }) : `rgba(${A(o)}, ${A(h)}, ${A(a)}, ${Math.round(p(t) * 100) / 100})`;
53
+ }
54
+ const le = "_field_16rd0_1", ie = "_fullWidth_16rd0_6", ue = "_label_16rd0_11", he = "_required_16rd0_17", de = "_control_16rd0_23", pe = "_open_16rd0_44", _e = "_error_16rd0_49", fe = "_disabled_16rd0_57", me = "_value_16rd0_64", be = "_placeholder_16rd0_73", we = "_preview_16rd0_81", ve = "_previewEmpty_16rd0_101", ge = "_helper_16rd0_113", xe = "_popover_16rd0_118", ke = "_sv_16rd0_128", ye = "_svThumb_16rd0_139", Ae = "_hue_16rd0_150", Te = "_hueThumb_16rd0_168", De = "_alphaThumb_16rd0_169", Ce = "_alpha_16rd0_169", Ie = "_hexRow_16rd0_202", Me = "_currentSwatch_16rd0_207", $e = "_hexField_16rd0_223", Ne = "_hexInput_16rd0_235", Re = "_swatches_16rd0_247", He = "_swatch_16rd0_247", Pe = "_swatchClear_16rd0_264", Ee = "_sm_16rd0_278", Fe = "_md_16rd0_282", Se = "_lg_16rd0_286", d = {
55
+ field: le,
56
+ fullWidth: ie,
57
+ label: ue,
58
+ required: he,
59
+ control: de,
60
+ open: pe,
61
+ error: _e,
62
+ disabled: fe,
63
+ value: me,
64
+ placeholder: be,
65
+ preview: we,
66
+ previewEmpty: ve,
67
+ helper: ge,
68
+ popover: xe,
69
+ sv: ke,
70
+ svThumb: ye,
71
+ hue: Ae,
72
+ hueThumb: Te,
73
+ alphaThumb: De,
74
+ alpha: Ce,
75
+ hexRow: Ie,
76
+ currentSwatch: Me,
77
+ hexField: $e,
78
+ hexInput: Ne,
79
+ swatches: Re,
80
+ swatch: He,
81
+ swatchClear: Pe,
82
+ sm: Ee,
83
+ md: Fe,
84
+ lg: Se
85
+ }, Le = [
86
+ "#13404e",
87
+ "#039aa1",
88
+ "#00a854",
89
+ "#0ea5e9",
90
+ "#6366f1",
91
+ "#7c3aed",
92
+ "#f04134",
93
+ "#f59e0b",
94
+ "#ffbf00",
95
+ "#10b981",
96
+ "#64748b",
97
+ "#0f172a",
98
+ "#ffffff"
99
+ ], W = ne("#13404e");
100
+ function Ve({
101
+ value: o,
102
+ onChange: h,
103
+ swatches: a = Le,
104
+ clearable: t = !0,
105
+ alpha: c = !0
106
+ }) {
107
+ const _ = (r) => c ? r : 1, l = ae(), n = E(o || ""), u = n ? v(n) : null, [i, g] = P(n ? D(n) : W), b = L(i);
108
+ b.current = i;
109
+ const [T, C] = P((n == null ? void 0 : n.a) ?? 1), x = L(T);
110
+ x.current = T, K(() => {
111
+ if (!n) return;
112
+ const r = v({ ...y(b.current), a: x.current });
113
+ u !== r && (g(D(n)), C(n.a));
114
+ }, [u]);
115
+ const I = (r) => {
116
+ g(r), h(v({ ...y(r), a: _(x.current) }));
117
+ }, F = (r) => {
118
+ C(r), h(v({ ...y(b.current), a: _(r) }));
119
+ }, N = (r) => (e) => {
120
+ e.preventDefault();
121
+ const s = e.currentTarget, f = ($, te) => r($, te, s.getBoundingClientRect());
122
+ f(e.clientX, e.clientY);
123
+ const w = ($) => f($.clientX, $.clientY), k = () => {
124
+ window.removeEventListener("pointermove", w), window.removeEventListener("pointerup", k);
125
+ };
126
+ window.addEventListener("pointermove", w), window.addEventListener("pointerup", k);
127
+ }, B = N((r, e, s) => {
128
+ const f = p((r - s.left) / s.width), w = p(1 - (e - s.top) / s.height);
129
+ I({ ...b.current, s: f, v: w });
130
+ }), V = N((r, e, s) => {
131
+ const f = p((r - s.left) / s.width) * 360;
132
+ I({ ...b.current, h: f });
133
+ }), z = N((r, e, s) => {
134
+ F(p((r - s.left) / s.width));
135
+ }), M = 0.01, X = (r) => {
136
+ const { h: e, s, v: f } = b.current;
137
+ let w = s, k = f;
138
+ switch (r.key) {
139
+ case "ArrowLeft":
140
+ w = p(s - M);
141
+ break;
142
+ case "ArrowRight":
143
+ w = p(s + M);
144
+ break;
145
+ case "ArrowUp":
146
+ k = p(f + M);
147
+ break;
148
+ case "ArrowDown":
149
+ k = p(f - M);
150
+ break;
151
+ default:
152
+ return;
153
+ }
154
+ r.preventDefault(), I({ h: e, s: w, v: k });
155
+ }, Y = (r) => {
156
+ const { h: e } = b.current;
157
+ let s = e;
158
+ switch (r.key) {
159
+ case "ArrowLeft":
160
+ case "ArrowDown":
161
+ s = Math.max(0, e - 1);
162
+ break;
163
+ case "ArrowRight":
164
+ case "ArrowUp":
165
+ s = Math.min(360, e + 1);
166
+ break;
167
+ case "Home":
168
+ s = 0;
169
+ break;
170
+ case "End":
171
+ s = 360;
172
+ break;
173
+ default:
174
+ return;
175
+ }
176
+ r.preventDefault(), I({ ...b.current, h: s });
177
+ }, G = (r) => {
178
+ let e = x.current;
179
+ switch (r.key) {
180
+ case "ArrowLeft":
181
+ case "ArrowDown":
182
+ e = p(x.current - 0.01);
183
+ break;
184
+ case "ArrowRight":
185
+ case "ArrowUp":
186
+ e = p(x.current + 0.01);
187
+ break;
188
+ case "Home":
189
+ e = 0;
190
+ break;
191
+ case "End":
192
+ e = 1;
193
+ break;
194
+ default:
195
+ return;
196
+ }
197
+ r.preventDefault(), F(e);
198
+ }, [O, S] = P("");
199
+ K(() => {
200
+ S(u ?? "");
201
+ }, [u]);
202
+ const J = (r) => {
203
+ S(r);
204
+ const e = E(r);
205
+ e && (g(D(e)), C(e.a), h(v({ ...e, a: _(e.a) })));
206
+ }, Q = () => {
207
+ h(""), g(W), C(1);
208
+ }, Z = v({ ...y(i), a: T }), ee = j(y(i)), R = y(i), re = `${Math.round(R.r)}, ${Math.round(R.g)}, ${Math.round(R.b)}`;
209
+ return /* @__PURE__ */ H("div", { className: d.popover, style: { "--cp-hue": i.h }, children: [
210
+ /* @__PURE__ */ m(
211
+ "div",
212
+ {
213
+ className: d.sv,
214
+ onPointerDown: B,
215
+ onKeyDown: X,
216
+ role: "slider",
217
+ tabIndex: 0,
218
+ "aria-label": l("colorPicker.saturation"),
219
+ "aria-valuetext": `${Math.round(i.s * 100)}% saturation, ${Math.round(i.v * 100)}% brightness`,
220
+ children: /* @__PURE__ */ m(
221
+ "span",
222
+ {
223
+ className: d.svThumb,
224
+ style: { left: `${i.s * 100}%`, top: `${(1 - i.v) * 100}%`, background: ee }
225
+ }
226
+ )
227
+ }
228
+ ),
229
+ /* @__PURE__ */ m(
230
+ "div",
231
+ {
232
+ className: d.hue,
233
+ onPointerDown: V,
234
+ onKeyDown: Y,
235
+ role: "slider",
236
+ tabIndex: 0,
237
+ "aria-label": l("colorPicker.hue"),
238
+ "aria-valuemin": 0,
239
+ "aria-valuemax": 360,
240
+ "aria-valuenow": Math.round(i.h),
241
+ children: /* @__PURE__ */ m("span", { className: d.hueThumb, style: { left: `${i.h / 360 * 100}%` } })
242
+ }
243
+ ),
244
+ c && /* @__PURE__ */ m(
245
+ "div",
246
+ {
247
+ className: d.alpha,
248
+ onPointerDown: z,
249
+ onKeyDown: G,
250
+ role: "slider",
251
+ tabIndex: 0,
252
+ "aria-label": l("colorPicker.opacity"),
253
+ "aria-valuemin": 0,
254
+ "aria-valuemax": 100,
255
+ "aria-valuenow": Math.round(T * 100),
256
+ style: { "--cp-rgb": re },
257
+ children: /* @__PURE__ */ m("span", { className: d.alphaThumb, style: { left: `${T * 100}%` } })
258
+ }
259
+ ),
260
+ /* @__PURE__ */ H("div", { className: d.hexRow, children: [
261
+ /* @__PURE__ */ m(
262
+ "span",
263
+ {
264
+ className: d.currentSwatch,
265
+ style: { "--cp-fill": Z }
266
+ }
267
+ ),
268
+ /* @__PURE__ */ m("span", { className: d.hexField, children: /* @__PURE__ */ m(
269
+ "input",
270
+ {
271
+ className: d.hexInput,
272
+ value: O,
273
+ spellCheck: !1,
274
+ maxLength: 28,
275
+ "aria-label": l("colorPicker.value"),
276
+ onChange: (r) => J(r.target.value)
277
+ }
278
+ ) })
279
+ ] }),
280
+ /* @__PURE__ */ H("div", { className: d.swatches, children: [
281
+ t && /* @__PURE__ */ m(
282
+ "button",
283
+ {
284
+ type: "button",
285
+ className: se(d.swatch, d.swatchClear),
286
+ "aria-label": l("colorPicker.noColor"),
287
+ "aria-pressed": !n,
288
+ onClick: Q,
289
+ children: !n && /* @__PURE__ */ m(U, { name: "TickCircle", size: "sm" })
290
+ }
291
+ ),
292
+ a.map((r) => {
293
+ const e = E(r);
294
+ if (!e) return null;
295
+ const s = v({ r: e.r, g: e.g, b: e.b, a: 1 }), f = u === s;
296
+ return /* @__PURE__ */ m(
297
+ "button",
298
+ {
299
+ type: "button",
300
+ className: d.swatch,
301
+ style: { background: s, color: oe(s) },
302
+ "aria-label": s,
303
+ "aria-pressed": f,
304
+ onClick: () => {
305
+ g(D(e)), h(v({ r: e.r, g: e.g, b: e.b, a: _(x.current) }));
306
+ },
307
+ children: f && /* @__PURE__ */ m(U, { name: "TickCircle", size: "sm" })
308
+ },
309
+ r
310
+ );
311
+ })
312
+ ] })
313
+ ] });
314
+ }
315
+ export {
316
+ Ve as C,
317
+ Le as D,
318
+ v as f,
319
+ E as p,
320
+ d as s
321
+ };
322
+ //# sourceMappingURL=ColorPickerPanel-6lQC1URc.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ColorPickerPanel-6lQC1URc.js","sources":["../src/components/ColorPicker/colorUtils.ts","../src/components/ColorPicker/ColorPickerPanel.tsx"],"sourcesContent":["/** Color math for the ColorPicker: hex ⇄ rgb ⇄ hsv, plus hex validation. All internal, no deps. */\n\nexport interface HSV {\n /** Hue 0–360 */\n h: number\n /** Saturation 0–1 */\n s: number\n /** Value/brightness 0–1 */\n v: number\n}\n\nimport { clamp01, hexToRgb, rgbToHex, type RGB } from '../../helpers/color'\n\n// the hex ⇄ rgb primitives are shared with the palette helpers — re-exported so nothing else changes\nexport { clamp01, normalizeHex, isValidHex, hexToRgb, rgbToHex } from '../../helpers/color'\nexport type { RGB } from '../../helpers/color'\n\nexport interface RGBA extends RGB {\n /** Alpha 0–1 */\n a: number\n}\n\nconst clamp255 = (n: number): number => Math.min(255, Math.max(0, Math.round(n)))\n\n/** RGB (0–255) → HSV. */\nexport function rgbToHsv({ r, g, b }: RGB): HSV {\n const rn = r / 255\n const gn = g / 255\n const bn = b / 255\n const max = Math.max(rn, gn, bn)\n const min = Math.min(rn, gn, bn)\n const d = max - min\n\n let h = 0\n if (d !== 0) {\n if (max === rn) h = ((gn - bn) / d) % 6\n else if (max === gn) h = (bn - rn) / d + 2\n else h = (rn - gn) / d + 4\n h *= 60\n if (h < 0) h += 360\n }\n const s = max === 0 ? 0 : d / max\n return { h, s, v: max }\n}\n\n/** HSV → RGB (0–255). */\nexport function hsvToRgb({ h, s, v }: HSV): RGB {\n const c = v * s\n const x = c * (1 - Math.abs(((h / 60) % 2) - 1))\n const m = v - c\n let r = 0\n let g = 0\n let b = 0\n if (h < 60) [r, g, b] = [c, x, 0]\n else if (h < 120) [r, g, b] = [x, c, 0]\n else if (h < 180) [r, g, b] = [0, c, x]\n else if (h < 240) [r, g, b] = [0, x, c]\n else if (h < 300) [r, g, b] = [x, 0, c]\n else [r, g, b] = [c, 0, x]\n return { r: (r + m) * 255, g: (g + m) * 255, b: (b + m) * 255 }\n}\n\nexport const hexToHsv = (hex: string): HSV => rgbToHsv(hexToRgb(hex))\nexport const hsvToHex = (hsv: HSV): string => rgbToHex(hsvToRgb(hsv))\n\n/** A readable text/handle color (near-black or white) for sitting on top of a given hex fill. */\nexport function contrastOn(hex: string): string {\n const { r, g, b } = hexToRgb(hex)\n return (r * 299 + g * 587 + b * 114) / 1000 >= 150 ? '#04202b' : '#ffffff'\n}\n\nconst RGB_FUNC =\n /^rgba?\\(\\s*([\\d.]+)\\s*[, ]\\s*([\\d.]+)\\s*[, ]\\s*([\\d.]+)\\s*(?:[,/]\\s*([\\d.]+%?)\\s*)?\\)$/i\n\n/**\n * Parses any CSS color the picker understands — `#rgb` / `#rgba` / `#rrggbb` / `#rrggbbaa` hex (with\n * or without `#`), or `rgb()` / `rgba()` (alpha as `0–1` or a `%`) — to `{ r, g, b, a }` (`a` is\n * `0–1`), or `null` when it doesn't match.\n */\nexport function parseColor(input: string): RGBA | null {\n const s = input.trim()\n if (!s) return null\n\n // hex (with or without #) — 3 / 4 / 6 / 8 digits (3 & 4 expand each nibble to a byte)\n let h = s.replace(/^#/, '')\n if (/^[0-9a-fA-F]{3,4}$/.test(h)) {\n h = h\n .split('')\n .map((c) => c + c)\n .join('')\n }\n if (/^[0-9a-fA-F]{6}$/.test(h)) {\n return {\n r: parseInt(h.slice(0, 2), 16),\n g: parseInt(h.slice(2, 4), 16),\n b: parseInt(h.slice(4, 6), 16),\n a: 1,\n }\n }\n if (/^[0-9a-fA-F]{8}$/.test(h)) {\n return {\n r: parseInt(h.slice(0, 2), 16),\n g: parseInt(h.slice(2, 4), 16),\n b: parseInt(h.slice(4, 6), 16),\n a: clamp01(parseInt(h.slice(6, 8), 16) / 255),\n }\n }\n\n // rgb() / rgba()\n const m = s.match(RGB_FUNC)\n if (m) {\n let a = 1\n if (m[4] != null) {\n a = m[4].endsWith('%') ? clamp01(parseFloat(m[4]) / 100) : clamp01(parseFloat(m[4]))\n }\n return { r: clamp255(+m[1]), g: clamp255(+m[2]), b: clamp255(+m[3]), a }\n }\n return null\n}\n\n/**\n * Formats `{ r, g, b, a }` back to a CSS string: `#rrggbb` when fully opaque (`a >= 1`), else\n * `rgba(r, g, b, a)` with alpha rounded to 2 decimals.\n */\nexport function formatColor({ r, g, b, a }: RGBA): string {\n if (a >= 1) return rgbToHex({ r, g, b })\n return `rgba(${clamp255(r)}, ${clamp255(g)}, ${clamp255(b)}, ${Math.round(clamp01(a) * 100) / 100})`\n}\n","import {\n useEffect,\n useRef,\n useState,\n type CSSProperties,\n type KeyboardEvent as ReactKeyboardEvent,\n type PointerEvent as ReactPointerEvent,\n} from 'react'\nimport { clsx } from 'clsx'\nimport { useT } from '../../theme'\nimport { Icon } from '../Icon'\nimport {\n clamp01,\n contrastOn,\n formatColor,\n hexToHsv,\n hsvToRgb,\n parseColor,\n rgbToHex,\n rgbToHsv,\n type HSV,\n} from './colorUtils'\nimport styles from './ColorPicker.module.css'\n\n/** A pleasant default palette shown as quick-pick swatches. */\nexport const DEFAULT_SWATCHES = [\n '#13404e',\n '#039aa1',\n '#00a854',\n '#0ea5e9',\n '#6366f1',\n '#7c3aed',\n '#f04134',\n '#f59e0b',\n '#ffbf00',\n '#10b981',\n '#64748b',\n '#0f172a',\n '#ffffff',\n]\n\nconst FALLBACK_HSV: HSV = hexToHsv('#13404e')\n\nexport interface ColorPickerPanelProps {\n /** Current color — a CSS color string (`#rrggbb`, `rgba(...)`, or `''` when unset). */\n value: string\n /** Fires with the next color: `#rrggbb` when opaque, `rgba(r, g, b, a)` when translucent, `''` when cleared. */\n onChange: (color: string) => void\n /** Quick-pick swatches. Defaults to a curated palette. */\n swatches?: string[]\n /** Show the leading \"no color\" swatch that clears the value. Defaults to `true`. */\n clearable?: boolean\n /**\n * Offer opacity. Defaults to `true`. `false` hides the alpha rail and pins alpha to `1`, so the\n * panel only ever emits `#rrggbb` — for values that must be opaque (brand colors).\n */\n alpha?: boolean\n}\n\n/**\n * The color-picking surface — a saturation/value square, hue + alpha sliders, a color input and\n * quick-pick swatches. Controlled by a single color `string` (`value` / `onChange`), so it drops into\n * any popover. Working state is kept as HSV + alpha (hue survives dragging at grey/black), re-derived\n * from `value` only on external changes. Used by `ColorPicker` (the field) and the `RichTextEditor`\n * text-color control. Token-styled except the spectrum gradients + alpha checkerboard (literal colors).\n */\nexport function ColorPickerPanel({\n value,\n onChange,\n swatches = DEFAULT_SWATCHES,\n clearable = true,\n alpha: alphaEnabled = true,\n}: ColorPickerPanelProps) {\n // with opacity off every emitted color is opaque, whatever the working alpha happens to be\n const emitAlpha = (a: number) => (alphaEnabled ? a : 1)\n const t = useT()\n const parsed = parseColor(value || '')\n // canonical string for the value (`#rrggbb` when opaque, `rgba(...)` when not), null when unset\n const displayValue = parsed ? formatColor(parsed) : null\n\n // working HSV + alpha (HSV keeps hue stable while dragging at grey/black; alpha is the opacity)\n const [hsv, setHsv] = useState<HSV>(parsed ? rgbToHsv(parsed) : FALLBACK_HSV)\n const hsvRef = useRef(hsv)\n hsvRef.current = hsv\n const [alpha, setAlpha] = useState<number>(parsed?.a ?? 1)\n const alphaRef = useRef(alpha)\n alphaRef.current = alpha\n\n // re-derive HSV + alpha only when the value changes from OUTSIDE our own edits (prop/preset/input)\n useEffect(() => {\n if (!parsed) return\n const cur = formatColor({ ...hsvToRgb(hsvRef.current), a: alphaRef.current })\n if (displayValue !== cur) {\n setHsv(rgbToHsv(parsed))\n setAlpha(parsed.a)\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [displayValue])\n\n const applyHsv = (next: HSV) => {\n setHsv(next)\n onChange(formatColor({ ...hsvToRgb(next), a: emitAlpha(alphaRef.current) }))\n }\n\n const applyAlpha = (next: number) => {\n setAlpha(next)\n onChange(formatColor({ ...hsvToRgb(hsvRef.current), a: emitAlpha(next) }))\n }\n\n // drag (SV square + hue/alpha sliders)\n const drag =\n (onMove: (clientX: number, clientY: number, rect: DOMRect) => void) =>\n (event: ReactPointerEvent<HTMLDivElement>) => {\n event.preventDefault()\n const el = event.currentTarget\n const move = (clientX: number, clientY: number) =>\n onMove(clientX, clientY, el.getBoundingClientRect())\n move(event.clientX, event.clientY)\n const onPointerMove = (e: PointerEvent) => move(e.clientX, e.clientY)\n const onPointerUp = () => {\n window.removeEventListener('pointermove', onPointerMove)\n window.removeEventListener('pointerup', onPointerUp)\n }\n window.addEventListener('pointermove', onPointerMove)\n window.addEventListener('pointerup', onPointerUp)\n }\n\n const onSvDown = drag((x, y, rect) => {\n const s = clamp01((x - rect.left) / rect.width)\n const v = clamp01(1 - (y - rect.top) / rect.height)\n applyHsv({ ...hsvRef.current, s, v })\n })\n\n const onHueDown = drag((x, _y, rect) => {\n const h = clamp01((x - rect.left) / rect.width) * 360\n applyHsv({ ...hsvRef.current, h })\n })\n\n const onAlphaDown = drag((x, _y, rect) => {\n applyAlpha(clamp01((x - rect.left) / rect.width))\n })\n\n // keyboard control — arrows nudge, Home/End jump to the extents (mirrors Calendar/TimeColumns a11y)\n const SV_STEP = 0.01\n const onSvKey = (event: ReactKeyboardEvent<HTMLDivElement>) => {\n const { h, s, v } = hsvRef.current\n let ns = s\n let nv = v\n switch (event.key) {\n case 'ArrowLeft':\n ns = clamp01(s - SV_STEP)\n break\n case 'ArrowRight':\n ns = clamp01(s + SV_STEP)\n break\n case 'ArrowUp':\n nv = clamp01(v + SV_STEP)\n break\n case 'ArrowDown':\n nv = clamp01(v - SV_STEP)\n break\n default:\n return\n }\n event.preventDefault()\n applyHsv({ h, s: ns, v: nv })\n }\n const onHueKey = (event: ReactKeyboardEvent<HTMLDivElement>) => {\n const { h } = hsvRef.current\n let nh = h\n switch (event.key) {\n case 'ArrowLeft':\n case 'ArrowDown':\n nh = Math.max(0, h - 1)\n break\n case 'ArrowRight':\n case 'ArrowUp':\n nh = Math.min(360, h + 1)\n break\n case 'Home':\n nh = 0\n break\n case 'End':\n nh = 360\n break\n default:\n return\n }\n event.preventDefault()\n applyHsv({ ...hsvRef.current, h: nh })\n }\n const onAlphaKey = (event: ReactKeyboardEvent<HTMLDivElement>) => {\n let na = alphaRef.current\n switch (event.key) {\n case 'ArrowLeft':\n case 'ArrowDown':\n na = clamp01(alphaRef.current - 0.01)\n break\n case 'ArrowRight':\n case 'ArrowUp':\n na = clamp01(alphaRef.current + 0.01)\n break\n case 'Home':\n na = 0\n break\n case 'End':\n na = 1\n break\n default:\n return\n }\n event.preventDefault()\n applyAlpha(na)\n }\n\n // color input (accepts hex / rgb() / rgba()) + clear\n const [colorDraft, setColorDraft] = useState('')\n useEffect(() => {\n setColorDraft(displayValue ?? '')\n }, [displayValue])\n\n const onColorInput = (raw: string) => {\n setColorDraft(raw)\n const p = parseColor(raw)\n if (p) {\n setHsv(rgbToHsv(p))\n setAlpha(p.a)\n onChange(formatColor({ ...p, a: emitAlpha(p.a) }))\n }\n }\n\n const handleClear = () => {\n onChange('')\n setHsv(FALLBACK_HSV)\n setAlpha(1)\n }\n\n // working color (hsv + alpha): the current swatch + the SV thumb (opaque) + the alpha track base\n const workingColor = formatColor({ ...hsvToRgb(hsv), a: alpha })\n const solidHex = rgbToHex(hsvToRgb(hsv))\n const cur = hsvToRgb(hsv)\n const cpRgb = `${Math.round(cur.r)}, ${Math.round(cur.g)}, ${Math.round(cur.b)}`\n\n return (\n <div className={styles.popover} style={{ '--cp-hue': hsv.h } as CSSProperties}>\n <div\n className={styles.sv}\n onPointerDown={onSvDown}\n onKeyDown={onSvKey}\n role=\"slider\"\n tabIndex={0}\n aria-label={t('colorPicker.saturation')}\n aria-valuetext={`${Math.round(hsv.s * 100)}% saturation, ${Math.round(hsv.v * 100)}% brightness`}\n >\n <span\n className={styles.svThumb}\n style={{ left: `${hsv.s * 100}%`, top: `${(1 - hsv.v) * 100}%`, background: solidHex }}\n />\n </div>\n\n <div\n className={styles.hue}\n onPointerDown={onHueDown}\n onKeyDown={onHueKey}\n role=\"slider\"\n tabIndex={0}\n aria-label={t('colorPicker.hue')}\n aria-valuemin={0}\n aria-valuemax={360}\n aria-valuenow={Math.round(hsv.h)}\n >\n <span className={styles.hueThumb} style={{ left: `${(hsv.h / 360) * 100}%` }} />\n </div>\n\n {alphaEnabled && (\n <div\n className={styles.alpha}\n onPointerDown={onAlphaDown}\n onKeyDown={onAlphaKey}\n role=\"slider\"\n tabIndex={0}\n aria-label={t('colorPicker.opacity')}\n aria-valuemin={0}\n aria-valuemax={100}\n aria-valuenow={Math.round(alpha * 100)}\n style={{ '--cp-rgb': cpRgb } as CSSProperties}\n >\n <span className={styles.alphaThumb} style={{ left: `${alpha * 100}%` }} />\n </div>\n )}\n\n <div className={styles.hexRow}>\n <span\n className={styles.currentSwatch}\n style={{ '--cp-fill': workingColor } as CSSProperties}\n />\n <span className={styles.hexField}>\n <input\n className={styles.hexInput}\n value={colorDraft}\n spellCheck={false}\n maxLength={28}\n aria-label={t('colorPicker.value')}\n onChange={(e) => onColorInput(e.target.value)}\n />\n </span>\n </div>\n\n <div className={styles.swatches}>\n {/* \"no color\" — clears the value (the diagonal-stripe swatch); hidden when not clearable */}\n {clearable && (\n <button\n type=\"button\"\n className={clsx(styles.swatch, styles.swatchClear)}\n aria-label={t('colorPicker.noColor')}\n aria-pressed={!parsed}\n onClick={handleClear}\n >\n {!parsed && <Icon name=\"TickCircle\" size=\"sm\" />}\n </button>\n )}\n {swatches.map((sw) => {\n const p = parseColor(sw)\n if (!p) return null\n const swHex = formatColor({ r: p.r, g: p.g, b: p.b, a: 1 })\n const selected = displayValue === swHex\n return (\n <button\n key={sw}\n type=\"button\"\n className={styles.swatch}\n style={{ background: swHex, color: contrastOn(swHex) }}\n aria-label={swHex}\n aria-pressed={selected}\n onClick={() => {\n setHsv(rgbToHsv(p))\n onChange(formatColor({ r: p.r, g: p.g, b: p.b, a: emitAlpha(alphaRef.current) }))\n }}\n >\n {selected && <Icon name=\"TickCircle\" size=\"sm\" />}\n </button>\n )\n })}\n </div>\n </div>\n )\n}\n"],"names":["clamp255","n","rgbToHsv","r","g","b","rn","gn","bn","max","min","d","h","s","hsvToRgb","v","c","x","m","hexToHsv","hex","hexToRgb","contrastOn","RGB_FUNC","parseColor","input","clamp01","a","formatColor","rgbToHex","DEFAULT_SWATCHES","FALLBACK_HSV","ColorPickerPanel","value","onChange","swatches","clearable","alphaEnabled","emitAlpha","t","useT","parsed","displayValue","hsv","setHsv","useState","hsvRef","useRef","alpha","setAlpha","alphaRef","useEffect","cur","applyHsv","next","applyAlpha","drag","onMove","event","el","move","clientX","clientY","onPointerMove","e","onPointerUp","onSvDown","y","rect","onHueDown","_y","onAlphaDown","SV_STEP","onSvKey","ns","nv","onHueKey","nh","onAlphaKey","na","colorDraft","setColorDraft","onColorInput","raw","p","handleClear","workingColor","solidHex","cpRgb","jsxs","styles","jsx","clsx","Icon","sw","swHex","selected"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ "use strict";const p=require("react/jsx-runtime"),k=require("react"),Z=require("clsx"),N=require("./Icon-BVULqOJD.cjs"),d=require("./color-CgR8ybWZ.cjs"),ee=require("./ConfigProvider-BElY0HuV.cjs"),A=o=>Math.min(255,Math.max(0,Math.round(o)));function D({r:o,g:h,b:a}){const t=o/255,c=h/255,f=a/255,l=Math.max(t,c,f),n=Math.min(t,c,f),u=l-n;let i=0;u!==0&&(l===t?i=(c-f)/u%6:l===c?i=(f-t)/u+2:i=(t-c)/u+4,i*=60,i<0&&(i+=360));const x=l===0?0:u/l;return{h:i,s:x,v:l}}function T({h:o,s:h,v:a}){const t=a*h,c=t*(1-Math.abs(o/60%2-1)),f=a-t;let l=0,n=0,u=0;return o<60?[l,n,u]=[t,c,0]:o<120?[l,n,u]=[c,t,0]:o<180?[l,n,u]=[0,t,c]:o<240?[l,n,u]=[0,c,t]:o<300?[l,n,u]=[c,0,t]:[l,n,u]=[t,0,c],{r:(l+f)*255,g:(n+f)*255,b:(u+f)*255}}const re=o=>D(d.hexToRgb(o));function te(o){const{r:h,g:a,b:t}=d.hexToRgb(o);return(h*299+a*587+t*114)/1e3>=150?"#04202b":"#ffffff"}const se=/^rgba?\(\s*([\d.]+)\s*[, ]\s*([\d.]+)\s*[, ]\s*([\d.]+)\s*(?:[,/]\s*([\d.]+%?)\s*)?\)$/i;function $(o){const h=o.trim();if(!h)return null;let a=h.replace(/^#/,"");if(/^[0-9a-fA-F]{3,4}$/.test(a)&&(a=a.split("").map(c=>c+c).join("")),/^[0-9a-fA-F]{6}$/.test(a))return{r:parseInt(a.slice(0,2),16),g:parseInt(a.slice(2,4),16),b:parseInt(a.slice(4,6),16),a:1};if(/^[0-9a-fA-F]{8}$/.test(a))return{r:parseInt(a.slice(0,2),16),g:parseInt(a.slice(2,4),16),b:parseInt(a.slice(4,6),16),a:d.clamp01(parseInt(a.slice(6,8),16)/255)};const t=h.match(se);if(t){let c=1;return t[4]!=null&&(c=t[4].endsWith("%")?d.clamp01(parseFloat(t[4])/100):d.clamp01(parseFloat(t[4]))),{r:A(+t[1]),g:A(+t[2]),b:A(+t[3]),a:c}}return null}function b({r:o,g:h,b:a,a:t}){return t>=1?d.rgbToHex({r:o,g:h,b:a}):`rgba(${A(o)}, ${A(h)}, ${A(a)}, ${Math.round(d.clamp01(t)*100)/100})`}const ae="_field_16rd0_1",ne="_fullWidth_16rd0_6",oe="_label_16rd0_11",ce="_required_16rd0_17",le="_control_16rd0_23",ie="_open_16rd0_44",ue="_error_16rd0_49",he="_disabled_16rd0_57",de="_value_16rd0_64",pe="_placeholder_16rd0_73",_e="_preview_16rd0_81",fe="_previewEmpty_16rd0_101",me="_helper_16rd0_113",be="_popover_16rd0_118",we="_sv_16rd0_128",ve="_svThumb_16rd0_139",xe="_hue_16rd0_150",ge="_hueThumb_16rd0_168",ke="_alphaThumb_16rd0_169",ye="_alpha_16rd0_169",Te="_hexRow_16rd0_202",Ae="_currentSwatch_16rd0_207",Ce="_hexField_16rd0_223",De="_hexInput_16rd0_235",je="_swatches_16rd0_247",Ie="_swatch_16rd0_247",Re="_swatchClear_16rd0_264",Me="_sm_16rd0_278",$e="_md_16rd0_282",Pe="_lg_16rd0_286",_={field:ae,fullWidth:ne,label:oe,required:ce,control:le,open:ie,error:ue,disabled:he,value:de,placeholder:pe,preview:_e,previewEmpty:fe,helper:me,popover:be,sv:we,svThumb:ve,hue:xe,hueThumb:ge,alphaThumb:ke,alpha:ye,hexRow:Te,currentSwatch:Ae,hexField:Ce,hexInput:De,swatches:je,swatch:Ie,swatchClear:Re,sm:Me,md:$e,lg:Pe},L=["#13404e","#039aa1","#00a854","#0ea5e9","#6366f1","#7c3aed","#f04134","#f59e0b","#ffbf00","#10b981","#64748b","#0f172a","#ffffff"],F=re("#13404e");function Se({value:o,onChange:h,swatches:a=L,clearable:t=!0,alpha:c=!0}){const f=r=>c?r:1,l=ee.useT(),n=$(o||""),u=n?b(n):null,[i,x]=k.useState(n?D(n):F),w=k.useRef(i);w.current=i;const[C,j]=k.useState((n==null?void 0:n.a)??1),g=k.useRef(C);g.current=C,k.useEffect(()=>{if(!n)return;const r=b({...T(w.current),a:g.current});u!==r&&(x(D(n)),j(n.a))},[u]);const I=r=>{x(r),h(b({...T(r),a:f(g.current)}))},E=r=>{j(r),h(b({...T(w.current),a:f(r)}))},P=r=>e=>{e.preventDefault();const s=e.currentTarget,m=(M,Q)=>r(M,Q,s.getBoundingClientRect());m(e.clientX,e.clientY);const v=M=>m(M.clientX,M.clientY),y=()=>{window.removeEventListener("pointermove",v),window.removeEventListener("pointerup",y)};window.addEventListener("pointermove",v),window.addEventListener("pointerup",y)},q=P((r,e,s)=>{const m=d.clamp01((r-s.left)/s.width),v=d.clamp01(1-(e-s.top)/s.height);I({...w.current,s:m,v})}),K=P((r,e,s)=>{const m=d.clamp01((r-s.left)/s.width)*360;I({...w.current,h:m})}),U=P((r,e,s)=>{E(d.clamp01((r-s.left)/s.width))}),R=.01,W=r=>{const{h:e,s,v:m}=w.current;let v=s,y=m;switch(r.key){case"ArrowLeft":v=d.clamp01(s-R);break;case"ArrowRight":v=d.clamp01(s+R);break;case"ArrowUp":y=d.clamp01(m+R);break;case"ArrowDown":y=d.clamp01(m-R);break;default:return}r.preventDefault(),I({h:e,s:v,v:y})},B=r=>{const{h:e}=w.current;let s=e;switch(r.key){case"ArrowLeft":case"ArrowDown":s=Math.max(0,e-1);break;case"ArrowRight":case"ArrowUp":s=Math.min(360,e+1);break;case"Home":s=0;break;case"End":s=360;break;default:return}r.preventDefault(),I({...w.current,h:s})},V=r=>{let e=g.current;switch(r.key){case"ArrowLeft":case"ArrowDown":e=d.clamp01(g.current-.01);break;case"ArrowRight":case"ArrowUp":e=d.clamp01(g.current+.01);break;case"Home":e=0;break;case"End":e=1;break;default:return}r.preventDefault(),E(e)},[z,H]=k.useState("");k.useEffect(()=>{H(u??"")},[u]);const X=r=>{H(r);const e=$(r);e&&(x(D(e)),j(e.a),h(b({...e,a:f(e.a)})))},Y=()=>{h(""),x(F),j(1)},G=b({...T(i),a:C}),O=d.rgbToHex(T(i)),S=T(i),J=`${Math.round(S.r)}, ${Math.round(S.g)}, ${Math.round(S.b)}`;return p.jsxs("div",{className:_.popover,style:{"--cp-hue":i.h},children:[p.jsx("div",{className:_.sv,onPointerDown:q,onKeyDown:W,role:"slider",tabIndex:0,"aria-label":l("colorPicker.saturation"),"aria-valuetext":`${Math.round(i.s*100)}% saturation, ${Math.round(i.v*100)}% brightness`,children:p.jsx("span",{className:_.svThumb,style:{left:`${i.s*100}%`,top:`${(1-i.v)*100}%`,background:O}})}),p.jsx("div",{className:_.hue,onPointerDown:K,onKeyDown:B,role:"slider",tabIndex:0,"aria-label":l("colorPicker.hue"),"aria-valuemin":0,"aria-valuemax":360,"aria-valuenow":Math.round(i.h),children:p.jsx("span",{className:_.hueThumb,style:{left:`${i.h/360*100}%`}})}),c&&p.jsx("div",{className:_.alpha,onPointerDown:U,onKeyDown:V,role:"slider",tabIndex:0,"aria-label":l("colorPicker.opacity"),"aria-valuemin":0,"aria-valuemax":100,"aria-valuenow":Math.round(C*100),style:{"--cp-rgb":J},children:p.jsx("span",{className:_.alphaThumb,style:{left:`${C*100}%`}})}),p.jsxs("div",{className:_.hexRow,children:[p.jsx("span",{className:_.currentSwatch,style:{"--cp-fill":G}}),p.jsx("span",{className:_.hexField,children:p.jsx("input",{className:_.hexInput,value:z,spellCheck:!1,maxLength:28,"aria-label":l("colorPicker.value"),onChange:r=>X(r.target.value)})})]}),p.jsxs("div",{className:_.swatches,children:[t&&p.jsx("button",{type:"button",className:Z.clsx(_.swatch,_.swatchClear),"aria-label":l("colorPicker.noColor"),"aria-pressed":!n,onClick:Y,children:!n&&p.jsx(N.Icon,{name:"TickCircle",size:"sm"})}),a.map(r=>{const e=$(r);if(!e)return null;const s=b({r:e.r,g:e.g,b:e.b,a:1}),m=u===s;return p.jsx("button",{type:"button",className:_.swatch,style:{background:s,color:te(s)},"aria-label":s,"aria-pressed":m,onClick:()=>{x(D(e)),h(b({r:e.r,g:e.g,b:e.b,a:f(g.current)}))},children:m&&p.jsx(N.Icon,{name:"TickCircle",size:"sm"})},r)})]})]})}exports.ColorPickerPanel=Se;exports.DEFAULT_SWATCHES=L;exports.formatColor=b;exports.parseColor=$;exports.styles=_;
2
+ //# sourceMappingURL=ColorPickerPanel-C9ARc_uD.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ColorPickerPanel-C9ARc_uD.cjs","sources":["../src/components/ColorPicker/colorUtils.ts","../src/components/ColorPicker/ColorPickerPanel.tsx"],"sourcesContent":["/** Color math for the ColorPicker: hex ⇄ rgb ⇄ hsv, plus hex validation. All internal, no deps. */\n\nexport interface HSV {\n /** Hue 0–360 */\n h: number\n /** Saturation 0–1 */\n s: number\n /** Value/brightness 0–1 */\n v: number\n}\n\nimport { clamp01, hexToRgb, rgbToHex, type RGB } from '../../helpers/color'\n\n// the hex ⇄ rgb primitives are shared with the palette helpers — re-exported so nothing else changes\nexport { clamp01, normalizeHex, isValidHex, hexToRgb, rgbToHex } from '../../helpers/color'\nexport type { RGB } from '../../helpers/color'\n\nexport interface RGBA extends RGB {\n /** Alpha 0–1 */\n a: number\n}\n\nconst clamp255 = (n: number): number => Math.min(255, Math.max(0, Math.round(n)))\n\n/** RGB (0–255) → HSV. */\nexport function rgbToHsv({ r, g, b }: RGB): HSV {\n const rn = r / 255\n const gn = g / 255\n const bn = b / 255\n const max = Math.max(rn, gn, bn)\n const min = Math.min(rn, gn, bn)\n const d = max - min\n\n let h = 0\n if (d !== 0) {\n if (max === rn) h = ((gn - bn) / d) % 6\n else if (max === gn) h = (bn - rn) / d + 2\n else h = (rn - gn) / d + 4\n h *= 60\n if (h < 0) h += 360\n }\n const s = max === 0 ? 0 : d / max\n return { h, s, v: max }\n}\n\n/** HSV → RGB (0–255). */\nexport function hsvToRgb({ h, s, v }: HSV): RGB {\n const c = v * s\n const x = c * (1 - Math.abs(((h / 60) % 2) - 1))\n const m = v - c\n let r = 0\n let g = 0\n let b = 0\n if (h < 60) [r, g, b] = [c, x, 0]\n else if (h < 120) [r, g, b] = [x, c, 0]\n else if (h < 180) [r, g, b] = [0, c, x]\n else if (h < 240) [r, g, b] = [0, x, c]\n else if (h < 300) [r, g, b] = [x, 0, c]\n else [r, g, b] = [c, 0, x]\n return { r: (r + m) * 255, g: (g + m) * 255, b: (b + m) * 255 }\n}\n\nexport const hexToHsv = (hex: string): HSV => rgbToHsv(hexToRgb(hex))\nexport const hsvToHex = (hsv: HSV): string => rgbToHex(hsvToRgb(hsv))\n\n/** A readable text/handle color (near-black or white) for sitting on top of a given hex fill. */\nexport function contrastOn(hex: string): string {\n const { r, g, b } = hexToRgb(hex)\n return (r * 299 + g * 587 + b * 114) / 1000 >= 150 ? '#04202b' : '#ffffff'\n}\n\nconst RGB_FUNC =\n /^rgba?\\(\\s*([\\d.]+)\\s*[, ]\\s*([\\d.]+)\\s*[, ]\\s*([\\d.]+)\\s*(?:[,/]\\s*([\\d.]+%?)\\s*)?\\)$/i\n\n/**\n * Parses any CSS color the picker understands — `#rgb` / `#rgba` / `#rrggbb` / `#rrggbbaa` hex (with\n * or without `#`), or `rgb()` / `rgba()` (alpha as `0–1` or a `%`) — to `{ r, g, b, a }` (`a` is\n * `0–1`), or `null` when it doesn't match.\n */\nexport function parseColor(input: string): RGBA | null {\n const s = input.trim()\n if (!s) return null\n\n // hex (with or without #) — 3 / 4 / 6 / 8 digits (3 & 4 expand each nibble to a byte)\n let h = s.replace(/^#/, '')\n if (/^[0-9a-fA-F]{3,4}$/.test(h)) {\n h = h\n .split('')\n .map((c) => c + c)\n .join('')\n }\n if (/^[0-9a-fA-F]{6}$/.test(h)) {\n return {\n r: parseInt(h.slice(0, 2), 16),\n g: parseInt(h.slice(2, 4), 16),\n b: parseInt(h.slice(4, 6), 16),\n a: 1,\n }\n }\n if (/^[0-9a-fA-F]{8}$/.test(h)) {\n return {\n r: parseInt(h.slice(0, 2), 16),\n g: parseInt(h.slice(2, 4), 16),\n b: parseInt(h.slice(4, 6), 16),\n a: clamp01(parseInt(h.slice(6, 8), 16) / 255),\n }\n }\n\n // rgb() / rgba()\n const m = s.match(RGB_FUNC)\n if (m) {\n let a = 1\n if (m[4] != null) {\n a = m[4].endsWith('%') ? clamp01(parseFloat(m[4]) / 100) : clamp01(parseFloat(m[4]))\n }\n return { r: clamp255(+m[1]), g: clamp255(+m[2]), b: clamp255(+m[3]), a }\n }\n return null\n}\n\n/**\n * Formats `{ r, g, b, a }` back to a CSS string: `#rrggbb` when fully opaque (`a >= 1`), else\n * `rgba(r, g, b, a)` with alpha rounded to 2 decimals.\n */\nexport function formatColor({ r, g, b, a }: RGBA): string {\n if (a >= 1) return rgbToHex({ r, g, b })\n return `rgba(${clamp255(r)}, ${clamp255(g)}, ${clamp255(b)}, ${Math.round(clamp01(a) * 100) / 100})`\n}\n","import {\n useEffect,\n useRef,\n useState,\n type CSSProperties,\n type KeyboardEvent as ReactKeyboardEvent,\n type PointerEvent as ReactPointerEvent,\n} from 'react'\nimport { clsx } from 'clsx'\nimport { useT } from '../../theme'\nimport { Icon } from '../Icon'\nimport {\n clamp01,\n contrastOn,\n formatColor,\n hexToHsv,\n hsvToRgb,\n parseColor,\n rgbToHex,\n rgbToHsv,\n type HSV,\n} from './colorUtils'\nimport styles from './ColorPicker.module.css'\n\n/** A pleasant default palette shown as quick-pick swatches. */\nexport const DEFAULT_SWATCHES = [\n '#13404e',\n '#039aa1',\n '#00a854',\n '#0ea5e9',\n '#6366f1',\n '#7c3aed',\n '#f04134',\n '#f59e0b',\n '#ffbf00',\n '#10b981',\n '#64748b',\n '#0f172a',\n '#ffffff',\n]\n\nconst FALLBACK_HSV: HSV = hexToHsv('#13404e')\n\nexport interface ColorPickerPanelProps {\n /** Current color — a CSS color string (`#rrggbb`, `rgba(...)`, or `''` when unset). */\n value: string\n /** Fires with the next color: `#rrggbb` when opaque, `rgba(r, g, b, a)` when translucent, `''` when cleared. */\n onChange: (color: string) => void\n /** Quick-pick swatches. Defaults to a curated palette. */\n swatches?: string[]\n /** Show the leading \"no color\" swatch that clears the value. Defaults to `true`. */\n clearable?: boolean\n /**\n * Offer opacity. Defaults to `true`. `false` hides the alpha rail and pins alpha to `1`, so the\n * panel only ever emits `#rrggbb` — for values that must be opaque (brand colors).\n */\n alpha?: boolean\n}\n\n/**\n * The color-picking surface — a saturation/value square, hue + alpha sliders, a color input and\n * quick-pick swatches. Controlled by a single color `string` (`value` / `onChange`), so it drops into\n * any popover. Working state is kept as HSV + alpha (hue survives dragging at grey/black), re-derived\n * from `value` only on external changes. Used by `ColorPicker` (the field) and the `RichTextEditor`\n * text-color control. Token-styled except the spectrum gradients + alpha checkerboard (literal colors).\n */\nexport function ColorPickerPanel({\n value,\n onChange,\n swatches = DEFAULT_SWATCHES,\n clearable = true,\n alpha: alphaEnabled = true,\n}: ColorPickerPanelProps) {\n // with opacity off every emitted color is opaque, whatever the working alpha happens to be\n const emitAlpha = (a: number) => (alphaEnabled ? a : 1)\n const t = useT()\n const parsed = parseColor(value || '')\n // canonical string for the value (`#rrggbb` when opaque, `rgba(...)` when not), null when unset\n const displayValue = parsed ? formatColor(parsed) : null\n\n // working HSV + alpha (HSV keeps hue stable while dragging at grey/black; alpha is the opacity)\n const [hsv, setHsv] = useState<HSV>(parsed ? rgbToHsv(parsed) : FALLBACK_HSV)\n const hsvRef = useRef(hsv)\n hsvRef.current = hsv\n const [alpha, setAlpha] = useState<number>(parsed?.a ?? 1)\n const alphaRef = useRef(alpha)\n alphaRef.current = alpha\n\n // re-derive HSV + alpha only when the value changes from OUTSIDE our own edits (prop/preset/input)\n useEffect(() => {\n if (!parsed) return\n const cur = formatColor({ ...hsvToRgb(hsvRef.current), a: alphaRef.current })\n if (displayValue !== cur) {\n setHsv(rgbToHsv(parsed))\n setAlpha(parsed.a)\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [displayValue])\n\n const applyHsv = (next: HSV) => {\n setHsv(next)\n onChange(formatColor({ ...hsvToRgb(next), a: emitAlpha(alphaRef.current) }))\n }\n\n const applyAlpha = (next: number) => {\n setAlpha(next)\n onChange(formatColor({ ...hsvToRgb(hsvRef.current), a: emitAlpha(next) }))\n }\n\n // drag (SV square + hue/alpha sliders)\n const drag =\n (onMove: (clientX: number, clientY: number, rect: DOMRect) => void) =>\n (event: ReactPointerEvent<HTMLDivElement>) => {\n event.preventDefault()\n const el = event.currentTarget\n const move = (clientX: number, clientY: number) =>\n onMove(clientX, clientY, el.getBoundingClientRect())\n move(event.clientX, event.clientY)\n const onPointerMove = (e: PointerEvent) => move(e.clientX, e.clientY)\n const onPointerUp = () => {\n window.removeEventListener('pointermove', onPointerMove)\n window.removeEventListener('pointerup', onPointerUp)\n }\n window.addEventListener('pointermove', onPointerMove)\n window.addEventListener('pointerup', onPointerUp)\n }\n\n const onSvDown = drag((x, y, rect) => {\n const s = clamp01((x - rect.left) / rect.width)\n const v = clamp01(1 - (y - rect.top) / rect.height)\n applyHsv({ ...hsvRef.current, s, v })\n })\n\n const onHueDown = drag((x, _y, rect) => {\n const h = clamp01((x - rect.left) / rect.width) * 360\n applyHsv({ ...hsvRef.current, h })\n })\n\n const onAlphaDown = drag((x, _y, rect) => {\n applyAlpha(clamp01((x - rect.left) / rect.width))\n })\n\n // keyboard control — arrows nudge, Home/End jump to the extents (mirrors Calendar/TimeColumns a11y)\n const SV_STEP = 0.01\n const onSvKey = (event: ReactKeyboardEvent<HTMLDivElement>) => {\n const { h, s, v } = hsvRef.current\n let ns = s\n let nv = v\n switch (event.key) {\n case 'ArrowLeft':\n ns = clamp01(s - SV_STEP)\n break\n case 'ArrowRight':\n ns = clamp01(s + SV_STEP)\n break\n case 'ArrowUp':\n nv = clamp01(v + SV_STEP)\n break\n case 'ArrowDown':\n nv = clamp01(v - SV_STEP)\n break\n default:\n return\n }\n event.preventDefault()\n applyHsv({ h, s: ns, v: nv })\n }\n const onHueKey = (event: ReactKeyboardEvent<HTMLDivElement>) => {\n const { h } = hsvRef.current\n let nh = h\n switch (event.key) {\n case 'ArrowLeft':\n case 'ArrowDown':\n nh = Math.max(0, h - 1)\n break\n case 'ArrowRight':\n case 'ArrowUp':\n nh = Math.min(360, h + 1)\n break\n case 'Home':\n nh = 0\n break\n case 'End':\n nh = 360\n break\n default:\n return\n }\n event.preventDefault()\n applyHsv({ ...hsvRef.current, h: nh })\n }\n const onAlphaKey = (event: ReactKeyboardEvent<HTMLDivElement>) => {\n let na = alphaRef.current\n switch (event.key) {\n case 'ArrowLeft':\n case 'ArrowDown':\n na = clamp01(alphaRef.current - 0.01)\n break\n case 'ArrowRight':\n case 'ArrowUp':\n na = clamp01(alphaRef.current + 0.01)\n break\n case 'Home':\n na = 0\n break\n case 'End':\n na = 1\n break\n default:\n return\n }\n event.preventDefault()\n applyAlpha(na)\n }\n\n // color input (accepts hex / rgb() / rgba()) + clear\n const [colorDraft, setColorDraft] = useState('')\n useEffect(() => {\n setColorDraft(displayValue ?? '')\n }, [displayValue])\n\n const onColorInput = (raw: string) => {\n setColorDraft(raw)\n const p = parseColor(raw)\n if (p) {\n setHsv(rgbToHsv(p))\n setAlpha(p.a)\n onChange(formatColor({ ...p, a: emitAlpha(p.a) }))\n }\n }\n\n const handleClear = () => {\n onChange('')\n setHsv(FALLBACK_HSV)\n setAlpha(1)\n }\n\n // working color (hsv + alpha): the current swatch + the SV thumb (opaque) + the alpha track base\n const workingColor = formatColor({ ...hsvToRgb(hsv), a: alpha })\n const solidHex = rgbToHex(hsvToRgb(hsv))\n const cur = hsvToRgb(hsv)\n const cpRgb = `${Math.round(cur.r)}, ${Math.round(cur.g)}, ${Math.round(cur.b)}`\n\n return (\n <div className={styles.popover} style={{ '--cp-hue': hsv.h } as CSSProperties}>\n <div\n className={styles.sv}\n onPointerDown={onSvDown}\n onKeyDown={onSvKey}\n role=\"slider\"\n tabIndex={0}\n aria-label={t('colorPicker.saturation')}\n aria-valuetext={`${Math.round(hsv.s * 100)}% saturation, ${Math.round(hsv.v * 100)}% brightness`}\n >\n <span\n className={styles.svThumb}\n style={{ left: `${hsv.s * 100}%`, top: `${(1 - hsv.v) * 100}%`, background: solidHex }}\n />\n </div>\n\n <div\n className={styles.hue}\n onPointerDown={onHueDown}\n onKeyDown={onHueKey}\n role=\"slider\"\n tabIndex={0}\n aria-label={t('colorPicker.hue')}\n aria-valuemin={0}\n aria-valuemax={360}\n aria-valuenow={Math.round(hsv.h)}\n >\n <span className={styles.hueThumb} style={{ left: `${(hsv.h / 360) * 100}%` }} />\n </div>\n\n {alphaEnabled && (\n <div\n className={styles.alpha}\n onPointerDown={onAlphaDown}\n onKeyDown={onAlphaKey}\n role=\"slider\"\n tabIndex={0}\n aria-label={t('colorPicker.opacity')}\n aria-valuemin={0}\n aria-valuemax={100}\n aria-valuenow={Math.round(alpha * 100)}\n style={{ '--cp-rgb': cpRgb } as CSSProperties}\n >\n <span className={styles.alphaThumb} style={{ left: `${alpha * 100}%` }} />\n </div>\n )}\n\n <div className={styles.hexRow}>\n <span\n className={styles.currentSwatch}\n style={{ '--cp-fill': workingColor } as CSSProperties}\n />\n <span className={styles.hexField}>\n <input\n className={styles.hexInput}\n value={colorDraft}\n spellCheck={false}\n maxLength={28}\n aria-label={t('colorPicker.value')}\n onChange={(e) => onColorInput(e.target.value)}\n />\n </span>\n </div>\n\n <div className={styles.swatches}>\n {/* \"no color\" — clears the value (the diagonal-stripe swatch); hidden when not clearable */}\n {clearable && (\n <button\n type=\"button\"\n className={clsx(styles.swatch, styles.swatchClear)}\n aria-label={t('colorPicker.noColor')}\n aria-pressed={!parsed}\n onClick={handleClear}\n >\n {!parsed && <Icon name=\"TickCircle\" size=\"sm\" />}\n </button>\n )}\n {swatches.map((sw) => {\n const p = parseColor(sw)\n if (!p) return null\n const swHex = formatColor({ r: p.r, g: p.g, b: p.b, a: 1 })\n const selected = displayValue === swHex\n return (\n <button\n key={sw}\n type=\"button\"\n className={styles.swatch}\n style={{ background: swHex, color: contrastOn(swHex) }}\n aria-label={swHex}\n aria-pressed={selected}\n onClick={() => {\n setHsv(rgbToHsv(p))\n onChange(formatColor({ r: p.r, g: p.g, b: p.b, a: emitAlpha(alphaRef.current) }))\n }}\n >\n {selected && <Icon name=\"TickCircle\" size=\"sm\" />}\n </button>\n )\n })}\n </div>\n </div>\n )\n}\n"],"names":["clamp255","n","rgbToHsv","r","g","b","rn","gn","bn","max","min","d","h","s","hsvToRgb","v","c","x","m","hexToHsv","hex","hexToRgb","contrastOn","RGB_FUNC","parseColor","input","clamp01","a","formatColor","rgbToHex","DEFAULT_SWATCHES","FALLBACK_HSV","ColorPickerPanel","value","onChange","swatches","clearable","alphaEnabled","emitAlpha","t","useT","parsed","displayValue","hsv","setHsv","useState","hsvRef","useRef","alpha","setAlpha","alphaRef","useEffect","cur","applyHsv","next","applyAlpha","drag","onMove","event","el","move","clientX","clientY","onPointerMove","e","onPointerUp","onSvDown","y","rect","onHueDown","_y","onAlphaDown","SV_STEP","onSvKey","ns","nv","onHueKey","nh","onAlphaKey","na","colorDraft","setColorDraft","onColorInput","raw","p","handleClear","workingColor","solidHex","cpRgb","jsxs","styles","jsx","clsx","Icon","sw","swHex","selected"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ "use strict";const s=require("react/jsx-runtime"),v=require("react"),m=require("clsx"),L=require("./useClipboard-BjTIX-4g.cjs"),h=require("./palette-BycMHbED.cjs"),D=require("./Tooltip-Ao7az09p.cjs"),i=require("./Typography-B6ASPrzT.cjs"),T=require("./toastStore-B4Tk2Xk7.cjs"),n=require("./TextField.module-DsNCo8vN.cjs"),W=require("./ConfigProvider-BElY0HuV.cjs"),z="_band_1d0th_5",G="_sm_1d0th_15",H="_md_1d0th_18",J="_lg_1d0th_21",K="_num_1d0th_42",M="_step_1d0th_47",O="_bounds_1d0th_94",Q="_tip_1d0th_101",U="_tipTitle_1d0th_107",o={band:z,sm:G,md:H,lg:J,num:K,step:M,static:"_static_1d0th_61",bounds:O,tip:Q,tipTitle:U},$=(x,l)=>`${x} ${l.ratio.toFixed(2)}${l.small?` ${l.small}`:""}`,V=v.forwardRef(function({baseColor:l,name:a="color",options:f,size:N="md",copyable:_=!0,onCopy:c,showBounds:S=!0,label:d,helperText:p,error:b=!1,required:q=!1,className:k,...C},E){const t=W.useT(),y=v.useId(),j=`${y}-label`,g=`${y}-helper`,{copy:F}=L.useClipboard(),R=h.generatePalette(l,f),P=async e=>{const r=`${a}-${e.step}`;await F(e.hex)?(T.toast.success(t("colorRamp.copied",{step:r,hex:e.hex})),c==null||c(e)):T.toast.error(t("colorRamp.copyFailed",{step:r}))},A=e=>s.jsxs("span",{className:o.tip,children:[s.jsxs("span",{className:o.tipTitle,children:[a,"-",e.step,e.step===h.BASE_STEP?` · ${t("colorRamp.base")}`:""]}),s.jsx("span",{children:e.hex}),s.jsxs("span",{children:[$(t("colorRamp.black"),e.onDark)," ·"," ",$(t("colorRamp.white"),e.onWhite)]}),_&&s.jsx("span",{children:t("colorRamp.clickToCopy")})]});return s.jsxs("div",{ref:E,className:m.clsx(n.fieldStyles.field,b&&n.fieldStyles.error,k),...C,children:[d!=null&&s.jsxs("label",{id:j,className:n.fieldStyles.label,children:[s.jsx(i.Typography,{as:"span",variant:"bodySmall",color:"muted",children:d}),q&&s.jsx("span",{className:n.fieldStyles.required,"aria-hidden":"true",children:"*"})]}),R?s.jsxs(s.Fragment,{children:[s.jsx("div",{role:"group","aria-label":t("colorRamp.groupLabel",{name:a}),"aria-labelledby":d!=null?j:void 0,"aria-describedby":p!=null?g:void 0,className:m.clsx(o.band,o[N]),children:R.map(e=>{const r=e.step===h.BASE_STEP,u={backgroundColor:e.hex,color:e.textColor},B=`${a}-${e.step}`,I=_?s.jsx("button",{type:"button",className:o.step,style:u,"data-base":r||void 0,"aria-label":t("colorRamp.copyAria",{name:a,step:e.step,hex:e.hex}),onClick:()=>void P(e),children:s.jsx("span",{className:o.num,"aria-hidden":"true",children:e.step})}):s.jsx("span",{className:m.clsx(o.step,o.static),style:u,"data-base":r||void 0,role:"img","aria-label":`${B} ${e.hex}`,children:s.jsx("span",{className:o.num,"aria-hidden":"true",children:e.step})});return s.jsx(D.Tooltip,{content:A(e),children:I},e.step)})}),S&&s.jsxs("div",{className:o.bounds,children:[s.jsx(i.Typography,{as:"span",variant:"caption",color:"muted",children:t("colorRamp.lightest")}),s.jsx(i.Typography,{as:"span",variant:"caption",color:"muted",children:t("colorRamp.darkest")})]})]}):s.jsx(i.Typography,{as:"span",variant:"caption",color:"muted",children:t("colorRamp.invalid")}),p!=null&&s.jsx(i.Typography,{as:"span",id:g,variant:"bodySmall",color:b?"error":"muted",className:n.fieldStyles.helper,children:p})]})});exports.ColorRamp=V;
2
+ //# sourceMappingURL=ColorRamp-B9OWxCOK.cjs.map