@zentauri-ui/zentauri-components 1.9.0 → 1.9.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +8 -8
- package/cli/registry.json +0 -1
- package/dist/animations/blur-in.js +3 -2
- package/dist/animations/blur-in.js.map +1 -1
- package/dist/animations/blur-in.mjs +2 -1
- package/dist/animations/blur-in.mjs.map +1 -1
- package/dist/animations/blur-out.js +3 -2
- package/dist/animations/blur-out.js.map +1 -1
- package/dist/animations/blur-out.mjs +2 -1
- package/dist/animations/blur-out.mjs.map +1 -1
- package/dist/animations/bounce.js +3 -2
- package/dist/animations/bounce.js.map +1 -1
- package/dist/animations/bounce.mjs +2 -1
- package/dist/animations/bounce.mjs.map +1 -1
- package/dist/animations/fade-down.js +3 -2
- package/dist/animations/fade-down.js.map +1 -1
- package/dist/animations/fade-down.mjs +2 -1
- package/dist/animations/fade-down.mjs.map +1 -1
- package/dist/animations/fade-in.js +3 -2
- package/dist/animations/fade-in.js.map +1 -1
- package/dist/animations/fade-in.mjs +2 -1
- package/dist/animations/fade-in.mjs.map +1 -1
- package/dist/animations/fade-left.js +3 -2
- package/dist/animations/fade-left.js.map +1 -1
- package/dist/animations/fade-left.mjs +2 -1
- package/dist/animations/fade-left.mjs.map +1 -1
- package/dist/animations/fade-out.js +3 -2
- package/dist/animations/fade-out.js.map +1 -1
- package/dist/animations/fade-out.mjs +2 -1
- package/dist/animations/fade-out.mjs.map +1 -1
- package/dist/animations/fade-right.js +3 -2
- package/dist/animations/fade-right.js.map +1 -1
- package/dist/animations/fade-right.mjs +2 -1
- package/dist/animations/fade-right.mjs.map +1 -1
- package/dist/animations/fade-up.js +3 -2
- package/dist/animations/fade-up.js.map +1 -1
- package/dist/animations/fade-up.mjs +2 -1
- package/dist/animations/fade-up.mjs.map +1 -1
- package/dist/animations/flip-in.js +3 -2
- package/dist/animations/flip-in.js.map +1 -1
- package/dist/animations/flip-in.mjs +2 -1
- package/dist/animations/flip-in.mjs.map +1 -1
- package/dist/animations/flip.js +3 -2
- package/dist/animations/flip.js.map +1 -1
- package/dist/animations/flip.mjs +2 -1
- package/dist/animations/flip.mjs.map +1 -1
- package/dist/animations/float.js +3 -2
- package/dist/animations/float.js.map +1 -1
- package/dist/animations/float.mjs +2 -1
- package/dist/animations/float.mjs.map +1 -1
- package/dist/animations/hover-lift.js +3 -2
- package/dist/animations/hover-lift.js.map +1 -1
- package/dist/animations/hover-lift.mjs +2 -1
- package/dist/animations/hover-lift.mjs.map +1 -1
- package/dist/animations/hover-scale.js +3 -2
- package/dist/animations/hover-scale.js.map +1 -1
- package/dist/animations/hover-scale.mjs +2 -1
- package/dist/animations/hover-scale.mjs.map +1 -1
- package/dist/animations/magnetic.js +3 -2
- package/dist/animations/magnetic.js.map +1 -1
- package/dist/animations/magnetic.mjs +2 -1
- package/dist/animations/magnetic.mjs.map +1 -1
- package/dist/animations/parallax.js +3 -2
- package/dist/animations/parallax.js.map +1 -1
- package/dist/animations/parallax.mjs +2 -1
- package/dist/animations/parallax.mjs.map +1 -1
- package/dist/animations/ping.js +3 -2
- package/dist/animations/ping.js.map +1 -1
- package/dist/animations/ping.mjs +2 -1
- package/dist/animations/ping.mjs.map +1 -1
- package/dist/animations/pop-in.js +3 -2
- package/dist/animations/pop-in.js.map +1 -1
- package/dist/animations/pop-in.mjs +2 -1
- package/dist/animations/pop-in.mjs.map +1 -1
- package/dist/animations/press.js +3 -2
- package/dist/animations/press.js.map +1 -1
- package/dist/animations/press.mjs +2 -1
- package/dist/animations/press.mjs.map +1 -1
- package/dist/animations/progress.js +3 -2
- package/dist/animations/progress.js.map +1 -1
- package/dist/animations/progress.mjs +2 -1
- package/dist/animations/progress.mjs.map +1 -1
- package/dist/animations/pulse.js +3 -2
- package/dist/animations/pulse.js.map +1 -1
- package/dist/animations/pulse.mjs +2 -1
- package/dist/animations/pulse.mjs.map +1 -1
- package/dist/animations/reorder.js +3 -2
- package/dist/animations/reorder.js.map +1 -1
- package/dist/animations/reorder.mjs +2 -1
- package/dist/animations/reorder.mjs.map +1 -1
- package/dist/animations/reveal-blur.js +3 -2
- package/dist/animations/reveal-blur.js.map +1 -1
- package/dist/animations/reveal-blur.mjs +2 -1
- package/dist/animations/reveal-blur.mjs.map +1 -1
- package/dist/animations/reveal-down.js +3 -2
- package/dist/animations/reveal-down.js.map +1 -1
- package/dist/animations/reveal-down.mjs +2 -1
- package/dist/animations/reveal-down.mjs.map +1 -1
- package/dist/animations/reveal-left.js +3 -2
- package/dist/animations/reveal-left.js.map +1 -1
- package/dist/animations/reveal-left.mjs +2 -1
- package/dist/animations/reveal-left.mjs.map +1 -1
- package/dist/animations/reveal-right.js +3 -2
- package/dist/animations/reveal-right.js.map +1 -1
- package/dist/animations/reveal-right.mjs +2 -1
- package/dist/animations/reveal-right.mjs.map +1 -1
- package/dist/animations/reveal-up.js +3 -2
- package/dist/animations/reveal-up.js.map +1 -1
- package/dist/animations/reveal-up.mjs +2 -1
- package/dist/animations/reveal-up.mjs.map +1 -1
- package/dist/animations/rotate-in.js +3 -2
- package/dist/animations/rotate-in.js.map +1 -1
- package/dist/animations/rotate-in.mjs +2 -1
- package/dist/animations/rotate-in.mjs.map +1 -1
- package/dist/animations/scale-in.js +3 -2
- package/dist/animations/scale-in.js.map +1 -1
- package/dist/animations/scale-in.mjs +2 -1
- package/dist/animations/scale-in.mjs.map +1 -1
- package/dist/animations/scale-out.js +3 -2
- package/dist/animations/scale-out.js.map +1 -1
- package/dist/animations/scale-out.mjs +2 -1
- package/dist/animations/scale-out.mjs.map +1 -1
- package/dist/animations/shake.js +3 -2
- package/dist/animations/shake.js.map +1 -1
- package/dist/animations/shake.mjs +2 -1
- package/dist/animations/shake.mjs.map +1 -1
- package/dist/animations/shared/create-motion-animation.d.ts.map +1 -1
- package/dist/animations/skeleton-shimmer.js +3 -2
- package/dist/animations/skeleton-shimmer.js.map +1 -1
- package/dist/animations/skeleton-shimmer.mjs +2 -1
- package/dist/animations/skeleton-shimmer.mjs.map +1 -1
- package/dist/animations/slide-down.js +3 -2
- package/dist/animations/slide-down.js.map +1 -1
- package/dist/animations/slide-down.mjs +2 -1
- package/dist/animations/slide-down.mjs.map +1 -1
- package/dist/animations/slide-left.js +3 -2
- package/dist/animations/slide-left.js.map +1 -1
- package/dist/animations/slide-left.mjs +2 -1
- package/dist/animations/slide-left.mjs.map +1 -1
- package/dist/animations/slide-right.js +3 -2
- package/dist/animations/slide-right.js.map +1 -1
- package/dist/animations/slide-right.mjs +2 -1
- package/dist/animations/slide-right.mjs.map +1 -1
- package/dist/animations/slide-up.js +3 -2
- package/dist/animations/slide-up.js.map +1 -1
- package/dist/animations/slide-up.mjs +2 -1
- package/dist/animations/slide-up.mjs.map +1 -1
- package/dist/animations/spin.js +3 -2
- package/dist/animations/spin.js.map +1 -1
- package/dist/animations/spin.mjs +2 -1
- package/dist/animations/spin.mjs.map +1 -1
- package/dist/animations/text-reveal.js +3 -2
- package/dist/animations/text-reveal.js.map +1 -1
- package/dist/animations/text-reveal.mjs +2 -1
- package/dist/animations/text-reveal.mjs.map +1 -1
- package/dist/animations/text-shimmer.js +3 -2
- package/dist/animations/text-shimmer.js.map +1 -1
- package/dist/animations/text-shimmer.mjs +2 -1
- package/dist/animations/text-shimmer.mjs.map +1 -1
- package/dist/animations/tilt.js +3 -2
- package/dist/animations/tilt.js.map +1 -1
- package/dist/animations/tilt.mjs +2 -1
- package/dist/animations/tilt.mjs.map +1 -1
- package/dist/animations/wiggle.js +3 -2
- package/dist/animations/wiggle.js.map +1 -1
- package/dist/animations/wiggle.mjs +2 -1
- package/dist/animations/wiggle.mjs.map +1 -1
- package/dist/charts/area.js +1 -0
- package/dist/charts/area.js.map +1 -1
- package/dist/charts/area.mjs +1 -0
- package/dist/charts/area.mjs.map +1 -1
- package/dist/charts/bar.js +1 -0
- package/dist/charts/bar.mjs +1 -0
- package/dist/charts/bubble.js +1 -0
- package/dist/charts/bubble.js.map +1 -1
- package/dist/charts/bubble.mjs +1 -0
- package/dist/charts/bubble.mjs.map +1 -1
- package/dist/charts/funnel.js +1 -0
- package/dist/charts/funnel.js.map +1 -1
- package/dist/charts/funnel.mjs +1 -0
- package/dist/charts/funnel.mjs.map +1 -1
- package/dist/charts/line.js +1 -0
- package/dist/charts/line.js.map +1 -1
- package/dist/charts/line.mjs +1 -0
- package/dist/charts/line.mjs.map +1 -1
- package/dist/charts/pie.js +1 -0
- package/dist/charts/pie.js.map +1 -1
- package/dist/charts/pie.mjs +1 -0
- package/dist/charts/pie.mjs.map +1 -1
- package/dist/charts/radar.js +1 -0
- package/dist/charts/radar.js.map +1 -1
- package/dist/charts/radar.mjs +1 -0
- package/dist/charts/radar.mjs.map +1 -1
- package/dist/charts/scatter.js +1 -0
- package/dist/charts/scatter.js.map +1 -1
- package/dist/charts/scatter.mjs +1 -0
- package/dist/charts/scatter.mjs.map +1 -1
- package/dist/charts/stacked-bar.js +1 -0
- package/dist/charts/stacked-bar.js.map +1 -1
- package/dist/charts/stacked-bar.mjs +1 -0
- package/dist/charts/stacked-bar.mjs.map +1 -1
- package/dist/{chunk-VHVQELWF.js → chunk-22I54GJW.js} +27 -211
- package/dist/chunk-22I54GJW.js.map +1 -0
- package/dist/chunk-27PO2FY2.mjs +161 -0
- package/dist/chunk-27PO2FY2.mjs.map +1 -0
- package/dist/chunk-2PWT2MB5.mjs +73 -0
- package/dist/chunk-2PWT2MB5.mjs.map +1 -0
- package/dist/chunk-34OSFCSH.js +212 -0
- package/dist/chunk-34OSFCSH.js.map +1 -0
- package/dist/chunk-37YQUTKG.js +204 -0
- package/dist/chunk-37YQUTKG.js.map +1 -0
- package/dist/chunk-3HSFL4WA.mjs +191 -0
- package/dist/chunk-3HSFL4WA.mjs.map +1 -0
- package/dist/{chunk-LNYCEPW5.js → chunk-3I6XR7KN.js} +30 -75
- package/dist/chunk-3I6XR7KN.js.map +1 -0
- package/dist/chunk-3MK7CWEX.js +54 -0
- package/dist/chunk-3MK7CWEX.js.map +1 -0
- package/dist/chunk-3R6PQUG2.mjs +144 -0
- package/dist/chunk-3R6PQUG2.mjs.map +1 -0
- package/dist/{chunk-BU2MPXPZ.js → chunk-3Z6L24ZK.js} +32 -230
- package/dist/chunk-3Z6L24ZK.js.map +1 -0
- package/dist/chunk-44G3U35C.js +181 -0
- package/dist/chunk-44G3U35C.js.map +1 -0
- package/dist/chunk-456OEGUT.mjs +58 -0
- package/dist/chunk-456OEGUT.mjs.map +1 -0
- package/dist/{chunk-ORFI4BCJ.mjs → chunk-45CGVW7S.js} +54 -205
- package/dist/chunk-45CGVW7S.js.map +1 -0
- package/dist/chunk-4FU6FDUT.mjs +202 -0
- package/dist/chunk-4FU6FDUT.mjs.map +1 -0
- package/dist/chunk-4LVEWKXF.mjs +258 -0
- package/dist/chunk-4LVEWKXF.mjs.map +1 -0
- package/dist/{chunk-3W224B3M.js → chunk-4QLWSXXO.mjs} +24 -210
- package/dist/chunk-4QLWSXXO.mjs.map +1 -0
- package/dist/chunk-4U7CDEN7.mjs +57 -0
- package/dist/chunk-4U7CDEN7.mjs.map +1 -0
- package/dist/{chunk-U3VV22G4.js → chunk-56DECC6D.js} +37 -237
- package/dist/chunk-56DECC6D.js.map +1 -0
- package/dist/chunk-56KZVM5D.mjs +159 -0
- package/dist/chunk-56KZVM5D.mjs.map +1 -0
- package/dist/{chunk-PYUZOVLY.js → chunk-5BSYGFN7.mjs} +24 -162
- package/dist/chunk-5BSYGFN7.mjs.map +1 -0
- package/dist/chunk-5J6QMTES.js +655 -0
- package/dist/chunk-5J6QMTES.js.map +1 -0
- package/dist/chunk-5QSYJHWL.mjs +75 -0
- package/dist/chunk-5QSYJHWL.mjs.map +1 -0
- package/dist/chunk-5R6XJAXQ.mjs +66 -0
- package/dist/chunk-5R6XJAXQ.mjs.map +1 -0
- package/dist/{chunk-OZHETX4J.mjs → chunk-5WWD3TZ2.mjs} +25 -124
- package/dist/chunk-5WWD3TZ2.mjs.map +1 -0
- package/dist/{chunk-H7WDA6U6.mjs → chunk-63UE3BR4.mjs} +24 -73
- package/dist/chunk-63UE3BR4.mjs.map +1 -0
- package/dist/chunk-63YMCBGJ.js +217 -0
- package/dist/chunk-63YMCBGJ.js.map +1 -0
- package/dist/chunk-7GIL24GK.js +354 -0
- package/dist/chunk-7GIL24GK.js.map +1 -0
- package/dist/chunk-7JBQ3ZJN.mjs +250 -0
- package/dist/chunk-7JBQ3ZJN.mjs.map +1 -0
- package/dist/chunk-7LFRU6AW.js +254 -0
- package/dist/chunk-7LFRU6AW.js.map +1 -0
- package/dist/{chunk-HLG2YJFZ.mjs → chunk-7M4TUP4I.js} +30 -191
- package/dist/chunk-7M4TUP4I.js.map +1 -0
- package/dist/chunk-AADGUMYW.js +122 -0
- package/dist/chunk-AADGUMYW.js.map +1 -0
- package/dist/chunk-AQHY4S33.js +19 -0
- package/dist/chunk-AQHY4S33.js.map +1 -0
- package/dist/chunk-ATMCT3A3.mjs +222 -0
- package/dist/chunk-ATMCT3A3.mjs.map +1 -0
- package/dist/chunk-BDBL4XXI.mjs +45 -0
- package/dist/chunk-BDBL4XXI.mjs.map +1 -0
- package/dist/chunk-BTSCPOWZ.mjs +171 -0
- package/dist/chunk-BTSCPOWZ.mjs.map +1 -0
- package/dist/chunk-BZZVO4GL.mjs +414 -0
- package/dist/chunk-BZZVO4GL.mjs.map +1 -0
- package/dist/chunk-C7F6OCGK.mjs +123 -0
- package/dist/chunk-C7F6OCGK.mjs.map +1 -0
- package/dist/{chunk-NFEA5TN2.js → chunk-D4B62J5C.js} +11 -41
- package/dist/chunk-D4B62J5C.js.map +1 -0
- package/dist/{chunk-CSFLMMAT.mjs → chunk-DWDDIG6R.js} +30 -160
- package/dist/chunk-DWDDIG6R.js.map +1 -0
- package/dist/chunk-E7BPOL74.js +155 -0
- package/dist/chunk-E7BPOL74.js.map +1 -0
- package/dist/chunk-EIX26RKN.js +73 -0
- package/dist/chunk-EIX26RKN.js.map +1 -0
- package/dist/chunk-EKBSSKJQ.js +271 -0
- package/dist/chunk-EKBSSKJQ.js.map +1 -0
- package/dist/{chunk-TKVZU56F.mjs → chunk-EP7WTIKH.mjs} +25 -222
- package/dist/chunk-EP7WTIKH.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-F6V74YMW.js +71 -0
- package/dist/chunk-F6V74YMW.js.map +1 -0
- package/dist/chunk-FNNIH7R2.js +70 -0
- package/dist/chunk-FNNIH7R2.js.map +1 -0
- package/dist/{chunk-ZX2IBIZT.js → chunk-FWY22BZZ.js} +46 -4
- package/dist/chunk-FWY22BZZ.js.map +1 -0
- package/dist/chunk-FXDHDQTH.js +79 -0
- package/dist/chunk-FXDHDQTH.js.map +1 -0
- package/dist/chunk-FZET7XQV.js +169 -0
- package/dist/chunk-FZET7XQV.js.map +1 -0
- package/dist/chunk-GDYSB7SB.js +78 -0
- package/dist/chunk-GDYSB7SB.js.map +1 -0
- package/dist/chunk-GPM2PRC5.js +61 -0
- package/dist/chunk-GPM2PRC5.js.map +1 -0
- package/dist/chunk-GVGKISKD.js +170 -0
- package/dist/chunk-GVGKISKD.js.map +1 -0
- package/dist/{chunk-BJSWQQSC.mjs → chunk-I4TGI6U3.mjs} +3 -45
- package/dist/chunk-I4TGI6U3.mjs.map +1 -0
- package/dist/chunk-I55QC57T.js +47 -0
- package/dist/chunk-I55QC57T.js.map +1 -0
- package/dist/chunk-I5TREZO5.js +263 -0
- package/dist/chunk-I5TREZO5.js.map +1 -0
- package/dist/chunk-IPUQBMAB.mjs +205 -0
- package/dist/chunk-IPUQBMAB.mjs.map +1 -0
- package/dist/chunk-IQ6QVIZ3.mjs +69 -0
- package/dist/chunk-IQ6QVIZ3.mjs.map +1 -0
- package/dist/chunk-ISXAUMRW.js +63 -0
- package/dist/chunk-ISXAUMRW.js.map +1 -0
- package/dist/{chunk-3J3FYIG3.js → chunk-IULYVARJ.mjs} +35 -132
- package/dist/chunk-IULYVARJ.mjs.map +1 -0
- package/dist/{chunk-DEZRB6DS.mjs → chunk-IZAQBJKT.mjs} +46 -4
- package/dist/chunk-IZAQBJKT.mjs.map +1 -0
- package/dist/chunk-J5LGTIGS.mjs +9 -0
- package/dist/chunk-J5LGTIGS.mjs.map +1 -0
- package/dist/chunk-J6XKTPP5.js +61 -0
- package/dist/chunk-J6XKTPP5.js.map +1 -0
- package/dist/chunk-JF4BRFOG.mjs +54 -0
- package/dist/chunk-JF4BRFOG.mjs.map +1 -0
- package/dist/{chunk-3F4FF2H4.mjs → chunk-JI3IEKH6.mjs} +24 -205
- package/dist/chunk-JI3IEKH6.mjs.map +1 -0
- package/dist/chunk-JTMRSRYD.js +63 -0
- package/dist/chunk-JTMRSRYD.js.map +1 -0
- package/dist/chunk-KEGOUZL5.js +209 -0
- package/dist/chunk-KEGOUZL5.js.map +1 -0
- package/dist/{chunk-TTTYW3TR.js → chunk-KXNMW4NV.mjs} +24 -170
- package/dist/chunk-KXNMW4NV.mjs.map +1 -0
- package/dist/chunk-L4PDJ6IB.mjs +17 -0
- package/dist/chunk-L4PDJ6IB.mjs.map +1 -0
- package/dist/chunk-L67EJJFN.js +82 -0
- package/dist/chunk-L67EJJFN.js.map +1 -0
- package/dist/{chunk-UY65KX3M.js → chunk-L6AS5AVO.js} +53 -263
- package/dist/chunk-L6AS5AVO.js.map +1 -0
- package/dist/chunk-L6PSW7JE.mjs +206 -0
- package/dist/chunk-L6PSW7JE.mjs.map +1 -0
- package/dist/{chunk-NNZXBL7R.mjs → chunk-LL2UY6CD.mjs} +25 -223
- package/dist/chunk-LL2UY6CD.mjs.map +1 -0
- package/dist/chunk-LLNK24MM.js +67 -0
- package/dist/chunk-LLNK24MM.js.map +1 -0
- package/dist/{chunk-OKCC7E36.js → chunk-LQPKZ5ZD.js} +6 -6
- package/dist/{chunk-OKCC7E36.js.map → chunk-LQPKZ5ZD.js.map} +1 -1
- package/dist/{chunk-HNLQXHSQ.mjs → chunk-LU6VEI4B.js} +34 -205
- package/dist/chunk-LU6VEI4B.js.map +1 -0
- package/dist/chunk-MCYFKM7T.js +62 -0
- package/dist/chunk-MCYFKM7T.js.map +1 -0
- package/dist/chunk-MUKI3OHH.js +215 -0
- package/dist/chunk-MUKI3OHH.js.map +1 -0
- package/dist/chunk-N2RUT33F.mjs +68 -0
- package/dist/chunk-N2RUT33F.mjs.map +1 -0
- package/dist/chunk-NAHHFB2M.js +77 -0
- package/dist/chunk-NAHHFB2M.js.map +1 -0
- package/dist/chunk-NMBSK44H.mjs +44 -0
- package/dist/chunk-NMBSK44H.mjs.map +1 -0
- package/dist/chunk-NVTV3EQB.js +49 -0
- package/dist/chunk-NVTV3EQB.js.map +1 -0
- package/dist/{chunk-NSJ6KGW2.js → chunk-NWMSIYZP.js} +16 -58
- package/dist/chunk-NWMSIYZP.js.map +1 -0
- package/dist/chunk-NXNL64Q7.mjs +112 -0
- package/dist/chunk-NXNL64Q7.mjs.map +1 -0
- package/dist/chunk-O23PJPGM.mjs +251 -0
- package/dist/chunk-O23PJPGM.mjs.map +1 -0
- package/dist/chunk-O6R6OQXI.mjs +204 -0
- package/dist/chunk-O6R6OQXI.mjs.map +1 -0
- package/dist/chunk-ODT5TFIT.mjs +156 -0
- package/dist/chunk-ODT5TFIT.mjs.map +1 -0
- package/dist/{chunk-ECLHBSC6.mjs → chunk-OGMIKRLJ.js} +30 -99
- package/dist/chunk-OGMIKRLJ.js.map +1 -0
- package/dist/chunk-OOBA2MDD.mjs +57 -0
- package/dist/chunk-OOBA2MDD.mjs.map +1 -0
- package/dist/chunk-OPACTZGV.js +231 -0
- package/dist/chunk-OPACTZGV.js.map +1 -0
- package/dist/{chunk-C6NA452Q.mjs → chunk-OPUO55TO.mjs} +3 -3
- package/dist/{chunk-C6NA452Q.mjs.map → chunk-OPUO55TO.mjs.map} +1 -1
- package/dist/{chunk-SSJXWD2M.mjs → chunk-OQCI2IVL.mjs} +47 -260
- package/dist/chunk-OQCI2IVL.mjs.map +1 -0
- package/dist/{chunk-2ZKW2E7B.mjs → chunk-P25NI2HG.js} +41 -126
- package/dist/chunk-P25NI2HG.js.map +1 -0
- package/dist/chunk-P2DQP4J4.js +424 -0
- package/dist/chunk-P2DQP4J4.js.map +1 -0
- package/dist/{chunk-XYEMP4K7.js → chunk-P43A2BPU.mjs} +25 -216
- package/dist/chunk-P43A2BPU.mjs.map +1 -0
- package/dist/chunk-P54PZ72L.mjs +65 -0
- package/dist/chunk-P54PZ72L.mjs.map +1 -0
- package/dist/chunk-PAJYNQR3.mjs +150 -0
- package/dist/chunk-PAJYNQR3.mjs.map +1 -0
- package/dist/chunk-PKXDRTC7.js +264 -0
- package/dist/chunk-PKXDRTC7.js.map +1 -0
- package/dist/chunk-PNAFXOZC.mjs +69 -0
- package/dist/chunk-PNAFXOZC.mjs.map +1 -0
- package/dist/chunk-PUSCPBT2.mjs +46 -0
- package/dist/chunk-PUSCPBT2.mjs.map +1 -0
- package/dist/chunk-PZ5AY32C.js +11 -0
- package/dist/chunk-PZ5AY32C.js.map +1 -0
- package/dist/{chunk-NMQAHUYA.mjs → chunk-Q2NE2UAO.mjs} +3 -33
- package/dist/chunk-Q2NE2UAO.mjs.map +1 -0
- package/dist/chunk-QDHARZDN.js +129 -0
- package/dist/chunk-QDHARZDN.js.map +1 -0
- package/dist/chunk-QIUVXTLE.mjs +60 -0
- package/dist/chunk-QIUVXTLE.mjs.map +1 -0
- package/dist/chunk-QKZR2UTL.mjs +125 -0
- package/dist/chunk-QKZR2UTL.mjs.map +1 -0
- package/dist/{chunk-EZCYSFML.mjs → chunk-QTFOUK4H.js} +36 -149
- package/dist/chunk-QTFOUK4H.js.map +1 -0
- package/dist/chunk-QW2ZHKPC.mjs +64 -0
- package/dist/chunk-QW2ZHKPC.mjs.map +1 -0
- package/dist/chunk-R2256VSD.js +80 -0
- package/dist/chunk-R2256VSD.js.map +1 -0
- package/dist/chunk-RYJ5WEE3.js +101 -0
- package/dist/chunk-RYJ5WEE3.js.map +1 -0
- package/dist/{chunk-UROKWFPX.mjs → chunk-S4OSJ4ZN.js} +30 -155
- package/dist/chunk-S4OSJ4ZN.js.map +1 -0
- package/dist/{chunk-X3O45MPI.js → chunk-SWU5U5BB.mjs} +45 -217
- package/dist/chunk-SWU5U5BB.mjs.map +1 -0
- package/dist/chunk-SYFTQAZG.mjs +58 -0
- package/dist/chunk-SYFTQAZG.mjs.map +1 -0
- package/dist/{chunk-DFCDLVZA.js → chunk-T5SPR27V.mjs} +24 -166
- package/dist/chunk-T5SPR27V.mjs.map +1 -0
- package/dist/{chunk-IM6KN77X.mjs → chunk-TD4W3AHI.mjs} +47 -253
- package/dist/chunk-TD4W3AHI.mjs.map +1 -0
- package/dist/chunk-TMFXI5FH.mjs +52 -0
- package/dist/chunk-TMFXI5FH.mjs.map +1 -0
- package/dist/{chunk-2F7P4EJQ.js → chunk-UJBXDDHN.mjs} +26 -103
- package/dist/chunk-UJBXDDHN.mjs.map +1 -0
- package/dist/chunk-USLP5NY6.js +69 -0
- package/dist/chunk-USLP5NY6.js.map +1 -0
- package/dist/{chunk-R2JJTREQ.mjs → chunk-UU34Q42Q.js} +28 -202
- package/dist/chunk-UU34Q42Q.js.map +1 -0
- package/dist/chunk-V4FFKIX3.js +166 -0
- package/dist/chunk-V4FFKIX3.js.map +1 -0
- package/dist/{chunk-5565GZ4T.js → chunk-V4U6Q5NL.mjs} +25 -205
- package/dist/chunk-V4U6Q5NL.mjs.map +1 -0
- package/dist/chunk-VIKQGO4W.mjs +636 -0
- package/dist/chunk-VIKQGO4W.mjs.map +1 -0
- package/dist/chunk-VUIWYURS.js +162 -0
- package/dist/chunk-VUIWYURS.js.map +1 -0
- package/dist/chunk-VWHER5XN.js +65 -0
- package/dist/chunk-VWHER5XN.js.map +1 -0
- package/dist/chunk-WBRTXAKP.js +705 -0
- package/dist/chunk-WBRTXAKP.js.map +1 -0
- package/dist/chunk-WN7XWKAS.mjs +52 -0
- package/dist/chunk-WN7XWKAS.mjs.map +1 -0
- package/dist/chunk-X3N4EVF7.mjs +240 -0
- package/dist/chunk-X3N4EVF7.mjs.map +1 -0
- package/dist/chunk-XPHD3X4L.mjs +98 -0
- package/dist/chunk-XPHD3X4L.mjs.map +1 -0
- package/dist/chunk-Y4YQSCNL.js +65 -0
- package/dist/chunk-Y4YQSCNL.js.map +1 -0
- package/dist/chunk-Y73U7C4T.js +238 -0
- package/dist/chunk-Y73U7C4T.js.map +1 -0
- package/dist/{chunk-EIRCCTNA.js → chunk-Y7NRTCAT.js} +31 -128
- package/dist/chunk-Y7NRTCAT.js.map +1 -0
- package/dist/chunk-YDKAE7RM.mjs +62 -0
- package/dist/chunk-YDKAE7RM.mjs.map +1 -0
- package/dist/{chunk-INXWZ4DS.js → chunk-YN4ZS3R2.js} +53 -271
- package/dist/chunk-YN4ZS3R2.js.map +1 -0
- package/dist/chunk-ZCTSXNAE.mjs +221 -0
- package/dist/chunk-ZCTSXNAE.mjs.map +1 -0
- package/dist/chunk-ZFNVFMWG.mjs +703 -0
- package/dist/chunk-ZFNVFMWG.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-ZITS2V53.js +130 -0
- package/dist/chunk-ZITS2V53.js.map +1 -0
- package/dist/chunk-ZY6O6Z2I.mjs +350 -0
- package/dist/chunk-ZY6O6Z2I.mjs.map +1 -0
- package/dist/design-system/accordion.d.ts +42 -0
- package/dist/design-system/accordion.d.ts.map +1 -1
- package/dist/design-system/alert.d.ts +21 -0
- package/dist/design-system/alert.d.ts.map +1 -1
- package/dist/design-system/animated-number.d.ts +21 -0
- package/dist/design-system/animated-number.d.ts.map +1 -1
- package/dist/design-system/avatar.d.ts +21 -0
- package/dist/design-system/avatar.d.ts.map +1 -1
- package/dist/design-system/badge.d.ts +42 -0
- package/dist/design-system/badge.d.ts.map +1 -1
- package/dist/design-system/breadcrumb.d.ts +21 -0
- package/dist/design-system/breadcrumb.d.ts.map +1 -1
- package/dist/design-system/button.d.ts +22 -1
- package/dist/design-system/button.d.ts.map +1 -1
- package/dist/design-system/card.d.ts +21 -0
- package/dist/design-system/card.d.ts.map +1 -1
- package/dist/design-system/checkbox.d.ts +22 -1
- package/dist/design-system/checkbox.d.ts.map +1 -1
- package/dist/design-system/command.d.ts +21 -0
- package/dist/design-system/command.d.ts.map +1 -1
- package/dist/design-system/context-menu.d.ts +21 -0
- package/dist/design-system/context-menu.d.ts.map +1 -1
- package/dist/design-system/copy-button.d.ts +22 -1
- package/dist/design-system/copy-button.d.ts.map +1 -1
- package/dist/design-system/divider.d.ts +21 -0
- package/dist/design-system/divider.d.ts.map +1 -1
- package/dist/design-system/drawer.d.ts +42 -0
- package/dist/design-system/drawer.d.ts.map +1 -1
- package/dist/design-system/dropdown.d.ts +42 -0
- package/dist/design-system/dropdown.d.ts.map +1 -1
- package/dist/design-system/dynamic-stepper.d.ts +98 -5
- package/dist/design-system/dynamic-stepper.d.ts.map +1 -1
- package/dist/design-system/empty-state.d.ts +21 -0
- package/dist/design-system/empty-state.d.ts.map +1 -1
- package/dist/design-system/facade.js +403 -0
- package/dist/design-system/facade.js.map +1 -0
- package/dist/design-system/facade.mjs +401 -0
- package/dist/design-system/facade.mjs.map +1 -0
- package/dist/design-system/file-upload.d.ts +21 -0
- package/dist/design-system/file-upload.d.ts.map +1 -1
- package/dist/design-system/index.d.ts +0 -1
- package/dist/design-system/index.d.ts.map +1 -1
- package/dist/design-system/inputs.d.ts +108 -0
- package/dist/design-system/inputs.d.ts.map +1 -1
- package/dist/design-system/kbd.d.ts +22 -1
- package/dist/design-system/kbd.d.ts.map +1 -1
- package/dist/design-system/marquee.d.ts +21 -0
- package/dist/design-system/marquee.d.ts.map +1 -1
- package/dist/design-system/modal.d.ts +42 -0
- package/dist/design-system/modal.d.ts.map +1 -1
- package/dist/design-system/otp-input.d.ts +21 -0
- package/dist/design-system/otp-input.d.ts.map +1 -1
- package/dist/design-system/pagination.d.ts +21 -0
- package/dist/design-system/pagination.d.ts.map +1 -1
- package/dist/design-system/popover.d.ts +20 -0
- package/dist/design-system/popover.d.ts.map +1 -1
- package/dist/design-system/progress.d.ts +21 -0
- package/dist/design-system/progress.d.ts.map +1 -1
- package/dist/design-system/radio-group.d.ts +21 -0
- package/dist/design-system/radio-group.d.ts.map +1 -1
- package/dist/design-system/rating.d.ts +21 -0
- package/dist/design-system/rating.d.ts.map +1 -1
- package/dist/design-system/scroll-area.d.ts +21 -0
- package/dist/design-system/scroll-area.d.ts.map +1 -1
- package/dist/design-system/select.d.ts +63 -0
- package/dist/design-system/select.d.ts.map +1 -1
- package/dist/design-system/skeleton.d.ts +63 -0
- package/dist/design-system/skeleton.d.ts.map +1 -1
- package/dist/design-system/slider.d.ts +22 -1
- package/dist/design-system/slider.d.ts.map +1 -1
- package/dist/design-system/spinner.d.ts +21 -0
- package/dist/design-system/spinner.d.ts.map +1 -1
- package/dist/design-system/table.d.ts +63 -0
- package/dist/design-system/table.d.ts.map +1 -1
- package/dist/design-system/tabs.d.ts +21 -0
- package/dist/design-system/tabs.d.ts.map +1 -1
- package/dist/design-system/timeline.d.ts +21 -0
- package/dist/design-system/timeline.d.ts.map +1 -1
- package/dist/design-system/toast.d.ts +21 -0
- package/dist/design-system/toast.d.ts.map +1 -1
- package/dist/design-system/toggle.d.ts +30 -0
- package/dist/design-system/toggle.d.ts.map +1 -1
- package/dist/design-system/tokens.js +1 -0
- package/dist/design-system/tokens.mjs +1 -0
- 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/hooks/useBodyScrollLock.js +1 -0
- package/dist/hooks/useBodyScrollLock.mjs +1 -0
- package/dist/hooks/useClickOutside.js +1 -0
- package/dist/hooks/useClickOutside.mjs +1 -0
- package/dist/hooks/useClipboard.js +1 -0
- package/dist/hooks/useClipboard.mjs +1 -0
- package/dist/hooks/useControllableState.js +1 -0
- package/dist/hooks/useControllableState.mjs +1 -0
- package/dist/hooks/useDebouncedValue.js +1 -1
- package/dist/hooks/useDebouncedValue.mjs +1 -1
- package/dist/hooks/useDisclosure.js +1 -0
- package/dist/hooks/useDisclosure.js.map +1 -1
- package/dist/hooks/useDisclosure.mjs +1 -0
- package/dist/hooks/useDisclosure.mjs.map +1 -1
- package/dist/hooks/useDocumentTitle.js +1 -1
- package/dist/hooks/useDocumentTitle.mjs +1 -1
- package/dist/hooks/useDynamicStepper.js +1 -0
- package/dist/hooks/useDynamicStepper.mjs +1 -0
- package/dist/hooks/useFocusManagement.js +1 -0
- package/dist/hooks/useFocusManagement.mjs +1 -0
- package/dist/hooks/useHover.js +1 -1
- package/dist/hooks/useHover.mjs +1 -1
- package/dist/hooks/useInView.js +1 -0
- package/dist/hooks/useInView.js.map +1 -1
- package/dist/hooks/useInView.mjs +1 -0
- package/dist/hooks/useInView.mjs.map +1 -1
- package/dist/hooks/useIntersectionObserver.js +1 -0
- package/dist/hooks/useIntersectionObserver.mjs +1 -0
- package/dist/hooks/useIsMounted.js +1 -1
- package/dist/hooks/useIsMounted.mjs +1 -1
- package/dist/hooks/useIsomorphicLayoutEffect.js +1 -0
- package/dist/hooks/useIsomorphicLayoutEffect.mjs +1 -0
- package/dist/hooks/useLocalStorage.js +1 -1
- package/dist/hooks/useLocalStorage.mjs +1 -1
- package/dist/hooks/useMediaQuery.js +1 -0
- package/dist/hooks/useMediaQuery.mjs +1 -0
- package/dist/hooks/useNetworkStatus.js +1 -1
- package/dist/hooks/useNetworkStatus.mjs +1 -1
- package/dist/hooks/usePageVisibility.js +1 -1
- package/dist/hooks/usePageVisibility.mjs +1 -1
- package/dist/hooks/usePagination.js +1 -0
- package/dist/hooks/usePagination.mjs +1 -0
- package/dist/hooks/usePrefersColorScheme.js +1 -0
- package/dist/hooks/usePrefersColorScheme.js.map +1 -1
- package/dist/hooks/usePrefersColorScheme.mjs +1 -0
- package/dist/hooks/usePrefersColorScheme.mjs.map +1 -1
- package/dist/hooks/usePrefersReducedMotion.js +1 -0
- package/dist/hooks/usePrefersReducedMotion.js.map +1 -1
- package/dist/hooks/usePrefersReducedMotion.mjs +1 -0
- package/dist/hooks/usePrefersReducedMotion.mjs.map +1 -1
- package/dist/hooks/useResizeObserver.js +1 -0
- package/dist/hooks/useResizeObserver.mjs +1 -0
- package/dist/hooks/useSessionStorage.js +1 -1
- package/dist/hooks/useSessionStorage.mjs +1 -1
- package/dist/hooks/useTableFilter.js +1 -1
- package/dist/hooks/useTableFilter.mjs +1 -1
- package/dist/hooks/useTableSort.js +1 -1
- package/dist/hooks/useTableSort.mjs +1 -1
- package/dist/hooks/useThrottledCallback.js +1 -1
- package/dist/hooks/useThrottledCallback.mjs +1 -1
- package/dist/hooks/useToggle.js +1 -1
- package/dist/hooks/useToggle.mjs +1 -1
- package/dist/hooks/useWindowSize.js +1 -1
- package/dist/hooks/useWindowSize.mjs +1 -1
- package/dist/hooks/utils.js +1 -0
- package/dist/hooks/utils.mjs +1 -0
- package/dist/lib/facade.d.ts +53 -0
- package/dist/lib/facade.d.ts.map +1 -0
- package/dist/ui/accordion/animated.js +9 -7
- package/dist/ui/accordion/animated.js.map +1 -1
- package/dist/ui/accordion/animated.mjs +4 -2
- package/dist/ui/accordion/animated.mjs.map +1 -1
- package/dist/ui/accordion/variants.d.ts +2 -2
- package/dist/ui/accordion.js +11 -9
- package/dist/ui/accordion.js.map +1 -1
- package/dist/ui/accordion.mjs +4 -2
- package/dist/ui/accordion.mjs.map +1 -1
- package/dist/ui/alert/animated.js +4 -2
- package/dist/ui/alert/animated.js.map +1 -1
- package/dist/ui/alert/animated.mjs +3 -1
- package/dist/ui/alert/animated.mjs.map +1 -1
- package/dist/ui/alert/variants.d.ts +1 -1
- package/dist/ui/alert.js +12 -10
- package/dist/ui/alert.js.map +1 -1
- package/dist/ui/alert.mjs +4 -2
- package/dist/ui/alert.mjs.map +1 -1
- package/dist/ui/animated-number/variants.d.ts +1 -1
- package/dist/ui/animated-number.js +5 -37
- package/dist/ui/animated-number.js.map +1 -1
- package/dist/ui/animated-number.mjs +2 -34
- package/dist/ui/animated-number.mjs.map +1 -1
- package/dist/ui/avatar/animated.js +7 -5
- package/dist/ui/avatar/animated.js.map +1 -1
- package/dist/ui/avatar/animated.mjs +4 -2
- package/dist/ui/avatar/animated.mjs.map +1 -1
- package/dist/ui/avatar/variants.d.ts +1 -1
- package/dist/ui/avatar.js +11 -9
- package/dist/ui/avatar.js.map +1 -1
- package/dist/ui/avatar.mjs +4 -2
- package/dist/ui/avatar.mjs.map +1 -1
- package/dist/ui/badge/animated.js +4 -2
- package/dist/ui/badge/animated.js.map +1 -1
- package/dist/ui/badge/animated.mjs +3 -1
- package/dist/ui/badge/animated.mjs.map +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 +6 -4
- package/dist/ui/badge.js.map +1 -1
- package/dist/ui/badge.mjs +4 -2
- package/dist/ui/badge.mjs.map +1 -1
- package/dist/ui/breadcrumb/variants.d.ts +1 -1
- package/dist/ui/breadcrumb.js +10 -37
- package/dist/ui/breadcrumb.js.map +1 -1
- package/dist/ui/breadcrumb.mjs +2 -29
- package/dist/ui/breadcrumb.mjs.map +1 -1
- package/dist/ui/buttons/animated.js +43 -3
- package/dist/ui/buttons/animated.js.map +1 -1
- package/dist/ui/buttons/animated.mjs +41 -1
- package/dist/ui/buttons/animated.mjs.map +1 -1
- package/dist/ui/buttons/variants.d.ts +1 -1
- package/dist/ui/buttons.js +44 -4
- package/dist/ui/buttons.mjs +42 -2
- package/dist/ui/card/animated.js +9 -7
- package/dist/ui/card/animated.js.map +1 -1
- package/dist/ui/card/animated.mjs +4 -2
- package/dist/ui/card/animated.mjs.map +1 -1
- package/dist/ui/card/variants.d.ts +1 -1
- package/dist/ui/card.js +14 -12
- package/dist/ui/card.js.map +1 -1
- package/dist/ui/card.mjs +4 -2
- package/dist/ui/card.mjs.map +1 -1
- package/dist/ui/checkbox/animated.js +6 -4
- package/dist/ui/checkbox/animated.js.map +1 -1
- package/dist/ui/checkbox/animated.mjs +3 -1
- package/dist/ui/checkbox/animated.mjs.map +1 -1
- package/dist/ui/checkbox/variants.d.ts +1 -1
- package/dist/ui/checkbox.js +10 -8
- package/dist/ui/checkbox.js.map +1 -1
- package/dist/ui/checkbox.mjs +4 -2
- package/dist/ui/checkbox.mjs.map +1 -1
- package/dist/ui/command/animated.js +4 -2
- package/dist/ui/command/animated.js.map +1 -1
- package/dist/ui/command/animated.mjs +3 -1
- package/dist/ui/command/animated.mjs.map +1 -1
- package/dist/ui/command/variants.d.ts +1 -1
- package/dist/ui/command.js +17 -15
- package/dist/ui/command.js.map +1 -1
- package/dist/ui/command.mjs +4 -2
- package/dist/ui/command.mjs.map +1 -1
- package/dist/ui/context-menu/variants.d.ts +1 -1
- package/dist/ui/context-menu.js +9 -38
- package/dist/ui/context-menu.js.map +1 -1
- package/dist/ui/context-menu.mjs +3 -32
- package/dist/ui/context-menu.mjs.map +1 -1
- package/dist/ui/copy-button/animated.js +4 -2
- package/dist/ui/copy-button/animated.js.map +1 -1
- package/dist/ui/copy-button/animated.mjs +3 -1
- package/dist/ui/copy-button/animated.mjs.map +1 -1
- package/dist/ui/copy-button/variants.d.ts +1 -1
- package/dist/ui/copy-button.js +5 -3
- package/dist/ui/copy-button.js.map +1 -1
- package/dist/ui/copy-button.mjs +4 -2
- package/dist/ui/copy-button.mjs.map +1 -1
- package/dist/ui/divider/animated.js +4 -2
- package/dist/ui/divider/animated.js.map +1 -1
- package/dist/ui/divider/animated.mjs +3 -1
- package/dist/ui/divider/animated.mjs.map +1 -1
- package/dist/ui/divider/variants.d.ts +2 -2
- package/dist/ui/divider.js +8 -6
- package/dist/ui/divider.js.map +1 -1
- package/dist/ui/divider.mjs +4 -2
- package/dist/ui/divider.mjs.map +1 -1
- package/dist/ui/drawer/animated.js +13 -11
- package/dist/ui/drawer/animated.js.map +1 -1
- package/dist/ui/drawer/animated.mjs +4 -2
- package/dist/ui/drawer/animated.mjs.map +1 -1
- package/dist/ui/drawer/variants.d.ts +2 -2
- package/dist/ui/drawer.js +13 -11
- package/dist/ui/drawer.mjs +3 -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 +10 -9
- package/dist/ui/dropdown.js.map +1 -1
- package/dist/ui/dropdown.mjs +2 -1
- package/dist/ui/dropdown.mjs.map +1 -1
- package/dist/ui/dynamic-stepper/variants.d.ts +1 -1
- package/dist/ui/dynamic-stepper/variants.d.ts.map +1 -1
- package/dist/ui/dynamic-stepper.js +53 -132
- package/dist/ui/dynamic-stepper.js.map +1 -1
- package/dist/ui/dynamic-stepper.mjs +42 -121
- package/dist/ui/dynamic-stepper.mjs.map +1 -1
- package/dist/ui/empty-state/animated.js +4 -2
- package/dist/ui/empty-state/animated.js.map +1 -1
- package/dist/ui/empty-state/animated.mjs +3 -1
- package/dist/ui/empty-state/animated.mjs.map +1 -1
- package/dist/ui/empty-state/variants.d.ts +1 -1
- package/dist/ui/empty-state.js +12 -10
- package/dist/ui/empty-state.js.map +1 -1
- package/dist/ui/empty-state.mjs +4 -2
- package/dist/ui/empty-state.mjs.map +1 -1
- package/dist/ui/file-upload/variants.d.ts +1 -1
- package/dist/ui/file-upload.js +4 -23
- package/dist/ui/file-upload.js.map +1 -1
- package/dist/ui/file-upload.mjs +2 -21
- package/dist/ui/file-upload.mjs.map +1 -1
- package/dist/ui/inputs/animated.js +5 -3
- package/dist/ui/inputs/animated.js.map +1 -1
- package/dist/ui/inputs/animated.mjs +3 -1
- package/dist/ui/inputs/animated.mjs.map +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 +6 -4
- package/dist/ui/inputs.js.map +1 -1
- package/dist/ui/inputs.mjs +4 -2
- package/dist/ui/inputs.mjs.map +1 -1
- package/dist/ui/kbd/animated.js +4 -2
- package/dist/ui/kbd/animated.js.map +1 -1
- package/dist/ui/kbd/animated.mjs +3 -1
- package/dist/ui/kbd/animated.mjs.map +1 -1
- package/dist/ui/kbd/variants.d.ts +1 -1
- package/dist/ui/kbd.js +6 -4
- package/dist/ui/kbd.js.map +1 -1
- package/dist/ui/kbd.mjs +4 -2
- package/dist/ui/kbd.mjs.map +1 -1
- package/dist/ui/marquee/variants.d.ts +1 -1
- package/dist/ui/marquee.js +7 -47
- package/dist/ui/marquee.js.map +1 -1
- package/dist/ui/marquee.mjs +2 -42
- package/dist/ui/marquee.mjs.map +1 -1
- package/dist/ui/modal/animated.js +6 -4
- package/dist/ui/modal/animated.js.map +1 -1
- package/dist/ui/modal/animated.mjs +3 -1
- package/dist/ui/modal/animated.mjs.map +1 -1
- package/dist/ui/modal/variants.d.ts +2 -2
- package/dist/ui/modal.js +14 -12
- package/dist/ui/modal.js.map +1 -1
- package/dist/ui/modal.mjs +4 -2
- package/dist/ui/modal.mjs.map +1 -1
- package/dist/ui/otp-input/variants.d.ts +1 -1
- package/dist/ui/otp-input.js +11 -36
- package/dist/ui/otp-input.js.map +1 -1
- package/dist/ui/otp-input.mjs +2 -27
- 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 +49 -74
- package/dist/ui/pagination.js.map +1 -1
- package/dist/ui/pagination.mjs +41 -66
- package/dist/ui/pagination.mjs.map +1 -1
- package/dist/ui/popover/animated.js +6 -4
- package/dist/ui/popover/animated.js.map +1 -1
- package/dist/ui/popover/animated.mjs +3 -1
- package/dist/ui/popover/animated.mjs.map +1 -1
- package/dist/ui/popover/variants.d.ts +1 -1
- package/dist/ui/popover.js +9 -7
- package/dist/ui/popover.mjs +3 -1
- package/dist/ui/progress/animated.js +10 -8
- package/dist/ui/progress/animated.js.map +1 -1
- package/dist/ui/progress/animated.mjs +4 -2
- package/dist/ui/progress/animated.mjs.map +1 -1
- package/dist/ui/progress/variants.d.ts +3 -3
- package/dist/ui/progress.js +11 -9
- package/dist/ui/progress.js.map +1 -1
- package/dist/ui/progress.mjs +4 -2
- package/dist/ui/progress.mjs.map +1 -1
- package/dist/ui/radio-group/animated.js +9 -7
- package/dist/ui/radio-group/animated.js.map +1 -1
- package/dist/ui/radio-group/animated.mjs +3 -1
- package/dist/ui/radio-group/animated.mjs.map +1 -1
- package/dist/ui/radio-group/variants.d.ts +1 -1
- package/dist/ui/radio-group.js +13 -11
- package/dist/ui/radio-group.js.map +1 -1
- package/dist/ui/radio-group.mjs +4 -2
- package/dist/ui/radio-group.mjs.map +1 -1
- package/dist/ui/rating/variants.d.ts +1 -1
- package/dist/ui/rating.js +12 -53
- package/dist/ui/rating.js.map +1 -1
- package/dist/ui/rating.mjs +2 -43
- package/dist/ui/rating.mjs.map +1 -1
- package/dist/ui/scroll-area/variants.d.ts +1 -1
- package/dist/ui/scroll-area.js +8 -41
- package/dist/ui/scroll-area.js.map +1 -1
- package/dist/ui/scroll-area.mjs +2 -35
- package/dist/ui/scroll-area.mjs.map +1 -1
- package/dist/ui/search.js +4 -2
- package/dist/ui/search.js.map +1 -1
- package/dist/ui/search.mjs +3 -1
- package/dist/ui/search.mjs.map +1 -1
- package/dist/ui/select/types.d.ts +2 -1
- package/dist/ui/select/types.d.ts.map +1 -1
- package/dist/ui/select/variants.d.ts +3 -3
- package/dist/ui/select.js +12 -104
- package/dist/ui/select.js.map +1 -1
- package/dist/ui/select.mjs +2 -94
- package/dist/ui/select.mjs.map +1 -1
- package/dist/ui/skeleton/animated.js +10 -8
- package/dist/ui/skeleton/animated.js.map +1 -1
- package/dist/ui/skeleton/animated.mjs +3 -1
- package/dist/ui/skeleton/animated.mjs.map +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 +11 -9
- package/dist/ui/skeleton.mjs +3 -1
- package/dist/ui/slider/variants.d.ts +1 -1
- package/dist/ui/slider.js +10 -54
- package/dist/ui/slider.js.map +1 -1
- package/dist/ui/slider.mjs +2 -46
- package/dist/ui/slider.mjs.map +1 -1
- package/dist/ui/spinner/animated/variants.d.ts +1 -1
- package/dist/ui/spinner/animated.js +6 -45
- package/dist/ui/spinner/animated.js.map +1 -1
- package/dist/ui/spinner/animated.mjs +2 -41
- package/dist/ui/spinner/animated.mjs.map +1 -1
- package/dist/ui/table/animated.js +10 -8
- package/dist/ui/table/animated.js.map +1 -1
- package/dist/ui/table/animated.mjs +4 -2
- package/dist/ui/table/animated.mjs.map +1 -1
- package/dist/ui/table/variants.d.ts +3 -3
- package/dist/ui/table.js +16 -14
- package/dist/ui/table.mjs +3 -1
- package/dist/ui/tabs/animated.js +4 -2
- package/dist/ui/tabs/animated.js.map +1 -1
- package/dist/ui/tabs/animated.mjs +3 -1
- package/dist/ui/tabs/animated.mjs.map +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 +11 -9
- package/dist/ui/tabs.mjs +3 -1
- package/dist/ui/timeline/animated.js +13 -11
- package/dist/ui/timeline/animated.js.map +1 -1
- package/dist/ui/timeline/animated.mjs +4 -2
- package/dist/ui/timeline/animated.mjs.map +1 -1
- package/dist/ui/timeline/variants.d.ts +1 -1
- package/dist/ui/timeline.js +16 -14
- package/dist/ui/timeline.js.map +1 -1
- package/dist/ui/timeline.mjs +4 -2
- package/dist/ui/timeline.mjs.map +1 -1
- package/dist/ui/toast/animated.js +9 -7
- package/dist/ui/toast/animated.js.map +1 -1
- package/dist/ui/toast/animated.mjs +3 -1
- package/dist/ui/toast/animated.mjs.map +1 -1
- package/dist/ui/toast/variants.d.ts +1 -1
- package/dist/ui/toast.js +14 -12
- package/dist/ui/toast.mjs +3 -1
- package/dist/ui/toggle/animated.js +6 -4
- package/dist/ui/toggle/animated.js.map +1 -1
- package/dist/ui/toggle/animated.mjs +3 -1
- package/dist/ui/toggle/animated.mjs.map +1 -1
- package/dist/ui/toggle/variants.d.ts +2 -2
- package/dist/ui/toggle.js +6 -4
- package/dist/ui/toggle.js.map +1 -1
- package/dist/ui/toggle.mjs +4 -2
- package/dist/ui/toggle.mjs.map +1 -1
- package/dist/ui/tooltip/animated.js +5 -3
- package/dist/ui/tooltip/animated.js.map +1 -1
- package/dist/ui/tooltip/animated.mjs +3 -1
- package/dist/ui/tooltip/animated.mjs.map +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 +9 -7
- package/dist/ui/tooltip.mjs +3 -1
- package/dist/ui/tree-view/animated.js +4 -2
- package/dist/ui/tree-view/animated.js.map +1 -1
- package/dist/ui/tree-view/animated.mjs +3 -1
- package/dist/ui/tree-view/animated.mjs.map +1 -1
- package/dist/ui/tree-view/variants.d.ts +2 -2
- package/dist/ui/tree-view.js +7 -5
- package/dist/ui/tree-view.js.map +1 -1
- package/dist/ui/tree-view.mjs +4 -2
- package/dist/ui/tree-view.mjs.map +1 -1
- package/dist/ui/typography.js +9 -51
- package/dist/ui/typography.js.map +1 -1
- package/dist/ui/typography.mjs +2 -44
- package/dist/ui/typography.mjs.map +1 -1
- package/package.json +24 -18
- package/src/animations/animations.test.tsx +1 -2
- package/src/animations/shared/create-motion-animation.tsx +3 -1
- package/src/design-system/accordion.ts +66 -0
- package/src/design-system/alert.ts +33 -0
- package/src/design-system/animated-number.ts +33 -0
- package/src/design-system/avatar.ts +33 -0
- package/src/design-system/badge.ts +33 -0
- package/src/design-system/breadcrumb.ts +33 -0
- package/src/design-system/button.ts +34 -1
- package/src/design-system/card.ts +33 -0
- package/src/design-system/checkbox.ts +34 -1
- package/src/design-system/command.ts +33 -0
- package/src/design-system/context-menu.ts +21 -0
- package/src/design-system/copy-button.ts +34 -1
- package/src/design-system/divider.ts +33 -0
- package/src/design-system/drawer.ts +66 -0
- package/src/design-system/dropdown.ts +66 -0
- package/src/design-system/dynamic-stepper.ts +8 -23
- package/src/design-system/empty-state.ts +33 -0
- package/src/design-system/file-upload.ts +33 -0
- package/src/design-system/index.ts +0 -1
- package/src/design-system/inputs.ts +171 -0
- package/src/design-system/kbd.ts +34 -1
- package/src/design-system/marquee.ts +33 -0
- package/src/design-system/modal.ts +66 -0
- package/src/design-system/otp-input.ts +33 -0
- package/src/design-system/pagination.ts +33 -0
- package/src/design-system/popover.ts +31 -0
- package/src/design-system/progress.ts +33 -0
- package/src/design-system/radio-group.ts +33 -0
- package/src/design-system/rating.ts +33 -0
- package/src/design-system/scroll-area.ts +33 -0
- package/src/design-system/select.ts +99 -0
- package/src/design-system/skeleton.ts +75 -0
- package/src/design-system/slider.ts +34 -2
- package/src/design-system/spinner.ts +33 -0
- package/src/design-system/table.ts +99 -0
- package/src/design-system/tabs.ts +33 -0
- package/src/design-system/timeline.ts +33 -0
- package/src/design-system/toast.ts +33 -0
- package/src/design-system/toggle.ts +48 -0
- package/src/design-system/tooltip.ts +31 -0
- package/src/design-system/tree-view.ts +66 -0
- package/src/design-system/typography.ts +1 -1
- package/src/lib/facade.test.ts +182 -0
- package/src/lib/facade.ts +805 -0
- package/src/ui/dropdown/types.ts +3 -27
- package/src/ui/inputs/variants.ts +435 -0
- package/src/ui/pagination/types.ts +4 -2
- package/src/ui/select/types.ts +2 -23
- package/src/ui/tabs/types.ts +5 -42
- package/src/ui/tooltip/types.ts +4 -24
- package/dist/chunk-2F7P4EJQ.js.map +0 -1
- package/dist/chunk-2ZKW2E7B.mjs.map +0 -1
- package/dist/chunk-3F4FF2H4.mjs.map +0 -1
- package/dist/chunk-3J3FYIG3.js.map +0 -1
- package/dist/chunk-3W224B3M.js.map +0 -1
- package/dist/chunk-466QDL44.js +0 -77
- package/dist/chunk-466QDL44.js.map +0 -1
- package/dist/chunk-5565GZ4T.js.map +0 -1
- package/dist/chunk-5IJC2OEN.js +0 -124
- package/dist/chunk-5IJC2OEN.js.map +0 -1
- package/dist/chunk-6HPS3ZOP.js +0 -529
- 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 +0 -75
- package/dist/chunk-CIEZFHCO.mjs.map +0 -1
- package/dist/chunk-CSFLMMAT.mjs.map +0 -1
- package/dist/chunk-DEZRB6DS.mjs.map +0 -1
- package/dist/chunk-DFCDLVZA.js.map +0 -1
- package/dist/chunk-DY7HLVGW.mjs +0 -120
- package/dist/chunk-DY7HLVGW.mjs.map +0 -1
- package/dist/chunk-ECLHBSC6.mjs.map +0 -1
- package/dist/chunk-EIRCCTNA.js.map +0 -1
- package/dist/chunk-EZCYSFML.mjs.map +0 -1
- package/dist/chunk-GRJFGIZC.mjs +0 -417
- 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 +0 -342
- package/dist/chunk-IL4LH2XX.js.map +0 -1
- package/dist/chunk-IM6KN77X.mjs.map +0 -1
- package/dist/chunk-INXWZ4DS.js.map +0 -1
- package/dist/chunk-KVQI5PLL.mjs +0 -399
- package/dist/chunk-KVQI5PLL.mjs.map +0 -1
- package/dist/chunk-LNYCEPW5.js.map +0 -1
- package/dist/chunk-NFEA5TN2.js.map +0 -1
- package/dist/chunk-NMQAHUYA.mjs.map +0 -1
- package/dist/chunk-NNZXBL7R.mjs.map +0 -1
- package/dist/chunk-NRPG2STN.js +0 -401
- package/dist/chunk-NRPG2STN.js.map +0 -1
- package/dist/chunk-NSJ6KGW2.js.map +0 -1
- package/dist/chunk-OL3BJSRC.mjs +0 -328
- 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 +0 -421
- package/dist/chunk-QHEHBC6M.js.map +0 -1
- package/dist/chunk-R2JJTREQ.mjs.map +0 -1
- package/dist/chunk-RIHJAEOL.js +0 -107
- package/dist/chunk-RIHJAEOL.js.map +0 -1
- package/dist/chunk-SSJXWD2M.mjs.map +0 -1
- package/dist/chunk-TKVZU56F.mjs.map +0 -1
- package/dist/chunk-TTTYW3TR.js.map +0 -1
- package/dist/chunk-U3VV22G4.js.map +0 -1
- package/dist/chunk-UPZ5XGUD.mjs +0 -100
- package/dist/chunk-UPZ5XGUD.mjs.map +0 -1
- package/dist/chunk-UR7TNW45.mjs +0 -519
- package/dist/chunk-UR7TNW45.mjs.map +0 -1
- package/dist/chunk-UROKWFPX.mjs.map +0 -1
- package/dist/chunk-UY65KX3M.js.map +0 -1
- package/dist/chunk-VHVQELWF.js.map +0 -1
- package/dist/chunk-X3O45MPI.js.map +0 -1
- package/dist/chunk-XYEMP4K7.js.map +0 -1
- package/dist/chunk-ZUT7ZUM7.js +0 -84
- package/dist/chunk-ZUT7ZUM7.js.map +0 -1
- package/dist/chunk-ZX2IBIZT.js.map +0 -1
- package/dist/design-system/stepper.d.ts +0 -42
- package/dist/design-system/stepper.d.ts.map +0 -1
- package/dist/ui/stepper/index.d.ts +0 -4
- package/dist/ui/stepper/index.d.ts.map +0 -1
- package/dist/ui/stepper/stepper.d.ts +0 -28
- package/dist/ui/stepper/stepper.d.ts.map +0 -1
- package/dist/ui/stepper/types.d.ts +0 -25
- package/dist/ui/stepper/types.d.ts.map +0 -1
- package/dist/ui/stepper/variants.d.ts +0 -11
- package/dist/ui/stepper/variants.d.ts.map +0 -1
- package/dist/ui/stepper.js +0 -216
- package/dist/ui/stepper.js.map +0 -1
- package/dist/ui/stepper.mjs +0 -207
- package/dist/ui/stepper.mjs.map +0 -1
- package/src/design-system/stepper.ts +0 -66
- package/src/ui/stepper/index.ts +0 -22
- package/src/ui/stepper/stepper.test.tsx +0 -190
- package/src/ui/stepper/stepper.tsx +0 -171
- package/src/ui/stepper/types.ts +0 -38
- package/src/ui/stepper/variants.ts +0 -40
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/ui/radio-group/radio-group.tsx"],"names":["useId","useState","useCallback","jsx","RadioGroupContext","cn","radioGroupRootVariants","useRadioGroupContext","jsxs","radioGroupItemVariants","radioGroupControlVariants","radioGroupIndicatorVariants"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../src/ui/radio-group/radio-group.tsx"],"names":["useId","useState","useCallback","jsx","RadioGroupContext","cn","radioGroupRootVariants","useRadioGroupContext","jsxs","radioGroupItemVariants","radioGroupControlVariants","radioGroupIndicatorVariants"],"mappings":"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","file":"radio-group.js","sourcesContent":["\"use client\";\n\nimport { useCallback, useId, useState } from \"react\";\n\nimport { cn } from \"../../lib/utils\";\n\nimport { RadioGroupContext, useRadioGroupContext } from \"./radio-group-context\";\nimport type { RadioGroupItemProps, RadioGroupProps } from \"./types\";\nimport {\n radioGroupControlVariants,\n radioGroupIndicatorVariants,\n radioGroupItemVariants,\n radioGroupRootVariants,\n} from \"./variants\";\n\nexport function RadioGroup(props: RadioGroupProps) {\n const {\n className,\n value,\n defaultValue,\n name,\n disabled,\n required,\n onValueChange,\n orientation,\n appearance,\n size,\n children,\n ref,\n ...rest\n } = props;\n const generatedName = useId();\n const isControlled = value !== undefined;\n const [uncontrolled, setUncontrolled] = useState(defaultValue);\n const resolvedValue = isControlled ? value : uncontrolled;\n\n const setValue = useCallback(\n (next: string) => {\n if (!isControlled) {\n setUncontrolled(next);\n }\n onValueChange?.(next);\n },\n [isControlled, onValueChange],\n );\n\n return (\n <RadioGroupContext.Provider\n value={{\n value: resolvedValue,\n name: name ?? generatedName,\n disabled,\n required,\n appearance: appearance ?? undefined,\n size: size ?? undefined,\n onValueChange: setValue,\n }}\n >\n <div\n ref={ref}\n role=\"radiogroup\"\n data-slot=\"radio-group\"\n data-orientation={orientation ?? \"vertical\"}\n className={cn(radioGroupRootVariants({ orientation }), className)}\n {...rest}\n >\n {children}\n </div>\n </RadioGroupContext.Provider>\n );\n}\n\nRadioGroup.displayName = \"RadioGroup\";\n\nexport function RadioGroupItem(props: RadioGroupItemProps) {\n const {\n className,\n rootClassName,\n controlClassName,\n indicatorClassName,\n value,\n appearance: appearanceProp,\n size: sizeProp,\n disabled: disabledProp,\n required: requiredProp,\n children,\n label,\n id,\n ref,\n \"aria-label\": ariaLabel,\n ...rest\n } = props;\n const generatedId = useId();\n const context = useRadioGroupContext();\n const controlId = id ?? generatedId;\n const checked = context?.value === value;\n const disabled = disabledProp ?? context?.disabled;\n const required = requiredProp ?? context?.required;\n const appearance = appearanceProp ?? context?.appearance;\n const size = sizeProp ?? context?.size;\n const labelContent = label ?? children;\n const hasVisibleLabel =\n labelContent !== undefined &&\n labelContent !== null &&\n labelContent !== false;\n\n return (\n <label\n className={cn(radioGroupItemVariants({ size }), rootClassName, className)}\n data-disabled={disabled ? \"true\" : undefined}\n data-state={checked ? \"checked\" : \"unchecked\"}\n htmlFor={controlId}\n >\n <input\n ref={ref}\n id={controlId}\n type=\"radio\"\n data-slot=\"radio-group-item\"\n className=\"peer sr-only\"\n name={context?.name}\n value={value}\n checked={checked}\n disabled={disabled}\n required={required}\n aria-label={ariaLabel ?? (hasVisibleLabel ? undefined : value)}\n onChange={(event) => {\n if (event.currentTarget.checked) {\n context?.onValueChange(value);\n }\n }}\n {...rest}\n />\n <span\n aria-hidden=\"true\"\n className={cn(\n radioGroupControlVariants({ appearance, size }),\n controlClassName,\n )}\n data-slot=\"radio-group-control\"\n >\n <span\n className={cn(\n radioGroupIndicatorVariants({ size }),\n indicatorClassName,\n )}\n data-slot=\"radio-group-indicator\"\n />\n </span>\n {hasVisibleLabel && (\n <span className=\"min-w-0 leading-6\" data-slot=\"radio-group-label\">\n {labelContent}\n </span>\n )}\n </label>\n );\n}\n\nRadioGroupItem.displayName = \"RadioGroupItem\";\n"]}
|
package/dist/ui/radio-group.mjs
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import { RadioGroupContext, radioGroupRootVariants, useRadioGroupContext, radioGroupIndicatorVariants, radioGroupControlVariants, radioGroupItemVariants } from '../chunk-
|
|
3
|
-
export { radioGroupControlVariants, radioGroupIndicatorVariants, radioGroupItemVariants, radioGroupRootVariants } from '../chunk-
|
|
2
|
+
import { RadioGroupContext, radioGroupRootVariants, useRadioGroupContext, radioGroupIndicatorVariants, radioGroupControlVariants, radioGroupItemVariants } from '../chunk-QIUVXTLE.mjs';
|
|
3
|
+
export { radioGroupControlVariants, radioGroupIndicatorVariants, radioGroupItemVariants, radioGroupRootVariants } from '../chunk-QIUVXTLE.mjs';
|
|
4
|
+
import '../chunk-YDKAE7RM.mjs';
|
|
4
5
|
import { cn } from '../chunk-4D54YOL6.mjs';
|
|
6
|
+
import '../chunk-J5LGTIGS.mjs';
|
|
5
7
|
import { useId, useState, useCallback } from 'react';
|
|
6
8
|
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
7
9
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/ui/radio-group/radio-group.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../src/ui/radio-group/radio-group.tsx"],"names":[],"mappings":"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","file":"radio-group.mjs","sourcesContent":["\"use client\";\n\nimport { useCallback, useId, useState } from \"react\";\n\nimport { cn } from \"../../lib/utils\";\n\nimport { RadioGroupContext, useRadioGroupContext } from \"./radio-group-context\";\nimport type { RadioGroupItemProps, RadioGroupProps } from \"./types\";\nimport {\n radioGroupControlVariants,\n radioGroupIndicatorVariants,\n radioGroupItemVariants,\n radioGroupRootVariants,\n} from \"./variants\";\n\nexport function RadioGroup(props: RadioGroupProps) {\n const {\n className,\n value,\n defaultValue,\n name,\n disabled,\n required,\n onValueChange,\n orientation,\n appearance,\n size,\n children,\n ref,\n ...rest\n } = props;\n const generatedName = useId();\n const isControlled = value !== undefined;\n const [uncontrolled, setUncontrolled] = useState(defaultValue);\n const resolvedValue = isControlled ? value : uncontrolled;\n\n const setValue = useCallback(\n (next: string) => {\n if (!isControlled) {\n setUncontrolled(next);\n }\n onValueChange?.(next);\n },\n [isControlled, onValueChange],\n );\n\n return (\n <RadioGroupContext.Provider\n value={{\n value: resolvedValue,\n name: name ?? generatedName,\n disabled,\n required,\n appearance: appearance ?? undefined,\n size: size ?? undefined,\n onValueChange: setValue,\n }}\n >\n <div\n ref={ref}\n role=\"radiogroup\"\n data-slot=\"radio-group\"\n data-orientation={orientation ?? \"vertical\"}\n className={cn(radioGroupRootVariants({ orientation }), className)}\n {...rest}\n >\n {children}\n </div>\n </RadioGroupContext.Provider>\n );\n}\n\nRadioGroup.displayName = \"RadioGroup\";\n\nexport function RadioGroupItem(props: RadioGroupItemProps) {\n const {\n className,\n rootClassName,\n controlClassName,\n indicatorClassName,\n value,\n appearance: appearanceProp,\n size: sizeProp,\n disabled: disabledProp,\n required: requiredProp,\n children,\n label,\n id,\n ref,\n \"aria-label\": ariaLabel,\n ...rest\n } = props;\n const generatedId = useId();\n const context = useRadioGroupContext();\n const controlId = id ?? generatedId;\n const checked = context?.value === value;\n const disabled = disabledProp ?? context?.disabled;\n const required = requiredProp ?? context?.required;\n const appearance = appearanceProp ?? context?.appearance;\n const size = sizeProp ?? context?.size;\n const labelContent = label ?? children;\n const hasVisibleLabel =\n labelContent !== undefined &&\n labelContent !== null &&\n labelContent !== false;\n\n return (\n <label\n className={cn(radioGroupItemVariants({ size }), rootClassName, className)}\n data-disabled={disabled ? \"true\" : undefined}\n data-state={checked ? \"checked\" : \"unchecked\"}\n htmlFor={controlId}\n >\n <input\n ref={ref}\n id={controlId}\n type=\"radio\"\n data-slot=\"radio-group-item\"\n className=\"peer sr-only\"\n name={context?.name}\n value={value}\n checked={checked}\n disabled={disabled}\n required={required}\n aria-label={ariaLabel ?? (hasVisibleLabel ? undefined : value)}\n onChange={(event) => {\n if (event.currentTarget.checked) {\n context?.onValueChange(value);\n }\n }}\n {...rest}\n />\n <span\n aria-hidden=\"true\"\n className={cn(\n radioGroupControlVariants({ appearance, size }),\n controlClassName,\n )}\n data-slot=\"radio-group-control\"\n >\n <span\n className={cn(\n radioGroupIndicatorVariants({ size }),\n indicatorClassName,\n )}\n data-slot=\"radio-group-indicator\"\n />\n </span>\n {hasVisibleLabel && (\n <span className=\"min-w-0 leading-6\" data-slot=\"radio-group-label\">\n {labelContent}\n </span>\n )}\n </label>\n );\n}\n\nRadioGroupItem.displayName = \"RadioGroupItem\";\n"]}
|
|
@@ -2,6 +2,6 @@ export declare const ratingItemVariants: (props?: ({
|
|
|
2
2
|
size?: "md" | "sm" | "lg" | null | undefined;
|
|
3
3
|
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
4
4
|
export declare const ratingIconVariants: (props?: ({
|
|
5
|
-
appearance?: "outline" | "default" | "glass" | "sky" | "emerald" | "violet" | "amber" | "rose" | "gray" | "indigo" | "orange" | "pink" | "purple" | "teal" | "yellow" | "gradient-blue" | "gradient-green" | "gradient-red" | "gradient-yellow" | "gradient-purple" | "gradient-teal" | "gradient-indigo" | "gradient-pink" | "gradient-orange" | "secondary" | "destructive" | "ghost" | null | undefined;
|
|
5
|
+
appearance?: "ruby" | "outline" | "default" | "glass" | "sky" | "emerald" | "violet" | "amber" | "rose" | "slate" | "gray" | "indigo" | "cyan" | "aqua" | "blue" | "crimson" | "green" | "lavender" | "lime" | "magenta" | "orange" | "pink" | "plum" | "purple" | "red" | "teal" | "yellow" | "gradient-blue" | "gradient-green" | "gradient-red" | "gradient-yellow" | "gradient-purple" | "gradient-teal" | "gradient-indigo" | "gradient-pink" | "gradient-orange" | "secondary" | "destructive" | "ghost" | "mint" | "ocean" | "sapphire" | "zinc" | "stone" | "royal" | "electric" | "forest" | "sunset" | null | undefined;
|
|
6
6
|
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
7
7
|
//# sourceMappingURL=variants.d.ts.map
|
package/dist/ui/rating.js
CHANGED
|
@@ -1,66 +1,25 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
'use strict';
|
|
3
3
|
|
|
4
|
+
var chunkFXDHDQTH_js = require('../chunk-FXDHDQTH.js');
|
|
4
5
|
var chunkZS5756ZC_js = require('../chunk-ZS5756ZC.js');
|
|
6
|
+
require('../chunk-PZ5AY32C.js');
|
|
5
7
|
var react = require('react');
|
|
6
8
|
var fa = require('react-icons/fa');
|
|
7
9
|
var classVarianceAuthority = require('class-variance-authority');
|
|
8
10
|
var jsxRuntime = require('react/jsx-runtime');
|
|
9
11
|
|
|
10
|
-
|
|
11
|
-
var zuiRatingRootBase = "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";
|
|
12
|
-
var zuiRatingLabelBase = "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))]";
|
|
13
|
-
var zuiRatingHintBase = "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))]";
|
|
14
|
-
var zuiRatingGroupBase = "flex w-fit flex-wrap items-center gap-[var(--zui-rating-gap,0.25rem)]";
|
|
15
|
-
var zuiRatingItemBase = "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))]";
|
|
16
|
-
var zuiRatingIconBase = "pointer-events-none col-start-1 row-start-1 transition-[clip-path,color,transform] duration-200 ease-out";
|
|
17
|
-
var zuiRatingControlBase = "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))]";
|
|
18
|
-
var zuiRatingErrorBase = "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))]";
|
|
19
|
-
var zuiRatingSizes = {
|
|
20
|
-
sm: "size-5 text-lg",
|
|
21
|
-
md: "size-7 text-2xl",
|
|
22
|
-
lg: "size-9 text-3xl"
|
|
23
|
-
};
|
|
24
|
-
var zuiRatingAppearances = {
|
|
25
|
-
default: "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))]",
|
|
26
|
-
secondary: "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))]",
|
|
27
|
-
destructive: "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))]",
|
|
28
|
-
outline: "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))]",
|
|
29
|
-
ghost: "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))]",
|
|
30
|
-
glass: "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))]",
|
|
31
|
-
emerald: "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))]",
|
|
32
|
-
indigo: "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))]",
|
|
33
|
-
purple: "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))]",
|
|
34
|
-
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))]",
|
|
35
|
-
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))]",
|
|
36
|
-
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))]",
|
|
37
|
-
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))]",
|
|
38
|
-
yellow: "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))]",
|
|
39
|
-
orange: "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))]",
|
|
40
|
-
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))]",
|
|
41
|
-
amber: "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))]",
|
|
42
|
-
violet: "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))]",
|
|
43
|
-
"gradient-blue": "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))]",
|
|
44
|
-
"gradient-green": "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))]",
|
|
45
|
-
"gradient-red": "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))]",
|
|
46
|
-
"gradient-yellow": "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))]",
|
|
47
|
-
"gradient-purple": "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))]",
|
|
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
|
-
"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
|
-
"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))]"
|
|
52
|
-
};
|
|
53
|
-
var ratingItemVariants = classVarianceAuthority.cva(zuiRatingItemBase, {
|
|
12
|
+
var ratingItemVariants = classVarianceAuthority.cva(chunkFXDHDQTH_js.zuiRatingItemBase, {
|
|
54
13
|
variants: {
|
|
55
|
-
size: zuiRatingSizes
|
|
14
|
+
size: chunkFXDHDQTH_js.zuiRatingSizes
|
|
56
15
|
},
|
|
57
16
|
defaultVariants: {
|
|
58
17
|
size: "md"
|
|
59
18
|
}
|
|
60
19
|
});
|
|
61
|
-
var ratingIconVariants = classVarianceAuthority.cva(zuiRatingIconBase, {
|
|
20
|
+
var ratingIconVariants = classVarianceAuthority.cva(chunkFXDHDQTH_js.zuiRatingIconBase, {
|
|
62
21
|
variants: {
|
|
63
|
-
appearance: zuiRatingAppearances
|
|
22
|
+
appearance: chunkFXDHDQTH_js.zuiRatingAppearances
|
|
64
23
|
},
|
|
65
24
|
defaultVariants: {
|
|
66
25
|
appearance: "amber"
|
|
@@ -208,14 +167,14 @@ function Rating(props) {
|
|
|
208
167
|
{
|
|
209
168
|
ref,
|
|
210
169
|
id: rootId,
|
|
211
|
-
className: chunkZS5756ZC_js.cn(zuiRatingRootBase, className),
|
|
170
|
+
className: chunkZS5756ZC_js.cn(chunkFXDHDQTH_js.zuiRatingRootBase, className),
|
|
212
171
|
"data-disabled": disabled ? "true" : void 0,
|
|
213
172
|
"data-readonly": readOnly ? "true" : void 0,
|
|
214
173
|
"data-slot": "rating",
|
|
215
174
|
...rest,
|
|
216
175
|
children: [
|
|
217
|
-
label !== void 0 && /* @__PURE__ */ jsxRuntime.jsx("p", { id: labelId, className: zuiRatingLabelBase, children: label }),
|
|
218
|
-
hint !== void 0 && /* @__PURE__ */ jsxRuntime.jsx("p", { id: hintId, className: zuiRatingHintBase, children: hint }),
|
|
176
|
+
label !== void 0 && /* @__PURE__ */ jsxRuntime.jsx("p", { id: labelId, className: chunkFXDHDQTH_js.zuiRatingLabelBase, children: label }),
|
|
177
|
+
hint !== void 0 && /* @__PURE__ */ jsxRuntime.jsx("p", { id: hintId, className: chunkFXDHDQTH_js.zuiRatingHintBase, children: hint }),
|
|
219
178
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
220
179
|
"div",
|
|
221
180
|
{
|
|
@@ -223,7 +182,7 @@ function Rating(props) {
|
|
|
223
182
|
"aria-invalid": errorMessage !== void 0 ? true : void 0,
|
|
224
183
|
"aria-labelledby": label !== void 0 ? labelId : void 0,
|
|
225
184
|
"aria-label": label === void 0 ? "Rating" : void 0,
|
|
226
|
-
className: zuiRatingGroupBase,
|
|
185
|
+
className: chunkFXDHDQTH_js.zuiRatingGroupBase,
|
|
227
186
|
"data-slot": "rating-group",
|
|
228
187
|
onPointerLeave: () => setHoverValue(void 0),
|
|
229
188
|
role: "radiogroup",
|
|
@@ -267,7 +226,7 @@ function Rating(props) {
|
|
|
267
226
|
"aria-checked": resolvedValue === optionValue,
|
|
268
227
|
"aria-label": getLabel(optionValue, resolvedMax),
|
|
269
228
|
className: chunkZS5756ZC_js.cn(
|
|
270
|
-
zuiRatingControlBase,
|
|
229
|
+
chunkFXDHDQTH_js.zuiRatingControlBase,
|
|
271
230
|
allowHalf ? optionIndex === 0 ? "left-0 w-1/2" : "right-0 w-1/2" : "inset-x-0"
|
|
272
231
|
),
|
|
273
232
|
"data-slot": "rating-control",
|
|
@@ -305,7 +264,7 @@ function Rating(props) {
|
|
|
305
264
|
disabled
|
|
306
265
|
}
|
|
307
266
|
),
|
|
308
|
-
errorMessage !== void 0 && /* @__PURE__ */ jsxRuntime.jsx("p", { id: errorId, className: zuiRatingErrorBase, children: errorMessage })
|
|
267
|
+
errorMessage !== void 0 && /* @__PURE__ */ jsxRuntime.jsx("p", { id: errorId, className: chunkFXDHDQTH_js.zuiRatingErrorBase, children: errorMessage })
|
|
309
268
|
]
|
|
310
269
|
}
|
|
311
270
|
);
|
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/ui/rating/variants.ts","../../src/ui/rating/rating.tsx"],"names":["cva","zuiRatingItemBase","zuiRatingSizes","zuiRatingIconBase","zuiRatingAppearances","FaStar","FaHeart","FaFire","FaThumbsUp","useId","useState","useCallback","jsxs","cn","zuiRatingRootBase","jsx","zuiRatingLabelBase","zuiRatingHintBase","zuiRatingGroupBase","zuiRatingControlBase","zuiRatingErrorBase"],"mappings":";;;;;;;;;;AASO,IAAM,kBAAA,GAAqBA,2BAAIC,kCAAA,EAAmB;AAAA,EACvD,QAAA,EAAU;AAAA,IACR,IAAA,EAAMC;AAAA,GACR;AAAA,EACA,eAAA,EAAiB;AAAA,IACf,IAAA,EAAM;AAAA;AAEV,CAAC;AAEM,IAAM,kBAAA,GAAqBF,2BAAIG,kCAAA,EAAmB;AAAA,EACvD,QAAA,EAAU;AAAA,IACR,UAAA,EAAYC;AAAA,GACd;AAAA,EACA,eAAA,EAAiB;AAAA,IACf,UAAA,EAAY;AAAA;AAEhB,CAAC;ACAD,IAAM,YAAA,GAAmD;AAAA,EACvD,IAAA,EAAMC,SAAA;AAAA,EACN,KAAA,EAAOC,UAAA;AAAA,EACP,KAAA,EAAOC,SAAA;AAAA,EACP,KAAA,EAAOC;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,cAAcC,WAAA,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,GAAIC,cAAA;AAAA,IAAS,MACzD,cAAA,CAAe,YAAA,EAAc,WAAA,EAAa,SAAS;AAAA,GACrD;AACA,EAAA,MAAM,CAAC,UAAA,EAAY,aAAa,CAAA,GAAIA,cAAA,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,GAAcC,iBAAA;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,GAAgBA,iBAAA;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,uBACEC,eAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,GAAA;AAAA,MACA,EAAA,EAAI,MAAA;AAAA,MACJ,SAAA,EAAWC,mBAAA,CAAGC,kCAAA,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,0BACTC,cAAA,CAAC,GAAA,EAAA,EAAE,IAAI,OAAA,EAAS,SAAA,EAAWC,qCACxB,QAAA,EAAA,KAAA,EACH,CAAA;AAAA,QAED,IAAA,KAAS,0BACRD,cAAA,CAAC,GAAA,EAAA,EAAE,IAAI,MAAA,EAAQ,SAAA,EAAWE,oCACvB,QAAA,EAAA,IAAA,EACH,CAAA;AAAA,wBAEFF,cAAA;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,EAAWG,mCAAA;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,uBACEN,eAAA;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,oCAAAG,cAAA;AAAA,sBAAC,IAAA;AAAA,sBAAA;AAAA,wBACC,aAAA,EAAY,MAAA;AAAA,wBACZ,SAAA,EAAWF,mBAAA,CAAG,yBAAA,EAA2B,aAAa;AAAA;AAAA,qBACxD;AAAA,oCACAE,cAAA;AAAA,sBAAC,IAAA;AAAA,sBAAA;AAAA,wBACC,aAAA,EAAY,MAAA;AAAA,wBACZ,SAAA,EAAWF,mBAAA;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,qBAC7BE,cAAA;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,EAAWF,mBAAA;AAAA,0BACTM,qCAAA;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,oBACRJ,cAAA;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,0BAChBA,cAAA,CAAC,GAAA,EAAA,EAAE,IAAI,OAAA,EAAS,SAAA,EAAWK,qCACxB,QAAA,EAAA,YAAA,EACH;AAAA;AAAA;AAAA,GAEJ;AAEJ;AAEA,MAAA,CAAO,WAAA,GAAc,QAAA","file":"rating.js","sourcesContent":["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
|
@@ -1,53 +1,12 @@
|
|
|
1
1
|
"use client";
|
|
2
|
+
import { zuiRatingItemBase, zuiRatingSizes, zuiRatingIconBase, zuiRatingAppearances, zuiRatingLabelBase, zuiRatingHintBase, zuiRatingGroupBase, zuiRatingControlBase, zuiRatingErrorBase, zuiRatingRootBase } from '../chunk-N2RUT33F.mjs';
|
|
2
3
|
import { cn } from '../chunk-4D54YOL6.mjs';
|
|
4
|
+
import '../chunk-J5LGTIGS.mjs';
|
|
3
5
|
import { useId, useState, useCallback } from 'react';
|
|
4
6
|
import { FaStar, FaThumbsUp, FaFire, FaHeart } from 'react-icons/fa';
|
|
5
7
|
import { cva } from 'class-variance-authority';
|
|
6
8
|
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
7
9
|
|
|
8
|
-
// src/design-system/rating.ts
|
|
9
|
-
var zuiRatingRootBase = "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";
|
|
10
|
-
var zuiRatingLabelBase = "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))]";
|
|
11
|
-
var zuiRatingHintBase = "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))]";
|
|
12
|
-
var zuiRatingGroupBase = "flex w-fit flex-wrap items-center gap-[var(--zui-rating-gap,0.25rem)]";
|
|
13
|
-
var zuiRatingItemBase = "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))]";
|
|
14
|
-
var zuiRatingIconBase = "pointer-events-none col-start-1 row-start-1 transition-[clip-path,color,transform] duration-200 ease-out";
|
|
15
|
-
var zuiRatingControlBase = "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))]";
|
|
16
|
-
var zuiRatingErrorBase = "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))]";
|
|
17
|
-
var zuiRatingSizes = {
|
|
18
|
-
sm: "size-5 text-lg",
|
|
19
|
-
md: "size-7 text-2xl",
|
|
20
|
-
lg: "size-9 text-3xl"
|
|
21
|
-
};
|
|
22
|
-
var zuiRatingAppearances = {
|
|
23
|
-
default: "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))]",
|
|
24
|
-
secondary: "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))]",
|
|
25
|
-
destructive: "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))]",
|
|
26
|
-
outline: "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))]",
|
|
27
|
-
ghost: "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))]",
|
|
28
|
-
glass: "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))]",
|
|
29
|
-
emerald: "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))]",
|
|
30
|
-
indigo: "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))]",
|
|
31
|
-
purple: "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))]",
|
|
32
|
-
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))]",
|
|
33
|
-
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))]",
|
|
34
|
-
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))]",
|
|
35
|
-
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))]",
|
|
36
|
-
yellow: "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))]",
|
|
37
|
-
orange: "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))]",
|
|
38
|
-
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))]",
|
|
39
|
-
amber: "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))]",
|
|
40
|
-
violet: "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))]",
|
|
41
|
-
"gradient-blue": "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))]",
|
|
42
|
-
"gradient-green": "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))]",
|
|
43
|
-
"gradient-red": "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))]",
|
|
44
|
-
"gradient-yellow": "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))]",
|
|
45
|
-
"gradient-purple": "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))]",
|
|
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
|
-
"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
|
-
"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))]"
|
|
50
|
-
};
|
|
51
10
|
var ratingItemVariants = cva(zuiRatingItemBase, {
|
|
52
11
|
variants: {
|
|
53
12
|
size: zuiRatingSizes
|
package/dist/ui/rating.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/design-system/rating.ts","../../src/ui/rating/variants.ts","../../src/ui/rating/rating.tsx"],"names":[],"mappings":"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","file":"rating.mjs","sourcesContent":["export const zuiRatingRootBase =\n \"grid w-fit gap-2 text-[color:var(--zui-rating-label-fg,oklch(20.8%_0.042_265.755))] dark:text-[color:var(--zui-rating-label-fg-dark,oklch(98.4%_0.003_247.858))] data-[disabled=true]:cursor-not-allowed data-[disabled=true]:opacity-50\";\n\nexport const zuiRatingLabelBase =\n \"text-sm font-medium leading-6 text-[color:var(--zui-rating-label-fg,oklch(20.8%_0.042_265.755))] dark:text-[color:var(--zui-rating-label-fg-dark,oklch(98.4%_0.003_247.858))]\";\n\nexport const zuiRatingHintBase =\n \"max-w-sm text-xs leading-5 text-[color:var(--zui-rating-hint-fg,oklch(55.4%_0.046_257.417))] dark:text-[color:var(--zui-rating-hint-fg-dark,oklch(70.4%_0.04_256.788))]\";\n\nexport const zuiRatingGroupBase =\n \"flex w-fit flex-wrap items-center gap-[var(--zui-rating-gap,0.25rem)]\";\n\nexport const zuiRatingItemBase =\n \"relative inline-grid shrink-0 place-items-center text-[color:var(--zui-rating-empty,oklch(86.9%_0.022_252.894))] transition-transform duration-200 data-[interactive=true]:hover:-translate-y-0.5 dark:text-[color:var(--zui-rating-empty-dark,oklch(37.2%_0.044_257.287))]\";\n\nexport const zuiRatingIconBase =\n \"pointer-events-none col-start-1 row-start-1 transition-[clip-path,color,transform] duration-200 ease-out\";\n\nexport const zuiRatingControlBase =\n \"absolute inset-y-0 z-[1] cursor-pointer rounded-md bg-transparent outline-none transition-shadow focus-visible:ring-2 focus-visible:ring-[var(--zui-rating-ring-focus,oklch(54.6%_0.245_262.881_/_0.32))] focus-visible:ring-offset-2 focus-visible:ring-offset-[var(--zui-rating-ring-offset-focus,#ffffff)] disabled:cursor-not-allowed dark:focus-visible:ring-offset-[var(--zui-rating-ring-offset-focus-dark,oklch(12.9%_0.042_264.695))]\";\n\nexport const zuiRatingErrorBase =\n \"text-sm leading-6 text-[color:var(--zui-rating-error-fg,oklch(58.6%_0.253_17.585))] dark:text-[color:var(--zui-rating-error-fg-dark,oklch(71.2%_0.194_13.428))]\";\n\nexport const zuiRatingSizes = {\n sm: \"size-5 text-lg\",\n md: \"size-7 text-2xl\",\n lg: \"size-9 text-3xl\",\n} as const;\n\nexport const zuiRatingAppearances = {\n default:\n \"text-[color:var(--zui-rating-default-active,oklch(20.8%_0.042_265.755))] dark:text-[color:var(--zui-rating-default-active-dark,oklch(98.4%_0.003_247.858))]\",\n secondary:\n \"text-[color:var(--zui-rating-secondary-active,oklch(44.6%_0.043_257.281))] dark:text-[color:var(--zui-rating-secondary-active-dark,oklch(86.9%_0.022_252.894))]\",\n destructive:\n \"text-[color:var(--zui-rating-destructive-active,oklch(58.6%_0.253_17.585))] dark:text-[color:var(--zui-rating-destructive-active-dark,oklch(71.2%_0.194_13.428))]\",\n outline:\n \"text-[color:var(--zui-rating-outline-active,oklch(44.6%_0.043_257.281))] dark:text-[color:var(--zui-rating-outline-active-dark,oklch(86.9%_0.022_252.894))]\",\n ghost:\n \"text-[color:var(--zui-rating-ghost-active,oklch(37.2%_0.044_257.287))] dark:text-[color:var(--zui-rating-ghost-active-dark,oklch(92.9%_0.013_255.508))]\",\n glass:\n \"text-[color:var(--zui-rating-glass-active,oklch(54.6%_0.245_262.881))] drop-shadow-[0_2px_12px_rgba(59,130,246,0.25)] dark:text-[color:var(--zui-rating-glass-active-dark,oklch(78.9%_0.154_211.53))]\",\n emerald:\n \"text-[color:var(--zui-rating-emerald-active,oklch(59.6%_0.145_163.225))] dark:text-[color:var(--zui-rating-emerald-active-dark,oklch(77.7%_0.152_181.912))]\",\n indigo:\n \"text-[color:var(--zui-rating-indigo-active,oklch(51.1%_0.262_276.966))] dark:text-[color:var(--zui-rating-indigo-active-dark,oklch(67.3%_0.182_276.935))]\",\n purple:\n \"text-[color:var(--zui-rating-purple-active,oklch(55.8%_0.288_302.321))] dark:text-[color:var(--zui-rating-purple-active-dark,oklch(71.4%_0.203_305.504))]\",\n pink: \"text-[color:var(--zui-rating-pink-active,oklch(59.2%_0.249_0.584))] dark:text-[color:var(--zui-rating-pink-active-dark,oklch(71.8%_0.202_349.761))]\",\n rose: \"text-[color:var(--zui-rating-rose-active,oklch(58.6%_0.253_17.585))] dark:text-[color:var(--zui-rating-rose-active-dark,oklch(71.2%_0.194_13.428))]\",\n sky: \"text-[color:var(--zui-rating-sky-active,oklch(62.3%_0.214_259.815))] dark:text-[color:var(--zui-rating-sky-active-dark,oklch(74.6%_0.16_232.661))]\",\n teal: \"text-[color:var(--zui-rating-teal-active,oklch(60%_0.118_184.704))] dark:text-[color:var(--zui-rating-teal-active-dark,oklch(77.7%_0.152_181.912))]\",\n yellow:\n \"text-[color:var(--zui-rating-yellow-active,oklch(79.5%_0.184_86.047))] dark:text-[color:var(--zui-rating-yellow-active-dark,oklch(85.2%_0.199_91.936))]\",\n orange:\n \"text-[color:var(--zui-rating-orange-active,oklch(64.6%_0.222_41.116))] dark:text-[color:var(--zui-rating-orange-active-dark,oklch(75%_0.183_55.934))]\",\n gray: \"text-[color:var(--zui-rating-gray-active,oklch(55.1%_0.027_264.364))] dark:text-[color:var(--zui-rating-gray-active-dark,oklch(70.7%_0.022_261.325))]\",\n amber:\n \"text-[color:var(--zui-rating-amber-active,oklch(76.9%_0.188_70.08))] dark:text-[color:var(--zui-rating-amber-active-dark,oklch(82.8%_0.189_84.429))]\",\n violet:\n \"text-[color:var(--zui-rating-violet-active,oklch(54.1%_0.281_293.009))] dark:text-[color:var(--zui-rating-violet-active-dark,oklch(70.2%_0.183_293.541))]\",\n \"gradient-blue\":\n \"text-[color:var(--zui-rating-gradient-blue-active,oklch(54.6%_0.245_262.881))] drop-shadow-[0_2px_12px_rgba(37,99,235,0.28)] dark:text-[color:var(--zui-rating-gradient-blue-active-dark,oklch(70.7%_0.165_254.624))]\",\n \"gradient-green\":\n \"text-[color:var(--zui-rating-gradient-green-active,oklch(62.7%_0.194_149.214))] drop-shadow-[0_2px_12px_rgba(22,163,74,0.24)] dark:text-[color:var(--zui-rating-gradient-green-active-dark,oklch(79.2%_0.209_151.711))]\",\n \"gradient-red\":\n \"text-[color:var(--zui-rating-gradient-red-active,oklch(57.7%_0.245_27.325))] drop-shadow-[0_2px_12px_rgba(220,38,38,0.24)] dark:text-[color:var(--zui-rating-gradient-red-active-dark,oklch(70.4%_0.191_22.216))]\",\n \"gradient-yellow\":\n \"text-[color:var(--zui-rating-gradient-yellow-active,oklch(79.5%_0.184_86.047))] drop-shadow-[0_2px_12px_rgba(234,179,8,0.24)] dark:text-[color:var(--zui-rating-gradient-yellow-active-dark,oklch(85.2%_0.199_91.936))]\",\n \"gradient-purple\":\n \"text-[color:var(--zui-rating-gradient-purple-active,oklch(62.7%_0.265_303.9))] drop-shadow-[0_2px_12px_rgba(147,51,234,0.24)] dark:text-[color:var(--zui-rating-gradient-purple-active-dark,oklch(71.4%_0.203_305.504))]\",\n \"gradient-teal\":\n \"text-[color:var(--zui-rating-gradient-teal-active,oklch(60%_0.118_184.704))] drop-shadow-[0_2px_12px_rgba(13,148,136,0.24)] dark:text-[color:var(--zui-rating-gradient-teal-active-dark,oklch(77.7%_0.152_181.912))]\",\n \"gradient-indigo\":\n \"text-[color:var(--zui-rating-gradient-indigo-active,oklch(51.1%_0.262_276.966))] drop-shadow-[0_2px_12px_rgba(79,70,229,0.24)] dark:text-[color:var(--zui-rating-gradient-indigo-active-dark,oklch(67.3%_0.182_276.935))]\",\n \"gradient-pink\":\n \"text-[color:var(--zui-rating-gradient-pink-active,oklch(59.2%_0.249_0.584))] drop-shadow-[0_2px_12px_rgba(219,39,119,0.24)] dark:text-[color:var(--zui-rating-gradient-pink-active-dark,oklch(71.8%_0.202_349.761))]\",\n \"gradient-orange\":\n \"text-[color:var(--zui-rating-gradient-orange-active,oklch(64.6%_0.222_41.116))] drop-shadow-[0_2px_12px_rgba(234,88,12,0.24)] dark:text-[color:var(--zui-rating-gradient-orange-active-dark,oklch(75%_0.183_55.934))]\",\n} as const;\n","import { cva } from \"class-variance-authority\";\n\nimport {\n zuiRatingAppearances,\n zuiRatingIconBase,\n zuiRatingItemBase,\n zuiRatingSizes,\n} from \"../../design-system/rating\";\n\nexport const ratingItemVariants = cva(zuiRatingItemBase, {\n variants: {\n size: zuiRatingSizes,\n },\n defaultVariants: {\n size: \"md\",\n },\n});\n\nexport const ratingIconVariants = cva(zuiRatingIconBase, {\n variants: {\n appearance: zuiRatingAppearances,\n },\n defaultVariants: {\n appearance: \"amber\",\n },\n});\n","\"use client\";\n\nimport {\n type CSSProperties,\n type KeyboardEvent,\n useCallback,\n useId,\n useState,\n} from \"react\";\nimport { FaFire, FaHeart, FaStar, FaThumbsUp } from \"react-icons/fa\";\nimport type { IconType } from \"react-icons\";\n\nimport {\n zuiRatingControlBase,\n zuiRatingErrorBase,\n zuiRatingGroupBase,\n zuiRatingHintBase,\n zuiRatingLabelBase,\n zuiRatingRootBase,\n} from \"../../design-system/rating\";\nimport { cn } from \"../../lib/utils\";\n\nimport type { RatingPresetIcon, RatingProps } from \"./types\";\nimport { ratingIconVariants, ratingItemVariants } from \"./variants\";\n\nconst PRESET_ICONS: Record<RatingPresetIcon, IconType> = {\n star: FaStar,\n heart: FaHeart,\n flame: FaFire,\n thumb: FaThumbsUp,\n};\n\nfunction clamp(value: number, min: number, max: number): number {\n return Math.min(Math.max(value, min), max);\n}\n\nfunction normalizeMax(max: number | undefined): number {\n const resolved = Number.isFinite(max) ? Number(max) : 5;\n return Math.max(1, Math.min(10, Math.floor(resolved)));\n}\n\nfunction normalizeValue(\n value: number | undefined,\n max: number,\n allowHalf: boolean,\n): number {\n const resolved = Number.isFinite(value) ? Number(value) : 0;\n const step = allowHalf ? 0.5 : 1;\n return clamp(Math.round(resolved / step) * step, 0, max);\n}\n\nfunction defaultGetLabel(value: number, max: number): string {\n return `${value} of ${max}`;\n}\n\nfunction resolveIcon(icon: RatingProps[\"icon\"]): IconType {\n if (!icon) {\n return PRESET_ICONS.star;\n }\n\n if (typeof icon === \"string\") {\n return PRESET_ICONS[icon as RatingPresetIcon] ?? PRESET_ICONS.star;\n }\n\n return icon;\n}\n\nexport function Rating(props: RatingProps) {\n const {\n allowClear = false,\n allowHalf = false,\n appearance,\n className,\n defaultValue = 0,\n disabled,\n errorMessage,\n getLabel = defaultGetLabel,\n hint,\n icon,\n iconClassName,\n id,\n label,\n max = 5,\n name,\n onValueChange,\n readOnly,\n ref,\n size,\n value,\n ...rest\n } = props;\n\n const generatedId = useId();\n const rootId = id ?? generatedId;\n const resolvedMax = normalizeMax(max);\n const isControlled = value !== undefined;\n const [uncontrolledValue, setUncontrolledValue] = useState(() =>\n normalizeValue(defaultValue, resolvedMax, allowHalf),\n );\n const [hoverValue, setHoverValue] = useState<number | undefined>();\n const resolvedValue = normalizeValue(\n isControlled ? value : uncontrolledValue,\n resolvedMax,\n allowHalf,\n );\n const displayValue = hoverValue ?? resolvedValue;\n const Icon = resolveIcon(icon);\n const interactive = !disabled && !readOnly;\n const controlsDisabled = disabled || readOnly;\n const step = allowHalf ? 0.5 : 1;\n const labelId = `${rootId}-label`;\n const hintId = `${rootId}-hint`;\n const errorId = `${rootId}-error`;\n const describedBy = [\n hint !== undefined ? hintId : undefined,\n errorMessage !== undefined ? errorId : undefined,\n ]\n .filter(Boolean)\n .join(\" \");\n\n const commitValue = useCallback(\n (nextValue: number) => {\n const normalized = normalizeValue(nextValue, resolvedMax, allowHalf);\n const next = allowClear && normalized === resolvedValue ? 0 : normalized;\n\n if (!isControlled) {\n setUncontrolledValue(next);\n }\n onValueChange?.(next);\n },\n [\n allowClear,\n allowHalf,\n isControlled,\n onValueChange,\n resolvedMax,\n resolvedValue,\n ],\n );\n\n const handleKeyDown = useCallback(\n (event: KeyboardEvent<HTMLButtonElement>) => {\n if (!interactive) {\n return;\n }\n\n const root = event.currentTarget.closest('[data-slot=\"rating\"]');\n const focusValue = (nextValue: number) => {\n const control = root?.querySelector(\n `button[data-value=\"${nextValue}\"]`,\n ) as HTMLButtonElement | null;\n control?.focus();\n };\n\n if (event.key === \"ArrowRight\" || event.key === \"ArrowUp\") {\n event.preventDefault();\n const nextValue = clamp(resolvedValue + step, step, resolvedMax);\n commitValue(nextValue);\n focusValue(nextValue);\n return;\n }\n\n if (event.key === \"ArrowLeft\" || event.key === \"ArrowDown\") {\n event.preventDefault();\n const nextValue = clamp(resolvedValue - step, 0, resolvedMax);\n commitValue(nextValue);\n focusValue(nextValue === 0 ? step : nextValue);\n return;\n }\n\n if (event.key === \"Home\") {\n event.preventDefault();\n commitValue(step);\n focusValue(step);\n return;\n }\n\n if (event.key === \"End\") {\n event.preventDefault();\n commitValue(resolvedMax);\n focusValue(resolvedMax);\n }\n },\n [commitValue, interactive, resolvedMax, resolvedValue, step],\n );\n\n return (\n <div\n ref={ref}\n id={rootId}\n className={cn(zuiRatingRootBase, className)}\n data-disabled={disabled ? \"true\" : undefined}\n data-readonly={readOnly ? \"true\" : undefined}\n data-slot=\"rating\"\n {...rest}\n >\n {label !== undefined && (\n <p id={labelId} className={zuiRatingLabelBase}>\n {label}\n </p>\n )}\n {hint !== undefined && (\n <p id={hintId} className={zuiRatingHintBase}>\n {hint}\n </p>\n )}\n <div\n aria-describedby={describedBy || undefined}\n aria-invalid={errorMessage !== undefined ? true : undefined}\n aria-labelledby={label !== undefined ? labelId : undefined}\n aria-label={label === undefined ? \"Rating\" : undefined}\n className={zuiRatingGroupBase}\n data-slot=\"rating-group\"\n onPointerLeave={() => setHoverValue(undefined)}\n role=\"radiogroup\"\n >\n {Array.from({ length: resolvedMax }, (_, index) => {\n const fullValue = index + 1;\n const fillAmount = clamp(displayValue - index, 0, 1);\n const clipStyle = {\n clipPath: `inset(0 ${100 - fillAmount * 100}% 0 0)`,\n } satisfies CSSProperties;\n const itemOptions = allowHalf\n ? [fullValue - 0.5, fullValue]\n : [fullValue];\n\n return (\n <span\n key={fullValue}\n className={ratingItemVariants({ size })}\n data-interactive={interactive ? \"true\" : undefined}\n data-slot=\"rating-item\"\n >\n <Icon\n aria-hidden=\"true\"\n className={cn(\"col-start-1 row-start-1\", iconClassName)}\n />\n <Icon\n aria-hidden=\"true\"\n className={cn(\n ratingIconVariants({ appearance }),\n iconClassName,\n )}\n data-slot=\"rating-icon-fill\"\n style={clipStyle}\n />\n {itemOptions.map((optionValue, optionIndex) => (\n <button\n key={optionValue}\n type=\"button\"\n aria-checked={resolvedValue === optionValue}\n aria-label={getLabel(optionValue, resolvedMax)}\n className={cn(\n zuiRatingControlBase,\n allowHalf\n ? optionIndex === 0\n ? \"left-0 w-1/2\"\n : \"right-0 w-1/2\"\n : \"inset-x-0\",\n )}\n data-slot=\"rating-control\"\n data-value={optionValue}\n disabled={controlsDisabled}\n onClick={() => {\n if (interactive) {\n commitValue(optionValue);\n }\n }}\n onKeyDown={handleKeyDown}\n onPointerEnter={() => {\n if (interactive) {\n setHoverValue(optionValue);\n }\n }}\n role=\"radio\"\n tabIndex={\n resolvedValue === optionValue ||\n (resolvedValue === 0 && optionValue === step)\n ? 0\n : -1\n }\n />\n ))}\n </span>\n );\n })}\n </div>\n {name !== undefined && (\n <input\n type=\"hidden\"\n name={name}\n value={resolvedValue}\n disabled={disabled}\n />\n )}\n {errorMessage !== undefined && (\n <p id={errorId} className={zuiRatingErrorBase}>\n {errorMessage}\n </p>\n )}\n </div>\n );\n}\n\nRating.displayName = \"Rating\";\n"]}
|
|
1
|
+
{"version":3,"sources":["../../src/ui/rating/variants.ts","../../src/ui/rating/rating.tsx"],"names":[],"mappings":"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","file":"rating.mjs","sourcesContent":["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
|
@@ -1,52 +1,19 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
'use strict';
|
|
3
3
|
|
|
4
|
+
var chunkVWHER5XN_js = require('../chunk-VWHER5XN.js');
|
|
4
5
|
var chunkZS5756ZC_js = require('../chunk-ZS5756ZC.js');
|
|
6
|
+
require('../chunk-PZ5AY32C.js');
|
|
5
7
|
var classVarianceAuthority = require('class-variance-authority');
|
|
6
8
|
var jsxRuntime = require('react/jsx-runtime');
|
|
7
9
|
|
|
8
|
-
|
|
9
|
-
var zuiScrollAreaBase = "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)]";
|
|
10
|
-
var zuiScrollAreaAppearances = {
|
|
11
|
-
default: "[--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]",
|
|
12
|
-
muted: "[--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]",
|
|
13
|
-
outline: "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]",
|
|
14
|
-
glass: "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]",
|
|
15
|
-
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]",
|
|
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
|
-
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
|
-
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]"
|
|
20
|
-
};
|
|
21
|
-
var zuiScrollAreaSizes = {
|
|
22
|
-
sm: "[--zui-scroll-area-size:0.375rem]",
|
|
23
|
-
md: "[--zui-scroll-area-size:0.625rem]",
|
|
24
|
-
lg: "[--zui-scroll-area-size:0.875rem]"
|
|
25
|
-
};
|
|
26
|
-
var zuiScrollAreaOrientations = {
|
|
27
|
-
vertical: "overflow-x-hidden overflow-y-auto",
|
|
28
|
-
horizontal: "overflow-x-auto overflow-y-hidden",
|
|
29
|
-
both: "overflow-auto"
|
|
30
|
-
};
|
|
31
|
-
var zuiScrollAreaVisibility = {
|
|
32
|
-
auto: "",
|
|
33
|
-
hover: "[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)]",
|
|
34
|
-
always: "",
|
|
35
|
-
hidden: "[scrollbar-width:none] [&::-webkit-scrollbar]:hidden [&::-webkit-scrollbar]:h-0 [&::-webkit-scrollbar]:w-0"
|
|
36
|
-
};
|
|
37
|
-
var zuiScrollAreaShadows = {
|
|
38
|
-
false: "",
|
|
39
|
-
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)]"
|
|
40
|
-
};
|
|
41
|
-
|
|
42
|
-
// src/ui/scroll-area/variants.ts
|
|
43
|
-
var scrollAreaVariants = classVarianceAuthority.cva(zuiScrollAreaBase, {
|
|
10
|
+
var scrollAreaVariants = classVarianceAuthority.cva(chunkVWHER5XN_js.zuiScrollAreaBase, {
|
|
44
11
|
variants: {
|
|
45
|
-
appearance: zuiScrollAreaAppearances,
|
|
46
|
-
orientation: zuiScrollAreaOrientations,
|
|
47
|
-
scrollbar: zuiScrollAreaVisibility,
|
|
48
|
-
shadow: zuiScrollAreaShadows,
|
|
49
|
-
size: zuiScrollAreaSizes
|
|
12
|
+
appearance: chunkVWHER5XN_js.zuiScrollAreaAppearances,
|
|
13
|
+
orientation: chunkVWHER5XN_js.zuiScrollAreaOrientations,
|
|
14
|
+
scrollbar: chunkVWHER5XN_js.zuiScrollAreaVisibility,
|
|
15
|
+
shadow: chunkVWHER5XN_js.zuiScrollAreaShadows,
|
|
16
|
+
size: chunkVWHER5XN_js.zuiScrollAreaSizes
|
|
50
17
|
},
|
|
51
18
|
compoundVariants: [
|
|
52
19
|
{
|