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