@cerberus-design/react 0.15.0 → 0.16.0-next-4f6c716

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 (519) hide show
  1. package/build/legacy/_tsup-dts-rollup.d.cts +1329 -360
  2. package/build/legacy/components/Accordion.cjs.map +1 -1
  3. package/build/legacy/components/AccordionItemGroup.cjs.map +1 -1
  4. package/build/legacy/components/DatePicker.client.cjs +63 -77
  5. package/build/legacy/components/DatePicker.client.cjs.map +1 -1
  6. package/build/legacy/components/FileStatus.cjs +126 -79
  7. package/build/legacy/components/FileStatus.cjs.map +1 -1
  8. package/build/legacy/components/Legend.cjs +10 -22
  9. package/build/legacy/components/Legend.cjs.map +1 -1
  10. package/build/legacy/components/button/button.cjs +154 -0
  11. package/build/legacy/components/button/button.cjs.map +1 -0
  12. package/build/legacy/components/button/index.cjs +163 -0
  13. package/build/legacy/components/button/index.cjs.map +1 -0
  14. package/build/legacy/components/button/parts.cjs +159 -0
  15. package/build/legacy/components/button/parts.cjs.map +1 -0
  16. package/build/legacy/components/checkbox/checkbox-icon.cjs +121 -0
  17. package/build/legacy/components/checkbox/checkbox-icon.cjs.map +1 -0
  18. package/build/legacy/components/checkbox/checkbox.cjs +165 -0
  19. package/build/legacy/components/checkbox/checkbox.cjs.map +1 -0
  20. package/build/legacy/components/checkbox/index.cjs +179 -0
  21. package/build/legacy/components/checkbox/index.cjs.map +1 -0
  22. package/build/legacy/components/checkbox/parts.cjs +89 -0
  23. package/build/legacy/components/checkbox/parts.cjs.map +1 -0
  24. package/build/legacy/components/checkbox/primitives.cjs +87 -0
  25. package/build/legacy/components/checkbox/primitives.cjs.map +1 -0
  26. package/build/legacy/components/{FieldMessage.cjs → deprecated/FieldMessage.cjs} +4 -17
  27. package/build/legacy/components/deprecated/FieldMessage.cjs.map +1 -0
  28. package/build/legacy/components/{FieldsetLabel.cjs → deprecated/FieldsetLabel.cjs} +1 -1
  29. package/build/legacy/components/deprecated/FieldsetLabel.cjs.map +1 -0
  30. package/build/legacy/components/{Textarea.cjs → deprecated/Label.cjs} +24 -36
  31. package/build/legacy/components/deprecated/Label.cjs.map +1 -0
  32. package/build/legacy/components/{Modal.cjs → deprecated/Modal.cjs} +1 -1
  33. package/build/legacy/components/deprecated/Modal.cjs.map +1 -0
  34. package/build/legacy/components/{ModalDescription.cjs → deprecated/ModalDescription.cjs} +1 -1
  35. package/build/legacy/components/deprecated/ModalDescription.cjs.map +1 -0
  36. package/build/legacy/components/{ModalHeader.cjs → deprecated/ModalHeader.cjs} +1 -1
  37. package/build/legacy/components/deprecated/ModalHeader.cjs.map +1 -0
  38. package/build/legacy/components/{ModalHeading.cjs → deprecated/ModalHeading.cjs} +1 -1
  39. package/build/legacy/components/deprecated/ModalHeading.cjs.map +1 -0
  40. package/build/legacy/components/{NavMenuLink.cjs → deprecated/NavMenuLink.cjs} +2 -2
  41. package/build/legacy/components/deprecated/NavMenuLink.cjs.map +1 -0
  42. package/build/legacy/components/{NavMenuList.cjs → deprecated/NavMenuList.cjs} +2 -2
  43. package/build/legacy/components/deprecated/NavMenuList.cjs.map +1 -0
  44. package/build/legacy/components/{NavMenuTrigger.cjs → deprecated/NavMenuTrigger.cjs} +2 -2
  45. package/build/legacy/components/deprecated/NavMenuTrigger.cjs.map +1 -0
  46. package/build/legacy/components/field/field.cjs +130 -0
  47. package/build/legacy/components/field/field.cjs.map +1 -0
  48. package/build/legacy/components/field/index.cjs +267 -0
  49. package/build/legacy/components/field/index.cjs.map +1 -0
  50. package/build/legacy/components/field/parts.cjs +188 -0
  51. package/build/legacy/components/field/parts.cjs.map +1 -0
  52. package/build/legacy/components/field/primitives.cjs +191 -0
  53. package/build/legacy/components/field/primitives.cjs.map +1 -0
  54. package/build/legacy/components/{Button.cjs → field/start-indicator.cjs} +14 -19
  55. package/build/legacy/components/field/start-indicator.cjs.map +1 -0
  56. package/build/legacy/components/field/status-indicator.cjs +78 -0
  57. package/build/legacy/components/field/status-indicator.cjs.map +1 -0
  58. package/build/legacy/components/fieldset/fieldset.cjs +116 -0
  59. package/build/legacy/components/fieldset/fieldset.cjs.map +1 -0
  60. package/build/legacy/components/fieldset/index.cjs +126 -0
  61. package/build/legacy/components/fieldset/index.cjs.map +1 -0
  62. package/build/legacy/components/fieldset/parts.cjs +80 -0
  63. package/build/legacy/components/fieldset/parts.cjs.map +1 -0
  64. package/build/legacy/components/fieldset/primitives.cjs +76 -0
  65. package/build/legacy/components/fieldset/primitives.cjs.map +1 -0
  66. package/build/legacy/components/for.cjs +38 -0
  67. package/build/legacy/components/for.cjs.map +1 -0
  68. package/build/legacy/components/radio/index.cjs +143 -0
  69. package/build/legacy/components/radio/index.cjs.map +1 -0
  70. package/build/legacy/components/radio/parts.cjs +113 -0
  71. package/build/legacy/components/radio/parts.cjs.map +1 -0
  72. package/build/legacy/components/radio/primitives.cjs +115 -0
  73. package/build/legacy/components/radio/primitives.cjs.map +1 -0
  74. package/build/legacy/components/radio/radio.cjs +82 -0
  75. package/build/legacy/components/radio/radio.cjs.map +1 -0
  76. package/build/legacy/components/select/index.cjs +265 -0
  77. package/build/legacy/components/select/index.cjs.map +1 -0
  78. package/build/legacy/components/select/option-group.cjs +60 -0
  79. package/build/legacy/components/select/option-group.cjs.map +1 -0
  80. package/build/legacy/components/select/parts.cjs +153 -0
  81. package/build/legacy/components/select/parts.cjs.map +1 -0
  82. package/build/legacy/components/select/primitives.cjs +167 -0
  83. package/build/legacy/components/select/primitives.cjs.map +1 -0
  84. package/build/legacy/components/select/select.cjs +212 -0
  85. package/build/legacy/components/select/select.cjs.map +1 -0
  86. package/build/legacy/components/switch/index.cjs +118 -0
  87. package/build/legacy/components/switch/index.cjs.map +1 -0
  88. package/build/legacy/components/switch/parts.cjs +75 -0
  89. package/build/legacy/components/switch/parts.cjs.map +1 -0
  90. package/build/legacy/components/switch/primitives.cjs +72 -0
  91. package/build/legacy/components/switch/primitives.cjs.map +1 -0
  92. package/build/legacy/components/{Fieldset.cjs → switch/switch-indicator.cjs} +17 -32
  93. package/build/legacy/components/switch/switch-indicator.cjs.map +1 -0
  94. package/build/legacy/components/switch/switch.cjs +106 -0
  95. package/build/legacy/components/switch/switch.cjs.map +1 -0
  96. package/build/legacy/components/toggle/index.cjs +45 -0
  97. package/build/legacy/components/toggle/index.cjs.map +1 -0
  98. package/build/legacy/components/toggle/parts.cjs +41 -0
  99. package/build/legacy/components/toggle/parts.cjs.map +1 -0
  100. package/build/legacy/components/toggle/primitives.cjs +35 -0
  101. package/build/legacy/components/toggle/primitives.cjs.map +1 -0
  102. package/build/legacy/config/types.cjs.map +1 -1
  103. package/build/legacy/context/confirm-modal.cjs +55 -45
  104. package/build/legacy/context/confirm-modal.cjs.map +1 -1
  105. package/build/legacy/context/cta-modal.cjs +55 -45
  106. package/build/legacy/context/cta-modal.cjs.map +1 -1
  107. package/build/legacy/context/field.cjs +23 -4
  108. package/build/legacy/context/field.cjs.map +1 -1
  109. package/build/legacy/context/notification-center.cjs +24 -16
  110. package/build/legacy/context/notification-center.cjs.map +1 -1
  111. package/build/legacy/context/prompt-modal.cjs +206 -194
  112. package/build/legacy/context/prompt-modal.cjs.map +1 -1
  113. package/build/legacy/hooks/useDate.cjs.map +1 -1
  114. package/build/legacy/hooks/useRootColors.cjs +0 -1
  115. package/build/legacy/hooks/useRootColors.cjs.map +1 -1
  116. package/build/legacy/hooks/useToggle.cjs.map +1 -1
  117. package/build/legacy/index.cjs +1831 -1330
  118. package/build/legacy/index.cjs.map +1 -1
  119. package/build/legacy/utils/index.cjs +22 -2
  120. package/build/legacy/utils/index.cjs.map +1 -1
  121. package/build/modern/_tsup-dts-rollup.d.ts +1329 -360
  122. package/build/modern/{chunk-PM7CWT3N.js → chunk-245SMQ45.js} +2 -2
  123. package/build/modern/chunk-245SMQ45.js.map +1 -0
  124. package/build/modern/chunk-2BIHLH4V.js +15 -0
  125. package/build/modern/chunk-2BIHLH4V.js.map +1 -0
  126. package/build/modern/chunk-2CVGNLIM.js +15 -0
  127. package/build/modern/chunk-2CVGNLIM.js.map +1 -0
  128. package/build/modern/{chunk-ISCJ542I.js → chunk-2HOUQ2DX.js} +2 -2
  129. package/build/modern/chunk-2LF3HPNA.js +1 -0
  130. package/build/modern/chunk-5RTNSVYU.js +88 -0
  131. package/build/modern/chunk-5RTNSVYU.js.map +1 -0
  132. package/build/modern/chunk-6I2FW4WI.js +33 -0
  133. package/build/modern/chunk-6I2FW4WI.js.map +1 -0
  134. package/build/modern/chunk-6KZVE4HC.js +52 -0
  135. package/build/modern/chunk-6KZVE4HC.js.map +1 -0
  136. package/build/modern/{chunk-25HMVHLT.js → chunk-7SU6FCTJ.js} +5 -5
  137. package/build/modern/chunk-7TQRTBUP.js +19 -0
  138. package/build/modern/chunk-7TQRTBUP.js.map +1 -0
  139. package/build/modern/{chunk-UZVQ4INR.js → chunk-AIJ75ENY.js} +2 -2
  140. package/build/modern/chunk-AIJ75ENY.js.map +1 -0
  141. package/build/modern/chunk-AO3GB72J.js +27 -0
  142. package/build/modern/chunk-AO3GB72J.js.map +1 -0
  143. package/build/modern/{chunk-NUMM4TNC.js → chunk-AUALRL3U.js} +2 -2
  144. package/build/modern/chunk-AUALRL3U.js.map +1 -0
  145. package/build/modern/{chunk-IGHMP4WA.js → chunk-AZRFYQO7.js} +1 -1
  146. package/build/modern/chunk-AZRFYQO7.js.map +1 -0
  147. package/build/modern/chunk-BL7G3577.js +29 -0
  148. package/build/modern/chunk-BL7G3577.js.map +1 -0
  149. package/build/modern/chunk-BPRF34DU.js +62 -0
  150. package/build/modern/chunk-BPRF34DU.js.map +1 -0
  151. package/build/modern/chunk-CAZ3EICD.js +16 -0
  152. package/build/modern/chunk-CAZ3EICD.js.map +1 -0
  153. package/build/modern/chunk-CIMY2U22.js +10 -0
  154. package/build/modern/chunk-CIMY2U22.js.map +1 -0
  155. package/build/modern/{chunk-SD3OVTHT.js → chunk-CMYD5KWA.js} +43 -46
  156. package/build/modern/chunk-CMYD5KWA.js.map +1 -0
  157. package/build/modern/chunk-CNA2VKAH.js +43 -0
  158. package/build/modern/chunk-CNA2VKAH.js.map +1 -0
  159. package/build/modern/chunk-CYC2YUKU.js +1 -0
  160. package/build/modern/{chunk-PZAZKQMO.js → chunk-DRDNNRU3.js} +2 -2
  161. package/build/modern/chunk-DRDNNRU3.js.map +1 -0
  162. package/build/modern/{chunk-NJSETNRL.js → chunk-DXBZ3HMY.js} +2 -2
  163. package/build/modern/chunk-EL4MX2PG.js +22 -0
  164. package/build/modern/chunk-EL4MX2PG.js.map +1 -0
  165. package/build/modern/chunk-FBS7AX76.js +37 -0
  166. package/build/modern/chunk-FBS7AX76.js.map +1 -0
  167. package/build/modern/{chunk-JAROS4Q3.js → chunk-FMRWRVUS.js} +7 -7
  168. package/build/modern/chunk-FMRWRVUS.js.map +1 -0
  169. package/build/modern/chunk-FUL2VRDU.js +25 -0
  170. package/build/modern/chunk-FUL2VRDU.js.map +1 -0
  171. package/build/modern/{chunk-BHB56M7S.js → chunk-H54FR7IP.js} +6 -6
  172. package/build/modern/chunk-H54FR7IP.js.map +1 -0
  173. package/build/modern/chunk-IASVL7CW.js +19 -0
  174. package/build/modern/chunk-IASVL7CW.js.map +1 -0
  175. package/build/modern/{chunk-REO5GUNC.js → chunk-ICTISECN.js} +1 -1
  176. package/build/modern/chunk-ICTISECN.js.map +1 -0
  177. package/build/modern/chunk-IDTAB2UJ.js +1 -0
  178. package/build/modern/chunk-IIH363FO.js +13 -0
  179. package/build/modern/chunk-IIH363FO.js.map +1 -0
  180. package/build/modern/chunk-KQQPZJEI.js +21 -0
  181. package/build/modern/chunk-KQQPZJEI.js.map +1 -0
  182. package/build/modern/chunk-KWZ3CEG6.js +23 -0
  183. package/build/modern/chunk-KWZ3CEG6.js.map +1 -0
  184. package/build/modern/{chunk-JWIJHSI6.js → chunk-L7N24B6B.js} +3 -6
  185. package/build/modern/chunk-L7N24B6B.js.map +1 -0
  186. package/build/modern/chunk-LT62577B.js +23 -0
  187. package/build/modern/chunk-LT62577B.js.map +1 -0
  188. package/build/modern/chunk-LZWNHXRP.js +48 -0
  189. package/build/modern/chunk-LZWNHXRP.js.map +1 -0
  190. package/build/modern/{chunk-EDARV2EI.js → chunk-MISIUX63.js} +4 -4
  191. package/build/modern/{chunk-3BM6MZ4A.js → chunk-MWRO5QYD.js} +1 -1
  192. package/build/modern/chunk-MWRO5QYD.js.map +1 -0
  193. package/build/modern/chunk-OGYMMATX.js +1 -0
  194. package/build/modern/chunk-OVHCXBBI.js +22 -0
  195. package/build/modern/chunk-OVHCXBBI.js.map +1 -0
  196. package/build/modern/chunk-P3SF56LT.js +47 -0
  197. package/build/modern/chunk-P3SF56LT.js.map +1 -0
  198. package/build/modern/{chunk-JIRW4XOJ.js → chunk-Q3I4H6EC.js} +2 -2
  199. package/build/modern/chunk-Q3I4H6EC.js.map +1 -0
  200. package/build/modern/chunk-QCBLRACK.js +133 -0
  201. package/build/modern/chunk-QCBLRACK.js.map +1 -0
  202. package/build/modern/{chunk-ILQW5VZT.js → chunk-RBNOEAWJ.js} +4 -7
  203. package/build/modern/chunk-RBNOEAWJ.js.map +1 -0
  204. package/build/modern/{chunk-YKKNWILF.js → chunk-RHCTPSKT.js} +2 -15
  205. package/build/modern/chunk-RHCTPSKT.js.map +1 -0
  206. package/build/modern/chunk-STLN7BMJ.js +22 -0
  207. package/build/modern/chunk-STLN7BMJ.js.map +1 -0
  208. package/build/modern/{chunk-7NN3SJ7W.js → chunk-SWX5JWZR.js} +2 -2
  209. package/build/modern/chunk-SWX5JWZR.js.map +1 -0
  210. package/build/modern/{chunk-GCQMH4QA.js → chunk-SXLPDPOZ.js} +4 -4
  211. package/build/modern/chunk-TIJAFPHQ.js +1 -0
  212. package/build/modern/chunk-TYPULJMJ.js +1 -0
  213. package/build/modern/chunk-UDY6USHW.js +1 -0
  214. package/build/modern/chunk-V4YYGGMH.js +1 -0
  215. package/build/modern/chunk-VSTOSLFS.js +100 -0
  216. package/build/modern/chunk-VSTOSLFS.js.map +1 -0
  217. package/build/modern/{chunk-ZL6ZITLA.js → chunk-WECB67DC.js} +2 -2
  218. package/build/modern/chunk-WECB67DC.js.map +1 -0
  219. package/build/modern/{chunk-BAWZBF5Q.js → chunk-WN7TJX6J.js} +2 -2
  220. package/build/modern/{chunk-RMVJK26W.js → chunk-XJQXHSH7.js} +1 -2
  221. package/build/modern/chunk-XJQXHSH7.js.map +1 -0
  222. package/build/modern/chunk-XTNGF4D6.js +41 -0
  223. package/build/modern/chunk-XTNGF4D6.js.map +1 -0
  224. package/build/modern/chunk-Y4ZEJ2EF.js +31 -0
  225. package/build/modern/chunk-Y4ZEJ2EF.js.map +1 -0
  226. package/build/modern/{chunk-WPVDQRRF.js → chunk-YOTXFCCC.js} +2 -2
  227. package/build/modern/chunk-YOTXFCCC.js.map +1 -0
  228. package/build/modern/chunk-Z3FDG263.js +53 -0
  229. package/build/modern/chunk-Z3FDG263.js.map +1 -0
  230. package/build/modern/chunk-Z52R6ABJ.js +21 -0
  231. package/build/modern/chunk-Z52R6ABJ.js.map +1 -0
  232. package/build/modern/{chunk-FGCO27TC.js → chunk-ZDANBCM3.js} +6 -6
  233. package/build/modern/chunk-ZDANBCM3.js.map +1 -0
  234. package/build/modern/{chunk-O6LFWUHI.js → chunk-ZFFW5ELD.js} +10 -10
  235. package/build/modern/chunk-ZFFW5ELD.js.map +1 -0
  236. package/build/modern/components/Accordion.js +1 -1
  237. package/build/modern/components/AccordionItemGroup.js +3 -3
  238. package/build/modern/components/Admonition.client.js +3 -3
  239. package/build/modern/components/Admonition.js +4 -4
  240. package/build/modern/components/Avatar.js +2 -2
  241. package/build/modern/components/DatePicker.client.js +4 -3
  242. package/build/modern/components/FileStatus.js +11 -5
  243. package/build/modern/components/FileUploader.js +3 -3
  244. package/build/modern/components/Legend.js +1 -2
  245. package/build/modern/components/Tag.js +2 -2
  246. package/build/modern/components/button/button.js +12 -0
  247. package/build/modern/components/button/index.js +16 -0
  248. package/build/modern/components/button/parts.js +10 -0
  249. package/build/modern/components/checkbox/checkbox-icon.js +12 -0
  250. package/build/modern/components/checkbox/checkbox.js +13 -0
  251. package/build/modern/components/checkbox/index.js +30 -0
  252. package/build/modern/components/checkbox/parts.js +8 -0
  253. package/build/modern/components/checkbox/primitives.js +17 -0
  254. package/build/modern/components/deprecated/FieldMessage.js +8 -0
  255. package/build/modern/components/deprecated/FieldsetLabel.js +7 -0
  256. package/build/modern/components/deprecated/Label.js +17 -0
  257. package/build/modern/components/deprecated/Label.js.map +1 -0
  258. package/build/modern/components/deprecated/Modal.js +7 -0
  259. package/build/modern/components/deprecated/Modal.js.map +1 -0
  260. package/build/modern/components/deprecated/ModalDescription.js +7 -0
  261. package/build/modern/components/deprecated/ModalDescription.js.map +1 -0
  262. package/build/modern/components/deprecated/ModalHeader.js +7 -0
  263. package/build/modern/components/deprecated/ModalHeader.js.map +1 -0
  264. package/build/modern/components/deprecated/ModalHeading.js +7 -0
  265. package/build/modern/components/deprecated/ModalHeading.js.map +1 -0
  266. package/build/modern/components/deprecated/NavMenuLink.js +8 -0
  267. package/build/modern/components/deprecated/NavMenuLink.js.map +1 -0
  268. package/build/modern/components/deprecated/NavMenuList.js +12 -0
  269. package/build/modern/components/deprecated/NavMenuList.js.map +1 -0
  270. package/build/modern/components/deprecated/NavMenuTrigger.js +11 -0
  271. package/build/modern/components/deprecated/NavMenuTrigger.js.map +1 -0
  272. package/build/modern/components/field/field.js +14 -0
  273. package/build/modern/components/field/field.js.map +1 -0
  274. package/build/modern/components/field/index.js +44 -0
  275. package/build/modern/components/field/index.js.map +1 -0
  276. package/build/modern/components/field/parts.js +11 -0
  277. package/build/modern/components/field/parts.js.map +1 -0
  278. package/build/modern/components/field/primitives.js +26 -0
  279. package/build/modern/components/field/primitives.js.map +1 -0
  280. package/build/modern/components/field/start-indicator.js +7 -0
  281. package/build/modern/components/field/start-indicator.js.map +1 -0
  282. package/build/modern/components/field/status-indicator.js +9 -0
  283. package/build/modern/components/field/status-indicator.js.map +1 -0
  284. package/build/modern/components/fieldset/fieldset.js +11 -0
  285. package/build/modern/components/fieldset/fieldset.js.map +1 -0
  286. package/build/modern/components/fieldset/index.js +24 -0
  287. package/build/modern/components/fieldset/index.js.map +1 -0
  288. package/build/modern/components/fieldset/parts.js +8 -0
  289. package/build/modern/components/fieldset/parts.js.map +1 -0
  290. package/build/modern/components/fieldset/primitives.js +13 -0
  291. package/build/modern/components/fieldset/primitives.js.map +1 -0
  292. package/build/modern/components/for.js +7 -0
  293. package/build/modern/components/for.js.map +1 -0
  294. package/build/modern/components/radio/index.js +30 -0
  295. package/build/modern/components/radio/index.js.map +1 -0
  296. package/build/modern/components/radio/parts.js +8 -0
  297. package/build/modern/components/radio/parts.js.map +1 -0
  298. package/build/modern/components/radio/primitives.js +21 -0
  299. package/build/modern/components/radio/primitives.js.map +1 -0
  300. package/build/modern/components/radio/radio.js +8 -0
  301. package/build/modern/components/radio/radio.js.map +1 -0
  302. package/build/modern/components/select/index.js +57 -0
  303. package/build/modern/components/select/index.js.map +1 -0
  304. package/build/modern/components/select/option-group.js +10 -0
  305. package/build/modern/components/select/option-group.js.map +1 -0
  306. package/build/modern/components/select/parts.js +8 -0
  307. package/build/modern/components/select/parts.js.map +1 -0
  308. package/build/modern/components/select/primitives.js +37 -0
  309. package/build/modern/components/select/primitives.js.map +1 -0
  310. package/build/modern/components/select/select.js +15 -0
  311. package/build/modern/components/select/select.js.map +1 -0
  312. package/build/modern/components/switch/index.js +26 -0
  313. package/build/modern/components/switch/index.js.map +1 -0
  314. package/build/modern/components/switch/parts.js +8 -0
  315. package/build/modern/components/switch/parts.js.map +1 -0
  316. package/build/modern/components/switch/primitives.js +15 -0
  317. package/build/modern/components/switch/primitives.js.map +1 -0
  318. package/build/modern/components/switch/switch-indicator.js +9 -0
  319. package/build/modern/components/switch/switch-indicator.js.map +1 -0
  320. package/build/modern/components/switch/switch.js +11 -0
  321. package/build/modern/components/switch/switch.js.map +1 -0
  322. package/build/modern/components/toggle/index.js +14 -0
  323. package/build/modern/components/toggle/index.js.map +1 -0
  324. package/build/modern/components/toggle/parts.js +8 -0
  325. package/build/modern/components/toggle/parts.js.map +1 -0
  326. package/build/modern/components/toggle/primitives.js +9 -0
  327. package/build/modern/components/toggle/primitives.js.map +1 -0
  328. package/build/modern/context/confirm-modal.js +5 -4
  329. package/build/modern/context/cta-modal.js +6 -5
  330. package/build/modern/context/field.js +34 -4
  331. package/build/modern/context/field.js.map +1 -1
  332. package/build/modern/context/notification-center.js +5 -4
  333. package/build/modern/context/prompt-modal.js +14 -8
  334. package/build/modern/hooks/useDate.js +1 -1
  335. package/build/modern/hooks/useRootColors.js +1 -1
  336. package/build/modern/hooks/useToggle.js +1 -1
  337. package/build/modern/index.js +284 -116
  338. package/build/modern/index.js.map +1 -1
  339. package/build/modern/utils/index.js +5 -3
  340. package/package.json +2 -2
  341. package/src/components/Accordion.tsx +1 -0
  342. package/src/components/DatePicker.client.tsx +3 -15
  343. package/src/components/FileStatus.tsx +4 -5
  344. package/src/components/Legend.tsx +5 -6
  345. package/src/components/button/button.tsx +77 -0
  346. package/src/components/button/index.ts +2 -0
  347. package/src/components/button/parts.ts +32 -0
  348. package/src/components/checkbox/checkbox-icon.tsx +39 -0
  349. package/src/components/checkbox/checkbox.tsx +42 -0
  350. package/src/components/checkbox/index.ts +3 -0
  351. package/src/components/checkbox/parts.ts +59 -0
  352. package/src/components/checkbox/primitives.tsx +104 -0
  353. package/src/components/{FieldMessage.tsx → deprecated/FieldMessage.tsx} +2 -13
  354. package/src/components/deprecated/FieldsetLabel.tsx +32 -0
  355. package/src/components/deprecated/Label.tsx +24 -0
  356. package/src/components/{NavMenuLink.tsx → deprecated/NavMenuLink.tsx} +1 -1
  357. package/src/components/{NavMenuList.tsx → deprecated/NavMenuList.tsx} +3 -3
  358. package/src/components/{NavMenuTrigger.tsx → deprecated/NavMenuTrigger.tsx} +4 -4
  359. package/src/components/field/field.tsx +77 -0
  360. package/src/components/field/index.ts +5 -0
  361. package/src/components/field/parts.ts +77 -0
  362. package/src/components/field/primitives.tsx +204 -0
  363. package/src/components/field/start-indicator.tsx +23 -0
  364. package/src/components/field/status-indicator.tsx +58 -0
  365. package/src/components/fieldset/fieldset.tsx +55 -0
  366. package/src/components/fieldset/index.ts +3 -0
  367. package/src/components/fieldset/parts.ts +47 -0
  368. package/src/components/fieldset/primitives.tsx +79 -0
  369. package/src/components/for.tsx +43 -0
  370. package/src/components/radio/index.ts +3 -0
  371. package/src/components/radio/parts.ts +65 -0
  372. package/src/components/radio/primitives.tsx +123 -0
  373. package/src/components/radio/radio.tsx +35 -0
  374. package/src/components/select/index.ts +4 -0
  375. package/src/components/select/option-group.tsx +34 -0
  376. package/src/components/select/parts.ts +113 -0
  377. package/src/components/select/primitives.tsx +205 -0
  378. package/src/components/select/select.tsx +135 -0
  379. package/src/components/switch/index.ts +3 -0
  380. package/src/components/switch/parts.ts +53 -0
  381. package/src/components/switch/primitives.tsx +69 -0
  382. package/src/components/switch/switch-indicator.tsx +9 -0
  383. package/src/components/switch/switch.tsx +30 -0
  384. package/src/components/toggle/index.ts +2 -0
  385. package/src/components/toggle/parts.ts +32 -0
  386. package/src/components/toggle/primitives.tsx +17 -0
  387. package/src/config/types.ts +1 -0
  388. package/src/context/confirm-modal.tsx +1 -1
  389. package/src/context/cta-modal.tsx +1 -1
  390. package/src/context/field.tsx +6 -5
  391. package/src/context/notification-center.tsx +1 -1
  392. package/src/context/prompt-modal.tsx +16 -18
  393. package/src/hooks/useDate.ts +1 -7
  394. package/src/hooks/useRootColors.ts +0 -1
  395. package/src/hooks/useToggle.ts +1 -3
  396. package/src/index.ts +23 -23
  397. package/src/utils/index.ts +30 -0
  398. package/build/legacy/components/Button.cjs.map +0 -1
  399. package/build/legacy/components/Checkbox.cjs +0 -113
  400. package/build/legacy/components/Checkbox.cjs.map +0 -1
  401. package/build/legacy/components/FieldMessage.cjs.map +0 -1
  402. package/build/legacy/components/Fieldset.cjs.map +0 -1
  403. package/build/legacy/components/FieldsetLabel.cjs.map +0 -1
  404. package/build/legacy/components/Input.cjs +0 -95
  405. package/build/legacy/components/Input.cjs.map +0 -1
  406. package/build/legacy/components/Label.cjs +0 -93
  407. package/build/legacy/components/Label.cjs.map +0 -1
  408. package/build/legacy/components/Modal.cjs.map +0 -1
  409. package/build/legacy/components/ModalDescription.cjs.map +0 -1
  410. package/build/legacy/components/ModalHeader.cjs.map +0 -1
  411. package/build/legacy/components/ModalHeading.cjs.map +0 -1
  412. package/build/legacy/components/NavMenuLink.cjs.map +0 -1
  413. package/build/legacy/components/NavMenuList.cjs.map +0 -1
  414. package/build/legacy/components/NavMenuTrigger.cjs.map +0 -1
  415. package/build/legacy/components/Radio.cjs +0 -81
  416. package/build/legacy/components/Radio.cjs.map +0 -1
  417. package/build/legacy/components/Select.cjs +0 -120
  418. package/build/legacy/components/Select.cjs.map +0 -1
  419. package/build/legacy/components/Textarea.cjs.map +0 -1
  420. package/build/legacy/components/Toggle.cjs +0 -101
  421. package/build/legacy/components/Toggle.cjs.map +0 -1
  422. package/build/modern/chunk-3BM6MZ4A.js.map +0 -1
  423. package/build/modern/chunk-3ZDFQO25.js +0 -31
  424. package/build/modern/chunk-3ZDFQO25.js.map +0 -1
  425. package/build/modern/chunk-7NN3SJ7W.js.map +0 -1
  426. package/build/modern/chunk-BHB56M7S.js.map +0 -1
  427. package/build/modern/chunk-C5EHJUS5.js +0 -10
  428. package/build/modern/chunk-C5EHJUS5.js.map +0 -1
  429. package/build/modern/chunk-EXGKZGML.js +0 -28
  430. package/build/modern/chunk-EXGKZGML.js.map +0 -1
  431. package/build/modern/chunk-FGCO27TC.js.map +0 -1
  432. package/build/modern/chunk-FTPZHG6J.js +0 -46
  433. package/build/modern/chunk-FTPZHG6J.js.map +0 -1
  434. package/build/modern/chunk-IGHMP4WA.js.map +0 -1
  435. package/build/modern/chunk-ILQW5VZT.js.map +0 -1
  436. package/build/modern/chunk-JAROS4Q3.js.map +0 -1
  437. package/build/modern/chunk-JIJM6JFJ.js +0 -36
  438. package/build/modern/chunk-JIJM6JFJ.js.map +0 -1
  439. package/build/modern/chunk-JIRW4XOJ.js.map +0 -1
  440. package/build/modern/chunk-JWIJHSI6.js.map +0 -1
  441. package/build/modern/chunk-KKHL3ZO4.js +0 -69
  442. package/build/modern/chunk-KKHL3ZO4.js.map +0 -1
  443. package/build/modern/chunk-MZ3UCDUL.js +0 -43
  444. package/build/modern/chunk-MZ3UCDUL.js.map +0 -1
  445. package/build/modern/chunk-N24COMHJ.js +0 -63
  446. package/build/modern/chunk-N24COMHJ.js.map +0 -1
  447. package/build/modern/chunk-NMF2HYWO.js +0 -50
  448. package/build/modern/chunk-NMF2HYWO.js.map +0 -1
  449. package/build/modern/chunk-NUMM4TNC.js.map +0 -1
  450. package/build/modern/chunk-O6LFWUHI.js.map +0 -1
  451. package/build/modern/chunk-PM7CWT3N.js.map +0 -1
  452. package/build/modern/chunk-PZAZKQMO.js.map +0 -1
  453. package/build/modern/chunk-REO5GUNC.js.map +0 -1
  454. package/build/modern/chunk-RMVJK26W.js.map +0 -1
  455. package/build/modern/chunk-SD3OVTHT.js.map +0 -1
  456. package/build/modern/chunk-UZDVOIW5.js +0 -33
  457. package/build/modern/chunk-UZDVOIW5.js.map +0 -1
  458. package/build/modern/chunk-UZVQ4INR.js.map +0 -1
  459. package/build/modern/chunk-WPVDQRRF.js.map +0 -1
  460. package/build/modern/chunk-XQICKZH4.js +0 -59
  461. package/build/modern/chunk-XQICKZH4.js.map +0 -1
  462. package/build/modern/chunk-YKKNWILF.js.map +0 -1
  463. package/build/modern/chunk-ZL6ZITLA.js.map +0 -1
  464. package/build/modern/components/Button.js +0 -7
  465. package/build/modern/components/Checkbox.js +0 -11
  466. package/build/modern/components/FieldMessage.js +0 -9
  467. package/build/modern/components/Fieldset.js +0 -9
  468. package/build/modern/components/FieldsetLabel.js +0 -7
  469. package/build/modern/components/Input.js +0 -11
  470. package/build/modern/components/Label.js +0 -10
  471. package/build/modern/components/Modal.js +0 -7
  472. package/build/modern/components/ModalDescription.js +0 -7
  473. package/build/modern/components/ModalHeader.js +0 -7
  474. package/build/modern/components/ModalHeading.js +0 -7
  475. package/build/modern/components/NavMenuLink.js +0 -8
  476. package/build/modern/components/NavMenuList.js +0 -12
  477. package/build/modern/components/NavMenuTrigger.js +0 -11
  478. package/build/modern/components/Radio.js +0 -9
  479. package/build/modern/components/Select.js +0 -13
  480. package/build/modern/components/Textarea.js +0 -9
  481. package/build/modern/components/Toggle.js +0 -10
  482. package/src/components/Button.tsx +0 -35
  483. package/src/components/Checkbox.tsx +0 -93
  484. package/src/components/Fieldset.tsx +0 -65
  485. package/src/components/FieldsetLabel.tsx +0 -59
  486. package/src/components/Input.tsx +0 -69
  487. package/src/components/Label.tsx +0 -69
  488. package/src/components/Radio.tsx +0 -73
  489. package/src/components/Select.tsx +0 -108
  490. package/src/components/Textarea.tsx +0 -52
  491. package/src/components/Toggle.tsx +0 -91
  492. /package/build/modern/{chunk-ISCJ542I.js.map → chunk-2HOUQ2DX.js.map} +0 -0
  493. /package/build/modern/{components/Button.js.map → chunk-2LF3HPNA.js.map} +0 -0
  494. /package/build/modern/{chunk-25HMVHLT.js.map → chunk-7SU6FCTJ.js.map} +0 -0
  495. /package/build/modern/{components/Checkbox.js.map → chunk-CYC2YUKU.js.map} +0 -0
  496. /package/build/modern/{chunk-NJSETNRL.js.map → chunk-DXBZ3HMY.js.map} +0 -0
  497. /package/build/modern/{components/FieldMessage.js.map → chunk-IDTAB2UJ.js.map} +0 -0
  498. /package/build/modern/{chunk-EDARV2EI.js.map → chunk-MISIUX63.js.map} +0 -0
  499. /package/build/modern/{components/Fieldset.js.map → chunk-OGYMMATX.js.map} +0 -0
  500. /package/build/modern/{chunk-GCQMH4QA.js.map → chunk-SXLPDPOZ.js.map} +0 -0
  501. /package/build/modern/{components/FieldsetLabel.js.map → chunk-TIJAFPHQ.js.map} +0 -0
  502. /package/build/modern/{components/Input.js.map → chunk-TYPULJMJ.js.map} +0 -0
  503. /package/build/modern/{components/Label.js.map → chunk-UDY6USHW.js.map} +0 -0
  504. /package/build/modern/{components/Modal.js.map → chunk-V4YYGGMH.js.map} +0 -0
  505. /package/build/modern/{chunk-BAWZBF5Q.js.map → chunk-WN7TJX6J.js.map} +0 -0
  506. /package/build/modern/components/{ModalDescription.js.map → button/button.js.map} +0 -0
  507. /package/build/modern/components/{ModalHeader.js.map → button/index.js.map} +0 -0
  508. /package/build/modern/components/{ModalHeading.js.map → button/parts.js.map} +0 -0
  509. /package/build/modern/components/{NavMenuLink.js.map → checkbox/checkbox-icon.js.map} +0 -0
  510. /package/build/modern/components/{NavMenuList.js.map → checkbox/checkbox.js.map} +0 -0
  511. /package/build/modern/components/{NavMenuTrigger.js.map → checkbox/index.js.map} +0 -0
  512. /package/build/modern/components/{Radio.js.map → checkbox/parts.js.map} +0 -0
  513. /package/build/modern/components/{Select.js.map → checkbox/primitives.js.map} +0 -0
  514. /package/build/modern/components/{Textarea.js.map → deprecated/FieldMessage.js.map} +0 -0
  515. /package/build/modern/components/{Toggle.js.map → deprecated/FieldsetLabel.js.map} +0 -0
  516. /package/src/components/{Modal.tsx → deprecated/Modal.tsx} +0 -0
  517. /package/src/components/{ModalDescription.tsx → deprecated/ModalDescription.tsx} +0 -0
  518. /package/src/components/{ModalHeader.tsx → deprecated/ModalHeader.tsx} +0 -0
  519. /package/src/components/{ModalHeading.tsx → deprecated/ModalHeading.tsx} +0 -0
