@backbay/glia 0.2.0-alpha.6 → 0.2.0-alpha.8
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/dist/audio/index.js +1145 -5
- package/dist/audio/index.js.map +1 -1
- package/dist/components/index.js +3187 -10
- package/dist/components/index.js.map +1 -1
- package/dist/core.js +19714 -12
- package/dist/core.js.map +1 -1
- package/dist/emotion/index.js +1 -1
- package/dist/emotion/index.js.map +1 -1
- package/dist/hooks/index.js +941 -6
- package/dist/hooks/index.js.map +1 -1
- package/dist/index.js +31841 -183
- package/dist/index.js.map +1 -1
- package/dist/primitives/index.js +21111 -57
- package/dist/primitives/index.js.map +1 -1
- package/dist/protocol/index.js +360 -2
- package/dist/protocol/index.js.map +1 -1
- package/dist/speakeasy/index.js +2786 -38
- package/dist/speakeasy/index.js.map +1 -1
- package/dist/styles.css +1 -1
- package/dist/theme/index.js +1150 -3
- package/dist/theme/index.js.map +1 -1
- package/dist/vision/index.js +370 -2
- package/dist/vision/index.js.map +1 -1
- package/dist/workspace/index.js +16824 -2
- package/dist/workspace/index.js.map +1 -1
- package/package.json +16 -10
- package/dist/AuroraBackground-AP6ZHVFA.js +0 -6
- package/dist/AuroraBackground-AP6ZHVFA.js.map +0 -1
- package/dist/BentoGrid-CDARICNM.js +0 -6
- package/dist/BentoGrid-CDARICNM.js.map +0 -1
- package/dist/CommandPalette-JCWJKRBY.js +0 -6
- package/dist/CommandPalette-JCWJKRBY.js.map +0 -1
- package/dist/Glass-H4X4ZI4P.js +0 -7
- package/dist/Glass-H4X4ZI4P.js.map +0 -1
- package/dist/GlitchText-KLQ57PPY.js +0 -6
- package/dist/GlitchText-KLQ57PPY.js.map +0 -1
- package/dist/GlowButton-VGBPMZO7.js +0 -6
- package/dist/GlowButton-VGBPMZO7.js.map +0 -1
- package/dist/Graph3D-GO7N2EZQ.js +0 -540
- package/dist/Graph3D-GO7N2EZQ.js.map +0 -1
- package/dist/HUDProgressRing-N6C5NAEV.js +0 -6
- package/dist/HUDProgressRing-N6C5NAEV.js.map +0 -1
- package/dist/KPIStat-PBQK27ZB.js +0 -6
- package/dist/KPIStat-PBQK27ZB.js.map +0 -1
- package/dist/NeonToast-W5F7MU3U.js +0 -6
- package/dist/NeonToast-W5F7MU3U.js.map +0 -1
- package/dist/ParticleField-WK6CNHWU.js +0 -51
- package/dist/ParticleField-WK6CNHWU.js.map +0 -1
- package/dist/TextGenerateEffect-EUCEIIUJ.js +0 -6
- package/dist/TextGenerateEffect-EUCEIIUJ.js.map +0 -1
- package/dist/ThreeDCard-VH5I3SSY.js +0 -6
- package/dist/ThreeDCard-VH5I3SSY.js.map +0 -1
- package/dist/TypingAnimation-GIWOHPIX.js +0 -6
- package/dist/TypingAnimation-GIWOHPIX.js.map +0 -1
- package/dist/alert-dialog-QOSYBIIE.js +0 -19
- package/dist/alert-dialog-QOSYBIIE.js.map +0 -1
- package/dist/avatar-N5R37PCU.js +0 -10
- package/dist/avatar-N5R37PCU.js.map +0 -1
- package/dist/badge-GTVIIGPY.js +0 -8
- package/dist/badge-GTVIIGPY.js.map +0 -1
- package/dist/button-D7IMSV2D.js +0 -8
- package/dist/button-D7IMSV2D.js.map +0 -1
- package/dist/chunk-3CMPQOMY.js +0 -69
- package/dist/chunk-3CMPQOMY.js.map +0 -1
- package/dist/chunk-3OQT6IYR.js +0 -41
- package/dist/chunk-3OQT6IYR.js.map +0 -1
- package/dist/chunk-43B2WVLS.js +0 -85
- package/dist/chunk-43B2WVLS.js.map +0 -1
- package/dist/chunk-4SRFO5W3.js +0 -121
- package/dist/chunk-4SRFO5W3.js.map +0 -1
- package/dist/chunk-5IZELOOU.js +0 -362
- package/dist/chunk-5IZELOOU.js.map +0 -1
- package/dist/chunk-6DM4ACSS.js +0 -154
- package/dist/chunk-6DM4ACSS.js.map +0 -1
- package/dist/chunk-6IGT34PC.js +0 -50
- package/dist/chunk-6IGT34PC.js.map +0 -1
- package/dist/chunk-6RKBCJHN.js +0 -194
- package/dist/chunk-6RKBCJHN.js.map +0 -1
- package/dist/chunk-6RX2WGCO.js +0 -108
- package/dist/chunk-6RX2WGCO.js.map +0 -1
- package/dist/chunk-7K4WZM3U.js +0 -189
- package/dist/chunk-7K4WZM3U.js.map +0 -1
- package/dist/chunk-7MDBHJPT.js +0 -407
- package/dist/chunk-7MDBHJPT.js.map +0 -1
- package/dist/chunk-7UQD6ROV.js +0 -9
- package/dist/chunk-7UQD6ROV.js.map +0 -1
- package/dist/chunk-AFNIVLZP.js +0 -1069
- package/dist/chunk-AFNIVLZP.js.map +0 -1
- package/dist/chunk-ANWYRO6A.js +0 -407
- package/dist/chunk-ANWYRO6A.js.map +0 -1
- package/dist/chunk-DIXPOHDO.js +0 -71
- package/dist/chunk-DIXPOHDO.js.map +0 -1
- package/dist/chunk-DWYMKYPI.js +0 -3
- package/dist/chunk-DWYMKYPI.js.map +0 -1
- package/dist/chunk-E3NVDCZG.js +0 -280
- package/dist/chunk-E3NVDCZG.js.map +0 -1
- package/dist/chunk-EBM7YBKL.js +0 -399
- package/dist/chunk-EBM7YBKL.js.map +0 -1
- package/dist/chunk-EPAM7IWW.js +0 -294
- package/dist/chunk-EPAM7IWW.js.map +0 -1
- package/dist/chunk-EXQ7GYRS.js +0 -134
- package/dist/chunk-EXQ7GYRS.js.map +0 -1
- package/dist/chunk-F4QTUZ3C.js +0 -136
- package/dist/chunk-F4QTUZ3C.js.map +0 -1
- package/dist/chunk-FEW533R2.js +0 -105
- package/dist/chunk-FEW533R2.js.map +0 -1
- package/dist/chunk-FFZLJKC7.js +0 -270
- package/dist/chunk-FFZLJKC7.js.map +0 -1
- package/dist/chunk-GEAMOBF7.js +0 -8486
- package/dist/chunk-GEAMOBF7.js.map +0 -1
- package/dist/chunk-GRTRSCTD.js +0 -74
- package/dist/chunk-GRTRSCTD.js.map +0 -1
- package/dist/chunk-IKGYOGLK.js +0 -16
- package/dist/chunk-IKGYOGLK.js.map +0 -1
- package/dist/chunk-IQ7WYWVJ.js +0 -73
- package/dist/chunk-IQ7WYWVJ.js.map +0 -1
- package/dist/chunk-IXIVWQLF.js +0 -543
- package/dist/chunk-IXIVWQLF.js.map +0 -1
- package/dist/chunk-JCJU57RC.js +0 -115
- package/dist/chunk-JCJU57RC.js.map +0 -1
- package/dist/chunk-KORSTBU4.js +0 -117
- package/dist/chunk-KORSTBU4.js.map +0 -1
- package/dist/chunk-KSEZ6UM2.js +0 -235
- package/dist/chunk-KSEZ6UM2.js.map +0 -1
- package/dist/chunk-MHPF7R3O.js +0 -1376
- package/dist/chunk-MHPF7R3O.js.map +0 -1
- package/dist/chunk-MPC5IH7E.js +0 -81
- package/dist/chunk-MPC5IH7E.js.map +0 -1
- package/dist/chunk-MQIU2NYA.js +0 -114
- package/dist/chunk-MQIU2NYA.js.map +0 -1
- package/dist/chunk-NYMBJOGR.js +0 -2192
- package/dist/chunk-NYMBJOGR.js.map +0 -1
- package/dist/chunk-OBZD2M3C.js +0 -169
- package/dist/chunk-OBZD2M3C.js.map +0 -1
- package/dist/chunk-ODM2AG6G.js +0 -176
- package/dist/chunk-ODM2AG6G.js.map +0 -1
- package/dist/chunk-ONDKF5LP.js +0 -53
- package/dist/chunk-ONDKF5LP.js.map +0 -1
- package/dist/chunk-P25YCWQB.js +0 -41
- package/dist/chunk-P25YCWQB.js.map +0 -1
- package/dist/chunk-PFYVNM6H.js +0 -14
- package/dist/chunk-PFYVNM6H.js.map +0 -1
- package/dist/chunk-PWNNSGFL.js +0 -20
- package/dist/chunk-PWNNSGFL.js.map +0 -1
- package/dist/chunk-Q2PGZVOT.js +0 -36
- package/dist/chunk-Q2PGZVOT.js.map +0 -1
- package/dist/chunk-Q2XDMV7U.js +0 -76
- package/dist/chunk-Q2XDMV7U.js.map +0 -1
- package/dist/chunk-QG7FH2FI.js +0 -45
- package/dist/chunk-QG7FH2FI.js.map +0 -1
- package/dist/chunk-R7HUOK2D.js +0 -1914
- package/dist/chunk-R7HUOK2D.js.map +0 -1
- package/dist/chunk-REUYY7G5.js +0 -773
- package/dist/chunk-REUYY7G5.js.map +0 -1
- package/dist/chunk-RHC2Z2HT.js +0 -199
- package/dist/chunk-RHC2Z2HT.js.map +0 -1
- package/dist/chunk-RMCVLIFE.js +0 -23
- package/dist/chunk-RMCVLIFE.js.map +0 -1
- package/dist/chunk-ROZLTXGR.js +0 -234
- package/dist/chunk-ROZLTXGR.js.map +0 -1
- package/dist/chunk-RSS2C2O3.js +0 -17
- package/dist/chunk-RSS2C2O3.js.map +0 -1
- package/dist/chunk-SAGCG5SH.js +0 -355
- package/dist/chunk-SAGCG5SH.js.map +0 -1
- package/dist/chunk-TM6AOUSD.js +0 -40
- package/dist/chunk-TM6AOUSD.js.map +0 -1
- package/dist/chunk-TPK4BYCO.js +0 -970
- package/dist/chunk-TPK4BYCO.js.map +0 -1
- package/dist/chunk-UNQIL4K2.js +0 -34
- package/dist/chunk-UNQIL4K2.js.map +0 -1
- package/dist/chunk-UUG6L75Y.js +0 -47
- package/dist/chunk-UUG6L75Y.js.map +0 -1
- package/dist/chunk-V2SYMV4W.js +0 -114
- package/dist/chunk-V2SYMV4W.js.map +0 -1
- package/dist/chunk-V7EN5CTH.js +0 -130
- package/dist/chunk-V7EN5CTH.js.map +0 -1
- package/dist/chunk-VITKG2HL.js +0 -1125
- package/dist/chunk-VITKG2HL.js.map +0 -1
- package/dist/chunk-VYEWU5LO.js +0 -2631
- package/dist/chunk-VYEWU5LO.js.map +0 -1
- package/dist/chunk-W67QAGSH.js +0 -178
- package/dist/chunk-W67QAGSH.js.map +0 -1
- package/dist/chunk-WWBIN6KV.js +0 -1353
- package/dist/chunk-WWBIN6KV.js.map +0 -1
- package/dist/chunk-X77Z4PFB.js +0 -224
- package/dist/chunk-X77Z4PFB.js.map +0 -1
- package/dist/chunk-X7VG7OTT.js +0 -8
- package/dist/chunk-X7VG7OTT.js.map +0 -1
- package/dist/chunk-XE4K2SGI.js +0 -74
- package/dist/chunk-XE4K2SGI.js.map +0 -1
- package/dist/chunk-YIUG7IJK.js +0 -628
- package/dist/chunk-YIUG7IJK.js.map +0 -1
- package/dist/chunk-YNVN3V4Y.js +0 -13
- package/dist/chunk-YNVN3V4Y.js.map +0 -1
- package/dist/chunk-Z2S54IZX.js +0 -198
- package/dist/chunk-Z2S54IZX.js.map +0 -1
- package/dist/chunk-ZR6AH25Z.js +0 -17
- package/dist/chunk-ZR6AH25Z.js.map +0 -1
- package/dist/dialog-SPM3DTTI.js +0 -17
- package/dist/dialog-SPM3DTTI.js.map +0 -1
- package/dist/dropdown-menu-HMTWKWGK.js +0 -21
- package/dist/dropdown-menu-HMTWKWGK.js.map +0 -1
- package/dist/input-BH4P4S26.js +0 -6
- package/dist/input-BH4P4S26.js.map +0 -1
- package/dist/label-5Z4Q6VER.js +0 -8
- package/dist/label-5Z4Q6VER.js.map +0 -1
- package/dist/popover-IFOUXYLI.js +0 -18
- package/dist/popover-IFOUXYLI.js.map +0 -1
- package/dist/scroll-area-DJXNW6QX.js +0 -14
- package/dist/scroll-area-DJXNW6QX.js.map +0 -1
- package/dist/select-FZ277C3G.js +0 -22
- package/dist/select-FZ277C3G.js.map +0 -1
- package/dist/separator-BTMLN4NB.js +0 -8
- package/dist/separator-BTMLN4NB.js.map +0 -1
- package/dist/skeleton-DXIWBH4W.js +0 -6
- package/dist/skeleton-DXIWBH4W.js.map +0 -1
- package/dist/switch-4MCXIZBY.js +0 -13
- package/dist/switch-4MCXIZBY.js.map +0 -1
- package/dist/tabs-O7AW3APK.js +0 -17
- package/dist/tabs-O7AW3APK.js.map +0 -1
- package/dist/textarea-IB5WAFDO.js +0 -6
- package/dist/textarea-IB5WAFDO.js.map +0 -1
- package/dist/toggle-XVPPG6P4.js +0 -10
- package/dist/toggle-XVPPG6P4.js.map +0 -1
- package/dist/tooltip-JICZTD4F.js +0 -18
- package/dist/tooltip-JICZTD4F.js.map +0 -1
package/dist/chunk-GRTRSCTD.js
DELETED
|
@@ -1,74 +0,0 @@
|
|
|
1
|
-
import { cn } from './chunk-6RX2WGCO.js';
|
|
2
|
-
import { useState, useEffect } from 'react';
|
|
3
|
-
import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
|
|
4
|
-
|
|
5
|
-
var GlitchText = ({
|
|
6
|
-
variants,
|
|
7
|
-
interval = 3e3,
|
|
8
|
-
className,
|
|
9
|
-
steps,
|
|
10
|
-
onComplete
|
|
11
|
-
}) => {
|
|
12
|
-
const [index, setIndex] = useState(0);
|
|
13
|
-
const [isGlitching, setIsGlitching] = useState(false);
|
|
14
|
-
const [text, setText] = useState(variants[0]);
|
|
15
|
-
const [stepCount, setStepCount] = useState(0);
|
|
16
|
-
useEffect(() => {
|
|
17
|
-
if (typeof steps === "number" && stepCount >= steps) {
|
|
18
|
-
setIndex(variants.length - 1);
|
|
19
|
-
setText(variants[variants.length - 1]);
|
|
20
|
-
setIsGlitching(false);
|
|
21
|
-
onComplete?.();
|
|
22
|
-
return;
|
|
23
|
-
}
|
|
24
|
-
const timer = setInterval(() => {
|
|
25
|
-
setIsGlitching(true);
|
|
26
|
-
setTimeout(() => {
|
|
27
|
-
setIndex((prev) => (prev + 1) % variants.length);
|
|
28
|
-
setStepCount((prev) => prev + 1);
|
|
29
|
-
setIsGlitching(false);
|
|
30
|
-
}, 400);
|
|
31
|
-
}, interval);
|
|
32
|
-
return () => clearInterval(timer);
|
|
33
|
-
}, [variants, interval, steps, stepCount, onComplete]);
|
|
34
|
-
useEffect(() => {
|
|
35
|
-
if (isGlitching) {
|
|
36
|
-
const glitchInterval = setInterval(() => {
|
|
37
|
-
const chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890!@#$%^&*()";
|
|
38
|
-
const currentTarget = variants[(index + 1) % variants.length];
|
|
39
|
-
const randomText = currentTarget.split("").map(
|
|
40
|
-
(char) => Math.random() > 0.5 ? chars[Math.floor(Math.random() * chars.length)] : char
|
|
41
|
-
).join("");
|
|
42
|
-
setText(randomText);
|
|
43
|
-
}, 50);
|
|
44
|
-
return () => clearInterval(glitchInterval);
|
|
45
|
-
} else {
|
|
46
|
-
setText(variants[index]);
|
|
47
|
-
}
|
|
48
|
-
}, [isGlitching, index, variants]);
|
|
49
|
-
return /* @__PURE__ */ jsxs("span", { className: cn("relative inline-block", className), children: [
|
|
50
|
-
/* @__PURE__ */ jsx("span", { className: cn("block", isGlitching && "animate-glitch text-cyan-neon blur-[0.5px]"), children: text }),
|
|
51
|
-
isGlitching && /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
52
|
-
/* @__PURE__ */ jsx(
|
|
53
|
-
"span",
|
|
54
|
-
{
|
|
55
|
-
className: "absolute top-0 left-0 -ml-[2px] text-red-500 opacity-70 animate-glitch",
|
|
56
|
-
"aria-hidden": "true",
|
|
57
|
-
children: text
|
|
58
|
-
}
|
|
59
|
-
),
|
|
60
|
-
/* @__PURE__ */ jsx(
|
|
61
|
-
"span",
|
|
62
|
-
{
|
|
63
|
-
className: "absolute top-0 left-0 ml-[2px] text-blue-500 opacity-70 animate-glitch",
|
|
64
|
-
"aria-hidden": "true",
|
|
65
|
-
children: text
|
|
66
|
-
}
|
|
67
|
-
)
|
|
68
|
-
] })
|
|
69
|
-
] });
|
|
70
|
-
};
|
|
71
|
-
|
|
72
|
-
export { GlitchText };
|
|
73
|
-
//# sourceMappingURL=chunk-GRTRSCTD.js.map
|
|
74
|
-
//# sourceMappingURL=chunk-GRTRSCTD.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/primitives/atoms/GlitchText/GlitchText.tsx"],"names":[],"mappings":";;;;AAWO,IAAM,aAAa,CAAC;AAAA,EACzB,QAAA;AAAA,EACA,QAAA,GAAW,GAAA;AAAA,EACX,SAAA;AAAA,EACA,KAAA;AAAA,EACA;AACF,CAAA,KAAuB;AACrB,EAAA,MAAM,CAAC,KAAA,EAAO,QAAQ,CAAA,GAAI,SAAS,CAAC,CAAA;AACpC,EAAA,MAAM,CAAC,WAAA,EAAa,cAAc,CAAA,GAAI,SAAS,KAAK,CAAA;AACpD,EAAA,MAAM,CAAC,IAAA,EAAM,OAAO,IAAI,QAAA,CAAS,QAAA,CAAS,CAAC,CAAC,CAAA;AAC5C,EAAA,MAAM,CAAC,SAAA,EAAW,YAAY,CAAA,GAAI,SAAS,CAAC,CAAA;AAE5C,EAAA,SAAA,CAAU,MAAM;AACd,IAAA,IAAI,OAAO,KAAA,KAAU,QAAA,IAAY,SAAA,IAAa,KAAA,EAAO;AACnD,MAAA,QAAA,CAAS,QAAA,CAAS,SAAS,CAAC,CAAA;AAC5B,MAAA,OAAA,CAAQ,QAAA,CAAS,QAAA,CAAS,MAAA,GAAS,CAAC,CAAC,CAAA;AACrC,MAAA,cAAA,CAAe,KAAK,CAAA;AACpB,MAAA,UAAA,IAAa;AACb,MAAA;AAAA,IACF;AAEA,IAAA,MAAM,KAAA,GAAQ,YAAY,MAAM;AAC9B,MAAA,cAAA,CAAe,IAAI,CAAA;AACnB,MAAA,UAAA,CAAW,MAAM;AACf,QAAA,QAAA,CAAS,CAAC,IAAA,KAAA,CAAU,IAAA,GAAO,CAAA,IAAK,SAAS,MAAM,CAAA;AAC/C,QAAA,YAAA,CAAa,CAAC,IAAA,KAAS,IAAA,GAAO,CAAC,CAAA;AAC/B,QAAA,cAAA,CAAe,KAAK,CAAA;AAAA,MACtB,GAAG,GAAG,CAAA;AAAA,IACR,GAAG,QAAQ,CAAA;AAEX,IAAA,OAAO,MAAM,cAAc,KAAK,CAAA;AAAA,EAClC,GAAG,CAAC,QAAA,EAAU,UAAU,KAAA,EAAO,SAAA,EAAW,UAAU,CAAC,CAAA;AAGrD,EAAA,SAAA,CAAU,MAAM;AACd,IAAA,IAAI,WAAA,EAAa;AACf,MAAA,MAAM,cAAA,GAAiB,YAAY,MAAM;AACvC,QAAA,MAAM,KAAA,GAAQ,gDAAA;AACd,QAAA,MAAM,aAAA,GAAgB,QAAA,CAAA,CAAU,KAAA,GAAQ,CAAA,IAAK,SAAS,MAAM,CAAA;AAC5D,QAAA,MAAM,UAAA,GAAa,aAAA,CAChB,KAAA,CAAM,EAAE,CAAA,CACR,GAAA;AAAA,UAAI,CAAC,IAAA,KACJ,IAAA,CAAK,MAAA,KAAW,GAAA,GAAM,KAAA,CAAM,IAAA,CAAK,KAAA,CAAM,KAAK,MAAA,EAAO,GAAI,KAAA,CAAM,MAAM,CAAC,CAAA,GAAI;AAAA,SAC1E,CACC,KAAK,EAAE,CAAA;AACV,QAAA,OAAA,CAAQ,UAAU,CAAA;AAAA,MACpB,GAAG,EAAE,CAAA;AACL,MAAA,OAAO,MAAM,cAAc,cAAc,CAAA;AAAA,IAC3C,CAAA,MAAO;AACL,MAAA,OAAA,CAAQ,QAAA,CAAS,KAAK,CAAC,CAAA;AAAA,IACzB;AAAA,EACF,CAAA,EAAG,CAAC,WAAA,EAAa,KAAA,EAAO,QAAQ,CAAC,CAAA;AAEjC,EAAA,4BACG,MAAA,EAAA,EAAK,SAAA,EAAW,EAAA,CAAG,uBAAA,EAAyB,SAAS,CAAA,EACpD,QAAA,EAAA;AAAA,oBAAA,GAAA,CAAC,UAAK,SAAA,EAAW,EAAA,CAAG,SAAS,WAAA,IAAe,4CAA4C,GACrF,QAAA,EAAA,IAAA,EACH,CAAA;AAAA,IACC,+BACC,IAAA,CAAA,QAAA,EAAA,EACE,QAAA,EAAA;AAAA,sBAAA,GAAA;AAAA,QAAC,MAAA;AAAA,QAAA;AAAA,UACC,SAAA,EAAU,wEAAA;AAAA,UACV,aAAA,EAAY,MAAA;AAAA,UAEX,QAAA,EAAA;AAAA;AAAA,OACH;AAAA,sBACA,GAAA;AAAA,QAAC,MAAA;AAAA,QAAA;AAAA,UACC,SAAA,EAAU,wEAAA;AAAA,UACV,aAAA,EAAY,MAAA;AAAA,UAEX,QAAA,EAAA;AAAA;AAAA;AACH,KAAA,EACF;AAAA,GAAA,EAEJ,CAAA;AAEJ","file":"chunk-GRTRSCTD.js","sourcesContent":["import { cn } from \"../../../lib/utils\";\nimport { useEffect, useState } from \"react\";\n\nexport interface GlitchTextProps {\n variants: string[];\n interval?: number;\n className?: string;\n steps?: number;\n onComplete?: () => void;\n}\n\nexport const GlitchText = ({\n variants,\n interval = 3000,\n className,\n steps,\n onComplete,\n}: GlitchTextProps) => {\n const [index, setIndex] = useState(0);\n const [isGlitching, setIsGlitching] = useState(false);\n const [text, setText] = useState(variants[0]);\n const [stepCount, setStepCount] = useState(0);\n\n useEffect(() => {\n if (typeof steps === \"number\" && stepCount >= steps) {\n setIndex(variants.length - 1);\n setText(variants[variants.length - 1]);\n setIsGlitching(false);\n onComplete?.();\n return;\n }\n\n const timer = setInterval(() => {\n setIsGlitching(true);\n setTimeout(() => {\n setIndex((prev) => (prev + 1) % variants.length);\n setStepCount((prev) => prev + 1);\n setIsGlitching(false);\n }, 400); // Glitch duration\n }, interval);\n\n return () => clearInterval(timer);\n }, [variants, interval, steps, stepCount, onComplete]);\n\n // Simple glitch text effect during transition\n useEffect(() => {\n if (isGlitching) {\n const glitchInterval = setInterval(() => {\n const chars = \"ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890!@#$%^&*()\";\n const currentTarget = variants[(index + 1) % variants.length];\n const randomText = currentTarget\n .split(\"\")\n .map((char) =>\n Math.random() > 0.5 ? chars[Math.floor(Math.random() * chars.length)] : char\n )\n .join(\"\");\n setText(randomText);\n }, 50);\n return () => clearInterval(glitchInterval);\n } else {\n setText(variants[index]);\n }\n }, [isGlitching, index, variants]);\n\n return (\n <span className={cn(\"relative inline-block\", className)}>\n <span className={cn(\"block\", isGlitching && \"animate-glitch text-cyan-neon blur-[0.5px]\")}>\n {text}\n </span>\n {isGlitching && (\n <>\n <span\n className=\"absolute top-0 left-0 -ml-[2px] text-red-500 opacity-70 animate-glitch\"\n aria-hidden=\"true\"\n >\n {text}\n </span>\n <span\n className=\"absolute top-0 left-0 ml-[2px] text-blue-500 opacity-70 animate-glitch\"\n aria-hidden=\"true\"\n >\n {text}\n </span>\n </>\n )}\n </span>\n );\n};\n"]}
|
package/dist/chunk-IKGYOGLK.js
DELETED
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { useLayoutEffect2 } from './chunk-7UQD6ROV.js';
|
|
2
|
-
import * as React from 'react';
|
|
3
|
-
|
|
4
|
-
var useReactId = React[" useId ".trim().toString()] || (() => void 0);
|
|
5
|
-
var count = 0;
|
|
6
|
-
function useId(deterministicId) {
|
|
7
|
-
const [id, setId] = React.useState(useReactId());
|
|
8
|
-
useLayoutEffect2(() => {
|
|
9
|
-
if (!deterministicId) setId((reactId) => reactId ?? String(count++));
|
|
10
|
-
}, [deterministicId]);
|
|
11
|
-
return deterministicId || (id ? `radix-${id}` : "");
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
export { useId };
|
|
15
|
-
//# sourceMappingURL=chunk-IKGYOGLK.js.map
|
|
16
|
-
//# sourceMappingURL=chunk-IKGYOGLK.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../node_modules/@radix-ui/react-id/src/id.tsx"],"names":[],"mappings":";;;AAIA,IAAM,UAAA,GAAc,MAAc,SAAA,CAAU,IAAA,GAAO,QAAA,EAAU,MAAM,MAAM,MAAA,CAAA;AACzE,IAAI,KAAA,GAAQ,CAAA;AAEZ,SAAS,MAAM,eAAA,EAAkC;AAC/C,EAAA,MAAM,CAAC,EAAA,EAAI,KAAK,CAAA,GAAU,KAAA,CAAA,QAAA,CAA6B,YAAY,CAAA;AAEnE,EAAA,gBAAA,CAAgB,MAAM;AACpB,IAAA,IAAI,CAAC,iBAAiB,KAAA,CAAM,CAAC,YAAY,OAAA,IAAW,MAAA,CAAO,OAAO,CAAC,CAAA;EACrE,CAAA,EAAG,CAAC,eAAe,CAAC,CAAA;AACpB,EAAA,OAAO,eAAA,KAAoB,EAAA,GAAK,CAAA,MAAA,EAAS,EAAE,CAAA,CAAA,GAAK,EAAA,CAAA;AAClD","file":"chunk-IKGYOGLK.js","sourcesContent":["import * as React from 'react';\nimport { useLayoutEffect } from '@radix-ui/react-use-layout-effect';\n\n// We spaces with `.trim().toString()` to prevent bundlers from trying to `import { useId } from 'react';`\nconst useReactId = (React as any)[' useId '.trim().toString()] || (() => undefined);\nlet count = 0;\n\nfunction useId(deterministicId?: string): string {\n const [id, setId] = React.useState<string | undefined>(useReactId());\n // React versions older than 18 will have client-side ids only.\n useLayoutEffect(() => {\n if (!deterministicId) setId((reactId) => reactId ?? String(count++));\n }, [deterministicId]);\n return deterministicId || (id ? `radix-${id}` : '');\n}\n\nexport { useId };\n"]}
|
package/dist/chunk-IQ7WYWVJ.js
DELETED
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
import { createSlot } from './chunk-FEW533R2.js';
|
|
2
|
-
import { cn } from './chunk-6RX2WGCO.js';
|
|
3
|
-
import * as React from 'react';
|
|
4
|
-
import 'react-dom';
|
|
5
|
-
import { jsx } from 'react/jsx-runtime';
|
|
6
|
-
|
|
7
|
-
var NODES = [
|
|
8
|
-
"a",
|
|
9
|
-
"button",
|
|
10
|
-
"div",
|
|
11
|
-
"form",
|
|
12
|
-
"h2",
|
|
13
|
-
"h3",
|
|
14
|
-
"img",
|
|
15
|
-
"input",
|
|
16
|
-
"label",
|
|
17
|
-
"li",
|
|
18
|
-
"nav",
|
|
19
|
-
"ol",
|
|
20
|
-
"p",
|
|
21
|
-
"select",
|
|
22
|
-
"span",
|
|
23
|
-
"svg",
|
|
24
|
-
"ul"
|
|
25
|
-
];
|
|
26
|
-
var Primitive = NODES.reduce((primitive, node) => {
|
|
27
|
-
const Slot = createSlot(`Primitive.${node}`);
|
|
28
|
-
const Node = React.forwardRef((props, forwardedRef) => {
|
|
29
|
-
const { asChild, ...primitiveProps } = props;
|
|
30
|
-
const Comp = asChild ? Slot : node;
|
|
31
|
-
if (typeof window !== "undefined") {
|
|
32
|
-
window[/* @__PURE__ */ Symbol.for("radix-ui")] = true;
|
|
33
|
-
}
|
|
34
|
-
return /* @__PURE__ */ jsx(Comp, { ...primitiveProps, ref: forwardedRef });
|
|
35
|
-
});
|
|
36
|
-
Node.displayName = `Primitive.${node}`;
|
|
37
|
-
return { ...primitive, [node]: Node };
|
|
38
|
-
}, {});
|
|
39
|
-
var NAME = "Label";
|
|
40
|
-
var Label = React.forwardRef((props, forwardedRef) => {
|
|
41
|
-
return /* @__PURE__ */ jsx(
|
|
42
|
-
Primitive.label,
|
|
43
|
-
{
|
|
44
|
-
...props,
|
|
45
|
-
ref: forwardedRef,
|
|
46
|
-
onMouseDown: (event) => {
|
|
47
|
-
const target = event.target;
|
|
48
|
-
if (target.closest("button, input, select, textarea")) return;
|
|
49
|
-
props.onMouseDown?.(event);
|
|
50
|
-
if (!event.defaultPrevented && event.detail > 1) event.preventDefault();
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
);
|
|
54
|
-
});
|
|
55
|
-
Label.displayName = NAME;
|
|
56
|
-
var Root = Label;
|
|
57
|
-
function Label2({ className, ...props }) {
|
|
58
|
-
return /* @__PURE__ */ jsx(
|
|
59
|
-
Root,
|
|
60
|
-
{
|
|
61
|
-
"data-slot": "label",
|
|
62
|
-
className: cn(
|
|
63
|
-
"flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50",
|
|
64
|
-
className
|
|
65
|
-
),
|
|
66
|
-
...props
|
|
67
|
-
}
|
|
68
|
-
);
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
export { Label2 as Label };
|
|
72
|
-
//# sourceMappingURL=chunk-IQ7WYWVJ.js.map
|
|
73
|
-
//# sourceMappingURL=chunk-IQ7WYWVJ.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../node_modules/@radix-ui/react-label/node_modules/@radix-ui/react-primitive/src/primitive.tsx","../../../node_modules/@radix-ui/react-label/src/label.tsx","../src/primitives/ui/label.tsx"],"names":["React2","jsx","Label"],"mappings":";;;;;;AAIA,IAAM,KAAA,GAAQ;AACZ,EAAA,GAAA;AACA,EAAA,QAAA;AACA,EAAA,KAAA;AACA,EAAA,MAAA;AACA,EAAA,IAAA;AACA,EAAA,IAAA;AACA,EAAA,KAAA;AACA,EAAA,OAAA;AACA,EAAA,OAAA;AACA,EAAA,IAAA;AACA,EAAA,KAAA;AACA,EAAA,IAAA;AACA,EAAA,GAAA;AACA,EAAA,QAAA;AACA,EAAA,MAAA;AACA,EAAA,KAAA;AACA,EAAA;AACF,CAAA;AAcA,IAAM,SAAA,GAAY,KAAA,CAAM,MAAA,CAAO,CAAC,WAAW,IAAA,KAAS;AAClD,EAAA,MAAM,IAAA,GAAO,UAAA,CAAW,CAAA,UAAA,EAAa,IAAI,CAAA,CAAE,CAAA;AAC3C,EAAA,MAAM,IAAA,GAAa,KAAA,CAAA,UAAA,CAAW,CAAC,KAAA,EAA2C,YAAA,KAAsB;AAC9F,IAAA,MAAM,EAAE,OAAA,EAAS,GAAG,cAAA,EAAe,GAAI,KAAA;AACvC,IAAA,MAAM,IAAA,GAAY,UAAU,IAAA,GAAO,IAAA;AAEnC,IAAA,IAAI,OAAO,WAAW,WAAA,EAAa;AAChC,MAAA,MAAA,iBAAe,MAAA,CAAO,GAAA,CAAI,UAAU,CAAC,CAAA,GAAI,IAAA;AAC5C,IAAA;AAEA,IAAA,2BAAQ,IAAA,EAAA,EAAM,GAAG,cAAA,EAAgB,GAAA,EAAK,cAAc,CAAA;EACtD,CAAC,CAAA;AAED,EAAA,IAAA,CAAK,WAAA,GAAc,aAAa,IAAI,CAAA,CAAA;AAEpC,EAAA,OAAO,EAAE,GAAG,SAAA,EAAW,CAAC,IAAI,GAAG,IAAA,EAAK;AACtC,CAAA,EAAG,EAAgB,CAAA;AC7CnB,IAAM,IAAA,GAAO,OAAA;AAMb,IAAM,KAAA,GAAcA,KAAA,CAAA,UAAA,CAAqC,CAAC,KAAA,EAAO,YAAA,KAAiB;AAChF,EAAA,uBACEC,GAAAA;IAAC,SAAA,CAAU,KAAA;AAAV,IAAA;MACE,GAAG,KAAA;MACJ,GAAA,EAAK,YAAA;AACL,MAAA,WAAA,EAAa,CAAC,KAAA,KAAU;AAEtB,QAAA,MAAM,SAAS,KAAA,CAAM,MAAA;AACrB,QAAA,IAAI,MAAA,CAAO,OAAA,CAAQ,iCAAiC,CAAA,EAAG;AAEvD,QAAA,KAAA,CAAM,cAAc,KAAK,CAAA;AAEzB,QAAA,IAAI,CAAC,KAAA,CAAM,gBAAA,IAAoB,MAAM,MAAA,GAAS,CAAA,QAAS,cAAA,EAAe;AACxE,MAAA;AAAA;AACF,GAAA;AAEJ,CAAC,CAAA;AAED,KAAA,CAAM,WAAA,GAAc,IAAA;AAIpB,IAAM,IAAA,GAAO,KAAA;AC5Bb,SAASC,MAAAA,CAAM,EAAE,SAAA,EAAW,GAAG,OAAM,EAAqD;AACxF,EAAA,uBACED,GAAAA;AAAA,IAAgB,IAAA;AAAA,IAAf;AAAA,MACC,WAAA,EAAU,OAAA;AAAA,MACV,SAAA,EAAW,EAAA;AAAA,QACT,qNAAA;AAAA,QACA;AAAA,OACF;AAAA,MACC,GAAG;AAAA;AAAA,GACN;AAEJ","file":"chunk-IQ7WYWVJ.js","sourcesContent":["import * as React from 'react';\nimport * as ReactDOM from 'react-dom';\nimport { createSlot } from '@radix-ui/react-slot';\n\nconst NODES = [\n 'a',\n 'button',\n 'div',\n 'form',\n 'h2',\n 'h3',\n 'img',\n 'input',\n 'label',\n 'li',\n 'nav',\n 'ol',\n 'p',\n 'select',\n 'span',\n 'svg',\n 'ul',\n] as const;\n\ntype Primitives = { [E in (typeof NODES)[number]]: PrimitiveForwardRefComponent<E> };\ntype PrimitivePropsWithRef<E extends React.ElementType> = React.ComponentPropsWithRef<E> & {\n asChild?: boolean;\n};\n\ninterface PrimitiveForwardRefComponent<E extends React.ElementType>\n extends React.ForwardRefExoticComponent<PrimitivePropsWithRef<E>> {}\n\n/* -------------------------------------------------------------------------------------------------\n * Primitive\n * -----------------------------------------------------------------------------------------------*/\n\nconst Primitive = NODES.reduce((primitive, node) => {\n const Slot = createSlot(`Primitive.${node}`);\n const Node = React.forwardRef((props: PrimitivePropsWithRef<typeof node>, forwardedRef: any) => {\n const { asChild, ...primitiveProps } = props;\n const Comp: any = asChild ? Slot : node;\n\n if (typeof window !== 'undefined') {\n (window as any)[Symbol.for('radix-ui')] = true;\n }\n\n return <Comp {...primitiveProps} ref={forwardedRef} />;\n });\n\n Node.displayName = `Primitive.${node}`;\n\n return { ...primitive, [node]: Node };\n}, {} as Primitives);\n\n/* -------------------------------------------------------------------------------------------------\n * Utils\n * -----------------------------------------------------------------------------------------------*/\n\n/**\n * Flush custom event dispatch\n * https://github.com/radix-ui/primitives/pull/1378\n *\n * React batches *all* event handlers since version 18, this introduces certain considerations when using custom event types.\n *\n * Internally, React prioritises events in the following order:\n * - discrete\n * - continuous\n * - default\n *\n * https://github.com/facebook/react/blob/a8a4742f1c54493df00da648a3f9d26e3db9c8b5/packages/react-dom/src/events/ReactDOMEventListener.js#L294-L350\n *\n * `discrete` is an important distinction as updates within these events are applied immediately.\n * React however, is not able to infer the priority of custom event types due to how they are detected internally.\n * Because of this, it's possible for updates from custom events to be unexpectedly batched when\n * dispatched by another `discrete` event.\n *\n * In order to ensure that updates from custom events are applied predictably, we need to manually flush the batch.\n * This utility should be used when dispatching a custom event from within another `discrete` event, this utility\n * is not necessary when dispatching known event types, or if dispatching a custom type inside a non-discrete event.\n * For example:\n *\n * dispatching a known click 👎\n * target.dispatchEvent(new Event(‘click’))\n *\n * dispatching a custom type within a non-discrete event 👎\n * onScroll={(event) => event.target.dispatchEvent(new CustomEvent(‘customType’))}\n *\n * dispatching a custom type within a `discrete` event 👍\n * onPointerDown={(event) => dispatchDiscreteCustomEvent(event.target, new CustomEvent(‘customType’))}\n *\n * Note: though React classifies `focus`, `focusin` and `focusout` events as `discrete`, it's not recommended to use\n * this utility with them. This is because it's possible for those handlers to be called implicitly during render\n * e.g. when focus is within a component as it is unmounted, or when managing focus on mount.\n */\n\nfunction dispatchDiscreteCustomEvent<E extends CustomEvent>(target: E['target'], event: E) {\n if (target) ReactDOM.flushSync(() => target.dispatchEvent(event));\n}\n\n/* -----------------------------------------------------------------------------------------------*/\n\nconst Root = Primitive;\n\nexport {\n Primitive,\n //\n Root,\n //\n dispatchDiscreteCustomEvent,\n};\nexport type { PrimitivePropsWithRef };\n","import * as React from 'react';\nimport { Primitive } from '@radix-ui/react-primitive';\n\n/* -------------------------------------------------------------------------------------------------\n * Label\n * -----------------------------------------------------------------------------------------------*/\n\nconst NAME = 'Label';\n\ntype LabelElement = React.ComponentRef<typeof Primitive.label>;\ntype PrimitiveLabelProps = React.ComponentPropsWithoutRef<typeof Primitive.label>;\ninterface LabelProps extends PrimitiveLabelProps {}\n\nconst Label = React.forwardRef<LabelElement, LabelProps>((props, forwardedRef) => {\n return (\n <Primitive.label\n {...props}\n ref={forwardedRef}\n onMouseDown={(event) => {\n // only prevent text selection if clicking inside the label itself\n const target = event.target as HTMLElement;\n if (target.closest('button, input, select, textarea')) return;\n\n props.onMouseDown?.(event);\n // prevent text selection when double clicking label\n if (!event.defaultPrevented && event.detail > 1) event.preventDefault();\n }}\n />\n );\n});\n\nLabel.displayName = NAME;\n\n/* -----------------------------------------------------------------------------------------------*/\n\nconst Root = Label;\n\nexport {\n Label,\n //\n Root,\n};\nexport type { LabelProps };\n","\"use client\";\n\nimport * as React from \"react\";\nimport * as LabelPrimitive from \"@radix-ui/react-label\";\n\nimport { cn } from \"../../lib/utils\";\n\nfunction Label({ className, ...props }: React.ComponentProps<typeof LabelPrimitive.Root>) {\n return (\n <LabelPrimitive.Root\n data-slot=\"label\"\n className={cn(\n \"flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50\",\n className\n )}\n {...props}\n />\n );\n}\n\nexport { Label };\n"]}
|