@televet/kibble-ui 4.0.1 → 5.0.0-beta.hotfix.1

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 (897) hide show
  1. package/dist/chunks/alert.types-BKSqs9qY.js +2 -0
  2. package/dist/chunks/alert.types-BKSqs9qY.js.map +1 -0
  3. package/dist/chunks/alert.types-C_ygg7fh.js +141 -0
  4. package/dist/chunks/alert.types-C_ygg7fh.js.map +1 -0
  5. package/dist/chunks/anatomy-BkGk10kB.js +2 -0
  6. package/dist/chunks/anatomy-BkGk10kB.js.map +1 -0
  7. package/dist/chunks/anatomy-zd4ecEFD.js +280 -0
  8. package/dist/chunks/anatomy-zd4ecEFD.js.map +1 -0
  9. package/dist/chunks/avatar.component-B1HGlwVW.js +2 -0
  10. package/dist/chunks/avatar.component-B1HGlwVW.js.map +1 -0
  11. package/dist/chunks/avatar.component-C-365mx3.js +404 -0
  12. package/dist/chunks/avatar.component-C-365mx3.js.map +1 -0
  13. package/dist/chunks/avatar.records-CxLCvZfG.js +2 -0
  14. package/dist/chunks/avatar.records-CxLCvZfG.js.map +1 -0
  15. package/dist/chunks/{index-Cv06PsSJ.js → avatar.records-EoZmO3VR.js} +21 -13
  16. package/dist/chunks/avatar.records-EoZmO3VR.js.map +1 -0
  17. package/dist/chunks/avatarGroup.component-B-ZOhj7i.js +75 -0
  18. package/dist/chunks/avatarGroup.component-B-ZOhj7i.js.map +1 -0
  19. package/dist/chunks/avatarGroup.component-CTBfGiSm.js +2 -0
  20. package/dist/chunks/avatarGroup.component-CTBfGiSm.js.map +1 -0
  21. package/dist/chunks/button.component-BO6oee_V.js +69 -0
  22. package/dist/chunks/button.component-BO6oee_V.js.map +1 -0
  23. package/dist/chunks/button.component-DjdgBXDC.js +2 -0
  24. package/dist/chunks/button.component-DjdgBXDC.js.map +1 -0
  25. package/dist/chunks/button.recipe-Bb0lptGi.js +613 -0
  26. package/dist/chunks/button.recipe-Bb0lptGi.js.map +1 -0
  27. package/dist/chunks/button.recipe-flk0XJTS.js +2 -0
  28. package/dist/chunks/button.recipe-flk0XJTS.js.map +1 -0
  29. package/dist/chunks/button.types-3lHElsln.js +2 -0
  30. package/dist/chunks/button.types-3lHElsln.js.map +1 -0
  31. package/dist/chunks/{button.types-BKXZNvN1.js → button.types-C9PpvmYR.js} +14 -9
  32. package/dist/chunks/button.types-C9PpvmYR.js.map +1 -0
  33. package/dist/chunks/buttonGroup.component-CowJsbr7.js +2 -0
  34. package/dist/chunks/buttonGroup.component-CowJsbr7.js.map +1 -0
  35. package/dist/chunks/buttonGroup.component-DUK2FgFn.js +70 -0
  36. package/dist/chunks/buttonGroup.component-DUK2FgFn.js.map +1 -0
  37. package/dist/chunks/calendar.component-CHIhplfO.js +18 -0
  38. package/dist/chunks/calendar.component-CHIhplfO.js.map +1 -0
  39. package/dist/chunks/calendar.component-tOoK1NrU.js +2 -0
  40. package/dist/chunks/calendar.component-tOoK1NrU.js.map +1 -0
  41. package/dist/chunks/card.component-B1AznjWF.js +55 -0
  42. package/dist/chunks/card.component-B1AznjWF.js.map +1 -0
  43. package/dist/chunks/card.component-BmBiYbMV.js +2 -0
  44. package/dist/chunks/card.component-BmBiYbMV.js.map +1 -0
  45. package/dist/chunks/center-Dmlzv1BW.js +20 -0
  46. package/dist/chunks/center-Dmlzv1BW.js.map +1 -0
  47. package/dist/chunks/center-kk61ArhQ.js +2 -0
  48. package/dist/chunks/center-kk61ArhQ.js.map +1 -0
  49. package/dist/chunks/characterCounter.component-CKDigkoD.js +2 -0
  50. package/dist/chunks/characterCounter.component-CKDigkoD.js.map +1 -0
  51. package/dist/chunks/characterCounter.component-Ch3P3GqC.js +82 -0
  52. package/dist/chunks/characterCounter.component-Ch3P3GqC.js.map +1 -0
  53. package/dist/chunks/{checkbox.anatomy-DC8fJdkY.js → checkbox.anatomy-BzZ0IkUF.js} +22 -22
  54. package/dist/chunks/{checkbox.anatomy-DC8fJdkY.js.map → checkbox.anatomy-BzZ0IkUF.js.map} +1 -1
  55. package/dist/chunks/{checkbox.anatomy-BNdLT4Qf.js → checkbox.anatomy-DM39E2Q9.js} +2 -2
  56. package/dist/chunks/{checkbox.anatomy-BNdLT4Qf.js.map → checkbox.anatomy-DM39E2Q9.js.map} +1 -1
  57. package/dist/chunks/checkbox.component-CiA3Z1zR.js +2 -0
  58. package/dist/chunks/{checkbox.component-DNOkXggb.js.map → checkbox.component-CiA3Z1zR.js.map} +1 -1
  59. package/dist/chunks/checkbox.component-DE35wBj-.js +269 -0
  60. package/dist/chunks/{checkbox.component-Dhjcu89D.js.map → checkbox.component-DE35wBj-.js.map} +1 -1
  61. package/dist/chunks/checkboxGroup.component-BGBd-roJ.js +2 -0
  62. package/dist/chunks/checkboxGroup.component-BGBd-roJ.js.map +1 -0
  63. package/dist/chunks/checkboxGroup.component-CYwGlktu.js +53 -0
  64. package/dist/chunks/checkboxGroup.component-CYwGlktu.js.map +1 -0
  65. package/dist/chunks/{config-B3QABP1-.js → config-Djkl1N81.js} +4 -4
  66. package/dist/chunks/{config-B3QABP1-.js.map → config-Djkl1N81.js.map} +1 -1
  67. package/dist/chunks/conversationCard.component-BrDGshOG.js +2 -0
  68. package/dist/chunks/conversationCard.component-BrDGshOG.js.map +1 -0
  69. package/dist/chunks/conversationCard.component-CMdqD3yN.js +331 -0
  70. package/dist/chunks/conversationCard.component-CMdqD3yN.js.map +1 -0
  71. package/dist/chunks/{create-recipe-context-CrEKmpj8.js → create-recipe-context-DfQ-MTih.js} +9 -9
  72. package/dist/chunks/{create-recipe-context-CrEKmpj8.js.map → create-recipe-context-DfQ-MTih.js.map} +1 -1
  73. package/dist/chunks/create-slot-recipe-context-D_FXDJGp.js +104 -0
  74. package/dist/chunks/create-slot-recipe-context-D_FXDJGp.js.map +1 -0
  75. package/dist/chunks/create-slot-recipe-context-HXE1VazG.js +2 -0
  76. package/dist/chunks/create-slot-recipe-context-HXE1VazG.js.map +1 -0
  77. package/dist/chunks/datePicker.component-C6cD1_HR.js +2 -0
  78. package/dist/chunks/datePicker.component-C6cD1_HR.js.map +1 -0
  79. package/dist/chunks/datePicker.component-eHU7IZgC.js +166 -0
  80. package/dist/chunks/datePicker.component-eHU7IZgC.js.map +1 -0
  81. package/dist/chunks/datePicker.provider-BWHE-9FA.js +3009 -0
  82. package/dist/chunks/datePicker.provider-BWHE-9FA.js.map +1 -0
  83. package/dist/chunks/datePicker.provider-DgarjPPd.js +15 -0
  84. package/dist/chunks/datePicker.provider-DgarjPPd.js.map +1 -0
  85. package/dist/chunks/dateTimePicker.component-Byjxg2lJ.js +317 -0
  86. package/dist/chunks/dateTimePicker.component-Byjxg2lJ.js.map +1 -0
  87. package/dist/chunks/dateTimePicker.component-REz9iX4S.js +2 -0
  88. package/dist/chunks/dateTimePicker.component-REz9iX4S.js.map +1 -0
  89. package/dist/chunks/{dialog-C51vaoYf.js → dialog-B9jifvV4.js} +37 -36
  90. package/dist/chunks/{dialog-C51vaoYf.js.map → dialog-B9jifvV4.js.map} +1 -1
  91. package/dist/chunks/dialog-CZFwddWp.js +2 -0
  92. package/dist/chunks/{dialog-BPhjKQkb.js.map → dialog-CZFwddWp.js.map} +1 -1
  93. package/dist/chunks/divider.component-BX3zyB7O.js +2 -0
  94. package/dist/chunks/divider.component-BX3zyB7O.js.map +1 -0
  95. package/dist/chunks/divider.component-CFOh4Nw3.js +45 -0
  96. package/dist/chunks/divider.component-CFOh4Nw3.js.map +1 -0
  97. package/dist/chunks/divider.types-6MEkMNbx.js +7 -0
  98. package/dist/chunks/divider.types-6MEkMNbx.js.map +1 -0
  99. package/dist/chunks/divider.types-DBNcs0IR.js +2 -0
  100. package/dist/chunks/divider.types-DBNcs0IR.js.map +1 -0
  101. package/dist/chunks/{empty-BU2EAux9.js → empty-DNH84khx.js} +3 -3
  102. package/dist/chunks/{empty-BU2EAux9.js.map → empty-DNH84khx.js.map} +1 -1
  103. package/dist/chunks/field.anatomy-Bhj7Mlr7.js +2 -0
  104. package/dist/chunks/field.anatomy-Bhj7Mlr7.js.map +1 -0
  105. package/dist/chunks/field.anatomy-C37GEr2p.js +16 -0
  106. package/dist/chunks/field.anatomy-C37GEr2p.js.map +1 -0
  107. package/dist/chunks/{format-BRt-TIiQ.js → format-CK7Imh-5.js} +2 -2
  108. package/dist/chunks/{format-BRt-TIiQ.js.map → format-CK7Imh-5.js.map} +1 -1
  109. package/dist/chunks/{format-DgHM6wFr.js → format-CqTHHSak.js} +3 -1
  110. package/dist/chunks/{format-DgHM6wFr.js.map → format-CqTHHSak.js.map} +1 -1
  111. package/dist/chunks/grid-item-BmCSQ38y.js +78 -0
  112. package/dist/chunks/grid-item-BmCSQ38y.js.map +1 -0
  113. package/dist/chunks/grid-item-CH3dbZHL.js +2 -0
  114. package/dist/chunks/grid-item-CH3dbZHL.js.map +1 -0
  115. package/dist/chunks/heading.component-7ikcgDco.js +18 -0
  116. package/dist/chunks/heading.component-7ikcgDco.js.map +1 -0
  117. package/dist/chunks/heading.component-DMAQO_-m.js +2 -0
  118. package/dist/chunks/heading.component-DMAQO_-m.js.map +1 -0
  119. package/dist/chunks/{icon-button-5UcFiA_W.js → icon-button-CcZMCNUJ.js} +3 -3
  120. package/dist/chunks/{icon-button-5UcFiA_W.js.map → icon-button-CcZMCNUJ.js.map} +1 -1
  121. package/dist/chunks/icon.component-B1hr5lLa.js +2 -0
  122. package/dist/chunks/icon.component-B1hr5lLa.js.map +1 -0
  123. package/dist/chunks/icon.component-PV_nHBId.js +32 -0
  124. package/dist/chunks/icon.component-PV_nHBId.js.map +1 -0
  125. package/dist/chunks/{icons-DQ5FafZQ.js → icons-CoSqruIn.js} +5 -5
  126. package/dist/chunks/{icons-DQ5FafZQ.js.map → icons-CoSqruIn.js.map} +1 -1
  127. package/dist/chunks/index-B-OGBT0w.js +2 -0
  128. package/dist/chunks/{index-BEfEzWJx.js.map → index-B-OGBT0w.js.map} +1 -1
  129. package/dist/chunks/index-B3xJnxjd.js +371 -0
  130. package/dist/chunks/index-B3xJnxjd.js.map +1 -0
  131. package/dist/chunks/index-BFUdiDZp.js +2 -0
  132. package/dist/chunks/{index-2glJ2faJ.js.map → index-BFUdiDZp.js.map} +1 -1
  133. package/dist/chunks/{index-CVJXrcei.js → index-BGd_2-DY.js} +29 -27
  134. package/dist/chunks/{index-CVJXrcei.js.map → index-BGd_2-DY.js.map} +1 -1
  135. package/dist/chunks/index-BXv9lkZC.js +4 -0
  136. package/dist/chunks/index-BXv9lkZC.js.map +1 -0
  137. package/dist/chunks/index-BbZjRFzg.js +265 -0
  138. package/dist/chunks/index-BbZjRFzg.js.map +1 -0
  139. package/dist/chunks/{index-CYXurbh4.js → index-BgFImxxe.js} +27 -25
  140. package/dist/chunks/{index-CYXurbh4.js.map → index-BgFImxxe.js.map} +1 -1
  141. package/dist/chunks/index-BoulS5Zg.js +2 -0
  142. package/dist/chunks/index-BoulS5Zg.js.map +1 -0
  143. package/dist/chunks/index-BrJtqTzN.js +4115 -0
  144. package/dist/chunks/index-BrJtqTzN.js.map +1 -0
  145. package/dist/chunks/index-C9UYIjEB.js +1584 -0
  146. package/dist/chunks/index-C9UYIjEB.js.map +1 -0
  147. package/dist/chunks/index-CQURjLlA.js +3 -0
  148. package/dist/chunks/index-CQURjLlA.js.map +1 -0
  149. package/dist/chunks/{index-BXJJKHzT.js → index-CbVKVxMW.js} +54 -52
  150. package/dist/chunks/{index-BXJJKHzT.js.map → index-CbVKVxMW.js.map} +1 -1
  151. package/dist/chunks/{index-CWhDtS-n.js → index-Cxrrsmf-.js} +17 -16
  152. package/dist/chunks/{index-CWhDtS-n.js.map → index-Cxrrsmf-.js.map} +1 -1
  153. package/dist/chunks/{index-BZBgTxer.js → index-D0DKQnEK.js} +11 -11
  154. package/dist/chunks/{index-BZBgTxer.js.map → index-D0DKQnEK.js.map} +1 -1
  155. package/dist/chunks/index-D1RhzPVz.js +984 -0
  156. package/dist/chunks/index-D1RhzPVz.js.map +1 -0
  157. package/dist/chunks/index-D3Q0mQNf.js +325 -0
  158. package/dist/chunks/index-D3Q0mQNf.js.map +1 -0
  159. package/dist/chunks/index-D6HBfqAu.js +2 -0
  160. package/dist/chunks/index-D6HBfqAu.js.map +1 -0
  161. package/dist/chunks/index-D6c4fMjg.js +2 -0
  162. package/dist/chunks/index-D6c4fMjg.js.map +1 -0
  163. package/dist/chunks/{index-CfqoBQoP.js → index-D7QT9KIZ.js} +9 -9
  164. package/dist/chunks/{index-CfqoBQoP.js.map → index-D7QT9KIZ.js.map} +1 -1
  165. package/dist/chunks/{index-WYcfOUFA.js → index-DIszpWqO.js} +2 -2
  166. package/dist/chunks/{index-WYcfOUFA.js.map → index-DIszpWqO.js.map} +1 -1
  167. package/dist/chunks/{index-D0HCo_Ly.js → index-DLe40do7.js} +2 -2
  168. package/dist/chunks/{index-D0HCo_Ly.js.map → index-DLe40do7.js.map} +1 -1
  169. package/dist/chunks/index-DS4KlAkI.js +371 -0
  170. package/dist/chunks/index-DS4KlAkI.js.map +1 -0
  171. package/dist/chunks/{index-nNZWP0FQ.js → index-DTVestnf.js} +2 -2
  172. package/dist/chunks/{index-nNZWP0FQ.js.map → index-DTVestnf.js.map} +1 -1
  173. package/dist/chunks/index-DVyODQn6.js +8 -0
  174. package/dist/chunks/index-DVyODQn6.js.map +1 -0
  175. package/dist/chunks/index-D_vndwae.js +3 -0
  176. package/dist/chunks/index-D_vndwae.js.map +1 -0
  177. package/dist/chunks/index-DfzXSlq1.js +2477 -0
  178. package/dist/chunks/index-DfzXSlq1.js.map +1 -0
  179. package/dist/chunks/{index-BhSvtzbY.js → index-QVc_GVoE.js} +13 -13
  180. package/dist/chunks/{index-BhSvtzbY.js.map → index-QVc_GVoE.js.map} +1 -1
  181. package/dist/chunks/index-Ts8g8jZd.js +2 -0
  182. package/dist/chunks/index-Ts8g8jZd.js.map +1 -0
  183. package/dist/chunks/index-_913FPya.js +2 -0
  184. package/dist/chunks/{index-A_vmTNU7.js.map → index-_913FPya.js.map} +1 -1
  185. package/dist/chunks/index-fHSGm2nC.js +1044 -0
  186. package/dist/chunks/index-fHSGm2nC.js.map +1 -0
  187. package/dist/chunks/{index-eNFIsSpE.js → index-kpOEHtZZ.js} +2 -2
  188. package/dist/chunks/{index-eNFIsSpE.js.map → index-kpOEHtZZ.js.map} +1 -1
  189. package/dist/chunks/index-rSq6Bry6.js +2 -0
  190. package/dist/chunks/{index-DAI6_P9H.js.map → index-rSq6Bry6.js.map} +1 -1
  191. package/dist/chunks/{index-BhPrz8Zu.js → index-wV4hG2vI.js} +19 -19
  192. package/dist/chunks/{index-BhPrz8Zu.js.map → index-wV4hG2vI.js.map} +1 -1
  193. package/dist/chunks/index-yh2QitBe.js +2 -0
  194. package/dist/chunks/index-yh2QitBe.js.map +1 -0
  195. package/dist/chunks/input-group-CFelIL63.js +78 -0
  196. package/dist/chunks/input-group-CFelIL63.js.map +1 -0
  197. package/dist/chunks/input-group-DUdSDk4o.js +2 -0
  198. package/dist/chunks/input-group-DUdSDk4o.js.map +1 -0
  199. package/dist/chunks/isToday-BgNkHh5t.js +2 -0
  200. package/dist/chunks/isToday-BgNkHh5t.js.map +1 -0
  201. package/dist/chunks/isToday-iCYsPDMT.js +23 -0
  202. package/dist/chunks/isToday-iCYsPDMT.js.map +1 -0
  203. package/dist/chunks/link.component--URNKuK2.js +44 -0
  204. package/dist/chunks/link.component--URNKuK2.js.map +1 -0
  205. package/dist/chunks/link.component-_YXG8MDq.js +2 -0
  206. package/dist/chunks/link.component-_YXG8MDq.js.map +1 -0
  207. package/dist/chunks/{list-D22V_L58.js → list-DTRn3TmT.js} +2 -2
  208. package/dist/chunks/{list-D22V_L58.js.map → list-DTRn3TmT.js.map} +1 -1
  209. package/dist/chunks/{list-DwRM9eA_.js → list-v83ZN2MC.js} +2 -2
  210. package/dist/chunks/{list-DwRM9eA_.js.map → list-v83ZN2MC.js.map} +1 -1
  211. package/dist/chunks/logo.types-88a31xCx.js +2 -0
  212. package/dist/chunks/logo.types-88a31xCx.js.map +1 -0
  213. package/dist/chunks/logo.types-C5GwpHjM.js +51 -0
  214. package/dist/chunks/logo.types-C5GwpHjM.js.map +1 -0
  215. package/dist/chunks/menu.component-D4-4xRDj.js +2 -0
  216. package/dist/chunks/menu.component-D4-4xRDj.js.map +1 -0
  217. package/dist/chunks/menu.component-DwTen8Uv.js +704 -0
  218. package/dist/chunks/menu.component-DwTen8Uv.js.map +1 -0
  219. package/dist/chunks/modal.types-74os4Bqi.js +2 -0
  220. package/dist/chunks/modal.types-74os4Bqi.js.map +1 -0
  221. package/dist/chunks/modal.types-B0rK6xJy.js +115 -0
  222. package/dist/chunks/modal.types-B0rK6xJy.js.map +1 -0
  223. package/dist/chunks/{notificationCounter.component-Lu4_Owvr.js → notificationCounter.component-BexkISUl.js} +37 -18
  224. package/dist/chunks/notificationCounter.component-BexkISUl.js.map +1 -0
  225. package/dist/chunks/notificationCounter.component-DJpUXeXm.js +2 -0
  226. package/dist/chunks/notificationCounter.component-DJpUXeXm.js.map +1 -0
  227. package/dist/chunks/numberInput.component-DIABzNV6.js +2 -0
  228. package/dist/chunks/numberInput.component-DIABzNV6.js.map +1 -0
  229. package/dist/chunks/numberInput.component-RCwUUzmH.js +227 -0
  230. package/dist/chunks/numberInput.component-RCwUUzmH.js.map +1 -0
  231. package/dist/chunks/picture.component-BA2hgdZy.js +2 -0
  232. package/dist/chunks/picture.component-BA2hgdZy.js.map +1 -0
  233. package/dist/chunks/picture.component-DzdHIFN_.js +28 -0
  234. package/dist/chunks/picture.component-DzdHIFN_.js.map +1 -0
  235. package/dist/chunks/pinInput.types-BCzsoF9r.js +2 -0
  236. package/dist/chunks/{pinInput.types-Cqm1Px5l.js.map → pinInput.types-BCzsoF9r.js.map} +1 -1
  237. package/dist/chunks/pinInput.types-CcaAN6P2.js +155 -0
  238. package/dist/chunks/{pinInput.types-CcN0aX_i.js.map → pinInput.types-CcaAN6P2.js.map} +1 -1
  239. package/dist/chunks/popover-C7aj8Iwj.js +2 -0
  240. package/dist/chunks/popover-C7aj8Iwj.js.map +1 -0
  241. package/dist/chunks/popover-pd70xkY_.js +111 -0
  242. package/dist/chunks/popover-pd70xkY_.js.map +1 -0
  243. package/dist/chunks/popover-root-provider-CZDbUJ2K.js +2 -0
  244. package/dist/chunks/{popover-root-provider-ZB5BcrXn.js.map → popover-root-provider-CZDbUJ2K.js.map} +1 -1
  245. package/dist/chunks/popover-root-provider-DR0Iuda1.js +44 -0
  246. package/dist/chunks/{popover-root-provider-CkW1eCBQ.js.map → popover-root-provider-DR0Iuda1.js.map} +1 -1
  247. package/dist/chunks/popover.component-BBp_5m8e.js +2 -0
  248. package/dist/chunks/popover.component-BBp_5m8e.js.map +1 -0
  249. package/dist/chunks/popover.component-DEOUdSu3.js +220 -0
  250. package/dist/chunks/popover.component-DEOUdSu3.js.map +1 -0
  251. package/dist/chunks/popover.recipe-B9bkpDfc.js +126 -0
  252. package/dist/chunks/popover.recipe-B9bkpDfc.js.map +1 -0
  253. package/dist/chunks/popover.recipe-Czy8Aeft.js +2 -0
  254. package/dist/chunks/popover.recipe-Czy8Aeft.js.map +1 -0
  255. package/dist/chunks/popover.types-CQJj3uOX.js +7 -0
  256. package/dist/chunks/popover.types-CQJj3uOX.js.map +1 -0
  257. package/dist/chunks/popover.types-ChA9ccQ2.js +2 -0
  258. package/dist/chunks/popover.types-ChA9ccQ2.js.map +1 -0
  259. package/dist/chunks/progress-value-text-CFVhPKYk.js +2 -0
  260. package/dist/chunks/progress-value-text-CFVhPKYk.js.map +1 -0
  261. package/dist/chunks/progress-value-text-DZkUF2cO.js +58 -0
  262. package/dist/chunks/progress-value-text-DZkUF2cO.js.map +1 -0
  263. package/dist/chunks/radioGroup.types-C7A8mLMz.js +2 -0
  264. package/dist/chunks/radioGroup.types-C7A8mLMz.js.map +1 -0
  265. package/dist/chunks/radioGroup.types-DJ68ERdO.js +228 -0
  266. package/dist/chunks/radioGroup.types-DJ68ERdO.js.map +1 -0
  267. package/dist/chunks/radiomark-Cj0NEJeE.js +2 -0
  268. package/dist/chunks/radiomark-Cj0NEJeE.js.map +1 -0
  269. package/dist/chunks/radiomark-DdwVpBDT.js +22 -0
  270. package/dist/chunks/radiomark-DdwVpBDT.js.map +1 -0
  271. package/dist/chunks/radiomark.component-D_7wT5VA.js +11 -0
  272. package/dist/chunks/radiomark.component-D_7wT5VA.js.map +1 -0
  273. package/dist/chunks/radiomark.component-YJNr68s7.js +2 -0
  274. package/dist/chunks/radiomark.component-YJNr68s7.js.map +1 -0
  275. package/dist/chunks/rating-group-CfwdAW9a.js +133 -0
  276. package/dist/chunks/rating-group-CfwdAW9a.js.map +1 -0
  277. package/dist/chunks/rating-group-D8QA23q6.js +2 -0
  278. package/dist/chunks/rating-group-D8QA23q6.js.map +1 -0
  279. package/dist/chunks/rating.component-BsuGbcxP.js +2 -0
  280. package/dist/chunks/rating.component-BsuGbcxP.js.map +1 -0
  281. package/dist/chunks/rating.component-ChzcvUl6.js +70 -0
  282. package/dist/chunks/rating.component-ChzcvUl6.js.map +1 -0
  283. package/dist/chunks/ratingDots.component-CVjSZ9JJ.js +2 -0
  284. package/dist/chunks/ratingDots.component-CVjSZ9JJ.js.map +1 -0
  285. package/dist/chunks/ratingDots.component-D9WQGVcj.js +147 -0
  286. package/dist/chunks/ratingDots.component-D9WQGVcj.js.map +1 -0
  287. package/dist/chunks/{render-strategy-CfHUEDVm.js → render-strategy-kPh1pd2U.js} +2 -2
  288. package/dist/chunks/{render-strategy-CfHUEDVm.js.map → render-strategy-kPh1pd2U.js.map} +1 -1
  289. package/dist/chunks/{render-strategy-Dr73HbQf.js → render-strategy-munDZLwL.js} +2 -2
  290. package/dist/chunks/{render-strategy-Dr73HbQf.js.map → render-strategy-munDZLwL.js.map} +1 -1
  291. package/dist/chunks/select.component-B4mAPqzN.js +1099 -0
  292. package/dist/chunks/select.component-B4mAPqzN.js.map +1 -0
  293. package/dist/chunks/select.component-CCNxMGvb.js +2 -0
  294. package/dist/chunks/select.component-CCNxMGvb.js.map +1 -0
  295. package/dist/chunks/{sortableList.component-vxiA7bvr.js → sortableList.component-BlwtnxVj.js} +3 -3
  296. package/dist/chunks/{sortableList.component-vxiA7bvr.js.map → sortableList.component-BlwtnxVj.js.map} +1 -1
  297. package/dist/chunks/{sortableList.component-i4dJ9oHN.js → sortableList.component-XfURY7C2.js} +384 -379
  298. package/dist/chunks/{sortableList.component-i4dJ9oHN.js.map → sortableList.component-XfURY7C2.js.map} +1 -1
  299. package/dist/chunks/spinner-B9ytCKVs.js +8 -0
  300. package/dist/chunks/{spinner-C31ZWQmA.js.map → spinner-B9ytCKVs.js.map} +1 -1
  301. package/dist/chunks/{spinner.component-DPYj17HK.js → spinner.component-B3dkvoO9.js} +53 -45
  302. package/dist/chunks/spinner.component-B3dkvoO9.js.map +1 -0
  303. package/dist/chunks/spinner.component-DuW1_IWM.js +2 -0
  304. package/dist/chunks/spinner.component-DuW1_IWM.js.map +1 -0
  305. package/dist/chunks/styledAvatar.types-CcP-Vl9c.js +2 -0
  306. package/dist/chunks/styledAvatar.types-CcP-Vl9c.js.map +1 -0
  307. package/dist/chunks/styledAvatar.types-cR6PNPxA.js +69 -0
  308. package/dist/chunks/styledAvatar.types-cR6PNPxA.js.map +1 -0
  309. package/dist/chunks/swatch.types-AZLB8OWG.js +2 -0
  310. package/dist/chunks/swatch.types-AZLB8OWG.js.map +1 -0
  311. package/dist/chunks/{swatch.types-CXlghcLw.js → swatch.types-CkrkMi11.js} +21 -20
  312. package/dist/chunks/swatch.types-CkrkMi11.js.map +1 -0
  313. package/dist/chunks/switch.component-CgzCLoTB.js +2 -0
  314. package/dist/chunks/{switch.component-Cke7O8gk.js.map → switch.component-CgzCLoTB.js.map} +1 -1
  315. package/dist/chunks/switch.component-CpV7mnhR.js +155 -0
  316. package/dist/chunks/{switch.component-C88jBbo_.js.map → switch.component-CpV7mnhR.js.map} +1 -1
  317. package/dist/chunks/{tab.types-DCkus0y2.js → tab.types-DaJfFBvr.js} +136 -117
  318. package/dist/chunks/{tab.types-DCkus0y2.js.map → tab.types-DaJfFBvr.js.map} +1 -1
  319. package/dist/chunks/tab.types-DwPEP_5N.js +2 -0
  320. package/dist/chunks/{tab.types-DpmXyw5C.js.map → tab.types-DwPEP_5N.js.map} +1 -1
  321. package/dist/chunks/tag.component-B7V76XfM.js +84 -0
  322. package/dist/chunks/tag.component-B7V76XfM.js.map +1 -0
  323. package/dist/chunks/tag.component-C98Wf07v.js +2 -0
  324. package/dist/chunks/tag.component-C98Wf07v.js.map +1 -0
  325. package/dist/chunks/tagBlock.component-BGEvRu81.js +2 -0
  326. package/dist/chunks/tagBlock.component-BGEvRu81.js.map +1 -0
  327. package/dist/chunks/tagBlock.component-Cor6eakc.js +170 -0
  328. package/dist/chunks/tagBlock.component-Cor6eakc.js.map +1 -0
  329. package/dist/chunks/text.component-CdTyTFds.js +12 -0
  330. package/dist/chunks/text.component-CdTyTFds.js.map +1 -0
  331. package/dist/chunks/text.component-CeioUl0G.js +2 -0
  332. package/dist/chunks/text.component-CeioUl0G.js.map +1 -0
  333. package/dist/chunks/textInput.component-BC0Hi8R_.js +108 -0
  334. package/dist/chunks/textInput.component-BC0Hi8R_.js.map +1 -0
  335. package/dist/chunks/textInput.component-C1vwy6pL.js +2 -0
  336. package/dist/chunks/textInput.component-C1vwy6pL.js.map +1 -0
  337. package/dist/chunks/textarea.component-D15hA9Jb.js +2 -0
  338. package/dist/chunks/{textarea.component-Dk2IMKkr.js.map → textarea.component-D15hA9Jb.js.map} +1 -1
  339. package/dist/chunks/textarea.component-axjxiv82.js +96 -0
  340. package/dist/chunks/{textarea.component-BYexywy1.js.map → textarea.component-axjxiv82.js.map} +1 -1
  341. package/dist/chunks/{theme.provider-w_I9S10D.js → theme.provider-BD7qyu-B.js} +1405 -1339
  342. package/dist/chunks/theme.provider-BD7qyu-B.js.map +1 -0
  343. package/dist/chunks/theme.provider-DFwAy7tr.js +28 -0
  344. package/dist/chunks/theme.provider-DFwAy7tr.js.map +1 -0
  345. package/dist/chunks/timePicker.component-Cz2XxVL6.js +2 -0
  346. package/dist/chunks/timePicker.component-Cz2XxVL6.js.map +1 -0
  347. package/dist/chunks/timePicker.component-u34pHrzr.js +220 -0
  348. package/dist/chunks/timePicker.component-u34pHrzr.js.map +1 -0
  349. package/dist/chunks/timeRange.component-BiA1VWQ8.js +19 -0
  350. package/dist/chunks/timeRange.component-BiA1VWQ8.js.map +1 -0
  351. package/dist/chunks/timeRange.component-tU_nCTmS.js +2 -0
  352. package/dist/chunks/timeRange.component-tU_nCTmS.js.map +1 -0
  353. package/dist/chunks/timestamp.component-DBmc7D23.js +36 -0
  354. package/dist/chunks/timestamp.component-DBmc7D23.js.map +1 -0
  355. package/dist/chunks/timestamp.component-DYZHgaas.js +2 -0
  356. package/dist/chunks/timestamp.component-DYZHgaas.js.map +1 -0
  357. package/dist/chunks/toaster.records-CDSkoMuU.js +2 -0
  358. package/dist/chunks/{toaster.records-eCXbM85Z.js.map → toaster.records-CDSkoMuU.js.map} +1 -1
  359. package/dist/chunks/{toaster.records-oryzm5Go.js → toaster.records-Cb3hbtuY.js} +103 -102
  360. package/dist/chunks/{toaster.records-oryzm5Go.js.map → toaster.records-Cb3hbtuY.js.map} +1 -1
  361. package/dist/chunks/tooltip.component-BkFDi5yK.js +2 -0
  362. package/dist/chunks/{tooltip.component-CATpCSkf.js.map → tooltip.component-BkFDi5yK.js.map} +1 -1
  363. package/dist/chunks/{tooltip.component-mjdP7nPN.js → tooltip.component-C_NS-AoH.js} +126 -103
  364. package/dist/chunks/{tooltip.component-mjdP7nPN.js.map → tooltip.component-C_NS-AoH.js.map} +1 -1
  365. package/dist/chunks/{typography.records-CpYV1kns.js → typography.records-BEd2lI_g.js} +10 -22
  366. package/dist/chunks/typography.records-BEd2lI_g.js.map +1 -0
  367. package/dist/chunks/typography.records-Cg_lT1Z3.js +2 -0
  368. package/dist/chunks/typography.records-Cg_lT1Z3.js.map +1 -0
  369. package/dist/chunks/{use-field-context-BTxME29X.js → use-field-context-Cm29IQ7H.js} +2 -2
  370. package/dist/chunks/{use-field-context-BTxME29X.js.map → use-field-context-Cm29IQ7H.js.map} +1 -1
  371. package/dist/chunks/{use-field-context-RQeEcNpb.js → use-field-context-DrC9mrDd.js} +2 -2
  372. package/dist/chunks/{use-field-context-RQeEcNpb.js.map → use-field-context-DrC9mrDd.js.map} +1 -1
  373. package/dist/chunks/use-locale-context-Bw4Gg9Z0.js +738 -0
  374. package/dist/chunks/use-locale-context-Bw4Gg9Z0.js.map +1 -0
  375. package/dist/chunks/use-locale-context-ym21RUxU.js +22 -0
  376. package/dist/chunks/use-locale-context-ym21RUxU.js.map +1 -0
  377. package/dist/chunks/useIconTextSizeMap-BK-pUrQv.js.map +1 -1
  378. package/dist/chunks/useIconTextSizeMap-BXmABb54.js.map +1 -1
  379. package/dist/chunks/withFormControl-DePFf9SY.js +367 -0
  380. package/dist/chunks/withFormControl-DePFf9SY.js.map +1 -0
  381. package/dist/chunks/withFormControl-wZA87Sd4.js +2 -0
  382. package/dist/chunks/withFormControl-wZA87Sd4.js.map +1 -0
  383. package/dist/chunks/withTruncation-DE3FFPE7.js +2 -0
  384. package/dist/chunks/withTruncation-DE3FFPE7.js.map +1 -0
  385. package/dist/chunks/withTruncation-DTCfQ2yk.js +92 -0
  386. package/dist/chunks/withTruncation-DTCfQ2yk.js.map +1 -0
  387. package/dist/chunks/{wrap-CRNL4bE6.js → wrap-Cu5ZEseD.js} +2 -2
  388. package/dist/chunks/{wrap-CRNL4bE6.js.map → wrap-Cu5ZEseD.js.map} +1 -1
  389. package/dist/cjs/chakra/index.cjs +2 -2
  390. package/dist/cjs/chakra/index.cjs.map +1 -1
  391. package/dist/cjs/components/Alert/index.cjs +1 -1
  392. package/dist/cjs/components/Avatar/index.cjs +1 -1
  393. package/dist/cjs/components/AvatarGroup/index.cjs +1 -1
  394. package/dist/cjs/components/Button/index.cjs +1 -1
  395. package/dist/cjs/components/ButtonGroup/index.cjs +1 -1
  396. package/dist/cjs/components/Calendar/index.cjs +2 -0
  397. package/dist/cjs/components/Calendar/index.cjs.map +1 -0
  398. package/dist/cjs/components/Card/index.cjs +1 -1
  399. package/dist/cjs/components/CharacterCounter/index.cjs +1 -1
  400. package/dist/cjs/components/Checkbox/index.cjs +1 -1
  401. package/dist/cjs/components/CheckboxGroup/index.cjs +1 -1
  402. package/dist/cjs/components/ConversationCard/index.cjs +1 -1
  403. package/dist/cjs/components/DatePicker/index.cjs +1 -1
  404. package/dist/cjs/components/DateTimePicker/index.cjs +2 -0
  405. package/dist/cjs/components/DateTimePicker/index.cjs.map +1 -0
  406. package/dist/cjs/components/Divider/index.cjs +1 -1
  407. package/dist/cjs/components/Heading/index.cjs +1 -1
  408. package/dist/cjs/components/Icon/generated/index.cjs +1 -1
  409. package/dist/cjs/components/Icon/generated/index.cjs.map +1 -1
  410. package/dist/cjs/components/Icon/index.cjs +1 -1
  411. package/dist/cjs/components/Link/index.cjs +1 -1
  412. package/dist/cjs/components/Logo/index.cjs +1 -1
  413. package/dist/cjs/components/Menu/index.cjs +1 -1
  414. package/dist/cjs/components/Modal/index.cjs +1 -1
  415. package/dist/cjs/components/NotificationCounter/index.cjs +1 -1
  416. package/dist/cjs/components/NumberInput/index.cjs +2 -0
  417. package/dist/cjs/components/NumberInput/index.cjs.map +1 -0
  418. package/dist/cjs/components/Picture/index.cjs +1 -1
  419. package/dist/cjs/components/PinInput/index.cjs +1 -1
  420. package/dist/cjs/components/Popover/index.cjs +1 -1
  421. package/dist/cjs/components/Progress/index.cjs +2 -0
  422. package/dist/cjs/components/Progress/index.cjs.map +1 -0
  423. package/dist/cjs/components/RadioGroup/index.cjs +1 -1
  424. package/dist/cjs/components/Radiomark/index.cjs +2 -0
  425. package/dist/cjs/components/Radiomark/index.cjs.map +1 -0
  426. package/dist/cjs/components/Rating/index.cjs +2 -0
  427. package/dist/cjs/components/Rating/index.cjs.map +1 -0
  428. package/dist/cjs/components/RatingDots/index.cjs +1 -1
  429. package/dist/cjs/components/Select/index.cjs +1 -1
  430. package/dist/cjs/components/SortableList/index.cjs +1 -1
  431. package/dist/cjs/components/Spinner/index.cjs +1 -1
  432. package/dist/cjs/components/StyledAvatar/index.cjs +1 -1
  433. package/dist/cjs/components/Swatch/index.cjs +1 -1
  434. package/dist/cjs/components/Switch/index.cjs +1 -1
  435. package/dist/cjs/components/Tabs/index.cjs +1 -1
  436. package/dist/cjs/components/Tag/index.cjs +1 -1
  437. package/dist/cjs/components/TagBlock/index.cjs +1 -1
  438. package/dist/cjs/components/Text/index.cjs +1 -1
  439. package/dist/cjs/components/TextInput/index.cjs +1 -1
  440. package/dist/cjs/components/Textarea/index.cjs +1 -1
  441. package/dist/cjs/components/TimePicker/index.cjs +1 -1
  442. package/dist/cjs/components/TimeRange/index.cjs +1 -1
  443. package/dist/cjs/components/Timestamp/index.cjs +1 -1
  444. package/dist/cjs/components/Toast/index.cjs +1 -1
  445. package/dist/cjs/components/Toast/index.cjs.map +1 -1
  446. package/dist/cjs/components/Tooltip/index.cjs +1 -1
  447. package/dist/cjs/components/index.cjs +1 -1
  448. package/dist/cjs/hooks/useBreakpoint/index.cjs.map +1 -1
  449. package/dist/cjs/hooks/useColorMode/index.cjs.map +1 -1
  450. package/dist/cjs/hooks/useColorModeValue/index.cjs.map +1 -1
  451. package/dist/cjs/hooks/useDeviceType/index.cjs.map +1 -1
  452. package/dist/cjs/index.cjs +1 -1
  453. package/dist/cjs/theme/index.cjs +1 -1
  454. package/dist/cjs/theme/semanticTokens/index.cjs +1 -1
  455. package/dist/cjs/theme/semanticTokens/index.cjs.map +1 -1
  456. package/dist/esm/chakra/index.js +1682 -1997
  457. package/dist/esm/chakra/index.js.map +1 -1
  458. package/dist/esm/components/Alert/index.js +1 -1
  459. package/dist/esm/components/Avatar/index.js +1 -1
  460. package/dist/esm/components/AvatarGroup/index.js +1 -1
  461. package/dist/esm/components/Button/index.js +2 -2
  462. package/dist/esm/components/ButtonGroup/index.js +1 -1
  463. package/dist/esm/components/Calendar/index.js +5 -0
  464. package/dist/esm/components/Calendar/index.js.map +1 -0
  465. package/dist/esm/components/Card/index.js +1 -1
  466. package/dist/esm/components/CharacterCounter/index.js +1 -1
  467. package/dist/esm/components/Checkbox/index.js +1 -1
  468. package/dist/esm/components/CheckboxGroup/index.js +1 -1
  469. package/dist/esm/components/ConversationCard/index.js +1 -1
  470. package/dist/esm/components/DatePicker/index.js +4 -3
  471. package/dist/esm/components/DatePicker/index.js.map +1 -1
  472. package/dist/esm/components/DateTimePicker/index.js +7 -0
  473. package/dist/esm/components/DateTimePicker/index.js.map +1 -0
  474. package/dist/esm/components/Divider/index.js +6 -5
  475. package/dist/esm/components/Divider/index.js.map +1 -1
  476. package/dist/esm/components/Heading/index.js +1 -1
  477. package/dist/esm/components/Icon/generated/index.js +556 -342
  478. package/dist/esm/components/Icon/generated/index.js.map +1 -1
  479. package/dist/esm/components/Icon/index.js +1 -1
  480. package/dist/esm/components/Link/index.js +1 -1
  481. package/dist/esm/components/Logo/index.js +1 -1
  482. package/dist/esm/components/Menu/index.js +1 -1
  483. package/dist/esm/components/Modal/index.js +1 -1
  484. package/dist/esm/components/NotificationCounter/index.js +1 -1
  485. package/dist/esm/components/NumberInput/index.js +5 -0
  486. package/dist/esm/components/NumberInput/index.js.map +1 -0
  487. package/dist/esm/components/Picture/index.js +1 -1
  488. package/dist/esm/components/PinInput/index.js +1 -1
  489. package/dist/esm/components/Popover/index.js +2 -2
  490. package/dist/esm/components/Progress/index.js +57 -0
  491. package/dist/esm/components/Progress/index.js.map +1 -0
  492. package/dist/esm/components/RadioGroup/index.js +1 -1
  493. package/dist/esm/components/Radiomark/index.js +5 -0
  494. package/dist/esm/components/Radiomark/index.js.map +1 -0
  495. package/dist/esm/components/Rating/index.js +5 -0
  496. package/dist/esm/components/Rating/index.js.map +1 -0
  497. package/dist/esm/components/RatingDots/index.js +1 -1
  498. package/dist/esm/components/Select/index.js +1 -1
  499. package/dist/esm/components/SortableList/index.js +1 -1
  500. package/dist/esm/components/Spinner/index.js +1 -1
  501. package/dist/esm/components/StyledAvatar/index.js +1 -1
  502. package/dist/esm/components/Swatch/index.js +1 -1
  503. package/dist/esm/components/Switch/index.js +1 -1
  504. package/dist/esm/components/Tabs/index.js +1 -1
  505. package/dist/esm/components/Tag/index.js +1 -1
  506. package/dist/esm/components/TagBlock/index.js +1 -1
  507. package/dist/esm/components/Text/index.js +1 -1
  508. package/dist/esm/components/TextInput/index.js +1 -1
  509. package/dist/esm/components/Textarea/index.js +1 -1
  510. package/dist/esm/components/TimePicker/index.js +1 -1
  511. package/dist/esm/components/TimeRange/index.js +1 -1
  512. package/dist/esm/components/Timestamp/index.js +1 -1
  513. package/dist/esm/components/Toast/index.js +26 -23
  514. package/dist/esm/components/Toast/index.js.map +1 -1
  515. package/dist/esm/components/Tooltip/index.js +1 -1
  516. package/dist/esm/components/index.js +131 -117
  517. package/dist/esm/components/index.js.map +1 -1
  518. package/dist/esm/hooks/useBreakpoint/index.js.map +1 -1
  519. package/dist/esm/hooks/useColorMode/index.js.map +1 -1
  520. package/dist/esm/hooks/useColorModeValue/index.js.map +1 -1
  521. package/dist/esm/hooks/useDeviceType/index.js.map +1 -1
  522. package/dist/esm/index.js +148 -134
  523. package/dist/esm/index.js.map +1 -1
  524. package/dist/esm/theme/index.js +1 -1
  525. package/dist/esm/theme/semanticTokens/index.js +4 -4
  526. package/dist/esm/theme/semanticTokens/index.js.map +1 -1
  527. package/dist/types/chakra/index.d.ts +2 -4
  528. package/dist/types/components/Alert/alert.component.d.ts +28 -1
  529. package/dist/types/components/Alert/alert.recipe.d.ts +3 -2
  530. package/dist/types/components/Alert/components/AlertButton/alertButton.component.d.ts +12 -1
  531. package/dist/types/components/Avatar/avatar.component.d.ts +30 -2
  532. package/dist/types/components/Avatar/avatar.recipe.d.ts +3 -2
  533. package/dist/types/components/Avatar/avatar.records.d.ts +2 -0
  534. package/dist/types/components/Avatar/components/AvatarBadge/avatarBadge.component.d.ts +9 -1
  535. package/dist/types/components/Avatar/components/AvatarRemoveButton/avatarRemoveButton.component.d.ts +15 -6
  536. package/dist/types/components/Avatar/components/AvatarTooltipTriggerWrapper/avatarTooltipTriggerWrapper.component.d.ts +2 -0
  537. package/dist/types/components/AvatarGroup/avatarGroup.component.d.ts +27 -3
  538. package/dist/types/components/Button/button.component.d.ts +14 -1
  539. package/dist/types/components/Button/button.recipe.d.ts +3 -1
  540. package/dist/types/components/Button/button.types.d.ts +2 -2
  541. package/dist/types/components/ButtonGroup/buttonGroup.component.d.ts +12 -1
  542. package/dist/types/components/Calendar/calendar.component.d.ts +19 -0
  543. package/dist/types/components/Calendar/index.d.ts +1 -0
  544. package/dist/types/components/Card/card.component.d.ts +41 -1
  545. package/dist/types/components/CharacterCounter/characterCounter.component.d.ts +9 -1
  546. package/dist/types/components/Checkbox/checkbox.component.d.ts +19 -2
  547. package/dist/types/components/Checkbox/checkbox.recipe.d.ts +3 -2
  548. package/dist/types/components/Checkbox/checkbox.types.d.ts +4 -0
  549. package/dist/types/components/Checkbox/index.d.ts +1 -0
  550. package/dist/types/components/CheckboxGroup/checkboxGroup.component.d.ts +12 -2
  551. package/dist/types/components/ConversationCard/components/ConversationCardAvatarGroup/conversationCardAvatarGroup.component.d.ts +11 -1
  552. package/dist/types/components/ConversationCard/components/ConversationCardButtons/conversationCardButtons.component.d.ts +22 -1
  553. package/dist/types/components/ConversationCard/components/ConversationCardContent/conversationCardContent.component.d.ts +8 -1
  554. package/dist/types/components/ConversationCard/components/ConversationCardFooter/conversationCardFooter.component.d.ts +8 -1
  555. package/dist/types/components/ConversationCard/components/ConversationCardHeader/conversationCardHeader.component.d.ts +12 -1
  556. package/dist/types/components/ConversationCard/components/ConversationCardTags/conversationCardTags.component.d.ts +7 -1
  557. package/dist/types/components/ConversationCard/conversationCard.component.d.ts +29 -1
  558. package/dist/types/components/DatePicker/components/DatePickerCalendar/datePickerCalendar.component.d.ts +10 -1
  559. package/dist/types/components/DatePicker/components/DatePickerDay/datePickerCalendarDay.component.d.ts +11 -1
  560. package/dist/types/components/DatePicker/components/DatePickerDay/datePickerCalendarDay.recipe.d.ts +5 -4
  561. package/dist/types/components/DatePicker/components/DatePickerDay/datePickerCalendarDay.types.d.ts +1 -1
  562. package/dist/types/components/DatePicker/components/DatePickerFooter/datePickerFooter.component.d.ts +9 -0
  563. package/dist/types/components/DatePicker/components/DatePickerHeader/datePickerHeader.component.d.ts +15 -1
  564. package/dist/types/components/DatePicker/components/DatePickerInput/datePickerInput.component.d.ts +6 -1
  565. package/dist/types/components/DatePicker/components/DatePickerMonth/datePickerCalendarMonth.component.d.ts +11 -1
  566. package/dist/types/components/DatePicker/context/datePicker.context.d.ts +3 -0
  567. package/dist/types/components/DatePicker/context/datePicker.provider.d.ts +10 -1
  568. package/dist/types/components/DatePicker/datePicker.component.d.ts +25 -11
  569. package/dist/types/components/DatePicker/datePicker.types.d.ts +18 -0
  570. package/dist/types/components/DatePicker/hooks/useComputeCornerRoundingFlags.d.ts +10 -0
  571. package/dist/types/components/DatePicker/utils/getDayVariant.d.ts +12 -0
  572. package/dist/types/components/DateTimePicker/components/DateTimePickerCustomView/dateTimePickerCustomView.component.d.ts +7 -0
  573. package/dist/types/components/DateTimePicker/components/DateTimePickerQuickOptions/dateTimePickerQuickOptions.component.d.ts +14 -0
  574. package/dist/types/components/DateTimePicker/components/DateTimePickerRangeSelector/dateTimePickerRangeSelector.component.d.ts +10 -0
  575. package/dist/types/components/DateTimePicker/dateTimePicker.component.d.ts +33 -0
  576. package/dist/types/components/DateTimePicker/dateTimePicker.records.d.ts +8 -0
  577. package/dist/types/components/DateTimePicker/dateTimePicker.types.d.ts +11 -0
  578. package/dist/types/components/DateTimePicker/index.d.ts +2 -0
  579. package/dist/types/components/DateTimePicker/utils/quickOptions.d.ts +13 -0
  580. package/dist/types/components/Divider/divider.component.d.ts +7 -2
  581. package/dist/types/components/Heading/heading.component.d.ts +12 -0
  582. package/dist/types/components/Icon/generated/Backspace.d.ts +10 -0
  583. package/dist/types/components/Icon/generated/CaretLeft.d.ts +10 -0
  584. package/dist/types/components/Icon/generated/CheckList.d.ts +10 -0
  585. package/dist/types/components/Icon/generated/Globe.d.ts +10 -0
  586. package/dist/types/components/Icon/generated/InputAlt.d.ts +10 -0
  587. package/dist/types/components/Icon/generated/LightBulb.d.ts +10 -0
  588. package/dist/types/components/Icon/generated/SelectDropDown.d.ts +10 -0
  589. package/dist/types/components/Icon/generated/TextArea.d.ts +10 -0
  590. package/dist/types/components/Icon/generated/TextBlock.d.ts +10 -0
  591. package/dist/types/components/Icon/generated/index.d.ts +1 -1
  592. package/dist/types/components/Icon/icon.component.d.ts +10 -0
  593. package/dist/types/components/Link/components/LinkIcon/linkIcon.component.d.ts +7 -0
  594. package/dist/types/components/Link/link.component.d.ts +19 -0
  595. package/dist/types/components/Logo/logo.component.d.ts +14 -1
  596. package/dist/types/components/Menu/components/MenuButton/menuButton.component.d.ts +22 -0
  597. package/dist/types/components/Menu/components/MenuItem/menuItem.component.d.ts +34 -5
  598. package/dist/types/components/Menu/components/MenuList/menuList.types.d.ts +18 -0
  599. package/dist/types/components/Menu/components/MenuToggleButtons/menuToggleButtons.component.d.ts +17 -0
  600. package/dist/types/components/Menu/index.d.ts +4 -0
  601. package/dist/types/components/Menu/menu.component.d.ts +22 -19
  602. package/dist/types/components/Menu/menu.recipe.d.ts +1 -1
  603. package/dist/types/components/Menu/menu.types.d.ts +17 -0
  604. package/dist/types/components/Modal/components/ModalFooter/modalFooter.component.d.ts +24 -1
  605. package/dist/types/components/Modal/modal.component.d.ts +46 -1
  606. package/dist/types/components/Modal/modal.recipe.d.ts +2 -2
  607. package/dist/types/components/NotificationCounter/notificationCounter.component.d.ts +19 -1
  608. package/dist/types/components/NotificationCounter/notificationCounter.records.d.ts +5 -0
  609. package/dist/types/components/NumberInput/index.d.ts +2 -0
  610. package/dist/types/components/NumberInput/numberInput.component.d.ts +40 -0
  611. package/dist/types/components/NumberInput/numberInput.recipe.d.ts +21 -0
  612. package/dist/types/components/NumberInput/numberInput.types.d.ts +4 -0
  613. package/dist/types/components/Picture/picture.component.d.ts +9 -1
  614. package/dist/types/components/PinInput/pinInput.component.d.ts +19 -1
  615. package/dist/types/components/PinInput/pinInput.recipe.d.ts +1 -1
  616. package/dist/types/components/Popover/components/PopoverFooter/popoverFooter.component.d.ts +26 -1
  617. package/dist/types/components/Popover/components/PopoverHeader/popoverHeader.component.d.ts +19 -1
  618. package/dist/types/components/Popover/popover.component.d.ts +45 -2
  619. package/dist/types/components/Popover/popover.recipe.d.ts +4 -3
  620. package/dist/types/components/Popover/popover.types.d.ts +1 -1
  621. package/dist/types/components/Progress/index.d.ts +2 -0
  622. package/dist/types/components/Progress/progress.component.d.ts +26 -0
  623. package/dist/types/components/Progress/progress.recipe.d.ts +38 -0
  624. package/dist/types/components/Progress/progress.types.d.ts +9 -0
  625. package/dist/types/components/RadioGroup/components/Radio/radio.component.d.ts +15 -0
  626. package/dist/types/components/RadioGroup/radioGroup.component.d.ts +22 -2
  627. package/dist/types/components/RadioGroup/radioGroup.recipe.d.ts +4 -2
  628. package/dist/types/components/Radiomark/index.d.ts +1 -0
  629. package/dist/types/components/Radiomark/radiomark.component.d.ts +12 -0
  630. package/dist/types/components/Radiomark/radiomark.recipe.d.ts +2 -0
  631. package/dist/types/components/Rating/index.d.ts +1 -0
  632. package/dist/types/components/Rating/rating.component.d.ts +37 -0
  633. package/dist/types/components/Rating/rating.recipe.d.ts +10 -0
  634. package/dist/types/components/RatingDots/components/RatingDot/ratingDot.component.d.ts +10 -1
  635. package/dist/types/components/RatingDots/ratingDots.component.d.ts +12 -0
  636. package/dist/types/components/Select/components/SelectItemContent/selectItemContent.component.d.ts +6 -0
  637. package/dist/types/components/Select/components/SelectTrigger/selectTrigger.component.d.ts +7 -2
  638. package/dist/types/components/Select/select.component.d.ts +53 -3
  639. package/dist/types/components/Select/select.types.d.ts +3 -0
  640. package/dist/types/components/SortableList/components/SortableListDragHandle/sortableListDragHandle.component.d.ts +1 -1
  641. package/dist/types/components/SortableList/components/SortableListItem/sortableListItem.component.d.ts +13 -1
  642. package/dist/types/components/SortableList/sortableList.component.d.ts +13 -1
  643. package/dist/types/components/Spinner/spinner.component.d.ts +28 -2
  644. package/dist/types/components/Spinner/spinner.recipe.d.ts +16 -1
  645. package/dist/types/components/StyledAvatar/styledAvatar.component.d.ts +10 -1
  646. package/dist/types/components/StyledAvatar/styledAvatar.types.d.ts +1 -1
  647. package/dist/types/components/Swatch/swatch.component.d.ts +10 -1
  648. package/dist/types/components/Switch/switch.component.d.ts +15 -0
  649. package/dist/types/components/Switch/switch.recipe.d.ts +3 -2
  650. package/dist/types/components/Tabs/components/Tab/tab.component.d.ts +14 -1
  651. package/dist/types/components/Tabs/tabs.component.d.ts +17 -2
  652. package/dist/types/components/Tabs/tabs.recipe.d.ts +3 -2
  653. package/dist/types/components/Tag/tag.component.d.ts +31 -0
  654. package/dist/types/components/Tag/tag.recipe.d.ts +3 -2
  655. package/dist/types/components/TagBlock/tagBlock.component.d.ts +34 -1
  656. package/dist/types/components/Text/text.component.d.ts +13 -0
  657. package/dist/types/components/TextInput/textInput.component.d.ts +28 -0
  658. package/dist/types/components/Textarea/textarea.component.d.ts +13 -0
  659. package/dist/types/components/TimePicker/components/TimeList/timeList.component.d.ts +10 -1
  660. package/dist/types/components/TimePicker/components/TimeOption/timeOption.component.d.ts +9 -1
  661. package/dist/types/components/TimePicker/timePicker.component.d.ts +19 -1
  662. package/dist/types/components/TimeRange/timeRange.component.d.ts +12 -1
  663. package/dist/types/components/Timestamp/timestamp.component.d.ts +18 -1
  664. package/dist/types/components/Toast/components/ToastAction/toastAction.component.d.ts +12 -1
  665. package/dist/types/components/Toast/components/Toaster/toaster.component.d.ts +6 -1
  666. package/dist/types/components/Toast/toast.component.d.ts +19 -1
  667. package/dist/types/components/Toast/toast.recipe.d.ts +3 -2
  668. package/dist/types/components/Toast/toast.types.d.ts +13 -0
  669. package/dist/types/components/Toast/useToast.d.ts +5 -0
  670. package/dist/types/components/Tooltip/tooltip.component.d.ts +26 -0
  671. package/dist/types/components/Tooltip/tooltip.recipe.d.ts +10 -1
  672. package/dist/types/components/index.d.ts +5 -0
  673. package/dist/types/hocs/withFormControl/withFormControl.d.ts +44 -0
  674. package/dist/types/hocs/withTruncation.d.ts +8 -0
  675. package/dist/types/hooks/useBreakpoint/index.d.ts +4 -0
  676. package/dist/types/hooks/useColorMode/index.d.ts +39 -0
  677. package/dist/types/hooks/useColorModeValue/index.d.ts +6 -0
  678. package/dist/types/hooks/useDeviceType/index.d.ts +4 -0
  679. package/dist/types/hooks/useIconTextSizeMap.d.ts +5 -0
  680. package/dist/types/shared/components/withVariantStory.d.ts +6 -0
  681. package/dist/types/shared/types/index.d.ts +1 -0
  682. package/dist/types/theme/providers/theme.provider.d.ts +1 -0
  683. package/dist/types/theme/recipes/List/list.recipe.d.ts +14 -0
  684. package/dist/types/theme/recipes/Table/table.recipe.d.ts +29 -0
  685. package/dist/types/theme/semanticTokens/semanticTokens.config.d.ts +91 -82
  686. package/dist/types/theme/semanticTokens/semanticTokens.records.d.ts +182 -164
  687. package/dist/types/theme/semanticTokens/semanticTokens.types.d.ts +4 -3
  688. package/dist/types/theme/tokens/sizes/sizes.config.d.ts +2 -2
  689. package/dist/types/theme/tokens/zIndices/zIndices.config.d.ts +10 -10
  690. package/package.json +21 -18
  691. package/dist/chunks/alert.types-De_IDZNV.js +0 -2
  692. package/dist/chunks/alert.types-De_IDZNV.js.map +0 -1
  693. package/dist/chunks/alert.types-NkOwCG0-.js +0 -139
  694. package/dist/chunks/alert.types-NkOwCG0-.js.map +0 -1
  695. package/dist/chunks/avatar.component-CqFsGMt6.js +0 -2
  696. package/dist/chunks/avatar.component-CqFsGMt6.js.map +0 -1
  697. package/dist/chunks/avatar.component-lHszPWEi.js +0 -394
  698. package/dist/chunks/avatar.component-lHszPWEi.js.map +0 -1
  699. package/dist/chunks/avatarGroup.component-BPYIE5NT.js +0 -2
  700. package/dist/chunks/avatarGroup.component-BPYIE5NT.js.map +0 -1
  701. package/dist/chunks/avatarGroup.component-EFxRAKiJ.js +0 -67
  702. package/dist/chunks/avatarGroup.component-EFxRAKiJ.js.map +0 -1
  703. package/dist/chunks/button.component-BE20YKDd.js +0 -67
  704. package/dist/chunks/button.component-BE20YKDd.js.map +0 -1
  705. package/dist/chunks/button.component-DAv5WxDc.js +0 -2
  706. package/dist/chunks/button.component-DAv5WxDc.js.map +0 -1
  707. package/dist/chunks/button.recipe-7PSQJbyz.js +0 -2
  708. package/dist/chunks/button.recipe-7PSQJbyz.js.map +0 -1
  709. package/dist/chunks/button.recipe-ClmsjdZI.js +0 -910
  710. package/dist/chunks/button.recipe-ClmsjdZI.js.map +0 -1
  711. package/dist/chunks/button.types-BKXZNvN1.js.map +0 -1
  712. package/dist/chunks/button.types-Bl1awbi0.js +0 -2
  713. package/dist/chunks/button.types-Bl1awbi0.js.map +0 -1
  714. package/dist/chunks/buttonGroup.component-CQBXYOhq.js +0 -2
  715. package/dist/chunks/buttonGroup.component-CQBXYOhq.js.map +0 -1
  716. package/dist/chunks/buttonGroup.component-CheBkHw6.js +0 -68
  717. package/dist/chunks/buttonGroup.component-CheBkHw6.js.map +0 -1
  718. package/dist/chunks/card.component-BZxC19F_.js +0 -2
  719. package/dist/chunks/card.component-BZxC19F_.js.map +0 -1
  720. package/dist/chunks/card.component-DJcYzMX1.js +0 -58
  721. package/dist/chunks/card.component-DJcYzMX1.js.map +0 -1
  722. package/dist/chunks/characterCounter.component-C6ZwdIiA.js +0 -84
  723. package/dist/chunks/characterCounter.component-C6ZwdIiA.js.map +0 -1
  724. package/dist/chunks/characterCounter.component-D0ccCiBG.js +0 -2
  725. package/dist/chunks/characterCounter.component-D0ccCiBG.js.map +0 -1
  726. package/dist/chunks/checkbox.component-DNOkXggb.js +0 -260
  727. package/dist/chunks/checkbox.component-Dhjcu89D.js +0 -2
  728. package/dist/chunks/checkboxGroup.component-BNKJqMKi.js +0 -52
  729. package/dist/chunks/checkboxGroup.component-BNKJqMKi.js.map +0 -1
  730. package/dist/chunks/checkboxGroup.component-M-nvlAbK.js +0 -2
  731. package/dist/chunks/checkboxGroup.component-M-nvlAbK.js.map +0 -1
  732. package/dist/chunks/conversationCard.component-BRJbMpwH.js +0 -2
  733. package/dist/chunks/conversationCard.component-BRJbMpwH.js.map +0 -1
  734. package/dist/chunks/conversationCard.component-DmSuBQ4_.js +0 -330
  735. package/dist/chunks/conversationCard.component-DmSuBQ4_.js.map +0 -1
  736. package/dist/chunks/create-slot-recipe-context-CViypfwB.js +0 -2
  737. package/dist/chunks/create-slot-recipe-context-CViypfwB.js.map +0 -1
  738. package/dist/chunks/create-slot-recipe-context-CrlT_nGQ.js +0 -97
  739. package/dist/chunks/create-slot-recipe-context-CrlT_nGQ.js.map +0 -1
  740. package/dist/chunks/datePicker.component-BOsFZiDy.js +0 -15
  741. package/dist/chunks/datePicker.component-BOsFZiDy.js.map +0 -1
  742. package/dist/chunks/datePicker.component-Dzh4WccC.js +0 -3019
  743. package/dist/chunks/datePicker.component-Dzh4WccC.js.map +0 -1
  744. package/dist/chunks/dialog-BPhjKQkb.js +0 -2
  745. package/dist/chunks/divider.types-Dht8eAh4.js +0 -2
  746. package/dist/chunks/divider.types-Dht8eAh4.js.map +0 -1
  747. package/dist/chunks/divider.types-ZN_wlva7.js +0 -47
  748. package/dist/chunks/divider.types-ZN_wlva7.js.map +0 -1
  749. package/dist/chunks/grid-item-DPdTp_nI.js +0 -94
  750. package/dist/chunks/grid-item-DPdTp_nI.js.map +0 -1
  751. package/dist/chunks/grid-item-qnuioQmr.js +0 -2
  752. package/dist/chunks/grid-item-qnuioQmr.js.map +0 -1
  753. package/dist/chunks/heading.component-C_cdAGTd.js +0 -2
  754. package/dist/chunks/heading.component-C_cdAGTd.js.map +0 -1
  755. package/dist/chunks/heading.component-SiJnYLOw.js +0 -12
  756. package/dist/chunks/heading.component-SiJnYLOw.js.map +0 -1
  757. package/dist/chunks/icon.component-Bhnf2n1O.js +0 -2
  758. package/dist/chunks/icon.component-Bhnf2n1O.js.map +0 -1
  759. package/dist/chunks/icon.component-C5bgxAD2.js +0 -32
  760. package/dist/chunks/icon.component-C5bgxAD2.js.map +0 -1
  761. package/dist/chunks/index-2glJ2faJ.js +0 -2
  762. package/dist/chunks/index-7Jpijbq_.js +0 -3
  763. package/dist/chunks/index-7Jpijbq_.js.map +0 -1
  764. package/dist/chunks/index-A_vmTNU7.js +0 -2
  765. package/dist/chunks/index-BEfEzWJx.js +0 -2
  766. package/dist/chunks/index-Bm5QBNWR.js +0 -8190
  767. package/dist/chunks/index-Bm5QBNWR.js.map +0 -1
  768. package/dist/chunks/index-Cv06PsSJ.js.map +0 -1
  769. package/dist/chunks/index-DA90Dqf9.js +0 -1362
  770. package/dist/chunks/index-DA90Dqf9.js.map +0 -1
  771. package/dist/chunks/index-DAI6_P9H.js +0 -2
  772. package/dist/chunks/index-DMcwHRZ5.js +0 -11
  773. package/dist/chunks/index-DMcwHRZ5.js.map +0 -1
  774. package/dist/chunks/index-jnwdAJ25.js +0 -2
  775. package/dist/chunks/index-jnwdAJ25.js.map +0 -1
  776. package/dist/chunks/link.component-CvR5CbiT.js +0 -36
  777. package/dist/chunks/link.component-CvR5CbiT.js.map +0 -1
  778. package/dist/chunks/link.component-yUJIJbIP.js +0 -2
  779. package/dist/chunks/link.component-yUJIJbIP.js.map +0 -1
  780. package/dist/chunks/logo.types-DF4eLSR9.js +0 -45
  781. package/dist/chunks/logo.types-DF4eLSR9.js.map +0 -1
  782. package/dist/chunks/logo.types-Zt-yfFAQ.js +0 -2
  783. package/dist/chunks/logo.types-Zt-yfFAQ.js.map +0 -1
  784. package/dist/chunks/menu.component-DylZiPAE.js +0 -2
  785. package/dist/chunks/menu.component-DylZiPAE.js.map +0 -1
  786. package/dist/chunks/menu.component-xhHsHlGT.js +0 -599
  787. package/dist/chunks/menu.component-xhHsHlGT.js.map +0 -1
  788. package/dist/chunks/modal.types-CBos7aXO.js +0 -2
  789. package/dist/chunks/modal.types-CBos7aXO.js.map +0 -1
  790. package/dist/chunks/modal.types-CkQIOPTa.js +0 -95
  791. package/dist/chunks/modal.types-CkQIOPTa.js.map +0 -1
  792. package/dist/chunks/notificationCounter.component-Lu4_Owvr.js.map +0 -1
  793. package/dist/chunks/notificationCounter.component-gp2ULnY_.js +0 -2
  794. package/dist/chunks/notificationCounter.component-gp2ULnY_.js.map +0 -1
  795. package/dist/chunks/picture.component-CKK-SMvr.js +0 -22
  796. package/dist/chunks/picture.component-CKK-SMvr.js.map +0 -1
  797. package/dist/chunks/picture.component-CR6e0wRG.js +0 -2
  798. package/dist/chunks/picture.component-CR6e0wRG.js.map +0 -1
  799. package/dist/chunks/pinInput.types-CcN0aX_i.js +0 -145
  800. package/dist/chunks/pinInput.types-Cqm1Px5l.js +0 -2
  801. package/dist/chunks/popover-root-provider-CkW1eCBQ.js +0 -43
  802. package/dist/chunks/popover-root-provider-ZB5BcrXn.js +0 -2
  803. package/dist/chunks/popover.component-BjS13k9K.js +0 -2
  804. package/dist/chunks/popover.component-BjS13k9K.js.map +0 -1
  805. package/dist/chunks/popover.component-C4WKxh4d.js +0 -196
  806. package/dist/chunks/popover.component-C4WKxh4d.js.map +0 -1
  807. package/dist/chunks/popover.recipe-Bx25Jhgs.js +0 -2
  808. package/dist/chunks/popover.recipe-Bx25Jhgs.js.map +0 -1
  809. package/dist/chunks/popover.recipe-C2nbfvL6.js +0 -241
  810. package/dist/chunks/popover.recipe-C2nbfvL6.js.map +0 -1
  811. package/dist/chunks/popover.types-BF2KRf_I.js +0 -2
  812. package/dist/chunks/popover.types-BF2KRf_I.js.map +0 -1
  813. package/dist/chunks/popover.types-D1O-Ehsz.js +0 -7
  814. package/dist/chunks/popover.types-D1O-Ehsz.js.map +0 -1
  815. package/dist/chunks/radioGroup.types-CZA7RcAn.js +0 -2
  816. package/dist/chunks/radioGroup.types-CZA7RcAn.js.map +0 -1
  817. package/dist/chunks/radioGroup.types-Dld5lmgo.js +0 -231
  818. package/dist/chunks/radioGroup.types-Dld5lmgo.js.map +0 -1
  819. package/dist/chunks/ratingDots.component-DcrCudac.js +0 -2
  820. package/dist/chunks/ratingDots.component-DcrCudac.js.map +0 -1
  821. package/dist/chunks/ratingDots.component-G4GMWvFy.js +0 -138
  822. package/dist/chunks/ratingDots.component-G4GMWvFy.js.map +0 -1
  823. package/dist/chunks/select.component-BTWHWvZV.js +0 -1058
  824. package/dist/chunks/select.component-BTWHWvZV.js.map +0 -1
  825. package/dist/chunks/select.component-Dyc1yQPO.js +0 -2
  826. package/dist/chunks/select.component-Dyc1yQPO.js.map +0 -1
  827. package/dist/chunks/spinner-C31ZWQmA.js +0 -8
  828. package/dist/chunks/spinner.component-CVVOuFka.js +0 -2
  829. package/dist/chunks/spinner.component-CVVOuFka.js.map +0 -1
  830. package/dist/chunks/spinner.component-DPYj17HK.js.map +0 -1
  831. package/dist/chunks/styledAvatar.types-CMpyDxAM.js +0 -2
  832. package/dist/chunks/styledAvatar.types-CMpyDxAM.js.map +0 -1
  833. package/dist/chunks/styledAvatar.types-CS07Zk7c.js +0 -51
  834. package/dist/chunks/styledAvatar.types-CS07Zk7c.js.map +0 -1
  835. package/dist/chunks/swatch.types-CXlghcLw.js.map +0 -1
  836. package/dist/chunks/swatch.types-jaI0KFHU.js +0 -2
  837. package/dist/chunks/swatch.types-jaI0KFHU.js.map +0 -1
  838. package/dist/chunks/switch.component-C88jBbo_.js +0 -2
  839. package/dist/chunks/switch.component-Cke7O8gk.js +0 -154
  840. package/dist/chunks/tab.types-DpmXyw5C.js +0 -2
  841. package/dist/chunks/tag.component-79aRVI7u.js +0 -82
  842. package/dist/chunks/tag.component-79aRVI7u.js.map +0 -1
  843. package/dist/chunks/tag.component-CAWh9OYa.js +0 -2
  844. package/dist/chunks/tag.component-CAWh9OYa.js.map +0 -1
  845. package/dist/chunks/tagBlock.component-Dn7coOgp.js +0 -2
  846. package/dist/chunks/tagBlock.component-Dn7coOgp.js.map +0 -1
  847. package/dist/chunks/tagBlock.component-vLA90b5S.js +0 -169
  848. package/dist/chunks/tagBlock.component-vLA90b5S.js.map +0 -1
  849. package/dist/chunks/text.component-CHpMvCFa.js +0 -2
  850. package/dist/chunks/text.component-CHpMvCFa.js.map +0 -1
  851. package/dist/chunks/text.component-D9w-u_dB.js +0 -12
  852. package/dist/chunks/text.component-D9w-u_dB.js.map +0 -1
  853. package/dist/chunks/textInput.component-Dpxb2RI-.js +0 -169
  854. package/dist/chunks/textInput.component-Dpxb2RI-.js.map +0 -1
  855. package/dist/chunks/textInput.component-Dx_Ktcmr.js +0 -2
  856. package/dist/chunks/textInput.component-Dx_Ktcmr.js.map +0 -1
  857. package/dist/chunks/textarea.component-BYexywy1.js +0 -2
  858. package/dist/chunks/textarea.component-Dk2IMKkr.js +0 -79
  859. package/dist/chunks/theme.provider-XYBMZJTB.js +0 -28
  860. package/dist/chunks/theme.provider-XYBMZJTB.js.map +0 -1
  861. package/dist/chunks/theme.provider-w_I9S10D.js.map +0 -1
  862. package/dist/chunks/timePicker.component-Bbd3BOA6.js +0 -209
  863. package/dist/chunks/timePicker.component-Bbd3BOA6.js.map +0 -1
  864. package/dist/chunks/timePicker.component-DcNgUFGj.js +0 -2
  865. package/dist/chunks/timePicker.component-DcNgUFGj.js.map +0 -1
  866. package/dist/chunks/timeRange.component-BBhPc2LP.js +0 -18
  867. package/dist/chunks/timeRange.component-BBhPc2LP.js.map +0 -1
  868. package/dist/chunks/timeRange.component-Bb-xDHWT.js +0 -2
  869. package/dist/chunks/timeRange.component-Bb-xDHWT.js.map +0 -1
  870. package/dist/chunks/timestamp.component-CrY5t68x.js +0 -2
  871. package/dist/chunks/timestamp.component-CrY5t68x.js.map +0 -1
  872. package/dist/chunks/timestamp.component-m0FTjlAi.js +0 -51
  873. package/dist/chunks/timestamp.component-m0FTjlAi.js.map +0 -1
  874. package/dist/chunks/toaster.records-eCXbM85Z.js +0 -2
  875. package/dist/chunks/tooltip.component-CATpCSkf.js +0 -2
  876. package/dist/chunks/typography.records-CpYV1kns.js.map +0 -1
  877. package/dist/chunks/typography.records-Dbw3sz4i.js +0 -2
  878. package/dist/chunks/typography.records-Dbw3sz4i.js.map +0 -1
  879. package/dist/chunks/use-locale-context-CazVZ4Kg.js +0 -2315
  880. package/dist/chunks/use-locale-context-CazVZ4Kg.js.map +0 -1
  881. package/dist/chunks/use-locale-context-Dv7DQ_mn.js +0 -22
  882. package/dist/chunks/use-locale-context-Dv7DQ_mn.js.map +0 -1
  883. package/dist/chunks/use-slot-recipe-8liupslO.js +0 -2
  884. package/dist/chunks/use-slot-recipe-8liupslO.js.map +0 -1
  885. package/dist/chunks/use-slot-recipe-DhtQ1j_5.js +0 -13
  886. package/dist/chunks/use-slot-recipe-DhtQ1j_5.js.map +0 -1
  887. package/dist/chunks/withFormControl-BdiccBy5.js +0 -2
  888. package/dist/chunks/withFormControl-BdiccBy5.js.map +0 -1
  889. package/dist/chunks/withFormControl-CRXVopOk.js +0 -361
  890. package/dist/chunks/withFormControl-CRXVopOk.js.map +0 -1
  891. package/dist/chunks/withTruncation-C9XLf_j6.js +0 -67
  892. package/dist/chunks/withTruncation-C9XLf_j6.js.map +0 -1
  893. package/dist/chunks/withTruncation-Ddr3jvAO.js +0 -2
  894. package/dist/chunks/withTruncation-Ddr3jvAO.js.map +0 -1
  895. package/dist/types/components/Menu/components/MenuButton/menuButton.components.d.ts +0 -9
  896. package/dist/types/components/Menu/components/MenuToggleButtons/menuToggleButtons.d.ts +0 -10
  897. package/dist/types/shared/utils/argTypes.d.ts +0 -6
@@ -1 +0,0 @@
1
- {"version":3,"file":"index-Bm5QBNWR.js","sources":["../../node_modules/@chakra-ui/react/node_modules/@pandacss/is-valid-prop/dist/index.mjs","../../node_modules/@chakra-ui/react/dist/esm/utils/flatten.js","../../node_modules/fast-safe-stringify/index.js","../../node_modules/@chakra-ui/react/dist/esm/utils/memo.js","../../node_modules/@chakra-ui/react/dist/esm/styled-system/unit-conversion.js","../../node_modules/@chakra-ui/react/dist/esm/styled-system/breakpoints.js","../../node_modules/@chakra-ui/react/dist/esm/styled-system/conditions.js","../../node_modules/@chakra-ui/react/dist/esm/styled-system/sort-at-params.js","../../node_modules/@chakra-ui/react/dist/esm/styled-system/sort-at-rules.js","../../node_modules/@chakra-ui/react/dist/esm/styled-system/css.js","../../node_modules/@chakra-ui/react/dist/esm/styled-system/cva.js","../../node_modules/@chakra-ui/react/dist/esm/styled-system/layers.js","../../node_modules/@chakra-ui/react/dist/esm/styled-system/normalize.js","../../node_modules/@chakra-ui/react/dist/esm/styled-system/preflight.js","../../node_modules/@chakra-ui/react/dist/esm/styled-system/serialize.js","../../node_modules/@chakra-ui/react/dist/esm/styled-system/sva.js","../../node_modules/@chakra-ui/react/dist/esm/utils/create-props.js","../../node_modules/@chakra-ui/react/dist/esm/styled-system/css-var.js","../../node_modules/@chakra-ui/react/dist/esm/styled-system/esc.js","../../node_modules/@chakra-ui/react/dist/esm/styled-system/expand-reference.js","../../node_modules/@chakra-ui/react/dist/esm/styled-system/map-to-json.js","../../node_modules/@chakra-ui/react/dist/esm/styled-system/references.js","../../node_modules/@chakra-ui/react/dist/esm/styled-system/calc.js","../../node_modules/@chakra-ui/react/dist/esm/styled-system/token-middleware.js","../../node_modules/@chakra-ui/react/dist/esm/styled-system/token-transforms.js","../../node_modules/@chakra-ui/react/dist/esm/styled-system/token-dictionary.js","../../node_modules/@chakra-ui/react/dist/esm/styled-system/color-mix.js","../../node_modules/@chakra-ui/react/dist/esm/styled-system/utility.js","../../node_modules/@chakra-ui/react/dist/esm/styled-system/system.js","../../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/@zag-js/clipboard/dist/index.mjs","../../node_modules/@ark-ui/react/dist/components/color-picker/color-picker.anatomy.js","../../node_modules/@zag-js/file-utils/dist/index.mjs","../../node_modules/@zag-js/editable/dist/index.mjs","../../node_modules/@zag-js/i18n-utils/dist/index.mjs","../../node_modules/@zag-js/file-upload/dist/index.mjs","../../node_modules/@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/index.ts\nvar userGeneratedStr = \"\";\nvar userGenerated = userGeneratedStr.split(\",\");\nvar cssPropertiesStr = \"WebkitAppearance,WebkitBorderBefore,WebkitBorderBeforeColor,WebkitBorderBeforeStyle,WebkitBorderBeforeWidth,WebkitBoxReflect,WebkitLineClamp,WebkitMask,WebkitMaskAttachment,WebkitMaskClip,WebkitMaskComposite,WebkitMaskImage,WebkitMaskOrigin,WebkitMaskPosition,WebkitMaskPositionX,WebkitMaskPositionY,WebkitMaskRepeat,WebkitMaskRepeatX,WebkitMaskRepeatY,WebkitMaskSize,WebkitOverflowScrolling,WebkitTapHighlightColor,WebkitTextFillColor,WebkitTextStroke,WebkitTextStrokeColor,WebkitTextStrokeWidth,WebkitTouchCallout,WebkitUserModify,WebkitUserSelect,accentColor,alignContent,alignItems,alignSelf,alignTracks,all,anchorName,anchorScope,animation,animationComposition,animationDelay,animationDirection,animationDuration,animationFillMode,animationIterationCount,animationName,animationPlayState,animationRange,animationRangeEnd,animationRangeStart,animationTimeline,animationTimingFunction,appearance,aspectRatio,backdropFilter,backfaceVisibility,background,backgroundAttachment,backgroundBlendMode,backgroundClip,backgroundColor,backgroundImage,backgroundOrigin,backgroundPosition,backgroundPositionX,backgroundPositionY,backgroundRepeat,backgroundSize,blockSize,border,borderBlock,borderBlockColor,borderBlockEnd,borderBlockEndColor,borderBlockEndStyle,borderBlockEndWidth,borderBlockStart,borderBlockStartColor,borderBlockStartStyle,borderBlockStartWidth,borderBlockStyle,borderBlockWidth,borderBottom,borderBottomColor,borderBottomLeftRadius,borderBottomRightRadius,borderBottomStyle,borderBottomWidth,borderCollapse,borderColor,borderEndEndRadius,borderEndStartRadius,borderImage,borderImageOutset,borderImageRepeat,borderImageSlice,borderImageSource,borderImageWidth,borderInline,borderInlineColor,borderInlineEnd,borderInlineEndColor,borderInlineEndStyle,borderInlineEndWidth,borderInlineStart,borderInlineStartColor,borderInlineStartStyle,borderInlineStartWidth,borderInlineStyle,borderInlineWidth,borderLeft,borderLeftColor,borderLeftStyle,borderLeftWidth,borderRadius,borderRight,borderRightColor,borderRightStyle,borderRightWidth,borderSpacing,borderStartEndRadius,borderStartStartRadius,borderStyle,borderTop,borderTopColor,borderTopLeftRadius,borderTopRightRadius,borderTopStyle,borderTopWidth,borderWidth,bottom,boxAlign,boxDecorationBreak,boxDirection,boxFlex,boxFlexGroup,boxLines,boxOrdinalGroup,boxOrient,boxPack,boxShadow,boxSizing,breakAfter,breakBefore,breakInside,captionSide,caret,caretColor,caretShape,clear,clip,clipPath,clipRule,color,colorInterpolationFilters,colorScheme,columnCount,columnFill,columnGap,columnRule,columnRuleColor,columnRuleStyle,columnRuleWidth,columnSpan,columnWidth,columns,contain,containIntrinsicBlockSize,containIntrinsicHeight,containIntrinsicInlineSize,containIntrinsicSize,containIntrinsicWidth,container,containerName,containerType,content,contentVisibility,counterIncrement,counterReset,counterSet,cursor,cx,cy,d,direction,display,dominantBaseline,emptyCells,fieldSizing,fill,fillOpacity,fillRule,filter,flex,flexBasis,flexDirection,flexFlow,flexGrow,flexShrink,flexWrap,float,floodColor,floodOpacity,font,fontFamily,fontFeatureSettings,fontKerning,fontLanguageOverride,fontOpticalSizing,fontPalette,fontSize,fontSizeAdjust,fontSmooth,fontStretch,fontStyle,fontSynthesis,fontSynthesisPosition,fontSynthesisSmallCaps,fontSynthesisStyle,fontSynthesisWeight,fontVariant,fontVariantAlternates,fontVariantCaps,fontVariantEastAsian,fontVariantEmoji,fontVariantLigatures,fontVariantNumeric,fontVariantPosition,fontVariationSettings,fontWeight,forcedColorAdjust,gap,grid,gridArea,gridAutoColumns,gridAutoFlow,gridAutoRows,gridColumn,gridColumnEnd,gridColumnGap,gridColumnStart,gridGap,gridRow,gridRowEnd,gridRowGap,gridRowStart,gridTemplate,gridTemplateAreas,gridTemplateColumns,gridTemplateRows,hangingPunctuation,height,hyphenateCharacter,hyphenateLimitChars,hyphens,imageOrientation,imageRendering,imageResolution,imeMode,initialLetter,initialLetterAlign,inlineSize,inset,insetBlock,insetBlockEnd,insetBlockStart,insetInline,insetInlineEnd,insetInlineStart,interpolateSize,isolation,justifyContent,justifyItems,justifySelf,justifyTracks,left,letterSpacing,lightingColor,lineBreak,lineClamp,lineHeight,lineHeightStep,listStyle,listStyleImage,listStylePosition,listStyleType,margin,marginBlock,marginBlockEnd,marginBlockStart,marginBottom,marginInline,marginInlineEnd,marginInlineStart,marginLeft,marginRight,marginTop,marginTrim,marker,markerEnd,markerMid,markerStart,mask,maskBorder,maskBorderMode,maskBorderOutset,maskBorderRepeat,maskBorderSlice,maskBorderSource,maskBorderWidth,maskClip,maskComposite,maskImage,maskMode,maskOrigin,maskPosition,maskRepeat,maskSize,maskType,masonryAutoFlow,mathDepth,mathShift,mathStyle,maxBlockSize,maxHeight,maxInlineSize,maxLines,maxWidth,minBlockSize,minHeight,minInlineSize,minWidth,mixBlendMode,objectFit,objectPosition,offset,offsetAnchor,offsetDistance,offsetPath,offsetPosition,offsetRotate,opacity,order,orphans,outline,outlineColor,outlineOffset,outlineStyle,outlineWidth,overflow,overflowAnchor,overflowBlock,overflowClipBox,overflowClipMargin,overflowInline,overflowWrap,overflowX,overflowY,overlay,overscrollBehavior,overscrollBehaviorBlock,overscrollBehaviorInline,overscrollBehaviorX,overscrollBehaviorY,padding,paddingBlock,paddingBlockEnd,paddingBlockStart,paddingBottom,paddingInline,paddingInlineEnd,paddingInlineStart,paddingLeft,paddingRight,paddingTop,page,pageBreakAfter,pageBreakBefore,pageBreakInside,paintOrder,perspective,perspectiveOrigin,placeContent,placeItems,placeSelf,pointerEvents,position,positionAnchor,positionArea,positionTry,positionTryFallbacks,positionTryOrder,positionVisibility,printColorAdjust,quotes,r,resize,right,rotate,rowGap,rubyAlign,rubyMerge,rubyPosition,rx,ry,scale,scrollBehavior,scrollMargin,scrollMarginBlock,scrollMarginBlockEnd,scrollMarginBlockStart,scrollMarginBottom,scrollMarginInline,scrollMarginInlineEnd,scrollMarginInlineStart,scrollMarginLeft,scrollMarginRight,scrollMarginTop,scrollPadding,scrollPaddingBlock,scrollPaddingBlockEnd,scrollPaddingBlockStart,scrollPaddingBottom,scrollPaddingInline,scrollPaddingInlineEnd,scrollPaddingInlineStart,scrollPaddingLeft,scrollPaddingRight,scrollPaddingTop,scrollSnapAlign,scrollSnapCoordinate,scrollSnapDestination,scrollSnapPointsX,scrollSnapPointsY,scrollSnapStop,scrollSnapType,scrollSnapTypeX,scrollSnapTypeY,scrollTimeline,scrollTimelineAxis,scrollTimelineName,scrollbarColor,scrollbarGutter,scrollbarWidth,shapeImageThreshold,shapeMargin,shapeOutside,shapeRendering,stopColor,stopOpacity,stroke,strokeDasharray,strokeDashoffset,strokeLinecap,strokeLinejoin,strokeMiterlimit,strokeOpacity,strokeWidth,tabSize,tableLayout,textAlign,textAlignLast,textAnchor,textBox,textBoxEdge,textBoxTrim,textCombineUpright,textDecoration,textDecorationColor,textDecorationLine,textDecorationSkip,textDecorationSkipInk,textDecorationStyle,textDecorationThickness,textEmphasis,textEmphasisColor,textEmphasisPosition,textEmphasisStyle,textIndent,textJustify,textOrientation,textOverflow,textRendering,textShadow,textSizeAdjust,textSpacingTrim,textTransform,textUnderlineOffset,textUnderlinePosition,textWrap,textWrapMode,textWrapStyle,timelineScope,top,touchAction,transform,transformBox,transformOrigin,transformStyle,transition,transitionBehavior,transitionDelay,transitionDuration,transitionProperty,transitionTimingFunction,translate,unicodeBidi,userSelect,vectorEffect,verticalAlign,viewTimeline,viewTimelineAxis,viewTimelineInset,viewTimelineName,viewTransitionName,visibility,whiteSpace,whiteSpaceCollapse,widows,width,willChange,wordBreak,wordSpacing,wordWrap,writingMode,x,y,zIndex,zoom,alignmentBaseline,baselineShift,colorInterpolation,colorRendering,glyphOrientationVertical\";\nvar allCssProperties = cssPropertiesStr.split(\",\").concat(userGenerated);\nvar properties = new Map(allCssProperties.map((prop) => [prop, true]));\nfunction memo(fn) {\n const cache = /* @__PURE__ */ Object.create(null);\n return (arg) => {\n if (cache[arg] === void 0)\n cache[arg] = fn(arg);\n return cache[arg];\n };\n}\nvar cssPropertySelectorRegex = /&|@/;\nvar isCssProperty = /* @__PURE__ */ memo((prop) => {\n return properties.has(prop) || prop.startsWith(\"--\") || cssPropertySelectorRegex.test(prop);\n});\nexport {\n allCssProperties,\n isCssProperty\n};\n","\"use strict\";\nimport { walkObject } from './walk-object.js';\n\nfunction flatten(values, stop) {\n const result = {};\n walkObject(\n values,\n (token, paths) => {\n if (token) {\n result[paths.join(\".\")] = token.value;\n }\n },\n { stop }\n );\n return result;\n}\n\nexport { flatten };\n","module.exports = stringify\nstringify.default = stringify\nstringify.stable = deterministicStringify\nstringify.stableStringify = deterministicStringify\n\nvar LIMIT_REPLACE_NODE = '[...]'\nvar CIRCULAR_REPLACE_NODE = '[Circular]'\n\nvar arr = []\nvar replacerStack = []\n\nfunction defaultOptions () {\n return {\n depthLimit: Number.MAX_SAFE_INTEGER,\n edgesLimit: Number.MAX_SAFE_INTEGER\n }\n}\n\n// Regular stringify\nfunction stringify (obj, replacer, spacer, options) {\n if (typeof options === 'undefined') {\n options = defaultOptions()\n }\n\n decirc(obj, '', 0, [], undefined, 0, options)\n var res\n try {\n if (replacerStack.length === 0) {\n res = JSON.stringify(obj, replacer, spacer)\n } else {\n res = JSON.stringify(obj, replaceGetterValues(replacer), spacer)\n }\n } catch (_) {\n return JSON.stringify('[unable to serialize, circular reference is too complex to analyze]')\n } finally {\n while (arr.length !== 0) {\n var part = arr.pop()\n if (part.length === 4) {\n Object.defineProperty(part[0], part[1], part[3])\n } else {\n part[0][part[1]] = part[2]\n }\n }\n }\n return res\n}\n\nfunction setReplace (replace, val, k, parent) {\n var propertyDescriptor = Object.getOwnPropertyDescriptor(parent, k)\n if (propertyDescriptor.get !== undefined) {\n if (propertyDescriptor.configurable) {\n Object.defineProperty(parent, k, { value: replace })\n arr.push([parent, k, val, propertyDescriptor])\n } else {\n replacerStack.push([val, k, replace])\n }\n } else {\n parent[k] = replace\n arr.push([parent, k, val])\n }\n}\n\nfunction decirc (val, k, edgeIndex, stack, parent, depth, options) {\n depth += 1\n var i\n if (typeof val === 'object' && val !== null) {\n for (i = 0; i < stack.length; i++) {\n if (stack[i] === val) {\n setReplace(CIRCULAR_REPLACE_NODE, val, k, parent)\n return\n }\n }\n\n if (\n typeof options.depthLimit !== 'undefined' &&\n depth > options.depthLimit\n ) {\n setReplace(LIMIT_REPLACE_NODE, val, k, parent)\n return\n }\n\n if (\n typeof options.edgesLimit !== 'undefined' &&\n edgeIndex + 1 > options.edgesLimit\n ) {\n setReplace(LIMIT_REPLACE_NODE, val, k, parent)\n return\n }\n\n stack.push(val)\n // Optimize for Arrays. Big arrays could kill the performance otherwise!\n if (Array.isArray(val)) {\n for (i = 0; i < val.length; i++) {\n decirc(val[i], i, i, stack, val, depth, options)\n }\n } else {\n var keys = Object.keys(val)\n for (i = 0; i < keys.length; i++) {\n var key = keys[i]\n decirc(val[key], key, i, stack, val, depth, options)\n }\n }\n stack.pop()\n }\n}\n\n// Stable-stringify\nfunction compareFunction (a, b) {\n if (a < b) {\n return -1\n }\n if (a > b) {\n return 1\n }\n return 0\n}\n\nfunction deterministicStringify (obj, replacer, spacer, options) {\n if (typeof options === 'undefined') {\n options = defaultOptions()\n }\n\n var tmp = deterministicDecirc(obj, '', 0, [], undefined, 0, options) || obj\n var res\n try {\n if (replacerStack.length === 0) {\n res = JSON.stringify(tmp, replacer, spacer)\n } else {\n res = JSON.stringify(tmp, replaceGetterValues(replacer), spacer)\n }\n } catch (_) {\n return JSON.stringify('[unable to serialize, circular reference is too complex to analyze]')\n } finally {\n // Ensure that we restore the object as it was.\n while (arr.length !== 0) {\n var part = arr.pop()\n if (part.length === 4) {\n Object.defineProperty(part[0], part[1], part[3])\n } else {\n part[0][part[1]] = part[2]\n }\n }\n }\n return res\n}\n\nfunction deterministicDecirc (val, k, edgeIndex, stack, parent, depth, options) {\n depth += 1\n var i\n if (typeof val === 'object' && val !== null) {\n for (i = 0; i < stack.length; i++) {\n if (stack[i] === val) {\n setReplace(CIRCULAR_REPLACE_NODE, val, k, parent)\n return\n }\n }\n try {\n if (typeof val.toJSON === 'function') {\n return\n }\n } catch (_) {\n return\n }\n\n if (\n typeof options.depthLimit !== 'undefined' &&\n depth > options.depthLimit\n ) {\n setReplace(LIMIT_REPLACE_NODE, val, k, parent)\n return\n }\n\n if (\n typeof options.edgesLimit !== 'undefined' &&\n edgeIndex + 1 > options.edgesLimit\n ) {\n setReplace(LIMIT_REPLACE_NODE, val, k, parent)\n return\n }\n\n stack.push(val)\n // Optimize for Arrays. Big arrays could kill the performance otherwise!\n if (Array.isArray(val)) {\n for (i = 0; i < val.length; i++) {\n deterministicDecirc(val[i], i, i, stack, val, depth, options)\n }\n } else {\n // Create a temporary object in the required way\n var tmp = {}\n var keys = Object.keys(val).sort(compareFunction)\n for (i = 0; i < keys.length; i++) {\n var key = keys[i]\n deterministicDecirc(val[key], key, i, stack, val, depth, options)\n tmp[key] = val[key]\n }\n if (typeof parent !== 'undefined') {\n arr.push([parent, k, val])\n parent[k] = tmp\n } else {\n return tmp\n }\n }\n stack.pop()\n }\n}\n\n// wraps replacer function to handle values we couldn't replace\n// and mark them as replaced value\nfunction replaceGetterValues (replacer) {\n replacer =\n typeof replacer !== 'undefined'\n ? replacer\n : function (k, v) {\n return v\n }\n return function (key, val) {\n if (replacerStack.length > 0) {\n for (var i = 0; i < replacerStack.length; i++) {\n var part = replacerStack[i]\n if (part[1] === key && part[0] === val) {\n val = part[2]\n replacerStack.splice(i, 1)\n break\n }\n }\n }\n return replacer.call(this, key, val)\n }\n}\n","\"use strict\";\nimport stringify from 'fast-safe-stringify';\n\nconst memo = (fn) => {\n const cache = /* @__PURE__ */ Object.create(null);\n function get(...args) {\n const key = args.map((v) => stringify(v)).join(\"|\");\n if (cache[key] === void 0) cache[key] = fn(...args);\n return cache[key];\n }\n return get;\n};\n\nexport { memo };\n","\"use strict\";\nconst BASE_FONT_SIZE = 16;\nconst UNIT_PX = \"px\";\nconst UNIT_EM = \"em\";\nconst UNIT_REM = \"rem\";\nfunction getUnit(value = \"\") {\n const DIGIT_REGEX = new RegExp(String.raw`-?\\d+(?:\\.\\d+|\\d*)`);\n const UNIT_REGEX = new RegExp(`${UNIT_PX}|${UNIT_EM}|${UNIT_REM}`);\n const unit = value.match(\n new RegExp(`${DIGIT_REGEX.source}(${UNIT_REGEX.source})`)\n );\n return unit?.[1];\n}\nfunction toPx(value = \"\") {\n if (typeof value === \"number\") {\n return `${value}px`;\n }\n const unit = getUnit(value);\n if (!unit) return value;\n if (unit === UNIT_PX) {\n return value;\n }\n if (unit === UNIT_EM || unit === UNIT_REM) {\n return `${parseFloat(value) * BASE_FONT_SIZE}${UNIT_PX}`;\n }\n}\nfunction toEm(value = \"\", fontSize = BASE_FONT_SIZE) {\n const unit = getUnit(value);\n if (!unit) return value;\n if (unit === UNIT_EM) {\n return value;\n }\n if (unit === UNIT_PX) {\n return `${parseFloat(value) / fontSize}${UNIT_EM}`;\n }\n if (unit === UNIT_REM) {\n return `${parseFloat(value) * BASE_FONT_SIZE / fontSize}${UNIT_EM}`;\n }\n}\nfunction toRem(value = \"\") {\n const unit = getUnit(value);\n if (!unit) return value;\n if (unit === UNIT_REM) {\n return value;\n }\n if (unit === UNIT_EM) {\n return `${parseFloat(value)}${UNIT_REM}`;\n }\n if (unit === UNIT_PX) {\n return `${parseFloat(value) / BASE_FONT_SIZE}${UNIT_REM}`;\n }\n}\n\nexport { getUnit, toEm, toPx, toRem };\n","\"use strict\";\nimport { toRem, toPx } from './unit-conversion.js';\n\nconst capitalize = (str) => str.charAt(0).toUpperCase() + str.slice(1);\nfunction createBreakpoints(breakpoints) {\n const sorted = sort(breakpoints);\n const values = Object.fromEntries(sorted);\n function get(name) {\n return values[name];\n }\n function only(name) {\n return build(get(name));\n }\n function getRanges() {\n const breakpoints2 = Object.keys(values);\n const permuations = getPermutations(breakpoints2);\n const results = breakpoints2.flatMap((name) => {\n const value = get(name);\n const down2 = [\n `${name}Down`,\n build({ max: adjust(value.min) })\n ];\n const up2 = [name, build({ min: value.min })];\n const _only = [`${name}Only`, only(name)];\n return [up2, _only, down2];\n }).filter(([, value]) => value !== \"\").concat(\n permuations.map(([min, max]) => {\n const minValue = get(min);\n const maxValue = get(max);\n return [\n `${min}To${capitalize(max)}`,\n build({ min: minValue.min, max: adjust(maxValue.min) })\n ];\n })\n );\n return Object.fromEntries(results);\n }\n function toConditions() {\n const ranges = getRanges();\n return Object.fromEntries(Object.entries(ranges));\n }\n const conditions = toConditions();\n const getCondition = (key) => {\n return conditions[key];\n };\n function keys() {\n return [\"base\", ...Object.keys(values)];\n }\n function up(name) {\n return build({ min: get(name).min });\n }\n function down(name) {\n return build({ max: adjust(get(name).min) });\n }\n return {\n values: Object.values(values),\n only,\n keys,\n conditions,\n getCondition,\n up,\n down\n };\n}\nfunction adjust(value) {\n const computedMax = parseFloat(toPx(value) ?? \"\") - 0.04;\n return toRem(`${computedMax}px`);\n}\nfunction sort(breakpoints) {\n const entries = Object.entries(breakpoints).sort(([, minA], [, minB]) => {\n return parseInt(minA, 10) < parseInt(minB, 10) ? -1 : 1;\n });\n return entries.map(([name, min], index, entries2) => {\n let max = null;\n if (index <= entries2.length - 1) {\n max = entries2[index + 1]?.[1];\n }\n if (max != null) {\n max = adjust(max);\n }\n return [name, { name, min: toRem(min), max }];\n });\n}\nfunction getPermutations(values) {\n const result = [];\n values.forEach((current, index) => {\n let idx = index;\n idx++;\n let next = values[idx];\n while (next) {\n result.push([current, next]);\n idx++;\n next = values[idx];\n }\n });\n return result;\n}\nfunction build({\n min,\n max\n}) {\n if (min == null && max == null) return \"\";\n return [\n \"@media screen\",\n min && `(min-width: ${min})`,\n max && `(max-width: ${max})`\n ].filter(Boolean).join(\" and \");\n}\n\nexport { createBreakpoints };\n","\"use strict\";\nconst mapEntries = (obj, fn) => {\n return Object.fromEntries(\n Object.entries(obj).map(([key, value]) => fn(key, value))\n );\n};\nconst createConditions = (options) => {\n const { breakpoints, conditions: conds = {} } = options;\n const conditions = mapEntries(conds, (key, value) => [`_${key}`, value]);\n const values = Object.assign({}, conditions, breakpoints.conditions);\n function keys() {\n return Object.keys(values);\n }\n function has(key) {\n return keys().includes(key) || /^@|&|&$/.test(key) || key.startsWith(\"_\");\n }\n function sort(paths) {\n return paths.filter((v) => v !== \"base\").sort((a, b) => {\n const aa = has(a);\n const bb = has(b);\n if (aa && !bb) return 1;\n if (!aa && bb) return -1;\n return 0;\n });\n }\n function expandAtRule(key) {\n if (!key.startsWith(\"@breakpoint\")) return key;\n return breakpoints.getCondition(key.replace(\"@breakpoint \", \"\"));\n }\n function resolve(key) {\n return Reflect.get(values, key) || key;\n }\n return {\n keys,\n sort,\n has,\n resolve,\n breakpoints: breakpoints.keys(),\n expandAtRule\n };\n};\n\nexport { createConditions };\n","\"use strict\";\nimport { memo } from '../utils/memo.js';\n\nconst createMediaQueryRegex = (dimension) => ({\n minMax: new RegExp(\n `(!?\\\\(\\\\s*min(-device-)?-${dimension})(.|\n)+\\\\(\\\\s*max(-device)?-${dimension}`,\n \"i\"\n ),\n min: new RegExp(`\\\\(\\\\s*min(-device)?-${dimension}`, \"i\"),\n maxMin: new RegExp(\n `(!?\\\\(\\\\s*max(-device)?-${dimension})(.|\n)+\\\\(\\\\s*min(-device)?-${dimension}`,\n \"i\"\n ),\n max: new RegExp(`\\\\(\\\\s*max(-device)?-${dimension}`, \"i\")\n});\nconst widthRegex = createMediaQueryRegex(\"width\");\nconst heightRegex = createMediaQueryRegex(\"height\");\nconst createQueryTester = (regexSet) => ({\n isMin: _testQuery(regexSet.minMax, regexSet.maxMin, regexSet.min),\n isMax: _testQuery(regexSet.maxMin, regexSet.minMax, regexSet.max)\n});\nconst { isMin: isMinWidth, isMax: isMaxWidth } = createQueryTester(widthRegex);\nconst { isMin: isMinHeight, isMax: isMaxHeight } = createQueryTester(heightRegex);\nconst isPrint = /print/i;\nconst isPrintOnly = /^print$/i;\nconst isLength = /(-?\\d*\\.?\\d+)(ch|em|ex|px|rem)/;\nconst lengthExec = /(\\d)/;\nconst maxValue = Number.MAX_VALUE;\nconst multipliers = { ch: 8.8984375, em: 16, rem: 16, ex: 8.296875, px: 1 };\nfunction getQueryLength(query) {\n const length = isLength.exec(query) || (isMinWidth(query) || isMinHeight(query) ? lengthExec.exec(query) : null);\n if (!length) return maxValue;\n if (length[0] === \"0\") return 0;\n const number = parseFloat(length[1]);\n const unit = length[2];\n return number * (multipliers[unit] || 1);\n}\nfunction _testQuery(doubleTestTrue, doubleTestFalse, singleTest) {\n return (query) => doubleTestTrue.test(query) || !doubleTestFalse.test(query) && singleTest.test(query);\n}\nfunction _testIsPrint(a, b) {\n const isPrintA = isPrint.test(a), isPrintOnlyA = isPrintOnly.test(a);\n const isPrintB = isPrint.test(b), isPrintOnlyB = isPrintOnly.test(b);\n if (isPrintA && isPrintB) {\n if (!isPrintOnlyA && isPrintOnlyB) return 1;\n if (isPrintOnlyA && !isPrintOnlyB) return -1;\n return a.localeCompare(b);\n }\n return isPrintA ? 1 : isPrintB ? -1 : null;\n}\nconst sortAtParams = memo((a, b) => {\n const testIsPrint = _testIsPrint(a, b);\n if (testIsPrint !== null) return testIsPrint;\n const minA = isMinWidth(a) || isMinHeight(a), maxA = isMaxWidth(a) || isMaxHeight(a);\n const minB = isMinWidth(b) || isMinHeight(b), maxB = isMaxWidth(b) || isMaxHeight(b);\n if (minA && maxB) return -1;\n if (maxA && minB) return 1;\n const lengthA = getQueryLength(a), lengthB = getQueryLength(b);\n if (lengthA === maxValue && lengthB === maxValue) return a.localeCompare(b);\n if (lengthA === maxValue) return 1;\n if (lengthB === maxValue) return -1;\n if (lengthA !== lengthB) {\n return lengthA > lengthB ? maxA ? -1 : 1 : maxA ? 1 : -1;\n }\n return a.localeCompare(b);\n});\n\nexport { sortAtParams };\n","\"use strict\";\nimport { isObject } from '../utils/is.js';\nimport { sortAtParams } from './sort-at-params.js';\n\nfunction sortQueries(queries) {\n return queries.sort(([a], [b]) => sortAtParams(a, b));\n}\nfunction sortAtRules(obj) {\n const mediaQueries = [];\n const containerQueries = [];\n const rest = {};\n for (const [key, value] of Object.entries(obj)) {\n if (key.startsWith(\"@media\")) {\n mediaQueries.push([key, value]);\n } else if (key.startsWith(\"@container\")) {\n containerQueries.push([key, value]);\n } else if (isObject(value)) {\n rest[key] = sortAtRules(value);\n } else {\n rest[key] = value;\n }\n }\n const sortedMediaQueries = sortQueries(mediaQueries);\n const sortedContainerQueries = sortQueries(containerQueries);\n return {\n ...rest,\n ...Object.fromEntries(sortedMediaQueries),\n ...Object.fromEntries(sortedContainerQueries)\n };\n}\n\nexport { sortAtRules };\n","\"use strict\";\nimport { compact } from '../utils/compact.js';\nimport { isString, isObject } from '../utils/is.js';\nimport { memo } from '../utils/memo.js';\nimport { mergeWith } from '../utils/merge.js';\nimport { walkObject } from '../utils/walk-object.js';\nimport { sortAtRules } from './sort-at-rules.js';\n\nconst importantRegex = /\\s*!(important)?/i;\nconst isImportant = (v) => isString(v) ? importantRegex.test(v) : false;\nconst withoutImportant = (v) => isString(v) ? v.replace(importantRegex, \"\").trim() : v;\nfunction createCssFn(context) {\n const { transform, conditions, normalize } = context;\n const mergeFn = mergeCss(context);\n return memo(function cssFn(...styleArgs) {\n const styles = mergeFn(...styleArgs);\n const normalized = normalize(styles);\n const result = /* @__PURE__ */ Object.create(null);\n walkObject(normalized, (value, paths) => {\n const important = isImportant(value);\n if (value == null) return;\n const [prop, ...selectors] = conditions.sort(paths).map(conditions.resolve);\n if (important) {\n value = withoutImportant(value);\n }\n let transformed = transform(prop, value) ?? /* @__PURE__ */ Object.create(null);\n transformed = walkObject(\n transformed,\n (v) => isString(v) && important ? `${v} !important` : v,\n { getKey: (prop2) => conditions.expandAtRule(prop2) }\n );\n mergeByPath(result, selectors.flat(), transformed);\n });\n return sortAtRules(result);\n });\n}\nfunction mergeByPath(target, paths, value) {\n let acc = target;\n for (const path of paths) {\n if (!path) continue;\n if (!acc[path]) acc[path] = /* @__PURE__ */ Object.create(null);\n acc = acc[path];\n }\n mergeWith(acc, value);\n}\nfunction compactFn(...styles) {\n return styles.filter(\n (style) => isObject(style) && Object.keys(compact(style)).length > 0\n );\n}\nfunction mergeCss(ctx) {\n function resolve(styles) {\n const comp = compactFn(...styles);\n if (comp.length === 1) return comp;\n return comp.map((style) => ctx.normalize(style));\n }\n return memo(function mergeFn(...styles) {\n return mergeWith({}, ...resolve(styles));\n });\n}\n\nexport { createCssFn };\n","\"use strict\";\nimport { compact } from '../utils/compact.js';\nimport { cx } from '../utils/cx.js';\nimport { mergeWith } from '../utils/merge.js';\nimport { omit } from '../utils/omit.js';\nimport { splitProps } from '../utils/split-props.js';\nimport { uniq } from '../utils/uniq.js';\nimport { createCssFn } from './css.js';\n\nconst defaults = (conf) => ({\n base: {},\n variants: {},\n defaultVariants: {},\n compoundVariants: [],\n ...conf\n});\nfunction createRecipeFn(options) {\n const { css, conditions, normalize, layers } = options;\n function cva(config = {}) {\n const { base, variants, defaultVariants, compoundVariants } = defaults(config);\n const getVariantCss = createCssFn({\n conditions,\n normalize,\n transform(prop, value) {\n return variants[prop]?.[value];\n }\n });\n const resolve = (props = {}) => {\n const variantSelections = normalize({\n ...defaultVariants,\n ...compact(props)\n });\n let variantCss = { ...base };\n mergeWith(variantCss, getVariantCss(variantSelections));\n const compoundVariantCss = getCompoundVariantCss(\n compoundVariants,\n variantSelections\n );\n return layers.wrap(\"recipes\", css(variantCss, compoundVariantCss));\n };\n const variantKeys = Object.keys(variants);\n const splitVariantProps = (props) => {\n const restProps = omit(props, [\"recipe\"]);\n const [recipeProps, localProps] = splitProps(restProps, variantKeys);\n if (!variantKeys.includes(\"colorPalette\")) {\n recipeProps.colorPalette = props.colorPalette || defaultVariants.colorPalette;\n }\n if (variantKeys.includes(\"orientation\")) {\n localProps.orientation = props.orientation;\n }\n return [recipeProps, localProps];\n };\n const variantMap = Object.fromEntries(\n Object.entries(variants).map(([key, value]) => [\n key,\n Object.keys(value)\n ])\n );\n const cvaFn = (props) => css(resolve(props));\n return Object.assign(cvaFn, {\n className: config.className,\n __cva__: true,\n variantMap,\n variantKeys,\n raw: resolve,\n config,\n splitVariantProps,\n merge(other) {\n return cva(mergeCva(options)(this, other));\n }\n });\n }\n function getCompoundVariantCss(cvs, vm) {\n let result = {};\n cvs.forEach((cv) => {\n const isMatching = Object.entries(cv).every(([key, value]) => {\n if (key === \"css\") return true;\n const values = Array.isArray(value) ? value : [value];\n return values.some((value2) => vm[key] === value2);\n });\n if (isMatching) {\n result = css(result, cv.css);\n }\n });\n return result;\n }\n return cva;\n}\nfunction mergeCva(opts) {\n const { css } = opts;\n return function mergeCva2(cvaA, cvaB) {\n const override = defaults(cvaB.config);\n const variantKeys = uniq(cvaA.variantKeys, Object.keys(cvaB.variants));\n const base = css(cvaA.base, override.base);\n const variants = Object.fromEntries(\n variantKeys.map((key) => [\n key,\n css(cvaA.config.variants[key], override.variants[key])\n ])\n );\n const defaultVariants = mergeWith(\n cvaA.config.defaultVariants,\n override.defaultVariants\n );\n const compoundVariants = [\n ...cvaA.compoundVariants,\n ...override.compoundVariants\n ];\n const className = cx(cvaA.className, cvaB.className);\n return {\n className,\n base,\n variants,\n defaultVariants,\n compoundVariants\n };\n };\n}\n\nexport { createRecipeFn };\n","\"use strict\";\nconst defaultLayers = {\n reset: \"reset\",\n base: \"base\",\n tokens: \"tokens\",\n recipes: \"recipes\"\n};\nconst layerOrder = {\n reset: 0,\n base: 1,\n tokens: 2,\n recipes: 3\n};\nfunction createLayers(config) {\n const layers = config.layers ?? defaultLayers;\n const values = Object.values(layers);\n const names = values.sort((a, b) => layerOrder[a] - layerOrder[b]);\n return {\n names,\n atRule: `@layer ${names.join(\", \")};`,\n wrap(layer, styles) {\n if (config.disableLayers) return styles;\n const params = layers[layer];\n return { [`@layer ${params}`]: styles };\n }\n };\n}\n\nexport { createLayers };\n","\"use strict\";\nimport { walkObject } from '../utils/walk-object.js';\n\nfunction createNormalizeFn(context) {\n const { utility, normalize } = context;\n const { hasShorthand, resolveShorthand } = utility;\n return function(styles) {\n return walkObject(styles, normalize, {\n stop: (value) => Array.isArray(value),\n getKey: hasShorthand ? resolveShorthand : void 0\n });\n };\n}\n\nexport { createNormalizeFn };\n","\"use strict\";\nimport { isObject } from '../utils/is.js';\n\nfunction createPreflight(options) {\n const { preflight } = options;\n if (!preflight) return {};\n const { scope = \"\", level = \"parent\" } = isObject(preflight) ? preflight : {};\n let selector = \"\";\n if (scope && level === \"parent\") {\n selector = `${scope} `;\n } else if (scope && level === \"element\") {\n selector = `&${scope}`;\n }\n const scoped = {\n \"*\": {\n margin: \"0px\",\n padding: \"0px\",\n font: \"inherit\",\n wordWrap: \"break-word\",\n WebkitTapHighlightColor: \"transparent\"\n },\n \"*, *::before, *::after, *::backdrop\": {\n boxSizing: \"border-box\",\n borderWidth: \"0px\",\n borderStyle: \"solid\",\n borderColor: \"var(--global-color-border, currentColor)\"\n },\n hr: {\n height: \"0px\",\n color: \"inherit\",\n borderTopWidth: \"1px\"\n },\n body: {\n minHeight: \"100dvh\",\n position: \"relative\"\n },\n img: {\n borderStyle: \"none\"\n },\n \"img, svg, video, canvas, audio, iframe, embed, object\": {\n display: \"block\",\n verticalAlign: \"middle\"\n },\n iframe: { border: \"none\" },\n \"img, video\": { maxWidth: \"100%\", height: \"auto\" },\n \"p, h1, h2, h3, h4, h5, h6\": { overflowWrap: \"break-word\" },\n \"ol, ul\": { listStyle: \"none\" },\n \"code, kbd, pre, samp\": { fontSize: \"1em\" },\n \"button, [type='button'], [type='reset'], [type='submit']\": {\n WebkitAppearance: \"button\",\n backgroundColor: \"transparent\",\n backgroundImage: \"none\"\n },\n \"button, input, optgroup, select, textarea\": { color: \"inherit\" },\n \"button, select\": { textTransform: \"none\" },\n table: {\n textIndent: \"0px\",\n borderColor: \"inherit\",\n borderCollapse: \"collapse\"\n },\n \"*::placeholder\": {\n opacity: \"unset\",\n color: \"#9ca3af\",\n userSelect: \"none\"\n },\n textarea: {\n resize: \"vertical\"\n },\n summary: {\n display: \"list-item\"\n },\n small: {\n fontSize: \"80%\"\n },\n \"sub, sup\": {\n fontSize: \"75%\",\n lineHeight: 0,\n position: \"relative\",\n verticalAlign: \"baseline\"\n },\n sub: {\n bottom: \"-0.25em\"\n },\n sup: {\n top: \"-0.5em\"\n },\n dialog: {\n padding: \"0px\"\n },\n a: {\n color: \"inherit\",\n textDecoration: \"inherit\"\n },\n \"abbr:where([title])\": {\n textDecoration: \"underline dotted\"\n },\n \"b, strong\": {\n fontWeight: \"bolder\"\n },\n \"code, kbd, samp, pre\": {\n fontSize: \"1em\",\n \"--font-mono-fallback\": \"ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New'\",\n fontFamily: \"var(--global-font-mono, var(--font-mono-fallback))\"\n },\n 'input[type=\"text\"], input[type=\"email\"], input[type=\"search\"], input[type=\"password\"]': {\n WebkitAppearance: \"none\",\n MozAppearance: \"none\"\n },\n \"input[type='search']\": {\n WebkitAppearance: \"textfield\",\n outlineOffset: \"-2px\"\n },\n \"::-webkit-search-decoration, ::-webkit-search-cancel-button\": {\n WebkitAppearance: \"none\"\n },\n \"::-webkit-file-upload-button\": {\n WebkitAppearance: \"button\",\n font: \"inherit\"\n },\n 'input[type=\"number\"]::-webkit-inner-spin-button, input[type=\"number\"]::-webkit-outer-spin-button': {\n height: \"auto\"\n },\n \"input[type='number']\": {\n MozAppearance: \"textfield\"\n },\n \":-moz-ui-invalid\": {\n boxShadow: \"none\"\n },\n \":-moz-focusring\": {\n outline: \"auto\"\n },\n \"[hidden]:where(:not([hidden='until-found']))\": {\n display: \"none !important\"\n }\n };\n const preflightCss = {\n [scope || \"html\"]: {\n lineHeight: 1.5,\n \"--font-fallback\": \"ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Noto Sans', sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji'\",\n WebkitTextSizeAdjust: \"100%\",\n WebkitFontSmoothing: \"antialiased\",\n MozOsxFontSmoothing: \"grayscale\",\n textRendering: \"optimizeLegibility\",\n touchAction: \"manipulation\",\n MozTabSize: \"4\",\n tabSize: \"4\",\n fontFamily: \"var(--global-font-body, var(--font-fallback))\"\n }\n };\n if (level === \"element\") {\n const modified = Object.entries(scoped).reduce((acc, [k, v]) => {\n acc[k] = { [selector]: v };\n return acc;\n }, {});\n Object.assign(preflightCss, modified);\n } else if (selector) {\n preflightCss[selector] = scoped;\n } else {\n Object.assign(preflightCss, scoped);\n }\n return preflightCss;\n}\n\nexport { createPreflight };\n","\"use strict\";\nimport { isObject } from '../utils/is.js';\nimport { walkObject } from '../utils/walk-object.js';\n\nfunction createSerializeFn(options) {\n const { conditions, isValidProperty } = options;\n return function serialize(styles) {\n return walkObject(styles, (value) => value, {\n getKey: (prop, value) => {\n if (!isObject(value)) return prop;\n if (!conditions.has(prop) && !isValidProperty(prop)) {\n return parseSelectors(prop).map((s) => \"&\" + s).join(\", \");\n }\n return prop;\n }\n });\n };\n}\nfunction parseSelectors(selector) {\n const result = [];\n let parenCount = 0;\n let currentSelector = \"\";\n let inEscape = false;\n for (let i = 0; i < selector.length; i++) {\n const char = selector[i];\n if (char === \"\\\\\" && !inEscape) {\n inEscape = true;\n currentSelector += char;\n continue;\n }\n if (inEscape) {\n inEscape = false;\n currentSelector += char;\n continue;\n }\n if (char === \"(\") {\n parenCount++;\n } else if (char === \")\") {\n parenCount--;\n }\n if (char === \",\" && parenCount === 0) {\n result.push(currentSelector.trim());\n currentSelector = \"\";\n } else {\n currentSelector += char;\n }\n }\n if (currentSelector) {\n result.push(currentSelector.trim());\n }\n return result;\n}\n\nexport { createSerializeFn };\n","\"use strict\";\nimport { omit } from '../utils/omit.js';\nimport { splitProps } from '../utils/split-props.js';\n\nconst getSlotRecipes = (config = {}) => {\n const init = (slot) => ({\n base: config.base?.[slot] ?? {},\n variants: {},\n defaultVariants: config.defaultVariants ?? {},\n compoundVariants: config.compoundVariants ? getSlotCompoundVariant(config.compoundVariants, slot) : []\n });\n const slots = config.slots ?? [];\n const entries = slots.map((slot) => [slot, init(slot)]);\n for (const [variantsKey, variantsSpec] of Object.entries(\n config.variants ?? {}\n )) {\n for (const [variantKey, variantSpec] of Object.entries(\n variantsSpec\n )) {\n entries.forEach(([slot, slotRecipe]) => {\n var _a;\n (_a = slotRecipe.variants)[variantsKey] ?? (_a[variantsKey] = {});\n slotRecipe.variants[variantsKey][variantKey] = variantSpec[slot] ?? {};\n });\n }\n }\n return Object.fromEntries(entries);\n};\nconst getSlotCompoundVariant = (compoundVariants, slotName) => compoundVariants.filter((compoundVariant) => compoundVariant.css[slotName]).map((compoundVariant) => ({\n ...compoundVariant,\n css: compoundVariant.css[slotName]\n}));\nfunction createSlotRecipeFn(options) {\n const { cva } = options;\n return function sva(config = {}) {\n const slots = Object.entries(getSlotRecipes(config)).map(\n ([slot, slotCva]) => [slot, cva(slotCva)]\n );\n function svaFn(props) {\n const result = slots.map(([slot, cvaFn]) => [slot, cvaFn(props)]);\n return Object.fromEntries(result);\n }\n const variants = config.variants ?? {};\n const variantKeys = Object.keys(variants);\n function splitVariantProps(props) {\n const restProps = omit(props, [\"recipe\"]);\n const [recipeProps, localProps] = splitProps(restProps, variantKeys);\n if (!variantKeys.includes(\"colorPalette\")) {\n recipeProps.colorPalette = props.colorPalette || config.defaultVariants?.colorPalette;\n }\n if (variantKeys.includes(\"orientation\")) {\n localProps.orientation = props.orientation;\n }\n return [recipeProps, localProps];\n }\n const variantMap = Object.fromEntries(\n Object.entries(variants).map(([key, value]) => [key, Object.keys(value)])\n );\n let classNameMap = {};\n if (config.className) {\n classNameMap = Object.fromEntries(\n config.slots.map((slot) => [\n slot,\n `${config.className}__${slot}`\n ])\n );\n }\n return Object.assign(svaFn, {\n variantMap,\n variantKeys,\n splitVariantProps,\n classNameMap\n });\n };\n}\n\nexport { createSlotRecipeFn, getSlotCompoundVariant };\n","\"use strict\";\nconst createProps = () => (props) => Array.from(new Set(props));\n\nexport { createProps };\n","\"use strict\";\nconst escRegex = /[^a-zA-Z0-9_\\u0081-\\uffff-]/g;\nfunction esc(string) {\n return `${string}`.replace(escRegex, (s) => `\\\\${s}`);\n}\nconst dashCaseRegex = /[A-Z]/g;\nfunction dashCase(string) {\n return string.replace(dashCaseRegex, (match) => `-${match.toLowerCase()}`);\n}\nfunction cssVar(name, options = {}) {\n const { fallback = \"\", prefix = \"\" } = options;\n const variable = dashCase([\"-\", prefix, esc(name)].filter(Boolean).join(\"-\"));\n return {\n var: variable,\n ref: `var(${variable}${fallback ? `, ${fallback}` : \"\"})`\n };\n}\n\nexport { cssVar };\n","\"use strict\";\nconst rcssescape = /([\\0-\\x1f\\x7f]|^-?\\d)|^-$|^-|[^\\x80-\\uFFFF\\w-]/g;\nconst fcssescape = function(ch, asCodePoint) {\n if (!asCodePoint) return \"\\\\\" + ch;\n if (ch === \"\\0\") return \"\\uFFFD\";\n if (ch === \"-\" && ch.length === 1) return \"\\\\-\";\n return ch.slice(0, -1) + \"\\\\\" + ch.charCodeAt(ch.length - 1).toString(16);\n};\nconst esc = (sel) => {\n return (sel + \"\").replace(rcssescape, fcssescape);\n};\n\nexport { esc };\n","\"use strict\";\nimport { esc } from './esc.js';\n\nconst expandTokenReferences = (str, resolve) => {\n let expanded = \"\";\n let index = 0;\n let state = \"char\";\n let tokenPath = \"\";\n let fallback = \"\";\n const currentStates = [];\n while (index < str.length) {\n const char = str[index];\n if (char === \"{\") {\n const endIndex = str.indexOf(\"}\", index);\n if (endIndex === -1) {\n break;\n }\n const path = str.slice(index + 1, endIndex);\n const resolved = resolve(path);\n expanded += resolved ?? path;\n index = endIndex + 1;\n continue;\n }\n if (state === \"token\") {\n if (char === \",\") {\n if (str[index] === \"\") {\n index++;\n }\n state = \"fallback\";\n currentStates.push(state);\n const resolved = resolve(tokenPath);\n if (resolved?.endsWith(\")\")) {\n expanded += resolved.slice(0, -1);\n }\n tokenPath = \"\";\n fallback = \"\";\n continue;\n }\n }\n if (state === \"fallback\") {\n const nextFallback = fallback + char;\n if (nextFallback === \", var(\") {\n const innerEndIndex = cssVarParser(str.slice(index + 1));\n const endIndex = innerEndIndex + index + 1;\n const cssVar = str.slice(index + 1, endIndex);\n if (endIndex === -1) {\n break;\n }\n expanded += \", var(\" + cssVar + \")\";\n index = endIndex + 1;\n state = currentStates.pop() ?? state;\n fallback = \"\";\n continue;\n }\n }\n if (state === \"token\" || state === \"fallback\") {\n index++;\n if (char === \")\") {\n state = currentStates.pop() ?? state ?? \"char\";\n fallback += char;\n const resolved = tokenPath ? resolve(tokenPath) ?? esc(tokenPath) : tokenPath;\n if (fallback) {\n fallback = fallback.slice(1).trim();\n if (!fallback.startsWith(\"token(\") && fallback.endsWith(\")\")) {\n fallback = fallback.slice(0, -1);\n }\n if (fallback.includes(\"token(\")) {\n const parsed = expandTokenReferences(fallback, resolve);\n if (parsed) {\n fallback = parsed.slice(0, -1);\n }\n } else if (fallback) {\n const resolvedFallback = resolve(fallback);\n if (resolvedFallback) {\n fallback = resolvedFallback;\n }\n }\n }\n const lastChar = expanded.at(-1);\n if (fallback) {\n if (lastChar?.trim()) {\n expanded += resolved.slice(0, -1) + (\", \" + fallback + \")\");\n } else {\n expanded += fallback;\n }\n } else {\n expanded += resolved || \")\";\n }\n tokenPath = \"\";\n fallback = \"\";\n state = \"char\";\n continue;\n }\n if (state === \"token\") {\n tokenPath += char;\n }\n if (state === \"fallback\") {\n fallback += char;\n }\n continue;\n }\n const tokenIndex = str.indexOf(\"token(\", index);\n if (tokenIndex !== -1) {\n const innerTokenIndex = tokenIndex + \"token(\".length;\n expanded += str.slice(index, tokenIndex);\n index = innerTokenIndex;\n state = \"token\";\n currentStates.push(state);\n continue;\n }\n expanded += char;\n index++;\n }\n return expanded;\n};\nconst cssVarParser = (str) => {\n let index = 0;\n const openedParenthesises = [\"(\"];\n while (index < str.length) {\n const char = str[index];\n if (char === \"(\") {\n openedParenthesises.push(char);\n } else if (char === \")\") {\n openedParenthesises.pop();\n if (openedParenthesises.length === 0) {\n return index;\n }\n }\n index++;\n }\n return index;\n};\n\nexport { expandTokenReferences };\n","\"use strict\";\nfunction mapToJson(map) {\n const obj = {};\n map.forEach((value, key) => {\n if (value instanceof Map) {\n obj[key] = Object.fromEntries(value);\n } else {\n obj[key] = value;\n }\n });\n return obj;\n}\n\nexport { mapToJson };\n","\"use strict\";\nimport { isString } from '../utils/is.js';\n\nconst REFERENCE_REGEX = /({([^}]*)})/g;\nconst CURLY_REGEX = /[{}]/g;\nconst TOKEN_PATH_REGEX = /\\w+\\.\\w+/;\nconst getReferences = (value) => {\n if (!isString(value)) return [];\n const matches = value.match(REFERENCE_REGEX);\n if (!matches) return [];\n return matches.map((match) => match.replace(CURLY_REGEX, \"\")).map((value2) => value2.trim());\n};\nconst hasReference = (value) => REFERENCE_REGEX.test(value);\nfunction expandReferences(token) {\n if (!token.extensions?.references) {\n return token.extensions?.cssVar?.ref ?? token.value;\n }\n const references = token.extensions.references ?? {};\n token.value = Object.keys(references).reduce((valueStr, key) => {\n const referenceToken = references[key];\n if (referenceToken.extensions.conditions) {\n return valueStr;\n }\n const value = expandReferences(referenceToken);\n return valueStr.replace(`{${key}}`, value);\n }, token.value);\n delete token.extensions.references;\n return token.value;\n}\n\nexport { TOKEN_PATH_REGEX, expandReferences, getReferences, hasReference };\n","\"use strict\";\nimport { isObject } from '../utils/is.js';\n\nfunction resolveReference(operand) {\n if (isObject(operand) && operand.reference) {\n return operand.reference;\n }\n return String(operand);\n}\nconst toExpression = (operator, ...operands) => operands.map(resolveReference).join(` ${operator} `).replace(/calc/g, \"\");\nconst add = (...operands) => `calc(${toExpression(\"+\", ...operands)})`;\nconst subtract = (...operands) => `calc(${toExpression(\"-\", ...operands)})`;\nconst multiply = (...operands) => `calc(${toExpression(\"*\", ...operands)})`;\nconst divide = (...operands) => `calc(${toExpression(\"/\", ...operands)})`;\nconst negate = (x) => {\n const value = resolveReference(x);\n if (value != null && !Number.isNaN(parseFloat(value))) {\n return String(value).startsWith(\"-\") ? String(value).slice(1) : `-${value}`;\n }\n return multiply(value, -1);\n};\nconst calc = Object.assign(\n (x) => ({\n add: (...operands) => calc(add(x, ...operands)),\n subtract: (...operands) => calc(subtract(x, ...operands)),\n multiply: (...operands) => calc(multiply(x, ...operands)),\n divide: (...operands) => calc(divide(x, ...operands)),\n negate: () => calc(negate(x)),\n toString: () => x.toString()\n }),\n {\n add,\n subtract,\n multiply,\n divide,\n negate\n }\n);\n\nexport { calc };\n","\"use strict\";\nimport { isString } from '../utils/is.js';\nimport { calc } from './calc.js';\nimport { toPx } from './unit-conversion.js';\n\nconst addNegativeTokens = {\n enforce: \"pre\",\n transform(dictionary) {\n const { prefix, allTokens, formatCssVar, formatTokenName, registerToken } = dictionary;\n const tokens = allTokens.filter(\n ({ extensions }) => extensions.category === \"spacing\"\n );\n tokens.forEach((token) => {\n const originalPath = token.path.slice();\n const originalVar = formatCssVar(originalPath, prefix);\n if (isString(token.value) && token.value === \"0rem\") {\n return;\n }\n const nextToken = structuredClone(token);\n Object.assign(nextToken.extensions, {\n negative: true,\n prop: `-${token.extensions.prop}`,\n originalPath\n });\n nextToken.value = calc.negate(originalVar.ref);\n const lastPath = nextToken.path[nextToken.path.length - 1];\n if (lastPath != null) {\n nextToken.path[nextToken.path.length - 1] = `-${lastPath}`;\n }\n if (nextToken.path) {\n nextToken.name = formatTokenName(nextToken.path);\n }\n registerToken(nextToken);\n });\n }\n};\nconst units = /* @__PURE__ */ new Set([\n \"spacing\",\n \"sizes\",\n \"borderWidths\",\n \"fontSizes\",\n \"radii\"\n]);\nconst addPixelUnit = {\n enforce: \"post\",\n transform(dictionary) {\n const tokens = dictionary.allTokens.filter((token) => {\n return units.has(token.extensions.category) && !token.extensions.negative;\n });\n tokens.forEach((token) => {\n Object.assign(token.extensions, {\n pixelValue: toPx(token.value)\n });\n });\n }\n};\nconst addVirtualPalette = {\n enforce: \"post\",\n transform(dictionary) {\n const { allTokens, registerToken, formatTokenName } = dictionary;\n const tokens = allTokens.filter(\n ({ extensions }) => extensions.category === \"colors\"\n );\n const keys = /* @__PURE__ */ new Map();\n const colorPalettes = /* @__PURE__ */ new Map();\n tokens.forEach((token) => {\n const { colorPalette } = token.extensions;\n if (!colorPalette) return;\n colorPalette.keys.forEach((keyPath) => {\n keys.set(formatTokenName(keyPath), keyPath);\n });\n colorPalette.roots.forEach((colorPaletteRoot) => {\n const name = formatTokenName(colorPaletteRoot);\n const colorPaletteList = colorPalettes.get(name) || [];\n colorPaletteList.push(token);\n colorPalettes.set(name, colorPaletteList);\n if (token.extensions.default && colorPaletteRoot.length === 1) {\n const keyPath = colorPalette.keys[0]?.filter(Boolean);\n if (!keyPath.length) return;\n const path = colorPaletteRoot.concat(keyPath);\n keys.set(formatTokenName(path), []);\n }\n });\n });\n keys.forEach((segments) => {\n const path = [\"colors\", \"colorPalette\", ...segments].filter(Boolean);\n const name = formatTokenName(path);\n const prop = formatTokenName(path.slice(1));\n const token = {\n name,\n value: name,\n originalValue: name,\n path,\n extensions: {\n condition: \"base\",\n originalPath: path,\n category: \"colors\",\n prop,\n virtual: true\n }\n };\n registerToken(token, \"pre\");\n });\n }\n};\nconst removeEmptyTokens = {\n enforce: \"post\",\n transform(dictionary) {\n dictionary.allTokens = dictionary.allTokens.filter(\n (token) => token.value !== \"\"\n );\n }\n};\nconst tokenMiddlewares = [\n addNegativeTokens,\n addVirtualPalette,\n addPixelUnit,\n removeEmptyTokens\n];\n\nexport { addNegativeTokens, addPixelUnit, addVirtualPalette, removeEmptyTokens, tokenMiddlewares };\n","\"use strict\";\nimport { getReferences } from './references.js';\n\nconst addCssVariables = {\n type: \"extensions\",\n enforce: \"pre\",\n name: \"tokens/css-var\",\n transform(token, dictionary) {\n const { prefix, formatCssVar } = dictionary;\n const { negative, originalPath } = token.extensions;\n const path = negative ? originalPath : token.path;\n return {\n cssVar: formatCssVar(path.filter(Boolean), prefix)\n };\n }\n};\nconst addConditionalCssVariables = {\n enforce: \"post\",\n type: \"value\",\n name: \"tokens/conditionals\",\n transform(token, dictionary) {\n const { prefix, formatCssVar } = dictionary;\n const refs = getReferences(token.value);\n if (!refs.length) return token.value;\n refs.forEach((ref) => {\n const variable = formatCssVar(ref.split(\".\"), prefix);\n token.value = token.value.replace(`{${variable.ref}}`, variable);\n });\n return token.value;\n }\n};\nconst addColorPalette = {\n type: \"extensions\",\n enforce: \"pre\",\n name: \"tokens/colors/colorPalette\",\n match(token) {\n return token.extensions.category === \"colors\" && !token.extensions.virtual;\n },\n transform(token, dict) {\n let path = token.path.slice();\n path.pop();\n path.shift();\n if (path.length === 0) {\n const newPath = [...token.path];\n newPath.shift();\n path = newPath;\n }\n if (path.length === 0) {\n return {};\n }\n const roots = path.reduce((acc, _, i, arr) => {\n const next = arr.slice(0, i + 1);\n acc.push(next);\n return acc;\n }, []);\n const root = path[0];\n const value = dict.formatTokenName(path);\n const keys = token.path.slice(token.path.indexOf(root) + 1).reduce((acc, _, i, arr) => {\n acc.push(arr.slice(i));\n return acc;\n }, []);\n if (keys.length === 0) {\n keys.push([\"\"]);\n }\n return {\n colorPalette: { value, roots, keys }\n };\n }\n};\nconst tokenTransforms = [\n addCssVariables,\n addConditionalCssVariables,\n addColorPalette\n];\n\nexport { addColorPalette, addConditionalCssVariables, addCssVariables, tokenTransforms };\n","\"use strict\";\nimport { compact } from '../utils/compact.js';\nimport { createProps } from '../utils/create-props.js';\nimport { isString, isObject, isFunction } from '../utils/is.js';\nimport { memo } from '../utils/memo.js';\nimport { mapObject, walkObject } from '../utils/walk-object.js';\nimport { cssVar } from './css-var.js';\nimport { esc } from './esc.js';\nimport { expandTokenReferences } from './expand-reference.js';\nimport { mapToJson } from './map-to-json.js';\nimport { hasReference, expandReferences, getReferences, TOKEN_PATH_REGEX } from './references.js';\nimport { tokenMiddlewares } from './token-middleware.js';\nimport { tokenTransforms } from './token-transforms.js';\n\nconst isToken = (value) => {\n return isObject(value) && Object.prototype.hasOwnProperty.call(value, \"value\");\n};\nfunction expandBreakpoints(breakpoints) {\n if (!breakpoints) return { breakpoints: {}, sizes: {} };\n return {\n breakpoints: mapObject(breakpoints, (value) => ({ value })),\n sizes: Object.fromEntries(\n Object.entries(breakpoints).map(([key, value]) => [\n `breakpoint-${key}`,\n { value }\n ])\n )\n };\n}\nfunction createTokenDictionary(options) {\n const {\n prefix = \"\",\n tokens = {},\n semanticTokens = {},\n breakpoints = {}\n } = options;\n const formatTokenName = (path) => path.join(\".\");\n const formatCssVar = (path, prefix2) => cssVar(path.join(\"-\"), { prefix: prefix2 });\n const allTokens = [];\n const tokenNameMap = /* @__PURE__ */ new Map();\n const conditionMap = /* @__PURE__ */ new Map();\n const cssVarMap = /* @__PURE__ */ new Map();\n const colorPaletteMap = /* @__PURE__ */ new Map();\n const flatMap = /* @__PURE__ */ new Map();\n const byCategory = /* @__PURE__ */ new Map();\n const categoryMap = /* @__PURE__ */ new Map();\n const transforms = /* @__PURE__ */ new Map();\n const middlewares = [];\n function registerToken(token, phase) {\n allTokens.push(token);\n tokenNameMap.set(token.name, token);\n if (phase) {\n transforms.forEach((fn) => {\n if (fn.enforce === phase) transformToken(fn, token);\n });\n }\n }\n const breakpointTokens = expandBreakpoints(breakpoints);\n const computedTokens = compact({\n ...tokens,\n breakpoints: breakpointTokens.breakpoints,\n sizes: {\n ...tokens.sizes,\n ...breakpointTokens.sizes\n }\n });\n function registerTokens() {\n walkObject(\n computedTokens,\n (entry, path) => {\n const isDefault = path.includes(\"DEFAULT\");\n path = filterDefault(path);\n const category = path[0];\n const name = formatTokenName(path);\n const t = isString(entry) ? { value: entry } : entry;\n const token = {\n value: t.value,\n originalValue: t.value,\n name,\n path,\n extensions: {\n condition: \"base\",\n originalPath: path,\n category,\n prop: formatTokenName(path.slice(1))\n }\n };\n if (isDefault) {\n token.extensions.default = true;\n }\n registerToken(token);\n },\n { stop: isToken }\n );\n walkObject(\n semanticTokens,\n (entry, path) => {\n const isDefault = path.includes(\"DEFAULT\");\n path = filterBaseCondition(filterDefault(path));\n const category = path[0];\n const name = formatTokenName(path);\n const t = isString(entry.value) ? { value: { base: entry.value } } : entry;\n const token = {\n value: t.value.base || \"\",\n originalValue: t.value.base || \"\",\n name,\n path,\n extensions: {\n originalPath: path,\n category,\n conditions: t.value,\n condition: \"base\",\n prop: formatTokenName(path.slice(1))\n }\n };\n if (isDefault) {\n token.extensions.default = true;\n }\n registerToken(token);\n },\n { stop: isToken }\n );\n }\n function getByName(name) {\n return tokenNameMap.get(name);\n }\n function buildConditionMap(token) {\n const { condition } = token.extensions;\n if (!condition) return;\n if (!conditionMap.has(condition)) {\n conditionMap.set(condition, /* @__PURE__ */ new Set());\n }\n conditionMap.get(condition).add(token);\n }\n function buildCategoryMap(token) {\n const { category, prop } = token.extensions;\n if (!category) return;\n if (!categoryMap.has(category)) {\n categoryMap.set(category, /* @__PURE__ */ new Map());\n }\n categoryMap.get(category).set(prop, token);\n }\n function buildCssVars(token) {\n const { condition, negative, virtual, cssVar: cssVar2 } = token.extensions;\n if (negative || virtual || !condition || !cssVar2) return;\n if (!cssVarMap.has(condition)) {\n cssVarMap.set(condition, /* @__PURE__ */ new Map());\n }\n cssVarMap.get(condition).set(cssVar2.var, token.value);\n }\n function buildFlatMap(token) {\n const { category, prop, cssVar: cssVar2, negative } = token.extensions;\n if (!category) return;\n if (!byCategory.has(category)) {\n byCategory.set(category, /* @__PURE__ */ new Map());\n }\n const value = negative ? token.extensions.conditions ? token.originalValue : token.value : cssVar2.ref;\n byCategory.get(category).set(prop, value);\n flatMap.set([category, prop].join(\".\"), value);\n }\n function buildColorPalette(token) {\n const { colorPalette, virtual, default: isDefault } = token.extensions;\n if (!colorPalette || virtual) return;\n colorPalette.roots.forEach((root) => {\n const name = formatTokenName(root);\n if (!colorPaletteMap.has(name)) {\n colorPaletteMap.set(name, /* @__PURE__ */ new Map());\n }\n const virtualPath = replaceRootWithColorPalette(\n [...token.path],\n [...root]\n );\n const virtualName = formatTokenName(virtualPath);\n const virtualToken = getByName(virtualName);\n if (!virtualToken || !virtualToken.extensions.cssVar) return;\n const { var: virtualVar } = virtualToken.extensions.cssVar;\n colorPaletteMap.get(name).set(virtualVar, token.extensions.cssVar.ref);\n if (isDefault && root.length === 1) {\n const colorPaletteName = formatTokenName([\"colors\", \"colorPalette\"]);\n const colorPaletteToken = getByName(colorPaletteName);\n if (!colorPaletteToken) return;\n const name2 = formatTokenName(token.path);\n const virtualToken2 = getByName(name2);\n if (!virtualToken2) return;\n const keyPath = colorPalette.keys[0]?.filter(Boolean);\n if (!keyPath.length) return;\n const computedName = formatTokenName(root.concat(keyPath));\n if (!colorPaletteMap.has(computedName)) {\n colorPaletteMap.set(computedName, /* @__PURE__ */ new Map());\n }\n colorPaletteMap.get(computedName).set(\n colorPaletteToken.extensions.cssVar.var,\n virtualToken2.extensions.cssVar.ref\n );\n }\n });\n }\n let byCategoryJson = {};\n function setupViews() {\n allTokens.forEach((token) => {\n buildConditionMap(token);\n buildCategoryMap(token);\n buildCssVars(token);\n buildFlatMap(token);\n buildColorPalette(token);\n });\n byCategoryJson = mapToJson(byCategory);\n }\n const colorMix = (value, tokenFn) => {\n if (!value || typeof value !== \"string\") return { invalid: true, value };\n const [colorPath, rawOpacity] = value.split(\"/\");\n if (!colorPath || !rawOpacity) {\n return { invalid: true, value: colorPath };\n }\n const colorToken = tokenFn(colorPath);\n const opacityToken = getByName(`opacity.${rawOpacity}`)?.value;\n if (!opacityToken && isNaN(Number(rawOpacity))) {\n return { invalid: true, value: colorPath };\n }\n const percent = opacityToken ? Number(opacityToken) * 100 + \"%\" : `${rawOpacity}%`;\n const color = colorToken ?? colorPath;\n return {\n invalid: false,\n color,\n value: `color-mix(in srgb, ${color} ${percent}, transparent)`\n };\n };\n const getVar = memo((value, fallback) => {\n return flatMap.get(value) ?? fallback;\n });\n const getCategoryValues = memo((category) => {\n return byCategoryJson[category] || null;\n });\n const expandReferenceInValue = memo((value) => {\n return expandTokenReferences(value, (path) => {\n if (!path) return;\n if (path.includes(\"/\")) {\n const mix = colorMix(path, (v) => getVar(v));\n if (mix.invalid) {\n throw new Error(\"Invalid color mix at \" + path + \": \" + mix.value);\n }\n return mix.value;\n }\n const resolved = getVar(path);\n if (resolved) return resolved;\n return TOKEN_PATH_REGEX.test(path) ? esc(path) : path;\n });\n });\n const dictionary = {\n prefix,\n allTokens,\n tokenMap: tokenNameMap,\n registerToken,\n getByName,\n formatTokenName,\n formatCssVar,\n flatMap,\n cssVarMap,\n categoryMap,\n colorPaletteMap,\n getVar,\n getCategoryValues,\n expandReferenceInValue\n };\n function registerTransform(...fns) {\n fns.forEach((fn) => {\n transforms.set(fn.name, fn);\n });\n }\n function registerMiddleware(...fns) {\n middlewares.push(...fns);\n }\n function transformToken(transform, token) {\n if (token.extensions.references) return;\n if (isFunction(transform.match) && !transform.match(token)) return;\n const fn = (v) => transform.transform(v, dictionary);\n const transformed = fn(token);\n switch (true) {\n case transform.type === \"extensions\":\n Object.assign(token.extensions, transformed);\n break;\n case transform.type === \"value\":\n token.value = transformed;\n break;\n default:\n token[transform.type] = transformed;\n break;\n }\n }\n function applyMiddlewares(enforce) {\n middlewares.forEach((middleware) => {\n if (middleware.enforce === enforce) {\n middleware.transform(dictionary);\n }\n });\n }\n function applyTransforms(enforce) {\n transforms.forEach((transform) => {\n if (transform.enforce === enforce) {\n allTokens.forEach((token) => {\n transformToken(transform, token);\n });\n }\n });\n }\n function addConditionalTokens() {\n allTokens.forEach((token) => {\n const tokens2 = getConditionalTokens(token);\n if (!tokens2 || tokens2.length === 0) return;\n tokens2.forEach((token2) => {\n registerToken(token2);\n });\n });\n }\n function getTokenReferences(value) {\n const refs = getReferences(value);\n return refs.map((ref) => getByName(ref)).filter(Boolean);\n }\n function addReferences() {\n allTokens.forEach((token) => {\n if (!hasReference(token.value)) return;\n const references = getTokenReferences(token.value);\n token.extensions.references = references.reduce((acc, ref) => {\n acc[ref.name] = ref;\n return acc;\n }, {});\n });\n }\n function expandTokenReferences$1() {\n allTokens.forEach((token) => {\n expandReferences(token);\n });\n }\n function build() {\n applyMiddlewares(\"pre\");\n applyTransforms(\"pre\");\n addConditionalTokens();\n addReferences();\n expandTokenReferences$1();\n applyMiddlewares(\"post\");\n applyTransforms(\"post\");\n setupViews();\n }\n registerTokens();\n registerTransform(...tokenTransforms);\n registerMiddleware(...tokenMiddlewares);\n build();\n return dictionary;\n}\nfunction filterDefault(path) {\n if (path[0] === \"DEFAULT\") return path;\n return path.filter((item) => item !== \"DEFAULT\");\n}\nfunction filterBaseCondition(path) {\n return path.filter((item) => item !== \"base\");\n}\nfunction getConditionalTokens(token) {\n if (!token.extensions.conditions) return;\n const { conditions } = token.extensions;\n const tokens = [];\n walkObject(conditions, (value, path) => {\n const nextPath = filterBaseCondition(path);\n if (!nextPath.length) return;\n const nextToken = structuredClone(token);\n nextToken.value = value;\n nextToken.extensions.condition = nextPath.join(\":\");\n tokens.push(nextToken);\n });\n return tokens;\n}\nfunction replaceRootWithColorPalette(path, roots) {\n const startIndex = path.findIndex(\n (_, index) => roots.every(\n (rootElement, rootIndex) => path[index + rootIndex] === rootElement\n )\n );\n if (startIndex === -1) {\n return path;\n }\n path.splice(startIndex, roots.length);\n path.splice(startIndex, 0, \"colorPalette\");\n return path;\n}\nconst tokenCategories = createProps()([\n \"aspectRatios\",\n \"zIndex\",\n \"opacity\",\n \"colors\",\n \"fonts\",\n \"fontSizes\",\n \"fontWeights\",\n \"lineHeights\",\n \"letterSpacings\",\n \"sizes\",\n \"shadows\",\n \"spacing\",\n \"radii\",\n \"cursor\",\n \"borders\",\n \"borderWidths\",\n \"borderStyles\",\n \"durations\",\n \"easings\",\n \"animations\",\n \"blurs\",\n \"gradients\",\n \"breakpoints\",\n \"assets\"\n]);\n\nexport { createTokenDictionary, tokenCategories };\n","\"use strict\";\nconst colorMix = (value, token) => {\n if (!value || typeof value !== \"string\") {\n return { invalid: true, value };\n }\n const [rawColor, rawOpacity] = value.split(\"/\");\n if (!rawColor || !rawOpacity || rawColor === \"currentBg\") {\n return { invalid: true, value: rawColor };\n }\n const colorToken = token(`colors.${rawColor}`);\n const opacityToken = token.raw(`opacity.${rawOpacity}`)?.value;\n if (!opacityToken && isNaN(Number(rawOpacity))) {\n return { invalid: true, value: rawColor };\n }\n const percent = opacityToken ? Number(opacityToken) * 100 + \"%\" : `${rawOpacity}%`;\n const color = colorToken ?? rawColor;\n return {\n invalid: false,\n color,\n value: `color-mix(in srgb, ${color} ${percent}, transparent)`\n };\n};\nconst createColorMixTransform = (prop) => (value, args) => {\n const mix = args.utils.colorMix(value);\n if (mix.invalid) return { [prop]: value };\n const cssVar = \"--mix-\" + prop;\n return {\n [cssVar]: mix.value,\n [prop]: `var(${cssVar}, ${mix.color})`\n };\n};\n\nexport { colorMix, createColorMixTransform };\n","\"use strict\";\nimport { isString, isFunction } from '../utils/is.js';\nimport { memo } from '../utils/memo.js';\nimport { colorMix } from './color-mix.js';\nimport { mapToJson } from './map-to-json.js';\n\nfunction normalize(config) {\n return config;\n}\nfunction normalizeConfig(config) {\n return Object.fromEntries(\n Object.entries(config).map(([property, propertyConfig]) => {\n return [property, normalize(propertyConfig)];\n })\n );\n}\nfunction createUtility(options) {\n const configs = normalizeConfig(options.config);\n const tokens = options.tokens;\n const shorthands = /* @__PURE__ */ new Map();\n const propValues = /* @__PURE__ */ new Map();\n function register(property, config) {\n configs[property] = normalize(config);\n assignProperty(property, config);\n }\n const assignProperty = (property, config) => {\n const values = getPropertyValues(config);\n if (!values) return;\n propValues.set(property, values);\n assignPropertyType(property, config);\n };\n const assignProperties = () => {\n for (const [prop, config] of Object.entries(configs)) {\n if (!config) continue;\n assignProperty(prop, config);\n }\n };\n const assignShorthands = () => {\n for (const [property, config] of Object.entries(configs)) {\n const { shorthand } = config ?? {};\n if (!shorthand) continue;\n const values = Array.isArray(shorthand) ? shorthand : [shorthand];\n values.forEach((name) => shorthands.set(name, property));\n }\n };\n const assignColorPaletteProperty = () => {\n const values = mapToJson(tokens.colorPaletteMap);\n register(\"colorPalette\", {\n values: Object.keys(values),\n transform: memo((value) => values[value])\n });\n };\n const propTypes = /* @__PURE__ */ new Map();\n const assignPropertyType = (property, config) => {\n if (!config) return;\n const values = getPropertyValues(config, (key) => `type:Tokens[\"${key}\"]`);\n if (typeof values === \"object\" && values.type) {\n propTypes.set(property, /* @__PURE__ */ new Set([`type:${values.type}`]));\n return;\n }\n if (values) {\n const keys2 = new Set(Object.keys(values));\n propTypes.set(property, keys2);\n }\n const set = propTypes.get(property) ?? /* @__PURE__ */ new Set();\n if (config.property) {\n propTypes.set(property, set.add(`CssProperties[\"${config.property}\"]`));\n }\n };\n const assignPropertyTypes = () => {\n for (const [property, propertyConfig] of Object.entries(configs)) {\n if (!propertyConfig) continue;\n assignPropertyType(property, propertyConfig);\n }\n };\n const addPropertyType = (property, type) => {\n const set = propTypes.get(property) ?? /* @__PURE__ */ new Set();\n propTypes.set(property, /* @__PURE__ */ new Set([...set, ...type]));\n };\n const getTypes = () => {\n const map = /* @__PURE__ */ new Map();\n for (const [prop, values] of propTypes.entries()) {\n if (values.size === 0) {\n map.set(prop, [\"string\"]);\n continue;\n }\n const typeValues = Array.from(values).map((key) => {\n if (key.startsWith(\"CssProperties\")) return key;\n if (key.startsWith(\"type:\")) return key.replace(\"type:\", \"\");\n return JSON.stringify(key);\n });\n map.set(prop, typeValues);\n }\n return map;\n };\n const getPropertyValues = (config, resolveFn) => {\n const { values } = config;\n const fn = (key) => {\n const value = resolveFn?.(key);\n return value ? { [value]: value } : void 0;\n };\n if (isString(values)) {\n return fn?.(values) ?? tokens.getCategoryValues(values) ?? {};\n }\n if (Array.isArray(values)) {\n return values.reduce((result, value) => {\n result[value] = value;\n return result;\n }, {});\n }\n if (isFunction(values)) {\n return values(resolveFn ? fn : tokens.getCategoryValues);\n }\n return values;\n };\n const defaultTransform = memo((prop, value) => {\n return {\n [prop]: prop.startsWith(\"--\") ? tokens.getVar(value, value) : value\n };\n });\n const tokenFn = Object.assign(tokens.getVar, {\n raw: (path) => tokens.getByName(path)\n });\n const transform = memo((prop, raw) => {\n const key = resolveShorthand(prop);\n if (isString(raw) && !raw.includes(\"_EMO_\")) {\n raw = tokens.expandReferenceInValue(raw);\n }\n const config = configs[key];\n if (!config) {\n return defaultTransform(key, raw);\n }\n const value = propValues.get(key)?.[raw];\n if (!config.transform) {\n return defaultTransform(prop, value ?? raw);\n }\n const _colorMix = (value2) => colorMix(value2, tokenFn);\n return config.transform(value ?? raw, {\n raw,\n token: tokenFn,\n utils: { colorMix: _colorMix }\n });\n });\n function build() {\n assignShorthands();\n assignColorPaletteProperty();\n assignProperties();\n assignPropertyTypes();\n }\n build();\n const hasShorthand = shorthands.size > 0;\n const resolveShorthand = memo((prop) => {\n return shorthands.get(prop) ?? prop;\n });\n const keys = () => {\n return [...Array.from(shorthands.keys()), ...Object.keys(configs)];\n };\n const instance = {\n keys,\n hasShorthand,\n transform,\n shorthands,\n resolveShorthand,\n register,\n getTypes,\n addPropertyType\n };\n return instance;\n}\n\nexport { createUtility };\n","\"use strict\";\nimport { isCssProperty } from '@pandacss/is-valid-prop';\nimport { compact } from '../utils/compact.js';\nimport { flatten } from '../utils/flatten.js';\nimport { isObject } from '../utils/is.js';\nimport { memo } from '../utils/memo.js';\nimport { mergeWith } from '../utils/merge.js';\nimport { splitProps } from '../utils/split-props.js';\nimport { createBreakpoints } from './breakpoints.js';\nimport { createConditions } from './conditions.js';\nimport { mergeConfigs } from './config.js';\nimport { createCssFn } from './css.js';\nimport { createRecipeFn } from './cva.js';\nimport { createLayers } from './layers.js';\nimport { createNormalizeFn } from './normalize.js';\nimport { createPreflight } from './preflight.js';\nimport { createSerializeFn } from './serialize.js';\nimport { createSlotRecipeFn } from './sva.js';\nimport { createTokenDictionary } from './token-dictionary.js';\nimport { createUtility } from './utility.js';\n\nconst EMPTY_OBJECT = {};\nfunction createSystem(...configs) {\n const config = mergeConfigs(...configs);\n const {\n theme = {},\n utilities = {},\n globalCss = {},\n cssVarsRoot = \":where(:root, :host)\",\n cssVarsPrefix = \"chakra\",\n preflight\n } = config;\n const layers = createLayers(config);\n const tokens = createTokenDictionary({\n breakpoints: theme.breakpoints,\n tokens: theme.tokens,\n semanticTokens: theme.semanticTokens,\n prefix: cssVarsPrefix\n });\n const breakpoints = createBreakpoints(theme.breakpoints ?? EMPTY_OBJECT);\n const conditions = createConditions({\n conditions: config.conditions ?? EMPTY_OBJECT,\n breakpoints\n });\n const utility = createUtility({\n config: utilities,\n tokens\n });\n function assignComposition() {\n const { textStyles, layerStyles, animationStyles } = theme;\n const compositions = compact({\n textStyle: textStyles,\n layerStyle: layerStyles,\n animationStyle: animationStyles\n });\n for (const [key, values] of Object.entries(compositions)) {\n const flatValues = flatten(values ?? EMPTY_OBJECT, stop);\n utility.register(key, {\n values: Object.keys(flatValues),\n transform(value) {\n return css(flatValues[value]);\n }\n });\n }\n }\n assignComposition();\n utility.addPropertyType(\n \"animationName\",\n Object.keys(theme.keyframes ?? EMPTY_OBJECT)\n );\n const properties = /* @__PURE__ */ new Set([\"css\", ...utility.keys(), ...conditions.keys()]);\n const isValidProperty = memo(\n (prop) => properties.has(prop) || isCssProperty(prop)\n );\n const normalizeValue = (value) => {\n if (Array.isArray(value)) {\n return value.reduce((acc, current, index) => {\n const key = conditions.breakpoints[index];\n if (current != null) acc[key] = current;\n return acc;\n }, {});\n }\n return value;\n };\n const normalizeFn = createNormalizeFn({\n utility,\n normalize: normalizeValue\n });\n const serialize = createSerializeFn({\n conditions,\n isValidProperty\n });\n const css = createCssFn({\n transform: utility.transform,\n conditions,\n normalize: normalizeFn\n });\n const cva = createRecipeFn({\n css,\n conditions,\n normalize: normalizeFn,\n layers\n });\n const sva = createSlotRecipeFn({ cva });\n function getTokenCss() {\n const result = {};\n for (const [key, values] of tokens.cssVarMap.entries()) {\n const varsObj = Object.fromEntries(values);\n if (Object.keys(varsObj).length === 0) continue;\n const selector = key === \"base\" ? cssVarsRoot : conditions.resolve(key);\n const isAtRule = selector.startsWith(\"@\");\n const cssObject = css(\n serialize({\n [selector]: isAtRule ? { [cssVarsRoot]: varsObj } : varsObj\n })\n );\n mergeWith(result, cssObject);\n }\n return layers.wrap(\"tokens\", result);\n }\n function getGlobalCss() {\n const keyframes = Object.fromEntries(\n Object.entries(theme.keyframes ?? EMPTY_OBJECT).map(([key, value]) => [\n `@keyframes ${key}`,\n value\n ])\n );\n const result = Object.assign({}, keyframes, css(serialize(globalCss)));\n return layers.wrap(\"base\", result);\n }\n function splitCssProps(props) {\n return splitProps(props, isValidProperty);\n }\n function getPreflightCss() {\n const result = createPreflight({ preflight });\n return layers.wrap(\"reset\", result);\n }\n const tokenMap = getTokenMap(tokens);\n const tokenFn = (path, fallback) => {\n return tokenMap.get(path)?.value || fallback;\n };\n tokenFn.var = (path, fallback) => {\n return tokenMap.get(path)?.variable || fallback;\n };\n function getRecipe(key, fallback) {\n return theme.recipes?.[key] ?? fallback;\n }\n function getSlotRecipe(key, fallback) {\n return theme.slotRecipes?.[key] ?? fallback;\n }\n function isRecipe(key) {\n return Object.hasOwnProperty.call(theme.recipes ?? EMPTY_OBJECT, key);\n }\n function isSlotRecipe(key) {\n return Object.hasOwnProperty.call(theme.slotRecipes ?? EMPTY_OBJECT, key);\n }\n function hasRecipe(key) {\n return isRecipe(key) || isSlotRecipe(key);\n }\n const _global = [getPreflightCss(), getGlobalCss(), getTokenCss()];\n const query = {\n layerStyles: compositionQuery(theme.layerStyles ?? EMPTY_OBJECT),\n textStyles: compositionQuery(theme.textStyles ?? EMPTY_OBJECT),\n animationStyles: compositionQuery(theme.animationStyles ?? EMPTY_OBJECT),\n tokens: semanticTokenQuery(\n tokens,\n Object.keys(theme.tokens ?? EMPTY_OBJECT),\n (value, key) => !value.extensions.conditions && !key.includes(\"colorPalette\")\n ),\n semanticTokens: semanticTokenQuery(\n tokens,\n Object.keys(theme.semanticTokens ?? EMPTY_OBJECT),\n (value) => !!value.extensions.conditions\n ),\n keyframes: basicQuery(theme.keyframes ?? EMPTY_OBJECT),\n breakpoints: basicQuery(theme.breakpoints ?? EMPTY_OBJECT)\n };\n return {\n $$chakra: true,\n _config: config,\n _global,\n breakpoints,\n tokens,\n conditions,\n utility,\n token: tokenFn,\n properties,\n layers,\n isValidProperty,\n splitCssProps,\n normalizeValue,\n getTokenCss,\n getGlobalCss,\n getPreflightCss,\n css,\n cva,\n sva,\n getRecipe,\n getSlotRecipe,\n hasRecipe,\n isRecipe,\n isSlotRecipe,\n query\n };\n}\nfunction getTokenMap(tokens) {\n const map = /* @__PURE__ */ new Map();\n tokens.allTokens.forEach((token) => {\n const { cssVar, virtual, conditions } = token.extensions;\n const value = !!conditions || virtual ? cssVar.ref : token.value;\n map.set(token.name, { value, variable: cssVar.ref });\n });\n return map;\n}\nconst isValidSystem = (mod) => {\n return isObject(mod) && !!Reflect.get(mod, \"$$chakra\");\n};\nconst stop = (v) => isObject(v) && \"value\" in v;\nconst compositionQuery = (dict) => ({\n list() {\n return Object.keys(flatten(dict, stop));\n },\n search(query) {\n return this.list().filter((style) => style.includes(query));\n }\n});\nconst semanticTokenQuery = (tokens, categoryKeys, predicate) => ({\n categoryKeys,\n list(category) {\n return Array.from(tokens.categoryMap.get(category)?.entries() ?? []).reduce(\n (acc, [key, value]) => {\n if (predicate(value, key)) acc.push(key);\n return acc;\n },\n []\n );\n },\n search(category, query) {\n return this.list(category).filter((style) => style.includes(query));\n }\n});\nconst basicQuery = (dict) => ({\n list() {\n return Object.keys(dict);\n },\n search(query) {\n return this.list().filter((style) => style.includes(query));\n }\n});\n\nexport { createSystem, isValidSystem };\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(() => ({\n defaultValue: { height: 0, width: 0 },\n sync: true\n })),\n initial: bindable(() => ({\n defaultValue: false\n }))\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, scope }) => {\n const contentEl = getContentEl(scope);\n if (!contentEl) return;\n const { height, width } = contentEl.getBoundingClientRect();\n context.set(\"size\", { height, width });\n },\n computeSize: ({ refs, scope, 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 context.set(\"size\", { height: rect.height, width: rect.width });\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 HEX_COLOR_REGEX = /^#[\\da-f]+$/i;\nvar RGB_COLOR_REGEX = /^rgba?\\((.*)\\)$/;\nvar HEX_STARTING_REGEX = /[^#]/gi;\nvar _RGBColor = class _RGBColor extends Color {\n constructor(red, green, blue, alpha) {\n super();\n this.red = red;\n this.green = green;\n this.blue = blue;\n this.alpha = alpha;\n }\n static parse(value) {\n let colors = [];\n if (HEX_COLOR_REGEX.test(value) && [4, 5, 7, 9].includes(value.length)) {\n const values = (value.length < 6 ? value.replace(HEX_STARTING_REGEX, \"$&$&\") : value).slice(1).split(\"\");\n while (values.length > 0) {\n colors.push(parseInt(values.splice(0, 2).join(\"\"), 16));\n }\n colors[3] = colors[3] !== void 0 ? colors[3] / 255 : void 0;\n }\n const match = value.match(RGB_COLOR_REGEX);\n if (match?.[1]) {\n colors = match[1].split(\",\").map((value2) => Number(value2.trim())).map((num, i) => clampValue(num, 0, i < 3 ? 255 : 1));\n }\n return colors.length < 3 ? void 0 : new _RGBColor(colors[0], colors[1], colors[2], colors[3] ?? 1);\n }\n toString(format) {\n switch (format) {\n case \"hex\":\n return \"#\" + (this.red.toString(16).padStart(2, \"0\") + this.green.toString(16).padStart(2, \"0\") + this.blue.toString(16).padStart(2, \"0\")).toUpperCase();\n case \"hexa\":\n return \"#\" + (this.red.toString(16).padStart(2, \"0\") + this.green.toString(16).padStart(2, \"0\") + this.blue.toString(16).padStart(2, \"0\") + Math.round(this.alpha * 255).toString(16).padStart(2, \"0\")).toUpperCase();\n case \"rgb\":\n return `rgb(${this.red}, ${this.green}, ${this.blue})`;\n case \"css\":\n case \"rgba\":\n return `rgba(${this.red}, ${this.green}, ${this.blue}, ${this.alpha})`;\n case \"hsl\":\n return this.toHSL().toString(\"hsl\");\n case \"hsb\":\n return this.toHSB().toString(\"hsb\");\n default:\n return this.toFormat(format).toString(format);\n }\n }\n toFormat(format) {\n switch (format) {\n case \"rgba\":\n return this;\n case \"hsba\":\n return this.toHSB();\n case \"hsla\":\n return this.toHSL();\n default:\n throw new Error(\"Unsupported color conversion: rgb -> \" + format);\n }\n }\n toHexInt() {\n return this.red << 16 | this.green << 8 | this.blue;\n }\n /**\n * Converts an RGB color value to HSB.\n * Conversion formula adapted from https://en.wikipedia.org/wiki/HSL_and_HSV#From_RGB.\n * @returns An HSBColor object.\n */\n toHSB() {\n const red = this.red / 255;\n const green = this.green / 255;\n const blue = this.blue / 255;\n const min = Math.min(red, green, blue);\n const brightness = Math.max(red, green, blue);\n const chroma = brightness - min;\n const saturation = brightness === 0 ? 0 : chroma / brightness;\n let hue = 0;\n if (chroma !== 0) {\n switch (brightness) {\n case red:\n hue = (green - blue) / chroma + (green < blue ? 6 : 0);\n break;\n case green:\n hue = (blue - red) / chroma + 2;\n break;\n case blue:\n hue = (red - green) / chroma + 4;\n break;\n }\n hue /= 6;\n }\n return new HSBColor(\n toFixedNumber(hue * 360, 2),\n toFixedNumber(saturation * 100, 2),\n toFixedNumber(brightness * 100, 2),\n toFixedNumber(this.alpha, 2)\n );\n }\n /**\n * Converts an RGB color value to HSL.\n * Conversion formula adapted from https://en.wikipedia.org/wiki/HSL_and_HSV#From_RGB.\n * @returns An HSLColor object.\n */\n toHSL() {\n const red = this.red / 255;\n const green = this.green / 255;\n const blue = this.blue / 255;\n const min = Math.min(red, green, blue);\n const max = Math.max(red, green, blue);\n const lightness = (max + min) / 2;\n const chroma = max - min;\n let hue = -1;\n let saturation = -1;\n if (chroma === 0) {\n hue = saturation = 0;\n } else {\n saturation = chroma / (lightness < 0.5 ? max + min : 2 - max - min);\n switch (max) {\n case red:\n hue = (green - blue) / chroma + (green < blue ? 6 : 0);\n break;\n case green:\n hue = (blue - red) / chroma + 2;\n break;\n case blue:\n hue = (red - green) / chroma + 4;\n break;\n }\n hue /= 6;\n }\n return new HSLColor(\n toFixedNumber(hue * 360, 2),\n toFixedNumber(saturation * 100, 2),\n toFixedNumber(lightness * 100, 2),\n toFixedNumber(this.alpha, 2)\n );\n }\n clone() {\n return new _RGBColor(this.red, this.green, this.blue, this.alpha);\n }\n getChannelFormatOptions(channel) {\n switch (channel) {\n case \"red\":\n case \"green\":\n case \"blue\":\n return { style: \"decimal\" };\n case \"alpha\":\n return { style: \"percent\" };\n default:\n throw new Error(\"Unknown color channel: \" + channel);\n }\n }\n formatChannelValue(channel, locale) {\n let options = this.getChannelFormatOptions(channel);\n let value = this.getChannelValue(channel);\n return new Intl.NumberFormat(locale, options).format(value);\n }\n getChannelRange(channel) {\n switch (channel) {\n case \"red\":\n case \"green\":\n case \"blue\":\n return { minValue: 0, maxValue: 255, step: 1, pageSize: 17 };\n case \"alpha\":\n return { minValue: 0, maxValue: 1, step: 0.01, pageSize: 0.1 };\n default:\n throw new Error(\"Unknown color channel: \" + channel);\n }\n }\n toJSON() {\n return { r: this.red, g: this.green, b: this.blue, a: this.alpha };\n }\n getFormat() {\n return \"rgba\";\n }\n getChannels() {\n return _RGBColor.colorChannels;\n }\n};\n__publicField(_RGBColor, \"colorChannels\", [\"red\", \"green\", \"blue\"]);\nvar RGBColor = _RGBColor;\n\n// src/hsl-color.ts\nvar HSL_REGEX = /hsl\\(([-+]?\\d+(?:.\\d+)?\\s*,\\s*[-+]?\\d+(?:.\\d+)?%\\s*,\\s*[-+]?\\d+(?:.\\d+)?%)\\)|hsla\\(([-+]?\\d+(?:.\\d+)?\\s*,\\s*[-+]?\\d+(?:.\\d+)?%\\s*,\\s*[-+]?\\d+(?:.\\d+)?%\\s*,\\s*[-+]?\\d(.\\d+)?)\\)/;\nvar _HSLColor = class _HSLColor extends Color {\n constructor(hue, saturation, lightness, alpha) {\n super();\n this.hue = hue;\n this.saturation = saturation;\n this.lightness = lightness;\n this.alpha = alpha;\n }\n static parse(value) {\n let m;\n if (m = value.match(HSL_REGEX)) {\n const [h, s, l, a] = (m[1] ?? m[2]).split(\",\").map((n) => Number(n.trim().replace(\"%\", \"\")));\n return new _HSLColor(mod(h, 360), clampValue(s, 0, 100), clampValue(l, 0, 100), clampValue(a ?? 1, 0, 1));\n }\n }\n toString(format) {\n switch (format) {\n case \"hex\":\n return this.toRGB().toString(\"hex\");\n case \"hexa\":\n return this.toRGB().toString(\"hexa\");\n case \"hsl\":\n return `hsl(${this.hue}, ${toFixedNumber(this.saturation, 2)}%, ${toFixedNumber(this.lightness, 2)}%)`;\n case \"css\":\n case \"hsla\":\n return `hsla(${this.hue}, ${toFixedNumber(this.saturation, 2)}%, ${toFixedNumber(this.lightness, 2)}%, ${this.alpha})`;\n case \"hsb\":\n return this.toHSB().toString(\"hsb\");\n case \"rgb\":\n return this.toRGB().toString(\"rgb\");\n default:\n return this.toFormat(format).toString(format);\n }\n }\n toFormat(format) {\n switch (format) {\n case \"hsla\":\n return this;\n case \"hsba\":\n return this.toHSB();\n case \"rgba\":\n return this.toRGB();\n default:\n throw new Error(\"Unsupported color conversion: hsl -> \" + format);\n }\n }\n /**\n * Converts a HSL color to HSB.\n * Conversion formula adapted from https://en.wikipedia.org/wiki/HSL_and_HSV#HSL_to_HSV.\n * @returns An HSBColor object.\n */\n toHSB() {\n let saturation = this.saturation / 100;\n let lightness = this.lightness / 100;\n let brightness = lightness + saturation * Math.min(lightness, 1 - lightness);\n saturation = brightness === 0 ? 0 : 2 * (1 - lightness / brightness);\n return new HSBColor(\n toFixedNumber(this.hue, 2),\n toFixedNumber(saturation * 100, 2),\n toFixedNumber(brightness * 100, 2),\n toFixedNumber(this.alpha, 2)\n );\n }\n /**\n * Converts a HSL color to RGB.\n * Conversion formula adapted from https://en.wikipedia.org/wiki/HSL_and_HSV#HSL_to_RGB_alternative.\n * @returns An RGBColor object.\n */\n toRGB() {\n let hue = this.hue;\n let saturation = this.saturation / 100;\n let lightness = this.lightness / 100;\n let a = saturation * Math.min(lightness, 1 - lightness);\n let fn = (n, k = (n + hue / 30) % 12) => lightness - a * Math.max(Math.min(k - 3, 9 - k, 1), -1);\n return new RGBColor(\n Math.round(fn(0) * 255),\n Math.round(fn(8) * 255),\n Math.round(fn(4) * 255),\n toFixedNumber(this.alpha, 2)\n );\n }\n clone() {\n return new _HSLColor(this.hue, this.saturation, this.lightness, this.alpha);\n }\n getChannelFormatOptions(channel) {\n switch (channel) {\n case \"hue\":\n return { style: \"unit\", unit: \"degree\", unitDisplay: \"narrow\" };\n case \"saturation\":\n case \"lightness\":\n case \"alpha\":\n return { style: \"percent\" };\n default:\n throw new Error(\"Unknown color channel: \" + channel);\n }\n }\n formatChannelValue(channel, locale) {\n let options = this.getChannelFormatOptions(channel);\n let value = this.getChannelValue(channel);\n if (channel === \"saturation\" || channel === \"lightness\") {\n value /= 100;\n }\n return new Intl.NumberFormat(locale, options).format(value);\n }\n getChannelRange(channel) {\n switch (channel) {\n case \"hue\":\n return { minValue: 0, maxValue: 360, step: 1, pageSize: 15 };\n case \"saturation\":\n case \"lightness\":\n return { minValue: 0, maxValue: 100, step: 1, pageSize: 10 };\n case \"alpha\":\n return { minValue: 0, maxValue: 1, step: 0.01, pageSize: 0.1 };\n default:\n throw new Error(\"Unknown color channel: \" + channel);\n }\n }\n toJSON() {\n return { h: this.hue, s: this.saturation, l: this.lightness, a: this.alpha };\n }\n getFormat() {\n return \"hsla\";\n }\n getChannels() {\n return _HSLColor.colorChannels;\n }\n};\n__publicField(_HSLColor, \"colorChannels\", [\"hue\", \"saturation\", \"lightness\"]);\nvar HSLColor = _HSLColor;\n\n// src/hsb-color.ts\nvar HSB_REGEX = /hsb\\(([-+]?\\d+(?:.\\d+)?\\s*,\\s*[-+]?\\d+(?:.\\d+)?%\\s*,\\s*[-+]?\\d+(?:.\\d+)?%)\\)|hsba\\(([-+]?\\d+(?:.\\d+)?\\s*,\\s*[-+]?\\d+(?:.\\d+)?%\\s*,\\s*[-+]?\\d+(?:.\\d+)?%\\s*,\\s*[-+]?\\d(.\\d+)?)\\)/;\nvar _HSBColor = class _HSBColor extends Color {\n constructor(hue, saturation, brightness, alpha) {\n super();\n this.hue = hue;\n this.saturation = saturation;\n this.brightness = brightness;\n this.alpha = alpha;\n }\n static parse(value) {\n let m;\n if (m = value.match(HSB_REGEX)) {\n const [h, s, b, a] = (m[1] ?? m[2]).split(\",\").map((n) => Number(n.trim().replace(\"%\", \"\")));\n return new _HSBColor(mod(h, 360), clampValue(s, 0, 100), clampValue(b, 0, 100), clampValue(a ?? 1, 0, 1));\n }\n }\n toString(format) {\n switch (format) {\n case \"css\":\n return this.toHSL().toString(\"css\");\n case \"hex\":\n return this.toRGB().toString(\"hex\");\n case \"hexa\":\n return this.toRGB().toString(\"hexa\");\n case \"hsb\":\n return `hsb(${this.hue}, ${toFixedNumber(this.saturation, 2)}%, ${toFixedNumber(this.brightness, 2)}%)`;\n case \"hsba\":\n return `hsba(${this.hue}, ${toFixedNumber(this.saturation, 2)}%, ${toFixedNumber(this.brightness, 2)}%, ${this.alpha})`;\n case \"hsl\":\n return this.toHSL().toString(\"hsl\");\n case \"rgb\":\n return this.toRGB().toString(\"rgb\");\n default:\n return this.toFormat(format).toString(format);\n }\n }\n toFormat(format) {\n switch (format) {\n case \"hsba\":\n return this;\n case \"hsla\":\n return this.toHSL();\n case \"rgba\":\n return this.toRGB();\n default:\n throw new Error(\"Unsupported color conversion: hsb -> \" + format);\n }\n }\n /**\n * Converts a HSB color to HSL.\n * Conversion formula adapted from https://en.wikipedia.org/wiki/HSL_and_HSV#HSV_to_HSL.\n * @returns An HSLColor object.\n */\n toHSL() {\n let saturation = this.saturation / 100;\n let brightness = this.brightness / 100;\n let lightness = brightness * (1 - saturation / 2);\n saturation = lightness === 0 || lightness === 1 ? 0 : (brightness - lightness) / Math.min(lightness, 1 - lightness);\n return new HSLColor(\n toFixedNumber(this.hue, 2),\n toFixedNumber(saturation * 100, 2),\n toFixedNumber(lightness * 100, 2),\n toFixedNumber(this.alpha, 2)\n );\n }\n /**\n * Converts a HSV color value to RGB.\n * Conversion formula adapted from https://en.wikipedia.org/wiki/HSL_and_HSV#HSV_to_RGB_alternative.\n * @returns An RGBColor object.\n */\n toRGB() {\n let hue = this.hue;\n let saturation = this.saturation / 100;\n let brightness = this.brightness / 100;\n let fn = (n, k = (n + hue / 60) % 6) => brightness - saturation * brightness * Math.max(Math.min(k, 4 - k, 1), 0);\n return new RGBColor(\n Math.round(fn(5) * 255),\n Math.round(fn(3) * 255),\n Math.round(fn(1) * 255),\n toFixedNumber(this.alpha, 2)\n );\n }\n clone() {\n return new _HSBColor(this.hue, this.saturation, this.brightness, this.alpha);\n }\n getChannelFormatOptions(channel) {\n switch (channel) {\n case \"hue\":\n return { style: \"unit\", unit: \"degree\", unitDisplay: \"narrow\" };\n case \"saturation\":\n case \"brightness\":\n case \"alpha\":\n return { style: \"percent\" };\n default:\n throw new Error(\"Unknown color channel: \" + channel);\n }\n }\n formatChannelValue(channel, locale) {\n let options = this.getChannelFormatOptions(channel);\n let value = this.getChannelValue(channel);\n if (channel === \"saturation\" || channel === \"brightness\") {\n value /= 100;\n }\n return new Intl.NumberFormat(locale, options).format(value);\n }\n getChannelRange(channel) {\n switch (channel) {\n case \"hue\":\n return { minValue: 0, maxValue: 360, step: 1, pageSize: 15 };\n case \"saturation\":\n case \"brightness\":\n return { minValue: 0, maxValue: 100, step: 1, pageSize: 10 };\n case \"alpha\":\n return { minValue: 0, maxValue: 1, step: 0.01, pageSize: 0.1 };\n default:\n throw new Error(\"Unknown color channel: \" + channel);\n }\n }\n toJSON() {\n return { h: this.hue, s: this.saturation, b: this.brightness, a: this.alpha };\n }\n getFormat() {\n return \"hsba\";\n }\n getChannels() {\n return _HSBColor.colorChannels;\n }\n};\n__publicField(_HSBColor, \"colorChannels\", [\"hue\", \"saturation\", \"brightness\"]);\nvar HSBColor = _HSBColor;\n\n// src/native-color.ts\nvar nativeColors = \"aliceblue:f0f8ff,antiquewhite:faebd7,aqua:00ffff,aquamarine:7fffd4,azure:f0ffff,beige:f5f5dc,bisque:ffe4c4,black:000000,blanchedalmond:ffebcd,blue:0000ff,blueviolet:8a2be2,brown:a52a2a,burlywood:deb887,cadetblue:5f9ea0,chartreuse:7fff00,chocolate:d2691e,coral:ff7f50,cornflowerblue:6495ed,cornsilk:fff8dc,crimson:dc143c,cyan:00ffff,darkblue:00008b,darkcyan:008b8b,darkgoldenrod:b8860b,darkgray:a9a9a9,darkgreen:006400,darkkhaki:bdb76b,darkmagenta:8b008b,darkolivegreen:556b2f,darkorange:ff8c00,darkorchid:9932cc,darkred:8b0000,darksalmon:e9967a,darkseagreen:8fbc8f,darkslateblue:483d8b,darkslategray:2f4f4f,darkturquoise:00ced1,darkviolet:9400d3,deeppink:ff1493,deepskyblue:00bfff,dimgray:696969,dodgerblue:1e90ff,firebrick:b22222,floralwhite:fffaf0,forestgreen:228b22,fuchsia:ff00ff,gainsboro:dcdcdc,ghostwhite:f8f8ff,gold:ffd700,goldenrod:daa520,gray:808080,green:008000,greenyellow:adff2f,honeydew:f0fff0,hotpink:ff69b4,indianred:cd5c5c,indigo:4b0082,ivory:fffff0,khaki:f0e68c,lavender:e6e6fa,lavenderblush:fff0f5,lawngreen:7cfc00,lemonchiffon:fffacd,lightblue:add8e6,lightcoral:f08080,lightcyan:e0ffff,lightgoldenrodyellow:fafad2,lightgrey:d3d3d3,lightgreen:90ee90,lightpink:ffb6c1,lightsalmon:ffa07a,lightseagreen:20b2aa,lightskyblue:87cefa,lightslategray:778899,lightsteelblue:b0c4de,lightyellow:ffffe0,lime:00ff00,limegreen:32cd32,linen:faf0e6,magenta:ff00ff,maroon:800000,mediumaquamarine:66cdaa,mediumblue:0000cd,mediumorchid:ba55d3,mediumpurple:9370d8,mediumseagreen:3cb371,mediumslateblue:7b68ee,mediumspringgreen:00fa9a,mediumturquoise:48d1cc,mediumvioletred:c71585,midnightblue:191970,mintcream:f5fffa,mistyrose:ffe4e1,moccasin:ffe4b5,navajowhite:ffdead,navy:000080,oldlace:fdf5e6,olive:808000,olivedrab:6b8e23,orange:ffa500,orangered:ff4500,orchid:da70d6,palegoldenrod:eee8aa,palegreen:98fb98,paleturquoise:afeeee,palevioletred:d87093,papayawhip:ffefd5,peachpuff:ffdab9,peru:cd853f,pink:ffc0cb,plum:dda0dd,powderblue:b0e0e6,purple:800080,rebeccapurple:663399,red:ff0000,rosybrown:bc8f8f,royalblue:4169e1,saddlebrown:8b4513,salmon:fa8072,sandybrown:f4a460,seagreen:2e8b57,seashell:fff5ee,sienna:a0522d,silver:c0c0c0,skyblue:87ceeb,slateblue:6a5acd,slategray:708090,snow:fffafa,springgreen:00ff7f,steelblue:4682b4,tan:d2b48c,teal:008080,thistle:d8bfd8,tomato:ff6347,turquoise:40e0d0,violet:ee82ee,wheat:f5deb3,white:ffffff,whitesmoke:f5f5f5,yellow:ffff00,yellowgreen:9acd32\";\nvar makeMap = (str) => {\n const map = /* @__PURE__ */ new Map();\n const list = str.split(\",\");\n for (let i = 0; i < list.length; i++) {\n const [key, val] = list[i].split(\":\");\n map.set(key, `#${val}`);\n if (key.includes(\"gray\")) map.set(key.replace(\"gray\", \"grey\"), `#${val}`);\n }\n return map;\n};\nvar nativeColorMap = makeMap(nativeColors);\n\n// src/parse-color.ts\nvar parseColor = (value) => {\n if (nativeColorMap.has(value)) {\n return parseColor(nativeColorMap.get(value));\n }\n const result = RGBColor.parse(value) || HSBColor.parse(value) || HSLColor.parse(value);\n if (!result) {\n const error = new Error(\"Invalid color value: \" + value);\n Error.captureStackTrace?.(error, parseColor);\n throw error;\n }\n return result;\n};\nvar normalizeColor = (v) => {\n return typeof v === \"string\" ? parseColor(v) : v;\n};\n\nexport { Color, getColorAreaGradient, normalizeColor, parseColor };\n","import { createAnatomy } from '@zag-js/anatomy';\nimport { parseColor, getColorAreaGradient, normalizeColor } from '@zag-js/color-utils';\nimport { raf, getInitialFocus, dispatchInputValueEvent, disableTextSelection, trackPointerMove, trackFormControl, setElementValue, getRelativePoint, queryAll, dataAttr, visuallyHiddenStyle, getEventStep, getEventKey, isLeftClick, isModifierKey, getEventPoint, query } from '@zag-js/dom-query';\nimport { getPlacement, getPlacementStyles } from '@zag-js/popper';\nimport { createGuards, createMachine } from '@zag-js/core';\nimport { trackDismissableElement } from '@zag-js/dismissable';\nimport { tryCatch, createSplitProps } from '@zag-js/utils';\nimport { createProps } from '@zag-js/types';\n\n// src/color-picker.anatomy.ts\nvar anatomy = createAnatomy(\"color-picker\", [\n \"root\",\n \"label\",\n \"control\",\n \"trigger\",\n \"positioner\",\n \"content\",\n \"area\",\n \"areaThumb\",\n \"valueText\",\n \"areaBackground\",\n \"channelSlider\",\n \"channelSliderLabel\",\n \"channelSliderTrack\",\n \"channelSliderThumb\",\n \"channelSliderValueText\",\n \"channelInput\",\n \"transparencyGrid\",\n \"swatchGroup\",\n \"swatchTrigger\",\n \"swatchIndicator\",\n \"swatch\",\n \"eyeDropperTrigger\",\n \"formatTrigger\",\n \"formatSelect\"\n]);\nvar parts = anatomy.build();\nvar getRootId = (ctx) => ctx.ids?.root ?? `color-picker:${ctx.id}`;\nvar getLabelId = (ctx) => ctx.ids?.label ?? `color-picker:${ctx.id}:label`;\nvar getHiddenInputId = (ctx) => ctx.ids?.hiddenInput ?? `color-picker:${ctx.id}:hidden-input`;\nvar getControlId = (ctx) => ctx.ids?.control ?? `color-picker:${ctx.id}:control`;\nvar getTriggerId = (ctx) => ctx.ids?.trigger ?? `color-picker:${ctx.id}:trigger`;\nvar getContentId = (ctx) => ctx.ids?.content ?? `color-picker:${ctx.id}:content`;\nvar getPositionerId = (ctx) => ctx.ids?.positioner ?? `color-picker:${ctx.id}:positioner`;\nvar getFormatSelectId = (ctx) => ctx.ids?.formatSelect ?? `color-picker:${ctx.id}:format-select`;\nvar getAreaId = (ctx) => ctx.ids?.area ?? `color-picker:${ctx.id}:area`;\nvar getAreaGradientId = (ctx) => ctx.ids?.areaGradient ?? `color-picker:${ctx.id}:area-gradient`;\nvar getAreaThumbId = (ctx) => ctx.ids?.areaThumb ?? `color-picker:${ctx.id}:area-thumb`;\nvar getChannelSliderTrackId = (ctx, channel) => ctx.ids?.channelSliderTrack?.(channel) ?? `color-picker:${ctx.id}:slider-track:${channel}`;\nvar getChannelSliderThumbId = (ctx, channel) => ctx.ids?.channelSliderThumb?.(channel) ?? `color-picker:${ctx.id}:slider-thumb:${channel}`;\nvar getContentEl = (ctx) => ctx.getById(getContentId(ctx));\nvar getAreaThumbEl = (ctx) => ctx.getById(getAreaThumbId(ctx));\nvar getChannelSliderThumbEl = (ctx, channel) => ctx.getById(getChannelSliderThumbId(ctx, channel));\nvar getFormatSelectEl = (ctx) => ctx.getById(getFormatSelectId(ctx));\nvar getHiddenInputEl = (ctx) => ctx.getById(getHiddenInputId(ctx));\nvar getAreaEl = (ctx) => ctx.getById(getAreaId(ctx));\nvar getAreaValueFromPoint = (ctx, point) => {\n const areaEl = getAreaEl(ctx);\n if (!areaEl) return;\n const { percent } = getRelativePoint(point, areaEl);\n return percent;\n};\nvar getControlEl = (ctx) => ctx.getById(getControlId(ctx));\nvar getTriggerEl = (ctx) => ctx.getById(getTriggerId(ctx));\nvar getPositionerEl = (ctx) => ctx.getById(getPositionerId(ctx));\nvar getChannelSliderTrackEl = (ctx, channel) => ctx.getById(getChannelSliderTrackId(ctx, channel));\nvar getChannelSliderValueFromPoint = (ctx, point, channel) => {\n const trackEl = getChannelSliderTrackEl(ctx, channel);\n if (!trackEl) return;\n const { percent } = getRelativePoint(point, trackEl);\n return percent;\n};\nvar getChannelInputEls = (ctx) => {\n return [\n ...queryAll(getContentEl(ctx), \"input[data-channel]\"),\n ...queryAll(getControlEl(ctx), \"input[data-channel]\")\n ];\n};\nfunction getChannelDisplayColor(color, channel) {\n switch (channel) {\n case \"hue\":\n return parseColor(`hsl(${color.getChannelValue(\"hue\")}, 100%, 50%)`);\n case \"lightness\":\n case \"brightness\":\n case \"saturation\":\n case \"red\":\n case \"green\":\n case \"blue\":\n return color.withChannelValue(\"alpha\", 1);\n case \"alpha\": {\n return color;\n }\n default:\n throw new Error(\"Unknown color channel: \" + channel);\n }\n}\nfunction getChannelValue(color, channel) {\n if (channel == null) return \"\";\n if (channel === \"hex\") {\n return color.toString(\"hex\");\n }\n if (channel === \"css\") {\n return color.toString(\"css\");\n }\n if (channel in color) {\n return color.getChannelValue(channel).toString();\n }\n const isHSL = color.getFormat() === \"hsla\";\n switch (channel) {\n case \"hue\":\n return isHSL ? color.toFormat(\"hsla\").getChannelValue(\"hue\").toString() : color.toFormat(\"hsba\").getChannelValue(\"hue\").toString();\n case \"saturation\":\n return isHSL ? color.toFormat(\"hsla\").getChannelValue(\"saturation\").toString() : color.toFormat(\"hsba\").getChannelValue(\"saturation\").toString();\n case \"lightness\":\n return color.toFormat(\"hsla\").getChannelValue(\"lightness\").toString();\n case \"brightness\":\n return color.toFormat(\"hsba\").getChannelValue(\"brightness\").toString();\n case \"red\":\n case \"green\":\n case \"blue\":\n return color.toFormat(\"rgba\").getChannelValue(channel).toString();\n default:\n return color.getChannelValue(channel).toString();\n }\n}\nfunction getChannelRange(color, channel) {\n switch (channel) {\n case \"hex\":\n const minColor = parseColor(\"#000000\");\n const maxColor = parseColor(\"#FFFFFF\");\n return {\n minValue: minColor.toHexInt(),\n maxValue: maxColor.toHexInt(),\n pageSize: 10,\n step: 1\n };\n case \"css\":\n return void 0;\n case \"hue\":\n case \"saturation\":\n case \"lightness\":\n return color.toFormat(\"hsla\").getChannelRange(channel);\n case \"brightness\":\n return color.toFormat(\"hsba\").getChannelRange(channel);\n case \"red\":\n case \"green\":\n case \"blue\":\n return color.toFormat(\"rgba\").getChannelRange(channel);\n default:\n return color.getChannelRange(channel);\n }\n}\n\n// src/utils/get-slider-background.ts\nfunction getSliderBackgroundDirection(orientation, dir) {\n if (orientation === \"vertical\") {\n return \"top\";\n } else if (dir === \"ltr\") {\n return \"right\";\n } else {\n return \"left\";\n }\n}\nvar getSliderBackground = (props2) => {\n const { channel, value, dir, orientation } = props2;\n const bgDirection = getSliderBackgroundDirection(orientation, dir);\n const { minValue, maxValue } = value.getChannelRange(channel);\n switch (channel) {\n case \"hue\":\n return `linear-gradient(to ${bgDirection}, rgb(255, 0, 0) 0%, rgb(255, 255, 0) 17%, rgb(0, 255, 0) 33%, rgb(0, 255, 255) 50%, rgb(0, 0, 255) 67%, rgb(255, 0, 255) 83%, rgb(255, 0, 0) 100%)`;\n case \"lightness\": {\n let start = value.withChannelValue(channel, minValue).toString(\"css\");\n let middle = value.withChannelValue(channel, (maxValue - minValue) / 2).toString(\"css\");\n let end = value.withChannelValue(channel, maxValue).toString(\"css\");\n return `linear-gradient(to ${bgDirection}, ${start}, ${middle}, ${end})`;\n }\n case \"saturation\":\n case \"brightness\":\n case \"red\":\n case \"green\":\n case \"blue\":\n case \"alpha\": {\n let start = value.withChannelValue(channel, minValue).toString(\"css\");\n let end = value.withChannelValue(channel, maxValue).toString(\"css\");\n return `linear-gradient(to ${bgDirection}, ${start}, ${end})`;\n }\n default:\n throw new Error(\"Unknown color channel: \" + channel);\n }\n};\n\n// src/color-picker.connect.ts\nfunction connect(service, normalize) {\n const { context, send, prop, computed, state, scope } = service;\n const value = context.get(\"value\");\n const format = context.get(\"format\");\n const areaValue = computed(\"areaValue\");\n const valueAsString = computed(\"valueAsString\");\n const disabled = computed(\"disabled\");\n const interactive = computed(\"interactive\");\n const dragging = state.hasTag(\"dragging\");\n const open = state.hasTag(\"open\");\n const focused = state.hasTag(\"focused\");\n const getAreaChannels = (props2) => {\n const channels = areaValue.getChannels();\n return {\n xChannel: props2.xChannel ?? channels[1],\n yChannel: props2.yChannel ?? channels[2]\n };\n };\n const currentPlacement = context.get(\"currentPlacement\");\n const popperStyles = getPlacementStyles({\n ...prop(\"positioning\"),\n placement: currentPlacement\n });\n function getSwatchTriggerState(props2) {\n const color = normalizeColor(props2.value).toFormat(context.get(\"format\"));\n return {\n value: color,\n valueAsString: color.toString(\"hex\"),\n checked: color.isEqual(value),\n disabled: props2.disabled || !interactive\n };\n }\n return {\n dragging,\n open,\n valueAsString,\n value,\n inline: !!prop(\"inline\"),\n setOpen(nextOpen) {\n if (prop(\"inline\")) return;\n const open2 = state.hasTag(\"open\");\n if (open2 === nextOpen) return;\n send({ type: nextOpen ? \"OPEN\" : \"CLOSE\" });\n },\n setValue(value2) {\n send({ type: \"VALUE.SET\", value: normalizeColor(value2), src: \"set-color\" });\n },\n getChannelValue(channel) {\n return getChannelValue(value, channel);\n },\n getChannelValueText(channel, locale) {\n return value.formatChannelValue(channel, locale);\n },\n setChannelValue(channel, channelValue) {\n const color = value.withChannelValue(channel, channelValue);\n send({ type: \"VALUE.SET\", value: color, src: \"set-channel\" });\n },\n format: context.get(\"format\"),\n setFormat(format2) {\n const formatValue = value.toFormat(format2);\n send({ type: \"VALUE.SET\", value: formatValue, src: \"set-format\" });\n },\n alpha: value.getChannelValue(\"alpha\"),\n setAlpha(alphaValue) {\n const color = value.withChannelValue(\"alpha\", alphaValue);\n send({ type: \"VALUE.SET\", value: color, src: \"set-alpha\" });\n },\n getRootProps() {\n return normalize.element({\n ...parts.root.attrs,\n dir: prop(\"dir\"),\n id: getRootId(scope),\n \"data-disabled\": dataAttr(disabled),\n \"data-readonly\": dataAttr(prop(\"readOnly\")),\n \"data-invalid\": dataAttr(prop(\"invalid\")),\n style: {\n \"--value\": value.toString(\"css\")\n }\n });\n },\n getLabelProps() {\n return normalize.element({\n ...parts.label.attrs,\n dir: prop(\"dir\"),\n id: getLabelId(scope),\n htmlFor: getHiddenInputId(scope),\n \"data-disabled\": dataAttr(disabled),\n \"data-readonly\": dataAttr(prop(\"readOnly\")),\n \"data-invalid\": dataAttr(prop(\"invalid\")),\n \"data-focus\": dataAttr(focused),\n onClick(event) {\n event.preventDefault();\n const inputEl = query(getControlEl(scope), \"[data-channel=hex]\");\n inputEl?.focus({ preventScroll: true });\n }\n });\n },\n getControlProps() {\n return normalize.element({\n ...parts.control.attrs,\n id: getControlId(scope),\n dir: prop(\"dir\"),\n \"data-disabled\": dataAttr(disabled),\n \"data-readonly\": dataAttr(prop(\"readOnly\")),\n \"data-invalid\": dataAttr(prop(\"invalid\")),\n \"data-state\": open ? \"open\" : \"closed\",\n \"data-focus\": dataAttr(focused)\n });\n },\n getTriggerProps() {\n return normalize.button({\n ...parts.trigger.attrs,\n id: getTriggerId(scope),\n dir: prop(\"dir\"),\n disabled,\n \"aria-label\": `select color. current color is ${valueAsString}`,\n \"aria-controls\": getContentId(scope),\n \"aria-labelledby\": getLabelId(scope),\n \"data-disabled\": dataAttr(disabled),\n \"data-readonly\": dataAttr(prop(\"readOnly\")),\n \"data-invalid\": dataAttr(prop(\"invalid\")),\n \"data-placement\": currentPlacement,\n \"aria-expanded\": dataAttr(open),\n \"data-state\": open ? \"open\" : \"closed\",\n \"data-focus\": dataAttr(focused),\n type: \"button\",\n onClick() {\n if (!interactive) return;\n send({ type: \"TRIGGER.CLICK\" });\n },\n onBlur() {\n if (!interactive) return;\n send({ type: \"TRIGGER.BLUR\" });\n },\n style: {\n position: \"relative\"\n }\n });\n },\n getPositionerProps() {\n return normalize.element({\n ...parts.positioner.attrs,\n id: getPositionerId(scope),\n dir: prop(\"dir\"),\n style: popperStyles.floating\n });\n },\n getContentProps() {\n return normalize.element({\n ...parts.content.attrs,\n id: getContentId(scope),\n dir: prop(\"dir\"),\n tabIndex: -1,\n \"data-placement\": currentPlacement,\n \"data-state\": open ? \"open\" : \"closed\",\n hidden: !open\n });\n },\n getValueTextProps() {\n return normalize.element({\n ...parts.valueText.attrs,\n dir: prop(\"dir\"),\n \"data-disabled\": dataAttr(disabled),\n \"data-focus\": dataAttr(focused)\n });\n },\n getAreaProps(props2 = {}) {\n const { xChannel, yChannel } = getAreaChannels(props2);\n const { areaStyles } = getColorAreaGradient(areaValue, {\n xChannel,\n yChannel,\n dir: prop(\"dir\")\n });\n return normalize.element({\n ...parts.area.attrs,\n id: getAreaId(scope),\n role: \"group\",\n \"data-invalid\": dataAttr(prop(\"invalid\")),\n \"data-disabled\": dataAttr(disabled),\n \"data-readonly\": dataAttr(prop(\"readOnly\")),\n onPointerDown(event) {\n if (!interactive) return;\n if (!isLeftClick(event)) return;\n if (isModifierKey(event)) return;\n const point = getEventPoint(event);\n const channel = { xChannel, yChannel };\n send({ type: \"AREA.POINTER_DOWN\", point, channel, id: \"area\" });\n event.preventDefault();\n },\n style: {\n position: \"relative\",\n touchAction: \"none\",\n forcedColorAdjust: \"none\",\n ...areaStyles\n }\n });\n },\n getAreaBackgroundProps(props2 = {}) {\n const { xChannel, yChannel } = getAreaChannels(props2);\n const { areaGradientStyles } = getColorAreaGradient(areaValue, {\n xChannel,\n yChannel,\n dir: prop(\"dir\")\n });\n return normalize.element({\n ...parts.areaBackground.attrs,\n id: getAreaGradientId(scope),\n \"data-invalid\": dataAttr(prop(\"invalid\")),\n \"data-disabled\": dataAttr(disabled),\n \"data-readonly\": dataAttr(prop(\"readOnly\")),\n style: {\n position: \"relative\",\n touchAction: \"none\",\n forcedColorAdjust: \"none\",\n ...areaGradientStyles\n }\n });\n },\n getAreaThumbProps(props2 = {}) {\n const { xChannel, yChannel } = getAreaChannels(props2);\n const channel = { xChannel, yChannel };\n const xPercent = areaValue.getChannelValuePercent(xChannel);\n const yPercent = 1 - areaValue.getChannelValuePercent(yChannel);\n const xValue = areaValue.getChannelValue(xChannel);\n const yValue = areaValue.getChannelValue(yChannel);\n const color = areaValue.withChannelValue(\"alpha\", 1).toString(\"css\");\n return normalize.element({\n ...parts.areaThumb.attrs,\n id: getAreaThumbId(scope),\n dir: prop(\"dir\"),\n tabIndex: disabled ? void 0 : 0,\n \"data-disabled\": dataAttr(disabled),\n \"data-invalid\": dataAttr(prop(\"invalid\")),\n \"data-readonly\": dataAttr(prop(\"readOnly\")),\n role: \"slider\",\n \"aria-valuemin\": 0,\n \"aria-valuemax\": 100,\n \"aria-valuenow\": xValue,\n \"aria-label\": `${xChannel} and ${yChannel}`,\n \"aria-roledescription\": \"2d slider\",\n \"aria-valuetext\": `${xChannel} ${xValue}, ${yChannel} ${yValue}`,\n style: {\n position: \"absolute\",\n left: `${xPercent * 100}%`,\n top: `${yPercent * 100}%`,\n transform: \"translate(-50%, -50%)\",\n touchAction: \"none\",\n forcedColorAdjust: \"none\",\n \"--color\": color,\n background: color\n },\n onFocus() {\n if (!interactive) return;\n send({ type: \"AREA.FOCUS\", id: \"area\", channel });\n },\n onKeyDown(event) {\n if (event.defaultPrevented) return;\n if (!interactive) return;\n const step = getEventStep(event);\n const keyMap = {\n ArrowUp() {\n send({ type: \"AREA.ARROW_UP\", channel, step });\n },\n ArrowDown() {\n send({ type: \"AREA.ARROW_DOWN\", channel, step });\n },\n ArrowLeft() {\n send({ type: \"AREA.ARROW_LEFT\", channel, step });\n },\n ArrowRight() {\n send({ type: \"AREA.ARROW_RIGHT\", channel, step });\n },\n PageUp() {\n send({ type: \"AREA.PAGE_UP\", channel, step });\n },\n PageDown() {\n send({ type: \"AREA.PAGE_DOWN\", channel, step });\n },\n Escape(event2) {\n event2.stopPropagation();\n }\n };\n const exec = keyMap[getEventKey(event, {\n dir: prop(\"dir\")\n })];\n if (exec) {\n exec(event);\n event.preventDefault();\n }\n }\n });\n },\n getTransparencyGridProps(props2 = {}) {\n const { size = \"12px\" } = props2;\n return normalize.element({\n ...parts.transparencyGrid.attrs,\n style: {\n \"--size\": size,\n width: \"100%\",\n height: \"100%\",\n position: \"absolute\",\n backgroundColor: \"#fff\",\n backgroundImage: \"conic-gradient(#eeeeee 0 25%, transparent 0 50%, #eeeeee 0 75%, transparent 0)\",\n backgroundSize: \"var(--size) var(--size)\",\n inset: \"0px\",\n zIndex: \"auto\",\n pointerEvents: \"none\"\n }\n });\n },\n getChannelSliderProps(props2) {\n const { orientation = \"horizontal\", channel, format: format2 } = props2;\n return normalize.element({\n ...parts.channelSlider.attrs,\n \"data-channel\": channel,\n \"data-orientation\": orientation,\n role: \"presentation\",\n onPointerDown(event) {\n if (!interactive) return;\n if (!isLeftClick(event)) return;\n if (isModifierKey(event)) return;\n const point = getEventPoint(event);\n send({ type: \"CHANNEL_SLIDER.POINTER_DOWN\", channel, format: format2, point, id: channel, orientation });\n event.preventDefault();\n },\n style: {\n position: \"relative\",\n touchAction: \"none\"\n }\n });\n },\n getChannelSliderTrackProps(props2) {\n const { orientation = \"horizontal\", channel, format: format2 } = props2;\n const normalizedValue = format2 ? value.toFormat(format2) : areaValue;\n return normalize.element({\n ...parts.channelSliderTrack.attrs,\n id: getChannelSliderTrackId(scope, channel),\n role: \"group\",\n \"data-channel\": channel,\n \"data-orientation\": orientation,\n style: {\n position: \"relative\",\n forcedColorAdjust: \"none\",\n backgroundImage: getSliderBackground({\n orientation,\n channel,\n dir: prop(\"dir\"),\n value: normalizedValue\n })\n }\n });\n },\n getChannelSliderLabelProps(props2) {\n const { channel } = props2;\n return normalize.element({\n ...parts.channelSliderLabel.attrs,\n \"data-channel\": channel,\n onClick(event) {\n if (!interactive) return;\n event.preventDefault();\n const thumbId = getChannelSliderThumbId(scope, channel);\n scope.getById(thumbId)?.focus({ preventScroll: true });\n },\n style: {\n userSelect: \"none\",\n WebkitUserSelect: \"none\"\n }\n });\n },\n getChannelSliderValueTextProps(props2) {\n return normalize.element({\n ...parts.channelSliderValueText.attrs,\n \"data-channel\": props2.channel\n });\n },\n getChannelSliderThumbProps(props2) {\n const { orientation = \"horizontal\", channel, format: format2 } = props2;\n const normalizedValue = format2 ? value.toFormat(format2) : areaValue;\n const channelRange = normalizedValue.getChannelRange(channel);\n const channelValue = normalizedValue.getChannelValue(channel);\n const offset = (channelValue - channelRange.minValue) / (channelRange.maxValue - channelRange.minValue);\n const placementStyles = orientation === \"horizontal\" ? { left: `${offset * 100}%`, top: \"50%\" } : { top: `${offset * 100}%`, left: \"50%\" };\n return normalize.element({\n ...parts.channelSliderThumb.attrs,\n id: getChannelSliderThumbId(scope, channel),\n role: \"slider\",\n \"aria-label\": channel,\n tabIndex: disabled ? void 0 : 0,\n \"data-channel\": channel,\n \"data-disabled\": dataAttr(disabled),\n \"data-orientation\": orientation,\n \"aria-disabled\": dataAttr(disabled),\n \"aria-orientation\": orientation,\n \"aria-valuemax\": channelRange.maxValue,\n \"aria-valuemin\": channelRange.minValue,\n \"aria-valuenow\": channelValue,\n \"aria-valuetext\": `${channel} ${channelValue}`,\n style: {\n forcedColorAdjust: \"none\",\n position: \"absolute\",\n background: getChannelDisplayColor(areaValue, channel).toString(\"css\"),\n ...placementStyles\n },\n onFocus() {\n if (!interactive) return;\n send({ type: \"CHANNEL_SLIDER.FOCUS\", channel });\n },\n onKeyDown(event) {\n if (event.defaultPrevented) return;\n if (!interactive) return;\n const step = getEventStep(event) * channelRange.step;\n const keyMap = {\n ArrowUp() {\n send({ type: \"CHANNEL_SLIDER.ARROW_UP\", channel, step });\n },\n ArrowDown() {\n send({ type: \"CHANNEL_SLIDER.ARROW_DOWN\", channel, step });\n },\n ArrowLeft() {\n send({ type: \"CHANNEL_SLIDER.ARROW_LEFT\", channel, step });\n },\n ArrowRight() {\n send({ type: \"CHANNEL_SLIDER.ARROW_RIGHT\", channel, step });\n },\n PageUp() {\n send({ type: \"CHANNEL_SLIDER.PAGE_UP\", channel });\n },\n PageDown() {\n send({ type: \"CHANNEL_SLIDER.PAGE_DOWN\", channel });\n },\n Home() {\n send({ type: \"CHANNEL_SLIDER.HOME\", channel });\n },\n End() {\n send({ type: \"CHANNEL_SLIDER.END\", channel });\n },\n Escape(event2) {\n event2.stopPropagation();\n }\n };\n const exec = keyMap[getEventKey(event, {\n dir: prop(\"dir\")\n })];\n if (exec) {\n exec(event);\n event.preventDefault();\n }\n }\n });\n },\n getChannelInputProps(props2) {\n const { channel } = props2;\n const isTextField = channel === \"hex\" || channel === \"css\";\n const channelRange = getChannelRange(value, channel);\n return normalize.input({\n ...parts.channelInput.attrs,\n dir: prop(\"dir\"),\n type: isTextField ? \"text\" : \"number\",\n \"data-channel\": channel,\n \"aria-label\": channel,\n spellCheck: false,\n autoComplete: \"off\",\n disabled,\n \"data-disabled\": dataAttr(disabled),\n \"data-invalid\": dataAttr(prop(\"invalid\")),\n \"data-readonly\": dataAttr(prop(\"readOnly\")),\n readOnly: prop(\"readOnly\"),\n defaultValue: getChannelValue(value, channel),\n min: channelRange?.minValue,\n max: channelRange?.maxValue,\n step: channelRange?.step,\n onBeforeInput(event) {\n if (isTextField || !interactive) return;\n const value2 = event.currentTarget.value;\n if (value2.match(/[^0-9.]/g)) {\n event.preventDefault();\n }\n },\n onFocus(event) {\n if (!interactive) return;\n send({ type: \"CHANNEL_INPUT.FOCUS\", channel });\n event.currentTarget.select();\n },\n onBlur(event) {\n if (!interactive) return;\n const value2 = isTextField ? event.currentTarget.value : event.currentTarget.valueAsNumber;\n send({ type: \"CHANNEL_INPUT.BLUR\", channel, value: value2, isTextField });\n },\n onKeyDown(event) {\n if (event.defaultPrevented) return;\n if (!interactive) return;\n if (event.key === \"Enter\") {\n const value2 = isTextField ? event.currentTarget.value : event.currentTarget.valueAsNumber;\n send({ type: \"CHANNEL_INPUT.CHANGE\", channel, value: value2, isTextField });\n event.preventDefault();\n }\n },\n style: {\n appearance: \"none\",\n WebkitAppearance: \"none\",\n MozAppearance: \"textfield\"\n }\n });\n },\n getHiddenInputProps() {\n return normalize.input({\n type: \"text\",\n disabled,\n name: prop(\"name\"),\n tabIndex: -1,\n readOnly: prop(\"readOnly\"),\n required: prop(\"required\"),\n id: getHiddenInputId(scope),\n style: visuallyHiddenStyle,\n defaultValue: valueAsString\n });\n },\n getEyeDropperTriggerProps() {\n return normalize.button({\n ...parts.eyeDropperTrigger.attrs,\n type: \"button\",\n dir: prop(\"dir\"),\n disabled,\n \"data-disabled\": dataAttr(disabled),\n \"data-invalid\": dataAttr(prop(\"invalid\")),\n \"data-readonly\": dataAttr(prop(\"readOnly\")),\n \"aria-label\": \"Pick a color from the screen\",\n onClick() {\n if (!interactive) return;\n send({ type: \"EYEDROPPER.CLICK\" });\n }\n });\n },\n getSwatchGroupProps() {\n return normalize.element({\n ...parts.swatchGroup.attrs,\n role: \"group\"\n });\n },\n getSwatchTriggerState,\n getSwatchTriggerProps(props2) {\n const swatchState = getSwatchTriggerState(props2);\n return normalize.button({\n ...parts.swatchTrigger.attrs,\n disabled: swatchState.disabled,\n dir: prop(\"dir\"),\n type: \"button\",\n \"aria-label\": `select ${swatchState.valueAsString} as the color`,\n \"data-state\": swatchState.checked ? \"checked\" : \"unchecked\",\n \"data-value\": swatchState.valueAsString,\n \"data-disabled\": dataAttr(swatchState.disabled),\n onClick() {\n if (swatchState.disabled) return;\n send({ type: \"SWATCH_TRIGGER.CLICK\", value: swatchState.value });\n },\n style: {\n \"--color\": swatchState.valueAsString,\n position: \"relative\"\n }\n });\n },\n getSwatchIndicatorProps(props2) {\n const swatchState = getSwatchTriggerState(props2);\n return normalize.element({\n ...parts.swatchIndicator.attrs,\n dir: prop(\"dir\"),\n hidden: !swatchState.checked\n });\n },\n getSwatchProps(props2) {\n const { respectAlpha = true } = props2;\n const swatchState = getSwatchTriggerState(props2);\n const color = swatchState.value.toString(respectAlpha ? \"css\" : \"hex\");\n return normalize.element({\n ...parts.swatch.attrs,\n dir: prop(\"dir\"),\n \"data-state\": swatchState.checked ? \"checked\" : \"unchecked\",\n \"data-value\": swatchState.valueAsString,\n style: {\n \"--color\": color,\n position: \"relative\",\n background: color\n }\n });\n },\n getFormatTriggerProps() {\n return normalize.button({\n ...parts.formatTrigger.attrs,\n dir: prop(\"dir\"),\n type: \"button\",\n \"aria-label\": `change color format to ${getNextFormat(format)}`,\n onClick(event) {\n if (event.currentTarget.disabled) return;\n const nextFormat = getNextFormat(format);\n send({ type: \"FORMAT.SET\", format: nextFormat, src: \"format-trigger\" });\n }\n });\n },\n getFormatSelectProps() {\n return normalize.select({\n ...parts.formatSelect.attrs,\n \"aria-label\": \"change color format\",\n dir: prop(\"dir\"),\n defaultValue: prop(\"format\"),\n disabled,\n onChange(event) {\n const format2 = assertFormat(event.currentTarget.value);\n send({ type: \"FORMAT.SET\", format: format2, src: \"format-select\" });\n }\n });\n }\n };\n}\nvar formats = [\"hsba\", \"hsla\", \"rgba\"];\nvar formatRegex = new RegExp(`^(${formats.join(\"|\")})$`);\nfunction getNextFormat(format) {\n const index = formats.indexOf(format);\n return formats[index + 1] ?? formats[0];\n}\nfunction assertFormat(format) {\n if (formatRegex.test(format)) return format;\n throw new Error(`Unsupported color format: ${format}`);\n}\nvar parse = (colorString) => {\n return parseColor(colorString);\n};\n\n// src/utils/is-valid-hex.ts\nvar HEX_REGEX = /^[0-9a-fA-F]{3,8}$/;\nfunction isValidHex(value) {\n return HEX_REGEX.test(value);\n}\nfunction prefixHex(value) {\n if (value.startsWith(\"#\")) return value;\n if (isValidHex(value)) return `#${value}`;\n return value;\n}\n\n// src/color-picker.machine.ts\nvar { and } = createGuards();\nvar machine = createMachine({\n props({ props: props2 }) {\n return {\n dir: \"ltr\",\n defaultValue: parse(\"#000000\"),\n defaultFormat: \"rgba\",\n openAutoFocus: true,\n ...props2,\n positioning: {\n placement: \"bottom\",\n ...props2.positioning\n }\n };\n },\n initialState({ prop }) {\n const open = prop(\"open\") || prop(\"defaultOpen\") || prop(\"inline\");\n return open ? \"open\" : \"idle\";\n },\n context({ prop, bindable, getContext }) {\n return {\n value: bindable(() => ({\n defaultValue: prop(\"defaultValue\"),\n value: prop(\"value\"),\n isEqual(a, b) {\n return a.toString(\"css\") === b?.toString(\"css\");\n },\n hash(a) {\n return a.toString(\"css\");\n },\n onChange(value) {\n const ctx = getContext();\n const valueAsString = value.toString(ctx.get(\"format\"));\n prop(\"onValueChange\")?.({ value, valueAsString });\n }\n })),\n format: bindable(() => ({\n defaultValue: prop(\"defaultFormat\"),\n value: prop(\"format\"),\n onChange(format) {\n prop(\"onFormatChange\")?.({ format });\n }\n })),\n activeId: bindable(() => ({ defaultValue: null })),\n activeChannel: bindable(() => ({ defaultValue: null })),\n activeOrientation: bindable(() => ({ defaultValue: null })),\n fieldsetDisabled: bindable(() => ({ defaultValue: false })),\n restoreFocus: bindable(() => ({ defaultValue: true })),\n currentPlacement: bindable(() => ({\n defaultValue: void 0\n }))\n };\n },\n computed: {\n rtl: ({ prop }) => prop(\"dir\") === \"rtl\",\n disabled: ({ prop, context }) => !!prop(\"disabled\") || context.get(\"fieldsetDisabled\"),\n interactive: ({ prop }) => !(prop(\"disabled\") || prop(\"readOnly\")),\n valueAsString: ({ context }) => context.get(\"value\").toString(context.get(\"format\")),\n areaValue: ({ context }) => {\n const format = context.get(\"format\").startsWith(\"hsl\") ? \"hsla\" : \"hsba\";\n return context.get(\"value\").toFormat(format);\n }\n },\n effects: [\"trackFormControl\"],\n watch({ prop, context, action, track }) {\n track([() => context.hash(\"value\")], () => {\n action([\"syncInputElements\", \"dispatchChangeEvent\"]);\n });\n track([() => context.get(\"format\")], () => {\n action([\"syncFormatSelectElement\"]);\n });\n track([() => prop(\"open\")], () => {\n action([\"toggleVisibility\"]);\n });\n },\n on: {\n \"VALUE.SET\": {\n actions: [\"setValue\"]\n },\n \"FORMAT.SET\": {\n actions: [\"setFormat\"]\n },\n \"CHANNEL_INPUT.CHANGE\": {\n actions: [\"setChannelColorFromInput\"]\n },\n \"EYEDROPPER.CLICK\": {\n actions: [\"openEyeDropper\"]\n },\n \"SWATCH_TRIGGER.CLICK\": {\n actions: [\"setValue\"]\n }\n },\n states: {\n idle: {\n tags: [\"closed\"],\n on: {\n \"CONTROLLED.OPEN\": {\n target: \"open\",\n actions: [\"setInitialFocus\"]\n },\n OPEN: [\n {\n guard: \"isOpenControlled\",\n actions: [\"invokeOnOpen\"]\n },\n {\n target: \"open\",\n actions: [\"invokeOnOpen\", \"setInitialFocus\"]\n }\n ],\n \"TRIGGER.CLICK\": [\n {\n guard: \"isOpenControlled\",\n actions: [\"invokeOnOpen\"]\n },\n {\n target: \"open\",\n actions: [\"invokeOnOpen\", \"setInitialFocus\"]\n }\n ],\n \"CHANNEL_INPUT.FOCUS\": {\n target: \"focused\",\n actions: [\"setActiveChannel\"]\n }\n }\n },\n focused: {\n tags: [\"closed\", \"focused\"],\n on: {\n \"CONTROLLED.OPEN\": {\n target: \"open\",\n actions: [\"setInitialFocus\"]\n },\n OPEN: [\n {\n guard: \"isOpenControlled\",\n actions: [\"invokeOnOpen\"]\n },\n {\n target: \"open\",\n actions: [\"invokeOnOpen\", \"setInitialFocus\"]\n }\n ],\n \"TRIGGER.CLICK\": [\n {\n guard: \"isOpenControlled\",\n actions: [\"invokeOnOpen\"]\n },\n {\n target: \"open\",\n actions: [\"invokeOnOpen\", \"setInitialFocus\"]\n }\n ],\n \"CHANNEL_INPUT.FOCUS\": {\n actions: [\"setActiveChannel\"]\n },\n \"CHANNEL_INPUT.BLUR\": {\n target: \"idle\",\n actions: [\"setChannelColorFromInput\"]\n },\n \"TRIGGER.BLUR\": {\n target: \"idle\"\n }\n }\n },\n open: {\n tags: [\"open\"],\n effects: [\"trackPositioning\", \"trackDismissableElement\"],\n on: {\n \"CONTROLLED.CLOSE\": [\n {\n guard: \"shouldRestoreFocus\",\n target: \"focused\",\n actions: [\"setReturnFocus\"]\n },\n {\n target: \"idle\"\n }\n ],\n \"TRIGGER.CLICK\": [\n {\n guard: \"isOpenControlled\",\n actions: [\"invokeOnClose\"]\n },\n {\n target: \"idle\",\n actions: [\"invokeOnClose\"]\n }\n ],\n \"AREA.POINTER_DOWN\": {\n target: \"open:dragging\",\n actions: [\"setActiveChannel\", \"setAreaColorFromPoint\", \"focusAreaThumb\"]\n },\n \"AREA.FOCUS\": {\n actions: [\"setActiveChannel\"]\n },\n \"CHANNEL_SLIDER.POINTER_DOWN\": {\n target: \"open:dragging\",\n actions: [\"setActiveChannel\", \"setChannelColorFromPoint\", \"focusChannelThumb\"]\n },\n \"CHANNEL_SLIDER.FOCUS\": {\n actions: [\"setActiveChannel\"]\n },\n \"AREA.ARROW_LEFT\": {\n actions: [\"decrementAreaXChannel\"]\n },\n \"AREA.ARROW_RIGHT\": {\n actions: [\"incrementAreaXChannel\"]\n },\n \"AREA.ARROW_UP\": {\n actions: [\"incrementAreaYChannel\"]\n },\n \"AREA.ARROW_DOWN\": {\n actions: [\"decrementAreaYChannel\"]\n },\n \"AREA.PAGE_UP\": {\n actions: [\"incrementAreaXChannel\"]\n },\n \"AREA.PAGE_DOWN\": {\n actions: [\"decrementAreaXChannel\"]\n },\n \"CHANNEL_SLIDER.ARROW_LEFT\": {\n actions: [\"decrementChannel\"]\n },\n \"CHANNEL_SLIDER.ARROW_RIGHT\": {\n actions: [\"incrementChannel\"]\n },\n \"CHANNEL_SLIDER.ARROW_UP\": {\n actions: [\"incrementChannel\"]\n },\n \"CHANNEL_SLIDER.ARROW_DOWN\": {\n actions: [\"decrementChannel\"]\n },\n \"CHANNEL_SLIDER.PAGE_UP\": {\n actions: [\"incrementChannel\"]\n },\n \"CHANNEL_SLIDER.PAGE_DOWN\": {\n actions: [\"decrementChannel\"]\n },\n \"CHANNEL_SLIDER.HOME\": {\n actions: [\"setChannelToMin\"]\n },\n \"CHANNEL_SLIDER.END\": {\n actions: [\"setChannelToMax\"]\n },\n \"CHANNEL_INPUT.BLUR\": {\n actions: [\"setChannelColorFromInput\"]\n },\n INTERACT_OUTSIDE: [\n {\n guard: \"isOpenControlled\",\n actions: [\"invokeOnClose\"]\n },\n {\n guard: \"shouldRestoreFocus\",\n target: \"focused\",\n actions: [\"invokeOnClose\", \"setReturnFocus\"]\n },\n {\n target: \"idle\",\n actions: [\"invokeOnClose\"]\n }\n ],\n CLOSE: [\n {\n guard: \"isOpenControlled\",\n actions: [\"invokeOnClose\"]\n },\n {\n target: \"idle\",\n actions: [\"invokeOnClose\"]\n }\n ],\n \"SWATCH_TRIGGER.CLICK\": [\n {\n guard: and(\"isOpenControlled\", \"closeOnSelect\"),\n actions: [\"setValue\", \"invokeOnClose\"]\n },\n {\n guard: \"closeOnSelect\",\n target: \"focused\",\n actions: [\"setValue\", \"invokeOnClose\", \"setReturnFocus\"]\n },\n {\n actions: [\"setValue\"]\n }\n ]\n }\n },\n \"open:dragging\": {\n tags: [\"open\"],\n exit: [\"clearActiveChannel\"],\n effects: [\"trackPointerMove\", \"disableTextSelection\", \"trackPositioning\", \"trackDismissableElement\"],\n on: {\n \"CONTROLLED.CLOSE\": [\n {\n guard: \"shouldRestoreFocus\",\n target: \"focused\",\n actions: [\"setReturnFocus\"]\n },\n {\n target: \"idle\"\n }\n ],\n \"AREA.POINTER_MOVE\": {\n actions: [\"setAreaColorFromPoint\", \"focusAreaThumb\"]\n },\n \"AREA.POINTER_UP\": {\n target: \"open\",\n actions: [\"invokeOnChangeEnd\"]\n },\n \"CHANNEL_SLIDER.POINTER_MOVE\": {\n actions: [\"setChannelColorFromPoint\", \"focusChannelThumb\"]\n },\n \"CHANNEL_SLIDER.POINTER_UP\": {\n target: \"open\",\n actions: [\"invokeOnChangeEnd\"]\n },\n INTERACT_OUTSIDE: [\n {\n guard: \"isOpenControlled\",\n actions: [\"invokeOnClose\"]\n },\n {\n guard: \"shouldRestoreFocus\",\n target: \"focused\",\n actions: [\"invokeOnClose\", \"setReturnFocus\"]\n },\n {\n target: \"idle\",\n actions: [\"invokeOnClose\"]\n }\n ],\n CLOSE: [\n {\n guard: \"isOpenControlled\",\n actions: [\"invokeOnClose\"]\n },\n {\n target: \"idle\",\n actions: [\"invokeOnClose\"]\n }\n ]\n }\n }\n },\n implementations: {\n guards: {\n closeOnSelect: ({ prop }) => !!prop(\"closeOnSelect\"),\n isOpenControlled: ({ prop }) => prop(\"open\") != null || !!prop(\"inline\"),\n shouldRestoreFocus: ({ context }) => !!context.get(\"restoreFocus\")\n },\n effects: {\n trackPositioning({ context, prop, scope }) {\n if (prop(\"inline\")) return;\n if (!context.get(\"currentPlacement\")) {\n context.set(\"currentPlacement\", prop(\"positioning\")?.placement);\n }\n const anchorEl = getTriggerEl(scope);\n const getPositionerEl2 = () => getPositionerEl(scope);\n return getPlacement(anchorEl, getPositionerEl2, {\n ...prop(\"positioning\"),\n defer: true,\n onComplete(data) {\n context.set(\"currentPlacement\", data.placement);\n }\n });\n },\n trackDismissableElement({ context, scope, prop, send }) {\n if (prop(\"inline\")) return;\n const getContentEl2 = () => getContentEl(scope);\n return trackDismissableElement(getContentEl2, {\n exclude: getTriggerEl(scope),\n defer: true,\n onInteractOutside(event) {\n prop(\"onInteractOutside\")?.(event);\n if (event.defaultPrevented) return;\n context.set(\"restoreFocus\", !(event.detail.focusable || event.detail.contextmenu));\n },\n onPointerDownOutside: prop(\"onPointerDownOutside\"),\n onFocusOutside: prop(\"onFocusOutside\"),\n onDismiss() {\n send({ type: \"INTERACT_OUTSIDE\" });\n }\n });\n },\n trackFormControl({ context, scope, send }) {\n const inputEl = getHiddenInputEl(scope);\n return trackFormControl(inputEl, {\n onFieldsetDisabledChange(disabled) {\n context.set(\"fieldsetDisabled\", disabled);\n },\n onFormReset() {\n send({ type: \"VALUE.SET\", value: context.initial(\"value\"), src: \"form.reset\" });\n }\n });\n },\n trackPointerMove({ context, scope, event, send }) {\n return trackPointerMove(scope.getDoc(), {\n onPointerMove({ point }) {\n const type = context.get(\"activeId\") === \"area\" ? \"AREA.POINTER_MOVE\" : \"CHANNEL_SLIDER.POINTER_MOVE\";\n send({ type, point, format: event.format });\n },\n onPointerUp() {\n const type = context.get(\"activeId\") === \"area\" ? \"AREA.POINTER_UP\" : \"CHANNEL_SLIDER.POINTER_UP\";\n send({ type });\n }\n });\n },\n disableTextSelection({ scope }) {\n return disableTextSelection({\n doc: scope.getDoc(),\n target: getContentEl(scope)\n });\n }\n },\n actions: {\n openEyeDropper({ scope, context }) {\n const win = scope.getWin();\n const isSupported = \"EyeDropper\" in win;\n if (!isSupported) return;\n const picker = new win.EyeDropper();\n picker.open().then(({ sRGBHex }) => {\n const format = context.get(\"value\").getFormat();\n const color = parseColor(sRGBHex).toFormat(format);\n context.set(\"value\", color);\n }).catch(() => void 0);\n },\n setActiveChannel({ context, event }) {\n context.set(\"activeId\", event.id);\n if (event.channel) context.set(\"activeChannel\", event.channel);\n if (event.orientation) context.set(\"activeOrientation\", event.orientation);\n },\n clearActiveChannel({ context }) {\n context.set(\"activeChannel\", null);\n context.set(\"activeId\", null);\n context.set(\"activeOrientation\", null);\n },\n setAreaColorFromPoint({ context, event, computed, scope }) {\n const v = event.format ? context.get(\"value\").toFormat(event.format) : computed(\"areaValue\");\n const { xChannel, yChannel } = event.channel || context.get(\"activeChannel\");\n const percent = getAreaValueFromPoint(scope, event.point);\n if (!percent) return;\n const xValue = v.getChannelPercentValue(xChannel, percent.x);\n const yValue = v.getChannelPercentValue(yChannel, 1 - percent.y);\n const color = v.withChannelValue(xChannel, xValue).withChannelValue(yChannel, yValue);\n context.set(\"value\", color);\n },\n setChannelColorFromPoint({ context, event, computed, scope }) {\n const channel = event.channel || context.get(\"activeId\");\n const normalizedValue = event.format ? context.get(\"value\").toFormat(event.format) : computed(\"areaValue\");\n const percent = getChannelSliderValueFromPoint(scope, event.point, channel);\n if (!percent) return;\n const orientation = context.get(\"activeOrientation\") || \"horizontal\";\n const channelPercent = orientation === \"horizontal\" ? percent.x : percent.y;\n const value = normalizedValue.getChannelPercentValue(channel, channelPercent);\n const color = normalizedValue.withChannelValue(channel, value);\n context.set(\"value\", color);\n },\n setValue({ context, event }) {\n context.set(\"value\", event.value);\n },\n setFormat({ context, event }) {\n context.set(\"format\", event.format);\n },\n dispatchChangeEvent({ scope, computed }) {\n dispatchInputValueEvent(getHiddenInputEl(scope), { value: computed(\"valueAsString\") });\n },\n syncInputElements({ context, scope }) {\n syncChannelInputs(scope, context.get(\"value\"));\n },\n invokeOnChangeEnd({ context, prop, computed }) {\n prop(\"onValueChangeEnd\")?.({\n value: context.get(\"value\"),\n valueAsString: computed(\"valueAsString\")\n });\n },\n setChannelColorFromInput({ context, event, scope, prop }) {\n const { channel, isTextField, value } = event;\n const currentAlpha = context.get(\"value\").getChannelValue(\"alpha\");\n let color;\n if (channel === \"alpha\") {\n let valueAsNumber = parseFloat(value);\n valueAsNumber = Number.isNaN(valueAsNumber) ? currentAlpha : valueAsNumber;\n color = context.get(\"value\").withChannelValue(\"alpha\", valueAsNumber);\n } else if (isTextField) {\n color = tryCatch(\n () => {\n const parseValue = channel === \"hex\" ? prefixHex(value) : value;\n return parse(parseValue).withChannelValue(\"alpha\", currentAlpha);\n },\n () => context.get(\"value\")\n );\n } else {\n const current = context.get(\"value\").toFormat(context.get(\"format\"));\n const valueAsNumber = Number.isNaN(value) ? current.getChannelValue(channel) : value;\n color = current.withChannelValue(channel, valueAsNumber);\n }\n syncChannelInputs(scope, context.get(\"value\"), color);\n context.set(\"value\", color);\n prop(\"onValueChangeEnd\")?.({\n value: color,\n valueAsString: color.toString(context.get(\"format\"))\n });\n },\n incrementChannel({ context, event }) {\n const color = context.get(\"value\").incrementChannel(event.channel, event.step);\n context.set(\"value\", color);\n },\n decrementChannel({ context, event }) {\n const color = context.get(\"value\").decrementChannel(event.channel, event.step);\n context.set(\"value\", color);\n },\n incrementAreaXChannel({ context, event, computed }) {\n const { xChannel } = event.channel;\n const color = computed(\"areaValue\").incrementChannel(xChannel, event.step);\n context.set(\"value\", color);\n },\n decrementAreaXChannel({ context, event, computed }) {\n const { xChannel } = event.channel;\n const color = computed(\"areaValue\").decrementChannel(xChannel, event.step);\n context.set(\"value\", color);\n },\n incrementAreaYChannel({ context, event, computed }) {\n const { yChannel } = event.channel;\n const color = computed(\"areaValue\").incrementChannel(yChannel, event.step);\n context.set(\"value\", color);\n },\n decrementAreaYChannel({ context, event, computed }) {\n const { yChannel } = event.channel;\n const color = computed(\"areaValue\").decrementChannel(yChannel, event.step);\n context.set(\"value\", color);\n },\n setChannelToMax({ context, event }) {\n const value = context.get(\"value\");\n const range = value.getChannelRange(event.channel);\n const color = value.withChannelValue(event.channel, range.maxValue);\n context.set(\"value\", color);\n },\n setChannelToMin({ context, event }) {\n const value = context.get(\"value\");\n const range = value.getChannelRange(event.channel);\n const color = value.withChannelValue(event.channel, range.minValue);\n context.set(\"value\", color);\n },\n focusAreaThumb({ scope }) {\n raf(() => {\n getAreaThumbEl(scope)?.focus({ preventScroll: true });\n });\n },\n focusChannelThumb({ event, scope }) {\n raf(() => {\n getChannelSliderThumbEl(scope, event.channel)?.focus({ preventScroll: true });\n });\n },\n setInitialFocus({ prop, scope }) {\n if (!prop(\"openAutoFocus\")) return;\n raf(() => {\n const element = getInitialFocus({\n root: getContentEl(scope),\n getInitialEl: prop(\"initialFocusEl\")\n });\n element?.focus({ preventScroll: true });\n });\n },\n setReturnFocus({ scope }) {\n raf(() => {\n getTriggerEl(scope)?.focus({ preventScroll: true });\n });\n },\n syncFormatSelectElement({ context, scope }) {\n syncFormatSelect(scope, context.get(\"format\"));\n },\n invokeOnOpen({ prop }) {\n if (prop(\"inline\")) return;\n prop(\"onOpenChange\")?.({ open: true });\n },\n invokeOnClose({ prop }) {\n if (prop(\"inline\")) return;\n prop(\"onOpenChange\")?.({ open: false });\n },\n toggleVisibility({ prop, event, send }) {\n send({ type: prop(\"open\") ? \"CONTROLLED.OPEN\" : \"CONTROLLED.CLOSE\", previousEvent: event });\n }\n }\n }\n});\nfunction syncChannelInputs(scope, currentValue, nextValue) {\n const channelInputEls = getChannelInputEls(scope);\n raf(() => {\n channelInputEls.forEach((inputEl) => {\n const channel = inputEl.dataset.channel;\n setElementValue(inputEl, getChannelValue(nextValue || currentValue, channel));\n });\n });\n}\nfunction syncFormatSelect(scope, format) {\n const selectEl = getFormatSelectEl(scope);\n if (!selectEl) return;\n raf(() => setElementValue(selectEl, format));\n}\nvar props = createProps()([\n \"closeOnSelect\",\n \"dir\",\n \"disabled\",\n \"format\",\n \"defaultFormat\",\n \"getRootNode\",\n \"id\",\n \"ids\",\n \"initialFocusEl\",\n \"inline\",\n \"name\",\n \"positioning\",\n \"onFocusOutside\",\n \"onFormatChange\",\n \"onInteractOutside\",\n \"onOpenChange\",\n \"onPointerDownOutside\",\n \"onValueChange\",\n \"onValueChangeEnd\",\n \"defaultOpen\",\n \"open\",\n \"positioning\",\n \"required\",\n \"readOnly\",\n \"value\",\n \"defaultValue\",\n \"invalid\",\n \"openAutoFocus\"\n]);\nvar splitProps = createSplitProps(props);\nvar areaProps = createProps()([\"xChannel\", \"yChannel\"]);\nvar splitAreaProps = createSplitProps(areaProps);\nvar channelProps = createProps()([\"channel\", \"orientation\"]);\nvar splitChannelProps = createSplitProps(channelProps);\nvar swatchTriggerProps = createProps()([\"value\", \"disabled\"]);\nvar splitSwatchTriggerProps = createSplitProps(swatchTriggerProps);\nvar swatchProps = createProps()([\"value\", \"respectAlpha\"]);\nvar splitSwatchProps = createSplitProps(swatchProps);\nvar transparencyGridProps = createProps()([\"size\"]);\nvar splitTransparencyGridProps = createSplitProps(transparencyGridProps);\n\nexport { anatomy, areaProps, channelProps, connect, machine, parse, props, splitAreaProps, splitChannelProps, splitProps, splitSwatchProps, splitSwatchTriggerProps, splitTransparencyGridProps, swatchProps, swatchTriggerProps, transparencyGridProps };\n","import { createAnatomy } from '@zag-js/anatomy';\nimport { prevById, nextById, queryAll, getEventKey, isSafari, dataAttr } from '@zag-js/dom-query';\nimport { warn, last, first, add, remove, createSplitProps } from '@zag-js/utils';\nimport { createGuards, createMachine } from '@zag-js/core';\nimport { createProps } from '@zag-js/types';\n\n// src/accordion.anatomy.ts\nvar anatomy = createAnatomy(\"accordion\").parts(\"root\", \"item\", \"itemTrigger\", \"itemContent\", \"itemIndicator\");\nvar parts = anatomy.build();\nvar getRootId = (ctx) => ctx.ids?.root ?? `accordion:${ctx.id}`;\nvar getItemId = (ctx, value) => ctx.ids?.item?.(value) ?? `accordion:${ctx.id}:item:${value}`;\nvar getItemContentId = (ctx, value) => ctx.ids?.itemContent?.(value) ?? `accordion:${ctx.id}:content:${value}`;\nvar getItemTriggerId = (ctx, value) => ctx.ids?.itemTrigger?.(value) ?? `accordion:${ctx.id}:trigger:${value}`;\nvar getRootEl = (ctx) => ctx.getById(getRootId(ctx));\nvar getTriggerEls = (ctx) => {\n const ownerId = CSS.escape(getRootId(ctx));\n const selector = `[aria-controls][data-ownedby='${ownerId}']:not([disabled])`;\n return queryAll(getRootEl(ctx), selector);\n};\nvar getFirstTriggerEl = (ctx) => first(getTriggerEls(ctx));\nvar getLastTriggerEl = (ctx) => last(getTriggerEls(ctx));\nvar getNextTriggerEl = (ctx, id) => nextById(getTriggerEls(ctx), getItemTriggerId(ctx, id));\nvar getPrevTriggerEl = (ctx, id) => prevById(getTriggerEls(ctx), getItemTriggerId(ctx, id));\n\n// src/accordion.connect.ts\nfunction connect(service, normalize) {\n const { send, context, prop, scope, computed } = service;\n const focusedValue = context.get(\"focusedValue\");\n const value = context.get(\"value\");\n const multiple = prop(\"multiple\");\n function setValue(value2) {\n let nextValue = value2;\n if (!multiple && nextValue.length > 1) {\n nextValue = [nextValue[0]];\n }\n send({ type: \"VALUE.SET\", value: nextValue });\n }\n function getItemState(props2) {\n return {\n expanded: value.includes(props2.value),\n focused: focusedValue === props2.value,\n disabled: Boolean(props2.disabled ?? prop(\"disabled\"))\n };\n }\n return {\n focusedValue,\n value,\n setValue,\n getItemState,\n getRootProps() {\n return normalize.element({\n ...parts.root.attrs,\n dir: prop(\"dir\"),\n id: getRootId(scope),\n \"data-orientation\": prop(\"orientation\")\n });\n },\n getItemProps(props2) {\n const itemState = getItemState(props2);\n return normalize.element({\n ...parts.item.attrs,\n dir: prop(\"dir\"),\n id: getItemId(scope, props2.value),\n \"data-state\": itemState.expanded ? \"open\" : \"closed\",\n \"data-focus\": dataAttr(itemState.focused),\n \"data-disabled\": dataAttr(itemState.disabled),\n \"data-orientation\": prop(\"orientation\")\n });\n },\n getItemContentProps(props2) {\n const itemState = getItemState(props2);\n return normalize.element({\n ...parts.itemContent.attrs,\n dir: prop(\"dir\"),\n role: \"region\",\n id: getItemContentId(scope, props2.value),\n \"aria-labelledby\": getItemTriggerId(scope, props2.value),\n hidden: !itemState.expanded,\n \"data-state\": itemState.expanded ? \"open\" : \"closed\",\n \"data-disabled\": dataAttr(itemState.disabled),\n \"data-focus\": dataAttr(itemState.focused),\n \"data-orientation\": prop(\"orientation\")\n });\n },\n getItemIndicatorProps(props2) {\n const itemState = getItemState(props2);\n return normalize.element({\n ...parts.itemIndicator.attrs,\n dir: prop(\"dir\"),\n \"aria-hidden\": true,\n \"data-state\": itemState.expanded ? \"open\" : \"closed\",\n \"data-disabled\": dataAttr(itemState.disabled),\n \"data-focus\": dataAttr(itemState.focused),\n \"data-orientation\": prop(\"orientation\")\n });\n },\n getItemTriggerProps(props2) {\n const { value: value2 } = props2;\n const itemState = getItemState(props2);\n return normalize.button({\n ...parts.itemTrigger.attrs,\n type: \"button\",\n dir: prop(\"dir\"),\n id: getItemTriggerId(scope, value2),\n \"aria-controls\": getItemContentId(scope, value2),\n \"aria-expanded\": itemState.expanded,\n disabled: itemState.disabled,\n \"data-orientation\": prop(\"orientation\"),\n \"aria-disabled\": itemState.disabled,\n \"data-state\": itemState.expanded ? \"open\" : \"closed\",\n \"data-ownedby\": getRootId(scope),\n onFocus() {\n if (itemState.disabled) return;\n send({ type: \"TRIGGER.FOCUS\", value: value2 });\n },\n onBlur() {\n if (itemState.disabled) return;\n send({ type: \"TRIGGER.BLUR\" });\n },\n onClick(event) {\n if (itemState.disabled) return;\n if (isSafari()) {\n event.currentTarget.focus();\n }\n send({ type: \"TRIGGER.CLICK\", value: value2 });\n },\n onKeyDown(event) {\n if (event.defaultPrevented) return;\n if (itemState.disabled) return;\n const keyMap = {\n ArrowDown() {\n if (computed(\"isHorizontal\")) return;\n send({ type: \"GOTO.NEXT\", value: value2 });\n },\n ArrowUp() {\n if (computed(\"isHorizontal\")) return;\n send({ type: \"GOTO.PREV\", value: value2 });\n },\n ArrowRight() {\n if (!computed(\"isHorizontal\")) return;\n send({ type: \"GOTO.NEXT\", value: value2 });\n },\n ArrowLeft() {\n if (!computed(\"isHorizontal\")) return;\n send({ type: \"GOTO.PREV\", value: value2 });\n },\n Home() {\n send({ type: \"GOTO.FIRST\", value: value2 });\n },\n End() {\n send({ type: \"GOTO.LAST\", value: value2 });\n }\n };\n const key = getEventKey(event, {\n dir: prop(\"dir\"),\n orientation: prop(\"orientation\")\n });\n const exec = keyMap[key];\n if (exec) {\n exec(event);\n event.preventDefault();\n }\n }\n });\n }\n };\n}\nvar { and, not } = createGuards();\nvar machine = createMachine({\n props({ props: props2 }) {\n return {\n collapsible: false,\n multiple: false,\n orientation: \"vertical\",\n defaultValue: [],\n ...props2\n };\n },\n initialState() {\n return \"idle\";\n },\n context({ prop, bindable }) {\n return {\n focusedValue: bindable(() => ({\n defaultValue: null,\n sync: true,\n onChange(value) {\n prop(\"onFocusChange\")?.({ value });\n }\n })),\n value: bindable(() => ({\n defaultValue: prop(\"defaultValue\"),\n value: prop(\"value\"),\n onChange(value) {\n prop(\"onValueChange\")?.({ value });\n }\n }))\n };\n },\n computed: {\n isHorizontal: ({ prop }) => prop(\"orientation\") === \"horizontal\"\n },\n on: {\n \"VALUE.SET\": {\n actions: [\"setValue\"]\n }\n },\n states: {\n idle: {\n on: {\n \"TRIGGER.FOCUS\": {\n target: \"focused\",\n actions: [\"setFocusedValue\"]\n }\n }\n },\n focused: {\n on: {\n \"GOTO.NEXT\": {\n actions: [\"focusNextTrigger\"]\n },\n \"GOTO.PREV\": {\n actions: [\"focusPrevTrigger\"]\n },\n \"TRIGGER.CLICK\": [\n {\n guard: and(\"isExpanded\", \"canToggle\"),\n actions: [\"collapse\"]\n },\n {\n guard: not(\"isExpanded\"),\n actions: [\"expand\"]\n }\n ],\n \"GOTO.FIRST\": {\n actions: [\"focusFirstTrigger\"]\n },\n \"GOTO.LAST\": {\n actions: [\"focusLastTrigger\"]\n },\n \"TRIGGER.BLUR\": {\n target: \"idle\",\n actions: [\"clearFocusedValue\"]\n }\n }\n }\n },\n implementations: {\n guards: {\n canToggle: ({ prop }) => !!prop(\"collapsible\") || !!prop(\"multiple\"),\n isExpanded: ({ context, event }) => context.get(\"value\").includes(event.value)\n },\n actions: {\n collapse({ context, prop, event }) {\n const next = prop(\"multiple\") ? remove(context.get(\"value\"), event.value) : [];\n context.set(\"value\", next);\n },\n expand({ context, prop, event }) {\n const next = prop(\"multiple\") ? add(context.get(\"value\"), event.value) : [event.value];\n context.set(\"value\", next);\n },\n focusFirstTrigger({ scope }) {\n getFirstTriggerEl(scope)?.focus();\n },\n focusLastTrigger({ scope }) {\n getLastTriggerEl(scope)?.focus();\n },\n focusNextTrigger({ context, scope }) {\n const focusedValue = context.get(\"focusedValue\");\n if (!focusedValue) return;\n const triggerEl = getNextTriggerEl(scope, focusedValue);\n triggerEl?.focus();\n },\n focusPrevTrigger({ context, scope }) {\n const focusedValue = context.get(\"focusedValue\");\n if (!focusedValue) return;\n const triggerEl = getPrevTriggerEl(scope, focusedValue);\n triggerEl?.focus();\n },\n setFocusedValue({ context, event }) {\n context.set(\"focusedValue\", event.value);\n },\n clearFocusedValue({ context }) {\n context.set(\"focusedValue\", null);\n },\n setValue({ context, event }) {\n context.set(\"value\", event.value);\n },\n coarseValue({ context, prop }) {\n if (!prop(\"multiple\") && context.get(\"value\").length > 1) {\n warn(`The value of accordion should be a single value when multiple is false.`);\n context.set(\"value\", [context.get(\"value\")[0]]);\n }\n }\n }\n }\n});\nvar props = createProps()([\n \"collapsible\",\n \"dir\",\n \"disabled\",\n \"getRootNode\",\n \"id\",\n \"ids\",\n \"multiple\",\n \"onFocusChange\",\n \"onValueChange\",\n \"orientation\",\n \"value\",\n \"defaultValue\"\n]);\nvar splitProps = createSplitProps(props);\nvar itemProps = createProps()([\"value\", \"disabled\"]);\nvar splitItemProps = createSplitProps(itemProps);\n\nexport { anatomy, connect, itemProps, machine, props, splitItemProps, splitProps };\n","import { createAnatomy } from '@zag-js/anatomy';\nimport { setElementValue, getWindow, dataAttr } from '@zag-js/dom-query';\nimport { createMachine } from '@zag-js/core';\nimport { setRafTimeout, createSplitProps } from '@zag-js/utils';\nimport { createProps } from '@zag-js/types';\n\n// src/clipboard.anatomy.ts\nvar anatomy = createAnatomy(\"clipboard\").parts(\"root\", \"control\", \"trigger\", \"indicator\", \"input\", \"label\");\nvar parts = anatomy.build();\nvar getRootId = (ctx) => ctx.ids?.root ?? `clip:${ctx.id}`;\nvar getInputId = (ctx) => ctx.ids?.input ?? `clip:${ctx.id}:input`;\nvar getLabelId = (ctx) => ctx.ids?.label ?? `clip:${ctx.id}:label`;\nvar getInputEl = (ctx) => ctx.getById(getInputId(ctx));\nvar writeToClipboard = (ctx, value) => copyText(ctx.getDoc(), value);\nfunction createNode(doc, text) {\n const node = doc.createElement(\"pre\");\n Object.assign(node.style, {\n width: \"1px\",\n height: \"1px\",\n position: \"fixed\",\n top: \"5px\"\n });\n node.textContent = text;\n return node;\n}\nfunction copyNode(node) {\n const win = getWindow(node);\n const selection = win.getSelection();\n if (selection == null) {\n return Promise.reject(new Error());\n }\n selection.removeAllRanges();\n const doc = node.ownerDocument;\n const range = doc.createRange();\n range.selectNodeContents(node);\n selection.addRange(range);\n doc.execCommand(\"copy\");\n selection.removeAllRanges();\n return Promise.resolve();\n}\nfunction copyText(doc, text) {\n const win = doc.defaultView || window;\n if (win.navigator.clipboard?.writeText !== void 0) {\n return win.navigator.clipboard.writeText(text);\n }\n if (!doc.body) {\n return Promise.reject(new Error());\n }\n const node = createNode(doc, text);\n doc.body.appendChild(node);\n copyNode(node);\n doc.body.removeChild(node);\n return Promise.resolve();\n}\n\n// src/clipboard.connect.ts\nfunction connect(service, normalize) {\n const { state, send, context, scope } = service;\n const copied = state.matches(\"copied\");\n return {\n copied,\n value: context.get(\"value\"),\n setValue(value) {\n send({ type: \"VALUE.SET\", value });\n },\n copy() {\n send({ type: \"COPY\" });\n },\n getRootProps() {\n return normalize.element({\n ...parts.root.attrs,\n \"data-copied\": dataAttr(copied),\n id: getRootId(scope)\n });\n },\n getLabelProps() {\n return normalize.label({\n ...parts.label.attrs,\n htmlFor: getInputId(scope),\n \"data-copied\": dataAttr(copied),\n id: getLabelId(scope)\n });\n },\n getControlProps() {\n return normalize.element({\n ...parts.control.attrs,\n \"data-copied\": dataAttr(copied)\n });\n },\n getInputProps() {\n return normalize.input({\n ...parts.input.attrs,\n defaultValue: context.get(\"value\"),\n \"data-copied\": dataAttr(copied),\n readOnly: true,\n \"data-readonly\": \"true\",\n id: getInputId(scope),\n onFocus(event) {\n event.currentTarget.select();\n },\n onCopy() {\n send({ type: \"INPUT.COPY\" });\n }\n });\n },\n getTriggerProps() {\n return normalize.button({\n ...parts.trigger.attrs,\n type: \"button\",\n \"aria-label\": copied ? \"Copied to clipboard\" : \"Copy to clipboard\",\n \"data-copied\": dataAttr(copied),\n onClick() {\n send({ type: \"COPY\" });\n }\n });\n },\n getIndicatorProps(props2) {\n return normalize.element({\n ...parts.indicator.attrs,\n hidden: props2.copied !== copied\n });\n }\n };\n}\nvar machine = createMachine({\n props({ props: props2 }) {\n return {\n timeout: 3e3,\n defaultValue: \"\",\n ...props2\n };\n },\n initialState() {\n return \"idle\";\n },\n context({ prop, bindable }) {\n return {\n value: bindable(() => ({\n defaultValue: prop(\"defaultValue\"),\n value: prop(\"value\"),\n onChange(value) {\n prop(\"onValueChange\")?.({ value });\n }\n }))\n };\n },\n watch({ track, context, action }) {\n track([() => context.get(\"value\")], () => {\n action([\"syncInputElement\"]);\n });\n },\n on: {\n \"VALUE.SET\": {\n actions: [\"setValue\"]\n },\n COPY: {\n target: \"copied\",\n actions: [\"copyToClipboard\", \"invokeOnCopy\"]\n }\n },\n states: {\n idle: {\n on: {\n \"INPUT.COPY\": {\n target: \"copied\",\n actions: [\"invokeOnCopy\"]\n }\n }\n },\n copied: {\n effects: [\"waitForTimeout\"],\n on: {\n \"COPY.DONE\": {\n target: \"idle\"\n },\n COPY: {\n target: \"copied\",\n actions: [\"copyToClipboard\", \"invokeOnCopy\"]\n },\n \"INPUT.COPY\": {\n actions: [\"invokeOnCopy\"]\n }\n }\n }\n },\n implementations: {\n effects: {\n waitForTimeout({ prop, send }) {\n return setRafTimeout(() => {\n send({ type: \"COPY.DONE\" });\n }, prop(\"timeout\"));\n }\n },\n actions: {\n setValue({ context, event }) {\n context.set(\"value\", event.value);\n },\n copyToClipboard({ context, scope }) {\n writeToClipboard(scope, context.get(\"value\"));\n },\n invokeOnCopy({ prop }) {\n prop(\"onStatusChange\")?.({ copied: true });\n },\n syncInputElement({ context, scope }) {\n const inputEl = getInputEl(scope);\n if (!inputEl) return;\n setElementValue(inputEl, context.get(\"value\"));\n }\n }\n }\n});\nvar props = createProps()([\n \"getRootNode\",\n \"id\",\n \"ids\",\n \"value\",\n \"defaultValue\",\n \"timeout\",\n \"onStatusChange\",\n \"onValueChange\"\n]);\nvar contextProps = createSplitProps(props);\nvar indicatorProps = createProps()([\"copied\"]);\nvar splitIndicatorProps = createSplitProps(indicatorProps);\n\nexport { anatomy, connect, contextProps, indicatorProps, machine, props, splitIndicatorProps };\n","'use client';\nimport { anatomy } from '@zag-js/color-picker';\n\nconst colorPickerAnatomy = anatomy.extendWith(\"view\");\n\nexport { colorPickerAnatomy };\n","// src/data-transfer.ts\nvar getItemEntry = (item) => typeof item.getAsEntry === \"function\" ? item.getAsEntry() : typeof item.webkitGetAsEntry === \"function\" ? item.webkitGetAsEntry() : null;\nvar isDirectoryEntry = (entry) => entry.isDirectory;\nvar isFileEntry = (entry) => entry.isFile;\nvar addRelativePath = (file, path) => {\n Object.defineProperty(file, \"relativePath\", { value: path ? `${path}/${file.name}` : file.name });\n return file;\n};\nvar getFileEntries = (items, traverseDirectories) => Promise.all(\n Array.from(items).filter((item) => item.kind === \"file\").map((item) => {\n const entry = getItemEntry(item);\n if (!entry) return null;\n if (isDirectoryEntry(entry) && traverseDirectories) {\n return getDirectoryFiles(entry.createReader(), `${entry.name}`);\n }\n if (isFileEntry(entry) && typeof item.getAsFile === \"function\") {\n const file = item.getAsFile();\n return Promise.resolve(file ? addRelativePath(file, \"\") : null);\n }\n if (isFileEntry(entry)) {\n return new Promise((resolve) => {\n entry.file((file) => {\n resolve(addRelativePath(file, \"\"));\n });\n });\n }\n }).filter((b) => b)\n);\nvar getDirectoryFiles = (reader, path = \"\") => new Promise((resolve) => {\n const entryPromises = [];\n const readDirectoryEntries = () => {\n reader.readEntries((entries) => {\n if (entries.length === 0) {\n resolve(Promise.all(entryPromises).then((entries2) => entries2.flat()));\n return;\n }\n const promises = entries.map((entry) => {\n if (!entry) return null;\n if (isDirectoryEntry(entry)) {\n return getDirectoryFiles(entry.createReader(), `${path}${entry.name}`);\n }\n if (isFileEntry(entry)) {\n return new Promise((resolve2) => {\n entry.file((file) => {\n resolve2(addRelativePath(file, path));\n });\n });\n }\n }).filter((b) => b);\n entryPromises.push(Promise.all(promises));\n readDirectoryEntries();\n });\n };\n readDirectoryEntries();\n});\n\n// src/data-url-to-blob.ts\nfunction dataURItoBlob(uri) {\n const binary = atob(uri.split(\",\")[1]);\n const mimeString = uri.split(\",\")[0].split(\":\")[1].split(\";\")[0];\n const buffer = new ArrayBuffer(binary.length);\n const intArray = new Uint8Array(buffer);\n for (let i = 0; i < binary.length; i++) {\n intArray[i] = binary.charCodeAt(i);\n }\n return new Blob([buffer], { type: mimeString });\n}\n\n// src/download-file.ts\nvar BOM_REGEX = /^\\s*(?:text\\/\\S*|application\\/xml|\\S*\\/\\S*\\+xml)\\s*;.*charset\\s*=\\s*utf-8/i;\nvar MAC_REGEX = /Macintosh/;\nvar APPLE_WEBKIT_REGEX = /AppleWebKit/;\nvar SAFARI_REGEX = /Safari/;\nfunction getBlob(blobOrString, type, appendBOM) {\n let blob = typeof blobOrString === \"string\" ? new Blob([blobOrString], { type }) : blobOrString;\n if (appendBOM && BOM_REGEX.test(blob.type)) {\n return new Blob([String.fromCharCode(65279), blob], { type: blob.type });\n }\n return blob;\n}\nfunction isMSEdge(win) {\n return Boolean(win.navigator && win.navigator.msSaveOrOpenBlob);\n}\nfunction isWebView(win) {\n return win.navigator && MAC_REGEX.test(win.navigator.userAgent) && APPLE_WEBKIT_REGEX.test(win.navigator.userAgent) && !SAFARI_REGEX.test(win.navigator.userAgent);\n}\nfunction downloadFile(options) {\n const { file, win = window, type, name, appendBOM, revokeTimeout = 0 } = options;\n const doc = win.document;\n const blob = getBlob(file, type, appendBOM);\n const fileName = (file instanceof File ? name || file.name : name) || \"file-download\";\n if (isMSEdge(win)) {\n win.navigator.msSaveOrOpenBlob(blob, fileName);\n return;\n }\n const isMacOSWebView = isWebView(win);\n const anchor = doc.createElement(\"a\");\n const canUseDownload = \"download\" in anchor && !isMacOSWebView;\n if (canUseDownload) {\n const url2 = win.URL.createObjectURL(blob);\n anchor.href = url2;\n anchor.rel = \"noopener\";\n anchor.download = fileName;\n anchor.style.display = \"none\";\n doc.body.appendChild(anchor);\n anchor.dispatchEvent(new win.MouseEvent(\"click\"));\n setTimeout(() => {\n win.URL.revokeObjectURL(url2);\n anchor.remove();\n }, revokeTimeout);\n return;\n }\n const url = win.URL.createObjectURL(blob);\n const popup = win.open(url, \"_blank\");\n if (!popup) {\n win.location.href = url;\n }\n setTimeout(() => {\n win.URL.revokeObjectURL(url);\n }, revokeTimeout);\n}\n\n// src/get-accept-attr.ts\nfunction isMIMEType(v) {\n return v === \"audio/*\" || v === \"video/*\" || v === \"image/*\" || v === \"text/*\" || /\\w+\\/[-+.\\w]+/g.test(v);\n}\nfunction isExt(v) {\n return /^.*\\.[\\w]+$/.test(v);\n}\nvar isValidMIME = (v) => isMIMEType(v) || isExt(v);\nfunction getAcceptAttrString(accept) {\n if (accept == null) return;\n if (typeof accept === \"string\") {\n return accept;\n }\n if (Array.isArray(accept)) {\n return accept.filter(isValidMIME).join(\",\");\n }\n return Object.entries(accept).reduce((a, [mimeType, ext]) => [...a, mimeType, ...ext], []).filter(isValidMIME).join(\",\");\n}\n\n// src/get-file-data-url.ts\nvar getFileDataUrl = async (file) => {\n const reader = new FileReader();\n return new Promise((resolve, reject) => {\n reader.onerror = () => {\n reader.abort();\n reject(new Error(\"There was an error reading a file\"));\n };\n reader.onloadend = () => {\n const { result } = reader;\n if (result instanceof ArrayBuffer) {\n reject(new Error(\"Expected DataURL as string from Blob/File, got ArrayBuffer\"));\n } else {\n resolve(result || void 0);\n }\n };\n reader.readAsDataURL(file);\n });\n};\n\n// src/get-total-file-size.ts\nvar getTotalFileSize = (files) => {\n return files.reduce((acc, file) => acc + file.size, 0);\n};\n\n// src/is-file-equal.ts\nvar isFileEqual = (file1, file2) => {\n return file1.name === file2.name && file1.size === file2.size && file1.type === file2.type;\n};\n\n// src/is-valid-file-size.ts\nvar isDefined = (v) => v !== void 0 && v !== null;\nfunction isValidFileSize(file, minSize, maxSize) {\n if (isDefined(file.size)) {\n if (isDefined(minSize) && isDefined(maxSize)) {\n if (file.size > maxSize) return [false, \"FILE_TOO_LARGE\"];\n if (file.size < minSize) return [false, \"FILE_TOO_SMALL\"];\n } else if (isDefined(minSize) && file.size < minSize) {\n return [false, \"FILE_TOO_SMALL\"];\n } else if (isDefined(maxSize) && file.size > maxSize) {\n return [false, \"FILE_TOO_LARGE\"];\n }\n }\n return [true, null];\n}\n\n// src/mime-types.ts\nvar mimeTypes = \"3g2_video/3gpp2[3gp,3gpp_video/3gpp[3mf_model/3mf[7z_application/x-7z-compressed[aac_audio/aac[ac_application/pkix-attr-cert[adp_audio/adpcm[adts_audio/aac[ai_application/postscript[aml_application/automationml-aml+xml[amlx_application/automationml-amlx+zip[amr_audio/amr[apk_application/vnd.android.package-archive[apng_image/apng[appcache,manifest_text/cache-manifest[appinstaller_application/appinstaller[appx_application/appx[appxbundle_application/appxbundle[asc_application/pgp-keys[atom_application/atom+xml[atomcat_application/atomcat+xml[atomdeleted_application/atomdeleted+xml[atomsvc_application/atomsvc+xml[au,snd_audio/basic[avi_video/x-msvideo[avci_image/avci[avcs_image/avcs[avif_image/avif[aw_application/applixware[bdoc_application/bdoc[bin,bpk,buffer,deb,deploy,dist,distz,dll,dmg,dms,dump,elc,exe,img,iso,lrf,mar,msi,msm,msp,pkg,so_application/octet-stream[bmp,dib_image/bmp[btf,btif_image/prs.btif[bz2_application/x-bzip2[c_text/x-c[ccxml_application/ccxml+xml[cdfx_application/cdfx+xml[cdmia_application/cdmi-capability[cdmic_application/cdmi-container[cdmid_application/cdmi-domain[cdmio_application/cdmi-object[cdmiq_application/cdmi-queue[cer_application/pkix-cert[cgm_image/cgm[cjs_application/node[class_application/java-vm[coffee,litcoffee_text/coffeescript[conf,def,in,ini,list,log,text,txt_text/plain[cpp,cxx,cc_text/x-c++src[cpl_application/cpl+xml[cpt_application/mac-compactpro[crl_application/pkix-crl[css_text/css[csv_text/csv[cu_application/cu-seeme[cwl_application/cwl[cww_application/prs.cww[davmount_application/davmount+xml[dbk_application/docbook+xml[doc_application/msword[docx_application/vnd.openxmlformats-officedocument.wordprocessingml.document[dsc_text/prs.lines.tag[dssc_application/dssc+der[dtd_application/xml-dtd[dwd_application/atsc-dwd+xml[ear,jar,war_application/java-archive[ecma_application/ecmascript[emf_image/emf[eml,mime_message/rfc822[emma_application/emma+xml[emotionml_application/emotionml+xml[eot_application/vnd.ms-fontobject[eps,ps_application/postscript[epub_application/epub+zip[exi_application/exi[exp_application/express[exr_image/aces[ez_application/andrew-inset[fdf_application/fdf[fdt_application/fdt+xml[fits_image/fits[flac_audio/flac[flv_video/x-flv[g3_image/g3fax[geojson_application/geo+json[gif_image/gif[glb_model/gltf-binary[gltf_model/gltf+json[gml_application/gml+xml[go_text/x-go[gpx_application/gpx+xml[gz_application/gzip[h_text/x-h[h261_video/h261[h263_video/h263[h264_video/h264[heic_image/heic[heics_image/heic-sequence[heif_image/heif[heifs_image/heif-sequence[htm,html,shtml_text/html[ico_image/x-icon[icns_image/x-icns[ics,ifb_text/calendar[iges,igs_model/iges[ink,inkml_application/inkml+xml[ipa_application/octet-stream[java_text/x-java-source[jp2,jpg2_image/jp2[jpeg,jpe,jpg_image/jpeg[jpf,jpx_image/jpx[jpm,jpgm_image/jpm[jpgv_video/jpeg[jph_image/jph[js,mjs_text/javascript[json_application/json[json5_application/json5[jsonld_application/ld+json[jsx_text/jsx[jxl_image/jxl[jxr_image/jxr[ktx_image/ktx[ktx2_image/ktx2[less_text/less[m1v,m2v,mpe,mpeg,mpg_video/mpeg[m4a_audio/mp4[m4v_video/x-m4v[md,markdown_text/markdown[mid,midi,kar,rmi_audio/midi[mkv_video/x-matroska[mp2,mp2a,mp3,mpga,m3a,m2a_audio/mpeg[mp4,mp4v,mpg4_video/mp4[mp4a_audio/mp4[mp4s,m4p_application/mp4[odp_application/vnd.oasis.opendocument.presentation[oda_application/oda[ods_application/vnd.oasis.opendocument.spreadsheet[odt_application/vnd.oasis.opendocument.text[oga,ogg,opus,spx_audio/ogg[ogv_video/ogg[ogx_application/ogg[otf_font/otf[p12,pfx_application/x-pkcs12[pdf_application/pdf[pem_application/x-pem-file[php_text/x-php[png_image/png[ppt_application/vnd.ms-powerpoint[pptx_application/vnd.openxmlformats-officedocument.presentationml.presentation[pskcxml_application/pskc+xml[psd_image/vnd.adobe.photoshop[py_text/x-python[qt,mov_video/quicktime[rar_application/vnd.rar[rdf_application/rdf+xml[rtf_text/rtf[sass_text/x-sass[scss_text/x-scss[sgm,sgml_text/sgml[sh_application/x-sh[svg,svgz_image/svg+xml[swf_application/x-shockwave-flash[tar_application/x-tar[tif,tiff_image/tiff[toml_application/toml[ts_video/mp2t[tsx_text/tsx[tsv_text/tab-separated-values[ttc_font/collection[ttf_font/ttf[vtt_text/vtt[wasm_application/wasm[wav_audio/wav[weba_audio/webm[webm_video/webm[webmanifest_application/manifest+json[webp_image/webp[wma_audio/x-ms-wma[wmv_video/x-ms-wmv[woff_font/woff[woff2_font/woff2[xls_application/vnd.ms-excel[xlsx_application/vnd.openxmlformats-officedocument.spreadsheetml.sheet[xml_application/xml[xz_application/x-xz[yaml,yml_text/yaml[zip_application/zip\";\nvar mimeTypesMap = new Map(\n mimeTypes.split(\"[\").flatMap((mime) => {\n const [extensions, mimeType] = mime.split(\"_\");\n return extensions.split(\",\").map((ext) => [ext, mimeType]);\n })\n);\n\n// src/get-file-mime-type.ts\nfunction getFileMimeType(name) {\n const extension = name.split(\".\").pop();\n return extension ? mimeTypesMap.get(extension) || null : null;\n}\n\n// src/is-valid-file-type.ts\nfunction isFileAccepted(file, accept) {\n if (file && accept) {\n const types = Array.isArray(accept) ? accept : typeof accept === \"string\" ? accept.split(\",\") : [];\n if (types.length === 0) return true;\n const fileName = file.name || \"\";\n const mimeType = (file.type || getFileMimeType(fileName) || \"\").toLowerCase();\n const baseMimeType = mimeType.replace(/\\/.*$/, \"\");\n return types.some((type) => {\n const validType = type.trim().toLowerCase();\n if (validType.charAt(0) === \".\") {\n return fileName.toLowerCase().endsWith(validType);\n }\n if (validType.endsWith(\"/*\")) {\n return baseMimeType === validType.replace(/\\/.*$/, \"\");\n }\n return mimeType === validType;\n });\n }\n return true;\n}\nfunction isValidFileType(file, accept) {\n const isAcceptable = file.type === \"application/x-moz-file\" || isFileAccepted(file, accept);\n return [isAcceptable, isAcceptable ? null : \"FILE_INVALID_TYPE\"];\n}\n\nexport { dataURItoBlob, downloadFile, getAcceptAttrString, getFileDataUrl, getFileEntries, getFileMimeType, getTotalFileSize, isFileEqual, isValidFileSize, isValidFileType };\n","import { createAnatomy } from '@zag-js/anatomy';\nimport { setElementValue, raf, contains, dataAttr, ariaAttr, isComposingEvent, isApple } from '@zag-js/dom-query';\nimport { createMachine } from '@zag-js/core';\nimport { trackInteractOutside } from '@zag-js/interact-outside';\nimport { createProps } from '@zag-js/types';\nimport { createSplitProps } from '@zag-js/utils';\n\n// src/editable.anatomy.ts\nvar anatomy = createAnatomy(\"editable\").parts(\n \"root\",\n \"area\",\n \"label\",\n \"preview\",\n \"input\",\n \"editTrigger\",\n \"submitTrigger\",\n \"cancelTrigger\",\n \"control\"\n);\nvar parts = anatomy.build();\n\n// src/editable.dom.ts\nvar getRootId = (ctx) => ctx.ids?.root ?? `editable:${ctx.id}`;\nvar getAreaId = (ctx) => ctx.ids?.area ?? `editable:${ctx.id}:area`;\nvar getLabelId = (ctx) => ctx.ids?.label ?? `editable:${ctx.id}:label`;\nvar getPreviewId = (ctx) => ctx.ids?.preview ?? `editable:${ctx.id}:preview`;\nvar getInputId = (ctx) => ctx.ids?.input ?? `editable:${ctx.id}:input`;\nvar getControlId = (ctx) => ctx.ids?.control ?? `editable:${ctx.id}:control`;\nvar getSubmitTriggerId = (ctx) => ctx.ids?.submitTrigger ?? `editable:${ctx.id}:submit`;\nvar getCancelTriggerId = (ctx) => ctx.ids?.cancelTrigger ?? `editable:${ctx.id}:cancel`;\nvar getEditTriggerId = (ctx) => ctx.ids?.editTrigger ?? `editable:${ctx.id}:edit`;\nvar getInputEl = (ctx) => ctx.getById(getInputId(ctx));\nvar getPreviewEl = (ctx) => ctx.getById(getPreviewId(ctx));\nvar getSubmitTriggerEl = (ctx) => ctx.getById(getSubmitTriggerId(ctx));\nvar getCancelTriggerEl = (ctx) => ctx.getById(getCancelTriggerId(ctx));\nvar getEditTriggerEl = (ctx) => ctx.getById(getEditTriggerId(ctx));\n\n// src/editable.connect.ts\nfunction connect(service, normalize) {\n const { state, context, send, prop, scope, computed } = service;\n const disabled = prop(\"disabled\");\n const interactive = computed(\"isInteractive\");\n const readOnly = prop(\"readOnly\");\n const invalid = prop(\"invalid\");\n const autoResize = prop(\"autoResize\");\n const translations = prop(\"translations\");\n const editing = state.matches(\"edit\");\n const placeholderProp = prop(\"placeholder\");\n const placeholder = typeof placeholderProp === \"string\" ? { edit: placeholderProp, preview: placeholderProp } : placeholderProp;\n const value = context.get(\"value\");\n const empty = value.trim() === \"\";\n const valueText = empty ? placeholder?.preview ?? \"\" : value;\n return {\n editing,\n empty,\n value,\n valueText,\n setValue(value2) {\n send({ type: \"VALUE.SET\", value: value2, src: \"setValue\" });\n },\n clearValue() {\n send({ type: \"VALUE.SET\", value: \"\", src: \"clearValue\" });\n },\n edit() {\n if (!interactive) return;\n send({ type: \"EDIT\" });\n },\n cancel() {\n if (!interactive) return;\n send({ type: \"CANCEL\" });\n },\n submit() {\n if (!interactive) return;\n send({ type: \"SUBMIT\" });\n },\n getRootProps() {\n return normalize.element({\n ...parts.root.attrs,\n id: getRootId(scope),\n dir: prop(\"dir\")\n });\n },\n getAreaProps() {\n return normalize.element({\n ...parts.area.attrs,\n id: getAreaId(scope),\n dir: prop(\"dir\"),\n style: autoResize ? { display: \"inline-grid\" } : void 0,\n \"data-focus\": dataAttr(editing),\n \"data-disabled\": dataAttr(disabled),\n \"data-placeholder-shown\": dataAttr(empty)\n });\n },\n getLabelProps() {\n return normalize.label({\n ...parts.label.attrs,\n id: getLabelId(scope),\n dir: prop(\"dir\"),\n htmlFor: getInputId(scope),\n \"data-focus\": dataAttr(editing),\n \"data-invalid\": dataAttr(invalid),\n onClick() {\n if (editing) return;\n const previewEl = getPreviewEl(scope);\n previewEl?.focus({ preventScroll: true });\n }\n });\n },\n getInputProps() {\n return normalize.input({\n ...parts.input.attrs,\n dir: prop(\"dir\"),\n \"aria-label\": translations?.input,\n name: prop(\"name\"),\n form: prop(\"form\"),\n id: getInputId(scope),\n hidden: autoResize ? void 0 : !editing,\n placeholder: placeholder?.edit,\n maxLength: prop(\"maxLength\"),\n required: prop(\"required\"),\n disabled,\n \"data-disabled\": dataAttr(disabled),\n readOnly,\n \"data-readonly\": dataAttr(readOnly),\n \"aria-invalid\": ariaAttr(invalid),\n \"data-invalid\": dataAttr(invalid),\n \"data-autoresize\": dataAttr(autoResize),\n defaultValue: value,\n size: autoResize ? 1 : void 0,\n onChange(event) {\n send({\n type: \"VALUE.SET\",\n src: \"input.change\",\n value: event.currentTarget.value\n });\n },\n onKeyDown(event) {\n if (event.defaultPrevented) return;\n if (isComposingEvent(event)) return;\n const keyMap = {\n Escape() {\n send({ type: \"CANCEL\" });\n event.preventDefault();\n },\n Enter(event2) {\n if (!computed(\"submitOnEnter\")) return;\n const { localName } = event2.currentTarget;\n if (localName === \"textarea\") {\n const submitMod = isApple() ? event2.metaKey : event2.ctrlKey;\n if (!submitMod) return;\n send({ type: \"SUBMIT\", src: \"keydown.enter\" });\n return;\n }\n if (localName === \"input\" && !event2.shiftKey && !event2.metaKey) {\n send({ type: \"SUBMIT\", src: \"keydown.enter\" });\n event2.preventDefault();\n }\n }\n };\n const exec = keyMap[event.key];\n if (exec) {\n exec(event);\n }\n },\n style: autoResize ? {\n gridArea: \"1 / 1 / auto / auto\",\n visibility: !editing ? \"hidden\" : void 0\n } : void 0\n });\n },\n getPreviewProps() {\n return normalize.element({\n id: getPreviewId(scope),\n ...parts.preview.attrs,\n dir: prop(\"dir\"),\n \"data-placeholder-shown\": dataAttr(empty),\n \"aria-readonly\": ariaAttr(readOnly),\n \"data-readonly\": dataAttr(disabled),\n \"data-disabled\": dataAttr(disabled),\n \"aria-disabled\": ariaAttr(disabled),\n \"aria-invalid\": ariaAttr(invalid),\n \"data-invalid\": dataAttr(invalid),\n \"aria-label\": translations?.edit,\n \"data-autoresize\": dataAttr(autoResize),\n children: valueText,\n hidden: autoResize ? void 0 : editing,\n tabIndex: interactive ? 0 : void 0,\n onClick() {\n if (!interactive) return;\n if (prop(\"activationMode\") !== \"click\") return;\n send({ type: \"EDIT\", src: \"click\" });\n },\n onFocus() {\n if (!interactive) return;\n if (prop(\"activationMode\") !== \"focus\") return;\n send({ type: \"EDIT\", src: \"focus\" });\n },\n onDoubleClick(event) {\n if (event.defaultPrevented) return;\n if (!interactive) return;\n if (prop(\"activationMode\") !== \"dblclick\") return;\n send({ type: \"EDIT\", src: \"dblclick\" });\n },\n style: autoResize ? {\n whiteSpace: \"pre\",\n userSelect: \"none\",\n gridArea: \"1 / 1 / auto / auto\",\n visibility: editing ? \"hidden\" : void 0,\n // in event the preview overflow's the parent element\n overflow: \"hidden\",\n textOverflow: \"ellipsis\"\n } : void 0\n });\n },\n getEditTriggerProps() {\n return normalize.button({\n ...parts.editTrigger.attrs,\n id: getEditTriggerId(scope),\n dir: prop(\"dir\"),\n \"aria-label\": translations?.edit,\n hidden: editing,\n type: \"button\",\n disabled,\n onClick(event) {\n if (event.defaultPrevented) return;\n if (!interactive) return;\n send({ type: \"EDIT\", src: \"edit.click\" });\n }\n });\n },\n getControlProps() {\n return normalize.element({\n id: getControlId(scope),\n ...parts.control.attrs,\n dir: prop(\"dir\")\n });\n },\n getSubmitTriggerProps() {\n return normalize.button({\n ...parts.submitTrigger.attrs,\n dir: prop(\"dir\"),\n id: getSubmitTriggerId(scope),\n \"aria-label\": translations?.submit,\n hidden: !editing,\n disabled,\n type: \"button\",\n onClick(event) {\n if (event.defaultPrevented) return;\n if (!interactive) return;\n send({ type: \"SUBMIT\", src: \"submit.click\" });\n }\n });\n },\n getCancelTriggerProps() {\n return normalize.button({\n ...parts.cancelTrigger.attrs,\n dir: prop(\"dir\"),\n \"aria-label\": translations?.cancel,\n id: getCancelTriggerId(scope),\n hidden: !editing,\n type: \"button\",\n disabled,\n onClick(event) {\n if (event.defaultPrevented) return;\n if (!interactive) return;\n send({ type: \"CANCEL\", src: \"cancel.click\" });\n }\n });\n }\n };\n}\nvar machine = createMachine({\n props({ props: props2 }) {\n return {\n activationMode: \"focus\",\n submitMode: \"both\",\n defaultValue: \"\",\n selectOnFocus: true,\n ...props2,\n translations: {\n input: \"editable input\",\n edit: \"edit\",\n submit: \"submit\",\n cancel: \"cancel\",\n ...props2.translations\n }\n };\n },\n initialState({ prop }) {\n const edit = prop(\"edit\") || prop(\"defaultEdit\");\n return edit ? \"edit\" : \"preview\";\n },\n entry: [\"focusInputIfNeeded\"],\n context: ({ bindable, prop }) => {\n return {\n value: bindable(() => ({\n defaultValue: prop(\"defaultValue\"),\n value: prop(\"value\"),\n onChange(value) {\n return prop(\"onValueChange\")?.({ value });\n }\n })),\n previousValue: bindable(() => ({\n defaultValue: \"\"\n }))\n };\n },\n watch({ track, action, context, prop }) {\n track([() => context.get(\"value\")], () => {\n action([\"syncInputValue\"]);\n });\n track([() => prop(\"edit\")], () => {\n action([\"toggleEditing\"]);\n });\n },\n computed: {\n submitOnEnter({ prop }) {\n const submitMode = prop(\"submitMode\");\n return submitMode === \"both\" || submitMode === \"enter\";\n },\n submitOnBlur({ prop }) {\n const submitMode = prop(\"submitMode\");\n return submitMode === \"both\" || submitMode === \"blur\";\n },\n isInteractive({ prop }) {\n return !(prop(\"disabled\") || prop(\"readOnly\"));\n }\n },\n on: {\n \"VALUE.SET\": {\n actions: [\"setValue\"]\n }\n },\n states: {\n preview: {\n entry: [\"blurInputIfNeeded\"],\n on: {\n \"CONTROLLED.EDIT\": {\n target: \"edit\",\n actions: [\"setPreviousValue\", \"focusInput\"]\n },\n EDIT: [\n {\n guard: \"isEditControlled\",\n actions: [\"invokeOnEdit\"]\n },\n {\n target: \"edit\",\n actions: [\"setPreviousValue\", \"focusInput\", \"invokeOnEdit\"]\n }\n ]\n }\n },\n edit: {\n effects: [\"trackInteractOutside\"],\n on: {\n \"CONTROLLED.PREVIEW\": [\n {\n guard: \"isSubmitEvent\",\n target: \"preview\",\n actions: [\"setPreviousValue\", \"restoreFocus\", \"invokeOnSubmit\"]\n },\n {\n target: \"preview\",\n actions: [\"revertValue\", \"restoreFocus\", \"invokeOnCancel\"]\n }\n ],\n CANCEL: [\n {\n guard: \"isEditControlled\",\n actions: [\"invokeOnPreview\"]\n },\n {\n target: \"preview\",\n actions: [\"revertValue\", \"restoreFocus\", \"invokeOnCancel\", \"invokeOnPreview\"]\n }\n ],\n SUBMIT: [\n {\n guard: \"isEditControlled\",\n actions: [\"invokeOnPreview\"]\n },\n {\n target: \"preview\",\n actions: [\"setPreviousValue\", \"restoreFocus\", \"invokeOnSubmit\", \"invokeOnPreview\"]\n }\n ]\n }\n }\n },\n implementations: {\n guards: {\n isEditControlled: ({ prop }) => prop(\"edit\") != void 0,\n isSubmitEvent: ({ event }) => event.previousEvent?.type === \"SUBMIT\"\n },\n effects: {\n trackInteractOutside({ send, scope, prop, computed }) {\n return trackInteractOutside(getInputEl(scope), {\n exclude(target) {\n const ignore = [getCancelTriggerEl(scope), getSubmitTriggerEl(scope)];\n return ignore.some((el) => contains(el, target));\n },\n onFocusOutside: prop(\"onFocusOutside\"),\n onPointerDownOutside: prop(\"onPointerDownOutside\"),\n onInteractOutside(event) {\n prop(\"onInteractOutside\")?.(event);\n if (event.defaultPrevented) return;\n const { focusable } = event.detail;\n send({\n type: computed(\"submitOnBlur\") ? \"SUBMIT\" : \"CANCEL\",\n src: \"interact-outside\",\n focusable\n });\n }\n });\n }\n },\n actions: {\n restoreFocus({ event, scope, prop }) {\n if (event.focusable) return;\n raf(() => {\n const finalEl = prop(\"finalFocusEl\")?.() ?? getEditTriggerEl(scope);\n finalEl?.focus({ preventScroll: true });\n });\n },\n clearValue({ context }) {\n context.set(\"value\", \"\");\n },\n focusInputIfNeeded({ action, prop }) {\n const edit = prop(\"edit\") || prop(\"defaultEdit\");\n if (!edit) return;\n action([\"focusInput\"]);\n },\n focusInput({ scope, prop }) {\n raf(() => {\n const inputEl = getInputEl(scope);\n if (!inputEl) return;\n if (prop(\"selectOnFocus\")) {\n inputEl.select();\n } else {\n inputEl.focus({ preventScroll: true });\n }\n });\n },\n invokeOnCancel({ prop, context }) {\n const prev = context.get(\"previousValue\");\n prop(\"onValueRevert\")?.({ value: prev });\n },\n invokeOnSubmit({ prop, context }) {\n const value = context.get(\"value\");\n prop(\"onValueCommit\")?.({ value });\n },\n invokeOnEdit({ prop }) {\n prop(\"onEditChange\")?.({ edit: true });\n },\n invokeOnPreview({ prop }) {\n prop(\"onEditChange\")?.({ edit: false });\n },\n toggleEditing({ prop, send, event }) {\n send({\n type: prop(\"edit\") ? \"CONTROLLED.EDIT\" : \"CONTROLLED.PREVIEW\",\n previousEvent: event\n });\n },\n syncInputValue({ context, scope }) {\n const inputEl = getInputEl(scope);\n if (!inputEl) return;\n setElementValue(inputEl, context.get(\"value\"));\n },\n setValue({ context, prop, event }) {\n const max = prop(\"maxLength\");\n const value = max != null ? event.value.slice(0, max) : event.value;\n context.set(\"value\", value);\n },\n setPreviousValue({ context }) {\n context.set(\"previousValue\", context.get(\"value\"));\n },\n revertValue({ context }) {\n const value = context.get(\"previousValue\");\n if (!value) return;\n context.set(\"value\", value);\n },\n blurInputIfNeeded({ scope }) {\n getInputEl(scope)?.blur();\n }\n }\n }\n});\nvar props = createProps()([\n \"activationMode\",\n \"autoResize\",\n \"dir\",\n \"disabled\",\n \"finalFocusEl\",\n \"form\",\n \"getRootNode\",\n \"id\",\n \"ids\",\n \"invalid\",\n \"maxLength\",\n \"name\",\n \"onEditChange\",\n \"onFocusOutside\",\n \"onInteractOutside\",\n \"onPointerDownOutside\",\n \"onValueChange\",\n \"onValueCommit\",\n \"onValueRevert\",\n \"placeholder\",\n \"readOnly\",\n \"required\",\n \"selectOnFocus\",\n \"edit\",\n \"defaultEdit\",\n \"submitMode\",\n \"translations\",\n \"defaultValue\",\n \"value\"\n]);\nvar splitProps = createSplitProps(props);\n\nexport { anatomy, connect, machine, props, splitProps };\n","import { getWindow } from '@zag-js/dom-query';\n\n// src/cache.ts\nfunction i18nCache(Ins) {\n const formatterCache = /* @__PURE__ */ new Map();\n return function create(locale, options) {\n const cacheKey = locale + (options ? Object.entries(options).sort((a, b) => a[0] < b[0] ? -1 : 1).join() : \"\");\n if (formatterCache.has(cacheKey)) {\n return formatterCache.get(cacheKey);\n }\n let formatter = new Ins(locale, options);\n formatterCache.set(cacheKey, formatter);\n return formatter;\n };\n}\n\n// src/collator.ts\nvar getCollator = i18nCache(Intl.Collator);\nfunction createCollator(locale = \"en-US\", options = {}) {\n return getCollator(locale, options);\n}\n\n// src/filter.ts\nvar collatorCache = i18nCache(Intl.Collator);\nfunction createFilter(options) {\n const { locale, ...rest } = options || {};\n const collator = collatorCache(locale || \"en-US\", { usage: \"search\", ...rest });\n function normalize(string) {\n string = string.normalize(\"NFC\");\n if (collator.resolvedOptions().ignorePunctuation) {\n string = string.replace(/\\p{P}/gu, \"\");\n }\n return string;\n }\n function startsWith(string, substring) {\n if (substring.length === 0) return true;\n string = normalize(string);\n substring = normalize(substring);\n return collator.compare(string.slice(0, substring.length), substring) === 0;\n }\n function endsWith(string, substring) {\n if (substring.length === 0) return true;\n string = normalize(string);\n substring = normalize(substring);\n return collator.compare(string.slice(-substring.length), substring) === 0;\n }\n function contains(string, substring) {\n if (substring.length === 0) return true;\n string = normalize(string);\n substring = normalize(substring);\n let scan = 0;\n let sliceLen = substring.length;\n for (; scan + sliceLen <= string.length; scan++) {\n let slice = string.slice(scan, scan + sliceLen);\n if (collator.compare(substring, slice) === 0) {\n return true;\n }\n }\n return false;\n }\n return {\n startsWith,\n endsWith,\n contains\n };\n}\n\n// src/format-number.ts\nvar getNumberFormatter = i18nCache(Intl.NumberFormat);\nfunction formatNumber(v, locale, options = {}) {\n const formatter = getNumberFormatter(locale, options);\n return formatter.format(v);\n}\n\n// src/format-bytes.ts\nvar bitPrefixes = [\"\", \"kilo\", \"mega\", \"giga\", \"tera\"];\nvar bytePrefixes = [\"\", \"kilo\", \"mega\", \"giga\", \"tera\", \"peta\"];\nvar formatBytes = (bytes, locale = \"en-US\", options = {}) => {\n if (isNaN(bytes)) return \"\";\n if (bytes === 0) return \"0 B\";\n const { unit = \"byte\", unitDisplay = \"short\" } = options;\n const prefix = unit === \"bit\" ? bitPrefixes : bytePrefixes;\n const index = Math.max(0, Math.min(Math.floor(Math.log10(bytes) / 3), prefix.length - 1));\n const _unit = prefix[index] + unit;\n const _unitDisplay = unitDisplay || \"short\";\n const v = parseFloat((bytes / Math.pow(1e3, index)).toPrecision(3));\n return formatNumber(v, locale, {\n style: \"unit\",\n unit: _unit,\n unitDisplay: _unitDisplay\n });\n};\n\n// src/format-date.ts\nvar symbols = \"\\\\s|\\\\.|-|/|\\\\\\\\|,|\\\\$|\\\\!|\\\\?|:|;\";\nfunction createRegEx(sign) {\n return new RegExp(\"(^|>|\" + symbols + \")(\" + sign + \")($|<|\" + symbols + \")\", \"g\");\n}\nvar FORMATS = [\n \"G\",\n \"GG\",\n \"GGG\",\n \"GGGG\",\n \"GGGGG\",\n \"y\",\n \"yo\",\n \"yy\",\n \"yyy\",\n \"yyyy\",\n \"Y\",\n \"Yo\",\n \"YY\",\n \"YYY\",\n \"YYYY\",\n \"Q\",\n \"Qo\",\n \"QQ\",\n \"QQQ\",\n \"QQQQ\",\n \"QQQQQ\",\n \"M\",\n \"Mo\",\n \"MM\",\n \"MMM\",\n \"MMMM\",\n \"MMMMM\",\n \"E\",\n \"EE\",\n \"EEE\",\n \"EEEE\",\n \"EEEEE\",\n \"EEEEEE\",\n \"a\",\n \"aa\",\n \"aaa\",\n \"aaaa\",\n \"aaaaa\",\n \"d\",\n \"do\",\n \"dd\",\n \"D\",\n \"Do\",\n \"DD\",\n \"DDD\",\n \"w\",\n \"wo\",\n \"ww\",\n \"s\",\n \"so\",\n \"ss\",\n \"m\",\n \"mo\",\n \"mm\",\n \"h\",\n \"ho\",\n \"hh\",\n \"H\",\n \"Ho\",\n \"HH\",\n \"z\",\n \"zz\",\n \"zzz\",\n \"zzzz\",\n \"T\"\n];\nfunction ordinal(num) {\n const n = typeof num === \"string\" ? parseFloat(num) : num;\n let suffix = \"th\";\n if (n % 10 === 1 && n % 100 !== 11) {\n suffix = \"st\";\n } else if (n % 10 === 2 && n % 100 !== 12) {\n suffix = \"nd\";\n } else if (n % 10 === 3 && n % 100 !== 13) {\n suffix = \"rd\";\n }\n return `${n}${suffix}`;\n}\nfunction pad(num, length) {\n return String(num).padStart(length, \"0\");\n}\nfunction zone(str) {\n return str.split(/AM|PM/)[1].trim();\n}\nfunction getFormat(date, options) {\n const { locale, format, timeZone } = options;\n switch (format) {\n // era\n case \"G\":\n case \"GG\":\n case \"GGG\":\n return date.toLocaleString(locale, { era: \"short\" });\n case \"GGGG\":\n return date.toLocaleString(locale, { era: \"long\" });\n case \"GGGGG\":\n return date.toLocaleString(locale, { era: \"narrow\" });\n // year\n case \"y\":\n case \"Y\":\n return date.getFullYear();\n case \"yo\":\n case \"Yo\":\n return ordinal(date.toLocaleString(locale, { year: \"numeric\" }));\n case \"yy\":\n case \"YY\":\n return date.toLocaleString(locale, { year: \"2-digit\" });\n case \"yyy\":\n case \"YYY\":\n return date.toLocaleString(locale, { year: \"numeric\" }).padStart(3, \"0\");\n case \"yyyy\":\n case \"YYYY\":\n return date.toLocaleString(locale, { year: \"numeric\" }).padStart(4, \"0\");\n // quarter\n case \"Q\":\n case \"QQQQQ\":\n return Math.ceil((date.getMonth() + 1) / 3);\n case \"Qo\":\n return ordinal(Math.ceil((date.getMonth() + 1) / 3));\n case \"QQ\":\n return pad(Math.ceil((date.getMonth() + 1) / 3), 2);\n case \"QQQ\":\n return `Q${Math.ceil((date.getMonth() + 1) / 3)}`;\n case \"QQQQ\": {\n const base = ordinal(String(Math.ceil((date.getMonth() + 1) / 3)));\n return `${base} quarter`;\n }\n // month\n case \"M\":\n return date.getMonth() + 1;\n case \"Mo\":\n return ordinal(date.getMonth() + 1);\n case \"MM\":\n return date.toLocaleString(locale, { month: \"2-digit\" });\n case \"MMM\":\n return date.toLocaleString(locale, { month: \"short\" });\n case \"MMMM\":\n return date.toLocaleString(locale, { month: \"long\" });\n case \"MMMMM\":\n return date.toLocaleString(locale, { month: \"narrow\" });\n // week\n case \"w\":\n return Math.ceil(date.getDate() / 7);\n case \"wo\":\n return ordinal(Math.ceil(date.getDate() / 7));\n case \"ww\":\n return pad(Math.ceil(date.getDate() / 7), 2);\n // day\n case \"d\":\n case \"D\":\n return date.getDate();\n case \"do\":\n case \"Do\":\n return ordinal(date.getDate());\n case \"dd\":\n case \"DD\":\n return date.toLocaleString(locale, { day: \"2-digit\" });\n case \"DDD\":\n return pad(date.getDate(), 3);\n // weekday\n case \"E\":\n case \"EE\":\n case \"EEE\":\n return date.toLocaleString(locale, { weekday: \"short\" });\n case \"EEEE\":\n return date.toLocaleString(locale, { weekday: \"long\" });\n case \"EEEEE\":\n return date.toLocaleString(locale, { weekday: \"narrow\" });\n case \"EEEEEE\":\n return date.toLocaleString(locale, { weekday: \"short\" }).slice(0, 2);\n // hour\n case \"h\":\n return date.toLocaleString(locale, { hour: \"numeric\", hour12: true });\n case \"ho\":\n return ordinal(date.toLocaleString(locale, { hour: \"2-digit\", hour12: true }));\n case \"hh\":\n return date.toLocaleString(locale, { hour: \"2-digit\", hour12: true });\n case \"H\":\n return date.toLocaleString(locale, { hour: \"numeric\", hour12: false });\n case \"Ho\":\n return ordinal(+date.toLocaleString(locale, { hour: \"numeric\", hour12: false }));\n case \"HH\":\n return date.toLocaleString(locale, { hour: \"2-digit\", hour12: false });\n // minute\n case \"m\":\n return date.toLocaleString(locale, { minute: \"numeric\" });\n case \"mo\":\n return ordinal(date.toLocaleString(locale, { minute: \"numeric\" }));\n case \"mm\":\n return date.toLocaleString(locale, { minute: \"2-digit\" });\n // second\n case \"s\":\n return date.toLocaleString(locale, { second: \"numeric\" });\n case \"so\":\n return ordinal(date.toLocaleString(locale, { second: \"numeric\" }));\n case \"ss\":\n return date.toLocaleString(locale, { second: \"2-digit\" });\n // timestamp\n case \"T\":\n return date.getTime();\n // day period\n case \"a\":\n case \"aa\":\n case \"aaa\":\n return date.toLocaleString(locale, { hour: \"numeric\", hour12: true }).toLocaleUpperCase();\n case \"aaaa\":\n return date.toLocaleString(locale, { hour: \"numeric\", hour12: true }).toLocaleLowerCase();\n case \"aaaaa\":\n return date.toLocaleString(locale, { hour: \"numeric\", hour12: true }).charAt(0);\n // TODO:Revise this\n case \"z\":\n case \"zz\":\n case \"zzz\": {\n return zone(date.toLocaleString(locale, { timeZone, timeZoneName: \"shortOffset\" }));\n }\n case \"zzzz\":\n return zone(date.toLocaleString(locale, { timeZone, timeZoneName: \"longOffset\" }));\n default:\n throw new Error(`Unknown format: ${format}`);\n }\n}\nfunction formatDate(date, format, locale, timeZone) {\n let result = format;\n for (const key of FORMATS) {\n const res = getFormat(date, { locale, format: key, timeZone });\n result = result.replace(createRegEx(key), \"$1\" + res + \"$3\");\n }\n return result;\n}\n\n// src/format-list.ts\nvar getListFormatter = i18nCache(Intl.ListFormat);\nfunction formatList(list, locale, options = {}) {\n const formatter = getListFormatter(locale, options);\n return formatter.format(list);\n}\n\n// src/format-relative-time.ts\nvar getRelativeTimeFormatter = i18nCache(Intl.RelativeTimeFormat);\nfunction formatRelativeTime(value, locale, options = {}) {\n const rtf = getRelativeTimeFormatter(locale, options);\n const now = /* @__PURE__ */ new Date();\n const diff = getDistance(now, value);\n if (diff.years > 0) return rtf.format(diff.years * diff.sign, \"year\");\n if (diff.months > 0) return rtf.format(diff.months * diff.sign, \"month\");\n if (diff.weeks > 0) return rtf.format(diff.weeks * diff.sign, \"week\");\n if (diff.days > 0) return rtf.format(diff.days * diff.sign, \"day\");\n if (diff.hours > 0) return rtf.format(diff.hours * diff.sign, \"hour\");\n if (diff.minutes > 0) return rtf.format(diff.minutes * diff.sign, \"minute\");\n return rtf.format(diff.seconds * diff.sign, \"second\");\n}\nvar SECOND_TO_MS = 1e3;\nvar MINUTE_TO_MS = 1e3 * 60;\nvar HOUR_TO_MS = 1e3 * 60 * 60;\nvar DAY_TO_MS = 1e3 * 60 * 60 * 24;\nvar WEEK_TO_MS = 1e3 * 60 * 60 * 24 * 7;\nvar MONTH_TO_MS = 1e3 * 60 * 60 * 24 * 30;\nvar YEAR_TO_MS = 1e3 * 60 * 60 * 24 * 365;\nfunction getDistance(startDate, endDate) {\n const endTime = endDate.getTime();\n const startTime = startDate.getTime();\n const distance = Math.abs(endTime - startTime);\n return {\n sign: Math.sign(endTime - startTime),\n days: Math.floor(distance / DAY_TO_MS),\n hours: Math.floor(distance % DAY_TO_MS / HOUR_TO_MS),\n minutes: Math.floor(distance % HOUR_TO_MS / MINUTE_TO_MS),\n seconds: Math.floor(distance % MINUTE_TO_MS / SECOND_TO_MS),\n weeks: Math.floor(distance / WEEK_TO_MS),\n months: Math.floor(distance / MONTH_TO_MS),\n years: Math.floor(distance / YEAR_TO_MS)\n };\n}\n\n// src/is-rtl.ts\nvar RTL_SCRIPTS = /* @__PURE__ */ new Set([\n \"Avst\",\n \"Arab\",\n \"Armi\",\n \"Syrc\",\n \"Samr\",\n \"Mand\",\n \"Thaa\",\n \"Mend\",\n \"Nkoo\",\n \"Adlm\",\n \"Rohg\",\n \"Hebr\"\n]);\nvar RTL_LANGS = /* @__PURE__ */ new Set([\n \"ae\",\n \"ar\",\n \"arc\",\n \"bcc\",\n \"bqi\",\n \"ckb\",\n \"dv\",\n \"fa\",\n \"glk\",\n \"he\",\n \"ku\",\n \"mzn\",\n \"nqo\",\n \"pnb\",\n \"ps\",\n \"sd\",\n \"ug\",\n \"ur\",\n \"yi\"\n]);\nfunction isRTL(locale) {\n if (Intl.Locale) {\n const script = new Intl.Locale(locale).maximize().script ?? \"\";\n return RTL_SCRIPTS.has(script);\n }\n const lang = locale.split(\"-\")[0];\n return RTL_LANGS.has(lang);\n}\nfunction getLocaleDir(locale) {\n return isRTL(locale) ? \"rtl\" : \"ltr\";\n}\n\n// src/locale.ts\nfunction getDefaultLocale() {\n let locale = typeof navigator !== \"undefined\" && (navigator.language || navigator.userLanguage) || \"en-US\";\n return {\n locale,\n dir: isRTL(locale) ? \"rtl\" : \"ltr\"\n };\n}\nfunction trackLocale(options = {}) {\n const { getRootNode, onLocaleChange } = options;\n onLocaleChange?.(getDefaultLocale());\n const handleLocaleChange = () => {\n onLocaleChange?.(getDefaultLocale());\n };\n const win = getRootNode ? getWindow(getRootNode()) : window;\n win.addEventListener(\"languagechange\", handleLocaleChange);\n return () => {\n win.removeEventListener(\"languagechange\", handleLocaleChange);\n };\n}\n\nexport { createCollator, createFilter, formatBytes, formatDate, formatList, formatNumber, formatRelativeTime, getDefaultLocale, getLocaleDir, isRTL, trackLocale };\n","import { createAnatomy } from '@zag-js/anatomy';\nimport { raf, addDomEvent, getWindow, contains, getEventTarget, dataAttr, visuallyHiddenStyle, isSelfTarget } from '@zag-js/dom-query';\nimport { getAcceptAttrString, isFileEqual, isValidFileType, isValidFileSize, getFileEntries } from '@zag-js/file-utils';\nimport { formatBytes } from '@zag-js/i18n-utils';\nimport { createProps } from '@zag-js/types';\nimport { warn, callAll, createSplitProps, flatArray } from '@zag-js/utils';\nimport { createMachine } from '@zag-js/core';\n\n// src/file-upload.anatomy.ts\nvar anatomy = createAnatomy(\"file-upload\").parts(\n \"root\",\n \"dropzone\",\n \"item\",\n \"itemDeleteTrigger\",\n \"itemGroup\",\n \"itemName\",\n \"itemPreview\",\n \"itemPreviewImage\",\n \"itemSizeText\",\n \"label\",\n \"trigger\",\n \"clearTrigger\"\n);\nvar parts = anatomy.build();\n\n// src/file-upload.dom.ts\nvar getRootId = (ctx) => ctx.ids?.root ?? `file:${ctx.id}`;\nvar getDropzoneId = (ctx) => ctx.ids?.dropzone ?? `file:${ctx.id}:dropzone`;\nvar getHiddenInputId = (ctx) => ctx.ids?.hiddenInput ?? `file:${ctx.id}:input`;\nvar getTriggerId = (ctx) => ctx.ids?.trigger ?? `file:${ctx.id}:trigger`;\nvar getLabelId = (ctx) => ctx.ids?.label ?? `file:${ctx.id}:label`;\nvar getItemId = (ctx, id) => ctx.ids?.item?.(id) ?? `file:${ctx.id}:item:${id}`;\nvar getItemNameId = (ctx, id) => ctx.ids?.itemName?.(id) ?? `file:${ctx.id}:item-name:${id}`;\nvar getItemSizeTextId = (ctx, id) => ctx.ids?.itemSizeText?.(id) ?? `file:${ctx.id}:item-size:${id}`;\nvar getItemPreviewId = (ctx, id) => ctx.ids?.itemPreview?.(id) ?? `file:${ctx.id}:item-preview:${id}`;\nvar getRootEl = (ctx) => ctx.getById(getRootId(ctx));\nvar getHiddenInputEl = (ctx) => ctx.getById(getHiddenInputId(ctx));\nvar getDropzoneEl = (ctx) => ctx.getById(getDropzoneId(ctx));\nfunction isEventWithFiles(event) {\n const target = getEventTarget(event);\n if (!event.dataTransfer) return !!target && \"files\" in target;\n return event.dataTransfer.types.some((type) => {\n return type === \"Files\" || type === \"application/x-moz-file\";\n });\n}\nfunction isFilesWithinRange(ctx, incomingCount, currentAcceptedFiles) {\n const { prop, computed } = ctx;\n if (!computed(\"multiple\") && incomingCount > 1) return false;\n if (!computed(\"multiple\") && incomingCount + currentAcceptedFiles.length === 2) return true;\n if (incomingCount + currentAcceptedFiles.length > prop(\"maxFiles\")) return false;\n return true;\n}\nfunction getEventFiles(ctx, files, currentAcceptedFiles = [], currentRejectedFiles = []) {\n const { prop, computed } = ctx;\n const acceptedFiles = [];\n const rejectedFiles = [];\n const validateParams = {\n acceptedFiles: currentAcceptedFiles,\n rejectedFiles: currentRejectedFiles\n };\n files.forEach((file) => {\n const [accepted, acceptError] = isValidFileType(file, computed(\"acceptAttr\"));\n const [sizeMatch, sizeError] = isValidFileSize(file, prop(\"minFileSize\"), prop(\"maxFileSize\"));\n const validateErrors = prop(\"validate\")?.(file, validateParams);\n const valid = validateErrors ? validateErrors.length === 0 : true;\n if (accepted && sizeMatch && valid) {\n acceptedFiles.push(file);\n } else {\n const errors = [acceptError, sizeError];\n if (!valid) errors.push(...validateErrors ?? []);\n rejectedFiles.push({ file, errors: errors.filter(Boolean) });\n }\n });\n if (!isFilesWithinRange(ctx, acceptedFiles.length, currentAcceptedFiles)) {\n acceptedFiles.forEach((file) => {\n rejectedFiles.push({ file, errors: [\"TOO_MANY_FILES\"] });\n });\n acceptedFiles.splice(0);\n }\n return {\n acceptedFiles,\n rejectedFiles\n };\n}\nfunction setInputFiles(inputEl, files) {\n const win = getWindow(inputEl);\n try {\n if (\"DataTransfer\" in win) {\n const dataTransfer = new win.DataTransfer();\n files.forEach((file) => {\n dataTransfer.items.add(file);\n });\n inputEl.files = dataTransfer.files;\n }\n } catch {\n }\n}\n\n// src/file-upload.connect.ts\nfunction connect(service, normalize) {\n const { state, send, prop, computed, scope, context } = service;\n const disabled = prop(\"disabled\");\n const allowDrop = prop(\"allowDrop\");\n const translations = prop(\"translations\");\n const dragging = state.matches(\"dragging\");\n const focused = state.matches(\"focused\") && !disabled;\n return {\n dragging,\n focused,\n disabled: !!disabled,\n transforming: context.get(\"transforming\"),\n openFilePicker() {\n if (disabled) return;\n send({ type: \"OPEN\" });\n },\n deleteFile(file) {\n send({ type: \"FILE.DELETE\", file });\n },\n acceptedFiles: context.get(\"acceptedFiles\"),\n rejectedFiles: context.get(\"rejectedFiles\"),\n setFiles(files) {\n send({ type: \"FILES.SET\", files, count: files.length });\n },\n clearRejectedFiles() {\n send({ type: \"REJECTED_FILES.CLEAR\" });\n },\n clearFiles() {\n send({ type: \"FILES.CLEAR\" });\n },\n getFileSize(file) {\n return formatBytes(file.size, prop(\"locale\"));\n },\n createFileUrl(file, cb) {\n const win = scope.getWin();\n const url = win.URL.createObjectURL(file);\n cb(url);\n return () => win.URL.revokeObjectURL(url);\n },\n setClipboardFiles(dt) {\n if (disabled) return false;\n const items = Array.from(dt?.items ?? []);\n const files = items.reduce((acc, item) => {\n if (item.kind !== \"file\") return acc;\n const file = item.getAsFile();\n if (!file) return acc;\n return [...acc, file];\n }, []);\n if (!files.length) return false;\n send({ type: \"FILES.SET\", files });\n return true;\n },\n getRootProps() {\n return normalize.element({\n ...parts.root.attrs,\n dir: prop(\"dir\"),\n id: getRootId(scope),\n \"data-disabled\": dataAttr(disabled),\n \"data-dragging\": dataAttr(dragging)\n });\n },\n getDropzoneProps(props2 = {}) {\n return normalize.element({\n ...parts.dropzone.attrs,\n dir: prop(\"dir\"),\n id: getDropzoneId(scope),\n tabIndex: disabled || props2.disableClick ? void 0 : 0,\n role: props2.disableClick ? \"application\" : \"button\",\n \"aria-label\": translations.dropzone,\n \"aria-disabled\": disabled,\n \"data-invalid\": dataAttr(prop(\"invalid\")),\n \"data-disabled\": dataAttr(disabled),\n \"data-dragging\": dataAttr(dragging),\n onKeyDown(event) {\n if (disabled) return;\n if (event.defaultPrevented) return;\n if (!isSelfTarget(event)) return;\n if (props2.disableClick) return;\n if (event.key !== \"Enter\" && event.key !== \" \") return;\n send({ type: \"DROPZONE.CLICK\", src: \"keydown\" });\n },\n onClick(event) {\n if (disabled) return;\n if (event.defaultPrevented) return;\n if (props2.disableClick) return;\n if (!isSelfTarget(event)) return;\n if (event.currentTarget.localName === \"label\") {\n event.preventDefault();\n }\n send({ type: \"DROPZONE.CLICK\" });\n },\n onDragOver(event) {\n if (disabled) return;\n if (!allowDrop) return;\n event.preventDefault();\n event.stopPropagation();\n try {\n event.dataTransfer.dropEffect = \"copy\";\n } catch {\n }\n const hasFiles = isEventWithFiles(event);\n if (!hasFiles) return;\n const count = event.dataTransfer.items.length;\n send({ type: \"DROPZONE.DRAG_OVER\", count });\n },\n onDragLeave(event) {\n if (disabled) return;\n if (!allowDrop) return;\n if (contains(event.currentTarget, event.relatedTarget)) return;\n send({ type: \"DROPZONE.DRAG_LEAVE\" });\n },\n onDrop(event) {\n if (disabled) return;\n if (allowDrop) {\n event.preventDefault();\n event.stopPropagation();\n }\n const hasFiles = isEventWithFiles(event);\n if (disabled || !hasFiles) return;\n getFileEntries(event.dataTransfer.items, prop(\"directory\")).then((files) => {\n send({ type: \"DROPZONE.DROP\", files: flatArray(files) });\n });\n },\n onFocus() {\n if (disabled) return;\n send({ type: \"DROPZONE.FOCUS\" });\n },\n onBlur() {\n if (disabled) return;\n send({ type: \"DROPZONE.BLUR\" });\n }\n });\n },\n getTriggerProps() {\n return normalize.button({\n ...parts.trigger.attrs,\n dir: prop(\"dir\"),\n id: getTriggerId(scope),\n disabled,\n \"data-disabled\": dataAttr(disabled),\n \"data-invalid\": dataAttr(prop(\"invalid\")),\n type: \"button\",\n onClick(event) {\n if (disabled) return;\n if (contains(getDropzoneEl(scope), event.currentTarget)) {\n event.stopPropagation();\n }\n send({ type: \"OPEN\" });\n }\n });\n },\n getHiddenInputProps() {\n return normalize.input({\n id: getHiddenInputId(scope),\n tabIndex: -1,\n disabled,\n type: \"file\",\n required: prop(\"required\"),\n capture: prop(\"capture\"),\n name: prop(\"name\"),\n accept: computed(\"acceptAttr\"),\n webkitdirectory: prop(\"directory\") ? \"\" : void 0,\n multiple: computed(\"multiple\") || prop(\"maxFiles\") > 1,\n onClick(event) {\n event.stopPropagation();\n event.currentTarget.value = \"\";\n },\n onInput(event) {\n if (disabled) return;\n const { files } = event.currentTarget;\n send({ type: \"FILE.SELECT\", files: files ? Array.from(files) : [] });\n },\n style: visuallyHiddenStyle\n });\n },\n getItemGroupProps() {\n return normalize.element({\n ...parts.itemGroup.attrs,\n dir: prop(\"dir\"),\n \"data-disabled\": dataAttr(disabled)\n });\n },\n getItemProps(props2) {\n const { file } = props2;\n return normalize.element({\n ...parts.item.attrs,\n dir: prop(\"dir\"),\n id: getItemId(scope, file.name),\n \"data-disabled\": dataAttr(disabled)\n });\n },\n getItemNameProps(props2) {\n const { file } = props2;\n return normalize.element({\n ...parts.itemName.attrs,\n dir: prop(\"dir\"),\n id: getItemNameId(scope, file.name),\n \"data-disabled\": dataAttr(disabled)\n });\n },\n getItemSizeTextProps(props2) {\n const { file } = props2;\n return normalize.element({\n ...parts.itemSizeText.attrs,\n dir: prop(\"dir\"),\n id: getItemSizeTextId(scope, file.name),\n \"data-disabled\": dataAttr(disabled)\n });\n },\n getItemPreviewProps(props2) {\n const { file } = props2;\n return normalize.element({\n ...parts.itemPreview.attrs,\n dir: prop(\"dir\"),\n id: getItemPreviewId(scope, file.name),\n \"data-disabled\": dataAttr(disabled)\n });\n },\n getItemPreviewImageProps(props2) {\n const { file, url } = props2;\n const isImage = file.type.startsWith(\"image/\");\n if (!isImage) {\n throw new Error(\"Preview Image is only supported for image files\");\n }\n return normalize.img({\n ...parts.itemPreviewImage.attrs,\n alt: translations.itemPreview?.(file),\n src: url,\n \"data-disabled\": dataAttr(disabled)\n });\n },\n getItemDeleteTriggerProps(props2) {\n const { file } = props2;\n return normalize.button({\n ...parts.itemDeleteTrigger.attrs,\n dir: prop(\"dir\"),\n type: \"button\",\n disabled,\n \"data-disabled\": dataAttr(disabled),\n \"aria-label\": translations.deleteFile?.(file),\n onClick() {\n if (disabled) return;\n send({ type: \"FILE.DELETE\", file });\n }\n });\n },\n getLabelProps() {\n return normalize.label({\n ...parts.label.attrs,\n dir: prop(\"dir\"),\n id: getLabelId(scope),\n htmlFor: getHiddenInputId(scope),\n \"data-disabled\": dataAttr(disabled)\n });\n },\n getClearTriggerProps() {\n return normalize.button({\n ...parts.clearTrigger.attrs,\n dir: prop(\"dir\"),\n type: \"button\",\n disabled,\n hidden: context.get(\"acceptedFiles\").length === 0,\n \"data-disabled\": dataAttr(disabled),\n onClick(event) {\n if (event.defaultPrevented) return;\n if (disabled) return;\n send({ type: \"FILES.CLEAR\" });\n }\n });\n }\n };\n}\nvar machine = createMachine({\n props({ props: props2 }) {\n return {\n minFileSize: 0,\n maxFileSize: Number.POSITIVE_INFINITY,\n maxFiles: 1,\n allowDrop: true,\n preventDocumentDrop: true,\n defaultAcceptedFiles: [],\n ...props2,\n translations: {\n dropzone: \"dropzone\",\n itemPreview: (file) => `preview of ${file.name}`,\n deleteFile: (file) => `delete file ${file.name}`,\n ...props2.translations\n }\n };\n },\n initialState() {\n return \"idle\";\n },\n context({ prop, bindable, getContext }) {\n return {\n acceptedFiles: bindable(() => ({\n defaultValue: prop(\"defaultAcceptedFiles\"),\n value: prop(\"acceptedFiles\"),\n isEqual: (a, b) => a.length === b?.length && a.every((file, i) => isFileEqual(file, b[i])),\n hash(value) {\n return value.map((file) => `${file.name}-${file.size}`).join(\",\");\n },\n onChange(value) {\n const ctx = getContext();\n prop(\"onFileAccept\")?.({ files: value });\n prop(\"onFileChange\")?.({ acceptedFiles: value, rejectedFiles: ctx.get(\"rejectedFiles\") });\n }\n })),\n rejectedFiles: bindable(() => ({\n defaultValue: [],\n isEqual: (a, b) => a.length === b?.length && a.every((file, i) => isFileEqual(file.file, b[i].file)),\n onChange(value) {\n const ctx = getContext();\n prop(\"onFileReject\")?.({ files: value });\n prop(\"onFileChange\")?.({ acceptedFiles: ctx.get(\"acceptedFiles\"), rejectedFiles: value });\n }\n })),\n transforming: bindable(() => ({\n defaultValue: false\n }))\n };\n },\n computed: {\n acceptAttr: ({ prop }) => getAcceptAttrString(prop(\"accept\")),\n multiple: ({ prop }) => prop(\"maxFiles\") > 1\n },\n watch({ track, context, action }) {\n track([() => context.hash(\"acceptedFiles\")], () => {\n action([\"syncInputElement\"]);\n });\n },\n on: {\n \"FILES.SET\": {\n actions: [\"setFiles\"]\n },\n \"FILE.SELECT\": {\n actions: [\"setEventFiles\"]\n },\n \"FILE.DELETE\": {\n actions: [\"removeFile\"]\n },\n \"FILES.CLEAR\": {\n actions: [\"clearFiles\"]\n },\n \"REJECTED_FILES.CLEAR\": {\n actions: [\"clearRejectedFiles\"]\n }\n },\n effects: [\"preventDocumentDrop\"],\n states: {\n idle: {\n on: {\n OPEN: {\n actions: [\"openFilePicker\"]\n },\n \"DROPZONE.CLICK\": {\n actions: [\"openFilePicker\"]\n },\n \"DROPZONE.FOCUS\": {\n target: \"focused\"\n },\n \"DROPZONE.DRAG_OVER\": {\n target: \"dragging\"\n }\n }\n },\n focused: {\n on: {\n \"DROPZONE.BLUR\": {\n target: \"idle\"\n },\n OPEN: {\n actions: [\"openFilePicker\"]\n },\n \"DROPZONE.CLICK\": {\n actions: [\"openFilePicker\"]\n },\n \"DROPZONE.DRAG_OVER\": {\n target: \"dragging\"\n }\n }\n },\n dragging: {\n on: {\n \"DROPZONE.DROP\": {\n target: \"idle\",\n actions: [\"setEventFiles\"]\n },\n \"DROPZONE.DRAG_LEAVE\": {\n target: \"idle\"\n }\n }\n }\n },\n implementations: {\n effects: {\n preventDocumentDrop({ prop, scope }) {\n if (!prop(\"preventDocumentDrop\")) return;\n if (!prop(\"allowDrop\")) return;\n if (prop(\"disabled\")) return;\n const doc = scope.getDoc();\n const onDragOver = (event) => {\n event?.preventDefault();\n };\n const onDrop = (event) => {\n if (contains(getRootEl(scope), getEventTarget(event))) return;\n event.preventDefault();\n };\n return callAll(addDomEvent(doc, \"dragover\", onDragOver, false), addDomEvent(doc, \"drop\", onDrop, false));\n }\n },\n actions: {\n syncInputElement({ scope, context }) {\n queueMicrotask(() => {\n const inputEl = getHiddenInputEl(scope);\n if (!inputEl) return;\n setInputFiles(inputEl, context.get(\"acceptedFiles\"));\n const win = scope.getWin();\n inputEl.dispatchEvent(new win.Event(\"change\", { bubbles: true }));\n });\n },\n openFilePicker({ scope }) {\n raf(() => {\n getHiddenInputEl(scope)?.click();\n });\n },\n setFiles(params) {\n const { computed, context, event } = params;\n const { acceptedFiles, rejectedFiles } = getEventFiles(params, event.files);\n context.set(\n \"acceptedFiles\",\n computed(\"multiple\") ? acceptedFiles : acceptedFiles.length > 0 ? [acceptedFiles[0]] : []\n );\n context.set(\"rejectedFiles\", rejectedFiles);\n },\n setEventFiles(params) {\n const { computed, context, event, prop } = params;\n const currentAcceptedFiles = context.get(\"acceptedFiles\");\n const currentRejectedFiles = context.get(\"rejectedFiles\");\n const { acceptedFiles, rejectedFiles } = getEventFiles(\n params,\n event.files,\n currentAcceptedFiles,\n currentRejectedFiles\n );\n const set = (files) => {\n if (computed(\"multiple\")) {\n context.set(\"acceptedFiles\", (prev) => [...prev, ...files]);\n context.set(\"rejectedFiles\", rejectedFiles);\n return;\n }\n if (files.length) {\n context.set(\"acceptedFiles\", [files[0]]);\n context.set(\"rejectedFiles\", rejectedFiles);\n return;\n }\n if (rejectedFiles.length) {\n context.set(\"acceptedFiles\", context.get(\"acceptedFiles\"));\n context.set(\"rejectedFiles\", rejectedFiles);\n }\n };\n const transform = prop(\"transformFiles\");\n if (transform) {\n context.set(\"transforming\", true);\n transform(acceptedFiles).then(set).catch((err) => {\n warn(`[zag-js/file-upload] error transforming files\n${err}`);\n }).finally(() => {\n context.set(\"transforming\", false);\n });\n } else {\n set(acceptedFiles);\n }\n },\n removeFile({ context, event }) {\n const files = context.get(\"acceptedFiles\").filter((file) => !isFileEqual(file, event.file));\n const rejectedFiles = context.get(\"rejectedFiles\").filter((item) => !isFileEqual(item.file, event.file));\n context.set(\"acceptedFiles\", files);\n context.set(\"rejectedFiles\", rejectedFiles);\n },\n clearRejectedFiles({ context }) {\n context.set(\"rejectedFiles\", []);\n },\n clearFiles({ context }) {\n context.set(\"acceptedFiles\", []);\n context.set(\"rejectedFiles\", []);\n }\n }\n }\n});\nvar props = createProps()([\n \"accept\",\n \"acceptedFiles\",\n \"allowDrop\",\n \"capture\",\n \"defaultAcceptedFiles\",\n \"dir\",\n \"directory\",\n \"disabled\",\n \"getRootNode\",\n \"id\",\n \"ids\",\n \"invalid\",\n \"locale\",\n \"maxFiles\",\n \"maxFileSize\",\n \"minFileSize\",\n \"name\",\n \"onFileAccept\",\n \"onFileChange\",\n \"onFileReject\",\n \"preventDocumentDrop\",\n \"required\",\n \"transformFiles\",\n \"translations\",\n \"validate\"\n]);\nvar splitProps = createSplitProps(props);\nvar itemProps = createProps()([\"file\"]);\nvar splitItemProps = createSplitProps(itemProps);\n\nexport { anatomy, connect, itemProps, machine, props, splitItemProps, splitProps };\n","/*\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 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 // see https://tc39.es/ecma402/#sec-setnfdigitoptions, when using roundingIncrement, the maximumFractionDigits and minimumFractionDigits must be equal\n // by default, they are 0 and 3 respectively, so we set them to 0 if neither are set\n if (options.roundingIncrement !== 1 && options.roundingIncrement != null) {\n if (options.maximumFractionDigits == null && options.minimumFractionDigits == null) {\n options.maximumFractionDigits = 0;\n options.minimumFractionDigits = 0;\n } else if (options.maximumFractionDigits == null) options.maximumFractionDigits = options.minimumFractionDigits;\n else if (options.minimumFractionDigits == null) options.minimumFractionDigits = options.maximumFractionDigits;\n // if both are specified, let the normal Range Error be thrown\n }\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, isLeftClick, getEventPoint, getWindow, 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) return;\n if (!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 if (!isLeftClick(event)) 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(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, formatter: computed(\"formatter\") }) ?? \"\";\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 orientation: \"horizontal\",\n ...props2,\n max,\n min,\n defaultValue: props2.defaultValue !== void 0 ? props2.defaultValue : midValue(min, max),\n formatOptions: {\n style: \"percent\",\n ...props2.formatOptions\n },\n translations: {\n value: ({ value, percent, formatter }) => {\n if (value === null) return \"loading...\";\n if (formatter) {\n const formatOptions = formatter.resolvedOptions();\n const num = formatOptions.style === \"percent\" ? percent / 100 : value;\n return formatter.format(num);\n }\n return value.toString();\n },\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, isValueWithinRange, first, last, toPx, getValueTransformer } from '@zag-js/utils';\nimport { createMachine } from '@zag-js/core';\nimport { createProps } from '@zag-js/types';\n\n// src/slider.anatomy.ts\nvar anatomy = createAnatomy(\"slider\").parts(\n \"root\",\n \"label\",\n \"thumb\",\n \"valueText\",\n \"track\",\n \"range\",\n \"control\",\n \"markerGroup\",\n \"marker\",\n \"draggingIndicator\"\n);\nvar parts = anatomy.build();\nvar getRootId = (ctx) => ctx.ids?.root ?? `slider:${ctx.id}`;\nvar getThumbId = (ctx, index) => ctx.ids?.thumb?.(index) ?? `slider:${ctx.id}:thumb:${index}`;\nvar getHiddenInputId = (ctx, index) => ctx.ids?.hiddenInput?.(index) ?? `slider:${ctx.id}:input:${index}`;\nvar getControlId = (ctx) => ctx.ids?.control ?? `slider:${ctx.id}:control`;\nvar getTrackId = (ctx) => ctx.ids?.track ?? `slider:${ctx.id}:track`;\nvar getRangeId = (ctx) => ctx.ids?.range ?? `slider:${ctx.id}:range`;\nvar getLabelId = (ctx) => ctx.ids?.label ?? `slider:${ctx.id}:label`;\nvar getValueTextId = (ctx) => ctx.ids?.valueText ?? `slider:${ctx.id}:value-text`;\nvar getMarkerId = (ctx, value) => ctx.ids?.marker?.(value) ?? `slider:${ctx.id}:marker:${value}`;\nvar getRootEl = (ctx) => ctx.getById(getRootId(ctx));\nvar getThumbEl = (ctx, index) => ctx.getById(getThumbId(ctx, index));\nvar getThumbEls = (ctx) => queryAll(getControlEl(ctx), \"[role=slider]\");\nvar getFirstThumbEl = (ctx) => getThumbEls(ctx)[0];\nvar getHiddenInputEl = (ctx, index) => ctx.getById(getHiddenInputId(ctx, index));\nvar getControlEl = (ctx) => ctx.getById(getControlId(ctx));\nvar getPointValue = (params, point) => {\n const { prop, scope } = params;\n const controlEl = getControlEl(scope);\n if (!controlEl) return;\n const relativePoint = getRelativePoint(point, controlEl);\n const percent = relativePoint.getPercentValue({\n orientation: prop(\"orientation\"),\n dir: prop(\"dir\"),\n inverted: { y: true }\n });\n return getPercentValue(percent, prop(\"min\"), prop(\"max\"), prop(\"step\"));\n};\nvar dispatchChangeEvent = (ctx, value) => {\n value.forEach((value2, index) => {\n const inputEl = getHiddenInputEl(ctx, index);\n if (!inputEl) return;\n dispatchInputValueEvent(inputEl, { value: value2 });\n });\n};\nvar getOffsetRect = (el) => ({\n left: el?.offsetLeft ?? 0,\n top: el?.offsetTop ?? 0,\n width: el?.offsetWidth ?? 0,\n height: el?.offsetHeight ?? 0\n});\nfunction getBounds(value) {\n const firstValue = value[0];\n const lastThumb = value[value.length - 1];\n return [firstValue, lastThumb];\n}\nfunction getRangeOffsets(params) {\n const { prop, computed } = params;\n const valuePercent = computed(\"valuePercent\");\n const [firstPercent, lastPercent] = getBounds(valuePercent);\n if (valuePercent.length === 1) {\n if (prop(\"origin\") === \"center\") {\n const isNegative = valuePercent[0] < 50;\n const start = isNegative ? `${valuePercent[0]}%` : \"50%\";\n const end = isNegative ? \"50%\" : `${100 - valuePercent[0]}%`;\n return { start, end };\n }\n if (prop(\"origin\") === \"end\") {\n return { start: `${lastPercent}%`, end: \"0%\" };\n }\n return { start: \"0%\", end: `${100 - lastPercent}%` };\n }\n return { start: `${firstPercent}%`, end: `${100 - lastPercent}%` };\n}\nfunction getRangeStyle(params) {\n const { computed } = params;\n const isVertical = computed(\"isVertical\");\n const isRtl = computed(\"isRtl\");\n if (isVertical) {\n return {\n position: \"absolute\",\n bottom: \"var(--slider-range-start)\",\n top: \"var(--slider-range-end)\"\n };\n }\n return {\n position: \"absolute\",\n [isRtl ? \"right\" : \"left\"]: \"var(--slider-range-start)\",\n [isRtl ? \"left\" : \"right\"]: \"var(--slider-range-end)\"\n };\n}\nfunction getVerticalThumbOffset(params, value) {\n const { context, prop } = params;\n const { height = 0 } = context.get(\"thumbSize\") ?? {};\n const getValue = getValueTransformer([prop(\"min\"), prop(\"max\")], [-height / 2, height / 2]);\n return parseFloat(getValue(value).toFixed(2));\n}\nfunction getHorizontalThumbOffset(params, value) {\n const { computed, context, prop } = params;\n const { width = 0 } = context.get(\"thumbSize\") ?? {};\n const isRtl = computed(\"isRtl\");\n if (isRtl) {\n const getValue2 = getValueTransformer([prop(\"max\"), prop(\"min\")], [-width / 2, width / 2]);\n return -1 * parseFloat(getValue2(value).toFixed(2));\n }\n const getValue = getValueTransformer([prop(\"min\"), prop(\"max\")], [-width / 2, width / 2]);\n return parseFloat(getValue(value).toFixed(2));\n}\nfunction getOffset(params, percent, value) {\n const { computed, prop } = params;\n if (prop(\"thumbAlignment\") === \"center\") return `${percent}%`;\n const offset = computed(\"isVertical\") ? getVerticalThumbOffset(params, value) : getHorizontalThumbOffset(params, value);\n return `calc(${percent}% - ${offset}px)`;\n}\nfunction getThumbOffset(params, value) {\n const { prop } = params;\n const percent = getValuePercent(value, prop(\"min\"), prop(\"max\")) * 100;\n return getOffset(params, percent, value);\n}\nfunction getVisibility(params) {\n const { computed, prop } = params;\n let visibility = \"visible\";\n if (prop(\"thumbAlignment\") === \"contain\" && !computed(\"hasMeasuredThumbSize\")) {\n visibility = \"hidden\";\n }\n return visibility;\n}\nfunction getThumbStyle(params, index) {\n const { computed } = params;\n const placementProp = computed(\"isVertical\") ? \"bottom\" : \"insetInlineStart\";\n return {\n visibility: getVisibility(params),\n position: \"absolute\",\n transform: \"var(--slider-thumb-transform)\",\n [placementProp]: `var(--slider-thumb-offset-${index})`\n };\n}\nfunction getControlStyle() {\n return {\n touchAction: \"none\",\n userSelect: \"none\",\n WebkitUserSelect: \"none\",\n position: \"relative\"\n };\n}\nfunction getRootStyle(params) {\n const { context, computed } = params;\n const isVertical = computed(\"isVertical\");\n const isRtl = computed(\"isRtl\");\n const range = getRangeOffsets(params);\n const thumbSize = context.get(\"thumbSize\");\n const offsetStyles = context.get(\"value\").reduce((styles, value, index) => {\n const offset = getThumbOffset(params, value);\n return { ...styles, [`--slider-thumb-offset-${index}`]: offset };\n }, {});\n return {\n ...offsetStyles,\n \"--slider-thumb-width\": toPx(thumbSize?.width),\n \"--slider-thumb-height\": toPx(thumbSize?.height),\n \"--slider-thumb-transform\": isVertical ? \"translateY(50%)\" : isRtl ? \"translateX(50%)\" : \"translateX(-50%)\",\n \"--slider-range-start\": range.start,\n \"--slider-range-end\": range.end\n };\n}\nfunction getMarkerStyle(params, value) {\n const { computed } = params;\n const isHorizontal = computed(\"isHorizontal\");\n const isRtl = computed(\"isRtl\");\n return {\n visibility: getVisibility(params),\n position: \"absolute\",\n pointerEvents: \"none\",\n [isHorizontal ? \"insetInlineStart\" : \"bottom\"]: getThumbOffset(params, value),\n translate: \"var(--tx) var(--ty)\",\n \"--tx\": isHorizontal ? isRtl ? \"50%\" : \"-50%\" : \"0%\",\n \"--ty\": !isHorizontal ? \"50%\" : \"0%\"\n };\n}\nfunction getMarkerGroupStyle() {\n return {\n userSelect: \"none\",\n WebkitUserSelect: \"none\",\n pointerEvents: \"none\",\n position: \"relative\"\n };\n}\nfunction normalizeValues(params, nextValues) {\n return nextValues.map((value, index) => {\n return constrainValue(params, value, index);\n });\n}\nfunction getRangeAtIndex(params, index) {\n const { context, prop } = params;\n const step = prop(\"step\") * prop(\"minStepsBetweenThumbs\");\n return getValueRanges(context.get(\"value\"), prop(\"min\"), prop(\"max\"), step)[index];\n}\nfunction constrainValue(params, value, index) {\n const { prop } = params;\n const range = getRangeAtIndex(params, index);\n const snapValue = snapValueToStep(value, prop(\"min\"), prop(\"max\"), prop(\"step\"));\n return clampValue(snapValue, range.min, range.max);\n}\nfunction decrement(params, index, step) {\n const { context, prop } = params;\n const idx = index ?? context.get(\"focusedIndex\");\n const range = getRangeAtIndex(params, idx);\n const nextValues = getPreviousStepValue(idx, {\n ...range,\n step: step ?? prop(\"step\"),\n values: context.get(\"value\")\n });\n nextValues[idx] = clampValue(nextValues[idx], range.min, range.max);\n return nextValues;\n}\nfunction increment(params, index, step) {\n const { context, prop } = params;\n const idx = index ?? context.get(\"focusedIndex\");\n const range = getRangeAtIndex(params, idx);\n const nextValues = getNextStepValue(idx, {\n ...range,\n step: step ?? prop(\"step\"),\n values: context.get(\"value\")\n });\n nextValues[idx] = clampValue(nextValues[idx], range.min, range.max);\n return nextValues;\n}\nfunction getClosestIndex(params, pointValue) {\n const { context } = params;\n return getClosestValueIndex(context.get(\"value\"), pointValue);\n}\n\n// src/slider.connect.ts\nfunction connect(service, normalize2) {\n const { state, send, context, prop, computed, scope } = service;\n const ariaLabel = prop(\"aria-label\");\n const ariaLabelledBy = prop(\"aria-labelledby\");\n const sliderValue = context.get(\"value\");\n const focusedIndex = context.get(\"focusedIndex\");\n const focused = state.matches(\"focus\");\n const dragging = state.matches(\"dragging\");\n const disabled = computed(\"isDisabled\");\n const invalid = prop(\"invalid\");\n const interactive = computed(\"isInteractive\");\n const isHorizontal = prop(\"orientation\") === \"horizontal\";\n const isVertical = prop(\"orientation\") === \"vertical\";\n function getValuePercentFn(value) {\n return getValuePercent(value, prop(\"min\"), prop(\"max\"));\n }\n function getPercentValueFn(percent) {\n return getPercentValue(percent, prop(\"min\"), prop(\"max\"), prop(\"step\"));\n }\n return {\n value: sliderValue,\n dragging,\n focused,\n setValue(value) {\n send({ type: \"SET_VALUE\", value });\n },\n getThumbValue(index) {\n return sliderValue[index];\n },\n setThumbValue(index, value) {\n send({ type: \"SET_VALUE\", index, value });\n },\n getValuePercent: getValuePercentFn,\n getPercentValue: getPercentValueFn,\n getThumbPercent(index) {\n return getValuePercentFn(sliderValue[index]);\n },\n setThumbPercent(index, percent) {\n const value = getPercentValueFn(percent);\n send({ type: \"SET_VALUE\", index, value });\n },\n getThumbMin(index) {\n return getRangeAtIndex(service, index).min;\n },\n getThumbMax(index) {\n return getRangeAtIndex(service, index).max;\n },\n increment(index) {\n send({ type: \"INCREMENT\", index });\n },\n decrement(index) {\n send({ type: \"DECREMENT\", index });\n },\n focus() {\n if (!interactive) return;\n send({ type: \"FOCUS\", index: 0 });\n },\n getLabelProps() {\n return normalize2.label({\n ...parts.label.attrs,\n dir: prop(\"dir\"),\n \"data-disabled\": dataAttr(disabled),\n \"data-orientation\": prop(\"orientation\"),\n \"data-invalid\": dataAttr(invalid),\n \"data-dragging\": dataAttr(dragging),\n \"data-focus\": dataAttr(focused),\n id: getLabelId(scope),\n htmlFor: getHiddenInputId(scope, 0),\n onClick(event) {\n if (!interactive) return;\n event.preventDefault();\n getFirstThumbEl(scope)?.focus();\n },\n style: {\n userSelect: \"none\",\n WebkitUserSelect: \"none\"\n }\n });\n },\n getRootProps() {\n return normalize2.element({\n ...parts.root.attrs,\n \"data-disabled\": dataAttr(disabled),\n \"data-orientation\": prop(\"orientation\"),\n \"data-dragging\": dataAttr(dragging),\n \"data-invalid\": dataAttr(invalid),\n \"data-focus\": dataAttr(focused),\n id: getRootId(scope),\n dir: prop(\"dir\"),\n style: getRootStyle(service)\n });\n },\n getValueTextProps() {\n return normalize2.element({\n ...parts.valueText.attrs,\n dir: prop(\"dir\"),\n \"data-disabled\": dataAttr(disabled),\n \"data-orientation\": prop(\"orientation\"),\n \"data-invalid\": dataAttr(invalid),\n \"data-focus\": dataAttr(focused),\n id: getValueTextId(scope)\n });\n },\n getTrackProps() {\n return normalize2.element({\n ...parts.track.attrs,\n dir: prop(\"dir\"),\n id: getTrackId(scope),\n \"data-disabled\": dataAttr(disabled),\n \"data-invalid\": dataAttr(invalid),\n \"data-dragging\": dataAttr(dragging),\n \"data-orientation\": prop(\"orientation\"),\n \"data-focus\": dataAttr(focused),\n style: { position: \"relative\" }\n });\n },\n getThumbProps(props2) {\n const { index = 0, name } = props2;\n const value = sliderValue[index];\n const range = getRangeAtIndex(service, index);\n const valueText = prop(\"getAriaValueText\")?.({ value, index });\n const _ariaLabel = Array.isArray(ariaLabel) ? ariaLabel[index] : ariaLabel;\n const _ariaLabelledBy = Array.isArray(ariaLabelledBy) ? ariaLabelledBy[index] : ariaLabelledBy;\n return normalize2.element({\n ...parts.thumb.attrs,\n dir: prop(\"dir\"),\n \"data-index\": index,\n \"data-name\": name,\n id: getThumbId(scope, index),\n \"data-disabled\": dataAttr(disabled),\n \"data-orientation\": prop(\"orientation\"),\n \"data-focus\": dataAttr(focused && focusedIndex === index),\n \"data-dragging\": dataAttr(dragging && focusedIndex === index),\n draggable: false,\n \"aria-disabled\": ariaAttr(disabled),\n \"aria-label\": _ariaLabel,\n \"aria-labelledby\": _ariaLabelledBy ?? getLabelId(scope),\n \"aria-orientation\": prop(\"orientation\"),\n \"aria-valuemax\": range.max,\n \"aria-valuemin\": range.min,\n \"aria-valuenow\": sliderValue[index],\n \"aria-valuetext\": valueText,\n role: \"slider\",\n tabIndex: disabled ? void 0 : 0,\n style: getThumbStyle(service, index),\n onPointerDown(event) {\n if (!interactive) return;\n if (!isLeftClick(event)) return;\n send({ type: \"THUMB_POINTER_DOWN\", index });\n event.stopPropagation();\n },\n onBlur() {\n if (!interactive) return;\n send({ type: \"BLUR\" });\n },\n onFocus() {\n if (!interactive) return;\n send({ type: \"FOCUS\", index });\n },\n onKeyDown(event) {\n if (event.defaultPrevented) return;\n if (!interactive) return;\n const step = getEventStep(event) * prop(\"step\");\n const keyMap = {\n ArrowUp() {\n if (isHorizontal) return;\n send({ type: \"ARROW_INC\", step, src: \"ArrowUp\" });\n },\n ArrowDown() {\n if (isHorizontal) return;\n send({ type: \"ARROW_DEC\", step, src: \"ArrowDown\" });\n },\n ArrowLeft() {\n if (isVertical) return;\n send({ type: \"ARROW_DEC\", step, src: \"ArrowLeft\" });\n },\n ArrowRight() {\n if (isVertical) return;\n send({ type: \"ARROW_INC\", step, src: \"ArrowRight\" });\n },\n PageUp() {\n send({ type: \"ARROW_INC\", step, src: \"PageUp\" });\n },\n PageDown() {\n send({ type: \"ARROW_DEC\", step, src: \"PageDown\" });\n },\n Home() {\n send({ type: \"HOME\" });\n },\n End() {\n send({ type: \"END\" });\n }\n };\n const key = getEventKey(event, {\n dir: prop(\"dir\"),\n orientation: prop(\"orientation\")\n });\n const exec = keyMap[key];\n if (exec) {\n exec(event);\n event.preventDefault();\n event.stopPropagation();\n }\n }\n });\n },\n getHiddenInputProps(props2) {\n const { index = 0, name } = props2;\n return normalize2.input({\n name: name ?? (prop(\"name\") ? prop(\"name\") + (sliderValue.length > 1 ? \"[]\" : \"\") : void 0),\n form: prop(\"form\"),\n type: \"text\",\n hidden: true,\n defaultValue: sliderValue[index],\n id: getHiddenInputId(scope, index)\n });\n },\n getRangeProps() {\n return normalize2.element({\n id: getRangeId(scope),\n ...parts.range.attrs,\n dir: prop(\"dir\"),\n \"data-dragging\": dataAttr(dragging),\n \"data-focus\": dataAttr(focused),\n \"data-invalid\": dataAttr(invalid),\n \"data-disabled\": dataAttr(disabled),\n \"data-orientation\": prop(\"orientation\"),\n style: getRangeStyle(service)\n });\n },\n getControlProps() {\n return normalize2.element({\n ...parts.control.attrs,\n dir: prop(\"dir\"),\n id: getControlId(scope),\n \"data-dragging\": dataAttr(dragging),\n \"data-disabled\": dataAttr(disabled),\n \"data-orientation\": prop(\"orientation\"),\n \"data-invalid\": dataAttr(invalid),\n \"data-focus\": dataAttr(focused),\n style: getControlStyle(),\n onPointerDown(event) {\n if (!interactive) return;\n if (!isLeftClick(event)) return;\n if (isModifierKey(event)) return;\n const point = getEventPoint(event);\n send({ type: \"POINTER_DOWN\", point });\n event.preventDefault();\n event.stopPropagation();\n }\n });\n },\n getMarkerGroupProps() {\n return normalize2.element({\n ...parts.markerGroup.attrs,\n role: \"presentation\",\n dir: prop(\"dir\"),\n \"aria-hidden\": true,\n \"data-orientation\": prop(\"orientation\"),\n style: getMarkerGroupStyle()\n });\n },\n getMarkerProps(props2) {\n const style = getMarkerStyle(service, props2.value);\n let markerState;\n if (props2.value < first(sliderValue)) {\n markerState = \"under-value\";\n } else if (props2.value > last(sliderValue)) {\n markerState = \"over-value\";\n } else {\n markerState = \"at-value\";\n }\n return normalize2.element({\n ...parts.marker.attrs,\n id: getMarkerId(scope, props2.value),\n role: \"presentation\",\n dir: prop(\"dir\"),\n \"data-orientation\": prop(\"orientation\"),\n \"data-value\": props2.value,\n \"data-disabled\": dataAttr(disabled),\n \"data-state\": markerState,\n style\n });\n },\n getDraggingIndicatorProps(props2) {\n const { index = 0 } = props2;\n const isDragging = index === focusedIndex && dragging;\n return normalize2.element({\n ...parts.draggingIndicator.attrs,\n role: \"presentation\",\n dir: prop(\"dir\"),\n hidden: !isDragging,\n \"data-orientation\": prop(\"orientation\"),\n \"data-state\": isDragging ? \"open\" : \"closed\",\n style: getThumbStyle(service, index)\n });\n }\n };\n}\nvar isEqualSize = (a, b) => {\n return a?.width === b?.width && a?.height === b?.height;\n};\nvar normalize = (value, min, max, step, minStepsBetweenThumbs) => {\n const ranges = getValueRanges(value, min, max, minStepsBetweenThumbs * step);\n return ranges.map((range) => {\n const snapValue = snapValueToStep(range.value, range.min, range.max, step);\n const rangeValue = clampValue(snapValue, range.min, range.max);\n if (!isValueWithinRange(rangeValue, min, max)) {\n throw new Error(\n \"[zag-js/slider] The configured `min`, `max`, `step` or `minStepsBetweenThumbs` values are invalid\"\n );\n }\n return rangeValue;\n });\n};\nvar machine = createMachine({\n props({ props: props2 }) {\n const min = props2.min ?? 0;\n const max = props2.max ?? 100;\n const step = props2.step ?? 1;\n const defaultValue = props2.defaultValue ?? [min];\n const minStepsBetweenThumbs = props2.minStepsBetweenThumbs ?? 0;\n return {\n dir: \"ltr\",\n thumbAlignment: \"contain\",\n origin: \"start\",\n orientation: \"horizontal\",\n minStepsBetweenThumbs,\n ...props2,\n defaultValue: normalize(defaultValue, min, max, step, minStepsBetweenThumbs),\n value: props2.value ? normalize(props2.value, min, max, step, minStepsBetweenThumbs) : void 0,\n max,\n step,\n min\n };\n },\n initialState() {\n return \"idle\";\n },\n context({ prop, bindable, getContext }) {\n return {\n thumbSize: bindable(() => ({\n defaultValue: prop(\"thumbSize\") || null\n })),\n value: bindable(() => ({\n defaultValue: prop(\"defaultValue\"),\n value: prop(\"value\"),\n isEqual,\n hash(a) {\n return a.join(\",\");\n },\n onChange(value) {\n prop(\"onValueChange\")?.({ value });\n }\n })),\n focusedIndex: bindable(() => ({\n defaultValue: -1,\n onChange(value) {\n const ctx = getContext();\n prop(\"onFocusChange\")?.({ focusedIndex: value, value: ctx.get(\"value\") });\n }\n })),\n fieldsetDisabled: bindable(() => ({\n defaultValue: false\n }))\n };\n },\n computed: {\n isHorizontal: ({ prop }) => prop(\"orientation\") === \"horizontal\",\n isVertical: ({ prop }) => prop(\"orientation\") === \"vertical\",\n isRtl: ({ prop }) => prop(\"orientation\") === \"horizontal\" && prop(\"dir\") === \"rtl\",\n isDisabled: ({ context, prop }) => !!prop(\"disabled\") || context.get(\"fieldsetDisabled\"),\n isInteractive: ({ prop, computed }) => !(prop(\"readOnly\") || computed(\"isDisabled\")),\n hasMeasuredThumbSize: ({ context }) => context.get(\"thumbSize\") != null,\n valuePercent({ context, prop }) {\n return context.get(\"value\").map((value) => 100 * getValuePercent(value, prop(\"min\"), prop(\"max\")));\n }\n },\n watch({ track, action, context }) {\n track([() => context.hash(\"value\")], () => {\n action([\"syncInputElements\", \"dispatchChangeEvent\"]);\n });\n },\n effects: [\"trackFormControlState\", \"trackThumbSize\"],\n on: {\n SET_VALUE: [\n {\n guard: \"hasIndex\",\n actions: [\"setValueAtIndex\"]\n },\n {\n actions: [\"setValue\"]\n }\n ],\n INCREMENT: {\n actions: [\"incrementThumbAtIndex\"]\n },\n DECREMENT: {\n actions: [\"decrementThumbAtIndex\"]\n }\n },\n states: {\n idle: {\n on: {\n POINTER_DOWN: {\n target: \"dragging\",\n actions: [\"setClosestThumbIndex\", \"setPointerValue\", \"focusActiveThumb\"]\n },\n FOCUS: {\n target: \"focus\",\n actions: [\"setFocusedIndex\"]\n },\n THUMB_POINTER_DOWN: {\n target: \"dragging\",\n actions: [\"setFocusedIndex\", \"focusActiveThumb\"]\n }\n }\n },\n focus: {\n entry: [\"focusActiveThumb\"],\n on: {\n POINTER_DOWN: {\n target: \"dragging\",\n actions: [\"setClosestThumbIndex\", \"setPointerValue\", \"focusActiveThumb\"]\n },\n THUMB_POINTER_DOWN: {\n target: \"dragging\",\n actions: [\"setFocusedIndex\", \"focusActiveThumb\"]\n },\n ARROW_DEC: {\n actions: [\"decrementThumbAtIndex\", \"invokeOnChangeEnd\"]\n },\n ARROW_INC: {\n actions: [\"incrementThumbAtIndex\", \"invokeOnChangeEnd\"]\n },\n HOME: {\n actions: [\"setFocusedThumbToMin\", \"invokeOnChangeEnd\"]\n },\n END: {\n actions: [\"setFocusedThumbToMax\", \"invokeOnChangeEnd\"]\n },\n BLUR: {\n target: \"idle\",\n actions: [\"clearFocusedIndex\"]\n }\n }\n },\n dragging: {\n entry: [\"focusActiveThumb\"],\n effects: [\"trackPointerMove\"],\n on: {\n POINTER_UP: {\n target: \"focus\",\n actions: [\"invokeOnChangeEnd\"]\n },\n POINTER_MOVE: {\n actions: [\"setPointerValue\"]\n }\n }\n }\n },\n implementations: {\n guards: {\n hasIndex: ({ event }) => event.index != null\n },\n effects: {\n trackFormControlState({ context, scope }) {\n return trackFormControl(getRootEl(scope), {\n onFieldsetDisabledChange(disabled) {\n context.set(\"fieldsetDisabled\", disabled);\n },\n onFormReset() {\n context.set(\"value\", context.initial(\"value\"));\n }\n });\n },\n trackPointerMove({ scope, send }) {\n return trackPointerMove(scope.getDoc(), {\n onPointerMove(info) {\n send({ type: \"POINTER_MOVE\", point: info.point });\n },\n onPointerUp() {\n send({ type: \"POINTER_UP\" });\n }\n });\n },\n trackThumbSize({ context, scope, prop }) {\n if (prop(\"thumbAlignment\") !== \"contain\" || prop(\"thumbSize\")) return;\n return trackElementRect(getThumbEls(scope), {\n box: \"border-box\",\n measure(el) {\n return getOffsetRect(el);\n },\n onEntry({ rects }) {\n if (rects.length === 0) return;\n const size = pick(rects[0], [\"width\", \"height\"]);\n if (isEqualSize(context.get(\"thumbSize\"), size)) return;\n context.set(\"thumbSize\", size);\n }\n });\n }\n },\n actions: {\n dispatchChangeEvent({ context, scope }) {\n dispatchChangeEvent(scope, context.get(\"value\"));\n },\n syncInputElements({ context, scope }) {\n context.get(\"value\").forEach((value, index) => {\n const inputEl = getHiddenInputEl(scope, index);\n setElementValue(inputEl, value.toString());\n });\n },\n invokeOnChangeEnd({ prop, context }) {\n queueMicrotask(() => {\n prop(\"onValueChangeEnd\")?.({ value: context.get(\"value\") });\n });\n },\n setClosestThumbIndex(params) {\n const { context, event } = params;\n const pointValue = getPointValue(params, event.point);\n if (pointValue == null) return;\n const focusedIndex = getClosestIndex(params, pointValue);\n context.set(\"focusedIndex\", focusedIndex);\n },\n setFocusedIndex({ context, event }) {\n context.set(\"focusedIndex\", event.index);\n },\n clearFocusedIndex({ context }) {\n context.set(\"focusedIndex\", -1);\n },\n setPointerValue(params) {\n queueMicrotask(() => {\n const { context, event } = params;\n const pointValue = getPointValue(params, event.point);\n if (pointValue == null) return;\n const focusedIndex = context.get(\"focusedIndex\");\n const value = constrainValue(params, pointValue, focusedIndex);\n context.set(\"value\", (prev) => setValueAtIndex(prev, focusedIndex, value));\n });\n },\n focusActiveThumb({ scope, context }) {\n raf(() => {\n const thumbEl = getThumbEl(scope, context.get(\"focusedIndex\"));\n thumbEl?.focus({ preventScroll: true });\n });\n },\n decrementThumbAtIndex(params) {\n const { context, event } = params;\n const value = decrement(params, event.index, event.step);\n context.set(\"value\", value);\n },\n incrementThumbAtIndex(params) {\n const { context, event } = params;\n const value = increment(params, event.index, event.step);\n context.set(\"value\", value);\n },\n setFocusedThumbToMin(params) {\n const { context } = params;\n const index = context.get(\"focusedIndex\");\n const { min } = getRangeAtIndex(params, index);\n context.set(\"value\", (prev) => setValueAtIndex(prev, index, min));\n },\n setFocusedThumbToMax(params) {\n const { context } = params;\n const index = context.get(\"focusedIndex\");\n const { max } = getRangeAtIndex(params, index);\n context.set(\"value\", (prev) => setValueAtIndex(prev, index, max));\n },\n setValueAtIndex(params) {\n const { context, event } = params;\n const value = constrainValue(params, event.value, event.index);\n context.set(\"value\", (prev) => setValueAtIndex(prev, event.index, value));\n },\n setValue(params) {\n const { context, event } = params;\n const value = normalizeValues(params, event.value);\n context.set(\"value\", value);\n }\n }\n }\n});\nvar props = createProps()([\n \"aria-label\",\n \"aria-labelledby\",\n \"dir\",\n \"disabled\",\n \"form\",\n \"getAriaValueText\",\n \"getRootNode\",\n \"id\",\n \"ids\",\n \"invalid\",\n \"max\",\n \"min\",\n \"minStepsBetweenThumbs\",\n \"name\",\n \"onFocusChange\",\n \"onValueChange\",\n \"onValueChangeEnd\",\n \"orientation\",\n \"origin\",\n \"readOnly\",\n \"step\",\n \"thumbAlignment\",\n \"thumbAlignment\",\n \"thumbSize\",\n \"value\",\n \"defaultValue\"\n]);\nvar splitProps = createSplitProps(props);\nvar thumbProps = createProps()([\"index\", \"name\"]);\nvar splitThumbProps = createSplitProps(thumbProps);\n\nexport { anatomy, connect, machine, props, splitProps, splitThumbProps, thumbProps };\n"],"names":["userGeneratedStr","userGenerated","cssPropertiesStr","allCssProperties","properties","prop","memo","fn","cache","arg","cssPropertySelectorRegex","isCssProperty","flatten","values","stop","result","walkObject","token","paths","fastSafeStringify","stringify","deterministicStringify","LIMIT_REPLACE_NODE","CIRCULAR_REPLACE_NODE","arr","replacerStack","defaultOptions","obj","replacer","spacer","options","decirc","res","replaceGetterValues","part","setReplace","replace","val","k","parent","propertyDescriptor","edgeIndex","stack","depth","i","keys","key","compareFunction","a","b","tmp","deterministicDecirc","v","get","args","BASE_FONT_SIZE","UNIT_PX","UNIT_EM","UNIT_REM","getUnit","value","DIGIT_REGEX","UNIT_REGEX","toPx","unit","toRem","capitalize","str","createBreakpoints","breakpoints","sorted","sort","name","only","build","getRanges","breakpoints2","permuations","getPermutations","results","down2","adjust","up2","_only","min","max","minValue","maxValue","toConditions","ranges","conditions","getCondition","up","down","computedMax","minA","minB","index","entries2","current","idx","next","mapEntries","createConditions","conds","has","aa","bb","expandAtRule","resolve","createMediaQueryRegex","dimension","widthRegex","heightRegex","createQueryTester","regexSet","_testQuery","isMinWidth","isMaxWidth","isMinHeight","isMaxHeight","isPrint","isPrintOnly","isLength","lengthExec","multipliers","getQueryLength","query","length","number","doubleTestTrue","doubleTestFalse","singleTest","_testIsPrint","isPrintA","isPrintOnlyA","isPrintB","isPrintOnlyB","sortAtParams","testIsPrint","maxA","maxB","lengthA","lengthB","sortQueries","queries","sortAtRules","mediaQueries","containerQueries","rest","isObject","sortedMediaQueries","sortedContainerQueries","importantRegex","isImportant","isString","withoutImportant","createCssFn","context","transform","normalize","mergeFn","mergeCss","styleArgs","styles","normalized","important","selectors","transformed","prop2","mergeByPath","target","acc","path","mergeWith","compactFn","style","compact","ctx","comp","defaults","conf","createRecipeFn","css","layers","cva","config","base","variants","defaultVariants","compoundVariants","getVariantCss","props","variantSelections","variantCss","compoundVariantCss","getCompoundVariantCss","variantKeys","splitVariantProps","restProps","omit","recipeProps","localProps","splitProps","variantMap","other","mergeCva","cvs","vm","cv","value2","opts","cvaA","cvaB","override","uniq","cx","defaultLayers","layerOrder","createLayers","names","layer","createNormalizeFn","utility","hasShorthand","resolveShorthand","createPreflight","preflight","scope","level","selector","scoped","preflightCss","modified","createSerializeFn","isValidProperty","parseSelectors","parenCount","currentSelector","inEscape","char","getSlotRecipes","init","slot","getSlotCompoundVariant","entries","variantsKey","variantsSpec","variantKey","variantSpec","slotRecipe","_a","slotName","compoundVariant","createSlotRecipeFn","slots","slotCva","svaFn","cvaFn","classNameMap","createProps","escRegex","esc","string","s","dashCaseRegex","dashCase","match","cssVar","fallback","prefix","variable","rcssescape","fcssescape","ch","asCodePoint","sel","expandTokenReferences","expanded","state","tokenPath","currentStates","endIndex","resolved","cssVarParser","parsed","resolvedFallback","lastChar","tokenIndex","innerTokenIndex","openedParenthesises","mapToJson","map","REFERENCE_REGEX","CURLY_REGEX","TOKEN_PATH_REGEX","getReferences","matches","hasReference","expandReferences","references","valueStr","referenceToken","resolveReference","operand","toExpression","operator","operands","add","subtract","multiply","divide","negate","x","calc","addNegativeTokens","dictionary","allTokens","formatCssVar","formatTokenName","registerToken","extensions","originalPath","originalVar","nextToken","lastPath","units","addPixelUnit","addVirtualPalette","tokens","colorPalettes","colorPalette","keyPath","colorPaletteRoot","colorPaletteList","segments","removeEmptyTokens","tokenMiddlewares","addCssVariables","negative","addConditionalCssVariables","refs","ref","addColorPalette","dict","newPath","roots","_","root","tokenTransforms","isToken","expandBreakpoints","mapObject","createTokenDictionary","semanticTokens","prefix2","tokenNameMap","conditionMap","cssVarMap","colorPaletteMap","flatMap","byCategory","categoryMap","transforms","middlewares","phase","transformToken","breakpointTokens","computedTokens","registerTokens","entry","isDefault","filterDefault","category","t","filterBaseCondition","getByName","buildConditionMap","condition","buildCategoryMap","buildCssVars","virtual","cssVar2","buildFlatMap","buildColorPalette","virtualPath","replaceRootWithColorPalette","virtualName","virtualToken","virtualVar","colorPaletteName","colorPaletteToken","name2","virtualToken2","computedName","byCategoryJson","setupViews","colorMix","tokenFn","colorPath","rawOpacity","colorToken","opacityToken","percent","color","getVar","getCategoryValues","expandReferenceInValue","mix","registerTransform","fns","registerMiddleware","isFunction","applyMiddlewares","enforce","middleware","applyTransforms","addConditionalTokens","tokens2","getConditionalTokens","token2","getTokenReferences","addReferences","expandTokenReferences$1","item","nextPath","startIndex","rootElement","rootIndex","rawColor","createColorMixTransform","normalizeConfig","property","propertyConfig","createUtility","configs","shorthands","propValues","register","assignProperty","getPropertyValues","assignPropertyType","assignProperties","assignShorthands","shorthand","assignColorPaletteProperty","propTypes","keys2","set","assignPropertyTypes","addPropertyType","type","getTypes","typeValues","resolveFn","defaultTransform","raw","_colorMix","EMPTY_OBJECT","createSystem","mergeConfigs","theme","utilities","globalCss","cssVarsRoot","cssVarsPrefix","assignComposition","textStyles","layerStyles","animationStyles","compositions","flatValues","normalizeValue","normalizeFn","serialize","sva","getTokenCss","varsObj","isAtRule","cssObject","getGlobalCss","keyframes","splitCssProps","getPreflightCss","tokenMap","getTokenMap","getRecipe","getSlotRecipe","isRecipe","isSlotRecipe","hasRecipe","_global","compositionQuery","semanticTokenQuery","basicQuery","categoryKeys","predicate","anatomy","createAnatomy","parts","getRootId","getContentId","getTriggerId","getContentEl","connect","service","send","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","hidden","rect","__defProp","__defNormalProp","__publicField","generateRGB_R","orientation","zValue","maskImage","generateRGB_G","generateRGB_B","generateHSL_H","generateHSL_S","alphaValue","generateHSL_L","generateHSB_H","generateHSB_S","generateHSB_B","getColorAreaGradient","xChannel","yChannel","dirProp","zChannel","zMin","zMax","background","isHSL","isEqualObject","Color","channel","valueToCheck","getValuePercent","percentToCheck","step","percentValue","getPercentValue","snapValueToStep","clone","clampValue","xyChannels","xCh","c","yCh","zCh","stepSize","HEX_COLOR_REGEX","RGB_COLOR_REGEX","HEX_STARTING_REGEX","_RGBColor","red","green","blue","alpha","colors","num","format","brightness","chroma","saturation","hue","HSBColor","toFixedNumber","lightness","HSLColor","locale","RGBColor","HSL_REGEX","_HSLColor","m","h","l","n","mod","HSB_REGEX","_HSBColor","nativeColors","makeMap","list","nativeColorMap","parseColor","error","normalizeColor","getLabelId","getHiddenInputId","getControlId","getPositionerId","getFormatSelectId","getAreaId","getAreaGradientId","getAreaThumbId","getChannelSliderTrackId","getChannelSliderThumbId","getAreaThumbEl","getChannelSliderThumbEl","getFormatSelectEl","getHiddenInputEl","getAreaEl","getAreaValueFromPoint","point","areaEl","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","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","HEX_REGEX","isValidHex","prefixHex","and","createGuards","getContext","anchorEl","getPlacement","data","trackDismissableElement","inputEl","trackFormControl","trackPointerMove","disableTextSelection","win","sRGBHex","channelPercent","dispatchInputValueEvent","syncChannelInputs","currentAlpha","valueAsNumber","tryCatch","parseValue","range","getInitialFocus","syncFormatSelect","currentValue","nextValue","channelInputEls","setElementValue","selectEl","getItemId","getItemContentId","getItemTriggerId","getRootEl","getTriggerEls","getFirstTriggerEl","first","getLastTriggerEl","last","getNextTriggerEl","id","nextById","getPrevTriggerEl","prevById","focusedValue","multiple","setValue","getItemState","itemState","isSafari","keyMap","not","remove","warn","getInputId","getInputEl","writeToClipboard","copyText","createNode","doc","text","node","copyNode","selection","getWindow","copied","setRafTimeout","colorPickerAnatomy","getItemEntry","isDirectoryEntry","isFileEntry","addRelativePath","file","getFileEntries","items","traverseDirectories","getDirectoryFiles","reader","entryPromises","readDirectoryEntries","promises","resolve2","BOM_REGEX","MAC_REGEX","APPLE_WEBKIT_REGEX","SAFARI_REGEX","getBlob","blobOrString","appendBOM","blob","isMSEdge","isWebView","downloadFile","revokeTimeout","fileName","isMacOSWebView","anchor","url2","url","isMIMEType","isExt","isValidMIME","getAcceptAttrString","accept","mimeType","ext","isFileEqual","file1","file2","isDefined","isValidFileSize","minSize","maxSize","mimeTypes","mimeTypesMap","mime","getFileMimeType","extension","isFileAccepted","types","baseMimeType","validType","isValidFileType","isAcceptable","getPreviewId","getSubmitTriggerId","getCancelTriggerId","getEditTriggerId","getPreviewEl","getSubmitTriggerEl","getCancelTriggerEl","getEditTriggerEl","readOnly","invalid","autoResize","translations","editing","placeholderProp","placeholder","empty","valueText","ariaAttr","isComposingEvent","localName","isApple","submitMode","trackInteractOutside","el","contains","focusable","prev","i18nCache","Ins","formatterCache","cacheKey","formatter","getNumberFormatter","formatNumber","bitPrefixes","bytePrefixes","formatBytes","bytes","unitDisplay","_unit","_unitDisplay","getDropzoneId","getItemNameId","getItemSizeTextId","getItemPreviewId","getDropzoneEl","isEventWithFiles","isFilesWithinRange","incomingCount","currentAcceptedFiles","getEventFiles","files","currentRejectedFiles","acceptedFiles","rejectedFiles","validateParams","accepted","acceptError","sizeMatch","sizeError","validateErrors","valid","errors","setInputFiles","dataTransfer","allowDrop","cb","dt","isSelfTarget","count","hasFiles","flatArray","onDragOver","onDrop","callAll","addDomEvent","params","err","$488c6ddbf4ef74c2$var$formatterCache","$488c6ddbf4ef74c2$var$supportsSignDisplay","$488c6ddbf4ef74c2$var$supportsUnit","$488c6ddbf4ef74c2$var$UNITS","$488c6ddbf4ef74c2$export$cc77c4ff7e8673c5","$488c6ddbf4ef74c2$export$711b50b3c525e0f2","_UNITS_unit","startParts","endParts","p","$488c6ddbf4ef74c2$var$getCachedNumberFormatter","numberingSystem","numberFormatter","numberFormat","signDisplay","needsPositiveSign","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","getIncrementTriggerId","getDecrementTriggerId","getScrubberId","getCursorId","getIncrementTriggerEl","getDecrementTriggerEl","getCursorEl","getPressedTriggerEl","hint","btnEl","setupVirtualCursor","createVirtualCursor","preventTextSelection","html","body","getMousemoveValue","isRtl","roundToDpr","y","newPoint","half","wrap","MAX_Z_INDEX","isIncrementDisabled","isDecrementDisabled","selectionStart","selectionEnd","dpr","recordCursor","beforeTxt","afterTxt","restoreCursor","startPos","beforeLastChar","newIndex","createFormatter","createParser","NumberParser","getDefaultStep","formatOptions","defaultStep","choose","guards","setup","getComputed","isValueAtMin","isValueAtMax","isValueWithinRange","btn","observeAttributes","onWheel","requestPointerLock","onMousemove","onMouseup","incrementValue","decrementValue","reason","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","QrSegment","mode","numChars","bitData","MODE_NUMERIC","MODE_ALPHANUMERIC","MODE_BYTE","numCharCountBits","makeBytes","makeNumeric","digits","isNumeric","makeAlphanumeric","isAlphanumeric","temp","makeSegments","toUtf8ByteArray","getTotalBits","segs","seg","ccbits","degree","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","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","getMarkerStyle","isHorizontal","getMarkerGroupStyle","normalizeValues","nextValues","constrainValue","getRangeAtIndex","getValueRanges","snapValue","decrement","getPreviousStepValue","increment","getNextStepValue","getClosestIndex","pointValue","getClosestValueIndex","normalize2","ariaLabel","ariaLabelledBy","sliderValue","focusedIndex","getValuePercentFn","getPercentValueFn","_ariaLabel","_ariaLabelledBy","markerState","isDragging","isEqualSize","minStepsBetweenThumbs","rangeValue","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,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46]}