@cerberus-design/react 0.19.2 → 0.20.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (615) hide show
  1. package/build/legacy/_tsup-dts-rollup.d.cts +242 -11
  2. package/build/legacy/components/accordion/index.cjs +23 -11
  3. package/build/legacy/components/accordion/index.cjs.map +1 -1
  4. package/build/legacy/components/accordion/item-group.cjs +23 -11
  5. package/build/legacy/components/accordion/item-group.cjs.map +1 -1
  6. package/build/legacy/components/accordion/item-indicator.cjs +23 -11
  7. package/build/legacy/components/accordion/item-indicator.cjs.map +1 -1
  8. package/build/legacy/components/accordion/parts.cjs +23 -11
  9. package/build/legacy/components/accordion/parts.cjs.map +1 -1
  10. package/build/legacy/components/accordion/primitives.cjs +23 -11
  11. package/build/legacy/components/accordion/primitives.cjs.map +1 -1
  12. package/build/legacy/components/admonition/admonition.cjs +23 -11
  13. package/build/legacy/components/admonition/admonition.cjs.map +1 -1
  14. package/build/legacy/components/admonition/index.cjs +23 -11
  15. package/build/legacy/components/admonition/index.cjs.map +1 -1
  16. package/build/legacy/components/admonition/match-avatar.cjs +23 -11
  17. package/build/legacy/components/admonition/match-avatar.cjs.map +1 -1
  18. package/build/legacy/components/admonition/parts.cjs +23 -11
  19. package/build/legacy/components/admonition/parts.cjs.map +1 -1
  20. package/build/legacy/components/admonition/primitives.cjs +23 -11
  21. package/build/legacy/components/admonition/primitives.cjs.map +1 -1
  22. package/build/legacy/components/avatar/avatar.cjs +23 -11
  23. package/build/legacy/components/avatar/avatar.cjs.map +1 -1
  24. package/build/legacy/components/avatar/index.cjs +23 -11
  25. package/build/legacy/components/avatar/index.cjs.map +1 -1
  26. package/build/legacy/components/avatar/parts.cjs +23 -11
  27. package/build/legacy/components/avatar/parts.cjs.map +1 -1
  28. package/build/legacy/components/avatar/primitives.cjs +23 -11
  29. package/build/legacy/components/avatar/primitives.cjs.map +1 -1
  30. package/build/legacy/components/button/button.cjs +23 -11
  31. package/build/legacy/components/button/button.cjs.map +1 -1
  32. package/build/legacy/components/button/index.cjs +23 -11
  33. package/build/legacy/components/button/index.cjs.map +1 -1
  34. package/build/legacy/components/button/parts.cjs +23 -11
  35. package/build/legacy/components/button/parts.cjs.map +1 -1
  36. package/build/legacy/components/button/primitives.cjs +23 -11
  37. package/build/legacy/components/button/primitives.cjs.map +1 -1
  38. package/build/legacy/components/carousel/carousel.cjs +239 -0
  39. package/build/legacy/components/carousel/carousel.cjs.map +1 -0
  40. package/build/legacy/components/carousel/carousel.d.cts +2 -0
  41. package/build/legacy/components/carousel/index.cjs +257 -0
  42. package/build/legacy/components/carousel/index.cjs.map +1 -0
  43. package/build/legacy/components/carousel/index.d.cts +19 -0
  44. package/build/legacy/components/carousel/parts.cjs +198 -0
  45. package/build/legacy/components/carousel/parts.cjs.map +1 -0
  46. package/build/legacy/components/carousel/parts.d.cts +1 -0
  47. package/build/legacy/components/carousel/primitives.cjs +198 -0
  48. package/build/legacy/components/carousel/primitives.cjs.map +1 -0
  49. package/build/legacy/components/carousel/primitives.d.cts +16 -0
  50. package/build/legacy/components/checkbox/checkbox-icon.cjs +23 -11
  51. package/build/legacy/components/checkbox/checkbox-icon.cjs.map +1 -1
  52. package/build/legacy/components/checkbox/checkbox.cjs +23 -11
  53. package/build/legacy/components/checkbox/checkbox.cjs.map +1 -1
  54. package/build/legacy/components/checkbox/index.cjs +23 -11
  55. package/build/legacy/components/checkbox/index.cjs.map +1 -1
  56. package/build/legacy/components/checkbox/parts.cjs +23 -11
  57. package/build/legacy/components/checkbox/parts.cjs.map +1 -1
  58. package/build/legacy/components/checkbox/primitives.cjs +23 -11
  59. package/build/legacy/components/checkbox/primitives.cjs.map +1 -1
  60. package/build/legacy/components/circular-progress/circular-progress.cjs +23 -11
  61. package/build/legacy/components/circular-progress/circular-progress.cjs.map +1 -1
  62. package/build/legacy/components/circular-progress/index.cjs +23 -11
  63. package/build/legacy/components/circular-progress/index.cjs.map +1 -1
  64. package/build/legacy/components/circular-progress/primitives.cjs +23 -11
  65. package/build/legacy/components/circular-progress/primitives.cjs.map +1 -1
  66. package/build/legacy/components/combobox/combobox.cjs +23 -11
  67. package/build/legacy/components/combobox/combobox.cjs.map +1 -1
  68. package/build/legacy/components/combobox/index.cjs +23 -11
  69. package/build/legacy/components/combobox/index.cjs.map +1 -1
  70. package/build/legacy/components/combobox/item-group.cjs +23 -11
  71. package/build/legacy/components/combobox/item-group.cjs.map +1 -1
  72. package/build/legacy/components/combobox/item.cjs +23 -11
  73. package/build/legacy/components/combobox/item.cjs.map +1 -1
  74. package/build/legacy/components/combobox/parts.cjs +23 -11
  75. package/build/legacy/components/combobox/parts.cjs.map +1 -1
  76. package/build/legacy/components/combobox/primitives.cjs +23 -11
  77. package/build/legacy/components/combobox/primitives.cjs.map +1 -1
  78. package/build/legacy/components/combobox/use-stateful-collection.cjs +23 -11
  79. package/build/legacy/components/combobox/use-stateful-collection.cjs.map +1 -1
  80. package/build/legacy/components/cta-dialog/index.cjs +23 -11
  81. package/build/legacy/components/cta-dialog/index.cjs.map +1 -1
  82. package/build/legacy/components/cta-dialog/provider.cjs +23 -11
  83. package/build/legacy/components/cta-dialog/provider.cjs.map +1 -1
  84. package/build/legacy/components/cta-dialog/trigger-item.cjs +23 -11
  85. package/build/legacy/components/cta-dialog/trigger-item.cjs.map +1 -1
  86. package/build/legacy/components/date-picker/calendar.cjs +23 -11
  87. package/build/legacy/components/date-picker/calendar.cjs.map +1 -1
  88. package/build/legacy/components/date-picker/content.cjs +23 -11
  89. package/build/legacy/components/date-picker/content.cjs.map +1 -1
  90. package/build/legacy/components/date-picker/date-picker.cjs +23 -11
  91. package/build/legacy/components/date-picker/date-picker.cjs.map +1 -1
  92. package/build/legacy/components/date-picker/day-view.cjs +23 -11
  93. package/build/legacy/components/date-picker/day-view.cjs.map +1 -1
  94. package/build/legacy/components/date-picker/index.cjs +23 -11
  95. package/build/legacy/components/date-picker/index.cjs.map +1 -1
  96. package/build/legacy/components/date-picker/input.cjs +23 -11
  97. package/build/legacy/components/date-picker/input.cjs.map +1 -1
  98. package/build/legacy/components/date-picker/month-view.cjs +23 -11
  99. package/build/legacy/components/date-picker/month-view.cjs.map +1 -1
  100. package/build/legacy/components/date-picker/parts.cjs +23 -11
  101. package/build/legacy/components/date-picker/parts.cjs.map +1 -1
  102. package/build/legacy/components/date-picker/primitives.cjs +23 -11
  103. package/build/legacy/components/date-picker/primitives.cjs.map +1 -1
  104. package/build/legacy/components/date-picker/range-input.cjs +23 -11
  105. package/build/legacy/components/date-picker/range-input.cjs.map +1 -1
  106. package/build/legacy/components/date-picker/trigger.cjs +23 -11
  107. package/build/legacy/components/date-picker/trigger.cjs.map +1 -1
  108. package/build/legacy/components/date-picker/view-control-group.cjs +23 -11
  109. package/build/legacy/components/date-picker/view-control-group.cjs.map +1 -1
  110. package/build/legacy/components/date-picker/year-view.cjs +23 -11
  111. package/build/legacy/components/date-picker/year-view.cjs.map +1 -1
  112. package/build/legacy/components/deprecated/Label.cjs +23 -11
  113. package/build/legacy/components/deprecated/Label.cjs.map +1 -1
  114. package/build/legacy/components/dialog/close-icon-trigger.cjs +23 -11
  115. package/build/legacy/components/dialog/close-icon-trigger.cjs.map +1 -1
  116. package/build/legacy/components/dialog/dialog.cjs +23 -11
  117. package/build/legacy/components/dialog/dialog.cjs.map +1 -1
  118. package/build/legacy/components/dialog/index.cjs +23 -11
  119. package/build/legacy/components/dialog/index.cjs.map +1 -1
  120. package/build/legacy/components/dialog/parts.cjs +23 -11
  121. package/build/legacy/components/dialog/parts.cjs.map +1 -1
  122. package/build/legacy/components/dialog/primitives.cjs +23 -11
  123. package/build/legacy/components/dialog/primitives.cjs.map +1 -1
  124. package/build/legacy/components/field/field.cjs +23 -11
  125. package/build/legacy/components/field/field.cjs.map +1 -1
  126. package/build/legacy/components/field/helper-text.cjs +23 -11
  127. package/build/legacy/components/field/helper-text.cjs.map +1 -1
  128. package/build/legacy/components/field/index.cjs +23 -11
  129. package/build/legacy/components/field/index.cjs.map +1 -1
  130. package/build/legacy/components/field/input.cjs +23 -11
  131. package/build/legacy/components/field/input.cjs.map +1 -1
  132. package/build/legacy/components/field/parts.cjs +23 -11
  133. package/build/legacy/components/field/parts.cjs.map +1 -1
  134. package/build/legacy/components/field/primitives.cjs +23 -11
  135. package/build/legacy/components/field/primitives.cjs.map +1 -1
  136. package/build/legacy/components/fieldset/fieldset.cjs +23 -11
  137. package/build/legacy/components/fieldset/fieldset.cjs.map +1 -1
  138. package/build/legacy/components/fieldset/index.cjs +23 -11
  139. package/build/legacy/components/fieldset/index.cjs.map +1 -1
  140. package/build/legacy/components/fieldset/parts.cjs +23 -11
  141. package/build/legacy/components/fieldset/parts.cjs.map +1 -1
  142. package/build/legacy/components/fieldset/primitives.cjs +23 -11
  143. package/build/legacy/components/fieldset/primitives.cjs.map +1 -1
  144. package/build/legacy/components/file-upload/file-status.cjs +23 -11
  145. package/build/legacy/components/file-upload/file-status.cjs.map +1 -1
  146. package/build/legacy/components/file-upload/file-uploader.cjs +23 -11
  147. package/build/legacy/components/file-upload/file-uploader.cjs.map +1 -1
  148. package/build/legacy/components/file-upload/index.cjs +23 -11
  149. package/build/legacy/components/file-upload/index.cjs.map +1 -1
  150. package/build/legacy/components/icon-button/button.cjs +23 -11
  151. package/build/legacy/components/icon-button/button.cjs.map +1 -1
  152. package/build/legacy/components/icon-button/index.cjs +23 -11
  153. package/build/legacy/components/icon-button/index.cjs.map +1 -1
  154. package/build/legacy/components/icon-button/primitives.cjs +23 -11
  155. package/build/legacy/components/icon-button/primitives.cjs.map +1 -1
  156. package/build/legacy/components/menu/index.cjs +23 -11
  157. package/build/legacy/components/menu/index.cjs.map +1 -1
  158. package/build/legacy/components/menu/menu.cjs +23 -11
  159. package/build/legacy/components/menu/menu.cjs.map +1 -1
  160. package/build/legacy/components/menu/primitives.cjs +23 -11
  161. package/build/legacy/components/menu/primitives.cjs.map +1 -1
  162. package/build/legacy/components/notifications/center.cjs +23 -11
  163. package/build/legacy/components/notifications/center.cjs.map +1 -1
  164. package/build/legacy/components/notifications/close-trigger.cjs +23 -11
  165. package/build/legacy/components/notifications/close-trigger.cjs.map +1 -1
  166. package/build/legacy/components/notifications/index.cjs +23 -11
  167. package/build/legacy/components/notifications/index.cjs.map +1 -1
  168. package/build/legacy/components/notifications/parts.cjs +23 -11
  169. package/build/legacy/components/notifications/parts.cjs.map +1 -1
  170. package/build/legacy/components/notifications/primitives.cjs +23 -11
  171. package/build/legacy/components/notifications/primitives.cjs.map +1 -1
  172. package/build/legacy/components/progress/index.cjs +23 -11
  173. package/build/legacy/components/progress/index.cjs.map +1 -1
  174. package/build/legacy/components/progress/primitives.cjs +23 -11
  175. package/build/legacy/components/progress/primitives.cjs.map +1 -1
  176. package/build/legacy/components/progress/progress-bar.cjs +23 -11
  177. package/build/legacy/components/progress/progress-bar.cjs.map +1 -1
  178. package/build/legacy/components/radio/index.cjs +23 -11
  179. package/build/legacy/components/radio/index.cjs.map +1 -1
  180. package/build/legacy/components/radio/parts.cjs +23 -11
  181. package/build/legacy/components/radio/parts.cjs.map +1 -1
  182. package/build/legacy/components/radio/primitives.cjs +23 -11
  183. package/build/legacy/components/radio/primitives.cjs.map +1 -1
  184. package/build/legacy/components/radio/radio.cjs +23 -11
  185. package/build/legacy/components/radio/radio.cjs.map +1 -1
  186. package/build/legacy/components/rating/index.cjs +23 -11
  187. package/build/legacy/components/rating/index.cjs.map +1 -1
  188. package/build/legacy/components/rating/parts.cjs +23 -11
  189. package/build/legacy/components/rating/parts.cjs.map +1 -1
  190. package/build/legacy/components/rating/primitives.cjs +23 -11
  191. package/build/legacy/components/rating/primitives.cjs.map +1 -1
  192. package/build/legacy/components/rating/rating.cjs +23 -11
  193. package/build/legacy/components/rating/rating.cjs.map +1 -1
  194. package/build/legacy/components/select/index.cjs +23 -11
  195. package/build/legacy/components/select/index.cjs.map +1 -1
  196. package/build/legacy/components/select/option-group.cjs +23 -11
  197. package/build/legacy/components/select/option-group.cjs.map +1 -1
  198. package/build/legacy/components/select/option.cjs +23 -11
  199. package/build/legacy/components/select/option.cjs.map +1 -1
  200. package/build/legacy/components/select/parts.cjs +23 -11
  201. package/build/legacy/components/select/parts.cjs.map +1 -1
  202. package/build/legacy/components/select/primitives.cjs +23 -11
  203. package/build/legacy/components/select/primitives.cjs.map +1 -1
  204. package/build/legacy/components/select/select.cjs +23 -11
  205. package/build/legacy/components/select/select.cjs.map +1 -1
  206. package/build/legacy/components/switch/index.cjs +23 -11
  207. package/build/legacy/components/switch/index.cjs.map +1 -1
  208. package/build/legacy/components/switch/parts.cjs +23 -11
  209. package/build/legacy/components/switch/parts.cjs.map +1 -1
  210. package/build/legacy/components/switch/primitives.cjs +23 -11
  211. package/build/legacy/components/switch/primitives.cjs.map +1 -1
  212. package/build/legacy/components/switch/switch.cjs +23 -11
  213. package/build/legacy/components/switch/switch.cjs.map +1 -1
  214. package/build/legacy/components/table/index.cjs +23 -11
  215. package/build/legacy/components/table/index.cjs.map +1 -1
  216. package/build/legacy/components/table/parts.cjs +23 -11
  217. package/build/legacy/components/table/parts.cjs.map +1 -1
  218. package/build/legacy/components/table/primitives.cjs +23 -11
  219. package/build/legacy/components/table/primitives.cjs.map +1 -1
  220. package/build/legacy/components/table/table.cjs +23 -11
  221. package/build/legacy/components/table/table.cjs.map +1 -1
  222. package/build/legacy/components/tabs/index.cjs +23 -11
  223. package/build/legacy/components/tabs/index.cjs.map +1 -1
  224. package/build/legacy/components/tabs/parts.cjs +23 -11
  225. package/build/legacy/components/tabs/parts.cjs.map +1 -1
  226. package/build/legacy/components/tabs/primitives.cjs +23 -11
  227. package/build/legacy/components/tabs/primitives.cjs.map +1 -1
  228. package/build/legacy/components/tabs/tabs.cjs +23 -11
  229. package/build/legacy/components/tabs/tabs.cjs.map +1 -1
  230. package/build/legacy/components/tag/index.cjs +23 -11
  231. package/build/legacy/components/tag/index.cjs.map +1 -1
  232. package/build/legacy/components/tag/tag.cjs +23 -11
  233. package/build/legacy/components/tag/tag.cjs.map +1 -1
  234. package/build/legacy/components/theme/index.cjs +23 -11
  235. package/build/legacy/components/theme/index.cjs.map +1 -1
  236. package/build/legacy/components/theme/theme.cjs +23 -11
  237. package/build/legacy/components/theme/theme.cjs.map +1 -1
  238. package/build/legacy/components/toggle/index.cjs +23 -11
  239. package/build/legacy/components/toggle/index.cjs.map +1 -1
  240. package/build/legacy/components/toggle/parts.cjs +23 -11
  241. package/build/legacy/components/toggle/parts.cjs.map +1 -1
  242. package/build/legacy/components/toggle/primitives.cjs +23 -11
  243. package/build/legacy/components/toggle/primitives.cjs.map +1 -1
  244. package/build/legacy/components/tooltip/index.cjs +23 -11
  245. package/build/legacy/components/tooltip/index.cjs.map +1 -1
  246. package/build/legacy/components/tooltip/parts.cjs +23 -11
  247. package/build/legacy/components/tooltip/parts.cjs.map +1 -1
  248. package/build/legacy/components/tooltip/primitives.cjs +23 -11
  249. package/build/legacy/components/tooltip/primitives.cjs.map +1 -1
  250. package/build/legacy/components/tooltip/tooltip.cjs +23 -11
  251. package/build/legacy/components/tooltip/tooltip.cjs.map +1 -1
  252. package/build/legacy/context/confirm-modal.cjs +23 -11
  253. package/build/legacy/context/confirm-modal.cjs.map +1 -1
  254. package/build/legacy/context/field.cjs +23 -11
  255. package/build/legacy/context/field.cjs.map +1 -1
  256. package/build/legacy/context/prompt-modal.cjs +23 -11
  257. package/build/legacy/context/prompt-modal.cjs.map +1 -1
  258. package/build/legacy/index.cjs +513 -429
  259. package/build/legacy/index.cjs.map +1 -1
  260. package/build/legacy/index.d.cts +19 -0
  261. package/build/legacy/system/factory.cjs +23 -11
  262. package/build/legacy/system/factory.cjs.map +1 -1
  263. package/build/legacy/system/index.cjs +23 -11
  264. package/build/legacy/system/index.cjs.map +1 -1
  265. package/build/legacy/system/primitive-factory.cjs +23 -11
  266. package/build/legacy/system/primitive-factory.cjs.map +1 -1
  267. package/build/modern/_tsup-dts-rollup.d.ts +242 -11
  268. package/build/modern/{chunk-KHU3YTLM.js → chunk-236F7MCH.js} +2 -2
  269. package/build/modern/{chunk-BS4V2YJV.js → chunk-2D6BHWPB.js} +3 -3
  270. package/build/modern/{chunk-IWJCQ4BM.js → chunk-2KVC3OJ3.js} +3 -3
  271. package/build/modern/{chunk-UHS2TNFC.js → chunk-2UQWJSA6.js} +2 -2
  272. package/build/modern/{chunk-2VVJATIW.js → chunk-2Z7IKMZC.js} +7 -7
  273. package/build/modern/{chunk-YAZIBTA2.js → chunk-3NPWHL5X.js} +2 -2
  274. package/build/modern/{chunk-S7HDNFJJ.js → chunk-3UIV3HMB.js} +2 -2
  275. package/build/modern/{chunk-WK7TUQIS.js → chunk-3X6VM5FS.js} +2 -2
  276. package/build/modern/{chunk-Y7UXAFII.js → chunk-3Z6W4ZFA.js} +2 -2
  277. package/build/modern/{chunk-YMFUEQ2A.js → chunk-45ZTZUCD.js} +3 -3
  278. package/build/modern/{chunk-7MWSOSOY.js → chunk-4O26WCRC.js} +2 -2
  279. package/build/modern/{chunk-ZGJDFQN2.js → chunk-4O64W4BA.js} +2 -2
  280. package/build/modern/{chunk-X6KB5LWU.js → chunk-4SOUI4NF.js} +2 -2
  281. package/build/modern/{chunk-77QDH2Q5.js → chunk-5B6LMHY2.js} +2 -2
  282. package/build/modern/{chunk-GLH23RDO.js → chunk-5L5PT37R.js} +2 -2
  283. package/build/modern/{chunk-ZFEGJR5E.js → chunk-5RLQNM73.js} +2 -2
  284. package/build/modern/{chunk-262PENBL.js → chunk-6LU43Z4K.js} +3 -3
  285. package/build/modern/{chunk-AHYFFHUW.js → chunk-76VTLS7X.js} +2 -2
  286. package/build/modern/{chunk-H6ZGH4VM.js → chunk-7B2ZHSH3.js} +2 -2
  287. package/build/modern/{chunk-X34MYQKI.js → chunk-7JNOY5MW.js} +2 -2
  288. package/build/modern/{chunk-FIVEPZ5F.js → chunk-7UKNQ4RD.js} +2 -2
  289. package/build/modern/{chunk-ABMK5P66.js → chunk-AOLWIMWV.js} +2 -2
  290. package/build/modern/{chunk-OG74JDYL.js → chunk-AQNXQVXP.js} +2 -2
  291. package/build/modern/{chunk-4ZQUC4DA.js → chunk-BHZN6P2K.js} +2 -2
  292. package/build/modern/{chunk-33OXE7IJ.js → chunk-BKPIKVU2.js} +24 -12
  293. package/build/modern/chunk-BKPIKVU2.js.map +1 -0
  294. package/build/modern/{chunk-ROWT3E5K.js → chunk-BSJM5VYB.js} +2 -2
  295. package/build/modern/{chunk-PI7MKQ62.js → chunk-BSZVMBX7.js} +2 -2
  296. package/build/modern/{chunk-HUKQPIDV.js → chunk-BXDQ5AXV.js} +2 -2
  297. package/build/modern/{chunk-W7WPVM34.js → chunk-C7XAB665.js} +3 -3
  298. package/build/modern/{chunk-H7N6M7VO.js → chunk-CHEYITRR.js} +2 -2
  299. package/build/modern/{chunk-CKCGLHLS.js → chunk-CONG7TGJ.js} +9 -9
  300. package/build/modern/{chunk-6KGRHE3J.js → chunk-D7BCQ2CQ.js} +2 -2
  301. package/build/modern/{chunk-7GT7UUCB.js → chunk-DH7SFE2R.js} +2 -2
  302. package/build/modern/{chunk-6KIXF4ES.js → chunk-EQ3X7KQ3.js} +2 -2
  303. package/build/modern/{chunk-BGJIAA5F.js → chunk-ET3UY6GV.js} +2 -2
  304. package/build/modern/{chunk-27RTYRM7.js → chunk-EZJMTWXK.js} +2 -2
  305. package/build/modern/{chunk-VB7T2YYD.js → chunk-FSX64HPK.js} +3 -3
  306. package/build/modern/{chunk-JBAE2B2H.js → chunk-FVADFCAE.js} +2 -2
  307. package/build/modern/{chunk-5W6HMI2G.js → chunk-GFFIJGQC.js} +2 -2
  308. package/build/modern/{chunk-LVA6QLLM.js → chunk-GTAIWUFQ.js} +2 -2
  309. package/build/modern/{chunk-7LNGA4BX.js → chunk-GZYLYTAG.js} +2 -2
  310. package/build/modern/{chunk-UZHBWTSE.js → chunk-HCH5I26B.js} +2 -2
  311. package/build/modern/{chunk-6XO2RTIJ.js → chunk-HMUQEMV2.js} +2 -2
  312. package/build/modern/{chunk-TJXWSSHO.js → chunk-HYEFRC5Z.js} +2 -2
  313. package/build/modern/{chunk-FL3J7LTC.js → chunk-INQZQMLL.js} +2 -2
  314. package/build/modern/{chunk-PGINYK2P.js → chunk-IOX43IGB.js} +2 -2
  315. package/build/modern/{chunk-KDIDKP2L.js → chunk-IRJITAGE.js} +2 -2
  316. package/build/modern/{chunk-RMLBOGDE.js → chunk-IVQCMXV6.js} +3 -3
  317. package/build/modern/{chunk-ZUC3X6GQ.js → chunk-IYF5FS6N.js} +2 -2
  318. package/build/modern/{chunk-TIKG6U4Y.js → chunk-JIEN2PM7.js} +2 -2
  319. package/build/modern/{chunk-T3U6K34Y.js → chunk-JUSH26RO.js} +2 -2
  320. package/build/modern/{chunk-VQIBX475.js → chunk-JVAGLLOA.js} +2 -2
  321. package/build/modern/{chunk-5UZUXCMO.js → chunk-K3NML67W.js} +2 -2
  322. package/build/modern/{chunk-MPVUVQCJ.js → chunk-K3YEOS6O.js} +2 -2
  323. package/build/modern/{chunk-KELIM5A3.js → chunk-KITDXURN.js} +2 -2
  324. package/build/modern/{chunk-NC7AHNAS.js → chunk-KJYNKQX4.js} +6 -6
  325. package/build/modern/{chunk-BFE2SHZO.js → chunk-KZVCQNZI.js} +3 -3
  326. package/build/modern/{chunk-KUF4UUC7.js → chunk-L4KBNOWP.js} +2 -2
  327. package/build/modern/{chunk-KF3WIC2Y.js → chunk-LO6YTNOP.js} +2 -2
  328. package/build/modern/{chunk-Q6FTLT7K.js → chunk-LOJBIVY4.js} +2 -2
  329. package/build/modern/{chunk-CBJ5A5BD.js → chunk-LY6ULD43.js} +6 -6
  330. package/build/modern/{chunk-Q3NDU44T.js → chunk-MMNUVODK.js} +2 -2
  331. package/build/modern/{chunk-NLZGGXMB.js → chunk-MVHFBVDA.js} +2 -2
  332. package/build/modern/{chunk-6P2JY52I.js → chunk-N5D6HNGL.js} +2 -2
  333. package/build/modern/{chunk-L4CKWLXL.js → chunk-NHM5IWBE.js} +2 -2
  334. package/build/modern/{chunk-EMLKVTGD.js → chunk-O4W2BVE7.js} +3 -3
  335. package/build/modern/{chunk-CI7JYXUR.js → chunk-OG644D7M.js} +3 -3
  336. package/build/modern/{chunk-P3J5P524.js → chunk-OX3NA6DQ.js} +2 -2
  337. package/build/modern/{chunk-HJYVIRNA.js → chunk-OYTEXDS6.js} +5 -5
  338. package/build/modern/{chunk-XZ2FNMMC.js → chunk-OZTYYWIX.js} +2 -2
  339. package/build/modern/{chunk-IX5QZCM4.js → chunk-P6JC32U3.js} +2 -2
  340. package/build/modern/chunk-PH3GZIQE.js +39 -0
  341. package/build/modern/chunk-PH3GZIQE.js.map +1 -0
  342. package/build/modern/{chunk-CYK3ZJIX.js → chunk-PZELEMIY.js} +2 -2
  343. package/build/modern/{chunk-BGZTC53N.js → chunk-RI3WN6XL.js} +2 -2
  344. package/build/modern/chunk-RJTFRZAL.js +32 -0
  345. package/build/modern/chunk-RJTFRZAL.js.map +1 -0
  346. package/build/modern/{chunk-ETYXG2J2.js → chunk-RS6DS6RS.js} +2 -2
  347. package/build/modern/{chunk-OSUFAZAK.js → chunk-RT4W6GBB.js} +2 -2
  348. package/build/modern/{chunk-XMFTL6KG.js → chunk-SFS5ILWG.js} +2 -2
  349. package/build/modern/{chunk-7GVDVLCR.js → chunk-SITE2UML.js} +2 -2
  350. package/build/modern/{chunk-XB4HMXOQ.js → chunk-SKOX5PJI.js} +3 -3
  351. package/build/modern/{chunk-A6NEZNGY.js → chunk-SP7TSFMZ.js} +2 -2
  352. package/build/modern/{chunk-J37VR33H.js → chunk-TIQO4VNE.js} +2 -2
  353. package/build/modern/{chunk-2UD72VLC.js → chunk-TJSHJF6G.js} +2 -2
  354. package/build/modern/{chunk-RKKI3J6R.js → chunk-TKHDOZWN.js} +2 -2
  355. package/build/modern/{chunk-46QXBKGK.js → chunk-UZZ26IWW.js} +6 -6
  356. package/build/modern/{chunk-U2ZT7UDW.js → chunk-V5TUC5AS.js} +2 -2
  357. package/build/modern/{chunk-QV5JHBHO.js → chunk-VQUJGCZW.js} +2 -2
  358. package/build/modern/chunk-VVZOWCNQ.js +27 -0
  359. package/build/modern/chunk-VVZOWCNQ.js.map +1 -0
  360. package/build/modern/{chunk-WC6SOU2F.js → chunk-VYJAPLLO.js} +2 -2
  361. package/build/modern/{chunk-RCXKKQQA.js → chunk-WGWEAB2Q.js} +2 -2
  362. package/build/modern/{chunk-GBV7MIBU.js → chunk-X24O5DTP.js} +4 -4
  363. package/build/modern/{chunk-5WT5BM3V.js → chunk-YJRAJNYI.js} +3 -3
  364. package/build/modern/{chunk-X6WOC4RF.js → chunk-YR6G66UT.js} +3 -3
  365. package/build/modern/chunk-YUAUGU3G.js +1 -0
  366. package/build/modern/chunk-YUAUGU3G.js.map +1 -0
  367. package/build/modern/{chunk-BT6FMOKM.js → chunk-YWPXLHUO.js} +2 -2
  368. package/build/modern/{chunk-QHPJ2C76.js → chunk-YZG7BNVB.js} +2 -2
  369. package/build/modern/{chunk-LMEGBPKK.js → chunk-Z5DHBMQF.js} +2 -2
  370. package/build/modern/{chunk-2SBNSYYC.js → chunk-ZFONE65Q.js} +2 -2
  371. package/build/modern/{chunk-ADOFKGU3.js → chunk-ZFVQQJIQ.js} +2 -2
  372. package/build/modern/{chunk-LNDQW46A.js → chunk-ZZ4JETME.js} +2 -2
  373. package/build/modern/components/accordion/index.js +7 -7
  374. package/build/modern/components/accordion/item-group.js +7 -7
  375. package/build/modern/components/accordion/item-indicator.js +6 -6
  376. package/build/modern/components/accordion/parts.js +5 -5
  377. package/build/modern/components/accordion/primitives.js +4 -4
  378. package/build/modern/components/admonition/admonition.js +10 -10
  379. package/build/modern/components/admonition/index.js +10 -10
  380. package/build/modern/components/admonition/match-avatar.js +7 -7
  381. package/build/modern/components/admonition/parts.js +5 -5
  382. package/build/modern/components/admonition/primitives.js +4 -4
  383. package/build/modern/components/avatar/avatar.js +6 -6
  384. package/build/modern/components/avatar/index.js +6 -6
  385. package/build/modern/components/avatar/parts.js +5 -5
  386. package/build/modern/components/avatar/primitives.js +4 -4
  387. package/build/modern/components/button/button.js +5 -5
  388. package/build/modern/components/button/index.js +6 -6
  389. package/build/modern/components/button/parts.js +6 -6
  390. package/build/modern/components/button/primitives.js +4 -4
  391. package/build/modern/components/carousel/carousel.d.ts +2 -0
  392. package/build/modern/components/carousel/carousel.js +15 -0
  393. package/build/modern/components/carousel/carousel.js.map +1 -0
  394. package/build/modern/components/carousel/index.d.ts +19 -0
  395. package/build/modern/components/carousel/index.js +36 -0
  396. package/build/modern/components/carousel/index.js.map +1 -0
  397. package/build/modern/components/carousel/parts.d.ts +1 -0
  398. package/build/modern/components/carousel/parts.js +12 -0
  399. package/build/modern/components/carousel/parts.js.map +1 -0
  400. package/build/modern/components/carousel/primitives.d.ts +16 -0
  401. package/build/modern/components/carousel/primitives.js +25 -0
  402. package/build/modern/components/carousel/primitives.js.map +1 -0
  403. package/build/modern/components/checkbox/checkbox-icon.js +6 -6
  404. package/build/modern/components/checkbox/checkbox.js +7 -7
  405. package/build/modern/components/checkbox/index.js +7 -7
  406. package/build/modern/components/checkbox/parts.js +5 -5
  407. package/build/modern/components/checkbox/primitives.js +4 -4
  408. package/build/modern/components/circular-progress/circular-progress.js +5 -5
  409. package/build/modern/components/circular-progress/index.js +5 -5
  410. package/build/modern/components/circular-progress/primitives.js +4 -4
  411. package/build/modern/components/combobox/combobox.js +6 -6
  412. package/build/modern/components/combobox/index.js +14 -14
  413. package/build/modern/components/combobox/item-group.js +6 -6
  414. package/build/modern/components/combobox/item.js +6 -6
  415. package/build/modern/components/combobox/parts.js +5 -5
  416. package/build/modern/components/combobox/primitives.js +4 -4
  417. package/build/modern/components/combobox/use-stateful-collection.js +5 -5
  418. package/build/modern/components/cta-dialog/index.js +18 -18
  419. package/build/modern/components/cta-dialog/provider.js +17 -17
  420. package/build/modern/components/cta-dialog/trigger-item.js +6 -6
  421. package/build/modern/components/date-picker/calendar.js +15 -15
  422. package/build/modern/components/date-picker/content.js +6 -6
  423. package/build/modern/components/date-picker/date-picker.js +6 -6
  424. package/build/modern/components/date-picker/day-view.js +11 -11
  425. package/build/modern/components/date-picker/index.js +23 -23
  426. package/build/modern/components/date-picker/input.js +9 -9
  427. package/build/modern/components/date-picker/month-view.js +11 -11
  428. package/build/modern/components/date-picker/parts.js +5 -5
  429. package/build/modern/components/date-picker/primitives.js +4 -4
  430. package/build/modern/components/date-picker/range-input.js +9 -9
  431. package/build/modern/components/date-picker/trigger.js +8 -8
  432. package/build/modern/components/date-picker/view-control-group.js +10 -10
  433. package/build/modern/components/date-picker/year-view.js +11 -11
  434. package/build/modern/components/deprecated/Label.js +8 -8
  435. package/build/modern/components/dialog/close-icon-trigger.js +7 -7
  436. package/build/modern/components/dialog/dialog.js +5 -5
  437. package/build/modern/components/dialog/index.js +11 -11
  438. package/build/modern/components/dialog/parts.js +5 -5
  439. package/build/modern/components/dialog/primitives.js +4 -4
  440. package/build/modern/components/field/field.js +6 -6
  441. package/build/modern/components/field/helper-text.js +5 -5
  442. package/build/modern/components/field/index.js +9 -9
  443. package/build/modern/components/field/input.js +4 -4
  444. package/build/modern/components/field/parts.js +5 -5
  445. package/build/modern/components/field/primitives.js +4 -4
  446. package/build/modern/components/fieldset/fieldset.js +6 -6
  447. package/build/modern/components/fieldset/index.js +6 -6
  448. package/build/modern/components/fieldset/parts.js +5 -5
  449. package/build/modern/components/fieldset/primitives.js +4 -4
  450. package/build/modern/components/file-upload/file-status.js +15 -15
  451. package/build/modern/components/file-upload/file-uploader.js +7 -7
  452. package/build/modern/components/file-upload/index.js +16 -16
  453. package/build/modern/components/icon-button/button.js +5 -5
  454. package/build/modern/components/icon-button/index.js +5 -5
  455. package/build/modern/components/icon-button/primitives.js +4 -4
  456. package/build/modern/components/menu/index.js +5 -5
  457. package/build/modern/components/menu/menu.js +5 -5
  458. package/build/modern/components/menu/primitives.js +4 -4
  459. package/build/modern/components/notifications/center.js +9 -9
  460. package/build/modern/components/notifications/close-trigger.js +6 -6
  461. package/build/modern/components/notifications/index.js +10 -10
  462. package/build/modern/components/notifications/parts.js +5 -5
  463. package/build/modern/components/notifications/primitives.js +4 -4
  464. package/build/modern/components/progress/index.js +5 -5
  465. package/build/modern/components/progress/primitives.js +4 -4
  466. package/build/modern/components/progress/progress-bar.js +5 -5
  467. package/build/modern/components/radio/index.js +8 -8
  468. package/build/modern/components/radio/parts.js +5 -5
  469. package/build/modern/components/radio/primitives.js +4 -4
  470. package/build/modern/components/radio/radio.js +5 -5
  471. package/build/modern/components/rating/index.js +6 -6
  472. package/build/modern/components/rating/parts.js +5 -5
  473. package/build/modern/components/rating/primitives.js +4 -4
  474. package/build/modern/components/rating/rating.js +6 -6
  475. package/build/modern/components/select/index.js +10 -10
  476. package/build/modern/components/select/option-group.js +5 -5
  477. package/build/modern/components/select/option.js +6 -6
  478. package/build/modern/components/select/parts.js +5 -5
  479. package/build/modern/components/select/primitives.js +4 -4
  480. package/build/modern/components/select/select.js +6 -6
  481. package/build/modern/components/switch/index.js +6 -6
  482. package/build/modern/components/switch/parts.js +5 -5
  483. package/build/modern/components/switch/primitives.js +4 -4
  484. package/build/modern/components/switch/switch.js +6 -6
  485. package/build/modern/components/table/index.js +6 -6
  486. package/build/modern/components/table/parts.js +5 -5
  487. package/build/modern/components/table/primitives.js +4 -4
  488. package/build/modern/components/table/table.js +5 -5
  489. package/build/modern/components/tabs/index.js +6 -6
  490. package/build/modern/components/tabs/parts.js +5 -5
  491. package/build/modern/components/tabs/primitives.js +4 -4
  492. package/build/modern/components/tabs/tabs.js +6 -6
  493. package/build/modern/components/tag/index.js +6 -6
  494. package/build/modern/components/tag/tag.js +6 -6
  495. package/build/modern/components/theme/index.js +4 -4
  496. package/build/modern/components/theme/theme.js +4 -4
  497. package/build/modern/components/toggle/index.js +5 -5
  498. package/build/modern/components/toggle/parts.js +5 -5
  499. package/build/modern/components/toggle/primitives.js +4 -4
  500. package/build/modern/components/tooltip/index.js +6 -6
  501. package/build/modern/components/tooltip/parts.js +5 -5
  502. package/build/modern/components/tooltip/primitives.js +4 -4
  503. package/build/modern/components/tooltip/tooltip.js +6 -6
  504. package/build/modern/context/confirm-modal.js +15 -15
  505. package/build/modern/context/field.js +4 -4
  506. package/build/modern/context/prompt-modal.js +19 -19
  507. package/build/modern/index.d.ts +19 -0
  508. package/build/modern/index.js +214 -187
  509. package/build/modern/index.js.map +1 -1
  510. package/build/modern/system/factory.js +2 -2
  511. package/build/modern/system/index.js +3 -3
  512. package/build/modern/system/primitive-factory.js +1 -1
  513. package/package.json +6 -6
  514. package/src/components/carousel/carousel.tsx +55 -0
  515. package/src/components/carousel/index.ts +3 -0
  516. package/src/components/carousel/parts.ts +71 -0
  517. package/src/components/carousel/primitives.ts +58 -0
  518. package/src/index.ts +1 -0
  519. package/src/system/primitive-factory.tsx +33 -18
  520. package/build/modern/chunk-33OXE7IJ.js.map +0 -1
  521. /package/build/modern/{chunk-KHU3YTLM.js.map → chunk-236F7MCH.js.map} +0 -0
  522. /package/build/modern/{chunk-BS4V2YJV.js.map → chunk-2D6BHWPB.js.map} +0 -0
  523. /package/build/modern/{chunk-IWJCQ4BM.js.map → chunk-2KVC3OJ3.js.map} +0 -0
  524. /package/build/modern/{chunk-UHS2TNFC.js.map → chunk-2UQWJSA6.js.map} +0 -0
  525. /package/build/modern/{chunk-2VVJATIW.js.map → chunk-2Z7IKMZC.js.map} +0 -0
  526. /package/build/modern/{chunk-YAZIBTA2.js.map → chunk-3NPWHL5X.js.map} +0 -0
  527. /package/build/modern/{chunk-S7HDNFJJ.js.map → chunk-3UIV3HMB.js.map} +0 -0
  528. /package/build/modern/{chunk-WK7TUQIS.js.map → chunk-3X6VM5FS.js.map} +0 -0
  529. /package/build/modern/{chunk-Y7UXAFII.js.map → chunk-3Z6W4ZFA.js.map} +0 -0
  530. /package/build/modern/{chunk-YMFUEQ2A.js.map → chunk-45ZTZUCD.js.map} +0 -0
  531. /package/build/modern/{chunk-7MWSOSOY.js.map → chunk-4O26WCRC.js.map} +0 -0
  532. /package/build/modern/{chunk-ZGJDFQN2.js.map → chunk-4O64W4BA.js.map} +0 -0
  533. /package/build/modern/{chunk-X6KB5LWU.js.map → chunk-4SOUI4NF.js.map} +0 -0
  534. /package/build/modern/{chunk-77QDH2Q5.js.map → chunk-5B6LMHY2.js.map} +0 -0
  535. /package/build/modern/{chunk-GLH23RDO.js.map → chunk-5L5PT37R.js.map} +0 -0
  536. /package/build/modern/{chunk-ZFEGJR5E.js.map → chunk-5RLQNM73.js.map} +0 -0
  537. /package/build/modern/{chunk-262PENBL.js.map → chunk-6LU43Z4K.js.map} +0 -0
  538. /package/build/modern/{chunk-AHYFFHUW.js.map → chunk-76VTLS7X.js.map} +0 -0
  539. /package/build/modern/{chunk-H6ZGH4VM.js.map → chunk-7B2ZHSH3.js.map} +0 -0
  540. /package/build/modern/{chunk-X34MYQKI.js.map → chunk-7JNOY5MW.js.map} +0 -0
  541. /package/build/modern/{chunk-FIVEPZ5F.js.map → chunk-7UKNQ4RD.js.map} +0 -0
  542. /package/build/modern/{chunk-ABMK5P66.js.map → chunk-AOLWIMWV.js.map} +0 -0
  543. /package/build/modern/{chunk-OG74JDYL.js.map → chunk-AQNXQVXP.js.map} +0 -0
  544. /package/build/modern/{chunk-4ZQUC4DA.js.map → chunk-BHZN6P2K.js.map} +0 -0
  545. /package/build/modern/{chunk-ROWT3E5K.js.map → chunk-BSJM5VYB.js.map} +0 -0
  546. /package/build/modern/{chunk-PI7MKQ62.js.map → chunk-BSZVMBX7.js.map} +0 -0
  547. /package/build/modern/{chunk-HUKQPIDV.js.map → chunk-BXDQ5AXV.js.map} +0 -0
  548. /package/build/modern/{chunk-W7WPVM34.js.map → chunk-C7XAB665.js.map} +0 -0
  549. /package/build/modern/{chunk-H7N6M7VO.js.map → chunk-CHEYITRR.js.map} +0 -0
  550. /package/build/modern/{chunk-CKCGLHLS.js.map → chunk-CONG7TGJ.js.map} +0 -0
  551. /package/build/modern/{chunk-6KGRHE3J.js.map → chunk-D7BCQ2CQ.js.map} +0 -0
  552. /package/build/modern/{chunk-7GT7UUCB.js.map → chunk-DH7SFE2R.js.map} +0 -0
  553. /package/build/modern/{chunk-6KIXF4ES.js.map → chunk-EQ3X7KQ3.js.map} +0 -0
  554. /package/build/modern/{chunk-BGJIAA5F.js.map → chunk-ET3UY6GV.js.map} +0 -0
  555. /package/build/modern/{chunk-27RTYRM7.js.map → chunk-EZJMTWXK.js.map} +0 -0
  556. /package/build/modern/{chunk-VB7T2YYD.js.map → chunk-FSX64HPK.js.map} +0 -0
  557. /package/build/modern/{chunk-JBAE2B2H.js.map → chunk-FVADFCAE.js.map} +0 -0
  558. /package/build/modern/{chunk-5W6HMI2G.js.map → chunk-GFFIJGQC.js.map} +0 -0
  559. /package/build/modern/{chunk-LVA6QLLM.js.map → chunk-GTAIWUFQ.js.map} +0 -0
  560. /package/build/modern/{chunk-7LNGA4BX.js.map → chunk-GZYLYTAG.js.map} +0 -0
  561. /package/build/modern/{chunk-UZHBWTSE.js.map → chunk-HCH5I26B.js.map} +0 -0
  562. /package/build/modern/{chunk-6XO2RTIJ.js.map → chunk-HMUQEMV2.js.map} +0 -0
  563. /package/build/modern/{chunk-TJXWSSHO.js.map → chunk-HYEFRC5Z.js.map} +0 -0
  564. /package/build/modern/{chunk-FL3J7LTC.js.map → chunk-INQZQMLL.js.map} +0 -0
  565. /package/build/modern/{chunk-PGINYK2P.js.map → chunk-IOX43IGB.js.map} +0 -0
  566. /package/build/modern/{chunk-KDIDKP2L.js.map → chunk-IRJITAGE.js.map} +0 -0
  567. /package/build/modern/{chunk-RMLBOGDE.js.map → chunk-IVQCMXV6.js.map} +0 -0
  568. /package/build/modern/{chunk-ZUC3X6GQ.js.map → chunk-IYF5FS6N.js.map} +0 -0
  569. /package/build/modern/{chunk-TIKG6U4Y.js.map → chunk-JIEN2PM7.js.map} +0 -0
  570. /package/build/modern/{chunk-T3U6K34Y.js.map → chunk-JUSH26RO.js.map} +0 -0
  571. /package/build/modern/{chunk-VQIBX475.js.map → chunk-JVAGLLOA.js.map} +0 -0
  572. /package/build/modern/{chunk-5UZUXCMO.js.map → chunk-K3NML67W.js.map} +0 -0
  573. /package/build/modern/{chunk-MPVUVQCJ.js.map → chunk-K3YEOS6O.js.map} +0 -0
  574. /package/build/modern/{chunk-KELIM5A3.js.map → chunk-KITDXURN.js.map} +0 -0
  575. /package/build/modern/{chunk-NC7AHNAS.js.map → chunk-KJYNKQX4.js.map} +0 -0
  576. /package/build/modern/{chunk-BFE2SHZO.js.map → chunk-KZVCQNZI.js.map} +0 -0
  577. /package/build/modern/{chunk-KUF4UUC7.js.map → chunk-L4KBNOWP.js.map} +0 -0
  578. /package/build/modern/{chunk-KF3WIC2Y.js.map → chunk-LO6YTNOP.js.map} +0 -0
  579. /package/build/modern/{chunk-Q6FTLT7K.js.map → chunk-LOJBIVY4.js.map} +0 -0
  580. /package/build/modern/{chunk-CBJ5A5BD.js.map → chunk-LY6ULD43.js.map} +0 -0
  581. /package/build/modern/{chunk-Q3NDU44T.js.map → chunk-MMNUVODK.js.map} +0 -0
  582. /package/build/modern/{chunk-NLZGGXMB.js.map → chunk-MVHFBVDA.js.map} +0 -0
  583. /package/build/modern/{chunk-6P2JY52I.js.map → chunk-N5D6HNGL.js.map} +0 -0
  584. /package/build/modern/{chunk-L4CKWLXL.js.map → chunk-NHM5IWBE.js.map} +0 -0
  585. /package/build/modern/{chunk-EMLKVTGD.js.map → chunk-O4W2BVE7.js.map} +0 -0
  586. /package/build/modern/{chunk-CI7JYXUR.js.map → chunk-OG644D7M.js.map} +0 -0
  587. /package/build/modern/{chunk-P3J5P524.js.map → chunk-OX3NA6DQ.js.map} +0 -0
  588. /package/build/modern/{chunk-HJYVIRNA.js.map → chunk-OYTEXDS6.js.map} +0 -0
  589. /package/build/modern/{chunk-XZ2FNMMC.js.map → chunk-OZTYYWIX.js.map} +0 -0
  590. /package/build/modern/{chunk-IX5QZCM4.js.map → chunk-P6JC32U3.js.map} +0 -0
  591. /package/build/modern/{chunk-CYK3ZJIX.js.map → chunk-PZELEMIY.js.map} +0 -0
  592. /package/build/modern/{chunk-BGZTC53N.js.map → chunk-RI3WN6XL.js.map} +0 -0
  593. /package/build/modern/{chunk-ETYXG2J2.js.map → chunk-RS6DS6RS.js.map} +0 -0
  594. /package/build/modern/{chunk-OSUFAZAK.js.map → chunk-RT4W6GBB.js.map} +0 -0
  595. /package/build/modern/{chunk-XMFTL6KG.js.map → chunk-SFS5ILWG.js.map} +0 -0
  596. /package/build/modern/{chunk-7GVDVLCR.js.map → chunk-SITE2UML.js.map} +0 -0
  597. /package/build/modern/{chunk-XB4HMXOQ.js.map → chunk-SKOX5PJI.js.map} +0 -0
  598. /package/build/modern/{chunk-A6NEZNGY.js.map → chunk-SP7TSFMZ.js.map} +0 -0
  599. /package/build/modern/{chunk-J37VR33H.js.map → chunk-TIQO4VNE.js.map} +0 -0
  600. /package/build/modern/{chunk-2UD72VLC.js.map → chunk-TJSHJF6G.js.map} +0 -0
  601. /package/build/modern/{chunk-RKKI3J6R.js.map → chunk-TKHDOZWN.js.map} +0 -0
  602. /package/build/modern/{chunk-46QXBKGK.js.map → chunk-UZZ26IWW.js.map} +0 -0
  603. /package/build/modern/{chunk-U2ZT7UDW.js.map → chunk-V5TUC5AS.js.map} +0 -0
  604. /package/build/modern/{chunk-QV5JHBHO.js.map → chunk-VQUJGCZW.js.map} +0 -0
  605. /package/build/modern/{chunk-WC6SOU2F.js.map → chunk-VYJAPLLO.js.map} +0 -0
  606. /package/build/modern/{chunk-RCXKKQQA.js.map → chunk-WGWEAB2Q.js.map} +0 -0
  607. /package/build/modern/{chunk-GBV7MIBU.js.map → chunk-X24O5DTP.js.map} +0 -0
  608. /package/build/modern/{chunk-5WT5BM3V.js.map → chunk-YJRAJNYI.js.map} +0 -0
  609. /package/build/modern/{chunk-X6WOC4RF.js.map → chunk-YR6G66UT.js.map} +0 -0
  610. /package/build/modern/{chunk-BT6FMOKM.js.map → chunk-YWPXLHUO.js.map} +0 -0
  611. /package/build/modern/{chunk-QHPJ2C76.js.map → chunk-YZG7BNVB.js.map} +0 -0
  612. /package/build/modern/{chunk-LMEGBPKK.js.map → chunk-Z5DHBMQF.js.map} +0 -0
  613. /package/build/modern/{chunk-2SBNSYYC.js.map → chunk-ZFONE65Q.js.map} +0 -0
  614. /package/build/modern/{chunk-ADOFKGU3.js.map → chunk-ZFVQQJIQ.js.map} +0 -0
  615. /package/build/modern/{chunk-LNDQW46A.js.map → chunk-ZZ4JETME.js.map} +0 -0