@@ -25,55 +25,65 @@ __export(confirm_modal_exports, {
25
25
  useConfirmModal: () => useConfirmModal
26
26
  });
27
27
  module.exports = __toCommonJS(confirm_modal_exports);
28
- var import_react5 = require("react");
28
+ var import_react6 = require("react");
29
29
 
30
- // src/components/Button.tsx
30
+ // src/components/button/button.tsx
31
+ var import_react2 = require("react");
31
32
  var import_css = require("@cerberus/styled-system/css");
32
33
  var import_recipes = require("@cerberus/styled-system/recipes");
34
+ var import_jsx = require("@cerberus/styled-system/jsx");
35
+
36
+ // src/components/Show.tsx
37
+ var import_react = require("react");
38
+ function Show(props) {
39
+ const { when, children, fallback } = props;
40
+ const condition = (0, import_react.useMemo)(() => when ?? false, [when]);
41
+ return (0, import_react.useMemo)(() => {
42
+ if (condition) return children;
43
+ return fallback ?? null;
44
+ }, [condition, children, fallback]);
45
+ }
46
+
47
+ // src/components/button/button.tsx
33
48
  var import_jsx_runtime = require("react/jsx-runtime");
49
+ var ButtonContext = (0, import_react2.createContext)({
50
+ pending: false
51
+ });
34
52
  function Button(props) {
35
- const { palette, usage, shape, ...nativeProps } = props;
36
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
53
+ const { palette, usage, shape, size, pending = false, ...nativeProps } = props;
54
+ const value = (0, import_react2.useMemo)(() => ({ pending }), [pending]);
55
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(ButtonContext.Provider, { value, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
37
56
  "button",
38
57
  {
39
58
  ...nativeProps,
59
+ disabled: pending || nativeProps.disabled,
40
60
  className: (0, import_css.cx)(
41
61
  nativeProps.className,
42
62
  (0, import_recipes.button)({
43
63
  palette,
44
64
  usage,
45
- shape
65
+ shape,
66
+ size
46
67
  })
47
68
  )
48
69
  }
49
- );
70
+ ) });
50
71
  }
