app-studio 0.7.18 → 0.8.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 (103) hide show
  1. package/README.md +11 -1
  2. package/dist/native/index.cjs +3360 -0
  3. package/dist/native/index.cjs.map +1 -0
  4. package/dist/native/index.d.mts +251 -0
  5. package/dist/native/index.d.ts +251 -0
  6. package/dist/native/index.js +3268 -0
  7. package/dist/native/index.js.map +1 -0
  8. package/dist/viewAnimation-B4BIoOwQ.d.mts +2246 -0
  9. package/dist/viewAnimation-B4BIoOwQ.d.ts +2246 -0
  10. package/dist/web/app-studio.umd.production.min.global.js +28 -0
  11. package/dist/web/app-studio.umd.production.min.global.js.map +1 -0
  12. package/dist/web/index.cjs +6109 -0
  13. package/dist/web/index.cjs.map +1 -0
  14. package/dist/web/index.d.mts +624 -0
  15. package/dist/web/index.d.ts +624 -0
  16. package/dist/web/index.js +6008 -0
  17. package/dist/web/index.js.map +1 -0
  18. package/docs/README.md +10 -0
  19. package/package.json +76 -14
  20. package/dist/app-studio.cjs.development.js +0 -6754
  21. package/dist/app-studio.cjs.development.js.map +0 -1
  22. package/dist/app-studio.cjs.production.min.js +0 -2
  23. package/dist/app-studio.cjs.production.min.js.map +0 -1
  24. package/dist/app-studio.esm.js +0 -6650
  25. package/dist/app-studio.esm.js.map +0 -1
  26. package/dist/app-studio.umd.development.js +0 -6757
  27. package/dist/app-studio.umd.development.js.map +0 -1
  28. package/dist/app-studio.umd.production.min.js +0 -2
  29. package/dist/app-studio.umd.production.min.js.map +0 -1
  30. package/dist/components/Form.d.ts +0 -17
  31. package/dist/components/Image.d.ts +0 -7
  32. package/dist/components/Skeleton.d.ts +0 -3
  33. package/dist/components/Text/Text.props.d.ts +0 -27
  34. package/dist/components/Text/Text.type.d.ts +0 -3
  35. package/dist/components/Text/Text.utils.d.ts +0 -2
  36. package/dist/components/Text/Text.view.d.ts +0 -20
  37. package/dist/components/Text.d.ts +0 -5
  38. package/dist/components/View.d.ts +0 -16
  39. package/dist/components/Wrapper.d.ts +0 -4
  40. package/dist/element/Animation.d.ts +0 -1164
  41. package/dist/element/Element.d.ts +0 -4
  42. package/dist/element/Element.types.d.ts +0 -123
  43. package/dist/element/css.d.ts +0 -50
  44. package/dist/element/utils.d.ts +0 -4
  45. package/dist/hooks/useActive.d.ts +0 -2
  46. package/dist/hooks/useClickOutside.d.ts +0 -6
  47. package/dist/hooks/useElementPosition.d.ts +0 -39
  48. package/dist/hooks/useFocus.d.ts +0 -2
  49. package/dist/hooks/useHover.d.ts +0 -2
  50. package/dist/hooks/useIframeStyles.d.ts +0 -41
  51. package/dist/hooks/useInView.d.ts +0 -11
  52. package/dist/hooks/useKeyPress.d.ts +0 -1
  53. package/dist/hooks/useMount.d.ts +0 -1
  54. package/dist/hooks/useOnScreen.d.ts +0 -6
  55. package/dist/hooks/useResponsive.d.ts +0 -59
  56. package/dist/hooks/useScroll.d.ts +0 -49
  57. package/dist/hooks/useWindowSize.d.ts +0 -4
  58. package/dist/index.d.ts +0 -33
  59. package/dist/index.js +0 -8
  60. package/dist/providers/Analytics.d.ts +0 -9
  61. package/dist/providers/Responsive.d.ts +0 -58
  62. package/dist/providers/StyleRegistry.d.ts +0 -32
  63. package/dist/providers/Theme.d.ts +0 -46
  64. package/dist/providers/WindowSize.d.ts +0 -11
  65. package/dist/stories/AnimateOn.stories.d.ts +0 -30
  66. package/dist/stories/Animation.stories.d.ts +0 -35
  67. package/dist/stories/BorderColor.stories.d.ts +0 -4
  68. package/dist/stories/Color.stories.d.ts +0 -4
  69. package/dist/stories/ColorAlpha.stories.d.ts +0 -5
  70. package/dist/stories/Component.stories.d.ts +0 -7
  71. package/dist/stories/CrossBrowserCompatibility.stories.d.ts +0 -6
  72. package/dist/stories/CssCascadeOrder.stories.d.ts +0 -10
  73. package/dist/stories/EmptyBeforeExample.stories.d.ts +0 -7
  74. package/dist/stories/EventHandlers.stories.d.ts +0 -6
  75. package/dist/stories/GradientColors.stories.d.ts +0 -6
  76. package/dist/stories/GroupPeer.stories.d.ts +0 -7
  77. package/dist/stories/Hooks.stories.d.ts +0 -17
  78. package/dist/stories/IframeCSSSupport.stories.d.ts +0 -28
  79. package/dist/stories/IframeSupport.stories.d.ts +0 -20
  80. package/dist/stories/Image.stories.d.ts +0 -6
  81. package/dist/stories/Scroll.stories.d.ts +0 -9
  82. package/dist/stories/ScrollAnimation.stories.d.ts +0 -36
  83. package/dist/stories/ScrollTimeline.stories.d.ts +0 -6
  84. package/dist/stories/Skeleton.stories.d.ts +0 -5
  85. package/dist/stories/Text.stories.d.ts +0 -18
  86. package/dist/stories/VendorPrefix.stories.d.ts +0 -6
  87. package/dist/stories/View.stories.d.ts +0 -10
  88. package/dist/stories/ViewAnimation.stories.d.ts +0 -33
  89. package/dist/test/CssVariablesTest.d.ts +0 -3
  90. package/dist/test/LowercaseVendorPrefixTest.d.ts +0 -3
  91. package/dist/test/VendorPrefixTest.d.ts +0 -3
  92. package/dist/test/WebkitTextStrokeTest.d.ts +0 -3
  93. package/dist/types/scrollAnimation.types.d.ts +0 -75
  94. package/dist/utils/colors.d.ts +0 -21
  95. package/dist/utils/constants.d.ts +0 -24
  96. package/dist/utils/cssProperties.d.ts +0 -8
  97. package/dist/utils/env.d.ts +0 -15
  98. package/dist/utils/hash.d.ts +0 -4
  99. package/dist/utils/shadow.d.ts +0 -10
  100. package/dist/utils/style.d.ts +0 -22
  101. package/dist/utils/typography.d.ts +0 -45
  102. package/dist/utils/vendorPrefixes.d.ts +0 -19
  103. package/dist/utils/viewAnimation.d.ts +0 -138
