@cerberus-design/react 0.9.2 → 0.10.0

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 (321) hide show
  1. package/build/legacy/_tsup-dts-rollup.d.cts +811 -126
  2. package/build/legacy/aria-helpers/tabs.aria.cjs.map +1 -1
  3. package/build/legacy/components/Avatar.cjs.map +1 -1
  4. package/build/legacy/components/Button.cjs.map +1 -1
  5. package/build/legacy/components/Checkbox.cjs.map +1 -1
  6. package/build/legacy/components/CircularProgress.cjs +180 -0
  7. package/build/legacy/components/CircularProgress.cjs.map +1 -0
  8. package/build/legacy/components/Droppable.cjs.map +1 -1
  9. package/build/legacy/components/FeatureFlag.cjs.map +1 -1
  10. package/build/legacy/components/FieldMessage.cjs.map +1 -1
  11. package/build/legacy/components/FileStatus.cjs +75 -79
  12. package/build/legacy/components/FileStatus.cjs.map +1 -1
  13. package/build/legacy/components/FileUploader.cjs +1 -1
  14. package/build/legacy/components/FileUploader.cjs.map +1 -1
  15. package/build/legacy/components/IconButton.cjs.map +1 -1
  16. package/build/legacy/components/Input.cjs.map +1 -1
  17. package/build/legacy/components/Label.cjs.map +1 -1
  18. package/build/legacy/components/Modal.cjs.map +1 -1
  19. package/build/legacy/components/ModalDescription.cjs.map +1 -1
  20. package/build/legacy/components/ModalHeader.cjs.map +1 -1
  21. package/build/legacy/components/ModalHeading.cjs.map +1 -1
  22. package/build/legacy/components/NavMenuLink.cjs.map +1 -1
  23. package/build/legacy/components/NavMenuList.cjs.map +1 -1
  24. package/build/legacy/components/NavMenuTrigger.cjs.map +1 -1
  25. package/build/legacy/components/Notification.cjs.map +1 -1
  26. package/build/legacy/components/NotificationDescription.cjs.map +1 -1
  27. package/build/legacy/components/NotificationHeading.cjs.map +1 -1
  28. package/build/legacy/components/Portal.cjs.map +1 -1
  29. package/build/legacy/components/ProgressBar.cjs +1 -1
  30. package/build/legacy/components/ProgressBar.cjs.map +1 -1
  31. package/build/legacy/components/Radio.cjs.map +1 -1
  32. package/build/legacy/components/Select.cjs.map +1 -1
  33. package/build/legacy/components/Show.cjs.map +1 -1
  34. package/build/legacy/components/Spinner.cjs +104 -0
  35. package/build/legacy/components/Spinner.cjs.map +1 -0
  36. package/build/legacy/components/Tab.cjs.map +1 -1
  37. package/build/legacy/components/TabList.cjs.map +1 -1
  38. package/build/legacy/components/TabPanel.cjs.map +1 -1
  39. package/build/legacy/components/Table.cjs.map +1 -1
  40. package/build/legacy/components/Tag.cjs +70 -4
  41. package/build/legacy/components/Tag.cjs.map +1 -1
  42. package/build/legacy/components/Tbody.cjs.map +1 -1
  43. package/build/legacy/components/Td.cjs.map +1 -1
  44. package/build/legacy/components/Textarea.cjs.map +1 -1
  45. package/build/legacy/components/Th.cjs.map +1 -1
  46. package/build/legacy/components/Thead.cjs.map +1 -1
  47. package/build/legacy/components/Toggle.cjs.map +1 -1
  48. package/build/legacy/context/confirm-modal.cjs +2 -2
  49. package/build/legacy/context/confirm-modal.cjs.map +1 -1
  50. package/build/legacy/context/feature-flags.cjs.map +1 -1
  51. package/build/legacy/context/field.cjs.map +1 -1
  52. package/build/legacy/context/navMenu.cjs.map +1 -1
  53. package/build/legacy/context/notification-center.cjs +50 -10
  54. package/build/legacy/context/notification-center.cjs.map +1 -1
  55. package/build/legacy/context/prompt-modal.cjs +2 -2
  56. package/build/legacy/context/prompt-modal.cjs.map +1 -1
  57. package/build/legacy/context/tabs.cjs.map +1 -1
  58. package/build/legacy/context/theme.cjs +37 -23
  59. package/build/legacy/context/theme.cjs.map +1 -1
  60. package/build/legacy/hooks/useModal.cjs.map +1 -1
  61. package/build/legacy/hooks/useTheme.cjs +41 -32
  62. package/build/legacy/hooks/useTheme.cjs.map +1 -1
  63. package/build/legacy/hooks/useToggle.cjs.map +1 -1
  64. package/build/legacy/index.cjs +605 -316
  65. package/build/legacy/index.cjs.map +1 -1
  66. package/build/modern/_tsup-dts-rollup.d.ts +811 -126
  67. package/build/modern/aria-helpers/tabs.aria.js +2 -2
  68. package/build/modern/{chunk-DGJPW76I.js → chunk-2RPWSVRX.js} +13 -13
  69. package/build/modern/chunk-2RPWSVRX.js.map +1 -0
  70. package/build/modern/{chunk-JB7IQ2BM.js → chunk-2UXE5PDG.js} +1 -1
  71. package/build/modern/chunk-2UXE5PDG.js.map +1 -0
  72. package/build/modern/{chunk-4CAT3FHV.js → chunk-2VX52EEJ.js} +1 -1
  73. package/build/modern/chunk-2VX52EEJ.js.map +1 -0
  74. package/build/modern/chunk-3O6UTN3J.js +155 -0
  75. package/build/modern/chunk-3O6UTN3J.js.map +1 -0
  76. package/build/modern/{chunk-UN3OAW56.js → chunk-477G5ZEL.js} +2 -2
  77. package/build/modern/chunk-477G5ZEL.js.map +1 -0
  78. package/build/modern/{chunk-PMCYXRAH.js → chunk-5V5MBSM3.js} +3 -3
  79. package/build/modern/chunk-5V5MBSM3.js.map +1 -0
  80. package/build/modern/{chunk-3GXISGPS.js → chunk-7K6PZBHN.js} +2 -2
  81. package/build/modern/chunk-7K6PZBHN.js.map +1 -0
  82. package/build/modern/chunk-7SYJFI5E.js +80 -0
  83. package/build/modern/chunk-7SYJFI5E.js.map +1 -0
  84. package/build/modern/{chunk-ZCIJRM2X.js → chunk-AUAPBPGW.js} +5 -5
  85. package/build/modern/chunk-AUAPBPGW.js.map +1 -0
  86. package/build/modern/{chunk-A5WYZVUR.js → chunk-B4CVET74.js} +1 -1
  87. package/build/modern/chunk-B4CVET74.js.map +1 -0
  88. package/build/modern/{chunk-2UFNQM55.js → chunk-BE4EOU2P.js} +1 -1
  89. package/build/modern/{chunk-2UFNQM55.js.map → chunk-BE4EOU2P.js.map} +1 -1
  90. package/build/modern/{chunk-VULPMZUW.js → chunk-BIDE4IJG.js} +3 -3
  91. package/build/modern/chunk-BIDE4IJG.js.map +1 -0
  92. package/build/modern/{chunk-4O4QFF4S.js → chunk-BUVVRQLZ.js} +1 -1
  93. package/build/modern/chunk-BUVVRQLZ.js.map +1 -0
  94. package/build/modern/{chunk-4M3EUP57.js → chunk-CJFW36DZ.js} +1 -1
  95. package/build/modern/chunk-CJFW36DZ.js.map +1 -0
  96. package/build/modern/{chunk-T7TOXGZT.js → chunk-E6QFLLXH.js} +21 -21
  97. package/build/modern/chunk-E6QFLLXH.js.map +1 -0
  98. package/build/modern/chunk-EB37HRCN.js +31 -0
  99. package/build/modern/chunk-EB37HRCN.js.map +1 -0
  100. package/build/modern/chunk-EJOXOICK.js +75 -0
  101. package/build/modern/chunk-EJOXOICK.js.map +1 -0
  102. package/build/modern/{chunk-6F34A7NZ.js → chunk-EXGKZGML.js} +1 -1
  103. package/build/modern/chunk-EXGKZGML.js.map +1 -0
  104. package/build/modern/{chunk-ISPTI4GC.js → chunk-EZYCKM7R.js} +2 -2
  105. package/build/modern/chunk-EZYCKM7R.js.map +1 -0
  106. package/build/modern/{chunk-4YJOK7JJ.js → chunk-GMG3B34U.js} +2 -2
  107. package/build/modern/chunk-GMG3B34U.js.map +1 -0
  108. package/build/modern/{chunk-U72VPIZA.js → chunk-HHVQ6LCA.js} +3 -3
  109. package/build/modern/chunk-HHVQ6LCA.js.map +1 -0
  110. package/build/modern/{chunk-XREC5IJE.js → chunk-HPM2XRWT.js} +1 -1
  111. package/build/modern/chunk-HPM2XRWT.js.map +1 -0
  112. package/build/modern/{chunk-2FK7NR7Y.js → chunk-I35HMGJQ.js} +5 -5
  113. package/build/modern/chunk-I35HMGJQ.js.map +1 -0
  114. package/build/modern/{chunk-WWJRKSM5.js → chunk-ILZKQP6R.js} +16 -16
  115. package/build/modern/chunk-ILZKQP6R.js.map +1 -0
  116. package/build/modern/{chunk-GKUDLVOV.js → chunk-ITOIXNJS.js} +2 -2
  117. package/build/modern/{chunk-XOVQGPIE.js → chunk-JCGWTIR4.js} +4 -4
  118. package/build/modern/chunk-JCGWTIR4.js.map +1 -0
  119. package/build/modern/{chunk-TCO46FK7.js → chunk-JIJM6JFJ.js} +2 -2
  120. package/build/modern/chunk-JIJM6JFJ.js.map +1 -0
  121. package/build/modern/{chunk-VGHVH2T3.js → chunk-JWIJHSI6.js} +5 -3
  122. package/build/modern/chunk-JWIJHSI6.js.map +1 -0
  123. package/build/modern/{chunk-6DIGPXAD.js → chunk-KBBASJIY.js} +2 -2
  124. package/build/modern/chunk-KBBASJIY.js.map +1 -0
  125. package/build/modern/{chunk-SONHHNYQ.js → chunk-LFWAJ5DX.js} +3 -3
  126. package/build/modern/chunk-LFWAJ5DX.js.map +1 -0
  127. package/build/modern/{chunk-PH64POOB.js → chunk-LJYCFFX7.js} +2 -2
  128. package/build/modern/chunk-LJYCFFX7.js.map +1 -0
  129. package/build/modern/{chunk-O6WHVUEW.js → chunk-NUGDTZCL.js} +59 -19
  130. package/build/modern/chunk-NUGDTZCL.js.map +1 -0
  131. package/build/modern/{chunk-VRPAW76S.js → chunk-O6JYYVO7.js} +5 -5
  132. package/build/modern/chunk-O6JYYVO7.js.map +1 -0
  133. package/build/modern/{chunk-KJUCHZHV.js → chunk-O75QAT4Z.js} +1 -1
  134. package/build/modern/chunk-O75QAT4Z.js.map +1 -0
  135. package/build/modern/{chunk-C5HLLGME.js → chunk-OW62FLJ6.js} +1 -1
  136. package/build/modern/chunk-OW62FLJ6.js.map +1 -0
  137. package/build/modern/{chunk-RPZAPUCF.js → chunk-OWKN5IV7.js} +3 -3
  138. package/build/modern/chunk-OWKN5IV7.js.map +1 -0
  139. package/build/modern/{chunk-PJ3744I6.js → chunk-PKQTTFWA.js} +1 -1
  140. package/build/modern/chunk-PKQTTFWA.js.map +1 -0
  141. package/build/modern/{chunk-N3FUF4TB.js → chunk-PKY46RRA.js} +1 -1
  142. package/build/modern/chunk-PKY46RRA.js.map +1 -0
  143. package/build/modern/{chunk-4M4LCQ43.js → chunk-Q7BRMIBR.js} +1 -1
  144. package/build/modern/{chunk-4M4LCQ43.js.map → chunk-Q7BRMIBR.js.map} +1 -1
  145. package/build/modern/{chunk-QEA6N6TN.js → chunk-REO5GUNC.js} +1 -1
  146. package/build/modern/chunk-REO5GUNC.js.map +1 -0
  147. package/build/modern/{chunk-KF24CS4S.js → chunk-RIFQSCHT.js} +1 -1
  148. package/build/modern/chunk-RIFQSCHT.js.map +1 -0
  149. package/build/modern/{chunk-Z6IWNVPN.js → chunk-S7XGIQY6.js} +10 -4
  150. package/build/modern/chunk-S7XGIQY6.js.map +1 -0
  151. package/build/modern/{chunk-3C2DJSEE.js → chunk-SXIXDXG3.js} +1 -1
  152. package/build/modern/chunk-SXIXDXG3.js.map +1 -0
  153. package/build/modern/{chunk-7VJOPJVX.js → chunk-TKI2CKHH.js} +1 -1
  154. package/build/modern/chunk-TKI2CKHH.js.map +1 -0
  155. package/build/modern/{chunk-SLHX5K6I.js → chunk-UBJBMOG7.js} +4 -2
  156. package/build/modern/chunk-UBJBMOG7.js.map +1 -0
  157. package/build/modern/{chunk-ZAU4JVLL.js → chunk-UZDVOIW5.js} +1 -1
  158. package/build/modern/chunk-UZDVOIW5.js.map +1 -0
  159. package/build/modern/{chunk-QZ6NS6VN.js → chunk-VG46RHBJ.js} +1 -1
  160. package/build/modern/chunk-VG46RHBJ.js.map +1 -0
  161. package/build/modern/{chunk-QU7UV5DB.js → chunk-WLEX22KS.js} +1 -1
  162. package/build/modern/chunk-WLEX22KS.js.map +1 -0
  163. package/build/modern/{chunk-FMFKM2AB.js → chunk-WZOYPFUU.js} +5 -5
  164. package/build/modern/chunk-WZOYPFUU.js.map +1 -0
  165. package/build/modern/{chunk-HW76XVA3.js → chunk-XEW6TJJ4.js} +1 -1
  166. package/build/modern/chunk-XEW6TJJ4.js.map +1 -0
  167. package/build/modern/{chunk-TYTEREKZ.js → chunk-ZFK33MVD.js} +2 -2
  168. package/build/modern/chunk-ZFK33MVD.js.map +1 -0
  169. package/build/modern/components/Avatar.js +2 -2
  170. package/build/modern/components/Button.js +1 -1
  171. package/build/modern/components/Checkbox.js +3 -3
  172. package/build/modern/components/CircularProgress.js +8 -0
  173. package/build/modern/components/CircularProgress.js.map +1 -0
  174. package/build/modern/components/Droppable.js +1 -1
  175. package/build/modern/components/FeatureFlag.js +3 -3
  176. package/build/modern/components/FieldMessage.js +2 -2
  177. package/build/modern/components/FileStatus.js +7 -7
  178. package/build/modern/components/FileUploader.js +3 -3
  179. package/build/modern/components/IconButton.js +1 -1
  180. package/build/modern/components/Input.js +3 -3
  181. package/build/modern/components/Label.js +3 -3
  182. package/build/modern/components/Modal.js +1 -1
  183. package/build/modern/components/ModalDescription.js +1 -1
  184. package/build/modern/components/ModalHeader.js +1 -1
  185. package/build/modern/components/ModalHeading.js +1 -1
  186. package/build/modern/components/NavMenuLink.js +2 -2
  187. package/build/modern/components/NavMenuList.js +3 -3
  188. package/build/modern/components/NavMenuTrigger.js +3 -3
  189. package/build/modern/components/Notification.js +1 -1
  190. package/build/modern/components/NotificationDescription.js +1 -1
  191. package/build/modern/components/NotificationHeading.js +1 -1
  192. package/build/modern/components/Portal.js +1 -1
  193. package/build/modern/components/ProgressBar.js +1 -1
  194. package/build/modern/components/Radio.js +2 -2
  195. package/build/modern/components/Select.js +3 -3
  196. package/build/modern/components/Show.js +1 -1
  197. package/build/modern/components/Spinner.js +7 -0
  198. package/build/modern/components/Spinner.js.map +1 -0
  199. package/build/modern/components/Tab.js +3 -3
  200. package/build/modern/components/TabList.js +2 -2
  201. package/build/modern/components/TabPanel.js +3 -3
  202. package/build/modern/components/Table.js +1 -1
  203. package/build/modern/components/Tag.js +5 -2
  204. package/build/modern/components/Tbody.js +1 -1
  205. package/build/modern/components/Td.js +1 -1
  206. package/build/modern/components/Textarea.js +2 -2
  207. package/build/modern/components/Th.js +2 -2
  208. package/build/modern/components/Thead.js +1 -1
  209. package/build/modern/components/Toggle.js +2 -2
  210. package/build/modern/context/confirm-modal.js +10 -10
  211. package/build/modern/context/feature-flags.js +1 -1
  212. package/build/modern/context/field.js +1 -1
  213. package/build/modern/context/navMenu.js +1 -1
  214. package/build/modern/context/notification-center.js +7 -7
  215. package/build/modern/context/prompt-modal.js +13 -13
  216. package/build/modern/context/tabs.js +1 -1
  217. package/build/modern/context/theme.js +2 -5
  218. package/build/modern/hooks/useModal.js +1 -1
  219. package/build/modern/hooks/useTheme.js +5 -1
  220. package/build/modern/hooks/useToggle.js +1 -1
  221. package/build/modern/index.js +78 -68
  222. package/build/modern/index.js.map +1 -1
  223. package/package.json +3 -4
  224. package/src/components/Avatar.tsx +28 -1
  225. package/src/components/Button.tsx +1 -1
  226. package/src/components/Checkbox.tsx +11 -1
  227. package/src/components/CircularProgress.tsx +170 -0
  228. package/src/components/Droppable.tsx +13 -0
  229. package/src/components/FeatureFlag.tsx +7 -0
  230. package/src/components/FieldMessage.tsx +13 -6
  231. package/src/components/FileStatus.tsx +43 -16
  232. package/src/components/FileUploader.tsx +11 -1
  233. package/src/components/IconButton.tsx +15 -5
  234. package/src/components/Input.tsx +21 -4
  235. package/src/components/Label.tsx +13 -8
  236. package/src/components/Modal.tsx +8 -3
  237. package/src/components/ModalDescription.tsx +1 -0
  238. package/src/components/ModalHeader.tsx +1 -0
  239. package/src/components/ModalHeading.tsx +1 -0
  240. package/src/components/NavMenuLink.tsx +22 -0
  241. package/src/components/NavMenuList.tsx +37 -5
  242. package/src/components/NavMenuTrigger.tsx +13 -0
  243. package/src/components/Notification.tsx +13 -6
  244. package/src/components/NotificationDescription.tsx +8 -6
  245. package/src/components/NotificationHeading.tsx +8 -6
  246. package/src/components/Portal.tsx +9 -2
  247. package/src/components/ProgressBar.tsx +15 -5
  248. package/src/components/Radio.tsx +29 -0
  249. package/src/components/Select.tsx +17 -8
  250. package/src/components/Show.tsx +16 -5
  251. package/src/components/Spinner.tsx +82 -0
  252. package/src/components/Tab.tsx +13 -5
  253. package/src/components/TabList.tsx +5 -1
  254. package/src/components/TabPanel.tsx +7 -2
  255. package/src/components/Table.tsx +6 -3
  256. package/src/components/Tag.tsx +34 -7
  257. package/src/components/Tbody.tsx +7 -1
  258. package/src/components/Td.tsx +2 -1
  259. package/src/components/Textarea.tsx +9 -4
  260. package/src/components/Th.tsx +13 -1
  261. package/src/components/Thead.tsx +2 -1
  262. package/src/components/Toggle.tsx +35 -0
  263. package/src/context/confirm-modal.tsx +19 -2
  264. package/src/context/feature-flags.tsx +4 -1
  265. package/src/context/field.tsx +26 -0
  266. package/src/context/navMenu.tsx +25 -0
  267. package/src/context/notification-center.tsx +84 -12
  268. package/src/context/prompt-modal.tsx +41 -3
  269. package/src/context/tabs.tsx +31 -4
  270. package/src/context/theme.tsx +47 -10
  271. package/src/hooks/useModal.ts +14 -0
  272. package/src/hooks/useTheme.ts +66 -17
  273. package/src/hooks/useToggle.ts +22 -0
  274. package/src/index.ts +2 -0
  275. package/build/modern/chunk-2FK7NR7Y.js.map +0 -1
  276. package/build/modern/chunk-3C2DJSEE.js.map +0 -1
  277. package/build/modern/chunk-3GXISGPS.js.map +0 -1
  278. package/build/modern/chunk-4CAT3FHV.js.map +0 -1
  279. package/build/modern/chunk-4M3EUP57.js.map +0 -1
  280. package/build/modern/chunk-4O4QFF4S.js.map +0 -1
  281. package/build/modern/chunk-4YJOK7JJ.js.map +0 -1
  282. package/build/modern/chunk-6DIGPXAD.js.map +0 -1
  283. package/build/modern/chunk-6F34A7NZ.js.map +0 -1
  284. package/build/modern/chunk-7VJOPJVX.js.map +0 -1
  285. package/build/modern/chunk-A5WYZVUR.js.map +0 -1
  286. package/build/modern/chunk-C5HLLGME.js.map +0 -1
  287. package/build/modern/chunk-DGJPW76I.js.map +0 -1
  288. package/build/modern/chunk-FMFKM2AB.js.map +0 -1
  289. package/build/modern/chunk-HW76XVA3.js.map +0 -1
  290. package/build/modern/chunk-ISPTI4GC.js.map +0 -1
  291. package/build/modern/chunk-JB7IQ2BM.js.map +0 -1
  292. package/build/modern/chunk-KF24CS4S.js.map +0 -1
  293. package/build/modern/chunk-KJUCHZHV.js.map +0 -1
  294. package/build/modern/chunk-N3FUF4TB.js.map +0 -1
  295. package/build/modern/chunk-O6WHVUEW.js.map +0 -1
  296. package/build/modern/chunk-PH64POOB.js.map +0 -1
  297. package/build/modern/chunk-PJ3744I6.js.map +0 -1
  298. package/build/modern/chunk-PMCYXRAH.js.map +0 -1
  299. package/build/modern/chunk-QEA6N6TN.js.map +0 -1
  300. package/build/modern/chunk-QU7UV5DB.js.map +0 -1
  301. package/build/modern/chunk-QZ6NS6VN.js.map +0 -1
  302. package/build/modern/chunk-RPZAPUCF.js.map +0 -1
  303. package/build/modern/chunk-SLHX5K6I.js.map +0 -1
  304. package/build/modern/chunk-SONHHNYQ.js.map +0 -1
  305. package/build/modern/chunk-SXXWC6UD.js +0 -83
  306. package/build/modern/chunk-SXXWC6UD.js.map +0 -1
  307. package/build/modern/chunk-T7TOXGZT.js.map +0 -1
  308. package/build/modern/chunk-TCO46FK7.js.map +0 -1
  309. package/build/modern/chunk-TYTEREKZ.js.map +0 -1
  310. package/build/modern/chunk-U72VPIZA.js.map +0 -1
  311. package/build/modern/chunk-UN3OAW56.js.map +0 -1
  312. package/build/modern/chunk-VGHVH2T3.js.map +0 -1
  313. package/build/modern/chunk-VRPAW76S.js.map +0 -1
  314. package/build/modern/chunk-VULPMZUW.js.map +0 -1
  315. package/build/modern/chunk-WWJRKSM5.js.map +0 -1
  316. package/build/modern/chunk-XOVQGPIE.js.map +0 -1
  317. package/build/modern/chunk-XREC5IJE.js.map +0 -1
  318. package/build/modern/chunk-Z6IWNVPN.js.map +0 -1
  319. package/build/modern/chunk-ZAU4JVLL.js.map +0 -1
  320. package/build/modern/chunk-ZCIJRM2X.js.map +0 -1
  321. /package/build/modern/{chunk-GKUDLVOV.js.map → chunk-ITOIXNJS.js.map} +0 -0
