@cerberus-design/react 0.19.1 → 0.19.2
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.
- package/build/legacy/_tsup-dts-rollup.d.cts +11 -1
- package/build/legacy/components/accordion/index.cjs +12 -4
- package/build/legacy/components/accordion/index.cjs.map +1 -1
- package/build/legacy/components/accordion/item-group.cjs +12 -4
- package/build/legacy/components/accordion/item-group.cjs.map +1 -1
- package/build/legacy/components/accordion/item-indicator.cjs +12 -4
- package/build/legacy/components/accordion/item-indicator.cjs.map +1 -1
- package/build/legacy/components/accordion/parts.cjs +12 -4
- package/build/legacy/components/accordion/parts.cjs.map +1 -1
- package/build/legacy/components/accordion/primitives.cjs +12 -4
- package/build/legacy/components/accordion/primitives.cjs.map +1 -1
- package/build/legacy/components/admonition/admonition.cjs +12 -4
- package/build/legacy/components/admonition/admonition.cjs.map +1 -1
- package/build/legacy/components/admonition/index.cjs +12 -4
- package/build/legacy/components/admonition/index.cjs.map +1 -1
- package/build/legacy/components/admonition/match-avatar.cjs +12 -4
- package/build/legacy/components/admonition/match-avatar.cjs.map +1 -1
- package/build/legacy/components/admonition/parts.cjs +12 -4
- package/build/legacy/components/admonition/parts.cjs.map +1 -1
- package/build/legacy/components/admonition/primitives.cjs +12 -4
- package/build/legacy/components/admonition/primitives.cjs.map +1 -1
- package/build/legacy/components/avatar/avatar.cjs +12 -4
- package/build/legacy/components/avatar/avatar.cjs.map +1 -1
- package/build/legacy/components/avatar/index.cjs +12 -4
- package/build/legacy/components/avatar/index.cjs.map +1 -1
- package/build/legacy/components/avatar/parts.cjs +12 -4
- package/build/legacy/components/avatar/parts.cjs.map +1 -1
- package/build/legacy/components/avatar/primitives.cjs +12 -4
- package/build/legacy/components/avatar/primitives.cjs.map +1 -1
- package/build/legacy/components/button/button.cjs +12 -4
- package/build/legacy/components/button/button.cjs.map +1 -1
- package/build/legacy/components/button/index.cjs +12 -4
- package/build/legacy/components/button/index.cjs.map +1 -1
- package/build/legacy/components/button/parts.cjs +12 -4
- package/build/legacy/components/button/parts.cjs.map +1 -1
- package/build/legacy/components/button/primitives.cjs +12 -4
- package/build/legacy/components/button/primitives.cjs.map +1 -1
- package/build/legacy/components/checkbox/checkbox-icon.cjs +12 -4
- package/build/legacy/components/checkbox/checkbox-icon.cjs.map +1 -1
- package/build/legacy/components/checkbox/checkbox.cjs +12 -4
- package/build/legacy/components/checkbox/checkbox.cjs.map +1 -1
- package/build/legacy/components/checkbox/index.cjs +12 -4
- package/build/legacy/components/checkbox/index.cjs.map +1 -1
- package/build/legacy/components/checkbox/parts.cjs +12 -4
- package/build/legacy/components/checkbox/parts.cjs.map +1 -1
- package/build/legacy/components/checkbox/primitives.cjs +12 -4
- package/build/legacy/components/checkbox/primitives.cjs.map +1 -1
- package/build/legacy/components/circular-progress/circular-progress.cjs +12 -4
- package/build/legacy/components/circular-progress/circular-progress.cjs.map +1 -1
- package/build/legacy/components/circular-progress/index.cjs +12 -4
- package/build/legacy/components/circular-progress/index.cjs.map +1 -1
- package/build/legacy/components/circular-progress/primitives.cjs +12 -4
- package/build/legacy/components/circular-progress/primitives.cjs.map +1 -1
- package/build/legacy/components/combobox/combobox.cjs +12 -4
- package/build/legacy/components/combobox/combobox.cjs.map +1 -1
- package/build/legacy/components/combobox/index.cjs +12 -4
- package/build/legacy/components/combobox/index.cjs.map +1 -1
- package/build/legacy/components/combobox/item-group.cjs +12 -4
- package/build/legacy/components/combobox/item-group.cjs.map +1 -1
- package/build/legacy/components/combobox/item.cjs +12 -4
- package/build/legacy/components/combobox/item.cjs.map +1 -1
- package/build/legacy/components/combobox/parts.cjs +12 -4
- package/build/legacy/components/combobox/parts.cjs.map +1 -1
- package/build/legacy/components/combobox/primitives.cjs +12 -4
- package/build/legacy/components/combobox/primitives.cjs.map +1 -1
- package/build/legacy/components/combobox/use-stateful-collection.cjs +12 -4
- package/build/legacy/components/combobox/use-stateful-collection.cjs.map +1 -1
- package/build/legacy/components/cta-dialog/index.cjs +12 -4
- package/build/legacy/components/cta-dialog/index.cjs.map +1 -1
- package/build/legacy/components/cta-dialog/provider.cjs +12 -4
- package/build/legacy/components/cta-dialog/provider.cjs.map +1 -1
- package/build/legacy/components/cta-dialog/trigger-item.cjs +12 -4
- package/build/legacy/components/cta-dialog/trigger-item.cjs.map +1 -1
- package/build/legacy/components/date-picker/calendar.cjs +12 -4
- package/build/legacy/components/date-picker/calendar.cjs.map +1 -1
- package/build/legacy/components/date-picker/content.cjs +12 -4
- package/build/legacy/components/date-picker/content.cjs.map +1 -1
- package/build/legacy/components/date-picker/date-picker.cjs +12 -4
- package/build/legacy/components/date-picker/date-picker.cjs.map +1 -1
- package/build/legacy/components/date-picker/day-view.cjs +12 -4
- package/build/legacy/components/date-picker/day-view.cjs.map +1 -1
- package/build/legacy/components/date-picker/index.cjs +12 -4
- package/build/legacy/components/date-picker/index.cjs.map +1 -1
- package/build/legacy/components/date-picker/input.cjs +12 -4
- package/build/legacy/components/date-picker/input.cjs.map +1 -1
- package/build/legacy/components/date-picker/month-view.cjs +12 -4
- package/build/legacy/components/date-picker/month-view.cjs.map +1 -1
- package/build/legacy/components/date-picker/parts.cjs +12 -4
- package/build/legacy/components/date-picker/parts.cjs.map +1 -1
- package/build/legacy/components/date-picker/primitives.cjs +12 -4
- package/build/legacy/components/date-picker/primitives.cjs.map +1 -1
- package/build/legacy/components/date-picker/range-input.cjs +12 -4
- package/build/legacy/components/date-picker/range-input.cjs.map +1 -1
- package/build/legacy/components/date-picker/trigger.cjs +12 -4
- package/build/legacy/components/date-picker/trigger.cjs.map +1 -1
- package/build/legacy/components/date-picker/view-control-group.cjs +12 -4
- package/build/legacy/components/date-picker/view-control-group.cjs.map +1 -1
- package/build/legacy/components/date-picker/year-view.cjs +12 -4
- package/build/legacy/components/date-picker/year-view.cjs.map +1 -1
- package/build/legacy/components/deprecated/Label.cjs +12 -4
- package/build/legacy/components/deprecated/Label.cjs.map +1 -1
- package/build/legacy/components/dialog/close-icon-trigger.cjs +12 -4
- package/build/legacy/components/dialog/close-icon-trigger.cjs.map +1 -1
- package/build/legacy/components/dialog/dialog.cjs +12 -4
- package/build/legacy/components/dialog/dialog.cjs.map +1 -1
- package/build/legacy/components/dialog/index.cjs +12 -4
- package/build/legacy/components/dialog/index.cjs.map +1 -1
- package/build/legacy/components/dialog/parts.cjs +12 -4
- package/build/legacy/components/dialog/parts.cjs.map +1 -1
- package/build/legacy/components/dialog/primitives.cjs +12 -4
- package/build/legacy/components/dialog/primitives.cjs.map +1 -1
- package/build/legacy/components/field/field.cjs +12 -4
- package/build/legacy/components/field/field.cjs.map +1 -1
- package/build/legacy/components/field/helper-text.cjs +12 -4
- package/build/legacy/components/field/helper-text.cjs.map +1 -1
- package/build/legacy/components/field/index.cjs +14 -5
- package/build/legacy/components/field/index.cjs.map +1 -1
- package/build/legacy/components/field/input.cjs +14 -5
- package/build/legacy/components/field/input.cjs.map +1 -1
- package/build/legacy/components/field/parts.cjs +14 -5
- package/build/legacy/components/field/parts.cjs.map +1 -1
- package/build/legacy/components/field/primitives.cjs +14 -5
- package/build/legacy/components/field/primitives.cjs.map +1 -1
- package/build/legacy/components/field/status-indicator.cjs +2 -1
- package/build/legacy/components/field/status-indicator.cjs.map +1 -1
- package/build/legacy/components/fieldset/fieldset.cjs +12 -4
- package/build/legacy/components/fieldset/fieldset.cjs.map +1 -1
- package/build/legacy/components/fieldset/index.cjs +12 -4
- package/build/legacy/components/fieldset/index.cjs.map +1 -1
- package/build/legacy/components/fieldset/parts.cjs +12 -4
- package/build/legacy/components/fieldset/parts.cjs.map +1 -1
- package/build/legacy/components/fieldset/primitives.cjs +12 -4
- package/build/legacy/components/fieldset/primitives.cjs.map +1 -1
- package/build/legacy/components/file-upload/file-status.cjs +13 -5
- package/build/legacy/components/file-upload/file-status.cjs.map +1 -1
- package/build/legacy/components/file-upload/file-uploader.cjs +12 -4
- package/build/legacy/components/file-upload/file-uploader.cjs.map +1 -1
- package/build/legacy/components/file-upload/index.cjs +13 -5
- package/build/legacy/components/file-upload/index.cjs.map +1 -1
- package/build/legacy/components/icon-button/button.cjs +12 -4
- package/build/legacy/components/icon-button/button.cjs.map +1 -1
- package/build/legacy/components/icon-button/index.cjs +12 -4
- package/build/legacy/components/icon-button/index.cjs.map +1 -1
- package/build/legacy/components/icon-button/primitives.cjs +12 -4
- package/build/legacy/components/icon-button/primitives.cjs.map +1 -1
- package/build/legacy/components/menu/index.cjs +12 -4
- package/build/legacy/components/menu/index.cjs.map +1 -1
- package/build/legacy/components/menu/menu.cjs +12 -4
- package/build/legacy/components/menu/menu.cjs.map +1 -1
- package/build/legacy/components/menu/primitives.cjs +12 -4
- package/build/legacy/components/menu/primitives.cjs.map +1 -1
- package/build/legacy/components/notifications/center.cjs +12 -4
- package/build/legacy/components/notifications/center.cjs.map +1 -1
- package/build/legacy/components/notifications/close-trigger.cjs +12 -4
- package/build/legacy/components/notifications/close-trigger.cjs.map +1 -1
- package/build/legacy/components/notifications/index.cjs +12 -4
- package/build/legacy/components/notifications/index.cjs.map +1 -1
- package/build/legacy/components/notifications/parts.cjs +12 -4
- package/build/legacy/components/notifications/parts.cjs.map +1 -1
- package/build/legacy/components/notifications/primitives.cjs +12 -4
- package/build/legacy/components/notifications/primitives.cjs.map +1 -1
- package/build/legacy/components/progress/index.cjs +12 -4
- package/build/legacy/components/progress/index.cjs.map +1 -1
- package/build/legacy/components/progress/primitives.cjs +12 -4
- package/build/legacy/components/progress/primitives.cjs.map +1 -1
- package/build/legacy/components/progress/progress-bar.cjs +12 -4
- package/build/legacy/components/progress/progress-bar.cjs.map +1 -1
- package/build/legacy/components/radio/index.cjs +12 -4
- package/build/legacy/components/radio/index.cjs.map +1 -1
- package/build/legacy/components/radio/parts.cjs +12 -4
- package/build/legacy/components/radio/parts.cjs.map +1 -1
- package/build/legacy/components/radio/primitives.cjs +12 -4
- package/build/legacy/components/radio/primitives.cjs.map +1 -1
- package/build/legacy/components/radio/radio.cjs +12 -4
- package/build/legacy/components/radio/radio.cjs.map +1 -1
- package/build/legacy/components/rating/index.cjs +12 -4
- package/build/legacy/components/rating/index.cjs.map +1 -1
- package/build/legacy/components/rating/parts.cjs +12 -4
- package/build/legacy/components/rating/parts.cjs.map +1 -1
- package/build/legacy/components/rating/primitives.cjs +12 -4
- package/build/legacy/components/rating/primitives.cjs.map +1 -1
- package/build/legacy/components/rating/rating.cjs +12 -4
- package/build/legacy/components/rating/rating.cjs.map +1 -1
- package/build/legacy/components/select/index.cjs +12 -4
- package/build/legacy/components/select/index.cjs.map +1 -1
- package/build/legacy/components/select/option-group.cjs +12 -4
- package/build/legacy/components/select/option-group.cjs.map +1 -1
- package/build/legacy/components/select/option.cjs +12 -4
- package/build/legacy/components/select/option.cjs.map +1 -1
- package/build/legacy/components/select/parts.cjs +12 -4
- package/build/legacy/components/select/parts.cjs.map +1 -1
- package/build/legacy/components/select/primitives.cjs +12 -4
- package/build/legacy/components/select/primitives.cjs.map +1 -1
- package/build/legacy/components/select/select.cjs +12 -4
- package/build/legacy/components/select/select.cjs.map +1 -1
- package/build/legacy/components/switch/index.cjs +12 -4
- package/build/legacy/components/switch/index.cjs.map +1 -1
- package/build/legacy/components/switch/parts.cjs +12 -4
- package/build/legacy/components/switch/parts.cjs.map +1 -1
- package/build/legacy/components/switch/primitives.cjs +12 -4
- package/build/legacy/components/switch/primitives.cjs.map +1 -1
- package/build/legacy/components/switch/switch.cjs +12 -4
- package/build/legacy/components/switch/switch.cjs.map +1 -1
- package/build/legacy/components/table/index.cjs +12 -4
- package/build/legacy/components/table/index.cjs.map +1 -1
- package/build/legacy/components/table/parts.cjs +12 -4
- package/build/legacy/components/table/parts.cjs.map +1 -1
- package/build/legacy/components/table/primitives.cjs +12 -4
- package/build/legacy/components/table/primitives.cjs.map +1 -1
- package/build/legacy/components/table/table.cjs +12 -4
- package/build/legacy/components/table/table.cjs.map +1 -1
- package/build/legacy/components/tabs/index.cjs +12 -4
- package/build/legacy/components/tabs/index.cjs.map +1 -1
- package/build/legacy/components/tabs/parts.cjs +12 -4
- package/build/legacy/components/tabs/parts.cjs.map +1 -1
- package/build/legacy/components/tabs/primitives.cjs +12 -4
- package/build/legacy/components/tabs/primitives.cjs.map +1 -1
- package/build/legacy/components/tabs/tabs.cjs +12 -4
- package/build/legacy/components/tabs/tabs.cjs.map +1 -1
- package/build/legacy/components/tag/index.cjs +12 -4
- package/build/legacy/components/tag/index.cjs.map +1 -1
- package/build/legacy/components/tag/tag.cjs +12 -4
- package/build/legacy/components/tag/tag.cjs.map +1 -1
- package/build/legacy/components/theme/index.cjs +12 -4
- package/build/legacy/components/theme/index.cjs.map +1 -1
- package/build/legacy/components/theme/theme.cjs +12 -4
- package/build/legacy/components/theme/theme.cjs.map +1 -1
- package/build/legacy/components/toggle/index.cjs +12 -4
- package/build/legacy/components/toggle/index.cjs.map +1 -1
- package/build/legacy/components/toggle/parts.cjs +12 -4
- package/build/legacy/components/toggle/parts.cjs.map +1 -1
- package/build/legacy/components/toggle/primitives.cjs +12 -4
- package/build/legacy/components/toggle/primitives.cjs.map +1 -1
- package/build/legacy/components/tooltip/index.cjs +12 -4
- package/build/legacy/components/tooltip/index.cjs.map +1 -1
- package/build/legacy/components/tooltip/parts.cjs +12 -4
- package/build/legacy/components/tooltip/parts.cjs.map +1 -1
- package/build/legacy/components/tooltip/primitives.cjs +12 -4
- package/build/legacy/components/tooltip/primitives.cjs.map +1 -1
- package/build/legacy/components/tooltip/tooltip.cjs +12 -4
- package/build/legacy/components/tooltip/tooltip.cjs.map +1 -1
- package/build/legacy/context/confirm-modal.cjs +12 -4
- package/build/legacy/context/confirm-modal.cjs.map +1 -1
- package/build/legacy/context/field.cjs +12 -4
- package/build/legacy/context/field.cjs.map +1 -1
- package/build/legacy/context/prompt-modal.cjs +14 -5
- package/build/legacy/context/prompt-modal.cjs.map +1 -1
- package/build/legacy/index.cjs +15 -6
- package/build/legacy/index.cjs.map +1 -1
- package/build/legacy/system/factory.cjs +12 -4
- package/build/legacy/system/factory.cjs.map +1 -1
- package/build/legacy/system/index.cjs +12 -4
- package/build/legacy/system/index.cjs.map +1 -1
- package/build/legacy/system/primitive-factory.cjs +12 -4
- package/build/legacy/system/primitive-factory.cjs.map +1 -1
- package/build/legacy/types.cjs.map +1 -1
- package/build/modern/_tsup-dts-rollup.d.ts +11 -1
- package/build/modern/{chunk-4WSCG2CM.js → chunk-262PENBL.js} +3 -3
- package/build/modern/{chunk-N2DZNGUS.js → chunk-27RTYRM7.js} +2 -2
- package/build/modern/{chunk-UCP3GQOJ.js → chunk-2SBNSYYC.js} +2 -2
- package/build/modern/{chunk-ZPMGW4U7.js → chunk-2UD72VLC.js} +2 -2
- package/build/modern/{chunk-NPZJTTTS.js → chunk-2VVJATIW.js} +5 -5
- package/build/modern/{chunk-GZ6T3352.js → chunk-33OXE7IJ.js} +13 -5
- package/build/modern/chunk-33OXE7IJ.js.map +1 -0
- package/build/modern/{chunk-4DJ6KC4K.js → chunk-46QXBKGK.js} +6 -6
- package/build/modern/{chunk-KYYKBLP2.js → chunk-4ZQUC4DA.js} +2 -2
- package/build/modern/{chunk-NH2RSI7N.js → chunk-5UZUXCMO.js} +2 -2
- package/build/modern/{chunk-J3XTP6VP.js → chunk-5W6HMI2G.js} +2 -2
- package/build/modern/{chunk-ZGPHSKEB.js → chunk-5WT5BM3V.js} +3 -3
- package/build/modern/{chunk-HJ67FKQ6.js → chunk-6KGRHE3J.js} +2 -2
- package/build/modern/{chunk-BDXVYV32.js → chunk-6KIXF4ES.js} +2 -2
- package/build/modern/{chunk-IU5YJTKN.js → chunk-6P2JY52I.js} +2 -2
- package/build/modern/{chunk-YI3P5QG4.js → chunk-6XO2RTIJ.js} +2 -2
- package/build/modern/{chunk-S7ALRSVU.js → chunk-77QDH2Q5.js} +2 -2
- package/build/modern/{chunk-VXG4AEMZ.js → chunk-7GT7UUCB.js} +2 -2
- package/build/modern/{chunk-RXAHVNN2.js → chunk-7GVDVLCR.js} +2 -2
- package/build/modern/{chunk-VIUQS3VG.js → chunk-7LNGA4BX.js} +2 -2
- package/build/modern/{chunk-ALJYABJX.js → chunk-7MWSOSOY.js} +2 -2
- package/build/modern/{chunk-COIQJKC3.js → chunk-A6NEZNGY.js} +2 -2
- package/build/modern/{chunk-OMM4CPZU.js → chunk-ABMK5P66.js} +2 -2
- package/build/modern/{chunk-YVYOOJ3X.js → chunk-ADOFKGU3.js} +2 -2
- package/build/modern/{chunk-4Q62OI72.js → chunk-AHYFFHUW.js} +2 -2
- package/build/modern/{chunk-GHM4I5BN.js → chunk-BFE2SHZO.js} +3 -3
- package/build/modern/{chunk-L2G4XKLT.js → chunk-BGJIAA5F.js} +2 -2
- package/build/modern/{chunk-2OWVBM5W.js → chunk-BGZTC53N.js} +2 -2
- package/build/modern/{chunk-UKAVYSJ5.js → chunk-BS4V2YJV.js} +3 -3
- package/build/modern/{chunk-VZXYGBU6.js → chunk-BT6FMOKM.js} +2 -2
- package/build/modern/{chunk-IOK2RQK6.js → chunk-CBJ5A5BD.js} +4 -4
- package/build/modern/{chunk-KSYZMMXN.js → chunk-CI7JYXUR.js} +3 -3
- package/build/modern/{chunk-ACK44GEO.js → chunk-CKCGLHLS.js} +6 -6
- package/build/modern/{chunk-A57LVJJF.js → chunk-CYK3ZJIX.js} +2 -2
- package/build/modern/{chunk-6BNGJMNL.js → chunk-EMLKVTGD.js} +3 -3
- package/build/modern/{chunk-RDFAC3XX.js → chunk-ETYXG2J2.js} +2 -2
- package/build/modern/{chunk-WKAI4OK3.js → chunk-FIVEPZ5F.js} +2 -2
- package/build/modern/{chunk-QOTRCNC7.js → chunk-FL3J7LTC.js} +2 -2
- package/build/modern/{chunk-A655GBYQ.js → chunk-GBV7MIBU.js} +4 -4
- package/build/modern/{chunk-JG5V3AK4.js → chunk-GLH23RDO.js} +3 -3
- package/build/modern/{chunk-5XU3LUPC.js → chunk-H6ZGH4VM.js} +2 -2
- package/build/modern/{chunk-YCVNE3CA.js → chunk-H7N6M7VO.js} +2 -2
- package/build/modern/{chunk-2UFNNWLA.js → chunk-HJYVIRNA.js} +5 -5
- package/build/modern/{chunk-BWZXR2WZ.js → chunk-HUKQPIDV.js} +2 -2
- package/build/modern/{chunk-LRIYLZSL.js → chunk-IWJCQ4BM.js} +3 -3
- package/build/modern/{chunk-SGFITMUF.js → chunk-IX5QZCM4.js} +2 -2
- package/build/modern/{chunk-PQ5DEKSH.js → chunk-J37VR33H.js} +2 -2
- package/build/modern/{chunk-UHXKG2ZP.js → chunk-JBAE2B2H.js} +2 -2
- package/build/modern/{chunk-HPWLIE64.js → chunk-KDIDKP2L.js} +2 -2
- package/build/modern/{chunk-YZFXHGMG.js → chunk-KELIM5A3.js} +2 -2
- package/build/modern/{chunk-E4DXMJ3C.js → chunk-KF3WIC2Y.js} +2 -2
- package/build/modern/{chunk-M4NNRVTU.js → chunk-KHU3YTLM.js} +2 -2
- package/build/modern/{chunk-OVYHM5DH.js → chunk-KUF4UUC7.js} +2 -2
- package/build/modern/{chunk-YUEVV2DE.js → chunk-L4CKWLXL.js} +2 -2
- package/build/modern/{chunk-VIKVLJGG.js → chunk-LCURHO24.js} +3 -2
- package/build/modern/{chunk-VIKVLJGG.js.map → chunk-LCURHO24.js.map} +1 -1
- package/build/modern/{chunk-BW64QBCK.js → chunk-LMEGBPKK.js} +2 -2
- package/build/modern/{chunk-WGSUBJNI.js → chunk-LNDQW46A.js} +2 -2
- package/build/modern/{chunk-AZ5LB6IS.js → chunk-LVA6QLLM.js} +2 -2
- package/build/modern/{chunk-YTKY3AHF.js → chunk-MPVUVQCJ.js} +2 -2
- package/build/modern/{chunk-2Q4KTP6D.js → chunk-NC7AHNAS.js} +7 -7
- package/build/modern/{chunk-2Q4KTP6D.js.map → chunk-NC7AHNAS.js.map} +1 -1
- package/build/modern/{chunk-6TIG456O.js → chunk-NLZGGXMB.js} +2 -2
- package/build/modern/{chunk-MXW63O5N.js → chunk-OG74JDYL.js} +2 -2
- package/build/modern/{chunk-SFAJKI45.js → chunk-OSUFAZAK.js} +2 -2
- package/build/modern/{chunk-P6WEDKIB.js → chunk-P3J5P524.js} +2 -2
- package/build/modern/{chunk-2T2S226G.js → chunk-PGINYK2P.js} +2 -2
- package/build/modern/{chunk-ZO3GSLWZ.js → chunk-PI7MKQ62.js} +2 -2
- package/build/modern/{chunk-CMQZN2GZ.js → chunk-Q3NDU44T.js} +2 -2
- package/build/modern/{chunk-MG2YW4IP.js → chunk-Q6FTLT7K.js} +2 -2
- package/build/modern/{chunk-DC3NTCCW.js → chunk-QHPJ2C76.js} +2 -2
- package/build/modern/{chunk-U6ECBUYN.js → chunk-QV5JHBHO.js} +2 -2
- package/build/modern/{chunk-RFANIL5H.js → chunk-RCXKKQQA.js} +2 -2
- package/build/modern/{chunk-FMNYWD5T.js → chunk-RKKI3J6R.js} +2 -2
- package/build/modern/{chunk-OVDJPTML.js → chunk-RMLBOGDE.js} +3 -3
- package/build/modern/{chunk-LW62VSVZ.js → chunk-ROWT3E5K.js} +2 -2
- package/build/modern/{chunk-3Z4TSR6V.js → chunk-S7HDNFJJ.js} +2 -2
- package/build/modern/{chunk-KLZPY4YX.js → chunk-T3U6K34Y.js} +2 -2
- package/build/modern/{chunk-TF2DXEUF.js → chunk-TIKG6U4Y.js} +2 -2
- package/build/modern/{chunk-GIIPOOSM.js → chunk-TJXWSSHO.js} +2 -2
- package/build/modern/{chunk-BOATN5PB.js → chunk-U2ZT7UDW.js} +2 -2
- package/build/modern/{chunk-SQIB5EOA.js → chunk-UHS2TNFC.js} +2 -2
- package/build/modern/{chunk-THMNM4CZ.js → chunk-UZHBWTSE.js} +2 -2
- package/build/modern/{chunk-2MU6WE52.js → chunk-VB7T2YYD.js} +3 -3
- package/build/modern/{chunk-OFACU2SY.js → chunk-VQIBX475.js} +2 -2
- package/build/modern/{chunk-Y67NIX2N.js → chunk-W7WPVM34.js} +3 -3
- package/build/modern/{chunk-D47GTCQZ.js → chunk-WC6SOU2F.js} +2 -2
- package/build/modern/{chunk-CIIFJ2SA.js → chunk-WK7TUQIS.js} +2 -2
- package/build/modern/{chunk-JSK6OD6J.js → chunk-X34MYQKI.js} +2 -2
- package/build/modern/{chunk-UXU2CVPI.js → chunk-X6KB5LWU.js} +2 -2
- package/build/modern/{chunk-RGLJDMIO.js → chunk-X6WOC4RF.js} +3 -3
- package/build/modern/{chunk-AJ5TWPXM.js → chunk-XB4HMXOQ.js} +3 -3
- package/build/modern/{chunk-CLGDJ4GM.js → chunk-XMFTL6KG.js} +3 -3
- package/build/modern/{chunk-YQNOAJM7.js → chunk-XZ2FNMMC.js} +2 -2
- package/build/modern/{chunk-BK5BIPCG.js → chunk-Y7UXAFII.js} +2 -2
- package/build/modern/{chunk-KM3G4YFF.js → chunk-YAZIBTA2.js} +2 -2
- package/build/modern/{chunk-7WX2RQT6.js → chunk-YMFUEQ2A.js} +3 -3
- package/build/modern/{chunk-ZZSHEW4N.js → chunk-ZFEGJR5E.js} +2 -2
- package/build/modern/{chunk-WO6MF3XM.js → chunk-ZGJDFQN2.js} +2 -2
- package/build/modern/{chunk-QM4DC6QF.js → chunk-ZUC3X6GQ.js} +2 -2
- package/build/modern/components/accordion/index.js +7 -7
- package/build/modern/components/accordion/item-group.js +7 -7
- package/build/modern/components/accordion/item-indicator.js +6 -6
- package/build/modern/components/accordion/parts.js +5 -5
- package/build/modern/components/accordion/primitives.js +4 -4
- package/build/modern/components/admonition/admonition.js +10 -10
- package/build/modern/components/admonition/index.js +10 -10
- package/build/modern/components/admonition/match-avatar.js +7 -7
- package/build/modern/components/admonition/parts.js +5 -5
- package/build/modern/components/admonition/primitives.js +4 -4
- package/build/modern/components/avatar/avatar.js +6 -6
- package/build/modern/components/avatar/index.js +6 -6
- package/build/modern/components/avatar/parts.js +5 -5
- package/build/modern/components/avatar/primitives.js +4 -4
- package/build/modern/components/button/button.js +5 -5
- package/build/modern/components/button/index.js +6 -6
- package/build/modern/components/button/parts.js +6 -6
- package/build/modern/components/button/primitives.js +4 -4
- package/build/modern/components/checkbox/checkbox-icon.js +6 -6
- package/build/modern/components/checkbox/checkbox.js +7 -7
- package/build/modern/components/checkbox/index.js +7 -7
- package/build/modern/components/checkbox/parts.js +5 -5
- package/build/modern/components/checkbox/primitives.js +4 -4
- package/build/modern/components/circular-progress/circular-progress.js +5 -5
- package/build/modern/components/circular-progress/index.js +5 -5
- package/build/modern/components/circular-progress/primitives.js +4 -4
- package/build/modern/components/combobox/combobox.js +6 -6
- package/build/modern/components/combobox/index.js +10 -10
- package/build/modern/components/combobox/item-group.js +6 -6
- package/build/modern/components/combobox/item.js +6 -6
- package/build/modern/components/combobox/parts.js +5 -5
- package/build/modern/components/combobox/primitives.js +4 -4
- package/build/modern/components/combobox/use-stateful-collection.js +5 -5
- package/build/modern/components/cta-dialog/index.js +16 -16
- package/build/modern/components/cta-dialog/provider.js +16 -16
- package/build/modern/components/cta-dialog/trigger-item.js +6 -6
- package/build/modern/components/date-picker/calendar.js +15 -15
- package/build/modern/components/date-picker/content.js +6 -6
- package/build/modern/components/date-picker/date-picker.js +6 -6
- package/build/modern/components/date-picker/day-view.js +11 -11
- package/build/modern/components/date-picker/index.js +19 -19
- package/build/modern/components/date-picker/input.js +9 -9
- package/build/modern/components/date-picker/month-view.js +11 -11
- package/build/modern/components/date-picker/parts.js +5 -5
- package/build/modern/components/date-picker/primitives.js +4 -4
- package/build/modern/components/date-picker/range-input.js +9 -9
- package/build/modern/components/date-picker/trigger.js +8 -8
- package/build/modern/components/date-picker/view-control-group.js +10 -10
- package/build/modern/components/date-picker/year-view.js +11 -11
- package/build/modern/components/deprecated/Label.js +9 -9
- package/build/modern/components/dialog/close-icon-trigger.js +7 -7
- package/build/modern/components/dialog/dialog.js +5 -5
- package/build/modern/components/dialog/index.js +9 -9
- package/build/modern/components/dialog/parts.js +5 -5
- package/build/modern/components/dialog/primitives.js +4 -4
- package/build/modern/components/field/field.js +7 -7
- package/build/modern/components/field/helper-text.js +6 -6
- package/build/modern/components/field/index.js +8 -8
- package/build/modern/components/field/input.js +5 -5
- package/build/modern/components/field/parts.js +6 -6
- package/build/modern/components/field/primitives.js +5 -5
- package/build/modern/components/field/status-indicator.js +1 -1
- package/build/modern/components/fieldset/fieldset.js +6 -6
- package/build/modern/components/fieldset/index.js +6 -6
- package/build/modern/components/fieldset/parts.js +5 -5
- package/build/modern/components/fieldset/primitives.js +4 -4
- package/build/modern/components/file-upload/file-status.js +16 -16
- package/build/modern/components/file-upload/file-uploader.js +7 -7
- package/build/modern/components/file-upload/index.js +17 -17
- package/build/modern/components/icon-button/button.js +5 -5
- package/build/modern/components/icon-button/index.js +5 -5
- package/build/modern/components/icon-button/primitives.js +4 -4
- package/build/modern/components/menu/index.js +5 -5
- package/build/modern/components/menu/menu.js +5 -5
- package/build/modern/components/menu/primitives.js +4 -4
- package/build/modern/components/notifications/center.js +9 -9
- package/build/modern/components/notifications/close-trigger.js +6 -6
- package/build/modern/components/notifications/index.js +9 -9
- package/build/modern/components/notifications/parts.js +5 -5
- package/build/modern/components/notifications/primitives.js +4 -4
- package/build/modern/components/progress/index.js +5 -5
- package/build/modern/components/progress/primitives.js +4 -4
- package/build/modern/components/progress/progress-bar.js +5 -5
- package/build/modern/components/radio/index.js +6 -6
- package/build/modern/components/radio/parts.js +5 -5
- package/build/modern/components/radio/primitives.js +4 -4
- package/build/modern/components/radio/radio.js +5 -5
- package/build/modern/components/rating/index.js +6 -6
- package/build/modern/components/rating/parts.js +5 -5
- package/build/modern/components/rating/primitives.js +4 -4
- package/build/modern/components/rating/rating.js +6 -6
- package/build/modern/components/select/index.js +8 -8
- package/build/modern/components/select/option-group.js +5 -5
- package/build/modern/components/select/option.js +6 -6
- package/build/modern/components/select/parts.js +5 -5
- package/build/modern/components/select/primitives.js +4 -4
- package/build/modern/components/select/select.js +6 -6
- package/build/modern/components/switch/index.js +6 -6
- package/build/modern/components/switch/parts.js +5 -5
- package/build/modern/components/switch/primitives.js +4 -4
- package/build/modern/components/switch/switch.js +6 -6
- package/build/modern/components/table/index.js +6 -6
- package/build/modern/components/table/parts.js +5 -5
- package/build/modern/components/table/primitives.js +4 -4
- package/build/modern/components/table/table.js +5 -5
- package/build/modern/components/tabs/index.js +6 -6
- package/build/modern/components/tabs/parts.js +5 -5
- package/build/modern/components/tabs/primitives.js +4 -4
- package/build/modern/components/tabs/tabs.js +6 -6
- package/build/modern/components/tag/index.js +6 -6
- package/build/modern/components/tag/tag.js +6 -6
- package/build/modern/components/theme/index.js +4 -4
- package/build/modern/components/theme/theme.js +4 -4
- package/build/modern/components/toggle/index.js +5 -5
- package/build/modern/components/toggle/parts.js +5 -5
- package/build/modern/components/toggle/primitives.js +4 -4
- package/build/modern/components/tooltip/index.js +6 -6
- package/build/modern/components/tooltip/parts.js +5 -5
- package/build/modern/components/tooltip/primitives.js +4 -4
- package/build/modern/components/tooltip/tooltip.js +6 -6
- package/build/modern/context/confirm-modal.js +15 -15
- package/build/modern/context/field.js +5 -5
- package/build/modern/context/prompt-modal.js +20 -20
- package/build/modern/index.js +97 -97
- package/build/modern/system/factory.js +2 -2
- package/build/modern/system/index.js +3 -3
- package/build/modern/system/primitive-factory.js +1 -1
- package/package.json +3 -3
- package/src/components/field/status-indicator.tsx +4 -1
- package/src/components/file-upload/file-status.tsx +1 -1
- package/src/system/primitive-factory.tsx +16 -6
- package/src/types.ts +10 -0
- package/build/modern/chunk-GZ6T3352.js.map +0 -1
- /package/build/modern/{chunk-4WSCG2CM.js.map → chunk-262PENBL.js.map} +0 -0
- /package/build/modern/{chunk-N2DZNGUS.js.map → chunk-27RTYRM7.js.map} +0 -0
- /package/build/modern/{chunk-UCP3GQOJ.js.map → chunk-2SBNSYYC.js.map} +0 -0
- /package/build/modern/{chunk-ZPMGW4U7.js.map → chunk-2UD72VLC.js.map} +0 -0
- /package/build/modern/{chunk-NPZJTTTS.js.map → chunk-2VVJATIW.js.map} +0 -0
- /package/build/modern/{chunk-4DJ6KC4K.js.map → chunk-46QXBKGK.js.map} +0 -0
- /package/build/modern/{chunk-KYYKBLP2.js.map → chunk-4ZQUC4DA.js.map} +0 -0
- /package/build/modern/{chunk-NH2RSI7N.js.map → chunk-5UZUXCMO.js.map} +0 -0
- /package/build/modern/{chunk-J3XTP6VP.js.map → chunk-5W6HMI2G.js.map} +0 -0
- /package/build/modern/{chunk-ZGPHSKEB.js.map → chunk-5WT5BM3V.js.map} +0 -0
- /package/build/modern/{chunk-HJ67FKQ6.js.map → chunk-6KGRHE3J.js.map} +0 -0
- /package/build/modern/{chunk-BDXVYV32.js.map → chunk-6KIXF4ES.js.map} +0 -0
- /package/build/modern/{chunk-IU5YJTKN.js.map → chunk-6P2JY52I.js.map} +0 -0
- /package/build/modern/{chunk-YI3P5QG4.js.map → chunk-6XO2RTIJ.js.map} +0 -0
- /package/build/modern/{chunk-S7ALRSVU.js.map → chunk-77QDH2Q5.js.map} +0 -0
- /package/build/modern/{chunk-VXG4AEMZ.js.map → chunk-7GT7UUCB.js.map} +0 -0
- /package/build/modern/{chunk-RXAHVNN2.js.map → chunk-7GVDVLCR.js.map} +0 -0
- /package/build/modern/{chunk-VIUQS3VG.js.map → chunk-7LNGA4BX.js.map} +0 -0
- /package/build/modern/{chunk-ALJYABJX.js.map → chunk-7MWSOSOY.js.map} +0 -0
- /package/build/modern/{chunk-COIQJKC3.js.map → chunk-A6NEZNGY.js.map} +0 -0
- /package/build/modern/{chunk-OMM4CPZU.js.map → chunk-ABMK5P66.js.map} +0 -0
- /package/build/modern/{chunk-YVYOOJ3X.js.map → chunk-ADOFKGU3.js.map} +0 -0
- /package/build/modern/{chunk-4Q62OI72.js.map → chunk-AHYFFHUW.js.map} +0 -0
- /package/build/modern/{chunk-GHM4I5BN.js.map → chunk-BFE2SHZO.js.map} +0 -0
- /package/build/modern/{chunk-L2G4XKLT.js.map → chunk-BGJIAA5F.js.map} +0 -0
- /package/build/modern/{chunk-2OWVBM5W.js.map → chunk-BGZTC53N.js.map} +0 -0
- /package/build/modern/{chunk-UKAVYSJ5.js.map → chunk-BS4V2YJV.js.map} +0 -0
- /package/build/modern/{chunk-VZXYGBU6.js.map → chunk-BT6FMOKM.js.map} +0 -0
- /package/build/modern/{chunk-IOK2RQK6.js.map → chunk-CBJ5A5BD.js.map} +0 -0
- /package/build/modern/{chunk-KSYZMMXN.js.map → chunk-CI7JYXUR.js.map} +0 -0
- /package/build/modern/{chunk-ACK44GEO.js.map → chunk-CKCGLHLS.js.map} +0 -0
- /package/build/modern/{chunk-A57LVJJF.js.map → chunk-CYK3ZJIX.js.map} +0 -0
- /package/build/modern/{chunk-6BNGJMNL.js.map → chunk-EMLKVTGD.js.map} +0 -0
- /package/build/modern/{chunk-RDFAC3XX.js.map → chunk-ETYXG2J2.js.map} +0 -0
- /package/build/modern/{chunk-WKAI4OK3.js.map → chunk-FIVEPZ5F.js.map} +0 -0
- /package/build/modern/{chunk-QOTRCNC7.js.map → chunk-FL3J7LTC.js.map} +0 -0
- /package/build/modern/{chunk-A655GBYQ.js.map → chunk-GBV7MIBU.js.map} +0 -0
- /package/build/modern/{chunk-JG5V3AK4.js.map → chunk-GLH23RDO.js.map} +0 -0
- /package/build/modern/{chunk-5XU3LUPC.js.map → chunk-H6ZGH4VM.js.map} +0 -0
- /package/build/modern/{chunk-YCVNE3CA.js.map → chunk-H7N6M7VO.js.map} +0 -0
- /package/build/modern/{chunk-2UFNNWLA.js.map → chunk-HJYVIRNA.js.map} +0 -0
- /package/build/modern/{chunk-BWZXR2WZ.js.map → chunk-HUKQPIDV.js.map} +0 -0
- /package/build/modern/{chunk-LRIYLZSL.js.map → chunk-IWJCQ4BM.js.map} +0 -0
- /package/build/modern/{chunk-SGFITMUF.js.map → chunk-IX5QZCM4.js.map} +0 -0
- /package/build/modern/{chunk-PQ5DEKSH.js.map → chunk-J37VR33H.js.map} +0 -0
- /package/build/modern/{chunk-UHXKG2ZP.js.map → chunk-JBAE2B2H.js.map} +0 -0
- /package/build/modern/{chunk-HPWLIE64.js.map → chunk-KDIDKP2L.js.map} +0 -0
- /package/build/modern/{chunk-YZFXHGMG.js.map → chunk-KELIM5A3.js.map} +0 -0
- /package/build/modern/{chunk-E4DXMJ3C.js.map → chunk-KF3WIC2Y.js.map} +0 -0
- /package/build/modern/{chunk-M4NNRVTU.js.map → chunk-KHU3YTLM.js.map} +0 -0
- /package/build/modern/{chunk-OVYHM5DH.js.map → chunk-KUF4UUC7.js.map} +0 -0
- /package/build/modern/{chunk-YUEVV2DE.js.map → chunk-L4CKWLXL.js.map} +0 -0
- /package/build/modern/{chunk-BW64QBCK.js.map → chunk-LMEGBPKK.js.map} +0 -0
- /package/build/modern/{chunk-WGSUBJNI.js.map → chunk-LNDQW46A.js.map} +0 -0
- /package/build/modern/{chunk-AZ5LB6IS.js.map → chunk-LVA6QLLM.js.map} +0 -0
- /package/build/modern/{chunk-YTKY3AHF.js.map → chunk-MPVUVQCJ.js.map} +0 -0
- /package/build/modern/{chunk-6TIG456O.js.map → chunk-NLZGGXMB.js.map} +0 -0
- /package/build/modern/{chunk-MXW63O5N.js.map → chunk-OG74JDYL.js.map} +0 -0
- /package/build/modern/{chunk-SFAJKI45.js.map → chunk-OSUFAZAK.js.map} +0 -0
- /package/build/modern/{chunk-P6WEDKIB.js.map → chunk-P3J5P524.js.map} +0 -0
- /package/build/modern/{chunk-2T2S226G.js.map → chunk-PGINYK2P.js.map} +0 -0
- /package/build/modern/{chunk-ZO3GSLWZ.js.map → chunk-PI7MKQ62.js.map} +0 -0
- /package/build/modern/{chunk-CMQZN2GZ.js.map → chunk-Q3NDU44T.js.map} +0 -0
- /package/build/modern/{chunk-MG2YW4IP.js.map → chunk-Q6FTLT7K.js.map} +0 -0
- /package/build/modern/{chunk-DC3NTCCW.js.map → chunk-QHPJ2C76.js.map} +0 -0
- /package/build/modern/{chunk-U6ECBUYN.js.map → chunk-QV5JHBHO.js.map} +0 -0
- /package/build/modern/{chunk-RFANIL5H.js.map → chunk-RCXKKQQA.js.map} +0 -0
- /package/build/modern/{chunk-FMNYWD5T.js.map → chunk-RKKI3J6R.js.map} +0 -0
- /package/build/modern/{chunk-OVDJPTML.js.map → chunk-RMLBOGDE.js.map} +0 -0
- /package/build/modern/{chunk-LW62VSVZ.js.map → chunk-ROWT3E5K.js.map} +0 -0
- /package/build/modern/{chunk-3Z4TSR6V.js.map → chunk-S7HDNFJJ.js.map} +0 -0
- /package/build/modern/{chunk-KLZPY4YX.js.map → chunk-T3U6K34Y.js.map} +0 -0
- /package/build/modern/{chunk-TF2DXEUF.js.map → chunk-TIKG6U4Y.js.map} +0 -0
- /package/build/modern/{chunk-GIIPOOSM.js.map → chunk-TJXWSSHO.js.map} +0 -0
- /package/build/modern/{chunk-BOATN5PB.js.map → chunk-U2ZT7UDW.js.map} +0 -0
- /package/build/modern/{chunk-SQIB5EOA.js.map → chunk-UHS2TNFC.js.map} +0 -0
- /package/build/modern/{chunk-THMNM4CZ.js.map → chunk-UZHBWTSE.js.map} +0 -0
- /package/build/modern/{chunk-2MU6WE52.js.map → chunk-VB7T2YYD.js.map} +0 -0
- /package/build/modern/{chunk-OFACU2SY.js.map → chunk-VQIBX475.js.map} +0 -0
- /package/build/modern/{chunk-Y67NIX2N.js.map → chunk-W7WPVM34.js.map} +0 -0
- /package/build/modern/{chunk-D47GTCQZ.js.map → chunk-WC6SOU2F.js.map} +0 -0
- /package/build/modern/{chunk-CIIFJ2SA.js.map → chunk-WK7TUQIS.js.map} +0 -0
- /package/build/modern/{chunk-JSK6OD6J.js.map → chunk-X34MYQKI.js.map} +0 -0
- /package/build/modern/{chunk-UXU2CVPI.js.map → chunk-X6KB5LWU.js.map} +0 -0
- /package/build/modern/{chunk-RGLJDMIO.js.map → chunk-X6WOC4RF.js.map} +0 -0
- /package/build/modern/{chunk-AJ5TWPXM.js.map → chunk-XB4HMXOQ.js.map} +0 -0
- /package/build/modern/{chunk-CLGDJ4GM.js.map → chunk-XMFTL6KG.js.map} +0 -0
- /package/build/modern/{chunk-YQNOAJM7.js.map → chunk-XZ2FNMMC.js.map} +0 -0
- /package/build/modern/{chunk-BK5BIPCG.js.map → chunk-Y7UXAFII.js.map} +0 -0
- /package/build/modern/{chunk-KM3G4YFF.js.map → chunk-YAZIBTA2.js.map} +0 -0
- /package/build/modern/{chunk-7WX2RQT6.js.map → chunk-YMFUEQ2A.js.map} +0 -0
- /package/build/modern/{chunk-ZZSHEW4N.js.map → chunk-ZFEGJR5E.js.map} +0 -0
- /package/build/modern/{chunk-WO6MF3XM.js.map → chunk-ZGJDFQN2.js.map} +0 -0
- /package/build/modern/{chunk-QM4DC6QF.js.map → chunk-ZUC3X6GQ.js.map} +0 -0
|
@@ -79,8 +79,12 @@ var CerberusPrimitive = class {
|
|
|
79
79
|
const recipe = this.recipe;
|
|
80
80
|
this.validateComponent(Component);
|
|
81
81
|
const CerbComponent = (internalProps) => {
|
|
82
|
-
const {
|
|
83
|
-
|
|
82
|
+
const {
|
|
83
|
+
css: customCss,
|
|
84
|
+
className,
|
|
85
|
+
...restOfInternalProps
|
|
86
|
+
} = internalProps;
|
|
87
|
+
const [variantOptions, nativeProps] = recipe.splitVariantProps(restOfInternalProps);
|
|
84
88
|
const recipeStyles = recipe(variantOptions);
|
|
85
89
|
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
86
90
|
Component,
|
|
@@ -111,8 +115,12 @@ var CerberusPrimitive = class {
|
|
|
111
115
|
const recipe = this.recipe;
|
|
112
116
|
this.validateComponent(Component);
|
|
113
117
|
const CerbComponent = (internalProps) => {
|
|
114
|
-
const {
|
|
115
|
-
|
|
118
|
+
const {
|
|
119
|
+
css: customCss,
|
|
120
|
+
className,
|
|
121
|
+
...restOfInternalProps
|
|
122
|
+
} = internalProps;
|
|
123
|
+
const [variantOptions, nativeProps] = recipe.splitVariantProps(restOfInternalProps);
|
|
116
124
|
const styles = recipe(variantOptions);
|
|
117
125
|
const slotStyles = styles[slot];
|
|
118
126
|
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/notifications/index.ts","../../../../src/components/notifications/primitives.tsx","../../../../src/system/primitive-factory.tsx","../../../../src/system/index.ts","../../../../src/components/notifications/parts.ts","../../../../src/components/notifications/center.tsx","../../../../src/components/button/button.tsx","../../../../src/components/show/show.tsx","../../../../src/components/spinner/spinner.tsx","../../../../src/components/button/primitives.tsx","../../../../src/components/notifications/match-icon.tsx","../../../../src/context/cerberus.tsx","../../../../src/components/notifications/close-trigger.tsx"],"sourcesContent":["export * from './parts'\nexport * from './primitives'\nexport * from './center'\nexport * from './types'\n","import {\n Toast,\n Toaster,\n type ToastActionTriggerProps,\n type ToastCloseTriggerProps,\n type ToastDescriptionProps,\n type ToasterProps,\n type ToastRootProps,\n type ToastTitleProps,\n} from '@ark-ui/react/toast'\nimport { toast } from 'styled-system/recipes'\nimport {\n createCerberusPrimitive,\n type CerberusPrimitiveProps,\n} from '../../system/index'\n\n/**\n * This module contains the primitives of the Notification component.\n * @module 'notification/primitives'\n */\n\nconst { withSlotRecipe } = createCerberusPrimitive(toast)\n\n// Toaster\n\nexport type NotificationProviderProps = ToasterProps\nexport const NotificationProvider = Toaster\n\n// Root\n\nexport type NotificationRootProps = CerberusPrimitiveProps<ToastRootProps>\nexport const NotificationRoot = withSlotRecipe<NotificationRootProps>(\n Toast.Root,\n 'root',\n)\n\n// Heading\n\nexport type NotificationHeadingProps = CerberusPrimitiveProps<ToastTitleProps>\nexport const NotificationHeading = withSlotRecipe<NotificationHeadingProps>(\n Toast.Title,\n 'title',\n)\n\n// Description\n\nexport type NotificationDescriptionProps =\n CerberusPrimitiveProps<ToastDescriptionProps>\nexport const NotificationDescription =\n withSlotRecipe<NotificationDescriptionProps>(Toast.Description, 'description')\n\n// Close Trigger\n\nexport type NotificationCloseTriggerProps =\n CerberusPrimitiveProps<ToastCloseTriggerProps>\nexport const NotificationCloseTrigger =\n withSlotRecipe<NotificationCloseTriggerProps>(\n Toast.CloseTrigger,\n 'closeTrigger',\n )\n\n// Action Trigger\n\nexport type NotificationActionTriggerProps =\n CerberusPrimitiveProps<ToastActionTriggerProps>\nexport const NotificationActionTrigger =\n withSlotRecipe<NotificationActionTriggerProps>(\n Toast.ActionTrigger,\n 'actionTrigger',\n )\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 { css: customCss, className, ...nativeProps } = internalProps\n\n const [variantOptions] = recipe.splitVariantProps(nativeProps)\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 { css: customCss, className, ...nativeProps } = internalProps\n\n const [variantOptions] = recipe.splitVariantProps(nativeProps)\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 NotificationActionTrigger,\n NotificationCloseTrigger,\n NotificationDescription,\n NotificationHeading,\n NotificationRoot,\n} from './primitives'\n\n/**\n * This module contains the parts of the Notification parts.\n * @module 'notification/parts'\n */\n\ninterface NotificationPartsValue {\n /**\n * The context provider of the notification.\n */\n Root: ElementType\n /**\n * The title heading of the notification.\n */\n Heading: ElementType\n /**\n * The description of the notification.\n */\n Description: ElementType\n /**\n * The close button of the notification.\n */\n CloseTrigger: ElementType\n /**\n * The action trigger of the notification.\n */\n ActionTrigger: ElementType\n}\n\n/**\n * An Object containing the parts of the Notification components. For users that\n * prefer Object component syntax.\n *\n * @remarks\n *\n * When using object component syntax, you import the NotificationParts object and\n * the entire family of components vs. only what you use.\n */\nexport const NotificationParts: NotificationPartsValue = {\n Root: NotificationRoot,\n Heading: NotificationHeading,\n Description: NotificationDescription,\n CloseTrigger: NotificationCloseTrigger,\n ActionTrigger: NotificationActionTrigger,\n}\n","'use client'\n\nimport {\n createToaster,\n Toaster,\n type CreateToasterReturn,\n} from '@ark-ui/react/toast'\nimport { Box } from 'styled-system/jsx'\nimport { Button, type ButtonProps } from '../button/button'\nimport { Show } from '../show/index'\nimport { NotificationParts } from './parts'\nimport type { NotifyOptions, UseNotificationCenterReturn } from './types'\nimport { MatchNotificationIcon } from './match-icon'\nimport { ToastCloseTrigger } from './close-trigger'\n\n/**\n * This module contains an abstraction of the Notification parts.\n * @module 'notification/center'\n */\n\nexport const toaster: CreateToasterReturn = createToaster({\n gap: 16,\n overlap: true,\n placement: 'top-end',\n})\n\n/**\n * The NotificationCenter component is an abstraction for the Notification\n * component. It manages displaying all the toasts in the center.\n */\nexport function NotificationCenter() {\n return (\n <Toaster toaster={toaster}>\n {(toast) => (\n <NotificationParts.Root key={toast.id}>\n <MatchNotificationIcon\n type={toast.type as NotifyOptions['palette']}\n />\n\n <Box flex=\"1\" paddingBlock=\"sm\">\n <NotificationParts.Heading>{toast.title}</NotificationParts.Heading>\n <NotificationParts.Description>\n {toast.description}\n </NotificationParts.Description>\n <Show when={toast.action}>\n <NotificationParts.ActionTrigger asChild>\n <Button\n palette={toast.type as ButtonProps['palette']}\n usage=\"ghost\"\n size=\"sm\"\n >\n {toast.action?.label}\n </Button>\n </NotificationParts.ActionTrigger>\n </Show>\n </Box>\n\n <ToastCloseTrigger />\n </NotificationParts.Root>\n )}\n </Toaster>\n )\n}\n\n/**\n * @deprecated use `toaster` instead\n */\nexport function useNotificationCenter(): UseNotificationCenterReturn {\n function notify(options: NotifyOptions) {\n toaster.create({\n title: options.heading,\n description: options.description,\n type: options.palette,\n action: options.action,\n })\n }\n return { ...toaster, notify }\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 { type PropsWithChildren, type ReactNode } from 'react'\n\n/**\n * This module contains the Show component.\n * @module\n */\n\nexport interface ShowProps<T> {\n /**\n * The condition to render memoized children or the fallback content.\n */\n when: T | boolean | null | undefined\n /**\n * The children to render when the condition is false.\n */\n fallback?: ReactNode\n}\n\n/**\n * Conditionally render a memoized version of the children or optional fallback\n * content.\n * @see https://cerberus.digitalu.design/react/show\n * @example\n * ```tsx\n * <Show when={isLoggedIn} fallback={<Navigate to=\"/login\" />}>\n * <Dashboard />\n * </Show>\n */\nexport function Show<T>(props: PropsWithChildren<ShowProps<T>>) {\n const { when, children, fallback } = props\n\n if (when) {\n return <>{children}</>\n }\n\n if (fallback) {\n return <>{fallback}</>\n }\n\n return null\n}\n","/**\n * This module contains the Spinner component.\n * @module\n */\n\nexport interface SpinnerProps {\n /**\n * The size of the spinner\n */\n size?: number | string\n}\n\n/**\n * The Spinner component is used to display a loading indicator. Typically used\n * in buttons, modals, and other components that require a loading state.\n * @see https://cerberus.digitalu.design/react/loading-states/\n * @example\n * ```tsx\n * <Button>\n * <Show when={loading} fallback={<>Save</>}>\n * Saving\n * <Spinner size={24} />\n * </Show>\n * </Button>\n * ```\n */\nexport function Spinner(props: SpinnerProps) {\n return (\n <svg\n aria-busy=\"true\"\n data-scope=\"spinner\"\n data-part=\"root\"\n role=\"status\"\n xmlns=\"http://www.w3.org/2000/svg\"\n height={props.size}\n width={props.size}\n viewBox=\"0 0 24 24\"\n >\n <g\n fill=\"none\"\n stroke=\"currentColor\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth={2}\n >\n <path\n strokeDasharray={16}\n strokeDashoffset={16}\n d=\"M12 3c4.97 0 9 4.03 9 9\"\n >\n <animate\n fill=\"freeze\"\n attributeName=\"stroke-dashoffset\"\n dur=\"0.15s\"\n values=\"16;0\"\n ></animate>\n <animateTransform\n attributeName=\"transform\"\n dur=\"0.75s\"\n repeatCount=\"indefinite\"\n type=\"rotate\"\n values=\"0 12 12;360 12 12\"\n ></animateTransform>\n </path>\n <path\n strokeDasharray={64}\n strokeDashoffset={64}\n strokeOpacity={0.3}\n d=\"M12 3c4.97 0 9 4.03 9 9c0 4.97 -4.03 9 -9 9c-4.97 0 -9 -4.03 -9 -9c0 -4.97 4.03 -9 9 -9Z\"\n >\n <animate\n fill=\"freeze\"\n attributeName=\"stroke-dashoffset\"\n dur=\"0.6s\"\n values=\"64;0\"\n ></animate>\n </path>\n </g>\n </svg>\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","'use client'\n\nimport { ark } from '@ark-ui/react/factory'\nimport { toast } from 'styled-system/recipes'\nimport { useCerberusContext } from '../../context/cerberus'\nimport { Spinner } from '../spinner/index'\nimport type { NotifyOptions } from './types'\n\n/**\n * This private module contains a component that returns the correct icon for a\n * notification based on the palette. If there is no result, it is assumed to\n * be a 'loading' type.\n * @module 'notification/match-icon'\n */\n\ninterface MatchNotificationIconProps {\n type?: NotifyOptions['palette']\n}\n\nexport function MatchNotificationIcon(props: MatchNotificationIconProps) {\n const { icons } = useCerberusContext()\n const type = props.type || 'info'\n const styles = toast()\n\n const key = `${type}Notification` as keyof typeof icons\n const Icon = icons[key] || ToastLoadingIcon\n\n return (\n <ark.div className={styles.icon}>\n <Icon />\n </ark.div>\n )\n}\n\nfunction ToastLoadingIcon() {\n return <Spinner size=\"1rem\" />\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 { useCerberusContext } from '../../context/cerberus'\nimport { NotificationParts } from './parts'\nimport type { NotificationCloseTriggerProps } from './primitives'\n\n/**\n * This private module contains a abstraction of the close trigger primitive.\n * @module 'notification/close-trigger'\n */\n\nexport function ToastCloseTrigger(props: NotificationCloseTriggerProps) {\n const { icons } = useCerberusContext()\n const { close: CloseIcon } = icons\n\n return (\n <NotificationParts.CloseTrigger {...props}>\n <CloseIcon />\n </NotificationParts.CloseTrigger>\n )\n}\n"],"mappings":"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","names":["import_toast","import_jsx","import_jsx_runtime","import_jsx_runtime","import_recipes","import_jsx_runtime","import_factory","import_recipes","import_react","import_jsx_runtime","import_jsx_runtime","import_jsx_runtime","import_jsx_runtime","toast"]}
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/notifications/index.ts","../../../../src/components/notifications/primitives.tsx","../../../../src/system/primitive-factory.tsx","../../../../src/system/index.ts","../../../../src/components/notifications/parts.ts","../../../../src/components/notifications/center.tsx","../../../../src/components/button/button.tsx","../../../../src/components/show/show.tsx","../../../../src/components/spinner/spinner.tsx","../../../../src/components/button/primitives.tsx","../../../../src/components/notifications/match-icon.tsx","../../../../src/context/cerberus.tsx","../../../../src/components/notifications/close-trigger.tsx"],"sourcesContent":["export * from './parts'\nexport * from './primitives'\nexport * from './center'\nexport * from './types'\n","import {\n Toast,\n Toaster,\n type ToastActionTriggerProps,\n type ToastCloseTriggerProps,\n type ToastDescriptionProps,\n type ToasterProps,\n type ToastRootProps,\n type ToastTitleProps,\n} from '@ark-ui/react/toast'\nimport { toast } from 'styled-system/recipes'\nimport {\n createCerberusPrimitive,\n type CerberusPrimitiveProps,\n} from '../../system/index'\n\n/**\n * This module contains the primitives of the Notification component.\n * @module 'notification/primitives'\n */\n\nconst { withSlotRecipe } = createCerberusPrimitive(toast)\n\n// Toaster\n\nexport type NotificationProviderProps = ToasterProps\nexport const NotificationProvider = Toaster\n\n// Root\n\nexport type NotificationRootProps = CerberusPrimitiveProps<ToastRootProps>\nexport const NotificationRoot = withSlotRecipe<NotificationRootProps>(\n Toast.Root,\n 'root',\n)\n\n// Heading\n\nexport type NotificationHeadingProps = CerberusPrimitiveProps<ToastTitleProps>\nexport const NotificationHeading = withSlotRecipe<NotificationHeadingProps>(\n Toast.Title,\n 'title',\n)\n\n// Description\n\nexport type NotificationDescriptionProps =\n CerberusPrimitiveProps<ToastDescriptionProps>\nexport const NotificationDescription =\n withSlotRecipe<NotificationDescriptionProps>(Toast.Description, 'description')\n\n// Close Trigger\n\nexport type NotificationCloseTriggerProps =\n CerberusPrimitiveProps<ToastCloseTriggerProps>\nexport const NotificationCloseTrigger =\n withSlotRecipe<NotificationCloseTriggerProps>(\n Toast.CloseTrigger,\n 'closeTrigger',\n )\n\n// Action Trigger\n\nexport type NotificationActionTriggerProps =\n CerberusPrimitiveProps<ToastActionTriggerProps>\nexport const NotificationActionTrigger =\n withSlotRecipe<NotificationActionTriggerProps>(\n Toast.ActionTrigger,\n 'actionTrigger',\n )\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 NotificationActionTrigger,\n NotificationCloseTrigger,\n NotificationDescription,\n NotificationHeading,\n NotificationRoot,\n} from './primitives'\n\n/**\n * This module contains the parts of the Notification parts.\n * @module 'notification/parts'\n */\n\ninterface NotificationPartsValue {\n /**\n * The context provider of the notification.\n */\n Root: ElementType\n /**\n * The title heading of the notification.\n */\n Heading: ElementType\n /**\n * The description of the notification.\n */\n Description: ElementType\n /**\n * The close button of the notification.\n */\n CloseTrigger: ElementType\n /**\n * The action trigger of the notification.\n */\n ActionTrigger: ElementType\n}\n\n/**\n * An Object containing the parts of the Notification components. For users that\n * prefer Object component syntax.\n *\n * @remarks\n *\n * When using object component syntax, you import the NotificationParts object and\n * the entire family of components vs. only what you use.\n */\nexport const NotificationParts: NotificationPartsValue = {\n Root: NotificationRoot,\n Heading: NotificationHeading,\n Description: NotificationDescription,\n CloseTrigger: NotificationCloseTrigger,\n ActionTrigger: NotificationActionTrigger,\n}\n","'use client'\n\nimport {\n createToaster,\n Toaster,\n type CreateToasterReturn,\n} from '@ark-ui/react/toast'\nimport { Box } from 'styled-system/jsx'\nimport { Button, type ButtonProps } from '../button/button'\nimport { Show } from '../show/index'\nimport { NotificationParts } from './parts'\nimport type { NotifyOptions, UseNotificationCenterReturn } from './types'\nimport { MatchNotificationIcon } from './match-icon'\nimport { ToastCloseTrigger } from './close-trigger'\n\n/**\n * This module contains an abstraction of the Notification parts.\n * @module 'notification/center'\n */\n\nexport const toaster: CreateToasterReturn = createToaster({\n gap: 16,\n overlap: true,\n placement: 'top-end',\n})\n\n/**\n * The NotificationCenter component is an abstraction for the Notification\n * component. It manages displaying all the toasts in the center.\n */\nexport function NotificationCenter() {\n return (\n <Toaster toaster={toaster}>\n {(toast) => (\n <NotificationParts.Root key={toast.id}>\n <MatchNotificationIcon\n type={toast.type as NotifyOptions['palette']}\n />\n\n <Box flex=\"1\" paddingBlock=\"sm\">\n <NotificationParts.Heading>{toast.title}</NotificationParts.Heading>\n <NotificationParts.Description>\n {toast.description}\n </NotificationParts.Description>\n <Show when={toast.action}>\n <NotificationParts.ActionTrigger asChild>\n <Button\n palette={toast.type as ButtonProps['palette']}\n usage=\"ghost\"\n size=\"sm\"\n >\n {toast.action?.label}\n </Button>\n </NotificationParts.ActionTrigger>\n </Show>\n </Box>\n\n <ToastCloseTrigger />\n </NotificationParts.Root>\n )}\n </Toaster>\n )\n}\n\n/**\n * @deprecated use `toaster` instead\n */\nexport function useNotificationCenter(): UseNotificationCenterReturn {\n function notify(options: NotifyOptions) {\n toaster.create({\n title: options.heading,\n description: options.description,\n type: options.palette,\n action: options.action,\n })\n }\n return { ...toaster, notify }\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 { type PropsWithChildren, type ReactNode } from 'react'\n\n/**\n * This module contains the Show component.\n * @module\n */\n\nexport interface ShowProps<T> {\n /**\n * The condition to render memoized children or the fallback content.\n */\n when: T | boolean | null | undefined\n /**\n * The children to render when the condition is false.\n */\n fallback?: ReactNode\n}\n\n/**\n * Conditionally render a memoized version of the children or optional fallback\n * content.\n * @see https://cerberus.digitalu.design/react/show\n * @example\n * ```tsx\n * <Show when={isLoggedIn} fallback={<Navigate to=\"/login\" />}>\n * <Dashboard />\n * </Show>\n */\nexport function Show<T>(props: PropsWithChildren<ShowProps<T>>) {\n const { when, children, fallback } = props\n\n if (when) {\n return <>{children}</>\n }\n\n if (fallback) {\n return <>{fallback}</>\n }\n\n return null\n}\n","/**\n * This module contains the Spinner component.\n * @module\n */\n\nexport interface SpinnerProps {\n /**\n * The size of the spinner\n */\n size?: number | string\n}\n\n/**\n * The Spinner component is used to display a loading indicator. Typically used\n * in buttons, modals, and other components that require a loading state.\n * @see https://cerberus.digitalu.design/react/loading-states/\n * @example\n * ```tsx\n * <Button>\n * <Show when={loading} fallback={<>Save</>}>\n * Saving\n * <Spinner size={24} />\n * </Show>\n * </Button>\n * ```\n */\nexport function Spinner(props: SpinnerProps) {\n return (\n <svg\n aria-busy=\"true\"\n data-scope=\"spinner\"\n data-part=\"root\"\n role=\"status\"\n xmlns=\"http://www.w3.org/2000/svg\"\n height={props.size}\n width={props.size}\n viewBox=\"0 0 24 24\"\n >\n <g\n fill=\"none\"\n stroke=\"currentColor\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth={2}\n >\n <path\n strokeDasharray={16}\n strokeDashoffset={16}\n d=\"M12 3c4.97 0 9 4.03 9 9\"\n >\n <animate\n fill=\"freeze\"\n attributeName=\"stroke-dashoffset\"\n dur=\"0.15s\"\n values=\"16;0\"\n ></animate>\n <animateTransform\n attributeName=\"transform\"\n dur=\"0.75s\"\n repeatCount=\"indefinite\"\n type=\"rotate\"\n values=\"0 12 12;360 12 12\"\n ></animateTransform>\n </path>\n <path\n strokeDasharray={64}\n strokeDashoffset={64}\n strokeOpacity={0.3}\n d=\"M12 3c4.97 0 9 4.03 9 9c0 4.97 -4.03 9 -9 9c-4.97 0 -9 -4.03 -9 -9c0 -4.97 4.03 -9 9 -9Z\"\n >\n <animate\n fill=\"freeze\"\n attributeName=\"stroke-dashoffset\"\n dur=\"0.6s\"\n values=\"64;0\"\n ></animate>\n </path>\n </g>\n </svg>\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","'use client'\n\nimport { ark } from '@ark-ui/react/factory'\nimport { toast } from 'styled-system/recipes'\nimport { useCerberusContext } from '../../context/cerberus'\nimport { Spinner } from '../spinner/index'\nimport type { NotifyOptions } from './types'\n\n/**\n * This private module contains a component that returns the correct icon for a\n * notification based on the palette. If there is no result, it is assumed to\n * be a 'loading' type.\n * @module 'notification/match-icon'\n */\n\ninterface MatchNotificationIconProps {\n type?: NotifyOptions['palette']\n}\n\nexport function MatchNotificationIcon(props: MatchNotificationIconProps) {\n const { icons } = useCerberusContext()\n const type = props.type || 'info'\n const styles = toast()\n\n const key = `${type}Notification` as keyof typeof icons\n const Icon = icons[key] || ToastLoadingIcon\n\n return (\n <ark.div className={styles.icon}>\n <Icon />\n </ark.div>\n )\n}\n\nfunction ToastLoadingIcon() {\n return <Spinner size=\"1rem\" />\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 { useCerberusContext } from '../../context/cerberus'\nimport { NotificationParts } from './parts'\nimport type { NotificationCloseTriggerProps } from './primitives'\n\n/**\n * This private module contains a abstraction of the close trigger primitive.\n * @module 'notification/close-trigger'\n */\n\nexport function ToastCloseTrigger(props: NotificationCloseTriggerProps) {\n const { icons } = useCerberusContext()\n const { close: CloseIcon } = icons\n\n return (\n <NotificationParts.CloseTrigger {...props}>\n <CloseIcon />\n </NotificationParts.CloseTrigger>\n )\n}\n"],"mappings":"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","names":["import_toast","import_jsx","import_jsx_runtime","import_jsx_runtime","import_recipes","import_jsx_runtime","import_factory","import_recipes","import_react","import_jsx_runtime","import_jsx_runtime","import_jsx_runtime","import_jsx_runtime","toast"]}
|
|
@@ -70,8 +70,12 @@ var CerberusPrimitive = class {
|
|
|
70
70
|
const recipe = this.recipe;
|
|
71
71
|
this.validateComponent(Component);
|
|
72
72
|
const CerbComponent = (internalProps) => {
|
|
73
|
-
const {
|
|
74
|
-
|
|
73
|
+
const {
|
|
74
|
+
css: customCss,
|
|
75
|
+
className,
|
|
76
|
+
...restOfInternalProps
|
|
77
|
+
} = internalProps;
|
|
78
|
+
const [variantOptions, nativeProps] = recipe.splitVariantProps(restOfInternalProps);
|
|
75
79
|
const recipeStyles = recipe(variantOptions);
|
|
76
80
|
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
77
81
|
Component,
|
|
@@ -102,8 +106,12 @@ var CerberusPrimitive = class {
|
|
|
102
106
|
const recipe = this.recipe;
|
|
103
107
|
this.validateComponent(Component);
|
|
104
108
|
const CerbComponent = (internalProps) => {
|
|
105
|
-
const {
|
|
106
|
-
|
|
109
|
+
const {
|
|
110
|
+
css: customCss,
|
|
111
|
+
className,
|
|
112
|
+
...restOfInternalProps
|
|
113
|
+
} = internalProps;
|
|
114
|
+
const [variantOptions, nativeProps] = recipe.splitVariantProps(restOfInternalProps);
|
|
107
115
|
const styles = recipe(variantOptions);
|
|
108
116
|
const slotStyles = styles[slot];
|
|
109
117
|
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/notifications/parts.ts","../../../../src/components/notifications/primitives.tsx","../../../../src/system/primitive-factory.tsx","../../../../src/system/index.ts"],"sourcesContent":["import type { ElementType } from 'react'\nimport {\n NotificationActionTrigger,\n NotificationCloseTrigger,\n NotificationDescription,\n NotificationHeading,\n NotificationRoot,\n} from './primitives'\n\n/**\n * This module contains the parts of the Notification parts.\n * @module 'notification/parts'\n */\n\ninterface NotificationPartsValue {\n /**\n * The context provider of the notification.\n */\n Root: ElementType\n /**\n * The title heading of the notification.\n */\n Heading: ElementType\n /**\n * The description of the notification.\n */\n Description: ElementType\n /**\n * The close button of the notification.\n */\n CloseTrigger: ElementType\n /**\n * The action trigger of the notification.\n */\n ActionTrigger: ElementType\n}\n\n/**\n * An Object containing the parts of the Notification components. For users that\n * prefer Object component syntax.\n *\n * @remarks\n *\n * When using object component syntax, you import the NotificationParts object and\n * the entire family of components vs. only what you use.\n */\nexport const NotificationParts: NotificationPartsValue = {\n Root: NotificationRoot,\n Heading: NotificationHeading,\n Description: NotificationDescription,\n CloseTrigger: NotificationCloseTrigger,\n ActionTrigger: NotificationActionTrigger,\n}\n","import {\n Toast,\n Toaster,\n type ToastActionTriggerProps,\n type ToastCloseTriggerProps,\n type ToastDescriptionProps,\n type ToasterProps,\n type ToastRootProps,\n type ToastTitleProps,\n} from '@ark-ui/react/toast'\nimport { toast } from 'styled-system/recipes'\nimport {\n createCerberusPrimitive,\n type CerberusPrimitiveProps,\n} from '../../system/index'\n\n/**\n * This module contains the primitives of the Notification component.\n * @module 'notification/primitives'\n */\n\nconst { withSlotRecipe } = createCerberusPrimitive(toast)\n\n// Toaster\n\nexport type NotificationProviderProps = ToasterProps\nexport const NotificationProvider = Toaster\n\n// Root\n\nexport type NotificationRootProps = CerberusPrimitiveProps<ToastRootProps>\nexport const NotificationRoot = withSlotRecipe<NotificationRootProps>(\n Toast.Root,\n 'root',\n)\n\n// Heading\n\nexport type NotificationHeadingProps = CerberusPrimitiveProps<ToastTitleProps>\nexport const NotificationHeading = withSlotRecipe<NotificationHeadingProps>(\n Toast.Title,\n 'title',\n)\n\n// Description\n\nexport type NotificationDescriptionProps =\n CerberusPrimitiveProps<ToastDescriptionProps>\nexport const NotificationDescription =\n withSlotRecipe<NotificationDescriptionProps>(Toast.Description, 'description')\n\n// Close Trigger\n\nexport type NotificationCloseTriggerProps =\n CerberusPrimitiveProps<ToastCloseTriggerProps>\nexport const NotificationCloseTrigger =\n withSlotRecipe<NotificationCloseTriggerProps>(\n Toast.CloseTrigger,\n 'closeTrigger',\n )\n\n// Action Trigger\n\nexport type NotificationActionTriggerProps =\n CerberusPrimitiveProps<ToastActionTriggerProps>\nexport const NotificationActionTrigger =\n withSlotRecipe<NotificationActionTriggerProps>(\n Toast.ActionTrigger,\n 'actionTrigger',\n )\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 { css: customCss, className, ...nativeProps } = internalProps\n\n const [variantOptions] = recipe.splitVariantProps(nativeProps)\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 { css: customCss, className, ...nativeProps } = internalProps\n\n const [variantOptions] = recipe.splitVariantProps(nativeProps)\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"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAA,mBASO;AACP,qBAAsB;;;ACVtB,iBAAwB;AAmEX;AA9CN,IAAM,oBAAN,MAAwB;AAAA,EAG7B,YAAY,QAAkC;AAF9C;AAkCA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,wCAAe,CACb,WACA,YAC2B;AAC3B,YAAM,EAAE,aAAa,IAAI,WAAW,CAAC;AAErC,WAAK,kBAAkB,SAAS;AAEhC,YAAM,gBAAgB,CAAC,UAA0C;AAC/D,cAAM,EAAE,KAAK,WAAW,WAAW,GAAG,YAAY,IAAI;AACtD,cAAM,SAAS,KAAK,cAAU,eAAG,eAAW,gBAAI,SAAS,CAAC,CAAC;AAC3D,eAAO,4CAAC,aAAW,GAAG,cAAe,GAAG,QAAS,GAAI,aAAmB;AAAA,MAC1E;AAEA,oBAAc,cAAc,UAAU,eAAe,UAAU;AAC/D,aAAO;AAAA,IACT;AASA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,sCAAa,CACX,WACA,YAC+D;AAC/D,YAAM,EAAE,aAAa,IAAI,WAAW,CAAC;AACrC,YAAM,SAAS,KAAK;AAEpB,WAAK,kBAAkB,SAAS;AAEhC,YAAM,gBAAgB,CAAC,kBAAkD;AACvE,cAAM,EAAE,KAAK,WAAW,WAAW,GAAG,YAAY,IAAI;AAEtD,cAAM,CAAC,cAAc,IAAI,OAAO,kBAAkB,WAAW;AAC7D,cAAM,eAAe,OAAO,cAAc;AAE1C,eACE;AAAA,UAAC;AAAA;AAAA,YACE,GAAG;AAAA,YACH,GAAI;AAAA,YACL,eAAW,eAAG,WAAW,kBAAc,gBAAI,SAAS,CAAC;AAAA;AAAA,QACvD;AAAA,MAEJ;AAEA,oBAAc,cAAc,UAAU,eAAe,UAAU;AAC/D,aAAO;AAAA,IACT;AAcA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,0CAAiB,CACf,WACA,MACA,YACG;AACH,YAAM,EAAE,aAAa,IAAI,WAAW,CAAC;AACrC,YAAM,SAAS,KAAK;AAEpB,WAAK,kBAAkB,SAAS;AAEhC,YAAM,gBAAgB,CAAC,kBAAkD;AACvE,cAAM,EAAE,KAAK,WAAW,WAAW,GAAG,YAAY,IAAI;AAEtD,cAAM,CAAC,cAAc,IAAI,OAAO,kBAAkB,WAAW;AAC7D,cAAM,SAAS,OAAO,cAAc;AACpC,cAAM,aAAa,OAAO,IAA2B;AAErD,eACE;AAAA,UAAC;AAAA;AAAA,YACE,GAAG;AAAA,YACH,GAAI;AAAA,YACL,eAAW,eAAG,WAAW,gBAAY,gBAAI,SAAS,CAAC;AAAA;AAAA,QACrD;AAAA,MAEJ;AAEA,oBAAc,cAAc,UAAU,eAAe,UAAU;AAC/D,aAAO;AAAA,IACT;AA5HE,SAAK,SAAS,UAAU;AAAA,EAC1B;AAAA,EAEQ,UAAU,QAAqD;AACrE,QAAI,QAAQ;AACV,aAAO;AAAA,QACL,WAAW;AAAA,MACb;AAAA,IACF;AACA,WAAO,CAAC;AAAA,EACV;AAAA,EAEQ,kBACN,WACA;AACA,QAAI,OAAO,cAAc,cAAc,OAAO,cAAc,UAAU;AACpE,YAAM,IAAI,MAAM,mDAAmD;AAAA,IACrE;AAAA,EACF;AA2GF;;;AChIO,SAAS,wBACd,QACA;AACA,SAAO,IAAI,kBAAkB,MAAM;AACrC;;;AFLA,IAAM,EAAE,eAAe,IAAI,wBAAwB,oBAAK;AAUjD,IAAM,mBAAmB;AAAA,EAC9B,mBAAM;AAAA,EACN;AACF;AAKO,IAAM,sBAAsB;AAAA,EACjC,mBAAM;AAAA,EACN;AACF;AAMO,IAAM,0BACX,eAA6C,mBAAM,aAAa,aAAa;AAMxE,IAAM,2BACX;AAAA,EACE,mBAAM;AAAA,EACN;AACF;AAMK,IAAM,4BACX;AAAA,EACE,mBAAM;AAAA,EACN;AACF;;;ADvBK,IAAM,oBAA4C;AAAA,EACvD,MAAM;AAAA,EACN,SAAS;AAAA,EACT,aAAa;AAAA,EACb,cAAc;AAAA,EACd,eAAe;AACjB;","names":[]}
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/notifications/parts.ts","../../../../src/components/notifications/primitives.tsx","../../../../src/system/primitive-factory.tsx","../../../../src/system/index.ts"],"sourcesContent":["import type { ElementType } from 'react'\nimport {\n NotificationActionTrigger,\n NotificationCloseTrigger,\n NotificationDescription,\n NotificationHeading,\n NotificationRoot,\n} from './primitives'\n\n/**\n * This module contains the parts of the Notification parts.\n * @module 'notification/parts'\n */\n\ninterface NotificationPartsValue {\n /**\n * The context provider of the notification.\n */\n Root: ElementType\n /**\n * The title heading of the notification.\n */\n Heading: ElementType\n /**\n * The description of the notification.\n */\n Description: ElementType\n /**\n * The close button of the notification.\n */\n CloseTrigger: ElementType\n /**\n * The action trigger of the notification.\n */\n ActionTrigger: ElementType\n}\n\n/**\n * An Object containing the parts of the Notification components. For users that\n * prefer Object component syntax.\n *\n * @remarks\n *\n * When using object component syntax, you import the NotificationParts object and\n * the entire family of components vs. only what you use.\n */\nexport const NotificationParts: NotificationPartsValue = {\n Root: NotificationRoot,\n Heading: NotificationHeading,\n Description: NotificationDescription,\n CloseTrigger: NotificationCloseTrigger,\n ActionTrigger: NotificationActionTrigger,\n}\n","import {\n Toast,\n Toaster,\n type ToastActionTriggerProps,\n type ToastCloseTriggerProps,\n type ToastDescriptionProps,\n type ToasterProps,\n type ToastRootProps,\n type ToastTitleProps,\n} from '@ark-ui/react/toast'\nimport { toast } from 'styled-system/recipes'\nimport {\n createCerberusPrimitive,\n type CerberusPrimitiveProps,\n} from '../../system/index'\n\n/**\n * This module contains the primitives of the Notification component.\n * @module 'notification/primitives'\n */\n\nconst { withSlotRecipe } = createCerberusPrimitive(toast)\n\n// Toaster\n\nexport type NotificationProviderProps = ToasterProps\nexport const NotificationProvider = Toaster\n\n// Root\n\nexport type NotificationRootProps = CerberusPrimitiveProps<ToastRootProps>\nexport const NotificationRoot = withSlotRecipe<NotificationRootProps>(\n Toast.Root,\n 'root',\n)\n\n// Heading\n\nexport type NotificationHeadingProps = CerberusPrimitiveProps<ToastTitleProps>\nexport const NotificationHeading = withSlotRecipe<NotificationHeadingProps>(\n Toast.Title,\n 'title',\n)\n\n// Description\n\nexport type NotificationDescriptionProps =\n CerberusPrimitiveProps<ToastDescriptionProps>\nexport const NotificationDescription =\n withSlotRecipe<NotificationDescriptionProps>(Toast.Description, 'description')\n\n// Close Trigger\n\nexport type NotificationCloseTriggerProps =\n CerberusPrimitiveProps<ToastCloseTriggerProps>\nexport const NotificationCloseTrigger =\n withSlotRecipe<NotificationCloseTriggerProps>(\n Toast.CloseTrigger,\n 'closeTrigger',\n )\n\n// Action Trigger\n\nexport type NotificationActionTriggerProps =\n CerberusPrimitiveProps<ToastActionTriggerProps>\nexport const NotificationActionTrigger =\n withSlotRecipe<NotificationActionTriggerProps>(\n Toast.ActionTrigger,\n 'actionTrigger',\n )\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"],"mappings":"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","names":[]}
|
|
@@ -73,8 +73,12 @@ var CerberusPrimitive = class {
|
|
|
73
73
|
const recipe = this.recipe;
|
|
74
74
|
this.validateComponent(Component);
|
|
75
75
|
const CerbComponent = (internalProps) => {
|
|
76
|
-
const {
|
|
77
|
-
|
|
76
|
+
const {
|
|
77
|
+
css: customCss,
|
|
78
|
+
className,
|
|
79
|
+
...restOfInternalProps
|
|
80
|
+
} = internalProps;
|
|
81
|
+
const [variantOptions, nativeProps] = recipe.splitVariantProps(restOfInternalProps);
|
|
78
82
|
const recipeStyles = recipe(variantOptions);
|
|
79
83
|
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
80
84
|
Component,
|
|
@@ -105,8 +109,12 @@ var CerberusPrimitive = class {
|
|
|
105
109
|
const recipe = this.recipe;
|
|
106
110
|
this.validateComponent(Component);
|
|
107
111
|
const CerbComponent = (internalProps) => {
|
|
108
|
-
const {
|
|
109
|
-
|
|
112
|
+
const {
|
|
113
|
+
css: customCss,
|
|
114
|
+
className,
|
|
115
|
+
...restOfInternalProps
|
|
116
|
+
} = internalProps;
|
|
117
|
+
const [variantOptions, nativeProps] = recipe.splitVariantProps(restOfInternalProps);
|
|
110
118
|
const styles = recipe(variantOptions);
|
|
111
119
|
const slotStyles = styles[slot];
|
|
112
120
|
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/notifications/primitives.tsx","../../../../src/system/primitive-factory.tsx","../../../../src/system/index.ts"],"sourcesContent":["import {\n Toast,\n Toaster,\n type ToastActionTriggerProps,\n type ToastCloseTriggerProps,\n type ToastDescriptionProps,\n type ToasterProps,\n type ToastRootProps,\n type ToastTitleProps,\n} from '@ark-ui/react/toast'\nimport { toast } from 'styled-system/recipes'\nimport {\n createCerberusPrimitive,\n type CerberusPrimitiveProps,\n} from '../../system/index'\n\n/**\n * This module contains the primitives of the Notification component.\n * @module 'notification/primitives'\n */\n\nconst { withSlotRecipe } = createCerberusPrimitive(toast)\n\n// Toaster\n\nexport type NotificationProviderProps = ToasterProps\nexport const NotificationProvider = Toaster\n\n// Root\n\nexport type NotificationRootProps = CerberusPrimitiveProps<ToastRootProps>\nexport const NotificationRoot = withSlotRecipe<NotificationRootProps>(\n Toast.Root,\n 'root',\n)\n\n// Heading\n\nexport type NotificationHeadingProps = CerberusPrimitiveProps<ToastTitleProps>\nexport const NotificationHeading = withSlotRecipe<NotificationHeadingProps>(\n Toast.Title,\n 'title',\n)\n\n// Description\n\nexport type NotificationDescriptionProps =\n CerberusPrimitiveProps<ToastDescriptionProps>\nexport const NotificationDescription =\n withSlotRecipe<NotificationDescriptionProps>(Toast.Description, 'description')\n\n// Close Trigger\n\nexport type NotificationCloseTriggerProps =\n CerberusPrimitiveProps<ToastCloseTriggerProps>\nexport const NotificationCloseTrigger =\n withSlotRecipe<NotificationCloseTriggerProps>(\n Toast.CloseTrigger,\n 'closeTrigger',\n )\n\n// Action Trigger\n\nexport type NotificationActionTriggerProps =\n CerberusPrimitiveProps<ToastActionTriggerProps>\nexport const NotificationActionTrigger =\n withSlotRecipe<NotificationActionTriggerProps>(\n Toast.ActionTrigger,\n 'actionTrigger',\n )\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 { css: customCss, className, ...nativeProps } = internalProps\n\n const [variantOptions] = recipe.splitVariantProps(nativeProps)\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 { css: customCss, className, ...nativeProps } = internalProps\n\n const [variantOptions] = recipe.splitVariantProps(nativeProps)\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"],"mappings":"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","names":[]}
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/notifications/primitives.tsx","../../../../src/system/primitive-factory.tsx","../../../../src/system/index.ts"],"sourcesContent":["import {\n Toast,\n Toaster,\n type ToastActionTriggerProps,\n type ToastCloseTriggerProps,\n type ToastDescriptionProps,\n type ToasterProps,\n type ToastRootProps,\n type ToastTitleProps,\n} from '@ark-ui/react/toast'\nimport { toast } from 'styled-system/recipes'\nimport {\n createCerberusPrimitive,\n type CerberusPrimitiveProps,\n} from '../../system/index'\n\n/**\n * This module contains the primitives of the Notification component.\n * @module 'notification/primitives'\n */\n\nconst { withSlotRecipe } = createCerberusPrimitive(toast)\n\n// Toaster\n\nexport type NotificationProviderProps = ToasterProps\nexport const NotificationProvider = Toaster\n\n// Root\n\nexport type NotificationRootProps = CerberusPrimitiveProps<ToastRootProps>\nexport const NotificationRoot = withSlotRecipe<NotificationRootProps>(\n Toast.Root,\n 'root',\n)\n\n// Heading\n\nexport type NotificationHeadingProps = CerberusPrimitiveProps<ToastTitleProps>\nexport const NotificationHeading = withSlotRecipe<NotificationHeadingProps>(\n Toast.Title,\n 'title',\n)\n\n// Description\n\nexport type NotificationDescriptionProps =\n CerberusPrimitiveProps<ToastDescriptionProps>\nexport const NotificationDescription =\n withSlotRecipe<NotificationDescriptionProps>(Toast.Description, 'description')\n\n// Close Trigger\n\nexport type NotificationCloseTriggerProps =\n CerberusPrimitiveProps<ToastCloseTriggerProps>\nexport const NotificationCloseTrigger =\n withSlotRecipe<NotificationCloseTriggerProps>(\n Toast.CloseTrigger,\n 'closeTrigger',\n )\n\n// Action Trigger\n\nexport type NotificationActionTriggerProps =\n CerberusPrimitiveProps<ToastActionTriggerProps>\nexport const NotificationActionTrigger =\n withSlotRecipe<NotificationActionTriggerProps>(\n Toast.ActionTrigger,\n 'actionTrigger',\n )\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"],"mappings":"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","names":[]}
|
|
@@ -72,8 +72,12 @@ var CerberusPrimitive = class {
|
|
|
72
72
|
const recipe = this.recipe;
|
|
73
73
|
this.validateComponent(Component);
|
|
74
74
|
const CerbComponent = (internalProps) => {
|
|
75
|
-
const {
|
|
76
|
-
|
|
75
|
+
const {
|
|
76
|
+
css: customCss,
|
|
77
|
+
className,
|
|
78
|
+
...restOfInternalProps
|
|
79
|
+
} = internalProps;
|
|
80
|
+
const [variantOptions, nativeProps] = recipe.splitVariantProps(restOfInternalProps);
|
|
77
81
|
const recipeStyles = recipe(variantOptions);
|
|
78
82
|
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
79
83
|
Component,
|
|
@@ -104,8 +108,12 @@ var CerberusPrimitive = class {
|
|
|
104
108
|
const recipe = this.recipe;
|
|
105
109
|
this.validateComponent(Component);
|
|
106
110
|
const CerbComponent = (internalProps) => {
|
|
107
|
-
const {
|
|
108
|
-
|
|
111
|
+
const {
|
|
112
|
+
css: customCss,
|
|
113
|
+
className,
|
|
114
|
+
...restOfInternalProps
|
|
115
|
+
} = internalProps;
|
|
116
|
+
const [variantOptions, nativeProps] = recipe.splitVariantProps(restOfInternalProps);
|
|
109
117
|
const styles = recipe(variantOptions);
|
|
110
118
|
const slotStyles = styles[slot];
|
|
111
119
|
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/progress/index.ts","../../../../src/components/progress/primitives.ts","../../../../src/system/primitive-factory.tsx","../../../../src/system/index.ts","../../../../src/components/progress/progress-bar.tsx"],"sourcesContent":["export * from './primitives'\nexport * from './progress-bar'\n","import { ark, type HTMLArkProps } from '@ark-ui/react/factory'\nimport {\n progressBar,\n type ProgressBarVariantProps,\n} from 'styled-system/recipes'\nimport {\n createCerberusPrimitive,\n type CerberusPrimitiveProps,\n} from '../../system/index'\n\n/**\n * This module contains the ProgressBar component primitives.\n * @module @cerberus-design/react/components/progress-bar/primitives\n */\n\nconst { withSlotRecipe } = createCerberusPrimitive(progressBar)\n\n// Root\n\nexport type ProgressBarRootProps = CerberusPrimitiveProps<\n HTMLArkProps<'div'> & ProgressBarVariantProps\n>\nexport const ProgressBarRoot = withSlotRecipe<ProgressBarRootProps>(\n ark.div,\n 'root',\n {\n defaultProps: {\n 'aria-valuemin': '0',\n 'aria-valuemax': '100',\n role: 'progressbar',\n },\n },\n)\n\n// Bar\n\nexport type ProgressBarBarProps = CerberusPrimitiveProps<\n HTMLArkProps<'div'> & ProgressBarVariantProps\n>\nexport const ProgressBarBar = withSlotRecipe<ProgressBarBarProps>(\n ark.div,\n 'bar',\n)\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 { css: customCss, className, ...nativeProps } = internalProps\n\n const [variantOptions] = recipe.splitVariantProps(nativeProps)\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 { css: customCss, className, ...nativeProps } = internalProps\n\n const [variantOptions] = recipe.splitVariantProps(nativeProps)\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 {\n ProgressBarBar,\n ProgressBarRoot,\n type ProgressBarRootProps,\n} from './primitives'\n\n/**\n * This module contains the ProgressBar component.\n * @module\n */\n\nexport type NonIndeterminateProgressBarProps = {\n /**\n * A unique identifier for the progress bar. Required for accessibility.\n */\n id: string\n /**\n * A description label for the progress bar. Required for accessibility.\n */\n label: string\n /**\n * The state of the progress bar.\n */\n indeterminate?: never\n /**\n * The current value of the progress bar.\n */\n now: number\n}\nexport type IndeterminateProgressBarProps = {\n /**\n * A unique identifier for the progress bar. Required for accessibility.\n */\n id: string\n /**\n * A description label for the progress bar. Required for accessibility.\n */\n label: string\n /**\n * The state of the progress bar.\n */\n indeterminate?: true\n /**\n * The current value of the progress bar.\n */\n now?: never\n}\nexport type ProgressBarProps = ProgressBarRootProps &\n (NonIndeterminateProgressBarProps | IndeterminateProgressBarProps)\n\n/**\n * The ProgressBar component is used to display the progress of a task.\n * @see https://cerberus.digitalu.design/react/progress-indicators\n * @example\n * ```tsx\n * <ProgressBar value={75} />\n * ```\n */\nexport function ProgressBar(props: ProgressBarProps) {\n const { indeterminate, now, label, ...nativeProps } = props\n\n const nowClamped = Math.min(100, Math.max(0, now || 0))\n const width = {\n width: indeterminate ? '50%' : `${nowClamped}%`,\n }\n\n return (\n <ProgressBarRoot\n {...nativeProps}\n aria-label={label}\n aria-valuenow={indeterminate ? 0 : nowClamped}\n >\n <ProgressBarBar\n {...(indeterminate && { 'data-state': 'indeterminate' })}\n data-complete={nowClamped === 100}\n style={width}\n />\n </ProgressBarRoot>\n )\n}\n"],"mappings":"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","names":["import_jsx_runtime"]}
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/progress/index.ts","../../../../src/components/progress/primitives.ts","../../../../src/system/primitive-factory.tsx","../../../../src/system/index.ts","../../../../src/components/progress/progress-bar.tsx"],"sourcesContent":["export * from './primitives'\nexport * from './progress-bar'\n","import { ark, type HTMLArkProps } from '@ark-ui/react/factory'\nimport {\n progressBar,\n type ProgressBarVariantProps,\n} from 'styled-system/recipes'\nimport {\n createCerberusPrimitive,\n type CerberusPrimitiveProps,\n} from '../../system/index'\n\n/**\n * This module contains the ProgressBar component primitives.\n * @module @cerberus-design/react/components/progress-bar/primitives\n */\n\nconst { withSlotRecipe } = createCerberusPrimitive(progressBar)\n\n// Root\n\nexport type ProgressBarRootProps = CerberusPrimitiveProps<\n HTMLArkProps<'div'> & ProgressBarVariantProps\n>\nexport const ProgressBarRoot = withSlotRecipe<ProgressBarRootProps>(\n ark.div,\n 'root',\n {\n defaultProps: {\n 'aria-valuemin': '0',\n 'aria-valuemax': '100',\n role: 'progressbar',\n },\n },\n)\n\n// Bar\n\nexport type ProgressBarBarProps = CerberusPrimitiveProps<\n HTMLArkProps<'div'> & ProgressBarVariantProps\n>\nexport const ProgressBarBar = withSlotRecipe<ProgressBarBarProps>(\n ark.div,\n 'bar',\n)\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 {\n ProgressBarBar,\n ProgressBarRoot,\n type ProgressBarRootProps,\n} from './primitives'\n\n/**\n * This module contains the ProgressBar component.\n * @module\n */\n\nexport type NonIndeterminateProgressBarProps = {\n /**\n * A unique identifier for the progress bar. Required for accessibility.\n */\n id: string\n /**\n * A description label for the progress bar. Required for accessibility.\n */\n label: string\n /**\n * The state of the progress bar.\n */\n indeterminate?: never\n /**\n * The current value of the progress bar.\n */\n now: number\n}\nexport type IndeterminateProgressBarProps = {\n /**\n * A unique identifier for the progress bar. Required for accessibility.\n */\n id: string\n /**\n * A description label for the progress bar. Required for accessibility.\n */\n label: string\n /**\n * The state of the progress bar.\n */\n indeterminate?: true\n /**\n * The current value of the progress bar.\n */\n now?: never\n}\nexport type ProgressBarProps = ProgressBarRootProps &\n (NonIndeterminateProgressBarProps | IndeterminateProgressBarProps)\n\n/**\n * The ProgressBar component is used to display the progress of a task.\n * @see https://cerberus.digitalu.design/react/progress-indicators\n * @example\n * ```tsx\n * <ProgressBar value={75} />\n * ```\n */\nexport function ProgressBar(props: ProgressBarProps) {\n const { indeterminate, now, label, ...nativeProps } = props\n\n const nowClamped = Math.min(100, Math.max(0, now || 0))\n const width = {\n width: indeterminate ? '50%' : `${nowClamped}%`,\n }\n\n return (\n <ProgressBarRoot\n {...nativeProps}\n aria-label={label}\n aria-valuenow={indeterminate ? 0 : nowClamped}\n >\n <ProgressBarBar\n {...(indeterminate && { 'data-state': 'indeterminate' })}\n data-complete={nowClamped === 100}\n style={width}\n />\n </ProgressBarRoot>\n )\n}\n"],"mappings":"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","names":["import_jsx_runtime"]}
|
|
@@ -69,8 +69,12 @@ var CerberusPrimitive = class {
|
|
|
69
69
|
const recipe = this.recipe;
|
|
70
70
|
this.validateComponent(Component);
|
|
71
71
|
const CerbComponent = (internalProps) => {
|
|
72
|
-
const {
|
|
73
|
-
|
|
72
|
+
const {
|
|
73
|
+
css: customCss,
|
|
74
|
+
className,
|
|
75
|
+
...restOfInternalProps
|
|
76
|
+
} = internalProps;
|
|
77
|
+
const [variantOptions, nativeProps] = recipe.splitVariantProps(restOfInternalProps);
|
|
74
78
|
const recipeStyles = recipe(variantOptions);
|
|
75
79
|
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
76
80
|
Component,
|
|
@@ -101,8 +105,12 @@ var CerberusPrimitive = class {
|
|
|
101
105
|
const recipe = this.recipe;
|
|
102
106
|
this.validateComponent(Component);
|
|
103
107
|
const CerbComponent = (internalProps) => {
|
|
104
|
-
const {
|
|
105
|
-
|
|
108
|
+
const {
|
|
109
|
+
css: customCss,
|
|
110
|
+
className,
|
|
111
|
+
...restOfInternalProps
|
|
112
|
+
} = internalProps;
|
|
113
|
+
const [variantOptions, nativeProps] = recipe.splitVariantProps(restOfInternalProps);
|
|
106
114
|
const styles = recipe(variantOptions);
|
|
107
115
|
const slotStyles = styles[slot];
|
|
108
116
|
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/progress/primitives.ts","../../../../src/system/primitive-factory.tsx","../../../../src/system/index.ts"],"sourcesContent":["import { ark, type HTMLArkProps } from '@ark-ui/react/factory'\nimport {\n progressBar,\n type ProgressBarVariantProps,\n} from 'styled-system/recipes'\nimport {\n createCerberusPrimitive,\n type CerberusPrimitiveProps,\n} from '../../system/index'\n\n/**\n * This module contains the ProgressBar component primitives.\n * @module @cerberus-design/react/components/progress-bar/primitives\n */\n\nconst { withSlotRecipe } = createCerberusPrimitive(progressBar)\n\n// Root\n\nexport type ProgressBarRootProps = CerberusPrimitiveProps<\n HTMLArkProps<'div'> & ProgressBarVariantProps\n>\nexport const ProgressBarRoot = withSlotRecipe<ProgressBarRootProps>(\n ark.div,\n 'root',\n {\n defaultProps: {\n 'aria-valuemin': '0',\n 'aria-valuemax': '100',\n role: 'progressbar',\n },\n },\n)\n\n// Bar\n\nexport type ProgressBarBarProps = CerberusPrimitiveProps<\n HTMLArkProps<'div'> & ProgressBarVariantProps\n>\nexport const ProgressBarBar = withSlotRecipe<ProgressBarBarProps>(\n ark.div,\n 'bar',\n)\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 {
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/progress/primitives.ts","../../../../src/system/primitive-factory.tsx","../../../../src/system/index.ts"],"sourcesContent":["import { ark, type HTMLArkProps } from '@ark-ui/react/factory'\nimport {\n progressBar,\n type ProgressBarVariantProps,\n} from 'styled-system/recipes'\nimport {\n createCerberusPrimitive,\n type CerberusPrimitiveProps,\n} from '../../system/index'\n\n/**\n * This module contains the ProgressBar component primitives.\n * @module @cerberus-design/react/components/progress-bar/primitives\n */\n\nconst { withSlotRecipe } = createCerberusPrimitive(progressBar)\n\n// Root\n\nexport type ProgressBarRootProps = CerberusPrimitiveProps<\n HTMLArkProps<'div'> & ProgressBarVariantProps\n>\nexport const ProgressBarRoot = withSlotRecipe<ProgressBarRootProps>(\n ark.div,\n 'root',\n {\n defaultProps: {\n 'aria-valuemin': '0',\n 'aria-valuemax': '100',\n role: 'progressbar',\n },\n },\n)\n\n// Bar\n\nexport type ProgressBarBarProps = CerberusPrimitiveProps<\n HTMLArkProps<'div'> & ProgressBarVariantProps\n>\nexport const ProgressBarBar = withSlotRecipe<ProgressBarBarProps>(\n ark.div,\n 'bar',\n)\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"],"mappings":"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","names":[]}
|
|
@@ -70,8 +70,12 @@ var CerberusPrimitive = class {
|
|
|
70
70
|
const recipe = this.recipe;
|
|
71
71
|
this.validateComponent(Component);
|
|
72
72
|
const CerbComponent = (internalProps) => {
|
|
73
|
-
const {
|
|
74
|
-
|
|
73
|
+
const {
|
|
74
|
+
css: customCss,
|
|
75
|
+
className,
|
|
76
|
+
...restOfInternalProps
|
|
77
|
+
} = internalProps;
|
|
78
|
+
const [variantOptions, nativeProps] = recipe.splitVariantProps(restOfInternalProps);
|
|
75
79
|
const recipeStyles = recipe(variantOptions);
|
|
76
80
|
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
77
81
|
Component,
|
|
@@ -102,8 +106,12 @@ var CerberusPrimitive = class {
|
|
|
102
106
|
const recipe = this.recipe;
|
|
103
107
|
this.validateComponent(Component);
|
|
104
108
|
const CerbComponent = (internalProps) => {
|
|
105
|
-
const {
|
|
106
|
-
|
|
109
|
+
const {
|
|
110
|
+
css: customCss,
|
|
111
|
+
className,
|
|
112
|
+
...restOfInternalProps
|
|
113
|
+
} = internalProps;
|
|
114
|
+
const [variantOptions, nativeProps] = recipe.splitVariantProps(restOfInternalProps);
|
|
107
115
|
const styles = recipe(variantOptions);
|
|
108
116
|
const slotStyles = styles[slot];
|
|
109
117
|
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|