@@ -0,0 +1,3268 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __export = (target, all) => {
3
+ for (var name in all)
4
+ __defProp(target, name, { get: all[name], enumerable: true });
5
+ };
6
+
7
+ // src/native/components.tsx
8
+ import React3 from "react";
9
+ import {
10
+ Image as RNImage,
11
+ ImageBackground as RNImageBackground,
12
+ Pressable,
13
+ SafeAreaView,
14
+ ScrollView as RNScrollView,
15
+ Text as RNText,
16
+ TextInput,
17
+ View as RNView
18
+ } from "react-native";
19
+
20
+ // src/native/style.ts
21
+ import { useMemo as useMemo3 } from "react";
22
+ import {
23
+ StyleSheet,
24
+ useWindowDimensions
25
+ } from "react-native";
26
+
27
+ // src/native/providers/Responsive.tsx
28
+ import React, { createContext, useContext, useMemo } from "react";
29
+ import { useWindowDimensions as useRNWindowDimensions } from "react-native";
30
+ var defaultBreakpointsConfig = {
31
+ xs: 0,
32
+ sm: 340,
33
+ md: 560,
34
+ lg: 1080,
35
+ xl: 1300
36
+ };
37
+ var defaultDeviceConfig = {
38
+ mobile: ["xs", "sm"],
39
+ tablet: ["md", "lg"],
40
+ desktop: ["lg", "xl"]
41
+ };
42
+ function getMediaQueries(breakpoints) {
43
+ const sorted = Object.keys(breakpoints).map((breakpoint) => ({
44
+ breakpoint,
45
+ min: breakpoints[breakpoint],
46
+ max: void 0
47
+ })).sort((a, b) => a.min - b.min);
48
+ for (let i = 0; i < sorted.length - 1; i++) {
49
+ sorted[i].max = sorted[i + 1].min - 1;
50
+ }
51
+ return sorted.reduce((queries, item) => {
52
+ queries[item.breakpoint] = `only screen${item.min > 0 ? ` and (min-width: ${item.min}px)` : ""}${item.max !== void 0 ? ` and (max-width: ${item.max}px)` : ""}`;
53
+ return queries;
54
+ }, {});
55
+ }
56
+ function getBreakpointFromWidth(width, breakpoints) {
57
+ const sorted = Object.entries(breakpoints).sort(([, a], [, b]) => b - a);
58
+ const match = sorted.find(([, min]) => width >= min);
59
+ return match?.[0] || sorted[sorted.length - 1]?.[0] || "xs";
60
+ }
61
+ function getDeviceFromBreakpoint(breakpoint, devices) {
62
+ const device = Object.keys(devices).find(
63
+ (key) => devices[key].includes(breakpoint)
64
+ );
65
+ return device || "desktop";
66
+ }
67
+ var defaultBreakpointConfig = {
68
+ breakpoints: defaultBreakpointsConfig,
69
+ devices: defaultDeviceConfig,
70
+ mediaQueries: getMediaQueries(defaultBreakpointsConfig),
71
+ currentBreakpoint: "xs",
72
+ currentDevice: "mobile",
73
+ orientation: "portrait"
74
+ };
75
+ var defaultWindowDimensions = {
76
+ width: 0,
77
+ height: 0
78
+ };
79
+ var BreakpointContext = createContext(
80
+ defaultBreakpointConfig
81
+ );
82
+ var WindowDimensionsContext = createContext(
83
+ defaultWindowDimensions
84
+ );
85
+ var ResponsiveContext = createContext({
86
+ ...defaultBreakpointConfig,
87
+ currentWidth: 0,
88
+ currentHeight: 0
89
+ });
90
+ var useBreakpointContext = () => useContext(BreakpointContext);
91
+ var useWindowDimensionsContext = () => useContext(WindowDimensionsContext);
92
+ var useResponsiveContext = () => useContext(ResponsiveContext);
93
+ var ResponsiveProvider = ({
94
+ breakpoints = defaultBreakpointsConfig,
95
+ devices = defaultDeviceConfig,
96
+ children
97
+ }) => {
98
+ const dimensions = useRNWindowDimensions();
99
+ const width = dimensions.width || 0;
100
+ const height = dimensions.height || 0;
101
+ const currentBreakpoint = getBreakpointFromWidth(width, breakpoints);
102
+ const currentDevice = getDeviceFromBreakpoint(currentBreakpoint, devices);
103
+ const orientation = width >= height ? "landscape" : "portrait";
104
+ const breakpointValue = useMemo(
105
+ () => ({
106
+ breakpoints,
107
+ devices,
108
+ mediaQueries: getMediaQueries(breakpoints),
109
+ currentBreakpoint,
110
+ currentDevice,
111
+ orientation
112
+ }),
113
+ [breakpoints, devices, currentBreakpoint, currentDevice, orientation]
114
+ );
115
+ const windowValue = useMemo(
116
+ () => ({ width, height }),
117
+ [width, height]
118
+ );
119
+ const responsiveValue = useMemo(
120
+ () => ({
121
+ ...breakpointValue,
122
+ currentWidth: width,
123
+ currentHeight: height
124
+ }),
125
+ [breakpointValue, width, height]
126
+ );
127
+ return /* @__PURE__ */ React.createElement(BreakpointContext.Provider, { value: breakpointValue }, /* @__PURE__ */ React.createElement(WindowDimensionsContext.Provider, { value: windowValue }, /* @__PURE__ */ React.createElement(ResponsiveContext.Provider, { value: responsiveValue }, children)));
128
+ };
129
+
130
+ // src/native/providers/Theme.tsx
131
+ import React2, {
132
+ createContext as createContext2,
133
+ useCallback,
134
+ useContext as useContext2,
135
+ useMemo as useMemo2,
136
+ useState
137
+ } from "react";
138
+
139
+ // src/utils/colors.ts
140
+ var defaultLightPalette = {
141
+ white: {
142
+ 50: "rgba(255, 255, 255, 0.04)",
143
+ 100: "rgba(255, 255, 255, 0.08)",
144
+ 200: "rgba(255, 255, 255, 0.16)",
145
+ 300: "rgba(255, 255, 255, 0.24)",
146
+ 400: "rgba(255, 255, 255, 0.36)",
147
+ 500: "rgba(255, 255, 255, 0.48)",
148
+ 600: "rgba(255, 255, 255, 0.64)",
149
+ 700: "rgba(255, 255, 255, 0.80)",
150
+ 800: "rgba(255, 255, 255, 0.92)",
151
+ 900: "rgba(255, 255, 255, 1)"
152
+ },
153
+ black: {
154
+ 50: "rgba(0, 0, 0, 0.04)",
155
+ 100: "rgba(0, 0, 0, 0.08)",
156
+ 200: "rgba(0, 0, 0, 0.16)",
157
+ 300: "rgba(0, 0, 0, 0.24)",
158
+ 400: "rgba(0, 0, 0, 0.36)",
159
+ 500: "rgba(0, 0, 0, 0.48)",
160
+ 600: "rgba(0, 0, 0, 0.64)",
161
+ 700: "rgba(0, 0, 0, 0.80)",
162
+ 800: "rgba(0, 0, 0, 0.92)",
163
+ 900: "rgba(0, 0, 0, 1)"
164
+ },
165
+ rose: {
166
+ 50: "#fff1f2",
167
+ 100: "#ffe4e6",
168
+ 200: "#fecdd3",
169
+ 300: "#fda4af",
170
+ 400: "#fb7185",
171
+ 500: "#f43f5e",
172
+ 600: "#e11d48",
173
+ 700: "#be123c",
174
+ 800: "#9f1239",
175
+ 900: "#881337"
176
+ },
177
+ pink: {
178
+ 50: "#fdf2f8",
179
+ 100: "#fce7f3",
180
+ 200: "#fbcfe8",
181
+ 300: "#f9a8d4",
182
+ 400: "#f472b6",
183
+ 500: "#ec4899",
184
+ 600: "#db2777",
185
+ 700: "#be185d",
186
+ 800: "#9d174d",
187
+ 900: "#831843"
188
+ },
189
+ fuchsia: {
190
+ 50: "#fdf4ff",
191
+ 100: "#fae8ff",
192
+ 200: "#f5d0fe",
193
+ 300: "#f0abfc",
194
+ 400: "#e879f9",
195
+ 500: "#d946ef",
196
+ 600: "#c026d3",
197
+ 700: "#a21caf",
198
+ 800: "#86198f",
199
+ 900: "#701a75"
200
+ },
201
+ purple: {
202
+ 50: "#faf5ff",
203
+ 100: "#f3e8ff",
204
+ 200: "#e9d5ff",
205
+ 300: "#d8b4fe",
206
+ 400: "#c084fc",
207
+ 500: "#a855f7",
208
+ 600: "#9333ea",
209
+ 700: "#7e22ce",
210
+ 800: "#6b21a8",
211
+ 900: "#581c87"
212
+ },
213
+ violet: {
214
+ 50: "#f5f3ff",
215
+ 100: "#ede9fe",
216
+ 200: "#ddd6fe",
217
+ 300: "#c4b5fd",
218
+ 400: "#a78bfa",
219
+ 500: "#8b5cf6",
220
+ 600: "#7c3aed",
221
+ 700: "#6d28d9",
222
+ 800: "#5b21b6",
223
+ 900: "#4c1d95"
224
+ },
225
+ indigo: {
226
+ 50: "#eef2ff",
227
+ 100: "#e0e7ff",
228
+ 200: "#c7d2fe",
229
+ 300: "#a5b4fc",
230
+ 400: "#818cf8",
231
+ 500: "#6366f1",
232
+ 600: "#4f46e5",
233
+ 700: "#4338ca",
234
+ 800: "#3730a3",
235
+ 900: "#312e81"
236
+ },
237
+ blue: {
238
+ 50: "#eff6ff",
239
+ 100: "#dbeafe",
240
+ 200: "#bfdbfe",
241
+ 300: "#93c5fd",
242
+ 400: "#60a5fa",
243
+ 500: "#3b82f6",
244
+ 600: "#2563eb",
245
+ 700: "#1d4ed8",
246
+ 800: "#1e40af",
247
+ 900: "#1e3a8a"
248
+ },
249
+ lightBlue: {
250
+ 50: "#f0f9ff",
251
+ 100: "#e0f2fe",
252
+ 200: "#bae6fd",
253
+ 300: "#7dd3fc",
254
+ 400: "#38bdf8",
255
+ 500: "#0ea5e9",
256
+ 600: "#0284c7",
257
+ 700: "#0369a1",
258
+ 800: "#075985",
259
+ 900: "#0c4a6e"
260
+ },
261
+ cyan: {
262
+ 50: "#ecfeff",
263
+ 100: "#cffafe",
264
+ 200: "#a5f3fc",
265
+ 300: "#67e8f9",
266
+ 400: "#22d3ee",
267
+ 500: "#06b6d4",
268
+ 600: "#0891b2",
269
+ 700: "#0e7490",
270
+ 800: "#155e75",
271
+ 900: "#164e63"
272
+ },
273
+ teal: {
274
+ 50: "#f0fdfa",
275
+ 100: "#ccfbf1",
276
+ 200: "#99f6e4",
277
+ 300: "#5eead4",
278
+ 400: "#2dd4bf",
279
+ 500: "#14b8a6",
280
+ 600: "#0d9488",
281
+ 700: "#0f766e",
282
+ 800: "#115e59",
283
+ 900: "#134e4a"
284
+ },
285
+ emerald: {
286
+ 50: "#ecfdf5",
287
+ 100: "#d1fae5",
288
+ 200: "#a7f3d0",
289
+ 300: "#6ee7b7",
290
+ 400: "#34d399",
291
+ 500: "#10b981",
292
+ 600: "#059669",
293
+ 700: "#047857",
294
+ 800: "#065f46",
295
+ 900: "#064e3b"
296
+ },
297
+ green: {
298
+ 50: "#f0fdf4",
299
+ 100: "#dcfce7",
300
+ 200: "#bbf7d0",
301
+ 300: "#86efac",
302
+ 400: "#4ade80",
303
+ 500: "#22c55e",
304
+ 600: "#16a34a",
305
+ 700: "#15803d",
306
+ 800: "#166534",
307
+ 900: "#14532d"
308
+ },
309
+ lime: {
310
+ 50: "#f7fee7",
311
+ 100: "#ecfccb",
312
+ 200: "#d9f99d",
313
+ 300: "#bef264",
314
+ 400: "#a3e635",
315
+ 500: "#84cc16",
316
+ 600: "#65a30d",
317
+ 700: "#4d7c0f",
318
+ 800: "#3f6212",
319
+ 900: "#365314"
320
+ },
321
+ yellow: {
322
+ 50: "#fefce8",
323
+ 100: "#fef9c3",
324
+ 200: "#fef08a",
325
+ 300: "#fde047",
326
+ 400: "#facc15",
327
+ 500: "#eab308",
328
+ 600: "#ca8a04",
329
+ 700: "#a16207",
330
+ 800: "#854d0e",
331
+ 900: "#713f12"
332
+ },
333
+ amber: {
334
+ 50: "#fffbeb",
335
+ 100: "#fef3c7",
336
+ 200: "#fde68a",
337
+ 300: "#fcd34d",
338
+ 400: "#fbbf24",
339
+ 500: "#f59e0b",
340
+ 600: "#d97706",
341
+ 700: "#b45309",
342
+ 800: "#92400e",
343
+ 900: "#78350f"
344
+ },
345
+ orange: {
346
+ 50: "#fff7ed",
347
+ 100: "#ffedd5",
348
+ 200: "#fed7aa",
349
+ 300: "#fdba74",
350
+ 400: "#fb923c",
351
+ 500: "#f97316",
352
+ 600: "#ea580c",
353
+ 700: "#c2410c",
354
+ 800: "#9a3412",
355
+ 900: "#7c2d12"
356
+ },
357
+ red: {
358
+ 50: "#fef2f2",
359
+ 100: "#fee2e2",
360
+ 200: "#fecaca",
361
+ 300: "#fca5a5",
362
+ 400: "#f87171",
363
+ 500: "#ef4444",
364
+ 600: "#dc2626",
365
+ 700: "#b91c1c",
366
+ 800: "#991b1b",
367
+ 900: "#7f1d1d"
368
+ },
369
+ warmGray: {
370
+ 50: "#fafaf9",
371
+ 100: "#f5f5f4",
372
+ 200: "#e7e5e4",
373
+ 300: "#d6d3d1",
374
+ 400: "#a8a29e",
375
+ 500: "#78716c",
376
+ 600: "#57534e",
377
+ 700: "#44403c",
378
+ 800: "#292524",
379
+ 900: "#1c1917"
380
+ },
381
+ trueGray: {
382
+ 50: "#fafafa",
383
+ 100: "#f5f5f5",
384
+ 200: "#e5e5e5",
385
+ 300: "#d4d4d4",
386
+ 400: "#a3a3a3",
387
+ 500: "#737373",
388
+ 600: "#525252",
389
+ 700: "#404040",
390
+ 800: "#262626",
391
+ 900: "#171717"
392
+ },
393
+ gray: {
394
+ 50: "#fafafa",
395
+ 100: "#f4f4f5",
396
+ 200: "#e4e4e7",
397
+ 300: "#d4d4d8",
398
+ 400: "#a1a1aa",
399
+ 500: "#71717a",
400
+ 600: "#52525b",
401
+ 700: "#3f3f46",
402
+ 800: "#27272a",
403
+ 900: "#18181b"
404
+ },
405
+ dark: {
406
+ 50: "#18181b",
407
+ 100: "#27272a",
408
+ 200: "#3f3f46",
409
+ 300: "#52525b",
410
+ 400: "#71717a",
411
+ 500: "#a1a1aa",
412
+ 600: "#d4d4d8",
413
+ 700: "#e4e4e7",
414
+ 800: "#f4f4f5",
415
+ 900: "#fafafa"
416
+ },
417
+ light: {
418
+ 50: "#f8f9fa",
419
+ 100: "#f1f3f5",
420
+ 200: "#e9ecef",
421
+ 300: "#dee2e6",
422
+ 400: "#ced4da",
423
+ 500: "#adb5bd",
424
+ 600: "#868e96",
425
+ 700: "#495057",
426
+ 800: "#343a40",
427
+ 900: "#212529"
428
+ },
429
+ coolGray: {
430
+ 50: "#f9fafb",
431
+ 100: "#f3f4f6",
432
+ 200: "#e5e7eb",
433
+ 300: "#d1d5db",
434
+ 400: "#9ca3af",
435
+ 500: "#6b7280",
436
+ 600: "#4b5563",
437
+ 700: "#374151",
438
+ 800: "#1f2937",
439
+ 900: "#111827"
440
+ },
441
+ blueGray: {
442
+ 50: "#f8fafc",
443
+ 100: "#f1f5f9",
444
+ 200: "#e2e8f0",
445
+ 300: "#cbd5e1",
446
+ 400: "#94a3b8",
447
+ 500: "#64748b",
448
+ 600: "#475569",
449
+ 700: "#334155",
450
+ 800: "#1e293b",
451
+ 900: "#0f172a"
452
+ },
453
+ slate: {
454
+ 50: "#f8fafc",
455
+ 100: "#f1f5f9",
456
+ 200: "#e2e8f0",
457
+ 300: "#cbd5e1",
458
+ 400: "#94a3b8",
459
+ 500: "#64748b",
460
+ 600: "#475569",
461
+ 700: "#334155",
462
+ 800: "#1e293b",
463
+ 900: "#0f172a"
464
+ },
465
+ zinc: {
466
+ 50: "#fafafa",
467
+ 100: "#f4f4f5",
468
+ 200: "#e4e4e7",
469
+ 300: "#d4d4d8",
470
+ 400: "#a1a1aa",
471
+ 500: "#71717a",
472
+ 600: "#52525b",
473
+ 700: "#3f3f46",
474
+ 800: "#27272a",
475
+ 900: "#18181b"
476
+ },
477
+ neutral: {
478
+ 50: "#fafafa",
479
+ 100: "#f5f5f5",
480
+ 200: "#e5e5e5",
481
+ 300: "#d4d4d4",
482
+ 400: "#a3a3a3",
483
+ 500: "#737373",
484
+ 600: "#525252",
485
+ 700: "#404040",
486
+ 800: "#262626",
487
+ 900: "#171717"
488
+ },
489
+ stone: {
490
+ 50: "#fafaf9",
491
+ 100: "#f5f5f4",
492
+ 200: "#e7e5e4",
493
+ 300: "#d6d3d1",
494
+ 400: "#a8a29e",
495
+ 500: "#78716c",
496
+ 600: "#57534e",
497
+ 700: "#44403c",
498
+ 800: "#292524",
499
+ 900: "#1c1917"
500
+ }
501
+ };
502
+ var defaultDarkPalette = {
503
+ white: {
504
+ 50: "rgba(0, 0, 0, 0.04)",
505
+ 100: "rgba(0, 0, 0, 0.08)",
506
+ 200: "rgba(0, 0, 0, 0.16)",
507
+ 300: "rgba(0, 0, 0, 0.24)",
508
+ 400: "rgba(0, 0, 0, 0.36)",
509
+ 500: "rgba(0, 0, 0, 0.48)",
510
+ 600: "rgba(0, 0, 0, 0.64)",
511
+ 700: "rgba(0, 0, 0, 0.80)",
512
+ 800: "rgba(0, 0, 0, 0.92)",
513
+ 900: "rgba(0, 0, 0, 1)"
514
+ },
515
+ black: {
516
+ 50: "rgba(255, 255, 255, 0.04)",
517
+ 100: "rgba(255, 255, 255, 0.08)",
518
+ 200: "rgba(255, 255, 255, 0.16)",
519
+ 300: "rgba(255, 255, 255, 0.24)",
520
+ 400: "rgba(255, 255, 255, 0.36)",
521
+ 500: "rgba(255, 255, 255, 0.48)",
522
+ 600: "rgba(255, 255, 255, 0.64)",
523
+ 700: "rgba(255, 255, 255, 0.80)",
524
+ 800: "rgba(255, 255, 255, 0.92)",
525
+ 900: "rgba(255, 255, 255, 1)"
526
+ },
527
+ rose: {
528
+ 50: "#330517",
529
+ 100: "#4a031e",
530
+ 200: "#6b112f",
531
+ 300: "#9f1239",
532
+ 400: "#c81e5b",
533
+ 500: "#e11d48",
534
+ 600: "#be123c",
535
+ 700: "#9f1239",
536
+ 800: "#7f1235",
537
+ 900: "#581c87"
538
+ },
539
+ pink: {
540
+ 50: "#fce7f3",
541
+ 100: "#fbcfe8",
542
+ 200: "#f9a8d4",
543
+ 300: "#f472b6",
544
+ 400: "#ec4899",
545
+ 500: "#db2777",
546
+ 600: "#be185d",
547
+ 700: "#9d174d",
548
+ 800: "#831843",
549
+ 900: "#581c87"
550
+ },
551
+ fuchsia: {
552
+ 50: "#c026d3",
553
+ 100: "#a21caf",
554
+ 200: "#86198f",
555
+ 300: "#701a75",
556
+ 400: "#9333ea",
557
+ 500: "#d946ef",
558
+ 600: "#e879f9",
559
+ 700: "#f0abfc",
560
+ 800: "#f5d0fe",
561
+ 900: "#fae8ff"
562
+ },
563
+ purple: {
564
+ 50: "#6b21a8",
565
+ 100: "#7e22ce",
566
+ 200: "#9333ea",
567
+ 300: "#a855f7",
568
+ 400: "#c084fc",
569
+ 500: "#d8b4fe",
570
+ 600: "#e9d5ff",
571
+ 700: "#f3e8ff",
572
+ 800: "#faf5ff",
573
+ 900: "#fef4ff"
574
+ },
575
+ violet: {
576
+ 50: "#4c1d95",
577
+ 100: "#701a75",
578
+ 200: "#86198f",
579
+ 300: "#a21caf",
580
+ 400: "#c026d3",
581
+ 500: "#d946ef",
582
+ 600: "#e879f9",
583
+ 700: "#f0abfc",
584
+ 800: "#f5d0fe",
585
+ 900: "#fae8ff"
586
+ },
587
+ indigo: {
588
+ 50: "#312e81",
589
+ 100: "#3730a3",
590
+ 200: "#1e40af",
591
+ 300: "#1d4ed8",
592
+ 400: "#2563eb",
593
+ 500: "#3b82f6",
594
+ 600: "#60a5fa",
595
+ 700: "#93c5fd",
596
+ 800: "#bfdbfe",
597
+ 900: "#dbeafe"
598
+ },
599
+ blue: {
600
+ 50: "#1e3a8a",
601
+ 100: "#1e40af",
602
+ 200: "#1d4ed8",
603
+ 300: "#2563eb",
604
+ 400: "#3b82f6",
605
+ 500: "#60a5fa",
606
+ 600: "#93c5fd",
607
+ 700: "#bfdbfe",
608
+ 800: "#dbeafe",
609
+ 900: "#eff6ff"
610
+ },
611
+ lightBlue: {
612
+ 50: "#0c4a6e",
613
+ 100: "#075985",
614
+ 200: "#0369a1",
615
+ 300: "#0284c7",
616
+ 400: "#0ea5e9",
617
+ 500: "#38bdf8",
618
+ 600: "#7dd3fc",
619
+ 700: "#bae6fd",
620
+ 800: "#e0f2fe",
621
+ 900: "#f0f9ff"
622
+ },
623
+ cyan: {
624
+ 50: "#164e63",
625
+ 100: "#155e75",
626
+ 200: "#0e7490",
627
+ 300: "#0891b2",
628
+ 400: "#22d3ee",
629
+ 500: "#67e8f9",
630
+ 600: "#a5f3fc",
631
+ 700: "#cffafe",
632
+ 800: "#ecfeff",
633
+ 900: "#f0fefe"
634
+ },
635
+ teal: {
636
+ 50: "#134e4a",
637
+ 100: "#166534",
638
+ 200: "#15803d",
639
+ 300: "#16a34a",
640
+ 400: "#22c55e",
641
+ 500: "#4ade80",
642
+ 600: "#5eead4",
643
+ 700: "#99f6e4",
644
+ 800: "#ccfbf1",
645
+ 900: "#f0fdfa"
646
+ },
647
+ emerald: {
648
+ 50: "#064e3b",
649
+ 100: "#065f46",
650
+ 200: "#047857",
651
+ 300: "#059669",
652
+ 400: "#10b981",
653
+ 500: "#34d399",
654
+ 600: "#6ee7b7",
655
+ 700: "#a7f3d0",
656
+ 800: "#d1fae5",
657
+ 900: "#ecfdf5"
658
+ },
659
+ green: {
660
+ 50: "#14532d",
661
+ 100: "#166534",
662
+ 200: "#15803d",
663
+ 300: "#16a34a",
664
+ 400: "#22c55e",
665
+ 500: "#4ade80",
666
+ 600: "#86efac",
667
+ 700: "#bbf7d0",
668
+ 800: "#dcfce7",
669
+ 900: "#f0fdf4"
670
+ },
671
+ lime: {
672
+ 50: "#365314",
673
+ 100: "#3f6212",
674
+ 200: "#4d7c0f",
675
+ 300: "#65a30d",
676
+ 400: "#84cc16",
677
+ 500: "#a3e635",
678
+ 600: "#bef264",
679
+ 700: "#d9f99d",
680
+ 800: "#ecfccb",
681
+ 900: "#f7fee7"
682
+ },
683
+ yellow: {
684
+ 50: "#713f12",
685
+ 100: "#854d0e",
686
+ 200: "#a16207",
687
+ 300: "#ca8a04",
688
+ 400: "#eab308",
689
+ 500: "#facc15",
690
+ 600: "#fde047",
691
+ 700: "#fef08a",
692
+ 800: "#fef9c3",
693
+ 900: "#fefce8"
694
+ },
695
+ amber: {
696
+ 50: "#78350f",
697
+ 100: "#92400e",
698
+ 200: "#b45309",
699
+ 300: "#d97706",
700
+ 400: "#f59e0b",
701
+ 500: "#fbbf24",
702
+ 600: "#fcd34d",
703
+ 700: "#fde68a",
704
+ 800: "#fef3c7",
705
+ 900: "#fffbeb"
706
+ },
707
+ orange: {
708
+ 50: "#7c2d12",
709
+ 100: "#9a3412",
710
+ 200: "#c2410c",
711
+ 300: "#ea580c",
712
+ 400: "#f97316",
713
+ 500: "#fb923c",
714
+ 600: "#fdba74",
715
+ 700: "#fed7aa",
716
+ 800: "#ffedd5",
717
+ 900: "#fff7ed"
718
+ },
719
+ red: {
720
+ 50: "#7f1d1d",
721
+ 100: "#991b1b",
722
+ 200: "#b91c1c",
723
+ 300: "#dc2626",
724
+ 400: "#ef4444",
725
+ 500: "#f87171",
726
+ 600: "#fca5a5",
727
+ 700: "#fecaca",
728
+ 800: "#fee2e2",
729
+ 900: "#fef2f2"
730
+ },
731
+ warmGray: {
732
+ 50: "#1c1917",
733
+ 100: "#292524",
734
+ 200: "#44403c",
735
+ 300: "#57534e",
736
+ 400: "#78716c",
737
+ 500: "#a8a29e",
738
+ 600: "#d6d3d1",
739
+ 700: "#e7e5e4",
740
+ 800: "#f5f5f4",
741
+ 900: "#fafaf9"
742
+ },
743
+ trueGray: {
744
+ 50: "#171717",
745
+ 100: "#262626",
746
+ 200: "#404040",
747
+ 300: "#525252",
748
+ 400: "#737373",
749
+ 500: "#a3a3a3",
750
+ 600: "#d4d4d4",
751
+ 700: "#e5e5e5",
752
+ 800: "#f5f5f5",
753
+ 900: "#fafafa"
754
+ },
755
+ gray: {
756
+ 50: "#18181b",
757
+ 100: "#27272a",
758
+ 200: "#3f3f46",
759
+ 300: "#52525b",
760
+ 400: "#71717a",
761
+ 500: "#a1a1aa",
762
+ 600: "#d4d4d8",
763
+ 700: "#e4e4e7",
764
+ 800: "#f4f4f5",
765
+ 900: "#fafafa"
766
+ },
767
+ dark: {
768
+ 50: "#212529",
769
+ 100: "#343a40",
770
+ 200: "#495057",
771
+ 300: "#868e96",
772
+ 400: "#adb5bd",
773
+ 500: "#ced4da",
774
+ 600: "#dee2e6",
775
+ 700: "#f1f3f5",
776
+ 800: "#f8f9fa",
777
+ 900: "#ffffff"
778
+ },
779
+ light: {
780
+ 50: "#fafafa",
781
+ 100: "#f4f4f5",
782
+ 200: "#e4e4e7",
783
+ 300: "#d4d4d8",
784
+ 400: "#a1a1aa",
785
+ 500: "#71717a",
786
+ 600: "#52525b",
787
+ 700: "#3f3f46",
788
+ 800: "#27272a",
789
+ 900: "#18181b"
790
+ },
791
+ coolGray: {
792
+ 50: "#111827",
793
+ 100: "#1f2937",
794
+ 200: "#374151",
795
+ 300: "#4b5563",
796
+ 400: "#6b7280",
797
+ 500: "#9ca3af",
798
+ 600: "#d1d5db",
799
+ 700: "#e5e7eb",
800
+ 800: "#f3f4f6",
801
+ 900: "#f9fafb"
802
+ },
803
+ blueGray: {
804
+ 50: "#0f172a",
805
+ 100: "#1e293b",
806
+ 200: "#334155",
807
+ 300: "#475569",
808
+ 400: "#64748b",
809
+ 500: "#94a3b8",
810
+ 600: "#cbd5e1",
811
+ 700: "#e2e8f0",
812
+ 800: "#f1f5f9",
813
+ 900: "#f8fafc"
814
+ },
815
+ slate: {
816
+ 50: "#0f172a",
817
+ 100: "#1e293b",
818
+ 200: "#334155",
819
+ 300: "#475569",
820
+ 400: "#64748b",
821
+ 500: "#94a3b8",
822
+ 600: "#cbd5e1",
823
+ 700: "#e2e8f0",
824
+ 800: "#f1f5f9",
825
+ 900: "#f8fafc"
826
+ },
827
+ zinc: {
828
+ 50: "#18181b",
829
+ 100: "#27272a",
830
+ 200: "#3f3f46",
831
+ 300: "#52525b",
832
+ 400: "#71717a",
833
+ 500: "#a1a1aa",
834
+ 600: "#d4d4d8",
835
+ 700: "#e4e4e7",
836
+ 800: "#f4f4f5",
837
+ 900: "#fafafa"
838
+ },
839
+ neutral: {
840
+ 50: "#171717",
841
+ 100: "#262626",
842
+ 200: "#404040",
843
+ 300: "#525252",
844
+ 400: "#737373",
845
+ 500: "#a3a3a3",
846
+ 600: "#d4d4d4",
847
+ 700: "#e5e5e5",
848
+ 800: "#f5f5f5",
849
+ 900: "#fafafa"
850
+ },
851
+ stone: {
852
+ 50: "#1c1917",
853
+ 100: "#292524",
854
+ 200: "#44403c",
855
+ 300: "#57534e",
856
+ 400: "#78716c",
857
+ 500: "#a8a29e",
858
+ 600: "#d6d3d1",
859
+ 700: "#e7e5e4",
860
+ 800: "#f5f5f4",
861
+ 900: "#fafaf9"
862
+ }
863
+ };
864
+ var defaultColors = {
865
+ white: "#FFFFFF",
866
+ black: "#000000",
867
+ red: "#FF0000",
868
+ green: "#00FF00",
869
+ blue: "#0000FF",
870
+ yellow: "#FFFF00",
871
+ cyan: "#00FFFF",
872
+ magenta: "#FF00FF",
873
+ grey: "#808080",
874
+ orange: "#FFA500",
875
+ brown: "#A52A2A",
876
+ purple: "#800080",
877
+ pink: "#FFC0CB"
878
+ };
879
+ var defaultLightColors = { ...defaultColors };
880
+ var defaultDarkColors = {
881
+ ...defaultColors,
882
+ white: "#000000",
883
+ black: "#FFFFFF"
884
+ };
885
+ var COLOR_TOKEN_REGEX = /(color-[a-zA-Z0-9-]+|theme-[a-zA-Z0-9-]+)/g;
886
+ var hasColorToken = (value) => {
887
+ return value.includes("color-") || value.includes("theme-");
888
+ };
889
+ var replaceColorTokens = (value, resolver) => {
890
+ if (!hasColorToken(value)) {
891
+ return value;
892
+ }
893
+ return value.replace(COLOR_TOKEN_REGEX, (token) => {
894
+ return resolver(token);
895
+ });
896
+ };
897
+
898
+ // src/shared/theme.ts
899
+ var COLOR_PREFIX = "color-";
900
+ var THEME_PREFIX = "theme-";
901
+ var LIGHT_PREFIX = "light-";
902
+ var DARK_PREFIX = "dark-";
903
+ var TRANSPARENT = "transparent";
904
+ var defaultThemeMain = {
905
+ primary: "color-black",
906
+ secondary: "color-blue",
907
+ success: "color-green-500",
908
+ error: "color-red-500",
909
+ warning: "color-orange-500",
910
+ disabled: "color-gray-500",
911
+ loading: "color-dark-500"
912
+ };
913
+ var defaultThemeColors = {
914
+ light: {
915
+ main: defaultLightColors,
916
+ palette: defaultLightPalette
917
+ },
918
+ dark: {
919
+ main: defaultDarkColors,
920
+ palette: defaultDarkPalette
921
+ }
922
+ };
923
+ function deepMerge(target, source) {
924
+ if (!source) return target;
925
+ const output = { ...target };
926
+ Object.keys(source).forEach((key) => {
927
+ const sourceValue = source[key];
928
+ const targetValue = target[key];
929
+ if (sourceValue && typeof sourceValue === "object" && !Array.isArray(sourceValue) && targetValue && typeof targetValue === "object" && !Array.isArray(targetValue)) {
930
+ output[key] = deepMerge(targetValue, sourceValue);
931
+ } else if (sourceValue !== void 0) {
932
+ output[key] = sourceValue;
933
+ }
934
+ });
935
+ return output;
936
+ }
937
+ function applyAlpha(color, alpha) {
938
+ const normalized = Math.max(0, Math.min(1e3, alpha)) / 1e3;
939
+ if (color.startsWith("#")) {
940
+ let hex = color.slice(1);
941
+ if (hex.length === 3) {
942
+ hex = hex.split("").map((char) => char + char).join("");
943
+ }
944
+ if (hex.length >= 6) {
945
+ const r = parseInt(hex.slice(0, 2), 16);
946
+ const g = parseInt(hex.slice(2, 4), 16);
947
+ const b = parseInt(hex.slice(4, 6), 16);
948
+ return `rgba(${r}, ${g}, ${b}, ${normalized})`;
949
+ }
950
+ }
951
+ if (color.startsWith("rgb")) {
952
+ const rgbMatch = color.match(/rgba?\(([^)]+)\)/);
953
+ if (rgbMatch) {
954
+ const values = rgbMatch[1].split(",").map((value) => value.trim());
955
+ return `rgba(${values[0]}, ${values[1]}, ${values[2]}, ${normalized})`;
956
+ }
957
+ }
958
+ return color;
959
+ }
960
+ function resolveThemeColor(token, options, depth = 0) {
961
+ if (!token || typeof token !== "string") return String(token);
962
+ if (token === TRANSPARENT) return token;
963
+ if (depth > 25) return token;
964
+ if (token.startsWith(THEME_PREFIX)) {
965
+ const parts = token.substring(THEME_PREFIX.length).split("-");
966
+ const lastPart = parts[parts.length - 1];
967
+ const maybeAlpha = parseInt(lastPart, 10);
968
+ const hasAlpha = parts.length >= 2 && !isNaN(maybeAlpha) && maybeAlpha >= 0 && maybeAlpha <= 1e3;
969
+ const themeKey = hasAlpha ? parts.slice(0, -1).join("-") : parts.join("-");
970
+ const themeValue = options.theme[themeKey];
971
+ if (typeof themeValue !== "string") return token;
972
+ const resolved = resolveThemeColor(themeValue, options, depth + 1);
973
+ return hasAlpha ? applyAlpha(resolved, maybeAlpha) : resolved;
974
+ }
975
+ if (token.startsWith(COLOR_PREFIX)) {
976
+ const parts = token.substring(COLOR_PREFIX.length).split("-");
977
+ const colors = options.colors[options.themeMode];
978
+ if (parts.length >= 3) {
979
+ const maybeAlpha = parseInt(parts[parts.length - 1], 10);
980
+ if (!isNaN(maybeAlpha) && maybeAlpha >= 0 && maybeAlpha <= 1e3) {
981
+ const colorName = parts[0];
982
+ const shade = Number(parts[1]);
983
+ const value = colors.palette[colorName]?.[shade];
984
+ return typeof value === "string" ? applyAlpha(value, maybeAlpha) : token;
985
+ }
986
+ }
987
+ if (parts.length === 2) {
988
+ const value = colors.palette[parts[0]]?.[Number(parts[1])];
989
+ return typeof value === "string" ? value : token;
990
+ }
991
+ if (parts.length === 1) {
992
+ const value = colors.main[parts[0]];
993
+ return typeof value === "string" ? value : token;
994
+ }
995
+ return token;
996
+ }
997
+ if (token.startsWith(LIGHT_PREFIX) || token.startsWith(DARK_PREFIX)) {
998
+ const themeMode = token.startsWith(LIGHT_PREFIX) ? "light" : "dark";
999
+ const prefix = token.startsWith(LIGHT_PREFIX) ? LIGHT_PREFIX : DARK_PREFIX;
1000
+ return resolveThemeColor(
1001
+ `${COLOR_PREFIX}${token.substring(prefix.length)}`,
1002
+ { ...options, themeMode },
1003
+ depth + 1
1004
+ );
1005
+ }
1006
+ return token;
1007
+ }
1008
+ function normalizeHex(color) {
1009
+ if (!color || typeof color !== "string") return String(color);
1010
+ if (color === TRANSPARENT) return "#00000000";
1011
+ if (color.startsWith("#")) {
1012
+ const hex = color.slice(1);
1013
+ if (hex.length === 3) {
1014
+ return `#${hex.split("").map((char) => char + char).join("")}`.toLowerCase();
1015
+ }
1016
+ return color.toLowerCase();
1017
+ }
1018
+ const rgbMatch = color.match(/rgba?\(([^)]+)\)/);
1019
+ if (!rgbMatch) return color;
1020
+ const values = rgbMatch[1].split(",").map((value) => Number(value.trim()));
1021
+ if (values.length < 3 || values.some((value) => Number.isNaN(value))) {
1022
+ return color;
1023
+ }
1024
+ const [r, g, b] = values;
1025
+ return `#${[r, g, b].map(
1026
+ (value) => Math.max(0, Math.min(255, Math.round(value))).toString(16).padStart(2, "0")
1027
+ ).join("")}`;
1028
+ }
1029
+
1030
+ // src/native/providers/Theme.tsx
1031
+ var defaultContext = {
1032
+ getColor: (name) => name,
1033
+ getColorHex: (name) => name,
1034
+ getColorRGBA: (name) => name,
1035
+ getColorScheme: () => void 0,
1036
+ getContrastColor: () => "black",
1037
+ theme: defaultThemeMain,
1038
+ colors: defaultThemeColors.light,
1039
+ themeMode: "light",
1040
+ setThemeMode: () => {
1041
+ }
1042
+ };
1043
+ var ThemeContext = createContext2(defaultContext);
1044
+ var useTheme = () => useContext2(ThemeContext);
1045
+ function toRgba(color, alpha) {
1046
+ if (typeof alpha !== "number") return color;
1047
+ const normalized = Math.max(0, Math.min(1e3, alpha)) / 1e3;
1048
+ const hex = normalizeHex(color);
1049
+ if (!hex.startsWith("#") || hex.length < 7) return color;
1050
+ const r = parseInt(hex.slice(1, 3), 16);
1051
+ const g = parseInt(hex.slice(3, 5), 16);
1052
+ const b = parseInt(hex.slice(5, 7), 16);
1053
+ return `rgba(${r}, ${g}, ${b}, ${normalized})`;
1054
+ }
1055
+ function contrastColor(hex) {
1056
+ const normalized = normalizeHex(hex);
1057
+ if (!normalized.startsWith("#") || normalized.length < 7) return "black";
1058
+ const r = parseInt(normalized.slice(1, 3), 16);
1059
+ const g = parseInt(normalized.slice(3, 5), 16);
1060
+ const b = parseInt(normalized.slice(5, 7), 16);
1061
+ const luminance = (0.299 * r + 0.587 * g + 0.114 * b) / 255;
1062
+ return luminance > 0.58 ? "black" : "white";
1063
+ }
1064
+ var ThemeProvider = ({
1065
+ colors,
1066
+ lightColors,
1067
+ darkColors,
1068
+ theme,
1069
+ initialMode = "light",
1070
+ children
1071
+ }) => {
1072
+ const [themeMode, setThemeMode] = useState(initialMode);
1073
+ const mergedTheme = useMemo2(
1074
+ () => deepMerge(defaultThemeMain, theme),
1075
+ [theme]
1076
+ );
1077
+ const mergedColors = useMemo2(
1078
+ () => ({
1079
+ light: deepMerge(
1080
+ defaultThemeColors.light,
1081
+ deepMerge(colors || {}, lightColors || {})
1082
+ ),
1083
+ dark: deepMerge(
1084
+ defaultThemeColors.dark,
1085
+ deepMerge(colors || {}, darkColors || {})
1086
+ )
1087
+ }),
1088
+ [colors, lightColors, darkColors]
1089
+ );
1090
+ const getColor = useCallback(
1091
+ (name) => resolveThemeColor(name, {
1092
+ colors: mergedColors,
1093
+ theme: mergedTheme,
1094
+ themeMode
1095
+ }),
1096
+ [mergedColors, mergedTheme, themeMode]
1097
+ );
1098
+ const getColorHex = useCallback(
1099
+ (name) => normalizeHex(getColor(name)),
1100
+ [getColor]
1101
+ );
1102
+ const getColorRGBA = useCallback(
1103
+ (name, alpha) => toRgba(getColor(name), alpha),
1104
+ [getColor]
1105
+ );
1106
+ const getColorScheme = useCallback((name) => {
1107
+ if (name.startsWith("theme-")) return name.slice("theme-".length);
1108
+ if (name.startsWith("color-")) return name.split("-")[1];
1109
+ return void 0;
1110
+ }, []);
1111
+ const getContrastColor = useCallback(
1112
+ (name) => contrastColor(getColorHex(name)),
1113
+ [getColorHex]
1114
+ );
1115
+ const value = useMemo2(
1116
+ () => ({
1117
+ getColor,
1118
+ getColorHex,
1119
+ getColorRGBA,
1120
+ getColorScheme,
1121
+ getContrastColor,
1122
+ theme: mergedTheme,
1123
+ colors: mergedColors[themeMode],
1124
+ themeMode,
1125
+ setThemeMode
1126
+ }),
1127
+ [
1128
+ getColor,
1129
+ getColorHex,
1130
+ getColorRGBA,
1131
+ getColorScheme,
1132
+ getContrastColor,
1133
+ mergedTheme,
1134
+ mergedColors,
1135
+ themeMode
1136
+ ]
1137
+ );
1138
+ return /* @__PURE__ */ React2.createElement(ThemeContext.Provider, { value }, children);
1139
+ };
1140
+
1141
+ // src/native/style.ts
1142
+ var stylePropNames = /* @__PURE__ */ new Set([
1143
+ "alignContent",
1144
+ "alignItems",
1145
+ "alignSelf",
1146
+ "aspectRatio",
1147
+ "backfaceVisibility",
1148
+ "backgroundColor",
1149
+ "borderBottomColor",
1150
+ "borderBottomEndRadius",
1151
+ "borderBottomLeftRadius",
1152
+ "borderBottomRightRadius",
1153
+ "borderBottomStartRadius",
1154
+ "borderBottomWidth",
1155
+ "borderColor",
1156
+ "borderCurve",
1157
+ "borderEndColor",
1158
+ "borderEndWidth",
1159
+ "borderLeftColor",
1160
+ "borderLeftWidth",
1161
+ "borderRadius",
1162
+ "borderRightColor",
1163
+ "borderRightWidth",
1164
+ "borderStartColor",
1165
+ "borderStartWidth",
1166
+ "borderStyle",
1167
+ "borderTopColor",
1168
+ "borderTopEndRadius",
1169
+ "borderTopLeftRadius",
1170
+ "borderTopRightRadius",
1171
+ "borderTopStartRadius",
1172
+ "borderTopWidth",
1173
+ "borderWidth",
1174
+ "bottom",
1175
+ "boxShadow",
1176
+ "color",
1177
+ "columnGap",
1178
+ "direction",
1179
+ "display",
1180
+ "elevation",
1181
+ "end",
1182
+ "flex",
1183
+ "flexBasis",
1184
+ "flexDirection",
1185
+ "flexGrow",
1186
+ "flexShrink",
1187
+ "flexWrap",
1188
+ "fontFamily",
1189
+ "fontSize",
1190
+ "fontStyle",
1191
+ "fontVariant",
1192
+ "fontWeight",
1193
+ "gap",
1194
+ "height",
1195
+ "includeFontPadding",
1196
+ "justifyContent",
1197
+ "left",
1198
+ "letterSpacing",
1199
+ "lineHeight",
1200
+ "margin",
1201
+ "marginBottom",
1202
+ "marginEnd",
1203
+ "marginHorizontal",
1204
+ "marginLeft",
1205
+ "marginRight",
1206
+ "marginStart",
1207
+ "marginTop",
1208
+ "marginVertical",
1209
+ "maxHeight",
1210
+ "maxWidth",
1211
+ "minHeight",
1212
+ "minWidth",
1213
+ "objectFit",
1214
+ "opacity",
1215
+ "overflow",
1216
+ "overlayColor",
1217
+ "padding",
1218
+ "paddingBottom",
1219
+ "paddingEnd",
1220
+ "paddingHorizontal",
1221
+ "paddingLeft",
1222
+ "paddingRight",
1223
+ "paddingStart",
1224
+ "paddingTop",
1225
+ "paddingVertical",
1226
+ "position",
1227
+ "resizeMode",
1228
+ "right",
1229
+ "rowGap",
1230
+ "shadowColor",
1231
+ "shadowOffset",
1232
+ "shadowOpacity",
1233
+ "shadowRadius",
1234
+ "start",
1235
+ "textAlign",
1236
+ "textAlignVertical",
1237
+ "textDecorationColor",
1238
+ "textDecorationLine",
1239
+ "textDecorationStyle",
1240
+ "textShadowColor",
1241
+ "textShadowOffset",
1242
+ "textShadowRadius",
1243
+ "textTransform",
1244
+ "tintColor",
1245
+ "top",
1246
+ "transform",
1247
+ "transformOrigin",
1248
+ "verticalAlign",
1249
+ "width",
1250
+ "writingDirection",
1251
+ "zIndex"
1252
+ ]);
1253
+ var controlProps = /* @__PURE__ */ new Set([
1254
+ "children",
1255
+ "style",
1256
+ "css",
1257
+ "media",
1258
+ "on",
1259
+ "onPress",
1260
+ "onClick",
1261
+ "className",
1262
+ "as",
1263
+ "animate",
1264
+ "animateIn",
1265
+ "animateOut",
1266
+ "animateOn",
1267
+ "blend",
1268
+ "before",
1269
+ "after",
1270
+ "theme",
1271
+ "widthHeight",
1272
+ "shadow"
1273
+ ]);
1274
+ var webOnlyProps = /* @__PURE__ */ new Set([
1275
+ "_hover",
1276
+ "_active",
1277
+ "_focus",
1278
+ "_visited",
1279
+ "_disabled",
1280
+ "_enabled",
1281
+ "_checked",
1282
+ "_unchecked",
1283
+ "_invalid",
1284
+ "_valid",
1285
+ "_required",
1286
+ "_optional",
1287
+ "_selected",
1288
+ "_target",
1289
+ "_firstChild",
1290
+ "_lastChild",
1291
+ "_onlyChild",
1292
+ "_firstOfType",
1293
+ "_lastOfType",
1294
+ "_empty",
1295
+ "_focusVisible",
1296
+ "_focusWithin",
1297
+ "_placeholder",
1298
+ "_groupHover",
1299
+ "_groupFocus",
1300
+ "_groupActive",
1301
+ "_groupDisabled",
1302
+ "_peerHover",
1303
+ "_peerFocus",
1304
+ "_peerActive",
1305
+ "_peerDisabled",
1306
+ "_peerChecked",
1307
+ "_before",
1308
+ "_after",
1309
+ "_firstLetter",
1310
+ "_firstLine",
1311
+ "_selection",
1312
+ "_backdrop",
1313
+ "_marker"
1314
+ ]);
1315
+ function isColorStyle(property) {
1316
+ return property === "color" || property.toLowerCase().includes("color");
1317
+ }
1318
+ function normalizeValue(property, value, getColor) {
1319
+ if (typeof value === "string" && isColorStyle(property)) {
1320
+ return getColor(value);
1321
+ }
1322
+ return value;
1323
+ }
1324
+ function applyShadow(style, value) {
1325
+ if (!value) return;
1326
+ const opacity = typeof value === "number" ? value : 0.2;
1327
+ style.shadowColor = "#000000";
1328
+ style.shadowOpacity = opacity;
1329
+ style.shadowRadius = 4;
1330
+ style.shadowOffset = { width: 0, height: 1 };
1331
+ style.elevation = Math.max(1, Math.round(opacity * 25));
1332
+ }
1333
+ function appendStyleProps(input, output, getColor) {
1334
+ if (!input) return;
1335
+ Object.keys(input).forEach((property) => {
1336
+ const value = input[property];
1337
+ if (value === void 0 || value === null || value === "") return;
1338
+ if (property === "widthHeight") {
1339
+ output.width = value;
1340
+ output.height = value;
1341
+ return;
1342
+ }
1343
+ if (property === "shadow") {
1344
+ applyShadow(output, value);
1345
+ return;
1346
+ }
1347
+ if (stylePropNames.has(property)) {
1348
+ output[property] = normalizeValue(property, value, getColor);
1349
+ }
1350
+ });
1351
+ }
1352
+ function matchesMedia(target, width, breakpoints, devices) {
1353
+ const ordered = Object.entries(breakpoints).sort(([, a], [, b]) => b - a);
1354
+ const breakpoint = ordered.find(([, min]) => width >= min)?.[0] || "xs";
1355
+ if (target === breakpoint) return true;
1356
+ if (devices[target]?.includes(breakpoint)) return true;
1357
+ return false;
1358
+ }
1359
+ function splitNativeProps(props) {
1360
+ const nativeProps = {};
1361
+ Object.keys(props).forEach((key) => {
1362
+ if (controlProps.has(key) || stylePropNames.has(key) || webOnlyProps.has(key)) {
1363
+ return;
1364
+ }
1365
+ if (key === "data-testid") {
1366
+ nativeProps.testID = props[key];
1367
+ return;
1368
+ }
1369
+ if (key === "aria-label") {
1370
+ nativeProps.accessibilityLabel = props[key];
1371
+ return;
1372
+ }
1373
+ nativeProps[key] = props[key];
1374
+ });
1375
+ return nativeProps;
1376
+ }
1377
+ function useNativeStyle(props) {
1378
+ const { getColor, theme } = useTheme();
1379
+ const responsive = useResponsiveContext();
1380
+ const dimensions = useWindowDimensions();
1381
+ const scopedGetColor = useMemo3(() => {
1382
+ if (!props.theme) return getColor;
1383
+ return (token) => {
1384
+ if (!token.startsWith("theme-")) return getColor(token);
1385
+ const themeKey = token.slice("theme-".length).split("-")[0];
1386
+ const override = props.theme?.[themeKey];
1387
+ return override ? getColor(override) : getColor(token);
1388
+ };
1389
+ }, [getColor, props.theme]);
1390
+ const style = useMemo3(() => {
1391
+ const next = {};
1392
+ appendStyleProps(props, next, scopedGetColor);
1393
+ if (props.media) {
1394
+ Object.keys(props.media).forEach((target) => {
1395
+ if (matchesMedia(
1396
+ target,
1397
+ dimensions.width || responsive.currentWidth,
1398
+ responsive.breakpoints,
1399
+ responsive.devices
1400
+ )) {
1401
+ appendStyleProps(props.media?.[target], next, scopedGetColor);
1402
+ }
1403
+ });
1404
+ }
1405
+ if (props.css && typeof props.css === "object") {
1406
+ appendStyleProps(props.css, next, scopedGetColor);
1407
+ }
1408
+ const flattened = StyleSheet.flatten(props.style) || {};
1409
+ return { ...next, ...flattened };
1410
+ }, [
1411
+ props,
1412
+ scopedGetColor,
1413
+ dimensions.width,
1414
+ responsive.currentWidth,
1415
+ responsive.breakpoints,
1416
+ responsive.devices,
1417
+ theme
1418
+ ]);
1419
+ return style;
1420
+ }
1421
+
1422
+ // src/native/components.tsx
1423
+ function renderChildren(children, textProps) {
1424
+ if (!textProps?.toUpperCase) return children;
1425
+ return React3.Children.map(
1426
+ children,
1427
+ (child) => typeof child === "string" ? child.toUpperCase() : child
1428
+ );
1429
+ }
1430
+ function sourceFromProps({ source, src }) {
1431
+ if (source) return source;
1432
+ if (src) return { uri: src };
1433
+ return void 0;
1434
+ }
1435
+ var Element = React3.forwardRef((props, ref) => {
1436
+ const style = useNativeStyle(props);
1437
+ const nativeProps = splitNativeProps(props);
1438
+ const onPress = props.onPress || props.onClick;
1439
+ const Component = onPress ? Pressable : RNView;
1440
+ return /* @__PURE__ */ React3.createElement(Component, { ...nativeProps, ref, onPress, style }, props.before, props.children, props.after);
1441
+ });
1442
+ Element.displayName = "Element";
1443
+ var View = React3.forwardRef((props, ref) => /* @__PURE__ */ React3.createElement(Element, { ...props, ref }));
1444
+ View.displayName = "View";
1445
+ var Horizontal = React3.forwardRef((props, ref) => /* @__PURE__ */ React3.createElement(Element, { flexDirection: "row", ...props, ref }));
1446
+ Horizontal.displayName = "Horizontal";
1447
+ var Vertical = React3.forwardRef((props, ref) => /* @__PURE__ */ React3.createElement(Element, { flexDirection: "column", ...props, ref }));
1448
+ Vertical.displayName = "Vertical";
1449
+ var Center = React3.forwardRef((props, ref) => /* @__PURE__ */ React3.createElement(Element, { justifyContent: "center", alignItems: "center", ...props, ref }));
1450
+ Center.displayName = "Center";
1451
+ var HorizontalResponsive = React3.forwardRef(
1452
+ ({ media = {}, ...props }, ref) => /* @__PURE__ */ React3.createElement(
1453
+ Horizontal,
1454
+ {
1455
+ media: {
1456
+ ...media,
1457
+ mobile: {
1458
+ ...media.mobile,
1459
+ flexDirection: "column"
1460
+ }
1461
+ },
1462
+ ...props,
1463
+ ref
1464
+ }
1465
+ )
1466
+ );
1467
+ HorizontalResponsive.displayName = "HorizontalResponsive";
1468
+ var VerticalResponsive = React3.forwardRef(
1469
+ ({ media = {}, ...props }, ref) => /* @__PURE__ */ React3.createElement(
1470
+ Vertical,
1471
+ {
1472
+ media: {
1473
+ ...media,
1474
+ mobile: {
1475
+ ...media.mobile,
1476
+ flexDirection: "row"
1477
+ }
1478
+ },
1479
+ ...props,
1480
+ ref
1481
+ }
1482
+ )
1483
+ );
1484
+ VerticalResponsive.displayName = "VerticalResponsive";
1485
+ var Scroll = React3.forwardRef((props, ref) => {
1486
+ const style = useNativeStyle(props);
1487
+ const nativeProps = splitNativeProps(props);
1488
+ return /* @__PURE__ */ React3.createElement(RNScrollView, { ...nativeProps, ref, style }, props.children);
1489
+ });
1490
+ Scroll.displayName = "Scroll";
1491
+ var SafeArea = React3.forwardRef((props, ref) => {
1492
+ const style = useNativeStyle(props);
1493
+ const nativeProps = splitNativeProps(props);
1494
+ return /* @__PURE__ */ React3.createElement(SafeAreaView, { ...nativeProps, ref, style }, props.children);
1495
+ });
1496
+ SafeArea.displayName = "SafeArea";
1497
+ var Div = View;
1498
+ var Span = View;
1499
+ var Text = React3.forwardRef(
1500
+ ({
1501
+ children,
1502
+ toUpperCase,
1503
+ isItalic,
1504
+ isStriked,
1505
+ isUnderlined,
1506
+ isSub,
1507
+ isSup,
1508
+ maxLines,
1509
+ ...props
1510
+ }, ref) => {
1511
+ const style = useNativeStyle({
1512
+ ...props,
1513
+ fontStyle: isItalic ? "italic" : props.fontStyle,
1514
+ textDecorationLine: isStriked ? "line-through" : isUnderlined ? "underline" : props.textDecorationLine,
1515
+ fontSize: isSub || isSup ? props.fontSize || 12 : props.fontSize
1516
+ });
1517
+ const nativeProps = splitNativeProps(props);
1518
+ return /* @__PURE__ */ React3.createElement(RNText, { ...nativeProps, ref, numberOfLines: maxLines, style }, renderChildren(children, { toUpperCase }));
1519
+ }
1520
+ );
1521
+ Text.displayName = "Text";
1522
+ var Image = React3.forwardRef((props, ref) => {
1523
+ const style = useNativeStyle(props);
1524
+ const nativeProps = splitNativeProps(props);
1525
+ return /* @__PURE__ */ React3.createElement(
1526
+ RNImage,
1527
+ {
1528
+ ...nativeProps,
1529
+ ref,
1530
+ source: sourceFromProps(props),
1531
+ accessibilityLabel: props.alt || nativeProps.accessibilityLabel,
1532
+ style
1533
+ }
1534
+ );
1535
+ });
1536
+ Image.displayName = "Image";
1537
+ var ImageBackground = React3.forwardRef(
1538
+ (props, ref) => {
1539
+ const style = useNativeStyle(props);
1540
+ const nativeProps = splitNativeProps(props);
1541
+ return /* @__PURE__ */ React3.createElement(
1542
+ RNImageBackground,
1543
+ {
1544
+ ...nativeProps,
1545
+ ref,
1546
+ source: sourceFromProps(props),
1547
+ accessibilityLabel: props.alt || nativeProps.accessibilityLabel,
1548
+ style
1549
+ },
1550
+ props.children
1551
+ );
1552
+ }
1553
+ );
1554
+ ImageBackground.displayName = "ImageBackground";
1555
+ var Form = View;
1556
+ var Input = React3.forwardRef((props, ref) => {
1557
+ const style = useNativeStyle(props);
1558
+ const nativeProps = splitNativeProps(props);
1559
+ return /* @__PURE__ */ React3.createElement(TextInput, { ...nativeProps, ref, style });
1560
+ });
1561
+ Input.displayName = "Input";
1562
+ var Button = React3.forwardRef(
1563
+ ({ children, disabled, ...props }, ref) => {
1564
+ const style = useNativeStyle(props);
1565
+ const nativeProps = splitNativeProps(props);
1566
+ const onPress = disabled ? void 0 : props.onPress || props.onClick;
1567
+ return /* @__PURE__ */ React3.createElement(
1568
+ Pressable,
1569
+ {
1570
+ ...nativeProps,
1571
+ ref,
1572
+ accessibilityRole: "button",
1573
+ disabled,
1574
+ onPress,
1575
+ style
1576
+ },
1577
+ typeof children === "string" || typeof children === "number" ? /* @__PURE__ */ React3.createElement(RNText, null, children) : children
1578
+ );
1579
+ }
1580
+ );
1581
+ Button.displayName = "Button";
1582
+ var Skeleton = React3.forwardRef(
1583
+ ({ backgroundColor = "color-gray-200", ...props }, ref) => /* @__PURE__ */ React3.createElement(
1584
+ View,
1585
+ {
1586
+ accessibilityRole: "progressbar",
1587
+ backgroundColor,
1588
+ ...props,
1589
+ ref
1590
+ }
1591
+ )
1592
+ );
1593
+ Skeleton.displayName = "Skeleton";
1594
+
1595
+ // src/native/providers/WindowSize.tsx
1596
+ import React4, { createContext as createContext3 } from "react";
1597
+ import { useWindowDimensions as useRNWindowDimensions2 } from "react-native";
1598
+ var WindowSizeContext = createContext3({ width: 0, height: 0 });
1599
+ var WindowSizeProvider = ({ children }) => {
1600
+ const { width, height } = useRNWindowDimensions2();
1601
+ return /* @__PURE__ */ React4.createElement(WindowSizeContext.Provider, { value: { width, height } }, children);
1602
+ };
1603
+
1604
+ // src/native/providers/StyleRegistry.tsx
1605
+ import React5 from "react";
1606
+ var useStyleRegistry = () => ({ manager: void 0 });
1607
+ var StyleRegistry = ({ children }) => /* @__PURE__ */ React5.createElement(React5.Fragment, null, children);
1608
+ var createStyleRegistry = () => void 0;
1609
+ var useServerInsertedHTML = () => () => null;
1610
+
1611
+ // src/providers/Analytics.tsx
1612
+ import React6, { createContext as createContext4, useContext as useContext3, useMemo as useMemo4 } from "react";
1613
+ var AnalyticsContext = createContext4({});
1614
+ var useAnalytics = () => useContext3(AnalyticsContext);
1615
+ var AnalyticsProvider = ({
1616
+ trackEvent,
1617
+ children
1618
+ }) => {
1619
+ const value = useMemo4(() => ({ trackEvent }), [trackEvent]);
1620
+ return /* @__PURE__ */ React6.createElement(AnalyticsContext.Provider, { value }, children);
1621
+ };
1622
+
1623
+ // src/native/hooks.ts
1624
+ import {
1625
+ useCallback as useCallback2,
1626
+ useContext as useContext4,
1627
+ useEffect,
1628
+ useMemo as useMemo5,
1629
+ useRef,
1630
+ useState as useState2
1631
+ } from "react";
1632
+ var useWindowSize = () => useContext4(WindowSizeContext);
1633
+ var useBreakpoint = () => {
1634
+ const context = useBreakpointContext();
1635
+ const { currentBreakpoint: screen, devices, orientation } = context;
1636
+ const on = useCallback2(
1637
+ (target) => devices[target] ? devices[target].includes(screen) : target === screen,
1638
+ [devices, screen]
1639
+ );
1640
+ return useMemo5(
1641
+ () => ({ ...context, screen, orientation, on, is: on }),
1642
+ [context, screen, orientation, on]
1643
+ );
1644
+ };
1645
+ var useWindowDimensions2 = () => useWindowDimensionsContext();
1646
+ var useResponsive = () => {
1647
+ const context = useResponsiveContext();
1648
+ const { currentBreakpoint: screen, devices, orientation } = context;
1649
+ const on = useCallback2(
1650
+ (target) => devices[target] ? devices[target].includes(screen) : target === screen,
1651
+ [devices, screen]
1652
+ );
1653
+ return useMemo5(
1654
+ () => ({ ...context, screen, orientation, on, is: on }),
1655
+ [context, screen, orientation, on]
1656
+ );
1657
+ };
1658
+ var useMount = (callback) => {
1659
+ useEffect(() => {
1660
+ callback();
1661
+ }, [callback]);
1662
+ };
1663
+ var useHover = () => {
1664
+ const [isHovered] = useState2(false);
1665
+ return { isHovered, hoverProps: {} };
1666
+ };
1667
+ var useActive = () => {
1668
+ const [isActive] = useState2(false);
1669
+ return { isActive, activeProps: {} };
1670
+ };
1671
+ var useFocus = () => {
1672
+ const [isFocused] = useState2(false);
1673
+ return { isFocused, focusProps: {} };
1674
+ };
1675
+ var useClickOutside = () => ({ ref: useRef(null), isOutside: false });
1676
+ var useElementPosition = () => ({ ref: useRef(null), position: null });
1677
+ var useKeyPress = () => false;
1678
+ var useOnScreen = () => ({ ref: useRef(null), isOnScreen: true });
1679
+ var useInView = () => ({ ref: useRef(null), inView: true });
1680
+ var useIframeStyles = () => ({ iframeRef: useRef(null) });
1681
+ var useScroll = () => ({
1682
+ scrollY: 0,
1683
+ scrollX: 0,
1684
+ scrollDirection: null,
1685
+ scrollTo: () => {
1686
+ },
1687
+ scrollToTop: () => {
1688
+ },
1689
+ scrollToBottom: () => {
1690
+ }
1691
+ });
1692
+
1693
+ // src/element/Animation.tsx
1694
+ var Animation_exports = {};
1695
+ __export(Animation_exports, {
1696
+ backInDown: () => backInDown,
1697
+ backOutUp: () => backOutUp,
1698
+ blinkCursor: () => blinkCursor,
1699
+ bounce: () => bounce,
1700
+ bounceIn: () => bounceIn,
1701
+ bounceOut: () => bounceOut,
1702
+ ctaCollapseScroll: () => ctaCollapseScroll,
1703
+ fadeBlurScroll: () => fadeBlurScroll,
1704
+ fadeIn: () => fadeIn,
1705
+ fadeInDown: () => fadeInDown,
1706
+ fadeInScroll: () => fadeInScroll,
1707
+ fadeInUp: () => fadeInUp,
1708
+ fadeOut: () => fadeOut,
1709
+ fillTextScroll: () => fillTextScroll,
1710
+ flash: () => flash,
1711
+ flip: () => flip,
1712
+ flipInX: () => flipInX,
1713
+ flipInY: () => flipInY,
1714
+ handWaveScroll: () => handWaveScroll,
1715
+ headShake: () => headShake,
1716
+ heartBeat: () => heartBeat,
1717
+ hinge: () => hinge,
1718
+ jackInTheBox: () => jackInTheBox,
1719
+ jello: () => jello,
1720
+ lightSpeedIn: () => lightSpeedIn,
1721
+ lightSpeedOut: () => lightSpeedOut,
1722
+ listItemScaleScroll: () => listItemScaleScroll,
1723
+ progress: () => progress,
1724
+ pulse: () => pulse,
1725
+ rollIn: () => rollIn,
1726
+ rollOut: () => rollOut,
1727
+ rotate: () => rotate,
1728
+ rubberBand: () => rubberBand,
1729
+ scale: () => scale,
1730
+ scaleDownArticleScroll: () => scaleDownArticleScroll,
1731
+ scaleDownScroll: () => scaleDownScroll,
1732
+ shake: () => shake,
1733
+ shimmer: () => shimmer,
1734
+ slideInDown: () => slideInDown,
1735
+ slideInLeft: () => slideInLeft,
1736
+ slideInLeftScroll: () => slideInLeftScroll,
1737
+ slideInRight: () => slideInRight,
1738
+ slideInUp: () => slideInUp,
1739
+ slideOutLeft: () => slideOutLeft,
1740
+ slideOutRight: () => slideOutRight,
1741
+ swing: () => swing,
1742
+ tada: () => tada,
1743
+ typewriter: () => typewriter,
1744
+ unclipScroll: () => unclipScroll,
1745
+ wobble: () => wobble,
1746
+ zoomIn: () => zoomIn,
1747
+ zoomInDown: () => zoomInDown,
1748
+ zoomOut: () => zoomOut,
1749
+ zoomOutUp: () => zoomOutUp
1750
+ });
1751
+ var fadeIn = ({ duration = "1s", timingFunction = "ease", ...props } = {
1752
+ duration: "1s",
1753
+ timingFunction: "ease"
1754
+ }) => ({
1755
+ from: { opacity: 0 },
1756
+ to: { opacity: 1 },
1757
+ duration,
1758
+ timingFunction,
1759
+ ...props
1760
+ });
1761
+ var fadeOut = ({ duration = "1s", timingFunction = "ease", ...props } = {
1762
+ duration: "1s",
1763
+ timingFunction: "ease"
1764
+ }) => ({
1765
+ from: { opacity: 1 },
1766
+ to: { opacity: 0 },
1767
+ duration,
1768
+ timingFunction,
1769
+ ...props
1770
+ });
1771
+ var slideInLeft = ({
1772
+ duration = "0.5s",
1773
+ timingFunction = "ease-out",
1774
+ ...props
1775
+ } = {
1776
+ duration: "0.5s",
1777
+ timingFunction: "ease-out"
1778
+ }) => ({
1779
+ from: { transform: "translateX(-100%)" },
1780
+ to: { transform: "translateX(0)" },
1781
+ duration,
1782
+ timingFunction,
1783
+ ...props
1784
+ });
1785
+ var slideInRight = ({
1786
+ duration = "0.5s",
1787
+ timingFunction = "ease-out",
1788
+ ...props
1789
+ } = {
1790
+ duration: "0.5s",
1791
+ timingFunction: "ease-out"
1792
+ }) => ({
1793
+ from: { transform: "translateX(100%)" },
1794
+ to: { transform: "translateX(0)" },
1795
+ duration,
1796
+ timingFunction,
1797
+ ...props
1798
+ });
1799
+ var slideInDown = ({
1800
+ duration = "0.5s",
1801
+ timingFunction = "ease-out",
1802
+ ...props
1803
+ } = {
1804
+ duration: "0.5s",
1805
+ timingFunction: "ease-out"
1806
+ }) => ({
1807
+ from: { transform: "translateY(-100%)" },
1808
+ to: { transform: "translateY(0)" },
1809
+ duration,
1810
+ timingFunction,
1811
+ ...props
1812
+ });
1813
+ var slideInUp = ({
1814
+ duration = "0.5s",
1815
+ timingFunction = "ease-out",
1816
+ ...props
1817
+ } = {
1818
+ duration: "0.5s",
1819
+ timingFunction: "ease-out"
1820
+ }) => ({
1821
+ from: { transform: "translateY(100%)" },
1822
+ to: { transform: "translateY(0)" },
1823
+ duration,
1824
+ timingFunction,
1825
+ ...props
1826
+ });
1827
+ var bounce = ({
1828
+ duration = "2s",
1829
+ timingFunction = "ease",
1830
+ iterationCount = "infinite",
1831
+ ...props
1832
+ } = {
1833
+ duration: "2s",
1834
+ timingFunction: "ease",
1835
+ iterationCount: "infinite"
1836
+ }) => ({
1837
+ from: { transform: "translateY(0)" },
1838
+ "20%": { transform: "translateY(-30px)" },
1839
+ "40%": { transform: "translateY(0)" },
1840
+ "60%": { transform: "translateY(-15px)" },
1841
+ "80%": { transform: "translateY(0)" },
1842
+ to: { transform: "translateY(0)" },
1843
+ duration,
1844
+ timingFunction,
1845
+ iterationCount,
1846
+ ...props
1847
+ });
1848
+ var rotate = ({
1849
+ duration = "1s",
1850
+ timingFunction = "linear",
1851
+ iterationCount = "infinite",
1852
+ ...props
1853
+ } = {
1854
+ duration: "1s",
1855
+ timingFunction: "linear",
1856
+ iterationCount: "infinite"
1857
+ }) => ({
1858
+ from: { transform: "rotate(0deg)" },
1859
+ to: { transform: "rotate(360deg)" },
1860
+ duration,
1861
+ timingFunction,
1862
+ iterationCount,
1863
+ ...props
1864
+ });
1865
+ var pulse = ({
1866
+ duration = "1s",
1867
+ timingFunction = "ease-in-out",
1868
+ iterationCount = "infinite",
1869
+ ...props
1870
+ } = {
1871
+ duration: "1s",
1872
+ timingFunction: "ease-in-out",
1873
+ iterationCount: "infinite"
1874
+ }) => ({
1875
+ from: { transform: "scale(1)" },
1876
+ "50%": { transform: "scale(1.05)" },
1877
+ to: { transform: "scale(1)" },
1878
+ duration,
1879
+ timingFunction,
1880
+ iterationCount,
1881
+ ...props
1882
+ });
1883
+ var zoomIn = ({
1884
+ duration = "0.5s",
1885
+ timingFunction = "ease-out",
1886
+ ...props
1887
+ } = {
1888
+ duration: "0.5s",
1889
+ timingFunction: "ease-out"
1890
+ }) => ({
1891
+ from: { transform: "scale(0)" },
1892
+ to: { transform: "scale(1)" },
1893
+ duration,
1894
+ timingFunction,
1895
+ ...props
1896
+ });
1897
+ var zoomOut = ({
1898
+ duration = "0.5s",
1899
+ timingFunction = "ease-out",
1900
+ ...props
1901
+ } = {
1902
+ duration: "0.5s",
1903
+ timingFunction: "ease-out"
1904
+ }) => ({
1905
+ from: { transform: "scale(1)" },
1906
+ to: { transform: "scale(0)" },
1907
+ duration,
1908
+ timingFunction,
1909
+ ...props
1910
+ });
1911
+ var flash = ({ duration = "1s", iterationCount = "infinite", ...props } = {
1912
+ duration: "1s",
1913
+ iterationCount: "infinite"
1914
+ }) => ({
1915
+ from: { opacity: 1 },
1916
+ "50%": { opacity: 0 },
1917
+ to: { opacity: 1 },
1918
+ duration,
1919
+ iterationCount,
1920
+ ...props
1921
+ });
1922
+ var scale = ({
1923
+ duration = "1s",
1924
+ timingFunction = "ease-in-out",
1925
+ iterationCount = "infinite",
1926
+ ...props
1927
+ } = {
1928
+ duration: "1s",
1929
+ timingFunction: "ease-in-out",
1930
+ iterationCount: "infinite"
1931
+ }) => ({
1932
+ from: { transform: "scale(1)" },
1933
+ "50%": { transform: "scale(1.05)" },
1934
+ to: { transform: "scale(1)" },
1935
+ duration,
1936
+ timingFunction,
1937
+ iterationCount,
1938
+ ...props
1939
+ });
1940
+ var shake = ({
1941
+ duration = "0.5s",
1942
+ iterationCount = "infinite",
1943
+ ...props
1944
+ } = {
1945
+ duration: "0.5s",
1946
+ iterationCount: "infinite"
1947
+ }) => ({
1948
+ from: { transform: "translateX(0)" },
1949
+ "10%": { transform: "translateX(-10px)" },
1950
+ "20%": { transform: "translateX(10px)" },
1951
+ "30%": { transform: "translateX(-10px)" },
1952
+ "40%": { transform: "translateX(10px)" },
1953
+ "50%": { transform: "translateX(-10px)" },
1954
+ "60%": { transform: "translateX(10px)" },
1955
+ "70%": { transform: "translateX(-10px)" },
1956
+ "80%": { transform: "translateX(10px)" },
1957
+ "90%": { transform: "translateX(-10px)" },
1958
+ to: { transform: "translateX(0)" },
1959
+ duration,
1960
+ iterationCount,
1961
+ ...props
1962
+ });
1963
+ var swing = ({ duration = "1s", iterationCount = "infinite", ...props } = {
1964
+ duration: "1s",
1965
+ iterationCount: "infinite"
1966
+ }) => ({
1967
+ from: { transform: "rotate(0deg)" },
1968
+ "20%": { transform: "rotate(15deg)" },
1969
+ "40%": { transform: "rotate(-10deg)" },
1970
+ "60%": { transform: "rotate(5deg)" },
1971
+ "80%": { transform: "rotate(-5deg)" },
1972
+ to: { transform: "rotate(0deg)" },
1973
+ duration,
1974
+ iterationCount,
1975
+ ...props
1976
+ });
1977
+ var rubberBand = ({
1978
+ duration = "1s",
1979
+ timingFunction = "ease-in-out",
1980
+ ...props
1981
+ } = {
1982
+ duration: "1s",
1983
+ timingFunction: "ease-in-out"
1984
+ }) => ({
1985
+ from: { transform: "scale3d(1, 1, 1)" },
1986
+ "30%": { transform: "scale3d(1.25, 0.75, 1)" },
1987
+ "40%": { transform: "scale3d(0.75, 1.25, 1)" },
1988
+ "50%": { transform: "scale3d(1.15, 0.85, 1)" },
1989
+ "65%": { transform: "scale3d(0.95, 1.05, 1)" },
1990
+ "75%": { transform: "scale3d(1.05, 0.95, 1)" },
1991
+ to: { transform: "scale3d(1, 1, 1)" },
1992
+ duration,
1993
+ timingFunction,
1994
+ ...props
1995
+ });
1996
+ var wobble = ({ duration = "1s", ...props } = {
1997
+ duration: "1s"
1998
+ }) => ({
1999
+ from: { transform: "translateX(0%)" },
2000
+ "15%": { transform: "translateX(-25%) rotate(-5deg)" },
2001
+ "30%": { transform: "translateX(20%) rotate(3deg)" },
2002
+ "45%": { transform: "translateX(-15%) rotate(-3deg)" },
2003
+ "60%": { transform: "translateX(10%) rotate(2deg)" },
2004
+ "75%": { transform: "translateX(-5%) rotate(-1deg)" },
2005
+ to: { transform: "translateX(0%)" },
2006
+ duration,
2007
+ ...props
2008
+ });
2009
+ var flip = ({ duration = "1s", ...props } = {
2010
+ duration: "1s"
2011
+ }) => ({
2012
+ from: {
2013
+ transform: "perspective(400px) rotateY(0deg)"
2014
+ },
2015
+ "40%": {
2016
+ transform: "perspective(400px) rotateY(-180deg)"
2017
+ },
2018
+ to: {
2019
+ transform: "perspective(400px) rotateY(-360deg)"
2020
+ },
2021
+ duration,
2022
+ ...props
2023
+ });
2024
+ var heartBeat = ({
2025
+ duration = "1.3s",
2026
+ iterationCount = "infinite",
2027
+ ...props
2028
+ } = {
2029
+ duration: "1.3s",
2030
+ iterationCount: "infinite"
2031
+ }) => ({
2032
+ from: { transform: "scale(1)" },
2033
+ "14%": { transform: "scale(1.3)" },
2034
+ "28%": { transform: "scale(1)" },
2035
+ "42%": { transform: "scale(1.3)" },
2036
+ "70%": { transform: "scale(1)" },
2037
+ to: { transform: "scale(1)" },
2038
+ duration,
2039
+ iterationCount,
2040
+ ...props
2041
+ });
2042
+ var rollIn = ({ duration = "1s", ...props } = {
2043
+ duration: "1s"
2044
+ }) => ({
2045
+ from: {
2046
+ opacity: 0,
2047
+ transform: "translateX(-100%) rotate(-120deg)"
2048
+ },
2049
+ to: {
2050
+ opacity: 1,
2051
+ transform: "translateX(0px) rotate(0deg)"
2052
+ },
2053
+ duration,
2054
+ ...props
2055
+ });
2056
+ var rollOut = ({ duration = "1s", ...props } = {
2057
+ duration: "1s"
2058
+ }) => ({
2059
+ from: {
2060
+ opacity: 1,
2061
+ transform: "translateX(0px) rotate(0deg)"
2062
+ },
2063
+ to: {
2064
+ opacity: 0,
2065
+ transform: "translateX(100%) rotate(120deg)"
2066
+ },
2067
+ duration,
2068
+ ...props
2069
+ });
2070
+ var lightSpeedIn = ({ duration = "1s", timingFunction = "ease-out", ...props } = {
2071
+ duration: "1s",
2072
+ timingFunction: "ease-out"
2073
+ }) => ({
2074
+ from: {
2075
+ transform: "translateX(100%) skewX(-30deg)",
2076
+ opacity: 0
2077
+ },
2078
+ "60%": {
2079
+ transform: "skewX(20deg)",
2080
+ opacity: 1
2081
+ },
2082
+ "80%": {
2083
+ transform: "skewX(-5deg)"
2084
+ },
2085
+ to: {
2086
+ transform: "translateX(0)",
2087
+ opacity: 1
2088
+ },
2089
+ duration,
2090
+ timingFunction,
2091
+ ...props
2092
+ });
2093
+ var lightSpeedOut = ({ duration = "1s", timingFunction = "ease-in", ...props } = {
2094
+ duration: "1s",
2095
+ timingFunction: "ease-in"
2096
+ }) => ({
2097
+ from: {
2098
+ opacity: 1
2099
+ },
2100
+ "20%": {
2101
+ opacity: 1,
2102
+ transform: "translateX(-20%) skewX(20deg)"
2103
+ },
2104
+ to: {
2105
+ opacity: 0,
2106
+ transform: "translateX(-100%) skewX(30deg)"
2107
+ },
2108
+ duration,
2109
+ timingFunction,
2110
+ ...props
2111
+ });
2112
+ var hinge = ({
2113
+ duration = "2s",
2114
+ timingFunction = "ease-in-out",
2115
+ ...props
2116
+ } = {
2117
+ duration: "2s",
2118
+ timingFunction: "ease-in-out"
2119
+ }) => ({
2120
+ from: {
2121
+ transform: "rotate(0deg)",
2122
+ transformOrigin: "top left",
2123
+ opacity: 1
2124
+ },
2125
+ "20%": {
2126
+ transform: "rotate(80deg)",
2127
+ opacity: 1
2128
+ },
2129
+ "40%": {
2130
+ transform: "rotate(60deg)",
2131
+ opacity: 1
2132
+ },
2133
+ "60%": {
2134
+ transform: "rotate(80deg)",
2135
+ opacity: 1
2136
+ },
2137
+ "80%": {
2138
+ transform: "rotate(60deg)",
2139
+ opacity: 1
2140
+ },
2141
+ to: {
2142
+ transform: "translateY(700px)",
2143
+ opacity: 0
2144
+ },
2145
+ duration,
2146
+ timingFunction,
2147
+ ...props
2148
+ });
2149
+ var jackInTheBox = ({ duration = "1s", timingFunction = "ease", ...props } = {
2150
+ duration: "1s",
2151
+ timingFunction: "ease"
2152
+ }) => ({
2153
+ from: {
2154
+ opacity: 0,
2155
+ transform: "scale(0.1) rotate(30deg)",
2156
+ transformOrigin: "center bottom"
2157
+ },
2158
+ "50%": {
2159
+ transform: "rotate(-10deg)"
2160
+ },
2161
+ "70%": {
2162
+ transform: "rotate(3deg)"
2163
+ },
2164
+ to: {
2165
+ opacity: 1,
2166
+ transform: "scale(1) rotate(0deg)"
2167
+ },
2168
+ duration,
2169
+ timingFunction,
2170
+ ...props
2171
+ });
2172
+ var flipInX = ({ duration = "1s", timingFunction = "ease-in", ...props } = {
2173
+ duration: "1s",
2174
+ timingFunction: "ease-in"
2175
+ }) => ({
2176
+ from: {
2177
+ transform: "perspective(400px) rotateX(90deg)",
2178
+ opacity: 0
2179
+ },
2180
+ "40%": {
2181
+ transform: "perspective(400px) rotateX(-10deg)",
2182
+ opacity: 1
2183
+ },
2184
+ to: {
2185
+ transform: "perspective(400px) rotateX(0deg)"
2186
+ },
2187
+ duration,
2188
+ timingFunction,
2189
+ ...props
2190
+ });
2191
+ var flipInY = ({ duration = "1s", timingFunction = "ease-in", ...props } = {
2192
+ duration: "1s",
2193
+ timingFunction: "ease-in"
2194
+ }) => ({
2195
+ from: {
2196
+ transform: "perspective(400px) rotateY(90deg)",
2197
+ opacity: 0
2198
+ },
2199
+ "40%": {
2200
+ transform: "perspective(400px) rotateY(-10deg)",
2201
+ opacity: 1
2202
+ },
2203
+ to: {
2204
+ transform: "perspective(400px) rotateY(0deg)"
2205
+ },
2206
+ duration,
2207
+ timingFunction,
2208
+ ...props
2209
+ });
2210
+ var headShake = ({ duration = "1s", iterationCount = "infinite", ...props } = {
2211
+ duration: "1s",
2212
+ iterationCount: "infinite"
2213
+ }) => ({
2214
+ from: {
2215
+ transform: "translateX(0)"
2216
+ },
2217
+ "6.5%": {
2218
+ transform: "translateX(-6px) rotateY(-9deg)"
2219
+ },
2220
+ "18.5%": {
2221
+ transform: "translateX(5px) rotateY(7deg)"
2222
+ },
2223
+ "31.5%": {
2224
+ transform: "translateX(-3px) rotateY(-5deg)"
2225
+ },
2226
+ "43.5%": {
2227
+ transform: "translateX(2px) rotateY(3deg)"
2228
+ },
2229
+ "50%": {
2230
+ transform: "translateX(0)"
2231
+ },
2232
+ duration,
2233
+ iterationCount,
2234
+ ...props
2235
+ });
2236
+ var tada = ({ duration = "1s", iterationCount = "infinite", ...props } = {
2237
+ duration: "1s",
2238
+ iterationCount: "infinite"
2239
+ }) => ({
2240
+ from: { transform: "scale3d(1, 1, 1)", opacity: 1 },
2241
+ "10%, 20%": {
2242
+ transform: "scale3d(0.9, 0.9, 0.9) rotate(-3deg)"
2243
+ },
2244
+ "30%, 50%, 70%, 90%": {
2245
+ transform: "scale3d(1.1, 1.1, 1.1) rotate(3deg)"
2246
+ },
2247
+ "40%, 60%, 80%": {
2248
+ transform: "scale3d(1.1, 1.1, 1.1) rotate(-3deg)"
2249
+ },
2250
+ to: { transform: "scale3d(1, 1, 1)", opacity: 1 },
2251
+ duration,
2252
+ iterationCount,
2253
+ ...props
2254
+ });
2255
+ var jello = ({ duration = "1s", iterationCount = "infinite", ...props } = {
2256
+ duration: "1s",
2257
+ iterationCount: "infinite"
2258
+ }) => ({
2259
+ from: { transform: "none" },
2260
+ "11.1%": { transform: "skewX(-12.5deg) skewY(-12.5deg)" },
2261
+ "22.2%": { transform: "skewX(6.25deg) skewY(6.25deg)" },
2262
+ "33.3%": { transform: "skewX(-3.125deg) skewY(-3.125deg)" },
2263
+ "44.4%": { transform: "skewX(1.5625deg) skewY(1.5625deg)" },
2264
+ "55.5%": { transform: "skewX(-0.78125deg) skewY(-0.78125deg)" },
2265
+ "66.6%": { transform: "skewX(0.390625deg) skewY(0.390625deg)" },
2266
+ "77.7%": { transform: "skewX(-0.1953125deg) skewY(-0.1953125deg)" },
2267
+ "88.8%": { transform: "skewX(0.09765625deg) skewY(0.09765625deg)" },
2268
+ to: { transform: "none" },
2269
+ duration,
2270
+ iterationCount,
2271
+ ...props
2272
+ });
2273
+ var fadeInDown = ({ duration = "1s", timingFunction = "ease-out", ...props } = {
2274
+ duration: "1s",
2275
+ timingFunction: "ease-out"
2276
+ }) => ({
2277
+ from: {
2278
+ opacity: 0,
2279
+ transform: "translateY(-100%)"
2280
+ },
2281
+ to: {
2282
+ opacity: 1,
2283
+ transform: "translateY(0)"
2284
+ },
2285
+ duration,
2286
+ timingFunction,
2287
+ ...props
2288
+ });
2289
+ var fadeInUp = ({ duration = "1s", timingFunction = "ease-out", ...props } = {
2290
+ duration: "1s",
2291
+ timingFunction: "ease-out"
2292
+ }) => ({
2293
+ from: {
2294
+ opacity: 0,
2295
+ transform: "translateY(100%)"
2296
+ },
2297
+ to: {
2298
+ opacity: 1,
2299
+ transform: "translateY(0)"
2300
+ },
2301
+ duration,
2302
+ timingFunction,
2303
+ ...props
2304
+ });
2305
+ var bounceIn = ({
2306
+ duration = "0.75s",
2307
+ timingFunction = "ease-in",
2308
+ ...props
2309
+ } = {
2310
+ duration: "0.75s",
2311
+ timingFunction: "ease-in"
2312
+ }) => ({
2313
+ from: {
2314
+ opacity: 0,
2315
+ transform: "scale(0.3)"
2316
+ },
2317
+ "50%": {
2318
+ opacity: 1,
2319
+ transform: "scale(1.05)"
2320
+ },
2321
+ "70%": {
2322
+ transform: "scale(0.9)"
2323
+ },
2324
+ to: {
2325
+ transform: "scale(1)"
2326
+ },
2327
+ duration,
2328
+ timingFunction,
2329
+ ...props
2330
+ });
2331
+ var bounceOut = ({
2332
+ duration = "0.75s",
2333
+ timingFunction = "ease-out",
2334
+ ...props
2335
+ } = {
2336
+ duration: "0.75s",
2337
+ timingFunction: "ease-out"
2338
+ }) => ({
2339
+ from: {
2340
+ transform: "scale(1)"
2341
+ },
2342
+ "20%": {
2343
+ transform: "scale(0.9)"
2344
+ },
2345
+ "50%, 55%": {
2346
+ opacity: 1,
2347
+ transform: "scale(1.1)"
2348
+ },
2349
+ to: {
2350
+ opacity: 0,
2351
+ transform: "scale(0.3)"
2352
+ },
2353
+ duration,
2354
+ timingFunction,
2355
+ ...props
2356
+ });
2357
+ var slideOutLeft = ({
2358
+ duration = "0.5s",
2359
+ timingFunction = "ease-in",
2360
+ ...props
2361
+ } = {
2362
+ duration: "0.5s",
2363
+ timingFunction: "ease-in"
2364
+ }) => ({
2365
+ from: {
2366
+ transform: "translateX(0)"
2367
+ },
2368
+ to: {
2369
+ transform: "translateX(-100%)"
2370
+ },
2371
+ duration,
2372
+ timingFunction,
2373
+ ...props
2374
+ });
2375
+ var slideOutRight = ({
2376
+ duration = "0.5s",
2377
+ timingFunction = "ease-in",
2378
+ ...props
2379
+ } = {
2380
+ duration: "0.5s",
2381
+ timingFunction: "ease-in"
2382
+ }) => ({
2383
+ from: {
2384
+ transform: "translateX(0)"
2385
+ },
2386
+ to: {
2387
+ transform: "translateX(100%)"
2388
+ },
2389
+ duration,
2390
+ timingFunction,
2391
+ ...props
2392
+ });
2393
+ var zoomInDown = ({ duration = "1s", timingFunction = "ease-out", ...props } = {
2394
+ duration: "1s",
2395
+ timingFunction: "ease-out"
2396
+ }) => ({
2397
+ from: {
2398
+ opacity: 0,
2399
+ transform: "scale(0.1) translateY(-1000px)"
2400
+ },
2401
+ "60%": {
2402
+ opacity: 1,
2403
+ transform: "scale(0.475) translateY(60px)"
2404
+ },
2405
+ to: {
2406
+ transform: "scale(1) translateY(0)"
2407
+ },
2408
+ duration,
2409
+ timingFunction,
2410
+ ...props
2411
+ });
2412
+ var zoomOutUp = ({ duration = "1s", timingFunction = "ease-in", ...props } = {
2413
+ duration: "1s",
2414
+ timingFunction: "ease-in"
2415
+ }) => ({
2416
+ from: {
2417
+ opacity: 1,
2418
+ transform: "scale(1) translateY(0)"
2419
+ },
2420
+ "40%": {
2421
+ opacity: 1,
2422
+ transform: "scale(0.475) translateY(-60px)"
2423
+ },
2424
+ to: {
2425
+ opacity: 0,
2426
+ transform: "scale(0.1) translateY(-1000px)"
2427
+ },
2428
+ duration,
2429
+ timingFunction,
2430
+ ...props
2431
+ });
2432
+ var backInDown = ({ duration = "1s", timingFunction = "ease-in", ...props } = {
2433
+ duration: "1s",
2434
+ timingFunction: "ease-in"
2435
+ }) => ({
2436
+ from: {
2437
+ opacity: 0.7,
2438
+ transform: "translateY(-2000px) scaleY(2.5) scaleX(0.2)"
2439
+ },
2440
+ to: {
2441
+ opacity: 1,
2442
+ transform: "translateY(0) scaleY(1) scaleX(1)"
2443
+ },
2444
+ duration,
2445
+ timingFunction,
2446
+ ...props
2447
+ });
2448
+ var backOutUp = ({ duration = "1s", timingFunction = "ease-in", ...props } = {
2449
+ duration: "1s",
2450
+ timingFunction: "ease-in"
2451
+ }) => ({
2452
+ from: {
2453
+ opacity: 1,
2454
+ transform: "translateY(0)"
2455
+ },
2456
+ "80%": {
2457
+ opacity: 0.7,
2458
+ transform: "translateY(-20px)"
2459
+ },
2460
+ to: {
2461
+ opacity: 0,
2462
+ transform: "translateY(-2000px)"
2463
+ },
2464
+ duration,
2465
+ timingFunction,
2466
+ ...props
2467
+ });
2468
+ var shimmer = ({
2469
+ duration = "2s",
2470
+ timingFunction = "linear",
2471
+ iterationCount = "infinite",
2472
+ ...props
2473
+ } = {
2474
+ duration: "2s",
2475
+ timingFunction: "linear",
2476
+ iterationCount: "infinite"
2477
+ }) => ({
2478
+ from: { transform: "translateX(-100%)" },
2479
+ "50%": { transform: "translateX(100%)" },
2480
+ to: { transform: "translateX(100%)" },
2481
+ duration,
2482
+ timingFunction,
2483
+ iterationCount,
2484
+ ...props
2485
+ });
2486
+ var progress = ({
2487
+ duration = "2s",
2488
+ timingFunction = "linear",
2489
+ direction = "forwards",
2490
+ from = { width: "0%" },
2491
+ to = { width: "100%" },
2492
+ ...props
2493
+ } = {
2494
+ duration: "2s",
2495
+ timingFunction: "linear",
2496
+ direction: "forwards",
2497
+ from: { width: "0%" },
2498
+ to: { width: "100%" }
2499
+ }) => ({
2500
+ from,
2501
+ to,
2502
+ duration,
2503
+ timingFunction,
2504
+ direction,
2505
+ ...props
2506
+ });
2507
+ var typewriter = ({
2508
+ duration = "10s",
2509
+ steps = 10,
2510
+ iterationCount = 1,
2511
+ width = 0,
2512
+ ...props
2513
+ } = {
2514
+ duration: "10s",
2515
+ steps: 10,
2516
+ iterationCount: 1,
2517
+ width: 0
2518
+ }) => ({
2519
+ from: { width: "0px" },
2520
+ to: { width: `${width}px` },
2521
+ timingFunction: `steps(${steps})`,
2522
+ duration,
2523
+ iterationCount,
2524
+ ...props
2525
+ });
2526
+ var blinkCursor = ({
2527
+ duration = "0.75s",
2528
+ timingFunction = "step-end",
2529
+ iterationCount = "infinite",
2530
+ color = "black",
2531
+ ...props
2532
+ } = {
2533
+ duration: "0.75s",
2534
+ timingFunction: "step-end",
2535
+ iterationCount: "infinite",
2536
+ color: "black"
2537
+ }) => ({
2538
+ from: { color },
2539
+ to: { color },
2540
+ "0%": { color },
2541
+ "50%": { color: "transparent" },
2542
+ "100%": { color },
2543
+ duration,
2544
+ timingFunction,
2545
+ iterationCount,
2546
+ ...props
2547
+ });
2548
+ var fadeInScroll = ({
2549
+ duration = "0.5s",
2550
+ timingFunction = "ease",
2551
+ timeline = "scroll()",
2552
+ range = "cover",
2553
+ ...props
2554
+ } = {
2555
+ duration: "0.5s",
2556
+ timingFunction: "ease",
2557
+ timeline: "scroll()",
2558
+ range: "cover"
2559
+ }) => ({
2560
+ from: { opacity: 0 },
2561
+ to: { opacity: 1 },
2562
+ duration,
2563
+ timingFunction,
2564
+ timeline,
2565
+ range,
2566
+ ...props
2567
+ });
2568
+ var slideInLeftScroll = ({
2569
+ duration = "0.5s",
2570
+ timingFunction = "ease-out",
2571
+ timeline = "scroll()",
2572
+ range = "cover",
2573
+ ...props
2574
+ } = {
2575
+ duration: "0.5s",
2576
+ timingFunction: "ease-out",
2577
+ timeline: "scroll()",
2578
+ range: "cover"
2579
+ }) => ({
2580
+ from: { transform: "translateX(-200%)" },
2581
+ to: { transform: "translateX(0)" },
2582
+ duration,
2583
+ timingFunction,
2584
+ timeline,
2585
+ range,
2586
+ ...props
2587
+ });
2588
+ var scaleDownScroll = ({
2589
+ duration = "0.8s",
2590
+ timingFunction = "ease",
2591
+ timeline = "scroll()",
2592
+ range = "cover",
2593
+ ...props
2594
+ } = {
2595
+ duration: "0.8s",
2596
+ timingFunction: "ease",
2597
+ timeline: "scroll()",
2598
+ range: "cover"
2599
+ }) => ({
2600
+ from: { transform: "scale(3)" },
2601
+ to: { transform: "scale(1)" },
2602
+ duration,
2603
+ timingFunction,
2604
+ timeline,
2605
+ range,
2606
+ ...props
2607
+ });
2608
+ var fillTextScroll = ({
2609
+ duration = "1s",
2610
+ timingFunction = "linear",
2611
+ timeline = "--section",
2612
+ range = "entry 100% cover 50%, cover 50% exit 0%",
2613
+ ...props
2614
+ } = {
2615
+ duration: "1s",
2616
+ timingFunction: "linear",
2617
+ timeline: "--section",
2618
+ range: "entry 100% cover 50%, cover 50% exit 0%"
2619
+ }) => ({
2620
+ from: {
2621
+ "--fill": 0,
2622
+ color: "transparent",
2623
+ backgroundPositionX: "calc(var(--underline-block-width) * -1), calc(var(--underline-block-width) * -1), 0"
2624
+ },
2625
+ "50%": { "--fill": 0.5 },
2626
+ to: {
2627
+ "--fill": 1,
2628
+ backgroundPositionX: "0, 0, 0",
2629
+ color: "var(--finish-fill)"
2630
+ },
2631
+ duration,
2632
+ timingFunction,
2633
+ timeline,
2634
+ range,
2635
+ ...props
2636
+ });
2637
+ var ctaCollapseScroll = ({
2638
+ duration = "1s",
2639
+ timingFunction = "linear",
2640
+ timeline = "scroll()",
2641
+ range = "0 400px",
2642
+ ...props
2643
+ } = {
2644
+ duration: "1s",
2645
+ timingFunction: "linear",
2646
+ timeline: "scroll()",
2647
+ range: "0 400px"
2648
+ }) => ({
2649
+ from: { width: "calc(48px + 120px)" },
2650
+ to: { width: "48px" },
2651
+ duration,
2652
+ timingFunction,
2653
+ timeline,
2654
+ range,
2655
+ ...props
2656
+ });
2657
+ var handWaveScroll = ({
2658
+ duration = "2s",
2659
+ timingFunction = "linear",
2660
+ timeline = "scroll()",
2661
+ range = "10vh 60vh",
2662
+ ...props
2663
+ } = {
2664
+ duration: "2s",
2665
+ timingFunction: "linear",
2666
+ timeline: "scroll()",
2667
+ range: "10vh 60vh"
2668
+ }) => ({
2669
+ from: { transform: "rotate(0deg)" },
2670
+ "50%": { transform: "rotate(20deg)" },
2671
+ to: { transform: "rotate(0deg)" },
2672
+ duration,
2673
+ timingFunction,
2674
+ timeline,
2675
+ range,
2676
+ ...props
2677
+ });
2678
+ var fadeBlurScroll = ({
2679
+ duration = "1s",
2680
+ timingFunction = "linear",
2681
+ timeline = "view()",
2682
+ range = "cover 40% cover 85%",
2683
+ ...props
2684
+ } = {
2685
+ duration: "1s",
2686
+ timingFunction: "linear",
2687
+ timeline: "view()",
2688
+ range: "cover 40% cover 85%"
2689
+ }) => ({
2690
+ to: { opacity: 0, filter: "blur(2rem)" },
2691
+ duration,
2692
+ timingFunction,
2693
+ timeline,
2694
+ range,
2695
+ ...props
2696
+ });
2697
+ var unclipScroll = ({
2698
+ duration = "1s",
2699
+ timingFunction = "linear",
2700
+ timeline = "--article",
2701
+ range = "entry",
2702
+ ...props
2703
+ } = {
2704
+ duration: "1s",
2705
+ timingFunction: "linear",
2706
+ timeline: "--article",
2707
+ range: "entry"
2708
+ }) => ({
2709
+ to: { clipPath: "ellipse(220% 200% at 50% 175%)" },
2710
+ duration,
2711
+ timingFunction,
2712
+ timeline,
2713
+ range,
2714
+ ...props
2715
+ });
2716
+ var scaleDownArticleScroll = ({
2717
+ duration = "1s",
2718
+ timingFunction = "linear",
2719
+ timeline = "--article",
2720
+ range = "entry",
2721
+ ...props
2722
+ } = {
2723
+ duration: "1s",
2724
+ timingFunction: "linear",
2725
+ timeline: "--article",
2726
+ range: "entry"
2727
+ }) => ({
2728
+ "0%": { transform: "scale(5)" },
2729
+ to: { transform: "scale(1)" },
2730
+ duration,
2731
+ timingFunction,
2732
+ timeline,
2733
+ range,
2734
+ ...props
2735
+ });
2736
+ var listItemScaleScroll = ({
2737
+ duration = "0.5s",
2738
+ timingFunction = "ease",
2739
+ timeline = "--i",
2740
+ range = "cover 40% cover 60%",
2741
+ ...props
2742
+ } = {
2743
+ duration: "0.5s",
2744
+ timingFunction: "ease",
2745
+ timeline: "--i",
2746
+ range: "cover 40% cover 60%"
2747
+ }) => ({
2748
+ from: { transform: "scale(0.8)" },
2749
+ "50%": { transform: "scale(1)" },
2750
+ duration,
2751
+ timingFunction,
2752
+ timeline,
2753
+ range,
2754
+ ...props
2755
+ });
2756
+
2757
+ // src/utils/typography.ts
2758
+ var Typography = {
2759
+ letterSpacings: {
2760
+ tighter: -0.08,
2761
+ tight: -0.4,
2762
+ normal: 0,
2763
+ wide: 0.4,
2764
+ wider: 0.8,
2765
+ widest: 1.6
2766
+ },
2767
+ lineHeights: {
2768
+ xs: 10,
2769
+ sm: 12,
2770
+ md: 14,
2771
+ lg: 16,
2772
+ xl: 20,
2773
+ "2xl": 24,
2774
+ "3xl": 30,
2775
+ "4xl": 36,
2776
+ "5xl": 48,
2777
+ "6xl": 64
2778
+ },
2779
+ fontWeights: {
2780
+ hairline: 100,
2781
+ thin: 200,
2782
+ light: 300,
2783
+ normal: 400,
2784
+ medium: 500,
2785
+ semiBold: 600,
2786
+ bold: 700,
2787
+ extraBold: 800,
2788
+ black: 900
2789
+ },
2790
+ fontSizes: {
2791
+ xs: 10,
2792
+ sm: 12,
2793
+ md: 14,
2794
+ lg: 16,
2795
+ xl: 20,
2796
+ "2xl": 24,
2797
+ "3xl": 30,
2798
+ "4xl": 36,
2799
+ "5xl": 48,
2800
+ "6xl": 64
2801
+ }
2802
+ };
2803
+
2804
+ // src/utils/shadow.ts
2805
+ var Shadows = {
2806
+ 0: {
2807
+ shadowColor: "#000",
2808
+ shadowOffset: {
2809
+ width: 1,
2810
+ height: 2
2811
+ },
2812
+ shadowOpacity: 0.18,
2813
+ shadowRadius: 1
2814
+ },
2815
+ 1: {
2816
+ shadowColor: "#000",
2817
+ shadowOffset: {
2818
+ width: 2,
2819
+ height: 2
2820
+ },
2821
+ shadowOpacity: 0.2,
2822
+ shadowRadius: 1.41
2823
+ },
2824
+ 2: {
2825
+ shadowColor: "#000",
2826
+ shadowOffset: {
2827
+ width: 3,
2828
+ height: 3
2829
+ },
2830
+ shadowOpacity: 0.22,
2831
+ shadowRadius: 2.22
2832
+ },
2833
+ 3: {
2834
+ shadowColor: "#000",
2835
+ shadowOffset: {
2836
+ width: 4,
2837
+ height: 4
2838
+ },
2839
+ shadowOpacity: 0.23,
2840
+ shadowRadius: 2.62
2841
+ },
2842
+ 4: {
2843
+ shadowColor: "#000",
2844
+ shadowOffset: {
2845
+ width: 5,
2846
+ height: 5
2847
+ },
2848
+ shadowOpacity: 0.25,
2849
+ shadowRadius: 3.84
2850
+ },
2851
+ 5: {
2852
+ shadowColor: "#000",
2853
+ shadowOffset: {
2854
+ width: 6,
2855
+ height: 6
2856
+ },
2857
+ shadowOpacity: 0.27,
2858
+ shadowRadius: 4.65
2859
+ },
2860
+ 6: {
2861
+ shadowColor: "#000",
2862
+ shadowOffset: {
2863
+ width: 7,
2864
+ height: 7
2865
+ },
2866
+ shadowOpacity: 0.29,
2867
+ shadowRadius: 4.65
2868
+ },
2869
+ 7: {
2870
+ shadowColor: "#000",
2871
+ shadowOffset: {
2872
+ width: 8,
2873
+ height: 8
2874
+ },
2875
+ shadowOpacity: 0.3,
2876
+ shadowRadius: 4.65
2877
+ },
2878
+ 8: {
2879
+ shadowColor: "#000",
2880
+ shadowOffset: {
2881
+ width: 9,
2882
+ height: 9
2883
+ },
2884
+ shadowOpacity: 0.32,
2885
+ shadowRadius: 5.46
2886
+ },
2887
+ 9: {
2888
+ shadowColor: "#000",
2889
+ shadowOffset: {
2890
+ width: 10,
2891
+ height: 10
2892
+ },
2893
+ shadowOpacity: 0.34,
2894
+ shadowRadius: 6.27
2895
+ }
2896
+ };
2897
+
2898
+ // src/utils/env.ts
2899
+ var isBrowser = () => typeof window !== "undefined" && typeof window.document !== "undefined" && typeof window.document.createElement !== "undefined";
2900
+ var getWindowInitialProps = () => isBrowser() ? window.g_initialProps : void 0;
2901
+ var isSSR = !isBrowser();
2902
+ function isDev() {
2903
+ let dev = false;
2904
+ if (isBrowser()) {
2905
+ dev = !(window.location.hostname.indexOf("localhost") === -1);
2906
+ }
2907
+ return dev;
2908
+ }
2909
+ function isProd() {
2910
+ if (isBrowser()) {
2911
+ if (window && window.location && window.location.hostname) {
2912
+ return window.location.hostname.includes("localhost") || window.location.hostname.includes("develop");
2913
+ }
2914
+ }
2915
+ return false;
2916
+ }
2917
+ function isMobile() {
2918
+ return navigator.userAgent.match(/(iPhone|iPod|Android|ios|iPad)/i);
2919
+ }
2920
+
2921
+ // src/utils/viewAnimation.ts
2922
+ var createViewAnimation = (config) => {
2923
+ const { keyframes, timing = {}, range = "entry" } = config;
2924
+ return {
2925
+ ...keyframes,
2926
+ duration: timing.duration || "0.6s",
2927
+ timingFunction: timing.timingFunction || "ease",
2928
+ fillMode: timing.fillMode || "both",
2929
+ delay: timing.delay,
2930
+ timeline: "view()",
2931
+ // CSS view() timeline - pure CSS, no JS!
2932
+ range
2933
+ };
2934
+ };
2935
+ var animateOnView = (config) => {
2936
+ return createViewAnimation(config);
2937
+ };
2938
+ var fadeInOnView = (options = {}) => animateOnView({
2939
+ keyframes: { from: { opacity: 0 }, to: { opacity: 1 } },
2940
+ timing: {
2941
+ duration: options.duration || "0.5s",
2942
+ timingFunction: options.timingFunction || "ease",
2943
+ delay: options.delay
2944
+ },
2945
+ range: options.range || "entry"
2946
+ });
2947
+ var fadeOutOnView = (options = {}) => animateOnView({
2948
+ keyframes: { from: { opacity: 1 }, to: { opacity: 0 } },
2949
+ timing: {
2950
+ duration: options.duration || "0.5s",
2951
+ timingFunction: options.timingFunction || "ease",
2952
+ delay: options.delay
2953
+ },
2954
+ range: options.range || "exit"
2955
+ });
2956
+ var slideUpOnView = (options = {}) => animateOnView({
2957
+ keyframes: {
2958
+ from: {
2959
+ opacity: 0,
2960
+ transform: `translateY(${options.distance || "30px"})`
2961
+ },
2962
+ to: { opacity: 1, transform: "translateY(0)" }
2963
+ },
2964
+ timing: {
2965
+ duration: options.duration || "0.6s",
2966
+ timingFunction: options.timingFunction || "ease-out",
2967
+ delay: options.delay
2968
+ },
2969
+ range: options.range || "entry"
2970
+ });
2971
+ var slideDownOnView = (options = {}) => animateOnView({
2972
+ keyframes: {
2973
+ from: {
2974
+ opacity: 0,
2975
+ transform: `translateY(-${options.distance || "30px"})`
2976
+ },
2977
+ to: { opacity: 1, transform: "translateY(0)" }
2978
+ },
2979
+ timing: {
2980
+ duration: options.duration || "0.6s",
2981
+ timingFunction: options.timingFunction || "ease-out",
2982
+ delay: options.delay
2983
+ },
2984
+ range: options.range || "entry"
2985
+ });
2986
+ var slideLeftOnView = (options = {}) => animateOnView({
2987
+ keyframes: {
2988
+ from: {
2989
+ opacity: 0,
2990
+ transform: `translateX(-${options.distance || "50px"})`
2991
+ },
2992
+ to: { opacity: 1, transform: "translateX(0)" }
2993
+ },
2994
+ timing: {
2995
+ duration: options.duration || "0.6s",
2996
+ timingFunction: options.timingFunction || "ease-out",
2997
+ delay: options.delay
2998
+ },
2999
+ range: options.range || "entry"
3000
+ });
3001
+ var slideRightOnView = (options = {}) => animateOnView({
3002
+ keyframes: {
3003
+ from: {
3004
+ opacity: 0,
3005
+ transform: `translateX(${options.distance || "50px"})`
3006
+ },
3007
+ to: { opacity: 1, transform: "translateX(0)" }
3008
+ },
3009
+ timing: {
3010
+ duration: options.duration || "0.6s",
3011
+ timingFunction: options.timingFunction || "ease-out",
3012
+ delay: options.delay
3013
+ },
3014
+ range: options.range || "entry"
3015
+ });
3016
+ var scaleUpOnView = (options = {}) => animateOnView({
3017
+ keyframes: {
3018
+ from: { opacity: 0, transform: `scale(${options.scale || 0.9})` },
3019
+ to: { opacity: 1, transform: "scale(1)" }
3020
+ },
3021
+ timing: {
3022
+ duration: options.duration || "0.5s",
3023
+ timingFunction: options.timingFunction || "ease",
3024
+ delay: options.delay
3025
+ },
3026
+ range: options.range || "entry"
3027
+ });
3028
+ var scaleDownOnView = (options = {}) => animateOnView({
3029
+ keyframes: {
3030
+ from: { opacity: 0, transform: `scale(${options.scale || 1.1})` },
3031
+ to: { opacity: 1, transform: "scale(1)" }
3032
+ },
3033
+ timing: {
3034
+ duration: options.duration || "0.5s",
3035
+ timingFunction: options.timingFunction || "ease",
3036
+ delay: options.delay
3037
+ },
3038
+ range: options.range || "entry"
3039
+ });
3040
+ var blurInOnView = (options = {}) => animateOnView({
3041
+ keyframes: {
3042
+ from: { opacity: 0, filter: `blur(${options.blur || "10px"})` },
3043
+ to: { opacity: 1, filter: "blur(0)" }
3044
+ },
3045
+ timing: {
3046
+ duration: options.duration || "0.6s",
3047
+ timingFunction: options.timingFunction || "ease-out",
3048
+ delay: options.delay
3049
+ },
3050
+ range: options.range || "entry"
3051
+ });
3052
+ var blurOutOnView = (options = {}) => animateOnView({
3053
+ keyframes: {
3054
+ from: { opacity: 1, filter: "blur(0)" },
3055
+ to: { opacity: 0, filter: `blur(${options.blur || "10px"})` }
3056
+ },
3057
+ timing: {
3058
+ duration: options.duration || "0.5s",
3059
+ timingFunction: options.timingFunction || "ease-in",
3060
+ delay: options.delay
3061
+ },
3062
+ range: options.range || "exit"
3063
+ });
3064
+ var rotateInOnView = (options = {}) => animateOnView({
3065
+ keyframes: {
3066
+ from: {
3067
+ opacity: 0,
3068
+ transform: `rotate(${options.angle || "-10deg"}) scale(0.9)`
3069
+ },
3070
+ to: { opacity: 1, transform: "rotate(0) scale(1)" }
3071
+ },
3072
+ timing: {
3073
+ duration: options.duration || "0.6s",
3074
+ timingFunction: options.timingFunction || "ease-out",
3075
+ delay: options.delay
3076
+ },
3077
+ range: options.range || "entry"
3078
+ });
3079
+ var revealOnView = (options = {}) => animateOnView({
3080
+ keyframes: {
3081
+ from: { clipPath: "inset(100% 0 0 0)" },
3082
+ to: { clipPath: "inset(0 0 0 0)" }
3083
+ },
3084
+ timing: {
3085
+ duration: options.duration || "0.7s",
3086
+ timingFunction: options.timingFunction || "ease-out",
3087
+ delay: options.delay
3088
+ },
3089
+ range: options.range || "entry 0% entry 80%"
3090
+ });
3091
+ var flipXOnView = (options = {}) => animateOnView({
3092
+ keyframes: {
3093
+ from: {
3094
+ opacity: 0,
3095
+ transform: "perspective(400px) rotateX(90deg)"
3096
+ },
3097
+ to: {
3098
+ opacity: 1,
3099
+ transform: "perspective(400px) rotateX(0)"
3100
+ }
3101
+ },
3102
+ timing: {
3103
+ duration: options.duration || "0.6s",
3104
+ timingFunction: options.timingFunction || "ease-out",
3105
+ delay: options.delay
3106
+ },
3107
+ range: options.range || "entry"
3108
+ });
3109
+ var flipYOnView = (options = {}) => animateOnView({
3110
+ keyframes: {
3111
+ from: {
3112
+ opacity: 0,
3113
+ transform: "perspective(400px) rotateY(90deg)"
3114
+ },
3115
+ to: {
3116
+ opacity: 1,
3117
+ transform: "perspective(400px) rotateY(0)"
3118
+ }
3119
+ },
3120
+ timing: {
3121
+ duration: options.duration || "0.6s",
3122
+ timingFunction: options.timingFunction || "ease-out",
3123
+ delay: options.delay
3124
+ },
3125
+ range: options.range || "entry"
3126
+ });
3127
+ var viewAnimationPresets = {
3128
+ fadeIn: {
3129
+ keyframes: { from: { opacity: 0 }, to: { opacity: 1 } },
3130
+ timing: { duration: "0.5s", timingFunction: "ease" },
3131
+ range: "entry"
3132
+ },
3133
+ fadeOut: {
3134
+ keyframes: { from: { opacity: 1 }, to: { opacity: 0 } },
3135
+ timing: { duration: "0.5s", timingFunction: "ease" },
3136
+ range: "exit"
3137
+ },
3138
+ slideUp: {
3139
+ keyframes: {
3140
+ from: { opacity: 0, transform: "translateY(30px)" },
3141
+ to: { opacity: 1, transform: "translateY(0)" }
3142
+ },
3143
+ timing: { duration: "0.6s", timingFunction: "ease-out" },
3144
+ range: "entry"
3145
+ },
3146
+ slideDown: {
3147
+ keyframes: {
3148
+ from: { opacity: 0, transform: "translateY(-30px)" },
3149
+ to: { opacity: 1, transform: "translateY(0)" }
3150
+ },
3151
+ timing: { duration: "0.6s", timingFunction: "ease-out" },
3152
+ range: "entry"
3153
+ },
3154
+ scaleUp: {
3155
+ keyframes: {
3156
+ from: { opacity: 0, transform: "scale(0.9)" },
3157
+ to: { opacity: 1, transform: "scale(1)" }
3158
+ },
3159
+ timing: { duration: "0.5s", timingFunction: "ease" },
3160
+ range: "entry"
3161
+ },
3162
+ blurIn: {
3163
+ keyframes: {
3164
+ from: { opacity: 0, filter: "blur(10px)" },
3165
+ to: { opacity: 1, filter: "blur(0)" }
3166
+ },
3167
+ timing: { duration: "0.6s", timingFunction: "ease-out" },
3168
+ range: "entry"
3169
+ },
3170
+ reveal: {
3171
+ keyframes: {
3172
+ from: { clipPath: "inset(100% 0 0 0)" },
3173
+ to: { clipPath: "inset(0 0 0 0)" }
3174
+ },
3175
+ timing: { duration: "0.7s", timingFunction: "ease-out" },
3176
+ range: "entry 0% entry 80%"
3177
+ }
3178
+ };
3179
+ export {
3180
+ AnalyticsContext,
3181
+ AnalyticsProvider,
3182
+ Animation_exports as Animation,
3183
+ BreakpointContext,
3184
+ Button,
3185
+ Center,
3186
+ Div,
3187
+ Element,
3188
+ Form,
3189
+ Horizontal,
3190
+ HorizontalResponsive,
3191
+ Image,
3192
+ ImageBackground,
3193
+ Input,
3194
+ ResponsiveContext,
3195
+ ResponsiveProvider,
3196
+ SafeArea,
3197
+ Scroll,
3198
+ Shadows,
3199
+ Skeleton,
3200
+ Span,
3201
+ StyleRegistry,
3202
+ Text,
3203
+ ThemeContext,
3204
+ ThemeProvider,
3205
+ Typography,
3206
+ Vertical,
3207
+ VerticalResponsive,
3208
+ View,
3209
+ WindowDimensionsContext,
3210
+ WindowSizeContext,
3211
+ WindowSizeProvider,
3212
+ animateOnView,
3213
+ blurInOnView,
3214
+ blurOutOnView,
3215
+ createStyleRegistry,
3216
+ createViewAnimation,
3217
+ defaultColors,
3218
+ defaultDarkColors,
3219
+ defaultDarkPalette,
3220
+ defaultLightColors,
3221
+ defaultLightPalette,
3222
+ fadeInOnView,
3223
+ fadeOutOnView,
3224
+ flipXOnView,
3225
+ flipYOnView,
3226
+ getBreakpointFromWidth,
3227
+ getDeviceFromBreakpoint,
3228
+ getWindowInitialProps,
3229
+ hasColorToken,
3230
+ isBrowser,
3231
+ isDev,
3232
+ isMobile,
3233
+ isProd,
3234
+ isSSR,
3235
+ replaceColorTokens,
3236
+ revealOnView,
3237
+ rotateInOnView,
3238
+ scaleDownOnView,
3239
+ scaleUpOnView,
3240
+ slideDownOnView,
3241
+ slideLeftOnView,
3242
+ slideRightOnView,
3243
+ slideUpOnView,
3244
+ useActive,
3245
+ useAnalytics,
3246
+ useBreakpoint,
3247
+ useBreakpointContext,
3248
+ useClickOutside,
3249
+ useElementPosition,
3250
+ useFocus,
3251
+ useHover,
3252
+ useIframeStyles,
3253
+ useInView,
3254
+ useKeyPress,
3255
+ useMount,
3256
+ useOnScreen,
3257
+ useResponsive,
3258
+ useResponsiveContext,
3259
+ useScroll,
3260
+ useServerInsertedHTML,
3261
+ useStyleRegistry,
3262
+ useTheme,
3263
+ useWindowDimensions2 as useWindowDimensions,
3264
+ useWindowDimensionsContext,
3265
+ useWindowSize,
3266
+ viewAnimationPresets
3267
+ };
3268
+ //# sourceMappingURL=index.js.map