@@ -25,6 +25,7 @@ __export(src_exports, {
25
25
  Avatar: () => Avatar,
26
26
  Button: () => Button,
27
27
  Checkbox: () => Checkbox,
28
+ CircularProgress: () => CircularProgress,
28
29
  ConfirmModal: () => ConfirmModal,
29
30
  Droppable: () => Droppable,
30
31
  FeatureFlag: () => FeatureFlag,
@@ -56,6 +57,7 @@ __export(src_exports, {
56
57
  Radio: () => Radio,
57
58
  Select: () => Select,
58
59
  Show: () => Show,
60
+ Spinner: () => Spinner,
59
61
  THEME_KEY: () => THEME_KEY,
60
62
  Tab: () => Tab,
61
63
  TabList: () => TabList,
@@ -363,10 +365,161 @@ function Checkbox(props) {
363
365
  );
364
366
  }
365
367
 
368
+ // src/components/CircularProgress.tsx
369
+ var import_patterns3 = require("@cerberus/styled-system/patterns");
370
+ var import_css4 = require("@cerberus/styled-system/css");
371
+ var import_jsx_runtime6 = require("react/jsx-runtime");
372
+ function CircularProgress(props) {
373
+ const strokeW = 14;
374
+ const radius = `calc(50% * (1 - ${strokeW}/100))`;
375
+ const status = props.label ?? "Done";
376
+ const now = props.now >= 100 ? 100 : props.now;
377
+ return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
378
+ "div",
379
+ {
380
+ "aria-valuemin": 0,
381
+ "aria-valuemax": 100,
382
+ "aria-valuenow": now,
383
+ className: (0, import_patterns3.cq)({
384
+ alignSelf: "stretch",
385
+ flex: 1,
386
+ m: "4px",
387
+ position: "relative"
388
+ }),
389
+ role: "progressbar",
390
+ children: /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)(
391
+ "svg",
392
+ {
393
+ "data-complete": now === 100,
394
+ className: (0, import_css4.css)({
395
+ display: "block",
396
+ rounded: "full",
397
+ transition: "all 0.5s ease"
398
+ }),
399
+ fill: "none",
400
+ strokeLinecap: "round",
401
+ strokeWidth: strokeW,
402
+ viewBox: "0 0 100 100",
403
+ xmlns: "http://www.w3.org/2000/svg",
404
+ children: [
405
+ /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("title", { children: props.title }),
406
+ /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("desc", { children: `${now}% ${status}` }),
407
+ /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)("mask", { id: "progMask", children: [
408
+ /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("rect", { fill: "white", width: "100%", height: "100%" }),
409
+ /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
410
+ "circle",
411
+ {
412
+ className: (0, import_css4.css)({
413
+ stroke: "page.bg.100"
414
+ }),
415
+ cx: "50%",
416
+ cy: "50%",
417
+ r: radius,
418
+ pathLength: "100"
419
+ }
420
+ ),
421
+ /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
422
+ "circle",
423
+ {
424
+ className: (0, import_css4.css)({
425
+ transition: "stroke-dashoffset 0.5s ease"
426
+ }),
427
+ cx: "50%",
428
+ cy: "50%",
429
+ r: radius,
430
+ pathLength: "100",
431
+ stroke: "black",
432
+ strokeDasharray: "100",
433
+ strokeDashoffset: 100 - now,
434
+ transform: "rotate(-90 50 50)"
435
+ }
436
+ )
437
+ ] }),
438
+ /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
439
+ "circle",
440
+ {
441
+ className: (0, import_css4.css)({
442
+ fill: "page.surface.initial"
443
+ }),
444
+ cx: "50%",
445
+ cy: "50%",
446
+ r: `calc(50% * (1 - ${strokeW}/100))`,
447
+ pathLength: "100"
448
+ }
449
+ ),
450
+ /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
451
+ "circle",
452
+ {
453
+ className: (0, import_css4.css)({
454
+ stroke: "page.bg.100"
455
+ }),
456
+ cx: "50%",
457
+ cy: "50%",
458
+ r: radius,
459
+ pathLength: "100"
460
+ }
461
+ ),
462
+ /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
463
+ "circle",
464
+ {
465
+ "data-complete": now === 100,
466
+ className: (0, import_css4.css)({
467
+ stroke: "action.bg.initial",
468
+ transition: "stroke-dashoffset 0.5s ease",
469
+ "&:is([data-complete=true])": {
470
+ stroke: "success.bg.initial"
471
+ }
472
+ }),
473
+ cx: "50%",
474
+ cy: "50%",
475
+ r: radius,
476
+ pathLength: "100",
477
+ strokeDasharray: "100",
478
+ strokeDashoffset: 100 - now,
479
+ transform: "rotate(-90 50 50)"
480
+ }
481
+ ),
482
+ /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)("g", { children: [
483
+ /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)(
484
+ "text",
485
+ {
486
+ className: (0, import_css4.css)({
487
+ fill: "page.text.initial",
488
+ fontFamily: "mono",
489
+ textStyle: "1.25rem"
490
+ }),
491
+ x: "35%",
492
+ y: "50%",
493
+ children: [
494
+ now,
495
+ "%"
496
+ ]
497
+ }
498
+ ),
499
+ /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
500
+ "text",
501
+ {
502
+ className: (0, import_css4.css)({
503
+ fill: "page.text.100",
504
+ fontSize: "0.5rem"
505
+ }),
506
+ x: "39%",
507
+ y: "60%",
508
+ children: status
509
+ }
510
+ )
511
+ ] })
512
+ ]
513
+ }
514
+ )
515
+ }
516
+ );
517
+ }
518
+
366
519
  // src/components/Droppable.tsx
