app-studio 0.2.2 → 0.2.7
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 +194 -53
- 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 +194 -53
- package/dist/appstudio.esm.js.map +1 -1
- package/dist/appstudio.umd.development.js +194 -53
- 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/providers/Theme.d.ts +19 -50
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"appstudio.esm.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/components/Animation.tsx","../src/utils/typography.ts","../src/utils/env.ts","../src/hooks/useMount.ts","../src/hooks/useResponsive.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 from 'react';\n\nimport { createContext, useContext } from 'react';\nimport { palette as defaultPalette } from '../utils/colors';\n\ntype ColorConfig = Record<string, string>;\n\ntype VariantColorConfig = Record<string, Record<string, string>>;\n\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\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\nexport const ThemeContext = createContext<{\n getColor: (color: string) => string;\n theme?: {\n main: { [key: string]: string };\n components?: { [key: string]: { [key: string]: string } };\n };\n colors?: {\n main?: ColorConfig;\n palette?: VariantColorConfig;\n };\n}>({\n getColor: (name: string): string => {\n return name;\n },\n colors: {\n main: defaultColors,\n palette: defaultPalette,\n },\n theme: { main: defaultThemeMain, components: {} },\n});\n\nexport const useTheme = () => useContext(ThemeContext);\n\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?: {\n main: { [key: string]: string };\n components: { [key: string]: { [key: string]: string } };\n };\n colors?: {\n main?: ColorConfig;\n palette?: VariantColorConfig;\n };\n children: any;\n}): React.ReactElement => {\n const getColor = (name: string): string => {\n if (name === 'transparent') return name;\n\n try {\n // Si le nom commence par \"theme.\", nous recherchons dans les couleurs du thème\n if (name.startsWith('theme.')) {\n const keys = name.split('.');\n if (\n keys[1] !== undefined &&\n typeof theme.components[keys[1]] == 'object' &&\n theme.components[keys[1]][keys[2]] !== undefined\n ) {\n return getColor(theme.components[keys[1]][keys[2]]);\n } else if (theme.main[keys[1]] && theme.main[keys[1]] !== undefined) {\n return getColor(theme.main[keys[1]]);\n } else {\n console.log('Color ' + name + ' not found');\n }\n }\n // Si le nom commence par \"color.\", nous recherchons dans la palette\n else if (name.startsWith('color.')) {\n const keys = name.split('.'); // Retirer le préfixe \"color.\"\n\n if (colors.palette && colors.palette[keys[1]][keys[2]] !== undefined) {\n return colors.palette[keys[1]][keys[2]];\n } else if (\n colors.palette &&\n colors.palette[keys[1]][parseInt(keys[2])] !== undefined\n ) {\n return colors.palette[keys[1]][parseInt(keys[2])];\n } else if (colors.main && colors.main[keys[1]] !== undefined) {\n return colors.main[keys[1]];\n } else {\n console.log('Color ' + name + ' not found');\n }\n }\n } catch (e) {}\n\n return name;\n };\n\n return (\n <ThemeContext.Provider\n value={{\n getColor,\n theme: {\n main: {\n ...defaultThemeMain,\n ...theme.main,\n },\n components: {\n ...theme.components,\n },\n },\n colors: {\n main: {\n ...defaultColors,\n ...colors.main,\n },\n palette: {\n ...defaultPalette,\n ...colors.palette,\n },\n },\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\nimport { excludedKeys } from './constants';\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\nexport 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\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\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 const serialized = JSON.stringify(styleProps);\n if (classCache.has(serialized)) {\n return classCache.get(serialized)!;\n } else {\n const className = 'clz-' + classNameCounter++;\n classCache.set(serialized, 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 applyStyle = (\n props: Record<string, any>,\n getColor: (color: string) => string,\n mediaQueries: any,\n devices: 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 // Traitement des propriétés de style\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 // Pour les propriétés comme 'on', 'media'\n if (property === 'on') {\n // Pseudo-sélecteurs\n for (const event in value) {\n if (!styleProps[`&:${event}`]) {\n styleProps[`&:${event}`] = {};\n }\n const nestedResult = applyStyle(\n value[event],\n getColor,\n mediaQueries,\n devices\n );\n Object.assign(styleProps[`&:${event}`], nestedResult.styleProps);\n keyframesList.push(...(nestedResult.keyframes || []));\n }\n } else if (property === 'media') {\n // Media queries\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 = applyStyle(\n mediaValue,\n getColor,\n mediaQueries,\n devices\n );\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 = applyStyle(\n mediaValue,\n getColor,\n mediaQueries,\n devices\n );\n Object.assign(\n styleProps[mediaQuery],\n nestedResult.styleProps\n );\n keyframesList.push(...(nestedResult.keyframes || []));\n }\n });\n }\n }\n } else {\n // Styles imbriqués\n const nestedResult = applyStyle(\n value,\n getColor,\n mediaQueries,\n devices\n );\n styleProps[property] = nestedResult.styleProps;\n keyframesList.push(...(nestedResult.keyframes || []));\n }\n } else {\n // Propriété de style simple\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(\n props,\n getColor,\n mediaQueries,\n devices\n );\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","// 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","/**\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"],"names":["palette","white","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","ThemeProvider","_ref","children","startsWith","keys","split","undefined","console","log","parseInt","e","React","Provider","value","defaultBreakpointsConfig","xs","sm","md","lg","xl","defaultDeviceConfig","mobile","tablet","desktop","getMediaQueries","b","defaultKeys","Object","breakpointValue","map","breakpoint","min","max","sort","a","reduce","query","sizeScreen","defaultScreenConfig","breakpoints","devices","mediaQueries","ResponsiveContext","useResponsiveContext","ResponsiveProvider","NumberProps","Set","excludedKeys","extraKeys","includeKeys","styleObjectToCss","styleObj","entries","key","toKebabCase","join","str","replace","match","toLowerCase","isStyleProp","prop","has","processStyleProperty","property","includes","keyframesCounter","keyframesCache","Map","generateKeyframes","animation","duration","timingFunction","delay","iterationCount","direction","fillMode","playState","keyframesDef","animationConfigString","JSON","stringify","keyframesName","get","keyframes","set","keyframesContent","keyframeKeys","getPercentage","forEach","cssKey","styles","push","Shadows","shadowColor","shadowOffset","width","height","shadowOpacity","shadowRadius","styleSheet","document","styleTag","getElementById","createElement","id","head","appendChild","sheet","classCache","cssRulesCache","classNameCounter","generateClassName","styleProps","serialized","className","useDynamicStyles","cssRules","useEffect","rule","Array","from","some","cssRule","cssText","insertRule","length","generateCssRules","selector","rules","mainStyles","nestedMediaQueries","mediaQuery","assign","pseudoSelector","slice","nestedStyles","nestedRules","mediaBreakpoints","queries","trim","processedStyles","mediaStyles","processedMediaStyles","cssProperties","mediaRule","bpRule","applyStyle","props","keyframesList","size","paddingHorizontal","paddingLeft","paddingRight","marginHorizontal","marginLeft","marginRight","paddingVertical","paddingTop","paddingBottom","marginVertical","marginTop","marginBottom","shadow","shadowValue","Color","hex","rgb","animate","animationName","animationDuration","animationTimingFunction","animationDelay","animationIterationCount","animationDirection","animationFillMode","animationPlayState","event","nestedResult","screenOrDevices","mediaValue","deviceScreens","screen","getStyledProps","concat","style","restProps","newProps","acc","Element","onPress","rest","useMemo","onClick","Component","as","View","memo","Div","SafeArea","Scroll","overflow","Span","Image","Text","Form","Input","Button","fadeIn","opacity","enter","fadeOut","slideInLeft","transform","slideInRight","slideInDown","slideInUp","bounce","rotate","pulse","zoomIn","zoomOut","flash","shake","swing","rubberBand","wobble","flip","heartBeat","rollIn","rollOut","lightSpeedIn","lightSpeedOut","hinge","transformOrigin","jackInTheBox","flipInX","flipInY","headShake","tada","jello","fadeInDown","fadeInUp","bounceIn","bounceOut","slideOutLeft","slideOutRight","zoomInDown","zoomOutUp","backInDown","backOutUp","Typography","letterSpacings","tighter","tight","normal","wide","wider","widest","lineHeights","fontWeights","hairline","thin","light","medium","semiBold","bold","extraBold","fontSizes","isBrowser","window","getWindowInitialProps","g_initialProps","isSSR","isDev","dev","location","hostname","indexOf","isProd","isMobile","navigator","userAgent","useMount","callback","createQuery","keyScreen","mql","matchMedia","onChange","matches","addListener","removeListener","useResponsive","setScreen","useState","orientation","setOrientation","screenSize","on","device","is","s"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"appstudio.esm.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/components/Animation.tsx","../src/utils/typography.ts","../src/utils/env.ts","../src/hooks/useMount.ts","../src/hooks/useResponsive.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(\n { main: defaultThemeMain, components: {} },\n theme\n );\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 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\nimport { excludedKeys } from './constants';\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\nexport 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\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\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 const serialized = JSON.stringify(styleProps);\n if (classCache.has(serialized)) {\n return classCache.get(serialized)!;\n } else {\n const className = 'clz-' + classNameCounter++;\n classCache.set(serialized, 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 getColor: (color: string) => string,\n mediaQueries: any,\n devices: 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 const value = props[property];\n\n if (typeof value === 'object' && value !== null) {\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 = applyStyle(\n nestedProps,\n getColor,\n mediaQueries,\n devices\n );\n styleProps[property] = nestedResult.styleProps;\n keyframesList.push(...(nestedResult.keyframes || []));\n } else {\n // Simple style property\n styleProps[property] = value;\n }\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 getColor: (color: string) => string,\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(\n value[event],\n getColor,\n mediaQueries,\n devices\n );\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(\n mediaValue,\n getColor,\n mediaQueries,\n devices\n );\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(\n mediaValue,\n getColor,\n mediaQueries,\n devices\n );\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(\n nestedProps,\n getColor,\n mediaQueries,\n devices\n );\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(\n props,\n getColor,\n mediaQueries,\n devices\n );\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","// 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","/**\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"],"names":["palette","white","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","ThemeProvider","_ref","children","mergedTheme","mergedColors","startsWith","keys","split","value","i","length","undefined","console","warn","colorName","_","paletteName","variant","e","React","Provider","defaultBreakpointsConfig","xs","sm","md","lg","xl","defaultDeviceConfig","mobile","tablet","desktop","getMediaQueries","b","defaultKeys","breakpointValue","map","breakpoint","min","max","sort","a","reduce","query","sizeScreen","defaultScreenConfig","breakpoints","devices","mediaQueries","ResponsiveContext","useResponsiveContext","ResponsiveProvider","NumberProps","Set","excludedKeys","extraKeys","includeKeys","styleObjectToCss","styleObj","entries","toKebabCase","join","str","replace","match","toLowerCase","isStyleProp","prop","has","processStyleProperty","property","includes","keyframesCounter","keyframesCache","Map","generateKeyframes","animation","duration","timingFunction","delay","iterationCount","direction","fillMode","playState","keyframesDef","animationConfigString","JSON","stringify","keyframesName","get","keyframes","set","keyframesContent","keyframeKeys","getPercentage","parseInt","forEach","cssKey","styles","push","Shadows","shadowColor","shadowOffset","width","height","shadowOpacity","shadowRadius","styleSheet","document","styleTag","getElementById","createElement","id","head","appendChild","sheet","classCache","cssRulesCache","classNameCounter","generateClassName","styleProps","serialized","className","useDynamicStyles","cssRules","useEffect","rule","from","some","cssRule","cssText","insertRule","generateCssRules","selector","rules","mainStyles","nestedMediaQueries","mediaQuery","assign","pseudoSelector","slice","nestedStyles","nestedRules","mediaBreakpoints","queries","trim","processedStyles","mediaStyles","processedMediaStyles","cssProperties","mediaRule","bpRule","computeStyleProps","props","keyframesList","size","paddingHorizontal","paddingLeft","paddingRight","marginHorizontal","marginLeft","marginRight","paddingVertical","paddingTop","paddingBottom","marginVertical","marginTop","marginBottom","shadow","shadowValue","Color","hex","rgb","animate","animationName","animationDuration","animationTimingFunction","animationDelay","animationIterationCount","animationDirection","animationFillMode","animationPlayState","on","media","nestedProps","nestedResult","applyStyle","depth","maxDepth","event","screenOrDevices","mediaValue","deviceScreens","screen","getStyledProps","concat","style","restProps","newProps","acc","Element","onPress","rest","useMemo","onClick","Component","as","View","memo","Div","SafeArea","Scroll","overflow","Span","Image","Text","Form","Input","Button","fadeIn","opacity","enter","fadeOut","slideInLeft","transform","slideInRight","slideInDown","slideInUp","bounce","rotate","pulse","zoomIn","zoomOut","flash","shake","swing","rubberBand","wobble","flip","heartBeat","rollIn","rollOut","lightSpeedIn","lightSpeedOut","hinge","transformOrigin","jackInTheBox","flipInX","flipInY","headShake","tada","jello","fadeInDown","fadeInUp","bounceIn","bounceOut","slideOutLeft","slideOutRight","zoomInDown","zoomOutUp","backInDown","backOutUp","Typography","letterSpacings","tighter","tight","normal","wide","wider","widest","lineHeights","fontWeights","hairline","thin","light","medium","semiBold","bold","extraBold","fontSizes","isBrowser","window","getWindowInitialProps","g_initialProps","isSSR","isDev","dev","location","hostname","indexOf","isProd","isMobile","navigator","userAgent","useMount","callback","createQuery","keyScreen","mql","matchMedia","onChange","matches","addListener","removeListener","useResponsive","setScreen","useState","orientation","setOrientation","screenSize","device","is","s"],"mappings":"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"}
|