@techzyapp/ui-library 1.0.25 → 1.0.27

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 (478) hide show
  1. package/dist/{AdminRoot-CgvtgUpW.js → AdminRoot-C4OyuOIr.js} +4 -4
  2. package/dist/{AdminRoot-CgvtgUpW.js.map → AdminRoot-C4OyuOIr.js.map} +1 -1
  3. package/dist/{AdminRoot-BkPPRkyQ.cjs → AdminRoot-bHywlbML.cjs} +2 -2
  4. package/dist/{AdminRoot-BkPPRkyQ.cjs.map → AdminRoot-bHywlbML.cjs.map} +1 -1
  5. package/dist/{Alert-udX1ybuC.cjs → Alert-DeGgilkH.cjs} +2 -2
  6. package/dist/{Alert-udX1ybuC.cjs.map → Alert-DeGgilkH.cjs.map} +1 -1
  7. package/dist/{Alert-DXmzM_rh.js → Alert-rNjfqj2Z.js} +3 -3
  8. package/dist/{Alert-DXmzM_rh.js.map → Alert-rNjfqj2Z.js.map} +1 -1
  9. package/dist/{AuthLayout-BRUxDgzs.cjs → AuthLayout-ChILVWZ-.cjs} +2 -2
  10. package/dist/{AuthLayout-BRUxDgzs.cjs.map → AuthLayout-ChILVWZ-.cjs.map} +1 -1
  11. package/dist/{AuthLayout-CP9qu6Bv.js → AuthLayout-zAS3jlYc.js} +2 -2
  12. package/dist/{AuthLayout-CP9qu6Bv.js.map → AuthLayout-zAS3jlYc.js.map} +1 -1
  13. package/dist/{Avatar-Q50J8wdN.js → Avatar-BGPGxry2.js} +25 -25
  14. package/dist/{Avatar-Q50J8wdN.js.map → Avatar-BGPGxry2.js.map} +1 -1
  15. package/dist/Avatar-D_YivyqV.cjs +2 -0
  16. package/dist/{Avatar-Dgf04PBC.cjs.map → Avatar-D_YivyqV.cjs.map} +1 -1
  17. package/dist/{AvatarGroup-uW0SD5P4.cjs → AvatarGroup-Bnf_RSc9.cjs} +2 -2
  18. package/dist/{AvatarGroup-uW0SD5P4.cjs.map → AvatarGroup-Bnf_RSc9.cjs.map} +1 -1
  19. package/dist/{AvatarGroup-YaNasLMS.js → AvatarGroup-Difz4lLR.js} +2 -2
  20. package/dist/{AvatarGroup-YaNasLMS.js.map → AvatarGroup-Difz4lLR.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-DQHHeLId.js → Breadcrumbs-BJHKk0Sn.js} +3 -3
  26. package/dist/{Breadcrumbs-DQHHeLId.js.map → Breadcrumbs-BJHKk0Sn.js.map} +1 -1
  27. package/dist/{Breadcrumbs-CsYTiX2h.cjs → Breadcrumbs-CGcpMlxm.cjs} +2 -2
  28. package/dist/{Breadcrumbs-CsYTiX2h.cjs.map → Breadcrumbs-CGcpMlxm.cjs.map} +1 -1
  29. package/dist/Button-BZ_o-akc.cjs +2 -0
  30. package/dist/{Button-CXmDOzPk.cjs.map → Button-BZ_o-akc.cjs.map} +1 -1
  31. package/dist/Button-obe6rono.js +72 -0
  32. package/dist/{Button-DBs8xnA5.js.map → Button-obe6rono.js.map} +1 -1
  33. package/dist/{Calendar-CtteUt82.js → Calendar-SCih0NtS.js} +4 -4
  34. package/dist/{Calendar-CtteUt82.js.map → Calendar-SCih0NtS.js.map} +1 -1
  35. package/dist/{Calendar-B2nMXk4C.cjs → Calendar-lfpNwivC.cjs} +2 -2
  36. package/dist/{Calendar-B2nMXk4C.cjs.map → Calendar-lfpNwivC.cjs.map} +1 -1
  37. package/dist/{Card-DYKnWt-L.js → Card-BRJV2JZE.js} +2 -2
  38. package/dist/{Card-DYKnWt-L.js.map → Card-BRJV2JZE.js.map} +1 -1
  39. package/dist/{Card-DGF22HbS.cjs → Card-KvvNlchc.cjs} +2 -2
  40. package/dist/{Card-DGF22HbS.cjs.map → Card-KvvNlchc.cjs.map} +1 -1
  41. package/dist/{Chip-DdKhcstm.js → Chip-CQ4cYVl_.js} +31 -31
  42. package/dist/{Chip-DdKhcstm.js.map → Chip-CQ4cYVl_.js.map} +1 -1
  43. package/dist/Chip-CYz4vxHm.cjs +2 -0
  44. package/dist/{Chip-gUH_7nQc.cjs.map → Chip-CYz4vxHm.cjs.map} +1 -1
  45. package/dist/ChoiceCardGroup-D3HL7dHj.js +181 -0
  46. package/dist/{ChoiceCardGroup-DBohUnRj.js.map → ChoiceCardGroup-D3HL7dHj.js.map} +1 -1
  47. package/dist/ChoiceCardGroup-pIOKIUI0.cjs +2 -0
  48. package/dist/{ChoiceCardGroup-d0VVTUi5.cjs.map → ChoiceCardGroup-pIOKIUI0.cjs.map} +1 -1
  49. package/dist/{CodeBlock-DD_d3-sM.js → CodeBlock-DddGTLu1.js} +3 -3
  50. package/dist/{CodeBlock-DD_d3-sM.js.map → CodeBlock-DddGTLu1.js.map} +1 -1
  51. package/dist/{CodeBlock-C6tQtbHU.cjs → CodeBlock-H75dbOvg.cjs} +2 -2
  52. package/dist/{CodeBlock-C6tQtbHU.cjs.map → CodeBlock-H75dbOvg.cjs.map} +1 -1
  53. package/dist/ColorPicker-CKc8k-Dp.cjs +2 -0
  54. package/dist/ColorPicker-CKc8k-Dp.cjs.map +1 -0
  55. package/dist/{ColorPicker-Dw6Qk0iy.js → ColorPicker-Cw-2X6u9.js} +35 -26
  56. package/dist/ColorPicker-Cw-2X6u9.js.map +1 -0
  57. package/dist/ColorPickerPanel-DQ4CFnGa.cjs +2 -0
  58. package/dist/ColorPickerPanel-DQ4CFnGa.cjs.map +1 -0
  59. package/dist/ColorPickerPanel-PYaF5wPL.js +322 -0
  60. package/dist/ColorPickerPanel-PYaF5wPL.js.map +1 -0
  61. package/dist/ColorRamp-AkY9gq6Y.cjs +2 -0
  62. package/dist/ColorRamp-AkY9gq6Y.cjs.map +1 -0
  63. package/dist/ColorRamp-DnlJNKfy.js +126 -0
  64. package/dist/ColorRamp-DnlJNKfy.js.map +1 -0
  65. package/dist/{ConfigProvider-Bszl3Wr3.cjs → ConfigProvider-BicoaBLj.cjs} +2 -2
  66. package/dist/ConfigProvider-BicoaBLj.cjs.map +1 -0
  67. package/dist/{ConfigProvider-DR9YMy9U.js → ConfigProvider-DL9fylMo.js} +2 -2
  68. package/dist/ConfigProvider-DL9fylMo.js.map +1 -0
  69. package/dist/CopyButton-BqFGC-Ca.cjs +2 -0
  70. package/dist/{CopyButton-Ct-8AmmX.cjs.map → CopyButton-BqFGC-Ca.cjs.map} +1 -1
  71. package/dist/CopyButton-D6-kcVCA.js +43 -0
  72. package/dist/{CopyButton-DJ1PSJZU.js.map → CopyButton-D6-kcVCA.js.map} +1 -1
  73. package/dist/DashedButton-B7xodc3N.cjs +2 -0
  74. package/dist/{DashedButton-3C4IZuo4.cjs.map → DashedButton-B7xodc3N.cjs.map} +1 -1
  75. package/dist/DashedButton-iM7kzopW.js +59 -0
  76. package/dist/{DashedButton-BXZAyMtw.js.map → DashedButton-iM7kzopW.js.map} +1 -1
  77. package/dist/{DatePicker-BxEydgfu.cjs → DatePicker-BvGFP2AL.cjs} +2 -2
  78. package/dist/{DatePicker-BxEydgfu.cjs.map → DatePicker-BvGFP2AL.cjs.map} +1 -1
  79. package/dist/{DatePicker-CJioG5M7.js → DatePicker-DP7yASzq.js} +5 -5
  80. package/dist/{DatePicker-CJioG5M7.js.map → DatePicker-DP7yASzq.js.map} +1 -1
  81. package/dist/DatePicker.module-BDtTsg8M.cjs +2 -0
  82. package/dist/{DatePicker.module-tE-tGNBd.cjs.map → DatePicker.module-BDtTsg8M.cjs.map} +1 -1
  83. package/dist/DatePicker.module-CMMQyEhG.js +138 -0
  84. package/dist/{DatePicker.module-BZDftL4g.js.map → DatePicker.module-CMMQyEhG.js.map} +1 -1
  85. package/dist/{DateTimePicker-e2zj2bhS.js → DateTimePicker-CzRduOFz.js} +8 -8
  86. package/dist/{DateTimePicker-e2zj2bhS.js.map → DateTimePicker-CzRduOFz.js.map} +1 -1
  87. package/dist/{DateTimePicker-COEj2Z0F.cjs → DateTimePicker-DOzft9kg.cjs} +2 -2
  88. package/dist/{DateTimePicker-COEj2Z0F.cjs.map → DateTimePicker-DOzft9kg.cjs.map} +1 -1
  89. package/dist/EmptyState-A5nPGnHA.js +38 -0
  90. package/dist/{EmptyState-BTd7aVgu.js.map → EmptyState-A5nPGnHA.js.map} +1 -1
  91. package/dist/EmptyState-CTTOy9aY.cjs +2 -0
  92. package/dist/{EmptyState-Bv4XXnD1.cjs.map → EmptyState-CTTOy9aY.cjs.map} +1 -1
  93. package/dist/{FileCard-DY8N9Lzz.js → FileCard-BmPEEcue.js} +4 -4
  94. package/dist/{FileCard-DY8N9Lzz.js.map → FileCard-BmPEEcue.js.map} +1 -1
  95. package/dist/{FileCard-DW5Ur8Aj.cjs → FileCard-C4BkGMtK.cjs} +2 -2
  96. package/dist/{FileCard-DW5Ur8Aj.cjs.map → FileCard-C4BkGMtK.cjs.map} +1 -1
  97. package/dist/FileUploader-D_F64mob.cjs +2 -0
  98. package/dist/FileUploader-D_F64mob.cjs.map +1 -0
  99. package/dist/{FileUploader-BYF5FvUc.js → FileUploader-Dv_3bjZA.js} +217 -217
  100. package/dist/FileUploader-Dv_3bjZA.js.map +1 -0
  101. package/dist/{Flag-CB4YyPj3.cjs → Flag-BM_2VJ1v.cjs} +2 -2
  102. package/dist/{Flag-CB4YyPj3.cjs.map → Flag-BM_2VJ1v.cjs.map} +1 -1
  103. package/dist/{Flag-yA1y5XzR.js → Flag-CzCEpB8E.js} +2 -2
  104. package/dist/{Flag-yA1y5XzR.js.map → Flag-CzCEpB8E.js.map} +1 -1
  105. package/dist/{FullscreenToggle-0lskYnpx.cjs → FullscreenToggle-BL0nBrsL.cjs} +2 -2
  106. package/dist/{FullscreenToggle-0lskYnpx.cjs.map → FullscreenToggle-BL0nBrsL.cjs.map} +1 -1
  107. package/dist/{FullscreenToggle-jSLruiKt.js → FullscreenToggle-HZQOIa21.js} +3 -3
  108. package/dist/{FullscreenToggle-jSLruiKt.js.map → FullscreenToggle-HZQOIa21.js.map} +1 -1
  109. package/dist/IconButton-B87ipBK3.cjs +2 -0
  110. package/dist/{IconButton-BN-bZxEi.cjs.map → IconButton-B87ipBK3.cjs.map} +1 -1
  111. package/dist/IconButton-CBp8QuTO.js +68 -0
  112. package/dist/{IconButton-BEGWfcVc.js.map → IconButton-CBp8QuTO.js.map} +1 -1
  113. package/dist/Loader-0Imnbael.cjs +2 -0
  114. package/dist/{Loader-B5YqzEYy.cjs.map → Loader-0Imnbael.cjs.map} +1 -1
  115. package/dist/Loader-fffFnQqS.js +28 -0
  116. package/dist/{Loader-BZIa8hwv.js.map → Loader-fffFnQqS.js.map} +1 -1
  117. package/dist/MobileFrame-8FSsYA_w.js +91 -0
  118. package/dist/MobileFrame-8FSsYA_w.js.map +1 -0
  119. package/dist/MobileFrame-Dsfgd_4k.cjs +2 -0
  120. package/dist/MobileFrame-Dsfgd_4k.cjs.map +1 -0
  121. package/dist/{Modal-0V-REVV-.cjs → Modal--e2qGisF.cjs} +2 -2
  122. package/dist/{Modal-0V-REVV-.cjs.map → Modal--e2qGisF.cjs.map} +1 -1
  123. package/dist/{Modal-B7yoFC3o.js → Modal-DJljaPqV.js} +3 -3
  124. package/dist/{Modal-B7yoFC3o.js.map → Modal-DJljaPqV.js.map} +1 -1
  125. package/dist/{MultiSelect-gj9Ymeh2.cjs → MultiSelect-CvecZeMU.cjs} +2 -2
  126. package/dist/{MultiSelect-gj9Ymeh2.cjs.map → MultiSelect-CvecZeMU.cjs.map} +1 -1
  127. package/dist/{MultiSelect-C8xuXaoR.js → MultiSelect-DLoS04lZ.js} +4 -4
  128. package/dist/{MultiSelect-C8xuXaoR.js.map → MultiSelect-DLoS04lZ.js.map} +1 -1
  129. package/dist/{NumberField-CEt95jcC.cjs → NumberField-C_HZXBuw.cjs} +2 -2
  130. package/dist/{NumberField-CEt95jcC.cjs.map → NumberField-C_HZXBuw.cjs.map} +1 -1
  131. package/dist/{NumberField-2yM0mmyj.js → NumberField-DYGVQdL5.js} +4 -4
  132. package/dist/{NumberField-2yM0mmyj.js.map → NumberField-DYGVQdL5.js.map} +1 -1
  133. package/dist/{OtpField-CkliY82J.js → OtpField-CpQr_ZqL.js} +3 -3
  134. package/dist/{OtpField-CkliY82J.js.map → OtpField-CpQr_ZqL.js.map} +1 -1
  135. package/dist/{OtpField-on-K0_fM.cjs → OtpField-DKbUP0F6.cjs} +2 -2
  136. package/dist/{OtpField-on-K0_fM.cjs.map → OtpField-DKbUP0F6.cjs.map} +1 -1
  137. package/dist/{PageLayout-DzPh_G6H.js → PageLayout-CCcPCfJF.js} +2 -2
  138. package/dist/{PageLayout-DzPh_G6H.js.map → PageLayout-CCcPCfJF.js.map} +1 -1
  139. package/dist/{PageLayout-DGHu7Vm3.cjs → PageLayout-CuWXukUv.cjs} +2 -2
  140. package/dist/{PageLayout-DGHu7Vm3.cjs.map → PageLayout-CuWXukUv.cjs.map} +1 -1
  141. package/dist/PageNotFound-JKOnpyHD.cjs +2 -0
  142. package/dist/{PageNotFound-B8_eIT8p.cjs.map → PageNotFound-JKOnpyHD.cjs.map} +1 -1
  143. package/dist/{PageNotFound-CCFfPHgA.js → PageNotFound-LWH2tU5E.js} +9 -9
  144. package/dist/{PageNotFound-CCFfPHgA.js.map → PageNotFound-LWH2tU5E.js.map} +1 -1
  145. package/dist/Pagination-BwtbmITJ.js +139 -0
  146. package/dist/{Pagination-CmskZjcz.js.map → Pagination-BwtbmITJ.js.map} +1 -1
  147. package/dist/Pagination-M7njqOUt.cjs +2 -0
  148. package/dist/{Pagination-BdVebW2L.cjs.map → Pagination-M7njqOUt.cjs.map} +1 -1
  149. package/dist/PaletteField-CUyzLrny.js +54 -0
  150. package/dist/PaletteField-CUyzLrny.js.map +1 -0
  151. package/dist/PaletteField-iBIvOvNi.cjs +2 -0
  152. package/dist/PaletteField-iBIvOvNi.cjs.map +1 -0
  153. package/dist/RadioGroup-Byy-eSY3.cjs +2 -0
  154. package/dist/{RadioGroup-C8u7eNBS.cjs.map → RadioGroup-Byy-eSY3.cjs.map} +1 -1
  155. package/dist/RadioGroup-D_1_Heta.js +141 -0
  156. package/dist/{RadioGroup-DbodUJW8.js.map → RadioGroup-D_1_Heta.js.map} +1 -1
  157. package/dist/RemoveDialog-DUrD2Em8.js +47 -0
  158. package/dist/{RemoveDialog-CV75B0aN.js.map → RemoveDialog-DUrD2Em8.js.map} +1 -1
  159. package/dist/RemoveDialog-FZWYAxRy.cjs +2 -0
  160. package/dist/{RemoveDialog-DmOk0ezc.cjs.map → RemoveDialog-FZWYAxRy.cjs.map} +1 -1
  161. package/dist/{RichTextEditor-Bm8FFbcR.js → RichTextEditor-CG6LoNiw.js} +9 -9
  162. package/dist/RichTextEditor-CG6LoNiw.js.map +1 -0
  163. package/dist/{RichTextEditor-uXddgtlk.cjs → RichTextEditor-mpMCG8jX.cjs} +2 -2
  164. package/dist/RichTextEditor-mpMCG8jX.cjs.map +1 -0
  165. package/dist/RootLayout-CPxDqfGb.cjs +2 -0
  166. package/dist/{RootLayout-kssj9exn.cjs.map → RootLayout-CPxDqfGb.cjs.map} +1 -1
  167. package/dist/RootLayout-D3K-pAMO.js +515 -0
  168. package/dist/{RootLayout-Cf7Rr9Iz.js.map → RootLayout-D3K-pAMO.js.map} +1 -1
  169. package/dist/{Select-CdX3Ks7y.js → Select-BB9oOoWZ.js} +3 -3
  170. package/dist/{Select-CdX3Ks7y.js.map → Select-BB9oOoWZ.js.map} +1 -1
  171. package/dist/{Select-7vEGJCvA.cjs → Select-iP2p5jad.cjs} +2 -2
  172. package/dist/{Select-7vEGJCvA.cjs.map → Select-iP2p5jad.cjs.map} +1 -1
  173. package/dist/{Sidebar-DcKIEfhy.cjs → Sidebar-Boi7UgHV.cjs} +2 -2
  174. package/dist/{Sidebar-DcKIEfhy.cjs.map → Sidebar-Boi7UgHV.cjs.map} +1 -1
  175. package/dist/{Sidebar-YH-DoNG9.js → Sidebar-CsPnv4mu.js} +60 -60
  176. package/dist/{Sidebar-YH-DoNG9.js.map → Sidebar-CsPnv4mu.js.map} +1 -1
  177. package/dist/Slider-D3dbEOQY.cjs +2 -0
  178. package/dist/{Slider-dxYVXRev.cjs.map → Slider-D3dbEOQY.cjs.map} +1 -1
  179. package/dist/Slider-D7SvowmM.js +184 -0
  180. package/dist/{Slider-oGXd5e9X.js.map → Slider-D7SvowmM.js.map} +1 -1
  181. package/dist/{SpeedDial-DWNuC6f8.js → SpeedDial-B8XMUATN.js} +2 -2
  182. package/dist/{SpeedDial-DWNuC6f8.js.map → SpeedDial-B8XMUATN.js.map} +1 -1
  183. package/dist/{SpeedDial-9_Yk8AGx.cjs → SpeedDial-CZ22T8GL.cjs} +2 -2
  184. package/dist/{SpeedDial-9_Yk8AGx.cjs.map → SpeedDial-CZ22T8GL.cjs.map} +1 -1
  185. package/dist/{Stepper-CuqFpamY.js → Stepper-B_e_PGZE.js} +70 -70
  186. package/dist/{Stepper-CuqFpamY.js.map → Stepper-B_e_PGZE.js.map} +1 -1
  187. package/dist/Stepper-BjkkWawQ.cjs +2 -0
  188. package/dist/{Stepper-B1z_u650.cjs.map → Stepper-BjkkWawQ.cjs.map} +1 -1
  189. package/dist/{SwatchPicker-CCJltwHI.cjs → SwatchPicker-C8amdDnA.cjs} +2 -2
  190. package/dist/{SwatchPicker-CCJltwHI.cjs.map → SwatchPicker-C8amdDnA.cjs.map} +1 -1
  191. package/dist/{SwatchPicker-CqyWngFJ.js → SwatchPicker-DXEE9xqY.js} +2 -2
  192. package/dist/{SwatchPicker-CqyWngFJ.js.map → SwatchPicker-DXEE9xqY.js.map} +1 -1
  193. package/dist/Switch-CodRZD3y.cjs +2 -0
  194. package/dist/{Switch-DRkZ6kHJ.cjs.map → Switch-CodRZD3y.cjs.map} +1 -1
  195. package/dist/Switch-ESrhkpJC.js +85 -0
  196. package/dist/{Switch-DMPJ0fhB.js.map → Switch-ESrhkpJC.js.map} +1 -1
  197. package/dist/Table-Cr1zUtNQ.cjs +2 -0
  198. package/dist/Table-Cr1zUtNQ.cjs.map +1 -0
  199. package/dist/{Table-Drdhfm99.js → Table-DdoUcZoN.js} +60 -51
  200. package/dist/Table-DdoUcZoN.js.map +1 -0
  201. package/dist/Tabs-CZDX7BN-.cjs +2 -0
  202. package/dist/{Tabs-BiKDy_fv.cjs.map → Tabs-CZDX7BN-.cjs.map} +1 -1
  203. package/dist/Tabs-v1GEGUDQ.js +190 -0
  204. package/dist/{Tabs-ytbBzAxG.js.map → Tabs-v1GEGUDQ.js.map} +1 -1
  205. package/dist/{TagsField-CEt_PC5y.js → TagsField-B389eDp4.js} +4 -4
  206. package/dist/{TagsField-CEt_PC5y.js.map → TagsField-B389eDp4.js.map} +1 -1
  207. package/dist/{TagsField-DpDbf0ru.cjs → TagsField-OfrpyHZO.cjs} +2 -2
  208. package/dist/{TagsField-DpDbf0ru.cjs.map → TagsField-OfrpyHZO.cjs.map} +1 -1
  209. package/dist/{TextField-BWdmF-HE.js → TextField-7MobCad5.js} +4 -4
  210. package/dist/{TextField-BWdmF-HE.js.map → TextField-7MobCad5.js.map} +1 -1
  211. package/dist/{TextField-Df_kGy2l.cjs → TextField-B785pRgK.cjs} +2 -2
  212. package/dist/{TextField-Df_kGy2l.cjs.map → TextField-B785pRgK.cjs.map} +1 -1
  213. package/dist/TextField.module-6gYcR9TL.js +27 -0
  214. package/dist/TextField.module-6gYcR9TL.js.map +1 -0
  215. package/dist/TextField.module-DsNCo8vN.cjs +2 -0
  216. package/dist/TextField.module-DsNCo8vN.cjs.map +1 -0
  217. package/dist/{ThemeToggle-CgxF6oUu.js → ThemeToggle-BGdvqXad.js} +3 -3
  218. package/dist/{ThemeToggle-CgxF6oUu.js.map → ThemeToggle-BGdvqXad.js.map} +1 -1
  219. package/dist/{ThemeToggle-BJdXhmfc.cjs → ThemeToggle-BkmZ7s_u.cjs} +2 -2
  220. package/dist/{ThemeToggle-BJdXhmfc.cjs.map → ThemeToggle-BkmZ7s_u.cjs.map} +1 -1
  221. package/dist/{TimeColumns-DxVN0V8l.cjs → TimeColumns-B-xm1DGM.cjs} +2 -2
  222. package/dist/{TimeColumns-DxVN0V8l.cjs.map → TimeColumns-B-xm1DGM.cjs.map} +1 -1
  223. package/dist/{TimeColumns-n-fz50mr.js → TimeColumns-BRlDKx_i.js} +3 -3
  224. package/dist/{TimeColumns-n-fz50mr.js.map → TimeColumns-BRlDKx_i.js.map} +1 -1
  225. package/dist/{TimePicker-Bopxx3zU.js → TimePicker-B_3Ubip0.js} +6 -6
  226. package/dist/{TimePicker-Bopxx3zU.js.map → TimePicker-B_3Ubip0.js.map} +1 -1
  227. package/dist/{TimePicker-DvoemiGz.cjs → TimePicker-DvEIdE4v.cjs} +2 -2
  228. package/dist/{TimePicker-DvoemiGz.cjs.map → TimePicker-DvEIdE4v.cjs.map} +1 -1
  229. package/dist/Timeline-CKEosWka.cjs +2 -0
  230. package/dist/{Timeline-ONU_3gi3.cjs.map → Timeline-CKEosWka.cjs.map} +1 -1
  231. package/dist/Timeline-ufVXmpMY.js +71 -0
  232. package/dist/{Timeline-D3kzt1dy.js.map → Timeline-ufVXmpMY.js.map} +1 -1
  233. package/dist/{Toaster-DZSzFse_.cjs → Toaster-BIFRuqbC.cjs} +2 -2
  234. package/dist/{Toaster-DZSzFse_.cjs.map → Toaster-BIFRuqbC.cjs.map} +1 -1
  235. package/dist/{Toaster-BxIY2H4V.js → Toaster-DuzcRbio.js} +2 -2
  236. package/dist/{Toaster-BxIY2H4V.js.map → Toaster-DuzcRbio.js.map} +1 -1
  237. package/dist/{TranslatedFields-BtDLkQy7.cjs → TranslatedFields-D_a0NVKI.cjs} +2 -2
  238. package/dist/{TranslatedFields-BtDLkQy7.cjs.map → TranslatedFields-D_a0NVKI.cjs.map} +1 -1
  239. package/dist/{TranslatedFields-DmR8LKSG.js → TranslatedFields-HmP0Mg5t.js} +5 -5
  240. package/dist/{TranslatedFields-DmR8LKSG.js.map → TranslatedFields-HmP0Mg5t.js.map} +1 -1
  241. package/dist/{UserCard-J8Bpbh3x.js → UserCard-B1phOVKj.js} +4 -4
  242. package/dist/{UserCard-J8Bpbh3x.js.map → UserCard-B1phOVKj.js.map} +1 -1
  243. package/dist/{UserCard-C1yFvVIc.cjs → UserCard-BvOcDm5W.cjs} +2 -2
  244. package/dist/{UserCard-C1yFvVIc.cjs.map → UserCard-BvOcDm5W.cjs.map} +1 -1
  245. package/dist/color-CgR8ybWZ.cjs +2 -0
  246. package/dist/color-CgR8ybWZ.cjs.map +1 -0
  247. package/dist/color-EQJ2DrcQ.js +24 -0
  248. package/dist/color-EQJ2DrcQ.js.map +1 -0
  249. package/dist/components/Alert/index.cjs +1 -1
  250. package/dist/components/Alert/index.js +1 -1
  251. package/dist/components/AuthLayout/index.cjs +1 -1
  252. package/dist/components/AuthLayout/index.js +1 -1
  253. package/dist/components/Avatar/index.cjs +1 -1
  254. package/dist/components/Avatar/index.js +2 -2
  255. package/dist/components/Badge/index.cjs +1 -1
  256. package/dist/components/Badge/index.js +1 -1
  257. package/dist/components/Breadcrumbs/index.cjs +1 -1
  258. package/dist/components/Breadcrumbs/index.js +1 -1
  259. package/dist/components/Button/index.cjs +1 -1
  260. package/dist/components/Button/index.js +1 -1
  261. package/dist/components/Card/index.cjs +1 -1
  262. package/dist/components/Card/index.js +1 -1
  263. package/dist/components/Chip/index.cjs +1 -1
  264. package/dist/components/Chip/index.js +1 -1
  265. package/dist/components/ChoiceCard/index.cjs +1 -1
  266. package/dist/components/ChoiceCard/index.js +1 -1
  267. package/dist/components/CodeBlock/index.cjs +1 -1
  268. package/dist/components/CodeBlock/index.js +1 -1
  269. package/dist/components/ColorPicker/ColorPicker.d.cts +5 -0
  270. package/dist/components/ColorPicker/ColorPicker.d.ts +5 -0
  271. package/dist/components/ColorPicker/ColorPickerPanel.d.cts +6 -1
  272. package/dist/components/ColorPicker/ColorPickerPanel.d.ts +6 -1
  273. package/dist/components/ColorPicker/colorUtils.d.cts +3 -12
  274. package/dist/components/ColorPicker/colorUtils.d.ts +3 -12
  275. package/dist/components/ColorPicker/index.cjs +1 -1
  276. package/dist/components/ColorPicker/index.js +1 -1
  277. package/dist/components/ColorRamp/ColorRamp.d.cts +36 -0
  278. package/dist/components/ColorRamp/ColorRamp.d.ts +36 -0
  279. package/dist/components/ColorRamp/index.cjs +2 -0
  280. package/dist/components/ColorRamp/index.cjs.map +1 -0
  281. package/dist/components/ColorRamp/index.d.cts +3 -0
  282. package/dist/components/ColorRamp/index.d.ts +3 -0
  283. package/dist/components/ColorRamp/index.js +6 -0
  284. package/dist/components/ColorRamp/index.js.map +1 -0
  285. package/dist/components/CopyButton/index.cjs +1 -1
  286. package/dist/components/CopyButton/index.js +1 -1
  287. package/dist/components/DashedButton/index.cjs +1 -1
  288. package/dist/components/DashedButton/index.js +1 -1
  289. package/dist/components/DatePicker/index.cjs +1 -1
  290. package/dist/components/DatePicker/index.js +1 -1
  291. package/dist/components/DateTimePicker/index.cjs +1 -1
  292. package/dist/components/DateTimePicker/index.js +1 -1
  293. package/dist/components/EmptyState/index.cjs +1 -1
  294. package/dist/components/EmptyState/index.js +1 -1
  295. package/dist/components/FileCard/index.cjs +1 -1
  296. package/dist/components/FileCard/index.js +1 -1
  297. package/dist/components/FileUploader/index.cjs +1 -1
  298. package/dist/components/FileUploader/index.js +1 -1
  299. package/dist/components/Flag/index.cjs +1 -1
  300. package/dist/components/Flag/index.js +1 -1
  301. package/dist/components/FullscreenToggle/index.cjs +1 -1
  302. package/dist/components/FullscreenToggle/index.js +1 -1
  303. package/dist/components/IconButton/index.cjs +1 -1
  304. package/dist/components/IconButton/index.js +1 -1
  305. package/dist/components/Loader/index.cjs +1 -1
  306. package/dist/components/Loader/index.js +1 -1
  307. package/dist/components/MobileFrame/MobileFrame.d.cts +45 -0
  308. package/dist/components/MobileFrame/MobileFrame.d.ts +45 -0
  309. package/dist/components/MobileFrame/frames.d.cts +27 -0
  310. package/dist/components/MobileFrame/frames.d.ts +27 -0
  311. package/dist/components/MobileFrame/index.cjs +2 -0
  312. package/dist/components/MobileFrame/index.cjs.map +1 -0
  313. package/dist/components/MobileFrame/index.d.cts +4 -0
  314. package/dist/components/MobileFrame/index.d.ts +4 -0
  315. package/dist/components/MobileFrame/index.js +8 -0
  316. package/dist/components/MobileFrame/index.js.map +1 -0
  317. package/dist/components/Modal/index.cjs +1 -1
  318. package/dist/components/Modal/index.js +1 -1
  319. package/dist/components/MultiSelect/index.cjs +1 -1
  320. package/dist/components/MultiSelect/index.js +1 -1
  321. package/dist/components/NumberField/index.cjs +1 -1
  322. package/dist/components/NumberField/index.js +1 -1
  323. package/dist/components/OtpField/index.cjs +1 -1
  324. package/dist/components/OtpField/index.js +1 -1
  325. package/dist/components/PageLayout/index.cjs +1 -1
  326. package/dist/components/PageLayout/index.js +1 -1
  327. package/dist/components/PageNotFound/index.cjs +1 -1
  328. package/dist/components/PageNotFound/index.js +1 -1
  329. package/dist/components/Pagination/index.cjs +1 -1
  330. package/dist/components/Pagination/index.js +1 -1
  331. package/dist/components/PaletteField/PaletteField.d.cts +30 -0
  332. package/dist/components/PaletteField/PaletteField.d.ts +30 -0
  333. package/dist/components/PaletteField/index.cjs +2 -0
  334. package/dist/components/PaletteField/index.cjs.map +1 -0
  335. package/dist/components/PaletteField/index.d.cts +2 -0
  336. package/dist/components/PaletteField/index.d.ts +2 -0
  337. package/dist/components/PaletteField/index.js +6 -0
  338. package/dist/components/PaletteField/index.js.map +1 -0
  339. package/dist/components/Radio/index.cjs +1 -1
  340. package/dist/components/Radio/index.js +1 -1
  341. package/dist/components/RemoveDialog/index.cjs +1 -1
  342. package/dist/components/RemoveDialog/index.js +1 -1
  343. package/dist/components/RichTextEditor/index.cjs +1 -1
  344. package/dist/components/RichTextEditor/index.js +1 -1
  345. package/dist/components/RootLayout/index.cjs +1 -1
  346. package/dist/components/RootLayout/index.js +1 -1
  347. package/dist/components/Select/index.cjs +1 -1
  348. package/dist/components/Select/index.js +1 -1
  349. package/dist/components/Sidebar/index.cjs +1 -1
  350. package/dist/components/Sidebar/index.js +1 -1
  351. package/dist/components/Slider/index.cjs +1 -1
  352. package/dist/components/Slider/index.js +1 -1
  353. package/dist/components/SpeedDial/index.cjs +1 -1
  354. package/dist/components/SpeedDial/index.js +1 -1
  355. package/dist/components/Stepper/index.cjs +1 -1
  356. package/dist/components/Stepper/index.js +1 -1
  357. package/dist/components/SwatchPicker/index.cjs +1 -1
  358. package/dist/components/SwatchPicker/index.js +1 -1
  359. package/dist/components/Switch/index.cjs +1 -1
  360. package/dist/components/Switch/index.js +1 -1
  361. package/dist/components/Table/index.cjs +1 -1
  362. package/dist/components/Table/index.js +1 -1
  363. package/dist/components/Tabs/index.cjs +1 -1
  364. package/dist/components/Tabs/index.js +1 -1
  365. package/dist/components/TagsField/index.cjs +1 -1
  366. package/dist/components/TagsField/index.js +1 -1
  367. package/dist/components/TextField/index.cjs +1 -1
  368. package/dist/components/TextField/index.js +1 -1
  369. package/dist/components/ThemeToggle/index.cjs +1 -1
  370. package/dist/components/ThemeToggle/index.js +1 -1
  371. package/dist/components/TimePicker/index.cjs +1 -1
  372. package/dist/components/TimePicker/index.js +1 -1
  373. package/dist/components/Timeline/index.cjs +1 -1
  374. package/dist/components/Timeline/index.js +1 -1
  375. package/dist/components/Toast/index.cjs +1 -1
  376. package/dist/components/Toast/index.js +1 -1
  377. package/dist/components/TranslatedFields/index.cjs +1 -1
  378. package/dist/components/TranslatedFields/index.js +1 -1
  379. package/dist/components/UserCard/index.cjs +1 -1
  380. package/dist/components/UserCard/index.js +1 -1
  381. package/dist/components/index.d.cts +3 -0
  382. package/dist/components/index.d.ts +3 -0
  383. package/dist/entries/app.cjs +1 -1
  384. package/dist/entries/app.js +1 -1
  385. package/dist/entries/components.cjs +1 -1
  386. package/dist/entries/components.js +149 -141
  387. package/dist/entries/components.js.map +1 -1
  388. package/dist/entries/helpers.cjs +1 -1
  389. package/dist/entries/helpers.d.cts +2 -0
  390. package/dist/entries/helpers.d.ts +2 -0
  391. package/dist/entries/helpers.js +18 -8
  392. package/dist/entries/helpers.js.map +1 -1
  393. package/dist/entries/i18n.cjs +1 -1
  394. package/dist/entries/i18n.js +2 -2
  395. package/dist/entries/theme.cjs +1 -1
  396. package/dist/entries/theme.js +1 -1
  397. package/dist/helpers/color.d.cts +17 -0
  398. package/dist/helpers/color.d.ts +17 -0
  399. package/dist/helpers/palette.d.cts +68 -0
  400. package/dist/helpers/palette.d.ts +68 -0
  401. package/dist/i18n/messages.d.cts +11 -0
  402. package/dist/i18n/messages.d.ts +11 -0
  403. package/dist/index.cjs +1 -1
  404. package/dist/index.css +16 -12
  405. package/dist/index.js +211 -193
  406. package/dist/index.js.map +1 -1
  407. package/dist/{messages-ogohLC5P.js → messages-B06Kl5rI.js} +100 -23
  408. package/dist/messages-B06Kl5rI.js.map +1 -0
  409. package/dist/{messages-DKT0SRM0.cjs → messages-CJqxqL3t.cjs} +9 -9
  410. package/dist/messages-CJqxqL3t.cjs.map +1 -0
  411. package/dist/palette-B031dM4E.js +70 -0
  412. package/dist/palette-B031dM4E.js.map +1 -0
  413. package/dist/palette-BycMHbED.cjs +2 -0
  414. package/dist/palette-BycMHbED.cjs.map +1 -0
  415. package/dist/theme/ConfigProvider.d.cts +8 -8
  416. package/dist/theme/ConfigProvider.d.ts +8 -8
  417. package/package.json +1 -1
  418. package/dist/Avatar-Dgf04PBC.cjs +0 -2
  419. package/dist/Badge-BQpr2Jee.cjs +0 -2
  420. package/dist/Badge-DSWigoGC.js +0 -50
  421. package/dist/Button-CXmDOzPk.cjs +0 -2
  422. package/dist/Button-DBs8xnA5.js +0 -72
  423. package/dist/Chip-gUH_7nQc.cjs +0 -2
  424. package/dist/ChoiceCardGroup-DBohUnRj.js +0 -181
  425. package/dist/ChoiceCardGroup-d0VVTUi5.cjs +0 -2
  426. package/dist/ColorPicker-DtzFwNWk.cjs +0 -2
  427. package/dist/ColorPicker-DtzFwNWk.cjs.map +0 -1
  428. package/dist/ColorPicker-Dw6Qk0iy.js.map +0 -1
  429. package/dist/ColorPickerPanel--wBX-m7J.cjs +0 -2
  430. package/dist/ColorPickerPanel--wBX-m7J.cjs.map +0 -1
  431. package/dist/ColorPickerPanel-Dp7bnnVf.js +0 -336
  432. package/dist/ColorPickerPanel-Dp7bnnVf.js.map +0 -1
  433. package/dist/ConfigProvider-Bszl3Wr3.cjs.map +0 -1
  434. package/dist/ConfigProvider-DR9YMy9U.js.map +0 -1
  435. package/dist/CopyButton-Ct-8AmmX.cjs +0 -2
  436. package/dist/CopyButton-DJ1PSJZU.js +0 -31
  437. package/dist/DashedButton-3C4IZuo4.cjs +0 -2
  438. package/dist/DashedButton-BXZAyMtw.js +0 -59
  439. package/dist/DatePicker.module-BZDftL4g.js +0 -138
  440. package/dist/DatePicker.module-tE-tGNBd.cjs +0 -2
  441. package/dist/EmptyState-BTd7aVgu.js +0 -38
  442. package/dist/EmptyState-Bv4XXnD1.cjs +0 -2
  443. package/dist/FileUploader-B7VfhcR7.cjs +0 -2
  444. package/dist/FileUploader-B7VfhcR7.cjs.map +0 -1
  445. package/dist/FileUploader-BYF5FvUc.js.map +0 -1
  446. package/dist/IconButton-BEGWfcVc.js +0 -68
  447. package/dist/IconButton-BN-bZxEi.cjs +0 -2
  448. package/dist/Loader-B5YqzEYy.cjs +0 -2
  449. package/dist/Loader-BZIa8hwv.js +0 -29
  450. package/dist/PageNotFound-B8_eIT8p.cjs +0 -2
  451. package/dist/Pagination-BdVebW2L.cjs +0 -2
  452. package/dist/Pagination-CmskZjcz.js +0 -139
  453. package/dist/RadioGroup-C8u7eNBS.cjs +0 -2
  454. package/dist/RadioGroup-DbodUJW8.js +0 -141
  455. package/dist/RemoveDialog-CV75B0aN.js +0 -47
  456. package/dist/RemoveDialog-DmOk0ezc.cjs +0 -2
  457. package/dist/RichTextEditor-Bm8FFbcR.js.map +0 -1
  458. package/dist/RichTextEditor-uXddgtlk.cjs.map +0 -1
  459. package/dist/RootLayout-Cf7Rr9Iz.js +0 -515
  460. package/dist/RootLayout-kssj9exn.cjs +0 -2
  461. package/dist/Slider-dxYVXRev.cjs +0 -2
  462. package/dist/Slider-oGXd5e9X.js +0 -184
  463. package/dist/Stepper-B1z_u650.cjs +0 -2
  464. package/dist/Switch-DMPJ0fhB.js +0 -85
  465. package/dist/Switch-DRkZ6kHJ.cjs +0 -2
  466. package/dist/Table-BPit83Pn.cjs +0 -2
  467. package/dist/Table-BPit83Pn.cjs.map +0 -1
  468. package/dist/Table-Drdhfm99.js.map +0 -1
  469. package/dist/Tabs-BiKDy_fv.cjs +0 -2
  470. package/dist/Tabs-ytbBzAxG.js +0 -190
  471. package/dist/TextField.module-QePvGeJ3.js +0 -27
  472. package/dist/TextField.module-QePvGeJ3.js.map +0 -1
  473. package/dist/TextField.module-m-UllwzG.cjs +0 -2
  474. package/dist/TextField.module-m-UllwzG.cjs.map +0 -1
  475. package/dist/Timeline-D3kzt1dy.js +0 -71
  476. package/dist/Timeline-ONU_3gi3.cjs +0 -2
  477. package/dist/messages-DKT0SRM0.cjs.map +0 -1
  478. package/dist/messages-ogohLC5P.js.map +0 -1
