app-studio 0.1.27 → 0.1.28

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.
@@ -603,34 +603,38 @@ const ResponsiveProvider = _ref => {
603
603
  }, children);
604
604
  };
605
605
 
606
- const NumberPropsStyle = {};
606
+ // Liste des propriétés numériques
607
607
  const NumberProps = ['numberOfLines', 'fontWeight', 'timeStamp', 'flex', 'flexGrow', 'flexShrink', 'order', 'zIndex', 'aspectRatio', 'shadowOpacity', 'shadowRadius', 'scale', 'opacity', 'min', 'max', 'now'];
608
- NumberProps.map(property => {
608
+ // Stocke si une propriété est numérique
609
+ const NumberPropsStyle = {};
610
+ NumberProps.forEach(property => {
609
611
  NumberPropsStyle[property] = true;
610
612
  });
613
+ // Fonction pour définir la taille de l'élément
611
614
  const setSize = (newSize, styleProps) => {
612
- styleProps.height = styleProps.width = newSize;
615
+ styleProps.height = styleProps.width = newSize; // Définit la hauteur et la largeur
613
616
  };
617
+ // Fonction pour appliquer les styles à un composant
614
618
  const applyStyle = props => {
615
- //console.log({ applyStyle: props });
616
- // eslint-disable-next-line prefer-const
617
619
  const {
618
620
  getColor
619
- } = useTheme();
621
+ } = useTheme(); // Utilise le hook pour obtenir les couleurs du thème
620
622
  const {
621
623
  mediaQueries,
622
624
  devices
623
- } = useResponsiveContext();
625
+ } = useResponsiveContext(); // Utilise le contexte responsive
624
626
  // eslint-disable-next-line prefer-const
625
- let styleProps = {};
626
- //const otherProps: any = {};
627
+ let styleProps = {}; // Stocke les styles
628
+ // Applique un curseur pointeur si un gestionnaire de clic est présent
627
629
  if (props.onClick && styleProps.cursor == undefined) {
628
630
  styleProps.cursor = 'pointer';
629
631
  }
632
+ // Gère la taille de l'élément
630
633
  const size = props.height !== undefined && props.width !== undefined && props.height === props.width ? props.height : props.size ? props.size : null;
631
634
  if (size) {
632
- setSize(size, styleProps);
635
+ setSize(size, styleProps); // Applique la taille
633
636
  }
637
+ // Gère le padding et la marge
634
638
  if (props.paddingHorizontal) {
635
639
  styleProps.paddingLeft = props.paddingHorizontal;
636
640
  styleProps.paddingRight = props.paddingHorizontal;
@@ -647,12 +651,13 @@ const applyStyle = props => {
647
651
  styleProps.marginTop = props.marginVertical;
648
652
  styleProps.marginBottom = props.marginVertical;
649
653
  }
654
+ // Applique les ombres si spécifié
650
655
  if (props.shadow) {
651
656
  if (typeof props.shadow === 'number' || typeof props.shadow === 'boolean') {
652
- const shawdowValue = typeof props.shadow === 'number' && Shadows[props.shadow] !== undefined ? props.shadow : 2;
653
- if (Shadows[shawdowValue]) {
654
- const shadowColor = Color.hex.rgb(Shadows[shawdowValue].shadowColor).join(',');
655
- styleProps['boxShadow'] = `${Shadows[shawdowValue].shadowOffset.height}px ${Shadows[shawdowValue].shadowOffset.width}px ${Shadows[shawdowValue].shadowRadius}px rgba(${shadowColor},${Shadows[shawdowValue].shadowOpacity})`;
657
+ const shadowValue = typeof props.shadow === 'number' && Shadows[props.shadow] !== undefined ? props.shadow : 2;
658
+ if (Shadows[shadowValue]) {
659
+ const shadowColor = Color.hex.rgb(Shadows[shadowValue].shadowColor).join(',');
660
+ styleProps['boxShadow'] = `${Shadows[shadowValue].shadowOffset.height}px ${Shadows[shadowValue].shadowOffset.width}px ${Shadows[shadowValue].shadowRadius}px rgba(${shadowColor},${Shadows[shadowValue].shadowOpacity})`;
656
661
  }
657
662
  } else {
658
663
  const shadowColor = Color.hex.rgb(props.shadow.shadowColor).join(',');
@@ -660,6 +665,7 @@ const applyStyle = props => {
660
665
  }
661
666
  delete props['shadow'];
662
667
  }
668
+ // Gère les styles pour des médias spécifiques
663
669
  if (props.only) {
664
670
  const {
665
671
  only,
@@ -676,6 +682,18 @@ const applyStyle = props => {
676
682
  });
677
683
  delete props['only'];
678
684
  }
685
+ // Gère les styles CSS personnalisés
686
+ if (props.css) {
687
+ const {
688
+ css
689
+ } = props;
690
+ props = {
691
+ ...css,
692
+ props
693
+ };
694
+ delete props['css'];
695
+ }
696
+ // Applique les styles
679
697
  Object.keys(props).map(property => {
680
698
  if (property !== 'shadow' && property !== 'size') {
681
699
  if (isStyleProp(property) || property == 'on' || property == 'media') {
@@ -686,17 +704,11 @@ const applyStyle = props => {
686
704
  }
687
705
  } else if (property === 'media') {
688
706
  for (const screenOrDevices in props[property]) {
689
- // console.log(screenOrDevices, mediaQueries[screenOrDevices]);
690
707
  if (mediaQueries[screenOrDevices] !== undefined && props[property][screenOrDevices] !== undefined) {
691
708
  styleProps['@media ' + mediaQueries[screenOrDevices]] = applyStyle(props[property][screenOrDevices]);
692
709
  } else if (devices[screenOrDevices] !== undefined) {
693
- // console.log(screen, devices[screenOrDevices], 'screen');
694
710
  for (const deviceScreen in devices[screenOrDevices]) {
695
711
  if (mediaQueries[devices[screenOrDevices][deviceScreen]] !== undefined && props[property][screenOrDevices] !== undefined) {
696
- // console.log(
697
- // screenOrDevices,
698
- // props[property][screenOrDevices]
699
- // );
700
712
  styleProps['@media ' + mediaQueries[devices[screenOrDevices][deviceScreen]]] = applyStyle(props[property][screenOrDevices]);
701
713
  }
702
714
  }
@@ -717,49 +729,7 @@ const applyStyle = props => {
717
729
  });
718
730
  return styleProps;
719
731
  };
720
- // function convertToCSS(props: any) {
721
- // return Object.entries(props).reduce((str, [key, val]) => {
722
- // const casedKey = key.replace(
723
- // /[A-Z]/g,
724
- // (match) => `-${match.toLowerCase()}`
725
- // );
726
- // return `${str}${casedKey}:${typeof val === 'number' ? val + 'px' : val};\n`;
727
- // }, '');
728
- // }
729
- // export const getResponsiveMediaQueries = (props: any) => {
730
- // const { breakpoints, devices } = useResponsiveContext();
731
- // console.log('mediaQueries', props);
732
- // const mediaQueries = breakpointKeys
733
- // .map((size) => {
734
- // return props && props[size] !== undefined
735
- // ? `
736
- // @media ${
737
- // breakpoints[size].min
738
- // ? ' (min-width:' +
739
- // (breakpoints[size].min > 0 ? breakpoints[size].min : 0) +
740
- // 'px)'
741
- // : ''
742
- // } ${
743
- // breakpoints[size].min &&
744
- // breakpoints[size].max &&
745
- // breakpoints[size].max >= 0 &&
746
- // breakpoints[size].max < Infinity
747
- // ? ' and '
748
- // : ''
749
- // } ${
750
- // breakpoints[size].max &&
751
- // breakpoints[size].max >= 0 &&
752
- // breakpoints[size].max < Infinity
753
- // ? ' (max-width:' + breakpoints[size].max + 'px)'
754
- // : ''
755
- // } {
756
- // ${convertToCSS(props[size])}
757
- // }`
758
- // : '';
759
- // })
760
- // .join('\n');
761
- // return mediaQueries;
762
- // };
732
+ // Fonction pour filtrer les props qui ne sont pas des styles
763
733
  const getProps = props => {
764
734
  return Object.keys(props).reduce((acc, key) => {
765
735
  if (!excludedKeys.has(key) && !isStyleProp(key)) {
@@ -768,22 +738,21 @@ const getProps = props => {
768
738
  return acc;
769
739
  }, {});
770
740
  };
771
- const excludedKeys = /*#__PURE__*/new Set(['on', 'shadow', 'only', 'media']);
741
+ // Clés à exclure lors de la création du composant stylisé
742
+ const excludedKeys = /*#__PURE__*/new Set(['on', 'shadow', 'only', 'media', 'css', 'paddingHorizontal', 'paddingVertical', 'marginHorizontal', 'marginVertical']);
743
+ // Crée un composant div stylisé, en excluant certaines props
772
744
  const ElementComponent = /*#__PURE__*/styled.div.withConfig({
773
745
  shouldForwardProp: prop => !excludedKeys.has(prop) && !isStyleProp(prop)
774
746
  })`
775
- // Apply styles dynamically using applyStyle function
776
- // This will not add the styles as a prop to the DOM.
777
- ${props => {
778
- // We assume that applyStyle returns an object where the styles are under a 'style' key.
779
- // This will extract the styles from the result of applyStyle and apply them here.
780
- return applyStyle(props);
781
- }}
747
+ // Applique les styles dynamiques en utilisant la fonction applyStyle
748
+ ${props => applyStyle(props)}
782
749
  `;
750
+ // Classe Element étendant React.PureComponent pour optimiser les performances
783
751
  class Element extends React__default.PureComponent {
784
752
  constructor() {
785
753
  super(...arguments);
786
754
  this.handleClick = () => {
755
+ // Gère le clic, déclenchant onPress ou onClick
787
756
  const {
788
757
  onPress,
789
758
  onClick
@@ -796,40 +765,41 @@ class Element extends React__default.PureComponent {
796
765
  };
797
766
  }
798
767
  render() {
799
- // Since applyStyle is not used here, only non-style props and the click handler are included.
768
+ // Rendu du composant avec les props
800
769
  return /*#__PURE__*/React__default.createElement(ElementComponent, Object.assign({}, this.props, {
801
770
  onClick: this.handleClick
802
771
  }));
803
772
  }
804
773
  }
805
774
 
806
- const View = props => /*#__PURE__*/React__default.createElement(Element, Object.assign({}, props));
775
+ const View = /*#__PURE__*/React__default.memo(props => /*#__PURE__*/React__default.createElement(Element, Object.assign({}, props)));
807
776
  const Div = View;
808
777
  const SafeArea = View;
809
- const Scroll = props => /*#__PURE__*/React__default.createElement(View, Object.assign({
778
+ const Scroll = /*#__PURE__*/React__default.memo(props => /*#__PURE__*/React__default.createElement(View, Object.assign({
810
779
  overflow: 'auto'
811
- }, props));
812
- const Span = props => /*#__PURE__*/React__default.createElement(Element, Object.assign({}, props, {
780
+ }, props)));
781
+ const Span = /*#__PURE__*/React__default.memo(props => /*#__PURE__*/React__default.createElement(Element, Object.assign({}, props, {
813
782
  as: "span"
814
- }));
783
+ })));
815
784
 
816
- const Image = props => /*#__PURE__*/React__default.createElement(Element, Object.assign({}, props, {
785
+ const Image = /*#__PURE__*/React__default.memo(props => /*#__PURE__*/React__default.createElement(Element, Object.assign({}, props, {
817
786
  as: "img"
818
- }));
787
+ })));
819
788
 
820
- const Text = props => {
789
+ const Text = /*#__PURE__*/React__default.memo(props => {
821
790
  return /*#__PURE__*/React__default.createElement(Element, Object.assign({}, props));
822
- };
791
+ });
823
792
 
824
- const Form = props => /*#__PURE__*/React__default.createElement(Element, Object.assign({}, props, {
793
+ // Utilisation de React.memo pour une meilleure performance
794
+ const Form = /*#__PURE__*/React__default.memo(props => /*#__PURE__*/React__default.createElement(Element, Object.assign({}, props, {
825
795
  as: "form"
826
- }));
827
- const Input = props => /*#__PURE__*/React__default.createElement(Element, Object.assign({}, props, {
796
+ })));
797
+ const Input = /*#__PURE__*/React__default.memo(props => /*#__PURE__*/React__default.createElement(Element, Object.assign({}, props, {
828
798
  as: "input"
829
- }));
830
- const Button = props => /*#__PURE__*/React__default.createElement(Element, Object.assign({}, props, {
799
+ })));
800
+ const Button = /*#__PURE__*/React__default.memo(props => /*#__PURE__*/React__default.createElement(Element, Object.assign({}, props, {
831
801
  as: "button"
832
- }));
802
+ })));
833
803
 
834
804
  const Typography = {
835
805
  letterSpacings: {
@@ -1 +1 @@
1
- {"version":3,"file":"app-studio.cjs.development.js","sources":["../src/utils/colors.ts","../src/providers/Theme.tsx","../src/utils/shadow.ts","../src/utils/style.ts","../src/providers/Responsive.tsx","../src/components/Element.tsx","../src/components/View.tsx","../src/components/Image.tsx","../src/components/Text.tsx","../src/components/Form.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","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","function getValidCSSProperties() {\n // Use the CSSStyleDeclaration object to get all supported CSS properties\n const allProps = Object.keys(document.body.style);\n\n // Create a Set for non-style attributes that we wish to exclude from the style properties\n // Note: This list is not exhaustive and can be expanded as needed.\n const nonStyleAttributes = new Set([\n 'length',\n 'parentRule',\n 'src',\n // ... add any other known non-style properties here\n ]);\n\n // Filter out non-standard properties, event handlers, and non-style attributes\n const validProps = new Set(\n allProps.filter(\n (prop) =>\n !/^(-moz-|-ms-|-webkit-|-o-)/.test(prop) && // Vendor prefixes\n !/^on[A-Z]/.test(prop) && // Event handlers, e.g., onClick\n !nonStyleAttributes.has(prop) // Specific non-style properties\n )\n );\n\n return validProps;\n}\n\nexport const StyleProps: any = getValidCSSProperties();\n\nexport const isStyleProp = (property: string): boolean => {\n return StyleProps.has(property);\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","import React from 'react';\nimport Color from 'color-convert';\nimport styled, { CSSProperties } from 'styled-components';\n\nimport { useTheme } from '../providers/Theme';\nimport { Shadows, Shadow } from '../utils/shadow';\nimport { isStyleProp } from '../utils/style';\nimport { useResponsiveContext } from '../providers/Responsive';\n\nexport interface ElementProps {\n children?: any;\n size?: number;\n on?: Record<string, CSSProperties>;\n media?: Record<string, CSSProperties>;\n paddingHorizontal?: number | string;\n marginHorizontal?: number | string;\n paddingVertical?: number | string;\n marginVertical?: number | string;\n shadow?: boolean | number | Shadow;\n only?: string[];\n}\n\nconst NumberPropsStyle: any = {};\nconst NumberProps = [\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\nNumberProps.map((property: string) => {\n NumberPropsStyle[property] = true;\n});\n\nexport const setSize = (newSize: string | number, styleProps: any) => {\n styleProps.height = styleProps.width = newSize;\n};\n\nexport const applyStyle = (props: any) => {\n //console.log({ applyStyle: props });\n // eslint-disable-next-line prefer-const\n\n const { getColor } = useTheme();\n const { mediaQueries, devices } = useResponsiveContext();\n\n // eslint-disable-next-line prefer-const\n let styleProps: any = {};\n //const otherProps: any = {};\n\n if (props.onClick && styleProps.cursor == undefined) {\n styleProps.cursor = 'pointer';\n }\n\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 setSize(size, styleProps);\n }\n\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 if (props.shadow) {\n if (typeof props.shadow === 'number' || typeof props.shadow === 'boolean') {\n const shawdowValue: number =\n typeof props.shadow === 'number' && Shadows[props.shadow] !== undefined\n ? props.shadow\n : 2;\n\n if (Shadows[shawdowValue]) {\n const shadowColor = Color.hex\n .rgb(Shadows[shawdowValue].shadowColor)\n .join(',');\n\n styleProps[\n 'boxShadow'\n ] = `${Shadows[shawdowValue].shadowOffset.height}px ${Shadows[shawdowValue].shadowOffset.width}px ${Shadows[shawdowValue].shadowRadius}px rgba(${shadowColor},${Shadows[shawdowValue].shadowOpacity})`;\n }\n } else {\n const shadowColor = Color.hex.rgb(props.shadow.shadowColor).join(',');\n\n styleProps[\n 'boxShadow'\n ] = `${props.shadow.shadowOffset.height}px ${props.shadow.shadowOffset.width}px ${props.shadow.shadowRadius}px rgba(${shadowColor},${props.shadow.shadowOpacity})`;\n }\n delete props['shadow'];\n }\n\n if (props.only) {\n const { only, ...newProps } = props;\n // eslint-disable-next-line prefer-const\n let onlyProps: any = {\n media: {},\n };\n\n only.map((o: string) => {\n if (onlyProps.media[o] == undefined) {\n onlyProps.media[o] = {};\n }\n });\n\n const styleKeys = Object.keys(newProps).filter((key) => isStyleProp(key));\n styleKeys.map((key: string) => {\n only.map((o: string) => {\n props.media[o][key] = newProps[key];\n });\n delete props[key];\n });\n delete props['only'];\n }\n\n Object.keys(props).map((property) => {\n if (property !== 'shadow' && property !== 'size') {\n if (isStyleProp(property) || property == 'on' || property == 'media') {\n if (typeof props[property] === 'object') {\n if (property === 'on') {\n for (const event in props[property]) {\n styleProps['&:' + event] = applyStyle(props[property][event]);\n }\n } else if (property === 'media') {\n for (const screenOrDevices in props[property]) {\n // console.log(screenOrDevices, mediaQueries[screenOrDevices]);\n if (\n mediaQueries[screenOrDevices] !== undefined &&\n props[property][screenOrDevices] !== undefined\n ) {\n styleProps['@media ' + mediaQueries[screenOrDevices]] =\n applyStyle(props[property][screenOrDevices]);\n } else if (devices[screenOrDevices] !== undefined) {\n // console.log(screen, devices[screenOrDevices], 'screen');\n for (const deviceScreen in devices[screenOrDevices]) {\n if (\n mediaQueries[devices[screenOrDevices][deviceScreen]] !==\n undefined &&\n props[property][screenOrDevices] !== undefined\n ) {\n // console.log(\n // screenOrDevices,\n // props[property][screenOrDevices]\n // );\n styleProps[\n '@media ' +\n mediaQueries[devices[screenOrDevices][deviceScreen]]\n ] = applyStyle(props[property][screenOrDevices]);\n }\n }\n }\n }\n } else {\n styleProps[property] = applyStyle(props[property]);\n }\n } else if (\n typeof props[property] === 'number' &&\n NumberPropsStyle[property] === undefined\n ) {\n styleProps[property] = props[property] + 'px';\n } else if (property.toLowerCase().indexOf('color') !== -1) {\n styleProps[property] = getColor(props[property]);\n } else {\n styleProps[property] = props[property];\n }\n }\n }\n });\n\n return styleProps;\n};\n\n// function convertToCSS(props: any) {\n// return Object.entries(props).reduce((str, [key, val]) => {\n// const casedKey = key.replace(\n// /[A-Z]/g,\n// (match) => `-${match.toLowerCase()}`\n// );\n// return `${str}${casedKey}:${typeof val === 'number' ? val + 'px' : val};\\n`;\n// }, '');\n// }\n\n// export const getResponsiveMediaQueries = (props: any) => {\n// const { breakpoints, devices } = useResponsiveContext();\n// console.log('mediaQueries', props);\n\n// const mediaQueries = breakpointKeys\n// .map((size) => {\n// return props && props[size] !== undefined\n// ? `\n// @media ${\n// breakpoints[size].min\n// ? ' (min-width:' +\n// (breakpoints[size].min > 0 ? breakpoints[size].min : 0) +\n// 'px)'\n// : ''\n// } ${\n// breakpoints[size].min &&\n// breakpoints[size].max &&\n// breakpoints[size].max >= 0 &&\n// breakpoints[size].max < Infinity\n// ? ' and '\n// : ''\n// } ${\n// breakpoints[size].max &&\n// breakpoints[size].max >= 0 &&\n// breakpoints[size].max < Infinity\n// ? ' (max-width:' + breakpoints[size].max + 'px)'\n// : ''\n// } {\n// ${convertToCSS(props[size])}\n// }`\n// : '';\n// })\n// .join('\\n');\n\n// return mediaQueries;\n// };\nexport const getProps = (props: any) => {\n return Object.keys(props).reduce(\n (acc, key) => {\n if (!excludedKeys.has(key) && !isStyleProp(key)) {\n acc[key] = props[key];\n }\n return acc;\n },\n {} as { [key: string]: any }\n );\n};\n\nconst excludedKeys = new Set(['on', 'shadow', 'only', 'media']);\n\nconst ElementComponent = styled.div.withConfig({\n shouldForwardProp: (prop) => !excludedKeys.has(prop) && !isStyleProp(prop),\n})`\n // Apply styles dynamically using applyStyle function\n // This will not add the styles as a prop to the DOM.\n ${(props: any) => {\n // We assume that applyStyle returns an object where the styles are under a 'style' key.\n // This will extract the styles from the result of applyStyle and apply them here.\n return applyStyle(props);\n }}\n`;\n\nexport class Element extends React.PureComponent<any> {\n handleClick = () => {\n const { onPress, onClick } = this.props;\n if (onPress) {\n onPress();\n } else if (onClick) {\n onClick();\n }\n };\n\n render() {\n // Since applyStyle is not used here, only non-style props and the click handler are included.\n\n return <ElementComponent {...this.props} onClick={this.handleClick} />;\n }\n}\n","import React from 'react';\nimport { Element, ElementProps } from './Element';\nimport { ViewStyleProps } from '../types/style';\nimport { CSSProperties } from 'styled-components';\n\nexport interface ViewProps\n extends Omit<\n ViewStyleProps,\n 'children' | 'translate' | 'style' | 'pointerEvents'\n >,\n Omit<CSSProperties, 'translate'>,\n ElementProps {\n onPress?: (..._args: any) => void;\n}\n\nexport const View = (props: ViewProps) => <Element {...props} />;\n\nexport const Div = View;\n\nexport const SafeArea = View;\n\nexport const Scroll = (props: any) => <View overflow={'auto'} {...props} />;\n\nexport const Span = (props: ViewProps) => <Element {...props} as=\"span\" />;\n","import React from 'react';\nimport { CSSProperties } from 'styled-components';\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 | 'draggable'\n >,\n CSSProperties,\n ElementProps {}\n\nexport const Image = (props: ImageProps) => <Element {...props} as=\"img\" />;\n","import React from 'react';\nimport { CSSProperties } from 'styled-components';\nimport { Element, ElementProps } from './Element';\nimport { TextStyleProps } from '../types/style';\n\nexport interface TextProps\n extends Omit<TextStyleProps, 'children' | 'style' | 'pointerEvents'>,\n CSSProperties,\n ElementProps {\n toUpperCase?: boolean;\n}\n\nexport const Text = (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 'styled-components';\nimport { Shadow } from '../utils/shadow';\n\nexport interface FormProps\n extends Omit<ViewStyleProps, 'children' | 'style' | 'pointerEvents'>,\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\nexport interface ButtonProps\n extends Omit<ViewStyleProps, 'children' | 'style' | 'pointerEvents'>,\n Omit<\n Partial<HTMLButtonElement>,\n | 'width'\n | 'height'\n | 'children'\n | 'translate'\n | 'type'\n | 'border'\n | 'draggable'\n >,\n CSSProperties {\n children?: any;\n size?: number;\n on?: Record<string, CSSProperties>;\n paddingHorizontal?: number | string;\n marginHorizontal?: number | string;\n paddingVertical?: number | string;\n marginVertical?: number | string;\n shadow?: boolean | number | Shadow;\n onClick?: any;\n media?: Record<string, CSSProperties>;\n}\n\nexport interface InputProps\n extends ElementProps,\n Omit<ViewStyleProps, 'style' | 'pointerEvents' | 'onPress' | 'dir'>,\n Omit<Partial<HTMLInputElement>, 'width' | 'height' | 'children'>,\n Omit<CSSProperties, 'style' | 'dir' | 'translate'> {}\n\nexport const Form = (props: FormProps) => <Element {...props} as=\"form\" />;\n\nexport const Input = (props: InputProps) => <Element {...props} as=\"input\" />;\n\nexport const Button = (props: ButtonProps) => (\n <Element {...props} as=\"button\" />\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","Shadows","shadowColor","shadowOffset","width","height","shadowOpacity","shadowRadius","getValidCSSProperties","allProps","Object","document","body","style","nonStyleAttributes","Set","validProps","filter","prop","test","has","StyleProps","isStyleProp","property","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","NumberPropsStyle","NumberProps","setSize","newSize","styleProps","applyStyle","props","onClick","cursor","size","paddingHorizontal","paddingLeft","paddingRight","marginHorizontal","marginLeft","marginRight","paddingVertical","paddingTop","paddingBottom","marginVertical","marginTop","marginBottom","shadow","shawdowValue","Color","hex","rgb","join","only","newProps","o","styleKeys","key","media","event","screenOrDevices","deviceScreen","toLowerCase","indexOf","getProps","acc","excludedKeys","ElementComponent","styled","div","withConfig","shouldForwardProp","Element","PureComponent","constructor","onPress","render","handleClick","View","Div","SafeArea","Scroll","overflow","Span","as","Image","Text","Form","Input","Button","Typography","letterSpacings","tighter","tight","normal","wide","wider","widest","lineHeights","fontWeights","hairline","thin","light","medium","semiBold","bold","extraBold","fontSizes","isBrowser","window","createElement","getWindowInitialProps","g_initialProps","isSSR","isDev","dev","location","hostname","isProd","includes","isMobile","navigator","userAgent","match","useMount","callback","useEffect","createQuery","keyScreen","set","mql","matchMedia","onChange","matches","addListener","removeListener","useResponsive","screen","setScreen","useState","orientation","setOrientation","screenSize","on","device","is","s"],"mappings":"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"}
1
+ {"version":3,"file":"app-studio.cjs.development.js","sources":["../src/utils/colors.ts","../src/providers/Theme.tsx","../src/utils/shadow.ts","../src/utils/style.ts","../src/providers/Responsive.tsx","../src/components/Element.tsx","../src/components/View.tsx","../src/components/Image.tsx","../src/components/Text.tsx","../src/components/Form.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","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","function getValidCSSProperties() {\n // Use the CSSStyleDeclaration object to get all supported CSS properties\n const allProps = Object.keys(document.body.style);\n\n // Create a Set for non-style attributes that we wish to exclude from the style properties\n // Note: This list is not exhaustive and can be expanded as needed.\n const nonStyleAttributes = new Set([\n 'length',\n 'parentRule',\n 'src',\n // ... add any other known non-style properties here\n ]);\n\n // Filter out non-standard properties, event handlers, and non-style attributes\n const validProps = new Set(\n allProps.filter(\n (prop) =>\n !/^(-moz-|-ms-|-webkit-|-o-)/.test(prop) && // Vendor prefixes\n !/^on[A-Z]/.test(prop) && // Event handlers, e.g., onClick\n !nonStyleAttributes.has(prop) // Specific non-style properties\n )\n );\n\n return validProps;\n}\n\nexport const StyleProps: any = getValidCSSProperties();\n\nexport const isStyleProp = (property: string): boolean => {\n return StyleProps.has(property);\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","import React from 'react'; // Importe React pour créer des composants\nimport Color from 'color-convert'; // Utilisé pour convertir les couleurs\nimport styled, { CSSProperties } from 'styled-components'; // Pour créer des composants stylisés\n\nimport { useTheme } from '../providers/Theme'; // Hook personnalisé pour utiliser le thème\nimport { Shadows, Shadow } from '../utils/shadow'; // Importe des utilitaires pour les ombres\nimport { isStyleProp } from '../utils/style'; // Fonction pour vérifier si une prop est un style\nimport { useResponsiveContext } from '../providers/Responsive'; // Hook pour le contexte responsive\n\n// Définit les props pour le composant Element\nexport interface ElementProps {\n children?: React.ReactNode; // Les enfants du composant\n size?: number; // Taille de l'élément\n on?: Record<string, CSSProperties>; // Styles pour les événements\n media?: Record<string, CSSProperties>; // Styles pour les médias\n paddingHorizontal?: number | string; // Padding horizontal\n marginHorizontal?: number | string; // Margin horizontal\n paddingVertical?: number | string; // Padding vertical\n marginVertical?: number | string; // Margin vertical\n shadow?: boolean | number | Shadow; // Propriété d'ombre\n only?: string[]; // Propriété pour spécifier des médias spécifiques\n css?: CSSProperties; // Styles CSS personnalisés\n}\n\n// Liste des propriétés numériques\nconst NumberProps = [\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// Stocke si une propriété est numérique\nconst NumberPropsStyle: { [key: string]: boolean } = {};\nNumberProps.forEach((property) => {\n NumberPropsStyle[property] = true;\n});\n\n// Fonction pour définir la taille de l'élément\nexport const setSize = (\n newSize: string | number,\n styleProps: Record<string, any>\n) => {\n styleProps.height = styleProps.width = newSize; // Définit la hauteur et la largeur\n};\n\n// Fonction pour appliquer les styles à un composant\nexport const applyStyle = (props: Record<string, any>): CSSProperties & any => {\n const { getColor } = useTheme(); // Utilise le hook pour obtenir les couleurs du thème\n const { mediaQueries, devices } = useResponsiveContext(); // Utilise le contexte responsive\n\n // eslint-disable-next-line prefer-const\n let styleProps: Record<string, any> = {}; // Stocke les styles\n\n // Applique un curseur pointeur si un gestionnaire de clic est présent\n if (props.onClick && styleProps.cursor == undefined) {\n styleProps.cursor = 'pointer';\n }\n\n // Gère 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 setSize(size, styleProps); // Applique la taille\n }\n\n // Gère le padding et 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 // Applique les 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 = Color.hex\n .rgb(Shadows[shadowValue].shadowColor)\n .join(',');\n\n styleProps[\n 'boxShadow'\n ] = `${Shadows[shadowValue].shadowOffset.height}px ${Shadows[shadowValue].shadowOffset.width}px ${Shadows[shadowValue].shadowRadius}px rgba(${shadowColor},${Shadows[shadowValue].shadowOpacity})`;\n }\n } else {\n const shadowColor = Color.hex.rgb(props.shadow.shadowColor).join(',');\n\n styleProps[\n 'boxShadow'\n ] = `${props.shadow.shadowOffset.height}px ${props.shadow.shadowOffset.width}px ${props.shadow.shadowRadius}px rgba(${shadowColor},${props.shadow.shadowOpacity})`;\n }\n delete props['shadow'];\n }\n\n // Gère les styles pour des médias spécifiques\n if (props.only) {\n const { only, ...newProps } = props;\n // eslint-disable-next-line prefer-const\n let onlyProps: any = {\n media: {},\n };\n\n only.map((o: string) => {\n if (onlyProps.media[o] == undefined) {\n onlyProps.media[o] = {};\n }\n });\n\n const styleKeys = Object.keys(newProps).filter((key) => isStyleProp(key));\n styleKeys.map((key: string) => {\n only.map((o: string) => {\n props.media[o][key] = newProps[key];\n });\n delete props[key];\n });\n delete props['only'];\n }\n\n // Gère les styles CSS personnalisés\n if (props.css) {\n const { css } = props;\n props = { ...css, props };\n delete props['css'];\n }\n\n // Applique les styles\n Object.keys(props).map((property) => {\n if (property !== 'shadow' && property !== 'size') {\n if (isStyleProp(property) || property == 'on' || property == 'media') {\n if (typeof props[property] === 'object') {\n if (property === 'on') {\n for (const event in props[property]) {\n styleProps['&:' + event] = applyStyle(props[property][event]);\n }\n } else if (property === 'media') {\n for (const screenOrDevices in props[property]) {\n if (\n mediaQueries[screenOrDevices] !== undefined &&\n props[property][screenOrDevices] !== undefined\n ) {\n styleProps['@media ' + mediaQueries[screenOrDevices]] =\n applyStyle(props[property][screenOrDevices]);\n } else if (devices[screenOrDevices] !== undefined) {\n for (const deviceScreen in devices[screenOrDevices]) {\n if (\n mediaQueries[devices[screenOrDevices][deviceScreen]] !==\n undefined &&\n props[property][screenOrDevices] !== undefined\n ) {\n styleProps[\n '@media ' +\n mediaQueries[devices[screenOrDevices][deviceScreen]]\n ] = applyStyle(props[property][screenOrDevices]);\n }\n }\n }\n }\n } else {\n styleProps[property] = applyStyle(props[property]);\n }\n } else if (\n typeof props[property] === 'number' &&\n NumberPropsStyle[property] === undefined\n ) {\n styleProps[property] = props[property] + 'px';\n } else if (property.toLowerCase().indexOf('color') !== -1) {\n styleProps[property] = getColor(props[property]);\n } else {\n styleProps[property] = props[property];\n }\n }\n }\n });\n\n return styleProps;\n};\n\n// Fonction pour filtrer les props qui ne sont pas des styles\nexport const getProps = (props: Record<string, any>) => {\n return Object.keys(props).reduce(\n (acc, key) => {\n if (!excludedKeys.has(key) && !isStyleProp(key)) {\n acc[key] = props[key];\n }\n return acc;\n },\n {} as { [key: string]: any }\n );\n};\n\n// Clés à exclure lors de la création du composant stylisé\nconst excludedKeys = new Set([\n 'on',\n 'shadow',\n 'only',\n 'media',\n 'css',\n 'paddingHorizontal',\n 'paddingVertical',\n 'marginHorizontal',\n 'marginVertical',\n]);\n\n// Crée un composant div stylisé, en excluant certaines props\nconst ElementComponent = styled.div.withConfig({\n shouldForwardProp: (prop) => !excludedKeys.has(prop) && !isStyleProp(prop),\n})`\n // Applique les styles dynamiques en utilisant la fonction applyStyle\n ${(props: any) => applyStyle(props)}\n`;\n\n// Classe Element étendant React.PureComponent pour optimiser les performances\nexport class Element extends React.PureComponent<ElementProps & any> {\n handleClick = () => {\n // Gère le clic, déclenchant onPress ou onClick\n const { onPress, onClick } = this.props;\n if (onPress) {\n onPress();\n } else if (onClick) {\n onClick();\n }\n };\n\n render() {\n // Rendu du composant avec les props\n return <ElementComponent {...this.props} onClick={this.handleClick} />;\n }\n}\n","import React from 'react';\nimport { Element, ElementProps } from './Element';\nimport { ViewStyleProps } from '../types/style';\nimport { CSSProperties } from 'styled-components';\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'>,\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 'styled-components';\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 | 'draggable'\n >,\n CSSProperties,\n ElementProps {}\n\nexport const Image = React.memo((props: ImageProps) => (\n <Element {...props} as=\"img\" />\n));\n","import React from 'react';\nimport { CSSProperties } from 'styled-components';\nimport { Element, ElementProps } from './Element';\nimport { TextStyleProps } from '../types/style';\n\nexport interface TextProps\n extends Omit<TextStyleProps, 'children' | 'style' | 'pointerEvents'>,\n CSSProperties,\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 'styled-components';\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 | 'draggable'\n >,\n CSSProperties,\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<Partial<HTMLInputElement>, 'width' | 'height' | 'children'>,\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","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","Shadows","shadowColor","shadowOffset","width","height","shadowOpacity","shadowRadius","getValidCSSProperties","allProps","Object","document","body","style","nonStyleAttributes","Set","validProps","filter","prop","test","has","StyleProps","isStyleProp","property","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","NumberPropsStyle","forEach","setSize","newSize","styleProps","applyStyle","props","onClick","cursor","size","paddingHorizontal","paddingLeft","paddingRight","marginHorizontal","marginLeft","marginRight","paddingVertical","paddingTop","paddingBottom","marginVertical","marginTop","marginBottom","shadow","shadowValue","Color","hex","rgb","join","only","newProps","o","styleKeys","key","media","css","event","screenOrDevices","deviceScreen","toLowerCase","indexOf","getProps","acc","excludedKeys","ElementComponent","styled","div","withConfig","shouldForwardProp","Element","PureComponent","constructor","onPress","render","handleClick","View","memo","Div","SafeArea","Scroll","overflow","Span","as","Image","Text","Form","Input","Button","Typography","letterSpacings","tighter","tight","normal","wide","wider","widest","lineHeights","fontWeights","hairline","thin","light","medium","semiBold","bold","extraBold","fontSizes","isBrowser","window","createElement","getWindowInitialProps","g_initialProps","isSSR","isDev","dev","location","hostname","isProd","includes","isMobile","navigator","userAgent","match","useMount","callback","useEffect","createQuery","keyScreen","set","mql","matchMedia","onChange","matches","addListener","removeListener","useResponsive","screen","setScreen","useState","orientation","setOrientation","screenSize","on","device","is","s"],"mappings":"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"}