367
520
  var import_core = require("@dnd-kit/core");
368
521
  var import_react3 = require("react");
369
- var import_jsx_runtime6 = require("react/jsx-runtime");
522
+ var import_jsx_runtime7 = require("react/jsx-runtime");
370
523
  function Droppable(props) {
371
524
  const { dropped, id, disabled, data, resizeObserverConfig, ...nativeProps } = props;
372
525
  const uuid = (0, import_react3.useId)();
@@ -376,7 +529,7 @@ function Droppable(props) {
376
529
  id: id || uuid,
377
530
  resizeObserverConfig
378
531
  });
379
- return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
532
+ return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
380
533
  "div",
381
534
  {
382
535
  ...nativeProps,
@@ -389,27 +542,27 @@ function Droppable(props) {
389
542
  }
390
543
 
391
544
  // src/components/FieldMessage.tsx
392
- var import_css4 = require("@cerberus/styled-system/css");
545
+ var import_css5 = require("@cerberus/styled-system/css");
393
546
  var import_recipes4 = require("@cerberus/styled-system/recipes");
394
- var import_jsx_runtime7 = require("react/jsx-runtime");
547
+ var import_jsx_runtime8 = require("react/jsx-runtime");
395
548
  function FieldMessage(props) {
396
549
  const { invalid } = useFieldContext();
397
- return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
550
+ return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
398
551
  "small",
399
552
  {
400
553
  ...props,
401
554
  ...invalid && { "aria-invalid": true },
402
- className: (0, import_css4.cx)(props.className, (0, import_recipes4.fieldMessage)())
555
+ className: (0, import_css5.cx)(props.className, (0, import_recipes4.fieldMessage)())
403
556
  }
404
557
  );
405
558
  }
406
559
 
407
560
  // src/context/feature-flags.tsx
408
561
  var import_react4 = require("react");
409
- var import_jsx_runtime8 = require("react/jsx-runtime");
562
+ var import_jsx_runtime9 = require("react/jsx-runtime");
410
563
  var FeatureFlagContext = (0, import_react4.createContext)(null);
411
564
  function FeatureFlags(props) {
412
- return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(FeatureFlagContext.Provider, { value: props.flags, children: props.children });
565
+ return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(FeatureFlagContext.Provider, { value: props.flags, children: props.children });
413
566
  }