@@ -39,23 +39,28 @@ var CerberusPrimitive = class {
39
39
  /**
40
40
  * Creates a Cerberus component with bare features and no recipe.
41
41
  * @param Component - The React component to enhance with Cerberus features.
42
+ * Can be a string or a component reference.
42
43
  * @returns A new React component that applies Cerberus features to the
43
44
  * original component.
45
+ *
44
46
  * @example
45
- * ```typescript
46
- * const { withNoRecipe } = createCerberusPrimitive(button)
47
- * const Button = withNoRecipe(RawButton)
47
+ * ```ts
48
+ * const { withNoRecipe } = createCerberusPrimitive(buttonRecipe)
49
+ * const Button = withNoRecipe('button')
48
50
  * ```
49
51
  */
50
52
  __publicField(this, "withNoRecipe", (Component, options) => {
51
53
  const { defaultProps } = options || {};
52
- this.validateComponent(Component);
54
+ const El = Component;
53
55
  const CerbComponent = (props) => {
54
56
  const { css: customCss, className, ...nativeProps } = props;
55
57
  const styles = this.hasStyles((0, import_css.cx)(className, (0, import_css.css)(customCss)));
56
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Component, { ...defaultProps, ...styles, ...nativeProps });
58
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(El, { ...defaultProps, ...styles, ...nativeProps });
57
59
  };
58
- CerbComponent.displayName = Component.displayName || Component.name;
60
+ if (this.validateComponent(El)) {
61
+ const ElName = typeof El === "string" ? El : El.displayName || El.name;
62
+ CerbComponent.displayName = ElName;
63
+ }
59
64
  return CerbComponent;
60
65
  });
