aport-tools 4.4.3 → 4.4.5

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/index.js CHANGED
@@ -1,4 +1,4 @@
1
- /*! aport-tools v4.4.3 | ISC */
1
+ /*! aport-tools v4.4.5 | 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
- _onPress = _a.onPress,
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,30 @@ 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 handleStepPress = function handleStepPress(stepIndex) {
213
+ return __awaiter(void 0, void 0, void 0, function () {
214
+ var errors;
215
+ return __generator(this, function (_a) {
216
+ switch (_a.label) {
217
+ case 0:
218
+ if (!presseable || stepIndex === currentStep) return [2 /*return*/];
219
+ return [4 /*yield*/, handleFormSubmit(formValues)];
220
+ case 1:
221
+ errors = _a.sent();
222
+ if (Object.keys(errors).length > 0) {
223
+ console.log("Validation failed. Cannot proceed to step", stepIndex);
224
+ return [2 /*return*/]; // Prevent step change
225
+ }
226
+ // Proceed to change step
227
+ onPress === null || onPress === void 0 ? void 0 : onPress(stepIndex);
228
+ return [2 /*return*/];
229
+ }
230
+ });
231
+ });
232
+ };
209
233
  React.useEffect(function () {
210
234
  reactNative.Animated.timing(progressAnim, {
211
235
  toValue: currentStep,
@@ -269,10 +293,13 @@ var Stepper = function Stepper(_a) {
269
293
  case "number":
270
294
  default:
271
295
  return /*#__PURE__*/React.createElement(Text, {
272
- style: {
273
- fontSize: 16,
274
- fontWeight: "bold"
275
- }
296
+ b: true,
297
+ typeFont: "primary",
298
+ style: [currentStep >= index ? {
299
+ color: colors.textButton.hex
300
+ } : {
301
+ color: colors.text.hex
302
+ }]
276
303
  }, index + 1);
277
304
  }
278
305
  };
@@ -289,13 +316,11 @@ var Stepper = function Stepper(_a) {
289
316
  }],
290
317
  disabled: !presseable,
291
318
  onPress: function onPress() {
292
- return _onPress && _onPress(index);
319
+ return handleStepPress(index);
293
320
  }
294
321
  }, /*#__PURE__*/React.createElement(reactNative.View, {
295
- style: [styles$9.step, stepStyle === "square" && styles$9.squareStep, currentStep >= index && {
296
- backgroundColor: colors.primary.hex
297
- }, {
298
- backgroundColor: colors.body.hex
322
+ style: [styles$9.step, stepStyle === "square" && styles$9.squareStep, {
323
+ backgroundColor: currentStep >= index ? colors.primary.hex : colors.body.hex
299
324
  }]
300
325
  }, renderStepContent(index)), steps && /*#__PURE__*/React.createElement(Text, {
301
326
  style: styles$9.stepText
@@ -408,22 +433,39 @@ var Form = function Form(_a) {
408
433
  });
409
434
  });
410
435
  };
436
+ var handleFormSubmit = function handleFormSubmit(formValues) {
437
+ return __awaiter(void 0, void 0, void 0, function () {
438
+ var validationErrors;
439
+ return __generator(this, function (_a) {
440
+ switch (_a.label) {
441
+ case 0:
442
+ return [4 /*yield*/, onSubmit(formValues)];
443
+ case 1:
444
+ validationErrors = _a.sent();
445
+ setErrors(validationErrors);
446
+ return [2 /*return*/, validationErrors];
447
+ }
448
+ });
449
+ });
450
+ };
411
451
  return /*#__PURE__*/React.createElement(FormContext.Provider, {
412
452
  value: {
413
453
  formValues: formValues,
414
454
  setFormValue: setFormValue,
415
455
  errors: errors,
416
456
  setErrors: setErrors,
417
- handleSubmit: handleSubmit
457
+ handleSubmit: handleSubmit,
458
+ handleFormSubmit: handleFormSubmit
418
459
  }
419
460
  }, stepper && (/*#__PURE__*/React.createElement(Stepper, {
420
461
  steps: stepper.steps,
421
- currentStep: stepper.step,
462
+ currentStep: stepper.currentStep,
422
463
  presseable: stepper.presseable,
423
464
  onPress: stepper.onPress,
424
465
  totalSteps: stepper.totalSteps,
425
466
  stepType: stepper.stepType,
426
- icon: stepper.icon
467
+ icon: stepper.icon,
468
+ stepStyle: stepper.stepStyle
427
469
  })), children);
428
470
  };
429
471