@zentauri-ui/zentauri-components 1.9.0 → 1.9.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +7 -9
- package/cli/registry.json +0 -1
- package/dist/animations/blur-in.js +2 -2
- package/dist/animations/blur-in.mjs +1 -1
- package/dist/animations/blur-out.js +2 -2
- package/dist/animations/blur-out.mjs +1 -1
- package/dist/animations/bounce.js +2 -2
- package/dist/animations/bounce.mjs +1 -1
- package/dist/animations/fade-down.js +2 -2
- package/dist/animations/fade-down.mjs +1 -1
- package/dist/animations/fade-in.js +2 -2
- package/dist/animations/fade-in.mjs +1 -1
- package/dist/animations/fade-left.js +2 -2
- package/dist/animations/fade-left.mjs +1 -1
- package/dist/animations/fade-out.js +2 -2
- package/dist/animations/fade-out.mjs +1 -1
- package/dist/animations/fade-right.js +2 -2
- package/dist/animations/fade-right.mjs +1 -1
- package/dist/animations/fade-up.js +2 -2
- package/dist/animations/fade-up.mjs +1 -1
- package/dist/animations/flip-in.js +2 -2
- package/dist/animations/flip-in.mjs +1 -1
- package/dist/animations/flip.js +2 -2
- package/dist/animations/flip.mjs +1 -1
- package/dist/animations/float.js +2 -2
- package/dist/animations/float.mjs +1 -1
- package/dist/animations/hover-lift.js +2 -2
- package/dist/animations/hover-lift.mjs +1 -1
- package/dist/animations/hover-scale.js +2 -2
- package/dist/animations/hover-scale.mjs +1 -1
- package/dist/animations/magnetic.js +2 -2
- package/dist/animations/magnetic.mjs +1 -1
- package/dist/animations/parallax.js +2 -2
- package/dist/animations/parallax.mjs +1 -1
- package/dist/animations/ping.js +2 -2
- package/dist/animations/ping.mjs +1 -1
- package/dist/animations/pop-in.js +2 -2
- package/dist/animations/pop-in.mjs +1 -1
- package/dist/animations/press.js +2 -2
- package/dist/animations/press.mjs +1 -1
- package/dist/animations/progress.js +2 -2
- package/dist/animations/progress.mjs +1 -1
- package/dist/animations/pulse.js +2 -2
- package/dist/animations/pulse.mjs +1 -1
- package/dist/animations/reorder.js +2 -2
- package/dist/animations/reorder.mjs +1 -1
- package/dist/animations/reveal-blur.js +2 -2
- package/dist/animations/reveal-blur.mjs +1 -1
- package/dist/animations/reveal-down.js +2 -2
- package/dist/animations/reveal-down.mjs +1 -1
- package/dist/animations/reveal-left.js +2 -2
- package/dist/animations/reveal-left.mjs +1 -1
- package/dist/animations/reveal-right.js +2 -2
- package/dist/animations/reveal-right.mjs +1 -1
- package/dist/animations/reveal-up.js +2 -2
- package/dist/animations/reveal-up.mjs +1 -1
- package/dist/animations/rotate-in.js +2 -2
- package/dist/animations/rotate-in.mjs +1 -1
- package/dist/animations/scale-in.js +2 -2
- package/dist/animations/scale-in.mjs +1 -1
- package/dist/animations/scale-out.js +2 -2
- package/dist/animations/scale-out.mjs +1 -1
- package/dist/animations/shake.js +2 -2
- package/dist/animations/shake.mjs +1 -1
- package/dist/animations/shared/create-motion-animation.d.ts.map +1 -1
- package/dist/animations/skeleton-shimmer.js +2 -2
- package/dist/animations/skeleton-shimmer.mjs +1 -1
- package/dist/animations/slide-down.js +2 -2
- package/dist/animations/slide-down.mjs +1 -1
- package/dist/animations/slide-left.js +2 -2
- package/dist/animations/slide-left.mjs +1 -1
- package/dist/animations/slide-right.js +2 -2
- package/dist/animations/slide-right.mjs +1 -1
- package/dist/animations/slide-up.js +2 -2
- package/dist/animations/slide-up.mjs +1 -1
- package/dist/animations/spin.js +2 -2
- package/dist/animations/spin.mjs +1 -1
- package/dist/animations/text-reveal.js +2 -2
- package/dist/animations/text-reveal.mjs +1 -1
- package/dist/animations/text-shimmer.js +2 -2
- package/dist/animations/text-shimmer.mjs +1 -1
- package/dist/animations/tilt.js +2 -2
- package/dist/animations/tilt.mjs +1 -1
- package/dist/animations/wiggle.js +2 -2
- package/dist/animations/wiggle.mjs +1 -1
- package/dist/{chunk-U3VV22G4.js → chunk-2RBUROXJ.js} +24 -3
- package/dist/chunk-2RBUROXJ.js.map +1 -0
- package/dist/{chunk-3W224B3M.js → chunk-3IBWZM52.js} +23 -3
- package/dist/chunk-3IBWZM52.js.map +1 -0
- package/dist/{chunk-466QDL44.js → chunk-3RHJJZIT.js} +24 -3
- package/dist/chunk-3RHJJZIT.js.map +1 -0
- package/dist/{chunk-LNYCEPW5.js → chunk-4GVMPQZS.js} +23 -2
- package/dist/chunk-4GVMPQZS.js.map +1 -0
- package/dist/chunk-4WRCXG5E.mjs +942 -0
- package/dist/chunk-4WRCXG5E.mjs.map +1 -0
- package/dist/{chunk-TKVZU56F.mjs → chunk-6GPUHFXI.mjs} +24 -3
- package/dist/chunk-6GPUHFXI.mjs.map +1 -0
- package/dist/{chunk-HLG2YJFZ.mjs → chunk-6ONKAOI7.mjs} +24 -3
- package/dist/chunk-6ONKAOI7.mjs.map +1 -0
- package/dist/chunk-6VZGM4DI.mjs +170 -0
- package/dist/chunk-6VZGM4DI.mjs.map +1 -0
- package/dist/{chunk-2ZKW2E7B.mjs → chunk-7PIOCFV3.mjs} +34 -4
- package/dist/chunk-7PIOCFV3.mjs.map +1 -0
- package/dist/{chunk-IM6KN77X.mjs → chunk-7XHWUEQR.mjs} +46 -4
- package/dist/chunk-7XHWUEQR.mjs.map +1 -0
- package/dist/{chunk-QHEHBC6M.js → chunk-AFBKMQMK.js} +46 -4
- package/dist/chunk-AFBKMQMK.js.map +1 -0
- package/dist/{chunk-NNZXBL7R.mjs → chunk-AS34PVUG.mjs} +24 -3
- package/dist/chunk-AS34PVUG.mjs.map +1 -0
- package/dist/{chunk-TTTYW3TR.js → chunk-B3LCKPBX.js} +23 -2
- package/dist/chunk-B3LCKPBX.js.map +1 -0
- package/dist/chunk-CARQELOX.mjs +101 -0
- package/dist/chunk-CARQELOX.mjs.map +1 -0
- package/dist/{chunk-CIEZFHCO.mjs → chunk-CCVQ5KX6.mjs} +24 -3
- package/dist/chunk-CCVQ5KX6.mjs.map +1 -0
- package/dist/{chunk-UR7TNW45.mjs → chunk-DBW25HOR.mjs} +68 -5
- package/dist/chunk-DBW25HOR.mjs.map +1 -0
- package/dist/chunk-DMDCXYNN.js +105 -0
- package/dist/chunk-DMDCXYNN.js.map +1 -0
- package/dist/{chunk-H7WDA6U6.mjs → chunk-EKLWWV3G.mjs} +23 -2
- package/dist/chunk-EKLWWV3G.mjs.map +1 -0
- package/dist/{chunk-OZHETX4J.mjs → chunk-ENV73575.mjs} +24 -3
- package/dist/chunk-ENV73575.mjs.map +1 -0
- package/dist/{chunk-7OVJXYSS.mjs → chunk-F4BM6LX2.mjs} +2 -2
- package/dist/{chunk-7OVJXYSS.mjs.map → chunk-F4BM6LX2.mjs.map} +1 -1
- package/dist/{chunk-ZX2IBIZT.js → chunk-FWY22BZZ.js} +46 -4
- package/dist/chunk-FWY22BZZ.js.map +1 -0
- package/dist/chunk-HI54NLVM.js +179 -0
- package/dist/chunk-HI54NLVM.js.map +1 -0
- package/dist/{chunk-BU2MPXPZ.js → chunk-IW2E4MLG.js} +24 -3
- package/dist/chunk-IW2E4MLG.js.map +1 -0
- package/dist/{chunk-DEZRB6DS.mjs → chunk-IZAQBJKT.mjs} +46 -4
- package/dist/chunk-IZAQBJKT.mjs.map +1 -0
- package/dist/{chunk-VHVQELWF.js → chunk-JGSQZZHF.js} +23 -3
- package/dist/chunk-JGSQZZHF.js.map +1 -0
- package/dist/{chunk-DFCDLVZA.js → chunk-JRB22VVK.js} +23 -2
- package/dist/chunk-JRB22VVK.js.map +1 -0
- package/dist/{chunk-XYEMP4K7.js → chunk-KC77BXBC.js} +24 -3
- package/dist/chunk-KC77BXBC.js.map +1 -0
- package/dist/{chunk-EIRCCTNA.js → chunk-KIAYTBS5.js} +24 -3
- package/dist/chunk-KIAYTBS5.js.map +1 -0
- package/dist/{chunk-UY65KX3M.js → chunk-KLGB3FYE.js} +46 -4
- package/dist/chunk-KLGB3FYE.js.map +1 -0
- package/dist/{chunk-C6NA452Q.mjs → chunk-NUYNJV5U.mjs} +3 -3
- package/dist/{chunk-C6NA452Q.mjs.map → chunk-NUYNJV5U.mjs.map} +1 -1
- package/dist/{chunk-EZCYSFML.mjs → chunk-O233I5N7.mjs} +23 -2
- package/dist/chunk-O233I5N7.mjs.map +1 -0
- package/dist/chunk-OEDD43IT.mjs +141 -0
- package/dist/chunk-OEDD43IT.mjs.map +1 -0
- package/dist/{chunk-3F4FF2H4.mjs → chunk-OY3YJGOX.mjs} +23 -3
- package/dist/chunk-OY3YJGOX.mjs.map +1 -0
- package/dist/{chunk-INXWZ4DS.js → chunk-PZBTZGJE.js} +46 -4
- package/dist/chunk-PZBTZGJE.js.map +1 -0
- package/dist/{chunk-2F7P4EJQ.js → chunk-QCHHXFJQ.js} +25 -4
- package/dist/chunk-QCHHXFJQ.js.map +1 -0
- package/dist/{chunk-CSFLMMAT.mjs → chunk-REDZL4DY.mjs} +23 -2
- package/dist/chunk-REDZL4DY.mjs.map +1 -0
- package/dist/{chunk-BJSWQQSC.mjs → chunk-RFBTMJ2Z.mjs} +24 -3
- package/dist/chunk-RFBTMJ2Z.mjs.map +1 -0
- package/dist/chunk-S4NQTWMW.mjs +121 -0
- package/dist/chunk-S4NQTWMW.mjs.map +1 -0
- package/dist/{chunk-X3O45MPI.js → chunk-SRLYXLUU.js} +44 -2
- package/dist/chunk-SRLYXLUU.js.map +1 -0
- package/dist/{chunk-6HPS3ZOP.js → chunk-U7FZ5RMV.js} +68 -5
- package/dist/chunk-U7FZ5RMV.js.map +1 -0
- package/dist/{chunk-OL3BJSRC.mjs → chunk-UMXCV5IT.mjs} +68 -5
- package/dist/chunk-UMXCV5IT.mjs.map +1 -0
- package/dist/{chunk-IL4LH2XX.js → chunk-UNPKDNLA.js} +68 -5
- package/dist/chunk-UNPKDNLA.js.map +1 -0
- package/dist/{chunk-OKCC7E36.js → chunk-UOZZUWIX.js} +6 -6
- package/dist/{chunk-OKCC7E36.js.map → chunk-UOZZUWIX.js.map} +1 -1
- package/dist/{chunk-ORFI4BCJ.mjs → chunk-URXYF25P.mjs} +44 -2
- package/dist/chunk-URXYF25P.mjs.map +1 -0
- package/dist/{chunk-5565GZ4T.js → chunk-VGVB5XZX.js} +24 -3
- package/dist/chunk-VGVB5XZX.js.map +1 -0
- package/dist/{chunk-PYUZOVLY.js → chunk-VJSME7ML.js} +23 -2
- package/dist/{chunk-EZCYSFML.mjs.map → chunk-VJSME7ML.js.map} +1 -1
- package/dist/{chunk-SSJXWD2M.mjs → chunk-VO7LNOC5.mjs} +46 -4
- package/dist/chunk-VO7LNOC5.mjs.map +1 -0
- package/dist/{chunk-ECLHBSC6.mjs → chunk-VX56EVPF.mjs} +25 -4
- package/dist/chunk-VX56EVPF.mjs.map +1 -0
- package/dist/{chunk-R2JJTREQ.mjs → chunk-W73CZFMA.mjs} +23 -3
- package/dist/chunk-W73CZFMA.mjs.map +1 -0
- package/dist/{chunk-3J3FYIG3.js → chunk-WRHUWKZS.js} +34 -4
- package/dist/chunk-WRHUWKZS.js.map +1 -0
- package/dist/{chunk-NSJ6KGW2.js → chunk-WVBFSJEB.js} +24 -3
- package/dist/chunk-WVBFSJEB.js.map +1 -0
- package/dist/chunk-XIG2QDVN.js +145 -0
- package/dist/chunk-XIG2QDVN.js.map +1 -0
- package/dist/{chunk-HNLQXHSQ.mjs → chunk-XJFDGKZO.mjs} +24 -3
- package/dist/chunk-XJFDGKZO.mjs.map +1 -0
- package/dist/{chunk-GRJFGIZC.mjs → chunk-XOYCFLEZ.mjs} +46 -4
- package/dist/chunk-XOYCFLEZ.mjs.map +1 -0
- package/dist/chunk-XYKDSHRG.js +944 -0
- package/dist/chunk-XYKDSHRG.js.map +1 -0
- package/dist/{chunk-UROKWFPX.mjs → chunk-YFXGRV7X.mjs} +23 -2
- package/dist/chunk-YFXGRV7X.mjs.map +1 -0
- package/dist/{chunk-R5LL56ZO.js → chunk-ZHXYGUMA.js} +2 -2
- package/dist/{chunk-R5LL56ZO.js.map → chunk-ZHXYGUMA.js.map} +1 -1
- package/dist/chunk-ZZ53RJNH.js +128 -0
- package/dist/chunk-ZZ53RJNH.js.map +1 -0
- package/dist/design-system/accordion.d.ts +42 -0
- package/dist/design-system/accordion.d.ts.map +1 -1
- package/dist/design-system/alert.d.ts +21 -0
- package/dist/design-system/alert.d.ts.map +1 -1
- package/dist/design-system/animated-number.d.ts +21 -0
- package/dist/design-system/animated-number.d.ts.map +1 -1
- package/dist/design-system/avatar.d.ts +21 -0
- package/dist/design-system/avatar.d.ts.map +1 -1
- package/dist/design-system/badge.d.ts +42 -0
- package/dist/design-system/badge.d.ts.map +1 -1
- package/dist/design-system/breadcrumb.d.ts +21 -0
- package/dist/design-system/breadcrumb.d.ts.map +1 -1
- package/dist/design-system/button.d.ts +22 -1
- package/dist/design-system/button.d.ts.map +1 -1
- package/dist/design-system/card.d.ts +21 -0
- package/dist/design-system/card.d.ts.map +1 -1
- package/dist/design-system/checkbox.d.ts +22 -1
- package/dist/design-system/checkbox.d.ts.map +1 -1
- package/dist/design-system/command.d.ts +21 -0
- package/dist/design-system/command.d.ts.map +1 -1
- package/dist/design-system/context-menu.d.ts +21 -0
- package/dist/design-system/context-menu.d.ts.map +1 -1
- package/dist/design-system/copy-button.d.ts +22 -1
- package/dist/design-system/copy-button.d.ts.map +1 -1
- package/dist/design-system/divider.d.ts +21 -0
- package/dist/design-system/divider.d.ts.map +1 -1
- package/dist/design-system/drawer.d.ts +42 -0
- package/dist/design-system/drawer.d.ts.map +1 -1
- package/dist/design-system/dropdown.d.ts +42 -0
- package/dist/design-system/dropdown.d.ts.map +1 -1
- package/dist/design-system/dynamic-stepper.d.ts +98 -5
- package/dist/design-system/dynamic-stepper.d.ts.map +1 -1
- package/dist/design-system/empty-state.d.ts +21 -0
- package/dist/design-system/empty-state.d.ts.map +1 -1
- package/dist/design-system/file-upload.d.ts +21 -0
- package/dist/design-system/file-upload.d.ts.map +1 -1
- package/dist/design-system/index.d.ts +0 -1
- package/dist/design-system/index.d.ts.map +1 -1
- package/dist/design-system/inputs.d.ts +108 -0
- package/dist/design-system/inputs.d.ts.map +1 -1
- package/dist/design-system/kbd.d.ts +22 -1
- package/dist/design-system/kbd.d.ts.map +1 -1
- package/dist/design-system/marquee.d.ts +21 -0
- package/dist/design-system/marquee.d.ts.map +1 -1
- package/dist/design-system/modal.d.ts +42 -0
- package/dist/design-system/modal.d.ts.map +1 -1
- package/dist/design-system/otp-input.d.ts +21 -0
- package/dist/design-system/otp-input.d.ts.map +1 -1
- package/dist/design-system/pagination.d.ts +21 -0
- package/dist/design-system/pagination.d.ts.map +1 -1
- package/dist/design-system/popover.d.ts +20 -0
- package/dist/design-system/popover.d.ts.map +1 -1
- package/dist/design-system/progress.d.ts +21 -0
- package/dist/design-system/progress.d.ts.map +1 -1
- package/dist/design-system/radio-group.d.ts +21 -0
- package/dist/design-system/radio-group.d.ts.map +1 -1
- package/dist/design-system/rating.d.ts +21 -0
- package/dist/design-system/rating.d.ts.map +1 -1
- package/dist/design-system/scroll-area.d.ts +21 -0
- package/dist/design-system/scroll-area.d.ts.map +1 -1
- package/dist/design-system/select.d.ts +63 -0
- package/dist/design-system/select.d.ts.map +1 -1
- package/dist/design-system/skeleton.d.ts +63 -0
- package/dist/design-system/skeleton.d.ts.map +1 -1
- package/dist/design-system/slider.d.ts +22 -1
- package/dist/design-system/slider.d.ts.map +1 -1
- package/dist/design-system/spinner.d.ts +21 -0
- package/dist/design-system/spinner.d.ts.map +1 -1
- package/dist/design-system/table.d.ts +63 -0
- package/dist/design-system/table.d.ts.map +1 -1
- package/dist/design-system/tabs.d.ts +21 -0
- package/dist/design-system/tabs.d.ts.map +1 -1
- package/dist/design-system/timeline.d.ts +21 -0
- package/dist/design-system/timeline.d.ts.map +1 -1
- package/dist/design-system/toast.d.ts +21 -0
- package/dist/design-system/toast.d.ts.map +1 -1
- package/dist/design-system/toggle.d.ts +30 -0
- package/dist/design-system/toggle.d.ts.map +1 -1
- package/dist/design-system/tooltip.d.ts +20 -0
- package/dist/design-system/tooltip.d.ts.map +1 -1
- package/dist/design-system/tree-view.d.ts +42 -0
- package/dist/design-system/tree-view.d.ts.map +1 -1
- package/dist/design-system/typography.d.ts +1 -1
- package/dist/ui/accordion/animated.js +7 -7
- package/dist/ui/accordion/animated.mjs +2 -2
- package/dist/ui/accordion/variants.d.ts +2 -2
- package/dist/ui/accordion.js +9 -9
- package/dist/ui/accordion.mjs +2 -2
- package/dist/ui/alert/animated.js +2 -2
- package/dist/ui/alert/animated.mjs +1 -1
- package/dist/ui/alert/variants.d.ts +1 -1
- package/dist/ui/alert.js +10 -10
- package/dist/ui/alert.mjs +2 -2
- package/dist/ui/animated-number/variants.d.ts +1 -1
- package/dist/ui/animated-number.js +21 -0
- package/dist/ui/animated-number.js.map +1 -1
- package/dist/ui/animated-number.mjs +21 -0
- package/dist/ui/animated-number.mjs.map +1 -1
- package/dist/ui/avatar/animated.js +5 -5
- package/dist/ui/avatar/animated.mjs +2 -2
- package/dist/ui/avatar/variants.d.ts +1 -1
- package/dist/ui/avatar.js +9 -9
- package/dist/ui/avatar.mjs +2 -2
- package/dist/ui/badge/animated.js +2 -2
- package/dist/ui/badge/animated.mjs +1 -1
- package/dist/ui/badge/variants.d.ts +22 -1
- package/dist/ui/badge/variants.d.ts.map +1 -1
- package/dist/ui/badge.js +4 -4
- package/dist/ui/badge.mjs +2 -2
- package/dist/ui/breadcrumb/variants.d.ts +1 -1
- package/dist/ui/breadcrumb.js +21 -0
- package/dist/ui/breadcrumb.js.map +1 -1
- package/dist/ui/breadcrumb.mjs +21 -0
- package/dist/ui/breadcrumb.mjs.map +1 -1
- package/dist/ui/buttons/animated.js +3 -3
- package/dist/ui/buttons/animated.mjs +1 -1
- package/dist/ui/buttons/variants.d.ts +1 -1
- package/dist/ui/buttons.js +4 -4
- package/dist/ui/buttons.mjs +2 -2
- package/dist/ui/card/animated.js +7 -7
- package/dist/ui/card/animated.mjs +2 -2
- package/dist/ui/card/variants.d.ts +1 -1
- package/dist/ui/card.js +12 -12
- package/dist/ui/card.mjs +2 -2
- package/dist/ui/checkbox/animated.js +4 -4
- package/dist/ui/checkbox/animated.mjs +1 -1
- package/dist/ui/checkbox/variants.d.ts +1 -1
- package/dist/ui/checkbox.js +8 -8
- package/dist/ui/checkbox.mjs +2 -2
- package/dist/ui/command/animated.js +2 -2
- package/dist/ui/command/animated.mjs +1 -1
- package/dist/ui/command/variants.d.ts +1 -1
- package/dist/ui/command.js +15 -15
- package/dist/ui/command.mjs +2 -2
- package/dist/ui/context-menu/variants.d.ts +1 -1
- package/dist/ui/context-menu.js +47 -26
- package/dist/ui/context-menu.js.map +1 -1
- package/dist/ui/context-menu.mjs +23 -2
- package/dist/ui/context-menu.mjs.map +1 -1
- package/dist/ui/copy-button/animated.js +2 -2
- package/dist/ui/copy-button/animated.mjs +1 -1
- package/dist/ui/copy-button/variants.d.ts +1 -1
- package/dist/ui/copy-button.js +3 -3
- package/dist/ui/copy-button.mjs +2 -2
- package/dist/ui/divider/animated.js +2 -2
- package/dist/ui/divider/animated.mjs +1 -1
- package/dist/ui/divider/variants.d.ts +2 -2
- package/dist/ui/divider.js +6 -6
- package/dist/ui/divider.mjs +2 -2
- package/dist/ui/drawer/animated.js +11 -11
- package/dist/ui/drawer/animated.mjs +2 -2
- package/dist/ui/drawer/variants.d.ts +2 -2
- package/dist/ui/drawer.js +11 -11
- package/dist/ui/drawer.mjs +1 -1
- package/dist/ui/dropdown/types.d.ts +2 -1
- package/dist/ui/dropdown/types.d.ts.map +1 -1
- package/dist/ui/dropdown/variants.d.ts +2 -2
- package/dist/ui/dropdown.js +9 -9
- package/dist/ui/dropdown.mjs +1 -1
- package/dist/ui/dynamic-stepper/variants.d.ts +1 -1
- package/dist/ui/dynamic-stepper/variants.d.ts.map +1 -1
- package/dist/ui/dynamic-stepper.js +4 -4
- package/dist/ui/dynamic-stepper.js.map +1 -1
- package/dist/ui/dynamic-stepper.mjs +2 -2
- package/dist/ui/dynamic-stepper.mjs.map +1 -1
- package/dist/ui/empty-state/animated.js +2 -2
- package/dist/ui/empty-state/animated.mjs +1 -1
- package/dist/ui/empty-state/variants.d.ts +1 -1
- package/dist/ui/empty-state.js +10 -10
- package/dist/ui/empty-state.mjs +2 -2
- package/dist/ui/file-upload/variants.d.ts +1 -1
- package/dist/ui/file-upload.js +22 -1
- package/dist/ui/file-upload.js.map +1 -1
- package/dist/ui/file-upload.mjs +22 -1
- package/dist/ui/file-upload.mjs.map +1 -1
- package/dist/ui/inputs/animated.js +3 -3
- package/dist/ui/inputs/animated.mjs +1 -1
- package/dist/ui/inputs/variants.d.ts +1 -1
- package/dist/ui/inputs/variants.d.ts.map +1 -1
- package/dist/ui/inputs.js +4 -4
- package/dist/ui/inputs.mjs +2 -2
- package/dist/ui/kbd/animated.js +2 -2
- package/dist/ui/kbd/animated.mjs +1 -1
- package/dist/ui/kbd/variants.d.ts +1 -1
- package/dist/ui/kbd.js +4 -4
- package/dist/ui/kbd.mjs +2 -2
- package/dist/ui/marquee/variants.d.ts +1 -1
- package/dist/ui/marquee.js +22 -1
- package/dist/ui/marquee.js.map +1 -1
- package/dist/ui/marquee.mjs +22 -1
- package/dist/ui/marquee.mjs.map +1 -1
- package/dist/ui/modal/animated.js +4 -4
- package/dist/ui/modal/animated.mjs +1 -1
- package/dist/ui/modal/variants.d.ts +2 -2
- package/dist/ui/modal.js +12 -12
- package/dist/ui/modal.mjs +2 -2
- package/dist/ui/otp-input/variants.d.ts +1 -1
- package/dist/ui/otp-input.js +22 -1
- package/dist/ui/otp-input.js.map +1 -1
- package/dist/ui/otp-input.mjs +22 -1
- package/dist/ui/otp-input.mjs.map +1 -1
- package/dist/ui/pagination/types.d.ts +4 -2
- package/dist/ui/pagination/types.d.ts.map +1 -1
- package/dist/ui/pagination/variants.d.ts +1 -1
- package/dist/ui/pagination.js +26 -5
- package/dist/ui/pagination.js.map +1 -1
- package/dist/ui/pagination.mjs +23 -2
- package/dist/ui/pagination.mjs.map +1 -1
- package/dist/ui/popover/animated.js +4 -4
- package/dist/ui/popover/animated.mjs +1 -1
- package/dist/ui/popover/variants.d.ts +1 -1
- package/dist/ui/popover.js +7 -7
- package/dist/ui/popover.mjs +1 -1
- package/dist/ui/progress/animated.js +8 -8
- package/dist/ui/progress/animated.mjs +2 -2
- package/dist/ui/progress/variants.d.ts +1 -1
- package/dist/ui/progress.js +9 -9
- package/dist/ui/progress.mjs +2 -2
- package/dist/ui/radio-group/animated.js +7 -7
- package/dist/ui/radio-group/animated.mjs +1 -1
- package/dist/ui/radio-group/variants.d.ts +1 -1
- package/dist/ui/radio-group.js +11 -11
- package/dist/ui/radio-group.mjs +2 -2
- package/dist/ui/rating/variants.d.ts +1 -1
- package/dist/ui/rating.js +22 -1
- package/dist/ui/rating.js.map +1 -1
- package/dist/ui/rating.mjs +22 -1
- package/dist/ui/rating.mjs.map +1 -1
- package/dist/ui/scroll-area/variants.d.ts +1 -1
- package/dist/ui/scroll-area.js +22 -1
- package/dist/ui/scroll-area.js.map +1 -1
- package/dist/ui/scroll-area.mjs +22 -1
- package/dist/ui/scroll-area.mjs.map +1 -1
- package/dist/ui/search.js +2 -2
- package/dist/ui/search.mjs +1 -1
- package/dist/ui/select/types.d.ts +2 -1
- package/dist/ui/select/types.d.ts.map +1 -1
- package/dist/ui/select/variants.d.ts +3 -3
- package/dist/ui/select.js +66 -3
- package/dist/ui/select.js.map +1 -1
- package/dist/ui/select.mjs +66 -3
- package/dist/ui/select.mjs.map +1 -1
- package/dist/ui/skeleton/animated.js +8 -8
- package/dist/ui/skeleton/animated.mjs +1 -1
- package/dist/ui/skeleton/variants.d.ts +23 -2
- package/dist/ui/skeleton/variants.d.ts.map +1 -1
- package/dist/ui/skeleton.js +9 -9
- package/dist/ui/skeleton.mjs +1 -1
- package/dist/ui/slider/variants.d.ts +1 -1
- package/dist/ui/slider.js +23 -2
- package/dist/ui/slider.js.map +1 -1
- package/dist/ui/slider.mjs +23 -2
- package/dist/ui/slider.mjs.map +1 -1
- package/dist/ui/spinner/animated/variants.d.ts +1 -1
- package/dist/ui/spinner/animated.js +22 -1
- package/dist/ui/spinner/animated.js.map +1 -1
- package/dist/ui/spinner/animated.mjs +22 -1
- package/dist/ui/spinner/animated.mjs.map +1 -1
- package/dist/ui/table/animated.js +8 -8
- package/dist/ui/table/animated.mjs +2 -2
- package/dist/ui/table/variants.d.ts +3 -3
- package/dist/ui/table.js +14 -14
- package/dist/ui/table.mjs +1 -1
- package/dist/ui/tabs/animated.js +2 -2
- package/dist/ui/tabs/animated.mjs +1 -1
- package/dist/ui/tabs/types.d.ts +4 -2
- package/dist/ui/tabs/types.d.ts.map +1 -1
- package/dist/ui/tabs/variants.d.ts +1 -1
- package/dist/ui/tabs.js +9 -9
- package/dist/ui/tabs.mjs +1 -1
- package/dist/ui/timeline/animated.js +11 -11
- package/dist/ui/timeline/animated.mjs +2 -2
- package/dist/ui/timeline/variants.d.ts +1 -1
- package/dist/ui/timeline.js +14 -14
- package/dist/ui/timeline.mjs +2 -2
- package/dist/ui/toast/animated.js +7 -7
- package/dist/ui/toast/animated.mjs +1 -1
- package/dist/ui/toast/variants.d.ts +1 -1
- package/dist/ui/toast.js +12 -12
- package/dist/ui/toast.mjs +1 -1
- package/dist/ui/toggle/animated.js +4 -4
- package/dist/ui/toggle/animated.mjs +1 -1
- package/dist/ui/toggle/variants.d.ts +2 -2
- package/dist/ui/toggle.js +4 -4
- package/dist/ui/toggle.mjs +2 -2
- package/dist/ui/tooltip/animated.js +3 -3
- package/dist/ui/tooltip/animated.mjs +1 -1
- package/dist/ui/tooltip/types.d.ts +3 -1
- package/dist/ui/tooltip/types.d.ts.map +1 -1
- package/dist/ui/tooltip/variants.d.ts +1 -1
- package/dist/ui/tooltip.js +7 -7
- package/dist/ui/tooltip.mjs +1 -1
- package/dist/ui/tree-view/animated.js +2 -2
- package/dist/ui/tree-view/animated.mjs +1 -1
- package/dist/ui/tree-view/variants.d.ts +2 -2
- package/dist/ui/tree-view.js +5 -5
- package/dist/ui/tree-view.mjs +2 -2
- package/dist/ui/typography.js +1 -1
- package/dist/ui/typography.js.map +1 -1
- package/dist/ui/typography.mjs +1 -1
- package/dist/ui/typography.mjs.map +1 -1
- package/package.json +18 -17
- package/src/animations/animations.test.tsx +1 -2
- package/src/animations/shared/create-motion-animation.tsx +3 -1
- package/src/design-system/accordion.ts +66 -0
- package/src/design-system/alert.ts +33 -0
- package/src/design-system/animated-number.ts +33 -0
- package/src/design-system/avatar.ts +33 -0
- package/src/design-system/badge.ts +33 -0
- package/src/design-system/breadcrumb.ts +33 -0
- package/src/design-system/button.ts +34 -1
- package/src/design-system/card.ts +33 -0
- package/src/design-system/checkbox.ts +34 -1
- package/src/design-system/command.ts +33 -0
- package/src/design-system/context-menu.ts +21 -0
- package/src/design-system/copy-button.ts +34 -1
- package/src/design-system/divider.ts +33 -0
- package/src/design-system/drawer.ts +66 -0
- package/src/design-system/dropdown.ts +66 -0
- package/src/design-system/dynamic-stepper.ts +8 -23
- package/src/design-system/empty-state.ts +33 -0
- package/src/design-system/file-upload.ts +33 -0
- package/src/design-system/index.ts +0 -1
- package/src/design-system/inputs.ts +171 -0
- package/src/design-system/kbd.ts +34 -1
- package/src/design-system/marquee.ts +33 -0
- package/src/design-system/modal.ts +66 -0
- package/src/design-system/otp-input.ts +33 -0
- package/src/design-system/pagination.ts +33 -0
- package/src/design-system/popover.ts +31 -0
- package/src/design-system/progress.ts +33 -0
- package/src/design-system/radio-group.ts +33 -0
- package/src/design-system/rating.ts +33 -0
- package/src/design-system/scroll-area.ts +33 -0
- package/src/design-system/select.ts +99 -0
- package/src/design-system/skeleton.ts +75 -0
- package/src/design-system/slider.ts +34 -2
- package/src/design-system/spinner.ts +33 -0
- package/src/design-system/table.ts +99 -0
- package/src/design-system/tabs.ts +33 -0
- package/src/design-system/timeline.ts +33 -0
- package/src/design-system/toast.ts +33 -0
- package/src/design-system/toggle.ts +48 -0
- package/src/design-system/tooltip.ts +31 -0
- package/src/design-system/tree-view.ts +66 -0
- package/src/design-system/typography.ts +1 -1
- package/src/ui/dropdown/types.ts +3 -27
- package/src/ui/inputs/variants.ts +435 -0
- package/src/ui/pagination/types.ts +4 -2
- package/src/ui/select/types.ts +2 -23
- package/src/ui/tabs/types.ts +5 -42
- package/src/ui/tooltip/types.ts +4 -24
- package/dist/chunk-2F7P4EJQ.js.map +0 -1
- package/dist/chunk-2ZKW2E7B.mjs.map +0 -1
- package/dist/chunk-3F4FF2H4.mjs.map +0 -1
- package/dist/chunk-3J3FYIG3.js.map +0 -1
- package/dist/chunk-3W224B3M.js.map +0 -1
- package/dist/chunk-466QDL44.js.map +0 -1
- package/dist/chunk-5565GZ4T.js.map +0 -1
- package/dist/chunk-5IJC2OEN.js +0 -124
- package/dist/chunk-5IJC2OEN.js.map +0 -1
- package/dist/chunk-6HPS3ZOP.js.map +0 -1
- package/dist/chunk-7XCUMSCJ.mjs +0 -80
- package/dist/chunk-7XCUMSCJ.mjs.map +0 -1
- package/dist/chunk-BJSWQQSC.mjs.map +0 -1
- package/dist/chunk-BU2MPXPZ.js.map +0 -1
- package/dist/chunk-CIEZFHCO.mjs.map +0 -1
- package/dist/chunk-CSFLMMAT.mjs.map +0 -1
- package/dist/chunk-DEZRB6DS.mjs.map +0 -1
- package/dist/chunk-DFCDLVZA.js.map +0 -1
- package/dist/chunk-DY7HLVGW.mjs +0 -120
- package/dist/chunk-DY7HLVGW.mjs.map +0 -1
- package/dist/chunk-ECLHBSC6.mjs.map +0 -1
- package/dist/chunk-EIRCCTNA.js.map +0 -1
- package/dist/chunk-GRJFGIZC.mjs.map +0 -1
- package/dist/chunk-H7WDA6U6.mjs.map +0 -1
- package/dist/chunk-HLG2YJFZ.mjs.map +0 -1
- package/dist/chunk-HNLQXHSQ.mjs.map +0 -1
- package/dist/chunk-IL4LH2XX.js.map +0 -1
- package/dist/chunk-IM6KN77X.mjs.map +0 -1
- package/dist/chunk-INXWZ4DS.js.map +0 -1
- package/dist/chunk-KVQI5PLL.mjs +0 -399
- package/dist/chunk-KVQI5PLL.mjs.map +0 -1
- package/dist/chunk-LNYCEPW5.js.map +0 -1
- package/dist/chunk-NFEA5TN2.js +0 -158
- package/dist/chunk-NFEA5TN2.js.map +0 -1
- package/dist/chunk-NMQAHUYA.mjs +0 -149
- package/dist/chunk-NMQAHUYA.mjs.map +0 -1
- package/dist/chunk-NNZXBL7R.mjs.map +0 -1
- package/dist/chunk-NRPG2STN.js +0 -401
- package/dist/chunk-NRPG2STN.js.map +0 -1
- package/dist/chunk-NSJ6KGW2.js.map +0 -1
- package/dist/chunk-OL3BJSRC.mjs.map +0 -1
- package/dist/chunk-ORFI4BCJ.mjs.map +0 -1
- package/dist/chunk-OZHETX4J.mjs.map +0 -1
- package/dist/chunk-PYUZOVLY.js.map +0 -1
- package/dist/chunk-QHEHBC6M.js.map +0 -1
- package/dist/chunk-R2JJTREQ.mjs.map +0 -1
- package/dist/chunk-RIHJAEOL.js +0 -107
- package/dist/chunk-RIHJAEOL.js.map +0 -1
- package/dist/chunk-SSJXWD2M.mjs.map +0 -1
- package/dist/chunk-TKVZU56F.mjs.map +0 -1
- package/dist/chunk-TTTYW3TR.js.map +0 -1
- package/dist/chunk-U3VV22G4.js.map +0 -1
- package/dist/chunk-UPZ5XGUD.mjs +0 -100
- package/dist/chunk-UPZ5XGUD.mjs.map +0 -1
- package/dist/chunk-UR7TNW45.mjs.map +0 -1
- package/dist/chunk-UROKWFPX.mjs.map +0 -1
- package/dist/chunk-UY65KX3M.js.map +0 -1
- package/dist/chunk-VHVQELWF.js.map +0 -1
- package/dist/chunk-X3O45MPI.js.map +0 -1
- package/dist/chunk-XYEMP4K7.js.map +0 -1
- package/dist/chunk-ZUT7ZUM7.js +0 -84
- package/dist/chunk-ZUT7ZUM7.js.map +0 -1
- package/dist/chunk-ZX2IBIZT.js.map +0 -1
- package/dist/design-system/stepper.d.ts +0 -42
- package/dist/design-system/stepper.d.ts.map +0 -1
- package/dist/ui/stepper/index.d.ts +0 -4
- package/dist/ui/stepper/index.d.ts.map +0 -1
- package/dist/ui/stepper/stepper.d.ts +0 -28
- package/dist/ui/stepper/stepper.d.ts.map +0 -1
- package/dist/ui/stepper/types.d.ts +0 -25
- package/dist/ui/stepper/types.d.ts.map +0 -1
- package/dist/ui/stepper/variants.d.ts +0 -11
- package/dist/ui/stepper/variants.d.ts.map +0 -1
- package/dist/ui/stepper.js +0 -216
- package/dist/ui/stepper.js.map +0 -1
- package/dist/ui/stepper.mjs +0 -207
- package/dist/ui/stepper.mjs.map +0 -1
- package/src/design-system/stepper.ts +0 -66
- package/src/ui/stepper/index.ts +0 -22
- package/src/ui/stepper/stepper.test.tsx +0 -190
- package/src/ui/stepper/stepper.tsx +0 -171
- package/src/ui/stepper/types.ts +0 -38
- package/src/ui/stepper/variants.ts +0 -40
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export declare const kbdKeyVariants: (props?: ({
|
|
2
|
-
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;
|
|
2
|
+
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;
|
|
3
3
|
size?: "md" | "sm" | "lg" | null | undefined;
|
|
4
4
|
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
5
5
|
export declare const kbdSeparatorVariants: (props?: ({
|
package/dist/ui/kbd.js
CHANGED
|
@@ -1,22 +1,22 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
'use strict';
|
|
3
3
|
|
|
4
|
-
var
|
|
4
|
+
var chunkXIG2QDVN_js = require('../chunk-XIG2QDVN.js');
|
|
5
5
|
require('../chunk-ZS5756ZC.js');
|
|
6
6
|
var jsxRuntime = require('react/jsx-runtime');
|
|
7
7
|
|
|
8
8
|
function Kbd(props) {
|
|
9
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
9
|
+
return /* @__PURE__ */ jsxRuntime.jsx(chunkXIG2QDVN_js.KbdBase, { ...props });
|
|
10
10
|
}
|
|
11
11
|
Kbd.displayName = "Kbd";
|
|
12
12
|
|
|
13
13
|
Object.defineProperty(exports, "kbdKeyVariants", {
|
|
14
14
|
enumerable: true,
|
|
15
|
-
get: function () { return
|
|
15
|
+
get: function () { return chunkXIG2QDVN_js.kbdKeyVariants; }
|
|
16
16
|
});
|
|
17
17
|
Object.defineProperty(exports, "kbdSeparatorVariants", {
|
|
18
18
|
enumerable: true,
|
|
19
|
-
get: function () { return
|
|
19
|
+
get: function () { return chunkXIG2QDVN_js.kbdSeparatorVariants; }
|
|
20
20
|
});
|
|
21
21
|
exports.Kbd = Kbd;
|
|
22
22
|
//# sourceMappingURL=kbd.js.map
|
package/dist/ui/kbd.mjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import { KbdBase } from '../chunk-
|
|
3
|
-
export { kbdKeyVariants, kbdSeparatorVariants } from '../chunk-
|
|
2
|
+
import { KbdBase } from '../chunk-OEDD43IT.mjs';
|
|
3
|
+
export { kbdKeyVariants, kbdSeparatorVariants } from '../chunk-OEDD43IT.mjs';
|
|
4
4
|
import '../chunk-4D54YOL6.mjs';
|
|
5
5
|
import { jsx } from 'react/jsx-runtime';
|
|
6
6
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export declare const marqueeVariants: (props?: ({
|
|
2
|
-
appearance?: "outline" | "default" | "sky" | "emerald" | "rose" | "indigo" | "orange" | "pink" | "purple" | "teal" | "yellow" | "gradient-blue" | "gradient-green" | "gradient-red" | "gradient-yellow" | "gradient-purple" | "gradient-teal" | "gradient-indigo" | "gradient-pink" | "gradient-orange" | "ghost" | "card" | "separated" | null | undefined;
|
|
2
|
+
appearance?: "ruby" | "outline" | "default" | "sky" | "emerald" | "rose" | "slate" | "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" | "ghost" | "mint" | "ocean" | "sapphire" | "zinc" | "stone" | "royal" | "electric" | "forest" | "sunset" | "card" | "separated" | null | undefined;
|
|
3
3
|
fade?: boolean | null | undefined;
|
|
4
4
|
orientation?: "horizontal" | "vertical" | null | undefined;
|
|
5
5
|
size?: "md" | "sm" | "lg" | null | undefined;
|
package/dist/ui/marquee.js
CHANGED
|
@@ -32,7 +32,28 @@ var zuiMarqueeAppearances = {
|
|
|
32
32
|
"gradient-teal": "border-transparent bg-linear-to-r from-[var(--zui-marquee-gradient-teal-from,oklch(77.7%_0.152_181.912))] dark:from-[var(--zui-marquee-gradient-teal-from-dark,oklch(43.7%_0.078_188.216))] to-[var(--zui-marquee-gradient-teal-to,oklch(70.4%_0.14_182.503))] dark:to-[var(--zui-marquee-gradient-teal-to-dark,oklch(38.6%_0.063_188.416))] [--zui-marquee-fg:#ffffff] dark:[--zui-marquee-fg:#ffffff]",
|
|
33
33
|
"gradient-indigo": "border-transparent bg-linear-to-r from-[var(--zui-marquee-gradient-indigo-from,oklch(67.3%_0.182_276.935))] dark:from-[var(--zui-marquee-gradient-indigo-from-dark,oklch(39.8%_0.195_277.366))] to-[var(--zui-marquee-gradient-indigo-to,oklch(58.5%_0.233_277.117))] dark:to-[var(--zui-marquee-gradient-indigo-to-dark,oklch(35.9%_0.144_278.697))] [--zui-marquee-fg:#ffffff] dark:[--zui-marquee-fg:#ffffff]",
|
|
34
34
|
"gradient-pink": "border-transparent bg-linear-to-r from-[var(--zui-marquee-gradient-pink-from,oklch(71.8%_0.202_349.761))] dark:from-[var(--zui-marquee-gradient-pink-from-dark,oklch(45.9%_0.187_3.815))] to-[var(--zui-marquee-gradient-pink-to,oklch(65.6%_0.241_354.308))] dark:to-[var(--zui-marquee-gradient-pink-to-dark,oklch(40.8%_0.153_2.432))] [--zui-marquee-fg:#ffffff] dark:[--zui-marquee-fg:#ffffff]",
|
|
35
|
-
"gradient-orange": "border-transparent bg-linear-to-r from-[var(--zui-marquee-gradient-orange-from,oklch(75%_0.183_55.934))] dark:from-[var(--zui-marquee-gradient-orange-from-dark,oklch(47%_0.157_37.304))] to-[var(--zui-marquee-gradient-orange-to,oklch(70.5%_0.213_47.604))] dark:to-[var(--zui-marquee-gradient-orange-to-dark,oklch(40.8%_0.123_38.172))] [--zui-marquee-fg:#ffffff] dark:[--zui-marquee-fg:#ffffff]"
|
|
35
|
+
"gradient-orange": "border-transparent bg-linear-to-r from-[var(--zui-marquee-gradient-orange-from,oklch(75%_0.183_55.934))] dark:from-[var(--zui-marquee-gradient-orange-from-dark,oklch(47%_0.157_37.304))] to-[var(--zui-marquee-gradient-orange-to,oklch(70.5%_0.213_47.604))] dark:to-[var(--zui-marquee-gradient-orange-to-dark,oklch(40.8%_0.123_38.172))] [--zui-marquee-fg:#ffffff] dark:[--zui-marquee-fg:#ffffff]",
|
|
36
|
+
blue: "border border-[color:var(--zui-marquee-blue-border,#2563eb)] dark:border-[color:var(--zui-marquee-blue-border-dark,#3b82f6)] bg-[var(--zui-marquee-blue-bg,#2563eb14)] dark:bg-[var(--zui-marquee-blue-bg-dark,#3b82f624)] text-[color:var(--zui-marquee-blue-fg,#0f172a)] dark:text-[color:var(--zui-marquee-blue-fg-dark,#f8fafc)]",
|
|
37
|
+
cyan: "border border-[color:var(--zui-marquee-cyan-border,#0891b2)] dark:border-[color:var(--zui-marquee-cyan-border-dark,#22d3ee)] bg-[var(--zui-marquee-cyan-bg,#0891b214)] dark:bg-[var(--zui-marquee-cyan-bg-dark,#22d3ee24)] text-[color:var(--zui-marquee-cyan-fg,#0f172a)] dark:text-[color:var(--zui-marquee-cyan-fg-dark,#f8fafc)]",
|
|
38
|
+
green: "border border-[color:var(--zui-marquee-green-border,#16a34a)] dark:border-[color:var(--zui-marquee-green-border-dark,#22c55e)] bg-[var(--zui-marquee-green-bg,#16a34a14)] dark:bg-[var(--zui-marquee-green-bg-dark,#22c55e24)] text-[color:var(--zui-marquee-green-fg,#0f172a)] dark:text-[color:var(--zui-marquee-green-fg-dark,#f8fafc)]",
|
|
39
|
+
lime: "border border-[color:var(--zui-marquee-lime-border,#65a30d)] dark:border-[color:var(--zui-marquee-lime-border-dark,#a3e635)] bg-[var(--zui-marquee-lime-bg,#65a30d14)] dark:bg-[var(--zui-marquee-lime-bg-dark,#a3e63524)] text-[color:var(--zui-marquee-lime-fg,#0f172a)] dark:text-[color:var(--zui-marquee-lime-fg-dark,#f8fafc)]",
|
|
40
|
+
mint: "border border-[color:var(--zui-marquee-mint-border,#10b981)] dark:border-[color:var(--zui-marquee-mint-border-dark,#6ee7b7)] bg-[var(--zui-marquee-mint-bg,#10b98114)] dark:bg-[var(--zui-marquee-mint-bg-dark,#6ee7b724)] text-[color:var(--zui-marquee-mint-fg,#0f172a)] dark:text-[color:var(--zui-marquee-mint-fg-dark,#f8fafc)]",
|
|
41
|
+
ocean: "border border-[color:var(--zui-marquee-ocean-border,#0284c7)] dark:border-[color:var(--zui-marquee-ocean-border-dark,#38bdf8)] bg-[var(--zui-marquee-ocean-bg,#0284c714)] dark:bg-[var(--zui-marquee-ocean-bg-dark,#38bdf824)] text-[color:var(--zui-marquee-ocean-fg,#0f172a)] dark:text-[color:var(--zui-marquee-ocean-fg-dark,#f8fafc)]",
|
|
42
|
+
sapphire: "border border-[color:var(--zui-marquee-sapphire-border,#1d4ed8)] dark:border-[color:var(--zui-marquee-sapphire-border-dark,#60a5fa)] bg-[var(--zui-marquee-sapphire-bg,#1d4ed814)] dark:bg-[var(--zui-marquee-sapphire-bg-dark,#60a5fa24)] text-[color:var(--zui-marquee-sapphire-fg,#0f172a)] dark:text-[color:var(--zui-marquee-sapphire-fg-dark,#f8fafc)]",
|
|
43
|
+
lavender: "border border-[color:var(--zui-marquee-lavender-border,#8b5cf6)] dark:border-[color:var(--zui-marquee-lavender-border-dark,#a78bfa)] bg-[var(--zui-marquee-lavender-bg,#8b5cf614)] dark:bg-[var(--zui-marquee-lavender-bg-dark,#a78bfa24)] text-[color:var(--zui-marquee-lavender-fg,#0f172a)] dark:text-[color:var(--zui-marquee-lavender-fg-dark,#f8fafc)]",
|
|
44
|
+
ruby: "border border-[color:var(--zui-marquee-ruby-border,#be123c)] dark:border-[color:var(--zui-marquee-ruby-border-dark,#fb7185)] bg-[var(--zui-marquee-ruby-bg,#be123c14)] dark:bg-[var(--zui-marquee-ruby-bg-dark,#fb718524)] text-[color:var(--zui-marquee-ruby-fg,#0f172a)] dark:text-[color:var(--zui-marquee-ruby-fg-dark,#f8fafc)]",
|
|
45
|
+
red: "border border-[color:var(--zui-marquee-red-border,#dc2626)] dark:border-[color:var(--zui-marquee-red-border-dark,#ef4444)] bg-[var(--zui-marquee-red-bg,#dc262614)] dark:bg-[var(--zui-marquee-red-bg-dark,#ef444424)] text-[color:var(--zui-marquee-red-fg,#0f172a)] dark:text-[color:var(--zui-marquee-red-fg-dark,#f8fafc)]",
|
|
46
|
+
slate: "border border-[color:var(--zui-marquee-slate-border,#475569)] dark:border-[color:var(--zui-marquee-slate-border-dark,#64748b)] bg-[var(--zui-marquee-slate-bg,#47556914)] dark:bg-[var(--zui-marquee-slate-bg-dark,#64748b24)] text-[color:var(--zui-marquee-slate-fg,#0f172a)] dark:text-[color:var(--zui-marquee-slate-fg-dark,#f8fafc)]",
|
|
47
|
+
zinc: "border border-[color:var(--zui-marquee-zinc-border,#52525b)] dark:border-[color:var(--zui-marquee-zinc-border-dark,#71717a)] bg-[var(--zui-marquee-zinc-bg,#52525b14)] dark:bg-[var(--zui-marquee-zinc-bg-dark,#71717a24)] text-[color:var(--zui-marquee-zinc-fg,#0f172a)] dark:text-[color:var(--zui-marquee-zinc-fg-dark,#f8fafc)]",
|
|
48
|
+
stone: "border border-[color:var(--zui-marquee-stone-border,#57534e)] dark:border-[color:var(--zui-marquee-stone-border-dark,#78716c)] bg-[var(--zui-marquee-stone-bg,#57534e14)] dark:bg-[var(--zui-marquee-stone-bg-dark,#78716c24)] text-[color:var(--zui-marquee-stone-fg,#0f172a)] dark:text-[color:var(--zui-marquee-stone-fg-dark,#f8fafc)]",
|
|
49
|
+
royal: "border border-[color:var(--zui-marquee-royal-border,#4338ca)] dark:border-[color:var(--zui-marquee-royal-border-dark,#818cf8)] bg-[var(--zui-marquee-royal-bg,#4338ca14)] dark:bg-[var(--zui-marquee-royal-bg-dark,#818cf824)] text-[color:var(--zui-marquee-royal-fg,#0f172a)] dark:text-[color:var(--zui-marquee-royal-fg-dark,#f8fafc)]",
|
|
50
|
+
electric: "border border-[color:var(--zui-marquee-electric-border,#0ea5e9)] dark:border-[color:var(--zui-marquee-electric-border-dark,#38bdf8)] bg-[var(--zui-marquee-electric-bg,#0ea5e914)] dark:bg-[var(--zui-marquee-electric-bg-dark,#38bdf824)] text-[color:var(--zui-marquee-electric-fg,#0f172a)] dark:text-[color:var(--zui-marquee-electric-fg-dark,#f8fafc)]",
|
|
51
|
+
forest: "border border-[color:var(--zui-marquee-forest-border,#166534)] dark:border-[color:var(--zui-marquee-forest-border-dark,#4ade80)] bg-[var(--zui-marquee-forest-bg,#16653414)] dark:bg-[var(--zui-marquee-forest-bg-dark,#4ade8024)] text-[color:var(--zui-marquee-forest-fg,#0f172a)] dark:text-[color:var(--zui-marquee-forest-fg-dark,#f8fafc)]",
|
|
52
|
+
sunset: "border border-[color:var(--zui-marquee-sunset-border,#ea580c)] dark:border-[color:var(--zui-marquee-sunset-border-dark,#fb923c)] bg-[var(--zui-marquee-sunset-bg,#ea580c14)] dark:bg-[var(--zui-marquee-sunset-bg-dark,#fb923c24)] text-[color:var(--zui-marquee-sunset-fg,#0f172a)] dark:text-[color:var(--zui-marquee-sunset-fg-dark,#f8fafc)]",
|
|
53
|
+
magenta: "border border-[color:var(--zui-marquee-magenta-border,#c026d3)] dark:border-[color:var(--zui-marquee-magenta-border-dark,#e879f9)] bg-[var(--zui-marquee-magenta-bg,#c026d314)] dark:bg-[var(--zui-marquee-magenta-bg-dark,#e879f924)] text-[color:var(--zui-marquee-magenta-fg,#0f172a)] dark:text-[color:var(--zui-marquee-magenta-fg-dark,#f8fafc)]",
|
|
54
|
+
crimson: "border border-[color:var(--zui-marquee-crimson-border,#b91c1c)] dark:border-[color:var(--zui-marquee-crimson-border-dark,#f87171)] bg-[var(--zui-marquee-crimson-bg,#b91c1c14)] dark:bg-[var(--zui-marquee-crimson-bg-dark,#f8717124)] text-[color:var(--zui-marquee-crimson-fg,#0f172a)] dark:text-[color:var(--zui-marquee-crimson-fg-dark,#f8fafc)]",
|
|
55
|
+
aqua: "border border-[color:var(--zui-marquee-aqua-border,#0f766e)] dark:border-[color:var(--zui-marquee-aqua-border-dark,#2dd4bf)] bg-[var(--zui-marquee-aqua-bg,#0f766e14)] dark:bg-[var(--zui-marquee-aqua-bg-dark,#2dd4bf24)] text-[color:var(--zui-marquee-aqua-fg,#0f172a)] dark:text-[color:var(--zui-marquee-aqua-fg-dark,#f8fafc)]",
|
|
56
|
+
plum: "border border-[color:var(--zui-marquee-plum-border,#7e22ce)] dark:border-[color:var(--zui-marquee-plum-border-dark,#c084fc)] bg-[var(--zui-marquee-plum-bg,#7e22ce14)] dark:bg-[var(--zui-marquee-plum-bg-dark,#c084fc24)] text-[color:var(--zui-marquee-plum-fg,#0f172a)] dark:text-[color:var(--zui-marquee-plum-fg-dark,#f8fafc)]"
|
|
36
57
|
};
|
|
37
58
|
var zuiMarqueeOrientations = {
|
|
38
59
|
horizontal: "w-full flex-row",
|
package/dist/ui/marquee.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/design-system/marquee.ts","../../src/ui/marquee/variants.ts","../../src/ui/marquee/marquee.tsx"],"names":["cva","useRef","useState","useMemo","Children","useCallback","cn","jsx","useIsomorphicLayoutEffect","jsxs"],"mappings":"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","file":"marquee.js","sourcesContent":["export const zuiMarqueeBase =\n \"group/marquee relative isolate flex min-w-0 overflow-hidden rounded-xl border border-transparent bg-[var(--zui-marquee-bg,transparent)] text-[color:var(--zui-marquee-fg,inherit)] [--zui-marquee-gap:1rem]\";\n\nexport const zuiMarqueeAppearances = {\n default:\n \"[--zui-marquee-bg:transparent] [--zui-marquee-fg:oklch(20.8%_0.042_265.755)] dark:[--zui-marquee-fg:#ffffff]\",\n outline:\n \"border-[color:var(--zui-marquee-outline-border,oklch(86.9%_0.022_252.894))] [--zui-marquee-bg:#ffffff] [--zui-marquee-fg:oklch(20.8%_0.042_265.755)] dark:border-[color:var(--zui-marquee-outline-border-dark,oklch(37.2%_0.044_257.287))] dark:[--zui-marquee-bg:oklch(20.8%_0.042_265.755)] dark:[--zui-marquee-fg:#ffffff]\",\n ghost:\n \"[--zui-marquee-bg:transparent] [--zui-marquee-fg:oklch(27.9%_0.041_260.031)] dark:[--zui-marquee-fg:oklch(96.8%_0.007_247.896)]\",\n card: \"border-[color:var(--zui-marquee-card-border,oklch(92.9%_0.013_255.508))] bg-[var(--zui-marquee-card-bg,#ffffff)] shadow-sm shadow-slate-950/5 [--zui-marquee-fg:oklch(20.8%_0.042_265.755)] dark:border-[color:var(--zui-marquee-card-border-dark,oklch(37.2%_0.044_257.287))] dark:bg-[var(--zui-marquee-card-bg-dark,oklch(20.8%_0.042_265.755_/_0.9))] dark:shadow-black/20 dark:[--zui-marquee-fg:#ffffff]\",\n separated:\n \"border-y border-x-0 rounded-none border-[color:var(--zui-marquee-separated-border,oklch(86.9%_0.022_252.894))] [--zui-marquee-bg:transparent] [--zui-marquee-fg:oklch(20.8%_0.042_265.755)] dark:border-[color:var(--zui-marquee-separated-border-dark,oklch(37.2%_0.044_257.287))] dark:[--zui-marquee-fg:#ffffff]\",\n sky: \"border-[color:var(--zui-marquee-sky-border,oklch(62.3%_0.214_259.815_/_0.28))] [--zui-marquee-bg:oklch(97.7%_0.013_236.62)] [--zui-marquee-fg:oklch(39.1%_0.09_240.876)] dark:border-[color:var(--zui-marquee-sky-border-dark,oklch(70.7%_0.165_254.624_/_0.3))] dark:[--zui-marquee-bg:oklch(39.1%_0.09_240.876_/_0.28)] dark:[--zui-marquee-fg:oklch(95.1%_0.026_236.824)]\",\n rose: \"border-[color:var(--zui-marquee-rose-border,oklch(58.6%_0.253_17.585_/_0.24))] [--zui-marquee-bg:oklch(96.9%_0.015_12.422)] [--zui-marquee-fg:oklch(41%_0.159_10.272)] dark:border-[color:var(--zui-marquee-rose-border-dark,oklch(71.2%_0.194_13.428_/_0.3))] dark:[--zui-marquee-bg:oklch(41%_0.159_10.272_/_0.28)] dark:[--zui-marquee-fg:oklch(94.1%_0.03_12.58)]\",\n purple:\n \"border-[color:var(--zui-marquee-purple-border,oklch(62.7%_0.265_303.9_/_0.24))] [--zui-marquee-bg:oklch(97.7%_0.014_308.299)] [--zui-marquee-fg:oklch(38.1%_0.176_304.987)] dark:border-[color:var(--zui-marquee-purple-border-dark,oklch(71.4%_0.203_305.504_/_0.3))] dark:[--zui-marquee-bg:oklch(38.1%_0.176_304.987_/_0.28)] dark:[--zui-marquee-fg:oklch(94.6%_0.033_307.174)]\",\n pink: \"border-[color:var(--zui-marquee-pink-border,oklch(65.6%_0.241_354.308_/_0.24))] [--zui-marquee-bg:oklch(97.1%_0.014_343.198)] [--zui-marquee-fg:oklch(40.8%_0.153_2.432)] dark:border-[color:var(--zui-marquee-pink-border-dark,oklch(71.8%_0.202_349.761_/_0.3))] dark:[--zui-marquee-bg:oklch(40.8%_0.153_2.432_/_0.28)] dark:[--zui-marquee-fg:oklch(94.8%_0.028_342.258)]\",\n orange:\n \"border-[color:var(--zui-marquee-orange-border,oklch(70.5%_0.213_47.604_/_0.26))] [--zui-marquee-bg:oklch(98%_0.016_73.684)] [--zui-marquee-fg:oklch(40.8%_0.123_38.172)] dark:border-[color:var(--zui-marquee-orange-border-dark,oklch(75%_0.183_55.934_/_0.32))] dark:[--zui-marquee-bg:oklch(40.8%_0.123_38.172_/_0.28)] dark:[--zui-marquee-fg:oklch(95.4%_0.038_75.164)]\",\n yellow:\n \"border-[color:var(--zui-marquee-yellow-border,oklch(79.5%_0.184_86.047_/_0.3))] [--zui-marquee-bg:oklch(98.7%_0.026_102.212)] [--zui-marquee-fg:oklch(42.1%_0.095_57.708)] dark:border-[color:var(--zui-marquee-yellow-border-dark,oklch(85.2%_0.199_91.936_/_0.32))] dark:[--zui-marquee-bg:oklch(42.1%_0.095_57.708_/_0.28)] dark:[--zui-marquee-fg:oklch(97.3%_0.071_103.193)]\",\n teal: \"border-[color:var(--zui-marquee-teal-border,oklch(70.4%_0.14_182.503_/_0.28))] [--zui-marquee-bg:oklch(98.4%_0.014_180.72)] [--zui-marquee-fg:oklch(38.6%_0.063_188.416)] dark:border-[color:var(--zui-marquee-teal-border-dark,oklch(77.7%_0.152_181.912_/_0.32))] dark:[--zui-marquee-bg:oklch(38.6%_0.063_188.416_/_0.28)] dark:[--zui-marquee-fg:oklch(95.3%_0.051_180.801)]\",\n indigo:\n \"border-[color:var(--zui-marquee-indigo-border,oklch(58.5%_0.233_277.117_/_0.24))] [--zui-marquee-bg:oklch(96.2%_0.018_272.314)] [--zui-marquee-fg:oklch(35.9%_0.144_278.697)] dark:border-[color:var(--zui-marquee-indigo-border-dark,oklch(67.3%_0.182_276.935_/_0.32))] dark:[--zui-marquee-bg:oklch(35.9%_0.144_278.697_/_0.28)] dark:[--zui-marquee-fg:oklch(93%_0.034_272.788)]\",\n emerald:\n \"border-[color:var(--zui-marquee-emerald-border,oklch(69.6%_0.17_162.48_/_0.28))] [--zui-marquee-bg:oklch(97.9%_0.021_166.113)] [--zui-marquee-fg:oklch(37.8%_0.077_168.94)] dark:border-[color:var(--zui-marquee-emerald-border-dark,oklch(76.5%_0.177_163.223_/_0.32))] dark:[--zui-marquee-bg:oklch(37.8%_0.077_168.94_/_0.28)] dark:[--zui-marquee-fg:oklch(95%_0.052_163.051)]\",\n \"gradient-blue\":\n \"border-transparent bg-linear-to-r from-[var(--zui-marquee-gradient-blue-from,oklch(62.3%_0.214_259.815))] dark:from-[var(--zui-marquee-gradient-blue-from-dark,oklch(42.4%_0.199_265.638))] to-[var(--zui-marquee-gradient-blue-to,oklch(54.6%_0.245_262.881))] dark:to-[var(--zui-marquee-gradient-blue-to-dark,oklch(37.9%_0.146_265.522))] [--zui-marquee-fg:#ffffff] dark:[--zui-marquee-fg:#ffffff]\",\n \"gradient-green\":\n \"border-transparent bg-linear-to-r from-[var(--zui-marquee-gradient-green-from,oklch(72.3%_0.219_149.579))] dark:from-[var(--zui-marquee-gradient-green-from-dark,oklch(44.8%_0.119_151.328))] to-[var(--zui-marquee-gradient-green-to,oklch(62.7%_0.194_149.214))] dark:to-[var(--zui-marquee-gradient-green-to-dark,oklch(39.3%_0.095_152.535))] [--zui-marquee-fg:#ffffff] dark:[--zui-marquee-fg:#ffffff]\",\n \"gradient-red\":\n \"border-transparent bg-linear-to-r from-[var(--zui-marquee-gradient-red-from,oklch(63.7%_0.237_25.331))] dark:from-[var(--zui-marquee-gradient-red-from-dark,oklch(44.4%_0.177_26.899))] to-[var(--zui-marquee-gradient-red-to,oklch(57.7%_0.245_27.325))] dark:to-[var(--zui-marquee-gradient-red-to-dark,oklch(39.6%_0.141_25.723))] [--zui-marquee-fg:#ffffff] dark:[--zui-marquee-fg:#ffffff]\",\n \"gradient-yellow\":\n \"border-transparent bg-linear-to-r from-[var(--zui-marquee-gradient-yellow-from,oklch(85.2%_0.199_91.936))] dark:from-[var(--zui-marquee-gradient-yellow-from-dark,oklch(47.6%_0.114_61.907))] to-[var(--zui-marquee-gradient-yellow-to,oklch(79.5%_0.184_86.047))] dark:to-[var(--zui-marquee-gradient-yellow-to-dark,oklch(42.1%_0.095_57.708))] [--zui-marquee-fg:oklch(27.9%_0.077_45.635)] dark:[--zui-marquee-fg:#ffffff]\",\n \"gradient-purple\":\n \"border-transparent bg-linear-to-r from-[var(--zui-marquee-gradient-purple-from,oklch(71.4%_0.203_305.504))] dark:from-[var(--zui-marquee-gradient-purple-from-dark,oklch(43.8%_0.218_303.724))] to-[var(--zui-marquee-gradient-purple-to,oklch(62.7%_0.265_303.9))] dark:to-[var(--zui-marquee-gradient-purple-to-dark,oklch(38.1%_0.176_304.987))] [--zui-marquee-fg:#ffffff] dark:[--zui-marquee-fg:#ffffff]\",\n \"gradient-teal\":\n \"border-transparent bg-linear-to-r from-[var(--zui-marquee-gradient-teal-from,oklch(77.7%_0.152_181.912))] dark:from-[var(--zui-marquee-gradient-teal-from-dark,oklch(43.7%_0.078_188.216))] to-[var(--zui-marquee-gradient-teal-to,oklch(70.4%_0.14_182.503))] dark:to-[var(--zui-marquee-gradient-teal-to-dark,oklch(38.6%_0.063_188.416))] [--zui-marquee-fg:#ffffff] dark:[--zui-marquee-fg:#ffffff]\",\n \"gradient-indigo\":\n \"border-transparent bg-linear-to-r from-[var(--zui-marquee-gradient-indigo-from,oklch(67.3%_0.182_276.935))] dark:from-[var(--zui-marquee-gradient-indigo-from-dark,oklch(39.8%_0.195_277.366))] to-[var(--zui-marquee-gradient-indigo-to,oklch(58.5%_0.233_277.117))] dark:to-[var(--zui-marquee-gradient-indigo-to-dark,oklch(35.9%_0.144_278.697))] [--zui-marquee-fg:#ffffff] dark:[--zui-marquee-fg:#ffffff]\",\n \"gradient-pink\":\n \"border-transparent bg-linear-to-r from-[var(--zui-marquee-gradient-pink-from,oklch(71.8%_0.202_349.761))] dark:from-[var(--zui-marquee-gradient-pink-from-dark,oklch(45.9%_0.187_3.815))] to-[var(--zui-marquee-gradient-pink-to,oklch(65.6%_0.241_354.308))] dark:to-[var(--zui-marquee-gradient-pink-to-dark,oklch(40.8%_0.153_2.432))] [--zui-marquee-fg:#ffffff] dark:[--zui-marquee-fg:#ffffff]\",\n \"gradient-orange\":\n \"border-transparent bg-linear-to-r from-[var(--zui-marquee-gradient-orange-from,oklch(75%_0.183_55.934))] dark:from-[var(--zui-marquee-gradient-orange-from-dark,oklch(47%_0.157_37.304))] to-[var(--zui-marquee-gradient-orange-to,oklch(70.5%_0.213_47.604))] dark:to-[var(--zui-marquee-gradient-orange-to-dark,oklch(40.8%_0.123_38.172))] [--zui-marquee-fg:#ffffff] dark:[--zui-marquee-fg:#ffffff]\",\n} as const;\n\nexport const zuiMarqueeOrientations = {\n horizontal: \"w-full flex-row\",\n vertical: \"h-64 flex-col\",\n} as const;\n\nexport const zuiMarqueeSizes = {\n sm: \"p-2 text-xs\",\n md: \"p-3 text-sm\",\n lg: \"p-4 text-base\",\n} as const;\n\nexport const zuiMarqueeFade = {\n false: \"\",\n true: \"[mask-image:linear-gradient(to_right,transparent,black_12%,black_88%,transparent)] data-[orientation=vertical]:[mask-image:linear-gradient(to_bottom,transparent,black_12%,black_88%,transparent)]\",\n} as const;\n","import { cva } from \"class-variance-authority\";\n\nimport {\n zuiMarqueeAppearances,\n zuiMarqueeBase,\n zuiMarqueeFade,\n zuiMarqueeOrientations,\n zuiMarqueeSizes,\n} from \"../../design-system/marquee\";\n\nexport const marqueeVariants = cva(zuiMarqueeBase, {\n variants: {\n appearance: zuiMarqueeAppearances,\n fade: zuiMarqueeFade,\n orientation: zuiMarqueeOrientations,\n size: zuiMarqueeSizes,\n },\n defaultVariants: {\n appearance: \"default\",\n fade: true,\n orientation: \"horizontal\",\n size: \"md\",\n },\n});\n","\"use client\";\n\nimport { Children, useCallback, useMemo, useRef, useState } from \"react\";\nimport type { CSSProperties, Ref } from \"react\";\n\nimport { useIsomorphicLayoutEffect } from \"../../hooks/useIsomorphicLayoutEffect\";\nimport { cn } from \"../../lib/utils\";\n\nimport type { MarqueeProps } from \"./types\";\nimport { marqueeVariants } from \"./variants\";\n\nconst marqueeKeyframes = `@keyframes zui-marquee-x{from{transform:translate3d(0,0,0)}to{transform:translate3d(calc(-50% - var(--zui-marquee-gap)/2),0,0)}}@keyframes zui-marquee-y{from{transform:translate3d(0,0,0)}to{transform:translate3d(0,calc(-50% - var(--zui-marquee-gap)/2),0)}}`;\n\nfunction toCssLength(value: number | string | undefined) {\n if (value === undefined) {\n return undefined;\n }\n return typeof value === \"number\" ? `${value}px` : value;\n}\n\nfunction assignRef<TElement>(\n ref: Ref<TElement> | undefined,\n value: TElement | null,\n) {\n if (typeof ref === \"function\") {\n ref(value);\n } else if (ref) {\n (ref as { current: TElement | null }).current = value;\n }\n}\n\nexport function Marquee(props: MarqueeProps) {\n const {\n appearance,\n children,\n className,\n direction,\n fade,\n gap,\n itemClassName,\n orientation,\n pauseOnHover = false,\n ref,\n size,\n speed = 30,\n style,\n trackClassName,\n ...rest\n } = props;\n\n const resolvedOrientation =\n orientation ??\n (direction === \"up\" || direction === \"down\" ? \"vertical\" : \"horizontal\");\n const resolvedDirection =\n direction ?? (resolvedOrientation === \"vertical\" ? \"up\" : \"left\");\n const isReverse =\n resolvedDirection === \"right\" || resolvedDirection === \"down\";\n const animationName =\n resolvedOrientation === \"vertical\" ? \"zui-marquee-y\" : \"zui-marquee-x\";\n const rootRef = useRef<HTMLDivElement | null>(null);\n const measureRef = useRef<HTMLDivElement | null>(null);\n const [copyCount, setCopyCount] = useState(1);\n const childArray = useMemo(() => Children.toArray(children), [children]);\n const setRootRef = useCallback(\n (node: HTMLDivElement | null) => {\n rootRef.current = node;\n assignRef(ref, node);\n },\n [ref],\n );\n const marqueeStyle = {\n ...(gap !== undefined ? { \"--zui-marquee-gap\": toCssLength(gap) } : null),\n ...style,\n } as CSSProperties;\n const groupClassName = cn(\n \"flex shrink-0 items-center justify-around gap-(--zui-marquee-gap)\",\n resolvedOrientation === \"vertical\" ? \"flex-col\" : \"flex-row\",\n itemClassName,\n );\n const fillerChildren = Array.from(\n { length: Math.max(0, copyCount - 1) },\n (_, index) => (\n <div key={index} aria-hidden=\"true\" inert className=\"contents\">\n {childArray}\n </div>\n ),\n );\n\n useIsomorphicLayoutEffect(() => {\n const updateCopyCount = () => {\n const root = rootRef.current;\n const measure = measureRef.current;\n\n if (!root || !measure) {\n return;\n }\n\n const rootSize =\n resolvedOrientation === \"vertical\"\n ? root.offsetHeight\n : root.offsetWidth;\n const contentSize =\n resolvedOrientation === \"vertical\"\n ? measure.scrollHeight\n : measure.scrollWidth;\n\n if (!rootSize || !contentSize) {\n setCopyCount(1);\n return;\n }\n\n setCopyCount(Math.max(1, Math.ceil(rootSize / contentSize)));\n };\n\n updateCopyCount();\n\n if (typeof ResizeObserver === \"undefined\") {\n return;\n }\n\n const observer = new ResizeObserver(updateCopyCount);\n if (rootRef.current) {\n observer.observe(rootRef.current);\n }\n if (measureRef.current) {\n observer.observe(measureRef.current);\n }\n\n return () => observer.disconnect();\n }, [childArray, gap, resolvedOrientation]);\n\n return (\n <div\n ref={setRootRef}\n data-direction={resolvedDirection}\n data-orientation={resolvedOrientation}\n data-slot=\"marquee\"\n className={cn(\n marqueeVariants({\n appearance,\n fade,\n orientation: resolvedOrientation,\n size,\n }),\n className,\n )}\n style={marqueeStyle}\n {...rest}\n >\n <style>{marqueeKeyframes}</style>\n <div\n aria-hidden=\"true\"\n data-slot=\"marquee-measure\"\n ref={measureRef}\n className={cn(\n \"pointer-events-none invisible absolute -z-10\",\n groupClassName,\n )}\n >\n {childArray}\n </div>\n <div\n data-slot=\"marquee-track\"\n className={cn(\n \"flex shrink-0 gap-(--zui-marquee-gap) will-change-transform [animation-iteration-count:infinite] [animation-timing-function:linear] motion-reduce:[animation-play-state:paused]\",\n resolvedOrientation === \"vertical\" ? \"flex-col\" : \"w-max flex-row\",\n pauseOnHover && \"group-hover/marquee:[animation-play-state:paused]\",\n isReverse && \"[animation-direction:reverse]\",\n trackClassName,\n )}\n style={\n {\n animationDuration: `${speed}s`,\n animationName,\n } as CSSProperties\n }\n >\n <div data-slot=\"marquee-item-group\" className={groupClassName}>\n {childArray}\n {fillerChildren}\n </div>\n <div\n aria-hidden=\"true\"\n inert\n data-slot=\"marquee-item-group\"\n className={groupClassName}\n >\n {childArray}\n {fillerChildren}\n </div>\n </div>\n </div>\n );\n}\n\nMarquee.displayName = \"Marquee\";\n"]}
|
|
1
|
+
{"version":3,"sources":["../../src/design-system/marquee.ts","../../src/ui/marquee/variants.ts","../../src/ui/marquee/marquee.tsx"],"names":["cva","useRef","useState","useMemo","Children","useCallback","cn","jsx","useIsomorphicLayoutEffect","jsxs"],"mappings":";;;;;;;;;AAAO,IAAM,cAAA,GACX,6MAAA;AAEK,IAAM,qBAAA,GAAwB;AAAA,EACnC,OAAA,EACE,8GAAA;AAAA,EACF,OAAA,EACE,+TAAA;AAAA,EACF,KAAA,EACE,iIAAA;AAAA,EACF,IAAA,EAAM,gZAAA;AAAA,EACN,SAAA,EACE,qTAAA;AAAA,EACF,GAAA,EAAK,8WAAA;AAAA,EACL,IAAA,EAAM,uWAAA;AAAA,EACN,MAAA,EACE,qXAAA;AAAA,EACF,IAAA,EAAM,+WAAA;AAAA,EACN,MAAA,EACE,8WAAA;AAAA,EACF,MAAA,EACE,mXAAA;AAAA,EACF,IAAA,EAAM,kXAAA;AAAA,EACN,MAAA,EACE,sXAAA;AAAA,EACF,OAAA,EACE,oXAAA;AAAA,EACF,eAAA,EACE,0YAAA;AAAA,EACF,gBAAA,EACE,8YAAA;AAAA,EACF,cAAA,EACE,kYAAA;AAAA,EACF,iBAAA,EACE,gaAAA;AAAA,EACF,iBAAA,EACE,gZAAA;AAAA,EACF,eAAA,EACE,yYAAA;AAAA,EACF,iBAAA,EACE,kZAAA;AAAA,EACF,eAAA,EACE,sYAAA;AAAA,EACF,iBAAA,EACE,0YAAA;AAAA,EACF,IAAA,EAAM,sUAAA;AAAA,EACN,IAAA,EAAM,sUAAA;AAAA,EACN,KAAA,EACE,4UAAA;AAAA,EACF,IAAA,EAAM,sUAAA;AAAA,EACN,IAAA,EAAM,sUAAA;AAAA,EACN,KAAA,EACE,4UAAA;AAAA,EACF,QAAA,EACE,8VAAA;AAAA,EACF,QAAA,EACE,8VAAA;AAAA,EACF,IAAA,EAAM,sUAAA;AAAA,EACN,GAAA,EAAK,gUAAA;AAAA,EACL,KAAA,EACE,4UAAA;AAAA,EACF,IAAA,EAAM,sUAAA;AAAA,EACN,KAAA,EACE,4UAAA;AAAA,EACF,KAAA,EACE,4UAAA;AAAA,EACF,QAAA,EACE,8VAAA;AAAA,EACF,MAAA,EACE,kVAAA;AAAA,EACF,MAAA,EACE,kVAAA;AAAA,EACF,OAAA,EACE,wVAAA;AAAA,EACF,OAAA,EACE,wVAAA;AAAA,EACF,IAAA,EAAM,sUAAA;AAAA,EACN,IAAA,EAAM;AACR,CAAA;AAEO,IAAM,sBAAA,GAAyB;AAAA,EACpC,UAAA,EAAY,iBAAA;AAAA,EACZ,QAAA,EAAU;AACZ,CAAA;AAEO,IAAM,eAAA,GAAkB;AAAA,EAC7B,EAAA,EAAI,aAAA;AAAA,EACJ,EAAA,EAAI,aAAA;AAAA,EACJ,EAAA,EAAI;AACN,CAAA;AAEO,IAAM,cAAA,GAAiB;AAAA,EAC5B,KAAA,EAAO,EAAA;AAAA,EACP,IAAA,EAAM;AACR,CAAA;;;ACpFO,IAAM,eAAA,GAAkBA,2BAAI,cAAA,EAAgB;AAAA,EACjD,QAAA,EAAU;AAAA,IACR,UAAA,EAAY,qBAAA;AAAA,IACZ,IAAA,EAAM,cAAA;AAAA,IACN,WAAA,EAAa,sBAAA;AAAA,IACb,IAAA,EAAM;AAAA,GACR;AAAA,EACA,eAAA,EAAiB;AAAA,IACf,UAAA,EAAY,SAAA;AAAA,IACZ,IAAA,EAAM,IAAA;AAAA,IACN,WAAA,EAAa,YAAA;AAAA,IACb,IAAA,EAAM;AAAA;AAEV,CAAC;ACZD,IAAM,gBAAA,GAAmB,CAAA,gQAAA,CAAA;AAEzB,SAAS,YAAY,KAAA,EAAoC;AACvD,EAAA,IAAI,UAAU,MAAA,EAAW;AACvB,IAAA,OAAO,MAAA;AAAA,EACT;AACA,EAAA,OAAO,OAAO,KAAA,KAAU,QAAA,GAAW,CAAA,EAAG,KAAK,CAAA,EAAA,CAAA,GAAO,KAAA;AACpD;AAEA,SAAS,SAAA,CACP,KACA,KAAA,EACA;AACA,EAAA,IAAI,OAAO,QAAQ,UAAA,EAAY;AAC7B,IAAA,GAAA,CAAI,KAAK,CAAA;AAAA,EACX,WAAW,GAAA,EAAK;AACd,IAAC,IAAqC,OAAA,GAAU,KAAA;AAAA,EAClD;AACF;AAEO,SAAS,QAAQ,KAAA,EAAqB;AAC3C,EAAA,MAAM;AAAA,IACJ,UAAA;AAAA,IACA,QAAA;AAAA,IACA,SAAA;AAAA,IACA,SAAA;AAAA,IACA,IAAA;AAAA,IACA,GAAA;AAAA,IACA,aAAA;AAAA,IACA,WAAA;AAAA,IACA,YAAA,GAAe,KAAA;AAAA,IACf,GAAA;AAAA,IACA,IAAA;AAAA,IACA,KAAA,GAAQ,EAAA;AAAA,IACR,KAAA;AAAA,IACA,cAAA;AAAA,IACA,GAAG;AAAA,GACL,GAAI,KAAA;AAEJ,EAAA,MAAM,sBACJ,WAAA,KACC,SAAA,KAAc,IAAA,IAAQ,SAAA,KAAc,SAAS,UAAA,GAAa,YAAA,CAAA;AAC7D,EAAA,MAAM,iBAAA,GACJ,SAAA,KAAc,mBAAA,KAAwB,UAAA,GAAa,IAAA,GAAO,MAAA,CAAA;AAC5D,EAAA,MAAM,SAAA,GACJ,iBAAA,KAAsB,OAAA,IAAW,iBAAA,KAAsB,MAAA;AACzD,EAAA,MAAM,aAAA,GACJ,mBAAA,KAAwB,UAAA,GAAa,eAAA,GAAkB,eAAA;AACzD,EAAA,MAAM,OAAA,GAAUC,aAA8B,IAAI,CAAA;AAClD,EAAA,MAAM,UAAA,GAAaA,aAA8B,IAAI,CAAA;AACrD,EAAA,MAAM,CAAC,SAAA,EAAW,YAAY,CAAA,GAAIC,eAAS,CAAC,CAAA;AAC5C,EAAA,MAAM,UAAA,GAAaC,cAAQ,MAAMC,cAAA,CAAS,QAAQ,QAAQ,CAAA,EAAG,CAAC,QAAQ,CAAC,CAAA;AACvE,EAAA,MAAM,UAAA,GAAaC,iBAAA;AAAA,IACjB,CAAC,IAAA,KAAgC;AAC/B,MAAA,OAAA,CAAQ,OAAA,GAAU,IAAA;AAClB,MAAA,SAAA,CAAU,KAAK,IAAI,CAAA;AAAA,IACrB,CAAA;AAAA,IACA,CAAC,GAAG;AAAA,GACN;AACA,EAAA,MAAM,YAAA,GAAe;AAAA,IACnB,GAAI,QAAQ,MAAA,GAAY,EAAE,qBAAqB,WAAA,CAAY,GAAG,GAAE,GAAI,IAAA;AAAA,IACpE,GAAG;AAAA,GACL;AACA,EAAA,MAAM,cAAA,GAAiBC,mBAAA;AAAA,IACrB,mEAAA;AAAA,IACA,mBAAA,KAAwB,aAAa,UAAA,GAAa,UAAA;AAAA,IAClD;AAAA,GACF;AACA,EAAA,MAAM,iBAAiB,KAAA,CAAM,IAAA;AAAA,IAC3B,EAAE,MAAA,EAAQ,IAAA,CAAK,IAAI,CAAA,EAAG,SAAA,GAAY,CAAC,CAAA,EAAE;AAAA,IACrC,CAAC,CAAA,EAAG,KAAA,qBACFC,cAAA,CAAC,KAAA,EAAA,EAAgB,aAAA,EAAY,MAAA,EAAO,KAAA,EAAK,IAAA,EAAC,SAAA,EAAU,UAAA,EACjD,QAAA,EAAA,UAAA,EAAA,EADO,KAEV;AAAA,GAEJ;AAEA,EAAAC,0CAAA,CAA0B,MAAM;AAC9B,IAAA,MAAM,kBAAkB,MAAM;AAC5B,MAAA,MAAM,OAAO,OAAA,CAAQ,OAAA;AACrB,MAAA,MAAM,UAAU,UAAA,CAAW,OAAA;AAE3B,MAAA,IAAI,CAAC,IAAA,IAAQ,CAAC,OAAA,EAAS;AACrB,QAAA;AAAA,MACF;AAEA,MAAA,MAAM,QAAA,GACJ,mBAAA,KAAwB,UAAA,GACpB,IAAA,CAAK,eACL,IAAA,CAAK,WAAA;AACX,MAAA,MAAM,WAAA,GACJ,mBAAA,KAAwB,UAAA,GACpB,OAAA,CAAQ,eACR,OAAA,CAAQ,WAAA;AAEd,MAAA,IAAI,CAAC,QAAA,IAAY,CAAC,WAAA,EAAa;AAC7B,QAAA,YAAA,CAAa,CAAC,CAAA;AACd,QAAA;AAAA,MACF;AAEA,MAAA,YAAA,CAAa,IAAA,CAAK,IAAI,CAAA,EAAG,IAAA,CAAK,KAAK,QAAA,GAAW,WAAW,CAAC,CAAC,CAAA;AAAA,IAC7D,CAAA;AAEA,IAAA,eAAA,EAAgB;AAEhB,IAAA,IAAI,OAAO,mBAAmB,WAAA,EAAa;AACzC,MAAA;AAAA,IACF;AAEA,IAAA,MAAM,QAAA,GAAW,IAAI,cAAA,CAAe,eAAe,CAAA;AACnD,IAAA,IAAI,QAAQ,OAAA,EAAS;AACnB,MAAA,QAAA,CAAS,OAAA,CAAQ,QAAQ,OAAO,CAAA;AAAA,IAClC;AACA,IAAA,IAAI,WAAW,OAAA,EAAS;AACtB,MAAA,QAAA,CAAS,OAAA,CAAQ,WAAW,OAAO,CAAA;AAAA,IACrC;AAEA,IAAA,OAAO,MAAM,SAAS,UAAA,EAAW;AAAA,EACnC,CAAA,EAAG,CAAC,UAAA,EAAY,GAAA,EAAK,mBAAmB,CAAC,CAAA;AAEzC,EAAA,uBACEC,eAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,GAAA,EAAK,UAAA;AAAA,MACL,gBAAA,EAAgB,iBAAA;AAAA,MAChB,kBAAA,EAAkB,mBAAA;AAAA,MAClB,WAAA,EAAU,SAAA;AAAA,MACV,SAAA,EAAWH,mBAAA;AAAA,QACT,eAAA,CAAgB;AAAA,UACd,UAAA;AAAA,UACA,IAAA;AAAA,UACA,WAAA,EAAa,mBAAA;AAAA,UACb;AAAA,SACD,CAAA;AAAA,QACD;AAAA,OACF;AAAA,MACA,KAAA,EAAO,YAAA;AAAA,MACN,GAAG,IAAA;AAAA,MAEJ,QAAA,EAAA;AAAA,wBAAAC,cAAA,CAAC,WAAO,QAAA,EAAA,gBAAA,EAAiB,CAAA;AAAA,wBACzBA,cAAA;AAAA,UAAC,KAAA;AAAA,UAAA;AAAA,YACC,aAAA,EAAY,MAAA;AAAA,YACZ,WAAA,EAAU,iBAAA;AAAA,YACV,GAAA,EAAK,UAAA;AAAA,YACL,SAAA,EAAWD,mBAAA;AAAA,cACT,8CAAA;AAAA,cACA;AAAA,aACF;AAAA,YAEC,QAAA,EAAA;AAAA;AAAA,SACH;AAAA,wBACAG,eAAA;AAAA,UAAC,KAAA;AAAA,UAAA;AAAA,YACC,WAAA,EAAU,eAAA;AAAA,YACV,SAAA,EAAWH,mBAAA;AAAA,cACT,iLAAA;AAAA,cACA,mBAAA,KAAwB,aAAa,UAAA,GAAa,gBAAA;AAAA,cAClD,YAAA,IAAgB,mDAAA;AAAA,cAChB,SAAA,IAAa,+BAAA;AAAA,cACb;AAAA,aACF;AAAA,YACA,KAAA,EACE;AAAA,cACE,iBAAA,EAAmB,GAAG,KAAK,CAAA,CAAA,CAAA;AAAA,cAC3B;AAAA,aACF;AAAA,YAGF,QAAA,EAAA;AAAA,8BAAAG,eAAA,CAAC,KAAA,EAAA,EAAI,WAAA,EAAU,oBAAA,EAAqB,SAAA,EAAW,cAAA,EAC5C,QAAA,EAAA;AAAA,gBAAA,UAAA;AAAA,gBACA;AAAA,eAAA,EACH,CAAA;AAAA,8BACAA,eAAA;AAAA,gBAAC,KAAA;AAAA,gBAAA;AAAA,kBACC,aAAA,EAAY,MAAA;AAAA,kBACZ,KAAA,EAAK,IAAA;AAAA,kBACL,WAAA,EAAU,oBAAA;AAAA,kBACV,SAAA,EAAW,cAAA;AAAA,kBAEV,QAAA,EAAA;AAAA,oBAAA,UAAA;AAAA,oBACA;AAAA;AAAA;AAAA;AACH;AAAA;AAAA;AACF;AAAA;AAAA,GACF;AAEJ;AAEA,OAAA,CAAQ,WAAA,GAAc,SAAA","file":"marquee.js","sourcesContent":["export const zuiMarqueeBase =\n \"group/marquee relative isolate flex min-w-0 overflow-hidden rounded-xl border border-transparent bg-[var(--zui-marquee-bg,transparent)] text-[color:var(--zui-marquee-fg,inherit)] [--zui-marquee-gap:1rem]\";\n\nexport const zuiMarqueeAppearances = {\n default:\n \"[--zui-marquee-bg:transparent] [--zui-marquee-fg:oklch(20.8%_0.042_265.755)] dark:[--zui-marquee-fg:#ffffff]\",\n outline:\n \"border-[color:var(--zui-marquee-outline-border,oklch(86.9%_0.022_252.894))] [--zui-marquee-bg:#ffffff] [--zui-marquee-fg:oklch(20.8%_0.042_265.755)] dark:border-[color:var(--zui-marquee-outline-border-dark,oklch(37.2%_0.044_257.287))] dark:[--zui-marquee-bg:oklch(20.8%_0.042_265.755)] dark:[--zui-marquee-fg:#ffffff]\",\n ghost:\n \"[--zui-marquee-bg:transparent] [--zui-marquee-fg:oklch(27.9%_0.041_260.031)] dark:[--zui-marquee-fg:oklch(96.8%_0.007_247.896)]\",\n card: \"border-[color:var(--zui-marquee-card-border,oklch(92.9%_0.013_255.508))] bg-[var(--zui-marquee-card-bg,#ffffff)] shadow-sm shadow-slate-950/5 [--zui-marquee-fg:oklch(20.8%_0.042_265.755)] dark:border-[color:var(--zui-marquee-card-border-dark,oklch(37.2%_0.044_257.287))] dark:bg-[var(--zui-marquee-card-bg-dark,oklch(20.8%_0.042_265.755_/_0.9))] dark:shadow-black/20 dark:[--zui-marquee-fg:#ffffff]\",\n separated:\n \"border-y border-x-0 rounded-none border-[color:var(--zui-marquee-separated-border,oklch(86.9%_0.022_252.894))] [--zui-marquee-bg:transparent] [--zui-marquee-fg:oklch(20.8%_0.042_265.755)] dark:border-[color:var(--zui-marquee-separated-border-dark,oklch(37.2%_0.044_257.287))] dark:[--zui-marquee-fg:#ffffff]\",\n sky: \"border-[color:var(--zui-marquee-sky-border,oklch(62.3%_0.214_259.815_/_0.28))] [--zui-marquee-bg:oklch(97.7%_0.013_236.62)] [--zui-marquee-fg:oklch(39.1%_0.09_240.876)] dark:border-[color:var(--zui-marquee-sky-border-dark,oklch(70.7%_0.165_254.624_/_0.3))] dark:[--zui-marquee-bg:oklch(39.1%_0.09_240.876_/_0.28)] dark:[--zui-marquee-fg:oklch(95.1%_0.026_236.824)]\",\n rose: \"border-[color:var(--zui-marquee-rose-border,oklch(58.6%_0.253_17.585_/_0.24))] [--zui-marquee-bg:oklch(96.9%_0.015_12.422)] [--zui-marquee-fg:oklch(41%_0.159_10.272)] dark:border-[color:var(--zui-marquee-rose-border-dark,oklch(71.2%_0.194_13.428_/_0.3))] dark:[--zui-marquee-bg:oklch(41%_0.159_10.272_/_0.28)] dark:[--zui-marquee-fg:oklch(94.1%_0.03_12.58)]\",\n purple:\n \"border-[color:var(--zui-marquee-purple-border,oklch(62.7%_0.265_303.9_/_0.24))] [--zui-marquee-bg:oklch(97.7%_0.014_308.299)] [--zui-marquee-fg:oklch(38.1%_0.176_304.987)] dark:border-[color:var(--zui-marquee-purple-border-dark,oklch(71.4%_0.203_305.504_/_0.3))] dark:[--zui-marquee-bg:oklch(38.1%_0.176_304.987_/_0.28)] dark:[--zui-marquee-fg:oklch(94.6%_0.033_307.174)]\",\n pink: \"border-[color:var(--zui-marquee-pink-border,oklch(65.6%_0.241_354.308_/_0.24))] [--zui-marquee-bg:oklch(97.1%_0.014_343.198)] [--zui-marquee-fg:oklch(40.8%_0.153_2.432)] dark:border-[color:var(--zui-marquee-pink-border-dark,oklch(71.8%_0.202_349.761_/_0.3))] dark:[--zui-marquee-bg:oklch(40.8%_0.153_2.432_/_0.28)] dark:[--zui-marquee-fg:oklch(94.8%_0.028_342.258)]\",\n orange:\n \"border-[color:var(--zui-marquee-orange-border,oklch(70.5%_0.213_47.604_/_0.26))] [--zui-marquee-bg:oklch(98%_0.016_73.684)] [--zui-marquee-fg:oklch(40.8%_0.123_38.172)] dark:border-[color:var(--zui-marquee-orange-border-dark,oklch(75%_0.183_55.934_/_0.32))] dark:[--zui-marquee-bg:oklch(40.8%_0.123_38.172_/_0.28)] dark:[--zui-marquee-fg:oklch(95.4%_0.038_75.164)]\",\n yellow:\n \"border-[color:var(--zui-marquee-yellow-border,oklch(79.5%_0.184_86.047_/_0.3))] [--zui-marquee-bg:oklch(98.7%_0.026_102.212)] [--zui-marquee-fg:oklch(42.1%_0.095_57.708)] dark:border-[color:var(--zui-marquee-yellow-border-dark,oklch(85.2%_0.199_91.936_/_0.32))] dark:[--zui-marquee-bg:oklch(42.1%_0.095_57.708_/_0.28)] dark:[--zui-marquee-fg:oklch(97.3%_0.071_103.193)]\",\n teal: \"border-[color:var(--zui-marquee-teal-border,oklch(70.4%_0.14_182.503_/_0.28))] [--zui-marquee-bg:oklch(98.4%_0.014_180.72)] [--zui-marquee-fg:oklch(38.6%_0.063_188.416)] dark:border-[color:var(--zui-marquee-teal-border-dark,oklch(77.7%_0.152_181.912_/_0.32))] dark:[--zui-marquee-bg:oklch(38.6%_0.063_188.416_/_0.28)] dark:[--zui-marquee-fg:oklch(95.3%_0.051_180.801)]\",\n indigo:\n \"border-[color:var(--zui-marquee-indigo-border,oklch(58.5%_0.233_277.117_/_0.24))] [--zui-marquee-bg:oklch(96.2%_0.018_272.314)] [--zui-marquee-fg:oklch(35.9%_0.144_278.697)] dark:border-[color:var(--zui-marquee-indigo-border-dark,oklch(67.3%_0.182_276.935_/_0.32))] dark:[--zui-marquee-bg:oklch(35.9%_0.144_278.697_/_0.28)] dark:[--zui-marquee-fg:oklch(93%_0.034_272.788)]\",\n emerald:\n \"border-[color:var(--zui-marquee-emerald-border,oklch(69.6%_0.17_162.48_/_0.28))] [--zui-marquee-bg:oklch(97.9%_0.021_166.113)] [--zui-marquee-fg:oklch(37.8%_0.077_168.94)] dark:border-[color:var(--zui-marquee-emerald-border-dark,oklch(76.5%_0.177_163.223_/_0.32))] dark:[--zui-marquee-bg:oklch(37.8%_0.077_168.94_/_0.28)] dark:[--zui-marquee-fg:oklch(95%_0.052_163.051)]\",\n \"gradient-blue\":\n \"border-transparent bg-linear-to-r from-[var(--zui-marquee-gradient-blue-from,oklch(62.3%_0.214_259.815))] dark:from-[var(--zui-marquee-gradient-blue-from-dark,oklch(42.4%_0.199_265.638))] to-[var(--zui-marquee-gradient-blue-to,oklch(54.6%_0.245_262.881))] dark:to-[var(--zui-marquee-gradient-blue-to-dark,oklch(37.9%_0.146_265.522))] [--zui-marquee-fg:#ffffff] dark:[--zui-marquee-fg:#ffffff]\",\n \"gradient-green\":\n \"border-transparent bg-linear-to-r from-[var(--zui-marquee-gradient-green-from,oklch(72.3%_0.219_149.579))] dark:from-[var(--zui-marquee-gradient-green-from-dark,oklch(44.8%_0.119_151.328))] to-[var(--zui-marquee-gradient-green-to,oklch(62.7%_0.194_149.214))] dark:to-[var(--zui-marquee-gradient-green-to-dark,oklch(39.3%_0.095_152.535))] [--zui-marquee-fg:#ffffff] dark:[--zui-marquee-fg:#ffffff]\",\n \"gradient-red\":\n \"border-transparent bg-linear-to-r from-[var(--zui-marquee-gradient-red-from,oklch(63.7%_0.237_25.331))] dark:from-[var(--zui-marquee-gradient-red-from-dark,oklch(44.4%_0.177_26.899))] to-[var(--zui-marquee-gradient-red-to,oklch(57.7%_0.245_27.325))] dark:to-[var(--zui-marquee-gradient-red-to-dark,oklch(39.6%_0.141_25.723))] [--zui-marquee-fg:#ffffff] dark:[--zui-marquee-fg:#ffffff]\",\n \"gradient-yellow\":\n \"border-transparent bg-linear-to-r from-[var(--zui-marquee-gradient-yellow-from,oklch(85.2%_0.199_91.936))] dark:from-[var(--zui-marquee-gradient-yellow-from-dark,oklch(47.6%_0.114_61.907))] to-[var(--zui-marquee-gradient-yellow-to,oklch(79.5%_0.184_86.047))] dark:to-[var(--zui-marquee-gradient-yellow-to-dark,oklch(42.1%_0.095_57.708))] [--zui-marquee-fg:oklch(27.9%_0.077_45.635)] dark:[--zui-marquee-fg:#ffffff]\",\n \"gradient-purple\":\n \"border-transparent bg-linear-to-r from-[var(--zui-marquee-gradient-purple-from,oklch(71.4%_0.203_305.504))] dark:from-[var(--zui-marquee-gradient-purple-from-dark,oklch(43.8%_0.218_303.724))] to-[var(--zui-marquee-gradient-purple-to,oklch(62.7%_0.265_303.9))] dark:to-[var(--zui-marquee-gradient-purple-to-dark,oklch(38.1%_0.176_304.987))] [--zui-marquee-fg:#ffffff] dark:[--zui-marquee-fg:#ffffff]\",\n \"gradient-teal\":\n \"border-transparent bg-linear-to-r from-[var(--zui-marquee-gradient-teal-from,oklch(77.7%_0.152_181.912))] dark:from-[var(--zui-marquee-gradient-teal-from-dark,oklch(43.7%_0.078_188.216))] to-[var(--zui-marquee-gradient-teal-to,oklch(70.4%_0.14_182.503))] dark:to-[var(--zui-marquee-gradient-teal-to-dark,oklch(38.6%_0.063_188.416))] [--zui-marquee-fg:#ffffff] dark:[--zui-marquee-fg:#ffffff]\",\n \"gradient-indigo\":\n \"border-transparent bg-linear-to-r from-[var(--zui-marquee-gradient-indigo-from,oklch(67.3%_0.182_276.935))] dark:from-[var(--zui-marquee-gradient-indigo-from-dark,oklch(39.8%_0.195_277.366))] to-[var(--zui-marquee-gradient-indigo-to,oklch(58.5%_0.233_277.117))] dark:to-[var(--zui-marquee-gradient-indigo-to-dark,oklch(35.9%_0.144_278.697))] [--zui-marquee-fg:#ffffff] dark:[--zui-marquee-fg:#ffffff]\",\n \"gradient-pink\":\n \"border-transparent bg-linear-to-r from-[var(--zui-marquee-gradient-pink-from,oklch(71.8%_0.202_349.761))] dark:from-[var(--zui-marquee-gradient-pink-from-dark,oklch(45.9%_0.187_3.815))] to-[var(--zui-marquee-gradient-pink-to,oklch(65.6%_0.241_354.308))] dark:to-[var(--zui-marquee-gradient-pink-to-dark,oklch(40.8%_0.153_2.432))] [--zui-marquee-fg:#ffffff] dark:[--zui-marquee-fg:#ffffff]\",\n \"gradient-orange\":\n \"border-transparent bg-linear-to-r from-[var(--zui-marquee-gradient-orange-from,oklch(75%_0.183_55.934))] dark:from-[var(--zui-marquee-gradient-orange-from-dark,oklch(47%_0.157_37.304))] to-[var(--zui-marquee-gradient-orange-to,oklch(70.5%_0.213_47.604))] dark:to-[var(--zui-marquee-gradient-orange-to-dark,oklch(40.8%_0.123_38.172))] [--zui-marquee-fg:#ffffff] dark:[--zui-marquee-fg:#ffffff]\",\n blue: \"border border-[color:var(--zui-marquee-blue-border,#2563eb)] dark:border-[color:var(--zui-marquee-blue-border-dark,#3b82f6)] bg-[var(--zui-marquee-blue-bg,#2563eb14)] dark:bg-[var(--zui-marquee-blue-bg-dark,#3b82f624)] text-[color:var(--zui-marquee-blue-fg,#0f172a)] dark:text-[color:var(--zui-marquee-blue-fg-dark,#f8fafc)]\",\n cyan: \"border border-[color:var(--zui-marquee-cyan-border,#0891b2)] dark:border-[color:var(--zui-marquee-cyan-border-dark,#22d3ee)] bg-[var(--zui-marquee-cyan-bg,#0891b214)] dark:bg-[var(--zui-marquee-cyan-bg-dark,#22d3ee24)] text-[color:var(--zui-marquee-cyan-fg,#0f172a)] dark:text-[color:var(--zui-marquee-cyan-fg-dark,#f8fafc)]\",\n green:\n \"border border-[color:var(--zui-marquee-green-border,#16a34a)] dark:border-[color:var(--zui-marquee-green-border-dark,#22c55e)] bg-[var(--zui-marquee-green-bg,#16a34a14)] dark:bg-[var(--zui-marquee-green-bg-dark,#22c55e24)] text-[color:var(--zui-marquee-green-fg,#0f172a)] dark:text-[color:var(--zui-marquee-green-fg-dark,#f8fafc)]\",\n lime: \"border border-[color:var(--zui-marquee-lime-border,#65a30d)] dark:border-[color:var(--zui-marquee-lime-border-dark,#a3e635)] bg-[var(--zui-marquee-lime-bg,#65a30d14)] dark:bg-[var(--zui-marquee-lime-bg-dark,#a3e63524)] text-[color:var(--zui-marquee-lime-fg,#0f172a)] dark:text-[color:var(--zui-marquee-lime-fg-dark,#f8fafc)]\",\n mint: \"border border-[color:var(--zui-marquee-mint-border,#10b981)] dark:border-[color:var(--zui-marquee-mint-border-dark,#6ee7b7)] bg-[var(--zui-marquee-mint-bg,#10b98114)] dark:bg-[var(--zui-marquee-mint-bg-dark,#6ee7b724)] text-[color:var(--zui-marquee-mint-fg,#0f172a)] dark:text-[color:var(--zui-marquee-mint-fg-dark,#f8fafc)]\",\n ocean:\n \"border border-[color:var(--zui-marquee-ocean-border,#0284c7)] dark:border-[color:var(--zui-marquee-ocean-border-dark,#38bdf8)] bg-[var(--zui-marquee-ocean-bg,#0284c714)] dark:bg-[var(--zui-marquee-ocean-bg-dark,#38bdf824)] text-[color:var(--zui-marquee-ocean-fg,#0f172a)] dark:text-[color:var(--zui-marquee-ocean-fg-dark,#f8fafc)]\",\n sapphire:\n \"border border-[color:var(--zui-marquee-sapphire-border,#1d4ed8)] dark:border-[color:var(--zui-marquee-sapphire-border-dark,#60a5fa)] bg-[var(--zui-marquee-sapphire-bg,#1d4ed814)] dark:bg-[var(--zui-marquee-sapphire-bg-dark,#60a5fa24)] text-[color:var(--zui-marquee-sapphire-fg,#0f172a)] dark:text-[color:var(--zui-marquee-sapphire-fg-dark,#f8fafc)]\",\n lavender:\n \"border border-[color:var(--zui-marquee-lavender-border,#8b5cf6)] dark:border-[color:var(--zui-marquee-lavender-border-dark,#a78bfa)] bg-[var(--zui-marquee-lavender-bg,#8b5cf614)] dark:bg-[var(--zui-marquee-lavender-bg-dark,#a78bfa24)] text-[color:var(--zui-marquee-lavender-fg,#0f172a)] dark:text-[color:var(--zui-marquee-lavender-fg-dark,#f8fafc)]\",\n ruby: \"border border-[color:var(--zui-marquee-ruby-border,#be123c)] dark:border-[color:var(--zui-marquee-ruby-border-dark,#fb7185)] bg-[var(--zui-marquee-ruby-bg,#be123c14)] dark:bg-[var(--zui-marquee-ruby-bg-dark,#fb718524)] text-[color:var(--zui-marquee-ruby-fg,#0f172a)] dark:text-[color:var(--zui-marquee-ruby-fg-dark,#f8fafc)]\",\n red: \"border border-[color:var(--zui-marquee-red-border,#dc2626)] dark:border-[color:var(--zui-marquee-red-border-dark,#ef4444)] bg-[var(--zui-marquee-red-bg,#dc262614)] dark:bg-[var(--zui-marquee-red-bg-dark,#ef444424)] text-[color:var(--zui-marquee-red-fg,#0f172a)] dark:text-[color:var(--zui-marquee-red-fg-dark,#f8fafc)]\",\n slate:\n \"border border-[color:var(--zui-marquee-slate-border,#475569)] dark:border-[color:var(--zui-marquee-slate-border-dark,#64748b)] bg-[var(--zui-marquee-slate-bg,#47556914)] dark:bg-[var(--zui-marquee-slate-bg-dark,#64748b24)] text-[color:var(--zui-marquee-slate-fg,#0f172a)] dark:text-[color:var(--zui-marquee-slate-fg-dark,#f8fafc)]\",\n zinc: \"border border-[color:var(--zui-marquee-zinc-border,#52525b)] dark:border-[color:var(--zui-marquee-zinc-border-dark,#71717a)] bg-[var(--zui-marquee-zinc-bg,#52525b14)] dark:bg-[var(--zui-marquee-zinc-bg-dark,#71717a24)] text-[color:var(--zui-marquee-zinc-fg,#0f172a)] dark:text-[color:var(--zui-marquee-zinc-fg-dark,#f8fafc)]\",\n stone:\n \"border border-[color:var(--zui-marquee-stone-border,#57534e)] dark:border-[color:var(--zui-marquee-stone-border-dark,#78716c)] bg-[var(--zui-marquee-stone-bg,#57534e14)] dark:bg-[var(--zui-marquee-stone-bg-dark,#78716c24)] text-[color:var(--zui-marquee-stone-fg,#0f172a)] dark:text-[color:var(--zui-marquee-stone-fg-dark,#f8fafc)]\",\n royal:\n \"border border-[color:var(--zui-marquee-royal-border,#4338ca)] dark:border-[color:var(--zui-marquee-royal-border-dark,#818cf8)] bg-[var(--zui-marquee-royal-bg,#4338ca14)] dark:bg-[var(--zui-marquee-royal-bg-dark,#818cf824)] text-[color:var(--zui-marquee-royal-fg,#0f172a)] dark:text-[color:var(--zui-marquee-royal-fg-dark,#f8fafc)]\",\n electric:\n \"border border-[color:var(--zui-marquee-electric-border,#0ea5e9)] dark:border-[color:var(--zui-marquee-electric-border-dark,#38bdf8)] bg-[var(--zui-marquee-electric-bg,#0ea5e914)] dark:bg-[var(--zui-marquee-electric-bg-dark,#38bdf824)] text-[color:var(--zui-marquee-electric-fg,#0f172a)] dark:text-[color:var(--zui-marquee-electric-fg-dark,#f8fafc)]\",\n forest:\n \"border border-[color:var(--zui-marquee-forest-border,#166534)] dark:border-[color:var(--zui-marquee-forest-border-dark,#4ade80)] bg-[var(--zui-marquee-forest-bg,#16653414)] dark:bg-[var(--zui-marquee-forest-bg-dark,#4ade8024)] text-[color:var(--zui-marquee-forest-fg,#0f172a)] dark:text-[color:var(--zui-marquee-forest-fg-dark,#f8fafc)]\",\n sunset:\n \"border border-[color:var(--zui-marquee-sunset-border,#ea580c)] dark:border-[color:var(--zui-marquee-sunset-border-dark,#fb923c)] bg-[var(--zui-marquee-sunset-bg,#ea580c14)] dark:bg-[var(--zui-marquee-sunset-bg-dark,#fb923c24)] text-[color:var(--zui-marquee-sunset-fg,#0f172a)] dark:text-[color:var(--zui-marquee-sunset-fg-dark,#f8fafc)]\",\n magenta:\n \"border border-[color:var(--zui-marquee-magenta-border,#c026d3)] dark:border-[color:var(--zui-marquee-magenta-border-dark,#e879f9)] bg-[var(--zui-marquee-magenta-bg,#c026d314)] dark:bg-[var(--zui-marquee-magenta-bg-dark,#e879f924)] text-[color:var(--zui-marquee-magenta-fg,#0f172a)] dark:text-[color:var(--zui-marquee-magenta-fg-dark,#f8fafc)]\",\n crimson:\n \"border border-[color:var(--zui-marquee-crimson-border,#b91c1c)] dark:border-[color:var(--zui-marquee-crimson-border-dark,#f87171)] bg-[var(--zui-marquee-crimson-bg,#b91c1c14)] dark:bg-[var(--zui-marquee-crimson-bg-dark,#f8717124)] text-[color:var(--zui-marquee-crimson-fg,#0f172a)] dark:text-[color:var(--zui-marquee-crimson-fg-dark,#f8fafc)]\",\n aqua: \"border border-[color:var(--zui-marquee-aqua-border,#0f766e)] dark:border-[color:var(--zui-marquee-aqua-border-dark,#2dd4bf)] bg-[var(--zui-marquee-aqua-bg,#0f766e14)] dark:bg-[var(--zui-marquee-aqua-bg-dark,#2dd4bf24)] text-[color:var(--zui-marquee-aqua-fg,#0f172a)] dark:text-[color:var(--zui-marquee-aqua-fg-dark,#f8fafc)]\",\n plum: \"border border-[color:var(--zui-marquee-plum-border,#7e22ce)] dark:border-[color:var(--zui-marquee-plum-border-dark,#c084fc)] bg-[var(--zui-marquee-plum-bg,#7e22ce14)] dark:bg-[var(--zui-marquee-plum-bg-dark,#c084fc24)] text-[color:var(--zui-marquee-plum-fg,#0f172a)] dark:text-[color:var(--zui-marquee-plum-fg-dark,#f8fafc)]\",\n} as const;\n\nexport const zuiMarqueeOrientations = {\n horizontal: \"w-full flex-row\",\n vertical: \"h-64 flex-col\",\n} as const;\n\nexport const zuiMarqueeSizes = {\n sm: \"p-2 text-xs\",\n md: \"p-3 text-sm\",\n lg: \"p-4 text-base\",\n} as const;\n\nexport const zuiMarqueeFade = {\n false: \"\",\n true: \"[mask-image:linear-gradient(to_right,transparent,black_12%,black_88%,transparent)] data-[orientation=vertical]:[mask-image:linear-gradient(to_bottom,transparent,black_12%,black_88%,transparent)]\",\n} as const;\n","import { cva } from \"class-variance-authority\";\n\nimport {\n zuiMarqueeAppearances,\n zuiMarqueeBase,\n zuiMarqueeFade,\n zuiMarqueeOrientations,\n zuiMarqueeSizes,\n} from \"../../design-system/marquee\";\n\nexport const marqueeVariants = cva(zuiMarqueeBase, {\n variants: {\n appearance: zuiMarqueeAppearances,\n fade: zuiMarqueeFade,\n orientation: zuiMarqueeOrientations,\n size: zuiMarqueeSizes,\n },\n defaultVariants: {\n appearance: \"default\",\n fade: true,\n orientation: \"horizontal\",\n size: \"md\",\n },\n});\n","\"use client\";\n\nimport { Children, useCallback, useMemo, useRef, useState } from \"react\";\nimport type { CSSProperties, Ref } from \"react\";\n\nimport { useIsomorphicLayoutEffect } from \"../../hooks/useIsomorphicLayoutEffect\";\nimport { cn } from \"../../lib/utils\";\n\nimport type { MarqueeProps } from \"./types\";\nimport { marqueeVariants } from \"./variants\";\n\nconst marqueeKeyframes = `@keyframes zui-marquee-x{from{transform:translate3d(0,0,0)}to{transform:translate3d(calc(-50% - var(--zui-marquee-gap)/2),0,0)}}@keyframes zui-marquee-y{from{transform:translate3d(0,0,0)}to{transform:translate3d(0,calc(-50% - var(--zui-marquee-gap)/2),0)}}`;\n\nfunction toCssLength(value: number | string | undefined) {\n if (value === undefined) {\n return undefined;\n }\n return typeof value === \"number\" ? `${value}px` : value;\n}\n\nfunction assignRef<TElement>(\n ref: Ref<TElement> | undefined,\n value: TElement | null,\n) {\n if (typeof ref === \"function\") {\n ref(value);\n } else if (ref) {\n (ref as { current: TElement | null }).current = value;\n }\n}\n\nexport function Marquee(props: MarqueeProps) {\n const {\n appearance,\n children,\n className,\n direction,\n fade,\n gap,\n itemClassName,\n orientation,\n pauseOnHover = false,\n ref,\n size,\n speed = 30,\n style,\n trackClassName,\n ...rest\n } = props;\n\n const resolvedOrientation =\n orientation ??\n (direction === \"up\" || direction === \"down\" ? \"vertical\" : \"horizontal\");\n const resolvedDirection =\n direction ?? (resolvedOrientation === \"vertical\" ? \"up\" : \"left\");\n const isReverse =\n resolvedDirection === \"right\" || resolvedDirection === \"down\";\n const animationName =\n resolvedOrientation === \"vertical\" ? \"zui-marquee-y\" : \"zui-marquee-x\";\n const rootRef = useRef<HTMLDivElement | null>(null);\n const measureRef = useRef<HTMLDivElement | null>(null);\n const [copyCount, setCopyCount] = useState(1);\n const childArray = useMemo(() => Children.toArray(children), [children]);\n const setRootRef = useCallback(\n (node: HTMLDivElement | null) => {\n rootRef.current = node;\n assignRef(ref, node);\n },\n [ref],\n );\n const marqueeStyle = {\n ...(gap !== undefined ? { \"--zui-marquee-gap\": toCssLength(gap) } : null),\n ...style,\n } as CSSProperties;\n const groupClassName = cn(\n \"flex shrink-0 items-center justify-around gap-(--zui-marquee-gap)\",\n resolvedOrientation === \"vertical\" ? \"flex-col\" : \"flex-row\",\n itemClassName,\n );\n const fillerChildren = Array.from(\n { length: Math.max(0, copyCount - 1) },\n (_, index) => (\n <div key={index} aria-hidden=\"true\" inert className=\"contents\">\n {childArray}\n </div>\n ),\n );\n\n useIsomorphicLayoutEffect(() => {\n const updateCopyCount = () => {\n const root = rootRef.current;\n const measure = measureRef.current;\n\n if (!root || !measure) {\n return;\n }\n\n const rootSize =\n resolvedOrientation === \"vertical\"\n ? root.offsetHeight\n : root.offsetWidth;\n const contentSize =\n resolvedOrientation === \"vertical\"\n ? measure.scrollHeight\n : measure.scrollWidth;\n\n if (!rootSize || !contentSize) {\n setCopyCount(1);\n return;\n }\n\n setCopyCount(Math.max(1, Math.ceil(rootSize / contentSize)));\n };\n\n updateCopyCount();\n\n if (typeof ResizeObserver === \"undefined\") {\n return;\n }\n\n const observer = new ResizeObserver(updateCopyCount);\n if (rootRef.current) {\n observer.observe(rootRef.current);\n }\n if (measureRef.current) {\n observer.observe(measureRef.current);\n }\n\n return () => observer.disconnect();\n }, [childArray, gap, resolvedOrientation]);\n\n return (\n <div\n ref={setRootRef}\n data-direction={resolvedDirection}\n data-orientation={resolvedOrientation}\n data-slot=\"marquee\"\n className={cn(\n marqueeVariants({\n appearance,\n fade,\n orientation: resolvedOrientation,\n size,\n }),\n className,\n )}\n style={marqueeStyle}\n {...rest}\n >\n <style>{marqueeKeyframes}</style>\n <div\n aria-hidden=\"true\"\n data-slot=\"marquee-measure\"\n ref={measureRef}\n className={cn(\n \"pointer-events-none invisible absolute -z-10\",\n groupClassName,\n )}\n >\n {childArray}\n </div>\n <div\n data-slot=\"marquee-track\"\n className={cn(\n \"flex shrink-0 gap-(--zui-marquee-gap) will-change-transform [animation-iteration-count:infinite] [animation-timing-function:linear] motion-reduce:[animation-play-state:paused]\",\n resolvedOrientation === \"vertical\" ? \"flex-col\" : \"w-max flex-row\",\n pauseOnHover && \"group-hover/marquee:[animation-play-state:paused]\",\n isReverse && \"[animation-direction:reverse]\",\n trackClassName,\n )}\n style={\n {\n animationDuration: `${speed}s`,\n animationName,\n } as CSSProperties\n }\n >\n <div data-slot=\"marquee-item-group\" className={groupClassName}>\n {childArray}\n {fillerChildren}\n </div>\n <div\n aria-hidden=\"true\"\n inert\n data-slot=\"marquee-item-group\"\n className={groupClassName}\n >\n {childArray}\n {fillerChildren}\n </div>\n </div>\n </div>\n );\n}\n\nMarquee.displayName = \"Marquee\";\n"]}
|
package/dist/ui/marquee.mjs
CHANGED
|
@@ -30,7 +30,28 @@ var zuiMarqueeAppearances = {
|
|
|
30
30
|
"gradient-teal": "border-transparent bg-linear-to-r from-[var(--zui-marquee-gradient-teal-from,oklch(77.7%_0.152_181.912))] dark:from-[var(--zui-marquee-gradient-teal-from-dark,oklch(43.7%_0.078_188.216))] to-[var(--zui-marquee-gradient-teal-to,oklch(70.4%_0.14_182.503))] dark:to-[var(--zui-marquee-gradient-teal-to-dark,oklch(38.6%_0.063_188.416))] [--zui-marquee-fg:#ffffff] dark:[--zui-marquee-fg:#ffffff]",
|
|
31
31
|
"gradient-indigo": "border-transparent bg-linear-to-r from-[var(--zui-marquee-gradient-indigo-from,oklch(67.3%_0.182_276.935))] dark:from-[var(--zui-marquee-gradient-indigo-from-dark,oklch(39.8%_0.195_277.366))] to-[var(--zui-marquee-gradient-indigo-to,oklch(58.5%_0.233_277.117))] dark:to-[var(--zui-marquee-gradient-indigo-to-dark,oklch(35.9%_0.144_278.697))] [--zui-marquee-fg:#ffffff] dark:[--zui-marquee-fg:#ffffff]",
|
|
32
32
|
"gradient-pink": "border-transparent bg-linear-to-r from-[var(--zui-marquee-gradient-pink-from,oklch(71.8%_0.202_349.761))] dark:from-[var(--zui-marquee-gradient-pink-from-dark,oklch(45.9%_0.187_3.815))] to-[var(--zui-marquee-gradient-pink-to,oklch(65.6%_0.241_354.308))] dark:to-[var(--zui-marquee-gradient-pink-to-dark,oklch(40.8%_0.153_2.432))] [--zui-marquee-fg:#ffffff] dark:[--zui-marquee-fg:#ffffff]",
|
|
33
|
-
"gradient-orange": "border-transparent bg-linear-to-r from-[var(--zui-marquee-gradient-orange-from,oklch(75%_0.183_55.934))] dark:from-[var(--zui-marquee-gradient-orange-from-dark,oklch(47%_0.157_37.304))] to-[var(--zui-marquee-gradient-orange-to,oklch(70.5%_0.213_47.604))] dark:to-[var(--zui-marquee-gradient-orange-to-dark,oklch(40.8%_0.123_38.172))] [--zui-marquee-fg:#ffffff] dark:[--zui-marquee-fg:#ffffff]"
|
|
33
|
+
"gradient-orange": "border-transparent bg-linear-to-r from-[var(--zui-marquee-gradient-orange-from,oklch(75%_0.183_55.934))] dark:from-[var(--zui-marquee-gradient-orange-from-dark,oklch(47%_0.157_37.304))] to-[var(--zui-marquee-gradient-orange-to,oklch(70.5%_0.213_47.604))] dark:to-[var(--zui-marquee-gradient-orange-to-dark,oklch(40.8%_0.123_38.172))] [--zui-marquee-fg:#ffffff] dark:[--zui-marquee-fg:#ffffff]",
|
|
34
|
+
blue: "border border-[color:var(--zui-marquee-blue-border,#2563eb)] dark:border-[color:var(--zui-marquee-blue-border-dark,#3b82f6)] bg-[var(--zui-marquee-blue-bg,#2563eb14)] dark:bg-[var(--zui-marquee-blue-bg-dark,#3b82f624)] text-[color:var(--zui-marquee-blue-fg,#0f172a)] dark:text-[color:var(--zui-marquee-blue-fg-dark,#f8fafc)]",
|
|
35
|
+
cyan: "border border-[color:var(--zui-marquee-cyan-border,#0891b2)] dark:border-[color:var(--zui-marquee-cyan-border-dark,#22d3ee)] bg-[var(--zui-marquee-cyan-bg,#0891b214)] dark:bg-[var(--zui-marquee-cyan-bg-dark,#22d3ee24)] text-[color:var(--zui-marquee-cyan-fg,#0f172a)] dark:text-[color:var(--zui-marquee-cyan-fg-dark,#f8fafc)]",
|
|
36
|
+
green: "border border-[color:var(--zui-marquee-green-border,#16a34a)] dark:border-[color:var(--zui-marquee-green-border-dark,#22c55e)] bg-[var(--zui-marquee-green-bg,#16a34a14)] dark:bg-[var(--zui-marquee-green-bg-dark,#22c55e24)] text-[color:var(--zui-marquee-green-fg,#0f172a)] dark:text-[color:var(--zui-marquee-green-fg-dark,#f8fafc)]",
|
|
37
|
+
lime: "border border-[color:var(--zui-marquee-lime-border,#65a30d)] dark:border-[color:var(--zui-marquee-lime-border-dark,#a3e635)] bg-[var(--zui-marquee-lime-bg,#65a30d14)] dark:bg-[var(--zui-marquee-lime-bg-dark,#a3e63524)] text-[color:var(--zui-marquee-lime-fg,#0f172a)] dark:text-[color:var(--zui-marquee-lime-fg-dark,#f8fafc)]",
|
|
38
|
+
mint: "border border-[color:var(--zui-marquee-mint-border,#10b981)] dark:border-[color:var(--zui-marquee-mint-border-dark,#6ee7b7)] bg-[var(--zui-marquee-mint-bg,#10b98114)] dark:bg-[var(--zui-marquee-mint-bg-dark,#6ee7b724)] text-[color:var(--zui-marquee-mint-fg,#0f172a)] dark:text-[color:var(--zui-marquee-mint-fg-dark,#f8fafc)]",
|
|
39
|
+
ocean: "border border-[color:var(--zui-marquee-ocean-border,#0284c7)] dark:border-[color:var(--zui-marquee-ocean-border-dark,#38bdf8)] bg-[var(--zui-marquee-ocean-bg,#0284c714)] dark:bg-[var(--zui-marquee-ocean-bg-dark,#38bdf824)] text-[color:var(--zui-marquee-ocean-fg,#0f172a)] dark:text-[color:var(--zui-marquee-ocean-fg-dark,#f8fafc)]",
|
|
40
|
+
sapphire: "border border-[color:var(--zui-marquee-sapphire-border,#1d4ed8)] dark:border-[color:var(--zui-marquee-sapphire-border-dark,#60a5fa)] bg-[var(--zui-marquee-sapphire-bg,#1d4ed814)] dark:bg-[var(--zui-marquee-sapphire-bg-dark,#60a5fa24)] text-[color:var(--zui-marquee-sapphire-fg,#0f172a)] dark:text-[color:var(--zui-marquee-sapphire-fg-dark,#f8fafc)]",
|
|
41
|
+
lavender: "border border-[color:var(--zui-marquee-lavender-border,#8b5cf6)] dark:border-[color:var(--zui-marquee-lavender-border-dark,#a78bfa)] bg-[var(--zui-marquee-lavender-bg,#8b5cf614)] dark:bg-[var(--zui-marquee-lavender-bg-dark,#a78bfa24)] text-[color:var(--zui-marquee-lavender-fg,#0f172a)] dark:text-[color:var(--zui-marquee-lavender-fg-dark,#f8fafc)]",
|
|
42
|
+
ruby: "border border-[color:var(--zui-marquee-ruby-border,#be123c)] dark:border-[color:var(--zui-marquee-ruby-border-dark,#fb7185)] bg-[var(--zui-marquee-ruby-bg,#be123c14)] dark:bg-[var(--zui-marquee-ruby-bg-dark,#fb718524)] text-[color:var(--zui-marquee-ruby-fg,#0f172a)] dark:text-[color:var(--zui-marquee-ruby-fg-dark,#f8fafc)]",
|
|
43
|
+
red: "border border-[color:var(--zui-marquee-red-border,#dc2626)] dark:border-[color:var(--zui-marquee-red-border-dark,#ef4444)] bg-[var(--zui-marquee-red-bg,#dc262614)] dark:bg-[var(--zui-marquee-red-bg-dark,#ef444424)] text-[color:var(--zui-marquee-red-fg,#0f172a)] dark:text-[color:var(--zui-marquee-red-fg-dark,#f8fafc)]",
|
|
44
|
+
slate: "border border-[color:var(--zui-marquee-slate-border,#475569)] dark:border-[color:var(--zui-marquee-slate-border-dark,#64748b)] bg-[var(--zui-marquee-slate-bg,#47556914)] dark:bg-[var(--zui-marquee-slate-bg-dark,#64748b24)] text-[color:var(--zui-marquee-slate-fg,#0f172a)] dark:text-[color:var(--zui-marquee-slate-fg-dark,#f8fafc)]",
|
|
45
|
+
zinc: "border border-[color:var(--zui-marquee-zinc-border,#52525b)] dark:border-[color:var(--zui-marquee-zinc-border-dark,#71717a)] bg-[var(--zui-marquee-zinc-bg,#52525b14)] dark:bg-[var(--zui-marquee-zinc-bg-dark,#71717a24)] text-[color:var(--zui-marquee-zinc-fg,#0f172a)] dark:text-[color:var(--zui-marquee-zinc-fg-dark,#f8fafc)]",
|
|
46
|
+
stone: "border border-[color:var(--zui-marquee-stone-border,#57534e)] dark:border-[color:var(--zui-marquee-stone-border-dark,#78716c)] bg-[var(--zui-marquee-stone-bg,#57534e14)] dark:bg-[var(--zui-marquee-stone-bg-dark,#78716c24)] text-[color:var(--zui-marquee-stone-fg,#0f172a)] dark:text-[color:var(--zui-marquee-stone-fg-dark,#f8fafc)]",
|
|
47
|
+
royal: "border border-[color:var(--zui-marquee-royal-border,#4338ca)] dark:border-[color:var(--zui-marquee-royal-border-dark,#818cf8)] bg-[var(--zui-marquee-royal-bg,#4338ca14)] dark:bg-[var(--zui-marquee-royal-bg-dark,#818cf824)] text-[color:var(--zui-marquee-royal-fg,#0f172a)] dark:text-[color:var(--zui-marquee-royal-fg-dark,#f8fafc)]",
|
|
48
|
+
electric: "border border-[color:var(--zui-marquee-electric-border,#0ea5e9)] dark:border-[color:var(--zui-marquee-electric-border-dark,#38bdf8)] bg-[var(--zui-marquee-electric-bg,#0ea5e914)] dark:bg-[var(--zui-marquee-electric-bg-dark,#38bdf824)] text-[color:var(--zui-marquee-electric-fg,#0f172a)] dark:text-[color:var(--zui-marquee-electric-fg-dark,#f8fafc)]",
|
|
49
|
+
forest: "border border-[color:var(--zui-marquee-forest-border,#166534)] dark:border-[color:var(--zui-marquee-forest-border-dark,#4ade80)] bg-[var(--zui-marquee-forest-bg,#16653414)] dark:bg-[var(--zui-marquee-forest-bg-dark,#4ade8024)] text-[color:var(--zui-marquee-forest-fg,#0f172a)] dark:text-[color:var(--zui-marquee-forest-fg-dark,#f8fafc)]",
|
|
50
|
+
sunset: "border border-[color:var(--zui-marquee-sunset-border,#ea580c)] dark:border-[color:var(--zui-marquee-sunset-border-dark,#fb923c)] bg-[var(--zui-marquee-sunset-bg,#ea580c14)] dark:bg-[var(--zui-marquee-sunset-bg-dark,#fb923c24)] text-[color:var(--zui-marquee-sunset-fg,#0f172a)] dark:text-[color:var(--zui-marquee-sunset-fg-dark,#f8fafc)]",
|
|
51
|
+
magenta: "border border-[color:var(--zui-marquee-magenta-border,#c026d3)] dark:border-[color:var(--zui-marquee-magenta-border-dark,#e879f9)] bg-[var(--zui-marquee-magenta-bg,#c026d314)] dark:bg-[var(--zui-marquee-magenta-bg-dark,#e879f924)] text-[color:var(--zui-marquee-magenta-fg,#0f172a)] dark:text-[color:var(--zui-marquee-magenta-fg-dark,#f8fafc)]",
|
|
52
|
+
crimson: "border border-[color:var(--zui-marquee-crimson-border,#b91c1c)] dark:border-[color:var(--zui-marquee-crimson-border-dark,#f87171)] bg-[var(--zui-marquee-crimson-bg,#b91c1c14)] dark:bg-[var(--zui-marquee-crimson-bg-dark,#f8717124)] text-[color:var(--zui-marquee-crimson-fg,#0f172a)] dark:text-[color:var(--zui-marquee-crimson-fg-dark,#f8fafc)]",
|
|
53
|
+
aqua: "border border-[color:var(--zui-marquee-aqua-border,#0f766e)] dark:border-[color:var(--zui-marquee-aqua-border-dark,#2dd4bf)] bg-[var(--zui-marquee-aqua-bg,#0f766e14)] dark:bg-[var(--zui-marquee-aqua-bg-dark,#2dd4bf24)] text-[color:var(--zui-marquee-aqua-fg,#0f172a)] dark:text-[color:var(--zui-marquee-aqua-fg-dark,#f8fafc)]",
|
|
54
|
+
plum: "border border-[color:var(--zui-marquee-plum-border,#7e22ce)] dark:border-[color:var(--zui-marquee-plum-border-dark,#c084fc)] bg-[var(--zui-marquee-plum-bg,#7e22ce14)] dark:bg-[var(--zui-marquee-plum-bg-dark,#c084fc24)] text-[color:var(--zui-marquee-plum-fg,#0f172a)] dark:text-[color:var(--zui-marquee-plum-fg-dark,#f8fafc)]"
|
|
34
55
|
};
|
|
35
56
|
var zuiMarqueeOrientations = {
|
|
36
57
|
horizontal: "w-full flex-row",
|
package/dist/ui/marquee.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/design-system/marquee.ts","../../src/ui/marquee/variants.ts","../../src/ui/marquee/marquee.tsx"],"names":[],"mappings":"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","file":"marquee.mjs","sourcesContent":["export const zuiMarqueeBase =\n \"group/marquee relative isolate flex min-w-0 overflow-hidden rounded-xl border border-transparent bg-[var(--zui-marquee-bg,transparent)] text-[color:var(--zui-marquee-fg,inherit)] [--zui-marquee-gap:1rem]\";\n\nexport const zuiMarqueeAppearances = {\n default:\n \"[--zui-marquee-bg:transparent] [--zui-marquee-fg:oklch(20.8%_0.042_265.755)] dark:[--zui-marquee-fg:#ffffff]\",\n outline:\n \"border-[color:var(--zui-marquee-outline-border,oklch(86.9%_0.022_252.894))] [--zui-marquee-bg:#ffffff] [--zui-marquee-fg:oklch(20.8%_0.042_265.755)] dark:border-[color:var(--zui-marquee-outline-border-dark,oklch(37.2%_0.044_257.287))] dark:[--zui-marquee-bg:oklch(20.8%_0.042_265.755)] dark:[--zui-marquee-fg:#ffffff]\",\n ghost:\n \"[--zui-marquee-bg:transparent] [--zui-marquee-fg:oklch(27.9%_0.041_260.031)] dark:[--zui-marquee-fg:oklch(96.8%_0.007_247.896)]\",\n card: \"border-[color:var(--zui-marquee-card-border,oklch(92.9%_0.013_255.508))] bg-[var(--zui-marquee-card-bg,#ffffff)] shadow-sm shadow-slate-950/5 [--zui-marquee-fg:oklch(20.8%_0.042_265.755)] dark:border-[color:var(--zui-marquee-card-border-dark,oklch(37.2%_0.044_257.287))] dark:bg-[var(--zui-marquee-card-bg-dark,oklch(20.8%_0.042_265.755_/_0.9))] dark:shadow-black/20 dark:[--zui-marquee-fg:#ffffff]\",\n separated:\n \"border-y border-x-0 rounded-none border-[color:var(--zui-marquee-separated-border,oklch(86.9%_0.022_252.894))] [--zui-marquee-bg:transparent] [--zui-marquee-fg:oklch(20.8%_0.042_265.755)] dark:border-[color:var(--zui-marquee-separated-border-dark,oklch(37.2%_0.044_257.287))] dark:[--zui-marquee-fg:#ffffff]\",\n sky: \"border-[color:var(--zui-marquee-sky-border,oklch(62.3%_0.214_259.815_/_0.28))] [--zui-marquee-bg:oklch(97.7%_0.013_236.62)] [--zui-marquee-fg:oklch(39.1%_0.09_240.876)] dark:border-[color:var(--zui-marquee-sky-border-dark,oklch(70.7%_0.165_254.624_/_0.3))] dark:[--zui-marquee-bg:oklch(39.1%_0.09_240.876_/_0.28)] dark:[--zui-marquee-fg:oklch(95.1%_0.026_236.824)]\",\n rose: \"border-[color:var(--zui-marquee-rose-border,oklch(58.6%_0.253_17.585_/_0.24))] [--zui-marquee-bg:oklch(96.9%_0.015_12.422)] [--zui-marquee-fg:oklch(41%_0.159_10.272)] dark:border-[color:var(--zui-marquee-rose-border-dark,oklch(71.2%_0.194_13.428_/_0.3))] dark:[--zui-marquee-bg:oklch(41%_0.159_10.272_/_0.28)] dark:[--zui-marquee-fg:oklch(94.1%_0.03_12.58)]\",\n purple:\n \"border-[color:var(--zui-marquee-purple-border,oklch(62.7%_0.265_303.9_/_0.24))] [--zui-marquee-bg:oklch(97.7%_0.014_308.299)] [--zui-marquee-fg:oklch(38.1%_0.176_304.987)] dark:border-[color:var(--zui-marquee-purple-border-dark,oklch(71.4%_0.203_305.504_/_0.3))] dark:[--zui-marquee-bg:oklch(38.1%_0.176_304.987_/_0.28)] dark:[--zui-marquee-fg:oklch(94.6%_0.033_307.174)]\",\n pink: \"border-[color:var(--zui-marquee-pink-border,oklch(65.6%_0.241_354.308_/_0.24))] [--zui-marquee-bg:oklch(97.1%_0.014_343.198)] [--zui-marquee-fg:oklch(40.8%_0.153_2.432)] dark:border-[color:var(--zui-marquee-pink-border-dark,oklch(71.8%_0.202_349.761_/_0.3))] dark:[--zui-marquee-bg:oklch(40.8%_0.153_2.432_/_0.28)] dark:[--zui-marquee-fg:oklch(94.8%_0.028_342.258)]\",\n orange:\n \"border-[color:var(--zui-marquee-orange-border,oklch(70.5%_0.213_47.604_/_0.26))] [--zui-marquee-bg:oklch(98%_0.016_73.684)] [--zui-marquee-fg:oklch(40.8%_0.123_38.172)] dark:border-[color:var(--zui-marquee-orange-border-dark,oklch(75%_0.183_55.934_/_0.32))] dark:[--zui-marquee-bg:oklch(40.8%_0.123_38.172_/_0.28)] dark:[--zui-marquee-fg:oklch(95.4%_0.038_75.164)]\",\n yellow:\n \"border-[color:var(--zui-marquee-yellow-border,oklch(79.5%_0.184_86.047_/_0.3))] [--zui-marquee-bg:oklch(98.7%_0.026_102.212)] [--zui-marquee-fg:oklch(42.1%_0.095_57.708)] dark:border-[color:var(--zui-marquee-yellow-border-dark,oklch(85.2%_0.199_91.936_/_0.32))] dark:[--zui-marquee-bg:oklch(42.1%_0.095_57.708_/_0.28)] dark:[--zui-marquee-fg:oklch(97.3%_0.071_103.193)]\",\n teal: \"border-[color:var(--zui-marquee-teal-border,oklch(70.4%_0.14_182.503_/_0.28))] [--zui-marquee-bg:oklch(98.4%_0.014_180.72)] [--zui-marquee-fg:oklch(38.6%_0.063_188.416)] dark:border-[color:var(--zui-marquee-teal-border-dark,oklch(77.7%_0.152_181.912_/_0.32))] dark:[--zui-marquee-bg:oklch(38.6%_0.063_188.416_/_0.28)] dark:[--zui-marquee-fg:oklch(95.3%_0.051_180.801)]\",\n indigo:\n \"border-[color:var(--zui-marquee-indigo-border,oklch(58.5%_0.233_277.117_/_0.24))] [--zui-marquee-bg:oklch(96.2%_0.018_272.314)] [--zui-marquee-fg:oklch(35.9%_0.144_278.697)] dark:border-[color:var(--zui-marquee-indigo-border-dark,oklch(67.3%_0.182_276.935_/_0.32))] dark:[--zui-marquee-bg:oklch(35.9%_0.144_278.697_/_0.28)] dark:[--zui-marquee-fg:oklch(93%_0.034_272.788)]\",\n emerald:\n \"border-[color:var(--zui-marquee-emerald-border,oklch(69.6%_0.17_162.48_/_0.28))] [--zui-marquee-bg:oklch(97.9%_0.021_166.113)] [--zui-marquee-fg:oklch(37.8%_0.077_168.94)] dark:border-[color:var(--zui-marquee-emerald-border-dark,oklch(76.5%_0.177_163.223_/_0.32))] dark:[--zui-marquee-bg:oklch(37.8%_0.077_168.94_/_0.28)] dark:[--zui-marquee-fg:oklch(95%_0.052_163.051)]\",\n \"gradient-blue\":\n \"border-transparent bg-linear-to-r from-[var(--zui-marquee-gradient-blue-from,oklch(62.3%_0.214_259.815))] dark:from-[var(--zui-marquee-gradient-blue-from-dark,oklch(42.4%_0.199_265.638))] to-[var(--zui-marquee-gradient-blue-to,oklch(54.6%_0.245_262.881))] dark:to-[var(--zui-marquee-gradient-blue-to-dark,oklch(37.9%_0.146_265.522))] [--zui-marquee-fg:#ffffff] dark:[--zui-marquee-fg:#ffffff]\",\n \"gradient-green\":\n \"border-transparent bg-linear-to-r from-[var(--zui-marquee-gradient-green-from,oklch(72.3%_0.219_149.579))] dark:from-[var(--zui-marquee-gradient-green-from-dark,oklch(44.8%_0.119_151.328))] to-[var(--zui-marquee-gradient-green-to,oklch(62.7%_0.194_149.214))] dark:to-[var(--zui-marquee-gradient-green-to-dark,oklch(39.3%_0.095_152.535))] [--zui-marquee-fg:#ffffff] dark:[--zui-marquee-fg:#ffffff]\",\n \"gradient-red\":\n \"border-transparent bg-linear-to-r from-[var(--zui-marquee-gradient-red-from,oklch(63.7%_0.237_25.331))] dark:from-[var(--zui-marquee-gradient-red-from-dark,oklch(44.4%_0.177_26.899))] to-[var(--zui-marquee-gradient-red-to,oklch(57.7%_0.245_27.325))] dark:to-[var(--zui-marquee-gradient-red-to-dark,oklch(39.6%_0.141_25.723))] [--zui-marquee-fg:#ffffff] dark:[--zui-marquee-fg:#ffffff]\",\n \"gradient-yellow\":\n \"border-transparent bg-linear-to-r from-[var(--zui-marquee-gradient-yellow-from,oklch(85.2%_0.199_91.936))] dark:from-[var(--zui-marquee-gradient-yellow-from-dark,oklch(47.6%_0.114_61.907))] to-[var(--zui-marquee-gradient-yellow-to,oklch(79.5%_0.184_86.047))] dark:to-[var(--zui-marquee-gradient-yellow-to-dark,oklch(42.1%_0.095_57.708))] [--zui-marquee-fg:oklch(27.9%_0.077_45.635)] dark:[--zui-marquee-fg:#ffffff]\",\n \"gradient-purple\":\n \"border-transparent bg-linear-to-r from-[var(--zui-marquee-gradient-purple-from,oklch(71.4%_0.203_305.504))] dark:from-[var(--zui-marquee-gradient-purple-from-dark,oklch(43.8%_0.218_303.724))] to-[var(--zui-marquee-gradient-purple-to,oklch(62.7%_0.265_303.9))] dark:to-[var(--zui-marquee-gradient-purple-to-dark,oklch(38.1%_0.176_304.987))] [--zui-marquee-fg:#ffffff] dark:[--zui-marquee-fg:#ffffff]\",\n \"gradient-teal\":\n \"border-transparent bg-linear-to-r from-[var(--zui-marquee-gradient-teal-from,oklch(77.7%_0.152_181.912))] dark:from-[var(--zui-marquee-gradient-teal-from-dark,oklch(43.7%_0.078_188.216))] to-[var(--zui-marquee-gradient-teal-to,oklch(70.4%_0.14_182.503))] dark:to-[var(--zui-marquee-gradient-teal-to-dark,oklch(38.6%_0.063_188.416))] [--zui-marquee-fg:#ffffff] dark:[--zui-marquee-fg:#ffffff]\",\n \"gradient-indigo\":\n \"border-transparent bg-linear-to-r from-[var(--zui-marquee-gradient-indigo-from,oklch(67.3%_0.182_276.935))] dark:from-[var(--zui-marquee-gradient-indigo-from-dark,oklch(39.8%_0.195_277.366))] to-[var(--zui-marquee-gradient-indigo-to,oklch(58.5%_0.233_277.117))] dark:to-[var(--zui-marquee-gradient-indigo-to-dark,oklch(35.9%_0.144_278.697))] [--zui-marquee-fg:#ffffff] dark:[--zui-marquee-fg:#ffffff]\",\n \"gradient-pink\":\n \"border-transparent bg-linear-to-r from-[var(--zui-marquee-gradient-pink-from,oklch(71.8%_0.202_349.761))] dark:from-[var(--zui-marquee-gradient-pink-from-dark,oklch(45.9%_0.187_3.815))] to-[var(--zui-marquee-gradient-pink-to,oklch(65.6%_0.241_354.308))] dark:to-[var(--zui-marquee-gradient-pink-to-dark,oklch(40.8%_0.153_2.432))] [--zui-marquee-fg:#ffffff] dark:[--zui-marquee-fg:#ffffff]\",\n \"gradient-orange\":\n \"border-transparent bg-linear-to-r from-[var(--zui-marquee-gradient-orange-from,oklch(75%_0.183_55.934))] dark:from-[var(--zui-marquee-gradient-orange-from-dark,oklch(47%_0.157_37.304))] to-[var(--zui-marquee-gradient-orange-to,oklch(70.5%_0.213_47.604))] dark:to-[var(--zui-marquee-gradient-orange-to-dark,oklch(40.8%_0.123_38.172))] [--zui-marquee-fg:#ffffff] dark:[--zui-marquee-fg:#ffffff]\",\n} as const;\n\nexport const zuiMarqueeOrientations = {\n horizontal: \"w-full flex-row\",\n vertical: \"h-64 flex-col\",\n} as const;\n\nexport const zuiMarqueeSizes = {\n sm: \"p-2 text-xs\",\n md: \"p-3 text-sm\",\n lg: \"p-4 text-base\",\n} as const;\n\nexport const zuiMarqueeFade = {\n false: \"\",\n true: \"[mask-image:linear-gradient(to_right,transparent,black_12%,black_88%,transparent)] data-[orientation=vertical]:[mask-image:linear-gradient(to_bottom,transparent,black_12%,black_88%,transparent)]\",\n} as const;\n","import { cva } from \"class-variance-authority\";\n\nimport {\n zuiMarqueeAppearances,\n zuiMarqueeBase,\n zuiMarqueeFade,\n zuiMarqueeOrientations,\n zuiMarqueeSizes,\n} from \"../../design-system/marquee\";\n\nexport const marqueeVariants = cva(zuiMarqueeBase, {\n variants: {\n appearance: zuiMarqueeAppearances,\n fade: zuiMarqueeFade,\n orientation: zuiMarqueeOrientations,\n size: zuiMarqueeSizes,\n },\n defaultVariants: {\n appearance: \"default\",\n fade: true,\n orientation: \"horizontal\",\n size: \"md\",\n },\n});\n","\"use client\";\n\nimport { Children, useCallback, useMemo, useRef, useState } from \"react\";\nimport type { CSSProperties, Ref } from \"react\";\n\nimport { useIsomorphicLayoutEffect } from \"../../hooks/useIsomorphicLayoutEffect\";\nimport { cn } from \"../../lib/utils\";\n\nimport type { MarqueeProps } from \"./types\";\nimport { marqueeVariants } from \"./variants\";\n\nconst marqueeKeyframes = `@keyframes zui-marquee-x{from{transform:translate3d(0,0,0)}to{transform:translate3d(calc(-50% - var(--zui-marquee-gap)/2),0,0)}}@keyframes zui-marquee-y{from{transform:translate3d(0,0,0)}to{transform:translate3d(0,calc(-50% - var(--zui-marquee-gap)/2),0)}}`;\n\nfunction toCssLength(value: number | string | undefined) {\n if (value === undefined) {\n return undefined;\n }\n return typeof value === \"number\" ? `${value}px` : value;\n}\n\nfunction assignRef<TElement>(\n ref: Ref<TElement> | undefined,\n value: TElement | null,\n) {\n if (typeof ref === \"function\") {\n ref(value);\n } else if (ref) {\n (ref as { current: TElement | null }).current = value;\n }\n}\n\nexport function Marquee(props: MarqueeProps) {\n const {\n appearance,\n children,\n className,\n direction,\n fade,\n gap,\n itemClassName,\n orientation,\n pauseOnHover = false,\n ref,\n size,\n speed = 30,\n style,\n trackClassName,\n ...rest\n } = props;\n\n const resolvedOrientation =\n orientation ??\n (direction === \"up\" || direction === \"down\" ? \"vertical\" : \"horizontal\");\n const resolvedDirection =\n direction ?? (resolvedOrientation === \"vertical\" ? \"up\" : \"left\");\n const isReverse =\n resolvedDirection === \"right\" || resolvedDirection === \"down\";\n const animationName =\n resolvedOrientation === \"vertical\" ? \"zui-marquee-y\" : \"zui-marquee-x\";\n const rootRef = useRef<HTMLDivElement | null>(null);\n const measureRef = useRef<HTMLDivElement | null>(null);\n const [copyCount, setCopyCount] = useState(1);\n const childArray = useMemo(() => Children.toArray(children), [children]);\n const setRootRef = useCallback(\n (node: HTMLDivElement | null) => {\n rootRef.current = node;\n assignRef(ref, node);\n },\n [ref],\n );\n const marqueeStyle = {\n ...(gap !== undefined ? { \"--zui-marquee-gap\": toCssLength(gap) } : null),\n ...style,\n } as CSSProperties;\n const groupClassName = cn(\n \"flex shrink-0 items-center justify-around gap-(--zui-marquee-gap)\",\n resolvedOrientation === \"vertical\" ? \"flex-col\" : \"flex-row\",\n itemClassName,\n );\n const fillerChildren = Array.from(\n { length: Math.max(0, copyCount - 1) },\n (_, index) => (\n <div key={index} aria-hidden=\"true\" inert className=\"contents\">\n {childArray}\n </div>\n ),\n );\n\n useIsomorphicLayoutEffect(() => {\n const updateCopyCount = () => {\n const root = rootRef.current;\n const measure = measureRef.current;\n\n if (!root || !measure) {\n return;\n }\n\n const rootSize =\n resolvedOrientation === \"vertical\"\n ? root.offsetHeight\n : root.offsetWidth;\n const contentSize =\n resolvedOrientation === \"vertical\"\n ? measure.scrollHeight\n : measure.scrollWidth;\n\n if (!rootSize || !contentSize) {\n setCopyCount(1);\n return;\n }\n\n setCopyCount(Math.max(1, Math.ceil(rootSize / contentSize)));\n };\n\n updateCopyCount();\n\n if (typeof ResizeObserver === \"undefined\") {\n return;\n }\n\n const observer = new ResizeObserver(updateCopyCount);\n if (rootRef.current) {\n observer.observe(rootRef.current);\n }\n if (measureRef.current) {\n observer.observe(measureRef.current);\n }\n\n return () => observer.disconnect();\n }, [childArray, gap, resolvedOrientation]);\n\n return (\n <div\n ref={setRootRef}\n data-direction={resolvedDirection}\n data-orientation={resolvedOrientation}\n data-slot=\"marquee\"\n className={cn(\n marqueeVariants({\n appearance,\n fade,\n orientation: resolvedOrientation,\n size,\n }),\n className,\n )}\n style={marqueeStyle}\n {...rest}\n >\n <style>{marqueeKeyframes}</style>\n <div\n aria-hidden=\"true\"\n data-slot=\"marquee-measure\"\n ref={measureRef}\n className={cn(\n \"pointer-events-none invisible absolute -z-10\",\n groupClassName,\n )}\n >\n {childArray}\n </div>\n <div\n data-slot=\"marquee-track\"\n className={cn(\n \"flex shrink-0 gap-(--zui-marquee-gap) will-change-transform [animation-iteration-count:infinite] [animation-timing-function:linear] motion-reduce:[animation-play-state:paused]\",\n resolvedOrientation === \"vertical\" ? \"flex-col\" : \"w-max flex-row\",\n pauseOnHover && \"group-hover/marquee:[animation-play-state:paused]\",\n isReverse && \"[animation-direction:reverse]\",\n trackClassName,\n )}\n style={\n {\n animationDuration: `${speed}s`,\n animationName,\n } as CSSProperties\n }\n >\n <div data-slot=\"marquee-item-group\" className={groupClassName}>\n {childArray}\n {fillerChildren}\n </div>\n <div\n aria-hidden=\"true\"\n inert\n data-slot=\"marquee-item-group\"\n className={groupClassName}\n >\n {childArray}\n {fillerChildren}\n </div>\n </div>\n </div>\n );\n}\n\nMarquee.displayName = \"Marquee\";\n"]}
|
|
1
|
+
{"version":3,"sources":["../../src/design-system/marquee.ts","../../src/ui/marquee/variants.ts","../../src/ui/marquee/marquee.tsx"],"names":[],"mappings":"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","file":"marquee.mjs","sourcesContent":["export const zuiMarqueeBase =\n \"group/marquee relative isolate flex min-w-0 overflow-hidden rounded-xl border border-transparent bg-[var(--zui-marquee-bg,transparent)] text-[color:var(--zui-marquee-fg,inherit)] [--zui-marquee-gap:1rem]\";\n\nexport const zuiMarqueeAppearances = {\n default:\n \"[--zui-marquee-bg:transparent] [--zui-marquee-fg:oklch(20.8%_0.042_265.755)] dark:[--zui-marquee-fg:#ffffff]\",\n outline:\n \"border-[color:var(--zui-marquee-outline-border,oklch(86.9%_0.022_252.894))] [--zui-marquee-bg:#ffffff] [--zui-marquee-fg:oklch(20.8%_0.042_265.755)] dark:border-[color:var(--zui-marquee-outline-border-dark,oklch(37.2%_0.044_257.287))] dark:[--zui-marquee-bg:oklch(20.8%_0.042_265.755)] dark:[--zui-marquee-fg:#ffffff]\",\n ghost:\n \"[--zui-marquee-bg:transparent] [--zui-marquee-fg:oklch(27.9%_0.041_260.031)] dark:[--zui-marquee-fg:oklch(96.8%_0.007_247.896)]\",\n card: \"border-[color:var(--zui-marquee-card-border,oklch(92.9%_0.013_255.508))] bg-[var(--zui-marquee-card-bg,#ffffff)] shadow-sm shadow-slate-950/5 [--zui-marquee-fg:oklch(20.8%_0.042_265.755)] dark:border-[color:var(--zui-marquee-card-border-dark,oklch(37.2%_0.044_257.287))] dark:bg-[var(--zui-marquee-card-bg-dark,oklch(20.8%_0.042_265.755_/_0.9))] dark:shadow-black/20 dark:[--zui-marquee-fg:#ffffff]\",\n separated:\n \"border-y border-x-0 rounded-none border-[color:var(--zui-marquee-separated-border,oklch(86.9%_0.022_252.894))] [--zui-marquee-bg:transparent] [--zui-marquee-fg:oklch(20.8%_0.042_265.755)] dark:border-[color:var(--zui-marquee-separated-border-dark,oklch(37.2%_0.044_257.287))] dark:[--zui-marquee-fg:#ffffff]\",\n sky: \"border-[color:var(--zui-marquee-sky-border,oklch(62.3%_0.214_259.815_/_0.28))] [--zui-marquee-bg:oklch(97.7%_0.013_236.62)] [--zui-marquee-fg:oklch(39.1%_0.09_240.876)] dark:border-[color:var(--zui-marquee-sky-border-dark,oklch(70.7%_0.165_254.624_/_0.3))] dark:[--zui-marquee-bg:oklch(39.1%_0.09_240.876_/_0.28)] dark:[--zui-marquee-fg:oklch(95.1%_0.026_236.824)]\",\n rose: \"border-[color:var(--zui-marquee-rose-border,oklch(58.6%_0.253_17.585_/_0.24))] [--zui-marquee-bg:oklch(96.9%_0.015_12.422)] [--zui-marquee-fg:oklch(41%_0.159_10.272)] dark:border-[color:var(--zui-marquee-rose-border-dark,oklch(71.2%_0.194_13.428_/_0.3))] dark:[--zui-marquee-bg:oklch(41%_0.159_10.272_/_0.28)] dark:[--zui-marquee-fg:oklch(94.1%_0.03_12.58)]\",\n purple:\n \"border-[color:var(--zui-marquee-purple-border,oklch(62.7%_0.265_303.9_/_0.24))] [--zui-marquee-bg:oklch(97.7%_0.014_308.299)] [--zui-marquee-fg:oklch(38.1%_0.176_304.987)] dark:border-[color:var(--zui-marquee-purple-border-dark,oklch(71.4%_0.203_305.504_/_0.3))] dark:[--zui-marquee-bg:oklch(38.1%_0.176_304.987_/_0.28)] dark:[--zui-marquee-fg:oklch(94.6%_0.033_307.174)]\",\n pink: \"border-[color:var(--zui-marquee-pink-border,oklch(65.6%_0.241_354.308_/_0.24))] [--zui-marquee-bg:oklch(97.1%_0.014_343.198)] [--zui-marquee-fg:oklch(40.8%_0.153_2.432)] dark:border-[color:var(--zui-marquee-pink-border-dark,oklch(71.8%_0.202_349.761_/_0.3))] dark:[--zui-marquee-bg:oklch(40.8%_0.153_2.432_/_0.28)] dark:[--zui-marquee-fg:oklch(94.8%_0.028_342.258)]\",\n orange:\n \"border-[color:var(--zui-marquee-orange-border,oklch(70.5%_0.213_47.604_/_0.26))] [--zui-marquee-bg:oklch(98%_0.016_73.684)] [--zui-marquee-fg:oklch(40.8%_0.123_38.172)] dark:border-[color:var(--zui-marquee-orange-border-dark,oklch(75%_0.183_55.934_/_0.32))] dark:[--zui-marquee-bg:oklch(40.8%_0.123_38.172_/_0.28)] dark:[--zui-marquee-fg:oklch(95.4%_0.038_75.164)]\",\n yellow:\n \"border-[color:var(--zui-marquee-yellow-border,oklch(79.5%_0.184_86.047_/_0.3))] [--zui-marquee-bg:oklch(98.7%_0.026_102.212)] [--zui-marquee-fg:oklch(42.1%_0.095_57.708)] dark:border-[color:var(--zui-marquee-yellow-border-dark,oklch(85.2%_0.199_91.936_/_0.32))] dark:[--zui-marquee-bg:oklch(42.1%_0.095_57.708_/_0.28)] dark:[--zui-marquee-fg:oklch(97.3%_0.071_103.193)]\",\n teal: \"border-[color:var(--zui-marquee-teal-border,oklch(70.4%_0.14_182.503_/_0.28))] [--zui-marquee-bg:oklch(98.4%_0.014_180.72)] [--zui-marquee-fg:oklch(38.6%_0.063_188.416)] dark:border-[color:var(--zui-marquee-teal-border-dark,oklch(77.7%_0.152_181.912_/_0.32))] dark:[--zui-marquee-bg:oklch(38.6%_0.063_188.416_/_0.28)] dark:[--zui-marquee-fg:oklch(95.3%_0.051_180.801)]\",\n indigo:\n \"border-[color:var(--zui-marquee-indigo-border,oklch(58.5%_0.233_277.117_/_0.24))] [--zui-marquee-bg:oklch(96.2%_0.018_272.314)] [--zui-marquee-fg:oklch(35.9%_0.144_278.697)] dark:border-[color:var(--zui-marquee-indigo-border-dark,oklch(67.3%_0.182_276.935_/_0.32))] dark:[--zui-marquee-bg:oklch(35.9%_0.144_278.697_/_0.28)] dark:[--zui-marquee-fg:oklch(93%_0.034_272.788)]\",\n emerald:\n \"border-[color:var(--zui-marquee-emerald-border,oklch(69.6%_0.17_162.48_/_0.28))] [--zui-marquee-bg:oklch(97.9%_0.021_166.113)] [--zui-marquee-fg:oklch(37.8%_0.077_168.94)] dark:border-[color:var(--zui-marquee-emerald-border-dark,oklch(76.5%_0.177_163.223_/_0.32))] dark:[--zui-marquee-bg:oklch(37.8%_0.077_168.94_/_0.28)] dark:[--zui-marquee-fg:oklch(95%_0.052_163.051)]\",\n \"gradient-blue\":\n \"border-transparent bg-linear-to-r from-[var(--zui-marquee-gradient-blue-from,oklch(62.3%_0.214_259.815))] dark:from-[var(--zui-marquee-gradient-blue-from-dark,oklch(42.4%_0.199_265.638))] to-[var(--zui-marquee-gradient-blue-to,oklch(54.6%_0.245_262.881))] dark:to-[var(--zui-marquee-gradient-blue-to-dark,oklch(37.9%_0.146_265.522))] [--zui-marquee-fg:#ffffff] dark:[--zui-marquee-fg:#ffffff]\",\n \"gradient-green\":\n \"border-transparent bg-linear-to-r from-[var(--zui-marquee-gradient-green-from,oklch(72.3%_0.219_149.579))] dark:from-[var(--zui-marquee-gradient-green-from-dark,oklch(44.8%_0.119_151.328))] to-[var(--zui-marquee-gradient-green-to,oklch(62.7%_0.194_149.214))] dark:to-[var(--zui-marquee-gradient-green-to-dark,oklch(39.3%_0.095_152.535))] [--zui-marquee-fg:#ffffff] dark:[--zui-marquee-fg:#ffffff]\",\n \"gradient-red\":\n \"border-transparent bg-linear-to-r from-[var(--zui-marquee-gradient-red-from,oklch(63.7%_0.237_25.331))] dark:from-[var(--zui-marquee-gradient-red-from-dark,oklch(44.4%_0.177_26.899))] to-[var(--zui-marquee-gradient-red-to,oklch(57.7%_0.245_27.325))] dark:to-[var(--zui-marquee-gradient-red-to-dark,oklch(39.6%_0.141_25.723))] [--zui-marquee-fg:#ffffff] dark:[--zui-marquee-fg:#ffffff]\",\n \"gradient-yellow\":\n \"border-transparent bg-linear-to-r from-[var(--zui-marquee-gradient-yellow-from,oklch(85.2%_0.199_91.936))] dark:from-[var(--zui-marquee-gradient-yellow-from-dark,oklch(47.6%_0.114_61.907))] to-[var(--zui-marquee-gradient-yellow-to,oklch(79.5%_0.184_86.047))] dark:to-[var(--zui-marquee-gradient-yellow-to-dark,oklch(42.1%_0.095_57.708))] [--zui-marquee-fg:oklch(27.9%_0.077_45.635)] dark:[--zui-marquee-fg:#ffffff]\",\n \"gradient-purple\":\n \"border-transparent bg-linear-to-r from-[var(--zui-marquee-gradient-purple-from,oklch(71.4%_0.203_305.504))] dark:from-[var(--zui-marquee-gradient-purple-from-dark,oklch(43.8%_0.218_303.724))] to-[var(--zui-marquee-gradient-purple-to,oklch(62.7%_0.265_303.9))] dark:to-[var(--zui-marquee-gradient-purple-to-dark,oklch(38.1%_0.176_304.987))] [--zui-marquee-fg:#ffffff] dark:[--zui-marquee-fg:#ffffff]\",\n \"gradient-teal\":\n \"border-transparent bg-linear-to-r from-[var(--zui-marquee-gradient-teal-from,oklch(77.7%_0.152_181.912))] dark:from-[var(--zui-marquee-gradient-teal-from-dark,oklch(43.7%_0.078_188.216))] to-[var(--zui-marquee-gradient-teal-to,oklch(70.4%_0.14_182.503))] dark:to-[var(--zui-marquee-gradient-teal-to-dark,oklch(38.6%_0.063_188.416))] [--zui-marquee-fg:#ffffff] dark:[--zui-marquee-fg:#ffffff]\",\n \"gradient-indigo\":\n \"border-transparent bg-linear-to-r from-[var(--zui-marquee-gradient-indigo-from,oklch(67.3%_0.182_276.935))] dark:from-[var(--zui-marquee-gradient-indigo-from-dark,oklch(39.8%_0.195_277.366))] to-[var(--zui-marquee-gradient-indigo-to,oklch(58.5%_0.233_277.117))] dark:to-[var(--zui-marquee-gradient-indigo-to-dark,oklch(35.9%_0.144_278.697))] [--zui-marquee-fg:#ffffff] dark:[--zui-marquee-fg:#ffffff]\",\n \"gradient-pink\":\n \"border-transparent bg-linear-to-r from-[var(--zui-marquee-gradient-pink-from,oklch(71.8%_0.202_349.761))] dark:from-[var(--zui-marquee-gradient-pink-from-dark,oklch(45.9%_0.187_3.815))] to-[var(--zui-marquee-gradient-pink-to,oklch(65.6%_0.241_354.308))] dark:to-[var(--zui-marquee-gradient-pink-to-dark,oklch(40.8%_0.153_2.432))] [--zui-marquee-fg:#ffffff] dark:[--zui-marquee-fg:#ffffff]\",\n \"gradient-orange\":\n \"border-transparent bg-linear-to-r from-[var(--zui-marquee-gradient-orange-from,oklch(75%_0.183_55.934))] dark:from-[var(--zui-marquee-gradient-orange-from-dark,oklch(47%_0.157_37.304))] to-[var(--zui-marquee-gradient-orange-to,oklch(70.5%_0.213_47.604))] dark:to-[var(--zui-marquee-gradient-orange-to-dark,oklch(40.8%_0.123_38.172))] [--zui-marquee-fg:#ffffff] dark:[--zui-marquee-fg:#ffffff]\",\n blue: \"border border-[color:var(--zui-marquee-blue-border,#2563eb)] dark:border-[color:var(--zui-marquee-blue-border-dark,#3b82f6)] bg-[var(--zui-marquee-blue-bg,#2563eb14)] dark:bg-[var(--zui-marquee-blue-bg-dark,#3b82f624)] text-[color:var(--zui-marquee-blue-fg,#0f172a)] dark:text-[color:var(--zui-marquee-blue-fg-dark,#f8fafc)]\",\n cyan: \"border border-[color:var(--zui-marquee-cyan-border,#0891b2)] dark:border-[color:var(--zui-marquee-cyan-border-dark,#22d3ee)] bg-[var(--zui-marquee-cyan-bg,#0891b214)] dark:bg-[var(--zui-marquee-cyan-bg-dark,#22d3ee24)] text-[color:var(--zui-marquee-cyan-fg,#0f172a)] dark:text-[color:var(--zui-marquee-cyan-fg-dark,#f8fafc)]\",\n green:\n \"border border-[color:var(--zui-marquee-green-border,#16a34a)] dark:border-[color:var(--zui-marquee-green-border-dark,#22c55e)] bg-[var(--zui-marquee-green-bg,#16a34a14)] dark:bg-[var(--zui-marquee-green-bg-dark,#22c55e24)] text-[color:var(--zui-marquee-green-fg,#0f172a)] dark:text-[color:var(--zui-marquee-green-fg-dark,#f8fafc)]\",\n lime: \"border border-[color:var(--zui-marquee-lime-border,#65a30d)] dark:border-[color:var(--zui-marquee-lime-border-dark,#a3e635)] bg-[var(--zui-marquee-lime-bg,#65a30d14)] dark:bg-[var(--zui-marquee-lime-bg-dark,#a3e63524)] text-[color:var(--zui-marquee-lime-fg,#0f172a)] dark:text-[color:var(--zui-marquee-lime-fg-dark,#f8fafc)]\",\n mint: \"border border-[color:var(--zui-marquee-mint-border,#10b981)] dark:border-[color:var(--zui-marquee-mint-border-dark,#6ee7b7)] bg-[var(--zui-marquee-mint-bg,#10b98114)] dark:bg-[var(--zui-marquee-mint-bg-dark,#6ee7b724)] text-[color:var(--zui-marquee-mint-fg,#0f172a)] dark:text-[color:var(--zui-marquee-mint-fg-dark,#f8fafc)]\",\n ocean:\n \"border border-[color:var(--zui-marquee-ocean-border,#0284c7)] dark:border-[color:var(--zui-marquee-ocean-border-dark,#38bdf8)] bg-[var(--zui-marquee-ocean-bg,#0284c714)] dark:bg-[var(--zui-marquee-ocean-bg-dark,#38bdf824)] text-[color:var(--zui-marquee-ocean-fg,#0f172a)] dark:text-[color:var(--zui-marquee-ocean-fg-dark,#f8fafc)]\",\n sapphire:\n \"border border-[color:var(--zui-marquee-sapphire-border,#1d4ed8)] dark:border-[color:var(--zui-marquee-sapphire-border-dark,#60a5fa)] bg-[var(--zui-marquee-sapphire-bg,#1d4ed814)] dark:bg-[var(--zui-marquee-sapphire-bg-dark,#60a5fa24)] text-[color:var(--zui-marquee-sapphire-fg,#0f172a)] dark:text-[color:var(--zui-marquee-sapphire-fg-dark,#f8fafc)]\",\n lavender:\n \"border border-[color:var(--zui-marquee-lavender-border,#8b5cf6)] dark:border-[color:var(--zui-marquee-lavender-border-dark,#a78bfa)] bg-[var(--zui-marquee-lavender-bg,#8b5cf614)] dark:bg-[var(--zui-marquee-lavender-bg-dark,#a78bfa24)] text-[color:var(--zui-marquee-lavender-fg,#0f172a)] dark:text-[color:var(--zui-marquee-lavender-fg-dark,#f8fafc)]\",\n ruby: \"border border-[color:var(--zui-marquee-ruby-border,#be123c)] dark:border-[color:var(--zui-marquee-ruby-border-dark,#fb7185)] bg-[var(--zui-marquee-ruby-bg,#be123c14)] dark:bg-[var(--zui-marquee-ruby-bg-dark,#fb718524)] text-[color:var(--zui-marquee-ruby-fg,#0f172a)] dark:text-[color:var(--zui-marquee-ruby-fg-dark,#f8fafc)]\",\n red: \"border border-[color:var(--zui-marquee-red-border,#dc2626)] dark:border-[color:var(--zui-marquee-red-border-dark,#ef4444)] bg-[var(--zui-marquee-red-bg,#dc262614)] dark:bg-[var(--zui-marquee-red-bg-dark,#ef444424)] text-[color:var(--zui-marquee-red-fg,#0f172a)] dark:text-[color:var(--zui-marquee-red-fg-dark,#f8fafc)]\",\n slate:\n \"border border-[color:var(--zui-marquee-slate-border,#475569)] dark:border-[color:var(--zui-marquee-slate-border-dark,#64748b)] bg-[var(--zui-marquee-slate-bg,#47556914)] dark:bg-[var(--zui-marquee-slate-bg-dark,#64748b24)] text-[color:var(--zui-marquee-slate-fg,#0f172a)] dark:text-[color:var(--zui-marquee-slate-fg-dark,#f8fafc)]\",\n zinc: \"border border-[color:var(--zui-marquee-zinc-border,#52525b)] dark:border-[color:var(--zui-marquee-zinc-border-dark,#71717a)] bg-[var(--zui-marquee-zinc-bg,#52525b14)] dark:bg-[var(--zui-marquee-zinc-bg-dark,#71717a24)] text-[color:var(--zui-marquee-zinc-fg,#0f172a)] dark:text-[color:var(--zui-marquee-zinc-fg-dark,#f8fafc)]\",\n stone:\n \"border border-[color:var(--zui-marquee-stone-border,#57534e)] dark:border-[color:var(--zui-marquee-stone-border-dark,#78716c)] bg-[var(--zui-marquee-stone-bg,#57534e14)] dark:bg-[var(--zui-marquee-stone-bg-dark,#78716c24)] text-[color:var(--zui-marquee-stone-fg,#0f172a)] dark:text-[color:var(--zui-marquee-stone-fg-dark,#f8fafc)]\",\n royal:\n \"border border-[color:var(--zui-marquee-royal-border,#4338ca)] dark:border-[color:var(--zui-marquee-royal-border-dark,#818cf8)] bg-[var(--zui-marquee-royal-bg,#4338ca14)] dark:bg-[var(--zui-marquee-royal-bg-dark,#818cf824)] text-[color:var(--zui-marquee-royal-fg,#0f172a)] dark:text-[color:var(--zui-marquee-royal-fg-dark,#f8fafc)]\",\n electric:\n \"border border-[color:var(--zui-marquee-electric-border,#0ea5e9)] dark:border-[color:var(--zui-marquee-electric-border-dark,#38bdf8)] bg-[var(--zui-marquee-electric-bg,#0ea5e914)] dark:bg-[var(--zui-marquee-electric-bg-dark,#38bdf824)] text-[color:var(--zui-marquee-electric-fg,#0f172a)] dark:text-[color:var(--zui-marquee-electric-fg-dark,#f8fafc)]\",\n forest:\n \"border border-[color:var(--zui-marquee-forest-border,#166534)] dark:border-[color:var(--zui-marquee-forest-border-dark,#4ade80)] bg-[var(--zui-marquee-forest-bg,#16653414)] dark:bg-[var(--zui-marquee-forest-bg-dark,#4ade8024)] text-[color:var(--zui-marquee-forest-fg,#0f172a)] dark:text-[color:var(--zui-marquee-forest-fg-dark,#f8fafc)]\",\n sunset:\n \"border border-[color:var(--zui-marquee-sunset-border,#ea580c)] dark:border-[color:var(--zui-marquee-sunset-border-dark,#fb923c)] bg-[var(--zui-marquee-sunset-bg,#ea580c14)] dark:bg-[var(--zui-marquee-sunset-bg-dark,#fb923c24)] text-[color:var(--zui-marquee-sunset-fg,#0f172a)] dark:text-[color:var(--zui-marquee-sunset-fg-dark,#f8fafc)]\",\n magenta:\n \"border border-[color:var(--zui-marquee-magenta-border,#c026d3)] dark:border-[color:var(--zui-marquee-magenta-border-dark,#e879f9)] bg-[var(--zui-marquee-magenta-bg,#c026d314)] dark:bg-[var(--zui-marquee-magenta-bg-dark,#e879f924)] text-[color:var(--zui-marquee-magenta-fg,#0f172a)] dark:text-[color:var(--zui-marquee-magenta-fg-dark,#f8fafc)]\",\n crimson:\n \"border border-[color:var(--zui-marquee-crimson-border,#b91c1c)] dark:border-[color:var(--zui-marquee-crimson-border-dark,#f87171)] bg-[var(--zui-marquee-crimson-bg,#b91c1c14)] dark:bg-[var(--zui-marquee-crimson-bg-dark,#f8717124)] text-[color:var(--zui-marquee-crimson-fg,#0f172a)] dark:text-[color:var(--zui-marquee-crimson-fg-dark,#f8fafc)]\",\n aqua: \"border border-[color:var(--zui-marquee-aqua-border,#0f766e)] dark:border-[color:var(--zui-marquee-aqua-border-dark,#2dd4bf)] bg-[var(--zui-marquee-aqua-bg,#0f766e14)] dark:bg-[var(--zui-marquee-aqua-bg-dark,#2dd4bf24)] text-[color:var(--zui-marquee-aqua-fg,#0f172a)] dark:text-[color:var(--zui-marquee-aqua-fg-dark,#f8fafc)]\",\n plum: \"border border-[color:var(--zui-marquee-plum-border,#7e22ce)] dark:border-[color:var(--zui-marquee-plum-border-dark,#c084fc)] bg-[var(--zui-marquee-plum-bg,#7e22ce14)] dark:bg-[var(--zui-marquee-plum-bg-dark,#c084fc24)] text-[color:var(--zui-marquee-plum-fg,#0f172a)] dark:text-[color:var(--zui-marquee-plum-fg-dark,#f8fafc)]\",\n} as const;\n\nexport const zuiMarqueeOrientations = {\n horizontal: \"w-full flex-row\",\n vertical: \"h-64 flex-col\",\n} as const;\n\nexport const zuiMarqueeSizes = {\n sm: \"p-2 text-xs\",\n md: \"p-3 text-sm\",\n lg: \"p-4 text-base\",\n} as const;\n\nexport const zuiMarqueeFade = {\n false: \"\",\n true: \"[mask-image:linear-gradient(to_right,transparent,black_12%,black_88%,transparent)] data-[orientation=vertical]:[mask-image:linear-gradient(to_bottom,transparent,black_12%,black_88%,transparent)]\",\n} as const;\n","import { cva } from \"class-variance-authority\";\n\nimport {\n zuiMarqueeAppearances,\n zuiMarqueeBase,\n zuiMarqueeFade,\n zuiMarqueeOrientations,\n zuiMarqueeSizes,\n} from \"../../design-system/marquee\";\n\nexport const marqueeVariants = cva(zuiMarqueeBase, {\n variants: {\n appearance: zuiMarqueeAppearances,\n fade: zuiMarqueeFade,\n orientation: zuiMarqueeOrientations,\n size: zuiMarqueeSizes,\n },\n defaultVariants: {\n appearance: \"default\",\n fade: true,\n orientation: \"horizontal\",\n size: \"md\",\n },\n});\n","\"use client\";\n\nimport { Children, useCallback, useMemo, useRef, useState } from \"react\";\nimport type { CSSProperties, Ref } from \"react\";\n\nimport { useIsomorphicLayoutEffect } from \"../../hooks/useIsomorphicLayoutEffect\";\nimport { cn } from \"../../lib/utils\";\n\nimport type { MarqueeProps } from \"./types\";\nimport { marqueeVariants } from \"./variants\";\n\nconst marqueeKeyframes = `@keyframes zui-marquee-x{from{transform:translate3d(0,0,0)}to{transform:translate3d(calc(-50% - var(--zui-marquee-gap)/2),0,0)}}@keyframes zui-marquee-y{from{transform:translate3d(0,0,0)}to{transform:translate3d(0,calc(-50% - var(--zui-marquee-gap)/2),0)}}`;\n\nfunction toCssLength(value: number | string | undefined) {\n if (value === undefined) {\n return undefined;\n }\n return typeof value === \"number\" ? `${value}px` : value;\n}\n\nfunction assignRef<TElement>(\n ref: Ref<TElement> | undefined,\n value: TElement | null,\n) {\n if (typeof ref === \"function\") {\n ref(value);\n } else if (ref) {\n (ref as { current: TElement | null }).current = value;\n }\n}\n\nexport function Marquee(props: MarqueeProps) {\n const {\n appearance,\n children,\n className,\n direction,\n fade,\n gap,\n itemClassName,\n orientation,\n pauseOnHover = false,\n ref,\n size,\n speed = 30,\n style,\n trackClassName,\n ...rest\n } = props;\n\n const resolvedOrientation =\n orientation ??\n (direction === \"up\" || direction === \"down\" ? \"vertical\" : \"horizontal\");\n const resolvedDirection =\n direction ?? (resolvedOrientation === \"vertical\" ? \"up\" : \"left\");\n const isReverse =\n resolvedDirection === \"right\" || resolvedDirection === \"down\";\n const animationName =\n resolvedOrientation === \"vertical\" ? \"zui-marquee-y\" : \"zui-marquee-x\";\n const rootRef = useRef<HTMLDivElement | null>(null);\n const measureRef = useRef<HTMLDivElement | null>(null);\n const [copyCount, setCopyCount] = useState(1);\n const childArray = useMemo(() => Children.toArray(children), [children]);\n const setRootRef = useCallback(\n (node: HTMLDivElement | null) => {\n rootRef.current = node;\n assignRef(ref, node);\n },\n [ref],\n );\n const marqueeStyle = {\n ...(gap !== undefined ? { \"--zui-marquee-gap\": toCssLength(gap) } : null),\n ...style,\n } as CSSProperties;\n const groupClassName = cn(\n \"flex shrink-0 items-center justify-around gap-(--zui-marquee-gap)\",\n resolvedOrientation === \"vertical\" ? \"flex-col\" : \"flex-row\",\n itemClassName,\n );\n const fillerChildren = Array.from(\n { length: Math.max(0, copyCount - 1) },\n (_, index) => (\n <div key={index} aria-hidden=\"true\" inert className=\"contents\">\n {childArray}\n </div>\n ),\n );\n\n useIsomorphicLayoutEffect(() => {\n const updateCopyCount = () => {\n const root = rootRef.current;\n const measure = measureRef.current;\n\n if (!root || !measure) {\n return;\n }\n\n const rootSize =\n resolvedOrientation === \"vertical\"\n ? root.offsetHeight\n : root.offsetWidth;\n const contentSize =\n resolvedOrientation === \"vertical\"\n ? measure.scrollHeight\n : measure.scrollWidth;\n\n if (!rootSize || !contentSize) {\n setCopyCount(1);\n return;\n }\n\n setCopyCount(Math.max(1, Math.ceil(rootSize / contentSize)));\n };\n\n updateCopyCount();\n\n if (typeof ResizeObserver === \"undefined\") {\n return;\n }\n\n const observer = new ResizeObserver(updateCopyCount);\n if (rootRef.current) {\n observer.observe(rootRef.current);\n }\n if (measureRef.current) {\n observer.observe(measureRef.current);\n }\n\n return () => observer.disconnect();\n }, [childArray, gap, resolvedOrientation]);\n\n return (\n <div\n ref={setRootRef}\n data-direction={resolvedDirection}\n data-orientation={resolvedOrientation}\n data-slot=\"marquee\"\n className={cn(\n marqueeVariants({\n appearance,\n fade,\n orientation: resolvedOrientation,\n size,\n }),\n className,\n )}\n style={marqueeStyle}\n {...rest}\n >\n <style>{marqueeKeyframes}</style>\n <div\n aria-hidden=\"true\"\n data-slot=\"marquee-measure\"\n ref={measureRef}\n className={cn(\n \"pointer-events-none invisible absolute -z-10\",\n groupClassName,\n )}\n >\n {childArray}\n </div>\n <div\n data-slot=\"marquee-track\"\n className={cn(\n \"flex shrink-0 gap-(--zui-marquee-gap) will-change-transform [animation-iteration-count:infinite] [animation-timing-function:linear] motion-reduce:[animation-play-state:paused]\",\n resolvedOrientation === \"vertical\" ? \"flex-col\" : \"w-max flex-row\",\n pauseOnHover && \"group-hover/marquee:[animation-play-state:paused]\",\n isReverse && \"[animation-direction:reverse]\",\n trackClassName,\n )}\n style={\n {\n animationDuration: `${speed}s`,\n animationName,\n } as CSSProperties\n }\n >\n <div data-slot=\"marquee-item-group\" className={groupClassName}>\n {childArray}\n {fillerChildren}\n </div>\n <div\n aria-hidden=\"true\"\n inert\n data-slot=\"marquee-item-group\"\n className={groupClassName}\n >\n {childArray}\n {fillerChildren}\n </div>\n </div>\n </div>\n );\n}\n\nMarquee.displayName = \"Marquee\";\n"]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
'use strict';
|
|
3
3
|
|
|
4
|
-
var
|
|
4
|
+
var chunkPZBTZGJE_js = require('../../chunk-PZBTZGJE.js');
|
|
5
5
|
var chunkGBWGVNDA_js = require('../../chunk-GBWGVNDA.js');
|
|
6
6
|
require('../../chunk-UIYFEP3I.js');
|
|
7
7
|
var chunkZS5756ZC_js = require('../../chunk-ZS5756ZC.js');
|
|
@@ -48,7 +48,7 @@ function ModalContentAnimated({
|
|
|
48
48
|
id,
|
|
49
49
|
style
|
|
50
50
|
}) {
|
|
51
|
-
const { open, setOpen, titleId, descriptionId, contentRef, triggerRef } =
|
|
51
|
+
const { open, setOpen, titleId, descriptionId, contentRef, triggerRef } = chunkPZBTZGJE_js.useModalContext("ModalContent");
|
|
52
52
|
const reduceMotion = framerMotion.useReducedMotion();
|
|
53
53
|
const overlayMotion = modalOverlayAnimationPresets[reduceMotion ? "fade" : animation];
|
|
54
54
|
const panelMotion = modalOverlayAnimationPresets[reduceMotion ? "fade" : animation];
|
|
@@ -69,7 +69,7 @@ function ModalContentAnimated({
|
|
|
69
69
|
{
|
|
70
70
|
role: "presentation",
|
|
71
71
|
"data-slot": "modal-overlay",
|
|
72
|
-
className:
|
|
72
|
+
className: chunkPZBTZGJE_js.modalOverlayVariants(),
|
|
73
73
|
onClick: () => setOpen(false),
|
|
74
74
|
initial: animation === "none" ? false : overlayMotion.initial,
|
|
75
75
|
animate: animation === "none" ? void 0 : overlayMotion.animate,
|
|
@@ -95,7 +95,7 @@ function ModalContentAnimated({
|
|
|
95
95
|
"data-slot": "modal-content",
|
|
96
96
|
tabIndex: -1,
|
|
97
97
|
className: chunkZS5756ZC_js.cn(
|
|
98
|
-
|
|
98
|
+
chunkPZBTZGJE_js.modalContentVariants({ size, position, appearance }),
|
|
99
99
|
className
|
|
100
100
|
),
|
|
101
101
|
initial: animation === "none" ? false : panelMotion.initial,
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import { useModalContext, modalOverlayVariants, modalContentVariants } from '../../chunk-
|
|
2
|
+
import { useModalContext, modalOverlayVariants, modalContentVariants } from '../../chunk-VO7LNOC5.mjs';
|
|
3
3
|
import { useFocusManagement } from '../../chunk-K6YI4FJO.mjs';
|
|
4
4
|
import '../../chunk-PMAF6FBF.mjs';
|
|
5
5
|
import { cn } from '../../chunk-4D54YOL6.mjs';
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
export declare const modalOverlayVariants: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
|
|
2
2
|
export declare const modalTriggerVariants: (props?: ({
|
|
3
|
-
appearance?: "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" | null | undefined;
|
|
3
|
+
appearance?: "ruby" | "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" | "mint" | "ocean" | "sapphire" | "zinc" | "stone" | "royal" | "electric" | "forest" | "sunset" | null | undefined;
|
|
4
4
|
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
5
5
|
export declare const modalContentVariants: (props?: ({
|
|
6
6
|
size?: "md" | "sm" | "lg" | "xl" | "full" | null | undefined;
|
|
7
7
|
position?: "center" | "bottom" | "top" | null | undefined;
|
|
8
|
-
appearance?: "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" | null | undefined;
|
|
8
|
+
appearance?: "ruby" | "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" | "mint" | "ocean" | "sapphire" | "zinc" | "stone" | "royal" | "electric" | "forest" | "sunset" | null | undefined;
|
|
9
9
|
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
10
10
|
//# sourceMappingURL=variants.d.ts.map
|
package/dist/ui/modal.js
CHANGED
|
@@ -1,56 +1,56 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
'use strict';
|
|
3
3
|
|
|
4
|
-
var
|
|
4
|
+
var chunkPZBTZGJE_js = require('../chunk-PZBTZGJE.js');
|
|
5
5
|
require('../chunk-GBWGVNDA.js');
|
|
6
6
|
require('../chunk-UIYFEP3I.js');
|
|
7
7
|
require('../chunk-ZS5756ZC.js');
|
|
8
8
|
var jsxRuntime = require('react/jsx-runtime');
|
|
9
9
|
|
|
10
10
|
var Modal2 = (props) => {
|
|
11
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
11
|
+
return /* @__PURE__ */ jsxRuntime.jsx(chunkPZBTZGJE_js.Modal, { ...props });
|
|
12
12
|
};
|
|
13
13
|
Modal2.displayName = "Modal";
|
|
14
14
|
|
|
15
15
|
Object.defineProperty(exports, "ModalBody", {
|
|
16
16
|
enumerable: true,
|
|
17
|
-
get: function () { return
|
|
17
|
+
get: function () { return chunkPZBTZGJE_js.ModalBody; }
|
|
18
18
|
});
|
|
19
19
|
Object.defineProperty(exports, "ModalClose", {
|
|
20
20
|
enumerable: true,
|
|
21
|
-
get: function () { return
|
|
21
|
+
get: function () { return chunkPZBTZGJE_js.ModalClose; }
|
|
22
22
|
});
|
|
23
23
|
Object.defineProperty(exports, "ModalContent", {
|
|
24
24
|
enumerable: true,
|
|
25
|
-
get: function () { return
|
|
25
|
+
get: function () { return chunkPZBTZGJE_js.ModalContent; }
|
|
26
26
|
});
|
|
27
27
|
Object.defineProperty(exports, "ModalDescription", {
|
|
28
28
|
enumerable: true,
|
|
29
|
-
get: function () { return
|
|
29
|
+
get: function () { return chunkPZBTZGJE_js.ModalDescription; }
|
|
30
30
|
});
|
|
31
31
|
Object.defineProperty(exports, "ModalFooter", {
|
|
32
32
|
enumerable: true,
|
|
33
|
-
get: function () { return
|
|
33
|
+
get: function () { return chunkPZBTZGJE_js.ModalFooter; }
|
|
34
34
|
});
|
|
35
35
|
Object.defineProperty(exports, "ModalHeader", {
|
|
36
36
|
enumerable: true,
|
|
37
|
-
get: function () { return
|
|
37
|
+
get: function () { return chunkPZBTZGJE_js.ModalHeader; }
|
|
38
38
|
});
|
|
39
39
|
Object.defineProperty(exports, "ModalTitle", {
|
|
40
40
|
enumerable: true,
|
|
41
|
-
get: function () { return
|
|
41
|
+
get: function () { return chunkPZBTZGJE_js.ModalTitle; }
|
|
42
42
|
});
|
|
43
43
|
Object.defineProperty(exports, "ModalTrigger", {
|
|
44
44
|
enumerable: true,
|
|
45
|
-
get: function () { return
|
|
45
|
+
get: function () { return chunkPZBTZGJE_js.ModalTrigger; }
|
|
46
46
|
});
|
|
47
47
|
Object.defineProperty(exports, "modalContentVariants", {
|
|
48
48
|
enumerable: true,
|
|
49
|
-
get: function () { return
|
|
49
|
+
get: function () { return chunkPZBTZGJE_js.modalContentVariants; }
|
|
50
50
|
});
|
|
51
51
|
Object.defineProperty(exports, "modalOverlayVariants", {
|
|
52
52
|
enumerable: true,
|
|
53
|
-
get: function () { return
|
|
53
|
+
get: function () { return chunkPZBTZGJE_js.modalOverlayVariants; }
|
|
54
54
|
});
|
|
55
55
|
exports.Modal = Modal2;
|
|
56
56
|
//# sourceMappingURL=modal.js.map
|
package/dist/ui/modal.mjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import { Modal } from '../chunk-
|
|
3
|
-
export { ModalBody, ModalClose, ModalContent, ModalDescription, ModalFooter, ModalHeader, ModalTitle, ModalTrigger, modalContentVariants, modalOverlayVariants } from '../chunk-
|
|
2
|
+
import { Modal } from '../chunk-VO7LNOC5.mjs';
|
|
3
|
+
export { ModalBody, ModalClose, ModalContent, ModalDescription, ModalFooter, ModalHeader, ModalTitle, ModalTrigger, modalContentVariants, modalOverlayVariants } from '../chunk-VO7LNOC5.mjs';
|
|
4
4
|
import '../chunk-K6YI4FJO.mjs';
|
|
5
5
|
import '../chunk-PMAF6FBF.mjs';
|
|
6
6
|
import '../chunk-4D54YOL6.mjs';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export declare const otpInputCellVariants: (props?: ({
|
|
2
|
-
appearance?: "outline" | "default" | "glass" | "violet" | "amber" | "indigo" | "orange" | "pink" | "error" | "success" | "warning" | "info" | null | undefined;
|
|
2
|
+
appearance?: "ruby" | "outline" | "default" | "glass" | "violet" | "amber" | "slate" | "indigo" | "cyan" | "aqua" | "blue" | "crimson" | "green" | "lavender" | "lime" | "magenta" | "orange" | "pink" | "plum" | "red" | "error" | "mint" | "ocean" | "sapphire" | "zinc" | "stone" | "royal" | "electric" | "forest" | "sunset" | "success" | "warning" | "info" | null | undefined;
|
|
3
3
|
size?: "md" | "sm" | "lg" | null | undefined;
|
|
4
4
|
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
5
5
|
//# sourceMappingURL=variants.d.ts.map
|