@salutejs/plasma-new-hope 0.336.0-canary.2220.17648264852.0 → 0.336.0-canary.2220.17654170001.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.
Files changed (131) hide show
  1. package/cjs/components/Autocomplete/Autocomplete.css +2 -1
  2. package/cjs/components/Combobox/ComboboxNew/Combobox.css +2 -1
  3. package/cjs/components/DatePicker/RangeDate/RangeDate.css +2 -1
  4. package/cjs/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.css +2 -1
  5. package/cjs/components/DatePicker/SingleDate/SingleDate.css +2 -1
  6. package/cjs/components/Pagination/Pagination.css +2 -1
  7. package/cjs/components/Pagination/ui/PaginationSelectPerPage/PaginationSelectPerPage.css +2 -1
  8. package/cjs/components/Range/Range.css +2 -1
  9. package/cjs/components/Select/Select.css +2 -1
  10. package/cjs/components/Select/Select.js +24 -11
  11. package/cjs/components/Select/Select.js.map +1 -1
  12. package/cjs/components/Select/hooks/usePathMaps.js +1 -4
  13. package/cjs/components/Select/hooks/usePathMaps.js.map +1 -1
  14. package/cjs/components/Select/ui/Target/Target.css +2 -1
  15. package/cjs/components/Select/ui/Target/Target.js +0 -2
  16. package/cjs/components/Select/ui/Target/Target.js.map +1 -1
  17. package/cjs/components/Select/ui/Target/ui/Textfield/Textfield.css +2 -1
  18. package/cjs/components/Select/ui/Target/ui/Textfield/Textfield.js +32 -49
  19. package/cjs/components/Select/ui/Target/ui/Textfield/Textfield.js.map +1 -1
  20. package/cjs/components/Slider/Slider.css +2 -1
  21. package/cjs/components/Slider/components/DoubleUncontrolled/DoubleUncontrolled.css +2 -1
  22. package/cjs/components/Table/Table.css +2 -1
  23. package/cjs/components/Table/ui/Cell/Cell.css +2 -1
  24. package/cjs/components/Table/ui/EditableCell/EditableCell.css +2 -1
  25. package/cjs/components/Table/ui/HeadCell/HeadCell.css +2 -1
  26. package/cjs/components/Table/ui/HeadCell/ui/Filter/Filter.css +2 -1
  27. package/cjs/components/TextField/TextField.js +7 -2
  28. package/cjs/components/TextField/TextField.js.map +1 -1
  29. package/cjs/components/TextField/ui/TextFieldChipNew/TextFieldChipNew.css +25 -21
  30. package/cjs/components/TextField/ui/TextFieldChipNew/TextFieldChipNew.js +15 -3
  31. package/cjs/components/TextField/ui/TextFieldChipNew/TextFieldChipNew.js.map +1 -1
  32. package/cjs/components/TextField/ui/TextFieldChipNew/TextFieldChipNew.styles.js +1 -1
  33. package/cjs/components/TextField/ui/TextFieldChipNew/TextFieldChipNew.styles.js.map +1 -1
  34. package/{es/components/TextField/ui/TextFieldChipNew/TextFieldChipNew.styles_119gtz1.css → cjs/components/TextField/ui/TextFieldChipNew/TextFieldChipNew.styles_y9tozi.css} +1 -0
  35. package/cjs/index.css +2 -1
  36. package/emotion/cjs/components/Select/Select.js +27 -9
  37. package/emotion/cjs/components/Select/hooks/usePathMaps.js +2 -5
  38. package/emotion/cjs/components/Select/ui/Target/Target.js +1 -2
  39. package/emotion/cjs/components/Select/ui/Target/ui/Textfield/Textfield.js +32 -71
  40. package/emotion/cjs/components/Select/utils/index.js +0 -4
  41. package/emotion/cjs/components/TextField/TextField.js +7 -3
  42. package/emotion/cjs/components/TextField/ui/TextFieldChipNew/TextFieldChipNew.js +13 -4
  43. package/emotion/cjs/components/TextField/ui/TextFieldChipNew/TextFieldChipNew.styles.js +22 -5
  44. package/emotion/es/components/Select/Select.js +27 -9
  45. package/emotion/es/components/Select/hooks/usePathMaps.js +2 -5
  46. package/emotion/es/components/Select/ui/Target/Target.js +1 -2
  47. package/emotion/es/components/Select/ui/Target/ui/Textfield/Textfield.js +33 -72
  48. package/emotion/es/components/Select/utils/index.js +0 -1
  49. package/emotion/es/components/TextField/TextField.js +7 -3
  50. package/emotion/es/components/TextField/ui/TextFieldChipNew/TextFieldChipNew.js +13 -4
  51. package/emotion/es/components/TextField/ui/TextFieldChipNew/TextFieldChipNew.styles.js +11 -2
  52. package/emotion/es/examples/components/Combobox/Combobox.js +0 -7
  53. package/es/components/Autocomplete/Autocomplete.css +2 -1
  54. package/es/components/Combobox/ComboboxNew/Combobox.css +2 -1
  55. package/es/components/DatePicker/RangeDate/RangeDate.css +2 -1
  56. package/es/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.css +2 -1
  57. package/es/components/DatePicker/SingleDate/SingleDate.css +2 -1
  58. package/es/components/Pagination/Pagination.css +2 -1
  59. package/es/components/Pagination/ui/PaginationSelectPerPage/PaginationSelectPerPage.css +2 -1
  60. package/es/components/Range/Range.css +2 -1
  61. package/es/components/Select/Select.css +2 -1
  62. package/es/components/Select/Select.js +24 -11
  63. package/es/components/Select/Select.js.map +1 -1
  64. package/es/components/Select/hooks/usePathMaps.js +1 -4
  65. package/es/components/Select/hooks/usePathMaps.js.map +1 -1
  66. package/es/components/Select/ui/Target/Target.css +2 -1
  67. package/es/components/Select/ui/Target/Target.js +0 -2
  68. package/es/components/Select/ui/Target/Target.js.map +1 -1
  69. package/es/components/Select/ui/Target/ui/Textfield/Textfield.css +2 -1
  70. package/es/components/Select/ui/Target/ui/Textfield/Textfield.js +33 -50
  71. package/es/components/Select/ui/Target/ui/Textfield/Textfield.js.map +1 -1
  72. package/es/components/Slider/Slider.css +2 -1
  73. package/es/components/Slider/components/DoubleUncontrolled/DoubleUncontrolled.css +2 -1
  74. package/es/components/Table/Table.css +2 -1
  75. package/es/components/Table/ui/Cell/Cell.css +2 -1
  76. package/es/components/Table/ui/EditableCell/EditableCell.css +2 -1
  77. package/es/components/Table/ui/HeadCell/HeadCell.css +2 -1
  78. package/es/components/Table/ui/HeadCell/ui/Filter/Filter.css +2 -1
  79. package/es/components/TextField/TextField.js +7 -2
  80. package/es/components/TextField/TextField.js.map +1 -1
  81. package/es/components/TextField/ui/TextFieldChipNew/TextFieldChipNew.css +25 -21
  82. package/es/components/TextField/ui/TextFieldChipNew/TextFieldChipNew.js +15 -3
  83. package/es/components/TextField/ui/TextFieldChipNew/TextFieldChipNew.js.map +1 -1
  84. package/es/components/TextField/ui/TextFieldChipNew/TextFieldChipNew.styles.js +1 -1
  85. package/es/components/TextField/ui/TextFieldChipNew/TextFieldChipNew.styles.js.map +1 -1
  86. package/{cjs/components/TextField/ui/TextFieldChipNew/TextFieldChipNew.styles_119gtz1.css → es/components/TextField/ui/TextFieldChipNew/TextFieldChipNew.styles_y9tozi.css} +1 -0
  87. package/es/index.css +2 -1
  88. package/package.json +2 -2
  89. package/styled-components/cjs/components/Select/Select.js +27 -9
  90. package/styled-components/cjs/components/Select/hooks/usePathMaps.js +2 -5
  91. package/styled-components/cjs/components/Select/ui/Target/Target.js +1 -2
  92. package/styled-components/cjs/components/Select/ui/Target/ui/Textfield/Textfield.js +32 -71
  93. package/styled-components/cjs/components/Select/utils/index.js +0 -4
  94. package/styled-components/cjs/components/TextField/TextField.js +6 -2
  95. package/styled-components/cjs/components/TextField/ui/TextFieldChipNew/TextFieldChipNew.js +13 -4
  96. package/styled-components/cjs/components/TextField/ui/TextFieldChipNew/TextFieldChipNew.styles.js +31 -4
  97. package/styled-components/es/components/Select/Select.js +27 -9
  98. package/styled-components/es/components/Select/hooks/usePathMaps.js +2 -5
  99. package/styled-components/es/components/Select/ui/Target/Target.js +1 -2
  100. package/styled-components/es/components/Select/ui/Target/ui/Textfield/Textfield.js +33 -72
  101. package/styled-components/es/components/Select/utils/index.js +0 -1
  102. package/styled-components/es/components/TextField/TextField.js +6 -2
  103. package/styled-components/es/components/TextField/ui/TextFieldChipNew/TextFieldChipNew.js +13 -4
  104. package/styled-components/es/components/TextField/ui/TextFieldChipNew/TextFieldChipNew.styles.js +20 -1
  105. package/types/components/Select/Select.d.ts.map +1 -1
  106. package/types/components/Select/hooks/usePathMaps.d.ts +1 -2
  107. package/types/components/Select/hooks/usePathMaps.d.ts.map +1 -1
  108. package/types/components/Select/ui/Target/Target.d.ts +0 -1
  109. package/types/components/Select/ui/Target/Target.d.ts.map +1 -1
  110. package/types/components/Select/ui/Target/Target.types.d.ts +1 -2
  111. package/types/components/Select/ui/Target/Target.types.d.ts.map +1 -1
  112. package/types/components/Select/ui/Target/ui/Textfield/Textfield.d.ts.map +1 -1
  113. package/types/components/Select/ui/Target/ui/Textfield/Textfield.types.d.ts +1 -1
  114. package/types/components/Select/ui/Target/ui/Textfield/Textfield.types.d.ts.map +1 -1
  115. package/types/components/Select/utils/index.d.ts +0 -1
  116. package/types/components/Select/utils/index.d.ts.map +1 -1
  117. package/types/components/TextField/TextField.d.ts.map +1 -1
  118. package/types/components/TextField/ui/TextFieldChipNew/TextFieldChipNew.d.ts +2 -0
  119. package/types/components/TextField/ui/TextFieldChipNew/TextFieldChipNew.d.ts.map +1 -1
  120. package/types/components/TextField/ui/TextFieldChipNew/TextFieldChipNew.styles.d.ts +1 -0
  121. package/types/components/TextField/ui/TextFieldChipNew/TextFieldChipNew.styles.d.ts.map +1 -1
  122. package/cjs/components/Select/utils/getRemovedElement.js +0 -17
  123. package/cjs/components/Select/utils/getRemovedElement.js.map +0 -1
  124. package/emotion/cjs/components/Select/utils/getRemovedElement.js +0 -20
  125. package/emotion/es/components/Select/utils/getRemovedElement.js +0 -10
  126. package/es/components/Select/utils/getRemovedElement.js +0 -13
  127. package/es/components/Select/utils/getRemovedElement.js.map +0 -1
  128. package/styled-components/cjs/components/Select/utils/getRemovedElement.js +0 -20
  129. package/styled-components/es/components/Select/utils/getRemovedElement.js +0 -10
  130. package/types/components/Select/utils/getRemovedElement.d.ts +0 -2
  131. package/types/components/Select/utils/getRemovedElement.d.ts.map +0 -1
