@snack-uikit/fields 0.57.2-preview-02d918ac.0 → 0.57.2
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/CHANGELOG.md +16 -0
- package/dist/cjs/components/FieldColor/FieldColor.js +60 -49
- package/dist/cjs/components/FieldDate/FieldDate.js +68 -60
- package/dist/cjs/components/FieldDecorator/FieldDecorator.js +18 -18
- package/dist/cjs/components/FieldDecorator/Footer.js +6 -7
- package/dist/cjs/components/FieldDecorator/Header.js +10 -9
- package/dist/cjs/components/FieldDecorator/utils.js +14 -16
- package/dist/cjs/components/FieldSecure/FieldSecure.js +76 -58
- package/dist/cjs/components/FieldSelect/FieldSelectMultiple.js +112 -97
- package/dist/cjs/components/FieldSelect/FieldSelectSingle.js +115 -99
- package/dist/cjs/components/FieldSelect/hooks/common.js +43 -43
- package/dist/cjs/components/FieldSelect/hooks/customOption.js +12 -18
- package/dist/cjs/components/FieldSelect/legacy/components/Items/hooks.js +18 -21
- package/dist/cjs/components/FieldSelect/legacy/utils.js +18 -26
- package/dist/cjs/components/FieldSelect/utils/checkisSearchUnavailable.js +3 -5
- package/dist/cjs/components/FieldSelect/utils/extractListProps.js +13 -15
- package/dist/cjs/components/FieldSelect/utils/getArrowIcon.js +2 -4
- package/dist/cjs/components/FieldSelect/utils/options.js +17 -18
- package/dist/cjs/components/FieldSelect/utils/updateItems.js +6 -10
- package/dist/cjs/components/FieldSlider/FieldSlider.js +55 -46
- package/dist/cjs/components/FieldStepper/FieldStepper.js +60 -42
- package/dist/cjs/components/FieldText/FieldText.js +76 -58
- package/dist/cjs/components/FieldText/helpers.js +1 -3
- package/dist/cjs/components/FieldTextArea/FieldTextArea.js +64 -50
- package/dist/cjs/components/FieldTime/FieldTime.js +71 -64
- package/dist/cjs/helperComponents/ButtonCopyValue/ButtonCopyValue.js +17 -15
- package/dist/cjs/helperComponents/ButtonCopyValue/helpers.js +2 -4
- package/dist/cjs/helperComponents/ButtonField/ButtonField.js +21 -21
- package/dist/cjs/helperComponents/ButtonFieldList/ButtonFieldList.js +12 -9
- package/dist/cjs/helperComponents/ButtonFieldList/helpers.js +1 -3
- package/dist/cjs/helperComponents/ButtonHideValue/ButtonHideValue.js +7 -8
- package/dist/cjs/helperComponents/FieldContainerPrivate/FieldContainerPrivate.js +14 -16
- package/dist/cjs/helperComponents/TextArea/TextArea.js +29 -21
- package/dist/cjs/hocs/withCharacterCount.js +3 -5
- package/dist/cjs/hooks/addonButton/useAddonButton.js +11 -13
- package/dist/cjs/hooks/addonButton/usePostfixButton.js +1 -3
- package/dist/cjs/hooks/addonButton/usePrefixButton.js +1 -3
- package/dist/cjs/hooks/dateHandlers/useDateField.js +29 -33
- package/dist/cjs/hooks/dateHandlers/useDateFieldHelpersForMode.js +15 -21
- package/dist/cjs/hooks/dateHandlers/useFocusHandlers.js +2 -4
- package/dist/cjs/hooks/useCopyButton.js +12 -14
- package/dist/cjs/hooks/useHideButton.js +7 -11
- package/dist/cjs/hooks/usePostfix.js +3 -7
- package/dist/cjs/hooks/usePrefix.js +3 -7
- package/dist/cjs/hooks/useValueControl.js +3 -5
- package/dist/cjs/utils/dateFields.js +15 -2
- package/dist/cjs/utils/getValidationState.js +2 -4
- package/package.json +10 -10
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/slicedToArray"));
|
|
3
5
|
var __rest = void 0 && (void 0).__rest || function (s, e) {
|
|
4
6
|
var t = {};
|
|
5
7
|
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
|
|
@@ -40,80 +42,99 @@ const defaultSelectedOptionFormatter = item =>
|
|
|
40
42
|
(item === null || item === void 0 ? void 0 : item.content.option) || '';
|
|
41
43
|
exports.FieldSelectMultiple = (0, react_1.forwardRef)((props, ref) => {
|
|
42
44
|
var _a;
|
|
43
|
-
const
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
45
|
+
const id = props.id,
|
|
46
|
+
name = props.name,
|
|
47
|
+
placeholder = props.placeholder,
|
|
48
|
+
_props$size = props.size,
|
|
49
|
+
size = _props$size === void 0 ? 's' : _props$size,
|
|
50
|
+
options = props.options,
|
|
51
|
+
valueProp = props.value,
|
|
52
|
+
defaultValue = props.defaultValue,
|
|
53
|
+
onChangeProp = props.onChange,
|
|
54
|
+
_props$disabled = props.disabled,
|
|
55
|
+
disabled = _props$disabled === void 0 ? false : _props$disabled,
|
|
56
|
+
_props$readonly = props.readonly,
|
|
57
|
+
readonly = _props$readonly === void 0 ? false : _props$readonly,
|
|
58
|
+
_props$searchable = props.searchable,
|
|
59
|
+
searchable = _props$searchable === void 0 ? true : _props$searchable,
|
|
60
|
+
_props$showClearButto = props.showClearButton,
|
|
61
|
+
showClearButton = _props$showClearButto === void 0 ? true : _props$showClearButto,
|
|
62
|
+
onInputKeyDownProp = props.onKeyDown,
|
|
63
|
+
_props$validationStat = props.validationState,
|
|
64
|
+
validationState = _props$validationStat === void 0 ? 'default' : _props$validationStat,
|
|
65
|
+
search = props.search,
|
|
66
|
+
_props$autocomplete = props.autocomplete,
|
|
67
|
+
autocomplete = _props$autocomplete === void 0 ? false : _props$autocomplete,
|
|
68
|
+
prefixIcon = props.prefixIcon,
|
|
69
|
+
prefix = props.prefix,
|
|
70
|
+
postfix = props.postfix,
|
|
71
|
+
_props$removeByBacksp = props.removeByBackspace,
|
|
72
|
+
removeByBackspace = _props$removeByBacksp === void 0 ? false : _props$removeByBacksp,
|
|
73
|
+
_props$addOptionByEnt = props.addOptionByEnter,
|
|
74
|
+
addOptionByEnter = _props$addOptionByEnt === void 0 ? false : _props$addOptionByEnt,
|
|
75
|
+
addCustomOptionTriggers = props.addCustomOptionTriggers,
|
|
76
|
+
_props$untouchableScr = props.untouchableScrollbars,
|
|
77
|
+
untouchableScrollbars = _props$untouchableScr === void 0 ? false : _props$untouchableScr,
|
|
78
|
+
openProp = props.open,
|
|
79
|
+
_props$enableFuzzySea = props.enableFuzzySearch,
|
|
80
|
+
enableFuzzySearch = _props$enableFuzzySea === void 0 ? true : _props$enableFuzzySea,
|
|
81
|
+
_props$resetSearchOnO = props.resetSearchOnOptionSelection,
|
|
82
|
+
resetSearchOnOptionSelection = _props$resetSearchOnO === void 0 ? true : _props$resetSearchOnO,
|
|
83
|
+
onOpenChange = props.onOpenChange,
|
|
84
|
+
_props$selectedOption = props.selectedOptionFormatter,
|
|
85
|
+
selectedOptionFormatter = _props$selectedOption === void 0 ? defaultSelectedOptionFormatter : _props$selectedOption,
|
|
86
|
+
autoFocus = props.autoFocus,
|
|
74
87
|
rest = __rest(props, ["id", "name", "placeholder", "size", "options", "value", "defaultValue", "onChange", "disabled", "readonly", "searchable", "showClearButton", "onKeyDown", "validationState", "search", "autocomplete", "prefixIcon", "prefix", "postfix", "removeByBackspace", "addOptionByEnter", "addCustomOptionTriggers", "untouchableScrollbars", "open", "enableFuzzySearch", "resetSearchOnOptionSelection", "onOpenChange", "selectedOptionFormatter", "autoFocus"]);
|
|
75
88
|
const localRef = (0, react_1.useRef)(null);
|
|
76
89
|
const inputPlugRef = (0, react_1.useRef)(null);
|
|
77
90
|
const contentRef = (0, react_1.useRef)(null);
|
|
78
|
-
const
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
value,
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
const {
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
91
|
+
const _ref = (0, hooks_1.useValueControl)({
|
|
92
|
+
value: openProp,
|
|
93
|
+
onChange: onOpenChange
|
|
94
|
+
}),
|
|
95
|
+
_ref2 = (0, _slicedToArray2.default)(_ref, 2),
|
|
96
|
+
_ref2$ = _ref2[0],
|
|
97
|
+
open = _ref2$ === void 0 ? false : _ref2$,
|
|
98
|
+
setOpen = _ref2[1];
|
|
99
|
+
const _ref3 = (0, hooks_1.useValueControl)({
|
|
100
|
+
value: valueProp,
|
|
101
|
+
defaultValue,
|
|
102
|
+
onChange: onChangeProp
|
|
103
|
+
}),
|
|
104
|
+
_ref4 = (0, _slicedToArray2.default)(_ref3, 2),
|
|
105
|
+
value = _ref4[0],
|
|
106
|
+
setValue = _ref4[1];
|
|
107
|
+
const _ref5 = (0, react_1.useState)(() => (0, utils_3.updateMultipleItems)({
|
|
108
|
+
options,
|
|
109
|
+
value,
|
|
110
|
+
currentItems: [],
|
|
111
|
+
selectedItems: undefined
|
|
112
|
+
})),
|
|
113
|
+
_ref6 = (0, _slicedToArray2.default)(_ref5, 2),
|
|
114
|
+
_ref6$ = _ref6[0],
|
|
115
|
+
selectedItems = _ref6$.selectedItems,
|
|
116
|
+
_ref6$$items = _ref6$.items,
|
|
117
|
+
items = _ref6$$items === void 0 ? [] : _ref6$$items,
|
|
118
|
+
setItems = _ref6[1];
|
|
119
|
+
const _ref7 = (0, hooks_2.useSearchInput)(Object.assign(Object.assign({}, search), {
|
|
120
|
+
defaultValue: '',
|
|
121
|
+
selectedOptionFormatter,
|
|
122
|
+
resetSearchOnOptionSelection
|
|
123
|
+
})),
|
|
124
|
+
inputValue = _ref7.inputValue,
|
|
125
|
+
setInputValue = _ref7.setInputValue,
|
|
126
|
+
prevInputValue = _ref7.prevInputValue,
|
|
127
|
+
updateInputValue = _ref7.updateInputValue;
|
|
128
|
+
const _ref8 = (0, hooks_2.useFieldSelectMultipleCustomOption)({
|
|
129
|
+
addCustomOptionTriggers,
|
|
130
|
+
addOptionByEnter,
|
|
131
|
+
inputValue,
|
|
132
|
+
value,
|
|
133
|
+
setValue,
|
|
134
|
+
updateInputValue
|
|
135
|
+
}),
|
|
136
|
+
resolvedAddCustomOptionTriggers = _ref8.resolvedAddCustomOptionTriggers,
|
|
137
|
+
tryCommitCustomOptionFromInput = _ref8.tryCommitCustomOptionFromInput;
|
|
117
138
|
const prefixSettings = (0, hooks_1.usePrefix)({
|
|
118
139
|
prefix,
|
|
119
140
|
disabled
|
|
@@ -123,10 +144,8 @@ exports.FieldSelectMultiple = (0, react_1.forwardRef)((props, ref) => {
|
|
|
123
144
|
disabled
|
|
124
145
|
});
|
|
125
146
|
(0, utils_1.useLayoutEffect)(() => {
|
|
126
|
-
setItems(
|
|
127
|
-
let
|
|
128
|
-
selectedItems
|
|
129
|
-
} = _ref;
|
|
147
|
+
setItems(_ref9 => {
|
|
148
|
+
let selectedItems = _ref9.selectedItems;
|
|
130
149
|
return (0, utils_3.updateMultipleItems)({
|
|
131
150
|
options,
|
|
132
151
|
value,
|
|
@@ -142,25 +161,23 @@ exports.FieldSelectMultiple = (0, react_1.forwardRef)((props, ref) => {
|
|
|
142
161
|
setOpen(true);
|
|
143
162
|
}
|
|
144
163
|
};
|
|
145
|
-
const {
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
onClear
|
|
163
|
-
});
|
|
164
|
+
const _ref0 = (0, utils_3.getArrowIcon)({
|
|
165
|
+
size,
|
|
166
|
+
open
|
|
167
|
+
}),
|
|
168
|
+
ArrowIcon = _ref0.ArrowIcon,
|
|
169
|
+
arrowIconSize = _ref0.arrowIconSize;
|
|
170
|
+
const _ref1 = (0, hooks_2.useButtons)({
|
|
171
|
+
readonly,
|
|
172
|
+
size,
|
|
173
|
+
showClearButton: showClearButton && !disabled && !readonly && Boolean(selectedItems === null || selectedItems === void 0 ? void 0 : selectedItems.find(item => !item.disabled)),
|
|
174
|
+
showCopyButton: false,
|
|
175
|
+
inputRef: localRef,
|
|
176
|
+
onClear
|
|
177
|
+
}),
|
|
178
|
+
postfixButtons = _ref1.postfixButtons,
|
|
179
|
+
inputKeyDownNavigationHandler = _ref1.inputKeyDownNavigationHandler,
|
|
180
|
+
buttonsRefs = _ref1.buttonsRefs;
|
|
164
181
|
const commonHandleOnKeyDown = (0, hooks_2.useHandleOnKeyDown)({
|
|
165
182
|
inputKeyDownNavigationHandler,
|
|
166
183
|
onInputKeyDownProp,
|
|
@@ -269,10 +286,8 @@ exports.FieldSelectMultiple = (0, react_1.forwardRef)((props, ref) => {
|
|
|
269
286
|
size: size,
|
|
270
287
|
open: !disabled && !readonly && open,
|
|
271
288
|
onOpenChange: handleOpenChange,
|
|
272
|
-
children:
|
|
273
|
-
let
|
|
274
|
-
onKeyDown
|
|
275
|
-
} = _ref2;
|
|
289
|
+
children: _ref10 => {
|
|
290
|
+
let onKeyDown = _ref10.onKeyDown;
|
|
276
291
|
var _a, _b, _c, _d;
|
|
277
292
|
return (0, jsx_runtime_1.jsx)(helperComponents_1.FieldContainerPrivate, {
|
|
278
293
|
className: (0, classnames_1.default)(styles_module_scss_1.default.container, styles_module_scss_1.default.tagContainer),
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/slicedToArray"));
|
|
3
5
|
var __rest = void 0 && (void 0).__rest || function (s, e) {
|
|
4
6
|
var t = {};
|
|
5
7
|
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
|
|
@@ -37,69 +39,90 @@ const defaultSelectedOptionFormatter = item =>
|
|
|
37
39
|
// @ts-expect-error
|
|
38
40
|
(item === null || item === void 0 ? void 0 : item.content.option) || '';
|
|
39
41
|
exports.FieldSelectSingle = (0, react_1.forwardRef)((props, ref) => {
|
|
40
|
-
const
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
42
|
+
const id = props.id,
|
|
43
|
+
name = props.name,
|
|
44
|
+
placeholder = props.placeholder,
|
|
45
|
+
_props$size = props.size,
|
|
46
|
+
size = _props$size === void 0 ? 's' : _props$size,
|
|
47
|
+
options = props.options,
|
|
48
|
+
valueProp = props.value,
|
|
49
|
+
defaultValue = props.defaultValue,
|
|
50
|
+
onChangeProp = props.onChange,
|
|
51
|
+
_props$disabled = props.disabled,
|
|
52
|
+
disabled = _props$disabled === void 0 ? false : _props$disabled,
|
|
53
|
+
_props$readonly = props.readonly,
|
|
54
|
+
readonly = _props$readonly === void 0 ? false : _props$readonly,
|
|
55
|
+
_props$searchable = props.searchable,
|
|
56
|
+
searchable = _props$searchable === void 0 ? true : _props$searchable,
|
|
57
|
+
_props$showCopyButton = props.showCopyButton,
|
|
58
|
+
showCopyButton = _props$showCopyButton === void 0 ? true : _props$showCopyButton,
|
|
59
|
+
_props$showClearButto = props.showClearButton,
|
|
60
|
+
showClearButton = _props$showClearButto === void 0 ? true : _props$showClearButto,
|
|
61
|
+
onInputKeyDownProp = props.onKeyDown,
|
|
62
|
+
_props$required = props.required,
|
|
63
|
+
required = _props$required === void 0 ? false : _props$required,
|
|
64
|
+
_props$validationStat = props.validationState,
|
|
65
|
+
validationState = _props$validationStat === void 0 ? 'default' : _props$validationStat,
|
|
66
|
+
search = props.search,
|
|
67
|
+
_props$autocomplete = props.autocomplete,
|
|
68
|
+
autocomplete = _props$autocomplete === void 0 ? false : _props$autocomplete,
|
|
69
|
+
prefixIcon = props.prefixIcon,
|
|
70
|
+
prefix = props.prefix,
|
|
71
|
+
postfix = props.postfix,
|
|
72
|
+
_props$addOptionByEnt = props.addOptionByEnter,
|
|
73
|
+
addOptionByEnter = _props$addOptionByEnt === void 0 ? false : _props$addOptionByEnt,
|
|
74
|
+
addCustomOptionTriggers = props.addCustomOptionTriggers,
|
|
75
|
+
_props$untouchableScr = props.untouchableScrollbars,
|
|
76
|
+
untouchableScrollbars = _props$untouchableScr === void 0 ? false : _props$untouchableScr,
|
|
77
|
+
openProp = props.open,
|
|
78
|
+
onOpenChange = props.onOpenChange,
|
|
79
|
+
_props$selectedOption = props.selectedOptionFormatter,
|
|
80
|
+
selectedOptionFormatter = _props$selectedOption === void 0 ? defaultSelectedOptionFormatter : _props$selectedOption,
|
|
81
|
+
_props$enableFuzzySea = props.enableFuzzySearch,
|
|
82
|
+
enableFuzzySearch = _props$enableFuzzySea === void 0 ? true : _props$enableFuzzySea,
|
|
83
|
+
_props$resetSearchOnO = props.resetSearchOnOptionSelection,
|
|
84
|
+
resetSearchOnOptionSelection = _props$resetSearchOnO === void 0 ? true : _props$resetSearchOnO,
|
|
85
|
+
onCopyButtonClick = props.onCopyButtonClick,
|
|
86
|
+
autoFocus = props.autoFocus,
|
|
73
87
|
rest = __rest(props, ["id", "name", "placeholder", "size", "options", "value", "defaultValue", "onChange", "disabled", "readonly", "searchable", "showCopyButton", "showClearButton", "onKeyDown", "required", "validationState", "search", "autocomplete", "prefixIcon", "prefix", "postfix", "addOptionByEnter", "addCustomOptionTriggers", "untouchableScrollbars", "open", "onOpenChange", "selectedOptionFormatter", "enableFuzzySearch", "resetSearchOnOptionSelection", "onCopyButtonClick", "autoFocus"]);
|
|
74
88
|
const localRef = (0, react_1.useRef)(null);
|
|
75
|
-
const
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
value,
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
89
|
+
const _ref = (0, hooks_1.useValueControl)({
|
|
90
|
+
value: openProp,
|
|
91
|
+
onChange: onOpenChange
|
|
92
|
+
}),
|
|
93
|
+
_ref2 = (0, _slicedToArray2.default)(_ref, 2),
|
|
94
|
+
_ref2$ = _ref2[0],
|
|
95
|
+
open = _ref2$ === void 0 ? false : _ref2$,
|
|
96
|
+
setOpen = _ref2[1];
|
|
97
|
+
const _ref3 = (0, hooks_1.useValueControl)({
|
|
98
|
+
value: valueProp,
|
|
99
|
+
defaultValue,
|
|
100
|
+
onChange: onChangeProp
|
|
101
|
+
}),
|
|
102
|
+
_ref4 = (0, _slicedToArray2.default)(_ref3, 2),
|
|
103
|
+
value = _ref4[0],
|
|
104
|
+
setValue = _ref4[1];
|
|
105
|
+
const _ref5 = (0, react_1.useState)(() => (0, utils_3.updateItems)({
|
|
106
|
+
options,
|
|
107
|
+
value,
|
|
108
|
+
currentItems: [],
|
|
109
|
+
selectedItem: undefined
|
|
110
|
+
})),
|
|
111
|
+
_ref6 = (0, _slicedToArray2.default)(_ref5, 2),
|
|
112
|
+
_ref6$ = _ref6[0],
|
|
113
|
+
selectedItem = _ref6$.selectedItem,
|
|
114
|
+
_ref6$$items = _ref6$.items,
|
|
115
|
+
items = _ref6$$items === void 0 ? [] : _ref6$$items,
|
|
116
|
+
setItems = _ref6[1];
|
|
117
|
+
const _ref7 = (0, hooks_2.useSearchInput)(Object.assign(Object.assign({}, search), {
|
|
118
|
+
defaultValue: selectedOptionFormatter(selectedItem),
|
|
119
|
+
resetSearchOnOptionSelection,
|
|
120
|
+
selectedOptionFormatter
|
|
121
|
+
})),
|
|
122
|
+
inputValue = _ref7.inputValue,
|
|
123
|
+
setInputValue = _ref7.setInputValue,
|
|
124
|
+
prevInputValue = _ref7.prevInputValue,
|
|
125
|
+
updateInputValue = _ref7.updateInputValue;
|
|
103
126
|
const prevSelectedItem = (0, react_1.useRef)(selectedItem);
|
|
104
127
|
const prefixSettings = (0, hooks_1.usePrefix)({
|
|
105
128
|
prefix,
|
|
@@ -110,10 +133,8 @@ exports.FieldSelectSingle = (0, react_1.forwardRef)((props, ref) => {
|
|
|
110
133
|
disabled
|
|
111
134
|
});
|
|
112
135
|
(0, utils_1.useLayoutEffect)(() => {
|
|
113
|
-
setItems(
|
|
114
|
-
let
|
|
115
|
-
selectedItem
|
|
116
|
-
} = _ref;
|
|
136
|
+
setItems(_ref8 => {
|
|
137
|
+
let selectedItem = _ref8.selectedItem;
|
|
117
138
|
return (0, utils_3.updateItems)({
|
|
118
139
|
options,
|
|
119
140
|
value,
|
|
@@ -141,27 +162,25 @@ exports.FieldSelectSingle = (0, react_1.forwardRef)((props, ref) => {
|
|
|
141
162
|
setOpen(true);
|
|
142
163
|
}
|
|
143
164
|
}, [required, setInputValue, setOpen, setValue]);
|
|
144
|
-
const {
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
valueToCopy: selectedOptionFormatter(selectedItem)
|
|
164
|
-
});
|
|
165
|
+
const _ref9 = (0, utils_3.getArrowIcon)({
|
|
166
|
+
size,
|
|
167
|
+
open
|
|
168
|
+
}),
|
|
169
|
+
ArrowIcon = _ref9.ArrowIcon,
|
|
170
|
+
arrowIconSize = _ref9.arrowIconSize;
|
|
171
|
+
const _ref0 = (0, hooks_2.useButtons)({
|
|
172
|
+
readonly,
|
|
173
|
+
size,
|
|
174
|
+
showClearButton: showClearButton && !disabled && !readonly && value !== undefined && selectedItem !== undefined,
|
|
175
|
+
showCopyButton,
|
|
176
|
+
inputRef: localRef,
|
|
177
|
+
onClear,
|
|
178
|
+
onCopyButtonClick,
|
|
179
|
+
valueToCopy: selectedOptionFormatter(selectedItem)
|
|
180
|
+
}),
|
|
181
|
+
postfixButtons = _ref0.postfixButtons,
|
|
182
|
+
inputKeyDownNavigationHandler = _ref0.inputKeyDownNavigationHandler,
|
|
183
|
+
buttonsRefs = _ref0.buttonsRefs;
|
|
165
184
|
const commonHandleOnKeyDown = (0, hooks_2.useHandleOnKeyDown)({
|
|
166
185
|
inputKeyDownNavigationHandler,
|
|
167
186
|
onInputKeyDownProp,
|
|
@@ -175,15 +194,14 @@ exports.FieldSelectSingle = (0, react_1.forwardRef)((props, ref) => {
|
|
|
175
194
|
setValue(newValue);
|
|
176
195
|
}
|
|
177
196
|
}, [setOpen, setValue]);
|
|
178
|
-
const {
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
});
|
|
197
|
+
const _ref1 = (0, hooks_2.useFieldSelectSingleCustomOption)({
|
|
198
|
+
addCustomOptionTriggers,
|
|
199
|
+
addOptionByEnter,
|
|
200
|
+
inputValue,
|
|
201
|
+
handleSelectionChange
|
|
202
|
+
}),
|
|
203
|
+
resolvedAddCustomOptionTriggers = _ref1.resolvedAddCustomOptionTriggers,
|
|
204
|
+
tryCommitCustomOptionFromInput = _ref1.tryCommitCustomOptionFromInput;
|
|
187
205
|
const handleBlur = e => {
|
|
188
206
|
var _a;
|
|
189
207
|
if (!open && !buttonsRefs.filter(Boolean).includes(e.relatedTarget)) {
|
|
@@ -257,10 +275,8 @@ exports.FieldSelectSingle = (0, react_1.forwardRef)((props, ref) => {
|
|
|
257
275
|
trigger: 'click',
|
|
258
276
|
triggerElemRef: localRef,
|
|
259
277
|
untouchableScrollbars: untouchableScrollbars,
|
|
260
|
-
children:
|
|
261
|
-
let
|
|
262
|
-
onKeyDown
|
|
263
|
-
} = _ref2;
|
|
278
|
+
children: _ref10 => {
|
|
279
|
+
let onKeyDown = _ref10.onKeyDown;
|
|
264
280
|
return (0, jsx_runtime_1.jsxs)(helperComponents_1.FieldContainerPrivate, {
|
|
265
281
|
className: styles_module_scss_1.default.container,
|
|
266
282
|
validationState: fieldValidationState,
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/slicedToArray"));
|
|
3
5
|
var __importDefault = void 0 && (void 0).__importDefault || function (mod) {
|
|
4
6
|
return mod && mod.__esModule ? mod : {
|
|
5
7
|
"default": mod
|
|
@@ -21,11 +23,9 @@ const hooks_1 = require("../../../hooks");
|
|
|
21
23
|
const legacy_1 = require("../legacy");
|
|
22
24
|
const utils_1 = require("../utils");
|
|
23
25
|
function useHandleOnKeyDown(_ref) {
|
|
24
|
-
let
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
onInputKeyDownProp
|
|
28
|
-
} = _ref;
|
|
26
|
+
let setOpen = _ref.setOpen,
|
|
27
|
+
inputKeyDownNavigationHandler = _ref.inputKeyDownNavigationHandler,
|
|
28
|
+
onInputKeyDownProp = _ref.onInputKeyDownProp;
|
|
29
29
|
return (0, react_1.useCallback)(onKeyDown => e => {
|
|
30
30
|
if (e.code === 'Space') {
|
|
31
31
|
e.stopPropagation();
|
|
@@ -46,16 +46,15 @@ function useHandleOnKeyDown(_ref) {
|
|
|
46
46
|
}, [inputKeyDownNavigationHandler, onInputKeyDownProp, setOpen]);
|
|
47
47
|
}
|
|
48
48
|
function useButtons(_ref2) {
|
|
49
|
-
let
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
valueToCopy = ''
|
|
58
|
-
} = _ref2;
|
|
49
|
+
let readonly = _ref2.readonly,
|
|
50
|
+
showClearButton = _ref2.showClearButton,
|
|
51
|
+
showCopyButton = _ref2.showCopyButton,
|
|
52
|
+
size = _ref2.size,
|
|
53
|
+
onClear = _ref2.onClear,
|
|
54
|
+
onCopyButtonClick = _ref2.onCopyButtonClick,
|
|
55
|
+
inputRef = _ref2.inputRef,
|
|
56
|
+
_ref2$valueToCopy = _ref2.valueToCopy,
|
|
57
|
+
valueToCopy = _ref2$valueToCopy === void 0 ? '' : _ref2$valueToCopy;
|
|
59
58
|
const clearButtonRef = (0, react_1.useRef)(null);
|
|
60
59
|
const copyButtonRef = (0, react_1.useRef)(null);
|
|
61
60
|
const buttonsRefs = [copyButtonRef.current, clearButtonRef.current];
|
|
@@ -72,35 +71,37 @@ function useButtons(_ref2) {
|
|
|
72
71
|
valueToCopy,
|
|
73
72
|
onCopyButtonClick
|
|
74
73
|
});
|
|
75
|
-
const {
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
});
|
|
74
|
+
const _ref3 = (0, input_private_1.useButtonNavigation)({
|
|
75
|
+
inputRef,
|
|
76
|
+
postfixButtons: (0, react_1.useMemo)(() => [clearButtonSettings, copyButtonSettings], [clearButtonSettings, copyButtonSettings]),
|
|
77
|
+
onButtonKeyDown: undefined,
|
|
78
|
+
readonly,
|
|
79
|
+
submitKeys: ['Enter', 'Space', 'Tab']
|
|
80
|
+
}),
|
|
81
|
+
inputKeyDownNavigationHandler = _ref3.onInputKeyDown,
|
|
82
|
+
postfixButtons = _ref3.postfixButtons;
|
|
85
83
|
return {
|
|
86
84
|
postfixButtons,
|
|
87
85
|
inputKeyDownNavigationHandler,
|
|
88
86
|
buttonsRefs
|
|
89
87
|
};
|
|
90
88
|
}
|
|
91
|
-
function useSearchInput(
|
|
92
|
-
let
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
resetSearchOnOptionSelection = true
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
89
|
+
function useSearchInput(_ref4) {
|
|
90
|
+
let value = _ref4.value,
|
|
91
|
+
onChange = _ref4.onChange,
|
|
92
|
+
defaultValue = _ref4.defaultValue,
|
|
93
|
+
selectedOptionFormatter = _ref4.selectedOptionFormatter,
|
|
94
|
+
_ref4$resetSearchOnOp = _ref4.resetSearchOnOptionSelection,
|
|
95
|
+
resetSearchOnOptionSelection = _ref4$resetSearchOnOp === void 0 ? true : _ref4$resetSearchOnOp;
|
|
96
|
+
const _ref5 = (0, hooks_1.useValueControl)({
|
|
97
|
+
value,
|
|
98
|
+
onChange,
|
|
99
|
+
defaultValue
|
|
100
|
+
}),
|
|
101
|
+
_ref6 = (0, _slicedToArray2.default)(_ref5, 2),
|
|
102
|
+
_ref6$ = _ref6[0],
|
|
103
|
+
inputValue = _ref6$ === void 0 ? '' : _ref6$,
|
|
104
|
+
setInputValueState = _ref6[1];
|
|
104
105
|
const prevInputValue = (0, react_1.useRef)(inputValue);
|
|
105
106
|
const updateInputValue = (0, react_1.useCallback)(selectedItem => {
|
|
106
107
|
const newInputValue = selectedOptionFormatter(selectedItem);
|
|
@@ -151,11 +152,10 @@ const COMMON_FIELDS_TO_SEARCH = ['content.option', 'content.caption', 'content.d
|
|
|
151
152
|
function useSearch(items) {
|
|
152
153
|
let enableFuzzySearch = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
|
|
153
154
|
const flattenItems = (0, react_1.useMemo)(() => {
|
|
154
|
-
const {
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
});
|
|
155
|
+
const _ref7 = (0, list_1.kindFlattenItems)({
|
|
156
|
+
items
|
|
157
|
+
}),
|
|
158
|
+
flattenItems = _ref7.flattenItems;
|
|
159
159
|
return Object.values(flattenItems);
|
|
160
160
|
}, [items]);
|
|
161
161
|
const filterFlattenFunction = (0, react_1.useCallback)(search => {
|