@@ -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-DL9fylMo.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-PYaF5wPL.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ColorPickerPanel-PYaF5wPL.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":";;;;;;AAsBA,MAAMA,IAAW,CAACC,MAAsB,KAAK,IAAI,KAAK,KAAK,IAAI,GAAG,KAAK,MAAMA,CAAC,CAAC,CAAC;AAGzE,SAASC,EAAS,EAAE,GAAAC,GAAG,GAAAC,GAAG,GAAAC,KAAe;AAC9C,QAAMC,IAAKH,IAAI,KACTI,IAAKH,IAAI,KACTI,IAAKH,IAAI,KACTI,IAAM,KAAK,IAAIH,GAAIC,GAAIC,CAAE,GACzBE,IAAM,KAAK,IAAIJ,GAAIC,GAAIC,CAAE,GACzBG,IAAIF,IAAMC;AAEhB,MAAIE,IAAI;AACR,EAAID,MAAM,MACJF,MAAQH,IAAIM,KAAML,IAAKC,KAAMG,IAAK,IAC7BF,MAAQF,IAAIK,KAAKJ,IAAKF,KAAMK,IAAI,IACpCC,KAAKN,IAAKC,KAAMI,IAAI,GACzBC,KAAK,IACDA,IAAI,MAAGA,KAAK;AAElB,QAAMC,IAAIJ,MAAQ,IAAI,IAAIE,IAAIF;AAC9B,SAAO,EAAE,GAAAG,GAAG,GAAAC,GAAG,GAAGJ,EAAA;AACpB;AAGO,SAASK,EAAS,EAAE,GAAAF,GAAG,GAAAC,GAAG,GAAAE,KAAe;AAC9C,QAAMC,IAAID,IAAIF,GACRI,IAAID,KAAK,IAAI,KAAK,IAAMJ,IAAI,KAAM,IAAK,CAAC,IACxCM,IAAIH,IAAIC;AACd,MAAIb,IAAI,GACJC,IAAI,GACJC,IAAI;AACR,SAAIO,IAAI,KAAI,CAACT,GAAGC,GAAGC,CAAC,IAAI,CAACW,GAAGC,GAAG,CAAC,IACvBL,IAAI,MAAK,CAACT,GAAGC,GAAGC,CAAC,IAAI,CAACY,GAAGD,GAAG,CAAC,IAC7BJ,IAAI,MAAK,CAACT,GAAGC,GAAGC,CAAC,IAAI,CAAC,GAAGW,GAAGC,CAAC,IAC7BL,IAAI,MAAK,CAACT,GAAGC,GAAGC,CAAC,IAAI,CAAC,GAAGY,GAAGD,CAAC,IAC7BJ,IAAI,MAAK,CAACT,GAAGC,GAAGC,CAAC,IAAI,CAACY,GAAG,GAAGD,CAAC,IACjC,CAACb,GAAGC,GAAGC,CAAC,IAAI,CAACW,GAAG,GAAGC,CAAC,GAClB,EAAE,IAAId,IAAIe,KAAK,KAAK,IAAId,IAAIc,KAAK,KAAK,IAAIb,IAAIa,KAAK,IAAA;AAC5D;AAEO,MAAMC,KAAW,CAACC,MAAqBlB,EAASmB,EAASD,CAAG,CAAC;AAI7D,SAASE,GAAWF,GAAqB;AAC9C,QAAM,EAAE,GAAAjB,GAAG,GAAAC,GAAG,GAAAC,EAAA,IAAMgB,EAASD,CAAG;AAChC,UAAQjB,IAAI,MAAMC,IAAI,MAAMC,IAAI,OAAO,OAAQ,MAAM,YAAY;AACnE;AAEA,MAAMkB,KACJ;AAOK,SAASC,EAAWC,GAA4B;AACrD,QAAMZ,IAAIY,EAAM,KAAA;AAChB,MAAI,CAACZ,EAAG,QAAO;AAGf,MAAID,IAAIC,EAAE,QAAQ,MAAM,EAAE;AAO1B,MANI,qBAAqB,KAAKD,CAAC,MAC7BA,IAAIA,EACD,MAAM,EAAE,EACR,IAAI,CAAC,MAAM,IAAI,CAAC,EAChB,KAAK,EAAE,IAER,mBAAmB,KAAKA,CAAC;AAC3B,WAAO;AAAA,MACL,GAAG,SAASA,EAAE,MAAM,GAAG,CAAC,GAAG,EAAE;AAAA,MAC7B,GAAG,SAASA,EAAE,MAAM,GAAG,CAAC,GAAG,EAAE;AAAA,MAC7B,GAAG,SAASA,EAAE,MAAM,GAAG,CAAC,GAAG,EAAE;AAAA,MAC7B,GAAG;AAAA,IAAA;AAGP,MAAI,mBAAmB,KAAKA,CAAC;AAC3B,WAAO;AAAA,MACL,GAAG,SAASA,EAAE,MAAM,GAAG,CAAC,GAAG,EAAE;AAAA,MAC7B,GAAG,SAASA,EAAE,MAAM,GAAG,CAAC,GAAG,EAAE;AAAA,MAC7B,GAAG,SAASA,EAAE,MAAM,GAAG,CAAC,GAAG,EAAE;AAAA,MAC7B,GAAGc,EAAQ,SAASd,EAAE,MAAM,GAAG,CAAC,GAAG,EAAE,IAAI,GAAG;AAAA,IAAA;AAKhD,QAAMM,IAAIL,EAAE,MAAMU,EAAQ;AAC1B,MAAIL,GAAG;AACL,QAAIS,IAAI;AACR,WAAIT,EAAE,CAAC,KAAK,SACVS,IAAIT,EAAE,CAAC,EAAE,SAAS,GAAG,IAAIQ,EAAQ,WAAWR,EAAE,CAAC,CAAC,IAAI,GAAG,IAAIQ,EAAQ,WAAWR,EAAE,CAAC,CAAC,CAAC,IAE9E,EAAE,GAAGlB,EAAS,CAACkB,EAAE,CAAC,CAAC,GAAG,GAAGlB,EAAS,CAACkB,EAAE,CAAC,CAAC,GAAG,GAAGlB,EAAS,CAACkB,EAAE,CAAC,CAAC,GAAG,GAAAS,EAAA;AAAA,EACvE;AACA,SAAO;AACT;AAMO,SAASC,EAAY,EAAE,GAAAzB,GAAG,GAAAC,GAAG,GAAAC,GAAG,GAAAsB,KAAmB;AACxD,SAAIA,KAAK,IAAUE,EAAS,EAAE,GAAA1B,GAAG,GAAAC,GAAG,GAAAC,GAAG,IAChC,QAAQL,EAASG,CAAC,CAAC,KAAKH,EAASI,CAAC,CAAC,KAAKJ,EAASK,CAAC,CAAC,KAAK,KAAK,MAAMqB,EAAQC,CAAC,IAAI,GAAG,IAAI,GAAG;AACnG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GCtGaG,KAAmB;AAAA,EAC9B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAEMC,IAAoBZ,GAAS,SAAS;AAyBrC,SAASa,GAAiB;AAAA,EAC/B,OAAAC;AAAA,EACA,UAAAC;AAAA,EACA,UAAAC,IAAWL;AAAA,EACX,WAAAM,IAAY;AAAA,EACZ,OAAOC,IAAe;AACxB,GAA0B;AAExB,QAAMC,IAAY,CAACX,MAAeU,IAAeV,IAAI,GAC/CY,IAAIC,GAAA,GACJC,IAASjB,EAAWS,KAAS,EAAE,GAE/BS,IAAeD,IAASb,EAAYa,CAAM,IAAI,MAG9C,CAACE,GAAKC,CAAM,IAAIC,EAAcJ,IAASvC,EAASuC,CAAM,IAAIV,CAAY,GACtEe,IAASC,EAAOJ,CAAG;AACzB,EAAAG,EAAO,UAAUH;AACjB,QAAM,CAACK,GAAOC,CAAQ,IAAIJ,GAAiBJ,KAAA,gBAAAA,EAAQ,MAAK,CAAC,GACnDS,IAAWH,EAAOC,CAAK;AAC7B,EAAAE,EAAS,UAAUF,GAGnBG,EAAU,MAAM;AACd,QAAI,CAACV,EAAQ;AACb,UAAMW,IAAMxB,EAAY,EAAE,GAAGd,EAASgC,EAAO,OAAO,GAAG,GAAGI,EAAS,SAAS;AAC5E,IAAIR,MAAiBU,MACnBR,EAAO1C,EAASuC,CAAM,CAAC,GACvBQ,EAASR,EAAO,CAAC;AAAA,EAGrB,GAAG,CAACC,CAAY,CAAC;AAEjB,QAAMW,IAAW,CAACC,MAAc;AAC9B,IAAAV,EAAOU,CAAI,GACXpB,EAASN,EAAY,EAAE,GAAGd,EAASwC,CAAI,GAAG,GAAGhB,EAAUY,EAAS,OAAO,EAAA,CAAG,CAAC;AAAA,EAC7E,GAEMK,IAAa,CAACD,MAAiB;AACnC,IAAAL,EAASK,CAAI,GACbpB,EAASN,EAAY,EAAE,GAAGd,EAASgC,EAAO,OAAO,GAAG,GAAGR,EAAUgB,CAAI,EAAA,CAAG,CAAC;AAAA,EAC3E,GAGME,IACJ,CAACC,MACD,CAACC,MAA6C;AAC5C,IAAAA,EAAM,eAAA;AACN,UAAMC,IAAKD,EAAM,eACXE,IAAO,CAACC,GAAiBC,OAC7BL,EAAOI,GAASC,IAASH,EAAG,uBAAuB;AACrD,IAAAC,EAAKF,EAAM,SAASA,EAAM,OAAO;AACjC,UAAMK,IAAgB,CAACC,MAAoBJ,EAAKI,EAAE,SAASA,EAAE,OAAO,GAC9DC,IAAc,MAAM;AACxB,aAAO,oBAAoB,eAAeF,CAAa,GACvD,OAAO,oBAAoB,aAAaE,CAAW;AAAA,IACrD;AACA,WAAO,iBAAiB,eAAeF,CAAa,GACpD,OAAO,iBAAiB,aAAaE,CAAW;AAAA,EAClD,GAEIC,IAAWV,EAAK,CAACvC,GAAGkD,GAAGC,MAAS;AACpC,UAAMvD,IAAIa,GAAST,IAAImD,EAAK,QAAQA,EAAK,KAAK,GACxCrD,IAAIW,EAAQ,KAAKyC,IAAIC,EAAK,OAAOA,EAAK,MAAM;AAClD,IAAAf,EAAS,EAAE,GAAGP,EAAO,SAAS,GAAAjC,GAAG,GAAAE,GAAG;AAAA,EACtC,CAAC,GAEKsD,IAAYb,EAAK,CAACvC,GAAGqD,GAAIF,MAAS;AACtC,UAAMxD,IAAIc,GAAST,IAAImD,EAAK,QAAQA,EAAK,KAAK,IAAI;AAClD,IAAAf,EAAS,EAAE,GAAGP,EAAO,SAAS,GAAAlC,GAAG;AAAA,EACnC,CAAC,GAEK2D,IAAcf,EAAK,CAACvC,GAAGqD,GAAIF,MAAS;AACxC,IAAAb,EAAW7B,GAAST,IAAImD,EAAK,QAAQA,EAAK,KAAK,CAAC;AAAA,EAClD,CAAC,GAGKI,IAAU,MACVC,IAAU,CAACf,MAA8C;AAC7D,UAAM,EAAE,GAAA9C,GAAG,GAAG,GAAAG,EAAA,IAAM+B,EAAO;AAC3B,QAAI4B,IAAK,GACLC,IAAK5D;AACT,YAAQ2C,EAAM,KAAA;AAAA,MACZ,KAAK;AACH,QAAAgB,IAAKhD,EAAQ,IAAI8C,CAAO;AACxB;AAAA,MACF,KAAK;AACH,QAAAE,IAAKhD,EAAQ,IAAI8C,CAAO;AACxB;AAAA,MACF,KAAK;AACH,QAAAG,IAAKjD,EAAQX,IAAIyD,CAAO;AACxB;AAAA,MACF,KAAK;AACH,QAAAG,IAAKjD,EAAQX,IAAIyD,CAAO;AACxB;AAAA,MACF;AACE;AAAA,IAAA;AAEJ,IAAAd,EAAM,eAAA,GACNL,EAAS,EAAE,GAAAzC,GAAG,GAAG8D,GAAI,GAAGC,GAAI;AAAA,EAC9B,GACMC,IAAW,CAAClB,MAA8C;AAC9D,UAAM,EAAE,GAAA9C,MAAMkC,EAAO;AACrB,QAAI+B,IAAKjE;AACT,YAAQ8C,EAAM,KAAA;AAAA,MACZ,KAAK;AAAA,MACL,KAAK;AACH,QAAAmB,IAAK,KAAK,IAAI,GAAGjE,IAAI,CAAC;AACtB;AAAA,MACF,KAAK;AAAA,MACL,KAAK;AACH,QAAAiE,IAAK,KAAK,IAAI,KAAKjE,IAAI,CAAC;AACxB;AAAA,MACF,KAAK;AACH,QAAAiE,IAAK;AACL;AAAA,MACF,KAAK;AACH,QAAAA,IAAK;AACL;AAAA,MACF;AACE;AAAA,IAAA;AAEJ,IAAAnB,EAAM,eAAA,GACNL,EAAS,EAAE,GAAGP,EAAO,SAAS,GAAG+B,GAAI;AAAA,EACvC,GACMC,IAAa,CAACpB,MAA8C;AAChE,QAAIqB,IAAK7B,EAAS;AAClB,YAAQQ,EAAM,KAAA;AAAA,MACZ,KAAK;AAAA,MACL,KAAK;AACH,QAAAqB,IAAKrD,EAAQwB,EAAS,UAAU,IAAI;AACpC;AAAA,MACF,KAAK;AAAA,MACL,KAAK;AACH,QAAA6B,IAAKrD,EAAQwB,EAAS,UAAU,IAAI;AACpC;AAAA,MACF,KAAK;AACH,QAAA6B,IAAK;AACL;AAAA,MACF,KAAK;AACH,QAAAA,IAAK;AACL;AAAA,MACF;AACE;AAAA,IAAA;AAEJ,IAAArB,EAAM,eAAA,GACNH,EAAWwB,CAAE;AAAA,EACf,GAGM,CAACC,GAAYC,CAAa,IAAIpC,EAAS,EAAE;AAC/C,EAAAM,EAAU,MAAM;AACd,IAAA8B,EAAcvC,KAAgB,EAAE;AAAA,EAClC,GAAG,CAACA,CAAY,CAAC;AAEjB,QAAMwC,IAAe,CAACC,MAAgB;AACpC,IAAAF,EAAcE,CAAG;AACjB,UAAMC,IAAI5D,EAAW2D,CAAG;AACxB,IAAIC,MACFxC,EAAO1C,EAASkF,CAAC,CAAC,GAClBnC,EAASmC,EAAE,CAAC,GACZlD,EAASN,EAAY,EAAE,GAAGwD,GAAG,GAAG9C,EAAU8C,EAAE,CAAC,EAAA,CAAG,CAAC;AAAA,EAErD,GAEMC,IAAc,MAAM;AACxB,IAAAnD,EAAS,EAAE,GACXU,EAAOb,CAAY,GACnBkB,EAAS,CAAC;AAAA,EACZ,GAGMqC,IAAe1D,EAAY,EAAE,GAAGd,EAAS6B,CAAG,GAAG,GAAGK,GAAO,GACzDuC,KAAW1D,EAASf,EAAS6B,CAAG,CAAC,GACjCS,IAAMtC,EAAS6B,CAAG,GAClB6C,KAAQ,GAAG,KAAK,MAAMpC,EAAI,CAAC,CAAC,KAAK,KAAK,MAAMA,EAAI,CAAC,CAAC,KAAK,KAAK,MAAMA,EAAI,CAAC,CAAC;AAE9E,SACE,gBAAAqC,EAAC,OAAA,EAAI,WAAWC,EAAO,SAAS,OAAO,EAAE,YAAY/C,EAAI,EAAA,GACvD,UAAA;AAAA,IAAA,gBAAAgD;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,WAAWD,EAAO;AAAA,QAClB,eAAexB;AAAA,QACf,WAAWO;AAAA,QACX,MAAK;AAAA,QACL,UAAU;AAAA,QACV,cAAYlC,EAAE,wBAAwB;AAAA,QACtC,kBAAgB,GAAG,KAAK,MAAMI,EAAI,IAAI,GAAG,CAAC,iBAAiB,KAAK,MAAMA,EAAI,IAAI,GAAG,CAAC;AAAA,QAElF,UAAA,gBAAAgD;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,WAAWD,EAAO;AAAA,YAClB,OAAO,EAAE,MAAM,GAAG/C,EAAI,IAAI,GAAG,KAAK,KAAK,IAAI,IAAIA,EAAI,KAAK,GAAG,KAAK,YAAY4C,GAAA;AAAA,UAAS;AAAA,QAAA;AAAA,MACvF;AAAA,IAAA;AAAA,IAGF,gBAAAI;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,WAAWD,EAAO;AAAA,QAClB,eAAerB;AAAA,QACf,WAAWO;AAAA,QACX,MAAK;AAAA,QACL,UAAU;AAAA,QACV,cAAYrC,EAAE,iBAAiB;AAAA,QAC/B,iBAAe;AAAA,QACf,iBAAe;AAAA,QACf,iBAAe,KAAK,MAAMI,EAAI,CAAC;AAAA,QAE/B,UAAA,gBAAAgD,EAAC,QAAA,EAAK,WAAWD,EAAO,UAAU,OAAO,EAAE,MAAM,GAAI/C,EAAI,IAAI,MAAO,GAAG,MAAI,CAAG;AAAA,MAAA;AAAA,IAAA;AAAA,IAG/EN,KACC,gBAAAsD;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,WAAWD,EAAO;AAAA,QAClB,eAAenB;AAAA,QACf,WAAWO;AAAA,QACX,MAAK;AAAA,QACL,UAAU;AAAA,QACV,cAAYvC,EAAE,qBAAqB;AAAA,QACnC,iBAAe;AAAA,QACf,iBAAe;AAAA,QACf,iBAAe,KAAK,MAAMS,IAAQ,GAAG;AAAA,QACrC,OAAO,EAAE,YAAYwC,GAAA;AAAA,QAErB,UAAA,gBAAAG,EAAC,QAAA,EAAK,WAAWD,EAAO,YAAY,OAAO,EAAE,MAAM,GAAG1C,IAAQ,GAAG,IAAA,EAAI,CAAG;AAAA,MAAA;AAAA,IAAA;AAAA,IAI5E,gBAAAyC,EAAC,OAAA,EAAI,WAAWC,EAAO,QACrB,UAAA;AAAA,MAAA,gBAAAC;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,WAAWD,EAAO;AAAA,UAClB,OAAO,EAAE,aAAaJ,EAAA;AAAA,QAAa;AAAA,MAAA;AAAA,MAErC,gBAAAK,EAAC,QAAA,EAAK,WAAWD,EAAO,UACtB,UAAA,gBAAAC;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,WAAWD,EAAO;AAAA,UAClB,OAAOV;AAAA,UACP,YAAY;AAAA,UACZ,WAAW;AAAA,UACX,cAAYzC,EAAE,mBAAmB;AAAA,UACjC,UAAU,CAACyB,MAAMkB,EAAalB,EAAE,OAAO,KAAK;AAAA,QAAA;AAAA,MAAA,EAC9C,CACF;AAAA,IAAA,GACF;AAAA,IAEA,gBAAAyB,EAAC,OAAA,EAAI,WAAWC,EAAO,UAEpB,UAAA;AAAA,MAAAtD,KACC,gBAAAuD;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,MAAK;AAAA,UACL,WAAWC,GAAKF,EAAO,QAAQA,EAAO,WAAW;AAAA,UACjD,cAAYnD,EAAE,qBAAqB;AAAA,UACnC,gBAAc,CAACE;AAAA,UACf,SAAS4C;AAAA,UAER,WAAC5C,KAAU,gBAAAkD,EAACE,KAAK,MAAK,cAAa,MAAK,KAAA,CAAK;AAAA,QAAA;AAAA,MAAA;AAAA,MAGjD1D,EAAS,IAAI,CAAC2D,MAAO;AACpB,cAAMV,IAAI5D,EAAWsE,CAAE;AACvB,YAAI,CAACV,EAAG,QAAO;AACf,cAAMW,IAAQnE,EAAY,EAAE,GAAGwD,EAAE,GAAG,GAAGA,EAAE,GAAG,GAAGA,EAAE,GAAG,GAAG,GAAG,GACpDY,IAAWtD,MAAiBqD;AAClC,eACE,gBAAAJ;AAAA,UAAC;AAAA,UAAA;AAAA,YAEC,MAAK;AAAA,YACL,WAAWD,EAAO;AAAA,YAClB,OAAO,EAAE,YAAYK,GAAO,OAAOzE,GAAWyE,CAAK,EAAA;AAAA,YACnD,cAAYA;AAAA,YACZ,gBAAcC;AAAA,YACd,SAAS,MAAM;AACb,cAAApD,EAAO1C,EAASkF,CAAC,CAAC,GAClBlD,EAASN,EAAY,EAAE,GAAGwD,EAAE,GAAG,GAAGA,EAAE,GAAG,GAAGA,EAAE,GAAG,GAAG9C,EAAUY,EAAS,OAAO,EAAA,CAAG,CAAC;AAAA,YAClF;AAAA,YAEC,eAAY,gBAAAyC,EAACE,GAAA,EAAK,MAAK,cAAa,MAAK,KAAA,CAAK;AAAA,UAAA;AAAA,UAX1CC;AAAA,QAAA;AAAA,MAcX,CAAC;AAAA,IAAA,EAAA,CACH;AAAA,EAAA,GACF;AAEJ;"}
@@ -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-BFatE1_A.cjs"),T=require("./toastStore-B4Tk2Xk7.cjs"),n=require("./TextField.module-DsNCo8vN.cjs"),W=require("./ConfigProvider-BicoaBLj.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-AkY9gq6Y.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ColorRamp-AkY9gq6Y.cjs","sources":["../src/components/ColorRamp/ColorRamp.tsx"],"sourcesContent":["import { forwardRef, useId, type CSSProperties, type HTMLAttributes, type ReactNode } from 'react'\nimport { clsx } from 'clsx'\nimport { useT } from '../../theme'\nimport { useClipboard } from '../../hooks/useClipboard'\nimport {\n BASE_STEP,\n generatePalette,\n type GeneratePaletteOptions,\n type Legibility,\n type PaletteSwatch,\n} from '../../helpers/palette'\nimport { Tooltip } from '../Tooltip'\nimport { Typography } from '../Typography'\nimport { toast } from '../Toast'\n// shared field chrome (wrapper / label / helper / required / error)\nimport fieldStyles from '../TextField/TextField.module.css'\nimport styles from './ColorRamp.module.css'\n\nexport type ColorRampSize = 'sm' | 'md' | 'lg'\n\n// `onCopy` here is the swatch callback, so the DOM clipboard `onCopy` handler is omitted alongside `color`\nexport interface ColorRampProps extends Omit<HTMLAttributes<HTMLDivElement>, 'color' | 'onCopy'> {\n /** The base (500) color — any value `generatePalette` accepts. Invalid → the empty-state caption. */\n baseColor: string\n /** Token prefix for step names (`primary` → \"primary-500\") — used in tooltips, aria-labels and the copy toast. Default `'color'`. */\n name?: string\n /** Passed to `generatePalette` (override any subset of the tint / shade fractions). */\n options?: GeneratePaletteOptions\n /** Band height. `sm` 32 · `md` 40 (default) · `lg` 48 px. */\n size?: ColorRampSize\n /** Click a step to copy its hex (default `true`). `false` renders the steps as non-interactive cells. */\n copyable?: boolean\n /** After a successful copy — in addition to the built-in toast. */\n onCopy?: (swatch: PaletteSwatch) => void\n /** Show the \"Lightest … Darkest\" caption row under the band (default `true`). */\n showBounds?: boolean\n /** Label rendered above the band (field-family chrome, like `Slider` / `SwatchPicker`). */\n label?: ReactNode\n /** Helper / validation text under the band. Adopts the error color while `error`. */\n helperText?: ReactNode\n /** Marks the field invalid — reddens the label/asterisk and shows `helperText` in the error color. */\n error?: boolean\n /** Adds a red asterisk after the label. */\n required?: boolean\n}\n\n/** `black 4.52 AA` — ratio to 2 decimals, the body-text rating appended when it exists. */\nconst contrastLine = (who: string, l: Legibility) =>\n `${who} ${l.ratio.toFixed(2)}${l.small ? ` ${l.small}` : ''}`\n\n/**\n * The generated tonal scale for one color as **a single horizontal band of ten equal steps** sharing\n * one rounded, clipped frame (reads as a continuous ramp, not ten chips). Display + copy only — it never\n * edits the color; pair it with `ColorPicker` (or use `PaletteField`, which composes both). Each step\n * is a `Tooltip`-wrapped button whose fill / ink are the swatch's own colors (inline — the color IS the\n * data), showing its number on the base step and on hover / focus; clicking copies the hex with a toast.\n * `role=\"group\"` labelled \"{name} color scale\"; an invalid `baseColor` renders only a muted caption.\n */\nexport const ColorRamp = forwardRef<HTMLDivElement, ColorRampProps>(function ColorRamp(\n {\n baseColor,\n name = 'color',\n options,\n size = 'md',\n copyable = true,\n onCopy,\n showBounds = true,\n label,\n helperText,\n error = false,\n required = false,\n className,\n ...props\n },\n ref,\n) {\n const t = useT()\n const id = useId()\n const labelId = `${id}-label`\n const helperId = `${id}-helper`\n const { copy } = useClipboard()\n const palette = generatePalette(baseColor, options)\n\n const handleCopy = async (swatch: PaletteSwatch) => {\n const step = `${name}-${swatch.step}`\n const ok = await copy(swatch.hex)\n if (ok) {\n toast.success(t('colorRamp.copied', { step, hex: swatch.hex }))\n onCopy?.(swatch)\n } else {\n toast.error(t('colorRamp.copyFailed', { step }))\n }\n }\n\n const tip = (swatch: PaletteSwatch) => (\n <span className={styles.tip}>\n <span className={styles.tipTitle}>\n {name}-{swatch.step}\n {swatch.step === BASE_STEP ? ` · ${t('colorRamp.base')}` : ''}\n </span>\n <span>{swatch.hex}</span>\n <span>\n {contrastLine(t('colorRamp.black'), swatch.onDark)} ·{' '}\n {contrastLine(t('colorRamp.white'), swatch.onWhite)}\n </span>\n {copyable && <span>{t('colorRamp.clickToCopy')}</span>}\n </span>\n )\n\n return (\n <div\n ref={ref}\n className={clsx(fieldStyles.field, error && fieldStyles.error, className)}\n {...props}\n >\n {label != null && (\n <label id={labelId} className={fieldStyles.label}>\n <Typography as=\"span\" variant=\"bodySmall\" color=\"muted\">\n {label}\n </Typography>\n {required && (\n <span className={fieldStyles.required} aria-hidden=\"true\">\n *\n </span>\n )}\n </label>\n )}\n\n {palette ? (\n <>\n <div\n role=\"group\"\n aria-label={t('colorRamp.groupLabel', { name })}\n aria-labelledby={label != null ? labelId : undefined}\n aria-describedby={helperText != null ? helperId : undefined}\n className={clsx(styles.band, styles[size])}\n >\n {palette.map((swatch) => {\n const isBase = swatch.step === BASE_STEP\n // the swatch's own colors are the data — the one legitimate inline-color exception\n const ink = { backgroundColor: swatch.hex, color: swatch.textColor } as CSSProperties\n const stepName = `${name}-${swatch.step}`\n const cell = copyable ? (\n <button\n type=\"button\"\n className={styles.step}\n style={ink}\n data-base={isBase || undefined}\n aria-label={t('colorRamp.copyAria', { name, step: swatch.step, hex: swatch.hex })}\n onClick={() => void handleCopy(swatch)}\n >\n <span className={styles.num} aria-hidden=\"true\">\n {swatch.step}\n </span>\n </button>\n ) : (\n <span\n className={clsx(styles.step, styles.static)}\n style={ink}\n data-base={isBase || undefined}\n role=\"img\"\n aria-label={`${stepName} ${swatch.hex}`}\n >\n <span className={styles.num} aria-hidden=\"true\">\n {swatch.step}\n </span>\n </span>\n )\n // the Tooltip's wrapper span is the band's real flex child (sized by `.band > *`)\n return (\n <Tooltip key={swatch.step} content={tip(swatch)}>\n {cell}\n </Tooltip>\n )\n })}\n </div>\n {showBounds && (\n <div className={styles.bounds}>\n <Typography as=\"span\" variant=\"caption\" color=\"muted\">\n {t('colorRamp.lightest')}\n </Typography>\n <Typography as=\"span\" variant=\"caption\" color=\"muted\">\n {t('colorRamp.darkest')}\n </Typography>\n </div>\n )}\n </>\n ) : (\n <Typography as=\"span\" variant=\"caption\" color=\"muted\">\n {t('colorRamp.invalid')}\n </Typography>\n )}\n\n {helperText != null && (\n <Typography\n as=\"span\"\n id={helperId}\n variant=\"bodySmall\"\n color={error ? 'error' : 'muted'}\n className={fieldStyles.helper}\n >\n {helperText}\n </Typography>\n )}\n </div>\n )\n})\n"],"names":["contrastLine","who","ColorRamp","forwardRef","baseColor","name","options","size","copyable","onCopy","showBounds","label","helperText","error","required","className","props","ref","useT","id","useId","labelId","helperId","copy","useClipboard","palette","generatePalette","handleCopy","swatch","step","toast","tip","styles","jsxs","BASE_STEP","jsx","clsx","fieldStyles","Typography","Fragment","isBase","ink","stepName","cell","Tooltip"],"mappings":"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"}
@@ -0,0 +1,126 @@
1
+ import { jsxs as s, jsx as o, Fragment as q } from "react/jsx-runtime";
2
+ import { forwardRef as D, useId as W } from "react";
3
+ import { clsx as _ } from "clsx";
4
+ import { u as z } from "./useClipboard-CEw_Juiq.js";
5
+ import { g as G, B as g } from "./palette-B031dM4E.js";
6
+ import { T as H } from "./Tooltip-Cb_FKxT9.js";
7
+ import { T as n } from "./Typography-Cta6Rg4L.js";
8
+ import { t as x } from "./toastStore-Cx_JOKwS.js";
9
+ import { f as d } from "./TextField.module-6gYcR9TL.js";
10
+ import { a as J } from "./ConfigProvider-DL9fylMo.js";
11
+ const K = "_band_1d0th_5", M = "_sm_1d0th_15", O = "_md_1d0th_18", Q = "_lg_1d0th_21", U = "_num_1d0th_42", V = "_step_1d0th_47", X = "_bounds_1d0th_94", Y = "_tip_1d0th_101", Z = "_tipTitle_1d0th_107", t = {
12
+ band: K,
13
+ sm: M,
14
+ md: O,
15
+ lg: Q,
16
+ num: U,
17
+ step: V,
18
+ static: "_static_1d0th_61",
19
+ bounds: X,
20
+ tip: Y,
21
+ tipTitle: Z
22
+ }, y = (h, l) => `${h} ${l.ratio.toFixed(2)}${l.small ? ` ${l.small}` : ""}`, de = D(function({
23
+ baseColor: l,
24
+ name: r = "color",
25
+ options: k,
26
+ size: T = "md",
27
+ copyable: b = !0,
28
+ onCopy: c,
29
+ showBounds: C = !0,
30
+ label: p,
31
+ helperText: m,
32
+ error: f = !1,
33
+ required: S = !1,
34
+ className: B,
35
+ ...F
36
+ }, I) {
37
+ const a = J(), v = W(), R = `${v}-label`, N = `${v}-helper`, { copy: j } = z(), $ = G(l, k), A = async (e) => {
38
+ const i = `${r}-${e.step}`;
39
+ await j(e.hex) ? (x.success(a("colorRamp.copied", { step: i, hex: e.hex })), c == null || c(e)) : x.error(a("colorRamp.copyFailed", { step: i }));
40
+ }, E = (e) => /* @__PURE__ */ s("span", { className: t.tip, children: [
41
+ /* @__PURE__ */ s("span", { className: t.tipTitle, children: [
42
+ r,
43
+ "-",
44
+ e.step,
45
+ e.step === g ? ` · ${a("colorRamp.base")}` : ""
46
+ ] }),
47
+ /* @__PURE__ */ o("span", { children: e.hex }),
48
+ /* @__PURE__ */ s("span", { children: [
49
+ y(a("colorRamp.black"), e.onDark),
50
+ " ·",
51
+ " ",
52
+ y(a("colorRamp.white"), e.onWhite)
53
+ ] }),
54
+ b && /* @__PURE__ */ o("span", { children: a("colorRamp.clickToCopy") })
55
+ ] });
56
+ return /* @__PURE__ */ s(
57
+ "div",
58
+ {
59
+ ref: I,
60
+ className: _(d.field, f && d.error, B),
61
+ ...F,
62
+ children: [
63
+ p != null && /* @__PURE__ */ s("label", { id: R, className: d.label, children: [
64
+ /* @__PURE__ */ o(n, { as: "span", variant: "bodySmall", color: "muted", children: p }),
65
+ S && /* @__PURE__ */ o("span", { className: d.required, "aria-hidden": "true", children: "*" })
66
+ ] }),
67
+ $ ? /* @__PURE__ */ s(q, { children: [
68
+ /* @__PURE__ */ o(
69
+ "div",
70
+ {
71
+ role: "group",
72
+ "aria-label": a("colorRamp.groupLabel", { name: r }),
73
+ "aria-labelledby": p != null ? R : void 0,
74
+ "aria-describedby": m != null ? N : void 0,
75
+ className: _(t.band, t[T]),
76
+ children: $.map((e) => {
77
+ const i = e.step === g, u = { backgroundColor: e.hex, color: e.textColor }, L = `${r}-${e.step}`, P = b ? /* @__PURE__ */ o(
78
+ "button",
79
+ {
80
+ type: "button",
81
+ className: t.step,
82
+ style: u,
83
+ "data-base": i || void 0,
84
+ "aria-label": a("colorRamp.copyAria", { name: r, step: e.step, hex: e.hex }),
85
+ onClick: () => void A(e),
86
+ children: /* @__PURE__ */ o("span", { className: t.num, "aria-hidden": "true", children: e.step })
87
+ }
88
+ ) : /* @__PURE__ */ o(
89
+ "span",
90
+ {
91
+ className: _(t.step, t.static),
92
+ style: u,
93
+ "data-base": i || void 0,
94
+ role: "img",
95
+ "aria-label": `${L} ${e.hex}`,
96
+ children: /* @__PURE__ */ o("span", { className: t.num, "aria-hidden": "true", children: e.step })
97
+ }
98
+ );
99
+ return /* @__PURE__ */ o(H, { content: E(e), children: P }, e.step);
100
+ })
101
+ }
102
+ ),
103
+ C && /* @__PURE__ */ s("div", { className: t.bounds, children: [
104
+ /* @__PURE__ */ o(n, { as: "span", variant: "caption", color: "muted", children: a("colorRamp.lightest") }),
105
+ /* @__PURE__ */ o(n, { as: "span", variant: "caption", color: "muted", children: a("colorRamp.darkest") })
106
+ ] })
107
+ ] }) : /* @__PURE__ */ o(n, { as: "span", variant: "caption", color: "muted", children: a("colorRamp.invalid") }),
108
+ m != null && /* @__PURE__ */ o(
109
+ n,
110
+ {
111
+ as: "span",
112
+ id: N,
113
+ variant: "bodySmall",
114
+ color: f ? "error" : "muted",
115
+ className: d.helper,
116
+ children: m
117
+ }
118
+ )
119
+ ]
120
+ }
121
+ );
122
+ });
123
+ export {
124
+ de as C
125
+ };
126
+ //# sourceMappingURL=ColorRamp-DnlJNKfy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ColorRamp-DnlJNKfy.js","sources":["../src/components/ColorRamp/ColorRamp.tsx"],"sourcesContent":["import { forwardRef, useId, type CSSProperties, type HTMLAttributes, type ReactNode } from 'react'\nimport { clsx } from 'clsx'\nimport { useT } from '../../theme'\nimport { useClipboard } from '../../hooks/useClipboard'\nimport {\n BASE_STEP,\n generatePalette,\n type GeneratePaletteOptions,\n type Legibility,\n type PaletteSwatch,\n} from '../../helpers/palette'\nimport { Tooltip } from '../Tooltip'\nimport { Typography } from '../Typography'\nimport { toast } from '../Toast'\n// shared field chrome (wrapper / label / helper / required / error)\nimport fieldStyles from '../TextField/TextField.module.css'\nimport styles from './ColorRamp.module.css'\n\nexport type ColorRampSize = 'sm' | 'md' | 'lg'\n\n// `onCopy` here is the swatch callback, so the DOM clipboard `onCopy` handler is omitted alongside `color`\nexport interface ColorRampProps extends Omit<HTMLAttributes<HTMLDivElement>, 'color' | 'onCopy'> {\n /** The base (500) color — any value `generatePalette` accepts. Invalid → the empty-state caption. */\n baseColor: string\n /** Token prefix for step names (`primary` → \"primary-500\") — used in tooltips, aria-labels and the copy toast. Default `'color'`. */\n name?: string\n /** Passed to `generatePalette` (override any subset of the tint / shade fractions). */\n options?: GeneratePaletteOptions\n /** Band height. `sm` 32 · `md` 40 (default) · `lg` 48 px. */\n size?: ColorRampSize\n /** Click a step to copy its hex (default `true`). `false` renders the steps as non-interactive cells. */\n copyable?: boolean\n /** After a successful copy — in addition to the built-in toast. */\n onCopy?: (swatch: PaletteSwatch) => void\n /** Show the \"Lightest … Darkest\" caption row under the band (default `true`). */\n showBounds?: boolean\n /** Label rendered above the band (field-family chrome, like `Slider` / `SwatchPicker`). */\n label?: ReactNode\n /** Helper / validation text under the band. Adopts the error color while `error`. */\n helperText?: ReactNode\n /** Marks the field invalid — reddens the label/asterisk and shows `helperText` in the error color. */\n error?: boolean\n /** Adds a red asterisk after the label. */\n required?: boolean\n}\n\n/** `black 4.52 AA` — ratio to 2 decimals, the body-text rating appended when it exists. */\nconst contrastLine = (who: string, l: Legibility) =>\n `${who} ${l.ratio.toFixed(2)}${l.small ? ` ${l.small}` : ''}`\n\n/**\n * The generated tonal scale for one color as **a single horizontal band of ten equal steps** sharing\n * one rounded, clipped frame (reads as a continuous ramp, not ten chips). Display + copy only — it never\n * edits the color; pair it with `ColorPicker` (or use `PaletteField`, which composes both). Each step\n * is a `Tooltip`-wrapped button whose fill / ink are the swatch's own colors (inline — the color IS the\n * data), showing its number on the base step and on hover / focus; clicking copies the hex with a toast.\n * `role=\"group\"` labelled \"{name} color scale\"; an invalid `baseColor` renders only a muted caption.\n */\nexport const ColorRamp = forwardRef<HTMLDivElement, ColorRampProps>(function ColorRamp(\n {\n baseColor,\n name = 'color',\n options,\n size = 'md',\n copyable = true,\n onCopy,\n showBounds = true,\n label,\n helperText,\n error = false,\n required = false,\n className,\n ...props\n },\n ref,\n) {\n const t = useT()\n const id = useId()\n const labelId = `${id}-label`\n const helperId = `${id}-helper`\n const { copy } = useClipboard()\n const palette = generatePalette(baseColor, options)\n\n const handleCopy = async (swatch: PaletteSwatch) => {\n const step = `${name}-${swatch.step}`\n const ok = await copy(swatch.hex)\n if (ok) {\n toast.success(t('colorRamp.copied', { step, hex: swatch.hex }))\n onCopy?.(swatch)\n } else {\n toast.error(t('colorRamp.copyFailed', { step }))\n }\n }\n\n const tip = (swatch: PaletteSwatch) => (\n <span className={styles.tip}>\n <span className={styles.tipTitle}>\n {name}-{swatch.step}\n {swatch.step === BASE_STEP ? ` · ${t('colorRamp.base')}` : ''}\n </span>\n <span>{swatch.hex}</span>\n <span>\n {contrastLine(t('colorRamp.black'), swatch.onDark)} ·{' '}\n {contrastLine(t('colorRamp.white'), swatch.onWhite)}\n </span>\n {copyable && <span>{t('colorRamp.clickToCopy')}</span>}\n </span>\n )\n\n return (\n <div\n ref={ref}\n className={clsx(fieldStyles.field, error && fieldStyles.error, className)}\n {...props}\n >\n {label != null && (\n <label id={labelId} className={fieldStyles.label}>\n <Typography as=\"span\" variant=\"bodySmall\" color=\"muted\">\n {label}\n </Typography>\n {required && (\n <span className={fieldStyles.required} aria-hidden=\"true\">\n *\n </span>\n )}\n </label>\n )}\n\n {palette ? (\n <>\n <div\n role=\"group\"\n aria-label={t('colorRamp.groupLabel', { name })}\n aria-labelledby={label != null ? labelId : undefined}\n aria-describedby={helperText != null ? helperId : undefined}\n className={clsx(styles.band, styles[size])}\n >\n {palette.map((swatch) => {\n const isBase = swatch.step === BASE_STEP\n // the swatch's own colors are the data — the one legitimate inline-color exception\n const ink = { backgroundColor: swatch.hex, color: swatch.textColor } as CSSProperties\n const stepName = `${name}-${swatch.step}`\n const cell = copyable ? (\n <button\n type=\"button\"\n className={styles.step}\n style={ink}\n data-base={isBase || undefined}\n aria-label={t('colorRamp.copyAria', { name, step: swatch.step, hex: swatch.hex })}\n onClick={() => void handleCopy(swatch)}\n >\n <span className={styles.num} aria-hidden=\"true\">\n {swatch.step}\n </span>\n </button>\n ) : (\n <span\n className={clsx(styles.step, styles.static)}\n style={ink}\n data-base={isBase || undefined}\n role=\"img\"\n aria-label={`${stepName} ${swatch.hex}`}\n >\n <span className={styles.num} aria-hidden=\"true\">\n {swatch.step}\n </span>\n </span>\n )\n // the Tooltip's wrapper span is the band's real flex child (sized by `.band > *`)\n return (\n <Tooltip key={swatch.step} content={tip(swatch)}>\n {cell}\n </Tooltip>\n )\n })}\n </div>\n {showBounds && (\n <div className={styles.bounds}>\n <Typography as=\"span\" variant=\"caption\" color=\"muted\">\n {t('colorRamp.lightest')}\n </Typography>\n <Typography as=\"span\" variant=\"caption\" color=\"muted\">\n {t('colorRamp.darkest')}\n </Typography>\n </div>\n )}\n </>\n ) : (\n <Typography as=\"span\" variant=\"caption\" color=\"muted\">\n {t('colorRamp.invalid')}\n </Typography>\n )}\n\n {helperText != null && (\n <Typography\n as=\"span\"\n id={helperId}\n variant=\"bodySmall\"\n color={error ? 'error' : 'muted'}\n className={fieldStyles.helper}\n >\n {helperText}\n </Typography>\n )}\n </div>\n )\n})\n"],"names":["contrastLine","who","ColorRamp","forwardRef","baseColor","name","options","size","copyable","onCopy","showBounds","label","helperText","error","required","className","props","ref","t","useT","id","useId","labelId","helperId","copy","useClipboard","palette","generatePalette","handleCopy","swatch","step","toast","tip","styles","jsxs","BASE_STEP","jsx","clsx","fieldStyles","Typography","Fragment","isBase","ink","stepName","cell","Tooltip"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use strict";const be=require("react/jsx-runtime"),a=require("react"),Ce=require("./breakpoints-Dpnh6BbG.cjs"),ne=require("./translations-CXEeeUDL.cjs"),b=require("./messages-DKT0SRM0.cjs");function _e(e){let s=e.trim().replace(/^#/,"");s.length===3&&(s=s[0]+s[0]+s[1]+s[1]+s[2]+s[2]);const n=parseInt(s,16);return`${n>>16&255}, ${n>>8&255}, ${n&255}`}function Le(e){const[s,n,u]=e.split(",").map(L=>Number(L.trim()));return(s*299+n*587+u*114)/1e3>=150?"#04202b":"#ffffff"}const ke={secondary:"rgb(var(--tz-color-primary-rgb))",warning:"#ffffff"};function re(e,s=document.documentElement){for(const[n,u]of Object.entries(e)){if(!u)continue;const r=_e(u);s.style.setProperty(`--tz-color-${n}-rgb`,r),s.style.setProperty(`--tz-color-${n}-contrast`,ke[n]??Le(r))}}const o=a.createContext(null),oe="tz-theme-mode",C=e=>`tz-accent-color-${e}`,ue="tz-header-sticky",le="tz-font-family",ce="tz-shape",de="tz-locale",me=[{code:"en-US",label:"English"}],_="Inter",Ie=[_],fe=e=>`'${e}', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif`;function Fe(){if(typeof document>"u"||document.getElementById("tz-font-preconnect"))return;const e=document.createElement("link");e.id="tz-font-preconnect",e.rel="preconnect",e.href="https://fonts.googleapis.com",document.head.appendChild(e);const s=document.createElement("link");s.rel="preconnect",s.href="https://fonts.gstatic.com",s.crossOrigin="anonymous",document.head.appendChild(s)}function Ke(e){if(typeof document>"u"||Ie.includes(e))return;const s=`tz-font-${e.trim().replace(/\s+/g,"-").toLowerCase()}`;if(document.getElementById(s))return;Fe();const n=document.createElement("link");n.id=s,n.rel="stylesheet",n.href=`https://fonts.googleapis.com/css2?family=${encodeURIComponent(e.trim()).replace(/%20/g,"+")}&display=swap`,document.head.appendChild(n)}const I="tab",f="nestedTab",F="step",ye=[],pe={},Ee={},Ue={primary:"#13404e",secondary:"#ffffff",background:"#f9f9f9",surface:"#ffffff",accent:"#056472",success:"#00a854",error:"#f04134",info:"#039aa1",warning:"#ffbf00"},Re={primary:"#e6e8eb",secondary:"#191919",background:"#0f0f0f",surface:"#191919",accent:"#16a6b4",success:"#00a854",error:"#f04134",info:"#039aa1",warning:"#ffbf00"};function Ne(e){const s=localStorage.getItem(oe);return s==="light"||s==="dark"?s:e}function Qe(){return{light:localStorage.getItem(C("light"))||null,dark:localStorage.getItem(C("dark"))||null}}function Ye(e){const s=localStorage.getItem(ue);return s==="1"?!0:s==="0"?!1:e}function De(e){return localStorage.getItem(le)||e}function Oe(e){const s=localStorage.getItem(ce);return s==="rounded"||s==="square"?s:e}function Me(e,s){const n=e.map(r=>r.code),u=localStorage.getItem(de);return u&&n.includes(u)?u:s&&n.includes(s)?s:n.find(r=>r.toLowerCase().startsWith("en"))??n[0]??"en-US"}function Pe({config:e,children:s}){var j,J,V,W,X,Z,ee,te,se,ae;const[n,u]=a.useState(()=>{var t;return Ne(((t=e==null?void 0:e.theme)==null?void 0:t.mode)??"light")}),[r,L]=a.useState(Qe),[K,Te]=a.useState(()=>{var t;return Ye(((t=e==null?void 0:e.header)==null?void 0:t.sticky)??!1)}),[E,ie]=a.useState(()=>{var t;return De(((t=e==null?void 0:e.theme)==null?void 0:t.fontFamily)??_)}),[T,Se]=a.useState(()=>{var t;return Oe(((t=e==null?void 0:e.theme)==null?void 0:t.shape)??"rounded")}),k=((j=e==null?void 0:e.i18n)==null?void 0:j.languages)??me,U=(J=e==null?void 0:e.i18n)==null?void 0:J.messages,R=(V=e==null?void 0:e.i18n)==null?void 0:V.appMessages,[m,he]=a.useState(()=>{var t;return Me(k,(t=e==null?void 0:e.i18n)==null?void 0:t.language)}),c=(W=e==null?void 0:e.theme)==null?void 0:W.colors,p=a.useMemo(()=>{const t={...Ue,...c==null?void 0:c.light},l={...t,...Re,...c==null?void 0:c.dark};return{light:t,dark:l}},[c]),N=a.useMemo(()=>({light:p.light.accent,dark:p.dark.accent}),[p]),y=a.useCallback((t,l=r[t])=>{const d=p[t];re(l?{...d,accent:l}:d);const A=document.documentElement;A.setAttribute("data-tz-theme",t),A.style.setProperty("color-scheme",t),localStorage.setItem(oe,t)},[p,r]);a.useLayoutEffect(()=>{y(n)},[y,n]);const Q=(X=e==null?void 0:e.theme)==null?void 0:X.breakpoints;a.useLayoutEffect(()=>{Ce.setBreakpoints(Q)},[JSON.stringify(Q??null)]);const i=a.useCallback(t=>{y(t),u(t)},[y]),Y=a.useCallback(()=>i(n==="light"?"dark":"light"),[n,i]),D=a.useCallback((t,l)=>{const d=l??n;L(A=>({...A,[d]:t})),t?localStorage.setItem(C(d),t):localStorage.removeItem(C(d)),d===n&&y(n,t)},[n,y]),O=a.useCallback(t=>{Te(t),localStorage.setItem(ue,t?"1":"0")},[]),S=a.useCallback(t=>{Ke(t),document.documentElement.style.setProperty("--tz-font-family",fe(t))},[]);a.useLayoutEffect(()=>{S(E)},[S,E]);const M=a.useCallback(t=>{const l=t.trim()||_;S(l),ie(l),localStorage.setItem(le,l)},[S]),h=a.useCallback(t=>{document.documentElement.setAttribute("data-tz-shape",t)},[]);a.useLayoutEffect(()=>{h(T)},[h,T]);const P=a.useCallback(t=>{h(t),Se(t),localStorage.setItem(ce,t)},[h]),g=a.useCallback(t=>{he(t),localStorage.setItem(de,t)},[]),z=a.useMemo(()=>b.createTranslator(m,U),[m,U]),B=a.useMemo(()=>b.createAppTranslator(m,R),[m,R]),v=(e==null?void 0:e.locales)??ye,H=((Z=e==null?void 0:e.keys)==null?void 0:Z.translationsNamespace)??ne.DEFAULT_TRANSLATIONS_NAMESPACE,q=((ee=e==null?void 0:e.keys)==null?void 0:ee.tabQueryKey)??I,w=((te=e==null?void 0:e.keys)==null?void 0:te.nestedTabQueryKey)??f,$=((se=e==null?void 0:e.keys)==null?void 0:se.stepQueryKey)??F,G=((ae=e==null?void 0:e.table)==null?void 0:ae.query)??pe,x=(e==null?void 0:e.header)??Ee,Ae=a.useMemo(()=>({mode:n,setMode:i,toggleMode:Y,accentColors:r,defaultAccentColors:N,setAccentColor:D,locales:v,translationsNamespace:H,tabQueryKey:q,nestedTabQueryKey:w,stepQueryKey:$,tableQuery:G,header:x,headerSticky:K,setHeaderSticky:O,fontFamily:E,setFontFamily:M,shape:T,setShape:P,language:m,setLanguage:g,languages:k,t:z,appT:B}),[n,i,Y,r,N,D,v,H,q,w,$,G,x,K,O,E,M,T,P,m,g,k,z,B]);return be.jsx(o.Provider,{value:Ae,children:s})}function ge(){const e=a.useContext(o);if(!e)throw new Error("useTheme must be used within a <ConfigProvider>");return e}function ze(){var e;return((e=a.useContext(o))==null?void 0:e.locales)??ye}const Be=b.createTranslator("en"),ve=b.createAppTranslator("en");function He(){var e;return((e=a.useContext(o))==null?void 0:e.t)??Be}function qe(){var e;return((e=a.useContext(o))==null?void 0:e.appT)??ve}function we(){const e=a.useContext(o);return{language:(e==null?void 0:e.language)??"en-US",setLanguage:(e==null?void 0:e.setLanguage)??(()=>{}),languages:(e==null?void 0:e.languages)??me}}function $e(){var e;return((e=a.useContext(o))==null?void 0:e.translationsNamespace)??ne.DEFAULT_TRANSLATIONS_NAMESPACE}function Ge(){var e;return((e=a.useContext(o))==null?void 0:e.tabQueryKey)??I}function xe(){var e;return((e=a.useContext(o))==null?void 0:e.nestedTabQueryKey)??f}function je(){var e;return((e=a.useContext(o))==null?void 0:e.stepQueryKey)??F}function Je(){var e;return((e=a.useContext(o))==null?void 0:e.tableQuery)??pe}function Ve(){var e;return((e=a.useContext(o))==null?void 0:e.header)??Ee}exports.ConfigProvider=Pe;exports.DEFAULT_FONT_FAMILY=_;exports.DEFAULT_NESTED_TAB_QUERY_KEY=f;exports.DEFAULT_STEP_QUERY_KEY=F;exports.DEFAULT_TABS_QUERY_KEY=I;exports.applyTheme=re;exports.useHeaderConfig=Ve;exports.useLanguage=we;exports.useLocales=ze;exports.useNestedTabQueryKey=xe;exports.useStepQueryKey=je;exports.useT=He;exports.useTableQueryConfig=Je;exports.useTabsQueryKey=Ge;exports.useTheme=ge;exports.useTranslations=qe;exports.useTranslationsNamespace=$e;
2
- //# sourceMappingURL=ConfigProvider-Bszl3Wr3.cjs.map
1
+ "use strict";const be=require("react/jsx-runtime"),a=require("react"),Ce=require("./breakpoints-Dpnh6BbG.cjs"),ne=require("./translations-CXEeeUDL.cjs"),b=require("./messages-CJqxqL3t.cjs");function _e(e){let s=e.trim().replace(/^#/,"");s.length===3&&(s=s[0]+s[0]+s[1]+s[1]+s[2]+s[2]);const n=parseInt(s,16);return`${n>>16&255}, ${n>>8&255}, ${n&255}`}function Le(e){const[s,n,u]=e.split(",").map(L=>Number(L.trim()));return(s*299+n*587+u*114)/1e3>=150?"#04202b":"#ffffff"}const ke={secondary:"rgb(var(--tz-color-primary-rgb))",warning:"#ffffff"};function re(e,s=document.documentElement){for(const[n,u]of Object.entries(e)){if(!u)continue;const r=_e(u);s.style.setProperty(`--tz-color-${n}-rgb`,r),s.style.setProperty(`--tz-color-${n}-contrast`,ke[n]??Le(r))}}const o=a.createContext(null),oe="tz-theme-mode",C=e=>`tz-accent-color-${e}`,ue="tz-header-sticky",le="tz-font-family",ce="tz-shape",de="tz-locale",me=[{code:"en-US",label:"English"}],_="Inter",Ie=[_],fe=e=>`'${e}', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif`;function Fe(){if(typeof document>"u"||document.getElementById("tz-font-preconnect"))return;const e=document.createElement("link");e.id="tz-font-preconnect",e.rel="preconnect",e.href="https://fonts.googleapis.com",document.head.appendChild(e);const s=document.createElement("link");s.rel="preconnect",s.href="https://fonts.gstatic.com",s.crossOrigin="anonymous",document.head.appendChild(s)}function Ke(e){if(typeof document>"u"||Ie.includes(e))return;const s=`tz-font-${e.trim().replace(/\s+/g,"-").toLowerCase()}`;if(document.getElementById(s))return;Fe();const n=document.createElement("link");n.id=s,n.rel="stylesheet",n.href=`https://fonts.googleapis.com/css2?family=${encodeURIComponent(e.trim()).replace(/%20/g,"+")}&display=swap`,document.head.appendChild(n)}const I="tab",f="nestedTab",F="step",ye=[],pe={},Ee={},Ue={primary:"#13404e",secondary:"#ffffff",background:"#f9f9f9",surface:"#ffffff",accent:"#056472",success:"#00a854",error:"#f04134",info:"#039aa1",warning:"#ffbf00"},Re={primary:"#e6e8eb",secondary:"#191919",background:"#0f0f0f",surface:"#191919",accent:"#16a6b4",success:"#00a854",error:"#f04134",info:"#039aa1",warning:"#ffbf00"};function Ne(e){const s=localStorage.getItem(oe);return s==="light"||s==="dark"?s:e}function Qe(){return{light:localStorage.getItem(C("light"))||null,dark:localStorage.getItem(C("dark"))||null}}function Ye(e){const s=localStorage.getItem(ue);return s==="1"?!0:s==="0"?!1:e}function De(e){return localStorage.getItem(le)||e}function Oe(e){const s=localStorage.getItem(ce);return s==="rounded"||s==="square"?s:e}function Me(e,s){const n=e.map(r=>r.code),u=localStorage.getItem(de);return u&&n.includes(u)?u:s&&n.includes(s)?s:n.find(r=>r.toLowerCase().startsWith("en"))??n[0]??"en-US"}function Pe({config:e,children:s}){var j,J,V,W,X,Z,ee,te,se,ae;const[n,u]=a.useState(()=>{var t;return Ne(((t=e==null?void 0:e.theme)==null?void 0:t.mode)??"light")}),[r,L]=a.useState(Qe),[K,Te]=a.useState(()=>{var t;return Ye(((t=e==null?void 0:e.header)==null?void 0:t.sticky)??!1)}),[E,ie]=a.useState(()=>{var t;return De(((t=e==null?void 0:e.theme)==null?void 0:t.fontFamily)??_)}),[T,Se]=a.useState(()=>{var t;return Oe(((t=e==null?void 0:e.theme)==null?void 0:t.shape)??"rounded")}),k=((j=e==null?void 0:e.i18n)==null?void 0:j.languages)??me,U=(J=e==null?void 0:e.i18n)==null?void 0:J.messages,R=(V=e==null?void 0:e.i18n)==null?void 0:V.appMessages,[m,he]=a.useState(()=>{var t;return Me(k,(t=e==null?void 0:e.i18n)==null?void 0:t.language)}),c=(W=e==null?void 0:e.theme)==null?void 0:W.colors,p=a.useMemo(()=>{const t={...Ue,...c==null?void 0:c.light},l={...t,...Re,...c==null?void 0:c.dark};return{light:t,dark:l}},[c]),N=a.useMemo(()=>({light:p.light.accent,dark:p.dark.accent}),[p]),y=a.useCallback((t,l=r[t])=>{const d=p[t];re(l?{...d,accent:l}:d);const A=document.documentElement;A.setAttribute("data-tz-theme",t),A.style.setProperty("color-scheme",t),localStorage.setItem(oe,t)},[p,r]);a.useLayoutEffect(()=>{y(n)},[y,n]);const Q=(X=e==null?void 0:e.theme)==null?void 0:X.breakpoints;a.useLayoutEffect(()=>{Ce.setBreakpoints(Q)},[JSON.stringify(Q??null)]);const i=a.useCallback(t=>{y(t),u(t)},[y]),Y=a.useCallback(()=>i(n==="light"?"dark":"light"),[n,i]),D=a.useCallback((t,l)=>{const d=l??n;L(A=>({...A,[d]:t})),t?localStorage.setItem(C(d),t):localStorage.removeItem(C(d)),d===n&&y(n,t)},[n,y]),O=a.useCallback(t=>{Te(t),localStorage.setItem(ue,t?"1":"0")},[]),S=a.useCallback(t=>{Ke(t),document.documentElement.style.setProperty("--tz-font-family",fe(t))},[]);a.useLayoutEffect(()=>{S(E)},[S,E]);const M=a.useCallback(t=>{const l=t.trim()||_;S(l),ie(l),localStorage.setItem(le,l)},[S]),h=a.useCallback(t=>{document.documentElement.setAttribute("data-tz-shape",t)},[]);a.useLayoutEffect(()=>{h(T)},[h,T]);const P=a.useCallback(t=>{h(t),Se(t),localStorage.setItem(ce,t)},[h]),g=a.useCallback(t=>{he(t),localStorage.setItem(de,t)},[]),z=a.useMemo(()=>b.createTranslator(m,U),[m,U]),B=a.useMemo(()=>b.createAppTranslator(m,R),[m,R]),v=(e==null?void 0:e.locales)??ye,H=((Z=e==null?void 0:e.keys)==null?void 0:Z.translationsNamespace)??ne.DEFAULT_TRANSLATIONS_NAMESPACE,q=((ee=e==null?void 0:e.keys)==null?void 0:ee.tabQueryKey)??I,w=((te=e==null?void 0:e.keys)==null?void 0:te.nestedTabQueryKey)??f,$=((se=e==null?void 0:e.keys)==null?void 0:se.stepQueryKey)??F,G=((ae=e==null?void 0:e.table)==null?void 0:ae.query)??pe,x=(e==null?void 0:e.header)??Ee,Ae=a.useMemo(()=>({mode:n,setMode:i,toggleMode:Y,accentColors:r,defaultAccentColors:N,setAccentColor:D,locales:v,translationsNamespace:H,tabQueryKey:q,nestedTabQueryKey:w,stepQueryKey:$,tableQuery:G,header:x,headerSticky:K,setHeaderSticky:O,fontFamily:E,setFontFamily:M,shape:T,setShape:P,language:m,setLanguage:g,languages:k,t:z,appT:B}),[n,i,Y,r,N,D,v,H,q,w,$,G,x,K,O,E,M,T,P,m,g,k,z,B]);return be.jsx(o.Provider,{value:Ae,children:s})}function ge(){const e=a.useContext(o);if(!e)throw new Error("useTheme must be used within a <ConfigProvider>");return e}function ze(){var e;return((e=a.useContext(o))==null?void 0:e.locales)??ye}const Be=b.createTranslator("en"),ve=b.createAppTranslator("en");function He(){var e;return((e=a.useContext(o))==null?void 0:e.t)??Be}function qe(){var e;return((e=a.useContext(o))==null?void 0:e.appT)??ve}function we(){const e=a.useContext(o);return{language:(e==null?void 0:e.language)??"en-US",setLanguage:(e==null?void 0:e.setLanguage)??(()=>{}),languages:(e==null?void 0:e.languages)??me}}function $e(){var e;return((e=a.useContext(o))==null?void 0:e.translationsNamespace)??ne.DEFAULT_TRANSLATIONS_NAMESPACE}function Ge(){var e;return((e=a.useContext(o))==null?void 0:e.tabQueryKey)??I}function xe(){var e;return((e=a.useContext(o))==null?void 0:e.nestedTabQueryKey)??f}function je(){var e;return((e=a.useContext(o))==null?void 0:e.stepQueryKey)??F}function Je(){var e;return((e=a.useContext(o))==null?void 0:e.tableQuery)??pe}function Ve(){var e;return((e=a.useContext(o))==null?void 0:e.header)??Ee}exports.ConfigProvider=Pe;exports.DEFAULT_FONT_FAMILY=_;exports.DEFAULT_NESTED_TAB_QUERY_KEY=f;exports.DEFAULT_STEP_QUERY_KEY=F;exports.DEFAULT_TABS_QUERY_KEY=I;exports.applyTheme=re;exports.useHeaderConfig=Ve;exports.useLanguage=we;exports.useLocales=ze;exports.useNestedTabQueryKey=xe;exports.useStepQueryKey=je;exports.useT=He;exports.useTableQueryConfig=Je;exports.useTabsQueryKey=Ge;exports.useTheme=ge;exports.useTranslations=qe;exports.useTranslationsNamespace=$e;
2
+ //# sourceMappingURL=ConfigProvider-BicoaBLj.cjs.map