61
66
  /**
@@ -67,8 +72,8 @@ var CerberusPrimitive = class {
67
72
  */
68
73
  __publicField(this, "withRecipe", (Component, options) => {
69
74
  const { defaultProps } = options || {};
75
+ const El = Component;
70
76
  const recipe = this.recipe;
71
- this.validateComponent(Component);
72
77
  const CerbComponent = (internalProps) => {
73
78
  const {
74
79
  css: customCss,
@@ -86,7 +91,10 @@ var CerberusPrimitive = class {
86
91
  }
87
92
  );
88
93
  };
89
- CerbComponent.displayName = Component.displayName || Component.name;
94
+ if (this.validateComponent(El)) {
95
+ const ElName = typeof El === "string" ? El : El.displayName || El.name;
96
+ CerbComponent.displayName = ElName;
97
+ }
90
98
  return CerbComponent;
91
99
  });
92
100
  /**
@@ -103,8 +111,8 @@ var CerberusPrimitive = class {
103
111
  */
104
112
  __publicField(this, "withSlotRecipe", (Component, slot, options) => {
105
113
  const { defaultProps } = options || {};
114
+ const El = Component;
106
115
  const recipe = this.recipe;
107
- this.validateComponent(Component);
108
116
  const CerbComponent = (internalProps) => {
109
117
  const {
110
118
  css: customCss,
@@ -123,7 +131,10 @@ var CerberusPrimitive = class {
123
131
  }
124
132
  );
125
133
  };
126
- CerbComponent.displayName = Component.displayName || Component.name;
134
+ if (this.validateComponent(El)) {
135
+ const ElName = typeof El === "string" ? El : El.displayName || El.name;
136
+ CerbComponent.displayName = ElName;
137
+ }
127
138
  return CerbComponent;
128
139
  });
129
140
  this.recipe = recipe ?? null;
@@ -138,8 +149,9 @@ var CerberusPrimitive = class {
138
149
  }
139
150
  validateComponent(Component) {
140
151
  if (typeof Component !== "function" && typeof Component !== "object") {
141
- throw new Error("Expected a React component as the first argument.");
152
+ return false;
142
153
  }
154
+ return true;
143
155
  }
144
156
  };
