@ansh-ui/react 0.2.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.
Files changed (111) hide show
  1. package/LICENSE +21 -0
  2. package/dist/chunk-5CFQFMP5.js +178 -0
  3. package/dist/chunk-5CFQFMP5.js.map +1 -0
  4. package/dist/chunk-6VRF7X5C.cjs +164 -0
  5. package/dist/chunk-6VRF7X5C.cjs.map +1 -0
  6. package/dist/chunk-AVPEA5PB.cjs +718 -0
  7. package/dist/chunk-AVPEA5PB.cjs.map +1 -0
  8. package/dist/chunk-C32LKF23.cjs +198 -0
  9. package/dist/chunk-C32LKF23.cjs.map +1 -0
  10. package/dist/chunk-C5JG6TMM.cjs +1200 -0
  11. package/dist/chunk-C5JG6TMM.cjs.map +1 -0
  12. package/dist/chunk-DATBU46V.cjs +614 -0
  13. package/dist/chunk-DATBU46V.cjs.map +1 -0
  14. package/dist/chunk-EGG4CP7C.js +320 -0
  15. package/dist/chunk-EGG4CP7C.js.map +1 -0
  16. package/dist/chunk-H34OXXJU.js +55 -0
  17. package/dist/chunk-H34OXXJU.js.map +1 -0
  18. package/dist/chunk-HO2YSF5O.js +187 -0
  19. package/dist/chunk-HO2YSF5O.js.map +1 -0
  20. package/dist/chunk-HPGCILO4.js +760 -0
  21. package/dist/chunk-HPGCILO4.js.map +1 -0
  22. package/dist/chunk-IBXLC5IE.js +154 -0
  23. package/dist/chunk-IBXLC5IE.js.map +1 -0
  24. package/dist/chunk-LDCZQP3R.js +1185 -0
  25. package/dist/chunk-LDCZQP3R.js.map +1 -0
  26. package/dist/chunk-LXCIXR5T.js +27 -0
  27. package/dist/chunk-LXCIXR5T.js.map +1 -0
  28. package/dist/chunk-O2PX54KX.js +94 -0
  29. package/dist/chunk-O2PX54KX.js.map +1 -0
  30. package/dist/chunk-OHBWBXLO.cjs +101 -0
  31. package/dist/chunk-OHBWBXLO.cjs.map +1 -0
  32. package/dist/chunk-OJN5JBNP.cjs +776 -0
  33. package/dist/chunk-OJN5JBNP.cjs.map +1 -0
  34. package/dist/chunk-OLTS6G5M.js +606 -0
  35. package/dist/chunk-OLTS6G5M.js.map +1 -0
  36. package/dist/chunk-PO5DU3FU.cjs +29 -0
  37. package/dist/chunk-PO5DU3FU.cjs.map +1 -0
  38. package/dist/chunk-QO3E7TJS.js +2940 -0
  39. package/dist/chunk-QO3E7TJS.js.map +1 -0
  40. package/dist/chunk-RHTLNSVW.cjs +2976 -0
  41. package/dist/chunk-RHTLNSVW.cjs.map +1 -0
  42. package/dist/chunk-SFU5EPSN.cjs +61 -0
  43. package/dist/chunk-SFU5EPSN.cjs.map +1 -0
  44. package/dist/chunk-T4AK2KLM.js +699 -0
  45. package/dist/chunk-T4AK2KLM.js.map +1 -0
  46. package/dist/chunk-WGYNCSTP.cjs +333 -0
  47. package/dist/chunk-WGYNCSTP.cjs.map +1 -0
  48. package/dist/chunk-XEP6P7E6.js +279 -0
  49. package/dist/chunk-XEP6P7E6.js.map +1 -0
  50. package/dist/chunk-XMXECSQO.cjs +286 -0
  51. package/dist/chunk-XMXECSQO.cjs.map +1 -0
  52. package/dist/chunk-ZWAFLHC2.cjs +181 -0
  53. package/dist/chunk-ZWAFLHC2.cjs.map +1 -0
  54. package/dist/data.cjs +71 -0
  55. package/dist/data.cjs.map +1 -0
  56. package/dist/data.d.cts +316 -0
  57. package/dist/data.d.ts +316 -0
  58. package/dist/data.js +6 -0
  59. package/dist/data.js.map +1 -0
  60. package/dist/form.cjs +153 -0
  61. package/dist/form.cjs.map +1 -0
  62. package/dist/form.d.cts +660 -0
  63. package/dist/form.d.ts +660 -0
  64. package/dist/form.js +8 -0
  65. package/dist/form.js.map +1 -0
  66. package/dist/index.cjs +1641 -0
  67. package/dist/index.cjs.map +1 -0
  68. package/dist/index.d.cts +552 -0
  69. package/dist/index.d.ts +552 -0
  70. package/dist/index.js +956 -0
  71. package/dist/index.js.map +1 -0
  72. package/dist/layout.cjs +68 -0
  73. package/dist/layout.cjs.map +1 -0
  74. package/dist/layout.d.cts +169 -0
  75. package/dist/layout.d.ts +169 -0
  76. package/dist/layout.js +7 -0
  77. package/dist/layout.js.map +1 -0
  78. package/dist/motion-CQmCq6_k.d.ts +395 -0
  79. package/dist/motion-CSX4g2N8.d.cts +395 -0
  80. package/dist/motion.cjs +79 -0
  81. package/dist/motion.cjs.map +1 -0
  82. package/dist/motion.d.cts +4 -0
  83. package/dist/motion.d.ts +4 -0
  84. package/dist/motion.js +6 -0
  85. package/dist/motion.js.map +1 -0
  86. package/dist/navigation.cjs +48 -0
  87. package/dist/navigation.cjs.map +1 -0
  88. package/dist/navigation.d.cts +210 -0
  89. package/dist/navigation.d.ts +210 -0
  90. package/dist/navigation.js +7 -0
  91. package/dist/navigation.js.map +1 -0
  92. package/dist/overlay.cjs +69 -0
  93. package/dist/overlay.cjs.map +1 -0
  94. package/dist/overlay.d.cts +330 -0
  95. package/dist/overlay.d.ts +330 -0
  96. package/dist/overlay.js +8 -0
  97. package/dist/overlay.js.map +1 -0
  98. package/dist/position-DVScKcaa.d.cts +66 -0
  99. package/dist/position-DVScKcaa.d.ts +66 -0
  100. package/dist/primitives.cjs +162 -0
  101. package/dist/primitives.cjs.map +1 -0
  102. package/dist/primitives.d.cts +294 -0
  103. package/dist/primitives.d.ts +294 -0
  104. package/dist/primitives.js +9 -0
  105. package/dist/primitives.js.map +1 -0
  106. package/dist/sidebar-D-PafAXw.d.cts +71 -0
  107. package/dist/sidebar-D-PafAXw.d.ts +71 -0
  108. package/dist/styles.css +5575 -0
  109. package/dist/use-observers-B9qtimrk.d.cts +99 -0
  110. package/dist/use-observers-B9qtimrk.d.ts +99 -0
  111. package/package.json +92 -0
