@cerberus-design/react 0.19.0 → 0.19.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/legacy/_tsup-dts-rollup.d.cts +11 -1
- package/build/legacy/components/accordion/index.cjs +12 -4
- package/build/legacy/components/accordion/index.cjs.map +1 -1
- package/build/legacy/components/accordion/item-group.cjs +12 -4
- package/build/legacy/components/accordion/item-group.cjs.map +1 -1
- package/build/legacy/components/accordion/item-indicator.cjs +12 -4
- package/build/legacy/components/accordion/item-indicator.cjs.map +1 -1
- package/build/legacy/components/accordion/parts.cjs +12 -4
- package/build/legacy/components/accordion/parts.cjs.map +1 -1
- package/build/legacy/components/accordion/primitives.cjs +12 -4
- package/build/legacy/components/accordion/primitives.cjs.map +1 -1
- package/build/legacy/components/admonition/admonition.cjs +12 -4
- package/build/legacy/components/admonition/admonition.cjs.map +1 -1
- package/build/legacy/components/admonition/index.cjs +12 -4
- package/build/legacy/components/admonition/index.cjs.map +1 -1
- package/build/legacy/components/admonition/match-avatar.cjs +12 -4
- package/build/legacy/components/admonition/match-avatar.cjs.map +1 -1
- package/build/legacy/components/admonition/parts.cjs +12 -4
- package/build/legacy/components/admonition/parts.cjs.map +1 -1
- package/build/legacy/components/admonition/primitives.cjs +12 -4
- package/build/legacy/components/admonition/primitives.cjs.map +1 -1
- package/build/legacy/components/avatar/avatar.cjs +12 -4
- package/build/legacy/components/avatar/avatar.cjs.map +1 -1
- package/build/legacy/components/avatar/index.cjs +12 -4
- package/build/legacy/components/avatar/index.cjs.map +1 -1
- package/build/legacy/components/avatar/parts.cjs +12 -4
- package/build/legacy/components/avatar/parts.cjs.map +1 -1
- package/build/legacy/components/avatar/primitives.cjs +12 -4
- package/build/legacy/components/avatar/primitives.cjs.map +1 -1
- package/build/legacy/components/button/button.cjs +12 -4
- package/build/legacy/components/button/button.cjs.map +1 -1
- package/build/legacy/components/button/index.cjs +12 -4
- package/build/legacy/components/button/index.cjs.map +1 -1
- package/build/legacy/components/button/parts.cjs +12 -4
- package/build/legacy/components/button/parts.cjs.map +1 -1
- package/build/legacy/components/button/primitives.cjs +12 -4
- package/build/legacy/components/button/primitives.cjs.map +1 -1
- package/build/legacy/components/checkbox/checkbox-icon.cjs +12 -4
- package/build/legacy/components/checkbox/checkbox-icon.cjs.map +1 -1
- package/build/legacy/components/checkbox/checkbox.cjs +12 -4
- package/build/legacy/components/checkbox/checkbox.cjs.map +1 -1
- package/build/legacy/components/checkbox/index.cjs +12 -4
- package/build/legacy/components/checkbox/index.cjs.map +1 -1
- package/build/legacy/components/checkbox/parts.cjs +12 -4
- package/build/legacy/components/checkbox/parts.cjs.map +1 -1
- package/build/legacy/components/checkbox/primitives.cjs +12 -4
- package/build/legacy/components/checkbox/primitives.cjs.map +1 -1
- package/build/legacy/components/circular-progress/circular-progress.cjs +12 -4
- package/build/legacy/components/circular-progress/circular-progress.cjs.map +1 -1
- package/build/legacy/components/circular-progress/index.cjs +12 -4
- package/build/legacy/components/circular-progress/index.cjs.map +1 -1
- package/build/legacy/components/circular-progress/primitives.cjs +12 -4
- package/build/legacy/components/circular-progress/primitives.cjs.map +1 -1
- package/build/legacy/components/combobox/combobox.cjs +12 -4
- package/build/legacy/components/combobox/combobox.cjs.map +1 -1
- package/build/legacy/components/combobox/index.cjs +12 -4
- package/build/legacy/components/combobox/index.cjs.map +1 -1
- package/build/legacy/components/combobox/item-group.cjs +12 -4
- package/build/legacy/components/combobox/item-group.cjs.map +1 -1
- package/build/legacy/components/combobox/item.cjs +12 -4
- package/build/legacy/components/combobox/item.cjs.map +1 -1
- package/build/legacy/components/combobox/parts.cjs +12 -4
- package/build/legacy/components/combobox/parts.cjs.map +1 -1
- package/build/legacy/components/combobox/primitives.cjs +12 -4
- package/build/legacy/components/combobox/primitives.cjs.map +1 -1
- package/build/legacy/components/combobox/use-stateful-collection.cjs +12 -4
- package/build/legacy/components/combobox/use-stateful-collection.cjs.map +1 -1
- package/build/legacy/components/cta-dialog/index.cjs +12 -4
- package/build/legacy/components/cta-dialog/index.cjs.map +1 -1
- package/build/legacy/components/cta-dialog/provider.cjs +12 -4
- package/build/legacy/components/cta-dialog/provider.cjs.map +1 -1
- package/build/legacy/components/cta-dialog/trigger-item.cjs +12 -4
- package/build/legacy/components/cta-dialog/trigger-item.cjs.map +1 -1
- package/build/legacy/components/date-picker/calendar.cjs +12 -4
- package/build/legacy/components/date-picker/calendar.cjs.map +1 -1
- package/build/legacy/components/date-picker/content.cjs +12 -4
- package/build/legacy/components/date-picker/content.cjs.map +1 -1
- package/build/legacy/components/date-picker/date-picker.cjs +12 -4
- package/build/legacy/components/date-picker/date-picker.cjs.map +1 -1
- package/build/legacy/components/date-picker/day-view.cjs +12 -4
- package/build/legacy/components/date-picker/day-view.cjs.map +1 -1
- package/build/legacy/components/date-picker/index.cjs +12 -4
- package/build/legacy/components/date-picker/index.cjs.map +1 -1
- package/build/legacy/components/date-picker/input.cjs +12 -4
- package/build/legacy/components/date-picker/input.cjs.map +1 -1
- package/build/legacy/components/date-picker/month-view.cjs +12 -4
- package/build/legacy/components/date-picker/month-view.cjs.map +1 -1
- package/build/legacy/components/date-picker/parts.cjs +12 -4
- package/build/legacy/components/date-picker/parts.cjs.map +1 -1
- package/build/legacy/components/date-picker/primitives.cjs +12 -4
- package/build/legacy/components/date-picker/primitives.cjs.map +1 -1
- package/build/legacy/components/date-picker/range-input.cjs +12 -4
- package/build/legacy/components/date-picker/range-input.cjs.map +1 -1
- package/build/legacy/components/date-picker/trigger.cjs +12 -4
- package/build/legacy/components/date-picker/trigger.cjs.map +1 -1
- package/build/legacy/components/date-picker/view-control-group.cjs +12 -4
- package/build/legacy/components/date-picker/view-control-group.cjs.map +1 -1
- package/build/legacy/components/date-picker/year-view.cjs +12 -4
- package/build/legacy/components/date-picker/year-view.cjs.map +1 -1
- package/build/legacy/components/deprecated/Label.cjs +12 -4
- package/build/legacy/components/deprecated/Label.cjs.map +1 -1
- package/build/legacy/components/dialog/close-icon-trigger.cjs +12 -4
- package/build/legacy/components/dialog/close-icon-trigger.cjs.map +1 -1
- package/build/legacy/components/dialog/dialog.cjs +12 -4
- package/build/legacy/components/dialog/dialog.cjs.map +1 -1
- package/build/legacy/components/dialog/index.cjs +12 -4
- package/build/legacy/components/dialog/index.cjs.map +1 -1
- package/build/legacy/components/dialog/parts.cjs +12 -4
- package/build/legacy/components/dialog/parts.cjs.map +1 -1
- package/build/legacy/components/dialog/primitives.cjs +12 -4
- package/build/legacy/components/dialog/primitives.cjs.map +1 -1
- package/build/legacy/components/field/field.cjs +12 -4
- package/build/legacy/components/field/field.cjs.map +1 -1
- package/build/legacy/components/field/helper-text.cjs +12 -4
- package/build/legacy/components/field/helper-text.cjs.map +1 -1
- package/build/legacy/components/field/index.cjs +14 -5
- package/build/legacy/components/field/index.cjs.map +1 -1
- package/build/legacy/components/field/input.cjs +14 -5
- package/build/legacy/components/field/input.cjs.map +1 -1
- package/build/legacy/components/field/parts.cjs +14 -5
- package/build/legacy/components/field/parts.cjs.map +1 -1
- package/build/legacy/components/field/primitives.cjs +14 -5
- package/build/legacy/components/field/primitives.cjs.map +1 -1
- package/build/legacy/components/field/status-indicator.cjs +2 -1
- package/build/legacy/components/field/status-indicator.cjs.map +1 -1
- package/build/legacy/components/fieldset/fieldset.cjs +12 -4
- package/build/legacy/components/fieldset/fieldset.cjs.map +1 -1
- package/build/legacy/components/fieldset/index.cjs +12 -4
- package/build/legacy/components/fieldset/index.cjs.map +1 -1
- package/build/legacy/components/fieldset/parts.cjs +12 -4
- package/build/legacy/components/fieldset/parts.cjs.map +1 -1
- package/build/legacy/components/fieldset/primitives.cjs +12 -4
- package/build/legacy/components/fieldset/primitives.cjs.map +1 -1
- package/build/legacy/components/file-upload/file-status.cjs +13 -5
- package/build/legacy/components/file-upload/file-status.cjs.map +1 -1
- package/build/legacy/components/file-upload/file-uploader.cjs +12 -4
- package/build/legacy/components/file-upload/file-uploader.cjs.map +1 -1
- package/build/legacy/components/file-upload/index.cjs +13 -5
- package/build/legacy/components/file-upload/index.cjs.map +1 -1
- package/build/legacy/components/icon-button/button.cjs +12 -4
- package/build/legacy/components/icon-button/button.cjs.map +1 -1
- package/build/legacy/components/icon-button/index.cjs +12 -4
- package/build/legacy/components/icon-button/index.cjs.map +1 -1
- package/build/legacy/components/icon-button/primitives.cjs +12 -4
- package/build/legacy/components/icon-button/primitives.cjs.map +1 -1
- package/build/legacy/components/menu/index.cjs +12 -4
- package/build/legacy/components/menu/index.cjs.map +1 -1
- package/build/legacy/components/menu/menu.cjs +12 -4
- package/build/legacy/components/menu/menu.cjs.map +1 -1
- package/build/legacy/components/menu/primitives.cjs +12 -4
- package/build/legacy/components/menu/primitives.cjs.map +1 -1
- package/build/legacy/components/notifications/center.cjs +12 -4
- package/build/legacy/components/notifications/center.cjs.map +1 -1
- package/build/legacy/components/notifications/close-trigger.cjs +12 -4
- package/build/legacy/components/notifications/close-trigger.cjs.map +1 -1
- package/build/legacy/components/notifications/index.cjs +12 -4
- package/build/legacy/components/notifications/index.cjs.map +1 -1
- package/build/legacy/components/notifications/parts.cjs +12 -4
- package/build/legacy/components/notifications/parts.cjs.map +1 -1
- package/build/legacy/components/notifications/primitives.cjs +12 -4
- package/build/legacy/components/notifications/primitives.cjs.map +1 -1
- package/build/legacy/components/progress/index.cjs +12 -4
- package/build/legacy/components/progress/index.cjs.map +1 -1
- package/build/legacy/components/progress/primitives.cjs +12 -4
- package/build/legacy/components/progress/primitives.cjs.map +1 -1
- package/build/legacy/components/progress/progress-bar.cjs +12 -4
- package/build/legacy/components/progress/progress-bar.cjs.map +1 -1
- package/build/legacy/components/radio/index.cjs +12 -4
- package/build/legacy/components/radio/index.cjs.map +1 -1
- package/build/legacy/components/radio/parts.cjs +12 -4
- package/build/legacy/components/radio/parts.cjs.map +1 -1
- package/build/legacy/components/radio/primitives.cjs +12 -4
- package/build/legacy/components/radio/primitives.cjs.map +1 -1
- package/build/legacy/components/radio/radio.cjs +12 -4
- package/build/legacy/components/radio/radio.cjs.map +1 -1
- package/build/legacy/components/rating/index.cjs +12 -4
- package/build/legacy/components/rating/index.cjs.map +1 -1
- package/build/legacy/components/rating/parts.cjs +12 -4
- package/build/legacy/components/rating/parts.cjs.map +1 -1
- package/build/legacy/components/rating/primitives.cjs +12 -4
- package/build/legacy/components/rating/primitives.cjs.map +1 -1
- package/build/legacy/components/rating/rating.cjs +12 -4
- package/build/legacy/components/rating/rating.cjs.map +1 -1
- package/build/legacy/components/select/index.cjs +12 -4
- package/build/legacy/components/select/index.cjs.map +1 -1
- package/build/legacy/components/select/option-group.cjs +12 -4
- package/build/legacy/components/select/option-group.cjs.map +1 -1
- package/build/legacy/components/select/option.cjs +12 -4
- package/build/legacy/components/select/option.cjs.map +1 -1
- package/build/legacy/components/select/parts.cjs +12 -4
- package/build/legacy/components/select/parts.cjs.map +1 -1
- package/build/legacy/components/select/primitives.cjs +12 -4
- package/build/legacy/components/select/primitives.cjs.map +1 -1
- package/build/legacy/components/select/select.cjs +12 -4
- package/build/legacy/components/select/select.cjs.map +1 -1
- package/build/legacy/components/switch/index.cjs +12 -4
- package/build/legacy/components/switch/index.cjs.map +1 -1
- package/build/legacy/components/switch/parts.cjs +12 -4
- package/build/legacy/components/switch/parts.cjs.map +1 -1
- package/build/legacy/components/switch/primitives.cjs +12 -4
- package/build/legacy/components/switch/primitives.cjs.map +1 -1
- package/build/legacy/components/switch/switch.cjs +12 -4
- package/build/legacy/components/switch/switch.cjs.map +1 -1
- package/build/legacy/components/table/index.cjs +12 -4
- package/build/legacy/components/table/index.cjs.map +1 -1
- package/build/legacy/components/table/parts.cjs +12 -4
- package/build/legacy/components/table/parts.cjs.map +1 -1
- package/build/legacy/components/table/primitives.cjs +12 -4
- package/build/legacy/components/table/primitives.cjs.map +1 -1
- package/build/legacy/components/table/table.cjs +12 -4
- package/build/legacy/components/table/table.cjs.map +1 -1
- package/build/legacy/components/tabs/index.cjs +12 -4
- package/build/legacy/components/tabs/index.cjs.map +1 -1
- package/build/legacy/components/tabs/parts.cjs +12 -4
- package/build/legacy/components/tabs/parts.cjs.map +1 -1
- package/build/legacy/components/tabs/primitives.cjs +12 -4
- package/build/legacy/components/tabs/primitives.cjs.map +1 -1
- package/build/legacy/components/tabs/tabs.cjs +12 -4
- package/build/legacy/components/tabs/tabs.cjs.map +1 -1
- package/build/legacy/components/tag/index.cjs +12 -4
- package/build/legacy/components/tag/index.cjs.map +1 -1
- package/build/legacy/components/tag/tag.cjs +12 -4
- package/build/legacy/components/tag/tag.cjs.map +1 -1
- package/build/legacy/components/theme/index.cjs +13 -8
- package/build/legacy/components/theme/index.cjs.map +1 -1
- package/build/legacy/components/theme/theme.cjs +13 -8
- package/build/legacy/components/theme/theme.cjs.map +1 -1
- package/build/legacy/components/toggle/index.cjs +12 -4
- package/build/legacy/components/toggle/index.cjs.map +1 -1
- package/build/legacy/components/toggle/parts.cjs +12 -4
- package/build/legacy/components/toggle/parts.cjs.map +1 -1
- package/build/legacy/components/toggle/primitives.cjs +12 -4
- package/build/legacy/components/toggle/primitives.cjs.map +1 -1
- package/build/legacy/components/tooltip/index.cjs +12 -4
- package/build/legacy/components/tooltip/index.cjs.map +1 -1
- package/build/legacy/components/tooltip/parts.cjs +12 -4
- package/build/legacy/components/tooltip/parts.cjs.map +1 -1
- package/build/legacy/components/tooltip/primitives.cjs +12 -4
- package/build/legacy/components/tooltip/primitives.cjs.map +1 -1
- package/build/legacy/components/tooltip/tooltip.cjs +12 -4
- package/build/legacy/components/tooltip/tooltip.cjs.map +1 -1
- package/build/legacy/context/confirm-modal.cjs +12 -4
- package/build/legacy/context/confirm-modal.cjs.map +1 -1
- package/build/legacy/context/field.cjs +12 -4
- package/build/legacy/context/field.cjs.map +1 -1
- package/build/legacy/context/prompt-modal.cjs +14 -5
- package/build/legacy/context/prompt-modal.cjs.map +1 -1
- package/build/legacy/index.cjs +16 -7
- package/build/legacy/index.cjs.map +1 -1
- package/build/legacy/system/factory.cjs +13 -10
- package/build/legacy/system/factory.cjs.map +1 -1
- package/build/legacy/system/index.cjs +13 -5
- package/build/legacy/system/index.cjs.map +1 -1
- package/build/legacy/system/primitive-factory.cjs +12 -4
- package/build/legacy/system/primitive-factory.cjs.map +1 -1
- package/build/legacy/types.cjs.map +1 -1
- package/build/modern/_tsup-dts-rollup.d.ts +11 -1
- package/build/modern/{chunk-SFQIENJB.js → chunk-262PENBL.js} +3 -3
- package/build/modern/{chunk-DUFKXBQT.js → chunk-27RTYRM7.js} +2 -2
- package/build/modern/{chunk-WC5DERNW.js → chunk-2SBNSYYC.js} +4 -14
- package/build/modern/chunk-2SBNSYYC.js.map +1 -0
- package/build/modern/{chunk-DJCPF4JA.js → chunk-2UD72VLC.js} +2 -2
- package/build/modern/{chunk-QHV4IK52.js → chunk-2VVJATIW.js} +5 -5
- package/build/modern/{chunk-GZ6T3352.js → chunk-33OXE7IJ.js} +13 -5
- package/build/modern/chunk-33OXE7IJ.js.map +1 -0
- package/build/modern/{chunk-F45WBSRP.js → chunk-46QXBKGK.js} +6 -6
- package/build/modern/{chunk-KTTGGO72.js → chunk-4ZQUC4DA.js} +2 -2
- package/build/modern/{chunk-24FZWSGV.js → chunk-5UZUXCMO.js} +2 -2
- package/build/modern/{chunk-DUCW5X4Y.js → chunk-5W6HMI2G.js} +2 -2
- package/build/modern/chunk-5WT5BM3V.js +18 -0
- package/build/modern/chunk-5WT5BM3V.js.map +1 -0
- package/build/modern/{chunk-P3EIOH5D.js → chunk-6KGRHE3J.js} +2 -2
- package/build/modern/{chunk-NAPG6OWJ.js → chunk-6KIXF4ES.js} +2 -2
- package/build/modern/{chunk-AAWEAXIA.js → chunk-6P2JY52I.js} +2 -2
- package/build/modern/{chunk-X7JS25IL.js → chunk-6XO2RTIJ.js} +2 -2
- package/build/modern/{chunk-26VVDQAY.js → chunk-77QDH2Q5.js} +2 -2
- package/build/modern/{chunk-KUR42DQQ.js → chunk-7GT7UUCB.js} +2 -2
- package/build/modern/{chunk-MS7LB3BL.js → chunk-7GVDVLCR.js} +2 -2
- package/build/modern/{chunk-VB5XZZKE.js → chunk-7LNGA4BX.js} +2 -2
- package/build/modern/{chunk-4TQO7LCB.js → chunk-7MWSOSOY.js} +2 -2
- package/build/modern/{chunk-GZXW3JIW.js → chunk-A6NEZNGY.js} +2 -2
- package/build/modern/{chunk-WJHG3ZFR.js → chunk-ABMK5P66.js} +2 -2
- package/build/modern/{chunk-G4CDF7LY.js → chunk-ADOFKGU3.js} +2 -2
- package/build/modern/{chunk-WC75SKFH.js → chunk-AHYFFHUW.js} +2 -2
- package/build/modern/{chunk-TCACYLCL.js → chunk-BFE2SHZO.js} +3 -3
- package/build/modern/{chunk-OQN4HVLQ.js → chunk-BGJIAA5F.js} +2 -2
- package/build/modern/{chunk-V3LIZS3V.js → chunk-BGZTC53N.js} +2 -2
- package/build/modern/{chunk-TGCKJHEE.js → chunk-BS4V2YJV.js} +3 -3
- package/build/modern/{chunk-6LH6MOXD.js → chunk-BT6FMOKM.js} +2 -2
- package/build/modern/{chunk-JVWOAPWY.js → chunk-CBJ5A5BD.js} +4 -4
- package/build/modern/{chunk-CIKCQHPC.js → chunk-CI7JYXUR.js} +3 -3
- package/build/modern/{chunk-EALORWDQ.js → chunk-CKCGLHLS.js} +6 -6
- package/build/modern/{chunk-X627G6B3.js → chunk-CYK3ZJIX.js} +2 -2
- package/build/modern/{chunk-HHY26N7O.js → chunk-EMLKVTGD.js} +3 -3
- package/build/modern/{chunk-56YCKMC2.js → chunk-ETYXG2J2.js} +2 -2
- package/build/modern/{chunk-TVSVKDWV.js → chunk-FIVEPZ5F.js} +2 -2
- package/build/modern/{chunk-6W6QY3XG.js → chunk-FL3J7LTC.js} +2 -2
- package/build/modern/{chunk-JQNVN6R6.js → chunk-GBV7MIBU.js} +4 -4
- package/build/modern/{chunk-MBZHMWPR.js → chunk-GLH23RDO.js} +3 -3
- package/build/modern/{chunk-EPIO6H3A.js → chunk-H6ZGH4VM.js} +2 -2
- package/build/modern/{chunk-NE6TEVH2.js → chunk-H7N6M7VO.js} +2 -2
- package/build/modern/{chunk-WRKDPEIM.js → chunk-HJYVIRNA.js} +5 -5
- package/build/modern/{chunk-RJGEKVHZ.js → chunk-HUKQPIDV.js} +2 -2
- package/build/modern/{chunk-NZBKI6AF.js → chunk-IWJCQ4BM.js} +3 -3
- package/build/modern/{chunk-TXV55LWL.js → chunk-IX5QZCM4.js} +2 -2
- package/build/modern/{chunk-DWKGFNTK.js → chunk-J37VR33H.js} +2 -2
- package/build/modern/{chunk-GPGFQNJ6.js → chunk-JBAE2B2H.js} +2 -2
- package/build/modern/{chunk-L3V6I7YH.js → chunk-KDIDKP2L.js} +2 -2
- package/build/modern/{chunk-Q2MJ7JRM.js → chunk-KELIM5A3.js} +2 -2
- package/build/modern/{chunk-3WTLKTIL.js → chunk-KF3WIC2Y.js} +2 -2
- package/build/modern/{chunk-APDQJ7MW.js → chunk-KHU3YTLM.js} +2 -2
- package/build/modern/{chunk-P4GJKPNL.js → chunk-KUF4UUC7.js} +2 -2
- package/build/modern/{chunk-4LBGIGNJ.js → chunk-L4CKWLXL.js} +2 -2
- package/build/modern/{chunk-VIKVLJGG.js → chunk-LCURHO24.js} +3 -2
- package/build/modern/{chunk-VIKVLJGG.js.map → chunk-LCURHO24.js.map} +1 -1
- package/build/modern/{chunk-WN2WTSWG.js → chunk-LMEGBPKK.js} +2 -2
- package/build/modern/{chunk-OKU736EK.js → chunk-LNDQW46A.js} +2 -2
- package/build/modern/{chunk-L654KDXH.js → chunk-LVA6QLLM.js} +2 -2
- package/build/modern/{chunk-T5TX5YHC.js → chunk-MPVUVQCJ.js} +2 -2
- package/build/modern/{chunk-QZ5BIUMH.js → chunk-NC7AHNAS.js} +7 -7
- package/build/modern/{chunk-QZ5BIUMH.js.map → chunk-NC7AHNAS.js.map} +1 -1
- package/build/modern/{chunk-7F4AOCTU.js → chunk-NLZGGXMB.js} +2 -2
- package/build/modern/{chunk-NZZS2A53.js → chunk-OG74JDYL.js} +2 -2
- package/build/modern/{chunk-7PTAPZOO.js → chunk-OSUFAZAK.js} +2 -2
- package/build/modern/{chunk-VQ3NO6IC.js → chunk-P3J5P524.js} +2 -2
- package/build/modern/{chunk-YJR4NLDB.js → chunk-PGINYK2P.js} +2 -2
- package/build/modern/{chunk-XNER5INS.js → chunk-PI7MKQ62.js} +2 -2
- package/build/modern/{chunk-KRTXDJ4S.js → chunk-Q3NDU44T.js} +2 -2
- package/build/modern/{chunk-JPWFSCTC.js → chunk-Q6FTLT7K.js} +2 -2
- package/build/modern/{chunk-4FRIJ5VV.js → chunk-QHPJ2C76.js} +2 -2
- package/build/modern/{chunk-JLMHKTPI.js → chunk-QV5JHBHO.js} +2 -2
- package/build/modern/{chunk-3XA6Y4S4.js → chunk-RCXKKQQA.js} +2 -2
- package/build/modern/{chunk-BFV463NP.js → chunk-RKKI3J6R.js} +2 -2
- package/build/modern/{chunk-QULAH262.js → chunk-RMLBOGDE.js} +3 -3
- package/build/modern/{chunk-TQB6U3JH.js → chunk-ROWT3E5K.js} +2 -2
- package/build/modern/{chunk-4NW7Q2VS.js → chunk-S7HDNFJJ.js} +2 -2
- package/build/modern/{chunk-KJYL3RJ2.js → chunk-T3U6K34Y.js} +2 -2
- package/build/modern/{chunk-RIBBTTT4.js → chunk-TIKG6U4Y.js} +2 -2
- package/build/modern/{chunk-UWNLOY27.js → chunk-TJXWSSHO.js} +2 -2
- package/build/modern/{chunk-OCK4XVNE.js → chunk-U2ZT7UDW.js} +2 -2
- package/build/modern/{chunk-JFWPJXFF.js → chunk-UHS2TNFC.js} +2 -2
- package/build/modern/{chunk-BF2IDJMZ.js → chunk-UZHBWTSE.js} +2 -2
- package/build/modern/{chunk-ZLHQYCL3.js → chunk-VB7T2YYD.js} +3 -3
- package/build/modern/{chunk-5CG7URT6.js → chunk-VQIBX475.js} +2 -2
- package/build/modern/{chunk-BCN2E47W.js → chunk-W7WPVM34.js} +3 -3
- package/build/modern/{chunk-VKL3CMI3.js → chunk-WC6SOU2F.js} +2 -2
- package/build/modern/{chunk-6QWS7HII.js → chunk-WK7TUQIS.js} +2 -2
- package/build/modern/{chunk-CKLLERV7.js → chunk-X34MYQKI.js} +2 -2
- package/build/modern/{chunk-VOVGPV7G.js → chunk-X6KB5LWU.js} +2 -2
- package/build/modern/{chunk-ULKVI2EH.js → chunk-X6WOC4RF.js} +3 -3
- package/build/modern/{chunk-FRT3VY4M.js → chunk-XB4HMXOQ.js} +3 -3
- package/build/modern/{chunk-E2AW2N7Q.js → chunk-XMFTL6KG.js} +3 -3
- package/build/modern/{chunk-KUTKPR3G.js → chunk-XZ2FNMMC.js} +2 -2
- package/build/modern/{chunk-MW2BVQ5A.js → chunk-Y7UXAFII.js} +2 -2
- package/build/modern/{chunk-HBS3B3SE.js → chunk-YAZIBTA2.js} +2 -2
- package/build/modern/{chunk-LWOV3N62.js → chunk-YMFUEQ2A.js} +3 -3
- package/build/modern/{chunk-KOVD3FG7.js → chunk-ZFEGJR5E.js} +2 -2
- package/build/modern/{chunk-SQRFRBDB.js → chunk-ZGJDFQN2.js} +2 -2
- package/build/modern/{chunk-B4X5H2QZ.js → chunk-ZUC3X6GQ.js} +2 -2
- package/build/modern/components/accordion/index.js +7 -6
- package/build/modern/components/accordion/item-group.js +7 -6
- package/build/modern/components/accordion/item-indicator.js +6 -5
- package/build/modern/components/accordion/parts.js +5 -4
- package/build/modern/components/accordion/primitives.js +4 -3
- package/build/modern/components/admonition/admonition.js +10 -9
- package/build/modern/components/admonition/index.js +10 -9
- package/build/modern/components/admonition/match-avatar.js +7 -6
- package/build/modern/components/admonition/parts.js +5 -4
- package/build/modern/components/admonition/primitives.js +4 -3
- package/build/modern/components/avatar/avatar.js +6 -5
- package/build/modern/components/avatar/index.js +6 -5
- package/build/modern/components/avatar/parts.js +5 -4
- package/build/modern/components/avatar/primitives.js +4 -3
- package/build/modern/components/button/button.js +5 -4
- package/build/modern/components/button/index.js +6 -5
- package/build/modern/components/button/parts.js +6 -5
- package/build/modern/components/button/primitives.js +4 -3
- package/build/modern/components/checkbox/checkbox-icon.js +6 -5
- package/build/modern/components/checkbox/checkbox.js +7 -6
- package/build/modern/components/checkbox/index.js +7 -6
- package/build/modern/components/checkbox/parts.js +5 -4
- package/build/modern/components/checkbox/primitives.js +4 -3
- package/build/modern/components/circular-progress/circular-progress.js +5 -4
- package/build/modern/components/circular-progress/index.js +5 -4
- package/build/modern/components/circular-progress/primitives.js +4 -3
- package/build/modern/components/combobox/combobox.js +6 -5
- package/build/modern/components/combobox/index.js +10 -9
- package/build/modern/components/combobox/item-group.js +6 -5
- package/build/modern/components/combobox/item.js +6 -5
- package/build/modern/components/combobox/parts.js +5 -4
- package/build/modern/components/combobox/primitives.js +4 -3
- package/build/modern/components/combobox/use-stateful-collection.js +5 -4
- package/build/modern/components/cta-dialog/index.js +16 -15
- package/build/modern/components/cta-dialog/provider.js +16 -15
- package/build/modern/components/cta-dialog/trigger-item.js +6 -5
- package/build/modern/components/date-picker/calendar.js +15 -14
- package/build/modern/components/date-picker/content.js +6 -5
- package/build/modern/components/date-picker/date-picker.js +6 -5
- package/build/modern/components/date-picker/day-view.js +11 -10
- package/build/modern/components/date-picker/index.js +19 -18
- package/build/modern/components/date-picker/input.js +9 -8
- package/build/modern/components/date-picker/month-view.js +11 -10
- package/build/modern/components/date-picker/parts.js +5 -4
- package/build/modern/components/date-picker/primitives.js +4 -3
- package/build/modern/components/date-picker/range-input.js +9 -8
- package/build/modern/components/date-picker/trigger.js +8 -7
- package/build/modern/components/date-picker/view-control-group.js +10 -9
- package/build/modern/components/date-picker/year-view.js +11 -10
- package/build/modern/components/deprecated/Label.js +9 -8
- package/build/modern/components/dialog/close-icon-trigger.js +7 -6
- package/build/modern/components/dialog/dialog.js +5 -4
- package/build/modern/components/dialog/index.js +9 -8
- package/build/modern/components/dialog/parts.js +5 -4
- package/build/modern/components/dialog/primitives.js +4 -3
- package/build/modern/components/field/field.js +7 -6
- package/build/modern/components/field/helper-text.js +6 -5
- package/build/modern/components/field/index.js +8 -7
- package/build/modern/components/field/input.js +5 -4
- package/build/modern/components/field/parts.js +6 -5
- package/build/modern/components/field/primitives.js +5 -4
- package/build/modern/components/field/status-indicator.js +1 -1
- package/build/modern/components/fieldset/fieldset.js +6 -5
- package/build/modern/components/fieldset/index.js +6 -5
- package/build/modern/components/fieldset/parts.js +5 -4
- package/build/modern/components/fieldset/primitives.js +4 -3
- package/build/modern/components/file-upload/file-status.js +16 -15
- package/build/modern/components/file-upload/file-uploader.js +7 -6
- package/build/modern/components/file-upload/index.js +17 -16
- package/build/modern/components/icon-button/button.js +5 -4
- package/build/modern/components/icon-button/index.js +5 -4
- package/build/modern/components/icon-button/primitives.js +4 -3
- package/build/modern/components/menu/index.js +5 -4
- package/build/modern/components/menu/menu.js +5 -4
- package/build/modern/components/menu/primitives.js +4 -3
- package/build/modern/components/notifications/center.js +9 -8
- package/build/modern/components/notifications/close-trigger.js +6 -5
- package/build/modern/components/notifications/index.js +9 -8
- package/build/modern/components/notifications/parts.js +5 -4
- package/build/modern/components/notifications/primitives.js +4 -3
- package/build/modern/components/progress/index.js +5 -4
- package/build/modern/components/progress/primitives.js +4 -3
- package/build/modern/components/progress/progress-bar.js +5 -4
- package/build/modern/components/radio/index.js +8 -7
- package/build/modern/components/radio/parts.js +5 -4
- package/build/modern/components/radio/primitives.js +4 -3
- package/build/modern/components/radio/radio.js +5 -4
- package/build/modern/components/rating/index.js +6 -5
- package/build/modern/components/rating/parts.js +5 -4
- package/build/modern/components/rating/primitives.js +4 -3
- package/build/modern/components/rating/rating.js +6 -5
- package/build/modern/components/select/index.js +8 -7
- package/build/modern/components/select/option-group.js +5 -4
- package/build/modern/components/select/option.js +6 -5
- package/build/modern/components/select/parts.js +5 -4
- package/build/modern/components/select/primitives.js +4 -3
- package/build/modern/components/select/select.js +6 -5
- package/build/modern/components/switch/index.js +6 -5
- package/build/modern/components/switch/parts.js +5 -4
- package/build/modern/components/switch/primitives.js +4 -3
- package/build/modern/components/switch/switch.js +6 -5
- package/build/modern/components/table/index.js +6 -5
- package/build/modern/components/table/parts.js +5 -4
- package/build/modern/components/table/primitives.js +4 -3
- package/build/modern/components/table/table.js +5 -4
- package/build/modern/components/tabs/index.js +6 -5
- package/build/modern/components/tabs/parts.js +5 -4
- package/build/modern/components/tabs/primitives.js +4 -3
- package/build/modern/components/tabs/tabs.js +6 -5
- package/build/modern/components/tag/index.js +6 -5
- package/build/modern/components/tag/tag.js +6 -5
- package/build/modern/components/theme/index.js +4 -3
- package/build/modern/components/theme/theme.js +4 -3
- package/build/modern/components/toggle/index.js +5 -4
- package/build/modern/components/toggle/parts.js +5 -4
- package/build/modern/components/toggle/primitives.js +4 -3
- package/build/modern/components/tooltip/index.js +6 -5
- package/build/modern/components/tooltip/parts.js +5 -4
- package/build/modern/components/tooltip/primitives.js +4 -3
- package/build/modern/components/tooltip/tooltip.js +6 -5
- package/build/modern/context/confirm-modal.js +15 -14
- package/build/modern/context/field.js +5 -4
- package/build/modern/context/field.js.map +1 -1
- package/build/modern/context/prompt-modal.js +20 -19
- package/build/modern/index.js +129 -128
- package/build/modern/index.js.map +1 -1
- package/build/modern/system/factory.js +2 -3
- package/build/modern/system/index.js +3 -2
- package/build/modern/system/primitive-factory.js +1 -1
- package/package.json +3 -3
- package/src/components/field/status-indicator.tsx +4 -1
- package/src/components/file-upload/file-status.tsx +1 -1
- package/src/system/factory.ts +2 -2
- package/src/system/primitive-factory.tsx +16 -6
- package/src/types.ts +10 -0
- package/build/modern/chunk-GZ6T3352.js.map +0 -1
- package/build/modern/chunk-WC5DERNW.js.map +0 -1
- /package/build/modern/{chunk-SFQIENJB.js.map → chunk-262PENBL.js.map} +0 -0
- /package/build/modern/{chunk-DUFKXBQT.js.map → chunk-27RTYRM7.js.map} +0 -0
- /package/build/modern/{chunk-DJCPF4JA.js.map → chunk-2UD72VLC.js.map} +0 -0
- /package/build/modern/{chunk-QHV4IK52.js.map → chunk-2VVJATIW.js.map} +0 -0
- /package/build/modern/{chunk-F45WBSRP.js.map → chunk-46QXBKGK.js.map} +0 -0
- /package/build/modern/{chunk-KTTGGO72.js.map → chunk-4ZQUC4DA.js.map} +0 -0
- /package/build/modern/{chunk-24FZWSGV.js.map → chunk-5UZUXCMO.js.map} +0 -0
- /package/build/modern/{chunk-DUCW5X4Y.js.map → chunk-5W6HMI2G.js.map} +0 -0
- /package/build/modern/{chunk-P3EIOH5D.js.map → chunk-6KGRHE3J.js.map} +0 -0
- /package/build/modern/{chunk-NAPG6OWJ.js.map → chunk-6KIXF4ES.js.map} +0 -0
- /package/build/modern/{chunk-AAWEAXIA.js.map → chunk-6P2JY52I.js.map} +0 -0
- /package/build/modern/{chunk-X7JS25IL.js.map → chunk-6XO2RTIJ.js.map} +0 -0
- /package/build/modern/{chunk-26VVDQAY.js.map → chunk-77QDH2Q5.js.map} +0 -0
- /package/build/modern/{chunk-KUR42DQQ.js.map → chunk-7GT7UUCB.js.map} +0 -0
- /package/build/modern/{chunk-MS7LB3BL.js.map → chunk-7GVDVLCR.js.map} +0 -0
- /package/build/modern/{chunk-VB5XZZKE.js.map → chunk-7LNGA4BX.js.map} +0 -0
- /package/build/modern/{chunk-4TQO7LCB.js.map → chunk-7MWSOSOY.js.map} +0 -0
- /package/build/modern/{chunk-GZXW3JIW.js.map → chunk-A6NEZNGY.js.map} +0 -0
- /package/build/modern/{chunk-WJHG3ZFR.js.map → chunk-ABMK5P66.js.map} +0 -0
- /package/build/modern/{chunk-G4CDF7LY.js.map → chunk-ADOFKGU3.js.map} +0 -0
- /package/build/modern/{chunk-WC75SKFH.js.map → chunk-AHYFFHUW.js.map} +0 -0
- /package/build/modern/{chunk-TCACYLCL.js.map → chunk-BFE2SHZO.js.map} +0 -0
- /package/build/modern/{chunk-OQN4HVLQ.js.map → chunk-BGJIAA5F.js.map} +0 -0
- /package/build/modern/{chunk-V3LIZS3V.js.map → chunk-BGZTC53N.js.map} +0 -0
- /package/build/modern/{chunk-TGCKJHEE.js.map → chunk-BS4V2YJV.js.map} +0 -0
- /package/build/modern/{chunk-6LH6MOXD.js.map → chunk-BT6FMOKM.js.map} +0 -0
- /package/build/modern/{chunk-JVWOAPWY.js.map → chunk-CBJ5A5BD.js.map} +0 -0
- /package/build/modern/{chunk-CIKCQHPC.js.map → chunk-CI7JYXUR.js.map} +0 -0
- /package/build/modern/{chunk-EALORWDQ.js.map → chunk-CKCGLHLS.js.map} +0 -0
- /package/build/modern/{chunk-X627G6B3.js.map → chunk-CYK3ZJIX.js.map} +0 -0
- /package/build/modern/{chunk-HHY26N7O.js.map → chunk-EMLKVTGD.js.map} +0 -0
- /package/build/modern/{chunk-56YCKMC2.js.map → chunk-ETYXG2J2.js.map} +0 -0
- /package/build/modern/{chunk-TVSVKDWV.js.map → chunk-FIVEPZ5F.js.map} +0 -0
- /package/build/modern/{chunk-6W6QY3XG.js.map → chunk-FL3J7LTC.js.map} +0 -0
- /package/build/modern/{chunk-JQNVN6R6.js.map → chunk-GBV7MIBU.js.map} +0 -0
- /package/build/modern/{chunk-MBZHMWPR.js.map → chunk-GLH23RDO.js.map} +0 -0
- /package/build/modern/{chunk-EPIO6H3A.js.map → chunk-H6ZGH4VM.js.map} +0 -0
- /package/build/modern/{chunk-NE6TEVH2.js.map → chunk-H7N6M7VO.js.map} +0 -0
- /package/build/modern/{chunk-WRKDPEIM.js.map → chunk-HJYVIRNA.js.map} +0 -0
- /package/build/modern/{chunk-RJGEKVHZ.js.map → chunk-HUKQPIDV.js.map} +0 -0
- /package/build/modern/{chunk-NZBKI6AF.js.map → chunk-IWJCQ4BM.js.map} +0 -0
- /package/build/modern/{chunk-TXV55LWL.js.map → chunk-IX5QZCM4.js.map} +0 -0
- /package/build/modern/{chunk-DWKGFNTK.js.map → chunk-J37VR33H.js.map} +0 -0
- /package/build/modern/{chunk-GPGFQNJ6.js.map → chunk-JBAE2B2H.js.map} +0 -0
- /package/build/modern/{chunk-L3V6I7YH.js.map → chunk-KDIDKP2L.js.map} +0 -0
- /package/build/modern/{chunk-Q2MJ7JRM.js.map → chunk-KELIM5A3.js.map} +0 -0
- /package/build/modern/{chunk-3WTLKTIL.js.map → chunk-KF3WIC2Y.js.map} +0 -0
- /package/build/modern/{chunk-APDQJ7MW.js.map → chunk-KHU3YTLM.js.map} +0 -0
- /package/build/modern/{chunk-P4GJKPNL.js.map → chunk-KUF4UUC7.js.map} +0 -0
- /package/build/modern/{chunk-4LBGIGNJ.js.map → chunk-L4CKWLXL.js.map} +0 -0
- /package/build/modern/{chunk-WN2WTSWG.js.map → chunk-LMEGBPKK.js.map} +0 -0
- /package/build/modern/{chunk-OKU736EK.js.map → chunk-LNDQW46A.js.map} +0 -0
- /package/build/modern/{chunk-L654KDXH.js.map → chunk-LVA6QLLM.js.map} +0 -0
- /package/build/modern/{chunk-T5TX5YHC.js.map → chunk-MPVUVQCJ.js.map} +0 -0
- /package/build/modern/{chunk-7F4AOCTU.js.map → chunk-NLZGGXMB.js.map} +0 -0
- /package/build/modern/{chunk-NZZS2A53.js.map → chunk-OG74JDYL.js.map} +0 -0
- /package/build/modern/{chunk-7PTAPZOO.js.map → chunk-OSUFAZAK.js.map} +0 -0
- /package/build/modern/{chunk-VQ3NO6IC.js.map → chunk-P3J5P524.js.map} +0 -0
- /package/build/modern/{chunk-YJR4NLDB.js.map → chunk-PGINYK2P.js.map} +0 -0
- /package/build/modern/{chunk-XNER5INS.js.map → chunk-PI7MKQ62.js.map} +0 -0
- /package/build/modern/{chunk-KRTXDJ4S.js.map → chunk-Q3NDU44T.js.map} +0 -0
- /package/build/modern/{chunk-JPWFSCTC.js.map → chunk-Q6FTLT7K.js.map} +0 -0
- /package/build/modern/{chunk-4FRIJ5VV.js.map → chunk-QHPJ2C76.js.map} +0 -0
- /package/build/modern/{chunk-JLMHKTPI.js.map → chunk-QV5JHBHO.js.map} +0 -0
- /package/build/modern/{chunk-3XA6Y4S4.js.map → chunk-RCXKKQQA.js.map} +0 -0
- /package/build/modern/{chunk-BFV463NP.js.map → chunk-RKKI3J6R.js.map} +0 -0
- /package/build/modern/{chunk-QULAH262.js.map → chunk-RMLBOGDE.js.map} +0 -0
- /package/build/modern/{chunk-TQB6U3JH.js.map → chunk-ROWT3E5K.js.map} +0 -0
- /package/build/modern/{chunk-4NW7Q2VS.js.map → chunk-S7HDNFJJ.js.map} +0 -0
- /package/build/modern/{chunk-KJYL3RJ2.js.map → chunk-T3U6K34Y.js.map} +0 -0
- /package/build/modern/{chunk-RIBBTTT4.js.map → chunk-TIKG6U4Y.js.map} +0 -0
- /package/build/modern/{chunk-UWNLOY27.js.map → chunk-TJXWSSHO.js.map} +0 -0
- /package/build/modern/{chunk-OCK4XVNE.js.map → chunk-U2ZT7UDW.js.map} +0 -0
- /package/build/modern/{chunk-JFWPJXFF.js.map → chunk-UHS2TNFC.js.map} +0 -0
- /package/build/modern/{chunk-BF2IDJMZ.js.map → chunk-UZHBWTSE.js.map} +0 -0
- /package/build/modern/{chunk-ZLHQYCL3.js.map → chunk-VB7T2YYD.js.map} +0 -0
- /package/build/modern/{chunk-5CG7URT6.js.map → chunk-VQIBX475.js.map} +0 -0
- /package/build/modern/{chunk-BCN2E47W.js.map → chunk-W7WPVM34.js.map} +0 -0
- /package/build/modern/{chunk-VKL3CMI3.js.map → chunk-WC6SOU2F.js.map} +0 -0
- /package/build/modern/{chunk-6QWS7HII.js.map → chunk-WK7TUQIS.js.map} +0 -0
- /package/build/modern/{chunk-CKLLERV7.js.map → chunk-X34MYQKI.js.map} +0 -0
- /package/build/modern/{chunk-VOVGPV7G.js.map → chunk-X6KB5LWU.js.map} +0 -0
- /package/build/modern/{chunk-ULKVI2EH.js.map → chunk-X6WOC4RF.js.map} +0 -0
- /package/build/modern/{chunk-FRT3VY4M.js.map → chunk-XB4HMXOQ.js.map} +0 -0
- /package/build/modern/{chunk-E2AW2N7Q.js.map → chunk-XMFTL6KG.js.map} +0 -0
- /package/build/modern/{chunk-KUTKPR3G.js.map → chunk-XZ2FNMMC.js.map} +0 -0
- /package/build/modern/{chunk-MW2BVQ5A.js.map → chunk-Y7UXAFII.js.map} +0 -0
- /package/build/modern/{chunk-HBS3B3SE.js.map → chunk-YAZIBTA2.js.map} +0 -0
- /package/build/modern/{chunk-LWOV3N62.js.map → chunk-YMFUEQ2A.js.map} +0 -0
- /package/build/modern/{chunk-KOVD3FG7.js.map → chunk-ZFEGJR5E.js.map} +0 -0
- /package/build/modern/{chunk-SQRFRBDB.js.map → chunk-ZGJDFQN2.js.map} +0 -0
- /package/build/modern/{chunk-B4X5H2QZ.js.map → chunk-ZUC3X6GQ.js.map} +0 -0
|
@@ -66,8 +66,12 @@ var CerberusPrimitive = class {
|
|
|
66
66
|
const recipe = this.recipe;
|
|
67
67
|
this.validateComponent(Component);
|
|
68
68
|
const CerbComponent = (internalProps) => {
|
|
69
|
-
const {
|
|
70
|
-
|
|
69
|
+
const {
|
|
70
|
+
css: customCss,
|
|
71
|
+
className,
|
|
72
|
+
...restOfInternalProps
|
|
73
|
+
} = internalProps;
|
|
74
|
+
const [variantOptions, nativeProps] = recipe.splitVariantProps(restOfInternalProps);
|
|
71
75
|
const recipeStyles = recipe(variantOptions);
|
|
72
76
|
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
73
77
|
Component,
|
|
@@ -98,8 +102,12 @@ var CerberusPrimitive = class {
|
|
|
98
102
|
const recipe = this.recipe;
|
|
99
103
|
this.validateComponent(Component);
|
|
100
104
|
const CerbComponent = (internalProps) => {
|
|
101
|
-
const {
|
|
102
|
-
|
|
105
|
+
const {
|
|
106
|
+
css: customCss,
|
|
107
|
+
className,
|
|
108
|
+
...restOfInternalProps
|
|
109
|
+
} = internalProps;
|
|
110
|
+
const [variantOptions, nativeProps] = recipe.splitVariantProps(restOfInternalProps);
|
|
103
111
|
const styles = recipe(variantOptions);
|
|
104
112
|
const slotStyles = styles[slot];
|
|
105
113
|
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
@@ -134,7 +142,7 @@ var CerberusPrimitive = class {
|
|
|
134
142
|
// src/system/factory.ts
|
|
135
143
|
var import_factory = require("@ark-ui/react/factory");
|
|
136
144
|
function cerberusFactory(component, defaultProps) {
|
|
137
|
-
const { withNoRecipe } =
|
|
145
|
+
const { withNoRecipe } = new CerberusPrimitive();
|
|
138
146
|
const arkComponent = import_factory.ark[component];
|
|
139
147
|
if (arkComponent) {
|
|
140
148
|
return withNoRecipe(arkComponent, { defaultProps: defaultProps ?? {} });
|
|
@@ -157,9 +165,6 @@ var cerberusFactoryProxy = new Proxy(cerberusFactory, {
|
|
|
157
165
|
});
|
|
158
166
|
|
|
159
167
|
// src/system/index.ts
|
|
160
|
-
function createCerberusPrimitive(recipe) {
|
|
161
|
-
return new CerberusPrimitive(recipe);
|
|
162
|
-
}
|
|
163
168
|
var cerberus = cerberusFactoryProxy;
|
|
164
169
|
|
|
165
170
|
// src/components/theme/theme.tsx
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/theme/theme.tsx","../../../../src/system/primitive-factory.tsx","../../../../src/system/factory.ts","../../../../src/system/index.ts"],"sourcesContent":["import type { PropsWithChildren } from 'react'\nimport type { ColorModes, CustomThemes } from '../../context/theme'\nimport { cerberus, type CerberusPrimitiveProps } from '../../system'\n\nexport interface ThemeProps<T extends string> {\n /**\n * The color mode to apply to the theme.\n * @default 'light'\n */\n mode?: ColorModes\n /**\n * The theme to apply to the component.\n * @default 'cerberus'\n */\n theme?: CustomThemes<T>\n}\n\nexport function Theme<T extends string>(\n props: PropsWithChildren<CerberusPrimitiveProps<ThemeProps<T>>>,\n) {\n const { mode, theme, ...nativeProps } = props\n const colorMode = mode || 'light'\n const themeName = theme || 'cerberus'\n\n return (\n <cerberus.div\n {...nativeProps}\n data-panda-theme={themeName}\n data-color-mode={colorMode}\n >\n {props.children}\n </cerberus.div>\n )\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 { ark } from '@ark-ui/react/factory'\nimport { createCerberusPrimitive } from './index'\nimport type { ComponentType } from 'react'\n\nfunction cerberusFactory<T extends Record<string, unknown>>(\n component: keyof typeof ark,\n defaultProps?: T,\n) {\n const { withNoRecipe } = createCerberusPrimitive()\n const arkComponent = ark[component] as ComponentType\n\n if (arkComponent) {\n return withNoRecipe(arkComponent, { defaultProps: defaultProps ?? {} })\n }\n\n throw new Error(\n `Component \"${String(component)}\" is not a valid Cerberus component. Please check the component name.`,\n )\n}\n\nconst cache = new Map()\n\n// Create a proxy that handles both function calls and property access\nexport const cerberusFactoryProxy = new Proxy(cerberusFactory, {\n apply(target, thisArg, argArray) {\n // Handle function calls like cerberus('button')\n // @ts-expect-error: Ignore type error for dynamic property access\n return target.apply(thisArg, argArray)\n },\n get(_target, el: keyof typeof ark) {\n // Handle property access like cerberus.button\n if (!cache.has(el)) {\n cache.set(el, cerberusFactory(el))\n }\n return cache.get(el) as ReturnType<typeof cerberusFactory>\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/theme/theme.tsx","../../../../src/system/primitive-factory.tsx","../../../../src/system/factory.ts","../../../../src/system/index.ts"],"sourcesContent":["import type { PropsWithChildren } from 'react'\nimport type { ColorModes, CustomThemes } from '../../context/theme'\nimport { cerberus, type CerberusPrimitiveProps } from '../../system'\n\nexport interface ThemeProps<T extends string> {\n /**\n * The color mode to apply to the theme.\n * @default 'light'\n */\n mode?: ColorModes\n /**\n * The theme to apply to the component.\n * @default 'cerberus'\n */\n theme?: CustomThemes<T>\n}\n\nexport function Theme<T extends string>(\n props: PropsWithChildren<CerberusPrimitiveProps<ThemeProps<T>>>,\n) {\n const { mode, theme, ...nativeProps } = props\n const colorMode = mode || 'light'\n const themeName = theme || 'cerberus'\n\n return (\n <cerberus.div\n {...nativeProps}\n data-panda-theme={themeName}\n data-color-mode={colorMode}\n >\n {props.children}\n </cerberus.div>\n )\n}\n","import { css, cx } from 'styled-system/css'\nimport type { RecipeVariantRecord } from 'styled-system/types'\nimport {\n type ComponentType,\n type HTMLAttributes,\n type PropsWithChildren,\n} from 'react'\nimport type { WithCss } from '../types'\nimport type {\n CerberusPrimitiveEl,\n CerberusPrimitiveRecipe,\n CerberusRecipe,\n CerberusSlotRecipe,\n WithRecipeOptions,\n} from './types'\n\n/**\n * This module contains a factory for creating Cerberus primitives.\n * @module @cerberus/core/system/factory\n */\n\nexport class CerberusPrimitive {\n recipe: CerberusPrimitiveRecipe | null\n\n constructor(recipe?: CerberusPrimitiveRecipe) {\n this.recipe = recipe ?? null\n }\n\n private hasStyles(styles: string | undefined): Record<string, unknown> {\n if (styles) {\n return {\n className: styles,\n }\n }\n return {}\n }\n\n private validateComponent<P extends HTMLAttributes<unknown>>(\n Component: ComponentType<P>,\n ) {\n if (typeof Component !== 'function' && typeof Component !== 'object') {\n throw new Error('Expected a React component as the first argument.')\n }\n }\n\n /**\n * Creates a Cerberus component with bare features and no recipe.\n * @param Component - The React component to enhance with Cerberus features.\n * @returns A new React component that applies Cerberus features to the\n * original component.\n * @example\n * ```typescript\n * const { withNoRecipe } = createCerberusPrimitive(button)\n * const Button = withNoRecipe(RawButton)\n * ```\n */\n withNoRecipe = <P extends HTMLAttributes<unknown>>(\n Component: ComponentType<P>,\n options?: WithRecipeOptions,\n ): CerberusPrimitiveEl<P> => {\n const { defaultProps } = options || {}\n\n this.validateComponent(Component)\n\n const CerbComponent = (props: PropsWithChildren<P> & WithCss) => {\n const { css: customCss, className, ...nativeProps } = props\n const styles = this.hasStyles(cx(className, css(customCss)))\n return <Component {...defaultProps} {...styles} {...(nativeProps as P)} />\n }\n\n CerbComponent.displayName = Component.displayName || Component.name\n return CerbComponent\n }\n\n /**\n * Creates a Cerberus component with the given recipe.\n * @param Component - The React component to enhance with the recipe.\n * @param options - Options for the recipe.\n * @returns A new React component that applies the recipe to the original\n * component.\n */\n withRecipe = <P extends HTMLAttributes<unknown>>(\n Component: ComponentType<P>,\n options?: WithRecipeOptions,\n ): CerberusPrimitiveEl<P & WithRecipeOptions['defaultProps']> => {\n const { defaultProps } = options || {}\n const recipe = this.recipe as CerberusRecipe\n\n this.validateComponent(Component)\n\n const CerbComponent = (internalProps: PropsWithChildren<P> & WithCss) => {\n const {\n css: customCss,\n className,\n ...restOfInternalProps\n } = internalProps\n\n const [variantOptions, nativeProps] =\n recipe.splitVariantProps(restOfInternalProps)\n const recipeStyles = recipe(variantOptions)\n\n return (\n <Component\n {...defaultProps}\n {...(nativeProps as P)}\n className={cx(className, recipeStyles, css(customCss))}\n />\n )\n }\n\n CerbComponent.displayName = Component.displayName || Component.name\n return CerbComponent\n }\n\n /**\n * Creates a Cerberus component with a slot recipe applied.\n * @param Component - The React component to enhance with Cerberus features.\n * @param recipe - The slot recipe to apply to the component.\n * @returns A new React component that applies Cerberus features and the\n * specified slot recipe to the original component.\n * @example\n * ```typescript\n * const { withSlotRecipe } = createCerberusPrimitive(field)\n * const Field = withSlotRecipe(RawField, field)\n * ```\n */\n withSlotRecipe = <P extends HTMLAttributes<unknown>>(\n Component: ComponentType<P>,\n slot: keyof RecipeVariantRecord,\n options?: WithRecipeOptions,\n ) => {\n const { defaultProps } = options || {}\n const recipe = this.recipe as CerberusSlotRecipe<typeof slot>\n\n this.validateComponent(Component)\n\n const CerbComponent = (internalProps: PropsWithChildren<P> & WithCss) => {\n const {\n css: customCss,\n className,\n ...restOfInternalProps\n } = internalProps\n\n const [variantOptions, nativeProps] =\n recipe.splitVariantProps(restOfInternalProps)\n const styles = recipe(variantOptions)\n const slotStyles = styles[slot as keyof typeof styles]\n\n return (\n <Component\n {...defaultProps}\n {...(nativeProps as P)}\n className={cx(className, slotStyles, css(customCss))}\n />\n )\n }\n\n CerbComponent.displayName = Component.displayName || Component.name\n return CerbComponent\n }\n}\n","import { ark } from '@ark-ui/react/factory'\nimport type { ComponentType } from 'react'\nimport { CerberusPrimitive } from './primitive-factory'\n\nfunction cerberusFactory<T extends Record<string, unknown>>(\n component: keyof typeof ark,\n defaultProps?: T,\n) {\n const { withNoRecipe } = new CerberusPrimitive()\n const arkComponent = ark[component] as ComponentType\n\n if (arkComponent) {\n return withNoRecipe(arkComponent, { defaultProps: defaultProps ?? {} })\n }\n\n throw new Error(\n `Component \"${String(component)}\" is not a valid Cerberus component. Please check the component name.`,\n )\n}\n\nconst cache = new Map()\n\n// Create a proxy that handles both function calls and property access\nexport const cerberusFactoryProxy = new Proxy(cerberusFactory, {\n apply(target, thisArg, argArray) {\n // Handle function calls like cerberus('button')\n // @ts-expect-error: Ignore type error for dynamic property access\n return target.apply(thisArg, argArray)\n },\n get(_target, el: keyof typeof ark) {\n // Handle property access like cerberus.button\n if (!cache.has(el)) {\n cache.set(el, cerberusFactory(el))\n }\n return cache.get(el) as ReturnType<typeof cerberusFactory>\n },\n})\n","import { CerberusPrimitive } from './primitive-factory'\nimport type { CerberusFactory, CerberusPrimitiveRecipe } from './types'\nimport { cerberusFactoryProxy } from './factory'\n\n/**\n * This module contains the user interface for creating Cerberus primitives.\n * @module @cerberus/core/system/create-cerb-primitive\n */\n\n/**\n * A factory function that creates a Cerberus primitive instance with the given\n * recipe.\n * @param recipe\n * @returns An object with three methods: `withNoRecipe`, `withRecipe`, and `withSlotRecipe` that\n * apply the recipes and special Cerberus helpers like `css`.\n *\n * @example\n * ```tsx\n * const { withRecipe } = createCerberusPrimitive(myCustomRecipe);\n * export const Button = withRecipe(MyCustomButton)\n * ```\n */\nexport function createCerberusPrimitive<T extends CerberusPrimitiveRecipe>(\n recipe?: T,\n) {\n return new CerberusPrimitive(recipe)\n}\n\n/**\n * A utility function to access Cerberus components by their name.\n * @param component - The name of the Cerberus component to access.\n * @returns The Cerberus component corresponding to the provided name.\n * @throws An error if the component name is not valid.\n *\n * @example\n * ```tsx\n * import { cerberus } from '@cerberus/react'\n * const Button = cerberus('button')\n *\n * <Button css={{ color: 'blue' }} asChild>\n * <Link href=\"/some-page\">Click me</Link>\n * </Button>\n * ```\n */\nexport const cerberus = cerberusFactoryProxy as CerberusFactory\n\nexport * from './types'\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAA,iBAAwB;AAmEX;AA9CN,IAAM,oBAAN,MAAwB;AAAA,EAG7B,YAAY,QAAkC;AAF9C;AAkCA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,wCAAe,CACb,WACA,YAC2B;AAC3B,YAAM,EAAE,aAAa,IAAI,WAAW,CAAC;AAErC,WAAK,kBAAkB,SAAS;AAEhC,YAAM,gBAAgB,CAAC,UAA0C;AAC/D,cAAM,EAAE,KAAK,WAAW,WAAW,GAAG,YAAY,IAAI;AACtD,cAAM,SAAS,KAAK,cAAU,eAAG,eAAW,gBAAI,SAAS,CAAC,CAAC;AAC3D,eAAO,4CAAC,aAAW,GAAG,cAAe,GAAG,QAAS,GAAI,aAAmB;AAAA,MAC1E;AAEA,oBAAc,cAAc,UAAU,eAAe,UAAU;AAC/D,aAAO;AAAA,IACT;AASA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,sCAAa,CACX,WACA,YAC+D;AAC/D,YAAM,EAAE,aAAa,IAAI,WAAW,CAAC;AACrC,YAAM,SAAS,KAAK;AAEpB,WAAK,kBAAkB,SAAS;AAEhC,YAAM,gBAAgB,CAAC,kBAAkD;AACvE,cAAM;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,oBAAc,cAAc,UAAU,eAAe,UAAU;AAC/D,aAAO;AAAA,IACT;AAcA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,0CAAiB,CACf,WACA,MACA,YACG;AACH,YAAM,EAAE,aAAa,IAAI,WAAW,CAAC;AACrC,YAAM,SAAS,KAAK;AAEpB,WAAK,kBAAkB,SAAS;AAEhC,YAAM,gBAAgB,CAAC,kBAAkD;AACvE,cAAM;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,oBAAc,cAAc,UAAU,eAAe,UAAU;AAC/D,aAAO;AAAA,IACT;AAtIE,SAAK,SAAS,UAAU;AAAA,EAC1B;AAAA,EAEQ,UAAU,QAAqD;AACrE,QAAI,QAAQ;AACV,aAAO;AAAA,QACL,WAAW;AAAA,MACb;AAAA,IACF;AACA,WAAO,CAAC;AAAA,EACV;AAAA,EAEQ,kBACN,WACA;AACA,QAAI,OAAO,cAAc,cAAc,OAAO,cAAc,UAAU;AACpE,YAAM,IAAI,MAAM,mDAAmD;AAAA,IACrE;AAAA,EACF;AAqHF;;;AChKA,qBAAoB;AAIpB,SAAS,gBACP,WACA,cACA;AACA,QAAM,EAAE,aAAa,IAAI,IAAI,kBAAkB;AAC/C,QAAM,eAAe,mBAAI,SAAS;AAElC,MAAI,cAAc;AAChB,WAAO,aAAa,cAAc,EAAE,cAAc,gBAAgB,CAAC,EAAE,CAAC;AAAA,EACxE;AAEA,QAAM,IAAI;AAAA,IACR,cAAc,OAAO,SAAS,CAAC;AAAA,EACjC;AACF;AAEA,IAAM,QAAQ,oBAAI,IAAI;AAGf,IAAM,uBAAuB,IAAI,MAAM,iBAAiB;AAAA,EAC7D,MAAM,QAAQ,SAAS,UAAU;AAG/B,WAAO,OAAO,MAAM,SAAS,QAAQ;AAAA,EACvC;AAAA,EACA,IAAI,SAAS,IAAsB;AAEjC,QAAI,CAAC,MAAM,IAAI,EAAE,GAAG;AAClB,YAAM,IAAI,IAAI,gBAAgB,EAAE,CAAC;AAAA,IACnC;AACA,WAAO,MAAM,IAAI,EAAE;AAAA,EACrB;AACF,CAAC;;;ACQM,IAAM,WAAW;;;AHnBpB,IAAAA,sBAAA;AARG,SAAS,MACd,OACA;AACA,QAAM,EAAE,MAAM,OAAO,GAAG,YAAY,IAAI;AACxC,QAAM,YAAY,QAAQ;AAC1B,QAAM,YAAY,SAAS;AAE3B,SACE;AAAA,IAAC,SAAS;AAAA,IAAT;AAAA,MACE,GAAG;AAAA,MACJ,oBAAkB;AAAA,MAClB,mBAAiB;AAAA,MAEhB,gBAAM;AAAA;AAAA,EACT;AAEJ;","names":["import_jsx_runtime"]}
|
|
@@ -71,8 +71,12 @@ var CerberusPrimitive = class {
|
|
|
71
71
|
const recipe = this.recipe;
|
|
72
72
|
this.validateComponent(Component);
|
|
73
73
|
const CerbComponent = (internalProps) => {
|
|
74
|
-
const {
|
|
75
|
-
|
|
74
|
+
const {
|
|
75
|
+
css: customCss,
|
|
76
|
+
className,
|
|
77
|
+
...restOfInternalProps
|
|
78
|
+
} = internalProps;
|
|
79
|
+
const [variantOptions, nativeProps] = recipe.splitVariantProps(restOfInternalProps);
|
|
76
80
|
const recipeStyles = recipe(variantOptions);
|
|
77
81
|
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
78
82
|
Component,
|
|
@@ -103,8 +107,12 @@ var CerberusPrimitive = class {
|
|
|
103
107
|
const recipe = this.recipe;
|
|
104
108
|
this.validateComponent(Component);
|
|
105
109
|
const CerbComponent = (internalProps) => {
|
|
106
|
-
const {
|
|
107
|
-
|
|
110
|
+
const {
|
|
111
|
+
css: customCss,
|
|
112
|
+
className,
|
|
113
|
+
...restOfInternalProps
|
|
114
|
+
} = internalProps;
|
|
115
|
+
const [variantOptions, nativeProps] = recipe.splitVariantProps(restOfInternalProps);
|
|
108
116
|
const styles = recipe(variantOptions);
|
|
109
117
|
const slotStyles = styles[slot];
|
|
110
118
|
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/toggle/index.ts","../../../../src/components/toggle/primitives.tsx","../../../../src/system/primitive-factory.tsx","../../../../src/system/index.ts","../../../../src/components/toggle/parts.ts"],"sourcesContent":["export * from './parts'\nexport * from './primitives'\n","import {\n Toggle,\n type ToggleIndicatorProps as ArkToggleIndicatorProps,\n type ToggleRootProps as ArkToggleRootProps,\n} from '@ark-ui/react/toggle'\nimport {\n createCerberusPrimitive,\n type CerberusPrimitiveProps,\n} from '../../system/index'\n\n/**\n * This module provides the Toggle primitives.\n * @module 'react/toggle'\n */\n\nconst { withNoRecipe } = createCerberusPrimitive()\n\n// Root\n\nexport type ToggleRootProps = CerberusPrimitiveProps<ArkToggleRootProps>\nexport const ToggleRoot = withNoRecipe<ToggleRootProps>(Toggle.Root)\n\n// Indicator\n\nexport type ToggleIndicatorProps =\n CerberusPrimitiveProps<ArkToggleIndicatorProps>\nexport const ToggleIndicator = withNoRecipe<ToggleIndicatorProps>(\n Toggle.Indicator,\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 { ToggleRoot, ToggleIndicator } from './primitives'\n\n/**\n * This module contains the parts of the Toggle parts.\n * @module 'toggle/parts'\n */\n\ninterface TogglePartsValue {\n /**\n * The container of the toggle.\n */\n Root: ElementType\n /**\n * The indicator that appears when a toggle is pressed.\n */\n Indicator: ElementType\n}\n\n/**\n * An Object containing the parts of the Radio component. For users that\n * prefer Object component syntax.\n *\n * @remarks\n *\n * When using object component syntax, you import the RadioParts object and\n * the entire family of components vs. only what you use.\n */\nexport const ToggleParts: TogglePartsValue = {\n Root: ToggleRoot,\n Indicator: ToggleIndicator,\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAA,oBAIO;;;ACJP,iBAAwB;AAmEX;AA9CN,IAAM,oBAAN,MAAwB;AAAA,EAG7B,YAAY,QAAkC;AAF9C;AAkCA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,wCAAe,CACb,WACA,YAC2B;AAC3B,YAAM,EAAE,aAAa,IAAI,WAAW,CAAC;AAErC,WAAK,kBAAkB,SAAS;AAEhC,YAAM,gBAAgB,CAAC,UAA0C;AAC/D,cAAM,EAAE,KAAK,WAAW,WAAW,GAAG,YAAY,IAAI;AACtD,cAAM,SAAS,KAAK,cAAU,eAAG,eAAW,gBAAI,SAAS,CAAC,CAAC;AAC3D,eAAO,4CAAC,aAAW,GAAG,cAAe,GAAG,QAAS,GAAI,aAAmB;AAAA,MAC1E;AAEA,oBAAc,cAAc,UAAU,eAAe,UAAU;AAC/D,aAAO;AAAA,IACT;AASA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,sCAAa,CACX,WACA,YAC+D;AAC/D,YAAM,EAAE,aAAa,IAAI,WAAW,CAAC;AACrC,YAAM,SAAS,KAAK;AAEpB,WAAK,kBAAkB,SAAS;AAEhC,YAAM,gBAAgB,CAAC,kBAAkD;AACvE,cAAM,EAAE,KAAK,WAAW,WAAW,GAAG,YAAY,IAAI;AAEtD,cAAM,CAAC,cAAc,IAAI,OAAO,kBAAkB,WAAW;AAC7D,cAAM,eAAe,OAAO,cAAc;AAE1C,eACE;AAAA,UAAC;AAAA;AAAA,YACE,GAAG;AAAA,YACH,GAAI;AAAA,YACL,eAAW,eAAG,WAAW,kBAAc,gBAAI,SAAS,CAAC;AAAA;AAAA,QACvD;AAAA,MAEJ;AAEA,oBAAc,cAAc,UAAU,eAAe,UAAU;AAC/D,aAAO;AAAA,IACT;AAcA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,0CAAiB,CACf,WACA,MACA,YACG;AACH,YAAM,EAAE,aAAa,IAAI,WAAW,CAAC;AACrC,YAAM,SAAS,KAAK;AAEpB,WAAK,kBAAkB,SAAS;AAEhC,YAAM,gBAAgB,CAAC,kBAAkD;AACvE,cAAM,EAAE,KAAK,WAAW,WAAW,GAAG,YAAY,IAAI;AAEtD,cAAM,CAAC,cAAc,IAAI,OAAO,kBAAkB,WAAW;AAC7D,cAAM,SAAS,OAAO,cAAc;AACpC,cAAM,aAAa,OAAO,IAA2B;AAErD,eACE;AAAA,UAAC;AAAA;AAAA,YACE,GAAG;AAAA,YACH,GAAI;AAAA,YACL,eAAW,eAAG,WAAW,gBAAY,gBAAI,SAAS,CAAC;AAAA;AAAA,QACrD;AAAA,MAEJ;AAEA,oBAAc,cAAc,UAAU,eAAe,UAAU;AAC/D,aAAO;AAAA,IACT;AA5HE,SAAK,SAAS,UAAU;AAAA,EAC1B;AAAA,EAEQ,UAAU,QAAqD;AACrE,QAAI,QAAQ;AACV,aAAO;AAAA,QACL,WAAW;AAAA,MACb;AAAA,IACF;AACA,WAAO,CAAC;AAAA,EACV;AAAA,EAEQ,kBACN,WACA;AACA,QAAI,OAAO,cAAc,cAAc,OAAO,cAAc,UAAU;AACpE,YAAM,IAAI,MAAM,mDAAmD;AAAA,IACrE;AAAA,EACF;AA2GF;;;AChIO,SAAS,wBACd,QACA;AACA,SAAO,IAAI,kBAAkB,MAAM;AACrC;;;AFXA,IAAM,EAAE,aAAa,IAAI,wBAAwB;AAK1C,IAAM,aAAa,aAA8B,qBAAO,IAAI;AAM5D,IAAM,kBAAkB;AAAA,EAC7B,qBAAO;AACT;;;AGAO,IAAM,cAAgC;AAAA,EAC3C,MAAM;AAAA,EACN,WAAW;AACb;","names":[]}
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/toggle/index.ts","../../../../src/components/toggle/primitives.tsx","../../../../src/system/primitive-factory.tsx","../../../../src/system/index.ts","../../../../src/components/toggle/parts.ts"],"sourcesContent":["export * from './parts'\nexport * from './primitives'\n","import {\n Toggle,\n type ToggleIndicatorProps as ArkToggleIndicatorProps,\n type ToggleRootProps as ArkToggleRootProps,\n} from '@ark-ui/react/toggle'\nimport {\n createCerberusPrimitive,\n type CerberusPrimitiveProps,\n} from '../../system/index'\n\n/**\n * This module provides the Toggle primitives.\n * @module 'react/toggle'\n */\n\nconst { withNoRecipe } = createCerberusPrimitive()\n\n// Root\n\nexport type ToggleRootProps = CerberusPrimitiveProps<ArkToggleRootProps>\nexport const ToggleRoot = withNoRecipe<ToggleRootProps>(Toggle.Root)\n\n// Indicator\n\nexport type ToggleIndicatorProps =\n CerberusPrimitiveProps<ArkToggleIndicatorProps>\nexport const ToggleIndicator = withNoRecipe<ToggleIndicatorProps>(\n Toggle.Indicator,\n)\n","import { css, cx } from 'styled-system/css'\nimport type { RecipeVariantRecord } from 'styled-system/types'\nimport {\n type ComponentType,\n type HTMLAttributes,\n type PropsWithChildren,\n} from 'react'\nimport type { WithCss } from '../types'\nimport type {\n CerberusPrimitiveEl,\n CerberusPrimitiveRecipe,\n CerberusRecipe,\n CerberusSlotRecipe,\n WithRecipeOptions,\n} from './types'\n\n/**\n * This module contains a factory for creating Cerberus primitives.\n * @module @cerberus/core/system/factory\n */\n\nexport class CerberusPrimitive {\n recipe: CerberusPrimitiveRecipe | null\n\n constructor(recipe?: CerberusPrimitiveRecipe) {\n this.recipe = recipe ?? null\n }\n\n private hasStyles(styles: string | undefined): Record<string, unknown> {\n if (styles) {\n return {\n className: styles,\n }\n }\n return {}\n }\n\n private validateComponent<P extends HTMLAttributes<unknown>>(\n Component: ComponentType<P>,\n ) {\n if (typeof Component !== 'function' && typeof Component !== 'object') {\n throw new Error('Expected a React component as the first argument.')\n }\n }\n\n /**\n * Creates a Cerberus component with bare features and no recipe.\n * @param Component - The React component to enhance with Cerberus features.\n * @returns A new React component that applies Cerberus features to the\n * original component.\n * @example\n * ```typescript\n * const { withNoRecipe } = createCerberusPrimitive(button)\n * const Button = withNoRecipe(RawButton)\n * ```\n */\n withNoRecipe = <P extends HTMLAttributes<unknown>>(\n Component: ComponentType<P>,\n options?: WithRecipeOptions,\n ): CerberusPrimitiveEl<P> => {\n const { defaultProps } = options || {}\n\n this.validateComponent(Component)\n\n const CerbComponent = (props: PropsWithChildren<P> & WithCss) => {\n const { css: customCss, className, ...nativeProps } = props\n const styles = this.hasStyles(cx(className, css(customCss)))\n return <Component {...defaultProps} {...styles} {...(nativeProps as P)} />\n }\n\n CerbComponent.displayName = Component.displayName || Component.name\n return CerbComponent\n }\n\n /**\n * Creates a Cerberus component with the given recipe.\n * @param Component - The React component to enhance with the recipe.\n * @param options - Options for the recipe.\n * @returns A new React component that applies the recipe to the original\n * component.\n */\n withRecipe = <P extends HTMLAttributes<unknown>>(\n Component: ComponentType<P>,\n options?: WithRecipeOptions,\n ): CerberusPrimitiveEl<P & WithRecipeOptions['defaultProps']> => {\n const { defaultProps } = options || {}\n const recipe = this.recipe as CerberusRecipe\n\n this.validateComponent(Component)\n\n const CerbComponent = (internalProps: PropsWithChildren<P> & WithCss) => {\n const {\n css: customCss,\n className,\n ...restOfInternalProps\n } = internalProps\n\n const [variantOptions, nativeProps] =\n recipe.splitVariantProps(restOfInternalProps)\n const recipeStyles = recipe(variantOptions)\n\n return (\n <Component\n {...defaultProps}\n {...(nativeProps as P)}\n className={cx(className, recipeStyles, css(customCss))}\n />\n )\n }\n\n CerbComponent.displayName = Component.displayName || Component.name\n return CerbComponent\n }\n\n /**\n * Creates a Cerberus component with a slot recipe applied.\n * @param Component - The React component to enhance with Cerberus features.\n * @param recipe - The slot recipe to apply to the component.\n * @returns A new React component that applies Cerberus features and the\n * specified slot recipe to the original component.\n * @example\n * ```typescript\n * const { withSlotRecipe } = createCerberusPrimitive(field)\n * const Field = withSlotRecipe(RawField, field)\n * ```\n */\n withSlotRecipe = <P extends HTMLAttributes<unknown>>(\n Component: ComponentType<P>,\n slot: keyof RecipeVariantRecord,\n options?: WithRecipeOptions,\n ) => {\n const { defaultProps } = options || {}\n const recipe = this.recipe as CerberusSlotRecipe<typeof slot>\n\n this.validateComponent(Component)\n\n const CerbComponent = (internalProps: PropsWithChildren<P> & WithCss) => {\n const {\n css: customCss,\n className,\n ...restOfInternalProps\n } = internalProps\n\n const [variantOptions, nativeProps] =\n recipe.splitVariantProps(restOfInternalProps)\n const styles = recipe(variantOptions)\n const slotStyles = styles[slot as keyof typeof styles]\n\n return (\n <Component\n {...defaultProps}\n {...(nativeProps as P)}\n className={cx(className, slotStyles, css(customCss))}\n />\n )\n }\n\n CerbComponent.displayName = Component.displayName || Component.name\n return CerbComponent\n }\n}\n","import { CerberusPrimitive } from './primitive-factory'\nimport type { CerberusFactory, CerberusPrimitiveRecipe } from './types'\nimport { cerberusFactoryProxy } from './factory'\n\n/**\n * This module contains the user interface for creating Cerberus primitives.\n * @module @cerberus/core/system/create-cerb-primitive\n */\n\n/**\n * A factory function that creates a Cerberus primitive instance with the given\n * recipe.\n * @param recipe\n * @returns An object with three methods: `withNoRecipe`, `withRecipe`, and `withSlotRecipe` that\n * apply the recipes and special Cerberus helpers like `css`.\n *\n * @example\n * ```tsx\n * const { withRecipe } = createCerberusPrimitive(myCustomRecipe);\n * export const Button = withRecipe(MyCustomButton)\n * ```\n */\nexport function createCerberusPrimitive<T extends CerberusPrimitiveRecipe>(\n recipe?: T,\n) {\n return new CerberusPrimitive(recipe)\n}\n\n/**\n * A utility function to access Cerberus components by their name.\n * @param component - The name of the Cerberus component to access.\n * @returns The Cerberus component corresponding to the provided name.\n * @throws An error if the component name is not valid.\n *\n * @example\n * ```tsx\n * import { cerberus } from '@cerberus/react'\n * const Button = cerberus('button')\n *\n * <Button css={{ color: 'blue' }} asChild>\n * <Link href=\"/some-page\">Click me</Link>\n * </Button>\n * ```\n */\nexport const cerberus = cerberusFactoryProxy as CerberusFactory\n\nexport * from './types'\n","import type { ElementType } from 'react'\nimport { ToggleRoot, ToggleIndicator } from './primitives'\n\n/**\n * This module contains the parts of the Toggle parts.\n * @module 'toggle/parts'\n */\n\ninterface TogglePartsValue {\n /**\n * The container of the toggle.\n */\n Root: ElementType\n /**\n * The indicator that appears when a toggle is pressed.\n */\n Indicator: ElementType\n}\n\n/**\n * An Object containing the parts of the Radio component. For users that\n * prefer Object component syntax.\n *\n * @remarks\n *\n * When using object component syntax, you import the RadioParts object and\n * the entire family of components vs. only what you use.\n */\nexport const ToggleParts: TogglePartsValue = {\n Root: ToggleRoot,\n Indicator: ToggleIndicator,\n}\n"],"mappings":"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","names":[]}
|
|
@@ -69,8 +69,12 @@ var CerberusPrimitive = class {
|
|
|
69
69
|
const recipe = this.recipe;
|
|
70
70
|
this.validateComponent(Component);
|
|
71
71
|
const CerbComponent = (internalProps) => {
|
|
72
|
-
const {
|
|
73
|
-
|
|
72
|
+
const {
|
|
73
|
+
css: customCss,
|
|
74
|
+
className,
|
|
75
|
+
...restOfInternalProps
|
|
76
|
+
} = internalProps;
|
|
77
|
+
const [variantOptions, nativeProps] = recipe.splitVariantProps(restOfInternalProps);
|
|
74
78
|
const recipeStyles = recipe(variantOptions);
|
|
75
79
|
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
76
80
|
Component,
|
|
@@ -101,8 +105,12 @@ var CerberusPrimitive = class {
|
|
|
101
105
|
const recipe = this.recipe;
|
|
102
106
|
this.validateComponent(Component);
|
|
103
107
|
const CerbComponent = (internalProps) => {
|
|
104
|
-
const {
|
|
105
|
-
|
|
108
|
+
const {
|
|
109
|
+
css: customCss,
|
|
110
|
+
className,
|
|
111
|
+
...restOfInternalProps
|
|
112
|
+
} = internalProps;
|
|
113
|
+
const [variantOptions, nativeProps] = recipe.splitVariantProps(restOfInternalProps);
|
|
106
114
|
const styles = recipe(variantOptions);
|
|
107
115
|
const slotStyles = styles[slot];
|
|
108
116
|
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/toggle/parts.ts","../../../../src/components/toggle/primitives.tsx","../../../../src/system/primitive-factory.tsx","../../../../src/system/index.ts"],"sourcesContent":["import type { ElementType } from 'react'\nimport { ToggleRoot, ToggleIndicator } from './primitives'\n\n/**\n * This module contains the parts of the Toggle parts.\n * @module 'toggle/parts'\n */\n\ninterface TogglePartsValue {\n /**\n * The container of the toggle.\n */\n Root: ElementType\n /**\n * The indicator that appears when a toggle is pressed.\n */\n Indicator: ElementType\n}\n\n/**\n * An Object containing the parts of the Radio component. For users that\n * prefer Object component syntax.\n *\n * @remarks\n *\n * When using object component syntax, you import the RadioParts object and\n * the entire family of components vs. only what you use.\n */\nexport const ToggleParts: TogglePartsValue = {\n Root: ToggleRoot,\n Indicator: ToggleIndicator,\n}\n","import {\n Toggle,\n type ToggleIndicatorProps as ArkToggleIndicatorProps,\n type ToggleRootProps as ArkToggleRootProps,\n} from '@ark-ui/react/toggle'\nimport {\n createCerberusPrimitive,\n type CerberusPrimitiveProps,\n} from '../../system/index'\n\n/**\n * This module provides the Toggle primitives.\n * @module 'react/toggle'\n */\n\nconst { withNoRecipe } = createCerberusPrimitive()\n\n// Root\n\nexport type ToggleRootProps = CerberusPrimitiveProps<ArkToggleRootProps>\nexport const ToggleRoot = withNoRecipe<ToggleRootProps>(Toggle.Root)\n\n// Indicator\n\nexport type ToggleIndicatorProps =\n CerberusPrimitiveProps<ArkToggleIndicatorProps>\nexport const ToggleIndicator = withNoRecipe<ToggleIndicatorProps>(\n Toggle.Indicator,\n)\n","import { css, cx } from 'styled-system/css'\nimport type { RecipeVariantRecord } from 'styled-system/types'\nimport {\n type ComponentType,\n type HTMLAttributes,\n type PropsWithChildren,\n} from 'react'\nimport type { WithCss } from '../types'\nimport type {\n CerberusPrimitiveEl,\n CerberusPrimitiveRecipe,\n CerberusRecipe,\n CerberusSlotRecipe,\n WithRecipeOptions,\n} from './types'\n\n/**\n * This module contains a factory for creating Cerberus primitives.\n * @module @cerberus/core/system/factory\n */\n\nexport class CerberusPrimitive {\n recipe: CerberusPrimitiveRecipe | null\n\n constructor(recipe?: CerberusPrimitiveRecipe) {\n this.recipe = recipe ?? null\n }\n\n private hasStyles(styles: string | undefined): Record<string, unknown> {\n if (styles) {\n return {\n className: styles,\n }\n }\n return {}\n }\n\n private validateComponent<P extends HTMLAttributes<unknown>>(\n Component: ComponentType<P>,\n ) {\n if (typeof Component !== 'function' && typeof Component !== 'object') {\n throw new Error('Expected a React component as the first argument.')\n }\n }\n\n /**\n * Creates a Cerberus component with bare features and no recipe.\n * @param Component - The React component to enhance with Cerberus features.\n * @returns A new React component that applies Cerberus features to the\n * original component.\n * @example\n * ```typescript\n * const { withNoRecipe } = createCerberusPrimitive(button)\n * const Button = withNoRecipe(RawButton)\n * ```\n */\n withNoRecipe = <P extends HTMLAttributes<unknown>>(\n Component: ComponentType<P>,\n options?: WithRecipeOptions,\n ): CerberusPrimitiveEl<P> => {\n const { defaultProps } = options || {}\n\n this.validateComponent(Component)\n\n const CerbComponent = (props: PropsWithChildren<P> & WithCss) => {\n const { css: customCss, className, ...nativeProps } = props\n const styles = this.hasStyles(cx(className, css(customCss)))\n return <Component {...defaultProps} {...styles} {...(nativeProps as P)} />\n }\n\n CerbComponent.displayName = Component.displayName || Component.name\n return CerbComponent\n }\n\n /**\n * Creates a Cerberus component with the given recipe.\n * @param Component - The React component to enhance with the recipe.\n * @param options - Options for the recipe.\n * @returns A new React component that applies the recipe to the original\n * component.\n */\n withRecipe = <P extends HTMLAttributes<unknown>>(\n Component: ComponentType<P>,\n options?: WithRecipeOptions,\n ): CerberusPrimitiveEl<P & WithRecipeOptions['defaultProps']> => {\n const { defaultProps } = options || {}\n const recipe = this.recipe as CerberusRecipe\n\n this.validateComponent(Component)\n\n const CerbComponent = (internalProps: PropsWithChildren<P> & WithCss) => {\n const { css: customCss, className, ...nativeProps } = internalProps\n\n const [variantOptions] = recipe.splitVariantProps(nativeProps)\n const recipeStyles = recipe(variantOptions)\n\n return (\n <Component\n {...defaultProps}\n {...(nativeProps as P)}\n className={cx(className, recipeStyles, css(customCss))}\n />\n )\n }\n\n CerbComponent.displayName = Component.displayName || Component.name\n return CerbComponent\n }\n\n /**\n * Creates a Cerberus component with a slot recipe applied.\n * @param Component - The React component to enhance with Cerberus features.\n * @param recipe - The slot recipe to apply to the component.\n * @returns A new React component that applies Cerberus features and the\n * specified slot recipe to the original component.\n * @example\n * ```typescript\n * const { withSlotRecipe } = createCerberusPrimitive(field)\n * const Field = withSlotRecipe(RawField, field)\n * ```\n */\n withSlotRecipe = <P extends HTMLAttributes<unknown>>(\n Component: ComponentType<P>,\n slot: keyof RecipeVariantRecord,\n options?: WithRecipeOptions,\n ) => {\n const { defaultProps } = options || {}\n const recipe = this.recipe as CerberusSlotRecipe<typeof slot>\n\n this.validateComponent(Component)\n\n const CerbComponent = (internalProps: PropsWithChildren<P> & WithCss) => {\n const { css: customCss, className, ...nativeProps } = internalProps\n\n const [variantOptions] = recipe.splitVariantProps(nativeProps)\n const styles = recipe(variantOptions)\n const slotStyles = styles[slot as keyof typeof styles]\n\n return (\n <Component\n {...defaultProps}\n {...(nativeProps as P)}\n className={cx(className, slotStyles, css(customCss))}\n />\n )\n }\n\n CerbComponent.displayName = Component.displayName || Component.name\n return CerbComponent\n }\n}\n","import { CerberusPrimitive } from './primitive-factory'\nimport type { CerberusFactory, CerberusPrimitiveRecipe } from './types'\nimport { cerberusFactoryProxy } from './factory'\n\n/**\n * This module contains the user interface for creating Cerberus primitives.\n * @module @cerberus/core/system/create-cerb-primitive\n */\n\n/**\n * A factory function that creates a Cerberus primitive instance with the given\n * recipe.\n * @param recipe\n * @returns An object with three methods: `withNoRecipe`, `withRecipe`, and `withSlotRecipe` that\n * apply the recipes and special Cerberus helpers like `css`.\n *\n * @example\n * ```tsx\n * const { withRecipe } = createCerberusPrimitive(myCustomRecipe);\n * export const Button = withRecipe(MyCustomButton)\n * ```\n */\nexport function createCerberusPrimitive<T extends CerberusPrimitiveRecipe>(\n recipe?: T,\n) {\n return new CerberusPrimitive(recipe)\n}\n\n/**\n * A utility function to access Cerberus components by their name.\n * @param component - The name of the Cerberus component to access.\n * @returns The Cerberus component corresponding to the provided name.\n * @throws An error if the component name is not valid.\n *\n * @example\n * ```tsx\n * import { cerberus } from '@cerberus/react'\n * const Button = cerberus('button')\n *\n * <Button css={{ color: 'blue' }} asChild>\n * <Link href=\"/some-page\">Click me</Link>\n * </Button>\n * ```\n */\nexport const cerberus = cerberusFactoryProxy as CerberusFactory\n\nexport * from './types'\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAA,oBAIO;;;ACJP,iBAAwB;AAmEX;AA9CN,IAAM,oBAAN,MAAwB;AAAA,EAG7B,YAAY,QAAkC;AAF9C;AAkCA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,wCAAe,CACb,WACA,YAC2B;AAC3B,YAAM,EAAE,aAAa,IAAI,WAAW,CAAC;AAErC,WAAK,kBAAkB,SAAS;AAEhC,YAAM,gBAAgB,CAAC,UAA0C;AAC/D,cAAM,EAAE,KAAK,WAAW,WAAW,GAAG,YAAY,IAAI;AACtD,cAAM,SAAS,KAAK,cAAU,eAAG,eAAW,gBAAI,SAAS,CAAC,CAAC;AAC3D,eAAO,4CAAC,aAAW,GAAG,cAAe,GAAG,QAAS,GAAI,aAAmB;AAAA,MAC1E;AAEA,oBAAc,cAAc,UAAU,eAAe,UAAU;AAC/D,aAAO;AAAA,IACT;AASA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,sCAAa,CACX,WACA,YAC+D;AAC/D,YAAM,EAAE,aAAa,IAAI,WAAW,CAAC;AACrC,YAAM,SAAS,KAAK;AAEpB,WAAK,kBAAkB,SAAS;AAEhC,YAAM,gBAAgB,CAAC,kBAAkD;AACvE,cAAM,EAAE,KAAK,WAAW,WAAW,GAAG,YAAY,IAAI;AAEtD,cAAM,CAAC,cAAc,IAAI,OAAO,kBAAkB,WAAW;AAC7D,cAAM,eAAe,OAAO,cAAc;AAE1C,eACE;AAAA,UAAC;AAAA;AAAA,YACE,GAAG;AAAA,YACH,GAAI;AAAA,YACL,eAAW,eAAG,WAAW,kBAAc,gBAAI,SAAS,CAAC;AAAA;AAAA,QACvD;AAAA,MAEJ;AAEA,oBAAc,cAAc,UAAU,eAAe,UAAU;AAC/D,aAAO;AAAA,IACT;AAcA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,0CAAiB,CACf,WACA,MACA,YACG;AACH,YAAM,EAAE,aAAa,IAAI,WAAW,CAAC;AACrC,YAAM,SAAS,KAAK;AAEpB,WAAK,kBAAkB,SAAS;AAEhC,YAAM,gBAAgB,CAAC,kBAAkD;AACvE,cAAM,EAAE,KAAK,WAAW,WAAW,GAAG,YAAY,IAAI;AAEtD,cAAM,CAAC,cAAc,IAAI,OAAO,kBAAkB,WAAW;AAC7D,cAAM,SAAS,OAAO,cAAc;AACpC,cAAM,aAAa,OAAO,IAA2B;AAErD,eACE;AAAA,UAAC;AAAA;AAAA,YACE,GAAG;AAAA,YACH,GAAI;AAAA,YACL,eAAW,eAAG,WAAW,gBAAY,gBAAI,SAAS,CAAC;AAAA;AAAA,QACrD;AAAA,MAEJ;AAEA,oBAAc,cAAc,UAAU,eAAe,UAAU;AAC/D,aAAO;AAAA,IACT;AA5HE,SAAK,SAAS,UAAU;AAAA,EAC1B;AAAA,EAEQ,UAAU,QAAqD;AACrE,QAAI,QAAQ;AACV,aAAO;AAAA,QACL,WAAW;AAAA,MACb;AAAA,IACF;AACA,WAAO,CAAC;AAAA,EACV;AAAA,EAEQ,kBACN,WACA;AACA,QAAI,OAAO,cAAc,cAAc,OAAO,cAAc,UAAU;AACpE,YAAM,IAAI,MAAM,mDAAmD;AAAA,IACrE;AAAA,EACF;AA2GF;;;AChIO,SAAS,wBACd,QACA;AACA,SAAO,IAAI,kBAAkB,MAAM;AACrC;;;AFXA,IAAM,EAAE,aAAa,IAAI,wBAAwB;AAK1C,IAAM,aAAa,aAA8B,qBAAO,IAAI;AAM5D,IAAM,kBAAkB;AAAA,EAC7B,qBAAO;AACT;;;ADAO,IAAM,cAAgC;AAAA,EAC3C,MAAM;AAAA,EACN,WAAW;AACb;","names":[]}
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/toggle/parts.ts","../../../../src/components/toggle/primitives.tsx","../../../../src/system/primitive-factory.tsx","../../../../src/system/index.ts"],"sourcesContent":["import type { ElementType } from 'react'\nimport { ToggleRoot, ToggleIndicator } from './primitives'\n\n/**\n * This module contains the parts of the Toggle parts.\n * @module 'toggle/parts'\n */\n\ninterface TogglePartsValue {\n /**\n * The container of the toggle.\n */\n Root: ElementType\n /**\n * The indicator that appears when a toggle is pressed.\n */\n Indicator: ElementType\n}\n\n/**\n * An Object containing the parts of the Radio component. For users that\n * prefer Object component syntax.\n *\n * @remarks\n *\n * When using object component syntax, you import the RadioParts object and\n * the entire family of components vs. only what you use.\n */\nexport const ToggleParts: TogglePartsValue = {\n Root: ToggleRoot,\n Indicator: ToggleIndicator,\n}\n","import {\n Toggle,\n type ToggleIndicatorProps as ArkToggleIndicatorProps,\n type ToggleRootProps as ArkToggleRootProps,\n} from '@ark-ui/react/toggle'\nimport {\n createCerberusPrimitive,\n type CerberusPrimitiveProps,\n} from '../../system/index'\n\n/**\n * This module provides the Toggle primitives.\n * @module 'react/toggle'\n */\n\nconst { withNoRecipe } = createCerberusPrimitive()\n\n// Root\n\nexport type ToggleRootProps = CerberusPrimitiveProps<ArkToggleRootProps>\nexport const ToggleRoot = withNoRecipe<ToggleRootProps>(Toggle.Root)\n\n// Indicator\n\nexport type ToggleIndicatorProps =\n CerberusPrimitiveProps<ArkToggleIndicatorProps>\nexport const ToggleIndicator = withNoRecipe<ToggleIndicatorProps>(\n Toggle.Indicator,\n)\n","import { css, cx } from 'styled-system/css'\nimport type { RecipeVariantRecord } from 'styled-system/types'\nimport {\n type ComponentType,\n type HTMLAttributes,\n type PropsWithChildren,\n} from 'react'\nimport type { WithCss } from '../types'\nimport type {\n CerberusPrimitiveEl,\n CerberusPrimitiveRecipe,\n CerberusRecipe,\n CerberusSlotRecipe,\n WithRecipeOptions,\n} from './types'\n\n/**\n * This module contains a factory for creating Cerberus primitives.\n * @module @cerberus/core/system/factory\n */\n\nexport class CerberusPrimitive {\n recipe: CerberusPrimitiveRecipe | null\n\n constructor(recipe?: CerberusPrimitiveRecipe) {\n this.recipe = recipe ?? null\n }\n\n private hasStyles(styles: string | undefined): Record<string, unknown> {\n if (styles) {\n return {\n className: styles,\n }\n }\n return {}\n }\n\n private validateComponent<P extends HTMLAttributes<unknown>>(\n Component: ComponentType<P>,\n ) {\n if (typeof Component !== 'function' && typeof Component !== 'object') {\n throw new Error('Expected a React component as the first argument.')\n }\n }\n\n /**\n * Creates a Cerberus component with bare features and no recipe.\n * @param Component - The React component to enhance with Cerberus features.\n * @returns A new React component that applies Cerberus features to the\n * original component.\n * @example\n * ```typescript\n * const { withNoRecipe } = createCerberusPrimitive(button)\n * const Button = withNoRecipe(RawButton)\n * ```\n */\n withNoRecipe = <P extends HTMLAttributes<unknown>>(\n Component: ComponentType<P>,\n options?: WithRecipeOptions,\n ): CerberusPrimitiveEl<P> => {\n const { defaultProps } = options || {}\n\n this.validateComponent(Component)\n\n const CerbComponent = (props: PropsWithChildren<P> & WithCss) => {\n const { css: customCss, className, ...nativeProps } = props\n const styles = this.hasStyles(cx(className, css(customCss)))\n return <Component {...defaultProps} {...styles} {...(nativeProps as P)} />\n }\n\n CerbComponent.displayName = Component.displayName || Component.name\n return CerbComponent\n }\n\n /**\n * Creates a Cerberus component with the given recipe.\n * @param Component - The React component to enhance with the recipe.\n * @param options - Options for the recipe.\n * @returns A new React component that applies the recipe to the original\n * component.\n */\n withRecipe = <P extends HTMLAttributes<unknown>>(\n Component: ComponentType<P>,\n options?: WithRecipeOptions,\n ): CerberusPrimitiveEl<P & WithRecipeOptions['defaultProps']> => {\n const { defaultProps } = options || {}\n const recipe = this.recipe as CerberusRecipe\n\n this.validateComponent(Component)\n\n const CerbComponent = (internalProps: PropsWithChildren<P> & WithCss) => {\n const {\n css: customCss,\n className,\n ...restOfInternalProps\n } = internalProps\n\n const [variantOptions, nativeProps] =\n recipe.splitVariantProps(restOfInternalProps)\n const recipeStyles = recipe(variantOptions)\n\n return (\n <Component\n {...defaultProps}\n {...(nativeProps as P)}\n className={cx(className, recipeStyles, css(customCss))}\n />\n )\n }\n\n CerbComponent.displayName = Component.displayName || Component.name\n return CerbComponent\n }\n\n /**\n * Creates a Cerberus component with a slot recipe applied.\n * @param Component - The React component to enhance with Cerberus features.\n * @param recipe - The slot recipe to apply to the component.\n * @returns A new React component that applies Cerberus features and the\n * specified slot recipe to the original component.\n * @example\n * ```typescript\n * const { withSlotRecipe } = createCerberusPrimitive(field)\n * const Field = withSlotRecipe(RawField, field)\n * ```\n */\n withSlotRecipe = <P extends HTMLAttributes<unknown>>(\n Component: ComponentType<P>,\n slot: keyof RecipeVariantRecord,\n options?: WithRecipeOptions,\n ) => {\n const { defaultProps } = options || {}\n const recipe = this.recipe as CerberusSlotRecipe<typeof slot>\n\n this.validateComponent(Component)\n\n const CerbComponent = (internalProps: PropsWithChildren<P> & WithCss) => {\n const {\n css: customCss,\n className,\n ...restOfInternalProps\n } = internalProps\n\n const [variantOptions, nativeProps] =\n recipe.splitVariantProps(restOfInternalProps)\n const styles = recipe(variantOptions)\n const slotStyles = styles[slot as keyof typeof styles]\n\n return (\n <Component\n {...defaultProps}\n {...(nativeProps as P)}\n className={cx(className, slotStyles, css(customCss))}\n />\n )\n }\n\n CerbComponent.displayName = Component.displayName || Component.name\n return CerbComponent\n }\n}\n","import { CerberusPrimitive } from './primitive-factory'\nimport type { CerberusFactory, CerberusPrimitiveRecipe } from './types'\nimport { cerberusFactoryProxy } from './factory'\n\n/**\n * This module contains the user interface for creating Cerberus primitives.\n * @module @cerberus/core/system/create-cerb-primitive\n */\n\n/**\n * A factory function that creates a Cerberus primitive instance with the given\n * recipe.\n * @param recipe\n * @returns An object with three methods: `withNoRecipe`, `withRecipe`, and `withSlotRecipe` that\n * apply the recipes and special Cerberus helpers like `css`.\n *\n * @example\n * ```tsx\n * const { withRecipe } = createCerberusPrimitive(myCustomRecipe);\n * export const Button = withRecipe(MyCustomButton)\n * ```\n */\nexport function createCerberusPrimitive<T extends CerberusPrimitiveRecipe>(\n recipe?: T,\n) {\n return new CerberusPrimitive(recipe)\n}\n\n/**\n * A utility function to access Cerberus components by their name.\n * @param component - The name of the Cerberus component to access.\n * @returns The Cerberus component corresponding to the provided name.\n * @throws An error if the component name is not valid.\n *\n * @example\n * ```tsx\n * import { cerberus } from '@cerberus/react'\n * const Button = cerberus('button')\n *\n * <Button css={{ color: 'blue' }} asChild>\n * <Link href=\"/some-page\">Click me</Link>\n * </Button>\n * ```\n */\nexport const cerberus = cerberusFactoryProxy as CerberusFactory\n\nexport * from './types'\n"],"mappings":"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","names":[]}
|
|
@@ -68,8 +68,12 @@ var CerberusPrimitive = class {
|
|
|
68
68
|
const recipe = this.recipe;
|
|
69
69
|
this.validateComponent(Component);
|
|
70
70
|
const CerbComponent = (internalProps) => {
|
|
71
|
-
const {
|
|
72
|
-
|
|
71
|
+
const {
|
|
72
|
+
css: customCss,
|
|
73
|
+
className,
|
|
74
|
+
...restOfInternalProps
|
|
75
|
+
} = internalProps;
|
|
76
|
+
const [variantOptions, nativeProps] = recipe.splitVariantProps(restOfInternalProps);
|
|
73
77
|
const recipeStyles = recipe(variantOptions);
|
|
74
78
|
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
75
79
|
Component,
|
|
@@ -100,8 +104,12 @@ var CerberusPrimitive = class {
|
|
|
100
104
|
const recipe = this.recipe;
|
|
101
105
|
this.validateComponent(Component);
|
|
102
106
|
const CerbComponent = (internalProps) => {
|
|
103
|
-
const {
|
|
104
|
-
|
|
107
|
+
const {
|
|
108
|
+
css: customCss,
|
|
109
|
+
className,
|
|
110
|
+
...restOfInternalProps
|
|
111
|
+
} = internalProps;
|
|
112
|
+
const [variantOptions, nativeProps] = recipe.splitVariantProps(restOfInternalProps);
|
|
105
113
|
const styles = recipe(variantOptions);
|
|
106
114
|
const slotStyles = styles[slot];
|
|
107
115
|
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/toggle/primitives.tsx","../../../../src/system/primitive-factory.tsx","../../../../src/system/index.ts"],"sourcesContent":["import {\n Toggle,\n type ToggleIndicatorProps as ArkToggleIndicatorProps,\n type ToggleRootProps as ArkToggleRootProps,\n} from '@ark-ui/react/toggle'\nimport {\n createCerberusPrimitive,\n type CerberusPrimitiveProps,\n} from '../../system/index'\n\n/**\n * This module provides the Toggle primitives.\n * @module 'react/toggle'\n */\n\nconst { withNoRecipe } = createCerberusPrimitive()\n\n// Root\n\nexport type ToggleRootProps = CerberusPrimitiveProps<ArkToggleRootProps>\nexport const ToggleRoot = withNoRecipe<ToggleRootProps>(Toggle.Root)\n\n// Indicator\n\nexport type ToggleIndicatorProps =\n CerberusPrimitiveProps<ArkToggleIndicatorProps>\nexport const ToggleIndicator = withNoRecipe<ToggleIndicatorProps>(\n Toggle.Indicator,\n)\n","import { css, cx } from 'styled-system/css'\nimport type { RecipeVariantRecord } from 'styled-system/types'\nimport {\n type ComponentType,\n type HTMLAttributes,\n type PropsWithChildren,\n} from 'react'\nimport type { WithCss } from '../types'\nimport type {\n CerberusPrimitiveEl,\n CerberusPrimitiveRecipe,\n CerberusRecipe,\n CerberusSlotRecipe,\n WithRecipeOptions,\n} from './types'\n\n/**\n * This module contains a factory for creating Cerberus primitives.\n * @module @cerberus/core/system/factory\n */\n\nexport class CerberusPrimitive {\n recipe: CerberusPrimitiveRecipe | null\n\n constructor(recipe?: CerberusPrimitiveRecipe) {\n this.recipe = recipe ?? null\n }\n\n private hasStyles(styles: string | undefined): Record<string, unknown> {\n if (styles) {\n return {\n className: styles,\n }\n }\n return {}\n }\n\n private validateComponent<P extends HTMLAttributes<unknown>>(\n Component: ComponentType<P>,\n ) {\n if (typeof Component !== 'function' && typeof Component !== 'object') {\n throw new Error('Expected a React component as the first argument.')\n }\n }\n\n /**\n * Creates a Cerberus component with bare features and no recipe.\n * @param Component - The React component to enhance with Cerberus features.\n * @returns A new React component that applies Cerberus features to the\n * original component.\n * @example\n * ```typescript\n * const { withNoRecipe } = createCerberusPrimitive(button)\n * const Button = withNoRecipe(RawButton)\n * ```\n */\n withNoRecipe = <P extends HTMLAttributes<unknown>>(\n Component: ComponentType<P>,\n options?: WithRecipeOptions,\n ): CerberusPrimitiveEl<P> => {\n const { defaultProps } = options || {}\n\n this.validateComponent(Component)\n\n const CerbComponent = (props: PropsWithChildren<P> & WithCss) => {\n const { css: customCss, className, ...nativeProps } = props\n const styles = this.hasStyles(cx(className, css(customCss)))\n return <Component {...defaultProps} {...styles} {...(nativeProps as P)} />\n }\n\n CerbComponent.displayName = Component.displayName || Component.name\n return CerbComponent\n }\n\n /**\n * Creates a Cerberus component with the given recipe.\n * @param Component - The React component to enhance with the recipe.\n * @param options - Options for the recipe.\n * @returns A new React component that applies the recipe to the original\n * component.\n */\n withRecipe = <P extends HTMLAttributes<unknown>>(\n Component: ComponentType<P>,\n options?: WithRecipeOptions,\n ): CerberusPrimitiveEl<P & WithRecipeOptions['defaultProps']> => {\n const { defaultProps } = options || {}\n const recipe = this.recipe as CerberusRecipe\n\n this.validateComponent(Component)\n\n const CerbComponent = (internalProps: PropsWithChildren<P> & WithCss) => {\n const {
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/toggle/primitives.tsx","../../../../src/system/primitive-factory.tsx","../../../../src/system/index.ts"],"sourcesContent":["import {\n Toggle,\n type ToggleIndicatorProps as ArkToggleIndicatorProps,\n type ToggleRootProps as ArkToggleRootProps,\n} from '@ark-ui/react/toggle'\nimport {\n createCerberusPrimitive,\n type CerberusPrimitiveProps,\n} from '../../system/index'\n\n/**\n * This module provides the Toggle primitives.\n * @module 'react/toggle'\n */\n\nconst { withNoRecipe } = createCerberusPrimitive()\n\n// Root\n\nexport type ToggleRootProps = CerberusPrimitiveProps<ArkToggleRootProps>\nexport const ToggleRoot = withNoRecipe<ToggleRootProps>(Toggle.Root)\n\n// Indicator\n\nexport type ToggleIndicatorProps =\n CerberusPrimitiveProps<ArkToggleIndicatorProps>\nexport const ToggleIndicator = withNoRecipe<ToggleIndicatorProps>(\n Toggle.Indicator,\n)\n","import { css, cx } from 'styled-system/css'\nimport type { RecipeVariantRecord } from 'styled-system/types'\nimport {\n type ComponentType,\n type HTMLAttributes,\n type PropsWithChildren,\n} from 'react'\nimport type { WithCss } from '../types'\nimport type {\n CerberusPrimitiveEl,\n CerberusPrimitiveRecipe,\n CerberusRecipe,\n CerberusSlotRecipe,\n WithRecipeOptions,\n} from './types'\n\n/**\n * This module contains a factory for creating Cerberus primitives.\n * @module @cerberus/core/system/factory\n */\n\nexport class CerberusPrimitive {\n recipe: CerberusPrimitiveRecipe | null\n\n constructor(recipe?: CerberusPrimitiveRecipe) {\n this.recipe = recipe ?? null\n }\n\n private hasStyles(styles: string | undefined): Record<string, unknown> {\n if (styles) {\n return {\n className: styles,\n }\n }\n return {}\n }\n\n private validateComponent<P extends HTMLAttributes<unknown>>(\n Component: ComponentType<P>,\n ) {\n if (typeof Component !== 'function' && typeof Component !== 'object') {\n throw new Error('Expected a React component as the first argument.')\n }\n }\n\n /**\n * Creates a Cerberus component with bare features and no recipe.\n * @param Component - The React component to enhance with Cerberus features.\n * @returns A new React component that applies Cerberus features to the\n * original component.\n * @example\n * ```typescript\n * const { withNoRecipe } = createCerberusPrimitive(button)\n * const Button = withNoRecipe(RawButton)\n * ```\n */\n withNoRecipe = <P extends HTMLAttributes<unknown>>(\n Component: ComponentType<P>,\n options?: WithRecipeOptions,\n ): CerberusPrimitiveEl<P> => {\n const { defaultProps } = options || {}\n\n this.validateComponent(Component)\n\n const CerbComponent = (props: PropsWithChildren<P> & WithCss) => {\n const { css: customCss, className, ...nativeProps } = props\n const styles = this.hasStyles(cx(className, css(customCss)))\n return <Component {...defaultProps} {...styles} {...(nativeProps as P)} />\n }\n\n CerbComponent.displayName = Component.displayName || Component.name\n return CerbComponent\n }\n\n /**\n * Creates a Cerberus component with the given recipe.\n * @param Component - The React component to enhance with the recipe.\n * @param options - Options for the recipe.\n * @returns A new React component that applies the recipe to the original\n * component.\n */\n withRecipe = <P extends HTMLAttributes<unknown>>(\n Component: ComponentType<P>,\n options?: WithRecipeOptions,\n ): CerberusPrimitiveEl<P & WithRecipeOptions['defaultProps']> => {\n const { defaultProps } = options || {}\n const recipe = this.recipe as CerberusRecipe\n\n this.validateComponent(Component)\n\n const CerbComponent = (internalProps: PropsWithChildren<P> & WithCss) => {\n const {\n css: customCss,\n className,\n ...restOfInternalProps\n } = internalProps\n\n const [variantOptions, nativeProps] =\n recipe.splitVariantProps(restOfInternalProps)\n const recipeStyles = recipe(variantOptions)\n\n return (\n <Component\n {...defaultProps}\n {...(nativeProps as P)}\n className={cx(className, recipeStyles, css(customCss))}\n />\n )\n }\n\n CerbComponent.displayName = Component.displayName || Component.name\n return CerbComponent\n }\n\n /**\n * Creates a Cerberus component with a slot recipe applied.\n * @param Component - The React component to enhance with Cerberus features.\n * @param recipe - The slot recipe to apply to the component.\n * @returns A new React component that applies Cerberus features and the\n * specified slot recipe to the original component.\n * @example\n * ```typescript\n * const { withSlotRecipe } = createCerberusPrimitive(field)\n * const Field = withSlotRecipe(RawField, field)\n * ```\n */\n withSlotRecipe = <P extends HTMLAttributes<unknown>>(\n Component: ComponentType<P>,\n slot: keyof RecipeVariantRecord,\n options?: WithRecipeOptions,\n ) => {\n const { defaultProps } = options || {}\n const recipe = this.recipe as CerberusSlotRecipe<typeof slot>\n\n this.validateComponent(Component)\n\n const CerbComponent = (internalProps: PropsWithChildren<P> & WithCss) => {\n const {\n css: customCss,\n className,\n ...restOfInternalProps\n } = internalProps\n\n const [variantOptions, nativeProps] =\n recipe.splitVariantProps(restOfInternalProps)\n const styles = recipe(variantOptions)\n const slotStyles = styles[slot as keyof typeof styles]\n\n return (\n <Component\n {...defaultProps}\n {...(nativeProps as P)}\n className={cx(className, slotStyles, css(customCss))}\n />\n )\n }\n\n CerbComponent.displayName = Component.displayName || Component.name\n return CerbComponent\n }\n}\n","import { CerberusPrimitive } from './primitive-factory'\nimport type { CerberusFactory, CerberusPrimitiveRecipe } from './types'\nimport { cerberusFactoryProxy } from './factory'\n\n/**\n * This module contains the user interface for creating Cerberus primitives.\n * @module @cerberus/core/system/create-cerb-primitive\n */\n\n/**\n * A factory function that creates a Cerberus primitive instance with the given\n * recipe.\n * @param recipe\n * @returns An object with three methods: `withNoRecipe`, `withRecipe`, and `withSlotRecipe` that\n * apply the recipes and special Cerberus helpers like `css`.\n *\n * @example\n * ```tsx\n * const { withRecipe } = createCerberusPrimitive(myCustomRecipe);\n * export const Button = withRecipe(MyCustomButton)\n * ```\n */\nexport function createCerberusPrimitive<T extends CerberusPrimitiveRecipe>(\n recipe?: T,\n) {\n return new CerberusPrimitive(recipe)\n}\n\n/**\n * A utility function to access Cerberus components by their name.\n * @param component - The name of the Cerberus component to access.\n * @returns The Cerberus component corresponding to the provided name.\n * @throws An error if the component name is not valid.\n *\n * @example\n * ```tsx\n * import { cerberus } from '@cerberus/react'\n * const Button = cerberus('button')\n *\n * <Button css={{ color: 'blue' }} asChild>\n * <Link href=\"/some-page\">Click me</Link>\n * </Button>\n * ```\n */\nexport const cerberus = cerberusFactoryProxy as CerberusFactory\n\nexport * from './types'\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAIO;;;ACJP,iBAAwB;AAmEX;AA9CN,IAAM,oBAAN,MAAwB;AAAA,EAG7B,YAAY,QAAkC;AAF9C;AAkCA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,wCAAe,CACb,WACA,YAC2B;AAC3B,YAAM,EAAE,aAAa,IAAI,WAAW,CAAC;AAErC,WAAK,kBAAkB,SAAS;AAEhC,YAAM,gBAAgB,CAAC,UAA0C;AAC/D,cAAM,EAAE,KAAK,WAAW,WAAW,GAAG,YAAY,IAAI;AACtD,cAAM,SAAS,KAAK,cAAU,eAAG,eAAW,gBAAI,SAAS,CAAC,CAAC;AAC3D,eAAO,4CAAC,aAAW,GAAG,cAAe,GAAG,QAAS,GAAI,aAAmB;AAAA,MAC1E;AAEA,oBAAc,cAAc,UAAU,eAAe,UAAU;AAC/D,aAAO;AAAA,IACT;AASA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,sCAAa,CACX,WACA,YAC+D;AAC/D,YAAM,EAAE,aAAa,IAAI,WAAW,CAAC;AACrC,YAAM,SAAS,KAAK;AAEpB,WAAK,kBAAkB,SAAS;AAEhC,YAAM,gBAAgB,CAAC,kBAAkD;AACvE,cAAM;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,oBAAc,cAAc,UAAU,eAAe,UAAU;AAC/D,aAAO;AAAA,IACT;AAcA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,0CAAiB,CACf,WACA,MACA,YACG;AACH,YAAM,EAAE,aAAa,IAAI,WAAW,CAAC;AACrC,YAAM,SAAS,KAAK;AAEpB,WAAK,kBAAkB,SAAS;AAEhC,YAAM,gBAAgB,CAAC,kBAAkD;AACvE,cAAM;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,oBAAc,cAAc,UAAU,eAAe,UAAU;AAC/D,aAAO;AAAA,IACT;AAtIE,SAAK,SAAS,UAAU;AAAA,EAC1B;AAAA,EAEQ,UAAU,QAAqD;AACrE,QAAI,QAAQ;AACV,aAAO;AAAA,QACL,WAAW;AAAA,MACb;AAAA,IACF;AACA,WAAO,CAAC;AAAA,EACV;AAAA,EAEQ,kBACN,WACA;AACA,QAAI,OAAO,cAAc,cAAc,OAAO,cAAc,UAAU;AACpE,YAAM,IAAI,MAAM,mDAAmD;AAAA,IACrE;AAAA,EACF;AAqHF;;;AC1IO,SAAS,wBACd,QACA;AACA,SAAO,IAAI,kBAAkB,MAAM;AACrC;;;AFXA,IAAM,EAAE,aAAa,IAAI,wBAAwB;AAK1C,IAAM,aAAa,aAA8B,qBAAO,IAAI;AAM5D,IAAM,kBAAkB;AAAA,EAC7B,qBAAO;AACT;","names":[]}
|
|
@@ -77,8 +77,12 @@ var CerberusPrimitive = class {
|
|
|
77
77
|
const recipe = this.recipe;
|
|
78
78
|
this.validateComponent(Component);
|
|
79
79
|
const CerbComponent = (internalProps) => {
|
|
80
|
-
const {
|
|
81
|
-
|
|
80
|
+
const {
|
|
81
|
+
css: customCss,
|
|
82
|
+
className,
|
|
83
|
+
...restOfInternalProps
|
|
84
|
+
} = internalProps;
|
|
85
|
+
const [variantOptions, nativeProps] = recipe.splitVariantProps(restOfInternalProps);
|
|
82
86
|
const recipeStyles = recipe(variantOptions);
|
|
83
87
|
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
84
88
|
Component,
|
|
@@ -109,8 +113,12 @@ var CerberusPrimitive = class {
|
|
|
109
113
|
const recipe = this.recipe;
|
|
110
114
|
this.validateComponent(Component);
|
|
111
115
|
const CerbComponent = (internalProps) => {
|
|
112
|
-
const {
|
|
113
|
-
|
|
116
|
+
const {
|
|
117
|
+
css: customCss,
|
|
118
|
+
className,
|
|
119
|
+
...restOfInternalProps
|
|
120
|
+
} = internalProps;
|
|
121
|
+
const [variantOptions, nativeProps] = recipe.splitVariantProps(restOfInternalProps);
|
|
114
122
|
const styles = recipe(variantOptions);
|
|
115
123
|
const slotStyles = styles[slot];
|
|
116
124
|
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/tooltip/index.ts","../../../../src/components/tooltip/primitives.ts","../../../../src/system/primitive-factory.tsx","../../../../src/system/index.ts","../../../../src/components/tooltip/parts.ts","../../../../src/components/tooltip/tooltip.tsx"],"sourcesContent":["export * from './primitives'\nexport * from './parts'\nexport * from './tooltip'\n","import {\n Tooltip,\n type TooltipRootProps as ArkTooltipRootProps,\n type TooltipTriggerProps as ArkTooltipTriggerProps,\n type TooltipPositionerProps as ArkTooltipPositionerProps,\n type TooltipContentProps as ArkTooltipContentProps,\n type TooltipArrowProps as ArkTooltipArrowProps,\n type TooltipArrowTipProps as ArkTooltipArrowTipProps,\n} from '@ark-ui/react/tooltip'\nimport { tooltip } from 'styled-system/recipes'\nimport {\n createCerberusPrimitive,\n type CerberusPrimitiveProps,\n} from '../../system/index'\n\n/**\n * This module contains the Tooltip primitive components.\n * @module TooltipPrimitives\n */\n\nconst { withSlotRecipe } = createCerberusPrimitive(tooltip)\n\n// Root\n\nexport type TooltipRootProps = CerberusPrimitiveProps<ArkTooltipRootProps>\nexport const TooltipRoot = withSlotRecipe<TooltipRootProps>(\n Tooltip.Root,\n 'root',\n)\n\n// Trigger\n\nexport type TooltipTriggerProps = CerberusPrimitiveProps<ArkTooltipTriggerProps>\nexport const TooltipTrigger = withSlotRecipe<TooltipTriggerProps>(\n Tooltip.Trigger,\n 'trigger',\n)\n\n// Positioner\n\nexport type TooltipPositionerProps =\n CerberusPrimitiveProps<ArkTooltipPositionerProps>\nexport const TooltipPositioner = withSlotRecipe<TooltipPositionerProps>(\n Tooltip.Positioner,\n 'positioner',\n)\n\n// Content\n\nexport type TooltipContentProps = CerberusPrimitiveProps<ArkTooltipContentProps>\nexport const TooltipContent = withSlotRecipe<TooltipContentProps>(\n Tooltip.Content,\n 'content',\n)\n\n// Arrow\n\nexport type TooltipArrowProps = CerberusPrimitiveProps<ArkTooltipArrowProps>\nexport const TooltipArrow = withSlotRecipe<TooltipArrowProps>(\n Tooltip.Arrow,\n 'arrow',\n)\n\n// ArrowTip\n\nexport type TooltipArrowTipProps =\n CerberusPrimitiveProps<ArkTooltipArrowTipProps>\nexport const TooltipArrowTip = withSlotRecipe<TooltipArrowTipProps>(\n Tooltip.ArrowTip,\n 'arrowTip',\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 TooltipRoot,\n TooltipTrigger,\n TooltipPositioner,\n TooltipContent,\n TooltipArrow,\n TooltipArrowTip,\n} from './primitives'\n\n/**\n * This module contains the parts of the Tooltip component.\n * @module 'tooltip/parts'\n */\n\ninterface TooltipPartsValue {\n /**\n * The context provider of the tooltip.\n */\n Root: ElementType\n /**\n * The trigger that of the tooltip.\n */\n Trigger: ElementType\n /**\n * The positioner of the tooltip.\n */\n Positioner: ElementType\n /**\n * The content of the tooltip.\n */\n Content: ElementType\n /**\n * The arrow of the tooltip.\n */\n Arrow: ElementType\n /**\n * The arrow tip of the tooltip.\n */\n ArrowTip: ElementType\n}\n\n/**\n * An Object containing the parts of the Tooltip component. For users that\n * prefer Object component syntax.\n *\n * @remarks\n *\n * When using object component syntax, you import the TooltipParts object and\n * the entire family of components vs. only what you use.\n */\nexport const TooltipParts: TooltipPartsValue = {\n Root: TooltipRoot,\n Trigger: TooltipTrigger,\n Positioner: TooltipPositioner,\n Content: TooltipContent,\n Arrow: TooltipArrow,\n ArrowTip: TooltipArrowTip,\n}\n","import type { ReactNode } from 'react'\nimport { TooltipParts } from './parts'\nimport type { TooltipRootProps } from './primitives'\n\n/**\n * This module contains the Tooltip component.\n * @module Tooltip\n */\n\nexport interface TooltipProps extends TooltipRootProps {\n /**\n * The text content to display in the tooltip.\n */\n content: ReactNode\n}\n\n/**\n * The Tooltip component is used to provide additional information about an element when it is hovered over.\n * @definition [Tooltip docs](https://cerberus.digitalu.design/react/tooltip)\n * @example\n * ```tsx\n * <Tooltip content=\"This is a tooltip\">\n * <Information />\n * </Tooltip>\n */\nexport function Tooltip(props: TooltipProps) {\n const { content, children, ...rootProps } = props\n const position = {\n placement: props.positioning || 'top',\n }\n\n return (\n <TooltipParts.Root openDelay={400} positioning={position} {...rootProps}>\n <TooltipParts.Trigger asChild>{children}</TooltipParts.Trigger>\n\n <TooltipParts.Positioner>\n <TooltipParts.Content>\n <TooltipParts.Arrow>\n <TooltipParts.ArrowTip />\n </TooltipParts.Arrow>\n {content}\n </TooltipParts.Content>\n </TooltipParts.Positioner>\n </TooltipParts.Root>\n )\n}\n"],"mappings":"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","names":["Tooltip","import_jsx_runtime","Tooltip"]}
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/tooltip/index.ts","../../../../src/components/tooltip/primitives.ts","../../../../src/system/primitive-factory.tsx","../../../../src/system/index.ts","../../../../src/components/tooltip/parts.ts","../../../../src/components/tooltip/tooltip.tsx"],"sourcesContent":["export * from './primitives'\nexport * from './parts'\nexport * from './tooltip'\n","import {\n Tooltip,\n type TooltipRootProps as ArkTooltipRootProps,\n type TooltipTriggerProps as ArkTooltipTriggerProps,\n type TooltipPositionerProps as ArkTooltipPositionerProps,\n type TooltipContentProps as ArkTooltipContentProps,\n type TooltipArrowProps as ArkTooltipArrowProps,\n type TooltipArrowTipProps as ArkTooltipArrowTipProps,\n} from '@ark-ui/react/tooltip'\nimport { tooltip } from 'styled-system/recipes'\nimport {\n createCerberusPrimitive,\n type CerberusPrimitiveProps,\n} from '../../system/index'\n\n/**\n * This module contains the Tooltip primitive components.\n * @module TooltipPrimitives\n */\n\nconst { withSlotRecipe } = createCerberusPrimitive(tooltip)\n\n// Root\n\nexport type TooltipRootProps = CerberusPrimitiveProps<ArkTooltipRootProps>\nexport const TooltipRoot = withSlotRecipe<TooltipRootProps>(\n Tooltip.Root,\n 'root',\n)\n\n// Trigger\n\nexport type TooltipTriggerProps = CerberusPrimitiveProps<ArkTooltipTriggerProps>\nexport const TooltipTrigger = withSlotRecipe<TooltipTriggerProps>(\n Tooltip.Trigger,\n 'trigger',\n)\n\n// Positioner\n\nexport type TooltipPositionerProps =\n CerberusPrimitiveProps<ArkTooltipPositionerProps>\nexport const TooltipPositioner = withSlotRecipe<TooltipPositionerProps>(\n Tooltip.Positioner,\n 'positioner',\n)\n\n// Content\n\nexport type TooltipContentProps = CerberusPrimitiveProps<ArkTooltipContentProps>\nexport const TooltipContent = withSlotRecipe<TooltipContentProps>(\n Tooltip.Content,\n 'content',\n)\n\n// Arrow\n\nexport type TooltipArrowProps = CerberusPrimitiveProps<ArkTooltipArrowProps>\nexport const TooltipArrow = withSlotRecipe<TooltipArrowProps>(\n Tooltip.Arrow,\n 'arrow',\n)\n\n// ArrowTip\n\nexport type TooltipArrowTipProps =\n CerberusPrimitiveProps<ArkTooltipArrowTipProps>\nexport const TooltipArrowTip = withSlotRecipe<TooltipArrowTipProps>(\n Tooltip.ArrowTip,\n 'arrowTip',\n)\n","import { css, cx } from 'styled-system/css'\nimport type { RecipeVariantRecord } from 'styled-system/types'\nimport {\n type ComponentType,\n type HTMLAttributes,\n type PropsWithChildren,\n} from 'react'\nimport type { WithCss } from '../types'\nimport type {\n CerberusPrimitiveEl,\n CerberusPrimitiveRecipe,\n CerberusRecipe,\n CerberusSlotRecipe,\n WithRecipeOptions,\n} from './types'\n\n/**\n * This module contains a factory for creating Cerberus primitives.\n * @module @cerberus/core/system/factory\n */\n\nexport class CerberusPrimitive {\n recipe: CerberusPrimitiveRecipe | null\n\n constructor(recipe?: CerberusPrimitiveRecipe) {\n this.recipe = recipe ?? null\n }\n\n private hasStyles(styles: string | undefined): Record<string, unknown> {\n if (styles) {\n return {\n className: styles,\n }\n }\n return {}\n }\n\n private validateComponent<P extends HTMLAttributes<unknown>>(\n Component: ComponentType<P>,\n ) {\n if (typeof Component !== 'function' && typeof Component !== 'object') {\n throw new Error('Expected a React component as the first argument.')\n }\n }\n\n /**\n * Creates a Cerberus component with bare features and no recipe.\n * @param Component - The React component to enhance with Cerberus features.\n * @returns A new React component that applies Cerberus features to the\n * original component.\n * @example\n * ```typescript\n * const { withNoRecipe } = createCerberusPrimitive(button)\n * const Button = withNoRecipe(RawButton)\n * ```\n */\n withNoRecipe = <P extends HTMLAttributes<unknown>>(\n Component: ComponentType<P>,\n options?: WithRecipeOptions,\n ): CerberusPrimitiveEl<P> => {\n const { defaultProps } = options || {}\n\n this.validateComponent(Component)\n\n const CerbComponent = (props: PropsWithChildren<P> & WithCss) => {\n const { css: customCss, className, ...nativeProps } = props\n const styles = this.hasStyles(cx(className, css(customCss)))\n return <Component {...defaultProps} {...styles} {...(nativeProps as P)} />\n }\n\n CerbComponent.displayName = Component.displayName || Component.name\n return CerbComponent\n }\n\n /**\n * Creates a Cerberus component with the given recipe.\n * @param Component - The React component to enhance with the recipe.\n * @param options - Options for the recipe.\n * @returns A new React component that applies the recipe to the original\n * component.\n */\n withRecipe = <P extends HTMLAttributes<unknown>>(\n Component: ComponentType<P>,\n options?: WithRecipeOptions,\n ): CerberusPrimitiveEl<P & WithRecipeOptions['defaultProps']> => {\n const { defaultProps } = options || {}\n const recipe = this.recipe as CerberusRecipe\n\n this.validateComponent(Component)\n\n const CerbComponent = (internalProps: PropsWithChildren<P> & WithCss) => {\n const {\n css: customCss,\n className,\n ...restOfInternalProps\n } = internalProps\n\n const [variantOptions, nativeProps] =\n recipe.splitVariantProps(restOfInternalProps)\n const recipeStyles = recipe(variantOptions)\n\n return (\n <Component\n {...defaultProps}\n {...(nativeProps as P)}\n className={cx(className, recipeStyles, css(customCss))}\n />\n )\n }\n\n CerbComponent.displayName = Component.displayName || Component.name\n return CerbComponent\n }\n\n /**\n * Creates a Cerberus component with a slot recipe applied.\n * @param Component - The React component to enhance with Cerberus features.\n * @param recipe - The slot recipe to apply to the component.\n * @returns A new React component that applies Cerberus features and the\n * specified slot recipe to the original component.\n * @example\n * ```typescript\n * const { withSlotRecipe } = createCerberusPrimitive(field)\n * const Field = withSlotRecipe(RawField, field)\n * ```\n */\n withSlotRecipe = <P extends HTMLAttributes<unknown>>(\n Component: ComponentType<P>,\n slot: keyof RecipeVariantRecord,\n options?: WithRecipeOptions,\n ) => {\n const { defaultProps } = options || {}\n const recipe = this.recipe as CerberusSlotRecipe<typeof slot>\n\n this.validateComponent(Component)\n\n const CerbComponent = (internalProps: PropsWithChildren<P> & WithCss) => {\n const {\n css: customCss,\n className,\n ...restOfInternalProps\n } = internalProps\n\n const [variantOptions, nativeProps] =\n recipe.splitVariantProps(restOfInternalProps)\n const styles = recipe(variantOptions)\n const slotStyles = styles[slot as keyof typeof styles]\n\n return (\n <Component\n {...defaultProps}\n {...(nativeProps as P)}\n className={cx(className, slotStyles, css(customCss))}\n />\n )\n }\n\n CerbComponent.displayName = Component.displayName || Component.name\n return CerbComponent\n }\n}\n","import { CerberusPrimitive } from './primitive-factory'\nimport type { CerberusFactory, CerberusPrimitiveRecipe } from './types'\nimport { cerberusFactoryProxy } from './factory'\n\n/**\n * This module contains the user interface for creating Cerberus primitives.\n * @module @cerberus/core/system/create-cerb-primitive\n */\n\n/**\n * A factory function that creates a Cerberus primitive instance with the given\n * recipe.\n * @param recipe\n * @returns An object with three methods: `withNoRecipe`, `withRecipe`, and `withSlotRecipe` that\n * apply the recipes and special Cerberus helpers like `css`.\n *\n * @example\n * ```tsx\n * const { withRecipe } = createCerberusPrimitive(myCustomRecipe);\n * export const Button = withRecipe(MyCustomButton)\n * ```\n */\nexport function createCerberusPrimitive<T extends CerberusPrimitiveRecipe>(\n recipe?: T,\n) {\n return new CerberusPrimitive(recipe)\n}\n\n/**\n * A utility function to access Cerberus components by their name.\n * @param component - The name of the Cerberus component to access.\n * @returns The Cerberus component corresponding to the provided name.\n * @throws An error if the component name is not valid.\n *\n * @example\n * ```tsx\n * import { cerberus } from '@cerberus/react'\n * const Button = cerberus('button')\n *\n * <Button css={{ color: 'blue' }} asChild>\n * <Link href=\"/some-page\">Click me</Link>\n * </Button>\n * ```\n */\nexport const cerberus = cerberusFactoryProxy as CerberusFactory\n\nexport * from './types'\n","import type { ElementType } from 'react'\nimport {\n TooltipRoot,\n TooltipTrigger,\n TooltipPositioner,\n TooltipContent,\n TooltipArrow,\n TooltipArrowTip,\n} from './primitives'\n\n/**\n * This module contains the parts of the Tooltip component.\n * @module 'tooltip/parts'\n */\n\ninterface TooltipPartsValue {\n /**\n * The context provider of the tooltip.\n */\n Root: ElementType\n /**\n * The trigger that of the tooltip.\n */\n Trigger: ElementType\n /**\n * The positioner of the tooltip.\n */\n Positioner: ElementType\n /**\n * The content of the tooltip.\n */\n Content: ElementType\n /**\n * The arrow of the tooltip.\n */\n Arrow: ElementType\n /**\n * The arrow tip of the tooltip.\n */\n ArrowTip: ElementType\n}\n\n/**\n * An Object containing the parts of the Tooltip component. For users that\n * prefer Object component syntax.\n *\n * @remarks\n *\n * When using object component syntax, you import the TooltipParts object and\n * the entire family of components vs. only what you use.\n */\nexport const TooltipParts: TooltipPartsValue = {\n Root: TooltipRoot,\n Trigger: TooltipTrigger,\n Positioner: TooltipPositioner,\n Content: TooltipContent,\n Arrow: TooltipArrow,\n ArrowTip: TooltipArrowTip,\n}\n","import type { ReactNode } from 'react'\nimport { TooltipParts } from './parts'\nimport type { TooltipRootProps } from './primitives'\n\n/**\n * This module contains the Tooltip component.\n * @module Tooltip\n */\n\nexport interface TooltipProps extends TooltipRootProps {\n /**\n * The text content to display in the tooltip.\n */\n content: ReactNode\n}\n\n/**\n * The Tooltip component is used to provide additional information about an element when it is hovered over.\n * @definition [Tooltip docs](https://cerberus.digitalu.design/react/tooltip)\n * @example\n * ```tsx\n * <Tooltip content=\"This is a tooltip\">\n * <Information />\n * </Tooltip>\n */\nexport function Tooltip(props: TooltipProps) {\n const { content, children, ...rootProps } = props\n const position = {\n placement: props.positioning || 'top',\n }\n\n return (\n <TooltipParts.Root openDelay={400} positioning={position} {...rootProps}>\n <TooltipParts.Trigger asChild>{children}</TooltipParts.Trigger>\n\n <TooltipParts.Positioner>\n <TooltipParts.Content>\n <TooltipParts.Arrow>\n <TooltipParts.ArrowTip />\n </TooltipParts.Arrow>\n {content}\n </TooltipParts.Content>\n </TooltipParts.Positioner>\n </TooltipParts.Root>\n )\n}\n"],"mappings":"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","names":["Tooltip","import_jsx_runtime","Tooltip"]}
|
|
@@ -70,8 +70,12 @@ var CerberusPrimitive = class {
|
|
|
70
70
|
const recipe = this.recipe;
|
|
71
71
|
this.validateComponent(Component);
|
|
72
72
|
const CerbComponent = (internalProps) => {
|
|
73
|
-
const {
|
|
74
|
-
|
|
73
|
+
const {
|
|
74
|
+
css: customCss,
|
|
75
|
+
className,
|
|
76
|
+
...restOfInternalProps
|
|
77
|
+
} = internalProps;
|
|
78
|
+
const [variantOptions, nativeProps] = recipe.splitVariantProps(restOfInternalProps);
|
|
75
79
|
const recipeStyles = recipe(variantOptions);
|
|
76
80
|
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
77
81
|
Component,
|
|
@@ -102,8 +106,12 @@ var CerberusPrimitive = class {
|
|
|
102
106
|
const recipe = this.recipe;
|
|
103
107
|
this.validateComponent(Component);
|
|
104
108
|
const CerbComponent = (internalProps) => {
|
|
105
|
-
const {
|
|
106
|
-
|
|
109
|
+
const {
|
|
110
|
+
css: customCss,
|
|
111
|
+
className,
|
|
112
|
+
...restOfInternalProps
|
|
113
|
+
} = internalProps;
|
|
114
|
+
const [variantOptions, nativeProps] = recipe.splitVariantProps(restOfInternalProps);
|
|
107
115
|
const styles = recipe(variantOptions);
|
|
108
116
|
const slotStyles = styles[slot];
|
|
109
117
|
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/tooltip/parts.ts","../../../../src/components/tooltip/primitives.ts","../../../../src/system/primitive-factory.tsx","../../../../src/system/index.ts"],"sourcesContent":["import type { ElementType } from 'react'\nimport {\n TooltipRoot,\n TooltipTrigger,\n TooltipPositioner,\n TooltipContent,\n TooltipArrow,\n TooltipArrowTip,\n} from './primitives'\n\n/**\n * This module contains the parts of the Tooltip component.\n * @module 'tooltip/parts'\n */\n\ninterface TooltipPartsValue {\n /**\n * The context provider of the tooltip.\n */\n Root: ElementType\n /**\n * The trigger that of the tooltip.\n */\n Trigger: ElementType\n /**\n * The positioner of the tooltip.\n */\n Positioner: ElementType\n /**\n * The content of the tooltip.\n */\n Content: ElementType\n /**\n * The arrow of the tooltip.\n */\n Arrow: ElementType\n /**\n * The arrow tip of the tooltip.\n */\n ArrowTip: ElementType\n}\n\n/**\n * An Object containing the parts of the Tooltip component. For users that\n * prefer Object component syntax.\n *\n * @remarks\n *\n * When using object component syntax, you import the TooltipParts object and\n * the entire family of components vs. only what you use.\n */\nexport const TooltipParts: TooltipPartsValue = {\n Root: TooltipRoot,\n Trigger: TooltipTrigger,\n Positioner: TooltipPositioner,\n Content: TooltipContent,\n Arrow: TooltipArrow,\n ArrowTip: TooltipArrowTip,\n}\n","import {\n Tooltip,\n type TooltipRootProps as ArkTooltipRootProps,\n type TooltipTriggerProps as ArkTooltipTriggerProps,\n type TooltipPositionerProps as ArkTooltipPositionerProps,\n type TooltipContentProps as ArkTooltipContentProps,\n type TooltipArrowProps as ArkTooltipArrowProps,\n type TooltipArrowTipProps as ArkTooltipArrowTipProps,\n} from '@ark-ui/react/tooltip'\nimport { tooltip } from 'styled-system/recipes'\nimport {\n createCerberusPrimitive,\n type CerberusPrimitiveProps,\n} from '../../system/index'\n\n/**\n * This module contains the Tooltip primitive components.\n * @module TooltipPrimitives\n */\n\nconst { withSlotRecipe } = createCerberusPrimitive(tooltip)\n\n// Root\n\nexport type TooltipRootProps = CerberusPrimitiveProps<ArkTooltipRootProps>\nexport const TooltipRoot = withSlotRecipe<TooltipRootProps>(\n Tooltip.Root,\n 'root',\n)\n\n// Trigger\n\nexport type TooltipTriggerProps = CerberusPrimitiveProps<ArkTooltipTriggerProps>\nexport const TooltipTrigger = withSlotRecipe<TooltipTriggerProps>(\n Tooltip.Trigger,\n 'trigger',\n)\n\n// Positioner\n\nexport type TooltipPositionerProps =\n CerberusPrimitiveProps<ArkTooltipPositionerProps>\nexport const TooltipPositioner = withSlotRecipe<TooltipPositionerProps>(\n Tooltip.Positioner,\n 'positioner',\n)\n\n// Content\n\nexport type TooltipContentProps = CerberusPrimitiveProps<ArkTooltipContentProps>\nexport const TooltipContent = withSlotRecipe<TooltipContentProps>(\n Tooltip.Content,\n 'content',\n)\n\n// Arrow\n\nexport type TooltipArrowProps = CerberusPrimitiveProps<ArkTooltipArrowProps>\nexport const TooltipArrow = withSlotRecipe<TooltipArrowProps>(\n Tooltip.Arrow,\n 'arrow',\n)\n\n// ArrowTip\n\nexport type TooltipArrowTipProps =\n CerberusPrimitiveProps<ArkTooltipArrowTipProps>\nexport const TooltipArrowTip = withSlotRecipe<TooltipArrowTipProps>(\n Tooltip.ArrowTip,\n 'arrowTip',\n)\n","import { css, cx } from 'styled-system/css'\nimport type { RecipeVariantRecord } from 'styled-system/types'\nimport {\n type ComponentType,\n type HTMLAttributes,\n type PropsWithChildren,\n} from 'react'\nimport type { WithCss } from '../types'\nimport type {\n CerberusPrimitiveEl,\n CerberusPrimitiveRecipe,\n CerberusRecipe,\n CerberusSlotRecipe,\n WithRecipeOptions,\n} from './types'\n\n/**\n * This module contains a factory for creating Cerberus primitives.\n * @module @cerberus/core/system/factory\n */\n\nexport class CerberusPrimitive {\n recipe: CerberusPrimitiveRecipe | null\n\n constructor(recipe?: CerberusPrimitiveRecipe) {\n this.recipe = recipe ?? null\n }\n\n private hasStyles(styles: string | undefined): Record<string, unknown> {\n if (styles) {\n return {\n className: styles,\n }\n }\n return {}\n }\n\n private validateComponent<P extends HTMLAttributes<unknown>>(\n Component: ComponentType<P>,\n ) {\n if (typeof Component !== 'function' && typeof Component !== 'object') {\n throw new Error('Expected a React component as the first argument.')\n }\n }\n\n /**\n * Creates a Cerberus component with bare features and no recipe.\n * @param Component - The React component to enhance with Cerberus features.\n * @returns A new React component that applies Cerberus features to the\n * original component.\n * @example\n * ```typescript\n * const { withNoRecipe } = createCerberusPrimitive(button)\n * const Button = withNoRecipe(RawButton)\n * ```\n */\n withNoRecipe = <P extends HTMLAttributes<unknown>>(\n Component: ComponentType<P>,\n options?: WithRecipeOptions,\n ): CerberusPrimitiveEl<P> => {\n const { defaultProps } = options || {}\n\n this.validateComponent(Component)\n\n const CerbComponent = (props: PropsWithChildren<P> & WithCss) => {\n const { css: customCss, className, ...nativeProps } = props\n const styles = this.hasStyles(cx(className, css(customCss)))\n return <Component {...defaultProps} {...styles} {...(nativeProps as P)} />\n }\n\n CerbComponent.displayName = Component.displayName || Component.name\n return CerbComponent\n }\n\n /**\n * Creates a Cerberus component with the given recipe.\n * @param Component - The React component to enhance with the recipe.\n * @param options - Options for the recipe.\n * @returns A new React component that applies the recipe to the original\n * component.\n */\n withRecipe = <P extends HTMLAttributes<unknown>>(\n Component: ComponentType<P>,\n options?: WithRecipeOptions,\n ): CerberusPrimitiveEl<P & WithRecipeOptions['defaultProps']> => {\n const { defaultProps } = options || {}\n const recipe = this.recipe as CerberusRecipe\n\n this.validateComponent(Component)\n\n const CerbComponent = (internalProps: PropsWithChildren<P> & WithCss) => {\n const { css: customCss, className, ...nativeProps } = internalProps\n\n const [variantOptions] = recipe.splitVariantProps(nativeProps)\n const recipeStyles = recipe(variantOptions)\n\n return (\n <Component\n {...defaultProps}\n {...(nativeProps as P)}\n className={cx(className, recipeStyles, css(customCss))}\n />\n )\n }\n\n CerbComponent.displayName = Component.displayName || Component.name\n return CerbComponent\n }\n\n /**\n * Creates a Cerberus component with a slot recipe applied.\n * @param Component - The React component to enhance with Cerberus features.\n * @param recipe - The slot recipe to apply to the component.\n * @returns A new React component that applies Cerberus features and the\n * specified slot recipe to the original component.\n * @example\n * ```typescript\n * const { withSlotRecipe } = createCerberusPrimitive(field)\n * const Field = withSlotRecipe(RawField, field)\n * ```\n */\n withSlotRecipe = <P extends HTMLAttributes<unknown>>(\n Component: ComponentType<P>,\n slot: keyof RecipeVariantRecord,\n options?: WithRecipeOptions,\n ) => {\n const { defaultProps } = options || {}\n const recipe = this.recipe as CerberusSlotRecipe<typeof slot>\n\n this.validateComponent(Component)\n\n const CerbComponent = (internalProps: PropsWithChildren<P> & WithCss) => {\n const { css: customCss, className, ...nativeProps } = internalProps\n\n const [variantOptions] = recipe.splitVariantProps(nativeProps)\n const styles = recipe(variantOptions)\n const slotStyles = styles[slot as keyof typeof styles]\n\n return (\n <Component\n {...defaultProps}\n {...(nativeProps as P)}\n className={cx(className, slotStyles, css(customCss))}\n />\n )\n }\n\n CerbComponent.displayName = Component.displayName || Component.name\n return CerbComponent\n }\n}\n","import { CerberusPrimitive } from './primitive-factory'\nimport type { CerberusFactory, CerberusPrimitiveRecipe } from './types'\nimport { cerberusFactoryProxy } from './factory'\n\n/**\n * This module contains the user interface for creating Cerberus primitives.\n * @module @cerberus/core/system/create-cerb-primitive\n */\n\n/**\n * A factory function that creates a Cerberus primitive instance with the given\n * recipe.\n * @param recipe\n * @returns An object with three methods: `withNoRecipe`, `withRecipe`, and `withSlotRecipe` that\n * apply the recipes and special Cerberus helpers like `css`.\n *\n * @example\n * ```tsx\n * const { withRecipe } = createCerberusPrimitive(myCustomRecipe);\n * export const Button = withRecipe(MyCustomButton)\n * ```\n */\nexport function createCerberusPrimitive<T extends CerberusPrimitiveRecipe>(\n recipe?: T,\n) {\n return new CerberusPrimitive(recipe)\n}\n\n/**\n * A utility function to access Cerberus components by their name.\n * @param component - The name of the Cerberus component to access.\n * @returns The Cerberus component corresponding to the provided name.\n * @throws An error if the component name is not valid.\n *\n * @example\n * ```tsx\n * import { cerberus } from '@cerberus/react'\n * const Button = cerberus('button')\n *\n * <Button css={{ color: 'blue' }} asChild>\n * <Link href=\"/some-page\">Click me</Link>\n * </Button>\n * ```\n */\nexport const cerberus = cerberusFactoryProxy as CerberusFactory\n\nexport * from './types'\n"],"mappings":"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","names":[]}
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/tooltip/parts.ts","../../../../src/components/tooltip/primitives.ts","../../../../src/system/primitive-factory.tsx","../../../../src/system/index.ts"],"sourcesContent":["import type { ElementType } from 'react'\nimport {\n TooltipRoot,\n TooltipTrigger,\n TooltipPositioner,\n TooltipContent,\n TooltipArrow,\n TooltipArrowTip,\n} from './primitives'\n\n/**\n * This module contains the parts of the Tooltip component.\n * @module 'tooltip/parts'\n */\n\ninterface TooltipPartsValue {\n /**\n * The context provider of the tooltip.\n */\n Root: ElementType\n /**\n * The trigger that of the tooltip.\n */\n Trigger: ElementType\n /**\n * The positioner of the tooltip.\n */\n Positioner: ElementType\n /**\n * The content of the tooltip.\n */\n Content: ElementType\n /**\n * The arrow of the tooltip.\n */\n Arrow: ElementType\n /**\n * The arrow tip of the tooltip.\n */\n ArrowTip: ElementType\n}\n\n/**\n * An Object containing the parts of the Tooltip component. For users that\n * prefer Object component syntax.\n *\n * @remarks\n *\n * When using object component syntax, you import the TooltipParts object and\n * the entire family of components vs. only what you use.\n */\nexport const TooltipParts: TooltipPartsValue = {\n Root: TooltipRoot,\n Trigger: TooltipTrigger,\n Positioner: TooltipPositioner,\n Content: TooltipContent,\n Arrow: TooltipArrow,\n ArrowTip: TooltipArrowTip,\n}\n","import {\n Tooltip,\n type TooltipRootProps as ArkTooltipRootProps,\n type TooltipTriggerProps as ArkTooltipTriggerProps,\n type TooltipPositionerProps as ArkTooltipPositionerProps,\n type TooltipContentProps as ArkTooltipContentProps,\n type TooltipArrowProps as ArkTooltipArrowProps,\n type TooltipArrowTipProps as ArkTooltipArrowTipProps,\n} from '@ark-ui/react/tooltip'\nimport { tooltip } from 'styled-system/recipes'\nimport {\n createCerberusPrimitive,\n type CerberusPrimitiveProps,\n} from '../../system/index'\n\n/**\n * This module contains the Tooltip primitive components.\n * @module TooltipPrimitives\n */\n\nconst { withSlotRecipe } = createCerberusPrimitive(tooltip)\n\n// Root\n\nexport type TooltipRootProps = CerberusPrimitiveProps<ArkTooltipRootProps>\nexport const TooltipRoot = withSlotRecipe<TooltipRootProps>(\n Tooltip.Root,\n 'root',\n)\n\n// Trigger\n\nexport type TooltipTriggerProps = CerberusPrimitiveProps<ArkTooltipTriggerProps>\nexport const TooltipTrigger = withSlotRecipe<TooltipTriggerProps>(\n Tooltip.Trigger,\n 'trigger',\n)\n\n// Positioner\n\nexport type TooltipPositionerProps =\n CerberusPrimitiveProps<ArkTooltipPositionerProps>\nexport const TooltipPositioner = withSlotRecipe<TooltipPositionerProps>(\n Tooltip.Positioner,\n 'positioner',\n)\n\n// Content\n\nexport type TooltipContentProps = CerberusPrimitiveProps<ArkTooltipContentProps>\nexport const TooltipContent = withSlotRecipe<TooltipContentProps>(\n Tooltip.Content,\n 'content',\n)\n\n// Arrow\n\nexport type TooltipArrowProps = CerberusPrimitiveProps<ArkTooltipArrowProps>\nexport const TooltipArrow = withSlotRecipe<TooltipArrowProps>(\n Tooltip.Arrow,\n 'arrow',\n)\n\n// ArrowTip\n\nexport type TooltipArrowTipProps =\n CerberusPrimitiveProps<ArkTooltipArrowTipProps>\nexport const TooltipArrowTip = withSlotRecipe<TooltipArrowTipProps>(\n Tooltip.ArrowTip,\n 'arrowTip',\n)\n","import { css, cx } from 'styled-system/css'\nimport type { RecipeVariantRecord } from 'styled-system/types'\nimport {\n type ComponentType,\n type HTMLAttributes,\n type PropsWithChildren,\n} from 'react'\nimport type { WithCss } from '../types'\nimport type {\n CerberusPrimitiveEl,\n CerberusPrimitiveRecipe,\n CerberusRecipe,\n CerberusSlotRecipe,\n WithRecipeOptions,\n} from './types'\n\n/**\n * This module contains a factory for creating Cerberus primitives.\n * @module @cerberus/core/system/factory\n */\n\nexport class CerberusPrimitive {\n recipe: CerberusPrimitiveRecipe | null\n\n constructor(recipe?: CerberusPrimitiveRecipe) {\n this.recipe = recipe ?? null\n }\n\n private hasStyles(styles: string | undefined): Record<string, unknown> {\n if (styles) {\n return {\n className: styles,\n }\n }\n return {}\n }\n\n private validateComponent<P extends HTMLAttributes<unknown>>(\n Component: ComponentType<P>,\n ) {\n if (typeof Component !== 'function' && typeof Component !== 'object') {\n throw new Error('Expected a React component as the first argument.')\n }\n }\n\n /**\n * Creates a Cerberus component with bare features and no recipe.\n * @param Component - The React component to enhance with Cerberus features.\n * @returns A new React component that applies Cerberus features to the\n * original component.\n * @example\n * ```typescript\n * const { withNoRecipe } = createCerberusPrimitive(button)\n * const Button = withNoRecipe(RawButton)\n * ```\n */\n withNoRecipe = <P extends HTMLAttributes<unknown>>(\n Component: ComponentType<P>,\n options?: WithRecipeOptions,\n ): CerberusPrimitiveEl<P> => {\n const { defaultProps } = options || {}\n\n this.validateComponent(Component)\n\n const CerbComponent = (props: PropsWithChildren<P> & WithCss) => {\n const { css: customCss, className, ...nativeProps } = props\n const styles = this.hasStyles(cx(className, css(customCss)))\n return <Component {...defaultProps} {...styles} {...(nativeProps as P)} />\n }\n\n CerbComponent.displayName = Component.displayName || Component.name\n return CerbComponent\n }\n\n /**\n * Creates a Cerberus component with the given recipe.\n * @param Component - The React component to enhance with the recipe.\n * @param options - Options for the recipe.\n * @returns A new React component that applies the recipe to the original\n * component.\n */\n withRecipe = <P extends HTMLAttributes<unknown>>(\n Component: ComponentType<P>,\n options?: WithRecipeOptions,\n ): CerberusPrimitiveEl<P & WithRecipeOptions['defaultProps']> => {\n const { defaultProps } = options || {}\n const recipe = this.recipe as CerberusRecipe\n\n this.validateComponent(Component)\n\n const CerbComponent = (internalProps: PropsWithChildren<P> & WithCss) => {\n const {\n css: customCss,\n className,\n ...restOfInternalProps\n } = internalProps\n\n const [variantOptions, nativeProps] =\n recipe.splitVariantProps(restOfInternalProps)\n const recipeStyles = recipe(variantOptions)\n\n return (\n <Component\n {...defaultProps}\n {...(nativeProps as P)}\n className={cx(className, recipeStyles, css(customCss))}\n />\n )\n }\n\n CerbComponent.displayName = Component.displayName || Component.name\n return CerbComponent\n }\n\n /**\n * Creates a Cerberus component with a slot recipe applied.\n * @param Component - The React component to enhance with Cerberus features.\n * @param recipe - The slot recipe to apply to the component.\n * @returns A new React component that applies Cerberus features and the\n * specified slot recipe to the original component.\n * @example\n * ```typescript\n * const { withSlotRecipe } = createCerberusPrimitive(field)\n * const Field = withSlotRecipe(RawField, field)\n * ```\n */\n withSlotRecipe = <P extends HTMLAttributes<unknown>>(\n Component: ComponentType<P>,\n slot: keyof RecipeVariantRecord,\n options?: WithRecipeOptions,\n ) => {\n const { defaultProps } = options || {}\n const recipe = this.recipe as CerberusSlotRecipe<typeof slot>\n\n this.validateComponent(Component)\n\n const CerbComponent = (internalProps: PropsWithChildren<P> & WithCss) => {\n const {\n css: customCss,\n className,\n ...restOfInternalProps\n } = internalProps\n\n const [variantOptions, nativeProps] =\n recipe.splitVariantProps(restOfInternalProps)\n const styles = recipe(variantOptions)\n const slotStyles = styles[slot as keyof typeof styles]\n\n return (\n <Component\n {...defaultProps}\n {...(nativeProps as P)}\n className={cx(className, slotStyles, css(customCss))}\n />\n )\n }\n\n CerbComponent.displayName = Component.displayName || Component.name\n return CerbComponent\n }\n}\n","import { CerberusPrimitive } from './primitive-factory'\nimport type { CerberusFactory, CerberusPrimitiveRecipe } from './types'\nimport { cerberusFactoryProxy } from './factory'\n\n/**\n * This module contains the user interface for creating Cerberus primitives.\n * @module @cerberus/core/system/create-cerb-primitive\n */\n\n/**\n * A factory function that creates a Cerberus primitive instance with the given\n * recipe.\n * @param recipe\n * @returns An object with three methods: `withNoRecipe`, `withRecipe`, and `withSlotRecipe` that\n * apply the recipes and special Cerberus helpers like `css`.\n *\n * @example\n * ```tsx\n * const { withRecipe } = createCerberusPrimitive(myCustomRecipe);\n * export const Button = withRecipe(MyCustomButton)\n * ```\n */\nexport function createCerberusPrimitive<T extends CerberusPrimitiveRecipe>(\n recipe?: T,\n) {\n return new CerberusPrimitive(recipe)\n}\n\n/**\n * A utility function to access Cerberus components by their name.\n * @param component - The name of the Cerberus component to access.\n * @returns The Cerberus component corresponding to the provided name.\n * @throws An error if the component name is not valid.\n *\n * @example\n * ```tsx\n * import { cerberus } from '@cerberus/react'\n * const Button = cerberus('button')\n *\n * <Button css={{ color: 'blue' }} asChild>\n * <Link href=\"/some-page\">Click me</Link>\n * </Button>\n * ```\n */\nexport const cerberus = cerberusFactoryProxy as CerberusFactory\n\nexport * from './types'\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAA,qBAQO;AACP,qBAAwB;;;ACTxB,iBAAwB;AAmEX;AA9CN,IAAM,oBAAN,MAAwB;AAAA,EAG7B,YAAY,QAAkC;AAF9C;AAkCA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,wCAAe,CACb,WACA,YAC2B;AAC3B,YAAM,EAAE,aAAa,IAAI,WAAW,CAAC;AAErC,WAAK,kBAAkB,SAAS;AAEhC,YAAM,gBAAgB,CAAC,UAA0C;AAC/D,cAAM,EAAE,KAAK,WAAW,WAAW,GAAG,YAAY,IAAI;AACtD,cAAM,SAAS,KAAK,cAAU,eAAG,eAAW,gBAAI,SAAS,CAAC,CAAC;AAC3D,eAAO,4CAAC,aAAW,GAAG,cAAe,GAAG,QAAS,GAAI,aAAmB;AAAA,MAC1E;AAEA,oBAAc,cAAc,UAAU,eAAe,UAAU;AAC/D,aAAO;AAAA,IACT;AASA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,sCAAa,CACX,WACA,YAC+D;AAC/D,YAAM,EAAE,aAAa,IAAI,WAAW,CAAC;AACrC,YAAM,SAAS,KAAK;AAEpB,WAAK,kBAAkB,SAAS;AAEhC,YAAM,gBAAgB,CAAC,kBAAkD;AACvE,cAAM;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,oBAAc,cAAc,UAAU,eAAe,UAAU;AAC/D,aAAO;AAAA,IACT;AAcA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,0CAAiB,CACf,WACA,MACA,YACG;AACH,YAAM,EAAE,aAAa,IAAI,WAAW,CAAC;AACrC,YAAM,SAAS,KAAK;AAEpB,WAAK,kBAAkB,SAAS;AAEhC,YAAM,gBAAgB,CAAC,kBAAkD;AACvE,cAAM;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,oBAAc,cAAc,UAAU,eAAe,UAAU;AAC/D,aAAO;AAAA,IACT;AAtIE,SAAK,SAAS,UAAU;AAAA,EAC1B;AAAA,EAEQ,UAAU,QAAqD;AACrE,QAAI,QAAQ;AACV,aAAO;AAAA,QACL,WAAW;AAAA,MACb;AAAA,IACF;AACA,WAAO,CAAC;AAAA,EACV;AAAA,EAEQ,kBACN,WACA;AACA,QAAI,OAAO,cAAc,cAAc,OAAO,cAAc,UAAU;AACpE,YAAM,IAAI,MAAM,mDAAmD;AAAA,IACrE;AAAA,EACF;AAqHF;;;AC1IO,SAAS,wBACd,QACA;AACA,SAAO,IAAI,kBAAkB,MAAM;AACrC;;;AFNA,IAAM,EAAE,eAAe,IAAI,wBAAwB,sBAAO;AAKnD,IAAM,cAAc;AAAA,EACzB,uBAAQ;AAAA,EACR;AACF;AAKO,IAAM,iBAAiB;AAAA,EAC5B,uBAAQ;AAAA,EACR;AACF;AAMO,IAAM,oBAAoB;AAAA,EAC/B,uBAAQ;AAAA,EACR;AACF;AAKO,IAAM,iBAAiB;AAAA,EAC5B,uBAAQ;AAAA,EACR;AACF;AAKO,IAAM,eAAe;AAAA,EAC1B,uBAAQ;AAAA,EACR;AACF;AAMO,IAAM,kBAAkB;AAAA,EAC7B,uBAAQ;AAAA,EACR;AACF;;;ADnBO,IAAM,eAAkC;AAAA,EAC7C,MAAM;AAAA,EACN,SAAS;AAAA,EACT,YAAY;AAAA,EACZ,SAAS;AAAA,EACT,OAAO;AAAA,EACP,UAAU;AACZ;","names":[]}
|
|
@@ -73,8 +73,12 @@ var CerberusPrimitive = class {
|
|
|
73
73
|
const recipe = this.recipe;
|
|
74
74
|
this.validateComponent(Component);
|
|
75
75
|
const CerbComponent = (internalProps) => {
|
|
76
|
-
const {
|
|
77
|
-
|
|
76
|
+
const {
|
|
77
|
+
css: customCss,
|
|
78
|
+
className,
|
|
79
|
+
...restOfInternalProps
|
|
80
|
+
} = internalProps;
|
|
81
|
+
const [variantOptions, nativeProps] = recipe.splitVariantProps(restOfInternalProps);
|
|
78
82
|
const recipeStyles = recipe(variantOptions);
|
|
79
83
|
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
80
84
|
Component,
|
|
@@ -105,8 +109,12 @@ var CerberusPrimitive = class {
|
|
|
105
109
|
const recipe = this.recipe;
|
|
106
110
|
this.validateComponent(Component);
|
|
107
111
|
const CerbComponent = (internalProps) => {
|
|
108
|
-
const {
|
|
109
|
-
|
|
112
|
+
const {
|
|
113
|
+
css: customCss,
|
|
114
|
+
className,
|
|
115
|
+
...restOfInternalProps
|
|
116
|
+
} = internalProps;
|
|
117
|
+
const [variantOptions, nativeProps] = recipe.splitVariantProps(restOfInternalProps);
|
|
110
118
|
const styles = recipe(variantOptions);
|
|
111
119
|
const slotStyles = styles[slot];
|
|
112
120
|
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|