@@ -256,7 +256,7 @@ var selectRoot = function(Root) {
256
256
  items
257
257
  ]);
258
258
  // Создаем структуры для быстрой работы с деревом
259
- var _usePathMaps1 = _sliced_to_array((0, _usePathMaps.usePathMaps)(transformedItems), 5), pathMap = _usePathMaps1[0], focusedToValueMap = _usePathMaps1[1], valueToCheckedMap = _usePathMaps1[2], valueToItemMap = _usePathMaps1[3], labelToItemMap = _usePathMaps1[4];
259
+ var _usePathMaps1 = _sliced_to_array((0, _usePathMaps.usePathMaps)(transformedItems), 4), pathMap = _usePathMaps1[0], focusedToValueMap = _usePathMaps1[1], valueToCheckedMap = _usePathMaps1[2], valueToItemMap = _usePathMaps1[3];
260
260
  var _useState = _sliced_to_array((0, _react.useState)(props.multiselect ? [] : ''), 2), internalValue = _useState[0], setInternalValue = _useState[1];
261
261
  var value = outerValue !== null && outerValue !== undefined ? outerValue : internalValue;
262
262
  var floatingPopoverRef = (0, _react.useRef)(null);
@@ -344,14 +344,33 @@ var selectRoot = function(Root) {
344
344
  return;
345
345
  }