145
157
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/date-picker/date-picker.tsx","../../../../src/components/date-picker/primitives.tsx","../../../../src/system/primitive-factory.tsx","../../../../src/system/index.ts","../../../../src/components/date-picker/parts.ts"],"sourcesContent":["import { DatePickerParts } from './parts'\nimport type { DatePickerRootProps } from './primitives'\n\n/**\n * This module contains an abstraction of the DatePicker.Root primitive.\n * @module 'date-picker/root'\n */\n\n/**\n * DatePicker component is an abstraction of the DatePickerRoot primitive which\n * is the context provider to the DatePicker.\n * @description [Cerberus Docs](https://cerberus.digitalu.design/react/date-picker)\n * @description [Ark Docs](https://ark-ui.com/react/docs/components/date-picker)\n */\nexport function DatePicker(props: DatePickerRootProps) {\n // const handleFormat = useCallback((date: DateValue) => {\n // const day = date.day.toString().padStart(2, '0')\n // const year = date.year.toString()\n // const formattedMonth = new DateFormatter('en-US', {\n // month: 'short',\n // }).format(date.toDate(getLocalTimeZone()))\n\n // // Format the date as \"DD MMM YYYY\"\n // return `${day} ${formattedMonth} ${year}`\n // }, [])\n\n return (\n <DatePickerParts.Root\n {...props}\n positioning={{\n placement: 'bottom-start',\n }}\n />\n )\n}\n","import {\n DatePicker,\n type DatePickerContentProps as ArkDatePickerContentProps,\n type DatePickerContextProps as ArkDatePickerContextProps,\n type DatePickerControlProps as ArkDatePickerControlProps,\n type DatePickerInputProps as ArkDatePickerInputProps,\n type DatePickerLabelProps as ArkDatePickerLabelProps,\n type DatePickerMonthSelectProps as ArkDatePickerMonthSelectProps,\n type DatePickerNextTriggerProps as ArkDatePickerNextTriggerProps,\n type DatePickerPositionerProps as ArkDatePickerPositionerProps,\n type DatePickerPrevTriggerProps as ArkDatePickerPrevTriggerProps,\n type DatePickerRangeTextProps as ArkDatePickerRangeTextProps,\n type DatePickerRootProps as ArkDatePickerRootProps,\n type DatePickerTableBodyProps as ArkDatePickerTableBodyProps,\n type DatePickerTableCellProps as ArkDatePickerTableCellProps,\n type DatePickerTableCellTriggerProps as ArkDatePickerTableCellTriggerProps,\n type DatePickerTableHeaderProps as ArkDatePickerTableHeaderProps,\n type DatePickerTableHeadProps as ArkDatePickerTableHeadProps,\n type DatePickerTableProps as ArkDatePickerTableProps,\n type DatePickerTableRowProps as ArkDatePickerTableRowProps,\n type DatePickerTriggerProps as ArkDatePickerTriggerProps,\n type DatePickerViewControlProps as ArkDatePickerViewControlProps,\n type DatePickerViewProps as ArkDatePickerViewProps,\n type DatePickerViewTriggerProps as ArkDatePickerViewTriggerProps,\n type DatePickerYearSelectProps as ArkDatePickerYearSelectProps,\n} from '@ark-ui/react/date-picker'\nimport { datePicker } from 'styled-system/recipes'\nimport {\n createCerberusPrimitive,\n type CerberusPrimitiveProps,\n} from '../../system/index'\n\n/**\n * This module contains the DatePicker primitives.\n * @module 'date-picker/primitives'\n */\n\nconst { withSlotRecipe, withNoRecipe } = createCerberusPrimitive(datePicker)\n\n/**\n * The label component for the DatePicker.\n */\nexport type DatePickerLabelProps =\n CerberusPrimitiveProps<ArkDatePickerLabelProps>\nexport const DatePickerLabel = withSlotRecipe(DatePicker.Label, 'label')\n\n/**\n * The control component for the DatePicker which wraps the input and the\n * triggers to open the DatePicker and clear the value.\n */\nexport type DatePickerControlProps =\n CerberusPrimitiveProps<ArkDatePickerControlProps>\nexport const DatePickerControl = withSlotRecipe(DatePicker.Control, 'control')\n\n/**\n * The input component for the DatePicker.\n */\nexport type DatePickerInputElProps =\n CerberusPrimitiveProps<ArkDatePickerInputProps>\nexport const DatePickerInputEl = withSlotRecipe(DatePicker.Input, 'input')\n\n/**\n * The trigger component that opens the DatePicker.\n */\nexport type DatePickerTriggerProps =\n CerberusPrimitiveProps<ArkDatePickerTriggerProps>\nexport const DatePickerTrigger = withSlotRecipe(DatePicker.Trigger, 'trigger')\n\n/**\n * The content component for the DatePicker.\n */\nexport type DatePickerContentProps =\n CerberusPrimitiveProps<ArkDatePickerContentProps>\nexport const DatePickerContent = withSlotRecipe(DatePicker.Content, 'content')\n\n/**\n * The view control component for the DatePicker which wraps the triggers to\n * switch between calendar views.\n */\nexport type DatePickerViewControlProps =\n CerberusPrimitiveProps<ArkDatePickerViewControlProps>\nexport const DatePickerViewControl = withSlotRecipe(\n DatePicker.Control,\n 'viewControl',\n)\n\n/**\n * The range text component for the DatePicker.\n */\nexport type DatePickerRangeTextProps =\n CerberusPrimitiveProps<ArkDatePickerRangeTextProps>\nexport const DatePickerRangeText = withSlotRecipe(\n DatePicker.RangeText,\n 'rangeText',\n)\n\n/**\n * The table component for the DatePicker.\n */\nexport type DatePickerTableProps =\n CerberusPrimitiveProps<ArkDatePickerTableProps>\nexport const DatePickerTable = withSlotRecipe(DatePicker.Table, 'table')\n\n/**\n * The header component for the DatePicker table.\n */\nexport type DatePickerTableHeaderProps =\n CerberusPrimitiveProps<ArkDatePickerTableHeaderProps>\nexport const DatePickerTableHeader = withSlotRecipe(\n DatePicker.TableHeader,\n 'tableHeader',\n)\n\n/**\n * The table cell component for the DatePicker.\n */\nexport type DatePickerTableCellProps =\n CerberusPrimitiveProps<ArkDatePickerTableCellProps>\nexport const DatePickerTableCell = withSlotRecipe(\n DatePicker.TableCell,\n 'tableCell',\n)\n\n/**\n * The table cell trigger component for the DatePicker.\n */\nexport type DatePickerTableCellTriggerProps =\n CerberusPrimitiveProps<ArkDatePickerTableCellTriggerProps>\nexport const DatePickerTableCellTrigger = withSlotRecipe(\n DatePicker.TableCellTrigger,\n 'tableCellTrigger',\n)\n\n/**\n * The root component of the DatePicker. This primitive has no Cerberus styles.\n */\nexport type DatePickerRootProps = CerberusPrimitiveProps<ArkDatePickerRootProps>\n// @ts-expect-error this is a workaround for the type error WIP\nexport const DatePickerRoot = withNoRecipe(DatePicker.Root)\n\n/**\n * The label component of the DatePicker. This primitive has no Cerberus styles.\n */\nexport type DatePickerClearTriggerProps =\n CerberusPrimitiveProps<ArkDatePickerTriggerProps>\nexport const DatePickerClearTrigger = withNoRecipe(DatePicker.ClearTrigger)\n\n/**\n * The control component of the DatePicker. This primitive has no Cerberus\n * styles.\n */\nexport type DatePickerPositionerProps =\n CerberusPrimitiveProps<ArkDatePickerPositionerProps>\nexport const DatePickerPositioner = withNoRecipe(DatePicker.Positioner)\n\n/**\n * The year select input component of the DatePicker. This primitive has no\n * Cerberus styles.\n */\nexport type DatePickerYearSelectProps =\n CerberusPrimitiveProps<ArkDatePickerYearSelectProps>\nexport const DatePickerYearSelect = withNoRecipe(DatePicker.YearSelect)\n\n/**\n * The month select input component of the DatePicker. This primitive has no\n * Cerberus styles.\n */\nexport type DatePickerMonthSelectProps =\n CerberusPrimitiveProps<ArkDatePickerMonthSelectProps>\nexport const DatePickerMonthSelect = withNoRecipe(DatePicker.MonthSelect)\n\n/**\n * The day view component of the DatePicker. This primitive has no Cerberus\n * styles.\n */\nexport type DatePickerViewProps = CerberusPrimitiveProps<ArkDatePickerViewProps>\nexport const DatePickerView = withNoRecipe(DatePicker.View)\n\n/**\n * The day context component of the DatePicker. This primitive has no\n * Cerberus styles.\n */\nexport type DatePickerContextProps =\n CerberusPrimitiveProps<ArkDatePickerContextProps>\nexport const DatePickerContext = DatePicker.Context\n\n/**\n * The trigger component of the DatePicker. This primitive has no Cerberus\n * styles.\n */\nexport type DatePickerPrevTriggerProps =\n CerberusPrimitiveProps<ArkDatePickerPrevTriggerProps>\nexport const DatePickerPrevTrigger = withNoRecipe(DatePicker.PrevTrigger)\n\n/**\n * The trigger component of the DatePicker. This primitive has no Cerberus\n * styles.\n */\nexport type DatePickerNextTriggerProps =\n CerberusPrimitiveProps<ArkDatePickerNextTriggerProps>\nexport const DatePickerNextTrigger = withNoRecipe(DatePicker.NextTrigger)\n\n/**\n * The trigger component of the DatePicker. This primitive has no Cerberus\n * styles.\n */\nexport type DatePickerViewTriggerProps =\n CerberusPrimitiveProps<ArkDatePickerViewTriggerProps>\nexport const DatePickerViewTrigger = withNoRecipe(DatePicker.ViewTrigger)\n\n/**\n * The table head component of the DatePicker. This primitive has no Cerberus\n * styles.\n */\nexport type DatePickerTableHeadProps =\n CerberusPrimitiveProps<ArkDatePickerTableHeadProps>\nexport const DatePickerTableHead = withNoRecipe(DatePicker.TableHead)\n\n/**\n * The table row component of the DatePicker. This primitive has no Cerberus\n * styles.\n */\nexport type DatePickerTableRowProps =\n CerberusPrimitiveProps<ArkDatePickerTableRowProps>\nexport const DatePickerTableRow = withNoRecipe(DatePicker.TableRow)\n\n/**\n * The table body component of the DatePicker. This primitive has no Cerberus\n * styles.\n */\nexport type DatePickerTableBodyProps =\n CerberusPrimitiveProps<ArkDatePickerTableBodyProps>\nexport const DatePickerTableBody = withNoRecipe(DatePicker.TableBody)\n","import { css, cx } from 'styled-system/css'\nimport type { RecipeVariantRecord } from 'styled-system/types'\nimport {\n type ComponentType,\n type HTMLAttributes,\n type PropsWithChildren,\n} from 'react'\nimport type { WithCss } from '../types'\nimport type {\n CerberusPrimitiveEl,\n CerberusPrimitiveRecipe,\n CerberusRecipe,\n CerberusSlotRecipe,\n WithRecipeOptions,\n} from './types'\n\n/**\n * This module contains a factory for creating Cerberus primitives.\n * @module @cerberus/core/system/factory\n */\n\nexport class CerberusPrimitive {\n recipe: CerberusPrimitiveRecipe | null\n\n constructor(recipe?: CerberusPrimitiveRecipe) {\n this.recipe = recipe ?? null\n }\n\n private hasStyles(styles: string | undefined): Record<string, unknown> {\n if (styles) {\n return {\n className: styles,\n }\n }\n return {}\n }\n\n private validateComponent<P extends HTMLAttributes<unknown>>(\n Component: ComponentType<P>,\n ) {\n if (typeof Component !== 'function' && typeof Component !== 'object') {\n throw new Error('Expected a React component as the first argument.')\n }\n }\n\n /**\n * Creates a Cerberus component with bare features and no recipe.\n * @param Component - The React component to enhance with Cerberus features.\n * @returns A new React component that applies Cerberus features to the\n * original component.\n * @example\n * ```typescript\n * const { withNoRecipe } = createCerberusPrimitive(button)\n * const Button = withNoRecipe(RawButton)\n * ```\n */\n withNoRecipe = <P extends HTMLAttributes<unknown>>(\n Component: ComponentType<P>,\n options?: WithRecipeOptions,\n ): CerberusPrimitiveEl<P> => {\n const { defaultProps } = options || {}\n\n this.validateComponent(Component)\n\n const CerbComponent = (props: PropsWithChildren<P> & WithCss) => {\n const { css: customCss, className, ...nativeProps } = props\n const styles = this.hasStyles(cx(className, css(customCss)))\n return <Component {...defaultProps} {...styles} {...(nativeProps as P)} />\n }\n\n CerbComponent.displayName = Component.displayName || Component.name\n return CerbComponent\n }\n\n /**\n * Creates a Cerberus component with the given recipe.\n * @param Component - The React component to enhance with the recipe.\n * @param options - Options for the recipe.\n * @returns A new React component that applies the recipe to the original\n * component.\n */\n withRecipe = <P extends HTMLAttributes<unknown>>(\n Component: ComponentType<P>,\n options?: WithRecipeOptions,\n ): CerberusPrimitiveEl<P & WithRecipeOptions['defaultProps']> => {\n const { defaultProps } = options || {}\n const recipe = this.recipe as CerberusRecipe\n\n this.validateComponent(Component)\n\n const CerbComponent = (internalProps: PropsWithChildren<P> & WithCss) => {\n const {\n css: customCss,\n className,\n ...restOfInternalProps\n } = internalProps\n\n const [variantOptions, nativeProps] =\n recipe.splitVariantProps(restOfInternalProps)\n const recipeStyles = recipe(variantOptions)\n\n return (\n <Component\n {...defaultProps}\n {...(nativeProps as P)}\n className={cx(className, recipeStyles, css(customCss))}\n />\n )\n }\n\n CerbComponent.displayName = Component.displayName || Component.name\n return CerbComponent\n }\n\n /**\n * Creates a Cerberus component with a slot recipe applied.\n * @param Component - The React component to enhance with Cerberus features.\n * @param recipe - The slot recipe to apply to the component.\n * @returns A new React component that applies Cerberus features and the\n * specified slot recipe to the original component.\n * @example\n * ```typescript\n * const { withSlotRecipe } = createCerberusPrimitive(field)\n * const Field = withSlotRecipe(RawField, field)\n * ```\n */\n withSlotRecipe = <P extends HTMLAttributes<unknown>>(\n Component: ComponentType<P>,\n slot: keyof RecipeVariantRecord,\n options?: WithRecipeOptions,\n ) => {\n const { defaultProps } = options || {}\n const recipe = this.recipe as CerberusSlotRecipe<typeof slot>\n\n this.validateComponent(Component)\n\n const CerbComponent = (internalProps: PropsWithChildren<P> & WithCss) => {\n const {\n css: customCss,\n className,\n ...restOfInternalProps\n } = internalProps\n\n const [variantOptions, nativeProps] =\n recipe.splitVariantProps(restOfInternalProps)\n const styles = recipe(variantOptions)\n const slotStyles = styles[slot as keyof typeof styles]\n\n return (\n <Component\n {...defaultProps}\n {...(nativeProps as P)}\n className={cx(className, slotStyles, css(customCss))}\n />\n )\n }\n\n CerbComponent.displayName = Component.displayName || Component.name\n return CerbComponent\n }\n}\n","import { CerberusPrimitive } from './primitive-factory'\nimport type { CerberusFactory, CerberusPrimitiveRecipe } from './types'\nimport { cerberusFactoryProxy } from './factory'\n\n/**\n * This module contains the user interface for creating Cerberus primitives.\n * @module @cerberus/core/system/create-cerb-primitive\n */\n\n/**\n * A factory function that creates a Cerberus primitive instance with the given\n * recipe.\n * @param recipe\n * @returns An object with three methods: `withNoRecipe`, `withRecipe`, and `withSlotRecipe` that\n * apply the recipes and special Cerberus helpers like `css`.\n *\n * @example\n * ```tsx\n * const { withRecipe } = createCerberusPrimitive(myCustomRecipe);\n * export const Button = withRecipe(MyCustomButton)\n * ```\n */\nexport function createCerberusPrimitive<T extends CerberusPrimitiveRecipe>(\n recipe?: T,\n) {\n return new CerberusPrimitive(recipe)\n}\n\n/**\n * A utility function to access Cerberus components by their name.\n * @param component - The name of the Cerberus component to access.\n * @returns The Cerberus component corresponding to the provided name.\n * @throws An error if the component name is not valid.\n *\n * @example\n * ```tsx\n * import { cerberus } from '@cerberus/react'\n * const Button = cerberus('button')\n *\n * <Button css={{ color: 'blue' }} asChild>\n * <Link href=\"/some-page\">Click me</Link>\n * </Button>\n * ```\n */\nexport const cerberus = cerberusFactoryProxy as CerberusFactory\n\nexport * from './types'\n","import type { ElementType } from 'react'\nimport {\n DatePickerClearTrigger,\n DatePickerContent,\n DatePickerContext,\n DatePickerControl,\n DatePickerInputEl,\n DatePickerLabel,\n DatePickerMonthSelect,\n DatePickerNextTrigger,\n DatePickerPositioner,\n DatePickerPrevTrigger,\n DatePickerRangeText,\n DatePickerRoot,\n DatePickerTable,\n DatePickerTableBody,\n DatePickerTableCell,\n DatePickerTableCellTrigger,\n DatePickerTableHead,\n DatePickerTableHeader,\n DatePickerTableRow,\n DatePickerTrigger,\n DatePickerView,\n DatePickerViewControl,\n DatePickerViewTrigger,\n DatePickerYearSelect,\n} from './primitives'\n\n/**\n * This module contains the parts of the DatePicker component.\n * @module 'date-picker/parts'\n */\n\ninterface DatePickerPartsValue {\n /**\n * The container of the date-picker.\n */\n Root: ElementType\n /**\n * The label of the date-picker.\n */\n Label: ElementType\n /**\n * The control of the date-picker.\n */\n Control: ElementType\n /**\n * The input of the date-picker.\n */\n Input: ElementType\n /**\n * The trigger that opens the date-picker.\n */\n Trigger: ElementType\n /**\n * The trigger that clears the value of the date-picker.\n */\n ClearTrigger: ElementType\n /**\n * The positioner of the content for the date-picker.\n */\n Positioner: ElementType\n /**\n * The content of the date-picker.\n */\n Content: ElementType\n /**\n * The year select input of the date-picker.\n */\n YearSelect: ElementType\n /**\n * The month select input of the date-picker.\n */\n MonthSelect: ElementType\n /**\n * The day view of the date-picker.\n */\n View: ElementType\n /**\n * The day context of the date-picker.\n */\n Context: ElementType\n /**\n * The container for the content triggers.\n */\n ViewControl: ElementType\n /**\n * The trigger that moves to the previous month.\n */\n PrevTrigger: ElementType\n /**\n * The trigger that moves to the next month.\n */\n NextTrigger: ElementType\n /**\n * The trigger that moves to the next view.\n */\n ViewTrigger: ElementType\n /**\n * The range text of the date-picker.\n */\n RangeText: ElementType\n /**\n * The table of the date-picker.\n */\n Table: ElementType\n /**\n * The table head of the date-picker.\n */\n TableHead: ElementType\n /**\n * The table row of the date-picker.\n */\n TableRow: ElementType\n /**\n * The header text for the table.\n */\n TableHeader: ElementType\n /**\n * The body of the table.\n */\n TableBody: ElementType\n /**\n * The table cell of the table.\n */\n TableCell: ElementType\n /**\n * The trigger for the table cell.\n */\n TableCellTrigger: ElementType\n}\n\n/**\n * An Object containing the parts of the DatePicker component. For users that\n * prefer Object component syntax.\n *\n * @remarks\n *\n * When using object component syntax, you import the DatePickerParts object and\n * the entire family of components vs. only what you use.\n */\nexport const DatePickerParts: DatePickerPartsValue = {\n Root: DatePickerRoot,\n Label: DatePickerLabel,\n Control: DatePickerControl,\n Input: DatePickerInputEl,\n Trigger: DatePickerTrigger,\n ClearTrigger: DatePickerClearTrigger,\n Positioner: DatePickerPositioner,\n Content: DatePickerContent,\n YearSelect: DatePickerYearSelect,\n MonthSelect: DatePickerMonthSelect,\n View: DatePickerView,\n Context: DatePickerContext,\n ViewControl: DatePickerViewControl,\n PrevTrigger: DatePickerPrevTrigger,\n NextTrigger: DatePickerNextTrigger,\n ViewTrigger: DatePickerViewTrigger,\n RangeText: DatePickerRangeText,\n Table: DatePickerTable,\n TableHead: DatePickerTableHead,\n TableRow: DatePickerTableRow,\n TableHeader: DatePickerTableHeader,\n TableBody: DatePickerTableBody,\n TableCell: DatePickerTableCell,\n TableCellTrigger: DatePickerTableCellTrigger,\n}\n"],"mappings":"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","names":["DatePicker","import_jsx_runtime","DatePicker"]}
1
+ {"version":3,"sources":["../../../../src/components/date-picker/date-picker.tsx","../../../../src/components/date-picker/primitives.tsx","../../../../src/system/primitive-factory.tsx","../../../../src/system/index.ts","../../../../src/components/date-picker/parts.ts"],"sourcesContent":["import { DatePickerParts } from './parts'\nimport type { DatePickerRootProps } from './primitives'\n\n/**\n * This module contains an abstraction of the DatePicker.Root primitive.\n * @module 'date-picker/root'\n */\n\n/**\n * DatePicker component is an abstraction of the DatePickerRoot primitive which\n * is the context provider to the DatePicker.\n * @description [Cerberus Docs](https://cerberus.digitalu.design/react/date-picker)\n * @description [Ark Docs](https://ark-ui.com/react/docs/components/date-picker)\n */\nexport function DatePicker(props: DatePickerRootProps) {\n // const handleFormat = useCallback((date: DateValue) => {\n // const day = date.day.toString().padStart(2, '0')\n // const year = date.year.toString()\n // const formattedMonth = new DateFormatter('en-US', {\n // month: 'short',\n // }).format(date.toDate(getLocalTimeZone()))\n\n // // Format the date as \"DD MMM YYYY\"\n // return `${day} ${formattedMonth} ${year}`\n // }, [])\n\n return (\n <DatePickerParts.Root\n {...props}\n positioning={{\n placement: 'bottom-start',\n }}\n />\n )\n}\n","import {\n DatePicker,\n type DatePickerContentProps as ArkDatePickerContentProps,\n type DatePickerContextProps as ArkDatePickerContextProps,\n type DatePickerControlProps as ArkDatePickerControlProps,\n type DatePickerInputProps as ArkDatePickerInputProps,\n type DatePickerLabelProps as ArkDatePickerLabelProps,\n type DatePickerMonthSelectProps as ArkDatePickerMonthSelectProps,\n type DatePickerNextTriggerProps as ArkDatePickerNextTriggerProps,\n type DatePickerPositionerProps as ArkDatePickerPositionerProps,\n type DatePickerPrevTriggerProps as ArkDatePickerPrevTriggerProps,\n type DatePickerRangeTextProps as ArkDatePickerRangeTextProps,\n type DatePickerRootProps as ArkDatePickerRootProps,\n type DatePickerTableBodyProps as ArkDatePickerTableBodyProps,\n type DatePickerTableCellProps as ArkDatePickerTableCellProps,\n type DatePickerTableCellTriggerProps as ArkDatePickerTableCellTriggerProps,\n type DatePickerTableHeaderProps as ArkDatePickerTableHeaderProps,\n type DatePickerTableHeadProps as ArkDatePickerTableHeadProps,\n type DatePickerTableProps as ArkDatePickerTableProps,\n type DatePickerTableRowProps as ArkDatePickerTableRowProps,\n type DatePickerTriggerProps as ArkDatePickerTriggerProps,\n type DatePickerViewControlProps as ArkDatePickerViewControlProps,\n type DatePickerViewProps as ArkDatePickerViewProps,\n type DatePickerViewTriggerProps as ArkDatePickerViewTriggerProps,\n type DatePickerYearSelectProps as ArkDatePickerYearSelectProps,\n} from '@ark-ui/react/date-picker'\nimport { datePicker } from 'styled-system/recipes'\nimport {\n createCerberusPrimitive,\n type CerberusPrimitiveProps,\n} from '../../system/index'\n\n/**\n * This module contains the DatePicker primitives.\n * @module 'date-picker/primitives'\n */\n\nconst { withSlotRecipe, withNoRecipe } = createCerberusPrimitive(datePicker)\n\n/**\n * The label component for the DatePicker.\n */\nexport type DatePickerLabelProps =\n CerberusPrimitiveProps<ArkDatePickerLabelProps>\nexport const DatePickerLabel = withSlotRecipe(DatePicker.Label, 'label')\n\n/**\n * The control component for the DatePicker which wraps the input and the\n * triggers to open the DatePicker and clear the value.\n */\nexport type DatePickerControlProps =\n CerberusPrimitiveProps<ArkDatePickerControlProps>\nexport const DatePickerControl = withSlotRecipe(DatePicker.Control, 'control')\n\n/**\n * The input component for the DatePicker.\n */\nexport type DatePickerInputElProps =\n CerberusPrimitiveProps<ArkDatePickerInputProps>\nexport const DatePickerInputEl = withSlotRecipe(DatePicker.Input, 'input')\n\n/**\n * The trigger component that opens the DatePicker.\n */\nexport type DatePickerTriggerProps =\n CerberusPrimitiveProps<ArkDatePickerTriggerProps>\nexport const DatePickerTrigger = withSlotRecipe(DatePicker.Trigger, 'trigger')\n\n/**\n * The content component for the DatePicker.\n */\nexport type DatePickerContentProps =\n CerberusPrimitiveProps<ArkDatePickerContentProps>\nexport const DatePickerContent = withSlotRecipe(DatePicker.Content, 'content')\n\n/**\n * The view control component for the DatePicker which wraps the triggers to\n * switch between calendar views.\n */\nexport type DatePickerViewControlProps =\n CerberusPrimitiveProps<ArkDatePickerViewControlProps>\nexport const DatePickerViewControl = withSlotRecipe(\n DatePicker.Control,\n 'viewControl',\n)\n\n/**\n * The range text component for the DatePicker.\n */\nexport type DatePickerRangeTextProps =\n CerberusPrimitiveProps<ArkDatePickerRangeTextProps>\nexport const DatePickerRangeText = withSlotRecipe(\n DatePicker.RangeText,\n 'rangeText',\n)\n\n/**\n * The table component for the DatePicker.\n */\nexport type DatePickerTableProps =\n CerberusPrimitiveProps<ArkDatePickerTableProps>\nexport const DatePickerTable = withSlotRecipe(DatePicker.Table, 'table')\n\n/**\n * The header component for the DatePicker table.\n */\nexport type DatePickerTableHeaderProps =\n CerberusPrimitiveProps<ArkDatePickerTableHeaderProps>\nexport const DatePickerTableHeader = withSlotRecipe(\n DatePicker.TableHeader,\n 'tableHeader',\n)\n\n/**\n * The table cell component for the DatePicker.\n */\nexport type DatePickerTableCellProps =\n CerberusPrimitiveProps<ArkDatePickerTableCellProps>\nexport const DatePickerTableCell = withSlotRecipe(\n DatePicker.TableCell,\n 'tableCell',\n)\n\n/**\n * The table cell trigger component for the DatePicker.\n */\nexport type DatePickerTableCellTriggerProps =\n CerberusPrimitiveProps<ArkDatePickerTableCellTriggerProps>\nexport const DatePickerTableCellTrigger = withSlotRecipe(\n DatePicker.TableCellTrigger,\n 'tableCellTrigger',\n)\n\n/**\n * The root component of the DatePicker. This primitive has no Cerberus styles.\n */\nexport type DatePickerRootProps = CerberusPrimitiveProps<ArkDatePickerRootProps>\n// @ts-expect-error this is a workaround for the type error WIP\nexport const DatePickerRoot = withNoRecipe(DatePicker.Root)\n\n/**\n * The label component of the DatePicker. This primitive has no Cerberus styles.\n */\nexport type DatePickerClearTriggerProps =\n CerberusPrimitiveProps<ArkDatePickerTriggerProps>\nexport const DatePickerClearTrigger = withNoRecipe(DatePicker.ClearTrigger)\n\n/**\n * The control component of the DatePicker. This primitive has no Cerberus\n * styles.\n */\nexport type DatePickerPositionerProps =\n CerberusPrimitiveProps<ArkDatePickerPositionerProps>\nexport const DatePickerPositioner = withNoRecipe(DatePicker.Positioner)\n\n/**\n * The year select input component of the DatePicker. This primitive has no\n * Cerberus styles.\n */\nexport type DatePickerYearSelectProps =\n CerberusPrimitiveProps<ArkDatePickerYearSelectProps>\nexport const DatePickerYearSelect = withNoRecipe(DatePicker.YearSelect)\n\n/**\n * The month select input component of the DatePicker. This primitive has no\n * Cerberus styles.\n */\nexport type DatePickerMonthSelectProps =\n CerberusPrimitiveProps<ArkDatePickerMonthSelectProps>\nexport const DatePickerMonthSelect = withNoRecipe(DatePicker.MonthSelect)\n\n/**\n * The day view component of the DatePicker. This primitive has no Cerberus\n * styles.\n */\nexport type DatePickerViewProps = CerberusPrimitiveProps<ArkDatePickerViewProps>\nexport const DatePickerView = withNoRecipe(DatePicker.View)\n\n/**\n * The day context component of the DatePicker. This primitive has no\n * Cerberus styles.\n */\nexport type DatePickerContextProps =\n CerberusPrimitiveProps<ArkDatePickerContextProps>\nexport const DatePickerContext = DatePicker.Context\n\n/**\n * The trigger component of the DatePicker. This primitive has no Cerberus\n * styles.\n */\nexport type DatePickerPrevTriggerProps =\n CerberusPrimitiveProps<ArkDatePickerPrevTriggerProps>\nexport const DatePickerPrevTrigger = withNoRecipe(DatePicker.PrevTrigger)\n\n/**\n * The trigger component of the DatePicker. This primitive has no Cerberus\n * styles.\n */\nexport type DatePickerNextTriggerProps =\n CerberusPrimitiveProps<ArkDatePickerNextTriggerProps>\nexport const DatePickerNextTrigger = withNoRecipe(DatePicker.NextTrigger)\n\n/**\n * The trigger component of the DatePicker. This primitive has no Cerberus\n * styles.\n */\nexport type DatePickerViewTriggerProps =\n CerberusPrimitiveProps<ArkDatePickerViewTriggerProps>\nexport const DatePickerViewTrigger = withNoRecipe(DatePicker.ViewTrigger)\n\n/**\n * The table head component of the DatePicker. This primitive has no Cerberus\n * styles.\n */\nexport type DatePickerTableHeadProps =\n CerberusPrimitiveProps<ArkDatePickerTableHeadProps>\nexport const DatePickerTableHead = withNoRecipe(DatePicker.TableHead)\n\n/**\n * The table row component of the DatePicker. This primitive has no Cerberus\n * styles.\n */\nexport type DatePickerTableRowProps =\n CerberusPrimitiveProps<ArkDatePickerTableRowProps>\nexport const DatePickerTableRow = withNoRecipe(DatePicker.TableRow)\n\n/**\n * The table body component of the DatePicker. This primitive has no Cerberus\n * styles.\n */\nexport type DatePickerTableBodyProps =\n CerberusPrimitiveProps<ArkDatePickerTableBodyProps>\nexport const DatePickerTableBody = withNoRecipe(DatePicker.TableBody)\n","import { css, cx } from 'styled-system/css'\nimport type { RecipeVariantRecord } from 'styled-system/types'\nimport {\n type ComponentType,\n type ElementType,\n type HTMLAttributes,\n type PropsWithChildren,\n} from 'react'\nimport type { WithCss } from '../types'\nimport type {\n CerberusPrimitiveEl,\n CerberusPrimitiveRecipe,\n CerberusRecipe,\n CerberusSlotRecipe,\n WithRecipeOptions,\n} from './types'\n\n/**\n * This module contains a factory for creating Cerberus primitives.\n * @module @cerberus/core/system/factory\n */\n\nexport class CerberusPrimitive {\n recipe: CerberusPrimitiveRecipe | null\n\n constructor(recipe?: CerberusPrimitiveRecipe) {\n this.recipe = recipe ?? null\n }\n\n private hasStyles(styles: string | undefined): Record<string, unknown> {\n if (styles) {\n return {\n className: styles,\n }\n }\n return {}\n }\n\n private validateComponent<P extends HTMLAttributes<unknown>>(\n Component: ComponentType<P> | string,\n ) {\n if (typeof Component !== 'function' && typeof Component !== 'object') {\n return false\n }\n return true\n }\n\n /**\n * Creates a Cerberus component with bare features and no recipe.\n * @param Component - The React component to enhance with Cerberus features.\n * Can be a string or a component reference.\n * @returns A new React component that applies Cerberus features to the\n * original component.\n *\n * @example\n * ```ts\n * const { withNoRecipe } = createCerberusPrimitive(buttonRecipe)\n * const Button = withNoRecipe('button')\n * ```\n */\n withNoRecipe = <P extends HTMLAttributes<unknown>>(\n Component: ComponentType<P> | string,\n options?: WithRecipeOptions,\n ): CerberusPrimitiveEl<P> => {\n const { defaultProps } = options || {}\n const El = Component as ComponentType<P> | ElementType\n\n const CerbComponent = (props: PropsWithChildren<P> & WithCss) => {\n const { css: customCss, className, ...nativeProps } = props\n const styles = this.hasStyles(cx(className, css(customCss)))\n return <El {...defaultProps} {...styles} {...(nativeProps as P)} />\n }\n\n if (this.validateComponent(El)) {\n const ElName = typeof El === 'string' ? El : El.displayName || El.name\n CerbComponent.displayName = ElName\n }\n\n return CerbComponent\n }\n\n /**\n * Creates a Cerberus component with the given recipe.\n * @param Component - The React component to enhance with the recipe.\n * @param options - Options for the recipe.\n * @returns A new React component that applies the recipe to the original\n * component.\n */\n withRecipe = <P extends HTMLAttributes<unknown>>(\n Component: ComponentType<P> | string,\n options?: WithRecipeOptions,\n ): CerberusPrimitiveEl<P & WithRecipeOptions['defaultProps']> => {\n const { defaultProps } = options || {}\n const El = Component as ComponentType<P> | ElementType\n\n const recipe = this.recipe as CerberusRecipe\n\n const CerbComponent = (internalProps: PropsWithChildren<P> & WithCss) => {\n const {\n css: customCss,\n className,\n ...restOfInternalProps\n } = internalProps\n\n const [variantOptions, nativeProps] =\n recipe.splitVariantProps(restOfInternalProps)\n const recipeStyles = recipe(variantOptions)\n\n return (\n <Component\n {...defaultProps}\n {...(nativeProps as P)}\n className={cx(className, recipeStyles, css(customCss))}\n />\n )\n }\n\n if (this.validateComponent(El)) {\n const ElName = typeof El === 'string' ? El : El.displayName || El.name\n CerbComponent.displayName = ElName\n }\n\n return CerbComponent\n }\n\n /**\n * Creates a Cerberus component with a slot recipe applied.\n * @param Component - The React component to enhance with Cerberus features.\n * @param recipe - The slot recipe to apply to the component.\n * @returns A new React component that applies Cerberus features and the\n * specified slot recipe to the original component.\n * @example\n * ```typescript\n * const { withSlotRecipe } = createCerberusPrimitive(field)\n * const Field = withSlotRecipe(RawField, field)\n * ```\n */\n withSlotRecipe = <P extends HTMLAttributes<unknown>>(\n Component: ComponentType<P> | string,\n slot: keyof RecipeVariantRecord,\n options?: WithRecipeOptions,\n ) => {\n const { defaultProps } = options || {}\n const El = Component as ComponentType<P> | ElementType\n\n const recipe = this.recipe as CerberusSlotRecipe<typeof slot>\n\n const CerbComponent = (internalProps: PropsWithChildren<P> & WithCss) => {\n const {\n css: customCss,\n className,\n ...restOfInternalProps\n } = internalProps\n\n const [variantOptions, nativeProps] =\n recipe.splitVariantProps(restOfInternalProps)\n const styles = recipe(variantOptions)\n const slotStyles = styles[slot as keyof typeof styles]\n\n return (\n <Component\n {...defaultProps}\n {...(nativeProps as P)}\n className={cx(className, slotStyles, css(customCss))}\n />\n )\n }\n\n if (this.validateComponent(El)) {\n const ElName = typeof El === 'string' ? El : El.displayName || El.name\n CerbComponent.displayName = ElName\n }\n\n return CerbComponent\n }\n}\n","import { CerberusPrimitive } from './primitive-factory'\nimport type { CerberusFactory, CerberusPrimitiveRecipe } from './types'\nimport { cerberusFactoryProxy } from './factory'\n\n/**\n * This module contains the user interface for creating Cerberus primitives.\n * @module @cerberus/core/system/create-cerb-primitive\n */\n\n/**\n * A factory function that creates a Cerberus primitive instance with the given\n * recipe.\n * @param recipe\n * @returns An object with three methods: `withNoRecipe`, `withRecipe`, and `withSlotRecipe` that\n * apply the recipes and special Cerberus helpers like `css`.\n *\n * @example\n * ```tsx\n * const { withRecipe } = createCerberusPrimitive(myCustomRecipe);\n * export const Button = withRecipe(MyCustomButton)\n * ```\n */\nexport function createCerberusPrimitive<T extends CerberusPrimitiveRecipe>(\n recipe?: T,\n) {\n return new CerberusPrimitive(recipe)\n}\n\n/**\n * A utility function to access Cerberus components by their name.\n * @param component - The name of the Cerberus component to access.\n * @returns The Cerberus component corresponding to the provided name.\n * @throws An error if the component name is not valid.\n *\n * @example\n * ```tsx\n * import { cerberus } from '@cerberus/react'\n * const Button = cerberus('button')\n *\n * <Button css={{ color: 'blue' }} asChild>\n * <Link href=\"/some-page\">Click me</Link>\n * </Button>\n * ```\n */\nexport const cerberus = cerberusFactoryProxy as CerberusFactory\n\nexport * from './types'\n","import type { ElementType } from 'react'\nimport {\n DatePickerClearTrigger,\n DatePickerContent,\n DatePickerContext,\n DatePickerControl,\n DatePickerInputEl,\n DatePickerLabel,\n DatePickerMonthSelect,\n DatePickerNextTrigger,\n DatePickerPositioner,\n DatePickerPrevTrigger,\n DatePickerRangeText,\n DatePickerRoot,\n DatePickerTable,\n DatePickerTableBody,\n DatePickerTableCell,\n DatePickerTableCellTrigger,\n DatePickerTableHead,\n DatePickerTableHeader,\n DatePickerTableRow,\n DatePickerTrigger,\n DatePickerView,\n DatePickerViewControl,\n DatePickerViewTrigger,\n DatePickerYearSelect,\n} from './primitives'\n\n/**\n * This module contains the parts of the DatePicker component.\n * @module 'date-picker/parts'\n */\n\ninterface DatePickerPartsValue {\n /**\n * The container of the date-picker.\n */\n Root: ElementType\n /**\n * The label of the date-picker.\n */\n Label: ElementType\n /**\n * The control of the date-picker.\n */\n Control: ElementType\n /**\n * The input of the date-picker.\n */\n Input: ElementType\n /**\n * The trigger that opens the date-picker.\n */\n Trigger: ElementType\n /**\n * The trigger that clears the value of the date-picker.\n */\n ClearTrigger: ElementType\n /**\n * The positioner of the content for the date-picker.\n */\n Positioner: ElementType\n /**\n * The content of the date-picker.\n */\n Content: ElementType\n /**\n * The year select input of the date-picker.\n */\n YearSelect: ElementType\n /**\n * The month select input of the date-picker.\n */\n MonthSelect: ElementType\n /**\n * The day view of the date-picker.\n */\n View: ElementType\n /**\n * The day context of the date-picker.\n */\n Context: ElementType\n /**\n * The container for the content triggers.\n */\n ViewControl: ElementType\n /**\n * The trigger that moves to the previous month.\n */\n PrevTrigger: ElementType\n /**\n * The trigger that moves to the next month.\n */\n NextTrigger: ElementType\n /**\n * The trigger that moves to the next view.\n */\n ViewTrigger: ElementType\n /**\n * The range text of the date-picker.\n */\n RangeText: ElementType\n /**\n * The table of the date-picker.\n */\n Table: ElementType\n /**\n * The table head of the date-picker.\n */\n TableHead: ElementType\n /**\n * The table row of the date-picker.\n */\n TableRow: ElementType\n /**\n * The header text for the table.\n */\n TableHeader: ElementType\n /**\n * The body of the table.\n */\n TableBody: ElementType\n /**\n * The table cell of the table.\n */\n TableCell: ElementType\n /**\n * The trigger for the table cell.\n */\n TableCellTrigger: ElementType\n}\n\n/**\n * An Object containing the parts of the DatePicker component. For users that\n * prefer Object component syntax.\n *\n * @remarks\n *\n * When using object component syntax, you import the DatePickerParts object and\n * the entire family of components vs. only what you use.\n */\nexport const DatePickerParts: DatePickerPartsValue = {\n Root: DatePickerRoot,\n Label: DatePickerLabel,\n Control: DatePickerControl,\n Input: DatePickerInputEl,\n Trigger: DatePickerTrigger,\n ClearTrigger: DatePickerClearTrigger,\n Positioner: DatePickerPositioner,\n Content: DatePickerContent,\n YearSelect: DatePickerYearSelect,\n MonthSelect: DatePickerMonthSelect,\n View: DatePickerView,\n Context: DatePickerContext,\n ViewControl: DatePickerViewControl,\n PrevTrigger: DatePickerPrevTrigger,\n NextTrigger: DatePickerNextTrigger,\n ViewTrigger: DatePickerViewTrigger,\n RangeText: DatePickerRangeText,\n Table: DatePickerTable,\n TableHead: DatePickerTableHead,\n TableRow: DatePickerTableRow,\n TableHeader: DatePickerTableHeader,\n TableBody: DatePickerTableBody,\n TableCell: DatePickerTableCell,\n TableCellTrigger: DatePickerTableCellTrigger,\n}\n"],"mappings":"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","names":["DatePicker","import_jsx_runtime","DatePicker"]}
@@ -40,23 +40,28 @@ var CerberusPrimitive = class {
40
40
  /**
41
41
  * Creates a Cerberus component with bare features and no recipe.
42
42
  * @param Component - The React component to enhance with Cerberus features.
43
+ * Can be a string or a component reference.
43
44
  * @returns A new React component that applies Cerberus features to the
44
45
  * original component.
46
+ *
45
47
  * @example
46
- * ```typescript
47
- * const { withNoRecipe } = createCerberusPrimitive(button)
48
- * const Button = withNoRecipe(RawButton)
48
+ * ```ts
49
+ * const { withNoRecipe } = createCerberusPrimitive(buttonRecipe)
50
+ * const Button = withNoRecipe('button')
49
51
  * ```
50
52
  */
51
53
  __publicField(this, "withNoRecipe", (Component, options) => {
52
54
  const { defaultProps } = options || {};
53
- this.validateComponent(Component);
55
+ const El = Component;
54
56
  const CerbComponent = (props) => {
55
57
  const { css: customCss, className, ...nativeProps } = props;
56
58
  const styles = this.hasStyles((0, import_css.cx)(className, (0, import_css.css)(customCss)));
57
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Component, { ...defaultProps, ...styles, ...nativeProps });
59
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(El, { ...defaultProps, ...styles, ...nativeProps });
58
60
  };
59
- CerbComponent.displayName = Component.displayName || Component.name;
61
+ if (this.validateComponent(El)) {
62
+ const ElName = typeof El === "string" ? El : El.displayName || El.name;
63
+ CerbComponent.displayName = ElName;
64
+ }
60
65
  return CerbComponent;
61
66
  });
62
67
  /**
@@ -68,8 +73,8 @@ var CerberusPrimitive = class {
68
73
  */
69
74
  __publicField(this, "withRecipe", (Component, options) => {
70
75
  const { defaultProps } = options || {};
76
+ const El = Component;
71
77
  const recipe = this.recipe;
72
- this.validateComponent(Component);
73
78
  const CerbComponent = (internalProps) => {
74
79
  const {
75
80
  css: customCss,
@@ -87,7 +92,10 @@ var CerberusPrimitive = class {
87
92
  }
88
93
  );
89
94
  };
90
- CerbComponent.displayName = Component.displayName || Component.name;
95
+ if (this.validateComponent(El)) {
96
+ const ElName = typeof El === "string" ? El : El.displayName || El.name;
97
+ CerbComponent.displayName = ElName;
98
+ }
91
99
  return CerbComponent;
92
100
  });
93
101
  /**
@@ -104,8 +112,8 @@ var CerberusPrimitive = class {
104
112
  */
105
113
  __publicField(this, "withSlotRecipe", (Component, slot, options) => {
106
114
  const { defaultProps } = options || {};
115
+ const El = Component;
107
116
  const recipe = this.recipe;
108
- this.validateComponent(Component);
109
117
  const CerbComponent = (internalProps) => {
110
118
  const {
111
119
  css: customCss,
@@ -124,7 +132,10 @@ var CerberusPrimitive = class {
124
132
  }
125
133
  );
126
134
  };
127
- CerbComponent.displayName = Component.displayName || Component.name;
135
+ if (this.validateComponent(El)) {
136
+ const ElName = typeof El === "string" ? El : El.displayName || El.name;
137
+ CerbComponent.displayName = ElName;
138
+ }
128
139
  return CerbComponent;
129
140
  });
130
141
  this.recipe = recipe ?? null;
@@ -139,8 +150,9 @@ var CerberusPrimitive = class {
139
150
  }
140
151
  validateComponent(Component) {
141
152
  if (typeof Component !== "function" && typeof Component !== "object") {
142
- throw new Error("Expected a React component as the first argument.");
153
+ return false;
143
154
  }
155
+ return true;
144
156
  }
145
157
  };
