@televet/kibble-ui 4.0.0-beta.69 → 4.0.0-beta.7

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 (969) hide show
  1. package/README.md +0 -40
  2. package/dist/chunks/alert.types-BgmtNKXK.js +2 -0
  3. package/dist/chunks/alert.types-BgmtNKXK.js.map +1 -0
  4. package/dist/chunks/alert.types-Bxdx-xbS.js +172 -0
  5. package/dist/chunks/alert.types-Bxdx-xbS.js.map +1 -0
  6. package/dist/chunks/avatar.component-BdxN6QYq.js +307 -0
  7. package/dist/chunks/avatar.component-BdxN6QYq.js.map +1 -0
  8. package/dist/chunks/avatar.component-BzPaBLJu.js +2 -0
  9. package/dist/chunks/avatar.component-BzPaBLJu.js.map +1 -0
  10. package/dist/chunks/{avatarGroup.component-Bcb1Fxwv.js → avatarGroup.component-CceV-fW0.js} +28 -27
  11. package/dist/chunks/{avatarGroup.component-Bcb1Fxwv.js.map → avatarGroup.component-CceV-fW0.js.map} +1 -1
  12. package/dist/chunks/avatarGroup.component-Q43nemix.js +2 -0
  13. package/dist/chunks/{avatarGroup.component-D4lmT752.js.map → avatarGroup.component-Q43nemix.js.map} +1 -1
  14. package/dist/chunks/button.component-B0GkYzVz.js +2 -0
  15. package/dist/chunks/button.component-B0GkYzVz.js.map +1 -0
  16. package/dist/chunks/{button.component-BpF3MzbZ.js → button.component-BtkAjIWe.js} +10 -10
  17. package/dist/chunks/button.component-BtkAjIWe.js.map +1 -0
  18. package/dist/chunks/buttonGroup.component-B2VRV-q9.js +2 -0
  19. package/dist/chunks/buttonGroup.component-B2VRV-q9.js.map +1 -0
  20. package/dist/chunks/buttonGroup.component-ZElXi_Hz.js +67 -0
  21. package/dist/chunks/buttonGroup.component-ZElXi_Hz.js.map +1 -0
  22. package/dist/chunks/card.component-HX-4Y0j7.js +51 -0
  23. package/dist/chunks/card.component-HX-4Y0j7.js.map +1 -0
  24. package/dist/chunks/card.component-ZIoJIWVV.js +2 -0
  25. package/dist/chunks/card.component-ZIoJIWVV.js.map +1 -0
  26. package/dist/chunks/{theme.provider-Dez6uepg.js → chakra-BqBkjpvZ.js} +4468 -5308
  27. package/dist/chunks/chakra-BqBkjpvZ.js.map +1 -0
  28. package/dist/chunks/chakra-DmF8Cxqs.js +5 -0
  29. package/dist/chunks/chakra-DmF8Cxqs.js.map +1 -0
  30. package/dist/chunks/characterCounter.component-BXxyn_IB.js +2 -0
  31. package/dist/chunks/{characterCounter.component-WGffeYNG.js.map → characterCounter.component-BXxyn_IB.js.map} +1 -1
  32. package/dist/chunks/{characterCounter.component-UgnBVIt2.js → characterCounter.component-DhiMcztY.js} +12 -14
  33. package/dist/chunks/{characterCounter.component-UgnBVIt2.js.map → characterCounter.component-DhiMcztY.js.map} +1 -1
  34. package/dist/chunks/checkbox.component-DCdt-YxF.js +90 -0
  35. package/dist/chunks/checkbox.component-DCdt-YxF.js.map +1 -0
  36. package/dist/chunks/checkbox.component-jiWqSWP0.js +2 -0
  37. package/dist/chunks/checkbox.component-jiWqSWP0.js.map +1 -0
  38. package/dist/chunks/checkbox.records-DJfdKuOe.js +2 -0
  39. package/dist/chunks/checkbox.records-DJfdKuOe.js.map +1 -0
  40. package/dist/chunks/checkbox.records-JWbKQ684.js +14 -0
  41. package/dist/chunks/checkbox.records-JWbKQ684.js.map +1 -0
  42. package/dist/chunks/checkboxGroup.component-BYKUQW4y.js +2 -0
  43. package/dist/chunks/{checkboxGroup.component-Dc_r6mYN.js.map → checkboxGroup.component-BYKUQW4y.js.map} +1 -1
  44. package/dist/chunks/checkboxGroup.component-DcIdfbbl.js +51 -0
  45. package/dist/chunks/{checkboxGroup.component-DhXdSILq.js.map → checkboxGroup.component-DcIdfbbl.js.map} +1 -1
  46. package/dist/chunks/{conversationCard.component-Eb3E-4jY.js → conversationCard.component-BSfDNuuw.js} +49 -51
  47. package/dist/chunks/conversationCard.component-BSfDNuuw.js.map +1 -0
  48. package/dist/chunks/conversationCard.component-BcHNpQ76.js +2 -0
  49. package/dist/chunks/conversationCard.component-BcHNpQ76.js.map +1 -0
  50. package/dist/chunks/date-1NFv48Qu.js +3598 -0
  51. package/dist/chunks/date-1NFv48Qu.js.map +1 -0
  52. package/dist/chunks/date-Du64Exix.js +15 -0
  53. package/dist/chunks/date-Du64Exix.js.map +1 -0
  54. package/dist/chunks/datePicker.component-CnRDt24V.js +2 -0
  55. package/dist/chunks/datePicker.component-CnRDt24V.js.map +1 -0
  56. package/dist/chunks/datePicker.component-DubnEnlU.js +750 -0
  57. package/dist/chunks/datePicker.component-DubnEnlU.js.map +1 -0
  58. package/dist/chunks/dnd-4IMP_kRN.js +6 -0
  59. package/dist/chunks/dnd-4IMP_kRN.js.map +1 -0
  60. package/dist/chunks/{sortableList.component-DI2da4B_.js → dnd-DDR6viHX.js} +887 -1015
  61. package/dist/chunks/dnd-DDR6viHX.js.map +1 -0
  62. package/dist/chunks/heading.component-B8niLTxz.js +10 -0
  63. package/dist/chunks/heading.component-B8niLTxz.js.map +1 -0
  64. package/dist/chunks/heading.component-CExbjSBi.js +2 -0
  65. package/dist/chunks/heading.component-CExbjSBi.js.map +1 -0
  66. package/dist/chunks/heading.records-BaWnrbgl.js +14 -0
  67. package/dist/chunks/heading.records-BaWnrbgl.js.map +1 -0
  68. package/dist/chunks/heading.records-CbR05iL_.js +2 -0
  69. package/dist/chunks/heading.records-CbR05iL_.js.map +1 -0
  70. package/dist/chunks/{icon.component-DGNCL1Yc.js → icon.component-DjNY589M.js} +16 -14
  71. package/dist/chunks/icon.component-DjNY589M.js.map +1 -0
  72. package/dist/chunks/icon.component-DtX9HDyk.js +2 -0
  73. package/dist/chunks/icon.component-DtX9HDyk.js.map +1 -0
  74. package/dist/chunks/link.component-DjkiASIu.js +58 -0
  75. package/dist/chunks/link.component-DjkiASIu.js.map +1 -0
  76. package/dist/chunks/link.component-XWINESZ0.js +2 -0
  77. package/dist/chunks/link.component-XWINESZ0.js.map +1 -0
  78. package/dist/chunks/menu.component-CT28-CuT.js +2 -0
  79. package/dist/chunks/menu.component-CT28-CuT.js.map +1 -0
  80. package/dist/chunks/menu.component-gxhQh-pU.js +390 -0
  81. package/dist/chunks/menu.component-gxhQh-pU.js.map +1 -0
  82. package/dist/chunks/modal.types-CcUqszK6.js +2 -0
  83. package/dist/chunks/modal.types-CcUqszK6.js.map +1 -0
  84. package/dist/chunks/modal.types-pXkUwszR.js +146 -0
  85. package/dist/chunks/modal.types-pXkUwszR.js.map +1 -0
  86. package/dist/chunks/notificationCounter.component-D6v39lna.js +2 -0
  87. package/dist/chunks/{notificationCounter.component-BhZcuBmr.js.map → notificationCounter.component-D6v39lna.js.map} +1 -1
  88. package/dist/chunks/{notificationCounter.component-Bei8mHSZ.js → notificationCounter.component-DU5P6Ilh.js} +8 -10
  89. package/dist/chunks/{notificationCounter.component-Bei8mHSZ.js.map → notificationCounter.component-DU5P6Ilh.js.map} +1 -1
  90. package/dist/chunks/popover.component-CnJmg9qf.js +221 -0
  91. package/dist/chunks/popover.component-CnJmg9qf.js.map +1 -0
  92. package/dist/chunks/popover.component-DdC0CY7-.js +2 -0
  93. package/dist/chunks/popover.component-DdC0CY7-.js.map +1 -0
  94. package/dist/chunks/popover.recipe-DnCuZJd3.js +123 -0
  95. package/dist/chunks/popover.recipe-DnCuZJd3.js.map +1 -0
  96. package/dist/chunks/popover.recipe-Pfz3evii.js +2 -0
  97. package/dist/chunks/popover.recipe-Pfz3evii.js.map +1 -0
  98. package/dist/chunks/radio.records-BxCn4oUd.js +2 -0
  99. package/dist/chunks/radio.records-BxCn4oUd.js.map +1 -0
  100. package/dist/chunks/radio.records-Cc3kP4Vn.js +14 -0
  101. package/dist/chunks/radio.records-Cc3kP4Vn.js.map +1 -0
  102. package/dist/chunks/radioGroup.component-Cmi6MDqq.js +2 -0
  103. package/dist/chunks/radioGroup.component-Cmi6MDqq.js.map +1 -0
  104. package/dist/chunks/radioGroup.component-D96ItNYx.js +151 -0
  105. package/dist/chunks/radioGroup.component-D96ItNYx.js.map +1 -0
  106. package/dist/chunks/{ratingDots.component-DNeSgGRt.js → ratingDots.component-B4OK_lXC.js} +28 -31
  107. package/dist/chunks/{ratingDots.component-DNeSgGRt.js.map → ratingDots.component-B4OK_lXC.js.map} +1 -1
  108. package/dist/chunks/ratingDots.component-DOZX6EE0.js +2 -0
  109. package/dist/chunks/{ratingDots.component-DvlGbBPz.js.map → ratingDots.component-DOZX6EE0.js.map} +1 -1
  110. package/dist/chunks/select.component-CqhmG4oz.js +2 -0
  111. package/dist/chunks/select.component-CqhmG4oz.js.map +1 -0
  112. package/dist/chunks/select.component-_JVxRL_-.js +129 -0
  113. package/dist/chunks/select.component-_JVxRL_-.js.map +1 -0
  114. package/dist/chunks/sortableList.component-BH9-C_Pe.js +2 -0
  115. package/dist/chunks/sortableList.component-BH9-C_Pe.js.map +1 -0
  116. package/dist/chunks/sortableList.component-CdDArkRq.js +145 -0
  117. package/dist/chunks/sortableList.component-CdDArkRq.js.map +1 -0
  118. package/dist/chunks/spinner.component-CUuidnSK.js +2 -0
  119. package/dist/chunks/{spinner.component-DUIpnXU8.js.map → spinner.component-CUuidnSK.js.map} +1 -1
  120. package/dist/chunks/{spinner.component-DER6c5R6.js → spinner.component-D5tkelNc.js} +19 -21
  121. package/dist/chunks/spinner.component-D5tkelNc.js.map +1 -0
  122. package/dist/chunks/styledAvatar.types-CMdLnJHx.js +2 -0
  123. package/dist/chunks/styledAvatar.types-CMdLnJHx.js.map +1 -0
  124. package/dist/chunks/{styledAvatar.types-EGc1-I1N.js → styledAvatar.types-CoxQchLt.js} +3 -3
  125. package/dist/chunks/styledAvatar.types-CoxQchLt.js.map +1 -0
  126. package/dist/chunks/switch.component-6jkW8-JB.js +2 -0
  127. package/dist/chunks/switch.component-6jkW8-JB.js.map +1 -0
  128. package/dist/chunks/switch.component-BopLXT0i.js +53 -0
  129. package/dist/chunks/switch.component-BopLXT0i.js.map +1 -0
  130. package/dist/chunks/tabs.component-BJv145kf.js +2 -0
  131. package/dist/chunks/tabs.component-BJv145kf.js.map +1 -0
  132. package/dist/chunks/tabs.component-DTvdLvkX.js +87 -0
  133. package/dist/chunks/tabs.component-DTvdLvkX.js.map +1 -0
  134. package/dist/chunks/tag.component-DK64cZSr.js +67 -0
  135. package/dist/chunks/tag.component-DK64cZSr.js.map +1 -0
  136. package/dist/chunks/tag.component-D_hbxu6m.js +2 -0
  137. package/dist/chunks/tag.component-D_hbxu6m.js.map +1 -0
  138. package/dist/chunks/{tagBlock.component-C-CNF4In.js → tagBlock.component-LX4_ve_f.js} +17 -18
  139. package/dist/chunks/tagBlock.component-LX4_ve_f.js.map +1 -0
  140. package/dist/chunks/tagBlock.component-a2gERgrx.js +2 -0
  141. package/dist/chunks/tagBlock.component-a2gERgrx.js.map +1 -0
  142. package/dist/chunks/text.component-CBa_saMP.js +2 -0
  143. package/dist/chunks/text.component-CBa_saMP.js.map +1 -0
  144. package/dist/chunks/text.component-XYjOAc2s.js +10 -0
  145. package/dist/chunks/text.component-XYjOAc2s.js.map +1 -0
  146. package/dist/chunks/text.records-BK_JBYsT.js +16 -0
  147. package/dist/chunks/text.records-BK_JBYsT.js.map +1 -0
  148. package/dist/chunks/text.records-CIL3bbY0.js +2 -0
  149. package/dist/chunks/text.records-CIL3bbY0.js.map +1 -0
  150. package/dist/chunks/textInput.component-Bk7D4sbG.js +99 -0
  151. package/dist/chunks/textInput.component-Bk7D4sbG.js.map +1 -0
  152. package/dist/chunks/textInput.component-GSpfSqUc.js +2 -0
  153. package/dist/chunks/textInput.component-GSpfSqUc.js.map +1 -0
  154. package/dist/chunks/textarea.component-B8U8KcND.js +2 -0
  155. package/dist/chunks/textarea.component-B8U8KcND.js.map +1 -0
  156. package/dist/chunks/textarea.component-CT8iVuNX.js +51 -0
  157. package/dist/chunks/textarea.component-CT8iVuNX.js.map +1 -0
  158. package/dist/chunks/{timePicker.component-DsQUV8fR.js → timePicker.component--ABdI3GF.js} +43 -46
  159. package/dist/chunks/{timePicker.component-DsQUV8fR.js.map → timePicker.component--ABdI3GF.js.map} +1 -1
  160. package/dist/chunks/timePicker.component-Dw_FjiQX.js +2 -0
  161. package/dist/chunks/{timePicker.component-av1t2G-i.js.map → timePicker.component-Dw_FjiQX.js.map} +1 -1
  162. package/dist/chunks/timeRange.component-B3OvVyo_.js +17 -0
  163. package/dist/chunks/{timeRange.component-bIQZJ4MP.js.map → timeRange.component-B3OvVyo_.js.map} +1 -1
  164. package/dist/chunks/timeRange.component-RLisXhuw.js +2 -0
  165. package/dist/chunks/{timeRange.component-B7syLsrU.js.map → timeRange.component-RLisXhuw.js.map} +1 -1
  166. package/dist/chunks/timestamp.component-CuqY4euh.js +2 -0
  167. package/dist/chunks/timestamp.component-CuqY4euh.js.map +1 -0
  168. package/dist/chunks/timestamp.component-D764INLm.js +37 -0
  169. package/dist/chunks/timestamp.component-D764INLm.js.map +1 -0
  170. package/dist/chunks/tooltip.component-C3v2m2T2.js +70 -0
  171. package/dist/chunks/tooltip.component-C3v2m2T2.js.map +1 -0
  172. package/dist/chunks/tooltip.component-qWFa28S5.js +2 -0
  173. package/dist/chunks/tooltip.component-qWFa28S5.js.map +1 -0
  174. package/dist/chunks/typography-Cqrokog3.js.map +1 -1
  175. package/dist/chunks/typography-CtiaGoJG.js.map +1 -1
  176. package/dist/chunks/vendor-BBfll6i3.js +11757 -0
  177. package/dist/chunks/vendor-BBfll6i3.js.map +1 -0
  178. package/dist/chunks/vendor-D-x6W6ez.js +57 -0
  179. package/dist/chunks/vendor-D-x6W6ez.js.map +1 -0
  180. package/dist/chunks/withFormControl-B269FujS.js +149 -0
  181. package/dist/chunks/withFormControl-B269FujS.js.map +1 -0
  182. package/dist/chunks/withFormControl-Cy6Bwv0i.js +2 -0
  183. package/dist/chunks/withFormControl-Cy6Bwv0i.js.map +1 -0
  184. package/dist/chunks/withTruncation-BskZBBVs.js +2 -0
  185. package/dist/chunks/{withTruncation-CVhXtaaF.js.map → withTruncation-BskZBBVs.js.map} +1 -1
  186. package/dist/chunks/{withTruncation-CVhXtaaF.js → withTruncation-C2xFKhgB.js} +28 -21
  187. package/dist/chunks/{withTruncation-CYH02HoE.js.map → withTruncation-C2xFKhgB.js.map} +1 -1
  188. package/dist/cjs/components/Alert/index.cjs +1 -1
  189. package/dist/cjs/components/Avatar/index.cjs +1 -1
  190. package/dist/cjs/components/AvatarGroup/index.cjs +1 -1
  191. package/dist/cjs/components/Button/index.cjs +1 -1
  192. package/dist/cjs/components/ButtonGroup/index.cjs +1 -1
  193. package/dist/cjs/components/Card/index.cjs +1 -1
  194. package/dist/cjs/components/Card/index.cjs.map +1 -1
  195. package/dist/cjs/components/CharacterCounter/index.cjs +1 -1
  196. package/dist/cjs/components/Checkbox/index.cjs +1 -1
  197. package/dist/cjs/components/CheckboxGroup/index.cjs +1 -1
  198. package/dist/cjs/components/DatePicker/index.cjs +1 -1
  199. package/dist/cjs/components/Heading/index.cjs +1 -1
  200. package/dist/cjs/components/Icon/generated/index.cjs +1 -1
  201. package/dist/cjs/components/Icon/generated/index.cjs.map +1 -1
  202. package/dist/cjs/components/Icon/index.cjs +1 -1
  203. package/dist/cjs/components/Link/index.cjs +1 -1
  204. package/dist/cjs/components/Menu/index.cjs +1 -1
  205. package/dist/cjs/components/Modal/index.cjs +1 -1
  206. package/dist/cjs/components/NotificationCounter/index.cjs +1 -1
  207. package/dist/cjs/components/NotificationCounter/index.cjs.map +1 -1
  208. package/dist/cjs/components/Picture/index.cjs +1 -1
  209. package/dist/cjs/components/Picture/index.cjs.map +1 -1
  210. package/dist/cjs/components/Popover/index.cjs +1 -1
  211. package/dist/cjs/components/RadioGroup/index.cjs +1 -1
  212. package/dist/cjs/components/RatingDots/index.cjs +1 -1
  213. package/dist/cjs/components/Select/index.cjs +1 -1
  214. package/dist/cjs/components/SortableList/index.cjs +1 -1
  215. package/dist/cjs/components/Spinner/index.cjs +1 -1
  216. package/dist/cjs/components/Swatch/index.cjs +1 -1
  217. package/dist/cjs/components/Swatch/index.cjs.map +1 -1
  218. package/dist/cjs/components/Switch/index.cjs +1 -1
  219. package/dist/cjs/components/Tabs/index.cjs +1 -1
  220. package/dist/cjs/components/Tag/index.cjs +1 -1
  221. package/dist/cjs/components/Text/index.cjs +1 -1
  222. package/dist/cjs/components/TextInput/index.cjs +1 -1
  223. package/dist/cjs/components/Textarea/index.cjs +1 -1
  224. package/dist/cjs/components/TimePicker/index.cjs +1 -1
  225. package/dist/cjs/components/TimeRange/index.cjs +1 -1
  226. package/dist/cjs/components/Tooltip/index.cjs +1 -1
  227. package/dist/cjs/components/index.cjs +1 -1
  228. package/dist/cjs/hocs/index.cjs +1 -1
  229. package/dist/cjs/hocs/index.cjs.map +1 -1
  230. package/dist/cjs/hooks/index.cjs +1 -1
  231. package/dist/cjs/hooks/index.cjs.map +1 -1
  232. package/dist/cjs/index.cjs +1 -1
  233. package/dist/cjs/{components → patterns}/ConversationCard/index.cjs +1 -1
  234. package/dist/cjs/{components → patterns}/StyledAvatar/index.cjs +1 -1
  235. package/dist/cjs/{components → patterns}/TagBlock/index.cjs +1 -1
  236. package/dist/cjs/{components → patterns}/Timestamp/index.cjs +1 -1
  237. package/dist/cjs/patterns/index.cjs +2 -0
  238. package/dist/cjs/theme/index.cjs +23 -1
  239. package/dist/cjs/theme/index.cjs.map +1 -1
  240. package/dist/cjs/theme/tokens/blurs/index.cjs +1 -1
  241. package/dist/cjs/theme/tokens/blurs/index.cjs.map +1 -1
  242. package/dist/cjs/theme/tokens/borders/index.cjs +1 -1
  243. package/dist/cjs/theme/tokens/borders/index.cjs.map +1 -1
  244. package/dist/cjs/theme/tokens/index.cjs +1 -1
  245. package/dist/cjs/theme/tokens/shadows/index.cjs +1 -1
  246. package/dist/cjs/theme/tokens/shadows/index.cjs.map +1 -1
  247. package/dist/cjs/theme/tokens/sizes/index.cjs +1 -1
  248. package/dist/cjs/theme/tokens/sizes/index.cjs.map +1 -1
  249. package/dist/cjs/theme/tokens/spacing/index.cjs +1 -1
  250. package/dist/cjs/theme/tokens/spacing/index.cjs.map +1 -1
  251. package/dist/cjs/theme/tokens/transitions/index.cjs +1 -1
  252. package/dist/cjs/theme/tokens/transitions/index.cjs.map +1 -1
  253. package/dist/cjs/theme/tokens/typography/index.cjs +1 -1
  254. package/dist/cjs/theme/tokens/typography/index.cjs.map +1 -1
  255. package/dist/cjs/theme/tokens/zIndices/index.cjs +1 -1
  256. package/dist/cjs/theme/tokens/zIndices/index.cjs.map +1 -1
  257. package/dist/esm/components/Alert/index.js +5 -3
  258. package/dist/esm/components/Avatar/index.js +1 -1
  259. package/dist/esm/components/AvatarGroup/index.js +1 -1
  260. package/dist/esm/components/Button/index.js +1 -1
  261. package/dist/esm/components/ButtonGroup/index.js +1 -1
  262. package/dist/esm/components/Card/index.js +5 -4
  263. package/dist/esm/components/Card/index.js.map +1 -1
  264. package/dist/esm/components/CharacterCounter/index.js +1 -1
  265. package/dist/esm/components/Checkbox/index.js +1 -1
  266. package/dist/esm/components/CheckboxGroup/index.js +1 -1
  267. package/dist/esm/components/DatePicker/index.js +4 -3
  268. package/dist/esm/components/Heading/index.js +4 -2
  269. package/dist/esm/components/Heading/index.js.map +1 -1
  270. package/dist/esm/components/Icon/generated/index.js +338 -373
  271. package/dist/esm/components/Icon/generated/index.js.map +1 -1
  272. package/dist/esm/components/Icon/index.js +6 -4
  273. package/dist/esm/components/Link/index.js +1 -1
  274. package/dist/esm/components/Menu/index.js +1 -1
  275. package/dist/esm/components/Modal/index.js +1 -1
  276. package/dist/esm/components/NotificationCounter/index.js +11 -5
  277. package/dist/esm/components/NotificationCounter/index.js.map +1 -1
  278. package/dist/esm/components/Picture/index.js +16 -1
  279. package/dist/esm/components/Picture/index.js.map +1 -1
  280. package/dist/esm/components/Popover/index.js +1 -1
  281. package/dist/esm/components/RadioGroup/index.js +1 -1
  282. package/dist/esm/components/RatingDots/index.js +1 -1
  283. package/dist/esm/components/Select/index.js +1 -1
  284. package/dist/esm/components/SortableList/index.js +1 -1
  285. package/dist/esm/components/Spinner/index.js +1 -1
  286. package/dist/esm/components/Swatch/index.js +62 -3
  287. package/dist/esm/components/Swatch/index.js.map +1 -1
  288. package/dist/esm/components/Switch/index.js +1 -1
  289. package/dist/esm/components/Tabs/index.js +1 -1
  290. package/dist/esm/components/Tag/index.js +6 -5
  291. package/dist/esm/components/Text/index.js +4 -2
  292. package/dist/esm/components/Text/index.js.map +1 -1
  293. package/dist/esm/components/TextInput/index.js +3 -2
  294. package/dist/esm/components/Textarea/index.js +1 -1
  295. package/dist/esm/components/TimePicker/index.js +1 -1
  296. package/dist/esm/components/TimeRange/index.js +1 -1
  297. package/dist/esm/components/Tooltip/index.js +1 -1
  298. package/dist/esm/components/index.js +111 -122
  299. package/dist/esm/components/index.js.map +1 -1
  300. package/dist/esm/hocs/index.js +35 -3
  301. package/dist/esm/hocs/index.js.map +1 -1
  302. package/dist/esm/hooks/index.js +17 -7
  303. package/dist/esm/hooks/index.js.map +1 -1
  304. package/dist/esm/index.js +116 -141
  305. package/dist/esm/index.js.map +1 -1
  306. package/dist/esm/{components → patterns}/ConversationCard/index.js +1 -1
  307. package/dist/esm/{components → patterns}/StyledAvatar/index.js +1 -1
  308. package/dist/esm/{components → patterns}/TagBlock/index.js +1 -1
  309. package/dist/esm/patterns/Timestamp/index.js +5 -0
  310. package/dist/esm/patterns/index.js +13 -0
  311. package/dist/esm/patterns/index.js.map +1 -0
  312. package/dist/esm/theme/index.js +2477 -3
  313. package/dist/esm/theme/index.js.map +1 -1
  314. package/dist/esm/theme/tokens/blurs/index.js +13 -1
  315. package/dist/esm/theme/tokens/blurs/index.js.map +1 -1
  316. package/dist/esm/theme/tokens/borders/index.js +22 -1
  317. package/dist/esm/theme/tokens/borders/index.js.map +1 -1
  318. package/dist/esm/theme/tokens/index.js +26 -2
  319. package/dist/esm/theme/tokens/index.js.map +1 -1
  320. package/dist/esm/theme/tokens/shadows/index.js +55 -1
  321. package/dist/esm/theme/tokens/shadows/index.js.map +1 -1
  322. package/dist/esm/theme/tokens/sizes/index.js +28 -1
  323. package/dist/esm/theme/tokens/sizes/index.js.map +1 -1
  324. package/dist/esm/theme/tokens/spacing/index.js +38 -1
  325. package/dist/esm/theme/tokens/spacing/index.js.map +1 -1
  326. package/dist/esm/theme/tokens/transitions/index.js +17 -1
  327. package/dist/esm/theme/tokens/transitions/index.js.map +1 -1
  328. package/dist/esm/theme/tokens/typography/index.js +53 -1
  329. package/dist/esm/theme/tokens/typography/index.js.map +1 -1
  330. package/dist/esm/theme/tokens/zIndices/index.js +19 -1
  331. package/dist/esm/theme/tokens/zIndices/index.js.map +1 -1
  332. package/dist/types/components/Alert/alert.component.d.ts +13 -5
  333. package/dist/types/components/Alert/alert.recipe.d.ts +1 -1
  334. package/dist/types/components/Alert/alert.records.d.ts +5 -0
  335. package/dist/types/components/Alert/docs/alert.argTypes.d.ts +5 -0
  336. package/dist/types/components/Alert/index.d.ts +1 -0
  337. package/dist/types/components/Alert.d.ts +2 -0
  338. package/dist/types/components/Avatar/avatar.recipe.d.ts +1 -1
  339. package/dist/types/components/Avatar/components/AvatarBadge/avatarBadge.component.d.ts +1 -1
  340. package/dist/types/components/Avatar/components/AvatarBadge/avatarBadge.recipe.d.ts +2 -2
  341. package/dist/types/components/Avatar/components/AvatarBadge/avatarBadge.types.d.ts +1 -1
  342. package/dist/types/components/Avatar/components/AvatarBadge/docs/avatarBadge.argTypes.d.ts +3 -0
  343. package/dist/types/components/Avatar/docs/avatar.argTypes.d.ts +3 -0
  344. package/dist/types/components/Avatar.d.ts +2 -0
  345. package/dist/types/components/AvatarGroup/docs/avatarGroup.argTypes.d.ts +3 -0
  346. package/dist/types/components/AvatarGroup.d.ts +2 -0
  347. package/dist/types/components/Button/button.component.d.ts +3 -2
  348. package/dist/types/components/Button/button.recipe.d.ts +2 -2
  349. package/dist/types/components/Button/docs/button.argTypes.d.ts +3 -0
  350. package/dist/types/components/Button.d.ts +2 -0
  351. package/dist/types/components/ButtonGroup/docs/buttonGroup.argTypes.d.ts +3 -0
  352. package/dist/types/components/ButtonGroup.d.ts +2 -0
  353. package/dist/types/components/Card/card.component.d.ts +1 -1
  354. package/dist/types/components/Card/docs/card.argTypes.d.ts +3 -0
  355. package/dist/types/components/Card/index.d.ts +1 -0
  356. package/dist/types/components/Card.d.ts +2 -0
  357. package/dist/types/components/CharacterCounter/docs/characterCounter.argTypes.d.ts +3 -0
  358. package/dist/types/components/CharacterCounter.d.ts +2 -0
  359. package/dist/types/components/Checkbox/docs/checkbox.argTypes.d.ts +3 -0
  360. package/dist/types/components/Checkbox.d.ts +2 -0
  361. package/dist/types/components/CheckboxGroup/docs/checkboxGroup.argTypes.d.ts +3 -0
  362. package/dist/types/components/CheckboxGroup.d.ts +2 -0
  363. package/dist/types/components/DatePicker/docs/datePicker.argTypes.d.ts +3 -0
  364. package/dist/types/components/DatePicker/index.d.ts +1 -0
  365. package/dist/types/components/DatePicker.d.ts +2 -0
  366. package/dist/types/components/Heading/docs/heading.argTypes.d.ts +3 -0
  367. package/dist/types/components/Heading/heading.component.d.ts +2 -1
  368. package/dist/types/components/Heading/heading.recipe.d.ts +1 -1
  369. package/dist/types/components/Heading/heading.types.d.ts +1 -1
  370. package/dist/types/components/Heading/index.d.ts +1 -0
  371. package/dist/types/components/Heading.d.ts +2 -0
  372. package/dist/types/components/Icon/docs/icon.argTypes.d.ts +3 -0
  373. package/dist/types/components/Icon/generated/index.d.ts +1 -1
  374. package/dist/types/components/Icon/generated.d.ts +2 -0
  375. package/dist/types/components/Icon/icon.component.d.ts +3 -2
  376. package/dist/types/components/Icon/index.d.ts +1 -0
  377. package/dist/types/components/Icon.d.ts +2 -0
  378. package/dist/types/components/Link/docs/link.argTypes.d.ts +5 -0
  379. package/dist/types/components/Link/link.recipe.d.ts +1 -1
  380. package/dist/types/components/Link.d.ts +2 -0
  381. package/dist/types/components/Menu/components/MenuItem/menuItem.component.d.ts +2 -3
  382. package/dist/types/components/Menu/docs/menu.argTypes.d.ts +4 -0
  383. package/dist/types/components/Menu/menu.component.d.ts +1 -1
  384. package/dist/types/components/Menu.d.ts +2 -0
  385. package/dist/types/components/Modal/docs/modal.argTypes.d.ts +3 -0
  386. package/dist/types/components/Modal/modal.recipe.d.ts +1 -1
  387. package/dist/types/components/Modal.d.ts +2 -0
  388. package/dist/types/components/NotificationCounter/docs/notificationCounter.argTypes.d.ts +3 -0
  389. package/dist/types/components/NotificationCounter/index.d.ts +1 -0
  390. package/dist/types/components/NotificationCounter/notificationCounter.recipe.d.ts +2 -2
  391. package/dist/types/components/NotificationCounter.d.ts +2 -0
  392. package/dist/types/components/Picture/docs/picture.argTypes.d.ts +3 -0
  393. package/dist/types/components/Picture.d.ts +2 -0
  394. package/dist/types/components/Popover/docs/popover.argTypes.d.ts +3 -0
  395. package/dist/types/components/Popover/popover.recipe.d.ts +1 -1
  396. package/dist/types/components/Popover.d.ts +2 -0
  397. package/dist/types/components/RadioGroup/components/Radio/docs/radio.argTypes.d.ts +3 -0
  398. package/dist/types/components/RadioGroup/docs/radioGroup.argTypes.d.ts +3 -0
  399. package/dist/types/components/RadioGroup/index.d.ts +0 -1
  400. package/dist/types/components/RadioGroup.d.ts +2 -0
  401. package/dist/types/components/RatingDots/docs/ratingDots.argTypes.d.ts +3 -0
  402. package/dist/types/components/RatingDots.d.ts +2 -0
  403. package/dist/types/components/Select/docs/select.argTypes.d.ts +3 -0
  404. package/dist/types/components/Select/select.component.d.ts +0 -3
  405. package/dist/types/components/Select.d.ts +2 -0
  406. package/dist/types/components/SortableList/docs/sortableList.argTypes.d.ts +3 -0
  407. package/dist/types/components/SortableList/index.d.ts +0 -1
  408. package/dist/types/components/SortableList.d.ts +2 -0
  409. package/dist/types/components/Spinner/docs/spinner.argTypes.d.ts +3 -0
  410. package/dist/types/components/Spinner/spinner.component.d.ts +1 -1
  411. package/dist/types/components/Spinner/spinner.recipe.d.ts +2 -2
  412. package/dist/types/components/Spinner.d.ts +2 -0
  413. package/dist/types/components/Swatch/docs/swatch.argTypes.d.ts +3 -0
  414. package/dist/types/components/Swatch/swatch.recipe.d.ts +1 -1
  415. package/dist/types/components/Swatch.d.ts +2 -0
  416. package/dist/types/components/Switch/docs/switch.argTypes.d.ts +3 -0
  417. package/dist/types/components/Switch.d.ts +2 -0
  418. package/dist/types/components/Tabs/components/Tab/docs/tab.argTypes.d.ts +3 -0
  419. package/dist/types/components/Tabs/docs/tabs.argTypes.d.ts +3 -0
  420. package/dist/types/components/Tabs/tabs.recipe.d.ts +1 -1
  421. package/dist/types/components/Tabs.d.ts +2 -0
  422. package/dist/types/components/Tag/docs/tag.argTypes.d.ts +3 -0
  423. package/dist/types/components/Tag/index.d.ts +1 -0
  424. package/dist/types/components/Tag/tag.recipe.d.ts +1 -1
  425. package/dist/types/components/Tag.d.ts +2 -0
  426. package/dist/types/components/Text/docs/text.argTypes.d.ts +3 -0
  427. package/dist/types/components/Text/index.d.ts +1 -0
  428. package/dist/types/components/Text/text.component.d.ts +2 -1
  429. package/dist/types/components/Text/text.recipe.d.ts +2 -1
  430. package/dist/types/components/Text/text.types.d.ts +1 -1
  431. package/dist/types/components/Text.d.ts +2 -0
  432. package/dist/types/components/TextInput/docs/textInput.argTypes.d.ts +3 -0
  433. package/dist/types/components/TextInput/index.d.ts +1 -0
  434. package/dist/types/components/TextInput.d.ts +2 -0
  435. package/dist/types/components/Textarea/docs/textarea.argTypes.d.ts +3 -0
  436. package/dist/types/components/Textarea.d.ts +2 -0
  437. package/dist/types/components/TimePicker/docs/timePicker.argTypes.d.ts +3 -0
  438. package/dist/types/components/TimePicker.d.ts +2 -0
  439. package/dist/types/components/TimeRange/docs/timeRange.argTypes.d.ts +3 -0
  440. package/dist/types/components/TimeRange.d.ts +2 -0
  441. package/dist/types/components/Tooltip/docs/tooltip.argTypes.d.ts +3 -0
  442. package/dist/types/components/Tooltip.d.ts +2 -0
  443. package/dist/types/components/index.d.ts +1 -9
  444. package/dist/types/components.d.ts +2 -0
  445. package/dist/types/hocs/withFormControl/withFormControl.d.ts +1 -2
  446. package/dist/types/hocs.d.ts +2 -0
  447. package/dist/types/hooks/index.d.ts +0 -2
  448. package/dist/types/hooks.d.ts +2 -0
  449. package/dist/types/index.d.ts +0 -2
  450. package/dist/types/{components → patterns}/ConversationCard/components/ConversationCardButtons/conversationCardButtons.component.d.ts +1 -1
  451. package/dist/types/{components → patterns}/ConversationCard/components/ConversationCardContent/conversationCardContent.component.d.ts +1 -1
  452. package/dist/types/{components → patterns}/ConversationCard/components/ConversationCardFooter/conversationCardFooter.component.d.ts +2 -2
  453. package/dist/types/{components → patterns}/ConversationCard/components/ConversationCardTags/conversationCardTags.component.d.ts +1 -1
  454. package/dist/types/{components → patterns}/ConversationCard/conversationCard.component.d.ts +1 -1
  455. package/dist/types/patterns/ConversationCard/docs/conversationCard.argTypes.d.ts +12 -0
  456. package/dist/types/patterns/ConversationCard/docs/conversationCard.storiesData.d.ts +22 -0
  457. package/dist/types/patterns/ConversationCard.d.ts +2 -0
  458. package/dist/types/patterns/StyledAvatar/docs/styledAvatar.argTypes.d.ts +3 -0
  459. package/dist/types/{components → patterns}/StyledAvatar/styledAvatar.component.d.ts +1 -1
  460. package/dist/types/patterns/StyledAvatar.d.ts +2 -0
  461. package/dist/types/patterns/TagBlock/docs/tagBlock.argTypes.d.ts +3 -0
  462. package/dist/types/{components → patterns}/TagBlock/tagBlock.component.d.ts +1 -1
  463. package/dist/types/patterns/TagBlock.d.ts +2 -0
  464. package/dist/types/patterns/Timestamp/docs/timestamp.argTypes.d.ts +3 -0
  465. package/dist/types/{components → patterns}/Timestamp/timestamp.component.d.ts +1 -1
  466. package/dist/types/patterns/Timestamp.d.ts +2 -0
  467. package/dist/types/patterns/index.d.ts +4 -0
  468. package/dist/types/patterns.d.ts +2 -0
  469. package/dist/types/shared/records/typography.d.ts +1 -1
  470. package/dist/types/shared/types.d.ts +2 -0
  471. package/dist/types/theme/index.d.ts +1 -2
  472. package/dist/types/theme/providers/theme.provider.d.ts +1 -2
  473. package/dist/types/theme/semanticTokens/docs/semanticTokens.d.ts +7 -0
  474. package/dist/types/theme/semanticTokens/semanticTokens.config.d.ts +0 -4
  475. package/dist/types/theme/semanticTokens/semanticTokens.records.d.ts +0 -8
  476. package/dist/types/theme/semanticTokens.d.ts +2 -0
  477. package/dist/types/theme/theme.config.d.ts +0 -1
  478. package/dist/types/theme/tokens/blurs/blurs.config.d.ts +6 -6
  479. package/dist/types/theme/tokens/blurs/index.d.ts +1 -0
  480. package/dist/types/theme/tokens/blurs.d.ts +2 -0
  481. package/dist/types/theme/tokens/borders/borders.config.d.ts +9 -9
  482. package/dist/types/theme/tokens/borders/docs/borders.d.ts +5 -0
  483. package/dist/types/theme/tokens/borders/index.d.ts +1 -0
  484. package/dist/types/theme/tokens/borders.d.ts +2 -0
  485. package/dist/types/theme/tokens/colors.d.ts +2 -0
  486. package/dist/types/theme/tokens/shadows/docs/shadows.d.ts +6 -0
  487. package/dist/types/theme/tokens/shadows/index.d.ts +1 -0
  488. package/dist/types/theme/tokens/shadows/shadows.config.d.ts +11 -11
  489. package/dist/types/theme/tokens/shadows.d.ts +2 -0
  490. package/dist/types/theme/tokens/sizes/index.d.ts +1 -0
  491. package/dist/types/theme/tokens/sizes/sizes.config.d.ts +10 -24
  492. package/dist/types/theme/tokens/sizes.d.ts +2 -0
  493. package/dist/types/theme/tokens/spacing/index.d.ts +1 -0
  494. package/dist/types/theme/tokens/spacing/spacing.config.d.ts +21 -21
  495. package/dist/types/theme/tokens/spacing.d.ts +2 -0
  496. package/dist/types/theme/tokens/transitions/index.d.ts +1 -0
  497. package/dist/types/theme/tokens/transitions/transitions.config.d.ts +6 -6
  498. package/dist/types/theme/tokens/transitions.d.ts +2 -0
  499. package/dist/types/theme/tokens/typography/docs/typography.d.ts +2 -0
  500. package/dist/types/theme/tokens/typography/index.d.ts +1 -0
  501. package/dist/types/theme/tokens/typography/typography.config.d.ts +74 -29
  502. package/dist/types/theme/tokens/typography.d.ts +2 -0
  503. package/dist/types/theme/tokens/zIndices/index.d.ts +1 -0
  504. package/dist/types/theme/tokens/zIndices/zIndices.config.d.ts +11 -11
  505. package/dist/types/theme/tokens/zIndices.d.ts +2 -0
  506. package/dist/types/theme/tokens.d.ts +2 -0
  507. package/dist/types/theme.d.ts +2 -0
  508. package/package.json +43 -73
  509. package/dist/chunks/IconLogo-C4aZqkn1.js +0 -2
  510. package/dist/chunks/IconLogo-C4aZqkn1.js.map +0 -1
  511. package/dist/chunks/IconLogo-D8EHZ4Is.js +0 -62
  512. package/dist/chunks/IconLogo-D8EHZ4Is.js.map +0 -1
  513. package/dist/chunks/alert.types-BTwB1SOp.js +0 -219
  514. package/dist/chunks/alert.types-BTwB1SOp.js.map +0 -1
  515. package/dist/chunks/alert.types-Cjh2MIRP.js +0 -2
  516. package/dist/chunks/alert.types-Cjh2MIRP.js.map +0 -1
  517. package/dist/chunks/attr-BMs6szZx.js +0 -2
  518. package/dist/chunks/attr-BMs6szZx.js.map +0 -1
  519. package/dist/chunks/attr-sm10PXOd.js +0 -5
  520. package/dist/chunks/attr-sm10PXOd.js.map +0 -1
  521. package/dist/chunks/avatar.component-BnOmYhL2.js +0 -420
  522. package/dist/chunks/avatar.component-BnOmYhL2.js.map +0 -1
  523. package/dist/chunks/avatar.component-CbtJE4RJ.js +0 -2
  524. package/dist/chunks/avatar.component-CbtJE4RJ.js.map +0 -1
  525. package/dist/chunks/avatarGroup.component-D4lmT752.js +0 -2
  526. package/dist/chunks/box-Baq7UBls.js +0 -2
  527. package/dist/chunks/box-Baq7UBls.js.map +0 -1
  528. package/dist/chunks/box-Ck9I7FYv.js +0 -7
  529. package/dist/chunks/box-Ck9I7FYv.js.map +0 -1
  530. package/dist/chunks/button.component-BpF3MzbZ.js.map +0 -1
  531. package/dist/chunks/button.component-Dd9AfGox.js +0 -2
  532. package/dist/chunks/button.component-Dd9AfGox.js.map +0 -1
  533. package/dist/chunks/buttonGroup.component-DzQFhbS7.js +0 -77
  534. package/dist/chunks/buttonGroup.component-DzQFhbS7.js.map +0 -1
  535. package/dist/chunks/buttonGroup.component-aes3EERQ.js +0 -2
  536. package/dist/chunks/buttonGroup.component-aes3EERQ.js.map +0 -1
  537. package/dist/chunks/card.component-DNX41NGG.js +0 -59
  538. package/dist/chunks/card.component-DNX41NGG.js.map +0 -1
  539. package/dist/chunks/card.component-KNc4HKSh.js +0 -2
  540. package/dist/chunks/card.component-KNc4HKSh.js.map +0 -1
  541. package/dist/chunks/card.types-Cixp7ouC.js +0 -5
  542. package/dist/chunks/card.types-Cixp7ouC.js.map +0 -1
  543. package/dist/chunks/card.types-MvkQTTZF.js +0 -2
  544. package/dist/chunks/card.types-MvkQTTZF.js.map +0 -1
  545. package/dist/chunks/characterCounter.component-WGffeYNG.js +0 -2
  546. package/dist/chunks/checkbox.component-BEP-GPhs.js +0 -2
  547. package/dist/chunks/checkbox.component-BEP-GPhs.js.map +0 -1
  548. package/dist/chunks/checkbox.component-C6lXKzXZ.js +0 -310
  549. package/dist/chunks/checkbox.component-C6lXKzXZ.js.map +0 -1
  550. package/dist/chunks/checkbox.records-CXszv_gF.js +0 -2
  551. package/dist/chunks/checkbox.records-CXszv_gF.js.map +0 -1
  552. package/dist/chunks/checkbox.records-Gz6DOO_0.js +0 -266
  553. package/dist/chunks/checkbox.records-Gz6DOO_0.js.map +0 -1
  554. package/dist/chunks/checkboxGroup.component-Dc_r6mYN.js +0 -2
  555. package/dist/chunks/checkboxGroup.component-DhXdSILq.js +0 -52
  556. package/dist/chunks/config-BFcXpdZo.js +0 -2
  557. package/dist/chunks/config-BFcXpdZo.js.map +0 -1
  558. package/dist/chunks/config-DlTdf-Yt.js +0 -57
  559. package/dist/chunks/config-DlTdf-Yt.js.map +0 -1
  560. package/dist/chunks/conversationCard.component-1OCCeSNc.js +0 -2
  561. package/dist/chunks/conversationCard.component-1OCCeSNc.js.map +0 -1
  562. package/dist/chunks/conversationCard.component-Eb3E-4jY.js.map +0 -1
  563. package/dist/chunks/create-recipe-context-D7FewUR4.js +0 -62
  564. package/dist/chunks/create-recipe-context-D7FewUR4.js.map +0 -1
  565. package/dist/chunks/create-recipe-context-sESms8Eo.js +0 -2
  566. package/dist/chunks/create-recipe-context-sESms8Eo.js.map +0 -1
  567. package/dist/chunks/create-slot-recipe-context-BJmsuxih.js +0 -97
  568. package/dist/chunks/create-slot-recipe-context-BJmsuxih.js.map +0 -1
  569. package/dist/chunks/create-slot-recipe-context-IwVIgtBt.js +0 -2
  570. package/dist/chunks/create-slot-recipe-context-IwVIgtBt.js.map +0 -1
  571. package/dist/chunks/datePicker.component-CTbeLdvH.js +0 -3165
  572. package/dist/chunks/datePicker.component-CTbeLdvH.js.map +0 -1
  573. package/dist/chunks/datePicker.component-DvAwsX_7.js +0 -15
  574. package/dist/chunks/datePicker.component-DvAwsX_7.js.map +0 -1
  575. package/dist/chunks/dialog-trigger-B5NK0lr-.js +0 -2
  576. package/dist/chunks/dialog-trigger-B5NK0lr-.js.map +0 -1
  577. package/dist/chunks/dialog-trigger-BPlPzPU-.js +0 -78
  578. package/dist/chunks/dialog-trigger-BPlPzPU-.js.map +0 -1
  579. package/dist/chunks/divider.types-0j5qRXed.js +0 -47
  580. package/dist/chunks/divider.types-0j5qRXed.js.map +0 -1
  581. package/dist/chunks/divider.types-CK5oFy-i.js +0 -2
  582. package/dist/chunks/divider.types-CK5oFy-i.js.map +0 -1
  583. package/dist/chunks/empty-B5_AO6Pg.js +0 -2
  584. package/dist/chunks/empty-B5_AO6Pg.js.map +0 -1
  585. package/dist/chunks/empty-BU2EAux9.js +0 -8
  586. package/dist/chunks/empty-BU2EAux9.js.map +0 -1
  587. package/dist/chunks/factory-Ctbv0Ozn.js +0 -500
  588. package/dist/chunks/factory-Ctbv0Ozn.js.map +0 -1
  589. package/dist/chunks/factory-D6tdBUPG.js +0 -3
  590. package/dist/chunks/factory-D6tdBUPG.js.map +0 -1
  591. package/dist/chunks/flex-D14H6HbP.js +0 -2
  592. package/dist/chunks/flex-D14H6HbP.js.map +0 -1
  593. package/dist/chunks/flex-smlF8uQG.js +0 -40
  594. package/dist/chunks/flex-smlF8uQG.js.map +0 -1
  595. package/dist/chunks/float-DYLtz2A6.js +0 -64
  596. package/dist/chunks/float-DYLtz2A6.js.map +0 -1
  597. package/dist/chunks/float-OQXnYWBw.js +0 -2
  598. package/dist/chunks/float-OQXnYWBw.js.map +0 -1
  599. package/dist/chunks/format-BRt-TIiQ.js +0 -2
  600. package/dist/chunks/format-BRt-TIiQ.js.map +0 -1
  601. package/dist/chunks/format-DgHM6wFr.js +0 -1275
  602. package/dist/chunks/format-DgHM6wFr.js.map +0 -1
  603. package/dist/chunks/grid-item-BV4dwEBP.js +0 -90
  604. package/dist/chunks/grid-item-BV4dwEBP.js.map +0 -1
  605. package/dist/chunks/grid-item-CR-sXrjU.js +0 -2
  606. package/dist/chunks/grid-item-CR-sXrjU.js.map +0 -1
  607. package/dist/chunks/group-Cv7AQw1b.js +0 -2
  608. package/dist/chunks/group-Cv7AQw1b.js.map +0 -1
  609. package/dist/chunks/group-DPCVolOl.js +0 -139
  610. package/dist/chunks/group-DPCVolOl.js.map +0 -1
  611. package/dist/chunks/h-stack-Bjx9hlJo.js +0 -2
  612. package/dist/chunks/h-stack-Bjx9hlJo.js.map +0 -1
  613. package/dist/chunks/h-stack-Ce6JSBK2.js +0 -12
  614. package/dist/chunks/h-stack-Ce6JSBK2.js.map +0 -1
  615. package/dist/chunks/heading.component-DJaIpxi0.js +0 -12
  616. package/dist/chunks/heading.component-DJaIpxi0.js.map +0 -1
  617. package/dist/chunks/heading.component-lFK21HJl.js +0 -2
  618. package/dist/chunks/heading.component-lFK21HJl.js.map +0 -1
  619. package/dist/chunks/icon-button-DTZOklQ9.js +0 -119
  620. package/dist/chunks/icon-button-DTZOklQ9.js.map +0 -1
  621. package/dist/chunks/icon-button-DtjZ-SdQ.js +0 -2
  622. package/dist/chunks/icon-button-DtjZ-SdQ.js.map +0 -1
  623. package/dist/chunks/icon.component-C0e0UGBw.js +0 -2
  624. package/dist/chunks/icon.component-C0e0UGBw.js.map +0 -1
  625. package/dist/chunks/icon.component-DGNCL1Yc.js.map +0 -1
  626. package/dist/chunks/icons-BXxdrBrf.js +0 -216
  627. package/dist/chunks/icons-BXxdrBrf.js.map +0 -1
  628. package/dist/chunks/icons-CTpAjbC-.js +0 -2
  629. package/dist/chunks/icons-CTpAjbC-.js.map +0 -1
  630. package/dist/chunks/index-BBZxmcrY.js +0 -2
  631. package/dist/chunks/index-BBZxmcrY.js.map +0 -1
  632. package/dist/chunks/index-BDnnTdaJ.js +0 -2
  633. package/dist/chunks/index-BDnnTdaJ.js.map +0 -1
  634. package/dist/chunks/index-BGwwyukg.js +0 -2
  635. package/dist/chunks/index-BGwwyukg.js.map +0 -1
  636. package/dist/chunks/index-BNYygzo-.js +0 -376
  637. package/dist/chunks/index-BNYygzo-.js.map +0 -1
  638. package/dist/chunks/index-BYf7SZUC.js +0 -2
  639. package/dist/chunks/index-BYf7SZUC.js.map +0 -1
  640. package/dist/chunks/index-BknUKotT.js +0 -38
  641. package/dist/chunks/index-BknUKotT.js.map +0 -1
  642. package/dist/chunks/index-C2kxTsiE.js +0 -291
  643. package/dist/chunks/index-C2kxTsiE.js.map +0 -1
  644. package/dist/chunks/index-COoMV9Mh.js +0 -2
  645. package/dist/chunks/index-COoMV9Mh.js.map +0 -1
  646. package/dist/chunks/index-CYk-7wwG.js +0 -1018
  647. package/dist/chunks/index-CYk-7wwG.js.map +0 -1
  648. package/dist/chunks/index-CZ42b9rT.js +0 -3
  649. package/dist/chunks/index-CZ42b9rT.js.map +0 -1
  650. package/dist/chunks/index-CZz7hHWb.js +0 -2
  651. package/dist/chunks/index-CZz7hHWb.js.map +0 -1
  652. package/dist/chunks/index-CgivotaP.js +0 -20
  653. package/dist/chunks/index-CgivotaP.js.map +0 -1
  654. package/dist/chunks/index-CjNAJEk5.js +0 -6313
  655. package/dist/chunks/index-CjNAJEk5.js.map +0 -1
  656. package/dist/chunks/index-CkYZf9Pm.js +0 -2
  657. package/dist/chunks/index-CkYZf9Pm.js.map +0 -1
  658. package/dist/chunks/index-Co91SHhW.js +0 -141
  659. package/dist/chunks/index-Co91SHhW.js.map +0 -1
  660. package/dist/chunks/index-D-rN7ETu.js +0 -2
  661. package/dist/chunks/index-D-rN7ETu.js.map +0 -1
  662. package/dist/chunks/index-D9DU-5GF.js +0 -1196
  663. package/dist/chunks/index-D9DU-5GF.js.map +0 -1
  664. package/dist/chunks/index-DAWHN3cH.js +0 -86
  665. package/dist/chunks/index-DAWHN3cH.js.map +0 -1
  666. package/dist/chunks/index-DD49WSSW.js +0 -2
  667. package/dist/chunks/index-DD49WSSW.js.map +0 -1
  668. package/dist/chunks/index-DUHFrLMI.js +0 -389
  669. package/dist/chunks/index-DUHFrLMI.js.map +0 -1
  670. package/dist/chunks/index-DcJZ8q0f.js +0 -1190
  671. package/dist/chunks/index-DcJZ8q0f.js.map +0 -1
  672. package/dist/chunks/index-MlhL0PDC.js +0 -2
  673. package/dist/chunks/index-MlhL0PDC.js.map +0 -1
  674. package/dist/chunks/index-S1uNQPZj.js +0 -444
  675. package/dist/chunks/index-S1uNQPZj.js.map +0 -1
  676. package/dist/chunks/index-UWtj4ULm.js +0 -8
  677. package/dist/chunks/index-UWtj4ULm.js.map +0 -1
  678. package/dist/chunks/index-ZaGEDS_0.js +0 -2
  679. package/dist/chunks/index-ZaGEDS_0.js.map +0 -1
  680. package/dist/chunks/index-iyefwwxw.js +0 -2
  681. package/dist/chunks/index-iyefwwxw.js.map +0 -1
  682. package/dist/chunks/index-j7W9Hyzx.js +0 -322
  683. package/dist/chunks/index-j7W9Hyzx.js.map +0 -1
  684. package/dist/chunks/index-ryFIinh4.js +0 -257
  685. package/dist/chunks/index-ryFIinh4.js.map +0 -1
  686. package/dist/chunks/jsx-runtime-BjDatQAs.js +0 -23
  687. package/dist/chunks/jsx-runtime-BjDatQAs.js.map +0 -1
  688. package/dist/chunks/jsx-runtime-C5mzlN2N.js +0 -285
  689. package/dist/chunks/jsx-runtime-C5mzlN2N.js.map +0 -1
  690. package/dist/chunks/link.component-CCFg-LIe.js +0 -2
  691. package/dist/chunks/link.component-CCFg-LIe.js.map +0 -1
  692. package/dist/chunks/link.component-DprieyUG.js +0 -60
  693. package/dist/chunks/link.component-DprieyUG.js.map +0 -1
  694. package/dist/chunks/list-C_LmDoyW.js +0 -2
  695. package/dist/chunks/list-C_LmDoyW.js.map +0 -1
  696. package/dist/chunks/list-DqH5ttQG.js +0 -20
  697. package/dist/chunks/list-DqH5ttQG.js.map +0 -1
  698. package/dist/chunks/logo.types-By8TqyNf.js +0 -76
  699. package/dist/chunks/logo.types-By8TqyNf.js.map +0 -1
  700. package/dist/chunks/logo.types-CA_5hGAi.js +0 -2
  701. package/dist/chunks/logo.types-CA_5hGAi.js.map +0 -1
  702. package/dist/chunks/menu.component-CrRs7bHi.js +0 -678
  703. package/dist/chunks/menu.component-CrRs7bHi.js.map +0 -1
  704. package/dist/chunks/menu.component-Ob_ob-5Z.js +0 -2
  705. package/dist/chunks/menu.component-Ob_ob-5Z.js.map +0 -1
  706. package/dist/chunks/modal.types-Bq8QqBuR.js +0 -2
  707. package/dist/chunks/modal.types-Bq8QqBuR.js.map +0 -1
  708. package/dist/chunks/modal.types-DCe2G-mT.js +0 -206
  709. package/dist/chunks/modal.types-DCe2G-mT.js.map +0 -1
  710. package/dist/chunks/notificationCounter.component-BhZcuBmr.js +0 -2
  711. package/dist/chunks/notificationCounter.types-B_-siNfi.js +0 -2
  712. package/dist/chunks/notificationCounter.types-B_-siNfi.js.map +0 -1
  713. package/dist/chunks/notificationCounter.types-S7ENT1Oj.js +0 -11
  714. package/dist/chunks/notificationCounter.types-S7ENT1Oj.js.map +0 -1
  715. package/dist/chunks/omit-C-j4TrF5.js +0 -10
  716. package/dist/chunks/omit-C-j4TrF5.js.map +0 -1
  717. package/dist/chunks/omit-DqNeoZ8h.js +0 -2
  718. package/dist/chunks/omit-DqNeoZ8h.js.map +0 -1
  719. package/dist/chunks/picture.component-C2C2r_BU.js +0 -2
  720. package/dist/chunks/picture.component-C2C2r_BU.js.map +0 -1
  721. package/dist/chunks/picture.component-DKbaaL64.js +0 -35
  722. package/dist/chunks/picture.component-DKbaaL64.js.map +0 -1
  723. package/dist/chunks/pinInput.types-ChHs2RV-.js +0 -161
  724. package/dist/chunks/pinInput.types-ChHs2RV-.js.map +0 -1
  725. package/dist/chunks/pinInput.types-hI4GxH_1.js +0 -2
  726. package/dist/chunks/pinInput.types-hI4GxH_1.js.map +0 -1
  727. package/dist/chunks/popover-80QH8HEJ.js +0 -2
  728. package/dist/chunks/popover-80QH8HEJ.js.map +0 -1
  729. package/dist/chunks/popover-B9rNOU0g.js +0 -110
  730. package/dist/chunks/popover-B9rNOU0g.js.map +0 -1
  731. package/dist/chunks/popover-root-provider-CeLLpesI.js +0 -43
  732. package/dist/chunks/popover-root-provider-CeLLpesI.js.map +0 -1
  733. package/dist/chunks/popover-root-provider-DAMDDAHQ.js +0 -2
  734. package/dist/chunks/popover-root-provider-DAMDDAHQ.js.map +0 -1
  735. package/dist/chunks/popover.component-BIpq3zkh.js +0 -322
  736. package/dist/chunks/popover.component-BIpq3zkh.js.map +0 -1
  737. package/dist/chunks/popover.component-Dz0_vSF2.js +0 -2
  738. package/dist/chunks/popover.component-Dz0_vSF2.js.map +0 -1
  739. package/dist/chunks/popover.recipe--gMRcQTS.js +0 -479
  740. package/dist/chunks/popover.recipe--gMRcQTS.js.map +0 -1
  741. package/dist/chunks/popover.recipe-DLeyokHo.js +0 -2
  742. package/dist/chunks/popover.recipe-DLeyokHo.js.map +0 -1
  743. package/dist/chunks/provider-ClCAdPxy.js +0 -47
  744. package/dist/chunks/provider-ClCAdPxy.js.map +0 -1
  745. package/dist/chunks/provider-NDo8kOkE.js +0 -2
  746. package/dist/chunks/provider-NDo8kOkE.js.map +0 -1
  747. package/dist/chunks/radio.records-CAWibIHJ.js +0 -2
  748. package/dist/chunks/radio.records-CAWibIHJ.js.map +0 -1
  749. package/dist/chunks/radio.records-gz4RRw4x.js +0 -382
  750. package/dist/chunks/radio.records-gz4RRw4x.js.map +0 -1
  751. package/dist/chunks/radioGroup.component-wTDMlFMI.js +0 -275
  752. package/dist/chunks/radioGroup.component-wTDMlFMI.js.map +0 -1
  753. package/dist/chunks/radioGroup.component-xCr6p4DS.js +0 -2
  754. package/dist/chunks/radioGroup.component-xCr6p4DS.js.map +0 -1
  755. package/dist/chunks/ratingDots.component-DvlGbBPz.js +0 -2
  756. package/dist/chunks/render-strategy-BmWbSgqh.js +0 -2
  757. package/dist/chunks/render-strategy-BmWbSgqh.js.map +0 -1
  758. package/dist/chunks/render-strategy-C8hwN3bm.js +0 -12
  759. package/dist/chunks/render-strategy-C8hwN3bm.js.map +0 -1
  760. package/dist/chunks/select.component-1__YvaFF.js +0 -2
  761. package/dist/chunks/select.component-1__YvaFF.js.map +0 -1
  762. package/dist/chunks/select.component-DN5g4aQG.js +0 -391
  763. package/dist/chunks/select.component-DN5g4aQG.js.map +0 -1
  764. package/dist/chunks/sortableList.component-DI2da4B_.js.map +0 -1
  765. package/dist/chunks/sortableList.component-U3Kci1Jk.js +0 -6
  766. package/dist/chunks/sortableList.component-U3Kci1Jk.js.map +0 -1
  767. package/dist/chunks/spinner-BWqSIW6m.js +0 -8
  768. package/dist/chunks/spinner-BWqSIW6m.js.map +0 -1
  769. package/dist/chunks/spinner-BnpL14kK.js +0 -2
  770. package/dist/chunks/spinner-BnpL14kK.js.map +0 -1
  771. package/dist/chunks/spinner.component-DER6c5R6.js.map +0 -1
  772. package/dist/chunks/spinner.component-DUIpnXU8.js +0 -2
  773. package/dist/chunks/stack-BKu3hWEQ.js +0 -2
  774. package/dist/chunks/stack-BKu3hWEQ.js.map +0 -1
  775. package/dist/chunks/stack-Dnuh5Zgf.js +0 -85
  776. package/dist/chunks/stack-Dnuh5Zgf.js.map +0 -1
  777. package/dist/chunks/styledAvatar.types-EGc1-I1N.js.map +0 -1
  778. package/dist/chunks/styledAvatar.types-HA5wRy7y.js +0 -2
  779. package/dist/chunks/styledAvatar.types-HA5wRy7y.js.map +0 -1
  780. package/dist/chunks/swatch.types-DbgA3RWc.js +0 -67
  781. package/dist/chunks/swatch.types-DbgA3RWc.js.map +0 -1
  782. package/dist/chunks/swatch.types-DiX-4lpJ.js +0 -2
  783. package/dist/chunks/swatch.types-DiX-4lpJ.js.map +0 -1
  784. package/dist/chunks/switch.component-6TiuST9H.js +0 -166
  785. package/dist/chunks/switch.component-6TiuST9H.js.map +0 -1
  786. package/dist/chunks/switch.component-BPS2pQZx.js +0 -2
  787. package/dist/chunks/switch.component-BPS2pQZx.js.map +0 -1
  788. package/dist/chunks/tabs.component-DnbHYXT-.js +0 -2
  789. package/dist/chunks/tabs.component-DnbHYXT-.js.map +0 -1
  790. package/dist/chunks/tabs.component-RpmipiEe.js +0 -639
  791. package/dist/chunks/tabs.component-RpmipiEe.js.map +0 -1
  792. package/dist/chunks/tag.component-C6a6EzZB.js +0 -2
  793. package/dist/chunks/tag.component-C6a6EzZB.js.map +0 -1
  794. package/dist/chunks/tag.component-pexJ0TAT.js +0 -82
  795. package/dist/chunks/tag.component-pexJ0TAT.js.map +0 -1
  796. package/dist/chunks/tagBlock.component-C-CNF4In.js.map +0 -1
  797. package/dist/chunks/tagBlock.component-DgmTLlRz.js +0 -2
  798. package/dist/chunks/tagBlock.component-DgmTLlRz.js.map +0 -1
  799. package/dist/chunks/text.component-BGUHMpKP.js +0 -12
  800. package/dist/chunks/text.component-BGUHMpKP.js.map +0 -1
  801. package/dist/chunks/text.component-BJ5u8GVO.js +0 -2
  802. package/dist/chunks/text.component-BJ5u8GVO.js.map +0 -1
  803. package/dist/chunks/textInput.component-B2S0GcHU.js +0 -180
  804. package/dist/chunks/textInput.component-B2S0GcHU.js.map +0 -1
  805. package/dist/chunks/textInput.component-D1L2qv1M.js +0 -2
  806. package/dist/chunks/textInput.component-D1L2qv1M.js.map +0 -1
  807. package/dist/chunks/textarea.component-BEgF2Yny.js +0 -2
  808. package/dist/chunks/textarea.component-BEgF2Yny.js.map +0 -1
  809. package/dist/chunks/textarea.component-DB51bevU.js +0 -98
  810. package/dist/chunks/textarea.component-DB51bevU.js.map +0 -1
  811. package/dist/chunks/theme.provider-Dez6uepg.js.map +0 -1
  812. package/dist/chunks/theme.provider-u0ofgWRM.js +0 -26
  813. package/dist/chunks/theme.provider-u0ofgWRM.js.map +0 -1
  814. package/dist/chunks/timePicker.component-av1t2G-i.js +0 -2
  815. package/dist/chunks/timeRange.component-B7syLsrU.js +0 -2
  816. package/dist/chunks/timeRange.component-bIQZJ4MP.js +0 -18
  817. package/dist/chunks/timestamp.component-CNlZ6Jw2.js +0 -2
  818. package/dist/chunks/timestamp.component-CNlZ6Jw2.js.map +0 -1
  819. package/dist/chunks/timestamp.component-ZcL8FlD-.js +0 -54
  820. package/dist/chunks/timestamp.component-ZcL8FlD-.js.map +0 -1
  821. package/dist/chunks/toaster.records-BGfpUOVt.js +0 -824
  822. package/dist/chunks/toaster.records-BGfpUOVt.js.map +0 -1
  823. package/dist/chunks/toaster.records-BJo0j1IZ.js +0 -2
  824. package/dist/chunks/toaster.records-BJo0j1IZ.js.map +0 -1
  825. package/dist/chunks/tooltip.component-B4S3qwsH.js +0 -2
  826. package/dist/chunks/tooltip.component-B4S3qwsH.js.map +0 -1
  827. package/dist/chunks/tooltip.component-OLohVRIH.js +0 -755
  828. package/dist/chunks/tooltip.component-OLohVRIH.js.map +0 -1
  829. package/dist/chunks/typography.records-C6G_65b4.js +0 -2
  830. package/dist/chunks/typography.records-C6G_65b4.js.map +0 -1
  831. package/dist/chunks/typography.records-jnjWfTLS.js +0 -66
  832. package/dist/chunks/typography.records-jnjWfTLS.js.map +0 -1
  833. package/dist/chunks/use-breakpoint-MQ7agQJe.js +0 -72
  834. package/dist/chunks/use-breakpoint-MQ7agQJe.js.map +0 -1
  835. package/dist/chunks/use-breakpoint-uBg4-8yY.js +0 -2
  836. package/dist/chunks/use-breakpoint-uBg4-8yY.js.map +0 -1
  837. package/dist/chunks/use-field-context--wBJQY1R.js +0 -2
  838. package/dist/chunks/use-field-context--wBJQY1R.js.map +0 -1
  839. package/dist/chunks/use-field-context-B_G7Yziz.js +0 -12
  840. package/dist/chunks/use-field-context-B_G7Yziz.js.map +0 -1
  841. package/dist/chunks/use-locale-context-BdqHZ8L8.js +0 -22
  842. package/dist/chunks/use-locale-context-BdqHZ8L8.js.map +0 -1
  843. package/dist/chunks/use-locale-context-D-agiW5E.js +0 -2301
  844. package/dist/chunks/use-locale-context-D-agiW5E.js.map +0 -1
  845. package/dist/chunks/use-recipe-DaPWl_pL.js +0 -2
  846. package/dist/chunks/use-recipe-DaPWl_pL.js.map +0 -1
  847. package/dist/chunks/use-recipe-d63ABaZ3.js +0 -13
  848. package/dist/chunks/use-recipe-d63ABaZ3.js.map +0 -1
  849. package/dist/chunks/use-slot-recipe-8liupslO.js +0 -2
  850. package/dist/chunks/use-slot-recipe-8liupslO.js.map +0 -1
  851. package/dist/chunks/use-slot-recipe-DhtQ1j_5.js +0 -13
  852. package/dist/chunks/use-slot-recipe-DhtQ1j_5.js.map +0 -1
  853. package/dist/chunks/v-stack-BZT7R_9f.js +0 -12
  854. package/dist/chunks/v-stack-BZT7R_9f.js.map +0 -1
  855. package/dist/chunks/v-stack-DxjgpeJ0.js +0 -2
  856. package/dist/chunks/v-stack-DxjgpeJ0.js.map +0 -1
  857. package/dist/chunks/walk-object-BrTExCqQ.js +0 -2
  858. package/dist/chunks/walk-object-BrTExCqQ.js.map +0 -1
  859. package/dist/chunks/walk-object-_CL3Bkm9.js +0 -28
  860. package/dist/chunks/walk-object-_CL3Bkm9.js.map +0 -1
  861. package/dist/chunks/withFormControl-DIT4DbIl.js +0 -376
  862. package/dist/chunks/withFormControl-DIT4DbIl.js.map +0 -1
  863. package/dist/chunks/withFormControl-DzgoWpP6.js +0 -2
  864. package/dist/chunks/withFormControl-DzgoWpP6.js.map +0 -1
  865. package/dist/chunks/withTruncation-CYH02HoE.js +0 -2
  866. package/dist/chunks/wrap-B8tBNeBY.js +0 -45
  867. package/dist/chunks/wrap-B8tBNeBY.js.map +0 -1
  868. package/dist/chunks/wrap-CNn1kyJX.js +0 -2
  869. package/dist/chunks/wrap-CNn1kyJX.js.map +0 -1
  870. package/dist/cjs/chakra/index.cjs +0 -2
  871. package/dist/cjs/chakra/index.cjs.map +0 -1
  872. package/dist/cjs/cli/generate-theme-types.cjs +0 -6
  873. package/dist/cjs/cli/generate-theme-types.cjs.map +0 -1
  874. package/dist/cjs/cli/postinstall.cjs +0 -3
  875. package/dist/cjs/cli/postinstall.cjs.map +0 -1
  876. package/dist/cjs/components/Divider/index.cjs +0 -2
  877. package/dist/cjs/components/Logo/generated/index.cjs +0 -2
  878. package/dist/cjs/components/Logo/index.cjs +0 -2
  879. package/dist/cjs/components/PinInput/index.cjs +0 -2
  880. package/dist/cjs/components/StyledAvatar/index.cjs.map +0 -1
  881. package/dist/cjs/components/TagBlock/index.cjs.map +0 -1
  882. package/dist/cjs/components/Timestamp/index.cjs.map +0 -1
  883. package/dist/cjs/components/Toast/index.cjs +0 -2
  884. package/dist/cjs/components/Toast/index.cjs.map +0 -1
  885. package/dist/cjs/hooks/useBreakpoint/index.cjs +0 -2
  886. package/dist/cjs/hooks/useBreakpoint/index.cjs.map +0 -1
  887. package/dist/cjs/hooks/useDeviceType/index.cjs +0 -2
  888. package/dist/cjs/hooks/useDeviceType/index.cjs.map +0 -1
  889. package/dist/cjs/shared/index.cjs +0 -2
  890. package/dist/cjs/shared/index.cjs.map +0 -1
  891. package/dist/cjs/shared/records/index.cjs +0 -2
  892. package/dist/cjs/shared/records/index.cjs.map +0 -1
  893. package/dist/esm/chakra/index.js +0 -3227
  894. package/dist/esm/chakra/index.js.map +0 -1
  895. package/dist/esm/cli/generate-theme-types.js +0 -22
  896. package/dist/esm/cli/generate-theme-types.js.map +0 -1
  897. package/dist/esm/cli/postinstall.js +0 -21
  898. package/dist/esm/cli/postinstall.js.map +0 -1
  899. package/dist/esm/components/Divider/index.js +0 -8
  900. package/dist/esm/components/Logo/generated/index.js +0 -6
  901. package/dist/esm/components/Logo/index.js +0 -7
  902. package/dist/esm/components/PinInput/index.js +0 -6
  903. package/dist/esm/components/PinInput/index.js.map +0 -1
  904. package/dist/esm/components/StyledAvatar/index.js.map +0 -1
  905. package/dist/esm/components/TagBlock/index.js.map +0 -1
  906. package/dist/esm/components/Timestamp/index.js +0 -5
  907. package/dist/esm/components/Timestamp/index.js.map +0 -1
  908. package/dist/esm/components/Toast/index.js +0 -59
  909. package/dist/esm/components/Toast/index.js.map +0 -1
  910. package/dist/esm/hooks/useBreakpoint/index.js +0 -12
  911. package/dist/esm/hooks/useBreakpoint/index.js.map +0 -1
  912. package/dist/esm/hooks/useDeviceType/index.js +0 -12
  913. package/dist/esm/hooks/useDeviceType/index.js.map +0 -1
  914. package/dist/esm/shared/index.js +0 -9
  915. package/dist/esm/shared/index.js.map +0 -1
  916. package/dist/esm/shared/records/index.js +0 -18
  917. package/dist/esm/shared/records/index.js.map +0 -1
  918. package/dist/types/chakra/index.d.ts +0 -52
  919. package/dist/types/cli/generate-theme-types.d.ts +0 -2
  920. package/dist/types/cli/postinstall.d.ts +0 -2
  921. package/dist/types/components/Divider/divider.component.d.ts +0 -4
  922. package/dist/types/components/Divider/divider.types.d.ts +0 -6
  923. package/dist/types/components/Divider/index.d.ts +0 -2
  924. package/dist/types/components/Icon/generated/AiMicrophone.d.ts +0 -10
  925. package/dist/types/components/Logo/generated/FullLogo.d.ts +0 -10
  926. package/dist/types/components/Logo/generated/IconLogo.d.ts +0 -10
  927. package/dist/types/components/Logo/generated/index.d.ts +0 -4
  928. package/dist/types/components/Logo/index.d.ts +0 -2
  929. package/dist/types/components/Logo/logo.component.d.ts +0 -10
  930. package/dist/types/components/Logo/logo.recipe.d.ts +0 -9
  931. package/dist/types/components/Logo/logo.types.d.ts +0 -4
  932. package/dist/types/components/Modal/context/modal.context.d.ts +0 -6
  933. package/dist/types/components/PinInput/index.d.ts +0 -2
  934. package/dist/types/components/PinInput/pinInput.component.d.ts +0 -10
  935. package/dist/types/components/PinInput/pinInput.recipe.d.ts +0 -21
  936. package/dist/types/components/PinInput/pinInput.records.d.ts +0 -1
  937. package/dist/types/components/PinInput/pinInput.types.d.ts +0 -2
  938. package/dist/types/components/Toast/components/ToastAction/toastAction.component.d.ts +0 -12
  939. package/dist/types/components/Toast/components/Toaster/toaster.component.d.ts +0 -7
  940. package/dist/types/components/Toast/components/Toaster/toaster.records.d.ts +0 -11
  941. package/dist/types/components/Toast/components/Toaster/toaster.types.d.ts +0 -12
  942. package/dist/types/components/Toast/index.d.ts +0 -2
  943. package/dist/types/components/Toast/toast.component.d.ts +0 -14
  944. package/dist/types/components/Toast/toast.recipe.d.ts +0 -21
  945. package/dist/types/components/Toast/toast.types.d.ts +0 -19
  946. package/dist/types/components/Toast/useToast.d.ts +0 -3
  947. package/dist/types/components/Tooltip/tooltip.recipe.d.ts +0 -1
  948. package/dist/types/hooks/useBreakpoint/index.d.ts +0 -1
  949. package/dist/types/hooks/useDeviceType/index.d.ts +0 -3
  950. package/dist/types/shared/index.d.ts +0 -1
  951. package/dist/types/shared/records/index.d.ts +0 -1
  952. package/dist/types/shared/records/status.d.ts +0 -5
  953. /package/dist/cjs/{components → patterns}/ConversationCard/index.cjs.map +0 -0
  954. /package/dist/cjs/{components/Divider → patterns/StyledAvatar}/index.cjs.map +0 -0
  955. /package/dist/cjs/{components/Logo/generated → patterns/TagBlock}/index.cjs.map +0 -0
  956. /package/dist/cjs/{components/Logo → patterns/Timestamp}/index.cjs.map +0 -0
  957. /package/dist/cjs/{components/PinInput → patterns}/index.cjs.map +0 -0
  958. /package/dist/esm/{components → patterns}/ConversationCard/index.js.map +0 -0
  959. /package/dist/esm/{components/Divider → patterns/StyledAvatar}/index.js.map +0 -0
  960. /package/dist/esm/{components/Logo/generated → patterns/TagBlock}/index.js.map +0 -0
  961. /package/dist/esm/{components/Logo → patterns/Timestamp}/index.js.map +0 -0
  962. /package/dist/types/{components → patterns}/ConversationCard/components/ConversationCardAvatarGroup/conversationCardAvatarGroup.component.d.ts +0 -0
  963. /package/dist/types/{components → patterns}/ConversationCard/components/ConversationCardHeader/conversationCardHeader.component.d.ts +0 -0
  964. /package/dist/types/{components → patterns}/ConversationCard/index.d.ts +0 -0
  965. /package/dist/types/{components → patterns}/StyledAvatar/index.d.ts +0 -0
  966. /package/dist/types/{components → patterns}/StyledAvatar/styledAvatar.types.d.ts +0 -0
  967. /package/dist/types/{components → patterns}/TagBlock/index.d.ts +0 -0
  968. /package/dist/types/{components → patterns}/TagBlock/tagBlock.types.d.ts +0 -0
  969. /package/dist/types/{components → patterns}/Timestamp/index.d.ts +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"file":"index-CjNAJEk5.js","sources":["../../node_modules/@zag-js/file-utils/dist/index.mjs","../../node_modules/@zag-js/i18n-utils/dist/index.mjs","../../node_modules/@zag-js/collapsible/dist/index.mjs","../../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/@ark-ui/react/dist/components/color-picker/color-picker.anatomy.js","../../node_modules/@zag-js/editable/dist/index.mjs","../../node_modules/@zag-js/file-upload/dist/index.mjs","../../node_modules/@internationalized/number/dist/NumberFormatter.mjs","../../node_modules/@internationalized/number/dist/NumberParser.mjs","../../node_modules/@zag-js/number-input/dist/index.mjs","../../node_modules/@zag-js/progress/dist/index.mjs","../../node_modules/uqr/dist/index.mjs","../../node_modules/@zag-js/qr-code/dist/index.mjs","../../node_modules/@zag-js/rating-group/dist/index.mjs","../../node_modules/@zag-js/slider/dist/index.mjs"],"sourcesContent":["// 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)) {\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\nfunction isMSEdge(win) {\n return Boolean(win.navigator && win.navigator.msSaveOrOpenBlob);\n}\nfunction downloadFile(options) {\n const { file, win, type, name } = options;\n const doc = win.document;\n const obj = typeof file === \"string\" ? new Blob([file], { type }) : file;\n const fileName = file instanceof File ? name || file.name : name;\n if (isMSEdge(win)) {\n win.navigator.msSaveOrOpenBlob(obj, fileName || \"file-download\");\n return;\n }\n const url = win.URL.createObjectURL(obj);\n const anchor = doc.createElement(\"a\");\n anchor.style.display = \"none\";\n anchor.href = url;\n anchor.rel = \"noopener\";\n anchor.download = fileName || \"file-download\";\n doc.documentElement.appendChild(anchor);\n anchor.click();\n setTimeout(() => {\n win.URL.revokeObjectURL(url);\n anchor.remove();\n }, 0);\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/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 || \"\").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, getTotalFileSize, isFileEqual, isMSEdge, isValidFileSize, isValidFileType };\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/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 { createFilter, formatBytes, formatDate, formatList, formatNumber, formatRelativeTime, getDefaultLocale, getLocaleDir, isRTL, trackLocale };\n","import { createAnatomy } from '@zag-js/anatomy';\nimport { raf, getComputedStyle, setStyle, getEventTarget, nextTick, dataAttr } from '@zag-js/dom-query';\nimport { createMachine } from '@zag-js/core';\nimport { createProps } from '@zag-js/types';\nimport { createSplitProps } from '@zag-js/utils';\n\n// src/collapsible.anatomy.ts\nvar anatomy = createAnatomy(\"collapsible\").parts(\"root\", \"trigger\", \"content\", \"indicator\");\nvar parts = anatomy.build();\n\n// src/collapsible.dom.ts\nvar getRootId = (ctx) => ctx.ids?.root ?? `collapsible:${ctx.id}`;\nvar getContentId = (ctx) => ctx.ids?.content ?? `collapsible:${ctx.id}:content`;\nvar getTriggerId = (ctx) => ctx.ids?.trigger ?? `collapsible:${ctx.id}:trigger`;\nvar getContentEl = (ctx) => ctx.getById(getContentId(ctx));\n\n// src/collapsible.connect.ts\nfunction connect(service, normalize) {\n const { state, send, context, scope, prop } = service;\n const visible = state.matches(\"open\") || state.matches(\"closing\");\n const open = state.matches(\"open\");\n const { width, height } = context.get(\"size\");\n const disabled = !!prop(\"disabled\");\n const skip = !context.get(\"initial\") && open;\n const dir = \"ltr\";\n return {\n disabled,\n visible,\n open,\n measureSize() {\n send({ type: \"size.measure\" });\n },\n setOpen(nextOpen) {\n const open2 = state.matches(\"open\");\n if (open2 === nextOpen) return;\n send({ type: nextOpen ? \"open\" : \"close\" });\n },\n getRootProps() {\n return normalize.element({\n ...parts.root.attrs,\n \"data-state\": open ? \"open\" : \"closed\",\n dir,\n id: getRootId(scope)\n });\n },\n getContentProps() {\n return normalize.element({\n ...parts.content.attrs,\n \"data-collapsible\": \"\",\n \"data-state\": skip ? void 0 : open ? \"open\" : \"closed\",\n id: getContentId(scope),\n \"data-disabled\": dataAttr(disabled),\n hidden: !visible,\n style: {\n \"--height\": height != null ? `${height}px` : void 0,\n \"--width\": width != null ? `${width}px` : void 0\n }\n });\n },\n getTriggerProps() {\n return normalize.element({\n ...parts.trigger.attrs,\n id: getTriggerId(scope),\n dir,\n type: \"button\",\n \"data-state\": open ? \"open\" : \"closed\",\n \"data-disabled\": dataAttr(disabled),\n \"aria-controls\": getContentId(scope),\n \"aria-expanded\": visible || false,\n onClick(event) {\n if (event.defaultPrevented) return;\n if (disabled) return;\n send({ type: open ? \"close\" : \"open\" });\n }\n });\n },\n getIndicatorProps() {\n return normalize.element({\n ...parts.indicator.attrs,\n dir,\n \"data-state\": open ? \"open\" : \"closed\",\n \"data-disabled\": dataAttr(disabled)\n });\n }\n };\n}\nvar machine = createMachine({\n initialState({ prop }) {\n const open = prop(\"open\") || prop(\"defaultOpen\");\n return open ? \"open\" : \"closed\";\n },\n context({ bindable }) {\n return {\n size: bindable(() => ({ defaultValue: { height: 0, width: 0 } })),\n initial: bindable(() => ({ defaultValue: false }))\n };\n },\n refs() {\n return {\n cleanup: void 0,\n stylesRef: void 0\n };\n },\n watch({ track, prop, action }) {\n track([() => prop(\"open\")], () => {\n action([\"setInitial\", \"computeSize\", \"toggleVisibility\"]);\n });\n },\n exit: [\"clearInitial\", \"cleanupNode\"],\n states: {\n closed: {\n on: {\n \"controlled.open\": {\n target: \"open\"\n },\n open: [\n {\n guard: \"isOpenControlled\",\n actions: [\"invokeOnOpen\"]\n },\n {\n target: \"open\",\n actions: [\"setInitial\", \"computeSize\", \"invokeOnOpen\"]\n }\n ]\n }\n },\n closing: {\n effects: [\"trackExitAnimation\"],\n on: {\n \"controlled.close\": {\n target: \"closed\"\n },\n \"controlled.open\": {\n target: \"open\"\n },\n open: [\n {\n guard: \"isOpenControlled\",\n actions: [\"invokeOnOpen\"]\n },\n {\n target: \"open\",\n actions: [\"setInitial\", \"invokeOnOpen\"]\n }\n ],\n close: [\n {\n guard: \"isOpenControlled\",\n actions: [\"invokeOnExitComplete\"]\n },\n {\n target: \"closed\",\n actions: [\"setInitial\", \"computeSize\", \"invokeOnExitComplete\"]\n }\n ],\n \"animation.end\": {\n target: \"closed\",\n actions: [\"invokeOnExitComplete\", \"clearInitial\"]\n }\n }\n },\n open: {\n effects: [\"trackEnterAnimation\"],\n on: {\n \"controlled.close\": {\n target: \"closing\"\n },\n close: [\n {\n guard: \"isOpenControlled\",\n actions: [\"invokeOnClose\"]\n },\n {\n target: \"closing\",\n actions: [\"setInitial\", \"computeSize\", \"invokeOnClose\"]\n }\n ],\n \"size.measure\": {\n actions: [\"measureSize\"]\n },\n \"animation.end\": {\n actions: [\"clearInitial\"]\n }\n }\n }\n },\n implementations: {\n guards: {\n isOpenControlled: ({ prop }) => prop(\"open\") != void 0\n },\n effects: {\n trackEnterAnimation: ({ send, scope }) => {\n let cleanup;\n const rafCleanup = raf(() => {\n const contentEl = getContentEl(scope);\n if (!contentEl) return;\n const animationName = getComputedStyle(contentEl).animationName;\n const hasNoAnimation = !animationName || animationName === \"none\";\n if (hasNoAnimation) {\n send({ type: \"animation.end\" });\n return;\n }\n const onEnd = (event) => {\n const target = getEventTarget(event);\n if (target === contentEl) {\n send({ type: \"animation.end\" });\n }\n };\n contentEl.addEventListener(\"animationend\", onEnd);\n cleanup = () => {\n contentEl.removeEventListener(\"animationend\", onEnd);\n };\n });\n return () => {\n rafCleanup();\n cleanup?.();\n };\n },\n trackExitAnimation: ({ send, scope }) => {\n let cleanup;\n const rafCleanup = raf(() => {\n const contentEl = getContentEl(scope);\n if (!contentEl) return;\n const animationName = getComputedStyle(contentEl).animationName;\n const hasNoAnimation = !animationName || animationName === \"none\";\n if (hasNoAnimation) {\n send({ type: \"animation.end\" });\n return;\n }\n const onEnd = (event) => {\n const target = getEventTarget(event);\n if (target === contentEl) {\n send({ type: \"animation.end\" });\n }\n };\n contentEl.addEventListener(\"animationend\", onEnd);\n const restoreStyles = setStyle(contentEl, {\n animationFillMode: \"forwards\"\n });\n cleanup = () => {\n contentEl.removeEventListener(\"animationend\", onEnd);\n nextTick(() => restoreStyles());\n };\n });\n return () => {\n rafCleanup();\n cleanup?.();\n };\n }\n },\n actions: {\n setInitial: ({ context, flush }) => {\n flush(() => {\n context.set(\"initial\", true);\n });\n },\n clearInitial: ({ context }) => {\n context.set(\"initial\", false);\n },\n cleanupNode: ({ refs }) => {\n refs.set(\"stylesRef\", null);\n },\n measureSize: ({ context, flush, scope }) => {\n const contentEl = getContentEl(scope);\n if (!contentEl) return;\n const { height, width } = contentEl.getBoundingClientRect();\n flush(() => {\n context.set(\"size\", { height, width });\n });\n },\n computeSize: ({ refs, scope, flush, context }) => {\n refs.get(\"cleanup\")?.();\n const rafCleanup = raf(() => {\n const contentEl = getContentEl(scope);\n if (!contentEl) return;\n const hidden = contentEl.hidden;\n contentEl.style.animationName = \"none\";\n contentEl.style.animationDuration = \"0s\";\n contentEl.hidden = false;\n const rect = contentEl.getBoundingClientRect();\n flush(() => {\n context.set(\"size\", { height: rect.height, width: rect.width });\n });\n if (context.get(\"initial\")) {\n contentEl.style.animationName = \"\";\n contentEl.style.animationDuration = \"\";\n }\n contentEl.hidden = hidden;\n });\n refs.set(\"cleanup\", rafCleanup);\n },\n invokeOnOpen: ({ prop }) => {\n prop(\"onOpenChange\")?.({ open: true });\n },\n invokeOnClose: ({ prop }) => {\n prop(\"onOpenChange\")?.({ open: false });\n },\n invokeOnExitComplete: ({ prop }) => {\n prop(\"onExitComplete\")?.();\n },\n toggleVisibility: ({ prop, send }) => {\n send({ type: prop(\"open\") ? \"controlled.open\" : \"controlled.close\" });\n }\n }\n }\n});\nvar props = createProps()([\n \"dir\",\n \"disabled\",\n \"getRootNode\",\n \"id\",\n \"ids\",\n \"onExitComplete\",\n \"onOpenChange\",\n \"defaultOpen\",\n \"open\"\n]);\nvar splitProps = createSplitProps(props);\n\nexport { anatomy, connect, machine, props, splitProps };\n","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 _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 (/^#[\\da-f]+$/i.test(value) && [4, 5, 7, 9].includes(value.length)) {\n const values = (value.length < 6 ? value.replace(/[^#]/gi, \"$&$&\") : 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(/^rgba?\\((.*)\\)$/);\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 setOpen(nextOpen) {\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/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\");\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,\n shouldRestoreFocus: ({ context }) => !!context.get(\"restoreFocus\")\n },\n effects: {\n trackPositioning({ context, prop, scope }) {\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 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 }) {\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 () => parse(value).withChannelValue(\"alpha\", currentAlpha),\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 },\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 prop(\"onOpenChange\")?.({ open: true });\n },\n invokeOnClose({ prop }) {\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 \"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","'use client';\nimport { anatomy } from '@zag-js/color-picker';\n\nconst colorPickerAnatomy = anatomy.extendWith(\"view\");\n\nexport { colorPickerAnatomy };\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 return [\"both\", \"enter\"].includes(prop(\"submitMode\"));\n },\n submitOnBlur({ prop }) {\n return [\"both\", \"blur\"].includes(prop(\"submitMode\"));\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 { 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 { 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) {\n const { context, prop, computed } = ctx;\n if (!computed(\"multiple\") && incomingCount > 1) return false;\n if (!computed(\"multiple\") && incomingCount + context.get(\"acceptedFiles\").length === 2) return true;\n if (incomingCount + context.get(\"acceptedFiles\").length > prop(\"maxFiles\")) return false;\n return true;\n}\nfunction getFilesFromEvent(ctx, files) {\n const { context, prop, computed } = ctx;\n const acceptedFiles = [];\n const rejectedFiles = [];\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, {\n acceptedFiles: context.get(\"acceptedFiles\"),\n rejectedFiles: context.get(\"rejectedFiles\")\n });\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)) {\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 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 const count = files.length;\n send({ type: \"FILES.SET\", files, count });\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: \"FILES.SET\", 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 ...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: [],\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 };\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: [\"setFilesFromEvent\"]\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: [\"setFilesFromEvent\"]\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 setFilesFromEvent(params) {\n const { computed, context, event } = params;\n const result = getFilesFromEvent(params, event.files);\n const { acceptedFiles, rejectedFiles } = result;\n if (computed(\"multiple\")) {\n context.set(\"acceptedFiles\", (prev) => [...prev, ...acceptedFiles]);\n context.set(\"rejectedFiles\", rejectedFiles);\n return;\n }\n if (acceptedFiles.length) {\n const files = [acceptedFiles[0]];\n context.set(\"acceptedFiles\", files);\n context.set(\"rejectedFiles\", rejectedFiles);\n } else if (rejectedFiles.length) {\n context.set(\"acceptedFiles\", context.get(\"acceptedFiles\"));\n context.set(\"rejectedFiles\", rejectedFiles);\n }\n },\n removeFile({ context, event }) {\n const files = context.get(\"acceptedFiles\").filter((file) => file !== event.file);\n const rejectedFiles = context.get(\"rejectedFiles\").filter((item) => item.file !== event.file);\n context.set(\"acceptedFiles\", files);\n context.set(\"rejectedFiles\", rejectedFiles);\n },\n clearRejectedFiles({ context }) {\n context.set(\"acceptedFiles\", context.get(\"acceptedFiles\"));\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 \"allowDrop\",\n \"capture\",\n \"dir\",\n \"directory\",\n \"disabled\",\n \"getRootNode\",\n \"id\",\n \"ids\",\n \"locale\",\n \"maxFiles\",\n \"maxFileSize\",\n \"minFileSize\",\n \"name\",\n \"invalid\",\n \"onFileAccept\",\n \"onFileReject\",\n \"onFileChange\",\n \"preventDocumentDrop\",\n \"required\",\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","/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ let $488c6ddbf4ef74c2$var$formatterCache = new Map();\nlet $488c6ddbf4ef74c2$var$supportsSignDisplay = false;\ntry {\n $488c6ddbf4ef74c2$var$supportsSignDisplay = new Intl.NumberFormat('de-DE', {\n signDisplay: 'exceptZero'\n }).resolvedOptions().signDisplay === 'exceptZero';\n// eslint-disable-next-line no-empty\n} catch {}\nlet $488c6ddbf4ef74c2$var$supportsUnit = false;\ntry {\n $488c6ddbf4ef74c2$var$supportsUnit = new Intl.NumberFormat('de-DE', {\n style: 'unit',\n unit: 'degree'\n }).resolvedOptions().style === 'unit';\n// eslint-disable-next-line no-empty\n} catch {}\n// Polyfill for units since Safari doesn't support them yet. See https://bugs.webkit.org/show_bug.cgi?id=215438.\n// Currently only polyfilling the unit degree in narrow format for ColorSlider in our supported locales.\n// Values were determined by switching to each locale manually in Chrome.\nconst $488c6ddbf4ef74c2$var$UNITS = {\n degree: {\n narrow: {\n default: \"\\xb0\",\n 'ja-JP': \" \\u5EA6\",\n 'zh-TW': \"\\u5EA6\",\n 'sl-SI': \" \\xb0\"\n }\n }\n};\nclass $488c6ddbf4ef74c2$export$cc77c4ff7e8673c5 {\n /** Formats a number value as a string, according to the locale and options provided to the constructor. */ format(value) {\n let res = '';\n if (!$488c6ddbf4ef74c2$var$supportsSignDisplay && this.options.signDisplay != null) res = $488c6ddbf4ef74c2$export$711b50b3c525e0f2(this.numberFormatter, this.options.signDisplay, value);\n else res = this.numberFormatter.format(value);\n if (this.options.style === 'unit' && !$488c6ddbf4ef74c2$var$supportsUnit) {\n var _UNITS_unit;\n let { unit: unit, unitDisplay: unitDisplay = 'short', locale: locale } = this.resolvedOptions();\n if (!unit) return res;\n let values = (_UNITS_unit = $488c6ddbf4ef74c2$var$UNITS[unit]) === null || _UNITS_unit === void 0 ? void 0 : _UNITS_unit[unitDisplay];\n res += values[locale] || values.default;\n }\n return res;\n }\n /** Formats a number to an array of parts such as separators, digits, punctuation, and more. */ formatToParts(value) {\n // TODO: implement signDisplay for formatToParts\n return this.numberFormatter.formatToParts(value);\n }\n /** Formats a number range as a string. */ formatRange(start, end) {\n if (typeof this.numberFormatter.formatRange === 'function') return this.numberFormatter.formatRange(start, end);\n if (end < start) throw new RangeError('End date must be >= start date');\n // Very basic fallback for old browsers.\n return `${this.format(start)} \\u{2013} ${this.format(end)}`;\n }\n /** Formats a number range as an array of parts. */ formatRangeToParts(start, end) {\n if (typeof this.numberFormatter.formatRangeToParts === 'function') return this.numberFormatter.formatRangeToParts(start, end);\n if (end < start) throw new RangeError('End date must be >= start date');\n let startParts = this.numberFormatter.formatToParts(start);\n let endParts = this.numberFormatter.formatToParts(end);\n return [\n ...startParts.map((p)=>({\n ...p,\n source: 'startRange'\n })),\n {\n type: 'literal',\n value: \" \\u2013 \",\n source: 'shared'\n },\n ...endParts.map((p)=>({\n ...p,\n source: 'endRange'\n }))\n ];\n }\n /** Returns the resolved formatting options based on the values passed to the constructor. */ resolvedOptions() {\n let options = this.numberFormatter.resolvedOptions();\n if (!$488c6ddbf4ef74c2$var$supportsSignDisplay && this.options.signDisplay != null) options = {\n ...options,\n signDisplay: this.options.signDisplay\n };\n if (!$488c6ddbf4ef74c2$var$supportsUnit && this.options.style === 'unit') options = {\n ...options,\n style: 'unit',\n unit: this.options.unit,\n unitDisplay: this.options.unitDisplay\n };\n return options;\n }\n constructor(locale, options = {}){\n this.numberFormatter = $488c6ddbf4ef74c2$var$getCachedNumberFormatter(locale, options);\n this.options = options;\n }\n}\nfunction $488c6ddbf4ef74c2$var$getCachedNumberFormatter(locale, options = {}) {\n let { numberingSystem: numberingSystem } = options;\n if (numberingSystem && locale.includes('-nu-')) {\n if (!locale.includes('-u-')) locale += '-u-';\n locale += `-nu-${numberingSystem}`;\n }\n if (options.style === 'unit' && !$488c6ddbf4ef74c2$var$supportsUnit) {\n var _UNITS_unit;\n let { unit: unit, unitDisplay: unitDisplay = 'short' } = options;\n if (!unit) throw new Error('unit option must be provided with style: \"unit\"');\n if (!((_UNITS_unit = $488c6ddbf4ef74c2$var$UNITS[unit]) === null || _UNITS_unit === void 0 ? void 0 : _UNITS_unit[unitDisplay])) throw new Error(`Unsupported unit ${unit} with unitDisplay = ${unitDisplay}`);\n options = {\n ...options,\n style: 'decimal'\n };\n }\n let cacheKey = locale + (options ? Object.entries(options).sort((a, b)=>a[0] < b[0] ? -1 : 1).join() : '');\n if ($488c6ddbf4ef74c2$var$formatterCache.has(cacheKey)) return $488c6ddbf4ef74c2$var$formatterCache.get(cacheKey);\n let numberFormatter = new Intl.NumberFormat(locale, options);\n $488c6ddbf4ef74c2$var$formatterCache.set(cacheKey, numberFormatter);\n return numberFormatter;\n}\nfunction $488c6ddbf4ef74c2$export$711b50b3c525e0f2(numberFormat, signDisplay, num) {\n if (signDisplay === 'auto') return numberFormat.format(num);\n else if (signDisplay === 'never') return numberFormat.format(Math.abs(num));\n else {\n let needsPositiveSign = false;\n if (signDisplay === 'always') needsPositiveSign = num > 0 || Object.is(num, 0);\n else if (signDisplay === 'exceptZero') {\n if (Object.is(num, -0) || Object.is(num, 0)) num = Math.abs(num);\n else needsPositiveSign = num > 0;\n }\n if (needsPositiveSign) {\n let negative = numberFormat.format(-num);\n let noSign = numberFormat.format(num);\n // ignore RTL/LTR marker character\n let minus = negative.replace(noSign, '').replace(/\\u200e|\\u061C/, '');\n if ([\n ...minus\n ].length !== 1) console.warn('@react-aria/i18n polyfill for NumberFormat signDisplay: Unsupported case');\n let positive = negative.replace(noSign, '!!!').replace(minus, '+').replace('!!!', noSign);\n return positive;\n } else return numberFormat.format(num);\n }\n}\n\n\nexport {$488c6ddbf4ef74c2$export$cc77c4ff7e8673c5 as NumberFormatter, $488c6ddbf4ef74c2$export$711b50b3c525e0f2 as numberFormatSignDisplayPolyfill};\n//# sourceMappingURL=NumberFormatter.module.js.map\n","import {NumberFormatter as $488c6ddbf4ef74c2$export$cc77c4ff7e8673c5} from \"./NumberFormatter.mjs\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \nconst $6c7bd7858deea686$var$CURRENCY_SIGN_REGEX = new RegExp('^.*\\\\(.*\\\\).*$');\nconst $6c7bd7858deea686$var$NUMBERING_SYSTEMS = [\n 'latn',\n 'arab',\n 'hanidec',\n 'deva',\n 'beng'\n];\nclass $6c7bd7858deea686$export$cd11ab140839f11d {\n /**\n * Parses the given string to a number. Returns NaN if a valid number could not be parsed.\n */ parse(value) {\n return $6c7bd7858deea686$var$getNumberParserImpl(this.locale, this.options, value).parse(value);\n }\n /**\n * Returns whether the given string could potentially be a valid number. This should be used to\n * validate user input as the user types. If a `minValue` or `maxValue` is provided, the validity\n * of the minus/plus sign characters can be checked.\n */ isValidPartialNumber(value, minValue, maxValue) {\n return $6c7bd7858deea686$var$getNumberParserImpl(this.locale, this.options, value).isValidPartialNumber(value, minValue, maxValue);\n }\n /**\n * Returns a numbering system for which the given string is valid in the current locale.\n * If no numbering system could be detected, the default numbering system for the current\n * locale is returned.\n */ getNumberingSystem(value) {\n return $6c7bd7858deea686$var$getNumberParserImpl(this.locale, this.options, value).options.numberingSystem;\n }\n constructor(locale, options = {}){\n this.locale = locale;\n this.options = options;\n }\n}\nconst $6c7bd7858deea686$var$numberParserCache = new Map();\nfunction $6c7bd7858deea686$var$getNumberParserImpl(locale, options, value) {\n // First try the default numbering system for the provided locale\n let defaultParser = $6c7bd7858deea686$var$getCachedNumberParser(locale, options);\n // If that doesn't match, and the locale doesn't include a hard coded numbering system,\n // try each of the other supported numbering systems until we find one that matches.\n if (!locale.includes('-nu-') && !defaultParser.isValidPartialNumber(value)) {\n for (let numberingSystem of $6c7bd7858deea686$var$NUMBERING_SYSTEMS)if (numberingSystem !== defaultParser.options.numberingSystem) {\n let parser = $6c7bd7858deea686$var$getCachedNumberParser(locale + (locale.includes('-u-') ? '-nu-' : '-u-nu-') + numberingSystem, options);\n if (parser.isValidPartialNumber(value)) return parser;\n }\n }\n return defaultParser;\n}\nfunction $6c7bd7858deea686$var$getCachedNumberParser(locale, options) {\n let cacheKey = locale + (options ? Object.entries(options).sort((a, b)=>a[0] < b[0] ? -1 : 1).join() : '');\n let parser = $6c7bd7858deea686$var$numberParserCache.get(cacheKey);\n if (!parser) {\n parser = new $6c7bd7858deea686$var$NumberParserImpl(locale, options);\n $6c7bd7858deea686$var$numberParserCache.set(cacheKey, parser);\n }\n return parser;\n}\n// The actual number parser implementation. Instances of this class are cached\n// based on the locale, options, and detected numbering system.\nclass $6c7bd7858deea686$var$NumberParserImpl {\n parse(value) {\n // to parse the number, we need to remove anything that isn't actually part of the number, for example we want '-10.40' not '-10.40 USD'\n let fullySanitizedValue = this.sanitize(value);\n if (this.symbols.group) // Remove group characters, and replace decimal points and numerals with ASCII values.\n fullySanitizedValue = $6c7bd7858deea686$var$replaceAll(fullySanitizedValue, this.symbols.group, '');\n if (this.symbols.decimal) fullySanitizedValue = fullySanitizedValue.replace(this.symbols.decimal, '.');\n if (this.symbols.minusSign) fullySanitizedValue = fullySanitizedValue.replace(this.symbols.minusSign, '-');\n fullySanitizedValue = fullySanitizedValue.replace(this.symbols.numeral, this.symbols.index);\n if (this.options.style === 'percent') {\n // javascript is bad at dividing by 100 and maintaining the same significant figures, so perform it on the string before parsing\n let isNegative = fullySanitizedValue.indexOf('-');\n fullySanitizedValue = fullySanitizedValue.replace('-', '');\n let index = fullySanitizedValue.indexOf('.');\n if (index === -1) index = fullySanitizedValue.length;\n fullySanitizedValue = fullySanitizedValue.replace('.', '');\n if (index - 2 === 0) fullySanitizedValue = `0.${fullySanitizedValue}`;\n else if (index - 2 === -1) fullySanitizedValue = `0.0${fullySanitizedValue}`;\n else if (index - 2 === -2) fullySanitizedValue = '0.00';\n else fullySanitizedValue = `${fullySanitizedValue.slice(0, index - 2)}.${fullySanitizedValue.slice(index - 2)}`;\n if (isNegative > -1) fullySanitizedValue = `-${fullySanitizedValue}`;\n }\n let newValue = fullySanitizedValue ? +fullySanitizedValue : NaN;\n if (isNaN(newValue)) return NaN;\n if (this.options.style === 'percent') {\n var _this_options_minimumFractionDigits, _this_options_maximumFractionDigits;\n // extra step for rounding percents to what our formatter would output\n let options = {\n ...this.options,\n style: 'decimal',\n minimumFractionDigits: Math.min(((_this_options_minimumFractionDigits = this.options.minimumFractionDigits) !== null && _this_options_minimumFractionDigits !== void 0 ? _this_options_minimumFractionDigits : 0) + 2, 20),\n maximumFractionDigits: Math.min(((_this_options_maximumFractionDigits = this.options.maximumFractionDigits) !== null && _this_options_maximumFractionDigits !== void 0 ? _this_options_maximumFractionDigits : 0) + 2, 20)\n };\n return new $6c7bd7858deea686$export$cd11ab140839f11d(this.locale, options).parse(new (0, $488c6ddbf4ef74c2$export$cc77c4ff7e8673c5)(this.locale, options).format(newValue));\n }\n // accounting will always be stripped to a positive number, so if it's accounting and has a () around everything, then we need to make it negative again\n if (this.options.currencySign === 'accounting' && $6c7bd7858deea686$var$CURRENCY_SIGN_REGEX.test(value)) newValue = -1 * newValue;\n return newValue;\n }\n sanitize(value) {\n // Remove literals and whitespace, which are allowed anywhere in the string\n value = value.replace(this.symbols.literals, '');\n // Replace the ASCII minus sign with the minus sign used in the current locale\n // so that both are allowed in case the user's keyboard doesn't have the locale's minus sign.\n if (this.symbols.minusSign) value = value.replace('-', this.symbols.minusSign);\n // In arab numeral system, their decimal character is 1643, but most keyboards don't type that\n // instead they use the , (44) character or apparently the (1548) character.\n if (this.options.numberingSystem === 'arab') {\n if (this.symbols.decimal) {\n value = value.replace(',', this.symbols.decimal);\n value = value.replace(String.fromCharCode(1548), this.symbols.decimal);\n }\n if (this.symbols.group) value = $6c7bd7858deea686$var$replaceAll(value, '.', this.symbols.group);\n }\n // fr-FR group character is narrow non-breaking space, char code 8239 (U+202F), but that's not a key on the french keyboard,\n // so allow space and non-breaking space as a group char as well\n if (this.options.locale === 'fr-FR' && this.symbols.group) {\n value = $6c7bd7858deea686$var$replaceAll(value, ' ', this.symbols.group);\n value = $6c7bd7858deea686$var$replaceAll(value, /\\u00A0/g, this.symbols.group);\n }\n return value;\n }\n isValidPartialNumber(value, minValue = -Infinity, maxValue = Infinity) {\n value = this.sanitize(value);\n // Remove minus or plus sign, which must be at the start of the string.\n if (this.symbols.minusSign && value.startsWith(this.symbols.minusSign) && minValue < 0) value = value.slice(this.symbols.minusSign.length);\n else if (this.symbols.plusSign && value.startsWith(this.symbols.plusSign) && maxValue > 0) value = value.slice(this.symbols.plusSign.length);\n // Numbers cannot start with a group separator\n if (this.symbols.group && value.startsWith(this.symbols.group)) return false;\n // Numbers that can't have any decimal values fail if a decimal character is typed\n if (this.symbols.decimal && value.indexOf(this.symbols.decimal) > -1 && this.options.maximumFractionDigits === 0) return false;\n // Remove numerals, groups, and decimals\n if (this.symbols.group) value = $6c7bd7858deea686$var$replaceAll(value, this.symbols.group, '');\n value = value.replace(this.symbols.numeral, '');\n if (this.symbols.decimal) value = value.replace(this.symbols.decimal, '');\n // The number is valid if there are no remaining characters\n return value.length === 0;\n }\n constructor(locale, options = {}){\n this.locale = locale;\n this.formatter = new Intl.NumberFormat(locale, options);\n this.options = this.formatter.resolvedOptions();\n this.symbols = $6c7bd7858deea686$var$getSymbols(locale, this.formatter, this.options, options);\n var _this_options_minimumFractionDigits, _this_options_maximumFractionDigits;\n if (this.options.style === 'percent' && (((_this_options_minimumFractionDigits = this.options.minimumFractionDigits) !== null && _this_options_minimumFractionDigits !== void 0 ? _this_options_minimumFractionDigits : 0) > 18 || ((_this_options_maximumFractionDigits = this.options.maximumFractionDigits) !== null && _this_options_maximumFractionDigits !== void 0 ? _this_options_maximumFractionDigits : 0) > 18)) console.warn('NumberParser cannot handle percentages with greater than 18 decimal places, please reduce the number in your options.');\n }\n}\nconst $6c7bd7858deea686$var$nonLiteralParts = new Set([\n 'decimal',\n 'fraction',\n 'integer',\n 'minusSign',\n 'plusSign',\n 'group'\n]);\n// This list is derived from https://www.unicode.org/cldr/charts/43/supplemental/language_plural_rules.html#comparison and includes\n// all unique numbers which we need to check in order to determine all the plural forms for a given locale.\n// See: https://github.com/adobe/react-spectrum/pull/5134/files#r1337037855 for used script\nconst $6c7bd7858deea686$var$pluralNumbers = [\n 0,\n 4,\n 2,\n 1,\n 11,\n 20,\n 3,\n 7,\n 100,\n 21,\n 0.1,\n 1.1\n];\nfunction $6c7bd7858deea686$var$getSymbols(locale, formatter, intlOptions, originalOptions) {\n var _allParts_find, _posAllParts_find, _decimalParts_find, _allParts_find1;\n // formatter needs access to all decimal places in order to generate the correct literal strings for the plural set\n let symbolFormatter = new Intl.NumberFormat(locale, {\n ...intlOptions,\n // Resets so we get the full range of symbols\n minimumSignificantDigits: 1,\n maximumSignificantDigits: 21,\n roundingIncrement: 1,\n roundingPriority: 'auto',\n roundingMode: 'halfExpand'\n });\n // Note: some locale's don't add a group symbol until there is a ten thousands place\n let allParts = symbolFormatter.formatToParts(-10000.111);\n let posAllParts = symbolFormatter.formatToParts(10000.111);\n let pluralParts = $6c7bd7858deea686$var$pluralNumbers.map((n)=>symbolFormatter.formatToParts(n));\n var _allParts_find_value;\n let minusSign = (_allParts_find_value = (_allParts_find = allParts.find((p)=>p.type === 'minusSign')) === null || _allParts_find === void 0 ? void 0 : _allParts_find.value) !== null && _allParts_find_value !== void 0 ? _allParts_find_value : '-';\n let plusSign = (_posAllParts_find = posAllParts.find((p)=>p.type === 'plusSign')) === null || _posAllParts_find === void 0 ? void 0 : _posAllParts_find.value;\n // Safari does not support the signDisplay option, but our number parser polyfills it.\n // If no plus sign was returned, but the original options contained signDisplay, default to the '+' character.\n if (!plusSign && ((originalOptions === null || originalOptions === void 0 ? void 0 : originalOptions.signDisplay) === 'exceptZero' || (originalOptions === null || originalOptions === void 0 ? void 0 : originalOptions.signDisplay) === 'always')) plusSign = '+';\n // If maximumSignificantDigits is 1 (the minimum) then we won't get decimal characters out of the above formatters\n // Percent also defaults to 0 fractionDigits, so we need to make a new one that isn't percent to get an accurate decimal\n let decimalParts = new Intl.NumberFormat(locale, {\n ...intlOptions,\n minimumFractionDigits: 2,\n maximumFractionDigits: 2\n }).formatToParts(0.001);\n let decimal = (_decimalParts_find = decimalParts.find((p)=>p.type === 'decimal')) === null || _decimalParts_find === void 0 ? void 0 : _decimalParts_find.value;\n let group = (_allParts_find1 = allParts.find((p)=>p.type === 'group')) === null || _allParts_find1 === void 0 ? void 0 : _allParts_find1.value;\n // this set is also for a regex, it's all literals that might be in the string we want to eventually parse that\n // don't contribute to the numerical value\n let allPartsLiterals = allParts.filter((p)=>!$6c7bd7858deea686$var$nonLiteralParts.has(p.type)).map((p)=>$6c7bd7858deea686$var$escapeRegex(p.value));\n let pluralPartsLiterals = pluralParts.flatMap((p)=>p.filter((p)=>!$6c7bd7858deea686$var$nonLiteralParts.has(p.type)).map((p)=>$6c7bd7858deea686$var$escapeRegex(p.value)));\n let sortedLiterals = [\n ...new Set([\n ...allPartsLiterals,\n ...pluralPartsLiterals\n ])\n ].sort((a, b)=>b.length - a.length);\n let literals = sortedLiterals.length === 0 ? new RegExp('[\\\\p{White_Space}]', 'gu') : new RegExp(`${sortedLiterals.join('|')}|[\\\\p{White_Space}]`, 'gu');\n // These are for replacing non-latn characters with the latn equivalent\n let numerals = [\n ...new Intl.NumberFormat(intlOptions.locale, {\n useGrouping: false\n }).format(9876543210)\n ].reverse();\n let indexes = new Map(numerals.map((d, i)=>[\n d,\n i\n ]));\n let numeral = new RegExp(`[${numerals.join('')}]`, 'g');\n let index = (d)=>String(indexes.get(d));\n return {\n minusSign: minusSign,\n plusSign: plusSign,\n decimal: decimal,\n group: group,\n literals: literals,\n numeral: numeral,\n index: index\n };\n}\nfunction $6c7bd7858deea686$var$replaceAll(str, find, replace) {\n if (str.replaceAll) return str.replaceAll(find, replace);\n return str.split(find).join(replace);\n}\nfunction $6c7bd7858deea686$var$escapeRegex(string) {\n return string.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\$&');\n}\n\n\nexport {$6c7bd7858deea686$export$cd11ab140839f11d as NumberParser};\n//# sourceMappingURL=NumberParser.module.js.map\n","import { createAnatomy } from '@zag-js/anatomy';\nimport { raf, setElementValue, addDomEvent, isSafari, requestPointerLock, observeAttributes, trackFormControl, MAX_Z_INDEX, dataAttr, getEventPoint, getWindow, isLeftClick, ariaAttr, isComposingEvent, getEventStep, isModifierKey } from '@zag-js/dom-query';\nimport { isValueAtMax, isValueAtMin, clampValue, decrementValue, incrementValue, callAll, isValueWithinRange, createSplitProps, roundToDpr, wrap } from '@zag-js/utils';\nimport { setup, memo } from '@zag-js/core';\nimport { NumberParser } from '@internationalized/number';\nimport { createProps } from '@zag-js/types';\n\n// src/number-input.anatomy.ts\nvar anatomy = createAnatomy(\"numberInput\").parts(\n \"root\",\n \"label\",\n \"input\",\n \"control\",\n \"valueText\",\n \"incrementTrigger\",\n \"decrementTrigger\",\n \"scrubber\"\n);\nvar parts = anatomy.build();\nvar getRootId = (ctx) => ctx.ids?.root ?? `number-input:${ctx.id}`;\nvar getInputId = (ctx) => ctx.ids?.input ?? `number-input:${ctx.id}:input`;\nvar getIncrementTriggerId = (ctx) => ctx.ids?.incrementTrigger ?? `number-input:${ctx.id}:inc`;\nvar getDecrementTriggerId = (ctx) => ctx.ids?.decrementTrigger ?? `number-input:${ctx.id}:dec`;\nvar getScrubberId = (ctx) => ctx.ids?.scrubber ?? `number-input:${ctx.id}:scrubber`;\nvar getCursorId = (ctx) => `number-input:${ctx.id}:cursor`;\nvar getLabelId = (ctx) => ctx.ids?.label ?? `number-input:${ctx.id}:label`;\nvar getInputEl = (ctx) => ctx.getById(getInputId(ctx));\nvar getIncrementTriggerEl = (ctx) => ctx.getById(getIncrementTriggerId(ctx));\nvar getDecrementTriggerEl = (ctx) => ctx.getById(getDecrementTriggerId(ctx));\nvar getCursorEl = (ctx) => ctx.getDoc().getElementById(getCursorId(ctx));\nvar getPressedTriggerEl = (ctx, hint) => {\n let btnEl = null;\n if (hint === \"increment\") {\n btnEl = getIncrementTriggerEl(ctx);\n }\n if (hint === \"decrement\") {\n btnEl = getDecrementTriggerEl(ctx);\n }\n return btnEl;\n};\nvar setupVirtualCursor = (ctx, point) => {\n if (isSafari()) return;\n createVirtualCursor(ctx, point);\n return () => {\n getCursorEl(ctx)?.remove();\n };\n};\nvar preventTextSelection = (ctx) => {\n const doc = ctx.getDoc();\n const html = doc.documentElement;\n const body = doc.body;\n body.style.pointerEvents = \"none\";\n html.style.userSelect = \"none\";\n html.style.cursor = \"ew-resize\";\n return () => {\n body.style.pointerEvents = \"\";\n html.style.userSelect = \"\";\n html.style.cursor = \"\";\n if (!html.style.length) {\n html.removeAttribute(\"style\");\n }\n if (!body.style.length) {\n body.removeAttribute(\"style\");\n }\n };\n};\nvar getMousemoveValue = (ctx, opts) => {\n const { point, isRtl, event } = opts;\n const win = ctx.getWin();\n const x = roundToDpr(event.movementX, win.devicePixelRatio);\n const y = roundToDpr(event.movementY, win.devicePixelRatio);\n let hint = x > 0 ? \"increment\" : x < 0 ? \"decrement\" : null;\n if (isRtl && hint === \"increment\") hint = \"decrement\";\n if (isRtl && hint === \"decrement\") hint = \"increment\";\n const newPoint = { x: point.x + x, y: point.y + y };\n const width = win.innerWidth;\n const half = roundToDpr(7.5, win.devicePixelRatio);\n newPoint.x = wrap(newPoint.x + half, width) - half;\n return { hint, point: newPoint };\n};\nvar createVirtualCursor = (ctx, point) => {\n const doc = ctx.getDoc();\n const el = doc.createElement(\"div\");\n el.className = \"scrubber--cursor\";\n el.id = getCursorId(ctx);\n Object.assign(el.style, {\n width: \"15px\",\n height: \"15px\",\n position: \"fixed\",\n pointerEvents: \"none\",\n left: \"0px\",\n top: \"0px\",\n zIndex: MAX_Z_INDEX,\n transform: point ? `translate3d(${point.x}px, ${point.y}px, 0px)` : void 0,\n willChange: \"transform\"\n });\n el.innerHTML = `\n <svg width=\"46\" height=\"15\" style=\"left: -15.5px; position: absolute; top: 0; filter: drop-shadow(rgba(0, 0, 0, 0.4) 0px 1px 1.1px);\">\n <g transform=\"translate(2 3)\">\n <path fill-rule=\"evenodd\" d=\"M 15 4.5L 15 2L 11.5 5.5L 15 9L 15 6.5L 31 6.5L 31 9L 34.5 5.5L 31 2L 31 4.5Z\" style=\"stroke-width: 2px; stroke: white;\"></path>\n <path fill-rule=\"evenodd\" d=\"M 15 4.5L 15 2L 11.5 5.5L 15 9L 15 6.5L 31 6.5L 31 9L 34.5 5.5L 31 2L 31 4.5Z\"></path>\n </g>\n </svg>`;\n doc.body.appendChild(el);\n};\n\n// src/number-input.connect.ts\nfunction connect(service, normalize) {\n const { state, send, prop, scope, computed } = service;\n const focused = state.hasTag(\"focus\");\n const disabled = computed(\"isDisabled\");\n const readOnly = prop(\"readOnly\");\n const empty = computed(\"isValueEmpty\");\n const invalid = computed(\"isOutOfRange\") || !!prop(\"invalid\");\n const isIncrementDisabled = disabled || !computed(\"canIncrement\") || readOnly;\n const isDecrementDisabled = disabled || !computed(\"canDecrement\") || readOnly;\n const translations = prop(\"translations\");\n return {\n focused,\n invalid,\n empty,\n value: computed(\"formattedValue\"),\n valueAsNumber: computed(\"valueAsNumber\"),\n setValue(value) {\n send({ type: \"VALUE.SET\", value });\n },\n clearValue() {\n send({ type: \"VALUE.CLEAR\" });\n },\n increment() {\n send({ type: \"VALUE.INCREMENT\" });\n },\n decrement() {\n send({ type: \"VALUE.DECREMENT\" });\n },\n setToMax() {\n send({ type: \"VALUE.SET\", value: prop(\"max\") });\n },\n setToMin() {\n send({ type: \"VALUE.SET\", value: prop(\"min\") });\n },\n focus() {\n getInputEl(scope)?.focus();\n },\n getRootProps() {\n return normalize.element({\n id: getRootId(scope),\n ...parts.root.attrs,\n dir: prop(\"dir\"),\n \"data-disabled\": dataAttr(disabled),\n \"data-focus\": dataAttr(focused),\n \"data-invalid\": dataAttr(invalid)\n });\n },\n getLabelProps() {\n return normalize.label({\n ...parts.label.attrs,\n dir: prop(\"dir\"),\n \"data-disabled\": dataAttr(disabled),\n \"data-focus\": dataAttr(focused),\n \"data-invalid\": dataAttr(invalid),\n id: getLabelId(scope),\n htmlFor: getInputId(scope)\n });\n },\n getControlProps() {\n return normalize.element({\n ...parts.control.attrs,\n dir: prop(\"dir\"),\n role: \"group\",\n \"aria-disabled\": disabled,\n \"data-focus\": dataAttr(focused),\n \"data-disabled\": dataAttr(disabled),\n \"data-invalid\": dataAttr(invalid),\n \"aria-invalid\": ariaAttr(invalid)\n });\n },\n getValueTextProps() {\n return normalize.element({\n ...parts.valueText.attrs,\n dir: prop(\"dir\"),\n \"data-disabled\": dataAttr(disabled),\n \"data-invalid\": dataAttr(invalid),\n \"data-focus\": dataAttr(focused)\n });\n },\n getInputProps() {\n return normalize.input({\n ...parts.input.attrs,\n dir: prop(\"dir\"),\n name: prop(\"name\"),\n form: prop(\"form\"),\n id: getInputId(scope),\n role: \"spinbutton\",\n defaultValue: computed(\"formattedValue\"),\n pattern: prop(\"pattern\"),\n inputMode: prop(\"inputMode\"),\n \"aria-invalid\": ariaAttr(invalid),\n \"data-invalid\": dataAttr(invalid),\n disabled,\n \"data-disabled\": dataAttr(disabled),\n readOnly,\n required: prop(\"required\"),\n autoComplete: \"off\",\n autoCorrect: \"off\",\n spellCheck: \"false\",\n type: \"text\",\n \"aria-roledescription\": \"numberfield\",\n \"aria-valuemin\": prop(\"min\"),\n \"aria-valuemax\": prop(\"max\"),\n \"aria-valuenow\": Number.isNaN(computed(\"valueAsNumber\")) ? void 0 : computed(\"valueAsNumber\"),\n \"aria-valuetext\": computed(\"valueText\"),\n onFocus() {\n send({ type: \"INPUT.FOCUS\" });\n },\n onBlur() {\n send({ type: \"INPUT.BLUR\" });\n },\n onInput(event) {\n send({ type: \"INPUT.CHANGE\", target: event.currentTarget, hint: \"set\" });\n },\n onBeforeInput(event) {\n try {\n const { selectionStart, selectionEnd, value } = event.currentTarget;\n const nextValue = value.slice(0, selectionStart) + (event.data ?? \"\") + value.slice(selectionEnd);\n const isValid = computed(\"parser\").isValidPartialNumber(nextValue);\n if (!isValid) {\n event.preventDefault();\n }\n } catch {\n }\n },\n onKeyDown(event) {\n if (event.defaultPrevented) return;\n if (readOnly) return;\n if (isComposingEvent(event)) return;\n const step = getEventStep(event) * prop(\"step\");\n const keyMap = {\n ArrowUp() {\n send({ type: \"INPUT.ARROW_UP\", step });\n event.preventDefault();\n },\n ArrowDown() {\n send({ type: \"INPUT.ARROW_DOWN\", step });\n event.preventDefault();\n },\n Home() {\n if (isModifierKey(event)) return;\n send({ type: \"INPUT.HOME\" });\n event.preventDefault();\n },\n End() {\n if (isModifierKey(event)) return;\n send({ type: \"INPUT.END\" });\n event.preventDefault();\n },\n Enter() {\n send({ type: \"INPUT.ENTER\" });\n }\n };\n const exec = keyMap[event.key];\n exec?.(event);\n }\n });\n },\n getDecrementTriggerProps() {\n return normalize.button({\n ...parts.decrementTrigger.attrs,\n dir: prop(\"dir\"),\n id: getDecrementTriggerId(scope),\n disabled: isDecrementDisabled,\n \"data-disabled\": dataAttr(isDecrementDisabled),\n \"aria-label\": translations.decrementLabel,\n type: \"button\",\n tabIndex: -1,\n \"aria-controls\": getInputId(scope),\n onPointerDown(event) {\n if (isDecrementDisabled || !isLeftClick(event)) return;\n send({ type: \"TRIGGER.PRESS_DOWN\", hint: \"decrement\", pointerType: event.pointerType });\n if (event.pointerType === \"mouse\") {\n event.preventDefault();\n }\n if (event.pointerType === \"touch\") {\n event.currentTarget?.focus({ preventScroll: true });\n }\n },\n onPointerUp(event) {\n send({ type: \"TRIGGER.PRESS_UP\", hint: \"decrement\", pointerType: event.pointerType });\n },\n onPointerLeave() {\n if (isDecrementDisabled) return;\n send({ type: \"TRIGGER.PRESS_UP\", hint: \"decrement\" });\n }\n });\n },\n getIncrementTriggerProps() {\n return normalize.button({\n ...parts.incrementTrigger.attrs,\n dir: prop(\"dir\"),\n id: getIncrementTriggerId(scope),\n disabled: isIncrementDisabled,\n \"data-disabled\": dataAttr(isIncrementDisabled),\n \"aria-label\": translations.incrementLabel,\n type: \"button\",\n tabIndex: -1,\n \"aria-controls\": getInputId(scope),\n onPointerDown(event) {\n if (isIncrementDisabled || !isLeftClick(event)) return;\n send({ type: \"TRIGGER.PRESS_DOWN\", hint: \"increment\", pointerType: event.pointerType });\n if (event.pointerType === \"mouse\") {\n event.preventDefault();\n }\n if (event.pointerType === \"touch\") {\n event.currentTarget?.focus({ preventScroll: true });\n }\n },\n onPointerUp(event) {\n send({ type: \"TRIGGER.PRESS_UP\", hint: \"increment\", pointerType: event.pointerType });\n },\n onPointerLeave(event) {\n send({ type: \"TRIGGER.PRESS_UP\", hint: \"increment\", pointerType: event.pointerType });\n }\n });\n },\n getScrubberProps() {\n return normalize.element({\n ...parts.scrubber.attrs,\n dir: prop(\"dir\"),\n \"data-disabled\": dataAttr(disabled),\n id: getScrubberId(scope),\n role: \"presentation\",\n onMouseDown(event) {\n if (disabled) return;\n const point = getEventPoint(event);\n const win = getWindow(event.currentTarget);\n const dpr = win.devicePixelRatio;\n point.x = point.x - roundToDpr(7.5, dpr);\n point.y = point.y - roundToDpr(7.5, dpr);\n send({ type: \"SCRUBBER.PRESS_DOWN\", point });\n event.preventDefault();\n },\n style: {\n cursor: disabled ? void 0 : \"ew-resize\"\n }\n });\n }\n };\n}\n\n// src/cursor.ts\nfunction recordCursor(inputEl) {\n if (!inputEl || inputEl.ownerDocument.activeElement !== inputEl) return;\n try {\n const { selectionStart: start, selectionEnd: end, value } = inputEl;\n const beforeTxt = value.substring(0, start);\n const afterTxt = value.substring(end);\n return {\n start,\n end,\n value,\n beforeTxt,\n afterTxt\n };\n } catch {\n }\n}\nfunction restoreCursor(inputEl, selection) {\n if (!inputEl || inputEl.ownerDocument.activeElement !== inputEl) return;\n if (!selection) {\n inputEl.setSelectionRange(inputEl.value.length, inputEl.value.length);\n return;\n }\n try {\n const { value } = inputEl;\n const { beforeTxt = \"\", afterTxt = \"\", start } = selection;\n let startPos = value.length;\n if (value.endsWith(afterTxt)) {\n startPos = value.length - afterTxt.length;\n } else if (value.startsWith(beforeTxt)) {\n startPos = beforeTxt.length;\n } else if (start != null) {\n const beforeLastChar = beforeTxt[start - 1];\n const newIndex = value.indexOf(beforeLastChar, start - 1);\n if (newIndex !== -1) {\n startPos = newIndex + 1;\n }\n }\n inputEl.setSelectionRange(startPos, startPos);\n } catch {\n }\n}\nvar createFormatter = (locale, options = {}) => {\n return new Intl.NumberFormat(locale, options);\n};\nvar createParser = (locale, options = {}) => {\n return new NumberParser(locale, options);\n};\nvar parseValue = (value, params) => {\n const { prop, computed } = params;\n if (!prop(\"formatOptions\")) return parseFloat(value);\n return computed(\"parser\").parse(String(value));\n};\nvar formatValue = (value, params) => {\n const { prop, computed } = params;\n if (Number.isNaN(value)) return \"\";\n if (!prop(\"formatOptions\")) return value.toString();\n return computed(\"formatter\").format(value);\n};\nvar getDefaultStep = (step, formatOptions) => {\n let defaultStep = step !== void 0 && !Number.isNaN(step) ? step : 1;\n if (formatOptions?.style === \"percent\" && (step === void 0 || Number.isNaN(step))) {\n defaultStep = 0.01;\n }\n return defaultStep;\n};\n\n// src/number-input.machine.ts\nvar { choose, guards, createMachine } = setup();\nvar { not, and } = guards;\nvar machine = createMachine({\n props({ props: props2 }) {\n const step = getDefaultStep(props2.step, props2.formatOptions);\n return {\n dir: \"ltr\",\n locale: \"en-US\",\n focusInputOnChange: true,\n clampValueOnBlur: !props2.allowOverflow,\n allowOverflow: false,\n inputMode: \"decimal\",\n pattern: \"[0-9]*(.[0-9]+)?\",\n defaultValue: \"\",\n step,\n min: Number.MIN_SAFE_INTEGER,\n max: Number.MAX_SAFE_INTEGER,\n spinOnPress: true,\n ...props2,\n translations: {\n incrementLabel: \"increment value\",\n decrementLabel: \"decrease value\",\n ...props2.translations\n }\n };\n },\n initialState() {\n return \"idle\";\n },\n context({ prop, bindable, getComputed }) {\n return {\n value: bindable(() => ({\n defaultValue: prop(\"defaultValue\"),\n value: prop(\"value\"),\n onChange(value) {\n const computed = getComputed();\n const valueAsNumber = parseValue(value, { computed, prop });\n prop(\"onValueChange\")?.({ value, valueAsNumber });\n }\n })),\n hint: bindable(() => ({ defaultValue: null })),\n scrubberCursorPoint: bindable(() => ({\n defaultValue: null,\n hash(value) {\n return value ? `x:${value.x}, y:${value.y}` : \"\";\n }\n })),\n fieldsetDisabled: bindable(() => ({ defaultValue: false }))\n };\n },\n computed: {\n isRtl: ({ prop }) => prop(\"dir\") === \"rtl\",\n valueAsNumber: ({ context, computed, prop }) => parseValue(context.get(\"value\"), { computed, prop }),\n formattedValue: ({ computed, prop }) => formatValue(computed(\"valueAsNumber\"), { computed, prop }),\n isAtMin: ({ computed, prop }) => isValueAtMin(computed(\"valueAsNumber\"), prop(\"min\")),\n isAtMax: ({ computed, prop }) => isValueAtMax(computed(\"valueAsNumber\"), prop(\"max\")),\n isOutOfRange: ({ computed, prop }) => !isValueWithinRange(computed(\"valueAsNumber\"), prop(\"min\"), prop(\"max\")),\n isValueEmpty: ({ context }) => context.get(\"value\") === \"\",\n isDisabled: ({ prop, context }) => !!prop(\"disabled\") || context.get(\"fieldsetDisabled\"),\n canIncrement: ({ prop, computed }) => prop(\"allowOverflow\") || !computed(\"isAtMax\"),\n canDecrement: ({ prop, computed }) => prop(\"allowOverflow\") || !computed(\"isAtMin\"),\n valueText: ({ prop, context }) => prop(\"translations\").valueText?.(context.get(\"value\")),\n formatter: memo(\n ({ prop }) => [prop(\"locale\"), prop(\"formatOptions\")],\n (locale, formatOptions) => createFormatter(locale, formatOptions)\n ),\n parser: memo(\n ({ prop }) => [prop(\"locale\"), prop(\"formatOptions\")],\n (locale, formatOptions) => createParser(locale, formatOptions)\n )\n },\n watch({ track, action, context, computed, prop }) {\n track([() => context.get(\"value\"), () => prop(\"locale\")], () => {\n action([\"syncInputElement\"]);\n });\n track([() => computed(\"isOutOfRange\")], () => {\n action([\"invokeOnInvalid\"]);\n });\n track([() => context.hash(\"scrubberCursorPoint\")], () => {\n action([\"setVirtualCursorPosition\"]);\n });\n },\n effects: [\"trackFormControl\"],\n on: {\n \"VALUE.SET\": {\n actions: [\"setRawValue\"]\n },\n \"VALUE.CLEAR\": {\n actions: [\"clearValue\"]\n },\n \"VALUE.INCREMENT\": {\n actions: [\"increment\"]\n },\n \"VALUE.DECREMENT\": {\n actions: [\"decrement\"]\n }\n },\n states: {\n idle: {\n on: {\n \"TRIGGER.PRESS_DOWN\": [\n { guard: \"isTouchPointer\", target: \"before:spin\", actions: [\"setHint\"] },\n {\n target: \"before:spin\",\n actions: [\"focusInput\", \"invokeOnFocus\", \"setHint\"]\n }\n ],\n \"SCRUBBER.PRESS_DOWN\": {\n target: \"scrubbing\",\n actions: [\"focusInput\", \"invokeOnFocus\", \"setHint\", \"setCursorPoint\"]\n },\n \"INPUT.FOCUS\": {\n target: \"focused\",\n actions: [\"focusInput\", \"invokeOnFocus\"]\n }\n }\n },\n focused: {\n tags: [\"focus\"],\n effects: [\"attachWheelListener\"],\n on: {\n \"TRIGGER.PRESS_DOWN\": [\n { guard: \"isTouchPointer\", target: \"before:spin\", actions: [\"setHint\"] },\n { target: \"before:spin\", actions: [\"focusInput\", \"setHint\"] }\n ],\n \"SCRUBBER.PRESS_DOWN\": {\n target: \"scrubbing\",\n actions: [\"focusInput\", \"setHint\", \"setCursorPoint\"]\n },\n \"INPUT.ARROW_UP\": {\n actions: [\"increment\"]\n },\n \"INPUT.ARROW_DOWN\": {\n actions: [\"decrement\"]\n },\n \"INPUT.HOME\": {\n actions: [\"decrementToMin\"]\n },\n \"INPUT.END\": {\n actions: [\"incrementToMax\"]\n },\n \"INPUT.CHANGE\": {\n actions: [\"setValue\", \"setHint\"]\n },\n \"INPUT.BLUR\": [\n {\n guard: and(\"clampValueOnBlur\", not(\"isInRange\")),\n target: \"idle\",\n actions: [\"setClampedValue\", \"clearHint\", \"invokeOnBlur\"]\n },\n {\n guard: not(\"isInRange\"),\n target: \"idle\",\n actions: [\"setFormattedValue\", \"clearHint\", \"invokeOnBlur\", \"invokeOnInvalid\"]\n },\n {\n target: \"idle\",\n actions: [\"setFormattedValue\", \"clearHint\", \"invokeOnBlur\"]\n }\n ],\n \"INPUT.ENTER\": {\n actions: [\"setFormattedValue\", \"clearHint\", \"invokeOnBlur\"]\n }\n }\n },\n \"before:spin\": {\n tags: [\"focus\"],\n effects: [\"trackButtonDisabled\", \"waitForChangeDelay\"],\n entry: choose([\n { guard: \"isIncrementHint\", actions: [\"increment\"] },\n { guard: \"isDecrementHint\", actions: [\"decrement\"] }\n ]),\n on: {\n CHANGE_DELAY: {\n target: \"spinning\",\n guard: and(\"isInRange\", \"spinOnPress\")\n },\n \"TRIGGER.PRESS_UP\": [\n { guard: \"isTouchPointer\", target: \"focused\", actions: [\"clearHint\"] },\n { target: \"focused\", actions: [\"focusInput\", \"clearHint\"] }\n ]\n }\n },\n spinning: {\n tags: [\"focus\"],\n effects: [\"trackButtonDisabled\", \"spinValue\"],\n on: {\n SPIN: [\n {\n guard: \"isIncrementHint\",\n actions: [\"increment\"]\n },\n {\n guard: \"isDecrementHint\",\n actions: [\"decrement\"]\n }\n ],\n \"TRIGGER.PRESS_UP\": {\n target: \"focused\",\n actions: [\"focusInput\", \"clearHint\"]\n }\n }\n },\n scrubbing: {\n tags: [\"focus\"],\n effects: [\"activatePointerLock\", \"trackMousemove\", \"setupVirtualCursor\", \"preventTextSelection\"],\n on: {\n \"SCRUBBER.POINTER_UP\": {\n target: \"focused\",\n actions: [\"focusInput\", \"clearCursorPoint\"]\n },\n \"SCRUBBER.POINTER_MOVE\": [\n {\n guard: \"isIncrementHint\",\n actions: [\"increment\", \"setCursorPoint\"]\n },\n {\n guard: \"isDecrementHint\",\n actions: [\"decrement\", \"setCursorPoint\"]\n }\n ]\n }\n }\n },\n implementations: {\n guards: {\n clampValueOnBlur: ({ prop }) => prop(\"clampValueOnBlur\"),\n spinOnPress: ({ prop }) => !!prop(\"spinOnPress\"),\n isInRange: ({ computed }) => !computed(\"isOutOfRange\"),\n isDecrementHint: ({ context, event }) => (event.hint ?? context.get(\"hint\")) === \"decrement\",\n isIncrementHint: ({ context, event }) => (event.hint ?? context.get(\"hint\")) === \"increment\",\n isTouchPointer: ({ event }) => event.pointerType === \"touch\"\n },\n effects: {\n waitForChangeDelay({ send }) {\n const id = setTimeout(() => {\n send({ type: \"CHANGE_DELAY\" });\n }, 300);\n return () => clearTimeout(id);\n },\n spinValue({ send }) {\n const id = setInterval(() => {\n send({ type: \"SPIN\" });\n }, 50);\n return () => clearInterval(id);\n },\n trackFormControl({ context, scope }) {\n const inputEl = getInputEl(scope);\n return trackFormControl(inputEl, {\n onFieldsetDisabledChange(disabled) {\n context.set(\"fieldsetDisabled\", disabled);\n },\n onFormReset() {\n context.set(\"value\", context.initial(\"value\"));\n }\n });\n },\n setupVirtualCursor({ context, scope }) {\n const point = context.get(\"scrubberCursorPoint\");\n return setupVirtualCursor(scope, point);\n },\n preventTextSelection({ scope }) {\n return preventTextSelection(scope);\n },\n trackButtonDisabled({ context, scope, send }) {\n const hint = context.get(\"hint\");\n const btn = getPressedTriggerEl(scope, hint);\n return observeAttributes(btn, {\n attributes: [\"disabled\"],\n callback() {\n send({ type: \"TRIGGER.PRESS_UP\", src: \"attr\" });\n }\n });\n },\n attachWheelListener({ scope, send, prop }) {\n const inputEl = getInputEl(scope);\n if (!inputEl || !scope.isActiveElement(inputEl) || !prop(\"allowMouseWheel\")) return;\n function onWheel(event) {\n event.preventDefault();\n const dir = Math.sign(event.deltaY) * -1;\n if (dir === 1) {\n send({ type: \"VALUE.INCREMENT\" });\n } else if (dir === -1) {\n send({ type: \"VALUE.DECREMENT\" });\n }\n }\n return addDomEvent(inputEl, \"wheel\", onWheel, { passive: false });\n },\n activatePointerLock({ scope }) {\n if (isSafari()) return;\n return requestPointerLock(scope.getDoc());\n },\n trackMousemove({ scope, send, context, computed }) {\n const doc = scope.getDoc();\n function onMousemove(event) {\n const point = context.get(\"scrubberCursorPoint\");\n const isRtl = computed(\"isRtl\");\n const value = getMousemoveValue(scope, { point, isRtl, event });\n if (!value.hint) return;\n send({\n type: \"SCRUBBER.POINTER_MOVE\",\n hint: value.hint,\n point: value.point\n });\n }\n function onMouseup() {\n send({ type: \"SCRUBBER.POINTER_UP\" });\n }\n return callAll(addDomEvent(doc, \"mousemove\", onMousemove, false), addDomEvent(doc, \"mouseup\", onMouseup, false));\n }\n },\n actions: {\n focusInput({ scope, prop }) {\n if (!prop(\"focusInputOnChange\")) return;\n const inputEl = getInputEl(scope);\n if (scope.isActiveElement(inputEl)) return;\n raf(() => inputEl?.focus({ preventScroll: true }));\n },\n increment({ context, event, prop, computed }) {\n let nextValue = incrementValue(computed(\"valueAsNumber\"), event.step ?? prop(\"step\"));\n if (!prop(\"allowOverflow\")) nextValue = clampValue(nextValue, prop(\"min\"), prop(\"max\"));\n context.set(\"value\", formatValue(nextValue, { computed, prop }));\n },\n decrement({ context, event, prop, computed }) {\n let nextValue = decrementValue(computed(\"valueAsNumber\"), event.step ?? prop(\"step\"));\n if (!prop(\"allowOverflow\")) nextValue = clampValue(nextValue, prop(\"min\"), prop(\"max\"));\n context.set(\"value\", formatValue(nextValue, { computed, prop }));\n },\n setClampedValue({ context, prop, computed }) {\n const nextValue = clampValue(computed(\"valueAsNumber\"), prop(\"min\"), prop(\"max\"));\n context.set(\"value\", formatValue(nextValue, { computed, prop }));\n },\n setRawValue({ context, event, prop, computed }) {\n let nextValue = parseValue(event.value, { computed, prop });\n if (!prop(\"allowOverflow\")) nextValue = clampValue(nextValue, prop(\"min\"), prop(\"max\"));\n context.set(\"value\", formatValue(nextValue, { computed, prop }));\n },\n setValue({ context, event }) {\n const value = event.target?.value ?? event.value;\n context.set(\"value\", value);\n },\n clearValue({ context }) {\n context.set(\"value\", \"\");\n },\n incrementToMax({ context, prop, computed }) {\n const value = formatValue(prop(\"max\"), { computed, prop });\n context.set(\"value\", value);\n },\n decrementToMin({ context, prop, computed }) {\n const value = formatValue(prop(\"min\"), { computed, prop });\n context.set(\"value\", value);\n },\n setHint({ context, event }) {\n context.set(\"hint\", event.hint);\n },\n clearHint({ context }) {\n context.set(\"hint\", null);\n },\n invokeOnFocus({ computed, prop }) {\n prop(\"onFocusChange\")?.({\n focused: true,\n value: computed(\"formattedValue\"),\n valueAsNumber: computed(\"valueAsNumber\")\n });\n },\n invokeOnBlur({ computed, prop }) {\n prop(\"onFocusChange\")?.({\n focused: false,\n value: computed(\"formattedValue\"),\n valueAsNumber: computed(\"valueAsNumber\")\n });\n },\n invokeOnInvalid({ computed, prop, event }) {\n if (event.type === \"INPUT.CHANGE\") return;\n const reason = computed(\"valueAsNumber\") > prop(\"max\") ? \"rangeOverflow\" : \"rangeUnderflow\";\n prop(\"onValueInvalid\")?.({\n reason,\n value: computed(\"formattedValue\"),\n valueAsNumber: computed(\"valueAsNumber\")\n });\n },\n syncInputElement({ context, event, computed, scope }) {\n const value = event.type.endsWith(\"CHANGE\") ? context.get(\"value\") : computed(\"formattedValue\");\n const inputEl = getInputEl(scope);\n const sel = recordCursor(inputEl);\n raf(() => {\n setElementValue(inputEl, value);\n restoreCursor(inputEl, sel);\n });\n },\n setFormattedValue({ context, computed }) {\n context.set(\"value\", computed(\"formattedValue\"));\n },\n setCursorPoint({ context, event }) {\n context.set(\"scrubberCursorPoint\", event.point);\n },\n clearCursorPoint({ context }) {\n context.set(\"scrubberCursorPoint\", null);\n },\n setVirtualCursorPosition({ context, scope }) {\n const cursorEl = getCursorEl(scope);\n const point = context.get(\"scrubberCursorPoint\");\n if (!cursorEl || !point) return;\n cursorEl.style.transform = `translate3d(${point.x}px, ${point.y}px, 0px)`;\n }\n }\n }\n});\nvar props = createProps()([\n \"allowMouseWheel\",\n \"allowOverflow\",\n \"clampValueOnBlur\",\n \"dir\",\n \"disabled\",\n \"focusInputOnChange\",\n \"form\",\n \"formatOptions\",\n \"getRootNode\",\n \"id\",\n \"ids\",\n \"inputMode\",\n \"invalid\",\n \"locale\",\n \"max\",\n \"min\",\n \"name\",\n \"onFocusChange\",\n \"onValueChange\",\n \"onValueInvalid\",\n \"pattern\",\n \"required\",\n \"readOnly\",\n \"spinOnPress\",\n \"step\",\n \"translations\",\n \"value\",\n \"defaultValue\"\n]);\nvar splitProps = createSplitProps(props);\n\nexport { anatomy, connect, machine, props, splitProps };\n","import { createAnatomy } from '@zag-js/anatomy';\nimport { createMachine, memo } from '@zag-js/core';\nimport { isNumber, getValuePercent, createSplitProps } from '@zag-js/utils';\nimport { createProps } from '@zag-js/types';\n\n// src/progress.anatomy.ts\nvar anatomy = createAnatomy(\"progress\").parts(\n \"root\",\n \"label\",\n \"track\",\n \"range\",\n \"valueText\",\n \"view\",\n \"circle\",\n \"circleTrack\",\n \"circleRange\"\n);\nvar parts = anatomy.build();\n\n// src/progress.dom.ts\nvar getRootId = (ctx) => ctx.ids?.root ?? `progress-${ctx.id}`;\nvar getTrackId = (ctx) => ctx.ids?.track ?? `progress-${ctx.id}-track`;\nvar getLabelId = (ctx) => ctx.ids?.label ?? `progress-${ctx.id}-label`;\nvar getCircleId = (ctx) => ctx.ids?.circle ?? `progress-${ctx.id}-circle`;\n\n// src/progress.connect.ts\nfunction connect(service, normalize) {\n const { context, computed, prop, send, scope } = service;\n const percent = computed(\"percent\");\n const percentAsString = computed(\"isIndeterminate\") ? \"\" : computed(\"formatter\").format(computed(\"percent\") / 100);\n const max = prop(\"max\");\n const min = prop(\"min\");\n const orientation = prop(\"orientation\");\n const translations = prop(\"translations\");\n const indeterminate = computed(\"isIndeterminate\");\n const value = context.get(\"value\");\n const valueAsString = translations?.value({ value, max, percent, min }) ?? \"\";\n const progressState = getProgressState(value, max);\n const progressbarProps = {\n role: \"progressbar\",\n \"aria-label\": valueAsString,\n \"data-max\": max,\n \"aria-valuemin\": min,\n \"aria-valuemax\": max,\n \"aria-valuenow\": value ?? void 0,\n \"data-orientation\": orientation,\n \"data-state\": progressState\n };\n const circleProps2 = getCircleProps(service);\n return {\n value,\n valueAsString,\n min,\n max,\n percent,\n percentAsString,\n indeterminate,\n setValue(value2) {\n send({ type: \"VALUE.SET\", value: value2 });\n },\n setToMax() {\n send({ type: \"VALUE.SET\", value: max });\n },\n setToMin() {\n send({ type: \"VALUE.SET\", value: min });\n },\n getRootProps() {\n return normalize.element({\n dir: prop(\"dir\"),\n ...parts.root.attrs,\n id: getRootId(scope),\n \"data-max\": max,\n \"data-value\": value ?? void 0,\n \"data-state\": progressState,\n \"data-orientation\": orientation,\n style: {\n \"--percent\": indeterminate ? void 0 : percent\n }\n });\n },\n getLabelProps() {\n return normalize.element({\n dir: prop(\"dir\"),\n id: getLabelId(scope),\n ...parts.label.attrs,\n \"data-orientation\": orientation\n });\n },\n getValueTextProps() {\n return normalize.element({\n dir: prop(\"dir\"),\n \"aria-live\": \"polite\",\n ...parts.valueText.attrs\n });\n },\n getTrackProps() {\n return normalize.element({\n dir: prop(\"dir\"),\n id: getTrackId(scope),\n ...parts.track.attrs,\n ...progressbarProps\n });\n },\n getRangeProps() {\n return normalize.element({\n dir: prop(\"dir\"),\n ...parts.range.attrs,\n \"data-orientation\": orientation,\n \"data-state\": progressState,\n style: {\n [computed(\"isHorizontal\") ? \"width\" : \"height\"]: indeterminate ? void 0 : `${percent}%`\n }\n });\n },\n getCircleProps() {\n return normalize.element({\n dir: prop(\"dir\"),\n id: getCircleId(scope),\n ...parts.circle.attrs,\n ...progressbarProps,\n ...circleProps2.root\n });\n },\n getCircleTrackProps() {\n return normalize.element({\n dir: prop(\"dir\"),\n \"data-orientation\": orientation,\n ...parts.circleTrack.attrs,\n ...circleProps2.track\n });\n },\n getCircleRangeProps() {\n return normalize.element({\n dir: prop(\"dir\"),\n ...parts.circleRange.attrs,\n ...circleProps2.range,\n \"data-state\": progressState\n });\n },\n getViewProps(props2) {\n return normalize.element({\n dir: prop(\"dir\"),\n ...parts.view.attrs,\n \"data-state\": props2.state,\n hidden: props2.state !== progressState\n });\n }\n };\n}\nfunction getProgressState(value, maxValue) {\n return value == null ? \"indeterminate\" : value === maxValue ? \"complete\" : \"loading\";\n}\nvar circleProps = {\n style: {\n \"--radius\": \"calc(var(--size) / 2 - var(--thickness) / 2)\",\n cx: \"calc(var(--size) / 2)\",\n cy: \"calc(var(--size) / 2)\",\n r: \"var(--radius)\",\n fill: \"transparent\",\n strokeWidth: \"var(--thickness)\"\n }\n};\nvar rootProps = {\n style: {\n width: \"var(--size)\",\n height: \"var(--size)\"\n }\n};\nfunction getCircleProps(service) {\n const { context, computed } = service;\n return {\n root: rootProps,\n track: circleProps,\n range: {\n opacity: context.get(\"value\") === 0 ? 0 : void 0,\n style: {\n ...circleProps.style,\n \"--percent\": computed(\"percent\"),\n \"--circumference\": `calc(2 * 3.14159 * var(--radius))`,\n \"--offset\": `calc(var(--circumference) * (100 - var(--percent)) / 100)`,\n strokeDashoffset: `calc(var(--circumference) * ((100 - var(--percent)) / 100))`,\n strokeDasharray: computed(\"isIndeterminate\") ? void 0 : `var(--circumference)`,\n transformOrigin: \"center\",\n transform: \"rotate(-90deg)\"\n }\n }\n };\n}\nvar machine = createMachine({\n props({ props: props2 }) {\n const min = props2.min ?? 0;\n const max = props2.max ?? 100;\n return {\n ...props2,\n max,\n min,\n defaultValue: props2.defaultValue ?? midValue(min, max),\n orientation: \"horizontal\",\n formatOptions: {\n style: \"percent\",\n ...props2.formatOptions\n },\n translations: {\n value: ({ percent }) => percent === -1 ? \"loading...\" : `${percent} percent`,\n ...props2.translations\n }\n };\n },\n initialState() {\n return \"idle\";\n },\n entry: [\"validateContext\"],\n context({ bindable, prop }) {\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 computed: {\n isIndeterminate: ({ context }) => context.get(\"value\") === null,\n percent({ context, prop }) {\n const value = context.get(\"value\");\n if (!isNumber(value)) return -1;\n return getValuePercent(value, prop(\"min\"), prop(\"max\")) * 100;\n },\n formatter: memo(\n ({ prop }) => [prop(\"locale\"), prop(\"formatOptions\")],\n (locale, formatOptions) => new Intl.NumberFormat(locale, formatOptions)\n ),\n isHorizontal: ({ prop }) => prop(\"orientation\") === \"horizontal\"\n },\n states: {\n idle: {\n on: {\n \"VALUE.SET\": {\n actions: [\"setValue\"]\n }\n }\n }\n },\n implementations: {\n actions: {\n setValue: ({ context, event, prop }) => {\n const value = event.value === null ? null : Math.max(0, Math.min(event.value, prop(\"max\")));\n context.set(\"value\", value);\n },\n validateContext: ({ context, prop }) => {\n const max = prop(\"max\");\n const min = prop(\"min\");\n const value = context.get(\"value\");\n if (value == null) return;\n if (!isValidNumber(max)) {\n throw new Error(`[progress] The max value passed \\`${max}\\` is not a valid number`);\n }\n if (!isValidMax(value, max)) {\n throw new Error(`[progress] The value passed \\`${value}\\` exceeds the max value \\`${max}\\``);\n }\n if (!isValidMin(value, min)) {\n throw new Error(`[progress] The value passed \\`${value}\\` exceeds the min value \\`${min}\\``);\n }\n }\n }\n }\n});\nvar isValidNumber = (max) => isNumber(max) && !isNaN(max);\nvar isValidMax = (value, max) => isValidNumber(value) && value <= max;\nvar isValidMin = (value, min) => isValidNumber(value) && value >= min;\nvar midValue = (min, max) => min + (max - min) / 2;\nvar props = createProps()([\n \"dir\",\n \"getRootNode\",\n \"id\",\n \"ids\",\n \"max\",\n \"min\",\n \"orientation\",\n \"translations\",\n \"value\",\n \"onValueChange\",\n \"defaultValue\",\n \"formatOptions\",\n \"locale\"\n]);\nvar splitProps = createSplitProps(props);\n\nexport { anatomy, connect, machine, props, splitProps };\n","var QrCodeDataType = /* @__PURE__ */ ((QrCodeDataType2) => {\n QrCodeDataType2[QrCodeDataType2[\"Border\"] = -1] = \"Border\";\n QrCodeDataType2[QrCodeDataType2[\"Data\"] = 0] = \"Data\";\n QrCodeDataType2[QrCodeDataType2[\"Function\"] = 1] = \"Function\";\n QrCodeDataType2[QrCodeDataType2[\"Position\"] = 2] = \"Position\";\n QrCodeDataType2[QrCodeDataType2[\"Timing\"] = 3] = \"Timing\";\n QrCodeDataType2[QrCodeDataType2[\"Alignment\"] = 4] = \"Alignment\";\n return QrCodeDataType2;\n})(QrCodeDataType || {});\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) => {\n __defNormalProp(obj, typeof key !== \"symbol\" ? key + \"\" : key, value);\n return value;\n};\nconst LOW = [0, 1];\nconst MEDIUM = [1, 0];\nconst QUARTILE = [2, 3];\nconst HIGH = [3, 2];\nconst EccMap = {\n L: LOW,\n M: MEDIUM,\n Q: QUARTILE,\n H: HIGH\n};\nconst NUMERIC_REGEX = /^[0-9]*$/;\nconst ALPHANUMERIC_REGEX = /^[A-Z0-9 $%*+.\\/:-]*$/;\nconst ALPHANUMERIC_CHARSET = \"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:\";\nconst MIN_VERSION = 1;\nconst MAX_VERSION = 40;\nconst PENALTY_N1 = 3;\nconst PENALTY_N2 = 3;\nconst PENALTY_N3 = 40;\nconst PENALTY_N4 = 10;\nconst ECC_CODEWORDS_PER_BLOCK = [\n // Version: (note that index 0 is for padding, and is set to an illegal value)\n // 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40 Error correction level\n [-1, 7, 10, 15, 20, 26, 18, 20, 24, 30, 18, 20, 24, 26, 30, 22, 24, 28, 30, 28, 28, 28, 28, 30, 30, 26, 28, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30],\n // Low\n [-1, 10, 16, 26, 18, 24, 16, 18, 22, 22, 26, 30, 22, 22, 24, 24, 28, 28, 26, 26, 26, 26, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28],\n // Medium\n [-1, 13, 22, 18, 26, 18, 24, 18, 22, 20, 24, 28, 26, 24, 20, 30, 24, 28, 28, 26, 30, 28, 30, 30, 30, 30, 28, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30],\n // Quartile\n [-1, 17, 28, 22, 16, 22, 28, 26, 26, 24, 28, 24, 28, 22, 24, 24, 30, 28, 28, 26, 28, 30, 24, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30]\n // High\n];\nconst NUM_ERROR_CORRECTION_BLOCKS = [\n // Version: (note that index 0 is for padding, and is set to an illegal value)\n // 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40 Error correction level\n [-1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 4, 4, 4, 4, 4, 6, 6, 6, 6, 7, 8, 8, 9, 9, 10, 12, 12, 12, 13, 14, 15, 16, 17, 18, 19, 19, 20, 21, 22, 24, 25],\n // Low\n [-1, 1, 1, 1, 2, 2, 4, 4, 4, 5, 5, 5, 8, 9, 9, 10, 10, 11, 13, 14, 16, 17, 17, 18, 20, 21, 23, 25, 26, 28, 29, 31, 33, 35, 37, 38, 40, 43, 45, 47, 49],\n // Medium\n [-1, 1, 1, 2, 2, 4, 4, 6, 6, 8, 8, 8, 10, 12, 16, 12, 17, 16, 18, 21, 20, 23, 23, 25, 27, 29, 34, 34, 35, 38, 40, 43, 45, 48, 51, 53, 56, 59, 62, 65, 68],\n // Quartile\n [-1, 1, 1, 2, 4, 4, 4, 5, 6, 8, 8, 11, 11, 16, 16, 18, 16, 19, 21, 25, 25, 25, 34, 30, 32, 35, 37, 40, 42, 45, 48, 51, 54, 57, 60, 63, 66, 70, 74, 77, 81]\n // High\n];\nclass QrCode {\n /* -- Constructor (low level) and fields -- */\n // Creates a new QR Code with the given version number,\n // error correction level, data codeword bytes, and mask number.\n // This is a low-level API that most users should not use directly.\n // A mid-level API is the encodeSegments() function.\n constructor(version, ecc, dataCodewords, msk) {\n this.version = version;\n this.ecc = ecc;\n /* -- Fields -- */\n // The width and height of this QR Code, measured in modules, between\n // 21 and 177 (inclusive). This is equal to version * 4 + 17.\n __publicField(this, \"size\");\n // The index of the mask pattern used in this QR Code, which is between 0 and 7 (inclusive).\n // Even if a QR Code is created with automatic masking requested (mask = -1),\n // the resulting object still has a mask value between 0 and 7.\n __publicField(this, \"mask\");\n // The modules of this QR Code (false = light, true = dark).\n // Immutable after constructor finishes. Accessed through getModule().\n __publicField(this, \"modules\", []);\n __publicField(this, \"types\", []);\n if (version < MIN_VERSION || version > MAX_VERSION)\n throw new RangeError(\"Version value out of range\");\n if (msk < -1 || msk > 7)\n throw new RangeError(\"Mask value out of range\");\n this.size = version * 4 + 17;\n const row = Array.from({ length: this.size }, () => false);\n for (let i = 0; i < this.size; i++) {\n this.modules.push(row.slice());\n this.types.push(row.map(() => 0));\n }\n this.drawFunctionPatterns();\n const allCodewords = this.addEccAndInterleave(dataCodewords);\n this.drawCodewords(allCodewords);\n if (msk === -1) {\n let minPenalty = 1e9;\n for (let i = 0; i < 8; i++) {\n this.applyMask(i);\n this.drawFormatBits(i);\n const penalty = this.getPenaltyScore();\n if (penalty < minPenalty) {\n msk = i;\n minPenalty = penalty;\n }\n this.applyMask(i);\n }\n }\n this.mask = msk;\n this.applyMask(msk);\n this.drawFormatBits(msk);\n }\n /* -- Accessor methods -- */\n // Returns the color of the module (pixel) at the given coordinates, which is false\n // for light or true for dark. The top left corner has the coordinates (x=0, y=0).\n // If the given coordinates are out of bounds, then false (light) is returned.\n getModule(x, y) {\n return x >= 0 && x < this.size && y >= 0 && y < this.size && this.modules[y][x];\n }\n /* -- Private helper methods for constructor: Drawing function modules -- */\n // Reads this object's version field, and draws and marks all function modules.\n drawFunctionPatterns() {\n for (let i = 0; i < this.size; i++) {\n this.setFunctionModule(6, i, i % 2 === 0, QrCodeDataType.Timing);\n this.setFunctionModule(i, 6, i % 2 === 0, QrCodeDataType.Timing);\n }\n this.drawFinderPattern(3, 3);\n this.drawFinderPattern(this.size - 4, 3);\n this.drawFinderPattern(3, this.size - 4);\n const alignPatPos = this.getAlignmentPatternPositions();\n const numAlign = alignPatPos.length;\n for (let i = 0; i < numAlign; i++) {\n for (let j = 0; j < numAlign; j++) {\n if (!(i === 0 && j === 0 || i === 0 && j === numAlign - 1 || i === numAlign - 1 && j === 0))\n this.drawAlignmentPattern(alignPatPos[i], alignPatPos[j]);\n }\n }\n this.drawFormatBits(0);\n this.drawVersion();\n }\n // Draws two copies of the format bits (with its own error correction code)\n // based on the given mask and this object's error correction level field.\n drawFormatBits(mask) {\n const data = this.ecc[1] << 3 | mask;\n let rem = data;\n for (let i = 0; i < 10; i++)\n rem = rem << 1 ^ (rem >>> 9) * 1335;\n const bits = (data << 10 | rem) ^ 21522;\n for (let i = 0; i <= 5; i++)\n this.setFunctionModule(8, i, getBit(bits, i));\n this.setFunctionModule(8, 7, getBit(bits, 6));\n this.setFunctionModule(8, 8, getBit(bits, 7));\n this.setFunctionModule(7, 8, getBit(bits, 8));\n for (let i = 9; i < 15; i++)\n this.setFunctionModule(14 - i, 8, getBit(bits, i));\n for (let i = 0; i < 8; i++)\n this.setFunctionModule(this.size - 1 - i, 8, getBit(bits, i));\n for (let i = 8; i < 15; i++)\n this.setFunctionModule(8, this.size - 15 + i, getBit(bits, i));\n this.setFunctionModule(8, this.size - 8, true);\n }\n // Draws two copies of the version bits (with its own error correction code),\n // based on this object's version field, iff 7 <= version <= 40.\n drawVersion() {\n if (this.version < 7)\n return;\n let rem = this.version;\n for (let i = 0; i < 12; i++)\n rem = rem << 1 ^ (rem >>> 11) * 7973;\n const bits = this.version << 12 | rem;\n for (let i = 0; i < 18; i++) {\n const color = getBit(bits, i);\n const a = this.size - 11 + i % 3;\n const b = Math.floor(i / 3);\n this.setFunctionModule(a, b, color);\n this.setFunctionModule(b, a, color);\n }\n }\n // Draws a 9*9 finder pattern including the border separator,\n // with the center module at (x, y). Modules can be out of bounds.\n drawFinderPattern(x, y) {\n for (let dy = -4; dy <= 4; dy++) {\n for (let dx = -4; dx <= 4; dx++) {\n const dist = Math.max(Math.abs(dx), Math.abs(dy));\n const xx = x + dx;\n const yy = y + dy;\n if (xx >= 0 && xx < this.size && yy >= 0 && yy < this.size)\n this.setFunctionModule(xx, yy, dist !== 2 && dist !== 4, QrCodeDataType.Position);\n }\n }\n }\n // Draws a 5*5 alignment pattern, with the center module\n // at (x, y). All modules must be in bounds.\n drawAlignmentPattern(x, y) {\n for (let dy = -2; dy <= 2; dy++) {\n for (let dx = -2; dx <= 2; dx++) {\n this.setFunctionModule(\n x + dx,\n y + dy,\n Math.max(Math.abs(dx), Math.abs(dy)) !== 1,\n QrCodeDataType.Alignment\n );\n }\n }\n }\n // Sets the color of a module and marks it as a function module.\n // Only used by the constructor. Coordinates must be in bounds.\n setFunctionModule(x, y, isDark, type = QrCodeDataType.Function) {\n this.modules[y][x] = isDark;\n this.types[y][x] = type;\n }\n /* -- Private helper methods for constructor: Codewords and masking -- */\n // Returns a new byte string representing the given data with the appropriate error correction\n // codewords appended to it, based on this object's version and error correction level.\n addEccAndInterleave(data) {\n const ver = this.version;\n const ecl = this.ecc;\n if (data.length !== getNumDataCodewords(ver, ecl))\n throw new RangeError(\"Invalid argument\");\n const numBlocks = NUM_ERROR_CORRECTION_BLOCKS[ecl[0]][ver];\n const blockEccLen = ECC_CODEWORDS_PER_BLOCK[ecl[0]][ver];\n const rawCodewords = Math.floor(getNumRawDataModules(ver) / 8);\n const numShortBlocks = numBlocks - rawCodewords % numBlocks;\n const shortBlockLen = Math.floor(rawCodewords / numBlocks);\n const blocks = [];\n const rsDiv = reedSolomonComputeDivisor(blockEccLen);\n for (let i = 0, k = 0; i < numBlocks; i++) {\n const dat = data.slice(k, k + shortBlockLen - blockEccLen + (i < numShortBlocks ? 0 : 1));\n k += dat.length;\n const ecc = reedSolomonComputeRemainder(dat, rsDiv);\n if (i < numShortBlocks)\n dat.push(0);\n blocks.push(dat.concat(ecc));\n }\n const result = [];\n for (let i = 0; i < blocks[0].length; i++) {\n blocks.forEach((block, j) => {\n if (i !== shortBlockLen - blockEccLen || j >= numShortBlocks)\n result.push(block[i]);\n });\n }\n return result;\n }\n // Draws the given sequence of 8-bit codewords (data and error correction) onto the entire\n // data area of this QR Code. Function modules need to be marked off before this is called.\n drawCodewords(data) {\n if (data.length !== Math.floor(getNumRawDataModules(this.version) / 8))\n throw new RangeError(\"Invalid argument\");\n let i = 0;\n for (let right = this.size - 1; right >= 1; right -= 2) {\n if (right === 6)\n right = 5;\n for (let vert = 0; vert < this.size; vert++) {\n for (let j = 0; j < 2; j++) {\n const x = right - j;\n const upward = (right + 1 & 2) === 0;\n const y = upward ? this.size - 1 - vert : vert;\n if (!this.types[y][x] && i < data.length * 8) {\n this.modules[y][x] = getBit(data[i >>> 3], 7 - (i & 7));\n i++;\n }\n }\n }\n }\n }\n // XORs the codeword modules in this QR Code with the given mask pattern.\n // The function modules must be marked and the codeword bits must be drawn\n // before masking. Due to the arithmetic of XOR, calling applyMask() with\n // the same mask value a second time will undo the mask. A final well-formed\n // QR Code needs exactly one (not zero, two, etc.) mask applied.\n applyMask(mask) {\n if (mask < 0 || mask > 7)\n throw new RangeError(\"Mask value out of range\");\n for (let y = 0; y < this.size; y++) {\n for (let x = 0; x < this.size; x++) {\n let invert;\n switch (mask) {\n case 0:\n invert = (x + y) % 2 === 0;\n break;\n case 1:\n invert = y % 2 === 0;\n break;\n case 2:\n invert = x % 3 === 0;\n break;\n case 3:\n invert = (x + y) % 3 === 0;\n break;\n case 4:\n invert = (Math.floor(x / 3) + Math.floor(y / 2)) % 2 === 0;\n break;\n case 5:\n invert = x * y % 2 + x * y % 3 === 0;\n break;\n case 6:\n invert = (x * y % 2 + x * y % 3) % 2 === 0;\n break;\n case 7:\n invert = ((x + y) % 2 + x * y % 3) % 2 === 0;\n break;\n default:\n throw new Error(\"Unreachable\");\n }\n if (!this.types[y][x] && invert)\n this.modules[y][x] = !this.modules[y][x];\n }\n }\n }\n // Calculates and returns the penalty score based on state of this QR Code's current modules.\n // This is used by the automatic mask choice algorithm to find the mask pattern that yields the lowest score.\n getPenaltyScore() {\n let result = 0;\n for (let y = 0; y < this.size; y++) {\n let runColor = false;\n let runX = 0;\n const runHistory = [0, 0, 0, 0, 0, 0, 0];\n for (let x = 0; x < this.size; x++) {\n if (this.modules[y][x] === runColor) {\n runX++;\n if (runX === 5)\n result += PENALTY_N1;\n else if (runX > 5)\n result++;\n } else {\n this.finderPenaltyAddHistory(runX, runHistory);\n if (!runColor)\n result += this.finderPenaltyCountPatterns(runHistory) * PENALTY_N3;\n runColor = this.modules[y][x];\n runX = 1;\n }\n }\n result += this.finderPenaltyTerminateAndCount(runColor, runX, runHistory) * PENALTY_N3;\n }\n for (let x = 0; x < this.size; x++) {\n let runColor = false;\n let runY = 0;\n const runHistory = [0, 0, 0, 0, 0, 0, 0];\n for (let y = 0; y < this.size; y++) {\n if (this.modules[y][x] === runColor) {\n runY++;\n if (runY === 5)\n result += PENALTY_N1;\n else if (runY > 5)\n result++;\n } else {\n this.finderPenaltyAddHistory(runY, runHistory);\n if (!runColor)\n result += this.finderPenaltyCountPatterns(runHistory) * PENALTY_N3;\n runColor = this.modules[y][x];\n runY = 1;\n }\n }\n result += this.finderPenaltyTerminateAndCount(runColor, runY, runHistory) * PENALTY_N3;\n }\n for (let y = 0; y < this.size - 1; y++) {\n for (let x = 0; x < this.size - 1; x++) {\n const color = this.modules[y][x];\n if (color === this.modules[y][x + 1] && color === this.modules[y + 1][x] && color === this.modules[y + 1][x + 1])\n result += PENALTY_N2;\n }\n }\n let dark = 0;\n for (const row of this.modules)\n dark = row.reduce((sum, color) => sum + (color ? 1 : 0), dark);\n const total = this.size * this.size;\n const k = Math.ceil(Math.abs(dark * 20 - total * 10) / total) - 1;\n result += k * PENALTY_N4;\n return result;\n }\n /* -- Private helper functions -- */\n // Returns an ascending list of positions of alignment patterns for this version number.\n // Each position is in the range [0,177), and are used on both the x and y axes.\n // This could be implemented as lookup table of 40 variable-length lists of integers.\n getAlignmentPatternPositions() {\n if (this.version === 1) {\n return [];\n } else {\n const numAlign = Math.floor(this.version / 7) + 2;\n const step = this.version === 32 ? 26 : Math.ceil((this.version * 4 + 4) / (numAlign * 2 - 2)) * 2;\n const result = [6];\n for (let pos = this.size - 7; result.length < numAlign; pos -= step)\n result.splice(1, 0, pos);\n return result;\n }\n }\n // Can only be called immediately after a light run is added, and\n // returns either 0, 1, or 2. A helper function for getPenaltyScore().\n finderPenaltyCountPatterns(runHistory) {\n const n = runHistory[1];\n const core = n > 0 && runHistory[2] === n && runHistory[3] === n * 3 && runHistory[4] === n && runHistory[5] === n;\n return (core && runHistory[0] >= n * 4 && runHistory[6] >= n ? 1 : 0) + (core && runHistory[6] >= n * 4 && runHistory[0] >= n ? 1 : 0);\n }\n // Must be called at the end of a line (row or column) of modules. A helper function for getPenaltyScore().\n finderPenaltyTerminateAndCount(currentRunColor, currentRunLength, runHistory) {\n if (currentRunColor) {\n this.finderPenaltyAddHistory(currentRunLength, runHistory);\n currentRunLength = 0;\n }\n currentRunLength += this.size;\n this.finderPenaltyAddHistory(currentRunLength, runHistory);\n return this.finderPenaltyCountPatterns(runHistory);\n }\n // Pushes the given value to the front and drops the last value. A helper function for getPenaltyScore().\n finderPenaltyAddHistory(currentRunLength, runHistory) {\n if (runHistory[0] === 0)\n currentRunLength += this.size;\n runHistory.pop();\n runHistory.unshift(currentRunLength);\n }\n}\nfunction appendBits(val, len, bb) {\n if (len < 0 || len > 31 || val >>> len !== 0)\n throw new RangeError(\"Value out of range\");\n for (let i = len - 1; i >= 0; i--)\n bb.push(val >>> i & 1);\n}\nfunction getBit(x, i) {\n return (x >>> i & 1) !== 0;\n}\nclass QrSegment {\n // Creates a new QR Code segment with the given attributes and data.\n // The character count (numChars) must agree with the mode and the bit buffer length,\n // but the constraint isn't checked. The given bit buffer is cloned and stored.\n constructor(mode, numChars, bitData) {\n this.mode = mode;\n this.numChars = numChars;\n this.bitData = bitData;\n if (numChars < 0)\n throw new RangeError(\"Invalid argument\");\n this.bitData = bitData.slice();\n }\n /* -- Methods -- */\n // Returns a new copy of the data bits of this segment.\n getData() {\n return this.bitData.slice();\n }\n}\nconst MODE_NUMERIC = [1, 10, 12, 14];\nconst MODE_ALPHANUMERIC = [2, 9, 11, 13];\nconst MODE_BYTE = [4, 8, 16, 16];\nfunction numCharCountBits(mode, ver) {\n return mode[Math.floor((ver + 7) / 17) + 1];\n}\nfunction makeBytes(data) {\n const bb = [];\n for (const b of data)\n appendBits(b, 8, bb);\n return new QrSegment(MODE_BYTE, data.length, bb);\n}\nfunction makeNumeric(digits) {\n if (!isNumeric(digits))\n throw new RangeError(\"String contains non-numeric characters\");\n const bb = [];\n for (let i = 0; i < digits.length; ) {\n const n = Math.min(digits.length - i, 3);\n appendBits(Number.parseInt(digits.substring(i, i + n), 10), n * 3 + 1, bb);\n i += n;\n }\n return new QrSegment(MODE_NUMERIC, digits.length, bb);\n}\nfunction makeAlphanumeric(text) {\n if (!isAlphanumeric(text))\n throw new RangeError(\"String contains unencodable characters in alphanumeric mode\");\n const bb = [];\n let i;\n for (i = 0; i + 2 <= text.length; i += 2) {\n let temp = ALPHANUMERIC_CHARSET.indexOf(text.charAt(i)) * 45;\n temp += ALPHANUMERIC_CHARSET.indexOf(text.charAt(i + 1));\n appendBits(temp, 11, bb);\n }\n if (i < text.length)\n appendBits(ALPHANUMERIC_CHARSET.indexOf(text.charAt(i)), 6, bb);\n return new QrSegment(MODE_ALPHANUMERIC, text.length, bb);\n}\nfunction makeSegments(text) {\n if (text === \"\")\n return [];\n else if (isNumeric(text))\n return [makeNumeric(text)];\n else if (isAlphanumeric(text))\n return [makeAlphanumeric(text)];\n else\n return [makeBytes(toUtf8ByteArray(text))];\n}\nfunction isNumeric(text) {\n return NUMERIC_REGEX.test(text);\n}\nfunction isAlphanumeric(text) {\n return ALPHANUMERIC_REGEX.test(text);\n}\nfunction getTotalBits(segs, version) {\n let result = 0;\n for (const seg of segs) {\n const ccbits = numCharCountBits(seg.mode, version);\n if (seg.numChars >= 1 << ccbits)\n return Number.POSITIVE_INFINITY;\n result += 4 + ccbits + seg.bitData.length;\n }\n return result;\n}\nfunction toUtf8ByteArray(str) {\n str = encodeURI(str);\n const result = [];\n for (let i = 0; i < str.length; i++) {\n if (str.charAt(i) !== \"%\") {\n result.push(str.charCodeAt(i));\n } else {\n result.push(Number.parseInt(str.substring(i + 1, i + 3), 16));\n i += 2;\n }\n }\n return result;\n}\nfunction getNumRawDataModules(ver) {\n if (ver < MIN_VERSION || ver > MAX_VERSION)\n throw new RangeError(\"Version number out of range\");\n let result = (16 * ver + 128) * ver + 64;\n if (ver >= 2) {\n const numAlign = Math.floor(ver / 7) + 2;\n result -= (25 * numAlign - 10) * numAlign - 55;\n if (ver >= 7)\n result -= 36;\n }\n return result;\n}\nfunction getNumDataCodewords(ver, ecl) {\n return Math.floor(getNumRawDataModules(ver) / 8) - ECC_CODEWORDS_PER_BLOCK[ecl[0]][ver] * NUM_ERROR_CORRECTION_BLOCKS[ecl[0]][ver];\n}\nfunction reedSolomonComputeDivisor(degree) {\n if (degree < 1 || degree > 255)\n throw new RangeError(\"Degree out of range\");\n const result = [];\n for (let i = 0; i < degree - 1; i++)\n result.push(0);\n result.push(1);\n let root = 1;\n for (let i = 0; i < degree; i++) {\n for (let j = 0; j < result.length; j++) {\n result[j] = reedSolomonMultiply(result[j], root);\n if (j + 1 < result.length)\n result[j] ^= result[j + 1];\n }\n root = reedSolomonMultiply(root, 2);\n }\n return result;\n}\nfunction reedSolomonComputeRemainder(data, divisor) {\n const result = divisor.map((_) => 0);\n for (const b of data) {\n const factor = b ^ result.shift();\n result.push(0);\n divisor.forEach((coef, i) => result[i] ^= reedSolomonMultiply(coef, factor));\n }\n return result;\n}\nfunction reedSolomonMultiply(x, y) {\n if (x >>> 8 !== 0 || y >>> 8 !== 0)\n throw new RangeError(\"Byte out of range\");\n let z = 0;\n for (let i = 7; i >= 0; i--) {\n z = z << 1 ^ (z >>> 7) * 285;\n z ^= (y >>> i & 1) * x;\n }\n return z;\n}\nfunction encodeSegments(segs, ecl, minVersion = 1, maxVersion = 40, mask = -1, boostEcl = true) {\n if (!(MIN_VERSION <= minVersion && minVersion <= maxVersion && maxVersion <= MAX_VERSION) || mask < -1 || mask > 7)\n throw new RangeError(\"Invalid value\");\n let version;\n let dataUsedBits;\n for (version = minVersion; ; version++) {\n const dataCapacityBits2 = getNumDataCodewords(version, ecl) * 8;\n const usedBits = getTotalBits(segs, version);\n if (usedBits <= dataCapacityBits2) {\n dataUsedBits = usedBits;\n break;\n }\n if (version >= maxVersion)\n throw new RangeError(\"Data too long\");\n }\n for (const newEcl of [MEDIUM, QUARTILE, HIGH]) {\n if (boostEcl && dataUsedBits <= getNumDataCodewords(version, newEcl) * 8)\n ecl = newEcl;\n }\n const bb = [];\n for (const seg of segs) {\n appendBits(seg.mode[0], 4, bb);\n appendBits(seg.numChars, numCharCountBits(seg.mode, version), bb);\n for (const b of seg.getData())\n bb.push(b);\n }\n const dataCapacityBits = getNumDataCodewords(version, ecl) * 8;\n appendBits(0, Math.min(4, dataCapacityBits - bb.length), bb);\n appendBits(0, (8 - bb.length % 8) % 8, bb);\n for (let padByte = 236; bb.length < dataCapacityBits; padByte ^= 236 ^ 17)\n appendBits(padByte, 8, bb);\n const dataCodewords = Array.from({ length: Math.ceil(bb.length / 8) }, () => 0);\n bb.forEach((b, i) => dataCodewords[i >>> 3] |= b << 7 - (i & 7));\n return new QrCode(version, ecl, dataCodewords, mask);\n}\n\nfunction encode(data, options) {\n const {\n ecc = \"L\",\n boostEcc = false,\n minVersion = 1,\n maxVersion = 40,\n maskPattern = -1,\n border = 1\n } = options || {};\n const segment = typeof data === \"string\" ? makeSegments(data) : Array.isArray(data) ? [makeBytes(data)] : void 0;\n if (!segment)\n throw new Error(`uqr only supports encoding string and binary data, but got: ${typeof data}`);\n const qr = encodeSegments(\n segment,\n EccMap[ecc],\n minVersion,\n maxVersion,\n maskPattern,\n boostEcc\n );\n const result = addBorder({\n version: qr.version,\n maskPattern: qr.mask,\n size: qr.size,\n data: qr.modules,\n types: qr.types\n }, border);\n if (options?.invert)\n result.data = result.data.map((row) => row.map((mod) => !mod));\n options?.onEncoded?.(result);\n return result;\n}\nfunction addBorder(input, border = 1) {\n if (!border)\n return input;\n const { size } = input;\n const newSize = size + border * 2;\n input.size = newSize;\n input.data.forEach((row) => {\n for (let i = 0; i < border; i++) {\n row.unshift(false);\n row.push(false);\n }\n });\n for (let i = 0; i < border; i++) {\n input.data.unshift(Array.from({ length: newSize }, (_) => false));\n input.data.push(Array.from({ length: newSize }, (_) => false));\n }\n const b = QrCodeDataType.Border;\n input.types.forEach((row) => {\n for (let i = 0; i < border; i++) {\n row.unshift(b);\n row.push(b);\n }\n });\n for (let i = 0; i < border; i++) {\n input.types.unshift(Array.from({ length: newSize }, (_) => b));\n input.types.push(Array.from({ length: newSize }, (_) => b));\n }\n return input;\n}\nfunction getDataAt(data, x, y, defaults = false) {\n if (x < 0 || y < 0 || x >= data.length || y >= data.length)\n return defaults;\n return data[y][x];\n}\n\nfunction renderUnicode(data, options = {}) {\n const {\n whiteChar = \"\\u2588\",\n blackChar = \"\\u2591\"\n } = options;\n const result = encode(data, options);\n return result.data.map((row) => {\n return row.map((mod) => mod ? blackChar : whiteChar).join(\"\");\n }).join(\"\\n\");\n}\nfunction renderANSI(data, options = {}) {\n return renderUnicode(data, {\n ...options,\n blackChar: \"\\x1B[40m\\u3000\\x1B[0m\",\n whiteChar: \"\\x1B[47m\\u3000\\x1B[0m\"\n });\n}\nfunction renderUnicodeCompact(data, options = {}) {\n const platte = {\n WHITE_ALL: \"\\u2588\",\n WHITE_BLACK: \"\\u2580\",\n BLACK_WHITE: \"\\u2584\",\n BLACK_ALL: \" \"\n };\n const result = encode(data, options);\n const WHITE = false;\n const BLACK = true;\n const at = (x, y) => getDataAt(result.data, x, y, true);\n const lines = [];\n let line = \"\";\n for (let row = 0; row < result.size; row += 2) {\n for (let col = 0; col < result.size; col++) {\n if (at(col, row) === WHITE && at(col, row + 1) === WHITE)\n line += platte.WHITE_ALL;\n else if (at(col, row) === WHITE && at(col, row + 1) === BLACK)\n line += platte.WHITE_BLACK;\n else if (at(col, row) === BLACK && at(col, row + 1) === WHITE)\n line += platte.BLACK_WHITE;\n else\n line += platte.BLACK_ALL;\n }\n lines.push(line);\n line = \"\";\n }\n return lines.join(\"\\n\");\n}\n\nfunction renderSVG(data, options = {}) {\n const result = encode(data, options);\n const {\n pixelSize = 10,\n whiteColor = \"white\",\n blackColor = \"black\"\n } = options;\n const height = result.size * pixelSize;\n const width = result.size * pixelSize;\n let svg = `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 ${width} ${height}\">`;\n const pathes = [];\n for (let row = 0; row < result.size; row++) {\n for (let col = 0; col < result.size; col++) {\n const x = col * pixelSize;\n const y = row * pixelSize;\n if (result.data[row][col])\n pathes.push(`M${x},${y}h${pixelSize}v${pixelSize}h-${pixelSize}z`);\n }\n }\n svg += `<rect fill=\"${whiteColor}\" width=\"${width}\" height=\"${height}\"/>`;\n svg += `<path fill=\"${blackColor}\" d=\"${pathes.join(\"\")}\"/>`;\n svg += \"</svg>\";\n return svg;\n}\n\nexport { QrCodeDataType, encode, renderANSI, renderSVG, renderUnicode, renderUnicodeCompact };\n","import { createAnatomy } from '@zag-js/anatomy';\nimport { getDataUrl } from '@zag-js/dom-query';\nimport { createMachine, memo } from '@zag-js/core';\nimport { encode } from 'uqr';\nimport { createProps } from '@zag-js/types';\nimport { createSplitProps } from '@zag-js/utils';\n\n// src/qr-code.anatomy.ts\nvar anatomy = createAnatomy(\"qr-code\").parts(\"root\", \"frame\", \"pattern\", \"overlay\", \"downloadTrigger\");\nvar parts = anatomy.build();\n\n// src/qr-code.dom.ts\nvar getRootId = (scope) => scope.ids?.root ?? `qrcode:${scope.id}:root`;\nvar getFrameId = (scope) => scope.ids?.frame ?? `qrcode:${scope.id}:frame`;\nvar getFrameEl = (scope) => scope.getById(getFrameId(scope));\n\n// src/qr-code.connect.ts\nfunction connect(service, normalize) {\n const { context, computed, send, scope, prop } = service;\n const encoded = computed(\"encoded\");\n const pixelSize = prop(\"pixelSize\");\n const height = encoded.size * pixelSize;\n const width = encoded.size * pixelSize;\n const paths = [];\n for (let row = 0; row < encoded.size; row++) {\n for (let col = 0; col < encoded.size; col++) {\n const x = col * pixelSize;\n const y = row * pixelSize;\n if (encoded.data[row][col]) {\n paths.push(`M${x},${y}h${pixelSize}v${pixelSize}h-${pixelSize}z`);\n }\n }\n }\n return {\n value: context.get(\"value\"),\n setValue(value) {\n send({ type: \"VALUE.SET\", value });\n },\n getDataUrl(type, quality) {\n const svgEl = getFrameEl(scope);\n return getDataUrl(svgEl, { type, quality });\n },\n getRootProps() {\n return normalize.element({\n id: getRootId(scope),\n ...parts.root.attrs,\n style: {\n \"--qrcode-pixel-size\": `${pixelSize}px`,\n \"--qrcode-width\": `${width}px`,\n \"--qrcode-height\": `${height}px`,\n position: \"relative\"\n }\n });\n },\n getFrameProps() {\n return normalize.svg({\n id: getFrameId(scope),\n ...parts.frame.attrs,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: `0 0 ${width} ${height}`\n });\n },\n getPatternProps() {\n return normalize.path({\n d: paths.join(\"\"),\n ...parts.pattern.attrs\n });\n },\n getOverlayProps() {\n return normalize.element({\n ...parts.overlay.attrs,\n style: {\n position: \"absolute\",\n top: \"50%\",\n left: \"50%\",\n translate: \"-50% -50%\"\n }\n });\n },\n getDownloadTriggerProps(props2) {\n return normalize.button({\n type: \"button\",\n ...parts.downloadTrigger.attrs,\n onClick(event) {\n if (event.defaultPrevented) return;\n send({ type: \"DOWNLOAD_TRIGGER.CLICK\", ...props2 });\n }\n });\n }\n };\n}\nvar machine = createMachine({\n props({ props: props2 }) {\n return {\n defaultValue: \"\",\n pixelSize: 10,\n ...props2\n };\n },\n initialState() {\n return \"idle\";\n },\n context({ prop, bindable }) {\n return {\n value: bindable(() => ({\n value: prop(\"value\"),\n defaultValue: prop(\"defaultValue\"),\n onChange(value) {\n prop(\"onValueChange\")?.({ value });\n }\n }))\n };\n },\n computed: {\n encoded: memo(\n ({ context, prop }) => [context.get(\"value\"), prop(\"encoding\")],\n (value, encoding) => encode(value, encoding)\n )\n },\n states: {\n idle: {\n on: {\n \"VALUE.SET\": {\n actions: [\"setValue\"]\n },\n \"DOWNLOAD_TRIGGER.CLICK\": {\n actions: [\"downloadQrCode\"]\n }\n }\n }\n },\n implementations: {\n actions: {\n setValue({ context, event }) {\n context.set(\"value\", event.value);\n },\n downloadQrCode({ event, scope }) {\n const { mimeType, quality, fileName } = event;\n const svgEl = getFrameEl(scope);\n const doc = scope.getDoc();\n getDataUrl(svgEl, { type: mimeType, quality }).then((dataUri) => {\n const a = doc.createElement(\"a\");\n a.href = dataUri;\n a.rel = \"noopener\";\n a.download = fileName;\n a.click();\n setTimeout(() => {\n a.remove();\n }, 0);\n });\n }\n }\n }\n});\nvar props = createProps()([\n \"ids\",\n \"defaultValue\",\n \"value\",\n \"id\",\n \"encoding\",\n \"dir\",\n \"getRootNode\",\n \"onValueChange\",\n \"pixelSize\"\n]);\nvar splitProps = createSplitProps(props);\n\nexport { anatomy, connect, machine, props, splitProps };\n","import { createAnatomy } from '@zag-js/anatomy';\nimport { raf, trackFormControl, dispatchInputValueEvent, query, dataAttr, getEventKey, getEventPoint, getRelativePoint, isLeftClick, ariaAttr } from '@zag-js/dom-query';\nimport { createMachine } from '@zag-js/core';\nimport { createProps } from '@zag-js/types';\nimport { createSplitProps } from '@zag-js/utils';\n\n// src/rating-group.anatomy.ts\nvar anatomy = createAnatomy(\"rating-group\").parts(\"root\", \"label\", \"item\", \"control\");\nvar parts = anatomy.build();\nvar getRootId = (ctx) => ctx.ids?.root ?? `rating:${ctx.id}`;\nvar getLabelId = (ctx) => ctx.ids?.label ?? `rating:${ctx.id}:label`;\nvar getHiddenInputId = (ctx) => ctx.ids?.hiddenInput ?? `rating:${ctx.id}:input`;\nvar getControlId = (ctx) => ctx.ids?.control ?? `rating:${ctx.id}:control`;\nvar getItemId = (ctx, id) => ctx.ids?.item?.(id) ?? `rating:${ctx.id}:item:${id}`;\nvar getControlEl = (ctx) => ctx.getById(getControlId(ctx));\nvar getRadioEl = (ctx, value) => {\n const selector = `[role=radio][aria-posinset='${Math.ceil(value)}']`;\n return query(getControlEl(ctx), selector);\n};\nvar getHiddenInputEl = (ctx) => ctx.getById(getHiddenInputId(ctx));\nvar dispatchChangeEvent = (ctx, value) => {\n const inputEl = getHiddenInputEl(ctx);\n if (!inputEl) return;\n dispatchInputValueEvent(inputEl, { value });\n};\n\n// src/rating-group.connect.ts\nfunction connect(service, normalize) {\n const { context, send, prop, scope, computed } = service;\n const interactive = computed(\"isInteractive\");\n const disabled = computed(\"isDisabled\");\n const readOnly = prop(\"readOnly\");\n const value = context.get(\"value\");\n const hoveredValue = context.get(\"hoveredValue\");\n const translations = prop(\"translations\");\n function getItemState(props2) {\n const currentValue = computed(\"isHovering\") ? hoveredValue : value;\n const equal = Math.ceil(currentValue) === props2.index;\n const highlighted = props2.index <= currentValue || equal;\n const half = equal && Math.abs(currentValue - props2.index) === 0.5;\n return {\n highlighted,\n half,\n checked: equal || value === -1 && props2.index === 1\n };\n }\n return {\n hovering: computed(\"isHovering\"),\n value,\n hoveredValue,\n count: prop(\"count\"),\n items: Array.from({ length: prop(\"count\") }).map((_, index) => index + 1),\n setValue(value2) {\n send({ type: \"SET_VALUE\", value: value2 });\n },\n clearValue() {\n send({ type: \"CLEAR_VALUE\" });\n },\n getRootProps() {\n return normalize.element({\n ...parts.root.attrs,\n dir: prop(\"dir\"),\n id: getRootId(scope)\n });\n },\n getHiddenInputProps() {\n return normalize.input({\n name: prop(\"name\"),\n form: prop(\"form\"),\n type: \"text\",\n hidden: true,\n disabled,\n readOnly,\n required: prop(\"required\"),\n id: getHiddenInputId(scope),\n defaultValue: value\n });\n },\n getLabelProps() {\n return normalize.label({\n ...parts.label.attrs,\n dir: prop(\"dir\"),\n id: getLabelId(scope),\n \"data-disabled\": dataAttr(disabled),\n htmlFor: getHiddenInputId(scope),\n onClick(event) {\n if (event.defaultPrevented) return;\n if (!interactive) return;\n event.preventDefault();\n const radioEl = getRadioEl(scope, Math.max(1, context.get(\"value\")));\n radioEl?.focus({ preventScroll: true });\n }\n });\n },\n getControlProps() {\n return normalize.element({\n id: getControlId(scope),\n ...parts.control.attrs,\n dir: prop(\"dir\"),\n role: \"radiogroup\",\n \"aria-orientation\": \"horizontal\",\n \"aria-labelledby\": getLabelId(scope),\n \"aria-readonly\": ariaAttr(readOnly),\n \"data-readonly\": dataAttr(readOnly),\n \"data-disabled\": dataAttr(disabled),\n onPointerMove(event) {\n if (!interactive) return;\n if (event.pointerType === \"touch\") return;\n send({ type: \"GROUP_POINTER_OVER\" });\n },\n onPointerLeave(event) {\n if (!interactive) return;\n if (event.pointerType === \"touch\") return;\n send({ type: \"GROUP_POINTER_LEAVE\" });\n }\n });\n },\n getItemState,\n getItemProps(props2) {\n const { index } = props2;\n const itemState = getItemState(props2);\n const valueText = translations.ratingValueText(index);\n return normalize.element({\n ...parts.item.attrs,\n dir: prop(\"dir\"),\n id: getItemId(scope, index.toString()),\n role: \"radio\",\n tabIndex: (() => {\n if (readOnly) return itemState.checked ? 0 : void 0;\n if (disabled) return void 0;\n return itemState.checked ? 0 : -1;\n })(),\n \"aria-roledescription\": \"rating\",\n \"aria-label\": valueText,\n \"aria-disabled\": disabled,\n \"data-disabled\": dataAttr(disabled),\n \"data-readonly\": dataAttr(readOnly),\n \"aria-setsize\": prop(\"count\"),\n \"aria-checked\": itemState.checked,\n \"data-checked\": dataAttr(itemState.checked),\n \"aria-posinset\": index,\n \"data-highlighted\": dataAttr(itemState.highlighted),\n \"data-half\": dataAttr(itemState.half),\n onPointerDown(event) {\n if (!interactive) return;\n if (!isLeftClick(event)) return;\n event.preventDefault();\n },\n onPointerMove(event) {\n if (!interactive) return;\n const point = getEventPoint(event);\n const relativePoint = getRelativePoint(point, event.currentTarget);\n const percentX = relativePoint.getPercentValue({\n orientation: \"horizontal\",\n dir: prop(\"dir\")\n });\n const isMidway = percentX < 0.5;\n send({ type: \"POINTER_OVER\", index, isMidway });\n },\n onKeyDown(event) {\n if (event.defaultPrevented) return;\n if (!interactive) return;\n const keyMap = {\n ArrowLeft() {\n send({ type: \"ARROW_LEFT\" });\n },\n ArrowRight() {\n send({ type: \"ARROW_RIGHT\" });\n },\n ArrowUp() {\n send({ type: \"ARROW_LEFT\" });\n },\n ArrowDown() {\n send({ type: \"ARROW_RIGHT\" });\n },\n Space() {\n send({ type: \"SPACE\", value: index });\n },\n Home() {\n send({ type: \"HOME\" });\n },\n End() {\n send({ type: \"END\" });\n }\n };\n const key = getEventKey(event, { dir: prop(\"dir\") });\n const exec = keyMap[key];\n if (exec) {\n event.preventDefault();\n exec(event);\n }\n },\n onClick() {\n if (!interactive) return;\n send({ type: \"CLICK\", value: index });\n },\n onFocus() {\n if (!interactive) return;\n send({ type: \"FOCUS\" });\n },\n onBlur() {\n if (!interactive) return;\n send({ type: \"BLUR\" });\n }\n });\n }\n };\n}\nvar machine = createMachine({\n props({ props: props2 }) {\n return {\n name: \"rating\",\n count: 5,\n dir: \"ltr\",\n defaultValue: -1,\n ...props2,\n translations: {\n ratingValueText: (index) => `${index} stars`,\n ...props2.translations\n }\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 hoveredValue: bindable(() => ({\n defaultValue: -1,\n onChange(value) {\n prop(\"onHoverChange\")?.({ hoveredValue: value });\n }\n })),\n fieldsetDisabled: bindable(() => ({\n defaultValue: false\n }))\n };\n },\n watch({ track, action, prop, context }) {\n track([() => prop(\"allowHalf\")], () => {\n action([\"roundValueIfNeeded\"]);\n });\n track([() => context.get(\"value\")], () => {\n action([\"dispatchChangeEvent\"]);\n });\n },\n computed: {\n isDisabled: ({ context, prop }) => !!prop(\"disabled\") || context.get(\"fieldsetDisabled\"),\n isInteractive: ({ computed, prop }) => !(computed(\"isDisabled\") || prop(\"readOnly\")),\n isHovering: ({ context }) => context.get(\"hoveredValue\") > -1\n },\n effects: [\"trackFormControlState\"],\n on: {\n SET_VALUE: {\n actions: [\"setValue\"]\n },\n CLEAR_VALUE: {\n actions: [\"clearValue\"]\n }\n },\n states: {\n idle: {\n entry: [\"clearHoveredValue\"],\n on: {\n GROUP_POINTER_OVER: {\n target: \"hover\"\n },\n FOCUS: {\n target: \"focus\"\n },\n CLICK: {\n actions: [\"setValue\", \"focusActiveRadio\"]\n }\n }\n },\n focus: {\n on: {\n POINTER_OVER: {\n actions: [\"setHoveredValue\"]\n },\n GROUP_POINTER_LEAVE: {\n actions: [\"clearHoveredValue\"]\n },\n BLUR: {\n target: \"idle\"\n },\n SPACE: {\n guard: \"isValueEmpty\",\n actions: [\"setValue\"]\n },\n CLICK: {\n actions: [\"setValue\", \"focusActiveRadio\"]\n },\n ARROW_LEFT: {\n actions: [\"setPrevValue\", \"focusActiveRadio\"]\n },\n ARROW_RIGHT: {\n actions: [\"setNextValue\", \"focusActiveRadio\"]\n },\n HOME: {\n actions: [\"setValueToMin\", \"focusActiveRadio\"]\n },\n END: {\n actions: [\"setValueToMax\", \"focusActiveRadio\"]\n }\n }\n },\n hover: {\n on: {\n POINTER_OVER: {\n actions: [\"setHoveredValue\"]\n },\n GROUP_POINTER_LEAVE: [\n {\n guard: \"isRadioFocused\",\n target: \"focus\",\n actions: [\"clearHoveredValue\"]\n },\n {\n target: \"idle\",\n actions: [\"clearHoveredValue\"]\n }\n ],\n CLICK: {\n actions: [\"setValue\", \"focusActiveRadio\"]\n }\n }\n }\n },\n implementations: {\n guards: {\n isInteractive: ({ prop }) => !(prop(\"disabled\") || prop(\"readOnly\")),\n isHoveredValueEmpty: ({ context }) => context.get(\"hoveredValue\") === -1,\n isValueEmpty: ({ context }) => context.get(\"value\") <= 0,\n isRadioFocused: ({ scope }) => !!getControlEl(scope)?.contains(scope.getActiveElement())\n },\n effects: {\n trackFormControlState({ context, scope }) {\n return trackFormControl(getHiddenInputEl(scope), {\n onFieldsetDisabledChange(disabled) {\n context.set(\"fieldsetDisabled\", disabled);\n },\n onFormReset() {\n context.set(\"value\", context.initial(\"value\"));\n }\n });\n }\n },\n actions: {\n clearHoveredValue({ context }) {\n context.set(\"hoveredValue\", -1);\n },\n focusActiveRadio({ scope, context }) {\n raf(() => getRadioEl(scope, context.get(\"value\"))?.focus());\n },\n setPrevValue({ context, prop }) {\n const factor = prop(\"allowHalf\") ? 0.5 : 1;\n context.set(\"value\", Math.max(0, context.get(\"value\") - factor));\n },\n setNextValue({ context, prop }) {\n const factor = prop(\"allowHalf\") ? 0.5 : 1;\n const value = context.get(\"value\") === -1 ? 0 : context.get(\"value\");\n context.set(\"value\", Math.min(prop(\"count\"), value + factor));\n },\n setValueToMin({ context }) {\n context.set(\"value\", 1);\n },\n setValueToMax({ context, prop }) {\n context.set(\"value\", prop(\"count\"));\n },\n setValue({ context, event }) {\n const hoveredValue = context.get(\"hoveredValue\");\n const value = hoveredValue === -1 ? event.value : hoveredValue;\n context.set(\"value\", value);\n },\n clearValue({ context }) {\n context.set(\"value\", -1);\n },\n setHoveredValue({ context, prop, event }) {\n const half = prop(\"allowHalf\") && event.isMidway;\n const factor = half ? 0.5 : 0;\n context.set(\"hoveredValue\", event.index - factor);\n },\n roundValueIfNeeded({ context, prop }) {\n if (prop(\"allowHalf\")) return;\n context.set(\"value\", Math.round(context.get(\"value\")));\n },\n dispatchChangeEvent({ context, scope }) {\n dispatchChangeEvent(scope, context.get(\"value\"));\n }\n }\n }\n});\nvar props = createProps()([\n \"allowHalf\",\n \"autoFocus\",\n \"count\",\n \"dir\",\n \"disabled\",\n \"form\",\n \"getRootNode\",\n \"id\",\n \"ids\",\n \"name\",\n \"onHoverChange\",\n \"onValueChange\",\n \"required\",\n \"readOnly\",\n \"translations\",\n \"value\",\n \"defaultValue\"\n]);\nvar splitProps = createSplitProps(props);\nvar itemProps = createProps()([\"index\"]);\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, 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 return getValueRanges(context.get(\"value\"), prop(\"min\"), prop(\"max\"), prop(\"minStepsBetweenThumbs\"))[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 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 return clampValue(snapValue, range.min, range.max);\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 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 prop(\"onValueChangeEnd\")?.({ value: context.get(\"value\") });\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":["getItemEntry","item","isDirectoryEntry","entry","isFileEntry","addRelativePath","file","path","getFileEntries","items","traverseDirectories","getDirectoryFiles","resolve","b","reader","entryPromises","readDirectoryEntries","entries","entries2","promises","resolve2","isMSEdge","win","downloadFile","options","type","name","doc","obj","fileName","url","anchor","isMIMEType","v","isExt","isValidMIME","getAcceptAttrString","accept","a","mimeType","ext","isFileEqual","file1","file2","isDefined","isValidFileSize","minSize","maxSize","isFileAccepted","types","baseMimeType","validType","isValidFileType","isAcceptable","i18nCache","Ins","formatterCache","locale","cacheKey","formatter","getNumberFormatter","formatNumber","bitPrefixes","bytePrefixes","formatBytes","bytes","unit","unitDisplay","prefix","index","_unit","_unitDisplay","anatomy","createAnatomy","parts","getRootId","ctx","getContentId","getTriggerId","getContentEl","connect","service","normalize","state","send","context","scope","prop","visible","open","width","height","disabled","skip","dir","nextOpen","dataAttr","event","machine","createMachine","bindable","track","action","cleanup","rafCleanup","raf","contentEl","animationName","getComputedStyle","onEnd","getEventTarget","restoreStyles","setStyle","nextTick","flush","refs","hidden","rect","createProps","__defProp","__defNormalProp","key","value","__publicField","generateRGB_R","orientation","zValue","maskImage","generateRGB_G","generateRGB_B","generateHSL_H","generateHSL_S","alphaValue","generateHSL_L","generateHSB_H","generateHSB_S","generateHSB_B","getColorAreaGradient","color","xChannel","yChannel","dirProp","zChannel","zMin","zMax","background","isHSL","isEqualObject","Color","channel","valueToCheck","minValue","maxValue","getValuePercent","percentToCheck","step","percentValue","getPercentValue","snapValueToStep","clone","clampValue","xyChannels","xCh","c","yCh","zCh","stepSize","_RGBColor","red","green","blue","alpha","colors","values","match","value2","num","format","min","brightness","chroma","saturation","hue","HSBColor","toFixedNumber","max","lightness","HSLColor","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","getLabelId","getHiddenInputId","getControlId","getPositionerId","getFormatSelectId","getAreaId","getAreaGradientId","getAreaThumbId","getChannelSliderTrackId","getChannelSliderThumbId","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","computed","areaValue","valueAsString","interactive","dragging","focused","getAreaChannels","channels","currentPlacement","popperStyles","getPlacementStyles","getSwatchTriggerState","channelValue","format2","formatValue","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","parse","colorString","and","createGuards","getContext","anchorEl","getPlacement","data","trackDismissableElement","inputEl","trackFormControl","trackPointerMove","disableTextSelection","sRGBHex","channelPercent","dispatchInputValueEvent","syncChannelInputs","currentAlpha","valueAsNumber","tryCatch","current","range","getInitialFocus","syncFormatSelect","currentValue","nextValue","channelInputEls","setElementValue","selectEl","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","colorPickerAnatomy","getPreviewId","getInputId","getSubmitTriggerId","getCancelTriggerId","getEditTriggerId","getInputEl","getPreviewEl","getSubmitTriggerEl","getCancelTriggerEl","getEditTriggerEl","readOnly","invalid","autoResize","translations","editing","placeholderProp","placeholder","empty","valueText","ariaAttr","isComposingEvent","localName","isApple","trackInteractOutside","target","el","contains","focusable","prev","getDropzoneId","getItemNameId","getItemSizeTextId","getItemPreviewId","getDropzoneEl","isEventWithFiles","isFilesWithinRange","incomingCount","getFilesFromEvent","files","acceptedFiles","rejectedFiles","accepted","acceptError","sizeMatch","sizeError","validateErrors","valid","errors","setInputFiles","getWindow","dataTransfer","allowDrop","count","cb","dt","acc","isSelfTarget","hasFiles","flatArray","onDragOver","onDrop","callAll","addDomEvent","params","$488c6ddbf4ef74c2$var$formatterCache","$488c6ddbf4ef74c2$var$supportsSignDisplay","$488c6ddbf4ef74c2$var$supportsUnit","$488c6ddbf4ef74c2$var$UNITS","$488c6ddbf4ef74c2$export$cc77c4ff7e8673c5","res","$488c6ddbf4ef74c2$export$711b50b3c525e0f2","_UNITS_unit","startParts","endParts","p","$488c6ddbf4ef74c2$var$getCachedNumberFormatter","numberingSystem","numberFormatter","numberFormat","signDisplay","needsPositiveSign","negative","noSign","minus","$6c7bd7858deea686$var$CURRENCY_SIGN_REGEX","$6c7bd7858deea686$var$NUMBERING_SYSTEMS","$6c7bd7858deea686$export$cd11ab140839f11d","$6c7bd7858deea686$var$getNumberParserImpl","$6c7bd7858deea686$var$numberParserCache","defaultParser","$6c7bd7858deea686$var$getCachedNumberParser","parser","$6c7bd7858deea686$var$NumberParserImpl","fullySanitizedValue","$6c7bd7858deea686$var$replaceAll","isNegative","newValue","_this_options_minimumFractionDigits","_this_options_maximumFractionDigits","$6c7bd7858deea686$var$getSymbols","$6c7bd7858deea686$var$nonLiteralParts","$6c7bd7858deea686$var$pluralNumbers","intlOptions","originalOptions","_allParts_find","_posAllParts_find","_decimalParts_find","_allParts_find1","symbolFormatter","allParts","posAllParts","pluralParts","_allParts_find_value","minusSign","plusSign","decimal","group","allPartsLiterals","$6c7bd7858deea686$var$escapeRegex","pluralPartsLiterals","sortedLiterals","literals","numerals","indexes","d","numeral","find","replace","string","getIncrementTriggerId","getDecrementTriggerId","getScrubberId","getCursorId","getIncrementTriggerEl","getDecrementTriggerEl","getCursorEl","getPressedTriggerEl","hint","btnEl","setupVirtualCursor","createVirtualCursor","preventTextSelection","html","body","getMousemoveValue","opts","isRtl","x","roundToDpr","y","newPoint","half","wrap","MAX_Z_INDEX","isIncrementDisabled","isDecrementDisabled","selectionStart","selectionEnd","dpr","recordCursor","beforeTxt","afterTxt","restoreCursor","selection","startPos","beforeLastChar","newIndex","createFormatter","createParser","NumberParser","parseValue","getDefaultStep","formatOptions","defaultStep","choose","guards","setup","getComputed","isValueAtMin","isValueAtMax","isValueWithinRange","memo","btn","observeAttributes","onWheel","requestPointerLock","onMousemove","onMouseup","incrementValue","decrementValue","reason","sel","cursorEl","getTrackId","getCircleId","percentAsString","indeterminate","progressState","getProgressState","progressbarProps","circleProps2","getCircleProps","circleProps","rootProps","midValue","isNumber","isValidNumber","isValidMax","isValidMin","QrCodeDataType","QrCodeDataType2","LOW","MEDIUM","QUARTILE","HIGH","EccMap","NUMERIC_REGEX","ALPHANUMERIC_REGEX","ALPHANUMERIC_CHARSET","MIN_VERSION","MAX_VERSION","PENALTY_N1","PENALTY_N2","PENALTY_N3","PENALTY_N4","ECC_CODEWORDS_PER_BLOCK","NUM_ERROR_CORRECTION_BLOCKS","QrCode","version","ecc","dataCodewords","msk","row","allCodewords","minPenalty","penalty","alignPatPos","numAlign","j","mask","rem","bits","getBit","dy","dx","dist","xx","yy","isDark","ver","ecl","getNumDataCodewords","numBlocks","blockEccLen","rawCodewords","getNumRawDataModules","numShortBlocks","shortBlockLen","blocks","rsDiv","reedSolomonComputeDivisor","dat","reedSolomonComputeRemainder","block","right","vert","invert","runColor","runX","runHistory","runY","dark","sum","total","pos","core","currentRunColor","currentRunLength","appendBits","len","bb","QrSegment","mode","numChars","bitData","MODE_NUMERIC","MODE_ALPHANUMERIC","MODE_BYTE","numCharCountBits","makeBytes","makeNumeric","digits","isNumeric","makeAlphanumeric","text","isAlphanumeric","temp","makeSegments","toUtf8ByteArray","getTotalBits","segs","seg","ccbits","degree","root","reedSolomonMultiply","divisor","_","factor","coef","z","encodeSegments","minVersion","maxVersion","boostEcl","dataUsedBits","dataCapacityBits2","usedBits","newEcl","dataCapacityBits","padByte","encode","boostEcc","maskPattern","border","segment","qr","addBorder","input","newSize","getFrameId","getFrameEl","encoded","pixelSize","paths","col","quality","svgEl","getDataUrl","encoding","dataUri","getRadioEl","dispatchChangeEvent","hoveredValue","equal","highlighted","isMidway","getThumbId","getRangeId","getValueTextId","getMarkerId","getThumbEl","getThumbEls","getFirstThumbEl","getPointValue","controlEl","getOffsetRect","getBounds","firstValue","lastThumb","getRangeOffsets","valuePercent","firstPercent","lastPercent","getRangeStyle","isVertical","getVerticalThumbOffset","getValue","getValueTransformer","getHorizontalThumbOffset","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","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,10,11,12,13,14,15,16]}