@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
@@ -0,0 +1,135 @@
1
+ 'use client'
2
+
3
+ import type { SelectItemProps, SelectRootProps } from '@ark-ui/react/select'
4
+ import { type SelectVariantProps } from '@cerberus/styled-system/recipes'
5
+ import { HStack } from '@cerberus/styled-system/jsx'
6
+ import { useCerberusContext } from '../../context/cerberus'
7
+ import { Portal } from '../Portal'
8
+ import { Show } from '../Show'
9
+ import { SelectParts } from './parts'
10
+
11
+ /**
12
+ * This module contains the Select components.
13
+ * @module 'react/select'
14
+ */
15
+
16
+ export interface SelectCollectionItem {
17
+ /**
18
+ * What is displayed in the dropdown list.
19
+ */
20
+ label: string
21
+ /**
22
+ * The value of the selected item used in the form.
23
+ */
24
+ value: string
25
+ /**
26
+ * If the item is disabled.
27
+ */
28
+ disabled?: boolean
29
+ }
30
+
31
+ export interface SelectCollection {
32
+ /**
33
+ * The items to be displayed in the dropdown list.
34
+ */
35
+ items: SelectCollectionItem[]
36
+ }
37
+
38
+ export interface BaseSelectProps {
39
+ /**
40
+ * The placeholder text when no option is selected.
41
+ */
42
+ placeholder?: string
43
+ }
44
+
45
+ export type SelectProps = SelectRootProps<SelectCollectionItem> &
46
+ BaseSelectProps &
47
+ SelectVariantProps
48
+
49
+ /**
50
+ * The Select component is a dropdown list that allows users to select an
51
+ * option from a list.
52
+ * @definition [Select docs](https://cerberus.digitalu.design/react/select)
53
+ * @definition [ARK docs](https://ark-ui.com/react/docs/components/select)
54
+ * @example
55
+ * ```tsx
56
+ * import { Select, Option, createListCollection } from '@cerberus-design/react'
57
+ *
58
+ * export function SelectBasicPreview() {
59
+ * const collection = createListCollection({
60
+ * items: [
61
+ * { label: 'Hades', value: 'hades' },
62
+ * { label: 'Persephone', value: 'persephone' },
63
+ * { label: 'Zeus', value: 'zeus', disabled: true },
64
+ * ]
65
+ * })
66
+ *
67
+ * return (
68
+ * <Select
69
+ * collection={collection}
70
+ * label="Select Relative"
71
+ * placeholder="Choose option"
72
+ * >
73
+ * {collection.items.map((item) => (
74
+ * <Option key={item.value} item={item} />
75
+ * ))}
76
+ * </Select>
77
+ * )
78
+ * }
79
+ */
80
+ export function Select(props: SelectProps) {
81
+ const { collection, placeholder, ...rootProps } = props
82
+ const { icons } = useCerberusContext()
83
+ const { selectArrow: SelectArrow, invalid: InvalidIcon } = icons
84
+
85
+ return (
86
+ <SelectParts.Root collection={collection} {...rootProps}>
87
+ <SelectParts.Control>
88
+ <SelectParts.Trigger>
89
+ <SelectParts.ValueText placeholder={placeholder} />
90
+
91
+ <HStack>
92
+ <Show when={props.invalid}>
93
+ <InvalidIcon data-part="invalid-icon" />
94
+ </Show>
95
+ <SelectParts.Indicator>
96
+ <SelectArrow />
97
+ </SelectParts.Indicator>
98
+ </HStack>
99
+ </SelectParts.Trigger>
100
+ </SelectParts.Control>
101
+
102
+ <Portal>
103
+ <SelectParts.Positioner>
104
+ <SelectParts.Content size={rootProps.size}>
105
+ {props.children}
106
+ </SelectParts.Content>
107
+ </SelectParts.Positioner>
108
+ </Portal>
109
+
110
+ <SelectParts.HiddenSelect />
111
+ </SelectParts.Root>
112
+ )
113
+ }
114
+
115
+ export interface OptionProps extends SelectItemProps {
116
+ /**
117
+ * The CollectionListItem to be displayed in the dropdown list.
118
+ */
119
+ item: SelectCollectionItem
120
+ }
121
+
122
+ export function Option(props: OptionProps) {
123
+ const { item, ...itemProps } = props
124
+ const { icons } = useCerberusContext()
125
+ const { selectChecked: CheckedIcon } = icons
126
+
127
+ return (
128
+ <SelectParts.Item {...itemProps} item={item}>
129
+ <SelectParts.ItemText>{item?.label}</SelectParts.ItemText>
130
+ <SelectParts.ItemIndicator>
131
+ <CheckedIcon />
132
+ </SelectParts.ItemIndicator>
133
+ </SelectParts.Item>
134
+ )
135
+ }
@@ -0,0 +1,3 @@
1
+ export * from './parts'
2
+ export * from './primitives'
3
+ export * from './switch'
@@ -0,0 +1,53 @@
1
+ import type { ElementType } from 'react'
2
+ import {
3
+ SwitchControl,
4
+ SwitchLabel,
5
+ SwitchRoot,
6
+ SwitchThumb,
7
+ SwitchHiddenInput,
8
+ } from './primitives'
9
+
10
+ /**
11
+ * This module contains the parts of the Radio parts.
12
+ * @module 'radio/parts'
13
+ */
14
+
15
+ interface SwitchPartsValue {
16
+ /**
17
+ * The container of the field.
18
+ */
19
+ Root: ElementType
20
+ /**
21
+ * The label of the field.
22
+ */
23
+ Label: ElementType
24
+ /**
25
+ * The visual input of the switch.
26
+ */
27
+ Control: ElementType
28
+ /**
29
+ * The thumb item of the switch.
30
+ */
31
+ Thumb: ElementType
32
+ /**
33
+ * The native input for the switch.
34
+ */
35
+ HiddenInput: ElementType
36
+ }
37
+
38
+ /**
39
+ * An Object containing the parts of the Radio component. For users that
40
+ * prefer Object component syntax.
41
+ *
42
+ * @remarks
43
+ *
44
+ * When using object component syntax, you import the SwitchParts object and
45
+ * the entire family of components vs. only what you use.
46
+ */
47
+ export const SwitchParts: SwitchPartsValue = {
48
+ Root: SwitchRoot,
49
+ Label: SwitchLabel,
50
+ Control: SwitchControl,
51
+ Thumb: SwitchThumb,
52
+ HiddenInput: SwitchHiddenInput,
53
+ }
@@ -0,0 +1,69 @@
1
+ import {
2
+ Switch,
3
+ type SwitchControlProps,
4
+ type SwitchLabelProps,
5
+ type SwitchRootProps,
6
+ type SwitchThumbProps,
7
+ } from '@ark-ui/react'
8
+ import { cx } from '@cerberus/styled-system/css'
9
+ import {
10
+ switchRecipe,
11
+ type SwitchRecipeVariantProps,
12
+ } from '@cerberus/styled-system/recipes'
13
+
14
+ /**
15
+ * This module contains the Switch primitives
16
+ * @module 'react/switch'
17
+ */
18
+
19
+ /**
20
+ * The SwitchRoot component is the context provider for the Switch components.
21
+ */
22
+ export function SwitchRoot(props: SwitchRootProps & SwitchRecipeVariantProps) {
23
+ const { size, ...rootProps } = props
24
+ const styles = switchRecipe({ size })
25
+ return (
26
+ <Switch.Root
27
+ {...rootProps}
28
+ className={cx(styles.root, rootProps.className)}
29
+ />
30
+ )
31
+ }
32
+
33
+ /**
34
+ * The SwitchLabel component is the label for the Switch.
35
+ */
36
+ export function SwitchLabel(props: SwitchLabelProps) {
37
+ const styles = switchRecipe()
38
+ return (
39
+ <Switch.Label {...props} className={cx(styles.label, props.className)} />
40
+ )
41
+ }
42
+
43
+ /**
44
+ * The SwitchControl component is the visual input for the Switch.
45
+ */
46
+ export function SwitchControl(props: SwitchControlProps) {
47
+ const styles = switchRecipe()
48
+ return (
49
+ <Switch.Control
50
+ {...props}
51
+ className={cx(styles.control, props.className)}
52
+ />
53
+ )
54
+ }
55
+
56
+ /**
57
+ * The SwitchThumb component is the thumb for the Switch.
58
+ */
59
+ export function SwitchThumb(props: SwitchThumbProps) {
60
+ const styles = switchRecipe()
61
+ return (
62
+ <Switch.Thumb {...props} className={cx(styles.thumb, props.className)} />
63
+ )
64
+ }
65
+
66
+ /**
67
+ * The SwitchHiddenInput component is the native input for the Switch.
68
+ */
69
+ export const SwitchHiddenInput = Switch.HiddenInput
@@ -0,0 +1,9 @@
1
+ 'use client'
2
+
3
+ import { useCerberusContext } from '../../context/cerberus'
4
+
5
+ export function SwitchIndicator() {
6
+ const { icons } = useCerberusContext()
7
+ const { toggleChecked: CheckIcon } = icons
8
+ return <CheckIcon />
9
+ }
@@ -0,0 +1,30 @@
1
+ import type { SwitchRootProps } from '@ark-ui/react'
2
+ import type { SwitchRecipeVariantProps } from '@cerberus/styled-system/recipes'
3
+ import { SwitchParts } from './parts'
4
+ import { SwitchIndicator } from './switch-indicator'
5
+
6
+ export type SwitchProps = SwitchRootProps & SwitchRecipeVariantProps
7
+
8
+ /**
9
+ * The Switch component is a and abstraction of the primitives that displays a
10
+ * controlled Switch with a label.
11
+ * @description [Cerberus Docs] https://cerberus.digitalu.design/react/switch
12
+ * @description [Ark Docs] https://ark-ui.com/docs/components/switch
13
+ */
14
+ export function Switch(props: SwitchProps) {
15
+ const { children, ...rootProps } = props
16
+
17
+ return (
18
+ <SwitchParts.Root {...rootProps}>
19
+ <SwitchParts.Control>
20
+ <SwitchParts.Thumb>
21
+ <SwitchIndicator />
22
+ </SwitchParts.Thumb>
23
+ </SwitchParts.Control>
24
+
25
+ <SwitchParts.Label>{children}</SwitchParts.Label>
26
+
27
+ <SwitchParts.HiddenInput />
28
+ </SwitchParts.Root>
29
+ )
30
+ }
@@ -0,0 +1,2 @@
1
+ export * from './parts'
2
+ export * from './primitives'
@@ -0,0 +1,32 @@
1
+ import type { ElementType } from 'react'
2
+ import { ToggleRoot, ToggleIndicator } from './primitives'
3
+
4
+ /**
5
+ * This module contains the parts of the Toggle parts.
6
+ * @module 'toggle/parts'
7
+ */
8
+
9
+ interface TogglePartsValue {
10
+ /**
11
+ * The container of the toggle.
12
+ */
13
+ Root: ElementType
14
+ /**
15
+ * The indicator that appears when a toggle is pressed.
16
+ */
17
+ Indicator: ElementType
18
+ }
19
+
20
+ /**
21
+ * An Object containing the parts of the Radio component. For users that
22
+ * prefer Object component syntax.
23
+ *
24
+ * @remarks
25
+ *
26
+ * When using object component syntax, you import the RadioParts object and
27
+ * the entire family of components vs. only what you use.
28
+ */
29
+ export const ToggleParts: TogglePartsValue = {
30
+ Root: ToggleRoot,
31
+ Indicator: ToggleIndicator,
32
+ }
@@ -0,0 +1,17 @@
1
+ import { Toggle } from '@ark-ui/react/toggle'
2
+
3
+ /**
4
+ * This module provides the Toggle primitives.
5
+ * @module 'react/toggle'
6
+ */
7
+
8
+ /**
9
+ * The ToggleRoot is used to manage the state of the Toggle component.
10
+ */
11
+ export const ToggleRoot = Toggle.Root
12
+
13
+ /**
14
+ * The ToggleIndicator is used to render the indicator of the Toggle component
15
+ * based on the pressed state.
16
+ */
17
+ export const ToggleIndicator = Toggle.Indicator
@@ -34,6 +34,7 @@ export interface DefinedIcons<T extends IconType = IconType> {
34
34
  invalidAlt: T
35
35
  redo: T
36
36
  selectArrow: T
37
+ selectChecked: T
37
38
  toggleChecked: T
38
39
  }
