aport-tools 4.4.23 → 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 +46 -34
- package/dist/index.esm.js.map +1 -1
- package/dist/index.js +46 -34
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.esm.js
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
/*! aport-tools v4.4.
|
1
|
+
/*! aport-tools v4.4.24 | ISC */
|
2
2
|
import React, { useContext, useState, createContext, useRef, useEffect, useMemo, useCallback } from 'react';
|
3
3
|
import { StyleSheet, Text as Text$1, Animated, View, TouchableOpacity, Image, TextInput, Modal, Pressable, FlatList, Keyboard, Platform, Alert, ActivityIndicator } from 'react-native';
|
4
4
|
import { ThemeContext } from 'aport-themes';
|
@@ -518,17 +518,19 @@ var Input = function Input(_a) {
|
|
518
518
|
label = _a.label,
|
519
519
|
inputType = _a.inputType,
|
520
520
|
firstValue = _a.firstValue,
|
521
|
+
_b = _a.editable,
|
522
|
+
editable = _b === void 0 ? true : _b,
|
521
523
|
style = _a.style,
|
522
|
-
rest = __rest(_a, ["name", "label", "inputType", "firstValue", "style"]);
|
523
|
-
var
|
524
|
-
formValues =
|
525
|
-
setFormValue =
|
526
|
-
formErrors =
|
524
|
+
rest = __rest(_a, ["name", "label", "inputType", "firstValue", "editable", "style"]);
|
525
|
+
var _c = useFormContext(),
|
526
|
+
formValues = _c.formValues,
|
527
|
+
setFormValue = _c.setFormValue,
|
528
|
+
formErrors = _c.errors;
|
527
529
|
var theme = useContext(ThemeContext).theme;
|
528
530
|
var colors = theme.colors;
|
529
|
-
var
|
530
|
-
internalValue =
|
531
|
-
setInternalValue =
|
531
|
+
var _d = useState(""),
|
532
|
+
internalValue = _d[0],
|
533
|
+
setInternalValue = _d[1];
|
532
534
|
var isFirstRender = useRef(true); // Track the first render
|
533
535
|
// Initialize the internal value when `firstValue` changes or on first render
|
534
536
|
useEffect(function () {
|
@@ -589,6 +591,7 @@ var Input = function Input(_a) {
|
|
589
591
|
value: internalValue,
|
590
592
|
onChangeText: handleChange,
|
591
593
|
placeholder: label,
|
594
|
+
editable: editable,
|
592
595
|
placeholderTextColor: colors.placeHolder.hex
|
593
596
|
}, rest)), formErrors[name] && formErrors[name].length > 0 && (/*#__PURE__*/React.createElement(ErrorList, {
|
594
597
|
errors: formErrors[name]
|
@@ -616,26 +619,32 @@ var TextArea = function TextArea(_a) {
|
|
616
619
|
label = _a.label;
|
617
620
|
_a.errors;
|
618
621
|
var firstValue = _a.firstValue,
|
622
|
+
_b = _a.editable,
|
623
|
+
editable = _b === void 0 ? true : _b,
|
619
624
|
style = _a.style,
|
620
|
-
rest = __rest(_a, ["name", "label", "errors", "firstValue", "style"]);
|
621
|
-
var
|
622
|
-
formValues =
|
623
|
-
setFormValue =
|
624
|
-
formErrors =
|
625
|
+
rest = __rest(_a, ["name", "label", "errors", "firstValue", "editable", "style"]);
|
626
|
+
var _c = useFormContext(),
|
627
|
+
formValues = _c.formValues,
|
628
|
+
setFormValue = _c.setFormValue,
|
629
|
+
formErrors = _c.errors;
|
625
630
|
var theme = useContext(ThemeContext).theme;
|
626
631
|
var colors = theme.colors;
|
627
|
-
var
|
628
|
-
internalValue =
|
629
|
-
setInternalValue =
|
630
|
-
|
632
|
+
var _d = useState(""),
|
633
|
+
internalValue = _d[0],
|
634
|
+
setInternalValue = _d[1];
|
635
|
+
var isFirstRender = useRef(true); // Track the first render
|
636
|
+
// Initialize the internal value when `firstValue` changes or on first render
|
631
637
|
useEffect(function () {
|
632
|
-
if (
|
633
|
-
|
634
|
-
|
635
|
-
|
636
|
-
|
638
|
+
if (isFirstRender.current) {
|
639
|
+
isFirstRender.current = false;
|
640
|
+
if (firstValue !== undefined) {
|
641
|
+
setInternalValue(firstValue);
|
642
|
+
setFormValue(name, firstValue);
|
643
|
+
} else {
|
644
|
+
setInternalValue(formValues[name] || "");
|
645
|
+
}
|
637
646
|
}
|
638
|
-
}, [firstValue
|
647
|
+
}, [firstValue]);
|
639
648
|
var handleChange = function handleChange(text) {
|
640
649
|
setInternalValue(text);
|
641
650
|
setFormValue(name, text);
|
@@ -657,6 +666,7 @@ var TextArea = function TextArea(_a) {
|
|
657
666
|
placeholder: label,
|
658
667
|
placeholderTextColor: colors.placeHolder.hex,
|
659
668
|
multiline: true,
|
669
|
+
editable: editable,
|
660
670
|
numberOfLines: 4,
|
661
671
|
textAlignVertical: "top"
|
662
672
|
}, rest)), formErrors[name] && formErrors[name].length > 0 && (/*#__PURE__*/React.createElement(ErrorList, {
|
@@ -760,16 +770,21 @@ var InputList = function InputList(_a) {
|
|
760
770
|
var _l = useState(multi ? initialSelections : initialSelections[0] || null),
|
761
771
|
selectedOptions = _l[0],
|
762
772
|
setSelectedOptions = _l[1];
|
763
|
-
// Update form value
|
773
|
+
// Update form value when firstValue changes
|
764
774
|
useEffect(function () {
|
765
|
-
if (
|
766
|
-
setSelectedOptions(
|
775
|
+
if (multi) {
|
776
|
+
setSelectedOptions(initialSelections);
|
777
|
+
setFormValue(name, initialSelections);
|
778
|
+
} else {
|
779
|
+
var singleValue = initialSelections[0] || null;
|
780
|
+
setSelectedOptions(singleValue);
|
781
|
+
setFormValue(name, singleValue);
|
767
782
|
}
|
768
|
-
}, [firstValue,
|
783
|
+
}, [firstValue, multi, initialSelections]);
|
784
|
+
// Handle option selection
|
769
785
|
var handleSelectOption = function handleSelectOption(option) {
|
770
786
|
var updatedSelections;
|
771
787
|
if (multi) {
|
772
|
-
// Ensure selectedOptions is treated as an array
|
773
788
|
var selectedArray = Array.isArray(selectedOptions) ? selectedOptions : [];
|
774
789
|
var alreadySelected = selectedArray.some(function (opt) {
|
775
790
|
return opt.id === option.id;
|
@@ -782,15 +797,12 @@ var InputList = function InputList(_a) {
|
|
782
797
|
}
|
783
798
|
setFormValue(name, updatedSelections);
|
784
799
|
} else {
|
785
|
-
// Handle single-selection case
|
786
800
|
updatedSelections = option;
|
787
801
|
setFormValue(name, option);
|
788
802
|
if (closeOnSelect) setIsDropdownVisible(false);
|
789
803
|
}
|
790
|
-
|
791
|
-
if (onChange)
|
792
|
-
onChange(updatedSelections);
|
793
|
-
}
|
804
|
+
setSelectedOptions(updatedSelections);
|
805
|
+
if (onChange) onChange(updatedSelections);
|
794
806
|
};
|
795
807
|
var isItemDisabled = function isItemDisabled(option) {
|
796
808
|
if (!multi) return false; // Disable check only applies for multi-select
|