146
158
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/date-picker/day-view.tsx","../../../../src/components/date-picker/primitives.tsx","../../../../src/system/primitive-factory.tsx","../../../../src/system/index.ts","../../../../src/components/date-picker/parts.ts","../../../../src/components/date-picker/view-control-group.tsx","../../../../src/context/cerberus.tsx","../../../../src/components/button/button.tsx","../../../../src/components/button/primitives.tsx","../../../../src/components/icon-button/primitives.ts","../../../../src/components/icon-button/button.tsx"],"sourcesContent":["'use client'\n\nimport type {\n DatePicker,\n UseDatePickerContext,\n} from '@ark-ui/react/date-picker'\nimport { DatePickerParts } from './parts'\nimport type { DatePickerViewProps } from './primitives'\nimport { DatePickerViewControlGroup } from './view-control-group'\n\n/**\n * This private module contains an abstraction of the DayView component.\n * @module 'date-picker/day-view'\n */\n\nexport type DateValue = DatePicker.DateValue\n\n/**\n * An abstraction of the DatePickerDayView that renders the day view of the\n * DatePicker.\n * @definition [datePicker docs](https://cerberus.digitalu.design/react/date-picker)\n */\nexport function DatePickerDayView(props: Omit<DatePickerViewProps, 'view'>) {\n function isToday(date: DateValue): boolean {\n const today = new Date()\n const formatted = today.toISOString().split('T')[0]\n const arkDate = `${date.year}-${String(date.month).padStart(2, '0')}-${String(date.day).padStart(2, '0')}`\n return formatted === arkDate\n }\n\n function isPastDay(date: DateValue): boolean {\n const today = new Date()\n const arkDate = `${date.year}-${String(date.month).padStart(2, '0')}-${String(date.day).padStart(2, '0')}`\n return new Date(arkDate) < today\n }\n\n function getDayValue(date: DateValue): 'today' | 'past' | 'future' {\n if (isToday(date)) return 'today'\n if (isPastDay(date)) return 'past'\n return 'future'\n }\n\n return (\n <DatePickerParts.View {...props} view=\"day\">\n <DatePickerParts.Context>\n {(datePickerData: UseDatePickerContext) => (\n <>\n <DatePickerViewControlGroup />\n\n <DatePickerParts.Table>\n <DatePickerParts.TableHead>\n <DatePickerParts.TableRow>\n {datePickerData.weekDays.map((weekDay, id) => (\n <DatePickerParts.TableHeader key={id}>\n {weekDay.narrow}\n </DatePickerParts.TableHeader>\n ))}\n </DatePickerParts.TableRow>\n </DatePickerParts.TableHead>\n\n <DatePickerParts.TableBody>\n {datePickerData.weeks.map((week, id) => (\n <DatePickerParts.TableRow key={id}>\n {week.map((day, id) => (\n <DatePickerParts.TableCell key={id} value={day}>\n <DatePickerParts.TableCellTrigger\n data-date={getDayValue(day)}\n >\n {day.day}\n </DatePickerParts.TableCellTrigger>\n </DatePickerParts.TableCell>\n ))}\n </DatePickerParts.TableRow>\n ))}\n </DatePickerParts.TableBody>\n </DatePickerParts.Table>\n </>\n )}\n </DatePickerParts.Context>\n </DatePickerParts.View>\n )\n}\n","import {\n DatePicker,\n type DatePickerContentProps as ArkDatePickerContentProps,\n type DatePickerContextProps as ArkDatePickerContextProps,\n type DatePickerControlProps as ArkDatePickerControlProps,\n type DatePickerInputProps as ArkDatePickerInputProps,\n type DatePickerLabelProps as ArkDatePickerLabelProps,\n type DatePickerMonthSelectProps as ArkDatePickerMonthSelectProps,\n type DatePickerNextTriggerProps as ArkDatePickerNextTriggerProps,\n type DatePickerPositionerProps as ArkDatePickerPositionerProps,\n type DatePickerPrevTriggerProps as ArkDatePickerPrevTriggerProps,\n type DatePickerRangeTextProps as ArkDatePickerRangeTextProps,\n type DatePickerRootProps as ArkDatePickerRootProps,\n type DatePickerTableBodyProps as ArkDatePickerTableBodyProps,\n type DatePickerTableCellProps as ArkDatePickerTableCellProps,\n type DatePickerTableCellTriggerProps as ArkDatePickerTableCellTriggerProps,\n type DatePickerTableHeaderProps as ArkDatePickerTableHeaderProps,\n type DatePickerTableHeadProps as ArkDatePickerTableHeadProps,\n type DatePickerTableProps as ArkDatePickerTableProps,\n type DatePickerTableRowProps as ArkDatePickerTableRowProps,\n type DatePickerTriggerProps as ArkDatePickerTriggerProps,\n type DatePickerViewControlProps as ArkDatePickerViewControlProps,\n type DatePickerViewProps as ArkDatePickerViewProps,\n type DatePickerViewTriggerProps as ArkDatePickerViewTriggerProps,\n type DatePickerYearSelectProps as ArkDatePickerYearSelectProps,\n} from '@ark-ui/react/date-picker'\nimport { datePicker } from 'styled-system/recipes'\nimport {\n createCerberusPrimitive,\n type CerberusPrimitiveProps,\n} from '../../system/index'\n\n/**\n * This module contains the DatePicker primitives.\n * @module 'date-picker/primitives'\n */\n\nconst { withSlotRecipe, withNoRecipe } = createCerberusPrimitive(datePicker)\n\n/**\n * The label component for the DatePicker.\n */\nexport type DatePickerLabelProps =\n CerberusPrimitiveProps<ArkDatePickerLabelProps>\nexport const DatePickerLabel = withSlotRecipe(DatePicker.Label, 'label')\n\n/**\n * The control component for the DatePicker which wraps the input and the\n * triggers to open the DatePicker and clear the value.\n */\nexport type DatePickerControlProps =\n CerberusPrimitiveProps<ArkDatePickerControlProps>\nexport const DatePickerControl = withSlotRecipe(DatePicker.Control, 'control')\n\n/**\n * The input component for the DatePicker.\n */\nexport type DatePickerInputElProps =\n CerberusPrimitiveProps<ArkDatePickerInputProps>\nexport const DatePickerInputEl = withSlotRecipe(DatePicker.Input, 'input')\n\n/**\n * The trigger component that opens the DatePicker.\n */\nexport type DatePickerTriggerProps =\n CerberusPrimitiveProps<ArkDatePickerTriggerProps>\nexport const DatePickerTrigger = withSlotRecipe(DatePicker.Trigger, 'trigger')\n\n/**\n * The content component for the DatePicker.\n */\nexport type DatePickerContentProps =\n CerberusPrimitiveProps<ArkDatePickerContentProps>\nexport const DatePickerContent = withSlotRecipe(DatePicker.Content, 'content')\n\n/**\n * The view control component for the DatePicker which wraps the triggers to\n * switch between calendar views.\n */\nexport type DatePickerViewControlProps =\n CerberusPrimitiveProps<ArkDatePickerViewControlProps>\nexport const DatePickerViewControl = withSlotRecipe(\n DatePicker.Control,\n 'viewControl',\n)\n\n/**\n * The range text component for the DatePicker.\n */\nexport type DatePickerRangeTextProps =\n CerberusPrimitiveProps<ArkDatePickerRangeTextProps>\nexport const DatePickerRangeText = withSlotRecipe(\n DatePicker.RangeText,\n 'rangeText',\n)\n\n/**\n * The table component for the DatePicker.\n */\nexport type DatePickerTableProps =\n CerberusPrimitiveProps<ArkDatePickerTableProps>\nexport const DatePickerTable = withSlotRecipe(DatePicker.Table, 'table')\n\n/**\n * The header component for the DatePicker table.\n */\nexport type DatePickerTableHeaderProps =\n CerberusPrimitiveProps<ArkDatePickerTableHeaderProps>\nexport const DatePickerTableHeader = withSlotRecipe(\n DatePicker.TableHeader,\n 'tableHeader',\n)\n\n/**\n * The table cell component for the DatePicker.\n */\nexport type DatePickerTableCellProps =\n CerberusPrimitiveProps<ArkDatePickerTableCellProps>\nexport const DatePickerTableCell = withSlotRecipe(\n DatePicker.TableCell,\n 'tableCell',\n)\n\n/**\n * The table cell trigger component for the DatePicker.\n */\nexport type DatePickerTableCellTriggerProps =\n CerberusPrimitiveProps<ArkDatePickerTableCellTriggerProps>\nexport const DatePickerTableCellTrigger = withSlotRecipe(\n DatePicker.TableCellTrigger,\n 'tableCellTrigger',\n)\n\n/**\n * The root component of the DatePicker. This primitive has no Cerberus styles.\n */\nexport type DatePickerRootProps = CerberusPrimitiveProps<ArkDatePickerRootProps>\n// @ts-expect-error this is a workaround for the type error WIP\nexport const DatePickerRoot = withNoRecipe(DatePicker.Root)\n\n/**\n * The label component of the DatePicker. This primitive has no Cerberus styles.\n */\nexport type DatePickerClearTriggerProps =\n CerberusPrimitiveProps<ArkDatePickerTriggerProps>\nexport const DatePickerClearTrigger = withNoRecipe(DatePicker.ClearTrigger)\n\n/**\n * The control component of the DatePicker. This primitive has no Cerberus\n * styles.\n */\nexport type DatePickerPositionerProps =\n CerberusPrimitiveProps<ArkDatePickerPositionerProps>\nexport const DatePickerPositioner = withNoRecipe(DatePicker.Positioner)\n\n/**\n * The year select input component of the DatePicker. This primitive has no\n * Cerberus styles.\n */\nexport type DatePickerYearSelectProps =\n CerberusPrimitiveProps<ArkDatePickerYearSelectProps>\nexport const DatePickerYearSelect = withNoRecipe(DatePicker.YearSelect)\n\n/**\n * The month select input component of the DatePicker. This primitive has no\n * Cerberus styles.\n */\nexport type DatePickerMonthSelectProps =\n CerberusPrimitiveProps<ArkDatePickerMonthSelectProps>\nexport const DatePickerMonthSelect = withNoRecipe(DatePicker.MonthSelect)\n\n/**\n * The day view component of the DatePicker. This primitive has no Cerberus\n * styles.\n */\nexport type DatePickerViewProps = CerberusPrimitiveProps<ArkDatePickerViewProps>\nexport const DatePickerView = withNoRecipe(DatePicker.View)\n\n/**\n * The day context component of the DatePicker. This primitive has no\n * Cerberus styles.\n */\nexport type DatePickerContextProps =\n CerberusPrimitiveProps<ArkDatePickerContextProps>\nexport const DatePickerContext = DatePicker.Context\n\n/**\n * The trigger component of the DatePicker. This primitive has no Cerberus\n * styles.\n */\nexport type DatePickerPrevTriggerProps =\n CerberusPrimitiveProps<ArkDatePickerPrevTriggerProps>\nexport const DatePickerPrevTrigger = withNoRecipe(DatePicker.PrevTrigger)\n\n/**\n * The trigger component of the DatePicker. This primitive has no Cerberus\n * styles.\n */\nexport type DatePickerNextTriggerProps =\n CerberusPrimitiveProps<ArkDatePickerNextTriggerProps>\nexport const DatePickerNextTrigger = withNoRecipe(DatePicker.NextTrigger)\n\n/**\n * The trigger component of the DatePicker. This primitive has no Cerberus\n * styles.\n */\nexport type DatePickerViewTriggerProps =\n CerberusPrimitiveProps<ArkDatePickerViewTriggerProps>\nexport const DatePickerViewTrigger = withNoRecipe(DatePicker.ViewTrigger)\n\n/**\n * The table head component of the DatePicker. This primitive has no Cerberus\n * styles.\n */\nexport type DatePickerTableHeadProps =\n CerberusPrimitiveProps<ArkDatePickerTableHeadProps>\nexport const DatePickerTableHead = withNoRecipe(DatePicker.TableHead)\n\n/**\n * The table row component of the DatePicker. This primitive has no Cerberus\n * styles.\n */\nexport type DatePickerTableRowProps =\n CerberusPrimitiveProps<ArkDatePickerTableRowProps>\nexport const DatePickerTableRow = withNoRecipe(DatePicker.TableRow)\n\n/**\n * The table body component of the DatePicker. This primitive has no Cerberus\n * styles.\n */\nexport type DatePickerTableBodyProps =\n CerberusPrimitiveProps<ArkDatePickerTableBodyProps>\nexport const DatePickerTableBody = withNoRecipe(DatePicker.TableBody)\n","import { css, cx } from 'styled-system/css'\nimport type { RecipeVariantRecord } from 'styled-system/types'\nimport {\n type ComponentType,\n type HTMLAttributes,\n type PropsWithChildren,\n} from 'react'\nimport type { WithCss } from '../types'\nimport type {\n CerberusPrimitiveEl,\n CerberusPrimitiveRecipe,\n CerberusRecipe,\n CerberusSlotRecipe,\n WithRecipeOptions,\n} from './types'\n\n/**\n * This module contains a factory for creating Cerberus primitives.\n * @module @cerberus/core/system/factory\n */\n\nexport class CerberusPrimitive {\n recipe: CerberusPrimitiveRecipe | null\n\n constructor(recipe?: CerberusPrimitiveRecipe) {\n this.recipe = recipe ?? null\n }\n\n private hasStyles(styles: string | undefined): Record<string, unknown> {\n if (styles) {\n return {\n className: styles,\n }\n }\n return {}\n }\n\n private validateComponent<P extends HTMLAttributes<unknown>>(\n Component: ComponentType<P>,\n ) {\n if (typeof Component !== 'function' && typeof Component !== 'object') {\n throw new Error('Expected a React component as the first argument.')\n }\n }\n\n /**\n * Creates a Cerberus component with bare features and no recipe.\n * @param Component - The React component to enhance with Cerberus features.\n * @returns A new React component that applies Cerberus features to the\n * original component.\n * @example\n * ```typescript\n * const { withNoRecipe } = createCerberusPrimitive(button)\n * const Button = withNoRecipe(RawButton)\n * ```\n */\n withNoRecipe = <P extends HTMLAttributes<unknown>>(\n Component: ComponentType<P>,\n options?: WithRecipeOptions,\n ): CerberusPrimitiveEl<P> => {\n const { defaultProps } = options || {}\n\n this.validateComponent(Component)\n\n const CerbComponent = (props: PropsWithChildren<P> & WithCss) => {\n const { css: customCss, className, ...nativeProps } = props\n const styles = this.hasStyles(cx(className, css(customCss)))\n return <Component {...defaultProps} {...styles} {...(nativeProps as P)} />\n }\n\n CerbComponent.displayName = Component.displayName || Component.name\n return CerbComponent\n }\n\n /**\n * Creates a Cerberus component with the given recipe.\n * @param Component - The React component to enhance with the recipe.\n * @param options - Options for the recipe.\n * @returns A new React component that applies the recipe to the original\n * component.\n */\n withRecipe = <P extends HTMLAttributes<unknown>>(\n Component: ComponentType<P>,\n options?: WithRecipeOptions,\n ): CerberusPrimitiveEl<P & WithRecipeOptions['defaultProps']> => {\n const { defaultProps } = options || {}\n const recipe = this.recipe as CerberusRecipe\n\n this.validateComponent(Component)\n\n const CerbComponent = (internalProps: PropsWithChildren<P> & WithCss) => {\n const {\n css: customCss,\n className,\n ...restOfInternalProps\n } = internalProps\n\n const [variantOptions, nativeProps] =\n recipe.splitVariantProps(restOfInternalProps)\n const recipeStyles = recipe(variantOptions)\n\n return (\n <Component\n {...defaultProps}\n {...(nativeProps as P)}\n className={cx(className, recipeStyles, css(customCss))}\n />\n )\n }\n\n CerbComponent.displayName = Component.displayName || Component.name\n return CerbComponent\n }\n\n /**\n * Creates a Cerberus component with a slot recipe applied.\n * @param Component - The React component to enhance with Cerberus features.\n * @param recipe - The slot recipe to apply to the component.\n * @returns A new React component that applies Cerberus features and the\n * specified slot recipe to the original component.\n * @example\n * ```typescript\n * const { withSlotRecipe } = createCerberusPrimitive(field)\n * const Field = withSlotRecipe(RawField, field)\n * ```\n */\n withSlotRecipe = <P extends HTMLAttributes<unknown>>(\n Component: ComponentType<P>,\n slot: keyof RecipeVariantRecord,\n options?: WithRecipeOptions,\n ) => {\n const { defaultProps } = options || {}\n const recipe = this.recipe as CerberusSlotRecipe<typeof slot>\n\n this.validateComponent(Component)\n\n const CerbComponent = (internalProps: PropsWithChildren<P> & WithCss) => {\n const {\n css: customCss,\n className,\n ...restOfInternalProps\n } = internalProps\n\n const [variantOptions, nativeProps] =\n recipe.splitVariantProps(restOfInternalProps)\n const styles = recipe(variantOptions)\n const slotStyles = styles[slot as keyof typeof styles]\n\n return (\n <Component\n {...defaultProps}\n {...(nativeProps as P)}\n className={cx(className, slotStyles, css(customCss))}\n />\n )\n }\n\n CerbComponent.displayName = Component.displayName || Component.name\n return CerbComponent\n }\n}\n","import { CerberusPrimitive } from './primitive-factory'\nimport type { CerberusFactory, CerberusPrimitiveRecipe } from './types'\nimport { cerberusFactoryProxy } from './factory'\n\n/**\n * This module contains the user interface for creating Cerberus primitives.\n * @module @cerberus/core/system/create-cerb-primitive\n */\n\n/**\n * A factory function that creates a Cerberus primitive instance with the given\n * recipe.\n * @param recipe\n * @returns An object with three methods: `withNoRecipe`, `withRecipe`, and `withSlotRecipe` that\n * apply the recipes and special Cerberus helpers like `css`.\n *\n * @example\n * ```tsx\n * const { withRecipe } = createCerberusPrimitive(myCustomRecipe);\n * export const Button = withRecipe(MyCustomButton)\n * ```\n */\nexport function createCerberusPrimitive<T extends CerberusPrimitiveRecipe>(\n recipe?: T,\n) {\n return new CerberusPrimitive(recipe)\n}\n\n/**\n * A utility function to access Cerberus components by their name.\n * @param component - The name of the Cerberus component to access.\n * @returns The Cerberus component corresponding to the provided name.\n * @throws An error if the component name is not valid.\n *\n * @example\n * ```tsx\n * import { cerberus } from '@cerberus/react'\n * const Button = cerberus('button')\n *\n * <Button css={{ color: 'blue' }} asChild>\n * <Link href=\"/some-page\">Click me</Link>\n * </Button>\n * ```\n */\nexport const cerberus = cerberusFactoryProxy as CerberusFactory\n\nexport * from './types'\n","import type { ElementType } from 'react'\nimport {\n DatePickerClearTrigger,\n DatePickerContent,\n DatePickerContext,\n DatePickerControl,\n DatePickerInputEl,\n DatePickerLabel,\n DatePickerMonthSelect,\n DatePickerNextTrigger,\n DatePickerPositioner,\n DatePickerPrevTrigger,\n DatePickerRangeText,\n DatePickerRoot,\n DatePickerTable,\n DatePickerTableBody,\n DatePickerTableCell,\n DatePickerTableCellTrigger,\n DatePickerTableHead,\n DatePickerTableHeader,\n DatePickerTableRow,\n DatePickerTrigger,\n DatePickerView,\n DatePickerViewControl,\n DatePickerViewTrigger,\n DatePickerYearSelect,\n} from './primitives'\n\n/**\n * This module contains the parts of the DatePicker component.\n * @module 'date-picker/parts'\n */\n\ninterface DatePickerPartsValue {\n /**\n * The container of the date-picker.\n */\n Root: ElementType\n /**\n * The label of the date-picker.\n */\n Label: ElementType\n /**\n * The control of the date-picker.\n */\n Control: ElementType\n /**\n * The input of the date-picker.\n */\n Input: ElementType\n /**\n * The trigger that opens the date-picker.\n */\n Trigger: ElementType\n /**\n * The trigger that clears the value of the date-picker.\n */\n ClearTrigger: ElementType\n /**\n * The positioner of the content for the date-picker.\n */\n Positioner: ElementType\n /**\n * The content of the date-picker.\n */\n Content: ElementType\n /**\n * The year select input of the date-picker.\n */\n YearSelect: ElementType\n /**\n * The month select input of the date-picker.\n */\n MonthSelect: ElementType\n /**\n * The day view of the date-picker.\n */\n View: ElementType\n /**\n * The day context of the date-picker.\n */\n Context: ElementType\n /**\n * The container for the content triggers.\n */\n ViewControl: ElementType\n /**\n * The trigger that moves to the previous month.\n */\n PrevTrigger: ElementType\n /**\n * The trigger that moves to the next month.\n */\n NextTrigger: ElementType\n /**\n * The trigger that moves to the next view.\n */\n ViewTrigger: ElementType\n /**\n * The range text of the date-picker.\n */\n RangeText: ElementType\n /**\n * The table of the date-picker.\n */\n Table: ElementType\n /**\n * The table head of the date-picker.\n */\n TableHead: ElementType\n /**\n * The table row of the date-picker.\n */\n TableRow: ElementType\n /**\n * The header text for the table.\n */\n TableHeader: ElementType\n /**\n * The body of the table.\n */\n TableBody: ElementType\n /**\n * The table cell of the table.\n */\n TableCell: ElementType\n /**\n * The trigger for the table cell.\n */\n TableCellTrigger: ElementType\n}\n\n/**\n * An Object containing the parts of the DatePicker component. For users that\n * prefer Object component syntax.\n *\n * @remarks\n *\n * When using object component syntax, you import the DatePickerParts object and\n * the entire family of components vs. only what you use.\n */\nexport const DatePickerParts: DatePickerPartsValue = {\n Root: DatePickerRoot,\n Label: DatePickerLabel,\n Control: DatePickerControl,\n Input: DatePickerInputEl,\n Trigger: DatePickerTrigger,\n ClearTrigger: DatePickerClearTrigger,\n Positioner: DatePickerPositioner,\n Content: DatePickerContent,\n YearSelect: DatePickerYearSelect,\n MonthSelect: DatePickerMonthSelect,\n View: DatePickerView,\n Context: DatePickerContext,\n ViewControl: DatePickerViewControl,\n PrevTrigger: DatePickerPrevTrigger,\n NextTrigger: DatePickerNextTrigger,\n ViewTrigger: DatePickerViewTrigger,\n RangeText: DatePickerRangeText,\n Table: DatePickerTable,\n TableHead: DatePickerTableHead,\n TableRow: DatePickerTableRow,\n TableHeader: DatePickerTableHeader,\n TableBody: DatePickerTableBody,\n TableCell: DatePickerTableCell,\n TableCellTrigger: DatePickerTableCellTrigger,\n}\n","'use client'\n\nimport { css } from 'styled-system/css'\nimport { useCerberusContext } from '../../context/cerberus'\nimport { Button } from '../button/button'\nimport { IconButton } from '../icon-button/index'\nimport { DatePickerParts } from './parts'\nimport type { DatePickerViewControlProps } from './primitives'\n\n/**\n * This private module contains an abstraction of the DatePickerViewControl\n * primitive.\n * @module 'date-picker/view-control-group'\n */\n\n/**\n * An abstraction of the DatePicker control that contains the prev, view, and\n * next triggers which control the calendar output.\n * @definition [datePicker docs](https://cerberus.digitalu.design/react/date-picker)\n */\nexport function DatePickerViewControlGroup(props: DatePickerViewControlProps) {\n const { icons } = useCerberusContext()\n const { calendarPrev: PrevIcon, calendarNext: NextIcon } = icons\n\n return (\n <DatePickerParts.ViewControl {...props}>\n <DatePickerParts.PrevTrigger asChild>\n <IconButton ariaLabel=\"Previous\" size=\"sm\">\n <PrevIcon />\n </IconButton>\n </DatePickerParts.PrevTrigger>\n\n <DatePickerParts.ViewTrigger asChild>\n <Button\n className={css({\n h: '2rem',\n paddingInline: 'md',\n })}\n shape=\"rounded\"\n size=\"sm\"\n usage=\"ghost\"\n >\n <DatePickerParts.RangeText />\n </Button>\n </DatePickerParts.ViewTrigger>\n\n <DatePickerParts.NextTrigger asChild>\n <IconButton ariaLabel=\"Next\" size=\"sm\">\n <NextIcon />\n </IconButton>\n </DatePickerParts.NextTrigger>\n </DatePickerParts.ViewControl>\n )\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","'use client'\n\nimport { type HTMLArkProps } from '@ark-ui/react/factory'\nimport {\n type PropsWithChildren,\n createContext,\n useContext,\n useMemo,\n} from 'react'\nimport { type ButtonVariantProps } from 'styled-system/recipes'\nimport { Box } from 'styled-system/jsx'\nimport type { CerberusPrimitiveProps } from '../../system/types'\nimport { Show } from '../show/index'\nimport { Spinner } from '../spinner/index'\nimport { ButtonRoot } from './primitives'\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 = CerberusPrimitiveProps<\n HTMLArkProps<'button'> &\n ButtonVariantProps & {\n pending?: boolean\n }\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) {\n const { pending = false, ...nativeProps } = props\n const value = useMemo(() => ({ pending }), [pending])\n return (\n <ButtonContext.Provider value={value}>\n <ButtonRoot {...nativeProps} disabled={pending || nativeProps.disabled} />\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","import { ark } from '@ark-ui/react/factory'\nimport { button } from 'styled-system/recipes'\nimport { createCerberusPrimitive } from '../../system/index'\n\n/**\n * This module contains the Button component primitives.\n * @module @cerberus-design/react/components/button/primitives\n */\n\nconst { withRecipe } = createCerberusPrimitive(button)\n\n/**\n * The root element of the Button component.\n */\nexport const ButtonRoot = withRecipe(ark.button)\n","import { ark, type HTMLArkProps } from '@ark-ui/react/factory'\nimport { iconButton, type IconButtonVariantProps } from 'styled-system/recipes'\nimport {\n createCerberusPrimitive,\n type CerberusPrimitiveProps,\n} from '../../system/index'\n\n/**\n * This module contains the IconButton component primitives.\n * @module @cerberus-design/react/components/icon-button/primitives\n */\n\nconst { withRecipe } = createCerberusPrimitive(iconButton)\n\n/**\n * The root element of the Button component.\n */\nexport type IconButtonRootProps = CerberusPrimitiveProps<\n HTMLArkProps<'button'> & IconButtonVariantProps\n>\nexport const IconButtonRoot = withRecipe(ark.button)\n","import { IconButtonRoot, type IconButtonRootProps } from './primitives'\n\n/**\n * This module contains the Icon Button component.\n * @module\n */\n\nexport interface IconButtonProps extends IconButtonRootProps {\n /**\n * The aria-label attribute for the icon button.\n */\n ariaLabel: string\n}\n\n/**\n * A component that allows the user to perform actions using an icon\n * @see https://cerberus.digitalu.design/react/icon-button\n */\nexport function IconButton(props: IconButtonProps) {\n const { ariaLabel, ...rootProps } = props\n return (\n <IconButtonRoot {...rootProps} aria-label={ariaLabel ?? 'Icon Button'} />\n )\n}\n"],"mappings":"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","names":["import_css","import_jsx_runtime","import_react","import_recipes","import_jsx_runtime","import_factory","import_recipes","withRecipe","import_jsx_runtime","import_jsx_runtime","import_jsx_runtime","id"]}
1
+ {"version":3,"sources":["../../../../src/components/date-picker/day-view.tsx","../../../../src/components/date-picker/primitives.tsx","../../../../src/system/primitive-factory.tsx","../../../../src/system/index.ts","../../../../src/components/date-picker/parts.ts","../../../../src/components/date-picker/view-control-group.tsx","../../../../src/context/cerberus.tsx","../../../../src/components/button/button.tsx","../../../../src/components/button/primitives.tsx","../../../../src/components/icon-button/primitives.ts","../../../../src/components/icon-button/button.tsx"],"sourcesContent":["'use client'\n\nimport type {\n DatePicker,\n UseDatePickerContext,\n} from '@ark-ui/react/date-picker'\nimport { DatePickerParts } from './parts'\nimport type { DatePickerViewProps } from './primitives'\nimport { DatePickerViewControlGroup } from './view-control-group'\n\n/**\n * This private module contains an abstraction of the DayView component.\n * @module 'date-picker/day-view'\n */\n\nexport type DateValue = DatePicker.DateValue\n\n/**\n * An abstraction of the DatePickerDayView that renders the day view of the\n * DatePicker.\n * @definition [datePicker docs](https://cerberus.digitalu.design/react/date-picker)\n */\nexport function DatePickerDayView(props: Omit<DatePickerViewProps, 'view'>) {\n function isToday(date: DateValue): boolean {\n const today = new Date()\n const formatted = today.toISOString().split('T')[0]\n const arkDate = `${date.year}-${String(date.month).padStart(2, '0')}-${String(date.day).padStart(2, '0')}`\n return formatted === arkDate\n }\n\n function isPastDay(date: DateValue): boolean {\n const today = new Date()\n const arkDate = `${date.year}-${String(date.month).padStart(2, '0')}-${String(date.day).padStart(2, '0')}`\n return new Date(arkDate) < today\n }\n\n function getDayValue(date: DateValue): 'today' | 'past' | 'future' {\n if (isToday(date)) return 'today'\n if (isPastDay(date)) return 'past'\n return 'future'\n }\n\n return (\n <DatePickerParts.View {...props} view=\"day\">\n <DatePickerParts.Context>\n {(datePickerData: UseDatePickerContext) => (\n <>\n <DatePickerViewControlGroup />\n\n <DatePickerParts.Table>\n <DatePickerParts.TableHead>\n <DatePickerParts.TableRow>\n {datePickerData.weekDays.map((weekDay, id) => (\n <DatePickerParts.TableHeader key={id}>\n {weekDay.narrow}\n </DatePickerParts.TableHeader>\n ))}\n </DatePickerParts.TableRow>\n </DatePickerParts.TableHead>\n\n <DatePickerParts.TableBody>\n {datePickerData.weeks.map((week, id) => (\n <DatePickerParts.TableRow key={id}>\n {week.map((day, id) => (\n <DatePickerParts.TableCell key={id} value={day}>\n <DatePickerParts.TableCellTrigger\n data-date={getDayValue(day)}\n >\n {day.day}\n </DatePickerParts.TableCellTrigger>\n </DatePickerParts.TableCell>\n ))}\n </DatePickerParts.TableRow>\n ))}\n </DatePickerParts.TableBody>\n </DatePickerParts.Table>\n </>\n )}\n </DatePickerParts.Context>\n </DatePickerParts.View>\n )\n}\n","import {\n DatePicker,\n type DatePickerContentProps as ArkDatePickerContentProps,\n type DatePickerContextProps as ArkDatePickerContextProps,\n type DatePickerControlProps as ArkDatePickerControlProps,\n type DatePickerInputProps as ArkDatePickerInputProps,\n type DatePickerLabelProps as ArkDatePickerLabelProps,\n type DatePickerMonthSelectProps as ArkDatePickerMonthSelectProps,\n type DatePickerNextTriggerProps as ArkDatePickerNextTriggerProps,\n type DatePickerPositionerProps as ArkDatePickerPositionerProps,\n type DatePickerPrevTriggerProps as ArkDatePickerPrevTriggerProps,\n type DatePickerRangeTextProps as ArkDatePickerRangeTextProps,\n type DatePickerRootProps as ArkDatePickerRootProps,\n type DatePickerTableBodyProps as ArkDatePickerTableBodyProps,\n type DatePickerTableCellProps as ArkDatePickerTableCellProps,\n type DatePickerTableCellTriggerProps as ArkDatePickerTableCellTriggerProps,\n type DatePickerTableHeaderProps as ArkDatePickerTableHeaderProps,\n type DatePickerTableHeadProps as ArkDatePickerTableHeadProps,\n type DatePickerTableProps as ArkDatePickerTableProps,\n type DatePickerTableRowProps as ArkDatePickerTableRowProps,\n type DatePickerTriggerProps as ArkDatePickerTriggerProps,\n type DatePickerViewControlProps as ArkDatePickerViewControlProps,\n type DatePickerViewProps as ArkDatePickerViewProps,\n type DatePickerViewTriggerProps as ArkDatePickerViewTriggerProps,\n type DatePickerYearSelectProps as ArkDatePickerYearSelectProps,\n} from '@ark-ui/react/date-picker'\nimport { datePicker } from 'styled-system/recipes'\nimport {\n createCerberusPrimitive,\n type CerberusPrimitiveProps,\n} from '../../system/index'\n\n/**\n * This module contains the DatePicker primitives.\n * @module 'date-picker/primitives'\n */\n\nconst { withSlotRecipe, withNoRecipe } = createCerberusPrimitive(datePicker)\n\n/**\n * The label component for the DatePicker.\n */\nexport type DatePickerLabelProps =\n CerberusPrimitiveProps<ArkDatePickerLabelProps>\nexport const DatePickerLabel = withSlotRecipe(DatePicker.Label, 'label')\n\n/**\n * The control component for the DatePicker which wraps the input and the\n * triggers to open the DatePicker and clear the value.\n */\nexport type DatePickerControlProps =\n CerberusPrimitiveProps<ArkDatePickerControlProps>\nexport const DatePickerControl = withSlotRecipe(DatePicker.Control, 'control')\n\n/**\n * The input component for the DatePicker.\n */\nexport type DatePickerInputElProps =\n CerberusPrimitiveProps<ArkDatePickerInputProps>\nexport const DatePickerInputEl = withSlotRecipe(DatePicker.Input, 'input')\n\n/**\n * The trigger component that opens the DatePicker.\n */\nexport type DatePickerTriggerProps =\n CerberusPrimitiveProps<ArkDatePickerTriggerProps>\nexport const DatePickerTrigger = withSlotRecipe(DatePicker.Trigger, 'trigger')\n\n/**\n * The content component for the DatePicker.\n */\nexport type DatePickerContentProps =\n CerberusPrimitiveProps<ArkDatePickerContentProps>\nexport const DatePickerContent = withSlotRecipe(DatePicker.Content, 'content')\n\n/**\n * The view control component for the DatePicker which wraps the triggers to\n * switch between calendar views.\n */\nexport type DatePickerViewControlProps =\n CerberusPrimitiveProps<ArkDatePickerViewControlProps>\nexport const DatePickerViewControl = withSlotRecipe(\n DatePicker.Control,\n 'viewControl',\n)\n\n/**\n * The range text component for the DatePicker.\n */\nexport type DatePickerRangeTextProps =\n CerberusPrimitiveProps<ArkDatePickerRangeTextProps>\nexport const DatePickerRangeText = withSlotRecipe(\n DatePicker.RangeText,\n 'rangeText',\n)\n\n/**\n * The table component for the DatePicker.\n */\nexport type DatePickerTableProps =\n CerberusPrimitiveProps<ArkDatePickerTableProps>\nexport const DatePickerTable = withSlotRecipe(DatePicker.Table, 'table')\n\n/**\n * The header component for the DatePicker table.\n */\nexport type DatePickerTableHeaderProps =\n CerberusPrimitiveProps<ArkDatePickerTableHeaderProps>\nexport const DatePickerTableHeader = withSlotRecipe(\n DatePicker.TableHeader,\n 'tableHeader',\n)\n\n/**\n * The table cell component for the DatePicker.\n */\nexport type DatePickerTableCellProps =\n CerberusPrimitiveProps<ArkDatePickerTableCellProps>\nexport const DatePickerTableCell = withSlotRecipe(\n DatePicker.TableCell,\n 'tableCell',\n)\n\n/**\n * The table cell trigger component for the DatePicker.\n */\nexport type DatePickerTableCellTriggerProps =\n CerberusPrimitiveProps<ArkDatePickerTableCellTriggerProps>\nexport const DatePickerTableCellTrigger = withSlotRecipe(\n DatePicker.TableCellTrigger,\n 'tableCellTrigger',\n)\n\n/**\n * The root component of the DatePicker. This primitive has no Cerberus styles.\n */\nexport type DatePickerRootProps = CerberusPrimitiveProps<ArkDatePickerRootProps>\n// @ts-expect-error this is a workaround for the type error WIP\nexport const DatePickerRoot = withNoRecipe(DatePicker.Root)\n\n/**\n * The label component of the DatePicker. This primitive has no Cerberus styles.\n */\nexport type DatePickerClearTriggerProps =\n CerberusPrimitiveProps<ArkDatePickerTriggerProps>\nexport const DatePickerClearTrigger = withNoRecipe(DatePicker.ClearTrigger)\n\n/**\n * The control component of the DatePicker. This primitive has no Cerberus\n * styles.\n */\nexport type DatePickerPositionerProps =\n CerberusPrimitiveProps<ArkDatePickerPositionerProps>\nexport const DatePickerPositioner = withNoRecipe(DatePicker.Positioner)\n\n/**\n * The year select input component of the DatePicker. This primitive has no\n * Cerberus styles.\n */\nexport type DatePickerYearSelectProps =\n CerberusPrimitiveProps<ArkDatePickerYearSelectProps>\nexport const DatePickerYearSelect = withNoRecipe(DatePicker.YearSelect)\n\n/**\n * The month select input component of the DatePicker. This primitive has no\n * Cerberus styles.\n */\nexport type DatePickerMonthSelectProps =\n CerberusPrimitiveProps<ArkDatePickerMonthSelectProps>\nexport const DatePickerMonthSelect = withNoRecipe(DatePicker.MonthSelect)\n\n/**\n * The day view component of the DatePicker. This primitive has no Cerberus\n * styles.\n */\nexport type DatePickerViewProps = CerberusPrimitiveProps<ArkDatePickerViewProps>\nexport const DatePickerView = withNoRecipe(DatePicker.View)\n\n/**\n * The day context component of the DatePicker. This primitive has no\n * Cerberus styles.\n */\nexport type DatePickerContextProps =\n CerberusPrimitiveProps<ArkDatePickerContextProps>\nexport const DatePickerContext = DatePicker.Context\n\n/**\n * The trigger component of the DatePicker. This primitive has no Cerberus\n * styles.\n */\nexport type DatePickerPrevTriggerProps =\n CerberusPrimitiveProps<ArkDatePickerPrevTriggerProps>\nexport const DatePickerPrevTrigger = withNoRecipe(DatePicker.PrevTrigger)\n\n/**\n * The trigger component of the DatePicker. This primitive has no Cerberus\n * styles.\n */\nexport type DatePickerNextTriggerProps =\n CerberusPrimitiveProps<ArkDatePickerNextTriggerProps>\nexport const DatePickerNextTrigger = withNoRecipe(DatePicker.NextTrigger)\n\n/**\n * The trigger component of the DatePicker. This primitive has no Cerberus\n * styles.\n */\nexport type DatePickerViewTriggerProps =\n CerberusPrimitiveProps<ArkDatePickerViewTriggerProps>\nexport const DatePickerViewTrigger = withNoRecipe(DatePicker.ViewTrigger)\n\n/**\n * The table head component of the DatePicker. This primitive has no Cerberus\n * styles.\n */\nexport type DatePickerTableHeadProps =\n CerberusPrimitiveProps<ArkDatePickerTableHeadProps>\nexport const DatePickerTableHead = withNoRecipe(DatePicker.TableHead)\n\n/**\n * The table row component of the DatePicker. This primitive has no Cerberus\n * styles.\n */\nexport type DatePickerTableRowProps =\n CerberusPrimitiveProps<ArkDatePickerTableRowProps>\nexport const DatePickerTableRow = withNoRecipe(DatePicker.TableRow)\n\n/**\n * The table body component of the DatePicker. This primitive has no Cerberus\n * styles.\n */\nexport type DatePickerTableBodyProps =\n CerberusPrimitiveProps<ArkDatePickerTableBodyProps>\nexport const DatePickerTableBody = withNoRecipe(DatePicker.TableBody)\n","import { css, cx } from 'styled-system/css'\nimport type { RecipeVariantRecord } from 'styled-system/types'\nimport {\n type ComponentType,\n type ElementType,\n type HTMLAttributes,\n type PropsWithChildren,\n} from 'react'\nimport type { WithCss } from '../types'\nimport type {\n CerberusPrimitiveEl,\n CerberusPrimitiveRecipe,\n CerberusRecipe,\n CerberusSlotRecipe,\n WithRecipeOptions,\n} from './types'\n\n/**\n * This module contains a factory for creating Cerberus primitives.\n * @module @cerberus/core/system/factory\n */\n\nexport class CerberusPrimitive {\n recipe: CerberusPrimitiveRecipe | null\n\n constructor(recipe?: CerberusPrimitiveRecipe) {\n this.recipe = recipe ?? null\n }\n\n private hasStyles(styles: string | undefined): Record<string, unknown> {\n if (styles) {\n return {\n className: styles,\n }\n }\n return {}\n }\n\n private validateComponent<P extends HTMLAttributes<unknown>>(\n Component: ComponentType<P> | string,\n ) {\n if (typeof Component !== 'function' && typeof Component !== 'object') {\n return false\n }\n return true\n }\n\n /**\n * Creates a Cerberus component with bare features and no recipe.\n * @param Component - The React component to enhance with Cerberus features.\n * Can be a string or a component reference.\n * @returns A new React component that applies Cerberus features to the\n * original component.\n *\n * @example\n * ```ts\n * const { withNoRecipe } = createCerberusPrimitive(buttonRecipe)\n * const Button = withNoRecipe('button')\n * ```\n */\n withNoRecipe = <P extends HTMLAttributes<unknown>>(\n Component: ComponentType<P> | string,\n options?: WithRecipeOptions,\n ): CerberusPrimitiveEl<P> => {\n const { defaultProps } = options || {}\n const El = Component as ComponentType<P> | ElementType\n\n const CerbComponent = (props: PropsWithChildren<P> & WithCss) => {\n const { css: customCss, className, ...nativeProps } = props\n const styles = this.hasStyles(cx(className, css(customCss)))\n return <El {...defaultProps} {...styles} {...(nativeProps as P)} />\n }\n\n if (this.validateComponent(El)) {\n const ElName = typeof El === 'string' ? El : El.displayName || El.name\n CerbComponent.displayName = ElName\n }\n\n return CerbComponent\n }\n\n /**\n * Creates a Cerberus component with the given recipe.\n * @param Component - The React component to enhance with the recipe.\n * @param options - Options for the recipe.\n * @returns A new React component that applies the recipe to the original\n * component.\n */\n withRecipe = <P extends HTMLAttributes<unknown>>(\n Component: ComponentType<P> | string,\n options?: WithRecipeOptions,\n ): CerberusPrimitiveEl<P & WithRecipeOptions['defaultProps']> => {\n const { defaultProps } = options || {}\n const El = Component as ComponentType<P> | ElementType\n\n const recipe = this.recipe as CerberusRecipe\n\n const CerbComponent = (internalProps: PropsWithChildren<P> & WithCss) => {\n const {\n css: customCss,\n className,\n ...restOfInternalProps\n } = internalProps\n\n const [variantOptions, nativeProps] =\n recipe.splitVariantProps(restOfInternalProps)\n const recipeStyles = recipe(variantOptions)\n\n return (\n <Component\n {...defaultProps}\n {...(nativeProps as P)}\n className={cx(className, recipeStyles, css(customCss))}\n />\n )\n }\n\n if (this.validateComponent(El)) {\n const ElName = typeof El === 'string' ? El : El.displayName || El.name\n CerbComponent.displayName = ElName\n }\n\n return CerbComponent\n }\n\n /**\n * Creates a Cerberus component with a slot recipe applied.\n * @param Component - The React component to enhance with Cerberus features.\n * @param recipe - The slot recipe to apply to the component.\n * @returns A new React component that applies Cerberus features and the\n * specified slot recipe to the original component.\n * @example\n * ```typescript\n * const { withSlotRecipe } = createCerberusPrimitive(field)\n * const Field = withSlotRecipe(RawField, field)\n * ```\n */\n withSlotRecipe = <P extends HTMLAttributes<unknown>>(\n Component: ComponentType<P> | string,\n slot: keyof RecipeVariantRecord,\n options?: WithRecipeOptions,\n ) => {\n const { defaultProps } = options || {}\n const El = Component as ComponentType<P> | ElementType\n\n const recipe = this.recipe as CerberusSlotRecipe<typeof slot>\n\n const CerbComponent = (internalProps: PropsWithChildren<P> & WithCss) => {\n const {\n css: customCss,\n className,\n ...restOfInternalProps\n } = internalProps\n\n const [variantOptions, nativeProps] =\n recipe.splitVariantProps(restOfInternalProps)\n const styles = recipe(variantOptions)\n const slotStyles = styles[slot as keyof typeof styles]\n\n return (\n <Component\n {...defaultProps}\n {...(nativeProps as P)}\n className={cx(className, slotStyles, css(customCss))}\n />\n )\n }\n\n if (this.validateComponent(El)) {\n const ElName = typeof El === 'string' ? El : El.displayName || El.name\n CerbComponent.displayName = ElName\n }\n\n return CerbComponent\n }\n}\n","import { CerberusPrimitive } from './primitive-factory'\nimport type { CerberusFactory, CerberusPrimitiveRecipe } from './types'\nimport { cerberusFactoryProxy } from './factory'\n\n/**\n * This module contains the user interface for creating Cerberus primitives.\n * @module @cerberus/core/system/create-cerb-primitive\n */\n\n/**\n * A factory function that creates a Cerberus primitive instance with the given\n * recipe.\n * @param recipe\n * @returns An object with three methods: `withNoRecipe`, `withRecipe`, and `withSlotRecipe` that\n * apply the recipes and special Cerberus helpers like `css`.\n *\n * @example\n * ```tsx\n * const { withRecipe } = createCerberusPrimitive(myCustomRecipe);\n * export const Button = withRecipe(MyCustomButton)\n * ```\n */\nexport function createCerberusPrimitive<T extends CerberusPrimitiveRecipe>(\n recipe?: T,\n) {\n return new CerberusPrimitive(recipe)\n}\n\n/**\n * A utility function to access Cerberus components by their name.\n * @param component - The name of the Cerberus component to access.\n * @returns The Cerberus component corresponding to the provided name.\n * @throws An error if the component name is not valid.\n *\n * @example\n * ```tsx\n * import { cerberus } from '@cerberus/react'\n * const Button = cerberus('button')\n *\n * <Button css={{ color: 'blue' }} asChild>\n * <Link href=\"/some-page\">Click me</Link>\n * </Button>\n * ```\n */\nexport const cerberus = cerberusFactoryProxy as CerberusFactory\n\nexport * from './types'\n","import type { ElementType } from 'react'\nimport {\n DatePickerClearTrigger,\n DatePickerContent,\n DatePickerContext,\n DatePickerControl,\n DatePickerInputEl,\n DatePickerLabel,\n DatePickerMonthSelect,\n DatePickerNextTrigger,\n DatePickerPositioner,\n DatePickerPrevTrigger,\n DatePickerRangeText,\n DatePickerRoot,\n DatePickerTable,\n DatePickerTableBody,\n DatePickerTableCell,\n DatePickerTableCellTrigger,\n DatePickerTableHead,\n DatePickerTableHeader,\n DatePickerTableRow,\n DatePickerTrigger,\n DatePickerView,\n DatePickerViewControl,\n DatePickerViewTrigger,\n DatePickerYearSelect,\n} from './primitives'\n\n/**\n * This module contains the parts of the DatePicker component.\n * @module 'date-picker/parts'\n */\n\ninterface DatePickerPartsValue {\n /**\n * The container of the date-picker.\n */\n Root: ElementType\n /**\n * The label of the date-picker.\n */\n Label: ElementType\n /**\n * The control of the date-picker.\n */\n Control: ElementType\n /**\n * The input of the date-picker.\n */\n Input: ElementType\n /**\n * The trigger that opens the date-picker.\n */\n Trigger: ElementType\n /**\n * The trigger that clears the value of the date-picker.\n */\n ClearTrigger: ElementType\n /**\n * The positioner of the content for the date-picker.\n */\n Positioner: ElementType\n /**\n * The content of the date-picker.\n */\n Content: ElementType\n /**\n * The year select input of the date-picker.\n */\n YearSelect: ElementType\n /**\n * The month select input of the date-picker.\n */\n MonthSelect: ElementType\n /**\n * The day view of the date-picker.\n */\n View: ElementType\n /**\n * The day context of the date-picker.\n */\n Context: ElementType\n /**\n * The container for the content triggers.\n */\n ViewControl: ElementType\n /**\n * The trigger that moves to the previous month.\n */\n PrevTrigger: ElementType\n /**\n * The trigger that moves to the next month.\n */\n NextTrigger: ElementType\n /**\n * The trigger that moves to the next view.\n */\n ViewTrigger: ElementType\n /**\n * The range text of the date-picker.\n */\n RangeText: ElementType\n /**\n * The table of the date-picker.\n */\n Table: ElementType\n /**\n * The table head of the date-picker.\n */\n TableHead: ElementType\n /**\n * The table row of the date-picker.\n */\n TableRow: ElementType\n /**\n * The header text for the table.\n */\n TableHeader: ElementType\n /**\n * The body of the table.\n */\n TableBody: ElementType\n /**\n * The table cell of the table.\n */\n TableCell: ElementType\n /**\n * The trigger for the table cell.\n */\n TableCellTrigger: ElementType\n}\n\n/**\n * An Object containing the parts of the DatePicker component. For users that\n * prefer Object component syntax.\n *\n * @remarks\n *\n * When using object component syntax, you import the DatePickerParts object and\n * the entire family of components vs. only what you use.\n */\nexport const DatePickerParts: DatePickerPartsValue = {\n Root: DatePickerRoot,\n Label: DatePickerLabel,\n Control: DatePickerControl,\n Input: DatePickerInputEl,\n Trigger: DatePickerTrigger,\n ClearTrigger: DatePickerClearTrigger,\n Positioner: DatePickerPositioner,\n Content: DatePickerContent,\n YearSelect: DatePickerYearSelect,\n MonthSelect: DatePickerMonthSelect,\n View: DatePickerView,\n Context: DatePickerContext,\n ViewControl: DatePickerViewControl,\n PrevTrigger: DatePickerPrevTrigger,\n NextTrigger: DatePickerNextTrigger,\n ViewTrigger: DatePickerViewTrigger,\n RangeText: DatePickerRangeText,\n Table: DatePickerTable,\n TableHead: DatePickerTableHead,\n TableRow: DatePickerTableRow,\n TableHeader: DatePickerTableHeader,\n TableBody: DatePickerTableBody,\n TableCell: DatePickerTableCell,\n TableCellTrigger: DatePickerTableCellTrigger,\n}\n","'use client'\n\nimport { css } from 'styled-system/css'\nimport { useCerberusContext } from '../../context/cerberus'\nimport { Button } from '../button/button'\nimport { IconButton } from '../icon-button/index'\nimport { DatePickerParts } from './parts'\nimport type { DatePickerViewControlProps } from './primitives'\n\n/**\n * This private module contains an abstraction of the DatePickerViewControl\n * primitive.\n * @module 'date-picker/view-control-group'\n */\n\n/**\n * An abstraction of the DatePicker control that contains the prev, view, and\n * next triggers which control the calendar output.\n * @definition [datePicker docs](https://cerberus.digitalu.design/react/date-picker)\n */\nexport function DatePickerViewControlGroup(props: DatePickerViewControlProps) {\n const { icons } = useCerberusContext()\n const { calendarPrev: PrevIcon, calendarNext: NextIcon } = icons\n\n return (\n <DatePickerParts.ViewControl {...props}>\n <DatePickerParts.PrevTrigger asChild>\n <IconButton ariaLabel=\"Previous\" size=\"sm\">\n <PrevIcon />\n </IconButton>\n </DatePickerParts.PrevTrigger>\n\n <DatePickerParts.ViewTrigger asChild>\n <Button\n className={css({\n h: '2rem',\n paddingInline: 'md',\n })}\n shape=\"rounded\"\n size=\"sm\"\n usage=\"ghost\"\n >\n <DatePickerParts.RangeText />\n </Button>\n </DatePickerParts.ViewTrigger>\n\n <DatePickerParts.NextTrigger asChild>\n <IconButton ariaLabel=\"Next\" size=\"sm\">\n <NextIcon />\n </IconButton>\n </DatePickerParts.NextTrigger>\n </DatePickerParts.ViewControl>\n )\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","'use client'\n\nimport { type HTMLArkProps } from '@ark-ui/react/factory'\nimport {\n type PropsWithChildren,\n createContext,\n useContext,\n useMemo,\n} from 'react'\nimport { type ButtonVariantProps } from 'styled-system/recipes'\nimport { Box } from 'styled-system/jsx'\nimport type { CerberusPrimitiveProps } from '../../system/types'\nimport { Show } from '../show/index'\nimport { Spinner } from '../spinner/index'\nimport { ButtonRoot } from './primitives'\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 = CerberusPrimitiveProps<\n HTMLArkProps<'button'> &\n ButtonVariantProps & {\n pending?: boolean\n }\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) {\n const { pending = false, ...nativeProps } = props\n const value = useMemo(() => ({ pending }), [pending])\n return (\n <ButtonContext.Provider value={value}>\n <ButtonRoot {...nativeProps} disabled={pending || nativeProps.disabled} />\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","import { ark } from '@ark-ui/react/factory'\nimport { button } from 'styled-system/recipes'\nimport { createCerberusPrimitive } from '../../system/index'\n\n/**\n * This module contains the Button component primitives.\n * @module @cerberus-design/react/components/button/primitives\n */\n\nconst { withRecipe } = createCerberusPrimitive(button)\n\n/**\n * The root element of the Button component.\n */\nexport const ButtonRoot = withRecipe(ark.button)\n","import { ark, type HTMLArkProps } from '@ark-ui/react/factory'\nimport { iconButton, type IconButtonVariantProps } from 'styled-system/recipes'\nimport {\n createCerberusPrimitive,\n type CerberusPrimitiveProps,\n} from '../../system/index'\n\n/**\n * This module contains the IconButton component primitives.\n * @module @cerberus-design/react/components/icon-button/primitives\n */\n\nconst { withRecipe } = createCerberusPrimitive(iconButton)\n\n/**\n * The root element of the Button component.\n */\nexport type IconButtonRootProps = CerberusPrimitiveProps<\n HTMLArkProps<'button'> & IconButtonVariantProps\n>\nexport const IconButtonRoot = withRecipe(ark.button)\n","import { IconButtonRoot, type IconButtonRootProps } from './primitives'\n\n/**\n * This module contains the Icon Button component.\n * @module\n */\n\nexport interface IconButtonProps extends IconButtonRootProps {\n /**\n * The aria-label attribute for the icon button.\n */\n ariaLabel: string\n}\n\n/**\n * A component that allows the user to perform actions using an icon\n * @see https://cerberus.digitalu.design/react/icon-button\n */\nexport function IconButton(props: IconButtonProps) {\n const { ariaLabel, ...rootProps } = props\n return (\n <IconButtonRoot {...rootProps} aria-label={ariaLabel ?? 'Icon Button'} />\n )\n}\n"],"mappings":"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","names":["import_css","import_jsx_runtime","import_react","import_recipes","import_jsx_runtime","import_factory","import_recipes","withRecipe","import_jsx_runtime","import_jsx_runtime","import_jsx_runtime","id"]}
@@ -72,23 +72,28 @@ var CerberusPrimitive = class {
72
72
  /**
73
73
  * Creates a Cerberus component with bare features and no recipe.
74
74
  * @param Component - The React component to enhance with Cerberus features.
75
+ * Can be a string or a component reference.
75
76
  * @returns A new React component that applies Cerberus features to the
76
77
  * original component.
78
+ *
77
79
  * @example
78
- * ```typescript
79
- * const { withNoRecipe } = createCerberusPrimitive(button)
80
- * const Button = withNoRecipe(RawButton)
80
+ * ```ts
81
+ * const { withNoRecipe } = createCerberusPrimitive(buttonRecipe)
82
+ * const Button = withNoRecipe('button')
81
83
  * ```
82
84
  */
83
85
  __publicField(this, "withNoRecipe", (Component, options) => {
84
86
  const { defaultProps } = options || {};
85
- this.validateComponent(Component);
87
+ const El = Component;
86
88
  const CerbComponent = (props) => {
87
89
  const { css: customCss, className, ...nativeProps } = props;
88
90
  const styles = this.hasStyles((0, import_css.cx)(className, (0, import_css.css)(customCss)));
89
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Component, { ...defaultProps, ...styles, ...nativeProps });
91
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(El, { ...defaultProps, ...styles, ...nativeProps });
90
92
  };
91
- CerbComponent.displayName = Component.displayName || Component.name;
93
+ if (this.validateComponent(El)) {
94
+ const ElName = typeof El === "string" ? El : El.displayName || El.name;
95
+ CerbComponent.displayName = ElName;
96
+ }
92
97
  return CerbComponent;
93
98
  });
