@zentauri-ui/zentauri-components 1.9.1 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +17 -0
- package/README.md +34 -5
- package/cli/registry.json +14 -0
- package/dist/animations/blur-in.js +1 -0
- package/dist/animations/blur-in.js.map +1 -1
- package/dist/animations/blur-in.mjs +1 -0
- package/dist/animations/blur-in.mjs.map +1 -1
- package/dist/animations/blur-out.js +1 -0
- package/dist/animations/blur-out.js.map +1 -1
- package/dist/animations/blur-out.mjs +1 -0
- package/dist/animations/blur-out.mjs.map +1 -1
- package/dist/animations/bounce.js +1 -0
- package/dist/animations/bounce.js.map +1 -1
- package/dist/animations/bounce.mjs +1 -0
- package/dist/animations/bounce.mjs.map +1 -1
- package/dist/animations/fade-down.js +1 -0
- package/dist/animations/fade-down.js.map +1 -1
- package/dist/animations/fade-down.mjs +1 -0
- package/dist/animations/fade-down.mjs.map +1 -1
- package/dist/animations/fade-in.js +1 -0
- package/dist/animations/fade-in.js.map +1 -1
- package/dist/animations/fade-in.mjs +1 -0
- package/dist/animations/fade-in.mjs.map +1 -1
- package/dist/animations/fade-left.js +1 -0
- package/dist/animations/fade-left.js.map +1 -1
- package/dist/animations/fade-left.mjs +1 -0
- package/dist/animations/fade-left.mjs.map +1 -1
- package/dist/animations/fade-out.js +1 -0
- package/dist/animations/fade-out.js.map +1 -1
- package/dist/animations/fade-out.mjs +1 -0
- package/dist/animations/fade-out.mjs.map +1 -1
- package/dist/animations/fade-right.js +1 -0
- package/dist/animations/fade-right.js.map +1 -1
- package/dist/animations/fade-right.mjs +1 -0
- package/dist/animations/fade-right.mjs.map +1 -1
- package/dist/animations/fade-up.js +1 -0
- package/dist/animations/fade-up.js.map +1 -1
- package/dist/animations/fade-up.mjs +1 -0
- package/dist/animations/fade-up.mjs.map +1 -1
- package/dist/animations/flip-in.js +1 -0
- package/dist/animations/flip-in.js.map +1 -1
- package/dist/animations/flip-in.mjs +1 -0
- package/dist/animations/flip-in.mjs.map +1 -1
- package/dist/animations/flip.js +1 -0
- package/dist/animations/flip.js.map +1 -1
- package/dist/animations/flip.mjs +1 -0
- package/dist/animations/flip.mjs.map +1 -1
- package/dist/animations/float.js +1 -0
- package/dist/animations/float.js.map +1 -1
- package/dist/animations/float.mjs +1 -0
- package/dist/animations/float.mjs.map +1 -1
- package/dist/animations/hover-lift.js +1 -0
- package/dist/animations/hover-lift.js.map +1 -1
- package/dist/animations/hover-lift.mjs +1 -0
- package/dist/animations/hover-lift.mjs.map +1 -1
- package/dist/animations/hover-scale.js +1 -0
- package/dist/animations/hover-scale.js.map +1 -1
- package/dist/animations/hover-scale.mjs +1 -0
- package/dist/animations/hover-scale.mjs.map +1 -1
- package/dist/animations/magnetic.js +1 -0
- package/dist/animations/magnetic.js.map +1 -1
- package/dist/animations/magnetic.mjs +1 -0
- package/dist/animations/magnetic.mjs.map +1 -1
- package/dist/animations/parallax.js +1 -0
- package/dist/animations/parallax.js.map +1 -1
- package/dist/animations/parallax.mjs +1 -0
- package/dist/animations/parallax.mjs.map +1 -1
- package/dist/animations/ping.js +1 -0
- package/dist/animations/ping.js.map +1 -1
- package/dist/animations/ping.mjs +1 -0
- package/dist/animations/ping.mjs.map +1 -1
- package/dist/animations/pop-in.js +1 -0
- package/dist/animations/pop-in.js.map +1 -1
- package/dist/animations/pop-in.mjs +1 -0
- package/dist/animations/pop-in.mjs.map +1 -1
- package/dist/animations/press.js +1 -0
- package/dist/animations/press.js.map +1 -1
- package/dist/animations/press.mjs +1 -0
- package/dist/animations/press.mjs.map +1 -1
- package/dist/animations/progress.js +1 -0
- package/dist/animations/progress.js.map +1 -1
- package/dist/animations/progress.mjs +1 -0
- package/dist/animations/progress.mjs.map +1 -1
- package/dist/animations/pulse.js +1 -0
- package/dist/animations/pulse.js.map +1 -1
- package/dist/animations/pulse.mjs +1 -0
- package/dist/animations/pulse.mjs.map +1 -1
- package/dist/animations/reorder.js +1 -0
- package/dist/animations/reorder.js.map +1 -1
- package/dist/animations/reorder.mjs +1 -0
- package/dist/animations/reorder.mjs.map +1 -1
- package/dist/animations/reveal-blur.js +1 -0
- package/dist/animations/reveal-blur.js.map +1 -1
- package/dist/animations/reveal-blur.mjs +1 -0
- package/dist/animations/reveal-blur.mjs.map +1 -1
- package/dist/animations/reveal-down.js +1 -0
- package/dist/animations/reveal-down.js.map +1 -1
- package/dist/animations/reveal-down.mjs +1 -0
- package/dist/animations/reveal-down.mjs.map +1 -1
- package/dist/animations/reveal-left.js +1 -0
- package/dist/animations/reveal-left.js.map +1 -1
- package/dist/animations/reveal-left.mjs +1 -0
- package/dist/animations/reveal-left.mjs.map +1 -1
- package/dist/animations/reveal-right.js +1 -0
- package/dist/animations/reveal-right.js.map +1 -1
- package/dist/animations/reveal-right.mjs +1 -0
- package/dist/animations/reveal-right.mjs.map +1 -1
- package/dist/animations/reveal-up.js +1 -0
- package/dist/animations/reveal-up.js.map +1 -1
- package/dist/animations/reveal-up.mjs +1 -0
- package/dist/animations/reveal-up.mjs.map +1 -1
- package/dist/animations/rotate-in.js +1 -0
- package/dist/animations/rotate-in.js.map +1 -1
- package/dist/animations/rotate-in.mjs +1 -0
- package/dist/animations/rotate-in.mjs.map +1 -1
- package/dist/animations/scale-in.js +1 -0
- package/dist/animations/scale-in.js.map +1 -1
- package/dist/animations/scale-in.mjs +1 -0
- package/dist/animations/scale-in.mjs.map +1 -1
- package/dist/animations/scale-out.js +1 -0
- package/dist/animations/scale-out.js.map +1 -1
- package/dist/animations/scale-out.mjs +1 -0
- package/dist/animations/scale-out.mjs.map +1 -1
- package/dist/animations/shake.js +1 -0
- package/dist/animations/shake.js.map +1 -1
- package/dist/animations/shake.mjs +1 -0
- package/dist/animations/shake.mjs.map +1 -1
- package/dist/animations/skeleton-shimmer.js +1 -0
- package/dist/animations/skeleton-shimmer.js.map +1 -1
- package/dist/animations/skeleton-shimmer.mjs +1 -0
- package/dist/animations/skeleton-shimmer.mjs.map +1 -1
- package/dist/animations/slide-down.js +1 -0
- package/dist/animations/slide-down.js.map +1 -1
- package/dist/animations/slide-down.mjs +1 -0
- package/dist/animations/slide-down.mjs.map +1 -1
- package/dist/animations/slide-left.js +1 -0
- package/dist/animations/slide-left.js.map +1 -1
- package/dist/animations/slide-left.mjs +1 -0
- package/dist/animations/slide-left.mjs.map +1 -1
- package/dist/animations/slide-right.js +1 -0
- package/dist/animations/slide-right.js.map +1 -1
- package/dist/animations/slide-right.mjs +1 -0
- package/dist/animations/slide-right.mjs.map +1 -1
- package/dist/animations/slide-up.js +1 -0
- package/dist/animations/slide-up.js.map +1 -1
- package/dist/animations/slide-up.mjs +1 -0
- package/dist/animations/slide-up.mjs.map +1 -1
- package/dist/animations/spin.js +1 -0
- package/dist/animations/spin.js.map +1 -1
- package/dist/animations/spin.mjs +1 -0
- package/dist/animations/spin.mjs.map +1 -1
- package/dist/animations/text-reveal.js +1 -0
- package/dist/animations/text-reveal.js.map +1 -1
- package/dist/animations/text-reveal.mjs +1 -0
- package/dist/animations/text-reveal.mjs.map +1 -1
- package/dist/animations/text-shimmer.js +1 -0
- package/dist/animations/text-shimmer.js.map +1 -1
- package/dist/animations/text-shimmer.mjs +1 -0
- package/dist/animations/text-shimmer.mjs.map +1 -1
- package/dist/animations/tilt.js +1 -0
- package/dist/animations/tilt.js.map +1 -1
- package/dist/animations/tilt.mjs +1 -0
- package/dist/animations/tilt.mjs.map +1 -1
- package/dist/animations/wiggle.js +1 -0
- package/dist/animations/wiggle.js.map +1 -1
- package/dist/animations/wiggle.mjs +1 -0
- package/dist/animations/wiggle.mjs.map +1 -1
- package/dist/charts/area.js +1 -0
- package/dist/charts/area.js.map +1 -1
- package/dist/charts/area.mjs +1 -0
- package/dist/charts/area.mjs.map +1 -1
- package/dist/charts/bar.js +1 -0
- package/dist/charts/bar.mjs +1 -0
- package/dist/charts/bubble.js +1 -0
- package/dist/charts/bubble.js.map +1 -1
- package/dist/charts/bubble.mjs +1 -0
- package/dist/charts/bubble.mjs.map +1 -1
- package/dist/charts/funnel.js +1 -0
- package/dist/charts/funnel.js.map +1 -1
- package/dist/charts/funnel.mjs +1 -0
- package/dist/charts/funnel.mjs.map +1 -1
- package/dist/charts/line.js +1 -0
- package/dist/charts/line.js.map +1 -1
- package/dist/charts/line.mjs +1 -0
- package/dist/charts/line.mjs.map +1 -1
- package/dist/charts/pie.js +1 -0
- package/dist/charts/pie.js.map +1 -1
- package/dist/charts/pie.mjs +1 -0
- package/dist/charts/pie.mjs.map +1 -1
- package/dist/charts/radar.js +1 -0
- package/dist/charts/radar.js.map +1 -1
- package/dist/charts/radar.mjs +1 -0
- package/dist/charts/radar.mjs.map +1 -1
- package/dist/charts/scatter.js +1 -0
- package/dist/charts/scatter.js.map +1 -1
- package/dist/charts/scatter.mjs +1 -0
- package/dist/charts/scatter.mjs.map +1 -1
- package/dist/charts/stacked-bar.js +1 -0
- package/dist/charts/stacked-bar.js.map +1 -1
- package/dist/charts/stacked-bar.mjs +1 -0
- package/dist/charts/stacked-bar.mjs.map +1 -1
- package/dist/{chunk-OY3YJGOX.mjs → chunk-22I54GJW.js} +7 -203
- package/dist/chunk-22I54GJW.js.map +1 -0
- package/dist/chunk-27PO2FY2.mjs +161 -0
- package/dist/chunk-27PO2FY2.mjs.map +1 -0
- package/dist/chunk-2PWT2MB5.mjs +73 -0
- package/dist/chunk-2PWT2MB5.mjs.map +1 -0
- package/dist/chunk-34OSFCSH.js +212 -0
- package/dist/chunk-34OSFCSH.js.map +1 -0
- package/dist/chunk-37YQUTKG.js +204 -0
- package/dist/chunk-37YQUTKG.js.map +1 -0
- package/dist/chunk-3HSFL4WA.mjs +191 -0
- package/dist/chunk-3HSFL4WA.mjs.map +1 -0
- package/dist/{chunk-EKLWWV3G.mjs → chunk-3I6XR7KN.js} +10 -72
- package/dist/chunk-3I6XR7KN.js.map +1 -0
- package/dist/chunk-3MK7CWEX.js +54 -0
- package/dist/chunk-3MK7CWEX.js.map +1 -0
- package/dist/{chunk-UNPKDNLA.js → chunk-3R6PQUG2.mjs} +3 -264
- package/dist/chunk-3R6PQUG2.mjs.map +1 -0
- package/dist/{chunk-AS34PVUG.mjs → chunk-3Z6L24ZK.js} +11 -221
- package/dist/{chunk-IW2E4MLG.js.map → chunk-3Z6L24ZK.js.map} +1 -1
- package/dist/{chunk-DBW25HOR.mjs → chunk-44G3U35C.js} +12 -413
- package/dist/chunk-44G3U35C.js.map +1 -0
- package/dist/chunk-44NX3DAZ.mjs +17 -0
- package/dist/chunk-44NX3DAZ.mjs.map +1 -0
- package/dist/chunk-456OEGUT.mjs +58 -0
- package/dist/chunk-456OEGUT.mjs.map +1 -0
- package/dist/{chunk-URXYF25P.mjs → chunk-45CGVW7S.js} +12 -205
- package/dist/chunk-45CGVW7S.js.map +1 -0
- package/dist/chunk-4FU6FDUT.mjs +202 -0
- package/dist/chunk-4FU6FDUT.mjs.map +1 -0
- package/dist/chunk-4LVEWKXF.mjs +258 -0
- package/dist/chunk-4LVEWKXF.mjs.map +1 -0
- package/dist/{chunk-3IBWZM52.js → chunk-4QLWSXXO.mjs} +3 -209
- package/dist/chunk-4QLWSXXO.mjs.map +1 -0
- package/dist/{chunk-DMDCXYNN.js → chunk-4U7CDEN7.mjs} +3 -51
- package/dist/chunk-4U7CDEN7.mjs.map +1 -0
- package/dist/{chunk-6GPUHFXI.mjs → chunk-56DECC6D.js} +16 -220
- package/dist/chunk-56DECC6D.js.map +1 -0
- package/dist/chunk-56KZVM5D.mjs +159 -0
- package/dist/chunk-56KZVM5D.mjs.map +1 -0
- package/dist/{chunk-VJSME7ML.js → chunk-5BSYGFN7.mjs} +3 -162
- package/dist/chunk-5BSYGFN7.mjs.map +1 -0
- package/dist/{chunk-XIG2QDVN.js → chunk-5QSYJHWL.mjs} +3 -73
- package/dist/chunk-5QSYJHWL.mjs.map +1 -0
- package/dist/{chunk-WVBFSJEB.js → chunk-5R6XJAXQ.mjs} +3 -574
- package/dist/chunk-5R6XJAXQ.mjs.map +1 -0
- package/dist/{chunk-KIAYTBS5.js → chunk-5WWD3TZ2.mjs} +3 -129
- package/dist/chunk-5WWD3TZ2.mjs.map +1 -0
- package/dist/{chunk-4GVMPQZS.js → chunk-63UE3BR4.mjs} +3 -77
- package/dist/chunk-63UE3BR4.mjs.map +1 -0
- package/dist/chunk-63YMCBGJ.js +217 -0
- package/dist/chunk-63YMCBGJ.js.map +1 -0
- package/dist/chunk-7GIL24GK.js +354 -0
- package/dist/chunk-7GIL24GK.js.map +1 -0
- package/dist/chunk-7JBQ3ZJN.mjs +250 -0
- package/dist/chunk-7JBQ3ZJN.mjs.map +1 -0
- package/dist/{chunk-4WRCXG5E.mjs → chunk-7LFRU6AW.js} +16 -704
- package/dist/{chunk-XYKDSHRG.js.map → chunk-7LFRU6AW.js.map} +1 -1
- package/dist/{chunk-6ONKAOI7.mjs → chunk-7M4TUP4I.js} +8 -190
- package/dist/chunk-7M4TUP4I.js.map +1 -0
- package/dist/{chunk-XOYCFLEZ.mjs → chunk-AADGUMYW.js} +12 -349
- package/dist/chunk-AADGUMYW.js.map +1 -0
- package/dist/chunk-ATMCT3A3.mjs +222 -0
- package/dist/chunk-ATMCT3A3.mjs.map +1 -0
- package/dist/chunk-BDBL4XXI.mjs +45 -0
- package/dist/chunk-BDBL4XXI.mjs.map +1 -0
- package/dist/{chunk-U7FZ5RMV.js → chunk-BTSCPOWZ.mjs} +3 -424
- package/dist/chunk-BTSCPOWZ.mjs.map +1 -0
- package/dist/chunk-BZZVO4GL.mjs +414 -0
- package/dist/chunk-BZZVO4GL.mjs.map +1 -0
- package/dist/chunk-C7F6OCGK.mjs +123 -0
- package/dist/chunk-C7F6OCGK.mjs.map +1 -0
- package/dist/chunk-D4B62J5C.js +128 -0
- package/dist/chunk-D4B62J5C.js.map +1 -0
- package/dist/{chunk-REDZL4DY.mjs → chunk-DWDDIG6R.js} +9 -160
- package/dist/chunk-DWDDIG6R.js.map +1 -0
- package/dist/{chunk-UMXCV5IT.mjs → chunk-E7BPOL74.js} +13 -249
- package/dist/chunk-E7BPOL74.js.map +1 -0
- package/dist/chunk-EIX26RKN.js +73 -0
- package/dist/chunk-EIX26RKN.js.map +1 -0
- package/dist/chunk-EKBSSKJQ.js +271 -0
- package/dist/chunk-EKBSSKJQ.js.map +1 -0
- package/dist/{chunk-2RBUROXJ.js → chunk-EP7WTIKH.mjs} +3 -238
- package/dist/chunk-EP7WTIKH.mjs.map +1 -0
- package/dist/chunk-F6V74YMW.js +71 -0
- package/dist/chunk-F6V74YMW.js.map +1 -0
- package/dist/chunk-FAMHSJTK.js +19 -0
- package/dist/chunk-FAMHSJTK.js.map +1 -0
- package/dist/{chunk-S4NQTWMW.mjs → chunk-FNNIH7R2.js} +10 -61
- package/dist/chunk-FNNIH7R2.js.map +1 -0
- package/dist/chunk-FXDHDQTH.js +79 -0
- package/dist/chunk-FXDHDQTH.js.map +1 -0
- package/dist/chunk-FZET7XQV.js +169 -0
- package/dist/chunk-FZET7XQV.js.map +1 -0
- package/dist/chunk-GDYSB7SB.js +78 -0
- package/dist/chunk-GDYSB7SB.js.map +1 -0
- package/dist/chunk-GPM2PRC5.js +61 -0
- package/dist/chunk-GPM2PRC5.js.map +1 -0
- package/dist/chunk-GVGKISKD.js +170 -0
- package/dist/chunk-GVGKISKD.js.map +1 -0
- package/dist/chunk-I42UYWYA.mjs +128 -0
- package/dist/chunk-I42UYWYA.mjs.map +1 -0
- package/dist/chunk-I4TGI6U3.mjs +558 -0
- package/dist/chunk-I4TGI6U3.mjs.map +1 -0
- package/dist/chunk-I55QC57T.js +47 -0
- package/dist/chunk-I55QC57T.js.map +1 -0
- package/dist/chunk-I5TREZO5.js +263 -0
- package/dist/chunk-I5TREZO5.js.map +1 -0
- package/dist/chunk-IKXO5SJ4.js +671 -0
- package/dist/chunk-IKXO5SJ4.js.map +1 -0
- package/dist/chunk-IPUQBMAB.mjs +205 -0
- package/dist/chunk-IPUQBMAB.mjs.map +1 -0
- package/dist/chunk-IQ6QVIZ3.mjs +69 -0
- package/dist/chunk-IQ6QVIZ3.mjs.map +1 -0
- package/dist/{chunk-CARQELOX.mjs → chunk-ISXAUMRW.js} +8 -46
- package/dist/chunk-ISXAUMRW.js.map +1 -0
- package/dist/{chunk-WRHUWKZS.js → chunk-IULYVARJ.mjs} +3 -130
- package/dist/chunk-IULYVARJ.mjs.map +1 -0
- package/dist/chunk-J5LGTIGS.mjs +9 -0
- package/dist/chunk-J5LGTIGS.mjs.map +1 -0
- package/dist/chunk-J6XKTPP5.js +61 -0
- package/dist/chunk-J6XKTPP5.js.map +1 -0
- package/dist/{chunk-HI54NLVM.js → chunk-JF4BRFOG.mjs} +3 -128
- package/dist/chunk-JF4BRFOG.mjs.map +1 -0
- package/dist/{chunk-JGSQZZHF.js → chunk-JI3IEKH6.mjs} +3 -212
- package/dist/chunk-JI3IEKH6.mjs.map +1 -0
- package/dist/{chunk-6VZGM4DI.mjs → chunk-JTMRSRYD.js} +11 -118
- package/dist/chunk-JTMRSRYD.js.map +1 -0
- package/dist/{chunk-NUYNJV5U.mjs → chunk-JXSM2EHC.mjs} +3 -3
- package/dist/{chunk-NUYNJV5U.mjs.map → chunk-JXSM2EHC.mjs.map} +1 -1
- package/dist/chunk-KEGOUZL5.js +209 -0
- package/dist/chunk-KEGOUZL5.js.map +1 -0
- package/dist/{chunk-B3LCKPBX.js → chunk-KXNMW4NV.mjs} +3 -170
- package/dist/chunk-KXNMW4NV.mjs.map +1 -0
- package/dist/{chunk-OEDD43IT.mjs → chunk-L67EJJFN.js} +9 -68
- package/dist/chunk-L67EJJFN.js.map +1 -0
- package/dist/{chunk-7XHWUEQR.mjs → chunk-L6AS5AVO.js} +10 -250
- package/dist/chunk-L6AS5AVO.js.map +1 -0
- package/dist/chunk-L6PSW7JE.mjs +206 -0
- package/dist/chunk-L6PSW7JE.mjs.map +1 -0
- package/dist/{chunk-IW2E4MLG.js → chunk-LL2UY6CD.mjs} +3 -231
- package/dist/chunk-LL2UY6CD.mjs.map +1 -0
- package/dist/chunk-LLNK24MM.js +67 -0
- package/dist/chunk-LLNK24MM.js.map +1 -0
- package/dist/{chunk-UOZZUWIX.js → chunk-LS4GY2ZQ.js} +6 -6
- package/dist/{chunk-UOZZUWIX.js.map → chunk-LS4GY2ZQ.js.map} +1 -1
- package/dist/{chunk-XJFDGKZO.mjs → chunk-LU6VEI4B.js} +12 -204
- package/dist/chunk-LU6VEI4B.js.map +1 -0
- package/dist/chunk-MCYFKM7T.js +62 -0
- package/dist/chunk-MCYFKM7T.js.map +1 -0
- package/dist/chunk-MUKI3OHH.js +215 -0
- package/dist/chunk-MUKI3OHH.js.map +1 -0
- package/dist/chunk-N2RUT33F.mjs +68 -0
- package/dist/chunk-N2RUT33F.mjs.map +1 -0
- package/dist/chunk-NAHHFB2M.js +77 -0
- package/dist/chunk-NAHHFB2M.js.map +1 -0
- package/dist/chunk-NMBSK44H.mjs +44 -0
- package/dist/chunk-NMBSK44H.mjs.map +1 -0
- package/dist/chunk-NVTV3EQB.js +49 -0
- package/dist/chunk-NVTV3EQB.js.map +1 -0
- package/dist/chunk-NWMSIYZP.js +574 -0
- package/dist/chunk-NWMSIYZP.js.map +1 -0
- package/dist/{chunk-AFBKMQMK.js → chunk-NXNL64Q7.mjs} +3 -354
- package/dist/chunk-NXNL64Q7.mjs.map +1 -0
- package/dist/chunk-O23PJPGM.mjs +251 -0
- package/dist/chunk-O23PJPGM.mjs.map +1 -0
- package/dist/chunk-O6R6OQXI.mjs +204 -0
- package/dist/chunk-O6R6OQXI.mjs.map +1 -0
- package/dist/chunk-ODT5TFIT.mjs +156 -0
- package/dist/chunk-ODT5TFIT.mjs.map +1 -0
- package/dist/{chunk-VX56EVPF.mjs → chunk-OGMIKRLJ.js} +8 -98
- package/dist/chunk-OGMIKRLJ.js.map +1 -0
- package/dist/chunk-OOBA2MDD.mjs +57 -0
- package/dist/chunk-OOBA2MDD.mjs.map +1 -0
- package/dist/chunk-OPACTZGV.js +231 -0
- package/dist/chunk-OPACTZGV.js.map +1 -0
- package/dist/{chunk-PZBTZGJE.js → chunk-OQCI2IVL.mjs} +3 -271
- package/dist/chunk-OQCI2IVL.mjs.map +1 -0
- package/dist/{chunk-7PIOCFV3.mjs → chunk-P25NI2HG.js} +9 -124
- package/dist/chunk-P25NI2HG.js.map +1 -0
- package/dist/chunk-P2DQP4J4.js +424 -0
- package/dist/chunk-P2DQP4J4.js.map +1 -0
- package/dist/{chunk-KC77BXBC.js → chunk-P43A2BPU.mjs} +3 -215
- package/dist/chunk-P43A2BPU.mjs.map +1 -0
- package/dist/chunk-P54PZ72L.mjs +65 -0
- package/dist/chunk-P54PZ72L.mjs.map +1 -0
- package/dist/chunk-PAJYNQR3.mjs +150 -0
- package/dist/chunk-PAJYNQR3.mjs.map +1 -0
- package/dist/chunk-PKXDRTC7.js +264 -0
- package/dist/chunk-PKXDRTC7.js.map +1 -0
- package/dist/chunk-PNAFXOZC.mjs +69 -0
- package/dist/chunk-PNAFXOZC.mjs.map +1 -0
- package/dist/chunk-PUSCPBT2.mjs +46 -0
- package/dist/chunk-PUSCPBT2.mjs.map +1 -0
- package/dist/chunk-PZ5AY32C.js +11 -0
- package/dist/chunk-PZ5AY32C.js.map +1 -0
- package/dist/chunk-Q2NE2UAO.mjs +119 -0
- package/dist/chunk-Q2NE2UAO.mjs.map +1 -0
- package/dist/chunk-QDHARZDN.js +129 -0
- package/dist/chunk-QDHARZDN.js.map +1 -0
- package/dist/chunk-QIUVXTLE.mjs +60 -0
- package/dist/chunk-QIUVXTLE.mjs.map +1 -0
- package/dist/chunk-QKZR2UTL.mjs +125 -0
- package/dist/chunk-QKZR2UTL.mjs.map +1 -0
- package/dist/{chunk-O233I5N7.mjs → chunk-QTFOUK4H.js} +15 -149
- package/dist/chunk-QTFOUK4H.js.map +1 -0
- package/dist/chunk-QW2ZHKPC.mjs +64 -0
- package/dist/chunk-QW2ZHKPC.mjs.map +1 -0
- package/dist/{chunk-RFBTMJ2Z.mjs → chunk-R2256VSD.js} +16 -557
- package/dist/chunk-R2256VSD.js.map +1 -0
- package/dist/chunk-RYJ5WEE3.js +101 -0
- package/dist/chunk-RYJ5WEE3.js.map +1 -0
- package/dist/{chunk-YFXGRV7X.mjs → chunk-S4OSJ4ZN.js} +9 -155
- package/dist/chunk-S4OSJ4ZN.js.map +1 -0
- package/dist/{chunk-SRLYXLUU.js → chunk-SWU5U5BB.mjs} +3 -217
- package/dist/chunk-SWU5U5BB.mjs.map +1 -0
- package/dist/chunk-SYFTQAZG.mjs +58 -0
- package/dist/chunk-SYFTQAZG.mjs.map +1 -0
- package/dist/{chunk-JRB22VVK.js → chunk-T5SPR27V.mjs} +3 -166
- package/dist/chunk-T5SPR27V.mjs.map +1 -0
- package/dist/{chunk-KLGB3FYE.js → chunk-TD4W3AHI.mjs} +3 -263
- package/dist/chunk-TD4W3AHI.mjs.map +1 -0
- package/dist/chunk-TMFXI5FH.mjs +52 -0
- package/dist/chunk-TMFXI5FH.mjs.map +1 -0
- package/dist/{chunk-QCHHXFJQ.js → chunk-UJBXDDHN.mjs} +4 -102
- package/dist/chunk-UJBXDDHN.mjs.map +1 -0
- package/dist/chunk-USLP5NY6.js +69 -0
- package/dist/chunk-USLP5NY6.js.map +1 -0
- package/dist/{chunk-W73CZFMA.mjs → chunk-UU34Q42Q.js} +7 -201
- package/dist/chunk-UU34Q42Q.js.map +1 -0
- package/dist/chunk-V4FFKIX3.js +166 -0
- package/dist/chunk-V4FFKIX3.js.map +1 -0
- package/dist/{chunk-VGVB5XZX.js → chunk-V4U6Q5NL.mjs} +3 -204
- package/dist/chunk-V4U6Q5NL.mjs.map +1 -0
- package/dist/chunk-VQQHVKEU.mjs +652 -0
- package/dist/chunk-VQQHVKEU.mjs.map +1 -0
- package/dist/chunk-VUIWYURS.js +162 -0
- package/dist/chunk-VUIWYURS.js.map +1 -0
- package/dist/chunk-VWHER5XN.js +65 -0
- package/dist/chunk-VWHER5XN.js.map +1 -0
- package/dist/chunk-WBRTXAKP.js +705 -0
- package/dist/chunk-WBRTXAKP.js.map +1 -0
- package/dist/chunk-WN7XWKAS.mjs +52 -0
- package/dist/chunk-WN7XWKAS.mjs.map +1 -0
- package/dist/{chunk-XYKDSHRG.js → chunk-X3N4EVF7.mjs} +3 -707
- package/dist/chunk-X3N4EVF7.mjs.map +1 -0
- package/dist/chunk-XPHD3X4L.mjs +98 -0
- package/dist/chunk-XPHD3X4L.mjs.map +1 -0
- package/dist/chunk-Y4YQSCNL.js +65 -0
- package/dist/chunk-Y4YQSCNL.js.map +1 -0
- package/dist/chunk-Y73U7C4T.js +238 -0
- package/dist/chunk-Y73U7C4T.js.map +1 -0
- package/dist/{chunk-ENV73575.mjs → chunk-Y7NRTCAT.js} +10 -122
- package/dist/chunk-Y7NRTCAT.js.map +1 -0
- package/dist/{chunk-ZZ53RJNH.js → chunk-YDKAE7RM.mjs} +3 -69
- package/dist/chunk-YDKAE7RM.mjs.map +1 -0
- package/dist/{chunk-VO7LNOC5.mjs → chunk-YN4ZS3R2.js} +10 -257
- package/dist/chunk-YN4ZS3R2.js.map +1 -0
- package/dist/chunk-ZCTSXNAE.mjs +221 -0
- package/dist/chunk-ZCTSXNAE.mjs.map +1 -0
- package/dist/chunk-ZFNVFMWG.mjs +703 -0
- package/dist/chunk-ZFNVFMWG.mjs.map +1 -0
- package/dist/chunk-ZITS2V53.js +130 -0
- package/dist/chunk-ZITS2V53.js.map +1 -0
- package/dist/chunk-ZVRGLG35.js +144 -0
- package/dist/chunk-ZVRGLG35.js.map +1 -0
- package/dist/chunk-ZY6O6Z2I.mjs +350 -0
- package/dist/chunk-ZY6O6Z2I.mjs.map +1 -0
- package/dist/design-system/button.d.ts +1 -1
- package/dist/design-system/combobox.d.ts +124 -0
- package/dist/design-system/combobox.d.ts.map +1 -0
- package/dist/design-system/copy-button.d.ts +1 -1
- package/dist/design-system/facade.js +404 -0
- package/dist/design-system/facade.js.map +1 -0
- package/dist/design-system/facade.mjs +402 -0
- package/dist/design-system/facade.mjs.map +1 -0
- package/dist/design-system/index.d.ts +1 -0
- package/dist/design-system/index.d.ts.map +1 -1
- package/dist/design-system/tokens.js +1 -0
- package/dist/design-system/tokens.mjs +1 -0
- package/dist/hooks/index.d.ts +13 -0
- package/dist/hooks/index.d.ts.map +1 -1
- package/dist/hooks/useBodyScrollLock.js +1 -0
- package/dist/hooks/useBodyScrollLock.mjs +1 -0
- package/dist/hooks/useClickOutside.js +1 -0
- package/dist/hooks/useClickOutside.mjs +1 -0
- package/dist/hooks/useClipboard.js +1 -0
- package/dist/hooks/useClipboard.mjs +1 -0
- package/dist/hooks/useControllableState.js +1 -0
- package/dist/hooks/useControllableState.mjs +1 -0
- package/dist/hooks/useCookie/index.d.ts +2 -0
- package/dist/hooks/useCookie/index.d.ts.map +1 -0
- package/dist/hooks/useCookie/useCookie.d.ts +36 -0
- package/dist/hooks/useCookie/useCookie.d.ts.map +1 -0
- package/dist/hooks/useCookie.js +82 -0
- package/dist/hooks/useCookie.js.map +1 -0
- package/dist/hooks/useCookie.mjs +80 -0
- package/dist/hooks/useCookie.mjs.map +1 -0
- package/dist/hooks/useCountdown/index.d.ts +2 -0
- package/dist/hooks/useCountdown/index.d.ts.map +1 -0
- package/dist/hooks/useCountdown/useCountdown.d.ts +40 -0
- package/dist/hooks/useCountdown/useCountdown.d.ts.map +1 -0
- package/dist/hooks/useCountdown.js +60 -0
- package/dist/hooks/useCountdown.js.map +1 -0
- package/dist/hooks/useCountdown.mjs +58 -0
- package/dist/hooks/useCountdown.mjs.map +1 -0
- package/dist/hooks/useDebouncedValue.js +1 -1
- package/dist/hooks/useDebouncedValue.mjs +1 -1
- package/dist/hooks/useDisclosure.js +1 -0
- package/dist/hooks/useDisclosure.js.map +1 -1
- package/dist/hooks/useDisclosure.mjs +1 -0
- package/dist/hooks/useDisclosure.mjs.map +1 -1
- package/dist/hooks/useDocumentTitle.js +1 -1
- package/dist/hooks/useDocumentTitle.mjs +1 -1
- package/dist/hooks/useDynamicStepper.js +1 -0
- package/dist/hooks/useDynamicStepper.mjs +1 -0
- package/dist/hooks/useEventListener/index.d.ts +2 -0
- package/dist/hooks/useEventListener/index.d.ts.map +1 -0
- package/dist/hooks/useEventListener/useEventListener.d.ts +22 -0
- package/dist/hooks/useEventListener/useEventListener.d.ts.map +1 -0
- package/dist/hooks/useEventListener.js +45 -0
- package/dist/hooks/useEventListener.js.map +1 -0
- package/dist/hooks/useEventListener.mjs +43 -0
- package/dist/hooks/useEventListener.mjs.map +1 -0
- package/dist/hooks/useFocusManagement.js +1 -0
- package/dist/hooks/useFocusManagement.mjs +1 -0
- package/dist/hooks/useGeolocation/index.d.ts +2 -0
- package/dist/hooks/useGeolocation/index.d.ts.map +1 -0
- package/dist/hooks/useGeolocation/useGeolocation.d.ts +48 -0
- package/dist/hooks/useGeolocation/useGeolocation.d.ts.map +1 -0
- package/dist/hooks/useGeolocation.js +111 -0
- package/dist/hooks/useGeolocation.js.map +1 -0
- package/dist/hooks/useGeolocation.mjs +109 -0
- package/dist/hooks/useGeolocation.mjs.map +1 -0
- package/dist/hooks/useHotkeys/index.d.ts +2 -0
- package/dist/hooks/useHotkeys/index.d.ts.map +1 -0
- package/dist/hooks/useHotkeys/useHotkeys.d.ts +24 -0
- package/dist/hooks/useHotkeys/useHotkeys.d.ts.map +1 -0
- package/dist/hooks/useHotkeys.js +86 -0
- package/dist/hooks/useHotkeys.js.map +1 -0
- package/dist/hooks/useHotkeys.mjs +84 -0
- package/dist/hooks/useHotkeys.mjs.map +1 -0
- package/dist/hooks/useHover.js +1 -1
- package/dist/hooks/useHover.mjs +1 -1
- package/dist/hooks/useIdleTimeout/index.d.ts +2 -0
- package/dist/hooks/useIdleTimeout/index.d.ts.map +1 -0
- package/dist/hooks/useIdleTimeout/useIdleTimeout.d.ts +31 -0
- package/dist/hooks/useIdleTimeout/useIdleTimeout.d.ts.map +1 -0
- package/dist/hooks/useIdleTimeout.js +77 -0
- package/dist/hooks/useIdleTimeout.js.map +1 -0
- package/dist/hooks/useIdleTimeout.mjs +75 -0
- package/dist/hooks/useIdleTimeout.mjs.map +1 -0
- package/dist/hooks/useInView.js +1 -0
- package/dist/hooks/useInView.js.map +1 -1
- package/dist/hooks/useInView.mjs +1 -0
- package/dist/hooks/useInView.mjs.map +1 -1
- package/dist/hooks/useIntersectionObserver.js +1 -0
- package/dist/hooks/useIntersectionObserver.mjs +1 -0
- package/dist/hooks/useInterval/index.d.ts +2 -0
- package/dist/hooks/useInterval/index.d.ts.map +1 -0
- package/dist/hooks/useInterval/useInterval.d.ts +12 -0
- package/dist/hooks/useInterval/useInterval.d.ts.map +1 -0
- package/dist/hooks/useInterval.js +27 -0
- package/dist/hooks/useInterval.js.map +1 -0
- package/dist/hooks/useInterval.mjs +25 -0
- package/dist/hooks/useInterval.mjs.map +1 -0
- package/dist/hooks/useIsMounted.js +1 -1
- package/dist/hooks/useIsMounted.mjs +1 -1
- package/dist/hooks/useIsomorphicLayoutEffect.js +1 -0
- package/dist/hooks/useIsomorphicLayoutEffect.mjs +1 -0
- package/dist/hooks/useKeyPress/index.d.ts +2 -0
- package/dist/hooks/useKeyPress/index.d.ts.map +1 -0
- package/dist/hooks/useKeyPress/useKeyPress.d.ts +15 -0
- package/dist/hooks/useKeyPress/useKeyPress.d.ts.map +1 -0
- package/dist/hooks/useKeyPress.js +47 -0
- package/dist/hooks/useKeyPress.js.map +1 -0
- package/dist/hooks/useKeyPress.mjs +45 -0
- package/dist/hooks/useKeyPress.mjs.map +1 -0
- package/dist/hooks/useLocalStorage.js +1 -1
- package/dist/hooks/useLocalStorage.mjs +1 -1
- package/dist/hooks/useLongPress/index.d.ts +2 -0
- package/dist/hooks/useLongPress/index.d.ts.map +1 -0
- package/dist/hooks/useLongPress/useLongPress.d.ts +46 -0
- package/dist/hooks/useLongPress/useLongPress.d.ts.map +1 -0
- package/dist/hooks/useLongPress.js +116 -0
- package/dist/hooks/useLongPress.js.map +1 -0
- package/dist/hooks/useLongPress.mjs +114 -0
- package/dist/hooks/useLongPress.mjs.map +1 -0
- package/dist/hooks/useMediaQuery.js +1 -0
- package/dist/hooks/useMediaQuery.mjs +1 -0
- package/dist/hooks/useNetworkStatus.js +1 -1
- package/dist/hooks/useNetworkStatus.mjs +1 -1
- package/dist/hooks/usePageVisibility.js +1 -1
- package/dist/hooks/usePageVisibility.mjs +1 -1
- package/dist/hooks/usePagination.js +1 -0
- package/dist/hooks/usePagination.mjs +1 -0
- package/dist/hooks/usePrefersColorScheme.js +1 -0
- package/dist/hooks/usePrefersColorScheme.js.map +1 -1
- package/dist/hooks/usePrefersColorScheme.mjs +1 -0
- package/dist/hooks/usePrefersColorScheme.mjs.map +1 -1
- package/dist/hooks/usePrefersReducedMotion.js +1 -0
- package/dist/hooks/usePrefersReducedMotion.js.map +1 -1
- package/dist/hooks/usePrefersReducedMotion.mjs +1 -0
- package/dist/hooks/usePrefersReducedMotion.mjs.map +1 -1
- package/dist/hooks/usePrevious/index.d.ts +2 -0
- package/dist/hooks/usePrevious/index.d.ts.map +1 -0
- package/dist/hooks/usePrevious/usePrevious.d.ts +13 -0
- package/dist/hooks/usePrevious/usePrevious.d.ts.map +1 -0
- package/dist/hooks/usePrevious.js +17 -0
- package/dist/hooks/usePrevious.js.map +1 -0
- package/dist/hooks/usePrevious.mjs +15 -0
- package/dist/hooks/usePrevious.mjs.map +1 -0
- package/dist/hooks/useResizeObserver.js +1 -0
- package/dist/hooks/useResizeObserver.mjs +1 -0
- package/dist/hooks/useScrollPosition/index.d.ts +2 -0
- package/dist/hooks/useScrollPosition/index.d.ts.map +1 -0
- package/dist/hooks/useScrollPosition/useScrollPosition.d.ts +37 -0
- package/dist/hooks/useScrollPosition/useScrollPosition.d.ts.map +1 -0
- package/dist/hooks/useScrollPosition.js +41 -0
- package/dist/hooks/useScrollPosition.js.map +1 -0
- package/dist/hooks/useScrollPosition.mjs +39 -0
- package/dist/hooks/useScrollPosition.mjs.map +1 -0
- package/dist/hooks/useSessionStorage.js +1 -1
- package/dist/hooks/useSessionStorage.mjs +1 -1
- package/dist/hooks/useTableFilter.js +1 -1
- package/dist/hooks/useTableFilter.mjs +1 -1
- package/dist/hooks/useTableSort.js +1 -1
- package/dist/hooks/useTableSort.mjs +1 -1
- package/dist/hooks/useThrottledCallback.js +1 -1
- package/dist/hooks/useThrottledCallback.mjs +1 -1
- package/dist/hooks/useTimeout/index.d.ts +2 -0
- package/dist/hooks/useTimeout/index.d.ts.map +1 -0
- package/dist/hooks/useTimeout/useTimeout.d.ts +19 -0
- package/dist/hooks/useTimeout/useTimeout.d.ts.map +1 -0
- package/dist/hooks/useTimeout.js +38 -0
- package/dist/hooks/useTimeout.js.map +1 -0
- package/dist/hooks/useTimeout.mjs +36 -0
- package/dist/hooks/useTimeout.mjs.map +1 -0
- package/dist/hooks/useToggle.js +1 -1
- package/dist/hooks/useToggle.mjs +1 -1
- package/dist/hooks/useVirtualList/index.d.ts +2 -0
- package/dist/hooks/useVirtualList/index.d.ts.map +1 -0
- package/dist/hooks/useVirtualList/useVirtualList.d.ts +47 -0
- package/dist/hooks/useVirtualList/useVirtualList.d.ts.map +1 -0
- package/dist/hooks/useVirtualList.js +87 -0
- package/dist/hooks/useVirtualList.js.map +1 -0
- package/dist/hooks/useVirtualList.mjs +85 -0
- package/dist/hooks/useVirtualList.mjs.map +1 -0
- package/dist/hooks/useWindowSize.js +1 -1
- package/dist/hooks/useWindowSize.mjs +1 -1
- package/dist/hooks/utils.js +1 -0
- package/dist/hooks/utils.mjs +1 -0
- package/dist/lib/facade.d.ts +53 -0
- package/dist/lib/facade.d.ts.map +1 -0
- package/dist/ui/accordion/animated.js +9 -7
- package/dist/ui/accordion/animated.js.map +1 -1
- package/dist/ui/accordion/animated.mjs +4 -2
- package/dist/ui/accordion/animated.mjs.map +1 -1
- package/dist/ui/accordion.js +11 -9
- package/dist/ui/accordion.js.map +1 -1
- package/dist/ui/accordion.mjs +4 -2
- package/dist/ui/accordion.mjs.map +1 -1
- package/dist/ui/alert/animated.js +4 -2
- package/dist/ui/alert/animated.js.map +1 -1
- package/dist/ui/alert/animated.mjs +3 -1
- package/dist/ui/alert/animated.mjs.map +1 -1
- package/dist/ui/alert.js +12 -10
- package/dist/ui/alert.js.map +1 -1
- package/dist/ui/alert.mjs +4 -2
- package/dist/ui/alert.mjs.map +1 -1
- package/dist/ui/animated-number.js +5 -58
- package/dist/ui/animated-number.js.map +1 -1
- package/dist/ui/animated-number.mjs +2 -55
- package/dist/ui/animated-number.mjs.map +1 -1
- package/dist/ui/avatar/animated.js +7 -5
- package/dist/ui/avatar/animated.js.map +1 -1
- package/dist/ui/avatar/animated.mjs +4 -2
- package/dist/ui/avatar/animated.mjs.map +1 -1
- package/dist/ui/avatar.js +11 -9
- package/dist/ui/avatar.js.map +1 -1
- package/dist/ui/avatar.mjs +4 -2
- package/dist/ui/avatar.mjs.map +1 -1
- package/dist/ui/badge/animated.js +4 -2
- package/dist/ui/badge/animated.js.map +1 -1
- package/dist/ui/badge/animated.mjs +3 -1
- package/dist/ui/badge/animated.mjs.map +1 -1
- package/dist/ui/badge.js +6 -4
- package/dist/ui/badge.js.map +1 -1
- package/dist/ui/badge.mjs +4 -2
- package/dist/ui/badge.mjs.map +1 -1
- package/dist/ui/breadcrumb.js +10 -58
- package/dist/ui/breadcrumb.js.map +1 -1
- package/dist/ui/breadcrumb.mjs +2 -50
- package/dist/ui/breadcrumb.mjs.map +1 -1
- package/dist/ui/buttons/animated.js +44 -3
- package/dist/ui/buttons/animated.js.map +1 -1
- package/dist/ui/buttons/animated.mjs +42 -1
- package/dist/ui/buttons/animated.mjs.map +1 -1
- package/dist/ui/buttons.js +45 -4
- package/dist/ui/buttons.mjs +43 -2
- package/dist/ui/card/animated.js +9 -7
- package/dist/ui/card/animated.js.map +1 -1
- package/dist/ui/card/animated.mjs +4 -2
- package/dist/ui/card/animated.mjs.map +1 -1
- package/dist/ui/card.js +14 -12
- package/dist/ui/card.js.map +1 -1
- package/dist/ui/card.mjs +4 -2
- package/dist/ui/card.mjs.map +1 -1
- package/dist/ui/checkbox/animated.js +6 -4
- package/dist/ui/checkbox/animated.js.map +1 -1
- package/dist/ui/checkbox/animated.mjs +3 -1
- package/dist/ui/checkbox/animated.mjs.map +1 -1
- package/dist/ui/checkbox.js +10 -8
- package/dist/ui/checkbox.js.map +1 -1
- package/dist/ui/checkbox.mjs +4 -2
- package/dist/ui/checkbox.mjs.map +1 -1
- package/dist/ui/combobox/combobox-base.d.ts +37 -0
- package/dist/ui/combobox/combobox-base.d.ts.map +1 -0
- package/dist/ui/combobox/combobox.d.ts +6 -0
- package/dist/ui/combobox/combobox.d.ts.map +1 -0
- package/dist/ui/combobox/index.d.ts +4 -0
- package/dist/ui/combobox/index.d.ts.map +1 -0
- package/dist/ui/combobox/types.d.ts +70 -0
- package/dist/ui/combobox/types.d.ts.map +1 -0
- package/dist/ui/combobox/variants.d.ts +17 -0
- package/dist/ui/combobox/variants.d.ts.map +1 -0
- package/dist/ui/combobox.js +510 -0
- package/dist/ui/combobox.js.map +1 -0
- package/dist/ui/combobox.mjs +495 -0
- package/dist/ui/combobox.mjs.map +1 -0
- package/dist/ui/command/animated.js +4 -2
- package/dist/ui/command/animated.js.map +1 -1
- package/dist/ui/command/animated.mjs +3 -1
- package/dist/ui/command/animated.mjs.map +1 -1
- package/dist/ui/command.js +17 -15
- package/dist/ui/command.js.map +1 -1
- package/dist/ui/command.mjs +4 -2
- package/dist/ui/command.mjs.map +1 -1
- package/dist/ui/context-menu.js +9 -59
- package/dist/ui/context-menu.js.map +1 -1
- package/dist/ui/context-menu.mjs +3 -53
- package/dist/ui/context-menu.mjs.map +1 -1
- package/dist/ui/copy-button/animated.js +4 -2
- package/dist/ui/copy-button/animated.js.map +1 -1
- package/dist/ui/copy-button/animated.mjs +3 -1
- package/dist/ui/copy-button/animated.mjs.map +1 -1
- package/dist/ui/copy-button.js +5 -3
- package/dist/ui/copy-button.js.map +1 -1
- package/dist/ui/copy-button.mjs +4 -2
- package/dist/ui/copy-button.mjs.map +1 -1
- package/dist/ui/divider/animated.js +4 -2
- package/dist/ui/divider/animated.js.map +1 -1
- package/dist/ui/divider/animated.mjs +3 -1
- package/dist/ui/divider/animated.mjs.map +1 -1
- package/dist/ui/divider.js +8 -6
- package/dist/ui/divider.js.map +1 -1
- package/dist/ui/divider.mjs +4 -2
- package/dist/ui/divider.mjs.map +1 -1
- package/dist/ui/drawer/animated.js +13 -11
- package/dist/ui/drawer/animated.js.map +1 -1
- package/dist/ui/drawer/animated.mjs +4 -2
- package/dist/ui/drawer/animated.mjs.map +1 -1
- package/dist/ui/drawer.js +13 -11
- package/dist/ui/drawer.mjs +3 -1
- package/dist/ui/dropdown.js +1 -0
- package/dist/ui/dropdown.js.map +1 -1
- package/dist/ui/dropdown.mjs +1 -0
- package/dist/ui/dropdown.mjs.map +1 -1
- package/dist/ui/dynamic-stepper.js +54 -132
- package/dist/ui/dynamic-stepper.js.map +1 -1
- package/dist/ui/dynamic-stepper.mjs +43 -121
- package/dist/ui/dynamic-stepper.mjs.map +1 -1
- package/dist/ui/empty-state/animated.js +4 -2
- package/dist/ui/empty-state/animated.js.map +1 -1
- package/dist/ui/empty-state/animated.mjs +3 -1
- package/dist/ui/empty-state/animated.mjs.map +1 -1
- package/dist/ui/empty-state.js +12 -10
- package/dist/ui/empty-state.js.map +1 -1
- package/dist/ui/empty-state.mjs +4 -2
- package/dist/ui/empty-state.mjs.map +1 -1
- package/dist/ui/file-upload.js +4 -44
- package/dist/ui/file-upload.js.map +1 -1
- package/dist/ui/file-upload.mjs +2 -42
- package/dist/ui/file-upload.mjs.map +1 -1
- package/dist/ui/inputs/animated.js +5 -3
- package/dist/ui/inputs/animated.js.map +1 -1
- package/dist/ui/inputs/animated.mjs +3 -1
- package/dist/ui/inputs/animated.mjs.map +1 -1
- package/dist/ui/inputs.js +6 -4
- package/dist/ui/inputs.js.map +1 -1
- package/dist/ui/inputs.mjs +4 -2
- package/dist/ui/inputs.mjs.map +1 -1
- package/dist/ui/kbd/animated.js +4 -2
- package/dist/ui/kbd/animated.js.map +1 -1
- package/dist/ui/kbd/animated.mjs +3 -1
- package/dist/ui/kbd/animated.mjs.map +1 -1
- package/dist/ui/kbd.js +6 -4
- package/dist/ui/kbd.js.map +1 -1
- package/dist/ui/kbd.mjs +4 -2
- package/dist/ui/kbd.mjs.map +1 -1
- package/dist/ui/marquee.js +7 -68
- package/dist/ui/marquee.js.map +1 -1
- package/dist/ui/marquee.mjs +2 -63
- package/dist/ui/marquee.mjs.map +1 -1
- package/dist/ui/modal/animated.js +6 -4
- package/dist/ui/modal/animated.js.map +1 -1
- package/dist/ui/modal/animated.mjs +3 -1
- package/dist/ui/modal/animated.mjs.map +1 -1
- package/dist/ui/modal.js +14 -12
- package/dist/ui/modal.js.map +1 -1
- package/dist/ui/modal.mjs +4 -2
- package/dist/ui/modal.mjs.map +1 -1
- package/dist/ui/otp-input.js +11 -57
- package/dist/ui/otp-input.js.map +1 -1
- package/dist/ui/otp-input.mjs +2 -48
- package/dist/ui/otp-input.mjs.map +1 -1
- package/dist/ui/pagination.js +50 -95
- package/dist/ui/pagination.js.map +1 -1
- package/dist/ui/pagination.mjs +42 -87
- package/dist/ui/pagination.mjs.map +1 -1
- package/dist/ui/popover/animated.js +6 -4
- package/dist/ui/popover/animated.js.map +1 -1
- package/dist/ui/popover/animated.mjs +3 -1
- package/dist/ui/popover/animated.mjs.map +1 -1
- package/dist/ui/popover.js +9 -7
- package/dist/ui/popover.mjs +3 -1
- package/dist/ui/progress/animated.js +10 -8
- package/dist/ui/progress/animated.js.map +1 -1
- package/dist/ui/progress/animated.mjs +4 -2
- package/dist/ui/progress/animated.mjs.map +1 -1
- package/dist/ui/progress/variants.d.ts +2 -2
- package/dist/ui/progress.js +11 -9
- package/dist/ui/progress.js.map +1 -1
- package/dist/ui/progress.mjs +4 -2
- package/dist/ui/progress.mjs.map +1 -1
- package/dist/ui/radio-group/animated.js +9 -7
- package/dist/ui/radio-group/animated.js.map +1 -1
- package/dist/ui/radio-group/animated.mjs +3 -1
- package/dist/ui/radio-group/animated.mjs.map +1 -1
- package/dist/ui/radio-group.js +13 -11
- package/dist/ui/radio-group.js.map +1 -1
- package/dist/ui/radio-group.mjs +4 -2
- package/dist/ui/radio-group.mjs.map +1 -1
- package/dist/ui/rating.js +12 -74
- package/dist/ui/rating.js.map +1 -1
- package/dist/ui/rating.mjs +2 -64
- package/dist/ui/rating.mjs.map +1 -1
- package/dist/ui/scroll-area.js +8 -62
- package/dist/ui/scroll-area.js.map +1 -1
- package/dist/ui/scroll-area.mjs +2 -56
- package/dist/ui/scroll-area.mjs.map +1 -1
- package/dist/ui/search.js +4 -2
- package/dist/ui/search.js.map +1 -1
- package/dist/ui/search.mjs +3 -1
- package/dist/ui/search.mjs.map +1 -1
- package/dist/ui/select.js +12 -167
- package/dist/ui/select.js.map +1 -1
- package/dist/ui/select.mjs +2 -157
- package/dist/ui/select.mjs.map +1 -1
- package/dist/ui/skeleton/animated.js +10 -8
- package/dist/ui/skeleton/animated.js.map +1 -1
- package/dist/ui/skeleton/animated.mjs +3 -1
- package/dist/ui/skeleton/animated.mjs.map +1 -1
- package/dist/ui/skeleton.js +11 -9
- package/dist/ui/skeleton.mjs +3 -1
- package/dist/ui/slider.js +10 -75
- package/dist/ui/slider.js.map +1 -1
- package/dist/ui/slider.mjs +2 -67
- package/dist/ui/slider.mjs.map +1 -1
- package/dist/ui/spinner/animated.js +6 -66
- package/dist/ui/spinner/animated.js.map +1 -1
- package/dist/ui/spinner/animated.mjs +2 -62
- package/dist/ui/spinner/animated.mjs.map +1 -1
- package/dist/ui/table/animated.js +10 -8
- package/dist/ui/table/animated.js.map +1 -1
- package/dist/ui/table/animated.mjs +4 -2
- package/dist/ui/table/animated.mjs.map +1 -1
- package/dist/ui/table.js +16 -14
- package/dist/ui/table.mjs +3 -1
- package/dist/ui/tabs/animated.js +4 -2
- package/dist/ui/tabs/animated.js.map +1 -1
- package/dist/ui/tabs/animated.mjs +3 -1
- package/dist/ui/tabs/animated.mjs.map +1 -1
- package/dist/ui/tabs.js +11 -9
- package/dist/ui/tabs.mjs +3 -1
- package/dist/ui/timeline/animated.js +13 -11
- package/dist/ui/timeline/animated.js.map +1 -1
- package/dist/ui/timeline/animated.mjs +4 -2
- package/dist/ui/timeline/animated.mjs.map +1 -1
- package/dist/ui/timeline.js +16 -14
- package/dist/ui/timeline.js.map +1 -1
- package/dist/ui/timeline.mjs +4 -2
- package/dist/ui/timeline.mjs.map +1 -1
- package/dist/ui/toast/animated.js +9 -7
- package/dist/ui/toast/animated.js.map +1 -1
- package/dist/ui/toast/animated.mjs +3 -1
- package/dist/ui/toast/animated.mjs.map +1 -1
- package/dist/ui/toast.js +14 -12
- package/dist/ui/toast.mjs +3 -1
- package/dist/ui/toggle/animated.js +6 -4
- package/dist/ui/toggle/animated.js.map +1 -1
- package/dist/ui/toggle/animated.mjs +3 -1
- package/dist/ui/toggle/animated.mjs.map +1 -1
- package/dist/ui/toggle.js +6 -4
- package/dist/ui/toggle.js.map +1 -1
- package/dist/ui/toggle.mjs +4 -2
- package/dist/ui/toggle.mjs.map +1 -1
- package/dist/ui/tooltip/animated.js +5 -3
- package/dist/ui/tooltip/animated.js.map +1 -1
- package/dist/ui/tooltip/animated.mjs +3 -1
- package/dist/ui/tooltip/animated.mjs.map +1 -1
- package/dist/ui/tooltip.js +9 -7
- package/dist/ui/tooltip.mjs +3 -1
- package/dist/ui/tree-view/animated.js +4 -2
- package/dist/ui/tree-view/animated.js.map +1 -1
- package/dist/ui/tree-view/animated.mjs +3 -1
- package/dist/ui/tree-view/animated.mjs.map +1 -1
- package/dist/ui/tree-view.js +7 -5
- package/dist/ui/tree-view.js.map +1 -1
- package/dist/ui/tree-view.mjs +4 -2
- package/dist/ui/tree-view.mjs.map +1 -1
- package/dist/ui/typography.js +9 -51
- package/dist/ui/typography.js.map +1 -1
- package/dist/ui/typography.mjs +2 -44
- package/dist/ui/typography.mjs.map +1 -1
- package/package.json +7 -2
- package/src/design-system/button.ts +1 -1
- package/src/design-system/combobox.ts +204 -0
- package/src/design-system/copy-button.ts +1 -1
- package/src/design-system/index.ts +1 -0
- package/src/hooks/index.ts +50 -0
- package/src/hooks/useCookie/index.ts +5 -0
- package/src/hooks/useCookie/useCookie.test.ts +57 -0
- package/src/hooks/useCookie/useCookie.ts +133 -0
- package/src/hooks/useCountdown/index.ts +5 -0
- package/src/hooks/useCountdown/useCountdown.test.ts +113 -0
- package/src/hooks/useCountdown/useCountdown.ts +106 -0
- package/src/hooks/useEventListener/index.ts +4 -0
- package/src/hooks/useEventListener/useEventListener.test.ts +60 -0
- package/src/hooks/useEventListener/useEventListener.ts +98 -0
- package/src/hooks/useGeolocation/index.ts +6 -0
- package/src/hooks/useGeolocation/useGeolocation.test.ts +108 -0
- package/src/hooks/useGeolocation/useGeolocation.ts +173 -0
- package/src/hooks/useHotkeys/index.ts +5 -0
- package/src/hooks/useHotkeys/useHotkeys.test.ts +82 -0
- package/src/hooks/useHotkeys/useHotkeys.ts +130 -0
- package/src/hooks/useIdleTimeout/index.ts +5 -0
- package/src/hooks/useIdleTimeout/useIdleTimeout.test.ts +97 -0
- package/src/hooks/useIdleTimeout/useIdleTimeout.ts +111 -0
- package/src/hooks/useInterval/index.ts +1 -0
- package/src/hooks/useInterval/useInterval.test.ts +56 -0
- package/src/hooks/useInterval/useInterval.ts +36 -0
- package/src/hooks/useKeyPress/index.ts +1 -0
- package/src/hooks/useKeyPress/useKeyPress.test.ts +67 -0
- package/src/hooks/useKeyPress/useKeyPress.ts +65 -0
- package/src/hooks/useLongPress/index.ts +5 -0
- package/src/hooks/useLongPress/useLongPress.test.ts +180 -0
- package/src/hooks/useLongPress/useLongPress.ts +177 -0
- package/src/hooks/usePrevious/index.ts +1 -0
- package/src/hooks/usePrevious/usePrevious.test.ts +33 -0
- package/src/hooks/usePrevious/usePrevious.ts +24 -0
- package/src/hooks/useScrollPosition/index.ts +5 -0
- package/src/hooks/useScrollPosition/useScrollPosition.test.ts +69 -0
- package/src/hooks/useScrollPosition/useScrollPosition.ts +88 -0
- package/src/hooks/useTimeout/index.ts +1 -0
- package/src/hooks/useTimeout/useTimeout.test.ts +63 -0
- package/src/hooks/useTimeout/useTimeout.ts +58 -0
- package/src/hooks/useVirtualList/index.ts +6 -0
- package/src/hooks/useVirtualList/useVirtualList.test.ts +102 -0
- package/src/hooks/useVirtualList/useVirtualList.ts +144 -0
- package/src/lib/facade.test.ts +182 -0
- package/src/lib/facade.ts +809 -0
- package/src/ui/combobox/combobox-base.tsx +552 -0
- package/src/ui/combobox/combobox.test.tsx +292 -0
- package/src/ui/combobox/combobox.tsx +8 -0
- package/src/ui/combobox/index.ts +33 -0
- package/src/ui/combobox/types.ts +91 -0
- package/src/ui/combobox/variants.ts +58 -0
- package/dist/chunk-2RBUROXJ.js.map +0 -1
- package/dist/chunk-3IBWZM52.js.map +0 -1
- package/dist/chunk-3RHJJZIT.js +0 -98
- package/dist/chunk-3RHJJZIT.js.map +0 -1
- package/dist/chunk-4GVMPQZS.js.map +0 -1
- package/dist/chunk-4WRCXG5E.mjs.map +0 -1
- package/dist/chunk-6GPUHFXI.mjs.map +0 -1
- package/dist/chunk-6ONKAOI7.mjs.map +0 -1
- package/dist/chunk-6VZGM4DI.mjs.map +0 -1
- package/dist/chunk-7PIOCFV3.mjs.map +0 -1
- package/dist/chunk-7XHWUEQR.mjs.map +0 -1
- package/dist/chunk-AFBKMQMK.js.map +0 -1
- package/dist/chunk-AS34PVUG.mjs.map +0 -1
- package/dist/chunk-B3LCKPBX.js.map +0 -1
- package/dist/chunk-CARQELOX.mjs.map +0 -1
- package/dist/chunk-CCVQ5KX6.mjs +0 -96
- package/dist/chunk-CCVQ5KX6.mjs.map +0 -1
- package/dist/chunk-DBW25HOR.mjs.map +0 -1
- package/dist/chunk-DMDCXYNN.js.map +0 -1
- package/dist/chunk-EKLWWV3G.mjs.map +0 -1
- package/dist/chunk-ENV73575.mjs.map +0 -1
- package/dist/chunk-HI54NLVM.js.map +0 -1
- package/dist/chunk-JGSQZZHF.js.map +0 -1
- package/dist/chunk-JRB22VVK.js.map +0 -1
- package/dist/chunk-KC77BXBC.js.map +0 -1
- package/dist/chunk-KIAYTBS5.js.map +0 -1
- package/dist/chunk-KLGB3FYE.js.map +0 -1
- package/dist/chunk-O233I5N7.mjs.map +0 -1
- package/dist/chunk-OEDD43IT.mjs.map +0 -1
- package/dist/chunk-OY3YJGOX.mjs.map +0 -1
- package/dist/chunk-PZBTZGJE.js.map +0 -1
- package/dist/chunk-QCHHXFJQ.js.map +0 -1
- package/dist/chunk-REDZL4DY.mjs.map +0 -1
- package/dist/chunk-RFBTMJ2Z.mjs.map +0 -1
- package/dist/chunk-S4NQTWMW.mjs.map +0 -1
- package/dist/chunk-SRLYXLUU.js.map +0 -1
- package/dist/chunk-U7FZ5RMV.js.map +0 -1
- package/dist/chunk-UMXCV5IT.mjs.map +0 -1
- package/dist/chunk-UNPKDNLA.js.map +0 -1
- package/dist/chunk-URXYF25P.mjs.map +0 -1
- package/dist/chunk-VGVB5XZX.js.map +0 -1
- package/dist/chunk-VJSME7ML.js.map +0 -1
- package/dist/chunk-VO7LNOC5.mjs.map +0 -1
- package/dist/chunk-VX56EVPF.mjs.map +0 -1
- package/dist/chunk-W73CZFMA.mjs.map +0 -1
- package/dist/chunk-WRHUWKZS.js.map +0 -1
- package/dist/chunk-WVBFSJEB.js.map +0 -1
- package/dist/chunk-XIG2QDVN.js.map +0 -1
- package/dist/chunk-XJFDGKZO.mjs.map +0 -1
- package/dist/chunk-XOYCFLEZ.mjs.map +0 -1
- package/dist/chunk-YFXGRV7X.mjs.map +0 -1
- package/dist/chunk-ZZ53RJNH.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/hooks/useCookie/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,KAAK,aAAa,EAClB,KAAK,eAAe,GACrB,MAAM,aAAa,CAAC"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
export type CookieOptions = {
|
|
2
|
+
/** Lifetime in seconds (sets `max-age`). Omit for a session cookie. */
|
|
3
|
+
maxAgeSeconds?: number;
|
|
4
|
+
/** Absolute expiry (sets `expires`). */
|
|
5
|
+
expires?: Date;
|
|
6
|
+
/** Cookie path (default `"/"`). */
|
|
7
|
+
path?: string;
|
|
8
|
+
/** Cookie domain. */
|
|
9
|
+
domain?: string;
|
|
10
|
+
/** Restrict to HTTPS. */
|
|
11
|
+
secure?: boolean;
|
|
12
|
+
/** SameSite attribute. `"none"` automatically forces `secure` per browser requirements. */
|
|
13
|
+
sameSite?: "strict" | "lax" | "none";
|
|
14
|
+
};
|
|
15
|
+
export type UseCookieResult = [
|
|
16
|
+
string | null,
|
|
17
|
+
(value: string, options?: CookieOptions) => void,
|
|
18
|
+
(options?: Pick<CookieOptions, "path" | "domain">) => void
|
|
19
|
+
];
|
|
20
|
+
/**
|
|
21
|
+
* Reads and writes a single cookie with React state that stays in sync with your updates.
|
|
22
|
+
*
|
|
23
|
+
* - Initial state is `initialValue` (or `null`) to avoid SSR hydration mismatches; the actual
|
|
24
|
+
* cookie value is read on mount via a `useEffect`.
|
|
25
|
+
* - `setCookie` writes `document.cookie` (URI-encoded) and updates state in the same call.
|
|
26
|
+
* - `removeCookie` expires the cookie via `max-age=0`; pass the same `path` / `domain` used when setting.
|
|
27
|
+
* - Reactivity covers writes made through this hook instance; cookies changed elsewhere are
|
|
28
|
+
* re-read only when `name` changes (the browser offers no cookie change event in wide support).
|
|
29
|
+
* - `SameSite="none"` automatically forces the `Secure` flag per browser requirements.
|
|
30
|
+
*
|
|
31
|
+
* @param name - Cookie name.
|
|
32
|
+
* @param initialValue - Fallback when the cookie is absent (and during SSR).
|
|
33
|
+
* @returns `[value, setCookie, removeCookie]`.
|
|
34
|
+
*/
|
|
35
|
+
export declare function useCookie(name: string, initialValue?: string): UseCookieResult;
|
|
36
|
+
//# sourceMappingURL=useCookie.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useCookie.d.ts","sourceRoot":"","sources":["../../../src/hooks/useCookie/useCookie.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,aAAa,GAAG;IAC1B,uEAAuE;IACvE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,wCAAwC;IACxC,OAAO,CAAC,EAAE,IAAI,CAAC;IACf,mCAAmC;IACnC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,qBAAqB;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,yBAAyB;IACzB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,2FAA2F;IAC3F,QAAQ,CAAC,EAAE,QAAQ,GAAG,KAAK,GAAG,MAAM,CAAC;CACtC,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,MAAM,GAAG,IAAI;IACb,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,aAAa,KAAK,IAAI;IAChD,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,aAAa,EAAE,MAAM,GAAG,QAAQ,CAAC,KAAK,IAAI;CAC3D,CAAC;AAsDF;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,SAAS,CACvB,IAAI,EAAE,MAAM,EACZ,YAAY,CAAC,EAAE,MAAM,GACpB,eAAe,CAqCjB"}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
'use strict';
|
|
3
|
+
|
|
4
|
+
require('../chunk-PZ5AY32C.js');
|
|
5
|
+
var react = require('react');
|
|
6
|
+
|
|
7
|
+
function readCookie(name) {
|
|
8
|
+
if (typeof document === "undefined") {
|
|
9
|
+
return null;
|
|
10
|
+
}
|
|
11
|
+
const prefix = `${encodeURIComponent(name)}=`;
|
|
12
|
+
const match = document.cookie.split("; ").find((row) => row.startsWith(prefix));
|
|
13
|
+
if (!match) {
|
|
14
|
+
return null;
|
|
15
|
+
}
|
|
16
|
+
try {
|
|
17
|
+
return decodeURIComponent(match.slice(prefix.length));
|
|
18
|
+
} catch {
|
|
19
|
+
return null;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
function serializeCookie(name, value, options) {
|
|
23
|
+
const {
|
|
24
|
+
maxAgeSeconds,
|
|
25
|
+
expires,
|
|
26
|
+
path = "/",
|
|
27
|
+
domain,
|
|
28
|
+
sameSite
|
|
29
|
+
} = options;
|
|
30
|
+
const secure = options.secure || sameSite === "none";
|
|
31
|
+
let cookie = `${encodeURIComponent(name)}=${encodeURIComponent(value)}; path=${path}`;
|
|
32
|
+
if (maxAgeSeconds != null) {
|
|
33
|
+
cookie += `; max-age=${maxAgeSeconds}`;
|
|
34
|
+
}
|
|
35
|
+
if (expires) {
|
|
36
|
+
cookie += `; expires=${expires.toUTCString()}`;
|
|
37
|
+
}
|
|
38
|
+
if (domain) {
|
|
39
|
+
cookie += `; domain=${domain}`;
|
|
40
|
+
}
|
|
41
|
+
if (secure) {
|
|
42
|
+
cookie += "; secure";
|
|
43
|
+
}
|
|
44
|
+
if (sameSite) {
|
|
45
|
+
cookie += `; samesite=${sameSite}`;
|
|
46
|
+
}
|
|
47
|
+
return cookie;
|
|
48
|
+
}
|
|
49
|
+
function useCookie(name, initialValue) {
|
|
50
|
+
const [value, setValueState] = react.useState(initialValue ?? null);
|
|
51
|
+
const setCookie = react.useCallback(
|
|
52
|
+
(value2, options = {}) => {
|
|
53
|
+
if (typeof document === "undefined") {
|
|
54
|
+
return;
|
|
55
|
+
}
|
|
56
|
+
document.cookie = serializeCookie(name, value2, options);
|
|
57
|
+
setValueState(value2);
|
|
58
|
+
},
|
|
59
|
+
[name]
|
|
60
|
+
);
|
|
61
|
+
const removeCookie = react.useCallback(
|
|
62
|
+
(options = {}) => {
|
|
63
|
+
if (typeof document === "undefined") {
|
|
64
|
+
return;
|
|
65
|
+
}
|
|
66
|
+
document.cookie = serializeCookie(name, "", {
|
|
67
|
+
...options,
|
|
68
|
+
maxAgeSeconds: 0
|
|
69
|
+
});
|
|
70
|
+
setValueState(null);
|
|
71
|
+
},
|
|
72
|
+
[name]
|
|
73
|
+
);
|
|
74
|
+
react.useEffect(() => {
|
|
75
|
+
setValueState(readCookie(name) ?? initialValue ?? null);
|
|
76
|
+
}, [name]);
|
|
77
|
+
return [value, setCookie, removeCookie];
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
exports.useCookie = useCookie;
|
|
81
|
+
//# sourceMappingURL=useCookie.js.map
|
|
82
|
+
//# sourceMappingURL=useCookie.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/hooks/useCookie/useCookie.ts"],"names":["useState","useCallback","value","useEffect"],"mappings":"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","file":"useCookie.js","sourcesContent":["\"use client\";\n\nimport { useCallback, useEffect, useState } from \"react\";\n\nexport type CookieOptions = {\n /** Lifetime in seconds (sets `max-age`). Omit for a session cookie. */\n maxAgeSeconds?: number;\n /** Absolute expiry (sets `expires`). */\n expires?: Date;\n /** Cookie path (default `\"/\"`). */\n path?: string;\n /** Cookie domain. */\n domain?: string;\n /** Restrict to HTTPS. */\n secure?: boolean;\n /** SameSite attribute. `\"none\"` automatically forces `secure` per browser requirements. */\n sameSite?: \"strict\" | \"lax\" | \"none\";\n};\n\nexport type UseCookieResult = [\n string | null,\n (value: string, options?: CookieOptions) => void,\n (options?: Pick<CookieOptions, \"path\" | \"domain\">) => void,\n];\n\nfunction readCookie(name: string): string | null {\n if (typeof document === \"undefined\") {\n return null;\n }\n const prefix = `${encodeURIComponent(name)}=`;\n const match = document.cookie\n .split(\"; \")\n .find((row) => row.startsWith(prefix));\n if (!match) {\n return null;\n }\n try {\n return decodeURIComponent(match.slice(prefix.length));\n } catch {\n // Malformed cookie value — return null rather than crashing.\n return null;\n }\n}\n\nfunction serializeCookie(\n name: string,\n value: string,\n options: CookieOptions,\n): string {\n const {\n maxAgeSeconds,\n expires,\n path = \"/\",\n domain,\n sameSite,\n } = options;\n // SameSite=None requires Secure; enforce it automatically.\n const secure = options.secure || sameSite === \"none\";\n let cookie = `${encodeURIComponent(name)}=${encodeURIComponent(value)}; path=${path}`;\n if (maxAgeSeconds != null) {\n cookie += `; max-age=${maxAgeSeconds}`;\n }\n if (expires) {\n cookie += `; expires=${expires.toUTCString()}`;\n }\n if (domain) {\n cookie += `; domain=${domain}`;\n }\n if (secure) {\n cookie += \"; secure\";\n }\n if (sameSite) {\n cookie += `; samesite=${sameSite}`;\n }\n return cookie;\n}\n\n/**\n * Reads and writes a single cookie with React state that stays in sync with your updates.\n *\n * - Initial state is `initialValue` (or `null`) to avoid SSR hydration mismatches; the actual\n * cookie value is read on mount via a `useEffect`.\n * - `setCookie` writes `document.cookie` (URI-encoded) and updates state in the same call.\n * - `removeCookie` expires the cookie via `max-age=0`; pass the same `path` / `domain` used when setting.\n * - Reactivity covers writes made through this hook instance; cookies changed elsewhere are\n * re-read only when `name` changes (the browser offers no cookie change event in wide support).\n * - `SameSite=\"none\"` automatically forces the `Secure` flag per browser requirements.\n *\n * @param name - Cookie name.\n * @param initialValue - Fallback when the cookie is absent (and during SSR).\n * @returns `[value, setCookie, removeCookie]`.\n */\nexport function useCookie(\n name: string,\n initialValue?: string,\n): UseCookieResult {\n // Initialize to initialValue (not readCookie) to avoid SSR hydration mismatches.\n // The effect below syncs the actual cookie value after mount.\n const [value, setValueState] = useState<string | null>(initialValue ?? null);\n\n const setCookie = useCallback(\n (value: string, options: CookieOptions = {}) => {\n if (typeof document === \"undefined\") {\n return;\n }\n document.cookie = serializeCookie(name, value, options);\n setValueState(value);\n },\n [name],\n );\n\n const removeCookie = useCallback(\n (options: Pick<CookieOptions, \"path\" | \"domain\"> = {}) => {\n if (typeof document === \"undefined\") {\n return;\n }\n document.cookie = serializeCookie(name, \"\", {\n ...options,\n maxAgeSeconds: 0,\n });\n setValueState(null);\n },\n [name],\n );\n\n useEffect(() => {\n setValueState(readCookie(name) ?? initialValue ?? null);\n // Intentionally keyed by name only: initialValue is a fallback, not a data source.\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [name]);\n\n return [value, setCookie, removeCookie];\n}\n"]}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import '../chunk-J5LGTIGS.mjs';
|
|
3
|
+
import { useState, useCallback, useEffect } from 'react';
|
|
4
|
+
|
|
5
|
+
function readCookie(name) {
|
|
6
|
+
if (typeof document === "undefined") {
|
|
7
|
+
return null;
|
|
8
|
+
}
|
|
9
|
+
const prefix = `${encodeURIComponent(name)}=`;
|
|
10
|
+
const match = document.cookie.split("; ").find((row) => row.startsWith(prefix));
|
|
11
|
+
if (!match) {
|
|
12
|
+
return null;
|
|
13
|
+
}
|
|
14
|
+
try {
|
|
15
|
+
return decodeURIComponent(match.slice(prefix.length));
|
|
16
|
+
} catch {
|
|
17
|
+
return null;
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
function serializeCookie(name, value, options) {
|
|
21
|
+
const {
|
|
22
|
+
maxAgeSeconds,
|
|
23
|
+
expires,
|
|
24
|
+
path = "/",
|
|
25
|
+
domain,
|
|
26
|
+
sameSite
|
|
27
|
+
} = options;
|
|
28
|
+
const secure = options.secure || sameSite === "none";
|
|
29
|
+
let cookie = `${encodeURIComponent(name)}=${encodeURIComponent(value)}; path=${path}`;
|
|
30
|
+
if (maxAgeSeconds != null) {
|
|
31
|
+
cookie += `; max-age=${maxAgeSeconds}`;
|
|
32
|
+
}
|
|
33
|
+
if (expires) {
|
|
34
|
+
cookie += `; expires=${expires.toUTCString()}`;
|
|
35
|
+
}
|
|
36
|
+
if (domain) {
|
|
37
|
+
cookie += `; domain=${domain}`;
|
|
38
|
+
}
|
|
39
|
+
if (secure) {
|
|
40
|
+
cookie += "; secure";
|
|
41
|
+
}
|
|
42
|
+
if (sameSite) {
|
|
43
|
+
cookie += `; samesite=${sameSite}`;
|
|
44
|
+
}
|
|
45
|
+
return cookie;
|
|
46
|
+
}
|
|
47
|
+
function useCookie(name, initialValue) {
|
|
48
|
+
const [value, setValueState] = useState(initialValue ?? null);
|
|
49
|
+
const setCookie = useCallback(
|
|
50
|
+
(value2, options = {}) => {
|
|
51
|
+
if (typeof document === "undefined") {
|
|
52
|
+
return;
|
|
53
|
+
}
|
|
54
|
+
document.cookie = serializeCookie(name, value2, options);
|
|
55
|
+
setValueState(value2);
|
|
56
|
+
},
|
|
57
|
+
[name]
|
|
58
|
+
);
|
|
59
|
+
const removeCookie = useCallback(
|
|
60
|
+
(options = {}) => {
|
|
61
|
+
if (typeof document === "undefined") {
|
|
62
|
+
return;
|
|
63
|
+
}
|
|
64
|
+
document.cookie = serializeCookie(name, "", {
|
|
65
|
+
...options,
|
|
66
|
+
maxAgeSeconds: 0
|
|
67
|
+
});
|
|
68
|
+
setValueState(null);
|
|
69
|
+
},
|
|
70
|
+
[name]
|
|
71
|
+
);
|
|
72
|
+
useEffect(() => {
|
|
73
|
+
setValueState(readCookie(name) ?? initialValue ?? null);
|
|
74
|
+
}, [name]);
|
|
75
|
+
return [value, setCookie, removeCookie];
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
export { useCookie };
|
|
79
|
+
//# sourceMappingURL=useCookie.mjs.map
|
|
80
|
+
//# sourceMappingURL=useCookie.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/hooks/useCookie/useCookie.ts"],"names":["value"],"mappings":"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","file":"useCookie.mjs","sourcesContent":["\"use client\";\n\nimport { useCallback, useEffect, useState } from \"react\";\n\nexport type CookieOptions = {\n /** Lifetime in seconds (sets `max-age`). Omit for a session cookie. */\n maxAgeSeconds?: number;\n /** Absolute expiry (sets `expires`). */\n expires?: Date;\n /** Cookie path (default `\"/\"`). */\n path?: string;\n /** Cookie domain. */\n domain?: string;\n /** Restrict to HTTPS. */\n secure?: boolean;\n /** SameSite attribute. `\"none\"` automatically forces `secure` per browser requirements. */\n sameSite?: \"strict\" | \"lax\" | \"none\";\n};\n\nexport type UseCookieResult = [\n string | null,\n (value: string, options?: CookieOptions) => void,\n (options?: Pick<CookieOptions, \"path\" | \"domain\">) => void,\n];\n\nfunction readCookie(name: string): string | null {\n if (typeof document === \"undefined\") {\n return null;\n }\n const prefix = `${encodeURIComponent(name)}=`;\n const match = document.cookie\n .split(\"; \")\n .find((row) => row.startsWith(prefix));\n if (!match) {\n return null;\n }\n try {\n return decodeURIComponent(match.slice(prefix.length));\n } catch {\n // Malformed cookie value — return null rather than crashing.\n return null;\n }\n}\n\nfunction serializeCookie(\n name: string,\n value: string,\n options: CookieOptions,\n): string {\n const {\n maxAgeSeconds,\n expires,\n path = \"/\",\n domain,\n sameSite,\n } = options;\n // SameSite=None requires Secure; enforce it automatically.\n const secure = options.secure || sameSite === \"none\";\n let cookie = `${encodeURIComponent(name)}=${encodeURIComponent(value)}; path=${path}`;\n if (maxAgeSeconds != null) {\n cookie += `; max-age=${maxAgeSeconds}`;\n }\n if (expires) {\n cookie += `; expires=${expires.toUTCString()}`;\n }\n if (domain) {\n cookie += `; domain=${domain}`;\n }\n if (secure) {\n cookie += \"; secure\";\n }\n if (sameSite) {\n cookie += `; samesite=${sameSite}`;\n }\n return cookie;\n}\n\n/**\n * Reads and writes a single cookie with React state that stays in sync with your updates.\n *\n * - Initial state is `initialValue` (or `null`) to avoid SSR hydration mismatches; the actual\n * cookie value is read on mount via a `useEffect`.\n * - `setCookie` writes `document.cookie` (URI-encoded) and updates state in the same call.\n * - `removeCookie` expires the cookie via `max-age=0`; pass the same `path` / `domain` used when setting.\n * - Reactivity covers writes made through this hook instance; cookies changed elsewhere are\n * re-read only when `name` changes (the browser offers no cookie change event in wide support).\n * - `SameSite=\"none\"` automatically forces the `Secure` flag per browser requirements.\n *\n * @param name - Cookie name.\n * @param initialValue - Fallback when the cookie is absent (and during SSR).\n * @returns `[value, setCookie, removeCookie]`.\n */\nexport function useCookie(\n name: string,\n initialValue?: string,\n): UseCookieResult {\n // Initialize to initialValue (not readCookie) to avoid SSR hydration mismatches.\n // The effect below syncs the actual cookie value after mount.\n const [value, setValueState] = useState<string | null>(initialValue ?? null);\n\n const setCookie = useCallback(\n (value: string, options: CookieOptions = {}) => {\n if (typeof document === \"undefined\") {\n return;\n }\n document.cookie = serializeCookie(name, value, options);\n setValueState(value);\n },\n [name],\n );\n\n const removeCookie = useCallback(\n (options: Pick<CookieOptions, \"path\" | \"domain\"> = {}) => {\n if (typeof document === \"undefined\") {\n return;\n }\n document.cookie = serializeCookie(name, \"\", {\n ...options,\n maxAgeSeconds: 0,\n });\n setValueState(null);\n },\n [name],\n );\n\n useEffect(() => {\n setValueState(readCookie(name) ?? initialValue ?? null);\n // Intentionally keyed by name only: initialValue is a fallback, not a data source.\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [name]);\n\n return [value, setCookie, removeCookie];\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/hooks/useCountdown/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,KAAK,kBAAkB,EACvB,KAAK,kBAAkB,GACxB,MAAM,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
export type UseCountdownParams = {
|
|
2
|
+
/** Value the countdown starts from. */
|
|
3
|
+
countStart: number;
|
|
4
|
+
/** Value the countdown stops at (default `0`). */
|
|
5
|
+
countStop?: number;
|
|
6
|
+
/** Milliseconds between ticks (default `1000`). */
|
|
7
|
+
intervalMs?: number;
|
|
8
|
+
/** Start counting immediately on mount (default `false`). */
|
|
9
|
+
autoStart?: boolean;
|
|
10
|
+
/** Called once when the countdown reaches `countStop`. */
|
|
11
|
+
onComplete?: () => void;
|
|
12
|
+
};
|
|
13
|
+
export type UseCountdownResult = {
|
|
14
|
+
/** Current count value. */
|
|
15
|
+
count: number;
|
|
16
|
+
/** Whether the countdown is actively ticking. */
|
|
17
|
+
isRunning: boolean;
|
|
18
|
+
/** Whether the countdown has reached `countStop`. */
|
|
19
|
+
isComplete: boolean;
|
|
20
|
+
/** Reset to `countStart` and begin ticking. */
|
|
21
|
+
start: () => void;
|
|
22
|
+
/** Stop ticking, keeping the current count. */
|
|
23
|
+
pause: () => void;
|
|
24
|
+
/** Continue ticking from the current count. No-op if the countdown is complete. */
|
|
25
|
+
resume: () => void;
|
|
26
|
+
/** Stop ticking and reset the count to `countStart`. */
|
|
27
|
+
reset: () => void;
|
|
28
|
+
};
|
|
29
|
+
/**
|
|
30
|
+
* Countdown timer decrementing by one each tick, with start, pause, resume, and reset controls.
|
|
31
|
+
*
|
|
32
|
+
* - Counts from `countStart` down to `countStop` (default `0`) every `intervalMs` (default 1s).
|
|
33
|
+
* - `onComplete` fires once when the count reaches `countStop`; the timer stops automatically.
|
|
34
|
+
* - `resume` on a completed countdown is a no-op; call `start` or `reset` to run it again.
|
|
35
|
+
*
|
|
36
|
+
* @param params - {@link UseCountdownParams}
|
|
37
|
+
* @returns {@link UseCountdownResult}
|
|
38
|
+
*/
|
|
39
|
+
export declare function useCountdown({ countStart, countStop, intervalMs, autoStart, onComplete, }: UseCountdownParams): UseCountdownResult;
|
|
40
|
+
//# sourceMappingURL=useCountdown.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useCountdown.d.ts","sourceRoot":"","sources":["../../../src/hooks/useCountdown/useCountdown.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,kBAAkB,GAAG;IAC/B,uCAAuC;IACvC,UAAU,EAAE,MAAM,CAAC;IACnB,kDAAkD;IAClD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,mDAAmD;IACnD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,6DAA6D;IAC7D,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,0DAA0D;IAC1D,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,2BAA2B;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,iDAAiD;IACjD,SAAS,EAAE,OAAO,CAAC;IACnB,qDAAqD;IACrD,UAAU,EAAE,OAAO,CAAC;IACpB,+CAA+C;IAC/C,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,+CAA+C;IAC/C,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,mFAAmF;IACnF,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,wDAAwD;IACxD,KAAK,EAAE,MAAM,IAAI,CAAC;CACnB,CAAC;AAEF;;;;;;;;;GASG;AACH,wBAAgB,YAAY,CAAC,EAC3B,UAAU,EACV,SAAa,EACb,UAAiB,EACjB,SAAiB,EACjB,UAAU,GACX,EAAE,kBAAkB,GAAG,kBAAkB,CAuDzC"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
'use strict';
|
|
3
|
+
|
|
4
|
+
require('../chunk-PZ5AY32C.js');
|
|
5
|
+
var react = require('react');
|
|
6
|
+
|
|
7
|
+
function useCountdown({
|
|
8
|
+
countStart,
|
|
9
|
+
countStop = 0,
|
|
10
|
+
intervalMs = 1e3,
|
|
11
|
+
autoStart = false,
|
|
12
|
+
onComplete
|
|
13
|
+
}) {
|
|
14
|
+
const [count, setCount] = react.useState(countStart);
|
|
15
|
+
const [isRunning, setIsRunning] = react.useState(autoStart);
|
|
16
|
+
const onCompleteRef = react.useRef(onComplete);
|
|
17
|
+
react.useEffect(() => {
|
|
18
|
+
onCompleteRef.current = onComplete;
|
|
19
|
+
}, [onComplete]);
|
|
20
|
+
const isComplete = count <= countStop;
|
|
21
|
+
react.useEffect(() => {
|
|
22
|
+
if (!isRunning) {
|
|
23
|
+
return;
|
|
24
|
+
}
|
|
25
|
+
const id = window.setInterval(() => {
|
|
26
|
+
setCount((previous) => Math.max(countStop, previous - 1));
|
|
27
|
+
}, intervalMs);
|
|
28
|
+
return () => {
|
|
29
|
+
window.clearInterval(id);
|
|
30
|
+
};
|
|
31
|
+
}, [countStop, intervalMs, isRunning]);
|
|
32
|
+
react.useEffect(() => {
|
|
33
|
+
if (isRunning && count <= countStop) {
|
|
34
|
+
setIsRunning(false);
|
|
35
|
+
onCompleteRef.current?.();
|
|
36
|
+
}
|
|
37
|
+
}, [count, countStop, isRunning]);
|
|
38
|
+
const start = react.useCallback(() => {
|
|
39
|
+
setCount(countStart);
|
|
40
|
+
setIsRunning(true);
|
|
41
|
+
}, [countStart]);
|
|
42
|
+
const pause = react.useCallback(() => {
|
|
43
|
+
setIsRunning(false);
|
|
44
|
+
}, []);
|
|
45
|
+
const resume = react.useCallback(() => {
|
|
46
|
+
if (isComplete) {
|
|
47
|
+
return;
|
|
48
|
+
}
|
|
49
|
+
setIsRunning(true);
|
|
50
|
+
}, [isComplete]);
|
|
51
|
+
const reset = react.useCallback(() => {
|
|
52
|
+
setIsRunning(false);
|
|
53
|
+
setCount(countStart);
|
|
54
|
+
}, [countStart]);
|
|
55
|
+
return { count, isRunning, isComplete, start, pause, resume, reset };
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
exports.useCountdown = useCountdown;
|
|
59
|
+
//# sourceMappingURL=useCountdown.js.map
|
|
60
|
+
//# sourceMappingURL=useCountdown.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/hooks/useCountdown/useCountdown.ts"],"names":["useState","useRef","useEffect","useCallback"],"mappings":";;;;;AA4CO,SAAS,YAAA,CAAa;AAAA,EAC3B,UAAA;AAAA,EACA,SAAA,GAAY,CAAA;AAAA,EACZ,UAAA,GAAa,GAAA;AAAA,EACb,SAAA,GAAY,KAAA;AAAA,EACZ;AACF,CAAA,EAA2C;AACzC,EAAA,MAAM,CAAC,KAAA,EAAO,QAAQ,CAAA,GAAIA,eAAS,UAAU,CAAA;AAC7C,EAAA,MAAM,CAAC,SAAA,EAAW,YAAY,CAAA,GAAIA,eAAS,SAAS,CAAA;AACpD,EAAA,MAAM,aAAA,GAAgBC,aAAO,UAAU,CAAA;AAEvC,EAAAC,eAAA,CAAU,MAAM;AACd,IAAA,aAAA,CAAc,OAAA,GAAU,UAAA;AAAA,EAC1B,CAAA,EAAG,CAAC,UAAU,CAAC,CAAA;AAEf,EAAA,MAAM,aAAa,KAAA,IAAS,SAAA;AAI5B,EAAAA,eAAA,CAAU,MAAM;AACd,IAAA,IAAI,CAAC,SAAA,EAAW;AACd,MAAA;AAAA,IACF;AACA,IAAA,MAAM,EAAA,GAAK,MAAA,CAAO,WAAA,CAAY,MAAM;AAClC,MAAA,QAAA,CAAS,CAAC,QAAA,KAAa,IAAA,CAAK,IAAI,SAAA,EAAW,QAAA,GAAW,CAAC,CAAC,CAAA;AAAA,IAC1D,GAAG,UAAU,CAAA;AACb,IAAA,OAAO,MAAM;AACX,MAAA,MAAA,CAAO,cAAc,EAAE,CAAA;AAAA,IACzB,CAAA;AAAA,EACF,CAAA,EAAG,CAAC,SAAA,EAAW,UAAA,EAAY,SAAS,CAAC,CAAA;AAErC,EAAAA,eAAA,CAAU,MAAM;AACd,IAAA,IAAI,SAAA,IAAa,SAAS,SAAA,EAAW;AACnC,MAAA,YAAA,CAAa,KAAK,CAAA;AAClB,MAAA,aAAA,CAAc,OAAA,IAAU;AAAA,IAC1B;AAAA,EACF,CAAA,EAAG,CAAC,KAAA,EAAO,SAAA,EAAW,SAAS,CAAC,CAAA;AAEhC,EAAA,MAAM,KAAA,GAAQC,kBAAY,MAAM;AAC9B,IAAA,QAAA,CAAS,UAAU,CAAA;AACnB,IAAA,YAAA,CAAa,IAAI,CAAA;AAAA,EACnB,CAAA,EAAG,CAAC,UAAU,CAAC,CAAA;AAEf,EAAA,MAAM,KAAA,GAAQA,kBAAY,MAAM;AAC9B,IAAA,YAAA,CAAa,KAAK,CAAA;AAAA,EACpB,CAAA,EAAG,EAAE,CAAA;AAEL,EAAA,MAAM,MAAA,GAASA,kBAAY,MAAM;AAE/B,IAAA,IAAI,UAAA,EAAY;AACd,MAAA;AAAA,IACF;AACA,IAAA,YAAA,CAAa,IAAI,CAAA;AAAA,EACnB,CAAA,EAAG,CAAC,UAAU,CAAC,CAAA;AAEf,EAAA,MAAM,KAAA,GAAQA,kBAAY,MAAM;AAC9B,IAAA,YAAA,CAAa,KAAK,CAAA;AAClB,IAAA,QAAA,CAAS,UAAU,CAAA;AAAA,EACrB,CAAA,EAAG,CAAC,UAAU,CAAC,CAAA;AAEf,EAAA,OAAO,EAAE,KAAA,EAAO,SAAA,EAAW,YAAY,KAAA,EAAO,KAAA,EAAO,QAAQ,KAAA,EAAM;AACrE","file":"useCountdown.js","sourcesContent":["\"use client\";\n\nimport { useCallback, useEffect, useRef, useState } from \"react\";\n\nexport type UseCountdownParams = {\n /** Value the countdown starts from. */\n countStart: number;\n /** Value the countdown stops at (default `0`). */\n countStop?: number;\n /** Milliseconds between ticks (default `1000`). */\n intervalMs?: number;\n /** Start counting immediately on mount (default `false`). */\n autoStart?: boolean;\n /** Called once when the countdown reaches `countStop`. */\n onComplete?: () => void;\n};\n\nexport type UseCountdownResult = {\n /** Current count value. */\n count: number;\n /** Whether the countdown is actively ticking. */\n isRunning: boolean;\n /** Whether the countdown has reached `countStop`. */\n isComplete: boolean;\n /** Reset to `countStart` and begin ticking. */\n start: () => void;\n /** Stop ticking, keeping the current count. */\n pause: () => void;\n /** Continue ticking from the current count. No-op if the countdown is complete. */\n resume: () => void;\n /** Stop ticking and reset the count to `countStart`. */\n reset: () => void;\n};\n\n/**\n * Countdown timer decrementing by one each tick, with start, pause, resume, and reset controls.\n *\n * - Counts from `countStart` down to `countStop` (default `0`) every `intervalMs` (default 1s).\n * - `onComplete` fires once when the count reaches `countStop`; the timer stops automatically.\n * - `resume` on a completed countdown is a no-op; call `start` or `reset` to run it again.\n *\n * @param params - {@link UseCountdownParams}\n * @returns {@link UseCountdownResult}\n */\nexport function useCountdown({\n countStart,\n countStop = 0,\n intervalMs = 1000,\n autoStart = false,\n onComplete,\n}: UseCountdownParams): UseCountdownResult {\n const [count, setCount] = useState(countStart);\n const [isRunning, setIsRunning] = useState(autoStart);\n const onCompleteRef = useRef(onComplete);\n\n useEffect(() => {\n onCompleteRef.current = onComplete;\n }, [onComplete]);\n\n const isComplete = count <= countStop;\n\n // Interval effect: does NOT include `count` in deps so the timer is not recreated on every tick.\n // Completion is handled by the separate effect below.\n useEffect(() => {\n if (!isRunning) {\n return;\n }\n const id = window.setInterval(() => {\n setCount((previous) => Math.max(countStop, previous - 1));\n }, intervalMs);\n return () => {\n window.clearInterval(id);\n };\n }, [countStop, intervalMs, isRunning]);\n\n useEffect(() => {\n if (isRunning && count <= countStop) {\n setIsRunning(false);\n onCompleteRef.current?.();\n }\n }, [count, countStop, isRunning]);\n\n const start = useCallback(() => {\n setCount(countStart);\n setIsRunning(true);\n }, [countStart]);\n\n const pause = useCallback(() => {\n setIsRunning(false);\n }, []);\n\n const resume = useCallback(() => {\n // No-op when the countdown has already reached countStop to prevent retriggering onComplete.\n if (isComplete) {\n return;\n }\n setIsRunning(true);\n }, [isComplete]);\n\n const reset = useCallback(() => {\n setIsRunning(false);\n setCount(countStart);\n }, [countStart]);\n\n return { count, isRunning, isComplete, start, pause, resume, reset };\n}\n"]}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import '../chunk-J5LGTIGS.mjs';
|
|
3
|
+
import { useState, useRef, useEffect, useCallback } from 'react';
|
|
4
|
+
|
|
5
|
+
function useCountdown({
|
|
6
|
+
countStart,
|
|
7
|
+
countStop = 0,
|
|
8
|
+
intervalMs = 1e3,
|
|
9
|
+
autoStart = false,
|
|
10
|
+
onComplete
|
|
11
|
+
}) {
|
|
12
|
+
const [count, setCount] = useState(countStart);
|
|
13
|
+
const [isRunning, setIsRunning] = useState(autoStart);
|
|
14
|
+
const onCompleteRef = useRef(onComplete);
|
|
15
|
+
useEffect(() => {
|
|
16
|
+
onCompleteRef.current = onComplete;
|
|
17
|
+
}, [onComplete]);
|
|
18
|
+
const isComplete = count <= countStop;
|
|
19
|
+
useEffect(() => {
|
|
20
|
+
if (!isRunning) {
|
|
21
|
+
return;
|
|
22
|
+
}
|
|
23
|
+
const id = window.setInterval(() => {
|
|
24
|
+
setCount((previous) => Math.max(countStop, previous - 1));
|
|
25
|
+
}, intervalMs);
|
|
26
|
+
return () => {
|
|
27
|
+
window.clearInterval(id);
|
|
28
|
+
};
|
|
29
|
+
}, [countStop, intervalMs, isRunning]);
|
|
30
|
+
useEffect(() => {
|
|
31
|
+
if (isRunning && count <= countStop) {
|
|
32
|
+
setIsRunning(false);
|
|
33
|
+
onCompleteRef.current?.();
|
|
34
|
+
}
|
|
35
|
+
}, [count, countStop, isRunning]);
|
|
36
|
+
const start = useCallback(() => {
|
|
37
|
+
setCount(countStart);
|
|
38
|
+
setIsRunning(true);
|
|
39
|
+
}, [countStart]);
|
|
40
|
+
const pause = useCallback(() => {
|
|
41
|
+
setIsRunning(false);
|
|
42
|
+
}, []);
|
|
43
|
+
const resume = useCallback(() => {
|
|
44
|
+
if (isComplete) {
|
|
45
|
+
return;
|
|
46
|
+
}
|
|
47
|
+
setIsRunning(true);
|
|
48
|
+
}, [isComplete]);
|
|
49
|
+
const reset = useCallback(() => {
|
|
50
|
+
setIsRunning(false);
|
|
51
|
+
setCount(countStart);
|
|
52
|
+
}, [countStart]);
|
|
53
|
+
return { count, isRunning, isComplete, start, pause, resume, reset };
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
export { useCountdown };
|
|
57
|
+
//# sourceMappingURL=useCountdown.mjs.map
|
|
58
|
+
//# sourceMappingURL=useCountdown.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/hooks/useCountdown/useCountdown.ts"],"names":[],"mappings":";;;AA4CO,SAAS,YAAA,CAAa;AAAA,EAC3B,UAAA;AAAA,EACA,SAAA,GAAY,CAAA;AAAA,EACZ,UAAA,GAAa,GAAA;AAAA,EACb,SAAA,GAAY,KAAA;AAAA,EACZ;AACF,CAAA,EAA2C;AACzC,EAAA,MAAM,CAAC,KAAA,EAAO,QAAQ,CAAA,GAAI,SAAS,UAAU,CAAA;AAC7C,EAAA,MAAM,CAAC,SAAA,EAAW,YAAY,CAAA,GAAI,SAAS,SAAS,CAAA;AACpD,EAAA,MAAM,aAAA,GAAgB,OAAO,UAAU,CAAA;AAEvC,EAAA,SAAA,CAAU,MAAM;AACd,IAAA,aAAA,CAAc,OAAA,GAAU,UAAA;AAAA,EAC1B,CAAA,EAAG,CAAC,UAAU,CAAC,CAAA;AAEf,EAAA,MAAM,aAAa,KAAA,IAAS,SAAA;AAI5B,EAAA,SAAA,CAAU,MAAM;AACd,IAAA,IAAI,CAAC,SAAA,EAAW;AACd,MAAA;AAAA,IACF;AACA,IAAA,MAAM,EAAA,GAAK,MAAA,CAAO,WAAA,CAAY,MAAM;AAClC,MAAA,QAAA,CAAS,CAAC,QAAA,KAAa,IAAA,CAAK,IAAI,SAAA,EAAW,QAAA,GAAW,CAAC,CAAC,CAAA;AAAA,IAC1D,GAAG,UAAU,CAAA;AACb,IAAA,OAAO,MAAM;AACX,MAAA,MAAA,CAAO,cAAc,EAAE,CAAA;AAAA,IACzB,CAAA;AAAA,EACF,CAAA,EAAG,CAAC,SAAA,EAAW,UAAA,EAAY,SAAS,CAAC,CAAA;AAErC,EAAA,SAAA,CAAU,MAAM;AACd,IAAA,IAAI,SAAA,IAAa,SAAS,SAAA,EAAW;AACnC,MAAA,YAAA,CAAa,KAAK,CAAA;AAClB,MAAA,aAAA,CAAc,OAAA,IAAU;AAAA,IAC1B;AAAA,EACF,CAAA,EAAG,CAAC,KAAA,EAAO,SAAA,EAAW,SAAS,CAAC,CAAA;AAEhC,EAAA,MAAM,KAAA,GAAQ,YAAY,MAAM;AAC9B,IAAA,QAAA,CAAS,UAAU,CAAA;AACnB,IAAA,YAAA,CAAa,IAAI,CAAA;AAAA,EACnB,CAAA,EAAG,CAAC,UAAU,CAAC,CAAA;AAEf,EAAA,MAAM,KAAA,GAAQ,YAAY,MAAM;AAC9B,IAAA,YAAA,CAAa,KAAK,CAAA;AAAA,EACpB,CAAA,EAAG,EAAE,CAAA;AAEL,EAAA,MAAM,MAAA,GAAS,YAAY,MAAM;AAE/B,IAAA,IAAI,UAAA,EAAY;AACd,MAAA;AAAA,IACF;AACA,IAAA,YAAA,CAAa,IAAI,CAAA;AAAA,EACnB,CAAA,EAAG,CAAC,UAAU,CAAC,CAAA;AAEf,EAAA,MAAM,KAAA,GAAQ,YAAY,MAAM;AAC9B,IAAA,YAAA,CAAa,KAAK,CAAA;AAClB,IAAA,QAAA,CAAS,UAAU,CAAA;AAAA,EACrB,CAAA,EAAG,CAAC,UAAU,CAAC,CAAA;AAEf,EAAA,OAAO,EAAE,KAAA,EAAO,SAAA,EAAW,YAAY,KAAA,EAAO,KAAA,EAAO,QAAQ,KAAA,EAAM;AACrE","file":"useCountdown.mjs","sourcesContent":["\"use client\";\n\nimport { useCallback, useEffect, useRef, useState } from \"react\";\n\nexport type UseCountdownParams = {\n /** Value the countdown starts from. */\n countStart: number;\n /** Value the countdown stops at (default `0`). */\n countStop?: number;\n /** Milliseconds between ticks (default `1000`). */\n intervalMs?: number;\n /** Start counting immediately on mount (default `false`). */\n autoStart?: boolean;\n /** Called once when the countdown reaches `countStop`. */\n onComplete?: () => void;\n};\n\nexport type UseCountdownResult = {\n /** Current count value. */\n count: number;\n /** Whether the countdown is actively ticking. */\n isRunning: boolean;\n /** Whether the countdown has reached `countStop`. */\n isComplete: boolean;\n /** Reset to `countStart` and begin ticking. */\n start: () => void;\n /** Stop ticking, keeping the current count. */\n pause: () => void;\n /** Continue ticking from the current count. No-op if the countdown is complete. */\n resume: () => void;\n /** Stop ticking and reset the count to `countStart`. */\n reset: () => void;\n};\n\n/**\n * Countdown timer decrementing by one each tick, with start, pause, resume, and reset controls.\n *\n * - Counts from `countStart` down to `countStop` (default `0`) every `intervalMs` (default 1s).\n * - `onComplete` fires once when the count reaches `countStop`; the timer stops automatically.\n * - `resume` on a completed countdown is a no-op; call `start` or `reset` to run it again.\n *\n * @param params - {@link UseCountdownParams}\n * @returns {@link UseCountdownResult}\n */\nexport function useCountdown({\n countStart,\n countStop = 0,\n intervalMs = 1000,\n autoStart = false,\n onComplete,\n}: UseCountdownParams): UseCountdownResult {\n const [count, setCount] = useState(countStart);\n const [isRunning, setIsRunning] = useState(autoStart);\n const onCompleteRef = useRef(onComplete);\n\n useEffect(() => {\n onCompleteRef.current = onComplete;\n }, [onComplete]);\n\n const isComplete = count <= countStop;\n\n // Interval effect: does NOT include `count` in deps so the timer is not recreated on every tick.\n // Completion is handled by the separate effect below.\n useEffect(() => {\n if (!isRunning) {\n return;\n }\n const id = window.setInterval(() => {\n setCount((previous) => Math.max(countStop, previous - 1));\n }, intervalMs);\n return () => {\n window.clearInterval(id);\n };\n }, [countStop, intervalMs, isRunning]);\n\n useEffect(() => {\n if (isRunning && count <= countStop) {\n setIsRunning(false);\n onCompleteRef.current?.();\n }\n }, [count, countStop, isRunning]);\n\n const start = useCallback(() => {\n setCount(countStart);\n setIsRunning(true);\n }, [countStart]);\n\n const pause = useCallback(() => {\n setIsRunning(false);\n }, []);\n\n const resume = useCallback(() => {\n // No-op when the countdown has already reached countStop to prevent retriggering onComplete.\n if (isComplete) {\n return;\n }\n setIsRunning(true);\n }, [isComplete]);\n\n const reset = useCallback(() => {\n setIsRunning(false);\n setCount(countStart);\n }, [countStart]);\n\n return { count, isRunning, isComplete, start, pause, resume, reset };\n}\n"]}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
'use strict';
|
|
3
3
|
|
|
4
|
+
require('../chunk-PZ5AY32C.js');
|
|
4
5
|
var react = require('react');
|
|
5
6
|
|
|
6
|
-
// src/hooks/useDebouncedValue/useDebouncedValue.ts
|
|
7
7
|
function useDebouncedValue(value, delayMs) {
|
|
8
8
|
const [debounced, setDebounced] = react.useState(value);
|
|
9
9
|
react.useEffect(() => {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use client";
|
|
2
|
+
import '../chunk-J5LGTIGS.mjs';
|
|
2
3
|
import { useState, useEffect } from 'react';
|
|
3
4
|
|
|
4
|
-
// src/hooks/useDebouncedValue/useDebouncedValue.ts
|
|
5
5
|
function useDebouncedValue(value, delayMs) {
|
|
6
6
|
const [debounced, setDebounced] = useState(value);
|
|
7
7
|
useEffect(() => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/hooks/useDisclosure/useDisclosure.ts"],"names":["useControllableState","useCallback","open"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../src/hooks/useDisclosure/useDisclosure.ts"],"names":["useControllableState","useCallback","open"],"mappings":";;;;;;;AA8BO,SAAS,aAAA,CAAc;AAAA,EAC5B,IAAA,EAAM,QAAA;AAAA,EACN,WAAA,GAAc,KAAA;AAAA,EACd;AACF,CAAA,GAAyB,EAAC,EAAwB;AAChD,EAAA,MAAM,CAAC,MAAA,EAAQ,YAAY,CAAA,GAAIA,qCAAA,CAAqB;AAAA,IAClD,KAAA,EAAO,QAAA;AAAA,IACP,YAAA,EAAc,WAAA;AAAA,IACd,QAAA,EAAU;AAAA,GACX,CAAA;AAED,EAAA,MAAM,OAAA,GAAUC,iBAAA;AAAA,IACd,CAACC,KAAAA,KAAkB;AACjB,MAAA,YAAA,CAAaA,KAAI,CAAA;AAAA,IACnB,CAAA;AAAA,IACA,CAAC,YAAY;AAAA,GACf;AAEA,EAAA,MAAM,IAAA,GAAOD,kBAAY,MAAM;AAC7B,IAAA,YAAA,CAAa,IAAI,CAAA;AAAA,EACnB,CAAA,EAAG,CAAC,YAAY,CAAC,CAAA;AAEjB,EAAA,MAAM,KAAA,GAAQA,kBAAY,MAAM;AAC9B,IAAA,YAAA,CAAa,KAAK,CAAA;AAAA,EACpB,CAAA,EAAG,CAAC,YAAY,CAAC,CAAA;AAEjB,EAAA,MAAM,MAAA,GAASA,kBAAY,MAAM;AAC/B,IAAA,YAAA,CAAa,CAAC,MAAM,CAAA;AAAA,EACtB,CAAA,EAAG,CAAC,MAAA,EAAQ,YAAY,CAAC,CAAA;AAEzB,EAAA,OAAO,EAAE,MAAA,EAAQ,IAAA,EAAM,KAAA,EAAO,QAAQ,OAAA,EAAQ;AAChD","file":"useDisclosure.js","sourcesContent":["\"use client\";\n\nimport { useCallback } from \"react\";\n\nimport { useControllableState } from \"../useControllableState\";\n\nexport type UseDisclosureParams = {\n /** Controlled open flag; omit for uncontrolled usage with `defaultOpen`. */\n open?: boolean;\n /** Initial open state when uncontrolled. */\n defaultOpen?: boolean;\n /** Fired whenever open state changes from user-driven `setOpen` / `open` / `close` / `toggle`. */\n onOpenChange?: (open: boolean) => void;\n};\n\nexport type UseDisclosureResult = {\n isOpen: boolean;\n open: () => void;\n close: () => void;\n toggle: () => void;\n setOpen: (open: boolean) => void;\n};\n\n/**\n * Boolean open/close state for overlays (dialogs, menus, collapsible regions) with optional control from the parent.\n * Built on {@link useControllableState}; semantics match common headless UI libraries.\n *\n * @param params - Optional `open`, `defaultOpen`, and `onOpenChange`.\n * @returns Helpers `open`, `close`, `toggle`, `setOpen`, and the current `isOpen` flag.\n */\nexport function useDisclosure({\n open: openProp,\n defaultOpen = false,\n onOpenChange,\n}: UseDisclosureParams = {}): UseDisclosureResult {\n const [isOpen, setOpenState] = useControllableState({\n value: openProp,\n defaultValue: defaultOpen,\n onChange: onOpenChange,\n });\n\n const setOpen = useCallback(\n (open: boolean) => {\n setOpenState(open);\n },\n [setOpenState],\n );\n\n const open = useCallback(() => {\n setOpenState(true);\n }, [setOpenState]);\n\n const close = useCallback(() => {\n setOpenState(false);\n }, [setOpenState]);\n\n const toggle = useCallback(() => {\n setOpenState(!isOpen);\n }, [isOpen, setOpenState]);\n\n return { isOpen, open, close, toggle, setOpen };\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/hooks/useDisclosure/useDisclosure.ts"],"names":["open"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../src/hooks/useDisclosure/useDisclosure.ts"],"names":["open"],"mappings":";;;;;AA8BO,SAAS,aAAA,CAAc;AAAA,EAC5B,IAAA,EAAM,QAAA;AAAA,EACN,WAAA,GAAc,KAAA;AAAA,EACd;AACF,CAAA,GAAyB,EAAC,EAAwB;AAChD,EAAA,MAAM,CAAC,MAAA,EAAQ,YAAY,CAAA,GAAI,oBAAA,CAAqB;AAAA,IAClD,KAAA,EAAO,QAAA;AAAA,IACP,YAAA,EAAc,WAAA;AAAA,IACd,QAAA,EAAU;AAAA,GACX,CAAA;AAED,EAAA,MAAM,OAAA,GAAU,WAAA;AAAA,IACd,CAACA,KAAAA,KAAkB;AACjB,MAAA,YAAA,CAAaA,KAAI,CAAA;AAAA,IACnB,CAAA;AAAA,IACA,CAAC,YAAY;AAAA,GACf;AAEA,EAAA,MAAM,IAAA,GAAO,YAAY,MAAM;AAC7B,IAAA,YAAA,CAAa,IAAI,CAAA;AAAA,EACnB,CAAA,EAAG,CAAC,YAAY,CAAC,CAAA;AAEjB,EAAA,MAAM,KAAA,GAAQ,YAAY,MAAM;AAC9B,IAAA,YAAA,CAAa,KAAK,CAAA;AAAA,EACpB,CAAA,EAAG,CAAC,YAAY,CAAC,CAAA;AAEjB,EAAA,MAAM,MAAA,GAAS,YAAY,MAAM;AAC/B,IAAA,YAAA,CAAa,CAAC,MAAM,CAAA;AAAA,EACtB,CAAA,EAAG,CAAC,MAAA,EAAQ,YAAY,CAAC,CAAA;AAEzB,EAAA,OAAO,EAAE,MAAA,EAAQ,IAAA,EAAM,KAAA,EAAO,QAAQ,OAAA,EAAQ;AAChD","file":"useDisclosure.mjs","sourcesContent":["\"use client\";\n\nimport { useCallback } from \"react\";\n\nimport { useControllableState } from \"../useControllableState\";\n\nexport type UseDisclosureParams = {\n /** Controlled open flag; omit for uncontrolled usage with `defaultOpen`. */\n open?: boolean;\n /** Initial open state when uncontrolled. */\n defaultOpen?: boolean;\n /** Fired whenever open state changes from user-driven `setOpen` / `open` / `close` / `toggle`. */\n onOpenChange?: (open: boolean) => void;\n};\n\nexport type UseDisclosureResult = {\n isOpen: boolean;\n open: () => void;\n close: () => void;\n toggle: () => void;\n setOpen: (open: boolean) => void;\n};\n\n/**\n * Boolean open/close state for overlays (dialogs, menus, collapsible regions) with optional control from the parent.\n * Built on {@link useControllableState}; semantics match common headless UI libraries.\n *\n * @param params - Optional `open`, `defaultOpen`, and `onOpenChange`.\n * @returns Helpers `open`, `close`, `toggle`, `setOpen`, and the current `isOpen` flag.\n */\nexport function useDisclosure({\n open: openProp,\n defaultOpen = false,\n onOpenChange,\n}: UseDisclosureParams = {}): UseDisclosureResult {\n const [isOpen, setOpenState] = useControllableState({\n value: openProp,\n defaultValue: defaultOpen,\n onChange: onOpenChange,\n });\n\n const setOpen = useCallback(\n (open: boolean) => {\n setOpenState(open);\n },\n [setOpenState],\n );\n\n const open = useCallback(() => {\n setOpenState(true);\n }, [setOpenState]);\n\n const close = useCallback(() => {\n setOpenState(false);\n }, [setOpenState]);\n\n const toggle = useCallback(() => {\n setOpenState(!isOpen);\n }, [isOpen, setOpenState]);\n\n return { isOpen, open, close, toggle, setOpen };\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/hooks/useEventListener/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,KAAK,sBAAsB,GAC5B,MAAM,oBAAoB,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { RefObject } from "react";
|
|
2
|
+
export type UseEventListenerTarget = EventTarget | RefObject<EventTarget | null> | null;
|
|
3
|
+
/**
|
|
4
|
+
* Attaches a DOM event listener with automatic cleanup and a stable wrapper around the latest handler.
|
|
5
|
+
*
|
|
6
|
+
* - Defaults to `window`; pass an element, `document`, or a React ref object as `target`.
|
|
7
|
+
* - Pass explicit `null` as `target` to skip attaching (useful for conditional subscriptions).
|
|
8
|
+
* - The handler is kept in a ref, so passing a new inline function each render does not re-subscribe.
|
|
9
|
+
* - Ref targets are resolved when the effect runs (after mount); if the ref is retargeted later,
|
|
10
|
+
* re-render with a state-backed node (or key the component) to re-subscribe.
|
|
11
|
+
* - Pass `options` as individual booleans or a stable object reference to avoid re-subscribing on
|
|
12
|
+
* every render. Internally, `capture`, `passive`, and `once` are compared individually.
|
|
13
|
+
*
|
|
14
|
+
* @param eventName - DOM event name (typed against `WindowEventMap` / `DocumentEventMap` / `HTMLElementEventMap`).
|
|
15
|
+
* @param handler - Listener invoked with the native event.
|
|
16
|
+
* @param target - Event target, React ref to one, `undefined` for `window`, or `null` to skip.
|
|
17
|
+
* @param options - Standard `addEventListener` options.
|
|
18
|
+
*/
|
|
19
|
+
export declare function useEventListener<K extends keyof WindowEventMap>(eventName: K, handler: (event: WindowEventMap[K]) => void, target?: Window | null, options?: boolean | AddEventListenerOptions): void;
|
|
20
|
+
export declare function useEventListener<K extends keyof DocumentEventMap>(eventName: K, handler: (event: DocumentEventMap[K]) => void, target: Document | RefObject<Document | null>, options?: boolean | AddEventListenerOptions): void;
|
|
21
|
+
export declare function useEventListener<K extends keyof HTMLElementEventMap, T extends HTMLElement = HTMLElement>(eventName: K, handler: (event: HTMLElementEventMap[K]) => void, target: T | RefObject<T | null> | null, options?: boolean | AddEventListenerOptions): void;
|
|
22
|
+
//# sourceMappingURL=useEventListener.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useEventListener.d.ts","sourceRoot":"","sources":["../../../src/hooks/useEventListener/useEventListener.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAGvC,MAAM,MAAM,sBAAsB,GAC9B,WAAW,GACX,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC,GAC7B,IAAI,CAAC;AAmBT;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,MAAM,cAAc,EAC7D,SAAS,EAAE,CAAC,EACZ,OAAO,EAAE,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC,CAAC,KAAK,IAAI,EAC3C,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,EACtB,OAAO,CAAC,EAAE,OAAO,GAAG,uBAAuB,GAC1C,IAAI,CAAC;AACR,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,MAAM,gBAAgB,EAC/D,SAAS,EAAE,CAAC,EACZ,OAAO,EAAE,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC,CAAC,KAAK,IAAI,EAC7C,MAAM,EAAE,QAAQ,GAAG,SAAS,CAAC,QAAQ,GAAG,IAAI,CAAC,EAC7C,OAAO,CAAC,EAAE,OAAO,GAAG,uBAAuB,GAC1C,IAAI,CAAC;AACR,wBAAgB,gBAAgB,CAC9B,CAAC,SAAS,MAAM,mBAAmB,EACnC,CAAC,SAAS,WAAW,GAAG,WAAW,EAEnC,SAAS,EAAE,CAAC,EACZ,OAAO,EAAE,CAAC,KAAK,EAAE,mBAAmB,CAAC,CAAC,CAAC,KAAK,IAAI,EAChD,MAAM,EAAE,CAAC,GAAG,SAAS,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,EACtC,OAAO,CAAC,EAAE,OAAO,GAAG,uBAAuB,GAC1C,IAAI,CAAC"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
'use strict';
|
|
3
|
+
|
|
4
|
+
require('../chunk-PZ5AY32C.js');
|
|
5
|
+
var react = require('react');
|
|
6
|
+
|
|
7
|
+
function resolveTarget(target) {
|
|
8
|
+
if (target === void 0) {
|
|
9
|
+
return typeof window === "undefined" ? null : window;
|
|
10
|
+
}
|
|
11
|
+
if (target === null) {
|
|
12
|
+
return null;
|
|
13
|
+
}
|
|
14
|
+
if (target instanceof EventTarget) {
|
|
15
|
+
return target;
|
|
16
|
+
}
|
|
17
|
+
return target.current;
|
|
18
|
+
}
|
|
19
|
+
function useEventListener(eventName, handler, target, options) {
|
|
20
|
+
const handlerRef = react.useRef(handler);
|
|
21
|
+
react.useEffect(() => {
|
|
22
|
+
handlerRef.current = handler;
|
|
23
|
+
}, [handler]);
|
|
24
|
+
const capture = typeof options === "boolean" ? options : options?.capture ?? false;
|
|
25
|
+
const passive = typeof options === "object" ? options?.passive ?? false : false;
|
|
26
|
+
const once = typeof options === "object" ? options?.once ?? false : false;
|
|
27
|
+
react.useEffect(() => {
|
|
28
|
+
const node = resolveTarget(target);
|
|
29
|
+
if (node == null) {
|
|
30
|
+
return;
|
|
31
|
+
}
|
|
32
|
+
const listenerOptions = { capture, passive, once };
|
|
33
|
+
const listener = (event) => {
|
|
34
|
+
handlerRef.current(event);
|
|
35
|
+
};
|
|
36
|
+
node.addEventListener(eventName, listener, listenerOptions);
|
|
37
|
+
return () => {
|
|
38
|
+
node.removeEventListener(eventName, listener, listenerOptions);
|
|
39
|
+
};
|
|
40
|
+
}, [eventName, target, capture, passive, once]);
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
exports.useEventListener = useEventListener;
|
|
44
|
+
//# sourceMappingURL=useEventListener.js.map
|
|
45
|
+
//# sourceMappingURL=useEventListener.js.map
|