cdslibrary 1.0.56 → 1.1.3

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.
@@ -70,7 +70,8 @@ export const CDSprimitiveColors = {
70
70
  900: "#3D292C",
71
71
  950: "#382E2F",
72
72
  },
73
- overlay: {light:"rgba(0, 0, 0, 0.50)",
73
+ overlay: {
74
+ light: "rgba(0, 0, 0, 0.50)",
74
75
  dark: 'rgba(0,0,0,0.75)'
75
76
  },
76
77
  };
@@ -79,7 +80,7 @@ export const CDSprimitiveColors = {
79
80
 
80
81
 
81
82
  export const CDSprimitiveFontValues = {
82
-
83
+
83
84
  family: {
84
85
  interRegular: 'Inter_400Regular',
85
86
  interSemiBold: 'Inter_600SemiBold',
@@ -125,8 +126,7 @@ export const CDSprimitiveFontValues = {
125
126
 
126
127
  lineHeight: {
127
128
  mobile: {
128
- xs: 18,
129
- sm: 20,
129
+ sm: 18,
130
130
  md: 24,
131
131
  lg: 28,
132
132
  xl: 31,
@@ -134,8 +134,7 @@ export const CDSprimitiveFontValues = {
134
134
  "3xl": 44,
135
135
  },
136
136
  desktop: {
137
- xs: 18,
138
- sm: 22,
137
+ sm: 18,
139
138
  md: 28,
140
139
  lg: 35,
141
140
  xl: 43,
@@ -144,3 +143,62 @@ export const CDSprimitiveFontValues = {
144
143
  },
145
144
  },
146
145
  };
146
+
147
+ export const CDSPrimiviteRadius = {
148
+ none: 0,
149
+ sm: 8,
150
+ md: 16,
151
+ lg: 24,
152
+ full: 9999,
153
+ };
154
+
155
+ export const CDSPrimitiveSpacing =
156
+ {
157
+ none: { mobile: 0, desktop: 0 },
158
+ xs: { mobile: 8, desktop: 16 },
159
+ sm: { mobile: 16, desktop: 24 },
160
+ md: { mobile: 24, desktop: 32 },
161
+ lg: { mobile: 32, desktop: 48 },
162
+ xl: { mobile: 48, desktop: 64 },
163
+ };
164
+
165
+ export const CDSPrimitiveShadows = (mode) => ({
166
+ md: {
167
+ shadowColor: CDSprimitiveColors.neutral[1000],
168
+ shadowOffset: {
169
+ width: 0,
170
+ height: mode==='dark' ? 8 : 2
171
+ },
172
+ shadowOpacity: mode==='dark' ? 0.4 : 0.1,
173
+ shadowRadius: 6,
174
+ elevation: 3, // Valor aproximado para Android
175
+ },
176
+
177
+ // Basado en tu captura "lg": Y: 4, Blur: 8
178
+ lg: {
179
+ shadowColor: CDSprimitiveColors.neutral[1000],
180
+ shadowOffset: {
181
+ width: 0,
182
+ height: mode==='dark' ? 10 : 4
183
+ },
184
+ shadowOpacity: mode==='dark' ? 0.5 : 0.1,
185
+ shadowRadius: 8,
186
+ elevation: 5, // Valor aproximado para Android
187
+ },
188
+ });
189
+
190
+ export const resolveTokens = (primitives, isMobile) => {
191
+ const resolved = {};
192
+
193
+ for (const key in primitives) {
194
+ const value = primitives[key];
195
+ // Si el valor tiene la estructura { mobile, desktop }, elegimos uno
196
+ if (value && typeof value === 'object' && 'mobile' in value) {
197
+ resolved[key] = isMobile ? value.mobile : value.desktop;
198
+ } else {
199
+ // Si es un valor simple (como un color o radius), se queda igual
200
+ resolved[key] = value;
201
+ }
202
+ }
203
+ return resolved;
204
+ };
@@ -1,11 +1,9 @@
1
1
  import { CDSprimitiveColors } from "./CDSprimitiveTokens";
2
- import { Dimensions, Platform } from "react-native";
3
- const { width } = Dimensions.get("window");
4
2
 
5
3
  export const CDSsemanticColors = {
6
4
  light: {
7
- logo:{
8
- source:"../assets/logoMonte.png"
5
+ logo: {
6
+ source: "../assets/logoMonte.png"
9
7
  },
10
8
  icon: {
11
9
  neutral: {
@@ -30,7 +28,7 @@ export const CDSsemanticColors = {
30
28
  action: {
31
29
  disabled: CDSprimitiveColors.neutral[400],
32
30
  primary: CDSprimitiveColors.neutral[800],
33
- pressed: CDSprimitiveColors.neutral[200],
31
+ pressed: CDSprimitiveColors.neutral[1000],
34
32
  },
35
33
  feedback: {
36
34
  info: CDSprimitiveColors.blue[100],
@@ -106,10 +104,11 @@ export const CDSsemanticColors = {
106
104
  error: CDSprimitiveColors.scarlet[300],
107
105
  },
108
106
  },
107
+ overlay: CDSprimitiveColors.overlay.light,
109
108
  },
110
109
  dark: {
111
- logo:{
112
- source:'../assets/logoMonteW.png'
110
+ logo: {
111
+ source: '../assets/logoMonteW.png'
113
112
  },
114
113
  icon: {
115
114
  neutral: {
@@ -134,6 +133,7 @@ export const CDSsemanticColors = {
134
133
  action: {
135
134
  disabled: CDSprimitiveColors.neutral[600],
136
135
  primary: CDSprimitiveColors.neutral[200],
136
+ pressed: CDSprimitiveColors.neutral[100],
137
137
  },
138
138
  feedback: {
139
139
  info: CDSprimitiveColors.blue[250],
@@ -209,5 +209,6 @@ export const CDSsemanticColors = {
209
209
  error: CDSprimitiveColors.scarlet[350],
210
210
  },
211
211
  },
212
+ overlay: CDSprimitiveColors.overlay.dark,
212
213
  },
213
214
  };
@@ -1,211 +1,199 @@
1
1
  import { useFonts, Inter_400Regular, Inter_600SemiBold, Inter_700Bold } from "@expo-google-fonts/inter";
2
2
 
3
3
  import { CDSprimitiveFontValues } from "./CDSprimitiveTokens";
4
- import { Dimensions } from "react-native";
5
-
6
- const { width } = Dimensions.get("window");
7
- const isMobile = width <= 768;
8
-
9
-
10
- export const getSemanticTextStyles = (theme) => ({
11
- h1: {
12
- fontFamily: CDSprimitiveFontValues.family.interBold,
13
- fontSize: isMobile
14
- ? CDSprimitiveFontValues.size.typography.mobile["3xl"]
15
- : CDSprimitiveFontValues.size.typography.desktop["3xl"],
16
- color: theme.text.neutral.primary,
17
- },
18
- h2: {
19
- fontFamily: CDSprimitiveFontValues.family.interBold,
20
- fontSize: isMobile
21
- ? CDSprimitiveFontValues.size.typography.mobile["2xl"]
22
- : CDSprimitiveFontValues.size.typography.desktop["2xl"],
23
- color: theme.text.neutral.primary,
24
- },
25
- h3: {
26
- fontFamily: CDSprimitiveFontValues.family.interBold,
27
- fontSize: isMobile
28
- ? CDSprimitiveFontValues.size.typography.mobile.xl
29
- : CDSprimitiveFontValues.size.typography.desktop.xl,
30
- color: theme.text.neutral.primary,
31
- },
32
- h4: {
33
- fontFamily: CDSprimitiveFontValues.family.interBold,
34
- fontSize: isMobile
35
- ? CDSprimitiveFontValues.size.typography.mobile.lg
36
- : CDSprimitiveFontValues.size.typography.desktop.lg,
37
- color: theme.text.neutral.primary,
38
- },
39
-
40
- regular: {
41
- lg: {
42
- fontFamily: CDSprimitiveFontValues.family.interRegular,
43
- fontSize: isMobile
44
- ? CDSprimitiveFontValues.size.typography.mobile.lg
45
- : CDSprimitiveFontValues.size.typography.desktop.lg,
46
- color: theme.text.neutral.primary,
47
- },
48
-
49
- md: {
50
- fontFamily: CDSprimitiveFontValues.family.interRegular,
51
- fontSize: isMobile
52
- ? CDSprimitiveFontValues.size.typography.mobile.md
53
- : CDSprimitiveFontValues.size.typography.desktop.md,
54
- color: theme.text.neutral.primary,
55
- },
56
-
57
- sm: {
58
- fontFamily: CDSprimitiveFontValues.family.interRegular,
59
- fontSize: isMobile
60
- ? CDSprimitiveFontValues.size.typography.mobile.sm
61
- : CDSprimitiveFontValues.size.typography.desktop.sm,
62
- color: theme.text.neutral.primary,
63
- },
64
-
65
- xs: {
66
- fontFamily: CDSprimitiveFontValues.family.interRegular,
67
- fontSize: isMobile
68
- ? CDSprimitiveFontValues.size.typography.mobile.xs
69
- : CDSprimitiveFontValues.size.typography.desktop.xs,
70
- color: theme.text.neutral.primary,
71
- },
72
- },
73
- bold: {
74
- lg: {
75
- fontFamily: CDSprimitiveFontValues.family.interBold,
76
- fontSize: isMobile
77
- ? CDSprimitiveFontValues.size.typography.mobile.lg
78
- : CDSprimitiveFontValues.size.typography.desktop.lg,
79
- color: theme.text.neutral.primary,
80
- },
81
-
82
- md: {
83
- fontFamily: CDSprimitiveFontValues.family.interBold,
84
- fontSize: isMobile
85
- ? CDSprimitiveFontValues.size.typography.mobile.md
86
- : CDSprimitiveFontValues.size.typography.desktop.md,
87
- color: theme.text.neutral.primary,
88
- },
89
-
90
- sm: {
91
- fontFamily: CDSprimitiveFontValues.family.interBold,
92
- fontSize: isMobile
93
- ? CDSprimitiveFontValues.size.typography.mobile.sm
94
- : CDSprimitiveFontValues.size.typography.desktop.sm,
95
- color: theme.text.neutral.primary,
96
- },
97
-
98
- xs: {
99
- fontFamily: CDSprimitiveFontValues.family.interBold,
100
- fontSize: isMobile
101
- ? CDSprimitiveFontValues.size.typography.mobile.xs
102
- : CDSprimitiveFontValues.size.typography.desktop.xs,
103
- color: theme.text.neutral.primary,
104
- },
105
- },
106
- semiBold: {
107
- lg: {
108
- fontFamily: CDSprimitiveFontValues.family.interSemiBold,
109
- fontSize: isMobile
110
- ? CDSprimitiveFontValues.size.typography.mobile.lg
111
- : CDSprimitiveFontValues.size.typography.desktop.lg,
112
- color: theme.text.neutral.primary,
113
- },
114
-
115
- md: {
116
- fontFamily: CDSprimitiveFontValues.family.interSemiBold,
117
- fontSize: isMobile
118
- ? CDSprimitiveFontValues.size.typography.mobile.md
119
- : CDSprimitiveFontValues.size.typography.desktop.md,
120
- color: theme.text.neutral.primary,
121
- },
122
-
123
- sm: {
124
- fontFamily: CDSprimitiveFontValues.family.interSemiBold,
125
- fontSize: isMobile
126
- ? CDSprimitiveFontValues.size.typography.mobile.sm
127
- : CDSprimitiveFontValues.size.typography.desktop.sm,
128
- color: theme.text.neutral.primary,
129
- },
130
-
131
- xs: {
132
- fontFamily: CDSprimitiveFontValues.family.interSemiBold,
133
- fontSize: isMobile
134
- ? CDSprimitiveFontValues.size.typography.mobile.xs
135
- : CDSprimitiveFontValues.size.typography.desktop.xs,
136
- color: theme.text.neutral.primary,
137
- },
138
- },
139
-
140
- label: {
141
- fontFamily: CDSprimitiveFontValues.family.interSemiBold,
142
- fontSize: isMobile
143
- ? CDSprimitiveFontValues.size.typography.mobile.sm
144
- : CDSprimitiveFontValues.size.typography.desktop.sm,
145
- color: theme.text.neutral.primary,
146
- lineHeight: isMobile
147
- ? CDSprimitiveFontValues.lineHeight.mobile.sm
148
- : CDSprimitiveFontValues.lineHeight.desktop.sm,
149
- },
150
- inputText: {
151
- placeholder: {
152
- fontFamily: CDSprimitiveFontValues.family.interRegular,
153
- fontSize: isMobile
154
- ? CDSprimitiveFontValues.size.typography.mobile.md
155
- : CDSprimitiveFontValues.size.typography.desktop.md,
156
- color: theme.text.neutral.placeholder,
4
+
5
+
6
+ export const getSemanticTextStyles = (theme, isMobile) => {
7
+ // Función de ayuda corregida
8
+ const getVal = (category, size) => {
9
+ // category puede ser 'size' o 'lineHeight'
10
+ const platform = isMobile ? 'mobile' : 'desktop';
11
+
12
+ // Si buscamos tamaños de letra, la ruta es: size.typography.plataforma.size
13
+ if (category === 'size') {
14
+ return CDSprimitiveFontValues.size.typography[platform][size];
15
+ }
16
+
17
+ // Si buscamos interlineado, la ruta es: lineHeight.plataforma.size
18
+ if (category === 'lineHeight') {
19
+ return CDSprimitiveFontValues.lineHeight[platform][size];
20
+ }
21
+
22
+ // Para iconografía
23
+ if (category === 'icon') {
24
+ return CDSprimitiveFontValues.size.iconography[platform][size];
25
+ }
26
+ };
27
+
28
+ return {
29
+ h1: {
30
+ fontFamily: CDSprimitiveFontValues.family.interBold,
31
+ fontSize: getVal('size', '3xl'),
32
+ lineHeight: getVal('lineHeight', '3xl'),
33
+ color: theme.text.neutral.primary,
157
34
  },
158
- value: {
159
- fontFamily: CDSprimitiveFontValues.family.interRegular,
160
- fontSize: isMobile
161
- ? CDSprimitiveFontValues.size.typography.mobile.md
162
- : CDSprimitiveFontValues.size.typography.desktop.md,
35
+ h2: {
36
+ fontFamily: CDSprimitiveFontValues.family.interBold,
37
+ fontSize: getVal('size', '2xl'),
38
+ lineHeight: getVal('lineHeight', '2xl'),
163
39
  color: theme.text.neutral.primary,
164
40
  },
165
- },
166
-
167
- link: {
168
- regular: {
41
+ h3: {
169
42
  fontFamily: CDSprimitiveFontValues.family.interBold,
170
- fontSize: isMobile
171
- ? CDSprimitiveFontValues.size.typography.mobile.md
172
- : CDSprimitiveFontValues.size.typography.desktop.md,
43
+ fontSize: getVal('size', 'xl'),
44
+ lineHeight: getVal('lineHeight', 'xl'),
173
45
  color: theme.text.neutral.primary,
174
- textDecorationLine: "underline",
175
46
  },
176
- small: {
47
+ h4: {
177
48
  fontFamily: CDSprimitiveFontValues.family.interBold,
178
- fontSize: isMobile
179
- ? CDSprimitiveFontValues.size.typography.mobile.sm
180
- : CDSprimitiveFontValues.size.typography.desktop.sm,
49
+ fontSize: getVal('size', 'lg'),
50
+ lineHeight: getVal('lineHeight', 'lg'),
181
51
  color: theme.text.neutral.primary,
182
- textDecorationLine: "underline",
183
52
  },
184
- },
185
-
186
- buttonText: {
187
- fontFamily: CDSprimitiveFontValues.family.interBold,
188
- fontSize: isMobile
189
- ? CDSprimitiveFontValues.size.typography.mobile.md
190
- : CDSprimitiveFontValues.size.typography.desktop.md,
191
- },
192
-
193
- icon: {
194
- fontSize: isMobile
195
- ? CDSprimitiveFontValues.size.iconography.mobile.sm
196
- : CDSprimitiveFontValues.size.iconography.desktop.sm,
197
- },
198
-
199
- highlightText: {
200
- color: theme.text.brand.primary,
201
- },
202
- // h5: {
203
- // fontFamily: primitiveFontValues.family.interBold,
204
- // fontSize: isMobile ? primitiveFontValues.size.typography.mobile.md : primitiveFontValues.size.typography.desktop.md,
205
- // },
206
- // h6: {
207
- // fontFamily: primitiveFontValues.family.interBold,
208
- // fontSize: isMobile ? primitiveFontValues.size.typography.mobile.sm : primitiveFontValues.size.typography.desktop.sm,
209
- // },
210
- });
53
+
54
+ regular: {
55
+ lg: {
56
+ fontFamily: CDSprimitiveFontValues.family.interRegular,
57
+ fontSize: getVal('size', 'lg'),
58
+ lineHeight: getVal('lineHeight', 'lg'),
59
+ color: theme.text.neutral.primary,
60
+ },
61
+ md: {
62
+ fontFamily: CDSprimitiveFontValues.family.interRegular,
63
+ fontSize: getVal('size', 'md'),
64
+ lineHeight: getVal('lineHeight', 'md'),
65
+ color: theme.text.neutral.primary,
66
+ },
67
+ sm: {
68
+ fontFamily: CDSprimitiveFontValues.family.interRegular,
69
+ fontSize: getVal('size', 'sm'),
70
+ lineHeight: getVal('lineHeight', 'xs'), // Usando xs ya que sm no estaba en tu lista
71
+ color: theme.text.neutral.primary,
72
+ },
73
+ xs: {
74
+ fontFamily: CDSprimitiveFontValues.family.interRegular,
75
+ fontSize: getVal('size', 'xs'),
76
+ lineHeight: getVal('lineHeight', 'xs'),
77
+ color: theme.text.neutral.primary,
78
+ },
79
+ },
80
+
81
+ bold: {
82
+ lg: {
83
+ fontFamily: CDSprimitiveFontValues.family.interBold,
84
+ fontSize: getVal('size', 'lg'),
85
+ lineHeight: getVal('lineHeight', 'lg'),
86
+ color: theme.text.neutral.primary,
87
+ },
88
+ md: {
89
+ fontFamily: CDSprimitiveFontValues.family.interBold,
90
+ fontSize: getVal('size', 'md'),
91
+ lineHeight: getVal('lineHeight', 'md'),
92
+ color: theme.text.neutral.primary,
93
+ },
94
+ sm: {
95
+ fontFamily: CDSprimitiveFontValues.family.interBold,
96
+ fontSize: getVal('size', 'sm'),
97
+ lineHeight: getVal('lineHeight', 'xs'),
98
+ color: theme.text.neutral.primary,
99
+ },
100
+ xs: {
101
+ fontFamily: CDSprimitiveFontValues.family.interBold,
102
+ fontSize: getVal('size', 'xs'),
103
+ lineHeight: getVal('lineHeight', 'xs'),
104
+ color: theme.text.neutral.primary,
105
+ },
106
+ },
107
+
108
+ semiBold: {
109
+ lg: {
110
+ fontFamily: CDSprimitiveFontValues.family.interSemiBold,
111
+ fontSize: getVal('size', 'lg'),
112
+ lineHeight: getVal('lineHeight', 'lg'),
113
+ color: theme.text.neutral.primary,
114
+ },
115
+ md: {
116
+ fontFamily: CDSprimitiveFontValues.family.interSemiBold,
117
+ fontSize: getVal('size', 'md'),
118
+ lineHeight: getVal('lineHeight', 'md'),
119
+ color: theme.text.neutral.primary,
120
+ },
121
+ sm: {
122
+ fontFamily: CDSprimitiveFontValues.family.interSemiBold,
123
+ fontSize: getVal('size', 'sm'),
124
+ lineHeight: getVal('lineHeight', 'sm'),
125
+ color: theme.text.neutral.primary,
126
+ },
127
+ xs: {
128
+ fontFamily: CDSprimitiveFontValues.family.interSemiBold,
129
+ fontSize: getVal('size', 'xs'),
130
+ lineHeight: getVal('lineHeight', 'xs'),
131
+ color: theme.text.neutral.primary,
132
+ },
133
+ },
134
+
135
+ label: {
136
+ fontFamily: CDSprimitiveFontValues.family.interSemiBold,
137
+ fontSize: getVal('size', 'sm'),
138
+ lineHeight: getVal('lineHeight', 'sm'),
139
+ color: theme.text.neutral.primary,
140
+ },
141
+
142
+ inputText: {
143
+ placeholder: {
144
+ fontFamily: CDSprimitiveFontValues.family.interRegular,
145
+ fontSize: getVal('size', 'sm'),
146
+ lineHeight: getVal('lineHeight', 'sm'),
147
+ color: theme.text.neutral.placeholder,
148
+ },
149
+ value: {
150
+ fontFamily: CDSprimitiveFontValues.family.interRegular,
151
+ fontSize: getVal('size', 'sm'),
152
+ lineHeight: getVal('lineHeight', 'sm'),
153
+ color: theme.text.neutral.primary,
154
+ },
155
+ },
156
+
157
+ link: {
158
+ regular: {
159
+ fontFamily: CDSprimitiveFontValues.family.interBold,
160
+ fontSize: getVal('size', 'md'),
161
+ lineHeight: getVal('lineHeight', 'md'),
162
+ color: theme.text.neutral.primary,
163
+ textDecorationLine: "underline",
164
+ },
165
+ small: {
166
+ fontFamily: CDSprimitiveFontValues.family.interBold,
167
+ fontSize: getVal('size', 'sm'),
168
+ lineHeight: getVal('lineHeight', 'sm'),
169
+ color: theme.text.neutral.primary,
170
+ textDecorationLine: "underline",
171
+ },
172
+ },
173
+
174
+ buttonText: {
175
+ fontFamily: CDSprimitiveFontValues.family.interBold,
176
+ fontSize: getVal('size', 'md'),
177
+ lineHeight: getVal('lineHeight', 'md'),
178
+ },
179
+
180
+ icon: {
181
+ xs: getVal('size', 'xs'),
182
+ sm: getVal('size', 'sm'),
183
+ md: getVal('size', 'md'),
184
+ lg: getVal('size', 'lg'),
185
+ },
186
+ highlightText: {
187
+ color: theme.text.brand.primary,
188
+ },
189
+ // h5: {
190
+ // fontFamily: primitiveFontValues.family.interBold,
191
+ // fontSize: isMobile ? primitiveFontValues.size.typography.mobile.md : primitiveFontValues.size.typography.desktop.md,
192
+ // },
193
+ // h6: {
194
+ // fontFamily: primitiveFontValues.family.interBold,
195
+ // fontSize: isMobile ? primitiveFontValues.size.typography.mobile.sm : primitiveFontValues.size.typography.desktop.sm,
196
+ // },
197
+ }
198
+ }
211
199
 
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
@@ -1,22 +0,0 @@
1
- // slides.js
2
- export const getSlides = (isDarkMode) => [
3
- {
4
- id: 'slide1',
5
- title: "Tus boletas en un solo lugar",
6
- description: "Conoce el estado general de tus boletas y dales seguimiento desde la aplicación.",
7
- image: isDarkMode ? require("./image1D.png") : require("./image1.png")
8
- },
9
- {
10
- id: 'slide2',
11
- title: "Realiza tus pagos",
12
- description: "Puedes refrendar o pagar tus desempeños con diferentes métodos de pago.",
13
- image: isDarkMode ? require("./image2D.png") : require("./image2.png")
14
- },
15
- {
16
- id: 'slide3',
17
- title: "Tu eliges cuánto pagar",
18
- description: "Puedes elegir la cantidad que deseas pagar en tus boletas.",
19
- // Revisa que el uso de imágenes sea correcto según el modo:
20
- image: isDarkMode ? require("./image3D.png") : require("./image3.png")
21
- }
22
- ];