@televet/kibble-ui 5.0.13-steve.0 → 5.0.14

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 (230) hide show
  1. package/dist/chunks/{alert.types-BsTOOEB7.js → alert.types-DWm1TeiF.js} +3 -3
  2. package/dist/chunks/{alert.types-BsTOOEB7.js.map → alert.types-DWm1TeiF.js.map} +1 -1
  3. package/dist/chunks/{anatomy-BkGk10kB.js → anatomy-B0LtI6sf.js} +2 -2
  4. package/dist/chunks/{anatomy-BkGk10kB.js.map → anatomy-B0LtI6sf.js.map} +1 -1
  5. package/dist/chunks/{anatomy-zd4ecEFD.js → anatomy-DKlFmIC5.js} +12 -12
  6. package/dist/chunks/{anatomy-zd4ecEFD.js.map → anatomy-DKlFmIC5.js.map} +1 -1
  7. package/dist/chunks/{avatar.component-CzutRWy6.js → avatar.component-BL6D6Lw_.js} +5 -5
  8. package/dist/chunks/{avatar.component-CzutRWy6.js.map → avatar.component-BL6D6Lw_.js.map} +1 -1
  9. package/dist/chunks/{avatar.records-EoZmO3VR.js → avatar.records-DFg5kBIk.js} +13 -13
  10. package/dist/chunks/{avatar.records-EoZmO3VR.js.map → avatar.records-DFg5kBIk.js.map} +1 -1
  11. package/dist/chunks/{avatarGroup.component-WSh9t8AX.js → avatarGroup.component-Ba_rfWUg.js} +5 -5
  12. package/dist/chunks/{avatarGroup.component-WSh9t8AX.js.map → avatarGroup.component-Ba_rfWUg.js.map} +1 -1
  13. package/dist/chunks/{buttonGroup.component-TsLHB-LO.js → buttonGroup.component-BNOBvOyv.js} +2 -2
  14. package/dist/chunks/{buttonGroup.component-TsLHB-LO.js.map → buttonGroup.component-BNOBvOyv.js.map} +1 -1
  15. package/dist/chunks/{calendar.component-CiBkNtlB.js → calendar.component-B4EcYQEb.js} +2 -2
  16. package/dist/chunks/{calendar.component-CiBkNtlB.js.map → calendar.component-B4EcYQEb.js.map} +1 -1
  17. package/dist/chunks/{characterCounter.component-CoMqt04J.js → characterCounter.component-DI_FQNUR.js} +2 -2
  18. package/dist/chunks/{characterCounter.component-CoMqt04J.js.map → characterCounter.component-DI_FQNUR.js.map} +1 -1
  19. package/dist/chunks/{checkbox.anatomy-BzZ0IkUF.js → checkbox.anatomy-B8fWV_mm.js} +28 -28
  20. package/dist/chunks/{checkbox.anatomy-BzZ0IkUF.js.map → checkbox.anatomy-B8fWV_mm.js.map} +1 -1
  21. package/dist/chunks/{checkbox.component-C0XdgZkr.js → checkbox.component-DDsVfE4a.js} +9 -9
  22. package/dist/chunks/{checkbox.component-C0XdgZkr.js.map → checkbox.component-DDsVfE4a.js.map} +1 -1
  23. package/dist/chunks/{checkboxGroup.component-lxNvlmd_.js → checkboxGroup.component-Cx2Gvii5.js} +3 -3
  24. package/dist/chunks/{checkboxGroup.component-lxNvlmd_.js.map → checkboxGroup.component-Cx2Gvii5.js.map} +1 -1
  25. package/dist/chunks/{conversationCard.component-B_XSYd1p.js → conversationCard.component-D7hpX-QG.js} +8 -8
  26. package/dist/chunks/{conversationCard.component-B_XSYd1p.js.map → conversationCard.component-D7hpX-QG.js.map} +1 -1
  27. package/dist/chunks/{datePicker.component-BAaIqF1O.js → datePicker.component-BotAJpXU.js} +8 -8
  28. package/dist/chunks/{datePicker.component-BAaIqF1O.js.map → datePicker.component-BotAJpXU.js.map} +1 -1
  29. package/dist/chunks/{datePicker.component-mE9U6yIL.js → datePicker.component-Cx76pUPS.js} +2 -2
  30. package/dist/chunks/{datePicker.component-mE9U6yIL.js.map → datePicker.component-Cx76pUPS.js.map} +1 -1
  31. package/dist/chunks/{datePicker.provider-DEN8clnz.js → datePicker.provider-xtYFjWKI.js} +5 -5
  32. package/dist/chunks/{datePicker.provider-DEN8clnz.js.map → datePicker.provider-xtYFjWKI.js.map} +1 -1
  33. package/dist/chunks/{dateTimePicker.component-NOJdpYNs.js → dateTimePicker.component-CUIKZ5BK.js} +9 -9
  34. package/dist/chunks/{dateTimePicker.component-NOJdpYNs.js.map → dateTimePicker.component-CUIKZ5BK.js.map} +1 -1
  35. package/dist/chunks/{dateTimePicker.component-CmpTclKA.js → dateTimePicker.component-IGSiKHDc.js} +2 -2
  36. package/dist/chunks/{dateTimePicker.component-CmpTclKA.js.map → dateTimePicker.component-IGSiKHDc.js.map} +1 -1
  37. package/dist/chunks/{dialog-B9jifvV4.js → dialog-CJpn28QG.js} +6 -6
  38. package/dist/chunks/{dialog-B9jifvV4.js.map → dialog-CJpn28QG.js.map} +1 -1
  39. package/dist/chunks/{field.anatomy-C37GEr2p.js → field.anatomy-CAraH-al.js} +2 -2
  40. package/dist/chunks/{field.anatomy-C37GEr2p.js.map → field.anatomy-CAraH-al.js.map} +1 -1
  41. package/dist/chunks/{heading.component-PFNpLFT7.js → heading.component-CpSAN3cv.js} +2 -2
  42. package/dist/chunks/{heading.component-PFNpLFT7.js.map → heading.component-CpSAN3cv.js.map} +1 -1
  43. package/dist/chunks/index-6QSGfY1E.js +1011 -0
  44. package/dist/chunks/index-6QSGfY1E.js.map +1 -0
  45. package/dist/chunks/{index-D1RhzPVz.js → index-BBvspkoa.js} +3 -3
  46. package/dist/chunks/{index-D1RhzPVz.js.map → index-BBvspkoa.js.map} +1 -1
  47. package/dist/chunks/{index-D7QT9KIZ.js → index-BU6fRN91.js} +3 -3
  48. package/dist/chunks/{index-D7QT9KIZ.js.map → index-BU6fRN91.js.map} +1 -1
  49. package/dist/chunks/{index-Cxrrsmf-.js → index-BWNl4vB2.js} +8 -8
  50. package/dist/chunks/{index-Cxrrsmf-.js.map → index-BWNl4vB2.js.map} +1 -1
  51. package/dist/chunks/{index-fHSGm2nC.js → index-BcafYtXX.js} +47 -47
  52. package/dist/chunks/{index-fHSGm2nC.js.map → index-BcafYtXX.js.map} +1 -1
  53. package/dist/chunks/index-BhMI6dHH.js +191 -0
  54. package/dist/chunks/index-BhMI6dHH.js.map +1 -0
  55. package/dist/chunks/{index-QVc_GVoE.js → index-C0IJq4ol.js} +15 -15
  56. package/dist/chunks/{index-QVc_GVoE.js.map → index-C0IJq4ol.js.map} +1 -1
  57. package/dist/chunks/{index-wV4hG2vI.js → index-CXLyCyl3.js} +4 -4
  58. package/dist/chunks/{index-wV4hG2vI.js.map → index-CXLyCyl3.js.map} +1 -1
  59. package/dist/chunks/{index-DfzXSlq1.js → index-CcwGiuyq.js} +29 -29
  60. package/dist/chunks/{index-DfzXSlq1.js.map → index-CcwGiuyq.js.map} +1 -1
  61. package/dist/chunks/{index-BbZjRFzg.js → index-CgPTA7y6.js} +3 -3
  62. package/dist/chunks/{index-BbZjRFzg.js.map → index-CgPTA7y6.js.map} +1 -1
  63. package/dist/chunks/{index-CbVKVxMW.js → index-CmREf48Z.js} +11 -11
  64. package/dist/chunks/{index-CbVKVxMW.js.map → index-CmREf48Z.js.map} +1 -1
  65. package/dist/chunks/{index-B3xJnxjd.js → index-DJa3JmO7.js} +14 -14
  66. package/dist/chunks/{index-B3xJnxjd.js.map → index-DJa3JmO7.js.map} +1 -1
  67. package/dist/chunks/{index-DS4KlAkI.js → index-DVGrQEJi.js} +20 -20
  68. package/dist/chunks/{index-DS4KlAkI.js.map → index-DVGrQEJi.js.map} +1 -1
  69. package/dist/chunks/{index-C9UYIjEB.js → index-DcmJgLUo.js} +91 -91
  70. package/dist/chunks/{index-C9UYIjEB.js.map → index-DcmJgLUo.js.map} +1 -1
  71. package/dist/chunks/index-DhaZ70Qi.js +2 -0
  72. package/dist/chunks/index-DhaZ70Qi.js.map +1 -0
  73. package/dist/chunks/index-LDDF3MqB.js +2 -0
  74. package/dist/chunks/index-LDDF3MqB.js.map +1 -0
  75. package/dist/chunks/{index-D0DKQnEK.js → index-NrnnmC8w.js} +13 -13
  76. package/dist/chunks/{index-D0DKQnEK.js.map → index-NrnnmC8w.js.map} +1 -1
  77. package/dist/chunks/{index-BrJtqTzN.js → index-hPXhx9Mi.js} +5 -5
  78. package/dist/chunks/{index-BrJtqTzN.js.map → index-hPXhx9Mi.js.map} +1 -1
  79. package/dist/chunks/{index-BgFImxxe.js → index-k8xPaJWO.js} +12 -12
  80. package/dist/chunks/{index-BgFImxxe.js.map → index-k8xPaJWO.js.map} +1 -1
  81. package/dist/chunks/{index-D3Q0mQNf.js → index-mXLFPoCI.js} +18 -18
  82. package/dist/chunks/{index-D3Q0mQNf.js.map → index-mXLFPoCI.js.map} +1 -1
  83. package/dist/chunks/list-collection-Bla_aoE6.js +6 -0
  84. package/dist/chunks/list-collection-Bla_aoE6.js.map +1 -0
  85. package/dist/chunks/list-collection-DoQwQYv1.js +2 -0
  86. package/dist/chunks/list-collection-DoQwQYv1.js.map +1 -0
  87. package/dist/chunks/{menu.component-Cq9sPsTJ.js → menu.component-BEDMybmZ.js} +10 -10
  88. package/dist/chunks/{menu.component-Cq9sPsTJ.js.map → menu.component-BEDMybmZ.js.map} +1 -1
  89. package/dist/chunks/{modal.types-CVy-QT6f.js → modal.types-Bq9gdlSr.js} +4 -4
  90. package/dist/chunks/{modal.types-CVy-QT6f.js.map → modal.types-Bq9gdlSr.js.map} +1 -1
  91. package/dist/chunks/{notificationCounter.component-BlGSd37B.js → notificationCounter.component-6Q3q8jWj.js} +2 -2
  92. package/dist/chunks/{notificationCounter.component-BlGSd37B.js.map → notificationCounter.component-6Q3q8jWj.js.map} +1 -1
  93. package/dist/chunks/{numberInput.component-nT-7b9qv.js → numberInput.component-DFK4EYLV.js} +6 -6
  94. package/dist/chunks/{numberInput.component-nT-7b9qv.js.map → numberInput.component-DFK4EYLV.js.map} +1 -1
  95. package/dist/chunks/{pinInput.types-B0nfeSUS.js → pinInput.types-BmXYQb7O.js} +6 -6
  96. package/dist/chunks/{pinInput.types-B0nfeSUS.js.map → pinInput.types-BmXYQb7O.js.map} +1 -1
  97. package/dist/chunks/{popover-pd70xkY_.js → popover-Gb1fXSR7.js} +5 -5
  98. package/dist/chunks/{popover-pd70xkY_.js.map → popover-Gb1fXSR7.js.map} +1 -1
  99. package/dist/chunks/{popover-root-provider-DR0Iuda1.js → popover-root-provider-CFn2dthZ.js} +5 -5
  100. package/dist/chunks/{popover-root-provider-DR0Iuda1.js.map → popover-root-provider-CFn2dthZ.js.map} +1 -1
  101. package/dist/chunks/{popover.component-BsiKfJR7.js → popover.component-DIYT1Lc0.js} +8 -8
  102. package/dist/chunks/{popover.component-BsiKfJR7.js.map → popover.component-DIYT1Lc0.js.map} +1 -1
  103. package/dist/chunks/{popover.component-C0nG3J1J.js → popover.component-DTjA1GSd.js} +2 -2
  104. package/dist/chunks/{popover.component-C0nG3J1J.js.map → popover.component-DTjA1GSd.js.map} +1 -1
  105. package/dist/chunks/{popover.recipe-NDvOfG9X.js → popover.recipe-CtptsJg6.js} +2 -2
  106. package/dist/chunks/{popover.recipe-NDvOfG9X.js.map → popover.recipe-CtptsJg6.js.map} +1 -1
  107. package/dist/chunks/{popover.recipe-BAl0q_IZ.js → popover.recipe-DPwwsWLb.js} +2 -2
  108. package/dist/chunks/{popover.recipe-BAl0q_IZ.js.map → popover.recipe-DPwwsWLb.js.map} +1 -1
  109. package/dist/chunks/{progress-value-text-DZkUF2cO.js → progress-value-text-D1GjH6w4.js} +4 -4
  110. package/dist/chunks/{progress-value-text-DZkUF2cO.js.map → progress-value-text-D1GjH6w4.js.map} +1 -1
  111. package/dist/chunks/{radioGroup.types-B--54AgI.js → radioGroup.types-CVFQ5dZ7.js} +7 -7
  112. package/dist/chunks/{radioGroup.types-B--54AgI.js.map → radioGroup.types-CVFQ5dZ7.js.map} +1 -1
  113. package/dist/chunks/{rating-group-CfwdAW9a.js → rating-group-DRCWuE5-.js} +5 -5
  114. package/dist/chunks/{rating-group-CfwdAW9a.js.map → rating-group-DRCWuE5-.js.map} +1 -1
  115. package/dist/chunks/{rating.component-DHlwuL8y.js → rating.component-CQgpD-gS.js} +3 -3
  116. package/dist/chunks/{rating.component-DHlwuL8y.js.map → rating.component-CQgpD-gS.js.map} +1 -1
  117. package/dist/chunks/{ratingDots.component-C3ABFE0-.js → ratingDots.component-C1KgTGWj.js} +3 -3
  118. package/dist/chunks/{ratingDots.component-C3ABFE0-.js.map → ratingDots.component-C1KgTGWj.js.map} +1 -1
  119. package/dist/chunks/{render-strategy-munDZLwL.js → render-strategy-DLvzMQD1.js} +2 -2
  120. package/dist/chunks/{render-strategy-munDZLwL.js.map → render-strategy-DLvzMQD1.js.map} +1 -1
  121. package/dist/chunks/{select.component-D5EioB-E.js → select.component-BkDkYpf2.js} +254 -253
  122. package/dist/chunks/select.component-BkDkYpf2.js.map +1 -0
  123. package/dist/chunks/select.component-DoFwe4lJ.js +2 -0
  124. package/dist/chunks/select.component-DoFwe4lJ.js.map +1 -0
  125. package/dist/chunks/{sortableList.component-B2XQoMq7.js → sortableList.component-CbxbBLVQ.js} +3 -3
  126. package/dist/chunks/{sortableList.component-B2XQoMq7.js.map → sortableList.component-CbxbBLVQ.js.map} +1 -1
  127. package/dist/chunks/{spinner.component-D3s81AJH.js → spinner.component-CNHQ8UDz.js} +2 -2
  128. package/dist/chunks/{spinner.component-D3s81AJH.js.map → spinner.component-CNHQ8UDz.js.map} +1 -1
  129. package/dist/chunks/{styledAvatar.types-Dd3tKh-E.js → styledAvatar.types-BaOkOA8K.js} +2 -2
  130. package/dist/chunks/{styledAvatar.types-Dd3tKh-E.js.map → styledAvatar.types-BaOkOA8K.js.map} +1 -1
  131. package/dist/chunks/{switch.component-xlG0hUNX.js → switch.component-Cr8Abw0U.js} +6 -6
  132. package/dist/chunks/{switch.component-xlG0hUNX.js.map → switch.component-Cr8Abw0U.js.map} +1 -1
  133. package/dist/chunks/{tab.types-CO64KNxl.js → tab.types-BoHuF-QZ.js} +13 -13
  134. package/dist/chunks/{tab.types-CO64KNxl.js.map → tab.types-BoHuF-QZ.js.map} +1 -1
  135. package/dist/chunks/{tagBlock.component-BKYJDU4L.js → tagBlock.component-DjbevH0J.js} +5 -5
  136. package/dist/chunks/{tagBlock.component-BKYJDU4L.js.map → tagBlock.component-DjbevH0J.js.map} +1 -1
  137. package/dist/chunks/{text.component-IjomJyJY.js → text.component-DhuUgP3j.js} +2 -2
  138. package/dist/chunks/{text.component-IjomJyJY.js.map → text.component-DhuUgP3j.js.map} +1 -1
  139. package/dist/chunks/{textInput.component-BMy6cEdV.js → textInput.component-C7kdQ8hF.js} +6 -6
  140. package/dist/chunks/{textInput.component-BMy6cEdV.js.map → textInput.component-C7kdQ8hF.js.map} +1 -1
  141. package/dist/chunks/{textarea.component-ChN0RGoe.js → textarea.component-W9VBnd4-.js} +12 -12
  142. package/dist/chunks/{textarea.component-ChN0RGoe.js.map → textarea.component-W9VBnd4-.js.map} +1 -1
  143. package/dist/chunks/{theme.provider-CezsihF5.js → theme.provider-BWhqnOFC.js} +2 -2
  144. package/dist/chunks/{theme.provider-CezsihF5.js.map → theme.provider-BWhqnOFC.js.map} +1 -1
  145. package/dist/chunks/{theme.provider-wnaH4Plk.js → theme.provider-Cl9_chOv.js} +15 -15
  146. package/dist/chunks/{theme.provider-wnaH4Plk.js.map → theme.provider-Cl9_chOv.js.map} +1 -1
  147. package/dist/chunks/{timePicker.component-CSm0UnA5.js → timePicker.component-CDb67FCr.js} +3 -3
  148. package/dist/chunks/{timePicker.component-CSm0UnA5.js.map → timePicker.component-CDb67FCr.js.map} +1 -1
  149. package/dist/chunks/{timePicker.component-BbDzVLdb.js → timePicker.component-CIk5bEyP.js} +2 -2
  150. package/dist/chunks/{timePicker.component-BbDzVLdb.js.map → timePicker.component-CIk5bEyP.js.map} +1 -1
  151. package/dist/chunks/{timeRange.component-Cwn94GUk.js → timeRange.component-B1WKwc-X.js} +2 -2
  152. package/dist/chunks/{timeRange.component-Cwn94GUk.js.map → timeRange.component-B1WKwc-X.js.map} +1 -1
  153. package/dist/chunks/{timeRange.component-DyB1Jo1d.js → timeRange.component-NX1EOY8h.js} +2 -2
  154. package/dist/chunks/{timeRange.component-DyB1Jo1d.js.map → timeRange.component-NX1EOY8h.js.map} +1 -1
  155. package/dist/chunks/{timestamp.component-IfjfMFXl.js → timestamp.component-DkLjxUsy.js} +3 -3
  156. package/dist/chunks/{timestamp.component-IfjfMFXl.js.map → timestamp.component-DkLjxUsy.js.map} +1 -1
  157. package/dist/chunks/{toaster.records-Cb3hbtuY.js → toaster.records-BzZmnA3j.js} +69 -69
  158. package/dist/chunks/{toaster.records-Cb3hbtuY.js.map → toaster.records-BzZmnA3j.js.map} +1 -1
  159. package/dist/chunks/{tooltip.component-DFsQNG1q.js → tooltip.component-CHohp2qn.js} +5 -5
  160. package/dist/chunks/{tooltip.component-DFsQNG1q.js.map → tooltip.component-CHohp2qn.js.map} +1 -1
  161. package/dist/chunks/{use-field-context-DrC9mrDd.js → use-field-context-BoqOeObh.js} +2 -2
  162. package/dist/chunks/{use-field-context-DrC9mrDd.js.map → use-field-context-BoqOeObh.js.map} +1 -1
  163. package/dist/chunks/{use-locale-context-Bw4Gg9Z0.js → use-locale-context-DmcfCmf9.js} +11 -11
  164. package/dist/chunks/{use-locale-context-Bw4Gg9Z0.js.map → use-locale-context-DmcfCmf9.js.map} +1 -1
  165. package/dist/chunks/{withFormControl-lDkIqkED.js → withFormControl-08PrhcOk.js} +6 -6
  166. package/dist/chunks/{withFormControl-lDkIqkED.js.map → withFormControl-08PrhcOk.js.map} +1 -1
  167. package/dist/chunks/{withTruncation-CqDQUSVU.js → withTruncation-B2GhwmHG.js} +2 -2
  168. package/dist/chunks/{withTruncation-CqDQUSVU.js.map → withTruncation-B2GhwmHG.js.map} +1 -1
  169. package/dist/cjs/chakra/index.cjs +2 -2
  170. package/dist/cjs/chakra/index.cjs.map +1 -1
  171. package/dist/cjs/components/DatePicker/index.cjs +1 -1
  172. package/dist/cjs/components/DateTimePicker/index.cjs +1 -1
  173. package/dist/cjs/components/Popover/index.cjs +1 -1
  174. package/dist/cjs/components/Select/index.cjs +1 -1
  175. package/dist/cjs/components/TimePicker/index.cjs +1 -1
  176. package/dist/cjs/components/TimeRange/index.cjs +1 -1
  177. package/dist/cjs/components/index.cjs +1 -1
  178. package/dist/cjs/index.cjs +1 -1
  179. package/dist/cjs/theme/index.cjs +1 -1
  180. package/dist/esm/chakra/index.js +17 -15
  181. package/dist/esm/chakra/index.js.map +1 -1
  182. package/dist/esm/components/Alert/index.js +1 -1
  183. package/dist/esm/components/Avatar/index.js +1 -1
  184. package/dist/esm/components/AvatarGroup/index.js +1 -1
  185. package/dist/esm/components/ButtonGroup/index.js +1 -1
  186. package/dist/esm/components/Calendar/index.js +1 -1
  187. package/dist/esm/components/CharacterCounter/index.js +1 -1
  188. package/dist/esm/components/Checkbox/index.js +1 -1
  189. package/dist/esm/components/CheckboxGroup/index.js +1 -1
  190. package/dist/esm/components/ConversationCard/index.js +1 -1
  191. package/dist/esm/components/DatePicker/index.js +2 -2
  192. package/dist/esm/components/DateTimePicker/index.js +1 -1
  193. package/dist/esm/components/Heading/index.js +1 -1
  194. package/dist/esm/components/Menu/index.js +1 -1
  195. package/dist/esm/components/Modal/index.js +1 -1
  196. package/dist/esm/components/NotificationCounter/index.js +1 -1
  197. package/dist/esm/components/NumberInput/index.js +1 -1
  198. package/dist/esm/components/PinInput/index.js +1 -1
  199. package/dist/esm/components/Popover/index.js +1 -1
  200. package/dist/esm/components/Progress/index.js +3 -3
  201. package/dist/esm/components/RadioGroup/index.js +1 -1
  202. package/dist/esm/components/Rating/index.js +1 -1
  203. package/dist/esm/components/RatingDots/index.js +1 -1
  204. package/dist/esm/components/Select/index.js +1 -1
  205. package/dist/esm/components/SortableList/index.js +1 -1
  206. package/dist/esm/components/Spinner/index.js +1 -1
  207. package/dist/esm/components/StyledAvatar/index.js +1 -1
  208. package/dist/esm/components/Switch/index.js +1 -1
  209. package/dist/esm/components/Tabs/index.js +1 -1
  210. package/dist/esm/components/TagBlock/index.js +1 -1
  211. package/dist/esm/components/Text/index.js +1 -1
  212. package/dist/esm/components/TextInput/index.js +1 -1
  213. package/dist/esm/components/Textarea/index.js +1 -1
  214. package/dist/esm/components/TimePicker/index.js +1 -1
  215. package/dist/esm/components/TimeRange/index.js +1 -1
  216. package/dist/esm/components/Timestamp/index.js +1 -1
  217. package/dist/esm/components/Toast/index.js +1 -1
  218. package/dist/esm/components/Tooltip/index.js +1 -1
  219. package/dist/esm/components/index.js +36 -36
  220. package/dist/esm/index.js +37 -37
  221. package/dist/esm/theme/index.js +1 -1
  222. package/dist/types/chakra/index.d.ts +1 -0
  223. package/package.json +1 -1
  224. package/dist/chunks/index-BGd_2-DY.js +0 -1197
  225. package/dist/chunks/index-BGd_2-DY.js.map +0 -1
  226. package/dist/chunks/index-_913FPya.js +0 -2
  227. package/dist/chunks/index-_913FPya.js.map +0 -1
  228. package/dist/chunks/select.component-D-1YMPU9.js +0 -2
  229. package/dist/chunks/select.component-D-1YMPU9.js.map +0 -1
  230. package/dist/chunks/select.component-D5EioB-E.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index-BrJtqTzN.js","sources":["../../node_modules/@zag-js/color-utils/dist/index.mjs","../../node_modules/@zag-js/color-picker/dist/index.mjs","../../node_modules/@zag-js/accordion/dist/index.mjs","../../node_modules/@zag-js/clipboard/dist/index.mjs","../../node_modules/@ark-ui/react/dist/components/color-picker/color-picker.anatomy.js","../../node_modules/@zag-js/file-utils/dist/index.mjs","../../node_modules/@zag-js/editable/dist/index.mjs","../../node_modules/@zag-js/i18n-utils/dist/index.mjs","../../node_modules/@zag-js/file-upload/dist/index.mjs","../../node_modules/@zag-js/slider/dist/index.mjs"],"sourcesContent":["import { getValuePercent, getPercentValue, snapValueToStep, clampValue, toFixedNumber, mod } from '@zag-js/utils';\n\nvar __defProp = Object.defineProperty;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __publicField = (obj, key, value) => __defNormalProp(obj, key + \"\" , value);\n\n// src/color-format-gradient.ts\nvar generateRGB_R = (orientation, dir, zValue) => {\n const maskImage = `linear-gradient(to ${orientation[Number(!dir)]}, transparent, #000)`;\n const result = {\n areaStyles: {\n backgroundImage: `linear-gradient(to ${orientation[Number(dir)]},rgb(${zValue},0,0),rgb(${zValue},255,0))`\n },\n areaGradientStyles: {\n backgroundImage: `linear-gradient(to ${orientation[Number(dir)]},rgb(${zValue},0,255),rgb(${zValue},255,255))`,\n WebkitMaskImage: maskImage,\n maskImage\n }\n };\n return result;\n};\nvar generateRGB_G = (orientation, dir, zValue) => {\n const maskImage = `linear-gradient(to ${orientation[Number(!dir)]}, transparent, #000)`;\n const result = {\n areaStyles: {\n backgroundImage: `linear-gradient(to ${orientation[Number(dir)]},rgb(0,${zValue},0),rgb(255,${zValue},0))`\n },\n areaGradientStyles: {\n backgroundImage: `linear-gradient(to ${orientation[Number(dir)]},rgb(0,${zValue},255),rgb(255,${zValue},255))`,\n WebkitMaskImage: maskImage,\n maskImage\n }\n };\n return result;\n};\nvar generateRGB_B = (orientation, dir, zValue) => {\n const maskImage = `linear-gradient(to ${orientation[Number(!dir)]}, transparent, #000)`;\n const result = {\n areaStyles: {\n backgroundImage: `linear-gradient(to ${orientation[Number(dir)]},rgb(0,0,${zValue}),rgb(255,0,${zValue}))`\n },\n areaGradientStyles: {\n backgroundImage: `linear-gradient(to ${orientation[Number(dir)]},rgb(0,255,${zValue}),rgb(255,255,${zValue}))`,\n WebkitMaskImage: maskImage,\n maskImage\n }\n };\n return result;\n};\nvar generateHSL_H = (orientation, dir, zValue) => {\n const result = {\n areaStyles: {},\n areaGradientStyles: {\n background: [\n `linear-gradient(to ${orientation[Number(dir)]}, hsla(0,0%,0%,1) 0%, hsla(0,0%,0%,0) 50%, hsla(0,0%,100%,0) 50%, hsla(0,0%,100%,1) 100%)`,\n `linear-gradient(to ${orientation[Number(!dir)]},hsl(0,0%,50%),hsla(0,0%,50%,0))`,\n `hsl(${zValue}, 100%, 50%)`\n ].join(\",\")\n }\n };\n return result;\n};\nvar generateHSL_S = (orientation, dir, alphaValue) => {\n const result = {\n areaStyles: {},\n areaGradientStyles: {\n background: [\n `linear-gradient(to ${orientation[Number(!dir)]}, hsla(0,0%,0%,${alphaValue}) 0%, hsla(0,0%,0%,0) 50%, hsla(0,0%,100%,0) 50%, hsla(0,0%,100%,${alphaValue}) 100%)`,\n `linear-gradient(to ${orientation[Number(dir)]},hsla(0,100%,50%,${alphaValue}),hsla(60,100%,50%,${alphaValue}),hsla(120,100%,50%,${alphaValue}),hsla(180,100%,50%,${alphaValue}),hsla(240,100%,50%,${alphaValue}),hsla(300,100%,50%,${alphaValue}),hsla(359,100%,50%,${alphaValue}))`,\n \"hsl(0, 0%, 50%)\"\n ].join(\",\")\n }\n };\n return result;\n};\nvar generateHSL_L = (orientation, dir, zValue) => {\n const result = {\n areaStyles: {},\n areaGradientStyles: {\n backgroundImage: [\n `linear-gradient(to ${orientation[Number(!dir)]},hsl(0,0%,${zValue}%),hsla(0,0%,${zValue}%,0))`,\n `linear-gradient(to ${orientation[Number(dir)]},hsl(0,100%,${zValue}%),hsl(60,100%,${zValue}%),hsl(120,100%,${zValue}%),hsl(180,100%,${zValue}%),hsl(240,100%,${zValue}%),hsl(300,100%,${zValue}%),hsl(360,100%,${zValue}%))`\n ].join(\",\")\n }\n };\n return result;\n};\nvar generateHSB_H = (orientation, dir, zValue) => {\n const result = {\n areaStyles: {},\n areaGradientStyles: {\n background: [\n `linear-gradient(to ${orientation[Number(dir)]},hsl(0,0%,0%),hsla(0,0%,0%,0))`,\n `linear-gradient(to ${orientation[Number(!dir)]},hsl(0,0%,100%),hsla(0,0%,100%,0))`,\n `hsl(${zValue}, 100%, 50%)`\n ].join(\",\")\n }\n };\n return result;\n};\nvar generateHSB_S = (orientation, dir, alphaValue) => {\n const result = {\n areaStyles: {},\n areaGradientStyles: {\n background: [\n `linear-gradient(to ${orientation[Number(!dir)]},hsla(0,0%,0%,${alphaValue}),hsla(0,0%,0%,0))`,\n `linear-gradient(to ${orientation[Number(dir)]},hsla(0,100%,50%,${alphaValue}),hsla(60,100%,50%,${alphaValue}),hsla(120,100%,50%,${alphaValue}),hsla(180,100%,50%,${alphaValue}),hsla(240,100%,50%,${alphaValue}),hsla(300,100%,50%,${alphaValue}),hsla(359,100%,50%,${alphaValue}))`,\n `linear-gradient(to ${orientation[Number(!dir)]},hsl(0,0%,0%),hsl(0,0%,100%))`\n ].join(\",\")\n }\n };\n return result;\n};\nvar generateHSB_B = (orientation, dir, alphaValue) => {\n const result = {\n areaStyles: {},\n areaGradientStyles: {\n background: [\n `linear-gradient(to ${orientation[Number(!dir)]},hsla(0,0%,100%,${alphaValue}),hsla(0,0%,100%,0))`,\n `linear-gradient(to ${orientation[Number(dir)]},hsla(0,100%,50%,${alphaValue}),hsla(60,100%,50%,${alphaValue}),hsla(120,100%,50%,${alphaValue}),hsla(180,100%,50%,${alphaValue}),hsla(240,100%,50%,${alphaValue}),hsla(300,100%,50%,${alphaValue}),hsla(359,100%,50%,${alphaValue}))`,\n \"#000\"\n ].join(\",\")\n }\n };\n return result;\n};\n\n// src/area-gradient.ts\nfunction getColorAreaGradient(color, options) {\n const { xChannel, yChannel, dir: dirProp = \"ltr\" } = options;\n const { zChannel } = color.getColorAxes({ xChannel, yChannel });\n const zValue = color.getChannelValue(zChannel);\n const { minValue: zMin, maxValue: zMax } = color.getChannelRange(zChannel);\n const orientation = [\"top\", dirProp === \"rtl\" ? \"left\" : \"right\"];\n let dir = false;\n let background = { areaStyles: {}, areaGradientStyles: {} };\n let alphaValue = (zValue - zMin) / (zMax - zMin);\n let isHSL = color.getFormat() === \"hsla\";\n switch (zChannel) {\n case \"red\": {\n dir = xChannel === \"green\";\n background = generateRGB_R(orientation, dir, zValue);\n break;\n }\n case \"green\": {\n dir = xChannel === \"red\";\n background = generateRGB_G(orientation, dir, zValue);\n break;\n }\n case \"blue\": {\n dir = xChannel === \"red\";\n background = generateRGB_B(orientation, dir, zValue);\n break;\n }\n case \"hue\": {\n dir = xChannel !== \"saturation\";\n if (isHSL) {\n background = generateHSL_H(orientation, dir, zValue);\n } else {\n background = generateHSB_H(orientation, dir, zValue);\n }\n break;\n }\n case \"saturation\": {\n dir = xChannel === \"hue\";\n if (isHSL) {\n background = generateHSL_S(orientation, dir, alphaValue);\n } else {\n background = generateHSB_S(orientation, dir, alphaValue);\n }\n break;\n }\n case \"brightness\": {\n dir = xChannel === \"hue\";\n background = generateHSB_B(orientation, dir, alphaValue);\n break;\n }\n case \"lightness\": {\n dir = xChannel === \"hue\";\n background = generateHSL_L(orientation, dir, zValue);\n break;\n }\n }\n return background;\n}\nvar isEqualObject = (a, b) => {\n if (Object.keys(a).length !== Object.keys(b).length) return false;\n for (let key in a) if (a[key] !== b[key]) return false;\n return true;\n};\nvar Color = class {\n toHexInt() {\n return this.toFormat(\"rgba\").toHexInt();\n }\n getChannelValue(channel) {\n if (channel in this) return this[channel];\n throw new Error(\"Unsupported color channel: \" + channel);\n }\n getChannelValuePercent(channel, valueToCheck) {\n const value = valueToCheck ?? this.getChannelValue(channel);\n const { minValue, maxValue } = this.getChannelRange(channel);\n return getValuePercent(value, minValue, maxValue);\n }\n getChannelPercentValue(channel, percentToCheck) {\n const { minValue, maxValue, step } = this.getChannelRange(channel);\n const percentValue = getPercentValue(percentToCheck, minValue, maxValue, step);\n return snapValueToStep(percentValue, minValue, maxValue, step);\n }\n withChannelValue(channel, value) {\n const { minValue, maxValue } = this.getChannelRange(channel);\n if (channel in this) {\n let clone = this.clone();\n clone[channel] = clampValue(value, minValue, maxValue);\n return clone;\n }\n throw new Error(\"Unsupported color channel: \" + channel);\n }\n getColorAxes(xyChannels) {\n let { xChannel, yChannel } = xyChannels;\n let xCh = xChannel || this.getChannels().find((c) => c !== yChannel);\n let yCh = yChannel || this.getChannels().find((c) => c !== xCh);\n let zCh = this.getChannels().find((c) => c !== xCh && c !== yCh);\n return { xChannel: xCh, yChannel: yCh, zChannel: zCh };\n }\n incrementChannel(channel, stepSize) {\n const { minValue, maxValue, step } = this.getChannelRange(channel);\n const value = snapValueToStep(\n clampValue(this.getChannelValue(channel) + stepSize, minValue, maxValue),\n minValue,\n maxValue,\n step\n );\n return this.withChannelValue(channel, value);\n }\n decrementChannel(channel, stepSize) {\n return this.incrementChannel(channel, -stepSize);\n }\n isEqual(color) {\n const isSame = isEqualObject(this.toJSON(), color.toJSON());\n return isSame && this.getChannelValue(\"alpha\") === color.getChannelValue(\"alpha\");\n }\n};\nvar HEX_COLOR_REGEX = /^#[\\da-f]+$/i;\nvar RGB_COLOR_REGEX = /^rgba?\\((.*)\\)$/;\nvar HEX_STARTING_REGEX = /[^#]/gi;\nvar _RGBColor = class _RGBColor extends Color {\n constructor(red, green, blue, alpha) {\n super();\n this.red = red;\n this.green = green;\n this.blue = blue;\n this.alpha = alpha;\n }\n static parse(value) {\n let colors = [];\n if (HEX_COLOR_REGEX.test(value) && [4, 5, 7, 9].includes(value.length)) {\n const values = (value.length < 6 ? value.replace(HEX_STARTING_REGEX, \"$&$&\") : value).slice(1).split(\"\");\n while (values.length > 0) {\n colors.push(parseInt(values.splice(0, 2).join(\"\"), 16));\n }\n colors[3] = colors[3] !== void 0 ? colors[3] / 255 : void 0;\n }\n const match = value.match(RGB_COLOR_REGEX);\n if (match?.[1]) {\n colors = match[1].split(\",\").map((value2) => Number(value2.trim())).map((num, i) => clampValue(num, 0, i < 3 ? 255 : 1));\n }\n return colors.length < 3 ? void 0 : new _RGBColor(colors[0], colors[1], colors[2], colors[3] ?? 1);\n }\n toString(format) {\n switch (format) {\n case \"hex\":\n return \"#\" + (this.red.toString(16).padStart(2, \"0\") + this.green.toString(16).padStart(2, \"0\") + this.blue.toString(16).padStart(2, \"0\")).toUpperCase();\n case \"hexa\":\n return \"#\" + (this.red.toString(16).padStart(2, \"0\") + this.green.toString(16).padStart(2, \"0\") + this.blue.toString(16).padStart(2, \"0\") + Math.round(this.alpha * 255).toString(16).padStart(2, \"0\")).toUpperCase();\n case \"rgb\":\n return `rgb(${this.red}, ${this.green}, ${this.blue})`;\n case \"css\":\n case \"rgba\":\n return `rgba(${this.red}, ${this.green}, ${this.blue}, ${this.alpha})`;\n case \"hsl\":\n return this.toHSL().toString(\"hsl\");\n case \"hsb\":\n return this.toHSB().toString(\"hsb\");\n default:\n return this.toFormat(format).toString(format);\n }\n }\n toFormat(format) {\n switch (format) {\n case \"rgba\":\n return this;\n case \"hsba\":\n return this.toHSB();\n case \"hsla\":\n return this.toHSL();\n default:\n throw new Error(\"Unsupported color conversion: rgb -> \" + format);\n }\n }\n toHexInt() {\n return this.red << 16 | this.green << 8 | this.blue;\n }\n /**\n * Converts an RGB color value to HSB.\n * Conversion formula adapted from https://en.wikipedia.org/wiki/HSL_and_HSV#From_RGB.\n * @returns An HSBColor object.\n */\n toHSB() {\n const red = this.red / 255;\n const green = this.green / 255;\n const blue = this.blue / 255;\n const min = Math.min(red, green, blue);\n const brightness = Math.max(red, green, blue);\n const chroma = brightness - min;\n const saturation = brightness === 0 ? 0 : chroma / brightness;\n let hue = 0;\n if (chroma !== 0) {\n switch (brightness) {\n case red:\n hue = (green - blue) / chroma + (green < blue ? 6 : 0);\n break;\n case green:\n hue = (blue - red) / chroma + 2;\n break;\n case blue:\n hue = (red - green) / chroma + 4;\n break;\n }\n hue /= 6;\n }\n return new HSBColor(\n toFixedNumber(hue * 360, 2),\n toFixedNumber(saturation * 100, 2),\n toFixedNumber(brightness * 100, 2),\n toFixedNumber(this.alpha, 2)\n );\n }\n /**\n * Converts an RGB color value to HSL.\n * Conversion formula adapted from https://en.wikipedia.org/wiki/HSL_and_HSV#From_RGB.\n * @returns An HSLColor object.\n */\n toHSL() {\n const red = this.red / 255;\n const green = this.green / 255;\n const blue = this.blue / 255;\n const min = Math.min(red, green, blue);\n const max = Math.max(red, green, blue);\n const lightness = (max + min) / 2;\n const chroma = max - min;\n let hue = -1;\n let saturation = -1;\n if (chroma === 0) {\n hue = saturation = 0;\n } else {\n saturation = chroma / (lightness < 0.5 ? max + min : 2 - max - min);\n switch (max) {\n case red:\n hue = (green - blue) / chroma + (green < blue ? 6 : 0);\n break;\n case green:\n hue = (blue - red) / chroma + 2;\n break;\n case blue:\n hue = (red - green) / chroma + 4;\n break;\n }\n hue /= 6;\n }\n return new HSLColor(\n toFixedNumber(hue * 360, 2),\n toFixedNumber(saturation * 100, 2),\n toFixedNumber(lightness * 100, 2),\n toFixedNumber(this.alpha, 2)\n );\n }\n clone() {\n return new _RGBColor(this.red, this.green, this.blue, this.alpha);\n }\n getChannelFormatOptions(channel) {\n switch (channel) {\n case \"red\":\n case \"green\":\n case \"blue\":\n return { style: \"decimal\" };\n case \"alpha\":\n return { style: \"percent\" };\n default:\n throw new Error(\"Unknown color channel: \" + channel);\n }\n }\n formatChannelValue(channel, locale) {\n let options = this.getChannelFormatOptions(channel);\n let value = this.getChannelValue(channel);\n return new Intl.NumberFormat(locale, options).format(value);\n }\n getChannelRange(channel) {\n switch (channel) {\n case \"red\":\n case \"green\":\n case \"blue\":\n return { minValue: 0, maxValue: 255, step: 1, pageSize: 17 };\n case \"alpha\":\n return { minValue: 0, maxValue: 1, step: 0.01, pageSize: 0.1 };\n default:\n throw new Error(\"Unknown color channel: \" + channel);\n }\n }\n toJSON() {\n return { r: this.red, g: this.green, b: this.blue, a: this.alpha };\n }\n getFormat() {\n return \"rgba\";\n }\n getChannels() {\n return _RGBColor.colorChannels;\n }\n};\n__publicField(_RGBColor, \"colorChannels\", [\"red\", \"green\", \"blue\"]);\nvar RGBColor = _RGBColor;\n\n// src/hsl-color.ts\nvar HSL_REGEX = /hsl\\(([-+]?\\d+(?:.\\d+)?\\s*,\\s*[-+]?\\d+(?:.\\d+)?%\\s*,\\s*[-+]?\\d+(?:.\\d+)?%)\\)|hsla\\(([-+]?\\d+(?:.\\d+)?\\s*,\\s*[-+]?\\d+(?:.\\d+)?%\\s*,\\s*[-+]?\\d+(?:.\\d+)?%\\s*,\\s*[-+]?\\d(.\\d+)?)\\)/;\nvar _HSLColor = class _HSLColor extends Color {\n constructor(hue, saturation, lightness, alpha) {\n super();\n this.hue = hue;\n this.saturation = saturation;\n this.lightness = lightness;\n this.alpha = alpha;\n }\n static parse(value) {\n let m;\n if (m = value.match(HSL_REGEX)) {\n const [h, s, l, a] = (m[1] ?? m[2]).split(\",\").map((n) => Number(n.trim().replace(\"%\", \"\")));\n return new _HSLColor(mod(h, 360), clampValue(s, 0, 100), clampValue(l, 0, 100), clampValue(a ?? 1, 0, 1));\n }\n }\n toString(format) {\n switch (format) {\n case \"hex\":\n return this.toRGB().toString(\"hex\");\n case \"hexa\":\n return this.toRGB().toString(\"hexa\");\n case \"hsl\":\n return `hsl(${this.hue}, ${toFixedNumber(this.saturation, 2)}%, ${toFixedNumber(this.lightness, 2)}%)`;\n case \"css\":\n case \"hsla\":\n return `hsla(${this.hue}, ${toFixedNumber(this.saturation, 2)}%, ${toFixedNumber(this.lightness, 2)}%, ${this.alpha})`;\n case \"hsb\":\n return this.toHSB().toString(\"hsb\");\n case \"rgb\":\n return this.toRGB().toString(\"rgb\");\n default:\n return this.toFormat(format).toString(format);\n }\n }\n toFormat(format) {\n switch (format) {\n case \"hsla\":\n return this;\n case \"hsba\":\n return this.toHSB();\n case \"rgba\":\n return this.toRGB();\n default:\n throw new Error(\"Unsupported color conversion: hsl -> \" + format);\n }\n }\n /**\n * Converts a HSL color to HSB.\n * Conversion formula adapted from https://en.wikipedia.org/wiki/HSL_and_HSV#HSL_to_HSV.\n * @returns An HSBColor object.\n */\n toHSB() {\n let saturation = this.saturation / 100;\n let lightness = this.lightness / 100;\n let brightness = lightness + saturation * Math.min(lightness, 1 - lightness);\n saturation = brightness === 0 ? 0 : 2 * (1 - lightness / brightness);\n return new HSBColor(\n toFixedNumber(this.hue, 2),\n toFixedNumber(saturation * 100, 2),\n toFixedNumber(brightness * 100, 2),\n toFixedNumber(this.alpha, 2)\n );\n }\n /**\n * Converts a HSL color to RGB.\n * Conversion formula adapted from https://en.wikipedia.org/wiki/HSL_and_HSV#HSL_to_RGB_alternative.\n * @returns An RGBColor object.\n */\n toRGB() {\n let hue = this.hue;\n let saturation = this.saturation / 100;\n let lightness = this.lightness / 100;\n let a = saturation * Math.min(lightness, 1 - lightness);\n let fn = (n, k = (n + hue / 30) % 12) => lightness - a * Math.max(Math.min(k - 3, 9 - k, 1), -1);\n return new RGBColor(\n Math.round(fn(0) * 255),\n Math.round(fn(8) * 255),\n Math.round(fn(4) * 255),\n toFixedNumber(this.alpha, 2)\n );\n }\n clone() {\n return new _HSLColor(this.hue, this.saturation, this.lightness, this.alpha);\n }\n getChannelFormatOptions(channel) {\n switch (channel) {\n case \"hue\":\n return { style: \"unit\", unit: \"degree\", unitDisplay: \"narrow\" };\n case \"saturation\":\n case \"lightness\":\n case \"alpha\":\n return { style: \"percent\" };\n default:\n throw new Error(\"Unknown color channel: \" + channel);\n }\n }\n formatChannelValue(channel, locale) {\n let options = this.getChannelFormatOptions(channel);\n let value = this.getChannelValue(channel);\n if (channel === \"saturation\" || channel === \"lightness\") {\n value /= 100;\n }\n return new Intl.NumberFormat(locale, options).format(value);\n }\n getChannelRange(channel) {\n switch (channel) {\n case \"hue\":\n return { minValue: 0, maxValue: 360, step: 1, pageSize: 15 };\n case \"saturation\":\n case \"lightness\":\n return { minValue: 0, maxValue: 100, step: 1, pageSize: 10 };\n case \"alpha\":\n return { minValue: 0, maxValue: 1, step: 0.01, pageSize: 0.1 };\n default:\n throw new Error(\"Unknown color channel: \" + channel);\n }\n }\n toJSON() {\n return { h: this.hue, s: this.saturation, l: this.lightness, a: this.alpha };\n }\n getFormat() {\n return \"hsla\";\n }\n getChannels() {\n return _HSLColor.colorChannels;\n }\n};\n__publicField(_HSLColor, \"colorChannels\", [\"hue\", \"saturation\", \"lightness\"]);\nvar HSLColor = _HSLColor;\n\n// src/hsb-color.ts\nvar HSB_REGEX = /hsb\\(([-+]?\\d+(?:.\\d+)?\\s*,\\s*[-+]?\\d+(?:.\\d+)?%\\s*,\\s*[-+]?\\d+(?:.\\d+)?%)\\)|hsba\\(([-+]?\\d+(?:.\\d+)?\\s*,\\s*[-+]?\\d+(?:.\\d+)?%\\s*,\\s*[-+]?\\d+(?:.\\d+)?%\\s*,\\s*[-+]?\\d(.\\d+)?)\\)/;\nvar _HSBColor = class _HSBColor extends Color {\n constructor(hue, saturation, brightness, alpha) {\n super();\n this.hue = hue;\n this.saturation = saturation;\n this.brightness = brightness;\n this.alpha = alpha;\n }\n static parse(value) {\n let m;\n if (m = value.match(HSB_REGEX)) {\n const [h, s, b, a] = (m[1] ?? m[2]).split(\",\").map((n) => Number(n.trim().replace(\"%\", \"\")));\n return new _HSBColor(mod(h, 360), clampValue(s, 0, 100), clampValue(b, 0, 100), clampValue(a ?? 1, 0, 1));\n }\n }\n toString(format) {\n switch (format) {\n case \"css\":\n return this.toHSL().toString(\"css\");\n case \"hex\":\n return this.toRGB().toString(\"hex\");\n case \"hexa\":\n return this.toRGB().toString(\"hexa\");\n case \"hsb\":\n return `hsb(${this.hue}, ${toFixedNumber(this.saturation, 2)}%, ${toFixedNumber(this.brightness, 2)}%)`;\n case \"hsba\":\n return `hsba(${this.hue}, ${toFixedNumber(this.saturation, 2)}%, ${toFixedNumber(this.brightness, 2)}%, ${this.alpha})`;\n case \"hsl\":\n return this.toHSL().toString(\"hsl\");\n case \"rgb\":\n return this.toRGB().toString(\"rgb\");\n default:\n return this.toFormat(format).toString(format);\n }\n }\n toFormat(format) {\n switch (format) {\n case \"hsba\":\n return this;\n case \"hsla\":\n return this.toHSL();\n case \"rgba\":\n return this.toRGB();\n default:\n throw new Error(\"Unsupported color conversion: hsb -> \" + format);\n }\n }\n /**\n * Converts a HSB color to HSL.\n * Conversion formula adapted from https://en.wikipedia.org/wiki/HSL_and_HSV#HSV_to_HSL.\n * @returns An HSLColor object.\n */\n toHSL() {\n let saturation = this.saturation / 100;\n let brightness = this.brightness / 100;\n let lightness = brightness * (1 - saturation / 2);\n saturation = lightness === 0 || lightness === 1 ? 0 : (brightness - lightness) / Math.min(lightness, 1 - lightness);\n return new HSLColor(\n toFixedNumber(this.hue, 2),\n toFixedNumber(saturation * 100, 2),\n toFixedNumber(lightness * 100, 2),\n toFixedNumber(this.alpha, 2)\n );\n }\n /**\n * Converts a HSV color value to RGB.\n * Conversion formula adapted from https://en.wikipedia.org/wiki/HSL_and_HSV#HSV_to_RGB_alternative.\n * @returns An RGBColor object.\n */\n toRGB() {\n let hue = this.hue;\n let saturation = this.saturation / 100;\n let brightness = this.brightness / 100;\n let fn = (n, k = (n + hue / 60) % 6) => brightness - saturation * brightness * Math.max(Math.min(k, 4 - k, 1), 0);\n return new RGBColor(\n Math.round(fn(5) * 255),\n Math.round(fn(3) * 255),\n Math.round(fn(1) * 255),\n toFixedNumber(this.alpha, 2)\n );\n }\n clone() {\n return new _HSBColor(this.hue, this.saturation, this.brightness, this.alpha);\n }\n getChannelFormatOptions(channel) {\n switch (channel) {\n case \"hue\":\n return { style: \"unit\", unit: \"degree\", unitDisplay: \"narrow\" };\n case \"saturation\":\n case \"brightness\":\n case \"alpha\":\n return { style: \"percent\" };\n default:\n throw new Error(\"Unknown color channel: \" + channel);\n }\n }\n formatChannelValue(channel, locale) {\n let options = this.getChannelFormatOptions(channel);\n let value = this.getChannelValue(channel);\n if (channel === \"saturation\" || channel === \"brightness\") {\n value /= 100;\n }\n return new Intl.NumberFormat(locale, options).format(value);\n }\n getChannelRange(channel) {\n switch (channel) {\n case \"hue\":\n return { minValue: 0, maxValue: 360, step: 1, pageSize: 15 };\n case \"saturation\":\n case \"brightness\":\n return { minValue: 0, maxValue: 100, step: 1, pageSize: 10 };\n case \"alpha\":\n return { minValue: 0, maxValue: 1, step: 0.01, pageSize: 0.1 };\n default:\n throw new Error(\"Unknown color channel: \" + channel);\n }\n }\n toJSON() {\n return { h: this.hue, s: this.saturation, b: this.brightness, a: this.alpha };\n }\n getFormat() {\n return \"hsba\";\n }\n getChannels() {\n return _HSBColor.colorChannels;\n }\n};\n__publicField(_HSBColor, \"colorChannels\", [\"hue\", \"saturation\", \"brightness\"]);\nvar HSBColor = _HSBColor;\n\n// src/native-color.ts\nvar nativeColors = \"aliceblue:f0f8ff,antiquewhite:faebd7,aqua:00ffff,aquamarine:7fffd4,azure:f0ffff,beige:f5f5dc,bisque:ffe4c4,black:000000,blanchedalmond:ffebcd,blue:0000ff,blueviolet:8a2be2,brown:a52a2a,burlywood:deb887,cadetblue:5f9ea0,chartreuse:7fff00,chocolate:d2691e,coral:ff7f50,cornflowerblue:6495ed,cornsilk:fff8dc,crimson:dc143c,cyan:00ffff,darkblue:00008b,darkcyan:008b8b,darkgoldenrod:b8860b,darkgray:a9a9a9,darkgreen:006400,darkkhaki:bdb76b,darkmagenta:8b008b,darkolivegreen:556b2f,darkorange:ff8c00,darkorchid:9932cc,darkred:8b0000,darksalmon:e9967a,darkseagreen:8fbc8f,darkslateblue:483d8b,darkslategray:2f4f4f,darkturquoise:00ced1,darkviolet:9400d3,deeppink:ff1493,deepskyblue:00bfff,dimgray:696969,dodgerblue:1e90ff,firebrick:b22222,floralwhite:fffaf0,forestgreen:228b22,fuchsia:ff00ff,gainsboro:dcdcdc,ghostwhite:f8f8ff,gold:ffd700,goldenrod:daa520,gray:808080,green:008000,greenyellow:adff2f,honeydew:f0fff0,hotpink:ff69b4,indianred:cd5c5c,indigo:4b0082,ivory:fffff0,khaki:f0e68c,lavender:e6e6fa,lavenderblush:fff0f5,lawngreen:7cfc00,lemonchiffon:fffacd,lightblue:add8e6,lightcoral:f08080,lightcyan:e0ffff,lightgoldenrodyellow:fafad2,lightgrey:d3d3d3,lightgreen:90ee90,lightpink:ffb6c1,lightsalmon:ffa07a,lightseagreen:20b2aa,lightskyblue:87cefa,lightslategray:778899,lightsteelblue:b0c4de,lightyellow:ffffe0,lime:00ff00,limegreen:32cd32,linen:faf0e6,magenta:ff00ff,maroon:800000,mediumaquamarine:66cdaa,mediumblue:0000cd,mediumorchid:ba55d3,mediumpurple:9370d8,mediumseagreen:3cb371,mediumslateblue:7b68ee,mediumspringgreen:00fa9a,mediumturquoise:48d1cc,mediumvioletred:c71585,midnightblue:191970,mintcream:f5fffa,mistyrose:ffe4e1,moccasin:ffe4b5,navajowhite:ffdead,navy:000080,oldlace:fdf5e6,olive:808000,olivedrab:6b8e23,orange:ffa500,orangered:ff4500,orchid:da70d6,palegoldenrod:eee8aa,palegreen:98fb98,paleturquoise:afeeee,palevioletred:d87093,papayawhip:ffefd5,peachpuff:ffdab9,peru:cd853f,pink:ffc0cb,plum:dda0dd,powderblue:b0e0e6,purple:800080,rebeccapurple:663399,red:ff0000,rosybrown:bc8f8f,royalblue:4169e1,saddlebrown:8b4513,salmon:fa8072,sandybrown:f4a460,seagreen:2e8b57,seashell:fff5ee,sienna:a0522d,silver:c0c0c0,skyblue:87ceeb,slateblue:6a5acd,slategray:708090,snow:fffafa,springgreen:00ff7f,steelblue:4682b4,tan:d2b48c,teal:008080,thistle:d8bfd8,tomato:ff6347,turquoise:40e0d0,violet:ee82ee,wheat:f5deb3,white:ffffff,whitesmoke:f5f5f5,yellow:ffff00,yellowgreen:9acd32\";\nvar makeMap = (str) => {\n const map = /* @__PURE__ */ new Map();\n const list = str.split(\",\");\n for (let i = 0; i < list.length; i++) {\n const [key, val] = list[i].split(\":\");\n map.set(key, `#${val}`);\n if (key.includes(\"gray\")) map.set(key.replace(\"gray\", \"grey\"), `#${val}`);\n }\n return map;\n};\nvar nativeColorMap = makeMap(nativeColors);\n\n// src/parse-color.ts\nvar parseColor = (value) => {\n if (nativeColorMap.has(value)) {\n return parseColor(nativeColorMap.get(value));\n }\n const result = RGBColor.parse(value) || HSBColor.parse(value) || HSLColor.parse(value);\n if (!result) {\n const error = new Error(\"Invalid color value: \" + value);\n Error.captureStackTrace?.(error, parseColor);\n throw error;\n }\n return result;\n};\nvar normalizeColor = (v) => {\n return typeof v === \"string\" ? parseColor(v) : v;\n};\n\nexport { Color, getColorAreaGradient, normalizeColor, parseColor };\n","import { createAnatomy } from '@zag-js/anatomy';\nimport { parseColor, getColorAreaGradient, normalizeColor } from '@zag-js/color-utils';\nimport { raf, getInitialFocus, dispatchInputValueEvent, disableTextSelection, trackPointerMove, trackFormControl, setElementValue, getRelativePoint, queryAll, dataAttr, visuallyHiddenStyle, getEventStep, getEventKey, isLeftClick, isModifierKey, getEventPoint, query } from '@zag-js/dom-query';\nimport { getPlacement, getPlacementStyles } from '@zag-js/popper';\nimport { createGuards, createMachine } from '@zag-js/core';\nimport { trackDismissableElement } from '@zag-js/dismissable';\nimport { tryCatch, createSplitProps } from '@zag-js/utils';\nimport { createProps } from '@zag-js/types';\n\n// src/color-picker.anatomy.ts\nvar anatomy = createAnatomy(\"color-picker\", [\n \"root\",\n \"label\",\n \"control\",\n \"trigger\",\n \"positioner\",\n \"content\",\n \"area\",\n \"areaThumb\",\n \"valueText\",\n \"areaBackground\",\n \"channelSlider\",\n \"channelSliderLabel\",\n \"channelSliderTrack\",\n \"channelSliderThumb\",\n \"channelSliderValueText\",\n \"channelInput\",\n \"transparencyGrid\",\n \"swatchGroup\",\n \"swatchTrigger\",\n \"swatchIndicator\",\n \"swatch\",\n \"eyeDropperTrigger\",\n \"formatTrigger\",\n \"formatSelect\"\n]);\nvar parts = anatomy.build();\nvar getRootId = (ctx) => ctx.ids?.root ?? `color-picker:${ctx.id}`;\nvar getLabelId = (ctx) => ctx.ids?.label ?? `color-picker:${ctx.id}:label`;\nvar getHiddenInputId = (ctx) => ctx.ids?.hiddenInput ?? `color-picker:${ctx.id}:hidden-input`;\nvar getControlId = (ctx) => ctx.ids?.control ?? `color-picker:${ctx.id}:control`;\nvar getTriggerId = (ctx) => ctx.ids?.trigger ?? `color-picker:${ctx.id}:trigger`;\nvar getContentId = (ctx) => ctx.ids?.content ?? `color-picker:${ctx.id}:content`;\nvar getPositionerId = (ctx) => ctx.ids?.positioner ?? `color-picker:${ctx.id}:positioner`;\nvar getFormatSelectId = (ctx) => ctx.ids?.formatSelect ?? `color-picker:${ctx.id}:format-select`;\nvar getAreaId = (ctx) => ctx.ids?.area ?? `color-picker:${ctx.id}:area`;\nvar getAreaGradientId = (ctx) => ctx.ids?.areaGradient ?? `color-picker:${ctx.id}:area-gradient`;\nvar getAreaThumbId = (ctx) => ctx.ids?.areaThumb ?? `color-picker:${ctx.id}:area-thumb`;\nvar getChannelSliderTrackId = (ctx, channel) => ctx.ids?.channelSliderTrack?.(channel) ?? `color-picker:${ctx.id}:slider-track:${channel}`;\nvar getChannelSliderThumbId = (ctx, channel) => ctx.ids?.channelSliderThumb?.(channel) ?? `color-picker:${ctx.id}:slider-thumb:${channel}`;\nvar getContentEl = (ctx) => ctx.getById(getContentId(ctx));\nvar getAreaThumbEl = (ctx) => ctx.getById(getAreaThumbId(ctx));\nvar getChannelSliderThumbEl = (ctx, channel) => ctx.getById(getChannelSliderThumbId(ctx, channel));\nvar getFormatSelectEl = (ctx) => ctx.getById(getFormatSelectId(ctx));\nvar getHiddenInputEl = (ctx) => ctx.getById(getHiddenInputId(ctx));\nvar getAreaEl = (ctx) => ctx.getById(getAreaId(ctx));\nvar getAreaValueFromPoint = (ctx, point) => {\n const areaEl = getAreaEl(ctx);\n if (!areaEl) return;\n const { percent } = getRelativePoint(point, areaEl);\n return percent;\n};\nvar getControlEl = (ctx) => ctx.getById(getControlId(ctx));\nvar getTriggerEl = (ctx) => ctx.getById(getTriggerId(ctx));\nvar getPositionerEl = (ctx) => ctx.getById(getPositionerId(ctx));\nvar getChannelSliderTrackEl = (ctx, channel) => ctx.getById(getChannelSliderTrackId(ctx, channel));\nvar getChannelSliderValueFromPoint = (ctx, point, channel) => {\n const trackEl = getChannelSliderTrackEl(ctx, channel);\n if (!trackEl) return;\n const { percent } = getRelativePoint(point, trackEl);\n return percent;\n};\nvar getChannelInputEls = (ctx) => {\n return [\n ...queryAll(getContentEl(ctx), \"input[data-channel]\"),\n ...queryAll(getControlEl(ctx), \"input[data-channel]\")\n ];\n};\nfunction getChannelDisplayColor(color, channel) {\n switch (channel) {\n case \"hue\":\n return parseColor(`hsl(${color.getChannelValue(\"hue\")}, 100%, 50%)`);\n case \"lightness\":\n case \"brightness\":\n case \"saturation\":\n case \"red\":\n case \"green\":\n case \"blue\":\n return color.withChannelValue(\"alpha\", 1);\n case \"alpha\": {\n return color;\n }\n default:\n throw new Error(\"Unknown color channel: \" + channel);\n }\n}\nfunction getChannelValue(color, channel) {\n if (channel == null) return \"\";\n if (channel === \"hex\") {\n return color.toString(\"hex\");\n }\n if (channel === \"css\") {\n return color.toString(\"css\");\n }\n if (channel in color) {\n return color.getChannelValue(channel).toString();\n }\n const isHSL = color.getFormat() === \"hsla\";\n switch (channel) {\n case \"hue\":\n return isHSL ? color.toFormat(\"hsla\").getChannelValue(\"hue\").toString() : color.toFormat(\"hsba\").getChannelValue(\"hue\").toString();\n case \"saturation\":\n return isHSL ? color.toFormat(\"hsla\").getChannelValue(\"saturation\").toString() : color.toFormat(\"hsba\").getChannelValue(\"saturation\").toString();\n case \"lightness\":\n return color.toFormat(\"hsla\").getChannelValue(\"lightness\").toString();\n case \"brightness\":\n return color.toFormat(\"hsba\").getChannelValue(\"brightness\").toString();\n case \"red\":\n case \"green\":\n case \"blue\":\n return color.toFormat(\"rgba\").getChannelValue(channel).toString();\n default:\n return color.getChannelValue(channel).toString();\n }\n}\nfunction getChannelRange(color, channel) {\n switch (channel) {\n case \"hex\":\n const minColor = parseColor(\"#000000\");\n const maxColor = parseColor(\"#FFFFFF\");\n return {\n minValue: minColor.toHexInt(),\n maxValue: maxColor.toHexInt(),\n pageSize: 10,\n step: 1\n };\n case \"css\":\n return void 0;\n case \"hue\":\n case \"saturation\":\n case \"lightness\":\n return color.toFormat(\"hsla\").getChannelRange(channel);\n case \"brightness\":\n return color.toFormat(\"hsba\").getChannelRange(channel);\n case \"red\":\n case \"green\":\n case \"blue\":\n return color.toFormat(\"rgba\").getChannelRange(channel);\n default:\n return color.getChannelRange(channel);\n }\n}\n\n// src/utils/get-slider-background.ts\nfunction getSliderBackgroundDirection(orientation, dir) {\n if (orientation === \"vertical\") {\n return \"top\";\n } else if (dir === \"ltr\") {\n return \"right\";\n } else {\n return \"left\";\n }\n}\nvar getSliderBackground = (props2) => {\n const { channel, value, dir, orientation } = props2;\n const bgDirection = getSliderBackgroundDirection(orientation, dir);\n const { minValue, maxValue } = value.getChannelRange(channel);\n switch (channel) {\n case \"hue\":\n return `linear-gradient(to ${bgDirection}, rgb(255, 0, 0) 0%, rgb(255, 255, 0) 17%, rgb(0, 255, 0) 33%, rgb(0, 255, 255) 50%, rgb(0, 0, 255) 67%, rgb(255, 0, 255) 83%, rgb(255, 0, 0) 100%)`;\n case \"lightness\": {\n let start = value.withChannelValue(channel, minValue).toString(\"css\");\n let middle = value.withChannelValue(channel, (maxValue - minValue) / 2).toString(\"css\");\n let end = value.withChannelValue(channel, maxValue).toString(\"css\");\n return `linear-gradient(to ${bgDirection}, ${start}, ${middle}, ${end})`;\n }\n case \"saturation\":\n case \"brightness\":\n case \"red\":\n case \"green\":\n case \"blue\":\n case \"alpha\": {\n let start = value.withChannelValue(channel, minValue).toString(\"css\");\n let end = value.withChannelValue(channel, maxValue).toString(\"css\");\n return `linear-gradient(to ${bgDirection}, ${start}, ${end})`;\n }\n default:\n throw new Error(\"Unknown color channel: \" + channel);\n }\n};\n\n// src/color-picker.connect.ts\nfunction connect(service, normalize) {\n const { context, send, prop, computed, state, scope } = service;\n const value = context.get(\"value\");\n const format = context.get(\"format\");\n const areaValue = computed(\"areaValue\");\n const valueAsString = computed(\"valueAsString\");\n const disabled = computed(\"disabled\");\n const interactive = computed(\"interactive\");\n const dragging = state.hasTag(\"dragging\");\n const open = state.hasTag(\"open\");\n const focused = state.hasTag(\"focused\");\n const getAreaChannels = (props2) => {\n const channels = areaValue.getChannels();\n return {\n xChannel: props2.xChannel ?? channels[1],\n yChannel: props2.yChannel ?? channels[2]\n };\n };\n const currentPlacement = context.get(\"currentPlacement\");\n const popperStyles = getPlacementStyles({\n ...prop(\"positioning\"),\n placement: currentPlacement\n });\n function getSwatchTriggerState(props2) {\n const color = normalizeColor(props2.value).toFormat(context.get(\"format\"));\n return {\n value: color,\n valueAsString: color.toString(\"hex\"),\n checked: color.isEqual(value),\n disabled: props2.disabled || !interactive\n };\n }\n return {\n dragging,\n open,\n valueAsString,\n value,\n inline: !!prop(\"inline\"),\n setOpen(nextOpen) {\n if (prop(\"inline\")) return;\n const open2 = state.hasTag(\"open\");\n if (open2 === nextOpen) return;\n send({ type: nextOpen ? \"OPEN\" : \"CLOSE\" });\n },\n setValue(value2) {\n send({ type: \"VALUE.SET\", value: normalizeColor(value2), src: \"set-color\" });\n },\n getChannelValue(channel) {\n return getChannelValue(value, channel);\n },\n getChannelValueText(channel, locale) {\n return value.formatChannelValue(channel, locale);\n },\n setChannelValue(channel, channelValue) {\n const color = value.withChannelValue(channel, channelValue);\n send({ type: \"VALUE.SET\", value: color, src: \"set-channel\" });\n },\n format: context.get(\"format\"),\n setFormat(format2) {\n const formatValue = value.toFormat(format2);\n send({ type: \"VALUE.SET\", value: formatValue, src: \"set-format\" });\n },\n alpha: value.getChannelValue(\"alpha\"),\n setAlpha(alphaValue) {\n const color = value.withChannelValue(\"alpha\", alphaValue);\n send({ type: \"VALUE.SET\", value: color, src: \"set-alpha\" });\n },\n getRootProps() {\n return normalize.element({\n ...parts.root.attrs,\n dir: prop(\"dir\"),\n id: getRootId(scope),\n \"data-disabled\": dataAttr(disabled),\n \"data-readonly\": dataAttr(prop(\"readOnly\")),\n \"data-invalid\": dataAttr(prop(\"invalid\")),\n style: {\n \"--value\": value.toString(\"css\")\n }\n });\n },\n getLabelProps() {\n return normalize.element({\n ...parts.label.attrs,\n dir: prop(\"dir\"),\n id: getLabelId(scope),\n htmlFor: getHiddenInputId(scope),\n \"data-disabled\": dataAttr(disabled),\n \"data-readonly\": dataAttr(prop(\"readOnly\")),\n \"data-invalid\": dataAttr(prop(\"invalid\")),\n \"data-focus\": dataAttr(focused),\n onClick(event) {\n event.preventDefault();\n const inputEl = query(getControlEl(scope), \"[data-channel=hex]\");\n inputEl?.focus({ preventScroll: true });\n }\n });\n },\n getControlProps() {\n return normalize.element({\n ...parts.control.attrs,\n id: getControlId(scope),\n dir: prop(\"dir\"),\n \"data-disabled\": dataAttr(disabled),\n \"data-readonly\": dataAttr(prop(\"readOnly\")),\n \"data-invalid\": dataAttr(prop(\"invalid\")),\n \"data-state\": open ? \"open\" : \"closed\",\n \"data-focus\": dataAttr(focused)\n });\n },\n getTriggerProps() {\n return normalize.button({\n ...parts.trigger.attrs,\n id: getTriggerId(scope),\n dir: prop(\"dir\"),\n disabled,\n \"aria-label\": `select color. current color is ${valueAsString}`,\n \"aria-controls\": getContentId(scope),\n \"aria-labelledby\": getLabelId(scope),\n \"data-disabled\": dataAttr(disabled),\n \"data-readonly\": dataAttr(prop(\"readOnly\")),\n \"data-invalid\": dataAttr(prop(\"invalid\")),\n \"data-placement\": currentPlacement,\n \"aria-expanded\": dataAttr(open),\n \"data-state\": open ? \"open\" : \"closed\",\n \"data-focus\": dataAttr(focused),\n type: \"button\",\n onClick() {\n if (!interactive) return;\n send({ type: \"TRIGGER.CLICK\" });\n },\n onBlur() {\n if (!interactive) return;\n send({ type: \"TRIGGER.BLUR\" });\n },\n style: {\n position: \"relative\"\n }\n });\n },\n getPositionerProps() {\n return normalize.element({\n ...parts.positioner.attrs,\n id: getPositionerId(scope),\n dir: prop(\"dir\"),\n style: popperStyles.floating\n });\n },\n getContentProps() {\n return normalize.element({\n ...parts.content.attrs,\n id: getContentId(scope),\n dir: prop(\"dir\"),\n tabIndex: -1,\n \"data-placement\": currentPlacement,\n \"data-state\": open ? \"open\" : \"closed\",\n hidden: !open\n });\n },\n getValueTextProps() {\n return normalize.element({\n ...parts.valueText.attrs,\n dir: prop(\"dir\"),\n \"data-disabled\": dataAttr(disabled),\n \"data-focus\": dataAttr(focused)\n });\n },\n getAreaProps(props2 = {}) {\n const { xChannel, yChannel } = getAreaChannels(props2);\n const { areaStyles } = getColorAreaGradient(areaValue, {\n xChannel,\n yChannel,\n dir: prop(\"dir\")\n });\n return normalize.element({\n ...parts.area.attrs,\n id: getAreaId(scope),\n role: \"group\",\n \"data-invalid\": dataAttr(prop(\"invalid\")),\n \"data-disabled\": dataAttr(disabled),\n \"data-readonly\": dataAttr(prop(\"readOnly\")),\n onPointerDown(event) {\n if (!interactive) return;\n if (!isLeftClick(event)) return;\n if (isModifierKey(event)) return;\n const point = getEventPoint(event);\n const channel = { xChannel, yChannel };\n send({ type: \"AREA.POINTER_DOWN\", point, channel, id: \"area\" });\n event.preventDefault();\n },\n style: {\n position: \"relative\",\n touchAction: \"none\",\n forcedColorAdjust: \"none\",\n ...areaStyles\n }\n });\n },\n getAreaBackgroundProps(props2 = {}) {\n const { xChannel, yChannel } = getAreaChannels(props2);\n const { areaGradientStyles } = getColorAreaGradient(areaValue, {\n xChannel,\n yChannel,\n dir: prop(\"dir\")\n });\n return normalize.element({\n ...parts.areaBackground.attrs,\n id: getAreaGradientId(scope),\n \"data-invalid\": dataAttr(prop(\"invalid\")),\n \"data-disabled\": dataAttr(disabled),\n \"data-readonly\": dataAttr(prop(\"readOnly\")),\n style: {\n position: \"relative\",\n touchAction: \"none\",\n forcedColorAdjust: \"none\",\n ...areaGradientStyles\n }\n });\n },\n getAreaThumbProps(props2 = {}) {\n const { xChannel, yChannel } = getAreaChannels(props2);\n const channel = { xChannel, yChannel };\n const xPercent = areaValue.getChannelValuePercent(xChannel);\n const yPercent = 1 - areaValue.getChannelValuePercent(yChannel);\n const xValue = areaValue.getChannelValue(xChannel);\n const yValue = areaValue.getChannelValue(yChannel);\n const color = areaValue.withChannelValue(\"alpha\", 1).toString(\"css\");\n return normalize.element({\n ...parts.areaThumb.attrs,\n id: getAreaThumbId(scope),\n dir: prop(\"dir\"),\n tabIndex: disabled ? void 0 : 0,\n \"data-disabled\": dataAttr(disabled),\n \"data-invalid\": dataAttr(prop(\"invalid\")),\n \"data-readonly\": dataAttr(prop(\"readOnly\")),\n role: \"slider\",\n \"aria-valuemin\": 0,\n \"aria-valuemax\": 100,\n \"aria-valuenow\": xValue,\n \"aria-label\": `${xChannel} and ${yChannel}`,\n \"aria-roledescription\": \"2d slider\",\n \"aria-valuetext\": `${xChannel} ${xValue}, ${yChannel} ${yValue}`,\n style: {\n position: \"absolute\",\n left: `${xPercent * 100}%`,\n top: `${yPercent * 100}%`,\n transform: \"translate(-50%, -50%)\",\n touchAction: \"none\",\n forcedColorAdjust: \"none\",\n \"--color\": color,\n background: color\n },\n onFocus() {\n if (!interactive) return;\n send({ type: \"AREA.FOCUS\", id: \"area\", channel });\n },\n onKeyDown(event) {\n if (event.defaultPrevented) return;\n if (!interactive) return;\n const step = getEventStep(event);\n const keyMap = {\n ArrowUp() {\n send({ type: \"AREA.ARROW_UP\", channel, step });\n },\n ArrowDown() {\n send({ type: \"AREA.ARROW_DOWN\", channel, step });\n },\n ArrowLeft() {\n send({ type: \"AREA.ARROW_LEFT\", channel, step });\n },\n ArrowRight() {\n send({ type: \"AREA.ARROW_RIGHT\", channel, step });\n },\n PageUp() {\n send({ type: \"AREA.PAGE_UP\", channel, step });\n },\n PageDown() {\n send({ type: \"AREA.PAGE_DOWN\", channel, step });\n },\n Escape(event2) {\n event2.stopPropagation();\n }\n };\n const exec = keyMap[getEventKey(event, {\n dir: prop(\"dir\")\n })];\n if (exec) {\n exec(event);\n event.preventDefault();\n }\n }\n });\n },\n getTransparencyGridProps(props2 = {}) {\n const { size = \"12px\" } = props2;\n return normalize.element({\n ...parts.transparencyGrid.attrs,\n style: {\n \"--size\": size,\n width: \"100%\",\n height: \"100%\",\n position: \"absolute\",\n backgroundColor: \"#fff\",\n backgroundImage: \"conic-gradient(#eeeeee 0 25%, transparent 0 50%, #eeeeee 0 75%, transparent 0)\",\n backgroundSize: \"var(--size) var(--size)\",\n inset: \"0px\",\n zIndex: \"auto\",\n pointerEvents: \"none\"\n }\n });\n },\n getChannelSliderProps(props2) {\n const { orientation = \"horizontal\", channel, format: format2 } = props2;\n return normalize.element({\n ...parts.channelSlider.attrs,\n \"data-channel\": channel,\n \"data-orientation\": orientation,\n role: \"presentation\",\n onPointerDown(event) {\n if (!interactive) return;\n if (!isLeftClick(event)) return;\n if (isModifierKey(event)) return;\n const point = getEventPoint(event);\n send({ type: \"CHANNEL_SLIDER.POINTER_DOWN\", channel, format: format2, point, id: channel, orientation });\n event.preventDefault();\n },\n style: {\n position: \"relative\",\n touchAction: \"none\"\n }\n });\n },\n getChannelSliderTrackProps(props2) {\n const { orientation = \"horizontal\", channel, format: format2 } = props2;\n const normalizedValue = format2 ? value.toFormat(format2) : areaValue;\n return normalize.element({\n ...parts.channelSliderTrack.attrs,\n id: getChannelSliderTrackId(scope, channel),\n role: \"group\",\n \"data-channel\": channel,\n \"data-orientation\": orientation,\n style: {\n position: \"relative\",\n forcedColorAdjust: \"none\",\n backgroundImage: getSliderBackground({\n orientation,\n channel,\n dir: prop(\"dir\"),\n value: normalizedValue\n })\n }\n });\n },\n getChannelSliderLabelProps(props2) {\n const { channel } = props2;\n return normalize.element({\n ...parts.channelSliderLabel.attrs,\n \"data-channel\": channel,\n onClick(event) {\n if (!interactive) return;\n event.preventDefault();\n const thumbId = getChannelSliderThumbId(scope, channel);\n scope.getById(thumbId)?.focus({ preventScroll: true });\n },\n style: {\n userSelect: \"none\",\n WebkitUserSelect: \"none\"\n }\n });\n },\n getChannelSliderValueTextProps(props2) {\n return normalize.element({\n ...parts.channelSliderValueText.attrs,\n \"data-channel\": props2.channel\n });\n },\n getChannelSliderThumbProps(props2) {\n const { orientation = \"horizontal\", channel, format: format2 } = props2;\n const normalizedValue = format2 ? value.toFormat(format2) : areaValue;\n const channelRange = normalizedValue.getChannelRange(channel);\n const channelValue = normalizedValue.getChannelValue(channel);\n const offset = (channelValue - channelRange.minValue) / (channelRange.maxValue - channelRange.minValue);\n const placementStyles = orientation === \"horizontal\" ? { left: `${offset * 100}%`, top: \"50%\" } : { top: `${offset * 100}%`, left: \"50%\" };\n return normalize.element({\n ...parts.channelSliderThumb.attrs,\n id: getChannelSliderThumbId(scope, channel),\n role: \"slider\",\n \"aria-label\": channel,\n tabIndex: disabled ? void 0 : 0,\n \"data-channel\": channel,\n \"data-disabled\": dataAttr(disabled),\n \"data-orientation\": orientation,\n \"aria-disabled\": dataAttr(disabled),\n \"aria-orientation\": orientation,\n \"aria-valuemax\": channelRange.maxValue,\n \"aria-valuemin\": channelRange.minValue,\n \"aria-valuenow\": channelValue,\n \"aria-valuetext\": `${channel} ${channelValue}`,\n style: {\n forcedColorAdjust: \"none\",\n position: \"absolute\",\n background: getChannelDisplayColor(areaValue, channel).toString(\"css\"),\n ...placementStyles\n },\n onFocus() {\n if (!interactive) return;\n send({ type: \"CHANNEL_SLIDER.FOCUS\", channel });\n },\n onKeyDown(event) {\n if (event.defaultPrevented) return;\n if (!interactive) return;\n const step = getEventStep(event) * channelRange.step;\n const keyMap = {\n ArrowUp() {\n send({ type: \"CHANNEL_SLIDER.ARROW_UP\", channel, step });\n },\n ArrowDown() {\n send({ type: \"CHANNEL_SLIDER.ARROW_DOWN\", channel, step });\n },\n ArrowLeft() {\n send({ type: \"CHANNEL_SLIDER.ARROW_LEFT\", channel, step });\n },\n ArrowRight() {\n send({ type: \"CHANNEL_SLIDER.ARROW_RIGHT\", channel, step });\n },\n PageUp() {\n send({ type: \"CHANNEL_SLIDER.PAGE_UP\", channel });\n },\n PageDown() {\n send({ type: \"CHANNEL_SLIDER.PAGE_DOWN\", channel });\n },\n Home() {\n send({ type: \"CHANNEL_SLIDER.HOME\", channel });\n },\n End() {\n send({ type: \"CHANNEL_SLIDER.END\", channel });\n },\n Escape(event2) {\n event2.stopPropagation();\n }\n };\n const exec = keyMap[getEventKey(event, {\n dir: prop(\"dir\")\n })];\n if (exec) {\n exec(event);\n event.preventDefault();\n }\n }\n });\n },\n getChannelInputProps(props2) {\n const { channel } = props2;\n const isTextField = channel === \"hex\" || channel === \"css\";\n const channelRange = getChannelRange(value, channel);\n return normalize.input({\n ...parts.channelInput.attrs,\n dir: prop(\"dir\"),\n type: isTextField ? \"text\" : \"number\",\n \"data-channel\": channel,\n \"aria-label\": channel,\n spellCheck: false,\n autoComplete: \"off\",\n disabled,\n \"data-disabled\": dataAttr(disabled),\n \"data-invalid\": dataAttr(prop(\"invalid\")),\n \"data-readonly\": dataAttr(prop(\"readOnly\")),\n readOnly: prop(\"readOnly\"),\n defaultValue: getChannelValue(value, channel),\n min: channelRange?.minValue,\n max: channelRange?.maxValue,\n step: channelRange?.step,\n onBeforeInput(event) {\n if (isTextField || !interactive) return;\n const value2 = event.currentTarget.value;\n if (value2.match(/[^0-9.]/g)) {\n event.preventDefault();\n }\n },\n onFocus(event) {\n if (!interactive) return;\n send({ type: \"CHANNEL_INPUT.FOCUS\", channel });\n event.currentTarget.select();\n },\n onBlur(event) {\n if (!interactive) return;\n const value2 = isTextField ? event.currentTarget.value : event.currentTarget.valueAsNumber;\n send({ type: \"CHANNEL_INPUT.BLUR\", channel, value: value2, isTextField });\n },\n onKeyDown(event) {\n if (event.defaultPrevented) return;\n if (!interactive) return;\n if (event.key === \"Enter\") {\n const value2 = isTextField ? event.currentTarget.value : event.currentTarget.valueAsNumber;\n send({ type: \"CHANNEL_INPUT.CHANGE\", channel, value: value2, isTextField });\n event.preventDefault();\n }\n },\n style: {\n appearance: \"none\",\n WebkitAppearance: \"none\",\n MozAppearance: \"textfield\"\n }\n });\n },\n getHiddenInputProps() {\n return normalize.input({\n type: \"text\",\n disabled,\n name: prop(\"name\"),\n tabIndex: -1,\n readOnly: prop(\"readOnly\"),\n required: prop(\"required\"),\n id: getHiddenInputId(scope),\n style: visuallyHiddenStyle,\n defaultValue: valueAsString\n });\n },\n getEyeDropperTriggerProps() {\n return normalize.button({\n ...parts.eyeDropperTrigger.attrs,\n type: \"button\",\n dir: prop(\"dir\"),\n disabled,\n \"data-disabled\": dataAttr(disabled),\n \"data-invalid\": dataAttr(prop(\"invalid\")),\n \"data-readonly\": dataAttr(prop(\"readOnly\")),\n \"aria-label\": \"Pick a color from the screen\",\n onClick() {\n if (!interactive) return;\n send({ type: \"EYEDROPPER.CLICK\" });\n }\n });\n },\n getSwatchGroupProps() {\n return normalize.element({\n ...parts.swatchGroup.attrs,\n role: \"group\"\n });\n },\n getSwatchTriggerState,\n getSwatchTriggerProps(props2) {\n const swatchState = getSwatchTriggerState(props2);\n return normalize.button({\n ...parts.swatchTrigger.attrs,\n disabled: swatchState.disabled,\n dir: prop(\"dir\"),\n type: \"button\",\n \"aria-label\": `select ${swatchState.valueAsString} as the color`,\n \"data-state\": swatchState.checked ? \"checked\" : \"unchecked\",\n \"data-value\": swatchState.valueAsString,\n \"data-disabled\": dataAttr(swatchState.disabled),\n onClick() {\n if (swatchState.disabled) return;\n send({ type: \"SWATCH_TRIGGER.CLICK\", value: swatchState.value });\n },\n style: {\n \"--color\": swatchState.valueAsString,\n position: \"relative\"\n }\n });\n },\n getSwatchIndicatorProps(props2) {\n const swatchState = getSwatchTriggerState(props2);\n return normalize.element({\n ...parts.swatchIndicator.attrs,\n dir: prop(\"dir\"),\n hidden: !swatchState.checked\n });\n },\n getSwatchProps(props2) {\n const { respectAlpha = true } = props2;\n const swatchState = getSwatchTriggerState(props2);\n const color = swatchState.value.toString(respectAlpha ? \"css\" : \"hex\");\n return normalize.element({\n ...parts.swatch.attrs,\n dir: prop(\"dir\"),\n \"data-state\": swatchState.checked ? \"checked\" : \"unchecked\",\n \"data-value\": swatchState.valueAsString,\n style: {\n \"--color\": color,\n position: \"relative\",\n background: color\n }\n });\n },\n getFormatTriggerProps() {\n return normalize.button({\n ...parts.formatTrigger.attrs,\n dir: prop(\"dir\"),\n type: \"button\",\n \"aria-label\": `change color format to ${getNextFormat(format)}`,\n onClick(event) {\n if (event.currentTarget.disabled) return;\n const nextFormat = getNextFormat(format);\n send({ type: \"FORMAT.SET\", format: nextFormat, src: \"format-trigger\" });\n }\n });\n },\n getFormatSelectProps() {\n return normalize.select({\n ...parts.formatSelect.attrs,\n \"aria-label\": \"change color format\",\n dir: prop(\"dir\"),\n defaultValue: prop(\"format\"),\n disabled,\n onChange(event) {\n const format2 = assertFormat(event.currentTarget.value);\n send({ type: \"FORMAT.SET\", format: format2, src: \"format-select\" });\n }\n });\n }\n };\n}\nvar formats = [\"hsba\", \"hsla\", \"rgba\"];\nvar formatRegex = new RegExp(`^(${formats.join(\"|\")})$`);\nfunction getNextFormat(format) {\n const index = formats.indexOf(format);\n return formats[index + 1] ?? formats[0];\n}\nfunction assertFormat(format) {\n if (formatRegex.test(format)) return format;\n throw new Error(`Unsupported color format: ${format}`);\n}\nvar parse = (colorString) => {\n return parseColor(colorString);\n};\n\n// src/utils/is-valid-hex.ts\nvar HEX_REGEX = /^[0-9a-fA-F]{3,8}$/;\nfunction isValidHex(value) {\n return HEX_REGEX.test(value);\n}\nfunction prefixHex(value) {\n if (value.startsWith(\"#\")) return value;\n if (isValidHex(value)) return `#${value}`;\n return value;\n}\n\n// src/color-picker.machine.ts\nvar { and } = createGuards();\nvar machine = createMachine({\n props({ props: props2 }) {\n return {\n dir: \"ltr\",\n defaultValue: parse(\"#000000\"),\n defaultFormat: \"rgba\",\n openAutoFocus: true,\n ...props2,\n positioning: {\n placement: \"bottom\",\n ...props2.positioning\n }\n };\n },\n initialState({ prop }) {\n const open = prop(\"open\") || prop(\"defaultOpen\") || prop(\"inline\");\n return open ? \"open\" : \"idle\";\n },\n context({ prop, bindable, getContext }) {\n return {\n value: bindable(() => ({\n defaultValue: prop(\"defaultValue\"),\n value: prop(\"value\"),\n isEqual(a, b) {\n return a.toString(\"css\") === b?.toString(\"css\");\n },\n hash(a) {\n return a.toString(\"css\");\n },\n onChange(value) {\n const ctx = getContext();\n const valueAsString = value.toString(ctx.get(\"format\"));\n prop(\"onValueChange\")?.({ value, valueAsString });\n }\n })),\n format: bindable(() => ({\n defaultValue: prop(\"defaultFormat\"),\n value: prop(\"format\"),\n onChange(format) {\n prop(\"onFormatChange\")?.({ format });\n }\n })),\n activeId: bindable(() => ({ defaultValue: null })),\n activeChannel: bindable(() => ({ defaultValue: null })),\n activeOrientation: bindable(() => ({ defaultValue: null })),\n fieldsetDisabled: bindable(() => ({ defaultValue: false })),\n restoreFocus: bindable(() => ({ defaultValue: true })),\n currentPlacement: bindable(() => ({\n defaultValue: void 0\n }))\n };\n },\n computed: {\n rtl: ({ prop }) => prop(\"dir\") === \"rtl\",\n disabled: ({ prop, context }) => !!prop(\"disabled\") || context.get(\"fieldsetDisabled\"),\n interactive: ({ prop }) => !(prop(\"disabled\") || prop(\"readOnly\")),\n valueAsString: ({ context }) => context.get(\"value\").toString(context.get(\"format\")),\n areaValue: ({ context }) => {\n const format = context.get(\"format\").startsWith(\"hsl\") ? \"hsla\" : \"hsba\";\n return context.get(\"value\").toFormat(format);\n }\n },\n effects: [\"trackFormControl\"],\n watch({ prop, context, action, track }) {\n track([() => context.hash(\"value\")], () => {\n action([\"syncInputElements\", \"dispatchChangeEvent\"]);\n });\n track([() => context.get(\"format\")], () => {\n action([\"syncFormatSelectElement\"]);\n });\n track([() => prop(\"open\")], () => {\n action([\"toggleVisibility\"]);\n });\n },\n on: {\n \"VALUE.SET\": {\n actions: [\"setValue\"]\n },\n \"FORMAT.SET\": {\n actions: [\"setFormat\"]\n },\n \"CHANNEL_INPUT.CHANGE\": {\n actions: [\"setChannelColorFromInput\"]\n },\n \"EYEDROPPER.CLICK\": {\n actions: [\"openEyeDropper\"]\n },\n \"SWATCH_TRIGGER.CLICK\": {\n actions: [\"setValue\"]\n }\n },\n states: {\n idle: {\n tags: [\"closed\"],\n on: {\n \"CONTROLLED.OPEN\": {\n target: \"open\",\n actions: [\"setInitialFocus\"]\n },\n OPEN: [\n {\n guard: \"isOpenControlled\",\n actions: [\"invokeOnOpen\"]\n },\n {\n target: \"open\",\n actions: [\"invokeOnOpen\", \"setInitialFocus\"]\n }\n ],\n \"TRIGGER.CLICK\": [\n {\n guard: \"isOpenControlled\",\n actions: [\"invokeOnOpen\"]\n },\n {\n target: \"open\",\n actions: [\"invokeOnOpen\", \"setInitialFocus\"]\n }\n ],\n \"CHANNEL_INPUT.FOCUS\": {\n target: \"focused\",\n actions: [\"setActiveChannel\"]\n }\n }\n },\n focused: {\n tags: [\"closed\", \"focused\"],\n on: {\n \"CONTROLLED.OPEN\": {\n target: \"open\",\n actions: [\"setInitialFocus\"]\n },\n OPEN: [\n {\n guard: \"isOpenControlled\",\n actions: [\"invokeOnOpen\"]\n },\n {\n target: \"open\",\n actions: [\"invokeOnOpen\", \"setInitialFocus\"]\n }\n ],\n \"TRIGGER.CLICK\": [\n {\n guard: \"isOpenControlled\",\n actions: [\"invokeOnOpen\"]\n },\n {\n target: \"open\",\n actions: [\"invokeOnOpen\", \"setInitialFocus\"]\n }\n ],\n \"CHANNEL_INPUT.FOCUS\": {\n actions: [\"setActiveChannel\"]\n },\n \"CHANNEL_INPUT.BLUR\": {\n target: \"idle\",\n actions: [\"setChannelColorFromInput\"]\n },\n \"TRIGGER.BLUR\": {\n target: \"idle\"\n }\n }\n },\n open: {\n tags: [\"open\"],\n effects: [\"trackPositioning\", \"trackDismissableElement\"],\n on: {\n \"CONTROLLED.CLOSE\": [\n {\n guard: \"shouldRestoreFocus\",\n target: \"focused\",\n actions: [\"setReturnFocus\"]\n },\n {\n target: \"idle\"\n }\n ],\n \"TRIGGER.CLICK\": [\n {\n guard: \"isOpenControlled\",\n actions: [\"invokeOnClose\"]\n },\n {\n target: \"idle\",\n actions: [\"invokeOnClose\"]\n }\n ],\n \"AREA.POINTER_DOWN\": {\n target: \"open:dragging\",\n actions: [\"setActiveChannel\", \"setAreaColorFromPoint\", \"focusAreaThumb\"]\n },\n \"AREA.FOCUS\": {\n actions: [\"setActiveChannel\"]\n },\n \"CHANNEL_SLIDER.POINTER_DOWN\": {\n target: \"open:dragging\",\n actions: [\"setActiveChannel\", \"setChannelColorFromPoint\", \"focusChannelThumb\"]\n },\n \"CHANNEL_SLIDER.FOCUS\": {\n actions: [\"setActiveChannel\"]\n },\n \"AREA.ARROW_LEFT\": {\n actions: [\"decrementAreaXChannel\"]\n },\n \"AREA.ARROW_RIGHT\": {\n actions: [\"incrementAreaXChannel\"]\n },\n \"AREA.ARROW_UP\": {\n actions: [\"incrementAreaYChannel\"]\n },\n \"AREA.ARROW_DOWN\": {\n actions: [\"decrementAreaYChannel\"]\n },\n \"AREA.PAGE_UP\": {\n actions: [\"incrementAreaXChannel\"]\n },\n \"AREA.PAGE_DOWN\": {\n actions: [\"decrementAreaXChannel\"]\n },\n \"CHANNEL_SLIDER.ARROW_LEFT\": {\n actions: [\"decrementChannel\"]\n },\n \"CHANNEL_SLIDER.ARROW_RIGHT\": {\n actions: [\"incrementChannel\"]\n },\n \"CHANNEL_SLIDER.ARROW_UP\": {\n actions: [\"incrementChannel\"]\n },\n \"CHANNEL_SLIDER.ARROW_DOWN\": {\n actions: [\"decrementChannel\"]\n },\n \"CHANNEL_SLIDER.PAGE_UP\": {\n actions: [\"incrementChannel\"]\n },\n \"CHANNEL_SLIDER.PAGE_DOWN\": {\n actions: [\"decrementChannel\"]\n },\n \"CHANNEL_SLIDER.HOME\": {\n actions: [\"setChannelToMin\"]\n },\n \"CHANNEL_SLIDER.END\": {\n actions: [\"setChannelToMax\"]\n },\n \"CHANNEL_INPUT.BLUR\": {\n actions: [\"setChannelColorFromInput\"]\n },\n INTERACT_OUTSIDE: [\n {\n guard: \"isOpenControlled\",\n actions: [\"invokeOnClose\"]\n },\n {\n guard: \"shouldRestoreFocus\",\n target: \"focused\",\n actions: [\"invokeOnClose\", \"setReturnFocus\"]\n },\n {\n target: \"idle\",\n actions: [\"invokeOnClose\"]\n }\n ],\n CLOSE: [\n {\n guard: \"isOpenControlled\",\n actions: [\"invokeOnClose\"]\n },\n {\n target: \"idle\",\n actions: [\"invokeOnClose\"]\n }\n ],\n \"SWATCH_TRIGGER.CLICK\": [\n {\n guard: and(\"isOpenControlled\", \"closeOnSelect\"),\n actions: [\"setValue\", \"invokeOnClose\"]\n },\n {\n guard: \"closeOnSelect\",\n target: \"focused\",\n actions: [\"setValue\", \"invokeOnClose\", \"setReturnFocus\"]\n },\n {\n actions: [\"setValue\"]\n }\n ]\n }\n },\n \"open:dragging\": {\n tags: [\"open\"],\n exit: [\"clearActiveChannel\"],\n effects: [\"trackPointerMove\", \"disableTextSelection\", \"trackPositioning\", \"trackDismissableElement\"],\n on: {\n \"CONTROLLED.CLOSE\": [\n {\n guard: \"shouldRestoreFocus\",\n target: \"focused\",\n actions: [\"setReturnFocus\"]\n },\n {\n target: \"idle\"\n }\n ],\n \"AREA.POINTER_MOVE\": {\n actions: [\"setAreaColorFromPoint\", \"focusAreaThumb\"]\n },\n \"AREA.POINTER_UP\": {\n target: \"open\",\n actions: [\"invokeOnChangeEnd\"]\n },\n \"CHANNEL_SLIDER.POINTER_MOVE\": {\n actions: [\"setChannelColorFromPoint\", \"focusChannelThumb\"]\n },\n \"CHANNEL_SLIDER.POINTER_UP\": {\n target: \"open\",\n actions: [\"invokeOnChangeEnd\"]\n },\n INTERACT_OUTSIDE: [\n {\n guard: \"isOpenControlled\",\n actions: [\"invokeOnClose\"]\n },\n {\n guard: \"shouldRestoreFocus\",\n target: \"focused\",\n actions: [\"invokeOnClose\", \"setReturnFocus\"]\n },\n {\n target: \"idle\",\n actions: [\"invokeOnClose\"]\n }\n ],\n CLOSE: [\n {\n guard: \"isOpenControlled\",\n actions: [\"invokeOnClose\"]\n },\n {\n target: \"idle\",\n actions: [\"invokeOnClose\"]\n }\n ]\n }\n }\n },\n implementations: {\n guards: {\n closeOnSelect: ({ prop }) => !!prop(\"closeOnSelect\"),\n isOpenControlled: ({ prop }) => prop(\"open\") != null || !!prop(\"inline\"),\n shouldRestoreFocus: ({ context }) => !!context.get(\"restoreFocus\")\n },\n effects: {\n trackPositioning({ context, prop, scope }) {\n if (prop(\"inline\")) return;\n if (!context.get(\"currentPlacement\")) {\n context.set(\"currentPlacement\", prop(\"positioning\")?.placement);\n }\n const anchorEl = getTriggerEl(scope);\n const getPositionerEl2 = () => getPositionerEl(scope);\n return getPlacement(anchorEl, getPositionerEl2, {\n ...prop(\"positioning\"),\n defer: true,\n onComplete(data) {\n context.set(\"currentPlacement\", data.placement);\n }\n });\n },\n trackDismissableElement({ context, scope, prop, send }) {\n if (prop(\"inline\")) return;\n const getContentEl2 = () => getContentEl(scope);\n return trackDismissableElement(getContentEl2, {\n exclude: getTriggerEl(scope),\n defer: true,\n onInteractOutside(event) {\n prop(\"onInteractOutside\")?.(event);\n if (event.defaultPrevented) return;\n context.set(\"restoreFocus\", !(event.detail.focusable || event.detail.contextmenu));\n },\n onPointerDownOutside: prop(\"onPointerDownOutside\"),\n onFocusOutside: prop(\"onFocusOutside\"),\n onDismiss() {\n send({ type: \"INTERACT_OUTSIDE\" });\n }\n });\n },\n trackFormControl({ context, scope, send }) {\n const inputEl = getHiddenInputEl(scope);\n return trackFormControl(inputEl, {\n onFieldsetDisabledChange(disabled) {\n context.set(\"fieldsetDisabled\", disabled);\n },\n onFormReset() {\n send({ type: \"VALUE.SET\", value: context.initial(\"value\"), src: \"form.reset\" });\n }\n });\n },\n trackPointerMove({ context, scope, event, send }) {\n return trackPointerMove(scope.getDoc(), {\n onPointerMove({ point }) {\n const type = context.get(\"activeId\") === \"area\" ? \"AREA.POINTER_MOVE\" : \"CHANNEL_SLIDER.POINTER_MOVE\";\n send({ type, point, format: event.format });\n },\n onPointerUp() {\n const type = context.get(\"activeId\") === \"area\" ? \"AREA.POINTER_UP\" : \"CHANNEL_SLIDER.POINTER_UP\";\n send({ type });\n }\n });\n },\n disableTextSelection({ scope }) {\n return disableTextSelection({\n doc: scope.getDoc(),\n target: getContentEl(scope)\n });\n }\n },\n actions: {\n openEyeDropper({ scope, context }) {\n const win = scope.getWin();\n const isSupported = \"EyeDropper\" in win;\n if (!isSupported) return;\n const picker = new win.EyeDropper();\n picker.open().then(({ sRGBHex }) => {\n const format = context.get(\"value\").getFormat();\n const color = parseColor(sRGBHex).toFormat(format);\n context.set(\"value\", color);\n }).catch(() => void 0);\n },\n setActiveChannel({ context, event }) {\n context.set(\"activeId\", event.id);\n if (event.channel) context.set(\"activeChannel\", event.channel);\n if (event.orientation) context.set(\"activeOrientation\", event.orientation);\n },\n clearActiveChannel({ context }) {\n context.set(\"activeChannel\", null);\n context.set(\"activeId\", null);\n context.set(\"activeOrientation\", null);\n },\n setAreaColorFromPoint({ context, event, computed, scope }) {\n const v = event.format ? context.get(\"value\").toFormat(event.format) : computed(\"areaValue\");\n const { xChannel, yChannel } = event.channel || context.get(\"activeChannel\");\n const percent = getAreaValueFromPoint(scope, event.point);\n if (!percent) return;\n const xValue = v.getChannelPercentValue(xChannel, percent.x);\n const yValue = v.getChannelPercentValue(yChannel, 1 - percent.y);\n const color = v.withChannelValue(xChannel, xValue).withChannelValue(yChannel, yValue);\n context.set(\"value\", color);\n },\n setChannelColorFromPoint({ context, event, computed, scope }) {\n const channel = event.channel || context.get(\"activeId\");\n const normalizedValue = event.format ? context.get(\"value\").toFormat(event.format) : computed(\"areaValue\");\n const percent = getChannelSliderValueFromPoint(scope, event.point, channel);\n if (!percent) return;\n const orientation = context.get(\"activeOrientation\") || \"horizontal\";\n const channelPercent = orientation === \"horizontal\" ? percent.x : percent.y;\n const value = normalizedValue.getChannelPercentValue(channel, channelPercent);\n const color = normalizedValue.withChannelValue(channel, value);\n context.set(\"value\", color);\n },\n setValue({ context, event }) {\n context.set(\"value\", event.value);\n },\n setFormat({ context, event }) {\n context.set(\"format\", event.format);\n },\n dispatchChangeEvent({ scope, computed }) {\n dispatchInputValueEvent(getHiddenInputEl(scope), { value: computed(\"valueAsString\") });\n },\n syncInputElements({ context, scope }) {\n syncChannelInputs(scope, context.get(\"value\"));\n },\n invokeOnChangeEnd({ context, prop, computed }) {\n prop(\"onValueChangeEnd\")?.({\n value: context.get(\"value\"),\n valueAsString: computed(\"valueAsString\")\n });\n },\n setChannelColorFromInput({ context, event, scope, prop }) {\n const { channel, isTextField, value } = event;\n const currentAlpha = context.get(\"value\").getChannelValue(\"alpha\");\n let color;\n if (channel === \"alpha\") {\n let valueAsNumber = parseFloat(value);\n valueAsNumber = Number.isNaN(valueAsNumber) ? currentAlpha : valueAsNumber;\n color = context.get(\"value\").withChannelValue(\"alpha\", valueAsNumber);\n } else if (isTextField) {\n color = tryCatch(\n () => {\n const parseValue = channel === \"hex\" ? prefixHex(value) : value;\n return parse(parseValue).withChannelValue(\"alpha\", currentAlpha);\n },\n () => context.get(\"value\")\n );\n } else {\n const current = context.get(\"value\").toFormat(context.get(\"format\"));\n const valueAsNumber = Number.isNaN(value) ? current.getChannelValue(channel) : value;\n color = current.withChannelValue(channel, valueAsNumber);\n }\n syncChannelInputs(scope, context.get(\"value\"), color);\n context.set(\"value\", color);\n prop(\"onValueChangeEnd\")?.({\n value: color,\n valueAsString: color.toString(context.get(\"format\"))\n });\n },\n incrementChannel({ context, event }) {\n const color = context.get(\"value\").incrementChannel(event.channel, event.step);\n context.set(\"value\", color);\n },\n decrementChannel({ context, event }) {\n const color = context.get(\"value\").decrementChannel(event.channel, event.step);\n context.set(\"value\", color);\n },\n incrementAreaXChannel({ context, event, computed }) {\n const { xChannel } = event.channel;\n const color = computed(\"areaValue\").incrementChannel(xChannel, event.step);\n context.set(\"value\", color);\n },\n decrementAreaXChannel({ context, event, computed }) {\n const { xChannel } = event.channel;\n const color = computed(\"areaValue\").decrementChannel(xChannel, event.step);\n context.set(\"value\", color);\n },\n incrementAreaYChannel({ context, event, computed }) {\n const { yChannel } = event.channel;\n const color = computed(\"areaValue\").incrementChannel(yChannel, event.step);\n context.set(\"value\", color);\n },\n decrementAreaYChannel({ context, event, computed }) {\n const { yChannel } = event.channel;\n const color = computed(\"areaValue\").decrementChannel(yChannel, event.step);\n context.set(\"value\", color);\n },\n setChannelToMax({ context, event }) {\n const value = context.get(\"value\");\n const range = value.getChannelRange(event.channel);\n const color = value.withChannelValue(event.channel, range.maxValue);\n context.set(\"value\", color);\n },\n setChannelToMin({ context, event }) {\n const value = context.get(\"value\");\n const range = value.getChannelRange(event.channel);\n const color = value.withChannelValue(event.channel, range.minValue);\n context.set(\"value\", color);\n },\n focusAreaThumb({ scope }) {\n raf(() => {\n getAreaThumbEl(scope)?.focus({ preventScroll: true });\n });\n },\n focusChannelThumb({ event, scope }) {\n raf(() => {\n getChannelSliderThumbEl(scope, event.channel)?.focus({ preventScroll: true });\n });\n },\n setInitialFocus({ prop, scope }) {\n if (!prop(\"openAutoFocus\")) return;\n raf(() => {\n const element = getInitialFocus({\n root: getContentEl(scope),\n getInitialEl: prop(\"initialFocusEl\")\n });\n element?.focus({ preventScroll: true });\n });\n },\n setReturnFocus({ scope }) {\n raf(() => {\n getTriggerEl(scope)?.focus({ preventScroll: true });\n });\n },\n syncFormatSelectElement({ context, scope }) {\n syncFormatSelect(scope, context.get(\"format\"));\n },\n invokeOnOpen({ prop }) {\n if (prop(\"inline\")) return;\n prop(\"onOpenChange\")?.({ open: true });\n },\n invokeOnClose({ prop }) {\n if (prop(\"inline\")) return;\n prop(\"onOpenChange\")?.({ open: false });\n },\n toggleVisibility({ prop, event, send }) {\n send({ type: prop(\"open\") ? \"CONTROLLED.OPEN\" : \"CONTROLLED.CLOSE\", previousEvent: event });\n }\n }\n }\n});\nfunction syncChannelInputs(scope, currentValue, nextValue) {\n const channelInputEls = getChannelInputEls(scope);\n raf(() => {\n channelInputEls.forEach((inputEl) => {\n const channel = inputEl.dataset.channel;\n setElementValue(inputEl, getChannelValue(nextValue || currentValue, channel));\n });\n });\n}\nfunction syncFormatSelect(scope, format) {\n const selectEl = getFormatSelectEl(scope);\n if (!selectEl) return;\n raf(() => setElementValue(selectEl, format));\n}\nvar props = createProps()([\n \"closeOnSelect\",\n \"dir\",\n \"disabled\",\n \"format\",\n \"defaultFormat\",\n \"getRootNode\",\n \"id\",\n \"ids\",\n \"initialFocusEl\",\n \"inline\",\n \"name\",\n \"positioning\",\n \"onFocusOutside\",\n \"onFormatChange\",\n \"onInteractOutside\",\n \"onOpenChange\",\n \"onPointerDownOutside\",\n \"onValueChange\",\n \"onValueChangeEnd\",\n \"defaultOpen\",\n \"open\",\n \"positioning\",\n \"required\",\n \"readOnly\",\n \"value\",\n \"defaultValue\",\n \"invalid\",\n \"openAutoFocus\"\n]);\nvar splitProps = createSplitProps(props);\nvar areaProps = createProps()([\"xChannel\", \"yChannel\"]);\nvar splitAreaProps = createSplitProps(areaProps);\nvar channelProps = createProps()([\"channel\", \"orientation\"]);\nvar splitChannelProps = createSplitProps(channelProps);\nvar swatchTriggerProps = createProps()([\"value\", \"disabled\"]);\nvar splitSwatchTriggerProps = createSplitProps(swatchTriggerProps);\nvar swatchProps = createProps()([\"value\", \"respectAlpha\"]);\nvar splitSwatchProps = createSplitProps(swatchProps);\nvar transparencyGridProps = createProps()([\"size\"]);\nvar splitTransparencyGridProps = createSplitProps(transparencyGridProps);\n\nexport { anatomy, areaProps, channelProps, connect, machine, parse, props, splitAreaProps, splitChannelProps, splitProps, splitSwatchProps, splitSwatchTriggerProps, splitTransparencyGridProps, swatchProps, swatchTriggerProps, transparencyGridProps };\n","import { createAnatomy } from '@zag-js/anatomy';\nimport { prevById, nextById, queryAll, getEventKey, isSafari, dataAttr } from '@zag-js/dom-query';\nimport { warn, last, first, add, remove, createSplitProps } from '@zag-js/utils';\nimport { createGuards, createMachine } from '@zag-js/core';\nimport { createProps } from '@zag-js/types';\n\n// src/accordion.anatomy.ts\nvar anatomy = createAnatomy(\"accordion\").parts(\"root\", \"item\", \"itemTrigger\", \"itemContent\", \"itemIndicator\");\nvar parts = anatomy.build();\nvar getRootId = (ctx) => ctx.ids?.root ?? `accordion:${ctx.id}`;\nvar getItemId = (ctx, value) => ctx.ids?.item?.(value) ?? `accordion:${ctx.id}:item:${value}`;\nvar getItemContentId = (ctx, value) => ctx.ids?.itemContent?.(value) ?? `accordion:${ctx.id}:content:${value}`;\nvar getItemTriggerId = (ctx, value) => ctx.ids?.itemTrigger?.(value) ?? `accordion:${ctx.id}:trigger:${value}`;\nvar getRootEl = (ctx) => ctx.getById(getRootId(ctx));\nvar getTriggerEls = (ctx) => {\n const ownerId = CSS.escape(getRootId(ctx));\n const selector = `[aria-controls][data-ownedby='${ownerId}']:not([disabled])`;\n return queryAll(getRootEl(ctx), selector);\n};\nvar getFirstTriggerEl = (ctx) => first(getTriggerEls(ctx));\nvar getLastTriggerEl = (ctx) => last(getTriggerEls(ctx));\nvar getNextTriggerEl = (ctx, id) => nextById(getTriggerEls(ctx), getItemTriggerId(ctx, id));\nvar getPrevTriggerEl = (ctx, id) => prevById(getTriggerEls(ctx), getItemTriggerId(ctx, id));\n\n// src/accordion.connect.ts\nfunction connect(service, normalize) {\n const { send, context, prop, scope, computed } = service;\n const focusedValue = context.get(\"focusedValue\");\n const value = context.get(\"value\");\n const multiple = prop(\"multiple\");\n function setValue(value2) {\n let nextValue = value2;\n if (!multiple && nextValue.length > 1) {\n nextValue = [nextValue[0]];\n }\n send({ type: \"VALUE.SET\", value: nextValue });\n }\n function getItemState(props2) {\n return {\n expanded: value.includes(props2.value),\n focused: focusedValue === props2.value,\n disabled: Boolean(props2.disabled ?? prop(\"disabled\"))\n };\n }\n return {\n focusedValue,\n value,\n setValue,\n getItemState,\n getRootProps() {\n return normalize.element({\n ...parts.root.attrs,\n dir: prop(\"dir\"),\n id: getRootId(scope),\n \"data-orientation\": prop(\"orientation\")\n });\n },\n getItemProps(props2) {\n const itemState = getItemState(props2);\n return normalize.element({\n ...parts.item.attrs,\n dir: prop(\"dir\"),\n id: getItemId(scope, props2.value),\n \"data-state\": itemState.expanded ? \"open\" : \"closed\",\n \"data-focus\": dataAttr(itemState.focused),\n \"data-disabled\": dataAttr(itemState.disabled),\n \"data-orientation\": prop(\"orientation\")\n });\n },\n getItemContentProps(props2) {\n const itemState = getItemState(props2);\n return normalize.element({\n ...parts.itemContent.attrs,\n dir: prop(\"dir\"),\n role: \"region\",\n id: getItemContentId(scope, props2.value),\n \"aria-labelledby\": getItemTriggerId(scope, props2.value),\n hidden: !itemState.expanded,\n \"data-state\": itemState.expanded ? \"open\" : \"closed\",\n \"data-disabled\": dataAttr(itemState.disabled),\n \"data-focus\": dataAttr(itemState.focused),\n \"data-orientation\": prop(\"orientation\")\n });\n },\n getItemIndicatorProps(props2) {\n const itemState = getItemState(props2);\n return normalize.element({\n ...parts.itemIndicator.attrs,\n dir: prop(\"dir\"),\n \"aria-hidden\": true,\n \"data-state\": itemState.expanded ? \"open\" : \"closed\",\n \"data-disabled\": dataAttr(itemState.disabled),\n \"data-focus\": dataAttr(itemState.focused),\n \"data-orientation\": prop(\"orientation\")\n });\n },\n getItemTriggerProps(props2) {\n const { value: value2 } = props2;\n const itemState = getItemState(props2);\n return normalize.button({\n ...parts.itemTrigger.attrs,\n type: \"button\",\n dir: prop(\"dir\"),\n id: getItemTriggerId(scope, value2),\n \"aria-controls\": getItemContentId(scope, value2),\n \"aria-expanded\": itemState.expanded,\n disabled: itemState.disabled,\n \"data-orientation\": prop(\"orientation\"),\n \"aria-disabled\": itemState.disabled,\n \"data-state\": itemState.expanded ? \"open\" : \"closed\",\n \"data-ownedby\": getRootId(scope),\n onFocus() {\n if (itemState.disabled) return;\n send({ type: \"TRIGGER.FOCUS\", value: value2 });\n },\n onBlur() {\n if (itemState.disabled) return;\n send({ type: \"TRIGGER.BLUR\" });\n },\n onClick(event) {\n if (itemState.disabled) return;\n if (isSafari()) {\n event.currentTarget.focus();\n }\n send({ type: \"TRIGGER.CLICK\", value: value2 });\n },\n onKeyDown(event) {\n if (event.defaultPrevented) return;\n if (itemState.disabled) return;\n const keyMap = {\n ArrowDown() {\n if (computed(\"isHorizontal\")) return;\n send({ type: \"GOTO.NEXT\", value: value2 });\n },\n ArrowUp() {\n if (computed(\"isHorizontal\")) return;\n send({ type: \"GOTO.PREV\", value: value2 });\n },\n ArrowRight() {\n if (!computed(\"isHorizontal\")) return;\n send({ type: \"GOTO.NEXT\", value: value2 });\n },\n ArrowLeft() {\n if (!computed(\"isHorizontal\")) return;\n send({ type: \"GOTO.PREV\", value: value2 });\n },\n Home() {\n send({ type: \"GOTO.FIRST\", value: value2 });\n },\n End() {\n send({ type: \"GOTO.LAST\", value: value2 });\n }\n };\n const key = getEventKey(event, {\n dir: prop(\"dir\"),\n orientation: prop(\"orientation\")\n });\n const exec = keyMap[key];\n if (exec) {\n exec(event);\n event.preventDefault();\n }\n }\n });\n }\n };\n}\nvar { and, not } = createGuards();\nvar machine = createMachine({\n props({ props: props2 }) {\n return {\n collapsible: false,\n multiple: false,\n orientation: \"vertical\",\n defaultValue: [],\n ...props2\n };\n },\n initialState() {\n return \"idle\";\n },\n context({ prop, bindable }) {\n return {\n focusedValue: bindable(() => ({\n defaultValue: null,\n sync: true,\n onChange(value) {\n prop(\"onFocusChange\")?.({ value });\n }\n })),\n value: bindable(() => ({\n defaultValue: prop(\"defaultValue\"),\n value: prop(\"value\"),\n onChange(value) {\n prop(\"onValueChange\")?.({ value });\n }\n }))\n };\n },\n computed: {\n isHorizontal: ({ prop }) => prop(\"orientation\") === \"horizontal\"\n },\n on: {\n \"VALUE.SET\": {\n actions: [\"setValue\"]\n }\n },\n states: {\n idle: {\n on: {\n \"TRIGGER.FOCUS\": {\n target: \"focused\",\n actions: [\"setFocusedValue\"]\n }\n }\n },\n focused: {\n on: {\n \"GOTO.NEXT\": {\n actions: [\"focusNextTrigger\"]\n },\n \"GOTO.PREV\": {\n actions: [\"focusPrevTrigger\"]\n },\n \"TRIGGER.CLICK\": [\n {\n guard: and(\"isExpanded\", \"canToggle\"),\n actions: [\"collapse\"]\n },\n {\n guard: not(\"isExpanded\"),\n actions: [\"expand\"]\n }\n ],\n \"GOTO.FIRST\": {\n actions: [\"focusFirstTrigger\"]\n },\n \"GOTO.LAST\": {\n actions: [\"focusLastTrigger\"]\n },\n \"TRIGGER.BLUR\": {\n target: \"idle\",\n actions: [\"clearFocusedValue\"]\n }\n }\n }\n },\n implementations: {\n guards: {\n canToggle: ({ prop }) => !!prop(\"collapsible\") || !!prop(\"multiple\"),\n isExpanded: ({ context, event }) => context.get(\"value\").includes(event.value)\n },\n actions: {\n collapse({ context, prop, event }) {\n const next = prop(\"multiple\") ? remove(context.get(\"value\"), event.value) : [];\n context.set(\"value\", next);\n },\n expand({ context, prop, event }) {\n const next = prop(\"multiple\") ? add(context.get(\"value\"), event.value) : [event.value];\n context.set(\"value\", next);\n },\n focusFirstTrigger({ scope }) {\n getFirstTriggerEl(scope)?.focus();\n },\n focusLastTrigger({ scope }) {\n getLastTriggerEl(scope)?.focus();\n },\n focusNextTrigger({ context, scope }) {\n const focusedValue = context.get(\"focusedValue\");\n if (!focusedValue) return;\n const triggerEl = getNextTriggerEl(scope, focusedValue);\n triggerEl?.focus();\n },\n focusPrevTrigger({ context, scope }) {\n const focusedValue = context.get(\"focusedValue\");\n if (!focusedValue) return;\n const triggerEl = getPrevTriggerEl(scope, focusedValue);\n triggerEl?.focus();\n },\n setFocusedValue({ context, event }) {\n context.set(\"focusedValue\", event.value);\n },\n clearFocusedValue({ context }) {\n context.set(\"focusedValue\", null);\n },\n setValue({ context, event }) {\n context.set(\"value\", event.value);\n },\n coarseValue({ context, prop }) {\n if (!prop(\"multiple\") && context.get(\"value\").length > 1) {\n warn(`The value of accordion should be a single value when multiple is false.`);\n context.set(\"value\", [context.get(\"value\")[0]]);\n }\n }\n }\n }\n});\nvar props = createProps()([\n \"collapsible\",\n \"dir\",\n \"disabled\",\n \"getRootNode\",\n \"id\",\n \"ids\",\n \"multiple\",\n \"onFocusChange\",\n \"onValueChange\",\n \"orientation\",\n \"value\",\n \"defaultValue\"\n]);\nvar splitProps = createSplitProps(props);\nvar itemProps = createProps()([\"value\", \"disabled\"]);\nvar splitItemProps = createSplitProps(itemProps);\n\nexport { anatomy, connect, itemProps, machine, props, splitItemProps, splitProps };\n","import { createAnatomy } from '@zag-js/anatomy';\nimport { setElementValue, getWindow, dataAttr } from '@zag-js/dom-query';\nimport { createMachine } from '@zag-js/core';\nimport { setRafTimeout, createSplitProps } from '@zag-js/utils';\nimport { createProps } from '@zag-js/types';\n\n// src/clipboard.anatomy.ts\nvar anatomy = createAnatomy(\"clipboard\").parts(\"root\", \"control\", \"trigger\", \"indicator\", \"input\", \"label\");\nvar parts = anatomy.build();\nvar getRootId = (ctx) => ctx.ids?.root ?? `clip:${ctx.id}`;\nvar getInputId = (ctx) => ctx.ids?.input ?? `clip:${ctx.id}:input`;\nvar getLabelId = (ctx) => ctx.ids?.label ?? `clip:${ctx.id}:label`;\nvar getInputEl = (ctx) => ctx.getById(getInputId(ctx));\nvar writeToClipboard = (ctx, value) => copyText(ctx.getDoc(), value);\nfunction createNode(doc, text) {\n const node = doc.createElement(\"pre\");\n Object.assign(node.style, {\n width: \"1px\",\n height: \"1px\",\n position: \"fixed\",\n top: \"5px\"\n });\n node.textContent = text;\n return node;\n}\nfunction copyNode(node) {\n const win = getWindow(node);\n const selection = win.getSelection();\n if (selection == null) {\n return Promise.reject(new Error());\n }\n selection.removeAllRanges();\n const doc = node.ownerDocument;\n const range = doc.createRange();\n range.selectNodeContents(node);\n selection.addRange(range);\n doc.execCommand(\"copy\");\n selection.removeAllRanges();\n return Promise.resolve();\n}\nfunction copyText(doc, text) {\n const win = doc.defaultView || window;\n if (win.navigator.clipboard?.writeText !== void 0) {\n return win.navigator.clipboard.writeText(text);\n }\n if (!doc.body) {\n return Promise.reject(new Error());\n }\n const node = createNode(doc, text);\n doc.body.appendChild(node);\n copyNode(node);\n doc.body.removeChild(node);\n return Promise.resolve();\n}\n\n// src/clipboard.connect.ts\nfunction connect(service, normalize) {\n const { state, send, context, scope } = service;\n const copied = state.matches(\"copied\");\n return {\n copied,\n value: context.get(\"value\"),\n setValue(value) {\n send({ type: \"VALUE.SET\", value });\n },\n copy() {\n send({ type: \"COPY\" });\n },\n getRootProps() {\n return normalize.element({\n ...parts.root.attrs,\n \"data-copied\": dataAttr(copied),\n id: getRootId(scope)\n });\n },\n getLabelProps() {\n return normalize.label({\n ...parts.label.attrs,\n htmlFor: getInputId(scope),\n \"data-copied\": dataAttr(copied),\n id: getLabelId(scope)\n });\n },\n getControlProps() {\n return normalize.element({\n ...parts.control.attrs,\n \"data-copied\": dataAttr(copied)\n });\n },\n getInputProps() {\n return normalize.input({\n ...parts.input.attrs,\n defaultValue: context.get(\"value\"),\n \"data-copied\": dataAttr(copied),\n readOnly: true,\n \"data-readonly\": \"true\",\n id: getInputId(scope),\n onFocus(event) {\n event.currentTarget.select();\n },\n onCopy() {\n send({ type: \"INPUT.COPY\" });\n }\n });\n },\n getTriggerProps() {\n return normalize.button({\n ...parts.trigger.attrs,\n type: \"button\",\n \"aria-label\": copied ? \"Copied to clipboard\" : \"Copy to clipboard\",\n \"data-copied\": dataAttr(copied),\n onClick() {\n send({ type: \"COPY\" });\n }\n });\n },\n getIndicatorProps(props2) {\n return normalize.element({\n ...parts.indicator.attrs,\n hidden: props2.copied !== copied\n });\n }\n };\n}\nvar machine = createMachine({\n props({ props: props2 }) {\n return {\n timeout: 3e3,\n defaultValue: \"\",\n ...props2\n };\n },\n initialState() {\n return \"idle\";\n },\n context({ prop, bindable }) {\n return {\n value: bindable(() => ({\n defaultValue: prop(\"defaultValue\"),\n value: prop(\"value\"),\n onChange(value) {\n prop(\"onValueChange\")?.({ value });\n }\n }))\n };\n },\n watch({ track, context, action }) {\n track([() => context.get(\"value\")], () => {\n action([\"syncInputElement\"]);\n });\n },\n on: {\n \"VALUE.SET\": {\n actions: [\"setValue\"]\n },\n COPY: {\n target: \"copied\",\n actions: [\"copyToClipboard\", \"invokeOnCopy\"]\n }\n },\n states: {\n idle: {\n on: {\n \"INPUT.COPY\": {\n target: \"copied\",\n actions: [\"invokeOnCopy\"]\n }\n }\n },\n copied: {\n effects: [\"waitForTimeout\"],\n on: {\n \"COPY.DONE\": {\n target: \"idle\"\n },\n COPY: {\n target: \"copied\",\n actions: [\"copyToClipboard\", \"invokeOnCopy\"]\n },\n \"INPUT.COPY\": {\n actions: [\"invokeOnCopy\"]\n }\n }\n }\n },\n implementations: {\n effects: {\n waitForTimeout({ prop, send }) {\n return setRafTimeout(() => {\n send({ type: \"COPY.DONE\" });\n }, prop(\"timeout\"));\n }\n },\n actions: {\n setValue({ context, event }) {\n context.set(\"value\", event.value);\n },\n copyToClipboard({ context, scope }) {\n writeToClipboard(scope, context.get(\"value\"));\n },\n invokeOnCopy({ prop }) {\n prop(\"onStatusChange\")?.({ copied: true });\n },\n syncInputElement({ context, scope }) {\n const inputEl = getInputEl(scope);\n if (!inputEl) return;\n setElementValue(inputEl, context.get(\"value\"));\n }\n }\n }\n});\nvar props = createProps()([\n \"getRootNode\",\n \"id\",\n \"ids\",\n \"value\",\n \"defaultValue\",\n \"timeout\",\n \"onStatusChange\",\n \"onValueChange\"\n]);\nvar contextProps = createSplitProps(props);\nvar indicatorProps = createProps()([\"copied\"]);\nvar splitIndicatorProps = createSplitProps(indicatorProps);\n\nexport { anatomy, connect, contextProps, indicatorProps, machine, props, splitIndicatorProps };\n","'use client';\nimport { anatomy } from '@zag-js/color-picker';\n\nconst colorPickerAnatomy = anatomy.extendWith(\"view\");\n\nexport { colorPickerAnatomy };\n","// src/data-transfer.ts\nvar getItemEntry = (item) => typeof item.getAsEntry === \"function\" ? item.getAsEntry() : typeof item.webkitGetAsEntry === \"function\" ? item.webkitGetAsEntry() : null;\nvar isDirectoryEntry = (entry) => entry.isDirectory;\nvar isFileEntry = (entry) => entry.isFile;\nvar addRelativePath = (file, path) => {\n Object.defineProperty(file, \"relativePath\", { value: path ? `${path}/${file.name}` : file.name });\n return file;\n};\nvar getFileEntries = (items, traverseDirectories) => Promise.all(\n Array.from(items).filter((item) => item.kind === \"file\").map((item) => {\n const entry = getItemEntry(item);\n if (!entry) return null;\n if (isDirectoryEntry(entry) && traverseDirectories) {\n return getDirectoryFiles(entry.createReader(), `${entry.name}`);\n }\n if (isFileEntry(entry) && typeof item.getAsFile === \"function\") {\n const file = item.getAsFile();\n return Promise.resolve(file ? addRelativePath(file, \"\") : null);\n }\n if (isFileEntry(entry)) {\n return new Promise((resolve) => {\n entry.file((file) => {\n resolve(addRelativePath(file, \"\"));\n });\n });\n }\n }).filter((b) => b)\n);\nvar getDirectoryFiles = (reader, path = \"\") => new Promise((resolve) => {\n const entryPromises = [];\n const readDirectoryEntries = () => {\n reader.readEntries((entries) => {\n if (entries.length === 0) {\n resolve(Promise.all(entryPromises).then((entries2) => entries2.flat()));\n return;\n }\n const promises = entries.map((entry) => {\n if (!entry) return null;\n if (isDirectoryEntry(entry)) {\n return getDirectoryFiles(entry.createReader(), `${path}${entry.name}`);\n }\n if (isFileEntry(entry)) {\n return new Promise((resolve2) => {\n entry.file((file) => {\n resolve2(addRelativePath(file, path));\n });\n });\n }\n }).filter((b) => b);\n entryPromises.push(Promise.all(promises));\n readDirectoryEntries();\n });\n };\n readDirectoryEntries();\n});\n\n// src/data-url-to-blob.ts\nfunction dataURItoBlob(uri) {\n const binary = atob(uri.split(\",\")[1]);\n const mimeString = uri.split(\",\")[0].split(\":\")[1].split(\";\")[0];\n const buffer = new ArrayBuffer(binary.length);\n const intArray = new Uint8Array(buffer);\n for (let i = 0; i < binary.length; i++) {\n intArray[i] = binary.charCodeAt(i);\n }\n return new Blob([buffer], { type: mimeString });\n}\n\n// src/download-file.ts\nvar BOM_REGEX = /^\\s*(?:text\\/\\S*|application\\/xml|\\S*\\/\\S*\\+xml)\\s*;.*charset\\s*=\\s*utf-8/i;\nvar MAC_REGEX = /Macintosh/;\nvar APPLE_WEBKIT_REGEX = /AppleWebKit/;\nvar SAFARI_REGEX = /Safari/;\nfunction getBlob(blobOrString, type, appendBOM) {\n let blob = typeof blobOrString === \"string\" ? new Blob([blobOrString], { type }) : blobOrString;\n if (appendBOM && BOM_REGEX.test(blob.type)) {\n return new Blob([String.fromCharCode(65279), blob], { type: blob.type });\n }\n return blob;\n}\nfunction isMSEdge(win) {\n return Boolean(win.navigator && win.navigator.msSaveOrOpenBlob);\n}\nfunction isWebView(win) {\n return win.navigator && MAC_REGEX.test(win.navigator.userAgent) && APPLE_WEBKIT_REGEX.test(win.navigator.userAgent) && !SAFARI_REGEX.test(win.navigator.userAgent);\n}\nfunction downloadFile(options) {\n const { file, win = window, type, name, appendBOM, revokeTimeout = 0 } = options;\n const doc = win.document;\n const blob = getBlob(file, type, appendBOM);\n const fileName = (file instanceof File ? name || file.name : name) || \"file-download\";\n if (isMSEdge(win)) {\n win.navigator.msSaveOrOpenBlob(blob, fileName);\n return;\n }\n const isMacOSWebView = isWebView(win);\n const anchor = doc.createElement(\"a\");\n const canUseDownload = \"download\" in anchor && !isMacOSWebView;\n if (canUseDownload) {\n const url2 = win.URL.createObjectURL(blob);\n anchor.href = url2;\n anchor.rel = \"noopener\";\n anchor.download = fileName;\n anchor.style.display = \"none\";\n doc.body.appendChild(anchor);\n anchor.dispatchEvent(new win.MouseEvent(\"click\"));\n setTimeout(() => {\n win.URL.revokeObjectURL(url2);\n anchor.remove();\n }, revokeTimeout);\n return;\n }\n const url = win.URL.createObjectURL(blob);\n const popup = win.open(url, \"_blank\");\n if (!popup) {\n win.location.href = url;\n }\n setTimeout(() => {\n win.URL.revokeObjectURL(url);\n }, revokeTimeout);\n}\n\n// src/get-accept-attr.ts\nfunction isMIMEType(v) {\n return v === \"audio/*\" || v === \"video/*\" || v === \"image/*\" || v === \"text/*\" || /\\w+\\/[-+.\\w]+/g.test(v);\n}\nfunction isExt(v) {\n return /^.*\\.[\\w]+$/.test(v);\n}\nvar isValidMIME = (v) => isMIMEType(v) || isExt(v);\nfunction getAcceptAttrString(accept) {\n if (accept == null) return;\n if (typeof accept === \"string\") {\n return accept;\n }\n if (Array.isArray(accept)) {\n return accept.filter(isValidMIME).join(\",\");\n }\n return Object.entries(accept).reduce((a, [mimeType, ext]) => [...a, mimeType, ...ext], []).filter(isValidMIME).join(\",\");\n}\n\n// src/get-file-data-url.ts\nvar getFileDataUrl = async (file) => {\n const reader = new FileReader();\n return new Promise((resolve, reject) => {\n reader.onerror = () => {\n reader.abort();\n reject(new Error(\"There was an error reading a file\"));\n };\n reader.onloadend = () => {\n const { result } = reader;\n if (result instanceof ArrayBuffer) {\n reject(new Error(\"Expected DataURL as string from Blob/File, got ArrayBuffer\"));\n } else {\n resolve(result || void 0);\n }\n };\n reader.readAsDataURL(file);\n });\n};\n\n// src/get-total-file-size.ts\nvar getTotalFileSize = (files) => {\n return files.reduce((acc, file) => acc + file.size, 0);\n};\n\n// src/is-file-equal.ts\nvar isFileEqual = (file1, file2) => {\n return file1.name === file2.name && file1.size === file2.size && file1.type === file2.type;\n};\n\n// src/is-valid-file-size.ts\nvar isDefined = (v) => v !== void 0 && v !== null;\nfunction isValidFileSize(file, minSize, maxSize) {\n if (isDefined(file.size)) {\n if (isDefined(minSize) && isDefined(maxSize)) {\n if (file.size > maxSize) return [false, \"FILE_TOO_LARGE\"];\n if (file.size < minSize) return [false, \"FILE_TOO_SMALL\"];\n } else if (isDefined(minSize) && file.size < minSize) {\n return [false, \"FILE_TOO_SMALL\"];\n } else if (isDefined(maxSize) && file.size > maxSize) {\n return [false, \"FILE_TOO_LARGE\"];\n }\n }\n return [true, null];\n}\n\n// src/mime-types.ts\nvar mimeTypes = \"3g2_video/3gpp2[3gp,3gpp_video/3gpp[3mf_model/3mf[7z_application/x-7z-compressed[aac_audio/aac[ac_application/pkix-attr-cert[adp_audio/adpcm[adts_audio/aac[ai_application/postscript[aml_application/automationml-aml+xml[amlx_application/automationml-amlx+zip[amr_audio/amr[apk_application/vnd.android.package-archive[apng_image/apng[appcache,manifest_text/cache-manifest[appinstaller_application/appinstaller[appx_application/appx[appxbundle_application/appxbundle[asc_application/pgp-keys[atom_application/atom+xml[atomcat_application/atomcat+xml[atomdeleted_application/atomdeleted+xml[atomsvc_application/atomsvc+xml[au,snd_audio/basic[avi_video/x-msvideo[avci_image/avci[avcs_image/avcs[avif_image/avif[aw_application/applixware[bdoc_application/bdoc[bin,bpk,buffer,deb,deploy,dist,distz,dll,dmg,dms,dump,elc,exe,img,iso,lrf,mar,msi,msm,msp,pkg,so_application/octet-stream[bmp,dib_image/bmp[btf,btif_image/prs.btif[bz2_application/x-bzip2[c_text/x-c[ccxml_application/ccxml+xml[cdfx_application/cdfx+xml[cdmia_application/cdmi-capability[cdmic_application/cdmi-container[cdmid_application/cdmi-domain[cdmio_application/cdmi-object[cdmiq_application/cdmi-queue[cer_application/pkix-cert[cgm_image/cgm[cjs_application/node[class_application/java-vm[coffee,litcoffee_text/coffeescript[conf,def,in,ini,list,log,text,txt_text/plain[cpp,cxx,cc_text/x-c++src[cpl_application/cpl+xml[cpt_application/mac-compactpro[crl_application/pkix-crl[css_text/css[csv_text/csv[cu_application/cu-seeme[cwl_application/cwl[cww_application/prs.cww[davmount_application/davmount+xml[dbk_application/docbook+xml[doc_application/msword[docx_application/vnd.openxmlformats-officedocument.wordprocessingml.document[dsc_text/prs.lines.tag[dssc_application/dssc+der[dtd_application/xml-dtd[dwd_application/atsc-dwd+xml[ear,jar,war_application/java-archive[ecma_application/ecmascript[emf_image/emf[eml,mime_message/rfc822[emma_application/emma+xml[emotionml_application/emotionml+xml[eot_application/vnd.ms-fontobject[eps,ps_application/postscript[epub_application/epub+zip[exi_application/exi[exp_application/express[exr_image/aces[ez_application/andrew-inset[fdf_application/fdf[fdt_application/fdt+xml[fits_image/fits[flac_audio/flac[flv_video/x-flv[g3_image/g3fax[geojson_application/geo+json[gif_image/gif[glb_model/gltf-binary[gltf_model/gltf+json[gml_application/gml+xml[go_text/x-go[gpx_application/gpx+xml[gz_application/gzip[h_text/x-h[h261_video/h261[h263_video/h263[h264_video/h264[heic_image/heic[heics_image/heic-sequence[heif_image/heif[heifs_image/heif-sequence[htm,html,shtml_text/html[ico_image/x-icon[icns_image/x-icns[ics,ifb_text/calendar[iges,igs_model/iges[ink,inkml_application/inkml+xml[ipa_application/octet-stream[java_text/x-java-source[jp2,jpg2_image/jp2[jpeg,jpe,jpg_image/jpeg[jpf,jpx_image/jpx[jpm,jpgm_image/jpm[jpgv_video/jpeg[jph_image/jph[js,mjs_text/javascript[json_application/json[json5_application/json5[jsonld_application/ld+json[jsx_text/jsx[jxl_image/jxl[jxr_image/jxr[ktx_image/ktx[ktx2_image/ktx2[less_text/less[m1v,m2v,mpe,mpeg,mpg_video/mpeg[m4a_audio/mp4[m4v_video/x-m4v[md,markdown_text/markdown[mid,midi,kar,rmi_audio/midi[mkv_video/x-matroska[mp2,mp2a,mp3,mpga,m3a,m2a_audio/mpeg[mp4,mp4v,mpg4_video/mp4[mp4a_audio/mp4[mp4s,m4p_application/mp4[odp_application/vnd.oasis.opendocument.presentation[oda_application/oda[ods_application/vnd.oasis.opendocument.spreadsheet[odt_application/vnd.oasis.opendocument.text[oga,ogg,opus,spx_audio/ogg[ogv_video/ogg[ogx_application/ogg[otf_font/otf[p12,pfx_application/x-pkcs12[pdf_application/pdf[pem_application/x-pem-file[php_text/x-php[png_image/png[ppt_application/vnd.ms-powerpoint[pptx_application/vnd.openxmlformats-officedocument.presentationml.presentation[pskcxml_application/pskc+xml[psd_image/vnd.adobe.photoshop[py_text/x-python[qt,mov_video/quicktime[rar_application/vnd.rar[rdf_application/rdf+xml[rtf_text/rtf[sass_text/x-sass[scss_text/x-scss[sgm,sgml_text/sgml[sh_application/x-sh[svg,svgz_image/svg+xml[swf_application/x-shockwave-flash[tar_application/x-tar[tif,tiff_image/tiff[toml_application/toml[ts_video/mp2t[tsx_text/tsx[tsv_text/tab-separated-values[ttc_font/collection[ttf_font/ttf[vtt_text/vtt[wasm_application/wasm[wav_audio/wav[weba_audio/webm[webm_video/webm[webmanifest_application/manifest+json[webp_image/webp[wma_audio/x-ms-wma[wmv_video/x-ms-wmv[woff_font/woff[woff2_font/woff2[xls_application/vnd.ms-excel[xlsx_application/vnd.openxmlformats-officedocument.spreadsheetml.sheet[xml_application/xml[xz_application/x-xz[yaml,yml_text/yaml[zip_application/zip\";\nvar mimeTypesMap = new Map(\n mimeTypes.split(\"[\").flatMap((mime) => {\n const [extensions, mimeType] = mime.split(\"_\");\n return extensions.split(\",\").map((ext) => [ext, mimeType]);\n })\n);\n\n// src/get-file-mime-type.ts\nfunction getFileMimeType(name) {\n const extension = name.split(\".\").pop();\n return extension ? mimeTypesMap.get(extension) || null : null;\n}\n\n// src/is-valid-file-type.ts\nfunction isFileAccepted(file, accept) {\n if (file && accept) {\n const types = Array.isArray(accept) ? accept : typeof accept === \"string\" ? accept.split(\",\") : [];\n if (types.length === 0) return true;\n const fileName = file.name || \"\";\n const mimeType = (file.type || getFileMimeType(fileName) || \"\").toLowerCase();\n const baseMimeType = mimeType.replace(/\\/.*$/, \"\");\n return types.some((type) => {\n const validType = type.trim().toLowerCase();\n if (validType.charAt(0) === \".\") {\n return fileName.toLowerCase().endsWith(validType);\n }\n if (validType.endsWith(\"/*\")) {\n return baseMimeType === validType.replace(/\\/.*$/, \"\");\n }\n return mimeType === validType;\n });\n }\n return true;\n}\nfunction isValidFileType(file, accept) {\n const isAcceptable = file.type === \"application/x-moz-file\" || isFileAccepted(file, accept);\n return [isAcceptable, isAcceptable ? null : \"FILE_INVALID_TYPE\"];\n}\n\nexport { dataURItoBlob, downloadFile, getAcceptAttrString, getFileDataUrl, getFileEntries, getFileMimeType, getTotalFileSize, isFileEqual, isValidFileSize, isValidFileType };\n","import { createAnatomy } from '@zag-js/anatomy';\nimport { setElementValue, raf, contains, dataAttr, ariaAttr, isComposingEvent, isApple } from '@zag-js/dom-query';\nimport { createMachine } from '@zag-js/core';\nimport { trackInteractOutside } from '@zag-js/interact-outside';\nimport { createProps } from '@zag-js/types';\nimport { createSplitProps } from '@zag-js/utils';\n\n// src/editable.anatomy.ts\nvar anatomy = createAnatomy(\"editable\").parts(\n \"root\",\n \"area\",\n \"label\",\n \"preview\",\n \"input\",\n \"editTrigger\",\n \"submitTrigger\",\n \"cancelTrigger\",\n \"control\"\n);\nvar parts = anatomy.build();\n\n// src/editable.dom.ts\nvar getRootId = (ctx) => ctx.ids?.root ?? `editable:${ctx.id}`;\nvar getAreaId = (ctx) => ctx.ids?.area ?? `editable:${ctx.id}:area`;\nvar getLabelId = (ctx) => ctx.ids?.label ?? `editable:${ctx.id}:label`;\nvar getPreviewId = (ctx) => ctx.ids?.preview ?? `editable:${ctx.id}:preview`;\nvar getInputId = (ctx) => ctx.ids?.input ?? `editable:${ctx.id}:input`;\nvar getControlId = (ctx) => ctx.ids?.control ?? `editable:${ctx.id}:control`;\nvar getSubmitTriggerId = (ctx) => ctx.ids?.submitTrigger ?? `editable:${ctx.id}:submit`;\nvar getCancelTriggerId = (ctx) => ctx.ids?.cancelTrigger ?? `editable:${ctx.id}:cancel`;\nvar getEditTriggerId = (ctx) => ctx.ids?.editTrigger ?? `editable:${ctx.id}:edit`;\nvar getInputEl = (ctx) => ctx.getById(getInputId(ctx));\nvar getPreviewEl = (ctx) => ctx.getById(getPreviewId(ctx));\nvar getSubmitTriggerEl = (ctx) => ctx.getById(getSubmitTriggerId(ctx));\nvar getCancelTriggerEl = (ctx) => ctx.getById(getCancelTriggerId(ctx));\nvar getEditTriggerEl = (ctx) => ctx.getById(getEditTriggerId(ctx));\n\n// src/editable.connect.ts\nfunction connect(service, normalize) {\n const { state, context, send, prop, scope, computed } = service;\n const disabled = prop(\"disabled\");\n const interactive = computed(\"isInteractive\");\n const readOnly = prop(\"readOnly\");\n const invalid = prop(\"invalid\");\n const autoResize = prop(\"autoResize\");\n const translations = prop(\"translations\");\n const editing = state.matches(\"edit\");\n const placeholderProp = prop(\"placeholder\");\n const placeholder = typeof placeholderProp === \"string\" ? { edit: placeholderProp, preview: placeholderProp } : placeholderProp;\n const value = context.get(\"value\");\n const empty = value.trim() === \"\";\n const valueText = empty ? placeholder?.preview ?? \"\" : value;\n return {\n editing,\n empty,\n value,\n valueText,\n setValue(value2) {\n send({ type: \"VALUE.SET\", value: value2, src: \"setValue\" });\n },\n clearValue() {\n send({ type: \"VALUE.SET\", value: \"\", src: \"clearValue\" });\n },\n edit() {\n if (!interactive) return;\n send({ type: \"EDIT\" });\n },\n cancel() {\n if (!interactive) return;\n send({ type: \"CANCEL\" });\n },\n submit() {\n if (!interactive) return;\n send({ type: \"SUBMIT\" });\n },\n getRootProps() {\n return normalize.element({\n ...parts.root.attrs,\n id: getRootId(scope),\n dir: prop(\"dir\")\n });\n },\n getAreaProps() {\n return normalize.element({\n ...parts.area.attrs,\n id: getAreaId(scope),\n dir: prop(\"dir\"),\n style: autoResize ? { display: \"inline-grid\" } : void 0,\n \"data-focus\": dataAttr(editing),\n \"data-disabled\": dataAttr(disabled),\n \"data-placeholder-shown\": dataAttr(empty)\n });\n },\n getLabelProps() {\n return normalize.label({\n ...parts.label.attrs,\n id: getLabelId(scope),\n dir: prop(\"dir\"),\n htmlFor: getInputId(scope),\n \"data-focus\": dataAttr(editing),\n \"data-invalid\": dataAttr(invalid),\n onClick() {\n if (editing) return;\n const previewEl = getPreviewEl(scope);\n previewEl?.focus({ preventScroll: true });\n }\n });\n },\n getInputProps() {\n return normalize.input({\n ...parts.input.attrs,\n dir: prop(\"dir\"),\n \"aria-label\": translations?.input,\n name: prop(\"name\"),\n form: prop(\"form\"),\n id: getInputId(scope),\n hidden: autoResize ? void 0 : !editing,\n placeholder: placeholder?.edit,\n maxLength: prop(\"maxLength\"),\n required: prop(\"required\"),\n disabled,\n \"data-disabled\": dataAttr(disabled),\n readOnly,\n \"data-readonly\": dataAttr(readOnly),\n \"aria-invalid\": ariaAttr(invalid),\n \"data-invalid\": dataAttr(invalid),\n \"data-autoresize\": dataAttr(autoResize),\n defaultValue: value,\n size: autoResize ? 1 : void 0,\n onChange(event) {\n send({\n type: \"VALUE.SET\",\n src: \"input.change\",\n value: event.currentTarget.value\n });\n },\n onKeyDown(event) {\n if (event.defaultPrevented) return;\n if (isComposingEvent(event)) return;\n const keyMap = {\n Escape() {\n send({ type: \"CANCEL\" });\n event.preventDefault();\n },\n Enter(event2) {\n if (!computed(\"submitOnEnter\")) return;\n const { localName } = event2.currentTarget;\n if (localName === \"textarea\") {\n const submitMod = isApple() ? event2.metaKey : event2.ctrlKey;\n if (!submitMod) return;\n send({ type: \"SUBMIT\", src: \"keydown.enter\" });\n return;\n }\n if (localName === \"input\" && !event2.shiftKey && !event2.metaKey) {\n send({ type: \"SUBMIT\", src: \"keydown.enter\" });\n event2.preventDefault();\n }\n }\n };\n const exec = keyMap[event.key];\n if (exec) {\n exec(event);\n }\n },\n style: autoResize ? {\n gridArea: \"1 / 1 / auto / auto\",\n visibility: !editing ? \"hidden\" : void 0\n } : void 0\n });\n },\n getPreviewProps() {\n return normalize.element({\n id: getPreviewId(scope),\n ...parts.preview.attrs,\n dir: prop(\"dir\"),\n \"data-placeholder-shown\": dataAttr(empty),\n \"aria-readonly\": ariaAttr(readOnly),\n \"data-readonly\": dataAttr(disabled),\n \"data-disabled\": dataAttr(disabled),\n \"aria-disabled\": ariaAttr(disabled),\n \"aria-invalid\": ariaAttr(invalid),\n \"data-invalid\": dataAttr(invalid),\n \"aria-label\": translations?.edit,\n \"data-autoresize\": dataAttr(autoResize),\n children: valueText,\n hidden: autoResize ? void 0 : editing,\n tabIndex: interactive ? 0 : void 0,\n onClick() {\n if (!interactive) return;\n if (prop(\"activationMode\") !== \"click\") return;\n send({ type: \"EDIT\", src: \"click\" });\n },\n onFocus() {\n if (!interactive) return;\n if (prop(\"activationMode\") !== \"focus\") return;\n send({ type: \"EDIT\", src: \"focus\" });\n },\n onDoubleClick(event) {\n if (event.defaultPrevented) return;\n if (!interactive) return;\n if (prop(\"activationMode\") !== \"dblclick\") return;\n send({ type: \"EDIT\", src: \"dblclick\" });\n },\n style: autoResize ? {\n whiteSpace: \"pre\",\n userSelect: \"none\",\n gridArea: \"1 / 1 / auto / auto\",\n visibility: editing ? \"hidden\" : void 0,\n // in event the preview overflow's the parent element\n overflow: \"hidden\",\n textOverflow: \"ellipsis\"\n } : void 0\n });\n },\n getEditTriggerProps() {\n return normalize.button({\n ...parts.editTrigger.attrs,\n id: getEditTriggerId(scope),\n dir: prop(\"dir\"),\n \"aria-label\": translations?.edit,\n hidden: editing,\n type: \"button\",\n disabled,\n onClick(event) {\n if (event.defaultPrevented) return;\n if (!interactive) return;\n send({ type: \"EDIT\", src: \"edit.click\" });\n }\n });\n },\n getControlProps() {\n return normalize.element({\n id: getControlId(scope),\n ...parts.control.attrs,\n dir: prop(\"dir\")\n });\n },\n getSubmitTriggerProps() {\n return normalize.button({\n ...parts.submitTrigger.attrs,\n dir: prop(\"dir\"),\n id: getSubmitTriggerId(scope),\n \"aria-label\": translations?.submit,\n hidden: !editing,\n disabled,\n type: \"button\",\n onClick(event) {\n if (event.defaultPrevented) return;\n if (!interactive) return;\n send({ type: \"SUBMIT\", src: \"submit.click\" });\n }\n });\n },\n getCancelTriggerProps() {\n return normalize.button({\n ...parts.cancelTrigger.attrs,\n dir: prop(\"dir\"),\n \"aria-label\": translations?.cancel,\n id: getCancelTriggerId(scope),\n hidden: !editing,\n type: \"button\",\n disabled,\n onClick(event) {\n if (event.defaultPrevented) return;\n if (!interactive) return;\n send({ type: \"CANCEL\", src: \"cancel.click\" });\n }\n });\n }\n };\n}\nvar machine = createMachine({\n props({ props: props2 }) {\n return {\n activationMode: \"focus\",\n submitMode: \"both\",\n defaultValue: \"\",\n selectOnFocus: true,\n ...props2,\n translations: {\n input: \"editable input\",\n edit: \"edit\",\n submit: \"submit\",\n cancel: \"cancel\",\n ...props2.translations\n }\n };\n },\n initialState({ prop }) {\n const edit = prop(\"edit\") || prop(\"defaultEdit\");\n return edit ? \"edit\" : \"preview\";\n },\n entry: [\"focusInputIfNeeded\"],\n context: ({ bindable, prop }) => {\n return {\n value: bindable(() => ({\n defaultValue: prop(\"defaultValue\"),\n value: prop(\"value\"),\n onChange(value) {\n return prop(\"onValueChange\")?.({ value });\n }\n })),\n previousValue: bindable(() => ({\n defaultValue: \"\"\n }))\n };\n },\n watch({ track, action, context, prop }) {\n track([() => context.get(\"value\")], () => {\n action([\"syncInputValue\"]);\n });\n track([() => prop(\"edit\")], () => {\n action([\"toggleEditing\"]);\n });\n },\n computed: {\n submitOnEnter({ prop }) {\n const submitMode = prop(\"submitMode\");\n return submitMode === \"both\" || submitMode === \"enter\";\n },\n submitOnBlur({ prop }) {\n const submitMode = prop(\"submitMode\");\n return submitMode === \"both\" || submitMode === \"blur\";\n },\n isInteractive({ prop }) {\n return !(prop(\"disabled\") || prop(\"readOnly\"));\n }\n },\n on: {\n \"VALUE.SET\": {\n actions: [\"setValue\"]\n }\n },\n states: {\n preview: {\n entry: [\"blurInputIfNeeded\"],\n on: {\n \"CONTROLLED.EDIT\": {\n target: \"edit\",\n actions: [\"setPreviousValue\", \"focusInput\"]\n },\n EDIT: [\n {\n guard: \"isEditControlled\",\n actions: [\"invokeOnEdit\"]\n },\n {\n target: \"edit\",\n actions: [\"setPreviousValue\", \"focusInput\", \"invokeOnEdit\"]\n }\n ]\n }\n },\n edit: {\n effects: [\"trackInteractOutside\"],\n on: {\n \"CONTROLLED.PREVIEW\": [\n {\n guard: \"isSubmitEvent\",\n target: \"preview\",\n actions: [\"setPreviousValue\", \"restoreFocus\", \"invokeOnSubmit\"]\n },\n {\n target: \"preview\",\n actions: [\"revertValue\", \"restoreFocus\", \"invokeOnCancel\"]\n }\n ],\n CANCEL: [\n {\n guard: \"isEditControlled\",\n actions: [\"invokeOnPreview\"]\n },\n {\n target: \"preview\",\n actions: [\"revertValue\", \"restoreFocus\", \"invokeOnCancel\", \"invokeOnPreview\"]\n }\n ],\n SUBMIT: [\n {\n guard: \"isEditControlled\",\n actions: [\"invokeOnPreview\"]\n },\n {\n target: \"preview\",\n actions: [\"setPreviousValue\", \"restoreFocus\", \"invokeOnSubmit\", \"invokeOnPreview\"]\n }\n ]\n }\n }\n },\n implementations: {\n guards: {\n isEditControlled: ({ prop }) => prop(\"edit\") != void 0,\n isSubmitEvent: ({ event }) => event.previousEvent?.type === \"SUBMIT\"\n },\n effects: {\n trackInteractOutside({ send, scope, prop, computed }) {\n return trackInteractOutside(getInputEl(scope), {\n exclude(target) {\n const ignore = [getCancelTriggerEl(scope), getSubmitTriggerEl(scope)];\n return ignore.some((el) => contains(el, target));\n },\n onFocusOutside: prop(\"onFocusOutside\"),\n onPointerDownOutside: prop(\"onPointerDownOutside\"),\n onInteractOutside(event) {\n prop(\"onInteractOutside\")?.(event);\n if (event.defaultPrevented) return;\n const { focusable } = event.detail;\n send({\n type: computed(\"submitOnBlur\") ? \"SUBMIT\" : \"CANCEL\",\n src: \"interact-outside\",\n focusable\n });\n }\n });\n }\n },\n actions: {\n restoreFocus({ event, scope, prop }) {\n if (event.focusable) return;\n raf(() => {\n const finalEl = prop(\"finalFocusEl\")?.() ?? getEditTriggerEl(scope);\n finalEl?.focus({ preventScroll: true });\n });\n },\n clearValue({ context }) {\n context.set(\"value\", \"\");\n },\n focusInputIfNeeded({ action, prop }) {\n const edit = prop(\"edit\") || prop(\"defaultEdit\");\n if (!edit) return;\n action([\"focusInput\"]);\n },\n focusInput({ scope, prop }) {\n raf(() => {\n const inputEl = getInputEl(scope);\n if (!inputEl) return;\n if (prop(\"selectOnFocus\")) {\n inputEl.select();\n } else {\n inputEl.focus({ preventScroll: true });\n }\n });\n },\n invokeOnCancel({ prop, context }) {\n const prev = context.get(\"previousValue\");\n prop(\"onValueRevert\")?.({ value: prev });\n },\n invokeOnSubmit({ prop, context }) {\n const value = context.get(\"value\");\n prop(\"onValueCommit\")?.({ value });\n },\n invokeOnEdit({ prop }) {\n prop(\"onEditChange\")?.({ edit: true });\n },\n invokeOnPreview({ prop }) {\n prop(\"onEditChange\")?.({ edit: false });\n },\n toggleEditing({ prop, send, event }) {\n send({\n type: prop(\"edit\") ? \"CONTROLLED.EDIT\" : \"CONTROLLED.PREVIEW\",\n previousEvent: event\n });\n },\n syncInputValue({ context, scope }) {\n const inputEl = getInputEl(scope);\n if (!inputEl) return;\n setElementValue(inputEl, context.get(\"value\"));\n },\n setValue({ context, prop, event }) {\n const max = prop(\"maxLength\");\n const value = max != null ? event.value.slice(0, max) : event.value;\n context.set(\"value\", value);\n },\n setPreviousValue({ context }) {\n context.set(\"previousValue\", context.get(\"value\"));\n },\n revertValue({ context }) {\n const value = context.get(\"previousValue\");\n if (!value) return;\n context.set(\"value\", value);\n },\n blurInputIfNeeded({ scope }) {\n getInputEl(scope)?.blur();\n }\n }\n }\n});\nvar props = createProps()([\n \"activationMode\",\n \"autoResize\",\n \"dir\",\n \"disabled\",\n \"finalFocusEl\",\n \"form\",\n \"getRootNode\",\n \"id\",\n \"ids\",\n \"invalid\",\n \"maxLength\",\n \"name\",\n \"onEditChange\",\n \"onFocusOutside\",\n \"onInteractOutside\",\n \"onPointerDownOutside\",\n \"onValueChange\",\n \"onValueCommit\",\n \"onValueRevert\",\n \"placeholder\",\n \"readOnly\",\n \"required\",\n \"selectOnFocus\",\n \"edit\",\n \"defaultEdit\",\n \"submitMode\",\n \"translations\",\n \"defaultValue\",\n \"value\"\n]);\nvar splitProps = createSplitProps(props);\n\nexport { anatomy, connect, machine, props, splitProps };\n","import { getWindow } from '@zag-js/dom-query';\n\n// src/cache.ts\nfunction i18nCache(Ins) {\n const formatterCache = /* @__PURE__ */ new Map();\n return function create(locale, options) {\n const cacheKey = locale + (options ? Object.entries(options).sort((a, b) => a[0] < b[0] ? -1 : 1).join() : \"\");\n if (formatterCache.has(cacheKey)) {\n return formatterCache.get(cacheKey);\n }\n let formatter = new Ins(locale, options);\n formatterCache.set(cacheKey, formatter);\n return formatter;\n };\n}\n\n// src/collator.ts\nvar getCollator = i18nCache(Intl.Collator);\nfunction createCollator(locale = \"en-US\", options = {}) {\n return getCollator(locale, options);\n}\n\n// src/filter.ts\nvar collatorCache = i18nCache(Intl.Collator);\nfunction createFilter(options) {\n const { locale, ...rest } = options || {};\n const collator = collatorCache(locale || \"en-US\", { usage: \"search\", ...rest });\n function normalize(string) {\n string = string.normalize(\"NFC\");\n if (collator.resolvedOptions().ignorePunctuation) {\n string = string.replace(/\\p{P}/gu, \"\");\n }\n return string;\n }\n function startsWith(string, substring) {\n if (substring.length === 0) return true;\n string = normalize(string);\n substring = normalize(substring);\n return collator.compare(string.slice(0, substring.length), substring) === 0;\n }\n function endsWith(string, substring) {\n if (substring.length === 0) return true;\n string = normalize(string);\n substring = normalize(substring);\n return collator.compare(string.slice(-substring.length), substring) === 0;\n }\n function contains(string, substring) {\n if (substring.length === 0) return true;\n string = normalize(string);\n substring = normalize(substring);\n let scan = 0;\n let sliceLen = substring.length;\n for (; scan + sliceLen <= string.length; scan++) {\n let slice = string.slice(scan, scan + sliceLen);\n if (collator.compare(substring, slice) === 0) {\n return true;\n }\n }\n return false;\n }\n return {\n startsWith,\n endsWith,\n contains\n };\n}\n\n// src/format-number.ts\nvar getNumberFormatter = i18nCache(Intl.NumberFormat);\nfunction formatNumber(v, locale, options = {}) {\n const formatter = getNumberFormatter(locale, options);\n return formatter.format(v);\n}\n\n// src/format-bytes.ts\nvar bitPrefixes = [\"\", \"kilo\", \"mega\", \"giga\", \"tera\"];\nvar bytePrefixes = [\"\", \"kilo\", \"mega\", \"giga\", \"tera\", \"peta\"];\nvar formatBytes = (bytes, locale = \"en-US\", options = {}) => {\n if (isNaN(bytes)) return \"\";\n if (bytes === 0) return \"0 B\";\n const { unit = \"byte\", unitDisplay = \"short\" } = options;\n const prefix = unit === \"bit\" ? bitPrefixes : bytePrefixes;\n const index = Math.max(0, Math.min(Math.floor(Math.log10(bytes) / 3), prefix.length - 1));\n const _unit = prefix[index] + unit;\n const _unitDisplay = unitDisplay || \"short\";\n const v = parseFloat((bytes / Math.pow(1e3, index)).toPrecision(3));\n return formatNumber(v, locale, {\n style: \"unit\",\n unit: _unit,\n unitDisplay: _unitDisplay\n });\n};\n\n// src/format-date.ts\nvar symbols = \"\\\\s|\\\\.|-|/|\\\\\\\\|,|\\\\$|\\\\!|\\\\?|:|;\";\nfunction createRegEx(sign) {\n return new RegExp(\"(^|>|\" + symbols + \")(\" + sign + \")($|<|\" + symbols + \")\", \"g\");\n}\nvar FORMATS = [\n \"G\",\n \"GG\",\n \"GGG\",\n \"GGGG\",\n \"GGGGG\",\n \"y\",\n \"yo\",\n \"yy\",\n \"yyy\",\n \"yyyy\",\n \"Y\",\n \"Yo\",\n \"YY\",\n \"YYY\",\n \"YYYY\",\n \"Q\",\n \"Qo\",\n \"QQ\",\n \"QQQ\",\n \"QQQQ\",\n \"QQQQQ\",\n \"M\",\n \"Mo\",\n \"MM\",\n \"MMM\",\n \"MMMM\",\n \"MMMMM\",\n \"E\",\n \"EE\",\n \"EEE\",\n \"EEEE\",\n \"EEEEE\",\n \"EEEEEE\",\n \"a\",\n \"aa\",\n \"aaa\",\n \"aaaa\",\n \"aaaaa\",\n \"d\",\n \"do\",\n \"dd\",\n \"D\",\n \"Do\",\n \"DD\",\n \"DDD\",\n \"w\",\n \"wo\",\n \"ww\",\n \"s\",\n \"so\",\n \"ss\",\n \"m\",\n \"mo\",\n \"mm\",\n \"h\",\n \"ho\",\n \"hh\",\n \"H\",\n \"Ho\",\n \"HH\",\n \"z\",\n \"zz\",\n \"zzz\",\n \"zzzz\",\n \"T\"\n];\nfunction ordinal(num) {\n const n = typeof num === \"string\" ? parseFloat(num) : num;\n let suffix = \"th\";\n if (n % 10 === 1 && n % 100 !== 11) {\n suffix = \"st\";\n } else if (n % 10 === 2 && n % 100 !== 12) {\n suffix = \"nd\";\n } else if (n % 10 === 3 && n % 100 !== 13) {\n suffix = \"rd\";\n }\n return `${n}${suffix}`;\n}\nfunction pad(num, length) {\n return String(num).padStart(length, \"0\");\n}\nfunction zone(str) {\n return str.split(/AM|PM/)[1].trim();\n}\nfunction getFormat(date, options) {\n const { locale, format, timeZone } = options;\n switch (format) {\n // era\n case \"G\":\n case \"GG\":\n case \"GGG\":\n return date.toLocaleString(locale, { era: \"short\" });\n case \"GGGG\":\n return date.toLocaleString(locale, { era: \"long\" });\n case \"GGGGG\":\n return date.toLocaleString(locale, { era: \"narrow\" });\n // year\n case \"y\":\n case \"Y\":\n return date.getFullYear();\n case \"yo\":\n case \"Yo\":\n return ordinal(date.toLocaleString(locale, { year: \"numeric\" }));\n case \"yy\":\n case \"YY\":\n return date.toLocaleString(locale, { year: \"2-digit\" });\n case \"yyy\":\n case \"YYY\":\n return date.toLocaleString(locale, { year: \"numeric\" }).padStart(3, \"0\");\n case \"yyyy\":\n case \"YYYY\":\n return date.toLocaleString(locale, { year: \"numeric\" }).padStart(4, \"0\");\n // quarter\n case \"Q\":\n case \"QQQQQ\":\n return Math.ceil((date.getMonth() + 1) / 3);\n case \"Qo\":\n return ordinal(Math.ceil((date.getMonth() + 1) / 3));\n case \"QQ\":\n return pad(Math.ceil((date.getMonth() + 1) / 3), 2);\n case \"QQQ\":\n return `Q${Math.ceil((date.getMonth() + 1) / 3)}`;\n case \"QQQQ\": {\n const base = ordinal(String(Math.ceil((date.getMonth() + 1) / 3)));\n return `${base} quarter`;\n }\n // month\n case \"M\":\n return date.getMonth() + 1;\n case \"Mo\":\n return ordinal(date.getMonth() + 1);\n case \"MM\":\n return date.toLocaleString(locale, { month: \"2-digit\" });\n case \"MMM\":\n return date.toLocaleString(locale, { month: \"short\" });\n case \"MMMM\":\n return date.toLocaleString(locale, { month: \"long\" });\n case \"MMMMM\":\n return date.toLocaleString(locale, { month: \"narrow\" });\n // week\n case \"w\":\n return Math.ceil(date.getDate() / 7);\n case \"wo\":\n return ordinal(Math.ceil(date.getDate() / 7));\n case \"ww\":\n return pad(Math.ceil(date.getDate() / 7), 2);\n // day\n case \"d\":\n case \"D\":\n return date.getDate();\n case \"do\":\n case \"Do\":\n return ordinal(date.getDate());\n case \"dd\":\n case \"DD\":\n return date.toLocaleString(locale, { day: \"2-digit\" });\n case \"DDD\":\n return pad(date.getDate(), 3);\n // weekday\n case \"E\":\n case \"EE\":\n case \"EEE\":\n return date.toLocaleString(locale, { weekday: \"short\" });\n case \"EEEE\":\n return date.toLocaleString(locale, { weekday: \"long\" });\n case \"EEEEE\":\n return date.toLocaleString(locale, { weekday: \"narrow\" });\n case \"EEEEEE\":\n return date.toLocaleString(locale, { weekday: \"short\" }).slice(0, 2);\n // hour\n case \"h\":\n return date.toLocaleString(locale, { hour: \"numeric\", hour12: true });\n case \"ho\":\n return ordinal(date.toLocaleString(locale, { hour: \"2-digit\", hour12: true }));\n case \"hh\":\n return date.toLocaleString(locale, { hour: \"2-digit\", hour12: true });\n case \"H\":\n return date.toLocaleString(locale, { hour: \"numeric\", hour12: false });\n case \"Ho\":\n return ordinal(+date.toLocaleString(locale, { hour: \"numeric\", hour12: false }));\n case \"HH\":\n return date.toLocaleString(locale, { hour: \"2-digit\", hour12: false });\n // minute\n case \"m\":\n return date.toLocaleString(locale, { minute: \"numeric\" });\n case \"mo\":\n return ordinal(date.toLocaleString(locale, { minute: \"numeric\" }));\n case \"mm\":\n return date.toLocaleString(locale, { minute: \"2-digit\" });\n // second\n case \"s\":\n return date.toLocaleString(locale, { second: \"numeric\" });\n case \"so\":\n return ordinal(date.toLocaleString(locale, { second: \"numeric\" }));\n case \"ss\":\n return date.toLocaleString(locale, { second: \"2-digit\" });\n // timestamp\n case \"T\":\n return date.getTime();\n // day period\n case \"a\":\n case \"aa\":\n case \"aaa\":\n return date.toLocaleString(locale, { hour: \"numeric\", hour12: true }).toLocaleUpperCase();\n case \"aaaa\":\n return date.toLocaleString(locale, { hour: \"numeric\", hour12: true }).toLocaleLowerCase();\n case \"aaaaa\":\n return date.toLocaleString(locale, { hour: \"numeric\", hour12: true }).charAt(0);\n // TODO:Revise this\n case \"z\":\n case \"zz\":\n case \"zzz\": {\n return zone(date.toLocaleString(locale, { timeZone, timeZoneName: \"shortOffset\" }));\n }\n case \"zzzz\":\n return zone(date.toLocaleString(locale, { timeZone, timeZoneName: \"longOffset\" }));\n default:\n throw new Error(`Unknown format: ${format}`);\n }\n}\nfunction formatDate(date, format, locale, timeZone) {\n let result = format;\n for (const key of FORMATS) {\n const res = getFormat(date, { locale, format: key, timeZone });\n result = result.replace(createRegEx(key), \"$1\" + res + \"$3\");\n }\n return result;\n}\n\n// src/format-list.ts\nvar getListFormatter = i18nCache(Intl.ListFormat);\nfunction formatList(list, locale, options = {}) {\n const formatter = getListFormatter(locale, options);\n return formatter.format(list);\n}\n\n// src/format-relative-time.ts\nvar getRelativeTimeFormatter = i18nCache(Intl.RelativeTimeFormat);\nfunction formatRelativeTime(value, locale, options = {}) {\n const rtf = getRelativeTimeFormatter(locale, options);\n const now = /* @__PURE__ */ new Date();\n const diff = getDistance(now, value);\n if (diff.years > 0) return rtf.format(diff.years * diff.sign, \"year\");\n if (diff.months > 0) return rtf.format(diff.months * diff.sign, \"month\");\n if (diff.weeks > 0) return rtf.format(diff.weeks * diff.sign, \"week\");\n if (diff.days > 0) return rtf.format(diff.days * diff.sign, \"day\");\n if (diff.hours > 0) return rtf.format(diff.hours * diff.sign, \"hour\");\n if (diff.minutes > 0) return rtf.format(diff.minutes * diff.sign, \"minute\");\n return rtf.format(diff.seconds * diff.sign, \"second\");\n}\nvar SECOND_TO_MS = 1e3;\nvar MINUTE_TO_MS = 1e3 * 60;\nvar HOUR_TO_MS = 1e3 * 60 * 60;\nvar DAY_TO_MS = 1e3 * 60 * 60 * 24;\nvar WEEK_TO_MS = 1e3 * 60 * 60 * 24 * 7;\nvar MONTH_TO_MS = 1e3 * 60 * 60 * 24 * 30;\nvar YEAR_TO_MS = 1e3 * 60 * 60 * 24 * 365;\nfunction getDistance(startDate, endDate) {\n const endTime = endDate.getTime();\n const startTime = startDate.getTime();\n const distance = Math.abs(endTime - startTime);\n return {\n sign: Math.sign(endTime - startTime),\n days: Math.floor(distance / DAY_TO_MS),\n hours: Math.floor(distance % DAY_TO_MS / HOUR_TO_MS),\n minutes: Math.floor(distance % HOUR_TO_MS / MINUTE_TO_MS),\n seconds: Math.floor(distance % MINUTE_TO_MS / SECOND_TO_MS),\n weeks: Math.floor(distance / WEEK_TO_MS),\n months: Math.floor(distance / MONTH_TO_MS),\n years: Math.floor(distance / YEAR_TO_MS)\n };\n}\n\n// src/is-rtl.ts\nvar RTL_SCRIPTS = /* @__PURE__ */ new Set([\n \"Avst\",\n \"Arab\",\n \"Armi\",\n \"Syrc\",\n \"Samr\",\n \"Mand\",\n \"Thaa\",\n \"Mend\",\n \"Nkoo\",\n \"Adlm\",\n \"Rohg\",\n \"Hebr\"\n]);\nvar RTL_LANGS = /* @__PURE__ */ new Set([\n \"ae\",\n \"ar\",\n \"arc\",\n \"bcc\",\n \"bqi\",\n \"ckb\",\n \"dv\",\n \"fa\",\n \"glk\",\n \"he\",\n \"ku\",\n \"mzn\",\n \"nqo\",\n \"pnb\",\n \"ps\",\n \"sd\",\n \"ug\",\n \"ur\",\n \"yi\"\n]);\nfunction isRTL(locale) {\n if (Intl.Locale) {\n const script = new Intl.Locale(locale).maximize().script ?? \"\";\n return RTL_SCRIPTS.has(script);\n }\n const lang = locale.split(\"-\")[0];\n return RTL_LANGS.has(lang);\n}\nfunction getLocaleDir(locale) {\n return isRTL(locale) ? \"rtl\" : \"ltr\";\n}\n\n// src/locale.ts\nfunction getDefaultLocale() {\n let locale = typeof navigator !== \"undefined\" && (navigator.language || navigator.userLanguage) || \"en-US\";\n return {\n locale,\n dir: isRTL(locale) ? \"rtl\" : \"ltr\"\n };\n}\nfunction trackLocale(options = {}) {\n const { getRootNode, onLocaleChange } = options;\n onLocaleChange?.(getDefaultLocale());\n const handleLocaleChange = () => {\n onLocaleChange?.(getDefaultLocale());\n };\n const win = getRootNode ? getWindow(getRootNode()) : window;\n win.addEventListener(\"languagechange\", handleLocaleChange);\n return () => {\n win.removeEventListener(\"languagechange\", handleLocaleChange);\n };\n}\n\nexport { createCollator, createFilter, formatBytes, formatDate, formatList, formatNumber, formatRelativeTime, getDefaultLocale, getLocaleDir, isRTL, trackLocale };\n","import { createAnatomy } from '@zag-js/anatomy';\nimport { raf, addDomEvent, getWindow, contains, getEventTarget, dataAttr, visuallyHiddenStyle, isSelfTarget } from '@zag-js/dom-query';\nimport { getAcceptAttrString, isFileEqual, isValidFileType, isValidFileSize, getFileEntries } from '@zag-js/file-utils';\nimport { formatBytes } from '@zag-js/i18n-utils';\nimport { createProps } from '@zag-js/types';\nimport { warn, callAll, createSplitProps, flatArray } from '@zag-js/utils';\nimport { createMachine } from '@zag-js/core';\n\n// src/file-upload.anatomy.ts\nvar anatomy = createAnatomy(\"file-upload\").parts(\n \"root\",\n \"dropzone\",\n \"item\",\n \"itemDeleteTrigger\",\n \"itemGroup\",\n \"itemName\",\n \"itemPreview\",\n \"itemPreviewImage\",\n \"itemSizeText\",\n \"label\",\n \"trigger\",\n \"clearTrigger\"\n);\nvar parts = anatomy.build();\n\n// src/file-upload.dom.ts\nvar getRootId = (ctx) => ctx.ids?.root ?? `file:${ctx.id}`;\nvar getDropzoneId = (ctx) => ctx.ids?.dropzone ?? `file:${ctx.id}:dropzone`;\nvar getHiddenInputId = (ctx) => ctx.ids?.hiddenInput ?? `file:${ctx.id}:input`;\nvar getTriggerId = (ctx) => ctx.ids?.trigger ?? `file:${ctx.id}:trigger`;\nvar getLabelId = (ctx) => ctx.ids?.label ?? `file:${ctx.id}:label`;\nvar getItemId = (ctx, id) => ctx.ids?.item?.(id) ?? `file:${ctx.id}:item:${id}`;\nvar getItemNameId = (ctx, id) => ctx.ids?.itemName?.(id) ?? `file:${ctx.id}:item-name:${id}`;\nvar getItemSizeTextId = (ctx, id) => ctx.ids?.itemSizeText?.(id) ?? `file:${ctx.id}:item-size:${id}`;\nvar getItemPreviewId = (ctx, id) => ctx.ids?.itemPreview?.(id) ?? `file:${ctx.id}:item-preview:${id}`;\nvar getRootEl = (ctx) => ctx.getById(getRootId(ctx));\nvar getHiddenInputEl = (ctx) => ctx.getById(getHiddenInputId(ctx));\nvar getDropzoneEl = (ctx) => ctx.getById(getDropzoneId(ctx));\nfunction isEventWithFiles(event) {\n const target = getEventTarget(event);\n if (!event.dataTransfer) return !!target && \"files\" in target;\n return event.dataTransfer.types.some((type) => {\n return type === \"Files\" || type === \"application/x-moz-file\";\n });\n}\nfunction isFilesWithinRange(ctx, incomingCount, currentAcceptedFiles) {\n const { prop, computed } = ctx;\n if (!computed(\"multiple\") && incomingCount > 1) return false;\n if (!computed(\"multiple\") && incomingCount + currentAcceptedFiles.length === 2) return true;\n if (incomingCount + currentAcceptedFiles.length > prop(\"maxFiles\")) return false;\n return true;\n}\nfunction getEventFiles(ctx, files, currentAcceptedFiles = [], currentRejectedFiles = []) {\n const { prop, computed } = ctx;\n const acceptedFiles = [];\n const rejectedFiles = [];\n const validateParams = {\n acceptedFiles: currentAcceptedFiles,\n rejectedFiles: currentRejectedFiles\n };\n files.forEach((file) => {\n const [accepted, acceptError] = isValidFileType(file, computed(\"acceptAttr\"));\n const [sizeMatch, sizeError] = isValidFileSize(file, prop(\"minFileSize\"), prop(\"maxFileSize\"));\n const validateErrors = prop(\"validate\")?.(file, validateParams);\n const valid = validateErrors ? validateErrors.length === 0 : true;\n if (accepted && sizeMatch && valid) {\n acceptedFiles.push(file);\n } else {\n const errors = [acceptError, sizeError];\n if (!valid) errors.push(...validateErrors ?? []);\n rejectedFiles.push({ file, errors: errors.filter(Boolean) });\n }\n });\n if (!isFilesWithinRange(ctx, acceptedFiles.length, currentAcceptedFiles)) {\n acceptedFiles.forEach((file) => {\n rejectedFiles.push({ file, errors: [\"TOO_MANY_FILES\"] });\n });\n acceptedFiles.splice(0);\n }\n return {\n acceptedFiles,\n rejectedFiles\n };\n}\nfunction setInputFiles(inputEl, files) {\n const win = getWindow(inputEl);\n try {\n if (\"DataTransfer\" in win) {\n const dataTransfer = new win.DataTransfer();\n files.forEach((file) => {\n dataTransfer.items.add(file);\n });\n inputEl.files = dataTransfer.files;\n }\n } catch {\n }\n}\n\n// src/file-upload.connect.ts\nfunction connect(service, normalize) {\n const { state, send, prop, computed, scope, context } = service;\n const disabled = prop(\"disabled\");\n const allowDrop = prop(\"allowDrop\");\n const translations = prop(\"translations\");\n const dragging = state.matches(\"dragging\");\n const focused = state.matches(\"focused\") && !disabled;\n return {\n dragging,\n focused,\n disabled: !!disabled,\n transforming: context.get(\"transforming\"),\n openFilePicker() {\n if (disabled) return;\n send({ type: \"OPEN\" });\n },\n deleteFile(file) {\n send({ type: \"FILE.DELETE\", file });\n },\n acceptedFiles: context.get(\"acceptedFiles\"),\n rejectedFiles: context.get(\"rejectedFiles\"),\n setFiles(files) {\n send({ type: \"FILES.SET\", files, count: files.length });\n },\n clearRejectedFiles() {\n send({ type: \"REJECTED_FILES.CLEAR\" });\n },\n clearFiles() {\n send({ type: \"FILES.CLEAR\" });\n },\n getFileSize(file) {\n return formatBytes(file.size, prop(\"locale\"));\n },\n createFileUrl(file, cb) {\n const win = scope.getWin();\n const url = win.URL.createObjectURL(file);\n cb(url);\n return () => win.URL.revokeObjectURL(url);\n },\n setClipboardFiles(dt) {\n if (disabled) return false;\n const items = Array.from(dt?.items ?? []);\n const files = items.reduce((acc, item) => {\n if (item.kind !== \"file\") return acc;\n const file = item.getAsFile();\n if (!file) return acc;\n return [...acc, file];\n }, []);\n if (!files.length) return false;\n send({ type: \"FILES.SET\", files });\n return true;\n },\n getRootProps() {\n return normalize.element({\n ...parts.root.attrs,\n dir: prop(\"dir\"),\n id: getRootId(scope),\n \"data-disabled\": dataAttr(disabled),\n \"data-dragging\": dataAttr(dragging)\n });\n },\n getDropzoneProps(props2 = {}) {\n return normalize.element({\n ...parts.dropzone.attrs,\n dir: prop(\"dir\"),\n id: getDropzoneId(scope),\n tabIndex: disabled || props2.disableClick ? void 0 : 0,\n role: props2.disableClick ? \"application\" : \"button\",\n \"aria-label\": translations.dropzone,\n \"aria-disabled\": disabled,\n \"data-invalid\": dataAttr(prop(\"invalid\")),\n \"data-disabled\": dataAttr(disabled),\n \"data-dragging\": dataAttr(dragging),\n onKeyDown(event) {\n if (disabled) return;\n if (event.defaultPrevented) return;\n if (!isSelfTarget(event)) return;\n if (props2.disableClick) return;\n if (event.key !== \"Enter\" && event.key !== \" \") return;\n send({ type: \"DROPZONE.CLICK\", src: \"keydown\" });\n },\n onClick(event) {\n if (disabled) return;\n if (event.defaultPrevented) return;\n if (props2.disableClick) return;\n if (!isSelfTarget(event)) return;\n if (event.currentTarget.localName === \"label\") {\n event.preventDefault();\n }\n send({ type: \"DROPZONE.CLICK\" });\n },\n onDragOver(event) {\n if (disabled) return;\n if (!allowDrop) return;\n event.preventDefault();\n event.stopPropagation();\n try {\n event.dataTransfer.dropEffect = \"copy\";\n } catch {\n }\n const hasFiles = isEventWithFiles(event);\n if (!hasFiles) return;\n const count = event.dataTransfer.items.length;\n send({ type: \"DROPZONE.DRAG_OVER\", count });\n },\n onDragLeave(event) {\n if (disabled) return;\n if (!allowDrop) return;\n if (contains(event.currentTarget, event.relatedTarget)) return;\n send({ type: \"DROPZONE.DRAG_LEAVE\" });\n },\n onDrop(event) {\n if (disabled) return;\n if (allowDrop) {\n event.preventDefault();\n event.stopPropagation();\n }\n const hasFiles = isEventWithFiles(event);\n if (disabled || !hasFiles) return;\n getFileEntries(event.dataTransfer.items, prop(\"directory\")).then((files) => {\n send({ type: \"DROPZONE.DROP\", files: flatArray(files) });\n });\n },\n onFocus() {\n if (disabled) return;\n send({ type: \"DROPZONE.FOCUS\" });\n },\n onBlur() {\n if (disabled) return;\n send({ type: \"DROPZONE.BLUR\" });\n }\n });\n },\n getTriggerProps() {\n return normalize.button({\n ...parts.trigger.attrs,\n dir: prop(\"dir\"),\n id: getTriggerId(scope),\n disabled,\n \"data-disabled\": dataAttr(disabled),\n \"data-invalid\": dataAttr(prop(\"invalid\")),\n type: \"button\",\n onClick(event) {\n if (disabled) return;\n if (contains(getDropzoneEl(scope), event.currentTarget)) {\n event.stopPropagation();\n }\n send({ type: \"OPEN\" });\n }\n });\n },\n getHiddenInputProps() {\n return normalize.input({\n id: getHiddenInputId(scope),\n tabIndex: -1,\n disabled,\n type: \"file\",\n required: prop(\"required\"),\n capture: prop(\"capture\"),\n name: prop(\"name\"),\n accept: computed(\"acceptAttr\"),\n webkitdirectory: prop(\"directory\") ? \"\" : void 0,\n multiple: computed(\"multiple\") || prop(\"maxFiles\") > 1,\n onClick(event) {\n event.stopPropagation();\n event.currentTarget.value = \"\";\n },\n onInput(event) {\n if (disabled) return;\n const { files } = event.currentTarget;\n send({ type: \"FILE.SELECT\", files: files ? Array.from(files) : [] });\n },\n style: visuallyHiddenStyle\n });\n },\n getItemGroupProps() {\n return normalize.element({\n ...parts.itemGroup.attrs,\n dir: prop(\"dir\"),\n \"data-disabled\": dataAttr(disabled)\n });\n },\n getItemProps(props2) {\n const { file } = props2;\n return normalize.element({\n ...parts.item.attrs,\n dir: prop(\"dir\"),\n id: getItemId(scope, file.name),\n \"data-disabled\": dataAttr(disabled)\n });\n },\n getItemNameProps(props2) {\n const { file } = props2;\n return normalize.element({\n ...parts.itemName.attrs,\n dir: prop(\"dir\"),\n id: getItemNameId(scope, file.name),\n \"data-disabled\": dataAttr(disabled)\n });\n },\n getItemSizeTextProps(props2) {\n const { file } = props2;\n return normalize.element({\n ...parts.itemSizeText.attrs,\n dir: prop(\"dir\"),\n id: getItemSizeTextId(scope, file.name),\n \"data-disabled\": dataAttr(disabled)\n });\n },\n getItemPreviewProps(props2) {\n const { file } = props2;\n return normalize.element({\n ...parts.itemPreview.attrs,\n dir: prop(\"dir\"),\n id: getItemPreviewId(scope, file.name),\n \"data-disabled\": dataAttr(disabled)\n });\n },\n getItemPreviewImageProps(props2) {\n const { file, url } = props2;\n const isImage = file.type.startsWith(\"image/\");\n if (!isImage) {\n throw new Error(\"Preview Image is only supported for image files\");\n }\n return normalize.img({\n ...parts.itemPreviewImage.attrs,\n alt: translations.itemPreview?.(file),\n src: url,\n \"data-disabled\": dataAttr(disabled)\n });\n },\n getItemDeleteTriggerProps(props2) {\n const { file } = props2;\n return normalize.button({\n ...parts.itemDeleteTrigger.attrs,\n dir: prop(\"dir\"),\n type: \"button\",\n disabled,\n \"data-disabled\": dataAttr(disabled),\n \"aria-label\": translations.deleteFile?.(file),\n onClick() {\n if (disabled) return;\n send({ type: \"FILE.DELETE\", file });\n }\n });\n },\n getLabelProps() {\n return normalize.label({\n ...parts.label.attrs,\n dir: prop(\"dir\"),\n id: getLabelId(scope),\n htmlFor: getHiddenInputId(scope),\n \"data-disabled\": dataAttr(disabled)\n });\n },\n getClearTriggerProps() {\n return normalize.button({\n ...parts.clearTrigger.attrs,\n dir: prop(\"dir\"),\n type: \"button\",\n disabled,\n hidden: context.get(\"acceptedFiles\").length === 0,\n \"data-disabled\": dataAttr(disabled),\n onClick(event) {\n if (event.defaultPrevented) return;\n if (disabled) return;\n send({ type: \"FILES.CLEAR\" });\n }\n });\n }\n };\n}\nvar machine = createMachine({\n props({ props: props2 }) {\n return {\n minFileSize: 0,\n maxFileSize: Number.POSITIVE_INFINITY,\n maxFiles: 1,\n allowDrop: true,\n preventDocumentDrop: true,\n defaultAcceptedFiles: [],\n ...props2,\n translations: {\n dropzone: \"dropzone\",\n itemPreview: (file) => `preview of ${file.name}`,\n deleteFile: (file) => `delete file ${file.name}`,\n ...props2.translations\n }\n };\n },\n initialState() {\n return \"idle\";\n },\n context({ prop, bindable, getContext }) {\n return {\n acceptedFiles: bindable(() => ({\n defaultValue: prop(\"defaultAcceptedFiles\"),\n value: prop(\"acceptedFiles\"),\n isEqual: (a, b) => a.length === b?.length && a.every((file, i) => isFileEqual(file, b[i])),\n hash(value) {\n return value.map((file) => `${file.name}-${file.size}`).join(\",\");\n },\n onChange(value) {\n const ctx = getContext();\n prop(\"onFileAccept\")?.({ files: value });\n prop(\"onFileChange\")?.({ acceptedFiles: value, rejectedFiles: ctx.get(\"rejectedFiles\") });\n }\n })),\n rejectedFiles: bindable(() => ({\n defaultValue: [],\n isEqual: (a, b) => a.length === b?.length && a.every((file, i) => isFileEqual(file.file, b[i].file)),\n onChange(value) {\n const ctx = getContext();\n prop(\"onFileReject\")?.({ files: value });\n prop(\"onFileChange\")?.({ acceptedFiles: ctx.get(\"acceptedFiles\"), rejectedFiles: value });\n }\n })),\n transforming: bindable(() => ({\n defaultValue: false\n }))\n };\n },\n computed: {\n acceptAttr: ({ prop }) => getAcceptAttrString(prop(\"accept\")),\n multiple: ({ prop }) => prop(\"maxFiles\") > 1\n },\n watch({ track, context, action }) {\n track([() => context.hash(\"acceptedFiles\")], () => {\n action([\"syncInputElement\"]);\n });\n },\n on: {\n \"FILES.SET\": {\n actions: [\"setFiles\"]\n },\n \"FILE.SELECT\": {\n actions: [\"setEventFiles\"]\n },\n \"FILE.DELETE\": {\n actions: [\"removeFile\"]\n },\n \"FILES.CLEAR\": {\n actions: [\"clearFiles\"]\n },\n \"REJECTED_FILES.CLEAR\": {\n actions: [\"clearRejectedFiles\"]\n }\n },\n effects: [\"preventDocumentDrop\"],\n states: {\n idle: {\n on: {\n OPEN: {\n actions: [\"openFilePicker\"]\n },\n \"DROPZONE.CLICK\": {\n actions: [\"openFilePicker\"]\n },\n \"DROPZONE.FOCUS\": {\n target: \"focused\"\n },\n \"DROPZONE.DRAG_OVER\": {\n target: \"dragging\"\n }\n }\n },\n focused: {\n on: {\n \"DROPZONE.BLUR\": {\n target: \"idle\"\n },\n OPEN: {\n actions: [\"openFilePicker\"]\n },\n \"DROPZONE.CLICK\": {\n actions: [\"openFilePicker\"]\n },\n \"DROPZONE.DRAG_OVER\": {\n target: \"dragging\"\n }\n }\n },\n dragging: {\n on: {\n \"DROPZONE.DROP\": {\n target: \"idle\",\n actions: [\"setEventFiles\"]\n },\n \"DROPZONE.DRAG_LEAVE\": {\n target: \"idle\"\n }\n }\n }\n },\n implementations: {\n effects: {\n preventDocumentDrop({ prop, scope }) {\n if (!prop(\"preventDocumentDrop\")) return;\n if (!prop(\"allowDrop\")) return;\n if (prop(\"disabled\")) return;\n const doc = scope.getDoc();\n const onDragOver = (event) => {\n event?.preventDefault();\n };\n const onDrop = (event) => {\n if (contains(getRootEl(scope), getEventTarget(event))) return;\n event.preventDefault();\n };\n return callAll(addDomEvent(doc, \"dragover\", onDragOver, false), addDomEvent(doc, \"drop\", onDrop, false));\n }\n },\n actions: {\n syncInputElement({ scope, context }) {\n queueMicrotask(() => {\n const inputEl = getHiddenInputEl(scope);\n if (!inputEl) return;\n setInputFiles(inputEl, context.get(\"acceptedFiles\"));\n const win = scope.getWin();\n inputEl.dispatchEvent(new win.Event(\"change\", { bubbles: true }));\n });\n },\n openFilePicker({ scope }) {\n raf(() => {\n getHiddenInputEl(scope)?.click();\n });\n },\n setFiles(params) {\n const { computed, context, event } = params;\n const { acceptedFiles, rejectedFiles } = getEventFiles(params, event.files);\n context.set(\n \"acceptedFiles\",\n computed(\"multiple\") ? acceptedFiles : acceptedFiles.length > 0 ? [acceptedFiles[0]] : []\n );\n context.set(\"rejectedFiles\", rejectedFiles);\n },\n setEventFiles(params) {\n const { computed, context, event, prop } = params;\n const currentAcceptedFiles = context.get(\"acceptedFiles\");\n const currentRejectedFiles = context.get(\"rejectedFiles\");\n const { acceptedFiles, rejectedFiles } = getEventFiles(\n params,\n event.files,\n currentAcceptedFiles,\n currentRejectedFiles\n );\n const set = (files) => {\n if (computed(\"multiple\")) {\n context.set(\"acceptedFiles\", (prev) => [...prev, ...files]);\n context.set(\"rejectedFiles\", rejectedFiles);\n return;\n }\n if (files.length) {\n context.set(\"acceptedFiles\", [files[0]]);\n context.set(\"rejectedFiles\", rejectedFiles);\n return;\n }\n if (rejectedFiles.length) {\n context.set(\"acceptedFiles\", context.get(\"acceptedFiles\"));\n context.set(\"rejectedFiles\", rejectedFiles);\n }\n };\n const transform = prop(\"transformFiles\");\n if (transform) {\n context.set(\"transforming\", true);\n transform(acceptedFiles).then(set).catch((err) => {\n warn(`[zag-js/file-upload] error transforming files\n${err}`);\n }).finally(() => {\n context.set(\"transforming\", false);\n });\n } else {\n set(acceptedFiles);\n }\n },\n removeFile({ context, event }) {\n const files = context.get(\"acceptedFiles\").filter((file) => !isFileEqual(file, event.file));\n const rejectedFiles = context.get(\"rejectedFiles\").filter((item) => !isFileEqual(item.file, event.file));\n context.set(\"acceptedFiles\", files);\n context.set(\"rejectedFiles\", rejectedFiles);\n },\n clearRejectedFiles({ context }) {\n context.set(\"rejectedFiles\", []);\n },\n clearFiles({ context }) {\n context.set(\"acceptedFiles\", []);\n context.set(\"rejectedFiles\", []);\n }\n }\n }\n});\nvar props = createProps()([\n \"accept\",\n \"acceptedFiles\",\n \"allowDrop\",\n \"capture\",\n \"defaultAcceptedFiles\",\n \"dir\",\n \"directory\",\n \"disabled\",\n \"getRootNode\",\n \"id\",\n \"ids\",\n \"invalid\",\n \"locale\",\n \"maxFiles\",\n \"maxFileSize\",\n \"minFileSize\",\n \"name\",\n \"onFileAccept\",\n \"onFileChange\",\n \"onFileReject\",\n \"preventDocumentDrop\",\n \"required\",\n \"transformFiles\",\n \"translations\",\n \"validate\"\n]);\nvar splitProps = createSplitProps(props);\nvar itemProps = createProps()([\"file\"]);\nvar splitItemProps = createSplitProps(itemProps);\n\nexport { anatomy, connect, itemProps, machine, props, splitItemProps, splitProps };\n","import { createAnatomy } from '@zag-js/anatomy';\nimport { raf, setElementValue, trackElementRect, queryAll, trackPointerMove, trackFormControl, getRelativePoint, dispatchInputValueEvent, dataAttr, isLeftClick, isModifierKey, getEventPoint, ariaAttr, getEventStep, getEventKey } from '@zag-js/dom-query';\nimport { setValueAtIndex, pick, getValuePercent, isEqual, createSplitProps, snapValueToStep, clampValue, getValueRanges, getNextStepValue, getPreviousStepValue, getPercentValue, getClosestValueIndex, isValueWithinRange, first, last, toPx, getValueTransformer } from '@zag-js/utils';\nimport { createMachine } from '@zag-js/core';\nimport { createProps } from '@zag-js/types';\n\n// src/slider.anatomy.ts\nvar anatomy = createAnatomy(\"slider\").parts(\n \"root\",\n \"label\",\n \"thumb\",\n \"valueText\",\n \"track\",\n \"range\",\n \"control\",\n \"markerGroup\",\n \"marker\",\n \"draggingIndicator\"\n);\nvar parts = anatomy.build();\nvar getRootId = (ctx) => ctx.ids?.root ?? `slider:${ctx.id}`;\nvar getThumbId = (ctx, index) => ctx.ids?.thumb?.(index) ?? `slider:${ctx.id}:thumb:${index}`;\nvar getHiddenInputId = (ctx, index) => ctx.ids?.hiddenInput?.(index) ?? `slider:${ctx.id}:input:${index}`;\nvar getControlId = (ctx) => ctx.ids?.control ?? `slider:${ctx.id}:control`;\nvar getTrackId = (ctx) => ctx.ids?.track ?? `slider:${ctx.id}:track`;\nvar getRangeId = (ctx) => ctx.ids?.range ?? `slider:${ctx.id}:range`;\nvar getLabelId = (ctx) => ctx.ids?.label ?? `slider:${ctx.id}:label`;\nvar getValueTextId = (ctx) => ctx.ids?.valueText ?? `slider:${ctx.id}:value-text`;\nvar getMarkerId = (ctx, value) => ctx.ids?.marker?.(value) ?? `slider:${ctx.id}:marker:${value}`;\nvar getRootEl = (ctx) => ctx.getById(getRootId(ctx));\nvar getThumbEl = (ctx, index) => ctx.getById(getThumbId(ctx, index));\nvar getThumbEls = (ctx) => queryAll(getControlEl(ctx), \"[role=slider]\");\nvar getFirstThumbEl = (ctx) => getThumbEls(ctx)[0];\nvar getHiddenInputEl = (ctx, index) => ctx.getById(getHiddenInputId(ctx, index));\nvar getControlEl = (ctx) => ctx.getById(getControlId(ctx));\nvar getPointValue = (params, point) => {\n const { prop, scope } = params;\n const controlEl = getControlEl(scope);\n if (!controlEl) return;\n const relativePoint = getRelativePoint(point, controlEl);\n const percent = relativePoint.getPercentValue({\n orientation: prop(\"orientation\"),\n dir: prop(\"dir\"),\n inverted: { y: true }\n });\n return getPercentValue(percent, prop(\"min\"), prop(\"max\"), prop(\"step\"));\n};\nvar dispatchChangeEvent = (ctx, value) => {\n value.forEach((value2, index) => {\n const inputEl = getHiddenInputEl(ctx, index);\n if (!inputEl) return;\n dispatchInputValueEvent(inputEl, { value: value2 });\n });\n};\nvar getOffsetRect = (el) => ({\n left: el?.offsetLeft ?? 0,\n top: el?.offsetTop ?? 0,\n width: el?.offsetWidth ?? 0,\n height: el?.offsetHeight ?? 0\n});\nfunction getBounds(value) {\n const firstValue = value[0];\n const lastThumb = value[value.length - 1];\n return [firstValue, lastThumb];\n}\nfunction getRangeOffsets(params) {\n const { prop, computed } = params;\n const valuePercent = computed(\"valuePercent\");\n const [firstPercent, lastPercent] = getBounds(valuePercent);\n if (valuePercent.length === 1) {\n if (prop(\"origin\") === \"center\") {\n const isNegative = valuePercent[0] < 50;\n const start = isNegative ? `${valuePercent[0]}%` : \"50%\";\n const end = isNegative ? \"50%\" : `${100 - valuePercent[0]}%`;\n return { start, end };\n }\n if (prop(\"origin\") === \"end\") {\n return { start: `${lastPercent}%`, end: \"0%\" };\n }\n return { start: \"0%\", end: `${100 - lastPercent}%` };\n }\n return { start: `${firstPercent}%`, end: `${100 - lastPercent}%` };\n}\nfunction getRangeStyle(params) {\n const { computed } = params;\n const isVertical = computed(\"isVertical\");\n const isRtl = computed(\"isRtl\");\n if (isVertical) {\n return {\n position: \"absolute\",\n bottom: \"var(--slider-range-start)\",\n top: \"var(--slider-range-end)\"\n };\n }\n return {\n position: \"absolute\",\n [isRtl ? \"right\" : \"left\"]: \"var(--slider-range-start)\",\n [isRtl ? \"left\" : \"right\"]: \"var(--slider-range-end)\"\n };\n}\nfunction getVerticalThumbOffset(params, value) {\n const { context, prop } = params;\n const { height = 0 } = context.get(\"thumbSize\") ?? {};\n const getValue = getValueTransformer([prop(\"min\"), prop(\"max\")], [-height / 2, height / 2]);\n return parseFloat(getValue(value).toFixed(2));\n}\nfunction getHorizontalThumbOffset(params, value) {\n const { computed, context, prop } = params;\n const { width = 0 } = context.get(\"thumbSize\") ?? {};\n const isRtl = computed(\"isRtl\");\n if (isRtl) {\n const getValue2 = getValueTransformer([prop(\"max\"), prop(\"min\")], [-width / 2, width / 2]);\n return -1 * parseFloat(getValue2(value).toFixed(2));\n }\n const getValue = getValueTransformer([prop(\"min\"), prop(\"max\")], [-width / 2, width / 2]);\n return parseFloat(getValue(value).toFixed(2));\n}\nfunction getOffset(params, percent, value) {\n const { computed, prop } = params;\n if (prop(\"thumbAlignment\") === \"center\") return `${percent}%`;\n const offset = computed(\"isVertical\") ? getVerticalThumbOffset(params, value) : getHorizontalThumbOffset(params, value);\n return `calc(${percent}% - ${offset}px)`;\n}\nfunction getThumbOffset(params, value) {\n const { prop } = params;\n const percent = getValuePercent(value, prop(\"min\"), prop(\"max\")) * 100;\n return getOffset(params, percent, value);\n}\nfunction getVisibility(params) {\n const { computed, prop } = params;\n let visibility = \"visible\";\n if (prop(\"thumbAlignment\") === \"contain\" && !computed(\"hasMeasuredThumbSize\")) {\n visibility = \"hidden\";\n }\n return visibility;\n}\nfunction getThumbStyle(params, index) {\n const { computed } = params;\n const placementProp = computed(\"isVertical\") ? \"bottom\" : \"insetInlineStart\";\n return {\n visibility: getVisibility(params),\n position: \"absolute\",\n transform: \"var(--slider-thumb-transform)\",\n [placementProp]: `var(--slider-thumb-offset-${index})`\n };\n}\nfunction getControlStyle() {\n return {\n touchAction: \"none\",\n userSelect: \"none\",\n WebkitUserSelect: \"none\",\n position: \"relative\"\n };\n}\nfunction getRootStyle(params) {\n const { context, computed } = params;\n const isVertical = computed(\"isVertical\");\n const isRtl = computed(\"isRtl\");\n const range = getRangeOffsets(params);\n const thumbSize = context.get(\"thumbSize\");\n const offsetStyles = context.get(\"value\").reduce((styles, value, index) => {\n const offset = getThumbOffset(params, value);\n return { ...styles, [`--slider-thumb-offset-${index}`]: offset };\n }, {});\n return {\n ...offsetStyles,\n \"--slider-thumb-width\": toPx(thumbSize?.width),\n \"--slider-thumb-height\": toPx(thumbSize?.height),\n \"--slider-thumb-transform\": isVertical ? \"translateY(50%)\" : isRtl ? \"translateX(50%)\" : \"translateX(-50%)\",\n \"--slider-range-start\": range.start,\n \"--slider-range-end\": range.end\n };\n}\nfunction getMarkerStyle(params, value) {\n const { computed } = params;\n const isHorizontal = computed(\"isHorizontal\");\n const isRtl = computed(\"isRtl\");\n return {\n visibility: getVisibility(params),\n position: \"absolute\",\n pointerEvents: \"none\",\n [isHorizontal ? \"insetInlineStart\" : \"bottom\"]: getThumbOffset(params, value),\n translate: \"var(--tx) var(--ty)\",\n \"--tx\": isHorizontal ? isRtl ? \"50%\" : \"-50%\" : \"0%\",\n \"--ty\": !isHorizontal ? \"50%\" : \"0%\"\n };\n}\nfunction getMarkerGroupStyle() {\n return {\n userSelect: \"none\",\n WebkitUserSelect: \"none\",\n pointerEvents: \"none\",\n position: \"relative\"\n };\n}\nfunction normalizeValues(params, nextValues) {\n return nextValues.map((value, index) => {\n return constrainValue(params, value, index);\n });\n}\nfunction getRangeAtIndex(params, index) {\n const { context, prop } = params;\n const step = prop(\"step\") * prop(\"minStepsBetweenThumbs\");\n return getValueRanges(context.get(\"value\"), prop(\"min\"), prop(\"max\"), step)[index];\n}\nfunction constrainValue(params, value, index) {\n const { prop } = params;\n const range = getRangeAtIndex(params, index);\n const snapValue = snapValueToStep(value, prop(\"min\"), prop(\"max\"), prop(\"step\"));\n return clampValue(snapValue, range.min, range.max);\n}\nfunction decrement(params, index, step) {\n const { context, prop } = params;\n const idx = index ?? context.get(\"focusedIndex\");\n const range = getRangeAtIndex(params, idx);\n const nextValues = getPreviousStepValue(idx, {\n ...range,\n step: step ?? prop(\"step\"),\n values: context.get(\"value\")\n });\n nextValues[idx] = clampValue(nextValues[idx], range.min, range.max);\n return nextValues;\n}\nfunction increment(params, index, step) {\n const { context, prop } = params;\n const idx = index ?? context.get(\"focusedIndex\");\n const range = getRangeAtIndex(params, idx);\n const nextValues = getNextStepValue(idx, {\n ...range,\n step: step ?? prop(\"step\"),\n values: context.get(\"value\")\n });\n nextValues[idx] = clampValue(nextValues[idx], range.min, range.max);\n return nextValues;\n}\nfunction getClosestIndex(params, pointValue) {\n const { context } = params;\n return getClosestValueIndex(context.get(\"value\"), pointValue);\n}\n\n// src/slider.connect.ts\nfunction connect(service, normalize2) {\n const { state, send, context, prop, computed, scope } = service;\n const ariaLabel = prop(\"aria-label\");\n const ariaLabelledBy = prop(\"aria-labelledby\");\n const sliderValue = context.get(\"value\");\n const focusedIndex = context.get(\"focusedIndex\");\n const focused = state.matches(\"focus\");\n const dragging = state.matches(\"dragging\");\n const disabled = computed(\"isDisabled\");\n const invalid = prop(\"invalid\");\n const interactive = computed(\"isInteractive\");\n const isHorizontal = prop(\"orientation\") === \"horizontal\";\n const isVertical = prop(\"orientation\") === \"vertical\";\n function getValuePercentFn(value) {\n return getValuePercent(value, prop(\"min\"), prop(\"max\"));\n }\n function getPercentValueFn(percent) {\n return getPercentValue(percent, prop(\"min\"), prop(\"max\"), prop(\"step\"));\n }\n return {\n value: sliderValue,\n dragging,\n focused,\n setValue(value) {\n send({ type: \"SET_VALUE\", value });\n },\n getThumbValue(index) {\n return sliderValue[index];\n },\n setThumbValue(index, value) {\n send({ type: \"SET_VALUE\", index, value });\n },\n getValuePercent: getValuePercentFn,\n getPercentValue: getPercentValueFn,\n getThumbPercent(index) {\n return getValuePercentFn(sliderValue[index]);\n },\n setThumbPercent(index, percent) {\n const value = getPercentValueFn(percent);\n send({ type: \"SET_VALUE\", index, value });\n },\n getThumbMin(index) {\n return getRangeAtIndex(service, index).min;\n },\n getThumbMax(index) {\n return getRangeAtIndex(service, index).max;\n },\n increment(index) {\n send({ type: \"INCREMENT\", index });\n },\n decrement(index) {\n send({ type: \"DECREMENT\", index });\n },\n focus() {\n if (!interactive) return;\n send({ type: \"FOCUS\", index: 0 });\n },\n getLabelProps() {\n return normalize2.label({\n ...parts.label.attrs,\n dir: prop(\"dir\"),\n \"data-disabled\": dataAttr(disabled),\n \"data-orientation\": prop(\"orientation\"),\n \"data-invalid\": dataAttr(invalid),\n \"data-dragging\": dataAttr(dragging),\n \"data-focus\": dataAttr(focused),\n id: getLabelId(scope),\n htmlFor: getHiddenInputId(scope, 0),\n onClick(event) {\n if (!interactive) return;\n event.preventDefault();\n getFirstThumbEl(scope)?.focus();\n },\n style: {\n userSelect: \"none\",\n WebkitUserSelect: \"none\"\n }\n });\n },\n getRootProps() {\n return normalize2.element({\n ...parts.root.attrs,\n \"data-disabled\": dataAttr(disabled),\n \"data-orientation\": prop(\"orientation\"),\n \"data-dragging\": dataAttr(dragging),\n \"data-invalid\": dataAttr(invalid),\n \"data-focus\": dataAttr(focused),\n id: getRootId(scope),\n dir: prop(\"dir\"),\n style: getRootStyle(service)\n });\n },\n getValueTextProps() {\n return normalize2.element({\n ...parts.valueText.attrs,\n dir: prop(\"dir\"),\n \"data-disabled\": dataAttr(disabled),\n \"data-orientation\": prop(\"orientation\"),\n \"data-invalid\": dataAttr(invalid),\n \"data-focus\": dataAttr(focused),\n id: getValueTextId(scope)\n });\n },\n getTrackProps() {\n return normalize2.element({\n ...parts.track.attrs,\n dir: prop(\"dir\"),\n id: getTrackId(scope),\n \"data-disabled\": dataAttr(disabled),\n \"data-invalid\": dataAttr(invalid),\n \"data-dragging\": dataAttr(dragging),\n \"data-orientation\": prop(\"orientation\"),\n \"data-focus\": dataAttr(focused),\n style: { position: \"relative\" }\n });\n },\n getThumbProps(props2) {\n const { index = 0, name } = props2;\n const value = sliderValue[index];\n const range = getRangeAtIndex(service, index);\n const valueText = prop(\"getAriaValueText\")?.({ value, index });\n const _ariaLabel = Array.isArray(ariaLabel) ? ariaLabel[index] : ariaLabel;\n const _ariaLabelledBy = Array.isArray(ariaLabelledBy) ? ariaLabelledBy[index] : ariaLabelledBy;\n return normalize2.element({\n ...parts.thumb.attrs,\n dir: prop(\"dir\"),\n \"data-index\": index,\n \"data-name\": name,\n id: getThumbId(scope, index),\n \"data-disabled\": dataAttr(disabled),\n \"data-orientation\": prop(\"orientation\"),\n \"data-focus\": dataAttr(focused && focusedIndex === index),\n \"data-dragging\": dataAttr(dragging && focusedIndex === index),\n draggable: false,\n \"aria-disabled\": ariaAttr(disabled),\n \"aria-label\": _ariaLabel,\n \"aria-labelledby\": _ariaLabelledBy ?? getLabelId(scope),\n \"aria-orientation\": prop(\"orientation\"),\n \"aria-valuemax\": range.max,\n \"aria-valuemin\": range.min,\n \"aria-valuenow\": sliderValue[index],\n \"aria-valuetext\": valueText,\n role: \"slider\",\n tabIndex: disabled ? void 0 : 0,\n style: getThumbStyle(service, index),\n onPointerDown(event) {\n if (!interactive) return;\n if (!isLeftClick(event)) return;\n send({ type: \"THUMB_POINTER_DOWN\", index });\n event.stopPropagation();\n },\n onBlur() {\n if (!interactive) return;\n send({ type: \"BLUR\" });\n },\n onFocus() {\n if (!interactive) return;\n send({ type: \"FOCUS\", index });\n },\n onKeyDown(event) {\n if (event.defaultPrevented) return;\n if (!interactive) return;\n const step = getEventStep(event) * prop(\"step\");\n const keyMap = {\n ArrowUp() {\n if (isHorizontal) return;\n send({ type: \"ARROW_INC\", step, src: \"ArrowUp\" });\n },\n ArrowDown() {\n if (isHorizontal) return;\n send({ type: \"ARROW_DEC\", step, src: \"ArrowDown\" });\n },\n ArrowLeft() {\n if (isVertical) return;\n send({ type: \"ARROW_DEC\", step, src: \"ArrowLeft\" });\n },\n ArrowRight() {\n if (isVertical) return;\n send({ type: \"ARROW_INC\", step, src: \"ArrowRight\" });\n },\n PageUp() {\n send({ type: \"ARROW_INC\", step, src: \"PageUp\" });\n },\n PageDown() {\n send({ type: \"ARROW_DEC\", step, src: \"PageDown\" });\n },\n Home() {\n send({ type: \"HOME\" });\n },\n End() {\n send({ type: \"END\" });\n }\n };\n const key = getEventKey(event, {\n dir: prop(\"dir\"),\n orientation: prop(\"orientation\")\n });\n const exec = keyMap[key];\n if (exec) {\n exec(event);\n event.preventDefault();\n event.stopPropagation();\n }\n }\n });\n },\n getHiddenInputProps(props2) {\n const { index = 0, name } = props2;\n return normalize2.input({\n name: name ?? (prop(\"name\") ? prop(\"name\") + (sliderValue.length > 1 ? \"[]\" : \"\") : void 0),\n form: prop(\"form\"),\n type: \"text\",\n hidden: true,\n defaultValue: sliderValue[index],\n id: getHiddenInputId(scope, index)\n });\n },\n getRangeProps() {\n return normalize2.element({\n id: getRangeId(scope),\n ...parts.range.attrs,\n dir: prop(\"dir\"),\n \"data-dragging\": dataAttr(dragging),\n \"data-focus\": dataAttr(focused),\n \"data-invalid\": dataAttr(invalid),\n \"data-disabled\": dataAttr(disabled),\n \"data-orientation\": prop(\"orientation\"),\n style: getRangeStyle(service)\n });\n },\n getControlProps() {\n return normalize2.element({\n ...parts.control.attrs,\n dir: prop(\"dir\"),\n id: getControlId(scope),\n \"data-dragging\": dataAttr(dragging),\n \"data-disabled\": dataAttr(disabled),\n \"data-orientation\": prop(\"orientation\"),\n \"data-invalid\": dataAttr(invalid),\n \"data-focus\": dataAttr(focused),\n style: getControlStyle(),\n onPointerDown(event) {\n if (!interactive) return;\n if (!isLeftClick(event)) return;\n if (isModifierKey(event)) return;\n const point = getEventPoint(event);\n send({ type: \"POINTER_DOWN\", point });\n event.preventDefault();\n event.stopPropagation();\n }\n });\n },\n getMarkerGroupProps() {\n return normalize2.element({\n ...parts.markerGroup.attrs,\n role: \"presentation\",\n dir: prop(\"dir\"),\n \"aria-hidden\": true,\n \"data-orientation\": prop(\"orientation\"),\n style: getMarkerGroupStyle()\n });\n },\n getMarkerProps(props2) {\n const style = getMarkerStyle(service, props2.value);\n let markerState;\n if (props2.value < first(sliderValue)) {\n markerState = \"under-value\";\n } else if (props2.value > last(sliderValue)) {\n markerState = \"over-value\";\n } else {\n markerState = \"at-value\";\n }\n return normalize2.element({\n ...parts.marker.attrs,\n id: getMarkerId(scope, props2.value),\n role: \"presentation\",\n dir: prop(\"dir\"),\n \"data-orientation\": prop(\"orientation\"),\n \"data-value\": props2.value,\n \"data-disabled\": dataAttr(disabled),\n \"data-state\": markerState,\n style\n });\n },\n getDraggingIndicatorProps(props2) {\n const { index = 0 } = props2;\n const isDragging = index === focusedIndex && dragging;\n return normalize2.element({\n ...parts.draggingIndicator.attrs,\n role: \"presentation\",\n dir: prop(\"dir\"),\n hidden: !isDragging,\n \"data-orientation\": prop(\"orientation\"),\n \"data-state\": isDragging ? \"open\" : \"closed\",\n style: getThumbStyle(service, index)\n });\n }\n };\n}\nvar isEqualSize = (a, b) => {\n return a?.width === b?.width && a?.height === b?.height;\n};\nvar normalize = (value, min, max, step, minStepsBetweenThumbs) => {\n const ranges = getValueRanges(value, min, max, minStepsBetweenThumbs * step);\n return ranges.map((range) => {\n const snapValue = snapValueToStep(range.value, range.min, range.max, step);\n const rangeValue = clampValue(snapValue, range.min, range.max);\n if (!isValueWithinRange(rangeValue, min, max)) {\n throw new Error(\n \"[zag-js/slider] The configured `min`, `max`, `step` or `minStepsBetweenThumbs` values are invalid\"\n );\n }\n return rangeValue;\n });\n};\nvar machine = createMachine({\n props({ props: props2 }) {\n const min = props2.min ?? 0;\n const max = props2.max ?? 100;\n const step = props2.step ?? 1;\n const defaultValue = props2.defaultValue ?? [min];\n const minStepsBetweenThumbs = props2.minStepsBetweenThumbs ?? 0;\n return {\n dir: \"ltr\",\n thumbAlignment: \"contain\",\n origin: \"start\",\n orientation: \"horizontal\",\n minStepsBetweenThumbs,\n ...props2,\n defaultValue: normalize(defaultValue, min, max, step, minStepsBetweenThumbs),\n value: props2.value ? normalize(props2.value, min, max, step, minStepsBetweenThumbs) : void 0,\n max,\n step,\n min\n };\n },\n initialState() {\n return \"idle\";\n },\n context({ prop, bindable, getContext }) {\n return {\n thumbSize: bindable(() => ({\n defaultValue: prop(\"thumbSize\") || null\n })),\n value: bindable(() => ({\n defaultValue: prop(\"defaultValue\"),\n value: prop(\"value\"),\n isEqual,\n hash(a) {\n return a.join(\",\");\n },\n onChange(value) {\n prop(\"onValueChange\")?.({ value });\n }\n })),\n focusedIndex: bindable(() => ({\n defaultValue: -1,\n onChange(value) {\n const ctx = getContext();\n prop(\"onFocusChange\")?.({ focusedIndex: value, value: ctx.get(\"value\") });\n }\n })),\n fieldsetDisabled: bindable(() => ({\n defaultValue: false\n }))\n };\n },\n computed: {\n isHorizontal: ({ prop }) => prop(\"orientation\") === \"horizontal\",\n isVertical: ({ prop }) => prop(\"orientation\") === \"vertical\",\n isRtl: ({ prop }) => prop(\"orientation\") === \"horizontal\" && prop(\"dir\") === \"rtl\",\n isDisabled: ({ context, prop }) => !!prop(\"disabled\") || context.get(\"fieldsetDisabled\"),\n isInteractive: ({ prop, computed }) => !(prop(\"readOnly\") || computed(\"isDisabled\")),\n hasMeasuredThumbSize: ({ context }) => context.get(\"thumbSize\") != null,\n valuePercent({ context, prop }) {\n return context.get(\"value\").map((value) => 100 * getValuePercent(value, prop(\"min\"), prop(\"max\")));\n }\n },\n watch({ track, action, context }) {\n track([() => context.hash(\"value\")], () => {\n action([\"syncInputElements\", \"dispatchChangeEvent\"]);\n });\n },\n effects: [\"trackFormControlState\", \"trackThumbSize\"],\n on: {\n SET_VALUE: [\n {\n guard: \"hasIndex\",\n actions: [\"setValueAtIndex\"]\n },\n {\n actions: [\"setValue\"]\n }\n ],\n INCREMENT: {\n actions: [\"incrementThumbAtIndex\"]\n },\n DECREMENT: {\n actions: [\"decrementThumbAtIndex\"]\n }\n },\n states: {\n idle: {\n on: {\n POINTER_DOWN: {\n target: \"dragging\",\n actions: [\"setClosestThumbIndex\", \"setPointerValue\", \"focusActiveThumb\"]\n },\n FOCUS: {\n target: \"focus\",\n actions: [\"setFocusedIndex\"]\n },\n THUMB_POINTER_DOWN: {\n target: \"dragging\",\n actions: [\"setFocusedIndex\", \"focusActiveThumb\"]\n }\n }\n },\n focus: {\n entry: [\"focusActiveThumb\"],\n on: {\n POINTER_DOWN: {\n target: \"dragging\",\n actions: [\"setClosestThumbIndex\", \"setPointerValue\", \"focusActiveThumb\"]\n },\n THUMB_POINTER_DOWN: {\n target: \"dragging\",\n actions: [\"setFocusedIndex\", \"focusActiveThumb\"]\n },\n ARROW_DEC: {\n actions: [\"decrementThumbAtIndex\", \"invokeOnChangeEnd\"]\n },\n ARROW_INC: {\n actions: [\"incrementThumbAtIndex\", \"invokeOnChangeEnd\"]\n },\n HOME: {\n actions: [\"setFocusedThumbToMin\", \"invokeOnChangeEnd\"]\n },\n END: {\n actions: [\"setFocusedThumbToMax\", \"invokeOnChangeEnd\"]\n },\n BLUR: {\n target: \"idle\",\n actions: [\"clearFocusedIndex\"]\n }\n }\n },\n dragging: {\n entry: [\"focusActiveThumb\"],\n effects: [\"trackPointerMove\"],\n on: {\n POINTER_UP: {\n target: \"focus\",\n actions: [\"invokeOnChangeEnd\"]\n },\n POINTER_MOVE: {\n actions: [\"setPointerValue\"]\n }\n }\n }\n },\n implementations: {\n guards: {\n hasIndex: ({ event }) => event.index != null\n },\n effects: {\n trackFormControlState({ context, scope }) {\n return trackFormControl(getRootEl(scope), {\n onFieldsetDisabledChange(disabled) {\n context.set(\"fieldsetDisabled\", disabled);\n },\n onFormReset() {\n context.set(\"value\", context.initial(\"value\"));\n }\n });\n },\n trackPointerMove({ scope, send }) {\n return trackPointerMove(scope.getDoc(), {\n onPointerMove(info) {\n send({ type: \"POINTER_MOVE\", point: info.point });\n },\n onPointerUp() {\n send({ type: \"POINTER_UP\" });\n }\n });\n },\n trackThumbSize({ context, scope, prop }) {\n if (prop(\"thumbAlignment\") !== \"contain\" || prop(\"thumbSize\")) return;\n return trackElementRect(getThumbEls(scope), {\n box: \"border-box\",\n measure(el) {\n return getOffsetRect(el);\n },\n onEntry({ rects }) {\n if (rects.length === 0) return;\n const size = pick(rects[0], [\"width\", \"height\"]);\n if (isEqualSize(context.get(\"thumbSize\"), size)) return;\n context.set(\"thumbSize\", size);\n }\n });\n }\n },\n actions: {\n dispatchChangeEvent({ context, scope }) {\n dispatchChangeEvent(scope, context.get(\"value\"));\n },\n syncInputElements({ context, scope }) {\n context.get(\"value\").forEach((value, index) => {\n const inputEl = getHiddenInputEl(scope, index);\n setElementValue(inputEl, value.toString());\n });\n },\n invokeOnChangeEnd({ prop, context }) {\n queueMicrotask(() => {\n prop(\"onValueChangeEnd\")?.({ value: context.get(\"value\") });\n });\n },\n setClosestThumbIndex(params) {\n const { context, event } = params;\n const pointValue = getPointValue(params, event.point);\n if (pointValue == null) return;\n const focusedIndex = getClosestIndex(params, pointValue);\n context.set(\"focusedIndex\", focusedIndex);\n },\n setFocusedIndex({ context, event }) {\n context.set(\"focusedIndex\", event.index);\n },\n clearFocusedIndex({ context }) {\n context.set(\"focusedIndex\", -1);\n },\n setPointerValue(params) {\n queueMicrotask(() => {\n const { context, event } = params;\n const pointValue = getPointValue(params, event.point);\n if (pointValue == null) return;\n const focusedIndex = context.get(\"focusedIndex\");\n const value = constrainValue(params, pointValue, focusedIndex);\n context.set(\"value\", (prev) => setValueAtIndex(prev, focusedIndex, value));\n });\n },\n focusActiveThumb({ scope, context }) {\n raf(() => {\n const thumbEl = getThumbEl(scope, context.get(\"focusedIndex\"));\n thumbEl?.focus({ preventScroll: true });\n });\n },\n decrementThumbAtIndex(params) {\n const { context, event } = params;\n const value = decrement(params, event.index, event.step);\n context.set(\"value\", value);\n },\n incrementThumbAtIndex(params) {\n const { context, event } = params;\n const value = increment(params, event.index, event.step);\n context.set(\"value\", value);\n },\n setFocusedThumbToMin(params) {\n const { context } = params;\n const index = context.get(\"focusedIndex\");\n const { min } = getRangeAtIndex(params, index);\n context.set(\"value\", (prev) => setValueAtIndex(prev, index, min));\n },\n setFocusedThumbToMax(params) {\n const { context } = params;\n const index = context.get(\"focusedIndex\");\n const { max } = getRangeAtIndex(params, index);\n context.set(\"value\", (prev) => setValueAtIndex(prev, index, max));\n },\n setValueAtIndex(params) {\n const { context, event } = params;\n const value = constrainValue(params, event.value, event.index);\n context.set(\"value\", (prev) => setValueAtIndex(prev, event.index, value));\n },\n setValue(params) {\n const { context, event } = params;\n const value = normalizeValues(params, event.value);\n context.set(\"value\", value);\n }\n }\n }\n});\nvar props = createProps()([\n \"aria-label\",\n \"aria-labelledby\",\n \"dir\",\n \"disabled\",\n \"form\",\n \"getAriaValueText\",\n \"getRootNode\",\n \"id\",\n \"ids\",\n \"invalid\",\n \"max\",\n \"min\",\n \"minStepsBetweenThumbs\",\n \"name\",\n \"onFocusChange\",\n \"onValueChange\",\n \"onValueChangeEnd\",\n \"orientation\",\n \"origin\",\n \"readOnly\",\n \"step\",\n \"thumbAlignment\",\n \"thumbAlignment\",\n \"thumbSize\",\n \"value\",\n \"defaultValue\"\n]);\nvar splitProps = createSplitProps(props);\nvar thumbProps = createProps()([\"index\", \"name\"]);\nvar splitThumbProps = createSplitProps(thumbProps);\n\nexport { anatomy, connect, machine, props, splitProps, splitThumbProps, thumbProps };\n"],"names":["__defProp","__defNormalProp","obj","key","value","__publicField","generateRGB_R","orientation","dir","zValue","maskImage","generateRGB_G","generateRGB_B","generateHSL_H","generateHSL_S","alphaValue","generateHSL_L","generateHSB_H","generateHSB_S","generateHSB_B","getColorAreaGradient","color","options","xChannel","yChannel","dirProp","zChannel","zMin","zMax","background","isHSL","isEqualObject","a","b","Color","channel","valueToCheck","minValue","maxValue","getValuePercent","percentToCheck","step","percentValue","getPercentValue","snapValueToStep","clone","clampValue","xyChannels","xCh","c","yCh","zCh","stepSize","HEX_COLOR_REGEX","RGB_COLOR_REGEX","HEX_STARTING_REGEX","_RGBColor","red","green","blue","alpha","colors","values","match","value2","num","format","min","brightness","chroma","saturation","hue","HSBColor","toFixedNumber","max","lightness","HSLColor","locale","RGBColor","HSL_REGEX","_HSLColor","m","h","s","l","n","mod","fn","k","HSB_REGEX","_HSBColor","nativeColors","makeMap","str","map","list","i","val","nativeColorMap","parseColor","result","error","normalizeColor","v","anatomy","createAnatomy","parts","getRootId","ctx","getLabelId","getHiddenInputId","getControlId","getTriggerId","getContentId","getPositionerId","getFormatSelectId","getAreaId","getAreaGradientId","getAreaThumbId","getChannelSliderTrackId","getChannelSliderThumbId","getContentEl","getAreaThumbEl","getChannelSliderThumbEl","getFormatSelectEl","getHiddenInputEl","getAreaEl","getAreaValueFromPoint","point","areaEl","percent","getRelativePoint","getControlEl","getTriggerEl","getPositionerEl","getChannelSliderTrackEl","getChannelSliderValueFromPoint","trackEl","getChannelInputEls","queryAll","getChannelDisplayColor","getChannelValue","getChannelRange","minColor","maxColor","getSliderBackgroundDirection","getSliderBackground","props2","bgDirection","start","middle","end","connect","service","normalize","context","send","prop","computed","state","scope","areaValue","valueAsString","disabled","interactive","dragging","open","focused","getAreaChannels","channels","currentPlacement","popperStyles","getPlacementStyles","getSwatchTriggerState","nextOpen","channelValue","format2","formatValue","dataAttr","event","query","areaStyles","isLeftClick","isModifierKey","getEventPoint","areaGradientStyles","xPercent","yPercent","xValue","yValue","getEventStep","exec","event2","getEventKey","size","normalizedValue","thumbId","channelRange","offset","placementStyles","isTextField","visuallyHiddenStyle","swatchState","respectAlpha","getNextFormat","nextFormat","assertFormat","formats","formatRegex","index","parse","colorString","HEX_REGEX","isValidHex","prefixHex","and","createGuards","machine","createMachine","bindable","getContext","action","track","anchorEl","getPlacement","data","trackDismissableElement","inputEl","trackFormControl","trackPointerMove","type","disableTextSelection","win","sRGBHex","channelPercent","dispatchInputValueEvent","syncChannelInputs","currentAlpha","valueAsNumber","tryCatch","parseValue","current","range","raf","getInitialFocus","syncFormatSelect","currentValue","nextValue","channelInputEls","setElementValue","selectEl","createProps","getItemId","getItemContentId","getItemTriggerId","getRootEl","getTriggerEls","selector","getFirstTriggerEl","first","getLastTriggerEl","last","getNextTriggerEl","id","nextById","getPrevTriggerEl","prevById","focusedValue","multiple","setValue","getItemState","itemState","isSafari","keyMap","not","next","remove","add","warn","getInputId","getInputEl","writeToClipboard","copyText","createNode","doc","text","node","copyNode","selection","getWindow","copied","setRafTimeout","colorPickerAnatomy","getItemEntry","item","isDirectoryEntry","entry","isFileEntry","addRelativePath","file","path","getFileEntries","items","traverseDirectories","getDirectoryFiles","resolve","reader","entryPromises","readDirectoryEntries","entries","entries2","promises","resolve2","BOM_REGEX","MAC_REGEX","APPLE_WEBKIT_REGEX","SAFARI_REGEX","getBlob","blobOrString","appendBOM","blob","isMSEdge","isWebView","downloadFile","name","revokeTimeout","fileName","isMacOSWebView","anchor","url2","url","isMIMEType","isExt","isValidMIME","getAcceptAttrString","accept","mimeType","ext","isFileEqual","file1","file2","isDefined","isValidFileSize","minSize","maxSize","mimeTypes","mimeTypesMap","mime","extensions","getFileMimeType","extension","isFileAccepted","types","baseMimeType","validType","isValidFileType","isAcceptable","getPreviewId","getSubmitTriggerId","getCancelTriggerId","getEditTriggerId","getPreviewEl","getSubmitTriggerEl","getCancelTriggerEl","getEditTriggerEl","readOnly","invalid","autoResize","translations","editing","placeholderProp","placeholder","empty","valueText","ariaAttr","isComposingEvent","localName","isApple","submitMode","trackInteractOutside","target","el","contains","focusable","prev","i18nCache","Ins","formatterCache","cacheKey","formatter","getNumberFormatter","formatNumber","bitPrefixes","bytePrefixes","formatBytes","bytes","unit","unitDisplay","prefix","_unit","_unitDisplay","getDropzoneId","getItemNameId","getItemSizeTextId","getItemPreviewId","getDropzoneEl","isEventWithFiles","getEventTarget","isFilesWithinRange","incomingCount","currentAcceptedFiles","getEventFiles","files","currentRejectedFiles","acceptedFiles","rejectedFiles","validateParams","accepted","acceptError","sizeMatch","sizeError","validateErrors","valid","errors","setInputFiles","dataTransfer","allowDrop","cb","dt","acc","isSelfTarget","count","hasFiles","flatArray","onDragOver","onDrop","callAll","addDomEvent","params","set","transform","err","getThumbId","getTrackId","getRangeId","getValueTextId","getMarkerId","getThumbEl","getThumbEls","getFirstThumbEl","getPointValue","controlEl","dispatchChangeEvent","getOffsetRect","getBounds","firstValue","lastThumb","getRangeOffsets","valuePercent","firstPercent","lastPercent","isNegative","getRangeStyle","isVertical","isRtl","getVerticalThumbOffset","height","getValue","getValueTransformer","getHorizontalThumbOffset","width","getValue2","getOffset","getThumbOffset","getVisibility","visibility","getThumbStyle","placementProp","getControlStyle","getRootStyle","thumbSize","styles","toPx","getMarkerStyle","isHorizontal","getMarkerGroupStyle","normalizeValues","nextValues","constrainValue","getRangeAtIndex","getValueRanges","snapValue","decrement","idx","getPreviousStepValue","increment","getNextStepValue","getClosestIndex","pointValue","getClosestValueIndex","normalize2","ariaLabel","ariaLabelledBy","sliderValue","focusedIndex","getValuePercentFn","getPercentValueFn","_ariaLabel","_ariaLabelledBy","style","markerState","isDragging","isEqualSize","minStepsBetweenThumbs","rangeValue","isValueWithinRange","defaultValue","isEqual","info","trackElementRect","rects","pick","setValueAtIndex"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9]}
1
+ {"version":3,"file":"index-hPXhx9Mi.js","sources":["../../node_modules/@zag-js/color-utils/dist/index.mjs","../../node_modules/@zag-js/color-picker/dist/index.mjs","../../node_modules/@zag-js/accordion/dist/index.mjs","../../node_modules/@zag-js/clipboard/dist/index.mjs","../../node_modules/@ark-ui/react/dist/components/color-picker/color-picker.anatomy.js","../../node_modules/@zag-js/file-utils/dist/index.mjs","../../node_modules/@zag-js/editable/dist/index.mjs","../../node_modules/@zag-js/i18n-utils/dist/index.mjs","../../node_modules/@zag-js/file-upload/dist/index.mjs","../../node_modules/@zag-js/slider/dist/index.mjs"],"sourcesContent":["import { getValuePercent, getPercentValue, snapValueToStep, clampValue, toFixedNumber, mod } from '@zag-js/utils';\n\nvar __defProp = Object.defineProperty;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __publicField = (obj, key, value) => __defNormalProp(obj, key + \"\" , value);\n\n// src/color-format-gradient.ts\nvar generateRGB_R = (orientation, dir, zValue) => {\n const maskImage = `linear-gradient(to ${orientation[Number(!dir)]}, transparent, #000)`;\n const result = {\n areaStyles: {\n backgroundImage: `linear-gradient(to ${orientation[Number(dir)]},rgb(${zValue},0,0),rgb(${zValue},255,0))`\n },\n areaGradientStyles: {\n backgroundImage: `linear-gradient(to ${orientation[Number(dir)]},rgb(${zValue},0,255),rgb(${zValue},255,255))`,\n WebkitMaskImage: maskImage,\n maskImage\n }\n };\n return result;\n};\nvar generateRGB_G = (orientation, dir, zValue) => {\n const maskImage = `linear-gradient(to ${orientation[Number(!dir)]}, transparent, #000)`;\n const result = {\n areaStyles: {\n backgroundImage: `linear-gradient(to ${orientation[Number(dir)]},rgb(0,${zValue},0),rgb(255,${zValue},0))`\n },\n areaGradientStyles: {\n backgroundImage: `linear-gradient(to ${orientation[Number(dir)]},rgb(0,${zValue},255),rgb(255,${zValue},255))`,\n WebkitMaskImage: maskImage,\n maskImage\n }\n };\n return result;\n};\nvar generateRGB_B = (orientation, dir, zValue) => {\n const maskImage = `linear-gradient(to ${orientation[Number(!dir)]}, transparent, #000)`;\n const result = {\n areaStyles: {\n backgroundImage: `linear-gradient(to ${orientation[Number(dir)]},rgb(0,0,${zValue}),rgb(255,0,${zValue}))`\n },\n areaGradientStyles: {\n backgroundImage: `linear-gradient(to ${orientation[Number(dir)]},rgb(0,255,${zValue}),rgb(255,255,${zValue}))`,\n WebkitMaskImage: maskImage,\n maskImage\n }\n };\n return result;\n};\nvar generateHSL_H = (orientation, dir, zValue) => {\n const result = {\n areaStyles: {},\n areaGradientStyles: {\n background: [\n `linear-gradient(to ${orientation[Number(dir)]}, hsla(0,0%,0%,1) 0%, hsla(0,0%,0%,0) 50%, hsla(0,0%,100%,0) 50%, hsla(0,0%,100%,1) 100%)`,\n `linear-gradient(to ${orientation[Number(!dir)]},hsl(0,0%,50%),hsla(0,0%,50%,0))`,\n `hsl(${zValue}, 100%, 50%)`\n ].join(\",\")\n }\n };\n return result;\n};\nvar generateHSL_S = (orientation, dir, alphaValue) => {\n const result = {\n areaStyles: {},\n areaGradientStyles: {\n background: [\n `linear-gradient(to ${orientation[Number(!dir)]}, hsla(0,0%,0%,${alphaValue}) 0%, hsla(0,0%,0%,0) 50%, hsla(0,0%,100%,0) 50%, hsla(0,0%,100%,${alphaValue}) 100%)`,\n `linear-gradient(to ${orientation[Number(dir)]},hsla(0,100%,50%,${alphaValue}),hsla(60,100%,50%,${alphaValue}),hsla(120,100%,50%,${alphaValue}),hsla(180,100%,50%,${alphaValue}),hsla(240,100%,50%,${alphaValue}),hsla(300,100%,50%,${alphaValue}),hsla(359,100%,50%,${alphaValue}))`,\n \"hsl(0, 0%, 50%)\"\n ].join(\",\")\n }\n };\n return result;\n};\nvar generateHSL_L = (orientation, dir, zValue) => {\n const result = {\n areaStyles: {},\n areaGradientStyles: {\n backgroundImage: [\n `linear-gradient(to ${orientation[Number(!dir)]},hsl(0,0%,${zValue}%),hsla(0,0%,${zValue}%,0))`,\n `linear-gradient(to ${orientation[Number(dir)]},hsl(0,100%,${zValue}%),hsl(60,100%,${zValue}%),hsl(120,100%,${zValue}%),hsl(180,100%,${zValue}%),hsl(240,100%,${zValue}%),hsl(300,100%,${zValue}%),hsl(360,100%,${zValue}%))`\n ].join(\",\")\n }\n };\n return result;\n};\nvar generateHSB_H = (orientation, dir, zValue) => {\n const result = {\n areaStyles: {},\n areaGradientStyles: {\n background: [\n `linear-gradient(to ${orientation[Number(dir)]},hsl(0,0%,0%),hsla(0,0%,0%,0))`,\n `linear-gradient(to ${orientation[Number(!dir)]},hsl(0,0%,100%),hsla(0,0%,100%,0))`,\n `hsl(${zValue}, 100%, 50%)`\n ].join(\",\")\n }\n };\n return result;\n};\nvar generateHSB_S = (orientation, dir, alphaValue) => {\n const result = {\n areaStyles: {},\n areaGradientStyles: {\n background: [\n `linear-gradient(to ${orientation[Number(!dir)]},hsla(0,0%,0%,${alphaValue}),hsla(0,0%,0%,0))`,\n `linear-gradient(to ${orientation[Number(dir)]},hsla(0,100%,50%,${alphaValue}),hsla(60,100%,50%,${alphaValue}),hsla(120,100%,50%,${alphaValue}),hsla(180,100%,50%,${alphaValue}),hsla(240,100%,50%,${alphaValue}),hsla(300,100%,50%,${alphaValue}),hsla(359,100%,50%,${alphaValue}))`,\n `linear-gradient(to ${orientation[Number(!dir)]},hsl(0,0%,0%),hsl(0,0%,100%))`\n ].join(\",\")\n }\n };\n return result;\n};\nvar generateHSB_B = (orientation, dir, alphaValue) => {\n const result = {\n areaStyles: {},\n areaGradientStyles: {\n background: [\n `linear-gradient(to ${orientation[Number(!dir)]},hsla(0,0%,100%,${alphaValue}),hsla(0,0%,100%,0))`,\n `linear-gradient(to ${orientation[Number(dir)]},hsla(0,100%,50%,${alphaValue}),hsla(60,100%,50%,${alphaValue}),hsla(120,100%,50%,${alphaValue}),hsla(180,100%,50%,${alphaValue}),hsla(240,100%,50%,${alphaValue}),hsla(300,100%,50%,${alphaValue}),hsla(359,100%,50%,${alphaValue}))`,\n \"#000\"\n ].join(\",\")\n }\n };\n return result;\n};\n\n// src/area-gradient.ts\nfunction getColorAreaGradient(color, options) {\n const { xChannel, yChannel, dir: dirProp = \"ltr\" } = options;\n const { zChannel } = color.getColorAxes({ xChannel, yChannel });\n const zValue = color.getChannelValue(zChannel);\n const { minValue: zMin, maxValue: zMax } = color.getChannelRange(zChannel);\n const orientation = [\"top\", dirProp === \"rtl\" ? \"left\" : \"right\"];\n let dir = false;\n let background = { areaStyles: {}, areaGradientStyles: {} };\n let alphaValue = (zValue - zMin) / (zMax - zMin);\n let isHSL = color.getFormat() === \"hsla\";\n switch (zChannel) {\n case \"red\": {\n dir = xChannel === \"green\";\n background = generateRGB_R(orientation, dir, zValue);\n break;\n }\n case \"green\": {\n dir = xChannel === \"red\";\n background = generateRGB_G(orientation, dir, zValue);\n break;\n }\n case \"blue\": {\n dir = xChannel === \"red\";\n background = generateRGB_B(orientation, dir, zValue);\n break;\n }\n case \"hue\": {\n dir = xChannel !== \"saturation\";\n if (isHSL) {\n background = generateHSL_H(orientation, dir, zValue);\n } else {\n background = generateHSB_H(orientation, dir, zValue);\n }\n break;\n }\n case \"saturation\": {\n dir = xChannel === \"hue\";\n if (isHSL) {\n background = generateHSL_S(orientation, dir, alphaValue);\n } else {\n background = generateHSB_S(orientation, dir, alphaValue);\n }\n break;\n }\n case \"brightness\": {\n dir = xChannel === \"hue\";\n background = generateHSB_B(orientation, dir, alphaValue);\n break;\n }\n case \"lightness\": {\n dir = xChannel === \"hue\";\n background = generateHSL_L(orientation, dir, zValue);\n break;\n }\n }\n return background;\n}\nvar isEqualObject = (a, b) => {\n if (Object.keys(a).length !== Object.keys(b).length) return false;\n for (let key in a) if (a[key] !== b[key]) return false;\n return true;\n};\nvar Color = class {\n toHexInt() {\n return this.toFormat(\"rgba\").toHexInt();\n }\n getChannelValue(channel) {\n if (channel in this) return this[channel];\n throw new Error(\"Unsupported color channel: \" + channel);\n }\n getChannelValuePercent(channel, valueToCheck) {\n const value = valueToCheck ?? this.getChannelValue(channel);\n const { minValue, maxValue } = this.getChannelRange(channel);\n return getValuePercent(value, minValue, maxValue);\n }\n getChannelPercentValue(channel, percentToCheck) {\n const { minValue, maxValue, step } = this.getChannelRange(channel);\n const percentValue = getPercentValue(percentToCheck, minValue, maxValue, step);\n return snapValueToStep(percentValue, minValue, maxValue, step);\n }\n withChannelValue(channel, value) {\n const { minValue, maxValue } = this.getChannelRange(channel);\n if (channel in this) {\n let clone = this.clone();\n clone[channel] = clampValue(value, minValue, maxValue);\n return clone;\n }\n throw new Error(\"Unsupported color channel: \" + channel);\n }\n getColorAxes(xyChannels) {\n let { xChannel, yChannel } = xyChannels;\n let xCh = xChannel || this.getChannels().find((c) => c !== yChannel);\n let yCh = yChannel || this.getChannels().find((c) => c !== xCh);\n let zCh = this.getChannels().find((c) => c !== xCh && c !== yCh);\n return { xChannel: xCh, yChannel: yCh, zChannel: zCh };\n }\n incrementChannel(channel, stepSize) {\n const { minValue, maxValue, step } = this.getChannelRange(channel);\n const value = snapValueToStep(\n clampValue(this.getChannelValue(channel) + stepSize, minValue, maxValue),\n minValue,\n maxValue,\n step\n );\n return this.withChannelValue(channel, value);\n }\n decrementChannel(channel, stepSize) {\n return this.incrementChannel(channel, -stepSize);\n }\n isEqual(color) {\n const isSame = isEqualObject(this.toJSON(), color.toJSON());\n return isSame && this.getChannelValue(\"alpha\") === color.getChannelValue(\"alpha\");\n }\n};\nvar HEX_COLOR_REGEX = /^#[\\da-f]+$/i;\nvar RGB_COLOR_REGEX = /^rgba?\\((.*)\\)$/;\nvar HEX_STARTING_REGEX = /[^#]/gi;\nvar _RGBColor = class _RGBColor extends Color {\n constructor(red, green, blue, alpha) {\n super();\n this.red = red;\n this.green = green;\n this.blue = blue;\n this.alpha = alpha;\n }\n static parse(value) {\n let colors = [];\n if (HEX_COLOR_REGEX.test(value) && [4, 5, 7, 9].includes(value.length)) {\n const values = (value.length < 6 ? value.replace(HEX_STARTING_REGEX, \"$&$&\") : value).slice(1).split(\"\");\n while (values.length > 0) {\n colors.push(parseInt(values.splice(0, 2).join(\"\"), 16));\n }\n colors[3] = colors[3] !== void 0 ? colors[3] / 255 : void 0;\n }\n const match = value.match(RGB_COLOR_REGEX);\n if (match?.[1]) {\n colors = match[1].split(\",\").map((value2) => Number(value2.trim())).map((num, i) => clampValue(num, 0, i < 3 ? 255 : 1));\n }\n return colors.length < 3 ? void 0 : new _RGBColor(colors[0], colors[1], colors[2], colors[3] ?? 1);\n }\n toString(format) {\n switch (format) {\n case \"hex\":\n return \"#\" + (this.red.toString(16).padStart(2, \"0\") + this.green.toString(16).padStart(2, \"0\") + this.blue.toString(16).padStart(2, \"0\")).toUpperCase();\n case \"hexa\":\n return \"#\" + (this.red.toString(16).padStart(2, \"0\") + this.green.toString(16).padStart(2, \"0\") + this.blue.toString(16).padStart(2, \"0\") + Math.round(this.alpha * 255).toString(16).padStart(2, \"0\")).toUpperCase();\n case \"rgb\":\n return `rgb(${this.red}, ${this.green}, ${this.blue})`;\n case \"css\":\n case \"rgba\":\n return `rgba(${this.red}, ${this.green}, ${this.blue}, ${this.alpha})`;\n case \"hsl\":\n return this.toHSL().toString(\"hsl\");\n case \"hsb\":\n return this.toHSB().toString(\"hsb\");\n default:\n return this.toFormat(format).toString(format);\n }\n }\n toFormat(format) {\n switch (format) {\n case \"rgba\":\n return this;\n case \"hsba\":\n return this.toHSB();\n case \"hsla\":\n return this.toHSL();\n default:\n throw new Error(\"Unsupported color conversion: rgb -> \" + format);\n }\n }\n toHexInt() {\n return this.red << 16 | this.green << 8 | this.blue;\n }\n /**\n * Converts an RGB color value to HSB.\n * Conversion formula adapted from https://en.wikipedia.org/wiki/HSL_and_HSV#From_RGB.\n * @returns An HSBColor object.\n */\n toHSB() {\n const red = this.red / 255;\n const green = this.green / 255;\n const blue = this.blue / 255;\n const min = Math.min(red, green, blue);\n const brightness = Math.max(red, green, blue);\n const chroma = brightness - min;\n const saturation = brightness === 0 ? 0 : chroma / brightness;\n let hue = 0;\n if (chroma !== 0) {\n switch (brightness) {\n case red:\n hue = (green - blue) / chroma + (green < blue ? 6 : 0);\n break;\n case green:\n hue = (blue - red) / chroma + 2;\n break;\n case blue:\n hue = (red - green) / chroma + 4;\n break;\n }\n hue /= 6;\n }\n return new HSBColor(\n toFixedNumber(hue * 360, 2),\n toFixedNumber(saturation * 100, 2),\n toFixedNumber(brightness * 100, 2),\n toFixedNumber(this.alpha, 2)\n );\n }\n /**\n * Converts an RGB color value to HSL.\n * Conversion formula adapted from https://en.wikipedia.org/wiki/HSL_and_HSV#From_RGB.\n * @returns An HSLColor object.\n */\n toHSL() {\n const red = this.red / 255;\n const green = this.green / 255;\n const blue = this.blue / 255;\n const min = Math.min(red, green, blue);\n const max = Math.max(red, green, blue);\n const lightness = (max + min) / 2;\n const chroma = max - min;\n let hue = -1;\n let saturation = -1;\n if (chroma === 0) {\n hue = saturation = 0;\n } else {\n saturation = chroma / (lightness < 0.5 ? max + min : 2 - max - min);\n switch (max) {\n case red:\n hue = (green - blue) / chroma + (green < blue ? 6 : 0);\n break;\n case green:\n hue = (blue - red) / chroma + 2;\n break;\n case blue:\n hue = (red - green) / chroma + 4;\n break;\n }\n hue /= 6;\n }\n return new HSLColor(\n toFixedNumber(hue * 360, 2),\n toFixedNumber(saturation * 100, 2),\n toFixedNumber(lightness * 100, 2),\n toFixedNumber(this.alpha, 2)\n );\n }\n clone() {\n return new _RGBColor(this.red, this.green, this.blue, this.alpha);\n }\n getChannelFormatOptions(channel) {\n switch (channel) {\n case \"red\":\n case \"green\":\n case \"blue\":\n return { style: \"decimal\" };\n case \"alpha\":\n return { style: \"percent\" };\n default:\n throw new Error(\"Unknown color channel: \" + channel);\n }\n }\n formatChannelValue(channel, locale) {\n let options = this.getChannelFormatOptions(channel);\n let value = this.getChannelValue(channel);\n return new Intl.NumberFormat(locale, options).format(value);\n }\n getChannelRange(channel) {\n switch (channel) {\n case \"red\":\n case \"green\":\n case \"blue\":\n return { minValue: 0, maxValue: 255, step: 1, pageSize: 17 };\n case \"alpha\":\n return { minValue: 0, maxValue: 1, step: 0.01, pageSize: 0.1 };\n default:\n throw new Error(\"Unknown color channel: \" + channel);\n }\n }\n toJSON() {\n return { r: this.red, g: this.green, b: this.blue, a: this.alpha };\n }\n getFormat() {\n return \"rgba\";\n }\n getChannels() {\n return _RGBColor.colorChannels;\n }\n};\n__publicField(_RGBColor, \"colorChannels\", [\"red\", \"green\", \"blue\"]);\nvar RGBColor = _RGBColor;\n\n// src/hsl-color.ts\nvar HSL_REGEX = /hsl\\(([-+]?\\d+(?:.\\d+)?\\s*,\\s*[-+]?\\d+(?:.\\d+)?%\\s*,\\s*[-+]?\\d+(?:.\\d+)?%)\\)|hsla\\(([-+]?\\d+(?:.\\d+)?\\s*,\\s*[-+]?\\d+(?:.\\d+)?%\\s*,\\s*[-+]?\\d+(?:.\\d+)?%\\s*,\\s*[-+]?\\d(.\\d+)?)\\)/;\nvar _HSLColor = class _HSLColor extends Color {\n constructor(hue, saturation, lightness, alpha) {\n super();\n this.hue = hue;\n this.saturation = saturation;\n this.lightness = lightness;\n this.alpha = alpha;\n }\n static parse(value) {\n let m;\n if (m = value.match(HSL_REGEX)) {\n const [h, s, l, a] = (m[1] ?? m[2]).split(\",\").map((n) => Number(n.trim().replace(\"%\", \"\")));\n return new _HSLColor(mod(h, 360), clampValue(s, 0, 100), clampValue(l, 0, 100), clampValue(a ?? 1, 0, 1));\n }\n }\n toString(format) {\n switch (format) {\n case \"hex\":\n return this.toRGB().toString(\"hex\");\n case \"hexa\":\n return this.toRGB().toString(\"hexa\");\n case \"hsl\":\n return `hsl(${this.hue}, ${toFixedNumber(this.saturation, 2)}%, ${toFixedNumber(this.lightness, 2)}%)`;\n case \"css\":\n case \"hsla\":\n return `hsla(${this.hue}, ${toFixedNumber(this.saturation, 2)}%, ${toFixedNumber(this.lightness, 2)}%, ${this.alpha})`;\n case \"hsb\":\n return this.toHSB().toString(\"hsb\");\n case \"rgb\":\n return this.toRGB().toString(\"rgb\");\n default:\n return this.toFormat(format).toString(format);\n }\n }\n toFormat(format) {\n switch (format) {\n case \"hsla\":\n return this;\n case \"hsba\":\n return this.toHSB();\n case \"rgba\":\n return this.toRGB();\n default:\n throw new Error(\"Unsupported color conversion: hsl -> \" + format);\n }\n }\n /**\n * Converts a HSL color to HSB.\n * Conversion formula adapted from https://en.wikipedia.org/wiki/HSL_and_HSV#HSL_to_HSV.\n * @returns An HSBColor object.\n */\n toHSB() {\n let saturation = this.saturation / 100;\n let lightness = this.lightness / 100;\n let brightness = lightness + saturation * Math.min(lightness, 1 - lightness);\n saturation = brightness === 0 ? 0 : 2 * (1 - lightness / brightness);\n return new HSBColor(\n toFixedNumber(this.hue, 2),\n toFixedNumber(saturation * 100, 2),\n toFixedNumber(brightness * 100, 2),\n toFixedNumber(this.alpha, 2)\n );\n }\n /**\n * Converts a HSL color to RGB.\n * Conversion formula adapted from https://en.wikipedia.org/wiki/HSL_and_HSV#HSL_to_RGB_alternative.\n * @returns An RGBColor object.\n */\n toRGB() {\n let hue = this.hue;\n let saturation = this.saturation / 100;\n let lightness = this.lightness / 100;\n let a = saturation * Math.min(lightness, 1 - lightness);\n let fn = (n, k = (n + hue / 30) % 12) => lightness - a * Math.max(Math.min(k - 3, 9 - k, 1), -1);\n return new RGBColor(\n Math.round(fn(0) * 255),\n Math.round(fn(8) * 255),\n Math.round(fn(4) * 255),\n toFixedNumber(this.alpha, 2)\n );\n }\n clone() {\n return new _HSLColor(this.hue, this.saturation, this.lightness, this.alpha);\n }\n getChannelFormatOptions(channel) {\n switch (channel) {\n case \"hue\":\n return { style: \"unit\", unit: \"degree\", unitDisplay: \"narrow\" };\n case \"saturation\":\n case \"lightness\":\n case \"alpha\":\n return { style: \"percent\" };\n default:\n throw new Error(\"Unknown color channel: \" + channel);\n }\n }\n formatChannelValue(channel, locale) {\n let options = this.getChannelFormatOptions(channel);\n let value = this.getChannelValue(channel);\n if (channel === \"saturation\" || channel === \"lightness\") {\n value /= 100;\n }\n return new Intl.NumberFormat(locale, options).format(value);\n }\n getChannelRange(channel) {\n switch (channel) {\n case \"hue\":\n return { minValue: 0, maxValue: 360, step: 1, pageSize: 15 };\n case \"saturation\":\n case \"lightness\":\n return { minValue: 0, maxValue: 100, step: 1, pageSize: 10 };\n case \"alpha\":\n return { minValue: 0, maxValue: 1, step: 0.01, pageSize: 0.1 };\n default:\n throw new Error(\"Unknown color channel: \" + channel);\n }\n }\n toJSON() {\n return { h: this.hue, s: this.saturation, l: this.lightness, a: this.alpha };\n }\n getFormat() {\n return \"hsla\";\n }\n getChannels() {\n return _HSLColor.colorChannels;\n }\n};\n__publicField(_HSLColor, \"colorChannels\", [\"hue\", \"saturation\", \"lightness\"]);\nvar HSLColor = _HSLColor;\n\n// src/hsb-color.ts\nvar HSB_REGEX = /hsb\\(([-+]?\\d+(?:.\\d+)?\\s*,\\s*[-+]?\\d+(?:.\\d+)?%\\s*,\\s*[-+]?\\d+(?:.\\d+)?%)\\)|hsba\\(([-+]?\\d+(?:.\\d+)?\\s*,\\s*[-+]?\\d+(?:.\\d+)?%\\s*,\\s*[-+]?\\d+(?:.\\d+)?%\\s*,\\s*[-+]?\\d(.\\d+)?)\\)/;\nvar _HSBColor = class _HSBColor extends Color {\n constructor(hue, saturation, brightness, alpha) {\n super();\n this.hue = hue;\n this.saturation = saturation;\n this.brightness = brightness;\n this.alpha = alpha;\n }\n static parse(value) {\n let m;\n if (m = value.match(HSB_REGEX)) {\n const [h, s, b, a] = (m[1] ?? m[2]).split(\",\").map((n) => Number(n.trim().replace(\"%\", \"\")));\n return new _HSBColor(mod(h, 360), clampValue(s, 0, 100), clampValue(b, 0, 100), clampValue(a ?? 1, 0, 1));\n }\n }\n toString(format) {\n switch (format) {\n case \"css\":\n return this.toHSL().toString(\"css\");\n case \"hex\":\n return this.toRGB().toString(\"hex\");\n case \"hexa\":\n return this.toRGB().toString(\"hexa\");\n case \"hsb\":\n return `hsb(${this.hue}, ${toFixedNumber(this.saturation, 2)}%, ${toFixedNumber(this.brightness, 2)}%)`;\n case \"hsba\":\n return `hsba(${this.hue}, ${toFixedNumber(this.saturation, 2)}%, ${toFixedNumber(this.brightness, 2)}%, ${this.alpha})`;\n case \"hsl\":\n return this.toHSL().toString(\"hsl\");\n case \"rgb\":\n return this.toRGB().toString(\"rgb\");\n default:\n return this.toFormat(format).toString(format);\n }\n }\n toFormat(format) {\n switch (format) {\n case \"hsba\":\n return this;\n case \"hsla\":\n return this.toHSL();\n case \"rgba\":\n return this.toRGB();\n default:\n throw new Error(\"Unsupported color conversion: hsb -> \" + format);\n }\n }\n /**\n * Converts a HSB color to HSL.\n * Conversion formula adapted from https://en.wikipedia.org/wiki/HSL_and_HSV#HSV_to_HSL.\n * @returns An HSLColor object.\n */\n toHSL() {\n let saturation = this.saturation / 100;\n let brightness = this.brightness / 100;\n let lightness = brightness * (1 - saturation / 2);\n saturation = lightness === 0 || lightness === 1 ? 0 : (brightness - lightness) / Math.min(lightness, 1 - lightness);\n return new HSLColor(\n toFixedNumber(this.hue, 2),\n toFixedNumber(saturation * 100, 2),\n toFixedNumber(lightness * 100, 2),\n toFixedNumber(this.alpha, 2)\n );\n }\n /**\n * Converts a HSV color value to RGB.\n * Conversion formula adapted from https://en.wikipedia.org/wiki/HSL_and_HSV#HSV_to_RGB_alternative.\n * @returns An RGBColor object.\n */\n toRGB() {\n let hue = this.hue;\n let saturation = this.saturation / 100;\n let brightness = this.brightness / 100;\n let fn = (n, k = (n + hue / 60) % 6) => brightness - saturation * brightness * Math.max(Math.min(k, 4 - k, 1), 0);\n return new RGBColor(\n Math.round(fn(5) * 255),\n Math.round(fn(3) * 255),\n Math.round(fn(1) * 255),\n toFixedNumber(this.alpha, 2)\n );\n }\n clone() {\n return new _HSBColor(this.hue, this.saturation, this.brightness, this.alpha);\n }\n getChannelFormatOptions(channel) {\n switch (channel) {\n case \"hue\":\n return { style: \"unit\", unit: \"degree\", unitDisplay: \"narrow\" };\n case \"saturation\":\n case \"brightness\":\n case \"alpha\":\n return { style: \"percent\" };\n default:\n throw new Error(\"Unknown color channel: \" + channel);\n }\n }\n formatChannelValue(channel, locale) {\n let options = this.getChannelFormatOptions(channel);\n let value = this.getChannelValue(channel);\n if (channel === \"saturation\" || channel === \"brightness\") {\n value /= 100;\n }\n return new Intl.NumberFormat(locale, options).format(value);\n }\n getChannelRange(channel) {\n switch (channel) {\n case \"hue\":\n return { minValue: 0, maxValue: 360, step: 1, pageSize: 15 };\n case \"saturation\":\n case \"brightness\":\n return { minValue: 0, maxValue: 100, step: 1, pageSize: 10 };\n case \"alpha\":\n return { minValue: 0, maxValue: 1, step: 0.01, pageSize: 0.1 };\n default:\n throw new Error(\"Unknown color channel: \" + channel);\n }\n }\n toJSON() {\n return { h: this.hue, s: this.saturation, b: this.brightness, a: this.alpha };\n }\n getFormat() {\n return \"hsba\";\n }\n getChannels() {\n return _HSBColor.colorChannels;\n }\n};\n__publicField(_HSBColor, \"colorChannels\", [\"hue\", \"saturation\", \"brightness\"]);\nvar HSBColor = _HSBColor;\n\n// src/native-color.ts\nvar nativeColors = \"aliceblue:f0f8ff,antiquewhite:faebd7,aqua:00ffff,aquamarine:7fffd4,azure:f0ffff,beige:f5f5dc,bisque:ffe4c4,black:000000,blanchedalmond:ffebcd,blue:0000ff,blueviolet:8a2be2,brown:a52a2a,burlywood:deb887,cadetblue:5f9ea0,chartreuse:7fff00,chocolate:d2691e,coral:ff7f50,cornflowerblue:6495ed,cornsilk:fff8dc,crimson:dc143c,cyan:00ffff,darkblue:00008b,darkcyan:008b8b,darkgoldenrod:b8860b,darkgray:a9a9a9,darkgreen:006400,darkkhaki:bdb76b,darkmagenta:8b008b,darkolivegreen:556b2f,darkorange:ff8c00,darkorchid:9932cc,darkred:8b0000,darksalmon:e9967a,darkseagreen:8fbc8f,darkslateblue:483d8b,darkslategray:2f4f4f,darkturquoise:00ced1,darkviolet:9400d3,deeppink:ff1493,deepskyblue:00bfff,dimgray:696969,dodgerblue:1e90ff,firebrick:b22222,floralwhite:fffaf0,forestgreen:228b22,fuchsia:ff00ff,gainsboro:dcdcdc,ghostwhite:f8f8ff,gold:ffd700,goldenrod:daa520,gray:808080,green:008000,greenyellow:adff2f,honeydew:f0fff0,hotpink:ff69b4,indianred:cd5c5c,indigo:4b0082,ivory:fffff0,khaki:f0e68c,lavender:e6e6fa,lavenderblush:fff0f5,lawngreen:7cfc00,lemonchiffon:fffacd,lightblue:add8e6,lightcoral:f08080,lightcyan:e0ffff,lightgoldenrodyellow:fafad2,lightgrey:d3d3d3,lightgreen:90ee90,lightpink:ffb6c1,lightsalmon:ffa07a,lightseagreen:20b2aa,lightskyblue:87cefa,lightslategray:778899,lightsteelblue:b0c4de,lightyellow:ffffe0,lime:00ff00,limegreen:32cd32,linen:faf0e6,magenta:ff00ff,maroon:800000,mediumaquamarine:66cdaa,mediumblue:0000cd,mediumorchid:ba55d3,mediumpurple:9370d8,mediumseagreen:3cb371,mediumslateblue:7b68ee,mediumspringgreen:00fa9a,mediumturquoise:48d1cc,mediumvioletred:c71585,midnightblue:191970,mintcream:f5fffa,mistyrose:ffe4e1,moccasin:ffe4b5,navajowhite:ffdead,navy:000080,oldlace:fdf5e6,olive:808000,olivedrab:6b8e23,orange:ffa500,orangered:ff4500,orchid:da70d6,palegoldenrod:eee8aa,palegreen:98fb98,paleturquoise:afeeee,palevioletred:d87093,papayawhip:ffefd5,peachpuff:ffdab9,peru:cd853f,pink:ffc0cb,plum:dda0dd,powderblue:b0e0e6,purple:800080,rebeccapurple:663399,red:ff0000,rosybrown:bc8f8f,royalblue:4169e1,saddlebrown:8b4513,salmon:fa8072,sandybrown:f4a460,seagreen:2e8b57,seashell:fff5ee,sienna:a0522d,silver:c0c0c0,skyblue:87ceeb,slateblue:6a5acd,slategray:708090,snow:fffafa,springgreen:00ff7f,steelblue:4682b4,tan:d2b48c,teal:008080,thistle:d8bfd8,tomato:ff6347,turquoise:40e0d0,violet:ee82ee,wheat:f5deb3,white:ffffff,whitesmoke:f5f5f5,yellow:ffff00,yellowgreen:9acd32\";\nvar makeMap = (str) => {\n const map = /* @__PURE__ */ new Map();\n const list = str.split(\",\");\n for (let i = 0; i < list.length; i++) {\n const [key, val] = list[i].split(\":\");\n map.set(key, `#${val}`);\n if (key.includes(\"gray\")) map.set(key.replace(\"gray\", \"grey\"), `#${val}`);\n }\n return map;\n};\nvar nativeColorMap = makeMap(nativeColors);\n\n// src/parse-color.ts\nvar parseColor = (value) => {\n if (nativeColorMap.has(value)) {\n return parseColor(nativeColorMap.get(value));\n }\n const result = RGBColor.parse(value) || HSBColor.parse(value) || HSLColor.parse(value);\n if (!result) {\n const error = new Error(\"Invalid color value: \" + value);\n Error.captureStackTrace?.(error, parseColor);\n throw error;\n }\n return result;\n};\nvar normalizeColor = (v) => {\n return typeof v === \"string\" ? parseColor(v) : v;\n};\n\nexport { Color, getColorAreaGradient, normalizeColor, parseColor };\n","import { createAnatomy } from '@zag-js/anatomy';\nimport { parseColor, getColorAreaGradient, normalizeColor } from '@zag-js/color-utils';\nimport { raf, getInitialFocus, dispatchInputValueEvent, disableTextSelection, trackPointerMove, trackFormControl, setElementValue, getRelativePoint, queryAll, dataAttr, visuallyHiddenStyle, getEventStep, getEventKey, isLeftClick, isModifierKey, getEventPoint, query } from '@zag-js/dom-query';\nimport { getPlacement, getPlacementStyles } from '@zag-js/popper';\nimport { createGuards, createMachine } from '@zag-js/core';\nimport { trackDismissableElement } from '@zag-js/dismissable';\nimport { tryCatch, createSplitProps } from '@zag-js/utils';\nimport { createProps } from '@zag-js/types';\n\n// src/color-picker.anatomy.ts\nvar anatomy = createAnatomy(\"color-picker\", [\n \"root\",\n \"label\",\n \"control\",\n \"trigger\",\n \"positioner\",\n \"content\",\n \"area\",\n \"areaThumb\",\n \"valueText\",\n \"areaBackground\",\n \"channelSlider\",\n \"channelSliderLabel\",\n \"channelSliderTrack\",\n \"channelSliderThumb\",\n \"channelSliderValueText\",\n \"channelInput\",\n \"transparencyGrid\",\n \"swatchGroup\",\n \"swatchTrigger\",\n \"swatchIndicator\",\n \"swatch\",\n \"eyeDropperTrigger\",\n \"formatTrigger\",\n \"formatSelect\"\n]);\nvar parts = anatomy.build();\nvar getRootId = (ctx) => ctx.ids?.root ?? `color-picker:${ctx.id}`;\nvar getLabelId = (ctx) => ctx.ids?.label ?? `color-picker:${ctx.id}:label`;\nvar getHiddenInputId = (ctx) => ctx.ids?.hiddenInput ?? `color-picker:${ctx.id}:hidden-input`;\nvar getControlId = (ctx) => ctx.ids?.control ?? `color-picker:${ctx.id}:control`;\nvar getTriggerId = (ctx) => ctx.ids?.trigger ?? `color-picker:${ctx.id}:trigger`;\nvar getContentId = (ctx) => ctx.ids?.content ?? `color-picker:${ctx.id}:content`;\nvar getPositionerId = (ctx) => ctx.ids?.positioner ?? `color-picker:${ctx.id}:positioner`;\nvar getFormatSelectId = (ctx) => ctx.ids?.formatSelect ?? `color-picker:${ctx.id}:format-select`;\nvar getAreaId = (ctx) => ctx.ids?.area ?? `color-picker:${ctx.id}:area`;\nvar getAreaGradientId = (ctx) => ctx.ids?.areaGradient ?? `color-picker:${ctx.id}:area-gradient`;\nvar getAreaThumbId = (ctx) => ctx.ids?.areaThumb ?? `color-picker:${ctx.id}:area-thumb`;\nvar getChannelSliderTrackId = (ctx, channel) => ctx.ids?.channelSliderTrack?.(channel) ?? `color-picker:${ctx.id}:slider-track:${channel}`;\nvar getChannelSliderThumbId = (ctx, channel) => ctx.ids?.channelSliderThumb?.(channel) ?? `color-picker:${ctx.id}:slider-thumb:${channel}`;\nvar getContentEl = (ctx) => ctx.getById(getContentId(ctx));\nvar getAreaThumbEl = (ctx) => ctx.getById(getAreaThumbId(ctx));\nvar getChannelSliderThumbEl = (ctx, channel) => ctx.getById(getChannelSliderThumbId(ctx, channel));\nvar getFormatSelectEl = (ctx) => ctx.getById(getFormatSelectId(ctx));\nvar getHiddenInputEl = (ctx) => ctx.getById(getHiddenInputId(ctx));\nvar getAreaEl = (ctx) => ctx.getById(getAreaId(ctx));\nvar getAreaValueFromPoint = (ctx, point) => {\n const areaEl = getAreaEl(ctx);\n if (!areaEl) return;\n const { percent } = getRelativePoint(point, areaEl);\n return percent;\n};\nvar getControlEl = (ctx) => ctx.getById(getControlId(ctx));\nvar getTriggerEl = (ctx) => ctx.getById(getTriggerId(ctx));\nvar getPositionerEl = (ctx) => ctx.getById(getPositionerId(ctx));\nvar getChannelSliderTrackEl = (ctx, channel) => ctx.getById(getChannelSliderTrackId(ctx, channel));\nvar getChannelSliderValueFromPoint = (ctx, point, channel) => {\n const trackEl = getChannelSliderTrackEl(ctx, channel);\n if (!trackEl) return;\n const { percent } = getRelativePoint(point, trackEl);\n return percent;\n};\nvar getChannelInputEls = (ctx) => {\n return [\n ...queryAll(getContentEl(ctx), \"input[data-channel]\"),\n ...queryAll(getControlEl(ctx), \"input[data-channel]\")\n ];\n};\nfunction getChannelDisplayColor(color, channel) {\n switch (channel) {\n case \"hue\":\n return parseColor(`hsl(${color.getChannelValue(\"hue\")}, 100%, 50%)`);\n case \"lightness\":\n case \"brightness\":\n case \"saturation\":\n case \"red\":\n case \"green\":\n case \"blue\":\n return color.withChannelValue(\"alpha\", 1);\n case \"alpha\": {\n return color;\n }\n default:\n throw new Error(\"Unknown color channel: \" + channel);\n }\n}\nfunction getChannelValue(color, channel) {\n if (channel == null) return \"\";\n if (channel === \"hex\") {\n return color.toString(\"hex\");\n }\n if (channel === \"css\") {\n return color.toString(\"css\");\n }\n if (channel in color) {\n return color.getChannelValue(channel).toString();\n }\n const isHSL = color.getFormat() === \"hsla\";\n switch (channel) {\n case \"hue\":\n return isHSL ? color.toFormat(\"hsla\").getChannelValue(\"hue\").toString() : color.toFormat(\"hsba\").getChannelValue(\"hue\").toString();\n case \"saturation\":\n return isHSL ? color.toFormat(\"hsla\").getChannelValue(\"saturation\").toString() : color.toFormat(\"hsba\").getChannelValue(\"saturation\").toString();\n case \"lightness\":\n return color.toFormat(\"hsla\").getChannelValue(\"lightness\").toString();\n case \"brightness\":\n return color.toFormat(\"hsba\").getChannelValue(\"brightness\").toString();\n case \"red\":\n case \"green\":\n case \"blue\":\n return color.toFormat(\"rgba\").getChannelValue(channel).toString();\n default:\n return color.getChannelValue(channel).toString();\n }\n}\nfunction getChannelRange(color, channel) {\n switch (channel) {\n case \"hex\":\n const minColor = parseColor(\"#000000\");\n const maxColor = parseColor(\"#FFFFFF\");\n return {\n minValue: minColor.toHexInt(),\n maxValue: maxColor.toHexInt(),\n pageSize: 10,\n step: 1\n };\n case \"css\":\n return void 0;\n case \"hue\":\n case \"saturation\":\n case \"lightness\":\n return color.toFormat(\"hsla\").getChannelRange(channel);\n case \"brightness\":\n return color.toFormat(\"hsba\").getChannelRange(channel);\n case \"red\":\n case \"green\":\n case \"blue\":\n return color.toFormat(\"rgba\").getChannelRange(channel);\n default:\n return color.getChannelRange(channel);\n }\n}\n\n// src/utils/get-slider-background.ts\nfunction getSliderBackgroundDirection(orientation, dir) {\n if (orientation === \"vertical\") {\n return \"top\";\n } else if (dir === \"ltr\") {\n return \"right\";\n } else {\n return \"left\";\n }\n}\nvar getSliderBackground = (props2) => {\n const { channel, value, dir, orientation } = props2;\n const bgDirection = getSliderBackgroundDirection(orientation, dir);\n const { minValue, maxValue } = value.getChannelRange(channel);\n switch (channel) {\n case \"hue\":\n return `linear-gradient(to ${bgDirection}, rgb(255, 0, 0) 0%, rgb(255, 255, 0) 17%, rgb(0, 255, 0) 33%, rgb(0, 255, 255) 50%, rgb(0, 0, 255) 67%, rgb(255, 0, 255) 83%, rgb(255, 0, 0) 100%)`;\n case \"lightness\": {\n let start = value.withChannelValue(channel, minValue).toString(\"css\");\n let middle = value.withChannelValue(channel, (maxValue - minValue) / 2).toString(\"css\");\n let end = value.withChannelValue(channel, maxValue).toString(\"css\");\n return `linear-gradient(to ${bgDirection}, ${start}, ${middle}, ${end})`;\n }\n case \"saturation\":\n case \"brightness\":\n case \"red\":\n case \"green\":\n case \"blue\":\n case \"alpha\": {\n let start = value.withChannelValue(channel, minValue).toString(\"css\");\n let end = value.withChannelValue(channel, maxValue).toString(\"css\");\n return `linear-gradient(to ${bgDirection}, ${start}, ${end})`;\n }\n default:\n throw new Error(\"Unknown color channel: \" + channel);\n }\n};\n\n// src/color-picker.connect.ts\nfunction connect(service, normalize) {\n const { context, send, prop, computed, state, scope } = service;\n const value = context.get(\"value\");\n const format = context.get(\"format\");\n const areaValue = computed(\"areaValue\");\n const valueAsString = computed(\"valueAsString\");\n const disabled = computed(\"disabled\");\n const interactive = computed(\"interactive\");\n const dragging = state.hasTag(\"dragging\");\n const open = state.hasTag(\"open\");\n const focused = state.hasTag(\"focused\");\n const getAreaChannels = (props2) => {\n const channels = areaValue.getChannels();\n return {\n xChannel: props2.xChannel ?? channels[1],\n yChannel: props2.yChannel ?? channels[2]\n };\n };\n const currentPlacement = context.get(\"currentPlacement\");\n const popperStyles = getPlacementStyles({\n ...prop(\"positioning\"),\n placement: currentPlacement\n });\n function getSwatchTriggerState(props2) {\n const color = normalizeColor(props2.value).toFormat(context.get(\"format\"));\n return {\n value: color,\n valueAsString: color.toString(\"hex\"),\n checked: color.isEqual(value),\n disabled: props2.disabled || !interactive\n };\n }\n return {\n dragging,\n open,\n valueAsString,\n value,\n inline: !!prop(\"inline\"),\n setOpen(nextOpen) {\n if (prop(\"inline\")) return;\n const open2 = state.hasTag(\"open\");\n if (open2 === nextOpen) return;\n send({ type: nextOpen ? \"OPEN\" : \"CLOSE\" });\n },\n setValue(value2) {\n send({ type: \"VALUE.SET\", value: normalizeColor(value2), src: \"set-color\" });\n },\n getChannelValue(channel) {\n return getChannelValue(value, channel);\n },\n getChannelValueText(channel, locale) {\n return value.formatChannelValue(channel, locale);\n },\n setChannelValue(channel, channelValue) {\n const color = value.withChannelValue(channel, channelValue);\n send({ type: \"VALUE.SET\", value: color, src: \"set-channel\" });\n },\n format: context.get(\"format\"),\n setFormat(format2) {\n const formatValue = value.toFormat(format2);\n send({ type: \"VALUE.SET\", value: formatValue, src: \"set-format\" });\n },\n alpha: value.getChannelValue(\"alpha\"),\n setAlpha(alphaValue) {\n const color = value.withChannelValue(\"alpha\", alphaValue);\n send({ type: \"VALUE.SET\", value: color, src: \"set-alpha\" });\n },\n getRootProps() {\n return normalize.element({\n ...parts.root.attrs,\n dir: prop(\"dir\"),\n id: getRootId(scope),\n \"data-disabled\": dataAttr(disabled),\n \"data-readonly\": dataAttr(prop(\"readOnly\")),\n \"data-invalid\": dataAttr(prop(\"invalid\")),\n style: {\n \"--value\": value.toString(\"css\")\n }\n });\n },\n getLabelProps() {\n return normalize.element({\n ...parts.label.attrs,\n dir: prop(\"dir\"),\n id: getLabelId(scope),\n htmlFor: getHiddenInputId(scope),\n \"data-disabled\": dataAttr(disabled),\n \"data-readonly\": dataAttr(prop(\"readOnly\")),\n \"data-invalid\": dataAttr(prop(\"invalid\")),\n \"data-focus\": dataAttr(focused),\n onClick(event) {\n event.preventDefault();\n const inputEl = query(getControlEl(scope), \"[data-channel=hex]\");\n inputEl?.focus({ preventScroll: true });\n }\n });\n },\n getControlProps() {\n return normalize.element({\n ...parts.control.attrs,\n id: getControlId(scope),\n dir: prop(\"dir\"),\n \"data-disabled\": dataAttr(disabled),\n \"data-readonly\": dataAttr(prop(\"readOnly\")),\n \"data-invalid\": dataAttr(prop(\"invalid\")),\n \"data-state\": open ? \"open\" : \"closed\",\n \"data-focus\": dataAttr(focused)\n });\n },\n getTriggerProps() {\n return normalize.button({\n ...parts.trigger.attrs,\n id: getTriggerId(scope),\n dir: prop(\"dir\"),\n disabled,\n \"aria-label\": `select color. current color is ${valueAsString}`,\n \"aria-controls\": getContentId(scope),\n \"aria-labelledby\": getLabelId(scope),\n \"data-disabled\": dataAttr(disabled),\n \"data-readonly\": dataAttr(prop(\"readOnly\")),\n \"data-invalid\": dataAttr(prop(\"invalid\")),\n \"data-placement\": currentPlacement,\n \"aria-expanded\": dataAttr(open),\n \"data-state\": open ? \"open\" : \"closed\",\n \"data-focus\": dataAttr(focused),\n type: \"button\",\n onClick() {\n if (!interactive) return;\n send({ type: \"TRIGGER.CLICK\" });\n },\n onBlur() {\n if (!interactive) return;\n send({ type: \"TRIGGER.BLUR\" });\n },\n style: {\n position: \"relative\"\n }\n });\n },\n getPositionerProps() {\n return normalize.element({\n ...parts.positioner.attrs,\n id: getPositionerId(scope),\n dir: prop(\"dir\"),\n style: popperStyles.floating\n });\n },\n getContentProps() {\n return normalize.element({\n ...parts.content.attrs,\n id: getContentId(scope),\n dir: prop(\"dir\"),\n tabIndex: -1,\n \"data-placement\": currentPlacement,\n \"data-state\": open ? \"open\" : \"closed\",\n hidden: !open\n });\n },\n getValueTextProps() {\n return normalize.element({\n ...parts.valueText.attrs,\n dir: prop(\"dir\"),\n \"data-disabled\": dataAttr(disabled),\n \"data-focus\": dataAttr(focused)\n });\n },\n getAreaProps(props2 = {}) {\n const { xChannel, yChannel } = getAreaChannels(props2);\n const { areaStyles } = getColorAreaGradient(areaValue, {\n xChannel,\n yChannel,\n dir: prop(\"dir\")\n });\n return normalize.element({\n ...parts.area.attrs,\n id: getAreaId(scope),\n role: \"group\",\n \"data-invalid\": dataAttr(prop(\"invalid\")),\n \"data-disabled\": dataAttr(disabled),\n \"data-readonly\": dataAttr(prop(\"readOnly\")),\n onPointerDown(event) {\n if (!interactive) return;\n if (!isLeftClick(event)) return;\n if (isModifierKey(event)) return;\n const point = getEventPoint(event);\n const channel = { xChannel, yChannel };\n send({ type: \"AREA.POINTER_DOWN\", point, channel, id: \"area\" });\n event.preventDefault();\n },\n style: {\n position: \"relative\",\n touchAction: \"none\",\n forcedColorAdjust: \"none\",\n ...areaStyles\n }\n });\n },\n getAreaBackgroundProps(props2 = {}) {\n const { xChannel, yChannel } = getAreaChannels(props2);\n const { areaGradientStyles } = getColorAreaGradient(areaValue, {\n xChannel,\n yChannel,\n dir: prop(\"dir\")\n });\n return normalize.element({\n ...parts.areaBackground.attrs,\n id: getAreaGradientId(scope),\n \"data-invalid\": dataAttr(prop(\"invalid\")),\n \"data-disabled\": dataAttr(disabled),\n \"data-readonly\": dataAttr(prop(\"readOnly\")),\n style: {\n position: \"relative\",\n touchAction: \"none\",\n forcedColorAdjust: \"none\",\n ...areaGradientStyles\n }\n });\n },\n getAreaThumbProps(props2 = {}) {\n const { xChannel, yChannel } = getAreaChannels(props2);\n const channel = { xChannel, yChannel };\n const xPercent = areaValue.getChannelValuePercent(xChannel);\n const yPercent = 1 - areaValue.getChannelValuePercent(yChannel);\n const xValue = areaValue.getChannelValue(xChannel);\n const yValue = areaValue.getChannelValue(yChannel);\n const color = areaValue.withChannelValue(\"alpha\", 1).toString(\"css\");\n return normalize.element({\n ...parts.areaThumb.attrs,\n id: getAreaThumbId(scope),\n dir: prop(\"dir\"),\n tabIndex: disabled ? void 0 : 0,\n \"data-disabled\": dataAttr(disabled),\n \"data-invalid\": dataAttr(prop(\"invalid\")),\n \"data-readonly\": dataAttr(prop(\"readOnly\")),\n role: \"slider\",\n \"aria-valuemin\": 0,\n \"aria-valuemax\": 100,\n \"aria-valuenow\": xValue,\n \"aria-label\": `${xChannel} and ${yChannel}`,\n \"aria-roledescription\": \"2d slider\",\n \"aria-valuetext\": `${xChannel} ${xValue}, ${yChannel} ${yValue}`,\n style: {\n position: \"absolute\",\n left: `${xPercent * 100}%`,\n top: `${yPercent * 100}%`,\n transform: \"translate(-50%, -50%)\",\n touchAction: \"none\",\n forcedColorAdjust: \"none\",\n \"--color\": color,\n background: color\n },\n onFocus() {\n if (!interactive) return;\n send({ type: \"AREA.FOCUS\", id: \"area\", channel });\n },\n onKeyDown(event) {\n if (event.defaultPrevented) return;\n if (!interactive) return;\n const step = getEventStep(event);\n const keyMap = {\n ArrowUp() {\n send({ type: \"AREA.ARROW_UP\", channel, step });\n },\n ArrowDown() {\n send({ type: \"AREA.ARROW_DOWN\", channel, step });\n },\n ArrowLeft() {\n send({ type: \"AREA.ARROW_LEFT\", channel, step });\n },\n ArrowRight() {\n send({ type: \"AREA.ARROW_RIGHT\", channel, step });\n },\n PageUp() {\n send({ type: \"AREA.PAGE_UP\", channel, step });\n },\n PageDown() {\n send({ type: \"AREA.PAGE_DOWN\", channel, step });\n },\n Escape(event2) {\n event2.stopPropagation();\n }\n };\n const exec = keyMap[getEventKey(event, {\n dir: prop(\"dir\")\n })];\n if (exec) {\n exec(event);\n event.preventDefault();\n }\n }\n });\n },\n getTransparencyGridProps(props2 = {}) {\n const { size = \"12px\" } = props2;\n return normalize.element({\n ...parts.transparencyGrid.attrs,\n style: {\n \"--size\": size,\n width: \"100%\",\n height: \"100%\",\n position: \"absolute\",\n backgroundColor: \"#fff\",\n backgroundImage: \"conic-gradient(#eeeeee 0 25%, transparent 0 50%, #eeeeee 0 75%, transparent 0)\",\n backgroundSize: \"var(--size) var(--size)\",\n inset: \"0px\",\n zIndex: \"auto\",\n pointerEvents: \"none\"\n }\n });\n },\n getChannelSliderProps(props2) {\n const { orientation = \"horizontal\", channel, format: format2 } = props2;\n return normalize.element({\n ...parts.channelSlider.attrs,\n \"data-channel\": channel,\n \"data-orientation\": orientation,\n role: \"presentation\",\n onPointerDown(event) {\n if (!interactive) return;\n if (!isLeftClick(event)) return;\n if (isModifierKey(event)) return;\n const point = getEventPoint(event);\n send({ type: \"CHANNEL_SLIDER.POINTER_DOWN\", channel, format: format2, point, id: channel, orientation });\n event.preventDefault();\n },\n style: {\n position: \"relative\",\n touchAction: \"none\"\n }\n });\n },\n getChannelSliderTrackProps(props2) {\n const { orientation = \"horizontal\", channel, format: format2 } = props2;\n const normalizedValue = format2 ? value.toFormat(format2) : areaValue;\n return normalize.element({\n ...parts.channelSliderTrack.attrs,\n id: getChannelSliderTrackId(scope, channel),\n role: \"group\",\n \"data-channel\": channel,\n \"data-orientation\": orientation,\n style: {\n position: \"relative\",\n forcedColorAdjust: \"none\",\n backgroundImage: getSliderBackground({\n orientation,\n channel,\n dir: prop(\"dir\"),\n value: normalizedValue\n })\n }\n });\n },\n getChannelSliderLabelProps(props2) {\n const { channel } = props2;\n return normalize.element({\n ...parts.channelSliderLabel.attrs,\n \"data-channel\": channel,\n onClick(event) {\n if (!interactive) return;\n event.preventDefault();\n const thumbId = getChannelSliderThumbId(scope, channel);\n scope.getById(thumbId)?.focus({ preventScroll: true });\n },\n style: {\n userSelect: \"none\",\n WebkitUserSelect: \"none\"\n }\n });\n },\n getChannelSliderValueTextProps(props2) {\n return normalize.element({\n ...parts.channelSliderValueText.attrs,\n \"data-channel\": props2.channel\n });\n },\n getChannelSliderThumbProps(props2) {\n const { orientation = \"horizontal\", channel, format: format2 } = props2;\n const normalizedValue = format2 ? value.toFormat(format2) : areaValue;\n const channelRange = normalizedValue.getChannelRange(channel);\n const channelValue = normalizedValue.getChannelValue(channel);\n const offset = (channelValue - channelRange.minValue) / (channelRange.maxValue - channelRange.minValue);\n const placementStyles = orientation === \"horizontal\" ? { left: `${offset * 100}%`, top: \"50%\" } : { top: `${offset * 100}%`, left: \"50%\" };\n return normalize.element({\n ...parts.channelSliderThumb.attrs,\n id: getChannelSliderThumbId(scope, channel),\n role: \"slider\",\n \"aria-label\": channel,\n tabIndex: disabled ? void 0 : 0,\n \"data-channel\": channel,\n \"data-disabled\": dataAttr(disabled),\n \"data-orientation\": orientation,\n \"aria-disabled\": dataAttr(disabled),\n \"aria-orientation\": orientation,\n \"aria-valuemax\": channelRange.maxValue,\n \"aria-valuemin\": channelRange.minValue,\n \"aria-valuenow\": channelValue,\n \"aria-valuetext\": `${channel} ${channelValue}`,\n style: {\n forcedColorAdjust: \"none\",\n position: \"absolute\",\n background: getChannelDisplayColor(areaValue, channel).toString(\"css\"),\n ...placementStyles\n },\n onFocus() {\n if (!interactive) return;\n send({ type: \"CHANNEL_SLIDER.FOCUS\", channel });\n },\n onKeyDown(event) {\n if (event.defaultPrevented) return;\n if (!interactive) return;\n const step = getEventStep(event) * channelRange.step;\n const keyMap = {\n ArrowUp() {\n send({ type: \"CHANNEL_SLIDER.ARROW_UP\", channel, step });\n },\n ArrowDown() {\n send({ type: \"CHANNEL_SLIDER.ARROW_DOWN\", channel, step });\n },\n ArrowLeft() {\n send({ type: \"CHANNEL_SLIDER.ARROW_LEFT\", channel, step });\n },\n ArrowRight() {\n send({ type: \"CHANNEL_SLIDER.ARROW_RIGHT\", channel, step });\n },\n PageUp() {\n send({ type: \"CHANNEL_SLIDER.PAGE_UP\", channel });\n },\n PageDown() {\n send({ type: \"CHANNEL_SLIDER.PAGE_DOWN\", channel });\n },\n Home() {\n send({ type: \"CHANNEL_SLIDER.HOME\", channel });\n },\n End() {\n send({ type: \"CHANNEL_SLIDER.END\", channel });\n },\n Escape(event2) {\n event2.stopPropagation();\n }\n };\n const exec = keyMap[getEventKey(event, {\n dir: prop(\"dir\")\n })];\n if (exec) {\n exec(event);\n event.preventDefault();\n }\n }\n });\n },\n getChannelInputProps(props2) {\n const { channel } = props2;\n const isTextField = channel === \"hex\" || channel === \"css\";\n const channelRange = getChannelRange(value, channel);\n return normalize.input({\n ...parts.channelInput.attrs,\n dir: prop(\"dir\"),\n type: isTextField ? \"text\" : \"number\",\n \"data-channel\": channel,\n \"aria-label\": channel,\n spellCheck: false,\n autoComplete: \"off\",\n disabled,\n \"data-disabled\": dataAttr(disabled),\n \"data-invalid\": dataAttr(prop(\"invalid\")),\n \"data-readonly\": dataAttr(prop(\"readOnly\")),\n readOnly: prop(\"readOnly\"),\n defaultValue: getChannelValue(value, channel),\n min: channelRange?.minValue,\n max: channelRange?.maxValue,\n step: channelRange?.step,\n onBeforeInput(event) {\n if (isTextField || !interactive) return;\n const value2 = event.currentTarget.value;\n if (value2.match(/[^0-9.]/g)) {\n event.preventDefault();\n }\n },\n onFocus(event) {\n if (!interactive) return;\n send({ type: \"CHANNEL_INPUT.FOCUS\", channel });\n event.currentTarget.select();\n },\n onBlur(event) {\n if (!interactive) return;\n const value2 = isTextField ? event.currentTarget.value : event.currentTarget.valueAsNumber;\n send({ type: \"CHANNEL_INPUT.BLUR\", channel, value: value2, isTextField });\n },\n onKeyDown(event) {\n if (event.defaultPrevented) return;\n if (!interactive) return;\n if (event.key === \"Enter\") {\n const value2 = isTextField ? event.currentTarget.value : event.currentTarget.valueAsNumber;\n send({ type: \"CHANNEL_INPUT.CHANGE\", channel, value: value2, isTextField });\n event.preventDefault();\n }\n },\n style: {\n appearance: \"none\",\n WebkitAppearance: \"none\",\n MozAppearance: \"textfield\"\n }\n });\n },\n getHiddenInputProps() {\n return normalize.input({\n type: \"text\",\n disabled,\n name: prop(\"name\"),\n tabIndex: -1,\n readOnly: prop(\"readOnly\"),\n required: prop(\"required\"),\n id: getHiddenInputId(scope),\n style: visuallyHiddenStyle,\n defaultValue: valueAsString\n });\n },\n getEyeDropperTriggerProps() {\n return normalize.button({\n ...parts.eyeDropperTrigger.attrs,\n type: \"button\",\n dir: prop(\"dir\"),\n disabled,\n \"data-disabled\": dataAttr(disabled),\n \"data-invalid\": dataAttr(prop(\"invalid\")),\n \"data-readonly\": dataAttr(prop(\"readOnly\")),\n \"aria-label\": \"Pick a color from the screen\",\n onClick() {\n if (!interactive) return;\n send({ type: \"EYEDROPPER.CLICK\" });\n }\n });\n },\n getSwatchGroupProps() {\n return normalize.element({\n ...parts.swatchGroup.attrs,\n role: \"group\"\n });\n },\n getSwatchTriggerState,\n getSwatchTriggerProps(props2) {\n const swatchState = getSwatchTriggerState(props2);\n return normalize.button({\n ...parts.swatchTrigger.attrs,\n disabled: swatchState.disabled,\n dir: prop(\"dir\"),\n type: \"button\",\n \"aria-label\": `select ${swatchState.valueAsString} as the color`,\n \"data-state\": swatchState.checked ? \"checked\" : \"unchecked\",\n \"data-value\": swatchState.valueAsString,\n \"data-disabled\": dataAttr(swatchState.disabled),\n onClick() {\n if (swatchState.disabled) return;\n send({ type: \"SWATCH_TRIGGER.CLICK\", value: swatchState.value });\n },\n style: {\n \"--color\": swatchState.valueAsString,\n position: \"relative\"\n }\n });\n },\n getSwatchIndicatorProps(props2) {\n const swatchState = getSwatchTriggerState(props2);\n return normalize.element({\n ...parts.swatchIndicator.attrs,\n dir: prop(\"dir\"),\n hidden: !swatchState.checked\n });\n },\n getSwatchProps(props2) {\n const { respectAlpha = true } = props2;\n const swatchState = getSwatchTriggerState(props2);\n const color = swatchState.value.toString(respectAlpha ? \"css\" : \"hex\");\n return normalize.element({\n ...parts.swatch.attrs,\n dir: prop(\"dir\"),\n \"data-state\": swatchState.checked ? \"checked\" : \"unchecked\",\n \"data-value\": swatchState.valueAsString,\n style: {\n \"--color\": color,\n position: \"relative\",\n background: color\n }\n });\n },\n getFormatTriggerProps() {\n return normalize.button({\n ...parts.formatTrigger.attrs,\n dir: prop(\"dir\"),\n type: \"button\",\n \"aria-label\": `change color format to ${getNextFormat(format)}`,\n onClick(event) {\n if (event.currentTarget.disabled) return;\n const nextFormat = getNextFormat(format);\n send({ type: \"FORMAT.SET\", format: nextFormat, src: \"format-trigger\" });\n }\n });\n },\n getFormatSelectProps() {\n return normalize.select({\n ...parts.formatSelect.attrs,\n \"aria-label\": \"change color format\",\n dir: prop(\"dir\"),\n defaultValue: prop(\"format\"),\n disabled,\n onChange(event) {\n const format2 = assertFormat(event.currentTarget.value);\n send({ type: \"FORMAT.SET\", format: format2, src: \"format-select\" });\n }\n });\n }\n };\n}\nvar formats = [\"hsba\", \"hsla\", \"rgba\"];\nvar formatRegex = new RegExp(`^(${formats.join(\"|\")})$`);\nfunction getNextFormat(format) {\n const index = formats.indexOf(format);\n return formats[index + 1] ?? formats[0];\n}\nfunction assertFormat(format) {\n if (formatRegex.test(format)) return format;\n throw new Error(`Unsupported color format: ${format}`);\n}\nvar parse = (colorString) => {\n return parseColor(colorString);\n};\n\n// src/utils/is-valid-hex.ts\nvar HEX_REGEX = /^[0-9a-fA-F]{3,8}$/;\nfunction isValidHex(value) {\n return HEX_REGEX.test(value);\n}\nfunction prefixHex(value) {\n if (value.startsWith(\"#\")) return value;\n if (isValidHex(value)) return `#${value}`;\n return value;\n}\n\n// src/color-picker.machine.ts\nvar { and } = createGuards();\nvar machine = createMachine({\n props({ props: props2 }) {\n return {\n dir: \"ltr\",\n defaultValue: parse(\"#000000\"),\n defaultFormat: \"rgba\",\n openAutoFocus: true,\n ...props2,\n positioning: {\n placement: \"bottom\",\n ...props2.positioning\n }\n };\n },\n initialState({ prop }) {\n const open = prop(\"open\") || prop(\"defaultOpen\") || prop(\"inline\");\n return open ? \"open\" : \"idle\";\n },\n context({ prop, bindable, getContext }) {\n return {\n value: bindable(() => ({\n defaultValue: prop(\"defaultValue\"),\n value: prop(\"value\"),\n isEqual(a, b) {\n return a.toString(\"css\") === b?.toString(\"css\");\n },\n hash(a) {\n return a.toString(\"css\");\n },\n onChange(value) {\n const ctx = getContext();\n const valueAsString = value.toString(ctx.get(\"format\"));\n prop(\"onValueChange\")?.({ value, valueAsString });\n }\n })),\n format: bindable(() => ({\n defaultValue: prop(\"defaultFormat\"),\n value: prop(\"format\"),\n onChange(format) {\n prop(\"onFormatChange\")?.({ format });\n }\n })),\n activeId: bindable(() => ({ defaultValue: null })),\n activeChannel: bindable(() => ({ defaultValue: null })),\n activeOrientation: bindable(() => ({ defaultValue: null })),\n fieldsetDisabled: bindable(() => ({ defaultValue: false })),\n restoreFocus: bindable(() => ({ defaultValue: true })),\n currentPlacement: bindable(() => ({\n defaultValue: void 0\n }))\n };\n },\n computed: {\n rtl: ({ prop }) => prop(\"dir\") === \"rtl\",\n disabled: ({ prop, context }) => !!prop(\"disabled\") || context.get(\"fieldsetDisabled\"),\n interactive: ({ prop }) => !(prop(\"disabled\") || prop(\"readOnly\")),\n valueAsString: ({ context }) => context.get(\"value\").toString(context.get(\"format\")),\n areaValue: ({ context }) => {\n const format = context.get(\"format\").startsWith(\"hsl\") ? \"hsla\" : \"hsba\";\n return context.get(\"value\").toFormat(format);\n }\n },\n effects: [\"trackFormControl\"],\n watch({ prop, context, action, track }) {\n track([() => context.hash(\"value\")], () => {\n action([\"syncInputElements\", \"dispatchChangeEvent\"]);\n });\n track([() => context.get(\"format\")], () => {\n action([\"syncFormatSelectElement\"]);\n });\n track([() => prop(\"open\")], () => {\n action([\"toggleVisibility\"]);\n });\n },\n on: {\n \"VALUE.SET\": {\n actions: [\"setValue\"]\n },\n \"FORMAT.SET\": {\n actions: [\"setFormat\"]\n },\n \"CHANNEL_INPUT.CHANGE\": {\n actions: [\"setChannelColorFromInput\"]\n },\n \"EYEDROPPER.CLICK\": {\n actions: [\"openEyeDropper\"]\n },\n \"SWATCH_TRIGGER.CLICK\": {\n actions: [\"setValue\"]\n }\n },\n states: {\n idle: {\n tags: [\"closed\"],\n on: {\n \"CONTROLLED.OPEN\": {\n target: \"open\",\n actions: [\"setInitialFocus\"]\n },\n OPEN: [\n {\n guard: \"isOpenControlled\",\n actions: [\"invokeOnOpen\"]\n },\n {\n target: \"open\",\n actions: [\"invokeOnOpen\", \"setInitialFocus\"]\n }\n ],\n \"TRIGGER.CLICK\": [\n {\n guard: \"isOpenControlled\",\n actions: [\"invokeOnOpen\"]\n },\n {\n target: \"open\",\n actions: [\"invokeOnOpen\", \"setInitialFocus\"]\n }\n ],\n \"CHANNEL_INPUT.FOCUS\": {\n target: \"focused\",\n actions: [\"setActiveChannel\"]\n }\n }\n },\n focused: {\n tags: [\"closed\", \"focused\"],\n on: {\n \"CONTROLLED.OPEN\": {\n target: \"open\",\n actions: [\"setInitialFocus\"]\n },\n OPEN: [\n {\n guard: \"isOpenControlled\",\n actions: [\"invokeOnOpen\"]\n },\n {\n target: \"open\",\n actions: [\"invokeOnOpen\", \"setInitialFocus\"]\n }\n ],\n \"TRIGGER.CLICK\": [\n {\n guard: \"isOpenControlled\",\n actions: [\"invokeOnOpen\"]\n },\n {\n target: \"open\",\n actions: [\"invokeOnOpen\", \"setInitialFocus\"]\n }\n ],\n \"CHANNEL_INPUT.FOCUS\": {\n actions: [\"setActiveChannel\"]\n },\n \"CHANNEL_INPUT.BLUR\": {\n target: \"idle\",\n actions: [\"setChannelColorFromInput\"]\n },\n \"TRIGGER.BLUR\": {\n target: \"idle\"\n }\n }\n },\n open: {\n tags: [\"open\"],\n effects: [\"trackPositioning\", \"trackDismissableElement\"],\n on: {\n \"CONTROLLED.CLOSE\": [\n {\n guard: \"shouldRestoreFocus\",\n target: \"focused\",\n actions: [\"setReturnFocus\"]\n },\n {\n target: \"idle\"\n }\n ],\n \"TRIGGER.CLICK\": [\n {\n guard: \"isOpenControlled\",\n actions: [\"invokeOnClose\"]\n },\n {\n target: \"idle\",\n actions: [\"invokeOnClose\"]\n }\n ],\n \"AREA.POINTER_DOWN\": {\n target: \"open:dragging\",\n actions: [\"setActiveChannel\", \"setAreaColorFromPoint\", \"focusAreaThumb\"]\n },\n \"AREA.FOCUS\": {\n actions: [\"setActiveChannel\"]\n },\n \"CHANNEL_SLIDER.POINTER_DOWN\": {\n target: \"open:dragging\",\n actions: [\"setActiveChannel\", \"setChannelColorFromPoint\", \"focusChannelThumb\"]\n },\n \"CHANNEL_SLIDER.FOCUS\": {\n actions: [\"setActiveChannel\"]\n },\n \"AREA.ARROW_LEFT\": {\n actions: [\"decrementAreaXChannel\"]\n },\n \"AREA.ARROW_RIGHT\": {\n actions: [\"incrementAreaXChannel\"]\n },\n \"AREA.ARROW_UP\": {\n actions: [\"incrementAreaYChannel\"]\n },\n \"AREA.ARROW_DOWN\": {\n actions: [\"decrementAreaYChannel\"]\n },\n \"AREA.PAGE_UP\": {\n actions: [\"incrementAreaXChannel\"]\n },\n \"AREA.PAGE_DOWN\": {\n actions: [\"decrementAreaXChannel\"]\n },\n \"CHANNEL_SLIDER.ARROW_LEFT\": {\n actions: [\"decrementChannel\"]\n },\n \"CHANNEL_SLIDER.ARROW_RIGHT\": {\n actions: [\"incrementChannel\"]\n },\n \"CHANNEL_SLIDER.ARROW_UP\": {\n actions: [\"incrementChannel\"]\n },\n \"CHANNEL_SLIDER.ARROW_DOWN\": {\n actions: [\"decrementChannel\"]\n },\n \"CHANNEL_SLIDER.PAGE_UP\": {\n actions: [\"incrementChannel\"]\n },\n \"CHANNEL_SLIDER.PAGE_DOWN\": {\n actions: [\"decrementChannel\"]\n },\n \"CHANNEL_SLIDER.HOME\": {\n actions: [\"setChannelToMin\"]\n },\n \"CHANNEL_SLIDER.END\": {\n actions: [\"setChannelToMax\"]\n },\n \"CHANNEL_INPUT.BLUR\": {\n actions: [\"setChannelColorFromInput\"]\n },\n INTERACT_OUTSIDE: [\n {\n guard: \"isOpenControlled\",\n actions: [\"invokeOnClose\"]\n },\n {\n guard: \"shouldRestoreFocus\",\n target: \"focused\",\n actions: [\"invokeOnClose\", \"setReturnFocus\"]\n },\n {\n target: \"idle\",\n actions: [\"invokeOnClose\"]\n }\n ],\n CLOSE: [\n {\n guard: \"isOpenControlled\",\n actions: [\"invokeOnClose\"]\n },\n {\n target: \"idle\",\n actions: [\"invokeOnClose\"]\n }\n ],\n \"SWATCH_TRIGGER.CLICK\": [\n {\n guard: and(\"isOpenControlled\", \"closeOnSelect\"),\n actions: [\"setValue\", \"invokeOnClose\"]\n },\n {\n guard: \"closeOnSelect\",\n target: \"focused\",\n actions: [\"setValue\", \"invokeOnClose\", \"setReturnFocus\"]\n },\n {\n actions: [\"setValue\"]\n }\n ]\n }\n },\n \"open:dragging\": {\n tags: [\"open\"],\n exit: [\"clearActiveChannel\"],\n effects: [\"trackPointerMove\", \"disableTextSelection\", \"trackPositioning\", \"trackDismissableElement\"],\n on: {\n \"CONTROLLED.CLOSE\": [\n {\n guard: \"shouldRestoreFocus\",\n target: \"focused\",\n actions: [\"setReturnFocus\"]\n },\n {\n target: \"idle\"\n }\n ],\n \"AREA.POINTER_MOVE\": {\n actions: [\"setAreaColorFromPoint\", \"focusAreaThumb\"]\n },\n \"AREA.POINTER_UP\": {\n target: \"open\",\n actions: [\"invokeOnChangeEnd\"]\n },\n \"CHANNEL_SLIDER.POINTER_MOVE\": {\n actions: [\"setChannelColorFromPoint\", \"focusChannelThumb\"]\n },\n \"CHANNEL_SLIDER.POINTER_UP\": {\n target: \"open\",\n actions: [\"invokeOnChangeEnd\"]\n },\n INTERACT_OUTSIDE: [\n {\n guard: \"isOpenControlled\",\n actions: [\"invokeOnClose\"]\n },\n {\n guard: \"shouldRestoreFocus\",\n target: \"focused\",\n actions: [\"invokeOnClose\", \"setReturnFocus\"]\n },\n {\n target: \"idle\",\n actions: [\"invokeOnClose\"]\n }\n ],\n CLOSE: [\n {\n guard: \"isOpenControlled\",\n actions: [\"invokeOnClose\"]\n },\n {\n target: \"idle\",\n actions: [\"invokeOnClose\"]\n }\n ]\n }\n }\n },\n implementations: {\n guards: {\n closeOnSelect: ({ prop }) => !!prop(\"closeOnSelect\"),\n isOpenControlled: ({ prop }) => prop(\"open\") != null || !!prop(\"inline\"),\n shouldRestoreFocus: ({ context }) => !!context.get(\"restoreFocus\")\n },\n effects: {\n trackPositioning({ context, prop, scope }) {\n if (prop(\"inline\")) return;\n if (!context.get(\"currentPlacement\")) {\n context.set(\"currentPlacement\", prop(\"positioning\")?.placement);\n }\n const anchorEl = getTriggerEl(scope);\n const getPositionerEl2 = () => getPositionerEl(scope);\n return getPlacement(anchorEl, getPositionerEl2, {\n ...prop(\"positioning\"),\n defer: true,\n onComplete(data) {\n context.set(\"currentPlacement\", data.placement);\n }\n });\n },\n trackDismissableElement({ context, scope, prop, send }) {\n if (prop(\"inline\")) return;\n const getContentEl2 = () => getContentEl(scope);\n return trackDismissableElement(getContentEl2, {\n exclude: getTriggerEl(scope),\n defer: true,\n onInteractOutside(event) {\n prop(\"onInteractOutside\")?.(event);\n if (event.defaultPrevented) return;\n context.set(\"restoreFocus\", !(event.detail.focusable || event.detail.contextmenu));\n },\n onPointerDownOutside: prop(\"onPointerDownOutside\"),\n onFocusOutside: prop(\"onFocusOutside\"),\n onDismiss() {\n send({ type: \"INTERACT_OUTSIDE\" });\n }\n });\n },\n trackFormControl({ context, scope, send }) {\n const inputEl = getHiddenInputEl(scope);\n return trackFormControl(inputEl, {\n onFieldsetDisabledChange(disabled) {\n context.set(\"fieldsetDisabled\", disabled);\n },\n onFormReset() {\n send({ type: \"VALUE.SET\", value: context.initial(\"value\"), src: \"form.reset\" });\n }\n });\n },\n trackPointerMove({ context, scope, event, send }) {\n return trackPointerMove(scope.getDoc(), {\n onPointerMove({ point }) {\n const type = context.get(\"activeId\") === \"area\" ? \"AREA.POINTER_MOVE\" : \"CHANNEL_SLIDER.POINTER_MOVE\";\n send({ type, point, format: event.format });\n },\n onPointerUp() {\n const type = context.get(\"activeId\") === \"area\" ? \"AREA.POINTER_UP\" : \"CHANNEL_SLIDER.POINTER_UP\";\n send({ type });\n }\n });\n },\n disableTextSelection({ scope }) {\n return disableTextSelection({\n doc: scope.getDoc(),\n target: getContentEl(scope)\n });\n }\n },\n actions: {\n openEyeDropper({ scope, context }) {\n const win = scope.getWin();\n const isSupported = \"EyeDropper\" in win;\n if (!isSupported) return;\n const picker = new win.EyeDropper();\n picker.open().then(({ sRGBHex }) => {\n const format = context.get(\"value\").getFormat();\n const color = parseColor(sRGBHex).toFormat(format);\n context.set(\"value\", color);\n }).catch(() => void 0);\n },\n setActiveChannel({ context, event }) {\n context.set(\"activeId\", event.id);\n if (event.channel) context.set(\"activeChannel\", event.channel);\n if (event.orientation) context.set(\"activeOrientation\", event.orientation);\n },\n clearActiveChannel({ context }) {\n context.set(\"activeChannel\", null);\n context.set(\"activeId\", null);\n context.set(\"activeOrientation\", null);\n },\n setAreaColorFromPoint({ context, event, computed, scope }) {\n const v = event.format ? context.get(\"value\").toFormat(event.format) : computed(\"areaValue\");\n const { xChannel, yChannel } = event.channel || context.get(\"activeChannel\");\n const percent = getAreaValueFromPoint(scope, event.point);\n if (!percent) return;\n const xValue = v.getChannelPercentValue(xChannel, percent.x);\n const yValue = v.getChannelPercentValue(yChannel, 1 - percent.y);\n const color = v.withChannelValue(xChannel, xValue).withChannelValue(yChannel, yValue);\n context.set(\"value\", color);\n },\n setChannelColorFromPoint({ context, event, computed, scope }) {\n const channel = event.channel || context.get(\"activeId\");\n const normalizedValue = event.format ? context.get(\"value\").toFormat(event.format) : computed(\"areaValue\");\n const percent = getChannelSliderValueFromPoint(scope, event.point, channel);\n if (!percent) return;\n const orientation = context.get(\"activeOrientation\") || \"horizontal\";\n const channelPercent = orientation === \"horizontal\" ? percent.x : percent.y;\n const value = normalizedValue.getChannelPercentValue(channel, channelPercent);\n const color = normalizedValue.withChannelValue(channel, value);\n context.set(\"value\", color);\n },\n setValue({ context, event }) {\n context.set(\"value\", event.value);\n },\n setFormat({ context, event }) {\n context.set(\"format\", event.format);\n },\n dispatchChangeEvent({ scope, computed }) {\n dispatchInputValueEvent(getHiddenInputEl(scope), { value: computed(\"valueAsString\") });\n },\n syncInputElements({ context, scope }) {\n syncChannelInputs(scope, context.get(\"value\"));\n },\n invokeOnChangeEnd({ context, prop, computed }) {\n prop(\"onValueChangeEnd\")?.({\n value: context.get(\"value\"),\n valueAsString: computed(\"valueAsString\")\n });\n },\n setChannelColorFromInput({ context, event, scope, prop }) {\n const { channel, isTextField, value } = event;\n const currentAlpha = context.get(\"value\").getChannelValue(\"alpha\");\n let color;\n if (channel === \"alpha\") {\n let valueAsNumber = parseFloat(value);\n valueAsNumber = Number.isNaN(valueAsNumber) ? currentAlpha : valueAsNumber;\n color = context.get(\"value\").withChannelValue(\"alpha\", valueAsNumber);\n } else if (isTextField) {\n color = tryCatch(\n () => {\n const parseValue = channel === \"hex\" ? prefixHex(value) : value;\n return parse(parseValue).withChannelValue(\"alpha\", currentAlpha);\n },\n () => context.get(\"value\")\n );\n } else {\n const current = context.get(\"value\").toFormat(context.get(\"format\"));\n const valueAsNumber = Number.isNaN(value) ? current.getChannelValue(channel) : value;\n color = current.withChannelValue(channel, valueAsNumber);\n }\n syncChannelInputs(scope, context.get(\"value\"), color);\n context.set(\"value\", color);\n prop(\"onValueChangeEnd\")?.({\n value: color,\n valueAsString: color.toString(context.get(\"format\"))\n });\n },\n incrementChannel({ context, event }) {\n const color = context.get(\"value\").incrementChannel(event.channel, event.step);\n context.set(\"value\", color);\n },\n decrementChannel({ context, event }) {\n const color = context.get(\"value\").decrementChannel(event.channel, event.step);\n context.set(\"value\", color);\n },\n incrementAreaXChannel({ context, event, computed }) {\n const { xChannel } = event.channel;\n const color = computed(\"areaValue\").incrementChannel(xChannel, event.step);\n context.set(\"value\", color);\n },\n decrementAreaXChannel({ context, event, computed }) {\n const { xChannel } = event.channel;\n const color = computed(\"areaValue\").decrementChannel(xChannel, event.step);\n context.set(\"value\", color);\n },\n incrementAreaYChannel({ context, event, computed }) {\n const { yChannel } = event.channel;\n const color = computed(\"areaValue\").incrementChannel(yChannel, event.step);\n context.set(\"value\", color);\n },\n decrementAreaYChannel({ context, event, computed }) {\n const { yChannel } = event.channel;\n const color = computed(\"areaValue\").decrementChannel(yChannel, event.step);\n context.set(\"value\", color);\n },\n setChannelToMax({ context, event }) {\n const value = context.get(\"value\");\n const range = value.getChannelRange(event.channel);\n const color = value.withChannelValue(event.channel, range.maxValue);\n context.set(\"value\", color);\n },\n setChannelToMin({ context, event }) {\n const value = context.get(\"value\");\n const range = value.getChannelRange(event.channel);\n const color = value.withChannelValue(event.channel, range.minValue);\n context.set(\"value\", color);\n },\n focusAreaThumb({ scope }) {\n raf(() => {\n getAreaThumbEl(scope)?.focus({ preventScroll: true });\n });\n },\n focusChannelThumb({ event, scope }) {\n raf(() => {\n getChannelSliderThumbEl(scope, event.channel)?.focus({ preventScroll: true });\n });\n },\n setInitialFocus({ prop, scope }) {\n if (!prop(\"openAutoFocus\")) return;\n raf(() => {\n const element = getInitialFocus({\n root: getContentEl(scope),\n getInitialEl: prop(\"initialFocusEl\")\n });\n element?.focus({ preventScroll: true });\n });\n },\n setReturnFocus({ scope }) {\n raf(() => {\n getTriggerEl(scope)?.focus({ preventScroll: true });\n });\n },\n syncFormatSelectElement({ context, scope }) {\n syncFormatSelect(scope, context.get(\"format\"));\n },\n invokeOnOpen({ prop }) {\n if (prop(\"inline\")) return;\n prop(\"onOpenChange\")?.({ open: true });\n },\n invokeOnClose({ prop }) {\n if (prop(\"inline\")) return;\n prop(\"onOpenChange\")?.({ open: false });\n },\n toggleVisibility({ prop, event, send }) {\n send({ type: prop(\"open\") ? \"CONTROLLED.OPEN\" : \"CONTROLLED.CLOSE\", previousEvent: event });\n }\n }\n }\n});\nfunction syncChannelInputs(scope, currentValue, nextValue) {\n const channelInputEls = getChannelInputEls(scope);\n raf(() => {\n channelInputEls.forEach((inputEl) => {\n const channel = inputEl.dataset.channel;\n setElementValue(inputEl, getChannelValue(nextValue || currentValue, channel));\n });\n });\n}\nfunction syncFormatSelect(scope, format) {\n const selectEl = getFormatSelectEl(scope);\n if (!selectEl) return;\n raf(() => setElementValue(selectEl, format));\n}\nvar props = createProps()([\n \"closeOnSelect\",\n \"dir\",\n \"disabled\",\n \"format\",\n \"defaultFormat\",\n \"getRootNode\",\n \"id\",\n \"ids\",\n \"initialFocusEl\",\n \"inline\",\n \"name\",\n \"positioning\",\n \"onFocusOutside\",\n \"onFormatChange\",\n \"onInteractOutside\",\n \"onOpenChange\",\n \"onPointerDownOutside\",\n \"onValueChange\",\n \"onValueChangeEnd\",\n \"defaultOpen\",\n \"open\",\n \"positioning\",\n \"required\",\n \"readOnly\",\n \"value\",\n \"defaultValue\",\n \"invalid\",\n \"openAutoFocus\"\n]);\nvar splitProps = createSplitProps(props);\nvar areaProps = createProps()([\"xChannel\", \"yChannel\"]);\nvar splitAreaProps = createSplitProps(areaProps);\nvar channelProps = createProps()([\"channel\", \"orientation\"]);\nvar splitChannelProps = createSplitProps(channelProps);\nvar swatchTriggerProps = createProps()([\"value\", \"disabled\"]);\nvar splitSwatchTriggerProps = createSplitProps(swatchTriggerProps);\nvar swatchProps = createProps()([\"value\", \"respectAlpha\"]);\nvar splitSwatchProps = createSplitProps(swatchProps);\nvar transparencyGridProps = createProps()([\"size\"]);\nvar splitTransparencyGridProps = createSplitProps(transparencyGridProps);\n\nexport { anatomy, areaProps, channelProps, connect, machine, parse, props, splitAreaProps, splitChannelProps, splitProps, splitSwatchProps, splitSwatchTriggerProps, splitTransparencyGridProps, swatchProps, swatchTriggerProps, transparencyGridProps };\n","import { createAnatomy } from '@zag-js/anatomy';\nimport { prevById, nextById, queryAll, getEventKey, isSafari, dataAttr } from '@zag-js/dom-query';\nimport { warn, last, first, add, remove, createSplitProps } from '@zag-js/utils';\nimport { createGuards, createMachine } from '@zag-js/core';\nimport { createProps } from '@zag-js/types';\n\n// src/accordion.anatomy.ts\nvar anatomy = createAnatomy(\"accordion\").parts(\"root\", \"item\", \"itemTrigger\", \"itemContent\", \"itemIndicator\");\nvar parts = anatomy.build();\nvar getRootId = (ctx) => ctx.ids?.root ?? `accordion:${ctx.id}`;\nvar getItemId = (ctx, value) => ctx.ids?.item?.(value) ?? `accordion:${ctx.id}:item:${value}`;\nvar getItemContentId = (ctx, value) => ctx.ids?.itemContent?.(value) ?? `accordion:${ctx.id}:content:${value}`;\nvar getItemTriggerId = (ctx, value) => ctx.ids?.itemTrigger?.(value) ?? `accordion:${ctx.id}:trigger:${value}`;\nvar getRootEl = (ctx) => ctx.getById(getRootId(ctx));\nvar getTriggerEls = (ctx) => {\n const ownerId = CSS.escape(getRootId(ctx));\n const selector = `[aria-controls][data-ownedby='${ownerId}']:not([disabled])`;\n return queryAll(getRootEl(ctx), selector);\n};\nvar getFirstTriggerEl = (ctx) => first(getTriggerEls(ctx));\nvar getLastTriggerEl = (ctx) => last(getTriggerEls(ctx));\nvar getNextTriggerEl = (ctx, id) => nextById(getTriggerEls(ctx), getItemTriggerId(ctx, id));\nvar getPrevTriggerEl = (ctx, id) => prevById(getTriggerEls(ctx), getItemTriggerId(ctx, id));\n\n// src/accordion.connect.ts\nfunction connect(service, normalize) {\n const { send, context, prop, scope, computed } = service;\n const focusedValue = context.get(\"focusedValue\");\n const value = context.get(\"value\");\n const multiple = prop(\"multiple\");\n function setValue(value2) {\n let nextValue = value2;\n if (!multiple && nextValue.length > 1) {\n nextValue = [nextValue[0]];\n }\n send({ type: \"VALUE.SET\", value: nextValue });\n }\n function getItemState(props2) {\n return {\n expanded: value.includes(props2.value),\n focused: focusedValue === props2.value,\n disabled: Boolean(props2.disabled ?? prop(\"disabled\"))\n };\n }\n return {\n focusedValue,\n value,\n setValue,\n getItemState,\n getRootProps() {\n return normalize.element({\n ...parts.root.attrs,\n dir: prop(\"dir\"),\n id: getRootId(scope),\n \"data-orientation\": prop(\"orientation\")\n });\n },\n getItemProps(props2) {\n const itemState = getItemState(props2);\n return normalize.element({\n ...parts.item.attrs,\n dir: prop(\"dir\"),\n id: getItemId(scope, props2.value),\n \"data-state\": itemState.expanded ? \"open\" : \"closed\",\n \"data-focus\": dataAttr(itemState.focused),\n \"data-disabled\": dataAttr(itemState.disabled),\n \"data-orientation\": prop(\"orientation\")\n });\n },\n getItemContentProps(props2) {\n const itemState = getItemState(props2);\n return normalize.element({\n ...parts.itemContent.attrs,\n dir: prop(\"dir\"),\n role: \"region\",\n id: getItemContentId(scope, props2.value),\n \"aria-labelledby\": getItemTriggerId(scope, props2.value),\n hidden: !itemState.expanded,\n \"data-state\": itemState.expanded ? \"open\" : \"closed\",\n \"data-disabled\": dataAttr(itemState.disabled),\n \"data-focus\": dataAttr(itemState.focused),\n \"data-orientation\": prop(\"orientation\")\n });\n },\n getItemIndicatorProps(props2) {\n const itemState = getItemState(props2);\n return normalize.element({\n ...parts.itemIndicator.attrs,\n dir: prop(\"dir\"),\n \"aria-hidden\": true,\n \"data-state\": itemState.expanded ? \"open\" : \"closed\",\n \"data-disabled\": dataAttr(itemState.disabled),\n \"data-focus\": dataAttr(itemState.focused),\n \"data-orientation\": prop(\"orientation\")\n });\n },\n getItemTriggerProps(props2) {\n const { value: value2 } = props2;\n const itemState = getItemState(props2);\n return normalize.button({\n ...parts.itemTrigger.attrs,\n type: \"button\",\n dir: prop(\"dir\"),\n id: getItemTriggerId(scope, value2),\n \"aria-controls\": getItemContentId(scope, value2),\n \"aria-expanded\": itemState.expanded,\n disabled: itemState.disabled,\n \"data-orientation\": prop(\"orientation\"),\n \"aria-disabled\": itemState.disabled,\n \"data-state\": itemState.expanded ? \"open\" : \"closed\",\n \"data-ownedby\": getRootId(scope),\n onFocus() {\n if (itemState.disabled) return;\n send({ type: \"TRIGGER.FOCUS\", value: value2 });\n },\n onBlur() {\n if (itemState.disabled) return;\n send({ type: \"TRIGGER.BLUR\" });\n },\n onClick(event) {\n if (itemState.disabled) return;\n if (isSafari()) {\n event.currentTarget.focus();\n }\n send({ type: \"TRIGGER.CLICK\", value: value2 });\n },\n onKeyDown(event) {\n if (event.defaultPrevented) return;\n if (itemState.disabled) return;\n const keyMap = {\n ArrowDown() {\n if (computed(\"isHorizontal\")) return;\n send({ type: \"GOTO.NEXT\", value: value2 });\n },\n ArrowUp() {\n if (computed(\"isHorizontal\")) return;\n send({ type: \"GOTO.PREV\", value: value2 });\n },\n ArrowRight() {\n if (!computed(\"isHorizontal\")) return;\n send({ type: \"GOTO.NEXT\", value: value2 });\n },\n ArrowLeft() {\n if (!computed(\"isHorizontal\")) return;\n send({ type: \"GOTO.PREV\", value: value2 });\n },\n Home() {\n send({ type: \"GOTO.FIRST\", value: value2 });\n },\n End() {\n send({ type: \"GOTO.LAST\", value: value2 });\n }\n };\n const key = getEventKey(event, {\n dir: prop(\"dir\"),\n orientation: prop(\"orientation\")\n });\n const exec = keyMap[key];\n if (exec) {\n exec(event);\n event.preventDefault();\n }\n }\n });\n }\n };\n}\nvar { and, not } = createGuards();\nvar machine = createMachine({\n props({ props: props2 }) {\n return {\n collapsible: false,\n multiple: false,\n orientation: \"vertical\",\n defaultValue: [],\n ...props2\n };\n },\n initialState() {\n return \"idle\";\n },\n context({ prop, bindable }) {\n return {\n focusedValue: bindable(() => ({\n defaultValue: null,\n sync: true,\n onChange(value) {\n prop(\"onFocusChange\")?.({ value });\n }\n })),\n value: bindable(() => ({\n defaultValue: prop(\"defaultValue\"),\n value: prop(\"value\"),\n onChange(value) {\n prop(\"onValueChange\")?.({ value });\n }\n }))\n };\n },\n computed: {\n isHorizontal: ({ prop }) => prop(\"orientation\") === \"horizontal\"\n },\n on: {\n \"VALUE.SET\": {\n actions: [\"setValue\"]\n }\n },\n states: {\n idle: {\n on: {\n \"TRIGGER.FOCUS\": {\n target: \"focused\",\n actions: [\"setFocusedValue\"]\n }\n }\n },\n focused: {\n on: {\n \"GOTO.NEXT\": {\n actions: [\"focusNextTrigger\"]\n },\n \"GOTO.PREV\": {\n actions: [\"focusPrevTrigger\"]\n },\n \"TRIGGER.CLICK\": [\n {\n guard: and(\"isExpanded\", \"canToggle\"),\n actions: [\"collapse\"]\n },\n {\n guard: not(\"isExpanded\"),\n actions: [\"expand\"]\n }\n ],\n \"GOTO.FIRST\": {\n actions: [\"focusFirstTrigger\"]\n },\n \"GOTO.LAST\": {\n actions: [\"focusLastTrigger\"]\n },\n \"TRIGGER.BLUR\": {\n target: \"idle\",\n actions: [\"clearFocusedValue\"]\n }\n }\n }\n },\n implementations: {\n guards: {\n canToggle: ({ prop }) => !!prop(\"collapsible\") || !!prop(\"multiple\"),\n isExpanded: ({ context, event }) => context.get(\"value\").includes(event.value)\n },\n actions: {\n collapse({ context, prop, event }) {\n const next = prop(\"multiple\") ? remove(context.get(\"value\"), event.value) : [];\n context.set(\"value\", next);\n },\n expand({ context, prop, event }) {\n const next = prop(\"multiple\") ? add(context.get(\"value\"), event.value) : [event.value];\n context.set(\"value\", next);\n },\n focusFirstTrigger({ scope }) {\n getFirstTriggerEl(scope)?.focus();\n },\n focusLastTrigger({ scope }) {\n getLastTriggerEl(scope)?.focus();\n },\n focusNextTrigger({ context, scope }) {\n const focusedValue = context.get(\"focusedValue\");\n if (!focusedValue) return;\n const triggerEl = getNextTriggerEl(scope, focusedValue);\n triggerEl?.focus();\n },\n focusPrevTrigger({ context, scope }) {\n const focusedValue = context.get(\"focusedValue\");\n if (!focusedValue) return;\n const triggerEl = getPrevTriggerEl(scope, focusedValue);\n triggerEl?.focus();\n },\n setFocusedValue({ context, event }) {\n context.set(\"focusedValue\", event.value);\n },\n clearFocusedValue({ context }) {\n context.set(\"focusedValue\", null);\n },\n setValue({ context, event }) {\n context.set(\"value\", event.value);\n },\n coarseValue({ context, prop }) {\n if (!prop(\"multiple\") && context.get(\"value\").length > 1) {\n warn(`The value of accordion should be a single value when multiple is false.`);\n context.set(\"value\", [context.get(\"value\")[0]]);\n }\n }\n }\n }\n});\nvar props = createProps()([\n \"collapsible\",\n \"dir\",\n \"disabled\",\n \"getRootNode\",\n \"id\",\n \"ids\",\n \"multiple\",\n \"onFocusChange\",\n \"onValueChange\",\n \"orientation\",\n \"value\",\n \"defaultValue\"\n]);\nvar splitProps = createSplitProps(props);\nvar itemProps = createProps()([\"value\", \"disabled\"]);\nvar splitItemProps = createSplitProps(itemProps);\n\nexport { anatomy, connect, itemProps, machine, props, splitItemProps, splitProps };\n","import { createAnatomy } from '@zag-js/anatomy';\nimport { setElementValue, getWindow, dataAttr } from '@zag-js/dom-query';\nimport { createMachine } from '@zag-js/core';\nimport { setRafTimeout, createSplitProps } from '@zag-js/utils';\nimport { createProps } from '@zag-js/types';\n\n// src/clipboard.anatomy.ts\nvar anatomy = createAnatomy(\"clipboard\").parts(\"root\", \"control\", \"trigger\", \"indicator\", \"input\", \"label\");\nvar parts = anatomy.build();\nvar getRootId = (ctx) => ctx.ids?.root ?? `clip:${ctx.id}`;\nvar getInputId = (ctx) => ctx.ids?.input ?? `clip:${ctx.id}:input`;\nvar getLabelId = (ctx) => ctx.ids?.label ?? `clip:${ctx.id}:label`;\nvar getInputEl = (ctx) => ctx.getById(getInputId(ctx));\nvar writeToClipboard = (ctx, value) => copyText(ctx.getDoc(), value);\nfunction createNode(doc, text) {\n const node = doc.createElement(\"pre\");\n Object.assign(node.style, {\n width: \"1px\",\n height: \"1px\",\n position: \"fixed\",\n top: \"5px\"\n });\n node.textContent = text;\n return node;\n}\nfunction copyNode(node) {\n const win = getWindow(node);\n const selection = win.getSelection();\n if (selection == null) {\n return Promise.reject(new Error());\n }\n selection.removeAllRanges();\n const doc = node.ownerDocument;\n const range = doc.createRange();\n range.selectNodeContents(node);\n selection.addRange(range);\n doc.execCommand(\"copy\");\n selection.removeAllRanges();\n return Promise.resolve();\n}\nfunction copyText(doc, text) {\n const win = doc.defaultView || window;\n if (win.navigator.clipboard?.writeText !== void 0) {\n return win.navigator.clipboard.writeText(text);\n }\n if (!doc.body) {\n return Promise.reject(new Error());\n }\n const node = createNode(doc, text);\n doc.body.appendChild(node);\n copyNode(node);\n doc.body.removeChild(node);\n return Promise.resolve();\n}\n\n// src/clipboard.connect.ts\nfunction connect(service, normalize) {\n const { state, send, context, scope } = service;\n const copied = state.matches(\"copied\");\n return {\n copied,\n value: context.get(\"value\"),\n setValue(value) {\n send({ type: \"VALUE.SET\", value });\n },\n copy() {\n send({ type: \"COPY\" });\n },\n getRootProps() {\n return normalize.element({\n ...parts.root.attrs,\n \"data-copied\": dataAttr(copied),\n id: getRootId(scope)\n });\n },\n getLabelProps() {\n return normalize.label({\n ...parts.label.attrs,\n htmlFor: getInputId(scope),\n \"data-copied\": dataAttr(copied),\n id: getLabelId(scope)\n });\n },\n getControlProps() {\n return normalize.element({\n ...parts.control.attrs,\n \"data-copied\": dataAttr(copied)\n });\n },\n getInputProps() {\n return normalize.input({\n ...parts.input.attrs,\n defaultValue: context.get(\"value\"),\n \"data-copied\": dataAttr(copied),\n readOnly: true,\n \"data-readonly\": \"true\",\n id: getInputId(scope),\n onFocus(event) {\n event.currentTarget.select();\n },\n onCopy() {\n send({ type: \"INPUT.COPY\" });\n }\n });\n },\n getTriggerProps() {\n return normalize.button({\n ...parts.trigger.attrs,\n type: \"button\",\n \"aria-label\": copied ? \"Copied to clipboard\" : \"Copy to clipboard\",\n \"data-copied\": dataAttr(copied),\n onClick() {\n send({ type: \"COPY\" });\n }\n });\n },\n getIndicatorProps(props2) {\n return normalize.element({\n ...parts.indicator.attrs,\n hidden: props2.copied !== copied\n });\n }\n };\n}\nvar machine = createMachine({\n props({ props: props2 }) {\n return {\n timeout: 3e3,\n defaultValue: \"\",\n ...props2\n };\n },\n initialState() {\n return \"idle\";\n },\n context({ prop, bindable }) {\n return {\n value: bindable(() => ({\n defaultValue: prop(\"defaultValue\"),\n value: prop(\"value\"),\n onChange(value) {\n prop(\"onValueChange\")?.({ value });\n }\n }))\n };\n },\n watch({ track, context, action }) {\n track([() => context.get(\"value\")], () => {\n action([\"syncInputElement\"]);\n });\n },\n on: {\n \"VALUE.SET\": {\n actions: [\"setValue\"]\n },\n COPY: {\n target: \"copied\",\n actions: [\"copyToClipboard\", \"invokeOnCopy\"]\n }\n },\n states: {\n idle: {\n on: {\n \"INPUT.COPY\": {\n target: \"copied\",\n actions: [\"invokeOnCopy\"]\n }\n }\n },\n copied: {\n effects: [\"waitForTimeout\"],\n on: {\n \"COPY.DONE\": {\n target: \"idle\"\n },\n COPY: {\n target: \"copied\",\n actions: [\"copyToClipboard\", \"invokeOnCopy\"]\n },\n \"INPUT.COPY\": {\n actions: [\"invokeOnCopy\"]\n }\n }\n }\n },\n implementations: {\n effects: {\n waitForTimeout({ prop, send }) {\n return setRafTimeout(() => {\n send({ type: \"COPY.DONE\" });\n }, prop(\"timeout\"));\n }\n },\n actions: {\n setValue({ context, event }) {\n context.set(\"value\", event.value);\n },\n copyToClipboard({ context, scope }) {\n writeToClipboard(scope, context.get(\"value\"));\n },\n invokeOnCopy({ prop }) {\n prop(\"onStatusChange\")?.({ copied: true });\n },\n syncInputElement({ context, scope }) {\n const inputEl = getInputEl(scope);\n if (!inputEl) return;\n setElementValue(inputEl, context.get(\"value\"));\n }\n }\n }\n});\nvar props = createProps()([\n \"getRootNode\",\n \"id\",\n \"ids\",\n \"value\",\n \"defaultValue\",\n \"timeout\",\n \"onStatusChange\",\n \"onValueChange\"\n]);\nvar contextProps = createSplitProps(props);\nvar indicatorProps = createProps()([\"copied\"]);\nvar splitIndicatorProps = createSplitProps(indicatorProps);\n\nexport { anatomy, connect, contextProps, indicatorProps, machine, props, splitIndicatorProps };\n","'use client';\nimport { anatomy } from '@zag-js/color-picker';\n\nconst colorPickerAnatomy = anatomy.extendWith(\"view\");\n\nexport { colorPickerAnatomy };\n","// src/data-transfer.ts\nvar getItemEntry = (item) => typeof item.getAsEntry === \"function\" ? item.getAsEntry() : typeof item.webkitGetAsEntry === \"function\" ? item.webkitGetAsEntry() : null;\nvar isDirectoryEntry = (entry) => entry.isDirectory;\nvar isFileEntry = (entry) => entry.isFile;\nvar addRelativePath = (file, path) => {\n Object.defineProperty(file, \"relativePath\", { value: path ? `${path}/${file.name}` : file.name });\n return file;\n};\nvar getFileEntries = (items, traverseDirectories) => Promise.all(\n Array.from(items).filter((item) => item.kind === \"file\").map((item) => {\n const entry = getItemEntry(item);\n if (!entry) return null;\n if (isDirectoryEntry(entry) && traverseDirectories) {\n return getDirectoryFiles(entry.createReader(), `${entry.name}`);\n }\n if (isFileEntry(entry) && typeof item.getAsFile === \"function\") {\n const file = item.getAsFile();\n return Promise.resolve(file ? addRelativePath(file, \"\") : null);\n }\n if (isFileEntry(entry)) {\n return new Promise((resolve) => {\n entry.file((file) => {\n resolve(addRelativePath(file, \"\"));\n });\n });\n }\n }).filter((b) => b)\n);\nvar getDirectoryFiles = (reader, path = \"\") => new Promise((resolve) => {\n const entryPromises = [];\n const readDirectoryEntries = () => {\n reader.readEntries((entries) => {\n if (entries.length === 0) {\n resolve(Promise.all(entryPromises).then((entries2) => entries2.flat()));\n return;\n }\n const promises = entries.map((entry) => {\n if (!entry) return null;\n if (isDirectoryEntry(entry)) {\n return getDirectoryFiles(entry.createReader(), `${path}${entry.name}`);\n }\n if (isFileEntry(entry)) {\n return new Promise((resolve2) => {\n entry.file((file) => {\n resolve2(addRelativePath(file, path));\n });\n });\n }\n }).filter((b) => b);\n entryPromises.push(Promise.all(promises));\n readDirectoryEntries();\n });\n };\n readDirectoryEntries();\n});\n\n// src/data-url-to-blob.ts\nfunction dataURItoBlob(uri) {\n const binary = atob(uri.split(\",\")[1]);\n const mimeString = uri.split(\",\")[0].split(\":\")[1].split(\";\")[0];\n const buffer = new ArrayBuffer(binary.length);\n const intArray = new Uint8Array(buffer);\n for (let i = 0; i < binary.length; i++) {\n intArray[i] = binary.charCodeAt(i);\n }\n return new Blob([buffer], { type: mimeString });\n}\n\n// src/download-file.ts\nvar BOM_REGEX = /^\\s*(?:text\\/\\S*|application\\/xml|\\S*\\/\\S*\\+xml)\\s*;.*charset\\s*=\\s*utf-8/i;\nvar MAC_REGEX = /Macintosh/;\nvar APPLE_WEBKIT_REGEX = /AppleWebKit/;\nvar SAFARI_REGEX = /Safari/;\nfunction getBlob(blobOrString, type, appendBOM) {\n let blob = typeof blobOrString === \"string\" ? new Blob([blobOrString], { type }) : blobOrString;\n if (appendBOM && BOM_REGEX.test(blob.type)) {\n return new Blob([String.fromCharCode(65279), blob], { type: blob.type });\n }\n return blob;\n}\nfunction isMSEdge(win) {\n return Boolean(win.navigator && win.navigator.msSaveOrOpenBlob);\n}\nfunction isWebView(win) {\n return win.navigator && MAC_REGEX.test(win.navigator.userAgent) && APPLE_WEBKIT_REGEX.test(win.navigator.userAgent) && !SAFARI_REGEX.test(win.navigator.userAgent);\n}\nfunction downloadFile(options) {\n const { file, win = window, type, name, appendBOM, revokeTimeout = 0 } = options;\n const doc = win.document;\n const blob = getBlob(file, type, appendBOM);\n const fileName = (file instanceof File ? name || file.name : name) || \"file-download\";\n if (isMSEdge(win)) {\n win.navigator.msSaveOrOpenBlob(blob, fileName);\n return;\n }\n const isMacOSWebView = isWebView(win);\n const anchor = doc.createElement(\"a\");\n const canUseDownload = \"download\" in anchor && !isMacOSWebView;\n if (canUseDownload) {\n const url2 = win.URL.createObjectURL(blob);\n anchor.href = url2;\n anchor.rel = \"noopener\";\n anchor.download = fileName;\n anchor.style.display = \"none\";\n doc.body.appendChild(anchor);\n anchor.dispatchEvent(new win.MouseEvent(\"click\"));\n setTimeout(() => {\n win.URL.revokeObjectURL(url2);\n anchor.remove();\n }, revokeTimeout);\n return;\n }\n const url = win.URL.createObjectURL(blob);\n const popup = win.open(url, \"_blank\");\n if (!popup) {\n win.location.href = url;\n }\n setTimeout(() => {\n win.URL.revokeObjectURL(url);\n }, revokeTimeout);\n}\n\n// src/get-accept-attr.ts\nfunction isMIMEType(v) {\n return v === \"audio/*\" || v === \"video/*\" || v === \"image/*\" || v === \"text/*\" || /\\w+\\/[-+.\\w]+/g.test(v);\n}\nfunction isExt(v) {\n return /^.*\\.[\\w]+$/.test(v);\n}\nvar isValidMIME = (v) => isMIMEType(v) || isExt(v);\nfunction getAcceptAttrString(accept) {\n if (accept == null) return;\n if (typeof accept === \"string\") {\n return accept;\n }\n if (Array.isArray(accept)) {\n return accept.filter(isValidMIME).join(\",\");\n }\n return Object.entries(accept).reduce((a, [mimeType, ext]) => [...a, mimeType, ...ext], []).filter(isValidMIME).join(\",\");\n}\n\n// src/get-file-data-url.ts\nvar getFileDataUrl = async (file) => {\n const reader = new FileReader();\n return new Promise((resolve, reject) => {\n reader.onerror = () => {\n reader.abort();\n reject(new Error(\"There was an error reading a file\"));\n };\n reader.onloadend = () => {\n const { result } = reader;\n if (result instanceof ArrayBuffer) {\n reject(new Error(\"Expected DataURL as string from Blob/File, got ArrayBuffer\"));\n } else {\n resolve(result || void 0);\n }\n };\n reader.readAsDataURL(file);\n });\n};\n\n// src/get-total-file-size.ts\nvar getTotalFileSize = (files) => {\n return files.reduce((acc, file) => acc + file.size, 0);\n};\n\n// src/is-file-equal.ts\nvar isFileEqual = (file1, file2) => {\n return file1.name === file2.name && file1.size === file2.size && file1.type === file2.type;\n};\n\n// src/is-valid-file-size.ts\nvar isDefined = (v) => v !== void 0 && v !== null;\nfunction isValidFileSize(file, minSize, maxSize) {\n if (isDefined(file.size)) {\n if (isDefined(minSize) && isDefined(maxSize)) {\n if (file.size > maxSize) return [false, \"FILE_TOO_LARGE\"];\n if (file.size < minSize) return [false, \"FILE_TOO_SMALL\"];\n } else if (isDefined(minSize) && file.size < minSize) {\n return [false, \"FILE_TOO_SMALL\"];\n } else if (isDefined(maxSize) && file.size > maxSize) {\n return [false, \"FILE_TOO_LARGE\"];\n }\n }\n return [true, null];\n}\n\n// src/mime-types.ts\nvar mimeTypes = \"3g2_video/3gpp2[3gp,3gpp_video/3gpp[3mf_model/3mf[7z_application/x-7z-compressed[aac_audio/aac[ac_application/pkix-attr-cert[adp_audio/adpcm[adts_audio/aac[ai_application/postscript[aml_application/automationml-aml+xml[amlx_application/automationml-amlx+zip[amr_audio/amr[apk_application/vnd.android.package-archive[apng_image/apng[appcache,manifest_text/cache-manifest[appinstaller_application/appinstaller[appx_application/appx[appxbundle_application/appxbundle[asc_application/pgp-keys[atom_application/atom+xml[atomcat_application/atomcat+xml[atomdeleted_application/atomdeleted+xml[atomsvc_application/atomsvc+xml[au,snd_audio/basic[avi_video/x-msvideo[avci_image/avci[avcs_image/avcs[avif_image/avif[aw_application/applixware[bdoc_application/bdoc[bin,bpk,buffer,deb,deploy,dist,distz,dll,dmg,dms,dump,elc,exe,img,iso,lrf,mar,msi,msm,msp,pkg,so_application/octet-stream[bmp,dib_image/bmp[btf,btif_image/prs.btif[bz2_application/x-bzip2[c_text/x-c[ccxml_application/ccxml+xml[cdfx_application/cdfx+xml[cdmia_application/cdmi-capability[cdmic_application/cdmi-container[cdmid_application/cdmi-domain[cdmio_application/cdmi-object[cdmiq_application/cdmi-queue[cer_application/pkix-cert[cgm_image/cgm[cjs_application/node[class_application/java-vm[coffee,litcoffee_text/coffeescript[conf,def,in,ini,list,log,text,txt_text/plain[cpp,cxx,cc_text/x-c++src[cpl_application/cpl+xml[cpt_application/mac-compactpro[crl_application/pkix-crl[css_text/css[csv_text/csv[cu_application/cu-seeme[cwl_application/cwl[cww_application/prs.cww[davmount_application/davmount+xml[dbk_application/docbook+xml[doc_application/msword[docx_application/vnd.openxmlformats-officedocument.wordprocessingml.document[dsc_text/prs.lines.tag[dssc_application/dssc+der[dtd_application/xml-dtd[dwd_application/atsc-dwd+xml[ear,jar,war_application/java-archive[ecma_application/ecmascript[emf_image/emf[eml,mime_message/rfc822[emma_application/emma+xml[emotionml_application/emotionml+xml[eot_application/vnd.ms-fontobject[eps,ps_application/postscript[epub_application/epub+zip[exi_application/exi[exp_application/express[exr_image/aces[ez_application/andrew-inset[fdf_application/fdf[fdt_application/fdt+xml[fits_image/fits[flac_audio/flac[flv_video/x-flv[g3_image/g3fax[geojson_application/geo+json[gif_image/gif[glb_model/gltf-binary[gltf_model/gltf+json[gml_application/gml+xml[go_text/x-go[gpx_application/gpx+xml[gz_application/gzip[h_text/x-h[h261_video/h261[h263_video/h263[h264_video/h264[heic_image/heic[heics_image/heic-sequence[heif_image/heif[heifs_image/heif-sequence[htm,html,shtml_text/html[ico_image/x-icon[icns_image/x-icns[ics,ifb_text/calendar[iges,igs_model/iges[ink,inkml_application/inkml+xml[ipa_application/octet-stream[java_text/x-java-source[jp2,jpg2_image/jp2[jpeg,jpe,jpg_image/jpeg[jpf,jpx_image/jpx[jpm,jpgm_image/jpm[jpgv_video/jpeg[jph_image/jph[js,mjs_text/javascript[json_application/json[json5_application/json5[jsonld_application/ld+json[jsx_text/jsx[jxl_image/jxl[jxr_image/jxr[ktx_image/ktx[ktx2_image/ktx2[less_text/less[m1v,m2v,mpe,mpeg,mpg_video/mpeg[m4a_audio/mp4[m4v_video/x-m4v[md,markdown_text/markdown[mid,midi,kar,rmi_audio/midi[mkv_video/x-matroska[mp2,mp2a,mp3,mpga,m3a,m2a_audio/mpeg[mp4,mp4v,mpg4_video/mp4[mp4a_audio/mp4[mp4s,m4p_application/mp4[odp_application/vnd.oasis.opendocument.presentation[oda_application/oda[ods_application/vnd.oasis.opendocument.spreadsheet[odt_application/vnd.oasis.opendocument.text[oga,ogg,opus,spx_audio/ogg[ogv_video/ogg[ogx_application/ogg[otf_font/otf[p12,pfx_application/x-pkcs12[pdf_application/pdf[pem_application/x-pem-file[php_text/x-php[png_image/png[ppt_application/vnd.ms-powerpoint[pptx_application/vnd.openxmlformats-officedocument.presentationml.presentation[pskcxml_application/pskc+xml[psd_image/vnd.adobe.photoshop[py_text/x-python[qt,mov_video/quicktime[rar_application/vnd.rar[rdf_application/rdf+xml[rtf_text/rtf[sass_text/x-sass[scss_text/x-scss[sgm,sgml_text/sgml[sh_application/x-sh[svg,svgz_image/svg+xml[swf_application/x-shockwave-flash[tar_application/x-tar[tif,tiff_image/tiff[toml_application/toml[ts_video/mp2t[tsx_text/tsx[tsv_text/tab-separated-values[ttc_font/collection[ttf_font/ttf[vtt_text/vtt[wasm_application/wasm[wav_audio/wav[weba_audio/webm[webm_video/webm[webmanifest_application/manifest+json[webp_image/webp[wma_audio/x-ms-wma[wmv_video/x-ms-wmv[woff_font/woff[woff2_font/woff2[xls_application/vnd.ms-excel[xlsx_application/vnd.openxmlformats-officedocument.spreadsheetml.sheet[xml_application/xml[xz_application/x-xz[yaml,yml_text/yaml[zip_application/zip\";\nvar mimeTypesMap = new Map(\n mimeTypes.split(\"[\").flatMap((mime) => {\n const [extensions, mimeType] = mime.split(\"_\");\n return extensions.split(\",\").map((ext) => [ext, mimeType]);\n })\n);\n\n// src/get-file-mime-type.ts\nfunction getFileMimeType(name) {\n const extension = name.split(\".\").pop();\n return extension ? mimeTypesMap.get(extension) || null : null;\n}\n\n// src/is-valid-file-type.ts\nfunction isFileAccepted(file, accept) {\n if (file && accept) {\n const types = Array.isArray(accept) ? accept : typeof accept === \"string\" ? accept.split(\",\") : [];\n if (types.length === 0) return true;\n const fileName = file.name || \"\";\n const mimeType = (file.type || getFileMimeType(fileName) || \"\").toLowerCase();\n const baseMimeType = mimeType.replace(/\\/.*$/, \"\");\n return types.some((type) => {\n const validType = type.trim().toLowerCase();\n if (validType.charAt(0) === \".\") {\n return fileName.toLowerCase().endsWith(validType);\n }\n if (validType.endsWith(\"/*\")) {\n return baseMimeType === validType.replace(/\\/.*$/, \"\");\n }\n return mimeType === validType;\n });\n }\n return true;\n}\nfunction isValidFileType(file, accept) {\n const isAcceptable = file.type === \"application/x-moz-file\" || isFileAccepted(file, accept);\n return [isAcceptable, isAcceptable ? null : \"FILE_INVALID_TYPE\"];\n}\n\nexport { dataURItoBlob, downloadFile, getAcceptAttrString, getFileDataUrl, getFileEntries, getFileMimeType, getTotalFileSize, isFileEqual, isValidFileSize, isValidFileType };\n","import { createAnatomy } from '@zag-js/anatomy';\nimport { setElementValue, raf, contains, dataAttr, ariaAttr, isComposingEvent, isApple } from '@zag-js/dom-query';\nimport { createMachine } from '@zag-js/core';\nimport { trackInteractOutside } from '@zag-js/interact-outside';\nimport { createProps } from '@zag-js/types';\nimport { createSplitProps } from '@zag-js/utils';\n\n// src/editable.anatomy.ts\nvar anatomy = createAnatomy(\"editable\").parts(\n \"root\",\n \"area\",\n \"label\",\n \"preview\",\n \"input\",\n \"editTrigger\",\n \"submitTrigger\",\n \"cancelTrigger\",\n \"control\"\n);\nvar parts = anatomy.build();\n\n// src/editable.dom.ts\nvar getRootId = (ctx) => ctx.ids?.root ?? `editable:${ctx.id}`;\nvar getAreaId = (ctx) => ctx.ids?.area ?? `editable:${ctx.id}:area`;\nvar getLabelId = (ctx) => ctx.ids?.label ?? `editable:${ctx.id}:label`;\nvar getPreviewId = (ctx) => ctx.ids?.preview ?? `editable:${ctx.id}:preview`;\nvar getInputId = (ctx) => ctx.ids?.input ?? `editable:${ctx.id}:input`;\nvar getControlId = (ctx) => ctx.ids?.control ?? `editable:${ctx.id}:control`;\nvar getSubmitTriggerId = (ctx) => ctx.ids?.submitTrigger ?? `editable:${ctx.id}:submit`;\nvar getCancelTriggerId = (ctx) => ctx.ids?.cancelTrigger ?? `editable:${ctx.id}:cancel`;\nvar getEditTriggerId = (ctx) => ctx.ids?.editTrigger ?? `editable:${ctx.id}:edit`;\nvar getInputEl = (ctx) => ctx.getById(getInputId(ctx));\nvar getPreviewEl = (ctx) => ctx.getById(getPreviewId(ctx));\nvar getSubmitTriggerEl = (ctx) => ctx.getById(getSubmitTriggerId(ctx));\nvar getCancelTriggerEl = (ctx) => ctx.getById(getCancelTriggerId(ctx));\nvar getEditTriggerEl = (ctx) => ctx.getById(getEditTriggerId(ctx));\n\n// src/editable.connect.ts\nfunction connect(service, normalize) {\n const { state, context, send, prop, scope, computed } = service;\n const disabled = prop(\"disabled\");\n const interactive = computed(\"isInteractive\");\n const readOnly = prop(\"readOnly\");\n const invalid = prop(\"invalid\");\n const autoResize = prop(\"autoResize\");\n const translations = prop(\"translations\");\n const editing = state.matches(\"edit\");\n const placeholderProp = prop(\"placeholder\");\n const placeholder = typeof placeholderProp === \"string\" ? { edit: placeholderProp, preview: placeholderProp } : placeholderProp;\n const value = context.get(\"value\");\n const empty = value.trim() === \"\";\n const valueText = empty ? placeholder?.preview ?? \"\" : value;\n return {\n editing,\n empty,\n value,\n valueText,\n setValue(value2) {\n send({ type: \"VALUE.SET\", value: value2, src: \"setValue\" });\n },\n clearValue() {\n send({ type: \"VALUE.SET\", value: \"\", src: \"clearValue\" });\n },\n edit() {\n if (!interactive) return;\n send({ type: \"EDIT\" });\n },\n cancel() {\n if (!interactive) return;\n send({ type: \"CANCEL\" });\n },\n submit() {\n if (!interactive) return;\n send({ type: \"SUBMIT\" });\n },\n getRootProps() {\n return normalize.element({\n ...parts.root.attrs,\n id: getRootId(scope),\n dir: prop(\"dir\")\n });\n },\n getAreaProps() {\n return normalize.element({\n ...parts.area.attrs,\n id: getAreaId(scope),\n dir: prop(\"dir\"),\n style: autoResize ? { display: \"inline-grid\" } : void 0,\n \"data-focus\": dataAttr(editing),\n \"data-disabled\": dataAttr(disabled),\n \"data-placeholder-shown\": dataAttr(empty)\n });\n },\n getLabelProps() {\n return normalize.label({\n ...parts.label.attrs,\n id: getLabelId(scope),\n dir: prop(\"dir\"),\n htmlFor: getInputId(scope),\n \"data-focus\": dataAttr(editing),\n \"data-invalid\": dataAttr(invalid),\n onClick() {\n if (editing) return;\n const previewEl = getPreviewEl(scope);\n previewEl?.focus({ preventScroll: true });\n }\n });\n },\n getInputProps() {\n return normalize.input({\n ...parts.input.attrs,\n dir: prop(\"dir\"),\n \"aria-label\": translations?.input,\n name: prop(\"name\"),\n form: prop(\"form\"),\n id: getInputId(scope),\n hidden: autoResize ? void 0 : !editing,\n placeholder: placeholder?.edit,\n maxLength: prop(\"maxLength\"),\n required: prop(\"required\"),\n disabled,\n \"data-disabled\": dataAttr(disabled),\n readOnly,\n \"data-readonly\": dataAttr(readOnly),\n \"aria-invalid\": ariaAttr(invalid),\n \"data-invalid\": dataAttr(invalid),\n \"data-autoresize\": dataAttr(autoResize),\n defaultValue: value,\n size: autoResize ? 1 : void 0,\n onChange(event) {\n send({\n type: \"VALUE.SET\",\n src: \"input.change\",\n value: event.currentTarget.value\n });\n },\n onKeyDown(event) {\n if (event.defaultPrevented) return;\n if (isComposingEvent(event)) return;\n const keyMap = {\n Escape() {\n send({ type: \"CANCEL\" });\n event.preventDefault();\n },\n Enter(event2) {\n if (!computed(\"submitOnEnter\")) return;\n const { localName } = event2.currentTarget;\n if (localName === \"textarea\") {\n const submitMod = isApple() ? event2.metaKey : event2.ctrlKey;\n if (!submitMod) return;\n send({ type: \"SUBMIT\", src: \"keydown.enter\" });\n return;\n }\n if (localName === \"input\" && !event2.shiftKey && !event2.metaKey) {\n send({ type: \"SUBMIT\", src: \"keydown.enter\" });\n event2.preventDefault();\n }\n }\n };\n const exec = keyMap[event.key];\n if (exec) {\n exec(event);\n }\n },\n style: autoResize ? {\n gridArea: \"1 / 1 / auto / auto\",\n visibility: !editing ? \"hidden\" : void 0\n } : void 0\n });\n },\n getPreviewProps() {\n return normalize.element({\n id: getPreviewId(scope),\n ...parts.preview.attrs,\n dir: prop(\"dir\"),\n \"data-placeholder-shown\": dataAttr(empty),\n \"aria-readonly\": ariaAttr(readOnly),\n \"data-readonly\": dataAttr(disabled),\n \"data-disabled\": dataAttr(disabled),\n \"aria-disabled\": ariaAttr(disabled),\n \"aria-invalid\": ariaAttr(invalid),\n \"data-invalid\": dataAttr(invalid),\n \"aria-label\": translations?.edit,\n \"data-autoresize\": dataAttr(autoResize),\n children: valueText,\n hidden: autoResize ? void 0 : editing,\n tabIndex: interactive ? 0 : void 0,\n onClick() {\n if (!interactive) return;\n if (prop(\"activationMode\") !== \"click\") return;\n send({ type: \"EDIT\", src: \"click\" });\n },\n onFocus() {\n if (!interactive) return;\n if (prop(\"activationMode\") !== \"focus\") return;\n send({ type: \"EDIT\", src: \"focus\" });\n },\n onDoubleClick(event) {\n if (event.defaultPrevented) return;\n if (!interactive) return;\n if (prop(\"activationMode\") !== \"dblclick\") return;\n send({ type: \"EDIT\", src: \"dblclick\" });\n },\n style: autoResize ? {\n whiteSpace: \"pre\",\n userSelect: \"none\",\n gridArea: \"1 / 1 / auto / auto\",\n visibility: editing ? \"hidden\" : void 0,\n // in event the preview overflow's the parent element\n overflow: \"hidden\",\n textOverflow: \"ellipsis\"\n } : void 0\n });\n },\n getEditTriggerProps() {\n return normalize.button({\n ...parts.editTrigger.attrs,\n id: getEditTriggerId(scope),\n dir: prop(\"dir\"),\n \"aria-label\": translations?.edit,\n hidden: editing,\n type: \"button\",\n disabled,\n onClick(event) {\n if (event.defaultPrevented) return;\n if (!interactive) return;\n send({ type: \"EDIT\", src: \"edit.click\" });\n }\n });\n },\n getControlProps() {\n return normalize.element({\n id: getControlId(scope),\n ...parts.control.attrs,\n dir: prop(\"dir\")\n });\n },\n getSubmitTriggerProps() {\n return normalize.button({\n ...parts.submitTrigger.attrs,\n dir: prop(\"dir\"),\n id: getSubmitTriggerId(scope),\n \"aria-label\": translations?.submit,\n hidden: !editing,\n disabled,\n type: \"button\",\n onClick(event) {\n if (event.defaultPrevented) return;\n if (!interactive) return;\n send({ type: \"SUBMIT\", src: \"submit.click\" });\n }\n });\n },\n getCancelTriggerProps() {\n return normalize.button({\n ...parts.cancelTrigger.attrs,\n dir: prop(\"dir\"),\n \"aria-label\": translations?.cancel,\n id: getCancelTriggerId(scope),\n hidden: !editing,\n type: \"button\",\n disabled,\n onClick(event) {\n if (event.defaultPrevented) return;\n if (!interactive) return;\n send({ type: \"CANCEL\", src: \"cancel.click\" });\n }\n });\n }\n };\n}\nvar machine = createMachine({\n props({ props: props2 }) {\n return {\n activationMode: \"focus\",\n submitMode: \"both\",\n defaultValue: \"\",\n selectOnFocus: true,\n ...props2,\n translations: {\n input: \"editable input\",\n edit: \"edit\",\n submit: \"submit\",\n cancel: \"cancel\",\n ...props2.translations\n }\n };\n },\n initialState({ prop }) {\n const edit = prop(\"edit\") || prop(\"defaultEdit\");\n return edit ? \"edit\" : \"preview\";\n },\n entry: [\"focusInputIfNeeded\"],\n context: ({ bindable, prop }) => {\n return {\n value: bindable(() => ({\n defaultValue: prop(\"defaultValue\"),\n value: prop(\"value\"),\n onChange(value) {\n return prop(\"onValueChange\")?.({ value });\n }\n })),\n previousValue: bindable(() => ({\n defaultValue: \"\"\n }))\n };\n },\n watch({ track, action, context, prop }) {\n track([() => context.get(\"value\")], () => {\n action([\"syncInputValue\"]);\n });\n track([() => prop(\"edit\")], () => {\n action([\"toggleEditing\"]);\n });\n },\n computed: {\n submitOnEnter({ prop }) {\n const submitMode = prop(\"submitMode\");\n return submitMode === \"both\" || submitMode === \"enter\";\n },\n submitOnBlur({ prop }) {\n const submitMode = prop(\"submitMode\");\n return submitMode === \"both\" || submitMode === \"blur\";\n },\n isInteractive({ prop }) {\n return !(prop(\"disabled\") || prop(\"readOnly\"));\n }\n },\n on: {\n \"VALUE.SET\": {\n actions: [\"setValue\"]\n }\n },\n states: {\n preview: {\n entry: [\"blurInputIfNeeded\"],\n on: {\n \"CONTROLLED.EDIT\": {\n target: \"edit\",\n actions: [\"setPreviousValue\", \"focusInput\"]\n },\n EDIT: [\n {\n guard: \"isEditControlled\",\n actions: [\"invokeOnEdit\"]\n },\n {\n target: \"edit\",\n actions: [\"setPreviousValue\", \"focusInput\", \"invokeOnEdit\"]\n }\n ]\n }\n },\n edit: {\n effects: [\"trackInteractOutside\"],\n on: {\n \"CONTROLLED.PREVIEW\": [\n {\n guard: \"isSubmitEvent\",\n target: \"preview\",\n actions: [\"setPreviousValue\", \"restoreFocus\", \"invokeOnSubmit\"]\n },\n {\n target: \"preview\",\n actions: [\"revertValue\", \"restoreFocus\", \"invokeOnCancel\"]\n }\n ],\n CANCEL: [\n {\n guard: \"isEditControlled\",\n actions: [\"invokeOnPreview\"]\n },\n {\n target: \"preview\",\n actions: [\"revertValue\", \"restoreFocus\", \"invokeOnCancel\", \"invokeOnPreview\"]\n }\n ],\n SUBMIT: [\n {\n guard: \"isEditControlled\",\n actions: [\"invokeOnPreview\"]\n },\n {\n target: \"preview\",\n actions: [\"setPreviousValue\", \"restoreFocus\", \"invokeOnSubmit\", \"invokeOnPreview\"]\n }\n ]\n }\n }\n },\n implementations: {\n guards: {\n isEditControlled: ({ prop }) => prop(\"edit\") != void 0,\n isSubmitEvent: ({ event }) => event.previousEvent?.type === \"SUBMIT\"\n },\n effects: {\n trackInteractOutside({ send, scope, prop, computed }) {\n return trackInteractOutside(getInputEl(scope), {\n exclude(target) {\n const ignore = [getCancelTriggerEl(scope), getSubmitTriggerEl(scope)];\n return ignore.some((el) => contains(el, target));\n },\n onFocusOutside: prop(\"onFocusOutside\"),\n onPointerDownOutside: prop(\"onPointerDownOutside\"),\n onInteractOutside(event) {\n prop(\"onInteractOutside\")?.(event);\n if (event.defaultPrevented) return;\n const { focusable } = event.detail;\n send({\n type: computed(\"submitOnBlur\") ? \"SUBMIT\" : \"CANCEL\",\n src: \"interact-outside\",\n focusable\n });\n }\n });\n }\n },\n actions: {\n restoreFocus({ event, scope, prop }) {\n if (event.focusable) return;\n raf(() => {\n const finalEl = prop(\"finalFocusEl\")?.() ?? getEditTriggerEl(scope);\n finalEl?.focus({ preventScroll: true });\n });\n },\n clearValue({ context }) {\n context.set(\"value\", \"\");\n },\n focusInputIfNeeded({ action, prop }) {\n const edit = prop(\"edit\") || prop(\"defaultEdit\");\n if (!edit) return;\n action([\"focusInput\"]);\n },\n focusInput({ scope, prop }) {\n raf(() => {\n const inputEl = getInputEl(scope);\n if (!inputEl) return;\n if (prop(\"selectOnFocus\")) {\n inputEl.select();\n } else {\n inputEl.focus({ preventScroll: true });\n }\n });\n },\n invokeOnCancel({ prop, context }) {\n const prev = context.get(\"previousValue\");\n prop(\"onValueRevert\")?.({ value: prev });\n },\n invokeOnSubmit({ prop, context }) {\n const value = context.get(\"value\");\n prop(\"onValueCommit\")?.({ value });\n },\n invokeOnEdit({ prop }) {\n prop(\"onEditChange\")?.({ edit: true });\n },\n invokeOnPreview({ prop }) {\n prop(\"onEditChange\")?.({ edit: false });\n },\n toggleEditing({ prop, send, event }) {\n send({\n type: prop(\"edit\") ? \"CONTROLLED.EDIT\" : \"CONTROLLED.PREVIEW\",\n previousEvent: event\n });\n },\n syncInputValue({ context, scope }) {\n const inputEl = getInputEl(scope);\n if (!inputEl) return;\n setElementValue(inputEl, context.get(\"value\"));\n },\n setValue({ context, prop, event }) {\n const max = prop(\"maxLength\");\n const value = max != null ? event.value.slice(0, max) : event.value;\n context.set(\"value\", value);\n },\n setPreviousValue({ context }) {\n context.set(\"previousValue\", context.get(\"value\"));\n },\n revertValue({ context }) {\n const value = context.get(\"previousValue\");\n if (!value) return;\n context.set(\"value\", value);\n },\n blurInputIfNeeded({ scope }) {\n getInputEl(scope)?.blur();\n }\n }\n }\n});\nvar props = createProps()([\n \"activationMode\",\n \"autoResize\",\n \"dir\",\n \"disabled\",\n \"finalFocusEl\",\n \"form\",\n \"getRootNode\",\n \"id\",\n \"ids\",\n \"invalid\",\n \"maxLength\",\n \"name\",\n \"onEditChange\",\n \"onFocusOutside\",\n \"onInteractOutside\",\n \"onPointerDownOutside\",\n \"onValueChange\",\n \"onValueCommit\",\n \"onValueRevert\",\n \"placeholder\",\n \"readOnly\",\n \"required\",\n \"selectOnFocus\",\n \"edit\",\n \"defaultEdit\",\n \"submitMode\",\n \"translations\",\n \"defaultValue\",\n \"value\"\n]);\nvar splitProps = createSplitProps(props);\n\nexport { anatomy, connect, machine, props, splitProps };\n","import { getWindow } from '@zag-js/dom-query';\n\n// src/cache.ts\nfunction i18nCache(Ins) {\n const formatterCache = /* @__PURE__ */ new Map();\n return function create(locale, options) {\n const cacheKey = locale + (options ? Object.entries(options).sort((a, b) => a[0] < b[0] ? -1 : 1).join() : \"\");\n if (formatterCache.has(cacheKey)) {\n return formatterCache.get(cacheKey);\n }\n let formatter = new Ins(locale, options);\n formatterCache.set(cacheKey, formatter);\n return formatter;\n };\n}\n\n// src/collator.ts\nvar getCollator = i18nCache(Intl.Collator);\nfunction createCollator(locale = \"en-US\", options = {}) {\n return getCollator(locale, options);\n}\n\n// src/filter.ts\nvar collatorCache = i18nCache(Intl.Collator);\nfunction createFilter(options) {\n const { locale, ...rest } = options || {};\n const collator = collatorCache(locale || \"en-US\", { usage: \"search\", ...rest });\n function normalize(string) {\n string = string.normalize(\"NFC\");\n if (collator.resolvedOptions().ignorePunctuation) {\n string = string.replace(/\\p{P}/gu, \"\");\n }\n return string;\n }\n function startsWith(string, substring) {\n if (substring.length === 0) return true;\n string = normalize(string);\n substring = normalize(substring);\n return collator.compare(string.slice(0, substring.length), substring) === 0;\n }\n function endsWith(string, substring) {\n if (substring.length === 0) return true;\n string = normalize(string);\n substring = normalize(substring);\n return collator.compare(string.slice(-substring.length), substring) === 0;\n }\n function contains(string, substring) {\n if (substring.length === 0) return true;\n string = normalize(string);\n substring = normalize(substring);\n let scan = 0;\n let sliceLen = substring.length;\n for (; scan + sliceLen <= string.length; scan++) {\n let slice = string.slice(scan, scan + sliceLen);\n if (collator.compare(substring, slice) === 0) {\n return true;\n }\n }\n return false;\n }\n return {\n startsWith,\n endsWith,\n contains\n };\n}\n\n// src/format-number.ts\nvar getNumberFormatter = i18nCache(Intl.NumberFormat);\nfunction formatNumber(v, locale, options = {}) {\n const formatter = getNumberFormatter(locale, options);\n return formatter.format(v);\n}\n\n// src/format-bytes.ts\nvar bitPrefixes = [\"\", \"kilo\", \"mega\", \"giga\", \"tera\"];\nvar bytePrefixes = [\"\", \"kilo\", \"mega\", \"giga\", \"tera\", \"peta\"];\nvar formatBytes = (bytes, locale = \"en-US\", options = {}) => {\n if (isNaN(bytes)) return \"\";\n if (bytes === 0) return \"0 B\";\n const { unit = \"byte\", unitDisplay = \"short\" } = options;\n const prefix = unit === \"bit\" ? bitPrefixes : bytePrefixes;\n const index = Math.max(0, Math.min(Math.floor(Math.log10(bytes) / 3), prefix.length - 1));\n const _unit = prefix[index] + unit;\n const _unitDisplay = unitDisplay || \"short\";\n const v = parseFloat((bytes / Math.pow(1e3, index)).toPrecision(3));\n return formatNumber(v, locale, {\n style: \"unit\",\n unit: _unit,\n unitDisplay: _unitDisplay\n });\n};\n\n// src/format-date.ts\nvar symbols = \"\\\\s|\\\\.|-|/|\\\\\\\\|,|\\\\$|\\\\!|\\\\?|:|;\";\nfunction createRegEx(sign) {\n return new RegExp(\"(^|>|\" + symbols + \")(\" + sign + \")($|<|\" + symbols + \")\", \"g\");\n}\nvar FORMATS = [\n \"G\",\n \"GG\",\n \"GGG\",\n \"GGGG\",\n \"GGGGG\",\n \"y\",\n \"yo\",\n \"yy\",\n \"yyy\",\n \"yyyy\",\n \"Y\",\n \"Yo\",\n \"YY\",\n \"YYY\",\n \"YYYY\",\n \"Q\",\n \"Qo\",\n \"QQ\",\n \"QQQ\",\n \"QQQQ\",\n \"QQQQQ\",\n \"M\",\n \"Mo\",\n \"MM\",\n \"MMM\",\n \"MMMM\",\n \"MMMMM\",\n \"E\",\n \"EE\",\n \"EEE\",\n \"EEEE\",\n \"EEEEE\",\n \"EEEEEE\",\n \"a\",\n \"aa\",\n \"aaa\",\n \"aaaa\",\n \"aaaaa\",\n \"d\",\n \"do\",\n \"dd\",\n \"D\",\n \"Do\",\n \"DD\",\n \"DDD\",\n \"w\",\n \"wo\",\n \"ww\",\n \"s\",\n \"so\",\n \"ss\",\n \"m\",\n \"mo\",\n \"mm\",\n \"h\",\n \"ho\",\n \"hh\",\n \"H\",\n \"Ho\",\n \"HH\",\n \"z\",\n \"zz\",\n \"zzz\",\n \"zzzz\",\n \"T\"\n];\nfunction ordinal(num) {\n const n = typeof num === \"string\" ? parseFloat(num) : num;\n let suffix = \"th\";\n if (n % 10 === 1 && n % 100 !== 11) {\n suffix = \"st\";\n } else if (n % 10 === 2 && n % 100 !== 12) {\n suffix = \"nd\";\n } else if (n % 10 === 3 && n % 100 !== 13) {\n suffix = \"rd\";\n }\n return `${n}${suffix}`;\n}\nfunction pad(num, length) {\n return String(num).padStart(length, \"0\");\n}\nfunction zone(str) {\n return str.split(/AM|PM/)[1].trim();\n}\nfunction getFormat(date, options) {\n const { locale, format, timeZone } = options;\n switch (format) {\n // era\n case \"G\":\n case \"GG\":\n case \"GGG\":\n return date.toLocaleString(locale, { era: \"short\" });\n case \"GGGG\":\n return date.toLocaleString(locale, { era: \"long\" });\n case \"GGGGG\":\n return date.toLocaleString(locale, { era: \"narrow\" });\n // year\n case \"y\":\n case \"Y\":\n return date.getFullYear();\n case \"yo\":\n case \"Yo\":\n return ordinal(date.toLocaleString(locale, { year: \"numeric\" }));\n case \"yy\":\n case \"YY\":\n return date.toLocaleString(locale, { year: \"2-digit\" });\n case \"yyy\":\n case \"YYY\":\n return date.toLocaleString(locale, { year: \"numeric\" }).padStart(3, \"0\");\n case \"yyyy\":\n case \"YYYY\":\n return date.toLocaleString(locale, { year: \"numeric\" }).padStart(4, \"0\");\n // quarter\n case \"Q\":\n case \"QQQQQ\":\n return Math.ceil((date.getMonth() + 1) / 3);\n case \"Qo\":\n return ordinal(Math.ceil((date.getMonth() + 1) / 3));\n case \"QQ\":\n return pad(Math.ceil((date.getMonth() + 1) / 3), 2);\n case \"QQQ\":\n return `Q${Math.ceil((date.getMonth() + 1) / 3)}`;\n case \"QQQQ\": {\n const base = ordinal(String(Math.ceil((date.getMonth() + 1) / 3)));\n return `${base} quarter`;\n }\n // month\n case \"M\":\n return date.getMonth() + 1;\n case \"Mo\":\n return ordinal(date.getMonth() + 1);\n case \"MM\":\n return date.toLocaleString(locale, { month: \"2-digit\" });\n case \"MMM\":\n return date.toLocaleString(locale, { month: \"short\" });\n case \"MMMM\":\n return date.toLocaleString(locale, { month: \"long\" });\n case \"MMMMM\":\n return date.toLocaleString(locale, { month: \"narrow\" });\n // week\n case \"w\":\n return Math.ceil(date.getDate() / 7);\n case \"wo\":\n return ordinal(Math.ceil(date.getDate() / 7));\n case \"ww\":\n return pad(Math.ceil(date.getDate() / 7), 2);\n // day\n case \"d\":\n case \"D\":\n return date.getDate();\n case \"do\":\n case \"Do\":\n return ordinal(date.getDate());\n case \"dd\":\n case \"DD\":\n return date.toLocaleString(locale, { day: \"2-digit\" });\n case \"DDD\":\n return pad(date.getDate(), 3);\n // weekday\n case \"E\":\n case \"EE\":\n case \"EEE\":\n return date.toLocaleString(locale, { weekday: \"short\" });\n case \"EEEE\":\n return date.toLocaleString(locale, { weekday: \"long\" });\n case \"EEEEE\":\n return date.toLocaleString(locale, { weekday: \"narrow\" });\n case \"EEEEEE\":\n return date.toLocaleString(locale, { weekday: \"short\" }).slice(0, 2);\n // hour\n case \"h\":\n return date.toLocaleString(locale, { hour: \"numeric\", hour12: true });\n case \"ho\":\n return ordinal(date.toLocaleString(locale, { hour: \"2-digit\", hour12: true }));\n case \"hh\":\n return date.toLocaleString(locale, { hour: \"2-digit\", hour12: true });\n case \"H\":\n return date.toLocaleString(locale, { hour: \"numeric\", hour12: false });\n case \"Ho\":\n return ordinal(+date.toLocaleString(locale, { hour: \"numeric\", hour12: false }));\n case \"HH\":\n return date.toLocaleString(locale, { hour: \"2-digit\", hour12: false });\n // minute\n case \"m\":\n return date.toLocaleString(locale, { minute: \"numeric\" });\n case \"mo\":\n return ordinal(date.toLocaleString(locale, { minute: \"numeric\" }));\n case \"mm\":\n return date.toLocaleString(locale, { minute: \"2-digit\" });\n // second\n case \"s\":\n return date.toLocaleString(locale, { second: \"numeric\" });\n case \"so\":\n return ordinal(date.toLocaleString(locale, { second: \"numeric\" }));\n case \"ss\":\n return date.toLocaleString(locale, { second: \"2-digit\" });\n // timestamp\n case \"T\":\n return date.getTime();\n // day period\n case \"a\":\n case \"aa\":\n case \"aaa\":\n return date.toLocaleString(locale, { hour: \"numeric\", hour12: true }).toLocaleUpperCase();\n case \"aaaa\":\n return date.toLocaleString(locale, { hour: \"numeric\", hour12: true }).toLocaleLowerCase();\n case \"aaaaa\":\n return date.toLocaleString(locale, { hour: \"numeric\", hour12: true }).charAt(0);\n // TODO:Revise this\n case \"z\":\n case \"zz\":\n case \"zzz\": {\n return zone(date.toLocaleString(locale, { timeZone, timeZoneName: \"shortOffset\" }));\n }\n case \"zzzz\":\n return zone(date.toLocaleString(locale, { timeZone, timeZoneName: \"longOffset\" }));\n default:\n throw new Error(`Unknown format: ${format}`);\n }\n}\nfunction formatDate(date, format, locale, timeZone) {\n let result = format;\n for (const key of FORMATS) {\n const res = getFormat(date, { locale, format: key, timeZone });\n result = result.replace(createRegEx(key), \"$1\" + res + \"$3\");\n }\n return result;\n}\n\n// src/format-list.ts\nvar getListFormatter = i18nCache(Intl.ListFormat);\nfunction formatList(list, locale, options = {}) {\n const formatter = getListFormatter(locale, options);\n return formatter.format(list);\n}\n\n// src/format-relative-time.ts\nvar getRelativeTimeFormatter = i18nCache(Intl.RelativeTimeFormat);\nfunction formatRelativeTime(value, locale, options = {}) {\n const rtf = getRelativeTimeFormatter(locale, options);\n const now = /* @__PURE__ */ new Date();\n const diff = getDistance(now, value);\n if (diff.years > 0) return rtf.format(diff.years * diff.sign, \"year\");\n if (diff.months > 0) return rtf.format(diff.months * diff.sign, \"month\");\n if (diff.weeks > 0) return rtf.format(diff.weeks * diff.sign, \"week\");\n if (diff.days > 0) return rtf.format(diff.days * diff.sign, \"day\");\n if (diff.hours > 0) return rtf.format(diff.hours * diff.sign, \"hour\");\n if (diff.minutes > 0) return rtf.format(diff.minutes * diff.sign, \"minute\");\n return rtf.format(diff.seconds * diff.sign, \"second\");\n}\nvar SECOND_TO_MS = 1e3;\nvar MINUTE_TO_MS = 1e3 * 60;\nvar HOUR_TO_MS = 1e3 * 60 * 60;\nvar DAY_TO_MS = 1e3 * 60 * 60 * 24;\nvar WEEK_TO_MS = 1e3 * 60 * 60 * 24 * 7;\nvar MONTH_TO_MS = 1e3 * 60 * 60 * 24 * 30;\nvar YEAR_TO_MS = 1e3 * 60 * 60 * 24 * 365;\nfunction getDistance(startDate, endDate) {\n const endTime = endDate.getTime();\n const startTime = startDate.getTime();\n const distance = Math.abs(endTime - startTime);\n return {\n sign: Math.sign(endTime - startTime),\n days: Math.floor(distance / DAY_TO_MS),\n hours: Math.floor(distance % DAY_TO_MS / HOUR_TO_MS),\n minutes: Math.floor(distance % HOUR_TO_MS / MINUTE_TO_MS),\n seconds: Math.floor(distance % MINUTE_TO_MS / SECOND_TO_MS),\n weeks: Math.floor(distance / WEEK_TO_MS),\n months: Math.floor(distance / MONTH_TO_MS),\n years: Math.floor(distance / YEAR_TO_MS)\n };\n}\n\n// src/is-rtl.ts\nvar RTL_SCRIPTS = /* @__PURE__ */ new Set([\n \"Avst\",\n \"Arab\",\n \"Armi\",\n \"Syrc\",\n \"Samr\",\n \"Mand\",\n \"Thaa\",\n \"Mend\",\n \"Nkoo\",\n \"Adlm\",\n \"Rohg\",\n \"Hebr\"\n]);\nvar RTL_LANGS = /* @__PURE__ */ new Set([\n \"ae\",\n \"ar\",\n \"arc\",\n \"bcc\",\n \"bqi\",\n \"ckb\",\n \"dv\",\n \"fa\",\n \"glk\",\n \"he\",\n \"ku\",\n \"mzn\",\n \"nqo\",\n \"pnb\",\n \"ps\",\n \"sd\",\n \"ug\",\n \"ur\",\n \"yi\"\n]);\nfunction isRTL(locale) {\n if (Intl.Locale) {\n const script = new Intl.Locale(locale).maximize().script ?? \"\";\n return RTL_SCRIPTS.has(script);\n }\n const lang = locale.split(\"-\")[0];\n return RTL_LANGS.has(lang);\n}\nfunction getLocaleDir(locale) {\n return isRTL(locale) ? \"rtl\" : \"ltr\";\n}\n\n// src/locale.ts\nfunction getDefaultLocale() {\n let locale = typeof navigator !== \"undefined\" && (navigator.language || navigator.userLanguage) || \"en-US\";\n return {\n locale,\n dir: isRTL(locale) ? \"rtl\" : \"ltr\"\n };\n}\nfunction trackLocale(options = {}) {\n const { getRootNode, onLocaleChange } = options;\n onLocaleChange?.(getDefaultLocale());\n const handleLocaleChange = () => {\n onLocaleChange?.(getDefaultLocale());\n };\n const win = getRootNode ? getWindow(getRootNode()) : window;\n win.addEventListener(\"languagechange\", handleLocaleChange);\n return () => {\n win.removeEventListener(\"languagechange\", handleLocaleChange);\n };\n}\n\nexport { createCollator, createFilter, formatBytes, formatDate, formatList, formatNumber, formatRelativeTime, getDefaultLocale, getLocaleDir, isRTL, trackLocale };\n","import { createAnatomy } from '@zag-js/anatomy';\nimport { raf, addDomEvent, getWindow, contains, getEventTarget, dataAttr, visuallyHiddenStyle, isSelfTarget } from '@zag-js/dom-query';\nimport { getAcceptAttrString, isFileEqual, isValidFileType, isValidFileSize, getFileEntries } from '@zag-js/file-utils';\nimport { formatBytes } from '@zag-js/i18n-utils';\nimport { createProps } from '@zag-js/types';\nimport { warn, callAll, createSplitProps, flatArray } from '@zag-js/utils';\nimport { createMachine } from '@zag-js/core';\n\n// src/file-upload.anatomy.ts\nvar anatomy = createAnatomy(\"file-upload\").parts(\n \"root\",\n \"dropzone\",\n \"item\",\n \"itemDeleteTrigger\",\n \"itemGroup\",\n \"itemName\",\n \"itemPreview\",\n \"itemPreviewImage\",\n \"itemSizeText\",\n \"label\",\n \"trigger\",\n \"clearTrigger\"\n);\nvar parts = anatomy.build();\n\n// src/file-upload.dom.ts\nvar getRootId = (ctx) => ctx.ids?.root ?? `file:${ctx.id}`;\nvar getDropzoneId = (ctx) => ctx.ids?.dropzone ?? `file:${ctx.id}:dropzone`;\nvar getHiddenInputId = (ctx) => ctx.ids?.hiddenInput ?? `file:${ctx.id}:input`;\nvar getTriggerId = (ctx) => ctx.ids?.trigger ?? `file:${ctx.id}:trigger`;\nvar getLabelId = (ctx) => ctx.ids?.label ?? `file:${ctx.id}:label`;\nvar getItemId = (ctx, id) => ctx.ids?.item?.(id) ?? `file:${ctx.id}:item:${id}`;\nvar getItemNameId = (ctx, id) => ctx.ids?.itemName?.(id) ?? `file:${ctx.id}:item-name:${id}`;\nvar getItemSizeTextId = (ctx, id) => ctx.ids?.itemSizeText?.(id) ?? `file:${ctx.id}:item-size:${id}`;\nvar getItemPreviewId = (ctx, id) => ctx.ids?.itemPreview?.(id) ?? `file:${ctx.id}:item-preview:${id}`;\nvar getRootEl = (ctx) => ctx.getById(getRootId(ctx));\nvar getHiddenInputEl = (ctx) => ctx.getById(getHiddenInputId(ctx));\nvar getDropzoneEl = (ctx) => ctx.getById(getDropzoneId(ctx));\nfunction isEventWithFiles(event) {\n const target = getEventTarget(event);\n if (!event.dataTransfer) return !!target && \"files\" in target;\n return event.dataTransfer.types.some((type) => {\n return type === \"Files\" || type === \"application/x-moz-file\";\n });\n}\nfunction isFilesWithinRange(ctx, incomingCount, currentAcceptedFiles) {\n const { prop, computed } = ctx;\n if (!computed(\"multiple\") && incomingCount > 1) return false;\n if (!computed(\"multiple\") && incomingCount + currentAcceptedFiles.length === 2) return true;\n if (incomingCount + currentAcceptedFiles.length > prop(\"maxFiles\")) return false;\n return true;\n}\nfunction getEventFiles(ctx, files, currentAcceptedFiles = [], currentRejectedFiles = []) {\n const { prop, computed } = ctx;\n const acceptedFiles = [];\n const rejectedFiles = [];\n const validateParams = {\n acceptedFiles: currentAcceptedFiles,\n rejectedFiles: currentRejectedFiles\n };\n files.forEach((file) => {\n const [accepted, acceptError] = isValidFileType(file, computed(\"acceptAttr\"));\n const [sizeMatch, sizeError] = isValidFileSize(file, prop(\"minFileSize\"), prop(\"maxFileSize\"));\n const validateErrors = prop(\"validate\")?.(file, validateParams);\n const valid = validateErrors ? validateErrors.length === 0 : true;\n if (accepted && sizeMatch && valid) {\n acceptedFiles.push(file);\n } else {\n const errors = [acceptError, sizeError];\n if (!valid) errors.push(...validateErrors ?? []);\n rejectedFiles.push({ file, errors: errors.filter(Boolean) });\n }\n });\n if (!isFilesWithinRange(ctx, acceptedFiles.length, currentAcceptedFiles)) {\n acceptedFiles.forEach((file) => {\n rejectedFiles.push({ file, errors: [\"TOO_MANY_FILES\"] });\n });\n acceptedFiles.splice(0);\n }\n return {\n acceptedFiles,\n rejectedFiles\n };\n}\nfunction setInputFiles(inputEl, files) {\n const win = getWindow(inputEl);\n try {\n if (\"DataTransfer\" in win) {\n const dataTransfer = new win.DataTransfer();\n files.forEach((file) => {\n dataTransfer.items.add(file);\n });\n inputEl.files = dataTransfer.files;\n }\n } catch {\n }\n}\n\n// src/file-upload.connect.ts\nfunction connect(service, normalize) {\n const { state, send, prop, computed, scope, context } = service;\n const disabled = prop(\"disabled\");\n const allowDrop = prop(\"allowDrop\");\n const translations = prop(\"translations\");\n const dragging = state.matches(\"dragging\");\n const focused = state.matches(\"focused\") && !disabled;\n return {\n dragging,\n focused,\n disabled: !!disabled,\n transforming: context.get(\"transforming\"),\n openFilePicker() {\n if (disabled) return;\n send({ type: \"OPEN\" });\n },\n deleteFile(file) {\n send({ type: \"FILE.DELETE\", file });\n },\n acceptedFiles: context.get(\"acceptedFiles\"),\n rejectedFiles: context.get(\"rejectedFiles\"),\n setFiles(files) {\n send({ type: \"FILES.SET\", files, count: files.length });\n },\n clearRejectedFiles() {\n send({ type: \"REJECTED_FILES.CLEAR\" });\n },\n clearFiles() {\n send({ type: \"FILES.CLEAR\" });\n },\n getFileSize(file) {\n return formatBytes(file.size, prop(\"locale\"));\n },\n createFileUrl(file, cb) {\n const win = scope.getWin();\n const url = win.URL.createObjectURL(file);\n cb(url);\n return () => win.URL.revokeObjectURL(url);\n },\n setClipboardFiles(dt) {\n if (disabled) return false;\n const items = Array.from(dt?.items ?? []);\n const files = items.reduce((acc, item) => {\n if (item.kind !== \"file\") return acc;\n const file = item.getAsFile();\n if (!file) return acc;\n return [...acc, file];\n }, []);\n if (!files.length) return false;\n send({ type: \"FILES.SET\", files });\n return true;\n },\n getRootProps() {\n return normalize.element({\n ...parts.root.attrs,\n dir: prop(\"dir\"),\n id: getRootId(scope),\n \"data-disabled\": dataAttr(disabled),\n \"data-dragging\": dataAttr(dragging)\n });\n },\n getDropzoneProps(props2 = {}) {\n return normalize.element({\n ...parts.dropzone.attrs,\n dir: prop(\"dir\"),\n id: getDropzoneId(scope),\n tabIndex: disabled || props2.disableClick ? void 0 : 0,\n role: props2.disableClick ? \"application\" : \"button\",\n \"aria-label\": translations.dropzone,\n \"aria-disabled\": disabled,\n \"data-invalid\": dataAttr(prop(\"invalid\")),\n \"data-disabled\": dataAttr(disabled),\n \"data-dragging\": dataAttr(dragging),\n onKeyDown(event) {\n if (disabled) return;\n if (event.defaultPrevented) return;\n if (!isSelfTarget(event)) return;\n if (props2.disableClick) return;\n if (event.key !== \"Enter\" && event.key !== \" \") return;\n send({ type: \"DROPZONE.CLICK\", src: \"keydown\" });\n },\n onClick(event) {\n if (disabled) return;\n if (event.defaultPrevented) return;\n if (props2.disableClick) return;\n if (!isSelfTarget(event)) return;\n if (event.currentTarget.localName === \"label\") {\n event.preventDefault();\n }\n send({ type: \"DROPZONE.CLICK\" });\n },\n onDragOver(event) {\n if (disabled) return;\n if (!allowDrop) return;\n event.preventDefault();\n event.stopPropagation();\n try {\n event.dataTransfer.dropEffect = \"copy\";\n } catch {\n }\n const hasFiles = isEventWithFiles(event);\n if (!hasFiles) return;\n const count = event.dataTransfer.items.length;\n send({ type: \"DROPZONE.DRAG_OVER\", count });\n },\n onDragLeave(event) {\n if (disabled) return;\n if (!allowDrop) return;\n if (contains(event.currentTarget, event.relatedTarget)) return;\n send({ type: \"DROPZONE.DRAG_LEAVE\" });\n },\n onDrop(event) {\n if (disabled) return;\n if (allowDrop) {\n event.preventDefault();\n event.stopPropagation();\n }\n const hasFiles = isEventWithFiles(event);\n if (disabled || !hasFiles) return;\n getFileEntries(event.dataTransfer.items, prop(\"directory\")).then((files) => {\n send({ type: \"DROPZONE.DROP\", files: flatArray(files) });\n });\n },\n onFocus() {\n if (disabled) return;\n send({ type: \"DROPZONE.FOCUS\" });\n },\n onBlur() {\n if (disabled) return;\n send({ type: \"DROPZONE.BLUR\" });\n }\n });\n },\n getTriggerProps() {\n return normalize.button({\n ...parts.trigger.attrs,\n dir: prop(\"dir\"),\n id: getTriggerId(scope),\n disabled,\n \"data-disabled\": dataAttr(disabled),\n \"data-invalid\": dataAttr(prop(\"invalid\")),\n type: \"button\",\n onClick(event) {\n if (disabled) return;\n if (contains(getDropzoneEl(scope), event.currentTarget)) {\n event.stopPropagation();\n }\n send({ type: \"OPEN\" });\n }\n });\n },\n getHiddenInputProps() {\n return normalize.input({\n id: getHiddenInputId(scope),\n tabIndex: -1,\n disabled,\n type: \"file\",\n required: prop(\"required\"),\n capture: prop(\"capture\"),\n name: prop(\"name\"),\n accept: computed(\"acceptAttr\"),\n webkitdirectory: prop(\"directory\") ? \"\" : void 0,\n multiple: computed(\"multiple\") || prop(\"maxFiles\") > 1,\n onClick(event) {\n event.stopPropagation();\n event.currentTarget.value = \"\";\n },\n onInput(event) {\n if (disabled) return;\n const { files } = event.currentTarget;\n send({ type: \"FILE.SELECT\", files: files ? Array.from(files) : [] });\n },\n style: visuallyHiddenStyle\n });\n },\n getItemGroupProps() {\n return normalize.element({\n ...parts.itemGroup.attrs,\n dir: prop(\"dir\"),\n \"data-disabled\": dataAttr(disabled)\n });\n },\n getItemProps(props2) {\n const { file } = props2;\n return normalize.element({\n ...parts.item.attrs,\n dir: prop(\"dir\"),\n id: getItemId(scope, file.name),\n \"data-disabled\": dataAttr(disabled)\n });\n },\n getItemNameProps(props2) {\n const { file } = props2;\n return normalize.element({\n ...parts.itemName.attrs,\n dir: prop(\"dir\"),\n id: getItemNameId(scope, file.name),\n \"data-disabled\": dataAttr(disabled)\n });\n },\n getItemSizeTextProps(props2) {\n const { file } = props2;\n return normalize.element({\n ...parts.itemSizeText.attrs,\n dir: prop(\"dir\"),\n id: getItemSizeTextId(scope, file.name),\n \"data-disabled\": dataAttr(disabled)\n });\n },\n getItemPreviewProps(props2) {\n const { file } = props2;\n return normalize.element({\n ...parts.itemPreview.attrs,\n dir: prop(\"dir\"),\n id: getItemPreviewId(scope, file.name),\n \"data-disabled\": dataAttr(disabled)\n });\n },\n getItemPreviewImageProps(props2) {\n const { file, url } = props2;\n const isImage = file.type.startsWith(\"image/\");\n if (!isImage) {\n throw new Error(\"Preview Image is only supported for image files\");\n }\n return normalize.img({\n ...parts.itemPreviewImage.attrs,\n alt: translations.itemPreview?.(file),\n src: url,\n \"data-disabled\": dataAttr(disabled)\n });\n },\n getItemDeleteTriggerProps(props2) {\n const { file } = props2;\n return normalize.button({\n ...parts.itemDeleteTrigger.attrs,\n dir: prop(\"dir\"),\n type: \"button\",\n disabled,\n \"data-disabled\": dataAttr(disabled),\n \"aria-label\": translations.deleteFile?.(file),\n onClick() {\n if (disabled) return;\n send({ type: \"FILE.DELETE\", file });\n }\n });\n },\n getLabelProps() {\n return normalize.label({\n ...parts.label.attrs,\n dir: prop(\"dir\"),\n id: getLabelId(scope),\n htmlFor: getHiddenInputId(scope),\n \"data-disabled\": dataAttr(disabled)\n });\n },\n getClearTriggerProps() {\n return normalize.button({\n ...parts.clearTrigger.attrs,\n dir: prop(\"dir\"),\n type: \"button\",\n disabled,\n hidden: context.get(\"acceptedFiles\").length === 0,\n \"data-disabled\": dataAttr(disabled),\n onClick(event) {\n if (event.defaultPrevented) return;\n if (disabled) return;\n send({ type: \"FILES.CLEAR\" });\n }\n });\n }\n };\n}\nvar machine = createMachine({\n props({ props: props2 }) {\n return {\n minFileSize: 0,\n maxFileSize: Number.POSITIVE_INFINITY,\n maxFiles: 1,\n allowDrop: true,\n preventDocumentDrop: true,\n defaultAcceptedFiles: [],\n ...props2,\n translations: {\n dropzone: \"dropzone\",\n itemPreview: (file) => `preview of ${file.name}`,\n deleteFile: (file) => `delete file ${file.name}`,\n ...props2.translations\n }\n };\n },\n initialState() {\n return \"idle\";\n },\n context({ prop, bindable, getContext }) {\n return {\n acceptedFiles: bindable(() => ({\n defaultValue: prop(\"defaultAcceptedFiles\"),\n value: prop(\"acceptedFiles\"),\n isEqual: (a, b) => a.length === b?.length && a.every((file, i) => isFileEqual(file, b[i])),\n hash(value) {\n return value.map((file) => `${file.name}-${file.size}`).join(\",\");\n },\n onChange(value) {\n const ctx = getContext();\n prop(\"onFileAccept\")?.({ files: value });\n prop(\"onFileChange\")?.({ acceptedFiles: value, rejectedFiles: ctx.get(\"rejectedFiles\") });\n }\n })),\n rejectedFiles: bindable(() => ({\n defaultValue: [],\n isEqual: (a, b) => a.length === b?.length && a.every((file, i) => isFileEqual(file.file, b[i].file)),\n onChange(value) {\n const ctx = getContext();\n prop(\"onFileReject\")?.({ files: value });\n prop(\"onFileChange\")?.({ acceptedFiles: ctx.get(\"acceptedFiles\"), rejectedFiles: value });\n }\n })),\n transforming: bindable(() => ({\n defaultValue: false\n }))\n };\n },\n computed: {\n acceptAttr: ({ prop }) => getAcceptAttrString(prop(\"accept\")),\n multiple: ({ prop }) => prop(\"maxFiles\") > 1\n },\n watch({ track, context, action }) {\n track([() => context.hash(\"acceptedFiles\")], () => {\n action([\"syncInputElement\"]);\n });\n },\n on: {\n \"FILES.SET\": {\n actions: [\"setFiles\"]\n },\n \"FILE.SELECT\": {\n actions: [\"setEventFiles\"]\n },\n \"FILE.DELETE\": {\n actions: [\"removeFile\"]\n },\n \"FILES.CLEAR\": {\n actions: [\"clearFiles\"]\n },\n \"REJECTED_FILES.CLEAR\": {\n actions: [\"clearRejectedFiles\"]\n }\n },\n effects: [\"preventDocumentDrop\"],\n states: {\n idle: {\n on: {\n OPEN: {\n actions: [\"openFilePicker\"]\n },\n \"DROPZONE.CLICK\": {\n actions: [\"openFilePicker\"]\n },\n \"DROPZONE.FOCUS\": {\n target: \"focused\"\n },\n \"DROPZONE.DRAG_OVER\": {\n target: \"dragging\"\n }\n }\n },\n focused: {\n on: {\n \"DROPZONE.BLUR\": {\n target: \"idle\"\n },\n OPEN: {\n actions: [\"openFilePicker\"]\n },\n \"DROPZONE.CLICK\": {\n actions: [\"openFilePicker\"]\n },\n \"DROPZONE.DRAG_OVER\": {\n target: \"dragging\"\n }\n }\n },\n dragging: {\n on: {\n \"DROPZONE.DROP\": {\n target: \"idle\",\n actions: [\"setEventFiles\"]\n },\n \"DROPZONE.DRAG_LEAVE\": {\n target: \"idle\"\n }\n }\n }\n },\n implementations: {\n effects: {\n preventDocumentDrop({ prop, scope }) {\n if (!prop(\"preventDocumentDrop\")) return;\n if (!prop(\"allowDrop\")) return;\n if (prop(\"disabled\")) return;\n const doc = scope.getDoc();\n const onDragOver = (event) => {\n event?.preventDefault();\n };\n const onDrop = (event) => {\n if (contains(getRootEl(scope), getEventTarget(event))) return;\n event.preventDefault();\n };\n return callAll(addDomEvent(doc, \"dragover\", onDragOver, false), addDomEvent(doc, \"drop\", onDrop, false));\n }\n },\n actions: {\n syncInputElement({ scope, context }) {\n queueMicrotask(() => {\n const inputEl = getHiddenInputEl(scope);\n if (!inputEl) return;\n setInputFiles(inputEl, context.get(\"acceptedFiles\"));\n const win = scope.getWin();\n inputEl.dispatchEvent(new win.Event(\"change\", { bubbles: true }));\n });\n },\n openFilePicker({ scope }) {\n raf(() => {\n getHiddenInputEl(scope)?.click();\n });\n },\n setFiles(params) {\n const { computed, context, event } = params;\n const { acceptedFiles, rejectedFiles } = getEventFiles(params, event.files);\n context.set(\n \"acceptedFiles\",\n computed(\"multiple\") ? acceptedFiles : acceptedFiles.length > 0 ? [acceptedFiles[0]] : []\n );\n context.set(\"rejectedFiles\", rejectedFiles);\n },\n setEventFiles(params) {\n const { computed, context, event, prop } = params;\n const currentAcceptedFiles = context.get(\"acceptedFiles\");\n const currentRejectedFiles = context.get(\"rejectedFiles\");\n const { acceptedFiles, rejectedFiles } = getEventFiles(\n params,\n event.files,\n currentAcceptedFiles,\n currentRejectedFiles\n );\n const set = (files) => {\n if (computed(\"multiple\")) {\n context.set(\"acceptedFiles\", (prev) => [...prev, ...files]);\n context.set(\"rejectedFiles\", rejectedFiles);\n return;\n }\n if (files.length) {\n context.set(\"acceptedFiles\", [files[0]]);\n context.set(\"rejectedFiles\", rejectedFiles);\n return;\n }\n if (rejectedFiles.length) {\n context.set(\"acceptedFiles\", context.get(\"acceptedFiles\"));\n context.set(\"rejectedFiles\", rejectedFiles);\n }\n };\n const transform = prop(\"transformFiles\");\n if (transform) {\n context.set(\"transforming\", true);\n transform(acceptedFiles).then(set).catch((err) => {\n warn(`[zag-js/file-upload] error transforming files\n${err}`);\n }).finally(() => {\n context.set(\"transforming\", false);\n });\n } else {\n set(acceptedFiles);\n }\n },\n removeFile({ context, event }) {\n const files = context.get(\"acceptedFiles\").filter((file) => !isFileEqual(file, event.file));\n const rejectedFiles = context.get(\"rejectedFiles\").filter((item) => !isFileEqual(item.file, event.file));\n context.set(\"acceptedFiles\", files);\n context.set(\"rejectedFiles\", rejectedFiles);\n },\n clearRejectedFiles({ context }) {\n context.set(\"rejectedFiles\", []);\n },\n clearFiles({ context }) {\n context.set(\"acceptedFiles\", []);\n context.set(\"rejectedFiles\", []);\n }\n }\n }\n});\nvar props = createProps()([\n \"accept\",\n \"acceptedFiles\",\n \"allowDrop\",\n \"capture\",\n \"defaultAcceptedFiles\",\n \"dir\",\n \"directory\",\n \"disabled\",\n \"getRootNode\",\n \"id\",\n \"ids\",\n \"invalid\",\n \"locale\",\n \"maxFiles\",\n \"maxFileSize\",\n \"minFileSize\",\n \"name\",\n \"onFileAccept\",\n \"onFileChange\",\n \"onFileReject\",\n \"preventDocumentDrop\",\n \"required\",\n \"transformFiles\",\n \"translations\",\n \"validate\"\n]);\nvar splitProps = createSplitProps(props);\nvar itemProps = createProps()([\"file\"]);\nvar splitItemProps = createSplitProps(itemProps);\n\nexport { anatomy, connect, itemProps, machine, props, splitItemProps, splitProps };\n","import { createAnatomy } from '@zag-js/anatomy';\nimport { raf, setElementValue, trackElementRect, queryAll, trackPointerMove, trackFormControl, getRelativePoint, dispatchInputValueEvent, dataAttr, isLeftClick, isModifierKey, getEventPoint, ariaAttr, getEventStep, getEventKey } from '@zag-js/dom-query';\nimport { setValueAtIndex, pick, getValuePercent, isEqual, createSplitProps, snapValueToStep, clampValue, getValueRanges, getNextStepValue, getPreviousStepValue, getPercentValue, getClosestValueIndex, isValueWithinRange, first, last, toPx, getValueTransformer } from '@zag-js/utils';\nimport { createMachine } from '@zag-js/core';\nimport { createProps } from '@zag-js/types';\n\n// src/slider.anatomy.ts\nvar anatomy = createAnatomy(\"slider\").parts(\n \"root\",\n \"label\",\n \"thumb\",\n \"valueText\",\n \"track\",\n \"range\",\n \"control\",\n \"markerGroup\",\n \"marker\",\n \"draggingIndicator\"\n);\nvar parts = anatomy.build();\nvar getRootId = (ctx) => ctx.ids?.root ?? `slider:${ctx.id}`;\nvar getThumbId = (ctx, index) => ctx.ids?.thumb?.(index) ?? `slider:${ctx.id}:thumb:${index}`;\nvar getHiddenInputId = (ctx, index) => ctx.ids?.hiddenInput?.(index) ?? `slider:${ctx.id}:input:${index}`;\nvar getControlId = (ctx) => ctx.ids?.control ?? `slider:${ctx.id}:control`;\nvar getTrackId = (ctx) => ctx.ids?.track ?? `slider:${ctx.id}:track`;\nvar getRangeId = (ctx) => ctx.ids?.range ?? `slider:${ctx.id}:range`;\nvar getLabelId = (ctx) => ctx.ids?.label ?? `slider:${ctx.id}:label`;\nvar getValueTextId = (ctx) => ctx.ids?.valueText ?? `slider:${ctx.id}:value-text`;\nvar getMarkerId = (ctx, value) => ctx.ids?.marker?.(value) ?? `slider:${ctx.id}:marker:${value}`;\nvar getRootEl = (ctx) => ctx.getById(getRootId(ctx));\nvar getThumbEl = (ctx, index) => ctx.getById(getThumbId(ctx, index));\nvar getThumbEls = (ctx) => queryAll(getControlEl(ctx), \"[role=slider]\");\nvar getFirstThumbEl = (ctx) => getThumbEls(ctx)[0];\nvar getHiddenInputEl = (ctx, index) => ctx.getById(getHiddenInputId(ctx, index));\nvar getControlEl = (ctx) => ctx.getById(getControlId(ctx));\nvar getPointValue = (params, point) => {\n const { prop, scope } = params;\n const controlEl = getControlEl(scope);\n if (!controlEl) return;\n const relativePoint = getRelativePoint(point, controlEl);\n const percent = relativePoint.getPercentValue({\n orientation: prop(\"orientation\"),\n dir: prop(\"dir\"),\n inverted: { y: true }\n });\n return getPercentValue(percent, prop(\"min\"), prop(\"max\"), prop(\"step\"));\n};\nvar dispatchChangeEvent = (ctx, value) => {\n value.forEach((value2, index) => {\n const inputEl = getHiddenInputEl(ctx, index);\n if (!inputEl) return;\n dispatchInputValueEvent(inputEl, { value: value2 });\n });\n};\nvar getOffsetRect = (el) => ({\n left: el?.offsetLeft ?? 0,\n top: el?.offsetTop ?? 0,\n width: el?.offsetWidth ?? 0,\n height: el?.offsetHeight ?? 0\n});\nfunction getBounds(value) {\n const firstValue = value[0];\n const lastThumb = value[value.length - 1];\n return [firstValue, lastThumb];\n}\nfunction getRangeOffsets(params) {\n const { prop, computed } = params;\n const valuePercent = computed(\"valuePercent\");\n const [firstPercent, lastPercent] = getBounds(valuePercent);\n if (valuePercent.length === 1) {\n if (prop(\"origin\") === \"center\") {\n const isNegative = valuePercent[0] < 50;\n const start = isNegative ? `${valuePercent[0]}%` : \"50%\";\n const end = isNegative ? \"50%\" : `${100 - valuePercent[0]}%`;\n return { start, end };\n }\n if (prop(\"origin\") === \"end\") {\n return { start: `${lastPercent}%`, end: \"0%\" };\n }\n return { start: \"0%\", end: `${100 - lastPercent}%` };\n }\n return { start: `${firstPercent}%`, end: `${100 - lastPercent}%` };\n}\nfunction getRangeStyle(params) {\n const { computed } = params;\n const isVertical = computed(\"isVertical\");\n const isRtl = computed(\"isRtl\");\n if (isVertical) {\n return {\n position: \"absolute\",\n bottom: \"var(--slider-range-start)\",\n top: \"var(--slider-range-end)\"\n };\n }\n return {\n position: \"absolute\",\n [isRtl ? \"right\" : \"left\"]: \"var(--slider-range-start)\",\n [isRtl ? \"left\" : \"right\"]: \"var(--slider-range-end)\"\n };\n}\nfunction getVerticalThumbOffset(params, value) {\n const { context, prop } = params;\n const { height = 0 } = context.get(\"thumbSize\") ?? {};\n const getValue = getValueTransformer([prop(\"min\"), prop(\"max\")], [-height / 2, height / 2]);\n return parseFloat(getValue(value).toFixed(2));\n}\nfunction getHorizontalThumbOffset(params, value) {\n const { computed, context, prop } = params;\n const { width = 0 } = context.get(\"thumbSize\") ?? {};\n const isRtl = computed(\"isRtl\");\n if (isRtl) {\n const getValue2 = getValueTransformer([prop(\"max\"), prop(\"min\")], [-width / 2, width / 2]);\n return -1 * parseFloat(getValue2(value).toFixed(2));\n }\n const getValue = getValueTransformer([prop(\"min\"), prop(\"max\")], [-width / 2, width / 2]);\n return parseFloat(getValue(value).toFixed(2));\n}\nfunction getOffset(params, percent, value) {\n const { computed, prop } = params;\n if (prop(\"thumbAlignment\") === \"center\") return `${percent}%`;\n const offset = computed(\"isVertical\") ? getVerticalThumbOffset(params, value) : getHorizontalThumbOffset(params, value);\n return `calc(${percent}% - ${offset}px)`;\n}\nfunction getThumbOffset(params, value) {\n const { prop } = params;\n const percent = getValuePercent(value, prop(\"min\"), prop(\"max\")) * 100;\n return getOffset(params, percent, value);\n}\nfunction getVisibility(params) {\n const { computed, prop } = params;\n let visibility = \"visible\";\n if (prop(\"thumbAlignment\") === \"contain\" && !computed(\"hasMeasuredThumbSize\")) {\n visibility = \"hidden\";\n }\n return visibility;\n}\nfunction getThumbStyle(params, index) {\n const { computed } = params;\n const placementProp = computed(\"isVertical\") ? \"bottom\" : \"insetInlineStart\";\n return {\n visibility: getVisibility(params),\n position: \"absolute\",\n transform: \"var(--slider-thumb-transform)\",\n [placementProp]: `var(--slider-thumb-offset-${index})`\n };\n}\nfunction getControlStyle() {\n return {\n touchAction: \"none\",\n userSelect: \"none\",\n WebkitUserSelect: \"none\",\n position: \"relative\"\n };\n}\nfunction getRootStyle(params) {\n const { context, computed } = params;\n const isVertical = computed(\"isVertical\");\n const isRtl = computed(\"isRtl\");\n const range = getRangeOffsets(params);\n const thumbSize = context.get(\"thumbSize\");\n const offsetStyles = context.get(\"value\").reduce((styles, value, index) => {\n const offset = getThumbOffset(params, value);\n return { ...styles, [`--slider-thumb-offset-${index}`]: offset };\n }, {});\n return {\n ...offsetStyles,\n \"--slider-thumb-width\": toPx(thumbSize?.width),\n \"--slider-thumb-height\": toPx(thumbSize?.height),\n \"--slider-thumb-transform\": isVertical ? \"translateY(50%)\" : isRtl ? \"translateX(50%)\" : \"translateX(-50%)\",\n \"--slider-range-start\": range.start,\n \"--slider-range-end\": range.end\n };\n}\nfunction getMarkerStyle(params, value) {\n const { computed } = params;\n const isHorizontal = computed(\"isHorizontal\");\n const isRtl = computed(\"isRtl\");\n return {\n visibility: getVisibility(params),\n position: \"absolute\",\n pointerEvents: \"none\",\n [isHorizontal ? \"insetInlineStart\" : \"bottom\"]: getThumbOffset(params, value),\n translate: \"var(--tx) var(--ty)\",\n \"--tx\": isHorizontal ? isRtl ? \"50%\" : \"-50%\" : \"0%\",\n \"--ty\": !isHorizontal ? \"50%\" : \"0%\"\n };\n}\nfunction getMarkerGroupStyle() {\n return {\n userSelect: \"none\",\n WebkitUserSelect: \"none\",\n pointerEvents: \"none\",\n position: \"relative\"\n };\n}\nfunction normalizeValues(params, nextValues) {\n return nextValues.map((value, index) => {\n return constrainValue(params, value, index);\n });\n}\nfunction getRangeAtIndex(params, index) {\n const { context, prop } = params;\n const step = prop(\"step\") * prop(\"minStepsBetweenThumbs\");\n return getValueRanges(context.get(\"value\"), prop(\"min\"), prop(\"max\"), step)[index];\n}\nfunction constrainValue(params, value, index) {\n const { prop } = params;\n const range = getRangeAtIndex(params, index);\n const snapValue = snapValueToStep(value, prop(\"min\"), prop(\"max\"), prop(\"step\"));\n return clampValue(snapValue, range.min, range.max);\n}\nfunction decrement(params, index, step) {\n const { context, prop } = params;\n const idx = index ?? context.get(\"focusedIndex\");\n const range = getRangeAtIndex(params, idx);\n const nextValues = getPreviousStepValue(idx, {\n ...range,\n step: step ?? prop(\"step\"),\n values: context.get(\"value\")\n });\n nextValues[idx] = clampValue(nextValues[idx], range.min, range.max);\n return nextValues;\n}\nfunction increment(params, index, step) {\n const { context, prop } = params;\n const idx = index ?? context.get(\"focusedIndex\");\n const range = getRangeAtIndex(params, idx);\n const nextValues = getNextStepValue(idx, {\n ...range,\n step: step ?? prop(\"step\"),\n values: context.get(\"value\")\n });\n nextValues[idx] = clampValue(nextValues[idx], range.min, range.max);\n return nextValues;\n}\nfunction getClosestIndex(params, pointValue) {\n const { context } = params;\n return getClosestValueIndex(context.get(\"value\"), pointValue);\n}\n\n// src/slider.connect.ts\nfunction connect(service, normalize2) {\n const { state, send, context, prop, computed, scope } = service;\n const ariaLabel = prop(\"aria-label\");\n const ariaLabelledBy = prop(\"aria-labelledby\");\n const sliderValue = context.get(\"value\");\n const focusedIndex = context.get(\"focusedIndex\");\n const focused = state.matches(\"focus\");\n const dragging = state.matches(\"dragging\");\n const disabled = computed(\"isDisabled\");\n const invalid = prop(\"invalid\");\n const interactive = computed(\"isInteractive\");\n const isHorizontal = prop(\"orientation\") === \"horizontal\";\n const isVertical = prop(\"orientation\") === \"vertical\";\n function getValuePercentFn(value) {\n return getValuePercent(value, prop(\"min\"), prop(\"max\"));\n }\n function getPercentValueFn(percent) {\n return getPercentValue(percent, prop(\"min\"), prop(\"max\"), prop(\"step\"));\n }\n return {\n value: sliderValue,\n dragging,\n focused,\n setValue(value) {\n send({ type: \"SET_VALUE\", value });\n },\n getThumbValue(index) {\n return sliderValue[index];\n },\n setThumbValue(index, value) {\n send({ type: \"SET_VALUE\", index, value });\n },\n getValuePercent: getValuePercentFn,\n getPercentValue: getPercentValueFn,\n getThumbPercent(index) {\n return getValuePercentFn(sliderValue[index]);\n },\n setThumbPercent(index, percent) {\n const value = getPercentValueFn(percent);\n send({ type: \"SET_VALUE\", index, value });\n },\n getThumbMin(index) {\n return getRangeAtIndex(service, index).min;\n },\n getThumbMax(index) {\n return getRangeAtIndex(service, index).max;\n },\n increment(index) {\n send({ type: \"INCREMENT\", index });\n },\n decrement(index) {\n send({ type: \"DECREMENT\", index });\n },\n focus() {\n if (!interactive) return;\n send({ type: \"FOCUS\", index: 0 });\n },\n getLabelProps() {\n return normalize2.label({\n ...parts.label.attrs,\n dir: prop(\"dir\"),\n \"data-disabled\": dataAttr(disabled),\n \"data-orientation\": prop(\"orientation\"),\n \"data-invalid\": dataAttr(invalid),\n \"data-dragging\": dataAttr(dragging),\n \"data-focus\": dataAttr(focused),\n id: getLabelId(scope),\n htmlFor: getHiddenInputId(scope, 0),\n onClick(event) {\n if (!interactive) return;\n event.preventDefault();\n getFirstThumbEl(scope)?.focus();\n },\n style: {\n userSelect: \"none\",\n WebkitUserSelect: \"none\"\n }\n });\n },\n getRootProps() {\n return normalize2.element({\n ...parts.root.attrs,\n \"data-disabled\": dataAttr(disabled),\n \"data-orientation\": prop(\"orientation\"),\n \"data-dragging\": dataAttr(dragging),\n \"data-invalid\": dataAttr(invalid),\n \"data-focus\": dataAttr(focused),\n id: getRootId(scope),\n dir: prop(\"dir\"),\n style: getRootStyle(service)\n });\n },\n getValueTextProps() {\n return normalize2.element({\n ...parts.valueText.attrs,\n dir: prop(\"dir\"),\n \"data-disabled\": dataAttr(disabled),\n \"data-orientation\": prop(\"orientation\"),\n \"data-invalid\": dataAttr(invalid),\n \"data-focus\": dataAttr(focused),\n id: getValueTextId(scope)\n });\n },\n getTrackProps() {\n return normalize2.element({\n ...parts.track.attrs,\n dir: prop(\"dir\"),\n id: getTrackId(scope),\n \"data-disabled\": dataAttr(disabled),\n \"data-invalid\": dataAttr(invalid),\n \"data-dragging\": dataAttr(dragging),\n \"data-orientation\": prop(\"orientation\"),\n \"data-focus\": dataAttr(focused),\n style: { position: \"relative\" }\n });\n },\n getThumbProps(props2) {\n const { index = 0, name } = props2;\n const value = sliderValue[index];\n const range = getRangeAtIndex(service, index);\n const valueText = prop(\"getAriaValueText\")?.({ value, index });\n const _ariaLabel = Array.isArray(ariaLabel) ? ariaLabel[index] : ariaLabel;\n const _ariaLabelledBy = Array.isArray(ariaLabelledBy) ? ariaLabelledBy[index] : ariaLabelledBy;\n return normalize2.element({\n ...parts.thumb.attrs,\n dir: prop(\"dir\"),\n \"data-index\": index,\n \"data-name\": name,\n id: getThumbId(scope, index),\n \"data-disabled\": dataAttr(disabled),\n \"data-orientation\": prop(\"orientation\"),\n \"data-focus\": dataAttr(focused && focusedIndex === index),\n \"data-dragging\": dataAttr(dragging && focusedIndex === index),\n draggable: false,\n \"aria-disabled\": ariaAttr(disabled),\n \"aria-label\": _ariaLabel,\n \"aria-labelledby\": _ariaLabelledBy ?? getLabelId(scope),\n \"aria-orientation\": prop(\"orientation\"),\n \"aria-valuemax\": range.max,\n \"aria-valuemin\": range.min,\n \"aria-valuenow\": sliderValue[index],\n \"aria-valuetext\": valueText,\n role: \"slider\",\n tabIndex: disabled ? void 0 : 0,\n style: getThumbStyle(service, index),\n onPointerDown(event) {\n if (!interactive) return;\n if (!isLeftClick(event)) return;\n send({ type: \"THUMB_POINTER_DOWN\", index });\n event.stopPropagation();\n },\n onBlur() {\n if (!interactive) return;\n send({ type: \"BLUR\" });\n },\n onFocus() {\n if (!interactive) return;\n send({ type: \"FOCUS\", index });\n },\n onKeyDown(event) {\n if (event.defaultPrevented) return;\n if (!interactive) return;\n const step = getEventStep(event) * prop(\"step\");\n const keyMap = {\n ArrowUp() {\n if (isHorizontal) return;\n send({ type: \"ARROW_INC\", step, src: \"ArrowUp\" });\n },\n ArrowDown() {\n if (isHorizontal) return;\n send({ type: \"ARROW_DEC\", step, src: \"ArrowDown\" });\n },\n ArrowLeft() {\n if (isVertical) return;\n send({ type: \"ARROW_DEC\", step, src: \"ArrowLeft\" });\n },\n ArrowRight() {\n if (isVertical) return;\n send({ type: \"ARROW_INC\", step, src: \"ArrowRight\" });\n },\n PageUp() {\n send({ type: \"ARROW_INC\", step, src: \"PageUp\" });\n },\n PageDown() {\n send({ type: \"ARROW_DEC\", step, src: \"PageDown\" });\n },\n Home() {\n send({ type: \"HOME\" });\n },\n End() {\n send({ type: \"END\" });\n }\n };\n const key = getEventKey(event, {\n dir: prop(\"dir\"),\n orientation: prop(\"orientation\")\n });\n const exec = keyMap[key];\n if (exec) {\n exec(event);\n event.preventDefault();\n event.stopPropagation();\n }\n }\n });\n },\n getHiddenInputProps(props2) {\n const { index = 0, name } = props2;\n return normalize2.input({\n name: name ?? (prop(\"name\") ? prop(\"name\") + (sliderValue.length > 1 ? \"[]\" : \"\") : void 0),\n form: prop(\"form\"),\n type: \"text\",\n hidden: true,\n defaultValue: sliderValue[index],\n id: getHiddenInputId(scope, index)\n });\n },\n getRangeProps() {\n return normalize2.element({\n id: getRangeId(scope),\n ...parts.range.attrs,\n dir: prop(\"dir\"),\n \"data-dragging\": dataAttr(dragging),\n \"data-focus\": dataAttr(focused),\n \"data-invalid\": dataAttr(invalid),\n \"data-disabled\": dataAttr(disabled),\n \"data-orientation\": prop(\"orientation\"),\n style: getRangeStyle(service)\n });\n },\n getControlProps() {\n return normalize2.element({\n ...parts.control.attrs,\n dir: prop(\"dir\"),\n id: getControlId(scope),\n \"data-dragging\": dataAttr(dragging),\n \"data-disabled\": dataAttr(disabled),\n \"data-orientation\": prop(\"orientation\"),\n \"data-invalid\": dataAttr(invalid),\n \"data-focus\": dataAttr(focused),\n style: getControlStyle(),\n onPointerDown(event) {\n if (!interactive) return;\n if (!isLeftClick(event)) return;\n if (isModifierKey(event)) return;\n const point = getEventPoint(event);\n send({ type: \"POINTER_DOWN\", point });\n event.preventDefault();\n event.stopPropagation();\n }\n });\n },\n getMarkerGroupProps() {\n return normalize2.element({\n ...parts.markerGroup.attrs,\n role: \"presentation\",\n dir: prop(\"dir\"),\n \"aria-hidden\": true,\n \"data-orientation\": prop(\"orientation\"),\n style: getMarkerGroupStyle()\n });\n },\n getMarkerProps(props2) {\n const style = getMarkerStyle(service, props2.value);\n let markerState;\n if (props2.value < first(sliderValue)) {\n markerState = \"under-value\";\n } else if (props2.value > last(sliderValue)) {\n markerState = \"over-value\";\n } else {\n markerState = \"at-value\";\n }\n return normalize2.element({\n ...parts.marker.attrs,\n id: getMarkerId(scope, props2.value),\n role: \"presentation\",\n dir: prop(\"dir\"),\n \"data-orientation\": prop(\"orientation\"),\n \"data-value\": props2.value,\n \"data-disabled\": dataAttr(disabled),\n \"data-state\": markerState,\n style\n });\n },\n getDraggingIndicatorProps(props2) {\n const { index = 0 } = props2;\n const isDragging = index === focusedIndex && dragging;\n return normalize2.element({\n ...parts.draggingIndicator.attrs,\n role: \"presentation\",\n dir: prop(\"dir\"),\n hidden: !isDragging,\n \"data-orientation\": prop(\"orientation\"),\n \"data-state\": isDragging ? \"open\" : \"closed\",\n style: getThumbStyle(service, index)\n });\n }\n };\n}\nvar isEqualSize = (a, b) => {\n return a?.width === b?.width && a?.height === b?.height;\n};\nvar normalize = (value, min, max, step, minStepsBetweenThumbs) => {\n const ranges = getValueRanges(value, min, max, minStepsBetweenThumbs * step);\n return ranges.map((range) => {\n const snapValue = snapValueToStep(range.value, range.min, range.max, step);\n const rangeValue = clampValue(snapValue, range.min, range.max);\n if (!isValueWithinRange(rangeValue, min, max)) {\n throw new Error(\n \"[zag-js/slider] The configured `min`, `max`, `step` or `minStepsBetweenThumbs` values are invalid\"\n );\n }\n return rangeValue;\n });\n};\nvar machine = createMachine({\n props({ props: props2 }) {\n const min = props2.min ?? 0;\n const max = props2.max ?? 100;\n const step = props2.step ?? 1;\n const defaultValue = props2.defaultValue ?? [min];\n const minStepsBetweenThumbs = props2.minStepsBetweenThumbs ?? 0;\n return {\n dir: \"ltr\",\n thumbAlignment: \"contain\",\n origin: \"start\",\n orientation: \"horizontal\",\n minStepsBetweenThumbs,\n ...props2,\n defaultValue: normalize(defaultValue, min, max, step, minStepsBetweenThumbs),\n value: props2.value ? normalize(props2.value, min, max, step, minStepsBetweenThumbs) : void 0,\n max,\n step,\n min\n };\n },\n initialState() {\n return \"idle\";\n },\n context({ prop, bindable, getContext }) {\n return {\n thumbSize: bindable(() => ({\n defaultValue: prop(\"thumbSize\") || null\n })),\n value: bindable(() => ({\n defaultValue: prop(\"defaultValue\"),\n value: prop(\"value\"),\n isEqual,\n hash(a) {\n return a.join(\",\");\n },\n onChange(value) {\n prop(\"onValueChange\")?.({ value });\n }\n })),\n focusedIndex: bindable(() => ({\n defaultValue: -1,\n onChange(value) {\n const ctx = getContext();\n prop(\"onFocusChange\")?.({ focusedIndex: value, value: ctx.get(\"value\") });\n }\n })),\n fieldsetDisabled: bindable(() => ({\n defaultValue: false\n }))\n };\n },\n computed: {\n isHorizontal: ({ prop }) => prop(\"orientation\") === \"horizontal\",\n isVertical: ({ prop }) => prop(\"orientation\") === \"vertical\",\n isRtl: ({ prop }) => prop(\"orientation\") === \"horizontal\" && prop(\"dir\") === \"rtl\",\n isDisabled: ({ context, prop }) => !!prop(\"disabled\") || context.get(\"fieldsetDisabled\"),\n isInteractive: ({ prop, computed }) => !(prop(\"readOnly\") || computed(\"isDisabled\")),\n hasMeasuredThumbSize: ({ context }) => context.get(\"thumbSize\") != null,\n valuePercent({ context, prop }) {\n return context.get(\"value\").map((value) => 100 * getValuePercent(value, prop(\"min\"), prop(\"max\")));\n }\n },\n watch({ track, action, context }) {\n track([() => context.hash(\"value\")], () => {\n action([\"syncInputElements\", \"dispatchChangeEvent\"]);\n });\n },\n effects: [\"trackFormControlState\", \"trackThumbSize\"],\n on: {\n SET_VALUE: [\n {\n guard: \"hasIndex\",\n actions: [\"setValueAtIndex\"]\n },\n {\n actions: [\"setValue\"]\n }\n ],\n INCREMENT: {\n actions: [\"incrementThumbAtIndex\"]\n },\n DECREMENT: {\n actions: [\"decrementThumbAtIndex\"]\n }\n },\n states: {\n idle: {\n on: {\n POINTER_DOWN: {\n target: \"dragging\",\n actions: [\"setClosestThumbIndex\", \"setPointerValue\", \"focusActiveThumb\"]\n },\n FOCUS: {\n target: \"focus\",\n actions: [\"setFocusedIndex\"]\n },\n THUMB_POINTER_DOWN: {\n target: \"dragging\",\n actions: [\"setFocusedIndex\", \"focusActiveThumb\"]\n }\n }\n },\n focus: {\n entry: [\"focusActiveThumb\"],\n on: {\n POINTER_DOWN: {\n target: \"dragging\",\n actions: [\"setClosestThumbIndex\", \"setPointerValue\", \"focusActiveThumb\"]\n },\n THUMB_POINTER_DOWN: {\n target: \"dragging\",\n actions: [\"setFocusedIndex\", \"focusActiveThumb\"]\n },\n ARROW_DEC: {\n actions: [\"decrementThumbAtIndex\", \"invokeOnChangeEnd\"]\n },\n ARROW_INC: {\n actions: [\"incrementThumbAtIndex\", \"invokeOnChangeEnd\"]\n },\n HOME: {\n actions: [\"setFocusedThumbToMin\", \"invokeOnChangeEnd\"]\n },\n END: {\n actions: [\"setFocusedThumbToMax\", \"invokeOnChangeEnd\"]\n },\n BLUR: {\n target: \"idle\",\n actions: [\"clearFocusedIndex\"]\n }\n }\n },\n dragging: {\n entry: [\"focusActiveThumb\"],\n effects: [\"trackPointerMove\"],\n on: {\n POINTER_UP: {\n target: \"focus\",\n actions: [\"invokeOnChangeEnd\"]\n },\n POINTER_MOVE: {\n actions: [\"setPointerValue\"]\n }\n }\n }\n },\n implementations: {\n guards: {\n hasIndex: ({ event }) => event.index != null\n },\n effects: {\n trackFormControlState({ context, scope }) {\n return trackFormControl(getRootEl(scope), {\n onFieldsetDisabledChange(disabled) {\n context.set(\"fieldsetDisabled\", disabled);\n },\n onFormReset() {\n context.set(\"value\", context.initial(\"value\"));\n }\n });\n },\n trackPointerMove({ scope, send }) {\n return trackPointerMove(scope.getDoc(), {\n onPointerMove(info) {\n send({ type: \"POINTER_MOVE\", point: info.point });\n },\n onPointerUp() {\n send({ type: \"POINTER_UP\" });\n }\n });\n },\n trackThumbSize({ context, scope, prop }) {\n if (prop(\"thumbAlignment\") !== \"contain\" || prop(\"thumbSize\")) return;\n return trackElementRect(getThumbEls(scope), {\n box: \"border-box\",\n measure(el) {\n return getOffsetRect(el);\n },\n onEntry({ rects }) {\n if (rects.length === 0) return;\n const size = pick(rects[0], [\"width\", \"height\"]);\n if (isEqualSize(context.get(\"thumbSize\"), size)) return;\n context.set(\"thumbSize\", size);\n }\n });\n }\n },\n actions: {\n dispatchChangeEvent({ context, scope }) {\n dispatchChangeEvent(scope, context.get(\"value\"));\n },\n syncInputElements({ context, scope }) {\n context.get(\"value\").forEach((value, index) => {\n const inputEl = getHiddenInputEl(scope, index);\n setElementValue(inputEl, value.toString());\n });\n },\n invokeOnChangeEnd({ prop, context }) {\n queueMicrotask(() => {\n prop(\"onValueChangeEnd\")?.({ value: context.get(\"value\") });\n });\n },\n setClosestThumbIndex(params) {\n const { context, event } = params;\n const pointValue = getPointValue(params, event.point);\n if (pointValue == null) return;\n const focusedIndex = getClosestIndex(params, pointValue);\n context.set(\"focusedIndex\", focusedIndex);\n },\n setFocusedIndex({ context, event }) {\n context.set(\"focusedIndex\", event.index);\n },\n clearFocusedIndex({ context }) {\n context.set(\"focusedIndex\", -1);\n },\n setPointerValue(params) {\n queueMicrotask(() => {\n const { context, event } = params;\n const pointValue = getPointValue(params, event.point);\n if (pointValue == null) return;\n const focusedIndex = context.get(\"focusedIndex\");\n const value = constrainValue(params, pointValue, focusedIndex);\n context.set(\"value\", (prev) => setValueAtIndex(prev, focusedIndex, value));\n });\n },\n focusActiveThumb({ scope, context }) {\n raf(() => {\n const thumbEl = getThumbEl(scope, context.get(\"focusedIndex\"));\n thumbEl?.focus({ preventScroll: true });\n });\n },\n decrementThumbAtIndex(params) {\n const { context, event } = params;\n const value = decrement(params, event.index, event.step);\n context.set(\"value\", value);\n },\n incrementThumbAtIndex(params) {\n const { context, event } = params;\n const value = increment(params, event.index, event.step);\n context.set(\"value\", value);\n },\n setFocusedThumbToMin(params) {\n const { context } = params;\n const index = context.get(\"focusedIndex\");\n const { min } = getRangeAtIndex(params, index);\n context.set(\"value\", (prev) => setValueAtIndex(prev, index, min));\n },\n setFocusedThumbToMax(params) {\n const { context } = params;\n const index = context.get(\"focusedIndex\");\n const { max } = getRangeAtIndex(params, index);\n context.set(\"value\", (prev) => setValueAtIndex(prev, index, max));\n },\n setValueAtIndex(params) {\n const { context, event } = params;\n const value = constrainValue(params, event.value, event.index);\n context.set(\"value\", (prev) => setValueAtIndex(prev, event.index, value));\n },\n setValue(params) {\n const { context, event } = params;\n const value = normalizeValues(params, event.value);\n context.set(\"value\", value);\n }\n }\n }\n});\nvar props = createProps()([\n \"aria-label\",\n \"aria-labelledby\",\n \"dir\",\n \"disabled\",\n \"form\",\n \"getAriaValueText\",\n \"getRootNode\",\n \"id\",\n \"ids\",\n \"invalid\",\n \"max\",\n \"min\",\n \"minStepsBetweenThumbs\",\n \"name\",\n \"onFocusChange\",\n \"onValueChange\",\n \"onValueChangeEnd\",\n \"orientation\",\n \"origin\",\n \"readOnly\",\n \"step\",\n \"thumbAlignment\",\n \"thumbAlignment\",\n \"thumbSize\",\n \"value\",\n \"defaultValue\"\n]);\nvar splitProps = createSplitProps(props);\nvar thumbProps = createProps()([\"index\", \"name\"]);\nvar splitThumbProps = createSplitProps(thumbProps);\n\nexport { anatomy, connect, machine, props, splitProps, splitThumbProps, thumbProps };\n"],"names":["__defProp","__defNormalProp","obj","key","value","__publicField","generateRGB_R","orientation","dir","zValue","maskImage","generateRGB_G","generateRGB_B","generateHSL_H","generateHSL_S","alphaValue","generateHSL_L","generateHSB_H","generateHSB_S","generateHSB_B","getColorAreaGradient","color","options","xChannel","yChannel","dirProp","zChannel","zMin","zMax","background","isHSL","isEqualObject","a","b","Color","channel","valueToCheck","minValue","maxValue","getValuePercent","percentToCheck","step","percentValue","getPercentValue","snapValueToStep","clone","clampValue","xyChannels","xCh","c","yCh","zCh","stepSize","HEX_COLOR_REGEX","RGB_COLOR_REGEX","HEX_STARTING_REGEX","_RGBColor","red","green","blue","alpha","colors","values","match","value2","num","format","min","brightness","chroma","saturation","hue","HSBColor","toFixedNumber","max","lightness","HSLColor","locale","RGBColor","HSL_REGEX","_HSLColor","m","h","s","l","n","mod","fn","k","HSB_REGEX","_HSBColor","nativeColors","makeMap","str","map","list","i","val","nativeColorMap","parseColor","result","error","normalizeColor","v","anatomy","createAnatomy","parts","getRootId","ctx","getLabelId","getHiddenInputId","getControlId","getTriggerId","getContentId","getPositionerId","getFormatSelectId","getAreaId","getAreaGradientId","getAreaThumbId","getChannelSliderTrackId","getChannelSliderThumbId","getContentEl","getAreaThumbEl","getChannelSliderThumbEl","getFormatSelectEl","getHiddenInputEl","getAreaEl","getAreaValueFromPoint","point","areaEl","percent","getRelativePoint","getControlEl","getTriggerEl","getPositionerEl","getChannelSliderTrackEl","getChannelSliderValueFromPoint","trackEl","getChannelInputEls","queryAll","getChannelDisplayColor","getChannelValue","getChannelRange","minColor","maxColor","getSliderBackgroundDirection","getSliderBackground","props2","bgDirection","start","middle","end","connect","service","normalize","context","send","prop","computed","state","scope","areaValue","valueAsString","disabled","interactive","dragging","open","focused","getAreaChannels","channels","currentPlacement","popperStyles","getPlacementStyles","getSwatchTriggerState","nextOpen","channelValue","format2","formatValue","dataAttr","event","query","areaStyles","isLeftClick","isModifierKey","getEventPoint","areaGradientStyles","xPercent","yPercent","xValue","yValue","getEventStep","exec","event2","getEventKey","size","normalizedValue","thumbId","channelRange","offset","placementStyles","isTextField","visuallyHiddenStyle","swatchState","respectAlpha","getNextFormat","nextFormat","assertFormat","formats","formatRegex","index","parse","colorString","HEX_REGEX","isValidHex","prefixHex","and","createGuards","machine","createMachine","bindable","getContext","action","track","anchorEl","getPlacement","data","trackDismissableElement","inputEl","trackFormControl","trackPointerMove","type","disableTextSelection","win","sRGBHex","channelPercent","dispatchInputValueEvent","syncChannelInputs","currentAlpha","valueAsNumber","tryCatch","parseValue","current","range","raf","getInitialFocus","syncFormatSelect","currentValue","nextValue","channelInputEls","setElementValue","selectEl","createProps","getItemId","getItemContentId","getItemTriggerId","getRootEl","getTriggerEls","selector","getFirstTriggerEl","first","getLastTriggerEl","last","getNextTriggerEl","id","nextById","getPrevTriggerEl","prevById","focusedValue","multiple","setValue","getItemState","itemState","isSafari","keyMap","not","next","remove","add","warn","getInputId","getInputEl","writeToClipboard","copyText","createNode","doc","text","node","copyNode","selection","getWindow","copied","setRafTimeout","colorPickerAnatomy","getItemEntry","item","isDirectoryEntry","entry","isFileEntry","addRelativePath","file","path","getFileEntries","items","traverseDirectories","getDirectoryFiles","resolve","reader","entryPromises","readDirectoryEntries","entries","entries2","promises","resolve2","BOM_REGEX","MAC_REGEX","APPLE_WEBKIT_REGEX","SAFARI_REGEX","getBlob","blobOrString","appendBOM","blob","isMSEdge","isWebView","downloadFile","name","revokeTimeout","fileName","isMacOSWebView","anchor","url2","url","isMIMEType","isExt","isValidMIME","getAcceptAttrString","accept","mimeType","ext","isFileEqual","file1","file2","isDefined","isValidFileSize","minSize","maxSize","mimeTypes","mimeTypesMap","mime","extensions","getFileMimeType","extension","isFileAccepted","types","baseMimeType","validType","isValidFileType","isAcceptable","getPreviewId","getSubmitTriggerId","getCancelTriggerId","getEditTriggerId","getPreviewEl","getSubmitTriggerEl","getCancelTriggerEl","getEditTriggerEl","readOnly","invalid","autoResize","translations","editing","placeholderProp","placeholder","empty","valueText","ariaAttr","isComposingEvent","localName","isApple","submitMode","trackInteractOutside","target","el","contains","focusable","prev","i18nCache","Ins","formatterCache","cacheKey","formatter","getNumberFormatter","formatNumber","bitPrefixes","bytePrefixes","formatBytes","bytes","unit","unitDisplay","prefix","_unit","_unitDisplay","getDropzoneId","getItemNameId","getItemSizeTextId","getItemPreviewId","getDropzoneEl","isEventWithFiles","getEventTarget","isFilesWithinRange","incomingCount","currentAcceptedFiles","getEventFiles","files","currentRejectedFiles","acceptedFiles","rejectedFiles","validateParams","accepted","acceptError","sizeMatch","sizeError","validateErrors","valid","errors","setInputFiles","dataTransfer","allowDrop","cb","dt","acc","isSelfTarget","count","hasFiles","flatArray","onDragOver","onDrop","callAll","addDomEvent","params","set","transform","err","getThumbId","getTrackId","getRangeId","getValueTextId","getMarkerId","getThumbEl","getThumbEls","getFirstThumbEl","getPointValue","controlEl","dispatchChangeEvent","getOffsetRect","getBounds","firstValue","lastThumb","getRangeOffsets","valuePercent","firstPercent","lastPercent","isNegative","getRangeStyle","isVertical","isRtl","getVerticalThumbOffset","height","getValue","getValueTransformer","getHorizontalThumbOffset","width","getValue2","getOffset","getThumbOffset","getVisibility","visibility","getThumbStyle","placementProp","getControlStyle","getRootStyle","thumbSize","styles","toPx","getMarkerStyle","isHorizontal","getMarkerGroupStyle","normalizeValues","nextValues","constrainValue","getRangeAtIndex","getValueRanges","snapValue","decrement","idx","getPreviousStepValue","increment","getNextStepValue","getClosestIndex","pointValue","getClosestValueIndex","normalize2","ariaLabel","ariaLabelledBy","sliderValue","focusedIndex","getValuePercentFn","getPercentValueFn","_ariaLabel","_ariaLabelledBy","style","markerState","isDragging","isEqualSize","minStepsBetweenThumbs","rangeValue","isValueWithinRange","defaultValue","isEqual","info","trackElementRect","rects","pick","setValueAtIndex"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9]}