@salutejs/plasma-new-hope 0.269.0-canary.1781.13380165805.0 → 0.269.0-dev.0
Sign up to get free protection for your applications and to get access to all the features.
- package/cjs/components/Checkbox/Checkbox.css +9 -10
- package/cjs/components/Checkbox/Checkbox.js +2 -2
- package/cjs/components/Checkbox/Checkbox.js.map +1 -1
- package/cjs/components/Checkbox/Checkbox.styles.js +6 -12
- package/cjs/components/Checkbox/Checkbox.styles.js.map +1 -1
- package/cjs/components/Checkbox/Checkbox.styles_16ay1rj.css +7 -0
- package/cjs/components/Checkbox/variations/_disabled/base.js +1 -1
- package/cjs/components/Checkbox/variations/_disabled/base_1krdtt6.css +1 -0
- package/cjs/components/Checkbox/variations/_view/base.js +1 -1
- package/cjs/components/Checkbox/variations/_view/base_x252cy.css +1 -0
- package/cjs/components/Combobox/ComboboxNew/Combobox.css +9 -10
- package/cjs/components/Combobox/ComboboxNew/Combobox.js +1 -1
- package/cjs/components/Combobox/ComboboxNew/Combobox.js.map +1 -1
- package/cjs/components/Combobox/ComboboxNew/ui/Inner/Inner.css +9 -10
- package/cjs/components/Combobox/ComboboxNew/ui/Inner/ui/Item/Item.js +1 -0
- package/cjs/components/Combobox/ComboboxNew/ui/Inner/ui/Item/Item.js.map +1 -1
- package/cjs/components/Combobox/ComboboxNew/ui/VirtualList/VirtualList.css +9 -10
- package/cjs/components/Combobox/ComboboxNew/utils/updateDescendants.js +6 -3
- package/cjs/components/Combobox/ComboboxNew/utils/updateDescendants.js.map +1 -1
- package/cjs/components/Pagination/Pagination.css +9 -10
- package/cjs/components/Pagination/ui/PaginationSelectPerPage/PaginationSelectPerPage.css +9 -10
- package/cjs/components/Radiobox/Radiobox.css +7 -8
- package/cjs/components/Radiobox/Radiobox.js +2 -2
- package/cjs/components/Radiobox/Radiobox.js.map +1 -1
- package/cjs/components/Select/Select.css +9 -10
- package/cjs/components/Select/Select.js +1 -1
- package/cjs/components/Select/Select.js.map +1 -1
- package/cjs/components/Select/ui/Inner/Inner.css +9 -10
- package/cjs/components/Select/ui/Inner/ui/Item/Item.css +9 -10
- package/cjs/components/Select/ui/Inner/ui/Item/Item.js +1 -0
- package/cjs/components/Select/ui/Inner/ui/Item/Item.js.map +1 -1
- package/cjs/components/Select/utils/updateDescendants.js +6 -3
- package/cjs/components/Select/utils/updateDescendants.js.map +1 -1
- package/cjs/index.css +9 -10
- package/emotion/cjs/components/Checkbox/Checkbox.js +2 -2
- package/emotion/cjs/components/Checkbox/Checkbox.styles.js +9 -13
- package/emotion/cjs/components/Combobox/ComboboxNew/Combobox.js +1 -1
- package/emotion/cjs/components/Combobox/ComboboxNew/ui/Inner/ui/Item/Item.js +1 -0
- package/emotion/cjs/components/Combobox/ComboboxNew/utils/updateDescendants.js +6 -3
- package/emotion/cjs/components/Radiobox/Radiobox.js +2 -2
- package/emotion/cjs/components/Select/Select.js +1 -1
- package/emotion/cjs/components/Select/ui/Inner/ui/Item/Item.js +1 -0
- package/emotion/cjs/components/Select/utils/updateDescendants.js +6 -3
- package/emotion/cjs/examples/plasma_b2c/components/Combobox/Combobox.stories.tsx +1 -0
- package/emotion/es/components/Checkbox/Checkbox.js +3 -3
- package/emotion/es/components/Checkbox/Checkbox.styles.js +8 -12
- package/emotion/es/components/Combobox/ComboboxNew/Combobox.js +1 -1
- package/emotion/es/components/Combobox/ComboboxNew/ui/Inner/ui/Item/Item.js +1 -0
- package/emotion/es/components/Combobox/ComboboxNew/utils/updateDescendants.js +6 -3
- package/emotion/es/components/Radiobox/Radiobox.js +3 -3
- package/emotion/es/components/Select/Select.js +1 -1
- package/emotion/es/components/Select/ui/Inner/ui/Item/Item.js +1 -0
- package/emotion/es/components/Select/utils/updateDescendants.js +6 -3
- package/emotion/es/examples/plasma_b2c/components/Combobox/Combobox.stories.tsx +1 -0
- package/es/components/Checkbox/Checkbox.css +9 -10
- package/es/components/Checkbox/Checkbox.js +3 -3
- package/es/components/Checkbox/Checkbox.js.map +1 -1
- package/es/components/Checkbox/Checkbox.styles.js +7 -12
- package/es/components/Checkbox/Checkbox.styles.js.map +1 -1
- package/es/components/Checkbox/Checkbox.styles_16ay1rj.css +7 -0
- package/es/components/Checkbox/variations/_disabled/base.js +1 -1
- package/es/components/Checkbox/variations/_disabled/base_1krdtt6.css +1 -0
- package/es/components/Checkbox/variations/_view/base.js +1 -1
- package/es/components/Checkbox/variations/_view/base_x252cy.css +1 -0
- package/es/components/Combobox/ComboboxNew/Combobox.css +9 -10
- package/es/components/Combobox/ComboboxNew/Combobox.js +1 -1
- package/es/components/Combobox/ComboboxNew/Combobox.js.map +1 -1
- package/es/components/Combobox/ComboboxNew/ui/Inner/Inner.css +9 -10
- package/es/components/Combobox/ComboboxNew/ui/Inner/ui/Item/Item.js +1 -0
- package/es/components/Combobox/ComboboxNew/ui/Inner/ui/Item/Item.js.map +1 -1
- package/es/components/Combobox/ComboboxNew/ui/VirtualList/VirtualList.css +9 -10
- package/es/components/Combobox/ComboboxNew/utils/updateDescendants.js +6 -3
- package/es/components/Combobox/ComboboxNew/utils/updateDescendants.js.map +1 -1
- package/es/components/Pagination/Pagination.css +9 -10
- package/es/components/Pagination/ui/PaginationSelectPerPage/PaginationSelectPerPage.css +9 -10
- package/es/components/Radiobox/Radiobox.css +7 -8
- package/es/components/Radiobox/Radiobox.js +3 -3
- package/es/components/Radiobox/Radiobox.js.map +1 -1
- package/es/components/Select/Select.css +9 -10
- package/es/components/Select/Select.js +1 -1
- package/es/components/Select/Select.js.map +1 -1
- package/es/components/Select/ui/Inner/Inner.css +9 -10
- package/es/components/Select/ui/Inner/ui/Item/Item.css +9 -10
- package/es/components/Select/ui/Inner/ui/Item/Item.js +1 -0
- package/es/components/Select/ui/Inner/ui/Item/Item.js.map +1 -1
- package/es/components/Select/utils/updateDescendants.js +6 -3
- package/es/components/Select/utils/updateDescendants.js.map +1 -1
- package/es/index.css +9 -10
- package/package.json +2 -2
- package/styled-components/cjs/components/Checkbox/Checkbox.js +2 -2
- package/styled-components/cjs/components/Checkbox/Checkbox.styles.js +7 -10
- package/styled-components/cjs/components/Combobox/ComboboxNew/Combobox.js +1 -1
- package/styled-components/cjs/components/Combobox/ComboboxNew/ui/Inner/ui/Item/Item.js +1 -0
- package/styled-components/cjs/components/Combobox/ComboboxNew/utils/updateDescendants.js +6 -3
- package/styled-components/cjs/components/Radiobox/Radiobox.js +2 -2
- package/styled-components/cjs/components/Select/Select.js +1 -1
- package/styled-components/cjs/components/Select/ui/Inner/ui/Item/Item.js +1 -0
- package/styled-components/cjs/components/Select/utils/updateDescendants.js +6 -3
- package/styled-components/cjs/examples/plasma_b2c/components/Combobox/Combobox.stories.tsx +1 -0
- package/styled-components/es/components/Checkbox/Checkbox.js +3 -3
- package/styled-components/es/components/Checkbox/Checkbox.styles.js +6 -9
- package/styled-components/es/components/Combobox/ComboboxNew/Combobox.js +1 -1
- package/styled-components/es/components/Combobox/ComboboxNew/ui/Inner/ui/Item/Item.js +1 -0
- package/styled-components/es/components/Combobox/ComboboxNew/utils/updateDescendants.js +6 -3
- package/styled-components/es/components/Radiobox/Radiobox.js +3 -3
- package/styled-components/es/components/Select/Select.js +1 -1
- package/styled-components/es/components/Select/ui/Inner/ui/Item/Item.js +1 -0
- package/styled-components/es/components/Select/utils/updateDescendants.js +6 -3
- package/styled-components/es/examples/plasma_b2c/components/Combobox/Combobox.stories.tsx +1 -0
- package/types/components/Checkbox/Checkbox.d.ts.map +1 -1
- package/types/components/Checkbox/Checkbox.styles.d.ts +0 -1
- package/types/components/Checkbox/Checkbox.styles.d.ts.map +1 -1
- package/types/components/Combobox/ComboboxNew/ui/Inner/ui/Item/Item.d.ts.map +1 -1
- package/types/components/Combobox/ComboboxNew/utils/updateDescendants.d.ts +2 -2
- package/types/components/Combobox/ComboboxNew/utils/updateDescendants.d.ts.map +1 -1
- package/types/components/Radiobox/Radiobox.d.ts.map +1 -1
- package/types/components/Select/ui/Inner/ui/Item/Item.d.ts.map +1 -1
- package/types/components/Select/utils/updateDescendants.d.ts +2 -2
- package/types/components/Select/utils/updateDescendants.d.ts.map +1 -1
- package/cjs/components/Checkbox/Checkbox.styles_hlkenx.css +0 -8
- package/cjs/components/Checkbox/variations/_disabled/base_1kd28bo.css +0 -1
- package/cjs/components/Checkbox/variations/_view/base_1xk2qu8.css +0 -1
- package/es/components/Checkbox/Checkbox.styles_hlkenx.css +0 -8
- package/es/components/Checkbox/variations/_disabled/base_1kd28bo.css +0 -1
- package/es/components/Checkbox/variations/_view/base_1xk2qu8.css +0 -1
@@ -176,7 +176,7 @@ export var selectRoot = function selectRoot(Root) {
|
|
176
176
|
var checkedCopy = new Map(checked);
|
177
177
|
if (!checkedCopy.get(item.value)) {
|
178
178
|
checkedCopy.set(item.value, true);
|
179
|
-
updateDescendants(item, checkedCopy, true);
|
179
|
+
updateDescendants(item, checkedCopy, true, valueToItemMap);
|
180
180
|
} else {
|
181
181
|
checkedCopy.set(item.value, false);
|
182
182
|
updateDescendants(item, checkedCopy, false);
|
@@ -82,6 +82,7 @@ export var Item = function Item(_ref) {
|
|
82
82
|
return e.stopPropagation();
|
83
83
|
}
|
84
84
|
}, /*#__PURE__*/React.createElement(StyledCheckbox, {
|
85
|
+
disabled: itemDisabled,
|
85
86
|
checked: Boolean(checked.get(item.value)),
|
86
87
|
indeterminate: checked.get(item.value) === 'indeterminate',
|
87
88
|
onChange: handleChange
|
@@ -1,11 +1,14 @@
|
|
1
|
-
export var updateDescendants = function updateDescendants(node, checkedMap, isChecked) {
|
1
|
+
export var updateDescendants = function updateDescendants(node, checkedMap, isChecked, valueToItemMap) {
|
2
2
|
if (!(node !== null && node !== void 0 && node.items)) {
|
3
3
|
return;
|
4
4
|
}
|
5
5
|
node.items.forEach(function (item) {
|
6
|
-
|
6
|
+
var _valueToItemMap$get;
|
7
|
+
if (!(valueToItemMap !== null && valueToItemMap !== void 0 && (_valueToItemMap$get = valueToItemMap.get(item.value)) !== null && _valueToItemMap$get !== void 0 && _valueToItemMap$get.disabled)) {
|
8
|
+
checkedMap.set(item.value, isChecked);
|
9
|
+
}
|
7
10
|
if (item.items) {
|
8
|
-
updateDescendants(item, checkedMap, isChecked);
|
11
|
+
updateDescendants(item, checkedMap, isChecked, valueToItemMap);
|
9
12
|
}
|
10
13
|
});
|
11
14
|
};
|
@@ -1,14 +1,13 @@
|
|
1
|
-
.
|
1
|
+
.base_x252cy_b17hdes8__856a05b7 input[type='checkbox']:indeterminate + .base_x252cy_s1u3nd7e__856a05b7 .base_x252cy_sft3zxv__856a05b7{border:none;background:var(--plasma-checkbox-fill-color);border-color:var(--plasma-checkbox-fill-color);}.base_x252cy_b17hdes8__856a05b7 input:checked + .base_x252cy_s1u3nd7e__856a05b7 .base_x252cy_sft3zxv__856a05b7{border:none;background:var(--plasma-checkbox-fill-color);border-color:var(--plasma-checkbox-fill-color);}
|
2
2
|
|
3
|
-
.
|
3
|
+
.base_1krdtt6_bxbqqc3__2d5e2cdd input:disabled + .base_1krdtt6_s1u3nd7e__2d5e2cdd{opacity:var(--plasma-checkbox-disabled-opacity);}.base_1krdtt6_bxbqqc3__2d5e2cdd input:disabled + .base_1krdtt6_s1u3nd7e__2d5e2cdd{cursor:not-allowed;}
|
4
4
|
|
5
5
|
.base_hr4zpz_b1y5wkm1__d6390059 .base_hr4zpz_checkboxTrigger__d6390059{position:relative;}.base_hr4zpz_b1y5wkm1__d6390059 .base_hr4zpz_checkboxTrigger__d6390059::before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;z-index:1;display:block;box-sizing:content-box;border:0.125rem solid transparent;border-radius:var(--plasma-checkbox-trigger-border-radius);-webkit-transition:box-shadow 0.2s ease-in-out;transition:box-shadow 0.2s ease-in-out;pointer-events:none;}.base_hr4zpz_b1y5wkm1__d6390059 .base_hr4zpz_checkboxTrigger__d6390059.base_hr4zpz_focusVisible__d6390059:focus::before,.base_hr4zpz_b1y5wkm1__d6390059 .base_hr4zpz_checkboxTrigger__d6390059[data-focus-visible-added]::before{outline:none;box-shadow:0 0 0 0.125rem transparent;}.base_hr4zpz_b1y5wkm1__d6390059 input[data-focus-visible-added] + label .base_hr4zpz_checkboxTrigger__d6390059{border-color:transparent;position:relative;}.base_hr4zpz_b1y5wkm1__d6390059 input[data-focus-visible-added] + label .base_hr4zpz_checkboxTrigger__d6390059::before{content:'';position:absolute;top:-0.125rem;left:-0.125rem;right:-0.125rem;bottom:-0.125rem;z-index:1;display:block;box-sizing:content-box;border:0.125rem solid transparent;border-radius:var(--plasma-checkbox-trigger-border-radius);-webkit-transition:box-shadow 0.2s ease-in-out;transition:box-shadow 0.2s ease-in-out;pointer-events:none;}.base_hr4zpz_b1y5wkm1__d6390059 input[data-focus-visible-added] + label .base_hr4zpz_checkboxTrigger__d6390059::before{box-shadow:0 0 0 0.125rem var(--plasma-checkbox-focus-color);}.base_hr4zpz_b1y5wkm1__d6390059 input[data-focus-visible-added]:checked + label .base_hr4zpz_checkboxTrigger__d6390059,.base_hr4zpz_b1y5wkm1__d6390059 input[type='checkbox'][data-focus-visible-added]:indeterminate + label .base_hr4zpz_checkboxTrigger__d6390059{position:relative;}.base_hr4zpz_b1y5wkm1__d6390059 input[data-focus-visible-added]:checked + label .base_hr4zpz_checkboxTrigger__d6390059::before,.base_hr4zpz_b1y5wkm1__d6390059 input[type='checkbox'][data-focus-visible-added]:indeterminate + label .base_hr4zpz_checkboxTrigger__d6390059::before{content:'';position:absolute;top:-0.125rem;left:-0.125rem;right:-0.125rem;bottom:-0.125rem;z-index:1;display:block;box-sizing:content-box;border:0.063rem solid transparent;border-radius:calc(var(--plasma-checkbox-trigger-border-radius) + 0.125rem);-webkit-transition:box-shadow 0.2s ease-in-out;transition:box-shadow 0.2s ease-in-out;pointer-events:none;}.base_hr4zpz_b1y5wkm1__d6390059 input[data-focus-visible-added]:checked + label .base_hr4zpz_checkboxTrigger__d6390059::before,.base_hr4zpz_b1y5wkm1__d6390059 input[type='checkbox'][data-focus-visible-added]:indeterminate + label .base_hr4zpz_checkboxTrigger__d6390059::before{box-shadow:0 0 0 0.063rem var(--plasma-checkbox-focus-color);}
|
6
6
|
|
7
|
-
.
|
8
|
-
.
|
9
|
-
.
|
10
|
-
.
|
11
|
-
.
|
12
|
-
.
|
13
|
-
.
|
14
|
-
.Checkbox_styles_hlkenx_s10clj68__264b81dc{margin-top:var(--plasma-checkbox-description-margin-top);color:var(--plasma-checkbox-description-color);font-family:var(--plasma-checkbox-description-font-family);font-size:var(--plasma-checkbox-description-font-size);font-style:var(--plasma-checkbox-description-font-style);font-weight:var(--plasma-checkbox-description-font-weight);-webkit-letter-spacing:var(--plasma-checkbox-description-letter-spacing);-moz-letter-spacing:var(--plasma-checkbox-description-letter-spacing);-ms-letter-spacing:var(--plasma-checkbox-description-letter-spacing);letter-spacing:var(--plasma-checkbox-description-letter-spacing);line-height:var(--plasma-checkbox-description-line-height);}.Checkbox_styles_hlkenx_s10clj68__264b81dc.Checkbox_styles_hlkenx_onlyDescription__264b81dc{margin-top:0;}
|
7
|
+
.Checkbox_styles_16ay1rj_b1udywkg__57f51758{margin:var(--plasma-checkbox-margin);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-tap-highlight-color:rgba(0,0,0,0);position:relative;-webkit-align-items:flex-start;-webkit-box-align:flex-start;-ms-flex-align:flex-start;align-items:flex-start;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}.Checkbox_styles_16ay1rj_b1udywkg__57f51758 .Checkbox_styles_16ay1rj_singleLine__57f51758{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
|
8
|
+
.Checkbox_styles_16ay1rj_s165w87d__57f51758{position:absolute;width:1px;height:1px;overflow:hidden;-webkit-clip:rect(0 0 0 0);clip:rect(0 0 0 0);}.Checkbox_styles_16ay1rj_s165w87d__57f51758:focus{outline:0 none;}
|
9
|
+
.Checkbox_styles_16ay1rj_sft3zxv__57f51758{margin:var(--plasma-checkbox-trigger-margin);width:var(--plasma-checkbox-trigger-size);height:var(--plasma-checkbox-trigger-size);border-radius:var(--plasma-checkbox-trigger-border-radius);position:relative;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;background:var(--plasma-checkbox-trigger-background-color);border:0.125rem solid var(--plasma-checkbox-trigger-border-color);box-sizing:border-box;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;-webkit-box-flex:0;-webkit-flex-grow:0;-ms-flex-positive:0;flex-grow:0;}input:not(:indeterminate) + label .Checkbox_styles_16ay1rj_sft3zxv__57f51758 div{-webkit-transform:scale(0);-ms-transform:scale(0);transform:scale(0);-webkit-transition:-webkit-transform 0.15s ease-in-out;-webkit-transition:transform 0.15s ease-in-out;transition:transform 0.15s ease-in-out;}input:checked + label .Checkbox_styles_16ay1rj_sft3zxv__57f51758 div{-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1);}
|
10
|
+
.Checkbox_styles_16ay1rj_s1u3nd7e__57f51758{position:relative;-webkit-align-items:flex-start;-webkit-box-align:flex-start;-ms-flex-align:flex-start;align-items:flex-start;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;width:inherit;cursor:pointer;}.Checkbox_styles_16ay1rj_s1u3nd7e__57f51758 .Checkbox_styles_16ay1rj_singleLine__57f51758{width:100%;}
|
11
|
+
.Checkbox_styles_16ay1rj_shwv1in__57f51758{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;margin-top:var(--plasma-checkbox-content-top-offset);margin-left:var(--plasma-checkbox-content-left-offset);}
|
12
|
+
.Checkbox_styles_16ay1rj_s1my1ay__57f51758{font-family:var(--plasma-checkbox-label-font-family);font-size:var(--plasma-checkbox-label-font-size);font-style:var(--plasma-checkbox-label-font-style);font-weight:var(--plasma-checkbox-label-font-weight);-webkit-letter-spacing:var(--plasma-checkbox-label-letter-spacing);-moz-letter-spacing:var(--plasma-checkbox-label-letter-spacing);-ms-letter-spacing:var(--plasma-checkbox-label-letter-spacing);letter-spacing:var(--plasma-checkbox-label-letter-spacing);line-height:var(--plasma-checkbox-label-line-height);}
|
13
|
+
.Checkbox_styles_16ay1rj_s14u8fnn__57f51758{margin-top:var(--plasma-checkbox-description-margin-top);color:var(--plasma-checkbox-description-color);font-family:var(--plasma-checkbox-description-font-family);font-size:var(--plasma-checkbox-description-font-size);font-style:var(--plasma-checkbox-description-font-style);font-weight:var(--plasma-checkbox-description-font-weight);-webkit-letter-spacing:var(--plasma-checkbox-description-letter-spacing);-moz-letter-spacing:var(--plasma-checkbox-description-letter-spacing);-ms-letter-spacing:var(--plasma-checkbox-description-letter-spacing);letter-spacing:var(--plasma-checkbox-description-letter-spacing);line-height:var(--plasma-checkbox-description-line-height);}.Checkbox_styles_16ay1rj_s14u8fnn__57f51758.Checkbox_styles_16ay1rj_onlyDescription__57f51758{margin-top:0;}
|
@@ -7,7 +7,7 @@ import { base as base$1 } from './variations/_size/base.js';
|
|
7
7
|
import { base as base$3 } from './variations/_disabled/base.js';
|
8
8
|
import { base as base$4 } from './variations/_focused/base.js';
|
9
9
|
import { Indeterminate, Done } from './IconsSvg.js';
|
10
|
-
import { StyledInput, StyledContentWrapper,
|
10
|
+
import { StyledInput, StyledContentWrapper, StyledTrigger, StyledContent, StyledLabel, StyledDescription, base } from './Checkbox.styles.js';
|
11
11
|
import { classes } from './Checkbox.tokens.js';
|
12
12
|
|
13
13
|
var _Indeterminate, _Done;
|
@@ -66,9 +66,9 @@ var checkboxRoot = function checkboxRoot(Root) {
|
|
66
66
|
})), /*#__PURE__*/React.createElement(StyledContentWrapper, {
|
67
67
|
htmlFor: checkboxId,
|
68
68
|
className: singleLineClass
|
69
|
-
}, /*#__PURE__*/React.createElement(
|
69
|
+
}, /*#__PURE__*/React.createElement(StyledTrigger, {
|
70
70
|
className: classes.checkboxTrigger
|
71
|
-
}, indeterminate ? _Indeterminate || (_Indeterminate = /*#__PURE__*/React.createElement(Indeterminate, null)) : _Done || (_Done = /*#__PURE__*/React.createElement(Done, null)))
|
71
|
+
}, indeterminate ? _Indeterminate || (_Indeterminate = /*#__PURE__*/React.createElement(Indeterminate, null)) : _Done || (_Done = /*#__PURE__*/React.createElement(Done, null))), hasContent && /*#__PURE__*/React.createElement(StyledContent, {
|
72
72
|
className: singleLineClass
|
73
73
|
}, label && /*#__PURE__*/React.createElement(StyledLabel, {
|
74
74
|
className: singleLineClass,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Checkbox.js","sources":["../../../src/components/Checkbox/Checkbox.tsx"],"sourcesContent":["import React, { forwardRef, useEffect, useMemo, useRef } from 'react';\nimport { safeUseId, useForkRef, extractTextFrom } from '@salutejs/plasma-core';\n\nimport type { RootProps } from '../../engines/types';\nimport { cx } from '../../utils';\n\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as sizeCSS } from './variations/_size/base';\nimport { base as disabledCSS } from './variations/_disabled/base';\nimport { base as focusedCSS } from './variations/_focused/base';\nimport { Done, Indeterminate } from './IconsSvg';\nimport {\n StyledContent,\n StyledContentWrapper,\n StyledDescription,\n StyledInput,\n StyledLabel,\n StyledTrigger,\n base,\n
|
1
|
+
{"version":3,"file":"Checkbox.js","sources":["../../../src/components/Checkbox/Checkbox.tsx"],"sourcesContent":["import React, { forwardRef, useEffect, useMemo, useRef } from 'react';\nimport { safeUseId, useForkRef, extractTextFrom } from '@salutejs/plasma-core';\n\nimport type { RootProps } from '../../engines/types';\nimport { cx } from '../../utils';\n\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as sizeCSS } from './variations/_size/base';\nimport { base as disabledCSS } from './variations/_disabled/base';\nimport { base as focusedCSS } from './variations/_focused/base';\nimport { Done, Indeterminate } from './IconsSvg';\nimport {\n StyledContent,\n StyledContentWrapper,\n StyledDescription,\n StyledInput,\n StyledLabel,\n StyledTrigger,\n base,\n} from './Checkbox.styles';\nimport type { CheckboxProps } from './Checkbox.types';\nimport { classes } from './Checkbox.tokens';\n\nexport const checkboxRoot = (Root: RootProps<HTMLInputElement, CheckboxProps>) =>\n forwardRef<HTMLInputElement, CheckboxProps>((props, ref) => {\n const {\n size,\n view,\n focused,\n disabled,\n id,\n label,\n description,\n indeterminate,\n style,\n className,\n singleLine = false,\n 'aria-label': ariaLabelExternal,\n ...rest\n } = props;\n\n const inputRef = useRef<HTMLInputElement | null>(null);\n const forkRef = useForkRef(inputRef, ref);\n\n useEffect(() => {\n if (inputRef.current) {\n inputRef.current.indeterminate = Boolean(indeterminate);\n }\n }, [inputRef, indeterminate]);\n\n const uniqId = safeUseId();\n const uniqLabelId = `label-${uniqId}`;\n const uniqDescriptionId = `description-${uniqId}`;\n const checkboxId = id || `input-${uniqId}`;\n\n const ariaLabel = useMemo(() => ariaLabelExternal || extractTextFrom(label), [ariaLabelExternal, label]);\n const isLabelAriaHidden = typeof label === 'string';\n const canFocused = focused ? 0 : -1;\n const hasContent = label || description;\n const singleLineClass = singleLine ? classes.singleLine : undefined;\n const onlyDescriptionClass = !label && description ? classes.onlyDescription : undefined;\n\n return (\n <Root\n view={view}\n size={size}\n disabled={disabled}\n focused={focused}\n style={style}\n className={className}\n tabIndex={-1}\n >\n <StyledInput\n {...rest}\n id={checkboxId}\n ref={forkRef}\n type=\"checkbox\"\n disabled={disabled}\n aria-label={ariaLabel}\n aria-describedby={uniqDescriptionId}\n tabIndex={canFocused}\n />\n <StyledContentWrapper htmlFor={checkboxId} className={singleLineClass}>\n <StyledTrigger className={classes.checkboxTrigger}>\n {indeterminate ? <Indeterminate /> : <Done />}\n </StyledTrigger>\n {hasContent && (\n <StyledContent className={singleLineClass}>\n {label && (\n <StyledLabel\n className={singleLineClass}\n id={uniqLabelId}\n aria-hidden={isLabelAriaHidden}\n >\n {label}\n </StyledLabel>\n )}\n {description && (\n <StyledDescription\n className={cx(singleLineClass, onlyDescriptionClass)}\n id={uniqDescriptionId}\n >\n {description}\n </StyledDescription>\n )}\n </StyledContent>\n )}\n </StyledContentWrapper>\n </Root>\n );\n });\n\nexport const checkboxConfig = {\n name: 'Checkbox',\n tag: 'div',\n layout: checkboxRoot,\n base,\n variations: {\n size: {\n css: sizeCSS,\n },\n view: {\n css: viewCSS,\n },\n disabled: {\n css: disabledCSS,\n },\n focused: {\n css: focusedCSS,\n },\n },\n defaults: {\n size: 'm',\n view: 'accent',\n },\n};\n"],"names":["checkboxRoot","Root","forwardRef","props","ref","size","view","focused","disabled","id","label","description","indeterminate","style","className","_props$singleLine","singleLine","ariaLabelExternal","rest","_objectWithoutProperties","_excluded","inputRef","useRef","forkRef","useForkRef","useEffect","current","Boolean","uniqId","safeUseId","uniqLabelId","concat","uniqDescriptionId","checkboxId","ariaLabel","useMemo","extractTextFrom","isLabelAriaHidden","canFocused","hasContent","singleLineClass","classes","undefined","onlyDescriptionClass","onlyDescription","React","createElement","tabIndex","StyledInput","_extends","type","StyledContentWrapper","htmlFor","StyledTrigger","checkboxTrigger","_Indeterminate","Indeterminate","_Done","Done","StyledContent","StyledLabel","StyledDescription","cx","checkboxConfig","name","tag","layout","base","variations","css","sizeCSS","viewCSS","disabledCSS","focusedCSS","defaults"],"mappings":"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"}
|
@@ -1,4 +1,4 @@
|
|
1
|
-
import './Checkbox.
|
1
|
+
import './Checkbox.styles_16ay1rj.css';
|
2
2
|
import { styled } from '@linaria/react';
|
3
3
|
|
4
4
|
var base = "b1udywkg";
|
@@ -7,36 +7,31 @@ var StyledInput = /*#__PURE__*/styled('input')({
|
|
7
7
|
"class": "s165w87d",
|
8
8
|
propsAsIs: false
|
9
9
|
});
|
10
|
-
var StyledTriggerWrapper = /*#__PURE__*/styled('div')({
|
11
|
-
name: "StyledTriggerWrapper",
|
12
|
-
"class": "sft3zxv",
|
13
|
-
propsAsIs: false
|
14
|
-
});
|
15
10
|
var StyledTrigger = /*#__PURE__*/styled('div')({
|
16
11
|
name: "StyledTrigger",
|
17
|
-
"class": "
|
12
|
+
"class": "sft3zxv",
|
18
13
|
propsAsIs: false
|
19
14
|
});
|
20
15
|
var StyledContentWrapper = /*#__PURE__*/styled('label')({
|
21
16
|
name: "StyledContentWrapper",
|
22
|
-
"class": "
|
17
|
+
"class": "s1u3nd7e",
|
23
18
|
propsAsIs: false
|
24
19
|
});
|
25
20
|
var StyledContent = /*#__PURE__*/styled('div')({
|
26
21
|
name: "StyledContent",
|
27
|
-
"class": "
|
22
|
+
"class": "shwv1in",
|
28
23
|
propsAsIs: false
|
29
24
|
});
|
30
25
|
var StyledLabel = /*#__PURE__*/styled('span')({
|
31
26
|
name: "StyledLabel",
|
32
|
-
"class": "
|
27
|
+
"class": "s1my1ay",
|
33
28
|
propsAsIs: false
|
34
29
|
});
|
35
30
|
var StyledDescription = /*#__PURE__*/styled('div')({
|
36
31
|
name: "StyledDescription",
|
37
|
-
"class": "
|
32
|
+
"class": "s14u8fnn",
|
38
33
|
propsAsIs: false
|
39
34
|
});
|
40
35
|
|
41
|
-
export { StyledContent, StyledContentWrapper, StyledDescription, StyledInput, StyledLabel, StyledTrigger,
|
36
|
+
export { StyledContent, StyledContentWrapper, StyledDescription, StyledInput, StyledLabel, StyledTrigger, base };
|
42
37
|
//# sourceMappingURL=Checkbox.styles.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Checkbox.styles.js","sources":["../../../src/components/Checkbox/Checkbox.styles.ts"],"sourcesContent":["import { css } from '@linaria/core';\nimport { styled } from '@linaria/react';\n\nimport { applyEllipsis, applyNoUserSelect } from '../../mixins';\n\nimport { classes, tokens } from './Checkbox.tokens';\n\nexport const base = css`\n margin: var(${tokens.margin});\n\n ${applyNoUserSelect()};\n\n position: relative;\n align-items: flex-start;\n display: flex;\n\n .${classes.singleLine} {\n ${applyEllipsis()};\n }\n`;\n\nexport const StyledInput = styled.input`\n position: absolute;\n\n &:focus {\n outline: 0 none;\n }\n\n /* Спрятать от IE */\n width: 1px;\n height: 1px;\n overflow: hidden;\n clip: rect(0 0 0 0);\n`;\n\nexport const
|
1
|
+
{"version":3,"file":"Checkbox.styles.js","sources":["../../../src/components/Checkbox/Checkbox.styles.ts"],"sourcesContent":["import { css } from '@linaria/core';\nimport { styled } from '@linaria/react';\n\nimport { applyEllipsis, applyNoUserSelect } from '../../mixins';\n\nimport { classes, tokens } from './Checkbox.tokens';\n\nexport const base = css`\n margin: var(${tokens.margin});\n\n ${applyNoUserSelect()};\n\n position: relative;\n align-items: flex-start;\n display: flex;\n\n .${classes.singleLine} {\n ${applyEllipsis()};\n }\n`;\n\nexport const StyledInput = styled.input`\n position: absolute;\n\n &:focus {\n outline: 0 none;\n }\n\n /* Спрятать от IE */\n width: 1px;\n height: 1px;\n overflow: hidden;\n clip: rect(0 0 0 0);\n`;\n\nexport const StyledTrigger = styled.div`\n margin: var(${tokens.triggerMargin});\n\n width: var(${tokens.triggerSize});\n height: var(${tokens.triggerSize});\n border-radius: var(${tokens.triggerBorderRadius});\n\n position: relative;\n display: flex;\n align-items: center;\n justify-content: center;\n\n background: var(${tokens.triggerBackgroundColor});\n border: 0.125rem solid var(${tokens.triggerBorderColor});\n box-sizing: border-box;\n\n flex-shrink: 0;\n flex-grow: 0;\n\n input:not(:indeterminate) + label & div {\n transform: scale(0);\n transition: transform 0.15s ease-in-out;\n }\n\n input:checked + label & div {\n transform: scale(1);\n }\n`;\n\nexport const StyledContentWrapper = styled.label`\n position: relative;\n align-items: flex-start;\n display: flex;\n width: inherit;\n cursor: pointer;\n\n .${classes.singleLine} {\n width: 100%;\n }\n`;\n\nexport const StyledContent = styled.div`\n display: flex;\n flex-direction: column;\n\n margin-top: var(${tokens.contentTopOffset});\n margin-left: var(${tokens.contentLeftOffset});\n`;\n\nexport const StyledLabel = styled.span`\n font-family: var(${tokens.labelFontFamily});\n font-size: var(${tokens.labelFontSize});\n font-style: var(${tokens.labelFontStyle});\n font-weight: var(${tokens.labelFontWeight});\n letter-spacing: var(${tokens.labelLetterSpacing});\n line-height: var(${tokens.labelLineHeight});\n`;\n\nexport const StyledDescription = styled.div`\n margin-top: var(${tokens.descriptionMarginTop});\n color: var(${tokens.descriptionColor});\n\n font-family: var(${tokens.descriptionFontFamily});\n font-size: var(${tokens.descriptionFontSize});\n font-style: var(${tokens.descriptionFontStyle});\n font-weight: var(${tokens.descriptionFontWeight});\n letter-spacing: var(${tokens.descriptionLetterSpacing});\n line-height: var(${tokens.descriptionLineHeight});\n\n &.${classes.onlyDescription} {\n margin-top: 0;\n }\n`;\n"],"names":["base","StyledInput","styled","name","class","propsAsIs","StyledTrigger","StyledContentWrapper","StyledContent","StyledLabel","StyledDescription"],"mappings":";;AAOO,IAAMA,IAAI,GAYhB,WAAA;AAEM,IAAMC,WAAW,gBAAGC,MAAM,CAAA,OAAA,CAAA,CAAA;AAAAC,EAAAA,IAAA,EAAA,aAAA;AAAAC,EAAAA,OAAAA,EAAA,UAAA;AAAAC,EAAAA,SAAA,EAAA,KAAA;AAAA,CAYhC,EAAA;AAEM,IAAMC,aAAa,gBAAGJ,MAAM,CAAA,KAAA,CAAA,CAAA;AAAAC,EAAAA,IAAA,EAAA,eAAA;AAAAC,EAAAA,OAAAA,EAAA,SAAA;AAAAC,EAAAA,SAAA,EAAA,KAAA;AAAA,CA2BlC,EAAA;AAEM,IAAME,oBAAoB,gBAAGL,MAAM,CAAA,OAAA,CAAA,CAAA;AAAAC,EAAAA,IAAA,EAAA,sBAAA;AAAAC,EAAAA,OAAAA,EAAA,UAAA;AAAAC,EAAAA,SAAA,EAAA,KAAA;AAAA,CAUzC,EAAA;AAEM,IAAMG,aAAa,gBAAGN,MAAM,CAAA,KAAA,CAAA,CAAA;AAAAC,EAAAA,IAAA,EAAA,eAAA;AAAAC,EAAAA,OAAAA,EAAA,SAAA;AAAAC,EAAAA,SAAA,EAAA,KAAA;AAAA,CAMlC,EAAA;AAEM,IAAMI,WAAW,gBAAGP,MAAM,CAAA,MAAA,CAAA,CAAA;AAAAC,EAAAA,IAAA,EAAA,aAAA;AAAAC,EAAAA,OAAAA,EAAA,SAAA;AAAAC,EAAAA,SAAA,EAAA,KAAA;AAAA,CAOhC,EAAA;AAEM,IAAMK,iBAAiB,gBAAGR,MAAM,CAAA,KAAA,CAAA,CAAA;AAAAC,EAAAA,IAAA,EAAA,mBAAA;AAAAC,EAAAA,OAAAA,EAAA,UAAA;AAAAC,EAAAA,SAAA,EAAA,KAAA;AAAA,CActC;;;;"}
|
@@ -0,0 +1,7 @@
|
|
1
|
+
.b1udywkg{margin:var(--plasma-checkbox-margin);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-tap-highlight-color:rgba(0,0,0,0);position:relative;-webkit-align-items:flex-start;-webkit-box-align:flex-start;-ms-flex-align:flex-start;align-items:flex-start;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}.b1udywkg .single-line{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
|
2
|
+
.s165w87d{position:absolute;width:1px;height:1px;overflow:hidden;-webkit-clip:rect(0 0 0 0);clip:rect(0 0 0 0);}.s165w87d:focus{outline:0 none;}
|
3
|
+
.sft3zxv{margin:var(--plasma-checkbox-trigger-margin);width:var(--plasma-checkbox-trigger-size);height:var(--plasma-checkbox-trigger-size);border-radius:var(--plasma-checkbox-trigger-border-radius);position:relative;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;background:var(--plasma-checkbox-trigger-background-color);border:0.125rem solid var(--plasma-checkbox-trigger-border-color);box-sizing:border-box;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;-webkit-box-flex:0;-webkit-flex-grow:0;-ms-flex-positive:0;flex-grow:0;}input:not(:indeterminate) + label .sft3zxv div{-webkit-transform:scale(0);-ms-transform:scale(0);transform:scale(0);-webkit-transition:-webkit-transform 0.15s ease-in-out;-webkit-transition:transform 0.15s ease-in-out;transition:transform 0.15s ease-in-out;}input:checked + label .sft3zxv div{-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1);}
|
4
|
+
.s1u3nd7e{position:relative;-webkit-align-items:flex-start;-webkit-box-align:flex-start;-ms-flex-align:flex-start;align-items:flex-start;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;width:inherit;cursor:pointer;}.s1u3nd7e .single-line{width:100%;}
|
5
|
+
.shwv1in{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;margin-top:var(--plasma-checkbox-content-top-offset);margin-left:var(--plasma-checkbox-content-left-offset);}
|
6
|
+
.s1my1ay{font-family:var(--plasma-checkbox-label-font-family);font-size:var(--plasma-checkbox-label-font-size);font-style:var(--plasma-checkbox-label-font-style);font-weight:var(--plasma-checkbox-label-font-weight);-webkit-letter-spacing:var(--plasma-checkbox-label-letter-spacing);-moz-letter-spacing:var(--plasma-checkbox-label-letter-spacing);-ms-letter-spacing:var(--plasma-checkbox-label-letter-spacing);letter-spacing:var(--plasma-checkbox-label-letter-spacing);line-height:var(--plasma-checkbox-label-line-height);}
|
7
|
+
.s14u8fnn{margin-top:var(--plasma-checkbox-description-margin-top);color:var(--plasma-checkbox-description-color);font-family:var(--plasma-checkbox-description-font-family);font-size:var(--plasma-checkbox-description-font-size);font-style:var(--plasma-checkbox-description-font-style);font-weight:var(--plasma-checkbox-description-font-weight);-webkit-letter-spacing:var(--plasma-checkbox-description-letter-spacing);-moz-letter-spacing:var(--plasma-checkbox-description-letter-spacing);-ms-letter-spacing:var(--plasma-checkbox-description-letter-spacing);letter-spacing:var(--plasma-checkbox-description-letter-spacing);line-height:var(--plasma-checkbox-description-line-height);}.s14u8fnn.only-description{margin-top:0;}
|
@@ -0,0 +1 @@
|
|
1
|
+
.bxbqqc3 input:disabled + .s1u3nd7e{opacity:var(--plasma-checkbox-disabled-opacity);}.bxbqqc3 input:disabled + .s1u3nd7e{cursor:not-allowed;}
|
@@ -0,0 +1 @@
|
|
1
|
+
.b17hdes8 input[type='checkbox']:indeterminate + .s1u3nd7e .sft3zxv{border:none;background:var(--plasma-checkbox-fill-color);border-color:var(--plasma-checkbox-fill-color);}.b17hdes8 input:checked + .s1u3nd7e .sft3zxv{border:none;background:var(--plasma-checkbox-fill-color);border-color:var(--plasma-checkbox-fill-color);}
|
@@ -1,17 +1,16 @@
|
|
1
|
-
.
|
1
|
+
.base_x252cy_b17hdes8__856a05b7 input[type='checkbox']:indeterminate + .base_x252cy_s1u3nd7e__856a05b7 .base_x252cy_sft3zxv__856a05b7{border:none;background:var(--plasma-checkbox-fill-color);border-color:var(--plasma-checkbox-fill-color);}.base_x252cy_b17hdes8__856a05b7 input:checked + .base_x252cy_s1u3nd7e__856a05b7 .base_x252cy_sft3zxv__856a05b7{border:none;background:var(--plasma-checkbox-fill-color);border-color:var(--plasma-checkbox-fill-color);}
|
2
2
|
|
3
|
-
.
|
3
|
+
.base_1krdtt6_bxbqqc3__2d5e2cdd input:disabled + .base_1krdtt6_s1u3nd7e__2d5e2cdd{opacity:var(--plasma-checkbox-disabled-opacity);}.base_1krdtt6_bxbqqc3__2d5e2cdd input:disabled + .base_1krdtt6_s1u3nd7e__2d5e2cdd{cursor:not-allowed;}
|
4
4
|
|
5
5
|
.base_hr4zpz_b1y5wkm1__d6390059 .base_hr4zpz_checkboxTrigger__d6390059{position:relative;}.base_hr4zpz_b1y5wkm1__d6390059 .base_hr4zpz_checkboxTrigger__d6390059::before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;z-index:1;display:block;box-sizing:content-box;border:0.125rem solid transparent;border-radius:var(--plasma-checkbox-trigger-border-radius);-webkit-transition:box-shadow 0.2s ease-in-out;transition:box-shadow 0.2s ease-in-out;pointer-events:none;}.base_hr4zpz_b1y5wkm1__d6390059 .base_hr4zpz_checkboxTrigger__d6390059.base_hr4zpz_focusVisible__d6390059:focus::before,.base_hr4zpz_b1y5wkm1__d6390059 .base_hr4zpz_checkboxTrigger__d6390059[data-focus-visible-added]::before{outline:none;box-shadow:0 0 0 0.125rem transparent;}.base_hr4zpz_b1y5wkm1__d6390059 input[data-focus-visible-added] + label .base_hr4zpz_checkboxTrigger__d6390059{border-color:transparent;position:relative;}.base_hr4zpz_b1y5wkm1__d6390059 input[data-focus-visible-added] + label .base_hr4zpz_checkboxTrigger__d6390059::before{content:'';position:absolute;top:-0.125rem;left:-0.125rem;right:-0.125rem;bottom:-0.125rem;z-index:1;display:block;box-sizing:content-box;border:0.125rem solid transparent;border-radius:var(--plasma-checkbox-trigger-border-radius);-webkit-transition:box-shadow 0.2s ease-in-out;transition:box-shadow 0.2s ease-in-out;pointer-events:none;}.base_hr4zpz_b1y5wkm1__d6390059 input[data-focus-visible-added] + label .base_hr4zpz_checkboxTrigger__d6390059::before{box-shadow:0 0 0 0.125rem var(--plasma-checkbox-focus-color);}.base_hr4zpz_b1y5wkm1__d6390059 input[data-focus-visible-added]:checked + label .base_hr4zpz_checkboxTrigger__d6390059,.base_hr4zpz_b1y5wkm1__d6390059 input[type='checkbox'][data-focus-visible-added]:indeterminate + label .base_hr4zpz_checkboxTrigger__d6390059{position:relative;}.base_hr4zpz_b1y5wkm1__d6390059 input[data-focus-visible-added]:checked + label .base_hr4zpz_checkboxTrigger__d6390059::before,.base_hr4zpz_b1y5wkm1__d6390059 input[type='checkbox'][data-focus-visible-added]:indeterminate + label .base_hr4zpz_checkboxTrigger__d6390059::before{content:'';position:absolute;top:-0.125rem;left:-0.125rem;right:-0.125rem;bottom:-0.125rem;z-index:1;display:block;box-sizing:content-box;border:0.063rem solid transparent;border-radius:calc(var(--plasma-checkbox-trigger-border-radius) + 0.125rem);-webkit-transition:box-shadow 0.2s ease-in-out;transition:box-shadow 0.2s ease-in-out;pointer-events:none;}.base_hr4zpz_b1y5wkm1__d6390059 input[data-focus-visible-added]:checked + label .base_hr4zpz_checkboxTrigger__d6390059::before,.base_hr4zpz_b1y5wkm1__d6390059 input[type='checkbox'][data-focus-visible-added]:indeterminate + label .base_hr4zpz_checkboxTrigger__d6390059::before{box-shadow:0 0 0 0.063rem var(--plasma-checkbox-focus-color);}
|
6
6
|
|
7
|
-
.
|
8
|
-
.
|
9
|
-
.
|
10
|
-
.
|
11
|
-
.
|
12
|
-
.
|
13
|
-
.
|
14
|
-
.Checkbox_styles_hlkenx_s10clj68__264b81dc{margin-top:var(--plasma-checkbox-description-margin-top);color:var(--plasma-checkbox-description-color);font-family:var(--plasma-checkbox-description-font-family);font-size:var(--plasma-checkbox-description-font-size);font-style:var(--plasma-checkbox-description-font-style);font-weight:var(--plasma-checkbox-description-font-weight);-webkit-letter-spacing:var(--plasma-checkbox-description-letter-spacing);-moz-letter-spacing:var(--plasma-checkbox-description-letter-spacing);-ms-letter-spacing:var(--plasma-checkbox-description-letter-spacing);letter-spacing:var(--plasma-checkbox-description-letter-spacing);line-height:var(--plasma-checkbox-description-line-height);}.Checkbox_styles_hlkenx_s10clj68__264b81dc.Checkbox_styles_hlkenx_onlyDescription__264b81dc{margin-top:0;}
|
7
|
+
.Checkbox_styles_16ay1rj_b1udywkg__57f51758{margin:var(--plasma-checkbox-margin);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-tap-highlight-color:rgba(0,0,0,0);position:relative;-webkit-align-items:flex-start;-webkit-box-align:flex-start;-ms-flex-align:flex-start;align-items:flex-start;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}.Checkbox_styles_16ay1rj_b1udywkg__57f51758 .Checkbox_styles_16ay1rj_singleLine__57f51758{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
|
8
|
+
.Checkbox_styles_16ay1rj_s165w87d__57f51758{position:absolute;width:1px;height:1px;overflow:hidden;-webkit-clip:rect(0 0 0 0);clip:rect(0 0 0 0);}.Checkbox_styles_16ay1rj_s165w87d__57f51758:focus{outline:0 none;}
|
9
|
+
.Checkbox_styles_16ay1rj_sft3zxv__57f51758{margin:var(--plasma-checkbox-trigger-margin);width:var(--plasma-checkbox-trigger-size);height:var(--plasma-checkbox-trigger-size);border-radius:var(--plasma-checkbox-trigger-border-radius);position:relative;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;background:var(--plasma-checkbox-trigger-background-color);border:0.125rem solid var(--plasma-checkbox-trigger-border-color);box-sizing:border-box;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;-webkit-box-flex:0;-webkit-flex-grow:0;-ms-flex-positive:0;flex-grow:0;}input:not(:indeterminate) + label .Checkbox_styles_16ay1rj_sft3zxv__57f51758 div{-webkit-transform:scale(0);-ms-transform:scale(0);transform:scale(0);-webkit-transition:-webkit-transform 0.15s ease-in-out;-webkit-transition:transform 0.15s ease-in-out;transition:transform 0.15s ease-in-out;}input:checked + label .Checkbox_styles_16ay1rj_sft3zxv__57f51758 div{-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1);}
|
10
|
+
.Checkbox_styles_16ay1rj_s1u3nd7e__57f51758{position:relative;-webkit-align-items:flex-start;-webkit-box-align:flex-start;-ms-flex-align:flex-start;align-items:flex-start;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;width:inherit;cursor:pointer;}.Checkbox_styles_16ay1rj_s1u3nd7e__57f51758 .Checkbox_styles_16ay1rj_singleLine__57f51758{width:100%;}
|
11
|
+
.Checkbox_styles_16ay1rj_shwv1in__57f51758{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;margin-top:var(--plasma-checkbox-content-top-offset);margin-left:var(--plasma-checkbox-content-left-offset);}
|
12
|
+
.Checkbox_styles_16ay1rj_s1my1ay__57f51758{font-family:var(--plasma-checkbox-label-font-family);font-size:var(--plasma-checkbox-label-font-size);font-style:var(--plasma-checkbox-label-font-style);font-weight:var(--plasma-checkbox-label-font-weight);-webkit-letter-spacing:var(--plasma-checkbox-label-letter-spacing);-moz-letter-spacing:var(--plasma-checkbox-label-letter-spacing);-ms-letter-spacing:var(--plasma-checkbox-label-letter-spacing);letter-spacing:var(--plasma-checkbox-label-letter-spacing);line-height:var(--plasma-checkbox-label-line-height);}
|
13
|
+
.Checkbox_styles_16ay1rj_s14u8fnn__57f51758{margin-top:var(--plasma-checkbox-description-margin-top);color:var(--plasma-checkbox-description-color);font-family:var(--plasma-checkbox-description-font-family);font-size:var(--plasma-checkbox-description-font-size);font-style:var(--plasma-checkbox-description-font-style);font-weight:var(--plasma-checkbox-description-font-weight);-webkit-letter-spacing:var(--plasma-checkbox-description-letter-spacing);-moz-letter-spacing:var(--plasma-checkbox-description-letter-spacing);-ms-letter-spacing:var(--plasma-checkbox-description-letter-spacing);letter-spacing:var(--plasma-checkbox-description-letter-spacing);line-height:var(--plasma-checkbox-description-line-height);}.Checkbox_styles_16ay1rj_s14u8fnn__57f51758.Checkbox_styles_16ay1rj_onlyDescription__57f51758{margin-top:0;}
|
15
14
|
|
16
15
|
.Indicator_styles_v8giip_b5hgwnm__ffd4472f{border-radius:100%;}
|
17
16
|
|
@@ -254,7 +254,7 @@ var comboboxRoot = function comboboxRoot(Root) {
|
|
254
254
|
var checkedCopy = new Map(checked);
|
255
255
|
if (!checkedCopy.get(item.value)) {
|
256
256
|
checkedCopy.set(item.value, true);
|
257
|
-
updateDescendants(item, checkedCopy, true);
|
257
|
+
updateDescendants(item, checkedCopy, true, valueToItemMap);
|
258
258
|
} else {
|
259
259
|
checkedCopy.set(item.value, false);
|
260
260
|
updateDescendants(item, checkedCopy, false);
|
@@ -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 } from 'react';\nimport { safeUseId, useForkRef } from '@salutejs/plasma-core';\n\nimport { RootProps } from '../../../engines';\nimport { isEmpty } from '../../../utils';\nimport { useOutsideClick } from '../../../hooks';\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 getInitialValue,\n} from './utils';\nimport { Inner, StyledTextField, VirtualList } from './ui';\nimport { pathReducer, focusedPathReducer } from './reducers';\nimport { getPathMap, getTreeMaps } from './hooks/getPathMaps';\nimport { Ul, base, StyledArrow, IconArrowWrapper, StyledEmptyState } 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 } 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 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 ...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(valueToItemMap.get(outerValue as string)?.label || '');\n const [internalValue, setInternalValue] = useState<string | string[]>(multiple ? [] : '');\n\n const value =\n outerValue !== null && outerValue !== undefined\n ? getInitialValue(outerValue, valueToItemMap)\n : 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\n const filteredItems = filterItems(\n transformedItems,\n textValue,\n valueToItemMap.get(value as string)?.label as string,\n filter,\n );\n\n const [pathMap, focusedToValueMap] = useMemo(() => getPathMap(filteredItems), [filteredItems, textValue]);\n\n // Состояния дерева элементов\n const [path, dispatchPath] = useReducer(pathReducer, []);\n const [focusedPath, dispatchFocusedPath] = useReducer(focusedPathReducer, []);\n const [checked, setChecked] = useState(valueToCheckedMap);\n\n const isCurrentListOpen = alwaysOpened || 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) {\n return;\n }\n\n dispatchPath({ type: 'reset' });\n dispatchFocusedPath({ type: 'reset' });\n\n // Проверяем, отличается ли значение в инпуте от выбранного value после закрытия дропдауна.\n // Если изменилось, то возвращаем label выбранного айтема.\n // Если нет выбранного элемента, то стираем значение инпута.\n if (textValue !== value) {\n if (isEmpty(value)) {\n setTextValue('');\n } else {\n setTextValue(valueToItemMap.get(value as string)?.label || '');\n }\n }\n }, floatingPopoverRef);\n\n // Эта функция срабатывает при изменении Combobox и\n // при изменении нативного Select для формы (срабатывает только после изменения internalValue и рендера).\n const onChange = (newValue: string | Array<string> | ChangeEvent<HTMLSelectElement> | null) => {\n // Условие для отправки изменений наружу\n if (outerOnChange) {\n // Условие для отправки если комбобокс используется без формы.\n if (!name && (typeof newValue === 'string' || Array.isArray(newValue))) {\n outerOnChange(newValue as any);\n }\n\n // Условие для отправки если комбобокс используется с формой.\n if (name && typeof newValue === 'object' && !Array.isArray(newValue)) {\n outerOnChange(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 = () => {\n if (disabled || readOnly) {\n return;\n }\n\n if (isCurrentListOpen) {\n dispatchPath({ type: 'reset' });\n } else {\n dispatchPath({ type: 'opened_first_level' });\n }\n\n dispatchFocusedPath({ type: 'reset' });\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\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 labelAfterRenderValue = renderValue(\n labelToItemMap.get(valueToItemMap.get(value[index])!.label)!,\n );\n\n if (!chipLabels.includes(labelAfterRenderValue)) {\n resultValues.splice(index, 1);\n }\n });\n\n onChange(resultValues);\n } else {\n onChange(chipLabels.map((chipLabel) => labelToItemMap.get(chipLabel)!.value));\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\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);\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 if (!alwaysOpened && closeAfterSelect) {\n dispatchPath({ type: 'reset' });\n dispatchFocusedPath({ type: 'reset' });\n }\n\n if (onChange) {\n onChange(newValues);\n }\n\n // После выбора/снятия чекбокса скроллим к инпуту\n setTimeout(() => {\n if (inputRef.current) {\n inputRef.current.scrollIntoView({\n behavior: 'smooth',\n inline: 'start',\n });\n }\n }, 1);\n };\n\n // Обработчик клика по айтему выпадающего списка\n const handleItemClick = (item: ItemOptionTransformed, e?: React.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 if (onChange) {\n onChange(isCurrentChecked ? '' : item.value);\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 && ((stringValue: string) => renderValue(valueToItemMap.get(stringValue)!));\n const valueToItemMapper = (stringValue: string) => valueToItemMap.get(stringValue)!.label;\n\n return value.map(renderValueMapper || valueToItemMapper);\n }\n\n return [];\n };\n\n const handlePressDown = (item: ItemOptionTransformed, e?: React.MouseEvent<HTMLElement>) => {\n if (isEmpty(item.items)) {\n handleItemClick(item, e);\n } else if (multiple) {\n handleCheckboxChange(item);\n }\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 checkedCopy.set(val, true);\n updateDescendants(valueToItemMap.get(val)!, checkedCopy, true);\n updateAncestors(valueToItemMap.get(val)!, checkedCopy);\n });\n } else {\n checkedCopy.set(value, 'done');\n updateSingleAncestors(valueToItemMap.get(value)!, checkedCopy, 'dot');\n }\n }\n\n setChecked(checkedCopy);\n\n setTextValue(valueToItemMap.get(value as string)?.label || '');\n\n // В deps мы кладем именно outerValue и internalValue, а не просто value.\n // Т.к. вначале нужно отфильтровать и провалидировать outerValue и результат положить в переменную.\n // А переменную, содержащую сложные типы данных, нельзя помещать в deps.\n }, [outerValue, internalValue, items]);\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 }}\n >\n <FloatingPopover\n ref={floatingPopoverRef}\n opened={isCurrentListOpen}\n onToggle={(opened: boolean) => opened && handleListToggle(true)}\n placement={placement}\n portal={portal}\n listWidth={listWidth}\n target={(referenceRef) => (\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 disabled={disabled} onClick={handleClickArrow}>\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={helperText}\n role=\"combobox\"\n aria-autocomplete=\"list\"\n aria-controls={`${treeId}_tree_level_1`}\n aria-expanded={isCurrentListOpen}\n aria-activedescendant={\n activeDescendantItemValue ? getItemId(treeId, activeDescendantItemValue) : ''\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 )}\n zIndex={zIndex}\n >\n <Root\n size={size}\n view={view}\n labelPlacement={labelPlacement}\n disabled={disabled}\n readOnly={readOnly}\n name={name}\n >\n <Ul\n role=\"tree\"\n id={`${treeId}_tree_level_1`}\n aria-multiselectable={Boolean(multiple)}\n listHeight={listHeight}\n listOverflow={listOverflow}\n listWidth={listWidth}\n ref={targetRef}\n >\n {virtual ? (\n <VirtualList items={filteredItems} listHeight={listHeight} />\n ) : (\n <>\n {beforeList}\n {isEmpty(filteredItems) ? (\n <StyledEmptyState\n className={classes.emptyStateWrapper}\n size={size}\n description=\"Ничего не найдено\"\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 />\n ))\n )}\n {afterList}\n </>\n )}\n </Ul>\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","_valueToItemMap$get","_valueToItemMap$get2","_getItemByFocused","name","multiple","outerValue","value","outerOnChange","onChange","defaultValue","isTargetAmount","targetAmount","items","_props$placement","placement","label","placeholder","helperText","contentLeft","textBefore","textAfter","_props$variant","variant","listOverflow","listHeight","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","rest","_objectWithoutProperties","_excluded","transformedItems","useMemo","initialItemsTransform","_useMemo","getTreeMaps","_useMemo2","_slicedToArray","valueToCheckedMap","valueToItemMap","labelToItemMap","_useState","useState","get","_useState2","textValue","setTextValue","_useState3","_useState4","internalValue","setInternalValue","undefined","getInitialValue","inputRef","useRef","floatingPopoverRef","inputForkRef","useForkRef","treeId","safeUseId","filteredItems","filterItems","_useMemo3","getPathMap","_useMemo4","pathMap","focusedToValueMap","_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","isEmpty","_valueToItemMap$get3","newValue","Array","isArray","_typeof","handleClickArrow","handleTextValueChange","e","target","handleChipsChange","chipLabels","resultValues","_toConsumableArray","forEach","_","index","labelAfterRenderValue","includes","splice","map","chipLabel","handleListToggle","opened","handleCheckboxChange","item","checkedCopy","Map","set","updateDescendants","updateAncestors","newValues","key","push","setTimeout","current","scrollIntoView","behavior","inline","handleItemClick","stopPropagation","isCurrentChecked","getChips","length","concat","renderValueMapper","stringValue","valueToItemMapper","handlePressDown","_useKeyNavigation","useKeyNavigation","onKeyDown","useLayoutEffect","_valueToItemMap$get4","val","updateSingleAncestors","React","createElement","SelectNative","onSetValue","Context","Provider","FloatingPopover","onToggle","referenceRef","StyledTextField","_extends","inputWrapperRef","contentRight","IconArrowWrapper","onClick","StyledArrow","color","sizeToIconSize","className","leftHelper","role","getItemId","enumerationType","chips","onChangeChips","onEnterDisabled","Ul","id","VirtualList","Fragment","StyledEmptyState","emptyStateWrapper","description","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 } from 'react';\nimport { safeUseId, useForkRef } from '@salutejs/plasma-core';\n\nimport { RootProps } from '../../../engines';\nimport { isEmpty } from '../../../utils';\nimport { useOutsideClick } from '../../../hooks';\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 getInitialValue,\n} from './utils';\nimport { Inner, StyledTextField, VirtualList } from './ui';\nimport { pathReducer, focusedPathReducer } from './reducers';\nimport { getPathMap, getTreeMaps } from './hooks/getPathMaps';\nimport { Ul, base, StyledArrow, IconArrowWrapper, StyledEmptyState } 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 } 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 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 ...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(valueToItemMap.get(outerValue as string)?.label || '');\n const [internalValue, setInternalValue] = useState<string | string[]>(multiple ? [] : '');\n\n const value =\n outerValue !== null && outerValue !== undefined\n ? getInitialValue(outerValue, valueToItemMap)\n : 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\n const filteredItems = filterItems(\n transformedItems,\n textValue,\n valueToItemMap.get(value as string)?.label as string,\n filter,\n );\n\n const [pathMap, focusedToValueMap] = useMemo(() => getPathMap(filteredItems), [filteredItems, textValue]);\n\n // Состояния дерева элементов\n const [path, dispatchPath] = useReducer(pathReducer, []);\n const [focusedPath, dispatchFocusedPath] = useReducer(focusedPathReducer, []);\n const [checked, setChecked] = useState(valueToCheckedMap);\n\n const isCurrentListOpen = alwaysOpened || 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) {\n return;\n }\n\n dispatchPath({ type: 'reset' });\n dispatchFocusedPath({ type: 'reset' });\n\n // Проверяем, отличается ли значение в инпуте от выбранного value после закрытия дропдауна.\n // Если изменилось, то возвращаем label выбранного айтема.\n // Если нет выбранного элемента, то стираем значение инпута.\n if (textValue !== value) {\n if (isEmpty(value)) {\n setTextValue('');\n } else {\n setTextValue(valueToItemMap.get(value as string)?.label || '');\n }\n }\n }, floatingPopoverRef);\n\n // Эта функция срабатывает при изменении Combobox и\n // при изменении нативного Select для формы (срабатывает только после изменения internalValue и рендера).\n const onChange = (newValue: string | Array<string> | ChangeEvent<HTMLSelectElement> | null) => {\n // Условие для отправки изменений наружу\n if (outerOnChange) {\n // Условие для отправки если комбобокс используется без формы.\n if (!name && (typeof newValue === 'string' || Array.isArray(newValue))) {\n outerOnChange(newValue as any);\n }\n\n // Условие для отправки если комбобокс используется с формой.\n if (name && typeof newValue === 'object' && !Array.isArray(newValue)) {\n outerOnChange(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 = () => {\n if (disabled || readOnly) {\n return;\n }\n\n if (isCurrentListOpen) {\n dispatchPath({ type: 'reset' });\n } else {\n dispatchPath({ type: 'opened_first_level' });\n }\n\n dispatchFocusedPath({ type: 'reset' });\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\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 labelAfterRenderValue = renderValue(\n labelToItemMap.get(valueToItemMap.get(value[index])!.label)!,\n );\n\n if (!chipLabels.includes(labelAfterRenderValue)) {\n resultValues.splice(index, 1);\n }\n });\n\n onChange(resultValues);\n } else {\n onChange(chipLabels.map((chipLabel) => labelToItemMap.get(chipLabel)!.value));\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\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 if (!alwaysOpened && closeAfterSelect) {\n dispatchPath({ type: 'reset' });\n dispatchFocusedPath({ type: 'reset' });\n }\n\n if (onChange) {\n onChange(newValues);\n }\n\n // После выбора/снятия чекбокса скроллим к инпуту\n setTimeout(() => {\n if (inputRef.current) {\n inputRef.current.scrollIntoView({\n behavior: 'smooth',\n inline: 'start',\n });\n }\n }, 1);\n };\n\n // Обработчик клика по айтему выпадающего списка\n const handleItemClick = (item: ItemOptionTransformed, e?: React.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 if (onChange) {\n onChange(isCurrentChecked ? '' : item.value);\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 && ((stringValue: string) => renderValue(valueToItemMap.get(stringValue)!));\n const valueToItemMapper = (stringValue: string) => valueToItemMap.get(stringValue)!.label;\n\n return value.map(renderValueMapper || valueToItemMapper);\n }\n\n return [];\n };\n\n const handlePressDown = (item: ItemOptionTransformed, e?: React.MouseEvent<HTMLElement>) => {\n if (isEmpty(item.items)) {\n handleItemClick(item, e);\n } else if (multiple) {\n handleCheckboxChange(item);\n }\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 checkedCopy.set(val, true);\n updateDescendants(valueToItemMap.get(val)!, checkedCopy, true);\n updateAncestors(valueToItemMap.get(val)!, checkedCopy);\n });\n } else {\n checkedCopy.set(value, 'done');\n updateSingleAncestors(valueToItemMap.get(value)!, checkedCopy, 'dot');\n }\n }\n\n setChecked(checkedCopy);\n\n setTextValue(valueToItemMap.get(value as string)?.label || '');\n\n // В deps мы кладем именно outerValue и internalValue, а не просто value.\n // Т.к. вначале нужно отфильтровать и провалидировать outerValue и результат положить в переменную.\n // А переменную, содержащую сложные типы данных, нельзя помещать в deps.\n }, [outerValue, internalValue, items]);\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 }}\n >\n <FloatingPopover\n ref={floatingPopoverRef}\n opened={isCurrentListOpen}\n onToggle={(opened: boolean) => opened && handleListToggle(true)}\n placement={placement}\n portal={portal}\n listWidth={listWidth}\n target={(referenceRef) => (\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 disabled={disabled} onClick={handleClickArrow}>\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={helperText}\n role=\"combobox\"\n aria-autocomplete=\"list\"\n aria-controls={`${treeId}_tree_level_1`}\n aria-expanded={isCurrentListOpen}\n aria-activedescendant={\n activeDescendantItemValue ? getItemId(treeId, activeDescendantItemValue) : ''\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 )}\n zIndex={zIndex}\n >\n <Root\n size={size}\n view={view}\n labelPlacement={labelPlacement}\n disabled={disabled}\n readOnly={readOnly}\n name={name}\n >\n <Ul\n role=\"tree\"\n id={`${treeId}_tree_level_1`}\n aria-multiselectable={Boolean(multiple)}\n listHeight={listHeight}\n listOverflow={listOverflow}\n listWidth={listWidth}\n ref={targetRef}\n >\n {virtual ? (\n <VirtualList items={filteredItems} listHeight={listHeight} />\n ) : (\n <>\n {beforeList}\n {isEmpty(filteredItems) ? (\n <StyledEmptyState\n className={classes.emptyStateWrapper}\n size={size}\n description=\"Ничего не найдено\"\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 />\n ))\n )}\n {afterList}\n </>\n )}\n </Ul>\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","_valueToItemMap$get","_valueToItemMap$get2","_getItemByFocused","name","multiple","outerValue","value","outerOnChange","onChange","defaultValue","isTargetAmount","targetAmount","items","_props$placement","placement","label","placeholder","helperText","contentLeft","textBefore","textAfter","_props$variant","variant","listOverflow","listHeight","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","rest","_objectWithoutProperties","_excluded","transformedItems","useMemo","initialItemsTransform","_useMemo","getTreeMaps","_useMemo2","_slicedToArray","valueToCheckedMap","valueToItemMap","labelToItemMap","_useState","useState","get","_useState2","textValue","setTextValue","_useState3","_useState4","internalValue","setInternalValue","undefined","getInitialValue","inputRef","useRef","floatingPopoverRef","inputForkRef","useForkRef","treeId","safeUseId","filteredItems","filterItems","_useMemo3","getPathMap","_useMemo4","pathMap","focusedToValueMap","_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","isEmpty","_valueToItemMap$get3","newValue","Array","isArray","_typeof","handleClickArrow","handleTextValueChange","e","target","handleChipsChange","chipLabels","resultValues","_toConsumableArray","forEach","_","index","labelAfterRenderValue","includes","splice","map","chipLabel","handleListToggle","opened","handleCheckboxChange","item","checkedCopy","Map","set","updateDescendants","updateAncestors","newValues","key","push","setTimeout","current","scrollIntoView","behavior","inline","handleItemClick","stopPropagation","isCurrentChecked","getChips","length","concat","renderValueMapper","stringValue","valueToItemMapper","handlePressDown","_useKeyNavigation","useKeyNavigation","onKeyDown","useLayoutEffect","_valueToItemMap$get4","val","updateSingleAncestors","React","createElement","SelectNative","onSetValue","Context","Provider","FloatingPopover","onToggle","referenceRef","StyledTextField","_extends","inputWrapperRef","contentRight","IconArrowWrapper","onClick","StyledArrow","color","sizeToIconSize","className","leftHelper","role","getItemId","enumerationType","chips","onChangeChips","onEnterDisabled","Ul","id","VirtualList","Fragment","StyledEmptyState","emptyStateWrapper","description","Inner","currentLevel","comboboxConfig","tag","layout","base","variations","css","viewCSS","sizeCSS","defaults"],"mappings":"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"}
|