346
346
  var checkedCopy = new Map(checked);
347
- if (!checkedCopy.get(item.value)) {
348
- checkedCopy.set(item.value, true);
349
- (0, _utils1.updateDescendants)(item, checkedCopy, true, valueToItemMap);
350
- } else {
351
- checkedCopy.set(item.value, false);
352
- (0, _utils1.updateDescendants)(item, checkedCopy, false);
347
+ switch(checkedCopy.get(item.value)){
348
+ // Если чекбокс в состоянии indeterminate
349
+ case 'indeterminate':
350
+ {
351
+ // checkedCopy.set(item.value, true); ??
352
+ (0, _utils1.updateDescendants)(item, checkedCopy, true, valueToItemMap);
353
+ break;
354
+ }
355
+ // Если чекбокс в состоянии checked
356
+ case true:
357
+ {
358
+ (0, _utils1.updateDescendants)(item, checkedCopy, false, valueToItemMap);
359
+ checkedCopy.set(item.value, false);
360
+ break;
361
+ }
362
+ // Если чекбокс в состоянии unchecked
363
+ case false:
364
+ {
365
+ (0, _utils1.updateDescendants)(item, checkedCopy, true, valueToItemMap);
366
+ checkedCopy.set(item.value, true);
367
+ break;
368
+ }
369
+ default:
370
+ {
371
+ break;
372
+ }
353
373
  }
354
- (0, _utils1.updateAncestors)(item, checkedCopy);
355
374
  var newValues = [];
356
375
  valueToItemMap.forEach(function(item, key) {
357
376
  if (checkedCopy.get(key)) {
@@ -542,7 +561,6 @@ var selectRoot = function(Root) {
542
561
  activeDescendantItemValue: activeDescendantItemValue,
543
562
  isTargetAmount: isTargetAmount,
544
563
  onChange: onChange,
545
- labelToItemMap: labelToItemMap,
546
564
  chipView: chipView,
547
565
  separator: separator,
548
566
  requiredProps: requiredProps,
@@ -14,18 +14,16 @@ var usePathMaps = function(items) {
14
14
  var focusedToValueMap = new Map();
15
15
  var valueToCheckedMap = new Map();
16
16
  var valueToItemMap = new Map();
17
- var labelToItemMap = new Map();
18
17
  pathMap.set('root', (items === null || items === void 0 ? void 0 : items.length) || 0);
19
18
  var rec = function(items) {
20
19
  var prevIndex = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : '';
21
20
  items === null || items === void 0 ? void 0 : items.forEach(function(item, index) {
22
- var value = item.value, label = item.label, innerItems = item.items;
21
+ var value = item.value, innerItems = item.items;
23
22
  var currIndex = "".concat(prevIndex, "/").concat(index).replace(/^(\/)/, '');
24
23
  focusedToValueMap.set(currIndex, item);
25
24
  valueToCheckedMap.set(value, false);
26
25
  if ((0, _utils.isEmpty)(innerItems) || !innerItems) {
27
26
  valueToItemMap.set(value, item);
28
- labelToItemMap.set(label, item);
29
27
  } else {
30
28
  pathMap.set(value, innerItems.length);
31
29
  rec(innerItems, currIndex);
@@ -37,7 +35,6 @@ var usePathMaps = function(items) {
37
35
  pathMap,
38
36
  focusedToValueMap,
39
37
  valueToCheckedMap,
40
- valueToItemMap,
41
- labelToItemMap
38
+ valueToItemMap
42
39
  ];
43
40
  };
@@ -53,7 +53,7 @@ function _interop_require_wildcard(obj, nodeInterop) {
53
53
  return newObj;
54
54
  }
55
55
  var Target = /*#__PURE__*/ (0, _react.forwardRef)(function(param, ref) {
56
- var value = param.value, opened = param.opened, valueToItemMap = param.valueToItemMap, label = param.label, placeholder = param.placeholder, onKeyDown = param.onKeyDown, labelPlacement = param.labelPlacement, size = param.size, contentLeft = param.contentLeft, disabled = param.disabled, readOnly = param.readOnly, renderValue = param.renderValue, selectProps = param.selectProps, inputWrapperRef = param.inputWrapperRef, multiselect = param.multiselect, view = param.view, helperText = param.helperText, treeId = param.treeId, activeDescendantItemValue = param.activeDescendantItemValue, isTargetAmount = param.isTargetAmount, onChange = param.onChange, labelToItemMap = param.labelToItemMap, chipView = param.chipView, separator = param.separator, requiredProps = param.requiredProps, hintProps = param.hintProps;
56
+ var value = param.value, opened = param.opened, valueToItemMap = param.valueToItemMap, label = param.label, placeholder = param.placeholder, onKeyDown = param.onKeyDown, labelPlacement = param.labelPlacement, size = param.size, contentLeft = param.contentLeft, disabled = param.disabled, readOnly = param.readOnly, renderValue = param.renderValue, selectProps = param.selectProps, inputWrapperRef = param.inputWrapperRef, multiselect = param.multiselect, view = param.view, helperText = param.helperText, treeId = param.treeId, activeDescendantItemValue = param.activeDescendantItemValue, isTargetAmount = param.isTargetAmount, onChange = param.onChange, chipView = param.chipView, separator = param.separator, requiredProps = param.requiredProps, hintProps = param.hintProps;
57
57
  var buttonRef = (0, _plasmacore.useForkRef)(ref, inputWrapperRef);
58
58
  if (selectProps.renderTarget) {
59
59
  return /*#__PURE__*/ _react.default.createElement("div", {
@@ -98,7 +98,6 @@ var Target = /*#__PURE__*/ (0, _react.forwardRef)(function(param, ref) {
98
98
  valueToItemMap: valueToItemMap,
99
99
  renderValue: renderValue,
100
100
  onChange: onChange,
101
- labelToItemMap: labelToItemMap,
102
101
  chipView: chipView,
103
102
  requiredProps: requiredProps,
104
103
  hintProps: hintProps,
@@ -12,14 +12,6 @@ var _react = /*#__PURE__*/ _interop_require_wildcard(require("react"));
12
12
  var _utils = require("../../../../utils");
13
13
  var _Selecttokens = require("../../../../Select.tokens");
14
14
  var _Textfieldstyles = require("./Textfield.styles");
15
- function _array_like_to_array(arr, len) {
16
- if (len == null || len > arr.length) len = arr.length;
17
- for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
18
- return arr2;
19
- }
20
- function _array_without_holes(arr) {
21
- if (Array.isArray(arr)) return _array_like_to_array(arr);
22
- }
23
15
  function _define_property(obj, key, value) {
24
16
  if (key in obj) {
25
17
  Object.defineProperty(obj, key, {
@@ -81,12 +73,6 @@ function _interop_require_wildcard(obj, nodeInterop) {
81
73
  }
82
74
  return newObj;
83
75
  }
84
- function _iterable_to_array(iter) {
85
- if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
86
- }
87
- function _non_iterable_spread() {
88
- throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
89
- }
90
76
  function _object_spread(target) {
91
77
  for(var i = 1; i < arguments.length; i++){
92
78
  var source = arguments[i] != null ? arguments[i] : {};
@@ -126,19 +112,8 @@ function _object_spread_props(target, source) {
126
112
  }
127
113
  return target;
128
114
  }
129
- function _to_consumable_array(arr) {
130
- return _array_without_holes(arr) || _iterable_to_array(arr) || _unsupported_iterable_to_array(arr) || _non_iterable_spread();
131
- }
132
- function _unsupported_iterable_to_array(o, minLen) {
133
- if (!o) return;
134
- if (typeof o === "string") return _array_like_to_array(o, minLen);
135
- var n = Object.prototype.toString.call(o).slice(8, -1);
136
- if (n === "Object" && o.constructor) n = o.constructor.name;
137
- if (n === "Map" || n === "Set") return Array.from(n);
138
- if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);
139
- }
140
115
  var Textfield = /*#__PURE__*/ (0, _react.forwardRef)(function(param, ref) {
141
- var inputWrapperRef = param.inputWrapperRef, opened = param.opened, multiselect = param.multiselect, value = param.value, label = param.label, labelPlacement = param.labelPlacement, keepPlaceholder = param.keepPlaceholder, placeholder = param.placeholder, onKeyDown = param.onKeyDown, size = param.size, view = param.view, contentLeft = param.contentLeft, helperText = param.helperText, treeId = param.treeId, activeDescendantItemValue = param.activeDescendantItemValue, disabled = param.disabled, readOnly = param.readOnly, isTargetAmount = param.isTargetAmount, valueToItemMap = param.valueToItemMap, renderValue = param.renderValue, onChange = param.onChange, labelToItemMap = param.labelToItemMap, chipView = param.chipView, requiredProps = param.requiredProps, chipType = param.chipType, hintProps = param.hintProps;
116
+ var inputWrapperRef = param.inputWrapperRef, opened = param.opened, multiselect = param.multiselect, value = param.value, label = param.label, labelPlacement = param.labelPlacement, keepPlaceholder = param.keepPlaceholder, placeholder = param.placeholder, onKeyDown = param.onKeyDown, size = param.size, view = param.view, contentLeft = param.contentLeft, helperText = param.helperText, treeId = param.treeId, activeDescendantItemValue = param.activeDescendantItemValue, disabled = param.disabled, readOnly = param.readOnly, isTargetAmount = param.isTargetAmount, valueToItemMap = param.valueToItemMap, renderValue = param.renderValue, onChange = param.onChange, chipView = param.chipView, requiredProps = param.requiredProps, chipType = param.chipType, hintProps = param.hintProps;
142
117
  var withArrowInverse = opened ? _Selecttokens.classes.arrowInverse : undefined;
143
118
  var getValue = function() {
144
119
  var _valueToItemMap_get;
@@ -158,58 +133,44 @@ var Textfield = /*#__PURE__*/ (0, _react.forwardRef)(function(param, ref) {
158
133
  if (value.length === 0) return [];
159
134
  if (isTargetAmount) {
160
135
  return [
161
- "Выбрано ".concat(value.length)
136
+ {
137
+ value: '_removeAll',
138
+ label: "Выбрано ".concat(value.length),
139
+ disabled: value.every(function(val) {
140
+ var _valueToItemMap_get;
141
+ return valueToItemMap === null || valueToItemMap === void 0 ? void 0 : (_valueToItemMap_get = valueToItemMap.get(val)) === null || _valueToItemMap_get === void 0 ? void 0 : _valueToItemMap_get.disabled;
142
+ })
143
+ }
162
144
  ];
163
145
  }
164
- var renderValueMapper = renderValue && function(stringValue) {
165
- return renderValue(valueToItemMap.get(stringValue) || {
166
- value: stringValue,
167
- label: stringValue.toString()
168
- });
169
- };
170
- var valueToItemMapper = function(stringValue) {
171
- var _valueToItemMap_get;
172
- return ((_valueToItemMap_get = valueToItemMap.get(stringValue)) === null || _valueToItemMap_get === void 0 ? void 0 : _valueToItemMap_get.label) || stringValue.toString();
173
- };
174
- return value.map(renderValueMapper || valueToItemMapper);
146
+ return value.map(function(value) {
147
+ var _valueToItemMap_get, _valueToItemMap_get1;
148
+ var currentLabel = renderValue ? renderValue(valueToItemMap.get(value) || {
149
+ value: value,
150
+ label: value.toString()
151
+ }) : ((_valueToItemMap_get = valueToItemMap.get(value)) === null || _valueToItemMap_get === void 0 ? void 0 : _valueToItemMap_get.label) || value.toString();
152
+ return {
153
+ value: value,
154
+ label: currentLabel,
155
+ disabled: ((_valueToItemMap_get1 = valueToItemMap.get(value)) === null || _valueToItemMap_get1 === void 0 ? void 0 : _valueToItemMap_get1.disabled) || false
156
+ };
157
+ });
175
158
  }
176
159
  return [];
177
160
  };
178
161
  // Обработчик чипов
179
- var handleChipsChange = function(chipLabels) {
162
+ var handleChipClick = function(chip) {
180
163
  if (!Array.isArray(value)) return;
181
- // TODO: #1564
182
- // Из лейблов чипов получаем value у item и далее прокидываем его в onChange.
183
- if (renderValue && !isTargetAmount) {
184
- var resultValues = _to_consumable_array(value);
185
- value.forEach(function(_, index) {
164
+ if (isTargetAmount) {
165
+ // При закрытии чипа в режиме isTargetAmount в value оставляем только disabled-элементы
166
+ onChange(value.filter(function(val) {
186
167
  var _valueToItemMap_get;
187
- var stringValue = value[index];
188
- var label = (_valueToItemMap_get = valueToItemMap.get(stringValue)) === null || _valueToItemMap_get === void 0 ? void 0 : _valueToItemMap_get.label;
189
- var labelAfterRenderValue = renderValue(label ? labelToItemMap.get(label) : {
190
- value: stringValue,
191
- label: stringValue.toString()
192
- });
193
- if (!chipLabels.includes(labelAfterRenderValue)) {
194
- resultValues.splice(index, 1);
195
- }
196
- });
197
- var removedItemValue = (0, _utils.getRemovedElement)(value, resultValues, isTargetAmount);
198
- onChange(resultValues, removedItemValue ? valueToItemMap.get(removedItemValue) || {
199
- value: removedItemValue,
200
- label: removedItemValue.toString()
201
- } : null);
168
+ return valueToItemMap === null || valueToItemMap === void 0 ? void 0 : (_valueToItemMap_get = valueToItemMap.get(val)) === null || _valueToItemMap_get === void 0 ? void 0 : _valueToItemMap_get.disabled;
169
+ }));
202
170
  } else {
203
- var newValues = chipLabels.map(function(chipLabel) {
204
- var _labelToItemMap_get;
205
- return ((_labelToItemMap_get = labelToItemMap.get(chipLabel)) === null || _labelToItemMap_get === void 0 ? void 0 : _labelToItemMap_get.value) || chipLabel;
206
- });
207
- var removedItemValue1 = (0, _utils.getRemovedElement)(value, newValues, isTargetAmount);
208
- var item = removedItemValue1 ? valueToItemMap.get(removedItemValue1) || {
209
- value: removedItemValue1,
210
- label: removedItemValue1.toString()
211
- } : null;
212
- onChange(newValues, item);
171
+ onChange(value.filter(function(val) {
172
+ return val !== chip.value;
173
+ }), valueToItemMap.get(chip.value) || null);
213
174
  }
214
175
  };
215
176
  var helperTextStopPropagation = function(event) {
@@ -248,8 +209,8 @@ var Textfield = /*#__PURE__*/ (0, _react.forwardRef)(function(param, ref) {
248
209
  "aria-activedescendant": activeDescendantItemValue ? (0, _utils.getItemId)(treeId, activeDescendantItemValue) : ''
249
210
  }, multiselect ? {
250
211
  enumerationType: 'chip',
251
- chips: getChips(),
252
- onChangeChips: handleChipsChange,
212
+ _chips: getChips(),
213
+ _onChipClick: handleChipClick,
253
214
  chipType: chipType,
254
215
  chipView: chipView
255
216
  } : {
@@ -24,9 +24,6 @@ _export(exports, {
24
24
  get getPlacement () {
25
25
  return _getPlacement.getPlacement;
26
26
  },
27
- get getRemovedElement () {
28
- return _getRemovedElement.getRemovedElement;
29
- },
30
27
  get getView () {
31
28
  return _getView.getView;
32
29
  },
@@ -57,4 +54,3 @@ var _getView = require("./getView");
57
54
  var _getPlacement = require("./getPlacement");
58
55
  var _getFallbackPlacements = require("./getFallbackPlacements");
59
56
  var _getItemId = require("./getItemId");
60
- var _getRemovedElement = require("./getRemovedElement");
@@ -536,8 +536,12 @@ var textFieldRoot = function(Root) {
536
536
  getRef: getRef,
537
537
  handleChipKeyDown: handleChipKeyDown,
538
538
  onChipClear: onChipClear,
539
- view: view,
540
- readOnly: readOnly
539
+ view: chipView || view,
540
+ readOnly: readOnly,
541
+ chipType: chipType,
542
+ // TODO: #1547
543
+ // @ts-ignore
544
+ _forceChipManipulationWithReadonly: _forceChipManipulationWithReadonly
541
545
  }), isChipEnumeration && Boolean(chips === null || chips === void 0 ? void 0 : chips.length) && /*#__PURE__*/ _react.default.createElement(_TextFieldstyles.StyledChips, {
542
546
  className: _TextFieldtokens.classes.chipsWrapper
543
547
  }, chips === null || chips === void 0 ? void 0 : chips.map(function(param, index) {
@@ -9,6 +9,7 @@ Object.defineProperty(exports, "TextFieldChipNew", {
9
9
  }
10
10
  });
11
11
  var _react = /*#__PURE__*/ _interop_require_default(require("react"));
12
+ var _TextFieldChipstyles = require("../TextFieldChip/TextFieldChip.styles");
12
13
  var _TextFieldstyles = require("../../TextField.styles");
13
14
  var _TextFieldtokens = require("../../TextField.tokens");
14
15
  var _TextFieldChipNewstyles = require("./TextFieldChipNew.styles");
@@ -18,7 +19,7 @@ function _interop_require_default(obj) {
18
19
  };
19
20
  }
20
21
  var TextFieldChipNew = function(param) {
21
- var chips = param.chips, onChipClick = param.onChipClick, getRef = param.getRef, handleChipKeyDown = param.handleChipKeyDown, onChipClear = param.onChipClear, readOnly = param.readOnly, view = param.view;
22
+ var chips = param.chips, onChipClick = param.onChipClick, getRef = param.getRef, handleChipKeyDown = param.handleChipKeyDown, onChipClear = param.onChipClear, readOnly = param.readOnly, chipType = param.chipType, view = param.view, _forceChipManipulationWithReadonly = param._forceChipManipulationWithReadonly;
22
23
  return /*#__PURE__*/ _react.default.createElement(_TextFieldstyles.StyledChips, {
23
24
  className: _TextFieldtokens.classes.chipsWrapper
24
25
  }, chips.map(function(param, index) {
@@ -51,7 +52,7 @@ var TextFieldChipNew = function(param) {
51
52
  onChipClear(chipId, index);
52
53
  }
53
54
  };
54
- return /*#__PURE__*/ _react.default.createElement(_TextFieldChipNewstyles.StyledChip, {
55
+ return chipType === 'default' ? /*#__PURE__*/ _react.default.createElement(_TextFieldChipNewstyles.StyledChip, {
55
56
  key: chipId,
56
57
  ref: function(element) {
57
58
  return getRef(element, index);
@@ -63,7 +64,15 @@ var TextFieldChipNew = function(param) {
63
64
  onClick: handleClick,
64
65
  onKeyDown: onKeyDownHandle,
65
66
  text: label,
66
- view: view
67
- });
67
+ view: view,
68
+ // TODO: #1547
69
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
70
+ // @ts-ignore
71
+ _forceChipManipulationWithReadonly: _forceChipManipulationWithReadonly
72
+ }) : /*#__PURE__*/ _react.default.createElement(_TextFieldChipstyles.TextChip, {
73
+ tabIndex: -1,
74
+ onClick: handleClick,
75
+ onKeyDown: onKeyDownHandle
76
+ }, label);
68
77
  }));
69
78
  };
@@ -2,10 +2,18 @@
2
2
  Object.defineProperty(exports, "__esModule", {
3
3
  value: true
4
4
  });
5
- Object.defineProperty(exports, "StyledChip", {
6
- enumerable: true,
7
- get: function() {
5
+ function _export(target, all) {
6
+ for(var name in all)Object.defineProperty(target, name, {
7
+ enumerable: true,
8
+ get: Object.getOwnPropertyDescriptor(all, name).get
9
+ });
10
+ }
11
+ _export(exports, {
12
+ get StyledChip () {
8
13
  return StyledChip;
14
+ },
15
+ get TextChip () {
16
+ return TextChip;
9
17
  }
10
18
  });
11
19
  var _styledcomponents = /*#__PURE__*/ _interop_require_default(require("styled-components"));
@@ -23,7 +31,7 @@ var mergedConfig = (0, _engines.mergeConfig)(_Chip.chipConfig);
23
31
  var Chip = (0, _engines.component)(mergedConfig);
24
32
  var StyledChip = (0, _styledcomponents.default)(Chip).withConfig({
25
33
  displayName: "TextFieldChipNew.styles__StyledChip",
26
- componentId: "sc-ad9c2527-0"
34
+ componentId: "sc-ffa02158-0"
27
35
  })([
28
36
  "",
29
37
  ":var(",
@@ -85,3 +93,22 @@ var StyledChip = (0, _styledcomponents.default)(Chip).withConfig({
85
93
  outlineRadius: "calc(var(".concat(_TextFieldtokens.tokens.chipBorderRadius, ") - 0.1rem)"),
86
94
  outlineColor: "var(".concat(_TextFieldtokens.tokens.focusColor, ")")
87
95
  }), _TextFieldtokens.tokens.chipOpacityReadonly);
96
+ var TextChip = _styledcomponents.default.button.withConfig({
97
+ displayName: "TextFieldChipNew.styles__TextChip",
98
+ componentId: "sc-ffa02158-1"
99
+ })([
100
+ "display:block;flex:none;background:none;border:none;outline:none;padding:0;white-space:nowrap;cursor:pointer;font-family:var(",
101
+ ");font-size:var(",
102
+ ");font-style:var(",
103
+ ");font-weight:var(",
104
+ ");letter-spacing:var(",
105
+ ");line-height:var(",
106
+ ");color:var(",
107
+ ");",
108
+ " &:after{content:',';}&:last-child{&:after{content:'';}}"
109
+ ], _TextFieldtokens.tokens.fontFamily, _TextFieldtokens.tokens.fontSize, _TextFieldtokens.tokens.fontStyle, _TextFieldtokens.tokens.fontWeight, _TextFieldtokens.tokens.letterSpacing, _TextFieldtokens.tokens.lineHeight, _TextFieldtokens.tokens.color, (0, _mixins.addFocus)({
110
+ outlineOffset: '0.0625rem',
111
+ outlineSize: '0.0625rem',
112
+ outlineRadius: "calc(var(".concat(_TextFieldtokens.tokens.chipBorderRadius, ") - 0.1rem)"),
113
+ outlineColor: "var(".concat(_TextFieldtokens.tokens.focusColor, ")")
114
+ }));
@@ -199,7 +199,7 @@ import { Context } from "./Select.context";
199
199
  items
200
200
  ]);
201
201
  // Создаем структуры для быстрой работы с деревом
202
- var _usePathMaps = _sliced_to_array(usePathMaps(transformedItems), 5), pathMap = _usePathMaps[0], focusedToValueMap = _usePathMaps[1], valueToCheckedMap = _usePathMaps[2], valueToItemMap = _usePathMaps[3], labelToItemMap = _usePathMaps[4];
202
+ var _usePathMaps = _sliced_to_array(usePathMaps(transformedItems), 4), pathMap = _usePathMaps[0], focusedToValueMap = _usePathMaps[1], valueToCheckedMap = _usePathMaps[2], valueToItemMap = _usePathMaps[3];
203
203
  var _useState = _sliced_to_array(useState(props.multiselect ? [] : ''), 2), internalValue = _useState[0], setInternalValue = _useState[1];
204
204
  var value = outerValue !== null && outerValue !== undefined ? outerValue : internalValue;
205
205
  var floatingPopoverRef = useRef(null);
@@ -287,14 +287,33 @@ import { Context } from "./Select.context";
287
287
  return;
288
288
  }
289
289
  var checkedCopy = new Map(checked);
290
- if (!checkedCopy.get(item.value)) {
291
- checkedCopy.set(item.value, true);
292
- updateDescendants(item, checkedCopy, true, valueToItemMap);
293
- } else {
294
- checkedCopy.set(item.value, false);
295
- updateDescendants(item, checkedCopy, false);
290
+ switch(checkedCopy.get(item.value)){
291
+ // Если чекбокс в состоянии indeterminate
292
+ case 'indeterminate':
293
+ {
294
+ // checkedCopy.set(item.value, true); ??
295
+ updateDescendants(item, checkedCopy, true, valueToItemMap);
296
+ break;
297
+ }
298
+ // Если чекбокс в состоянии checked
299
+ case true:
300
+ {
301
+ updateDescendants(item, checkedCopy, false, valueToItemMap);
302
+ checkedCopy.set(item.value, false);
303
+ break;
304
+ }
305
+ // Если чекбокс в состоянии unchecked
306
+ case false:
307
+ {
308
+ updateDescendants(item, checkedCopy, true, valueToItemMap);
309
+ checkedCopy.set(item.value, true);
310
+ break;
311
+ }
312
+ default:
313
+ {
314
+ break;
315
+ }
296
316
  }
297
- updateAncestors(item, checkedCopy);
298
317
  var newValues = [];
299
318
  valueToItemMap.forEach(function(item, key) {
300
319
  if (checkedCopy.get(key)) {
@@ -485,7 +504,6 @@ import { Context } from "./Select.context";
485
504
  activeDescendantItemValue: activeDescendantItemValue,
486
505
  isTargetAmount: isTargetAmount,
487
506
  onChange: onChange,
488
- labelToItemMap: labelToItemMap,
489
507
  chipView: chipView,
490
508
  separator: separator,
491
509
  requiredProps: requiredProps,
@@ -5,18 +5,16 @@ export var usePathMaps = function(items) {
5
5
  var focusedToValueMap = new Map();
6
6
  var valueToCheckedMap = new Map();
7
7
  var valueToItemMap = new Map();
8
- var labelToItemMap = new Map();
9
8
  pathMap.set('root', (items === null || items === void 0 ? void 0 : items.length) || 0);
10
9
  var rec = function(items) {
11
10
  var prevIndex = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : '';
12
11
  items === null || items === void 0 ? void 0 : items.forEach(function(item, index) {
13
- var value = item.value, label = item.label, innerItems = item.items;
12
+ var value = item.value, innerItems = item.items;
14
13
  var currIndex = "".concat(prevIndex, "/").concat(index).replace(/^(\/)/, '');
15
14
  focusedToValueMap.set(currIndex, item);
16
15
  valueToCheckedMap.set(value, false);
17
16
  if (isEmpty(innerItems) || !innerItems) {
18
17
  valueToItemMap.set(value, item);
19
- labelToItemMap.set(label, item);
20
18
  } else {
21
19
  pathMap.set(value, innerItems.length);
22
20
  rec(innerItems, currIndex);
@@ -28,7 +26,6 @@ export var usePathMaps = function(items) {
28
26
  pathMap,
29
27
  focusedToValueMap,
30
28
  valueToCheckedMap,
31
- valueToItemMap,
32
- labelToItemMap
29
+ valueToItemMap
33
30
  ];
34
31
  };
@@ -2,7 +2,7 @@ import React, { forwardRef } from "react";
2
2
  import { useForkRef } from "@salutejs/plasma-core";
3
3
  import { Button, Textfield } from "./ui";
4
4
  export var Target = /*#__PURE__*/ forwardRef(function(param, ref) {
5
- var value = param.value, opened = param.opened, valueToItemMap = param.valueToItemMap, label = param.label, placeholder = param.placeholder, onKeyDown = param.onKeyDown, labelPlacement = param.labelPlacement, size = param.size, contentLeft = param.contentLeft, disabled = param.disabled, readOnly = param.readOnly, renderValue = param.renderValue, selectProps = param.selectProps, inputWrapperRef = param.inputWrapperRef, multiselect = param.multiselect, view = param.view, helperText = param.helperText, treeId = param.treeId, activeDescendantItemValue = param.activeDescendantItemValue, isTargetAmount = param.isTargetAmount, onChange = param.onChange, labelToItemMap = param.labelToItemMap, chipView = param.chipView, separator = param.separator, requiredProps = param.requiredProps, hintProps = param.hintProps;
5
+ var value = param.value, opened = param.opened, valueToItemMap = param.valueToItemMap, label = param.label, placeholder = param.placeholder, onKeyDown = param.onKeyDown, labelPlacement = param.labelPlacement, size = param.size, contentLeft = param.contentLeft, disabled = param.disabled, readOnly = param.readOnly, renderValue = param.renderValue, selectProps = param.selectProps, inputWrapperRef = param.inputWrapperRef, multiselect = param.multiselect, view = param.view, helperText = param.helperText, treeId = param.treeId, activeDescendantItemValue = param.activeDescendantItemValue, isTargetAmount = param.isTargetAmount, onChange = param.onChange, chipView = param.chipView, separator = param.separator, requiredProps = param.requiredProps, hintProps = param.hintProps;
6
6
  var buttonRef = useForkRef(ref, inputWrapperRef);
7
7
  if (selectProps.renderTarget) {
8
8
  return /*#__PURE__*/ React.createElement("div", {
@@ -47,7 +47,6 @@ export var Target = /*#__PURE__*/ forwardRef(function(param, ref) {
47
47
  valueToItemMap: valueToItemMap,
48
48
  renderValue: renderValue,
49
49
  onChange: onChange,
50
- labelToItemMap: labelToItemMap,
51
50
  chipView: chipView,
52
51
  requiredProps: requiredProps,
53
52
  hintProps: hintProps,