aport-tools 4.4.4 → 4.4.6
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/forms/FormContext.d.ts +1 -0
- package/dist/index.esm.js +54 -6
- package/dist/index.esm.js.map +1 -1
- package/dist/index.js +54 -6
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
/*! aport-tools v4.4.
|
1
|
+
/*! aport-tools v4.4.6 | ISC */
|
2
2
|
'use strict';
|
3
3
|
|
4
4
|
var React = require('react');
|
@@ -196,7 +196,7 @@ var Stepper = function Stepper(_a) {
|
|
196
196
|
currentStep = _a.currentStep,
|
197
197
|
_b = _a.presseable,
|
198
198
|
presseable = _b === void 0 ? false : _b,
|
199
|
-
|
199
|
+
onPress = _a.onPress,
|
200
200
|
_c = _a.stepStyle,
|
201
201
|
stepStyle = _c === void 0 ? "circular" : _c,
|
202
202
|
totalSteps = _a.totalSteps,
|
@@ -206,6 +206,37 @@ var Stepper = function Stepper(_a) {
|
|
206
206
|
var progressAnim = React.useRef(new reactNative.Animated.Value(0)).current;
|
207
207
|
var theme = React.useContext(aportThemes.ThemeContext).theme;
|
208
208
|
var colors = theme.colors;
|
209
|
+
var _e = useFormContext(),
|
210
|
+
formValues = _e.formValues,
|
211
|
+
handleFormSubmit = _e.handleFormSubmit;
|
212
|
+
var _f = React.useState(false),
|
213
|
+
errorBack = _f[0],
|
214
|
+
seterrorBack = _f[1];
|
215
|
+
var handleStepPress = function handleStepPress(stepIndex) {
|
216
|
+
return __awaiter(void 0, void 0, void 0, function () {
|
217
|
+
var errors;
|
218
|
+
return __generator(this, function (_a) {
|
219
|
+
switch (_a.label) {
|
220
|
+
case 0:
|
221
|
+
if (!presseable || stepIndex === currentStep) return [2 /*return*/];
|
222
|
+
if (!(stepIndex > currentStep)) return [3 /*break*/, 2];
|
223
|
+
return [4 /*yield*/, handleFormSubmit(formValues)];
|
224
|
+
case 1:
|
225
|
+
errors = _a.sent();
|
226
|
+
if (Object.keys(errors).length > 0) {
|
227
|
+
console.log("Validation failed. Cannot proceed to step", stepIndex);
|
228
|
+
seterrorBack(true);
|
229
|
+
return [2 /*return*/]; // Prevent step change
|
230
|
+
}
|
231
|
+
_a.label = 2;
|
232
|
+
case 2:
|
233
|
+
// Proceed to change step
|
234
|
+
onPress === null || onPress === void 0 ? void 0 : onPress(stepIndex);
|
235
|
+
return [2 /*return*/];
|
236
|
+
}
|
237
|
+
});
|
238
|
+
});
|
239
|
+
};
|
209
240
|
React.useEffect(function () {
|
210
241
|
reactNative.Animated.timing(progressAnim, {
|
211
242
|
toValue: currentStep,
|
@@ -292,11 +323,11 @@ var Stepper = function Stepper(_a) {
|
|
292
323
|
}],
|
293
324
|
disabled: !presseable,
|
294
325
|
onPress: function onPress() {
|
295
|
-
return
|
326
|
+
return handleStepPress(index);
|
296
327
|
}
|
297
328
|
}, /*#__PURE__*/React.createElement(reactNative.View, {
|
298
329
|
style: [styles$9.step, stepStyle === "square" && styles$9.squareStep, {
|
299
|
-
backgroundColor: currentStep >= index ? colors.primary.hex : colors.body.hex
|
330
|
+
backgroundColor: !errorBack ? currentStep >= index ? colors.primary.hex : colors.body.hex : colors.error.hex
|
300
331
|
}]
|
301
332
|
}, renderStepContent(index)), steps && /*#__PURE__*/React.createElement(Text, {
|
302
333
|
style: styles$9.stepText
|
@@ -409,13 +440,29 @@ var Form = function Form(_a) {
|
|
409
440
|
});
|
410
441
|
});
|
411
442
|
};
|
443
|
+
var handleFormSubmit = function handleFormSubmit(formValues) {
|
444
|
+
return __awaiter(void 0, void 0, void 0, function () {
|
445
|
+
var validationErrors;
|
446
|
+
return __generator(this, function (_a) {
|
447
|
+
switch (_a.label) {
|
448
|
+
case 0:
|
449
|
+
return [4 /*yield*/, onSubmit(formValues)];
|
450
|
+
case 1:
|
451
|
+
validationErrors = _a.sent();
|
452
|
+
setErrors(validationErrors);
|
453
|
+
return [2 /*return*/, validationErrors];
|
454
|
+
}
|
455
|
+
});
|
456
|
+
});
|
457
|
+
};
|
412
458
|
return /*#__PURE__*/React.createElement(FormContext.Provider, {
|
413
459
|
value: {
|
414
460
|
formValues: formValues,
|
415
461
|
setFormValue: setFormValue,
|
416
462
|
errors: errors,
|
417
463
|
setErrors: setErrors,
|
418
|
-
handleSubmit: handleSubmit
|
464
|
+
handleSubmit: handleSubmit,
|
465
|
+
handleFormSubmit: handleFormSubmit
|
419
466
|
}
|
420
467
|
}, stepper && (/*#__PURE__*/React.createElement(Stepper, {
|
421
468
|
steps: stepper.steps,
|
@@ -424,7 +471,8 @@ var Form = function Form(_a) {
|
|
424
471
|
onPress: stepper.onPress,
|
425
472
|
totalSteps: stepper.totalSteps,
|
426
473
|
stepType: stepper.stepType,
|
427
|
-
icon: stepper.icon
|
474
|
+
icon: stepper.icon,
|
475
|
+
stepStyle: stepper.stepStyle
|
428
476
|
})), children);
|
429
477
|
};
|
430
478
|
|