@salutejs/plasma-new-hope 0.122.0-canary.1349.10334109595.0 → 0.122.0-canary.1349.10339496739.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (59) hide show
  1. package/cjs/components/Autocomplete/Autocomplete.js +1 -1
  2. package/cjs/components/Autocomplete/Autocomplete.js.map +1 -1
  3. package/cjs/components/Select/Select.js +2 -1
  4. package/cjs/components/Select/Select.js.map +1 -1
  5. package/cjs/components/Select/ui/Inner/ui/Item/Item.js +3 -2
  6. package/cjs/components/Select/ui/Inner/ui/Item/Item.js.map +1 -1
  7. package/cjs/components/Select/ui/Target/ui/Button/Button.js +3 -1
  8. package/cjs/components/Select/ui/Target/ui/Button/Button.js.map +1 -1
  9. package/cjs/components/Select/ui/Target/ui/Textfield/Textfield.js +6 -4
  10. package/cjs/components/Select/ui/Target/ui/Textfield/Textfield.js.map +1 -1
  11. package/cjs/components/Select/utils/getButtonLabel.js +5 -5
  12. package/cjs/components/Select/utils/getButtonLabel.js.map +1 -1
  13. package/emotion/cjs/components/Autocomplete/Autocomplete.js +1 -1
  14. package/emotion/cjs/components/Select/Select.js +2 -1
  15. package/emotion/cjs/components/Select/ui/Inner/ui/Item/Item.js +3 -2
  16. package/emotion/cjs/components/Select/ui/Target/ui/Button/Button.js +3 -1
  17. package/emotion/cjs/components/Select/ui/Target/ui/Textfield/Textfield.js +6 -4
  18. package/emotion/cjs/components/Select/utils/getButtonLabel.js +5 -5
  19. package/emotion/es/components/Autocomplete/Autocomplete.js +1 -1
  20. package/emotion/es/components/Select/Select.js +2 -1
  21. package/emotion/es/components/Select/ui/Inner/ui/Item/Item.js +3 -2
  22. package/emotion/es/components/Select/ui/Target/ui/Button/Button.js +3 -1
  23. package/emotion/es/components/Select/ui/Target/ui/Textfield/Textfield.js +6 -4
  24. package/emotion/es/components/Select/utils/getButtonLabel.js +5 -5
  25. package/es/components/Autocomplete/Autocomplete.js +1 -1
  26. package/es/components/Autocomplete/Autocomplete.js.map +1 -1
  27. package/es/components/Select/Select.js +2 -1
  28. package/es/components/Select/Select.js.map +1 -1
  29. package/es/components/Select/ui/Inner/ui/Item/Item.js +3 -2
  30. package/es/components/Select/ui/Inner/ui/Item/Item.js.map +1 -1
  31. package/es/components/Select/ui/Target/ui/Button/Button.js +3 -1
  32. package/es/components/Select/ui/Target/ui/Button/Button.js.map +1 -1
  33. package/es/components/Select/ui/Target/ui/Textfield/Textfield.js +6 -4
  34. package/es/components/Select/ui/Target/ui/Textfield/Textfield.js.map +1 -1
  35. package/es/components/Select/utils/getButtonLabel.js +5 -5
  36. package/es/components/Select/utils/getButtonLabel.js.map +1 -1
  37. package/package.json +2 -2
  38. package/styled-components/cjs/components/Autocomplete/Autocomplete.js +1 -1
  39. package/styled-components/cjs/components/Select/Select.js +2 -1
  40. package/styled-components/cjs/components/Select/ui/Inner/ui/Item/Item.js +3 -2
  41. package/styled-components/cjs/components/Select/ui/Target/ui/Button/Button.js +3 -1
  42. package/styled-components/cjs/components/Select/ui/Target/ui/Textfield/Textfield.js +6 -4
  43. package/styled-components/cjs/components/Select/utils/getButtonLabel.js +5 -5
  44. package/styled-components/es/components/Autocomplete/Autocomplete.js +1 -1
  45. package/styled-components/es/components/Select/Select.js +2 -1
  46. package/styled-components/es/components/Select/ui/Inner/ui/Item/Item.js +3 -2
  47. package/styled-components/es/components/Select/ui/Target/ui/Button/Button.js +3 -1
  48. package/styled-components/es/components/Select/ui/Target/ui/Textfield/Textfield.js +6 -4
  49. package/styled-components/es/components/Select/utils/getButtonLabel.js +5 -5
  50. package/types/components/Autocomplete/Autocomplete.d.ts.map +1 -1
  51. package/types/components/Pagination/ui/PaginationSelectPerPage/PaginationSelectPerPage.styles.d.ts +12 -12
  52. package/types/components/Select/Select.d.ts.map +1 -1
  53. package/types/components/Select/Select.types.d.ts +72 -7
  54. package/types/components/Select/Select.types.d.ts.map +1 -1
  55. package/types/components/Select/ui/Inner/ui/Item/Item.d.ts.map +1 -1
  56. package/types/components/Select/ui/Target/ui/Button/Button.d.ts.map +1 -1
  57. package/types/components/Select/ui/Target/ui/Textfield/Textfield.d.ts.map +1 -1
  58. package/types/examples/plasma_b2c/components/Select/Select.d.ts +12 -12
  59. package/types/examples/plasma_web/components/Select/Select.d.ts +12 -12