39
40
 
@@ -11,7 +11,7 @@ import {
11
11
  type PropsWithChildren,
12
12
  type ReactNode,
13
13
  } from 'react'
14
- import { Button } from '../components/Button'
14
+ import { Button } from '../components/button/button'
15
15
  import { css } from '@cerberus/styled-system/css'
16
16
  import { Show } from '../components/Show'
17
17
  import { Avatar } from '../components/Avatar'
@@ -11,7 +11,7 @@ import {
11
11
  type PropsWithChildren,
12
12
  type ReactNode,
13
13
  } from 'react'
14
- import { Button } from '../components/Button'
14
+ import { Button } from '../components/button/button'
15
15
  import { Show } from '../components/Show'
16
16
  import { Avatar } from '../components/Avatar'
17
17
  import { useCerberusContext } from './cerberus'
@@ -1,11 +1,13 @@
1
1
  'use client'
2
2
 
3
+ import type { FieldRootProps } from '@ark-ui/react'
3
4
  import {
4
5
  createContext,
5
6
  useContext,
6
7
  useMemo,
7
8
  type PropsWithChildren,
8
9
  } from 'react'
10
+ import { FieldRoot } from '../components/field/primitives'
9
11
 
10
12
  /**
11
13
  * This module provides a context and hook for the field.
@@ -35,11 +37,10 @@ export interface FieldContextValue {
35
37
  const FieldContext = createContext<FieldContextValue | null>(null)
36
38
 
37
39
  /**
38
- * Provides the field state for a all related components used within a group.
39
- * @see https://cerberus.digitalu.design/react/input
40
+ * @deprecated use FieldRoot or FieldParts instead
40
41
  */
