app-studio 0.1.44 → 0.2.2

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.
@@ -0,0 +1,2130 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }
6
+
7
+ var React = require('react');
8
+ var React__default = _interopDefault(React);
9
+ var Color = _interopDefault(require('color-convert'));
10
+
11
+ const palette = {
12
+ white: {
13
+ 50: 'rgba(255, 255, 255, 0.04)',
14
+ 100: 'rgba(255, 255, 255, 0.08)',
15
+ 200: 'rgba(255, 255, 255, 0.16)',
16
+ 300: 'rgba(255, 255, 255, 0.24)',
17
+ 400: 'rgba(255, 255, 255, 0.36)',
18
+ 500: 'rgba(255, 255, 255, 0.48)',
19
+ 600: 'rgba(255, 255, 255, 0.64)',
20
+ 700: 'rgba(255, 255, 255, 0.80)',
21
+ 800: 'rgba(255, 255, 255, 0.92)',
22
+ 900: 'rgba(255, 255, 255, 1)'
23
+ },
24
+ black: {
25
+ 50: 'rgba(0, 0, 0, 0.04)',
26
+ 100: 'rgba(0, 0, 0, 0.08)',
27
+ 200: 'rgba(0, 0, 0, 0.16)',
28
+ 300: 'rgba(0, 0, 0, 0.24)',
29
+ 400: 'rgba(0, 0, 0, 0.36)',
30
+ 500: 'rgba(0, 0, 0, 0.48)',
31
+ 600: 'rgba(0, 0, 0, 0.64)',
32
+ 700: 'rgba(0, 0, 0, 0.80)',
33
+ 800: 'rgba(0, 0, 0, 0.92)',
34
+ 900: 'rgba(0, 0, 0, 1)'
35
+ },
36
+ rose: {
37
+ 50: '#fff1f2',
38
+ 100: '#ffe4e6',
39
+ 200: '#fecdd3',
40
+ 300: '#fda4af',
41
+ 400: '#fb7185',
42
+ 500: '#f43f5e',
43
+ 600: '#e11d48',
44
+ 700: '#be123c',
45
+ 800: '#9f1239',
46
+ 900: '#881337'
47
+ },
48
+ pink: {
49
+ 50: '#fdf2f8',
50
+ 100: '#fce7f3',
51
+ 200: '#fbcfe8',
52
+ 300: '#f9a8d4',
53
+ 400: '#f472b6',
54
+ 500: '#ec4899',
55
+ 600: '#db2777',
56
+ 700: '#be185d',
57
+ 800: '#9d174d',
58
+ 900: '#831843'
59
+ },
60
+ fuchsia: {
61
+ 50: '#fdf4ff',
62
+ 100: '#fae8ff',
63
+ 200: '#f5d0fe',
64
+ 300: '#f0abfc',
65
+ 400: '#e879f9',
66
+ 500: '#d946ef',
67
+ 600: '#c026d3',
68
+ 700: '#a21caf',
69
+ 800: '#86198f',
70
+ 900: '#701a75'
71
+ },
72
+ purple: {
73
+ 50: '#faf5ff',
74
+ 100: '#f3e8ff',
75
+ 200: '#e9d5ff',
76
+ 300: '#d8b4fe',
77
+ 400: '#c084fc',
78
+ 500: '#a855f7',
79
+ 600: '#9333ea',
80
+ 700: '#7e22ce',
81
+ 800: '#6b21a8',
82
+ 900: '#581c87'
83
+ },
84
+ violet: {
85
+ 50: '#f5f3ff',
86
+ 100: '#ede9fe',
87
+ 200: '#ddd6fe',
88
+ 300: '#c4b5fd',
89
+ 400: '#a78bfa',
90
+ 500: '#8b5cf6',
91
+ 600: '#7c3aed',
92
+ 700: '#6d28d9',
93
+ 800: '#5b21b6',
94
+ 900: '#4c1d95'
95
+ },
96
+ indigo: {
97
+ 50: '#eef2ff',
98
+ 100: '#e0e7ff',
99
+ 200: '#c7d2fe',
100
+ 300: '#a5b4fc',
101
+ 400: '#818cf8',
102
+ 500: '#6366f1',
103
+ 600: '#4f46e5',
104
+ 700: '#4338ca',
105
+ 800: '#3730a3',
106
+ 900: '#312e81'
107
+ },
108
+ blue: {
109
+ 50: '#eff6ff',
110
+ 100: '#dbeafe',
111
+ 200: '#bfdbfe',
112
+ 300: '#93c5fd',
113
+ 400: '#60a5fa',
114
+ 500: '#3b82f6',
115
+ 600: '#2563eb',
116
+ 700: '#1d4ed8',
117
+ 800: '#1e40af',
118
+ 900: '#1e3a8a'
119
+ },
120
+ lightBlue: {
121
+ 50: '#f0f9ff',
122
+ 100: '#e0f2fe',
123
+ 200: '#bae6fd',
124
+ 300: '#7dd3fc',
125
+ 400: '#38bdf8',
126
+ 500: '#0ea5e9',
127
+ 600: '#0284c7',
128
+ 700: '#0369a1',
129
+ 800: '#075985',
130
+ 900: '#0c4a6e'
131
+ },
132
+ cyan: {
133
+ 50: '#ecfeff',
134
+ 100: '#cffafe',
135
+ 200: '#a5f3fc',
136
+ 300: '#67e8f9',
137
+ 400: '#22d3ee',
138
+ 500: '#06b6d4',
139
+ 600: '#0891b2',
140
+ 700: '#0e7490',
141
+ 800: '#155e75',
142
+ 900: '#164e63'
143
+ },
144
+ teal: {
145
+ 50: '#f0fdfa',
146
+ 100: '#ccfbf1',
147
+ 200: '#99f6e4',
148
+ 300: '#5eead4',
149
+ 400: '#2dd4bf',
150
+ 500: '#14b8a6',
151
+ 600: '#0d9488',
152
+ 700: '#0f766e',
153
+ 800: '#115e59',
154
+ 900: '#134e4a'
155
+ },
156
+ emerald: {
157
+ 50: '#ecfdf5',
158
+ 100: '#d1fae5',
159
+ 200: '#a7f3d0',
160
+ 300: '#6ee7b7',
161
+ 400: '#34d399',
162
+ 500: '#10b981',
163
+ 600: '#059669',
164
+ 700: '#047857',
165
+ 800: '#065f46',
166
+ 900: '#064e3b'
167
+ },
168
+ green: {
169
+ 50: '#f0fdf4',
170
+ 100: '#dcfce7',
171
+ 200: '#bbf7d0',
172
+ 300: '#86efac',
173
+ 400: '#4ade80',
174
+ 500: '#22c55e',
175
+ 600: '#16a34a',
176
+ 700: '#15803d',
177
+ 800: '#166534',
178
+ 900: '#14532d'
179
+ },
180
+ lime: {
181
+ 50: '#f7fee7',
182
+ 100: '#ecfccb',
183
+ 200: '#d9f99d',
184
+ 300: '#bef264',
185
+ 400: '#a3e635',
186
+ 500: '#84cc16',
187
+ 600: '#65a30d',
188
+ 700: '#4d7c0f',
189
+ 800: '#3f6212',
190
+ 900: '#365314'
191
+ },
192
+ yellow: {
193
+ 50: '#fefce8',
194
+ 100: '#fef9c3',
195
+ 200: '#fef08a',
196
+ 300: '#fde047',
197
+ 400: '#facc15',
198
+ 500: '#eab308',
199
+ 600: '#ca8a04',
200
+ 700: '#a16207',
201
+ 800: '#854d0e',
202
+ 900: '#713f12'
203
+ },
204
+ amber: {
205
+ 50: '#fffbeb',
206
+ 100: '#fef3c7',
207
+ 200: '#fde68a',
208
+ 300: '#fcd34d',
209
+ 400: '#fbbf24',
210
+ 500: '#f59e0b',
211
+ 600: '#d97706',
212
+ 700: '#b45309',
213
+ 800: '#92400e',
214
+ 900: '#78350f'
215
+ },
216
+ orange: {
217
+ 50: '#fff7ed',
218
+ 100: '#ffedd5',
219
+ 200: '#fed7aa',
220
+ 300: '#fdba74',
221
+ 400: '#fb923c',
222
+ 500: '#f97316',
223
+ 600: '#ea580c',
224
+ 700: '#c2410c',
225
+ 800: '#9a3412',
226
+ 900: '#7c2d12'
227
+ },
228
+ red: {
229
+ 50: '#fef2f2',
230
+ 100: '#fee2e2',
231
+ 200: '#fecaca',
232
+ 300: '#fca5a5',
233
+ 400: '#f87171',
234
+ 500: '#ef4444',
235
+ 600: '#dc2626',
236
+ 700: '#b91c1c',
237
+ 800: '#991b1b',
238
+ 900: '#7f1d1d'
239
+ },
240
+ warmGray: {
241
+ 50: '#fafaf9',
242
+ 100: '#f5f5f4',
243
+ 200: '#e7e5e4',
244
+ 300: '#d6d3d1',
245
+ 400: '#a8a29e',
246
+ 500: '#78716c',
247
+ 600: '#57534e',
248
+ 700: '#44403c',
249
+ 800: '#292524',
250
+ 900: '#1c1917'
251
+ },
252
+ trueGray: {
253
+ 50: '#fafafa',
254
+ 100: '#f5f5f5',
255
+ 200: '#e5e5e5',
256
+ 300: '#d4d4d4',
257
+ 400: '#a3a3a3',
258
+ 500: '#737373',
259
+ 600: '#525252',
260
+ 700: '#404040',
261
+ 800: '#262626',
262
+ 900: '#171717'
263
+ },
264
+ gray: {
265
+ 50: '#fafafa',
266
+ 100: '#f4f4f5',
267
+ 200: '#e4e4e7',
268
+ 300: '#d4d4d8',
269
+ 400: '#a1a1aa',
270
+ 500: '#71717a',
271
+ 600: '#52525b',
272
+ 700: '#3f3f46',
273
+ 800: '#27272a',
274
+ 900: '#18181b'
275
+ },
276
+ dark: {
277
+ 50: '#18181b',
278
+ 100: '#27272a',
279
+ 200: '#3f3f46',
280
+ 300: '#52525b',
281
+ 400: '#71717a',
282
+ 500: '#a1a1aa',
283
+ 600: '#d4d4d8',
284
+ 700: '#e4e4e7',
285
+ 800: '#f4f4f5',
286
+ 900: '#fafafa'
287
+ },
288
+ coolGray: {
289
+ 50: '#f9fafb',
290
+ 100: '#f3f4f6',
291
+ 200: '#e5e7eb',
292
+ 300: '#d1d5db',
293
+ 400: '#9ca3af',
294
+ 500: '#6b7280',
295
+ 600: '#4b5563',
296
+ 700: '#374151',
297
+ 800: '#1f2937',
298
+ 900: '#111827'
299
+ },
300
+ blueGray: {
301
+ 50: '#f8fafc',
302
+ 100: '#f1f5f9',
303
+ 200: '#e2e8f0',
304
+ 300: '#cbd5e1',
305
+ 400: '#94a3b8',
306
+ 500: '#64748b',
307
+ 600: '#475569',
308
+ 700: '#334155',
309
+ 800: '#1e293b',
310
+ 900: '#0f172a'
311
+ }
312
+ };
313
+
314
+ const defaultThemeMain = {
315
+ primary: 'color.black',
316
+ secondary: 'color.blue',
317
+ success: 'color.green.500',
318
+ error: 'color.red.500',
319
+ warning: 'color.orange.500',
320
+ disabled: 'color.gray.500',
321
+ loading: 'color.dark.500'
322
+ };
323
+ const defaultColors = {
324
+ white: '#FFFFFF',
325
+ black: '#000000',
326
+ red: '#FF0000',
327
+ green: '#00FF00',
328
+ blue: '#0000FF',
329
+ yellow: '#FFFF00',
330
+ cyan: '#00FFFF',
331
+ magenta: '#FF00FF',
332
+ grey: '#808080',
333
+ orange: '#FFA500',
334
+ brown: '#A52A2A',
335
+ purple: '#800080',
336
+ pink: '#FFC0CB',
337
+ lime: '#00FF00',
338
+ teal: '#008080',
339
+ navy: '#000080',
340
+ olive: '#808000',
341
+ maroon: '#800000',
342
+ gold: '#FFD700',
343
+ silver: '#C0C0C0',
344
+ indigo: '#4B0082',
345
+ violet: '#EE82EE',
346
+ beige: '#F5F5DC',
347
+ turquoise: '#40E0D0',
348
+ coral: '#FF7F50',
349
+ chocolate: '#D2691E',
350
+ skyBlue: '#87CEEB',
351
+ plum: '#DDA0DD',
352
+ darkGreen: '#006400',
353
+ salmon: '#FA8072'
354
+ };
355
+ const ThemeContext = /*#__PURE__*/React.createContext({
356
+ getColor: name => {
357
+ return name;
358
+ },
359
+ colors: {
360
+ main: defaultColors,
361
+ palette: palette
362
+ },
363
+ theme: {
364
+ main: defaultThemeMain,
365
+ components: {}
366
+ }
367
+ });
368
+ const useTheme = () => React.useContext(ThemeContext);
369
+ const ThemeProvider = _ref => {
370
+ let {
371
+ theme = {
372
+ main: defaultThemeMain,
373
+ components: {}
374
+ },
375
+ colors = {
376
+ main: defaultColors,
377
+ palette: palette
378
+ },
379
+ children
380
+ } = _ref;
381
+ const getColor = name => {
382
+ if (name === 'transparent') return name;
383
+ try {
384
+ // Si le nom commence par "theme.", nous recherchons dans les couleurs du thème
385
+ if (name.startsWith('theme.')) {
386
+ const keys = name.split('.');
387
+ if (keys[1] !== undefined && typeof theme.components[keys[1]] == 'object' && theme.components[keys[1]][keys[2]] !== undefined) {
388
+ return getColor(theme.components[keys[1]][keys[2]]);
389
+ } else if (theme.main[keys[1]] && theme.main[keys[1]] !== undefined) {
390
+ return getColor(theme.main[keys[1]]);
391
+ } else {
392
+ console.log('Color ' + name + ' not found');
393
+ }
394
+ }
395
+ // Si le nom commence par "color.", nous recherchons dans la palette
396
+ else if (name.startsWith('color.')) {
397
+ const keys = name.split('.'); // Retirer le préfixe "color."
398
+ if (colors.palette && colors.palette[keys[1]][keys[2]] !== undefined) {
399
+ return colors.palette[keys[1]][keys[2]];
400
+ } else if (colors.palette && colors.palette[keys[1]][parseInt(keys[2])] !== undefined) {
401
+ return colors.palette[keys[1]][parseInt(keys[2])];
402
+ } else if (colors.main && colors.main[keys[1]] !== undefined) {
403
+ return colors.main[keys[1]];
404
+ } else {
405
+ console.log('Color ' + name + ' not found');
406
+ }
407
+ }
408
+ } catch (e) {}
409
+ return name;
410
+ };
411
+ return /*#__PURE__*/React__default.createElement(ThemeContext.Provider, {
412
+ value: {
413
+ getColor,
414
+ theme: {
415
+ main: {
416
+ ...defaultThemeMain,
417
+ ...theme.main
418
+ },
419
+ components: {
420
+ ...theme.components
421
+ }
422
+ },
423
+ colors: {
424
+ main: {
425
+ ...defaultColors,
426
+ ...colors.main
427
+ },
428
+ palette: {
429
+ ...palette,
430
+ ...colors.palette
431
+ }
432
+ }
433
+ }
434
+ }, children);
435
+ };
436
+
437
+ const defaultBreakpointsConfig = {
438
+ xs: 0,
439
+ sm: 340,
440
+ md: 560,
441
+ lg: 1080,
442
+ xl: 1300
443
+ };
444
+ const defaultDeviceConfig = {
445
+ mobile: ['xs', 'sm'],
446
+ tablet: ['md', 'lg'],
447
+ desktop: ['lg', 'xl']
448
+ };
449
+ const getMediaQueries = b => {
450
+ const defaultKeys = Object.keys(b);
451
+ const breakpointValue = defaultKeys.map(breakpoint => {
452
+ const value = {
453
+ breakpoint: breakpoint,
454
+ min: b[breakpoint],
455
+ max: 0
456
+ };
457
+ return value;
458
+ }).sort((a, b) => a.min - b.min);
459
+ breakpointValue.reduce((a, b) => {
460
+ if (b) a.max = b.min;
461
+ return b;
462
+ });
463
+ const query = {};
464
+ breakpointValue.map(sizeScreen => {
465
+ query[sizeScreen.breakpoint] = `only screen ${sizeScreen.min && sizeScreen.min >= 0 ? 'and (min-width:' + sizeScreen.min + 'px)' : ''} ${sizeScreen.max && sizeScreen.max >= 0 ? 'and (max-width:' + sizeScreen.max + 'px)' : ''}`;
466
+ });
467
+ return query;
468
+ };
469
+ const defaultScreenConfig = {
470
+ breakpoints: defaultBreakpointsConfig,
471
+ devices: defaultDeviceConfig,
472
+ mediaQueries: /*#__PURE__*/getMediaQueries(defaultBreakpointsConfig)
473
+ };
474
+ const ResponsiveContext = /*#__PURE__*/React.createContext(defaultScreenConfig);
475
+ const useResponsiveContext = () => React.useContext(ResponsiveContext);
476
+ const ResponsiveProvider = _ref => {
477
+ let {
478
+ breakpoints = defaultBreakpointsConfig,
479
+ devices = defaultDeviceConfig,
480
+ children
481
+ } = _ref;
482
+ return /*#__PURE__*/React__default.createElement(ResponsiveContext.Provider, {
483
+ value: {
484
+ breakpoints,
485
+ devices,
486
+ mediaQueries: getMediaQueries(breakpoints)
487
+ }
488
+ }, children);
489
+ };
490
+
491
+ // List of numeric properties that don't need 'px' suffix
492
+ const NumberProps = /*#__PURE__*/new Set(['numberOfLines', 'fontWeight', 'timeStamp', 'flex', 'flexGrow', 'flexShrink', 'order', 'zIndex', 'aspectRatio', 'shadowOpacity', 'shadowRadius', 'scale', 'opacity', 'min', 'max', 'now']);
493
+ // Keys to exclude when passing props to the component
494
+ const excludedKeys = /*#__PURE__*/new Set(['on', 'shadow', 'only', 'media', 'css', 'size', 'paddingHorizontal', 'paddingVertical', 'marginHorizontal', 'marginVertical', 'animate']);
495
+ // Keys to exclude when passing props to the component
496
+ const extraKeys = /*#__PURE__*/new Set(['on', 'shadow', 'only', 'media', 'css']);
497
+ const includeKeys = /*#__PURE__*/new Set(['src', 'alt', 'style', 'as']);
498
+
499
+ // styleHelpers.ts
500
+ // Function to convert style object to CSS string
501
+ const styleObjectToCss = styleObj => {
502
+ return Object.entries(styleObj).map(_ref => {
503
+ let [key, value] = _ref;
504
+ return `${toKebabCase(key)}: ${value};`;
505
+ }).join(' ');
506
+ };
507
+ // Function to convert camelCase to kebab-case
508
+ const toKebabCase = str => str.replace(/([A-Z])/g, match => '-' + match.toLowerCase());
509
+ // Function to check if a property is a style prop
510
+ const isStyleProp = prop => {
511
+ // Implement your logic to determine if a prop is a style prop
512
+ // For simplicity, we assume all props not in excludedKeys are style props
513
+ return !excludedKeys.has(prop);
514
+ };
515
+ // Function to process and normalize style properties
516
+ const processStyleProperty = (property, value, getColor) => {
517
+ if (typeof value === 'number' && !NumberProps.has(property)) {
518
+ return `${value}px`;
519
+ } else if (property.toLowerCase().includes('color')) {
520
+ return getColor(value);
521
+ } else {
522
+ return value;
523
+ }
524
+ };
525
+
526
+ /* eslint-disable @typescript-eslint/no-unused-vars */
527
+ let keyframesCounter = 0;
528
+ const keyframesCache = /*#__PURE__*/new Map();
529
+ const generateKeyframes = animation => {
530
+ // Exclure les propriétés qui ne font pas partie des keyframes
531
+ const {
532
+ duration,
533
+ timingFunction,
534
+ delay,
535
+ iterationCount,
536
+ direction,
537
+ fillMode,
538
+ playState,
539
+ ...keyframesDef
540
+ } = animation;
541
+ // Générer une clé pour le cache basée sur les keyframes
542
+ const animationConfigString = JSON.stringify(keyframesDef);
543
+ if (keyframesCache.has(animationConfigString)) {
544
+ const keyframesName = keyframesCache.get(animationConfigString);
545
+ return {
546
+ keyframesName,
547
+ keyframes: ''
548
+ }; // Les keyframes existent déjà
549
+ }
550
+
551
+ const keyframesName = `animation-${keyframesCounter++}`;
552
+ keyframesCache.set(animationConfigString, keyframesName);
553
+ const keyframesContent = [];
554
+ // Trier les clés pour assurer un ordre cohérent
555
+ const keyframeKeys = Object.keys(keyframesDef).sort((a, b) => {
556
+ const getPercentage = key => {
557
+ if (key === 'from') return 0;
558
+ if (key === 'to' || key === 'enter') return 100;
559
+ return parseInt(key.replace('%', ''), 10);
560
+ };
561
+ return getPercentage(a) - getPercentage(b);
562
+ });
563
+ keyframeKeys.forEach(key => {
564
+ const cssKey = key === 'enter' ? 'to' : key; // Remplacer 'enter' par 'to'
565
+ const styles = keyframesDef[key];
566
+ keyframesContent.push(`${cssKey} { ${styleObjectToCss(styles)} }`);
567
+ });
568
+ const keyframes = `
569
+ @keyframes ${keyframesName} {
570
+ ${keyframesContent.join('\n')}
571
+ }
572
+ `;
573
+ return {
574
+ keyframesName,
575
+ keyframes
576
+ };
577
+ };
578
+
579
+ const Shadows = {
580
+ 0: {
581
+ shadowColor: '#000',
582
+ shadowOffset: {
583
+ width: 1,
584
+ height: 2
585
+ },
586
+ shadowOpacity: 0.18,
587
+ shadowRadius: 1.0
588
+ },
589
+ 1: {
590
+ shadowColor: '#000',
591
+ shadowOffset: {
592
+ width: 2,
593
+ height: 2
594
+ },
595
+ shadowOpacity: 0.2,
596
+ shadowRadius: 1.41
597
+ },
598
+ 2: {
599
+ shadowColor: '#000',
600
+ shadowOffset: {
601
+ width: 3,
602
+ height: 3
603
+ },
604
+ shadowOpacity: 0.22,
605
+ shadowRadius: 2.22
606
+ },
607
+ 3: {
608
+ shadowColor: '#000',
609
+ shadowOffset: {
610
+ width: 4,
611
+ height: 4
612
+ },
613
+ shadowOpacity: 0.23,
614
+ shadowRadius: 2.62
615
+ },
616
+ 4: {
617
+ shadowColor: '#000',
618
+ shadowOffset: {
619
+ width: 5,
620
+ height: 5
621
+ },
622
+ shadowOpacity: 0.25,
623
+ shadowRadius: 3.84
624
+ },
625
+ 5: {
626
+ shadowColor: '#000',
627
+ shadowOffset: {
628
+ width: 6,
629
+ height: 6
630
+ },
631
+ shadowOpacity: 0.27,
632
+ shadowRadius: 4.65
633
+ },
634
+ 6: {
635
+ shadowColor: '#000',
636
+ shadowOffset: {
637
+ width: 7,
638
+ height: 7
639
+ },
640
+ shadowOpacity: 0.29,
641
+ shadowRadius: 4.65
642
+ },
643
+ 7: {
644
+ shadowColor: '#000',
645
+ shadowOffset: {
646
+ width: 8,
647
+ height: 8
648
+ },
649
+ shadowOpacity: 0.3,
650
+ shadowRadius: 4.65
651
+ },
652
+ 8: {
653
+ shadowColor: '#000',
654
+ shadowOffset: {
655
+ width: 9,
656
+ height: 9
657
+ },
658
+ shadowOpacity: 0.32,
659
+ shadowRadius: 5.46
660
+ },
661
+ 9: {
662
+ shadowColor: '#000',
663
+ shadowOffset: {
664
+ width: 10,
665
+ height: 10
666
+ },
667
+ shadowOpacity: 0.34,
668
+ shadowRadius: 6.27
669
+ }
670
+ };
671
+
672
+ // Element.tsx
673
+ const styleSheet = /*#__PURE__*/(() => {
674
+ if (typeof document !== 'undefined') {
675
+ let styleTag = /*#__PURE__*/document.getElementById('dynamic-styles');
676
+ if (!styleTag) {
677
+ styleTag = /*#__PURE__*/document.createElement('style');
678
+ styleTag.id = 'dynamic-styles';
679
+ document.head.appendChild(styleTag);
680
+ }
681
+ return styleTag.sheet;
682
+ }
683
+ return null;
684
+ })();
685
+ const classCache = /*#__PURE__*/new Map();
686
+ const cssRulesCache = /*#__PURE__*/new Map();
687
+ let classNameCounter = 0;
688
+ const generateClassName = styleProps => {
689
+ const serialized = JSON.stringify(styleProps);
690
+ if (classCache.has(serialized)) {
691
+ return classCache.get(serialized);
692
+ } else {
693
+ const className = 'clz-' + classNameCounter++;
694
+ classCache.set(serialized, className);
695
+ return className;
696
+ }
697
+ };
698
+ const useDynamicStyles = cssRules => {
699
+ React.useEffect(() => {
700
+ if (!styleSheet) return;
701
+ cssRules.forEach(rule => {
702
+ try {
703
+ if (Array.from(styleSheet.cssRules).some(cssRule => cssRule.cssText === rule)) {
704
+ return;
705
+ }
706
+ styleSheet.insertRule(rule, styleSheet.cssRules.length);
707
+ } catch (error) {
708
+ console.error('Error inserting CSS rule:', rule, error);
709
+ }
710
+ });
711
+ }, [cssRules]);
712
+ };
713
+ const generateCssRules = (selector, styles, getColor, mediaQueries) => {
714
+ const rules = [];
715
+ const mainStyles = {};
716
+ const nestedMediaQueries = {};
717
+ Object.keys(styles).forEach(key => {
718
+ const value = styles[key];
719
+ if (key.startsWith('@media ')) {
720
+ const mediaQuery = key;
721
+ if (!nestedMediaQueries[mediaQuery]) {
722
+ nestedMediaQueries[mediaQuery] = {};
723
+ }
724
+ Object.assign(nestedMediaQueries[mediaQuery], value);
725
+ } else if (key.startsWith('&:')) {
726
+ const pseudoSelector = key.slice(1);
727
+ const nestedStyles = styles[key];
728
+ const nestedRules = generateCssRules(`${selector}${pseudoSelector}`, nestedStyles, getColor
729
+ // Ne pas passer mediaQueries ici
730
+ );
731
+
732
+ rules.push(...nestedRules);
733
+ } else {
734
+ mainStyles[key] = value;
735
+ }
736
+ });
737
+ // Gestion des media queries
738
+ // eslint-disable-next-line prefer-const
739
+ let mediaBreakpoints = {};
740
+ if (mediaQueries) {
741
+ for (const query in mediaQueries) {
742
+ const queries = mediaQueries[query].trim();
743
+ mediaBreakpoints['@media ' + queries] = query;
744
+ }
745
+ }
746
+ if (Object.keys(mainStyles).length > 0 || Object.keys(nestedMediaQueries).length > 0) {
747
+ const processedStyles = {};
748
+ for (const property in mainStyles) {
749
+ processedStyles[property] = processStyleProperty(property, mainStyles[property], getColor);
750
+ }
751
+ const cssRule = `${selector} { ${styleObjectToCss(processedStyles)} }`;
752
+ rules.push(cssRule);
753
+ for (let mediaQuery in nestedMediaQueries) {
754
+ mediaQuery = mediaQuery.trim();
755
+ const mediaStyles = nestedMediaQueries[mediaQuery];
756
+ const processedMediaStyles = {};
757
+ for (const property in mediaStyles) {
758
+ processedMediaStyles[property] = processStyleProperty(property, mediaStyles[property], getColor);
759
+ }
760
+ const cssProperties = styleObjectToCss(processedMediaStyles);
761
+ const mediaRule = `${mediaQuery} { ${selector} { ${cssProperties} } }`;
762
+ rules.push(mediaRule);
763
+ if (mediaBreakpoints[mediaQuery]) {
764
+ const breakpoint = mediaBreakpoints[mediaQuery];
765
+ const bpRule = `.${breakpoint} ${selector} { ${cssProperties} }`;
766
+ rules.push(bpRule);
767
+ }
768
+ }
769
+ }
770
+ return rules;
771
+ };
772
+ // Function to apply styles to a component
773
+ const applyStyle = (props, getColor, mediaQueries, devices) => {
774
+ const styleProps = {};
775
+ const keyframesList = [];
776
+ // Gestion de la taille de l'élément
777
+ const size = props.height !== undefined && props.width !== undefined && props.height === props.width ? props.height : props.size ? props.size : null;
778
+ if (size) {
779
+ styleProps.height = styleProps.width = size;
780
+ }
781
+ // Gestion du padding et de la marge
782
+ if (props.paddingHorizontal) {
783
+ styleProps.paddingLeft = props.paddingHorizontal;
784
+ styleProps.paddingRight = props.paddingHorizontal;
785
+ }
786
+ if (props.marginHorizontal) {
787
+ styleProps.marginLeft = props.marginHorizontal;
788
+ styleProps.marginRight = props.marginHorizontal;
789
+ }
790
+ if (props.paddingVertical) {
791
+ styleProps.paddingTop = props.paddingVertical;
792
+ styleProps.paddingBottom = props.paddingVertical;
793
+ }
794
+ if (props.marginVertical) {
795
+ styleProps.marginTop = props.marginVertical;
796
+ styleProps.marginBottom = props.marginVertical;
797
+ }
798
+ // Application des ombres si spécifié
799
+ if (props.shadow) {
800
+ if (typeof props.shadow === 'number' || typeof props.shadow === 'boolean') {
801
+ const shadowValue = typeof props.shadow === 'number' && Shadows[props.shadow] !== undefined ? props.shadow : 2;
802
+ if (Shadows[shadowValue]) {
803
+ const shadowColor = Color.hex.rgb(Shadows[shadowValue].shadowColor) || [];
804
+ styleProps['boxShadow'] = `${Shadows[shadowValue].shadowOffset.height}px ${Shadows[shadowValue].shadowOffset.width}px ${Shadows[shadowValue].shadowRadius}px rgba(${shadowColor.join(',')},${Shadows[shadowValue].shadowOpacity})`;
805
+ }
806
+ } else {
807
+ const shadowColor = Color.hex.rgb(props.shadow.shadowColor) || [];
808
+ styleProps['boxShadow'] = `${props.shadow.shadowOffset.height}px ${props.shadow.shadowOffset.width}px ${props.shadow.shadowRadius}px rgba(${shadowColor.join(',')},${props.shadow.shadowOpacity})`;
809
+ }
810
+ }
811
+ // Gestion des animations
812
+ if (props.animate) {
813
+ const animation = props.animate;
814
+ const {
815
+ keyframesName,
816
+ keyframes
817
+ } = generateKeyframes(animation);
818
+ if (keyframes) {
819
+ keyframesList.push(keyframes);
820
+ }
821
+ styleProps.animationName = keyframesName;
822
+ styleProps.animationDuration = animation.duration || '1s';
823
+ styleProps.animationTimingFunction = animation.timingFunction || 'ease';
824
+ styleProps.animationDelay = animation.delay || '0s';
825
+ styleProps.animationIterationCount = `${animation.iterationCount || '1'}`;
826
+ styleProps.animationDirection = animation.direction || 'normal';
827
+ styleProps.animationFillMode = animation.fillMode || 'both';
828
+ styleProps.animationPlayState = animation.playState || 'running';
829
+ }
830
+ // Traitement des propriétés de style
831
+ Object.keys(props).forEach(property => {
832
+ if (property !== 'style' && (isStyleProp(property) || extraKeys.has(property))) {
833
+ const value = props[property];
834
+ if (typeof value === 'object' && value !== null) {
835
+ // Pour les propriétés comme 'on', 'media'
836
+ if (property === 'on') {
837
+ // Pseudo-sélecteurs
838
+ for (const event in value) {
839
+ if (!styleProps[`&:${event}`]) {
840
+ styleProps[`&:${event}`] = {};
841
+ }
842
+ const nestedResult = applyStyle(value[event], getColor, mediaQueries, devices);
843
+ Object.assign(styleProps[`&:${event}`], nestedResult.styleProps);
844
+ keyframesList.push(...(nestedResult.keyframes || []));
845
+ }
846
+ } else if (property === 'media') {
847
+ // Media queries
848
+ for (const screenOrDevices in value) {
849
+ const mediaValue = value[screenOrDevices];
850
+ if (mediaQueries[screenOrDevices]) {
851
+ const mediaQuery = '@media ' + mediaQueries[screenOrDevices];
852
+ if (!styleProps[mediaQuery]) {
853
+ styleProps[mediaQuery] = {};
854
+ }
855
+ const nestedResult = applyStyle(mediaValue, getColor, mediaQueries, devices);
856
+ Object.assign(styleProps[mediaQuery], nestedResult.styleProps);
857
+ keyframesList.push(...(nestedResult.keyframes || []));
858
+ } else if (devices[screenOrDevices]) {
859
+ const deviceScreens = devices[screenOrDevices];
860
+ deviceScreens.forEach(screen => {
861
+ if (mediaQueries[screen]) {
862
+ const mediaQuery = '@media ' + mediaQueries[screen];
863
+ if (!styleProps[mediaQuery]) {
864
+ styleProps[mediaQuery] = {};
865
+ }
866
+ const nestedResult = applyStyle(mediaValue, getColor, mediaQueries, devices);
867
+ Object.assign(styleProps[mediaQuery], nestedResult.styleProps);
868
+ keyframesList.push(...(nestedResult.keyframes || []));
869
+ }
870
+ });
871
+ }
872
+ }
873
+ } else {
874
+ // Styles imbriqués
875
+ const nestedResult = applyStyle(value, getColor, mediaQueries, devices);
876
+ styleProps[property] = nestedResult.styleProps;
877
+ keyframesList.push(...(nestedResult.keyframes || []));
878
+ }
879
+ } else {
880
+ // Propriété de style simple
881
+ styleProps[property] = value;
882
+ }
883
+ }
884
+ });
885
+ return {
886
+ styleProps,
887
+ keyframes: keyframesList
888
+ };
889
+ };
890
+ const getStyledProps = (props, getColor, mediaQueries, devices) => {
891
+ const {
892
+ styleProps,
893
+ keyframes
894
+ } = applyStyle(props, getColor, mediaQueries, devices);
895
+ const className = generateClassName(styleProps);
896
+ let cssRules = [];
897
+ if (cssRulesCache.has(className)) {
898
+ cssRules = cssRulesCache.get(className);
899
+ } else {
900
+ cssRules = generateCssRules(`.${className}`, styleProps, getColor, mediaQueries);
901
+ if (keyframes && keyframes.length > 0) {
902
+ cssRules = keyframes.concat(cssRules);
903
+ }
904
+ cssRulesCache.set(className, cssRules);
905
+ }
906
+ const {
907
+ style,
908
+ ...restProps
909
+ } = props;
910
+ const newProps = Object.keys(restProps).reduce((acc, key) => {
911
+ if (!excludedKeys.has(key) && !isStyleProp(key) || includeKeys.has(key)) {
912
+ acc[key] = restProps[key];
913
+ }
914
+ return acc;
915
+ }, {});
916
+ if (className) {
917
+ newProps.className = className;
918
+ }
919
+ if (style) {
920
+ newProps.style = style;
921
+ }
922
+ return {
923
+ newProps,
924
+ className,
925
+ cssRules
926
+ };
927
+ };
928
+ const Element = props => {
929
+ const {
930
+ onPress,
931
+ ...rest
932
+ } = props;
933
+ const {
934
+ getColor
935
+ } = useTheme();
936
+ const {
937
+ mediaQueries,
938
+ devices
939
+ } = useResponsiveContext();
940
+ const {
941
+ newProps,
942
+ cssRules
943
+ } = React.useMemo(() => getStyledProps(rest, getColor, mediaQueries, devices), [rest, getColor, mediaQueries, devices]);
944
+ if (onPress) {
945
+ newProps.onClick = onPress;
946
+ }
947
+ useDynamicStyles(cssRules);
948
+ const Component = newProps.as || 'div';
949
+ delete newProps.as;
950
+ return /*#__PURE__*/React__default.createElement(Component, Object.assign({}, newProps), props.children);
951
+ };
952
+
953
+ const View = /*#__PURE__*/React__default.memo(props => /*#__PURE__*/React__default.createElement(Element, Object.assign({}, props)));
954
+ const Div = View;
955
+ const SafeArea = View;
956
+ const Scroll = /*#__PURE__*/React__default.memo(props => /*#__PURE__*/React__default.createElement(View, Object.assign({
957
+ overflow: 'auto'
958
+ }, props)));
959
+ const Span = /*#__PURE__*/React__default.memo(props => /*#__PURE__*/React__default.createElement(Element, Object.assign({}, props, {
960
+ as: "span"
961
+ })));
962
+
963
+ const Image = /*#__PURE__*/React__default.memo(props => /*#__PURE__*/React__default.createElement(Element, Object.assign({}, props, {
964
+ as: "img"
965
+ })));
966
+
967
+ const Text = /*#__PURE__*/React__default.memo(props => {
968
+ return /*#__PURE__*/React__default.createElement(Element, Object.assign({}, props));
969
+ });
970
+
971
+ // Utilisation de React.memo pour une meilleure performance
972
+ const Form = /*#__PURE__*/React__default.memo(props => /*#__PURE__*/React__default.createElement(Element, Object.assign({}, props, {
973
+ as: "form"
974
+ })));
975
+ const Input = /*#__PURE__*/React__default.memo(props => /*#__PURE__*/React__default.createElement(Element, Object.assign({}, props, {
976
+ as: "input"
977
+ })));
978
+ const Button = /*#__PURE__*/React__default.memo(props => /*#__PURE__*/React__default.createElement(Element, Object.assign({}, props, {
979
+ as: "button"
980
+ })));
981
+
982
+ // animations.ts
983
+ const fadeIn = function (duration, timingFunction) {
984
+ if (duration === void 0) {
985
+ duration = '1s';
986
+ }
987
+ if (timingFunction === void 0) {
988
+ timingFunction = 'ease';
989
+ }
990
+ return {
991
+ from: {
992
+ opacity: 0
993
+ },
994
+ enter: {
995
+ opacity: 1
996
+ },
997
+ duration,
998
+ timingFunction
999
+ };
1000
+ };
1001
+ const fadeOut = function (duration, timingFunction) {
1002
+ if (duration === void 0) {
1003
+ duration = '1s';
1004
+ }
1005
+ if (timingFunction === void 0) {
1006
+ timingFunction = 'ease';
1007
+ }
1008
+ return {
1009
+ from: {
1010
+ opacity: 1
1011
+ },
1012
+ enter: {
1013
+ opacity: 0
1014
+ },
1015
+ duration,
1016
+ timingFunction
1017
+ };
1018
+ };
1019
+ const slideInLeft = function (duration, timingFunction) {
1020
+ if (duration === void 0) {
1021
+ duration = '0.5s';
1022
+ }
1023
+ if (timingFunction === void 0) {
1024
+ timingFunction = 'ease-out';
1025
+ }
1026
+ return {
1027
+ from: {
1028
+ transform: 'translateX(-100%)'
1029
+ },
1030
+ enter: {
1031
+ transform: 'translateX(0)'
1032
+ },
1033
+ duration,
1034
+ timingFunction
1035
+ };
1036
+ };
1037
+ const slideInRight = function (duration, timingFunction) {
1038
+ if (duration === void 0) {
1039
+ duration = '0.5s';
1040
+ }
1041
+ if (timingFunction === void 0) {
1042
+ timingFunction = 'ease-out';
1043
+ }
1044
+ return {
1045
+ from: {
1046
+ transform: 'translateX(100%)'
1047
+ },
1048
+ enter: {
1049
+ transform: 'translateX(0)'
1050
+ },
1051
+ duration,
1052
+ timingFunction
1053
+ };
1054
+ };
1055
+ const slideInDown = function (duration, timingFunction) {
1056
+ if (duration === void 0) {
1057
+ duration = '0.5s';
1058
+ }
1059
+ if (timingFunction === void 0) {
1060
+ timingFunction = 'ease-out';
1061
+ }
1062
+ return {
1063
+ from: {
1064
+ transform: 'translateY(-100%)'
1065
+ },
1066
+ enter: {
1067
+ transform: 'translateY(0)'
1068
+ },
1069
+ duration,
1070
+ timingFunction
1071
+ };
1072
+ };
1073
+ const slideInUp = function (duration, timingFunction) {
1074
+ if (duration === void 0) {
1075
+ duration = '0.5s';
1076
+ }
1077
+ if (timingFunction === void 0) {
1078
+ timingFunction = 'ease-out';
1079
+ }
1080
+ return {
1081
+ from: {
1082
+ transform: 'translateY(100%)'
1083
+ },
1084
+ enter: {
1085
+ transform: 'translateY(0)'
1086
+ },
1087
+ duration,
1088
+ timingFunction
1089
+ };
1090
+ };
1091
+ const bounce = function (duration, timingFunction, iterationCount) {
1092
+ if (duration === void 0) {
1093
+ duration = '2s';
1094
+ }
1095
+ if (timingFunction === void 0) {
1096
+ timingFunction = 'ease';
1097
+ }
1098
+ if (iterationCount === void 0) {
1099
+ iterationCount = 'infinite';
1100
+ }
1101
+ return {
1102
+ from: {
1103
+ transform: 'translateY(0)'
1104
+ },
1105
+ '20%': {
1106
+ transform: 'translateY(-30px)'
1107
+ },
1108
+ '40%': {
1109
+ transform: 'translateY(0)'
1110
+ },
1111
+ '60%': {
1112
+ transform: 'translateY(-15px)'
1113
+ },
1114
+ '80%': {
1115
+ transform: 'translateY(0)'
1116
+ },
1117
+ enter: {
1118
+ transform: 'translateY(0)'
1119
+ },
1120
+ duration,
1121
+ timingFunction,
1122
+ iterationCount
1123
+ };
1124
+ };
1125
+ const rotate = function (duration, timingFunction, iterationCount) {
1126
+ if (duration === void 0) {
1127
+ duration = '1s';
1128
+ }
1129
+ if (timingFunction === void 0) {
1130
+ timingFunction = 'linear';
1131
+ }
1132
+ if (iterationCount === void 0) {
1133
+ iterationCount = 'infinite';
1134
+ }
1135
+ return {
1136
+ from: {
1137
+ transform: 'rotate(0deg)'
1138
+ },
1139
+ enter: {
1140
+ transform: 'rotate(360deg)'
1141
+ },
1142
+ duration,
1143
+ timingFunction,
1144
+ iterationCount
1145
+ };
1146
+ };
1147
+ const pulse = function (duration, timingFunction, iterationCount) {
1148
+ if (duration === void 0) {
1149
+ duration = '1s';
1150
+ }
1151
+ if (timingFunction === void 0) {
1152
+ timingFunction = 'ease-in-out';
1153
+ }
1154
+ if (iterationCount === void 0) {
1155
+ iterationCount = 'infinite';
1156
+ }
1157
+ return {
1158
+ from: {
1159
+ transform: 'scale(1)'
1160
+ },
1161
+ '50%': {
1162
+ transform: 'scale(1.05)'
1163
+ },
1164
+ enter: {
1165
+ transform: 'scale(1)'
1166
+ },
1167
+ duration,
1168
+ timingFunction,
1169
+ iterationCount
1170
+ };
1171
+ };
1172
+ const zoomIn = function (duration, timingFunction) {
1173
+ if (duration === void 0) {
1174
+ duration = '0.5s';
1175
+ }
1176
+ if (timingFunction === void 0) {
1177
+ timingFunction = 'ease-out';
1178
+ }
1179
+ return {
1180
+ from: {
1181
+ transform: 'scale(0)'
1182
+ },
1183
+ enter: {
1184
+ transform: 'scale(1)'
1185
+ },
1186
+ duration,
1187
+ timingFunction
1188
+ };
1189
+ };
1190
+ const zoomOut = function (duration, timingFunction) {
1191
+ if (duration === void 0) {
1192
+ duration = '0.5s';
1193
+ }
1194
+ if (timingFunction === void 0) {
1195
+ timingFunction = 'ease-out';
1196
+ }
1197
+ return {
1198
+ from: {
1199
+ transform: 'scale(1)'
1200
+ },
1201
+ enter: {
1202
+ transform: 'scale(0)'
1203
+ },
1204
+ duration,
1205
+ timingFunction
1206
+ };
1207
+ };
1208
+ const flash = function (duration, iterationCount) {
1209
+ if (duration === void 0) {
1210
+ duration = '1s';
1211
+ }
1212
+ if (iterationCount === void 0) {
1213
+ iterationCount = 'infinite';
1214
+ }
1215
+ return {
1216
+ from: {
1217
+ opacity: 1
1218
+ },
1219
+ '50%': {
1220
+ opacity: 0
1221
+ },
1222
+ enter: {
1223
+ opacity: 1
1224
+ },
1225
+ duration,
1226
+ iterationCount
1227
+ };
1228
+ };
1229
+ const shake = function (duration, iterationCount) {
1230
+ if (duration === void 0) {
1231
+ duration = '0.5s';
1232
+ }
1233
+ if (iterationCount === void 0) {
1234
+ iterationCount = 'infinite';
1235
+ }
1236
+ return {
1237
+ from: {
1238
+ transform: 'translateX(0)'
1239
+ },
1240
+ '10%': {
1241
+ transform: 'translateX(-10px)'
1242
+ },
1243
+ '20%': {
1244
+ transform: 'translateX(10px)'
1245
+ },
1246
+ '30%': {
1247
+ transform: 'translateX(-10px)'
1248
+ },
1249
+ '40%': {
1250
+ transform: 'translateX(10px)'
1251
+ },
1252
+ '50%': {
1253
+ transform: 'translateX(-10px)'
1254
+ },
1255
+ '60%': {
1256
+ transform: 'translateX(10px)'
1257
+ },
1258
+ '70%': {
1259
+ transform: 'translateX(-10px)'
1260
+ },
1261
+ '80%': {
1262
+ transform: 'translateX(10px)'
1263
+ },
1264
+ '90%': {
1265
+ transform: 'translateX(-10px)'
1266
+ },
1267
+ enter: {
1268
+ transform: 'translateX(0)'
1269
+ },
1270
+ duration,
1271
+ iterationCount
1272
+ };
1273
+ };
1274
+ const swing = function (duration, iterationCount) {
1275
+ if (duration === void 0) {
1276
+ duration = '1s';
1277
+ }
1278
+ if (iterationCount === void 0) {
1279
+ iterationCount = 'infinite';
1280
+ }
1281
+ return {
1282
+ from: {
1283
+ transform: 'rotate(0deg)'
1284
+ },
1285
+ '20%': {
1286
+ transform: 'rotate(15deg)'
1287
+ },
1288
+ '40%': {
1289
+ transform: 'rotate(-10deg)'
1290
+ },
1291
+ '60%': {
1292
+ transform: 'rotate(5deg)'
1293
+ },
1294
+ '80%': {
1295
+ transform: 'rotate(-5deg)'
1296
+ },
1297
+ enter: {
1298
+ transform: 'rotate(0deg)'
1299
+ },
1300
+ duration,
1301
+ iterationCount
1302
+ };
1303
+ };
1304
+ const rubberBand = function (duration, timingFunction) {
1305
+ if (duration === void 0) {
1306
+ duration = '1s';
1307
+ }
1308
+ if (timingFunction === void 0) {
1309
+ timingFunction = 'ease-in-out';
1310
+ }
1311
+ return {
1312
+ from: {
1313
+ transform: 'scale3d(1, 1, 1)'
1314
+ },
1315
+ '30%': {
1316
+ transform: 'scale3d(1.25, 0.75, 1)'
1317
+ },
1318
+ '40%': {
1319
+ transform: 'scale3d(0.75, 1.25, 1)'
1320
+ },
1321
+ '50%': {
1322
+ transform: 'scale3d(1.15, 0.85, 1)'
1323
+ },
1324
+ '65%': {
1325
+ transform: 'scale3d(0.95, 1.05, 1)'
1326
+ },
1327
+ '75%': {
1328
+ transform: 'scale3d(1.05, 0.95, 1)'
1329
+ },
1330
+ enter: {
1331
+ transform: 'scale3d(1, 1, 1)'
1332
+ },
1333
+ duration,
1334
+ timingFunction
1335
+ };
1336
+ };
1337
+ const wobble = function (duration) {
1338
+ if (duration === void 0) {
1339
+ duration = '1s';
1340
+ }
1341
+ return {
1342
+ from: {
1343
+ transform: 'translateX(0%)'
1344
+ },
1345
+ '15%': {
1346
+ transform: 'translateX(-25%) rotate(-5deg)'
1347
+ },
1348
+ '30%': {
1349
+ transform: 'translateX(20%) rotate(3deg)'
1350
+ },
1351
+ '45%': {
1352
+ transform: 'translateX(-15%) rotate(-3deg)'
1353
+ },
1354
+ '60%': {
1355
+ transform: 'translateX(10%) rotate(2deg)'
1356
+ },
1357
+ '75%': {
1358
+ transform: 'translateX(-5%) rotate(-1deg)'
1359
+ },
1360
+ enter: {
1361
+ transform: 'translateX(0%)'
1362
+ },
1363
+ duration
1364
+ };
1365
+ };
1366
+ const flip = function (duration) {
1367
+ if (duration === void 0) {
1368
+ duration = '1s';
1369
+ }
1370
+ return {
1371
+ from: {
1372
+ transform: 'perspective(400px) rotateY(0deg)'
1373
+ },
1374
+ '40%': {
1375
+ transform: 'perspective(400px) rotateY(-180deg)'
1376
+ },
1377
+ enter: {
1378
+ transform: 'perspective(400px) rotateY(-360deg)'
1379
+ },
1380
+ duration
1381
+ };
1382
+ };
1383
+ const heartBeat = function (duration, iterationCount) {
1384
+ if (duration === void 0) {
1385
+ duration = '1.3s';
1386
+ }
1387
+ if (iterationCount === void 0) {
1388
+ iterationCount = 'infinite';
1389
+ }
1390
+ return {
1391
+ from: {
1392
+ transform: 'scale(1)'
1393
+ },
1394
+ '14%': {
1395
+ transform: 'scale(1.3)'
1396
+ },
1397
+ '28%': {
1398
+ transform: 'scale(1)'
1399
+ },
1400
+ '42%': {
1401
+ transform: 'scale(1.3)'
1402
+ },
1403
+ '70%': {
1404
+ transform: 'scale(1)'
1405
+ },
1406
+ enter: {
1407
+ transform: 'scale(1)'
1408
+ },
1409
+ duration,
1410
+ iterationCount
1411
+ };
1412
+ };
1413
+ const rollIn = function (duration) {
1414
+ if (duration === void 0) {
1415
+ duration = '1s';
1416
+ }
1417
+ return {
1418
+ from: {
1419
+ opacity: 0,
1420
+ transform: 'translateX(-100%) rotate(-120deg)'
1421
+ },
1422
+ enter: {
1423
+ opacity: 1,
1424
+ transform: 'translateX(0px) rotate(0deg)'
1425
+ },
1426
+ duration
1427
+ };
1428
+ };
1429
+ const rollOut = function (duration) {
1430
+ if (duration === void 0) {
1431
+ duration = '1s';
1432
+ }
1433
+ return {
1434
+ from: {
1435
+ opacity: 1,
1436
+ transform: 'translateX(0px) rotate(0deg)'
1437
+ },
1438
+ enter: {
1439
+ opacity: 0,
1440
+ transform: 'translateX(100%) rotate(120deg)'
1441
+ },
1442
+ duration
1443
+ };
1444
+ };
1445
+ const lightSpeedIn = function (duration, timingFunction) {
1446
+ if (duration === void 0) {
1447
+ duration = '1s';
1448
+ }
1449
+ if (timingFunction === void 0) {
1450
+ timingFunction = 'ease-out';
1451
+ }
1452
+ return {
1453
+ from: {
1454
+ transform: 'translateX(100%) skewX(-30deg)',
1455
+ opacity: 0
1456
+ },
1457
+ '60%': {
1458
+ transform: 'skewX(20deg)',
1459
+ opacity: 1
1460
+ },
1461
+ '80%': {
1462
+ transform: 'skewX(-5deg)'
1463
+ },
1464
+ enter: {
1465
+ transform: 'translateX(0)',
1466
+ opacity: 1
1467
+ },
1468
+ duration,
1469
+ timingFunction
1470
+ };
1471
+ };
1472
+ const lightSpeedOut = function (duration, timingFunction) {
1473
+ if (duration === void 0) {
1474
+ duration = '1s';
1475
+ }
1476
+ if (timingFunction === void 0) {
1477
+ timingFunction = 'ease-in';
1478
+ }
1479
+ return {
1480
+ from: {
1481
+ opacity: 1
1482
+ },
1483
+ '20%': {
1484
+ opacity: 1,
1485
+ transform: 'translateX(-20%) skewX(20deg)'
1486
+ },
1487
+ enter: {
1488
+ opacity: 0,
1489
+ transform: 'translateX(-100%) skewX(30deg)'
1490
+ },
1491
+ duration,
1492
+ timingFunction
1493
+ };
1494
+ };
1495
+ const hinge = function (duration, timingFunction) {
1496
+ if (duration === void 0) {
1497
+ duration = '2s';
1498
+ }
1499
+ if (timingFunction === void 0) {
1500
+ timingFunction = 'ease-in-out';
1501
+ }
1502
+ return {
1503
+ from: {
1504
+ transform: 'rotate(0deg)',
1505
+ transformOrigin: 'top left',
1506
+ opacity: 1
1507
+ },
1508
+ '20%': {
1509
+ transform: 'rotate(80deg)',
1510
+ opacity: 1
1511
+ },
1512
+ '40%': {
1513
+ transform: 'rotate(60deg)',
1514
+ opacity: 1
1515
+ },
1516
+ '60%': {
1517
+ transform: 'rotate(80deg)',
1518
+ opacity: 1
1519
+ },
1520
+ '80%': {
1521
+ transform: 'rotate(60deg)',
1522
+ opacity: 1
1523
+ },
1524
+ enter: {
1525
+ transform: 'translateY(700px)',
1526
+ opacity: 0
1527
+ },
1528
+ duration,
1529
+ timingFunction
1530
+ };
1531
+ };
1532
+ const jackInTheBox = function (duration, timingFunction) {
1533
+ if (duration === void 0) {
1534
+ duration = '1s';
1535
+ }
1536
+ if (timingFunction === void 0) {
1537
+ timingFunction = 'ease';
1538
+ }
1539
+ return {
1540
+ from: {
1541
+ opacity: 0,
1542
+ transform: 'scale(0.1) rotate(30deg)',
1543
+ transformOrigin: 'center bottom'
1544
+ },
1545
+ '50%': {
1546
+ transform: 'rotate(-10deg)'
1547
+ },
1548
+ '70%': {
1549
+ transform: 'rotate(3deg)'
1550
+ },
1551
+ enter: {
1552
+ opacity: 1,
1553
+ transform: 'scale(1) rotate(0deg)'
1554
+ },
1555
+ duration,
1556
+ timingFunction
1557
+ };
1558
+ };
1559
+ const flipInX = function (duration, timingFunction) {
1560
+ if (duration === void 0) {
1561
+ duration = '1s';
1562
+ }
1563
+ if (timingFunction === void 0) {
1564
+ timingFunction = 'ease-in';
1565
+ }
1566
+ return {
1567
+ from: {
1568
+ transform: 'perspective(400px) rotateX(90deg)',
1569
+ opacity: 0
1570
+ },
1571
+ '40%': {
1572
+ transform: 'perspective(400px) rotateX(-10deg)',
1573
+ opacity: 1
1574
+ },
1575
+ enter: {
1576
+ transform: 'perspective(400px) rotateX(0deg)'
1577
+ },
1578
+ duration,
1579
+ timingFunction
1580
+ };
1581
+ };
1582
+ const flipInY = function (duration, timingFunction) {
1583
+ if (duration === void 0) {
1584
+ duration = '1s';
1585
+ }
1586
+ if (timingFunction === void 0) {
1587
+ timingFunction = 'ease-in';
1588
+ }
1589
+ return {
1590
+ from: {
1591
+ transform: 'perspective(400px) rotateY(90deg)',
1592
+ opacity: 0
1593
+ },
1594
+ '40%': {
1595
+ transform: 'perspective(400px) rotateY(-10deg)',
1596
+ opacity: 1
1597
+ },
1598
+ enter: {
1599
+ transform: 'perspective(400px) rotateY(0deg)'
1600
+ },
1601
+ duration,
1602
+ timingFunction
1603
+ };
1604
+ };
1605
+ const headShake = function (duration, iterationCount) {
1606
+ if (duration === void 0) {
1607
+ duration = '1s';
1608
+ }
1609
+ if (iterationCount === void 0) {
1610
+ iterationCount = 'infinite';
1611
+ }
1612
+ return {
1613
+ from: {
1614
+ transform: 'translateX(0)'
1615
+ },
1616
+ '6.5%': {
1617
+ transform: 'translateX(-6px) rotateY(-9deg)'
1618
+ },
1619
+ '18.5%': {
1620
+ transform: 'translateX(5px) rotateY(7deg)'
1621
+ },
1622
+ '31.5%': {
1623
+ transform: 'translateX(-3px) rotateY(-5deg)'
1624
+ },
1625
+ '43.5%': {
1626
+ transform: 'translateX(2px) rotateY(3deg)'
1627
+ },
1628
+ '50%': {
1629
+ transform: 'translateX(0)'
1630
+ },
1631
+ duration,
1632
+ iterationCount
1633
+ };
1634
+ };
1635
+ const tada = function (duration, iterationCount) {
1636
+ if (duration === void 0) {
1637
+ duration = '1s';
1638
+ }
1639
+ if (iterationCount === void 0) {
1640
+ iterationCount = 'infinite';
1641
+ }
1642
+ return {
1643
+ from: {
1644
+ transform: 'scale3d(1, 1, 1)',
1645
+ opacity: 1
1646
+ },
1647
+ '10%, 20%': {
1648
+ transform: 'scale3d(0.9, 0.9, 0.9) rotate(-3deg)'
1649
+ },
1650
+ '30%, 50%, 70%, 90%': {
1651
+ transform: 'scale3d(1.1, 1.1, 1.1) rotate(3deg)'
1652
+ },
1653
+ '40%, 60%, 80%': {
1654
+ transform: 'scale3d(1.1, 1.1, 1.1) rotate(-3deg)'
1655
+ },
1656
+ enter: {
1657
+ transform: 'scale3d(1, 1, 1)',
1658
+ opacity: 1
1659
+ },
1660
+ duration,
1661
+ iterationCount
1662
+ };
1663
+ };
1664
+ const jello = function (duration, iterationCount) {
1665
+ if (duration === void 0) {
1666
+ duration = '1s';
1667
+ }
1668
+ if (iterationCount === void 0) {
1669
+ iterationCount = 'infinite';
1670
+ }
1671
+ return {
1672
+ from: {
1673
+ transform: 'none'
1674
+ },
1675
+ '11.1%': {
1676
+ transform: 'skewX(-12.5deg) skewY(-12.5deg)'
1677
+ },
1678
+ '22.2%': {
1679
+ transform: 'skewX(6.25deg) skewY(6.25deg)'
1680
+ },
1681
+ '33.3%': {
1682
+ transform: 'skewX(-3.125deg) skewY(-3.125deg)'
1683
+ },
1684
+ '44.4%': {
1685
+ transform: 'skewX(1.5625deg) skewY(1.5625deg)'
1686
+ },
1687
+ '55.5%': {
1688
+ transform: 'skewX(-0.78125deg) skewY(-0.78125deg)'
1689
+ },
1690
+ '66.6%': {
1691
+ transform: 'skewX(0.390625deg) skewY(0.390625deg)'
1692
+ },
1693
+ '77.7%': {
1694
+ transform: 'skewX(-0.1953125deg) skewY(-0.1953125deg)'
1695
+ },
1696
+ '88.8%': {
1697
+ transform: 'skewX(0.09765625deg) skewY(0.09765625deg)'
1698
+ },
1699
+ enter: {
1700
+ transform: 'none'
1701
+ },
1702
+ duration,
1703
+ iterationCount
1704
+ };
1705
+ };
1706
+ const fadeInDown = function (duration, timingFunction) {
1707
+ if (duration === void 0) {
1708
+ duration = '1s';
1709
+ }
1710
+ if (timingFunction === void 0) {
1711
+ timingFunction = 'ease-out';
1712
+ }
1713
+ return {
1714
+ from: {
1715
+ opacity: 0,
1716
+ transform: 'translateY(-100%)'
1717
+ },
1718
+ enter: {
1719
+ opacity: 1,
1720
+ transform: 'translateY(0)'
1721
+ },
1722
+ duration,
1723
+ timingFunction
1724
+ };
1725
+ };
1726
+ const fadeInUp = function (duration, timingFunction) {
1727
+ if (duration === void 0) {
1728
+ duration = '1s';
1729
+ }
1730
+ if (timingFunction === void 0) {
1731
+ timingFunction = 'ease-out';
1732
+ }
1733
+ return {
1734
+ from: {
1735
+ opacity: 0,
1736
+ transform: 'translateY(100%)'
1737
+ },
1738
+ enter: {
1739
+ opacity: 1,
1740
+ transform: 'translateY(0)'
1741
+ },
1742
+ duration,
1743
+ timingFunction
1744
+ };
1745
+ };
1746
+ const bounceIn = function (duration, timingFunction) {
1747
+ if (duration === void 0) {
1748
+ duration = '0.75s';
1749
+ }
1750
+ if (timingFunction === void 0) {
1751
+ timingFunction = 'ease-in';
1752
+ }
1753
+ return {
1754
+ from: {
1755
+ opacity: 0,
1756
+ transform: 'scale(0.3)'
1757
+ },
1758
+ '50%': {
1759
+ opacity: 1,
1760
+ transform: 'scale(1.05)'
1761
+ },
1762
+ '70%': {
1763
+ transform: 'scale(0.9)'
1764
+ },
1765
+ enter: {
1766
+ transform: 'scale(1)'
1767
+ },
1768
+ duration,
1769
+ timingFunction
1770
+ };
1771
+ };
1772
+ const bounceOut = function (duration, timingFunction) {
1773
+ if (duration === void 0) {
1774
+ duration = '0.75s';
1775
+ }
1776
+ if (timingFunction === void 0) {
1777
+ timingFunction = 'ease-out';
1778
+ }
1779
+ return {
1780
+ from: {
1781
+ transform: 'scale(1)'
1782
+ },
1783
+ '20%': {
1784
+ transform: 'scale(0.9)'
1785
+ },
1786
+ '50%, 55%': {
1787
+ opacity: 1,
1788
+ transform: 'scale(1.1)'
1789
+ },
1790
+ enter: {
1791
+ opacity: 0,
1792
+ transform: 'scale(0.3)'
1793
+ },
1794
+ duration,
1795
+ timingFunction
1796
+ };
1797
+ };
1798
+ const slideOutLeft = function (duration, timingFunction) {
1799
+ if (duration === void 0) {
1800
+ duration = '0.5s';
1801
+ }
1802
+ if (timingFunction === void 0) {
1803
+ timingFunction = 'ease-in';
1804
+ }
1805
+ return {
1806
+ from: {
1807
+ transform: 'translateX(0)'
1808
+ },
1809
+ enter: {
1810
+ transform: 'translateX(-100%)'
1811
+ },
1812
+ duration,
1813
+ timingFunction
1814
+ };
1815
+ };
1816
+ const slideOutRight = function (duration, timingFunction) {
1817
+ if (duration === void 0) {
1818
+ duration = '0.5s';
1819
+ }
1820
+ if (timingFunction === void 0) {
1821
+ timingFunction = 'ease-in';
1822
+ }
1823
+ return {
1824
+ from: {
1825
+ transform: 'translateX(0)'
1826
+ },
1827
+ enter: {
1828
+ transform: 'translateX(100%)'
1829
+ },
1830
+ duration,
1831
+ timingFunction
1832
+ };
1833
+ };
1834
+ const zoomInDown = function (duration, timingFunction) {
1835
+ if (duration === void 0) {
1836
+ duration = '1s';
1837
+ }
1838
+ if (timingFunction === void 0) {
1839
+ timingFunction = 'ease-out';
1840
+ }
1841
+ return {
1842
+ from: {
1843
+ opacity: 0,
1844
+ transform: 'scale(0.1) translateY(-1000px)'
1845
+ },
1846
+ '60%': {
1847
+ opacity: 1,
1848
+ transform: 'scale(0.475) translateY(60px)'
1849
+ },
1850
+ enter: {
1851
+ transform: 'scale(1) translateY(0)'
1852
+ },
1853
+ duration,
1854
+ timingFunction
1855
+ };
1856
+ };
1857
+ const zoomOutUp = function (duration, timingFunction) {
1858
+ if (duration === void 0) {
1859
+ duration = '1s';
1860
+ }
1861
+ if (timingFunction === void 0) {
1862
+ timingFunction = 'ease-in';
1863
+ }
1864
+ return {
1865
+ from: {
1866
+ opacity: 1,
1867
+ transform: 'scale(1) translateY(0)'
1868
+ },
1869
+ '40%': {
1870
+ opacity: 1,
1871
+ transform: 'scale(0.475) translateY(-60px)'
1872
+ },
1873
+ enter: {
1874
+ opacity: 0,
1875
+ transform: 'scale(0.1) translateY(-1000px)'
1876
+ },
1877
+ duration,
1878
+ timingFunction
1879
+ };
1880
+ };
1881
+ const backInDown = function (duration, timingFunction) {
1882
+ if (duration === void 0) {
1883
+ duration = '1s';
1884
+ }
1885
+ if (timingFunction === void 0) {
1886
+ timingFunction = 'ease-in';
1887
+ }
1888
+ return {
1889
+ from: {
1890
+ opacity: 0.7,
1891
+ transform: 'translateY(-2000px) scaleY(2.5) scaleX(0.2)'
1892
+ },
1893
+ enter: {
1894
+ opacity: 1,
1895
+ transform: 'translateY(0) scaleY(1) scaleX(1)'
1896
+ },
1897
+ duration,
1898
+ timingFunction
1899
+ };
1900
+ };
1901
+ const backOutUp = function (duration, timingFunction) {
1902
+ if (duration === void 0) {
1903
+ duration = '1s';
1904
+ }
1905
+ if (timingFunction === void 0) {
1906
+ timingFunction = 'ease-in';
1907
+ }
1908
+ return {
1909
+ from: {
1910
+ opacity: 1,
1911
+ transform: 'translateY(0)'
1912
+ },
1913
+ '80%': {
1914
+ opacity: 0.7,
1915
+ transform: 'translateY(-20px)'
1916
+ },
1917
+ enter: {
1918
+ opacity: 0,
1919
+ transform: 'translateY(-2000px)'
1920
+ },
1921
+ duration,
1922
+ timingFunction
1923
+ };
1924
+ };
1925
+
1926
+ var Animation = {
1927
+ __proto__: null,
1928
+ fadeIn: fadeIn,
1929
+ fadeOut: fadeOut,
1930
+ slideInLeft: slideInLeft,
1931
+ slideInRight: slideInRight,
1932
+ slideInDown: slideInDown,
1933
+ slideInUp: slideInUp,
1934
+ bounce: bounce,
1935
+ rotate: rotate,
1936
+ pulse: pulse,
1937
+ zoomIn: zoomIn,
1938
+ zoomOut: zoomOut,
1939
+ flash: flash,
1940
+ shake: shake,
1941
+ swing: swing,
1942
+ rubberBand: rubberBand,
1943
+ wobble: wobble,
1944
+ flip: flip,
1945
+ heartBeat: heartBeat,
1946
+ rollIn: rollIn,
1947
+ rollOut: rollOut,
1948
+ lightSpeedIn: lightSpeedIn,
1949
+ lightSpeedOut: lightSpeedOut,
1950
+ hinge: hinge,
1951
+ jackInTheBox: jackInTheBox,
1952
+ flipInX: flipInX,
1953
+ flipInY: flipInY,
1954
+ headShake: headShake,
1955
+ tada: tada,
1956
+ jello: jello,
1957
+ fadeInDown: fadeInDown,
1958
+ fadeInUp: fadeInUp,
1959
+ bounceIn: bounceIn,
1960
+ bounceOut: bounceOut,
1961
+ slideOutLeft: slideOutLeft,
1962
+ slideOutRight: slideOutRight,
1963
+ zoomInDown: zoomInDown,
1964
+ zoomOutUp: zoomOutUp,
1965
+ backInDown: backInDown,
1966
+ backOutUp: backOutUp
1967
+ };
1968
+
1969
+ const Typography = {
1970
+ letterSpacings: {
1971
+ tighter: -0.08,
1972
+ tight: -0.4,
1973
+ normal: 0,
1974
+ wide: 0.4,
1975
+ wider: 0.8,
1976
+ widest: 1.6
1977
+ },
1978
+ lineHeights: {
1979
+ xs: 10,
1980
+ sm: 12,
1981
+ md: 14,
1982
+ lg: 16,
1983
+ xl: 20,
1984
+ '2xl': 24,
1985
+ '3xl': 30,
1986
+ '4xl': 36,
1987
+ '5xl': 48,
1988
+ '6xl': 64
1989
+ },
1990
+ fontWeights: {
1991
+ hairline: 100,
1992
+ thin: 200,
1993
+ light: 300,
1994
+ normal: 400,
1995
+ medium: 500,
1996
+ semiBold: 600,
1997
+ bold: 700,
1998
+ extraBold: 800,
1999
+ black: 900
2000
+ },
2001
+ fontSizes: {
2002
+ xs: 10,
2003
+ sm: 12,
2004
+ md: 14,
2005
+ lg: 16,
2006
+ xl: 20,
2007
+ '2xl': 24,
2008
+ '3xl': 30,
2009
+ '4xl': 36,
2010
+ '5xl': 48,
2011
+ '6xl': 64
2012
+ }
2013
+ };
2014
+
2015
+ /**
2016
+ * whether in browser env
2017
+ */
2018
+ const isBrowser = () => typeof window !== 'undefined' && typeof window.document !== 'undefined' && typeof window.document.createElement !== 'undefined';
2019
+ /**
2020
+ * get window.g_initialProps
2021
+ */
2022
+ const getWindowInitialProps = () => isBrowser() ? window.g_initialProps : undefined;
2023
+ /**
2024
+ * whether SSR success in client
2025
+ */
2026
+ const isSSR = ! /*#__PURE__*/isBrowser();
2027
+ function isDev() {
2028
+ let dev = false;
2029
+ if (isBrowser()) {
2030
+ dev = !(window.location.hostname.indexOf('localhost') === -1);
2031
+ }
2032
+ return dev;
2033
+ }
2034
+ function isProd() {
2035
+ if (isBrowser()) {
2036
+ if (window && window.location && window.location.hostname) {
2037
+ return window.location.hostname.includes('localhost') || window.location.hostname.includes('develop');
2038
+ }
2039
+ }
2040
+ return false;
2041
+ }
2042
+ function isMobile() {
2043
+ return navigator.userAgent.match(/(iPhone|iPod|Android|ios|iPad)/i);
2044
+ }
2045
+
2046
+ const useMount = callback => {
2047
+ React.useEffect(() => {
2048
+ callback();
2049
+ }, []);
2050
+ };
2051
+
2052
+ const createQuery = (keyScreen, query, set) => {
2053
+ const mql = window.matchMedia(query);
2054
+ const onChange = () => {
2055
+ if (!!mql.matches) {
2056
+ set(keyScreen);
2057
+ }
2058
+ };
2059
+ mql.addListener(onChange);
2060
+ if (!!mql.matches) {
2061
+ set(keyScreen);
2062
+ }
2063
+ return () => {
2064
+ mql.removeListener(onChange);
2065
+ };
2066
+ };
2067
+ const useResponsive = () => {
2068
+ const {
2069
+ breakpoints,
2070
+ devices,
2071
+ mediaQueries
2072
+ } = useResponsiveContext();
2073
+ const [screen, setScreen] = React.useState('xs');
2074
+ const [orientation, setOrientation] = React.useState('landscape');
2075
+ useMount(() => {
2076
+ for (const screenSize in mediaQueries) {
2077
+ createQuery(screenSize, mediaQueries[screenSize], setScreen);
2078
+ }
2079
+ createQuery('landscape', 'only screen and (orientation: landscape)', setOrientation);
2080
+ createQuery('portrait', 'only screen and (orientation: portrait)', setOrientation);
2081
+ });
2082
+ const on = device => {
2083
+ return devices[device].includes(screen);
2084
+ };
2085
+ const is = s => {
2086
+ return s == screen;
2087
+ };
2088
+ return {
2089
+ breakpoints,
2090
+ devices,
2091
+ orientation,
2092
+ screen,
2093
+ on,
2094
+ is
2095
+ };
2096
+ };
2097
+
2098
+ exports.Animation = Animation;
2099
+ exports.Button = Button;
2100
+ exports.Div = Div;
2101
+ exports.Element = Element;
2102
+ exports.Form = Form;
2103
+ exports.Image = Image;
2104
+ exports.Input = Input;
2105
+ exports.ResponsiveContext = ResponsiveContext;
2106
+ exports.ResponsiveProvider = ResponsiveProvider;
2107
+ exports.SafeArea = SafeArea;
2108
+ exports.Scroll = Scroll;
2109
+ exports.Shadows = Shadows;
2110
+ exports.Span = Span;
2111
+ exports.Text = Text;
2112
+ exports.ThemeContext = ThemeContext;
2113
+ exports.ThemeProvider = ThemeProvider;
2114
+ exports.Typography = Typography;
2115
+ exports.View = View;
2116
+ exports.createQuery = createQuery;
2117
+ exports.defaultColors = defaultColors;
2118
+ exports.defaultThemeMain = defaultThemeMain;
2119
+ exports.getWindowInitialProps = getWindowInitialProps;
2120
+ exports.isBrowser = isBrowser;
2121
+ exports.isDev = isDev;
2122
+ exports.isMobile = isMobile;
2123
+ exports.isProd = isProd;
2124
+ exports.isSSR = isSSR;
2125
+ exports.palette = palette;
2126
+ exports.useMount = useMount;
2127
+ exports.useResponsive = useResponsive;
2128
+ exports.useResponsiveContext = useResponsiveContext;
2129
+ exports.useTheme = useTheme;
2130
+ //# sourceMappingURL=appstudio.cjs.development.js.map