@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/accordion/primitives.tsx","../../../../src/system/primitive-factory.tsx","../../../../src/system/index.ts"],"sourcesContent":["import {\n Accordion,\n type AccordionItemContentProps as ArkAccordionItemContentProps,\n type AccordionItemIndicatorProps as ArkAccordionItemIndicatorProps,\n type AccordionItemProps as ArkAccordionItemProps,\n type AccordionItemTriggerProps as ArkAccordionItemTriggerProps,\n type AccordionRootProps as ArkAccordionRootProps,\n} from '@ark-ui/react/accordion'\nimport { accordion, type AccordionVariantProps } from 'styled-system/recipes'\nimport {\n createCerberusPrimitive,\n type CerberusPrimitiveProps,\n} from '../../system/index'\n\n/**\n * This module contains the primitives of the Accordion component.\n * @module 'accordion/primitives'\n */\n\nconst { withSlotRecipe } = createCerberusPrimitive(accordion)\n\nfunction AccordionRootEl(props: AccordionRootProps) {\n const { size, ...rootProps } = props\n return <Accordion.Root {...rootProps} data-size={size} />\n}\n\n/**\n * The primitive root component of the Accordion component.\n *\n * This component returns the Ark `Accordion.Root` component which has a\n * base style using the Cerberus `accordion` recipe that can be overridden.\n */\nexport const AccordionRoot = withSlotRecipe(AccordionRootEl, 'root')\nexport type AccordionRootProps = CerberusPrimitiveProps<\n ArkAccordionRootProps & AccordionVariantProps\n>\n\n/**\n * The primitive item component of the Accordion component.\n *\n * This component returns the Ark `Accordion.Item` component which has a\n * base style using the Cerberus `accordion` recipe that can be overridden.\n */\nexport const AccordionItem = withSlotRecipe<AccordionItemProps>(\n Accordion.Item,\n 'item',\n)\nexport type AccordionItemProps = CerberusPrimitiveProps<\n ArkAccordionItemProps & AccordionVariantProps\n>\n\n/**\n * The primitive trigger component of the Accordion component.\n *\n * This component returns the Ark `Accordion.ItemTrigger` component which has\n * a base style using the Cerberus `accordion` recipe that can be overridden.\n */\nexport const AccordionItemTrigger = withSlotRecipe<AccordionItemTriggerProps>(\n Accordion.ItemTrigger,\n 'itemTrigger',\n)\nexport type AccordionItemTriggerProps =\n CerberusPrimitiveProps<ArkAccordionItemTriggerProps>\n\n/**\n * The primitive item indicator component of the Accordion component.\n *\n * This component returns the Ark `Accordion.ItemIndicator` component which has\n * a base style using the Cerberus `accordion` recipe that can be overridden.\n */\nexport const AccordionItemIndicator =\n withSlotRecipe<AccordionItemIndicatorProps>(\n Accordion.ItemIndicator,\n 'itemIndicator',\n )\nexport type AccordionItemIndicatorProps =\n CerberusPrimitiveProps<ArkAccordionItemIndicatorProps>\n\n/**\n * The primitive content component of the Accordion component.\n *\n * This component returns the Ark `Accordion.Content` component which has a\n * base style using the Cerberus `accordion` recipe that can be overridden.\n */\nexport const AccordionItemContent = withSlotRecipe<AccordionItemContentProps>(\n Accordion.ItemContent,\n 'itemContent',\n)\nexport type AccordionItemContentProps =\n CerberusPrimitiveProps<ArkAccordionItemContentProps>\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":["import_jsx_runtime"]}
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/accordion/primitives.tsx","../../../../src/system/primitive-factory.tsx","../../../../src/system/index.ts"],"sourcesContent":["import {\n Accordion,\n type AccordionItemContentProps as ArkAccordionItemContentProps,\n type AccordionItemIndicatorProps as ArkAccordionItemIndicatorProps,\n type AccordionItemProps as ArkAccordionItemProps,\n type AccordionItemTriggerProps as ArkAccordionItemTriggerProps,\n type AccordionRootProps as ArkAccordionRootProps,\n} from '@ark-ui/react/accordion'\nimport { accordion, type AccordionVariantProps } from 'styled-system/recipes'\nimport {\n createCerberusPrimitive,\n type CerberusPrimitiveProps,\n} from '../../system/index'\n\n/**\n * This module contains the primitives of the Accordion component.\n * @module 'accordion/primitives'\n */\n\nconst { withSlotRecipe } = createCerberusPrimitive(accordion)\n\nfunction AccordionRootEl(props: AccordionRootProps) {\n const { size, ...rootProps } = props\n return <Accordion.Root {...rootProps} data-size={size} />\n}\n\n/**\n * The primitive root component of the Accordion component.\n *\n * This component returns the Ark `Accordion.Root` component which has a\n * base style using the Cerberus `accordion` recipe that can be overridden.\n */\nexport const AccordionRoot = withSlotRecipe(AccordionRootEl, 'root')\nexport type AccordionRootProps = CerberusPrimitiveProps<\n ArkAccordionRootProps & AccordionVariantProps\n>\n\n/**\n * The primitive item component of the Accordion component.\n *\n * This component returns the Ark `Accordion.Item` component which has a\n * base style using the Cerberus `accordion` recipe that can be overridden.\n */\nexport const AccordionItem = withSlotRecipe<AccordionItemProps>(\n Accordion.Item,\n 'item',\n)\nexport type AccordionItemProps = CerberusPrimitiveProps<\n ArkAccordionItemProps & AccordionVariantProps\n>\n\n/**\n * The primitive trigger component of the Accordion component.\n *\n * This component returns the Ark `Accordion.ItemTrigger` component which has\n * a base style using the Cerberus `accordion` recipe that can be overridden.\n */\nexport const AccordionItemTrigger = withSlotRecipe<AccordionItemTriggerProps>(\n Accordion.ItemTrigger,\n 'itemTrigger',\n)\nexport type AccordionItemTriggerProps =\n CerberusPrimitiveProps<ArkAccordionItemTriggerProps>\n\n/**\n * The primitive item indicator component of the Accordion component.\n *\n * This component returns the Ark `Accordion.ItemIndicator` component which has\n * a base style using the Cerberus `accordion` recipe that can be overridden.\n */\nexport const AccordionItemIndicator =\n withSlotRecipe<AccordionItemIndicatorProps>(\n Accordion.ItemIndicator,\n 'itemIndicator',\n )\nexport type AccordionItemIndicatorProps =\n CerberusPrimitiveProps<ArkAccordionItemIndicatorProps>\n\n/**\n * The primitive content component of the Accordion component.\n *\n * This component returns the Ark `Accordion.Content` component which has a\n * base style using the Cerberus `accordion` recipe that can be overridden.\n */\nexport const AccordionItemContent = withSlotRecipe<AccordionItemContentProps>(\n Accordion.ItemContent,\n 'itemContent',\n)\nexport type AccordionItemContentProps =\n CerberusPrimitiveProps<ArkAccordionItemContentProps>\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":["import_jsx_runtime"]}
|
|
@@ -72,23 +72,28 @@ var CerberusPrimitive = class {
|
|
|
72
72
|
/**
|
|
73
73
|
* Creates a Cerberus component with bare features and no recipe.
|
|
74
74
|
* @param Component - The React component to enhance with Cerberus features.
|
|
75
|
+
* Can be a string or a component reference.
|
|
75
76
|
* @returns A new React component that applies Cerberus features to the
|
|
76
77
|
* original component.
|
|
78
|
+
*
|
|
77
79
|
* @example
|
|
78
|
-
* ```
|
|
79
|
-
* const { withNoRecipe } = createCerberusPrimitive(
|
|
80
|
-
* const Button = withNoRecipe(
|
|
80
|
+
* ```ts
|
|
81
|
+
* const { withNoRecipe } = createCerberusPrimitive(buttonRecipe)
|
|
82
|
+
* const Button = withNoRecipe('button')
|
|
81
83
|
* ```
|
|
82
84
|
*/
|
|
83
85
|
__publicField(this, "withNoRecipe", (Component, options) => {
|
|
84
86
|
const { defaultProps } = options || {};
|
|
85
|
-
|
|
87
|
+
const El = Component;
|
|
86
88
|
const CerbComponent = (props) => {
|
|
87
89
|
const { css: customCss, className, ...nativeProps } = props;
|
|
88
90
|
const styles = this.hasStyles((0, import_css.cx)(className, (0, import_css.css)(customCss)));
|
|
89
|
-
return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
|
|
91
|
+
return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(El, { ...defaultProps, ...styles, ...nativeProps });
|
|
90
92
|
};
|
|
91
|
-
|
|
93
|
+
if (this.validateComponent(El)) {
|
|
94
|
+
const ElName = typeof El === "string" ? El : El.displayName || El.name;
|
|
95
|
+
CerbComponent.displayName = ElName;
|
|
96
|
+
}
|
|
92
97
|
return CerbComponent;
|
|
93
98
|
});
|
|
94
99
|
/**
|
|
@@ -100,11 +105,15 @@ var CerberusPrimitive = class {
|
|
|
100
105
|
*/
|
|
101
106
|
__publicField(this, "withRecipe", (Component, options) => {
|
|
102
107
|
const { defaultProps } = options || {};
|
|
108
|
+
const El = Component;
|
|
103
109
|
const recipe = this.recipe;
|
|
104
|
-
this.validateComponent(Component);
|
|
105
110
|
const CerbComponent = (internalProps) => {
|
|
106
|
-
const {
|
|
107
|
-
|
|
111
|
+
const {
|
|
112
|
+
css: customCss,
|
|
113
|
+
className,
|
|
114
|
+
...restOfInternalProps
|
|
115
|
+
} = internalProps;
|
|
116
|
+
const [variantOptions, nativeProps] = recipe.splitVariantProps(restOfInternalProps);
|
|
108
117
|
const recipeStyles = recipe(variantOptions);
|
|
109
118
|
return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
|
|
110
119
|
Component,
|
|
@@ -115,7 +124,10 @@ var CerberusPrimitive = class {
|
|
|
115
124
|
}
|
|
116
125
|
);
|
|
117
126
|
};
|
|
118
|
-
|
|
127
|
+
if (this.validateComponent(El)) {
|
|
128
|
+
const ElName = typeof El === "string" ? El : El.displayName || El.name;
|
|
129
|
+
CerbComponent.displayName = ElName;
|
|
130
|
+
}
|
|
119
131
|
return CerbComponent;
|
|
120
132
|
});
|
|
121
133
|
/**
|
|
@@ -132,11 +144,15 @@ var CerberusPrimitive = class {
|
|
|
132
144
|
*/
|
|
133
145
|
__publicField(this, "withSlotRecipe", (Component, slot, options) => {
|
|
134
146
|
const { defaultProps } = options || {};
|
|
147
|
+
const El = Component;
|
|
135
148
|
const recipe = this.recipe;
|
|
136
|
-
this.validateComponent(Component);
|
|
137
149
|
const CerbComponent = (internalProps) => {
|
|
138
|
-
const {
|
|
139
|
-
|
|
150
|
+
const {
|
|
151
|
+
css: customCss,
|
|
152
|
+
className,
|
|
153
|
+
...restOfInternalProps
|
|
154
|
+
} = internalProps;
|
|
155
|
+
const [variantOptions, nativeProps] = recipe.splitVariantProps(restOfInternalProps);
|
|
140
156
|
const styles = recipe(variantOptions);
|
|
141
157
|
const slotStyles = styles[slot];
|
|
142
158
|
return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
|
|
@@ -148,7 +164,10 @@ var CerberusPrimitive = class {
|
|
|
148
164
|
}
|
|
149
165
|
);
|
|
150
166
|
};
|
|
151
|
-
|
|
167
|
+
if (this.validateComponent(El)) {
|
|
168
|
+
const ElName = typeof El === "string" ? El : El.displayName || El.name;
|
|
169
|
+
CerbComponent.displayName = ElName;
|
|
170
|
+
}
|
|
152
171
|
return CerbComponent;
|
|
153
172
|
});
|
|
154
173
|
this.recipe = recipe ?? null;
|
|
@@ -163,8 +182,9 @@ var CerberusPrimitive = class {
|
|
|
163
182
|
}
|
|
164
183
|
validateComponent(Component) {
|
|
165
184
|
if (typeof Component !== "function" && typeof Component !== "object") {
|
|
166
|
-
|
|
185
|
+
return false;
|
|
167
186
|
}
|
|
187
|
+
return true;
|
|
168
188
|
}
|
|
169
189
|
};
|
|
170
190
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/admonition/admonition.tsx","../../../../src/utils/index.ts","../../../../src/components/show/show.tsx","../../../../src/components/admonition/primitives.tsx","../../../../src/system/primitive-factory.tsx","../../../../src/system/index.ts","../../../../src/components/admonition/parts.ts","../../../../src/components/admonition/match-avatar.tsx","../../../../src/context/cerberus.tsx","../../../../src/components/avatar/primitives.tsx","../../../../src/components/avatar/parts.ts","../../../../src/components/avatar/avatar.tsx"],"sourcesContent":["import type { ReactNode } from 'react'\nimport { splitProps } from '../../utils/index'\nimport { Show } from '../show/index'\nimport { AdmonitionParts } from './parts'\nimport type { AdmonitionRootProps } from './primitives'\nimport { MatchAvatar } from './match-avatar'\n\n/**\n * This module provides an abstraction for the Admonition component.\n * @module 'admonition/admonition'\n */\n\nexport interface AdmonitionProps extends AdmonitionRootProps {\n /**\n * The heading title for the Admonition.\n */\n heading?: string\n /**\n * One off replacement for the icon.\n */\n icon?: ReactNode\n}\n\n/**\n * The Admonition component is an abstraction of the primitives which\n * displays a Admonition with a label.\n *\n * @description [Cerberus Docs](https://cerberus.digitalu.design/react/admonition)\n *\n * @remarks\n *\n * For a customizable Admonition, use the `AdmonitionParts` object to access the\n * individual primitives of the Admonition component.\n */\nexport function Admonition(props: AdmonitionProps) {\n const [elProps, styleProps, rootProps] = splitProps(\n props,\n ['heading', 'icon', 'children'],\n ['palette', 'usage'],\n )\n\n return (\n <AdmonitionParts.Root {...styleProps} {...rootProps}>\n <Show\n when={elProps.icon}\n fallback={<MatchAvatar palette={styleProps.palette} />}\n >\n <AdmonitionParts.Indicator>{elProps.icon}</AdmonitionParts.Indicator>\n </Show>\n\n <AdmonitionParts.Content>\n <Show when={elProps.heading}>\n <AdmonitionParts.Heading>{elProps.heading}</AdmonitionParts.Heading>\n </Show>\n\n <AdmonitionParts.Description>\n {elProps.children}\n </AdmonitionParts.Description>\n </AdmonitionParts.Content>\n </AdmonitionParts.Root>\n )\n}\n","/**\n * This module contains utility functions that are used across your app.\n * @module Utils\n */\n\n/**\n * Formats the count of notifications to be displayed in the notification badge.\n * @param count - The number of notifications.\n * @returns The formatted count of notifications.\n * @example\n * ```tsx\n * const count = formatNotifyCount(100)\n * console.log(count) // '99+'\n * ```\n */\nexport function formatNotifyCount(count: number): string {\n if (count > 99) return '99+'\n return count.toString()\n}\n\n/**\n * Splits the properties of an object into multiple groups based on lists of keys.\n * @param props - The object to split.\n * @param keyGroups - The lists of keys to include in each group.\n * @returns An array of objects: each containing the properties specified in the corresponding key group, and the last object containing the remaining keys.\n */\nexport function splitProps<T extends object>(\n props: T,\n ...keyGroups: (keyof T)[][]\n): { [K in keyof T]?: T[K] }[] {\n const result = keyGroups.map(() => ({}) as { [K in keyof T]?: T[K] })\n const rest = {} as { [K in keyof T]?: T[K] }\n\n for (const key in props) {\n let assigned = false\n for (let i = 0; i < keyGroups.length; i++) {\n if (keyGroups[i].includes(key as keyof T)) {\n result[i][key as keyof T] = props[key]\n assigned = true\n break\n }\n }\n if (!assigned) {\n rest[key as keyof T] = props[key]\n }\n }\n\n return [...result, rest]\n}\n\nexport * from './localStorage'\n","import { type PropsWithChildren, type ReactNode } from 'react'\n\n/**\n * This module contains the Show component.\n * @module\n */\n\nexport interface ShowProps<T> {\n /**\n * The condition to render memoized children or the fallback content.\n */\n when: T | boolean | null | undefined\n /**\n * The children to render when the condition is false.\n */\n fallback?: ReactNode\n}\n\n/**\n * Conditionally render a memoized version of the children or optional fallback\n * content.\n * @see https://cerberus.digitalu.design/react/show\n * @example\n * ```tsx\n * <Show when={isLoggedIn} fallback={<Navigate to=\"/login\" />}>\n * <Dashboard />\n * </Show>\n */\nexport function Show<T>(props: PropsWithChildren<ShowProps<T>>) {\n const { when, children, fallback } = props\n\n if (when) {\n return <>{children}</>\n }\n\n if (fallback) {\n return <>{fallback}</>\n }\n\n return null\n}\n","import { ark, type HTMLArkProps } from '@ark-ui/react/factory'\nimport { admonition, type AdmonitionVariantProps } from 'styled-system/recipes'\nimport {\n createCerberusPrimitive,\n type CerberusPrimitiveProps,\n} from '../../system/index'\n\n/**\n * This module contains the primitives of the Admonition components.\n * @module 'admonition/primitives'\n */\n\nconst { withSlotRecipe, withNoRecipe } = createCerberusPrimitive(admonition)\n\n/**\n * The `AdmonitionRoot` component is the container for the Admonition.\n */\nexport const AdmonitionRoot = withSlotRecipe<AdmonitionRootProps>(\n ark.aside,\n 'root',\n {\n defaultProps: {\n 'data-scope': 'admonition',\n 'data-part': 'root',\n },\n },\n)\nexport type AdmonitionRootProps = CerberusPrimitiveProps<\n HTMLArkProps<'aside'> & AdmonitionVariantProps\n>\n\n/**\n * The `AdmonitionIndicator` component is the indicator for the Admonition.\n */\nexport const AdmonitionIndicator = withNoRecipe<AdmonitionIndicatorProps>(\n ark.span,\n {\n defaultProps: {\n 'data-scope': 'admonition',\n 'data-part': 'indicator',\n },\n },\n)\nexport type AdmonitionIndicatorProps = CerberusPrimitiveProps<\n HTMLArkProps<'span'>\n>\n\n/**\n * The `AdmonitionContent` component is the content for the Admonition.\n */\nexport const AdmonitionContent = withNoRecipe<AdmonitionContentProps>(ark.div, {\n defaultProps: {\n 'data-scope': 'admonition',\n 'data-part': 'content',\n },\n})\nexport type AdmonitionContentProps = CerberusPrimitiveProps<HTMLArkProps<'div'>>\n\n/**\n * The `AdmonitionHeading` component is the heading title for the Admonition.\n */\nexport const AdmonitionHeading = withSlotRecipe<AdmonitionHeadingProps>(\n ark.p,\n 'heading',\n {\n defaultProps: {\n 'data-scope': 'admonition',\n 'data-part': 'heading',\n },\n },\n)\nexport type AdmonitionHeadingProps = CerberusPrimitiveProps<\n HTMLArkProps<'p'> & AdmonitionVariantProps\n>\n\n/**\n * The `AdmonitionDescription` component is the description for the Admonition.\n */\nexport const AdmonitionDescription = withSlotRecipe<AdmonitionDescriptionProps>(\n ark.p,\n 'description',\n {\n defaultProps: {\n 'data-scope': 'admonition',\n 'data-part': 'description',\n },\n },\n)\nexport type AdmonitionDescriptionProps = CerberusPrimitiveProps<\n HTMLArkProps<'p'> & AdmonitionVariantProps\n>\n","import { css, cx } from 'styled-system/css'\nimport type { RecipeVariantRecord } from 'styled-system/types'\nimport {\n type ComponentType,\n type HTMLAttributes,\n type PropsWithChildren,\n} from 'react'\nimport type { WithCss } from '../types'\nimport type {\n CerberusPrimitiveEl,\n CerberusPrimitiveRecipe,\n CerberusRecipe,\n CerberusSlotRecipe,\n WithRecipeOptions,\n} from './types'\n\n/**\n * This module contains a factory for creating Cerberus primitives.\n * @module @cerberus/core/system/factory\n */\n\nexport class CerberusPrimitive {\n recipe: CerberusPrimitiveRecipe | null\n\n constructor(recipe?: CerberusPrimitiveRecipe) {\n this.recipe = recipe ?? null\n }\n\n private hasStyles(styles: string | undefined): Record<string, unknown> {\n if (styles) {\n return {\n className: styles,\n }\n }\n return {}\n }\n\n private validateComponent<P extends HTMLAttributes<unknown>>(\n Component: ComponentType<P>,\n ) {\n if (typeof Component !== 'function' && typeof Component !== 'object') {\n throw new Error('Expected a React component as the first argument.')\n }\n }\n\n /**\n * Creates a Cerberus component with bare features and no recipe.\n * @param Component - The React component to enhance with Cerberus features.\n * @returns A new React component that applies Cerberus features to the\n * original component.\n * @example\n * ```typescript\n * const { withNoRecipe } = createCerberusPrimitive(button)\n * const Button = withNoRecipe(RawButton)\n * ```\n */\n withNoRecipe = <P extends HTMLAttributes<unknown>>(\n Component: ComponentType<P>,\n options?: WithRecipeOptions,\n ): CerberusPrimitiveEl<P> => {\n const { defaultProps } = options || {}\n\n this.validateComponent(Component)\n\n const CerbComponent = (props: PropsWithChildren<P> & WithCss) => {\n const { css: customCss, className, ...nativeProps } = props\n const styles = this.hasStyles(cx(className, css(customCss)))\n return <Component {...defaultProps} {...styles} {...(nativeProps as P)} />\n }\n\n CerbComponent.displayName = Component.displayName || Component.name\n return CerbComponent\n }\n\n /**\n * Creates a Cerberus component with the given recipe.\n * @param Component - The React component to enhance with the recipe.\n * @param options - Options for the recipe.\n * @returns A new React component that applies the recipe to the original\n * component.\n */\n withRecipe = <P extends HTMLAttributes<unknown>>(\n Component: ComponentType<P>,\n options?: WithRecipeOptions,\n ): CerberusPrimitiveEl<P & WithRecipeOptions['defaultProps']> => {\n const { defaultProps } = options || {}\n const recipe = this.recipe as CerberusRecipe\n\n this.validateComponent(Component)\n\n const CerbComponent = (internalProps: PropsWithChildren<P> & WithCss) => {\n const { css: customCss, className, ...nativeProps } = internalProps\n\n const [variantOptions] = recipe.splitVariantProps(nativeProps)\n const recipeStyles = recipe(variantOptions)\n\n return (\n <Component\n {...defaultProps}\n {...(nativeProps as P)}\n className={cx(className, recipeStyles, css(customCss))}\n />\n )\n }\n\n CerbComponent.displayName = Component.displayName || Component.name\n return CerbComponent\n }\n\n /**\n * Creates a Cerberus component with a slot recipe applied.\n * @param Component - The React component to enhance with Cerberus features.\n * @param recipe - The slot recipe to apply to the component.\n * @returns A new React component that applies Cerberus features and the\n * specified slot recipe to the original component.\n * @example\n * ```typescript\n * const { withSlotRecipe } = createCerberusPrimitive(field)\n * const Field = withSlotRecipe(RawField, field)\n * ```\n */\n withSlotRecipe = <P extends HTMLAttributes<unknown>>(\n Component: ComponentType<P>,\n slot: keyof RecipeVariantRecord,\n options?: WithRecipeOptions,\n ) => {\n const { defaultProps } = options || {}\n const recipe = this.recipe as CerberusSlotRecipe<typeof slot>\n\n this.validateComponent(Component)\n\n const CerbComponent = (internalProps: PropsWithChildren<P> & WithCss) => {\n const { css: customCss, className, ...nativeProps } = internalProps\n\n const [variantOptions] = recipe.splitVariantProps(nativeProps)\n const styles = recipe(variantOptions)\n const slotStyles = styles[slot as keyof typeof styles]\n\n return (\n <Component\n {...defaultProps}\n {...(nativeProps as P)}\n className={cx(className, slotStyles, css(customCss))}\n />\n )\n }\n\n CerbComponent.displayName = Component.displayName || Component.name\n return CerbComponent\n }\n}\n","import { CerberusPrimitive } from './primitive-factory'\nimport type { CerberusFactory, CerberusPrimitiveRecipe } from './types'\nimport { cerberusFactoryProxy } from './factory'\n\n/**\n * This module contains the user interface for creating Cerberus primitives.\n * @module @cerberus/core/system/create-cerb-primitive\n */\n\n/**\n * A factory function that creates a Cerberus primitive instance with the given\n * recipe.\n * @param recipe\n * @returns An object with three methods: `withNoRecipe`, `withRecipe`, and `withSlotRecipe` that\n * apply the recipes and special Cerberus helpers like `css`.\n *\n * @example\n * ```tsx\n * const { withRecipe } = createCerberusPrimitive(myCustomRecipe);\n * export const Button = withRecipe(MyCustomButton)\n * ```\n */\nexport function createCerberusPrimitive<T extends CerberusPrimitiveRecipe>(\n recipe?: T,\n) {\n return new CerberusPrimitive(recipe)\n}\n\n/**\n * A utility function to access Cerberus components by their name.\n * @param component - The name of the Cerberus component to access.\n * @returns The Cerberus component corresponding to the provided name.\n * @throws An error if the component name is not valid.\n *\n * @example\n * ```tsx\n * import { cerberus } from '@cerberus/react'\n * const Button = cerberus('button')\n *\n * <Button css={{ color: 'blue' }} asChild>\n * <Link href=\"/some-page\">Click me</Link>\n * </Button>\n * ```\n */\nexport const cerberus = cerberusFactoryProxy as CerberusFactory\n\nexport * from './types'\n","import type { ElementType } from 'react'\nimport {\n AdmonitionContent,\n AdmonitionDescription,\n AdmonitionHeading,\n AdmonitionIndicator,\n AdmonitionRoot,\n} from './primitives'\n\n/**\n * This module contains the parts of the Admonition component.\n * @module 'admonition/parts'\n */\n\ninterface AdmonitionPartsValue {\n /**\n * The context provider of the Admonition.\n */\n Root: ElementType\n /**\n * The indicator of the Admonition.\n */\n Indicator: ElementType\n /**\n * The content of the Admonition.\n */\n Content: ElementType\n /**\n * The heading of the Admonition.\n */\n Heading: ElementType\n /**\n * The description of the Admonition.\n */\n Description: ElementType\n}\n\n/**\n * An Object containing the parts of the Accordion component. For users that\n * prefer Object component syntax.\n *\n * @remarks\n *\n * When using object component syntax, you import the AdmonitionParts object and\n * the entire family of components vs. only what you use.\n */\nexport const AdmonitionParts: AdmonitionPartsValue = {\n Root: AdmonitionRoot,\n Indicator: AdmonitionIndicator,\n Content: AdmonitionContent,\n Heading: AdmonitionHeading,\n Description: AdmonitionDescription,\n}\n","'use client'\n\nimport type { AdmonitionVariantProps } from 'styled-system/recipes'\nimport { useRef, type ReactNode } from 'react'\nimport { useCerberusContext } from '../../context/cerberus'\nimport { Avatar } from '../avatar/avatar'\n\n/**\n * This module provides a component for creating the admonition indicator.\n * @module 'admonition/match-avatar'\n */\n\ninterface AvatarRefProps {\n page: ReactNode\n info: ReactNode\n success: ReactNode\n warning: ReactNode\n danger: ReactNode\n}\n\ntype MatchAvatarProps = AdmonitionVariantProps\n\nexport function MatchAvatar(props: MatchAvatarProps) {\n const { palette = 'page' } = props\n\n const { icons } = useCerberusContext()\n const {\n infoNotification: InfoIcon,\n successNotification: SuccessIcon,\n warningNotification: WarningIcon,\n dangerNotification: DangerIcon,\n } = icons\n\n // cache the el since the result is static and the component is client side\n const elRef = useRef<AvatarRefProps>({\n page: <Avatar gradient=\"charon-light\" fallback={<InfoIcon />} size=\"sm\" />,\n info: (\n <Avatar gradient=\"amphiaraus-dark\" fallback={<InfoIcon />} size=\"sm\" />\n ),\n success: (\n <Avatar gradient=\"thanatos-dark\" fallback={<SuccessIcon />} size=\"sm\" />\n ),\n warning: (\n <Avatar gradient=\"asphodel-light\" fallback={<WarningIcon />} size=\"sm\" />\n ),\n danger: (\n <Avatar gradient=\"hades-light\" fallback={<DangerIcon />} size=\"sm\" />\n ),\n })\n\n return <>{elRef.current[palette]}</>\n}\n","'use client'\n\nimport { createContext, useContext, type PropsWithChildren } from 'react'\nimport type { SystemConfig } from '../config'\n\n/**\n * This module contains the Cerberus configuration context and helpers.\n * @module context/cerberus\n */\n\ntype CerberusContextValue = SystemConfig\n\nconst CerberusContext = createContext<CerberusContextValue | null>(null)\n\ninterface CerberusProviderProps {\n config: SystemConfig\n}\n\n/**\n * Cerberus configuration provider.\n * @param props.config The Cerberus configuration created with\n * `makeSystemConfig` helper.\n */\nexport function CerberusProvider(\n props: PropsWithChildren<CerberusProviderProps>,\n) {\n return (\n <CerberusContext.Provider value={props.config}>\n {props.children}\n </CerberusContext.Provider>\n )\n}\n\n/**\n * Returns the Cerberus configuration context.\n * @returns The Cerberus configuration context.\n */\nexport function useCerberusContext() {\n const context = useContext(CerberusContext)\n if (!context) {\n throw new Error('useCerberus must be used within a CerberusProvider')\n }\n return context\n}\n","import {\n Avatar,\n type AvatarFallbackProps as ArkAvatarFallbackProps,\n type AvatarImageProps as ArkAvatarImageProps,\n type AvatarRootProps as ArkAvatarRootProps,\n} from '@ark-ui/react/avatar'\nimport { avatar, type AvatarVariantProps } from 'styled-system/recipes'\nimport {\n createCerberusPrimitive,\n type CerberusPrimitiveProps,\n} from '../../system/index'\n\n/**\n * This module provides the primitive components for the Avatar component.\n * @module 'avatar/primitives'\n */\n\nconst { withSlotRecipe } = createCerberusPrimitive(avatar)\n\n/**\n * The root component of the Avatar.\n */\nexport const AvatarRoot = withSlotRecipe<AvatarRootProps>(Avatar.Root, 'root')\nexport type AvatarRootProps = CerberusPrimitiveProps<\n ArkAvatarRootProps & AvatarVariantProps\n>\n\n/**\n * The image component of the Avatar.\n */\nexport const AvatarImage = withSlotRecipe<ArkAvatarImageProps>(\n Avatar.Image,\n 'image',\n)\nexport type AvatarImageProps = CerberusPrimitiveProps<ArkAvatarImageProps>\n\n/**\n * The fallback component of the Avatar.\n */\nexport const AvatarFallback = withSlotRecipe<ArkAvatarFallbackProps>(\n Avatar.Fallback,\n 'fallback',\n)\nexport type AvatarFallbackProps = CerberusPrimitiveProps<ArkAvatarFallbackProps>\n","import type { ElementType } from 'react'\nimport { AvatarFallback, AvatarImage, AvatarRoot } from './primitives'\n\n/**\n * This module contains the parts of the Avatar component.\n * @module 'avatar/parts'\n */\n\ninterface AvatarPartsValue {\n /**\n * The context provider of the Avatar.\n */\n Root: ElementType\n /**\n * The image of the Avatar.\n */\n Image: ElementType\n /**\n * The fallback content to display when the image fails to load.\n */\n Fallback: ElementType\n}\n\n/**\n * An Object containing the parts of the Accordion component. For users that\n * prefer Object component syntax.\n *\n * @remarks\n *\n * When using object component syntax, you import the AvatarParts object and\n * the entire family of components vs. only what you use.\n */\nexport const AvatarParts: AvatarPartsValue = {\n Root: AvatarRoot,\n Image: AvatarImage,\n Fallback: AvatarFallback,\n}\n","import type { AvatarVariantProps } from 'styled-system/recipes'\nimport type { ReactNode } from 'react'\nimport { splitProps } from '../../utils'\nimport { Show } from '../show/index'\nimport { AvatarParts } from './parts'\nimport type { AvatarRootProps } from './primitives'\n\n/**\n * This module provides an abstraction of the Avatar primitives.\n * @module 'avatar'\n */\n\nexport interface AvatarWithoutImage extends AvatarRootProps {\n alt?: never\n src?: never\n fallback?: ReactNode\n}\n\nexport interface AvatarWithImage extends AvatarRootProps, AvatarVariantProps {\n alt: string\n src: string\n fallback?: ReactNode\n}\n\n/**\n * Avatar component is an abstraction of the primitives that displays a\n * avatar or it's fallback when the image fails to load.\n * @description [Cerberus Docs](https://cerberus.digitalu.design/react/avatar/overview)\n * @description [Ark Docs](https://ark-ui.com/react/docs/components/avatar#api-reference)\n */\nexport function Avatar(props: AvatarWithoutImage | AvatarWithImage) {\n const [imgProps, { fallback, children }, rootProps] = splitProps(\n props,\n ['alt', 'src'],\n ['fallback', 'children'],\n )\n\n return (\n <AvatarParts.Root {...rootProps}>\n <Show\n when={children}\n fallback={\n <>\n <AvatarParts.Fallback>{fallback}</AvatarParts.Fallback>\n <AvatarParts.Image {...imgProps} />\n </>\n }\n >\n {children}\n </Show>\n </AvatarParts.Root>\n )\n}\n"],"mappings":"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","names":["import_jsx_runtime","import_react","import_jsx_runtime","import_recipes","withSlotRecipe","import_jsx_runtime","Avatar","import_jsx_runtime","Avatar","import_jsx_runtime"]}
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/admonition/admonition.tsx","../../../../src/utils/index.ts","../../../../src/components/show/show.tsx","../../../../src/components/admonition/primitives.tsx","../../../../src/system/primitive-factory.tsx","../../../../src/system/index.ts","../../../../src/components/admonition/parts.ts","../../../../src/components/admonition/match-avatar.tsx","../../../../src/context/cerberus.tsx","../../../../src/components/avatar/primitives.tsx","../../../../src/components/avatar/parts.ts","../../../../src/components/avatar/avatar.tsx"],"sourcesContent":["import type { ReactNode } from 'react'\nimport { splitProps } from '../../utils/index'\nimport { Show } from '../show/index'\nimport { AdmonitionParts } from './parts'\nimport type { AdmonitionRootProps } from './primitives'\nimport { MatchAvatar } from './match-avatar'\n\n/**\n * This module provides an abstraction for the Admonition component.\n * @module 'admonition/admonition'\n */\n\nexport interface AdmonitionProps extends AdmonitionRootProps {\n /**\n * The heading title for the Admonition.\n */\n heading?: string\n /**\n * One off replacement for the icon.\n */\n icon?: ReactNode\n}\n\n/**\n * The Admonition component is an abstraction of the primitives which\n * displays a Admonition with a label.\n *\n * @description [Cerberus Docs](https://cerberus.digitalu.design/react/admonition)\n *\n * @remarks\n *\n * For a customizable Admonition, use the `AdmonitionParts` object to access the\n * individual primitives of the Admonition component.\n */\nexport function Admonition(props: AdmonitionProps) {\n const [elProps, styleProps, rootProps] = splitProps(\n props,\n ['heading', 'icon', 'children'],\n ['palette', 'usage'],\n )\n\n return (\n <AdmonitionParts.Root {...styleProps} {...rootProps}>\n <Show\n when={elProps.icon}\n fallback={<MatchAvatar palette={styleProps.palette} />}\n >\n <AdmonitionParts.Indicator>{elProps.icon}</AdmonitionParts.Indicator>\n </Show>\n\n <AdmonitionParts.Content>\n <Show when={elProps.heading}>\n <AdmonitionParts.Heading>{elProps.heading}</AdmonitionParts.Heading>\n </Show>\n\n <AdmonitionParts.Description>\n {elProps.children}\n </AdmonitionParts.Description>\n </AdmonitionParts.Content>\n </AdmonitionParts.Root>\n )\n}\n","/**\n * This module contains utility functions that are used across your app.\n * @module Utils\n */\n\n/**\n * Formats the count of notifications to be displayed in the notification badge.\n * @param count - The number of notifications.\n * @returns The formatted count of notifications.\n * @example\n * ```tsx\n * const count = formatNotifyCount(100)\n * console.log(count) // '99+'\n * ```\n */\nexport function formatNotifyCount(count: number): string {\n if (count > 99) return '99+'\n return count.toString()\n}\n\n/**\n * Splits the properties of an object into multiple groups based on lists of keys.\n * @param props - The object to split.\n * @param keyGroups - The lists of keys to include in each group.\n * @returns An array of objects: each containing the properties specified in the corresponding key group, and the last object containing the remaining keys.\n */\nexport function splitProps<T extends object>(\n props: T,\n ...keyGroups: (keyof T)[][]\n): { [K in keyof T]?: T[K] }[] {\n const result = keyGroups.map(() => ({}) as { [K in keyof T]?: T[K] })\n const rest = {} as { [K in keyof T]?: T[K] }\n\n for (const key in props) {\n let assigned = false\n for (let i = 0; i < keyGroups.length; i++) {\n if (keyGroups[i].includes(key as keyof T)) {\n result[i][key as keyof T] = props[key]\n assigned = true\n break\n }\n }\n if (!assigned) {\n rest[key as keyof T] = props[key]\n }\n }\n\n return [...result, rest]\n}\n\nexport * from './localStorage'\n","import { type PropsWithChildren, type ReactNode } from 'react'\n\n/**\n * This module contains the Show component.\n * @module\n */\n\nexport interface ShowProps<T> {\n /**\n * The condition to render memoized children or the fallback content.\n */\n when: T | boolean | null | undefined\n /**\n * The children to render when the condition is false.\n */\n fallback?: ReactNode\n}\n\n/**\n * Conditionally render a memoized version of the children or optional fallback\n * content.\n * @see https://cerberus.digitalu.design/react/show\n * @example\n * ```tsx\n * <Show when={isLoggedIn} fallback={<Navigate to=\"/login\" />}>\n * <Dashboard />\n * </Show>\n */\nexport function Show<T>(props: PropsWithChildren<ShowProps<T>>) {\n const { when, children, fallback } = props\n\n if (when) {\n return <>{children}</>\n }\n\n if (fallback) {\n return <>{fallback}</>\n }\n\n return null\n}\n","import { ark, type HTMLArkProps } from '@ark-ui/react/factory'\nimport { admonition, type AdmonitionVariantProps } from 'styled-system/recipes'\nimport {\n createCerberusPrimitive,\n type CerberusPrimitiveProps,\n} from '../../system/index'\n\n/**\n * This module contains the primitives of the Admonition components.\n * @module 'admonition/primitives'\n */\n\nconst { withSlotRecipe, withNoRecipe } = createCerberusPrimitive(admonition)\n\n/**\n * The `AdmonitionRoot` component is the container for the Admonition.\n */\nexport const AdmonitionRoot = withSlotRecipe<AdmonitionRootProps>(\n ark.aside,\n 'root',\n {\n defaultProps: {\n 'data-scope': 'admonition',\n 'data-part': 'root',\n },\n },\n)\nexport type AdmonitionRootProps = CerberusPrimitiveProps<\n HTMLArkProps<'aside'> & AdmonitionVariantProps\n>\n\n/**\n * The `AdmonitionIndicator` component is the indicator for the Admonition.\n */\nexport const AdmonitionIndicator = withNoRecipe<AdmonitionIndicatorProps>(\n ark.span,\n {\n defaultProps: {\n 'data-scope': 'admonition',\n 'data-part': 'indicator',\n },\n },\n)\nexport type AdmonitionIndicatorProps = CerberusPrimitiveProps<\n HTMLArkProps<'span'>\n>\n\n/**\n * The `AdmonitionContent` component is the content for the Admonition.\n */\nexport const AdmonitionContent = withNoRecipe<AdmonitionContentProps>(ark.div, {\n defaultProps: {\n 'data-scope': 'admonition',\n 'data-part': 'content',\n },\n})\nexport type AdmonitionContentProps = CerberusPrimitiveProps<HTMLArkProps<'div'>>\n\n/**\n * The `AdmonitionHeading` component is the heading title for the Admonition.\n */\nexport const AdmonitionHeading = withSlotRecipe<AdmonitionHeadingProps>(\n ark.p,\n 'heading',\n {\n defaultProps: {\n 'data-scope': 'admonition',\n 'data-part': 'heading',\n },\n },\n)\nexport type AdmonitionHeadingProps = CerberusPrimitiveProps<\n HTMLArkProps<'p'> & AdmonitionVariantProps\n>\n\n/**\n * The `AdmonitionDescription` component is the description for the Admonition.\n */\nexport const AdmonitionDescription = withSlotRecipe<AdmonitionDescriptionProps>(\n ark.p,\n 'description',\n {\n defaultProps: {\n 'data-scope': 'admonition',\n 'data-part': 'description',\n },\n },\n)\nexport type AdmonitionDescriptionProps = CerberusPrimitiveProps<\n HTMLArkProps<'p'> & AdmonitionVariantProps\n>\n","import { css, cx } from 'styled-system/css'\nimport type { RecipeVariantRecord } from 'styled-system/types'\nimport {\n type ComponentType,\n type ElementType,\n type HTMLAttributes,\n type PropsWithChildren,\n} from 'react'\nimport type { WithCss } from '../types'\nimport type {\n CerberusPrimitiveEl,\n CerberusPrimitiveRecipe,\n CerberusRecipe,\n CerberusSlotRecipe,\n WithRecipeOptions,\n} from './types'\n\n/**\n * This module contains a factory for creating Cerberus primitives.\n * @module @cerberus/core/system/factory\n */\n\nexport class CerberusPrimitive {\n recipe: CerberusPrimitiveRecipe | null\n\n constructor(recipe?: CerberusPrimitiveRecipe) {\n this.recipe = recipe ?? null\n }\n\n private hasStyles(styles: string | undefined): Record<string, unknown> {\n if (styles) {\n return {\n className: styles,\n }\n }\n return {}\n }\n\n private validateComponent<P extends HTMLAttributes<unknown>>(\n Component: ComponentType<P> | string,\n ) {\n if (typeof Component !== 'function' && typeof Component !== 'object') {\n return false\n }\n return true\n }\n\n /**\n * Creates a Cerberus component with bare features and no recipe.\n * @param Component - The React component to enhance with Cerberus features.\n * Can be a string or a component reference.\n * @returns A new React component that applies Cerberus features to the\n * original component.\n *\n * @example\n * ```ts\n * const { withNoRecipe } = createCerberusPrimitive(buttonRecipe)\n * const Button = withNoRecipe('button')\n * ```\n */\n withNoRecipe = <P extends HTMLAttributes<unknown>>(\n Component: ComponentType<P> | string,\n options?: WithRecipeOptions,\n ): CerberusPrimitiveEl<P> => {\n const { defaultProps } = options || {}\n const El = Component as ComponentType<P> | ElementType\n\n const CerbComponent = (props: PropsWithChildren<P> & WithCss) => {\n const { css: customCss, className, ...nativeProps } = props\n const styles = this.hasStyles(cx(className, css(customCss)))\n return <El {...defaultProps} {...styles} {...(nativeProps as P)} />\n }\n\n if (this.validateComponent(El)) {\n const ElName = typeof El === 'string' ? El : El.displayName || El.name\n CerbComponent.displayName = ElName\n }\n\n return CerbComponent\n }\n\n /**\n * Creates a Cerberus component with the given recipe.\n * @param Component - The React component to enhance with the recipe.\n * @param options - Options for the recipe.\n * @returns A new React component that applies the recipe to the original\n * component.\n */\n withRecipe = <P extends HTMLAttributes<unknown>>(\n Component: ComponentType<P> | string,\n options?: WithRecipeOptions,\n ): CerberusPrimitiveEl<P & WithRecipeOptions['defaultProps']> => {\n const { defaultProps } = options || {}\n const El = Component as ComponentType<P> | ElementType\n\n const recipe = this.recipe as CerberusRecipe\n\n const CerbComponent = (internalProps: PropsWithChildren<P> & WithCss) => {\n const {\n css: customCss,\n className,\n ...restOfInternalProps\n } = internalProps\n\n const [variantOptions, nativeProps] =\n recipe.splitVariantProps(restOfInternalProps)\n const recipeStyles = recipe(variantOptions)\n\n return (\n <Component\n {...defaultProps}\n {...(nativeProps as P)}\n className={cx(className, recipeStyles, css(customCss))}\n />\n )\n }\n\n if (this.validateComponent(El)) {\n const ElName = typeof El === 'string' ? El : El.displayName || El.name\n CerbComponent.displayName = ElName\n }\n\n return CerbComponent\n }\n\n /**\n * Creates a Cerberus component with a slot recipe applied.\n * @param Component - The React component to enhance with Cerberus features.\n * @param recipe - The slot recipe to apply to the component.\n * @returns A new React component that applies Cerberus features and the\n * specified slot recipe to the original component.\n * @example\n * ```typescript\n * const { withSlotRecipe } = createCerberusPrimitive(field)\n * const Field = withSlotRecipe(RawField, field)\n * ```\n */\n withSlotRecipe = <P extends HTMLAttributes<unknown>>(\n Component: ComponentType<P> | string,\n slot: keyof RecipeVariantRecord,\n options?: WithRecipeOptions,\n ) => {\n const { defaultProps } = options || {}\n const El = Component as ComponentType<P> | ElementType\n\n const recipe = this.recipe as CerberusSlotRecipe<typeof slot>\n\n const CerbComponent = (internalProps: PropsWithChildren<P> & WithCss) => {\n const {\n css: customCss,\n className,\n ...restOfInternalProps\n } = internalProps\n\n const [variantOptions, nativeProps] =\n recipe.splitVariantProps(restOfInternalProps)\n const styles = recipe(variantOptions)\n const slotStyles = styles[slot as keyof typeof styles]\n\n return (\n <Component\n {...defaultProps}\n {...(nativeProps as P)}\n className={cx(className, slotStyles, css(customCss))}\n />\n )\n }\n\n if (this.validateComponent(El)) {\n const ElName = typeof El === 'string' ? El : El.displayName || El.name\n CerbComponent.displayName = ElName\n }\n\n return CerbComponent\n }\n}\n","import { CerberusPrimitive } from './primitive-factory'\nimport type { CerberusFactory, CerberusPrimitiveRecipe } from './types'\nimport { cerberusFactoryProxy } from './factory'\n\n/**\n * This module contains the user interface for creating Cerberus primitives.\n * @module @cerberus/core/system/create-cerb-primitive\n */\n\n/**\n * A factory function that creates a Cerberus primitive instance with the given\n * recipe.\n * @param recipe\n * @returns An object with three methods: `withNoRecipe`, `withRecipe`, and `withSlotRecipe` that\n * apply the recipes and special Cerberus helpers like `css`.\n *\n * @example\n * ```tsx\n * const { withRecipe } = createCerberusPrimitive(myCustomRecipe);\n * export const Button = withRecipe(MyCustomButton)\n * ```\n */\nexport function createCerberusPrimitive<T extends CerberusPrimitiveRecipe>(\n recipe?: T,\n) {\n return new CerberusPrimitive(recipe)\n}\n\n/**\n * A utility function to access Cerberus components by their name.\n * @param component - The name of the Cerberus component to access.\n * @returns The Cerberus component corresponding to the provided name.\n * @throws An error if the component name is not valid.\n *\n * @example\n * ```tsx\n * import { cerberus } from '@cerberus/react'\n * const Button = cerberus('button')\n *\n * <Button css={{ color: 'blue' }} asChild>\n * <Link href=\"/some-page\">Click me</Link>\n * </Button>\n * ```\n */\nexport const cerberus = cerberusFactoryProxy as CerberusFactory\n\nexport * from './types'\n","import type { ElementType } from 'react'\nimport {\n AdmonitionContent,\n AdmonitionDescription,\n AdmonitionHeading,\n AdmonitionIndicator,\n AdmonitionRoot,\n} from './primitives'\n\n/**\n * This module contains the parts of the Admonition component.\n * @module 'admonition/parts'\n */\n\ninterface AdmonitionPartsValue {\n /**\n * The context provider of the Admonition.\n */\n Root: ElementType\n /**\n * The indicator of the Admonition.\n */\n Indicator: ElementType\n /**\n * The content of the Admonition.\n */\n Content: ElementType\n /**\n * The heading of the Admonition.\n */\n Heading: ElementType\n /**\n * The description of the Admonition.\n */\n Description: ElementType\n}\n\n/**\n * An Object containing the parts of the Accordion component. For users that\n * prefer Object component syntax.\n *\n * @remarks\n *\n * When using object component syntax, you import the AdmonitionParts object and\n * the entire family of components vs. only what you use.\n */\nexport const AdmonitionParts: AdmonitionPartsValue = {\n Root: AdmonitionRoot,\n Indicator: AdmonitionIndicator,\n Content: AdmonitionContent,\n Heading: AdmonitionHeading,\n Description: AdmonitionDescription,\n}\n","'use client'\n\nimport type { AdmonitionVariantProps } from 'styled-system/recipes'\nimport { useRef, type ReactNode } from 'react'\nimport { useCerberusContext } from '../../context/cerberus'\nimport { Avatar } from '../avatar/avatar'\n\n/**\n * This module provides a component for creating the admonition indicator.\n * @module 'admonition/match-avatar'\n */\n\ninterface AvatarRefProps {\n page: ReactNode\n info: ReactNode\n success: ReactNode\n warning: ReactNode\n danger: ReactNode\n}\n\ntype MatchAvatarProps = AdmonitionVariantProps\n\nexport function MatchAvatar(props: MatchAvatarProps) {\n const { palette = 'page' } = props\n\n const { icons } = useCerberusContext()\n const {\n infoNotification: InfoIcon,\n successNotification: SuccessIcon,\n warningNotification: WarningIcon,\n dangerNotification: DangerIcon,\n } = icons\n\n // cache the el since the result is static and the component is client side\n const elRef = useRef<AvatarRefProps>({\n page: <Avatar gradient=\"charon-light\" fallback={<InfoIcon />} size=\"sm\" />,\n info: (\n <Avatar gradient=\"amphiaraus-dark\" fallback={<InfoIcon />} size=\"sm\" />\n ),\n success: (\n <Avatar gradient=\"thanatos-dark\" fallback={<SuccessIcon />} size=\"sm\" />\n ),\n warning: (\n <Avatar gradient=\"asphodel-light\" fallback={<WarningIcon />} size=\"sm\" />\n ),\n danger: (\n <Avatar gradient=\"hades-light\" fallback={<DangerIcon />} size=\"sm\" />\n ),\n })\n\n return <>{elRef.current[palette]}</>\n}\n","'use client'\n\nimport { createContext, useContext, type PropsWithChildren } from 'react'\nimport type { SystemConfig } from '../config'\n\n/**\n * This module contains the Cerberus configuration context and helpers.\n * @module context/cerberus\n */\n\ntype CerberusContextValue = SystemConfig\n\nconst CerberusContext = createContext<CerberusContextValue | null>(null)\n\ninterface CerberusProviderProps {\n config: SystemConfig\n}\n\n/**\n * Cerberus configuration provider.\n * @param props.config The Cerberus configuration created with\n * `makeSystemConfig` helper.\n */\nexport function CerberusProvider(\n props: PropsWithChildren<CerberusProviderProps>,\n) {\n return (\n <CerberusContext.Provider value={props.config}>\n {props.children}\n </CerberusContext.Provider>\n )\n}\n\n/**\n * Returns the Cerberus configuration context.\n * @returns The Cerberus configuration context.\n */\nexport function useCerberusContext() {\n const context = useContext(CerberusContext)\n if (!context) {\n throw new Error('useCerberus must be used within a CerberusProvider')\n }\n return context\n}\n","import {\n Avatar,\n type AvatarFallbackProps as ArkAvatarFallbackProps,\n type AvatarImageProps as ArkAvatarImageProps,\n type AvatarRootProps as ArkAvatarRootProps,\n} from '@ark-ui/react/avatar'\nimport { avatar, type AvatarVariantProps } from 'styled-system/recipes'\nimport {\n createCerberusPrimitive,\n type CerberusPrimitiveProps,\n} from '../../system/index'\n\n/**\n * This module provides the primitive components for the Avatar component.\n * @module 'avatar/primitives'\n */\n\nconst { withSlotRecipe } = createCerberusPrimitive(avatar)\n\n/**\n * The root component of the Avatar.\n */\nexport const AvatarRoot = withSlotRecipe<AvatarRootProps>(Avatar.Root, 'root')\nexport type AvatarRootProps = CerberusPrimitiveProps<\n ArkAvatarRootProps & AvatarVariantProps\n>\n\n/**\n * The image component of the Avatar.\n */\nexport const AvatarImage = withSlotRecipe<ArkAvatarImageProps>(\n Avatar.Image,\n 'image',\n)\nexport type AvatarImageProps = CerberusPrimitiveProps<ArkAvatarImageProps>\n\n/**\n * The fallback component of the Avatar.\n */\nexport const AvatarFallback = withSlotRecipe<ArkAvatarFallbackProps>(\n Avatar.Fallback,\n 'fallback',\n)\nexport type AvatarFallbackProps = CerberusPrimitiveProps<ArkAvatarFallbackProps>\n","import type { ElementType } from 'react'\nimport { AvatarFallback, AvatarImage, AvatarRoot } from './primitives'\n\n/**\n * This module contains the parts of the Avatar component.\n * @module 'avatar/parts'\n */\n\ninterface AvatarPartsValue {\n /**\n * The context provider of the Avatar.\n */\n Root: ElementType\n /**\n * The image of the Avatar.\n */\n Image: ElementType\n /**\n * The fallback content to display when the image fails to load.\n */\n Fallback: ElementType\n}\n\n/**\n * An Object containing the parts of the Accordion component. For users that\n * prefer Object component syntax.\n *\n * @remarks\n *\n * When using object component syntax, you import the AvatarParts object and\n * the entire family of components vs. only what you use.\n */\nexport const AvatarParts: AvatarPartsValue = {\n Root: AvatarRoot,\n Image: AvatarImage,\n Fallback: AvatarFallback,\n}\n","import type { AvatarVariantProps } from 'styled-system/recipes'\nimport type { ReactNode } from 'react'\nimport { splitProps } from '../../utils'\nimport { Show } from '../show/index'\nimport { AvatarParts } from './parts'\nimport type { AvatarRootProps } from './primitives'\n\n/**\n * This module provides an abstraction of the Avatar primitives.\n * @module 'avatar'\n */\n\nexport interface AvatarWithoutImage extends AvatarRootProps {\n alt?: never\n src?: never\n fallback?: ReactNode\n}\n\nexport interface AvatarWithImage extends AvatarRootProps, AvatarVariantProps {\n alt: string\n src: string\n fallback?: ReactNode\n}\n\n/**\n * Avatar component is an abstraction of the primitives that displays a\n * avatar or it's fallback when the image fails to load.\n * @description [Cerberus Docs](https://cerberus.digitalu.design/react/avatar/overview)\n * @description [Ark Docs](https://ark-ui.com/react/docs/components/avatar#api-reference)\n */\nexport function Avatar(props: AvatarWithoutImage | AvatarWithImage) {\n const [imgProps, { fallback, children }, rootProps] = splitProps(\n props,\n ['alt', 'src'],\n ['fallback', 'children'],\n )\n\n return (\n <AvatarParts.Root {...rootProps}>\n <Show\n when={children}\n fallback={\n <>\n <AvatarParts.Fallback>{fallback}</AvatarParts.Fallback>\n <AvatarParts.Image {...imgProps} />\n </>\n }\n >\n {children}\n </Show>\n </AvatarParts.Root>\n )\n}\n"],"mappings":"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","names":["import_jsx_runtime","import_react","import_jsx_runtime","import_recipes","withSlotRecipe","import_jsx_runtime","Avatar","import_jsx_runtime","Avatar","import_jsx_runtime"]}
|
|
@@ -45,23 +45,28 @@ var CerberusPrimitive = class {
|
|
|
45
45
|
/**
|
|
46
46
|
* Creates a Cerberus component with bare features and no recipe.
|
|
47
47
|
* @param Component - The React component to enhance with Cerberus features.
|
|
48
|
+
* Can be a string or a component reference.
|
|
48
49
|
* @returns A new React component that applies Cerberus features to the
|
|
49
50
|
* original component.
|
|
51
|
+
*
|
|
50
52
|
* @example
|
|
51
|
-
* ```
|
|
52
|
-
* const { withNoRecipe } = createCerberusPrimitive(
|
|
53
|
-
* const Button = withNoRecipe(
|
|
53
|
+
* ```ts
|
|
54
|
+
* const { withNoRecipe } = createCerberusPrimitive(buttonRecipe)
|
|
55
|
+
* const Button = withNoRecipe('button')
|
|
54
56
|
* ```
|
|
55
57
|
*/
|
|
56
58
|
__publicField(this, "withNoRecipe", (Component, options) => {
|
|
57
59
|
const { defaultProps } = options || {};
|
|
58
|
-
|
|
60
|
+
const El = Component;
|
|
59
61
|
const CerbComponent = (props) => {
|
|
60
62
|
const { css: customCss, className, ...nativeProps } = props;
|
|
61
63
|
const styles = this.hasStyles((0, import_css.cx)(className, (0, import_css.css)(customCss)));
|
|
62
|
-
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
64
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(El, { ...defaultProps, ...styles, ...nativeProps });
|
|
63
65
|
};
|
|
64
|
-
|
|
66
|
+
if (this.validateComponent(El)) {
|
|
67
|
+
const ElName = typeof El === "string" ? El : El.displayName || El.name;
|
|
68
|
+
CerbComponent.displayName = ElName;
|
|
69
|
+
}
|
|
65
70
|
return CerbComponent;
|
|
66
71
|
});
|
|
67
72
|
/**
|
|
@@ -73,11 +78,15 @@ var CerberusPrimitive = class {
|
|
|
73
78
|
*/
|
|
74
79
|
__publicField(this, "withRecipe", (Component, options) => {
|
|
75
80
|
const { defaultProps } = options || {};
|
|
81
|
+
const El = Component;
|
|
76
82
|
const recipe = this.recipe;
|
|
77
|
-
this.validateComponent(Component);
|
|
78
83
|
const CerbComponent = (internalProps) => {
|
|
79
|
-
const {
|
|
80
|
-
|
|
84
|
+
const {
|
|
85
|
+
css: customCss,
|
|
86
|
+
className,
|
|
87
|
+
...restOfInternalProps
|
|
88
|
+
} = internalProps;
|
|
89
|
+
const [variantOptions, nativeProps] = recipe.splitVariantProps(restOfInternalProps);
|
|
81
90
|
const recipeStyles = recipe(variantOptions);
|
|
82
91
|
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
83
92
|
Component,
|
|
@@ -88,7 +97,10 @@ var CerberusPrimitive = class {
|
|
|
88
97
|
}
|
|
89
98
|
);
|
|
90
99
|
};
|
|
91
|
-
|
|
100
|
+
if (this.validateComponent(El)) {
|
|
101
|
+
const ElName = typeof El === "string" ? El : El.displayName || El.name;
|
|
102
|
+
CerbComponent.displayName = ElName;
|
|
103
|
+
}
|
|
92
104
|
return CerbComponent;
|
|
93
105
|
});
|
|
94
106
|
/**
|
|
@@ -105,11 +117,15 @@ var CerberusPrimitive = class {
|
|
|
105
117
|
*/
|
|
106
118
|
__publicField(this, "withSlotRecipe", (Component, slot, options) => {
|
|
107
119
|
const { defaultProps } = options || {};
|
|
120
|
+
const El = Component;
|
|
108
121
|
const recipe = this.recipe;
|
|
109
|
-
this.validateComponent(Component);
|
|
110
122
|
const CerbComponent = (internalProps) => {
|
|
111
|
-
const {
|
|
112
|
-
|
|
123
|
+
const {
|
|
124
|
+
css: customCss,
|
|
125
|
+
className,
|
|
126
|
+
...restOfInternalProps
|
|
127
|
+
} = internalProps;
|
|
128
|
+
const [variantOptions, nativeProps] = recipe.splitVariantProps(restOfInternalProps);
|
|
113
129
|
const styles = recipe(variantOptions);
|
|
114
130
|
const slotStyles = styles[slot];
|
|
115
131
|
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
@@ -121,7 +137,10 @@ var CerberusPrimitive = class {
|
|
|
121
137
|
}
|
|
122
138
|
);
|
|
123
139
|
};
|
|
124
|
-
|
|
140
|
+
if (this.validateComponent(El)) {
|
|
141
|
+
const ElName = typeof El === "string" ? El : El.displayName || El.name;
|
|
142
|
+
CerbComponent.displayName = ElName;
|
|
143
|
+
}
|
|
125
144
|
return CerbComponent;
|
|
126
145
|
});
|
|
127
146
|
this.recipe = recipe ?? null;
|
|
@@ -136,8 +155,9 @@ var CerberusPrimitive = class {
|
|
|
136
155
|
}
|
|
137
156
|
validateComponent(Component) {
|
|
138
157
|
if (typeof Component !== "function" && typeof Component !== "object") {
|
|
139
|
-
|
|
158
|
+
return false;
|
|
140
159
|
}
|
|
160
|
+
return true;
|
|
141
161
|
}
|
|
142
162
|
};
|
|
143
163
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/admonition/index.ts","../../../../src/components/admonition/primitives.tsx","../../../../src/system/primitive-factory.tsx","../../../../src/system/index.ts","../../../../src/components/admonition/parts.ts","../../../../src/utils/index.ts","../../../../src/components/show/show.tsx","../../../../src/components/admonition/match-avatar.tsx","../../../../src/context/cerberus.tsx","../../../../src/components/avatar/primitives.tsx","../../../../src/components/avatar/parts.ts","../../../../src/components/avatar/avatar.tsx","../../../../src/components/admonition/admonition.tsx"],"sourcesContent":["export * from './parts'\nexport * from './primitives'\nexport * from './admonition'\n","import { ark, type HTMLArkProps } from '@ark-ui/react/factory'\nimport { admonition, type AdmonitionVariantProps } from 'styled-system/recipes'\nimport {\n createCerberusPrimitive,\n type CerberusPrimitiveProps,\n} from '../../system/index'\n\n/**\n * This module contains the primitives of the Admonition components.\n * @module 'admonition/primitives'\n */\n\nconst { withSlotRecipe, withNoRecipe } = createCerberusPrimitive(admonition)\n\n/**\n * The `AdmonitionRoot` component is the container for the Admonition.\n */\nexport const AdmonitionRoot = withSlotRecipe<AdmonitionRootProps>(\n ark.aside,\n 'root',\n {\n defaultProps: {\n 'data-scope': 'admonition',\n 'data-part': 'root',\n },\n },\n)\nexport type AdmonitionRootProps = CerberusPrimitiveProps<\n HTMLArkProps<'aside'> & AdmonitionVariantProps\n>\n\n/**\n * The `AdmonitionIndicator` component is the indicator for the Admonition.\n */\nexport const AdmonitionIndicator = withNoRecipe<AdmonitionIndicatorProps>(\n ark.span,\n {\n defaultProps: {\n 'data-scope': 'admonition',\n 'data-part': 'indicator',\n },\n },\n)\nexport type AdmonitionIndicatorProps = CerberusPrimitiveProps<\n HTMLArkProps<'span'>\n>\n\n/**\n * The `AdmonitionContent` component is the content for the Admonition.\n */\nexport const AdmonitionContent = withNoRecipe<AdmonitionContentProps>(ark.div, {\n defaultProps: {\n 'data-scope': 'admonition',\n 'data-part': 'content',\n },\n})\nexport type AdmonitionContentProps = CerberusPrimitiveProps<HTMLArkProps<'div'>>\n\n/**\n * The `AdmonitionHeading` component is the heading title for the Admonition.\n */\nexport const AdmonitionHeading = withSlotRecipe<AdmonitionHeadingProps>(\n ark.p,\n 'heading',\n {\n defaultProps: {\n 'data-scope': 'admonition',\n 'data-part': 'heading',\n },\n },\n)\nexport type AdmonitionHeadingProps = CerberusPrimitiveProps<\n HTMLArkProps<'p'> & AdmonitionVariantProps\n>\n\n/**\n * The `AdmonitionDescription` component is the description for the Admonition.\n */\nexport const AdmonitionDescription = withSlotRecipe<AdmonitionDescriptionProps>(\n ark.p,\n 'description',\n {\n defaultProps: {\n 'data-scope': 'admonition',\n 'data-part': 'description',\n },\n },\n)\nexport type AdmonitionDescriptionProps = CerberusPrimitiveProps<\n HTMLArkProps<'p'> & AdmonitionVariantProps\n>\n","import { css, cx } from 'styled-system/css'\nimport type { RecipeVariantRecord } from 'styled-system/types'\nimport {\n type ComponentType,\n type HTMLAttributes,\n type PropsWithChildren,\n} from 'react'\nimport type { WithCss } from '../types'\nimport type {\n CerberusPrimitiveEl,\n CerberusPrimitiveRecipe,\n CerberusRecipe,\n CerberusSlotRecipe,\n WithRecipeOptions,\n} from './types'\n\n/**\n * This module contains a factory for creating Cerberus primitives.\n * @module @cerberus/core/system/factory\n */\n\nexport class CerberusPrimitive {\n recipe: CerberusPrimitiveRecipe | null\n\n constructor(recipe?: CerberusPrimitiveRecipe) {\n this.recipe = recipe ?? null\n }\n\n private hasStyles(styles: string | undefined): Record<string, unknown> {\n if (styles) {\n return {\n className: styles,\n }\n }\n return {}\n }\n\n private validateComponent<P extends HTMLAttributes<unknown>>(\n Component: ComponentType<P>,\n ) {\n if (typeof Component !== 'function' && typeof Component !== 'object') {\n throw new Error('Expected a React component as the first argument.')\n }\n }\n\n /**\n * Creates a Cerberus component with bare features and no recipe.\n * @param Component - The React component to enhance with Cerberus features.\n * @returns A new React component that applies Cerberus features to the\n * original component.\n * @example\n * ```typescript\n * const { withNoRecipe } = createCerberusPrimitive(button)\n * const Button = withNoRecipe(RawButton)\n * ```\n */\n withNoRecipe = <P extends HTMLAttributes<unknown>>(\n Component: ComponentType<P>,\n options?: WithRecipeOptions,\n ): CerberusPrimitiveEl<P> => {\n const { defaultProps } = options || {}\n\n this.validateComponent(Component)\n\n const CerbComponent = (props: PropsWithChildren<P> & WithCss) => {\n const { css: customCss, className, ...nativeProps } = props\n const styles = this.hasStyles(cx(className, css(customCss)))\n return <Component {...defaultProps} {...styles} {...(nativeProps as P)} />\n }\n\n CerbComponent.displayName = Component.displayName || Component.name\n return CerbComponent\n }\n\n /**\n * Creates a Cerberus component with the given recipe.\n * @param Component - The React component to enhance with the recipe.\n * @param options - Options for the recipe.\n * @returns A new React component that applies the recipe to the original\n * component.\n */\n withRecipe = <P extends HTMLAttributes<unknown>>(\n Component: ComponentType<P>,\n options?: WithRecipeOptions,\n ): CerberusPrimitiveEl<P & WithRecipeOptions['defaultProps']> => {\n const { defaultProps } = options || {}\n const recipe = this.recipe as CerberusRecipe\n\n this.validateComponent(Component)\n\n const CerbComponent = (internalProps: PropsWithChildren<P> & WithCss) => {\n const { css: customCss, className, ...nativeProps } = internalProps\n\n const [variantOptions] = recipe.splitVariantProps(nativeProps)\n const recipeStyles = recipe(variantOptions)\n\n return (\n <Component\n {...defaultProps}\n {...(nativeProps as P)}\n className={cx(className, recipeStyles, css(customCss))}\n />\n )\n }\n\n CerbComponent.displayName = Component.displayName || Component.name\n return CerbComponent\n }\n\n /**\n * Creates a Cerberus component with a slot recipe applied.\n * @param Component - The React component to enhance with Cerberus features.\n * @param recipe - The slot recipe to apply to the component.\n * @returns A new React component that applies Cerberus features and the\n * specified slot recipe to the original component.\n * @example\n * ```typescript\n * const { withSlotRecipe } = createCerberusPrimitive(field)\n * const Field = withSlotRecipe(RawField, field)\n * ```\n */\n withSlotRecipe = <P extends HTMLAttributes<unknown>>(\n Component: ComponentType<P>,\n slot: keyof RecipeVariantRecord,\n options?: WithRecipeOptions,\n ) => {\n const { defaultProps } = options || {}\n const recipe = this.recipe as CerberusSlotRecipe<typeof slot>\n\n this.validateComponent(Component)\n\n const CerbComponent = (internalProps: PropsWithChildren<P> & WithCss) => {\n const { css: customCss, className, ...nativeProps } = internalProps\n\n const [variantOptions] = recipe.splitVariantProps(nativeProps)\n const styles = recipe(variantOptions)\n const slotStyles = styles[slot as keyof typeof styles]\n\n return (\n <Component\n {...defaultProps}\n {...(nativeProps as P)}\n className={cx(className, slotStyles, css(customCss))}\n />\n )\n }\n\n CerbComponent.displayName = Component.displayName || Component.name\n return CerbComponent\n }\n}\n","import { CerberusPrimitive } from './primitive-factory'\nimport type { CerberusFactory, CerberusPrimitiveRecipe } from './types'\nimport { cerberusFactoryProxy } from './factory'\n\n/**\n * This module contains the user interface for creating Cerberus primitives.\n * @module @cerberus/core/system/create-cerb-primitive\n */\n\n/**\n * A factory function that creates a Cerberus primitive instance with the given\n * recipe.\n * @param recipe\n * @returns An object with three methods: `withNoRecipe`, `withRecipe`, and `withSlotRecipe` that\n * apply the recipes and special Cerberus helpers like `css`.\n *\n * @example\n * ```tsx\n * const { withRecipe } = createCerberusPrimitive(myCustomRecipe);\n * export const Button = withRecipe(MyCustomButton)\n * ```\n */\nexport function createCerberusPrimitive<T extends CerberusPrimitiveRecipe>(\n recipe?: T,\n) {\n return new CerberusPrimitive(recipe)\n}\n\n/**\n * A utility function to access Cerberus components by their name.\n * @param component - The name of the Cerberus component to access.\n * @returns The Cerberus component corresponding to the provided name.\n * @throws An error if the component name is not valid.\n *\n * @example\n * ```tsx\n * import { cerberus } from '@cerberus/react'\n * const Button = cerberus('button')\n *\n * <Button css={{ color: 'blue' }} asChild>\n * <Link href=\"/some-page\">Click me</Link>\n * </Button>\n * ```\n */\nexport const cerberus = cerberusFactoryProxy as CerberusFactory\n\nexport * from './types'\n","import type { ElementType } from 'react'\nimport {\n AdmonitionContent,\n AdmonitionDescription,\n AdmonitionHeading,\n AdmonitionIndicator,\n AdmonitionRoot,\n} from './primitives'\n\n/**\n * This module contains the parts of the Admonition component.\n * @module 'admonition/parts'\n */\n\ninterface AdmonitionPartsValue {\n /**\n * The context provider of the Admonition.\n */\n Root: ElementType\n /**\n * The indicator of the Admonition.\n */\n Indicator: ElementType\n /**\n * The content of the Admonition.\n */\n Content: ElementType\n /**\n * The heading of the Admonition.\n */\n Heading: ElementType\n /**\n * The description of the Admonition.\n */\n Description: ElementType\n}\n\n/**\n * An Object containing the parts of the Accordion component. For users that\n * prefer Object component syntax.\n *\n * @remarks\n *\n * When using object component syntax, you import the AdmonitionParts object and\n * the entire family of components vs. only what you use.\n */\nexport const AdmonitionParts: AdmonitionPartsValue = {\n Root: AdmonitionRoot,\n Indicator: AdmonitionIndicator,\n Content: AdmonitionContent,\n Heading: AdmonitionHeading,\n Description: AdmonitionDescription,\n}\n","/**\n * This module contains utility functions that are used across your app.\n * @module Utils\n */\n\n/**\n * Formats the count of notifications to be displayed in the notification badge.\n * @param count - The number of notifications.\n * @returns The formatted count of notifications.\n * @example\n * ```tsx\n * const count = formatNotifyCount(100)\n * console.log(count) // '99+'\n * ```\n */\nexport function formatNotifyCount(count: number): string {\n if (count > 99) return '99+'\n return count.toString()\n}\n\n/**\n * Splits the properties of an object into multiple groups based on lists of keys.\n * @param props - The object to split.\n * @param keyGroups - The lists of keys to include in each group.\n * @returns An array of objects: each containing the properties specified in the corresponding key group, and the last object containing the remaining keys.\n */\nexport function splitProps<T extends object>(\n props: T,\n ...keyGroups: (keyof T)[][]\n): { [K in keyof T]?: T[K] }[] {\n const result = keyGroups.map(() => ({}) as { [K in keyof T]?: T[K] })\n const rest = {} as { [K in keyof T]?: T[K] }\n\n for (const key in props) {\n let assigned = false\n for (let i = 0; i < keyGroups.length; i++) {\n if (keyGroups[i].includes(key as keyof T)) {\n result[i][key as keyof T] = props[key]\n assigned = true\n break\n }\n }\n if (!assigned) {\n rest[key as keyof T] = props[key]\n }\n }\n\n return [...result, rest]\n}\n\nexport * from './localStorage'\n","import { type PropsWithChildren, type ReactNode } from 'react'\n\n/**\n * This module contains the Show component.\n * @module\n */\n\nexport interface ShowProps<T> {\n /**\n * The condition to render memoized children or the fallback content.\n */\n when: T | boolean | null | undefined\n /**\n * The children to render when the condition is false.\n */\n fallback?: ReactNode\n}\n\n/**\n * Conditionally render a memoized version of the children or optional fallback\n * content.\n * @see https://cerberus.digitalu.design/react/show\n * @example\n * ```tsx\n * <Show when={isLoggedIn} fallback={<Navigate to=\"/login\" />}>\n * <Dashboard />\n * </Show>\n */\nexport function Show<T>(props: PropsWithChildren<ShowProps<T>>) {\n const { when, children, fallback } = props\n\n if (when) {\n return <>{children}</>\n }\n\n if (fallback) {\n return <>{fallback}</>\n }\n\n return null\n}\n","'use client'\n\nimport type { AdmonitionVariantProps } from 'styled-system/recipes'\nimport { useRef, type ReactNode } from 'react'\nimport { useCerberusContext } from '../../context/cerberus'\nimport { Avatar } from '../avatar/avatar'\n\n/**\n * This module provides a component for creating the admonition indicator.\n * @module 'admonition/match-avatar'\n */\n\ninterface AvatarRefProps {\n page: ReactNode\n info: ReactNode\n success: ReactNode\n warning: ReactNode\n danger: ReactNode\n}\n\ntype MatchAvatarProps = AdmonitionVariantProps\n\nexport function MatchAvatar(props: MatchAvatarProps) {\n const { palette = 'page' } = props\n\n const { icons } = useCerberusContext()\n const {\n infoNotification: InfoIcon,\n successNotification: SuccessIcon,\n warningNotification: WarningIcon,\n dangerNotification: DangerIcon,\n } = icons\n\n // cache the el since the result is static and the component is client side\n const elRef = useRef<AvatarRefProps>({\n page: <Avatar gradient=\"charon-light\" fallback={<InfoIcon />} size=\"sm\" />,\n info: (\n <Avatar gradient=\"amphiaraus-dark\" fallback={<InfoIcon />} size=\"sm\" />\n ),\n success: (\n <Avatar gradient=\"thanatos-dark\" fallback={<SuccessIcon />} size=\"sm\" />\n ),\n warning: (\n <Avatar gradient=\"asphodel-light\" fallback={<WarningIcon />} size=\"sm\" />\n ),\n danger: (\n <Avatar gradient=\"hades-light\" fallback={<DangerIcon />} size=\"sm\" />\n ),\n })\n\n return <>{elRef.current[palette]}</>\n}\n","'use client'\n\nimport { createContext, useContext, type PropsWithChildren } from 'react'\nimport type { SystemConfig } from '../config'\n\n/**\n * This module contains the Cerberus configuration context and helpers.\n * @module context/cerberus\n */\n\ntype CerberusContextValue = SystemConfig\n\nconst CerberusContext = createContext<CerberusContextValue | null>(null)\n\ninterface CerberusProviderProps {\n config: SystemConfig\n}\n\n/**\n * Cerberus configuration provider.\n * @param props.config The Cerberus configuration created with\n * `makeSystemConfig` helper.\n */\nexport function CerberusProvider(\n props: PropsWithChildren<CerberusProviderProps>,\n) {\n return (\n <CerberusContext.Provider value={props.config}>\n {props.children}\n </CerberusContext.Provider>\n )\n}\n\n/**\n * Returns the Cerberus configuration context.\n * @returns The Cerberus configuration context.\n */\nexport function useCerberusContext() {\n const context = useContext(CerberusContext)\n if (!context) {\n throw new Error('useCerberus must be used within a CerberusProvider')\n }\n return context\n}\n","import {\n Avatar,\n type AvatarFallbackProps as ArkAvatarFallbackProps,\n type AvatarImageProps as ArkAvatarImageProps,\n type AvatarRootProps as ArkAvatarRootProps,\n} from '@ark-ui/react/avatar'\nimport { avatar, type AvatarVariantProps } from 'styled-system/recipes'\nimport {\n createCerberusPrimitive,\n type CerberusPrimitiveProps,\n} from '../../system/index'\n\n/**\n * This module provides the primitive components for the Avatar component.\n * @module 'avatar/primitives'\n */\n\nconst { withSlotRecipe } = createCerberusPrimitive(avatar)\n\n/**\n * The root component of the Avatar.\n */\nexport const AvatarRoot = withSlotRecipe<AvatarRootProps>(Avatar.Root, 'root')\nexport type AvatarRootProps = CerberusPrimitiveProps<\n ArkAvatarRootProps & AvatarVariantProps\n>\n\n/**\n * The image component of the Avatar.\n */\nexport const AvatarImage = withSlotRecipe<ArkAvatarImageProps>(\n Avatar.Image,\n 'image',\n)\nexport type AvatarImageProps = CerberusPrimitiveProps<ArkAvatarImageProps>\n\n/**\n * The fallback component of the Avatar.\n */\nexport const AvatarFallback = withSlotRecipe<ArkAvatarFallbackProps>(\n Avatar.Fallback,\n 'fallback',\n)\nexport type AvatarFallbackProps = CerberusPrimitiveProps<ArkAvatarFallbackProps>\n","import type { ElementType } from 'react'\nimport { AvatarFallback, AvatarImage, AvatarRoot } from './primitives'\n\n/**\n * This module contains the parts of the Avatar component.\n * @module 'avatar/parts'\n */\n\ninterface AvatarPartsValue {\n /**\n * The context provider of the Avatar.\n */\n Root: ElementType\n /**\n * The image of the Avatar.\n */\n Image: ElementType\n /**\n * The fallback content to display when the image fails to load.\n */\n Fallback: ElementType\n}\n\n/**\n * An Object containing the parts of the Accordion component. For users that\n * prefer Object component syntax.\n *\n * @remarks\n *\n * When using object component syntax, you import the AvatarParts object and\n * the entire family of components vs. only what you use.\n */\nexport const AvatarParts: AvatarPartsValue = {\n Root: AvatarRoot,\n Image: AvatarImage,\n Fallback: AvatarFallback,\n}\n","import type { AvatarVariantProps } from 'styled-system/recipes'\nimport type { ReactNode } from 'react'\nimport { splitProps } from '../../utils'\nimport { Show } from '../show/index'\nimport { AvatarParts } from './parts'\nimport type { AvatarRootProps } from './primitives'\n\n/**\n * This module provides an abstraction of the Avatar primitives.\n * @module 'avatar'\n */\n\nexport interface AvatarWithoutImage extends AvatarRootProps {\n alt?: never\n src?: never\n fallback?: ReactNode\n}\n\nexport interface AvatarWithImage extends AvatarRootProps, AvatarVariantProps {\n alt: string\n src: string\n fallback?: ReactNode\n}\n\n/**\n * Avatar component is an abstraction of the primitives that displays a\n * avatar or it's fallback when the image fails to load.\n * @description [Cerberus Docs](https://cerberus.digitalu.design/react/avatar/overview)\n * @description [Ark Docs](https://ark-ui.com/react/docs/components/avatar#api-reference)\n */\nexport function Avatar(props: AvatarWithoutImage | AvatarWithImage) {\n const [imgProps, { fallback, children }, rootProps] = splitProps(\n props,\n ['alt', 'src'],\n ['fallback', 'children'],\n )\n\n return (\n <AvatarParts.Root {...rootProps}>\n <Show\n when={children}\n fallback={\n <>\n <AvatarParts.Fallback>{fallback}</AvatarParts.Fallback>\n <AvatarParts.Image {...imgProps} />\n </>\n }\n >\n {children}\n </Show>\n </AvatarParts.Root>\n )\n}\n","import type { ReactNode } from 'react'\nimport { splitProps } from '../../utils/index'\nimport { Show } from '../show/index'\nimport { AdmonitionParts } from './parts'\nimport type { AdmonitionRootProps } from './primitives'\nimport { MatchAvatar } from './match-avatar'\n\n/**\n * This module provides an abstraction for the Admonition component.\n * @module 'admonition/admonition'\n */\n\nexport interface AdmonitionProps extends AdmonitionRootProps {\n /**\n * The heading title for the Admonition.\n */\n heading?: string\n /**\n * One off replacement for the icon.\n */\n icon?: ReactNode\n}\n\n/**\n * The Admonition component is an abstraction of the primitives which\n * displays a Admonition with a label.\n *\n * @description [Cerberus Docs](https://cerberus.digitalu.design/react/admonition)\n *\n * @remarks\n *\n * For a customizable Admonition, use the `AdmonitionParts` object to access the\n * individual primitives of the Admonition component.\n */\nexport function Admonition(props: AdmonitionProps) {\n const [elProps, styleProps, rootProps] = splitProps(\n props,\n ['heading', 'icon', 'children'],\n ['palette', 'usage'],\n )\n\n return (\n <AdmonitionParts.Root {...styleProps} {...rootProps}>\n <Show\n when={elProps.icon}\n fallback={<MatchAvatar palette={styleProps.palette} />}\n >\n <AdmonitionParts.Indicator>{elProps.icon}</AdmonitionParts.Indicator>\n </Show>\n\n <AdmonitionParts.Content>\n <Show when={elProps.heading}>\n <AdmonitionParts.Heading>{elProps.heading}</AdmonitionParts.Heading>\n </Show>\n\n <AdmonitionParts.Description>\n {elProps.children}\n </AdmonitionParts.Description>\n </AdmonitionParts.Content>\n </AdmonitionParts.Root>\n )\n}\n"],"mappings":"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","names":["import_jsx_runtime","import_react","import_jsx_runtime","import_recipes","withSlotRecipe","import_jsx_runtime","Avatar","import_jsx_runtime","Avatar","import_jsx_runtime"]}
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/admonition/index.ts","../../../../src/components/admonition/primitives.tsx","../../../../src/system/primitive-factory.tsx","../../../../src/system/index.ts","../../../../src/components/admonition/parts.ts","../../../../src/utils/index.ts","../../../../src/components/show/show.tsx","../../../../src/components/admonition/match-avatar.tsx","../../../../src/context/cerberus.tsx","../../../../src/components/avatar/primitives.tsx","../../../../src/components/avatar/parts.ts","../../../../src/components/avatar/avatar.tsx","../../../../src/components/admonition/admonition.tsx"],"sourcesContent":["export * from './parts'\nexport * from './primitives'\nexport * from './admonition'\n","import { ark, type HTMLArkProps } from '@ark-ui/react/factory'\nimport { admonition, type AdmonitionVariantProps } from 'styled-system/recipes'\nimport {\n createCerberusPrimitive,\n type CerberusPrimitiveProps,\n} from '../../system/index'\n\n/**\n * This module contains the primitives of the Admonition components.\n * @module 'admonition/primitives'\n */\n\nconst { withSlotRecipe, withNoRecipe } = createCerberusPrimitive(admonition)\n\n/**\n * The `AdmonitionRoot` component is the container for the Admonition.\n */\nexport const AdmonitionRoot = withSlotRecipe<AdmonitionRootProps>(\n ark.aside,\n 'root',\n {\n defaultProps: {\n 'data-scope': 'admonition',\n 'data-part': 'root',\n },\n },\n)\nexport type AdmonitionRootProps = CerberusPrimitiveProps<\n HTMLArkProps<'aside'> & AdmonitionVariantProps\n>\n\n/**\n * The `AdmonitionIndicator` component is the indicator for the Admonition.\n */\nexport const AdmonitionIndicator = withNoRecipe<AdmonitionIndicatorProps>(\n ark.span,\n {\n defaultProps: {\n 'data-scope': 'admonition',\n 'data-part': 'indicator',\n },\n },\n)\nexport type AdmonitionIndicatorProps = CerberusPrimitiveProps<\n HTMLArkProps<'span'>\n>\n\n/**\n * The `AdmonitionContent` component is the content for the Admonition.\n */\nexport const AdmonitionContent = withNoRecipe<AdmonitionContentProps>(ark.div, {\n defaultProps: {\n 'data-scope': 'admonition',\n 'data-part': 'content',\n },\n})\nexport type AdmonitionContentProps = CerberusPrimitiveProps<HTMLArkProps<'div'>>\n\n/**\n * The `AdmonitionHeading` component is the heading title for the Admonition.\n */\nexport const AdmonitionHeading = withSlotRecipe<AdmonitionHeadingProps>(\n ark.p,\n 'heading',\n {\n defaultProps: {\n 'data-scope': 'admonition',\n 'data-part': 'heading',\n },\n },\n)\nexport type AdmonitionHeadingProps = CerberusPrimitiveProps<\n HTMLArkProps<'p'> & AdmonitionVariantProps\n>\n\n/**\n * The `AdmonitionDescription` component is the description for the Admonition.\n */\nexport const AdmonitionDescription = withSlotRecipe<AdmonitionDescriptionProps>(\n ark.p,\n 'description',\n {\n defaultProps: {\n 'data-scope': 'admonition',\n 'data-part': 'description',\n },\n },\n)\nexport type AdmonitionDescriptionProps = CerberusPrimitiveProps<\n HTMLArkProps<'p'> & AdmonitionVariantProps\n>\n","import { css, cx } from 'styled-system/css'\nimport type { RecipeVariantRecord } from 'styled-system/types'\nimport {\n type ComponentType,\n type ElementType,\n type HTMLAttributes,\n type PropsWithChildren,\n} from 'react'\nimport type { WithCss } from '../types'\nimport type {\n CerberusPrimitiveEl,\n CerberusPrimitiveRecipe,\n CerberusRecipe,\n CerberusSlotRecipe,\n WithRecipeOptions,\n} from './types'\n\n/**\n * This module contains a factory for creating Cerberus primitives.\n * @module @cerberus/core/system/factory\n */\n\nexport class CerberusPrimitive {\n recipe: CerberusPrimitiveRecipe | null\n\n constructor(recipe?: CerberusPrimitiveRecipe) {\n this.recipe = recipe ?? null\n }\n\n private hasStyles(styles: string | undefined): Record<string, unknown> {\n if (styles) {\n return {\n className: styles,\n }\n }\n return {}\n }\n\n private validateComponent<P extends HTMLAttributes<unknown>>(\n Component: ComponentType<P> | string,\n ) {\n if (typeof Component !== 'function' && typeof Component !== 'object') {\n return false\n }\n return true\n }\n\n /**\n * Creates a Cerberus component with bare features and no recipe.\n * @param Component - The React component to enhance with Cerberus features.\n * Can be a string or a component reference.\n * @returns A new React component that applies Cerberus features to the\n * original component.\n *\n * @example\n * ```ts\n * const { withNoRecipe } = createCerberusPrimitive(buttonRecipe)\n * const Button = withNoRecipe('button')\n * ```\n */\n withNoRecipe = <P extends HTMLAttributes<unknown>>(\n Component: ComponentType<P> | string,\n options?: WithRecipeOptions,\n ): CerberusPrimitiveEl<P> => {\n const { defaultProps } = options || {}\n const El = Component as ComponentType<P> | ElementType\n\n const CerbComponent = (props: PropsWithChildren<P> & WithCss) => {\n const { css: customCss, className, ...nativeProps } = props\n const styles = this.hasStyles(cx(className, css(customCss)))\n return <El {...defaultProps} {...styles} {...(nativeProps as P)} />\n }\n\n if (this.validateComponent(El)) {\n const ElName = typeof El === 'string' ? El : El.displayName || El.name\n CerbComponent.displayName = ElName\n }\n\n return CerbComponent\n }\n\n /**\n * Creates a Cerberus component with the given recipe.\n * @param Component - The React component to enhance with the recipe.\n * @param options - Options for the recipe.\n * @returns A new React component that applies the recipe to the original\n * component.\n */\n withRecipe = <P extends HTMLAttributes<unknown>>(\n Component: ComponentType<P> | string,\n options?: WithRecipeOptions,\n ): CerberusPrimitiveEl<P & WithRecipeOptions['defaultProps']> => {\n const { defaultProps } = options || {}\n const El = Component as ComponentType<P> | ElementType\n\n const recipe = this.recipe as CerberusRecipe\n\n const CerbComponent = (internalProps: PropsWithChildren<P> & WithCss) => {\n const {\n css: customCss,\n className,\n ...restOfInternalProps\n } = internalProps\n\n const [variantOptions, nativeProps] =\n recipe.splitVariantProps(restOfInternalProps)\n const recipeStyles = recipe(variantOptions)\n\n return (\n <Component\n {...defaultProps}\n {...(nativeProps as P)}\n className={cx(className, recipeStyles, css(customCss))}\n />\n )\n }\n\n if (this.validateComponent(El)) {\n const ElName = typeof El === 'string' ? El : El.displayName || El.name\n CerbComponent.displayName = ElName\n }\n\n return CerbComponent\n }\n\n /**\n * Creates a Cerberus component with a slot recipe applied.\n * @param Component - The React component to enhance with Cerberus features.\n * @param recipe - The slot recipe to apply to the component.\n * @returns A new React component that applies Cerberus features and the\n * specified slot recipe to the original component.\n * @example\n * ```typescript\n * const { withSlotRecipe } = createCerberusPrimitive(field)\n * const Field = withSlotRecipe(RawField, field)\n * ```\n */\n withSlotRecipe = <P extends HTMLAttributes<unknown>>(\n Component: ComponentType<P> | string,\n slot: keyof RecipeVariantRecord,\n options?: WithRecipeOptions,\n ) => {\n const { defaultProps } = options || {}\n const El = Component as ComponentType<P> | ElementType\n\n const recipe = this.recipe as CerberusSlotRecipe<typeof slot>\n\n const CerbComponent = (internalProps: PropsWithChildren<P> & WithCss) => {\n const {\n css: customCss,\n className,\n ...restOfInternalProps\n } = internalProps\n\n const [variantOptions, nativeProps] =\n recipe.splitVariantProps(restOfInternalProps)\n const styles = recipe(variantOptions)\n const slotStyles = styles[slot as keyof typeof styles]\n\n return (\n <Component\n {...defaultProps}\n {...(nativeProps as P)}\n className={cx(className, slotStyles, css(customCss))}\n />\n )\n }\n\n if (this.validateComponent(El)) {\n const ElName = typeof El === 'string' ? El : El.displayName || El.name\n CerbComponent.displayName = ElName\n }\n\n return CerbComponent\n }\n}\n","import { CerberusPrimitive } from './primitive-factory'\nimport type { CerberusFactory, CerberusPrimitiveRecipe } from './types'\nimport { cerberusFactoryProxy } from './factory'\n\n/**\n * This module contains the user interface for creating Cerberus primitives.\n * @module @cerberus/core/system/create-cerb-primitive\n */\n\n/**\n * A factory function that creates a Cerberus primitive instance with the given\n * recipe.\n * @param recipe\n * @returns An object with three methods: `withNoRecipe`, `withRecipe`, and `withSlotRecipe` that\n * apply the recipes and special Cerberus helpers like `css`.\n *\n * @example\n * ```tsx\n * const { withRecipe } = createCerberusPrimitive(myCustomRecipe);\n * export const Button = withRecipe(MyCustomButton)\n * ```\n */\nexport function createCerberusPrimitive<T extends CerberusPrimitiveRecipe>(\n recipe?: T,\n) {\n return new CerberusPrimitive(recipe)\n}\n\n/**\n * A utility function to access Cerberus components by their name.\n * @param component - The name of the Cerberus component to access.\n * @returns The Cerberus component corresponding to the provided name.\n * @throws An error if the component name is not valid.\n *\n * @example\n * ```tsx\n * import { cerberus } from '@cerberus/react'\n * const Button = cerberus('button')\n *\n * <Button css={{ color: 'blue' }} asChild>\n * <Link href=\"/some-page\">Click me</Link>\n * </Button>\n * ```\n */\nexport const cerberus = cerberusFactoryProxy as CerberusFactory\n\nexport * from './types'\n","import type { ElementType } from 'react'\nimport {\n AdmonitionContent,\n AdmonitionDescription,\n AdmonitionHeading,\n AdmonitionIndicator,\n AdmonitionRoot,\n} from './primitives'\n\n/**\n * This module contains the parts of the Admonition component.\n * @module 'admonition/parts'\n */\n\ninterface AdmonitionPartsValue {\n /**\n * The context provider of the Admonition.\n */\n Root: ElementType\n /**\n * The indicator of the Admonition.\n */\n Indicator: ElementType\n /**\n * The content of the Admonition.\n */\n Content: ElementType\n /**\n * The heading of the Admonition.\n */\n Heading: ElementType\n /**\n * The description of the Admonition.\n */\n Description: ElementType\n}\n\n/**\n * An Object containing the parts of the Accordion component. For users that\n * prefer Object component syntax.\n *\n * @remarks\n *\n * When using object component syntax, you import the AdmonitionParts object and\n * the entire family of components vs. only what you use.\n */\nexport const AdmonitionParts: AdmonitionPartsValue = {\n Root: AdmonitionRoot,\n Indicator: AdmonitionIndicator,\n Content: AdmonitionContent,\n Heading: AdmonitionHeading,\n Description: AdmonitionDescription,\n}\n","/**\n * This module contains utility functions that are used across your app.\n * @module Utils\n */\n\n/**\n * Formats the count of notifications to be displayed in the notification badge.\n * @param count - The number of notifications.\n * @returns The formatted count of notifications.\n * @example\n * ```tsx\n * const count = formatNotifyCount(100)\n * console.log(count) // '99+'\n * ```\n */\nexport function formatNotifyCount(count: number): string {\n if (count > 99) return '99+'\n return count.toString()\n}\n\n/**\n * Splits the properties of an object into multiple groups based on lists of keys.\n * @param props - The object to split.\n * @param keyGroups - The lists of keys to include in each group.\n * @returns An array of objects: each containing the properties specified in the corresponding key group, and the last object containing the remaining keys.\n */\nexport function splitProps<T extends object>(\n props: T,\n ...keyGroups: (keyof T)[][]\n): { [K in keyof T]?: T[K] }[] {\n const result = keyGroups.map(() => ({}) as { [K in keyof T]?: T[K] })\n const rest = {} as { [K in keyof T]?: T[K] }\n\n for (const key in props) {\n let assigned = false\n for (let i = 0; i < keyGroups.length; i++) {\n if (keyGroups[i].includes(key as keyof T)) {\n result[i][key as keyof T] = props[key]\n assigned = true\n break\n }\n }\n if (!assigned) {\n rest[key as keyof T] = props[key]\n }\n }\n\n return [...result, rest]\n}\n\nexport * from './localStorage'\n","import { type PropsWithChildren, type ReactNode } from 'react'\n\n/**\n * This module contains the Show component.\n * @module\n */\n\nexport interface ShowProps<T> {\n /**\n * The condition to render memoized children or the fallback content.\n */\n when: T | boolean | null | undefined\n /**\n * The children to render when the condition is false.\n */\n fallback?: ReactNode\n}\n\n/**\n * Conditionally render a memoized version of the children or optional fallback\n * content.\n * @see https://cerberus.digitalu.design/react/show\n * @example\n * ```tsx\n * <Show when={isLoggedIn} fallback={<Navigate to=\"/login\" />}>\n * <Dashboard />\n * </Show>\n */\nexport function Show<T>(props: PropsWithChildren<ShowProps<T>>) {\n const { when, children, fallback } = props\n\n if (when) {\n return <>{children}</>\n }\n\n if (fallback) {\n return <>{fallback}</>\n }\n\n return null\n}\n","'use client'\n\nimport type { AdmonitionVariantProps } from 'styled-system/recipes'\nimport { useRef, type ReactNode } from 'react'\nimport { useCerberusContext } from '../../context/cerberus'\nimport { Avatar } from '../avatar/avatar'\n\n/**\n * This module provides a component for creating the admonition indicator.\n * @module 'admonition/match-avatar'\n */\n\ninterface AvatarRefProps {\n page: ReactNode\n info: ReactNode\n success: ReactNode\n warning: ReactNode\n danger: ReactNode\n}\n\ntype MatchAvatarProps = AdmonitionVariantProps\n\nexport function MatchAvatar(props: MatchAvatarProps) {\n const { palette = 'page' } = props\n\n const { icons } = useCerberusContext()\n const {\n infoNotification: InfoIcon,\n successNotification: SuccessIcon,\n warningNotification: WarningIcon,\n dangerNotification: DangerIcon,\n } = icons\n\n // cache the el since the result is static and the component is client side\n const elRef = useRef<AvatarRefProps>({\n page: <Avatar gradient=\"charon-light\" fallback={<InfoIcon />} size=\"sm\" />,\n info: (\n <Avatar gradient=\"amphiaraus-dark\" fallback={<InfoIcon />} size=\"sm\" />\n ),\n success: (\n <Avatar gradient=\"thanatos-dark\" fallback={<SuccessIcon />} size=\"sm\" />\n ),\n warning: (\n <Avatar gradient=\"asphodel-light\" fallback={<WarningIcon />} size=\"sm\" />\n ),\n danger: (\n <Avatar gradient=\"hades-light\" fallback={<DangerIcon />} size=\"sm\" />\n ),\n })\n\n return <>{elRef.current[palette]}</>\n}\n","'use client'\n\nimport { createContext, useContext, type PropsWithChildren } from 'react'\nimport type { SystemConfig } from '../config'\n\n/**\n * This module contains the Cerberus configuration context and helpers.\n * @module context/cerberus\n */\n\ntype CerberusContextValue = SystemConfig\n\nconst CerberusContext = createContext<CerberusContextValue | null>(null)\n\ninterface CerberusProviderProps {\n config: SystemConfig\n}\n\n/**\n * Cerberus configuration provider.\n * @param props.config The Cerberus configuration created with\n * `makeSystemConfig` helper.\n */\nexport function CerberusProvider(\n props: PropsWithChildren<CerberusProviderProps>,\n) {\n return (\n <CerberusContext.Provider value={props.config}>\n {props.children}\n </CerberusContext.Provider>\n )\n}\n\n/**\n * Returns the Cerberus configuration context.\n * @returns The Cerberus configuration context.\n */\nexport function useCerberusContext() {\n const context = useContext(CerberusContext)\n if (!context) {\n throw new Error('useCerberus must be used within a CerberusProvider')\n }\n return context\n}\n","import {\n Avatar,\n type AvatarFallbackProps as ArkAvatarFallbackProps,\n type AvatarImageProps as ArkAvatarImageProps,\n type AvatarRootProps as ArkAvatarRootProps,\n} from '@ark-ui/react/avatar'\nimport { avatar, type AvatarVariantProps } from 'styled-system/recipes'\nimport {\n createCerberusPrimitive,\n type CerberusPrimitiveProps,\n} from '../../system/index'\n\n/**\n * This module provides the primitive components for the Avatar component.\n * @module 'avatar/primitives'\n */\n\nconst { withSlotRecipe } = createCerberusPrimitive(avatar)\n\n/**\n * The root component of the Avatar.\n */\nexport const AvatarRoot = withSlotRecipe<AvatarRootProps>(Avatar.Root, 'root')\nexport type AvatarRootProps = CerberusPrimitiveProps<\n ArkAvatarRootProps & AvatarVariantProps\n>\n\n/**\n * The image component of the Avatar.\n */\nexport const AvatarImage = withSlotRecipe<ArkAvatarImageProps>(\n Avatar.Image,\n 'image',\n)\nexport type AvatarImageProps = CerberusPrimitiveProps<ArkAvatarImageProps>\n\n/**\n * The fallback component of the Avatar.\n */\nexport const AvatarFallback = withSlotRecipe<ArkAvatarFallbackProps>(\n Avatar.Fallback,\n 'fallback',\n)\nexport type AvatarFallbackProps = CerberusPrimitiveProps<ArkAvatarFallbackProps>\n","import type { ElementType } from 'react'\nimport { AvatarFallback, AvatarImage, AvatarRoot } from './primitives'\n\n/**\n * This module contains the parts of the Avatar component.\n * @module 'avatar/parts'\n */\n\ninterface AvatarPartsValue {\n /**\n * The context provider of the Avatar.\n */\n Root: ElementType\n /**\n * The image of the Avatar.\n */\n Image: ElementType\n /**\n * The fallback content to display when the image fails to load.\n */\n Fallback: ElementType\n}\n\n/**\n * An Object containing the parts of the Accordion component. For users that\n * prefer Object component syntax.\n *\n * @remarks\n *\n * When using object component syntax, you import the AvatarParts object and\n * the entire family of components vs. only what you use.\n */\nexport const AvatarParts: AvatarPartsValue = {\n Root: AvatarRoot,\n Image: AvatarImage,\n Fallback: AvatarFallback,\n}\n","import type { AvatarVariantProps } from 'styled-system/recipes'\nimport type { ReactNode } from 'react'\nimport { splitProps } from '../../utils'\nimport { Show } from '../show/index'\nimport { AvatarParts } from './parts'\nimport type { AvatarRootProps } from './primitives'\n\n/**\n * This module provides an abstraction of the Avatar primitives.\n * @module 'avatar'\n */\n\nexport interface AvatarWithoutImage extends AvatarRootProps {\n alt?: never\n src?: never\n fallback?: ReactNode\n}\n\nexport interface AvatarWithImage extends AvatarRootProps, AvatarVariantProps {\n alt: string\n src: string\n fallback?: ReactNode\n}\n\n/**\n * Avatar component is an abstraction of the primitives that displays a\n * avatar or it's fallback when the image fails to load.\n * @description [Cerberus Docs](https://cerberus.digitalu.design/react/avatar/overview)\n * @description [Ark Docs](https://ark-ui.com/react/docs/components/avatar#api-reference)\n */\nexport function Avatar(props: AvatarWithoutImage | AvatarWithImage) {\n const [imgProps, { fallback, children }, rootProps] = splitProps(\n props,\n ['alt', 'src'],\n ['fallback', 'children'],\n )\n\n return (\n <AvatarParts.Root {...rootProps}>\n <Show\n when={children}\n fallback={\n <>\n <AvatarParts.Fallback>{fallback}</AvatarParts.Fallback>\n <AvatarParts.Image {...imgProps} />\n </>\n }\n >\n {children}\n </Show>\n </AvatarParts.Root>\n )\n}\n","import type { ReactNode } from 'react'\nimport { splitProps } from '../../utils/index'\nimport { Show } from '../show/index'\nimport { AdmonitionParts } from './parts'\nimport type { AdmonitionRootProps } from './primitives'\nimport { MatchAvatar } from './match-avatar'\n\n/**\n * This module provides an abstraction for the Admonition component.\n * @module 'admonition/admonition'\n */\n\nexport interface AdmonitionProps extends AdmonitionRootProps {\n /**\n * The heading title for the Admonition.\n */\n heading?: string\n /**\n * One off replacement for the icon.\n */\n icon?: ReactNode\n}\n\n/**\n * The Admonition component is an abstraction of the primitives which\n * displays a Admonition with a label.\n *\n * @description [Cerberus Docs](https://cerberus.digitalu.design/react/admonition)\n *\n * @remarks\n *\n * For a customizable Admonition, use the `AdmonitionParts` object to access the\n * individual primitives of the Admonition component.\n */\nexport function Admonition(props: AdmonitionProps) {\n const [elProps, styleProps, rootProps] = splitProps(\n props,\n ['heading', 'icon', 'children'],\n ['palette', 'usage'],\n )\n\n return (\n <AdmonitionParts.Root {...styleProps} {...rootProps}>\n <Show\n when={elProps.icon}\n fallback={<MatchAvatar palette={styleProps.palette} />}\n >\n <AdmonitionParts.Indicator>{elProps.icon}</AdmonitionParts.Indicator>\n </Show>\n\n <AdmonitionParts.Content>\n <Show when={elProps.heading}>\n <AdmonitionParts.Heading>{elProps.heading}</AdmonitionParts.Heading>\n </Show>\n\n <AdmonitionParts.Description>\n {elProps.children}\n </AdmonitionParts.Description>\n </AdmonitionParts.Content>\n </AdmonitionParts.Root>\n )\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAA,qBAAuC;AACvC,qBAAwD;;;ACDxD,iBAAwB;AAsEX;AAhDN,IAAM,oBAAN,MAAwB;AAAA,EAG7B,YAAY,QAAkC;AAF9C;AAqCA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,wCAAe,CACb,WACA,YAC2B;AAC3B,YAAM,EAAE,aAAa,IAAI,WAAW,CAAC;AACrC,YAAM,KAAK;AAEX,YAAM,gBAAgB,CAAC,UAA0C;AAC/D,cAAM,EAAE,KAAK,WAAW,WAAW,GAAG,YAAY,IAAI;AACtD,cAAM,SAAS,KAAK,cAAU,eAAG,eAAW,gBAAI,SAAS,CAAC,CAAC;AAC3D,eAAO,4CAAC,MAAI,GAAG,cAAe,GAAG,QAAS,GAAI,aAAmB;AAAA,MACnE;AAEA,UAAI,KAAK,kBAAkB,EAAE,GAAG;AAC9B,cAAM,SAAS,OAAO,OAAO,WAAW,KAAK,GAAG,eAAe,GAAG;AAClE,sBAAc,cAAc;AAAA,MAC9B;AAEA,aAAO;AAAA,IACT;AASA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,sCAAa,CACX,WACA,YAC+D;AAC/D,YAAM,EAAE,aAAa,IAAI,WAAW,CAAC;AACrC,YAAM,KAAK;AAEX,YAAM,SAAS,KAAK;AAEpB,YAAM,gBAAgB,CAAC,kBAAkD;AACvE,cAAM;AAAA,UACJ,KAAK;AAAA,UACL;AAAA,UACA,GAAG;AAAA,QACL,IAAI;AAEJ,cAAM,CAAC,gBAAgB,WAAW,IAChC,OAAO,kBAAkB,mBAAmB;AAC9C,cAAM,eAAe,OAAO,cAAc;AAE1C,eACE;AAAA,UAAC;AAAA;AAAA,YACE,GAAG;AAAA,YACH,GAAI;AAAA,YACL,eAAW,eAAG,WAAW,kBAAc,gBAAI,SAAS,CAAC;AAAA;AAAA,QACvD;AAAA,MAEJ;AAEA,UAAI,KAAK,kBAAkB,EAAE,GAAG;AAC9B,cAAM,SAAS,OAAO,OAAO,WAAW,KAAK,GAAG,eAAe,GAAG;AAClE,sBAAc,cAAc;AAAA,MAC9B;AAEA,aAAO;AAAA,IACT;AAcA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,0CAAiB,CACf,WACA,MACA,YACG;AACH,YAAM,EAAE,aAAa,IAAI,WAAW,CAAC;AACrC,YAAM,KAAK;AAEX,YAAM,SAAS,KAAK;AAEpB,YAAM,gBAAgB,CAAC,kBAAkD;AACvE,cAAM;AAAA,UACJ,KAAK;AAAA,UACL;AAAA,UACA,GAAG;AAAA,QACL,IAAI;AAEJ,cAAM,CAAC,gBAAgB,WAAW,IAChC,OAAO,kBAAkB,mBAAmB;AAC9C,cAAM,SAAS,OAAO,cAAc;AACpC,cAAM,aAAa,OAAO,IAA2B;AAErD,eACE;AAAA,UAAC;AAAA;AAAA,YACE,GAAG;AAAA,YACH,GAAI;AAAA,YACL,eAAW,eAAG,WAAW,gBAAY,gBAAI,SAAS,CAAC;AAAA;AAAA,QACrD;AAAA,MAEJ;AAEA,UAAI,KAAK,kBAAkB,EAAE,GAAG;AAC9B,cAAM,SAAS,OAAO,OAAO,WAAW,KAAK,GAAG,eAAe,GAAG;AAClE,sBAAc,cAAc;AAAA,MAC9B;AAEA,aAAO;AAAA,IACT;AApJE,SAAK,SAAS,UAAU;AAAA,EAC1B;AAAA,EAEQ,UAAU,QAAqD;AACrE,QAAI,QAAQ;AACV,aAAO;AAAA,QACL,WAAW;AAAA,MACb;AAAA,IACF;AACA,WAAO,CAAC;AAAA,EACV;AAAA,EAEQ,kBACN,WACA;AACA,QAAI,OAAO,cAAc,cAAc,OAAO,cAAc,UAAU;AACpE,aAAO;AAAA,IACT;AACA,WAAO;AAAA,EACT;AAkIF;;;ACzJO,SAAS,wBACd,QACA;AACA,SAAO,IAAI,kBAAkB,MAAM;AACrC;;;AFdA,IAAM,EAAE,gBAAgB,aAAa,IAAI,wBAAwB,yBAAU;AAKpE,IAAM,iBAAiB;AAAA,EAC5B,mBAAI;AAAA,EACJ;AAAA,EACA;AAAA,IACE,cAAc;AAAA,MACZ,cAAc;AAAA,MACd,aAAa;AAAA,IACf;AAAA,EACF;AACF;AAQO,IAAM,sBAAsB;AAAA,EACjC,mBAAI;AAAA,EACJ;AAAA,IACE,cAAc;AAAA,MACZ,cAAc;AAAA,MACd,aAAa;AAAA,IACf;AAAA,EACF;AACF;AAQO,IAAM,oBAAoB,aAAqC,mBAAI,KAAK;AAAA,EAC7E,cAAc;AAAA,IACZ,cAAc;AAAA,IACd,aAAa;AAAA,EACf;AACF,CAAC;AAMM,IAAM,oBAAoB;AAAA,EAC/B,mBAAI;AAAA,EACJ;AAAA,EACA;AAAA,IACE,cAAc;AAAA,MACZ,cAAc;AAAA,MACd,aAAa;AAAA,IACf;AAAA,EACF;AACF;AAQO,IAAM,wBAAwB;AAAA,EACnC,mBAAI;AAAA,EACJ;AAAA,EACA;AAAA,IACE,cAAc;AAAA,MACZ,cAAc;AAAA,MACd,aAAa;AAAA,IACf;AAAA,EACF;AACF;;;AGzCO,IAAM,kBAAwC;AAAA,EACnD,MAAM;AAAA,EACN,WAAW;AAAA,EACX,SAAS;AAAA,EACT,SAAS;AAAA,EACT,aAAa;AACf;;;AC1BO,SAAS,WACd,UACG,WAC0B;AAC7B,QAAM,SAAS,UAAU,IAAI,OAAO,CAAC,EAA+B;AACpE,QAAM,OAAO,CAAC;AAEd,aAAW,OAAO,OAAO;AACvB,QAAI,WAAW;AACf,aAAS,IAAI,GAAG,IAAI,UAAU,QAAQ,KAAK;AACzC,UAAI,UAAU,CAAC,EAAE,SAAS,GAAc,GAAG;AACzC,eAAO,CAAC,EAAE,GAAc,IAAI,MAAM,GAAG;AACrC,mBAAW;AACX;AAAA,MACF;AAAA,IACF;AACA,QAAI,CAAC,UAAU;AACb,WAAK,GAAc,IAAI,MAAM,GAAG;AAAA,IAClC;AAAA,EACF;AAEA,SAAO,CAAC,GAAG,QAAQ,IAAI;AACzB;;;AChBW,IAAAA,sBAAA;AAJJ,SAAS,KAAQ,OAAwC;AAC9D,QAAM,EAAE,MAAM,UAAU,SAAS,IAAI;AAErC,MAAI,MAAM;AACR,WAAO,6EAAG,UAAS;AAAA,EACrB;AAEA,MAAI,UAAU;AACZ,WAAO,6EAAG,oBAAS;AAAA,EACrB;AAEA,SAAO;AACT;;;ACrCA,IAAAC,gBAAuC;;;ACDvC,mBAAkE;AAyB9D,IAAAC,sBAAA;AAfJ,IAAM,sBAAkB,4BAA2C,IAAI;AAyBhE,SAAS,qBAAqB;AACnC,QAAM,cAAU,yBAAW,eAAe;AAC1C,MAAI,CAAC,SAAS;AACZ,UAAM,IAAI,MAAM,oDAAoD;AAAA,EACtE;AACA,SAAO;AACT;;;AC3CA,oBAKO;AACP,IAAAC,kBAAgD;AAWhD,IAAM,EAAE,gBAAAC,gBAAe,IAAI,wBAAwB,sBAAM;AAKlD,IAAM,aAAaA,gBAAgC,qBAAO,MAAM,MAAM;AAQtE,IAAM,cAAcA;AAAA,EACzB,qBAAO;AAAA,EACP;AACF;AAMO,IAAM,iBAAiBA;AAAA,EAC5B,qBAAO;AAAA,EACP;AACF;;;ACVO,IAAM,cAAgC;AAAA,EAC3C,MAAM;AAAA,EACN,OAAO;AAAA,EACP,UAAU;AACZ;;;ACMU,IAAAC,sBAAA;AAZH,SAASC,QAAO,OAA6C;AAClE,QAAM,CAAC,UAAU,EAAE,UAAU,SAAS,GAAG,SAAS,IAAI;AAAA,IACpD;AAAA,IACA,CAAC,OAAO,KAAK;AAAA,IACb,CAAC,YAAY,UAAU;AAAA,EACzB;AAEA,SACE,6CAAC,YAAY,MAAZ,EAAkB,GAAG,WACpB;AAAA,IAAC;AAAA;AAAA,MACC,MAAM;AAAA,MACN,UACE,8EACE;AAAA,qDAAC,YAAY,UAAZ,EAAsB,oBAAS;AAAA,QAChC,6CAAC,YAAY,OAAZ,EAAmB,GAAG,UAAU;AAAA,SACnC;AAAA,MAGD;AAAA;AAAA,EACH,GACF;AAEJ;;;AJjBoD,IAAAC,sBAAA;AAb7C,SAAS,YAAY,OAAyB;AACnD,QAAM,EAAE,UAAU,OAAO,IAAI;AAE7B,QAAM,EAAE,MAAM,IAAI,mBAAmB;AACrC,QAAM;AAAA,IACJ,kBAAkB;AAAA,IAClB,qBAAqB;AAAA,IACrB,qBAAqB;AAAA,IACrB,oBAAoB;AAAA,EACtB,IAAI;AAGJ,QAAM,YAAQ,sBAAuB;AAAA,IACnC,MAAM,6CAACC,SAAA,EAAO,UAAS,gBAAe,UAAU,6CAAC,YAAS,GAAI,MAAK,MAAK;AAAA,IACxE,MACE,6CAACA,SAAA,EAAO,UAAS,mBAAkB,UAAU,6CAAC,YAAS,GAAI,MAAK,MAAK;AAAA,IAEvE,SACE,6CAACA,SAAA,EAAO,UAAS,iBAAgB,UAAU,6CAAC,eAAY,GAAI,MAAK,MAAK;AAAA,IAExE,SACE,6CAACA,SAAA,EAAO,UAAS,kBAAiB,UAAU,6CAAC,eAAY,GAAI,MAAK,MAAK;AAAA,IAEzE,QACE,6CAACA,SAAA,EAAO,UAAS,eAAc,UAAU,6CAAC,cAAW,GAAI,MAAK,MAAK;AAAA,EAEvE,CAAC;AAED,SAAO,6EAAG,gBAAM,QAAQ,OAAO,GAAE;AACnC;;;AKNkB,IAAAC,sBAAA;AAXX,SAAS,WAAW,OAAwB;AACjD,QAAM,CAAC,SAAS,YAAY,SAAS,IAAI;AAAA,IACvC;AAAA,IACA,CAAC,WAAW,QAAQ,UAAU;AAAA,IAC9B,CAAC,WAAW,OAAO;AAAA,EACrB;AAEA,SACE,8CAAC,gBAAgB,MAAhB,EAAsB,GAAG,YAAa,GAAG,WACxC;AAAA;AAAA,MAAC;AAAA;AAAA,QACC,MAAM,QAAQ;AAAA,QACd,UAAU,6CAAC,eAAY,SAAS,WAAW,SAAS;AAAA,QAEpD,uDAAC,gBAAgB,WAAhB,EAA2B,kBAAQ,MAAK;AAAA;AAAA,IAC3C;AAAA,IAEA,8CAAC,gBAAgB,SAAhB,EACC;AAAA,mDAAC,QAAK,MAAM,QAAQ,SAClB,uDAAC,gBAAgB,SAAhB,EAAyB,kBAAQ,SAAQ,GAC5C;AAAA,MAEA,6CAAC,gBAAgB,aAAhB,EACE,kBAAQ,UACX;AAAA,OACF;AAAA,KACF;AAEJ;","names":["import_jsx_runtime","import_react","import_jsx_runtime","import_recipes","withSlotRecipe","import_jsx_runtime","Avatar","import_jsx_runtime","Avatar","import_jsx_runtime"]}
|