foxit-component 1.0.5-alpha.10 → 1.0.5-alpha.11
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/es/Input/PhoneInput.d.ts +1 -0
- package/es/Input/PhoneInput.js +14 -13
- package/es/Select/Select.js +3 -1
- package/package.json +1 -1
package/es/Input/PhoneInput.d.ts
CHANGED
|
@@ -14,6 +14,7 @@ export interface PhoneInputProps extends Omit<InputProps, 'addonBefore' | 'value
|
|
|
14
14
|
defaultValue?: PhoneInputFieldValue;
|
|
15
15
|
areaCodeOptions?: AreaCodeOption[];
|
|
16
16
|
flagBaseUrl?: string;
|
|
17
|
+
selectPlaceholder?: string;
|
|
17
18
|
onChange?: (value: PhoneInputValue) => void;
|
|
18
19
|
}
|
|
19
20
|
declare const PhoneInput: React.FC<PhoneInputProps>;
|
package/es/Input/PhoneInput.js
CHANGED
|
@@ -85,7 +85,7 @@ var filterAreaCodeOption = function (candidate, inputValue) {
|
|
|
85
85
|
normalizedDialCode.includes(normalizedKeyword));
|
|
86
86
|
};
|
|
87
87
|
var PhoneAreaCodeSelectBase = function (_a) {
|
|
88
|
-
var options = _a.options, value = _a.value, disabled = _a.disabled, flagBaseUrl = _a.flagBaseUrl, onChange = _a.onChange;
|
|
88
|
+
var options = _a.options, value = _a.value, disabled = _a.disabled, flagBaseUrl = _a.flagBaseUrl, placeholder = _a.placeholder, onChange = _a.onChange;
|
|
89
89
|
var handleChange = useCallback(function (option) {
|
|
90
90
|
var nextOption = option;
|
|
91
91
|
if (!nextOption) {
|
|
@@ -94,12 +94,11 @@ var PhoneAreaCodeSelectBase = function (_a) {
|
|
|
94
94
|
onChange(nextOption);
|
|
95
95
|
}, [onChange]);
|
|
96
96
|
var formatOptionLabel = useCallback(function (option, meta) { return (jsx(AreaCodeOptionLabel, { option: option, flagBaseUrl: flagBaseUrl, isMenu: meta.context === 'menu' })); }, [flagBaseUrl]);
|
|
97
|
-
return (jsx(Select, { className: "foxit-phone-input-select", classNamePrefix: "foxit-phone-input-select", options: options, value: value, onChange: handleChange, isDisabled: disabled, isSearchable: true, showSelectedIcon: false, placeholder:
|
|
97
|
+
return (jsx(Select, { className: "foxit-phone-input-select", classNamePrefix: "foxit-phone-input-select", options: options, value: value || null, onChange: handleChange, isDisabled: disabled, isSearchable: true, showSelectedIcon: false, placeholder: placeholder, filterOption: filterAreaCodeOption, formatOptionLabel: formatOptionLabel, styles: phoneAreaCodeSelectStyles }));
|
|
98
98
|
};
|
|
99
99
|
var PhoneAreaCodeSelect = React.memo(PhoneAreaCodeSelectBase);
|
|
100
100
|
var PhoneInput = function (_a) {
|
|
101
|
-
var _b;
|
|
102
|
-
var value = _a.value, defaultValue = _a.defaultValue, _c = _a.areaCodeOptions, passAreaCodeOptions = _c === void 0 ? areaCodeOptions : _c, flagBaseUrl = _a.flagBaseUrl, onChange = _a.onChange, className = _a.className, rest = __rest(_a, ["value", "defaultValue", "areaCodeOptions", "flagBaseUrl", "onChange", "className"]);
|
|
101
|
+
var value = _a.value, defaultValue = _a.defaultValue, _b = _a.areaCodeOptions, passAreaCodeOptions = _b === void 0 ? areaCodeOptions : _b, flagBaseUrl = _a.flagBaseUrl, _c = _a.selectPlaceholder, selectPlaceholder = _c === void 0 ? 'Select' : _c, onChange = _a.onChange, className = _a.className, rest = __rest(_a, ["value", "defaultValue", "areaCodeOptions", "flagBaseUrl", "selectPlaceholder", "onChange", "className"]);
|
|
103
102
|
var resolvedFlagBaseUrl = flagBaseUrl || AREA_FLAG_BASE_URL();
|
|
104
103
|
var selectOptions = useMemo(function () {
|
|
105
104
|
return __spreadArray([], passAreaCodeOptions, true).sort(function (a, b) {
|
|
@@ -111,14 +110,16 @@ var PhoneInput = function (_a) {
|
|
|
111
110
|
})
|
|
112
111
|
.map(function (option) { return (__assign(__assign({}, option), { label: option.dialCode })); });
|
|
113
112
|
}, [passAreaCodeOptions]);
|
|
114
|
-
var _d = useState((defaultValue === null || defaultValue === void 0 ? void 0 : defaultValue.areaCode) || '
|
|
113
|
+
var _d = useState((defaultValue === null || defaultValue === void 0 ? void 0 : defaultValue.areaCode) || ''), innerAreaCode = _d[0], setInnerAreaCode = _d[1];
|
|
115
114
|
var _e = useState((defaultValue === null || defaultValue === void 0 ? void 0 : defaultValue.phoneNumber) || ''), innerPhoneNumber = _e[0], setInnerPhoneNumber = _e[1];
|
|
116
|
-
var
|
|
117
|
-
var
|
|
115
|
+
var isControlled = value !== undefined;
|
|
116
|
+
var selectedAreaCode = isControlled ? (value === null || value === void 0 ? void 0 : value.areaCode) || '' : innerAreaCode;
|
|
117
|
+
var phoneNumber = isControlled ? (value === null || value === void 0 ? void 0 : value.phoneNumber) || '' : innerPhoneNumber;
|
|
118
118
|
var phoneNumberRef = useRef(phoneNumber);
|
|
119
119
|
phoneNumberRef.current = phoneNumber;
|
|
120
|
-
var selectedOption =
|
|
121
|
-
|
|
120
|
+
var selectedOption = selectedAreaCode
|
|
121
|
+
? selectOptions.find(function (option) { return option.value === selectedAreaCode; })
|
|
122
|
+
: undefined;
|
|
122
123
|
var onChangeRef = useRef(onChange);
|
|
123
124
|
var isControlledRef = useRef(isControlled);
|
|
124
125
|
onChangeRef.current = onChange;
|
|
@@ -135,11 +136,11 @@ var PhoneInput = function (_a) {
|
|
|
135
136
|
if (value === undefined) {
|
|
136
137
|
setInnerPhoneNumber(nextPhoneNumber);
|
|
137
138
|
}
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
139
|
+
onChange === null || onChange === void 0 ? void 0 : onChange(selectedOption
|
|
140
|
+
? getPhoneInputValue(selectedOption, nextPhoneNumber)
|
|
141
|
+
: { areaCode: '', dialCode: '', name: '', phoneNumber: nextPhoneNumber });
|
|
141
142
|
};
|
|
142
|
-
return (jsx(Input, __assign({}, rest, { inputMode: rest.inputMode || 'numeric', pattern: rest.pattern || '[0-9]*', value: phoneNumber, onChange: handlePhoneNumberChange, className: classNames('foxit-phone-input', className), addonBefore: jsx(PhoneAreaCodeSelect, { options: selectOptions, value: selectedOption === null || selectedOption === void 0 ? void 0 : selectedOption.value, disabled: rest.disabled, flagBaseUrl: resolvedFlagBaseUrl, onChange: handleAreaCodeChange }) })));
|
|
143
|
+
return (jsx(Input, __assign({}, rest, { inputMode: rest.inputMode || 'numeric', pattern: rest.pattern || '[0-9]*', value: phoneNumber, onChange: handlePhoneNumberChange, className: classNames('foxit-phone-input', className), addonBefore: jsx(PhoneAreaCodeSelect, { options: selectOptions, value: selectedOption === null || selectedOption === void 0 ? void 0 : selectedOption.value, disabled: rest.disabled, flagBaseUrl: resolvedFlagBaseUrl, placeholder: selectPlaceholder, onChange: handleAreaCodeChange }) })));
|
|
143
144
|
};
|
|
144
145
|
|
|
145
146
|
export { PhoneInput as default };
|
package/es/Select/Select.js
CHANGED
|
@@ -20,7 +20,9 @@ var Select = function (_a) {
|
|
|
20
20
|
return __assign(__assign({}, styles), { backgroundColor: isFocused || isSelected ? '#FFF6F0' : 'white', color: isSelected ? '#FF5F00' : '#666', ':hover': {
|
|
21
21
|
backgroundColor: '#FFF6F0'
|
|
22
22
|
}, fontSize: 16, display: 'flex', justifyContent: 'space-between', alignItems: 'center' });
|
|
23
|
-
}, indicatorSeparator: function (styles) { return (__assign(__assign({}, styles), { display: 'none' })); }, placeholder: function (styles) { return (__assign(__assign({}, styles), { color: '#B3B3B3' })); }, dropdownIndicator: function (styles) { return (__assign(__assign({}, styles), { paddingRight: 16 })); }, singleValue: function (styles) { return (__assign(__assign({}, styles), ((passStyles === null || passStyles === void 0 ? void 0 : passStyles.singleValue) || {}))); }, input: function (styles) { return (__assign(__assign({}, styles), ((passStyles === null || passStyles === void 0 ? void 0 : passStyles.input) || {}))); } }, ((passStyles === null || passStyles === void 0 ? void 0 : passStyles.menu) && {
|
|
23
|
+
}, indicatorSeparator: function (styles) { return (__assign(__assign({}, styles), { display: 'none' })); }, placeholder: function (styles) { return (__assign(__assign({}, styles), { color: '#B3B3B3' })); }, dropdownIndicator: function (styles) { return (__assign(__assign({}, styles), { paddingRight: 16 })); }, singleValue: function (styles) { return (__assign(__assign({}, styles), ((passStyles === null || passStyles === void 0 ? void 0 : passStyles.singleValue) || {}))); }, input: function (styles) { return (__assign(__assign({}, styles), ((passStyles === null || passStyles === void 0 ? void 0 : passStyles.input) || {}))); } }, ((passStyles === null || passStyles === void 0 ? void 0 : passStyles.menu) && {
|
|
24
|
+
menu: function (base, state) { return (__assign(__assign({}, base), passStyles.menu(base, state))); }
|
|
25
|
+
}));
|
|
24
26
|
var CustomControl = function (props) { return (jsxs(components.Control, __assign({}, props, { children: [preIcon && (jsx("div", __assign({ className: "foxit-select-custom-control", style: {
|
|
25
27
|
color: props.hasValue ? '#525252' : '#B3B3B3'
|
|
26
28
|
} }, { children: preIcon }))), props.children] }))); };
|