package/dist/index.cjs ADDED
@@ -0,0 +1,1641 @@
1
+ 'use client';
2
+ 'use strict';
3
+
4
+ var chunkOHBWBXLO_cjs = require('./chunk-OHBWBXLO.cjs');
5
+ var chunkWGYNCSTP_cjs = require('./chunk-WGYNCSTP.cjs');
6
+ var chunkRHTLNSVW_cjs = require('./chunk-RHTLNSVW.cjs');
7
+ var chunkC5JG6TMM_cjs = require('./chunk-C5JG6TMM.cjs');
8
+ var chunkC32LKF23_cjs = require('./chunk-C32LKF23.cjs');
9
+ var chunkXMXECSQO_cjs = require('./chunk-XMXECSQO.cjs');
10
+ var chunkOJN5JBNP_cjs = require('./chunk-OJN5JBNP.cjs');
11
+ var chunkDATBU46V_cjs = require('./chunk-DATBU46V.cjs');
12
+ var chunkZWAFLHC2_cjs = require('./chunk-ZWAFLHC2.cjs');
13
+ var chunkPO5DU3FU_cjs = require('./chunk-PO5DU3FU.cjs');
14
+ var chunkAVPEA5PB_cjs = require('./chunk-AVPEA5PB.cjs');
15
+ var chunk6VRF7X5C_cjs = require('./chunk-6VRF7X5C.cjs');
16
+ var chunkSFU5EPSN_cjs = require('./chunk-SFU5EPSN.cjs');
17
+ var react = require('react');
18
+ var core = require('@ansh-ui/core');
19
+ var jsxRuntime = require('react/jsx-runtime');
20
+
21
+ var HOST_STYLE = {
22
+ position: "relative",
23
+ isolation: "isolate",
24
+ overflow: "hidden"
25
+ };
26
+ var CONTENT_STYLE = {
27
+ position: "relative",
28
+ zIndex: 1
29
+ };
30
+ function createEffectComponent(definition, displayName) {
31
+ const optionKeys = new Set(Object.keys(definition.defaults));
32
+ function Render(props, forwardedRef) {
33
+ const { as: Component2 = "div", className, style, children, ...rest } = props;
34
+ const hostRef = react.useRef(null);
35
+ const handleRef = react.useRef(null);
36
+ const mergedRef = chunk6VRF7X5C_cjs.useMergedRef(hostRef, forwardedRef);
37
+ const options = {};
38
+ const domProps = {};
39
+ for (const [key, value] of Object.entries(rest)) {
40
+ if (optionKeys.has(key)) options[key] = value;
41
+ else domProps[key] = value;
42
+ }
43
+ const optionsKey = stableKey(options);
44
+ const optionsRef = react.useRef(options);
45
+ optionsRef.current = options;
46
+ react.useEffect(() => {
47
+ const host = hostRef.current;
48
+ if (!host) return;
49
+ const handle = core.mountEffect(definition, host, optionsRef.current);
50
+ handleRef.current = handle;
51
+ return () => {
52
+ handle.destroy();
53
+ handleRef.current = null;
54
+ };
55
+ }, []);
56
+ react.useEffect(() => {
57
+ handleRef.current?.update(optionsRef.current);
58
+ }, [optionsKey]);
59
+ return /* @__PURE__ */ jsxRuntime.jsx(
60
+ Component2,
61
+ {
62
+ ref: mergedRef,
63
+ className,
64
+ style: { ...HOST_STYLE, ...style },
65
+ ...domProps,
66
+ children: children != null ? /* @__PURE__ */ jsxRuntime.jsx("div", { style: CONTENT_STYLE, children }) : null
67
+ }
68
+ );
69
+ }
70
+ const Component = react.forwardRef(Render);
71
+ Component.displayName = displayName ?? `Ansh(${definition.name})`;
72
+ return Component;
73
+ }
74
+ function stableKey(options) {
75
+ const keys = Object.keys(options).sort();
76
+ const parts = [];
77
+ for (const key of keys) {
78
+ const value = options[key];
79
+ if (typeof value === "function") {
80
+ parts.push(`${key}:fn`);
81
+ } else if (value === void 0) {
82
+ continue;
83
+ } else {
84
+ parts.push(`${key}:${JSON.stringify(value)}`);
85
+ }
86
+ }
87
+ return parts.join("|");
88
+ }
89
+ var AuroraBackground = createEffectComponent(core.aurora, "AuroraBackground");
90
+ var MeshGradient = createEffectComponent(core.meshGradient, "MeshGradient");
91
+ var AnimatedGradient = createEffectComponent(core.animatedGradient, "AnimatedGradient");
92
+ var ParticleField = createEffectComponent(core.particleField, "ParticleField");
93
+ var Constellation = createEffectComponent(core.constellation, "Constellation");
94
+ var MeteorShower = createEffectComponent(core.meteors, "MeteorShower");
95
+ var Rain = createEffectComponent(core.rain, "Rain");
96
+ var Snow = createEffectComponent(core.snow, "Snow");
97
+ var Fireflies = createEffectComponent(core.fireflies, "Fireflies");
98
+ var Waves = createEffectComponent(core.waves, "Waves");
99
+ var LiquidBlob = createEffectComponent(core.blob, "LiquidBlob");
100
+ var NoiseLayer = createEffectComponent(core.noiseLayer, "NoiseLayer");
101
+ var Spotlight = createEffectComponent(core.spotlight, "Spotlight");
102
+ var Button = react.forwardRef(function Button2({
103
+ variant = "solid",
104
+ size = "md",
105
+ as: Component = "button",
106
+ magneticStrength = 0,
107
+ ripple = false,
108
+ glowColors,
109
+ duration,
110
+ className,
111
+ style,
112
+ children,
113
+ ...rest
114
+ }, forwardedRef) {
115
+ const localRef = react.useRef(null);
116
+ const mergedRef = chunk6VRF7X5C_cjs.useMergedRef(localRef, forwardedRef);
117
+ chunkAVPEA5PB_cjs.useBehaviour(localRef, core.magnetic, {
118
+ strength: magneticStrength,
119
+ disabled: magneticStrength <= 0,
120
+ scale: magneticStrength > 0 ? 1.03 : 1
121
+ });
122
+ chunkAVPEA5PB_cjs.useBehaviour(localRef, core.ripple, { disabled: !ripple });
123
+ const classes = [
124
+ "ansh-btn",
125
+ `ansh-btn--${variant}`,
126
+ size !== "md" && `ansh-btn--${size}`,
127
+ "ansh-focusable",
128
+ className
129
+ ].filter(Boolean).join(" ");
130
+ const cssVars = {};
131
+ if (glowColors) {
132
+ cssVars["--ansh-glow-from"] = glowColors[0];
133
+ cssVars["--ansh-glow-via"] = glowColors[1];
134
+ cssVars["--ansh-glow-to"] = glowColors[0];
135
+ }
136
+ if (duration !== void 0) {
137
+ cssVars["--ansh-glow-duration"] = `${duration}s`;
138
+ cssVars["--ansh-shimmer-duration"] = `${duration}s`;
139
+ }
140
+ return /* @__PURE__ */ jsxRuntime.jsx(Component, { ref: mergedRef, className: classes, style: { ...cssVars, ...style }, ...rest, children });
141
+ });
142
+ var IconButton = react.forwardRef(function IconButton2({ label, className, ...rest }, ref) {
143
+ return /* @__PURE__ */ jsxRuntime.jsx(
144
+ Button,
145
+ {
146
+ ref,
147
+ "aria-label": label,
148
+ className: ["ansh-btn--icon", className].filter(Boolean).join(" "),
149
+ style: { padding: "var(--ansh-space-3)", aspectRatio: "1" },
150
+ ...rest
151
+ }
152
+ );
153
+ });
154
+ var SpotlightCard = react.forwardRef(function SpotlightCard2({ as: Component = "div", color, size, className, children, ...rest }, forwardedRef) {
155
+ const localRef = react.useRef(null);
156
+ const mergedRef = chunk6VRF7X5C_cjs.useMergedRef(localRef, forwardedRef);
157
+ react.useEffect(() => {
158
+ const node = localRef.current;
159
+ if (!node) return;
160
+ const onMove = (event) => {
161
+ const rect = node.getBoundingClientRect();
162
+ node.style.setProperty("--ansh-spot-x", `${event.clientX - rect.left}px`);
163
+ node.style.setProperty("--ansh-spot-y", `${event.clientY - rect.top}px`);
164
+ };
165
+ const onEnter = () => node.style.setProperty("--ansh-spot-opacity", "1");
166
+ const onLeave = () => node.style.setProperty("--ansh-spot-opacity", "0");
167
+ node.addEventListener("pointermove", onMove, { passive: true });
168
+ node.addEventListener("pointerenter", onEnter, { passive: true });
169
+ node.addEventListener("pointerleave", onLeave, { passive: true });
170
+ return () => {
171
+ node.removeEventListener("pointermove", onMove);
172
+ node.removeEventListener("pointerenter", onEnter);
173
+ node.removeEventListener("pointerleave", onLeave);
174
+ };
175
+ }, []);
176
+ const cssVars = {};
177
+ if (color) cssVars["--ansh-spot-color"] = color;
178
+ if (size) cssVars["--ansh-spot-size"] = `${size}px`;
179
+ return /* @__PURE__ */ jsxRuntime.jsx(
180
+ Component,
181
+ {
182
+ ref: mergedRef,
183
+ className: ["ansh-card", "ansh-card--spotlight", className].filter(Boolean).join(" "),
184
+ style: cssVars,
185
+ ...rest,
186
+ children
187
+ }
188
+ );
189
+ });
190
+ var GlowCard = react.forwardRef(function GlowCard2({ as: Component = "div", colors, duration, className, style, children, ...rest }, ref) {
191
+ const cssVars = {};
192
+ if (colors) {
193
+ cssVars["--ansh-glow-from"] = colors[0];
194
+ cssVars["--ansh-glow-via"] = colors[1];
195
+ cssVars["--ansh-glow-to"] = colors[0];
196
+ }
197
+ if (duration !== void 0) cssVars["--ansh-glow-duration"] = `${duration}s`;
198
+ return /* @__PURE__ */ jsxRuntime.jsx(
199
+ Component,
200
+ {
201
+ ref,
202
+ className: ["ansh-card", "ansh-card--glow", className].filter(Boolean).join(" "),
203
+ style: { ...cssVars, ...style },
204
+ ...rest,
205
+ children
206
+ }
207
+ );
208
+ });
209
+ var TiltCard3D = react.forwardRef(function TiltCard3D2({ as: Component = "div", max = 12, className, style, children, ...rest }, forwardedRef) {
210
+ const localRef = react.useRef(null);
211
+ const mergedRef = chunk6VRF7X5C_cjs.useMergedRef(localRef, forwardedRef);
212
+ react.useEffect(() => {
213
+ const node = localRef.current;
214
+ if (!node) return;
215
+ let pending = null;
216
+ const onMove = (event) => {
217
+ const rect = node.getBoundingClientRect();
218
+ pending = {
219
+ nx: (event.clientX - rect.left) / rect.width - 0.5,
220
+ ny: (event.clientY - rect.top) / rect.height - 0.5
221
+ };
222
+ };
223
+ const onLeave = () => {
224
+ pending = { nx: 0, ny: 0 };
225
+ };
226
+ node.addEventListener("pointermove", onMove, { passive: true });
227
+ node.addEventListener("pointerleave", onLeave, { passive: true });
228
+ const stop = core.getTicker().add(
229
+ () => {
230
+ if (!pending) return;
231
+ const { nx, ny } = pending;
232
+ node.style.transform = `perspective(800px) rotateX(${(-ny * max).toFixed(2)}deg) rotateY(${(nx * max).toFixed(2)}deg)`;
233
+ },
234
+ { phase: "write", name: "TiltCard3D" }
235
+ );
236
+ return () => {
237
+ node.removeEventListener("pointermove", onMove);
238
+ node.removeEventListener("pointerleave", onLeave);
239
+ stop();
240
+ };
241
+ }, [max]);
242
+ return /* @__PURE__ */ jsxRuntime.jsx(
243
+ Component,
244
+ {
245
+ ref: mergedRef,
246
+ className: ["ansh-card", className].filter(Boolean).join(" "),
247
+ style: { transition: "transform 400ms ease-out", ...style },
248
+ ...rest,
249
+ children
250
+ }
251
+ );
252
+ });
253
+ function BentoGrid({ columns = 3, className, style, children, ...rest }) {
254
+ return /* @__PURE__ */ jsxRuntime.jsx(
255
+ "div",
256
+ {
257
+ className: ["ansh-bento", className].filter(Boolean).join(" "),
258
+ style: { ["--ansh-bento-cols"]: columns, ...style },
259
+ ...rest,
260
+ children
261
+ }
262
+ );
263
+ }
264
+ function BentoItem({
265
+ span = 1,
266
+ rowSpan = 1,
267
+ className,
268
+ style,
269
+ children,
270
+ ...rest
271
+ }) {
272
+ return /* @__PURE__ */ jsxRuntime.jsx(
273
+ "div",
274
+ {
275
+ className: ["ansh-bento__item", "ansh-card", className].filter(Boolean).join(" "),
276
+ style: { ["--ansh-span"]: span, ["--ansh-row-span"]: rowSpan, ...style },
277
+ ...rest,
278
+ children
279
+ }
280
+ );
281
+ }
282
+ function Dock({
283
+ items,
284
+ size = 48,
285
+ magnification = 80,
286
+ distance = 140,
287
+ className,
288
+ ...rest
289
+ }) {
290
+ const dockRef = react.useRef(null);
291
+ const itemRefs = react.useRef([]);
292
+ react.useEffect(() => {
293
+ const dock = dockRef.current;
294
+ if (!dock) return;
295
+ let pointerX = null;
296
+ const sizes = items.map(() => size);
297
+ const onMove = (event) => {
298
+ pointerX = event.clientX;
299
+ };
300
+ const onLeave = () => {
301
+ pointerX = null;
302
+ };
303
+ dock.addEventListener("pointermove", onMove, { passive: true });
304
+ dock.addEventListener("pointerleave", onLeave, { passive: true });
305
+ const stop = core.getTicker().add(
306
+ ({ delta }) => {
307
+ const retain = Math.pow(1e-4, delta);
308
+ for (let i = 0; i < itemRefs.current.length; i++) {
309
+ const node = itemRefs.current[i];
310
+ if (!node) continue;
311
+ let target = size;
312
+ if (pointerX !== null) {
313
+ const rect = node.getBoundingClientRect();
314
+ const centre = rect.left + rect.width / 2;
315
+ const gap = Math.abs(pointerX - centre);
316
+ if (gap < distance) {
317
+ const falloff = (Math.cos(gap / distance * Math.PI) + 1) / 2;
318
+ target = size + (magnification - size) * falloff;
319
+ }
320
+ }
321
+ sizes[i] = target + (sizes[i] - target) * retain;
322
+ if (Math.abs(sizes[i] - target) < 0.1) sizes[i] = target;
323
+ node.style.width = `${sizes[i].toFixed(1)}px`;
324
+ node.style.height = `${sizes[i].toFixed(1)}px`;
325
+ }
326
+ },
327
+ { phase: "write", name: "Dock" }
328
+ );
329
+ return () => {
330
+ dock.removeEventListener("pointermove", onMove);
331
+ dock.removeEventListener("pointerleave", onLeave);
332
+ stop();
333
+ };
334
+ }, [items, size, magnification, distance]);
335
+ return /* @__PURE__ */ jsxRuntime.jsx(
336
+ "div",
337
+ {
338
+ ref: dockRef,
339
+ className: ["ansh-dock", className].filter(Boolean).join(" "),
340
+ role: "toolbar",
341
+ "aria-label": "Dock",
342
+ ...rest,
343
+ children: items.map((item, index) => {
344
+ const Tag = item.href ? "a" : "button";
345
+ return /* @__PURE__ */ jsxRuntime.jsxs(
346
+ Tag,
347
+ {
348
+ ref: (node) => {
349
+ itemRefs.current[index] = node;
350
+ },
351
+ className: "ansh-dock__item ansh-focusable",
352
+ style: { ["--ansh-dock-size"]: `${size}px` },
353
+ "aria-label": item.label,
354
+ onClick: item.onClick,
355
+ ...item.href ? { href: item.href } : { type: "button" },
356
+ children: [
357
+ item.icon,
358
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "ansh-dock__label", "aria-hidden": "true", children: item.label })
359
+ ]
360
+ },
361
+ item.label
362
+ );
363
+ })
364
+ }
365
+ );
366
+ }
367
+ function Typewriter({
368
+ words,
369
+ speed = 24,
370
+ deleteSpeed = 40,
371
+ pause = 1.6,
372
+ loop,
373
+ caret = true,
374
+ className,
375
+ ...rest
376
+ }) {
377
+ const list = react.useMemo(() => typeof words === "string" ? [words] : words, [words]);
378
+ const shouldLoop = loop ?? list.length > 1;
379
+ const [visible, setVisible] = react.useState("");
380
+ const reduced = core.prefersReducedMotion();
381
+ react.useEffect(() => {
382
+ if (reduced || list.length === 0) return;
383
+ let wordIndex = 0;
384
+ let charCount = 0;
385
+ let phase = "typing";
386
+ let timer = 0;
387
+ const stop = core.getTicker().add(
388
+ ({ delta }) => {
389
+ timer += delta;
390
+ const current = list[wordIndex] ?? "";
391
+ switch (phase) {
392
+ case "typing": {
393
+ const target = Math.min(current.length, Math.floor(timer * speed));
394
+ if (target !== charCount) {
395
+ charCount = target;
396
+ setVisible(current.slice(0, charCount));
397
+ }
398
+ if (charCount >= current.length) {
399
+ phase = "holding";
400
+ timer = 0;
401
+ }
402
+ break;
403
+ }
404
+ case "holding": {
405
+ if (timer >= pause) {
406
+ if (!shouldLoop && list.length === 1) {
407
+ stop();
408
+ return;
409
+ }
410
+ phase = "deleting";
411
+ timer = 0;
412
+ }
413
+ break;
414
+ }
415
+ case "deleting": {
416
+ const target = Math.max(0, current.length - Math.floor(timer * deleteSpeed));
417
+ if (target !== charCount) {
418
+ charCount = target;
419
+ setVisible(current.slice(0, charCount));
420
+ }
421
+ if (charCount === 0) {
422
+ wordIndex = (wordIndex + 1) % list.length;
423
+ if (wordIndex === 0 && !shouldLoop) {
424
+ stop();
425
+ return;
426
+ }
427
+ phase = "typing";
428
+ timer = 0;
429
+ }
430
+ break;
431
+ }
432
+ }
433
+ },
434
+ { phase: "compute", name: "Typewriter" }
435
+ );
436
+ return stop;
437
+ }, [list, speed, deleteSpeed, pause, shouldLoop, reduced]);
438
+ return /* @__PURE__ */ jsxRuntime.jsxs("span", { className, ...rest, children: [
439
+ /* @__PURE__ */ jsxRuntime.jsx(
440
+ "span",
441
+ {
442
+ style: {
443
+ position: "absolute",
444
+ width: 1,
445
+ height: 1,
446
+ overflow: "hidden",
447
+ clipPath: "inset(50%)",
448
+ whiteSpace: "nowrap"
449
+ },
450
+ children: list.join(", ")
451
+ }
452
+ ),
453
+ /* @__PURE__ */ jsxRuntime.jsxs("span", { "aria-hidden": "true", children: [
454
+ reduced ? list[0] : visible,
455
+ caret && !reduced ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "ansh-caret" }) : null
456
+ ] })
457
+ ] });
458
+ }
459
+ function ShinyText({ duration, className, style, children, ...rest }) {
460
+ return /* @__PURE__ */ jsxRuntime.jsx(
461
+ "span",
462
+ {
463
+ className: ["ansh-shiny", className].filter(Boolean).join(" "),
464
+ style: {
465
+ ...duration !== void 0 ? { ["--ansh-shiny-duration"]: `${duration}s` } : {},
466
+ ...style
467
+ },
468
+ ...rest,
469
+ children
470
+ }
471
+ );
472
+ }
473
+ function NumberTicker({
474
+ value,
475
+ duration = 1.4,
476
+ decimals = 0,
477
+ prefix = "",
478
+ suffix = "",
479
+ whenInView = true,
480
+ className,
481
+ ...rest
482
+ }) {
483
+ const [ref, inView] = chunk6VRF7X5C_cjs.useInView({ threshold: 0.3, once: true });
484
+ const displayRef = react.useRef(null);
485
+ const formatter = react.useRef(
486
+ new Intl.NumberFormat(void 0, {
487
+ minimumFractionDigits: decimals,
488
+ maximumFractionDigits: decimals
489
+ })
490
+ );
491
+ react.useEffect(() => {
492
+ formatter.current = new Intl.NumberFormat(void 0, {
493
+ minimumFractionDigits: decimals,
494
+ maximumFractionDigits: decimals
495
+ });
496
+ }, [decimals]);
497
+ react.useEffect(() => {
498
+ const node = displayRef.current;
499
+ if (!node) return;
500
+ const write = (n) => {
501
+ node.textContent = `${prefix}${formatter.current.format(n)}${suffix}`;
502
+ };
503
+ if (core.prefersReducedMotion()) {
504
+ write(value);
505
+ return;
506
+ }
507
+ if (whenInView && !inView) {
508
+ write(0);
509
+ return;
510
+ }
511
+ let elapsed = 0;
512
+ const stop = core.getTicker().add(
513
+ ({ delta }) => {
514
+ elapsed += delta;
515
+ const t = duration <= 0 ? 1 : Math.min(1, elapsed / duration);
516
+ const eased = t >= 1 ? 1 : 1 - Math.pow(2, -10 * t);
517
+ write(value * eased);
518
+ if (t >= 1) {
519
+ write(value);
520
+ stop();
521
+ }
522
+ },
523
+ { phase: "write", name: "NumberTicker" }
524
+ );
525
+ return stop;
526
+ }, [value, duration, prefix, suffix, whenInView, inView]);
527
+ return /* @__PURE__ */ jsxRuntime.jsxs("span", { ref, className, ...rest, children: [
528
+ /* @__PURE__ */ jsxRuntime.jsxs(
529
+ "span",
530
+ {
531
+ style: {
532
+ position: "absolute",
533
+ width: 1,
534
+ height: 1,
535
+ overflow: "hidden",
536
+ clipPath: "inset(50%)"
537
+ },
538
+ children: [
539
+ prefix,
540
+ value,
541
+ suffix
542
+ ]
543
+ }
544
+ ),
545
+ /* @__PURE__ */ jsxRuntime.jsx("span", { ref: displayRef, "aria-hidden": "true" })
546
+ ] });
547
+ }
548
+ function Spinner({
549
+ size = 24,
550
+ thickness = 3,
551
+ label = "Loading",
552
+ className,
553
+ style,
554
+ ...rest
555
+ }) {
556
+ return /* @__PURE__ */ jsxRuntime.jsx(
557
+ "span",
558
+ {
559
+ className: ["ansh-spinner", className].filter(Boolean).join(" "),
560
+ style: {
561
+ ["--ansh-size"]: `${size}px`,
562
+ ["--ansh-thickness"]: `${thickness}px`,
563
+ ...style
564
+ },
565
+ ...label ? { role: "status", "aria-label": label } : { "aria-hidden": "true" },
566
+ ...rest
567
+ }
568
+ );
569
+ }
570
+ function LoadingDots({ size = 8, label = "Loading", className, style, ...rest }) {
571
+ return /* @__PURE__ */ jsxRuntime.jsxs(
572
+ "span",
573
+ {
574
+ className: ["ansh-dots", className].filter(Boolean).join(" "),
575
+ style: { ["--ansh-size"]: `${size}px`, ...style },
576
+ ...label ? { role: "status", "aria-label": label } : { "aria-hidden": "true" },
577
+ ...rest,
578
+ children: [
579
+ /* @__PURE__ */ jsxRuntime.jsx("span", {}),
580
+ /* @__PURE__ */ jsxRuntime.jsx("span", {}),
581
+ /* @__PURE__ */ jsxRuntime.jsx("span", {})
582
+ ]
583
+ }
584
+ );
585
+ }
586
+ function Skeleton({
587
+ width = "100%",
588
+ height = "1em",
589
+ circle = false,
590
+ className,
591
+ style,
592
+ ...rest
593
+ }) {
594
+ return /* @__PURE__ */ jsxRuntime.jsx(
595
+ "div",
596
+ {
597
+ className: ["ansh-skeleton", className].filter(Boolean).join(" "),
598
+ "aria-hidden": "true",
599
+ style: {
600
+ width,
601
+ height,
602
+ ...circle ? { borderRadius: "50%", aspectRatio: "1" } : {},
603
+ ...style
604
+ },
605
+ ...rest
606
+ }
607
+ );
608
+ }
609
+ var ToastContext = react.createContext(null);
610
+ function ToastProvider({ children }) {
611
+ const [toasts, setToasts] = react.useState([]);
612
+ const [closing, setClosing] = react.useState(/* @__PURE__ */ new Set());
613
+ const timers = react.useRef(/* @__PURE__ */ new Map());
614
+ const dismiss = react.useCallback((id) => {
615
+ setClosing((prev) => new Set(prev).add(id));
616
+ const timer = setTimeout(() => {
617
+ setToasts((prev) => prev.filter((t) => t.id !== id));
618
+ setClosing((prev) => {
619
+ const next = new Set(prev);
620
+ next.delete(id);
621
+ return next;
622
+ });
623
+ }, 200);
624
+ timers.current.set(`${id}-exit`, timer);
625
+ }, []);
626
+ const toast = react.useCallback(
627
+ (input) => {
628
+ const id = `${Date.now()}-${Math.random().toString(36).slice(2, 8)}`;
629
+ const next = { id, duration: 4500, variant: "info", ...input };
630
+ setToasts((prev) => [...prev, next]);
631
+ if (next.duration && next.duration > 0) {
632
+ timers.current.set(
633
+ id,
634
+ setTimeout(() => dismiss(id), next.duration)
635
+ );
636
+ }
637
+ return id;
638
+ },
639
+ [dismiss]
640
+ );
641
+ react.useEffect(() => {
642
+ const map = timers.current;
643
+ return () => {
644
+ for (const timer of map.values()) clearTimeout(timer);
645
+ map.clear();
646
+ };
647
+ }, []);
648
+ const value = react.useMemo(() => ({ toast, dismiss }), [toast, dismiss]);
649
+ return /* @__PURE__ */ jsxRuntime.jsxs(ToastContext.Provider, { value, children: [
650
+ children,
651
+ /* @__PURE__ */ jsxRuntime.jsx(
652
+ "div",
653
+ {
654
+ className: "ansh-toaster",
655
+ role: "region",
656
+ "aria-live": "polite",
657
+ "aria-label": "Notifications",
658
+ children: toasts.map((t) => /* @__PURE__ */ jsxRuntime.jsxs(
659
+ "div",
660
+ {
661
+ className: `ansh-toast ansh-toast--${t.variant ?? "info"}`,
662
+ "data-state": closing.has(t.id) ? "closing" : "open",
663
+ children: [
664
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "ansh-toast__dot", "aria-hidden": "true" }),
665
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { style: { display: "grid", gap: 2 }, children: [
666
+ t.title ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "ansh-toast__title", children: t.title }) : null,
667
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "ansh-toast__body", children: t.message })
668
+ ] }),
669
+ /* @__PURE__ */ jsxRuntime.jsx(
670
+ "button",
671
+ {
672
+ type: "button",
673
+ onClick: () => dismiss(t.id),
674
+ "aria-label": "Dismiss notification",
675
+ className: "ansh-focusable",
676
+ style: {
677
+ marginLeft: "auto",
678
+ background: "none",
679
+ border: 0,
680
+ color: "inherit",
681
+ cursor: "pointer",
682
+ opacity: 0.6,
683
+ padding: 4
684
+ },
685
+ children: "\u2715"
686
+ }
687
+ )
688
+ ]
689
+ },
690
+ t.id
691
+ ))
692
+ }
693
+ )
694
+ ] });
695
+ }
696
+ function useToast() {
697
+ const context = react.useContext(ToastContext);
698
+ if (!context) {
699
+ throw new Error("[ansh] useToast() must be used inside a <ToastProvider>.");
700
+ }
701
+ return context;
702
+ }
703
+ function PricingTable({ plans, className }) {
704
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { className: ["ansh-pricing", className].filter(Boolean).join(" "), children: plans.map((plan) => /* @__PURE__ */ jsxRuntime.jsxs(
705
+ "div",
706
+ {
707
+ className: [
708
+ "ansh-card",
709
+ "ansh-plan",
710
+ plan.featured && "ansh-plan--featured",
711
+ plan.featured && "ansh-card--glow"
712
+ ].filter(Boolean).join(" "),
713
+ children: [
714
+ plan.featured ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "ansh-plan__badge", children: plan.badge ?? "Most popular" }) : null,
715
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
716
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "ansh-plan__name", children: plan.name }),
717
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "ansh-plan__price", children: [
718
+ /* @__PURE__ */ jsxRuntime.jsx("span", { children: plan.price }),
719
+ plan.period ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "ansh-plan__period", children: plan.period }) : null
720
+ ] })
721
+ ] }),
722
+ plan.description ? /* @__PURE__ */ jsxRuntime.jsx(
723
+ "p",
724
+ {
725
+ style: {
726
+ margin: 0,
727
+ fontSize: "var(--ansh-text-sm)",
728
+ color: "var(--ansh-content-secondary)"
729
+ },
730
+ children: plan.description
731
+ }
732
+ ) : null,
733
+ /* @__PURE__ */ jsxRuntime.jsx("ul", { className: "ansh-plan__features", children: plan.features.map((feature) => /* @__PURE__ */ jsxRuntime.jsxs("li", { children: [
734
+ /* @__PURE__ */ jsxRuntime.jsx("span", { "aria-hidden": "true", style: { color: "var(--ansh-state-success)" }, children: "\u2713" }),
735
+ /* @__PURE__ */ jsxRuntime.jsx("span", { children: feature })
736
+ ] }, feature)) }),
737
+ plan.cta ? /* @__PURE__ */ jsxRuntime.jsx(
738
+ Button,
739
+ {
740
+ as: plan.cta.href ? "a" : "button",
741
+ ...plan.cta.href ? { href: plan.cta.href } : {},
742
+ onClick: plan.cta.onClick,
743
+ variant: plan.cta.variant ?? (plan.featured ? "shimmer" : "ghost"),
744
+ style: { marginTop: "auto", width: "100%" },
745
+ children: plan.cta.label
746
+ }
747
+ ) : null
748
+ ]
749
+ },
750
+ plan.name
751
+ )) });
752
+ }
753
+ function FAQAccordion({
754
+ items,
755
+ multiple = false,
756
+ defaultOpen,
757
+ className
758
+ }) {
759
+ const [open, setOpen] = react.useState(
760
+ () => new Set(defaultOpen === void 0 ? [] : [defaultOpen])
761
+ );
762
+ const baseId = react.useId();
763
+ const toggle = (index) => {
764
+ setOpen((prev) => {
765
+ const next = new Set(multiple ? prev : []);
766
+ if (prev.has(index)) next.delete(index);
767
+ else next.add(index);
768
+ return next;
769
+ });
770
+ };
771
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { className: ["ansh-accordion", className].filter(Boolean).join(" "), children: items.map((item, index) => {
772
+ const isOpen = open.has(index);
773
+ const triggerId = `${baseId}-trigger-${index}`;
774
+ const panelId = `${baseId}-panel-${index}`;
775
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "ansh-accordion__item", children: [
776
+ /* @__PURE__ */ jsxRuntime.jsx("h3", { style: { margin: 0 }, children: /* @__PURE__ */ jsxRuntime.jsxs(
777
+ "button",
778
+ {
779
+ id: triggerId,
780
+ type: "button",
781
+ className: "ansh-accordion__trigger ansh-focusable",
782
+ "aria-expanded": isOpen,
783
+ "aria-controls": panelId,
784
+ onClick: () => toggle(index),
785
+ children: [
786
+ /* @__PURE__ */ jsxRuntime.jsx("span", { children: item.question }),
787
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "ansh-accordion__icon", "aria-hidden": "true", children: "+" })
788
+ ]
789
+ }
790
+ ) }),
791
+ /* @__PURE__ */ jsxRuntime.jsx(
792
+ "div",
793
+ {
794
+ id: panelId,
795
+ role: "region",
796
+ "aria-labelledby": triggerId,
797
+ className: "ansh-accordion__panel",
798
+ "data-open": isOpen,
799
+ ...isOpen ? {} : { inert: true },
800
+ children: /* @__PURE__ */ jsxRuntime.jsx("div", { children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "ansh-accordion__body", children: item.answer }) })
801
+ }
802
+ )
803
+ ] }, item.question);
804
+ }) });
805
+ }
806
+ var ICONS = {
807
+ info: /* @__PURE__ */ jsxRuntime.jsxs(
808
+ "svg",
809
+ {
810
+ viewBox: "0 0 20 20",
811
+ width: "18",
812
+ height: "18",
813
+ fill: "none",
814
+ stroke: "currentColor",
815
+ strokeWidth: "1.6",
816
+ children: [
817
+ /* @__PURE__ */ jsxRuntime.jsx("circle", { cx: "10", cy: "10", r: "7.5" }),
818
+ /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M10 9v4.5", strokeLinecap: "round" }),
819
+ /* @__PURE__ */ jsxRuntime.jsx("circle", { cx: "10", cy: "6.5", r: "0.9", fill: "currentColor", stroke: "none" })
820
+ ]
821
+ }
822
+ ),
823
+ success: /* @__PURE__ */ jsxRuntime.jsxs(
824
+ "svg",
825
+ {
826
+ viewBox: "0 0 20 20",
827
+ width: "18",
828
+ height: "18",
829
+ fill: "none",
830
+ stroke: "currentColor",
831
+ strokeWidth: "1.6",
832
+ children: [
833
+ /* @__PURE__ */ jsxRuntime.jsx("circle", { cx: "10", cy: "10", r: "7.5" }),
834
+ /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M6.5 10.3l2.4 2.4 4.6-5.2", strokeLinecap: "round", strokeLinejoin: "round" })
835
+ ]
836
+ }
837
+ ),
838
+ warning: /* @__PURE__ */ jsxRuntime.jsxs(
839
+ "svg",
840
+ {
841
+ viewBox: "0 0 20 20",
842
+ width: "18",
843
+ height: "18",
844
+ fill: "none",
845
+ stroke: "currentColor",
846
+ strokeWidth: "1.6",
847
+ children: [
848
+ /* @__PURE__ */ jsxRuntime.jsx(
849
+ "path",
850
+ {
851
+ d: "M8.6 3.2L1.9 14.6a1.6 1.6 0 001.4 2.4h13.4a1.6 1.6 0 001.4-2.4L11.4 3.2a1.6 1.6 0 00-2.8 0z",
852
+ strokeLinejoin: "round"
853
+ }
854
+ ),
855
+ /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M10 7.5v3.5", strokeLinecap: "round" }),
856
+ /* @__PURE__ */ jsxRuntime.jsx("circle", { cx: "10", cy: "13.6", r: "0.9", fill: "currentColor", stroke: "none" })
857
+ ]
858
+ }
859
+ ),
860
+ danger: /* @__PURE__ */ jsxRuntime.jsxs(
861
+ "svg",
862
+ {
863
+ viewBox: "0 0 20 20",
864
+ width: "18",
865
+ height: "18",
866
+ fill: "none",
867
+ stroke: "currentColor",
868
+ strokeWidth: "1.6",
869
+ children: [
870
+ /* @__PURE__ */ jsxRuntime.jsx("circle", { cx: "10", cy: "10", r: "7.5" }),
871
+ /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M7.5 7.5l5 5M12.5 7.5l-5 5", strokeLinecap: "round" })
872
+ ]
873
+ }
874
+ ),
875
+ neutral: null
876
+ };
877
+ function Alert({
878
+ tone = "info",
879
+ title,
880
+ children,
881
+ icon,
882
+ dismissible = false,
883
+ onDismiss,
884
+ actions,
885
+ variant = "soft",
886
+ className
887
+ }) {
888
+ const [visible, setVisible] = react.useState(true);
889
+ if (!visible) return null;
890
+ const urgent = tone === "danger" || tone === "warning";
891
+ const resolvedIcon = icon === void 0 ? ICONS[tone] : icon;
892
+ return /* @__PURE__ */ jsxRuntime.jsxs(
893
+ "div",
894
+ {
895
+ className: chunkSFU5EPSN_cjs.cx("ansh-alert", `ansh-alert--${tone}`, `ansh-alert--${variant}`, className),
896
+ role: urgent ? "alert" : "status",
897
+ "aria-live": urgent ? "assertive" : "polite",
898
+ children: [
899
+ resolvedIcon ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "ansh-alert__icon", "aria-hidden": "true", children: resolvedIcon }) : null,
900
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "ansh-alert__body", children: [
901
+ title ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "ansh-alert__title", children: title }) : null,
902
+ children ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "ansh-alert__message", children }) : null,
903
+ actions ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "ansh-alert__actions", children: actions }) : null
904
+ ] }),
905
+ dismissible ? /* @__PURE__ */ jsxRuntime.jsx(
906
+ "button",
907
+ {
908
+ type: "button",
909
+ className: "ansh-alert__close ansh-focusable",
910
+ "aria-label": "Dismiss message",
911
+ onClick: () => {
912
+ setVisible(false);
913
+ onDismiss?.();
914
+ },
915
+ children: /* @__PURE__ */ jsxRuntime.jsx("svg", { viewBox: "0 0 16 16", width: "12", height: "12", "aria-hidden": "true", children: /* @__PURE__ */ jsxRuntime.jsx(
916
+ "path",
917
+ {
918
+ d: "M4 4l8 8M12 4l-8 8",
919
+ stroke: "currentColor",
920
+ strokeWidth: "1.75",
921
+ strokeLinecap: "round",
922
+ fill: "none"
923
+ }
924
+ ) })
925
+ }
926
+ ) : null
927
+ ]
928
+ }
929
+ );
930
+ }
931
+ function Banner({ sticky = false, className, ...rest }) {
932
+ return /* @__PURE__ */ jsxRuntime.jsx(
933
+ Alert,
934
+ {
935
+ variant: "solid",
936
+ className: chunkSFU5EPSN_cjs.cx("ansh-banner", sticky && "ansh-banner--sticky", className),
937
+ ...rest
938
+ }
939
+ );
940
+ }
941
+ function Callout({ label, tone = "info", icon, className, children }) {
942
+ return /* @__PURE__ */ jsxRuntime.jsxs("aside", { className: chunkSFU5EPSN_cjs.cx("ansh-callout", `ansh-callout--${tone}`, className), children: [
943
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "ansh-callout__icon", "aria-hidden": "true", children: icon ?? ICONS[tone] }),
944
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "ansh-callout__body", children: [
945
+ label ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "ansh-callout__label", children: label }) : null,
946
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "ansh-callout__content", children })
947
+ ] })
948
+ ] });
949
+ }
950
+ var VERSION = "0.1.0";
951
+
952
+ Object.defineProperty(exports, "useAnimate", {
953
+ enumerable: true,
954
+ get: function () { return chunkOHBWBXLO_cjs.useAnimate; }
955
+ });
956
+ Object.defineProperty(exports, "useIsMounted", {
957
+ enumerable: true,
958
+ get: function () { return chunkOHBWBXLO_cjs.useIsMounted; }
959
+ });
960
+ Object.defineProperty(exports, "useMotionStyle", {
961
+ enumerable: true,
962
+ get: function () { return chunkOHBWBXLO_cjs.useMotionStyle; }
963
+ });
964
+ Object.defineProperty(exports, "useMotionValue", {
965
+ enumerable: true,
966
+ get: function () { return chunkOHBWBXLO_cjs.useMotionValue; }
967
+ });
968
+ Object.defineProperty(exports, "useMotionValueState", {
969
+ enumerable: true,
970
+ get: function () { return chunkOHBWBXLO_cjs.useMotionValueState; }
971
+ });
972
+ Object.defineProperty(exports, "useSpringValue", {
973
+ enumerable: true,
974
+ get: function () { return chunkOHBWBXLO_cjs.useSpringValue; }
975
+ });
976
+ Object.defineProperty(exports, "AspectRatio", {
977
+ enumerable: true,
978
+ get: function () { return chunkWGYNCSTP_cjs.AspectRatio; }
979
+ });
980
+ Object.defineProperty(exports, "Center", {
981
+ enumerable: true,
982
+ get: function () { return chunkWGYNCSTP_cjs.Center; }
983
+ });
984
+ Object.defineProperty(exports, "Container", {
985
+ enumerable: true,
986
+ get: function () { return chunkWGYNCSTP_cjs.Container; }
987
+ });
988
+ Object.defineProperty(exports, "Divider", {
989
+ enumerable: true,
990
+ get: function () { return chunkWGYNCSTP_cjs.Divider; }
991
+ });
992
+ Object.defineProperty(exports, "Grid", {
993
+ enumerable: true,
994
+ get: function () { return chunkWGYNCSTP_cjs.Grid; }
995
+ });
996
+ Object.defineProperty(exports, "GridItem", {
997
+ enumerable: true,
998
+ get: function () { return chunkWGYNCSTP_cjs.GridItem; }
999
+ });
1000
+ Object.defineProperty(exports, "HStack", {
1001
+ enumerable: true,
1002
+ get: function () { return chunkWGYNCSTP_cjs.HStack; }
1003
+ });
1004
+ Object.defineProperty(exports, "Resizable", {
1005
+ enumerable: true,
1006
+ get: function () { return chunkWGYNCSTP_cjs.Resizable; }
1007
+ });
1008
+ Object.defineProperty(exports, "ScrollArea", {
1009
+ enumerable: true,
1010
+ get: function () { return chunkWGYNCSTP_cjs.ScrollArea; }
1011
+ });
1012
+ Object.defineProperty(exports, "Spacer", {
1013
+ enumerable: true,
1014
+ get: function () { return chunkWGYNCSTP_cjs.Spacer; }
1015
+ });
1016
+ Object.defineProperty(exports, "Stack", {
1017
+ enumerable: true,
1018
+ get: function () { return chunkWGYNCSTP_cjs.Stack; }
1019
+ });
1020
+ Object.defineProperty(exports, "VStack", {
1021
+ enumerable: true,
1022
+ get: function () { return chunkWGYNCSTP_cjs.VStack; }
1023
+ });
1024
+ Object.defineProperty(exports, "Calendar", {
1025
+ enumerable: true,
1026
+ get: function () { return chunkRHTLNSVW_cjs.Calendar; }
1027
+ });
1028
+ Object.defineProperty(exports, "Checkbox", {
1029
+ enumerable: true,
1030
+ get: function () { return chunkRHTLNSVW_cjs.Checkbox; }
1031
+ });
1032
+ Object.defineProperty(exports, "ChoiceCard", {
1033
+ enumerable: true,
1034
+ get: function () { return chunkRHTLNSVW_cjs.ChoiceCard; }
1035
+ });
1036
+ Object.defineProperty(exports, "ColorPicker", {
1037
+ enumerable: true,
1038
+ get: function () { return chunkRHTLNSVW_cjs.ColorPicker; }
1039
+ });
1040
+ Object.defineProperty(exports, "Combobox", {
1041
+ enumerable: true,
1042
+ get: function () { return chunkRHTLNSVW_cjs.Combobox; }
1043
+ });
1044
+ Object.defineProperty(exports, "DatePicker", {
1045
+ enumerable: true,
1046
+ get: function () { return chunkRHTLNSVW_cjs.DatePicker; }
1047
+ });
1048
+ Object.defineProperty(exports, "DateRangePicker", {
1049
+ enumerable: true,
1050
+ get: function () { return chunkRHTLNSVW_cjs.DateRangePicker; }
1051
+ });
1052
+ Object.defineProperty(exports, "Dropzone", {
1053
+ enumerable: true,
1054
+ get: function () { return chunkRHTLNSVW_cjs.Dropzone; }
1055
+ });
1056
+ Object.defineProperty(exports, "Field", {
1057
+ enumerable: true,
1058
+ get: function () { return chunkRHTLNSVW_cjs.Field; }
1059
+ });
1060
+ Object.defineProperty(exports, "Fieldset", {
1061
+ enumerable: true,
1062
+ get: function () { return chunkRHTLNSVW_cjs.Fieldset; }
1063
+ });
1064
+ Object.defineProperty(exports, "Input", {
1065
+ enumerable: true,
1066
+ get: function () { return chunkRHTLNSVW_cjs.Input; }
1067
+ });
1068
+ Object.defineProperty(exports, "NumberInput", {
1069
+ enumerable: true,
1070
+ get: function () { return chunkRHTLNSVW_cjs.NumberInput; }
1071
+ });
1072
+ Object.defineProperty(exports, "OptionList", {
1073
+ enumerable: true,
1074
+ get: function () { return chunkRHTLNSVW_cjs.OptionList; }
1075
+ });
1076
+ Object.defineProperty(exports, "PinInput", {
1077
+ enumerable: true,
1078
+ get: function () { return chunkRHTLNSVW_cjs.PinInput; }
1079
+ });
1080
+ Object.defineProperty(exports, "Radio", {
1081
+ enumerable: true,
1082
+ get: function () { return chunkRHTLNSVW_cjs.Radio; }
1083
+ });
1084
+ Object.defineProperty(exports, "RadioGroup", {
1085
+ enumerable: true,
1086
+ get: function () { return chunkRHTLNSVW_cjs.RadioGroup; }
1087
+ });
1088
+ Object.defineProperty(exports, "RangeSlider", {
1089
+ enumerable: true,
1090
+ get: function () { return chunkRHTLNSVW_cjs.RangeSlider; }
1091
+ });
1092
+ Object.defineProperty(exports, "Rating", {
1093
+ enumerable: true,
1094
+ get: function () { return chunkRHTLNSVW_cjs.Rating; }
1095
+ });
1096
+ Object.defineProperty(exports, "Select", {
1097
+ enumerable: true,
1098
+ get: function () { return chunkRHTLNSVW_cjs.Select; }
1099
+ });
1100
+ Object.defineProperty(exports, "Slider", {
1101
+ enumerable: true,
1102
+ get: function () { return chunkRHTLNSVW_cjs.Slider; }
1103
+ });
1104
+ Object.defineProperty(exports, "Switch", {
1105
+ enumerable: true,
1106
+ get: function () { return chunkRHTLNSVW_cjs.Switch; }
1107
+ });
1108
+ Object.defineProperty(exports, "TagsInput", {
1109
+ enumerable: true,
1110
+ get: function () { return chunkRHTLNSVW_cjs.TagsInput; }
1111
+ });
1112
+ Object.defineProperty(exports, "Textarea", {
1113
+ enumerable: true,
1114
+ get: function () { return chunkRHTLNSVW_cjs.Textarea; }
1115
+ });
1116
+ Object.defineProperty(exports, "VisuallyHidden", {
1117
+ enumerable: true,
1118
+ get: function () { return chunkRHTLNSVW_cjs.VisuallyHidden; }
1119
+ });
1120
+ Object.defineProperty(exports, "addDays", {
1121
+ enumerable: true,
1122
+ get: function () { return chunkRHTLNSVW_cjs.addDays; }
1123
+ });
1124
+ Object.defineProperty(exports, "addMonths", {
1125
+ enumerable: true,
1126
+ get: function () { return chunkRHTLNSVW_cjs.addMonths; }
1127
+ });
1128
+ Object.defineProperty(exports, "filterOptions", {
1129
+ enumerable: true,
1130
+ get: function () { return chunkRHTLNSVW_cjs.filterOptions; }
1131
+ });
1132
+ Object.defineProperty(exports, "firstEnabled", {
1133
+ enumerable: true,
1134
+ get: function () { return chunkRHTLNSVW_cjs.firstEnabled; }
1135
+ });
1136
+ Object.defineProperty(exports, "isSameDay", {
1137
+ enumerable: true,
1138
+ get: function () { return chunkRHTLNSVW_cjs.isSameDay; }
1139
+ });
1140
+ Object.defineProperty(exports, "scoreOption", {
1141
+ enumerable: true,
1142
+ get: function () { return chunkRHTLNSVW_cjs.scoreOption; }
1143
+ });
1144
+ Object.defineProperty(exports, "startOfDay", {
1145
+ enumerable: true,
1146
+ get: function () { return chunkRHTLNSVW_cjs.startOfDay; }
1147
+ });
1148
+ Object.defineProperty(exports, "stepActive", {
1149
+ enumerable: true,
1150
+ get: function () { return chunkRHTLNSVW_cjs.stepActive; }
1151
+ });
1152
+ Object.defineProperty(exports, "useFieldContext", {
1153
+ enumerable: true,
1154
+ get: function () { return chunkRHTLNSVW_cjs.useFieldContext; }
1155
+ });
1156
+ Object.defineProperty(exports, "useFieldControl", {
1157
+ enumerable: true,
1158
+ get: function () { return chunkRHTLNSVW_cjs.useFieldControl; }
1159
+ });
1160
+ Object.defineProperty(exports, "useTypeahead", {
1161
+ enumerable: true,
1162
+ get: function () { return chunkRHTLNSVW_cjs.useTypeahead; }
1163
+ });
1164
+ Object.defineProperty(exports, "AlertDialog", {
1165
+ enumerable: true,
1166
+ get: function () { return chunkC5JG6TMM_cjs.AlertDialog; }
1167
+ });
1168
+ Object.defineProperty(exports, "CommandPalette", {
1169
+ enumerable: true,
1170
+ get: function () { return chunkC5JG6TMM_cjs.CommandPalette; }
1171
+ });
1172
+ Object.defineProperty(exports, "ContextMenu", {
1173
+ enumerable: true,
1174
+ get: function () { return chunkC5JG6TMM_cjs.ContextMenu; }
1175
+ });
1176
+ Object.defineProperty(exports, "Dialog", {
1177
+ enumerable: true,
1178
+ get: function () { return chunkC5JG6TMM_cjs.Dialog; }
1179
+ });
1180
+ Object.defineProperty(exports, "DialogFooter", {
1181
+ enumerable: true,
1182
+ get: function () { return chunkC5JG6TMM_cjs.DialogFooter; }
1183
+ });
1184
+ Object.defineProperty(exports, "Drawer", {
1185
+ enumerable: true,
1186
+ get: function () { return chunkC5JG6TMM_cjs.Drawer; }
1187
+ });
1188
+ Object.defineProperty(exports, "DropdownMenu", {
1189
+ enumerable: true,
1190
+ get: function () { return chunkC5JG6TMM_cjs.DropdownMenu; }
1191
+ });
1192
+ Object.defineProperty(exports, "HoverCard", {
1193
+ enumerable: true,
1194
+ get: function () { return chunkC5JG6TMM_cjs.HoverCard; }
1195
+ });
1196
+ Object.defineProperty(exports, "Popover", {
1197
+ enumerable: true,
1198
+ get: function () { return chunkC5JG6TMM_cjs.Popover; }
1199
+ });
1200
+ Object.defineProperty(exports, "PopoverContent", {
1201
+ enumerable: true,
1202
+ get: function () { return chunkC5JG6TMM_cjs.PopoverContent; }
1203
+ });
1204
+ Object.defineProperty(exports, "PopoverTrigger", {
1205
+ enumerable: true,
1206
+ get: function () { return chunkC5JG6TMM_cjs.PopoverTrigger; }
1207
+ });
1208
+ Object.defineProperty(exports, "Tooltip", {
1209
+ enumerable: true,
1210
+ get: function () { return chunkC5JG6TMM_cjs.Tooltip; }
1211
+ });
1212
+ Object.defineProperty(exports, "TooltipProvider", {
1213
+ enumerable: true,
1214
+ get: function () { return chunkC5JG6TMM_cjs.TooltipProvider; }
1215
+ });
1216
+ Object.defineProperty(exports, "useCommandShortcut", {
1217
+ enumerable: true,
1218
+ get: function () { return chunkC5JG6TMM_cjs.useCommandShortcut; }
1219
+ });
1220
+ Object.defineProperty(exports, "Presence", {
1221
+ enumerable: true,
1222
+ get: function () { return chunkC32LKF23_cjs.Presence; }
1223
+ });
1224
+ Object.defineProperty(exports, "Slot", {
1225
+ enumerable: true,
1226
+ get: function () { return chunkC32LKF23_cjs.Slot; }
1227
+ });
1228
+ Object.defineProperty(exports, "getTabbable", {
1229
+ enumerable: true,
1230
+ get: function () { return chunkC32LKF23_cjs.getTabbable; }
1231
+ });
1232
+ Object.defineProperty(exports, "slotted", {
1233
+ enumerable: true,
1234
+ get: function () { return chunkC32LKF23_cjs.slotted; }
1235
+ });
1236
+ Object.defineProperty(exports, "useAutoFocus", {
1237
+ enumerable: true,
1238
+ get: function () { return chunkC32LKF23_cjs.useAutoFocus; }
1239
+ });
1240
+ Object.defineProperty(exports, "useFocusRestore", {
1241
+ enumerable: true,
1242
+ get: function () { return chunkC32LKF23_cjs.useFocusRestore; }
1243
+ });
1244
+ Object.defineProperty(exports, "useFocusTrap", {
1245
+ enumerable: true,
1246
+ get: function () { return chunkC32LKF23_cjs.useFocusTrap; }
1247
+ });
1248
+ Object.defineProperty(exports, "usePresence", {
1249
+ enumerable: true,
1250
+ get: function () { return chunkC32LKF23_cjs.usePresence; }
1251
+ });
1252
+ Object.defineProperty(exports, "useRovingFocus", {
1253
+ enumerable: true,
1254
+ get: function () { return chunkC32LKF23_cjs.useRovingFocus; }
1255
+ });
1256
+ Object.defineProperty(exports, "Portal", {
1257
+ enumerable: true,
1258
+ get: function () { return chunkXMXECSQO_cjs.Portal; }
1259
+ });
1260
+ Object.defineProperty(exports, "computePosition", {
1261
+ enumerable: true,
1262
+ get: function () { return chunkXMXECSQO_cjs.computePosition; }
1263
+ });
1264
+ Object.defineProperty(exports, "useAnchoredPosition", {
1265
+ enumerable: true,
1266
+ get: function () { return chunkXMXECSQO_cjs.useAnchoredPosition; }
1267
+ });
1268
+ Object.defineProperty(exports, "useDismiss", {
1269
+ enumerable: true,
1270
+ get: function () { return chunkXMXECSQO_cjs.useDismiss; }
1271
+ });
1272
+ Object.defineProperty(exports, "useScrollLock", {
1273
+ enumerable: true,
1274
+ get: function () { return chunkXMXECSQO_cjs.useScrollLock; }
1275
+ });
1276
+ Object.defineProperty(exports, "Avatar", {
1277
+ enumerable: true,
1278
+ get: function () { return chunkOJN5JBNP_cjs.Avatar; }
1279
+ });
1280
+ Object.defineProperty(exports, "AvatarGroup", {
1281
+ enumerable: true,
1282
+ get: function () { return chunkOJN5JBNP_cjs.AvatarGroup; }
1283
+ });
1284
+ Object.defineProperty(exports, "Badge", {
1285
+ enumerable: true,
1286
+ get: function () { return chunkOJN5JBNP_cjs.Badge; }
1287
+ });
1288
+ Object.defineProperty(exports, "CircularProgress", {
1289
+ enumerable: true,
1290
+ get: function () { return chunkOJN5JBNP_cjs.CircularProgress; }
1291
+ });
1292
+ Object.defineProperty(exports, "CodeBlock", {
1293
+ enumerable: true,
1294
+ get: function () { return chunkOJN5JBNP_cjs.CodeBlock; }
1295
+ });
1296
+ Object.defineProperty(exports, "DataTable", {
1297
+ enumerable: true,
1298
+ get: function () { return chunkOJN5JBNP_cjs.DataTable; }
1299
+ });
1300
+ Object.defineProperty(exports, "DescriptionList", {
1301
+ enumerable: true,
1302
+ get: function () { return chunkOJN5JBNP_cjs.DescriptionList; }
1303
+ });
1304
+ Object.defineProperty(exports, "EmptyState", {
1305
+ enumerable: true,
1306
+ get: function () { return chunkOJN5JBNP_cjs.EmptyState; }
1307
+ });
1308
+ Object.defineProperty(exports, "Kbd", {
1309
+ enumerable: true,
1310
+ get: function () { return chunkOJN5JBNP_cjs.Kbd; }
1311
+ });
1312
+ Object.defineProperty(exports, "Meter", {
1313
+ enumerable: true,
1314
+ get: function () { return chunkOJN5JBNP_cjs.Meter; }
1315
+ });
1316
+ Object.defineProperty(exports, "Pagination", {
1317
+ enumerable: true,
1318
+ get: function () { return chunkOJN5JBNP_cjs.Pagination; }
1319
+ });
1320
+ Object.defineProperty(exports, "Progress", {
1321
+ enumerable: true,
1322
+ get: function () { return chunkOJN5JBNP_cjs.Progress; }
1323
+ });
1324
+ Object.defineProperty(exports, "Stat", {
1325
+ enumerable: true,
1326
+ get: function () { return chunkOJN5JBNP_cjs.Stat; }
1327
+ });
1328
+ Object.defineProperty(exports, "Table", {
1329
+ enumerable: true,
1330
+ get: function () { return chunkOJN5JBNP_cjs.Table; }
1331
+ });
1332
+ Object.defineProperty(exports, "Timeline", {
1333
+ enumerable: true,
1334
+ get: function () { return chunkOJN5JBNP_cjs.Timeline; }
1335
+ });
1336
+ Object.defineProperty(exports, "Accordion", {
1337
+ enumerable: true,
1338
+ get: function () { return chunkDATBU46V_cjs.Accordion; }
1339
+ });
1340
+ Object.defineProperty(exports, "Breadcrumbs", {
1341
+ enumerable: true,
1342
+ get: function () { return chunkDATBU46V_cjs.Breadcrumbs; }
1343
+ });
1344
+ Object.defineProperty(exports, "Collapsible", {
1345
+ enumerable: true,
1346
+ get: function () { return chunkDATBU46V_cjs.Collapsible; }
1347
+ });
1348
+ Object.defineProperty(exports, "DisclosureList", {
1349
+ enumerable: true,
1350
+ get: function () { return chunkDATBU46V_cjs.DisclosureList; }
1351
+ });
1352
+ Object.defineProperty(exports, "NavigationMenu", {
1353
+ enumerable: true,
1354
+ get: function () { return chunkDATBU46V_cjs.NavigationMenu; }
1355
+ });
1356
+ Object.defineProperty(exports, "Stepper", {
1357
+ enumerable: true,
1358
+ get: function () { return chunkDATBU46V_cjs.Stepper; }
1359
+ });
1360
+ Object.defineProperty(exports, "Tabs", {
1361
+ enumerable: true,
1362
+ get: function () { return chunkDATBU46V_cjs.Tabs; }
1363
+ });
1364
+ Object.defineProperty(exports, "AppShell", {
1365
+ enumerable: true,
1366
+ get: function () { return chunkZWAFLHC2_cjs.AppShell; }
1367
+ });
1368
+ Object.defineProperty(exports, "Sidebar", {
1369
+ enumerable: true,
1370
+ get: function () { return chunkZWAFLHC2_cjs.Sidebar; }
1371
+ });
1372
+ Object.defineProperty(exports, "useControllableState", {
1373
+ enumerable: true,
1374
+ get: function () { return chunkPO5DU3FU_cjs.useControllableState; }
1375
+ });
1376
+ Object.defineProperty(exports, "AnimatePresence", {
1377
+ enumerable: true,
1378
+ get: function () { return chunkAVPEA5PB_cjs.AnimatePresence; }
1379
+ });
1380
+ Object.defineProperty(exports, "AnimatedText", {
1381
+ enumerable: true,
1382
+ get: function () { return chunkAVPEA5PB_cjs.AnimatedText; }
1383
+ });
1384
+ Object.defineProperty(exports, "Draggable", {
1385
+ enumerable: true,
1386
+ get: function () { return chunkAVPEA5PB_cjs.Draggable; }
1387
+ });
1388
+ Object.defineProperty(exports, "GradientText", {
1389
+ enumerable: true,
1390
+ get: function () { return chunkAVPEA5PB_cjs.GradientText; }
1391
+ });
1392
+ Object.defineProperty(exports, "MagneticButton", {
1393
+ enumerable: true,
1394
+ get: function () { return chunkAVPEA5PB_cjs.MagneticButton; }
1395
+ });
1396
+ Object.defineProperty(exports, "Marquee", {
1397
+ enumerable: true,
1398
+ get: function () { return chunkAVPEA5PB_cjs.Marquee; }
1399
+ });
1400
+ Object.defineProperty(exports, "Motion", {
1401
+ enumerable: true,
1402
+ get: function () { return chunkAVPEA5PB_cjs.Motion; }
1403
+ });
1404
+ Object.defineProperty(exports, "MotionConfig", {
1405
+ enumerable: true,
1406
+ get: function () { return chunkAVPEA5PB_cjs.MotionConfig; }
1407
+ });
1408
+ Object.defineProperty(exports, "Parallax", {
1409
+ enumerable: true,
1410
+ get: function () { return chunkAVPEA5PB_cjs.Parallax; }
1411
+ });
1412
+ Object.defineProperty(exports, "Ripple", {
1413
+ enumerable: true,
1414
+ get: function () { return chunkAVPEA5PB_cjs.Ripple; }
1415
+ });
1416
+ Object.defineProperty(exports, "ScrollReveal", {
1417
+ enumerable: true,
1418
+ get: function () { return chunkAVPEA5PB_cjs.ScrollReveal; }
1419
+ });
1420
+ Object.defineProperty(exports, "ThemeProvider", {
1421
+ enumerable: true,
1422
+ get: function () { return chunkAVPEA5PB_cjs.ThemeProvider; }
1423
+ });
1424
+ Object.defineProperty(exports, "TiltCard", {
1425
+ enumerable: true,
1426
+ get: function () { return chunkAVPEA5PB_cjs.TiltCard; }
1427
+ });
1428
+ Object.defineProperty(exports, "createBehaviourComponent", {
1429
+ enumerable: true,
1430
+ get: function () { return chunkAVPEA5PB_cjs.createBehaviourComponent; }
1431
+ });
1432
+ Object.defineProperty(exports, "themeScript", {
1433
+ enumerable: true,
1434
+ get: function () { return chunkAVPEA5PB_cjs.themeScript; }
1435
+ });
1436
+ Object.defineProperty(exports, "useBehaviour", {
1437
+ enumerable: true,
1438
+ get: function () { return chunkAVPEA5PB_cjs.useBehaviour; }
1439
+ });
1440
+ Object.defineProperty(exports, "useMotionConfig", {
1441
+ enumerable: true,
1442
+ get: function () { return chunkAVPEA5PB_cjs.useMotionConfig; }
1443
+ });
1444
+ Object.defineProperty(exports, "useTheme", {
1445
+ enumerable: true,
1446
+ get: function () { return chunkAVPEA5PB_cjs.useTheme; }
1447
+ });
1448
+ Object.defineProperty(exports, "useElementSize", {
1449
+ enumerable: true,
1450
+ get: function () { return chunk6VRF7X5C_cjs.useElementSize; }
1451
+ });
1452
+ Object.defineProperty(exports, "useFrameBudget", {
1453
+ enumerable: true,
1454
+ get: function () { return chunk6VRF7X5C_cjs.useFrameBudget; }
1455
+ });
1456
+ Object.defineProperty(exports, "useInView", {
1457
+ enumerable: true,
1458
+ get: function () { return chunk6VRF7X5C_cjs.useInView; }
1459
+ });
1460
+ Object.defineProperty(exports, "useMergedRef", {
1461
+ enumerable: true,
1462
+ get: function () { return chunk6VRF7X5C_cjs.useMergedRef; }
1463
+ });
1464
+ Object.defineProperty(exports, "usePointer", {
1465
+ enumerable: true,
1466
+ get: function () { return chunk6VRF7X5C_cjs.usePointer; }
1467
+ });
1468
+ Object.defineProperty(exports, "useReducedMotion", {
1469
+ enumerable: true,
1470
+ get: function () { return chunk6VRF7X5C_cjs.useReducedMotion; }
1471
+ });
1472
+ Object.defineProperty(exports, "useScrollProgress", {
1473
+ enumerable: true,
1474
+ get: function () { return chunk6VRF7X5C_cjs.useScrollProgress; }
1475
+ });
1476
+ Object.defineProperty(exports, "useTicker", {
1477
+ enumerable: true,
1478
+ get: function () { return chunk6VRF7X5C_cjs.useTicker; }
1479
+ });
1480
+ Object.defineProperty(exports, "useWindowScroll", {
1481
+ enumerable: true,
1482
+ get: function () { return chunk6VRF7X5C_cjs.useWindowScroll; }
1483
+ });
1484
+ Object.defineProperty(exports, "composeEventHandlers", {
1485
+ enumerable: true,
1486
+ get: function () { return chunkSFU5EPSN_cjs.composeEventHandlers; }
1487
+ });
1488
+ Object.defineProperty(exports, "cx", {
1489
+ enumerable: true,
1490
+ get: function () { return chunkSFU5EPSN_cjs.cx; }
1491
+ });
1492
+ Object.defineProperty(exports, "mergeProps", {
1493
+ enumerable: true,
1494
+ get: function () { return chunkSFU5EPSN_cjs.mergeProps; }
1495
+ });
1496
+ Object.defineProperty(exports, "mergeRefs", {
1497
+ enumerable: true,
1498
+ get: function () { return chunkSFU5EPSN_cjs.mergeRefs; }
1499
+ });
1500
+ Object.defineProperty(exports, "MotionValue", {
1501
+ enumerable: true,
1502
+ get: function () { return core.MotionValue; }
1503
+ });
1504
+ Object.defineProperty(exports, "animate", {
1505
+ enumerable: true,
1506
+ get: function () { return core.animate; }
1507
+ });
1508
+ Object.defineProperty(exports, "checkContrast", {
1509
+ enumerable: true,
1510
+ get: function () { return core.checkContrast; }
1511
+ });
1512
+ Object.defineProperty(exports, "createGradient", {
1513
+ enumerable: true,
1514
+ get: function () { return core.createGradient; }
1515
+ });
1516
+ Object.defineProperty(exports, "createNoise", {
1517
+ enumerable: true,
1518
+ get: function () { return core.createNoise; }
1519
+ });
1520
+ Object.defineProperty(exports, "createScale", {
1521
+ enumerable: true,
1522
+ get: function () { return core.createScale; }
1523
+ });
1524
+ Object.defineProperty(exports, "createTimeline", {
1525
+ enumerable: true,
1526
+ get: function () { return core.createTimeline; }
1527
+ });
1528
+ Object.defineProperty(exports, "cubicBezier", {
1529
+ enumerable: true,
1530
+ get: function () { return core.cubicBezier; }
1531
+ });
1532
+ Object.defineProperty(exports, "easings", {
1533
+ enumerable: true,
1534
+ get: function () { return core.easings; }
1535
+ });
1536
+ Object.defineProperty(exports, "ensureContrast", {
1537
+ enumerable: true,
1538
+ get: function () { return core.ensureContrast; }
1539
+ });
1540
+ Object.defineProperty(exports, "generatePalette", {
1541
+ enumerable: true,
1542
+ get: function () { return core.generatePalette; }
1543
+ });
1544
+ Object.defineProperty(exports, "getRegistry", {
1545
+ enumerable: true,
1546
+ get: function () { return core.getRegistry; }
1547
+ });
1548
+ Object.defineProperty(exports, "getTicker", {
1549
+ enumerable: true,
1550
+ get: function () { return core.getTicker; }
1551
+ });
1552
+ Object.defineProperty(exports, "mixColors", {
1553
+ enumerable: true,
1554
+ get: function () { return core.mixColors; }
1555
+ });
1556
+ Object.defineProperty(exports, "motionValue", {
1557
+ enumerable: true,
1558
+ get: function () { return core.motionValue; }
1559
+ });
1560
+ Object.defineProperty(exports, "palettes", {
1561
+ enumerable: true,
1562
+ get: function () { return core.palettes; }
1563
+ });
1564
+ Object.defineProperty(exports, "parseColor", {
1565
+ enumerable: true,
1566
+ get: function () { return core.parseColor; }
1567
+ });
1568
+ Object.defineProperty(exports, "pickReadable", {
1569
+ enumerable: true,
1570
+ get: function () { return core.pickReadable; }
1571
+ });
1572
+ Object.defineProperty(exports, "prefersReducedMotion", {
1573
+ enumerable: true,
1574
+ get: function () { return core.prefersReducedMotion; }
1575
+ });
1576
+ Object.defineProperty(exports, "registerEasing", {
1577
+ enumerable: true,
1578
+ get: function () { return core.registerEasing; }
1579
+ });
1580
+ Object.defineProperty(exports, "setReducedMotionMode", {
1581
+ enumerable: true,
1582
+ get: function () { return core.setReducedMotionMode; }
1583
+ });
1584
+ Object.defineProperty(exports, "signatureEasings", {
1585
+ enumerable: true,
1586
+ get: function () { return core.signature; }
1587
+ });
1588
+ Object.defineProperty(exports, "springs", {
1589
+ enumerable: true,
1590
+ get: function () { return core.springs; }
1591
+ });
1592
+ Object.defineProperty(exports, "stagger", {
1593
+ enumerable: true,
1594
+ get: function () { return core.stagger; }
1595
+ });
1596
+ Object.defineProperty(exports, "toHex", {
1597
+ enumerable: true,
1598
+ get: function () { return core.toHex; }
1599
+ });
1600
+ Object.defineProperty(exports, "toOklchString", {
1601
+ enumerable: true,
1602
+ get: function () { return core.toOklchString; }
1603
+ });
1604
+ exports.Alert = Alert;
1605
+ exports.AnimatedGradient = AnimatedGradient;
1606
+ exports.AuroraBackground = AuroraBackground;
1607
+ exports.Banner = Banner;
1608
+ exports.BentoGrid = BentoGrid;
1609
+ exports.BentoItem = BentoItem;
1610
+ exports.Button = Button;
1611
+ exports.Callout = Callout;
1612
+ exports.Constellation = Constellation;
1613
+ exports.Dock = Dock;
1614
+ exports.FAQAccordion = FAQAccordion;
1615
+ exports.Fireflies = Fireflies;
1616
+ exports.GlowCard = GlowCard;
1617
+ exports.IconButton = IconButton;
1618
+ exports.LiquidBlob = LiquidBlob;
1619
+ exports.LoadingDots = LoadingDots;
1620
+ exports.MeshGradient = MeshGradient;
1621
+ exports.MeteorShower = MeteorShower;
1622
+ exports.NoiseLayer = NoiseLayer;
1623
+ exports.NumberTicker = NumberTicker;
1624
+ exports.ParticleField = ParticleField;
1625
+ exports.PricingTable = PricingTable;
1626
+ exports.Rain = Rain;
1627
+ exports.ShinyText = ShinyText;
1628
+ exports.Skeleton = Skeleton;
1629
+ exports.Snow = Snow;
1630
+ exports.Spinner = Spinner;
1631
+ exports.Spotlight = Spotlight;
1632
+ exports.SpotlightCard = SpotlightCard;
1633
+ exports.TiltCard3D = TiltCard3D;
1634
+ exports.ToastProvider = ToastProvider;
1635
+ exports.Typewriter = Typewriter;
1636
+ exports.VERSION = VERSION;
1637
+ exports.Waves = Waves;
1638
+ exports.createEffectComponent = createEffectComponent;
1639
+ exports.useToast = useToast;
1640
+ //# sourceMappingURL=index.cjs.map
1641
+ //# sourceMappingURL=index.cjs.map