51
72
 
52
73
  // src/context/confirm-modal.tsx
53
74
  var import_css4 = require("@cerberus/styled-system/css");
54
75
 
55
- // src/components/Show.tsx
56
- var import_react = require("react");
57
- function Show(props) {
58
- const { when, children, fallback } = props;
59
- const condition = (0, import_react.useMemo)(() => when ?? false, [when]);
60
- return (0, import_react.useMemo)(() => {
61
- if (condition) return children;
62
- return fallback ?? null;
63
- }, [condition, children, fallback]);
64
- }
65
-
66
76
  // src/components/Avatar.tsx
67
77
  var import_css2 = require("@cerberus/styled-system/css");
68
78
  var import_patterns = require("@cerberus/styled-system/patterns");
69
79
  var import_recipes2 = require("@cerberus/styled-system/recipes");
70
80
 
71
81
  // src/context/cerberus.tsx
72
- var import_react2 = require("react");
82
+ var import_react3 = require("react");
73
83
  var import_jsx_runtime2 = require("react/jsx-runtime");
74
- var CerberusContext = (0, import_react2.createContext)(null);
84
+ var CerberusContext = (0, import_react3.createContext)(null);
75
85
  function useCerberusContext() {
76
- const context = (0, import_react2.useContext)(CerberusContext);
86
+ const context = (0, import_react3.useContext)(CerberusContext);
77
87
  if (!context) {
78
88
  throw new Error("useCerberus must be used within a CerberusProvider");
79
89
  }
@@ -170,21 +180,21 @@ var iconSizeMap = {
170
180
  };
171
181
 
172
182
  // src/context/confirm-modal.tsx
173
- var import_jsx = require("@cerberus/styled-system/jsx");
183
+ var import_jsx2 = require("@cerberus/styled-system/jsx");
174
184
 
175
185
  // src/components/Dialog.tsx
176
- var import_react4 = require("@ark-ui/react");
186
+ var import_react5 = require("@ark-ui/react");
177
187
  var import_recipes3 = require("@cerberus/styled-system/recipes");
178
188
 
179
189
  // src/components/Portal.tsx
180
- var import_react3 = require("@ark-ui/react");
181
- var Portal = import_react3.Portal;
190
+ var import_react4 = require("@ark-ui/react");
191
+ var Portal = import_react4.Portal;
182
192
 
183
193
  // src/components/Dialog.tsx
184
194
  var import_css3 = require("@cerberus/styled-system/css");
185
195
  var import_jsx_runtime4 = require("react/jsx-runtime");
186
196
  function DialogProvider(props) {
187
- return /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_react4.Dialog.Root, { ...props });
197
+ return /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_react5.Dialog.Root, { ...props });
188
198
  }
