@zentauri-ui/zentauri-components 1.9.0 → 1.9.1
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/README.md +7 -9
- package/cli/registry.json +0 -1
- package/dist/animations/blur-in.js +2 -2
- package/dist/animations/blur-in.mjs +1 -1
- package/dist/animations/blur-out.js +2 -2
- package/dist/animations/blur-out.mjs +1 -1
- package/dist/animations/bounce.js +2 -2
- package/dist/animations/bounce.mjs +1 -1
- package/dist/animations/fade-down.js +2 -2
- package/dist/animations/fade-down.mjs +1 -1
- package/dist/animations/fade-in.js +2 -2
- package/dist/animations/fade-in.mjs +1 -1
- package/dist/animations/fade-left.js +2 -2
- package/dist/animations/fade-left.mjs +1 -1
- package/dist/animations/fade-out.js +2 -2
- package/dist/animations/fade-out.mjs +1 -1
- package/dist/animations/fade-right.js +2 -2
- package/dist/animations/fade-right.mjs +1 -1
- package/dist/animations/fade-up.js +2 -2
- package/dist/animations/fade-up.mjs +1 -1
- package/dist/animations/flip-in.js +2 -2
- package/dist/animations/flip-in.mjs +1 -1
- package/dist/animations/flip.js +2 -2
- package/dist/animations/flip.mjs +1 -1
- package/dist/animations/float.js +2 -2
- package/dist/animations/float.mjs +1 -1
- package/dist/animations/hover-lift.js +2 -2
- package/dist/animations/hover-lift.mjs +1 -1
- package/dist/animations/hover-scale.js +2 -2
- package/dist/animations/hover-scale.mjs +1 -1
- package/dist/animations/magnetic.js +2 -2
- package/dist/animations/magnetic.mjs +1 -1
- package/dist/animations/parallax.js +2 -2
- package/dist/animations/parallax.mjs +1 -1
- package/dist/animations/ping.js +2 -2
- package/dist/animations/ping.mjs +1 -1
- package/dist/animations/pop-in.js +2 -2
- package/dist/animations/pop-in.mjs +1 -1
- package/dist/animations/press.js +2 -2
- package/dist/animations/press.mjs +1 -1
- package/dist/animations/progress.js +2 -2
- package/dist/animations/progress.mjs +1 -1
- package/dist/animations/pulse.js +2 -2
- package/dist/animations/pulse.mjs +1 -1
- package/dist/animations/reorder.js +2 -2
- package/dist/animations/reorder.mjs +1 -1
- package/dist/animations/reveal-blur.js +2 -2
- package/dist/animations/reveal-blur.mjs +1 -1
- package/dist/animations/reveal-down.js +2 -2
- package/dist/animations/reveal-down.mjs +1 -1
- package/dist/animations/reveal-left.js +2 -2
- package/dist/animations/reveal-left.mjs +1 -1
- package/dist/animations/reveal-right.js +2 -2
- package/dist/animations/reveal-right.mjs +1 -1
- package/dist/animations/reveal-up.js +2 -2
- package/dist/animations/reveal-up.mjs +1 -1
- package/dist/animations/rotate-in.js +2 -2
- package/dist/animations/rotate-in.mjs +1 -1
- package/dist/animations/scale-in.js +2 -2
- package/dist/animations/scale-in.mjs +1 -1
- package/dist/animations/scale-out.js +2 -2
- package/dist/animations/scale-out.mjs +1 -1
- package/dist/animations/shake.js +2 -2
- package/dist/animations/shake.mjs +1 -1
- package/dist/animations/shared/create-motion-animation.d.ts.map +1 -1
- package/dist/animations/skeleton-shimmer.js +2 -2
- package/dist/animations/skeleton-shimmer.mjs +1 -1
- package/dist/animations/slide-down.js +2 -2
- package/dist/animations/slide-down.mjs +1 -1
- package/dist/animations/slide-left.js +2 -2
- package/dist/animations/slide-left.mjs +1 -1
- package/dist/animations/slide-right.js +2 -2
- package/dist/animations/slide-right.mjs +1 -1
- package/dist/animations/slide-up.js +2 -2
- package/dist/animations/slide-up.mjs +1 -1
- package/dist/animations/spin.js +2 -2
- package/dist/animations/spin.mjs +1 -1
- package/dist/animations/text-reveal.js +2 -2
- package/dist/animations/text-reveal.mjs +1 -1
- package/dist/animations/text-shimmer.js +2 -2
- package/dist/animations/text-shimmer.mjs +1 -1
- package/dist/animations/tilt.js +2 -2
- package/dist/animations/tilt.mjs +1 -1
- package/dist/animations/wiggle.js +2 -2
- package/dist/animations/wiggle.mjs +1 -1
- package/dist/{chunk-U3VV22G4.js → chunk-2RBUROXJ.js} +24 -3
- package/dist/chunk-2RBUROXJ.js.map +1 -0
- package/dist/{chunk-3W224B3M.js → chunk-3IBWZM52.js} +23 -3
- package/dist/chunk-3IBWZM52.js.map +1 -0
- package/dist/{chunk-466QDL44.js → chunk-3RHJJZIT.js} +24 -3
- package/dist/chunk-3RHJJZIT.js.map +1 -0
- package/dist/{chunk-LNYCEPW5.js → chunk-4GVMPQZS.js} +23 -2
- package/dist/chunk-4GVMPQZS.js.map +1 -0
- package/dist/chunk-4WRCXG5E.mjs +942 -0
- package/dist/chunk-4WRCXG5E.mjs.map +1 -0
- package/dist/{chunk-TKVZU56F.mjs → chunk-6GPUHFXI.mjs} +24 -3
- package/dist/chunk-6GPUHFXI.mjs.map +1 -0
- package/dist/{chunk-HLG2YJFZ.mjs → chunk-6ONKAOI7.mjs} +24 -3
- package/dist/chunk-6ONKAOI7.mjs.map +1 -0
- package/dist/chunk-6VZGM4DI.mjs +170 -0
- package/dist/chunk-6VZGM4DI.mjs.map +1 -0
- package/dist/{chunk-2ZKW2E7B.mjs → chunk-7PIOCFV3.mjs} +34 -4
- package/dist/chunk-7PIOCFV3.mjs.map +1 -0
- package/dist/{chunk-IM6KN77X.mjs → chunk-7XHWUEQR.mjs} +46 -4
- package/dist/chunk-7XHWUEQR.mjs.map +1 -0
- package/dist/{chunk-QHEHBC6M.js → chunk-AFBKMQMK.js} +46 -4
- package/dist/chunk-AFBKMQMK.js.map +1 -0
- package/dist/{chunk-NNZXBL7R.mjs → chunk-AS34PVUG.mjs} +24 -3
- package/dist/chunk-AS34PVUG.mjs.map +1 -0
- package/dist/{chunk-TTTYW3TR.js → chunk-B3LCKPBX.js} +23 -2
- package/dist/chunk-B3LCKPBX.js.map +1 -0
- package/dist/chunk-CARQELOX.mjs +101 -0
- package/dist/chunk-CARQELOX.mjs.map +1 -0
- package/dist/{chunk-CIEZFHCO.mjs → chunk-CCVQ5KX6.mjs} +24 -3
- package/dist/chunk-CCVQ5KX6.mjs.map +1 -0
- package/dist/{chunk-UR7TNW45.mjs → chunk-DBW25HOR.mjs} +68 -5
- package/dist/chunk-DBW25HOR.mjs.map +1 -0
- package/dist/chunk-DMDCXYNN.js +105 -0
- package/dist/chunk-DMDCXYNN.js.map +1 -0
- package/dist/{chunk-H7WDA6U6.mjs → chunk-EKLWWV3G.mjs} +23 -2
- package/dist/chunk-EKLWWV3G.mjs.map +1 -0
- package/dist/{chunk-OZHETX4J.mjs → chunk-ENV73575.mjs} +24 -3
- package/dist/chunk-ENV73575.mjs.map +1 -0
- package/dist/{chunk-7OVJXYSS.mjs → chunk-F4BM6LX2.mjs} +2 -2
- package/dist/{chunk-7OVJXYSS.mjs.map → chunk-F4BM6LX2.mjs.map} +1 -1
- package/dist/{chunk-ZX2IBIZT.js → chunk-FWY22BZZ.js} +46 -4
- package/dist/chunk-FWY22BZZ.js.map +1 -0
- package/dist/chunk-HI54NLVM.js +179 -0
- package/dist/chunk-HI54NLVM.js.map +1 -0
- package/dist/{chunk-BU2MPXPZ.js → chunk-IW2E4MLG.js} +24 -3
- package/dist/chunk-IW2E4MLG.js.map +1 -0
- package/dist/{chunk-DEZRB6DS.mjs → chunk-IZAQBJKT.mjs} +46 -4
- package/dist/chunk-IZAQBJKT.mjs.map +1 -0
- package/dist/{chunk-VHVQELWF.js → chunk-JGSQZZHF.js} +23 -3
- package/dist/chunk-JGSQZZHF.js.map +1 -0
- package/dist/{chunk-DFCDLVZA.js → chunk-JRB22VVK.js} +23 -2
- package/dist/chunk-JRB22VVK.js.map +1 -0
- package/dist/{chunk-XYEMP4K7.js → chunk-KC77BXBC.js} +24 -3
- package/dist/chunk-KC77BXBC.js.map +1 -0
- package/dist/{chunk-EIRCCTNA.js → chunk-KIAYTBS5.js} +24 -3
- package/dist/chunk-KIAYTBS5.js.map +1 -0
- package/dist/{chunk-UY65KX3M.js → chunk-KLGB3FYE.js} +46 -4
- package/dist/chunk-KLGB3FYE.js.map +1 -0
- package/dist/{chunk-C6NA452Q.mjs → chunk-NUYNJV5U.mjs} +3 -3
- package/dist/{chunk-C6NA452Q.mjs.map → chunk-NUYNJV5U.mjs.map} +1 -1
- package/dist/{chunk-EZCYSFML.mjs → chunk-O233I5N7.mjs} +23 -2
- package/dist/chunk-O233I5N7.mjs.map +1 -0
- package/dist/chunk-OEDD43IT.mjs +141 -0
- package/dist/chunk-OEDD43IT.mjs.map +1 -0
- package/dist/{chunk-3F4FF2H4.mjs → chunk-OY3YJGOX.mjs} +23 -3
- package/dist/chunk-OY3YJGOX.mjs.map +1 -0
- package/dist/{chunk-INXWZ4DS.js → chunk-PZBTZGJE.js} +46 -4
- package/dist/chunk-PZBTZGJE.js.map +1 -0
- package/dist/{chunk-2F7P4EJQ.js → chunk-QCHHXFJQ.js} +25 -4
- package/dist/chunk-QCHHXFJQ.js.map +1 -0
- package/dist/{chunk-CSFLMMAT.mjs → chunk-REDZL4DY.mjs} +23 -2
- package/dist/chunk-REDZL4DY.mjs.map +1 -0
- package/dist/{chunk-BJSWQQSC.mjs → chunk-RFBTMJ2Z.mjs} +24 -3
- package/dist/chunk-RFBTMJ2Z.mjs.map +1 -0
- package/dist/chunk-S4NQTWMW.mjs +121 -0
- package/dist/chunk-S4NQTWMW.mjs.map +1 -0
- package/dist/{chunk-X3O45MPI.js → chunk-SRLYXLUU.js} +44 -2
- package/dist/chunk-SRLYXLUU.js.map +1 -0
- package/dist/{chunk-6HPS3ZOP.js → chunk-U7FZ5RMV.js} +68 -5
- package/dist/chunk-U7FZ5RMV.js.map +1 -0
- package/dist/{chunk-OL3BJSRC.mjs → chunk-UMXCV5IT.mjs} +68 -5
- package/dist/chunk-UMXCV5IT.mjs.map +1 -0
- package/dist/{chunk-IL4LH2XX.js → chunk-UNPKDNLA.js} +68 -5
- package/dist/chunk-UNPKDNLA.js.map +1 -0
- package/dist/{chunk-OKCC7E36.js → chunk-UOZZUWIX.js} +6 -6
- package/dist/{chunk-OKCC7E36.js.map → chunk-UOZZUWIX.js.map} +1 -1
- package/dist/{chunk-ORFI4BCJ.mjs → chunk-URXYF25P.mjs} +44 -2
- package/dist/chunk-URXYF25P.mjs.map +1 -0
- package/dist/{chunk-5565GZ4T.js → chunk-VGVB5XZX.js} +24 -3
- package/dist/chunk-VGVB5XZX.js.map +1 -0
- package/dist/{chunk-PYUZOVLY.js → chunk-VJSME7ML.js} +23 -2
- package/dist/{chunk-EZCYSFML.mjs.map → chunk-VJSME7ML.js.map} +1 -1
- package/dist/{chunk-SSJXWD2M.mjs → chunk-VO7LNOC5.mjs} +46 -4
- package/dist/chunk-VO7LNOC5.mjs.map +1 -0
- package/dist/{chunk-ECLHBSC6.mjs → chunk-VX56EVPF.mjs} +25 -4
- package/dist/chunk-VX56EVPF.mjs.map +1 -0
- package/dist/{chunk-R2JJTREQ.mjs → chunk-W73CZFMA.mjs} +23 -3
- package/dist/chunk-W73CZFMA.mjs.map +1 -0
- package/dist/{chunk-3J3FYIG3.js → chunk-WRHUWKZS.js} +34 -4
- package/dist/chunk-WRHUWKZS.js.map +1 -0
- package/dist/{chunk-NSJ6KGW2.js → chunk-WVBFSJEB.js} +24 -3
- package/dist/chunk-WVBFSJEB.js.map +1 -0
- package/dist/chunk-XIG2QDVN.js +145 -0
- package/dist/chunk-XIG2QDVN.js.map +1 -0
- package/dist/{chunk-HNLQXHSQ.mjs → chunk-XJFDGKZO.mjs} +24 -3
- package/dist/chunk-XJFDGKZO.mjs.map +1 -0
- package/dist/{chunk-GRJFGIZC.mjs → chunk-XOYCFLEZ.mjs} +46 -4
- package/dist/chunk-XOYCFLEZ.mjs.map +1 -0
- package/dist/chunk-XYKDSHRG.js +944 -0
- package/dist/chunk-XYKDSHRG.js.map +1 -0
- package/dist/{chunk-UROKWFPX.mjs → chunk-YFXGRV7X.mjs} +23 -2
- package/dist/chunk-YFXGRV7X.mjs.map +1 -0
- package/dist/{chunk-R5LL56ZO.js → chunk-ZHXYGUMA.js} +2 -2
- package/dist/{chunk-R5LL56ZO.js.map → chunk-ZHXYGUMA.js.map} +1 -1
- package/dist/chunk-ZZ53RJNH.js +128 -0
- package/dist/chunk-ZZ53RJNH.js.map +1 -0
- package/dist/design-system/accordion.d.ts +42 -0
- package/dist/design-system/accordion.d.ts.map +1 -1
- package/dist/design-system/alert.d.ts +21 -0
- package/dist/design-system/alert.d.ts.map +1 -1
- package/dist/design-system/animated-number.d.ts +21 -0
- package/dist/design-system/animated-number.d.ts.map +1 -1
- package/dist/design-system/avatar.d.ts +21 -0
- package/dist/design-system/avatar.d.ts.map +1 -1
- package/dist/design-system/badge.d.ts +42 -0
- package/dist/design-system/badge.d.ts.map +1 -1
- package/dist/design-system/breadcrumb.d.ts +21 -0
- package/dist/design-system/breadcrumb.d.ts.map +1 -1
- package/dist/design-system/button.d.ts +22 -1
- package/dist/design-system/button.d.ts.map +1 -1
- package/dist/design-system/card.d.ts +21 -0
- package/dist/design-system/card.d.ts.map +1 -1
- package/dist/design-system/checkbox.d.ts +22 -1
- package/dist/design-system/checkbox.d.ts.map +1 -1
- package/dist/design-system/command.d.ts +21 -0
- package/dist/design-system/command.d.ts.map +1 -1
- package/dist/design-system/context-menu.d.ts +21 -0
- package/dist/design-system/context-menu.d.ts.map +1 -1
- package/dist/design-system/copy-button.d.ts +22 -1
- package/dist/design-system/copy-button.d.ts.map +1 -1
- package/dist/design-system/divider.d.ts +21 -0
- package/dist/design-system/divider.d.ts.map +1 -1
- package/dist/design-system/drawer.d.ts +42 -0
- package/dist/design-system/drawer.d.ts.map +1 -1
- package/dist/design-system/dropdown.d.ts +42 -0
- package/dist/design-system/dropdown.d.ts.map +1 -1
- package/dist/design-system/dynamic-stepper.d.ts +98 -5
- package/dist/design-system/dynamic-stepper.d.ts.map +1 -1
- package/dist/design-system/empty-state.d.ts +21 -0
- package/dist/design-system/empty-state.d.ts.map +1 -1
- package/dist/design-system/file-upload.d.ts +21 -0
- package/dist/design-system/file-upload.d.ts.map +1 -1
- package/dist/design-system/index.d.ts +0 -1
- package/dist/design-system/index.d.ts.map +1 -1
- package/dist/design-system/inputs.d.ts +108 -0
- package/dist/design-system/inputs.d.ts.map +1 -1
- package/dist/design-system/kbd.d.ts +22 -1
- package/dist/design-system/kbd.d.ts.map +1 -1
- package/dist/design-system/marquee.d.ts +21 -0
- package/dist/design-system/marquee.d.ts.map +1 -1
- package/dist/design-system/modal.d.ts +42 -0
- package/dist/design-system/modal.d.ts.map +1 -1
- package/dist/design-system/otp-input.d.ts +21 -0
- package/dist/design-system/otp-input.d.ts.map +1 -1
- package/dist/design-system/pagination.d.ts +21 -0
- package/dist/design-system/pagination.d.ts.map +1 -1
- package/dist/design-system/popover.d.ts +20 -0
- package/dist/design-system/popover.d.ts.map +1 -1
- package/dist/design-system/progress.d.ts +21 -0
- package/dist/design-system/progress.d.ts.map +1 -1
- package/dist/design-system/radio-group.d.ts +21 -0
- package/dist/design-system/radio-group.d.ts.map +1 -1
- package/dist/design-system/rating.d.ts +21 -0
- package/dist/design-system/rating.d.ts.map +1 -1
- package/dist/design-system/scroll-area.d.ts +21 -0
- package/dist/design-system/scroll-area.d.ts.map +1 -1
- package/dist/design-system/select.d.ts +63 -0
- package/dist/design-system/select.d.ts.map +1 -1
- package/dist/design-system/skeleton.d.ts +63 -0
- package/dist/design-system/skeleton.d.ts.map +1 -1
- package/dist/design-system/slider.d.ts +22 -1
- package/dist/design-system/slider.d.ts.map +1 -1
- package/dist/design-system/spinner.d.ts +21 -0
- package/dist/design-system/spinner.d.ts.map +1 -1
- package/dist/design-system/table.d.ts +63 -0
- package/dist/design-system/table.d.ts.map +1 -1
- package/dist/design-system/tabs.d.ts +21 -0
- package/dist/design-system/tabs.d.ts.map +1 -1
- package/dist/design-system/timeline.d.ts +21 -0
- package/dist/design-system/timeline.d.ts.map +1 -1
- package/dist/design-system/toast.d.ts +21 -0
- package/dist/design-system/toast.d.ts.map +1 -1
- package/dist/design-system/toggle.d.ts +30 -0
- package/dist/design-system/toggle.d.ts.map +1 -1
- package/dist/design-system/tooltip.d.ts +20 -0
- package/dist/design-system/tooltip.d.ts.map +1 -1
- package/dist/design-system/tree-view.d.ts +42 -0
- package/dist/design-system/tree-view.d.ts.map +1 -1
- package/dist/design-system/typography.d.ts +1 -1
- package/dist/ui/accordion/animated.js +7 -7
- package/dist/ui/accordion/animated.mjs +2 -2
- package/dist/ui/accordion/variants.d.ts +2 -2
- package/dist/ui/accordion.js +9 -9
- package/dist/ui/accordion.mjs +2 -2
- package/dist/ui/alert/animated.js +2 -2
- package/dist/ui/alert/animated.mjs +1 -1
- package/dist/ui/alert/variants.d.ts +1 -1
- package/dist/ui/alert.js +10 -10
- package/dist/ui/alert.mjs +2 -2
- package/dist/ui/animated-number/variants.d.ts +1 -1
- package/dist/ui/animated-number.js +21 -0
- package/dist/ui/animated-number.js.map +1 -1
- package/dist/ui/animated-number.mjs +21 -0
- package/dist/ui/animated-number.mjs.map +1 -1
- package/dist/ui/avatar/animated.js +5 -5
- package/dist/ui/avatar/animated.mjs +2 -2
- package/dist/ui/avatar/variants.d.ts +1 -1
- package/dist/ui/avatar.js +9 -9
- package/dist/ui/avatar.mjs +2 -2
- package/dist/ui/badge/animated.js +2 -2
- package/dist/ui/badge/animated.mjs +1 -1
- package/dist/ui/badge/variants.d.ts +22 -1
- package/dist/ui/badge/variants.d.ts.map +1 -1
- package/dist/ui/badge.js +4 -4
- package/dist/ui/badge.mjs +2 -2
- package/dist/ui/breadcrumb/variants.d.ts +1 -1
- package/dist/ui/breadcrumb.js +21 -0
- package/dist/ui/breadcrumb.js.map +1 -1
- package/dist/ui/breadcrumb.mjs +21 -0
- package/dist/ui/breadcrumb.mjs.map +1 -1
- package/dist/ui/buttons/animated.js +3 -3
- package/dist/ui/buttons/animated.mjs +1 -1
- package/dist/ui/buttons/variants.d.ts +1 -1
- package/dist/ui/buttons.js +4 -4
- package/dist/ui/buttons.mjs +2 -2
- package/dist/ui/card/animated.js +7 -7
- package/dist/ui/card/animated.mjs +2 -2
- package/dist/ui/card/variants.d.ts +1 -1
- package/dist/ui/card.js +12 -12
- package/dist/ui/card.mjs +2 -2
- package/dist/ui/checkbox/animated.js +4 -4
- package/dist/ui/checkbox/animated.mjs +1 -1
- package/dist/ui/checkbox/variants.d.ts +1 -1
- package/dist/ui/checkbox.js +8 -8
- package/dist/ui/checkbox.mjs +2 -2
- package/dist/ui/command/animated.js +2 -2
- package/dist/ui/command/animated.mjs +1 -1
- package/dist/ui/command/variants.d.ts +1 -1
- package/dist/ui/command.js +15 -15
- package/dist/ui/command.mjs +2 -2
- package/dist/ui/context-menu/variants.d.ts +1 -1
- package/dist/ui/context-menu.js +47 -26
- package/dist/ui/context-menu.js.map +1 -1
- package/dist/ui/context-menu.mjs +23 -2
- package/dist/ui/context-menu.mjs.map +1 -1
- package/dist/ui/copy-button/animated.js +2 -2
- package/dist/ui/copy-button/animated.mjs +1 -1
- package/dist/ui/copy-button/variants.d.ts +1 -1
- package/dist/ui/copy-button.js +3 -3
- package/dist/ui/copy-button.mjs +2 -2
- package/dist/ui/divider/animated.js +2 -2
- package/dist/ui/divider/animated.mjs +1 -1
- package/dist/ui/divider/variants.d.ts +2 -2
- package/dist/ui/divider.js +6 -6
- package/dist/ui/divider.mjs +2 -2
- package/dist/ui/drawer/animated.js +11 -11
- package/dist/ui/drawer/animated.mjs +2 -2
- package/dist/ui/drawer/variants.d.ts +2 -2
- package/dist/ui/drawer.js +11 -11
- package/dist/ui/drawer.mjs +1 -1
- package/dist/ui/dropdown/types.d.ts +2 -1
- package/dist/ui/dropdown/types.d.ts.map +1 -1
- package/dist/ui/dropdown/variants.d.ts +2 -2
- package/dist/ui/dropdown.js +9 -9
- package/dist/ui/dropdown.mjs +1 -1
- package/dist/ui/dynamic-stepper/variants.d.ts +1 -1
- package/dist/ui/dynamic-stepper/variants.d.ts.map +1 -1
- package/dist/ui/dynamic-stepper.js +4 -4
- package/dist/ui/dynamic-stepper.js.map +1 -1
- package/dist/ui/dynamic-stepper.mjs +2 -2
- package/dist/ui/dynamic-stepper.mjs.map +1 -1
- package/dist/ui/empty-state/animated.js +2 -2
- package/dist/ui/empty-state/animated.mjs +1 -1
- package/dist/ui/empty-state/variants.d.ts +1 -1
- package/dist/ui/empty-state.js +10 -10
- package/dist/ui/empty-state.mjs +2 -2
- package/dist/ui/file-upload/variants.d.ts +1 -1
- package/dist/ui/file-upload.js +22 -1
- package/dist/ui/file-upload.js.map +1 -1
- package/dist/ui/file-upload.mjs +22 -1
- package/dist/ui/file-upload.mjs.map +1 -1
- package/dist/ui/inputs/animated.js +3 -3
- package/dist/ui/inputs/animated.mjs +1 -1
- package/dist/ui/inputs/variants.d.ts +1 -1
- package/dist/ui/inputs/variants.d.ts.map +1 -1
- package/dist/ui/inputs.js +4 -4
- package/dist/ui/inputs.mjs +2 -2
- package/dist/ui/kbd/animated.js +2 -2
- package/dist/ui/kbd/animated.mjs +1 -1
- package/dist/ui/kbd/variants.d.ts +1 -1
- package/dist/ui/kbd.js +4 -4
- package/dist/ui/kbd.mjs +2 -2
- package/dist/ui/marquee/variants.d.ts +1 -1
- package/dist/ui/marquee.js +22 -1
- package/dist/ui/marquee.js.map +1 -1
- package/dist/ui/marquee.mjs +22 -1
- package/dist/ui/marquee.mjs.map +1 -1
- package/dist/ui/modal/animated.js +4 -4
- package/dist/ui/modal/animated.mjs +1 -1
- package/dist/ui/modal/variants.d.ts +2 -2
- package/dist/ui/modal.js +12 -12
- package/dist/ui/modal.mjs +2 -2
- package/dist/ui/otp-input/variants.d.ts +1 -1
- package/dist/ui/otp-input.js +22 -1
- package/dist/ui/otp-input.js.map +1 -1
- package/dist/ui/otp-input.mjs +22 -1
- package/dist/ui/otp-input.mjs.map +1 -1
- package/dist/ui/pagination/types.d.ts +4 -2
- package/dist/ui/pagination/types.d.ts.map +1 -1
- package/dist/ui/pagination/variants.d.ts +1 -1
- package/dist/ui/pagination.js +26 -5
- package/dist/ui/pagination.js.map +1 -1
- package/dist/ui/pagination.mjs +23 -2
- package/dist/ui/pagination.mjs.map +1 -1
- package/dist/ui/popover/animated.js +4 -4
- package/dist/ui/popover/animated.mjs +1 -1
- package/dist/ui/popover/variants.d.ts +1 -1
- package/dist/ui/popover.js +7 -7
- package/dist/ui/popover.mjs +1 -1
- package/dist/ui/progress/animated.js +8 -8
- package/dist/ui/progress/animated.mjs +2 -2
- package/dist/ui/progress/variants.d.ts +1 -1
- package/dist/ui/progress.js +9 -9
- package/dist/ui/progress.mjs +2 -2
- package/dist/ui/radio-group/animated.js +7 -7
- package/dist/ui/radio-group/animated.mjs +1 -1
- package/dist/ui/radio-group/variants.d.ts +1 -1
- package/dist/ui/radio-group.js +11 -11
- package/dist/ui/radio-group.mjs +2 -2
- package/dist/ui/rating/variants.d.ts +1 -1
- package/dist/ui/rating.js +22 -1
- package/dist/ui/rating.js.map +1 -1
- package/dist/ui/rating.mjs +22 -1
- package/dist/ui/rating.mjs.map +1 -1
- package/dist/ui/scroll-area/variants.d.ts +1 -1
- package/dist/ui/scroll-area.js +22 -1
- package/dist/ui/scroll-area.js.map +1 -1
- package/dist/ui/scroll-area.mjs +22 -1
- package/dist/ui/scroll-area.mjs.map +1 -1
- package/dist/ui/search.js +2 -2
- package/dist/ui/search.mjs +1 -1
- package/dist/ui/select/types.d.ts +2 -1
- package/dist/ui/select/types.d.ts.map +1 -1
- package/dist/ui/select/variants.d.ts +3 -3
- package/dist/ui/select.js +66 -3
- package/dist/ui/select.js.map +1 -1
- package/dist/ui/select.mjs +66 -3
- package/dist/ui/select.mjs.map +1 -1
- package/dist/ui/skeleton/animated.js +8 -8
- package/dist/ui/skeleton/animated.mjs +1 -1
- package/dist/ui/skeleton/variants.d.ts +23 -2
- package/dist/ui/skeleton/variants.d.ts.map +1 -1
- package/dist/ui/skeleton.js +9 -9
- package/dist/ui/skeleton.mjs +1 -1
- package/dist/ui/slider/variants.d.ts +1 -1
- package/dist/ui/slider.js +23 -2
- package/dist/ui/slider.js.map +1 -1
- package/dist/ui/slider.mjs +23 -2
- package/dist/ui/slider.mjs.map +1 -1
- package/dist/ui/spinner/animated/variants.d.ts +1 -1
- package/dist/ui/spinner/animated.js +22 -1
- package/dist/ui/spinner/animated.js.map +1 -1
- package/dist/ui/spinner/animated.mjs +22 -1
- package/dist/ui/spinner/animated.mjs.map +1 -1
- package/dist/ui/table/animated.js +8 -8
- package/dist/ui/table/animated.mjs +2 -2
- package/dist/ui/table/variants.d.ts +3 -3
- package/dist/ui/table.js +14 -14
- package/dist/ui/table.mjs +1 -1
- package/dist/ui/tabs/animated.js +2 -2
- package/dist/ui/tabs/animated.mjs +1 -1
- package/dist/ui/tabs/types.d.ts +4 -2
- package/dist/ui/tabs/types.d.ts.map +1 -1
- package/dist/ui/tabs/variants.d.ts +1 -1
- package/dist/ui/tabs.js +9 -9
- package/dist/ui/tabs.mjs +1 -1
- package/dist/ui/timeline/animated.js +11 -11
- package/dist/ui/timeline/animated.mjs +2 -2
- package/dist/ui/timeline/variants.d.ts +1 -1
- package/dist/ui/timeline.js +14 -14
- package/dist/ui/timeline.mjs +2 -2
- package/dist/ui/toast/animated.js +7 -7
- package/dist/ui/toast/animated.mjs +1 -1
- package/dist/ui/toast/variants.d.ts +1 -1
- package/dist/ui/toast.js +12 -12
- package/dist/ui/toast.mjs +1 -1
- package/dist/ui/toggle/animated.js +4 -4
- package/dist/ui/toggle/animated.mjs +1 -1
- package/dist/ui/toggle/variants.d.ts +2 -2
- package/dist/ui/toggle.js +4 -4
- package/dist/ui/toggle.mjs +2 -2
- package/dist/ui/tooltip/animated.js +3 -3
- package/dist/ui/tooltip/animated.mjs +1 -1
- package/dist/ui/tooltip/types.d.ts +3 -1
- package/dist/ui/tooltip/types.d.ts.map +1 -1
- package/dist/ui/tooltip/variants.d.ts +1 -1
- package/dist/ui/tooltip.js +7 -7
- package/dist/ui/tooltip.mjs +1 -1
- package/dist/ui/tree-view/animated.js +2 -2
- package/dist/ui/tree-view/animated.mjs +1 -1
- package/dist/ui/tree-view/variants.d.ts +2 -2
- package/dist/ui/tree-view.js +5 -5
- package/dist/ui/tree-view.mjs +2 -2
- package/dist/ui/typography.js +1 -1
- package/dist/ui/typography.js.map +1 -1
- package/dist/ui/typography.mjs +1 -1
- package/dist/ui/typography.mjs.map +1 -1
- package/package.json +18 -17
- package/src/animations/animations.test.tsx +1 -2
- package/src/animations/shared/create-motion-animation.tsx +3 -1
- package/src/design-system/accordion.ts +66 -0
- package/src/design-system/alert.ts +33 -0
- package/src/design-system/animated-number.ts +33 -0
- package/src/design-system/avatar.ts +33 -0
- package/src/design-system/badge.ts +33 -0
- package/src/design-system/breadcrumb.ts +33 -0
- package/src/design-system/button.ts +34 -1
- package/src/design-system/card.ts +33 -0
- package/src/design-system/checkbox.ts +34 -1
- package/src/design-system/command.ts +33 -0
- package/src/design-system/context-menu.ts +21 -0
- package/src/design-system/copy-button.ts +34 -1
- package/src/design-system/divider.ts +33 -0
- package/src/design-system/drawer.ts +66 -0
- package/src/design-system/dropdown.ts +66 -0
- package/src/design-system/dynamic-stepper.ts +8 -23
- package/src/design-system/empty-state.ts +33 -0
- package/src/design-system/file-upload.ts +33 -0
- package/src/design-system/index.ts +0 -1
- package/src/design-system/inputs.ts +171 -0
- package/src/design-system/kbd.ts +34 -1
- package/src/design-system/marquee.ts +33 -0
- package/src/design-system/modal.ts +66 -0
- package/src/design-system/otp-input.ts +33 -0
- package/src/design-system/pagination.ts +33 -0
- package/src/design-system/popover.ts +31 -0
- package/src/design-system/progress.ts +33 -0
- package/src/design-system/radio-group.ts +33 -0
- package/src/design-system/rating.ts +33 -0
- package/src/design-system/scroll-area.ts +33 -0
- package/src/design-system/select.ts +99 -0
- package/src/design-system/skeleton.ts +75 -0
- package/src/design-system/slider.ts +34 -2
- package/src/design-system/spinner.ts +33 -0
- package/src/design-system/table.ts +99 -0
- package/src/design-system/tabs.ts +33 -0
- package/src/design-system/timeline.ts +33 -0
- package/src/design-system/toast.ts +33 -0
- package/src/design-system/toggle.ts +48 -0
- package/src/design-system/tooltip.ts +31 -0
- package/src/design-system/tree-view.ts +66 -0
- package/src/design-system/typography.ts +1 -1
- package/src/ui/dropdown/types.ts +3 -27
- package/src/ui/inputs/variants.ts +435 -0
- package/src/ui/pagination/types.ts +4 -2
- package/src/ui/select/types.ts +2 -23
- package/src/ui/tabs/types.ts +5 -42
- package/src/ui/tooltip/types.ts +4 -24
- package/dist/chunk-2F7P4EJQ.js.map +0 -1
- package/dist/chunk-2ZKW2E7B.mjs.map +0 -1
- package/dist/chunk-3F4FF2H4.mjs.map +0 -1
- package/dist/chunk-3J3FYIG3.js.map +0 -1
- package/dist/chunk-3W224B3M.js.map +0 -1
- package/dist/chunk-466QDL44.js.map +0 -1
- package/dist/chunk-5565GZ4T.js.map +0 -1
- package/dist/chunk-5IJC2OEN.js +0 -124
- package/dist/chunk-5IJC2OEN.js.map +0 -1
- package/dist/chunk-6HPS3ZOP.js.map +0 -1
- package/dist/chunk-7XCUMSCJ.mjs +0 -80
- package/dist/chunk-7XCUMSCJ.mjs.map +0 -1
- package/dist/chunk-BJSWQQSC.mjs.map +0 -1
- package/dist/chunk-BU2MPXPZ.js.map +0 -1
- package/dist/chunk-CIEZFHCO.mjs.map +0 -1
- package/dist/chunk-CSFLMMAT.mjs.map +0 -1
- package/dist/chunk-DEZRB6DS.mjs.map +0 -1
- package/dist/chunk-DFCDLVZA.js.map +0 -1
- package/dist/chunk-DY7HLVGW.mjs +0 -120
- package/dist/chunk-DY7HLVGW.mjs.map +0 -1
- package/dist/chunk-ECLHBSC6.mjs.map +0 -1
- package/dist/chunk-EIRCCTNA.js.map +0 -1
- package/dist/chunk-GRJFGIZC.mjs.map +0 -1
- package/dist/chunk-H7WDA6U6.mjs.map +0 -1
- package/dist/chunk-HLG2YJFZ.mjs.map +0 -1
- package/dist/chunk-HNLQXHSQ.mjs.map +0 -1
- package/dist/chunk-IL4LH2XX.js.map +0 -1
- package/dist/chunk-IM6KN77X.mjs.map +0 -1
- package/dist/chunk-INXWZ4DS.js.map +0 -1
- package/dist/chunk-KVQI5PLL.mjs +0 -399
- package/dist/chunk-KVQI5PLL.mjs.map +0 -1
- package/dist/chunk-LNYCEPW5.js.map +0 -1
- package/dist/chunk-NFEA5TN2.js +0 -158
- package/dist/chunk-NFEA5TN2.js.map +0 -1
- package/dist/chunk-NMQAHUYA.mjs +0 -149
- package/dist/chunk-NMQAHUYA.mjs.map +0 -1
- package/dist/chunk-NNZXBL7R.mjs.map +0 -1
- package/dist/chunk-NRPG2STN.js +0 -401
- package/dist/chunk-NRPG2STN.js.map +0 -1
- package/dist/chunk-NSJ6KGW2.js.map +0 -1
- package/dist/chunk-OL3BJSRC.mjs.map +0 -1
- package/dist/chunk-ORFI4BCJ.mjs.map +0 -1
- package/dist/chunk-OZHETX4J.mjs.map +0 -1
- package/dist/chunk-PYUZOVLY.js.map +0 -1
- package/dist/chunk-QHEHBC6M.js.map +0 -1
- package/dist/chunk-R2JJTREQ.mjs.map +0 -1
- package/dist/chunk-RIHJAEOL.js +0 -107
- package/dist/chunk-RIHJAEOL.js.map +0 -1
- package/dist/chunk-SSJXWD2M.mjs.map +0 -1
- package/dist/chunk-TKVZU56F.mjs.map +0 -1
- package/dist/chunk-TTTYW3TR.js.map +0 -1
- package/dist/chunk-U3VV22G4.js.map +0 -1
- package/dist/chunk-UPZ5XGUD.mjs +0 -100
- package/dist/chunk-UPZ5XGUD.mjs.map +0 -1
- package/dist/chunk-UR7TNW45.mjs.map +0 -1
- package/dist/chunk-UROKWFPX.mjs.map +0 -1
- package/dist/chunk-UY65KX3M.js.map +0 -1
- package/dist/chunk-VHVQELWF.js.map +0 -1
- package/dist/chunk-X3O45MPI.js.map +0 -1
- package/dist/chunk-XYEMP4K7.js.map +0 -1
- package/dist/chunk-ZUT7ZUM7.js +0 -84
- package/dist/chunk-ZUT7ZUM7.js.map +0 -1
- package/dist/chunk-ZX2IBIZT.js.map +0 -1
- package/dist/design-system/stepper.d.ts +0 -42
- package/dist/design-system/stepper.d.ts.map +0 -1
- package/dist/ui/stepper/index.d.ts +0 -4
- package/dist/ui/stepper/index.d.ts.map +0 -1
- package/dist/ui/stepper/stepper.d.ts +0 -28
- package/dist/ui/stepper/stepper.d.ts.map +0 -1
- package/dist/ui/stepper/types.d.ts +0 -25
- package/dist/ui/stepper/types.d.ts.map +0 -1
- package/dist/ui/stepper/variants.d.ts +0 -11
- package/dist/ui/stepper/variants.d.ts.map +0 -1
- package/dist/ui/stepper.js +0 -216
- package/dist/ui/stepper.js.map +0 -1
- package/dist/ui/stepper.mjs +0 -207
- package/dist/ui/stepper.mjs.map +0 -1
- package/src/design-system/stepper.ts +0 -66
- package/src/ui/stepper/index.ts +0 -22
- package/src/ui/stepper/stepper.test.tsx +0 -190
- package/src/ui/stepper/stepper.tsx +0 -171
- package/src/ui/stepper/types.ts +0 -38
- package/src/ui/stepper/variants.ts +0 -40
package/dist/ui/progress.js
CHANGED
|
@@ -1,42 +1,42 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
'use strict';
|
|
3
3
|
|
|
4
|
-
var
|
|
4
|
+
var chunkKC77BXBC_js = require('../chunk-KC77BXBC.js');
|
|
5
5
|
require('../chunk-ZS5756ZC.js');
|
|
6
6
|
var jsxRuntime = require('react/jsx-runtime');
|
|
7
7
|
|
|
8
8
|
var Progress = (props) => {
|
|
9
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
9
|
+
return /* @__PURE__ */ jsxRuntime.jsx(chunkKC77BXBC_js.ProgressBase, { ...props });
|
|
10
10
|
};
|
|
11
11
|
Progress.displayName = "Progress";
|
|
12
12
|
|
|
13
13
|
Object.defineProperty(exports, "ProgressBar", {
|
|
14
14
|
enumerable: true,
|
|
15
|
-
get: function () { return
|
|
15
|
+
get: function () { return chunkKC77BXBC_js.ProgressBar; }
|
|
16
16
|
});
|
|
17
17
|
Object.defineProperty(exports, "ProgressBase", {
|
|
18
18
|
enumerable: true,
|
|
19
|
-
get: function () { return
|
|
19
|
+
get: function () { return chunkKC77BXBC_js.ProgressBase; }
|
|
20
20
|
});
|
|
21
21
|
Object.defineProperty(exports, "ProgressLabel", {
|
|
22
22
|
enumerable: true,
|
|
23
|
-
get: function () { return
|
|
23
|
+
get: function () { return chunkKC77BXBC_js.ProgressLabel; }
|
|
24
24
|
});
|
|
25
25
|
Object.defineProperty(exports, "ProgressValue", {
|
|
26
26
|
enumerable: true,
|
|
27
|
-
get: function () { return
|
|
27
|
+
get: function () { return chunkKC77BXBC_js.ProgressValue; }
|
|
28
28
|
});
|
|
29
29
|
Object.defineProperty(exports, "progressBarVariants", {
|
|
30
30
|
enumerable: true,
|
|
31
|
-
get: function () { return
|
|
31
|
+
get: function () { return chunkKC77BXBC_js.progressBarVariants; }
|
|
32
32
|
});
|
|
33
33
|
Object.defineProperty(exports, "progressTrackVariants", {
|
|
34
34
|
enumerable: true,
|
|
35
|
-
get: function () { return
|
|
35
|
+
get: function () { return chunkKC77BXBC_js.progressTrackVariants; }
|
|
36
36
|
});
|
|
37
37
|
Object.defineProperty(exports, "progressVariants", {
|
|
38
38
|
enumerable: true,
|
|
39
|
-
get: function () { return
|
|
39
|
+
get: function () { return chunkKC77BXBC_js.progressVariants; }
|
|
40
40
|
});
|
|
41
41
|
exports.Progress = Progress;
|
|
42
42
|
//# sourceMappingURL=progress.js.map
|
package/dist/ui/progress.mjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import { ProgressBase } from '../chunk-
|
|
3
|
-
export { ProgressBar, ProgressBase, ProgressLabel, ProgressValue, progressBarVariants, progressTrackVariants, progressVariants } from '../chunk-
|
|
2
|
+
import { ProgressBase } from '../chunk-XJFDGKZO.mjs';
|
|
3
|
+
export { ProgressBar, ProgressBase, ProgressLabel, ProgressValue, progressBarVariants, progressTrackVariants, progressVariants } from '../chunk-XJFDGKZO.mjs';
|
|
4
4
|
import '../chunk-4D54YOL6.mjs';
|
|
5
5
|
import { jsx } from 'react/jsx-runtime';
|
|
6
6
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
'use strict';
|
|
3
3
|
|
|
4
|
-
var
|
|
4
|
+
var chunkZZ53RJNH_js = require('../../chunk-ZZ53RJNH.js');
|
|
5
5
|
var chunkZS5756ZC_js = require('../../chunk-ZS5756ZC.js');
|
|
6
6
|
var framerMotion = require('framer-motion');
|
|
7
7
|
var react = require('react');
|
|
@@ -51,7 +51,7 @@ function RadioGroupAnimated(props) {
|
|
|
51
51
|
[isControlled, onValueChange]
|
|
52
52
|
);
|
|
53
53
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
54
|
-
|
|
54
|
+
chunkZZ53RJNH_js.RadioGroupContext.Provider,
|
|
55
55
|
{
|
|
56
56
|
value: {
|
|
57
57
|
value: resolvedValue,
|
|
@@ -69,7 +69,7 @@ function RadioGroupAnimated(props) {
|
|
|
69
69
|
role: "radiogroup",
|
|
70
70
|
"data-slot": "radio-group",
|
|
71
71
|
"data-orientation": orientation ?? "vertical",
|
|
72
|
-
className: chunkZS5756ZC_js.cn(
|
|
72
|
+
className: chunkZS5756ZC_js.cn(chunkZZ53RJNH_js.radioGroupRootVariants({ orientation }), className),
|
|
73
73
|
...rest,
|
|
74
74
|
children
|
|
75
75
|
}
|
|
@@ -98,7 +98,7 @@ function RadioGroupItemAnimated(props) {
|
|
|
98
98
|
...rest
|
|
99
99
|
} = props;
|
|
100
100
|
const generatedId = react.useId();
|
|
101
|
-
const context =
|
|
101
|
+
const context = chunkZZ53RJNH_js.useRadioGroupContext();
|
|
102
102
|
const controlId = id ?? generatedId;
|
|
103
103
|
const checked = context?.value === value;
|
|
104
104
|
const disabled = disabledProp ?? context?.disabled;
|
|
@@ -111,7 +111,7 @@ function RadioGroupItemAnimated(props) {
|
|
|
111
111
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
112
112
|
"label",
|
|
113
113
|
{
|
|
114
|
-
className: chunkZS5756ZC_js.cn(
|
|
114
|
+
className: chunkZS5756ZC_js.cn(chunkZZ53RJNH_js.radioGroupItemVariants({ size }), rootClassName, className),
|
|
115
115
|
"data-disabled": disabled ? "true" : void 0,
|
|
116
116
|
"data-state": checked ? "checked" : "unchecked",
|
|
117
117
|
htmlFor: controlId,
|
|
@@ -143,7 +143,7 @@ function RadioGroupItemAnimated(props) {
|
|
|
143
143
|
{
|
|
144
144
|
"aria-hidden": "true",
|
|
145
145
|
className: chunkZS5756ZC_js.cn(
|
|
146
|
-
|
|
146
|
+
chunkZZ53RJNH_js.radioGroupControlVariants({ appearance, size }),
|
|
147
147
|
controlClassName
|
|
148
148
|
),
|
|
149
149
|
"data-slot": "radio-group-control",
|
|
@@ -151,7 +151,7 @@ function RadioGroupItemAnimated(props) {
|
|
|
151
151
|
framerMotion.motion.span,
|
|
152
152
|
{
|
|
153
153
|
className: chunkZS5756ZC_js.cn(
|
|
154
|
-
|
|
154
|
+
chunkZZ53RJNH_js.radioGroupIndicatorVariants({ size }),
|
|
155
155
|
"opacity-100",
|
|
156
156
|
indicatorClassName
|
|
157
157
|
),
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import { RadioGroupContext, radioGroupRootVariants, useRadioGroupContext, radioGroupIndicatorVariants, radioGroupControlVariants, radioGroupItemVariants } from '../../chunk-
|
|
2
|
+
import { RadioGroupContext, radioGroupRootVariants, useRadioGroupContext, radioGroupIndicatorVariants, radioGroupControlVariants, radioGroupItemVariants } from '../../chunk-S4NQTWMW.mjs';
|
|
3
3
|
import { cn } from '../../chunk-4D54YOL6.mjs';
|
|
4
4
|
import { motion } from 'framer-motion';
|
|
5
5
|
import { useId, useState, useCallback } from 'react';
|
|
@@ -5,7 +5,7 @@ export declare const radioGroupItemVariants: (props?: ({
|
|
|
5
5
|
size?: "md" | "sm" | "lg" | null | undefined;
|
|
6
6
|
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
7
7
|
export declare const radioGroupControlVariants: (props?: ({
|
|
8
|
-
appearance?: "default" | "violet" | "amber" | "indigo" | "pink" | "error" | "success" | "warning" | "info" | null | undefined;
|
|
8
|
+
appearance?: "ruby" | "default" | "violet" | "amber" | "slate" | "indigo" | "cyan" | "aqua" | "blue" | "crimson" | "green" | "lavender" | "lime" | "magenta" | "pink" | "plum" | "red" | "error" | "mint" | "ocean" | "sapphire" | "zinc" | "stone" | "royal" | "electric" | "forest" | "sunset" | "success" | "warning" | "info" | null | undefined;
|
|
9
9
|
size?: "md" | "sm" | "lg" | null | undefined;
|
|
10
10
|
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
11
11
|
export declare const radioGroupIndicatorVariants: (props?: ({
|
package/dist/ui/radio-group.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
'use strict';
|
|
3
3
|
|
|
4
|
-
var
|
|
4
|
+
var chunkZZ53RJNH_js = require('../chunk-ZZ53RJNH.js');
|
|
5
5
|
var chunkZS5756ZC_js = require('../chunk-ZS5756ZC.js');
|
|
6
6
|
var react = require('react');
|
|
7
7
|
var jsxRuntime = require('react/jsx-runtime');
|
|
@@ -36,7 +36,7 @@ function RadioGroup(props) {
|
|
|
36
36
|
[isControlled, onValueChange]
|
|
37
37
|
);
|
|
38
38
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
39
|
-
|
|
39
|
+
chunkZZ53RJNH_js.RadioGroupContext.Provider,
|
|
40
40
|
{
|
|
41
41
|
value: {
|
|
42
42
|
value: resolvedValue,
|
|
@@ -54,7 +54,7 @@ function RadioGroup(props) {
|
|
|
54
54
|
role: "radiogroup",
|
|
55
55
|
"data-slot": "radio-group",
|
|
56
56
|
"data-orientation": orientation ?? "vertical",
|
|
57
|
-
className: chunkZS5756ZC_js.cn(
|
|
57
|
+
className: chunkZS5756ZC_js.cn(chunkZZ53RJNH_js.radioGroupRootVariants({ orientation }), className),
|
|
58
58
|
...rest,
|
|
59
59
|
children
|
|
60
60
|
}
|
|
@@ -82,7 +82,7 @@ function RadioGroupItem(props) {
|
|
|
82
82
|
...rest
|
|
83
83
|
} = props;
|
|
84
84
|
const generatedId = react.useId();
|
|
85
|
-
const context =
|
|
85
|
+
const context = chunkZZ53RJNH_js.useRadioGroupContext();
|
|
86
86
|
const controlId = id ?? generatedId;
|
|
87
87
|
const checked = context?.value === value;
|
|
88
88
|
const disabled = disabledProp ?? context?.disabled;
|
|
@@ -94,7 +94,7 @@ function RadioGroupItem(props) {
|
|
|
94
94
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
95
95
|
"label",
|
|
96
96
|
{
|
|
97
|
-
className: chunkZS5756ZC_js.cn(
|
|
97
|
+
className: chunkZS5756ZC_js.cn(chunkZZ53RJNH_js.radioGroupItemVariants({ size }), rootClassName, className),
|
|
98
98
|
"data-disabled": disabled ? "true" : void 0,
|
|
99
99
|
"data-state": checked ? "checked" : "unchecked",
|
|
100
100
|
htmlFor: controlId,
|
|
@@ -126,7 +126,7 @@ function RadioGroupItem(props) {
|
|
|
126
126
|
{
|
|
127
127
|
"aria-hidden": "true",
|
|
128
128
|
className: chunkZS5756ZC_js.cn(
|
|
129
|
-
|
|
129
|
+
chunkZZ53RJNH_js.radioGroupControlVariants({ appearance, size }),
|
|
130
130
|
controlClassName
|
|
131
131
|
),
|
|
132
132
|
"data-slot": "radio-group-control",
|
|
@@ -134,7 +134,7 @@ function RadioGroupItem(props) {
|
|
|
134
134
|
"span",
|
|
135
135
|
{
|
|
136
136
|
className: chunkZS5756ZC_js.cn(
|
|
137
|
-
|
|
137
|
+
chunkZZ53RJNH_js.radioGroupIndicatorVariants({ size }),
|
|
138
138
|
indicatorClassName
|
|
139
139
|
),
|
|
140
140
|
"data-slot": "radio-group-indicator"
|
|
@@ -151,19 +151,19 @@ RadioGroupItem.displayName = "RadioGroupItem";
|
|
|
151
151
|
|
|
152
152
|
Object.defineProperty(exports, "radioGroupControlVariants", {
|
|
153
153
|
enumerable: true,
|
|
154
|
-
get: function () { return
|
|
154
|
+
get: function () { return chunkZZ53RJNH_js.radioGroupControlVariants; }
|
|
155
155
|
});
|
|
156
156
|
Object.defineProperty(exports, "radioGroupIndicatorVariants", {
|
|
157
157
|
enumerable: true,
|
|
158
|
-
get: function () { return
|
|
158
|
+
get: function () { return chunkZZ53RJNH_js.radioGroupIndicatorVariants; }
|
|
159
159
|
});
|
|
160
160
|
Object.defineProperty(exports, "radioGroupItemVariants", {
|
|
161
161
|
enumerable: true,
|
|
162
|
-
get: function () { return
|
|
162
|
+
get: function () { return chunkZZ53RJNH_js.radioGroupItemVariants; }
|
|
163
163
|
});
|
|
164
164
|
Object.defineProperty(exports, "radioGroupRootVariants", {
|
|
165
165
|
enumerable: true,
|
|
166
|
-
get: function () { return
|
|
166
|
+
get: function () { return chunkZZ53RJNH_js.radioGroupRootVariants; }
|
|
167
167
|
});
|
|
168
168
|
exports.RadioGroup = RadioGroup;
|
|
169
169
|
exports.RadioGroupItem = RadioGroupItem;
|
package/dist/ui/radio-group.mjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import { RadioGroupContext, radioGroupRootVariants, useRadioGroupContext, radioGroupIndicatorVariants, radioGroupControlVariants, radioGroupItemVariants } from '../chunk-
|
|
3
|
-
export { radioGroupControlVariants, radioGroupIndicatorVariants, radioGroupItemVariants, radioGroupRootVariants } from '../chunk-
|
|
2
|
+
import { RadioGroupContext, radioGroupRootVariants, useRadioGroupContext, radioGroupIndicatorVariants, radioGroupControlVariants, radioGroupItemVariants } from '../chunk-S4NQTWMW.mjs';
|
|
3
|
+
export { radioGroupControlVariants, radioGroupIndicatorVariants, radioGroupItemVariants, radioGroupRootVariants } from '../chunk-S4NQTWMW.mjs';
|
|
4
4
|
import { cn } from '../chunk-4D54YOL6.mjs';
|
|
5
5
|
import { useId, useState, useCallback } from 'react';
|
|
6
6
|
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
@@ -2,6 +2,6 @@ export declare const ratingItemVariants: (props?: ({
|
|
|
2
2
|
size?: "md" | "sm" | "lg" | null | undefined;
|
|
3
3
|
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
4
4
|
export declare const ratingIconVariants: (props?: ({
|
|
5
|
-
appearance?: "outline" | "default" | "glass" | "sky" | "emerald" | "violet" | "amber" | "rose" | "gray" | "indigo" | "orange" | "pink" | "purple" | "teal" | "yellow" | "gradient-blue" | "gradient-green" | "gradient-red" | "gradient-yellow" | "gradient-purple" | "gradient-teal" | "gradient-indigo" | "gradient-pink" | "gradient-orange" | "secondary" | "destructive" | "ghost" | null | undefined;
|
|
5
|
+
appearance?: "ruby" | "outline" | "default" | "glass" | "sky" | "emerald" | "violet" | "amber" | "rose" | "slate" | "gray" | "indigo" | "cyan" | "aqua" | "blue" | "crimson" | "green" | "lavender" | "lime" | "magenta" | "orange" | "pink" | "plum" | "purple" | "red" | "teal" | "yellow" | "gradient-blue" | "gradient-green" | "gradient-red" | "gradient-yellow" | "gradient-purple" | "gradient-teal" | "gradient-indigo" | "gradient-pink" | "gradient-orange" | "secondary" | "destructive" | "ghost" | "mint" | "ocean" | "sapphire" | "zinc" | "stone" | "royal" | "electric" | "forest" | "sunset" | null | undefined;
|
|
6
6
|
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
7
7
|
//# sourceMappingURL=variants.d.ts.map
|
package/dist/ui/rating.js
CHANGED
|
@@ -48,7 +48,28 @@ var zuiRatingAppearances = {
|
|
|
48
48
|
"gradient-teal": "text-[color:var(--zui-rating-gradient-teal-active,oklch(60%_0.118_184.704))] drop-shadow-[0_2px_12px_rgba(13,148,136,0.24)] dark:text-[color:var(--zui-rating-gradient-teal-active-dark,oklch(77.7%_0.152_181.912))]",
|
|
49
49
|
"gradient-indigo": "text-[color:var(--zui-rating-gradient-indigo-active,oklch(51.1%_0.262_276.966))] drop-shadow-[0_2px_12px_rgba(79,70,229,0.24)] dark:text-[color:var(--zui-rating-gradient-indigo-active-dark,oklch(67.3%_0.182_276.935))]",
|
|
50
50
|
"gradient-pink": "text-[color:var(--zui-rating-gradient-pink-active,oklch(59.2%_0.249_0.584))] drop-shadow-[0_2px_12px_rgba(219,39,119,0.24)] dark:text-[color:var(--zui-rating-gradient-pink-active-dark,oklch(71.8%_0.202_349.761))]",
|
|
51
|
-
"gradient-orange": "text-[color:var(--zui-rating-gradient-orange-active,oklch(64.6%_0.222_41.116))] drop-shadow-[0_2px_12px_rgba(234,88,12,0.24)] dark:text-[color:var(--zui-rating-gradient-orange-active-dark,oklch(75%_0.183_55.934))]"
|
|
51
|
+
"gradient-orange": "text-[color:var(--zui-rating-gradient-orange-active,oklch(64.6%_0.222_41.116))] drop-shadow-[0_2px_12px_rgba(234,88,12,0.24)] dark:text-[color:var(--zui-rating-gradient-orange-active-dark,oklch(75%_0.183_55.934))]",
|
|
52
|
+
blue: "text-[color:var(--zui-rating-blue-fg,#2563eb)] dark:text-[color:var(--zui-rating-blue-fg-dark,#3b82f6)]",
|
|
53
|
+
cyan: "text-[color:var(--zui-rating-cyan-fg,#0891b2)] dark:text-[color:var(--zui-rating-cyan-fg-dark,#22d3ee)]",
|
|
54
|
+
green: "text-[color:var(--zui-rating-green-fg,#16a34a)] dark:text-[color:var(--zui-rating-green-fg-dark,#22c55e)]",
|
|
55
|
+
lime: "text-[color:var(--zui-rating-lime-fg,#65a30d)] dark:text-[color:var(--zui-rating-lime-fg-dark,#a3e635)]",
|
|
56
|
+
mint: "text-[color:var(--zui-rating-mint-fg,#10b981)] dark:text-[color:var(--zui-rating-mint-fg-dark,#6ee7b7)]",
|
|
57
|
+
ocean: "text-[color:var(--zui-rating-ocean-fg,#0284c7)] dark:text-[color:var(--zui-rating-ocean-fg-dark,#38bdf8)]",
|
|
58
|
+
sapphire: "text-[color:var(--zui-rating-sapphire-fg,#1d4ed8)] dark:text-[color:var(--zui-rating-sapphire-fg-dark,#60a5fa)]",
|
|
59
|
+
lavender: "text-[color:var(--zui-rating-lavender-fg,#8b5cf6)] dark:text-[color:var(--zui-rating-lavender-fg-dark,#a78bfa)]",
|
|
60
|
+
ruby: "text-[color:var(--zui-rating-ruby-fg,#be123c)] dark:text-[color:var(--zui-rating-ruby-fg-dark,#fb7185)]",
|
|
61
|
+
red: "text-[color:var(--zui-rating-red-fg,#dc2626)] dark:text-[color:var(--zui-rating-red-fg-dark,#ef4444)]",
|
|
62
|
+
slate: "text-[color:var(--zui-rating-slate-fg,#475569)] dark:text-[color:var(--zui-rating-slate-fg-dark,#64748b)]",
|
|
63
|
+
zinc: "text-[color:var(--zui-rating-zinc-fg,#52525b)] dark:text-[color:var(--zui-rating-zinc-fg-dark,#71717a)]",
|
|
64
|
+
stone: "text-[color:var(--zui-rating-stone-fg,#57534e)] dark:text-[color:var(--zui-rating-stone-fg-dark,#78716c)]",
|
|
65
|
+
royal: "text-[color:var(--zui-rating-royal-fg,#4338ca)] dark:text-[color:var(--zui-rating-royal-fg-dark,#818cf8)]",
|
|
66
|
+
electric: "text-[color:var(--zui-rating-electric-fg,#0ea5e9)] dark:text-[color:var(--zui-rating-electric-fg-dark,#38bdf8)]",
|
|
67
|
+
forest: "text-[color:var(--zui-rating-forest-fg,#166534)] dark:text-[color:var(--zui-rating-forest-fg-dark,#4ade80)]",
|
|
68
|
+
sunset: "text-[color:var(--zui-rating-sunset-fg,#ea580c)] dark:text-[color:var(--zui-rating-sunset-fg-dark,#fb923c)]",
|
|
69
|
+
magenta: "text-[color:var(--zui-rating-magenta-fg,#c026d3)] dark:text-[color:var(--zui-rating-magenta-fg-dark,#e879f9)]",
|
|
70
|
+
crimson: "text-[color:var(--zui-rating-crimson-fg,#b91c1c)] dark:text-[color:var(--zui-rating-crimson-fg-dark,#f87171)]",
|
|
71
|
+
aqua: "text-[color:var(--zui-rating-aqua-fg,#0f766e)] dark:text-[color:var(--zui-rating-aqua-fg-dark,#2dd4bf)]",
|
|
72
|
+
plum: "text-[color:var(--zui-rating-plum-fg,#7e22ce)] dark:text-[color:var(--zui-rating-plum-fg-dark,#c084fc)]"
|
|
52
73
|
};
|
|
53
74
|
var ratingItemVariants = classVarianceAuthority.cva(zuiRatingItemBase, {
|
|
54
75
|
variants: {
|
package/dist/ui/rating.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/design-system/rating.ts","../../src/ui/rating/variants.ts","../../src/ui/rating/rating.tsx"],"names":["cva","FaStar","FaHeart","FaFire","FaThumbsUp","useId","useState","useCallback","jsxs","cn","jsx"],"mappings":"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","file":"rating.js","sourcesContent":["export const zuiRatingRootBase =\n \"grid w-fit gap-2 text-[color:var(--zui-rating-label-fg,oklch(20.8%_0.042_265.755))] dark:text-[color:var(--zui-rating-label-fg-dark,oklch(98.4%_0.003_247.858))] data-[disabled=true]:cursor-not-allowed data-[disabled=true]:opacity-50\";\n\nexport const zuiRatingLabelBase =\n \"text-sm font-medium leading-6 text-[color:var(--zui-rating-label-fg,oklch(20.8%_0.042_265.755))] dark:text-[color:var(--zui-rating-label-fg-dark,oklch(98.4%_0.003_247.858))]\";\n\nexport const zuiRatingHintBase =\n \"max-w-sm text-xs leading-5 text-[color:var(--zui-rating-hint-fg,oklch(55.4%_0.046_257.417))] dark:text-[color:var(--zui-rating-hint-fg-dark,oklch(70.4%_0.04_256.788))]\";\n\nexport const zuiRatingGroupBase =\n \"flex w-fit flex-wrap items-center gap-[var(--zui-rating-gap,0.25rem)]\";\n\nexport const zuiRatingItemBase =\n \"relative inline-grid shrink-0 place-items-center text-[color:var(--zui-rating-empty,oklch(86.9%_0.022_252.894))] transition-transform duration-200 data-[interactive=true]:hover:-translate-y-0.5 dark:text-[color:var(--zui-rating-empty-dark,oklch(37.2%_0.044_257.287))]\";\n\nexport const zuiRatingIconBase =\n \"pointer-events-none col-start-1 row-start-1 transition-[clip-path,color,transform] duration-200 ease-out\";\n\nexport const zuiRatingControlBase =\n \"absolute inset-y-0 z-[1] cursor-pointer rounded-md bg-transparent outline-none transition-shadow focus-visible:ring-2 focus-visible:ring-[var(--zui-rating-ring-focus,oklch(54.6%_0.245_262.881_/_0.32))] focus-visible:ring-offset-2 focus-visible:ring-offset-[var(--zui-rating-ring-offset-focus,#ffffff)] disabled:cursor-not-allowed dark:focus-visible:ring-offset-[var(--zui-rating-ring-offset-focus-dark,oklch(12.9%_0.042_264.695))]\";\n\nexport const zuiRatingErrorBase =\n \"text-sm leading-6 text-[color:var(--zui-rating-error-fg,oklch(58.6%_0.253_17.585))] dark:text-[color:var(--zui-rating-error-fg-dark,oklch(71.2%_0.194_13.428))]\";\n\nexport const zuiRatingSizes = {\n sm: \"size-5 text-lg\",\n md: \"size-7 text-2xl\",\n lg: \"size-9 text-3xl\",\n} as const;\n\nexport const zuiRatingAppearances = {\n default:\n \"text-[color:var(--zui-rating-default-active,oklch(20.8%_0.042_265.755))] dark:text-[color:var(--zui-rating-default-active-dark,oklch(98.4%_0.003_247.858))]\",\n secondary:\n \"text-[color:var(--zui-rating-secondary-active,oklch(44.6%_0.043_257.281))] dark:text-[color:var(--zui-rating-secondary-active-dark,oklch(86.9%_0.022_252.894))]\",\n destructive:\n \"text-[color:var(--zui-rating-destructive-active,oklch(58.6%_0.253_17.585))] dark:text-[color:var(--zui-rating-destructive-active-dark,oklch(71.2%_0.194_13.428))]\",\n outline:\n \"text-[color:var(--zui-rating-outline-active,oklch(44.6%_0.043_257.281))] dark:text-[color:var(--zui-rating-outline-active-dark,oklch(86.9%_0.022_252.894))]\",\n ghost:\n \"text-[color:var(--zui-rating-ghost-active,oklch(37.2%_0.044_257.287))] dark:text-[color:var(--zui-rating-ghost-active-dark,oklch(92.9%_0.013_255.508))]\",\n glass:\n \"text-[color:var(--zui-rating-glass-active,oklch(54.6%_0.245_262.881))] drop-shadow-[0_2px_12px_rgba(59,130,246,0.25)] dark:text-[color:var(--zui-rating-glass-active-dark,oklch(78.9%_0.154_211.53))]\",\n emerald:\n \"text-[color:var(--zui-rating-emerald-active,oklch(59.6%_0.145_163.225))] dark:text-[color:var(--zui-rating-emerald-active-dark,oklch(77.7%_0.152_181.912))]\",\n indigo:\n \"text-[color:var(--zui-rating-indigo-active,oklch(51.1%_0.262_276.966))] dark:text-[color:var(--zui-rating-indigo-active-dark,oklch(67.3%_0.182_276.935))]\",\n purple:\n \"text-[color:var(--zui-rating-purple-active,oklch(55.8%_0.288_302.321))] dark:text-[color:var(--zui-rating-purple-active-dark,oklch(71.4%_0.203_305.504))]\",\n pink: \"text-[color:var(--zui-rating-pink-active,oklch(59.2%_0.249_0.584))] dark:text-[color:var(--zui-rating-pink-active-dark,oklch(71.8%_0.202_349.761))]\",\n rose: \"text-[color:var(--zui-rating-rose-active,oklch(58.6%_0.253_17.585))] dark:text-[color:var(--zui-rating-rose-active-dark,oklch(71.2%_0.194_13.428))]\",\n sky: \"text-[color:var(--zui-rating-sky-active,oklch(62.3%_0.214_259.815))] dark:text-[color:var(--zui-rating-sky-active-dark,oklch(74.6%_0.16_232.661))]\",\n teal: \"text-[color:var(--zui-rating-teal-active,oklch(60%_0.118_184.704))] dark:text-[color:var(--zui-rating-teal-active-dark,oklch(77.7%_0.152_181.912))]\",\n yellow:\n \"text-[color:var(--zui-rating-yellow-active,oklch(79.5%_0.184_86.047))] dark:text-[color:var(--zui-rating-yellow-active-dark,oklch(85.2%_0.199_91.936))]\",\n orange:\n \"text-[color:var(--zui-rating-orange-active,oklch(64.6%_0.222_41.116))] dark:text-[color:var(--zui-rating-orange-active-dark,oklch(75%_0.183_55.934))]\",\n gray: \"text-[color:var(--zui-rating-gray-active,oklch(55.1%_0.027_264.364))] dark:text-[color:var(--zui-rating-gray-active-dark,oklch(70.7%_0.022_261.325))]\",\n amber:\n \"text-[color:var(--zui-rating-amber-active,oklch(76.9%_0.188_70.08))] dark:text-[color:var(--zui-rating-amber-active-dark,oklch(82.8%_0.189_84.429))]\",\n violet:\n \"text-[color:var(--zui-rating-violet-active,oklch(54.1%_0.281_293.009))] dark:text-[color:var(--zui-rating-violet-active-dark,oklch(70.2%_0.183_293.541))]\",\n \"gradient-blue\":\n \"text-[color:var(--zui-rating-gradient-blue-active,oklch(54.6%_0.245_262.881))] drop-shadow-[0_2px_12px_rgba(37,99,235,0.28)] dark:text-[color:var(--zui-rating-gradient-blue-active-dark,oklch(70.7%_0.165_254.624))]\",\n \"gradient-green\":\n \"text-[color:var(--zui-rating-gradient-green-active,oklch(62.7%_0.194_149.214))] drop-shadow-[0_2px_12px_rgba(22,163,74,0.24)] dark:text-[color:var(--zui-rating-gradient-green-active-dark,oklch(79.2%_0.209_151.711))]\",\n \"gradient-red\":\n \"text-[color:var(--zui-rating-gradient-red-active,oklch(57.7%_0.245_27.325))] drop-shadow-[0_2px_12px_rgba(220,38,38,0.24)] dark:text-[color:var(--zui-rating-gradient-red-active-dark,oklch(70.4%_0.191_22.216))]\",\n \"gradient-yellow\":\n \"text-[color:var(--zui-rating-gradient-yellow-active,oklch(79.5%_0.184_86.047))] drop-shadow-[0_2px_12px_rgba(234,179,8,0.24)] dark:text-[color:var(--zui-rating-gradient-yellow-active-dark,oklch(85.2%_0.199_91.936))]\",\n \"gradient-purple\":\n \"text-[color:var(--zui-rating-gradient-purple-active,oklch(62.7%_0.265_303.9))] drop-shadow-[0_2px_12px_rgba(147,51,234,0.24)] dark:text-[color:var(--zui-rating-gradient-purple-active-dark,oklch(71.4%_0.203_305.504))]\",\n \"gradient-teal\":\n \"text-[color:var(--zui-rating-gradient-teal-active,oklch(60%_0.118_184.704))] drop-shadow-[0_2px_12px_rgba(13,148,136,0.24)] dark:text-[color:var(--zui-rating-gradient-teal-active-dark,oklch(77.7%_0.152_181.912))]\",\n \"gradient-indigo\":\n \"text-[color:var(--zui-rating-gradient-indigo-active,oklch(51.1%_0.262_276.966))] drop-shadow-[0_2px_12px_rgba(79,70,229,0.24)] dark:text-[color:var(--zui-rating-gradient-indigo-active-dark,oklch(67.3%_0.182_276.935))]\",\n \"gradient-pink\":\n \"text-[color:var(--zui-rating-gradient-pink-active,oklch(59.2%_0.249_0.584))] drop-shadow-[0_2px_12px_rgba(219,39,119,0.24)] dark:text-[color:var(--zui-rating-gradient-pink-active-dark,oklch(71.8%_0.202_349.761))]\",\n \"gradient-orange\":\n \"text-[color:var(--zui-rating-gradient-orange-active,oklch(64.6%_0.222_41.116))] drop-shadow-[0_2px_12px_rgba(234,88,12,0.24)] dark:text-[color:var(--zui-rating-gradient-orange-active-dark,oklch(75%_0.183_55.934))]\",\n} as const;\n","import { cva } from \"class-variance-authority\";\n\nimport {\n zuiRatingAppearances,\n zuiRatingIconBase,\n zuiRatingItemBase,\n zuiRatingSizes,\n} from \"../../design-system/rating\";\n\nexport const ratingItemVariants = cva(zuiRatingItemBase, {\n variants: {\n size: zuiRatingSizes,\n },\n defaultVariants: {\n size: \"md\",\n },\n});\n\nexport const ratingIconVariants = cva(zuiRatingIconBase, {\n variants: {\n appearance: zuiRatingAppearances,\n },\n defaultVariants: {\n appearance: \"amber\",\n },\n});\n","\"use client\";\n\nimport {\n type CSSProperties,\n type KeyboardEvent,\n useCallback,\n useId,\n useState,\n} from \"react\";\nimport { FaFire, FaHeart, FaStar, FaThumbsUp } from \"react-icons/fa\";\nimport type { IconType } from \"react-icons\";\n\nimport {\n zuiRatingControlBase,\n zuiRatingErrorBase,\n zuiRatingGroupBase,\n zuiRatingHintBase,\n zuiRatingLabelBase,\n zuiRatingRootBase,\n} from \"../../design-system/rating\";\nimport { cn } from \"../../lib/utils\";\n\nimport type { RatingPresetIcon, RatingProps } from \"./types\";\nimport { ratingIconVariants, ratingItemVariants } from \"./variants\";\n\nconst PRESET_ICONS: Record<RatingPresetIcon, IconType> = {\n star: FaStar,\n heart: FaHeart,\n flame: FaFire,\n thumb: FaThumbsUp,\n};\n\nfunction clamp(value: number, min: number, max: number): number {\n return Math.min(Math.max(value, min), max);\n}\n\nfunction normalizeMax(max: number | undefined): number {\n const resolved = Number.isFinite(max) ? Number(max) : 5;\n return Math.max(1, Math.min(10, Math.floor(resolved)));\n}\n\nfunction normalizeValue(\n value: number | undefined,\n max: number,\n allowHalf: boolean,\n): number {\n const resolved = Number.isFinite(value) ? Number(value) : 0;\n const step = allowHalf ? 0.5 : 1;\n return clamp(Math.round(resolved / step) * step, 0, max);\n}\n\nfunction defaultGetLabel(value: number, max: number): string {\n return `${value} of ${max}`;\n}\n\nfunction resolveIcon(icon: RatingProps[\"icon\"]): IconType {\n if (!icon) {\n return PRESET_ICONS.star;\n }\n\n if (typeof icon === \"string\") {\n return PRESET_ICONS[icon as RatingPresetIcon] ?? PRESET_ICONS.star;\n }\n\n return icon;\n}\n\nexport function Rating(props: RatingProps) {\n const {\n allowClear = false,\n allowHalf = false,\n appearance,\n className,\n defaultValue = 0,\n disabled,\n errorMessage,\n getLabel = defaultGetLabel,\n hint,\n icon,\n iconClassName,\n id,\n label,\n max = 5,\n name,\n onValueChange,\n readOnly,\n ref,\n size,\n value,\n ...rest\n } = props;\n\n const generatedId = useId();\n const rootId = id ?? generatedId;\n const resolvedMax = normalizeMax(max);\n const isControlled = value !== undefined;\n const [uncontrolledValue, setUncontrolledValue] = useState(() =>\n normalizeValue(defaultValue, resolvedMax, allowHalf),\n );\n const [hoverValue, setHoverValue] = useState<number | undefined>();\n const resolvedValue = normalizeValue(\n isControlled ? value : uncontrolledValue,\n resolvedMax,\n allowHalf,\n );\n const displayValue = hoverValue ?? resolvedValue;\n const Icon = resolveIcon(icon);\n const interactive = !disabled && !readOnly;\n const controlsDisabled = disabled || readOnly;\n const step = allowHalf ? 0.5 : 1;\n const labelId = `${rootId}-label`;\n const hintId = `${rootId}-hint`;\n const errorId = `${rootId}-error`;\n const describedBy = [\n hint !== undefined ? hintId : undefined,\n errorMessage !== undefined ? errorId : undefined,\n ]\n .filter(Boolean)\n .join(\" \");\n\n const commitValue = useCallback(\n (nextValue: number) => {\n const normalized = normalizeValue(nextValue, resolvedMax, allowHalf);\n const next = allowClear && normalized === resolvedValue ? 0 : normalized;\n\n if (!isControlled) {\n setUncontrolledValue(next);\n }\n onValueChange?.(next);\n },\n [\n allowClear,\n allowHalf,\n isControlled,\n onValueChange,\n resolvedMax,\n resolvedValue,\n ],\n );\n\n const handleKeyDown = useCallback(\n (event: KeyboardEvent<HTMLButtonElement>) => {\n if (!interactive) {\n return;\n }\n\n const root = event.currentTarget.closest('[data-slot=\"rating\"]');\n const focusValue = (nextValue: number) => {\n const control = root?.querySelector(\n `button[data-value=\"${nextValue}\"]`,\n ) as HTMLButtonElement | null;\n control?.focus();\n };\n\n if (event.key === \"ArrowRight\" || event.key === \"ArrowUp\") {\n event.preventDefault();\n const nextValue = clamp(resolvedValue + step, step, resolvedMax);\n commitValue(nextValue);\n focusValue(nextValue);\n return;\n }\n\n if (event.key === \"ArrowLeft\" || event.key === \"ArrowDown\") {\n event.preventDefault();\n const nextValue = clamp(resolvedValue - step, 0, resolvedMax);\n commitValue(nextValue);\n focusValue(nextValue === 0 ? step : nextValue);\n return;\n }\n\n if (event.key === \"Home\") {\n event.preventDefault();\n commitValue(step);\n focusValue(step);\n return;\n }\n\n if (event.key === \"End\") {\n event.preventDefault();\n commitValue(resolvedMax);\n focusValue(resolvedMax);\n }\n },\n [commitValue, interactive, resolvedMax, resolvedValue, step],\n );\n\n return (\n <div\n ref={ref}\n id={rootId}\n className={cn(zuiRatingRootBase, className)}\n data-disabled={disabled ? \"true\" : undefined}\n data-readonly={readOnly ? \"true\" : undefined}\n data-slot=\"rating\"\n {...rest}\n >\n {label !== undefined && (\n <p id={labelId} className={zuiRatingLabelBase}>\n {label}\n </p>\n )}\n {hint !== undefined && (\n <p id={hintId} className={zuiRatingHintBase}>\n {hint}\n </p>\n )}\n <div\n aria-describedby={describedBy || undefined}\n aria-invalid={errorMessage !== undefined ? true : undefined}\n aria-labelledby={label !== undefined ? labelId : undefined}\n aria-label={label === undefined ? \"Rating\" : undefined}\n className={zuiRatingGroupBase}\n data-slot=\"rating-group\"\n onPointerLeave={() => setHoverValue(undefined)}\n role=\"radiogroup\"\n >\n {Array.from({ length: resolvedMax }, (_, index) => {\n const fullValue = index + 1;\n const fillAmount = clamp(displayValue - index, 0, 1);\n const clipStyle = {\n clipPath: `inset(0 ${100 - fillAmount * 100}% 0 0)`,\n } satisfies CSSProperties;\n const itemOptions = allowHalf\n ? [fullValue - 0.5, fullValue]\n : [fullValue];\n\n return (\n <span\n key={fullValue}\n className={ratingItemVariants({ size })}\n data-interactive={interactive ? \"true\" : undefined}\n data-slot=\"rating-item\"\n >\n <Icon\n aria-hidden=\"true\"\n className={cn(\"col-start-1 row-start-1\", iconClassName)}\n />\n <Icon\n aria-hidden=\"true\"\n className={cn(\n ratingIconVariants({ appearance }),\n iconClassName,\n )}\n data-slot=\"rating-icon-fill\"\n style={clipStyle}\n />\n {itemOptions.map((optionValue, optionIndex) => (\n <button\n key={optionValue}\n type=\"button\"\n aria-checked={resolvedValue === optionValue}\n aria-label={getLabel(optionValue, resolvedMax)}\n className={cn(\n zuiRatingControlBase,\n allowHalf\n ? optionIndex === 0\n ? \"left-0 w-1/2\"\n : \"right-0 w-1/2\"\n : \"inset-x-0\",\n )}\n data-slot=\"rating-control\"\n data-value={optionValue}\n disabled={controlsDisabled}\n onClick={() => {\n if (interactive) {\n commitValue(optionValue);\n }\n }}\n onKeyDown={handleKeyDown}\n onPointerEnter={() => {\n if (interactive) {\n setHoverValue(optionValue);\n }\n }}\n role=\"radio\"\n tabIndex={\n resolvedValue === optionValue ||\n (resolvedValue === 0 && optionValue === step)\n ? 0\n : -1\n }\n />\n ))}\n </span>\n );\n })}\n </div>\n {name !== undefined && (\n <input\n type=\"hidden\"\n name={name}\n value={resolvedValue}\n disabled={disabled}\n />\n )}\n {errorMessage !== undefined && (\n <p id={errorId} className={zuiRatingErrorBase}>\n {errorMessage}\n </p>\n )}\n </div>\n );\n}\n\nRating.displayName = \"Rating\";\n"]}
|
|
1
|
+
{"version":3,"sources":["../../src/design-system/rating.ts","../../src/ui/rating/variants.ts","../../src/ui/rating/rating.tsx"],"names":["cva","FaStar","FaHeart","FaFire","FaThumbsUp","useId","useState","useCallback","jsxs","cn","jsx"],"mappings":"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","file":"rating.js","sourcesContent":["export const zuiRatingRootBase =\n \"grid w-fit gap-2 text-[color:var(--zui-rating-label-fg,oklch(20.8%_0.042_265.755))] dark:text-[color:var(--zui-rating-label-fg-dark,oklch(98.4%_0.003_247.858))] data-[disabled=true]:cursor-not-allowed data-[disabled=true]:opacity-50\";\n\nexport const zuiRatingLabelBase =\n \"text-sm font-medium leading-6 text-[color:var(--zui-rating-label-fg,oklch(20.8%_0.042_265.755))] dark:text-[color:var(--zui-rating-label-fg-dark,oklch(98.4%_0.003_247.858))]\";\n\nexport const zuiRatingHintBase =\n \"max-w-sm text-xs leading-5 text-[color:var(--zui-rating-hint-fg,oklch(55.4%_0.046_257.417))] dark:text-[color:var(--zui-rating-hint-fg-dark,oklch(70.4%_0.04_256.788))]\";\n\nexport const zuiRatingGroupBase =\n \"flex w-fit flex-wrap items-center gap-[var(--zui-rating-gap,0.25rem)]\";\n\nexport const zuiRatingItemBase =\n \"relative inline-grid shrink-0 place-items-center text-[color:var(--zui-rating-empty,oklch(86.9%_0.022_252.894))] transition-transform duration-200 data-[interactive=true]:hover:-translate-y-0.5 dark:text-[color:var(--zui-rating-empty-dark,oklch(37.2%_0.044_257.287))]\";\n\nexport const zuiRatingIconBase =\n \"pointer-events-none col-start-1 row-start-1 transition-[clip-path,color,transform] duration-200 ease-out\";\n\nexport const zuiRatingControlBase =\n \"absolute inset-y-0 z-[1] cursor-pointer rounded-md bg-transparent outline-none transition-shadow focus-visible:ring-2 focus-visible:ring-[var(--zui-rating-ring-focus,oklch(54.6%_0.245_262.881_/_0.32))] focus-visible:ring-offset-2 focus-visible:ring-offset-[var(--zui-rating-ring-offset-focus,#ffffff)] disabled:cursor-not-allowed dark:focus-visible:ring-offset-[var(--zui-rating-ring-offset-focus-dark,oklch(12.9%_0.042_264.695))]\";\n\nexport const zuiRatingErrorBase =\n \"text-sm leading-6 text-[color:var(--zui-rating-error-fg,oklch(58.6%_0.253_17.585))] dark:text-[color:var(--zui-rating-error-fg-dark,oklch(71.2%_0.194_13.428))]\";\n\nexport const zuiRatingSizes = {\n sm: \"size-5 text-lg\",\n md: \"size-7 text-2xl\",\n lg: \"size-9 text-3xl\",\n} as const;\n\nexport const zuiRatingAppearances = {\n default:\n \"text-[color:var(--zui-rating-default-active,oklch(20.8%_0.042_265.755))] dark:text-[color:var(--zui-rating-default-active-dark,oklch(98.4%_0.003_247.858))]\",\n secondary:\n \"text-[color:var(--zui-rating-secondary-active,oklch(44.6%_0.043_257.281))] dark:text-[color:var(--zui-rating-secondary-active-dark,oklch(86.9%_0.022_252.894))]\",\n destructive:\n \"text-[color:var(--zui-rating-destructive-active,oklch(58.6%_0.253_17.585))] dark:text-[color:var(--zui-rating-destructive-active-dark,oklch(71.2%_0.194_13.428))]\",\n outline:\n \"text-[color:var(--zui-rating-outline-active,oklch(44.6%_0.043_257.281))] dark:text-[color:var(--zui-rating-outline-active-dark,oklch(86.9%_0.022_252.894))]\",\n ghost:\n \"text-[color:var(--zui-rating-ghost-active,oklch(37.2%_0.044_257.287))] dark:text-[color:var(--zui-rating-ghost-active-dark,oklch(92.9%_0.013_255.508))]\",\n glass:\n \"text-[color:var(--zui-rating-glass-active,oklch(54.6%_0.245_262.881))] drop-shadow-[0_2px_12px_rgba(59,130,246,0.25)] dark:text-[color:var(--zui-rating-glass-active-dark,oklch(78.9%_0.154_211.53))]\",\n emerald:\n \"text-[color:var(--zui-rating-emerald-active,oklch(59.6%_0.145_163.225))] dark:text-[color:var(--zui-rating-emerald-active-dark,oklch(77.7%_0.152_181.912))]\",\n indigo:\n \"text-[color:var(--zui-rating-indigo-active,oklch(51.1%_0.262_276.966))] dark:text-[color:var(--zui-rating-indigo-active-dark,oklch(67.3%_0.182_276.935))]\",\n purple:\n \"text-[color:var(--zui-rating-purple-active,oklch(55.8%_0.288_302.321))] dark:text-[color:var(--zui-rating-purple-active-dark,oklch(71.4%_0.203_305.504))]\",\n pink: \"text-[color:var(--zui-rating-pink-active,oklch(59.2%_0.249_0.584))] dark:text-[color:var(--zui-rating-pink-active-dark,oklch(71.8%_0.202_349.761))]\",\n rose: \"text-[color:var(--zui-rating-rose-active,oklch(58.6%_0.253_17.585))] dark:text-[color:var(--zui-rating-rose-active-dark,oklch(71.2%_0.194_13.428))]\",\n sky: \"text-[color:var(--zui-rating-sky-active,oklch(62.3%_0.214_259.815))] dark:text-[color:var(--zui-rating-sky-active-dark,oklch(74.6%_0.16_232.661))]\",\n teal: \"text-[color:var(--zui-rating-teal-active,oklch(60%_0.118_184.704))] dark:text-[color:var(--zui-rating-teal-active-dark,oklch(77.7%_0.152_181.912))]\",\n yellow:\n \"text-[color:var(--zui-rating-yellow-active,oklch(79.5%_0.184_86.047))] dark:text-[color:var(--zui-rating-yellow-active-dark,oklch(85.2%_0.199_91.936))]\",\n orange:\n \"text-[color:var(--zui-rating-orange-active,oklch(64.6%_0.222_41.116))] dark:text-[color:var(--zui-rating-orange-active-dark,oklch(75%_0.183_55.934))]\",\n gray: \"text-[color:var(--zui-rating-gray-active,oklch(55.1%_0.027_264.364))] dark:text-[color:var(--zui-rating-gray-active-dark,oklch(70.7%_0.022_261.325))]\",\n amber:\n \"text-[color:var(--zui-rating-amber-active,oklch(76.9%_0.188_70.08))] dark:text-[color:var(--zui-rating-amber-active-dark,oklch(82.8%_0.189_84.429))]\",\n violet:\n \"text-[color:var(--zui-rating-violet-active,oklch(54.1%_0.281_293.009))] dark:text-[color:var(--zui-rating-violet-active-dark,oklch(70.2%_0.183_293.541))]\",\n \"gradient-blue\":\n \"text-[color:var(--zui-rating-gradient-blue-active,oklch(54.6%_0.245_262.881))] drop-shadow-[0_2px_12px_rgba(37,99,235,0.28)] dark:text-[color:var(--zui-rating-gradient-blue-active-dark,oklch(70.7%_0.165_254.624))]\",\n \"gradient-green\":\n \"text-[color:var(--zui-rating-gradient-green-active,oklch(62.7%_0.194_149.214))] drop-shadow-[0_2px_12px_rgba(22,163,74,0.24)] dark:text-[color:var(--zui-rating-gradient-green-active-dark,oklch(79.2%_0.209_151.711))]\",\n \"gradient-red\":\n \"text-[color:var(--zui-rating-gradient-red-active,oklch(57.7%_0.245_27.325))] drop-shadow-[0_2px_12px_rgba(220,38,38,0.24)] dark:text-[color:var(--zui-rating-gradient-red-active-dark,oklch(70.4%_0.191_22.216))]\",\n \"gradient-yellow\":\n \"text-[color:var(--zui-rating-gradient-yellow-active,oklch(79.5%_0.184_86.047))] drop-shadow-[0_2px_12px_rgba(234,179,8,0.24)] dark:text-[color:var(--zui-rating-gradient-yellow-active-dark,oklch(85.2%_0.199_91.936))]\",\n \"gradient-purple\":\n \"text-[color:var(--zui-rating-gradient-purple-active,oklch(62.7%_0.265_303.9))] drop-shadow-[0_2px_12px_rgba(147,51,234,0.24)] dark:text-[color:var(--zui-rating-gradient-purple-active-dark,oklch(71.4%_0.203_305.504))]\",\n \"gradient-teal\":\n \"text-[color:var(--zui-rating-gradient-teal-active,oklch(60%_0.118_184.704))] drop-shadow-[0_2px_12px_rgba(13,148,136,0.24)] dark:text-[color:var(--zui-rating-gradient-teal-active-dark,oklch(77.7%_0.152_181.912))]\",\n \"gradient-indigo\":\n \"text-[color:var(--zui-rating-gradient-indigo-active,oklch(51.1%_0.262_276.966))] drop-shadow-[0_2px_12px_rgba(79,70,229,0.24)] dark:text-[color:var(--zui-rating-gradient-indigo-active-dark,oklch(67.3%_0.182_276.935))]\",\n \"gradient-pink\":\n \"text-[color:var(--zui-rating-gradient-pink-active,oklch(59.2%_0.249_0.584))] drop-shadow-[0_2px_12px_rgba(219,39,119,0.24)] dark:text-[color:var(--zui-rating-gradient-pink-active-dark,oklch(71.8%_0.202_349.761))]\",\n \"gradient-orange\":\n \"text-[color:var(--zui-rating-gradient-orange-active,oklch(64.6%_0.222_41.116))] drop-shadow-[0_2px_12px_rgba(234,88,12,0.24)] dark:text-[color:var(--zui-rating-gradient-orange-active-dark,oklch(75%_0.183_55.934))]\",\n blue: \"text-[color:var(--zui-rating-blue-fg,#2563eb)] dark:text-[color:var(--zui-rating-blue-fg-dark,#3b82f6)]\",\n cyan: \"text-[color:var(--zui-rating-cyan-fg,#0891b2)] dark:text-[color:var(--zui-rating-cyan-fg-dark,#22d3ee)]\",\n green:\n \"text-[color:var(--zui-rating-green-fg,#16a34a)] dark:text-[color:var(--zui-rating-green-fg-dark,#22c55e)]\",\n lime: \"text-[color:var(--zui-rating-lime-fg,#65a30d)] dark:text-[color:var(--zui-rating-lime-fg-dark,#a3e635)]\",\n mint: \"text-[color:var(--zui-rating-mint-fg,#10b981)] dark:text-[color:var(--zui-rating-mint-fg-dark,#6ee7b7)]\",\n ocean:\n \"text-[color:var(--zui-rating-ocean-fg,#0284c7)] dark:text-[color:var(--zui-rating-ocean-fg-dark,#38bdf8)]\",\n sapphire:\n \"text-[color:var(--zui-rating-sapphire-fg,#1d4ed8)] dark:text-[color:var(--zui-rating-sapphire-fg-dark,#60a5fa)]\",\n lavender:\n \"text-[color:var(--zui-rating-lavender-fg,#8b5cf6)] dark:text-[color:var(--zui-rating-lavender-fg-dark,#a78bfa)]\",\n ruby: \"text-[color:var(--zui-rating-ruby-fg,#be123c)] dark:text-[color:var(--zui-rating-ruby-fg-dark,#fb7185)]\",\n red: \"text-[color:var(--zui-rating-red-fg,#dc2626)] dark:text-[color:var(--zui-rating-red-fg-dark,#ef4444)]\",\n slate:\n \"text-[color:var(--zui-rating-slate-fg,#475569)] dark:text-[color:var(--zui-rating-slate-fg-dark,#64748b)]\",\n zinc: \"text-[color:var(--zui-rating-zinc-fg,#52525b)] dark:text-[color:var(--zui-rating-zinc-fg-dark,#71717a)]\",\n stone:\n \"text-[color:var(--zui-rating-stone-fg,#57534e)] dark:text-[color:var(--zui-rating-stone-fg-dark,#78716c)]\",\n royal:\n \"text-[color:var(--zui-rating-royal-fg,#4338ca)] dark:text-[color:var(--zui-rating-royal-fg-dark,#818cf8)]\",\n electric:\n \"text-[color:var(--zui-rating-electric-fg,#0ea5e9)] dark:text-[color:var(--zui-rating-electric-fg-dark,#38bdf8)]\",\n forest:\n \"text-[color:var(--zui-rating-forest-fg,#166534)] dark:text-[color:var(--zui-rating-forest-fg-dark,#4ade80)]\",\n sunset:\n \"text-[color:var(--zui-rating-sunset-fg,#ea580c)] dark:text-[color:var(--zui-rating-sunset-fg-dark,#fb923c)]\",\n magenta:\n \"text-[color:var(--zui-rating-magenta-fg,#c026d3)] dark:text-[color:var(--zui-rating-magenta-fg-dark,#e879f9)]\",\n crimson:\n \"text-[color:var(--zui-rating-crimson-fg,#b91c1c)] dark:text-[color:var(--zui-rating-crimson-fg-dark,#f87171)]\",\n aqua: \"text-[color:var(--zui-rating-aqua-fg,#0f766e)] dark:text-[color:var(--zui-rating-aqua-fg-dark,#2dd4bf)]\",\n plum: \"text-[color:var(--zui-rating-plum-fg,#7e22ce)] dark:text-[color:var(--zui-rating-plum-fg-dark,#c084fc)]\",\n} as const;\n","import { cva } from \"class-variance-authority\";\n\nimport {\n zuiRatingAppearances,\n zuiRatingIconBase,\n zuiRatingItemBase,\n zuiRatingSizes,\n} from \"../../design-system/rating\";\n\nexport const ratingItemVariants = cva(zuiRatingItemBase, {\n variants: {\n size: zuiRatingSizes,\n },\n defaultVariants: {\n size: \"md\",\n },\n});\n\nexport const ratingIconVariants = cva(zuiRatingIconBase, {\n variants: {\n appearance: zuiRatingAppearances,\n },\n defaultVariants: {\n appearance: \"amber\",\n },\n});\n","\"use client\";\n\nimport {\n type CSSProperties,\n type KeyboardEvent,\n useCallback,\n useId,\n useState,\n} from \"react\";\nimport { FaFire, FaHeart, FaStar, FaThumbsUp } from \"react-icons/fa\";\nimport type { IconType } from \"react-icons\";\n\nimport {\n zuiRatingControlBase,\n zuiRatingErrorBase,\n zuiRatingGroupBase,\n zuiRatingHintBase,\n zuiRatingLabelBase,\n zuiRatingRootBase,\n} from \"../../design-system/rating\";\nimport { cn } from \"../../lib/utils\";\n\nimport type { RatingPresetIcon, RatingProps } from \"./types\";\nimport { ratingIconVariants, ratingItemVariants } from \"./variants\";\n\nconst PRESET_ICONS: Record<RatingPresetIcon, IconType> = {\n star: FaStar,\n heart: FaHeart,\n flame: FaFire,\n thumb: FaThumbsUp,\n};\n\nfunction clamp(value: number, min: number, max: number): number {\n return Math.min(Math.max(value, min), max);\n}\n\nfunction normalizeMax(max: number | undefined): number {\n const resolved = Number.isFinite(max) ? Number(max) : 5;\n return Math.max(1, Math.min(10, Math.floor(resolved)));\n}\n\nfunction normalizeValue(\n value: number | undefined,\n max: number,\n allowHalf: boolean,\n): number {\n const resolved = Number.isFinite(value) ? Number(value) : 0;\n const step = allowHalf ? 0.5 : 1;\n return clamp(Math.round(resolved / step) * step, 0, max);\n}\n\nfunction defaultGetLabel(value: number, max: number): string {\n return `${value} of ${max}`;\n}\n\nfunction resolveIcon(icon: RatingProps[\"icon\"]): IconType {\n if (!icon) {\n return PRESET_ICONS.star;\n }\n\n if (typeof icon === \"string\") {\n return PRESET_ICONS[icon as RatingPresetIcon] ?? PRESET_ICONS.star;\n }\n\n return icon;\n}\n\nexport function Rating(props: RatingProps) {\n const {\n allowClear = false,\n allowHalf = false,\n appearance,\n className,\n defaultValue = 0,\n disabled,\n errorMessage,\n getLabel = defaultGetLabel,\n hint,\n icon,\n iconClassName,\n id,\n label,\n max = 5,\n name,\n onValueChange,\n readOnly,\n ref,\n size,\n value,\n ...rest\n } = props;\n\n const generatedId = useId();\n const rootId = id ?? generatedId;\n const resolvedMax = normalizeMax(max);\n const isControlled = value !== undefined;\n const [uncontrolledValue, setUncontrolledValue] = useState(() =>\n normalizeValue(defaultValue, resolvedMax, allowHalf),\n );\n const [hoverValue, setHoverValue] = useState<number | undefined>();\n const resolvedValue = normalizeValue(\n isControlled ? value : uncontrolledValue,\n resolvedMax,\n allowHalf,\n );\n const displayValue = hoverValue ?? resolvedValue;\n const Icon = resolveIcon(icon);\n const interactive = !disabled && !readOnly;\n const controlsDisabled = disabled || readOnly;\n const step = allowHalf ? 0.5 : 1;\n const labelId = `${rootId}-label`;\n const hintId = `${rootId}-hint`;\n const errorId = `${rootId}-error`;\n const describedBy = [\n hint !== undefined ? hintId : undefined,\n errorMessage !== undefined ? errorId : undefined,\n ]\n .filter(Boolean)\n .join(\" \");\n\n const commitValue = useCallback(\n (nextValue: number) => {\n const normalized = normalizeValue(nextValue, resolvedMax, allowHalf);\n const next = allowClear && normalized === resolvedValue ? 0 : normalized;\n\n if (!isControlled) {\n setUncontrolledValue(next);\n }\n onValueChange?.(next);\n },\n [\n allowClear,\n allowHalf,\n isControlled,\n onValueChange,\n resolvedMax,\n resolvedValue,\n ],\n );\n\n const handleKeyDown = useCallback(\n (event: KeyboardEvent<HTMLButtonElement>) => {\n if (!interactive) {\n return;\n }\n\n const root = event.currentTarget.closest('[data-slot=\"rating\"]');\n const focusValue = (nextValue: number) => {\n const control = root?.querySelector(\n `button[data-value=\"${nextValue}\"]`,\n ) as HTMLButtonElement | null;\n control?.focus();\n };\n\n if (event.key === \"ArrowRight\" || event.key === \"ArrowUp\") {\n event.preventDefault();\n const nextValue = clamp(resolvedValue + step, step, resolvedMax);\n commitValue(nextValue);\n focusValue(nextValue);\n return;\n }\n\n if (event.key === \"ArrowLeft\" || event.key === \"ArrowDown\") {\n event.preventDefault();\n const nextValue = clamp(resolvedValue - step, 0, resolvedMax);\n commitValue(nextValue);\n focusValue(nextValue === 0 ? step : nextValue);\n return;\n }\n\n if (event.key === \"Home\") {\n event.preventDefault();\n commitValue(step);\n focusValue(step);\n return;\n }\n\n if (event.key === \"End\") {\n event.preventDefault();\n commitValue(resolvedMax);\n focusValue(resolvedMax);\n }\n },\n [commitValue, interactive, resolvedMax, resolvedValue, step],\n );\n\n return (\n <div\n ref={ref}\n id={rootId}\n className={cn(zuiRatingRootBase, className)}\n data-disabled={disabled ? \"true\" : undefined}\n data-readonly={readOnly ? \"true\" : undefined}\n data-slot=\"rating\"\n {...rest}\n >\n {label !== undefined && (\n <p id={labelId} className={zuiRatingLabelBase}>\n {label}\n </p>\n )}\n {hint !== undefined && (\n <p id={hintId} className={zuiRatingHintBase}>\n {hint}\n </p>\n )}\n <div\n aria-describedby={describedBy || undefined}\n aria-invalid={errorMessage !== undefined ? true : undefined}\n aria-labelledby={label !== undefined ? labelId : undefined}\n aria-label={label === undefined ? \"Rating\" : undefined}\n className={zuiRatingGroupBase}\n data-slot=\"rating-group\"\n onPointerLeave={() => setHoverValue(undefined)}\n role=\"radiogroup\"\n >\n {Array.from({ length: resolvedMax }, (_, index) => {\n const fullValue = index + 1;\n const fillAmount = clamp(displayValue - index, 0, 1);\n const clipStyle = {\n clipPath: `inset(0 ${100 - fillAmount * 100}% 0 0)`,\n } satisfies CSSProperties;\n const itemOptions = allowHalf\n ? [fullValue - 0.5, fullValue]\n : [fullValue];\n\n return (\n <span\n key={fullValue}\n className={ratingItemVariants({ size })}\n data-interactive={interactive ? \"true\" : undefined}\n data-slot=\"rating-item\"\n >\n <Icon\n aria-hidden=\"true\"\n className={cn(\"col-start-1 row-start-1\", iconClassName)}\n />\n <Icon\n aria-hidden=\"true\"\n className={cn(\n ratingIconVariants({ appearance }),\n iconClassName,\n )}\n data-slot=\"rating-icon-fill\"\n style={clipStyle}\n />\n {itemOptions.map((optionValue, optionIndex) => (\n <button\n key={optionValue}\n type=\"button\"\n aria-checked={resolvedValue === optionValue}\n aria-label={getLabel(optionValue, resolvedMax)}\n className={cn(\n zuiRatingControlBase,\n allowHalf\n ? optionIndex === 0\n ? \"left-0 w-1/2\"\n : \"right-0 w-1/2\"\n : \"inset-x-0\",\n )}\n data-slot=\"rating-control\"\n data-value={optionValue}\n disabled={controlsDisabled}\n onClick={() => {\n if (interactive) {\n commitValue(optionValue);\n }\n }}\n onKeyDown={handleKeyDown}\n onPointerEnter={() => {\n if (interactive) {\n setHoverValue(optionValue);\n }\n }}\n role=\"radio\"\n tabIndex={\n resolvedValue === optionValue ||\n (resolvedValue === 0 && optionValue === step)\n ? 0\n : -1\n }\n />\n ))}\n </span>\n );\n })}\n </div>\n {name !== undefined && (\n <input\n type=\"hidden\"\n name={name}\n value={resolvedValue}\n disabled={disabled}\n />\n )}\n {errorMessage !== undefined && (\n <p id={errorId} className={zuiRatingErrorBase}>\n {errorMessage}\n </p>\n )}\n </div>\n );\n}\n\nRating.displayName = \"Rating\";\n"]}
|
package/dist/ui/rating.mjs
CHANGED
|
@@ -46,7 +46,28 @@ var zuiRatingAppearances = {
|
|
|
46
46
|
"gradient-teal": "text-[color:var(--zui-rating-gradient-teal-active,oklch(60%_0.118_184.704))] drop-shadow-[0_2px_12px_rgba(13,148,136,0.24)] dark:text-[color:var(--zui-rating-gradient-teal-active-dark,oklch(77.7%_0.152_181.912))]",
|
|
47
47
|
"gradient-indigo": "text-[color:var(--zui-rating-gradient-indigo-active,oklch(51.1%_0.262_276.966))] drop-shadow-[0_2px_12px_rgba(79,70,229,0.24)] dark:text-[color:var(--zui-rating-gradient-indigo-active-dark,oklch(67.3%_0.182_276.935))]",
|
|
48
48
|
"gradient-pink": "text-[color:var(--zui-rating-gradient-pink-active,oklch(59.2%_0.249_0.584))] drop-shadow-[0_2px_12px_rgba(219,39,119,0.24)] dark:text-[color:var(--zui-rating-gradient-pink-active-dark,oklch(71.8%_0.202_349.761))]",
|
|
49
|
-
"gradient-orange": "text-[color:var(--zui-rating-gradient-orange-active,oklch(64.6%_0.222_41.116))] drop-shadow-[0_2px_12px_rgba(234,88,12,0.24)] dark:text-[color:var(--zui-rating-gradient-orange-active-dark,oklch(75%_0.183_55.934))]"
|
|
49
|
+
"gradient-orange": "text-[color:var(--zui-rating-gradient-orange-active,oklch(64.6%_0.222_41.116))] drop-shadow-[0_2px_12px_rgba(234,88,12,0.24)] dark:text-[color:var(--zui-rating-gradient-orange-active-dark,oklch(75%_0.183_55.934))]",
|
|
50
|
+
blue: "text-[color:var(--zui-rating-blue-fg,#2563eb)] dark:text-[color:var(--zui-rating-blue-fg-dark,#3b82f6)]",
|
|
51
|
+
cyan: "text-[color:var(--zui-rating-cyan-fg,#0891b2)] dark:text-[color:var(--zui-rating-cyan-fg-dark,#22d3ee)]",
|
|
52
|
+
green: "text-[color:var(--zui-rating-green-fg,#16a34a)] dark:text-[color:var(--zui-rating-green-fg-dark,#22c55e)]",
|
|
53
|
+
lime: "text-[color:var(--zui-rating-lime-fg,#65a30d)] dark:text-[color:var(--zui-rating-lime-fg-dark,#a3e635)]",
|
|
54
|
+
mint: "text-[color:var(--zui-rating-mint-fg,#10b981)] dark:text-[color:var(--zui-rating-mint-fg-dark,#6ee7b7)]",
|
|
55
|
+
ocean: "text-[color:var(--zui-rating-ocean-fg,#0284c7)] dark:text-[color:var(--zui-rating-ocean-fg-dark,#38bdf8)]",
|
|
56
|
+
sapphire: "text-[color:var(--zui-rating-sapphire-fg,#1d4ed8)] dark:text-[color:var(--zui-rating-sapphire-fg-dark,#60a5fa)]",
|
|
57
|
+
lavender: "text-[color:var(--zui-rating-lavender-fg,#8b5cf6)] dark:text-[color:var(--zui-rating-lavender-fg-dark,#a78bfa)]",
|
|
58
|
+
ruby: "text-[color:var(--zui-rating-ruby-fg,#be123c)] dark:text-[color:var(--zui-rating-ruby-fg-dark,#fb7185)]",
|
|
59
|
+
red: "text-[color:var(--zui-rating-red-fg,#dc2626)] dark:text-[color:var(--zui-rating-red-fg-dark,#ef4444)]",
|
|
60
|
+
slate: "text-[color:var(--zui-rating-slate-fg,#475569)] dark:text-[color:var(--zui-rating-slate-fg-dark,#64748b)]",
|
|
61
|
+
zinc: "text-[color:var(--zui-rating-zinc-fg,#52525b)] dark:text-[color:var(--zui-rating-zinc-fg-dark,#71717a)]",
|
|
62
|
+
stone: "text-[color:var(--zui-rating-stone-fg,#57534e)] dark:text-[color:var(--zui-rating-stone-fg-dark,#78716c)]",
|
|
63
|
+
royal: "text-[color:var(--zui-rating-royal-fg,#4338ca)] dark:text-[color:var(--zui-rating-royal-fg-dark,#818cf8)]",
|
|
64
|
+
electric: "text-[color:var(--zui-rating-electric-fg,#0ea5e9)] dark:text-[color:var(--zui-rating-electric-fg-dark,#38bdf8)]",
|
|
65
|
+
forest: "text-[color:var(--zui-rating-forest-fg,#166534)] dark:text-[color:var(--zui-rating-forest-fg-dark,#4ade80)]",
|
|
66
|
+
sunset: "text-[color:var(--zui-rating-sunset-fg,#ea580c)] dark:text-[color:var(--zui-rating-sunset-fg-dark,#fb923c)]",
|
|
67
|
+
magenta: "text-[color:var(--zui-rating-magenta-fg,#c026d3)] dark:text-[color:var(--zui-rating-magenta-fg-dark,#e879f9)]",
|
|
68
|
+
crimson: "text-[color:var(--zui-rating-crimson-fg,#b91c1c)] dark:text-[color:var(--zui-rating-crimson-fg-dark,#f87171)]",
|
|
69
|
+
aqua: "text-[color:var(--zui-rating-aqua-fg,#0f766e)] dark:text-[color:var(--zui-rating-aqua-fg-dark,#2dd4bf)]",
|
|
70
|
+
plum: "text-[color:var(--zui-rating-plum-fg,#7e22ce)] dark:text-[color:var(--zui-rating-plum-fg-dark,#c084fc)]"
|
|
50
71
|
};
|
|
51
72
|
var ratingItemVariants = cva(zuiRatingItemBase, {
|
|
52
73
|
variants: {
|
package/dist/ui/rating.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/design-system/rating.ts","../../src/ui/rating/variants.ts","../../src/ui/rating/rating.tsx"],"names":[],"mappings":"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","file":"rating.mjs","sourcesContent":["export const zuiRatingRootBase =\n \"grid w-fit gap-2 text-[color:var(--zui-rating-label-fg,oklch(20.8%_0.042_265.755))] dark:text-[color:var(--zui-rating-label-fg-dark,oklch(98.4%_0.003_247.858))] data-[disabled=true]:cursor-not-allowed data-[disabled=true]:opacity-50\";\n\nexport const zuiRatingLabelBase =\n \"text-sm font-medium leading-6 text-[color:var(--zui-rating-label-fg,oklch(20.8%_0.042_265.755))] dark:text-[color:var(--zui-rating-label-fg-dark,oklch(98.4%_0.003_247.858))]\";\n\nexport const zuiRatingHintBase =\n \"max-w-sm text-xs leading-5 text-[color:var(--zui-rating-hint-fg,oklch(55.4%_0.046_257.417))] dark:text-[color:var(--zui-rating-hint-fg-dark,oklch(70.4%_0.04_256.788))]\";\n\nexport const zuiRatingGroupBase =\n \"flex w-fit flex-wrap items-center gap-[var(--zui-rating-gap,0.25rem)]\";\n\nexport const zuiRatingItemBase =\n \"relative inline-grid shrink-0 place-items-center text-[color:var(--zui-rating-empty,oklch(86.9%_0.022_252.894))] transition-transform duration-200 data-[interactive=true]:hover:-translate-y-0.5 dark:text-[color:var(--zui-rating-empty-dark,oklch(37.2%_0.044_257.287))]\";\n\nexport const zuiRatingIconBase =\n \"pointer-events-none col-start-1 row-start-1 transition-[clip-path,color,transform] duration-200 ease-out\";\n\nexport const zuiRatingControlBase =\n \"absolute inset-y-0 z-[1] cursor-pointer rounded-md bg-transparent outline-none transition-shadow focus-visible:ring-2 focus-visible:ring-[var(--zui-rating-ring-focus,oklch(54.6%_0.245_262.881_/_0.32))] focus-visible:ring-offset-2 focus-visible:ring-offset-[var(--zui-rating-ring-offset-focus,#ffffff)] disabled:cursor-not-allowed dark:focus-visible:ring-offset-[var(--zui-rating-ring-offset-focus-dark,oklch(12.9%_0.042_264.695))]\";\n\nexport const zuiRatingErrorBase =\n \"text-sm leading-6 text-[color:var(--zui-rating-error-fg,oklch(58.6%_0.253_17.585))] dark:text-[color:var(--zui-rating-error-fg-dark,oklch(71.2%_0.194_13.428))]\";\n\nexport const zuiRatingSizes = {\n sm: \"size-5 text-lg\",\n md: \"size-7 text-2xl\",\n lg: \"size-9 text-3xl\",\n} as const;\n\nexport const zuiRatingAppearances = {\n default:\n \"text-[color:var(--zui-rating-default-active,oklch(20.8%_0.042_265.755))] dark:text-[color:var(--zui-rating-default-active-dark,oklch(98.4%_0.003_247.858))]\",\n secondary:\n \"text-[color:var(--zui-rating-secondary-active,oklch(44.6%_0.043_257.281))] dark:text-[color:var(--zui-rating-secondary-active-dark,oklch(86.9%_0.022_252.894))]\",\n destructive:\n \"text-[color:var(--zui-rating-destructive-active,oklch(58.6%_0.253_17.585))] dark:text-[color:var(--zui-rating-destructive-active-dark,oklch(71.2%_0.194_13.428))]\",\n outline:\n \"text-[color:var(--zui-rating-outline-active,oklch(44.6%_0.043_257.281))] dark:text-[color:var(--zui-rating-outline-active-dark,oklch(86.9%_0.022_252.894))]\",\n ghost:\n \"text-[color:var(--zui-rating-ghost-active,oklch(37.2%_0.044_257.287))] dark:text-[color:var(--zui-rating-ghost-active-dark,oklch(92.9%_0.013_255.508))]\",\n glass:\n \"text-[color:var(--zui-rating-glass-active,oklch(54.6%_0.245_262.881))] drop-shadow-[0_2px_12px_rgba(59,130,246,0.25)] dark:text-[color:var(--zui-rating-glass-active-dark,oklch(78.9%_0.154_211.53))]\",\n emerald:\n \"text-[color:var(--zui-rating-emerald-active,oklch(59.6%_0.145_163.225))] dark:text-[color:var(--zui-rating-emerald-active-dark,oklch(77.7%_0.152_181.912))]\",\n indigo:\n \"text-[color:var(--zui-rating-indigo-active,oklch(51.1%_0.262_276.966))] dark:text-[color:var(--zui-rating-indigo-active-dark,oklch(67.3%_0.182_276.935))]\",\n purple:\n \"text-[color:var(--zui-rating-purple-active,oklch(55.8%_0.288_302.321))] dark:text-[color:var(--zui-rating-purple-active-dark,oklch(71.4%_0.203_305.504))]\",\n pink: \"text-[color:var(--zui-rating-pink-active,oklch(59.2%_0.249_0.584))] dark:text-[color:var(--zui-rating-pink-active-dark,oklch(71.8%_0.202_349.761))]\",\n rose: \"text-[color:var(--zui-rating-rose-active,oklch(58.6%_0.253_17.585))] dark:text-[color:var(--zui-rating-rose-active-dark,oklch(71.2%_0.194_13.428))]\",\n sky: \"text-[color:var(--zui-rating-sky-active,oklch(62.3%_0.214_259.815))] dark:text-[color:var(--zui-rating-sky-active-dark,oklch(74.6%_0.16_232.661))]\",\n teal: \"text-[color:var(--zui-rating-teal-active,oklch(60%_0.118_184.704))] dark:text-[color:var(--zui-rating-teal-active-dark,oklch(77.7%_0.152_181.912))]\",\n yellow:\n \"text-[color:var(--zui-rating-yellow-active,oklch(79.5%_0.184_86.047))] dark:text-[color:var(--zui-rating-yellow-active-dark,oklch(85.2%_0.199_91.936))]\",\n orange:\n \"text-[color:var(--zui-rating-orange-active,oklch(64.6%_0.222_41.116))] dark:text-[color:var(--zui-rating-orange-active-dark,oklch(75%_0.183_55.934))]\",\n gray: \"text-[color:var(--zui-rating-gray-active,oklch(55.1%_0.027_264.364))] dark:text-[color:var(--zui-rating-gray-active-dark,oklch(70.7%_0.022_261.325))]\",\n amber:\n \"text-[color:var(--zui-rating-amber-active,oklch(76.9%_0.188_70.08))] dark:text-[color:var(--zui-rating-amber-active-dark,oklch(82.8%_0.189_84.429))]\",\n violet:\n \"text-[color:var(--zui-rating-violet-active,oklch(54.1%_0.281_293.009))] dark:text-[color:var(--zui-rating-violet-active-dark,oklch(70.2%_0.183_293.541))]\",\n \"gradient-blue\":\n \"text-[color:var(--zui-rating-gradient-blue-active,oklch(54.6%_0.245_262.881))] drop-shadow-[0_2px_12px_rgba(37,99,235,0.28)] dark:text-[color:var(--zui-rating-gradient-blue-active-dark,oklch(70.7%_0.165_254.624))]\",\n \"gradient-green\":\n \"text-[color:var(--zui-rating-gradient-green-active,oklch(62.7%_0.194_149.214))] drop-shadow-[0_2px_12px_rgba(22,163,74,0.24)] dark:text-[color:var(--zui-rating-gradient-green-active-dark,oklch(79.2%_0.209_151.711))]\",\n \"gradient-red\":\n \"text-[color:var(--zui-rating-gradient-red-active,oklch(57.7%_0.245_27.325))] drop-shadow-[0_2px_12px_rgba(220,38,38,0.24)] dark:text-[color:var(--zui-rating-gradient-red-active-dark,oklch(70.4%_0.191_22.216))]\",\n \"gradient-yellow\":\n \"text-[color:var(--zui-rating-gradient-yellow-active,oklch(79.5%_0.184_86.047))] drop-shadow-[0_2px_12px_rgba(234,179,8,0.24)] dark:text-[color:var(--zui-rating-gradient-yellow-active-dark,oklch(85.2%_0.199_91.936))]\",\n \"gradient-purple\":\n \"text-[color:var(--zui-rating-gradient-purple-active,oklch(62.7%_0.265_303.9))] drop-shadow-[0_2px_12px_rgba(147,51,234,0.24)] dark:text-[color:var(--zui-rating-gradient-purple-active-dark,oklch(71.4%_0.203_305.504))]\",\n \"gradient-teal\":\n \"text-[color:var(--zui-rating-gradient-teal-active,oklch(60%_0.118_184.704))] drop-shadow-[0_2px_12px_rgba(13,148,136,0.24)] dark:text-[color:var(--zui-rating-gradient-teal-active-dark,oklch(77.7%_0.152_181.912))]\",\n \"gradient-indigo\":\n \"text-[color:var(--zui-rating-gradient-indigo-active,oklch(51.1%_0.262_276.966))] drop-shadow-[0_2px_12px_rgba(79,70,229,0.24)] dark:text-[color:var(--zui-rating-gradient-indigo-active-dark,oklch(67.3%_0.182_276.935))]\",\n \"gradient-pink\":\n \"text-[color:var(--zui-rating-gradient-pink-active,oklch(59.2%_0.249_0.584))] drop-shadow-[0_2px_12px_rgba(219,39,119,0.24)] dark:text-[color:var(--zui-rating-gradient-pink-active-dark,oklch(71.8%_0.202_349.761))]\",\n \"gradient-orange\":\n \"text-[color:var(--zui-rating-gradient-orange-active,oklch(64.6%_0.222_41.116))] drop-shadow-[0_2px_12px_rgba(234,88,12,0.24)] dark:text-[color:var(--zui-rating-gradient-orange-active-dark,oklch(75%_0.183_55.934))]\",\n} as const;\n","import { cva } from \"class-variance-authority\";\n\nimport {\n zuiRatingAppearances,\n zuiRatingIconBase,\n zuiRatingItemBase,\n zuiRatingSizes,\n} from \"../../design-system/rating\";\n\nexport const ratingItemVariants = cva(zuiRatingItemBase, {\n variants: {\n size: zuiRatingSizes,\n },\n defaultVariants: {\n size: \"md\",\n },\n});\n\nexport const ratingIconVariants = cva(zuiRatingIconBase, {\n variants: {\n appearance: zuiRatingAppearances,\n },\n defaultVariants: {\n appearance: \"amber\",\n },\n});\n","\"use client\";\n\nimport {\n type CSSProperties,\n type KeyboardEvent,\n useCallback,\n useId,\n useState,\n} from \"react\";\nimport { FaFire, FaHeart, FaStar, FaThumbsUp } from \"react-icons/fa\";\nimport type { IconType } from \"react-icons\";\n\nimport {\n zuiRatingControlBase,\n zuiRatingErrorBase,\n zuiRatingGroupBase,\n zuiRatingHintBase,\n zuiRatingLabelBase,\n zuiRatingRootBase,\n} from \"../../design-system/rating\";\nimport { cn } from \"../../lib/utils\";\n\nimport type { RatingPresetIcon, RatingProps } from \"./types\";\nimport { ratingIconVariants, ratingItemVariants } from \"./variants\";\n\nconst PRESET_ICONS: Record<RatingPresetIcon, IconType> = {\n star: FaStar,\n heart: FaHeart,\n flame: FaFire,\n thumb: FaThumbsUp,\n};\n\nfunction clamp(value: number, min: number, max: number): number {\n return Math.min(Math.max(value, min), max);\n}\n\nfunction normalizeMax(max: number | undefined): number {\n const resolved = Number.isFinite(max) ? Number(max) : 5;\n return Math.max(1, Math.min(10, Math.floor(resolved)));\n}\n\nfunction normalizeValue(\n value: number | undefined,\n max: number,\n allowHalf: boolean,\n): number {\n const resolved = Number.isFinite(value) ? Number(value) : 0;\n const step = allowHalf ? 0.5 : 1;\n return clamp(Math.round(resolved / step) * step, 0, max);\n}\n\nfunction defaultGetLabel(value: number, max: number): string {\n return `${value} of ${max}`;\n}\n\nfunction resolveIcon(icon: RatingProps[\"icon\"]): IconType {\n if (!icon) {\n return PRESET_ICONS.star;\n }\n\n if (typeof icon === \"string\") {\n return PRESET_ICONS[icon as RatingPresetIcon] ?? PRESET_ICONS.star;\n }\n\n return icon;\n}\n\nexport function Rating(props: RatingProps) {\n const {\n allowClear = false,\n allowHalf = false,\n appearance,\n className,\n defaultValue = 0,\n disabled,\n errorMessage,\n getLabel = defaultGetLabel,\n hint,\n icon,\n iconClassName,\n id,\n label,\n max = 5,\n name,\n onValueChange,\n readOnly,\n ref,\n size,\n value,\n ...rest\n } = props;\n\n const generatedId = useId();\n const rootId = id ?? generatedId;\n const resolvedMax = normalizeMax(max);\n const isControlled = value !== undefined;\n const [uncontrolledValue, setUncontrolledValue] = useState(() =>\n normalizeValue(defaultValue, resolvedMax, allowHalf),\n );\n const [hoverValue, setHoverValue] = useState<number | undefined>();\n const resolvedValue = normalizeValue(\n isControlled ? value : uncontrolledValue,\n resolvedMax,\n allowHalf,\n );\n const displayValue = hoverValue ?? resolvedValue;\n const Icon = resolveIcon(icon);\n const interactive = !disabled && !readOnly;\n const controlsDisabled = disabled || readOnly;\n const step = allowHalf ? 0.5 : 1;\n const labelId = `${rootId}-label`;\n const hintId = `${rootId}-hint`;\n const errorId = `${rootId}-error`;\n const describedBy = [\n hint !== undefined ? hintId : undefined,\n errorMessage !== undefined ? errorId : undefined,\n ]\n .filter(Boolean)\n .join(\" \");\n\n const commitValue = useCallback(\n (nextValue: number) => {\n const normalized = normalizeValue(nextValue, resolvedMax, allowHalf);\n const next = allowClear && normalized === resolvedValue ? 0 : normalized;\n\n if (!isControlled) {\n setUncontrolledValue(next);\n }\n onValueChange?.(next);\n },\n [\n allowClear,\n allowHalf,\n isControlled,\n onValueChange,\n resolvedMax,\n resolvedValue,\n ],\n );\n\n const handleKeyDown = useCallback(\n (event: KeyboardEvent<HTMLButtonElement>) => {\n if (!interactive) {\n return;\n }\n\n const root = event.currentTarget.closest('[data-slot=\"rating\"]');\n const focusValue = (nextValue: number) => {\n const control = root?.querySelector(\n `button[data-value=\"${nextValue}\"]`,\n ) as HTMLButtonElement | null;\n control?.focus();\n };\n\n if (event.key === \"ArrowRight\" || event.key === \"ArrowUp\") {\n event.preventDefault();\n const nextValue = clamp(resolvedValue + step, step, resolvedMax);\n commitValue(nextValue);\n focusValue(nextValue);\n return;\n }\n\n if (event.key === \"ArrowLeft\" || event.key === \"ArrowDown\") {\n event.preventDefault();\n const nextValue = clamp(resolvedValue - step, 0, resolvedMax);\n commitValue(nextValue);\n focusValue(nextValue === 0 ? step : nextValue);\n return;\n }\n\n if (event.key === \"Home\") {\n event.preventDefault();\n commitValue(step);\n focusValue(step);\n return;\n }\n\n if (event.key === \"End\") {\n event.preventDefault();\n commitValue(resolvedMax);\n focusValue(resolvedMax);\n }\n },\n [commitValue, interactive, resolvedMax, resolvedValue, step],\n );\n\n return (\n <div\n ref={ref}\n id={rootId}\n className={cn(zuiRatingRootBase, className)}\n data-disabled={disabled ? \"true\" : undefined}\n data-readonly={readOnly ? \"true\" : undefined}\n data-slot=\"rating\"\n {...rest}\n >\n {label !== undefined && (\n <p id={labelId} className={zuiRatingLabelBase}>\n {label}\n </p>\n )}\n {hint !== undefined && (\n <p id={hintId} className={zuiRatingHintBase}>\n {hint}\n </p>\n )}\n <div\n aria-describedby={describedBy || undefined}\n aria-invalid={errorMessage !== undefined ? true : undefined}\n aria-labelledby={label !== undefined ? labelId : undefined}\n aria-label={label === undefined ? \"Rating\" : undefined}\n className={zuiRatingGroupBase}\n data-slot=\"rating-group\"\n onPointerLeave={() => setHoverValue(undefined)}\n role=\"radiogroup\"\n >\n {Array.from({ length: resolvedMax }, (_, index) => {\n const fullValue = index + 1;\n const fillAmount = clamp(displayValue - index, 0, 1);\n const clipStyle = {\n clipPath: `inset(0 ${100 - fillAmount * 100}% 0 0)`,\n } satisfies CSSProperties;\n const itemOptions = allowHalf\n ? [fullValue - 0.5, fullValue]\n : [fullValue];\n\n return (\n <span\n key={fullValue}\n className={ratingItemVariants({ size })}\n data-interactive={interactive ? \"true\" : undefined}\n data-slot=\"rating-item\"\n >\n <Icon\n aria-hidden=\"true\"\n className={cn(\"col-start-1 row-start-1\", iconClassName)}\n />\n <Icon\n aria-hidden=\"true\"\n className={cn(\n ratingIconVariants({ appearance }),\n iconClassName,\n )}\n data-slot=\"rating-icon-fill\"\n style={clipStyle}\n />\n {itemOptions.map((optionValue, optionIndex) => (\n <button\n key={optionValue}\n type=\"button\"\n aria-checked={resolvedValue === optionValue}\n aria-label={getLabel(optionValue, resolvedMax)}\n className={cn(\n zuiRatingControlBase,\n allowHalf\n ? optionIndex === 0\n ? \"left-0 w-1/2\"\n : \"right-0 w-1/2\"\n : \"inset-x-0\",\n )}\n data-slot=\"rating-control\"\n data-value={optionValue}\n disabled={controlsDisabled}\n onClick={() => {\n if (interactive) {\n commitValue(optionValue);\n }\n }}\n onKeyDown={handleKeyDown}\n onPointerEnter={() => {\n if (interactive) {\n setHoverValue(optionValue);\n }\n }}\n role=\"radio\"\n tabIndex={\n resolvedValue === optionValue ||\n (resolvedValue === 0 && optionValue === step)\n ? 0\n : -1\n }\n />\n ))}\n </span>\n );\n })}\n </div>\n {name !== undefined && (\n <input\n type=\"hidden\"\n name={name}\n value={resolvedValue}\n disabled={disabled}\n />\n )}\n {errorMessage !== undefined && (\n <p id={errorId} className={zuiRatingErrorBase}>\n {errorMessage}\n </p>\n )}\n </div>\n );\n}\n\nRating.displayName = \"Rating\";\n"]}
|
|
1
|
+
{"version":3,"sources":["../../src/design-system/rating.ts","../../src/ui/rating/variants.ts","../../src/ui/rating/rating.tsx"],"names":[],"mappings":"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","file":"rating.mjs","sourcesContent":["export const zuiRatingRootBase =\n \"grid w-fit gap-2 text-[color:var(--zui-rating-label-fg,oklch(20.8%_0.042_265.755))] dark:text-[color:var(--zui-rating-label-fg-dark,oklch(98.4%_0.003_247.858))] data-[disabled=true]:cursor-not-allowed data-[disabled=true]:opacity-50\";\n\nexport const zuiRatingLabelBase =\n \"text-sm font-medium leading-6 text-[color:var(--zui-rating-label-fg,oklch(20.8%_0.042_265.755))] dark:text-[color:var(--zui-rating-label-fg-dark,oklch(98.4%_0.003_247.858))]\";\n\nexport const zuiRatingHintBase =\n \"max-w-sm text-xs leading-5 text-[color:var(--zui-rating-hint-fg,oklch(55.4%_0.046_257.417))] dark:text-[color:var(--zui-rating-hint-fg-dark,oklch(70.4%_0.04_256.788))]\";\n\nexport const zuiRatingGroupBase =\n \"flex w-fit flex-wrap items-center gap-[var(--zui-rating-gap,0.25rem)]\";\n\nexport const zuiRatingItemBase =\n \"relative inline-grid shrink-0 place-items-center text-[color:var(--zui-rating-empty,oklch(86.9%_0.022_252.894))] transition-transform duration-200 data-[interactive=true]:hover:-translate-y-0.5 dark:text-[color:var(--zui-rating-empty-dark,oklch(37.2%_0.044_257.287))]\";\n\nexport const zuiRatingIconBase =\n \"pointer-events-none col-start-1 row-start-1 transition-[clip-path,color,transform] duration-200 ease-out\";\n\nexport const zuiRatingControlBase =\n \"absolute inset-y-0 z-[1] cursor-pointer rounded-md bg-transparent outline-none transition-shadow focus-visible:ring-2 focus-visible:ring-[var(--zui-rating-ring-focus,oklch(54.6%_0.245_262.881_/_0.32))] focus-visible:ring-offset-2 focus-visible:ring-offset-[var(--zui-rating-ring-offset-focus,#ffffff)] disabled:cursor-not-allowed dark:focus-visible:ring-offset-[var(--zui-rating-ring-offset-focus-dark,oklch(12.9%_0.042_264.695))]\";\n\nexport const zuiRatingErrorBase =\n \"text-sm leading-6 text-[color:var(--zui-rating-error-fg,oklch(58.6%_0.253_17.585))] dark:text-[color:var(--zui-rating-error-fg-dark,oklch(71.2%_0.194_13.428))]\";\n\nexport const zuiRatingSizes = {\n sm: \"size-5 text-lg\",\n md: \"size-7 text-2xl\",\n lg: \"size-9 text-3xl\",\n} as const;\n\nexport const zuiRatingAppearances = {\n default:\n \"text-[color:var(--zui-rating-default-active,oklch(20.8%_0.042_265.755))] dark:text-[color:var(--zui-rating-default-active-dark,oklch(98.4%_0.003_247.858))]\",\n secondary:\n \"text-[color:var(--zui-rating-secondary-active,oklch(44.6%_0.043_257.281))] dark:text-[color:var(--zui-rating-secondary-active-dark,oklch(86.9%_0.022_252.894))]\",\n destructive:\n \"text-[color:var(--zui-rating-destructive-active,oklch(58.6%_0.253_17.585))] dark:text-[color:var(--zui-rating-destructive-active-dark,oklch(71.2%_0.194_13.428))]\",\n outline:\n \"text-[color:var(--zui-rating-outline-active,oklch(44.6%_0.043_257.281))] dark:text-[color:var(--zui-rating-outline-active-dark,oklch(86.9%_0.022_252.894))]\",\n ghost:\n \"text-[color:var(--zui-rating-ghost-active,oklch(37.2%_0.044_257.287))] dark:text-[color:var(--zui-rating-ghost-active-dark,oklch(92.9%_0.013_255.508))]\",\n glass:\n \"text-[color:var(--zui-rating-glass-active,oklch(54.6%_0.245_262.881))] drop-shadow-[0_2px_12px_rgba(59,130,246,0.25)] dark:text-[color:var(--zui-rating-glass-active-dark,oklch(78.9%_0.154_211.53))]\",\n emerald:\n \"text-[color:var(--zui-rating-emerald-active,oklch(59.6%_0.145_163.225))] dark:text-[color:var(--zui-rating-emerald-active-dark,oklch(77.7%_0.152_181.912))]\",\n indigo:\n \"text-[color:var(--zui-rating-indigo-active,oklch(51.1%_0.262_276.966))] dark:text-[color:var(--zui-rating-indigo-active-dark,oklch(67.3%_0.182_276.935))]\",\n purple:\n \"text-[color:var(--zui-rating-purple-active,oklch(55.8%_0.288_302.321))] dark:text-[color:var(--zui-rating-purple-active-dark,oklch(71.4%_0.203_305.504))]\",\n pink: \"text-[color:var(--zui-rating-pink-active,oklch(59.2%_0.249_0.584))] dark:text-[color:var(--zui-rating-pink-active-dark,oklch(71.8%_0.202_349.761))]\",\n rose: \"text-[color:var(--zui-rating-rose-active,oklch(58.6%_0.253_17.585))] dark:text-[color:var(--zui-rating-rose-active-dark,oklch(71.2%_0.194_13.428))]\",\n sky: \"text-[color:var(--zui-rating-sky-active,oklch(62.3%_0.214_259.815))] dark:text-[color:var(--zui-rating-sky-active-dark,oklch(74.6%_0.16_232.661))]\",\n teal: \"text-[color:var(--zui-rating-teal-active,oklch(60%_0.118_184.704))] dark:text-[color:var(--zui-rating-teal-active-dark,oklch(77.7%_0.152_181.912))]\",\n yellow:\n \"text-[color:var(--zui-rating-yellow-active,oklch(79.5%_0.184_86.047))] dark:text-[color:var(--zui-rating-yellow-active-dark,oklch(85.2%_0.199_91.936))]\",\n orange:\n \"text-[color:var(--zui-rating-orange-active,oklch(64.6%_0.222_41.116))] dark:text-[color:var(--zui-rating-orange-active-dark,oklch(75%_0.183_55.934))]\",\n gray: \"text-[color:var(--zui-rating-gray-active,oklch(55.1%_0.027_264.364))] dark:text-[color:var(--zui-rating-gray-active-dark,oklch(70.7%_0.022_261.325))]\",\n amber:\n \"text-[color:var(--zui-rating-amber-active,oklch(76.9%_0.188_70.08))] dark:text-[color:var(--zui-rating-amber-active-dark,oklch(82.8%_0.189_84.429))]\",\n violet:\n \"text-[color:var(--zui-rating-violet-active,oklch(54.1%_0.281_293.009))] dark:text-[color:var(--zui-rating-violet-active-dark,oklch(70.2%_0.183_293.541))]\",\n \"gradient-blue\":\n \"text-[color:var(--zui-rating-gradient-blue-active,oklch(54.6%_0.245_262.881))] drop-shadow-[0_2px_12px_rgba(37,99,235,0.28)] dark:text-[color:var(--zui-rating-gradient-blue-active-dark,oklch(70.7%_0.165_254.624))]\",\n \"gradient-green\":\n \"text-[color:var(--zui-rating-gradient-green-active,oklch(62.7%_0.194_149.214))] drop-shadow-[0_2px_12px_rgba(22,163,74,0.24)] dark:text-[color:var(--zui-rating-gradient-green-active-dark,oklch(79.2%_0.209_151.711))]\",\n \"gradient-red\":\n \"text-[color:var(--zui-rating-gradient-red-active,oklch(57.7%_0.245_27.325))] drop-shadow-[0_2px_12px_rgba(220,38,38,0.24)] dark:text-[color:var(--zui-rating-gradient-red-active-dark,oklch(70.4%_0.191_22.216))]\",\n \"gradient-yellow\":\n \"text-[color:var(--zui-rating-gradient-yellow-active,oklch(79.5%_0.184_86.047))] drop-shadow-[0_2px_12px_rgba(234,179,8,0.24)] dark:text-[color:var(--zui-rating-gradient-yellow-active-dark,oklch(85.2%_0.199_91.936))]\",\n \"gradient-purple\":\n \"text-[color:var(--zui-rating-gradient-purple-active,oklch(62.7%_0.265_303.9))] drop-shadow-[0_2px_12px_rgba(147,51,234,0.24)] dark:text-[color:var(--zui-rating-gradient-purple-active-dark,oklch(71.4%_0.203_305.504))]\",\n \"gradient-teal\":\n \"text-[color:var(--zui-rating-gradient-teal-active,oklch(60%_0.118_184.704))] drop-shadow-[0_2px_12px_rgba(13,148,136,0.24)] dark:text-[color:var(--zui-rating-gradient-teal-active-dark,oklch(77.7%_0.152_181.912))]\",\n \"gradient-indigo\":\n \"text-[color:var(--zui-rating-gradient-indigo-active,oklch(51.1%_0.262_276.966))] drop-shadow-[0_2px_12px_rgba(79,70,229,0.24)] dark:text-[color:var(--zui-rating-gradient-indigo-active-dark,oklch(67.3%_0.182_276.935))]\",\n \"gradient-pink\":\n \"text-[color:var(--zui-rating-gradient-pink-active,oklch(59.2%_0.249_0.584))] drop-shadow-[0_2px_12px_rgba(219,39,119,0.24)] dark:text-[color:var(--zui-rating-gradient-pink-active-dark,oklch(71.8%_0.202_349.761))]\",\n \"gradient-orange\":\n \"text-[color:var(--zui-rating-gradient-orange-active,oklch(64.6%_0.222_41.116))] drop-shadow-[0_2px_12px_rgba(234,88,12,0.24)] dark:text-[color:var(--zui-rating-gradient-orange-active-dark,oklch(75%_0.183_55.934))]\",\n blue: \"text-[color:var(--zui-rating-blue-fg,#2563eb)] dark:text-[color:var(--zui-rating-blue-fg-dark,#3b82f6)]\",\n cyan: \"text-[color:var(--zui-rating-cyan-fg,#0891b2)] dark:text-[color:var(--zui-rating-cyan-fg-dark,#22d3ee)]\",\n green:\n \"text-[color:var(--zui-rating-green-fg,#16a34a)] dark:text-[color:var(--zui-rating-green-fg-dark,#22c55e)]\",\n lime: \"text-[color:var(--zui-rating-lime-fg,#65a30d)] dark:text-[color:var(--zui-rating-lime-fg-dark,#a3e635)]\",\n mint: \"text-[color:var(--zui-rating-mint-fg,#10b981)] dark:text-[color:var(--zui-rating-mint-fg-dark,#6ee7b7)]\",\n ocean:\n \"text-[color:var(--zui-rating-ocean-fg,#0284c7)] dark:text-[color:var(--zui-rating-ocean-fg-dark,#38bdf8)]\",\n sapphire:\n \"text-[color:var(--zui-rating-sapphire-fg,#1d4ed8)] dark:text-[color:var(--zui-rating-sapphire-fg-dark,#60a5fa)]\",\n lavender:\n \"text-[color:var(--zui-rating-lavender-fg,#8b5cf6)] dark:text-[color:var(--zui-rating-lavender-fg-dark,#a78bfa)]\",\n ruby: \"text-[color:var(--zui-rating-ruby-fg,#be123c)] dark:text-[color:var(--zui-rating-ruby-fg-dark,#fb7185)]\",\n red: \"text-[color:var(--zui-rating-red-fg,#dc2626)] dark:text-[color:var(--zui-rating-red-fg-dark,#ef4444)]\",\n slate:\n \"text-[color:var(--zui-rating-slate-fg,#475569)] dark:text-[color:var(--zui-rating-slate-fg-dark,#64748b)]\",\n zinc: \"text-[color:var(--zui-rating-zinc-fg,#52525b)] dark:text-[color:var(--zui-rating-zinc-fg-dark,#71717a)]\",\n stone:\n \"text-[color:var(--zui-rating-stone-fg,#57534e)] dark:text-[color:var(--zui-rating-stone-fg-dark,#78716c)]\",\n royal:\n \"text-[color:var(--zui-rating-royal-fg,#4338ca)] dark:text-[color:var(--zui-rating-royal-fg-dark,#818cf8)]\",\n electric:\n \"text-[color:var(--zui-rating-electric-fg,#0ea5e9)] dark:text-[color:var(--zui-rating-electric-fg-dark,#38bdf8)]\",\n forest:\n \"text-[color:var(--zui-rating-forest-fg,#166534)] dark:text-[color:var(--zui-rating-forest-fg-dark,#4ade80)]\",\n sunset:\n \"text-[color:var(--zui-rating-sunset-fg,#ea580c)] dark:text-[color:var(--zui-rating-sunset-fg-dark,#fb923c)]\",\n magenta:\n \"text-[color:var(--zui-rating-magenta-fg,#c026d3)] dark:text-[color:var(--zui-rating-magenta-fg-dark,#e879f9)]\",\n crimson:\n \"text-[color:var(--zui-rating-crimson-fg,#b91c1c)] dark:text-[color:var(--zui-rating-crimson-fg-dark,#f87171)]\",\n aqua: \"text-[color:var(--zui-rating-aqua-fg,#0f766e)] dark:text-[color:var(--zui-rating-aqua-fg-dark,#2dd4bf)]\",\n plum: \"text-[color:var(--zui-rating-plum-fg,#7e22ce)] dark:text-[color:var(--zui-rating-plum-fg-dark,#c084fc)]\",\n} as const;\n","import { cva } from \"class-variance-authority\";\n\nimport {\n zuiRatingAppearances,\n zuiRatingIconBase,\n zuiRatingItemBase,\n zuiRatingSizes,\n} from \"../../design-system/rating\";\n\nexport const ratingItemVariants = cva(zuiRatingItemBase, {\n variants: {\n size: zuiRatingSizes,\n },\n defaultVariants: {\n size: \"md\",\n },\n});\n\nexport const ratingIconVariants = cva(zuiRatingIconBase, {\n variants: {\n appearance: zuiRatingAppearances,\n },\n defaultVariants: {\n appearance: \"amber\",\n },\n});\n","\"use client\";\n\nimport {\n type CSSProperties,\n type KeyboardEvent,\n useCallback,\n useId,\n useState,\n} from \"react\";\nimport { FaFire, FaHeart, FaStar, FaThumbsUp } from \"react-icons/fa\";\nimport type { IconType } from \"react-icons\";\n\nimport {\n zuiRatingControlBase,\n zuiRatingErrorBase,\n zuiRatingGroupBase,\n zuiRatingHintBase,\n zuiRatingLabelBase,\n zuiRatingRootBase,\n} from \"../../design-system/rating\";\nimport { cn } from \"../../lib/utils\";\n\nimport type { RatingPresetIcon, RatingProps } from \"./types\";\nimport { ratingIconVariants, ratingItemVariants } from \"./variants\";\n\nconst PRESET_ICONS: Record<RatingPresetIcon, IconType> = {\n star: FaStar,\n heart: FaHeart,\n flame: FaFire,\n thumb: FaThumbsUp,\n};\n\nfunction clamp(value: number, min: number, max: number): number {\n return Math.min(Math.max(value, min), max);\n}\n\nfunction normalizeMax(max: number | undefined): number {\n const resolved = Number.isFinite(max) ? Number(max) : 5;\n return Math.max(1, Math.min(10, Math.floor(resolved)));\n}\n\nfunction normalizeValue(\n value: number | undefined,\n max: number,\n allowHalf: boolean,\n): number {\n const resolved = Number.isFinite(value) ? Number(value) : 0;\n const step = allowHalf ? 0.5 : 1;\n return clamp(Math.round(resolved / step) * step, 0, max);\n}\n\nfunction defaultGetLabel(value: number, max: number): string {\n return `${value} of ${max}`;\n}\n\nfunction resolveIcon(icon: RatingProps[\"icon\"]): IconType {\n if (!icon) {\n return PRESET_ICONS.star;\n }\n\n if (typeof icon === \"string\") {\n return PRESET_ICONS[icon as RatingPresetIcon] ?? PRESET_ICONS.star;\n }\n\n return icon;\n}\n\nexport function Rating(props: RatingProps) {\n const {\n allowClear = false,\n allowHalf = false,\n appearance,\n className,\n defaultValue = 0,\n disabled,\n errorMessage,\n getLabel = defaultGetLabel,\n hint,\n icon,\n iconClassName,\n id,\n label,\n max = 5,\n name,\n onValueChange,\n readOnly,\n ref,\n size,\n value,\n ...rest\n } = props;\n\n const generatedId = useId();\n const rootId = id ?? generatedId;\n const resolvedMax = normalizeMax(max);\n const isControlled = value !== undefined;\n const [uncontrolledValue, setUncontrolledValue] = useState(() =>\n normalizeValue(defaultValue, resolvedMax, allowHalf),\n );\n const [hoverValue, setHoverValue] = useState<number | undefined>();\n const resolvedValue = normalizeValue(\n isControlled ? value : uncontrolledValue,\n resolvedMax,\n allowHalf,\n );\n const displayValue = hoverValue ?? resolvedValue;\n const Icon = resolveIcon(icon);\n const interactive = !disabled && !readOnly;\n const controlsDisabled = disabled || readOnly;\n const step = allowHalf ? 0.5 : 1;\n const labelId = `${rootId}-label`;\n const hintId = `${rootId}-hint`;\n const errorId = `${rootId}-error`;\n const describedBy = [\n hint !== undefined ? hintId : undefined,\n errorMessage !== undefined ? errorId : undefined,\n ]\n .filter(Boolean)\n .join(\" \");\n\n const commitValue = useCallback(\n (nextValue: number) => {\n const normalized = normalizeValue(nextValue, resolvedMax, allowHalf);\n const next = allowClear && normalized === resolvedValue ? 0 : normalized;\n\n if (!isControlled) {\n setUncontrolledValue(next);\n }\n onValueChange?.(next);\n },\n [\n allowClear,\n allowHalf,\n isControlled,\n onValueChange,\n resolvedMax,\n resolvedValue,\n ],\n );\n\n const handleKeyDown = useCallback(\n (event: KeyboardEvent<HTMLButtonElement>) => {\n if (!interactive) {\n return;\n }\n\n const root = event.currentTarget.closest('[data-slot=\"rating\"]');\n const focusValue = (nextValue: number) => {\n const control = root?.querySelector(\n `button[data-value=\"${nextValue}\"]`,\n ) as HTMLButtonElement | null;\n control?.focus();\n };\n\n if (event.key === \"ArrowRight\" || event.key === \"ArrowUp\") {\n event.preventDefault();\n const nextValue = clamp(resolvedValue + step, step, resolvedMax);\n commitValue(nextValue);\n focusValue(nextValue);\n return;\n }\n\n if (event.key === \"ArrowLeft\" || event.key === \"ArrowDown\") {\n event.preventDefault();\n const nextValue = clamp(resolvedValue - step, 0, resolvedMax);\n commitValue(nextValue);\n focusValue(nextValue === 0 ? step : nextValue);\n return;\n }\n\n if (event.key === \"Home\") {\n event.preventDefault();\n commitValue(step);\n focusValue(step);\n return;\n }\n\n if (event.key === \"End\") {\n event.preventDefault();\n commitValue(resolvedMax);\n focusValue(resolvedMax);\n }\n },\n [commitValue, interactive, resolvedMax, resolvedValue, step],\n );\n\n return (\n <div\n ref={ref}\n id={rootId}\n className={cn(zuiRatingRootBase, className)}\n data-disabled={disabled ? \"true\" : undefined}\n data-readonly={readOnly ? \"true\" : undefined}\n data-slot=\"rating\"\n {...rest}\n >\n {label !== undefined && (\n <p id={labelId} className={zuiRatingLabelBase}>\n {label}\n </p>\n )}\n {hint !== undefined && (\n <p id={hintId} className={zuiRatingHintBase}>\n {hint}\n </p>\n )}\n <div\n aria-describedby={describedBy || undefined}\n aria-invalid={errorMessage !== undefined ? true : undefined}\n aria-labelledby={label !== undefined ? labelId : undefined}\n aria-label={label === undefined ? \"Rating\" : undefined}\n className={zuiRatingGroupBase}\n data-slot=\"rating-group\"\n onPointerLeave={() => setHoverValue(undefined)}\n role=\"radiogroup\"\n >\n {Array.from({ length: resolvedMax }, (_, index) => {\n const fullValue = index + 1;\n const fillAmount = clamp(displayValue - index, 0, 1);\n const clipStyle = {\n clipPath: `inset(0 ${100 - fillAmount * 100}% 0 0)`,\n } satisfies CSSProperties;\n const itemOptions = allowHalf\n ? [fullValue - 0.5, fullValue]\n : [fullValue];\n\n return (\n <span\n key={fullValue}\n className={ratingItemVariants({ size })}\n data-interactive={interactive ? \"true\" : undefined}\n data-slot=\"rating-item\"\n >\n <Icon\n aria-hidden=\"true\"\n className={cn(\"col-start-1 row-start-1\", iconClassName)}\n />\n <Icon\n aria-hidden=\"true\"\n className={cn(\n ratingIconVariants({ appearance }),\n iconClassName,\n )}\n data-slot=\"rating-icon-fill\"\n style={clipStyle}\n />\n {itemOptions.map((optionValue, optionIndex) => (\n <button\n key={optionValue}\n type=\"button\"\n aria-checked={resolvedValue === optionValue}\n aria-label={getLabel(optionValue, resolvedMax)}\n className={cn(\n zuiRatingControlBase,\n allowHalf\n ? optionIndex === 0\n ? \"left-0 w-1/2\"\n : \"right-0 w-1/2\"\n : \"inset-x-0\",\n )}\n data-slot=\"rating-control\"\n data-value={optionValue}\n disabled={controlsDisabled}\n onClick={() => {\n if (interactive) {\n commitValue(optionValue);\n }\n }}\n onKeyDown={handleKeyDown}\n onPointerEnter={() => {\n if (interactive) {\n setHoverValue(optionValue);\n }\n }}\n role=\"radio\"\n tabIndex={\n resolvedValue === optionValue ||\n (resolvedValue === 0 && optionValue === step)\n ? 0\n : -1\n }\n />\n ))}\n </span>\n );\n })}\n </div>\n {name !== undefined && (\n <input\n type=\"hidden\"\n name={name}\n value={resolvedValue}\n disabled={disabled}\n />\n )}\n {errorMessage !== undefined && (\n <p id={errorId} className={zuiRatingErrorBase}>\n {errorMessage}\n </p>\n )}\n </div>\n );\n}\n\nRating.displayName = \"Rating\";\n"]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export declare const scrollAreaVariants: (props?: ({
|
|
2
|
-
appearance?: "outline" | "default" | "muted" | "glass" | "sky" | "emerald" | "violet" | "amber" | "rose" | null | undefined;
|
|
2
|
+
appearance?: "ruby" | "outline" | "default" | "muted" | "glass" | "sky" | "emerald" | "violet" | "amber" | "rose" | "slate" | "cyan" | "aqua" | "blue" | "crimson" | "green" | "lavender" | "lime" | "magenta" | "plum" | "red" | "mint" | "ocean" | "sapphire" | "zinc" | "stone" | "royal" | "electric" | "forest" | "sunset" | null | undefined;
|
|
3
3
|
orientation?: "both" | "horizontal" | "vertical" | null | undefined;
|
|
4
4
|
scrollbar?: "hidden" | "auto" | "always" | "hover" | null | undefined;
|
|
5
5
|
shadow?: boolean | null | undefined;
|