app-studio 0.2.18 → 0.2.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/appstudio.cjs.development.js +464 -412
- package/dist/appstudio.cjs.development.js.map +1 -1
- package/dist/appstudio.cjs.production.min.js +1 -1
- package/dist/appstudio.cjs.production.min.js.map +1 -1
- package/dist/appstudio.esm.js +464 -412
- package/dist/appstudio.esm.js.map +1 -1
- package/dist/appstudio.umd.development.js +464 -412
- package/dist/appstudio.umd.development.js.map +1 -1
- package/dist/appstudio.umd.production.min.js +1 -1
- package/dist/appstudio.umd.production.min.js.map +1 -1
- package/dist/components/Element.d.ts +1 -0
- package/dist/providers/Responsive.d.ts +1 -6
- package/dist/utils/cssClass.d.ts +2 -0
- package/dist/utils/cssProperties.d.ts +2 -0
- package/dist/utils/style.d.ts +3 -2
- package/package.json +4 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"appstudio.cjs.production.min.js","sources":["../src/utils/colors.ts","../src/providers/Theme.tsx","../src/providers/Responsive.tsx","../src/utils/constants.ts","../src/utils/style.ts","../src/utils/animation.ts","../src/utils/shadow.ts","../src/components/Element.tsx","../src/components/View.tsx","../src/components/Image.tsx","../src/components/Text.tsx","../src/components/Form.tsx","../src/utils/env.ts","../src/hooks/useMount.ts","../src/hooks/useResponsive.ts","../src/components/Animation.tsx","../src/utils/typography.ts"],"sourcesContent":["export type ColorPalette = Record<string, Record<number, string>>;\n\nexport type ColorSingleton = Record<\n string,\n {\n 50: string;\n 100: string;\n 200: string;\n 300: string;\n 400: string;\n 500: string;\n 600: string;\n 700: string;\n 800: string;\n 900: string;\n }\n>;\n\nexport const palette: ColorPalette = {\n white: {\n 50: 'rgba(255, 255, 255, 0.04)',\n 100: 'rgba(255, 255, 255, 0.08)',\n 200: 'rgba(255, 255, 255, 0.16)',\n 300: 'rgba(255, 255, 255, 0.24)',\n 400: 'rgba(255, 255, 255, 0.36)',\n 500: 'rgba(255, 255, 255, 0.48)',\n 600: 'rgba(255, 255, 255, 0.64)',\n 700: 'rgba(255, 255, 255, 0.80)',\n 800: 'rgba(255, 255, 255, 0.92)',\n 900: 'rgba(255, 255, 255, 1)',\n },\n\n black: {\n 50: 'rgba(0, 0, 0, 0.04)',\n 100: 'rgba(0, 0, 0, 0.08)',\n 200: 'rgba(0, 0, 0, 0.16)',\n 300: 'rgba(0, 0, 0, 0.24)',\n 400: 'rgba(0, 0, 0, 0.36)',\n 500: 'rgba(0, 0, 0, 0.48)',\n 600: 'rgba(0, 0, 0, 0.64)',\n 700: 'rgba(0, 0, 0, 0.80)',\n 800: 'rgba(0, 0, 0, 0.92)',\n 900: 'rgba(0, 0, 0, 1)',\n },\n rose: {\n 50: '#fff1f2',\n 100: '#ffe4e6',\n 200: '#fecdd3',\n 300: '#fda4af',\n 400: '#fb7185',\n 500: '#f43f5e',\n 600: '#e11d48',\n 700: '#be123c',\n 800: '#9f1239',\n 900: '#881337',\n },\n pink: {\n 50: '#fdf2f8',\n 100: '#fce7f3',\n 200: '#fbcfe8',\n 300: '#f9a8d4',\n 400: '#f472b6',\n 500: '#ec4899',\n 600: '#db2777',\n 700: '#be185d',\n 800: '#9d174d',\n 900: '#831843',\n },\n fuchsia: {\n 50: '#fdf4ff',\n 100: '#fae8ff',\n 200: '#f5d0fe',\n 300: '#f0abfc',\n 400: '#e879f9',\n 500: '#d946ef',\n 600: '#c026d3',\n 700: '#a21caf',\n 800: '#86198f',\n 900: '#701a75',\n },\n purple: {\n 50: '#faf5ff',\n 100: '#f3e8ff',\n 200: '#e9d5ff',\n 300: '#d8b4fe',\n 400: '#c084fc',\n 500: '#a855f7',\n 600: '#9333ea',\n 700: '#7e22ce',\n 800: '#6b21a8',\n 900: '#581c87',\n },\n violet: {\n 50: '#f5f3ff',\n 100: '#ede9fe',\n 200: '#ddd6fe',\n 300: '#c4b5fd',\n 400: '#a78bfa',\n 500: '#8b5cf6',\n 600: '#7c3aed',\n 700: '#6d28d9',\n 800: '#5b21b6',\n 900: '#4c1d95',\n },\n indigo: {\n 50: '#eef2ff',\n 100: '#e0e7ff',\n 200: '#c7d2fe',\n 300: '#a5b4fc',\n 400: '#818cf8',\n 500: '#6366f1',\n 600: '#4f46e5',\n 700: '#4338ca',\n 800: '#3730a3',\n 900: '#312e81',\n },\n blue: {\n 50: '#eff6ff',\n 100: '#dbeafe',\n 200: '#bfdbfe',\n 300: '#93c5fd',\n 400: '#60a5fa',\n 500: '#3b82f6',\n 600: '#2563eb',\n 700: '#1d4ed8',\n 800: '#1e40af',\n 900: '#1e3a8a',\n },\n lightBlue: {\n 50: '#f0f9ff',\n 100: '#e0f2fe',\n 200: '#bae6fd',\n 300: '#7dd3fc',\n 400: '#38bdf8',\n 500: '#0ea5e9',\n 600: '#0284c7',\n 700: '#0369a1',\n 800: '#075985',\n 900: '#0c4a6e',\n },\n cyan: {\n 50: '#ecfeff',\n 100: '#cffafe',\n 200: '#a5f3fc',\n 300: '#67e8f9',\n 400: '#22d3ee',\n 500: '#06b6d4',\n 600: '#0891b2',\n 700: '#0e7490',\n 800: '#155e75',\n 900: '#164e63',\n },\n teal: {\n 50: '#f0fdfa',\n 100: '#ccfbf1',\n 200: '#99f6e4',\n 300: '#5eead4',\n 400: '#2dd4bf',\n 500: '#14b8a6',\n 600: '#0d9488',\n 700: '#0f766e',\n 800: '#115e59',\n 900: '#134e4a',\n },\n emerald: {\n 50: '#ecfdf5',\n 100: '#d1fae5',\n 200: '#a7f3d0',\n 300: '#6ee7b7',\n 400: '#34d399',\n 500: '#10b981',\n 600: '#059669',\n 700: '#047857',\n 800: '#065f46',\n 900: '#064e3b',\n },\n green: {\n 50: '#f0fdf4',\n 100: '#dcfce7',\n 200: '#bbf7d0',\n 300: '#86efac',\n 400: '#4ade80',\n 500: '#22c55e',\n 600: '#16a34a',\n 700: '#15803d',\n 800: '#166534',\n 900: '#14532d',\n },\n lime: {\n 50: '#f7fee7',\n 100: '#ecfccb',\n 200: '#d9f99d',\n 300: '#bef264',\n 400: '#a3e635',\n 500: '#84cc16',\n 600: '#65a30d',\n 700: '#4d7c0f',\n 800: '#3f6212',\n 900: '#365314',\n },\n yellow: {\n 50: '#fefce8',\n 100: '#fef9c3',\n 200: '#fef08a',\n 300: '#fde047',\n 400: '#facc15',\n 500: '#eab308',\n 600: '#ca8a04',\n 700: '#a16207',\n 800: '#854d0e',\n 900: '#713f12',\n },\n amber: {\n 50: '#fffbeb',\n 100: '#fef3c7',\n 200: '#fde68a',\n 300: '#fcd34d',\n 400: '#fbbf24',\n 500: '#f59e0b',\n 600: '#d97706',\n 700: '#b45309',\n 800: '#92400e',\n 900: '#78350f',\n },\n orange: {\n 50: '#fff7ed',\n 100: '#ffedd5',\n 200: '#fed7aa',\n 300: '#fdba74',\n 400: '#fb923c',\n 500: '#f97316',\n 600: '#ea580c',\n 700: '#c2410c',\n 800: '#9a3412',\n 900: '#7c2d12',\n },\n red: {\n 50: '#fef2f2',\n 100: '#fee2e2',\n 200: '#fecaca',\n 300: '#fca5a5',\n 400: '#f87171',\n 500: '#ef4444',\n 600: '#dc2626',\n 700: '#b91c1c',\n 800: '#991b1b',\n 900: '#7f1d1d',\n },\n warmGray: {\n 50: '#fafaf9',\n 100: '#f5f5f4',\n 200: '#e7e5e4',\n 300: '#d6d3d1',\n 400: '#a8a29e',\n 500: '#78716c',\n 600: '#57534e',\n 700: '#44403c',\n 800: '#292524',\n 900: '#1c1917',\n },\n trueGray: {\n 50: '#fafafa',\n 100: '#f5f5f5',\n 200: '#e5e5e5',\n 300: '#d4d4d4',\n 400: '#a3a3a3',\n 500: '#737373',\n 600: '#525252',\n 700: '#404040',\n 800: '#262626',\n 900: '#171717',\n },\n gray: {\n 50: '#fafafa',\n 100: '#f4f4f5',\n 200: '#e4e4e7',\n 300: '#d4d4d8',\n 400: '#a1a1aa',\n 500: '#71717a',\n 600: '#52525b',\n 700: '#3f3f46',\n 800: '#27272a',\n 900: '#18181b',\n },\n dark: {\n 50: '#18181b',\n 100: '#27272a',\n 200: '#3f3f46',\n 300: '#52525b',\n 400: '#71717a',\n 500: '#a1a1aa',\n 600: '#d4d4d8',\n 700: '#e4e4e7',\n 800: '#f4f4f5',\n 900: '#fafafa',\n },\n coolGray: {\n 50: '#f9fafb',\n 100: '#f3f4f6',\n 200: '#e5e7eb',\n 300: '#d1d5db',\n 400: '#9ca3af',\n 500: '#6b7280',\n 600: '#4b5563',\n 700: '#374151',\n 800: '#1f2937',\n 900: '#111827',\n },\n blueGray: {\n 50: '#f8fafc',\n 100: '#f1f5f9',\n 200: '#e2e8f0',\n 300: '#cbd5e1',\n 400: '#94a3b8',\n 500: '#64748b',\n 600: '#475569',\n 700: '#334155',\n 800: '#1e293b',\n 900: '#0f172a',\n },\n};\n","import React, { createContext, useContext } from 'react';\nimport { palette as defaultPalette } from '../utils/colors'; // Assurez-vous que ce chemin est correct\n\ntype ColorConfig = Record<string, any>; // Permet des objets imbriqués\ntype VariantColorConfig = Record<string, Record<string, string>>;\n\ninterface Theme {\n main: ColorConfig;\n components?: Record<string, Record<string, any>>;\n}\n\ninterface Colors {\n main?: ColorConfig;\n palette?: VariantColorConfig;\n}\n\ninterface ThemeContextProps {\n getColor: (color: string) => string;\n theme?: Theme;\n colors?: Colors;\n}\n\n// Configuration de thème par défaut\nexport const defaultThemeMain: ColorConfig = {\n primary: 'color.black',\n secondary: 'color.blue',\n success: 'color.green.500',\n error: 'color.red.500',\n warning: 'color.orange.500',\n disabled: 'color.gray.500',\n loading: 'color.dark.500',\n};\n\n// Configuration des couleurs par défaut\nexport const defaultColors: ColorConfig = {\n white: '#FFFFFF',\n black: '#000000',\n red: '#FF0000',\n green: '#00FF00',\n blue: '#0000FF',\n yellow: '#FFFF00',\n cyan: '#00FFFF',\n magenta: '#FF00FF',\n grey: '#808080',\n orange: '#FFA500',\n brown: '#A52A2A',\n purple: '#800080',\n pink: '#FFC0CB',\n lime: '#00FF00',\n teal: '#008080',\n navy: '#000080',\n olive: '#808000',\n maroon: '#800000',\n gold: '#FFD700',\n silver: '#C0C0C0',\n indigo: '#4B0082',\n violet: '#EE82EE',\n beige: '#F5F5DC',\n turquoise: '#40E0D0',\n coral: '#FF7F50',\n chocolate: '#D2691E',\n skyBlue: '#87CEEB',\n plum: '#DDA0DD',\n darkGreen: '#006400',\n salmon: '#FA8072',\n};\n\n// Création du contexte de thème avec des valeurs par défaut\nexport const ThemeContext = createContext<ThemeContextProps>({\n getColor: (name: string): string => name,\n colors: {\n main: defaultColors,\n palette: defaultPalette,\n },\n theme: { main: defaultThemeMain, components: {} },\n});\n\n// Hook personnalisé pour utiliser le contexte de thème\nexport const useTheme = () => useContext(ThemeContext);\n\n// Fonction de fusion profonde simple\nconst deepMerge = (target: any, source: any): any => {\n if (typeof source !== 'object' || source === null) {\n return target;\n }\n\n const merged = { ...target };\n\n for (const key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n const sourceValue = source[key];\n const targetValue = target[key];\n\n if (Array.isArray(sourceValue)) {\n // Remplacer les tableaux\n merged[key] = sourceValue;\n } else if (\n typeof sourceValue === 'object' &&\n sourceValue !== null &&\n !Array.isArray(sourceValue)\n ) {\n // Fusion récursive des objets\n merged[key] = deepMerge(targetValue || {}, sourceValue);\n } else {\n // Remplacer les autres types de valeurs\n merged[key] = sourceValue;\n }\n }\n }\n\n return merged;\n};\n\n// Composant ThemeProvider\nexport const ThemeProvider = ({\n theme = {\n main: defaultThemeMain,\n components: {},\n },\n colors = {\n main: defaultColors,\n palette: defaultPalette,\n },\n children,\n}: {\n theme?: Theme;\n colors?: Colors;\n children: React.ReactNode;\n}): React.ReactElement => {\n // Fusion profonde des thèmes par défaut avec ceux fournis\n const mergedTheme = deepMerge(defaultThemeMain, theme);\n\n // Fusion profonde des couleurs par défaut avec celles fournies\n const mergedColors = deepMerge(\n { main: defaultColors, palette: defaultPalette },\n colors\n );\n\n /**\n * Fonction pour récupérer une couleur basée sur un chemin en chaîne.\n * Supporte les références imbriquées comme 'theme.button.primary.background'.\n * @param name - Le nom de la couleur à récupérer.\n * @returns La valeur de couleur résolue ou le nom original si non trouvé.\n */\n\n const getColor = (name: string): string => {\n if (name === 'transparent') return name;\n\n try {\n if (name.startsWith('theme.')) {\n const keys = name.split('.');\n let value: any = mergedTheme;\n\n for (let i = 1; i < keys.length; i++) {\n value = value[keys[i]];\n if (value === undefined) {\n console.warn(`Couleur \"${name}\" non trouvée dans le thème.`);\n return name;\n }\n }\n\n if (typeof value === 'string') {\n return getColor(value); // Résoudre les références imbriquées\n } else {\n console.warn(\n `La couleur \"${name}\" a résolu à une valeur non-string.`\n );\n return name;\n }\n } else if (name.startsWith('color.')) {\n const keys = name.split('.');\n\n if (keys.length === 2) {\n // Exemple : \"color.white\"\n const colorName = keys[1];\n return mergedColors.main[colorName] || name;\n } else if (keys.length === 3) {\n // Exemple : \"color.palette.primary.500\"\n const [_, paletteName, variant] = keys;\n if (\n mergedColors.palette[paletteName] &&\n mergedColors.palette[paletteName][variant]\n ) {\n return mergedColors.palette[paletteName][variant];\n } else {\n console.warn(`Color ${_} non trouvée`);\n }\n }\n console.warn(\n `Color \"${name}\" non trouvée dans la palette ou les couleurs principales.`\n );\n }\n } catch (e) {\n console.error('Erreur lors de la récupération de la couleur:', e);\n }\n\n return name; // Retourner le nom original si non trouvé\n };\n\n return (\n <ThemeContext.Provider\n value={{\n getColor,\n theme: mergedTheme,\n colors: mergedColors,\n }}\n >\n {children}\n </ThemeContext.Provider>\n );\n};\n","import React, { ReactNode, createContext, useContext } from 'react';\n\nexport type ScreenSizeRange = {\n breakpoint: string;\n min: number;\n max?: number;\n};\nexport type ResponsiveConfig = Record<string, number>;\nconst defaultBreakpointsConfig: ResponsiveConfig = {\n xs: 0,\n sm: 340,\n md: 560,\n lg: 1080,\n xl: 1300,\n};\n\nexport type DeviceConfig = Record<string, string[]>;\nexport type QueryConfig = Record<string, string>;\nconst defaultDeviceConfig: DeviceConfig = {\n mobile: ['xs', 'sm'],\n tablet: ['md', 'lg'],\n desktop: ['lg', 'xl'],\n};\n\nexport type ScreenConfig = {\n breakpoints: ResponsiveConfig;\n devices: DeviceConfig;\n mediaQueries: QueryConfig;\n};\n\nexport type ScreenOrientation = 'landscape' | 'portrait';\n\nconst getMediaQueries = (b: ResponsiveConfig) => {\n const defaultKeys = Object.keys(b);\n\n const breakpointValue = defaultKeys\n .map((breakpoint) => {\n const value: ScreenSizeRange = {\n breakpoint: breakpoint as keyof typeof b,\n min: b[breakpoint],\n max: 0,\n };\n\n return value;\n })\n .sort((a, b) => a.min - b.min);\n\n breakpointValue.reduce((a, b) => {\n if (b) a.max = b.min;\n\n return b;\n });\n\n const query: Record<keyof typeof defaultBreakpointsConfig, string> = {};\n breakpointValue.map((sizeScreen) => {\n query[sizeScreen.breakpoint] = `only screen ${\n sizeScreen.min && sizeScreen.min >= 0\n ? 'and (min-width:' + sizeScreen.min + 'px)'\n : ''\n } ${\n sizeScreen.max && sizeScreen.max >= 0\n ? 'and (max-width:' + sizeScreen.max + 'px)'\n : ''\n }`;\n });\n\n return query;\n};\n\nconst defaultScreenConfig: ScreenConfig = {\n breakpoints: defaultBreakpointsConfig,\n devices: defaultDeviceConfig,\n mediaQueries: getMediaQueries(defaultBreakpointsConfig),\n};\n\nexport const ResponsiveContext =\n createContext<ScreenConfig>(defaultScreenConfig);\n\nexport const useResponsiveContext = () => useContext(ResponsiveContext);\n\nexport const ResponsiveProvider = ({\n breakpoints = defaultBreakpointsConfig,\n devices = defaultDeviceConfig,\n children,\n}: {\n breakpoints?: ResponsiveConfig;\n devices?: DeviceConfig;\n\n children?: ReactNode;\n}): React.ReactElement => {\n return (\n <ResponsiveContext.Provider\n value={{\n breakpoints,\n devices,\n mediaQueries: getMediaQueries(breakpoints),\n }}\n >\n {children}\n </ResponsiveContext.Provider>\n );\n};\n","// constants.ts\nimport { CSSProperties } from 'react';\n\n// List of numeric properties that don't need 'px' suffix\nexport const NumberProps = new Set<string>([\n 'numberOfLines',\n 'fontWeight',\n 'timeStamp',\n 'flex',\n 'flexGrow',\n 'flexShrink',\n 'order',\n 'zIndex',\n 'aspectRatio',\n 'shadowOpacity',\n 'shadowRadius',\n 'scale',\n 'opacity',\n 'min',\n 'max',\n 'now',\n]);\n\n// Keys to exclude when passing props to the component\nexport const excludedKeys = new Set<string>([\n 'on',\n 'shadow',\n 'only',\n 'media',\n 'css',\n 'size',\n 'paddingHorizontal',\n 'paddingVertical',\n 'marginHorizontal',\n 'marginVertical',\n 'animate',\n // Add more styling props here if needed\n]);\n\n// Keys to exclude when passing props to the component\nexport const extraKeys = new Set<string>([\n 'on',\n 'shadow',\n 'only',\n 'media',\n 'css',\n // Add more styling props here if needed\n]);\n\nexport const includeKeys = new Set<string>(['src', 'alt', 'style', 'as']);\n\n// Type definitions for animation props\nexport interface AnimationProps {\n from: CSSProperties;\n enter: CSSProperties;\n leave?: CSSProperties;\n duration?: string;\n timingFunction?: string;\n delay?: string;\n iterationCount?: string | number;\n direction?: string;\n fillMode?: string;\n playState?: string;\n}\n","// styleHelpers.ts\nimport { NumberProps } from './constants';\n// Excluded keys imported from constants.ts\n// import { excludedKeys } from './constants';\n\nexport const StyleProps = new Set([\n 'alignContent',\n 'alignItems',\n 'alignSelf',\n 'alignmentBaseline',\n 'all',\n 'animation',\n 'animationDelay',\n 'animationDirection',\n 'animationDuration',\n 'animationFillMode',\n 'animationIterationCount',\n 'animationName',\n 'animationPlayState',\n 'animationTimingFunction',\n 'appearance',\n 'backdropFilter',\n 'backfaceVisibility',\n 'background',\n 'backgroundAttachment',\n 'backgroundBlendMode',\n 'backgroundClip',\n 'backgroundColor',\n 'backgroundImage',\n 'backgroundOrigin',\n 'backgroundPosition',\n 'backgroundPositionX',\n 'backgroundPositionY',\n 'backgroundRepeat',\n 'backgroundRepeatX',\n 'backgroundRepeatY',\n 'backgroundSize',\n 'baselineShift',\n 'blockSize',\n 'border',\n 'borderBlockEnd',\n 'borderBlockEndColor',\n 'borderBlockEndStyle',\n 'borderBlockEndWidth',\n 'borderBlockStart',\n 'borderBlockStartColor',\n 'borderBlockStartStyle',\n 'borderBlockStartWidth',\n 'borderBottom',\n 'borderBottomColor',\n 'borderBottomLeftRadius',\n 'borderBottomRightRadius',\n 'borderBottomStyle',\n 'borderBottomWidth',\n 'borderCollapse',\n 'borderColor',\n 'borderImage',\n 'borderImageOutset',\n 'borderImageRepeat',\n 'borderImageSlice',\n 'borderImageSource',\n 'borderImageWidth',\n 'borderInlineEnd',\n 'borderInlineEndColor',\n 'borderInlineEndStyle',\n 'borderInlineEndWidth',\n 'borderInlineStart',\n 'borderInlineStartColor',\n 'borderInlineStartStyle',\n 'borderInlineStartWidth',\n 'borderLeft',\n 'borderLeftColor',\n 'borderLeftStyle',\n 'borderLeftWidth',\n 'borderRadius',\n 'borderRight',\n 'borderRightColor',\n 'borderRightStyle',\n 'borderRightWidth',\n 'borderSpacing',\n 'borderStyle',\n 'borderTop',\n 'borderTopColor',\n 'borderTopLeftRadius',\n 'borderTopRightRadius',\n 'borderTopStyle',\n 'borderTopWidth',\n 'borderWidth',\n 'bottom',\n 'boxShadow',\n 'boxSizing',\n 'breakAfter',\n 'breakBefore',\n 'breakInside',\n 'bufferedRendering',\n 'captionSide',\n 'caretColor',\n 'clear',\n 'clip',\n 'clipPath',\n 'clipRule',\n 'color',\n 'colorInterpolation',\n 'colorInterpolationFilters',\n 'colorRendering',\n 'columnCount',\n 'columnFill',\n 'columnGap',\n 'columnRule',\n 'columnRuleColor',\n 'columnRuleStyle',\n 'columnRuleWidth',\n 'columnSpan',\n 'columnWidth',\n 'columns',\n 'contain',\n 'content',\n 'counterIncrement',\n 'counterReset',\n 'cursor',\n 'cx',\n 'cy',\n 'd',\n 'direction',\n 'display',\n 'dominantBaseline',\n 'emptyCells',\n 'fill',\n 'fillOpacity',\n 'fillRule',\n 'filter',\n 'flex',\n 'flexBasis',\n 'flexDirection',\n 'flexFlow',\n 'flexGrow',\n 'flexShrink',\n 'flexWrap',\n 'float',\n 'floodColor',\n 'floodOpacity',\n 'font',\n 'fontDisplay',\n 'fontFamily',\n 'fontFeatureSettings',\n 'fontKerning',\n 'fontSize',\n 'fontStretch',\n 'fontStyle',\n 'fontVariant',\n 'fontVariantCaps',\n 'fontVariantEastAsian',\n 'fontVariantLigatures',\n 'fontVariantNumeric',\n 'fontVariationSettings',\n 'fontWeight',\n 'gap',\n 'grid',\n 'gridArea',\n 'gridAutoColumns',\n 'gridAutoFlow',\n 'gridAutoRows',\n 'gridColumn',\n 'gridColumnEnd',\n 'gridColumnGap',\n 'gridColumnStart',\n 'gridGap',\n 'gridRow',\n 'gridRowEnd',\n 'gridRowGap',\n 'gridRowStart',\n 'gridTemplate',\n 'gridTemplateAreas',\n 'gridTemplateColumns',\n 'gridTemplateRows',\n 'height',\n 'hyphens',\n 'imageRendering',\n 'inlineSize',\n 'isolation',\n 'justifyContent',\n 'justifyItems',\n 'justifySelf',\n 'left',\n 'letterSpacing',\n 'lightingColor',\n 'lineBreak',\n 'lineHeight',\n 'listStyle',\n 'listStyleImage',\n 'listStylePosition',\n 'listStyleType',\n 'margin',\n 'marginBlockEnd',\n 'marginBlockStart',\n 'marginBottom',\n 'marginInlineEnd',\n 'marginInlineStart',\n 'marginLeft',\n 'marginRight',\n 'marginTop',\n 'marker',\n 'markerEnd',\n 'markerMid',\n 'markerStart',\n 'mask',\n 'maskType',\n 'maxBlockSize',\n 'maxHeight',\n 'maxInlineSize',\n 'maxWidth',\n 'maxZoom',\n 'minBlockSize',\n 'minHeight',\n 'minInlineSize',\n 'minWidth',\n 'minZoom',\n 'mixBlendMode',\n 'objectFit',\n 'objectPosition',\n 'offset',\n 'offsetDistance',\n 'offsetPath',\n 'offsetRotate',\n 'opacity',\n 'order',\n 'orientation',\n 'orphans',\n 'outline',\n 'outlineColor',\n 'outlineOffset',\n 'outlineStyle',\n 'outlineWidth',\n 'overflow',\n 'overflowAnchor',\n 'overflowWrap',\n 'overflowX',\n 'overflowY',\n 'overscrollBehavior',\n 'overscrollBehaviorBlock',\n 'overscrollBehaviorInline',\n 'overscrollBehaviorX',\n 'overscrollBehaviorY',\n 'padding',\n 'paddingBlockEnd',\n 'paddingBlockStart',\n 'paddingBottom',\n 'paddingInlineEnd',\n 'paddingInlineStart',\n 'paddingLeft',\n 'paddingRight',\n 'paddingTop',\n 'page',\n 'pageBreakAfter',\n 'pageBreakBefore',\n 'pageBreakInside',\n 'paintOrder',\n 'perspective',\n 'perspectiveOrigin',\n 'placeContent',\n 'placeItems',\n 'placeSelf',\n 'pointerEvents',\n 'position',\n 'quotes',\n 'r',\n 'resize',\n 'right',\n 'rowGap',\n 'rx',\n 'ry',\n 'scrollBehavior',\n 'scrollMargin',\n 'scrollMarginBlock',\n 'scrollMarginBlockEnd',\n 'scrollMarginBlockStart',\n 'scrollMarginBottom',\n 'scrollMarginInline',\n 'scrollMarginInlineEnd',\n 'scrollMarginInlineStart',\n 'scrollMarginLeft',\n 'scrollMarginRight',\n 'scrollMarginTop',\n 'scrollPadding',\n 'scrollPaddingBlock',\n 'scrollPaddingBlockEnd',\n 'scrollPaddingBlockStart',\n 'scrollPaddingBottom',\n 'scrollPaddingInline',\n 'scrollPaddingInlineEnd',\n 'scrollPaddingInlineStart',\n 'scrollPaddingLeft',\n 'scrollPaddingRight',\n 'scrollPaddingTop',\n 'scrollSnapAlign',\n 'scrollSnapStop',\n 'scrollSnapType',\n 'shapeImageThreshold',\n 'shapeMargin',\n 'shapeOutside',\n 'shapeRendering',\n 'size',\n 'speak',\n 'src',\n 'stopColor',\n 'stopOpacity',\n 'stroke',\n 'strokeDasharray',\n 'strokeDashoffset',\n 'strokeLinecap',\n 'strokeLinejoin',\n 'strokeMiterlimit',\n 'strokeOpacity',\n 'strokeWidth',\n 'tabSize',\n 'tableLayout',\n 'textAlign',\n 'textAlignLast',\n 'textAnchor',\n 'textCombineUpright',\n 'textDecoration',\n 'textDecorationColor',\n 'textDecorationLine',\n 'textDecorationSkipInk',\n 'textDecorationStyle',\n 'textDecorationThickness',\n 'textEmphasis',\n 'textIndent',\n 'textOrientation',\n 'textOverflow',\n 'textRendering',\n 'textShadow',\n 'textSizeAdjust',\n 'textTransform',\n 'textUnderlinePosition',\n 'textJustify',\n 'top',\n 'touchAction',\n 'transform',\n 'transformBox',\n 'transformOrigin',\n 'transformStyle',\n 'transition',\n 'transitionDelay',\n 'transitionDuration',\n 'transitionProperty',\n 'transitionTimingFunction',\n 'unicodeBidi',\n 'unicodeRange',\n 'userSelect',\n 'userZoom',\n 'vectorEffect',\n 'verticalAlign',\n 'visibility',\n 'wrap',\n 'whiteSpace',\n 'widows',\n 'width',\n 'willChange',\n 'wordBreak',\n 'wordSpacing',\n 'wordWrap',\n 'writingMode',\n 'x',\n 'y',\n 'zIndex',\n 'zoom',\n 'alwaysBounceHorizontal',\n 'alwaysBounceVertical',\n 'automaticallyAdjustContentInsets',\n 'bounces',\n 'bouncesZoom',\n 'canCancelContentTouches',\n 'centerContent',\n 'contentLayoutStyle',\n 'contentInset',\n 'contentInsetAdjustmentBehavior',\n 'contentOffset',\n 'decelerationRate',\n 'directionalLockEnabled',\n 'disableIntervalMomentum',\n 'disableScrollViewPanResponder',\n 'endFillColor',\n 'fadingEdgeLength',\n 'horizontal',\n 'indicatorStyle',\n 'invertStickyHeaders',\n 'keyboardDismissMode',\n 'keyboardShouldPersistTaps',\n 'maintainVisibleContentPosition',\n 'maximumZoomScale',\n 'minimumZoomScale',\n 'nestedScrollEnabled',\n 'onContentSizeChange',\n 'onMomentumScrollBegin',\n 'onMomentumScrollEnd',\n 'onScroll',\n 'onScrollBeginDrag',\n 'onScrollEndDrag',\n 'onScrollToTop',\n 'overScrollMode',\n 'pagingEnabled',\n 'persistentScrollbar',\n 'pinchGestureEnabled',\n 'refreshControl',\n 'removeClippedSubviews',\n 'scrollBarThumbImage',\n 'scrollEnabled',\n 'scrollEventThrottle',\n 'scrollIndicatorInsets',\n 'scrollPerfTag',\n 'scrollToOverflowEnabled',\n 'scrollsToTop',\n 'DEPRECATED_sendUpdatedChildFrames',\n 'showsHorizontalScrollIndicator',\n 'showsVerticalScrollIndicator',\n 'snapToAlignment',\n 'snapToEnd',\n 'snapToInterval',\n 'snapToOffsets',\n 'snapToStart',\n 'stickyHeaderIndices',\n 'zoomScale',\n 'borderRightColor',\n 'backfaceVisibility',\n 'borderBottomColor',\n 'borderBottomEndRadius',\n 'borderBottomLeftRadius',\n 'borderBottomRightRadius',\n 'borderBottomStartRadius',\n 'borderBottomWidth',\n 'borderColor',\n 'borderEndColor',\n 'borderLeftColor',\n 'borderLeftWidth',\n 'borderRadius',\n 'backgroundColor',\n 'borderRightWidth',\n 'borderStartColor',\n 'borderStyle',\n 'borderTopColor',\n 'borderTopEndRadius',\n 'borderTopLeftRadius',\n 'borderTopRightRadius',\n 'borderTopStartRadius',\n 'borderTopWidth',\n 'borderWidth',\n 'border',\n 'opacity',\n 'elevation',\n 'shadowColor',\n 'shadowOffset',\n 'shadowOpacity',\n 'shadowRadius',\n 'alignContent',\n 'alignItems',\n 'alignSelf',\n 'aspectRatio',\n 'borderBottomWidth',\n 'borderEndWidth',\n 'borderLeftWidth',\n 'borderRightWidth',\n 'borderStartWidth',\n 'borderTopWidth',\n 'borderWidth',\n 'bottom',\n 'direction',\n 'display',\n 'end',\n 'flex',\n 'flexBasis',\n 'flexDirection',\n 'flexGrow',\n 'flexShrink',\n 'flexWrap',\n 'height',\n 'justifyContent',\n 'left',\n 'margin',\n 'marginBottom',\n 'marginEnd',\n 'marginHorizontal',\n 'marginLeft',\n 'marginRight',\n 'marginStart',\n 'marginTop',\n 'marginVertical',\n 'maxHeight',\n 'maxWidth',\n 'minHeight',\n 'minWidth',\n 'overflow',\n 'overflowX',\n 'overflowY',\n 'padding',\n 'paddingBottom',\n 'paddingEnd',\n 'paddingHorizontal',\n 'paddingLeft',\n 'paddingRight',\n 'paddingStart',\n 'paddingTop',\n 'paddingVertical',\n 'position',\n 'right',\n 'start',\n 'top',\n 'width',\n 'zIndex',\n 'borderTopRightRadius',\n 'backfaceVisibility',\n 'borderBottomLeftRadius',\n 'borderBottomRightRadius',\n 'borderColor',\n 'borderRadius',\n 'borderTopLeftRadius',\n 'backgroundColor',\n 'borderWidth',\n 'opacity',\n 'overflow',\n 'overflowX',\n 'overflowY',\n 'resizeMode',\n 'tintColor',\n 'overlayColor',\n 'transform',\n 'transformMatrix',\n 'rotation',\n 'scaleX',\n 'scaleY',\n 'translateX',\n 'translateY',\n 'perspective',\n 'rotate',\n 'rotateX',\n 'rotateY',\n 'rotateZ',\n 'scale',\n 'skewX',\n 'skewY',\n 'testID',\n 'decomposedMatrix',\n 'gridRowStart',\n 'gridRowEnd',\n 'gridColumnStart',\n 'gridColumnEnd',\n 'lineClamp',\n 'writingMode',\n 'objectFit',\n 'objectPosition',\n 'placeItems',\n 'placeSelf',\n]);\n\nconst nonStyleAttributes = new Set(['length', 'parentRule', 'src']);\n\n// Function to set the size of the element\nexport const setSize = (\n newSize: string | number,\n styleProps: Record<string, any>\n) => {\n styleProps.height = styleProps.width = newSize; // Set height and width\n};\n\n// Function to convert style object to CSS string\nexport const styleObjectToCss = (styleObj: Record<string, any>): string => {\n return Object.entries(styleObj)\n .map(([key, value]) => `${toKebabCase(key)}: ${value};`)\n .join(' ');\n};\n\n// Function to convert camelCase to kebab-case\nexport const toKebabCase = (str: string): string =>\n str.replace(/([A-Z])/g, (match) => '-' + match.toLowerCase());\n\n// // Function to check if a property is a style prop\n// export const isStyleProp = (prop: string): boolean => {\n// // Implement your logic to determine if a prop is a style prop\n// // For simplicity, we assume all props not in excludedKeys are style props\n// return !excludedKeys.has(prop);\n// };\n\nexport const isStyleProp = (property: string): boolean => {\n return StyleProps.has(property) || nonStyleAttributes.has(property);\n};\n\n// Function to process and normalize style properties\nexport const processStyleProperty = (\n property: string,\n value: any,\n getColor: (color: string) => string\n): string | number => {\n if (typeof value === 'number' && !NumberProps.has(property)) {\n return `${value}px`;\n } else if (property.toLowerCase().includes('color')) {\n return getColor(value);\n } else {\n return value;\n }\n};\n","/* eslint-disable @typescript-eslint/no-unused-vars */\n// animationHelpers.ts\nimport { styleObjectToCss } from './style';\n\nlet keyframesCounter = 0;\nconst keyframesCache = new Map<string, string>();\n\nexport const generateKeyframes = (\n animation: any\n): { keyframesName: string; keyframes: string } => {\n // Exclure les propriétés qui ne font pas partie des keyframes\n const {\n duration,\n timingFunction,\n delay,\n iterationCount,\n direction,\n fillMode,\n playState,\n ...keyframesDef\n } = animation;\n\n // Générer une clé pour le cache basée sur les keyframes\n const animationConfigString = JSON.stringify(keyframesDef);\n\n if (keyframesCache.has(animationConfigString)) {\n const keyframesName = keyframesCache.get(animationConfigString)!;\n return { keyframesName, keyframes: '' }; // Les keyframes existent déjà\n }\n\n const keyframesName = `animation-${keyframesCounter++}`;\n keyframesCache.set(animationConfigString, keyframesName);\n\n const keyframesContent: string[] = [];\n\n // Trier les clés pour assurer un ordre cohérent\n const keyframeKeys = Object.keys(keyframesDef).sort((a, b) => {\n const getPercentage = (key: string): number => {\n if (key === 'from') return 0;\n if (key === 'to' || key === 'enter') return 100;\n return parseInt(key.replace('%', ''), 10);\n };\n return getPercentage(a) - getPercentage(b);\n });\n\n keyframeKeys.forEach((key) => {\n const cssKey = key === 'enter' ? 'to' : key; // Remplacer 'enter' par 'to'\n const styles = keyframesDef[key];\n keyframesContent.push(`${cssKey} { ${styleObjectToCss(styles)} }`);\n });\n\n const keyframes = `\n @keyframes ${keyframesName} {\n ${keyframesContent.join('\\n')}\n }\n `;\n\n return { keyframesName, keyframes };\n};\n","export type Shadow = {\n shadowColor: string;\n shadowOffset: {\n width: number;\n height: number;\n };\n shadowOpacity: number;\n shadowRadius: number;\n};\n\nexport const Shadows: Record<number, Shadow> = {\n 0: {\n shadowColor: '#000',\n shadowOffset: {\n width: 1,\n height: 2,\n },\n shadowOpacity: 0.18,\n shadowRadius: 1.0,\n },\n 1: {\n shadowColor: '#000',\n shadowOffset: {\n width: 2,\n height: 2,\n },\n shadowOpacity: 0.2,\n shadowRadius: 1.41,\n },\n 2: {\n shadowColor: '#000',\n shadowOffset: {\n width: 3,\n height: 3,\n },\n shadowOpacity: 0.22,\n shadowRadius: 2.22,\n },\n 3: {\n shadowColor: '#000',\n shadowOffset: {\n width: 4,\n height: 4,\n },\n shadowOpacity: 0.23,\n shadowRadius: 2.62,\n },\n 4: {\n shadowColor: '#000',\n shadowOffset: {\n width: 5,\n height: 5,\n },\n shadowOpacity: 0.25,\n shadowRadius: 3.84,\n },\n 5: {\n shadowColor: '#000',\n shadowOffset: {\n width: 6,\n height: 6,\n },\n shadowOpacity: 0.27,\n shadowRadius: 4.65,\n },\n 6: {\n shadowColor: '#000',\n shadowOffset: {\n width: 7,\n height: 7,\n },\n shadowOpacity: 0.29,\n shadowRadius: 4.65,\n },\n 7: {\n shadowColor: '#000',\n shadowOffset: {\n width: 8,\n height: 8,\n },\n shadowOpacity: 0.3,\n shadowRadius: 4.65,\n },\n 8: {\n shadowColor: '#000',\n shadowOffset: {\n width: 9,\n height: 9,\n },\n shadowOpacity: 0.32,\n shadowRadius: 5.46,\n },\n 9: {\n shadowColor: '#000',\n shadowOffset: {\n width: 10,\n height: 10,\n },\n shadowOpacity: 0.34,\n shadowRadius: 6.27,\n },\n};\n","// Element.tsx\nimport React, { CSSProperties, useEffect, useMemo } from 'react';\nimport { useTheme } from '../providers/Theme';\nimport { useResponsiveContext } from '../providers/Responsive';\nimport Color from 'color-convert';\n\nimport {\n isStyleProp,\n processStyleProperty,\n styleObjectToCss,\n} from '../utils/style';\nimport { generateKeyframes } from '../utils/animation';\nimport {\n excludedKeys,\n includeKeys,\n AnimationProps,\n extraKeys,\n} from '../utils/constants';\nimport { Shadows, Shadow } from '../utils/shadow';\n\nexport interface ElementProps extends CssProps {\n on?: Record<string, CssProps>;\n media?: Record<string, CssProps>;\n only?: string[];\n css?: CSSProperties;\n}\n\nexport interface CssProps {\n children?: React.ReactNode;\n size?: number;\n paddingHorizontal?: number | string;\n marginHorizontal?: number | string;\n paddingVertical?: number | string;\n marginVertical?: number | string;\n shadow?: boolean | number | Shadow;\n style?: CSSProperties;\n animate?: AnimationProps;\n onPress?: () => void;\n [key: string]: any;\n}\nconst styleSheet = (() => {\n if (typeof document !== 'undefined') {\n let styleTag = document.getElementById(\n 'dynamic-styles'\n ) as HTMLStyleElement;\n if (!styleTag) {\n styleTag = document.createElement('style');\n styleTag.id = 'dynamic-styles';\n document.head.appendChild(styleTag);\n }\n return styleTag.sheet as CSSStyleSheet;\n }\n return null;\n})();\n\n/**\n * Fonction de hachage simple et rapide basée sur l'algorithme djb2.\n * @param {string} str - La chaîne de caractères à hacher.\n * @returns {number} - Le hachage sous forme d'entier non signé 32 bits.\n */\nconst hashString = (str: any): number => {\n let hash = 5381;\n for (let i = 0; i < str.length; i++) {\n // hash * 33 + c\n hash = (hash << 5) + hash + str.charCodeAt(i);\n // Pour éviter les dépassements, on utilise l'opérateur >>> 0\n hash = hash >>> 0;\n }\n return hash;\n};\n\n/**\n * Fonction pour hacher un objet en utilisant JSON.stringify et hashString.\n * @param {Object} obj - L'objet à hacher.\n * @returns {number} - Le hachage de l'objet.\n */\nconst hashObject = (obj: any): string => {\n const str = JSON.stringify(obj);\n return hashString(str).toString();\n};\n\nconst classCache = new Map<string, string>();\nconst cssRulesCache = new Map<string, string[]>();\n\nlet classNameCounter = 0;\n\nconst generateClassName = (styleProps: Record<string, any>): string => {\n // Extract only relevant, primitive style properties\n // Generate a unique hash based on relevantProps\n const hash = hashObject(styleProps);\n\n if (classCache.has(hash)) {\n return classCache.get(hash)!;\n } else {\n const className = 'clz-' + classNameCounter++;\n classCache.set(hash, className);\n return className;\n }\n};\n\nconst useDynamicStyles = (cssRules: string[]): void => {\n useEffect(() => {\n if (!styleSheet) return;\n cssRules.forEach((rule) => {\n try {\n if (\n Array.from(styleSheet.cssRules).some(\n (cssRule) => cssRule.cssText === rule\n )\n ) {\n return;\n }\n styleSheet.insertRule(rule, styleSheet.cssRules.length);\n } catch (error) {\n console.error('Error inserting CSS rule:', rule, error);\n }\n });\n }, [cssRules]);\n};\nconst generateCssRules = (\n selector: string,\n styles: Record<string, any>,\n getColor: (color: string) => string,\n mediaQueries?: Record<string, any>\n): string[] => {\n const rules: string[] = [];\n const mainStyles: Record<string, any> = {};\n const nestedMediaQueries: Record<string, Record<string, any>> = {};\n\n Object.keys(styles).forEach((key) => {\n const value = styles[key];\n if (key.startsWith('@media ')) {\n const mediaQuery = key;\n if (!nestedMediaQueries[mediaQuery]) {\n nestedMediaQueries[mediaQuery] = {};\n }\n Object.assign(nestedMediaQueries[mediaQuery], value);\n } else if (key.startsWith('&:')) {\n const pseudoSelector = key.slice(1);\n const nestedStyles = styles[key];\n const nestedRules = generateCssRules(\n `${selector}${pseudoSelector}`,\n nestedStyles,\n getColor\n // Ne pas passer mediaQueries ici\n );\n rules.push(...nestedRules);\n } else {\n mainStyles[key] = value;\n }\n });\n\n // Gestion des media queries\n // eslint-disable-next-line prefer-const\n let mediaBreakpoints: Record<string, string> = {};\n\n if (mediaQueries) {\n for (const query in mediaQueries) {\n const queries = mediaQueries[query].trim();\n mediaBreakpoints['@media ' + queries] = query;\n }\n }\n\n if (\n Object.keys(mainStyles).length > 0 ||\n Object.keys(nestedMediaQueries).length > 0\n ) {\n const processedStyles: Record<string, any> = {};\n for (const property in mainStyles) {\n processedStyles[property] = processStyleProperty(\n property,\n mainStyles[property],\n getColor\n );\n }\n\n const cssRule = `${selector} { ${styleObjectToCss(processedStyles)} }`;\n rules.push(cssRule);\n\n for (let mediaQuery in nestedMediaQueries) {\n mediaQuery = mediaQuery.trim();\n const mediaStyles = nestedMediaQueries[mediaQuery];\n const processedMediaStyles: Record<string, any> = {};\n for (const property in mediaStyles) {\n processedMediaStyles[property] = processStyleProperty(\n property,\n mediaStyles[property],\n getColor\n );\n }\n const cssProperties = styleObjectToCss(processedMediaStyles);\n const mediaRule = `${mediaQuery} { ${selector} { ${cssProperties} } }`;\n rules.push(mediaRule);\n\n if (mediaBreakpoints[mediaQuery]) {\n const breakpoint = mediaBreakpoints[mediaQuery];\n const bpRule = `.${breakpoint} ${selector} { ${cssProperties} }`;\n rules.push(bpRule);\n }\n }\n }\n\n return rules;\n};\n\n// Function to apply styles to a component\nconst computeStyleProps = (\n props: Record<string, any>\n): {\n styleProps: Record<string, any>;\n keyframes?: string[];\n} => {\n const styleProps: Record<string, any> = {};\n const keyframesList: string[] = [];\n\n // Gestion de la taille de l'élément\n const size =\n props.height !== undefined &&\n props.width !== undefined &&\n props.height === props.width\n ? props.height\n : props.size\n ? props.size\n : null;\n\n if (size) {\n styleProps.height = styleProps.width = size;\n }\n\n // Gestion du padding et de la marge\n if (props.paddingHorizontal) {\n styleProps.paddingLeft = props.paddingHorizontal;\n styleProps.paddingRight = props.paddingHorizontal;\n }\n\n if (props.marginHorizontal) {\n styleProps.marginLeft = props.marginHorizontal;\n styleProps.marginRight = props.marginHorizontal;\n }\n\n if (props.paddingVertical) {\n styleProps.paddingTop = props.paddingVertical;\n styleProps.paddingBottom = props.paddingVertical;\n }\n\n if (props.marginVertical) {\n styleProps.marginTop = props.marginVertical;\n styleProps.marginBottom = props.marginVertical;\n }\n\n // Application des ombres si spécifié\n if (props.shadow) {\n if (typeof props.shadow === 'number' || typeof props.shadow === 'boolean') {\n const shadowValue: number =\n typeof props.shadow === 'number' && Shadows[props.shadow] !== undefined\n ? props.shadow\n : 2;\n\n if (Shadows[shadowValue]) {\n const shadowColor =\n Color.hex.rgb(Shadows[shadowValue].shadowColor) || [];\n\n styleProps['boxShadow'] = `${\n Shadows[shadowValue].shadowOffset.height\n }px ${Shadows[shadowValue].shadowOffset.width}px ${\n Shadows[shadowValue].shadowRadius\n }px rgba(${shadowColor.join(',')},${\n Shadows[shadowValue].shadowOpacity\n })`;\n }\n } else {\n const shadowColor = Color.hex.rgb(props.shadow.shadowColor) || [];\n\n styleProps['boxShadow'] = `${props.shadow.shadowOffset.height}px ${\n props.shadow.shadowOffset.width\n }px ${props.shadow.shadowRadius}px rgba(${shadowColor.join(',')},${\n props.shadow.shadowOpacity\n })`;\n }\n }\n\n // Gestion des animations\n if (props.animate) {\n const animation = props.animate;\n const { keyframesName, keyframes } = generateKeyframes(animation);\n\n if (keyframes) {\n keyframesList.push(keyframes);\n }\n\n styleProps.animationName = keyframesName;\n styleProps.animationDuration = animation.duration || '1s';\n styleProps.animationTimingFunction = animation.timingFunction || 'ease';\n styleProps.animationDelay = animation.delay || '0s';\n styleProps.animationIterationCount = `${animation.iterationCount || '1'}`;\n styleProps.animationDirection = animation.direction || 'normal';\n styleProps.animationFillMode = animation.fillMode || 'both';\n styleProps.animationPlayState = animation.playState || 'running';\n }\n\n Object.keys(props).forEach((property) => {\n if (\n property !== 'style' &&\n (isStyleProp(property) || extraKeys.has(property))\n ) {\n // Simple style property\n styleProps[property] = props[property];\n }\n });\n\n return { styleProps, keyframes: keyframesList };\n};\n\n// Function to apply styles to a component\nconst applyStyle = (\n props: Record<string, any>,\n mediaQueries: any,\n devices: any,\n depth: number = 0, // Add a depth parameter\n maxDepth: number = 10 // Set a maximum depth\n): {\n styleProps: Record<string, any>;\n keyframes?: string[];\n} => {\n if (depth > maxDepth) {\n console.error('Maximum recursion depth reached in applyStyle');\n return { styleProps: {}, keyframes: [] };\n }\n\n const styleProps: Record<string, any> = {};\n const keyframesList: string[] = [];\n\n // Gestion de la taille de l'élément\n const size =\n props.height !== undefined &&\n props.width !== undefined &&\n props.height === props.width\n ? props.height\n : props.size\n ? props.size\n : null;\n\n if (size) {\n styleProps.height = styleProps.width = size;\n }\n\n // Gestion du padding et de la marge\n if (props.paddingHorizontal) {\n styleProps.paddingLeft = props.paddingHorizontal;\n styleProps.paddingRight = props.paddingHorizontal;\n }\n\n if (props.marginHorizontal) {\n styleProps.marginLeft = props.marginHorizontal;\n styleProps.marginRight = props.marginHorizontal;\n }\n\n if (props.paddingVertical) {\n styleProps.paddingTop = props.paddingVertical;\n styleProps.paddingBottom = props.paddingVertical;\n }\n\n if (props.marginVertical) {\n styleProps.marginTop = props.marginVertical;\n styleProps.marginBottom = props.marginVertical;\n }\n\n // Application des ombres si spécifié\n if (props.shadow) {\n if (typeof props.shadow === 'number' || typeof props.shadow === 'boolean') {\n const shadowValue: number =\n typeof props.shadow === 'number' && Shadows[props.shadow] !== undefined\n ? props.shadow\n : 2;\n\n if (Shadows[shadowValue]) {\n const shadowColor =\n Color.hex.rgb(Shadows[shadowValue].shadowColor) || [];\n\n styleProps['boxShadow'] = `${\n Shadows[shadowValue].shadowOffset.height\n }px ${Shadows[shadowValue].shadowOffset.width}px ${\n Shadows[shadowValue].shadowRadius\n }px rgba(${shadowColor.join(',')},${\n Shadows[shadowValue].shadowOpacity\n })`;\n }\n } else {\n const shadowColor = Color.hex.rgb(props.shadow.shadowColor) || [];\n\n styleProps['boxShadow'] = `${props.shadow.shadowOffset.height}px ${\n props.shadow.shadowOffset.width\n }px ${props.shadow.shadowRadius}px rgba(${shadowColor.join(',')},${\n props.shadow.shadowOpacity\n })`;\n }\n }\n\n // Gestion des animations\n if (props.animate) {\n const animation = props.animate;\n const { keyframesName, keyframes } = generateKeyframes(animation);\n\n if (keyframes) {\n keyframesList.push(keyframes);\n }\n\n styleProps.animationName = keyframesName;\n styleProps.animationDuration = animation.duration || '1s';\n styleProps.animationTimingFunction = animation.timingFunction || 'ease';\n styleProps.animationDelay = animation.delay || '0s';\n styleProps.animationIterationCount = `${animation.iterationCount || '1'}`;\n styleProps.animationDirection = animation.direction || 'normal';\n styleProps.animationFillMode = animation.fillMode || 'both';\n styleProps.animationPlayState = animation.playState || 'running';\n }\n\n Object.keys(props).forEach((property) => {\n if (\n property !== 'style' &&\n (isStyleProp(property) || extraKeys.has(property))\n ) {\n const value = props[property];\n\n if (typeof value === 'object' && value !== null) {\n if (property === 'on') {\n for (const event in value) {\n if (!styleProps[`&:${event}`]) {\n styleProps[`&:${event}`] = {};\n }\n const nestedResult = computeStyleProps(value[event]);\n Object.assign(styleProps[`&:${event}`], nestedResult.styleProps);\n keyframesList.push(...(nestedResult.keyframes || []));\n }\n } else if (property === 'media') {\n for (const screenOrDevices in value) {\n const mediaValue = value[screenOrDevices];\n if (mediaQueries[screenOrDevices]) {\n const mediaQuery = '@media ' + mediaQueries[screenOrDevices];\n if (!styleProps[mediaQuery]) {\n styleProps[mediaQuery] = {};\n }\n const nestedResult = computeStyleProps(mediaValue);\n Object.assign(styleProps[mediaQuery], nestedResult.styleProps);\n keyframesList.push(...(nestedResult.keyframes || []));\n } else if (devices[screenOrDevices]) {\n const deviceScreens = devices[screenOrDevices];\n deviceScreens.forEach((screen: string) => {\n if (mediaQueries[screen]) {\n const mediaQuery = '@media ' + mediaQueries[screen];\n if (!styleProps[mediaQuery]) {\n styleProps[mediaQuery] = {};\n }\n const nestedResult = computeStyleProps(mediaValue);\n Object.assign(\n styleProps[mediaQuery],\n nestedResult.styleProps\n );\n keyframesList.push(...(nestedResult.keyframes || []));\n }\n });\n }\n }\n } else {\n // For other nested styles, exclude 'on' and 'media'\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const { on, media, ...nestedProps } = value;\n const nestedResult = computeStyleProps(nestedProps);\n styleProps[property] = nestedResult.styleProps;\n keyframesList.push(...(nestedResult.keyframes || []));\n }\n } else {\n // Simple style property\n styleProps[property] = value;\n }\n }\n });\n\n return { styleProps, keyframes: keyframesList };\n};\n\nconst getStyledProps = (\n props: any,\n getColor: (color: string) => string,\n mediaQueries: any,\n devices: any\n): { newProps: any; className: string; cssRules: string[] } => {\n const { styleProps, keyframes } = applyStyle(props, mediaQueries, devices);\n\n const className = generateClassName(styleProps);\n\n let cssRules: string[] = [];\n\n if (cssRulesCache.has(className)) {\n cssRules = cssRulesCache.get(className)!;\n } else {\n cssRules = generateCssRules(\n `.${className}`,\n styleProps,\n getColor,\n mediaQueries\n );\n\n if (keyframes && keyframes.length > 0) {\n cssRules = keyframes.concat(cssRules);\n }\n\n cssRulesCache.set(className, cssRules);\n }\n\n const { style, ...restProps } = props;\n\n const newProps = Object.keys(restProps).reduce((acc: any, key) => {\n if ((!excludedKeys.has(key) && !isStyleProp(key)) || includeKeys.has(key)) {\n acc[key] = restProps[key];\n }\n return acc;\n }, {});\n\n if (className) {\n newProps.className = className;\n }\n\n if (style) {\n newProps.style = style;\n }\n\n return { newProps, className, cssRules };\n};\n\nexport const Element: React.FC<ElementProps> = (props) => {\n const { onPress, ...rest } = props;\n\n const { getColor } = useTheme();\n const { mediaQueries, devices } = useResponsiveContext();\n\n const { newProps, cssRules } = useMemo(\n () => getStyledProps(rest, getColor, mediaQueries, devices),\n [rest, getColor, mediaQueries, devices]\n );\n\n if (onPress) {\n newProps.onClick = onPress;\n }\n\n useDynamicStyles(cssRules);\n\n const Component = newProps.as || 'div';\n delete newProps.as;\n\n return <Component {...newProps}>{props.children}</Component>;\n};\n","import React from 'react';\nimport { Element, ElementProps } from './Element';\nimport { ViewStyleProps } from '../types/style';\nimport { CSSProperties } from 'react';\n\ninterface ScrollProps extends ViewProps {\n // Définir des props spécifiques pour Scroll si nécessaire\n}\n\ninterface SpanProps extends Omit<ViewProps, 'as'> {\n // Définir des props spécifiques pour Span si nécessaire\n}\n\nexport interface ViewProps\n extends Omit<\n ViewStyleProps,\n 'children' | 'translate' | 'style' | 'pointerEvents'\n >,\n Omit<CSSProperties, 'translate' | 'animation'>,\n ElementProps {\n onPress?: (..._args: any) => void;\n}\n\nexport const View: React.FC<ViewProps> = React.memo((props) => (\n <Element {...props} />\n));\n\nexport const Div = View;\n\nexport const SafeArea = View;\n\nexport const Scroll: React.FC<ScrollProps> = React.memo((props) => (\n <View overflow={'auto'} {...props} />\n));\n\nexport const Span: React.FC<SpanProps> = React.memo((props) => (\n <Element {...props} as=\"span\" />\n));\n","import React from 'react';\nimport { CSSProperties } from 'react';\nimport { Element, ElementProps } from './Element';\nimport { ImageStyleProps } from '../types/style';\n\nexport interface ImageProps\n extends Omit<ImageStyleProps, 'children' | 'style' | 'pointerEvents'>,\n Omit<\n Partial<HTMLImageElement>,\n | 'width'\n | 'height'\n | 'children'\n | 'translate'\n | 'target'\n | 'border'\n | 'animate'\n | 'draggable'\n | 'style'\n >,\n Omit<CSSProperties, 'animation'>,\n ElementProps {}\n\nexport const Image = React.memo((props: ImageProps) => (\n <Element {...props} as=\"img\" />\n));\n","import React from 'react';\nimport { CSSProperties } from 'react';\nimport { Element, ElementProps } from './Element';\nimport { TextStyleProps } from '../types/style';\n\nexport interface TextProps\n extends Omit<\n TextStyleProps,\n 'children' | 'style' | 'onPress' | 'pointerEvents'\n >,\n Omit<CSSProperties, 'animation'>,\n ElementProps {\n toUpperCase?: boolean;\n}\n\nexport const Text = React.memo((props: TextProps) => {\n return <Element {...props} />;\n});\n","import React from 'react';\nimport { Element, ElementProps } from './Element';\nimport { ViewStyleProps } from '../types/style';\nimport { CSSProperties } from 'react';\n\n// Common props pour éviter la répétition\ninterface CommonProps\n extends Omit<ViewStyleProps, 'children' | 'style' | 'pointerEvents'> {}\n\n// Props pour le composant Form\nexport interface FormProps\n extends CommonProps,\n Omit<\n Partial<HTMLFormElement>,\n | 'width'\n | 'height'\n | 'children'\n | 'translate'\n | 'target'\n | 'border'\n | 'draggable'\n >,\n CSSProperties,\n ElementProps {}\n\n// Props pour le composant Button\nexport interface ButtonProps\n extends CommonProps,\n Omit<\n Partial<HTMLButtonElement>,\n | 'width'\n | 'height'\n | 'children'\n | 'translate'\n | 'type'\n | 'border'\n | 'animate'\n | 'style'\n | 'draggable'\n >,\n Omit<CSSProperties, 'animation'>,\n ElementProps {\n children?: React.ReactNode;\n // ... autres props ...\n onClick?: (..._args: any) => void;\n // ... autres props ...\n}\n\n// Props pour le composant Input\nexport interface InputProps\n extends ElementProps,\n CommonProps,\n Omit<\n Partial<HTMLInputElement>,\n 'width' | 'height' | 'animate' | 'style' | 'children'\n >,\n Omit<CSSProperties, 'style' | 'dir' | 'translate'> {}\n\n// Utilisation de React.memo pour une meilleure performance\nexport const Form = React.memo((props: FormProps) => (\n <Element {...props} as=\"form\" />\n));\n\nexport const Input = React.memo((props: InputProps) => (\n <Element {...props} as=\"input\" />\n));\n\nexport const Button = React.memo((props: ButtonProps) => (\n <Element {...props} as=\"button\" />\n));\n","/**\n * whether in browser env\n */\nexport const isBrowser = (): boolean =>\n typeof window !== 'undefined' &&\n typeof window.document !== 'undefined' &&\n typeof window.document.createElement !== 'undefined';\n\n/**\n * get window.g_initialProps\n */\nexport const getWindowInitialProps = () =>\n isBrowser() ? (window as any).g_initialProps : undefined;\n\n/**\n * whether SSR success in client\n */\nexport const isSSR = !isBrowser();\n\nexport function isDev() {\n let dev = false;\n\n if (isBrowser()) {\n dev = !(window.location.hostname.indexOf('localhost') === -1);\n }\n return dev;\n}\n\nexport function isProd() {\n if (isBrowser()) {\n if (window && window.location && window.location.hostname) {\n return (\n window.location.hostname.includes('localhost') ||\n window.location.hostname.includes('develop')\n );\n }\n }\n return false;\n}\n\nexport function isMobile() {\n return navigator.userAgent.match(/(iPhone|iPod|Android|ios|iPad)/i);\n}\n","import { useEffect } from 'react';\nexport const useMount = (callback: () => void) => {\n useEffect(() => {\n callback();\n }, []);\n};\n","import { useState } from 'react';\nimport {\n useResponsiveContext,\n ScreenOrientation,\n} from '../providers/Responsive';\n\nimport { useMount } from './useMount';\n\nexport const createQuery = (keyScreen: string, query: string, set: any) => {\n const mql = window.matchMedia(query);\n const onChange = () => {\n if (!!mql.matches) {\n set(keyScreen);\n }\n };\n\n mql.addListener(onChange);\n if (!!mql.matches) {\n set(keyScreen);\n }\n\n return () => {\n mql.removeListener(onChange);\n };\n};\n\nexport const useResponsive = () => {\n const { breakpoints, devices, mediaQueries } = useResponsiveContext();\n const [screen, setScreen] = useState('xs');\n const [orientation, setOrientation] = useState(\n 'landscape' as ScreenOrientation\n );\n\n useMount(() => {\n for (const screenSize in mediaQueries) {\n createQuery(screenSize, mediaQueries[screenSize], setScreen);\n }\n createQuery(\n 'landscape',\n 'only screen and (orientation: landscape)',\n setOrientation\n );\n createQuery(\n 'portrait',\n 'only screen and (orientation: portrait)',\n setOrientation\n );\n });\n\n const on = (device: keyof typeof devices) => {\n return devices[device].includes(screen);\n };\n\n const is = (s: keyof typeof breakpoints) => {\n return s == screen;\n };\n\n return {\n breakpoints,\n devices,\n orientation,\n screen,\n on,\n is,\n };\n};\n","// animations.ts\n\nexport const fadeIn = (duration = '1s', timingFunction = 'ease') => ({\n from: { opacity: 0 },\n enter: { opacity: 1 },\n duration,\n timingFunction,\n});\n\nexport const fadeOut = (duration = '1s', timingFunction = 'ease') => ({\n from: { opacity: 1 },\n enter: { opacity: 0 },\n duration,\n timingFunction,\n});\n\nexport const slideInLeft = (\n duration = '0.5s',\n timingFunction = 'ease-out'\n) => ({\n from: { transform: 'translateX(-100%)' },\n enter: { transform: 'translateX(0)' },\n duration,\n timingFunction,\n});\n\nexport const slideInRight = (\n duration = '0.5s',\n timingFunction = 'ease-out'\n) => ({\n from: { transform: 'translateX(100%)' },\n enter: { transform: 'translateX(0)' },\n duration,\n timingFunction,\n});\n\nexport const slideInDown = (\n duration = '0.5s',\n timingFunction = 'ease-out'\n) => ({\n from: { transform: 'translateY(-100%)' },\n enter: { transform: 'translateY(0)' },\n duration,\n timingFunction,\n});\n\nexport const slideInUp = (duration = '0.5s', timingFunction = 'ease-out') => ({\n from: { transform: 'translateY(100%)' },\n enter: { transform: 'translateY(0)' },\n duration,\n timingFunction,\n});\n\nexport const bounce = (\n duration = '2s',\n timingFunction = 'ease',\n iterationCount = 'infinite'\n) => ({\n from: { transform: 'translateY(0)' },\n '20%': { transform: 'translateY(-30px)' },\n '40%': { transform: 'translateY(0)' },\n '60%': { transform: 'translateY(-15px)' },\n '80%': { transform: 'translateY(0)' },\n enter: { transform: 'translateY(0)' },\n duration,\n timingFunction,\n iterationCount,\n});\n\nexport const rotate = (\n duration = '1s',\n timingFunction = 'linear',\n iterationCount = 'infinite'\n) => ({\n from: { transform: 'rotate(0deg)' },\n enter: { transform: 'rotate(360deg)' },\n duration,\n timingFunction,\n iterationCount,\n});\n\nexport const pulse = (\n duration = '1s',\n timingFunction = 'ease-in-out',\n iterationCount = 'infinite'\n) => ({\n from: { transform: 'scale(1)' },\n '50%': { transform: 'scale(1.05)' },\n enter: { transform: 'scale(1)' },\n duration,\n timingFunction,\n iterationCount,\n});\n\nexport const zoomIn = (duration = '0.5s', timingFunction = 'ease-out') => ({\n from: { transform: 'scale(0)' },\n enter: { transform: 'scale(1)' },\n duration,\n timingFunction,\n});\n\nexport const zoomOut = (duration = '0.5s', timingFunction = 'ease-out') => ({\n from: { transform: 'scale(1)' },\n enter: { transform: 'scale(0)' },\n duration,\n timingFunction,\n});\n\nexport const flash = (duration = '1s', iterationCount = 'infinite') => ({\n from: { opacity: 1 },\n '50%': { opacity: 0 },\n enter: { opacity: 1 },\n duration,\n iterationCount,\n});\n\nexport const shake = (duration = '0.5s', iterationCount = 'infinite') => ({\n from: { transform: 'translateX(0)' },\n '10%': { transform: 'translateX(-10px)' },\n '20%': { transform: 'translateX(10px)' },\n '30%': { transform: 'translateX(-10px)' },\n '40%': { transform: 'translateX(10px)' },\n '50%': { transform: 'translateX(-10px)' },\n '60%': { transform: 'translateX(10px)' },\n '70%': { transform: 'translateX(-10px)' },\n '80%': { transform: 'translateX(10px)' },\n '90%': { transform: 'translateX(-10px)' },\n enter: { transform: 'translateX(0)' },\n duration,\n iterationCount,\n});\n\nexport const swing = (duration = '1s', iterationCount = 'infinite') => ({\n from: { transform: 'rotate(0deg)' },\n '20%': { transform: 'rotate(15deg)' },\n '40%': { transform: 'rotate(-10deg)' },\n '60%': { transform: 'rotate(5deg)' },\n '80%': { transform: 'rotate(-5deg)' },\n enter: { transform: 'rotate(0deg)' },\n duration,\n iterationCount,\n});\n\nexport const rubberBand = (\n duration = '1s',\n timingFunction = 'ease-in-out'\n) => ({\n from: { transform: 'scale3d(1, 1, 1)' },\n '30%': { transform: 'scale3d(1.25, 0.75, 1)' },\n '40%': { transform: 'scale3d(0.75, 1.25, 1)' },\n '50%': { transform: 'scale3d(1.15, 0.85, 1)' },\n '65%': { transform: 'scale3d(0.95, 1.05, 1)' },\n '75%': { transform: 'scale3d(1.05, 0.95, 1)' },\n enter: { transform: 'scale3d(1, 1, 1)' },\n duration,\n timingFunction,\n});\n\nexport const wobble = (duration = '1s') => ({\n from: { transform: 'translateX(0%)' },\n '15%': { transform: 'translateX(-25%) rotate(-5deg)' },\n '30%': { transform: 'translateX(20%) rotate(3deg)' },\n '45%': { transform: 'translateX(-15%) rotate(-3deg)' },\n '60%': { transform: 'translateX(10%) rotate(2deg)' },\n '75%': { transform: 'translateX(-5%) rotate(-1deg)' },\n enter: { transform: 'translateX(0%)' },\n duration,\n});\n\nexport const flip = (duration = '1s') => ({\n from: {\n transform: 'perspective(400px) rotateY(0deg)',\n },\n '40%': {\n transform: 'perspective(400px) rotateY(-180deg)',\n },\n enter: {\n transform: 'perspective(400px) rotateY(-360deg)',\n },\n duration,\n});\n\nexport const heartBeat = (duration = '1.3s', iterationCount = 'infinite') => ({\n from: { transform: 'scale(1)' },\n '14%': { transform: 'scale(1.3)' },\n '28%': { transform: 'scale(1)' },\n '42%': { transform: 'scale(1.3)' },\n '70%': { transform: 'scale(1)' },\n enter: { transform: 'scale(1)' },\n duration,\n iterationCount,\n});\n\nexport const rollIn = (duration = '1s') => ({\n from: {\n opacity: 0,\n transform: 'translateX(-100%) rotate(-120deg)',\n },\n enter: {\n opacity: 1,\n transform: 'translateX(0px) rotate(0deg)',\n },\n duration,\n});\n\nexport const rollOut = (duration = '1s') => ({\n from: {\n opacity: 1,\n transform: 'translateX(0px) rotate(0deg)',\n },\n enter: {\n opacity: 0,\n transform: 'translateX(100%) rotate(120deg)',\n },\n duration,\n});\n\nexport const lightSpeedIn = (duration = '1s', timingFunction = 'ease-out') => ({\n from: {\n transform: 'translateX(100%) skewX(-30deg)',\n opacity: 0,\n },\n '60%': {\n transform: 'skewX(20deg)',\n opacity: 1,\n },\n '80%': {\n transform: 'skewX(-5deg)',\n },\n enter: {\n transform: 'translateX(0)',\n opacity: 1,\n },\n duration,\n timingFunction,\n});\n\nexport const lightSpeedOut = (duration = '1s', timingFunction = 'ease-in') => ({\n from: {\n opacity: 1,\n },\n '20%': {\n opacity: 1,\n transform: 'translateX(-20%) skewX(20deg)',\n },\n enter: {\n opacity: 0,\n transform: 'translateX(-100%) skewX(30deg)',\n },\n duration,\n timingFunction,\n});\n\nexport const hinge = (duration = '2s', timingFunction = 'ease-in-out') => ({\n from: {\n transform: 'rotate(0deg)',\n transformOrigin: 'top left',\n opacity: 1,\n },\n '20%': {\n transform: 'rotate(80deg)',\n opacity: 1,\n },\n '40%': {\n transform: 'rotate(60deg)',\n opacity: 1,\n },\n '60%': {\n transform: 'rotate(80deg)',\n opacity: 1,\n },\n '80%': {\n transform: 'rotate(60deg)',\n opacity: 1,\n },\n enter: {\n transform: 'translateY(700px)',\n opacity: 0,\n },\n duration,\n timingFunction,\n});\n\nexport const jackInTheBox = (duration = '1s', timingFunction = 'ease') => ({\n from: {\n opacity: 0,\n transform: 'scale(0.1) rotate(30deg)',\n transformOrigin: 'center bottom',\n },\n '50%': {\n transform: 'rotate(-10deg)',\n },\n '70%': {\n transform: 'rotate(3deg)',\n },\n enter: {\n opacity: 1,\n transform: 'scale(1) rotate(0deg)',\n },\n duration,\n timingFunction,\n});\n\nexport const flipInX = (duration = '1s', timingFunction = 'ease-in') => ({\n from: {\n transform: 'perspective(400px) rotateX(90deg)',\n opacity: 0,\n },\n '40%': {\n transform: 'perspective(400px) rotateX(-10deg)',\n opacity: 1,\n },\n enter: {\n transform: 'perspective(400px) rotateX(0deg)',\n },\n duration,\n timingFunction,\n});\n\nexport const flipInY = (duration = '1s', timingFunction = 'ease-in') => ({\n from: {\n transform: 'perspective(400px) rotateY(90deg)',\n opacity: 0,\n },\n '40%': {\n transform: 'perspective(400px) rotateY(-10deg)',\n opacity: 1,\n },\n enter: {\n transform: 'perspective(400px) rotateY(0deg)',\n },\n duration,\n timingFunction,\n});\n\nexport const headShake = (duration = '1s', iterationCount = 'infinite') => ({\n from: {\n transform: 'translateX(0)',\n },\n '6.5%': {\n transform: 'translateX(-6px) rotateY(-9deg)',\n },\n '18.5%': {\n transform: 'translateX(5px) rotateY(7deg)',\n },\n '31.5%': {\n transform: 'translateX(-3px) rotateY(-5deg)',\n },\n '43.5%': {\n transform: 'translateX(2px) rotateY(3deg)',\n },\n '50%': {\n transform: 'translateX(0)',\n },\n duration,\n iterationCount,\n});\n\nexport const tada = (duration = '1s', iterationCount = 'infinite') => ({\n from: { transform: 'scale3d(1, 1, 1)', opacity: 1 },\n '10%, 20%': {\n transform: 'scale3d(0.9, 0.9, 0.9) rotate(-3deg)',\n },\n '30%, 50%, 70%, 90%': {\n transform: 'scale3d(1.1, 1.1, 1.1) rotate(3deg)',\n },\n '40%, 60%, 80%': {\n transform: 'scale3d(1.1, 1.1, 1.1) rotate(-3deg)',\n },\n enter: { transform: 'scale3d(1, 1, 1)', opacity: 1 },\n duration,\n iterationCount,\n});\n\nexport const jello = (duration = '1s', iterationCount = 'infinite') => ({\n from: { transform: 'none' },\n '11.1%': { transform: 'skewX(-12.5deg) skewY(-12.5deg)' },\n '22.2%': { transform: 'skewX(6.25deg) skewY(6.25deg)' },\n '33.3%': { transform: 'skewX(-3.125deg) skewY(-3.125deg)' },\n '44.4%': { transform: 'skewX(1.5625deg) skewY(1.5625deg)' },\n '55.5%': { transform: 'skewX(-0.78125deg) skewY(-0.78125deg)' },\n '66.6%': { transform: 'skewX(0.390625deg) skewY(0.390625deg)' },\n '77.7%': { transform: 'skewX(-0.1953125deg) skewY(-0.1953125deg)' },\n '88.8%': { transform: 'skewX(0.09765625deg) skewY(0.09765625deg)' },\n enter: { transform: 'none' },\n duration,\n iterationCount,\n});\n\nexport const fadeInDown = (duration = '1s', timingFunction = 'ease-out') => ({\n from: {\n opacity: 0,\n transform: 'translateY(-100%)',\n },\n enter: {\n opacity: 1,\n transform: 'translateY(0)',\n },\n duration,\n timingFunction,\n});\n\nexport const fadeInUp = (duration = '1s', timingFunction = 'ease-out') => ({\n from: {\n opacity: 0,\n transform: 'translateY(100%)',\n },\n enter: {\n opacity: 1,\n transform: 'translateY(0)',\n },\n duration,\n timingFunction,\n});\n\nexport const bounceIn = (duration = '0.75s', timingFunction = 'ease-in') => ({\n from: {\n opacity: 0,\n transform: 'scale(0.3)',\n },\n '50%': {\n opacity: 1,\n transform: 'scale(1.05)',\n },\n '70%': {\n transform: 'scale(0.9)',\n },\n enter: {\n transform: 'scale(1)',\n },\n duration,\n timingFunction,\n});\n\nexport const bounceOut = (duration = '0.75s', timingFunction = 'ease-out') => ({\n from: {\n transform: 'scale(1)',\n },\n '20%': {\n transform: 'scale(0.9)',\n },\n '50%, 55%': {\n opacity: 1,\n transform: 'scale(1.1)',\n },\n enter: {\n opacity: 0,\n transform: 'scale(0.3)',\n },\n duration,\n timingFunction,\n});\n\nexport const slideOutLeft = (\n duration = '0.5s',\n timingFunction = 'ease-in'\n) => ({\n from: {\n transform: 'translateX(0)',\n },\n enter: {\n transform: 'translateX(-100%)',\n },\n duration,\n timingFunction,\n});\n\nexport const slideOutRight = (\n duration = '0.5s',\n timingFunction = 'ease-in'\n) => ({\n from: {\n transform: 'translateX(0)',\n },\n enter: {\n transform: 'translateX(100%)',\n },\n duration,\n timingFunction,\n});\n\nexport const zoomInDown = (duration = '1s', timingFunction = 'ease-out') => ({\n from: {\n opacity: 0,\n transform: 'scale(0.1) translateY(-1000px)',\n },\n '60%': {\n opacity: 1,\n transform: 'scale(0.475) translateY(60px)',\n },\n enter: {\n transform: 'scale(1) translateY(0)',\n },\n duration,\n timingFunction,\n});\n\nexport const zoomOutUp = (duration = '1s', timingFunction = 'ease-in') => ({\n from: {\n opacity: 1,\n transform: 'scale(1) translateY(0)',\n },\n '40%': {\n opacity: 1,\n transform: 'scale(0.475) translateY(-60px)',\n },\n enter: {\n opacity: 0,\n transform: 'scale(0.1) translateY(-1000px)',\n },\n duration,\n timingFunction,\n});\n\nexport const backInDown = (duration = '1s', timingFunction = 'ease-in') => ({\n from: {\n opacity: 0.7,\n transform: 'translateY(-2000px) scaleY(2.5) scaleX(0.2)',\n },\n enter: {\n opacity: 1,\n transform: 'translateY(0) scaleY(1) scaleX(1)',\n },\n duration,\n timingFunction,\n});\n\nexport const backOutUp = (duration = '1s', timingFunction = 'ease-in') => ({\n from: {\n opacity: 1,\n transform: 'translateY(0)',\n },\n '80%': {\n opacity: 0.7,\n transform: 'translateY(-20px)',\n },\n enter: {\n opacity: 0,\n transform: 'translateY(-2000px)',\n },\n duration,\n timingFunction,\n});\n","export const Typography = {\n letterSpacings: {\n tighter: -0.08,\n tight: -0.4,\n normal: 0,\n wide: 0.4,\n wider: 0.8,\n widest: 1.6,\n },\n lineHeights: {\n xs: 10,\n sm: 12,\n md: 14,\n lg: 16,\n xl: 20,\n '2xl': 24,\n '3xl': 30,\n '4xl': 36,\n '5xl': 48,\n '6xl': 64,\n },\n fontWeights: {\n hairline: 100,\n thin: 200,\n light: 300,\n normal: 400,\n medium: 500,\n semiBold: 600,\n bold: 700,\n extraBold: 800,\n black: 900,\n },\n fontSizes: {\n xs: 10,\n sm: 12,\n md: 14,\n lg: 16,\n xl: 20,\n '2xl': 24,\n '3xl': 30,\n '4xl': 36,\n '5xl': 48,\n '6xl': 64,\n },\n};\n"],"names":["palette","white","50","100","200","300","400","500","600","700","800","900","black","rose","pink","fuchsia","purple","violet","indigo","blue","lightBlue","cyan","teal","emerald","green","lime","yellow","amber","orange","red","warmGray","trueGray","gray","dark","coolGray","blueGray","defaultThemeMain","primary","secondary","success","error","warning","disabled","loading","defaultColors","magenta","grey","brown","navy","olive","maroon","gold","silver","beige","turquoise","coral","chocolate","skyBlue","plum","darkGreen","salmon","ThemeContext","createContext","getColor","name","colors","main","defaultPalette","theme","components","useTheme","useContext","deepMerge","target","source","merged","key","Object","prototype","hasOwnProperty","call","sourceValue","targetValue","Array","isArray","defaultBreakpointsConfig","xs","sm","md","lg","xl","defaultDeviceConfig","mobile","tablet","desktop","getMediaQueries","b","breakpointValue","keys","map","breakpoint","min","max","sort","a","reduce","query","sizeScreen","ResponsiveContext","breakpoints","devices","mediaQueries","useResponsiveContext","NumberProps","Set","excludedKeys","extraKeys","includeKeys","StyleProps","nonStyleAttributes","styleObjectToCss","styleObj","entries","_ref","value","toKebabCase","join","str","replace","match","toLowerCase","isStyleProp","property","has","processStyleProperty","includes","keyframesCounter","keyframesCache","Map","generateKeyframes","animation","keyframesDef","animationConfigString","JSON","stringify","keyframesName","get","keyframes","set","keyframesContent","getPercentage","parseInt","forEach","push","Shadows","0","shadowColor","shadowOffset","width","height","shadowOpacity","shadowRadius","1","2","3","4","5","6","7","8","9","styleSheet","document","styleTag","getElementById","createElement","id","head","appendChild","sheet","classCache","cssRulesCache","classNameCounter","generateCssRules","selector","styles","rules","mainStyles","nestedMediaQueries","startsWith","mediaQuery","assign","pseudoSelector","slice","nestedRules","mediaBreakpoints","trim","length","processedStyles","cssRule","mediaStyles","processedMediaStyles","cssProperties","computeStyleProps","props","styleProps","keyframesList","size","undefined","paddingHorizontal","paddingLeft","paddingRight","marginHorizontal","marginLeft","marginRight","paddingVertical","paddingTop","paddingBottom","marginVertical","marginTop","marginBottom","shadow","shadowValue","Color","hex","rgb","animate","animationName","animationDuration","duration","animationTimingFunction","timingFunction","animationDelay","delay","animationIterationCount","iterationCount","animationDirection","direction","animationFillMode","fillMode","animationPlayState","playState","Element","onPress","rest","newProps","cssRules","useMemo","getStyledProps","depth","maxDepth","console","event","nestedResult","screenOrDevices","mediaValue","screen","nestedProps","applyStyle","className","hash","i","charCodeAt","hashString","toString","generateClassName","concat","style","restProps","acc","onClick","useEffect","rule","from","some","cssText","insertRule","useDynamicStyles","Component","as","React","children","View","memo","Div","SafeArea","Scroll","overflow","Span","Image","Text","Form","Input","Button","isBrowser","window","isSSR","useMount","callback","createQuery","keyScreen","mql","matchMedia","onChange","matches","addListener","removeListener","opacity","enter","transform","20%","40%","60%","80%","50%","10%","30%","70%","90%","65%","75%","15%","45%","14%","28%","42%","transformOrigin","6.5%","18.5%","31.5%","43.5%","10%, 20%","30%, 50%, 70%, 90%","40%, 60%, 80%","11.1%","22.2%","33.3%","44.4%","55.5%","66.6%","77.7%","88.8%","50%, 55%","Provider","mergedTheme","mergedColors","split","warn","_","paletteName","variant","e","letterSpacings","tighter","tight","normal","wide","wider","widest","lineHeights","2xl","3xl","4xl","5xl","6xl","fontWeights","hairline","thin","light","medium","semiBold","bold","extraBold","fontSizes","getWindowInitialProps","g_initialProps","dev","location","hostname","indexOf","navigator","userAgent","useResponsive","setScreen","useState","orientation","setOrientation","screenSize","on","device","is","s"],"mappings":"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A,MACA,OACA,oBACA,kBACA,mBACA,iBACA,YAKWE,EAAY,IAAIF,IAAY,CACvC,KACA,SACA,OACA,QACA,QAIWG,EAAc,IAAIH,IAAY,CAAC,MAAO,MAAO,QAAS,OC5CtDI,EAAa,IAAIJ,IAAI,CAChC,eACA,aACA,YACA,oBACA,MACA,YACA,iBACA,qBACA,oBACA,oBACA,0BACA,gBACA,qBACA,0BACA,aACA,iBACA,qBACA,aACA,uBACA,sBACA,iBACA,kBACA,kBACA,mBACA,qBACA,sBACA,sBACA,mBACA,oBACA,oBACA,iBACA,gBACA,YACA,SACA,iBACA,sBACA,sBACA,sBACA,mBACA,wBACA,wBACA,wBACA,eACA,oBACA,yBACA,0BACA,oBACA,oBACA,iBACA,cACA,cACA,oBACA,oBACA,mBACA,oBACA,mBACA,kBACA,uBACA,uBACA,uBACA,oBACA,yBACA,yBACA,yBACA,aACA,kBACA,kBACA,kBACA,eACA,cACA,mBACA,mBACA,mBACA,gBACA,cACA,YACA,iBACA,sBACA,uBACA,iBACA,iBACA,cACA,SACA,YACA,YACA,aACA,cACA,cACA,oBACA,cACA,aACA,QACA,OACA,WACA,WACA,QACA,qBACA,4BACA,iBACA,cACA,aACA,YACA,aACA,kBACA,kBACA,kBACA,aACA,cACA,UACA,UACA,UACA,mBACA,eACA,SACA,KACA,KACA,IACA,YACA,UACA,mBACA,aACA,OACA,cACA,WACA,SACA,OACA,YACA,gBACA,WACA,WACA,aACA,WACA,QACA,aACA,eACA,OACA,cACA,aACA,sBACA,cACA,WACA,cACA,YACA,cACA,kBACA,uBACA,uBACA,qBACA,wBACA,aACA,MACA,OACA,WACA,kBACA,eACA,eACA,aACA,gBACA,gBACA,kBACA,UACA,UACA,aACA,aACA,eACA,eACA,oBACA,sBACA,mBACA,SACA,UACA,iBACA,aACA,YACA,iBACA,eACA,cACA,OACA,gBACA,gBACA,YACA,aACA,YACA,iBACA,oBACA,gBACA,SACA,iBACA,mBACA,eACA,kBACA,oBACA,aACA,cACA,YACA,SACA,YACA,YACA,cACA,OACA,WACA,eACA,YACA,gBACA,WACA,UACA,eACA,YACA,gBACA,WACA,UACA,eACA,YACA,iBACA,SACA,iBACA,aACA,eACA,UACA,QACA,cACA,UACA,UACA,eACA,gBACA,eACA,eACA,WACA,iBACA,eACA,YACA,YACA,qBACA,0BACA,2BACA,sBACA,sBACA,UACA,kBACA,oBACA,gBACA,mBACA,qBACA,cACA,eACA,aACA,OACA,iBACA,kBACA,kBACA,aACA,cACA,oBACA,eACA,aACA,YACA,gBACA,WACA,SACA,IACA,SACA,QACA,SACA,KACA,KACA,iBACA,eACA,oBACA,uBACA,yBACA,qBACA,qBACA,wBACA,0BACA,mBACA,oBACA,kBACA,gBACA,qBACA,wBACA,0BACA,sBACA,sBACA,yBACA,2BACA,oBACA,qBACA,mBACA,kBACA,iBACA,iBACA,sBACA,cACA,eACA,iBACA,OACA,QACA,MACA,YACA,cACA,SACA,kBACA,mBACA,gBACA,iBACA,mBACA,gBACA,cACA,UACA,cACA,YACA,gBACA,aACA,qBACA,iBACA,sBACA,qBACA,wBACA,sBACA,0BACA,eACA,aACA,kBACA,eACA,gBACA,aACA,iBACA,gBACA,wBACA,cACA,MACA,cACA,YACA,eACA,kBACA,iBACA,aACA,kBACA,qBACA,qBACA,2BACA,cACA,eACA,aACA,WACA,eACA,gBACA,aACA,OACA,aACA,SACA,QACA,aACA,YACA,cACA,WACA,cACA,IACA,IACA,SACA,OACA,yBACA,uBACA,mCACA,UACA,cACA,0BACA,gBACA,qBACA,eACA,iCACA,gBACA,mBACA,yBACA,0BACA,gCACA,eACA,mBACA,aACA,iBACA,sBACA,sBACA,4BACA,iCACA,mBACA,mBACA,sBACA,sBACA,wBACA,sBACA,WACA,oBACA,kBACA,gBACA,iBACA,gBACA,sBACA,sBACA,iBACA,wBACA,sBACA,gBACA,sBACA,wBACA,gBACA,0BACA,eACA,oCACA,iCACA,+BACA,kBACA,YACA,iBACA,gBACA,cACA,sBACA,YACA,mBACA,qBACA,oBACA,wBACA,yBACA,0BACA,0BACA,oBACA,cACA,iBACA,kBACA,kBACA,eACA,kBACA,mBACA,mBACA,cACA,iBACA,qBACA,sBACA,uBACA,uBACA,iBACA,cACA,SACA,UACA,YACA,cACA,eACA,gBACA,eACA,eACA,aACA,YACA,cACA,oBACA,iBACA,kBACA,mBACA,mBACA,iBACA,cACA,SACA,YACA,UACA,MACA,OACA,YACA,gBACA,WACA,aACA,WACA,SACA,iBACA,OACA,SACA,eACA,YACA,mBACA,aACA,cACA,cACA,YACA,iBACA,YACA,WACA,YACA,WACA,WACA,YACA,YACA,UACA,gBACA,aACA,oBACA,cACA,eACA,eACA,aACA,kBACA,WACA,QACA,QACA,MACA,QACA,SACA,uBACA,qBACA,yBACA,0BACA,cACA,eACA,sBACA,kBACA,cACA,UACA,WACA,YACA,YACA,aACA,YACA,eACA,YACA,kBACA,WACA,SACA,SACA,aACA,aACA,cACA,SACA,UACA,UACA,UACA,QACA,QACA,QACA,SACA,mBACA,eACA,aACA,kBACA,gBACA,YACA,cACA,YACA,iBACA,aACA,cAGIK,EAAqB,IAAIL,IAAI,CAAC,SAAU,aAAc,QAW/CM,EAAoBC,GACxB5C,OAAO6C,QAAQD,GACnBtB,IAAIwB,IAAA,IAAE/C,EAAKgD,GAAMD,EAAA,SAAQE,EAAYjD,OAASgD,OAC9CE,KAAK,KAIGD,EAAeE,GAC1BA,EAAIC,QAAQ,WAAaC,GAAU,IAAMA,EAAMC,eASpCC,EAAeC,GACnBd,EAAWe,IAAID,IAAab,EAAmBc,IAAID,GAI/CE,EAAuBA,CAClCF,EACAR,EACA7D,IAEqB,iBAAV6D,GAAuBX,EAAYoB,IAAID,GAEvCA,EAASF,cAAcK,SAAS,SAClCxE,EAAS6D,GAETA,EAJGA,OC7kBd,IAAIY,EAAmB,EACvB,MAAMC,EAAiB,IAAIC,IAEdC,EACXC,IAGA,SAQKC,GACDD,EAGEE,EAAwB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"}
|
|
1
|
+
{"version":3,"file":"appstudio.cjs.production.min.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|