41
- export function Field(
42
- props: PropsWithChildren<FieldContextValue>,
42
+ export function FieldProvider(
43
+ props: PropsWithChildren<FieldRootProps>,
43
44
  ): JSX.Element {
44
45
  const value = useMemo(
45
46
  () => ({
@@ -53,7 +54,7 @@ export function Field(
53
54
 
54
55
  return (
55
56
  <FieldContext.Provider value={value}>
56
- {props.children}
57
+ <FieldRoot {...props} />
57
58
  </FieldContext.Provider>
58
59
  )
59
60
  }
@@ -17,7 +17,7 @@ import { Notification } from '../components/Notification'
17
17
  import { animateIn, vstack } from '@cerberus/styled-system/patterns'
18
18
  import { Portal, type PortalProps } from '../components/Portal'
19
19
  import { notification } from '@cerberus/styled-system/recipes'
20
- import { Button } from '../components/Button'
20
+ import { Button } from '../components/button/button'
21
21
  import { cx } from '@cerberus/styled-system/css'
22
22
  import {
23
23
  addNotification,
@@ -11,12 +11,12 @@ import {
11
11
  type MouseEvent,
12
12
  type PropsWithChildren,
13
13
  } from 'react'
14
- import { Button } from '../components/Button'
14
+ import { DialogCloseTrigger } from '@ark-ui/react'
15
+ import { HStack, VStack } from '@cerberus/styled-system/jsx'
15
16
  import { css } from '@cerberus/styled-system/css'
16
17
  import { hstack } from '@cerberus/styled-system/patterns'
17
- import { Input } from '../components/Input'
18
- import { Field } from './field'
19
- import { Label } from '../components/Label'
18
+ import { FieldLabel, FieldRoot, Input } from '../components/field/index'
19
+ import { Button } from '../components/button/button'
20
20
  import { Show } from '../components/Show'
21
21
  import { Avatar } from '../components/Avatar'
22
22
  import { Text } from '../components/Text'
@@ -27,8 +27,6 @@ import {
27
27
  DialogHeading,
28
28
  DialogProvider,
29
29
  } from '../components/Dialog'
30
- import { HStack, VStack } from '@cerberus/styled-system/jsx'
31
- import { DialogCloseTrigger } from '@ark-ui/react'
32
30
 
33
31
  /**
34
32
  * This module provides a context and hook for the prompt modal.
@@ -216,28 +214,28 @@ export function PromptModal(
216
214
  marginBlockEnd="lg"
217
215
  w="full"
218
216
  >
219
- <Field invalid={!isValid}>
220
- <Label
217
+ <FieldRoot
218
+ ids={{
219
+ control: 'confirm',
220
+ }}
221
+ invalid={!isValid}
222
+ >
223
+ <FieldLabel
221
224
  className={hstack({
222
225
  gap: 'xs',
223
226
  justify: 'flex-start !important',
227
+ marginBlockEnd: 'xs',
228
+ textStyle: 'label-md',
224
229
  })}
225
- htmlFor="confirm"
226
- size="md"
227
230
  >
228
231
  Type
229
232
  <Text as="strong" textTransform="uppercase">
230
233
  {content?.key}
231
234
  </Text>
232
235
  to confirm
233
- </Label>
234
- <Input
235
- id="confirm"
236
- name="confirm"
237
- onChange={handleChange}
238
- type="text"
239
- />
240
- </Field>
236
+ </FieldLabel>
237
+ <Input name="confirm" onChange={handleChange} type="text" />
238
+ </FieldRoot>
241
239
  </VStack>
242
240
 
243
241
  <HStack gap="md" justify="stretch" w="full">
@@ -38,13 +38,7 @@ export interface UseDateReturn extends UseDateBase {
38
38
  }
39
39
 
40
40
  /**
41
- * A hook for formatting and validating date inputs. The date format defaults to US Military format.
42
- * @example
43
- * ```tsx
44
- * const MyComponent = () => {
45
- * const date = useDate({ initialValue: '01 JAN 2024' })
46
- * return <input onChange={date.onChange} type="text" value={date.value} />
47
- * }
41
+ * @deprecated use the DatePicker family instead
48
42
  */
49
43
  export function useDate(options?: UseDateOptions): UseDateReturn {
50
44
  const initialValue = options?.initialValue ?? ''
@@ -38,7 +38,6 @@ export function useRootColors(colors: string[] = []): RootColorsResult {
38
38
  useEffect(() => {
39
39
  if (Object.keys(state).length === colors.length) return
40
40
  dispatch(formatColors(colors))
41
- console.log('updating colors in root hook')
42
41
  }, [colors])
43
42
 
44
43
  // reducer is already memoized
@@ -29,9 +29,7 @@ export interface ToggleHookReturn {
29
29
  }
30
30
 
31
31
  /**
32
- * Provides a hook for using a toggle.
33
- * @see https://cerberus.digitalu.design/react/use-toggle
34
- * @memberof module:Toggle
32
+ * @deprecated Will be removed in v1. Use ToggleParts instead.
35
33
  */
36
34
  export function useToggle(options?: UseToggleOptions): ToggleHookReturn {
37
35
  const [checked, setChecked] = useState<string>(options?.checked ?? '')
package/src/index.ts CHANGED
@@ -5,13 +5,19 @@
5
5
 
6
6
  // deprecated
7
7
 
8
- export * from './components/Modal'
9
- export * from './components/ModalHeader'
10
- export * from './components/ModalHeading'
11
- export * from './components/ModalDescription'
12
- export * from './components/NavMenuTrigger'
13
- export * from './components/NavMenuList'
14
- export * from './components/NavMenuLink'
8
+ export * from './components/deprecated/FieldMessage'
9
+ export * from './components/deprecated/FieldsetLabel'
10
+ export * from './components/deprecated/Label'
11
+ export * from './components/deprecated/Modal'
12
+ export * from './components/deprecated/ModalHeader'
13
+ export * from './components/deprecated/ModalHeading'
14
+ export * from './components/deprecated/ModalDescription'
15
+ export * from './components/deprecated/NavMenuTrigger'
16
+ export * from './components/deprecated/NavMenuList'
17
+ export * from './components/deprecated/NavMenuLink'
18
+ export * from './hooks/useDate'
19
+ export * from './hooks/useModal'
20
+ export * from './hooks/useToggle'
15
21
 
16
22
  // components
17
23
 
@@ -20,23 +26,21 @@ export * from './components/Accordion.client'
20
26
  export * from './components/AccordionItemGroup'
21
27
  export * from './components/Admonition'
22
28
  export * from './components/Avatar'
23
- export * from './components/Button'
24
- export * from './components/Checkbox'
29
+ export * from './components/button/index'
30
+ export * from './components/checkbox/index'
25
31
  export * from './components/CircularProgress'
26
32
  export * from './components/DatePicker.client'
27
33
  export * from './components/DatePicker.server'
28
34
  export * from './components/Dialog'
29
35
  export * from './components/Dialog.client'
30
36
  export * from './components/Droppable'
31
- export * from './components/FieldMessage'
32
37
  export * from './components/FeatureFlag'
33
- export * from './components/Fieldset'
34
- export * from './components/FieldsetLabel'
38
+ export * from './components/field/index'
39
+ export * from './components/fieldset/index'
35
40
  export * from './components/FileStatus'
36
41
  export * from './components/FileUploader'
42
+ export * from './components/for'
37
43
  export * from './components/IconButton'
38
- export * from './components/Input'
39
- export * from './components/Label'
40
44
  export * from './components/Legend'
41
45
  export * from './components/Menu'
42
46
  export * from './components/Notification'
@@ -44,9 +48,11 @@ export * from './components/NotificationHeading'
44
48
  export * from './components/NotificationDescription'
45
49
  export * from './components/Portal'
46
50
  export * from './components/ProgressBar'
47
- export * from './components/Radio'
48
- export * from './components/Select'
51
+ export * from './components/radio/index'
52
+ export * from './components/select/index'
53
+ export * from './components/Show'
49
54
  export * from './components/Spinner'
55
+ export * from './components/switch/index'
50
56
  export * from './components/Tabs.client'
51
57
  export * from './components/Table'
52
58
  export * from './components/Thead'
@@ -55,10 +61,8 @@ export * from './components/Td'
55
61
  export * from './components/Tbody'
56
62
  export * from './components/Tag'
57
63
  export * from './components/Text'
58
- export * from './components/Textarea'
59
- export * from './components/Toggle'
64
+ export * from './components/toggle/index'
60
65
  export * from './components/Tooltip'
61
- export * from './components/Show'
62
66
 
63
67
  // context
64
68
 
@@ -66,7 +70,6 @@ export * from './context/cerberus'
66
70
  export * from './context/confirm-modal'
67
71
  export * from './context/cta-modal'
68
72
  export * from './context/feature-flags'
69
- export * from './context/field'
70
73
  export * from './context/navMenu'
71
74
  export * from './context/notification-center'
72
75
  export * from './context/prompt-modal'
@@ -75,10 +78,7 @@ export * from './context/theme'
75
78
 
76
79
  // hooks
77
80
 
78
- export * from './hooks/useDate'
79
- export * from './hooks/useModal'
80
81
  export * from './hooks/useTheme'
81
- export * from './hooks/useToggle'
82
82
  export * from './hooks/useRootColors'
83
83
 
84
84
  // aria-helpers
@@ -18,4 +18,34 @@ export function formatNotifyCount(count: number): string {
18
18
  return count.toString()
19
19
  }
20
20
 
21
+ /**
22
+ * Splits the properties of an object into multiple groups based on lists of keys.
23
+ * @param props - The object to split.
24
+ * @param keyGroups - The lists of keys to include in each group.
25
+ * @returns An array of objects: each containing the properties specified in the corresponding key group, and the last object containing the remaining keys.
26
+ */
27
+ export function splitProps<T extends object>(
28
+ props: T,
29
+ ...keyGroups: (keyof T)[][]
30
+ ): { [K in keyof T]?: T[K] }[] {
31
+ const result = keyGroups.map(() => ({}) as { [K in keyof T]?: T[K] })
32
+ const rest = {} as { [K in keyof T]?: T[K] }
33
+
34
+ for (const key in props) {
35
+ let assigned = false
36
+ for (let i = 0; i < keyGroups.length; i++) {
37
+ if (keyGroups[i].includes(key as keyof T)) {
38
+ result[i][key as keyof T] = props[key]
39
+ assigned = true
40
+ break
41
+ }
42
+ }
43
+ if (!assigned) {
44
+ rest[key as keyof T] = props[key]
45
+ }
46
+ }
47
+
48
+ return [...result, rest]
49
+ }
50
+
21
51
  export * from './localStorage'