189
199
  function Dialog(props) {
190
200
  const { size, ...contentProps } = props;
@@ -196,39 +206,39 @@ function Dialog(props) {
196
206
  }
197
207
  function DialogHeading(props) {
198
208
  const styles = (0, import_recipes3.dialog)();
199
- return /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_react4.Dialog.Title, { ...props, className: (0, import_css3.cx)(props.className, styles.title) });
209
+ return /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_react5.Dialog.Title, { ...props, className: (0, import_css3.cx)(props.className, styles.title) });
200
210
  }
201
211
  function DialogDescription(props) {
202
212
  const styles = (0, import_recipes3.dialog)();
203
213
  return /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
204
- import_react4.Dialog.Description,
214
+ import_react5.Dialog.Description,
205
215
  {
206
216
  ...props,
207
217
  className: (0, import_css3.cx)(props.className, styles.description)
208
218
  }
209
219
  );
210
220
  }
211
- var DialogTrigger = import_react4.Dialog.Trigger;
212
- var DialogCloseTrigger = import_react4.Dialog.CloseTrigger;
213
- var DialogBackdrop = import_react4.Dialog.Backdrop;
214
- var DialogPositioner = import_react4.Dialog.Positioner;
215
- var DialogContent = import_react4.Dialog.Content;
221
+ var DialogTrigger = import_react5.Dialog.Trigger;
222
+ var DialogCloseTrigger = import_react5.Dialog.CloseTrigger;
223
+ var DialogBackdrop = import_react5.Dialog.Backdrop;
224
+ var DialogPositioner = import_react5.Dialog.Positioner;
225
+ var DialogContent = import_react5.Dialog.Content;
216
226
 
217
227
  // src/context/confirm-modal.tsx
218
228
  var import_jsx_runtime5 = require("react/jsx-runtime");
