tonder-web-sdk 1.9.2-beta.2 → 1.9.2-beta.4

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "tonder-web-sdk",
3
- "version": "1.9.2-beta.2",
3
+ "version": "1.9.2-beta.4",
4
4
  "description": "tonder sdk for integrations",
5
5
  "main": "src/index.js",
6
6
  "scripts": {
@@ -74,7 +74,8 @@ export async function initSkyflow(
74
74
 
75
75
  handleSkyflowElementEvents(
76
76
  cardHolderNameElement,
77
- "titular de la tarjeta"
77
+ "titular de la tarjeta",
78
+ collectStylesOptions.errorTextStyles
78
79
  );
79
80
 
80
81
  // Create collect elements.
@@ -94,7 +95,8 @@ export async function initSkyflow(
94
95
 
95
96
  handleSkyflowElementEvents(
96
97
  cardNumberElement,
97
- "número de tarjeta"
98
+ "número de tarjeta",
99
+ collectStylesOptions.errorTextStyles
98
100
  );
99
101
 
100
102
  const cvvElement = await collectContainer.create({
@@ -109,7 +111,8 @@ export async function initSkyflow(
109
111
 
110
112
  handleSkyflowElementEvents(
111
113
  cvvElement,
112
- ""
114
+ "",
115
+ collectStylesOptions.errorTextStyles
113
116
  );
114
117
 
115
118
  const expiryMonthElement = await collectContainer.create({
@@ -124,10 +127,10 @@ export async function initSkyflow(
124
127
 
125
128
  handleSkyflowElementEvents(
126
129
  expiryMonthElement,
127
- ""
130
+ "",
131
+ collectStylesOptions.errorTextStyles
128
132
  );
129
133
 
130
-
131
134
  const expiryYearElement = await collectContainer.create({
132
135
  table: "cards",
133
136
  column: "expiration_year",
@@ -141,7 +144,7 @@ export async function initSkyflow(
141
144
  handleSkyflowElementEvents(
142
145
  expiryYearElement,
143
146
  "",
144
- false
147
+ collectStylesOptions.errorTextStyles
145
148
  );
146
149
 
147
150
  await mountElements(
@@ -179,25 +182,43 @@ async function mountElements(
179
182
  }
180
183
 
181
184
 
182
- function handleSkyflowElementEvents(element, fieldMessage= "", resetOnFocus = true, requiredMessage = "El campo es requerido", invalidMessage= "El campo es inválido") {
185
+ function handleSkyflowElementEvents(element, fieldMessage= "", error_styles = {}, resetOnFocus = true, requiredMessage = "El campo es requerido", invalidMessage= "El campo es inválido") {
183
186
  if ("on" in element) {
184
187
  element.on(Skyflow.EventName.CHANGE, (state) => {
185
- if (state.isValid && !state.isEmpty) {
186
- element.resetError();
187
- }
188
+ // console.log("state chan:", state)
189
+ updateErrorLabel(element, error_styles, "transparent")
190
+ // if(state.isValid && !state.isEmpty){
191
+ // element.resetError();
192
+ // }
188
193
  });
189
194
 
190
195
  element.on(Skyflow.EventName.BLUR, (state) => {
196
+ console.log("state blur:", state)
191
197
  if (!state.isValid) {
192
198
  const msj_error = state.isEmpty ? requiredMessage : fieldMessage != "" ?`El campo ${fieldMessage} es inválido`: invalidMessage;
199
+ // updateErrorLabel(element, error_styles)
193
200
  element.setError(msj_error);
194
201
  }
202
+ updateErrorLabel(element, error_styles)
195
203
  });
196
204
 
197
205
  element.on(Skyflow.EventName.FOCUS, (state) => {
198
- if(resetOnFocus){
199
- element.resetError();
200
- }
206
+ updateErrorLabel(element, error_styles, "transparent")
207
+ element.resetError();
201
208
  });
202
209
  }
210
+ }
211
+
212
+ function updateErrorLabel(element, errorStyles, color = "red" ){
213
+ if(Object.keys(errorStyles).length > 0){
214
+ element.update({
215
+ errorTextStyles: {
216
+ ...errorStyles,
217
+ base: {
218
+ ...errorStyles.base,
219
+ color
220
+ }
221
+ }
222
+ })
223
+ }
203
224
  }