@salutejs/plasma-new-hope 0.336.0-canary.2219.17638454714.0 → 0.336.0-canary.2219.17680564117.0
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/cjs/components/Autocomplete/Autocomplete.css +3 -0
- package/cjs/components/CodeField/CodeField.css +7 -6
- package/cjs/components/CodeField/CodeField.js +63 -27
- package/cjs/components/CodeField/CodeField.js.map +1 -1
- package/cjs/components/CodeField/CodeField.styles.js +7 -1
- package/cjs/components/CodeField/CodeField.styles.js.map +1 -1
- package/cjs/components/CodeField/{CodeField.styles_ebdpd0.css → CodeField.styles_14p25hi.css} +1 -0
- package/cjs/components/CodeField/hooks/useWebOTP.js +95 -0
- package/cjs/components/CodeField/hooks/useWebOTP.js.map +1 -0
- package/cjs/components/CodeField/utils/handleCodeError.js +2 -2
- package/cjs/components/CodeField/utils/handleCodeError.js.map +1 -1
- package/cjs/components/CodeField/utils/handleItemError.js +14 -4
- package/cjs/components/CodeField/utils/handleItemError.js.map +1 -1
- package/cjs/components/CodeField/utils/isWebOTPSupported.js +10 -0
- package/cjs/components/CodeField/utils/isWebOTPSupported.js.map +1 -0
- package/cjs/components/Combobox/ComboboxNew/Combobox.css +3 -0
- package/cjs/components/Combobox/ComboboxNew/Combobox.js +54 -56
- package/cjs/components/Combobox/ComboboxNew/Combobox.js.map +1 -1
- package/cjs/components/Combobox/ComboboxNew/hooks/getPathMaps.js +1 -4
- package/cjs/components/Combobox/ComboboxNew/hooks/getPathMaps.js.map +1 -1
- package/cjs/components/DatePicker/RangeDate/RangeDate.css +3 -0
- package/cjs/components/DatePicker/RangeDate/RangeDate.js +30 -22
- package/cjs/components/DatePicker/RangeDate/RangeDate.js.map +1 -1
- package/cjs/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.css +3 -0
- package/cjs/components/DatePicker/SingleDate/SingleDate.css +3 -0
- package/cjs/components/Pagination/Pagination.css +3 -0
- package/cjs/components/Pagination/ui/PaginationSelectPerPage/PaginationSelectPerPage.css +3 -0
- package/cjs/components/Popover/Popover.js +4 -1
- package/cjs/components/Popover/Popover.js.map +1 -1
- package/cjs/components/Range/Range.css +3 -0
- package/cjs/components/Select/Select.css +3 -0
- package/cjs/components/Select/Select.js +23 -11
- package/cjs/components/Select/Select.js.map +1 -1
- package/cjs/components/Select/hooks/usePathMaps.js +1 -4
- package/cjs/components/Select/hooks/usePathMaps.js.map +1 -1
- package/cjs/components/Select/ui/Target/Target.css +3 -0
- package/cjs/components/Select/ui/Target/Target.js +0 -2
- package/cjs/components/Select/ui/Target/Target.js.map +1 -1
- package/cjs/components/Select/ui/Target/ui/Textfield/Textfield.css +3 -0
- package/cjs/components/Select/ui/Target/ui/Textfield/Textfield.js +32 -49
- package/cjs/components/Select/ui/Target/ui/Textfield/Textfield.js.map +1 -1
- package/cjs/components/Slider/Slider.css +3 -0
- package/cjs/components/Slider/components/DoubleUncontrolled/DoubleUncontrolled.css +3 -0
- package/cjs/components/Table/Table.css +3 -0
- package/cjs/components/Table/ui/Cell/Cell.css +3 -0
- package/cjs/components/Table/ui/EditableCell/EditableCell.css +3 -0
- package/cjs/components/Table/ui/HeadCell/HeadCell.css +3 -0
- package/cjs/components/Table/ui/HeadCell/ui/Filter/Filter.css +3 -0
- package/cjs/components/TextField/TextField.js +19 -3
- package/cjs/components/TextField/TextField.js.map +1 -1
- package/cjs/components/TextField/ui/TextFieldChipNew/TextFieldChipNew.css +58 -0
- package/cjs/components/TextField/ui/TextFieldChipNew/TextFieldChipNew.js +86 -0
- package/cjs/components/TextField/ui/TextFieldChipNew/TextFieldChipNew.js.map +1 -0
- package/cjs/components/TextField/ui/TextFieldChipNew/TextFieldChipNew.styles.js +25 -0
- package/cjs/components/TextField/ui/TextFieldChipNew/TextFieldChipNew.styles.js.map +1 -0
- package/cjs/components/TextField/ui/TextFieldChipNew/TextFieldChipNew.styles_y9tozi.css +2 -0
- package/cjs/index.css +10 -6
- package/emotion/cjs/components/CodeField/CodeField.js +61 -23
- package/emotion/cjs/components/CodeField/CodeField.styles.js +18 -11
- package/emotion/cjs/components/CodeField/hooks/useWebOTP.js +246 -0
- package/emotion/cjs/components/CodeField/utils/handleCodeError.js +2 -2
- package/emotion/cjs/components/CodeField/utils/handleItemError.js +12 -3
- package/emotion/cjs/components/CodeField/utils/index.js +4 -0
- package/emotion/cjs/components/CodeField/utils/isWebOTPSupported.js +13 -0
- package/emotion/cjs/components/Combobox/ComboboxNew/Combobox.js +57 -64
- package/emotion/cjs/components/Combobox/ComboboxNew/hooks/getPathMaps.js +2 -5
- package/emotion/cjs/components/Combobox/ComboboxNew/utils/index.js +0 -4
- package/emotion/cjs/components/DatePicker/RangeDate/RangeDate.js +24 -22
- package/emotion/cjs/components/Popover/Popover.js +3 -1
- package/emotion/cjs/components/Select/Select.js +26 -9
- package/emotion/cjs/components/Select/hooks/usePathMaps.js +2 -5
- package/emotion/cjs/components/Select/ui/Target/Target.js +1 -2
- package/emotion/cjs/components/Select/ui/Target/ui/Textfield/Textfield.js +32 -71
- package/emotion/cjs/components/Select/utils/index.js +0 -4
- package/emotion/cjs/components/TextField/TextField.js +20 -4
- package/emotion/cjs/components/TextField/ui/TextFieldChipNew/TextFieldChipNew.js +78 -0
- package/emotion/cjs/components/TextField/ui/TextFieldChipNew/TextFieldChipNew.styles.js +49 -0
- package/emotion/cjs/components/TextField/ui/index.js +12 -3
- package/emotion/cjs/examples/components/Range/Range.config.js +8 -7
- package/emotion/es/components/CodeField/CodeField.js +64 -26
- package/emotion/es/components/CodeField/CodeField.styles.js +15 -11
- package/emotion/es/components/CodeField/hooks/useWebOTP.js +236 -0
- package/emotion/es/components/CodeField/utils/handleCodeError.js +2 -2
- package/emotion/es/components/CodeField/utils/handleItemError.js +12 -3
- package/emotion/es/components/CodeField/utils/index.js +1 -0
- package/emotion/es/components/CodeField/utils/isWebOTPSupported.js +3 -0
- package/emotion/es/components/Combobox/ComboboxNew/Combobox.js +58 -65
- package/emotion/es/components/Combobox/ComboboxNew/hooks/getPathMaps.js +2 -5
- package/emotion/es/components/Combobox/ComboboxNew/utils/index.js +0 -1
- package/emotion/es/components/DatePicker/RangeDate/RangeDate.js +24 -22
- package/emotion/es/components/Popover/Popover.js +4 -2
- package/emotion/es/components/Select/Select.js +26 -9
- package/emotion/es/components/Select/hooks/usePathMaps.js +2 -5
- package/emotion/es/components/Select/ui/Target/Target.js +1 -2
- package/emotion/es/components/Select/ui/Target/ui/Textfield/Textfield.js +33 -72
- package/emotion/es/components/Select/utils/index.js +0 -1
- package/emotion/es/components/TextField/TextField.js +21 -5
- package/emotion/es/components/TextField/ui/TextFieldChipNew/TextFieldChipNew.js +63 -0
- package/emotion/es/components/TextField/ui/TextFieldChipNew/TextFieldChipNew.styles.js +27 -0
- package/emotion/es/components/TextField/ui/index.js +1 -0
- package/emotion/es/examples/components/Combobox/Combobox.js +0 -7
- package/emotion/es/examples/components/Range/Range.config.js +8 -7
- package/es/components/Autocomplete/Autocomplete.css +3 -0
- package/es/components/CodeField/CodeField.css +7 -6
- package/es/components/CodeField/CodeField.js +66 -30
- package/es/components/CodeField/CodeField.js.map +1 -1
- package/es/components/CodeField/CodeField.styles.js +7 -2
- package/es/components/CodeField/CodeField.styles.js.map +1 -1
- package/es/components/CodeField/{CodeField.styles_ebdpd0.css → CodeField.styles_14p25hi.css} +1 -0
- package/es/components/CodeField/hooks/useWebOTP.js +91 -0
- package/es/components/CodeField/hooks/useWebOTP.js.map +1 -0
- package/es/components/CodeField/utils/handleCodeError.js +2 -2
- package/es/components/CodeField/utils/handleCodeError.js.map +1 -1
- package/es/components/CodeField/utils/handleItemError.js +14 -4
- package/es/components/CodeField/utils/handleItemError.js.map +1 -1
- package/es/components/CodeField/utils/isWebOTPSupported.js +6 -0
- package/es/components/CodeField/utils/isWebOTPSupported.js.map +1 -0
- package/es/components/Combobox/ComboboxNew/Combobox.css +3 -0
- package/es/components/Combobox/ComboboxNew/Combobox.js +55 -57
- package/es/components/Combobox/ComboboxNew/Combobox.js.map +1 -1
- package/es/components/Combobox/ComboboxNew/hooks/getPathMaps.js +1 -4
- package/es/components/Combobox/ComboboxNew/hooks/getPathMaps.js.map +1 -1
- package/es/components/DatePicker/RangeDate/RangeDate.css +3 -0
- package/es/components/DatePicker/RangeDate/RangeDate.js +30 -22
- package/es/components/DatePicker/RangeDate/RangeDate.js.map +1 -1
- package/es/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.css +3 -0
- package/es/components/DatePicker/SingleDate/SingleDate.css +3 -0
- package/es/components/Pagination/Pagination.css +3 -0
- package/es/components/Pagination/ui/PaginationSelectPerPage/PaginationSelectPerPage.css +3 -0
- package/es/components/Popover/Popover.js +4 -1
- package/es/components/Popover/Popover.js.map +1 -1
- package/es/components/Range/Range.css +3 -0
- package/es/components/Select/Select.css +3 -0
- package/es/components/Select/Select.js +23 -11
- package/es/components/Select/Select.js.map +1 -1
- package/es/components/Select/hooks/usePathMaps.js +1 -4
- package/es/components/Select/hooks/usePathMaps.js.map +1 -1
- package/es/components/Select/ui/Target/Target.css +3 -0
- package/es/components/Select/ui/Target/Target.js +0 -2
- package/es/components/Select/ui/Target/Target.js.map +1 -1
- package/es/components/Select/ui/Target/ui/Textfield/Textfield.css +3 -0
- package/es/components/Select/ui/Target/ui/Textfield/Textfield.js +33 -50
- package/es/components/Select/ui/Target/ui/Textfield/Textfield.js.map +1 -1
- package/es/components/Slider/Slider.css +3 -0
- package/es/components/Slider/components/DoubleUncontrolled/DoubleUncontrolled.css +3 -0
- package/es/components/Table/Table.css +3 -0
- package/es/components/Table/ui/Cell/Cell.css +3 -0
- package/es/components/Table/ui/EditableCell/EditableCell.css +3 -0
- package/es/components/Table/ui/HeadCell/HeadCell.css +3 -0
- package/es/components/Table/ui/HeadCell/ui/Filter/Filter.css +3 -0
- package/es/components/TextField/TextField.js +19 -3
- package/es/components/TextField/TextField.js.map +1 -1
- package/es/components/TextField/ui/TextFieldChipNew/TextFieldChipNew.css +58 -0
- package/es/components/TextField/ui/TextFieldChipNew/TextFieldChipNew.js +78 -0
- package/es/components/TextField/ui/TextFieldChipNew/TextFieldChipNew.js.map +1 -0
- package/es/components/TextField/ui/TextFieldChipNew/TextFieldChipNew.styles.js +21 -0
- package/es/components/TextField/ui/TextFieldChipNew/TextFieldChipNew.styles.js.map +1 -0
- package/es/components/TextField/ui/TextFieldChipNew/TextFieldChipNew.styles_y9tozi.css +2 -0
- package/es/index.css +10 -6
- package/package.json +2 -2
- package/styled-components/cjs/components/CodeField/CodeField.js +61 -23
- package/styled-components/cjs/components/CodeField/CodeField.styles.js +14 -5
- package/styled-components/cjs/components/CodeField/hooks/useWebOTP.js +246 -0
- package/styled-components/cjs/components/CodeField/utils/handleCodeError.js +2 -2
- package/styled-components/cjs/components/CodeField/utils/handleItemError.js +12 -3
- package/styled-components/cjs/components/CodeField/utils/index.js +4 -0
- package/styled-components/cjs/components/CodeField/utils/isWebOTPSupported.js +13 -0
- package/styled-components/cjs/components/Combobox/ComboboxNew/Combobox.js +57 -64
- package/styled-components/cjs/components/Combobox/ComboboxNew/hooks/getPathMaps.js +2 -5
- package/styled-components/cjs/components/Combobox/ComboboxNew/utils/index.js +0 -4
- package/styled-components/cjs/components/DatePicker/RangeDate/RangeDate.js +24 -22
- package/styled-components/cjs/components/Popover/Popover.js +3 -1
- package/styled-components/cjs/components/Select/Select.js +26 -9
- package/styled-components/cjs/components/Select/hooks/usePathMaps.js +2 -5
- package/styled-components/cjs/components/Select/ui/Target/Target.js +1 -2
- package/styled-components/cjs/components/Select/ui/Target/ui/Textfield/Textfield.js +32 -71
- package/styled-components/cjs/components/Select/utils/index.js +0 -4
- package/styled-components/cjs/components/TextField/TextField.js +19 -3
- package/styled-components/cjs/components/TextField/ui/TextFieldChipNew/TextFieldChipNew.js +78 -0
- package/styled-components/cjs/components/TextField/ui/TextFieldChipNew/TextFieldChipNew.styles.js +114 -0
- package/styled-components/cjs/components/TextField/ui/index.js +12 -3
- package/styled-components/cjs/examples/components/Combobox/Combobox.js +15 -0
- package/styled-components/cjs/examples/components/Range/Range.config.js +46 -0
- package/styled-components/es/components/CodeField/CodeField.js +64 -26
- package/styled-components/es/components/CodeField/CodeField.styles.js +11 -5
- package/styled-components/es/components/CodeField/hooks/useWebOTP.js +236 -0
- package/styled-components/es/components/CodeField/utils/handleCodeError.js +2 -2
- package/styled-components/es/components/CodeField/utils/handleItemError.js +12 -3
- package/styled-components/es/components/CodeField/utils/index.js +1 -0
- package/styled-components/es/components/CodeField/utils/isWebOTPSupported.js +3 -0
- package/styled-components/es/components/Combobox/ComboboxNew/Combobox.js +58 -65
- package/styled-components/es/components/Combobox/ComboboxNew/hooks/getPathMaps.js +2 -5
- package/styled-components/es/components/Combobox/ComboboxNew/utils/index.js +0 -1
- package/styled-components/es/components/DatePicker/RangeDate/RangeDate.js +24 -22
- package/styled-components/es/components/Popover/Popover.js +4 -2
- package/styled-components/es/components/Select/Select.js +26 -9
- package/styled-components/es/components/Select/hooks/usePathMaps.js +2 -5
- package/styled-components/es/components/Select/ui/Target/Target.js +1 -2
- package/styled-components/es/components/Select/ui/Target/ui/Textfield/Textfield.js +33 -72
- package/styled-components/es/components/Select/utils/index.js +0 -1
- package/styled-components/es/components/TextField/TextField.js +20 -4
- package/styled-components/es/components/TextField/ui/TextFieldChipNew/TextFieldChipNew.js +63 -0
- package/styled-components/es/components/TextField/ui/TextFieldChipNew/TextFieldChipNew.styles.js +92 -0
- package/styled-components/es/components/TextField/ui/index.js +1 -0
- package/styled-components/es/examples/components/Combobox/Combobox.js +7 -0
- package/styled-components/es/examples/components/Range/Range.config.js +46 -0
- package/types/components/CodeField/CodeField.d.ts.map +1 -1
- package/types/components/CodeField/CodeField.styles.d.ts +1 -0
- package/types/components/CodeField/CodeField.styles.d.ts.map +1 -1
- package/types/components/CodeField/hooks/useWebOTP.d.ts +20 -0
- package/types/components/CodeField/hooks/useWebOTP.d.ts.map +1 -0
- package/types/components/CodeField/utils/handleCodeError.d.ts +2 -2
- package/types/components/CodeField/utils/handleCodeError.d.ts.map +1 -1
- package/types/components/CodeField/utils/handleItemError.d.ts +3 -2
- package/types/components/CodeField/utils/handleItemError.d.ts.map +1 -1
- package/types/components/CodeField/utils/index.d.ts +1 -0
- package/types/components/CodeField/utils/index.d.ts.map +1 -1
- package/types/components/CodeField/utils/isWebOTPSupported.d.ts +2 -0
- package/types/components/CodeField/utils/isWebOTPSupported.d.ts.map +1 -0
- package/types/components/Combobox/ComboboxNew/Combobox.d.ts.map +1 -1
- package/types/components/Combobox/ComboboxNew/hooks/getPathMaps.d.ts +1 -2
- package/types/components/Combobox/ComboboxNew/hooks/getPathMaps.d.ts.map +1 -1
- package/types/components/Combobox/ComboboxNew/utils/index.d.ts +0 -1
- package/types/components/Combobox/ComboboxNew/utils/index.d.ts.map +1 -1
- package/types/components/DatePicker/RangeDate/RangeDate.d.ts.map +1 -1
- package/types/components/Popover/Popover.d.ts.map +1 -1
- package/types/components/Select/Select.d.ts.map +1 -1
- package/types/components/Select/hooks/usePathMaps.d.ts +1 -2
- package/types/components/Select/hooks/usePathMaps.d.ts.map +1 -1
- package/types/components/Select/ui/Target/Target.d.ts +0 -1
- package/types/components/Select/ui/Target/Target.d.ts.map +1 -1
- package/types/components/Select/ui/Target/Target.types.d.ts +1 -2
- package/types/components/Select/ui/Target/Target.types.d.ts.map +1 -1
- package/types/components/Select/ui/Target/ui/Textfield/Textfield.d.ts.map +1 -1
- package/types/components/Select/ui/Target/ui/Textfield/Textfield.types.d.ts +1 -1
- package/types/components/Select/ui/Target/ui/Textfield/Textfield.types.d.ts.map +1 -1
- package/types/components/Select/utils/index.d.ts +0 -1
- package/types/components/Select/utils/index.d.ts.map +1 -1
- package/types/components/TextField/TextField.d.ts.map +1 -1
- package/types/components/TextField/ui/TextFieldChipNew/TextFieldChipNew.d.ts +21 -0
- package/types/components/TextField/ui/TextFieldChipNew/TextFieldChipNew.d.ts.map +1 -0
- package/types/components/TextField/ui/TextFieldChipNew/TextFieldChipNew.styles.d.ts +3 -0
- package/types/components/TextField/ui/TextFieldChipNew/TextFieldChipNew.styles.d.ts.map +1 -0
- package/types/components/TextField/ui/index.d.ts +1 -0
- package/types/components/TextField/ui/index.d.ts.map +1 -1
- package/types/examples/components/Range/Range.config.d.ts +1 -0
- package/types/examples/components/Range/Range.config.d.ts.map +1 -1
- package/types/examples/components/Range/Range.d.ts +1 -0
- package/types/examples/components/Range/Range.d.ts.map +1 -1
- package/cjs/components/Combobox/ComboboxNew/utils/getRemovedElement.js +0 -17
- package/cjs/components/Combobox/ComboboxNew/utils/getRemovedElement.js.map +0 -1
- package/cjs/components/Select/utils/getRemovedElement.js +0 -17
- package/cjs/components/Select/utils/getRemovedElement.js.map +0 -1
- package/emotion/cjs/components/Combobox/ComboboxNew/utils/getRemovedElement.js +0 -20
- package/emotion/cjs/components/Select/utils/getRemovedElement.js +0 -20
- package/emotion/es/components/Combobox/ComboboxNew/utils/getRemovedElement.js +0 -10
- package/emotion/es/components/Select/utils/getRemovedElement.js +0 -10
- package/es/components/Combobox/ComboboxNew/utils/getRemovedElement.js +0 -13
- package/es/components/Combobox/ComboboxNew/utils/getRemovedElement.js.map +0 -1
- package/es/components/Select/utils/getRemovedElement.js +0 -13
- package/es/components/Select/utils/getRemovedElement.js.map +0 -1
- package/styled-components/cjs/components/Combobox/ComboboxNew/utils/getRemovedElement.js +0 -20
- package/styled-components/cjs/components/Select/utils/getRemovedElement.js +0 -20
- package/styled-components/es/components/Combobox/ComboboxNew/utils/getRemovedElement.js +0 -10
- package/styled-components/es/components/Select/utils/getRemovedElement.js +0 -10
- package/types/components/Combobox/ComboboxNew/utils/getRemovedElement.d.ts +0 -2
- package/types/components/Combobox/ComboboxNew/utils/getRemovedElement.d.ts.map +0 -1
- package/types/components/Select/utils/getRemovedElement.d.ts +0 -2
- package/types/components/Select/utils/getRemovedElement.d.ts.map +0 -1
@@ -13,14 +13,18 @@ var handleItemError = function handleItemError(_ref) {
|
|
13
13
|
index = _ref.index,
|
14
14
|
newCode = _ref.newCode,
|
15
15
|
inputRefs = _ref.inputRefs,
|
16
|
-
|
17
|
-
codeSetter = _ref.codeSetter
|
16
|
+
setInnerValue = _ref.setInnerValue,
|
17
|
+
codeSetter = _ref.codeSetter,
|
18
|
+
onChange = _ref.onChange;
|
18
19
|
if (!inputRefs.current[index] || currentSymbol === ' ') {
|
19
20
|
return;
|
20
21
|
}
|
21
22
|
switch (itemErrorBehavior) {
|
22
23
|
case 'keep':
|
23
|
-
|
24
|
+
setInnerValue(newCode);
|
25
|
+
if (onChange) {
|
26
|
+
onChange(newCode.join(''));
|
27
|
+
}
|
24
28
|
(_inputRefs$current$in = inputRefs.current[index]) === null || _inputRefs$current$in === void 0 || _inputRefs$current$in.classList.add(CodeField_tokens.classes.itemError, CodeField_tokens.classes.itemErrorAnimation);
|
25
29
|
setTimeout(function () {
|
26
30
|
var _inputRefs$current$in2;
|
@@ -34,10 +38,16 @@ var handleItemError = function handleItemError(_ref) {
|
|
34
38
|
case 'forbid-enter':
|
35
39
|
newCode[index] = '';
|
36
40
|
codeSetter(newCode);
|
41
|
+
if (onChange) {
|
42
|
+
onChange(newCode.join(''));
|
43
|
+
}
|
37
44
|
break;
|
38
45
|
case 'remove-symbol':
|
39
46
|
default:
|
40
|
-
|
47
|
+
setInnerValue(newCode);
|
48
|
+
if (onChange) {
|
49
|
+
onChange(newCode.join(''));
|
50
|
+
}
|
41
51
|
(_inputRefs$current$in4 = inputRefs.current[index]) === null || _inputRefs$current$in4 === void 0 || _inputRefs$current$in4.classList.add(CodeField_tokens.classes.itemError, CodeField_tokens.classes.itemErrorFade, CodeField_tokens.classes.itemErrorAnimation);
|
42
52
|
setTimeout(function () {
|
43
53
|
var _inputRefs$current$in5;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"handleItemError.js","sources":["../../../../src/components/CodeField/utils/handleItemError.ts"],"sourcesContent":["import { Dispatch, MutableRefObject, SetStateAction } from 'react';\n\nimport type { ItemErrorBehavior } from '../CodeField.types';\nimport { classes } from '../CodeField.tokens';\n\nimport { ANIMATION_TIMEOUT } from './constants';\n\ntype ValidateSymbolsArgs = {\n currentSymbol: string;\n itemErrorBehavior: ItemErrorBehavior;\n index: number;\n newCode: Array<string>;\n inputRefs: MutableRefObject<Array<HTMLInputElement | null>>;\n
|
1
|
+
{"version":3,"file":"handleItemError.js","sources":["../../../../src/components/CodeField/utils/handleItemError.ts"],"sourcesContent":["import { Dispatch, MutableRefObject, SetStateAction } from 'react';\n\nimport type { ItemErrorBehavior } from '../CodeField.types';\nimport { classes } from '../CodeField.tokens';\n\nimport { ANIMATION_TIMEOUT } from './constants';\n\ntype ValidateSymbolsArgs = {\n currentSymbol: string;\n itemErrorBehavior: ItemErrorBehavior;\n index: number;\n newCode: Array<string>;\n inputRefs: MutableRefObject<Array<HTMLInputElement | null>>;\n setInnerValue: Dispatch<SetStateAction<Array<string>>>;\n codeSetter: (newCode: Array<string>) => void;\n onChange?: (value: string) => void;\n};\n\nexport const handleItemError = ({\n currentSymbol,\n itemErrorBehavior,\n index,\n newCode,\n inputRefs,\n setInnerValue,\n codeSetter,\n onChange,\n}: ValidateSymbolsArgs) => {\n if (!inputRefs.current[index] || currentSymbol === ' ') {\n return;\n }\n\n switch (itemErrorBehavior) {\n case 'keep':\n setInnerValue(newCode);\n if (onChange) {\n onChange(newCode.join(''));\n }\n\n inputRefs.current[index]?.classList.add(classes.itemError, classes.itemErrorAnimation);\n\n setTimeout(() => {\n inputRefs.current[index]?.classList.remove(classes.itemErrorAnimation);\n\n setTimeout(() => inputRefs.current[index]?.setSelectionRange(0, 1), 0);\n }, ANIMATION_TIMEOUT);\n\n break;\n case 'forbid-enter':\n newCode[index] = '';\n codeSetter(newCode);\n if (onChange) {\n onChange(newCode.join(''));\n }\n\n break;\n case 'remove-symbol':\n default:\n setInnerValue(newCode);\n if (onChange) {\n onChange(newCode.join(''));\n }\n\n inputRefs.current[index]?.classList.add(\n classes.itemError,\n classes.itemErrorFade,\n classes.itemErrorAnimation,\n );\n\n setTimeout(() => {\n const updatedCode = [...newCode];\n updatedCode[index] = '';\n\n codeSetter(updatedCode);\n\n inputRefs.current[index]?.classList.remove(\n classes.itemError,\n classes.itemErrorFade,\n classes.itemErrorAnimation,\n );\n }, ANIMATION_TIMEOUT);\n }\n};\n"],"names":["handleItemError","_ref","_inputRefs$current$in","_inputRefs$current$in4","currentSymbol","itemErrorBehavior","index","newCode","inputRefs","setInnerValue","codeSetter","onChange","current","join","classList","add","classes","itemError","itemErrorAnimation","setTimeout","_inputRefs$current$in2","remove","_inputRefs$current$in3","setSelectionRange","ANIMATION_TIMEOUT","itemErrorFade","_inputRefs$current$in5","updatedCode","_toConsumableArray"],"mappings":"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"}
|
@@ -0,0 +1,10 @@
|
|
1
|
+
'use strict';
|
2
|
+
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
4
|
+
|
5
|
+
var isWebOTPSupported = function isWebOTPSupported() {
|
6
|
+
return typeof window !== 'undefined' && 'OTPCredential' in window && navigator.credentials && typeof navigator.credentials.get === 'function';
|
7
|
+
};
|
8
|
+
|
9
|
+
exports.isWebOTPSupported = isWebOTPSupported;
|
10
|
+
//# sourceMappingURL=isWebOTPSupported.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"isWebOTPSupported.js","sources":["../../../../src/components/CodeField/utils/isWebOTPSupported.ts"],"sourcesContent":["export const isWebOTPSupported = () => {\n return (\n typeof window !== 'undefined' &&\n 'OTPCredential' in window &&\n navigator.credentials &&\n typeof navigator.credentials.get === 'function'\n );\n};\n"],"names":["isWebOTPSupported","window","navigator","credentials","get"],"mappings":";;;;IAAaA,iBAAiB,GAAG,SAApBA,iBAAiBA,GAAS;EACnC,OACI,OAAOC,MAAM,KAAK,WAAW,IAC7B,eAAe,IAAIA,MAAM,IACzBC,SAAS,CAACC,WAAW,IACrB,OAAOD,SAAS,CAACC,WAAW,CAACC,GAAG,KAAK,UAAU,CAAA;AAEvD;;;;"}
|
@@ -68,6 +68,9 @@
|
|
68
68
|
.TextFieldChip_styles_14q069b_s32p7ut__9f1b34fd{--plasma-chip-color:var(--plasma-textfield__chip-color);--plasma-chip-background:var(--plasma-textfield__chip-background);--plasma-chip-color-hover:var(--plasma-textfield__chip-color-hover);--plasma-chip-background-hover:var(--plasma-textfield__chip-background-hover);--plasma-chip-color-active:var(--plasma-textfield__chip-color-active);--plasma-chip-background-active:var(--plasma-textfield__chip-background-active);--plasma-chip-background-readonly:var(--plasma-textfield__chip-background-readonly);--plasma-chip-color-readonly:var(--plasma-textfield__chip-color-readonly);--plasma-chip-background-readonly-hover:var(--plasma-textfield__chip-background-readonly-hover);--plasma-chip-color-readonly-hover:var(--plasma-textfield__chip-color-readonly-hover);--plasma-chip-border-radius:var(--plasma-textfield__chip-border-radius);--plasma-chip-width:var(--plasma-textfield__chip-width);--plasma-chip-height:var(--plasma-textfield__chip-height);--plasma-chip-padding:var(--plasma-textfield__chip-padding);--plasma-chip-font-family:var(--plasma-textfield__chip-font-family);--plasma-chip-font-size:var(--plasma-textfield__chip-font-size);--plasma-chip-font-style:var(--plasma-textfield__chip-font-style);--plasma-chip-font-weight:var(--plasma-textfield__chip-font-weight);--plasma-chip-letter-spacing:var(--plasma-textfield__chip-letter-spacing);--plasma-chip-lineheight:var(--plasma-textfield__chip-line-height);--plasma-chip-clear-content-margin-left:var(--plasma-textfield__chip-clear-content-margin-left);--plasma-chip-clear-content-margin-right:var(--plasma-textfield__chip-clear-content-margin-right);--plasma-chip-close-icon-size:var(--plasma-textfield__chip-close-icon-size);--plasma-chip-close-icon-color:var(--plasma-textfield__chip-close-icon-color);--plasma-chip-focus-color:var(--plasma-textfield-focus-color);-webkit-scroll-snap-align:center;-moz-scroll-snap-align:center;-ms-scroll-snap-align:center;scroll-snap-align:center;-webkit-scroll-snap-stop:normal;-moz-scroll-snap-stop:normal;-ms-scroll-snap-stop:normal;scroll-snap-stop:normal;position:relative;}.TextFieldChip_styles_14q069b_s32p7ut__9f1b34fd::before{content:'';position:absolute;top:0.0625rem;left:0.0625rem;right:0.0625rem;bottom:0.0625rem;z-index:1;display:block;box-sizing:content-box;border:0.0625rem solid transparent;border-radius:calc(var(--plasma-textfield__chip-border-radius) - 0.1rem);-webkit-transition:box-shadow 0.2s ease-in-out;transition:box-shadow 0.2s ease-in-out;pointer-events:none;}.TextFieldChip_styles_14q069b_s32p7ut__9f1b34fd.TextFieldChip_styles_14q069b_focusVisible__9f1b34fd:focus::before,.TextFieldChip_styles_14q069b_s32p7ut__9f1b34fd[data-focus-visible-added]::before{outline:none;box-shadow:0 0 0 0.0625rem var(--plasma-textfield-focus-color);}.TextFieldChip_styles_14q069b_s32p7ut__9f1b34fd[readonly]{opacity:var(--plasma-textfield__chip-opacity-readonly);}
|
69
69
|
.TextFieldChip_styles_14q069b_t4nir3h__9f1b34fd{display:block;-webkit-flex:none;-ms-flex:none;flex:none;background:none;border:none;outline:none;padding:0;white-space:nowrap;cursor:pointer;font-family:var(--plasma-textfield-font-family);font-size:var(--plasma-textfield-font-size);font-style:var(--plasma-textfield-font-style);font-weight:var(--plasma-textfield-font-weight);-webkit-letter-spacing:var(--plasma-textfield-letter-spacing);-moz-letter-spacing:var(--plasma-textfield-letter-spacing);-ms-letter-spacing:var(--plasma-textfield-letter-spacing);letter-spacing:var(--plasma-textfield-letter-spacing);line-height:var(--plasma-textfield-line-height);color:var(--plasma-textfield-color);position:relative;}.TextFieldChip_styles_14q069b_t4nir3h__9f1b34fd::before{content:'';position:absolute;top:0.0625rem;left:0.0625rem;right:0.0625rem;bottom:0.0625rem;z-index:1;display:block;box-sizing:content-box;border:0.0625rem solid transparent;border-radius:calc(var(--plasma-textfield__chip-border-radius) - 0.1rem);-webkit-transition:box-shadow 0.2s ease-in-out;transition:box-shadow 0.2s ease-in-out;pointer-events:none;}.TextFieldChip_styles_14q069b_t4nir3h__9f1b34fd.TextFieldChip_styles_14q069b_focusVisible__9f1b34fd:focus::before,.TextFieldChip_styles_14q069b_t4nir3h__9f1b34fd[data-focus-visible-added]::before{outline:none;box-shadow:0 0 0 0.0625rem var(--plasma-textfield-focus-color);}.TextFieldChip_styles_14q069b_t4nir3h__9f1b34fd:after{content:',';}.TextFieldChip_styles_14q069b_t4nir3h__9f1b34fd:last-child:after{content:'';}
|
70
70
|
|
71
|
+
.TextFieldChipNew_styles_y9tozi_s11qqqhl__d1734be7{--plasma-chip-color:var(--plasma-textfield__chip-color);--plasma-chip-background:var(--plasma-textfield__chip-background);--plasma-chip-color-hover:var(--plasma-textfield__chip-color-hover);--plasma-chip-background-hover:var(--plasma-textfield__chip-background-hover);--plasma-chip-color-active:var(--plasma-textfield__chip-color-active);--plasma-chip-background-active:var(--plasma-textfield__chip-background-active);--plasma-chip-background-readonly:var(--plasma-textfield__chip-background-readonly);--plasma-chip-color-readonly:var(--plasma-textfield__chip-color-readonly);--plasma-chip-background-readonly-hover:var(--plasma-textfield__chip-background-readonly-hover);--plasma-chip-color-readonly-hover:var(--plasma-textfield__chip-color-readonly-hover);--plasma-chip-border-radius:var(--plasma-textfield__chip-border-radius);--plasma-chip-width:var(--plasma-textfield__chip-width);--plasma-chip-height:var(--plasma-textfield__chip-height);--plasma-chip-padding:var(--plasma-textfield__chip-padding);--plasma-chip-font-family:var(--plasma-textfield__chip-font-family);--plasma-chip-font-size:var(--plasma-textfield__chip-font-size);--plasma-chip-font-style:var(--plasma-textfield__chip-font-style);--plasma-chip-font-weight:var(--plasma-textfield__chip-font-weight);--plasma-chip-letter-spacing:var(--plasma-textfield__chip-letter-spacing);--plasma-chip-lineheight:var(--plasma-textfield__chip-line-height);--plasma-chip-clear-content-margin-left:var(--plasma-textfield__chip-clear-content-margin-left);--plasma-chip-clear-content-margin-right:var(--plasma-textfield__chip-clear-content-margin-right);--plasma-chip-close-icon-size:var(--plasma-textfield__chip-close-icon-size);--plasma-chip-close-icon-color:var(--plasma-textfield__chip-close-icon-color);--plasma-chip-focus-color:var(--plasma-textfield-focus-color);--plasma-chip-disabled-opacity:0.4;position:relative;}.TextFieldChipNew_styles_y9tozi_s11qqqhl__d1734be7::before{content:'';position:absolute;top:0.0625rem;left:0.0625rem;right:0.0625rem;bottom:0.0625rem;z-index:1;display:block;box-sizing:content-box;border:0.0625rem solid transparent;border-radius:calc(var(--plasma-textfield__chip-border-radius) - 0.1rem);-webkit-transition:box-shadow 0.2s ease-in-out;transition:box-shadow 0.2s ease-in-out;pointer-events:none;}.TextFieldChipNew_styles_y9tozi_s11qqqhl__d1734be7.TextFieldChipNew_styles_y9tozi_focusVisible__d1734be7:focus::before,.TextFieldChipNew_styles_y9tozi_s11qqqhl__d1734be7[data-focus-visible-added]::before{outline:none;box-shadow:0 0 0 0.0625rem var(--plasma-textfield-focus-color);}.TextFieldChipNew_styles_y9tozi_s11qqqhl__d1734be7[readonly]{opacity:var(--plasma-textfield__chip-opacity-readonly);}
|
72
|
+
.TextFieldChipNew_styles_y9tozi_t10z5awc__d1734be7{display:block;-webkit-flex:none;-ms-flex:none;flex:none;background:none;border:none;outline:none;padding:0;white-space:nowrap;cursor:pointer;font-family:var(--plasma-textfield-font-family);font-size:var(--plasma-textfield-font-size);font-style:var(--plasma-textfield-font-style);font-weight:var(--plasma-textfield-font-weight);-webkit-letter-spacing:var(--plasma-textfield-letter-spacing);-moz-letter-spacing:var(--plasma-textfield-letter-spacing);-ms-letter-spacing:var(--plasma-textfield-letter-spacing);letter-spacing:var(--plasma-textfield-letter-spacing);line-height:var(--plasma-textfield-line-height);color:var(--plasma-textfield-color);position:relative;}.TextFieldChipNew_styles_y9tozi_t10z5awc__d1734be7::before{content:'';position:absolute;top:0.0625rem;left:0.0625rem;right:0.0625rem;bottom:0.0625rem;z-index:1;display:block;box-sizing:content-box;border:0.0625rem solid transparent;border-radius:calc(var(--plasma-textfield__chip-border-radius) - 0.1rem);-webkit-transition:box-shadow 0.2s ease-in-out;transition:box-shadow 0.2s ease-in-out;pointer-events:none;}.TextFieldChipNew_styles_y9tozi_t10z5awc__d1734be7.TextFieldChipNew_styles_y9tozi_focusVisible__d1734be7:focus::before,.TextFieldChipNew_styles_y9tozi_t10z5awc__d1734be7[data-focus-visible-added]::before{outline:none;box-shadow:0 0 0 0.0625rem var(--plasma-textfield-focus-color);}.TextFieldChipNew_styles_y9tozi_t10z5awc__d1734be7:after{content:',';}.TextFieldChipNew_styles_y9tozi_t10z5awc__d1734be7:last-child:after{content:'';}
|
73
|
+
|
71
74
|
.TextField_1lzb2r1_bpunezx__7d079491{display:block;}
|
72
75
|
|
73
76
|
.Target_styles_13wbfyq_s1wiuml6__487b4bb1{--plasma-textfield-color:var(--plasma-combobox-new-textfield-color);--plasma-textfield-clear-color:var(--plasma-combobox-new-textfield-color);--plasma-textfield-bg-color:var(--plasma-combobox-new-textfield-background-color);--plasma-textfield-bg-color-hover:var(--plasma-combobox-new-textfield-background-color-hover);--plasma-textfield-bg-color-focus:var(--plasma-combobox-new-textfield-background-color-focus);--plasma-textfield-border-color:var(--plasma-combobox-new-textfield-border-color);--plasma-textfield-border-color-hover:var(--plasma-combobox-new-textfield-border-color-hover);--plasma-textfield-border-color-focus:var(--plasma-combobox-new-textfield-border-color-focus);--plasma-textfield-color-readonly:var(--plasma-combobox-new-textfield-color-readonly);--plasma-textfield-bg-color-readonly:var(--plasma-combobox-new-textfield-bg-color-readonly);--plasma-textfield-border-color-readonly:var(--plasma-combobox-new-textfield-border-color-readonly);--plasma-textfield__placeholder-color-readonly:var(--plasma-combobox-new-textfield-placeholder-color-readonly);--plasma-textfield__caret-color:var(--plasma-combobox-new-textfield-caret-color);--plasma-textfield__placeholder-color:var(--plasma-combobox-new-textfield-placeholder-color);--plasma-textfield__placeholder-color-focus:var(--plasma-combobox-new-textfield-placeholder-color-focus);--plasma-textfield__clear-placeholder-color:var(--plasma-combobox-new-textfield-clear-placeholder-color);--plasma-textfield__clear-placeholder-color-focus:var(--plasma-combobox-new-textfield-clear-placeholder-color-focus);--plasma-textfield__optional-color:var(--plasma-combobox-new-textfield-optional-color);--plasma-textfield-height:var(--plasma-combobox-new-textfield-height);--plasma-textfield-border-width:var(--plasma-combobox-new-textfield-border-width);--plasma-textfield-border-radius:var(--plasma-combobox-new-textfield-border-radius);--plasma-textfield-padding:var(--plasma-combobox-new-textfield-padding);--plasma-textfield-padding-with-chips:var(--plasma-combobox-new-textfield-padding-with-chips);--plasma-textfield__left-content-margin:var(--plasma-combobox-new-textfield-left-content-margin);--plasma-textfield__right-content-margin:var(--plasma-combobox-new-textfield-right-content-margin);--plasma-textfield__right-content-with-hint-margin:var(--plasma-combobox-textfield-right-content-with-hint-margin);--plasma-textfield-content-right-wrapper-gap:var(--plasma-combobox-textfield-content-right-wrapper-gap);--plasma-textfield-content-right-wrapper-margin:var(--plasma-combobox-textfield-content-right-wrapper-margin);--plasma-textfield-font-family:var(--plasma-combobox-new-textfield-font-family);--plasma-textfield-font-style:var(--plasma-combobox-new-textfield-font-style);--plasma-textfield-font-size:var(--plasma-combobox-new-textfield-font-size);--plasma-textfield-font-weight:var(--plasma-combobox-new-textfield-font-weight);--plasma-textfield-letter-spacing:var(--plasma-combobox-new-textfield-letter-spacing);--plasma-textfield-line-height:var(--plasma-combobox-new-textfield-line-height);--plasma-textfield-content-slot-color:var(--plasma-combobox-new-textfield-content-slot-color);--plasma-textfield-content-slot-color-hover:var(--plasma-combobox-new-textfield-content-slot-color-hover);--plasma-textfield-content-slot-color-active:var(--plasma-combobox-new-textfield-content-slot-color-active);--plasma-textfield-content-right-slot-color:var(--plasma-combobox-new-textfield-content-right-slot-color);--plasma-textfield-content-right-slot-color-hover:var(--plasma-combobox-new-textfield-content-right-slot-color-hover);--plasma-textfield-content-right-slot-color-active:var(--plasma-combobox-new-textfield-content-right-slot-color-active);--plasma-textfield__label-color:var(--plasma-combobox-new-textfield-label-color);--plasma-textfield__label-color-readonly:var(--plasma-combobox-new-textfield-label-color-readonly);--plasma-textfield__label-offset:var(--plasma-combobox-new-textfield-label-offset);--plasma-textfield__clear-label-offset:var(--plasma-combobox-new-textfield-clear-label-offset);--plasma-textfield__label-font-family:var(--plasma-combobox-new-textfield-label-font-family);--plasma-textfield__label-font-style:var(--plasma-combobox-new-textfield-label-font-style);--plasma-textfield__label-font-size:var(--plasma-combobox-new-textfield-label-font-size);--plasma-textfield__label-font-weight:var(--plasma-combobox-new-textfield-label-font-weight);--plasma-textfield__label-letter-spacing:var(--plasma-combobox-new-textfield-label-letter-spacing);--plasma-textfield__label-line-height:var(--plasma-combobox-new-textfield-label-line-height);--plasma-textfield-placement_inner__label-font-family:var(--plasma-combobox-new-textfield-placement_inner-label-font-family);--plasma-textfield-placement_inner__label-font-style:var(--plasma-combobox-new-textfield-placement_inner-label-font-style);--plasma-textfield-placement_inner__label-font-size:var(--plasma-combobox-new-textfield-placement_inner-label-font-size);--plasma-textfield-placement_inner__label-font-weight:var(--plasma-combobox-new-textfield-placement_inner-label-font-weight);--plasma-textfield-placement_inner__label-letter-spacing:var(--plasma-combobox-new-textfield-placement_inner-label-letter-spacing);--plasma-textfield-placement_inner__label-line-height:var(--plasma-combobox-new-textfield-placement_inner-label-line-height);--plasma-textfield-placement_inner__label-padding:var(--plasma-combobox-new-textfield-placement_inner-label-padding);--plasma-textfield-placement_inner__content-padding:var(--plasma-combobox-new-textfield-placement_inner-content-padding);--plasma-textfield__title-caption-color:var(--plasma-combobox-new-textfield-title-caption-color);--plasma-textfield__title-caption-color-readonly:var(--plasma-combobox-new-textfield-title-caption-color-readonly);--plasma-textfield__title-caption-label-inner-offset:var(--plasma-combobox-new-textfield-title-caption-label-inner-offset);--plasma-textfield__title-caption-font-family:var(--plasma-combobox-new-textfield-title-caption-font-family);--plasma-textfield__title-caption-font-style:var(--plasma-combobox-new-textfield-title-caption-font-style);--plasma-textfield__title-caption-font-size:var(--plasma-combobox-new-textfield-title-caption-font-size);--plasma-textfield__title-caption-font-weight:var(--plasma-combobox-new-textfield-title-caption-font-weight);--plasma-textfield__title-caption-letter-spacing:var(--plasma-combobox-new-textfield-title-caption-letter-spacing);--plasma-textfield__title-caption-line-height:var(--plasma-combobox-new-textfield-title-caption-line-height);--plasma-textfield__left-helper-color:var(--plasma-combobox-new-textfield-left-helper-color);--plasma-textfield__left-helper-color-readonly:var(--plasma-combobox-new-textfield-left-helper-color-readonly);--plasma-textfield__left-helper-offset:var(--plasma-combobox-new-textfield-left-helper-offset);--plasma-textfield__left-helper-font-family:var(--plasma-combobox-new-textfield-left-helper-font-family);--plasma-textfield__left-helper-font-style:var(--plasma-combobox-new-textfield-left-helper-font-style);--plasma-textfield__left-helper-font-size:var(--plasma-combobox-new-textfield-left-helper-font-size);--plasma-textfield__left-helper-font-weight:var(--plasma-combobox-new-textfield-left-helper-font-weight);--plasma-textfield__left-helper-letter-spacing:var(--plasma-combobox-new-textfield-left-helper-letter-spacing);--plasma-textfield__left-helper-line-height:var(--plasma-combobox-new-textfield-left-helper-line-height);--plasma-textfield__before-text-color:var(--plasma-combobox-new-textfield-before-text-color);--plasma-textfield__after-text-color:var(--plasma-combobox-new-textfield-after-text-color);--plasma-textfield__before-text-margin:var(--plasma-combobox-new-textfield-before-text-margin);--plasma-textfield__after-text-margin:var(--plasma-combobox-new-textfield-after-text-margin);--plasma-textfield-disabled-opacity:var(--plasma-combobox-new-textfield-disabled-opacity);--plasma-textfield__hint-custom-icon-target-size:var(--plasma-combobox-textfield__hint-custom-icon-target-size);--plasma-textfield__hint-margin:var(--plasma-combobox-textfield__hint-margin);--plasma-textfield__hint-target-size:var(--plasma-combobox-textfield__hint-target-size);--plasma-textfield__hint-icon-color:var(--plasma-combobox-textfield__hint-icon-color);--plasma-textfield__hint-inner-label-placement-offset:var(--plasma-combobox-textfield__hint-inner-label-placement-offset);--plasma-textfield__clear-hint-inner-label-placement-offset:var(--plasma-combobox-textfield__clear-hint-inner-label-placement-offset);--plasma-textfield__tooltip-background-color:var(--plasma-combobox-textfield__tooltip-background-color);--plasma-textfield__tooltip-box-shadow:var(--plasma-combobox-textfield__tooltip-box-shadow);--plasma-textfield__tooltip-color:var(--plasma-combobox-textfield__tooltip-color);--plasma-textfield__tooltip-padding-top:var(--plasma-combobox-textfield__tooltip-padding-top);--plasma-textfield__tooltip-padding-right:var(--plasma-combobox-textfield__tooltip-padding-right);--plasma-textfield__tooltip-padding-bottom:var(--plasma-combobox-textfield__tooltip-padding-bottom);--plasma-textfield__tooltip-padding-left:var(--plasma-combobox-textfield__tooltip-padding-left);--plasma-textfield__tooltip-min-height:var(--plasma-combobox-textfield__tooltip-min-height);--plasma-textfield__tooltip-border-radius:var(--plasma-combobox-textfield__tooltip-border-radius);--plasma-textfield__tooltip-text-font-family:var(--plasma-combobox-textfield__tooltip-text-font-family);--plasma-textfield__tooltip-text-font-size:var(--plasma-combobox-textfield__tooltip-text-font-size);--plasma-textfield__tooltip-text-font-style:var(--plasma-combobox-textfield__tooltip-text-font-style);--plasma-textfield__tooltip-text-font-weight:var(--plasma-combobox-textfield__tooltip-text-font-weight);--plasma-textfield__tooltip-text-font-letter-spacing:var(--plasma-combobox-textfield__tooltip-text-font-letter-spacing);--plasma-textfield__tooltip-text-font-line-height:var(--plasma-combobox-textfield__tooltip-text-font-line-height);--plasma-textfield__tooltip-content-left-margin:var(--plasma-combobox-textfield__tooltip-content-left-margin);--plasma-textfield__tooltip-arrow-mask-width:var(--plasma-combobox-textfield__tooltip-arrow-mask-width);--plasma-textfield__tooltip-arrow-mask-height:var(--plasma-combobox-textfield__tooltip-arrow-mask-height);--plasma-textfield__tooltip-arrow-mask-image:var(--plasma-combobox-textfield__tooltip-arrow-mask-image);--plasma-textfield__tooltip-arrow-height:var(--plasma-combobox-textfield__tooltip-arrow-height);--plasma-textfield__tooltip-arrow-edge-margin:var(--plasma-combobox-textfield__tooltip-arrow-edge-margin);--plasma-textfield__tooltip-arrow-background:var(--plasma-combobox-textfield__tooltip-arrow-background);--plasma-textfield__chip-height:var(--plasma-combobox-new-textfield-chip-height);--plasma-textfield__chip-border-radius:var(--plasma-combobox-new-textfield-chip-border-radius);--plasma-textfield__chip-gap:var(--plasma-combobox-new-textfield-chip-gap);--plasma-textfield__chip-background:var(--plasma-combobox-new-textfield--chip-background);--plasma-textfield__chip-color:var(--plasma-combobox-new-textfield-chip-color);--plasma-textfield__chip-background-hover:var(--plasma-combobox-new-textfield-chip-background-hover);--plasma-textfield__chip-color-hover:var(--plasma-combobox-new-textfield-chip-color-hover);--plasma-textfield__chip-background-readonly:var(--plasma-combobox-new-textfield-chip-background-read-only);--plasma-textfield__chip-color-readonly:var(--plasma-combobox-new-textfield-chip-color-read-only);--plasma-textfield__chip-background-readonly-hover:var(--plasma-combobox-new-textfield-chip-background-read-only-hover);--plasma-textfield__chip-color-readonly-hover:var(--plasma-combobox-new-textfield-chip-color-read-only-hover);--plasma-textfield__chip-background-active:var(--plasma-combobox-new-textfield-chip-background-active);--plasma-textfield__chip-color-active:var(--plasma-combobox-new-textfield-chip-color-active);--plasma-textfield__chip-close-icon-color:var(--plasma-combobox-new-textfield-chip-close-icons-color);--plasma-textfield__chip-outline-size:var(--plasma-combobox-new-textfield-chip-outline-size);--plasma-textfield__chip-width:var(--plasma-combobox-new-textfield-chip-width);--plasma-textfield__chip-padding:var(--plasma-combobox-new-textfield-chip-padding);--plasma-textfield__chip-close-icon-size:var(--plasma-combobox-new-textfield-chip-close-icon-size);--plasma-textfield__chip-font-family:var(--plasma-combobox-new-textfield-chip-font-family);--plasma-textfield__chip-font-size:var(--plasma-combobox-new-textfield-chip-font-size);--plasma-textfield__chip-font-style:var(--plasma-combobox-new-textfield-chip-font-style);--plasma-textfield__chip-font-weight:var(--plasma-combobox-new-textfield-chip-font-weight);--plasma-textfield__chip-letter-spacing:var(--plasma-combobox-new-textfield-chip-letter-spacing);--plasma-textfield__chip-line-height:var(--plasma-combobox-new-textfield-chip-line-height);--plasma-textfield__chip-clear-content-margin-left:var(--plasma-combobox-new-textfield-chip-clear-content-margin-left);--plasma-textfield__chip-clear-content-margin-right:var(--plasma-combobox-new-textfield-chip-clear-content-margin-right);--plasma-textfield__chip-opacity-readonly:var(--plasma-combobox-new-textfield-chip-opacity-readonly);--plasma-textfield-focus-color:var(--plasma-combobox-new-textfield-focus-color);--plasma-textfield__indicator-color:var(--plasma-combobox-new-textfield-indicator-color);--plasma-textfield__indicator-size-inner:var(--plasma-combobox-new-textfield-indicator-size-inner);--plasma-textfield__indicator-size-outer:var(--plasma-combobox-new-textfield-indicator-size-outer);--plasma-textfield__indicator-placement-inner:var(--plasma-combobox-new-textfield-indicator-placement-inner);--plasma-textfield__indicator-placement-outer:var(--plasma-combobox-new-textfield-indicator-placement-outer);--plasma-textfield__indicator-placement-inner-right:var(--plasma-combobox-new-textfield-indicator-placement-inner-right);--plasma-textfield__indicator-placement-outer-right:var(--plasma-combobox-new-textfield-indicator-placement-outer-right);--plasma-textfield__clear-indicator-placement-inner:var(--plasma-combobox-new-textfield-clear-indicator-placement-inner);--plasma-textfield__clear-indicator-placement-inner-right:var(--plasma-combobox-new-textfield-clear-indicator-placement-inner-right);--plasma-textfield__clear-indicator-hint-placement-inner-right:var(--plasma-combobox-new-textfield-clear-indicator-hint-placement-inner-right);--plasma-textfield-box-shadow:var(--plasma-select-textfield-box-shadow);}
|
@@ -32,7 +32,6 @@ var getItemId = require('./utils/getItemId.js');
|
|
32
32
|
var SelectAll = require('./ui/SelectAll/SelectAll.js');
|
33
33
|
var VirtualList = require('./ui/VirtualList/VirtualList.js');
|
34
34
|
var Inner = require('./ui/Inner/Inner.js');
|
35
|
-
var getRemovedElement = require('./utils/getRemovedElement.js');
|
36
35
|
|
37
36
|
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
38
37
|
|
@@ -105,10 +104,9 @@ var comboboxRoot = function comboboxRoot(Root) {
|
|
105
104
|
var _useMemo = React.useMemo(function () {
|
106
105
|
return getPathMaps.getTreeMaps(transformedItems);
|
107
106
|
}, [items]),
|
108
|
-
_useMemo2 = _rollupPluginBabelHelpers.slicedToArray(_useMemo,
|
107
|
+
_useMemo2 = _rollupPluginBabelHelpers.slicedToArray(_useMemo, 2),
|
109
108
|
valueToCheckedMap = _useMemo2[0],
|
110
|
-
valueToItemMap = _useMemo2[1]
|
111
|
-
labelToItemMap = _useMemo2[2];
|
109
|
+
valueToItemMap = _useMemo2[1];
|
112
110
|
var _useState = React.useState(getTextValue.getTextValue(multiple, outerValue, valueToItemMap, renderValue)),
|
113
111
|
_useState2 = _rollupPluginBabelHelpers.slicedToArray(_useState, 2),
|
114
112
|
textValue = _useState2[0],
|
@@ -214,40 +212,18 @@ var comboboxRoot = function comboboxRoot(Root) {
|
|
214
212
|
};
|
215
213
|
|
216
214
|
// Обработчик чипов
|
217
|
-
var
|
215
|
+
var handleChipClick = function handleChipClick(chip) {
|
218
216
|
if (!Array.isArray(value)) return;
|
219
|
-
|
220
|
-
|
221
|
-
|
222
|
-
if (renderValue && !isTargetAmount) {
|
223
|
-
var resultValues = _rollupPluginBabelHelpers.toConsumableArray(value);
|
224
|
-
value.forEach(function (_, index) {
|
217
|
+
if (isTargetAmount) {
|
218
|
+
// При закрытии чипа в режиме isTargetAmount в value оставляем только disabled-элементы
|
219
|
+
onChange(value.filter(function (val) {
|
225
220
|
var _valueToItemMap$get;
|
226
|
-
|
227
|
-
|
228
|
-
var labelAfterRenderValue = renderValue(label ? labelToItemMap.get(label) : {
|
229
|
-
value: stringValue,
|
230
|
-
label: stringValue.toString()
|
231
|
-
});
|
232
|
-
if (!chipLabels.includes(labelAfterRenderValue)) {
|
233
|
-
resultValues.splice(index, 1);
|
234
|
-
}
|
235
|
-
});
|
236
|
-
var removedItemValue = getRemovedElement.getRemovedElement(value, resultValues, isTargetAmount);
|
237
|
-
onChange(resultValues, removedItemValue ? valueToItemMap.get(removedItemValue) || {
|
238
|
-
value: removedItemValue,
|
239
|
-
label: removedItemValue.toString()
|
240
|
-
} : null);
|
221
|
+
return valueToItemMap === null || valueToItemMap === void 0 || (_valueToItemMap$get = valueToItemMap.get(val)) === null || _valueToItemMap$get === void 0 ? void 0 : _valueToItemMap$get.disabled;
|
222
|
+
}));
|
241
223
|
} else {
|
242
|
-
|
243
|
-
|
244
|
-
|
245
|
-
});
|
246
|
-
var _removedItemValue = getRemovedElement.getRemovedElement(value, newValues, isTargetAmount);
|
247
|
-
onChange(newValues, _removedItemValue ? valueToItemMap.get(_removedItemValue) || {
|
248
|
-
value: _removedItemValue,
|
249
|
-
label: _removedItemValue.toString()
|
250
|
-
} : null);
|
224
|
+
onChange(value.filter(function (val) {
|
225
|
+
return val !== chip.value;
|
226
|
+
}), valueToItemMap.get(chip.value) || null);
|
251
227
|
}
|
252
228
|
};
|
253
229
|
|
@@ -279,14 +255,28 @@ var comboboxRoot = function comboboxRoot(Root) {
|
|
279
255
|
return;
|
280
256
|
}
|
281
257
|
var checkedCopy = new Map(checked);
|
282
|
-
|
283
|
-
|
284
|
-
|
285
|
-
|
286
|
-
|
287
|
-
|
258
|
+
switch (checkedCopy.get(item.value)) {
|
259
|
+
// Если чекбокс в состоянии indeterminate
|
260
|
+
case 'indeterminate':
|
261
|
+
{
|
262
|
+
updateDescendants.updateDescendants(item, checkedCopy, true, valueToItemMap);
|
263
|
+
break;
|
264
|
+
}
|
265
|
+
// Если чекбокс в состоянии checked
|
266
|
+
case true:
|
267
|
+
{
|
268
|
+
updateDescendants.updateDescendants(item, checkedCopy, false, valueToItemMap);
|
269
|
+
checkedCopy.set(item.value, false);
|
270
|
+
break;
|
271
|
+
}
|
272
|
+
// Если чекбокс в состоянии unchecked
|
273
|
+
case false:
|
274
|
+
{
|
275
|
+
updateDescendants.updateDescendants(item, checkedCopy, true, valueToItemMap);
|
276
|
+
checkedCopy.set(item.value, true);
|
277
|
+
break;
|
278
|
+
}
|
288
279
|
}
|
289
|
-
updateAncestors.updateAncestors(item, checkedCopy);
|
290
280
|
var newValues = [];
|
291
281
|
valueToItemMap.forEach(function (item, key) {
|
292
282
|
if (checkedCopy.get(key)) {
|
@@ -356,19 +346,27 @@ var comboboxRoot = function comboboxRoot(Root) {
|
|
356
346
|
if (multiple && Array.isArray(value)) {
|
357
347
|
if (value.length === 0) return [];
|
358
348
|
if (isTargetAmount) {
|
359
|
-
return [
|
349
|
+
return [{
|
350
|
+
value: '_removeAll',
|
351
|
+
label: "\u0412\u044B\u0431\u0440\u0430\u043D\u043E ".concat(targetAmount || value.length),
|
352
|
+
disabled: value.every(function (val) {
|
353
|
+
var _valueToItemMap$get2;
|
354
|
+
return valueToItemMap === null || valueToItemMap === void 0 || (_valueToItemMap$get2 = valueToItemMap.get(val)) === null || _valueToItemMap$get2 === void 0 ? void 0 : _valueToItemMap$get2.disabled;
|
355
|
+
})
|
356
|
+
}];
|
360
357
|
}
|
361
|
-
|
362
|
-
|
363
|
-
|
364
|
-
|
365
|
-
|
366
|
-
|
367
|
-
|
368
|
-
|
369
|
-
|
370
|
-
|
371
|
-
|
358
|
+
return value.map(function (value) {
|
359
|
+
var _valueToItemMap$get3, _valueToItemMap$get4;
|
360
|
+
var currentLabel = renderValue ? renderValue(valueToItemMap.get(value) || {
|
361
|
+
value: value,
|
362
|
+
label: value
|
363
|
+
}) : ((_valueToItemMap$get3 = valueToItemMap.get(value)) === null || _valueToItemMap$get3 === void 0 ? void 0 : _valueToItemMap$get3.label) || value.toString();
|
364
|
+
return {
|
365
|
+
value: value,
|
366
|
+
label: currentLabel,
|
367
|
+
disabled: ((_valueToItemMap$get4 = valueToItemMap.get(value)) === null || _valueToItemMap$get4 === void 0 ? void 0 : _valueToItemMap$get4.disabled) || false
|
368
|
+
};
|
369
|
+
});
|
372
370
|
}
|
373
371
|
return [];
|
374
372
|
};
|
@@ -520,8 +518,8 @@ var comboboxRoot = function comboboxRoot(Root) {
|
|
520
518
|
keepPlaceholder: keepPlaceholder
|
521
519
|
}, multiple ? {
|
522
520
|
enumerationType: 'chip',
|
523
|
-
|
524
|
-
|
521
|
+
_chips: getChips(),
|
522
|
+
_onChipClick: handleChipClick
|
525
523
|
} : {
|
526
524
|
enumerationType: 'plain'
|
527
525
|
}, rest, {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Combobox.js","sources":["../../../../src/components/Combobox/ComboboxNew/Combobox.tsx"],"sourcesContent":["import React, { forwardRef, useState, useReducer, useMemo, useLayoutEffect, useRef } from 'react';\nimport type { ChangeEvent, ForwardedRef, MouseEvent } from 'react';\nimport { useForkRef } from '@salutejs/plasma-core';\nimport { safeUseId, isEmpty } from 'src/utils';\nimport { RootProps } from 'src/engines';\nimport { useOutsideClick, useDidMountLayoutEffect } from 'src/hooks';\n\nimport { sizeToIconSize } from '../../Select/utils';\n\nimport { classes } from './Combobox.tokens';\nimport { FloatingPopover } from './FloatingPopover';\nimport { useKeyNavigation, getItemByFocused } from './hooks/useKeyboardNavigation';\nimport {\n initialItemsTransform,\n updateAncestors,\n updateDescendants,\n updateSingleAncestors,\n filterItems,\n getItemId,\n getRemovedElement,\n getTextValue,\n} from './utils';\nimport { Inner, StyledTextField, VirtualList, SelectAll } from './ui';\nimport { pathReducer, focusedPathReducer } from './reducers';\nimport { getPathMap, getTreeMaps } from './hooks/getPathMaps';\nimport {\n Ul,\n base,\n StyledArrow,\n IconArrowWrapper,\n StyledEmptyState,\n StyledLeftHelper,\n ListWrapper,\n} from './Combobox.styles';\nimport type { ComboboxProps } from './Combobox.types';\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as sizeCSS } from './variations/_size/base';\nimport type { ItemOptionTransformed, ItemOption } from './ui/Inner/ui/Item/Item.types';\nimport { SelectNative } from './ui/SelectNative/SelectNative';\nimport { Context } from './Combobox.context';\n\n/**\n * Поле ввода с выпадающим списком и возможностью фильтрации и выбора элементов.\n */\n\nexport const comboboxRoot = (Root: RootProps<HTMLInputElement, Omit<ComboboxProps, 'items'>>) =>\n forwardRef<HTMLInputElement, ComboboxProps>((props, ref) => {\n const {\n name,\n multiple,\n value: outerValue,\n onChange: outerOnChange,\n defaultValue,\n isTargetAmount,\n targetAmount,\n items,\n placement = 'bottom-start',\n label,\n placeholder,\n helperText,\n contentLeft,\n textBefore,\n textAfter,\n variant = 'normal',\n listOverflow,\n listHeight,\n listMaxHeight,\n listWidth,\n portal,\n renderItem,\n view,\n size,\n labelPlacement,\n keepPlaceholder,\n readOnly = false,\n disabled = false,\n alwaysOpened = false,\n filter,\n closeAfterSelect: outerCloseAfterSelect,\n renderValue,\n zIndex,\n beforeList,\n afterList,\n virtual = false,\n hintView,\n hintSize,\n emptyStateDescription,\n onChangeValue,\n onScroll,\n onToggle,\n mode = 'default',\n // @ts-ignore\n _offset,\n ...rest\n } = props;\n\n const transformedItems = useMemo(() => initialItemsTransform(items || []), [items]);\n\n // Создаем структуры для быстрой работы с деревом\n const [valueToCheckedMap, valueToItemMap, labelToItemMap] = useMemo(() => getTreeMaps(transformedItems), [\n items,\n ]);\n\n const [textValue, setTextValue] = useState(getTextValue(multiple, outerValue, valueToItemMap, renderValue));\n\n const [internalValue, setInternalValue] = useState<string | string[]>(multiple ? [] : '');\n\n const value = outerValue !== null && outerValue !== undefined ? outerValue : internalValue;\n\n const inputRef = useRef<HTMLInputElement>(null);\n const floatingPopoverRef = useRef<HTMLDivElement>(null);\n const inputForkRef = useForkRef(inputRef, ref);\n const treeId = safeUseId();\n const listWrapperRef = useRef<HTMLDivElement>(null);\n\n const filteredItems = useMemo(\n () =>\n filterItems(\n transformedItems,\n textValue,\n getTextValue(multiple, value, valueToItemMap, renderValue),\n filter,\n ),\n [transformedItems, textValue, filter],\n );\n\n const [pathMap, focusedToValueMap] = useMemo(() => getPathMap(filteredItems), [filteredItems, textValue]);\n\n const initialPath = alwaysOpened ? ['root'] : [];\n\n // Состояния дерева элементов\n const [path, dispatchPath] = useReducer(pathReducer, initialPath);\n const [focusedPath, dispatchFocusedPath] = useReducer(focusedPathReducer, []);\n const [checked, setChecked] = useState(valueToCheckedMap);\n\n const isCurrentListOpen = Boolean(path[0]);\n const activeDescendantItemValue = getItemByFocused(focusedPath, focusedToValueMap)?.value || '';\n const withArrowInverse = isCurrentListOpen ? classes.arrowInverse : undefined;\n const closeAfterSelect = outerCloseAfterSelect ?? !multiple;\n\n // Логика работы при клике за пределами выпадающего списка\n const targetRef = useOutsideClick<HTMLUListElement>(() => {\n if (!isCurrentListOpen || alwaysOpened) {\n return;\n }\n\n dispatchPath({ type: 'reset' });\n dispatchFocusedPath({ type: 'reset' });\n\n if (onToggle) {\n onToggle(false);\n }\n\n // Возвращаем актуальное значение поля ввода после закрытия выпадающего списка.\n setTextValue(getTextValue(multiple, value, valueToItemMap, renderValue));\n }, floatingPopoverRef);\n\n // Эта функция срабатывает при изменении Combobox и\n // при изменении нативного Select для формы (срабатывает только после изменения internalValue и рендера).\n const onChange = (\n newValue: string | Array<string> | ChangeEvent<HTMLSelectElement> | null,\n item?: ItemOption | null,\n ) => {\n // Условие для отправки изменений наружу\n if (props.onChange) {\n // Условие для отправки, если комбобокс используется без формы.\n if (!props.name && (typeof newValue === 'string' || Array.isArray(newValue))) {\n props.onChange(newValue as any, item || null);\n }\n\n // Условие для отправки, если комбобокс используется с формой.\n if (props.name && typeof newValue === 'object' && !Array.isArray(newValue)) {\n props.onChange(newValue as any);\n }\n }\n\n // Условие для изменения внутреннего значения (только если newValue строка или массив строк).\n if (typeof newValue === 'string' || Array.isArray(newValue)) {\n setInternalValue(newValue);\n }\n };\n\n const handleClickArrow = (e: MouseEvent<HTMLElement>) => {\n handleListToggle(!isCurrentListOpen);\n\n // При клике на иконку закрытия фокус не должен становиться в инпут.\n e.stopPropagation();\n };\n\n // Обработчик изменения значения в инпуте\n const handleTextValueChange = (e: ChangeEvent<HTMLInputElement>) => {\n setTextValue(e.target.value);\n dispatchPath({ type: 'opened_first_level' });\n dispatchFocusedPath({ type: 'reset' });\n\n if (onChangeValue) {\n onChangeValue(e.target.value);\n }\n };\n\n // Обработчик чипов\n const handleChipsChange = (chipLabels: any[]) => {\n if (!Array.isArray(value)) return;\n\n // TODO: #1564\n // Из лейблов чипов получаем value у item и далее прокидываем его в onChange.\n if (renderValue && !isTargetAmount) {\n const resultValues = [...value];\n\n value.forEach((_, index) => {\n const stringValue = value[index];\n const label = valueToItemMap.get(stringValue)?.label;\n\n const labelAfterRenderValue = renderValue(\n label\n ? labelToItemMap.get(label)!\n : {\n value: stringValue,\n label: stringValue.toString(),\n },\n );\n\n if (!chipLabels.includes(labelAfterRenderValue)) {\n resultValues.splice(index, 1);\n }\n });\n\n const removedItemValue = getRemovedElement(value, resultValues, isTargetAmount);\n\n onChange(\n resultValues,\n removedItemValue\n ? valueToItemMap.get(removedItemValue) || {\n value: removedItemValue,\n label: removedItemValue.toString(),\n }\n : null,\n );\n } else {\n const newValues = chipLabels.map((chipLabel) => labelToItemMap.get(chipLabel)?.value || chipLabel);\n const removedItemValue = getRemovedElement(value, newValues, isTargetAmount);\n\n onChange(\n newValues,\n removedItemValue\n ? valueToItemMap.get(removedItemValue) || {\n value: removedItemValue,\n label: removedItemValue.toString(),\n }\n : null,\n );\n }\n };\n\n // Обработчик открытия/закрытия выпадающего списка\n const handleListToggle = (opened: boolean) => {\n if (disabled || readOnly) {\n return;\n }\n\n if (opened) {\n dispatchPath({ type: 'opened_first_level' });\n } else {\n dispatchFocusedPath({ type: 'reset' });\n dispatchPath({ type: 'reset' });\n }\n\n if (onToggle) {\n onToggle(opened);\n }\n };\n\n // Обработчик выбора чекбоксов (только при multiple)\n const handleCheckboxChange = (item: ItemOptionTransformed) => {\n if (!multiple) {\n return;\n }\n\n const checkedCopy = new Map(checked);\n\n if (!checkedCopy.get(item.value)) {\n checkedCopy.set(item.value, true);\n updateDescendants(item, checkedCopy, true, valueToItemMap);\n } else {\n checkedCopy.set(item.value, false);\n updateDescendants(item, checkedCopy, false);\n }\n\n updateAncestors(item, checkedCopy);\n\n const newValues: Array<string> = [];\n\n valueToItemMap.forEach((item, key) => {\n if (checkedCopy.get(key)) {\n newValues.push(item.value);\n }\n });\n\n // Оставляем values, которых нет в items.\n if (Array.isArray(value)) {\n value.forEach((val: string) => {\n if (!valueToItemMap.has(val)) {\n newValues.push(val);\n }\n });\n }\n\n if (!alwaysOpened && closeAfterSelect) {\n dispatchPath({ type: 'reset' });\n dispatchFocusedPath({ type: 'reset' });\n }\n\n if (onChange) {\n onChange(newValues, item);\n }\n };\n\n // Обработчик клика по айтему выпадающего списка\n const handleItemClick = (item: ItemOptionTransformed, e?: MouseEvent<HTMLElement>) => {\n if (!isEmpty(item?.items)) {\n return;\n }\n\n if (multiple) {\n handleCheckboxChange(item);\n return;\n }\n\n if (e) {\n e.stopPropagation();\n }\n\n const isCurrentChecked = checked.get(item.value);\n\n if (!alwaysOpened && closeAfterSelect) {\n dispatchPath({ type: 'reset' });\n dispatchFocusedPath({ type: 'reset' });\n }\n\n // Закрываем список, если элемент уже выбран.\n if (mode === 'radio' && isCurrentChecked) {\n return;\n }\n\n if (onChange) {\n onChange(isCurrentChecked ? '' : item.value, item);\n }\n };\n\n // Обработчик клика на таргет\n const handleTargetClick = () => {\n if (!isCurrentListOpen) {\n handleListToggle(true);\n }\n };\n\n const getChips = (): string[] => {\n if (multiple && Array.isArray(value)) {\n if (value.length === 0) return [];\n\n if (isTargetAmount) {\n return [`Выбрано ${targetAmount || value.length}`];\n }\n\n const renderValueMapper =\n renderValue &&\n ((stringValue: string) =>\n renderValue(\n valueToItemMap.get(stringValue) || { value: stringValue, label: stringValue.toString() },\n ));\n const valueToItemMapper = (stringValue: string) =>\n valueToItemMap.get(stringValue)?.label || stringValue.toString();\n\n return value.map(renderValueMapper || valueToItemMapper);\n }\n\n return [];\n };\n\n const handlePressDown = (item: ItemOptionTransformed, e?: MouseEvent<HTMLElement>) => {\n if (isEmpty(item.items)) {\n handleItemClick(item, e);\n } else if (multiple) {\n handleCheckboxChange(item);\n }\n };\n\n const helperTextStopPropagation = (event: MouseEvent<HTMLDivElement>) => {\n event.stopPropagation();\n };\n\n const { onKeyDown } = useKeyNavigation({\n focusedPath,\n dispatchFocusedPath,\n path,\n dispatchPath,\n pathMap,\n focusedToValueMap,\n handleListToggle,\n handlePressDown,\n setTextValue,\n multiple,\n value,\n textValue,\n valueToItemMap,\n });\n\n // В данном эффекте мы следим за изменениями value снаружи и вносим коррективы в дерево чекбоксов.\n // Пример: когда юзер очистил value извне, тогда нужно пройтись по элементам и выключить все чекбоксы.\n useLayoutEffect(() => {\n const checkedCopy = new Map(checked);\n\n checkedCopy.forEach((_, key) => {\n checkedCopy.set(key, false);\n });\n\n if (!isEmpty(value)) {\n if (Array.isArray(value)) {\n value.forEach((val) => {\n // Только если value находится в items, т.к. value может и не существовать в items.\n if (valueToItemMap.has(val)) {\n checkedCopy.set(val, true);\n updateDescendants(valueToItemMap.get(val)!, checkedCopy, true);\n updateAncestors(valueToItemMap.get(val)!, checkedCopy);\n }\n });\n } else {\n // Только если value находится в items, т.к. value может и не существовать в items.\n // eslint-disable-next-line no-lonely-if\n if (valueToItemMap.has(value)) {\n checkedCopy.set(value, 'done');\n updateSingleAncestors(valueToItemMap.get(value)!, checkedCopy, 'dot');\n }\n }\n }\n\n setChecked(checkedCopy);\n\n // В deps мы кладем именно outerValue и internalValue, а не просто value.\n // Т.к. вначале нужно отфильтровать и провалидировать outerValue и результат положить в переменную.\n // А переменную, содержащую сложные типы данных, нельзя помещать в deps.\n }, [outerValue, internalValue, items]);\n\n // При изменении value нужно возвращать значение в инпуте к исходному.\n useDidMountLayoutEffect(() => {\n setTextValue(getTextValue(multiple, value, valueToItemMap, renderValue));\n }, [outerValue, internalValue]);\n\n useLayoutEffect(() => {\n if (defaultValue) {\n setInternalValue(defaultValue);\n }\n }, [defaultValue]);\n\n return (\n <Root\n size={size}\n view={view}\n labelPlacement={labelPlacement}\n disabled={disabled}\n readOnly={readOnly}\n name={name}\n hintView={hintView}\n hintSize={hintSize}\n >\n {name && (\n <SelectNative\n items={valueToItemMap}\n name={name}\n value={internalValue}\n multiple={multiple}\n onChange={onChange}\n onSetValue={setInternalValue}\n ref={ref as ForwardedRef<HTMLInputElement>}\n />\n )}\n <div>\n <Context.Provider\n value={{\n focusedPath,\n checked,\n multiple,\n size,\n handleCheckboxChange,\n handleItemClick,\n variant,\n renderItem,\n treeId,\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n // eslint-disable-next-line no-underscore-dangle\n _checkboxAppearance: (rest as any)._checkboxAppearance,\n }}\n >\n <FloatingPopover\n ref={floatingPopoverRef}\n opened={isCurrentListOpen}\n placement={placement}\n portal={portal}\n listWidth={listWidth}\n offset={_offset}\n target={(referenceRef) => (\n <div onClick={handleTargetClick}>\n <StyledTextField\n ref={name ? inputRef : (inputForkRef as ForwardedRef<HTMLInputElement>)}\n inputWrapperRef={referenceRef}\n value={textValue}\n onChange={handleTextValueChange}\n size={size}\n view={view}\n disabled={disabled}\n readOnly={readOnly}\n label={label}\n placeholder={placeholder}\n contentLeft={contentLeft}\n contentRight={\n <IconArrowWrapper\n disabled={disabled}\n onClick={handleClickArrow}\n className={classes.comboboxTargetArrow}\n >\n <StyledArrow\n color=\"inherit\"\n size={sizeToIconSize(size)}\n className={withArrowInverse}\n />\n </IconArrowWrapper>\n }\n textBefore={textBefore}\n textAfter={textAfter}\n onKeyDown={onKeyDown}\n leftHelper={\n helperText && (\n <StyledLeftHelper onClick={helperTextStopPropagation}>\n {helperText}\n </StyledLeftHelper>\n )\n }\n role=\"combobox\"\n aria-autocomplete=\"list\"\n aria-controls={`${treeId}_tree_level_1`}\n aria-expanded={isCurrentListOpen}\n aria-activedescendant={\n activeDescendantItemValue\n ? getItemId(treeId, activeDescendantItemValue)\n : ''\n }\n labelPlacement={labelPlacement}\n keepPlaceholder={keepPlaceholder}\n {...(multiple\n ? {\n enumerationType: 'chip',\n chips: getChips(),\n onChangeChips: handleChipsChange,\n }\n : { enumerationType: 'plain' })}\n {...rest}\n _onEnterDisabled // Пропс для отключения обработчика Enter внутри Textfield\n />\n </div>\n )}\n zIndex={zIndex}\n isInner={false}\n >\n <Root\n size={size}\n view={view}\n labelPlacement={labelPlacement}\n disabled={disabled}\n readOnly={readOnly}\n name={name}\n >\n <ListWrapper ref={listWrapperRef} listWidth={listWidth}>\n <Ul\n role=\"tree\"\n id={`${treeId}_tree_level_1`}\n aria-multiselectable={Boolean(multiple)}\n listMaxHeight={listMaxHeight || listHeight}\n ref={targetRef}\n virtual={virtual}\n onScroll={virtual ? undefined : onScroll}\n >\n {beforeList}\n\n {isEmpty(filteredItems) ? (\n <StyledEmptyState\n className={classes.emptyStateWrapper}\n size={size}\n description={emptyStateDescription || 'Ничего не найдено'}\n />\n ) : (\n <>\n {props.multiple && props.selectAllOptions && (\n // TODO: #2004\n <SelectAll\n selectAllOptions={props.selectAllOptions}\n variant={variant}\n />\n )}\n\n {virtual ? (\n <VirtualList\n items={filteredItems}\n listMaxHeight={listMaxHeight || listHeight}\n onScroll={onScroll}\n />\n ) : (\n filteredItems.map((item, index) => (\n <Inner\n key={`${index}/0`}\n item={item}\n currentLevel={0}\n path={path}\n dispatchPath={dispatchPath}\n index={index}\n listWidth={listWidth}\n portal={listWrapperRef}\n />\n ))\n )}\n </>\n )}\n\n {afterList}\n </Ul>\n </ListWrapper>\n </Root>\n </FloatingPopover>\n </Context.Provider>\n </div>\n </Root>\n );\n });\n\nexport const comboboxConfig = {\n name: 'Select',\n tag: 'div',\n layout: comboboxRoot,\n base,\n variations: {\n view: {\n css: viewCSS,\n },\n size: {\n css: sizeCSS,\n },\n readOnly: {\n css: sizeCSS,\n },\n },\n defaults: {\n view: 'default',\n size: 'm',\n labelPlacement: 'outer',\n },\n};\n"],"names":["comboboxRoot","Root","forwardRef","props","ref","_getItemByFocused","_StyledLeftHelper","name","multiple","outerValue","value","defaultValue","isTargetAmount","targetAmount","items","_props$placement","placement","label","placeholder","helperText","contentLeft","textBefore","textAfter","_props$variant","variant","listHeight","listMaxHeight","listWidth","portal","renderItem","view","size","labelPlacement","keepPlaceholder","_props$readOnly","readOnly","_props$disabled","disabled","_props$alwaysOpened","alwaysOpened","filter","outerCloseAfterSelect","closeAfterSelect","renderValue","zIndex","beforeList","afterList","_props$virtual","virtual","hintView","hintSize","emptyStateDescription","onChangeValue","onScroll","onToggle","_props$mode","mode","_offset","rest","_objectWithoutProperties","_excluded","transformedItems","useMemo","initialItemsTransform","_useMemo","getTreeMaps","_useMemo2","_slicedToArray","valueToCheckedMap","valueToItemMap","labelToItemMap","_useState","useState","getTextValue","_useState2","textValue","setTextValue","_useState3","_useState4","internalValue","setInternalValue","undefined","inputRef","useRef","floatingPopoverRef","inputForkRef","useForkRef","treeId","safeUseId","listWrapperRef","filteredItems","filterItems","_useMemo3","getPathMap","_useMemo4","pathMap","focusedToValueMap","initialPath","_useReducer","useReducer","pathReducer","_useReducer2","path","dispatchPath","_useReducer3","focusedPathReducer","_useReducer4","focusedPath","dispatchFocusedPath","_useState5","_useState6","checked","setChecked","isCurrentListOpen","Boolean","activeDescendantItemValue","getItemByFocused","withArrowInverse","classes","arrowInverse","targetRef","useOutsideClick","type","onChange","newValue","item","Array","isArray","_typeof","handleClickArrow","e","handleListToggle","stopPropagation","handleTextValueChange","target","handleChipsChange","chipLabels","resultValues","_toConsumableArray","forEach","_","index","_valueToItemMap$get","stringValue","get","labelAfterRenderValue","toString","includes","splice","removedItemValue","getRemovedElement","newValues","map","chipLabel","_labelToItemMap$get","opened","handleCheckboxChange","checkedCopy","Map","set","updateDescendants","updateAncestors","key","push","val","has","handleItemClick","isEmpty","isCurrentChecked","handleTargetClick","getChips","length","concat","renderValueMapper","valueToItemMapper","_valueToItemMap$get2","handlePressDown","helperTextStopPropagation","event","_useKeyNavigation","useKeyNavigation","onKeyDown","useLayoutEffect","updateSingleAncestors","useDidMountLayoutEffect","React","createElement","SelectNative","onSetValue","Context","Provider","_checkboxAppearance","FloatingPopover","offset","referenceRef","onClick","StyledTextField","_extends","inputWrapperRef","contentRight","IconArrowWrapper","className","comboboxTargetArrow","StyledArrow","color","sizeToIconSize","leftHelper","StyledLeftHelper","role","getItemId","enumerationType","chips","onChangeChips","_onEnterDisabled","isInner","ListWrapper","Ul","id","StyledEmptyState","emptyStateWrapper","description","Fragment","selectAllOptions","SelectAll","VirtualList","Inner","currentLevel","comboboxConfig","tag","layout","base","variations","css","viewCSS","sizeCSS","defaults"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"Combobox.js","sources":["../../../../src/components/Combobox/ComboboxNew/Combobox.tsx"],"sourcesContent":["import React, { forwardRef, useState, useReducer, useMemo, useLayoutEffect, useRef } from 'react';\nimport type { ChangeEvent, ForwardedRef, MouseEvent } from 'react';\nimport { useForkRef } from '@salutejs/plasma-core';\nimport { safeUseId, isEmpty } from 'src/utils';\nimport { RootProps } from 'src/engines';\nimport { useOutsideClick, useDidMountLayoutEffect } from 'src/hooks';\n\nimport { sizeToIconSize } from '../../Select/utils';\n\nimport { classes } from './Combobox.tokens';\nimport { FloatingPopover } from './FloatingPopover';\nimport { useKeyNavigation, getItemByFocused } from './hooks/useKeyboardNavigation';\nimport {\n initialItemsTransform,\n updateAncestors,\n updateDescendants,\n updateSingleAncestors,\n filterItems,\n getItemId,\n getTextValue,\n} from './utils';\nimport { Inner, StyledTextField, VirtualList, SelectAll } from './ui';\nimport { pathReducer, focusedPathReducer } from './reducers';\nimport { getPathMap, getTreeMaps } from './hooks/getPathMaps';\nimport {\n Ul,\n base,\n StyledArrow,\n IconArrowWrapper,\n StyledEmptyState,\n StyledLeftHelper,\n ListWrapper,\n} from './Combobox.styles';\nimport type { ComboboxProps } from './Combobox.types';\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as sizeCSS } from './variations/_size/base';\nimport type { ItemOptionTransformed, ItemOption } from './ui/Inner/ui/Item/Item.types';\nimport { SelectNative } from './ui/SelectNative/SelectNative';\nimport { Context } from './Combobox.context';\n\n/**\n * Поле ввода с выпадающим списком и возможностью фильтрации и выбора элементов.\n */\n\nexport const comboboxRoot = (Root: RootProps<HTMLInputElement, Omit<ComboboxProps, 'items'>>) =>\n forwardRef<HTMLInputElement, ComboboxProps>((props, ref) => {\n const {\n name,\n multiple,\n value: outerValue,\n onChange: outerOnChange,\n defaultValue,\n isTargetAmount,\n targetAmount,\n items,\n placement = 'bottom-start',\n label,\n placeholder,\n helperText,\n contentLeft,\n textBefore,\n textAfter,\n variant = 'normal',\n listOverflow,\n listHeight,\n listMaxHeight,\n listWidth,\n portal,\n renderItem,\n view,\n size,\n labelPlacement,\n keepPlaceholder,\n readOnly = false,\n disabled = false,\n alwaysOpened = false,\n filter,\n closeAfterSelect: outerCloseAfterSelect,\n renderValue,\n zIndex,\n beforeList,\n afterList,\n virtual = false,\n hintView,\n hintSize,\n emptyStateDescription,\n onChangeValue,\n onScroll,\n onToggle,\n mode = 'default',\n // @ts-ignore\n _offset,\n ...rest\n } = props;\n\n const transformedItems = useMemo(() => initialItemsTransform(items || []), [items]);\n\n // Создаем структуры для быстрой работы с деревом\n const [valueToCheckedMap, valueToItemMap] = useMemo(() => getTreeMaps(transformedItems), [items]);\n\n const [textValue, setTextValue] = useState(getTextValue(multiple, outerValue, valueToItemMap, renderValue));\n\n const [internalValue, setInternalValue] = useState<string | string[]>(multiple ? [] : '');\n\n const value = outerValue !== null && outerValue !== undefined ? outerValue : internalValue;\n\n const inputRef = useRef<HTMLInputElement>(null);\n const floatingPopoverRef = useRef<HTMLDivElement>(null);\n const inputForkRef = useForkRef(inputRef, ref);\n const treeId = safeUseId();\n const listWrapperRef = useRef<HTMLDivElement>(null);\n\n const filteredItems = useMemo(\n () =>\n filterItems(\n transformedItems,\n textValue,\n getTextValue(multiple, value, valueToItemMap, renderValue),\n filter,\n ),\n [transformedItems, textValue, filter],\n );\n\n const [pathMap, focusedToValueMap] = useMemo(() => getPathMap(filteredItems), [filteredItems, textValue]);\n\n const initialPath = alwaysOpened ? ['root'] : [];\n\n // Состояния дерева элементов\n const [path, dispatchPath] = useReducer(pathReducer, initialPath);\n const [focusedPath, dispatchFocusedPath] = useReducer(focusedPathReducer, []);\n const [checked, setChecked] = useState(valueToCheckedMap);\n\n const isCurrentListOpen = Boolean(path[0]);\n const activeDescendantItemValue = getItemByFocused(focusedPath, focusedToValueMap)?.value || '';\n const withArrowInverse = isCurrentListOpen ? classes.arrowInverse : undefined;\n const closeAfterSelect = outerCloseAfterSelect ?? !multiple;\n\n // Логика работы при клике за пределами выпадающего списка\n const targetRef = useOutsideClick<HTMLUListElement>(() => {\n if (!isCurrentListOpen || alwaysOpened) {\n return;\n }\n\n dispatchPath({ type: 'reset' });\n dispatchFocusedPath({ type: 'reset' });\n\n if (onToggle) {\n onToggle(false);\n }\n\n // Возвращаем актуальное значение поля ввода после закрытия выпадающего списка.\n setTextValue(getTextValue(multiple, value, valueToItemMap, renderValue));\n }, floatingPopoverRef);\n\n // Эта функция срабатывает при изменении Combobox и\n // при изменении нативного Select для формы (срабатывает только после изменения internalValue и рендера).\n const onChange = (\n newValue: string | Array<string> | ChangeEvent<HTMLSelectElement> | null,\n item?: ItemOption | null,\n ) => {\n // Условие для отправки изменений наружу\n if (props.onChange) {\n // Условие для отправки, если комбобокс используется без формы.\n if (!props.name && (typeof newValue === 'string' || Array.isArray(newValue))) {\n props.onChange(newValue as any, item || null);\n }\n\n // Условие для отправки, если комбобокс используется с формой.\n if (props.name && typeof newValue === 'object' && !Array.isArray(newValue)) {\n props.onChange(newValue as any);\n }\n }\n\n // Условие для изменения внутреннего значения (только если newValue строка или массив строк).\n if (typeof newValue === 'string' || Array.isArray(newValue)) {\n setInternalValue(newValue);\n }\n };\n\n const handleClickArrow = (e: MouseEvent<HTMLElement>) => {\n handleListToggle(!isCurrentListOpen);\n\n // При клике на иконку закрытия фокус не должен становиться в инпут.\n e.stopPropagation();\n };\n\n // Обработчик изменения значения в инпуте\n const handleTextValueChange = (e: ChangeEvent<HTMLInputElement>) => {\n setTextValue(e.target.value);\n dispatchPath({ type: 'opened_first_level' });\n dispatchFocusedPath({ type: 'reset' });\n\n if (onChangeValue) {\n onChangeValue(e.target.value);\n }\n };\n\n // Обработчик чипов\n const handleChipClick = (chip: { value: string; label: string; disabled: boolean }) => {\n if (!Array.isArray(value)) return;\n\n if (isTargetAmount) {\n // При закрытии чипа в режиме isTargetAmount в value оставляем только disabled-элементы\n onChange(value.filter((val) => valueToItemMap?.get(val)?.disabled));\n } else {\n onChange(\n value.filter((val) => val !== chip.value),\n valueToItemMap.get(chip.value) || null,\n );\n }\n };\n\n // Обработчик открытия/закрытия выпадающего списка\n const handleListToggle = (opened: boolean) => {\n if (disabled || readOnly) {\n return;\n }\n\n if (opened) {\n dispatchPath({ type: 'opened_first_level' });\n } else {\n dispatchFocusedPath({ type: 'reset' });\n dispatchPath({ type: 'reset' });\n }\n\n if (onToggle) {\n onToggle(opened);\n }\n };\n\n // Обработчик выбора чекбоксов (только при multiple)\n const handleCheckboxChange = (item: ItemOptionTransformed) => {\n if (!multiple) {\n return;\n }\n\n const checkedCopy = new Map(checked);\n\n switch (checkedCopy.get(item.value)) {\n // Если чекбокс в состоянии indeterminate\n case 'indeterminate': {\n updateDescendants(item, checkedCopy, true, valueToItemMap);\n break;\n }\n // Если чекбокс в состоянии checked\n case true: {\n updateDescendants(item, checkedCopy, false, valueToItemMap);\n checkedCopy.set(item.value, false);\n break;\n }\n // Если чекбокс в состоянии unchecked\n case false: {\n updateDescendants(item, checkedCopy, true, valueToItemMap);\n checkedCopy.set(item.value, true);\n break;\n }\n default: {\n break;\n }\n }\n\n const newValues: Array<string> = [];\n\n valueToItemMap.forEach((item, key) => {\n if (checkedCopy.get(key)) {\n newValues.push(item.value);\n }\n });\n\n // Оставляем values, которых нет в items.\n if (Array.isArray(value)) {\n value.forEach((val: string) => {\n if (!valueToItemMap.has(val)) {\n newValues.push(val);\n }\n });\n }\n\n if (!alwaysOpened && closeAfterSelect) {\n dispatchPath({ type: 'reset' });\n dispatchFocusedPath({ type: 'reset' });\n }\n\n if (onChange) {\n onChange(newValues, item);\n }\n };\n\n // Обработчик клика по айтему выпадающего списка\n const handleItemClick = (item: ItemOptionTransformed, e?: MouseEvent<HTMLElement>) => {\n if (!isEmpty(item?.items)) {\n return;\n }\n\n if (multiple) {\n handleCheckboxChange(item);\n return;\n }\n\n if (e) {\n e.stopPropagation();\n }\n\n const isCurrentChecked = checked.get(item.value);\n\n if (!alwaysOpened && closeAfterSelect) {\n dispatchPath({ type: 'reset' });\n dispatchFocusedPath({ type: 'reset' });\n }\n\n // Закрываем список, если элемент уже выбран.\n if (mode === 'radio' && isCurrentChecked) {\n return;\n }\n\n if (onChange) {\n onChange(isCurrentChecked ? '' : item.value, item);\n }\n };\n\n // Обработчик клика на таргет\n const handleTargetClick = () => {\n if (!isCurrentListOpen) {\n handleListToggle(true);\n }\n };\n\n const getChips = (): { value: string; label: string; disabled: boolean }[] => {\n if (multiple && Array.isArray(value)) {\n if (value.length === 0) return [];\n\n if (isTargetAmount) {\n return [\n {\n value: '_removeAll',\n label: `Выбрано ${targetAmount || value.length}`,\n disabled: value.every((val) => valueToItemMap?.get(val)?.disabled),\n },\n ];\n }\n\n return value.map((value) => {\n const currentLabel = renderValue\n ? renderValue(valueToItemMap.get(value) || { value, label: value })\n : valueToItemMap.get(value)?.label || value.toString();\n\n return {\n value,\n label: currentLabel,\n disabled: valueToItemMap.get(value)?.disabled || false,\n };\n });\n }\n\n return [];\n };\n\n const handlePressDown = (item: ItemOptionTransformed, e?: MouseEvent<HTMLElement>) => {\n if (isEmpty(item.items)) {\n handleItemClick(item, e);\n } else if (multiple) {\n handleCheckboxChange(item);\n }\n };\n\n const helperTextStopPropagation = (event: MouseEvent<HTMLDivElement>) => {\n event.stopPropagation();\n };\n\n const { onKeyDown } = useKeyNavigation({\n focusedPath,\n dispatchFocusedPath,\n path,\n dispatchPath,\n pathMap,\n focusedToValueMap,\n handleListToggle,\n handlePressDown,\n setTextValue,\n multiple,\n value,\n textValue,\n valueToItemMap,\n });\n\n // В данном эффекте мы следим за изменениями value снаружи и вносим коррективы в дерево чекбоксов.\n // Пример: когда юзер очистил value извне, тогда нужно пройтись по элементам и выключить все чекбоксы.\n useLayoutEffect(() => {\n const checkedCopy = new Map(checked);\n\n checkedCopy.forEach((_, key) => {\n checkedCopy.set(key, false);\n });\n\n if (!isEmpty(value)) {\n if (Array.isArray(value)) {\n value.forEach((val) => {\n // Только если value находится в items, т.к. value может и не существовать в items.\n if (valueToItemMap.has(val)) {\n checkedCopy.set(val, true);\n updateDescendants(valueToItemMap.get(val)!, checkedCopy, true);\n updateAncestors(valueToItemMap.get(val)!, checkedCopy);\n }\n });\n } else {\n // Только если value находится в items, т.к. value может и не существовать в items.\n // eslint-disable-next-line no-lonely-if\n if (valueToItemMap.has(value)) {\n checkedCopy.set(value, 'done');\n updateSingleAncestors(valueToItemMap.get(value)!, checkedCopy, 'dot');\n }\n }\n }\n\n setChecked(checkedCopy);\n\n // В deps мы кладем именно outerValue и internalValue, а не просто value.\n // Т.к. вначале нужно отфильтровать и провалидировать outerValue и результат положить в переменную.\n // А переменную, содержащую сложные типы данных, нельзя помещать в deps.\n }, [outerValue, internalValue, items]);\n\n // При изменении value нужно возвращать значение в инпуте к исходному.\n useDidMountLayoutEffect(() => {\n setTextValue(getTextValue(multiple, value, valueToItemMap, renderValue));\n }, [outerValue, internalValue]);\n\n useLayoutEffect(() => {\n if (defaultValue) {\n setInternalValue(defaultValue);\n }\n }, [defaultValue]);\n\n return (\n <Root\n size={size}\n view={view}\n labelPlacement={labelPlacement}\n disabled={disabled}\n readOnly={readOnly}\n name={name}\n hintView={hintView}\n hintSize={hintSize}\n >\n {name && (\n <SelectNative\n items={valueToItemMap}\n name={name}\n value={internalValue}\n multiple={multiple}\n onChange={onChange}\n onSetValue={setInternalValue}\n ref={ref as ForwardedRef<HTMLInputElement>}\n />\n )}\n <div>\n <Context.Provider\n value={{\n focusedPath,\n checked,\n multiple,\n size,\n handleCheckboxChange,\n handleItemClick,\n variant,\n renderItem,\n treeId,\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n // eslint-disable-next-line no-underscore-dangle\n _checkboxAppearance: (rest as any)._checkboxAppearance,\n }}\n >\n <FloatingPopover\n ref={floatingPopoverRef}\n opened={isCurrentListOpen}\n placement={placement}\n portal={portal}\n listWidth={listWidth}\n offset={_offset}\n target={(referenceRef) => (\n <div onClick={handleTargetClick}>\n <StyledTextField\n ref={name ? inputRef : (inputForkRef as ForwardedRef<HTMLInputElement>)}\n inputWrapperRef={referenceRef}\n value={textValue}\n onChange={handleTextValueChange}\n size={size}\n view={view}\n disabled={disabled}\n readOnly={readOnly}\n label={label}\n placeholder={placeholder}\n contentLeft={contentLeft}\n contentRight={\n <IconArrowWrapper\n disabled={disabled}\n onClick={handleClickArrow}\n className={classes.comboboxTargetArrow}\n >\n <StyledArrow\n color=\"inherit\"\n size={sizeToIconSize(size)}\n className={withArrowInverse}\n />\n </IconArrowWrapper>\n }\n textBefore={textBefore}\n textAfter={textAfter}\n onKeyDown={onKeyDown}\n leftHelper={\n helperText && (\n <StyledLeftHelper onClick={helperTextStopPropagation}>\n {helperText}\n </StyledLeftHelper>\n )\n }\n role=\"combobox\"\n aria-autocomplete=\"list\"\n aria-controls={`${treeId}_tree_level_1`}\n aria-expanded={isCurrentListOpen}\n aria-activedescendant={\n activeDescendantItemValue\n ? getItemId(treeId, activeDescendantItemValue)\n : ''\n }\n labelPlacement={labelPlacement}\n keepPlaceholder={keepPlaceholder}\n {...(multiple\n ? {\n enumerationType: 'chip',\n _chips: getChips(),\n _onChipClick: handleChipClick,\n }\n : { enumerationType: 'plain' })}\n {...rest}\n _onEnterDisabled // Пропс для отключения обработчика Enter внутри Textfield\n />\n </div>\n )}\n zIndex={zIndex}\n isInner={false}\n >\n <Root\n size={size}\n view={view}\n labelPlacement={labelPlacement}\n disabled={disabled}\n readOnly={readOnly}\n name={name}\n >\n <ListWrapper ref={listWrapperRef} listWidth={listWidth}>\n <Ul\n role=\"tree\"\n id={`${treeId}_tree_level_1`}\n aria-multiselectable={Boolean(multiple)}\n listMaxHeight={listMaxHeight || listHeight}\n ref={targetRef}\n virtual={virtual}\n onScroll={virtual ? undefined : onScroll}\n >\n {beforeList}\n\n {isEmpty(filteredItems) ? (\n <StyledEmptyState\n className={classes.emptyStateWrapper}\n size={size}\n description={emptyStateDescription || 'Ничего не найдено'}\n />\n ) : (\n <>\n {props.multiple && props.selectAllOptions && (\n // TODO: #2004\n <SelectAll\n selectAllOptions={props.selectAllOptions}\n variant={variant}\n />\n )}\n\n {virtual ? (\n <VirtualList\n items={filteredItems}\n listMaxHeight={listMaxHeight || listHeight}\n onScroll={onScroll}\n />\n ) : (\n filteredItems.map((item, index) => (\n <Inner\n key={`${index}/0`}\n item={item}\n currentLevel={0}\n path={path}\n dispatchPath={dispatchPath}\n index={index}\n listWidth={listWidth}\n portal={listWrapperRef}\n />\n ))\n )}\n </>\n )}\n\n {afterList}\n </Ul>\n </ListWrapper>\n </Root>\n </FloatingPopover>\n </Context.Provider>\n </div>\n </Root>\n );\n });\n\nexport const comboboxConfig = {\n name: 'Select',\n tag: 'div',\n layout: comboboxRoot,\n base,\n variations: {\n view: {\n css: viewCSS,\n },\n size: {\n css: sizeCSS,\n },\n readOnly: {\n css: sizeCSS,\n },\n },\n defaults: {\n view: 'default',\n size: 'm',\n labelPlacement: 'outer',\n },\n};\n"],"names":["comboboxRoot","Root","forwardRef","props","ref","_getItemByFocused","_StyledLeftHelper","name","multiple","outerValue","value","defaultValue","isTargetAmount","targetAmount","items","_props$placement","placement","label","placeholder","helperText","contentLeft","textBefore","textAfter","_props$variant","variant","listHeight","listMaxHeight","listWidth","portal","renderItem","view","size","labelPlacement","keepPlaceholder","_props$readOnly","readOnly","_props$disabled","disabled","_props$alwaysOpened","alwaysOpened","filter","outerCloseAfterSelect","closeAfterSelect","renderValue","zIndex","beforeList","afterList","_props$virtual","virtual","hintView","hintSize","emptyStateDescription","onChangeValue","onScroll","onToggle","_props$mode","mode","_offset","rest","_objectWithoutProperties","_excluded","transformedItems","useMemo","initialItemsTransform","_useMemo","getTreeMaps","_useMemo2","_slicedToArray","valueToCheckedMap","valueToItemMap","_useState","useState","getTextValue","_useState2","textValue","setTextValue","_useState3","_useState4","internalValue","setInternalValue","undefined","inputRef","useRef","floatingPopoverRef","inputForkRef","useForkRef","treeId","safeUseId","listWrapperRef","filteredItems","filterItems","_useMemo3","getPathMap","_useMemo4","pathMap","focusedToValueMap","initialPath","_useReducer","useReducer","pathReducer","_useReducer2","path","dispatchPath","_useReducer3","focusedPathReducer","_useReducer4","focusedPath","dispatchFocusedPath","_useState5","_useState6","checked","setChecked","isCurrentListOpen","Boolean","activeDescendantItemValue","getItemByFocused","withArrowInverse","classes","arrowInverse","targetRef","useOutsideClick","type","onChange","newValue","item","Array","isArray","_typeof","handleClickArrow","e","handleListToggle","stopPropagation","handleTextValueChange","target","handleChipClick","chip","val","_valueToItemMap$get","get","opened","handleCheckboxChange","checkedCopy","Map","updateDescendants","set","newValues","forEach","key","push","has","handleItemClick","isEmpty","isCurrentChecked","handleTargetClick","getChips","length","concat","every","_valueToItemMap$get2","map","_valueToItemMap$get3","_valueToItemMap$get4","currentLabel","toString","handlePressDown","helperTextStopPropagation","event","_useKeyNavigation","useKeyNavigation","onKeyDown","useLayoutEffect","_","updateAncestors","updateSingleAncestors","useDidMountLayoutEffect","React","createElement","SelectNative","onSetValue","Context","Provider","_checkboxAppearance","FloatingPopover","offset","referenceRef","onClick","StyledTextField","_extends","inputWrapperRef","contentRight","IconArrowWrapper","className","comboboxTargetArrow","StyledArrow","color","sizeToIconSize","leftHelper","StyledLeftHelper","role","getItemId","enumerationType","_chips","_onChipClick","_onEnterDisabled","isInner","ListWrapper","Ul","id","StyledEmptyState","emptyStateWrapper","description","Fragment","selectAllOptions","SelectAll","VirtualList","index","Inner","currentLevel","comboboxConfig","tag","layout","base","variations","css","viewCSS","sizeCSS","defaults"],"mappings":"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"}
|
@@ -27,23 +27,20 @@ var getPathMap = function getPathMap(items) {
|
|
27
27
|
var getTreeMaps = function getTreeMaps(items) {
|
28
28
|
var valueToCheckedMap = new Map();
|
29
29
|
var valueToItemMap = new Map();
|
30
|
-
var labelToItemMap = new Map();
|
31
30
|
var rec = function rec(items) {
|
32
31
|
items === null || items === void 0 || items.forEach(function (item, index) {
|
33
32
|
var value = item.value,
|
34
|
-
label = item.label,
|
35
33
|
innerItems = item.items;
|
36
34
|
valueToCheckedMap.set(value, false);
|
37
35
|
if (isEmpty.isEmpty(innerItems) || !innerItems) {
|
38
36
|
valueToItemMap.set(value, item);
|
39
|
-
labelToItemMap.set(label, item);
|
40
37
|
} else {
|
41
38
|
rec(innerItems);
|
42
39
|
}
|
43
40
|
});
|
44
41
|
};
|
45
42
|
rec(items);
|
46
|
-
return [valueToCheckedMap, valueToItemMap
|
43
|
+
return [valueToCheckedMap, valueToItemMap];
|
47
44
|
};
|
48
45
|
|
49
46
|
exports.getPathMap = getPathMap;
|