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.
- package/dist/app-studio.cjs.development.js +57 -87
- package/dist/app-studio.cjs.development.js.map +1 -1
- package/dist/app-studio.cjs.production.min.js +3 -4
- package/dist/app-studio.cjs.production.min.js.map +1 -1
- package/dist/app-studio.esm.js +57 -87
- package/dist/app-studio.esm.js.map +1 -1
- package/dist/components/Element.d.ts +6 -5
- package/dist/components/Form.d.ts +11 -17
- package/dist/components/Image.d.ts +2 -2
- package/dist/components/Text.d.ts +2 -2
- package/dist/components/View.d.ts +10 -5
- package/dist/components/Wrapper.d.ts +1 -1
- package/package.json +1 -1
|
@@ -603,34 +603,38 @@ const ResponsiveProvider = _ref => {
|
|
|
603
603
|
}, children);
|
|
604
604
|
};
|
|
605
605
|
|
|
606
|
-
|
|
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
|
-
|
|
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
|
-
//
|
|
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
|
|
653
|
-
if (Shadows[
|
|
654
|
-
const shadowColor = Color.hex.rgb(Shadows[
|
|
655
|
-
styleProps['boxShadow'] = `${Shadows[
|
|
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
|
-
//
|
|
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
|
-
|
|
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
|
-
//
|
|
776
|
-
|
|
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
|
-
//
|
|
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
|
-
|
|
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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"}
|