@zentauri-ui/zentauri-components 1.8.42 → 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/CHANGELOG.md +6 -0
- package/README.md +9 -8
- 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-2RBUROXJ.js +316 -0
- 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-6GPUHFXI.mjs +299 -0
- 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 -6
- 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 +173 -0
- package/dist/design-system/inputs.d.ts.map +1 -1
- package/dist/design-system/kbd.d.ts +23 -1
- package/dist/design-system/kbd.d.ts.map +1 -1
- package/dist/design-system/marquee.d.ts +30 -9
- 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 +30 -9
- 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/test-utils/axe.d.ts +30 -0
- package/dist/test-utils/axe.d.ts.map +1 -0
- 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 +2 -2
- package/dist/ui/dynamic-stepper/variants.d.ts.map +1 -1
- package/dist/ui/dynamic-stepper.js +7 -8
- package/dist/ui/dynamic-stepper.js.map +1 -1
- package/dist/ui/dynamic-stepper.mjs +5 -6
- 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/variants.d.ts.map +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 +30 -9
- package/dist/ui/marquee.js.map +1 -1
- package/dist/ui/marquee.mjs +30 -9
- 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/select.d.ts +2 -2
- package/dist/ui/select/select.d.ts.map +1 -1
- package/dist/ui/select/types.d.ts +4 -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 +92 -7
- package/dist/ui/select.js.map +1 -1
- package/dist/ui/select.mjs +93 -8
- 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 +6 -3
- 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 +7 -29
- 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 +273 -0
- package/src/design-system/kbd.ts +37 -1
- package/src/design-system/marquee.ts +42 -9
- 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 +42 -9
- 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/accessibility/axe-core.test.tsx +139 -0
- package/src/ui/dropdown/types.ts +3 -27
- package/src/ui/dynamic-stepper/variants.ts +7 -3
- package/src/ui/inputs/variants.ts +492 -90
- package/src/ui/kbd/variants.ts +8 -10
- package/src/ui/pagination/types.ts +4 -2
- package/src/ui/select/select.test.tsx +24 -0
- package/src/ui/select/select.tsx +37 -4
- package/src/ui/select/types.ts +4 -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-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-CJXGDY7A.mjs +0 -122
- package/dist/chunk-CJXGDY7A.mjs.map +0 -1
- package/dist/chunk-CSFLMMAT.mjs.map +0 -1
- package/dist/chunk-D3VZKUMH.mjs +0 -340
- package/dist/chunk-D3VZKUMH.mjs.map +0 -1
- package/dist/chunk-DEZRB6DS.mjs.map +0 -1
- package/dist/chunk-DFCDLVZA.js.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-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-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-RFT2FLQT.js +0 -126
- package/dist/chunk-RFT2FLQT.js.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-TTTYW3TR.js.map +0 -1
- package/dist/chunk-UGH23TAH.js +0 -342
- package/dist/chunk-UGH23TAH.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-V5JTDRV5.mjs +0 -278
- package/dist/chunk-V5JTDRV5.mjs.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-Z4KHAD6Y.js +0 -295
- package/dist/chunk-Z4KHAD6Y.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/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":";;;;;;;AAAO,IAAM,iBAAA,GACX,0OAAA;AAEK,IAAM,kBAAA,GACX,+KAAA;AAEK,IAAM,iBAAA,GACX,yKAAA;AAEK,IAAM,kBAAA,GACX,uEAAA;AAEK,IAAM,iBAAA,GACX,6QAAA;AAEK,IAAM,iBAAA,GACX,0GAAA;AAEK,IAAM,oBAAA,GACX,gbAAA;AAEK,IAAM,kBAAA,GACX,iKAAA;AAEK,IAAM,cAAA,GAAiB;AAAA,EAC5B,EAAA,EAAI,gBAAA;AAAA,EACJ,EAAA,EAAI,iBAAA;AAAA,EACJ,EAAA,EAAI;AACN,CAAA;AAEO,IAAM,oBAAA,GAAuB;AAAA,EAClC,OAAA,EACE,6JAAA;AAAA,EACF,SAAA,EACE,iKAAA;AAAA,EACF,WAAA,EACE,mKAAA;AAAA,EACF,OAAA,EACE,6JAAA;AAAA,EACF,KAAA,EACE,yJAAA;AAAA,EACF,KAAA,EACE,uMAAA;AAAA,EACF,OAAA,EACE,6JAAA;AAAA,EACF,MAAA,EACE,2JAAA;AAAA,EACF,MAAA,EACE,2JAAA;AAAA,EACF,IAAA,EAAM,qJAAA;AAAA,EACN,IAAA,EAAM,qJAAA;AAAA,EACN,GAAA,EAAK,oJAAA;AAAA,EACL,IAAA,EAAM,qJAAA;AAAA,EACN,MAAA,EACE,yJAAA;AAAA,EACF,MAAA,EACE,uJAAA;AAAA,EACF,IAAA,EAAM,uJAAA;AAAA,EACN,KAAA,EACE,sJAAA;AAAA,EACF,MAAA,EACE,2JAAA;AAAA,EACF,eAAA,EACE,uNAAA;AAAA,EACF,gBAAA,EACE,yNAAA;AAAA,EACF,cAAA,EACE,mNAAA;AAAA,EACF,iBAAA,EACE,yNAAA;AAAA,EACF,iBAAA,EACE,0NAAA;AAAA,EACF,eAAA,EACE,sNAAA;AAAA,EACF,iBAAA,EACE,2NAAA;AAAA,EACF,eAAA,EACE,sNAAA;AAAA,EACF,iBAAA,EACE;AACJ,CAAA;ACvEO,IAAM,kBAAA,GAAqB,IAAI,iBAAA,EAAmB;AAAA,EACvD,QAAA,EAAU;AAAA,IACR,IAAA,EAAM;AAAA,GACR;AAAA,EACA,eAAA,EAAiB;AAAA,IACf,IAAA,EAAM;AAAA;AAEV,CAAC;AAEM,IAAM,kBAAA,GAAqB,IAAI,iBAAA,EAAmB;AAAA,EACvD,QAAA,EAAU;AAAA,IACR,UAAA,EAAY;AAAA,GACd;AAAA,EACA,eAAA,EAAiB;AAAA,IACf,UAAA,EAAY;AAAA;AAEhB,CAAC;ACAD,IAAM,YAAA,GAAmD;AAAA,EACvD,IAAA,EAAM,MAAA;AAAA,EACN,KAAA,EAAO,OAAA;AAAA,EACP,KAAA,EAAO,MAAA;AAAA,EACP,KAAA,EAAO;AACT,CAAA;AAEA,SAAS,KAAA,CAAM,KAAA,EAAe,GAAA,EAAa,GAAA,EAAqB;AAC9D,EAAA,OAAO,KAAK,GAAA,CAAI,IAAA,CAAK,IAAI,KAAA,EAAO,GAAG,GAAG,GAAG,CAAA;AAC3C;AAEA,SAAS,aAAa,GAAA,EAAiC;AACrD,EAAA,MAAM,WAAW,MAAA,CAAO,QAAA,CAAS,GAAG,CAAA,GAAI,MAAA,CAAO,GAAG,CAAA,GAAI,CAAA;AACtD,EAAA,OAAO,IAAA,CAAK,GAAA,CAAI,CAAA,EAAG,IAAA,CAAK,GAAA,CAAI,IAAI,IAAA,CAAK,KAAA,CAAM,QAAQ,CAAC,CAAC,CAAA;AACvD;AAEA,SAAS,cAAA,CACP,KAAA,EACA,GAAA,EACA,SAAA,EACQ;AACR,EAAA,MAAM,WAAW,MAAA,CAAO,QAAA,CAAS,KAAK,CAAA,GAAI,MAAA,CAAO,KAAK,CAAA,GAAI,CAAA;AAC1D,EAAA,MAAM,IAAA,GAAO,YAAY,GAAA,GAAM,CAAA;AAC/B,EAAA,OAAO,KAAA,CAAM,KAAK,KAAA,CAAM,QAAA,GAAW,IAAI,CAAA,GAAI,IAAA,EAAM,GAAG,GAAG,CAAA;AACzD;AAEA,SAAS,eAAA,CAAgB,OAAe,GAAA,EAAqB;AAC3D,EAAA,OAAO,CAAA,EAAG,KAAK,CAAA,IAAA,EAAO,GAAG,CAAA,CAAA;AAC3B;AAEA,SAAS,YAAY,IAAA,EAAqC;AACxD,EAAA,IAAI,CAAC,IAAA,EAAM;AACT,IAAA,OAAO,YAAA,CAAa,IAAA;AAAA,EACtB;AAEA,EAAA,IAAI,OAAO,SAAS,QAAA,EAAU;AAC5B,IAAA,OAAO,YAAA,CAAa,IAAwB,CAAA,IAAK,YAAA,CAAa,IAAA;AAAA,EAChE;AAEA,EAAA,OAAO,IAAA;AACT;AAEO,SAAS,OAAO,KAAA,EAAoB;AACzC,EAAA,MAAM;AAAA,IACJ,UAAA,GAAa,KAAA;AAAA,IACb,SAAA,GAAY,KAAA;AAAA,IACZ,UAAA;AAAA,IACA,SAAA;AAAA,IACA,YAAA,GAAe,CAAA;AAAA,IACf,QAAA;AAAA,IACA,YAAA;AAAA,IACA,QAAA,GAAW,eAAA;AAAA,IACX,IAAA;AAAA,IACA,IAAA;AAAA,IACA,aAAA;AAAA,IACA,EAAA;AAAA,IACA,KAAA;AAAA,IACA,GAAA,GAAM,CAAA;AAAA,IACN,IAAA;AAAA,IACA,aAAA;AAAA,IACA,QAAA;AAAA,IACA,GAAA;AAAA,IACA,IAAA;AAAA,IACA,KAAA;AAAA,IACA,GAAG;AAAA,GACL,GAAI,KAAA;AAEJ,EAAA,MAAM,cAAc,KAAA,EAAM;AAC1B,EAAA,MAAM,SAAS,EAAA,IAAM,WAAA;AACrB,EAAA,MAAM,WAAA,GAAc,aAAa,GAAG,CAAA;AACpC,EAAA,MAAM,eAAe,KAAA,KAAU,MAAA;AAC/B,EAAA,MAAM,CAAC,iBAAA,EAAmB,oBAAoB,CAAA,GAAI,QAAA;AAAA,IAAS,MACzD,cAAA,CAAe,YAAA,EAAc,WAAA,EAAa,SAAS;AAAA,GACrD;AACA,EAAA,MAAM,CAAC,UAAA,EAAY,aAAa,CAAA,GAAI,QAAA,EAA6B;AACjE,EAAA,MAAM,aAAA,GAAgB,cAAA;AAAA,IACpB,eAAe,KAAA,GAAQ,iBAAA;AAAA,IACvB,WAAA;AAAA,IACA;AAAA,GACF;AACA,EAAA,MAAM,eAAe,UAAA,IAAc,aAAA;AACnC,EAAA,MAAM,IAAA,GAAO,YAAY,IAAI,CAAA;AAC7B,EAAA,MAAM,WAAA,GAAc,CAAC,QAAA,IAAY,CAAC,QAAA;AAClC,EAAA,MAAM,mBAAmB,QAAA,IAAY,QAAA;AACrC,EAAA,MAAM,IAAA,GAAO,YAAY,GAAA,GAAM,CAAA;AAC/B,EAAA,MAAM,OAAA,GAAU,GAAG,MAAM,CAAA,MAAA,CAAA;AACzB,EAAA,MAAM,MAAA,GAAS,GAAG,MAAM,CAAA,KAAA,CAAA;AACxB,EAAA,MAAM,OAAA,GAAU,GAAG,MAAM,CAAA,MAAA,CAAA;AACzB,EAAA,MAAM,WAAA,GAAc;AAAA,IAClB,IAAA,KAAS,SAAY,MAAA,GAAS,MAAA;AAAA,IAC9B,YAAA,KAAiB,SAAY,OAAA,GAAU;AAAA,GACzC,CACG,MAAA,CAAO,OAAO,CAAA,CACd,KAAK,GAAG,CAAA;AAEX,EAAA,MAAM,WAAA,GAAc,WAAA;AAAA,IAClB,CAAC,SAAA,KAAsB;AACrB,MAAA,MAAM,UAAA,GAAa,cAAA,CAAe,SAAA,EAAW,WAAA,EAAa,SAAS,CAAA;AACnE,MAAA,MAAM,IAAA,GAAO,UAAA,IAAc,UAAA,KAAe,aAAA,GAAgB,CAAA,GAAI,UAAA;AAE9D,MAAA,IAAI,CAAC,YAAA,EAAc;AACjB,QAAA,oBAAA,CAAqB,IAAI,CAAA;AAAA,MAC3B;AACA,MAAA,aAAA,GAAgB,IAAI,CAAA;AAAA,IACtB,CAAA;AAAA,IACA;AAAA,MACE,UAAA;AAAA,MACA,SAAA;AAAA,MACA,YAAA;AAAA,MACA,aAAA;AAAA,MACA,WAAA;AAAA,MACA;AAAA;AACF,GACF;AAEA,EAAA,MAAM,aAAA,GAAgB,WAAA;AAAA,IACpB,CAAC,KAAA,KAA4C;AAC3C,MAAA,IAAI,CAAC,WAAA,EAAa;AAChB,QAAA;AAAA,MACF;AAEA,MAAA,MAAM,IAAA,GAAO,KAAA,CAAM,aAAA,CAAc,OAAA,CAAQ,sBAAsB,CAAA;AAC/D,MAAA,MAAM,UAAA,GAAa,CAAC,SAAA,KAAsB;AACxC,QAAA,MAAM,UAAU,IAAA,EAAM,aAAA;AAAA,UACpB,sBAAsB,SAAS,CAAA,EAAA;AAAA,SACjC;AACA,QAAA,OAAA,EAAS,KAAA,EAAM;AAAA,MACjB,CAAA;AAEA,MAAA,IAAI,KAAA,CAAM,GAAA,KAAQ,YAAA,IAAgB,KAAA,CAAM,QAAQ,SAAA,EAAW;AACzD,QAAA,KAAA,CAAM,cAAA,EAAe;AACrB,QAAA,MAAM,SAAA,GAAY,KAAA,CAAM,aAAA,GAAgB,IAAA,EAAM,MAAM,WAAW,CAAA;AAC/D,QAAA,WAAA,CAAY,SAAS,CAAA;AACrB,QAAA,UAAA,CAAW,SAAS,CAAA;AACpB,QAAA;AAAA,MACF;AAEA,MAAA,IAAI,KAAA,CAAM,GAAA,KAAQ,WAAA,IAAe,KAAA,CAAM,QAAQ,WAAA,EAAa;AAC1D,QAAA,KAAA,CAAM,cAAA,EAAe;AACrB,QAAA,MAAM,SAAA,GAAY,KAAA,CAAM,aAAA,GAAgB,IAAA,EAAM,GAAG,WAAW,CAAA;AAC5D,QAAA,WAAA,CAAY,SAAS,CAAA;AACrB,QAAA,UAAA,CAAW,SAAA,KAAc,CAAA,GAAI,IAAA,GAAO,SAAS,CAAA;AAC7C,QAAA;AAAA,MACF;AAEA,MAAA,IAAI,KAAA,CAAM,QAAQ,MAAA,EAAQ;AACxB,QAAA,KAAA,CAAM,cAAA,EAAe;AACrB,QAAA,WAAA,CAAY,IAAI,CAAA;AAChB,QAAA,UAAA,CAAW,IAAI,CAAA;AACf,QAAA;AAAA,MACF;AAEA,MAAA,IAAI,KAAA,CAAM,QAAQ,KAAA,EAAO;AACvB,QAAA,KAAA,CAAM,cAAA,EAAe;AACrB,QAAA,WAAA,CAAY,WAAW,CAAA;AACvB,QAAA,UAAA,CAAW,WAAW,CAAA;AAAA,MACxB;AAAA,IACF,CAAA;AAAA,IACA,CAAC,WAAA,EAAa,WAAA,EAAa,WAAA,EAAa,eAAe,IAAI;AAAA,GAC7D;AAEA,EAAA,uBACE,IAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,GAAA;AAAA,MACA,EAAA,EAAI,MAAA;AAAA,MACJ,SAAA,EAAW,EAAA,CAAG,iBAAA,EAAmB,SAAS,CAAA;AAAA,MAC1C,eAAA,EAAe,WAAW,MAAA,GAAS,MAAA;AAAA,MACnC,eAAA,EAAe,WAAW,MAAA,GAAS,MAAA;AAAA,MACnC,WAAA,EAAU,QAAA;AAAA,MACT,GAAG,IAAA;AAAA,MAEH,QAAA,EAAA;AAAA,QAAA,KAAA,KAAU,0BACT,GAAA,CAAC,GAAA,EAAA,EAAE,IAAI,OAAA,EAAS,SAAA,EAAW,oBACxB,QAAA,EAAA,KAAA,EACH,CAAA;AAAA,QAED,IAAA,KAAS,0BACR,GAAA,CAAC,GAAA,EAAA,EAAE,IAAI,MAAA,EAAQ,SAAA,EAAW,mBACvB,QAAA,EAAA,IAAA,EACH,CAAA;AAAA,wBAEF,GAAA;AAAA,UAAC,KAAA;AAAA,UAAA;AAAA,YACC,oBAAkB,WAAA,IAAe,MAAA;AAAA,YACjC,cAAA,EAAc,YAAA,KAAiB,MAAA,GAAY,IAAA,GAAO,MAAA;AAAA,YAClD,iBAAA,EAAiB,KAAA,KAAU,MAAA,GAAY,OAAA,GAAU,MAAA;AAAA,YACjD,YAAA,EAAY,KAAA,KAAU,MAAA,GAAY,QAAA,GAAW,MAAA;AAAA,YAC7C,SAAA,EAAW,kBAAA;AAAA,YACX,WAAA,EAAU,cAAA;AAAA,YACV,cAAA,EAAgB,MAAM,aAAA,CAAc,MAAS,CAAA;AAAA,YAC7C,IAAA,EAAK,YAAA;AAAA,YAEJ,QAAA,EAAA,KAAA,CAAM,KAAK,EAAE,MAAA,EAAQ,aAAY,EAAG,CAAC,GAAG,KAAA,KAAU;AACjD,cAAA,MAAM,YAAY,KAAA,GAAQ,CAAA;AAC1B,cAAA,MAAM,UAAA,GAAa,KAAA,CAAM,YAAA,GAAe,KAAA,EAAO,GAAG,CAAC,CAAA;AACnD,cAAA,MAAM,SAAA,GAAY;AAAA,gBAChB,QAAA,EAAU,CAAA,QAAA,EAAW,GAAA,GAAM,UAAA,GAAa,GAAG,CAAA,MAAA;AAAA,eAC7C;AACA,cAAA,MAAM,WAAA,GAAc,YAChB,CAAC,SAAA,GAAY,KAAK,SAAS,CAAA,GAC3B,CAAC,SAAS,CAAA;AAEd,cAAA,uBACE,IAAA;AAAA,gBAAC,MAAA;AAAA,gBAAA;AAAA,kBAEC,SAAA,EAAW,kBAAA,CAAmB,EAAE,IAAA,EAAM,CAAA;AAAA,kBACtC,kBAAA,EAAkB,cAAc,MAAA,GAAS,MAAA;AAAA,kBACzC,WAAA,EAAU,aAAA;AAAA,kBAEV,QAAA,EAAA;AAAA,oCAAA,GAAA;AAAA,sBAAC,IAAA;AAAA,sBAAA;AAAA,wBACC,aAAA,EAAY,MAAA;AAAA,wBACZ,SAAA,EAAW,EAAA,CAAG,yBAAA,EAA2B,aAAa;AAAA;AAAA,qBACxD;AAAA,oCACA,GAAA;AAAA,sBAAC,IAAA;AAAA,sBAAA;AAAA,wBACC,aAAA,EAAY,MAAA;AAAA,wBACZ,SAAA,EAAW,EAAA;AAAA,0BACT,kBAAA,CAAmB,EAAE,UAAA,EAAY,CAAA;AAAA,0BACjC;AAAA,yBACF;AAAA,wBACA,WAAA,EAAU,kBAAA;AAAA,wBACV,KAAA,EAAO;AAAA;AAAA,qBACT;AAAA,oBACC,WAAA,CAAY,GAAA,CAAI,CAAC,WAAA,EAAa,WAAA,qBAC7B,GAAA;AAAA,sBAAC,QAAA;AAAA,sBAAA;AAAA,wBAEC,IAAA,EAAK,QAAA;AAAA,wBACL,gBAAc,aAAA,KAAkB,WAAA;AAAA,wBAChC,YAAA,EAAY,QAAA,CAAS,WAAA,EAAa,WAAW,CAAA;AAAA,wBAC7C,SAAA,EAAW,EAAA;AAAA,0BACT,oBAAA;AAAA,0BACA,SAAA,GACI,WAAA,KAAgB,CAAA,GACd,cAAA,GACA,eAAA,GACF;AAAA,yBACN;AAAA,wBACA,WAAA,EAAU,gBAAA;AAAA,wBACV,YAAA,EAAY,WAAA;AAAA,wBACZ,QAAA,EAAU,gBAAA;AAAA,wBACV,SAAS,MAAM;AACb,0BAAA,IAAI,WAAA,EAAa;AACf,4BAAA,WAAA,CAAY,WAAW,CAAA;AAAA,0BACzB;AAAA,wBACF,CAAA;AAAA,wBACA,SAAA,EAAW,aAAA;AAAA,wBACX,gBAAgB,MAAM;AACpB,0BAAA,IAAI,WAAA,EAAa;AACf,4BAAA,aAAA,CAAc,WAAW,CAAA;AAAA,0BAC3B;AAAA,wBACF,CAAA;AAAA,wBACA,IAAA,EAAK,OAAA;AAAA,wBACL,UACE,aAAA,KAAkB,WAAA,IACjB,kBAAkB,CAAA,IAAK,WAAA,KAAgB,OACpC,CAAA,GACA;AAAA,uBAAA;AAAA,sBA/BD;AAAA,qBAkCR;AAAA;AAAA,iBAAA;AAAA,gBAtDI;AAAA,eAuDP;AAAA,YAEJ,CAAC;AAAA;AAAA,SACH;AAAA,QACC,SAAS,MAAA,oBACR,GAAA;AAAA,UAAC,OAAA;AAAA,UAAA;AAAA,YACC,IAAA,EAAK,QAAA;AAAA,YACL,IAAA;AAAA,YACA,KAAA,EAAO,aAAA;AAAA,YACP;AAAA;AAAA,SACF;AAAA,QAED,YAAA,KAAiB,0BAChB,GAAA,CAAC,GAAA,EAAA,EAAE,IAAI,OAAA,EAAS,SAAA,EAAW,oBACxB,QAAA,EAAA,YAAA,EACH;AAAA;AAAA;AAAA,GAEJ;AAEJ;AAEA,MAAA,CAAO,WAAA,GAAc,QAAA","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;
|
package/dist/ui/scroll-area.js
CHANGED
|
@@ -16,7 +16,28 @@ var zuiScrollAreaAppearances = {
|
|
|
16
16
|
emerald: "border border-[color:var(--zui-scroll-area-emerald-border,oklch(59.6%_0.145_163.225_/_0.35))] [--zui-scroll-area-thumb:oklch(59.6%_0.145_163.225)] [--zui-scroll-area-thumb-border:#ecfdf5] [--zui-scroll-area-track:#d1fae5] dark:border-[color:var(--zui-scroll-area-emerald-border-dark,oklch(69.6%_0.17_162.48_/_0.35))] dark:[--zui-scroll-area-thumb:oklch(69.6%_0.17_162.48)] dark:[--zui-scroll-area-thumb-border:#020617] dark:[--zui-scroll-area-track:#064e3b]",
|
|
17
17
|
rose: "border border-[color:var(--zui-scroll-area-rose-border,oklch(58.6%_0.253_17.585_/_0.3))] [--zui-scroll-area-thumb:oklch(58.6%_0.253_17.585)] [--zui-scroll-area-thumb-border:#fff1f2] [--zui-scroll-area-track:#ffe4e6] dark:border-[color:var(--zui-scroll-area-rose-border-dark,oklch(71.2%_0.194_13.428_/_0.35))] dark:[--zui-scroll-area-thumb:oklch(71.2%_0.194_13.428)] dark:[--zui-scroll-area-thumb-border:#020617] dark:[--zui-scroll-area-track:#4c0519]",
|
|
18
18
|
amber: "border border-[color:var(--zui-scroll-area-amber-border,oklch(76.9%_0.188_70.08_/_0.35))] [--zui-scroll-area-thumb:oklch(66.6%_0.179_58.318)] [--zui-scroll-area-thumb-border:#fffbeb] [--zui-scroll-area-track:#fef3c7] dark:border-[color:var(--zui-scroll-area-amber-border-dark,oklch(82.8%_0.189_84.429_/_0.35))] dark:[--zui-scroll-area-thumb:oklch(82.8%_0.189_84.429)] dark:[--zui-scroll-area-thumb-border:#020617] dark:[--zui-scroll-area-track:#451a03]",
|
|
19
|
-
violet: "border border-[color:var(--zui-scroll-area-violet-border,oklch(60.6%_0.25_292.717_/_0.35))] [--zui-scroll-area-thumb:oklch(54.1%_0.281_293.009)] [--zui-scroll-area-thumb-border:#f5f3ff] [--zui-scroll-area-track:#ede9fe] dark:border-[color:var(--zui-scroll-area-violet-border-dark,oklch(70.2%_0.183_293.541_/_0.35))] dark:[--zui-scroll-area-thumb:oklch(70.2%_0.183_293.541)] dark:[--zui-scroll-area-thumb-border:#020617] dark:[--zui-scroll-area-track:#2e1065]"
|
|
19
|
+
violet: "border border-[color:var(--zui-scroll-area-violet-border,oklch(60.6%_0.25_292.717_/_0.35))] [--zui-scroll-area-thumb:oklch(54.1%_0.281_293.009)] [--zui-scroll-area-thumb-border:#f5f3ff] [--zui-scroll-area-track:#ede9fe] dark:border-[color:var(--zui-scroll-area-violet-border-dark,oklch(70.2%_0.183_293.541_/_0.35))] dark:[--zui-scroll-area-thumb:oklch(70.2%_0.183_293.541)] dark:[--zui-scroll-area-thumb-border:#020617] dark:[--zui-scroll-area-track:#2e1065]",
|
|
20
|
+
blue: "border border-[color:var(--zui-scroll-area-blue-border,#2563eb66)] dark:border-[color:var(--zui-scroll-area-blue-border-dark,#3b82f666)] [--zui-scroll-area-thumb:var(--zui-scroll-area-blue-thumb,#2563eb)] dark:[--zui-scroll-area-thumb:var(--zui-scroll-area-blue-thumb-dark,#3b82f6)] [--zui-scroll-area-track:var(--zui-scroll-area-blue-track,#2563eb14)] dark:[--zui-scroll-area-track:var(--zui-scroll-area-blue-track-dark,#3b82f624)]",
|
|
21
|
+
cyan: "border border-[color:var(--zui-scroll-area-cyan-border,#0891b266)] dark:border-[color:var(--zui-scroll-area-cyan-border-dark,#22d3ee66)] [--zui-scroll-area-thumb:var(--zui-scroll-area-cyan-thumb,#0891b2)] dark:[--zui-scroll-area-thumb:var(--zui-scroll-area-cyan-thumb-dark,#22d3ee)] [--zui-scroll-area-track:var(--zui-scroll-area-cyan-track,#0891b214)] dark:[--zui-scroll-area-track:var(--zui-scroll-area-cyan-track-dark,#22d3ee24)]",
|
|
22
|
+
green: "border border-[color:var(--zui-scroll-area-green-border,#16a34a66)] dark:border-[color:var(--zui-scroll-area-green-border-dark,#22c55e66)] [--zui-scroll-area-thumb:var(--zui-scroll-area-green-thumb,#16a34a)] dark:[--zui-scroll-area-thumb:var(--zui-scroll-area-green-thumb-dark,#22c55e)] [--zui-scroll-area-track:var(--zui-scroll-area-green-track,#16a34a14)] dark:[--zui-scroll-area-track:var(--zui-scroll-area-green-track-dark,#22c55e24)]",
|
|
23
|
+
lime: "border border-[color:var(--zui-scroll-area-lime-border,#65a30d66)] dark:border-[color:var(--zui-scroll-area-lime-border-dark,#a3e63566)] [--zui-scroll-area-thumb:var(--zui-scroll-area-lime-thumb,#65a30d)] dark:[--zui-scroll-area-thumb:var(--zui-scroll-area-lime-thumb-dark,#a3e635)] [--zui-scroll-area-track:var(--zui-scroll-area-lime-track,#65a30d14)] dark:[--zui-scroll-area-track:var(--zui-scroll-area-lime-track-dark,#a3e63524)]",
|
|
24
|
+
mint: "border border-[color:var(--zui-scroll-area-mint-border,#10b98166)] dark:border-[color:var(--zui-scroll-area-mint-border-dark,#6ee7b766)] [--zui-scroll-area-thumb:var(--zui-scroll-area-mint-thumb,#10b981)] dark:[--zui-scroll-area-thumb:var(--zui-scroll-area-mint-thumb-dark,#6ee7b7)] [--zui-scroll-area-track:var(--zui-scroll-area-mint-track,#10b98114)] dark:[--zui-scroll-area-track:var(--zui-scroll-area-mint-track-dark,#6ee7b724)]",
|
|
25
|
+
ocean: "border border-[color:var(--zui-scroll-area-ocean-border,#0284c766)] dark:border-[color:var(--zui-scroll-area-ocean-border-dark,#38bdf866)] [--zui-scroll-area-thumb:var(--zui-scroll-area-ocean-thumb,#0284c7)] dark:[--zui-scroll-area-thumb:var(--zui-scroll-area-ocean-thumb-dark,#38bdf8)] [--zui-scroll-area-track:var(--zui-scroll-area-ocean-track,#0284c714)] dark:[--zui-scroll-area-track:var(--zui-scroll-area-ocean-track-dark,#38bdf824)]",
|
|
26
|
+
sapphire: "border border-[color:var(--zui-scroll-area-sapphire-border,#1d4ed866)] dark:border-[color:var(--zui-scroll-area-sapphire-border-dark,#60a5fa66)] [--zui-scroll-area-thumb:var(--zui-scroll-area-sapphire-thumb,#1d4ed8)] dark:[--zui-scroll-area-thumb:var(--zui-scroll-area-sapphire-thumb-dark,#60a5fa)] [--zui-scroll-area-track:var(--zui-scroll-area-sapphire-track,#1d4ed814)] dark:[--zui-scroll-area-track:var(--zui-scroll-area-sapphire-track-dark,#60a5fa24)]",
|
|
27
|
+
lavender: "border border-[color:var(--zui-scroll-area-lavender-border,#8b5cf666)] dark:border-[color:var(--zui-scroll-area-lavender-border-dark,#a78bfa66)] [--zui-scroll-area-thumb:var(--zui-scroll-area-lavender-thumb,#8b5cf6)] dark:[--zui-scroll-area-thumb:var(--zui-scroll-area-lavender-thumb-dark,#a78bfa)] [--zui-scroll-area-track:var(--zui-scroll-area-lavender-track,#8b5cf614)] dark:[--zui-scroll-area-track:var(--zui-scroll-area-lavender-track-dark,#a78bfa24)]",
|
|
28
|
+
ruby: "border border-[color:var(--zui-scroll-area-ruby-border,#be123c66)] dark:border-[color:var(--zui-scroll-area-ruby-border-dark,#fb718566)] [--zui-scroll-area-thumb:var(--zui-scroll-area-ruby-thumb,#be123c)] dark:[--zui-scroll-area-thumb:var(--zui-scroll-area-ruby-thumb-dark,#fb7185)] [--zui-scroll-area-track:var(--zui-scroll-area-ruby-track,#be123c14)] dark:[--zui-scroll-area-track:var(--zui-scroll-area-ruby-track-dark,#fb718524)]",
|
|
29
|
+
red: "border border-[color:var(--zui-scroll-area-red-border,#dc262666)] dark:border-[color:var(--zui-scroll-area-red-border-dark,#ef444466)] [--zui-scroll-area-thumb:var(--zui-scroll-area-red-thumb,#dc2626)] dark:[--zui-scroll-area-thumb:var(--zui-scroll-area-red-thumb-dark,#ef4444)] [--zui-scroll-area-track:var(--zui-scroll-area-red-track,#dc262614)] dark:[--zui-scroll-area-track:var(--zui-scroll-area-red-track-dark,#ef444424)]",
|
|
30
|
+
slate: "border border-[color:var(--zui-scroll-area-slate-border,#47556966)] dark:border-[color:var(--zui-scroll-area-slate-border-dark,#64748b66)] [--zui-scroll-area-thumb:var(--zui-scroll-area-slate-thumb,#475569)] dark:[--zui-scroll-area-thumb:var(--zui-scroll-area-slate-thumb-dark,#64748b)] [--zui-scroll-area-track:var(--zui-scroll-area-slate-track,#47556914)] dark:[--zui-scroll-area-track:var(--zui-scroll-area-slate-track-dark,#64748b24)]",
|
|
31
|
+
zinc: "border border-[color:var(--zui-scroll-area-zinc-border,#52525b66)] dark:border-[color:var(--zui-scroll-area-zinc-border-dark,#71717a66)] [--zui-scroll-area-thumb:var(--zui-scroll-area-zinc-thumb,#52525b)] dark:[--zui-scroll-area-thumb:var(--zui-scroll-area-zinc-thumb-dark,#71717a)] [--zui-scroll-area-track:var(--zui-scroll-area-zinc-track,#52525b14)] dark:[--zui-scroll-area-track:var(--zui-scroll-area-zinc-track-dark,#71717a24)]",
|
|
32
|
+
stone: "border border-[color:var(--zui-scroll-area-stone-border,#57534e66)] dark:border-[color:var(--zui-scroll-area-stone-border-dark,#78716c66)] [--zui-scroll-area-thumb:var(--zui-scroll-area-stone-thumb,#57534e)] dark:[--zui-scroll-area-thumb:var(--zui-scroll-area-stone-thumb-dark,#78716c)] [--zui-scroll-area-track:var(--zui-scroll-area-stone-track,#57534e14)] dark:[--zui-scroll-area-track:var(--zui-scroll-area-stone-track-dark,#78716c24)]",
|
|
33
|
+
royal: "border border-[color:var(--zui-scroll-area-royal-border,#4338ca66)] dark:border-[color:var(--zui-scroll-area-royal-border-dark,#818cf866)] [--zui-scroll-area-thumb:var(--zui-scroll-area-royal-thumb,#4338ca)] dark:[--zui-scroll-area-thumb:var(--zui-scroll-area-royal-thumb-dark,#818cf8)] [--zui-scroll-area-track:var(--zui-scroll-area-royal-track,#4338ca14)] dark:[--zui-scroll-area-track:var(--zui-scroll-area-royal-track-dark,#818cf824)]",
|
|
34
|
+
electric: "border border-[color:var(--zui-scroll-area-electric-border,#0ea5e966)] dark:border-[color:var(--zui-scroll-area-electric-border-dark,#38bdf866)] [--zui-scroll-area-thumb:var(--zui-scroll-area-electric-thumb,#0ea5e9)] dark:[--zui-scroll-area-thumb:var(--zui-scroll-area-electric-thumb-dark,#38bdf8)] [--zui-scroll-area-track:var(--zui-scroll-area-electric-track,#0ea5e914)] dark:[--zui-scroll-area-track:var(--zui-scroll-area-electric-track-dark,#38bdf824)]",
|
|
35
|
+
forest: "border border-[color:var(--zui-scroll-area-forest-border,#16653466)] dark:border-[color:var(--zui-scroll-area-forest-border-dark,#4ade8066)] [--zui-scroll-area-thumb:var(--zui-scroll-area-forest-thumb,#166534)] dark:[--zui-scroll-area-thumb:var(--zui-scroll-area-forest-thumb-dark,#4ade80)] [--zui-scroll-area-track:var(--zui-scroll-area-forest-track,#16653414)] dark:[--zui-scroll-area-track:var(--zui-scroll-area-forest-track-dark,#4ade8024)]",
|
|
36
|
+
sunset: "border border-[color:var(--zui-scroll-area-sunset-border,#ea580c66)] dark:border-[color:var(--zui-scroll-area-sunset-border-dark,#fb923c66)] [--zui-scroll-area-thumb:var(--zui-scroll-area-sunset-thumb,#ea580c)] dark:[--zui-scroll-area-thumb:var(--zui-scroll-area-sunset-thumb-dark,#fb923c)] [--zui-scroll-area-track:var(--zui-scroll-area-sunset-track,#ea580c14)] dark:[--zui-scroll-area-track:var(--zui-scroll-area-sunset-track-dark,#fb923c24)]",
|
|
37
|
+
magenta: "border border-[color:var(--zui-scroll-area-magenta-border,#c026d366)] dark:border-[color:var(--zui-scroll-area-magenta-border-dark,#e879f966)] [--zui-scroll-area-thumb:var(--zui-scroll-area-magenta-thumb,#c026d3)] dark:[--zui-scroll-area-thumb:var(--zui-scroll-area-magenta-thumb-dark,#e879f9)] [--zui-scroll-area-track:var(--zui-scroll-area-magenta-track,#c026d314)] dark:[--zui-scroll-area-track:var(--zui-scroll-area-magenta-track-dark,#e879f924)]",
|
|
38
|
+
crimson: "border border-[color:var(--zui-scroll-area-crimson-border,#b91c1c66)] dark:border-[color:var(--zui-scroll-area-crimson-border-dark,#f8717166)] [--zui-scroll-area-thumb:var(--zui-scroll-area-crimson-thumb,#b91c1c)] dark:[--zui-scroll-area-thumb:var(--zui-scroll-area-crimson-thumb-dark,#f87171)] [--zui-scroll-area-track:var(--zui-scroll-area-crimson-track,#b91c1c14)] dark:[--zui-scroll-area-track:var(--zui-scroll-area-crimson-track-dark,#f8717124)]",
|
|
39
|
+
aqua: "border border-[color:var(--zui-scroll-area-aqua-border,#0f766e66)] dark:border-[color:var(--zui-scroll-area-aqua-border-dark,#2dd4bf66)] [--zui-scroll-area-thumb:var(--zui-scroll-area-aqua-thumb,#0f766e)] dark:[--zui-scroll-area-thumb:var(--zui-scroll-area-aqua-thumb-dark,#2dd4bf)] [--zui-scroll-area-track:var(--zui-scroll-area-aqua-track,#0f766e14)] dark:[--zui-scroll-area-track:var(--zui-scroll-area-aqua-track-dark,#2dd4bf24)]",
|
|
40
|
+
plum: "border border-[color:var(--zui-scroll-area-plum-border,#7e22ce66)] dark:border-[color:var(--zui-scroll-area-plum-border-dark,#c084fc66)] [--zui-scroll-area-thumb:var(--zui-scroll-area-plum-thumb,#7e22ce)] dark:[--zui-scroll-area-thumb:var(--zui-scroll-area-plum-thumb-dark,#c084fc)] [--zui-scroll-area-track:var(--zui-scroll-area-plum-track,#7e22ce14)] dark:[--zui-scroll-area-track:var(--zui-scroll-area-plum-track-dark,#c084fc24)]"
|
|
20
41
|
};
|
|
21
42
|
var zuiScrollAreaSizes = {
|
|
22
43
|
sm: "[--zui-scroll-area-size:0.375rem]",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/design-system/scroll-area.ts","../../src/ui/scroll-area/variants.ts","../../src/ui/scroll-area/scroll-area.tsx"],"names":["cva","jsx","cn"],"mappings":"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","file":"scroll-area.js","sourcesContent":["export const zuiScrollAreaBase =\n \"relative min-w-0 rounded-xl outline-none transition-[background-color,border-color,box-shadow,scrollbar-color] duration-200 [scrollbar-color:var(--zui-scroll-area-thumb,#94a3b8)_var(--zui-scroll-area-track,transparent)] [scrollbar-width:thin] focus-visible:ring-2 focus-visible:ring-[var(--zui-scroll-area-ring-focus,oklch(54.6%_0.245_262.881_/_0.28))] focus-visible:ring-offset-2 focus-visible:ring-offset-[var(--zui-scroll-area-ring-offset-focus,#ffffff)] dark:focus-visible:ring-[var(--zui-scroll-area-ring-focus-dark,oklch(70.7%_0.165_254.624_/_0.28))] dark:focus-visible:ring-offset-[var(--zui-scroll-area-ring-offset-focus-dark,oklch(12.9%_0.042_264.695))] [&::-webkit-scrollbar]:h-[var(--zui-scroll-area-size,0.625rem)] [&::-webkit-scrollbar]:w-[var(--zui-scroll-area-size,0.625rem)] [&::-webkit-scrollbar-corner]:bg-transparent [&::-webkit-scrollbar-thumb]:rounded-full [&::-webkit-scrollbar-thumb]:border-2 [&::-webkit-scrollbar-thumb]:border-solid [&::-webkit-scrollbar-thumb]:border-[var(--zui-scroll-area-thumb-border,transparent)] [&::-webkit-scrollbar-thumb]:bg-[var(--zui-scroll-area-thumb,#94a3b8)] [&::-webkit-scrollbar-track]:rounded-full [&::-webkit-scrollbar-track]:bg-[var(--zui-scroll-area-track,transparent)]\";\n\nexport const zuiScrollAreaAppearances = {\n default:\n \"[--zui-scroll-area-thumb:#94a3b8] [--zui-scroll-area-thumb-border:#f8fafc] [--zui-scroll-area-track:#e2e8f0] dark:[--zui-scroll-area-thumb:#64748b] dark:[--zui-scroll-area-thumb-border:#020617] dark:[--zui-scroll-area-track:#1e293b]\",\n muted:\n \"[--zui-scroll-area-thumb:#cbd5e1] [--zui-scroll-area-thumb-border:#f8fafc] [--zui-scroll-area-track:#f1f5f9] dark:[--zui-scroll-area-thumb:#475569] dark:[--zui-scroll-area-thumb-border:#020617] dark:[--zui-scroll-area-track:#0f172a]\",\n outline:\n \"border border-[color:var(--zui-scroll-area-outline-border,#cbd5e1)] [--zui-scroll-area-thumb:#64748b] [--zui-scroll-area-thumb-border:#ffffff] [--zui-scroll-area-track:#e2e8f0] dark:border-[color:var(--zui-scroll-area-outline-border-dark,#334155)] dark:[--zui-scroll-area-thumb:#94a3b8] dark:[--zui-scroll-area-thumb-border:#020617] dark:[--zui-scroll-area-track:#1e293b]\",\n glass:\n \"border border-[color:var(--zui-scroll-area-glass-border,#ffffff80)] bg-[var(--zui-scroll-area-glass-bg,#ffffff99)] backdrop-blur-md [--zui-scroll-area-thumb:oklch(70.7%_0.165_254.624_/_0.9)] [--zui-scroll-area-thumb-border:#ffffff66] [--zui-scroll-area-track:#ffffff33] dark:border-[color:var(--zui-scroll-area-glass-border-dark,#ffffff1f)] dark:bg-[var(--zui-scroll-area-glass-bg-dark,#0f172acc)] dark:[--zui-scroll-area-thumb:oklch(78.9%_0.154_211.53_/_0.8)] dark:[--zui-scroll-area-thumb-border:#02061766] dark:[--zui-scroll-area-track:#ffffff12]\",\n sky: \"border border-[color:var(--zui-scroll-area-sky-border,oklch(62.3%_0.214_259.815_/_0.35))] [--zui-scroll-area-thumb:oklch(54.6%_0.245_262.881)] [--zui-scroll-area-thumb-border:#eff6ff] [--zui-scroll-area-track:#dbeafe] dark:border-[color:var(--zui-scroll-area-sky-border-dark,oklch(70.7%_0.165_254.624_/_0.35))] dark:[--zui-scroll-area-thumb:oklch(70.7%_0.165_254.624)] dark:[--zui-scroll-area-thumb-border:#020617] dark:[--zui-scroll-area-track:#172554]\",\n emerald:\n \"border border-[color:var(--zui-scroll-area-emerald-border,oklch(59.6%_0.145_163.225_/_0.35))] [--zui-scroll-area-thumb:oklch(59.6%_0.145_163.225)] [--zui-scroll-area-thumb-border:#ecfdf5] [--zui-scroll-area-track:#d1fae5] dark:border-[color:var(--zui-scroll-area-emerald-border-dark,oklch(69.6%_0.17_162.48_/_0.35))] dark:[--zui-scroll-area-thumb:oklch(69.6%_0.17_162.48)] dark:[--zui-scroll-area-thumb-border:#020617] dark:[--zui-scroll-area-track:#064e3b]\",\n rose: \"border border-[color:var(--zui-scroll-area-rose-border,oklch(58.6%_0.253_17.585_/_0.3))] [--zui-scroll-area-thumb:oklch(58.6%_0.253_17.585)] [--zui-scroll-area-thumb-border:#fff1f2] [--zui-scroll-area-track:#ffe4e6] dark:border-[color:var(--zui-scroll-area-rose-border-dark,oklch(71.2%_0.194_13.428_/_0.35))] dark:[--zui-scroll-area-thumb:oklch(71.2%_0.194_13.428)] dark:[--zui-scroll-area-thumb-border:#020617] dark:[--zui-scroll-area-track:#4c0519]\",\n amber:\n \"border border-[color:var(--zui-scroll-area-amber-border,oklch(76.9%_0.188_70.08_/_0.35))] [--zui-scroll-area-thumb:oklch(66.6%_0.179_58.318)] [--zui-scroll-area-thumb-border:#fffbeb] [--zui-scroll-area-track:#fef3c7] dark:border-[color:var(--zui-scroll-area-amber-border-dark,oklch(82.8%_0.189_84.429_/_0.35))] dark:[--zui-scroll-area-thumb:oklch(82.8%_0.189_84.429)] dark:[--zui-scroll-area-thumb-border:#020617] dark:[--zui-scroll-area-track:#451a03]\",\n violet:\n \"border border-[color:var(--zui-scroll-area-violet-border,oklch(60.6%_0.25_292.717_/_0.35))] [--zui-scroll-area-thumb:oklch(54.1%_0.281_293.009)] [--zui-scroll-area-thumb-border:#f5f3ff] [--zui-scroll-area-track:#ede9fe] dark:border-[color:var(--zui-scroll-area-violet-border-dark,oklch(70.2%_0.183_293.541_/_0.35))] dark:[--zui-scroll-area-thumb:oklch(70.2%_0.183_293.541)] dark:[--zui-scroll-area-thumb-border:#020617] dark:[--zui-scroll-area-track:#2e1065]\",\n} as const;\n\nexport const zuiScrollAreaSizes = {\n sm: \"[--zui-scroll-area-size:0.375rem]\",\n md: \"[--zui-scroll-area-size:0.625rem]\",\n lg: \"[--zui-scroll-area-size:0.875rem]\",\n} as const;\n\nexport const zuiScrollAreaOrientations = {\n vertical: \"overflow-x-hidden overflow-y-auto\",\n horizontal: \"overflow-x-auto overflow-y-hidden\",\n both: \"overflow-auto\",\n} as const;\n\nexport const zuiScrollAreaVisibility = {\n auto: \"\",\n hover:\n \"[scrollbar-color:transparent_transparent] hover:[scrollbar-color:var(--zui-scroll-area-thumb,#94a3b8)_var(--zui-scroll-area-track,transparent)] [&::-webkit-scrollbar-thumb]:bg-transparent hover:[&::-webkit-scrollbar-thumb]:bg-[var(--zui-scroll-area-thumb,#94a3b8)] [&::-webkit-scrollbar-track]:bg-transparent hover:[&::-webkit-scrollbar-track]:bg-[var(--zui-scroll-area-track,transparent)]\",\n always: \"\",\n hidden:\n \"[scrollbar-width:none] [&::-webkit-scrollbar]:hidden [&::-webkit-scrollbar]:h-0 [&::-webkit-scrollbar]:w-0\",\n} as const;\n\nexport const zuiScrollAreaShadows = {\n false: \"\",\n true: \"[box-shadow:inset_0_2px_12px_rgb(15_23_42_/_0.08)] dark:[box-shadow:inset_0_2px_12px_rgb(0_0_0_/_0.3)]\",\n} as const;\n","import { cva } from \"class-variance-authority\";\n\nimport {\n zuiScrollAreaAppearances,\n zuiScrollAreaBase,\n zuiScrollAreaOrientations,\n zuiScrollAreaShadows,\n zuiScrollAreaSizes,\n zuiScrollAreaVisibility,\n} from \"../../design-system/scroll-area\";\n\nexport const scrollAreaVariants = cva(zuiScrollAreaBase, {\n variants: {\n appearance: zuiScrollAreaAppearances,\n orientation: zuiScrollAreaOrientations,\n scrollbar: zuiScrollAreaVisibility,\n shadow: zuiScrollAreaShadows,\n size: zuiScrollAreaSizes,\n },\n compoundVariants: [\n {\n scrollbar: \"always\",\n orientation: \"vertical\",\n class: \"overflow-x-hidden overflow-y-scroll\",\n },\n {\n scrollbar: \"always\",\n orientation: \"horizontal\",\n class: \"overflow-x-scroll overflow-y-hidden\",\n },\n {\n scrollbar: \"always\",\n orientation: \"both\",\n class: \"overflow-scroll\",\n },\n ],\n defaultVariants: {\n appearance: \"default\",\n orientation: \"vertical\",\n scrollbar: \"auto\",\n shadow: false,\n size: \"md\",\n },\n});\n","\"use client\";\n\nimport { cn } from \"../../lib/utils\";\n\nimport type { ScrollAreaProps } from \"./types\";\nimport { scrollAreaVariants } from \"./variants\";\n\nexport function ScrollArea(props: ScrollAreaProps) {\n const {\n appearance,\n children,\n className,\n orientation,\n ref,\n role,\n scrollbar,\n shadow,\n size,\n tabIndex,\n viewportClassName,\n ...rest\n } = props;\n const ariaLabel = rest[\"aria-label\"];\n const ariaLabelledBy = rest[\"aria-labelledby\"];\n const isNamedRegion =\n role === \"region\" ||\n ariaLabel !== undefined ||\n ariaLabelledBy !== undefined;\n\n return (\n <div\n ref={ref}\n data-orientation={orientation ?? \"vertical\"}\n data-scrollbar={scrollbar ?? \"auto\"}\n data-slot=\"scroll-area\"\n role={\n role ??\n (ariaLabel !== undefined || ariaLabelledBy !== undefined\n ? \"region\"\n : undefined)\n }\n tabIndex={tabIndex ?? (isNamedRegion ? 0 : undefined)}\n className={cn(\n scrollAreaVariants({\n appearance,\n orientation,\n scrollbar,\n shadow,\n size,\n }),\n className,\n )}\n {...rest}\n >\n <div data-slot=\"scroll-area-viewport\" className={viewportClassName}>\n {children}\n </div>\n </div>\n );\n}\n\nScrollArea.displayName = \"ScrollArea\";\n"]}
|
|
1
|
+
{"version":3,"sources":["../../src/design-system/scroll-area.ts","../../src/ui/scroll-area/variants.ts","../../src/ui/scroll-area/scroll-area.tsx"],"names":["cva","jsx","cn"],"mappings":"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","file":"scroll-area.js","sourcesContent":["export const zuiScrollAreaBase =\n \"relative min-w-0 rounded-xl outline-none transition-[background-color,border-color,box-shadow,scrollbar-color] duration-200 [scrollbar-color:var(--zui-scroll-area-thumb,#94a3b8)_var(--zui-scroll-area-track,transparent)] [scrollbar-width:thin] focus-visible:ring-2 focus-visible:ring-[var(--zui-scroll-area-ring-focus,oklch(54.6%_0.245_262.881_/_0.28))] focus-visible:ring-offset-2 focus-visible:ring-offset-[var(--zui-scroll-area-ring-offset-focus,#ffffff)] dark:focus-visible:ring-[var(--zui-scroll-area-ring-focus-dark,oklch(70.7%_0.165_254.624_/_0.28))] dark:focus-visible:ring-offset-[var(--zui-scroll-area-ring-offset-focus-dark,oklch(12.9%_0.042_264.695))] [&::-webkit-scrollbar]:h-[var(--zui-scroll-area-size,0.625rem)] [&::-webkit-scrollbar]:w-[var(--zui-scroll-area-size,0.625rem)] [&::-webkit-scrollbar-corner]:bg-transparent [&::-webkit-scrollbar-thumb]:rounded-full [&::-webkit-scrollbar-thumb]:border-2 [&::-webkit-scrollbar-thumb]:border-solid [&::-webkit-scrollbar-thumb]:border-[var(--zui-scroll-area-thumb-border,transparent)] [&::-webkit-scrollbar-thumb]:bg-[var(--zui-scroll-area-thumb,#94a3b8)] [&::-webkit-scrollbar-track]:rounded-full [&::-webkit-scrollbar-track]:bg-[var(--zui-scroll-area-track,transparent)]\";\n\nexport const zuiScrollAreaAppearances = {\n default:\n \"[--zui-scroll-area-thumb:#94a3b8] [--zui-scroll-area-thumb-border:#f8fafc] [--zui-scroll-area-track:#e2e8f0] dark:[--zui-scroll-area-thumb:#64748b] dark:[--zui-scroll-area-thumb-border:#020617] dark:[--zui-scroll-area-track:#1e293b]\",\n muted:\n \"[--zui-scroll-area-thumb:#cbd5e1] [--zui-scroll-area-thumb-border:#f8fafc] [--zui-scroll-area-track:#f1f5f9] dark:[--zui-scroll-area-thumb:#475569] dark:[--zui-scroll-area-thumb-border:#020617] dark:[--zui-scroll-area-track:#0f172a]\",\n outline:\n \"border border-[color:var(--zui-scroll-area-outline-border,#cbd5e1)] [--zui-scroll-area-thumb:#64748b] [--zui-scroll-area-thumb-border:#ffffff] [--zui-scroll-area-track:#e2e8f0] dark:border-[color:var(--zui-scroll-area-outline-border-dark,#334155)] dark:[--zui-scroll-area-thumb:#94a3b8] dark:[--zui-scroll-area-thumb-border:#020617] dark:[--zui-scroll-area-track:#1e293b]\",\n glass:\n \"border border-[color:var(--zui-scroll-area-glass-border,#ffffff80)] bg-[var(--zui-scroll-area-glass-bg,#ffffff99)] backdrop-blur-md [--zui-scroll-area-thumb:oklch(70.7%_0.165_254.624_/_0.9)] [--zui-scroll-area-thumb-border:#ffffff66] [--zui-scroll-area-track:#ffffff33] dark:border-[color:var(--zui-scroll-area-glass-border-dark,#ffffff1f)] dark:bg-[var(--zui-scroll-area-glass-bg-dark,#0f172acc)] dark:[--zui-scroll-area-thumb:oklch(78.9%_0.154_211.53_/_0.8)] dark:[--zui-scroll-area-thumb-border:#02061766] dark:[--zui-scroll-area-track:#ffffff12]\",\n sky: \"border border-[color:var(--zui-scroll-area-sky-border,oklch(62.3%_0.214_259.815_/_0.35))] [--zui-scroll-area-thumb:oklch(54.6%_0.245_262.881)] [--zui-scroll-area-thumb-border:#eff6ff] [--zui-scroll-area-track:#dbeafe] dark:border-[color:var(--zui-scroll-area-sky-border-dark,oklch(70.7%_0.165_254.624_/_0.35))] dark:[--zui-scroll-area-thumb:oklch(70.7%_0.165_254.624)] dark:[--zui-scroll-area-thumb-border:#020617] dark:[--zui-scroll-area-track:#172554]\",\n emerald:\n \"border border-[color:var(--zui-scroll-area-emerald-border,oklch(59.6%_0.145_163.225_/_0.35))] [--zui-scroll-area-thumb:oklch(59.6%_0.145_163.225)] [--zui-scroll-area-thumb-border:#ecfdf5] [--zui-scroll-area-track:#d1fae5] dark:border-[color:var(--zui-scroll-area-emerald-border-dark,oklch(69.6%_0.17_162.48_/_0.35))] dark:[--zui-scroll-area-thumb:oklch(69.6%_0.17_162.48)] dark:[--zui-scroll-area-thumb-border:#020617] dark:[--zui-scroll-area-track:#064e3b]\",\n rose: \"border border-[color:var(--zui-scroll-area-rose-border,oklch(58.6%_0.253_17.585_/_0.3))] [--zui-scroll-area-thumb:oklch(58.6%_0.253_17.585)] [--zui-scroll-area-thumb-border:#fff1f2] [--zui-scroll-area-track:#ffe4e6] dark:border-[color:var(--zui-scroll-area-rose-border-dark,oklch(71.2%_0.194_13.428_/_0.35))] dark:[--zui-scroll-area-thumb:oklch(71.2%_0.194_13.428)] dark:[--zui-scroll-area-thumb-border:#020617] dark:[--zui-scroll-area-track:#4c0519]\",\n amber:\n \"border border-[color:var(--zui-scroll-area-amber-border,oklch(76.9%_0.188_70.08_/_0.35))] [--zui-scroll-area-thumb:oklch(66.6%_0.179_58.318)] [--zui-scroll-area-thumb-border:#fffbeb] [--zui-scroll-area-track:#fef3c7] dark:border-[color:var(--zui-scroll-area-amber-border-dark,oklch(82.8%_0.189_84.429_/_0.35))] dark:[--zui-scroll-area-thumb:oklch(82.8%_0.189_84.429)] dark:[--zui-scroll-area-thumb-border:#020617] dark:[--zui-scroll-area-track:#451a03]\",\n violet:\n \"border border-[color:var(--zui-scroll-area-violet-border,oklch(60.6%_0.25_292.717_/_0.35))] [--zui-scroll-area-thumb:oklch(54.1%_0.281_293.009)] [--zui-scroll-area-thumb-border:#f5f3ff] [--zui-scroll-area-track:#ede9fe] dark:border-[color:var(--zui-scroll-area-violet-border-dark,oklch(70.2%_0.183_293.541_/_0.35))] dark:[--zui-scroll-area-thumb:oklch(70.2%_0.183_293.541)] dark:[--zui-scroll-area-thumb-border:#020617] dark:[--zui-scroll-area-track:#2e1065]\",\n blue: \"border border-[color:var(--zui-scroll-area-blue-border,#2563eb66)] dark:border-[color:var(--zui-scroll-area-blue-border-dark,#3b82f666)] [--zui-scroll-area-thumb:var(--zui-scroll-area-blue-thumb,#2563eb)] dark:[--zui-scroll-area-thumb:var(--zui-scroll-area-blue-thumb-dark,#3b82f6)] [--zui-scroll-area-track:var(--zui-scroll-area-blue-track,#2563eb14)] dark:[--zui-scroll-area-track:var(--zui-scroll-area-blue-track-dark,#3b82f624)]\",\n cyan: \"border border-[color:var(--zui-scroll-area-cyan-border,#0891b266)] dark:border-[color:var(--zui-scroll-area-cyan-border-dark,#22d3ee66)] [--zui-scroll-area-thumb:var(--zui-scroll-area-cyan-thumb,#0891b2)] dark:[--zui-scroll-area-thumb:var(--zui-scroll-area-cyan-thumb-dark,#22d3ee)] [--zui-scroll-area-track:var(--zui-scroll-area-cyan-track,#0891b214)] dark:[--zui-scroll-area-track:var(--zui-scroll-area-cyan-track-dark,#22d3ee24)]\",\n green:\n \"border border-[color:var(--zui-scroll-area-green-border,#16a34a66)] dark:border-[color:var(--zui-scroll-area-green-border-dark,#22c55e66)] [--zui-scroll-area-thumb:var(--zui-scroll-area-green-thumb,#16a34a)] dark:[--zui-scroll-area-thumb:var(--zui-scroll-area-green-thumb-dark,#22c55e)] [--zui-scroll-area-track:var(--zui-scroll-area-green-track,#16a34a14)] dark:[--zui-scroll-area-track:var(--zui-scroll-area-green-track-dark,#22c55e24)]\",\n lime: \"border border-[color:var(--zui-scroll-area-lime-border,#65a30d66)] dark:border-[color:var(--zui-scroll-area-lime-border-dark,#a3e63566)] [--zui-scroll-area-thumb:var(--zui-scroll-area-lime-thumb,#65a30d)] dark:[--zui-scroll-area-thumb:var(--zui-scroll-area-lime-thumb-dark,#a3e635)] [--zui-scroll-area-track:var(--zui-scroll-area-lime-track,#65a30d14)] dark:[--zui-scroll-area-track:var(--zui-scroll-area-lime-track-dark,#a3e63524)]\",\n mint: \"border border-[color:var(--zui-scroll-area-mint-border,#10b98166)] dark:border-[color:var(--zui-scroll-area-mint-border-dark,#6ee7b766)] [--zui-scroll-area-thumb:var(--zui-scroll-area-mint-thumb,#10b981)] dark:[--zui-scroll-area-thumb:var(--zui-scroll-area-mint-thumb-dark,#6ee7b7)] [--zui-scroll-area-track:var(--zui-scroll-area-mint-track,#10b98114)] dark:[--zui-scroll-area-track:var(--zui-scroll-area-mint-track-dark,#6ee7b724)]\",\n ocean:\n \"border border-[color:var(--zui-scroll-area-ocean-border,#0284c766)] dark:border-[color:var(--zui-scroll-area-ocean-border-dark,#38bdf866)] [--zui-scroll-area-thumb:var(--zui-scroll-area-ocean-thumb,#0284c7)] dark:[--zui-scroll-area-thumb:var(--zui-scroll-area-ocean-thumb-dark,#38bdf8)] [--zui-scroll-area-track:var(--zui-scroll-area-ocean-track,#0284c714)] dark:[--zui-scroll-area-track:var(--zui-scroll-area-ocean-track-dark,#38bdf824)]\",\n sapphire:\n \"border border-[color:var(--zui-scroll-area-sapphire-border,#1d4ed866)] dark:border-[color:var(--zui-scroll-area-sapphire-border-dark,#60a5fa66)] [--zui-scroll-area-thumb:var(--zui-scroll-area-sapphire-thumb,#1d4ed8)] dark:[--zui-scroll-area-thumb:var(--zui-scroll-area-sapphire-thumb-dark,#60a5fa)] [--zui-scroll-area-track:var(--zui-scroll-area-sapphire-track,#1d4ed814)] dark:[--zui-scroll-area-track:var(--zui-scroll-area-sapphire-track-dark,#60a5fa24)]\",\n lavender:\n \"border border-[color:var(--zui-scroll-area-lavender-border,#8b5cf666)] dark:border-[color:var(--zui-scroll-area-lavender-border-dark,#a78bfa66)] [--zui-scroll-area-thumb:var(--zui-scroll-area-lavender-thumb,#8b5cf6)] dark:[--zui-scroll-area-thumb:var(--zui-scroll-area-lavender-thumb-dark,#a78bfa)] [--zui-scroll-area-track:var(--zui-scroll-area-lavender-track,#8b5cf614)] dark:[--zui-scroll-area-track:var(--zui-scroll-area-lavender-track-dark,#a78bfa24)]\",\n ruby: \"border border-[color:var(--zui-scroll-area-ruby-border,#be123c66)] dark:border-[color:var(--zui-scroll-area-ruby-border-dark,#fb718566)] [--zui-scroll-area-thumb:var(--zui-scroll-area-ruby-thumb,#be123c)] dark:[--zui-scroll-area-thumb:var(--zui-scroll-area-ruby-thumb-dark,#fb7185)] [--zui-scroll-area-track:var(--zui-scroll-area-ruby-track,#be123c14)] dark:[--zui-scroll-area-track:var(--zui-scroll-area-ruby-track-dark,#fb718524)]\",\n red: \"border border-[color:var(--zui-scroll-area-red-border,#dc262666)] dark:border-[color:var(--zui-scroll-area-red-border-dark,#ef444466)] [--zui-scroll-area-thumb:var(--zui-scroll-area-red-thumb,#dc2626)] dark:[--zui-scroll-area-thumb:var(--zui-scroll-area-red-thumb-dark,#ef4444)] [--zui-scroll-area-track:var(--zui-scroll-area-red-track,#dc262614)] dark:[--zui-scroll-area-track:var(--zui-scroll-area-red-track-dark,#ef444424)]\",\n slate:\n \"border border-[color:var(--zui-scroll-area-slate-border,#47556966)] dark:border-[color:var(--zui-scroll-area-slate-border-dark,#64748b66)] [--zui-scroll-area-thumb:var(--zui-scroll-area-slate-thumb,#475569)] dark:[--zui-scroll-area-thumb:var(--zui-scroll-area-slate-thumb-dark,#64748b)] [--zui-scroll-area-track:var(--zui-scroll-area-slate-track,#47556914)] dark:[--zui-scroll-area-track:var(--zui-scroll-area-slate-track-dark,#64748b24)]\",\n zinc: \"border border-[color:var(--zui-scroll-area-zinc-border,#52525b66)] dark:border-[color:var(--zui-scroll-area-zinc-border-dark,#71717a66)] [--zui-scroll-area-thumb:var(--zui-scroll-area-zinc-thumb,#52525b)] dark:[--zui-scroll-area-thumb:var(--zui-scroll-area-zinc-thumb-dark,#71717a)] [--zui-scroll-area-track:var(--zui-scroll-area-zinc-track,#52525b14)] dark:[--zui-scroll-area-track:var(--zui-scroll-area-zinc-track-dark,#71717a24)]\",\n stone:\n \"border border-[color:var(--zui-scroll-area-stone-border,#57534e66)] dark:border-[color:var(--zui-scroll-area-stone-border-dark,#78716c66)] [--zui-scroll-area-thumb:var(--zui-scroll-area-stone-thumb,#57534e)] dark:[--zui-scroll-area-thumb:var(--zui-scroll-area-stone-thumb-dark,#78716c)] [--zui-scroll-area-track:var(--zui-scroll-area-stone-track,#57534e14)] dark:[--zui-scroll-area-track:var(--zui-scroll-area-stone-track-dark,#78716c24)]\",\n royal:\n \"border border-[color:var(--zui-scroll-area-royal-border,#4338ca66)] dark:border-[color:var(--zui-scroll-area-royal-border-dark,#818cf866)] [--zui-scroll-area-thumb:var(--zui-scroll-area-royal-thumb,#4338ca)] dark:[--zui-scroll-area-thumb:var(--zui-scroll-area-royal-thumb-dark,#818cf8)] [--zui-scroll-area-track:var(--zui-scroll-area-royal-track,#4338ca14)] dark:[--zui-scroll-area-track:var(--zui-scroll-area-royal-track-dark,#818cf824)]\",\n electric:\n \"border border-[color:var(--zui-scroll-area-electric-border,#0ea5e966)] dark:border-[color:var(--zui-scroll-area-electric-border-dark,#38bdf866)] [--zui-scroll-area-thumb:var(--zui-scroll-area-electric-thumb,#0ea5e9)] dark:[--zui-scroll-area-thumb:var(--zui-scroll-area-electric-thumb-dark,#38bdf8)] [--zui-scroll-area-track:var(--zui-scroll-area-electric-track,#0ea5e914)] dark:[--zui-scroll-area-track:var(--zui-scroll-area-electric-track-dark,#38bdf824)]\",\n forest:\n \"border border-[color:var(--zui-scroll-area-forest-border,#16653466)] dark:border-[color:var(--zui-scroll-area-forest-border-dark,#4ade8066)] [--zui-scroll-area-thumb:var(--zui-scroll-area-forest-thumb,#166534)] dark:[--zui-scroll-area-thumb:var(--zui-scroll-area-forest-thumb-dark,#4ade80)] [--zui-scroll-area-track:var(--zui-scroll-area-forest-track,#16653414)] dark:[--zui-scroll-area-track:var(--zui-scroll-area-forest-track-dark,#4ade8024)]\",\n sunset:\n \"border border-[color:var(--zui-scroll-area-sunset-border,#ea580c66)] dark:border-[color:var(--zui-scroll-area-sunset-border-dark,#fb923c66)] [--zui-scroll-area-thumb:var(--zui-scroll-area-sunset-thumb,#ea580c)] dark:[--zui-scroll-area-thumb:var(--zui-scroll-area-sunset-thumb-dark,#fb923c)] [--zui-scroll-area-track:var(--zui-scroll-area-sunset-track,#ea580c14)] dark:[--zui-scroll-area-track:var(--zui-scroll-area-sunset-track-dark,#fb923c24)]\",\n magenta:\n \"border border-[color:var(--zui-scroll-area-magenta-border,#c026d366)] dark:border-[color:var(--zui-scroll-area-magenta-border-dark,#e879f966)] [--zui-scroll-area-thumb:var(--zui-scroll-area-magenta-thumb,#c026d3)] dark:[--zui-scroll-area-thumb:var(--zui-scroll-area-magenta-thumb-dark,#e879f9)] [--zui-scroll-area-track:var(--zui-scroll-area-magenta-track,#c026d314)] dark:[--zui-scroll-area-track:var(--zui-scroll-area-magenta-track-dark,#e879f924)]\",\n crimson:\n \"border border-[color:var(--zui-scroll-area-crimson-border,#b91c1c66)] dark:border-[color:var(--zui-scroll-area-crimson-border-dark,#f8717166)] [--zui-scroll-area-thumb:var(--zui-scroll-area-crimson-thumb,#b91c1c)] dark:[--zui-scroll-area-thumb:var(--zui-scroll-area-crimson-thumb-dark,#f87171)] [--zui-scroll-area-track:var(--zui-scroll-area-crimson-track,#b91c1c14)] dark:[--zui-scroll-area-track:var(--zui-scroll-area-crimson-track-dark,#f8717124)]\",\n aqua: \"border border-[color:var(--zui-scroll-area-aqua-border,#0f766e66)] dark:border-[color:var(--zui-scroll-area-aqua-border-dark,#2dd4bf66)] [--zui-scroll-area-thumb:var(--zui-scroll-area-aqua-thumb,#0f766e)] dark:[--zui-scroll-area-thumb:var(--zui-scroll-area-aqua-thumb-dark,#2dd4bf)] [--zui-scroll-area-track:var(--zui-scroll-area-aqua-track,#0f766e14)] dark:[--zui-scroll-area-track:var(--zui-scroll-area-aqua-track-dark,#2dd4bf24)]\",\n plum: \"border border-[color:var(--zui-scroll-area-plum-border,#7e22ce66)] dark:border-[color:var(--zui-scroll-area-plum-border-dark,#c084fc66)] [--zui-scroll-area-thumb:var(--zui-scroll-area-plum-thumb,#7e22ce)] dark:[--zui-scroll-area-thumb:var(--zui-scroll-area-plum-thumb-dark,#c084fc)] [--zui-scroll-area-track:var(--zui-scroll-area-plum-track,#7e22ce14)] dark:[--zui-scroll-area-track:var(--zui-scroll-area-plum-track-dark,#c084fc24)]\",\n} as const;\n\nexport const zuiScrollAreaSizes = {\n sm: \"[--zui-scroll-area-size:0.375rem]\",\n md: \"[--zui-scroll-area-size:0.625rem]\",\n lg: \"[--zui-scroll-area-size:0.875rem]\",\n} as const;\n\nexport const zuiScrollAreaOrientations = {\n vertical: \"overflow-x-hidden overflow-y-auto\",\n horizontal: \"overflow-x-auto overflow-y-hidden\",\n both: \"overflow-auto\",\n} as const;\n\nexport const zuiScrollAreaVisibility = {\n auto: \"\",\n hover:\n \"[scrollbar-color:transparent_transparent] hover:[scrollbar-color:var(--zui-scroll-area-thumb,#94a3b8)_var(--zui-scroll-area-track,transparent)] [&::-webkit-scrollbar-thumb]:bg-transparent hover:[&::-webkit-scrollbar-thumb]:bg-[var(--zui-scroll-area-thumb,#94a3b8)] [&::-webkit-scrollbar-track]:bg-transparent hover:[&::-webkit-scrollbar-track]:bg-[var(--zui-scroll-area-track,transparent)]\",\n always: \"\",\n hidden:\n \"[scrollbar-width:none] [&::-webkit-scrollbar]:hidden [&::-webkit-scrollbar]:h-0 [&::-webkit-scrollbar]:w-0\",\n} as const;\n\nexport const zuiScrollAreaShadows = {\n false: \"\",\n true: \"[box-shadow:inset_0_2px_12px_rgb(15_23_42_/_0.08)] dark:[box-shadow:inset_0_2px_12px_rgb(0_0_0_/_0.3)]\",\n} as const;\n","import { cva } from \"class-variance-authority\";\n\nimport {\n zuiScrollAreaAppearances,\n zuiScrollAreaBase,\n zuiScrollAreaOrientations,\n zuiScrollAreaShadows,\n zuiScrollAreaSizes,\n zuiScrollAreaVisibility,\n} from \"../../design-system/scroll-area\";\n\nexport const scrollAreaVariants = cva(zuiScrollAreaBase, {\n variants: {\n appearance: zuiScrollAreaAppearances,\n orientation: zuiScrollAreaOrientations,\n scrollbar: zuiScrollAreaVisibility,\n shadow: zuiScrollAreaShadows,\n size: zuiScrollAreaSizes,\n },\n compoundVariants: [\n {\n scrollbar: \"always\",\n orientation: \"vertical\",\n class: \"overflow-x-hidden overflow-y-scroll\",\n },\n {\n scrollbar: \"always\",\n orientation: \"horizontal\",\n class: \"overflow-x-scroll overflow-y-hidden\",\n },\n {\n scrollbar: \"always\",\n orientation: \"both\",\n class: \"overflow-scroll\",\n },\n ],\n defaultVariants: {\n appearance: \"default\",\n orientation: \"vertical\",\n scrollbar: \"auto\",\n shadow: false,\n size: \"md\",\n },\n});\n","\"use client\";\n\nimport { cn } from \"../../lib/utils\";\n\nimport type { ScrollAreaProps } from \"./types\";\nimport { scrollAreaVariants } from \"./variants\";\n\nexport function ScrollArea(props: ScrollAreaProps) {\n const {\n appearance,\n children,\n className,\n orientation,\n ref,\n role,\n scrollbar,\n shadow,\n size,\n tabIndex,\n viewportClassName,\n ...rest\n } = props;\n const ariaLabel = rest[\"aria-label\"];\n const ariaLabelledBy = rest[\"aria-labelledby\"];\n const isNamedRegion =\n role === \"region\" ||\n ariaLabel !== undefined ||\n ariaLabelledBy !== undefined;\n\n return (\n <div\n ref={ref}\n data-orientation={orientation ?? \"vertical\"}\n data-scrollbar={scrollbar ?? \"auto\"}\n data-slot=\"scroll-area\"\n role={\n role ??\n (ariaLabel !== undefined || ariaLabelledBy !== undefined\n ? \"region\"\n : undefined)\n }\n tabIndex={tabIndex ?? (isNamedRegion ? 0 : undefined)}\n className={cn(\n scrollAreaVariants({\n appearance,\n orientation,\n scrollbar,\n shadow,\n size,\n }),\n className,\n )}\n {...rest}\n >\n <div data-slot=\"scroll-area-viewport\" className={viewportClassName}>\n {children}\n </div>\n </div>\n );\n}\n\nScrollArea.displayName = \"ScrollArea\";\n"]}
|
package/dist/ui/scroll-area.mjs
CHANGED
|
@@ -14,7 +14,28 @@ var zuiScrollAreaAppearances = {
|
|
|
14
14
|
emerald: "border border-[color:var(--zui-scroll-area-emerald-border,oklch(59.6%_0.145_163.225_/_0.35))] [--zui-scroll-area-thumb:oklch(59.6%_0.145_163.225)] [--zui-scroll-area-thumb-border:#ecfdf5] [--zui-scroll-area-track:#d1fae5] dark:border-[color:var(--zui-scroll-area-emerald-border-dark,oklch(69.6%_0.17_162.48_/_0.35))] dark:[--zui-scroll-area-thumb:oklch(69.6%_0.17_162.48)] dark:[--zui-scroll-area-thumb-border:#020617] dark:[--zui-scroll-area-track:#064e3b]",
|
|
15
15
|
rose: "border border-[color:var(--zui-scroll-area-rose-border,oklch(58.6%_0.253_17.585_/_0.3))] [--zui-scroll-area-thumb:oklch(58.6%_0.253_17.585)] [--zui-scroll-area-thumb-border:#fff1f2] [--zui-scroll-area-track:#ffe4e6] dark:border-[color:var(--zui-scroll-area-rose-border-dark,oklch(71.2%_0.194_13.428_/_0.35))] dark:[--zui-scroll-area-thumb:oklch(71.2%_0.194_13.428)] dark:[--zui-scroll-area-thumb-border:#020617] dark:[--zui-scroll-area-track:#4c0519]",
|
|
16
16
|
amber: "border border-[color:var(--zui-scroll-area-amber-border,oklch(76.9%_0.188_70.08_/_0.35))] [--zui-scroll-area-thumb:oklch(66.6%_0.179_58.318)] [--zui-scroll-area-thumb-border:#fffbeb] [--zui-scroll-area-track:#fef3c7] dark:border-[color:var(--zui-scroll-area-amber-border-dark,oklch(82.8%_0.189_84.429_/_0.35))] dark:[--zui-scroll-area-thumb:oklch(82.8%_0.189_84.429)] dark:[--zui-scroll-area-thumb-border:#020617] dark:[--zui-scroll-area-track:#451a03]",
|
|
17
|
-
violet: "border border-[color:var(--zui-scroll-area-violet-border,oklch(60.6%_0.25_292.717_/_0.35))] [--zui-scroll-area-thumb:oklch(54.1%_0.281_293.009)] [--zui-scroll-area-thumb-border:#f5f3ff] [--zui-scroll-area-track:#ede9fe] dark:border-[color:var(--zui-scroll-area-violet-border-dark,oklch(70.2%_0.183_293.541_/_0.35))] dark:[--zui-scroll-area-thumb:oklch(70.2%_0.183_293.541)] dark:[--zui-scroll-area-thumb-border:#020617] dark:[--zui-scroll-area-track:#2e1065]"
|
|
17
|
+
violet: "border border-[color:var(--zui-scroll-area-violet-border,oklch(60.6%_0.25_292.717_/_0.35))] [--zui-scroll-area-thumb:oklch(54.1%_0.281_293.009)] [--zui-scroll-area-thumb-border:#f5f3ff] [--zui-scroll-area-track:#ede9fe] dark:border-[color:var(--zui-scroll-area-violet-border-dark,oklch(70.2%_0.183_293.541_/_0.35))] dark:[--zui-scroll-area-thumb:oklch(70.2%_0.183_293.541)] dark:[--zui-scroll-area-thumb-border:#020617] dark:[--zui-scroll-area-track:#2e1065]",
|
|
18
|
+
blue: "border border-[color:var(--zui-scroll-area-blue-border,#2563eb66)] dark:border-[color:var(--zui-scroll-area-blue-border-dark,#3b82f666)] [--zui-scroll-area-thumb:var(--zui-scroll-area-blue-thumb,#2563eb)] dark:[--zui-scroll-area-thumb:var(--zui-scroll-area-blue-thumb-dark,#3b82f6)] [--zui-scroll-area-track:var(--zui-scroll-area-blue-track,#2563eb14)] dark:[--zui-scroll-area-track:var(--zui-scroll-area-blue-track-dark,#3b82f624)]",
|
|
19
|
+
cyan: "border border-[color:var(--zui-scroll-area-cyan-border,#0891b266)] dark:border-[color:var(--zui-scroll-area-cyan-border-dark,#22d3ee66)] [--zui-scroll-area-thumb:var(--zui-scroll-area-cyan-thumb,#0891b2)] dark:[--zui-scroll-area-thumb:var(--zui-scroll-area-cyan-thumb-dark,#22d3ee)] [--zui-scroll-area-track:var(--zui-scroll-area-cyan-track,#0891b214)] dark:[--zui-scroll-area-track:var(--zui-scroll-area-cyan-track-dark,#22d3ee24)]",
|
|
20
|
+
green: "border border-[color:var(--zui-scroll-area-green-border,#16a34a66)] dark:border-[color:var(--zui-scroll-area-green-border-dark,#22c55e66)] [--zui-scroll-area-thumb:var(--zui-scroll-area-green-thumb,#16a34a)] dark:[--zui-scroll-area-thumb:var(--zui-scroll-area-green-thumb-dark,#22c55e)] [--zui-scroll-area-track:var(--zui-scroll-area-green-track,#16a34a14)] dark:[--zui-scroll-area-track:var(--zui-scroll-area-green-track-dark,#22c55e24)]",
|
|
21
|
+
lime: "border border-[color:var(--zui-scroll-area-lime-border,#65a30d66)] dark:border-[color:var(--zui-scroll-area-lime-border-dark,#a3e63566)] [--zui-scroll-area-thumb:var(--zui-scroll-area-lime-thumb,#65a30d)] dark:[--zui-scroll-area-thumb:var(--zui-scroll-area-lime-thumb-dark,#a3e635)] [--zui-scroll-area-track:var(--zui-scroll-area-lime-track,#65a30d14)] dark:[--zui-scroll-area-track:var(--zui-scroll-area-lime-track-dark,#a3e63524)]",
|
|
22
|
+
mint: "border border-[color:var(--zui-scroll-area-mint-border,#10b98166)] dark:border-[color:var(--zui-scroll-area-mint-border-dark,#6ee7b766)] [--zui-scroll-area-thumb:var(--zui-scroll-area-mint-thumb,#10b981)] dark:[--zui-scroll-area-thumb:var(--zui-scroll-area-mint-thumb-dark,#6ee7b7)] [--zui-scroll-area-track:var(--zui-scroll-area-mint-track,#10b98114)] dark:[--zui-scroll-area-track:var(--zui-scroll-area-mint-track-dark,#6ee7b724)]",
|
|
23
|
+
ocean: "border border-[color:var(--zui-scroll-area-ocean-border,#0284c766)] dark:border-[color:var(--zui-scroll-area-ocean-border-dark,#38bdf866)] [--zui-scroll-area-thumb:var(--zui-scroll-area-ocean-thumb,#0284c7)] dark:[--zui-scroll-area-thumb:var(--zui-scroll-area-ocean-thumb-dark,#38bdf8)] [--zui-scroll-area-track:var(--zui-scroll-area-ocean-track,#0284c714)] dark:[--zui-scroll-area-track:var(--zui-scroll-area-ocean-track-dark,#38bdf824)]",
|
|
24
|
+
sapphire: "border border-[color:var(--zui-scroll-area-sapphire-border,#1d4ed866)] dark:border-[color:var(--zui-scroll-area-sapphire-border-dark,#60a5fa66)] [--zui-scroll-area-thumb:var(--zui-scroll-area-sapphire-thumb,#1d4ed8)] dark:[--zui-scroll-area-thumb:var(--zui-scroll-area-sapphire-thumb-dark,#60a5fa)] [--zui-scroll-area-track:var(--zui-scroll-area-sapphire-track,#1d4ed814)] dark:[--zui-scroll-area-track:var(--zui-scroll-area-sapphire-track-dark,#60a5fa24)]",
|
|
25
|
+
lavender: "border border-[color:var(--zui-scroll-area-lavender-border,#8b5cf666)] dark:border-[color:var(--zui-scroll-area-lavender-border-dark,#a78bfa66)] [--zui-scroll-area-thumb:var(--zui-scroll-area-lavender-thumb,#8b5cf6)] dark:[--zui-scroll-area-thumb:var(--zui-scroll-area-lavender-thumb-dark,#a78bfa)] [--zui-scroll-area-track:var(--zui-scroll-area-lavender-track,#8b5cf614)] dark:[--zui-scroll-area-track:var(--zui-scroll-area-lavender-track-dark,#a78bfa24)]",
|
|
26
|
+
ruby: "border border-[color:var(--zui-scroll-area-ruby-border,#be123c66)] dark:border-[color:var(--zui-scroll-area-ruby-border-dark,#fb718566)] [--zui-scroll-area-thumb:var(--zui-scroll-area-ruby-thumb,#be123c)] dark:[--zui-scroll-area-thumb:var(--zui-scroll-area-ruby-thumb-dark,#fb7185)] [--zui-scroll-area-track:var(--zui-scroll-area-ruby-track,#be123c14)] dark:[--zui-scroll-area-track:var(--zui-scroll-area-ruby-track-dark,#fb718524)]",
|
|
27
|
+
red: "border border-[color:var(--zui-scroll-area-red-border,#dc262666)] dark:border-[color:var(--zui-scroll-area-red-border-dark,#ef444466)] [--zui-scroll-area-thumb:var(--zui-scroll-area-red-thumb,#dc2626)] dark:[--zui-scroll-area-thumb:var(--zui-scroll-area-red-thumb-dark,#ef4444)] [--zui-scroll-area-track:var(--zui-scroll-area-red-track,#dc262614)] dark:[--zui-scroll-area-track:var(--zui-scroll-area-red-track-dark,#ef444424)]",
|
|
28
|
+
slate: "border border-[color:var(--zui-scroll-area-slate-border,#47556966)] dark:border-[color:var(--zui-scroll-area-slate-border-dark,#64748b66)] [--zui-scroll-area-thumb:var(--zui-scroll-area-slate-thumb,#475569)] dark:[--zui-scroll-area-thumb:var(--zui-scroll-area-slate-thumb-dark,#64748b)] [--zui-scroll-area-track:var(--zui-scroll-area-slate-track,#47556914)] dark:[--zui-scroll-area-track:var(--zui-scroll-area-slate-track-dark,#64748b24)]",
|
|
29
|
+
zinc: "border border-[color:var(--zui-scroll-area-zinc-border,#52525b66)] dark:border-[color:var(--zui-scroll-area-zinc-border-dark,#71717a66)] [--zui-scroll-area-thumb:var(--zui-scroll-area-zinc-thumb,#52525b)] dark:[--zui-scroll-area-thumb:var(--zui-scroll-area-zinc-thumb-dark,#71717a)] [--zui-scroll-area-track:var(--zui-scroll-area-zinc-track,#52525b14)] dark:[--zui-scroll-area-track:var(--zui-scroll-area-zinc-track-dark,#71717a24)]",
|
|
30
|
+
stone: "border border-[color:var(--zui-scroll-area-stone-border,#57534e66)] dark:border-[color:var(--zui-scroll-area-stone-border-dark,#78716c66)] [--zui-scroll-area-thumb:var(--zui-scroll-area-stone-thumb,#57534e)] dark:[--zui-scroll-area-thumb:var(--zui-scroll-area-stone-thumb-dark,#78716c)] [--zui-scroll-area-track:var(--zui-scroll-area-stone-track,#57534e14)] dark:[--zui-scroll-area-track:var(--zui-scroll-area-stone-track-dark,#78716c24)]",
|
|
31
|
+
royal: "border border-[color:var(--zui-scroll-area-royal-border,#4338ca66)] dark:border-[color:var(--zui-scroll-area-royal-border-dark,#818cf866)] [--zui-scroll-area-thumb:var(--zui-scroll-area-royal-thumb,#4338ca)] dark:[--zui-scroll-area-thumb:var(--zui-scroll-area-royal-thumb-dark,#818cf8)] [--zui-scroll-area-track:var(--zui-scroll-area-royal-track,#4338ca14)] dark:[--zui-scroll-area-track:var(--zui-scroll-area-royal-track-dark,#818cf824)]",
|
|
32
|
+
electric: "border border-[color:var(--zui-scroll-area-electric-border,#0ea5e966)] dark:border-[color:var(--zui-scroll-area-electric-border-dark,#38bdf866)] [--zui-scroll-area-thumb:var(--zui-scroll-area-electric-thumb,#0ea5e9)] dark:[--zui-scroll-area-thumb:var(--zui-scroll-area-electric-thumb-dark,#38bdf8)] [--zui-scroll-area-track:var(--zui-scroll-area-electric-track,#0ea5e914)] dark:[--zui-scroll-area-track:var(--zui-scroll-area-electric-track-dark,#38bdf824)]",
|
|
33
|
+
forest: "border border-[color:var(--zui-scroll-area-forest-border,#16653466)] dark:border-[color:var(--zui-scroll-area-forest-border-dark,#4ade8066)] [--zui-scroll-area-thumb:var(--zui-scroll-area-forest-thumb,#166534)] dark:[--zui-scroll-area-thumb:var(--zui-scroll-area-forest-thumb-dark,#4ade80)] [--zui-scroll-area-track:var(--zui-scroll-area-forest-track,#16653414)] dark:[--zui-scroll-area-track:var(--zui-scroll-area-forest-track-dark,#4ade8024)]",
|
|
34
|
+
sunset: "border border-[color:var(--zui-scroll-area-sunset-border,#ea580c66)] dark:border-[color:var(--zui-scroll-area-sunset-border-dark,#fb923c66)] [--zui-scroll-area-thumb:var(--zui-scroll-area-sunset-thumb,#ea580c)] dark:[--zui-scroll-area-thumb:var(--zui-scroll-area-sunset-thumb-dark,#fb923c)] [--zui-scroll-area-track:var(--zui-scroll-area-sunset-track,#ea580c14)] dark:[--zui-scroll-area-track:var(--zui-scroll-area-sunset-track-dark,#fb923c24)]",
|
|
35
|
+
magenta: "border border-[color:var(--zui-scroll-area-magenta-border,#c026d366)] dark:border-[color:var(--zui-scroll-area-magenta-border-dark,#e879f966)] [--zui-scroll-area-thumb:var(--zui-scroll-area-magenta-thumb,#c026d3)] dark:[--zui-scroll-area-thumb:var(--zui-scroll-area-magenta-thumb-dark,#e879f9)] [--zui-scroll-area-track:var(--zui-scroll-area-magenta-track,#c026d314)] dark:[--zui-scroll-area-track:var(--zui-scroll-area-magenta-track-dark,#e879f924)]",
|
|
36
|
+
crimson: "border border-[color:var(--zui-scroll-area-crimson-border,#b91c1c66)] dark:border-[color:var(--zui-scroll-area-crimson-border-dark,#f8717166)] [--zui-scroll-area-thumb:var(--zui-scroll-area-crimson-thumb,#b91c1c)] dark:[--zui-scroll-area-thumb:var(--zui-scroll-area-crimson-thumb-dark,#f87171)] [--zui-scroll-area-track:var(--zui-scroll-area-crimson-track,#b91c1c14)] dark:[--zui-scroll-area-track:var(--zui-scroll-area-crimson-track-dark,#f8717124)]",
|
|
37
|
+
aqua: "border border-[color:var(--zui-scroll-area-aqua-border,#0f766e66)] dark:border-[color:var(--zui-scroll-area-aqua-border-dark,#2dd4bf66)] [--zui-scroll-area-thumb:var(--zui-scroll-area-aqua-thumb,#0f766e)] dark:[--zui-scroll-area-thumb:var(--zui-scroll-area-aqua-thumb-dark,#2dd4bf)] [--zui-scroll-area-track:var(--zui-scroll-area-aqua-track,#0f766e14)] dark:[--zui-scroll-area-track:var(--zui-scroll-area-aqua-track-dark,#2dd4bf24)]",
|
|
38
|
+
plum: "border border-[color:var(--zui-scroll-area-plum-border,#7e22ce66)] dark:border-[color:var(--zui-scroll-area-plum-border-dark,#c084fc66)] [--zui-scroll-area-thumb:var(--zui-scroll-area-plum-thumb,#7e22ce)] dark:[--zui-scroll-area-thumb:var(--zui-scroll-area-plum-thumb-dark,#c084fc)] [--zui-scroll-area-track:var(--zui-scroll-area-plum-track,#7e22ce14)] dark:[--zui-scroll-area-track:var(--zui-scroll-area-plum-track-dark,#c084fc24)]"
|
|
18
39
|
};
|
|
19
40
|
var zuiScrollAreaSizes = {
|
|
20
41
|
sm: "[--zui-scroll-area-size:0.375rem]",
|