@cerberus-design/react 0.19.1 → 0.19.3
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 +20 -8
- package/build/legacy/components/accordion/index.cjs +35 -15
- package/build/legacy/components/accordion/index.cjs.map +1 -1
- package/build/legacy/components/accordion/item-group.cjs +35 -15
- package/build/legacy/components/accordion/item-group.cjs.map +1 -1
- package/build/legacy/components/accordion/item-indicator.cjs +35 -15
- package/build/legacy/components/accordion/item-indicator.cjs.map +1 -1
- package/build/legacy/components/accordion/parts.cjs +35 -15
- package/build/legacy/components/accordion/parts.cjs.map +1 -1
- package/build/legacy/components/accordion/primitives.cjs +35 -15
- package/build/legacy/components/accordion/primitives.cjs.map +1 -1
- package/build/legacy/components/admonition/admonition.cjs +35 -15
- package/build/legacy/components/admonition/admonition.cjs.map +1 -1
- package/build/legacy/components/admonition/index.cjs +35 -15
- package/build/legacy/components/admonition/index.cjs.map +1 -1
- package/build/legacy/components/admonition/match-avatar.cjs +35 -15
- package/build/legacy/components/admonition/match-avatar.cjs.map +1 -1
- package/build/legacy/components/admonition/parts.cjs +35 -15
- package/build/legacy/components/admonition/parts.cjs.map +1 -1
- package/build/legacy/components/admonition/primitives.cjs +35 -15
- package/build/legacy/components/admonition/primitives.cjs.map +1 -1
- package/build/legacy/components/avatar/avatar.cjs +35 -15
- package/build/legacy/components/avatar/avatar.cjs.map +1 -1
- package/build/legacy/components/avatar/index.cjs +35 -15
- package/build/legacy/components/avatar/index.cjs.map +1 -1
- package/build/legacy/components/avatar/parts.cjs +35 -15
- package/build/legacy/components/avatar/parts.cjs.map +1 -1
- package/build/legacy/components/avatar/primitives.cjs +35 -15
- package/build/legacy/components/avatar/primitives.cjs.map +1 -1
- package/build/legacy/components/button/button.cjs +35 -15
- package/build/legacy/components/button/button.cjs.map +1 -1
- package/build/legacy/components/button/index.cjs +35 -15
- package/build/legacy/components/button/index.cjs.map +1 -1
- package/build/legacy/components/button/parts.cjs +35 -15
- package/build/legacy/components/button/parts.cjs.map +1 -1
- package/build/legacy/components/button/primitives.cjs +35 -15
- package/build/legacy/components/button/primitives.cjs.map +1 -1
- package/build/legacy/components/checkbox/checkbox-icon.cjs +35 -15
- package/build/legacy/components/checkbox/checkbox-icon.cjs.map +1 -1
- package/build/legacy/components/checkbox/checkbox.cjs +35 -15
- package/build/legacy/components/checkbox/checkbox.cjs.map +1 -1
- package/build/legacy/components/checkbox/index.cjs +35 -15
- package/build/legacy/components/checkbox/index.cjs.map +1 -1
- package/build/legacy/components/checkbox/parts.cjs +35 -15
- package/build/legacy/components/checkbox/parts.cjs.map +1 -1
- package/build/legacy/components/checkbox/primitives.cjs +35 -15
- package/build/legacy/components/checkbox/primitives.cjs.map +1 -1
- package/build/legacy/components/circular-progress/circular-progress.cjs +35 -15
- package/build/legacy/components/circular-progress/circular-progress.cjs.map +1 -1
- package/build/legacy/components/circular-progress/index.cjs +35 -15
- package/build/legacy/components/circular-progress/index.cjs.map +1 -1
- package/build/legacy/components/circular-progress/primitives.cjs +35 -15
- package/build/legacy/components/circular-progress/primitives.cjs.map +1 -1
- package/build/legacy/components/combobox/combobox.cjs +35 -15
- package/build/legacy/components/combobox/combobox.cjs.map +1 -1
- package/build/legacy/components/combobox/index.cjs +35 -15
- package/build/legacy/components/combobox/index.cjs.map +1 -1
- package/build/legacy/components/combobox/item-group.cjs +35 -15
- package/build/legacy/components/combobox/item-group.cjs.map +1 -1
- package/build/legacy/components/combobox/item.cjs +35 -15
- package/build/legacy/components/combobox/item.cjs.map +1 -1
- package/build/legacy/components/combobox/parts.cjs +35 -15
- package/build/legacy/components/combobox/parts.cjs.map +1 -1
- package/build/legacy/components/combobox/primitives.cjs +35 -15
- package/build/legacy/components/combobox/primitives.cjs.map +1 -1
- package/build/legacy/components/combobox/use-stateful-collection.cjs +35 -15
- package/build/legacy/components/combobox/use-stateful-collection.cjs.map +1 -1
- package/build/legacy/components/cta-dialog/index.cjs +35 -15
- package/build/legacy/components/cta-dialog/index.cjs.map +1 -1
- package/build/legacy/components/cta-dialog/provider.cjs +35 -15
- package/build/legacy/components/cta-dialog/provider.cjs.map +1 -1
- package/build/legacy/components/cta-dialog/trigger-item.cjs +35 -15
- package/build/legacy/components/cta-dialog/trigger-item.cjs.map +1 -1
- package/build/legacy/components/date-picker/calendar.cjs +35 -15
- package/build/legacy/components/date-picker/calendar.cjs.map +1 -1
- package/build/legacy/components/date-picker/content.cjs +35 -15
- package/build/legacy/components/date-picker/content.cjs.map +1 -1
- package/build/legacy/components/date-picker/date-picker.cjs +35 -15
- package/build/legacy/components/date-picker/date-picker.cjs.map +1 -1
- package/build/legacy/components/date-picker/day-view.cjs +35 -15
- package/build/legacy/components/date-picker/day-view.cjs.map +1 -1
- package/build/legacy/components/date-picker/index.cjs +35 -15
- package/build/legacy/components/date-picker/index.cjs.map +1 -1
- package/build/legacy/components/date-picker/input.cjs +35 -15
- package/build/legacy/components/date-picker/input.cjs.map +1 -1
- package/build/legacy/components/date-picker/month-view.cjs +35 -15
- package/build/legacy/components/date-picker/month-view.cjs.map +1 -1
- package/build/legacy/components/date-picker/parts.cjs +35 -15
- package/build/legacy/components/date-picker/parts.cjs.map +1 -1
- package/build/legacy/components/date-picker/primitives.cjs +35 -15
- package/build/legacy/components/date-picker/primitives.cjs.map +1 -1
- package/build/legacy/components/date-picker/range-input.cjs +35 -15
- package/build/legacy/components/date-picker/range-input.cjs.map +1 -1
- package/build/legacy/components/date-picker/trigger.cjs +35 -15
- package/build/legacy/components/date-picker/trigger.cjs.map +1 -1
- package/build/legacy/components/date-picker/view-control-group.cjs +35 -15
- package/build/legacy/components/date-picker/view-control-group.cjs.map +1 -1
- package/build/legacy/components/date-picker/year-view.cjs +35 -15
- package/build/legacy/components/date-picker/year-view.cjs.map +1 -1
- package/build/legacy/components/deprecated/Label.cjs +35 -15
- package/build/legacy/components/deprecated/Label.cjs.map +1 -1
- package/build/legacy/components/dialog/close-icon-trigger.cjs +35 -15
- package/build/legacy/components/dialog/close-icon-trigger.cjs.map +1 -1
- package/build/legacy/components/dialog/dialog.cjs +35 -15
- package/build/legacy/components/dialog/dialog.cjs.map +1 -1
- package/build/legacy/components/dialog/index.cjs +35 -15
- package/build/legacy/components/dialog/index.cjs.map +1 -1
- package/build/legacy/components/dialog/parts.cjs +35 -15
- package/build/legacy/components/dialog/parts.cjs.map +1 -1
- package/build/legacy/components/dialog/primitives.cjs +35 -15
- package/build/legacy/components/dialog/primitives.cjs.map +1 -1
- package/build/legacy/components/field/field.cjs +35 -15
- package/build/legacy/components/field/field.cjs.map +1 -1
- package/build/legacy/components/field/helper-text.cjs +35 -15
- package/build/legacy/components/field/helper-text.cjs.map +1 -1
- package/build/legacy/components/field/index.cjs +37 -16
- package/build/legacy/components/field/index.cjs.map +1 -1
- package/build/legacy/components/field/input.cjs +37 -16
- package/build/legacy/components/field/input.cjs.map +1 -1
- package/build/legacy/components/field/parts.cjs +37 -16
- package/build/legacy/components/field/parts.cjs.map +1 -1
- package/build/legacy/components/field/primitives.cjs +37 -16
- 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 +35 -15
- package/build/legacy/components/fieldset/fieldset.cjs.map +1 -1
- package/build/legacy/components/fieldset/index.cjs +35 -15
- package/build/legacy/components/fieldset/index.cjs.map +1 -1
- package/build/legacy/components/fieldset/parts.cjs +35 -15
- package/build/legacy/components/fieldset/parts.cjs.map +1 -1
- package/build/legacy/components/fieldset/primitives.cjs +35 -15
- package/build/legacy/components/fieldset/primitives.cjs.map +1 -1
- package/build/legacy/components/file-upload/file-status.cjs +36 -16
- package/build/legacy/components/file-upload/file-status.cjs.map +1 -1
- package/build/legacy/components/file-upload/file-uploader.cjs +35 -15
- package/build/legacy/components/file-upload/file-uploader.cjs.map +1 -1
- package/build/legacy/components/file-upload/index.cjs +36 -16
- package/build/legacy/components/file-upload/index.cjs.map +1 -1
- package/build/legacy/components/icon-button/button.cjs +35 -15
- package/build/legacy/components/icon-button/button.cjs.map +1 -1
- package/build/legacy/components/icon-button/index.cjs +35 -15
- package/build/legacy/components/icon-button/index.cjs.map +1 -1
- package/build/legacy/components/icon-button/primitives.cjs +35 -15
- package/build/legacy/components/icon-button/primitives.cjs.map +1 -1
- package/build/legacy/components/menu/index.cjs +35 -15
- package/build/legacy/components/menu/index.cjs.map +1 -1
- package/build/legacy/components/menu/menu.cjs +35 -15
- package/build/legacy/components/menu/menu.cjs.map +1 -1
- package/build/legacy/components/menu/primitives.cjs +35 -15
- package/build/legacy/components/menu/primitives.cjs.map +1 -1
- package/build/legacy/components/notifications/center.cjs +35 -15
- package/build/legacy/components/notifications/center.cjs.map +1 -1
- package/build/legacy/components/notifications/close-trigger.cjs +35 -15
- package/build/legacy/components/notifications/close-trigger.cjs.map +1 -1
- package/build/legacy/components/notifications/index.cjs +35 -15
- package/build/legacy/components/notifications/index.cjs.map +1 -1
- package/build/legacy/components/notifications/parts.cjs +35 -15
- package/build/legacy/components/notifications/parts.cjs.map +1 -1
- package/build/legacy/components/notifications/primitives.cjs +35 -15
- package/build/legacy/components/notifications/primitives.cjs.map +1 -1
- package/build/legacy/components/progress/index.cjs +35 -15
- package/build/legacy/components/progress/index.cjs.map +1 -1
- package/build/legacy/components/progress/primitives.cjs +35 -15
- package/build/legacy/components/progress/primitives.cjs.map +1 -1
- package/build/legacy/components/progress/progress-bar.cjs +35 -15
- package/build/legacy/components/progress/progress-bar.cjs.map +1 -1
- package/build/legacy/components/radio/index.cjs +35 -15
- package/build/legacy/components/radio/index.cjs.map +1 -1
- package/build/legacy/components/radio/parts.cjs +35 -15
- package/build/legacy/components/radio/parts.cjs.map +1 -1
- package/build/legacy/components/radio/primitives.cjs +35 -15
- package/build/legacy/components/radio/primitives.cjs.map +1 -1
- package/build/legacy/components/radio/radio.cjs +35 -15
- package/build/legacy/components/radio/radio.cjs.map +1 -1
- package/build/legacy/components/rating/index.cjs +35 -15
- package/build/legacy/components/rating/index.cjs.map +1 -1
- package/build/legacy/components/rating/parts.cjs +35 -15
- package/build/legacy/components/rating/parts.cjs.map +1 -1
- package/build/legacy/components/rating/primitives.cjs +35 -15
- package/build/legacy/components/rating/primitives.cjs.map +1 -1
- package/build/legacy/components/rating/rating.cjs +35 -15
- package/build/legacy/components/rating/rating.cjs.map +1 -1
- package/build/legacy/components/select/index.cjs +35 -15
- package/build/legacy/components/select/index.cjs.map +1 -1
- package/build/legacy/components/select/option-group.cjs +35 -15
- package/build/legacy/components/select/option-group.cjs.map +1 -1
- package/build/legacy/components/select/option.cjs +35 -15
- package/build/legacy/components/select/option.cjs.map +1 -1
- package/build/legacy/components/select/parts.cjs +35 -15
- package/build/legacy/components/select/parts.cjs.map +1 -1
- package/build/legacy/components/select/primitives.cjs +35 -15
- package/build/legacy/components/select/primitives.cjs.map +1 -1
- package/build/legacy/components/select/select.cjs +35 -15
- package/build/legacy/components/select/select.cjs.map +1 -1
- package/build/legacy/components/switch/index.cjs +35 -15
- package/build/legacy/components/switch/index.cjs.map +1 -1
- package/build/legacy/components/switch/parts.cjs +35 -15
- package/build/legacy/components/switch/parts.cjs.map +1 -1
- package/build/legacy/components/switch/primitives.cjs +35 -15
- package/build/legacy/components/switch/primitives.cjs.map +1 -1
- package/build/legacy/components/switch/switch.cjs +35 -15
- package/build/legacy/components/switch/switch.cjs.map +1 -1
- package/build/legacy/components/table/index.cjs +35 -15
- package/build/legacy/components/table/index.cjs.map +1 -1
- package/build/legacy/components/table/parts.cjs +35 -15
- package/build/legacy/components/table/parts.cjs.map +1 -1
- package/build/legacy/components/table/primitives.cjs +35 -15
- package/build/legacy/components/table/primitives.cjs.map +1 -1
- package/build/legacy/components/table/table.cjs +35 -15
- package/build/legacy/components/table/table.cjs.map +1 -1
- package/build/legacy/components/tabs/index.cjs +35 -15
- package/build/legacy/components/tabs/index.cjs.map +1 -1
- package/build/legacy/components/tabs/parts.cjs +35 -15
- package/build/legacy/components/tabs/parts.cjs.map +1 -1
- package/build/legacy/components/tabs/primitives.cjs +35 -15
- package/build/legacy/components/tabs/primitives.cjs.map +1 -1
- package/build/legacy/components/tabs/tabs.cjs +35 -15
- package/build/legacy/components/tabs/tabs.cjs.map +1 -1
- package/build/legacy/components/tag/index.cjs +35 -15
- package/build/legacy/components/tag/index.cjs.map +1 -1
- package/build/legacy/components/tag/tag.cjs +35 -15
- package/build/legacy/components/tag/tag.cjs.map +1 -1
- package/build/legacy/components/theme/index.cjs +35 -15
- package/build/legacy/components/theme/index.cjs.map +1 -1
- package/build/legacy/components/theme/theme.cjs +35 -15
- package/build/legacy/components/theme/theme.cjs.map +1 -1
- package/build/legacy/components/toggle/index.cjs +35 -15
- package/build/legacy/components/toggle/index.cjs.map +1 -1
- package/build/legacy/components/toggle/parts.cjs +35 -15
- package/build/legacy/components/toggle/parts.cjs.map +1 -1
- package/build/legacy/components/toggle/primitives.cjs +35 -15
- package/build/legacy/components/toggle/primitives.cjs.map +1 -1
- package/build/legacy/components/tooltip/index.cjs +35 -15
- package/build/legacy/components/tooltip/index.cjs.map +1 -1
- package/build/legacy/components/tooltip/parts.cjs +35 -15
- package/build/legacy/components/tooltip/parts.cjs.map +1 -1
- package/build/legacy/components/tooltip/primitives.cjs +35 -15
- package/build/legacy/components/tooltip/primitives.cjs.map +1 -1
- package/build/legacy/components/tooltip/tooltip.cjs +35 -15
- package/build/legacy/components/tooltip/tooltip.cjs.map +1 -1
- package/build/legacy/context/confirm-modal.cjs +35 -15
- package/build/legacy/context/confirm-modal.cjs.map +1 -1
- package/build/legacy/context/field.cjs +35 -15
- package/build/legacy/context/field.cjs.map +1 -1
- package/build/legacy/context/prompt-modal.cjs +37 -16
- package/build/legacy/context/prompt-modal.cjs.map +1 -1
- package/build/legacy/index.cjs +38 -17
- package/build/legacy/index.cjs.map +1 -1
- package/build/legacy/system/factory.cjs +35 -15
- package/build/legacy/system/factory.cjs.map +1 -1
- package/build/legacy/system/index.cjs +35 -15
- package/build/legacy/system/index.cjs.map +1 -1
- package/build/legacy/system/primitive-factory.cjs +35 -15
- 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 +20 -8
- package/build/modern/{chunk-M4NNRVTU.js → chunk-236F7MCH.js} +2 -2
- package/build/modern/{chunk-UKAVYSJ5.js → chunk-2D6BHWPB.js} +3 -3
- package/build/modern/{chunk-LRIYLZSL.js → chunk-2KVC3OJ3.js} +3 -3
- package/build/modern/{chunk-SQIB5EOA.js → chunk-2UQWJSA6.js} +2 -2
- package/build/modern/{chunk-KM3G4YFF.js → chunk-3NPWHL5X.js} +2 -2
- package/build/modern/{chunk-3Z4TSR6V.js → chunk-3UIV3HMB.js} +2 -2
- package/build/modern/{chunk-CIIFJ2SA.js → chunk-3X6VM5FS.js} +2 -2
- package/build/modern/{chunk-BK5BIPCG.js → chunk-3Z6W4ZFA.js} +2 -2
- package/build/modern/{chunk-7WX2RQT6.js → chunk-45ZTZUCD.js} +3 -3
- package/build/modern/{chunk-ALJYABJX.js → chunk-4O26WCRC.js} +2 -2
- package/build/modern/{chunk-WO6MF3XM.js → chunk-4O64W4BA.js} +2 -2
- package/build/modern/{chunk-UXU2CVPI.js → chunk-4SOUI4NF.js} +2 -2
- package/build/modern/{chunk-S7ALRSVU.js → chunk-5B6LMHY2.js} +2 -2
- package/build/modern/{chunk-JG5V3AK4.js → chunk-5L5PT37R.js} +3 -3
- package/build/modern/{chunk-ZZSHEW4N.js → chunk-5RLQNM73.js} +2 -2
- package/build/modern/{chunk-4WSCG2CM.js → chunk-6LU43Z4K.js} +3 -3
- package/build/modern/{chunk-4Q62OI72.js → chunk-76VTLS7X.js} +2 -2
- package/build/modern/{chunk-5XU3LUPC.js → chunk-7B2ZHSH3.js} +2 -2
- package/build/modern/{chunk-JSK6OD6J.js → chunk-7JNOY5MW.js} +2 -2
- package/build/modern/{chunk-WKAI4OK3.js → chunk-7UKNQ4RD.js} +2 -2
- package/build/modern/{chunk-OMM4CPZU.js → chunk-AOLWIMWV.js} +2 -2
- package/build/modern/{chunk-MXW63O5N.js → chunk-AQNXQVXP.js} +2 -2
- package/build/modern/{chunk-KYYKBLP2.js → chunk-BHZN6P2K.js} +2 -2
- package/build/modern/{chunk-GZ6T3352.js → chunk-BKPIKVU2.js} +36 -16
- package/build/modern/chunk-BKPIKVU2.js.map +1 -0
- package/build/modern/{chunk-LW62VSVZ.js → chunk-BSJM5VYB.js} +2 -2
- package/build/modern/{chunk-ZO3GSLWZ.js → chunk-BSZVMBX7.js} +2 -2
- package/build/modern/{chunk-BWZXR2WZ.js → chunk-BXDQ5AXV.js} +2 -2
- package/build/modern/{chunk-Y67NIX2N.js → chunk-C7XAB665.js} +3 -3
- package/build/modern/{chunk-YCVNE3CA.js → chunk-CHEYITRR.js} +2 -2
- package/build/modern/{chunk-HJ67FKQ6.js → chunk-D7BCQ2CQ.js} +2 -2
- package/build/modern/{chunk-VXG4AEMZ.js → chunk-DH7SFE2R.js} +2 -2
- package/build/modern/{chunk-BDXVYV32.js → chunk-EQ3X7KQ3.js} +2 -2
- package/build/modern/{chunk-L2G4XKLT.js → chunk-ET3UY6GV.js} +2 -2
- package/build/modern/{chunk-N2DZNGUS.js → chunk-EZJMTWXK.js} +2 -2
- package/build/modern/{chunk-2MU6WE52.js → chunk-FSX64HPK.js} +3 -3
- package/build/modern/{chunk-UHXKG2ZP.js → chunk-FVADFCAE.js} +2 -2
- package/build/modern/{chunk-J3XTP6VP.js → chunk-GFFIJGQC.js} +2 -2
- package/build/modern/{chunk-AZ5LB6IS.js → chunk-GTAIWUFQ.js} +2 -2
- package/build/modern/{chunk-VIUQS3VG.js → chunk-GZYLYTAG.js} +2 -2
- package/build/modern/{chunk-THMNM4CZ.js → chunk-HCH5I26B.js} +2 -2
- package/build/modern/{chunk-YI3P5QG4.js → chunk-HMUQEMV2.js} +2 -2
- package/build/modern/{chunk-GIIPOOSM.js → chunk-HYEFRC5Z.js} +2 -2
- package/build/modern/{chunk-QOTRCNC7.js → chunk-INQZQMLL.js} +2 -2
- package/build/modern/{chunk-2T2S226G.js → chunk-IOX43IGB.js} +2 -2
- package/build/modern/{chunk-HPWLIE64.js → chunk-IRJITAGE.js} +2 -2
- package/build/modern/{chunk-OVDJPTML.js → chunk-IVQCMXV6.js} +3 -3
- package/build/modern/{chunk-QM4DC6QF.js → chunk-IYF5FS6N.js} +2 -2
- package/build/modern/{chunk-IOK2RQK6.js → chunk-JBYWQERR.js} +4 -4
- package/build/modern/{chunk-TF2DXEUF.js → chunk-JIEN2PM7.js} +2 -2
- package/build/modern/{chunk-KLZPY4YX.js → chunk-JUSH26RO.js} +2 -2
- package/build/modern/{chunk-OFACU2SY.js → chunk-JVAGLLOA.js} +2 -2
- package/build/modern/{chunk-NH2RSI7N.js → chunk-K3NML67W.js} +2 -2
- package/build/modern/{chunk-YTKY3AHF.js → chunk-K3YEOS6O.js} +2 -2
- package/build/modern/{chunk-YZFXHGMG.js → chunk-KITDXURN.js} +2 -2
- package/build/modern/{chunk-2Q4KTP6D.js → chunk-KJYNKQX4.js} +7 -7
- package/build/modern/{chunk-2Q4KTP6D.js.map → chunk-KJYNKQX4.js.map} +1 -1
- package/build/modern/{chunk-GHM4I5BN.js → chunk-KZVCQNZI.js} +3 -3
- package/build/modern/{chunk-OVYHM5DH.js → chunk-L4KBNOWP.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-E4DXMJ3C.js → chunk-LO6YTNOP.js} +2 -2
- package/build/modern/{chunk-MG2YW4IP.js → chunk-LOJBIVY4.js} +2 -2
- package/build/modern/{chunk-CMQZN2GZ.js → chunk-MMNUVODK.js} +2 -2
- package/build/modern/{chunk-6TIG456O.js → chunk-MVHFBVDA.js} +2 -2
- package/build/modern/{chunk-IU5YJTKN.js → chunk-N5D6HNGL.js} +2 -2
- package/build/modern/{chunk-YUEVV2DE.js → chunk-NHM5IWBE.js} +2 -2
- package/build/modern/{chunk-6BNGJMNL.js → chunk-O4W2BVE7.js} +3 -3
- package/build/modern/{chunk-KSYZMMXN.js → chunk-OG644D7M.js} +3 -3
- package/build/modern/{chunk-P6WEDKIB.js → chunk-OX3NA6DQ.js} +2 -2
- package/build/modern/{chunk-2UFNNWLA.js → chunk-OYTEXDS6.js} +5 -5
- package/build/modern/{chunk-YQNOAJM7.js → chunk-OZTYYWIX.js} +2 -2
- package/build/modern/{chunk-SGFITMUF.js → chunk-P6JC32U3.js} +2 -2
- package/build/modern/{chunk-A57LVJJF.js → chunk-PZELEMIY.js} +2 -2
- package/build/modern/{chunk-2OWVBM5W.js → chunk-RI3WN6XL.js} +2 -2
- package/build/modern/{chunk-RDFAC3XX.js → chunk-RS6DS6RS.js} +2 -2
- package/build/modern/{chunk-SFAJKI45.js → chunk-RT4W6GBB.js} +2 -2
- package/build/modern/{chunk-CLGDJ4GM.js → chunk-SFS5ILWG.js} +3 -3
- package/build/modern/{chunk-RXAHVNN2.js → chunk-SITE2UML.js} +2 -2
- package/build/modern/{chunk-AJ5TWPXM.js → chunk-SKOX5PJI.js} +3 -3
- package/build/modern/{chunk-COIQJKC3.js → chunk-SP7TSFMZ.js} +2 -2
- package/build/modern/{chunk-NPZJTTTS.js → chunk-TBCTCQXG.js} +5 -5
- package/build/modern/{chunk-PQ5DEKSH.js → chunk-TIQO4VNE.js} +2 -2
- package/build/modern/{chunk-ZPMGW4U7.js → chunk-TJSHJF6G.js} +2 -2
- package/build/modern/{chunk-FMNYWD5T.js → chunk-TKHDOZWN.js} +2 -2
- package/build/modern/{chunk-ACK44GEO.js → chunk-UAVGKLHV.js} +6 -6
- package/build/modern/{chunk-4DJ6KC4K.js → chunk-UZZ26IWW.js} +6 -6
- package/build/modern/{chunk-BOATN5PB.js → chunk-V5TUC5AS.js} +2 -2
- package/build/modern/{chunk-U6ECBUYN.js → chunk-VQUJGCZW.js} +2 -2
- package/build/modern/{chunk-D47GTCQZ.js → chunk-VYJAPLLO.js} +2 -2
- package/build/modern/{chunk-RFANIL5H.js → chunk-WGWEAB2Q.js} +2 -2
- package/build/modern/{chunk-A655GBYQ.js → chunk-X24O5DTP.js} +4 -4
- package/build/modern/{chunk-ZGPHSKEB.js → chunk-YJRAJNYI.js} +3 -3
- package/build/modern/{chunk-RGLJDMIO.js → chunk-YR6G66UT.js} +3 -3
- package/build/modern/{chunk-VZXYGBU6.js → chunk-YWPXLHUO.js} +2 -2
- package/build/modern/{chunk-DC3NTCCW.js → chunk-YZG7BNVB.js} +2 -2
- package/build/modern/{chunk-BW64QBCK.js → chunk-Z5DHBMQF.js} +2 -2
- package/build/modern/{chunk-UCP3GQOJ.js → chunk-ZFONE65Q.js} +2 -2
- package/build/modern/{chunk-YVYOOJ3X.js → chunk-ZFVQQJIQ.js} +2 -2
- package/build/modern/{chunk-WGSUBJNI.js → chunk-ZZ4JETME.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 +6 -6
- 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 +49 -24
- package/src/types.ts +10 -0
- package/build/modern/chunk-GZ6T3352.js.map +0 -1
- /package/build/modern/{chunk-M4NNRVTU.js.map → chunk-236F7MCH.js.map} +0 -0
- /package/build/modern/{chunk-UKAVYSJ5.js.map → chunk-2D6BHWPB.js.map} +0 -0
- /package/build/modern/{chunk-LRIYLZSL.js.map → chunk-2KVC3OJ3.js.map} +0 -0
- /package/build/modern/{chunk-SQIB5EOA.js.map → chunk-2UQWJSA6.js.map} +0 -0
- /package/build/modern/{chunk-KM3G4YFF.js.map → chunk-3NPWHL5X.js.map} +0 -0
- /package/build/modern/{chunk-3Z4TSR6V.js.map → chunk-3UIV3HMB.js.map} +0 -0
- /package/build/modern/{chunk-CIIFJ2SA.js.map → chunk-3X6VM5FS.js.map} +0 -0
- /package/build/modern/{chunk-BK5BIPCG.js.map → chunk-3Z6W4ZFA.js.map} +0 -0
- /package/build/modern/{chunk-7WX2RQT6.js.map → chunk-45ZTZUCD.js.map} +0 -0
- /package/build/modern/{chunk-ALJYABJX.js.map → chunk-4O26WCRC.js.map} +0 -0
- /package/build/modern/{chunk-WO6MF3XM.js.map → chunk-4O64W4BA.js.map} +0 -0
- /package/build/modern/{chunk-UXU2CVPI.js.map → chunk-4SOUI4NF.js.map} +0 -0
- /package/build/modern/{chunk-S7ALRSVU.js.map → chunk-5B6LMHY2.js.map} +0 -0
- /package/build/modern/{chunk-JG5V3AK4.js.map → chunk-5L5PT37R.js.map} +0 -0
- /package/build/modern/{chunk-ZZSHEW4N.js.map → chunk-5RLQNM73.js.map} +0 -0
- /package/build/modern/{chunk-4WSCG2CM.js.map → chunk-6LU43Z4K.js.map} +0 -0
- /package/build/modern/{chunk-4Q62OI72.js.map → chunk-76VTLS7X.js.map} +0 -0
- /package/build/modern/{chunk-5XU3LUPC.js.map → chunk-7B2ZHSH3.js.map} +0 -0
- /package/build/modern/{chunk-JSK6OD6J.js.map → chunk-7JNOY5MW.js.map} +0 -0
- /package/build/modern/{chunk-WKAI4OK3.js.map → chunk-7UKNQ4RD.js.map} +0 -0
- /package/build/modern/{chunk-OMM4CPZU.js.map → chunk-AOLWIMWV.js.map} +0 -0
- /package/build/modern/{chunk-MXW63O5N.js.map → chunk-AQNXQVXP.js.map} +0 -0
- /package/build/modern/{chunk-KYYKBLP2.js.map → chunk-BHZN6P2K.js.map} +0 -0
- /package/build/modern/{chunk-LW62VSVZ.js.map → chunk-BSJM5VYB.js.map} +0 -0
- /package/build/modern/{chunk-ZO3GSLWZ.js.map → chunk-BSZVMBX7.js.map} +0 -0
- /package/build/modern/{chunk-BWZXR2WZ.js.map → chunk-BXDQ5AXV.js.map} +0 -0
- /package/build/modern/{chunk-Y67NIX2N.js.map → chunk-C7XAB665.js.map} +0 -0
- /package/build/modern/{chunk-YCVNE3CA.js.map → chunk-CHEYITRR.js.map} +0 -0
- /package/build/modern/{chunk-HJ67FKQ6.js.map → chunk-D7BCQ2CQ.js.map} +0 -0
- /package/build/modern/{chunk-VXG4AEMZ.js.map → chunk-DH7SFE2R.js.map} +0 -0
- /package/build/modern/{chunk-BDXVYV32.js.map → chunk-EQ3X7KQ3.js.map} +0 -0
- /package/build/modern/{chunk-L2G4XKLT.js.map → chunk-ET3UY6GV.js.map} +0 -0
- /package/build/modern/{chunk-N2DZNGUS.js.map → chunk-EZJMTWXK.js.map} +0 -0
- /package/build/modern/{chunk-2MU6WE52.js.map → chunk-FSX64HPK.js.map} +0 -0
- /package/build/modern/{chunk-UHXKG2ZP.js.map → chunk-FVADFCAE.js.map} +0 -0
- /package/build/modern/{chunk-J3XTP6VP.js.map → chunk-GFFIJGQC.js.map} +0 -0
- /package/build/modern/{chunk-AZ5LB6IS.js.map → chunk-GTAIWUFQ.js.map} +0 -0
- /package/build/modern/{chunk-VIUQS3VG.js.map → chunk-GZYLYTAG.js.map} +0 -0
- /package/build/modern/{chunk-THMNM4CZ.js.map → chunk-HCH5I26B.js.map} +0 -0
- /package/build/modern/{chunk-YI3P5QG4.js.map → chunk-HMUQEMV2.js.map} +0 -0
- /package/build/modern/{chunk-GIIPOOSM.js.map → chunk-HYEFRC5Z.js.map} +0 -0
- /package/build/modern/{chunk-QOTRCNC7.js.map → chunk-INQZQMLL.js.map} +0 -0
- /package/build/modern/{chunk-2T2S226G.js.map → chunk-IOX43IGB.js.map} +0 -0
- /package/build/modern/{chunk-HPWLIE64.js.map → chunk-IRJITAGE.js.map} +0 -0
- /package/build/modern/{chunk-OVDJPTML.js.map → chunk-IVQCMXV6.js.map} +0 -0
- /package/build/modern/{chunk-QM4DC6QF.js.map → chunk-IYF5FS6N.js.map} +0 -0
- /package/build/modern/{chunk-IOK2RQK6.js.map → chunk-JBYWQERR.js.map} +0 -0
- /package/build/modern/{chunk-TF2DXEUF.js.map → chunk-JIEN2PM7.js.map} +0 -0
- /package/build/modern/{chunk-KLZPY4YX.js.map → chunk-JUSH26RO.js.map} +0 -0
- /package/build/modern/{chunk-OFACU2SY.js.map → chunk-JVAGLLOA.js.map} +0 -0
- /package/build/modern/{chunk-NH2RSI7N.js.map → chunk-K3NML67W.js.map} +0 -0
- /package/build/modern/{chunk-YTKY3AHF.js.map → chunk-K3YEOS6O.js.map} +0 -0
- /package/build/modern/{chunk-YZFXHGMG.js.map → chunk-KITDXURN.js.map} +0 -0
- /package/build/modern/{chunk-GHM4I5BN.js.map → chunk-KZVCQNZI.js.map} +0 -0
- /package/build/modern/{chunk-OVYHM5DH.js.map → chunk-L4KBNOWP.js.map} +0 -0
- /package/build/modern/{chunk-E4DXMJ3C.js.map → chunk-LO6YTNOP.js.map} +0 -0
- /package/build/modern/{chunk-MG2YW4IP.js.map → chunk-LOJBIVY4.js.map} +0 -0
- /package/build/modern/{chunk-CMQZN2GZ.js.map → chunk-MMNUVODK.js.map} +0 -0
- /package/build/modern/{chunk-6TIG456O.js.map → chunk-MVHFBVDA.js.map} +0 -0
- /package/build/modern/{chunk-IU5YJTKN.js.map → chunk-N5D6HNGL.js.map} +0 -0
- /package/build/modern/{chunk-YUEVV2DE.js.map → chunk-NHM5IWBE.js.map} +0 -0
- /package/build/modern/{chunk-6BNGJMNL.js.map → chunk-O4W2BVE7.js.map} +0 -0
- /package/build/modern/{chunk-KSYZMMXN.js.map → chunk-OG644D7M.js.map} +0 -0
- /package/build/modern/{chunk-P6WEDKIB.js.map → chunk-OX3NA6DQ.js.map} +0 -0
- /package/build/modern/{chunk-2UFNNWLA.js.map → chunk-OYTEXDS6.js.map} +0 -0
- /package/build/modern/{chunk-YQNOAJM7.js.map → chunk-OZTYYWIX.js.map} +0 -0
- /package/build/modern/{chunk-SGFITMUF.js.map → chunk-P6JC32U3.js.map} +0 -0
- /package/build/modern/{chunk-A57LVJJF.js.map → chunk-PZELEMIY.js.map} +0 -0
- /package/build/modern/{chunk-2OWVBM5W.js.map → chunk-RI3WN6XL.js.map} +0 -0
- /package/build/modern/{chunk-RDFAC3XX.js.map → chunk-RS6DS6RS.js.map} +0 -0
- /package/build/modern/{chunk-SFAJKI45.js.map → chunk-RT4W6GBB.js.map} +0 -0
- /package/build/modern/{chunk-CLGDJ4GM.js.map → chunk-SFS5ILWG.js.map} +0 -0
- /package/build/modern/{chunk-RXAHVNN2.js.map → chunk-SITE2UML.js.map} +0 -0
- /package/build/modern/{chunk-AJ5TWPXM.js.map → chunk-SKOX5PJI.js.map} +0 -0
- /package/build/modern/{chunk-COIQJKC3.js.map → chunk-SP7TSFMZ.js.map} +0 -0
- /package/build/modern/{chunk-NPZJTTTS.js.map → chunk-TBCTCQXG.js.map} +0 -0
- /package/build/modern/{chunk-PQ5DEKSH.js.map → chunk-TIQO4VNE.js.map} +0 -0
- /package/build/modern/{chunk-ZPMGW4U7.js.map → chunk-TJSHJF6G.js.map} +0 -0
- /package/build/modern/{chunk-FMNYWD5T.js.map → chunk-TKHDOZWN.js.map} +0 -0
- /package/build/modern/{chunk-ACK44GEO.js.map → chunk-UAVGKLHV.js.map} +0 -0
- /package/build/modern/{chunk-4DJ6KC4K.js.map → chunk-UZZ26IWW.js.map} +0 -0
- /package/build/modern/{chunk-BOATN5PB.js.map → chunk-V5TUC5AS.js.map} +0 -0
- /package/build/modern/{chunk-U6ECBUYN.js.map → chunk-VQUJGCZW.js.map} +0 -0
- /package/build/modern/{chunk-D47GTCQZ.js.map → chunk-VYJAPLLO.js.map} +0 -0
- /package/build/modern/{chunk-RFANIL5H.js.map → chunk-WGWEAB2Q.js.map} +0 -0
- /package/build/modern/{chunk-A655GBYQ.js.map → chunk-X24O5DTP.js.map} +0 -0
- /package/build/modern/{chunk-ZGPHSKEB.js.map → chunk-YJRAJNYI.js.map} +0 -0
- /package/build/modern/{chunk-RGLJDMIO.js.map → chunk-YR6G66UT.js.map} +0 -0
- /package/build/modern/{chunk-VZXYGBU6.js.map → chunk-YWPXLHUO.js.map} +0 -0
- /package/build/modern/{chunk-DC3NTCCW.js.map → chunk-YZG7BNVB.js.map} +0 -0
- /package/build/modern/{chunk-BW64QBCK.js.map → chunk-Z5DHBMQF.js.map} +0 -0
- /package/build/modern/{chunk-UCP3GQOJ.js.map → chunk-ZFONE65Q.js.map} +0 -0
- /package/build/modern/{chunk-YVYOOJ3X.js.map → chunk-ZFVQQJIQ.js.map} +0 -0
- /package/build/modern/{chunk-WGSUBJNI.js.map → chunk-ZZ4JETME.js.map} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/deprecated/Label.tsx","../../../../src/components/field/primitives.tsx","../../../../src/system/primitive-factory.tsx","../../../../src/system/index.ts","../../../../src/components/field/error-text.tsx"],"sourcesContent":["import type { HTMLAttributes, PropsWithChildren } from 'react'\nimport { label, type LabelVariantProps } from 'styled-system/recipes'\nimport { cx } from 'styled-system/css'\nimport { FieldLabel } from '../field'\n\n/**\n * This module contains the Label component.\n * @module\n */\nexport type LabelBaseProps = HTMLAttributes<HTMLLabelElement>\nexport type LabelProps = LabelBaseProps & LabelVariantProps\n\n/**\n * @deprecated Use FieldLabel or FieldParts.Label instead.\n */\nexport function Label(props: PropsWithChildren<LabelProps>) {\n const { size, ...nativeProps } = props\n return (\n <FieldLabel\n {...nativeProps}\n className={cx(label({ size }), props.className)}\n />\n )\n}\n","import {\n Field,\n type FieldHelperTextProps as ArkFieldHelperTextProps,\n type FieldInputProps as ArkFieldInputProps,\n type FieldLabelProps as ArkFieldLabelProps,\n type FieldRootProps as ArkFieldRootProps,\n type FieldTextareaProps as ArkFieldTextareaProps,\n type FieldRequiredIndicatorProps as ArkFieldRequiredIndicatorProps,\n} from '@ark-ui/react/field'\nimport { ark, type HTMLArkProps } from '@ark-ui/react'\nimport { field, type FieldVariantProps } from 'styled-system/recipes'\nimport {\n createCerberusPrimitive,\n type CerberusPrimitiveProps,\n} from '../../system/index'\nimport { CerberusFieldInput } from './input'\nimport { CerberusFieldErrorText } from './error-text'\n\n/**\n * This module contains all the primitives of the Field component.\n * @module 'field'\n */\n\nconst { withSlotRecipe, withNoRecipe } = createCerberusPrimitive(field)\n\n// Root\n\nexport type FieldRootProps = CerberusPrimitiveProps<\n ArkFieldRootProps & FieldVariantProps\n>\nexport const FieldRoot = withSlotRecipe<FieldRootProps>(Field.Root, 'root')\n\n// Label\n\nfunction FieldLabelEl(props: FieldLabelProps) {\n const { children, ...nativeProps } = props\n return (\n <Field.Label {...nativeProps}>\n {children}\n <Field.RequiredIndicator>(required)</Field.RequiredIndicator>\n </Field.Label>\n )\n}\n\nexport type FieldLabelProps = CerberusPrimitiveProps<ArkFieldLabelProps>\nexport const FieldLabel = withSlotRecipe<FieldLabelProps>(FieldLabelEl, 'label')\n\n// Required Indicator\n\nfunction FieldRequiredIndicatorEl(props: FieldRequiredIndicatorProps) {\n return (\n <Field.RequiredIndicator {...props}>(required)</Field.RequiredIndicator>\n )\n}\n\nexport type FieldRequiredIndicatorProps =\n CerberusPrimitiveProps<ArkFieldRequiredIndicatorProps>\nexport const FieldRequiredIndicator = withNoRecipe<FieldRequiredIndicatorProps>(\n FieldRequiredIndicatorEl,\n)\n\n// Input\n\nexport type FieldInputRootProps = CerberusPrimitiveProps<\n HTMLArkProps<'div'> & FieldVariantProps\n>\nexport const FieldInputRoot = withSlotRecipe<FieldInputRootProps>(\n ark.div,\n 'inputRoot',\n)\n\nexport type FieldInputProps = CerberusPrimitiveProps<\n ArkFieldInputProps & FieldVariantProps\n>\nexport const FieldInput = withSlotRecipe<FieldInputProps>(Field.Input, 'input')\n\n// Helper Text\n\nexport type FieldHelperTextProps =\n CerberusPrimitiveProps<ArkFieldHelperTextProps>\nexport const FieldHelperText = withSlotRecipe<FieldHelperTextProps>(\n Field.HelperText,\n 'helperText',\n)\n\n// Error Text\n\nexport type FieldErrorTextProps =\n CerberusPrimitiveProps<ArkFieldHelperTextProps>\nexport const FieldErrorText = withSlotRecipe<FieldErrorTextProps>(\n CerberusFieldErrorText,\n 'errorText',\n)\n\n// Textarea\n\nexport type FieldTextareaProps = CerberusPrimitiveProps<ArkFieldTextareaProps>\nexport const FieldTextarea = withSlotRecipe<FieldTextareaProps>(\n Field.Textarea,\n 'textarea',\n)\n\n/**\n * A named export for the FieldInput component.\n * @description [Field Docs](https://cerberus.digitalu.design/react/field)\n * @example\n * ```tsx\n * import { Input } from '@cerberus/react'\n *\n * <Field\n * label=\"Enter your email\"\n * helperText=\"We'll never share your email with anyone else.\"\n * errorText=\"Email is required.\"\n * required\n * >\n * <Input type=\"email\" />\n * </Field>\n * ```\n */\nexport const Input = CerberusFieldInput\n\n/**\n * A named export for the FieldTextarea component.\n * @description [Field Docs](https://cerberus.digitalu.design/react/field)\n * @example\n * ```tsx\n * import { Textarea } from '@cerberus/react'\n *\n * <Field\n * label=\"Comments\"\n * helperText=\"Your comments are valuable to us.\"\n * >\n * <Textarea />\n * </Field>\n * ```\n */\nexport const Textarea = FieldTextarea\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 { Field } from '@ark-ui/react/field'\nimport type { FieldErrorTextProps } from './primitives'\n\n/**\n * The error text for the Field component that is shown when the field is\n * invalid.\n * @description [Field Docs](https://cerberus.digitalu.design/react/field)\n * @example\n * ```tsx\n * <FieldRoot>\n * <FieldInput />\n * <FieldErrorText>Error text</FieldErrorText>\n * </FieldRoot>\n * ```\n */\nexport function CerberusFieldErrorText(props: FieldErrorTextProps) {\n if (!props.children) return null\n return <Field.ErrorText {...props} />\n}\n"],"mappings":"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","names":["import_recipes","import_css","import_field","import_jsx_runtime","import_jsx_runtime","import_jsx_runtime"]}
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/deprecated/Label.tsx","../../../../src/components/field/primitives.tsx","../../../../src/system/primitive-factory.tsx","../../../../src/system/index.ts","../../../../src/components/field/error-text.tsx"],"sourcesContent":["import type { HTMLAttributes, PropsWithChildren } from 'react'\nimport { label, type LabelVariantProps } from 'styled-system/recipes'\nimport { cx } from 'styled-system/css'\nimport { FieldLabel } from '../field'\n\n/**\n * This module contains the Label component.\n * @module\n */\nexport type LabelBaseProps = HTMLAttributes<HTMLLabelElement>\nexport type LabelProps = LabelBaseProps & LabelVariantProps\n\n/**\n * @deprecated Use FieldLabel or FieldParts.Label instead.\n */\nexport function Label(props: PropsWithChildren<LabelProps>) {\n const { size, ...nativeProps } = props\n return (\n <FieldLabel\n {...nativeProps}\n className={cx(label({ size }), props.className)}\n />\n )\n}\n","import {\n Field,\n type FieldHelperTextProps as ArkFieldHelperTextProps,\n type FieldInputProps as ArkFieldInputProps,\n type FieldLabelProps as ArkFieldLabelProps,\n type FieldRootProps as ArkFieldRootProps,\n type FieldTextareaProps as ArkFieldTextareaProps,\n type FieldRequiredIndicatorProps as ArkFieldRequiredIndicatorProps,\n} from '@ark-ui/react/field'\nimport { ark, type HTMLArkProps } from '@ark-ui/react'\nimport { field, type FieldVariantProps } from 'styled-system/recipes'\nimport {\n createCerberusPrimitive,\n type CerberusPrimitiveProps,\n} from '../../system/index'\nimport { CerberusFieldInput } from './input'\nimport { CerberusFieldErrorText } from './error-text'\n\n/**\n * This module contains all the primitives of the Field component.\n * @module 'field'\n */\n\nconst { withSlotRecipe, withNoRecipe } = createCerberusPrimitive(field)\n\n// Root\n\nexport type FieldRootProps = CerberusPrimitiveProps<\n ArkFieldRootProps & FieldVariantProps\n>\nexport const FieldRoot = withSlotRecipe<FieldRootProps>(Field.Root, 'root')\n\n// Label\n\nfunction FieldLabelEl(props: FieldLabelProps) {\n const { children, ...nativeProps } = props\n return (\n <Field.Label {...nativeProps}>\n {children}\n <Field.RequiredIndicator>(required)</Field.RequiredIndicator>\n </Field.Label>\n )\n}\n\nexport type FieldLabelProps = CerberusPrimitiveProps<ArkFieldLabelProps>\nexport const FieldLabel = withSlotRecipe<FieldLabelProps>(FieldLabelEl, 'label')\n\n// Required Indicator\n\nfunction FieldRequiredIndicatorEl(props: FieldRequiredIndicatorProps) {\n return (\n <Field.RequiredIndicator {...props}>(required)</Field.RequiredIndicator>\n )\n}\n\nexport type FieldRequiredIndicatorProps =\n CerberusPrimitiveProps<ArkFieldRequiredIndicatorProps>\nexport const FieldRequiredIndicator = withNoRecipe<FieldRequiredIndicatorProps>(\n FieldRequiredIndicatorEl,\n)\n\n// Input\n\nexport type FieldInputRootProps = CerberusPrimitiveProps<\n HTMLArkProps<'div'> & FieldVariantProps\n>\nexport const FieldInputRoot = withSlotRecipe<FieldInputRootProps>(\n ark.div,\n 'inputRoot',\n)\n\nexport type FieldInputProps = CerberusPrimitiveProps<\n ArkFieldInputProps & FieldVariantProps\n>\nexport const FieldInput = withSlotRecipe<FieldInputProps>(Field.Input, 'input')\n\n// Helper Text\n\nexport type FieldHelperTextProps =\n CerberusPrimitiveProps<ArkFieldHelperTextProps>\nexport const FieldHelperText = withSlotRecipe<FieldHelperTextProps>(\n Field.HelperText,\n 'helperText',\n)\n\n// Error Text\n\nexport type FieldErrorTextProps =\n CerberusPrimitiveProps<ArkFieldHelperTextProps>\nexport const FieldErrorText = withSlotRecipe<FieldErrorTextProps>(\n CerberusFieldErrorText,\n 'errorText',\n)\n\n// Textarea\n\nexport type FieldTextareaProps = CerberusPrimitiveProps<ArkFieldTextareaProps>\nexport const FieldTextarea = withSlotRecipe<FieldTextareaProps>(\n Field.Textarea,\n 'textarea',\n)\n\n/**\n * A named export for the FieldInput component.\n * @description [Field Docs](https://cerberus.digitalu.design/react/field)\n * @example\n * ```tsx\n * import { Input } from '@cerberus/react'\n *\n * <Field\n * label=\"Enter your email\"\n * helperText=\"We'll never share your email with anyone else.\"\n * errorText=\"Email is required.\"\n * required\n * >\n * <Input type=\"email\" />\n * </Field>\n * ```\n */\nexport const Input = CerberusFieldInput\n\n/**\n * A named export for the FieldTextarea component.\n * @description [Field Docs](https://cerberus.digitalu.design/react/field)\n * @example\n * ```tsx\n * import { Textarea } from '@cerberus/react'\n *\n * <Field\n * label=\"Comments\"\n * helperText=\"Your comments are valuable to us.\"\n * >\n * <Textarea />\n * </Field>\n * ```\n */\nexport const Textarea = FieldTextarea\n","import { css, cx } from 'styled-system/css'\nimport type { RecipeVariantRecord } from 'styled-system/types'\nimport {\n type ComponentType,\n type ElementType,\n type HTMLAttributes,\n type PropsWithChildren,\n} from 'react'\nimport type { WithCss } from '../types'\nimport type {\n CerberusPrimitiveEl,\n CerberusPrimitiveRecipe,\n CerberusRecipe,\n CerberusSlotRecipe,\n WithRecipeOptions,\n} from './types'\n\n/**\n * This module contains a factory for creating Cerberus primitives.\n * @module @cerberus/core/system/factory\n */\n\nexport class CerberusPrimitive {\n recipe: CerberusPrimitiveRecipe | null\n\n constructor(recipe?: CerberusPrimitiveRecipe) {\n this.recipe = recipe ?? null\n }\n\n private hasStyles(styles: string | undefined): Record<string, unknown> {\n if (styles) {\n return {\n className: styles,\n }\n }\n return {}\n }\n\n private validateComponent<P extends HTMLAttributes<unknown>>(\n Component: ComponentType<P> | string,\n ) {\n if (typeof Component !== 'function' && typeof Component !== 'object') {\n return false\n }\n return true\n }\n\n /**\n * Creates a Cerberus component with bare features and no recipe.\n * @param Component - The React component to enhance with Cerberus features.\n * Can be a string or a component reference.\n * @returns A new React component that applies Cerberus features to the\n * original component.\n *\n * @example\n * ```ts\n * const { withNoRecipe } = createCerberusPrimitive(buttonRecipe)\n * const Button = withNoRecipe('button')\n * ```\n */\n withNoRecipe = <P extends HTMLAttributes<unknown>>(\n Component: ComponentType<P> | string,\n options?: WithRecipeOptions,\n ): CerberusPrimitiveEl<P> => {\n const { defaultProps } = options || {}\n const El = Component as ComponentType<P> | ElementType\n\n const CerbComponent = (props: PropsWithChildren<P> & WithCss) => {\n const { css: customCss, className, ...nativeProps } = props\n const styles = this.hasStyles(cx(className, css(customCss)))\n return <El {...defaultProps} {...styles} {...(nativeProps as P)} />\n }\n\n if (this.validateComponent(El)) {\n const ElName = typeof El === 'string' ? El : El.displayName || El.name\n CerbComponent.displayName = ElName\n }\n\n return CerbComponent\n }\n\n /**\n * Creates a Cerberus component with the given recipe.\n * @param Component - The React component to enhance with the recipe.\n * @param options - Options for the recipe.\n * @returns A new React component that applies the recipe to the original\n * component.\n */\n withRecipe = <P extends HTMLAttributes<unknown>>(\n Component: ComponentType<P> | string,\n options?: WithRecipeOptions,\n ): CerberusPrimitiveEl<P & WithRecipeOptions['defaultProps']> => {\n const { defaultProps } = options || {}\n const El = Component as ComponentType<P> | ElementType\n\n const recipe = this.recipe as CerberusRecipe\n\n const CerbComponent = (internalProps: PropsWithChildren<P> & WithCss) => {\n const {\n css: customCss,\n className,\n ...restOfInternalProps\n } = internalProps\n\n const [variantOptions, nativeProps] =\n recipe.splitVariantProps(restOfInternalProps)\n const recipeStyles = recipe(variantOptions)\n\n return (\n <Component\n {...defaultProps}\n {...(nativeProps as P)}\n className={cx(className, recipeStyles, css(customCss))}\n />\n )\n }\n\n if (this.validateComponent(El)) {\n const ElName = typeof El === 'string' ? El : El.displayName || El.name\n CerbComponent.displayName = ElName\n }\n\n return CerbComponent\n }\n\n /**\n * Creates a Cerberus component with a slot recipe applied.\n * @param Component - The React component to enhance with Cerberus features.\n * @param recipe - The slot recipe to apply to the component.\n * @returns A new React component that applies Cerberus features and the\n * specified slot recipe to the original component.\n * @example\n * ```typescript\n * const { withSlotRecipe } = createCerberusPrimitive(field)\n * const Field = withSlotRecipe(RawField, field)\n * ```\n */\n withSlotRecipe = <P extends HTMLAttributes<unknown>>(\n Component: ComponentType<P> | string,\n slot: keyof RecipeVariantRecord,\n options?: WithRecipeOptions,\n ) => {\n const { defaultProps } = options || {}\n const El = Component as ComponentType<P> | ElementType\n\n const recipe = this.recipe as CerberusSlotRecipe<typeof slot>\n\n const CerbComponent = (internalProps: PropsWithChildren<P> & WithCss) => {\n const {\n css: customCss,\n className,\n ...restOfInternalProps\n } = internalProps\n\n const [variantOptions, nativeProps] =\n recipe.splitVariantProps(restOfInternalProps)\n const styles = recipe(variantOptions)\n const slotStyles = styles[slot as keyof typeof styles]\n\n return (\n <Component\n {...defaultProps}\n {...(nativeProps as P)}\n className={cx(className, slotStyles, css(customCss))}\n />\n )\n }\n\n if (this.validateComponent(El)) {\n const ElName = typeof El === 'string' ? El : El.displayName || El.name\n CerbComponent.displayName = ElName\n }\n\n return CerbComponent\n }\n}\n","import { CerberusPrimitive } from './primitive-factory'\nimport type { CerberusFactory, CerberusPrimitiveRecipe } from './types'\nimport { cerberusFactoryProxy } from './factory'\n\n/**\n * This module contains the user interface for creating Cerberus primitives.\n * @module @cerberus/core/system/create-cerb-primitive\n */\n\n/**\n * A factory function that creates a Cerberus primitive instance with the given\n * recipe.\n * @param recipe\n * @returns An object with three methods: `withNoRecipe`, `withRecipe`, and `withSlotRecipe` that\n * apply the recipes and special Cerberus helpers like `css`.\n *\n * @example\n * ```tsx\n * const { withRecipe } = createCerberusPrimitive(myCustomRecipe);\n * export const Button = withRecipe(MyCustomButton)\n * ```\n */\nexport function createCerberusPrimitive<T extends CerberusPrimitiveRecipe>(\n recipe?: T,\n) {\n return new CerberusPrimitive(recipe)\n}\n\n/**\n * A utility function to access Cerberus components by their name.\n * @param component - The name of the Cerberus component to access.\n * @returns The Cerberus component corresponding to the provided name.\n * @throws An error if the component name is not valid.\n *\n * @example\n * ```tsx\n * import { cerberus } from '@cerberus/react'\n * const Button = cerberus('button')\n *\n * <Button css={{ color: 'blue' }} asChild>\n * <Link href=\"/some-page\">Click me</Link>\n * </Button>\n * ```\n */\nexport const cerberus = cerberusFactoryProxy as CerberusFactory\n\nexport * from './types'\n","import { Field } from '@ark-ui/react/field'\nimport type { FieldErrorTextProps } from './primitives'\n\n/**\n * The error text for the Field component that is shown when the field is\n * invalid.\n * @description [Field Docs](https://cerberus.digitalu.design/react/field)\n * @example\n * ```tsx\n * <FieldRoot>\n * <FieldInput />\n * <FieldErrorText>Error text</FieldErrorText>\n * </FieldRoot>\n * ```\n */\nexport function CerberusFieldErrorText(props: FieldErrorTextProps) {\n if (!props.children) return null\n return <Field.ErrorText {...props} />\n}\n"],"mappings":"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","names":["import_recipes","import_css","import_field","import_jsx_runtime","import_jsx_runtime","import_jsx_runtime"]}
|
|
@@ -52,23 +52,28 @@ var CerberusPrimitive = class {
|
|
|
52
52
|
/**
|
|
53
53
|
* Creates a Cerberus component with bare features and no recipe.
|
|
54
54
|
* @param Component - The React component to enhance with Cerberus features.
|
|
55
|
+
* Can be a string or a component reference.
|
|
55
56
|
* @returns A new React component that applies Cerberus features to the
|
|
56
57
|
* original component.
|
|
58
|
+
*
|
|
57
59
|
* @example
|
|
58
|
-
* ```
|
|
59
|
-
* const { withNoRecipe } = createCerberusPrimitive(
|
|
60
|
-
* const Button = withNoRecipe(
|
|
60
|
+
* ```ts
|
|
61
|
+
* const { withNoRecipe } = createCerberusPrimitive(buttonRecipe)
|
|
62
|
+
* const Button = withNoRecipe('button')
|
|
61
63
|
* ```
|
|
62
64
|
*/
|
|
63
65
|
__publicField(this, "withNoRecipe", (Component, options) => {
|
|
64
66
|
const { defaultProps } = options || {};
|
|
65
|
-
|
|
67
|
+
const El = Component;
|
|
66
68
|
const CerbComponent = (props) => {
|
|
67
69
|
const { css: customCss, className, ...nativeProps } = props;
|
|
68
70
|
const styles = this.hasStyles((0, import_css.cx)(className, (0, import_css.css)(customCss)));
|
|
69
|
-
return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
|
|
71
|
+
return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(El, { ...defaultProps, ...styles, ...nativeProps });
|
|
70
72
|
};
|
|
71
|
-
|
|
73
|
+
if (this.validateComponent(El)) {
|
|
74
|
+
const ElName = typeof El === "string" ? El : El.displayName || El.name;
|
|
75
|
+
CerbComponent.displayName = ElName;
|
|
76
|
+
}
|
|
72
77
|
return CerbComponent;
|
|
73
78
|
});
|
|
74
79
|
/**
|
|
@@ -80,11 +85,15 @@ var CerberusPrimitive = class {
|
|
|
80
85
|
*/
|
|
81
86
|
__publicField(this, "withRecipe", (Component, options) => {
|
|
82
87
|
const { defaultProps } = options || {};
|
|
88
|
+
const El = Component;
|
|
83
89
|
const recipe = this.recipe;
|
|
84
|
-
this.validateComponent(Component);
|
|
85
90
|
const CerbComponent = (internalProps) => {
|
|
86
|
-
const {
|
|
87
|
-
|
|
91
|
+
const {
|
|
92
|
+
css: customCss,
|
|
93
|
+
className,
|
|
94
|
+
...restOfInternalProps
|
|
95
|
+
} = internalProps;
|
|
96
|
+
const [variantOptions, nativeProps] = recipe.splitVariantProps(restOfInternalProps);
|
|
88
97
|
const recipeStyles = recipe(variantOptions);
|
|
89
98
|
return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
|
|
90
99
|
Component,
|
|
@@ -95,7 +104,10 @@ var CerberusPrimitive = class {
|
|
|
95
104
|
}
|
|
96
105
|
);
|
|
97
106
|
};
|
|
98
|
-
|
|
107
|
+
if (this.validateComponent(El)) {
|
|
108
|
+
const ElName = typeof El === "string" ? El : El.displayName || El.name;
|
|
109
|
+
CerbComponent.displayName = ElName;
|
|
110
|
+
}
|
|
99
111
|
return CerbComponent;
|
|
100
112
|
});
|
|
101
113
|
/**
|
|
@@ -112,11 +124,15 @@ var CerberusPrimitive = class {
|
|
|
112
124
|
*/
|
|
113
125
|
__publicField(this, "withSlotRecipe", (Component, slot, options) => {
|
|
114
126
|
const { defaultProps } = options || {};
|
|
127
|
+
const El = Component;
|
|
115
128
|
const recipe = this.recipe;
|
|
116
|
-
this.validateComponent(Component);
|
|
117
129
|
const CerbComponent = (internalProps) => {
|
|
118
|
-
const {
|
|
119
|
-
|
|
130
|
+
const {
|
|
131
|
+
css: customCss,
|
|
132
|
+
className,
|
|
133
|
+
...restOfInternalProps
|
|
134
|
+
} = internalProps;
|
|
135
|
+
const [variantOptions, nativeProps] = recipe.splitVariantProps(restOfInternalProps);
|
|
120
136
|
const styles = recipe(variantOptions);
|
|
121
137
|
const slotStyles = styles[slot];
|
|
122
138
|
return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
|
|
@@ -128,7 +144,10 @@ var CerberusPrimitive = class {
|
|
|
128
144
|
}
|
|
129
145
|
);
|
|
130
146
|
};
|
|
131
|
-
|
|
147
|
+
if (this.validateComponent(El)) {
|
|
148
|
+
const ElName = typeof El === "string" ? El : El.displayName || El.name;
|
|
149
|
+
CerbComponent.displayName = ElName;
|
|
150
|
+
}
|
|
132
151
|
return CerbComponent;
|
|
133
152
|
});
|
|
134
153
|
this.recipe = recipe ?? null;
|
|
@@ -143,8 +162,9 @@ var CerberusPrimitive = class {
|
|
|
143
162
|
}
|
|
144
163
|
validateComponent(Component) {
|
|
145
164
|
if (typeof Component !== "function" && typeof Component !== "object") {
|
|
146
|
-
|
|
165
|
+
return false;
|
|
147
166
|
}
|
|
167
|
+
return true;
|
|
148
168
|
}
|
|
149
169
|
};
|
|
150
170
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/dialog/close-icon-trigger.tsx","../../../../src/context/cerberus.tsx","../../../../src/components/icon-button/primitives.ts","../../../../src/system/primitive-factory.tsx","../../../../src/system/index.ts","../../../../src/components/icon-button/button.tsx","../../../../src/components/dialog/primitives.tsx"],"sourcesContent":["'use client'\n\nimport { useCerberusContext } from '../../context/cerberus'\nimport { IconButton } from '../icon-button/index'\nimport { DialogCloseTrigger, type DialogCloseTriggerProps } from './primitives'\nimport { dialog } from 'styled-system/recipes'\nimport { cx } from 'styled-system/css'\n\n/**\n * This module contains the close trigger for the dialog.\n * @module react/dialog\n */\n\nexport function DialogCloseIconTrigger(props: DialogCloseTriggerProps) {\n const styles = dialog()\n\n const { icons } = useCerberusContext()\n const { close: CloseIcon } = icons\n\n return (\n <DialogCloseTrigger\n {...props}\n className={cx(styles.closeTrigger, props.className)}\n asChild\n >\n <IconButton\n ariaLabel=\"Close dialog\"\n palette=\"action\"\n size=\"lg\"\n usage=\"ghost\"\n >\n <CloseIcon />\n </IconButton>\n </DialogCloseTrigger>\n )\n}\n","'use client'\n\nimport { createContext, useContext, type PropsWithChildren } from 'react'\nimport type { SystemConfig } from '../config'\n\n/**\n * This module contains the Cerberus configuration context and helpers.\n * @module context/cerberus\n */\n\ntype CerberusContextValue = SystemConfig\n\nconst CerberusContext = createContext<CerberusContextValue | null>(null)\n\ninterface CerberusProviderProps {\n config: SystemConfig\n}\n\n/**\n * Cerberus configuration provider.\n * @param props.config The Cerberus configuration created with\n * `makeSystemConfig` helper.\n */\nexport function CerberusProvider(\n props: PropsWithChildren<CerberusProviderProps>,\n) {\n return (\n <CerberusContext.Provider value={props.config}>\n {props.children}\n </CerberusContext.Provider>\n )\n}\n\n/**\n * Returns the Cerberus configuration context.\n * @returns The Cerberus configuration context.\n */\nexport function useCerberusContext() {\n const context = useContext(CerberusContext)\n if (!context) {\n throw new Error('useCerberus must be used within a CerberusProvider')\n }\n return context\n}\n","import { ark, type HTMLArkProps } from '@ark-ui/react/factory'\nimport { iconButton, type IconButtonVariantProps } from 'styled-system/recipes'\nimport {\n createCerberusPrimitive,\n type CerberusPrimitiveProps,\n} from '../../system/index'\n\n/**\n * This module contains the IconButton component primitives.\n * @module @cerberus-design/react/components/icon-button/primitives\n */\n\nconst { withRecipe } = createCerberusPrimitive(iconButton)\n\n/**\n * The root element of the Button component.\n */\nexport type IconButtonRootProps = CerberusPrimitiveProps<\n HTMLArkProps<'button'> & IconButtonVariantProps\n>\nexport const IconButtonRoot = withRecipe(ark.button)\n","import { 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 { IconButtonRoot, type IconButtonRootProps } from './primitives'\n\n/**\n * This module contains the Icon Button component.\n * @module\n */\n\nexport interface IconButtonProps extends IconButtonRootProps {\n /**\n * The aria-label attribute for the icon button.\n */\n ariaLabel: string\n}\n\n/**\n * A component that allows the user to perform actions using an icon\n * @see https://cerberus.digitalu.design/react/icon-button\n */\nexport function IconButton(props: IconButtonProps) {\n const { ariaLabel, ...rootProps } = props\n return (\n <IconButtonRoot {...rootProps} aria-label={ariaLabel ?? 'Icon Button'} />\n )\n}\n","import {\n Dialog,\n type DialogBackdropProps as ArkDialogBackdropProps,\n type DialogContentProps as ArkDialogContentProps,\n type DialogDescriptionProps as ArkDialogDescriptionProps,\n type DialogPositionerProps as ArkDialogPositionerProps,\n type DialogRootProps as ArkDialogRootProps,\n type DialogTitleProps as ArkDialogTitleProps,\n type DialogTriggerProps as ArkDialogTriggerProps,\n} from '@ark-ui/react/dialog'\nimport { dialog, type DialogVariantProps } from 'styled-system/recipes'\nimport {\n createCerberusPrimitive,\n type CerberusPrimitiveProps,\n} from '../../system/index'\n\n/**\n * This module contains the primitives of the Dialog component.\n * @module 'dialog/primitives'\n */\n\nconst { withSlotRecipe, withNoRecipe } = createCerberusPrimitive(dialog)\n\n/**\n * The provider that controls the dialog components.\n */\nexport type DialogRootProps = CerberusPrimitiveProps<ArkDialogRootProps>\nexport const DialogRoot = withNoRecipe(Dialog.Root)\n\n/**\n * An abstraction of the DialogRoot component for naming consistency.\n */\nexport const DialogProvider = DialogRoot\n\n/**\n * The trigger that opens the dialog.\n */\nexport type DialogTriggerProps = CerberusPrimitiveProps<ArkDialogTriggerProps>\nexport const DialogTrigger = withSlotRecipe(Dialog.Trigger, 'trigger')\n\n/**\n * The overlay of the dialog.\n */\nexport type DialogBackdropProps = CerberusPrimitiveProps<ArkDialogBackdropProps>\nexport const DialogBackdrop = withSlotRecipe(Dialog.Backdrop, 'backdrop')\n\n/**\n * The container that positions the dialog.\n */\nexport type DialogPositionerProps =\n CerberusPrimitiveProps<ArkDialogPositionerProps>\nexport const DialogPositioner = withSlotRecipe(Dialog.Positioner, 'positioner')\n\n/**\n * The visible content of the dialog.\n */\nexport type DialogContentProps = CerberusPrimitiveProps<\n ArkDialogContentProps & DialogVariantProps\n>\nexport const DialogContent = withSlotRecipe(Dialog.Content, 'content')\n\n/**\n * The heading of the dialog.\n */\nexport type DialogHeadingProps = CerberusPrimitiveProps<ArkDialogTitleProps>\nexport const DialogHeading = withSlotRecipe(Dialog.Title, 'title')\n\n/**\n * The description of the dialog.\n */\nexport type DialogDescriptionProps =\n CerberusPrimitiveProps<ArkDialogDescriptionProps>\nexport const DialogDescription = withSlotRecipe(\n Dialog.Description,\n 'description',\n)\n\n/**\n * The trigger that closes the dialog.\n */\nexport type DialogCloseTriggerProps =\n CerberusPrimitiveProps<ArkDialogTriggerProps>\nexport const DialogCloseTrigger = withNoRecipe(Dialog.CloseTrigger)\n"],"mappings":"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","names":["import_jsx_runtime","import_jsx_runtime","import_recipes","import_recipes","import_css","import_jsx_runtime"]}
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/dialog/close-icon-trigger.tsx","../../../../src/context/cerberus.tsx","../../../../src/components/icon-button/primitives.ts","../../../../src/system/primitive-factory.tsx","../../../../src/system/index.ts","../../../../src/components/icon-button/button.tsx","../../../../src/components/dialog/primitives.tsx"],"sourcesContent":["'use client'\n\nimport { useCerberusContext } from '../../context/cerberus'\nimport { IconButton } from '../icon-button/index'\nimport { DialogCloseTrigger, type DialogCloseTriggerProps } from './primitives'\nimport { dialog } from 'styled-system/recipes'\nimport { cx } from 'styled-system/css'\n\n/**\n * This module contains the close trigger for the dialog.\n * @module react/dialog\n */\n\nexport function DialogCloseIconTrigger(props: DialogCloseTriggerProps) {\n const styles = dialog()\n\n const { icons } = useCerberusContext()\n const { close: CloseIcon } = icons\n\n return (\n <DialogCloseTrigger\n {...props}\n className={cx(styles.closeTrigger, props.className)}\n asChild\n >\n <IconButton\n ariaLabel=\"Close dialog\"\n palette=\"action\"\n size=\"lg\"\n usage=\"ghost\"\n >\n <CloseIcon />\n </IconButton>\n </DialogCloseTrigger>\n )\n}\n","'use client'\n\nimport { createContext, useContext, type PropsWithChildren } from 'react'\nimport type { SystemConfig } from '../config'\n\n/**\n * This module contains the Cerberus configuration context and helpers.\n * @module context/cerberus\n */\n\ntype CerberusContextValue = SystemConfig\n\nconst CerberusContext = createContext<CerberusContextValue | null>(null)\n\ninterface CerberusProviderProps {\n config: SystemConfig\n}\n\n/**\n * Cerberus configuration provider.\n * @param props.config The Cerberus configuration created with\n * `makeSystemConfig` helper.\n */\nexport function CerberusProvider(\n props: PropsWithChildren<CerberusProviderProps>,\n) {\n return (\n <CerberusContext.Provider value={props.config}>\n {props.children}\n </CerberusContext.Provider>\n )\n}\n\n/**\n * Returns the Cerberus configuration context.\n * @returns The Cerberus configuration context.\n */\nexport function useCerberusContext() {\n const context = useContext(CerberusContext)\n if (!context) {\n throw new Error('useCerberus must be used within a CerberusProvider')\n }\n return context\n}\n","import { ark, type HTMLArkProps } from '@ark-ui/react/factory'\nimport { iconButton, type IconButtonVariantProps } from 'styled-system/recipes'\nimport {\n createCerberusPrimitive,\n type CerberusPrimitiveProps,\n} from '../../system/index'\n\n/**\n * This module contains the IconButton component primitives.\n * @module @cerberus-design/react/components/icon-button/primitives\n */\n\nconst { withRecipe } = createCerberusPrimitive(iconButton)\n\n/**\n * The root element of the Button component.\n */\nexport type IconButtonRootProps = CerberusPrimitiveProps<\n HTMLArkProps<'button'> & IconButtonVariantProps\n>\nexport const IconButtonRoot = withRecipe(ark.button)\n","import { css, cx } from 'styled-system/css'\nimport type { RecipeVariantRecord } from 'styled-system/types'\nimport {\n type ComponentType,\n type ElementType,\n type HTMLAttributes,\n type PropsWithChildren,\n} from 'react'\nimport type { WithCss } from '../types'\nimport type {\n CerberusPrimitiveEl,\n CerberusPrimitiveRecipe,\n CerberusRecipe,\n CerberusSlotRecipe,\n WithRecipeOptions,\n} from './types'\n\n/**\n * This module contains a factory for creating Cerberus primitives.\n * @module @cerberus/core/system/factory\n */\n\nexport class CerberusPrimitive {\n recipe: CerberusPrimitiveRecipe | null\n\n constructor(recipe?: CerberusPrimitiveRecipe) {\n this.recipe = recipe ?? null\n }\n\n private hasStyles(styles: string | undefined): Record<string, unknown> {\n if (styles) {\n return {\n className: styles,\n }\n }\n return {}\n }\n\n private validateComponent<P extends HTMLAttributes<unknown>>(\n Component: ComponentType<P> | string,\n ) {\n if (typeof Component !== 'function' && typeof Component !== 'object') {\n return false\n }\n return true\n }\n\n /**\n * Creates a Cerberus component with bare features and no recipe.\n * @param Component - The React component to enhance with Cerberus features.\n * Can be a string or a component reference.\n * @returns A new React component that applies Cerberus features to the\n * original component.\n *\n * @example\n * ```ts\n * const { withNoRecipe } = createCerberusPrimitive(buttonRecipe)\n * const Button = withNoRecipe('button')\n * ```\n */\n withNoRecipe = <P extends HTMLAttributes<unknown>>(\n Component: ComponentType<P> | string,\n options?: WithRecipeOptions,\n ): CerberusPrimitiveEl<P> => {\n const { defaultProps } = options || {}\n const El = Component as ComponentType<P> | ElementType\n\n const CerbComponent = (props: PropsWithChildren<P> & WithCss) => {\n const { css: customCss, className, ...nativeProps } = props\n const styles = this.hasStyles(cx(className, css(customCss)))\n return <El {...defaultProps} {...styles} {...(nativeProps as P)} />\n }\n\n if (this.validateComponent(El)) {\n const ElName = typeof El === 'string' ? El : El.displayName || El.name\n CerbComponent.displayName = ElName\n }\n\n return CerbComponent\n }\n\n /**\n * Creates a Cerberus component with the given recipe.\n * @param Component - The React component to enhance with the recipe.\n * @param options - Options for the recipe.\n * @returns A new React component that applies the recipe to the original\n * component.\n */\n withRecipe = <P extends HTMLAttributes<unknown>>(\n Component: ComponentType<P> | string,\n options?: WithRecipeOptions,\n ): CerberusPrimitiveEl<P & WithRecipeOptions['defaultProps']> => {\n const { defaultProps } = options || {}\n const El = Component as ComponentType<P> | ElementType\n\n const recipe = this.recipe as CerberusRecipe\n\n const CerbComponent = (internalProps: PropsWithChildren<P> & WithCss) => {\n const {\n css: customCss,\n className,\n ...restOfInternalProps\n } = internalProps\n\n const [variantOptions, nativeProps] =\n recipe.splitVariantProps(restOfInternalProps)\n const recipeStyles = recipe(variantOptions)\n\n return (\n <Component\n {...defaultProps}\n {...(nativeProps as P)}\n className={cx(className, recipeStyles, css(customCss))}\n />\n )\n }\n\n if (this.validateComponent(El)) {\n const ElName = typeof El === 'string' ? El : El.displayName || El.name\n CerbComponent.displayName = ElName\n }\n\n return CerbComponent\n }\n\n /**\n * Creates a Cerberus component with a slot recipe applied.\n * @param Component - The React component to enhance with Cerberus features.\n * @param recipe - The slot recipe to apply to the component.\n * @returns A new React component that applies Cerberus features and the\n * specified slot recipe to the original component.\n * @example\n * ```typescript\n * const { withSlotRecipe } = createCerberusPrimitive(field)\n * const Field = withSlotRecipe(RawField, field)\n * ```\n */\n withSlotRecipe = <P extends HTMLAttributes<unknown>>(\n Component: ComponentType<P> | string,\n slot: keyof RecipeVariantRecord,\n options?: WithRecipeOptions,\n ) => {\n const { defaultProps } = options || {}\n const El = Component as ComponentType<P> | ElementType\n\n const recipe = this.recipe as CerberusSlotRecipe<typeof slot>\n\n const CerbComponent = (internalProps: PropsWithChildren<P> & WithCss) => {\n const {\n css: customCss,\n className,\n ...restOfInternalProps\n } = internalProps\n\n const [variantOptions, nativeProps] =\n recipe.splitVariantProps(restOfInternalProps)\n const styles = recipe(variantOptions)\n const slotStyles = styles[slot as keyof typeof styles]\n\n return (\n <Component\n {...defaultProps}\n {...(nativeProps as P)}\n className={cx(className, slotStyles, css(customCss))}\n />\n )\n }\n\n if (this.validateComponent(El)) {\n const ElName = typeof El === 'string' ? El : El.displayName || El.name\n CerbComponent.displayName = ElName\n }\n\n return CerbComponent\n }\n}\n","import { CerberusPrimitive } from './primitive-factory'\nimport type { CerberusFactory, CerberusPrimitiveRecipe } from './types'\nimport { cerberusFactoryProxy } from './factory'\n\n/**\n * This module contains the user interface for creating Cerberus primitives.\n * @module @cerberus/core/system/create-cerb-primitive\n */\n\n/**\n * A factory function that creates a Cerberus primitive instance with the given\n * recipe.\n * @param recipe\n * @returns An object with three methods: `withNoRecipe`, `withRecipe`, and `withSlotRecipe` that\n * apply the recipes and special Cerberus helpers like `css`.\n *\n * @example\n * ```tsx\n * const { withRecipe } = createCerberusPrimitive(myCustomRecipe);\n * export const Button = withRecipe(MyCustomButton)\n * ```\n */\nexport function createCerberusPrimitive<T extends CerberusPrimitiveRecipe>(\n recipe?: T,\n) {\n return new CerberusPrimitive(recipe)\n}\n\n/**\n * A utility function to access Cerberus components by their name.\n * @param component - The name of the Cerberus component to access.\n * @returns The Cerberus component corresponding to the provided name.\n * @throws An error if the component name is not valid.\n *\n * @example\n * ```tsx\n * import { cerberus } from '@cerberus/react'\n * const Button = cerberus('button')\n *\n * <Button css={{ color: 'blue' }} asChild>\n * <Link href=\"/some-page\">Click me</Link>\n * </Button>\n * ```\n */\nexport const cerberus = cerberusFactoryProxy as CerberusFactory\n\nexport * from './types'\n","import { IconButtonRoot, type IconButtonRootProps } from './primitives'\n\n/**\n * This module contains the Icon Button component.\n * @module\n */\n\nexport interface IconButtonProps extends IconButtonRootProps {\n /**\n * The aria-label attribute for the icon button.\n */\n ariaLabel: string\n}\n\n/**\n * A component that allows the user to perform actions using an icon\n * @see https://cerberus.digitalu.design/react/icon-button\n */\nexport function IconButton(props: IconButtonProps) {\n const { ariaLabel, ...rootProps } = props\n return (\n <IconButtonRoot {...rootProps} aria-label={ariaLabel ?? 'Icon Button'} />\n )\n}\n","import {\n Dialog,\n type DialogBackdropProps as ArkDialogBackdropProps,\n type DialogContentProps as ArkDialogContentProps,\n type DialogDescriptionProps as ArkDialogDescriptionProps,\n type DialogPositionerProps as ArkDialogPositionerProps,\n type DialogRootProps as ArkDialogRootProps,\n type DialogTitleProps as ArkDialogTitleProps,\n type DialogTriggerProps as ArkDialogTriggerProps,\n} from '@ark-ui/react/dialog'\nimport { dialog, type DialogVariantProps } from 'styled-system/recipes'\nimport {\n createCerberusPrimitive,\n type CerberusPrimitiveProps,\n} from '../../system/index'\n\n/**\n * This module contains the primitives of the Dialog component.\n * @module 'dialog/primitives'\n */\n\nconst { withSlotRecipe, withNoRecipe } = createCerberusPrimitive(dialog)\n\n/**\n * The provider that controls the dialog components.\n */\nexport type DialogRootProps = CerberusPrimitiveProps<ArkDialogRootProps>\nexport const DialogRoot = withNoRecipe(Dialog.Root)\n\n/**\n * An abstraction of the DialogRoot component for naming consistency.\n */\nexport const DialogProvider = DialogRoot\n\n/**\n * The trigger that opens the dialog.\n */\nexport type DialogTriggerProps = CerberusPrimitiveProps<ArkDialogTriggerProps>\nexport const DialogTrigger = withSlotRecipe(Dialog.Trigger, 'trigger')\n\n/**\n * The overlay of the dialog.\n */\nexport type DialogBackdropProps = CerberusPrimitiveProps<ArkDialogBackdropProps>\nexport const DialogBackdrop = withSlotRecipe(Dialog.Backdrop, 'backdrop')\n\n/**\n * The container that positions the dialog.\n */\nexport type DialogPositionerProps =\n CerberusPrimitiveProps<ArkDialogPositionerProps>\nexport const DialogPositioner = withSlotRecipe(Dialog.Positioner, 'positioner')\n\n/**\n * The visible content of the dialog.\n */\nexport type DialogContentProps = CerberusPrimitiveProps<\n ArkDialogContentProps & DialogVariantProps\n>\nexport const DialogContent = withSlotRecipe(Dialog.Content, 'content')\n\n/**\n * The heading of the dialog.\n */\nexport type DialogHeadingProps = CerberusPrimitiveProps<ArkDialogTitleProps>\nexport const DialogHeading = withSlotRecipe(Dialog.Title, 'title')\n\n/**\n * The description of the dialog.\n */\nexport type DialogDescriptionProps =\n CerberusPrimitiveProps<ArkDialogDescriptionProps>\nexport const DialogDescription = withSlotRecipe(\n Dialog.Description,\n 'description',\n)\n\n/**\n * The trigger that closes the dialog.\n */\nexport type DialogCloseTriggerProps =\n CerberusPrimitiveProps<ArkDialogTriggerProps>\nexport const DialogCloseTrigger = withNoRecipe(Dialog.CloseTrigger)\n"],"mappings":"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","names":["import_jsx_runtime","import_jsx_runtime","import_recipes","import_recipes","import_css","import_jsx_runtime"]}
|
|
@@ -43,23 +43,28 @@ var CerberusPrimitive = class {
|
|
|
43
43
|
/**
|
|
44
44
|
* Creates a Cerberus component with bare features and no recipe.
|
|
45
45
|
* @param Component - The React component to enhance with Cerberus features.
|
|
46
|
+
* Can be a string or a component reference.
|
|
46
47
|
* @returns A new React component that applies Cerberus features to the
|
|
47
48
|
* original component.
|
|
49
|
+
*
|
|
48
50
|
* @example
|
|
49
|
-
* ```
|
|
50
|
-
* const { withNoRecipe } = createCerberusPrimitive(
|
|
51
|
-
* const Button = withNoRecipe(
|
|
51
|
+
* ```ts
|
|
52
|
+
* const { withNoRecipe } = createCerberusPrimitive(buttonRecipe)
|
|
53
|
+
* const Button = withNoRecipe('button')
|
|
52
54
|
* ```
|
|
53
55
|
*/
|
|
54
56
|
__publicField(this, "withNoRecipe", (Component, options) => {
|
|
55
57
|
const { defaultProps } = options || {};
|
|
56
|
-
|
|
58
|
+
const El = Component;
|
|
57
59
|
const CerbComponent = (props) => {
|
|
58
60
|
const { css: customCss, className, ...nativeProps } = props;
|
|
59
61
|
const styles = this.hasStyles((0, import_css.cx)(className, (0, import_css.css)(customCss)));
|
|
60
|
-
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
62
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(El, { ...defaultProps, ...styles, ...nativeProps });
|
|
61
63
|
};
|
|
62
|
-
|
|
64
|
+
if (this.validateComponent(El)) {
|
|
65
|
+
const ElName = typeof El === "string" ? El : El.displayName || El.name;
|
|
66
|
+
CerbComponent.displayName = ElName;
|
|
67
|
+
}
|
|
63
68
|
return CerbComponent;
|
|
64
69
|
});
|
|
65
70
|
/**
|
|
@@ -71,11 +76,15 @@ var CerberusPrimitive = class {
|
|
|
71
76
|
*/
|
|
72
77
|
__publicField(this, "withRecipe", (Component, options) => {
|
|
73
78
|
const { defaultProps } = options || {};
|
|
79
|
+
const El = Component;
|
|
74
80
|
const recipe = this.recipe;
|
|
75
|
-
this.validateComponent(Component);
|
|
76
81
|
const CerbComponent = (internalProps) => {
|
|
77
|
-
const {
|
|
78
|
-
|
|
82
|
+
const {
|
|
83
|
+
css: customCss,
|
|
84
|
+
className,
|
|
85
|
+
...restOfInternalProps
|
|
86
|
+
} = internalProps;
|
|
87
|
+
const [variantOptions, nativeProps] = recipe.splitVariantProps(restOfInternalProps);
|
|
79
88
|
const recipeStyles = recipe(variantOptions);
|
|
80
89
|
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
81
90
|
Component,
|
|
@@ -86,7 +95,10 @@ var CerberusPrimitive = class {
|
|
|
86
95
|
}
|
|
87
96
|
);
|
|
88
97
|
};
|
|
89
|
-
|
|
98
|
+
if (this.validateComponent(El)) {
|
|
99
|
+
const ElName = typeof El === "string" ? El : El.displayName || El.name;
|
|
100
|
+
CerbComponent.displayName = ElName;
|
|
101
|
+
}
|
|
90
102
|
return CerbComponent;
|
|
91
103
|
});
|
|
92
104
|
/**
|
|
@@ -103,11 +115,15 @@ var CerberusPrimitive = class {
|
|
|
103
115
|
*/
|
|
104
116
|
__publicField(this, "withSlotRecipe", (Component, slot, options) => {
|
|
105
117
|
const { defaultProps } = options || {};
|
|
118
|
+
const El = Component;
|
|
106
119
|
const recipe = this.recipe;
|
|
107
|
-
this.validateComponent(Component);
|
|
108
120
|
const CerbComponent = (internalProps) => {
|
|
109
|
-
const {
|
|
110
|
-
|
|
121
|
+
const {
|
|
122
|
+
css: customCss,
|
|
123
|
+
className,
|
|
124
|
+
...restOfInternalProps
|
|
125
|
+
} = internalProps;
|
|
126
|
+
const [variantOptions, nativeProps] = recipe.splitVariantProps(restOfInternalProps);
|
|
111
127
|
const styles = recipe(variantOptions);
|
|
112
128
|
const slotStyles = styles[slot];
|
|
113
129
|
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
@@ -119,7 +135,10 @@ var CerberusPrimitive = class {
|
|
|
119
135
|
}
|
|
120
136
|
);
|
|
121
137
|
};
|
|
122
|
-
|
|
138
|
+
if (this.validateComponent(El)) {
|
|
139
|
+
const ElName = typeof El === "string" ? El : El.displayName || El.name;
|
|
140
|
+
CerbComponent.displayName = ElName;
|
|
141
|
+
}
|
|
123
142
|
return CerbComponent;
|
|
124
143
|
});
|
|
125
144
|
this.recipe = recipe ?? null;
|
|
@@ -134,8 +153,9 @@ var CerberusPrimitive = class {
|
|
|
134
153
|
}
|
|
135
154
|
validateComponent(Component) {
|
|
136
155
|
if (typeof Component !== "function" && typeof Component !== "object") {
|
|
137
|
-
|
|
156
|
+
return false;
|
|
138
157
|
}
|
|
158
|
+
return true;
|
|
139
159
|
}
|
|
140
160
|
};
|
|
141
161
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/dialog/dialog.tsx","../../../../src/components/portal/portal.tsx","../../../../src/components/dialog/primitives.tsx","../../../../src/system/primitive-factory.tsx","../../../../src/system/index.ts"],"sourcesContent":["import type { DialogVariantProps } from 'styled-system/recipes'\nimport type { WithCss } from '../../types'\nimport { Portal } from '../portal/index'\nimport {\n DialogBackdrop,\n DialogContent,\n DialogPositioner,\n type DialogContentProps,\n} from './primitives'\n\n/**\n * This module contains and abstraction of the Dialog primitives.\n * @module 'dialog'\n */\n\nexport interface DialogProps\n extends Omit<DialogContentProps, 'size' | 'style'>,\n DialogVariantProps,\n WithCss {}\n\n/**\n * An abstraction of the Dialog primitives that controls the content of the\n * dialog. Must be used within the `DialogProvider` component.\n * @definition [Dialog docs](https://cerberus.digitalu.design/react/dialog)\n * @definition [Ark Dialog docs](https://ark-ui.com/react/docs/components/dialog)\n * @example\n * ```tsx\n * <DialogProvider>\n * <DialogTrigger asChild>\n * <Button>Open Dialog</Button>\n * </DialogTrigger>\n * <Dialog>\n * <Text>Dialog Content</Text>\n * </Dialog>\n * </DialogProvider>\n * ```\n */\nexport function Dialog(props: DialogProps) {\n return (\n <Portal>\n <DialogBackdrop />\n <DialogPositioner>\n <DialogContent {...props} />\n </DialogPositioner>\n </Portal>\n )\n}\n","import { Portal as ArkPortal, type PortalProps } from '@ark-ui/react'\n\n/**\n * This module is the Portal component.\n * @module\n */\n\nexport type { PortalProps }\n\n/**\n * The Portal component is used to render children into a DOM node that exists outside the DOM hierarchy of the parent component.\n * @see https://cerberus.digitalu.design/react/portal\n * @definition [React Portal Docs](https://react.dev/reference/react-dom/createPortal)\n * @example\n * ```tsx\n * 'use client'\n *\n * import { Portal } from '@cerberus/react'\n *\n * function SomeFeatureWithinSSRPage() {\n * return (\n * <Portal>\n * <div>Portal Content outside of the React VDom tree</div>\n * </Portal>\n * )\n * }\n */\nexport const Portal = ArkPortal\n","import {\n Dialog,\n type DialogBackdropProps as ArkDialogBackdropProps,\n type DialogContentProps as ArkDialogContentProps,\n type DialogDescriptionProps as ArkDialogDescriptionProps,\n type DialogPositionerProps as ArkDialogPositionerProps,\n type DialogRootProps as ArkDialogRootProps,\n type DialogTitleProps as ArkDialogTitleProps,\n type DialogTriggerProps as ArkDialogTriggerProps,\n} from '@ark-ui/react/dialog'\nimport { dialog, type DialogVariantProps } from 'styled-system/recipes'\nimport {\n createCerberusPrimitive,\n type CerberusPrimitiveProps,\n} from '../../system/index'\n\n/**\n * This module contains the primitives of the Dialog component.\n * @module 'dialog/primitives'\n */\n\nconst { withSlotRecipe, withNoRecipe } = createCerberusPrimitive(dialog)\n\n/**\n * The provider that controls the dialog components.\n */\nexport type DialogRootProps = CerberusPrimitiveProps<ArkDialogRootProps>\nexport const DialogRoot = withNoRecipe(Dialog.Root)\n\n/**\n * An abstraction of the DialogRoot component for naming consistency.\n */\nexport const DialogProvider = DialogRoot\n\n/**\n * The trigger that opens the dialog.\n */\nexport type DialogTriggerProps = CerberusPrimitiveProps<ArkDialogTriggerProps>\nexport const DialogTrigger = withSlotRecipe(Dialog.Trigger, 'trigger')\n\n/**\n * The overlay of the dialog.\n */\nexport type DialogBackdropProps = CerberusPrimitiveProps<ArkDialogBackdropProps>\nexport const DialogBackdrop = withSlotRecipe(Dialog.Backdrop, 'backdrop')\n\n/**\n * The container that positions the dialog.\n */\nexport type DialogPositionerProps =\n CerberusPrimitiveProps<ArkDialogPositionerProps>\nexport const DialogPositioner = withSlotRecipe(Dialog.Positioner, 'positioner')\n\n/**\n * The visible content of the dialog.\n */\nexport type DialogContentProps = CerberusPrimitiveProps<\n ArkDialogContentProps & DialogVariantProps\n>\nexport const DialogContent = withSlotRecipe(Dialog.Content, 'content')\n\n/**\n * The heading of the dialog.\n */\nexport type DialogHeadingProps = CerberusPrimitiveProps<ArkDialogTitleProps>\nexport const DialogHeading = withSlotRecipe(Dialog.Title, 'title')\n\n/**\n * The description of the dialog.\n */\nexport type DialogDescriptionProps =\n CerberusPrimitiveProps<ArkDialogDescriptionProps>\nexport const DialogDescription = withSlotRecipe(\n Dialog.Description,\n 'description',\n)\n\n/**\n * The trigger that closes the dialog.\n */\nexport type DialogCloseTriggerProps =\n CerberusPrimitiveProps<ArkDialogTriggerProps>\nexport const DialogCloseTrigger = withNoRecipe(Dialog.CloseTrigger)\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":["Dialog","ArkPortal","import_jsx_runtime","Dialog"]}
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/dialog/dialog.tsx","../../../../src/components/portal/portal.tsx","../../../../src/components/dialog/primitives.tsx","../../../../src/system/primitive-factory.tsx","../../../../src/system/index.ts"],"sourcesContent":["import type { DialogVariantProps } from 'styled-system/recipes'\nimport type { WithCss } from '../../types'\nimport { Portal } from '../portal/index'\nimport {\n DialogBackdrop,\n DialogContent,\n DialogPositioner,\n type DialogContentProps,\n} from './primitives'\n\n/**\n * This module contains and abstraction of the Dialog primitives.\n * @module 'dialog'\n */\n\nexport interface DialogProps\n extends Omit<DialogContentProps, 'size' | 'style'>,\n DialogVariantProps,\n WithCss {}\n\n/**\n * An abstraction of the Dialog primitives that controls the content of the\n * dialog. Must be used within the `DialogProvider` component.\n * @definition [Dialog docs](https://cerberus.digitalu.design/react/dialog)\n * @definition [Ark Dialog docs](https://ark-ui.com/react/docs/components/dialog)\n * @example\n * ```tsx\n * <DialogProvider>\n * <DialogTrigger asChild>\n * <Button>Open Dialog</Button>\n * </DialogTrigger>\n * <Dialog>\n * <Text>Dialog Content</Text>\n * </Dialog>\n * </DialogProvider>\n * ```\n */\nexport function Dialog(props: DialogProps) {\n return (\n <Portal>\n <DialogBackdrop />\n <DialogPositioner>\n <DialogContent {...props} />\n </DialogPositioner>\n </Portal>\n )\n}\n","import { Portal as ArkPortal, type PortalProps } from '@ark-ui/react'\n\n/**\n * This module is the Portal component.\n * @module\n */\n\nexport type { PortalProps }\n\n/**\n * The Portal component is used to render children into a DOM node that exists outside the DOM hierarchy of the parent component.\n * @see https://cerberus.digitalu.design/react/portal\n * @definition [React Portal Docs](https://react.dev/reference/react-dom/createPortal)\n * @example\n * ```tsx\n * 'use client'\n *\n * import { Portal } from '@cerberus/react'\n *\n * function SomeFeatureWithinSSRPage() {\n * return (\n * <Portal>\n * <div>Portal Content outside of the React VDom tree</div>\n * </Portal>\n * )\n * }\n */\nexport const Portal = ArkPortal\n","import {\n Dialog,\n type DialogBackdropProps as ArkDialogBackdropProps,\n type DialogContentProps as ArkDialogContentProps,\n type DialogDescriptionProps as ArkDialogDescriptionProps,\n type DialogPositionerProps as ArkDialogPositionerProps,\n type DialogRootProps as ArkDialogRootProps,\n type DialogTitleProps as ArkDialogTitleProps,\n type DialogTriggerProps as ArkDialogTriggerProps,\n} from '@ark-ui/react/dialog'\nimport { dialog, type DialogVariantProps } from 'styled-system/recipes'\nimport {\n createCerberusPrimitive,\n type CerberusPrimitiveProps,\n} from '../../system/index'\n\n/**\n * This module contains the primitives of the Dialog component.\n * @module 'dialog/primitives'\n */\n\nconst { withSlotRecipe, withNoRecipe } = createCerberusPrimitive(dialog)\n\n/**\n * The provider that controls the dialog components.\n */\nexport type DialogRootProps = CerberusPrimitiveProps<ArkDialogRootProps>\nexport const DialogRoot = withNoRecipe(Dialog.Root)\n\n/**\n * An abstraction of the DialogRoot component for naming consistency.\n */\nexport const DialogProvider = DialogRoot\n\n/**\n * The trigger that opens the dialog.\n */\nexport type DialogTriggerProps = CerberusPrimitiveProps<ArkDialogTriggerProps>\nexport const DialogTrigger = withSlotRecipe(Dialog.Trigger, 'trigger')\n\n/**\n * The overlay of the dialog.\n */\nexport type DialogBackdropProps = CerberusPrimitiveProps<ArkDialogBackdropProps>\nexport const DialogBackdrop = withSlotRecipe(Dialog.Backdrop, 'backdrop')\n\n/**\n * The container that positions the dialog.\n */\nexport type DialogPositionerProps =\n CerberusPrimitiveProps<ArkDialogPositionerProps>\nexport const DialogPositioner = withSlotRecipe(Dialog.Positioner, 'positioner')\n\n/**\n * The visible content of the dialog.\n */\nexport type DialogContentProps = CerberusPrimitiveProps<\n ArkDialogContentProps & DialogVariantProps\n>\nexport const DialogContent = withSlotRecipe(Dialog.Content, 'content')\n\n/**\n * The heading of the dialog.\n */\nexport type DialogHeadingProps = CerberusPrimitiveProps<ArkDialogTitleProps>\nexport const DialogHeading = withSlotRecipe(Dialog.Title, 'title')\n\n/**\n * The description of the dialog.\n */\nexport type DialogDescriptionProps =\n CerberusPrimitiveProps<ArkDialogDescriptionProps>\nexport const DialogDescription = withSlotRecipe(\n Dialog.Description,\n 'description',\n)\n\n/**\n * The trigger that closes the dialog.\n */\nexport type DialogCloseTriggerProps =\n CerberusPrimitiveProps<ArkDialogTriggerProps>\nexport const DialogCloseTrigger = withNoRecipe(Dialog.CloseTrigger)\n","import { css, cx } from 'styled-system/css'\nimport type { RecipeVariantRecord } from 'styled-system/types'\nimport {\n type ComponentType,\n type ElementType,\n type HTMLAttributes,\n type PropsWithChildren,\n} from 'react'\nimport type { WithCss } from '../types'\nimport type {\n CerberusPrimitiveEl,\n CerberusPrimitiveRecipe,\n CerberusRecipe,\n CerberusSlotRecipe,\n WithRecipeOptions,\n} from './types'\n\n/**\n * This module contains a factory for creating Cerberus primitives.\n * @module @cerberus/core/system/factory\n */\n\nexport class CerberusPrimitive {\n recipe: CerberusPrimitiveRecipe | null\n\n constructor(recipe?: CerberusPrimitiveRecipe) {\n this.recipe = recipe ?? null\n }\n\n private hasStyles(styles: string | undefined): Record<string, unknown> {\n if (styles) {\n return {\n className: styles,\n }\n }\n return {}\n }\n\n private validateComponent<P extends HTMLAttributes<unknown>>(\n Component: ComponentType<P> | string,\n ) {\n if (typeof Component !== 'function' && typeof Component !== 'object') {\n return false\n }\n return true\n }\n\n /**\n * Creates a Cerberus component with bare features and no recipe.\n * @param Component - The React component to enhance with Cerberus features.\n * Can be a string or a component reference.\n * @returns A new React component that applies Cerberus features to the\n * original component.\n *\n * @example\n * ```ts\n * const { withNoRecipe } = createCerberusPrimitive(buttonRecipe)\n * const Button = withNoRecipe('button')\n * ```\n */\n withNoRecipe = <P extends HTMLAttributes<unknown>>(\n Component: ComponentType<P> | string,\n options?: WithRecipeOptions,\n ): CerberusPrimitiveEl<P> => {\n const { defaultProps } = options || {}\n const El = Component as ComponentType<P> | ElementType\n\n const CerbComponent = (props: PropsWithChildren<P> & WithCss) => {\n const { css: customCss, className, ...nativeProps } = props\n const styles = this.hasStyles(cx(className, css(customCss)))\n return <El {...defaultProps} {...styles} {...(nativeProps as P)} />\n }\n\n if (this.validateComponent(El)) {\n const ElName = typeof El === 'string' ? El : El.displayName || El.name\n CerbComponent.displayName = ElName\n }\n\n return CerbComponent\n }\n\n /**\n * Creates a Cerberus component with the given recipe.\n * @param Component - The React component to enhance with the recipe.\n * @param options - Options for the recipe.\n * @returns A new React component that applies the recipe to the original\n * component.\n */\n withRecipe = <P extends HTMLAttributes<unknown>>(\n Component: ComponentType<P> | string,\n options?: WithRecipeOptions,\n ): CerberusPrimitiveEl<P & WithRecipeOptions['defaultProps']> => {\n const { defaultProps } = options || {}\n const El = Component as ComponentType<P> | ElementType\n\n const recipe = this.recipe as CerberusRecipe\n\n const CerbComponent = (internalProps: PropsWithChildren<P> & WithCss) => {\n const {\n css: customCss,\n className,\n ...restOfInternalProps\n } = internalProps\n\n const [variantOptions, nativeProps] =\n recipe.splitVariantProps(restOfInternalProps)\n const recipeStyles = recipe(variantOptions)\n\n return (\n <Component\n {...defaultProps}\n {...(nativeProps as P)}\n className={cx(className, recipeStyles, css(customCss))}\n />\n )\n }\n\n if (this.validateComponent(El)) {\n const ElName = typeof El === 'string' ? El : El.displayName || El.name\n CerbComponent.displayName = ElName\n }\n\n return CerbComponent\n }\n\n /**\n * Creates a Cerberus component with a slot recipe applied.\n * @param Component - The React component to enhance with Cerberus features.\n * @param recipe - The slot recipe to apply to the component.\n * @returns A new React component that applies Cerberus features and the\n * specified slot recipe to the original component.\n * @example\n * ```typescript\n * const { withSlotRecipe } = createCerberusPrimitive(field)\n * const Field = withSlotRecipe(RawField, field)\n * ```\n */\n withSlotRecipe = <P extends HTMLAttributes<unknown>>(\n Component: ComponentType<P> | string,\n slot: keyof RecipeVariantRecord,\n options?: WithRecipeOptions,\n ) => {\n const { defaultProps } = options || {}\n const El = Component as ComponentType<P> | ElementType\n\n const recipe = this.recipe as CerberusSlotRecipe<typeof slot>\n\n const CerbComponent = (internalProps: PropsWithChildren<P> & WithCss) => {\n const {\n css: customCss,\n className,\n ...restOfInternalProps\n } = internalProps\n\n const [variantOptions, nativeProps] =\n recipe.splitVariantProps(restOfInternalProps)\n const styles = recipe(variantOptions)\n const slotStyles = styles[slot as keyof typeof styles]\n\n return (\n <Component\n {...defaultProps}\n {...(nativeProps as P)}\n className={cx(className, slotStyles, css(customCss))}\n />\n )\n }\n\n if (this.validateComponent(El)) {\n const ElName = typeof El === 'string' ? El : El.displayName || El.name\n CerbComponent.displayName = ElName\n }\n\n return CerbComponent\n }\n}\n","import { CerberusPrimitive } from './primitive-factory'\nimport type { CerberusFactory, CerberusPrimitiveRecipe } from './types'\nimport { cerberusFactoryProxy } from './factory'\n\n/**\n * This module contains the user interface for creating Cerberus primitives.\n * @module @cerberus/core/system/create-cerb-primitive\n */\n\n/**\n * A factory function that creates a Cerberus primitive instance with the given\n * recipe.\n * @param recipe\n * @returns An object with three methods: `withNoRecipe`, `withRecipe`, and `withSlotRecipe` that\n * apply the recipes and special Cerberus helpers like `css`.\n *\n * @example\n * ```tsx\n * const { withRecipe } = createCerberusPrimitive(myCustomRecipe);\n * export const Button = withRecipe(MyCustomButton)\n * ```\n */\nexport function createCerberusPrimitive<T extends CerberusPrimitiveRecipe>(\n recipe?: T,\n) {\n return new CerberusPrimitive(recipe)\n}\n\n/**\n * A utility function to access Cerberus components by their name.\n * @param component - The name of the Cerberus component to access.\n * @returns The Cerberus component corresponding to the provided name.\n * @throws An error if the component name is not valid.\n *\n * @example\n * ```tsx\n * import { cerberus } from '@cerberus/react'\n * const Button = cerberus('button')\n *\n * <Button css={{ color: 'blue' }} asChild>\n * <Link href=\"/some-page\">Click me</Link>\n * </Button>\n * ```\n */\nexport const cerberus = cerberusFactoryProxy as CerberusFactory\n\nexport * from './types'\n"],"mappings":"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","names":["Dialog","ArkPortal","import_jsx_runtime","Dialog"]}
|
|
@@ -50,23 +50,28 @@ var CerberusPrimitive = class {
|
|
|
50
50
|
/**
|
|
51
51
|
* Creates a Cerberus component with bare features and no recipe.
|
|
52
52
|
* @param Component - The React component to enhance with Cerberus features.
|
|
53
|
+
* Can be a string or a component reference.
|
|
53
54
|
* @returns A new React component that applies Cerberus features to the
|
|
54
55
|
* original component.
|
|
56
|
+
*
|
|
55
57
|
* @example
|
|
56
|
-
* ```
|
|
57
|
-
* const { withNoRecipe } = createCerberusPrimitive(
|
|
58
|
-
* const Button = withNoRecipe(
|
|
58
|
+
* ```ts
|
|
59
|
+
* const { withNoRecipe } = createCerberusPrimitive(buttonRecipe)
|
|
60
|
+
* const Button = withNoRecipe('button')
|
|
59
61
|
* ```
|
|
60
62
|
*/
|
|
61
63
|
__publicField(this, "withNoRecipe", (Component, options) => {
|
|
62
64
|
const { defaultProps } = options || {};
|
|
63
|
-
|
|
65
|
+
const El = Component;
|
|
64
66
|
const CerbComponent = (props) => {
|
|
65
67
|
const { css: customCss, className, ...nativeProps } = props;
|
|
66
68
|
const styles = this.hasStyles((0, import_css.cx)(className, (0, import_css.css)(customCss)));
|
|
67
|
-
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
69
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(El, { ...defaultProps, ...styles, ...nativeProps });
|
|
68
70
|
};
|
|
69
|
-
|
|
71
|
+
if (this.validateComponent(El)) {
|
|
72
|
+
const ElName = typeof El === "string" ? El : El.displayName || El.name;
|
|
73
|
+
CerbComponent.displayName = ElName;
|
|
74
|
+
}
|
|
70
75
|
return CerbComponent;
|
|
71
76
|
});
|
|
72
77
|
/**
|
|
@@ -78,11 +83,15 @@ var CerberusPrimitive = class {
|
|
|
78
83
|
*/
|
|
79
84
|
__publicField(this, "withRecipe", (Component, options) => {
|
|
80
85
|
const { defaultProps } = options || {};
|
|
86
|
+
const El = Component;
|
|
81
87
|
const recipe = this.recipe;
|
|
82
|
-
this.validateComponent(Component);
|
|
83
88
|
const CerbComponent = (internalProps) => {
|
|
84
|
-
const {
|
|
85
|
-
|
|
89
|
+
const {
|
|
90
|
+
css: customCss,
|
|
91
|
+
className,
|
|
92
|
+
...restOfInternalProps
|
|
93
|
+
} = internalProps;
|
|
94
|
+
const [variantOptions, nativeProps] = recipe.splitVariantProps(restOfInternalProps);
|
|
86
95
|
const recipeStyles = recipe(variantOptions);
|
|
87
96
|
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
88
97
|
Component,
|
|
@@ -93,7 +102,10 @@ var CerberusPrimitive = class {
|
|
|
93
102
|
}
|
|
94
103
|
);
|
|
95
104
|
};
|
|
96
|
-
|
|
105
|
+
if (this.validateComponent(El)) {
|
|
106
|
+
const ElName = typeof El === "string" ? El : El.displayName || El.name;
|
|
107
|
+
CerbComponent.displayName = ElName;
|
|
108
|
+
}
|
|
97
109
|
return CerbComponent;
|
|
98
110
|
});
|
|
99
111
|
/**
|
|
@@ -110,11 +122,15 @@ var CerberusPrimitive = class {
|
|
|
110
122
|
*/
|
|
111
123
|
__publicField(this, "withSlotRecipe", (Component, slot, options) => {
|
|
112
124
|
const { defaultProps } = options || {};
|
|
125
|
+
const El = Component;
|
|
113
126
|
const recipe = this.recipe;
|
|
114
|
-
this.validateComponent(Component);
|
|
115
127
|
const CerbComponent = (internalProps) => {
|
|
116
|
-
const {
|
|
117
|
-
|
|
128
|
+
const {
|
|
129
|
+
css: customCss,
|
|
130
|
+
className,
|
|
131
|
+
...restOfInternalProps
|
|
132
|
+
} = internalProps;
|
|
133
|
+
const [variantOptions, nativeProps] = recipe.splitVariantProps(restOfInternalProps);
|
|
118
134
|
const styles = recipe(variantOptions);
|
|
119
135
|
const slotStyles = styles[slot];
|
|
120
136
|
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
@@ -126,7 +142,10 @@ var CerberusPrimitive = class {
|
|
|
126
142
|
}
|
|
127
143
|
);
|
|
128
144
|
};
|
|
129
|
-
|
|
145
|
+
if (this.validateComponent(El)) {
|
|
146
|
+
const ElName = typeof El === "string" ? El : El.displayName || El.name;
|
|
147
|
+
CerbComponent.displayName = ElName;
|
|
148
|
+
}
|
|
130
149
|
return CerbComponent;
|
|
131
150
|
});
|
|
132
151
|
this.recipe = recipe ?? null;
|
|
@@ -141,8 +160,9 @@ var CerberusPrimitive = class {
|
|
|
141
160
|
}
|
|
142
161
|
validateComponent(Component) {
|
|
143
162
|
if (typeof Component !== "function" && typeof Component !== "object") {
|
|
144
|
-
|
|
163
|
+
return false;
|
|
145
164
|
}
|
|
165
|
+
return true;
|
|
146
166
|
}
|
|
147
167
|
};
|
|
148
168
|
|