414
567
  function useFeatureFlags(key) {
415
568
  const context = (0, import_react4.useContext)(FeatureFlagContext);
@@ -422,19 +575,22 @@ function useFeatureFlags(key) {
422
575
  }
423
576
 
424
577
  // src/components/FeatureFlag.tsx
425
- var import_jsx_runtime9 = require("react/jsx-runtime");
578
+ var import_jsx_runtime10 = require("react/jsx-runtime");
426
579
  function FeatureFlag(props) {
427
580
  const showContent = useFeatureFlags(props.flag);
428
- return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(Show, { when: showContent, children: props.children });
581
+ return /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(Show, { when: showContent, children: props.children });
429
582
  }
430
583
 
431
584
  // src/components/FileStatus.tsx
432
585
  var import_react5 = require("react");
586
+ var import_recipes7 = require("@cerberus/styled-system/recipes");
587
+ var import_css8 = require("@cerberus/styled-system/css");
588
+ var import_patterns4 = require("@cerberus/styled-system/patterns");
433
589
 
434
590
  // src/components/ProgressBar.tsx
435
- var import_css5 = require("@cerberus/styled-system/css");
591
+ var import_css6 = require("@cerberus/styled-system/css");
436
592
  var import_recipes5 = require("@cerberus/styled-system/recipes");
437
- var import_jsx_runtime10 = require("react/jsx-runtime");
593
+ var import_jsx_runtime11 = require("react/jsx-runtime");
438
594
  function ProgressBar(props) {
439
595
  const { indeterminate, size, usage, now, ...nativeProps } = props;
440
596
  const styles = (0, import_recipes5.progressBar)({ size, usage });
@@ -442,16 +598,16 @@ function ProgressBar(props) {
442
598
  const width = {
443
599
  width: indeterminate ? "50%" : `${nowClamped}%`
444
600
  };
445
- return /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
601
+ return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
446
602
  "div",
447
603
  {
448
604
  ...nativeProps,
449
605
  "aria-valuemin": 0,
450
606
  "aria-valuemax": 100,
451
607
  "aria-valuenow": indeterminate ? 0 : nowClamped,
452
- className: (0, import_css5.cx)(nativeProps.className, styles.root),
453
- role: "meter",
454
- children: /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
608
+ className: (0, import_css6.cx)(nativeProps.className, styles.root),
609
+ role: "progressbar",
610
+ children: /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
455
611
  "div",
456
612
  {
457
613
  ...indeterminate && { "data-indeterminate": true },
@@ -465,19 +621,19 @@ function ProgressBar(props) {
465
621
  }
466
622
 
467
623
  // src/components/IconButton.tsx
468
- var import_css6 = require("@cerberus/styled-system/css");
624
+ var import_css7 = require("@cerberus/styled-system/css");
469
625
  var import_recipes6 = require("@cerberus/styled-system/recipes");
470
- var import_jsx_runtime11 = require("react/jsx-runtime");
626
+ var import_jsx_runtime12 = require("react/jsx-runtime");
471
627
  function IconButton(props) {
472
628
  const { ariaLabel, palette, usage, size, ...nativeProps } = props;
473
- return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
629
+ return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
474
630
  "button",
475
631
  {
476
632
  ...nativeProps,
477
633
  "data-tooltip": true,
478
634
  "data-position": props.tooltipPosition ?? "top",
479
635
  "aria-label": ariaLabel ?? "Icon Button",
480
- className: (0, import_css6.cx)(
636
+ className: (0, import_css7.cx)(
481
637
  nativeProps.className,
482
638
  (0, import_recipes6.iconButton)({
483
639
  palette,
@@ -490,10 +646,7 @@ function IconButton(props) {
490
646
  }
491
647
 
492
648
  // src/components/FileStatus.tsx
493
- var import_recipes7 = require("@cerberus/styled-system/recipes");
494
- var import_css7 = require("@cerberus/styled-system/css");
495
- var import_patterns3 = require("@cerberus/styled-system/patterns");
496
- var import_jsx_runtime12 = require("react/jsx-runtime");
649
+ var import_jsx_runtime13 = require("react/jsx-runtime");
497
650
  var processStatus = /* @__PURE__ */ ((processStatus2) => {
498
651
  processStatus2["TODO"] = "todo";
499
652
  processStatus2["PROCESSING"] = "processing";
@@ -529,62 +682,62 @@ function FileStatus(props) {
529
682
  },
530
683
  [onClick]
531
684
  );
532
- return /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(
685
+ return /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(
533
686
  "div",
534
687
  {
535
688
  ...nativeProps,
536
- className: (0, import_css7.cx)(nativeProps.className, styles.root, (0, import_patterns3.hstack)()),
689
+ className: (0, import_css8.cx)(nativeProps.className, styles.root, (0, import_patterns4.hstack)()),
537
690
  children: [
538
- /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
691
+ /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
539
692
  Avatar,
540
693
  {
541
694
  ariaLabel: "",
542
695
  gradient: modalIconPalette,
543
- icon: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(MatchFileStatusIcon, { size: 24, status }),
696
+ icon: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(MatchFileStatusIcon, { size: 24, status }),
544
697
  src: ""
545
698
  }
546
699
  ),
547
- /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(
700
+ /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(
548
701
  "div",
549
702
  {
550
- className: (0, import_patterns3.vstack)({
703
+ className: (0, import_patterns4.vstack)({
551
704
  alignItems: "flex-start",
552
705
  gap: "0.12rem",
553
706
  w: "full"
554
707
  }),
555
708
  children: [
556
- /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
709
+ /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
557
710
  "small",
558
711
  {
559
- className: (0, import_css7.css)({
712
+ className: (0, import_css8.css)({
560
713
  color: "page.text.initial",
561
714
  textStyle: "label-sm"
562
715
  }),
563
716
  children: file
564
717
  }
565
718
  ),
566
- /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(ProgressBar, { now, size: "sm" }),
567
- /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(Field, { invalid: modalIconPalette === "red", children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
719
+ /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(ProgressBar, { now, size: "sm" }),
720
+ /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(Field, { invalid: modalIconPalette === "hades-dark", children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
568
721
  FieldMessage,
569
722
  {
570
- className: (0, import_css7.css)({
723
+ className: (0, import_css8.css)({
571
724
  color: "page.text.100"
572
725
  }),
573
726
  id: `help:${file}`,
574
- children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(MatchFileStatusText, { status, now })
727
+ children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(MatchFileStatusText, { status, now })
575
728
  }
576
729
  ) })
577
730
  ]
578
731
  }
579
732
  ),
580
- /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
733
+ /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
581
734
  IconButton,
582
735
  {
583
736
  ariaLabel: actionLabel,
584
737
  onClick: handleClick,
585
738
  palette,
586
739
  size: "sm",
587
- children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(MatchStatusAction, { status })
740
+ children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(MatchStatusAction, { status })
588
741
  }
589
742
  )
590
743
  ]
@@ -600,11 +753,11 @@ function MatchFileStatusIcon(props) {
600
753
  switch (props.status) {
601
754
  case "todo" /* TODO */:
602
755
  case "processing" /* PROCESSING */:
603
- return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(FileUploaderIcon, { size: props.size });
756
+ return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(FileUploaderIcon, { size: props.size });
604
757
  case "done" /* DONE */:
605
- return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(DoneIcon, { size: props.size });
758
+ return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(DoneIcon, { size: props.size });
606
759
  case "error" /* ERROR */:
607
- return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(InvalidIcon, { size: props.size });
760
+ return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(InvalidIcon, { size: props.size });
608
761
  default:
609
762
  throw new Error("Unknown status");
610
763
  }
@@ -628,11 +781,11 @@ function MatchStatusAction(props) {
628
781
  switch (props.status) {
629
782
  case "todo" /* TODO */:
630
783
  case "processing" /* PROCESSING */:
631
- return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(CloseIcon, {});
784
+ return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(CloseIcon, {});
632
785
  case "error" /* ERROR */:
633
- return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(RedoIcon, {});
786
+ return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(RedoIcon, {});
634
787
  case "done" /* DONE */:
635
- return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(TrashIcon, {});
788
+ return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(TrashIcon, {});
636
789
  default:
637
790
  throw new Error("Invalid status");
638
791
  }
@@ -667,66 +820,66 @@ function getModalIconPalette(status) {
667
820
  switch (status) {
668
821
  case "todo" /* TODO */:
669
822
  case "processing" /* PROCESSING */:
670
- return "light-purple";
823
+ return "charon-light";
671
824
  case "error" /* ERROR */:
672
- return "red";
825
+ return "hades-dark";
673
826
  case "done" /* DONE */:
674
- return "green";
827
+ return "thanatos-light";
675
828
  default:
676
- return "light-purple";
829
+ return "charon-light";
677
830
  }
678
831
  }
679
832
 
680
833
  // src/components/FileUploader.tsx
681
- var import_css8 = require("@cerberus/styled-system/css");
682
- var import_patterns4 = require("@cerberus/styled-system/patterns");
834
+ var import_css9 = require("@cerberus/styled-system/css");
835
+ var import_patterns5 = require("@cerberus/styled-system/patterns");
683
836
  var import_recipes8 = require("@cerberus/styled-system/recipes");
684
- var import_jsx_runtime13 = require("react/jsx-runtime");
837
+ var import_jsx_runtime14 = require("react/jsx-runtime");
685
838
  function FileUploader(props) {
686
839
  var _a;
687
840
  const styles = (0, import_recipes8.fileUploader)();
688
841
  const Icon = $cerberusIcons.fileUploader;
689
- return /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(
842
+ return /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)(
690
843
  "div",
691
844
  {
692
- className: (0, import_css8.cx)(
693
- (0, import_patterns4.vstack)({
845
+ className: (0, import_css9.cx)(
846
+ (0, import_patterns5.vstack)({
694
847
  justify: "center"
695
848
  }),
696
849
  styles.container
697
850
  ),
698
851
  children: [
699
- /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("div", { className: styles.icon, children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
852
+ /* @__PURE__ */ (0, import_jsx_runtime14.jsx)("div", { className: styles.icon, children: /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
700
853
  Avatar,
701
854
  {
702
- gradient: "light-purple",
855
+ gradient: "charon-light",
703
856
  ariaLabel: "",
704
- icon: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(Icon, {}),
857
+ icon: /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(Icon, {}),
705
858
  size: "md",
706
859
  src: ""
707
860
  }
708
861
  ) }),
709
- /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(
862
+ /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)(
710
863
  "label",
711
864
  {
712
- className: (0, import_css8.cx)(
713
- (0, import_patterns4.vstack)({
865
+ className: (0, import_css9.cx)(
866
+ (0, import_patterns5.vstack)({
714
867
  justify: "center"
715
868
  }),
716
869
  styles.label
717
870
  ),
718
871
  htmlFor: props.name,
719
872
  children: [
720
- /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(Show, { when: Boolean(props.heading), children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("p", { className: styles.heading, children: props.heading }) }),
873
+ /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(Show, { when: Boolean(props.heading), children: /* @__PURE__ */ (0, import_jsx_runtime14.jsx)("p", { className: styles.heading, children: props.heading }) }),
721
874
  "Import ",
722
875
  (_a = props.accept) == null ? void 0 : _a.replace(",", ", "),
723
876
  " files",
724
- /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("p", { className: styles.description, children: "Click to select files" }),
725
- /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
877
+ /* @__PURE__ */ (0, import_jsx_runtime14.jsx)("p", { className: styles.description, children: "Click to select files" }),
878
+ /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
726
879
  "input",
727
880
  {
728
881
  ...props,
729
- className: (0, import_css8.cx)(props.className, styles.input),
882
+ className: (0, import_css9.cx)(props.className, styles.input),
730
883
  type: "file"
731
884
  }
732
885
  )
@@ -740,17 +893,17 @@ function FileUploader(props) {
740
893
 
741
894
  // src/components/Input.tsx
742
895
  var import_recipes9 = require("@cerberus/styled-system/recipes");
743
- var import_css9 = require("@cerberus/styled-system/css");
744
- var import_jsx_runtime14 = require("react/jsx-runtime");
896
+ var import_css10 = require("@cerberus/styled-system/css");
897
+ var import_jsx_runtime15 = require("react/jsx-runtime");
745
898
  function Input(props) {
746
899
  const { describedBy, size, startIcon, endIcon, ...nativeProps } = props;
747
900
  const inputStyles = (0, import_recipes9.input)({ size });
748
901
  const { invalid, ...fieldStates } = useFieldContext();
749
902
  const hasEndIcon = Boolean(endIcon);
750
903
  const { invalid: InvalidIcon } = $cerberusIcons;
751
- return /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)("div", { className: inputStyles.root, children: [
752
- /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(Show, { when: Boolean(startIcon), children: /* @__PURE__ */ (0, import_jsx_runtime14.jsx)("span", { className: inputStyles.startIcon, children: startIcon }) }),
753
- /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
904
+ return /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)("div", { className: inputStyles.root, children: [
905
+ /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(Show, { when: Boolean(startIcon), children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("span", { className: inputStyles.startIcon, children: startIcon }) }),
906
+ /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
754
907
  "input",
755
908
  {
756
909
  ...nativeProps,
@@ -758,42 +911,42 @@ function Input(props) {
758
911
  ...describedBy && { "aria-describedby": describedBy },
759
912
  ...invalid && { "aria-invalid": true },
760
913
  "data-start-icon": Boolean(startIcon),
761
- className: (0, import_css9.cx)("peer", nativeProps.className, inputStyles.input)
914
+ className: (0, import_css10.cx)("peer", nativeProps.className, inputStyles.input)
762
915
  }
763
916
  ),
764
- /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(Show, { when: invalid, children: /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(InvalidIcon, { className: inputStyles.icon }) }),
765
- /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(Show, { when: hasEndIcon && !invalid, children: /* @__PURE__ */ (0, import_jsx_runtime14.jsx)("span", { className: inputStyles.icon, children: endIcon }) })
917
+ /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(Show, { when: invalid, children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(InvalidIcon, { className: inputStyles.icon }) }),
918
+ /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(Show, { when: hasEndIcon && !invalid, children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("span", { className: inputStyles.icon, children: endIcon }) })
766
919
  ] });
767
920
  }
768
921
 
769
922
  // src/components/Label.tsx
770
923
  var import_recipes10 = require("@cerberus/styled-system/recipes");
771
- var import_css10 = require("@cerberus/styled-system/css");
772
- var import_patterns5 = require("@cerberus/styled-system/patterns");
773
- var import_jsx_runtime15 = require("react/jsx-runtime");
924
+ var import_css11 = require("@cerberus/styled-system/css");
925
+ var import_patterns6 = require("@cerberus/styled-system/patterns");
926
+ var import_jsx_runtime16 = require("react/jsx-runtime");
774
927
  function Label(props) {
775
928
  const { hidden, size, ...nativeProps } = props;
776
929
  const { required, disabled } = useFieldContext();
777
930
  const usage = hidden ? "hidden" : "visible";
778
- return /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(
931
+ return /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(
779
932
  "label",
780
933
  {
781
934
  ...nativeProps,
782
935
  ...disabled && { "data-disabled": true },
783
- className: (0, import_css10.cx)(
936
+ className: (0, import_css11.cx)(
784
937
  nativeProps.className,
785
938
  (0, import_recipes10.label)({ size, usage }),
786
- (0, import_patterns5.hstack)({
939
+ (0, import_patterns6.hstack)({
787
940
  justify: "space-between",
788
941
  w: "full"
789
942
  })
790
943
  ),
791
944
  children: [
792
945
  props.children,
793
- /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(Show, { when: required, children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
946
+ /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(Show, { when: required, children: /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
794
947
  "span",
795
948
  {
796
- className: (0, import_css10.css)({
949
+ className: (0, import_css11.css)({
797
950
  color: "inherit",
798
951
  fontSize: "inherit"
799
952
  }),
@@ -806,16 +959,16 @@ function Label(props) {
806
959
  }
807
960
 
808
961
  // src/components/Modal.tsx
809
- var import_css11 = require("@cerberus/styled-system/css");
962
+ var import_css12 = require("@cerberus/styled-system/css");
810
963
  var import_recipes11 = require("@cerberus/styled-system/recipes");
811
964
  var import_react6 = require("react");
812
- var import_jsx_runtime16 = require("react/jsx-runtime");
965
+ var import_jsx_runtime17 = require("react/jsx-runtime");
813
966
  function ModalEl(props, ref) {
814
- return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
967
+ return /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
815
968
  "dialog",
816
969
  {
817
970
  ...props,
818
- className: (0, import_css11.cx)(props.className, (0, import_recipes11.modal)().dialog),
971
+ className: (0, import_css12.cx)(props.className, (0, import_recipes11.modal)().dialog),
819
972
  ref
820
973
  }
821
974
  );
@@ -823,17 +976,17 @@ function ModalEl(props, ref) {
823
976
  var Modal = (0, import_react6.forwardRef)(ModalEl);
824
977
 
825
978
  // src/components/ModalHeader.tsx
826
- var import_css12 = require("@cerberus/styled-system/css");
827
- var import_patterns6 = require("@cerberus/styled-system/patterns");
828
- var import_jsx_runtime17 = require("react/jsx-runtime");
979
+ var import_css13 = require("@cerberus/styled-system/css");
980
+ var import_patterns7 = require("@cerberus/styled-system/patterns");
981
+ var import_jsx_runtime18 = require("react/jsx-runtime");
829
982
  function ModalHeader(props) {
830
- return /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
983
+ return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
831
984
  "div",
832
985
  {
833
986
  ...props,
834
- className: (0, import_css12.cx)(
987
+ className: (0, import_css13.cx)(
835
988
  props.className,
836
- (0, import_patterns6.vstack)({
989
+ (0, import_patterns7.vstack)({
837
990
  alignItems: "flex-start",
838
991
  gap: "4",
839
992
  mb: "8"
@@ -844,24 +997,24 @@ function ModalHeader(props) {
844
997
  }
845
998
 
846
999
  // src/components/ModalHeading.tsx
847
- var import_css13 = require("@cerberus/styled-system/css");
1000
+ var import_css14 = require("@cerberus/styled-system/css");
848
1001
  var import_recipes12 = require("@cerberus/styled-system/recipes");
849
- var import_jsx_runtime18 = require("react/jsx-runtime");
1002
+ var import_jsx_runtime19 = require("react/jsx-runtime");
850
1003
  function ModalHeading(props) {
851
- return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)("p", { ...props, className: (0, import_css13.cx)(props.className, (0, import_recipes12.modal)().heading) });
1004
+ return /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("p", { ...props, className: (0, import_css14.cx)(props.className, (0, import_recipes12.modal)().heading) });
852
1005
  }
853
1006
 
854
1007
  // src/components/ModalDescription.tsx
855
- var import_css14 = require("@cerberus/styled-system/css");
1008
+ var import_css15 = require("@cerberus/styled-system/css");
856
1009
  var import_recipes13 = require("@cerberus/styled-system/recipes");
857
- var import_jsx_runtime19 = require("react/jsx-runtime");
1010
+ var import_jsx_runtime20 = require("react/jsx-runtime");
858
1011
  function ModalDescription(props) {
859
- return /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("p", { ...props, className: (0, import_css14.cx)(props.className, (0, import_recipes13.modal)().description) });
1012
+ return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("p", { ...props, className: (0, import_css15.cx)(props.className, (0, import_recipes13.modal)().description) });
860
1013
  }
861
1014
 
862
1015
  // src/components/NavMenuTrigger.tsx
863
1016
  var import_react8 = require("react");
864
- var import_css16 = require("@cerberus/styled-system/css");
1017
+ var import_css17 = require("@cerberus/styled-system/css");
865
1018
  var import_recipes14 = require("@cerberus/styled-system/recipes");
866
1019
 
867
1020
  // src/aria-helpers/nav-menu.aria.ts
@@ -873,9 +1026,9 @@ function createNavTriggerProps(values) {
873
1026
  }
874
1027
 
875
1028
  // src/context/navMenu.tsx
876
- var import_css15 = require("@cerberus/styled-system/css");
1029
+ var import_css16 = require("@cerberus/styled-system/css");
877
1030
  var import_react7 = require("react");
878
- var import_jsx_runtime20 = require("react/jsx-runtime");
1031
+ var import_jsx_runtime21 = require("react/jsx-runtime");
879
1032
  var NavMenuContext = (0, import_react7.createContext)(null);
880
1033
  function NavMenu(props) {
881
1034
  const triggerRef = (0, import_react7.useRef)(null);
@@ -893,10 +1046,10 @@ function NavMenu(props) {
893
1046
  }),
894
1047
  [expanded, handleToggle]
895
1048
  );
896
- return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(NavMenuContext.Provider, { value, children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
1049
+ return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(NavMenuContext.Provider, { value, children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
897
1050
  "nav",
898
1051
  {
899
- className: (0, import_css15.css)({
1052
+ className: (0, import_css16.css)({
900
1053
  position: "relative"
901
1054
  }),
902
1055
  children: props.children
@@ -912,7 +1065,7 @@ function useNavMenuContext() {
912
1065
  }
913
1066
 
914
1067
  // src/components/NavMenuTrigger.tsx
915
- var import_jsx_runtime21 = require("react/jsx-runtime");
1068
+ var import_jsx_runtime22 = require("react/jsx-runtime");
916
1069
  function NavMenuTrigger(props) {
917
1070
  const {
918
1071
  as,
@@ -938,16 +1091,16 @@ function NavMenuTrigger(props) {
938
1091
  },
939
1092
  [onClick, onToggle]
940
1093
  );
941
- return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
1094
+ return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
942
1095
  Show,
943
1096
  {
944
1097
  when: hasAs,
945
- fallback: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
1098
+ fallback: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
946
1099
  "button",
947
1100
  {
948
1101
  ...nativeProps,
949
1102
  ...ariaProps,
950
- className: (0, import_css16.cx)(
1103
+ className: (0, import_css17.cx)(
951
1104
  nativeProps.className,
952
1105
  (0, import_recipes14.button)({
953
1106
  palette,
@@ -960,7 +1113,7 @@ function NavMenuTrigger(props) {
960
1113
  children: props.children
961
1114
  }
962
1115
  ),
963
- children: hasAs && /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
1116
+ children: hasAs && /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
964
1117
  AsSub,
965
1118
  {
966
1119
  ...nativeProps,
@@ -975,9 +1128,9 @@ function NavMenuTrigger(props) {
975
1128
 
976
1129
  // src/components/NavMenuList.tsx
977
1130
  var import_react9 = require("react");
978
- var import_css17 = require("@cerberus/styled-system/css");
979
- var import_patterns7 = require("@cerberus/styled-system/patterns");
980
- var import_jsx_runtime22 = require("react/jsx-runtime");
1131
+ var import_css18 = require("@cerberus/styled-system/css");
1132
+ var import_patterns8 = require("@cerberus/styled-system/patterns");
1133
+ var import_jsx_runtime23 = require("react/jsx-runtime");
981
1134
  function getPosition(position) {
982
1135
  const defaultPositions = {
983
1136
  left: "auto",
@@ -998,7 +1151,7 @@ function getPosition(position) {
998
1151
  return defaultPositions;
999
1152
  }
1000
1153
  }
1001
- var navListStyles = (0, import_patterns7.vstack)({
1154
+ var navListStyles = (0, import_patterns8.vstack)({
1002
1155
  alignItems: "flex-start",
1003
1156
  bgColor: "page.surface.100",
1004
1157
  boxShadow: "lg",
@@ -1035,12 +1188,12 @@ function NavMenuList(props) {
1035
1188
  () => getPosition(position ?? "bottom"),
1036
1189
  [position]
1037
1190
  );
1038
- return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(Show, { when: expanded, children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
1191
+ return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(Show, { when: expanded, children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
1039
1192
  "ul",
1040
1193
  {
1041
1194
  ...nativeProps,
1042
1195
  "data-position": position ?? "bottom",
1043
- className: (0, import_css17.cx)(nativeProps.className, navListStyles),
1196
+ className: (0, import_css18.cx)(nativeProps.className, navListStyles),
1044
1197
  ref: menuRef,
1045
1198
  style: locationStyles
1046
1199
  }
@@ -1048,29 +1201,29 @@ function NavMenuList(props) {
1048
1201
  }
1049
1202
 
1050
1203
  // src/components/NavMenuLink.tsx
1051
- var import_css18 = require("@cerberus/styled-system/css");
1052
- var import_jsx_runtime23 = require("react/jsx-runtime");
1204
+ var import_css19 = require("@cerberus/styled-system/css");
1205
+ var import_jsx_runtime24 = require("react/jsx-runtime");
1053
1206
  function NavMenuLink(props) {
1054
1207
  const { as, ...nativeProps } = props;
1055
1208
  const hasAs = Boolean(as);
1056
1209
  const AsSub = as;
1057
- return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
1210
+ return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
1058
1211
  "li",
1059
1212
  {
1060
- className: (0, import_css18.css)({
1213
+ className: (0, import_css19.css)({
1061
1214
  w: "full"
1062
1215
  }),
1063
- children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
1216
+ children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
1064
1217
  Show,
1065
1218
  {
1066
1219
  when: hasAs,
1067
- fallback: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
1220
+ fallback: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
1068
1221
  "a",
1069
1222
  {
1070
1223
  ...nativeProps,
1071
- className: (0, import_css18.cx)(
1224
+ className: (0, import_css19.cx)(
1072
1225
  nativeProps.className,
1073
- (0, import_css18.css)({
1226
+ (0, import_css19.css)({
1074
1227
  color: "action.navigation.initial",
1075
1228
  textStyle: "link",
1076
1229
  _hover: {
@@ -1080,7 +1233,7 @@ function NavMenuLink(props) {
1080
1233
  )
1081
1234
  }
1082
1235
  ),
1083
- children: hasAs && /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(AsSub, { ...nativeProps })
1236
+ children: hasAs && /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(AsSub, { ...nativeProps })
1084
1237
  }
1085
1238
  )
1086
1239
  }
@@ -1088,8 +1241,8 @@ function NavMenuLink(props) {
1088
1241
  }
1089
1242
 
1090
1243
  // src/components/Notification.tsx
1091
- var import_css19 = require("@cerberus/styled-system/css");
1092
- var import_patterns8 = require("@cerberus/styled-system/patterns");
1244
+ var import_css20 = require("@cerberus/styled-system/css");
1245
+ var import_patterns9 = require("@cerberus/styled-system/patterns");
1093
1246
  var import_recipes15 = require("@cerberus/styled-system/recipes");
1094
1247
  var import_react10 = require("react");
1095
1248
  var import_icons2 = require("@cerberus/icons");
@@ -1121,25 +1274,25 @@ function trapFocus(modalRef) {
1121
1274
  }
1122
1275
 
1123
1276
  // src/components/Notification.tsx
1124
- var import_jsx_runtime24 = require("react/jsx-runtime");
1277
+ var import_jsx_runtime25 = require("react/jsx-runtime");
1125
1278
  function MatchNotificationIcon(props) {
1126
1279
  const palette = props.palette || "info";
1127
1280
  const key = `${palette}Notification`;
1128
1281
  const Icon = $cerberusIcons[key];
1129
- return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(Icon, {});
1282
+ return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(Icon, {});
1130
1283
  }
1131
1284
  function Notification(props) {
1132
1285
  const { children, palette, onClose, ...nativeProps } = props;
1133
1286
  const ref = (0, import_react10.useRef)(null);
1134
1287
  const onKeyDown = trapFocus(ref);
1135
1288
  const styles = (0, import_recipes15.notification)({ palette });
1136
- return /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)(
1289
+ return /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(
1137
1290
  "dialog",
1138
1291
  {
1139
1292
  ...nativeProps,
1140
- className: (0, import_css19.cx)(
1293
+ className: (0, import_css20.cx)(
1141
1294
  nativeProps.className,
1142
- (0, import_patterns8.hstack)({
1295
+ (0, import_patterns9.hstack)({
1143
1296
  position: "relative",
1144
1297
  gap: "4"
1145
1298
  }),
@@ -1149,11 +1302,11 @@ function Notification(props) {
1149
1302
  ref,
1150
1303
  role: "alert",
1151
1304
  children: [
1152
- /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("span", { className: styles.icon, children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(MatchNotificationIcon, { palette }) }),
1153
- /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
1305
+ /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("span", { className: styles.icon, children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(MatchNotificationIcon, { palette }) }),
1306
+ /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
1154
1307
  "div",
1155
1308
  {
1156
- className: (0, import_patterns8.vstack)({
1309
+ className: (0, import_patterns9.vstack)({
1157
1310
  alignItems: "flex-start",
1158
1311
  gap: "0",
1159
1312
  py: "2"
@@ -1161,14 +1314,14 @@ function Notification(props) {
1161
1314
  children
1162
1315
  }
1163
1316
  ),
1164
- /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
1317
+ /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
1165
1318
  "button",
1166
1319
  {
1167
1320
  "aria-label": "Close",
1168
1321
  className: styles.close,
1169
1322
  onClick: onClose,
1170
1323
  value: props.id,
1171
- children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(import_icons2.Close, {})
1324
+ children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(import_icons2.Close, {})
1172
1325
  }
1173
1326
  )
1174
1327
  ]
@@ -1177,26 +1330,26 @@ function Notification(props) {
1177
1330
  }
1178
1331
 
1179
1332
  // src/components/NotificationHeading.tsx
1180
- var import_css20 = require("@cerberus/styled-system/css");
1333
+ var import_css21 = require("@cerberus/styled-system/css");
1181
1334
  var import_recipes16 = require("@cerberus/styled-system/recipes");
1182
- var import_jsx_runtime25 = require("react/jsx-runtime");
1335
+ var import_jsx_runtime26 = require("react/jsx-runtime");
1183
1336
  function NotificationHeading(props) {
1184
1337
  const { palette, ...nativeProps } = props;
1185
1338
  const styles = (0, import_recipes16.notification)({ palette });
1186
- return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("p", { className: (0, import_css20.cx)(nativeProps.className, styles.heading), ...nativeProps });
1339
+ return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)("p", { className: (0, import_css21.cx)(nativeProps.className, styles.heading), ...nativeProps });
1187
1340
  }
1188
1341
 
1189
1342
  // src/components/NotificationDescription.tsx
1190
- var import_css21 = require("@cerberus/styled-system/css");
1343
+ var import_css22 = require("@cerberus/styled-system/css");
1191
1344
  var import_recipes17 = require("@cerberus/styled-system/recipes");
1192
- var import_jsx_runtime26 = require("react/jsx-runtime");
1345
+ var import_jsx_runtime27 = require("react/jsx-runtime");
1193
1346
  function NotificationDescription(props) {
1194
1347
  const { palette, ...nativeProps } = props;
1195
1348
  const styles = (0, import_recipes17.notification)({ palette });
1196
- return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
1349
+ return /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
1197
1350
  "p",
1198
1351
  {
1199
- className: (0, import_css21.cx)(nativeProps.className, styles.description),
1352
+ className: (0, import_css22.cx)(nativeProps.className, styles.description),
1200
1353
  ...nativeProps
1201
1354
  }
1202
1355
  );
@@ -1210,22 +1363,22 @@ function Portal(props) {
1210
1363
  }
1211
1364
 
1212
1365
  // src/components/Radio.tsx
1213
- var import_css22 = require("@cerberus/styled-system/css");
1214
- var import_patterns9 = require("@cerberus/styled-system/patterns");
1366
+ var import_css23 = require("@cerberus/styled-system/css");
1367
+ var import_patterns10 = require("@cerberus/styled-system/patterns");
1215
1368
  var import_recipes18 = require("@cerberus/styled-system/recipes");
1216
- var import_jsx_runtime27 = require("react/jsx-runtime");
1369
+ var import_jsx_runtime28 = require("react/jsx-runtime");
1217
1370
  function Radio(props) {
1218
1371
  const { children, size, ...nativeProps } = props;
1219
1372
  const { invalid, ...state } = useFieldContext();
1220
1373
  const styles = (0, import_recipes18.radio)({ size });
1221
- return /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)("div", { className: (0, import_css22.cx)("group", (0, import_patterns9.hstack)(), styles.root), tabIndex: 0, children: [
1222
- /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
1374
+ return /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)("div", { className: (0, import_css23.cx)("group", (0, import_patterns10.hstack)(), styles.root), tabIndex: 0, children: [
1375
+ /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
1223
1376
  "input",
1224
1377
  {
1225
1378
  ...nativeProps,
1226
1379
  ...state,
1227
1380
  ...invalid && { "aria-invalid": true },
1228
- className: (0, import_css22.cx)(nativeProps.className, styles.input),
1381
+ className: (0, import_css23.cx)(nativeProps.className, styles.input),
1229
1382
  tabIndex: -1,
1230
1383
  type: "radio"
1231
1384
  }
@@ -1235,10 +1388,10 @@ function Radio(props) {
1235
1388
  }
1236
1389
 
1237
1390
  // src/components/Select.tsx
1238
- var import_css23 = require("@cerberus/styled-system/css");
1239
- var import_patterns10 = require("@cerberus/styled-system/patterns");
1391
+ var import_css24 = require("@cerberus/styled-system/css");
1392
+ var import_patterns11 = require("@cerberus/styled-system/patterns");
1240
1393
  var import_recipes19 = require("@cerberus/styled-system/recipes");
1241
- var import_jsx_runtime28 = require("react/jsx-runtime");
1394
+ var import_jsx_runtime29 = require("react/jsx-runtime");
1242
1395
  function Select(props) {
1243
1396
  const { describedBy, size, ...nativeProps } = props;
1244
1397
  const { invalid, ...fieldStates } = useFieldContext();
@@ -1246,8 +1399,8 @@ function Select(props) {
1246
1399
  const styles = (0, import_recipes19.select)({
1247
1400
  size
1248
1401
  });
1249
- return /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)("div", { className: styles.root, children: [
1250
- /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
1402
+ return /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)("div", { className: styles.root, children: [
1403
+ /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
1251
1404
  "select",
1252
1405
  {
1253
1406
  ...nativeProps,
@@ -1257,32 +1410,108 @@ function Select(props) {
1257
1410
  className: styles.input
1258
1411
  }
1259
1412
  ),
1260
- /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)(
1413
+ /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)(
1261
1414
  "span",
1262
1415
  {
1263
- className: (0, import_css23.cx)(
1416
+ className: (0, import_css24.cx)(
1264
1417
  styles.iconStack,
1265
- (0, import_patterns10.hstack)({
1418
+ (0, import_patterns11.hstack)({
1266
1419
  gap: "2"
1267
1420
  })
1268
1421
  ),
1269
1422
  children: [
1270
- /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(Show, { when: invalid, children: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
1423
+ /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(Show, { when: invalid, children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
1271
1424
  "span",
1272
1425
  {
1273
1426
  ...invalid && { "data-invalid": true },
1274
1427
  className: styles.stateIcon,
1275
- children: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(InvalidIcon, {})
1428
+ children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(InvalidIcon, {})
1276
1429
  }
1277
1430
  ) }),
1278
- /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("span", { className: styles.arrowIcon, children: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(SelectArrow, {}) })
1431
+ /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("span", { className: styles.arrowIcon, children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(SelectArrow, {}) })
1279
1432
  ]
1280
1433
  }
1281
1434
  )
1282
1435
  ] });
1283
1436
  }
1284
1437
  function Option(props) {
1285
- return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("option", { ...props });
1438
+ return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("option", { ...props });
1439
+ }
1440
+
1441
+ // src/components/Spinner.tsx
1442
+ var import_jsx_runtime30 = require("react/jsx-runtime");
1443
+ function Spinner(props) {
1444
+ return /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
1445
+ "svg",
1446
+ {
1447
+ "aria-busy": "true",
1448
+ role: "status",
1449
+ xmlns: "http://www.w3.org/2000/svg",
1450
+ height: props.size,
1451
+ width: props.size,
1452
+ viewBox: "0 0 24 24",
1453
+ ...props,
1454
+ children: /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)(
1455
+ "g",
1456
+ {
1457
+ fill: "none",
1458
+ stroke: "currentColor",
1459
+ strokeLinecap: "round",
1460
+ strokeLinejoin: "round",
1461
+ strokeWidth: 2,
1462
+ children: [
1463
+ /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)(
1464
+ "path",
1465
+ {
1466
+ strokeDasharray: 16,
1467
+ strokeDashoffset: 16,
1468
+ d: "M12 3c4.97 0 9 4.03 9 9",
1469
+ children: [
1470
+ /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
1471
+ "animate",
1472
+ {
1473
+ fill: "freeze",
1474
+ attributeName: "stroke-dashoffset",
1475
+ dur: "0.15s",
1476
+ values: "16;0"
1477
+ }
1478
+ ),
1479
+ /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
1480
+ "animateTransform",
1481
+ {
1482
+ attributeName: "transform",
1483
+ dur: "0.75s",
1484
+ repeatCount: "indefinite",
1485
+ type: "rotate",
1486
+ values: "0 12 12;360 12 12"
1487
+ }
1488
+ )
1489
+ ]
1490
+ }
1491
+ ),
1492
+ /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
1493
+ "path",
1494
+ {
1495
+ strokeDasharray: 64,
1496
+ strokeDashoffset: 64,
1497
+ strokeOpacity: 0.3,
1498
+ d: "M12 3c4.97 0 9 4.03 9 9c0 4.97 -4.03 9 -9 9c-4.97 0 -9 -4.03 -9 -9c0 -4.97 4.03 -9 9 -9Z",
1499
+ children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
1500
+ "animate",
1501
+ {
1502
+ fill: "freeze",
1503
+ attributeName: "stroke-dashoffset",
1504
+ dur: "0.6s",
1505
+ values: "64;0"
1506
+ }
1507
+ )
1508
+ }
1509
+ )
1510
+ ]
1511
+ }
1512
+ )
1513
+ }
1514
+ );
1286
1515
  }
1287
1516
 
1288
1517
  // src/components/Tab.tsx
@@ -1291,7 +1520,7 @@ var import_react13 = require("react");
1291
1520
  // src/context/tabs.tsx
1292
1521
  var import_recipes20 = require("@cerberus/styled-system/recipes");
1293
1522
  var import_react11 = require("react");
1294
- var import_jsx_runtime29 = require("react/jsx-runtime");
1523
+ var import_jsx_runtime31 = require("react/jsx-runtime");
1295
1524
  var TabsContext = (0, import_react11.createContext)(null);
1296
1525
  function Tabs(props) {
1297
1526
  const { cache, active, id, palette } = props;
@@ -1323,7 +1552,7 @@ function Tabs(props) {
1323
1552
  window.localStorage.setItem(uuid, activeTab);
1324
1553
  }
1325
1554
  }, [activeTab, cache]);
1326
- return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(TabsContext.Provider, { value, children: props.children });
1555
+ return /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(TabsContext.Provider, { value, children: props.children });
1327
1556
  }
1328
1557
  function useTabsContext() {
1329
1558
  const context = (0, import_react11.useContext)(TabsContext);
@@ -1334,7 +1563,7 @@ function useTabsContext() {
1334
1563
  }
1335
1564
 
1336
1565
  // src/components/Tab.tsx
1337
- var import_css24 = require("@cerberus/styled-system/css");
1566
+ var import_css25 = require("@cerberus/styled-system/css");
1338
1567
 
1339
1568
  // src/aria-helpers/tabs.aria.ts
1340
1569
  var import_react12 = require("react");
@@ -1393,7 +1622,7 @@ function useTabsKeyboardNavigation() {
1393
1622
  }
1394
1623
 
1395
1624
  // src/components/Tab.tsx
1396
- var import_jsx_runtime30 = require("react/jsx-runtime");
1625
+ var import_jsx_runtime32 = require("react/jsx-runtime");
1397
1626
  function Tab(props) {
1398
1627
  const { value, ...nativeProps } = props;
1399
1628
  const { active, onTabUpdate, styles } = useTabsContext();
@@ -1405,7 +1634,7 @@ function Tab(props) {
1405
1634
  (_a = props.onClick) == null ? void 0 : _a.call(props, e);
1406
1635
  startTransition(() => onTabUpdate(e.currentTarget.value));
1407
1636
  }
1408
- return /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
1637
+ return /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
1409
1638
  "button",
1410
1639
  {
1411
1640
  ...nativeProps,
@@ -1414,7 +1643,7 @@ function Tab(props) {
1414
1643
  "aria-busy": isPending,
1415
1644
  "aria-selected": isActive,
1416
1645
  id: value,
1417
- className: (0, import_css24.cx)(nativeProps.className, styles.tab),
1646
+ className: (0, import_css25.cx)(nativeProps.className, styles.tab),
1418
1647
  onClick: handleClick,
1419
1648
  role: "tab",
1420
1649
  ref,
@@ -1424,20 +1653,20 @@ function Tab(props) {
1424
1653
  }
1425
1654
 
1426
1655
  // src/components/TabList.tsx
1427
- var import_css25 = require("@cerberus/styled-system/css");
1428
- var import_patterns11 = require("@cerberus/styled-system/patterns");
1429
- var import_jsx_runtime31 = require("react/jsx-runtime");
1656
+ var import_css26 = require("@cerberus/styled-system/css");
1657
+ var import_patterns12 = require("@cerberus/styled-system/patterns");
1658
+ var import_jsx_runtime33 = require("react/jsx-runtime");
1430
1659
  function TabList(props) {
1431
1660
  const { description, ...nativeProps } = props;
1432
1661
  const { id, styles } = useTabsContext();
1433
- return /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
1662
+ return /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
1434
1663
  "div",
1435
1664
  {
1436
1665
  ...nativeProps,
1437
1666
  "aria-describedby": description,
1438
- className: (0, import_css25.cx)(
1667
+ className: (0, import_css26.cx)(
1439
1668
  nativeProps.className,
1440
- (0, import_patterns11.hstack)({
1669
+ (0, import_patterns12.hstack)({
1441
1670
  gap: "0"
1442
1671
  }),
1443
1672
  styles.tabList
@@ -1448,20 +1677,20 @@ function TabList(props) {
1448
1677
  }
1449
1678
 
1450
1679
  // src/components/TabPanel.tsx
1451
- var import_css26 = require("@cerberus/styled-system/css");
1680
+ var import_css27 = require("@cerberus/styled-system/css");
1452
1681
  var import_react14 = require("react");
1453
- var import_jsx_runtime32 = require("react/jsx-runtime");
1682
+ var import_jsx_runtime34 = require("react/jsx-runtime");
1454
1683
  function TabPanel(props) {
1455
1684
  const { tab, ...nativeProps } = props;
1456
1685
  const { active, styles } = useTabsContext();
1457
1686
  const isActive = (0, import_react14.useMemo)(() => active === tab, [active, tab]);
1458
- return /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(Show, { when: isActive, children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
1687
+ return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(Show, { when: isActive, children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
1459
1688
  "div",
1460
1689
  {
1461
1690
  ...nativeProps,
1462
1691
  ...isActive && { tabIndex: 0 },
1463
1692
  "aria-labelledby": tab,
1464
- className: (0, import_css26.cx)(nativeProps.className, styles.tabPanel),
1693
+ className: (0, import_css27.cx)(nativeProps.className, styles.tabPanel),
1465
1694
  id: `panel:${tab}`,
1466
1695
  role: "tabpanel"
1467
1696
  }
@@ -1469,60 +1698,60 @@ function TabPanel(props) {
1469
1698
  }
1470
1699
 
1471
1700
  // src/components/Table.tsx
1472
- var import_css27 = require("@cerberus/styled-system/css");
1701
+ var import_css28 = require("@cerberus/styled-system/css");
1473
1702
  var import_recipes21 = require("@cerberus/styled-system/recipes");
1474
- var import_jsx_runtime33 = require("react/jsx-runtime");
1703
+ var import_jsx_runtime35 = require("react/jsx-runtime");
1475
1704
  function Table(props) {
1476
1705
  const { caption, children, ...nativeProps } = props;
1477
1706
  const styles = (0, import_recipes21.table)();
1478
- return /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("div", { className: styles.container, children: /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(
1707
+ return /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("div", { className: styles.container, children: /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)(
1479
1708
  "table",
1480
1709
  {
1481
1710
  ...nativeProps,
1482
- className: (0, import_css27.cx)(nativeProps.className, styles.table),
1711
+ className: (0, import_css28.cx)(nativeProps.className, styles.table),
1483
1712
  children: [
1484
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("caption", { className: styles.caption, children: caption }),
1713
+ /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("caption", { className: styles.caption, children: caption }),
1485
1714
  children
1486
1715
  ]
1487
1716
  }
1488
1717
  ) });
1489
1718
  }
1490
1719
  function Tr(props) {
1491
- return /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("tr", { ...props });
1720
+ return /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("tr", { ...props });
1492
1721
  }
1493
1722
 
1494
1723
  // src/components/Thead.tsx
1495
- var import_css28 = require("@cerberus/styled-system/css");
1724
+ var import_css29 = require("@cerberus/styled-system/css");
1496
1725
  var import_recipes22 = require("@cerberus/styled-system/recipes");
1497
- var import_jsx_runtime34 = require("react/jsx-runtime");
1726
+ var import_jsx_runtime36 = require("react/jsx-runtime");
1498
1727
  function Thead(props) {
1499
- return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("thead", { ...props, className: (0, import_css28.cx)(props.className, (0, import_recipes22.thead)()) });
1728
+ return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("thead", { ...props, className: (0, import_css29.cx)(props.className, (0, import_recipes22.thead)()) });
1500
1729
  }
1501
1730
 
1502
1731
  // src/components/Th.tsx
1503
- var import_css29 = require("@cerberus/styled-system/css");
1732
+ var import_css30 = require("@cerberus/styled-system/css");
1504
1733
  var import_recipes23 = require("@cerberus/styled-system/recipes");
1505
- var import_jsx_runtime35 = require("react/jsx-runtime");
1734
+ var import_jsx_runtime37 = require("react/jsx-runtime");
1506
1735
  function Th(props) {
1507
1736
  const { size, onClick, ...nativeProps } = props;
1508
- return /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
1737
+ return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
1509
1738
  Show,
1510
1739
  {
1511
1740
  when: Boolean(onClick),
1512
- fallback: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
1741
+ fallback: /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
1513
1742
  "th",
1514
1743
  {
1515
1744
  ...nativeProps,
1516
- className: (0, import_css29.cx)(nativeProps.className, (0, import_recipes23.th)({ size }))
1745
+ className: (0, import_css30.cx)(nativeProps.className, (0, import_recipes23.th)({ size }))
1517
1746
  }
1518
1747
  ),
1519
- children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("th", { ...nativeProps, children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
1748
+ children: /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("th", { ...nativeProps, children: /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
1520
1749
  "button",
1521
1750
  {
1522
- className: (0, import_css29.cx)(
1751
+ className: (0, import_css30.cx)(
1523
1752
  nativeProps.className,
1524
1753
  (0, import_recipes23.th)({ size }),
1525
- (0, import_css29.css)({
1754
+ (0, import_css30.css)({
1526
1755
  alignItems: "center",
1527
1756
  display: "inline-flex",
1528
1757
  justifyContent: "space-between",
@@ -1539,16 +1768,16 @@ function Th(props) {
1539
1768
  }
1540
1769
 
1541
1770
  // src/components/Td.tsx
1542
- var import_css30 = require("@cerberus/styled-system/css");
1771
+ var import_css31 = require("@cerberus/styled-system/css");
1543
1772
  var import_recipes24 = require("@cerberus/styled-system/recipes");
1544
- var import_jsx_runtime36 = require("react/jsx-runtime");
1773
+ var import_jsx_runtime38 = require("react/jsx-runtime");
1545
1774
  function Td(props) {
1546
1775
  const { size, ...nativeProps } = props;
1547
- return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
1776
+ return /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
1548
1777
  "td",
1549
1778
  {
1550
1779
  ...nativeProps,
1551
- className: (0, import_css30.cx)(
1780
+ className: (0, import_css31.cx)(
1552
1781
  nativeProps.className,
1553
1782
  (0, import_recipes24.td)({
1554
1783
  size
@@ -1560,15 +1789,15 @@ function Td(props) {
1560
1789
 
1561
1790
  // src/components/Tbody.tsx
1562
1791
  var import_recipes25 = require("@cerberus/styled-system/recipes");
1563
- var import_css31 = require("@cerberus/styled-system/css");
1564
- var import_jsx_runtime37 = require("react/jsx-runtime");
1792
+ var import_css32 = require("@cerberus/styled-system/css");
1793
+ var import_jsx_runtime39 = require("react/jsx-runtime");
1565
1794
  function Tbody(props) {
1566
1795
  const { decoration, ...nativeProps } = props;
1567
- return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
1796
+ return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
1568
1797
  "tbody",
1569
1798
  {
1570
1799
  ...nativeProps,
1571
- className: (0, import_css31.cx)(
1800
+ className: (0, import_css32.cx)(
1572
1801
  nativeProps.className,
1573
1802
  (0, import_recipes25.tbody)({
1574
1803
  decoration
@@ -1579,21 +1808,21 @@ function Tbody(props) {
1579
1808
  }
1580
1809
 
1581
1810
  // src/components/Tag.tsx
1582
- var import_icons3 = require("@cerberus/icons");
1583
- var import_css32 = require("@cerberus/styled-system/css");
1811
+ var import_css33 = require("@cerberus/styled-system/css");
1584
1812
  var import_recipes26 = require("@cerberus/styled-system/recipes");
1585
- var import_jsx_runtime38 = require("react/jsx-runtime");
1813
+ var import_jsx_runtime40 = require("react/jsx-runtime");
1586
1814
  function Tag(props) {
1587
1815
  const { shape: initShape, gradient, onClick, usage, ...nativeProps } = props;
1588
1816
  const palette = (props == null ? void 0 : props.palette) ?? "page";
1589
1817
  const isClosable = Boolean(onClick);
1590
1818
  const shape = isClosable ? "pill" : initShape;
1591
1819
  const closableStyles = isClosable ? closableCss : "";
1592
- return /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)(
1820
+ const { close: Close2 } = $cerberusIcons;
1821
+ return /* @__PURE__ */ (0, import_jsx_runtime40.jsxs)(
1593
1822
  "span",
1594
1823
  {
1595
1824
  ...nativeProps,
1596
- className: (0, import_css32.cx)(
1825
+ className: (0, import_css33.cx)(
1597
1826
  nativeProps.className,
1598
1827
  (0, import_recipes26.tag)({
1599
1828
  gradient,
@@ -1605,7 +1834,7 @@ function Tag(props) {
1605
1834
  ),
1606
1835
  children: [
1607
1836
  props.children,
1608
- /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(Show, { when: isClosable, children: /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
1837
+ /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(Show, { when: isClosable, children: /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
1609
1838
  "button",
1610
1839
  {
1611
1840
  "aria-label": "Close",
@@ -1615,37 +1844,37 @@ function Tag(props) {
1615
1844
  size: "sm"
1616
1845
  }),
1617
1846
  onClick,
1618
- children: /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(import_icons3.Close, {})
1847
+ children: /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(Close2, {})
1619
1848
  }
1620
1849
  ) })
1621
1850
  ]
1622
1851
  }
1623
1852
  );
1624
1853
  }
1625
- var closableCss = (0, import_css32.css)({
1854
+ var closableCss = (0, import_css33.css)({
1626
1855
  bgColor: "action.bg.active",
1627
1856
  color: "action.text.initial",
1628
1857
  paddingInlineEnd: "0"
1629
1858
  });
1630
1859
 
1631
1860
  // src/components/Textarea.tsx
1632
- var import_css33 = require("@cerberus/styled-system/css");
1861
+ var import_css34 = require("@cerberus/styled-system/css");
1633
1862
  var import_recipes27 = require("@cerberus/styled-system/recipes");
1634
- var import_jsx_runtime39 = require("react/jsx-runtime");
1863
+ var import_jsx_runtime41 = require("react/jsx-runtime");
1635
1864
  function Textarea(props) {
1636
1865
  const { describedBy, ...nativeProps } = props;
1637
1866
  const { invalid, ...fieldState } = useFieldContext();
1638
- return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
1867
+ return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
1639
1868
  "textarea",
1640
1869
  {
1641
1870
  ...nativeProps,
1642
1871
  ...fieldState,
1643
1872
  ...describedBy && { "aria-describedby": describedBy },
1644
1873
  ...invalid && { "aria-invalid": true },
1645
- className: (0, import_css33.cx)(
1874
+ className: (0, import_css34.cx)(
1646
1875
  props.className,
1647
1876
  (0, import_recipes27.input)().input,
1648
- (0, import_css33.css)({
1877
+ (0, import_css34.css)({
1649
1878
  pxi: "2",
1650
1879
  py: "2",
1651
1880
  resize: "vertical"
@@ -1657,43 +1886,43 @@ function Textarea(props) {
1657
1886
  }
1658
1887
 
1659
1888
  // src/components/Toggle.tsx
1660
- var import_css34 = require("@cerberus/styled-system/css");
1661
- var import_patterns12 = require("@cerberus/styled-system/patterns");
1889
+ var import_css35 = require("@cerberus/styled-system/css");
1890
+ var import_patterns13 = require("@cerberus/styled-system/patterns");
1662
1891
  var import_recipes28 = require("@cerberus/styled-system/recipes");
1663
- var import_jsx_runtime40 = require("react/jsx-runtime");
1892
+ var import_jsx_runtime42 = require("react/jsx-runtime");
1664
1893
  function Toggle(props) {
1665
1894
  const { size, describedBy, ...nativeProps } = props;
1666
1895
  const styles = (0, import_recipes28.toggle)({ size });
1667
1896
  const { invalid, ...state } = useFieldContext();
1668
1897
  const Icon = $cerberusIcons.toggleChecked;
1669
- return /* @__PURE__ */ (0, import_jsx_runtime40.jsxs)(
1898
+ return /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)(
1670
1899
  "span",
1671
1900
  {
1672
- className: (0, import_css34.cx)("group", styles.track, (0, import_patterns12.hstack)()),
1901
+ className: (0, import_css35.cx)("group", styles.track, (0, import_patterns13.hstack)()),
1673
1902
  "data-checked": props.checked || props.defaultChecked,
1674
1903
  children: [
1675
- /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
1904
+ /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
1676
1905
  "input",
1677
1906
  {
1678
1907
  ...nativeProps,
1679
1908
  ...state,
1680
1909
  ...describedBy && { "aria-describedby": describedBy },
1681
1910
  ...invalid && { "aria-invalid": true },
1682
- className: (0, import_css34.cx)("peer", styles.input),
1911
+ className: (0, import_css35.cx)("peer", styles.input),
1683
1912
  role: "switch",
1684
1913
  type: "checkbox"
1685
1914
  }
1686
1915
  ),
1687
- /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
1916
+ /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
1688
1917
  "span",
1689
1918
  {
1690
- className: (0, import_css34.cx)(
1919
+ className: (0, import_css35.cx)(
1691
1920
  styles.thumb,
1692
- (0, import_patterns12.vstack)({
1921
+ (0, import_patterns13.vstack)({
1693
1922
  justify: "center"
1694
1923
  })
1695
1924
  ),
1696
- children: /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(Icon, {})
1925
+ children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(Icon, {})
1697
1926
  }
1698
1927
  )
1699
1928
  ]
@@ -1703,8 +1932,8 @@ function Toggle(props) {
1703
1932
 
1704
1933
  // src/context/confirm-modal.tsx
1705
1934
  var import_react16 = require("react");
1706
- var import_css35 = require("@cerberus/styled-system/css");
1707
- var import_patterns13 = require("@cerberus/styled-system/patterns");
1935
+ var import_css36 = require("@cerberus/styled-system/css");
1936
+ var import_patterns14 = require("@cerberus/styled-system/patterns");
1708
1937
 
1709
1938
  // src/hooks/useModal.ts
1710
1939
  var import_react15 = require("react");
@@ -1728,7 +1957,7 @@ function useModal() {
1728
1957
  }
1729
1958
 
1730
1959
  // src/context/confirm-modal.tsx
1731
- var import_jsx_runtime41 = require("react/jsx-runtime");
1960
+ var import_jsx_runtime43 = require("react/jsx-runtime");
1732
1961
  var ConfirmModalContext = (0, import_react16.createContext)(null);
1733
1962
  function ConfirmModal(props) {
1734
1963
  const { modalRef, show, close } = useModal();
@@ -1768,36 +1997,36 @@ function ConfirmModal(props) {
1768
1997
  }),
1769
1998
  [handleShow]
1770
1999
  );
1771
- return /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)(ConfirmModalContext.Provider, { value, children: [
2000
+ return /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)(ConfirmModalContext.Provider, { value, children: [
1772
2001
  props.children,
1773
- /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)(Modal, { onKeyDown: focusTrap, ref: modalRef, children: [
1774
- /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)(ModalHeader, { children: [
1775
- /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
2002
+ /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)(Modal, { onKeyDown: focusTrap, ref: modalRef, children: [
2003
+ /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)(ModalHeader, { children: [
2004
+ /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
1776
2005
  "div",
1777
2006
  {
1778
- className: (0, import_patterns13.hstack)({
2007
+ className: (0, import_patterns14.hstack)({
1779
2008
  justify: "center",
1780
2009
  w: "full"
1781
2010
  }),
1782
- children: /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
2011
+ children: /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
1783
2012
  Show,
1784
2013
  {
1785
2014
  when: palette === "danger",
1786
- fallback: /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
2015
+ fallback: /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
1787
2016
  Avatar,
1788
2017
  {
1789
2018
  ariaLabel: "",
1790
- gradient: "light-purple",
1791
- icon: /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(ConfirmIcon, { size: 24 }),
2019
+ gradient: "charon-light",
2020
+ icon: /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(ConfirmIcon, { size: 24 }),
1792
2021
  src: ""
1793
2022
  }
1794
2023
  ),
1795
- children: /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
2024
+ children: /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
1796
2025
  Avatar,
1797
2026
  {
1798
2027
  ariaLabel: "",
1799
- gradient: "red",
1800
- icon: /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(ConfirmIcon, { size: 24 }),
2028
+ gradient: "hades-dark",
2029
+ icon: /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(ConfirmIcon, { size: 24 }),
1801
2030
  src: ""
1802
2031
  }
1803
2032
  )
@@ -1805,21 +2034,21 @@ function ConfirmModal(props) {
1805
2034
  )
1806
2035
  }
1807
2036
  ),
1808
- /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(ModalHeading, { children: content == null ? void 0 : content.heading }),
1809
- /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(ModalDescription, { children: content == null ? void 0 : content.description })
2037
+ /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(ModalHeading, { children: content == null ? void 0 : content.heading }),
2038
+ /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(ModalDescription, { children: content == null ? void 0 : content.description })
1810
2039
  ] }),
1811
- /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)(
2040
+ /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)(
1812
2041
  "div",
1813
2042
  {
1814
- className: (0, import_patterns13.hstack)({
2043
+ className: (0, import_patterns14.hstack)({
1815
2044
  gap: "4"
1816
2045
  }),
1817
2046
  children: [
1818
- /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
2047
+ /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
1819
2048
  Button,
1820
2049
  {
1821
2050
  autoFocus: true,
1822
- className: (0, import_css35.css)({
2051
+ className: (0, import_css36.css)({
1823
2052
  w: "1/2"
1824
2053
  }),
1825
2054
  name: "confirm",
@@ -1829,10 +2058,10 @@ function ConfirmModal(props) {
1829
2058
  children: content == null ? void 0 : content.actionText
1830
2059
  }
1831
2060
  ),
1832
- /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
2061
+ /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
1833
2062
  Button,
1834
2063
  {
1835
- className: (0, import_css35.css)({
2064
+ className: (0, import_css36.css)({
1836
2065
  w: "1/2"
1837
2066
  }),
1838
2067
  name: "cancel",
@@ -1860,10 +2089,10 @@ function useConfirmModal() {
1860
2089
 
1861
2090
  // src/context/notification-center.tsx
1862
2091
  var import_react17 = require("react");
1863
- var import_patterns14 = require("@cerberus/styled-system/patterns");
2092
+ var import_patterns15 = require("@cerberus/styled-system/patterns");
1864
2093
  var import_recipes29 = require("@cerberus/styled-system/recipes");
1865
- var import_css36 = require("@cerberus/styled-system/css");
1866
- var import_jsx_runtime42 = require("react/jsx-runtime");
2094
+ var import_css37 = require("@cerberus/styled-system/css");
2095
+ var import_jsx_runtime44 = require("react/jsx-runtime");
1867
2096
  var NotificationsContext = (0, import_react17.createContext)(null);
1868
2097
  function NotificationCenter(props) {
1869
2098
  const [activeNotifications, setActiveNotifications] = (0, import_react17.useState)([]);
@@ -1896,13 +2125,13 @@ function NotificationCenter(props) {
1896
2125
  }),
1897
2126
  [handleNotify]
1898
2127
  );
1899
- return /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)(NotificationsContext.Provider, { value, children: [
2128
+ return /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)(NotificationsContext.Provider, { value, children: [
1900
2129
  props.children,
1901
- /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(Show, { when: activeNotifications.length > 0, children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(Portal, { container: props.container, children: /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)("div", { className: styles.center, children: [
1902
- /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(Show, { when: activeNotifications.length >= 4, children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
2130
+ /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(Show, { when: activeNotifications.length > 0, children: /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(Portal, { container: props.container, children: /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)("div", { className: styles.center, children: [
2131
+ /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(Show, { when: activeNotifications.length >= 4, children: /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
1903
2132
  Button,
1904
2133
  {
1905
- className: (0, import_css36.cx)(styles.closeAll, (0, import_patterns14.animateIn)()),
2134
+ className: (0, import_css37.cx)(styles.closeAll, (0, import_patterns15.animateIn)()),
1906
2135
  onClick: handleCloseAll,
1907
2136
  palette: "action",
1908
2137
  shape: "rounded",
@@ -1911,27 +2140,21 @@ function NotificationCenter(props) {
1911
2140
  children: "Close all"
1912
2141
  }
1913
2142
  ) }),
1914
- /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
2143
+ /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
1915
2144
  "div",
1916
2145
  {
1917
- className: (0, import_patterns14.vstack)({
2146
+ className: (0, import_patterns15.vstack)({
1918
2147
  alignItems: "flex-end",
1919
2148
  gap: "4"
1920
2149
  }),
1921
2150
  style: {
1922
2151
  alignItems: "flex-end"
1923
2152
  },
1924
- children: activeNotifications.map((option) => /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)(
1925
- Notification,
2153
+ children: activeNotifications.map((option) => /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
2154
+ MatchNotification,
1926
2155
  {
1927
- id: option.id,
1928
- onClose: handleClose,
1929
- open: true,
1930
- palette: option.palette,
1931
- children: [
1932
- /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(NotificationHeading, { palette: option.palette, children: option.heading }),
1933
- /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(NotificationDescription, { palette: option.palette, children: option.description })
1934
- ]
2156
+ ...option,
2157
+ onClose: handleClose
1935
2158
  },
1936
2159
  option.id
1937
2160
  ))
@@ -1940,6 +2163,52 @@ function NotificationCenter(props) {
1940
2163
  ] }) }) })
1941
2164
  ] });
1942
2165
  }
2166
+ function MatchNotification(props) {
2167
+ const { palette, id, onClose, heading, description } = props;
2168
+ switch (palette) {
2169
+ case "success":
2170
+ return /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)(
2171
+ Notification,
2172
+ {
2173
+ id,
2174
+ onClose,
2175
+ open: true,
2176
+ palette: "success",
2177
+ children: [
2178
+ /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(NotificationHeading, { palette: "success", children: heading }),
2179
+ /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(NotificationDescription, { palette: "success", children: description })
2180
+ ]
2181
+ },
2182
+ id
2183
+ );
2184
+ case "warning":
2185
+ return /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)(
2186
+ Notification,
2187
+ {
2188
+ id,
2189
+ onClose,
2190
+ open: true,
2191
+ palette: "warning",
2192
+ children: [
2193
+ /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(NotificationHeading, { palette: "warning", children: heading }),
2194
+ /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(NotificationDescription, { palette: "warning", children: description })
2195
+ ]
2196
+ },
2197
+ id
2198
+ );
2199
+ case "danger":
2200
+ return /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)(Notification, { id, onClose, open: true, palette: "danger", children: [
2201
+ /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(NotificationHeading, { palette: "danger", children: heading }),
2202
+ /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(NotificationDescription, { palette: "danger", children: description })
2203
+ ] }, id);
2204
+ case "info":
2205
+ default:
2206
+ return /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)(Notification, { id, onClose, open: true, palette: "info", children: [
2207
+ /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(NotificationHeading, { palette: "info", children: heading }),
2208
+ /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(NotificationDescription, { palette: "info", children: description })
2209
+ ] }, id);
2210
+ }
2211
+ }
1943
2212
  function useNotificationCenter() {
1944
2213
  const context = (0, import_react17.useContext)(NotificationsContext);
1945
2214
  if (!context) {
@@ -1952,9 +2221,9 @@ function useNotificationCenter() {
1952
2221
 
1953
2222
  // src/context/prompt-modal.tsx
1954
2223
  var import_react18 = require("react");
1955
- var import_css37 = require("@cerberus/styled-system/css");
1956
- var import_patterns15 = require("@cerberus/styled-system/patterns");
1957
- var import_jsx_runtime43 = require("react/jsx-runtime");
2224
+ var import_css38 = require("@cerberus/styled-system/css");
2225
+ var import_patterns16 = require("@cerberus/styled-system/patterns");
2226
+ var import_jsx_runtime45 = require("react/jsx-runtime");
1958
2227
  var PromptModalContext = (0, import_react18.createContext)(null);
1959
2228
  function PromptModal(props) {
1960
2229
  const { modalRef, show, close } = useModal();
@@ -2004,36 +2273,36 @@ function PromptModal(props) {
2004
2273
  }),
2005
2274
  [handleShow]
2006
2275
  );
2007
- return /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)(PromptModalContext.Provider, { value, children: [
2276
+ return /* @__PURE__ */ (0, import_jsx_runtime45.jsxs)(PromptModalContext.Provider, { value, children: [
2008
2277
  props.children,
2009
- /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)(Modal, { onKeyDown: focusTrap, ref: modalRef, children: [
2010
- /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)(ModalHeader, { children: [
2011
- /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
2278
+ /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime45.jsxs)(Modal, { onKeyDown: focusTrap, ref: modalRef, children: [
2279
+ /* @__PURE__ */ (0, import_jsx_runtime45.jsxs)(ModalHeader, { children: [
2280
+ /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
2012
2281
  "div",
2013
2282
  {
2014
- className: (0, import_patterns15.hstack)({
2283
+ className: (0, import_patterns16.hstack)({
2015
2284
  justify: "center",
2016
2285
  w: "full"
2017
2286
  }),
2018
- children: /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
2287
+ children: /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
2019
2288
  Show,
2020
2289
  {
2021
2290
  when: palette === "danger",
2022
- fallback: /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
2291
+ fallback: /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
2023
2292
  Avatar,
2024
2293
  {
2025
2294
  ariaLabel: "",
2026
- gradient: "light-purple",
2027
- icon: /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(PromptIcon, { size: 24 }),
2295
+ gradient: "charon-light",
2296
+ icon: /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(PromptIcon, { size: 24 }),
2028
2297
  src: ""
2029
2298
  }
2030
2299
  ),
2031
- children: /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
2300
+ children: /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
2032
2301
  Avatar,
2033
2302
  {
2034
2303
  ariaLabel: "",
2035
- gradient: "red",
2036
- icon: /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(PromptIcon, { size: 24 }),
2304
+ gradient: "hades-dark",
2305
+ icon: /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(PromptIcon, { size: 24 }),
2037
2306
  src: ""
2038
2307
  }
2039
2308
  )
@@ -2041,24 +2310,24 @@ function PromptModal(props) {
2041
2310
  )
2042
2311
  }
2043
2312
  ),
2044
- /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(ModalHeading, { children: content == null ? void 0 : content.heading }),
2045
- /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(ModalDescription, { children: content == null ? void 0 : content.description })
2313
+ /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(ModalHeading, { children: content == null ? void 0 : content.heading }),
2314
+ /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(ModalDescription, { children: content == null ? void 0 : content.description })
2046
2315
  ] }),
2047
- /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
2316
+ /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
2048
2317
  "div",
2049
2318
  {
2050
- className: (0, import_patterns15.vstack)({
2319
+ className: (0, import_patterns16.vstack)({
2051
2320
  alignItems: "flex-start",
2052
2321
  mt: "4",
2053
2322
  mb: "8"
2054
2323
  }),
2055
- children: /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)(Field, { invalid: !isValid, children: [
2056
- /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)(Label, { htmlFor: "confirm", size: "md", children: [
2324
+ children: /* @__PURE__ */ (0, import_jsx_runtime45.jsxs)(Field, { invalid: !isValid, children: [
2325
+ /* @__PURE__ */ (0, import_jsx_runtime45.jsxs)(Label, { htmlFor: "confirm", size: "md", children: [
2057
2326
  "Type",
2058
- /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
2327
+ /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
2059
2328
  "strong",
2060
2329
  {
2061
- className: (0, import_css37.css)({
2330
+ className: (0, import_css38.css)({
2062
2331
  textTransform: "uppercase"
2063
2332
  }),
2064
2333
  children: content == null ? void 0 : content.key
@@ -2066,7 +2335,7 @@ function PromptModal(props) {
2066
2335
  ),
2067
2336
  "to confirm"
2068
2337
  ] }),
2069
- /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
2338
+ /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
2070
2339
  Input,
2071
2340
  {
2072
2341
  id: "confirm",
@@ -2078,19 +2347,19 @@ function PromptModal(props) {
2078
2347
  ] })
2079
2348
  }
2080
2349
  ),
2081
- /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)(
2350
+ /* @__PURE__ */ (0, import_jsx_runtime45.jsxs)(
2082
2351
  "div",
2083
2352
  {
2084
- className: (0, import_patterns15.hstack)({
2353
+ className: (0, import_patterns16.hstack)({
2085
2354
  justifyContent: "stretch",
2086
2355
  gap: "4"
2087
2356
  }),
2088
2357
  children: [
2089
- /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
2358
+ /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
2090
2359
  Button,
2091
2360
  {
2092
2361
  autoFocus: true,
2093
- className: (0, import_css37.css)({
2362
+ className: (0, import_css38.css)({
2094
2363
  w: "1/2"
2095
2364
  }),
2096
2365
  disabled: !isValid,
@@ -2101,10 +2370,10 @@ function PromptModal(props) {
2101
2370
  children: content == null ? void 0 : content.actionText
2102
2371
  }
2103
2372
  ),
2104
- /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
2373
+ /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
2105
2374
  Button,
2106
2375
  {
2107
- className: (0, import_css37.css)({
2376
+ className: (0, import_css38.css)({
2108
2377
  w: "1/2"
2109
2378
  }),
2110
2379
  name: "cancel",
@@ -2133,20 +2402,26 @@ var import_react20 = require("react");
2133
2402
 
2134
2403
  // src/hooks/useTheme.ts
2135
2404
  var import_react19 = require("react");
2136
- function useTheme(defaultTheme = "cerberus", defaultColorMode = "light") {
2405
+ var THEME_KEY = "cerberus-theme";
2406
+ var MODE_KEY = "cerberus-mode";
2407
+ function useTheme(defaultTheme = "cerberus", defaultColorMode = "light", options = {}) {
2408
+ const { updateMode, updateTheme, cache } = options;
2137
2409
  const [theme, setTheme] = (0, import_react19.useState)(defaultTheme);
2138
2410
  const [colorMode, setColorMode] = (0, import_react19.useState)(defaultColorMode);
2139
- const handleThemeChange = (0, import_react19.useCallback)((newTheme) => {
2140
- setTheme(newTheme);
2141
- localStorage.setItem(THEME_KEY, newTheme);
2142
- }, []);
2143
- const handleColorModeChange = (0, import_react19.useCallback)(() => {
2144
- setColorMode((prev) => {
2145
- const newMode = prev === "light" ? "dark" : "light";
2146
- localStorage.setItem(MODE_KEY, newMode);
2147
- return newMode;
2148
- });
2149
- }, []);
2411
+ const handleThemeChange = (0, import_react19.useCallback)(
2412
+ (newTheme) => {
2413
+ setTheme(newTheme);
2414
+ updateTheme == null ? void 0 : updateTheme(newTheme);
2415
+ },
2416
+ [updateTheme]
2417
+ );
2418
+ const handleColorModeChange = (0, import_react19.useCallback)(
2419
+ (newMode) => {
2420
+ setColorMode(newMode);
2421
+ updateMode == null ? void 0 : updateMode(newMode);
2422
+ },
2423
+ [updateMode]
2424
+ );
2150
2425
  (0, import_react19.useLayoutEffect)(() => {
2151
2426
  const theme2 = localStorage.getItem(THEME_KEY);
2152
2427
  if (theme2) {
@@ -2161,12 +2436,22 @@ function useTheme(defaultTheme = "cerberus", defaultColorMode = "light") {
2161
2436
  }, []);
2162
2437
  (0, import_react19.useEffect)(() => {
2163
2438
  const root = document.documentElement;
2164
- root.dataset.theme = theme;
2165
- }, [theme]);
2439
+ root.dataset.pandaTheme = theme;
2440
+ if (cache) {
2441
+ localStorage.setItem(THEME_KEY, theme);
2442
+ }
2443
+ }, [theme, cache]);
2166
2444
  (0, import_react19.useEffect)(() => {
2167
2445
  const root = document.documentElement;
2168
- root.dataset.colorMode = colorMode;
2169
- }, [colorMode]);
2446
+ if (colorMode === "system") {
2447
+ root.dataset.colorMode = window.matchMedia("(prefers-color-scheme: dark)").matches ? "dark" : "light";
2448
+ } else {
2449
+ root.dataset.colorMode = colorMode;
2450
+ }
2451
+ if (cache) {
2452
+ localStorage.setItem(MODE_KEY, colorMode);
2453
+ }
2454
+ }, [colorMode, cache]);
2170
2455
  return (0, import_react19.useMemo)(
2171
2456
  () => ({
2172
2457
  theme,
@@ -2179,15 +2464,17 @@ function useTheme(defaultTheme = "cerberus", defaultColorMode = "light") {
2179
2464
  }
2180
2465
 
2181
2466
  // src/context/theme.tsx
2182
- var import_jsx_runtime44 = require("react/jsx-runtime");
2183
- var THEME_KEY = "cerberus-theme";
2184
- var MODE_KEY = "cerberus-mode";
2467
+ var import_jsx_runtime46 = require("react/jsx-runtime");
2185
2468
  var ThemeContext = (0, import_react20.createContext)(
2186
2469
  null
2187
2470
  );
2188
2471
  function ThemeProvider(props) {
2189
- const state = useTheme();
2190
- return /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(ThemeContext.Provider, { value: state, children: props.children });
2472
+ const state = useTheme(props.defaultTheme, props.defaultColorMode, {
2473
+ cache: props.cache,
2474
+ updateMode: props.updateMode,
2475
+ updateTheme: props.updateTheme
2476
+ });
2477
+ return /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(ThemeContext.Provider, { value: state, children: props.children });
2191
2478
  }
2192
2479
  function useThemeContext() {
2193
2480
  const context = (0, import_react20.useContext)(ThemeContext);
@@ -2223,6 +2510,7 @@ __reExport(src_exports, require("@dnd-kit/core"), module.exports);
2223
2510
  Avatar,
2224
2511
  Button,
2225
2512
  Checkbox,
2513
+ CircularProgress,
2226
2514
  ConfirmModal,
2227
2515
  Droppable,
2228
2516
  FeatureFlag,
@@ -2254,6 +2542,7 @@ __reExport(src_exports, require("@dnd-kit/core"), module.exports);
2254
2542
  Radio,
2255
2543
  Select,
2256
2544
  Show,
2545
+ Spinner,
2257
2546
  THEME_KEY,
2258
2547
  Tab,
2259
2548
  TabList,