@@ -38,7 +38,7 @@ var getLabel = function getLabel(_ref) {
38
38
  return value.map(function (currentValue, index) {
39
39
  var itemLabel = valueToItemMap.get(currentValue).label;
40
40
  return /*#__PURE__*/_react["default"].createElement(_ui.Chip, {
41
- text: renderValue ? renderValue(currentValue, itemLabel) : itemLabel,
41
+ text: renderValue ? renderValue(valueToItemMap.get(currentValue)) : itemLabel,
42
42
  onClick: function onClick(e) {
43
43
  e.stopPropagation();
44
44
  onChipClick(currentValue);
@@ -49,9 +49,9 @@ var getLabel = function getLabel(_ref) {
49
49
  }
50
50
  var itemLabel = valueToItemMap.get(value).label;
51
51
  if (!label || labelPlacement === 'outer') {
52
- return /*#__PURE__*/_react["default"].createElement(_Textfield.Value, null, renderValue ? renderValue(value, itemLabel) : itemLabel);
52
+ return /*#__PURE__*/_react["default"].createElement(_Textfield.Value, null, renderValue ? renderValue(valueToItemMap.get(value)) : itemLabel);
53
53
  }
54
- return /*#__PURE__*/_react["default"].createElement(_Textfield.InnerLabelWrapper, null, size !== 'xs' && /*#__PURE__*/_react["default"].createElement(_Textfield.InnerLabel, null, label), /*#__PURE__*/_react["default"].createElement(_Textfield.Value, null, renderValue ? renderValue(value, itemLabel) : itemLabel));
54
+ return /*#__PURE__*/_react["default"].createElement(_Textfield.InnerLabelWrapper, null, size !== 'xs' && /*#__PURE__*/_react["default"].createElement(_Textfield.InnerLabel, null, label), /*#__PURE__*/_react["default"].createElement(_Textfield.Value, null, renderValue ? renderValue(valueToItemMap.get(value)) : itemLabel));
55
55
  };
56
56
  var Textfield = exports.Textfield = function Textfield(_ref2) {
57
57
  var opened = _ref2.opened,
@@ -92,7 +92,9 @@ var Textfield = exports.Textfield = function Textfield(_ref2) {
92
92
  "aria-activedescendant": getActiveDescendant(),
93
93
  "aria-label": label,
94
94
  renderTarget: Boolean(selectProps.renderTarget)
95
- }, /*#__PURE__*/_react["default"].createElement(_Textfield.Wrapper, null, selectProps !== null && selectProps !== void 0 && selectProps.renderTarget ? selectProps.renderTarget(value) : /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, contentLeft && (!selectProps.multiselect || (0, _utils.isEmpty)(value)) && /*#__PURE__*/_react["default"].createElement(_Textfield.ContentLeftWrapper, null, contentLeft), /*#__PURE__*/_react["default"].createElement(_Textfield.ChipWrapper, null, getLabel({
95
+ }, /*#__PURE__*/_react["default"].createElement(_Textfield.Wrapper, null, selectProps !== null && selectProps !== void 0 && selectProps.renderTarget ? selectProps.renderTarget(Array.isArray(value) ? value.map(function (value) {
96
+ return valueToItemMap.get(value);
97
+ }) : valueToItemMap.get(value)) : /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, contentLeft && (!selectProps.multiselect || (0, _utils.isEmpty)(value)) && /*#__PURE__*/_react["default"].createElement(_Textfield.ContentLeftWrapper, null, contentLeft), /*#__PURE__*/_react["default"].createElement(_Textfield.ChipWrapper, null, getLabel({
96
98
  value: value,
97
99
  valueToItemMap: valueToItemMap,
98
100
  onChipClick: onChipClick,
@@ -9,9 +9,9 @@ var getLabel = function getLabel(_ref) {
9
9
  var value = _ref.value,
10
10
  valueToItemMap = _ref.valueToItemMap,
11
11
  renderValue = _ref.renderValue;
12
- var _ref2 = valueToItemMap.get(value === null || value === void 0 ? void 0 : value.toString()),
12
+ var _ref2 = valueToItemMap.get(value),
13
13
  label = _ref2.label;
14
- return renderValue ? renderValue(value, label) : label;
14
+ return renderValue ? renderValue(valueToItemMap.get(value)) : label;
15
15
  };
16
16
  var getButtonLabel = exports.getButtonLabel = function getButtonLabel(_ref3) {
17
17
  var value = _ref3.value,
@@ -36,8 +36,8 @@ var getButtonLabel = exports.getButtonLabel = function getButtonLabel(_ref3) {
36
36
  }).join(separator || ', ');
37
37
  }
38
38
  return getLabel({
39
- renderValue: renderValue,
40
- value: value,
41
- valueToItemMap: valueToItemMap
39
+ value: value.toString(),
40
+ valueToItemMap: valueToItemMap,
41
+ renderValue: renderValue
42
42
  });
43
43
  };
@@ -61,7 +61,7 @@ export var autocompleteRoot = function autocompleteRoot(Root) {
61
61
  isOpen = _useState4[0],
62
62
  setIsOpen = _useState4[1];
63
63
  var listId = safeUseId();
64
- var value = outerValue || innerValue;
64
+ var value = outerValue !== null && outerValue !== void 0 ? outerValue : innerValue;
65
65
  var helperTextId = safeUseId();
66
66
  var targetRef = useOutsideClick(function () {
67
67
  setIsOpen(false);
@@ -236,7 +236,8 @@ export var selectRoot = function selectRoot(Root) {
236
236
  handleCheckboxChange: handleCheckboxChange,
237
237
  handleItemClick: handleItemClick,
238
238
  variant: variant,
239
- renderItem: renderItem
239
+ renderItem: renderItem,
240
+ valueToItemMap: valueToItemMap
240
241
  }
241
242
  }, /*#__PURE__*/React.createElement(StyledPopover, {
242
243
  ref: targetRef,
@@ -29,7 +29,8 @@ export var Item = function Item(_ref) {
29
29
  handleCheckboxChange = _useContext.handleCheckboxChange,
30
30
  handleItemClick = _useContext.handleItemClick,
31
31
  variant = _useContext.variant,
32
- renderItem = _useContext.renderItem;
32
+ renderItem = _useContext.renderItem,
33
+ valueToItemMap = _useContext.valueToItemMap;
33
34
  var isDisabledClassName = disabled ? classes.dropdownItemIsDisabled : undefined;
34
35
  var focusedClass = currentLevel === focusedPath.length - 1 && index === (focusedPath === null || focusedPath === void 0 ? void 0 : focusedPath[currentLevel]) ? classes.dropdownItemIsFocused : undefined;
35
36
  var activeClass = value === (path === null || path === void 0 ? void 0 : path[currentLevel + 1]) ? classes.dropdownItemIsActive : undefined;
@@ -79,7 +80,7 @@ export var Item = function Item(_ref) {
79
80
  }))), !multiselect && checked.get(item.value) === 'done' && /*#__PURE__*/React.createElement(IconDone, {
80
81
  size: sizeToIconSize(size, variant),
81
82
  color: "inherit"
82
- })), contentLeft && /*#__PURE__*/React.createElement(StyledContentLeft, null, contentLeft), /*#__PURE__*/React.createElement(StyledText, null, renderItem && renderItem(value.toString(), label) || label), contentRight && /*#__PURE__*/React.createElement(StyledContentRight, null, contentRight), !isEmpty(item.items) && /*#__PURE__*/React.createElement(DisclosureIconWrapper, null, /*#__PURE__*/React.createElement(IconDisclosureRightCentered, {
83
+ })), contentLeft && /*#__PURE__*/React.createElement(StyledContentLeft, null, contentLeft), /*#__PURE__*/React.createElement(StyledText, null, renderItem && renderItem(valueToItemMap.get(value)) || label), contentRight && /*#__PURE__*/React.createElement(StyledContentRight, null, contentRight), !isEmpty(item.items) && /*#__PURE__*/React.createElement(DisclosureIconWrapper, null, /*#__PURE__*/React.createElement(IconDisclosureRightCentered, {
83
84
  size: sizeToIconSize(size, variant),
84
85
  color: "inherit"
85
86
  })));
@@ -40,7 +40,9 @@ export var Button = function Button(_ref) {
40
40
  "aria-activedescendant": getActiveDescendant(),
41
41
  "aria-label": label,
42
42
  renderTarget: Boolean(selectProps.renderTarget)
43
- }, selectProps.renderTarget ? selectProps.renderTarget(value) : /*#__PURE__*/React.createElement(Label, null, getButtonLabel({
43
+ }, selectProps.renderTarget ? selectProps.renderTarget(Array.isArray(value) ? value.map(function (value) {
44
+ return valueToItemMap.get(value);
45
+ }) : valueToItemMap.get(value)) : /*#__PURE__*/React.createElement(Label, null, getButtonLabel({
44
46
  value: value,
45
47
  valueToItemMap: valueToItemMap,
46
48
  label: label,
@@ -31,7 +31,7 @@ var getLabel = function getLabel(_ref) {
31
31
  return value.map(function (currentValue, index) {
32
32
  var itemLabel = valueToItemMap.get(currentValue).label;
33
33
  return /*#__PURE__*/React.createElement(Chip, {
34
- text: renderValue ? renderValue(currentValue, itemLabel) : itemLabel,
34
+ text: renderValue ? renderValue(valueToItemMap.get(currentValue)) : itemLabel,
35
35
  onClick: function onClick(e) {
36
36
  e.stopPropagation();
37
37
  onChipClick(currentValue);
@@ -42,9 +42,9 @@ var getLabel = function getLabel(_ref) {
42
42
  }
43
43
  var itemLabel = valueToItemMap.get(value).label;
44
44
  if (!label || labelPlacement === 'outer') {
45
- return /*#__PURE__*/React.createElement(Value, null, renderValue ? renderValue(value, itemLabel) : itemLabel);
45
+ return /*#__PURE__*/React.createElement(Value, null, renderValue ? renderValue(valueToItemMap.get(value)) : itemLabel);
46
46
  }
47
- return /*#__PURE__*/React.createElement(InnerLabelWrapper, null, size !== 'xs' && /*#__PURE__*/React.createElement(InnerLabel, null, label), /*#__PURE__*/React.createElement(Value, null, renderValue ? renderValue(value, itemLabel) : itemLabel));
47
+ return /*#__PURE__*/React.createElement(InnerLabelWrapper, null, size !== 'xs' && /*#__PURE__*/React.createElement(InnerLabel, null, label), /*#__PURE__*/React.createElement(Value, null, renderValue ? renderValue(valueToItemMap.get(value)) : itemLabel));
48
48
  };
49
49
  export var Textfield = function Textfield(_ref2) {
50
50
  var opened = _ref2.opened,
@@ -85,7 +85,9 @@ export var Textfield = function Textfield(_ref2) {
85
85
  "aria-activedescendant": getActiveDescendant(),
86
86
  "aria-label": label,
87
87
  renderTarget: Boolean(selectProps.renderTarget)
88
- }, /*#__PURE__*/React.createElement(Wrapper, null, selectProps !== null && selectProps !== void 0 && selectProps.renderTarget ? selectProps.renderTarget(value) : /*#__PURE__*/React.createElement(React.Fragment, null, contentLeft && (!selectProps.multiselect || isEmpty(value)) && /*#__PURE__*/React.createElement(ContentLeftWrapper, null, contentLeft), /*#__PURE__*/React.createElement(ChipWrapper, null, getLabel({
88
+ }, /*#__PURE__*/React.createElement(Wrapper, null, selectProps !== null && selectProps !== void 0 && selectProps.renderTarget ? selectProps.renderTarget(Array.isArray(value) ? value.map(function (value) {
89
+ return valueToItemMap.get(value);
90
+ }) : valueToItemMap.get(value)) : /*#__PURE__*/React.createElement(React.Fragment, null, contentLeft && (!selectProps.multiselect || isEmpty(value)) && /*#__PURE__*/React.createElement(ContentLeftWrapper, null, contentLeft), /*#__PURE__*/React.createElement(ChipWrapper, null, getLabel({
89
91
  value: value,
90
92
  valueToItemMap: valueToItemMap,
91
93
  onChipClick: onChipClick,
@@ -3,9 +3,9 @@ var getLabel = function getLabel(_ref) {
3
3
  var value = _ref.value,
4
4
  valueToItemMap = _ref.valueToItemMap,
5
5
  renderValue = _ref.renderValue;
6
- var _ref2 = valueToItemMap.get(value === null || value === void 0 ? void 0 : value.toString()),
6
+ var _ref2 = valueToItemMap.get(value),
7
7
  label = _ref2.label;
8
- return renderValue ? renderValue(value, label) : label;
8
+ return renderValue ? renderValue(valueToItemMap.get(value)) : label;
9
9
  };
10
10
  export var getButtonLabel = function getButtonLabel(_ref3) {
11
11
  var value = _ref3.value,
@@ -30,8 +30,8 @@ export var getButtonLabel = function getButtonLabel(_ref3) {
30
30
  }).join(separator || ', ');
31
31
  }
32
32
  return getLabel({
33
- renderValue: renderValue,
34
- value: value,
35
- valueToItemMap: valueToItemMap
33
+ value: value.toString(),
34
+ valueToItemMap: valueToItemMap,
35
+ renderValue: renderValue
36
36
  });
37
37
  };
@@ -57,7 +57,7 @@ var autocompleteRoot = function autocompleteRoot(Root) {
57
57
  isOpen = _useState4[0],
58
58
  setIsOpen = _useState4[1];
59
59
  var listId = safeUseId();
60
- var value = outerValue || innerValue;
60
+ var value = outerValue !== null && outerValue !== void 0 ? outerValue : innerValue;
61
61
  var helperTextId = safeUseId();
62
62
  var targetRef = useOutsideClick(function () {
63
63
  setIsOpen(false);
@@ -1 +1 @@
1
- {"version":3,"file":"Autocomplete.js","sources":["../../../src/components/Autocomplete/Autocomplete.tsx"],"sourcesContent":["import React, { forwardRef, useState, useReducer } from 'react';\nimport { safeUseId } from '@salutejs/plasma-core';\n\nimport { useDidMountEffect, useOutsideClick } from '../../hooks';\nimport { RootProps } from '../../engines';\nimport { getPlacements } from '../../utils';\n\nimport { focusedReducer } from './reducers/focusedReducer';\nimport { SuggestionItem, StyledTextField } from './ui';\nimport { StyledPopover, Ul, LeftHelper, base, InfiniteLoaderWrapper } from './Autocomplete.styles';\nimport type { AutocompleteProps, SuggestionItemType } from './Autocomplete.types';\nimport { useKeyNavigation } from './hooks/useKeyboardNavigation';\n\n/**\n * Компонент Autocomplete. Поле ввода с подсказками в выпадающем списке.\n */\nexport const autocompleteRoot = (Root: RootProps<HTMLInputElement, AutocompleteProps>) =>\n forwardRef<HTMLInputElement, AutocompleteProps>(\n (\n {\n value: outerValue,\n onChange,\n suggestions,\n view,\n size,\n labelPlacement,\n disabled,\n readOnly,\n label,\n leftHelper,\n contentLeft,\n contentRight,\n textBefore,\n textAfter,\n onScroll,\n listMaxHeight,\n listWidth,\n portal,\n filter,\n onSuggestionSelect,\n threshold = 2,\n renderList,\n renderListEnd,\n onSearch,\n ...rest\n },\n ref,\n ) => {\n const [focused, dispatchFocused] = useReducer(focusedReducer, null);\n const [innerValue, setInnerValue] = useState<string | number>('');\n const [isOpen, setIsOpen] = useState(false);\n\n const listId = safeUseId();\n const value = outerValue || innerValue;\n const helperTextId = safeUseId();\n\n const targetRef = useOutsideClick<HTMLDivElement>(() => {\n setIsOpen(false);\n });\n\n const handleFocus = () => {\n if (value.toString().length >= threshold) {\n setIsOpen(true);\n }\n };\n\n const handleItemClick = (e: SuggestionItemType) => {\n setInnerValue(e.label);\n\n if (onSuggestionSelect) {\n onSuggestionSelect(e);\n }\n\n setIsOpen(false);\n };\n\n const handleChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n const currentValue = e.target.value;\n\n setInnerValue(currentValue);\n\n if (onChange) {\n onChange(e);\n }\n\n if (currentValue.toString().length >= threshold) {\n setIsOpen(true);\n } else {\n setIsOpen(false);\n }\n };\n\n const defaultFilterCallback = ({ label }: { label: string }) => {\n return label.toLowerCase().includes(value.toString().toLowerCase());\n };\n\n const finalResults = suggestions?.filter(filter || defaultFilterCallback) || [];\n\n const { onKeyDown } = useKeyNavigation({\n isOpen,\n setIsOpen,\n focused,\n dispatchFocused,\n finalResults,\n handleItemClick,\n });\n\n useDidMountEffect(() => {\n dispatchFocused({ type: 'reset' });\n }, [value]);\n\n return (\n <Root view={view} size={size} labelPlacement={labelPlacement} disabled={disabled} readOnly={readOnly}>\n <StyledPopover\n isOpen={isOpen}\n offset={[0, 0]}\n placement={getPlacements('bottom')}\n isFocusTrapped={false}\n usePortal={Boolean(portal)}\n frame={portal}\n target={\n <StyledTextField\n value={value}\n onChange={handleChange}\n onSearch={focused === null ? onSearch : undefined}\n ref={ref}\n size={size}\n view={view}\n labelPlacement={labelPlacement}\n disabled={disabled}\n readOnly={readOnly}\n label={label}\n contentLeft={contentLeft}\n contentRight={contentRight}\n textBefore={textBefore}\n textAfter={textAfter}\n onFocus={handleFocus}\n onKeyDown={onKeyDown}\n role=\"combobox\"\n aria-autocomplete=\"list\"\n aria-controls={listId}\n aria-expanded={isOpen}\n aria-activedescendant={`${listId}/${focused}`}\n aria-describedby={helperTextId}\n {...rest}\n />\n }\n preventOverflow={false}\n ref={targetRef}\n listWidth={listWidth}\n >\n {(renderList && renderList(finalResults)) ||\n (Boolean(finalResults.length) && (\n <Root\n view={view}\n size={size}\n labelPlacement={labelPlacement}\n disabled={disabled}\n readOnly={readOnly}\n >\n <Ul\n id={listId}\n role=\"listbox\"\n aria-label={label}\n onScroll={onScroll}\n listMaxHeight={listMaxHeight}\n >\n {finalResults.map((suggestion, index) => (\n <SuggestionItem\n key={index}\n item={suggestion}\n onClick={handleItemClick}\n id={`${listId}/${index}`}\n focused={focused === index}\n />\n ))}\n\n {renderListEnd && (\n <InfiniteLoaderWrapper>{renderListEnd()}</InfiniteLoaderWrapper>\n )}\n </Ul>\n </Root>\n ))}\n </StyledPopover>\n\n {/* TODO: Дублируем хелпер для корректного позиционирования списка подсказок */}\n {leftHelper && (\n <LeftHelper id={helperTextId} disabled={disabled} readOnly={readOnly}>\n {leftHelper}\n </LeftHelper>\n )}\n </Root>\n );\n },\n );\n\nexport const autocompleteConfig = {\n name: 'Autocomplete',\n tag: 'div',\n layout: autocompleteRoot,\n base,\n defaults: {\n view: 'default',\n size: 'l',\n labelPlacement: 'outer',\n },\n variations: {\n view: {\n css: '',\n },\n },\n};\n"],"names":["autocompleteRoot","Root","forwardRef","_ref","ref","outerValue","value","onChange","suggestions","view","size","labelPlacement","disabled","readOnly","label","leftHelper","contentLeft","contentRight","textBefore","textAfter","onScroll","listMaxHeight","listWidth","portal","filter","onSuggestionSelect","_ref$threshold","threshold","renderList","renderListEnd","onSearch","rest","_objectWithoutProperties","_excluded","_useReducer","useReducer","focusedReducer","_useReducer2","_slicedToArray","focused","dispatchFocused","_useState","useState","_useState2","innerValue","setInnerValue","_useState3","_useState4","isOpen","setIsOpen","listId","safeUseId","helperTextId","targetRef","useOutsideClick","handleFocus","toString","length","handleItemClick","e","handleChange","currentValue","target","defaultFilterCallback","_ref2","toLowerCase","includes","finalResults","_useKeyNavigation","useKeyNavigation","onKeyDown","useDidMountEffect","type","React","createElement","StyledPopover","offset","placement","getPlacements","isFocusTrapped","usePortal","Boolean","frame","StyledTextField","_extends","undefined","onFocus","role","concat","preventOverflow","Ul","id","map","suggestion","index","SuggestionItem","key","item","onClick","InfiniteLoaderWrapper","LeftHelper","autocompleteConfig","name","tag","layout","base","defaults","variations","css"],"mappings":"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"}
1
+ {"version":3,"file":"Autocomplete.js","sources":["../../../src/components/Autocomplete/Autocomplete.tsx"],"sourcesContent":["import React, { forwardRef, useState, useReducer } from 'react';\nimport { safeUseId } from '@salutejs/plasma-core';\n\nimport { useDidMountEffect, useOutsideClick } from '../../hooks';\nimport { RootProps } from '../../engines';\nimport { getPlacements } from '../../utils';\n\nimport { focusedReducer } from './reducers/focusedReducer';\nimport { SuggestionItem, StyledTextField } from './ui';\nimport { StyledPopover, Ul, LeftHelper, base, InfiniteLoaderWrapper } from './Autocomplete.styles';\nimport type { AutocompleteProps, SuggestionItemType } from './Autocomplete.types';\nimport { useKeyNavigation } from './hooks/useKeyboardNavigation';\n\n/**\n * Компонент Autocomplete. Поле ввода с подсказками в выпадающем списке.\n */\nexport const autocompleteRoot = (Root: RootProps<HTMLInputElement, AutocompleteProps>) =>\n forwardRef<HTMLInputElement, AutocompleteProps>(\n (\n {\n value: outerValue,\n onChange,\n suggestions,\n view,\n size,\n labelPlacement,\n disabled,\n readOnly,\n label,\n leftHelper,\n contentLeft,\n contentRight,\n textBefore,\n textAfter,\n onScroll,\n listMaxHeight,\n listWidth,\n portal,\n filter,\n onSuggestionSelect,\n threshold = 2,\n renderList,\n renderListEnd,\n onSearch,\n ...rest\n },\n ref,\n ) => {\n const [focused, dispatchFocused] = useReducer(focusedReducer, null);\n const [innerValue, setInnerValue] = useState<string | number>('');\n const [isOpen, setIsOpen] = useState(false);\n\n const listId = safeUseId();\n const value = outerValue ?? innerValue;\n\n const helperTextId = safeUseId();\n\n const targetRef = useOutsideClick<HTMLDivElement>(() => {\n setIsOpen(false);\n });\n\n const handleFocus = () => {\n if (value.toString().length >= threshold) {\n setIsOpen(true);\n }\n };\n\n const handleItemClick = (e: SuggestionItemType) => {\n setInnerValue(e.label);\n\n if (onSuggestionSelect) {\n onSuggestionSelect(e);\n }\n\n setIsOpen(false);\n };\n\n const handleChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n const currentValue = e.target.value;\n\n setInnerValue(currentValue);\n\n if (onChange) {\n onChange(e);\n }\n\n if (currentValue.toString().length >= threshold) {\n setIsOpen(true);\n } else {\n setIsOpen(false);\n }\n };\n\n const defaultFilterCallback = ({ label }: { label: string }) => {\n return label.toLowerCase().includes(value.toString().toLowerCase());\n };\n\n const finalResults = suggestions?.filter(filter || defaultFilterCallback) || [];\n\n const { onKeyDown } = useKeyNavigation({\n isOpen,\n setIsOpen,\n focused,\n dispatchFocused,\n finalResults,\n handleItemClick,\n });\n\n useDidMountEffect(() => {\n dispatchFocused({ type: 'reset' });\n }, [value]);\n\n return (\n <Root view={view} size={size} labelPlacement={labelPlacement} disabled={disabled} readOnly={readOnly}>\n <StyledPopover\n isOpen={isOpen}\n offset={[0, 0]}\n placement={getPlacements('bottom')}\n isFocusTrapped={false}\n usePortal={Boolean(portal)}\n frame={portal}\n target={\n <StyledTextField\n value={value}\n onChange={handleChange}\n onSearch={focused === null ? onSearch : undefined}\n ref={ref}\n size={size}\n view={view}\n labelPlacement={labelPlacement}\n disabled={disabled}\n readOnly={readOnly}\n label={label}\n contentLeft={contentLeft}\n contentRight={contentRight}\n textBefore={textBefore}\n textAfter={textAfter}\n onFocus={handleFocus}\n onKeyDown={onKeyDown}\n role=\"combobox\"\n aria-autocomplete=\"list\"\n aria-controls={listId}\n aria-expanded={isOpen}\n aria-activedescendant={`${listId}/${focused}`}\n aria-describedby={helperTextId}\n {...rest}\n />\n }\n preventOverflow={false}\n ref={targetRef}\n listWidth={listWidth}\n >\n {(renderList && renderList(finalResults)) ||\n (Boolean(finalResults.length) && (\n <Root\n view={view}\n size={size}\n labelPlacement={labelPlacement}\n disabled={disabled}\n readOnly={readOnly}\n >\n <Ul\n id={listId}\n role=\"listbox\"\n aria-label={label}\n onScroll={onScroll}\n listMaxHeight={listMaxHeight}\n >\n {finalResults.map((suggestion, index) => (\n <SuggestionItem\n key={index}\n item={suggestion}\n onClick={handleItemClick}\n id={`${listId}/${index}`}\n focused={focused === index}\n />\n ))}\n\n {renderListEnd && (\n <InfiniteLoaderWrapper>{renderListEnd()}</InfiniteLoaderWrapper>\n )}\n </Ul>\n </Root>\n ))}\n </StyledPopover>\n\n {/* TODO: Дублируем хелпер для корректного позиционирования списка подсказок */}\n {leftHelper && (\n <LeftHelper id={helperTextId} disabled={disabled} readOnly={readOnly}>\n {leftHelper}\n </LeftHelper>\n )}\n </Root>\n );\n },\n );\n\nexport const autocompleteConfig = {\n name: 'Autocomplete',\n tag: 'div',\n layout: autocompleteRoot,\n base,\n defaults: {\n view: 'default',\n size: 'l',\n labelPlacement: 'outer',\n },\n variations: {\n view: {\n css: '',\n },\n },\n};\n"],"names":["autocompleteRoot","Root","forwardRef","_ref","ref","outerValue","value","onChange","suggestions","view","size","labelPlacement","disabled","readOnly","label","leftHelper","contentLeft","contentRight","textBefore","textAfter","onScroll","listMaxHeight","listWidth","portal","filter","onSuggestionSelect","_ref$threshold","threshold","renderList","renderListEnd","onSearch","rest","_objectWithoutProperties","_excluded","_useReducer","useReducer","focusedReducer","_useReducer2","_slicedToArray","focused","dispatchFocused","_useState","useState","_useState2","innerValue","setInnerValue","_useState3","_useState4","isOpen","setIsOpen","listId","safeUseId","helperTextId","targetRef","useOutsideClick","handleFocus","toString","length","handleItemClick","e","handleChange","currentValue","target","defaultFilterCallback","_ref2","toLowerCase","includes","finalResults","_useKeyNavigation","useKeyNavigation","onKeyDown","useDidMountEffect","type","React","createElement","StyledPopover","offset","placement","getPlacements","isFocusTrapped","usePortal","Boolean","frame","StyledTextField","_extends","undefined","onFocus","role","concat","preventOverflow","Ul","id","map","suggestion","index","SuggestionItem","key","item","onClick","InfiniteLoaderWrapper","LeftHelper","autocompleteConfig","name","tag","layout","base","defaults","variations","css"],"mappings":"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"}
@@ -242,7 +242,8 @@ var selectRoot = function selectRoot(Root) {
242
242
  handleCheckboxChange: handleCheckboxChange,
243
243
  handleItemClick: handleItemClick,
244
244
  variant: variant,
245
- renderItem: renderItem
245
+ renderItem: renderItem,
246
+ valueToItemMap: valueToItemMap
246
247
  }
247
248
  }, /*#__PURE__*/React.createElement(StyledPopover, {
248
249
  ref: targetRef,
@@ -1 +1 @@
1
- {"version":3,"file":"Select.js","sources":["../../../src/components/Select/Select.tsx"],"sourcesContent":["import React, { forwardRef, useState, useReducer, useMemo, createContext, useLayoutEffect } from 'react';\n\nimport { RootProps } from '../../engines';\nimport { isEmpty, getPlacements } from '../../utils';\nimport { useOutsideClick } from '../../hooks';\n\nimport { useKeyNavigation } from './hooks/useKeyboardNavigation';\nimport { initialItemsTransform, updateAncestors, updateDescendants, updateSingleAncestors, getView } from './utils';\nimport { Inner, Target } from './ui';\nimport { pathReducer, focusedPathReducer, focusedChipIndexReducer } from './reducers';\nimport { usePathMaps } from './hooks/usePathMaps';\nimport { StyledPopover, Ul, base, OuterLabel, HelperText } from './Select.styles';\nimport type { ItemContext, MergedSelectProps } from './Select.types';\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as sizeCSS } from './variations/_size/base';\nimport type { MergedDropdownNodeTransformed } from './ui/Inner/ui/Item/Item.types';\n\nexport const Context = createContext<ItemContext>({} as ItemContext);\n\n/**\n * Выпадающий список. Поддерживает выбор одного или нескольких значений.\n */\nexport const selectRoot = (Root: RootProps<HTMLButtonElement, Omit<MergedSelectProps, 'items'>>) =>\n forwardRef<HTMLButtonElement, MergedSelectProps>((props, ref) => {\n const {\n value: outerValue,\n onChange: outerOnChange,\n target = 'textfield-like',\n items,\n placement = 'bottom',\n label,\n labelPlacement = 'outer',\n placeholder,\n helperText,\n disabled = false,\n view,\n size,\n listOverflow,\n listHeight,\n listWidth,\n contentLeft,\n onScrollBottom,\n chipView,\n variant = 'normal',\n portal,\n renderValue,\n renderItem,\n status,\n onItemSelect,\n separator,\n ...rest\n } = props;\n\n const [internalValue, setInternalValue] = useState<string | number | Array<string | number>>(\n outerValue || props.multiselect ? [] : '',\n );\n\n const value = outerValue || internalValue;\n\n const onChange = (e: string | number | Array<string | number>) => {\n if (outerOnChange) {\n outerOnChange(e as any);\n }\n\n setInternalValue(e);\n };\n\n const transformedItems = useMemo(() => initialItemsTransform(items || []), [items]);\n\n const [pathMap, focusedToValueMap, valueToCheckedMap, valueToItemMap] = usePathMaps(transformedItems);\n\n const [path, dispatchPath] = useReducer(pathReducer, []);\n const [focusedPath, dispatchFocusedPath] = useReducer(focusedPathReducer, []);\n const [focusedChipIndex, dispatchFocusedChipIndex] = useReducer(focusedChipIndexReducer, null);\n const [checked, setChecked] = useState(valueToCheckedMap);\n\n const targetRef = useOutsideClick<HTMLDivElement>(() => {\n if (focusedChipIndex != null) {\n dispatchFocusedChipIndex({ type: 'reset' });\n }\n });\n\n const handleToggle = (opened: boolean) => {\n if (opened) {\n dispatchPath({ type: 'opened_first_level' });\n } else {\n dispatchFocusedPath({ type: 'reset' });\n dispatchPath({ type: 'reset' });\n dispatchFocusedChipIndex({ type: 'reset' });\n }\n };\n\n const handleCheckboxChange = (item: MergedDropdownNodeTransformed) => {\n if (props.multiselect) {\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 | number> = [];\n\n valueToItemMap.forEach((item, key) => {\n if (checkedCopy.get(key)) {\n newValues.push(item.value);\n }\n });\n\n if (onChange) {\n onChange(newValues);\n }\n }\n };\n\n const handleItemClick = (item: MergedDropdownNodeTransformed, e?: React.MouseEvent<HTMLElement>) => {\n if (!isEmpty(item?.items)) {\n return;\n }\n\n if (props.multiselect) {\n handleCheckboxChange(item);\n } else {\n if (e) {\n e.stopPropagation();\n }\n\n const checkedCopy = new Map(checked);\n\n const isCurrentChecked = checkedCopy.get(item.value);\n\n checkedCopy.forEach((_, key) => {\n checkedCopy.set(key, false);\n });\n\n if (!isCurrentChecked) {\n checkedCopy.set(item.value, 'done');\n updateSingleAncestors(item, checkedCopy, 'dot');\n }\n\n if (onChange) {\n onChange(isCurrentChecked ? '' : item.value);\n }\n\n if (onItemSelect) {\n onItemSelect(item);\n }\n }\n };\n\n const handleChipClick = (currentValue: string) => {\n handleCheckboxChange(valueToItemMap.get(currentValue)!);\n };\n\n const handlePressDown = (item: MergedDropdownNodeTransformed, e?: React.MouseEvent<HTMLElement>) => {\n if (isEmpty(item.items)) {\n handleItemClick(item, e);\n } else if (props.multiselect) {\n handleCheckboxChange(item);\n }\n };\n\n const handleScroll = (e: React.UIEvent<HTMLUListElement>) => {\n if (!onScrollBottom) return;\n\n const { target } = e;\n\n if (\n (target as HTMLElement).scrollHeight - (target as HTMLElement).scrollTop ===\n (target as HTMLElement).clientHeight\n ) {\n onScrollBottom(e);\n }\n };\n\n const { onKeyDown } = useKeyNavigation({\n value,\n focusedPath,\n dispatchFocusedPath,\n path,\n dispatchPath,\n pathMap,\n focusedToValueMap,\n handleToggle,\n handlePressDown,\n focusedChipIndex,\n dispatchFocusedChipIndex,\n valueToItemMap,\n multiselect: props.multiselect,\n isTargetAmount: props.isTargetAmount,\n });\n\n const isCurrentListOpen = Boolean(path[0]);\n\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 as string, 'done');\n updateSingleAncestors(valueToItemMap.get(value as string)!, checkedCopy, 'dot');\n }\n }\n\n setChecked(checkedCopy);\n }, [value]);\n\n return (\n <Root ref={ref} size={size} view={status ? getView(status) : view} chipView={chipView} {...(rest as any)}>\n {label && labelPlacement === 'outer' && target !== 'button-like' && <OuterLabel>{label}</OuterLabel>}\n <Context.Provider\n value={{\n focusedPath,\n checked,\n multiselect: props.multiselect,\n size,\n handleCheckboxChange,\n handleItemClick,\n variant,\n renderItem,\n }}\n >\n <StyledPopover\n ref={targetRef}\n isOpen={isCurrentListOpen}\n placement={getPlacements(placement)}\n usePortal={Boolean(portal)}\n frame={portal}\n onToggle={handleToggle}\n trigger=\"click\"\n target={\n <Target\n opened={isCurrentListOpen}\n value={value}\n valueToItemMap={valueToItemMap}\n focusedPath={focusedPath}\n focusedToValueMap={focusedToValueMap}\n onChipClick={handleChipClick}\n label={label}\n placeholder={placeholder}\n onKeyDown={onKeyDown}\n focusedChipIndex={focusedChipIndex}\n labelPlacement={labelPlacement}\n selectProps={props}\n size={size}\n contentLeft={contentLeft}\n disabled={disabled}\n renderValue={renderValue}\n separator={separator}\n />\n }\n preventOverflow={false}\n closeOnOverlayClick\n >\n {items && (\n <Root size={size} {...(rest as any)}>\n <Ul\n role=\"tree\"\n id=\"tree_level_1\"\n listHeight={listHeight}\n listOverflow={listOverflow}\n onScroll={handleScroll}\n listWidth={listWidth}\n >\n {transformedItems.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 </Ul>\n </Root>\n )}\n </StyledPopover>\n </Context.Provider>\n {helperText && target === 'textfield-like' && <HelperText>{helperText}</HelperText>}\n </Root>\n );\n });\n\nexport const selectConfig = {\n name: 'Select',\n tag: 'div',\n layout: selectRoot,\n base,\n variations: {\n view: {\n css: viewCSS,\n },\n size: {\n css: sizeCSS,\n },\n },\n defaults: {\n view: 'default',\n chipView: 'default',\n size: 'm',\n },\n};\n"],"names":["Context","createContext","selectRoot","Root","forwardRef","props","ref","outerValue","value","outerOnChange","onChange","_props$target","target","items","_props$placement","placement","label","_props$labelPlacement","labelPlacement","placeholder","helperText","_props$disabled","disabled","view","size","listOverflow","listHeight","listWidth","contentLeft","onScrollBottom","chipView","_props$variant","variant","portal","renderValue","renderItem","status","onItemSelect","separator","rest","_objectWithoutProperties","_excluded","_useState","useState","multiselect","_useState2","_slicedToArray","internalValue","setInternalValue","e","transformedItems","useMemo","initialItemsTransform","_usePathMaps","usePathMaps","_usePathMaps2","pathMap","focusedToValueMap","valueToCheckedMap","valueToItemMap","_useReducer","useReducer","pathReducer","_useReducer2","path","dispatchPath","_useReducer3","focusedPathReducer","_useReducer4","focusedPath","dispatchFocusedPath","_useReducer5","focusedChipIndexReducer","_useReducer6","focusedChipIndex","dispatchFocusedChipIndex","_useState3","_useState4","checked","setChecked","targetRef","useOutsideClick","type","handleToggle","opened","handleCheckboxChange","item","checkedCopy","Map","get","set","updateDescendants","updateAncestors","newValues","forEach","key","push","handleItemClick","isEmpty","stopPropagation","isCurrentChecked","_","updateSingleAncestors","handleChipClick","currentValue","handlePressDown","handleScroll","scrollHeight","scrollTop","clientHeight","_useKeyNavigation","useKeyNavigation","isTargetAmount","onKeyDown","isCurrentListOpen","Boolean","useLayoutEffect","Array","isArray","val","React","createElement","_extends","getView","OuterLabel","Provider","StyledPopover","isOpen","getPlacements","usePortal","frame","onToggle","trigger","Target","onChipClick","selectProps","preventOverflow","closeOnOverlayClick","Ul","role","id","onScroll","map","index","Inner","concat","currentLevel","HelperText","selectConfig","name","tag","layout","base","variations","css","viewCSS","sizeCSS","defaults"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;IAiBaA,OAAO,gBAAGC,aAAa,CAAc,EAAiB,EAAC;;AAEpE;AACA;AACA;IACaC,UAAU,GAAG,SAAbA,UAAUA,CAAIC,IAAoE,EAAA;AAAA,EAAA,oBAC3FC,UAAU,CAAuC,UAACC,KAAK,EAAEC,GAAG,EAAK;AAC7D,IAAA,IACWC,UAAU,GA0BjBF,KAAK,CA1BLG,KAAK;MACKC,aAAa,GAyBvBJ,KAAK,CAzBLK,QAAQ;MAAAC,aAAA,GAyBRN,KAAK,CAxBLO,MAAM;AAANA,MAAAA,MAAM,GAAAD,aAAA,KAAG,KAAA,CAAA,GAAA,gBAAgB,GAAAA,aAAA;MACzBE,KAAK,GAuBLR,KAAK,CAvBLQ,KAAK;MAAAC,gBAAA,GAuBLT,KAAK,CAtBLU,SAAS;AAATA,MAAAA,SAAS,GAAAD,gBAAA,KAAG,KAAA,CAAA,GAAA,QAAQ,GAAAA,gBAAA;MACpBE,KAAK,GAqBLX,KAAK,CArBLW,KAAK;MAAAC,qBAAA,GAqBLZ,KAAK,CApBLa,cAAc;AAAdA,MAAAA,cAAc,GAAAD,qBAAA,KAAG,KAAA,CAAA,GAAA,OAAO,GAAAA,qBAAA;MACxBE,WAAW,GAmBXd,KAAK,CAnBLc,WAAW;MACXC,UAAU,GAkBVf,KAAK,CAlBLe,UAAU;MAAAC,eAAA,GAkBVhB,KAAK,CAjBLiB,QAAQ;AAARA,MAAAA,QAAQ,GAAAD,eAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,eAAA;MAChBE,IAAI,GAgBJlB,KAAK,CAhBLkB,IAAI;MACJC,IAAI,GAeJnB,KAAK,CAfLmB,IAAI;MACJC,YAAY,GAcZpB,KAAK,CAdLoB,YAAY;MACZC,UAAU,GAaVrB,KAAK,CAbLqB,UAAU;MACVC,SAAS,GAYTtB,KAAK,CAZLsB,SAAS;MACTC,WAAW,GAWXvB,KAAK,CAXLuB,WAAW;MACXC,cAAc,GAUdxB,KAAK,CAVLwB,cAAc;MACdC,QAAQ,GASRzB,KAAK,CATLyB,QAAQ;MAAAC,cAAA,GASR1B,KAAK,CARL2B,OAAO;AAAPA,MAAAA,OAAO,GAAAD,cAAA,KAAG,KAAA,CAAA,GAAA,QAAQ,GAAAA,cAAA;MAClBE,MAAM,GAON5B,KAAK,CAPL4B,MAAM;MACNC,WAAW,GAMX7B,KAAK,CANL6B,WAAW;MACXC,UAAU,GAKV9B,KAAK,CALL8B,UAAU;MACVC,MAAM,GAIN/B,KAAK,CAJL+B,MAAM;MACNC,YAAY,GAGZhC,KAAK,CAHLgC,YAAY;MACZC,SAAS,GAETjC,KAAK,CAFLiC,SAAS;AACNC,MAAAA,IAAI,GAAAC,wBAAA,CACPnC,KAAK,EAAAoC,SAAA,CAAA,CAAA;AAET,IAAA,IAAAC,SAAA,GAA0CC,QAAQ,CAC9CpC,UAAU,IAAIF,KAAK,CAACuC,WAAW,GAAG,EAAE,GAAG,EAC3C,CAAC;MAAAC,UAAA,GAAAC,cAAA,CAAAJ,SAAA,EAAA,CAAA,CAAA;AAFMK,MAAAA,aAAa,GAAAF,UAAA,CAAA,CAAA,CAAA;AAAEG,MAAAA,gBAAgB,GAAAH,UAAA,CAAA,CAAA,CAAA,CAAA;AAItC,IAAA,IAAMrC,KAAK,GAAGD,UAAU,IAAIwC,aAAa,CAAA;AAEzC,IAAA,IAAMrC,QAAQ,GAAG,SAAXA,QAAQA,CAAIuC,CAA2C,EAAK;AAC9D,MAAA,IAAIxC,aAAa,EAAE;QACfA,aAAa,CAACwC,CAAQ,CAAC,CAAA;AAC3B,OAAA;MAEAD,gBAAgB,CAACC,CAAC,CAAC,CAAA;KACtB,CAAA;IAED,IAAMC,gBAAgB,GAAGC,OAAO,CAAC,YAAA;AAAA,MAAA,OAAMC,qBAAqB,CAACvC,KAAK,IAAI,EAAE,CAAC,CAAA;KAAE,EAAA,CAACA,KAAK,CAAC,CAAC,CAAA;AAEnF,IAAA,IAAAwC,YAAA,GAAwEC,WAAW,CAACJ,gBAAgB,CAAC;MAAAK,aAAA,GAAAT,cAAA,CAAAO,YAAA,EAAA,CAAA,CAAA;AAA9FG,MAAAA,OAAO,GAAAD,aAAA,CAAA,CAAA,CAAA;AAAEE,MAAAA,iBAAiB,GAAAF,aAAA,CAAA,CAAA,CAAA;AAAEG,MAAAA,iBAAiB,GAAAH,aAAA,CAAA,CAAA,CAAA;AAAEI,MAAAA,cAAc,GAAAJ,aAAA,CAAA,CAAA,CAAA,CAAA;AAEpE,IAAA,IAAAK,WAAA,GAA6BC,UAAU,CAACC,WAAW,EAAE,EAAE,CAAC;MAAAC,YAAA,GAAAjB,cAAA,CAAAc,WAAA,EAAA,CAAA,CAAA;AAAjDI,MAAAA,IAAI,GAAAD,YAAA,CAAA,CAAA,CAAA;AAAEE,MAAAA,YAAY,GAAAF,YAAA,CAAA,CAAA,CAAA,CAAA;AACzB,IAAA,IAAAG,YAAA,GAA2CL,UAAU,CAACM,kBAAkB,EAAE,EAAE,CAAC;MAAAC,YAAA,GAAAtB,cAAA,CAAAoB,YAAA,EAAA,CAAA,CAAA;AAAtEG,MAAAA,WAAW,GAAAD,YAAA,CAAA,CAAA,CAAA;AAAEE,MAAAA,mBAAmB,GAAAF,YAAA,CAAA,CAAA,CAAA,CAAA;AACvC,IAAA,IAAAG,YAAA,GAAqDV,UAAU,CAACW,uBAAuB,EAAE,IAAI,CAAC;MAAAC,YAAA,GAAA3B,cAAA,CAAAyB,YAAA,EAAA,CAAA,CAAA;AAAvFG,MAAAA,gBAAgB,GAAAD,YAAA,CAAA,CAAA,CAAA;AAAEE,MAAAA,wBAAwB,GAAAF,YAAA,CAAA,CAAA,CAAA,CAAA;AACjD,IAAA,IAAAG,UAAA,GAA8BjC,QAAQ,CAACe,iBAAiB,CAAC;MAAAmB,UAAA,GAAA/B,cAAA,CAAA8B,UAAA,EAAA,CAAA,CAAA;AAAlDE,MAAAA,OAAO,GAAAD,UAAA,CAAA,CAAA,CAAA;AAAEE,MAAAA,UAAU,GAAAF,UAAA,CAAA,CAAA,CAAA,CAAA;AAE1B,IAAA,IAAMG,SAAS,GAAGC,eAAe,CAAiB,YAAM;MACpD,IAAIP,gBAAgB,IAAI,IAAI,EAAE;AAC1BC,QAAAA,wBAAwB,CAAC;AAAEO,UAAAA,IAAI,EAAE,OAAA;AAAQ,SAAC,CAAC,CAAA;AAC/C,OAAA;AACJ,KAAC,CAAC,CAAA;AAEF,IAAA,IAAMC,YAAY,GAAG,SAAfA,YAAYA,CAAIC,MAAe,EAAK;AACtC,MAAA,IAAIA,MAAM,EAAE;AACRnB,QAAAA,YAAY,CAAC;AAAEiB,UAAAA,IAAI,EAAE,oBAAA;AAAqB,SAAC,CAAC,CAAA;AAChD,OAAC,MAAM;AACHZ,QAAAA,mBAAmB,CAAC;AAAEY,UAAAA,IAAI,EAAE,OAAA;AAAQ,SAAC,CAAC,CAAA;AACtCjB,QAAAA,YAAY,CAAC;AAAEiB,UAAAA,IAAI,EAAE,OAAA;AAAQ,SAAC,CAAC,CAAA;AAC/BP,QAAAA,wBAAwB,CAAC;AAAEO,UAAAA,IAAI,EAAE,OAAA;AAAQ,SAAC,CAAC,CAAA;AAC/C,OAAA;KACH,CAAA;AAED,IAAA,IAAMG,oBAAoB,GAAG,SAAvBA,oBAAoBA,CAAIC,IAAmC,EAAK;MAClE,IAAIjF,KAAK,CAACuC,WAAW,EAAE;AACnB,QAAA,IAAM2C,WAAW,GAAG,IAAIC,GAAG,CAACV,OAAO,CAAC,CAAA;QAEpC,IAAI,CAACS,WAAW,CAACE,GAAG,CAACH,IAAI,CAAC9E,KAAK,CAAC,EAAE;UAC9B+E,WAAW,CAACG,GAAG,CAACJ,IAAI,CAAC9E,KAAK,EAAE,IAAI,CAAC,CAAA;AACjCmF,UAAAA,iBAAiB,CAACL,IAAI,EAAEC,WAAW,EAAE,IAAI,CAAC,CAAA;AAC9C,SAAC,MAAM;UACHA,WAAW,CAACG,GAAG,CAACJ,IAAI,CAAC9E,KAAK,EAAE,KAAK,CAAC,CAAA;AAClCmF,UAAAA,iBAAiB,CAACL,IAAI,EAAEC,WAAW,EAAE,KAAK,CAAC,CAAA;AAC/C,SAAA;AAEAK,QAAAA,eAAe,CAACN,IAAI,EAAEC,WAAW,CAAC,CAAA;QAElC,IAAMM,SAAiC,GAAG,EAAE,CAAA;AAE5ClC,QAAAA,cAAc,CAACmC,OAAO,CAAC,UAACR,IAAI,EAAES,GAAG,EAAK;AAClC,UAAA,IAAIR,WAAW,CAACE,GAAG,CAACM,GAAG,CAAC,EAAE;AACtBF,YAAAA,SAAS,CAACG,IAAI,CAACV,IAAI,CAAC9E,KAAK,CAAC,CAAA;AAC9B,WAAA;AACJ,SAAC,CAAC,CAAA;AAEF,QAAA,IAAIE,QAAQ,EAAE;UACVA,QAAQ,CAACmF,SAAS,CAAC,CAAA;AACvB,SAAA;AACJ,OAAA;KACH,CAAA;IAED,IAAMI,eAAe,GAAG,SAAlBA,eAAeA,CAAIX,IAAmC,EAAErC,CAAiC,EAAK;MAChG,IAAI,CAACiD,OAAO,CAACZ,IAAI,KAAA,IAAA,IAAJA,IAAI,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAJA,IAAI,CAAEzE,KAAK,CAAC,EAAE;AACvB,QAAA,OAAA;AACJ,OAAA;MAEA,IAAIR,KAAK,CAACuC,WAAW,EAAE;QACnByC,oBAAoB,CAACC,IAAI,CAAC,CAAA;AAC9B,OAAC,MAAM;AACH,QAAA,IAAIrC,CAAC,EAAE;UACHA,CAAC,CAACkD,eAAe,EAAE,CAAA;AACvB,SAAA;AAEA,QAAA,IAAMZ,WAAW,GAAG,IAAIC,GAAG,CAACV,OAAO,CAAC,CAAA;QAEpC,IAAMsB,gBAAgB,GAAGb,WAAW,CAACE,GAAG,CAACH,IAAI,CAAC9E,KAAK,CAAC,CAAA;AAEpD+E,QAAAA,WAAW,CAACO,OAAO,CAAC,UAACO,CAAC,EAAEN,GAAG,EAAK;AAC5BR,UAAAA,WAAW,CAACG,GAAG,CAACK,GAAG,EAAE,KAAK,CAAC,CAAA;AAC/B,SAAC,CAAC,CAAA;QAEF,IAAI,CAACK,gBAAgB,EAAE;UACnBb,WAAW,CAACG,GAAG,CAACJ,IAAI,CAAC9E,KAAK,EAAE,MAAM,CAAC,CAAA;AACnC8F,UAAAA,qBAAqB,CAAChB,IAAI,EAAEC,WAAW,EAAE,KAAK,CAAC,CAAA;AACnD,SAAA;AAEA,QAAA,IAAI7E,QAAQ,EAAE;UACVA,QAAQ,CAAC0F,gBAAgB,GAAG,EAAE,GAAGd,IAAI,CAAC9E,KAAK,CAAC,CAAA;AAChD,SAAA;AAEA,QAAA,IAAI6B,YAAY,EAAE;UACdA,YAAY,CAACiD,IAAI,CAAC,CAAA;AACtB,SAAA;AACJ,OAAA;KACH,CAAA;AAED,IAAA,IAAMiB,eAAe,GAAG,SAAlBA,eAAeA,CAAIC,YAAoB,EAAK;AAC9CnB,MAAAA,oBAAoB,CAAC1B,cAAc,CAAC8B,GAAG,CAACe,YAAY,CAAE,CAAC,CAAA;KAC1D,CAAA;IAED,IAAMC,eAAe,GAAG,SAAlBA,eAAeA,CAAInB,IAAmC,EAAErC,CAAiC,EAAK;AAChG,MAAA,IAAIiD,OAAO,CAACZ,IAAI,CAACzE,KAAK,CAAC,EAAE;AACrBoF,QAAAA,eAAe,CAACX,IAAI,EAAErC,CAAC,CAAC,CAAA;AAC5B,OAAC,MAAM,IAAI5C,KAAK,CAACuC,WAAW,EAAE;QAC1ByC,oBAAoB,CAACC,IAAI,CAAC,CAAA;AAC9B,OAAA;KACH,CAAA;AAED,IAAA,IAAMoB,YAAY,GAAG,SAAfA,YAAYA,CAAIzD,CAAkC,EAAK;MACzD,IAAI,CAACpB,cAAc,EAAE,OAAA;AAErB,MAAA,IAAQjB,MAAM,GAAKqC,CAAC,CAAZrC,MAAM,CAAA;MAEd,IACKA,MAAM,CAAiB+F,YAAY,GAAI/F,MAAM,CAAiBgG,SAAS,KACvEhG,MAAM,CAAiBiG,YAAY,EACtC;QACEhF,cAAc,CAACoB,CAAC,CAAC,CAAA;AACrB,OAAA;KACH,CAAA;IAED,IAAA6D,iBAAA,GAAsBC,gBAAgB,CAAC;AACnCvG,QAAAA,KAAK,EAALA,KAAK;AACL6D,QAAAA,WAAW,EAAXA,WAAW;AACXC,QAAAA,mBAAmB,EAAnBA,mBAAmB;AACnBN,QAAAA,IAAI,EAAJA,IAAI;AACJC,QAAAA,YAAY,EAAZA,YAAY;AACZT,QAAAA,OAAO,EAAPA,OAAO;AACPC,QAAAA,iBAAiB,EAAjBA,iBAAiB;AACjB0B,QAAAA,YAAY,EAAZA,YAAY;AACZsB,QAAAA,eAAe,EAAfA,eAAe;AACf/B,QAAAA,gBAAgB,EAAhBA,gBAAgB;AAChBC,QAAAA,wBAAwB,EAAxBA,wBAAwB;AACxBhB,QAAAA,cAAc,EAAdA,cAAc;QACdf,WAAW,EAAEvC,KAAK,CAACuC,WAAW;QAC9BoE,cAAc,EAAE3G,KAAK,CAAC2G,cAAAA;AAC1B,OAAC,CAAC;MAfMC,SAAS,GAAAH,iBAAA,CAATG,SAAS,CAAA;IAiBjB,IAAMC,iBAAiB,GAAGC,OAAO,CAACnD,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;;AAE1C;AACAoD,IAAAA,eAAe,CAAC,YAAM;AAClB,MAAA,IAAM7B,WAAW,GAAG,IAAIC,GAAG,CAACV,OAAO,CAAC,CAAA;AAEpCS,MAAAA,WAAW,CAACO,OAAO,CAAC,UAACO,CAAC,EAAEN,GAAG,EAAK;AAC5BR,QAAAA,WAAW,CAACG,GAAG,CAACK,GAAG,EAAE,KAAK,CAAC,CAAA;AAC/B,OAAC,CAAC,CAAA;AAEF,MAAA,IAAI,CAACG,OAAO,CAAC1F,KAAK,CAAC,EAAE;AACjB,QAAA,IAAI6G,KAAK,CAACC,OAAO,CAAC9G,KAAK,CAAC,EAAE;AACtBA,UAAAA,KAAK,CAACsF,OAAO,CAAC,UAACyB,GAAG,EAAK;AACnBhC,YAAAA,WAAW,CAACG,GAAG,CAAC6B,GAAG,EAAE,IAAI,CAAC,CAAA;YAC1B5B,iBAAiB,CAAChC,cAAc,CAAC8B,GAAG,CAAC8B,GAAG,CAAC,EAAGhC,WAAW,EAAE,IAAI,CAAC,CAAA;YAC9DK,eAAe,CAACjC,cAAc,CAAC8B,GAAG,CAAC8B,GAAG,CAAC,EAAGhC,WAAW,CAAC,CAAA;AAC1D,WAAC,CAAC,CAAA;AACN,SAAC,MAAM;AACHA,UAAAA,WAAW,CAACG,GAAG,CAAClF,KAAK,EAAY,MAAM,CAAC,CAAA;UACxC8F,qBAAqB,CAAC3C,cAAc,CAAC8B,GAAG,CAACjF,KAAe,CAAC,EAAG+E,WAAW,EAAE,KAAK,CAAC,CAAA;AACnF,SAAA;AACJ,OAAA;MAEAR,UAAU,CAACQ,WAAW,CAAC,CAAA;AAC3B,KAAC,EAAE,CAAC/E,KAAK,CAAC,CAAC,CAAA;AAEX,IAAA,oBACIgH,KAAA,CAAAC,aAAA,CAACtH,IAAI,EAAAuH,QAAA,CAAA;AAACpH,MAAAA,GAAG,EAAEA,GAAI;AAACkB,MAAAA,IAAI,EAAEA,IAAK;MAACD,IAAI,EAAEa,MAAM,GAAGuF,OAAO,CAACvF,MAAM,CAAC,GAAGb,IAAK;AAACO,MAAAA,QAAQ,EAAEA,QAAAA;KAAeS,EAAAA,IAAI,CAC3FvB,EAAAA,KAAK,IAAIE,cAAc,KAAK,OAAO,IAAIN,MAAM,KAAK,aAAa,iBAAI4G,KAAA,CAAAC,aAAA,CAACG,UAAU,EAAE5G,IAAAA,EAAAA,KAAkB,CAAC,eACpGwG,KAAA,CAAAC,aAAA,CAACzH,OAAO,CAAC6H,QAAQ,EAAA;AACbrH,MAAAA,KAAK,EAAE;AACH6D,QAAAA,WAAW,EAAXA,WAAW;AACXS,QAAAA,OAAO,EAAPA,OAAO;QACPlC,WAAW,EAAEvC,KAAK,CAACuC,WAAW;AAC9BpB,QAAAA,IAAI,EAAJA,IAAI;AACJ6D,QAAAA,oBAAoB,EAApBA,oBAAoB;AACpBY,QAAAA,eAAe,EAAfA,eAAe;AACfjE,QAAAA,OAAO,EAAPA,OAAO;AACPG,QAAAA,UAAU,EAAVA,UAAAA;AACJ,OAAA;AAAE,KAAA,eAEFqF,KAAA,CAAAC,aAAA,CAACK,aAAa,EAAA;AACVxH,MAAAA,GAAG,EAAE0E,SAAU;AACf+C,MAAAA,MAAM,EAAEb,iBAAkB;AAC1BnG,MAAAA,SAAS,EAAEiH,aAAa,CAACjH,SAAS,CAAE;AACpCkH,MAAAA,SAAS,EAAEd,OAAO,CAAClF,MAAM,CAAE;AAC3BiG,MAAAA,KAAK,EAAEjG,MAAO;AACdkG,MAAAA,QAAQ,EAAEhD,YAAa;AACvBiD,MAAAA,OAAO,EAAC,OAAO;AACfxH,MAAAA,MAAM,eACF4G,KAAA,CAAAC,aAAA,CAACY,MAAM,EAAA;AACHjD,QAAAA,MAAM,EAAE8B,iBAAkB;AAC1B1G,QAAAA,KAAK,EAAEA,KAAM;AACbmD,QAAAA,cAAc,EAAEA,cAAe;AAC/BU,QAAAA,WAAW,EAAEA,WAAY;AACzBZ,QAAAA,iBAAiB,EAAEA,iBAAkB;AACrC6E,QAAAA,WAAW,EAAE/B,eAAgB;AAC7BvF,QAAAA,KAAK,EAAEA,KAAM;AACbG,QAAAA,WAAW,EAAEA,WAAY;AACzB8F,QAAAA,SAAS,EAAEA,SAAU;AACrBvC,QAAAA,gBAAgB,EAAEA,gBAAiB;AACnCxD,QAAAA,cAAc,EAAEA,cAAe;AAC/BqH,QAAAA,WAAW,EAAElI,KAAM;AACnBmB,QAAAA,IAAI,EAAEA,IAAK;AACXI,QAAAA,WAAW,EAAEA,WAAY;AACzBN,QAAAA,QAAQ,EAAEA,QAAS;AACnBY,QAAAA,WAAW,EAAEA,WAAY;AACzBI,QAAAA,SAAS,EAAEA,SAAAA;AAAU,OACxB,CACJ;AACDkG,MAAAA,eAAe,EAAE,KAAM;MACvBC,mBAAmB,EAAA,IAAA;KAElB5H,EAAAA,KAAK,iBACF2G,KAAA,CAAAC,aAAA,CAACtH,IAAI,EAAAuH,QAAA,CAAA;AAAClG,MAAAA,IAAI,EAAEA,IAAAA;AAAK,KAAA,EAAMe,IAAI,CACvBiF,eAAAA,KAAA,CAAAC,aAAA,CAACiB,EAAE,EAAA;AACCC,MAAAA,IAAI,EAAC,MAAM;AACXC,MAAAA,EAAE,EAAC,cAAc;AACjBlH,MAAAA,UAAU,EAAEA,UAAW;AACvBD,MAAAA,YAAY,EAAEA,YAAa;AAC3BoH,MAAAA,QAAQ,EAAEnC,YAAa;AACvB/E,MAAAA,SAAS,EAAEA,SAAAA;AAAU,KAAA,EAEpBuB,gBAAgB,CAAC4F,GAAG,CAAC,UAACxD,IAAI,EAAEyD,KAAK,EAAA;AAAA,MAAA,oBAC9BvB,KAAA,CAAAC,aAAA,CAACuB,KAAK,EAAA;AACFjD,QAAAA,GAAG,EAAAkD,EAAAA,CAAAA,MAAA,CAAKF,KAAK,EAAK,IAAA,CAAA;AAClBzD,QAAAA,IAAI,EAAEA,IAAK;AACX4D,QAAAA,YAAY,EAAE,CAAE;AAChBlF,QAAAA,IAAI,EAAEA,IAAK;AACXC,QAAAA,YAAY,EAAEA,YAAa;AAC3B8E,QAAAA,KAAK,EAAEA,KAAM;AACbpH,QAAAA,SAAS,EAAEA,SAAAA;AAAU,OACxB,CAAC,CAAA;KACL,CACD,CACF,CAEC,CACD,CAAC,EAClBP,UAAU,IAAIR,MAAM,KAAK,gBAAgB,iBAAI4G,KAAA,CAAAC,aAAA,CAAC0B,UAAU,EAAE/H,IAAAA,EAAAA,UAAuB,CAChF,CAAC,CAAA;AAEf,GAAC,CAAC,CAAA;AAAA,EAAA;AAEC,IAAMgI,YAAY,GAAG;AACxBC,EAAAA,IAAI,EAAE,QAAQ;AACdC,EAAAA,GAAG,EAAE,KAAK;AACVC,EAAAA,MAAM,EAAErJ,UAAU;AAClBsJ,EAAAA,IAAI,EAAJA,IAAI;AACJC,EAAAA,UAAU,EAAE;AACRlI,IAAAA,IAAI,EAAE;AACFmI,MAAAA,GAAG,EAAEC,MAAAA;KACR;AACDnI,IAAAA,IAAI,EAAE;AACFkI,MAAAA,GAAG,EAAEE,MAAAA;AACT,KAAA;GACH;AACDC,EAAAA,QAAQ,EAAE;AACNtI,IAAAA,IAAI,EAAE,SAAS;AACfO,IAAAA,QAAQ,EAAE,SAAS;AACnBN,IAAAA,IAAI,EAAE,GAAA;AACV,GAAA;AACJ;;;;"}
1
+ {"version":3,"file":"Select.js","sources":["../../../src/components/Select/Select.tsx"],"sourcesContent":["import React, { forwardRef, useState, useReducer, useMemo, createContext, useLayoutEffect } from 'react';\n\nimport { RootProps } from '../../engines';\nimport { isEmpty, getPlacements } from '../../utils';\nimport { useOutsideClick } from '../../hooks';\n\nimport { useKeyNavigation } from './hooks/useKeyboardNavigation';\nimport { initialItemsTransform, updateAncestors, updateDescendants, updateSingleAncestors, getView } from './utils';\nimport { Inner, Target } from './ui';\nimport { pathReducer, focusedPathReducer, focusedChipIndexReducer } from './reducers';\nimport { usePathMaps } from './hooks/usePathMaps';\nimport { StyledPopover, Ul, base, OuterLabel, HelperText } from './Select.styles';\nimport type { ItemContext, MergedSelectProps } from './Select.types';\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as sizeCSS } from './variations/_size/base';\nimport type { MergedDropdownNodeTransformed } from './ui/Inner/ui/Item/Item.types';\n\nexport const Context = createContext<ItemContext>({} as ItemContext);\n\n/**\n * Выпадающий список. Поддерживает выбор одного или нескольких значений.\n */\nexport const selectRoot = (Root: RootProps<HTMLButtonElement, Omit<MergedSelectProps, 'items'>>) =>\n forwardRef<HTMLButtonElement, MergedSelectProps>((props, ref) => {\n const {\n value: outerValue,\n onChange: outerOnChange,\n target = 'textfield-like',\n items,\n placement = 'bottom',\n label,\n labelPlacement = 'outer',\n placeholder,\n helperText,\n disabled = false,\n view,\n size,\n listOverflow,\n listHeight,\n listWidth,\n contentLeft,\n onScrollBottom,\n chipView,\n variant = 'normal',\n portal,\n renderValue,\n renderItem,\n status,\n onItemSelect,\n separator,\n ...rest\n } = props;\n\n const [internalValue, setInternalValue] = useState<string | number | Array<string | number>>(\n outerValue || props.multiselect ? [] : '',\n );\n\n const value = outerValue || internalValue;\n\n const onChange = (e: string | number | Array<string | number>) => {\n if (outerOnChange) {\n outerOnChange(e as any);\n }\n\n setInternalValue(e);\n };\n\n const transformedItems = useMemo(() => initialItemsTransform(items || []), [items]);\n\n const [pathMap, focusedToValueMap, valueToCheckedMap, valueToItemMap] = usePathMaps(transformedItems);\n\n const [path, dispatchPath] = useReducer(pathReducer, []);\n const [focusedPath, dispatchFocusedPath] = useReducer(focusedPathReducer, []);\n const [focusedChipIndex, dispatchFocusedChipIndex] = useReducer(focusedChipIndexReducer, null);\n const [checked, setChecked] = useState(valueToCheckedMap);\n\n const targetRef = useOutsideClick<HTMLDivElement>(() => {\n if (focusedChipIndex != null) {\n dispatchFocusedChipIndex({ type: 'reset' });\n }\n });\n\n const handleToggle = (opened: boolean) => {\n if (opened) {\n dispatchPath({ type: 'opened_first_level' });\n } else {\n dispatchFocusedPath({ type: 'reset' });\n dispatchPath({ type: 'reset' });\n dispatchFocusedChipIndex({ type: 'reset' });\n }\n };\n\n const handleCheckboxChange = (item: MergedDropdownNodeTransformed) => {\n if (props.multiselect) {\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 | number> = [];\n\n valueToItemMap.forEach((item, key) => {\n if (checkedCopy.get(key)) {\n newValues.push(item.value);\n }\n });\n\n if (onChange) {\n onChange(newValues);\n }\n }\n };\n\n const handleItemClick = (item: MergedDropdownNodeTransformed, e?: React.MouseEvent<HTMLElement>) => {\n if (!isEmpty(item?.items)) {\n return;\n }\n\n if (props.multiselect) {\n handleCheckboxChange(item);\n } else {\n if (e) {\n e.stopPropagation();\n }\n\n const checkedCopy = new Map(checked);\n\n const isCurrentChecked = checkedCopy.get(item.value);\n\n checkedCopy.forEach((_, key) => {\n checkedCopy.set(key, false);\n });\n\n if (!isCurrentChecked) {\n checkedCopy.set(item.value, 'done');\n updateSingleAncestors(item, checkedCopy, 'dot');\n }\n\n if (onChange) {\n onChange(isCurrentChecked ? '' : item.value);\n }\n\n if (onItemSelect) {\n onItemSelect(item);\n }\n }\n };\n\n const handleChipClick = (currentValue: string) => {\n handleCheckboxChange(valueToItemMap.get(currentValue)!);\n };\n\n const handlePressDown = (item: MergedDropdownNodeTransformed, e?: React.MouseEvent<HTMLElement>) => {\n if (isEmpty(item.items)) {\n handleItemClick(item, e);\n } else if (props.multiselect) {\n handleCheckboxChange(item);\n }\n };\n\n const handleScroll = (e: React.UIEvent<HTMLUListElement>) => {\n if (!onScrollBottom) return;\n\n const { target } = e;\n\n if (\n (target as HTMLElement).scrollHeight - (target as HTMLElement).scrollTop ===\n (target as HTMLElement).clientHeight\n ) {\n onScrollBottom(e);\n }\n };\n\n const { onKeyDown } = useKeyNavigation({\n value,\n focusedPath,\n dispatchFocusedPath,\n path,\n dispatchPath,\n pathMap,\n focusedToValueMap,\n handleToggle,\n handlePressDown,\n focusedChipIndex,\n dispatchFocusedChipIndex,\n valueToItemMap,\n multiselect: props.multiselect,\n isTargetAmount: props.isTargetAmount,\n });\n\n const isCurrentListOpen = Boolean(path[0]);\n\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 as string, 'done');\n updateSingleAncestors(valueToItemMap.get(value as string)!, checkedCopy, 'dot');\n }\n }\n\n setChecked(checkedCopy);\n }, [value]);\n\n return (\n <Root ref={ref} size={size} view={status ? getView(status) : view} chipView={chipView} {...(rest as any)}>\n {label && labelPlacement === 'outer' && target !== 'button-like' && <OuterLabel>{label}</OuterLabel>}\n <Context.Provider\n value={{\n focusedPath,\n checked,\n multiselect: props.multiselect,\n size,\n handleCheckboxChange,\n handleItemClick,\n variant,\n renderItem,\n valueToItemMap,\n }}\n >\n <StyledPopover\n ref={targetRef}\n isOpen={isCurrentListOpen}\n placement={getPlacements(placement)}\n usePortal={Boolean(portal)}\n frame={portal}\n onToggle={handleToggle}\n trigger=\"click\"\n target={\n <Target\n opened={isCurrentListOpen}\n value={value}\n valueToItemMap={valueToItemMap}\n focusedPath={focusedPath}\n focusedToValueMap={focusedToValueMap}\n onChipClick={handleChipClick}\n label={label}\n placeholder={placeholder}\n onKeyDown={onKeyDown}\n focusedChipIndex={focusedChipIndex}\n labelPlacement={labelPlacement}\n selectProps={props}\n size={size}\n contentLeft={contentLeft}\n disabled={disabled}\n renderValue={renderValue}\n separator={separator}\n />\n }\n preventOverflow={false}\n closeOnOverlayClick\n >\n {items && (\n <Root size={size} {...(rest as any)}>\n <Ul\n role=\"tree\"\n id=\"tree_level_1\"\n listHeight={listHeight}\n listOverflow={listOverflow}\n onScroll={handleScroll}\n listWidth={listWidth}\n >\n {transformedItems.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 </Ul>\n </Root>\n )}\n </StyledPopover>\n </Context.Provider>\n {helperText && target === 'textfield-like' && <HelperText>{helperText}</HelperText>}\n </Root>\n );\n });\n\nexport const selectConfig = {\n name: 'Select',\n tag: 'div',\n layout: selectRoot,\n base,\n variations: {\n view: {\n css: viewCSS,\n },\n size: {\n css: sizeCSS,\n },\n },\n defaults: {\n view: 'default',\n chipView: 'default',\n size: 'm',\n },\n};\n"],"names":["Context","createContext","selectRoot","Root","forwardRef","props","ref","outerValue","value","outerOnChange","onChange","_props$target","target","items","_props$placement","placement","label","_props$labelPlacement","labelPlacement","placeholder","helperText","_props$disabled","disabled","view","size","listOverflow","listHeight","listWidth","contentLeft","onScrollBottom","chipView","_props$variant","variant","portal","renderValue","renderItem","status","onItemSelect","separator","rest","_objectWithoutProperties","_excluded","_useState","useState","multiselect","_useState2","_slicedToArray","internalValue","setInternalValue","e","transformedItems","useMemo","initialItemsTransform","_usePathMaps","usePathMaps","_usePathMaps2","pathMap","focusedToValueMap","valueToCheckedMap","valueToItemMap","_useReducer","useReducer","pathReducer","_useReducer2","path","dispatchPath","_useReducer3","focusedPathReducer","_useReducer4","focusedPath","dispatchFocusedPath","_useReducer5","focusedChipIndexReducer","_useReducer6","focusedChipIndex","dispatchFocusedChipIndex","_useState3","_useState4","checked","setChecked","targetRef","useOutsideClick","type","handleToggle","opened","handleCheckboxChange","item","checkedCopy","Map","get","set","updateDescendants","updateAncestors","newValues","forEach","key","push","handleItemClick","isEmpty","stopPropagation","isCurrentChecked","_","updateSingleAncestors","handleChipClick","currentValue","handlePressDown","handleScroll","scrollHeight","scrollTop","clientHeight","_useKeyNavigation","useKeyNavigation","isTargetAmount","onKeyDown","isCurrentListOpen","Boolean","useLayoutEffect","Array","isArray","val","React","createElement","_extends","getView","OuterLabel","Provider","StyledPopover","isOpen","getPlacements","usePortal","frame","onToggle","trigger","Target","onChipClick","selectProps","preventOverflow","closeOnOverlayClick","Ul","role","id","onScroll","map","index","Inner","concat","currentLevel","HelperText","selectConfig","name","tag","layout","base","variations","css","viewCSS","sizeCSS","defaults"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;IAiBaA,OAAO,gBAAGC,aAAa,CAAc,EAAiB,EAAC;;AAEpE;AACA;AACA;IACaC,UAAU,GAAG,SAAbA,UAAUA,CAAIC,IAAoE,EAAA;AAAA,EAAA,oBAC3FC,UAAU,CAAuC,UAACC,KAAK,EAAEC,GAAG,EAAK;AAC7D,IAAA,IACWC,UAAU,GA0BjBF,KAAK,CA1BLG,KAAK;MACKC,aAAa,GAyBvBJ,KAAK,CAzBLK,QAAQ;MAAAC,aAAA,GAyBRN,KAAK,CAxBLO,MAAM;AAANA,MAAAA,MAAM,GAAAD,aAAA,KAAG,KAAA,CAAA,GAAA,gBAAgB,GAAAA,aAAA;MACzBE,KAAK,GAuBLR,KAAK,CAvBLQ,KAAK;MAAAC,gBAAA,GAuBLT,KAAK,CAtBLU,SAAS;AAATA,MAAAA,SAAS,GAAAD,gBAAA,KAAG,KAAA,CAAA,GAAA,QAAQ,GAAAA,gBAAA;MACpBE,KAAK,GAqBLX,KAAK,CArBLW,KAAK;MAAAC,qBAAA,GAqBLZ,KAAK,CApBLa,cAAc;AAAdA,MAAAA,cAAc,GAAAD,qBAAA,KAAG,KAAA,CAAA,GAAA,OAAO,GAAAA,qBAAA;MACxBE,WAAW,GAmBXd,KAAK,CAnBLc,WAAW;MACXC,UAAU,GAkBVf,KAAK,CAlBLe,UAAU;MAAAC,eAAA,GAkBVhB,KAAK,CAjBLiB,QAAQ;AAARA,MAAAA,QAAQ,GAAAD,eAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,eAAA;MAChBE,IAAI,GAgBJlB,KAAK,CAhBLkB,IAAI;MACJC,IAAI,GAeJnB,KAAK,CAfLmB,IAAI;MACJC,YAAY,GAcZpB,KAAK,CAdLoB,YAAY;MACZC,UAAU,GAaVrB,KAAK,CAbLqB,UAAU;MACVC,SAAS,GAYTtB,KAAK,CAZLsB,SAAS;MACTC,WAAW,GAWXvB,KAAK,CAXLuB,WAAW;MACXC,cAAc,GAUdxB,KAAK,CAVLwB,cAAc;MACdC,QAAQ,GASRzB,KAAK,CATLyB,QAAQ;MAAAC,cAAA,GASR1B,KAAK,CARL2B,OAAO;AAAPA,MAAAA,OAAO,GAAAD,cAAA,KAAG,KAAA,CAAA,GAAA,QAAQ,GAAAA,cAAA;MAClBE,MAAM,GAON5B,KAAK,CAPL4B,MAAM;MACNC,WAAW,GAMX7B,KAAK,CANL6B,WAAW;MACXC,UAAU,GAKV9B,KAAK,CALL8B,UAAU;MACVC,MAAM,GAIN/B,KAAK,CAJL+B,MAAM;MACNC,YAAY,GAGZhC,KAAK,CAHLgC,YAAY;MACZC,SAAS,GAETjC,KAAK,CAFLiC,SAAS;AACNC,MAAAA,IAAI,GAAAC,wBAAA,CACPnC,KAAK,EAAAoC,SAAA,CAAA,CAAA;AAET,IAAA,IAAAC,SAAA,GAA0CC,QAAQ,CAC9CpC,UAAU,IAAIF,KAAK,CAACuC,WAAW,GAAG,EAAE,GAAG,EAC3C,CAAC;MAAAC,UAAA,GAAAC,cAAA,CAAAJ,SAAA,EAAA,CAAA,CAAA;AAFMK,MAAAA,aAAa,GAAAF,UAAA,CAAA,CAAA,CAAA;AAAEG,MAAAA,gBAAgB,GAAAH,UAAA,CAAA,CAAA,CAAA,CAAA;AAItC,IAAA,IAAMrC,KAAK,GAAGD,UAAU,IAAIwC,aAAa,CAAA;AAEzC,IAAA,IAAMrC,QAAQ,GAAG,SAAXA,QAAQA,CAAIuC,CAA2C,EAAK;AAC9D,MAAA,IAAIxC,aAAa,EAAE;QACfA,aAAa,CAACwC,CAAQ,CAAC,CAAA;AAC3B,OAAA;MAEAD,gBAAgB,CAACC,CAAC,CAAC,CAAA;KACtB,CAAA;IAED,IAAMC,gBAAgB,GAAGC,OAAO,CAAC,YAAA;AAAA,MAAA,OAAMC,qBAAqB,CAACvC,KAAK,IAAI,EAAE,CAAC,CAAA;KAAE,EAAA,CAACA,KAAK,CAAC,CAAC,CAAA;AAEnF,IAAA,IAAAwC,YAAA,GAAwEC,WAAW,CAACJ,gBAAgB,CAAC;MAAAK,aAAA,GAAAT,cAAA,CAAAO,YAAA,EAAA,CAAA,CAAA;AAA9FG,MAAAA,OAAO,GAAAD,aAAA,CAAA,CAAA,CAAA;AAAEE,MAAAA,iBAAiB,GAAAF,aAAA,CAAA,CAAA,CAAA;AAAEG,MAAAA,iBAAiB,GAAAH,aAAA,CAAA,CAAA,CAAA;AAAEI,MAAAA,cAAc,GAAAJ,aAAA,CAAA,CAAA,CAAA,CAAA;AAEpE,IAAA,IAAAK,WAAA,GAA6BC,UAAU,CAACC,WAAW,EAAE,EAAE,CAAC;MAAAC,YAAA,GAAAjB,cAAA,CAAAc,WAAA,EAAA,CAAA,CAAA;AAAjDI,MAAAA,IAAI,GAAAD,YAAA,CAAA,CAAA,CAAA;AAAEE,MAAAA,YAAY,GAAAF,YAAA,CAAA,CAAA,CAAA,CAAA;AACzB,IAAA,IAAAG,YAAA,GAA2CL,UAAU,CAACM,kBAAkB,EAAE,EAAE,CAAC;MAAAC,YAAA,GAAAtB,cAAA,CAAAoB,YAAA,EAAA,CAAA,CAAA;AAAtEG,MAAAA,WAAW,GAAAD,YAAA,CAAA,CAAA,CAAA;AAAEE,MAAAA,mBAAmB,GAAAF,YAAA,CAAA,CAAA,CAAA,CAAA;AACvC,IAAA,IAAAG,YAAA,GAAqDV,UAAU,CAACW,uBAAuB,EAAE,IAAI,CAAC;MAAAC,YAAA,GAAA3B,cAAA,CAAAyB,YAAA,EAAA,CAAA,CAAA;AAAvFG,MAAAA,gBAAgB,GAAAD,YAAA,CAAA,CAAA,CAAA;AAAEE,MAAAA,wBAAwB,GAAAF,YAAA,CAAA,CAAA,CAAA,CAAA;AACjD,IAAA,IAAAG,UAAA,GAA8BjC,QAAQ,CAACe,iBAAiB,CAAC;MAAAmB,UAAA,GAAA/B,cAAA,CAAA8B,UAAA,EAAA,CAAA,CAAA;AAAlDE,MAAAA,OAAO,GAAAD,UAAA,CAAA,CAAA,CAAA;AAAEE,MAAAA,UAAU,GAAAF,UAAA,CAAA,CAAA,CAAA,CAAA;AAE1B,IAAA,IAAMG,SAAS,GAAGC,eAAe,CAAiB,YAAM;MACpD,IAAIP,gBAAgB,IAAI,IAAI,EAAE;AAC1BC,QAAAA,wBAAwB,CAAC;AAAEO,UAAAA,IAAI,EAAE,OAAA;AAAQ,SAAC,CAAC,CAAA;AAC/C,OAAA;AACJ,KAAC,CAAC,CAAA;AAEF,IAAA,IAAMC,YAAY,GAAG,SAAfA,YAAYA,CAAIC,MAAe,EAAK;AACtC,MAAA,IAAIA,MAAM,EAAE;AACRnB,QAAAA,YAAY,CAAC;AAAEiB,UAAAA,IAAI,EAAE,oBAAA;AAAqB,SAAC,CAAC,CAAA;AAChD,OAAC,MAAM;AACHZ,QAAAA,mBAAmB,CAAC;AAAEY,UAAAA,IAAI,EAAE,OAAA;AAAQ,SAAC,CAAC,CAAA;AACtCjB,QAAAA,YAAY,CAAC;AAAEiB,UAAAA,IAAI,EAAE,OAAA;AAAQ,SAAC,CAAC,CAAA;AAC/BP,QAAAA,wBAAwB,CAAC;AAAEO,UAAAA,IAAI,EAAE,OAAA;AAAQ,SAAC,CAAC,CAAA;AAC/C,OAAA;KACH,CAAA;AAED,IAAA,IAAMG,oBAAoB,GAAG,SAAvBA,oBAAoBA,CAAIC,IAAmC,EAAK;MAClE,IAAIjF,KAAK,CAACuC,WAAW,EAAE;AACnB,QAAA,IAAM2C,WAAW,GAAG,IAAIC,GAAG,CAACV,OAAO,CAAC,CAAA;QAEpC,IAAI,CAACS,WAAW,CAACE,GAAG,CAACH,IAAI,CAAC9E,KAAK,CAAC,EAAE;UAC9B+E,WAAW,CAACG,GAAG,CAACJ,IAAI,CAAC9E,KAAK,EAAE,IAAI,CAAC,CAAA;AACjCmF,UAAAA,iBAAiB,CAACL,IAAI,EAAEC,WAAW,EAAE,IAAI,CAAC,CAAA;AAC9C,SAAC,MAAM;UACHA,WAAW,CAACG,GAAG,CAACJ,IAAI,CAAC9E,KAAK,EAAE,KAAK,CAAC,CAAA;AAClCmF,UAAAA,iBAAiB,CAACL,IAAI,EAAEC,WAAW,EAAE,KAAK,CAAC,CAAA;AAC/C,SAAA;AAEAK,QAAAA,eAAe,CAACN,IAAI,EAAEC,WAAW,CAAC,CAAA;QAElC,IAAMM,SAAiC,GAAG,EAAE,CAAA;AAE5ClC,QAAAA,cAAc,CAACmC,OAAO,CAAC,UAACR,IAAI,EAAES,GAAG,EAAK;AAClC,UAAA,IAAIR,WAAW,CAACE,GAAG,CAACM,GAAG,CAAC,EAAE;AACtBF,YAAAA,SAAS,CAACG,IAAI,CAACV,IAAI,CAAC9E,KAAK,CAAC,CAAA;AAC9B,WAAA;AACJ,SAAC,CAAC,CAAA;AAEF,QAAA,IAAIE,QAAQ,EAAE;UACVA,QAAQ,CAACmF,SAAS,CAAC,CAAA;AACvB,SAAA;AACJ,OAAA;KACH,CAAA;IAED,IAAMI,eAAe,GAAG,SAAlBA,eAAeA,CAAIX,IAAmC,EAAErC,CAAiC,EAAK;MAChG,IAAI,CAACiD,OAAO,CAACZ,IAAI,KAAA,IAAA,IAAJA,IAAI,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAJA,IAAI,CAAEzE,KAAK,CAAC,EAAE;AACvB,QAAA,OAAA;AACJ,OAAA;MAEA,IAAIR,KAAK,CAACuC,WAAW,EAAE;QACnByC,oBAAoB,CAACC,IAAI,CAAC,CAAA;AAC9B,OAAC,MAAM;AACH,QAAA,IAAIrC,CAAC,EAAE;UACHA,CAAC,CAACkD,eAAe,EAAE,CAAA;AACvB,SAAA;AAEA,QAAA,IAAMZ,WAAW,GAAG,IAAIC,GAAG,CAACV,OAAO,CAAC,CAAA;QAEpC,IAAMsB,gBAAgB,GAAGb,WAAW,CAACE,GAAG,CAACH,IAAI,CAAC9E,KAAK,CAAC,CAAA;AAEpD+E,QAAAA,WAAW,CAACO,OAAO,CAAC,UAACO,CAAC,EAAEN,GAAG,EAAK;AAC5BR,UAAAA,WAAW,CAACG,GAAG,CAACK,GAAG,EAAE,KAAK,CAAC,CAAA;AAC/B,SAAC,CAAC,CAAA;QAEF,IAAI,CAACK,gBAAgB,EAAE;UACnBb,WAAW,CAACG,GAAG,CAACJ,IAAI,CAAC9E,KAAK,EAAE,MAAM,CAAC,CAAA;AACnC8F,UAAAA,qBAAqB,CAAChB,IAAI,EAAEC,WAAW,EAAE,KAAK,CAAC,CAAA;AACnD,SAAA;AAEA,QAAA,IAAI7E,QAAQ,EAAE;UACVA,QAAQ,CAAC0F,gBAAgB,GAAG,EAAE,GAAGd,IAAI,CAAC9E,KAAK,CAAC,CAAA;AAChD,SAAA;AAEA,QAAA,IAAI6B,YAAY,EAAE;UACdA,YAAY,CAACiD,IAAI,CAAC,CAAA;AACtB,SAAA;AACJ,OAAA;KACH,CAAA;AAED,IAAA,IAAMiB,eAAe,GAAG,SAAlBA,eAAeA,CAAIC,YAAoB,EAAK;AAC9CnB,MAAAA,oBAAoB,CAAC1B,cAAc,CAAC8B,GAAG,CAACe,YAAY,CAAE,CAAC,CAAA;KAC1D,CAAA;IAED,IAAMC,eAAe,GAAG,SAAlBA,eAAeA,CAAInB,IAAmC,EAAErC,CAAiC,EAAK;AAChG,MAAA,IAAIiD,OAAO,CAACZ,IAAI,CAACzE,KAAK,CAAC,EAAE;AACrBoF,QAAAA,eAAe,CAACX,IAAI,EAAErC,CAAC,CAAC,CAAA;AAC5B,OAAC,MAAM,IAAI5C,KAAK,CAACuC,WAAW,EAAE;QAC1ByC,oBAAoB,CAACC,IAAI,CAAC,CAAA;AAC9B,OAAA;KACH,CAAA;AAED,IAAA,IAAMoB,YAAY,GAAG,SAAfA,YAAYA,CAAIzD,CAAkC,EAAK;MACzD,IAAI,CAACpB,cAAc,EAAE,OAAA;AAErB,MAAA,IAAQjB,MAAM,GAAKqC,CAAC,CAAZrC,MAAM,CAAA;MAEd,IACKA,MAAM,CAAiB+F,YAAY,GAAI/F,MAAM,CAAiBgG,SAAS,KACvEhG,MAAM,CAAiBiG,YAAY,EACtC;QACEhF,cAAc,CAACoB,CAAC,CAAC,CAAA;AACrB,OAAA;KACH,CAAA;IAED,IAAA6D,iBAAA,GAAsBC,gBAAgB,CAAC;AACnCvG,QAAAA,KAAK,EAALA,KAAK;AACL6D,QAAAA,WAAW,EAAXA,WAAW;AACXC,QAAAA,mBAAmB,EAAnBA,mBAAmB;AACnBN,QAAAA,IAAI,EAAJA,IAAI;AACJC,QAAAA,YAAY,EAAZA,YAAY;AACZT,QAAAA,OAAO,EAAPA,OAAO;AACPC,QAAAA,iBAAiB,EAAjBA,iBAAiB;AACjB0B,QAAAA,YAAY,EAAZA,YAAY;AACZsB,QAAAA,eAAe,EAAfA,eAAe;AACf/B,QAAAA,gBAAgB,EAAhBA,gBAAgB;AAChBC,QAAAA,wBAAwB,EAAxBA,wBAAwB;AACxBhB,QAAAA,cAAc,EAAdA,cAAc;QACdf,WAAW,EAAEvC,KAAK,CAACuC,WAAW;QAC9BoE,cAAc,EAAE3G,KAAK,CAAC2G,cAAAA;AAC1B,OAAC,CAAC;MAfMC,SAAS,GAAAH,iBAAA,CAATG,SAAS,CAAA;IAiBjB,IAAMC,iBAAiB,GAAGC,OAAO,CAACnD,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;;AAE1C;AACAoD,IAAAA,eAAe,CAAC,YAAM;AAClB,MAAA,IAAM7B,WAAW,GAAG,IAAIC,GAAG,CAACV,OAAO,CAAC,CAAA;AAEpCS,MAAAA,WAAW,CAACO,OAAO,CAAC,UAACO,CAAC,EAAEN,GAAG,EAAK;AAC5BR,QAAAA,WAAW,CAACG,GAAG,CAACK,GAAG,EAAE,KAAK,CAAC,CAAA;AAC/B,OAAC,CAAC,CAAA;AAEF,MAAA,IAAI,CAACG,OAAO,CAAC1F,KAAK,CAAC,EAAE;AACjB,QAAA,IAAI6G,KAAK,CAACC,OAAO,CAAC9G,KAAK,CAAC,EAAE;AACtBA,UAAAA,KAAK,CAACsF,OAAO,CAAC,UAACyB,GAAG,EAAK;AACnBhC,YAAAA,WAAW,CAACG,GAAG,CAAC6B,GAAG,EAAE,IAAI,CAAC,CAAA;YAC1B5B,iBAAiB,CAAChC,cAAc,CAAC8B,GAAG,CAAC8B,GAAG,CAAC,EAAGhC,WAAW,EAAE,IAAI,CAAC,CAAA;YAC9DK,eAAe,CAACjC,cAAc,CAAC8B,GAAG,CAAC8B,GAAG,CAAC,EAAGhC,WAAW,CAAC,CAAA;AAC1D,WAAC,CAAC,CAAA;AACN,SAAC,MAAM;AACHA,UAAAA,WAAW,CAACG,GAAG,CAAClF,KAAK,EAAY,MAAM,CAAC,CAAA;UACxC8F,qBAAqB,CAAC3C,cAAc,CAAC8B,GAAG,CAACjF,KAAe,CAAC,EAAG+E,WAAW,EAAE,KAAK,CAAC,CAAA;AACnF,SAAA;AACJ,OAAA;MAEAR,UAAU,CAACQ,WAAW,CAAC,CAAA;AAC3B,KAAC,EAAE,CAAC/E,KAAK,CAAC,CAAC,CAAA;AAEX,IAAA,oBACIgH,KAAA,CAAAC,aAAA,CAACtH,IAAI,EAAAuH,QAAA,CAAA;AAACpH,MAAAA,GAAG,EAAEA,GAAI;AAACkB,MAAAA,IAAI,EAAEA,IAAK;MAACD,IAAI,EAAEa,MAAM,GAAGuF,OAAO,CAACvF,MAAM,CAAC,GAAGb,IAAK;AAACO,MAAAA,QAAQ,EAAEA,QAAAA;KAAeS,EAAAA,IAAI,CAC3FvB,EAAAA,KAAK,IAAIE,cAAc,KAAK,OAAO,IAAIN,MAAM,KAAK,aAAa,iBAAI4G,KAAA,CAAAC,aAAA,CAACG,UAAU,EAAE5G,IAAAA,EAAAA,KAAkB,CAAC,eACpGwG,KAAA,CAAAC,aAAA,CAACzH,OAAO,CAAC6H,QAAQ,EAAA;AACbrH,MAAAA,KAAK,EAAE;AACH6D,QAAAA,WAAW,EAAXA,WAAW;AACXS,QAAAA,OAAO,EAAPA,OAAO;QACPlC,WAAW,EAAEvC,KAAK,CAACuC,WAAW;AAC9BpB,QAAAA,IAAI,EAAJA,IAAI;AACJ6D,QAAAA,oBAAoB,EAApBA,oBAAoB;AACpBY,QAAAA,eAAe,EAAfA,eAAe;AACfjE,QAAAA,OAAO,EAAPA,OAAO;AACPG,QAAAA,UAAU,EAAVA,UAAU;AACVwB,QAAAA,cAAc,EAAdA,cAAAA;AACJ,OAAA;AAAE,KAAA,eAEF6D,KAAA,CAAAC,aAAA,CAACK,aAAa,EAAA;AACVxH,MAAAA,GAAG,EAAE0E,SAAU;AACf+C,MAAAA,MAAM,EAAEb,iBAAkB;AAC1BnG,MAAAA,SAAS,EAAEiH,aAAa,CAACjH,SAAS,CAAE;AACpCkH,MAAAA,SAAS,EAAEd,OAAO,CAAClF,MAAM,CAAE;AAC3BiG,MAAAA,KAAK,EAAEjG,MAAO;AACdkG,MAAAA,QAAQ,EAAEhD,YAAa;AACvBiD,MAAAA,OAAO,EAAC,OAAO;AACfxH,MAAAA,MAAM,eACF4G,KAAA,CAAAC,aAAA,CAACY,MAAM,EAAA;AACHjD,QAAAA,MAAM,EAAE8B,iBAAkB;AAC1B1G,QAAAA,KAAK,EAAEA,KAAM;AACbmD,QAAAA,cAAc,EAAEA,cAAe;AAC/BU,QAAAA,WAAW,EAAEA,WAAY;AACzBZ,QAAAA,iBAAiB,EAAEA,iBAAkB;AACrC6E,QAAAA,WAAW,EAAE/B,eAAgB;AAC7BvF,QAAAA,KAAK,EAAEA,KAAM;AACbG,QAAAA,WAAW,EAAEA,WAAY;AACzB8F,QAAAA,SAAS,EAAEA,SAAU;AACrBvC,QAAAA,gBAAgB,EAAEA,gBAAiB;AACnCxD,QAAAA,cAAc,EAAEA,cAAe;AAC/BqH,QAAAA,WAAW,EAAElI,KAAM;AACnBmB,QAAAA,IAAI,EAAEA,IAAK;AACXI,QAAAA,WAAW,EAAEA,WAAY;AACzBN,QAAAA,QAAQ,EAAEA,QAAS;AACnBY,QAAAA,WAAW,EAAEA,WAAY;AACzBI,QAAAA,SAAS,EAAEA,SAAAA;AAAU,OACxB,CACJ;AACDkG,MAAAA,eAAe,EAAE,KAAM;MACvBC,mBAAmB,EAAA,IAAA;KAElB5H,EAAAA,KAAK,iBACF2G,KAAA,CAAAC,aAAA,CAACtH,IAAI,EAAAuH,QAAA,CAAA;AAAClG,MAAAA,IAAI,EAAEA,IAAAA;AAAK,KAAA,EAAMe,IAAI,CACvBiF,eAAAA,KAAA,CAAAC,aAAA,CAACiB,EAAE,EAAA;AACCC,MAAAA,IAAI,EAAC,MAAM;AACXC,MAAAA,EAAE,EAAC,cAAc;AACjBlH,MAAAA,UAAU,EAAEA,UAAW;AACvBD,MAAAA,YAAY,EAAEA,YAAa;AAC3BoH,MAAAA,QAAQ,EAAEnC,YAAa;AACvB/E,MAAAA,SAAS,EAAEA,SAAAA;AAAU,KAAA,EAEpBuB,gBAAgB,CAAC4F,GAAG,CAAC,UAACxD,IAAI,EAAEyD,KAAK,EAAA;AAAA,MAAA,oBAC9BvB,KAAA,CAAAC,aAAA,CAACuB,KAAK,EAAA;AACFjD,QAAAA,GAAG,EAAAkD,EAAAA,CAAAA,MAAA,CAAKF,KAAK,EAAK,IAAA,CAAA;AAClBzD,QAAAA,IAAI,EAAEA,IAAK;AACX4D,QAAAA,YAAY,EAAE,CAAE;AAChBlF,QAAAA,IAAI,EAAEA,IAAK;AACXC,QAAAA,YAAY,EAAEA,YAAa;AAC3B8E,QAAAA,KAAK,EAAEA,KAAM;AACbpH,QAAAA,SAAS,EAAEA,SAAAA;AAAU,OACxB,CAAC,CAAA;KACL,CACD,CACF,CAEC,CACD,CAAC,EAClBP,UAAU,IAAIR,MAAM,KAAK,gBAAgB,iBAAI4G,KAAA,CAAAC,aAAA,CAAC0B,UAAU,EAAE/H,IAAAA,EAAAA,UAAuB,CAChF,CAAC,CAAA;AAEf,GAAC,CAAC,CAAA;AAAA,EAAA;AAEC,IAAMgI,YAAY,GAAG;AACxBC,EAAAA,IAAI,EAAE,QAAQ;AACdC,EAAAA,GAAG,EAAE,KAAK;AACVC,EAAAA,MAAM,EAAErJ,UAAU;AAClBsJ,EAAAA,IAAI,EAAJA,IAAI;AACJC,EAAAA,UAAU,EAAE;AACRlI,IAAAA,IAAI,EAAE;AACFmI,MAAAA,GAAG,EAAEC,MAAAA;KACR;AACDnI,IAAAA,IAAI,EAAE;AACFkI,MAAAA,GAAG,EAAEE,MAAAA;AACT,KAAA;GACH;AACDC,EAAAA,QAAQ,EAAE;AACNtI,IAAAA,IAAI,EAAE,SAAS;AACfO,IAAAA,QAAQ,EAAE,SAAS;AACnBN,IAAAA,IAAI,EAAE,GAAA;AACV,GAAA;AACJ;;;;"}
@@ -33,7 +33,8 @@ var Item = function Item(_ref) {
33
33
  handleCheckboxChange = _useContext.handleCheckboxChange,
34
34
  handleItemClick = _useContext.handleItemClick,
35
35
  variant = _useContext.variant,
36
- renderItem = _useContext.renderItem;
36
+ renderItem = _useContext.renderItem,
37
+ valueToItemMap = _useContext.valueToItemMap;
37
38
  var isDisabledClassName = disabled ? classes.dropdownItemIsDisabled : undefined;
38
39
  var focusedClass = currentLevel === focusedPath.length - 1 && index === (focusedPath === null || focusedPath === void 0 ? void 0 : focusedPath[currentLevel]) ? classes.dropdownItemIsFocused : undefined;
39
40
  var activeClass = value === (path === null || path === void 0 ? void 0 : path[currentLevel + 1]) ? classes.dropdownItemIsActive : undefined;
@@ -83,7 +84,7 @@ var Item = function Item(_ref) {
83
84
  }))), !multiselect && checked.get(item.value) === 'done' && /*#__PURE__*/React.createElement(IconDone, {
84
85
  size: sizeToIconSize(size, variant),
85
86
  color: "inherit"
86
- })), contentLeft && /*#__PURE__*/React.createElement(StyledContentLeft, null, contentLeft), /*#__PURE__*/React.createElement(StyledText, null, renderItem && renderItem(value.toString(), label) || label), contentRight && /*#__PURE__*/React.createElement(StyledContentRight, null, contentRight), !isEmpty(item.items) && /*#__PURE__*/React.createElement(DisclosureIconWrapper, null, /*#__PURE__*/React.createElement(IconDisclosureRightCentered, {
87
+ })), contentLeft && /*#__PURE__*/React.createElement(StyledContentLeft, null, contentLeft), /*#__PURE__*/React.createElement(StyledText, null, renderItem && renderItem(valueToItemMap.get(value)) || label), contentRight && /*#__PURE__*/React.createElement(StyledContentRight, null, contentRight), !isEmpty(item.items) && /*#__PURE__*/React.createElement(DisclosureIconWrapper, null, /*#__PURE__*/React.createElement(IconDisclosureRightCentered, {
87
88
  size: sizeToIconSize(size, variant),
88
89
  color: "inherit"
89
90
  })));
@@ -1 +1 @@
1
- {"version":3,"file":"Item.js","sources":["../../../../../../../src/components/Select/ui/Inner/ui/Item/Item.tsx"],"sourcesContent":["import React, { useEffect, useRef, FC, useContext } from 'react';\n\nimport { sizeToIconSize } from '../../../../utils';\nimport { classes } from '../../../../Select.tokens';\nimport { cx, isEmpty } from '../../../../../../utils';\nimport { IconDisclosureRightCentered, IconDone } from '../../../../../_Icon';\nimport { Context } from '../../../../Select';\n\nimport { ItemProps } from './Item.types';\nimport {\n StyledContentLeft,\n StyledContentRight,\n StyledText,\n Wrapper,\n DisclosureIconWrapper,\n StyledCheckbox,\n IconWrapper,\n StyledIndicator,\n StyledCheckboxWrapper,\n} from './Item.styles';\n\nexport const Item: FC<ItemProps> = ({\n item,\n path,\n currentLevel,\n index,\n ariaControls,\n ariaExpanded,\n ariaLevel,\n ariaLabel,\n}) => {\n const { value, label, disabled, contentLeft, contentRight } = item;\n const ref = useRef<HTMLLIElement | null>(null);\n\n const {\n focusedPath,\n checked,\n multiselect,\n size,\n handleCheckboxChange,\n handleItemClick,\n variant,\n renderItem,\n } = useContext(Context);\n\n const isDisabledClassName = disabled ? classes.dropdownItemIsDisabled : undefined;\n const focusedClass =\n currentLevel === focusedPath.length - 1 && index === focusedPath?.[currentLevel]\n ? classes.dropdownItemIsFocused\n : undefined;\n const activeClass = value === path?.[currentLevel + 1] ? classes.dropdownItemIsActive : undefined;\n\n useEffect(() => {\n if (focusedClass && ref?.current) {\n ref.current.scrollIntoView({\n behavior: 'smooth',\n block: 'center',\n inline: 'center',\n });\n }\n }, [focusedClass]);\n\n const handleChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n if (disabled) return;\n\n e.stopPropagation();\n\n handleCheckboxChange(item);\n };\n\n const handleClick = (e: React.MouseEvent<HTMLElement>) => {\n if (disabled) return;\n\n handleItemClick(item, e);\n };\n\n return (\n <Wrapper\n className={cx(isDisabledClassName, focusedClass, activeClass)}\n id={value.toString()}\n ref={ref}\n onClick={handleClick}\n variant={variant}\n aria-controls={ariaControls}\n aria-expanded={ariaExpanded}\n aria-level={ariaLevel}\n aria-label={ariaLabel}\n role=\"treeitem\"\n >\n <IconWrapper variant={variant}>\n {multiselect && (\n <StyledCheckboxWrapper onClick={(e) => e.stopPropagation()}>\n <StyledCheckbox\n checked={Boolean(checked.get(item.value))}\n indeterminate={checked.get(item.value) === 'indeterminate'}\n onChange={handleChange}\n className={classes.selectItemCheckbox}\n />\n </StyledCheckboxWrapper>\n )}\n\n {!multiselect && checked.get(item.value) === 'dot' && <StyledIndicator size=\"s\" view=\"default\" />}\n\n {!multiselect && checked.get(item.value) === 'done' && (\n <IconDone size={sizeToIconSize(size, variant)} color=\"inherit\" />\n )}\n </IconWrapper>\n\n {contentLeft && <StyledContentLeft>{contentLeft}</StyledContentLeft>}\n\n <StyledText>{(renderItem && renderItem(value.toString(), label)) || label}</StyledText>\n\n {contentRight && <StyledContentRight>{contentRight}</StyledContentRight>}\n\n {!isEmpty(item.items) && (\n <DisclosureIconWrapper>\n <IconDisclosureRightCentered size={sizeToIconSize(size, variant)} color=\"inherit\" />\n </DisclosureIconWrapper>\n )}\n </Wrapper>\n );\n};\n"],"names":["Item","_ref","item","path","currentLevel","index","ariaControls","ariaExpanded","ariaLevel","ariaLabel","value","label","disabled","contentLeft","contentRight","ref","useRef","_useContext","useContext","Context","focusedPath","checked","multiselect","size","handleCheckboxChange","handleItemClick","variant","renderItem","isDisabledClassName","classes","dropdownItemIsDisabled","undefined","focusedClass","length","dropdownItemIsFocused","activeClass","dropdownItemIsActive","useEffect","current","scrollIntoView","behavior","block","inline","handleChange","e","stopPropagation","handleClick","React","createElement","Wrapper","className","cx","id","toString","onClick","role","IconWrapper","StyledCheckboxWrapper","StyledCheckbox","Boolean","get","indeterminate","onChange","selectItemCheckbox","_StyledIndicator","StyledIndicator","view","IconDone","sizeToIconSize","color","StyledContentLeft","StyledText","StyledContentRight","isEmpty","items","DisclosureIconWrapper","IconDisclosureRightCentered"],"mappings":";;;;;;;;;;;;IAqBaA,IAAmB,GAAG,SAAtBA,IAAmBA,CAAAC,IAAA,EAS1B;AAAA,EAAA,IARFC,IAAI,GAAAD,IAAA,CAAJC,IAAI;IACJC,IAAI,GAAAF,IAAA,CAAJE,IAAI;IACJC,YAAY,GAAAH,IAAA,CAAZG,YAAY;IACZC,KAAK,GAAAJ,IAAA,CAALI,KAAK;IACLC,YAAY,GAAAL,IAAA,CAAZK,YAAY;IACZC,YAAY,GAAAN,IAAA,CAAZM,YAAY;IACZC,SAAS,GAAAP,IAAA,CAATO,SAAS;IACTC,SAAS,GAAAR,IAAA,CAATQ,SAAS,CAAA;AAET,EAAA,IAAQC,KAAK,GAAiDR,IAAI,CAA1DQ,KAAK;IAAEC,KAAK,GAA0CT,IAAI,CAAnDS,KAAK;IAAEC,QAAQ,GAAgCV,IAAI,CAA5CU,QAAQ;IAAEC,WAAW,GAAmBX,IAAI,CAAlCW,WAAW;IAAEC,YAAY,GAAKZ,IAAI,CAArBY,YAAY,CAAA;AACzD,EAAA,IAAMC,GAAG,GAAGC,MAAM,CAAuB,IAAI,CAAC,CAAA;AAE9C,EAAA,IAAAC,WAAA,GASIC,UAAU,CAACC,OAAO,CAAC;IARnBC,WAAW,GAAAH,WAAA,CAAXG,WAAW;IACXC,OAAO,GAAAJ,WAAA,CAAPI,OAAO;IACPC,WAAW,GAAAL,WAAA,CAAXK,WAAW;IACXC,IAAI,GAAAN,WAAA,CAAJM,IAAI;IACJC,oBAAoB,GAAAP,WAAA,CAApBO,oBAAoB;IACpBC,eAAe,GAAAR,WAAA,CAAfQ,eAAe;IACfC,OAAO,GAAAT,WAAA,CAAPS,OAAO;IACPC,UAAU,GAAAV,WAAA,CAAVU,UAAU,CAAA;EAGd,IAAMC,mBAAmB,GAAGhB,QAAQ,GAAGiB,OAAO,CAACC,sBAAsB,GAAGC,SAAS,CAAA;EACjF,IAAMC,YAAY,GACd5B,YAAY,KAAKgB,WAAW,CAACa,MAAM,GAAG,CAAC,IAAI5B,KAAK,MAAKe,WAAW,KAAXA,IAAAA,IAAAA,WAAW,KAAXA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,WAAW,CAAGhB,YAAY,CAAC,CAAA,GAC1EyB,OAAO,CAACK,qBAAqB,GAC7BH,SAAS,CAAA;AACnB,EAAA,IAAMI,WAAW,GAAGzB,KAAK,MAAKP,IAAI,KAAA,IAAA,IAAJA,IAAI,KAAJA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,IAAI,CAAGC,YAAY,GAAG,CAAC,CAAC,CAAA,GAAGyB,OAAO,CAACO,oBAAoB,GAAGL,SAAS,CAAA;AAEjGM,EAAAA,SAAS,CAAC,YAAM;IACZ,IAAIL,YAAY,IAAIjB,GAAG,KAAA,IAAA,IAAHA,GAAG,KAAHA,KAAAA,CAAAA,IAAAA,GAAG,CAAEuB,OAAO,EAAE;AAC9BvB,MAAAA,GAAG,CAACuB,OAAO,CAACC,cAAc,CAAC;AACvBC,QAAAA,QAAQ,EAAE,QAAQ;AAClBC,QAAAA,KAAK,EAAE,QAAQ;AACfC,QAAAA,MAAM,EAAE,QAAA;AACZ,OAAC,CAAC,CAAA;AACN,KAAA;AACJ,GAAC,EAAE,CAACV,YAAY,CAAC,CAAC,CAAA;AAElB,EAAA,IAAMW,YAAY,GAAG,SAAfA,YAAYA,CAAIC,CAAsC,EAAK;AAC7D,IAAA,IAAIhC,QAAQ,EAAE,OAAA;IAEdgC,CAAC,CAACC,eAAe,EAAE,CAAA;IAEnBrB,oBAAoB,CAACtB,IAAI,CAAC,CAAA;GAC7B,CAAA;AAED,EAAA,IAAM4C,WAAW,GAAG,SAAdA,WAAWA,CAAIF,CAAgC,EAAK;AACtD,IAAA,IAAIhC,QAAQ,EAAE,OAAA;AAEda,IAAAA,eAAe,CAACvB,IAAI,EAAE0C,CAAC,CAAC,CAAA;GAC3B,CAAA;AAED,EAAA,oBACIG,KAAA,CAAAC,aAAA,CAACC,OAAO,EAAA;IACJC,SAAS,EAAEC,EAAE,CAACvB,mBAAmB,EAAEI,YAAY,EAAEG,WAAW,CAAE;AAC9DiB,IAAAA,EAAE,EAAE1C,KAAK,CAAC2C,QAAQ,EAAG;AACrBtC,IAAAA,GAAG,EAAEA,GAAI;AACTuC,IAAAA,OAAO,EAAER,WAAY;AACrBpB,IAAAA,OAAO,EAAEA,OAAQ;AACjB,IAAA,eAAA,EAAepB,YAAa;AAC5B,IAAA,eAAA,EAAeC,YAAa;AAC5B,IAAA,YAAA,EAAYC,SAAU;AACtB,IAAA,YAAA,EAAYC,SAAU;AACtB8C,IAAAA,IAAI,EAAC,UAAA;AAAU,GAAA,eAEfR,KAAA,CAAAC,aAAA,CAACQ,WAAW,EAAA;AAAC9B,IAAAA,OAAO,EAAEA,OAAAA;AAAQ,GAAA,EACzBJ,WAAW,iBACRyB,KAAA,CAAAC,aAAA,CAACS,qBAAqB,EAAA;IAACH,OAAO,EAAE,SAAAA,OAAAA,CAACV,CAAC,EAAA;AAAA,MAAA,OAAKA,CAAC,CAACC,eAAe,EAAE,CAAA;AAAA,KAAA;AAAC,GAAA,eACvDE,KAAA,CAAAC,aAAA,CAACU,cAAc,EAAA;IACXrC,OAAO,EAAEsC,OAAO,CAACtC,OAAO,CAACuC,GAAG,CAAC1D,IAAI,CAACQ,KAAK,CAAC,CAAE;IAC1CmD,aAAa,EAAExC,OAAO,CAACuC,GAAG,CAAC1D,IAAI,CAACQ,KAAK,CAAC,KAAK,eAAgB;AAC3DoD,IAAAA,QAAQ,EAAEnB,YAAa;IACvBO,SAAS,EAAErB,OAAO,CAACkC,kBAAAA;GACtB,CACkB,CAC1B,EAEA,CAACzC,WAAW,IAAID,OAAO,CAACuC,GAAG,CAAC1D,IAAI,CAACQ,KAAK,CAAC,KAAK,KAAK,KAAAsD,gBAAA,KAAAA,gBAAA,gBAAIjB,KAAA,CAAAC,aAAA,CAACiB,eAAe,EAAA;AAAC1C,IAAAA,IAAI,EAAC,GAAG;AAAC2C,IAAAA,IAAI,EAAC,SAAA;GAAW,CAAC,IAEhG,CAAC5C,WAAW,IAAID,OAAO,CAACuC,GAAG,CAAC1D,IAAI,CAACQ,KAAK,CAAC,KAAK,MAAM,iBAC/CqC,KAAA,CAAAC,aAAA,CAACmB,QAAQ,EAAA;AAAC5C,IAAAA,IAAI,EAAE6C,cAAc,CAAC7C,IAAI,EAAEG,OAAO,CAAE;AAAC2C,IAAAA,KAAK,EAAC,SAAA;AAAS,GAAE,CAE3D,CAAC,EAEbxD,WAAW,iBAAIkC,KAAA,CAAAC,aAAA,CAACsB,iBAAiB,EAAEzD,IAAAA,EAAAA,WAA+B,CAAC,eAEpEkC,KAAA,CAAAC,aAAA,CAACuB,UAAU,EAAG5C,IAAAA,EAAAA,UAAU,IAAIA,UAAU,CAACjB,KAAK,CAAC2C,QAAQ,EAAE,EAAE1C,KAAK,CAAC,IAAKA,KAAkB,CAAC,EAEtFG,YAAY,iBAAIiC,KAAA,CAAAC,aAAA,CAACwB,kBAAkB,EAAA,IAAA,EAAE1D,YAAiC,CAAC,EAEvE,CAAC2D,OAAO,CAACvE,IAAI,CAACwE,KAAK,CAAC,iBACjB3B,KAAA,CAAAC,aAAA,CAAC2B,qBAAqB,EAClB5B,IAAAA,eAAAA,KAAA,CAAAC,aAAA,CAAC4B,2BAA2B,EAAA;AAACrD,IAAAA,IAAI,EAAE6C,cAAc,CAAC7C,IAAI,EAAEG,OAAO,CAAE;AAAC2C,IAAAA,KAAK,EAAC,SAAA;GAAW,CAChE,CAEtB,CAAC,CAAA;AAElB;;;;"}
1
+ {"version":3,"file":"Item.js","sources":["../../../../../../../src/components/Select/ui/Inner/ui/Item/Item.tsx"],"sourcesContent":["import React, { useEffect, useRef, FC, useContext } from 'react';\n\nimport { sizeToIconSize } from '../../../../utils';\nimport { classes } from '../../../../Select.tokens';\nimport { cx, isEmpty } from '../../../../../../utils';\nimport { IconDisclosureRightCentered, IconDone } from '../../../../../_Icon';\nimport { Context } from '../../../../Select';\n\nimport { ItemProps } from './Item.types';\nimport {\n StyledContentLeft,\n StyledContentRight,\n StyledText,\n Wrapper,\n DisclosureIconWrapper,\n StyledCheckbox,\n IconWrapper,\n StyledIndicator,\n StyledCheckboxWrapper,\n} from './Item.styles';\n\nexport const Item: FC<ItemProps> = ({\n item,\n path,\n currentLevel,\n index,\n ariaControls,\n ariaExpanded,\n ariaLevel,\n ariaLabel,\n}) => {\n const { value, label, disabled, contentLeft, contentRight } = item;\n const ref = useRef<HTMLLIElement | null>(null);\n\n const {\n focusedPath,\n checked,\n multiselect,\n size,\n handleCheckboxChange,\n handleItemClick,\n variant,\n renderItem,\n valueToItemMap,\n } = useContext(Context);\n\n const isDisabledClassName = disabled ? classes.dropdownItemIsDisabled : undefined;\n const focusedClass =\n currentLevel === focusedPath.length - 1 && index === focusedPath?.[currentLevel]\n ? classes.dropdownItemIsFocused\n : undefined;\n const activeClass = value === path?.[currentLevel + 1] ? classes.dropdownItemIsActive : undefined;\n\n useEffect(() => {\n if (focusedClass && ref?.current) {\n ref.current.scrollIntoView({\n behavior: 'smooth',\n block: 'center',\n inline: 'center',\n });\n }\n }, [focusedClass]);\n\n const handleChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n if (disabled) return;\n\n e.stopPropagation();\n\n handleCheckboxChange(item);\n };\n\n const handleClick = (e: React.MouseEvent<HTMLElement>) => {\n if (disabled) return;\n\n handleItemClick(item, e);\n };\n\n return (\n <Wrapper\n className={cx(isDisabledClassName, focusedClass, activeClass)}\n id={value.toString()}\n ref={ref}\n onClick={handleClick}\n variant={variant}\n aria-controls={ariaControls}\n aria-expanded={ariaExpanded}\n aria-level={ariaLevel}\n aria-label={ariaLabel}\n role=\"treeitem\"\n >\n <IconWrapper variant={variant}>\n {multiselect && (\n <StyledCheckboxWrapper onClick={(e) => e.stopPropagation()}>\n <StyledCheckbox\n checked={Boolean(checked.get(item.value))}\n indeterminate={checked.get(item.value) === 'indeterminate'}\n onChange={handleChange}\n className={classes.selectItemCheckbox}\n />\n </StyledCheckboxWrapper>\n )}\n\n {!multiselect && checked.get(item.value) === 'dot' && <StyledIndicator size=\"s\" view=\"default\" />}\n\n {!multiselect && checked.get(item.value) === 'done' && (\n <IconDone size={sizeToIconSize(size, variant)} color=\"inherit\" />\n )}\n </IconWrapper>\n\n {contentLeft && <StyledContentLeft>{contentLeft}</StyledContentLeft>}\n\n <StyledText>{(renderItem && renderItem(valueToItemMap.get(value)!)) || label}</StyledText>\n\n {contentRight && <StyledContentRight>{contentRight}</StyledContentRight>}\n\n {!isEmpty(item.items) && (\n <DisclosureIconWrapper>\n <IconDisclosureRightCentered size={sizeToIconSize(size, variant)} color=\"inherit\" />\n </DisclosureIconWrapper>\n )}\n </Wrapper>\n );\n};\n"],"names":["Item","_ref","item","path","currentLevel","index","ariaControls","ariaExpanded","ariaLevel","ariaLabel","value","label","disabled","contentLeft","contentRight","ref","useRef","_useContext","useContext","Context","focusedPath","checked","multiselect","size","handleCheckboxChange","handleItemClick","variant","renderItem","valueToItemMap","isDisabledClassName","classes","dropdownItemIsDisabled","undefined","focusedClass","length","dropdownItemIsFocused","activeClass","dropdownItemIsActive","useEffect","current","scrollIntoView","behavior","block","inline","handleChange","e","stopPropagation","handleClick","React","createElement","Wrapper","className","cx","id","toString","onClick","role","IconWrapper","StyledCheckboxWrapper","StyledCheckbox","Boolean","get","indeterminate","onChange","selectItemCheckbox","_StyledIndicator","StyledIndicator","view","IconDone","sizeToIconSize","color","StyledContentLeft","StyledText","StyledContentRight","isEmpty","items","DisclosureIconWrapper","IconDisclosureRightCentered"],"mappings":"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"}
@@ -42,7 +42,9 @@ var Button = function Button(_ref) {
42
42
  "aria-activedescendant": getActiveDescendant(),
43
43
  "aria-label": label,
44
44
  renderTarget: Boolean(selectProps.renderTarget)
45
- }, selectProps.renderTarget ? selectProps.renderTarget(value) : /*#__PURE__*/React.createElement(Label, null, getButtonLabel({
45
+ }, selectProps.renderTarget ? selectProps.renderTarget(Array.isArray(value) ? value.map(function (value) {
46
+ return valueToItemMap.get(value);
47
+ }) : valueToItemMap.get(value)) : /*#__PURE__*/React.createElement(Label, null, getButtonLabel({
46
48
  value: value,
47
49
  valueToItemMap: valueToItemMap,
48
50
  label: label,
@@ -1 +1 @@
1
- {"version":3,"file":"Button.js","sources":["../../../../../../../src/components/Select/ui/Target/ui/Button/Button.tsx"],"sourcesContent":["import React from 'react';\n\nimport { cx } from '../../../../../../utils';\nimport { classes } from '../../../../Select.tokens';\nimport { getButtonLabel, sizeToIconSize } from '../../../../utils';\n\nimport { ButtonProps } from './Button.types';\nimport { StyledButton, StyledArrow, Label, ButtonWrapper, IconArrowWrapper } from './Button.styles';\n\nexport const Button: React.FC<ButtonProps> = ({\n opened,\n value,\n valueToItemMap,\n onKeyDown,\n label,\n size,\n disabled,\n renderValue,\n focusedPath,\n focusedToValueMap,\n selectProps,\n separator,\n}) => {\n const withArrowInverse = opened ? classes.arrowInverse : undefined;\n\n const getActiveDescendant = () => {\n const focusedPathAsString = focusedPath.reduce((acc, n) => `${acc}/${n}`, '').replace(/^(\\/)/, '');\n return focusedToValueMap?.get(focusedPathAsString)?.value.toString();\n };\n\n return (\n <ButtonWrapper>\n <StyledButton\n stretching=\"filled\"\n onKeyDown={onKeyDown}\n className={opened ? classes.selectWithoutBoxShadow : undefined}\n disabled={disabled}\n contentRight={\n <IconArrowWrapper>\n <StyledArrow\n size={sizeToIconSize(size)}\n color=\"inherit\"\n className={cx(classes.selectTargetArrow, withArrowInverse)}\n />\n </IconArrowWrapper>\n }\n role=\"combobox\"\n aria-controls=\"tree_level_1\"\n aria-expanded={opened}\n aria-activedescendant={getActiveDescendant()}\n aria-label={label}\n renderTarget={Boolean(selectProps.renderTarget)}\n >\n {selectProps.renderTarget ? (\n selectProps.renderTarget(value as any)\n ) : (\n <Label>\n {getButtonLabel({\n value,\n valueToItemMap,\n label,\n renderValue,\n selectProps,\n separator,\n })}\n </Label>\n )}\n </StyledButton>\n </ButtonWrapper>\n );\n};\n"],"names":["Button","_ref","opened","value","valueToItemMap","onKeyDown","label","size","disabled","renderValue","focusedPath","focusedToValueMap","selectProps","separator","withArrowInverse","classes","arrowInverse","undefined","getActiveDescendant","_focusedToValueMap$ge","focusedPathAsString","reduce","acc","n","concat","replace","get","toString","React","createElement","ButtonWrapper","StyledButton","stretching","className","selectWithoutBoxShadow","contentRight","IconArrowWrapper","StyledArrow","sizeToIconSize","color","cx","selectTargetArrow","role","renderTarget","Boolean","Label","getButtonLabel"],"mappings":"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"}
1
+ {"version":3,"file":"Button.js","sources":["../../../../../../../src/components/Select/ui/Target/ui/Button/Button.tsx"],"sourcesContent":["import React from 'react';\n\nimport { cx } from '../../../../../../utils';\nimport { classes } from '../../../../Select.tokens';\nimport { getButtonLabel, sizeToIconSize } from '../../../../utils';\n\nimport { ButtonProps } from './Button.types';\nimport { StyledButton, StyledArrow, Label, ButtonWrapper, IconArrowWrapper } from './Button.styles';\n\nexport const Button: React.FC<ButtonProps> = ({\n opened,\n value,\n valueToItemMap,\n onKeyDown,\n label,\n size,\n disabled,\n renderValue,\n focusedPath,\n focusedToValueMap,\n selectProps,\n separator,\n}) => {\n const withArrowInverse = opened ? classes.arrowInverse : undefined;\n\n const getActiveDescendant = () => {\n const focusedPathAsString = focusedPath.reduce((acc, n) => `${acc}/${n}`, '').replace(/^(\\/)/, '');\n return focusedToValueMap?.get(focusedPathAsString)?.value.toString();\n };\n\n return (\n <ButtonWrapper>\n <StyledButton\n stretching=\"filled\"\n onKeyDown={onKeyDown}\n className={opened ? classes.selectWithoutBoxShadow : undefined}\n disabled={disabled}\n contentRight={\n <IconArrowWrapper>\n <StyledArrow\n size={sizeToIconSize(size)}\n color=\"inherit\"\n className={cx(classes.selectTargetArrow, withArrowInverse)}\n />\n </IconArrowWrapper>\n }\n role=\"combobox\"\n aria-controls=\"tree_level_1\"\n aria-expanded={opened}\n aria-activedescendant={getActiveDescendant()}\n aria-label={label}\n renderTarget={Boolean(selectProps.renderTarget)}\n >\n {selectProps.renderTarget ? (\n selectProps.renderTarget(\n Array.isArray(value)\n ? value.map((value) => valueToItemMap.get(value)!)\n : valueToItemMap.get(value)!,\n )\n ) : (\n <Label>\n {getButtonLabel({\n value,\n valueToItemMap,\n label,\n renderValue,\n selectProps,\n separator,\n })}\n </Label>\n )}\n </StyledButton>\n </ButtonWrapper>\n );\n};\n"],"names":["Button","_ref","opened","value","valueToItemMap","onKeyDown","label","size","disabled","renderValue","focusedPath","focusedToValueMap","selectProps","separator","withArrowInverse","classes","arrowInverse","undefined","getActiveDescendant","_focusedToValueMap$ge","focusedPathAsString","reduce","acc","n","concat","replace","get","toString","React","createElement","ButtonWrapper","StyledButton","stretching","className","selectWithoutBoxShadow","contentRight","IconArrowWrapper","StyledArrow","sizeToIconSize","color","cx","selectTargetArrow","role","renderTarget","Boolean","Array","isArray","map","Label","getButtonLabel"],"mappings":"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"}
@@ -33,7 +33,7 @@ var getLabel = function getLabel(_ref) {
33
33
  return value.map(function (currentValue, index) {
34
34
  var itemLabel = valueToItemMap.get(currentValue).label;
35
35
  return /*#__PURE__*/React.createElement(Chip, {
36
- text: renderValue ? renderValue(currentValue, itemLabel) : itemLabel,
36
+ text: renderValue ? renderValue(valueToItemMap.get(currentValue)) : itemLabel,
37
37
  onClick: function onClick(e) {
38
38
  e.stopPropagation();
39
39
  onChipClick(currentValue);
@@ -44,9 +44,9 @@ var getLabel = function getLabel(_ref) {
44
44
  }
45
45
  var itemLabel = valueToItemMap.get(value).label;
46
46
  if (!label || labelPlacement === 'outer') {
47
- return /*#__PURE__*/React.createElement(Value, null, renderValue ? renderValue(value, itemLabel) : itemLabel);
47
+ return /*#__PURE__*/React.createElement(Value, null, renderValue ? renderValue(valueToItemMap.get(value)) : itemLabel);
48
48
  }
49
- return /*#__PURE__*/React.createElement(InnerLabelWrapper, null, size !== 'xs' && /*#__PURE__*/React.createElement(InnerLabel, null, label), /*#__PURE__*/React.createElement(Value, null, renderValue ? renderValue(value, itemLabel) : itemLabel));
49
+ return /*#__PURE__*/React.createElement(InnerLabelWrapper, null, size !== 'xs' && /*#__PURE__*/React.createElement(InnerLabel, null, label), /*#__PURE__*/React.createElement(Value, null, renderValue ? renderValue(valueToItemMap.get(value)) : itemLabel));
50
50
  };
51
51
  var Textfield = function Textfield(_ref2) {
52
52
  var opened = _ref2.opened,
@@ -87,7 +87,9 @@ var Textfield = function Textfield(_ref2) {
87
87
  "aria-activedescendant": getActiveDescendant(),
88
88
  "aria-label": label,
89
89
  renderTarget: Boolean(selectProps.renderTarget)
90
- }, /*#__PURE__*/React.createElement(Wrapper, null, selectProps !== null && selectProps !== void 0 && selectProps.renderTarget ? selectProps.renderTarget(value) : /*#__PURE__*/React.createElement(React.Fragment, null, contentLeft && (!selectProps.multiselect || isEmpty(value)) && /*#__PURE__*/React.createElement(ContentLeftWrapper, null, contentLeft), /*#__PURE__*/React.createElement(ChipWrapper, null, getLabel({
90
+ }, /*#__PURE__*/React.createElement(Wrapper, null, selectProps !== null && selectProps !== void 0 && selectProps.renderTarget ? selectProps.renderTarget(Array.isArray(value) ? value.map(function (value) {
91
+ return valueToItemMap.get(value);
92
+ }) : valueToItemMap.get(value)) : /*#__PURE__*/React.createElement(React.Fragment, null, contentLeft && (!selectProps.multiselect || isEmpty(value)) && /*#__PURE__*/React.createElement(ContentLeftWrapper, null, contentLeft), /*#__PURE__*/React.createElement(ChipWrapper, null, getLabel({
91
93
  value: value,
92
94
  valueToItemMap: valueToItemMap,
93
95
  onChipClick: onChipClick,