@zentauri-ui/zentauri-components 1.8.2 → 1.8.4
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 +155 -27
- package/cli/cli.integration.test.ts +94 -2
- package/cli/index.mjs +97 -14
- package/cli/registry.json +334 -1
- package/cli/rewrite-imports.mjs +4 -1
- package/dist/animations/blur-in/blur-in.d.ts +5 -0
- package/dist/animations/blur-in/blur-in.d.ts.map +1 -0
- package/dist/animations/blur-in/index.d.ts +4 -0
- package/dist/animations/blur-in/index.d.ts.map +1 -0
- package/dist/animations/blur-in/presets.d.ts +19 -0
- package/dist/animations/blur-in/presets.d.ts.map +1 -0
- package/dist/animations/blur-in/types.d.ts +3 -0
- package/dist/animations/blur-in/types.d.ts.map +1 -0
- package/dist/animations/blur-in.js +24 -0
- package/dist/animations/blur-in.js.map +1 -0
- package/dist/animations/blur-in.mjs +21 -0
- package/dist/animations/blur-in.mjs.map +1 -0
- package/dist/animations/blur-out/blur-out.d.ts +5 -0
- package/dist/animations/blur-out/blur-out.d.ts.map +1 -0
- package/dist/animations/blur-out/index.d.ts +4 -0
- package/dist/animations/blur-out/index.d.ts.map +1 -0
- package/dist/animations/blur-out/presets.d.ts +19 -0
- package/dist/animations/blur-out/presets.d.ts.map +1 -0
- package/dist/animations/blur-out/types.d.ts +3 -0
- package/dist/animations/blur-out/types.d.ts.map +1 -0
- package/dist/animations/blur-out.js +24 -0
- package/dist/animations/blur-out.js.map +1 -0
- package/dist/animations/blur-out.mjs +21 -0
- package/dist/animations/blur-out.mjs.map +1 -0
- package/dist/animations/bounce/bounce.d.ts +5 -0
- package/dist/animations/bounce/bounce.d.ts.map +1 -0
- package/dist/animations/bounce/index.d.ts +4 -0
- package/dist/animations/bounce/index.d.ts.map +1 -0
- package/dist/animations/bounce/presets.d.ts +19 -0
- package/dist/animations/bounce/presets.d.ts.map +1 -0
- package/dist/animations/bounce/types.d.ts +3 -0
- package/dist/animations/bounce/types.d.ts.map +1 -0
- package/dist/animations/bounce.js +29 -0
- package/dist/animations/bounce.js.map +1 -0
- package/dist/animations/bounce.mjs +26 -0
- package/dist/animations/bounce.mjs.map +1 -0
- package/dist/animations/fade-down/fade-down.d.ts +5 -0
- package/dist/animations/fade-down/fade-down.d.ts.map +1 -0
- package/dist/animations/fade-down/index.d.ts +4 -0
- package/dist/animations/fade-down/index.d.ts.map +1 -0
- package/dist/animations/fade-down/presets.d.ts +19 -0
- package/dist/animations/fade-down/presets.d.ts.map +1 -0
- package/dist/animations/fade-down/types.d.ts +3 -0
- package/dist/animations/fade-down/types.d.ts.map +1 -0
- package/dist/animations/fade-down.js +24 -0
- package/dist/animations/fade-down.js.map +1 -0
- package/dist/animations/fade-down.mjs +21 -0
- package/dist/animations/fade-down.mjs.map +1 -0
- package/dist/animations/fade-in/fade-in.d.ts +5 -0
- package/dist/animations/fade-in/fade-in.d.ts.map +1 -0
- package/dist/animations/fade-in/index.d.ts +4 -0
- package/dist/animations/fade-in/index.d.ts.map +1 -0
- package/dist/animations/fade-in/presets.d.ts +16 -0
- package/dist/animations/fade-in/presets.d.ts.map +1 -0
- package/dist/animations/fade-in/types.d.ts +3 -0
- package/dist/animations/fade-in/types.d.ts.map +1 -0
- package/dist/animations/fade-in.js +24 -0
- package/dist/animations/fade-in.js.map +1 -0
- package/dist/animations/fade-in.mjs +21 -0
- package/dist/animations/fade-in.mjs.map +1 -0
- package/dist/animations/fade-left/fade-left.d.ts +5 -0
- package/dist/animations/fade-left/fade-left.d.ts.map +1 -0
- package/dist/animations/fade-left/index.d.ts +4 -0
- package/dist/animations/fade-left/index.d.ts.map +1 -0
- package/dist/animations/fade-left/presets.d.ts +19 -0
- package/dist/animations/fade-left/presets.d.ts.map +1 -0
- package/dist/animations/fade-left/types.d.ts +3 -0
- package/dist/animations/fade-left/types.d.ts.map +1 -0
- package/dist/animations/fade-left.js +24 -0
- package/dist/animations/fade-left.js.map +1 -0
- package/dist/animations/fade-left.mjs +21 -0
- package/dist/animations/fade-left.mjs.map +1 -0
- package/dist/animations/fade-out/fade-out.d.ts +5 -0
- package/dist/animations/fade-out/fade-out.d.ts.map +1 -0
- package/dist/animations/fade-out/index.d.ts +4 -0
- package/dist/animations/fade-out/index.d.ts.map +1 -0
- package/dist/animations/fade-out/presets.d.ts +16 -0
- package/dist/animations/fade-out/presets.d.ts.map +1 -0
- package/dist/animations/fade-out/types.d.ts +3 -0
- package/dist/animations/fade-out/types.d.ts.map +1 -0
- package/dist/animations/fade-out.js +24 -0
- package/dist/animations/fade-out.js.map +1 -0
- package/dist/animations/fade-out.mjs +21 -0
- package/dist/animations/fade-out.mjs.map +1 -0
- package/dist/animations/fade-right/fade-right.d.ts +5 -0
- package/dist/animations/fade-right/fade-right.d.ts.map +1 -0
- package/dist/animations/fade-right/index.d.ts +4 -0
- package/dist/animations/fade-right/index.d.ts.map +1 -0
- package/dist/animations/fade-right/presets.d.ts +19 -0
- package/dist/animations/fade-right/presets.d.ts.map +1 -0
- package/dist/animations/fade-right/types.d.ts +3 -0
- package/dist/animations/fade-right/types.d.ts.map +1 -0
- package/dist/animations/fade-right.js +24 -0
- package/dist/animations/fade-right.js.map +1 -0
- package/dist/animations/fade-right.mjs +21 -0
- package/dist/animations/fade-right.mjs.map +1 -0
- package/dist/animations/fade-up/fade-up.d.ts +5 -0
- package/dist/animations/fade-up/fade-up.d.ts.map +1 -0
- package/dist/animations/fade-up/index.d.ts +4 -0
- package/dist/animations/fade-up/index.d.ts.map +1 -0
- package/dist/animations/fade-up/presets.d.ts +19 -0
- package/dist/animations/fade-up/presets.d.ts.map +1 -0
- package/dist/animations/fade-up/types.d.ts +3 -0
- package/dist/animations/fade-up/types.d.ts.map +1 -0
- package/dist/animations/fade-up.js +24 -0
- package/dist/animations/fade-up.js.map +1 -0
- package/dist/animations/fade-up.mjs +21 -0
- package/dist/animations/fade-up.mjs.map +1 -0
- package/dist/animations/flip/flip.d.ts +5 -0
- package/dist/animations/flip/flip.d.ts.map +1 -0
- package/dist/animations/flip/index.d.ts +4 -0
- package/dist/animations/flip/index.d.ts.map +1 -0
- package/dist/animations/flip/presets.d.ts +22 -0
- package/dist/animations/flip/presets.d.ts.map +1 -0
- package/dist/animations/flip/types.d.ts +3 -0
- package/dist/animations/flip/types.d.ts.map +1 -0
- package/dist/animations/flip-in/flip-in.d.ts +5 -0
- package/dist/animations/flip-in/flip-in.d.ts.map +1 -0
- package/dist/animations/flip-in/index.d.ts +4 -0
- package/dist/animations/flip-in/index.d.ts.map +1 -0
- package/dist/animations/flip-in/presets.d.ts +22 -0
- package/dist/animations/flip-in/presets.d.ts.map +1 -0
- package/dist/animations/flip-in/types.d.ts +3 -0
- package/dist/animations/flip-in/types.d.ts.map +1 -0
- package/dist/animations/flip-in.js +24 -0
- package/dist/animations/flip-in.js.map +1 -0
- package/dist/animations/flip-in.mjs +21 -0
- package/dist/animations/flip-in.mjs.map +1 -0
- package/dist/animations/flip.js +25 -0
- package/dist/animations/flip.js.map +1 -0
- package/dist/animations/flip.mjs +22 -0
- package/dist/animations/flip.mjs.map +1 -0
- package/dist/animations/float/float.d.ts +5 -0
- package/dist/animations/float/float.d.ts.map +1 -0
- package/dist/animations/float/index.d.ts +4 -0
- package/dist/animations/float/index.d.ts.map +1 -0
- package/dist/animations/float/presets.d.ts +18 -0
- package/dist/animations/float/presets.d.ts.map +1 -0
- package/dist/animations/float/types.d.ts +3 -0
- package/dist/animations/float/types.d.ts.map +1 -0
- package/dist/animations/float.js +24 -0
- package/dist/animations/float.js.map +1 -0
- package/dist/animations/float.mjs +21 -0
- package/dist/animations/float.mjs.map +1 -0
- package/dist/animations/hover-lift/hover-lift.d.ts +5 -0
- package/dist/animations/hover-lift/hover-lift.d.ts.map +1 -0
- package/dist/animations/hover-lift/index.d.ts +4 -0
- package/dist/animations/hover-lift/index.d.ts.map +1 -0
- package/dist/animations/hover-lift/presets.d.ts +29 -0
- package/dist/animations/hover-lift/presets.d.ts.map +1 -0
- package/dist/animations/hover-lift/types.d.ts +3 -0
- package/dist/animations/hover-lift/types.d.ts.map +1 -0
- package/dist/animations/hover-lift.js +26 -0
- package/dist/animations/hover-lift.js.map +1 -0
- package/dist/animations/hover-lift.mjs +23 -0
- package/dist/animations/hover-lift.mjs.map +1 -0
- package/dist/animations/hover-scale/hover-scale.d.ts +5 -0
- package/dist/animations/hover-scale/hover-scale.d.ts.map +1 -0
- package/dist/animations/hover-scale/index.d.ts +4 -0
- package/dist/animations/hover-scale/index.d.ts.map +1 -0
- package/dist/animations/hover-scale/presets.d.ts +24 -0
- package/dist/animations/hover-scale/presets.d.ts.map +1 -0
- package/dist/animations/hover-scale/types.d.ts +3 -0
- package/dist/animations/hover-scale/types.d.ts.map +1 -0
- package/dist/animations/hover-scale.js +26 -0
- package/dist/animations/hover-scale.js.map +1 -0
- package/dist/animations/hover-scale.mjs +23 -0
- package/dist/animations/hover-scale.mjs.map +1 -0
- package/dist/animations/magnetic/index.d.ts +4 -0
- package/dist/animations/magnetic/index.d.ts.map +1 -0
- package/dist/animations/magnetic/magnetic.d.ts +5 -0
- package/dist/animations/magnetic/magnetic.d.ts.map +1 -0
- package/dist/animations/magnetic/presets.d.ts +32 -0
- package/dist/animations/magnetic/presets.d.ts.map +1 -0
- package/dist/animations/magnetic/types.d.ts +3 -0
- package/dist/animations/magnetic/types.d.ts.map +1 -0
- package/dist/animations/magnetic.js +26 -0
- package/dist/animations/magnetic.js.map +1 -0
- package/dist/animations/magnetic.mjs +23 -0
- package/dist/animations/magnetic.mjs.map +1 -0
- package/dist/animations/parallax/index.d.ts +4 -0
- package/dist/animations/parallax/index.d.ts.map +1 -0
- package/dist/animations/parallax/parallax.d.ts +5 -0
- package/dist/animations/parallax/parallax.d.ts.map +1 -0
- package/dist/animations/parallax/presets.d.ts +20 -0
- package/dist/animations/parallax/presets.d.ts.map +1 -0
- package/dist/animations/parallax/types.d.ts +3 -0
- package/dist/animations/parallax/types.d.ts.map +1 -0
- package/dist/animations/parallax.js +24 -0
- package/dist/animations/parallax.js.map +1 -0
- package/dist/animations/parallax.mjs +21 -0
- package/dist/animations/parallax.mjs.map +1 -0
- package/dist/animations/ping/index.d.ts +4 -0
- package/dist/animations/ping/index.d.ts.map +1 -0
- package/dist/animations/ping/ping.d.ts +5 -0
- package/dist/animations/ping/ping.d.ts.map +1 -0
- package/dist/animations/ping/presets.d.ts +21 -0
- package/dist/animations/ping/presets.d.ts.map +1 -0
- package/dist/animations/ping/types.d.ts +3 -0
- package/dist/animations/ping/types.d.ts.map +1 -0
- package/dist/animations/ping.js +25 -0
- package/dist/animations/ping.js.map +1 -0
- package/dist/animations/ping.mjs +22 -0
- package/dist/animations/ping.mjs.map +1 -0
- package/dist/animations/pop-in/index.d.ts +4 -0
- package/dist/animations/pop-in/index.d.ts.map +1 -0
- package/dist/animations/pop-in/pop-in.d.ts +5 -0
- package/dist/animations/pop-in/pop-in.d.ts.map +1 -0
- package/dist/animations/pop-in/presets.d.ts +19 -0
- package/dist/animations/pop-in/presets.d.ts.map +1 -0
- package/dist/animations/pop-in/types.d.ts +3 -0
- package/dist/animations/pop-in/types.d.ts.map +1 -0
- package/dist/animations/pop-in.js +24 -0
- package/dist/animations/pop-in.js.map +1 -0
- package/dist/animations/pop-in.mjs +21 -0
- package/dist/animations/pop-in.mjs.map +1 -0
- package/dist/animations/press/index.d.ts +4 -0
- package/dist/animations/press/index.d.ts.map +1 -0
- package/dist/animations/press/presets.d.ts +24 -0
- package/dist/animations/press/presets.d.ts.map +1 -0
- package/dist/animations/press/press.d.ts +5 -0
- package/dist/animations/press/press.d.ts.map +1 -0
- package/dist/animations/press/types.d.ts +3 -0
- package/dist/animations/press/types.d.ts.map +1 -0
- package/dist/animations/press.js +25 -0
- package/dist/animations/press.js.map +1 -0
- package/dist/animations/press.mjs +22 -0
- package/dist/animations/press.mjs.map +1 -0
- package/dist/animations/progress/index.d.ts +4 -0
- package/dist/animations/progress/index.d.ts.map +1 -0
- package/dist/animations/progress/presets.d.ts +19 -0
- package/dist/animations/progress/presets.d.ts.map +1 -0
- package/dist/animations/progress/progress.d.ts +5 -0
- package/dist/animations/progress/progress.d.ts.map +1 -0
- package/dist/animations/progress/types.d.ts +3 -0
- package/dist/animations/progress/types.d.ts.map +1 -0
- package/dist/animations/progress.js +24 -0
- package/dist/animations/progress.js.map +1 -0
- package/dist/animations/progress.mjs +21 -0
- package/dist/animations/progress.mjs.map +1 -0
- package/dist/animations/pulse/index.d.ts +4 -0
- package/dist/animations/pulse/index.d.ts.map +1 -0
- package/dist/animations/pulse/presets.d.ts +20 -0
- package/dist/animations/pulse/presets.d.ts.map +1 -0
- package/dist/animations/pulse/pulse.d.ts +5 -0
- package/dist/animations/pulse/pulse.d.ts.map +1 -0
- package/dist/animations/pulse/types.d.ts +3 -0
- package/dist/animations/pulse/types.d.ts.map +1 -0
- package/dist/animations/pulse.js +24 -0
- package/dist/animations/pulse.js.map +1 -0
- package/dist/animations/pulse.mjs +21 -0
- package/dist/animations/pulse.mjs.map +1 -0
- package/dist/animations/reorder/index.d.ts +4 -0
- package/dist/animations/reorder/index.d.ts.map +1 -0
- package/dist/animations/reorder/presets.d.ts +24 -0
- package/dist/animations/reorder/presets.d.ts.map +1 -0
- package/dist/animations/reorder/reorder.d.ts +5 -0
- package/dist/animations/reorder/reorder.d.ts.map +1 -0
- package/dist/animations/reorder/types.d.ts +3 -0
- package/dist/animations/reorder/types.d.ts.map +1 -0
- package/dist/animations/reorder.js +26 -0
- package/dist/animations/reorder.js.map +1 -0
- package/dist/animations/reorder.mjs +23 -0
- package/dist/animations/reorder.mjs.map +1 -0
- package/dist/animations/reveal-blur/index.d.ts +4 -0
- package/dist/animations/reveal-blur/index.d.ts.map +1 -0
- package/dist/animations/reveal-blur/presets.d.ts +22 -0
- package/dist/animations/reveal-blur/presets.d.ts.map +1 -0
- package/dist/animations/reveal-blur/reveal-blur.d.ts +5 -0
- package/dist/animations/reveal-blur/reveal-blur.d.ts.map +1 -0
- package/dist/animations/reveal-blur/types.d.ts +3 -0
- package/dist/animations/reveal-blur/types.d.ts.map +1 -0
- package/dist/animations/reveal-blur.js +24 -0
- package/dist/animations/reveal-blur.js.map +1 -0
- package/dist/animations/reveal-blur.mjs +21 -0
- package/dist/animations/reveal-blur.mjs.map +1 -0
- package/dist/animations/reveal-down/index.d.ts +4 -0
- package/dist/animations/reveal-down/index.d.ts.map +1 -0
- package/dist/animations/reveal-down/presets.d.ts +22 -0
- package/dist/animations/reveal-down/presets.d.ts.map +1 -0
- package/dist/animations/reveal-down/reveal-down.d.ts +5 -0
- package/dist/animations/reveal-down/reveal-down.d.ts.map +1 -0
- package/dist/animations/reveal-down/types.d.ts +3 -0
- package/dist/animations/reveal-down/types.d.ts.map +1 -0
- package/dist/animations/reveal-down.js +24 -0
- package/dist/animations/reveal-down.js.map +1 -0
- package/dist/animations/reveal-down.mjs +21 -0
- package/dist/animations/reveal-down.mjs.map +1 -0
- package/dist/animations/reveal-left/index.d.ts +4 -0
- package/dist/animations/reveal-left/index.d.ts.map +1 -0
- package/dist/animations/reveal-left/presets.d.ts +22 -0
- package/dist/animations/reveal-left/presets.d.ts.map +1 -0
- package/dist/animations/reveal-left/reveal-left.d.ts +5 -0
- package/dist/animations/reveal-left/reveal-left.d.ts.map +1 -0
- package/dist/animations/reveal-left/types.d.ts +3 -0
- package/dist/animations/reveal-left/types.d.ts.map +1 -0
- package/dist/animations/reveal-left.js +24 -0
- package/dist/animations/reveal-left.js.map +1 -0
- package/dist/animations/reveal-left.mjs +21 -0
- package/dist/animations/reveal-left.mjs.map +1 -0
- package/dist/animations/reveal-right/index.d.ts +4 -0
- package/dist/animations/reveal-right/index.d.ts.map +1 -0
- package/dist/animations/reveal-right/presets.d.ts +22 -0
- package/dist/animations/reveal-right/presets.d.ts.map +1 -0
- package/dist/animations/reveal-right/reveal-right.d.ts +5 -0
- package/dist/animations/reveal-right/reveal-right.d.ts.map +1 -0
- package/dist/animations/reveal-right/types.d.ts +3 -0
- package/dist/animations/reveal-right/types.d.ts.map +1 -0
- package/dist/animations/reveal-right.js +24 -0
- package/dist/animations/reveal-right.js.map +1 -0
- package/dist/animations/reveal-right.mjs +21 -0
- package/dist/animations/reveal-right.mjs.map +1 -0
- package/dist/animations/reveal-up/index.d.ts +4 -0
- package/dist/animations/reveal-up/index.d.ts.map +1 -0
- package/dist/animations/reveal-up/presets.d.ts +22 -0
- package/dist/animations/reveal-up/presets.d.ts.map +1 -0
- package/dist/animations/reveal-up/reveal-up.d.ts +5 -0
- package/dist/animations/reveal-up/reveal-up.d.ts.map +1 -0
- package/dist/animations/reveal-up/types.d.ts +3 -0
- package/dist/animations/reveal-up/types.d.ts.map +1 -0
- package/dist/animations/reveal-up.js +24 -0
- package/dist/animations/reveal-up.js.map +1 -0
- package/dist/animations/reveal-up.mjs +21 -0
- package/dist/animations/reveal-up.mjs.map +1 -0
- package/dist/animations/rotate-in/index.d.ts +4 -0
- package/dist/animations/rotate-in/index.d.ts.map +1 -0
- package/dist/animations/rotate-in/presets.d.ts +22 -0
- package/dist/animations/rotate-in/presets.d.ts.map +1 -0
- package/dist/animations/rotate-in/rotate-in.d.ts +5 -0
- package/dist/animations/rotate-in/rotate-in.d.ts.map +1 -0
- package/dist/animations/rotate-in/types.d.ts +3 -0
- package/dist/animations/rotate-in/types.d.ts.map +1 -0
- package/dist/animations/rotate-in.js +24 -0
- package/dist/animations/rotate-in.js.map +1 -0
- package/dist/animations/rotate-in.mjs +21 -0
- package/dist/animations/rotate-in.mjs.map +1 -0
- package/dist/animations/scale-in/index.d.ts +4 -0
- package/dist/animations/scale-in/index.d.ts.map +1 -0
- package/dist/animations/scale-in/presets.d.ts +19 -0
- package/dist/animations/scale-in/presets.d.ts.map +1 -0
- package/dist/animations/scale-in/scale-in.d.ts +5 -0
- package/dist/animations/scale-in/scale-in.d.ts.map +1 -0
- package/dist/animations/scale-in/types.d.ts +3 -0
- package/dist/animations/scale-in/types.d.ts.map +1 -0
- package/dist/animations/scale-in.js +24 -0
- package/dist/animations/scale-in.js.map +1 -0
- package/dist/animations/scale-in.mjs +21 -0
- package/dist/animations/scale-in.mjs.map +1 -0
- package/dist/animations/scale-out/index.d.ts +4 -0
- package/dist/animations/scale-out/index.d.ts.map +1 -0
- package/dist/animations/scale-out/presets.d.ts +19 -0
- package/dist/animations/scale-out/presets.d.ts.map +1 -0
- package/dist/animations/scale-out/scale-out.d.ts +5 -0
- package/dist/animations/scale-out/scale-out.d.ts.map +1 -0
- package/dist/animations/scale-out/types.d.ts +3 -0
- package/dist/animations/scale-out/types.d.ts.map +1 -0
- package/dist/animations/scale-out.js +24 -0
- package/dist/animations/scale-out.js.map +1 -0
- package/dist/animations/scale-out.mjs +21 -0
- package/dist/animations/scale-out.mjs.map +1 -0
- package/dist/animations/shake/index.d.ts +4 -0
- package/dist/animations/shake/index.d.ts.map +1 -0
- package/dist/animations/shake/presets.d.ts +19 -0
- package/dist/animations/shake/presets.d.ts.map +1 -0
- package/dist/animations/shake/shake.d.ts +5 -0
- package/dist/animations/shake/shake.d.ts.map +1 -0
- package/dist/animations/shake/types.d.ts +3 -0
- package/dist/animations/shake/types.d.ts.map +1 -0
- package/dist/animations/shake.js +29 -0
- package/dist/animations/shake.js.map +1 -0
- package/dist/animations/shake.mjs +26 -0
- package/dist/animations/shake.mjs.map +1 -0
- package/dist/animations/shared/create-motion-animation.d.ts +6 -0
- package/dist/animations/shared/create-motion-animation.d.ts.map +1 -0
- package/dist/animations/shared/index.d.ts +3 -0
- package/dist/animations/shared/index.d.ts.map +1 -0
- package/dist/animations/shared/types.d.ts +28 -0
- package/dist/animations/shared/types.d.ts.map +1 -0
- package/dist/animations/skeleton-shimmer/index.d.ts +4 -0
- package/dist/animations/skeleton-shimmer/index.d.ts.map +1 -0
- package/dist/animations/skeleton-shimmer/presets.d.ts +19 -0
- package/dist/animations/skeleton-shimmer/presets.d.ts.map +1 -0
- package/dist/animations/skeleton-shimmer/skeleton-shimmer.d.ts +5 -0
- package/dist/animations/skeleton-shimmer/skeleton-shimmer.d.ts.map +1 -0
- package/dist/animations/skeleton-shimmer/types.d.ts +3 -0
- package/dist/animations/skeleton-shimmer/types.d.ts.map +1 -0
- package/dist/animations/skeleton-shimmer.js +24 -0
- package/dist/animations/skeleton-shimmer.js.map +1 -0
- package/dist/animations/skeleton-shimmer.mjs +21 -0
- package/dist/animations/skeleton-shimmer.mjs.map +1 -0
- package/dist/animations/slide-down/index.d.ts +4 -0
- package/dist/animations/slide-down/index.d.ts.map +1 -0
- package/dist/animations/slide-down/presets.d.ts +16 -0
- package/dist/animations/slide-down/presets.d.ts.map +1 -0
- package/dist/animations/slide-down/slide-down.d.ts +5 -0
- package/dist/animations/slide-down/slide-down.d.ts.map +1 -0
- package/dist/animations/slide-down/types.d.ts +3 -0
- package/dist/animations/slide-down/types.d.ts.map +1 -0
- package/dist/animations/slide-down.js +24 -0
- package/dist/animations/slide-down.js.map +1 -0
- package/dist/animations/slide-down.mjs +21 -0
- package/dist/animations/slide-down.mjs.map +1 -0
- package/dist/animations/slide-left/index.d.ts +4 -0
- package/dist/animations/slide-left/index.d.ts.map +1 -0
- package/dist/animations/slide-left/presets.d.ts +16 -0
- package/dist/animations/slide-left/presets.d.ts.map +1 -0
- package/dist/animations/slide-left/slide-left.d.ts +5 -0
- package/dist/animations/slide-left/slide-left.d.ts.map +1 -0
- package/dist/animations/slide-left/types.d.ts +3 -0
- package/dist/animations/slide-left/types.d.ts.map +1 -0
- package/dist/animations/slide-left.js +24 -0
- package/dist/animations/slide-left.js.map +1 -0
- package/dist/animations/slide-left.mjs +21 -0
- package/dist/animations/slide-left.mjs.map +1 -0
- package/dist/animations/slide-right/index.d.ts +4 -0
- package/dist/animations/slide-right/index.d.ts.map +1 -0
- package/dist/animations/slide-right/presets.d.ts +16 -0
- package/dist/animations/slide-right/presets.d.ts.map +1 -0
- package/dist/animations/slide-right/slide-right.d.ts +5 -0
- package/dist/animations/slide-right/slide-right.d.ts.map +1 -0
- package/dist/animations/slide-right/types.d.ts +3 -0
- package/dist/animations/slide-right/types.d.ts.map +1 -0
- package/dist/animations/slide-right.js +24 -0
- package/dist/animations/slide-right.js.map +1 -0
- package/dist/animations/slide-right.mjs +21 -0
- package/dist/animations/slide-right.mjs.map +1 -0
- package/dist/animations/slide-up/index.d.ts +4 -0
- package/dist/animations/slide-up/index.d.ts.map +1 -0
- package/dist/animations/slide-up/presets.d.ts +16 -0
- package/dist/animations/slide-up/presets.d.ts.map +1 -0
- package/dist/animations/slide-up/slide-up.d.ts +5 -0
- package/dist/animations/slide-up/slide-up.d.ts.map +1 -0
- package/dist/animations/slide-up/types.d.ts +3 -0
- package/dist/animations/slide-up/types.d.ts.map +1 -0
- package/dist/animations/slide-up.js +24 -0
- package/dist/animations/slide-up.js.map +1 -0
- package/dist/animations/slide-up.mjs +21 -0
- package/dist/animations/slide-up.mjs.map +1 -0
- package/dist/animations/spin/index.d.ts +4 -0
- package/dist/animations/spin/index.d.ts.map +1 -0
- package/dist/animations/spin/presets.d.ts +18 -0
- package/dist/animations/spin/presets.d.ts.map +1 -0
- package/dist/animations/spin/spin.d.ts +5 -0
- package/dist/animations/spin/spin.d.ts.map +1 -0
- package/dist/animations/spin/types.d.ts +3 -0
- package/dist/animations/spin/types.d.ts.map +1 -0
- package/dist/animations/spin.js +20 -0
- package/dist/animations/spin.js.map +1 -0
- package/dist/animations/spin.mjs +17 -0
- package/dist/animations/spin.mjs.map +1 -0
- package/dist/animations/text-reveal/index.d.ts +4 -0
- package/dist/animations/text-reveal/index.d.ts.map +1 -0
- package/dist/animations/text-reveal/presets.d.ts +22 -0
- package/dist/animations/text-reveal/presets.d.ts.map +1 -0
- package/dist/animations/text-reveal/text-reveal.d.ts +5 -0
- package/dist/animations/text-reveal/text-reveal.d.ts.map +1 -0
- package/dist/animations/text-reveal/types.d.ts +3 -0
- package/dist/animations/text-reveal/types.d.ts.map +1 -0
- package/dist/animations/text-reveal.js +24 -0
- package/dist/animations/text-reveal.js.map +1 -0
- package/dist/animations/text-reveal.mjs +21 -0
- package/dist/animations/text-reveal.mjs.map +1 -0
- package/dist/animations/text-shimmer/index.d.ts +4 -0
- package/dist/animations/text-shimmer/index.d.ts.map +1 -0
- package/dist/animations/text-shimmer/presets.d.ts +19 -0
- package/dist/animations/text-shimmer/presets.d.ts.map +1 -0
- package/dist/animations/text-shimmer/text-shimmer.d.ts +5 -0
- package/dist/animations/text-shimmer/text-shimmer.d.ts.map +1 -0
- package/dist/animations/text-shimmer/types.d.ts +3 -0
- package/dist/animations/text-shimmer/types.d.ts.map +1 -0
- package/dist/animations/text-shimmer.js +24 -0
- package/dist/animations/text-shimmer.js.map +1 -0
- package/dist/animations/text-shimmer.mjs +21 -0
- package/dist/animations/text-shimmer.mjs.map +1 -0
- package/dist/animations/tilt/index.d.ts +4 -0
- package/dist/animations/tilt/index.d.ts.map +1 -0
- package/dist/animations/tilt/presets.d.ts +24 -0
- package/dist/animations/tilt/presets.d.ts.map +1 -0
- package/dist/animations/tilt/tilt.d.ts +5 -0
- package/dist/animations/tilt/tilt.d.ts.map +1 -0
- package/dist/animations/tilt/types.d.ts +3 -0
- package/dist/animations/tilt/types.d.ts.map +1 -0
- package/dist/animations/tilt.js +24 -0
- package/dist/animations/tilt.js.map +1 -0
- package/dist/animations/tilt.mjs +21 -0
- package/dist/animations/tilt.mjs.map +1 -0
- package/dist/animations/wiggle/index.d.ts +4 -0
- package/dist/animations/wiggle/index.d.ts.map +1 -0
- package/dist/animations/wiggle/presets.d.ts +19 -0
- package/dist/animations/wiggle/presets.d.ts.map +1 -0
- package/dist/animations/wiggle/types.d.ts +3 -0
- package/dist/animations/wiggle/types.d.ts.map +1 -0
- package/dist/animations/wiggle/wiggle.d.ts +5 -0
- package/dist/animations/wiggle/wiggle.d.ts.map +1 -0
- package/dist/animations/wiggle.js +29 -0
- package/dist/animations/wiggle.js.map +1 -0
- package/dist/animations/wiggle.mjs +26 -0
- package/dist/animations/wiggle.mjs.map +1 -0
- package/dist/charts/shared/variants.d.ts +1 -1
- package/dist/{chunk-RKX5MERK.js → chunk-2F7P4EJQ.js} +2 -2
- package/dist/chunk-2F7P4EJQ.js.map +1 -0
- package/dist/{chunk-MEAVYU2Y.mjs → chunk-2ZKW2E7B.mjs} +10 -3
- package/dist/chunk-2ZKW2E7B.mjs.map +1 -0
- package/dist/{chunk-CL3VH223.mjs → chunk-3F4FF2H4.mjs} +3 -9
- package/dist/chunk-3F4FF2H4.mjs.map +1 -0
- package/dist/{chunk-LMIL2R4R.js → chunk-3J3FYIG3.js} +10 -3
- package/dist/chunk-3J3FYIG3.js.map +1 -0
- package/dist/{chunk-ABOZ5QIX.js → chunk-466QDL44.js} +5 -12
- package/dist/chunk-466QDL44.js.map +1 -0
- package/dist/chunk-4ZP444GA.mjs +19 -0
- package/dist/chunk-4ZP444GA.mjs.map +1 -0
- package/dist/chunk-AACGI7FX.mjs +67 -0
- package/dist/chunk-AACGI7FX.mjs.map +1 -0
- package/dist/{chunk-XXRDLZW7.mjs → chunk-BJSWQQSC.mjs} +2 -2
- package/dist/{chunk-XXRDLZW7.mjs.map → chunk-BJSWQQSC.mjs.map} +1 -1
- package/dist/{chunk-HDO5ZM2S.mjs → chunk-CIEZFHCO.mjs} +3 -10
- package/dist/chunk-CIEZFHCO.mjs.map +1 -0
- package/dist/{chunk-VYI3GS2C.mjs → chunk-CJXGDY7A.mjs} +10 -3
- package/dist/chunk-CJXGDY7A.mjs.map +1 -0
- package/dist/{chunk-7TGUGTTQ.mjs → chunk-ECLHBSC6.mjs} +2 -2
- package/dist/chunk-ECLHBSC6.mjs.map +1 -0
- package/dist/{chunk-SFRS4EZ5.mjs → chunk-IM6KN77X.mjs} +3 -10
- package/dist/chunk-IM6KN77X.mjs.map +1 -0
- package/dist/{chunk-QQ6F4LZK.js → chunk-JFS5PJSH.js} +5 -5
- package/dist/{chunk-QQ6F4LZK.js.map → chunk-JFS5PJSH.js.map} +1 -1
- package/dist/chunk-MUP7DVQR.js +26 -0
- package/dist/chunk-MUP7DVQR.js.map +1 -0
- package/dist/{chunk-4OCTFG3W.js → chunk-NSJ6KGW2.js} +2 -2
- package/dist/{chunk-4OCTFG3W.js.map → chunk-NSJ6KGW2.js.map} +1 -1
- package/dist/chunk-ODZM25II.js +69 -0
- package/dist/chunk-ODZM25II.js.map +1 -0
- package/dist/{chunk-DN7TYUJ6.js → chunk-RFT2FLQT.js} +10 -3
- package/dist/chunk-RFT2FLQT.js.map +1 -0
- package/dist/{chunk-PMALYOPA.js → chunk-UY65KX3M.js} +3 -10
- package/dist/chunk-UY65KX3M.js.map +1 -0
- package/dist/{chunk-ASJQP53L.mjs → chunk-VARQ7W4G.mjs} +3 -3
- package/dist/{chunk-ASJQP53L.mjs.map → chunk-VARQ7W4G.mjs.map} +1 -1
- package/dist/{chunk-KTLJEPLF.js → chunk-VHVQELWF.js} +3 -9
- package/dist/chunk-VHVQELWF.js.map +1 -0
- package/dist/design-system/copy-button.d.ts.map +1 -1
- package/dist/design-system/kbd.d.ts.map +1 -1
- package/dist/design-system/tokens.js +32 -0
- package/dist/design-system/tokens.js.map +1 -0
- package/dist/design-system/tokens.mjs +3 -0
- package/dist/design-system/tokens.mjs.map +1 -0
- package/dist/hooks/useTableSort/index.d.ts +1 -1
- package/dist/hooks/useTableSort/index.d.ts.map +1 -1
- package/dist/ui/accordion/variants.d.ts +2 -2
- package/dist/ui/alert/animated.js.map +1 -1
- package/dist/ui/alert/animated.mjs.map +1 -1
- package/dist/ui/animated-number/animated-number.d.ts.map +1 -1
- package/dist/ui/animated-number/types.d.ts.map +1 -1
- package/dist/ui/animated-number/variants.d.ts.map +1 -1
- package/dist/ui/animated-number.js.map +1 -1
- package/dist/ui/animated-number.mjs.map +1 -1
- package/dist/ui/badge/variants.d.ts +1 -1
- package/dist/ui/buttons/animated.js +4 -3
- package/dist/ui/buttons/animated.js.map +1 -1
- package/dist/ui/buttons/animated.mjs +2 -1
- package/dist/ui/buttons/animated.mjs.map +1 -1
- package/dist/ui/buttons/variants.d.ts +1 -1
- package/dist/ui/buttons.js +5 -4
- package/dist/ui/buttons.mjs +3 -2
- package/dist/ui/card/variants.d.ts +1 -1
- package/dist/ui/checkbox/animated/checkbox-animated.d.ts.map +1 -1
- package/dist/ui/checkbox/animated.js.map +1 -1
- package/dist/ui/checkbox/animated.mjs.map +1 -1
- package/dist/ui/checkbox/checkbox-base.d.ts.map +1 -1
- package/dist/ui/checkbox/types.d.ts.map +1 -1
- package/dist/ui/checkbox.js +1 -8
- package/dist/ui/checkbox.js.map +1 -1
- package/dist/ui/checkbox.mjs +1 -8
- package/dist/ui/checkbox.mjs.map +1 -1
- package/dist/ui/command/animated.js +2 -2
- package/dist/ui/command/animated.mjs +1 -1
- package/dist/ui/command/index.d.ts +1 -1
- package/dist/ui/command/index.d.ts.map +1 -1
- package/dist/ui/command/types.d.ts.map +1 -1
- package/dist/ui/command.js +15 -15
- package/dist/ui/command.mjs +2 -2
- package/dist/ui/context-menu/variants.d.ts +2 -2
- package/dist/ui/copy-button/animated.js +2 -2
- package/dist/ui/copy-button/animated.mjs +1 -1
- package/dist/ui/copy-button/types.d.ts.map +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/drawer/animated.js +11 -11
- package/dist/ui/drawer/animated.mjs +2 -2
- package/dist/ui/drawer/drawer-base.d.ts.map +1 -1
- package/dist/ui/drawer/variants.d.ts +1 -1
- package/dist/ui/drawer.js +11 -11
- package/dist/ui/drawer.mjs +1 -1
- package/dist/ui/dropdown/variants.d.ts +4 -4
- package/dist/ui/dropdown.js.map +1 -1
- package/dist/ui/dropdown.mjs.map +1 -1
- package/dist/ui/dynamic-stepper.js +5 -4
- package/dist/ui/dynamic-stepper.js.map +1 -1
- package/dist/ui/dynamic-stepper.mjs +3 -2
- package/dist/ui/dynamic-stepper.mjs.map +1 -1
- package/dist/ui/inputs/variants.d.ts +1 -1
- package/dist/ui/kbd/animated/kbd-animated.d.ts.map +1 -1
- package/dist/ui/kbd/animated.js +6 -3
- package/dist/ui/kbd/animated.js.map +1 -1
- package/dist/ui/kbd/animated.mjs +5 -2
- package/dist/ui/kbd/animated.mjs.map +1 -1
- package/dist/ui/kbd/kbd-base.d.ts.map +1 -1
- package/dist/ui/kbd/types.d.ts.map +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/otp-input/variants.d.ts +1 -1
- package/dist/ui/pagination/variants.d.ts +1 -1
- package/dist/ui/pagination.js +5 -4
- package/dist/ui/pagination.js.map +1 -1
- package/dist/ui/pagination.mjs +2 -1
- 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/popover-base.d.ts.map +1 -1
- package/dist/ui/popover/types.d.ts.map +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/variants.d.ts +1 -1
- package/dist/ui/radio-group/animated/index.d.ts +1 -1
- package/dist/ui/radio-group/animated/index.d.ts.map +1 -1
- package/dist/ui/radio-group/animated/radio-group-animated.d.ts.map +1 -1
- package/dist/ui/radio-group/animated.js.map +1 -1
- package/dist/ui/radio-group/animated.mjs.map +1 -1
- package/dist/ui/radio-group/radio-group.d.ts.map +1 -1
- package/dist/ui/radio-group.js.map +1 -1
- package/dist/ui/radio-group.mjs.map +1 -1
- package/dist/ui/rating/variants.d.ts +1 -1
- package/dist/ui/scroll-area/variants.d.ts +1 -1
- package/dist/ui/select/variants.d.ts +4 -4
- package/dist/ui/stepper/variants.d.ts +1 -1
- package/dist/ui/timeline/animated/index.d.ts +1 -1
- package/dist/ui/timeline/animated/index.d.ts.map +1 -1
- package/dist/ui/timeline/animated/timeline-item-animated.d.ts.map +1 -1
- package/dist/ui/timeline/animated.js.map +1 -1
- package/dist/ui/timeline/animated.mjs.map +1 -1
- package/dist/ui/timeline/types.d.ts.map +1 -1
- package/dist/ui/toggle/animated/toggle-animated.d.ts.map +1 -1
- package/dist/ui/toggle/animated.js +12 -5
- package/dist/ui/toggle/animated.js.map +1 -1
- package/dist/ui/toggle/animated.mjs +9 -2
- package/dist/ui/toggle/animated.mjs.map +1 -1
- package/dist/ui/toggle/toggle-base.d.ts.map +1 -1
- package/dist/ui/toggle.js +4 -4
- package/dist/ui/toggle.mjs +2 -2
- package/dist/ui/tooltip/variants.d.ts +1 -1
- package/dist/ui/tree-view/variants.d.ts +2 -2
- package/dist/ui/typography/variants.d.ts +2 -2
- package/package.json +14 -2
- package/src/animations/animations.test.tsx +129 -0
- package/src/animations/blur-in/blur-in.tsx +11 -0
- package/src/animations/blur-in/index.ts +5 -0
- package/src/animations/blur-in/presets.ts +8 -0
- package/src/animations/blur-in/types.ts +3 -0
- package/src/animations/blur-out/blur-out.tsx +11 -0
- package/src/animations/blur-out/index.ts +5 -0
- package/src/animations/blur-out/presets.ts +8 -0
- package/src/animations/blur-out/types.ts +3 -0
- package/src/animations/bounce/bounce.tsx +11 -0
- package/src/animations/bounce/index.ts +5 -0
- package/src/animations/bounce/presets.ts +13 -0
- package/src/animations/bounce/types.ts +3 -0
- package/src/animations/fade-down/fade-down.tsx +11 -0
- package/src/animations/fade-down/index.ts +5 -0
- package/src/animations/fade-down/presets.ts +8 -0
- package/src/animations/fade-down/types.ts +3 -0
- package/src/animations/fade-in/fade-in.tsx +11 -0
- package/src/animations/fade-in/index.ts +5 -0
- package/src/animations/fade-in/presets.ts +8 -0
- package/src/animations/fade-in/types.ts +3 -0
- package/src/animations/fade-left/fade-left.tsx +11 -0
- package/src/animations/fade-left/index.ts +5 -0
- package/src/animations/fade-left/presets.ts +8 -0
- package/src/animations/fade-left/types.ts +3 -0
- package/src/animations/fade-out/fade-out.tsx +11 -0
- package/src/animations/fade-out/index.ts +5 -0
- package/src/animations/fade-out/presets.ts +8 -0
- package/src/animations/fade-out/types.ts +3 -0
- package/src/animations/fade-right/fade-right.tsx +11 -0
- package/src/animations/fade-right/index.ts +5 -0
- package/src/animations/fade-right/presets.ts +8 -0
- package/src/animations/fade-right/types.ts +3 -0
- package/src/animations/fade-up/fade-up.tsx +11 -0
- package/src/animations/fade-up/index.ts +5 -0
- package/src/animations/fade-up/presets.ts +8 -0
- package/src/animations/fade-up/types.ts +3 -0
- package/src/animations/flip/flip.tsx +7 -0
- package/src/animations/flip/index.ts +5 -0
- package/src/animations/flip/presets.ts +13 -0
- package/src/animations/flip/types.ts +3 -0
- package/src/animations/flip-in/flip-in.tsx +11 -0
- package/src/animations/flip-in/index.ts +5 -0
- package/src/animations/flip-in/presets.ts +8 -0
- package/src/animations/flip-in/types.ts +3 -0
- package/src/animations/float/float.tsx +11 -0
- package/src/animations/float/index.ts +5 -0
- package/src/animations/float/presets.ts +8 -0
- package/src/animations/float/types.ts +3 -0
- package/src/animations/hover-lift/hover-lift.tsx +11 -0
- package/src/animations/hover-lift/index.ts +5 -0
- package/src/animations/hover-lift/presets.ts +10 -0
- package/src/animations/hover-lift/types.ts +3 -0
- package/src/animations/hover-scale/hover-scale.tsx +11 -0
- package/src/animations/hover-scale/index.ts +5 -0
- package/src/animations/hover-scale/presets.ts +10 -0
- package/src/animations/hover-scale/types.ts +3 -0
- package/src/animations/magnetic/index.ts +5 -0
- package/src/animations/magnetic/magnetic.tsx +11 -0
- package/src/animations/magnetic/presets.ts +10 -0
- package/src/animations/magnetic/types.ts +3 -0
- package/src/animations/parallax/index.ts +5 -0
- package/src/animations/parallax/parallax.tsx +11 -0
- package/src/animations/parallax/presets.ts +8 -0
- package/src/animations/parallax/types.ts +3 -0
- package/src/animations/ping/index.ts +5 -0
- package/src/animations/ping/ping.tsx +7 -0
- package/src/animations/ping/presets.ts +13 -0
- package/src/animations/ping/types.ts +3 -0
- package/src/animations/pop-in/index.ts +5 -0
- package/src/animations/pop-in/pop-in.tsx +11 -0
- package/src/animations/pop-in/presets.ts +8 -0
- package/src/animations/pop-in/types.ts +3 -0
- package/src/animations/press/index.ts +5 -0
- package/src/animations/press/presets.ts +9 -0
- package/src/animations/press/press.tsx +11 -0
- package/src/animations/press/types.ts +3 -0
- package/src/animations/progress/index.ts +5 -0
- package/src/animations/progress/presets.ts +8 -0
- package/src/animations/progress/progress.tsx +11 -0
- package/src/animations/progress/types.ts +3 -0
- package/src/animations/pulse/index.ts +5 -0
- package/src/animations/pulse/presets.ts +8 -0
- package/src/animations/pulse/pulse.tsx +11 -0
- package/src/animations/pulse/types.ts +3 -0
- package/src/animations/reorder/index.ts +5 -0
- package/src/animations/reorder/presets.ts +10 -0
- package/src/animations/reorder/reorder.tsx +11 -0
- package/src/animations/reorder/types.ts +3 -0
- package/src/animations/reveal-blur/index.ts +5 -0
- package/src/animations/reveal-blur/presets.ts +8 -0
- package/src/animations/reveal-blur/reveal-blur.tsx +11 -0
- package/src/animations/reveal-blur/types.ts +3 -0
- package/src/animations/reveal-down/index.ts +5 -0
- package/src/animations/reveal-down/presets.ts +8 -0
- package/src/animations/reveal-down/reveal-down.tsx +11 -0
- package/src/animations/reveal-down/types.ts +3 -0
- package/src/animations/reveal-left/index.ts +5 -0
- package/src/animations/reveal-left/presets.ts +8 -0
- package/src/animations/reveal-left/reveal-left.tsx +11 -0
- package/src/animations/reveal-left/types.ts +3 -0
- package/src/animations/reveal-right/index.ts +5 -0
- package/src/animations/reveal-right/presets.ts +8 -0
- package/src/animations/reveal-right/reveal-right.tsx +11 -0
- package/src/animations/reveal-right/types.ts +3 -0
- package/src/animations/reveal-up/index.ts +5 -0
- package/src/animations/reveal-up/presets.ts +8 -0
- package/src/animations/reveal-up/reveal-up.tsx +11 -0
- package/src/animations/reveal-up/types.ts +3 -0
- package/src/animations/rotate-in/index.ts +5 -0
- package/src/animations/rotate-in/presets.ts +8 -0
- package/src/animations/rotate-in/rotate-in.tsx +11 -0
- package/src/animations/rotate-in/types.ts +3 -0
- package/src/animations/scale-in/index.ts +5 -0
- package/src/animations/scale-in/presets.ts +8 -0
- package/src/animations/scale-in/scale-in.tsx +11 -0
- package/src/animations/scale-in/types.ts +3 -0
- package/src/animations/scale-out/index.ts +5 -0
- package/src/animations/scale-out/presets.ts +8 -0
- package/src/animations/scale-out/scale-out.tsx +11 -0
- package/src/animations/scale-out/types.ts +3 -0
- package/src/animations/shake/index.ts +5 -0
- package/src/animations/shake/presets.ts +13 -0
- package/src/animations/shake/shake.tsx +11 -0
- package/src/animations/shake/types.ts +3 -0
- package/src/animations/shared/create-motion-animation.tsx +89 -0
- package/src/animations/shared/index.ts +2 -0
- package/src/animations/shared/types.ts +34 -0
- package/src/animations/skeleton-shimmer/index.ts +5 -0
- package/src/animations/skeleton-shimmer/presets.ts +8 -0
- package/src/animations/skeleton-shimmer/skeleton-shimmer.tsx +11 -0
- package/src/animations/skeleton-shimmer/types.ts +3 -0
- package/src/animations/slide-down/index.ts +5 -0
- package/src/animations/slide-down/presets.ts +8 -0
- package/src/animations/slide-down/slide-down.tsx +11 -0
- package/src/animations/slide-down/types.ts +3 -0
- package/src/animations/slide-left/index.ts +5 -0
- package/src/animations/slide-left/presets.ts +8 -0
- package/src/animations/slide-left/slide-left.tsx +11 -0
- package/src/animations/slide-left/types.ts +3 -0
- package/src/animations/slide-right/index.ts +5 -0
- package/src/animations/slide-right/presets.ts +8 -0
- package/src/animations/slide-right/slide-right.tsx +11 -0
- package/src/animations/slide-right/types.ts +3 -0
- package/src/animations/slide-up/index.ts +5 -0
- package/src/animations/slide-up/presets.ts +8 -0
- package/src/animations/slide-up/slide-up.tsx +11 -0
- package/src/animations/slide-up/types.ts +3 -0
- package/src/animations/spin/index.ts +5 -0
- package/src/animations/spin/presets.ts +8 -0
- package/src/animations/spin/spin.tsx +7 -0
- package/src/animations/spin/types.ts +3 -0
- package/src/animations/text-reveal/index.ts +5 -0
- package/src/animations/text-reveal/presets.ts +8 -0
- package/src/animations/text-reveal/text-reveal.tsx +11 -0
- package/src/animations/text-reveal/types.ts +3 -0
- package/src/animations/text-shimmer/index.ts +5 -0
- package/src/animations/text-shimmer/presets.ts +8 -0
- package/src/animations/text-shimmer/text-shimmer.tsx +11 -0
- package/src/animations/text-shimmer/types.ts +3 -0
- package/src/animations/tilt/index.ts +5 -0
- package/src/animations/tilt/presets.ts +12 -0
- package/src/animations/tilt/tilt.tsx +7 -0
- package/src/animations/tilt/types.ts +3 -0
- package/src/animations/wiggle/index.ts +5 -0
- package/src/animations/wiggle/presets.ts +13 -0
- package/src/animations/wiggle/types.ts +3 -0
- package/src/animations/wiggle/wiggle.tsx +11 -0
- package/src/design-system/copy-button.ts +5 -10
- package/src/design-system/kbd.ts +5 -10
- package/src/hooks/useTableFilter/types.ts +1 -1
- package/src/hooks/useTableSort/index.ts +1 -4
- package/src/ui/alert/animated/alert-animated.tsx +1 -1
- package/src/ui/animated-number/animated-number.tsx +7 -1
- package/src/ui/animated-number/types.ts +10 -1
- package/src/ui/animated-number/variants.ts +7 -4
- package/src/ui/checkbox/animated/checkbox-animated.tsx +3 -1
- package/src/ui/checkbox/checkbox-base.tsx +4 -6
- package/src/ui/checkbox/checkbox.test.tsx +4 -4
- package/src/ui/checkbox/types.ts +4 -7
- package/src/ui/command/command-base.tsx +2 -2
- package/src/ui/command/command.test.tsx +10 -24
- package/src/ui/command/index.ts +1 -1
- package/src/ui/command/types.ts +1 -2
- package/src/ui/context-menu/context-menu.test.tsx +30 -0
- package/src/ui/copy-button/types.ts +4 -2
- package/src/ui/drawer/drawer-base.tsx +1 -4
- package/src/ui/dropdown/dropdown.tsx +1 -1
- package/src/ui/kbd/animated/kbd-animated.tsx +4 -1
- package/src/ui/kbd/kbd-base.tsx +4 -1
- package/src/ui/kbd/kbd.test.tsx +1 -3
- package/src/ui/kbd/types.ts +4 -2
- package/src/ui/modal/modal.test.tsx +24 -0
- package/src/ui/peer-isolation.test.ts +81 -0
- package/src/ui/popover/popover-base.tsx +1 -3
- package/src/ui/popover/types.ts +2 -2
- package/src/ui/radio-group/animated/index.ts +4 -1
- package/src/ui/radio-group/animated/radio-group-animated.tsx +3 -1
- package/src/ui/radio-group/radio-group.test.tsx +3 -1
- package/src/ui/radio-group/radio-group.tsx +4 -5
- package/src/ui/select/select.test.tsx +98 -2
- package/src/ui/timeline/animated/index.ts +1 -4
- package/src/ui/timeline/animated/timeline-item-animated.tsx +1 -4
- package/src/ui/timeline/types.ts +1 -4
- package/src/ui/toggle/animated/toggle-animated.tsx +6 -1
- package/src/ui/toggle/toggle-base.tsx +6 -1
- package/src/ui/tree-view/tree-view.test.tsx +6 -2
- package/dist/chunk-7TGUGTTQ.mjs.map +0 -1
- package/dist/chunk-ABOZ5QIX.js.map +0 -1
- package/dist/chunk-CL3VH223.mjs.map +0 -1
- package/dist/chunk-DN7TYUJ6.js.map +0 -1
- package/dist/chunk-HDO5ZM2S.mjs.map +0 -1
- package/dist/chunk-KTLJEPLF.js.map +0 -1
- package/dist/chunk-LMIL2R4R.js.map +0 -1
- package/dist/chunk-MEAVYU2Y.mjs.map +0 -1
- package/dist/chunk-PMALYOPA.js.map +0 -1
- package/dist/chunk-RKX5MERK.js.map +0 -1
- package/dist/chunk-SFRS4EZ5.mjs.map +0 -1
- package/dist/chunk-VYI3GS2C.mjs.map +0 -1
|
@@ -1,14 +1,17 @@
|
|
|
1
1
|
import { cva } from "class-variance-authority";
|
|
2
2
|
|
|
3
|
-
import {
|
|
3
|
+
import {
|
|
4
|
+
zuiAnimatedNumberAppearance,
|
|
5
|
+
zuiAnimatedNumberSize,
|
|
6
|
+
} from "../../design-system/animated-number";
|
|
4
7
|
|
|
5
|
-
export const animatedNumberAppearance = cva("inline-flex",{
|
|
8
|
+
export const animatedNumberAppearance = cva("inline-flex", {
|
|
6
9
|
variants: {
|
|
7
10
|
appearance: zuiAnimatedNumberAppearance,
|
|
8
|
-
size: zuiAnimatedNumberSize
|
|
11
|
+
size: zuiAnimatedNumberSize,
|
|
9
12
|
},
|
|
10
13
|
defaultVariants: {
|
|
11
14
|
appearance: "default",
|
|
12
15
|
size: "md",
|
|
13
16
|
},
|
|
14
|
-
});
|
|
17
|
+
});
|
|
@@ -53,7 +53,9 @@ export function CheckboxAnimated(props: CheckboxAnimatedProps) {
|
|
|
53
53
|
const state = resolveCheckboxState(resolvedChecked, indeterminate);
|
|
54
54
|
const labelContent = label ?? children;
|
|
55
55
|
const hasVisibleLabel =
|
|
56
|
-
labelContent !== undefined &&
|
|
56
|
+
labelContent !== undefined &&
|
|
57
|
+
labelContent !== null &&
|
|
58
|
+
labelContent !== false;
|
|
57
59
|
const motionPreset = checkboxAnimationPresets[animation];
|
|
58
60
|
const svgMotionProps = animation === "spring" ? motionPreset : undefined;
|
|
59
61
|
const pathMotionProps = animation === "draw" ? motionPreset : undefined;
|
|
@@ -49,7 +49,9 @@ export function CheckboxBase(props: CheckboxProps) {
|
|
|
49
49
|
const state = resolveCheckboxState(resolvedChecked, indeterminate);
|
|
50
50
|
const labelContent = label ?? children;
|
|
51
51
|
const hasVisibleLabel =
|
|
52
|
-
labelContent !== undefined &&
|
|
52
|
+
labelContent !== undefined &&
|
|
53
|
+
labelContent !== null &&
|
|
54
|
+
labelContent !== false;
|
|
53
55
|
|
|
54
56
|
const setChecked = useCallback(
|
|
55
57
|
(next: boolean) => {
|
|
@@ -98,11 +100,7 @@ export function CheckboxBase(props: CheckboxProps) {
|
|
|
98
100
|
indicatorClassName,
|
|
99
101
|
)}
|
|
100
102
|
>
|
|
101
|
-
<path
|
|
102
|
-
d="M3.5 8H12.5"
|
|
103
|
-
strokeWidth="2.4"
|
|
104
|
-
strokeLinecap="round"
|
|
105
|
-
/>
|
|
103
|
+
<path d="M3.5 8H12.5" strokeWidth="2.4" strokeLinecap="round" />
|
|
106
104
|
</svg>
|
|
107
105
|
) : (
|
|
108
106
|
<svg
|
|
@@ -31,14 +31,14 @@ describe("Checkbox", () => {
|
|
|
31
31
|
</Checkbox>,
|
|
32
32
|
);
|
|
33
33
|
|
|
34
|
-
await user.click(
|
|
34
|
+
await user.click(
|
|
35
|
+
screen.getByRole("checkbox", { name: "Marketing emails" }),
|
|
36
|
+
);
|
|
35
37
|
expect(onCheckedChange).toHaveBeenLastCalledWith(true);
|
|
36
38
|
});
|
|
37
39
|
|
|
38
40
|
it("should expose mixed state when indeterminate", () => {
|
|
39
|
-
render(
|
|
40
|
-
<Checkbox indeterminate aria-label="Select partial group" />,
|
|
41
|
-
);
|
|
41
|
+
render(<Checkbox indeterminate aria-label="Select partial group" />);
|
|
42
42
|
expect(screen.getByRole("checkbox")).toHaveAttribute(
|
|
43
43
|
"aria-checked",
|
|
44
44
|
"mixed",
|
package/src/ui/checkbox/types.ts
CHANGED
|
@@ -9,7 +9,9 @@ import type {
|
|
|
9
9
|
|
|
10
10
|
export type CheckboxState = "checked" | "unchecked" | "indeterminate";
|
|
11
11
|
|
|
12
|
-
export type CheckboxRootVariantProps = VariantProps<
|
|
12
|
+
export type CheckboxRootVariantProps = VariantProps<
|
|
13
|
+
typeof checkboxRootVariants
|
|
14
|
+
>;
|
|
13
15
|
export type CheckboxControlVariantProps = VariantProps<
|
|
14
16
|
typeof checkboxControlVariants
|
|
15
17
|
>;
|
|
@@ -21,12 +23,7 @@ export type CheckboxProps = CheckboxRootVariantProps &
|
|
|
21
23
|
CheckboxControlVariantProps &
|
|
22
24
|
Omit<
|
|
23
25
|
ComponentPropsWithRef<"input">,
|
|
24
|
-
| "
|
|
25
|
-
| "size"
|
|
26
|
-
| "checked"
|
|
27
|
-
| "defaultChecked"
|
|
28
|
-
| "onChange"
|
|
29
|
-
| "children"
|
|
26
|
+
"type" | "size" | "checked" | "defaultChecked" | "onChange" | "children"
|
|
30
27
|
> & {
|
|
31
28
|
checked?: boolean;
|
|
32
29
|
defaultChecked?: boolean;
|
|
@@ -32,7 +32,7 @@ import type {
|
|
|
32
32
|
CommandContentVariantProps,
|
|
33
33
|
CommandContentLayerProps,
|
|
34
34
|
CommandContentOverlayRenderProps,
|
|
35
|
-
CommandContentPanelRenderProps
|
|
35
|
+
CommandContentPanelRenderProps,
|
|
36
36
|
} from "./types";
|
|
37
37
|
import {
|
|
38
38
|
commandContentVariants,
|
|
@@ -45,7 +45,7 @@ import {
|
|
|
45
45
|
commandListVariants,
|
|
46
46
|
commandOverlayVariants,
|
|
47
47
|
commandSeparatorVariants,
|
|
48
|
-
commandTriggerVariants
|
|
48
|
+
commandTriggerVariants,
|
|
49
49
|
} from "./variants";
|
|
50
50
|
|
|
51
51
|
const CommandContext = createContext<CommandCtx | null>(null);
|
|
@@ -51,9 +51,7 @@ describe("Command", () => {
|
|
|
51
51
|
const user = userEvent.setup();
|
|
52
52
|
render(<Palette />);
|
|
53
53
|
await user.click(screen.getByRole("button", { name: "Open palette" }));
|
|
54
|
-
await waitFor(() =>
|
|
55
|
-
expect(screen.getByRole("dialog")).toBeInTheDocument(),
|
|
56
|
-
);
|
|
54
|
+
await waitFor(() => expect(screen.getByRole("dialog")).toBeInTheDocument());
|
|
57
55
|
expect(screen.getByText("Home")).toBeInTheDocument();
|
|
58
56
|
});
|
|
59
57
|
|
|
@@ -61,23 +59,19 @@ describe("Command", () => {
|
|
|
61
59
|
const { rerender } = render(<Palette open={false} />);
|
|
62
60
|
expect(screen.queryByRole("dialog")).not.toBeInTheDocument();
|
|
63
61
|
rerender(<Palette open />);
|
|
64
|
-
await waitFor(() =>
|
|
65
|
-
expect(screen.getByRole("dialog")).toBeInTheDocument(),
|
|
66
|
-
);
|
|
62
|
+
await waitFor(() => expect(screen.getByRole("dialog")).toBeInTheDocument());
|
|
67
63
|
});
|
|
68
64
|
|
|
69
65
|
it("should filter items as the user types", async () => {
|
|
70
66
|
const user = userEvent.setup();
|
|
71
67
|
render(<Palette open />);
|
|
72
|
-
await waitFor(() =>
|
|
73
|
-
expect(screen.getByRole("dialog")).toBeInTheDocument(),
|
|
74
|
-
);
|
|
68
|
+
await waitFor(() => expect(screen.getByRole("dialog")).toBeInTheDocument());
|
|
75
69
|
await user.type(screen.getByRole("combobox"), "settings");
|
|
76
70
|
await waitFor(() => {
|
|
77
71
|
expect(screen.getByText("Settings")).toBeVisible();
|
|
78
|
-
expect(
|
|
79
|
-
"
|
|
80
|
-
);
|
|
72
|
+
expect(
|
|
73
|
+
screen.getByText("Home").closest("[data-slot=command-item]"),
|
|
74
|
+
).toHaveAttribute("hidden");
|
|
81
75
|
});
|
|
82
76
|
});
|
|
83
77
|
|
|
@@ -94,9 +88,7 @@ describe("Command", () => {
|
|
|
94
88
|
const user = userEvent.setup();
|
|
95
89
|
const onSelectHome = vi.fn();
|
|
96
90
|
render(<Palette open onSelectHome={onSelectHome} />);
|
|
97
|
-
await waitFor(() =>
|
|
98
|
-
expect(screen.getByRole("dialog")).toBeInTheDocument(),
|
|
99
|
-
);
|
|
91
|
+
await waitFor(() => expect(screen.getByRole("dialog")).toBeInTheDocument());
|
|
100
92
|
const input = screen.getByRole("combobox");
|
|
101
93
|
input.focus();
|
|
102
94
|
await user.keyboard("{Enter}");
|
|
@@ -107,20 +99,14 @@ describe("Command", () => {
|
|
|
107
99
|
const user = userEvent.setup();
|
|
108
100
|
const onOpenChange = vi.fn();
|
|
109
101
|
render(<Palette open onOpenChange={onOpenChange} />);
|
|
110
|
-
await waitFor(() =>
|
|
111
|
-
expect(screen.getByRole("dialog")).toBeInTheDocument(),
|
|
112
|
-
);
|
|
102
|
+
await waitFor(() => expect(screen.getByRole("dialog")).toBeInTheDocument());
|
|
113
103
|
await user.keyboard("{Escape}");
|
|
114
|
-
await waitFor(() =>
|
|
115
|
-
expect(onOpenChange).toHaveBeenLastCalledWith(false),
|
|
116
|
-
);
|
|
104
|
+
await waitFor(() => expect(onOpenChange).toHaveBeenLastCalledWith(false));
|
|
117
105
|
});
|
|
118
106
|
|
|
119
107
|
it("should render group headings and a separator", async () => {
|
|
120
108
|
render(<Palette open />);
|
|
121
|
-
await waitFor(() =>
|
|
122
|
-
expect(screen.getByRole("dialog")).toBeInTheDocument(),
|
|
123
|
-
);
|
|
109
|
+
await waitFor(() => expect(screen.getByRole("dialog")).toBeInTheDocument());
|
|
124
110
|
expect(screen.getByText("Navigation")).toBeInTheDocument();
|
|
125
111
|
expect(screen.getByText("Actions")).toBeInTheDocument();
|
|
126
112
|
expect(
|
package/src/ui/command/index.ts
CHANGED
package/src/ui/command/types.ts
CHANGED
|
@@ -100,7 +100,6 @@ export type CommandCtx = {
|
|
|
100
100
|
inputRef: RefObject<HTMLInputElement | null>;
|
|
101
101
|
};
|
|
102
102
|
|
|
103
|
-
|
|
104
103
|
export type CommandContentOverlayRenderProps = {
|
|
105
104
|
role: "presentation";
|
|
106
105
|
"data-slot": "command-overlay";
|
|
@@ -126,4 +125,4 @@ export type CommandContentLayerProps = CommandContentProps & {
|
|
|
126
125
|
renderPresence?: (children: ReactNode) => ReactNode;
|
|
127
126
|
renderOverlay?: (props: CommandContentOverlayRenderProps) => ReactNode;
|
|
128
127
|
renderPanel?: (props: CommandContentPanelRenderProps) => ReactNode;
|
|
129
|
-
};
|
|
128
|
+
};
|
|
@@ -173,4 +173,34 @@ describe("ContextMenu", () => {
|
|
|
173
173
|
|
|
174
174
|
expect(screen.getByRole("menuitem", { name: "Archive" })).toBeVisible();
|
|
175
175
|
});
|
|
176
|
+
|
|
177
|
+
it("should not invoke onSelect for a disabled item and keep the menu open", async () => {
|
|
178
|
+
const user = userEvent.setup();
|
|
179
|
+
const onSelect = vi.fn();
|
|
180
|
+
render(
|
|
181
|
+
<ContextMenu defaultOpen>
|
|
182
|
+
<ContextMenuTrigger>Right-click row</ContextMenuTrigger>
|
|
183
|
+
<ContextMenuContent>
|
|
184
|
+
<ContextMenuItem disabled onSelect={onSelect}>
|
|
185
|
+
Copy
|
|
186
|
+
</ContextMenuItem>
|
|
187
|
+
</ContextMenuContent>
|
|
188
|
+
</ContextMenu>,
|
|
189
|
+
);
|
|
190
|
+
|
|
191
|
+
const item = screen.getByRole("menuitem", { name: "Copy" });
|
|
192
|
+
expect(item).toHaveAttribute("aria-disabled", "true");
|
|
193
|
+
|
|
194
|
+
await user.click(item);
|
|
195
|
+
expect(onSelect).not.toHaveBeenCalled();
|
|
196
|
+
expect(screen.getByRole("menu")).toBeInTheDocument();
|
|
197
|
+
});
|
|
198
|
+
|
|
199
|
+
it("should mark the submenu trigger with aria-haspopup menu", () => {
|
|
200
|
+
renderContextMenu();
|
|
201
|
+
fireEvent.contextMenu(screen.getByTestId("surface"));
|
|
202
|
+
expect(
|
|
203
|
+
screen.getByRole("menuitem", { name: "More actions" }),
|
|
204
|
+
).toHaveAttribute("aria-haspopup", "menu");
|
|
205
|
+
});
|
|
176
206
|
});
|
|
@@ -12,8 +12,10 @@ export type CopyButtonIconRenderer = (state: {
|
|
|
12
12
|
copiedIcon: ReactNode;
|
|
13
13
|
}) => ReactNode;
|
|
14
14
|
|
|
15
|
-
export interface CopyButtonBaseProps
|
|
16
|
-
|
|
15
|
+
export interface CopyButtonBaseProps extends Omit<
|
|
16
|
+
ComponentPropsWithRef<"button">,
|
|
17
|
+
"value" | "onCopy"
|
|
18
|
+
> {
|
|
17
19
|
/** Text written to the clipboard when the button is pressed. */
|
|
18
20
|
value: string;
|
|
19
21
|
/** Milliseconds the copied state stays active before resetting. `0` keeps it until re-copied. */
|
|
@@ -202,10 +202,7 @@ DrawerHeader.displayName = "DrawerHeader";
|
|
|
202
202
|
|
|
203
203
|
export function DrawerBody({ className, children }: DrawerSectionProps) {
|
|
204
204
|
return (
|
|
205
|
-
<div
|
|
206
|
-
data-slot="drawer-body"
|
|
207
|
-
className={cn("flex-1 text-sm", className)}
|
|
208
|
-
>
|
|
205
|
+
<div data-slot="drawer-body" className={cn("flex-1 text-sm", className)}>
|
|
209
206
|
{children}
|
|
210
207
|
</div>
|
|
211
208
|
);
|
|
@@ -8,7 +8,10 @@ import type { KbdBaseProps } from "../types";
|
|
|
8
8
|
import { kbdAnimationPresets } from "./animations";
|
|
9
9
|
import type { KbdAnimatedProps } from "./types";
|
|
10
10
|
|
|
11
|
-
export function KbdAnimated({
|
|
11
|
+
export function KbdAnimated({
|
|
12
|
+
animation = "none",
|
|
13
|
+
...props
|
|
14
|
+
}: KbdAnimatedProps) {
|
|
12
15
|
const motionProps = kbdAnimationPresets[animation];
|
|
13
16
|
|
|
14
17
|
return (
|
package/src/ui/kbd/kbd-base.tsx
CHANGED
|
@@ -31,7 +31,10 @@ export function KbdBase({
|
|
|
31
31
|
{items.map((key, index) => (
|
|
32
32
|
<Fragment key={index}>
|
|
33
33
|
{index > 0 && separator != null ? (
|
|
34
|
-
<span
|
|
34
|
+
<span
|
|
35
|
+
data-slot="kbd-separator"
|
|
36
|
+
className={kbdSeparatorVariants({ size })}
|
|
37
|
+
>
|
|
35
38
|
{separator}
|
|
36
39
|
</span>
|
|
37
40
|
) : null}
|
package/src/ui/kbd/kbd.test.tsx
CHANGED
|
@@ -34,9 +34,7 @@ describe("Kbd", () => {
|
|
|
34
34
|
|
|
35
35
|
it("should apply the appearance token", () => {
|
|
36
36
|
render(<Kbd keys={["A"]} appearance="emerald" />);
|
|
37
|
-
const key = document.querySelector(
|
|
38
|
-
'[data-slot="kbd-key"]',
|
|
39
|
-
) as HTMLElement;
|
|
37
|
+
const key = document.querySelector('[data-slot="kbd-key"]') as HTMLElement;
|
|
40
38
|
expect(key.className).toMatch(/--zui-kbd-emerald-bg/);
|
|
41
39
|
});
|
|
42
40
|
|
package/src/ui/kbd/types.ts
CHANGED
|
@@ -5,8 +5,10 @@ import type { kbdKeyVariants } from "./variants";
|
|
|
5
5
|
|
|
6
6
|
export type KbdVariantProps = VariantProps<typeof kbdKeyVariants>;
|
|
7
7
|
|
|
8
|
-
export interface KbdBaseProps
|
|
9
|
-
|
|
8
|
+
export interface KbdBaseProps extends Omit<
|
|
9
|
+
ComponentPropsWithRef<"span">,
|
|
10
|
+
"children"
|
|
11
|
+
> {
|
|
10
12
|
/** Keys to render as individual keycaps, e.g. `["⌘", "K"]`. Takes precedence over `children`. */
|
|
11
13
|
keys?: ReactNode[];
|
|
12
14
|
/** Optional node rendered between keycaps (e.g. "+" or "then"). */
|
|
@@ -166,4 +166,28 @@ describe("Modal", () => {
|
|
|
166
166
|
);
|
|
167
167
|
expect(trigger).toHaveFocus();
|
|
168
168
|
});
|
|
169
|
+
|
|
170
|
+
it("should expose aria-modal and wire labelledby/describedby to its title and description", async () => {
|
|
171
|
+
render(
|
|
172
|
+
<Modal defaultOpen>
|
|
173
|
+
<ModalContent>
|
|
174
|
+
<ModalTitle>Confirm</ModalTitle>
|
|
175
|
+
<ModalDescription>Please review</ModalDescription>
|
|
176
|
+
</ModalContent>
|
|
177
|
+
</Modal>,
|
|
178
|
+
);
|
|
179
|
+
const dialog = await screen.findByRole("dialog");
|
|
180
|
+
expect(dialog).toHaveAttribute("aria-modal", "true");
|
|
181
|
+
|
|
182
|
+
const labelledby = dialog.getAttribute("aria-labelledby");
|
|
183
|
+
const describedby = dialog.getAttribute("aria-describedby");
|
|
184
|
+
expect(labelledby).toBeTruthy();
|
|
185
|
+
expect(describedby).toBeTruthy();
|
|
186
|
+
expect(document.getElementById(labelledby as string)).toHaveTextContent(
|
|
187
|
+
"Confirm",
|
|
188
|
+
);
|
|
189
|
+
expect(document.getElementById(describedby as string)).toHaveTextContent(
|
|
190
|
+
"Please review",
|
|
191
|
+
);
|
|
192
|
+
});
|
|
169
193
|
});
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import { existsSync, readdirSync, readFileSync } from "node:fs";
|
|
2
|
+
import { dirname, join } from "node:path";
|
|
3
|
+
import { fileURLToPath } from "node:url";
|
|
4
|
+
import { describe, expect, it } from "vitest";
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Guards the package's optional-peer isolation contract:
|
|
8
|
+
*
|
|
9
|
+
* - A component that ships BOTH a static entry and an `animated/` entry must keep
|
|
10
|
+
* `framer-motion` out of its static files, so importing the static entry never
|
|
11
|
+
* forces the optional `framer-motion` peer onto the consumer. (Components that
|
|
12
|
+
* are themselves motion primitives — e.g. `animated-number`, `marquee` — have no
|
|
13
|
+
* `animated/` split, so this rule does not apply to them.)
|
|
14
|
+
* - No file under `src/ui` may import `recharts`; charts live only in `src/charts/*`.
|
|
15
|
+
*/
|
|
16
|
+
|
|
17
|
+
const uiRoot = dirname(fileURLToPath(import.meta.url));
|
|
18
|
+
|
|
19
|
+
const componentDirs = readdirSync(uiRoot, { withFileTypes: true })
|
|
20
|
+
.filter((e) => e.isDirectory())
|
|
21
|
+
.map((e) => e.name);
|
|
22
|
+
|
|
23
|
+
/** `.ts`/`.tsx` files directly involved in the static entry (excludes `animated/` and tests). */
|
|
24
|
+
function staticFiles(dir: string): string[] {
|
|
25
|
+
const out: string[] = [];
|
|
26
|
+
for (const entry of readdirSync(dir, { withFileTypes: true })) {
|
|
27
|
+
const full = join(dir, entry.name);
|
|
28
|
+
if (entry.isDirectory()) {
|
|
29
|
+
if (entry.name === "animated") continue;
|
|
30
|
+
out.push(...staticFiles(full));
|
|
31
|
+
} else if (
|
|
32
|
+
/\.(tsx?|jsx?)$/.test(entry.name) &&
|
|
33
|
+
!entry.name.includes(".test.")
|
|
34
|
+
) {
|
|
35
|
+
out.push(full);
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
return out;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
const FRAMER = /from\s+["']framer-motion/;
|
|
42
|
+
const RECHARTS = /from\s+["']recharts/;
|
|
43
|
+
|
|
44
|
+
describe("static UI entries — optional peer isolation", () => {
|
|
45
|
+
it("scans every UI component directory", () => {
|
|
46
|
+
expect(componentDirs.length).toBeGreaterThan(40);
|
|
47
|
+
});
|
|
48
|
+
|
|
49
|
+
for (const name of componentDirs) {
|
|
50
|
+
const dir = join(uiRoot, name);
|
|
51
|
+
const hasAnimatedEntry = existsSync(join(dir, "animated"));
|
|
52
|
+
if (!hasAnimatedEntry) continue;
|
|
53
|
+
|
|
54
|
+
it(`${name}: static files do not import framer-motion`, () => {
|
|
55
|
+
const offenders = staticFiles(dir).filter((file) =>
|
|
56
|
+
FRAMER.test(readFileSync(file, "utf8")),
|
|
57
|
+
);
|
|
58
|
+
expect(offenders).toEqual([]);
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
it("no UI file imports recharts (charts live in src/charts)", () => {
|
|
63
|
+
const offenders = componentDirs
|
|
64
|
+
.flatMap((name) => {
|
|
65
|
+
const all: string[] = [];
|
|
66
|
+
const dir = join(uiRoot, name);
|
|
67
|
+
// include animated files here too — recharts must never appear in ui/.
|
|
68
|
+
const walk = (d: string) => {
|
|
69
|
+
for (const entry of readdirSync(d, { withFileTypes: true })) {
|
|
70
|
+
const full = join(d, entry.name);
|
|
71
|
+
if (entry.isDirectory()) walk(full);
|
|
72
|
+
else if (/\.(tsx?|jsx?)$/.test(entry.name)) all.push(full);
|
|
73
|
+
}
|
|
74
|
+
};
|
|
75
|
+
walk(dir);
|
|
76
|
+
return all;
|
|
77
|
+
})
|
|
78
|
+
.filter((file) => RECHARTS.test(readFileSync(file, "utf8")));
|
|
79
|
+
expect(offenders).toEqual([]);
|
|
80
|
+
});
|
|
81
|
+
});
|
|
@@ -157,9 +157,7 @@ export const Popover = ({
|
|
|
157
157
|
);
|
|
158
158
|
|
|
159
159
|
return (
|
|
160
|
-
<PopoverContext.Provider
|
|
161
|
-
value={contextValue}
|
|
162
|
-
>
|
|
160
|
+
<PopoverContext.Provider value={contextValue}>
|
|
163
161
|
<div className="relative inline-block">{children}</div>
|
|
164
162
|
</PopoverContext.Provider>
|
|
165
163
|
);
|
package/src/ui/popover/types.ts
CHANGED
|
@@ -30,9 +30,9 @@ export type PopoverTriggerProps = {
|
|
|
30
30
|
|
|
31
31
|
export type PopoverContentProps = ComponentPropsWithRef<"div"> & {
|
|
32
32
|
children: ReactNode;
|
|
33
|
-
variant?: VariantProps<typeof popoverContentVariants>["variant"]
|
|
33
|
+
variant?: VariantProps<typeof popoverContentVariants>["variant"];
|
|
34
34
|
size?: VariantProps<typeof popoverContentVariants>["size"];
|
|
35
35
|
width?: VariantProps<typeof popoverContentVariants>["width"];
|
|
36
36
|
side?: PopoverSide;
|
|
37
37
|
align?: PopoverAlign;
|
|
38
|
-
};
|
|
38
|
+
};
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
|
|
3
|
-
export {
|
|
3
|
+
export {
|
|
4
|
+
RadioGroupAnimated,
|
|
5
|
+
RadioGroupItemAnimated,
|
|
6
|
+
} from "./radio-group-animated";
|
|
4
7
|
export type {
|
|
5
8
|
RadioGroupAnimatedProps,
|
|
6
9
|
RadioGroupAnimation,
|
|
@@ -110,7 +110,9 @@ export function RadioGroupItemAnimated(props: RadioGroupItemAnimatedProps) {
|
|
|
110
110
|
const size = sizeProp ?? context?.size;
|
|
111
111
|
const labelContent = label ?? children;
|
|
112
112
|
const hasVisibleLabel =
|
|
113
|
-
labelContent !== undefined &&
|
|
113
|
+
labelContent !== undefined &&
|
|
114
|
+
labelContent !== null &&
|
|
115
|
+
labelContent !== false;
|
|
114
116
|
const motionPreset = radioGroupAnimationPresets[animation];
|
|
115
117
|
|
|
116
118
|
return (
|
|
@@ -18,7 +18,9 @@ describe("RadioGroup", () => {
|
|
|
18
18
|
</RadioGroup>,
|
|
19
19
|
);
|
|
20
20
|
expect(document.querySelector('[data-slot="radio-group"]')).toBeTruthy();
|
|
21
|
-
expect(
|
|
21
|
+
expect(
|
|
22
|
+
document.querySelector('[data-slot="radio-group-item"]'),
|
|
23
|
+
).toBeTruthy();
|
|
22
24
|
});
|
|
23
25
|
|
|
24
26
|
it("should select one value at a time", async () => {
|
|
@@ -4,10 +4,7 @@ import { useCallback, useId, useState } from "react";
|
|
|
4
4
|
|
|
5
5
|
import { cn } from "../../lib/utils";
|
|
6
6
|
|
|
7
|
-
import {
|
|
8
|
-
RadioGroupContext,
|
|
9
|
-
useRadioGroupContext,
|
|
10
|
-
} from "./radio-group-context";
|
|
7
|
+
import { RadioGroupContext, useRadioGroupContext } from "./radio-group-context";
|
|
11
8
|
import type { RadioGroupItemProps, RadioGroupProps } from "./types";
|
|
12
9
|
import {
|
|
13
10
|
radioGroupControlVariants,
|
|
@@ -103,7 +100,9 @@ export function RadioGroupItem(props: RadioGroupItemProps) {
|
|
|
103
100
|
const size = sizeProp ?? context?.size;
|
|
104
101
|
const labelContent = label ?? children;
|
|
105
102
|
const hasVisibleLabel =
|
|
106
|
-
labelContent !== undefined &&
|
|
103
|
+
labelContent !== undefined &&
|
|
104
|
+
labelContent !== null &&
|
|
105
|
+
labelContent !== false;
|
|
107
106
|
|
|
108
107
|
return (
|
|
109
108
|
<label
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { render, screen } from "@testing-library/react";
|
|
1
|
+
import { render, screen, waitFor } from "@testing-library/react";
|
|
2
2
|
import userEvent from "@testing-library/user-event";
|
|
3
|
-
import { describe, expect, it } from "vitest";
|
|
3
|
+
import { describe, expect, it, vi } from "vitest";
|
|
4
4
|
|
|
5
5
|
import {
|
|
6
6
|
Select,
|
|
@@ -126,3 +126,99 @@ describe("Select", () => {
|
|
|
126
126
|
expect(beta).toHaveAttribute("aria-selected", "false");
|
|
127
127
|
});
|
|
128
128
|
});
|
|
129
|
+
|
|
130
|
+
describe("Select — keyboard and a11y", () => {
|
|
131
|
+
it("wires trigger aria attributes to the listbox", async () => {
|
|
132
|
+
const user = userEvent.setup();
|
|
133
|
+
render(
|
|
134
|
+
<Select multiple defaultValue={[]}>
|
|
135
|
+
<SelectTrigger>
|
|
136
|
+
<SelectValue placeholder="Pick" />
|
|
137
|
+
</SelectTrigger>
|
|
138
|
+
<SelectContent>
|
|
139
|
+
<SelectItem value="a">Alpha</SelectItem>
|
|
140
|
+
</SelectContent>
|
|
141
|
+
</Select>,
|
|
142
|
+
);
|
|
143
|
+
const trigger = screen.getByRole("button");
|
|
144
|
+
expect(trigger).toHaveAttribute("aria-haspopup", "listbox");
|
|
145
|
+
expect(trigger).toHaveAttribute("aria-expanded", "false");
|
|
146
|
+
const controls = trigger.getAttribute("aria-controls");
|
|
147
|
+
|
|
148
|
+
await user.click(trigger);
|
|
149
|
+
expect(trigger).toHaveAttribute("aria-expanded", "true");
|
|
150
|
+
const listbox = screen.getByRole("listbox");
|
|
151
|
+
expect(listbox).toHaveAttribute("id", controls);
|
|
152
|
+
expect(listbox).toHaveAttribute("aria-multiselectable", "true");
|
|
153
|
+
});
|
|
154
|
+
|
|
155
|
+
it("moves focus across enabled options with arrow keys", async () => {
|
|
156
|
+
const user = userEvent.setup();
|
|
157
|
+
render(
|
|
158
|
+
<Select defaultValue={[]}>
|
|
159
|
+
<SelectTrigger>
|
|
160
|
+
<SelectValue placeholder="Pick" />
|
|
161
|
+
</SelectTrigger>
|
|
162
|
+
<SelectContent>
|
|
163
|
+
<SelectItem value="a">Alpha</SelectItem>
|
|
164
|
+
<SelectItem value="b">Beta</SelectItem>
|
|
165
|
+
</SelectContent>
|
|
166
|
+
</Select>,
|
|
167
|
+
);
|
|
168
|
+
await user.click(screen.getByRole("button"));
|
|
169
|
+
const alpha = await screen.findByRole("option", { name: /alpha/i });
|
|
170
|
+
const beta = screen.getByRole("option", { name: /beta/i });
|
|
171
|
+
await waitFor(() => expect(alpha).toHaveFocus());
|
|
172
|
+
|
|
173
|
+
await user.keyboard("{ArrowDown}");
|
|
174
|
+
expect(beta).toHaveFocus();
|
|
175
|
+
await user.keyboard("{ArrowUp}");
|
|
176
|
+
expect(alpha).toHaveFocus();
|
|
177
|
+
});
|
|
178
|
+
|
|
179
|
+
it("selects the focused option with the Enter key", async () => {
|
|
180
|
+
const user = userEvent.setup();
|
|
181
|
+
const onChange = vi.fn();
|
|
182
|
+
render(
|
|
183
|
+
<Select multiple defaultValue={[]} onChange={onChange}>
|
|
184
|
+
<SelectTrigger>
|
|
185
|
+
<SelectValue placeholder="Pick" />
|
|
186
|
+
</SelectTrigger>
|
|
187
|
+
<SelectContent>
|
|
188
|
+
<SelectItem value="a">Alpha</SelectItem>
|
|
189
|
+
<SelectItem value="b">Beta</SelectItem>
|
|
190
|
+
</SelectContent>
|
|
191
|
+
</Select>,
|
|
192
|
+
);
|
|
193
|
+
await user.click(screen.getByRole("button"));
|
|
194
|
+
const alpha = await screen.findByRole("option", { name: /alpha/i });
|
|
195
|
+
await waitFor(() => expect(alpha).toHaveFocus());
|
|
196
|
+
|
|
197
|
+
await user.keyboard("{Enter}");
|
|
198
|
+
expect(onChange).toHaveBeenCalledWith(["a"]);
|
|
199
|
+
});
|
|
200
|
+
|
|
201
|
+
it("ignores a disabled option for pointer and marks it aria-disabled", async () => {
|
|
202
|
+
const user = userEvent.setup();
|
|
203
|
+
const onChange = vi.fn();
|
|
204
|
+
render(
|
|
205
|
+
<Select multiple defaultValue={[]} onChange={onChange}>
|
|
206
|
+
<SelectTrigger>
|
|
207
|
+
<SelectValue placeholder="Pick" />
|
|
208
|
+
</SelectTrigger>
|
|
209
|
+
<SelectContent>
|
|
210
|
+
<SelectItem value="a" disabled>
|
|
211
|
+
Alpha
|
|
212
|
+
</SelectItem>
|
|
213
|
+
<SelectItem value="b">Beta</SelectItem>
|
|
214
|
+
</SelectContent>
|
|
215
|
+
</Select>,
|
|
216
|
+
);
|
|
217
|
+
await user.click(screen.getByRole("button"));
|
|
218
|
+
const alpha = await screen.findByRole("option", { name: /alpha/i });
|
|
219
|
+
expect(alpha).toHaveAttribute("aria-disabled", "true");
|
|
220
|
+
|
|
221
|
+
await user.click(alpha);
|
|
222
|
+
expect(onChange).not.toHaveBeenCalled();
|
|
223
|
+
});
|
|
224
|
+
});
|
|
@@ -8,10 +8,7 @@ export {
|
|
|
8
8
|
TimelineTitle,
|
|
9
9
|
} from "../timeline-base";
|
|
10
10
|
export { TimelineItem } from "./timeline-item-animated";
|
|
11
|
-
export type {
|
|
12
|
-
TimelineAnimatedProps,
|
|
13
|
-
TimelineItemAnimatedProps,
|
|
14
|
-
} from "./types";
|
|
11
|
+
export type { TimelineAnimatedProps, TimelineItemAnimatedProps } from "./types";
|
|
15
12
|
export {
|
|
16
13
|
TIMELINE_DEFAULT_STAGGER,
|
|
17
14
|
timelineItemTransitionPresets,
|