219
- var ConfirmModalContext = (0, import_react5.createContext)(null);
229
+ var ConfirmModalContext = (0, import_react6.createContext)(null);
220
230
  function ConfirmModal(props) {
221
- const [open, setOpen] = (0, import_react5.useState)(false);
222
- const [content, setContent] = (0, import_react5.useState)(null);
223
- const resolveRef = (0, import_react5.useRef)(null);
231
+ const [open, setOpen] = (0, import_react6.useState)(false);
232
+ const [content, setContent] = (0, import_react6.useState)(null);
233
+ const resolveRef = (0, import_react6.useRef)(null);
224
234
  const kind = (content == null ? void 0 : content.kind) ?? "non-destructive";
225
235
  const { icons } = useCerberusContext();
226
236
  const { confirmModal: ConfirmIcon } = icons;
227
- const palette = (0, import_react5.useMemo)(
237
+ const palette = (0, import_react6.useMemo)(
228
238
  () => kind === "destructive" ? "danger" : "action",
229
239
  [kind]
230
240
  );
231
- const handleChoice = (0, import_react5.useCallback)(
241
+ const handleChoice = (0, import_react6.useCallback)(
232
242
  (e) => {
233
243
  var _a, _b;
234
244
  const target = e.currentTarget;
@@ -240,7 +250,7 @@ function ConfirmModal(props) {
240
250
  },
241
251
  [setOpen]
242
252
  );
243
- const handleShow = (0, import_react5.useCallback)(
253
+ const handleShow = (0, import_react6.useCallback)(
244
254
  (options) => {
245
255
  return new Promise((resolve) => {
246
256
  setContent({ ...options });
@@ -250,7 +260,7 @@ function ConfirmModal(props) {
250
260
  },
251
261
  [setOpen, setContent]
252
262
  );
253
- const value = (0, import_react5.useMemo)(
263
+ const value = (0, import_react6.useMemo)(
254
264
  () => ({
255
265
  show: handleShow
256
266
  }),
@@ -258,10 +268,10 @@ function ConfirmModal(props) {
258
268
  );
259
269
  return /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(ConfirmModalContext.Provider, { value, children: [
260
270
  props.children,
261
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(DialogProvider, { open, onOpenChange: (e) => setOpen(e.open), children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(Dialog, { size: "sm", children: /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(import_jsx.VStack, { gap: "xl", w: "full", children: [
262
- /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(import_jsx.VStack, { alignItems: "flex-start", gap: "md", w: "full", children: [
271
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(DialogProvider, { open, onOpenChange: (e) => setOpen(e.open), children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(Dialog, { size: "sm", children: /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(import_jsx2.VStack, { gap: "xl", w: "full", children: [
272
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(import_jsx2.VStack, { alignItems: "flex-start", gap: "md", w: "full", children: [
263
273
  /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
264
- import_jsx.HStack,
274
+ import_jsx2.HStack,
265
275
  {
266
276
  alignSelf: "center",
267
277
  justify: "center",
@@ -296,7 +306,7 @@ function ConfirmModal(props) {
296
306
  /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(DialogHeading, { children: content == null ? void 0 : content.heading }),
297
307
  /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(DialogDescription, { children: content == null ? void 0 : content.description })
298
308
  ] }),
299
- /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(import_jsx.HStack, { gap: "4", w: "full", children: [
309
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(import_jsx2.HStack, { gap: "4", w: "full", children: [
300
310
  /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
301
311
  Button,
302
312
  {
@@ -329,7 +339,7 @@ function ConfirmModal(props) {
329
339
  ] });
330
340
  }
331
341
  function useConfirmModal() {
332
- const context = (0, import_react5.useContext)(ConfirmModalContext);
342
+ const context = (0, import_react6.useContext)(ConfirmModalContext);
333
343
  if (context === null) {
334
344
  throw new Error(
335
345
  "useConfirmModal must be used within a ConfirmModal Provider"
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/context/confirm-modal.tsx","../../../src/components/Button.tsx","../../../src/components/Show.tsx","../../../src/components/Avatar.tsx","../../../src/context/cerberus.tsx","../../../src/components/Dialog.tsx","../../../src/components/Portal.tsx"],"sourcesContent":["'use client'\n\nimport {\n createContext,\n useCallback,\n useContext,\n useMemo,\n useRef,\n useState,\n type MouseEvent,\n type PropsWithChildren,\n type ReactNode,\n} from 'react'\nimport { Button } from '../components/Button'\nimport { css } from '@cerberus/styled-system/css'\nimport { Show } from '../components/Show'\nimport { Avatar } from '../components/Avatar'\nimport { HStack, VStack } from '@cerberus/styled-system/jsx'\nimport { useCerberusContext } from './cerberus'\nimport {\n Dialog,\n DialogCloseTrigger,\n DialogDescription,\n DialogHeading,\n DialogProvider,\n} from '../components/Dialog'\n\n/**\n * This module provides a context and hook for the confirm modal.\n * @module\n */\n\nexport interface BaseConfirmOptions {\n /**\n * The heading of the confirm modal.\n */\n heading: string\n /**\n * The text for the action button.\n */\n actionText: string\n /**\n * The text for the cancel button.\n */\n cancelText: string\n}\n\nexport interface DestructiveConfirmOptions extends BaseConfirmOptions {\n /**\n * The kind of confirm modal to show.\n */\n kind?: 'destructive'\n /**\n * The description of the confirm modal. Can only be a string for destructive confirm modals.\n */\n description?: string\n}\n\nexport interface NonDestructiveConfirmModalOptions extends BaseConfirmOptions {\n /**\n * The kind of confirm modal to show.\n * @default 'non-destructive'\n */\n kind?: 'non-destructive'\n /**\n * The description of the confirm modal. Can be a ReactNode for non-destructive kind if you need to display text links.\n * @example\n * ```tsx\n * description: <>Use a Fragment because we put the content within a Paragraph tag.</>\n */\n description?: ReactNode\n}\n\nexport type ShowConfirmModalOptions =\n | NonDestructiveConfirmModalOptions\n | DestructiveConfirmOptions\n\nexport type ShowResult =\n | ((value: boolean | PromiseLike<boolean>) => void)\n | null\n\nexport interface ConfirmModalValue {\n show: (options: ShowConfirmModalOptions) => Promise<boolean>\n}\n\nconst ConfirmModalContext = createContext<ConfirmModalValue | null>(null)\n\nexport type ConfirmModalProviderProps = PropsWithChildren<unknown>\n\n/**\n * Provides a confirm modal to the app.\n * @see https://cerberus.digitalu.design/react/confirm-modal\n * @example\n * ```tsx\n * // Wrap the Provider around the root of the feature.\n * <ConfirmModal>\n * <SomeFeatureSection />\n * </ConfirmModal>\n *\n * // Use the hook to show the confirm modal.\n * const confirm = useConfirmModal()\n *\n * const handleClick = useCallback(async () => {\n * const userConsent = await confirm.show({\n * heading: 'Add new payment method?',\n * description:\n * 'This will add a new payment method to your account to be billed for future purchases.',\n * actionText: 'Yes, add payment method',\n * cancelText: 'No, cancel',\n * })\n * setConsent(userConsent)\n * }, [confirm])\n * ```\n */\nexport function ConfirmModal(\n props: PropsWithChildren<ConfirmModalProviderProps>,\n) {\n const [open, setOpen] = useState<boolean>(false)\n const [content, setContent] = useState<ShowConfirmModalOptions | null>(null)\n const resolveRef = useRef<ShowResult>(null)\n const kind = content?.kind ?? 'non-destructive'\n\n const { icons } = useCerberusContext()\n const { confirmModal: ConfirmIcon } = icons\n\n const palette = useMemo(\n () => (kind === 'destructive' ? 'danger' : 'action'),\n [kind],\n )\n\n const handleChoice = useCallback(\n (e: MouseEvent<HTMLButtonElement>) => {\n const target = e.currentTarget as HTMLButtonElement\n if (target.value === 'true') {\n resolveRef.current?.(true)\n }\n resolveRef.current?.(false)\n setOpen(false)\n },\n [setOpen],\n )\n\n const handleShow = useCallback(\n (options: ShowConfirmModalOptions) => {\n return new Promise<boolean>((resolve) => {\n setContent({ ...options })\n setOpen(true)\n resolveRef.current = resolve\n })\n },\n [setOpen, setContent],\n )\n\n const value = useMemo(\n () => ({\n show: handleShow,\n }),\n [handleShow],\n )\n\n return (\n <ConfirmModalContext.Provider value={value}>\n {props.children}\n\n <DialogProvider open={open} onOpenChange={(e) => setOpen(e.open)}>\n <Dialog size=\"sm\">\n <VStack gap=\"xl\" w=\"full\">\n <VStack alignItems=\"flex-start\" gap=\"md\" w=\"full\">\n <HStack\n alignSelf=\"center\"\n justify=\"center\"\n paddingBlockEnd=\"md\"\n w=\"full\"\n >\n <Show\n when={palette === 'danger'}\n fallback={\n <Avatar\n ariaLabel=\"\"\n gradient=\"charon-light\"\n icon={<ConfirmIcon size={24} />}\n src=\"\"\n />\n }\n >\n <Avatar\n ariaLabel=\"\"\n gradient=\"hades-dark\"\n icon={<ConfirmIcon size={24} />}\n src=\"\"\n />\n </Show>\n </HStack>\n <DialogHeading>{content?.heading}</DialogHeading>\n <DialogDescription>{content?.description}</DialogDescription>\n </VStack>\n\n <HStack gap=\"4\" w=\"full\">\n <Button\n autoFocus\n className={css({\n w: '1/2',\n })}\n name=\"confirm\"\n onClick={handleChoice}\n palette={palette}\n value=\"true\"\n >\n {content?.actionText}\n </Button>\n <DialogCloseTrigger asChild>\n <Button\n className={css({\n w: '1/2',\n })}\n name=\"cancel\"\n onClick={handleChoice}\n usage=\"outlined\"\n value=\"false\"\n >\n {content?.cancelText}\n </Button>\n </DialogCloseTrigger>\n </HStack>\n </VStack>\n </Dialog>\n </DialogProvider>\n </ConfirmModalContext.Provider>\n )\n}\n\nexport function useConfirmModal(): ConfirmModalValue {\n const context = useContext(ConfirmModalContext)\n if (context === null) {\n throw new Error(\n 'useConfirmModal must be used within a ConfirmModal Provider',\n )\n }\n return context\n}\n","import type { ButtonHTMLAttributes } from 'react'\nimport { cx } from '@cerberus/styled-system/css'\nimport {\n button,\n type ButtonVariantProps,\n} from '@cerberus/styled-system/recipes'\n\n/**\n * This module contains the Button component.\n * @module\n */\n\nexport type ButtonProps = ButtonHTMLAttributes<HTMLButtonElement> &\n ButtonVariantProps\n\n/**\n * A component that allows the user to perform actions\n * @see https://cerberus.digitalu.design/react/button\n */\nexport function Button(props: ButtonProps): JSX.Element {\n const { palette, usage, shape, ...nativeProps } = props\n return (\n <button\n {...nativeProps}\n className={cx(\n nativeProps.className,\n button({\n palette,\n usage,\n shape,\n }),\n )}\n />\n )\n}\n","'use client'\n\nimport { useMemo, type PropsWithChildren, type ReactNode } from 'react'\n\n/**\n * This module contains the Show component.\n * @module\n */\n\nexport interface ShowProps {\n /**\n * The condition to render memoized children or the fallback content.\n */\n when: boolean | null | undefined\n /**\n * The children to render when the condition is false.\n */\n fallback?: ReactNode\n}\n\n/**\n * Conditionally render a memoized version of the children or optional fallback\n * content.\n * @see https://cerberus.digitalu.design/react/show\n * @example\n * ```tsx\n * <Show when={isLoggedIn} fallback={<Navigate to=\"/login\" />}>\n * <Dashboard />\n * </Show>\n */\nexport function Show(props: PropsWithChildren<ShowProps>): ReactNode {\n const { when, children, fallback } = props\n const condition = useMemo(() => when ?? false, [when])\n\n return useMemo(() => {\n if (condition) return children\n return fallback ?? null\n }, [condition, children, fallback])\n}\n","'use client'\n\nimport { css, cx } from '@cerberus/styled-system/css'\nimport { circle } from '@cerberus/styled-system/patterns'\nimport {\n avatar,\n type AvatarVariantProps,\n} from '@cerberus/styled-system/recipes'\nimport type { HtmlHTMLAttributes, ReactNode } from 'react'\nimport { Show } from './Show'\nimport { useCerberusContext } from '../context/cerberus'\n\n/**\n * This module contains the Avatar component.\n * @module\n */\n\nexport type SharedAvatarProps = {\n /**\n * An optional icon to show when no src or ariaLabel is provided.\n */\n icon?: ReactNode\n /**\n * The size of the avatar.\n */\n width?: number\n /**\n * The size of the avatar.\n */\n height?: number\n}\nexport type AvatarImageProps = HtmlHTMLAttributes<HTMLImageElement> &\n SharedAvatarProps & {\n /**\n * The aria-label for the avatar needed for accessibility.\n */\n ariaLabel: string\n /**\n * An optional element to replace the image. Recommended for Next.js Image component.\n */\n as?: never\n /**\n * The source of the image.\n */\n src: string\n }\nexport type AvatarAsProps = SharedAvatarProps & {\n /**\n * An optional element to replace the image. Recommended for Next.js Image component.\n */\n as: ReactNode\n /**\n * The aria-label for the avatar needed for accessibility.\n */\n ariaLabel?: never\n /**\n * The source of the image.\n */\n src?: never\n}\n\nexport type AvatarProps = (HtmlHTMLAttributes<HTMLDivElement> &\n AvatarVariantProps) &\n (AvatarImageProps | AvatarAsProps)\n\n/**\n * The Avatar component is used to represent a user or entity. It will show an image if src provided, otherwise it will show the ariaLabel of the ariaLabel. If the ariaLabel is empty, it will show a `defineIcons().avatar` icon.\n * @see https://cerberus.digitalu.design/react/avatar\n * @example\n * ```tsx\n * <Avatar\n * ariaLabel=\"Protector Cerberus\"\n * src=\"https://cerberus.digitalu.design/logo.svg\"\n * />\n * ```\n */\nexport function Avatar(props: AvatarProps) {\n const {\n ariaLabel,\n as,\n gradient,\n size,\n src,\n width,\n height,\n icon,\n ...nativeProps\n } = props\n const { icons } = useCerberusContext()\n const { avatar: AvatarIcon } = icons\n const initials = (ariaLabel || '')\n .split(' ')\n .map((word) => word[0])\n .join('')\n .slice(0, 2)\n\n return (\n <div\n {...nativeProps}\n className={cx(\n nativeProps.className,\n avatar({ gradient, size }),\n circle(),\n )}\n >\n <Show\n when={Boolean(src) || Boolean(as)}\n fallback={\n <Show\n when={Boolean(initials)}\n fallback={\n <Show\n when={Boolean(icon)}\n fallback={\n <AvatarIcon\n size={iconSizeMap[size as keyof typeof iconSizeMap]}\n />\n }\n >\n {icon}\n </Show>\n }\n >\n {initials}\n </Show>\n }\n >\n <Show\n when={Boolean(as)}\n fallback={\n <img\n alt={props.ariaLabel}\n className={css({\n h: 'full',\n objectFit: 'cover',\n w: 'full',\n })}\n decoding=\"async\"\n loading=\"lazy\"\n src={src}\n height={height}\n width={width}\n />\n }\n >\n {as}\n </Show>\n </Show>\n </div>\n )\n}\n\nconst iconSizeMap = {\n xs: 16,\n sm: 16,\n md: 20,\n lg: 34,\n xl: 32,\n '2xl': 32,\n '3xl': 32,\n '4xl': 32,\n}\n","'use client'\n\nimport { createContext, useContext, type PropsWithChildren } from 'react'\nimport type { SystemConfig } from '../config'\n\n/**\n * This module contains the Cerberus configuration context and helpers.\n * @module context/cerberus\n */\n\ntype CerberusContextValue = SystemConfig\n\nconst CerberusContext = createContext<CerberusContextValue | null>(null)\n\ninterface CerberusProviderProps {\n config: SystemConfig\n}\n\n/**\n * Cerberus configuration provider.\n * @param props.config The Cerberus configuration created with\n * `makeSystemConfig` helper.\n */\nexport function CerberusProvider(\n props: PropsWithChildren<CerberusProviderProps>,\n) {\n return (\n <CerberusContext.Provider value={props.config}>\n {props.children}\n </CerberusContext.Provider>\n )\n}\n\n/**\n * Returns the Cerberus configuration context.\n * @returns The Cerberus configuration context.\n */\nexport function useCerberusContext() {\n const context = useContext(CerberusContext)\n if (!context) {\n throw new Error('useCerberus must be used within a CerberusProvider')\n }\n return context\n}\n","import {\n Dialog as ArkDialog,\n type DialogContentProps as ArkDialogContentProps,\n type DialogRootProps,\n type DialogTitleProps,\n} from '@ark-ui/react'\nimport {\n dialog,\n type DialogVariantProps,\n} from '@cerberus/styled-system/recipes'\nimport { Portal } from './Portal'\nimport { cx } from '@cerberus/styled-system/css'\n\nexport type DialogProviderProps = DialogRootProps\n\n/**\n * The provider that controls the dialog components.\n * @definition [Dialog docs](https://cerberus.digitalu.design/react/dialog)\n * @example\n * ```tsx\n * <DialogProvider>\n * <DialogTrigger asChild>\n * <Button>Open Dialog</Button>\n * </DialogTrigger>\n * <Dialog>\n * <Text>Dialog Content</Text>\n * <DialogCloseTrigger>Close</DialogCloseTrigger>\n * </Dialog>\n * </DialogProvider>\n * ```\n */\nexport function DialogProvider(props: DialogProviderProps) {\n return <ArkDialog.Root {...props} />\n}\n\nexport interface DialogProps\n extends Omit<ArkDialogContentProps, 'size'>,\n DialogVariantProps {}\n\n/**\n * The content of the dialog. Must be used within the `DialogProvider` component.\n * @definition [Dialog docs](https://cerberus.digitalu.design/react/dialog)\n * @example\n * ```tsx\n * <DialogProvider>\n * <DialogTrigger asChild>\n * <Button>Open Dialog</Button>\n * </DialogTrigger>\n * <Dialog>\n * <Text>Dialog Content</Text>\n * </Dialog>\n * </DialogProvider>\n * ```\n */\nexport function Dialog(props: DialogProps) {\n const { size, ...contentProps } = props\n const styles = dialog({ size })\n return (\n <Portal>\n <DialogBackdrop className={styles.backdrop} />\n <DialogPositioner className={styles.positioner}>\n <DialogContent className={styles.content} {...contentProps} />\n </DialogPositioner>\n </Portal>\n )\n}\n\n/**\n * The heading of the dialog. Must be used within the `DialogContent` component.\n * @definition [Dialog docs](https://cerberus.digitalu.design/react/dialog)\n * @example\n * ```tsx\n * <DialogProvider>\n * <DialogTrigger asChild>\n * <Button>Open Dialog</Button>\n * </DialogTrigger>\n * <Dialog>\n * <DialogHeading>Dialog Title</DialogHeading>\n * <Text>Dialog Content</Text>\n * </Dialog>\n * </DialogProvider>\n * ```\n */\nexport function DialogHeading(props: DialogTitleProps) {\n const styles = dialog()\n return (\n <ArkDialog.Title {...props} className={cx(props.className, styles.title)} />\n )\n}\n\n/**\n * The description of the dialog. Must be used within the `DialogContent` component.\n * @definition [Dialog docs](https://cerberus.digitalu.design/react/dialog)\n * @example\n * ```tsx\n * <DialogProvider>\n * <DialogTrigger asChild>\n * <Button>Open Dialog</Button>\n * </DialogTrigger>\n * <Dialog>\n * <DialogHeading>Dialog Title</DialogHeading>\n * <DialogDescription>Dialog Description</DialogDescription>\n * </Dialog>\n * </DialogProvider>\n * ```\n */\nexport function DialogDescription(props: DialogTitleProps) {\n const styles = dialog()\n return (\n <ArkDialog.Description\n {...props}\n className={cx(props.className, styles.description)}\n />\n )\n}\n\n/**\n * The trigger that opens the dialog. Must be used within the `DialogProvider`\n * component.\n * @definition [Dialog docs](https://cerberus.digitalu.design/react/dialog)\n * @example\n * ```tsx\n * <DialogTrigger asChild>\n * <Button>Open Dialog</Button>\n * </DialogTrigger>\n * ```\n */\nexport const DialogTrigger = ArkDialog.Trigger\n\n/**\n * The trigger that closes the dialog. Must be used within the `DialogProvider`\n * component.\n * @definition [Dialog docs](https://cerberus.digitalu.design/react/dialog)\n * @example\n * ```tsx\n * <DialogProvider>\n * <DialogTrigger asChild>\n * <Button>Open Dialog</Button>\n * </DialogTrigger>\n * <Dialog>\n * <Text>Dialog Content</Text>\n * <DialogCloseTrigger>Close</DialogCloseTrigger>\n * </Dialog>\n * </DialogProvider>\n * ```\n */\nexport const DialogCloseTrigger = ArkDialog.CloseTrigger\n\n/**\n * The backdrop of the dialog. Must be used within the `DialogProvider`\n * component.\n */\nexport const DialogBackdrop = ArkDialog.Backdrop\n\n/**\n * The positioner of the dialog. Must be used within the `DialogProvider`\n * component.\n */\nexport const DialogPositioner = ArkDialog.Positioner\n\n/**\n * The content of the dialog. Must be used within the `DialogProvider`\n * component.\n */\nexport const DialogContent = ArkDialog.Content\n","import {\n Portal as ArkPortal,\n type PortalProps as ArkPortalProps,\n} from '@ark-ui/react'\n\n/**\n * This module is the Portal component.\n * @module\n */\n\nexport type PortalProps = ArkPortalProps\n\n/**\n * The Portal component is used to render children into a DOM node that exists outside the DOM hierarchy of the parent component.\n * @see https://cerberus.digitalu.design/react/portal\n * @definition [React Portal Docs](https://react.dev/reference/react-dom/createPortal)\n * @example\n * ```tsx\n * 'use client'\n *\n * import { Portal } from '@cerberus/react'\n *\n * function SomeFeatureWithinSSRPage() {\n * return (\n * <Portal>\n * <div>Portal Content outside of the React VDom tree</div>\n * </Portal>\n * )\n * }\n */\nexport const Portal = ArkPortal\n"],"mappings":"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","names":["import_react","import_css","import_css","import_recipes","import_react","import_jsx_runtime","import_jsx_runtime","import_react","import_recipes","import_react","ArkPortal","import_css","import_jsx_runtime","ArkDialog","import_jsx_runtime"]}
1
+ {"version":3,"sources":["../../../src/context/confirm-modal.tsx","../../../src/components/button/button.tsx","../../../src/components/Show.tsx","../../../src/components/Avatar.tsx","../../../src/context/cerberus.tsx","../../../src/components/Dialog.tsx","../../../src/components/Portal.tsx"],"sourcesContent":["'use client'\n\nimport {\n createContext,\n useCallback,\n useContext,\n useMemo,\n useRef,\n useState,\n type MouseEvent,\n type PropsWithChildren,\n type ReactNode,\n} from 'react'\nimport { Button } from '../components/button/button'\nimport { css } from '@cerberus/styled-system/css'\nimport { Show } from '../components/Show'\nimport { Avatar } from '../components/Avatar'\nimport { HStack, VStack } from '@cerberus/styled-system/jsx'\nimport { useCerberusContext } from './cerberus'\nimport {\n Dialog,\n DialogCloseTrigger,\n DialogDescription,\n DialogHeading,\n DialogProvider,\n} from '../components/Dialog'\n\n/**\n * This module provides a context and hook for the confirm modal.\n * @module\n */\n\nexport interface BaseConfirmOptions {\n /**\n * The heading of the confirm modal.\n */\n heading: string\n /**\n * The text for the action button.\n */\n actionText: string\n /**\n * The text for the cancel button.\n */\n cancelText: string\n}\n\nexport interface DestructiveConfirmOptions extends BaseConfirmOptions {\n /**\n * The kind of confirm modal to show.\n */\n kind?: 'destructive'\n /**\n * The description of the confirm modal. Can only be a string for destructive confirm modals.\n */\n description?: string\n}\n\nexport interface NonDestructiveConfirmModalOptions extends BaseConfirmOptions {\n /**\n * The kind of confirm modal to show.\n * @default 'non-destructive'\n */\n kind?: 'non-destructive'\n /**\n * The description of the confirm modal. Can be a ReactNode for non-destructive kind if you need to display text links.\n * @example\n * ```tsx\n * description: <>Use a Fragment because we put the content within a Paragraph tag.</>\n */\n description?: ReactNode\n}\n\nexport type ShowConfirmModalOptions =\n | NonDestructiveConfirmModalOptions\n | DestructiveConfirmOptions\n\nexport type ShowResult =\n | ((value: boolean | PromiseLike<boolean>) => void)\n | null\n\nexport interface ConfirmModalValue {\n show: (options: ShowConfirmModalOptions) => Promise<boolean>\n}\n\nconst ConfirmModalContext = createContext<ConfirmModalValue | null>(null)\n\nexport type ConfirmModalProviderProps = PropsWithChildren<unknown>\n\n/**\n * Provides a confirm modal to the app.\n * @see https://cerberus.digitalu.design/react/confirm-modal\n * @example\n * ```tsx\n * // Wrap the Provider around the root of the feature.\n * <ConfirmModal>\n * <SomeFeatureSection />\n * </ConfirmModal>\n *\n * // Use the hook to show the confirm modal.\n * const confirm = useConfirmModal()\n *\n * const handleClick = useCallback(async () => {\n * const userConsent = await confirm.show({\n * heading: 'Add new payment method?',\n * description:\n * 'This will add a new payment method to your account to be billed for future purchases.',\n * actionText: 'Yes, add payment method',\n * cancelText: 'No, cancel',\n * })\n * setConsent(userConsent)\n * }, [confirm])\n * ```\n */\nexport function ConfirmModal(\n props: PropsWithChildren<ConfirmModalProviderProps>,\n) {\n const [open, setOpen] = useState<boolean>(false)\n const [content, setContent] = useState<ShowConfirmModalOptions | null>(null)\n const resolveRef = useRef<ShowResult>(null)\n const kind = content?.kind ?? 'non-destructive'\n\n const { icons } = useCerberusContext()\n const { confirmModal: ConfirmIcon } = icons\n\n const palette = useMemo(\n () => (kind === 'destructive' ? 'danger' : 'action'),\n [kind],\n )\n\n const handleChoice = useCallback(\n (e: MouseEvent<HTMLButtonElement>) => {\n const target = e.currentTarget as HTMLButtonElement\n if (target.value === 'true') {\n resolveRef.current?.(true)\n }\n resolveRef.current?.(false)\n setOpen(false)\n },\n [setOpen],\n )\n\n const handleShow = useCallback(\n (options: ShowConfirmModalOptions) => {\n return new Promise<boolean>((resolve) => {\n setContent({ ...options })\n setOpen(true)\n resolveRef.current = resolve\n })\n },\n [setOpen, setContent],\n )\n\n const value = useMemo(\n () => ({\n show: handleShow,\n }),\n [handleShow],\n )\n\n return (\n <ConfirmModalContext.Provider value={value}>\n {props.children}\n\n <DialogProvider open={open} onOpenChange={(e) => setOpen(e.open)}>\n <Dialog size=\"sm\">\n <VStack gap=\"xl\" w=\"full\">\n <VStack alignItems=\"flex-start\" gap=\"md\" w=\"full\">\n <HStack\n alignSelf=\"center\"\n justify=\"center\"\n paddingBlockEnd=\"md\"\n w=\"full\"\n >\n <Show\n when={palette === 'danger'}\n fallback={\n <Avatar\n ariaLabel=\"\"\n gradient=\"charon-light\"\n icon={<ConfirmIcon size={24} />}\n src=\"\"\n />\n }\n >\n <Avatar\n ariaLabel=\"\"\n gradient=\"hades-dark\"\n icon={<ConfirmIcon size={24} />}\n src=\"\"\n />\n </Show>\n </HStack>\n <DialogHeading>{content?.heading}</DialogHeading>\n <DialogDescription>{content?.description}</DialogDescription>\n </VStack>\n\n <HStack gap=\"4\" w=\"full\">\n <Button\n autoFocus\n className={css({\n w: '1/2',\n })}\n name=\"confirm\"\n onClick={handleChoice}\n palette={palette}\n value=\"true\"\n >\n {content?.actionText}\n </Button>\n <DialogCloseTrigger asChild>\n <Button\n className={css({\n w: '1/2',\n })}\n name=\"cancel\"\n onClick={handleChoice}\n usage=\"outlined\"\n value=\"false\"\n >\n {content?.cancelText}\n </Button>\n </DialogCloseTrigger>\n </HStack>\n </VStack>\n </Dialog>\n </DialogProvider>\n </ConfirmModalContext.Provider>\n )\n}\n\nexport function useConfirmModal(): ConfirmModalValue {\n const context = useContext(ConfirmModalContext)\n if (context === null) {\n throw new Error(\n 'useConfirmModal must be used within a ConfirmModal Provider',\n )\n }\n return context\n}\n","'use client'\n\nimport {\n type ButtonHTMLAttributes,\n type PropsWithChildren,\n createContext,\n useContext,\n useMemo,\n} from 'react'\nimport { cx } from '@cerberus/styled-system/css'\nimport {\n button,\n type ButtonVariantProps,\n} from '@cerberus/styled-system/recipes'\nimport { Box } from '@cerberus/styled-system/jsx'\nimport { Show } from '../Show'\nimport { Spinner } from '../Spinner'\n\n/**\n * This module contains the Button component.\n * @module\n */\n\ninterface ButtonContextValue {\n pending: boolean\n}\n\nconst ButtonContext = createContext<ButtonContextValue>({\n pending: false,\n})\n\nexport type ButtonProps = ButtonHTMLAttributes<HTMLButtonElement> &\n ButtonVariantProps & {\n pending?: boolean\n }\n\n/**\n * A component that allows the user to perform actions\n * @see https://cerberus.digitalu.design/react/button\n */\nexport function Button(props: ButtonProps): JSX.Element {\n const { palette, usage, shape, size, pending = false, ...nativeProps } = props\n const value = useMemo(() => ({ pending }), [pending])\n\n return (\n <ButtonContext.Provider value={value}>\n <button\n {...nativeProps}\n disabled={pending || nativeProps.disabled}\n className={cx(\n nativeProps.className,\n button({\n palette,\n usage,\n shape,\n size,\n }),\n )}\n />\n </ButtonContext.Provider>\n )\n}\n\n/**\n * An icon to display in a button that utilizes the pending state to display\n * a loading spinner.\n */\nexport function ButtonIcon(props: PropsWithChildren<object>) {\n const { pending } = useContext(ButtonContext)\n return (\n <Show when={pending} fallback={<>{props.children}</>}>\n <Box w=\"4\">\n <Spinner />\n </Box>\n </Show>\n )\n}\n","'use client'\n\nimport { useMemo, type PropsWithChildren, type ReactNode } from 'react'\n\n/**\n * This module contains the Show component.\n * @module\n */\n\nexport interface ShowProps {\n /**\n * The condition to render memoized children or the fallback content.\n */\n when: boolean | null | undefined\n /**\n * The children to render when the condition is false.\n */\n fallback?: ReactNode\n}\n\n/**\n * Conditionally render a memoized version of the children or optional fallback\n * content.\n * @see https://cerberus.digitalu.design/react/show\n * @example\n * ```tsx\n * <Show when={isLoggedIn} fallback={<Navigate to=\"/login\" />}>\n * <Dashboard />\n * </Show>\n */\nexport function Show(props: PropsWithChildren<ShowProps>): ReactNode {\n const { when, children, fallback } = props\n const condition = useMemo(() => when ?? false, [when])\n\n return useMemo(() => {\n if (condition) return children\n return fallback ?? null\n }, [condition, children, fallback])\n}\n","'use client'\n\nimport { css, cx } from '@cerberus/styled-system/css'\nimport { circle } from '@cerberus/styled-system/patterns'\nimport {\n avatar,\n type AvatarVariantProps,\n} from '@cerberus/styled-system/recipes'\nimport type { HtmlHTMLAttributes, ReactNode } from 'react'\nimport { Show } from './Show'\nimport { useCerberusContext } from '../context/cerberus'\n\n/**\n * This module contains the Avatar component.\n * @module\n */\n\nexport type SharedAvatarProps = {\n /**\n * An optional icon to show when no src or ariaLabel is provided.\n */\n icon?: ReactNode\n /**\n * The size of the avatar.\n */\n width?: number\n /**\n * The size of the avatar.\n */\n height?: number\n}\nexport type AvatarImageProps = HtmlHTMLAttributes<HTMLImageElement> &\n SharedAvatarProps & {\n /**\n * The aria-label for the avatar needed for accessibility.\n */\n ariaLabel: string\n /**\n * An optional element to replace the image. Recommended for Next.js Image component.\n */\n as?: never\n /**\n * The source of the image.\n */\n src: string\n }\nexport type AvatarAsProps = SharedAvatarProps & {\n /**\n * An optional element to replace the image. Recommended for Next.js Image component.\n */\n as: ReactNode\n /**\n * The aria-label for the avatar needed for accessibility.\n */\n ariaLabel?: never\n /**\n * The source of the image.\n */\n src?: never\n}\n\nexport type AvatarProps = (HtmlHTMLAttributes<HTMLDivElement> &\n AvatarVariantProps) &\n (AvatarImageProps | AvatarAsProps)\n\n/**\n * The Avatar component is used to represent a user or entity. It will show an image if src provided, otherwise it will show the ariaLabel of the ariaLabel. If the ariaLabel is empty, it will show a `defineIcons().avatar` icon.\n * @see https://cerberus.digitalu.design/react/avatar\n * @example\n * ```tsx\n * <Avatar\n * ariaLabel=\"Protector Cerberus\"\n * src=\"https://cerberus.digitalu.design/logo.svg\"\n * />\n * ```\n */\nexport function Avatar(props: AvatarProps) {\n const {\n ariaLabel,\n as,\n gradient,\n size,\n src,\n width,\n height,\n icon,\n ...nativeProps\n } = props\n const { icons } = useCerberusContext()\n const { avatar: AvatarIcon } = icons\n const initials = (ariaLabel || '')\n .split(' ')\n .map((word) => word[0])\n .join('')\n .slice(0, 2)\n\n return (\n <div\n {...nativeProps}\n className={cx(\n nativeProps.className,\n avatar({ gradient, size }),\n circle(),\n )}\n >\n <Show\n when={Boolean(src) || Boolean(as)}\n fallback={\n <Show\n when={Boolean(initials)}\n fallback={\n <Show\n when={Boolean(icon)}\n fallback={\n <AvatarIcon\n size={iconSizeMap[size as keyof typeof iconSizeMap]}\n />\n }\n >\n {icon}\n </Show>\n }\n >\n {initials}\n </Show>\n }\n >\n <Show\n when={Boolean(as)}\n fallback={\n <img\n alt={props.ariaLabel}\n className={css({\n h: 'full',\n objectFit: 'cover',\n w: 'full',\n })}\n decoding=\"async\"\n loading=\"lazy\"\n src={src}\n height={height}\n width={width}\n />\n }\n >\n {as}\n </Show>\n </Show>\n </div>\n )\n}\n\nconst iconSizeMap = {\n xs: 16,\n sm: 16,\n md: 20,\n lg: 34,\n xl: 32,\n '2xl': 32,\n '3xl': 32,\n '4xl': 32,\n}\n","'use client'\n\nimport { createContext, useContext, type PropsWithChildren } from 'react'\nimport type { SystemConfig } from '../config'\n\n/**\n * This module contains the Cerberus configuration context and helpers.\n * @module context/cerberus\n */\n\ntype CerberusContextValue = SystemConfig\n\nconst CerberusContext = createContext<CerberusContextValue | null>(null)\n\ninterface CerberusProviderProps {\n config: SystemConfig\n}\n\n/**\n * Cerberus configuration provider.\n * @param props.config The Cerberus configuration created with\n * `makeSystemConfig` helper.\n */\nexport function CerberusProvider(\n props: PropsWithChildren<CerberusProviderProps>,\n) {\n return (\n <CerberusContext.Provider value={props.config}>\n {props.children}\n </CerberusContext.Provider>\n )\n}\n\n/**\n * Returns the Cerberus configuration context.\n * @returns The Cerberus configuration context.\n */\nexport function useCerberusContext() {\n const context = useContext(CerberusContext)\n if (!context) {\n throw new Error('useCerberus must be used within a CerberusProvider')\n }\n return context\n}\n","import {\n Dialog as ArkDialog,\n type DialogContentProps as ArkDialogContentProps,\n type DialogRootProps,\n type DialogTitleProps,\n} from '@ark-ui/react'\nimport {\n dialog,\n type DialogVariantProps,\n} from '@cerberus/styled-system/recipes'\nimport { Portal } from './Portal'\nimport { cx } from '@cerberus/styled-system/css'\n\nexport type DialogProviderProps = DialogRootProps\n\n/**\n * The provider that controls the dialog components.\n * @definition [Dialog docs](https://cerberus.digitalu.design/react/dialog)\n * @example\n * ```tsx\n * <DialogProvider>\n * <DialogTrigger asChild>\n * <Button>Open Dialog</Button>\n * </DialogTrigger>\n * <Dialog>\n * <Text>Dialog Content</Text>\n * <DialogCloseTrigger>Close</DialogCloseTrigger>\n * </Dialog>\n * </DialogProvider>\n * ```\n */\nexport function DialogProvider(props: DialogProviderProps) {\n return <ArkDialog.Root {...props} />\n}\n\nexport interface DialogProps\n extends Omit<ArkDialogContentProps, 'size'>,\n DialogVariantProps {}\n\n/**\n * The content of the dialog. Must be used within the `DialogProvider` component.\n * @definition [Dialog docs](https://cerberus.digitalu.design/react/dialog)\n * @example\n * ```tsx\n * <DialogProvider>\n * <DialogTrigger asChild>\n * <Button>Open Dialog</Button>\n * </DialogTrigger>\n * <Dialog>\n * <Text>Dialog Content</Text>\n * </Dialog>\n * </DialogProvider>\n * ```\n */\nexport function Dialog(props: DialogProps) {\n const { size, ...contentProps } = props\n const styles = dialog({ size })\n return (\n <Portal>\n <DialogBackdrop className={styles.backdrop} />\n <DialogPositioner className={styles.positioner}>\n <DialogContent className={styles.content} {...contentProps} />\n </DialogPositioner>\n </Portal>\n )\n}\n\n/**\n * The heading of the dialog. Must be used within the `DialogContent` component.\n * @definition [Dialog docs](https://cerberus.digitalu.design/react/dialog)\n * @example\n * ```tsx\n * <DialogProvider>\n * <DialogTrigger asChild>\n * <Button>Open Dialog</Button>\n * </DialogTrigger>\n * <Dialog>\n * <DialogHeading>Dialog Title</DialogHeading>\n * <Text>Dialog Content</Text>\n * </Dialog>\n * </DialogProvider>\n * ```\n */\nexport function DialogHeading(props: DialogTitleProps) {\n const styles = dialog()\n return (\n <ArkDialog.Title {...props} className={cx(props.className, styles.title)} />\n )\n}\n\n/**\n * The description of the dialog. Must be used within the `DialogContent` component.\n * @definition [Dialog docs](https://cerberus.digitalu.design/react/dialog)\n * @example\n * ```tsx\n * <DialogProvider>\n * <DialogTrigger asChild>\n * <Button>Open Dialog</Button>\n * </DialogTrigger>\n * <Dialog>\n * <DialogHeading>Dialog Title</DialogHeading>\n * <DialogDescription>Dialog Description</DialogDescription>\n * </Dialog>\n * </DialogProvider>\n * ```\n */\nexport function DialogDescription(props: DialogTitleProps) {\n const styles = dialog()\n return (\n <ArkDialog.Description\n {...props}\n className={cx(props.className, styles.description)}\n />\n )\n}\n\n/**\n * The trigger that opens the dialog. Must be used within the `DialogProvider`\n * component.\n * @definition [Dialog docs](https://cerberus.digitalu.design/react/dialog)\n * @example\n * ```tsx\n * <DialogTrigger asChild>\n * <Button>Open Dialog</Button>\n * </DialogTrigger>\n * ```\n */\nexport const DialogTrigger = ArkDialog.Trigger\n\n/**\n * The trigger that closes the dialog. Must be used within the `DialogProvider`\n * component.\n * @definition [Dialog docs](https://cerberus.digitalu.design/react/dialog)\n * @example\n * ```tsx\n * <DialogProvider>\n * <DialogTrigger asChild>\n * <Button>Open Dialog</Button>\n * </DialogTrigger>\n * <Dialog>\n * <Text>Dialog Content</Text>\n * <DialogCloseTrigger>Close</DialogCloseTrigger>\n * </Dialog>\n * </DialogProvider>\n * ```\n */\nexport const DialogCloseTrigger = ArkDialog.CloseTrigger\n\n/**\n * The backdrop of the dialog. Must be used within the `DialogProvider`\n * component.\n */\nexport const DialogBackdrop = ArkDialog.Backdrop\n\n/**\n * The positioner of the dialog. Must be used within the `DialogProvider`\n * component.\n */\nexport const DialogPositioner = ArkDialog.Positioner\n\n/**\n * The content of the dialog. Must be used within the `DialogProvider`\n * component.\n */\nexport const DialogContent = ArkDialog.Content\n","import {\n Portal as ArkPortal,\n type PortalProps as ArkPortalProps,\n} from '@ark-ui/react'\n\n/**\n * This module is the Portal component.\n * @module\n */\n\nexport type PortalProps = ArkPortalProps\n\n/**\n * The Portal component is used to render children into a DOM node that exists outside the DOM hierarchy of the parent component.\n * @see https://cerberus.digitalu.design/react/portal\n * @definition [React Portal Docs](https://react.dev/reference/react-dom/createPortal)\n * @example\n * ```tsx\n * 'use client'\n *\n * import { Portal } from '@cerberus/react'\n *\n * function SomeFeatureWithinSSRPage() {\n * return (\n * <Portal>\n * <div>Portal Content outside of the React VDom tree</div>\n * </Portal>\n * )\n * }\n */\nexport const Portal = ArkPortal\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,IAAAA,gBAUO;;;ACVP,IAAAC,gBAMO;AACP,iBAAmB;AACnB,qBAGO;AACP,iBAAoB;;;ACZpB,mBAAgE;AA4BzD,SAAS,KAAK,OAAgD;AACnE,QAAM,EAAE,MAAM,UAAU,SAAS,IAAI;AACrC,QAAM,gBAAY,sBAAQ,MAAM,QAAQ,OAAO,CAAC,IAAI,CAAC;AAErD,aAAO,sBAAQ,MAAM;AACnB,QAAI,UAAW,QAAO;AACtB,WAAO,YAAY;AAAA,EACrB,GAAG,CAAC,WAAW,UAAU,QAAQ,CAAC;AACpC;;;ADQM;AAnBN,IAAM,oBAAgB,6BAAkC;AAAA,EACtD,SAAS;AACX,CAAC;AAWM,SAAS,OAAO,OAAiC;AACtD,QAAM,EAAE,SAAS,OAAO,OAAO,MAAM,UAAU,OAAO,GAAG,YAAY,IAAI;AACzE,QAAM,YAAQ,uBAAQ,OAAO,EAAE,QAAQ,IAAI,CAAC,OAAO,CAAC;AAEpD,SACE,4CAAC,cAAc,UAAd,EAAuB,OACtB;AAAA,IAAC;AAAA;AAAA,MACE,GAAG;AAAA,MACJ,UAAU,WAAW,YAAY;AAAA,MACjC,eAAW;AAAA,QACT,YAAY;AAAA,YACZ,uBAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACF,CAAC;AAAA,MACH;AAAA;AAAA,EACF,GACF;AAEJ;;;AD/CA,IAAAC,cAAoB;;;AGZpB,IAAAC,cAAwB;AACxB,sBAAuB;AACvB,IAAAC,kBAGO;;;ACLP,IAAAC,gBAAkE;AAyB9D,IAAAC,sBAAA;AAfJ,IAAM,sBAAkB,6BAA2C,IAAI;AAyBhE,SAAS,qBAAqB;AACnC,QAAM,cAAU,0BAAW,eAAe;AAC1C,MAAI,CAAC,SAAS;AACZ,UAAM,IAAI,MAAM,oDAAoD;AAAA,EACtE;AACA,SAAO;AACT;;;ADuEkB,IAAAC,sBAAA;AAtCX,SAAS,OAAO,OAAoB;AACzC,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,GAAG;AAAA,EACL,IAAI;AACJ,QAAM,EAAE,MAAM,IAAI,mBAAmB;AACrC,QAAM,EAAE,QAAQ,WAAW,IAAI;AAC/B,QAAM,YAAY,aAAa,IAC5B,MAAM,GAAG,EACT,IAAI,CAAC,SAAS,KAAK,CAAC,CAAC,EACrB,KAAK,EAAE,EACP,MAAM,GAAG,CAAC;AAEb,SACE;AAAA,IAAC;AAAA;AAAA,MACE,GAAG;AAAA,MACJ,eAAW;AAAA,QACT,YAAY;AAAA,YACZ,wBAAO,EAAE,UAAU,KAAK,CAAC;AAAA,YACzB,wBAAO;AAAA,MACT;AAAA,MAEA;AAAA,QAAC;AAAA;AAAA,UACC,MAAM,QAAQ,GAAG,KAAK,QAAQ,EAAE;AAAA,UAChC,UACE;AAAA,YAAC;AAAA;AAAA,cACC,MAAM,QAAQ,QAAQ;AAAA,cACtB,UACE;AAAA,gBAAC;AAAA;AAAA,kBACC,MAAM,QAAQ,IAAI;AAAA,kBAClB,UACE;AAAA,oBAAC;AAAA;AAAA,sBACC,MAAM,YAAY,IAAgC;AAAA;AAAA,kBACpD;AAAA,kBAGD;AAAA;AAAA,cACH;AAAA,cAGD;AAAA;AAAA,UACH;AAAA,UAGF;AAAA,YAAC;AAAA;AAAA,cACC,MAAM,QAAQ,EAAE;AAAA,cAChB,UACE;AAAA,gBAAC;AAAA;AAAA,kBACC,KAAK,MAAM;AAAA,kBACX,eAAW,iBAAI;AAAA,oBACb,GAAG;AAAA,oBACH,WAAW;AAAA,oBACX,GAAG;AAAA,kBACL,CAAC;AAAA,kBACD,UAAS;AAAA,kBACT,SAAQ;AAAA,kBACR;AAAA,kBACA;AAAA,kBACA;AAAA;AAAA,cACF;AAAA,cAGD;AAAA;AAAA,UACH;AAAA;AAAA,MACF;AAAA;AAAA,EACF;AAEJ;AAEA,IAAM,cAAc;AAAA,EAClB,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,OAAO;AAAA,EACP,OAAO;AAAA,EACP,OAAO;AACT;;;AHhJA,IAAAC,cAA+B;;;AKjB/B,IAAAC,gBAKO;AACP,IAAAC,kBAGO;;;ACTP,IAAAC,gBAGO;AA2BA,IAAM,SAAS,cAAAC;;;ADnBtB,IAAAC,cAAmB;AAqBV,IAAAC,sBAAA;AADF,SAAS,eAAe,OAA4B;AACzD,SAAO,6CAAC,cAAAC,OAAU,MAAV,EAAgB,GAAG,OAAO;AACpC;AAqBO,SAAS,OAAO,OAAoB;AACzC,QAAM,EAAE,MAAM,GAAG,aAAa,IAAI;AAClC,QAAM,aAAS,wBAAO,EAAE,KAAK,CAAC;AAC9B,SACE,8CAAC,UACC;AAAA,iDAAC,kBAAe,WAAW,OAAO,UAAU;AAAA,IAC5C,6CAAC,oBAAiB,WAAW,OAAO,YAClC,uDAAC,iBAAc,WAAW,OAAO,SAAU,GAAG,cAAc,GAC9D;AAAA,KACF;AAEJ;AAkBO,SAAS,cAAc,OAAyB;AACrD,QAAM,aAAS,wBAAO;AACtB,SACE,6CAAC,cAAAA,OAAU,OAAV,EAAiB,GAAG,OAAO,eAAW,gBAAG,MAAM,WAAW,OAAO,KAAK,GAAG;AAE9E;AAkBO,SAAS,kBAAkB,OAAyB;AACzD,QAAM,aAAS,wBAAO;AACtB,SACE;AAAA,IAAC,cAAAA,OAAU;AAAA,IAAV;AAAA,MACE,GAAG;AAAA,MACJ,eAAW,gBAAG,MAAM,WAAW,OAAO,WAAW;AAAA;AAAA,EACnD;AAEJ;AAaO,IAAM,gBAAgB,cAAAA,OAAU;AAmBhC,IAAM,qBAAqB,cAAAA,OAAU;AAMrC,IAAM,iBAAiB,cAAAA,OAAU;AAMjC,IAAM,mBAAmB,cAAAA,OAAU;AAMnC,IAAM,gBAAgB,cAAAA,OAAU;;;ALG3B,IAAAC,sBAAA;AAlFZ,IAAM,0BAAsB,6BAAwC,IAAI;AA6BjE,SAAS,aACd,OACA;AACA,QAAM,CAAC,MAAM,OAAO,QAAI,wBAAkB,KAAK;AAC/C,QAAM,CAAC,SAAS,UAAU,QAAI,wBAAyC,IAAI;AAC3E,QAAM,iBAAa,sBAAmB,IAAI;AAC1C,QAAM,QAAO,mCAAS,SAAQ;AAE9B,QAAM,EAAE,MAAM,IAAI,mBAAmB;AACrC,QAAM,EAAE,cAAc,YAAY,IAAI;AAEtC,QAAM,cAAU;AAAA,IACd,MAAO,SAAS,gBAAgB,WAAW;AAAA,IAC3C,CAAC,IAAI;AAAA,EACP;AAEA,QAAM,mBAAe;AAAA,IACnB,CAAC,MAAqC;AAnI1C;AAoIM,YAAM,SAAS,EAAE;AACjB,UAAI,OAAO,UAAU,QAAQ;AAC3B,yBAAW,YAAX,oCAAqB;AAAA,MACvB;AACA,uBAAW,YAAX,oCAAqB;AACrB,cAAQ,KAAK;AAAA,IACf;AAAA,IACA,CAAC,OAAO;AAAA,EACV;AAEA,QAAM,iBAAa;AAAA,IACjB,CAAC,YAAqC;AACpC,aAAO,IAAI,QAAiB,CAAC,YAAY;AACvC,mBAAW,EAAE,GAAG,QAAQ,CAAC;AACzB,gBAAQ,IAAI;AACZ,mBAAW,UAAU;AAAA,MACvB,CAAC;AAAA,IACH;AAAA,IACA,CAAC,SAAS,UAAU;AAAA,EACtB;AAEA,QAAM,YAAQ;AAAA,IACZ,OAAO;AAAA,MACL,MAAM;AAAA,IACR;AAAA,IACA,CAAC,UAAU;AAAA,EACb;AAEA,SACE,8CAAC,oBAAoB,UAApB,EAA6B,OAC3B;AAAA,UAAM;AAAA,IAEP,6CAAC,kBAAe,MAAY,cAAc,CAAC,MAAM,QAAQ,EAAE,IAAI,GAC7D,uDAAC,UAAO,MAAK,MACX,wDAAC,sBAAO,KAAI,MAAK,GAAE,QACjB;AAAA,oDAAC,sBAAO,YAAW,cAAa,KAAI,MAAK,GAAE,QACzC;AAAA;AAAA,UAAC;AAAA;AAAA,YACC,WAAU;AAAA,YACV,SAAQ;AAAA,YACR,iBAAgB;AAAA,YAChB,GAAE;AAAA,YAEF;AAAA,cAAC;AAAA;AAAA,gBACC,MAAM,YAAY;AAAA,gBAClB,UACE;AAAA,kBAAC;AAAA;AAAA,oBACC,WAAU;AAAA,oBACV,UAAS;AAAA,oBACT,MAAM,6CAAC,eAAY,MAAM,IAAI;AAAA,oBAC7B,KAAI;AAAA;AAAA,gBACN;AAAA,gBAGF;AAAA,kBAAC;AAAA;AAAA,oBACC,WAAU;AAAA,oBACV,UAAS;AAAA,oBACT,MAAM,6CAAC,eAAY,MAAM,IAAI;AAAA,oBAC7B,KAAI;AAAA;AAAA,gBACN;AAAA;AAAA,YACF;AAAA;AAAA,QACF;AAAA,QACA,6CAAC,iBAAe,6CAAS,SAAQ;AAAA,QACjC,6CAAC,qBAAmB,6CAAS,aAAY;AAAA,SAC3C;AAAA,MAEA,8CAAC,sBAAO,KAAI,KAAI,GAAE,QAChB;AAAA;AAAA,UAAC;AAAA;AAAA,YACC,WAAS;AAAA,YACT,eAAW,iBAAI;AAAA,cACb,GAAG;AAAA,YACL,CAAC;AAAA,YACD,MAAK;AAAA,YACL,SAAS;AAAA,YACT;AAAA,YACA,OAAM;AAAA,YAEL,6CAAS;AAAA;AAAA,QACZ;AAAA,QACA,6CAAC,sBAAmB,SAAO,MACzB;AAAA,UAAC;AAAA;AAAA,YACC,eAAW,iBAAI;AAAA,cACb,GAAG;AAAA,YACL,CAAC;AAAA,YACD,MAAK;AAAA,YACL,SAAS;AAAA,YACT,OAAM;AAAA,YACN,OAAM;AAAA,YAEL,6CAAS;AAAA;AAAA,QACZ,GACF;AAAA,SACF;AAAA,OACF,GACF,GACF;AAAA,KACF;AAEJ;AAEO,SAAS,kBAAqC;AACnD,QAAM,cAAU,0BAAW,mBAAmB;AAC9C,MAAI,YAAY,MAAM;AACpB,UAAM,IAAI;AAAA,MACR;AAAA,IACF;AAAA,EACF;AACA,SAAO;AACT;","names":["import_react","import_react","import_css","import_css","import_recipes","import_react","import_jsx_runtime","import_jsx_runtime","import_jsx","import_react","import_recipes","import_react","ArkPortal","import_css","import_jsx_runtime","ArkDialog","import_jsx_runtime"]}
@@ -25,39 +25,49 @@ __export(cta_modal_exports, {
25
25
  useCTAModal: () => useCTAModal
26
26
  });
27
27
  module.exports = __toCommonJS(cta_modal_exports);
28
- var import_react6 = require("react");
28
+ var import_react7 = require("react");
29
29
 
30
- // src/components/Button.tsx
30
+ // src/components/button/button.tsx
31
+ var import_react2 = require("react");
31
32
  var import_css = require("@cerberus/styled-system/css");
32
33
  var import_recipes = require("@cerberus/styled-system/recipes");
34
+ var import_jsx = require("@cerberus/styled-system/jsx");
35
+
36
+ // src/components/Show.tsx
37
+ var import_react = require("react");
38
+ function Show(props) {
39
+ const { when, children, fallback } = props;
40
+ const condition = (0, import_react.useMemo)(() => when ?? false, [when]);
41
+ return (0, import_react.useMemo)(() => {
42
+ if (condition) return children;
43
+ return fallback ?? null;
44
+ }, [condition, children, fallback]);
45
+ }
46
+
47
+ // src/components/button/button.tsx
33
48
  var import_jsx_runtime = require("react/jsx-runtime");
49
+ var ButtonContext = (0, import_react2.createContext)({
50
+ pending: false
51
+ });
34
52
  function Button(props) {
35
- const { palette, usage, shape, ...nativeProps } = props;
36
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
53
+ const { palette, usage, shape, size, pending = false, ...nativeProps } = props;
54
+ const value = (0, import_react2.useMemo)(() => ({ pending }), [pending]);
55
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(ButtonContext.Provider, { value, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
37
56
  "button",
38
57
  {
39
58
  ...nativeProps,
59
+ disabled: pending || nativeProps.disabled,
40
60
  className: (0, import_css.cx)(
41
61
  nativeProps.className,
42
62
  (0, import_recipes.button)({
43
63
  palette,
44
64
  usage,
45
- shape
65
+ shape,
66
+ size
46
67
  })
47
68
  )
48
69
  }
49
- );
50
- }
51
-
52
- // src/components/Show.tsx
53
- var import_react = require("react");
54
- function Show(props) {
55
- const { when, children, fallback } = props;
56
- const condition = (0, import_react.useMemo)(() => when ?? false, [when]);
57
- return (0, import_react.useMemo)(() => {
58
- if (condition) return children;
59
- return fallback ?? null;
60
- }, [condition, children, fallback]);
70
+ ) });
61
71
  }
62
72
 
63
73
  // src/components/Avatar.tsx
@@ -66,11 +76,11 @@ var import_patterns = require("@cerberus/styled-system/patterns");
66
76
  var import_recipes2 = require("@cerberus/styled-system/recipes");
67
77
 
68
78
  // src/context/cerberus.tsx
69
- var import_react2 = require("react");
79
+ var import_react3 = require("react");
70
80
  var import_jsx_runtime2 = require("react/jsx-runtime");
71
- var CerberusContext = (0, import_react2.createContext)(null);
81
+ var CerberusContext = (0, import_react3.createContext)(null);
72
82
  function useCerberusContext() {
73
- const context = (0, import_react2.useContext)(CerberusContext);
83
+ const context = (0, import_react3.useContext)(CerberusContext);
74
84
  if (!context) {
75
85
  throw new Error("useCerberus must be used within a CerberusProvider");
76
86
  }
@@ -167,23 +177,23 @@ var iconSizeMap = {
167
177
  };
168
178
 
169
179
  // src/context/cta-modal.tsx
170
- var import_jsx = require("@cerberus/styled-system/jsx");
171
- var import_css6 = require("@cerberus/styled-system/css");
172
180
  var import_jsx2 = require("@cerberus/styled-system/jsx");
181
+ var import_css6 = require("@cerberus/styled-system/css");
182
+ var import_jsx3 = require("@cerberus/styled-system/jsx");
173
183
 
174
184
  // src/components/Dialog.tsx
175
- var import_react4 = require("@ark-ui/react");
185
+ var import_react5 = require("@ark-ui/react");
176
186
  var import_recipes3 = require("@cerberus/styled-system/recipes");
177
187
 
178
188
  // src/components/Portal.tsx
179
- var import_react3 = require("@ark-ui/react");
180
- var Portal = import_react3.Portal;
189
+ var import_react4 = require("@ark-ui/react");
190
+ var Portal = import_react4.Portal;
181
191
 
182
192
  // src/components/Dialog.tsx
183
193
  var import_css3 = require("@cerberus/styled-system/css");
184
194
  var import_jsx_runtime4 = require("react/jsx-runtime");
185
195
  function DialogProvider(props) {
186
- return /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_react4.Dialog.Root, { ...props });
196
+ return /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_react5.Dialog.Root, { ...props });
187
197
  }
188
198
  function Dialog(props) {
189
199
  const { size, ...contentProps } = props;
@@ -195,26 +205,26 @@ function Dialog(props) {
195
205
  }
196
206
  function DialogHeading(props) {
197
207
  const styles = (0, import_recipes3.dialog)();
198
- return /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_react4.Dialog.Title, { ...props, className: (0, import_css3.cx)(props.className, styles.title) });
208
+ return /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_react5.Dialog.Title, { ...props, className: (0, import_css3.cx)(props.className, styles.title) });
199
209
  }
200
210
  function DialogDescription(props) {
201
211
  const styles = (0, import_recipes3.dialog)();
202
212
  return /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
203
- import_react4.Dialog.Description,
213
+ import_react5.Dialog.Description,
204
214
  {
205
215
  ...props,
206
216
  className: (0, import_css3.cx)(props.className, styles.description)
207
217
  }
208
218
  );
209
219
  }
210
- var DialogTrigger = import_react4.Dialog.Trigger;
211
- var DialogCloseTrigger = import_react4.Dialog.CloseTrigger;
212
- var DialogBackdrop = import_react4.Dialog.Backdrop;
213
- var DialogPositioner = import_react4.Dialog.Positioner;
214
- var DialogContent = import_react4.Dialog.Content;
220
+ var DialogTrigger = import_react5.Dialog.Trigger;
221
+ var DialogCloseTrigger = import_react5.Dialog.CloseTrigger;
222
+ var DialogBackdrop = import_react5.Dialog.Backdrop;
223
+ var DialogPositioner = import_react5.Dialog.Positioner;
224
+ var DialogContent = import_react5.Dialog.Content;
215
225
 
216
226
  // src/components/Dialog.client.tsx
217
- var import_react5 = require("@ark-ui/react");
227
+ var import_react6 = require("@ark-ui/react");
218
228
  var import_recipes5 = require("@cerberus/styled-system/recipes");
219
229
  var import_css5 = require("@cerberus/styled-system/css");
220
230
 
@@ -248,7 +258,7 @@ function DialogCloseIconTrigger(props) {
248
258
  const { close: CloseIcon } = icons;
249
259
  const styles = (0, import_recipes5.dialog)();
250
260
  return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
251
- import_react5.Dialog.CloseTrigger,
261
+ import_react6.Dialog.CloseTrigger,
252
262
  {
253
263
  ...props,
254
264
  className: (0, import_css5.cx)(props.className, styles.closeTrigger),
@@ -269,15 +279,15 @@ function DialogCloseIconTrigger(props) {
269
279
 
270
280
  // src/context/cta-modal.tsx
271
281
  var import_jsx_runtime7 = require("react/jsx-runtime");
272
- var CTAModalContext = (0, import_react6.createContext)(null);
282
+ var CTAModalContext = (0, import_react7.createContext)(null);
273
283
  function CTAModal(props) {
274
284
  var _a, _b;
275
- const [open, setOpen] = (0, import_react6.useState)(false);
276
- const [content, setContent] = (0, import_react6.useState)(null);
285
+ const [open, setOpen] = (0, import_react7.useState)(false);
286
+ const [content, setContent] = (0, import_react7.useState)(null);
277
287
  const confirmIcon = content == null ? void 0 : content.icon;
278
288
  const { icons } = useCerberusContext();
279
289
  const { confirmModal: FallbackIcon } = icons;
280
- const handleShow = (0, import_react6.useCallback)(
290
+ const handleShow = (0, import_react7.useCallback)(
281
291
  (options) => {
282
292
  const maxActions = 2;
283
293
  if (options.actions.length > maxActions) {
@@ -290,7 +300,7 @@ function CTAModal(props) {
290
300
  },
291
301
  [setOpen]
292
302
  );
293
- const handleActionClick = (0, import_react6.useCallback)(
303
+ const handleActionClick = (0, import_react7.useCallback)(
294
304
  (event) => {
295
305
  const index = event.currentTarget.getAttribute("data-index");
296
306
  const action = content == null ? void 0 : content.actions[Number(index)];
@@ -300,7 +310,7 @@ function CTAModal(props) {
300
310
  },
301
311
  [content, setOpen]
302
312
  );
303
- const value = (0, import_react6.useMemo)(
313
+ const value = (0, import_react7.useMemo)(
304
314
  () => ({
305
315
  show: handleShow
306
316
  }),
@@ -310,8 +320,8 @@ function CTAModal(props) {
310
320
  props.children,
311
321
  /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(DialogProvider, { open, onOpenChange: (e) => setOpen(e.open), children: /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(Dialog, { size: "sm", children: [
312
322
  /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(DialogCloseIconTrigger, {}),
313
- /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(import_jsx2.VStack, { gap: "xl", w: "full", children: [
314
- /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(import_jsx2.VStack, { alignItems: "flex-start", gap: "md", w: "full", children: /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(import_jsx2.VStack, { gap: "lg", w: "full", children: [
323
+ /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(import_jsx3.VStack, { gap: "xl", w: "full", children: [
324
+ /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(import_jsx3.VStack, { alignItems: "flex-start", gap: "md", w: "full", children: /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(import_jsx3.VStack, { gap: "lg", w: "full", children: [
315
325
  /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
316
326
  Avatar,
317
327
  {
@@ -331,7 +341,7 @@ function CTAModal(props) {
331
341
  /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(DialogHeading, { children: content == null ? void 0 : content.heading }),
332
342
  /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(DialogDescription, { children: content == null ? void 0 : content.description })
333
343
  ] }) }),
334
- /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(import_jsx.HStack, { gap: "md", w: "full", children: /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(Show, { when: Boolean((_a = content == null ? void 0 : content.actions) == null ? void 0 : _a.length), children: (_b = content == null ? void 0 : content.actions) == null ? void 0 : _b.map((action, index) => /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
344
+ /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(import_jsx2.HStack, { gap: "md", w: "full", children: /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(Show, { when: Boolean((_a = content == null ? void 0 : content.actions) == null ? void 0 : _a.length), children: (_b = content == null ? void 0 : content.actions) == null ? void 0 : _b.map((action, index) => /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
335
345
  Button,
336
346
  {
337
347
  "data-index": index,
@@ -350,7 +360,7 @@ function CTAModal(props) {
350
360
  ] });
351
361
  }
352
362
  function useCTAModal() {
353
- const context = (0, import_react6.useContext)(CTAModalContext);
363
+ const context = (0, import_react7.useContext)(CTAModalContext);
354
364
  if (context === null) {
355
365
  throw new Error("useCTAModal must be used within a CTAModal Provider");
356
366
  }