aport-tools 4.4.22 → 4.4.24
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.esm.js +58 -42
- package/dist/index.esm.js.map +1 -1
- package/dist/index.js +57 -41
- 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.24 | ISC */
|
2
2
|
'use strict';
|
3
3
|
|
4
4
|
var React = require('react');
|
@@ -539,26 +539,32 @@ var Input = function Input(_a) {
|
|
539
539
|
label = _a.label,
|
540
540
|
inputType = _a.inputType,
|
541
541
|
firstValue = _a.firstValue,
|
542
|
+
_b = _a.editable,
|
543
|
+
editable = _b === void 0 ? true : _b,
|
542
544
|
style = _a.style,
|
543
|
-
rest = __rest(_a, ["name", "label", "inputType", "firstValue", "style"]);
|
544
|
-
var
|
545
|
-
formValues =
|
546
|
-
setFormValue =
|
547
|
-
formErrors =
|
545
|
+
rest = __rest(_a, ["name", "label", "inputType", "firstValue", "editable", "style"]);
|
546
|
+
var _c = useFormContext(),
|
547
|
+
formValues = _c.formValues,
|
548
|
+
setFormValue = _c.setFormValue,
|
549
|
+
formErrors = _c.errors;
|
548
550
|
var theme = React.useContext(aportThemes.ThemeContext).theme;
|
549
551
|
var colors = theme.colors;
|
550
|
-
var
|
551
|
-
internalValue =
|
552
|
-
setInternalValue =
|
553
|
-
|
552
|
+
var _d = React.useState(""),
|
553
|
+
internalValue = _d[0],
|
554
|
+
setInternalValue = _d[1];
|
555
|
+
var isFirstRender = React.useRef(true); // Track the first render
|
556
|
+
// Initialize the internal value when `firstValue` changes or on first render
|
554
557
|
React.useEffect(function () {
|
555
|
-
if (
|
556
|
-
|
557
|
-
|
558
|
-
|
559
|
-
|
558
|
+
if (isFirstRender.current) {
|
559
|
+
isFirstRender.current = false;
|
560
|
+
if (firstValue !== undefined) {
|
561
|
+
setInternalValue(firstValue);
|
562
|
+
setFormValue(name, firstValue);
|
563
|
+
} else {
|
564
|
+
setInternalValue(formValues[name] || "");
|
565
|
+
}
|
560
566
|
}
|
561
|
-
}, [firstValue
|
567
|
+
}, [firstValue]); // Only re-run if `firstValue` changes
|
562
568
|
/**
|
563
569
|
* Handles text changes in the input field, applying formatting based on the inputType.
|
564
570
|
*
|
@@ -606,6 +612,7 @@ var Input = function Input(_a) {
|
|
606
612
|
value: internalValue,
|
607
613
|
onChangeText: handleChange,
|
608
614
|
placeholder: label,
|
615
|
+
editable: editable,
|
609
616
|
placeholderTextColor: colors.placeHolder.hex
|
610
617
|
}, rest)), formErrors[name] && formErrors[name].length > 0 && (/*#__PURE__*/React.createElement(ErrorList, {
|
611
618
|
errors: formErrors[name]
|
@@ -633,26 +640,32 @@ var TextArea = function TextArea(_a) {
|
|
633
640
|
label = _a.label;
|
634
641
|
_a.errors;
|
635
642
|
var firstValue = _a.firstValue,
|
643
|
+
_b = _a.editable,
|
644
|
+
editable = _b === void 0 ? true : _b,
|
636
645
|
style = _a.style,
|
637
|
-
rest = __rest(_a, ["name", "label", "errors", "firstValue", "style"]);
|
638
|
-
var
|
639
|
-
formValues =
|
640
|
-
setFormValue =
|
641
|
-
formErrors =
|
646
|
+
rest = __rest(_a, ["name", "label", "errors", "firstValue", "editable", "style"]);
|
647
|
+
var _c = useFormContext(),
|
648
|
+
formValues = _c.formValues,
|
649
|
+
setFormValue = _c.setFormValue,
|
650
|
+
formErrors = _c.errors;
|
642
651
|
var theme = React.useContext(aportThemes.ThemeContext).theme;
|
643
652
|
var colors = theme.colors;
|
644
|
-
var
|
645
|
-
internalValue =
|
646
|
-
setInternalValue =
|
647
|
-
|
653
|
+
var _d = React.useState(""),
|
654
|
+
internalValue = _d[0],
|
655
|
+
setInternalValue = _d[1];
|
656
|
+
var isFirstRender = React.useRef(true); // Track the first render
|
657
|
+
// Initialize the internal value when `firstValue` changes or on first render
|
648
658
|
React.useEffect(function () {
|
649
|
-
if (
|
650
|
-
|
651
|
-
|
652
|
-
|
653
|
-
|
659
|
+
if (isFirstRender.current) {
|
660
|
+
isFirstRender.current = false;
|
661
|
+
if (firstValue !== undefined) {
|
662
|
+
setInternalValue(firstValue);
|
663
|
+
setFormValue(name, firstValue);
|
664
|
+
} else {
|
665
|
+
setInternalValue(formValues[name] || "");
|
666
|
+
}
|
654
667
|
}
|
655
|
-
}, [firstValue
|
668
|
+
}, [firstValue]);
|
656
669
|
var handleChange = function handleChange(text) {
|
657
670
|
setInternalValue(text);
|
658
671
|
setFormValue(name, text);
|
@@ -674,6 +687,7 @@ var TextArea = function TextArea(_a) {
|
|
674
687
|
placeholder: label,
|
675
688
|
placeholderTextColor: colors.placeHolder.hex,
|
676
689
|
multiline: true,
|
690
|
+
editable: editable,
|
677
691
|
numberOfLines: 4,
|
678
692
|
textAlignVertical: "top"
|
679
693
|
}, rest)), formErrors[name] && formErrors[name].length > 0 && (/*#__PURE__*/React.createElement(ErrorList, {
|
@@ -777,16 +791,21 @@ var InputList = function InputList(_a) {
|
|
777
791
|
var _l = React.useState(multi ? initialSelections : initialSelections[0] || null),
|
778
792
|
selectedOptions = _l[0],
|
779
793
|
setSelectedOptions = _l[1];
|
780
|
-
// Update form value
|
794
|
+
// Update form value when firstValue changes
|
781
795
|
React.useEffect(function () {
|
782
|
-
if (
|
783
|
-
setSelectedOptions(
|
796
|
+
if (multi) {
|
797
|
+
setSelectedOptions(initialSelections);
|
798
|
+
setFormValue(name, initialSelections);
|
799
|
+
} else {
|
800
|
+
var singleValue = initialSelections[0] || null;
|
801
|
+
setSelectedOptions(singleValue);
|
802
|
+
setFormValue(name, singleValue);
|
784
803
|
}
|
785
|
-
}, [firstValue,
|
804
|
+
}, [firstValue, multi, initialSelections]);
|
805
|
+
// Handle option selection
|
786
806
|
var handleSelectOption = function handleSelectOption(option) {
|
787
807
|
var updatedSelections;
|
788
808
|
if (multi) {
|
789
|
-
// Ensure selectedOptions is treated as an array
|
790
809
|
var selectedArray = Array.isArray(selectedOptions) ? selectedOptions : [];
|
791
810
|
var alreadySelected = selectedArray.some(function (opt) {
|
792
811
|
return opt.id === option.id;
|
@@ -799,15 +818,12 @@ var InputList = function InputList(_a) {
|
|
799
818
|
}
|
800
819
|
setFormValue(name, updatedSelections);
|
801
820
|
} else {
|
802
|
-
// Handle single-selection case
|
803
821
|
updatedSelections = option;
|
804
822
|
setFormValue(name, option);
|
805
823
|
if (closeOnSelect) setIsDropdownVisible(false);
|
806
824
|
}
|
807
|
-
|
808
|
-
if (onChange)
|
809
|
-
onChange(updatedSelections);
|
810
|
-
}
|
825
|
+
setSelectedOptions(updatedSelections);
|
826
|
+
if (onChange) onChange(updatedSelections);
|
811
827
|
};
|
812
828
|
var isItemDisabled = function isItemDisabled(option) {
|
813
829
|
if (!multi) return false; // Disable check only applies for multi-select
|