94
99
  /**
@@ -100,8 +105,8 @@ var CerberusPrimitive = class {
100
105
  */
101
106
  __publicField(this, "withRecipe", (Component, options) => {
102
107
  const { defaultProps } = options || {};
108
+ const El = Component;
103
109
  const recipe = this.recipe;
104
- this.validateComponent(Component);
105
110
  const CerbComponent = (internalProps) => {
106
111
  const {
107
112
  css: customCss,
@@ -119,7 +124,10 @@ var CerberusPrimitive = class {
119
124
  }
120
125
  );
121
126
  };
122
- CerbComponent.displayName = Component.displayName || Component.name;
127
+ if (this.validateComponent(El)) {
128
+ const ElName = typeof El === "string" ? El : El.displayName || El.name;
129
+ CerbComponent.displayName = ElName;
130
+ }
123
131
  return CerbComponent;
124
132
  });
125
133
  /**
@@ -136,8 +144,8 @@ var CerberusPrimitive = class {
136
144
  */
137
145
  __publicField(this, "withSlotRecipe", (Component, slot, options) => {
138
146
  const { defaultProps } = options || {};
147
+ const El = Component;
139
148
  const recipe = this.recipe;
140
- this.validateComponent(Component);
141
149
  const CerbComponent = (internalProps) => {
142
150
  const {
143
151
  css: customCss,
@@ -156,7 +164,10 @@ var CerberusPrimitive = class {
156
164
  }
157
165
  );
158
166
  };
159
- CerbComponent.displayName = Component.displayName || Component.name;
167
+ if (this.validateComponent(El)) {
168
+ const ElName = typeof El === "string" ? El : El.displayName || El.name;
169
+ CerbComponent.displayName = ElName;
170
+ }
160
171
  return CerbComponent;
161
172
  });
162
173
  this.recipe = recipe ?? null;
@@ -171,8 +182,9 @@ var CerberusPrimitive = class {
171
182
  }
172
183
  validateComponent(Component) {
173
184
  if (typeof Component !== "function" && typeof Component !== "object") {
174
- throw new Error("Expected a React component as the first argument.");
185
+ return false;
175
186
  }
187
+ return true;
176
188
  }
177
189
  };
178
190