@salutejs/plasma-new-hope 0.88.0-canary.1233.9420319803.0 → 0.88.0-canary.1233.9439608380.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (150) hide show
  1. package/cjs/components/Chip/Chip.css +5 -5
  2. package/cjs/components/Chip/Chip.styles.js +1 -1
  3. package/cjs/components/Chip/Chip.styles.js.map +1 -1
  4. package/cjs/components/Chip/{Chip.styles_1l2rsrr.css → Chip.styles_1mwwhiw.css} +1 -1
  5. package/cjs/components/Combobox/Combobox.css +5 -5
  6. package/cjs/components/Combobox/ui/ComboboxChip/ComboboxChip.css +5 -5
  7. package/cjs/components/Combobox/ui/ComboboxTarget/ComboboxTarget.css +5 -5
  8. package/cjs/components/Pagination/Pagination.css +10 -11
  9. package/cjs/components/Pagination/ui/PaginationSelectPerPage/PaginationSelectPerPage.css +10 -11
  10. package/cjs/components/Pagination/ui/PaginationSelectPerPage/PaginationSelectPerPage.js +0 -1
  11. package/cjs/components/Pagination/ui/PaginationSelectPerPage/PaginationSelectPerPage.js.map +1 -1
  12. package/cjs/components/Range/Range.css +5 -5
  13. package/cjs/components/Select/Select.css +10 -11
  14. package/cjs/components/Select/Select.js +16 -10
  15. package/cjs/components/Select/Select.js.map +1 -1
  16. package/cjs/components/Select/Select.styles.js +2 -0
  17. package/cjs/components/Select/Select.styles.js.map +1 -1
  18. package/cjs/components/Select/elements/Inner/Inner.css +10 -11
  19. package/cjs/components/Select/elements/Inner/Inner.js +7 -2
  20. package/cjs/components/Select/elements/Inner/Inner.js.map +1 -1
  21. package/cjs/components/Select/elements/Inner/elements/Item/Item.css +10 -11
  22. package/cjs/components/Select/elements/Inner/elements/Item/Item.js +17 -6
  23. package/cjs/components/Select/elements/Inner/elements/Item/Item.js.map +1 -1
  24. package/cjs/components/Select/elements/Target/Target.css +10 -11
  25. package/cjs/components/Select/elements/Target/Target.js +9 -3
  26. package/cjs/components/Select/elements/Target/Target.js.map +1 -1
  27. package/cjs/components/Select/elements/Target/elements/Button/Button.css +5 -6
  28. package/cjs/components/Select/elements/Target/elements/Button/Button.js +28 -32
  29. package/cjs/components/Select/elements/Target/elements/Button/Button.js.map +1 -1
  30. package/cjs/components/Select/elements/Target/elements/Button/Button.styles.js +2 -8
  31. package/cjs/components/Select/elements/Target/elements/Button/Button.styles.js.map +1 -1
  32. package/cjs/components/Select/elements/Target/elements/Button/{Button.styles_1bweq1y.css → Button.styles_1r519o1.css} +1 -2
  33. package/cjs/components/Select/elements/Target/elements/Textfield/Textfield.css +5 -5
  34. package/cjs/components/Select/elements/Target/elements/Textfield/Textfield.js +25 -7
  35. package/cjs/components/Select/elements/Target/elements/Textfield/Textfield.js.map +1 -1
  36. package/cjs/components/Select/elements/Target/elements/Textfield/elements/Chip/Chip.css +5 -5
  37. package/cjs/components/Select/hooks/useKeyboardNavigation.js +11 -2
  38. package/cjs/components/Select/hooks/useKeyboardNavigation.js.map +1 -1
  39. package/cjs/components/Select/utils/getButtonLabel.js +47 -0
  40. package/cjs/components/Select/utils/getButtonLabel.js.map +1 -0
  41. package/cjs/components/Slider/Slider.css +5 -5
  42. package/cjs/components/Slider/components/Double/Double.css +5 -5
  43. package/cjs/components/TextField/ui/TextFieldChip/TextFieldChip.css +5 -5
  44. package/cjs/index.css +10 -11
  45. package/es/components/Chip/Chip.css +5 -5
  46. package/es/components/Chip/Chip.styles.js +1 -1
  47. package/es/components/Chip/Chip.styles.js.map +1 -1
  48. package/es/components/Chip/{Chip.styles_1l2rsrr.css → Chip.styles_1mwwhiw.css} +1 -1
  49. package/es/components/Combobox/Combobox.css +5 -5
  50. package/es/components/Combobox/ui/ComboboxChip/ComboboxChip.css +5 -5
  51. package/es/components/Combobox/ui/ComboboxTarget/ComboboxTarget.css +5 -5
  52. package/es/components/Pagination/Pagination.css +10 -11
  53. package/es/components/Pagination/ui/PaginationSelectPerPage/PaginationSelectPerPage.css +10 -11
  54. package/es/components/Pagination/ui/PaginationSelectPerPage/PaginationSelectPerPage.js +0 -1
  55. package/es/components/Pagination/ui/PaginationSelectPerPage/PaginationSelectPerPage.js.map +1 -1
  56. package/es/components/Range/Range.css +5 -5
  57. package/es/components/Select/Select.css +10 -11
  58. package/es/components/Select/Select.js +16 -10
  59. package/es/components/Select/Select.js.map +1 -1
  60. package/es/components/Select/Select.styles.js +2 -0
  61. package/es/components/Select/Select.styles.js.map +1 -1
  62. package/es/components/Select/elements/Inner/Inner.css +10 -11
  63. package/es/components/Select/elements/Inner/Inner.js +7 -2
  64. package/es/components/Select/elements/Inner/Inner.js.map +1 -1
  65. package/es/components/Select/elements/Inner/elements/Item/Item.css +10 -11
  66. package/es/components/Select/elements/Inner/elements/Item/Item.js +17 -6
  67. package/es/components/Select/elements/Inner/elements/Item/Item.js.map +1 -1
  68. package/es/components/Select/elements/Target/Target.css +10 -11
  69. package/es/components/Select/elements/Target/Target.js +9 -3
  70. package/es/components/Select/elements/Target/Target.js.map +1 -1
  71. package/es/components/Select/elements/Target/elements/Button/Button.css +5 -6
  72. package/es/components/Select/elements/Target/elements/Button/Button.js +29 -33
  73. package/es/components/Select/elements/Target/elements/Button/Button.js.map +1 -1
  74. package/es/components/Select/elements/Target/elements/Button/Button.styles.js +3 -8
  75. package/es/components/Select/elements/Target/elements/Button/Button.styles.js.map +1 -1
  76. package/es/components/Select/elements/Target/elements/Button/{Button.styles_1bweq1y.css → Button.styles_1r519o1.css} +1 -2
  77. package/es/components/Select/elements/Target/elements/Textfield/Textfield.css +5 -5
  78. package/es/components/Select/elements/Target/elements/Textfield/Textfield.js +25 -7
  79. package/es/components/Select/elements/Target/elements/Textfield/Textfield.js.map +1 -1
  80. package/es/components/Select/elements/Target/elements/Textfield/elements/Chip/Chip.css +5 -5
  81. package/es/components/Select/hooks/useKeyboardNavigation.js +11 -2
  82. package/es/components/Select/hooks/useKeyboardNavigation.js.map +1 -1
  83. package/es/components/Select/utils/getButtonLabel.js +43 -0
  84. package/es/components/Select/utils/getButtonLabel.js.map +1 -0
  85. package/es/components/Slider/Slider.css +5 -5
  86. package/es/components/Slider/components/Double/Double.css +5 -5
  87. package/es/components/TextField/ui/TextFieldChip/TextFieldChip.css +5 -5
  88. package/es/index.css +10 -11
  89. package/package.json +2 -2
  90. package/styled-components/cjs/components/Chip/Chip.styles.js +1 -1
  91. package/styled-components/cjs/components/Pagination/ui/PaginationSelectPerPage/PaginationSelectPerPage.js +0 -1
  92. package/styled-components/cjs/components/Select/Select.js +26 -20
  93. package/styled-components/cjs/components/Select/elements/Inner/Inner.js +7 -2
  94. package/styled-components/cjs/components/Select/elements/Inner/elements/Item/Item.js +16 -5
  95. package/styled-components/cjs/components/Select/elements/Target/Target.js +9 -3
  96. package/styled-components/cjs/components/Select/elements/Target/elements/Button/Button.js +28 -31
  97. package/styled-components/cjs/components/Select/elements/Target/elements/Button/Button.styles.js +3 -6
  98. package/styled-components/cjs/components/Select/elements/Target/elements/Textfield/Textfield.js +25 -7
  99. package/styled-components/cjs/components/Select/hooks/useKeyboardNavigation.js +11 -2
  100. package/styled-components/cjs/components/Select/utils/getButtonLabel.js +43 -0
  101. package/styled-components/cjs/components/Select/utils/index.js +8 -1
  102. package/styled-components/cjs/examples/plasma_b2c/components/Select/Select.config.js +1 -0
  103. package/styled-components/cjs/examples/plasma_b2c/components/Select/Select.stories.tsx +22 -50
  104. package/styled-components/es/components/Chip/Chip.styles.js +1 -1
  105. package/styled-components/es/components/Pagination/ui/PaginationSelectPerPage/PaginationSelectPerPage.js +0 -1
  106. package/styled-components/es/components/Select/Select.js +16 -10
  107. package/styled-components/es/components/Select/elements/Inner/Inner.js +7 -2
  108. package/styled-components/es/components/Select/elements/Inner/elements/Item/Item.js +16 -5
  109. package/styled-components/es/components/Select/elements/Target/Target.js +9 -3
  110. package/styled-components/es/components/Select/elements/Target/elements/Button/Button.js +30 -33
  111. package/styled-components/es/components/Select/elements/Target/elements/Button/Button.styles.js +2 -5
  112. package/styled-components/es/components/Select/elements/Target/elements/Textfield/Textfield.js +25 -7
  113. package/styled-components/es/components/Select/hooks/useKeyboardNavigation.js +11 -2
  114. package/styled-components/es/components/Select/utils/getButtonLabel.js +37 -0
  115. package/styled-components/es/components/Select/utils/index.js +2 -1
  116. package/styled-components/es/examples/plasma_b2c/components/Select/Select.config.js +1 -0
  117. package/styled-components/es/examples/plasma_b2c/components/Select/Select.stories.tsx +22 -50
  118. package/types/components/Chip/Chip.styles.d.ts.map +1 -1
  119. package/types/components/Dropdown/Dropdown.types.d.ts +5 -9
  120. package/types/components/Dropdown/Dropdown.types.d.ts.map +1 -1
  121. package/types/components/Pagination/ui/PaginationSelectPerPage/PaginationSelectPerPage.styles.d.ts +4 -92
  122. package/types/components/Pagination/ui/PaginationSelectPerPage/PaginationSelectPerPage.styles.d.ts.map +1 -1
  123. package/types/components/Select/Select.d.ts +1 -0
  124. package/types/components/Select/Select.d.ts.map +1 -1
  125. package/types/components/Select/Select.types.d.ts +22 -12
  126. package/types/components/Select/Select.types.d.ts.map +1 -1
  127. package/types/components/Select/elements/Inner/Inner.d.ts.map +1 -1
  128. package/types/components/Select/elements/Inner/elements/Item/Item.d.ts.map +1 -1
  129. package/types/components/Select/elements/Inner/elements/Item/Item.types.d.ts +37 -1
  130. package/types/components/Select/elements/Inner/elements/Item/Item.types.d.ts.map +1 -1
  131. package/types/components/Select/elements/Target/Target.d.ts.map +1 -1
  132. package/types/components/Select/elements/Target/Target.types.d.ts +5 -3
  133. package/types/components/Select/elements/Target/Target.types.d.ts.map +1 -1
  134. package/types/components/Select/elements/Target/elements/Button/Button.d.ts.map +1 -1
  135. package/types/components/Select/elements/Target/elements/Button/Button.styles.d.ts +0 -1
  136. package/types/components/Select/elements/Target/elements/Button/Button.styles.d.ts.map +1 -1
  137. package/types/components/Select/elements/Target/elements/Button/Button.types.d.ts +1 -1
  138. package/types/components/Select/elements/Target/elements/Button/Button.types.d.ts.map +1 -1
  139. package/types/components/Select/elements/Target/elements/Textfield/Textfield.d.ts.map +1 -1
  140. package/types/components/Select/elements/Target/elements/Textfield/Textfield.types.d.ts +1 -1
  141. package/types/components/Select/elements/Target/elements/Textfield/Textfield.types.d.ts.map +1 -1
  142. package/types/components/Select/hooks/useKeyboardNavigation.d.ts.map +1 -1
  143. package/types/components/Select/utils/getButtonLabel.d.ts +3 -0
  144. package/types/components/Select/utils/getButtonLabel.d.ts.map +1 -0
  145. package/types/components/Select/utils/index.d.ts +1 -0
  146. package/types/components/Select/utils/index.d.ts.map +1 -1
  147. package/types/examples/plasma_b2c/components/Select/Select.config.d.ts +1 -0
  148. package/types/examples/plasma_b2c/components/Select/Select.config.d.ts.map +1 -1
  149. package/types/examples/plasma_b2c/components/Select/Select.d.ts +4 -92
  150. package/types/examples/plasma_b2c/components/Select/Select.d.ts.map +1 -1
@@ -27,7 +27,6 @@ export var PaginationSelectPerPage = function PaginationSelectPerPage(_ref) {
27
27
  value: num.toString()
28
28
  };
29
29
  });
30
- console.log('listWidth', listWidth);
31
30
  return /*#__PURE__*/React.createElement(SelectPerPageRoot, rest, /*#__PURE__*/React.createElement(SelectPerPageTypography, null, textPerPage), /*#__PURE__*/React.createElement(SelectPerPageSelect, {
32
31
  className: classes.selectWrapper,
33
32
  items: transformedList,
@@ -1,5 +1,4 @@
1
- var _SelectNotFoundConten;
2
- var _excluded = ["value", "onChange", "target", "multiselect", "separator", "items", "label", "labelPlacement", "placeholder", "helperText", "isTargetAmount", "disabled", "view", "size", "isOpen", "listOverflow", "listHeight", "listWidth", "status", "contentLeft", "onScrollBottom", "isInfiniteLoading", "notFoundContent", "chipView", "variant", "portal", "renderTargetLabel"];
1
+ var _excluded = ["value", "onChange", "target", "separator", "items", "placement", "label", "labelPlacement", "placeholder", "helperText", "isTargetAmount", "disabled", "view", "size", "isOpen", "listOverflow", "listHeight", "listWidth", "status", "contentLeft", "onScrollBottom", "isInfiniteLoading", "notFoundContent", "chipView", "variant", "portal", "renderValue"];
3
2
  function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
4
3
  function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
5
4
  function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
@@ -12,6 +11,7 @@ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) r
12
11
  import React, { forwardRef, useState, useReducer, useMemo, createContext, useLayoutEffect } from 'react';
13
12
  import { isEmpty } from '../../utils';
14
13
  import { useOutsideClick } from '../../hooks';
14
+ import { getPlacements } from '../Dropdown/utils';
15
15
  import { useKeyNavigation } from './hooks/useKeyboardNavigation';
16
16
  import { initialItemsTransform, updateAncestors, updateDescendants, updateSingleAncestors, getView } from './utils';
17
17
  import { Inner } from './elements/Inner/Inner';
@@ -33,10 +33,10 @@ export var selectRoot = function selectRoot(Root) {
33
33
  onChange = props.onChange,
34
34
  _props$target = props.target,
35
35
  target = _props$target === void 0 ? 'textfield' : _props$target,
36
- _props$multiselect = props.multiselect,
37
- multiselect = _props$multiselect === void 0 ? false : _props$multiselect,
38
36
  separator = props.separator,
39
37
  items = props.items,
38
+ _props$placement = props.placement,
39
+ placement = _props$placement === void 0 ? 'bottom' : _props$placement,
40
40
  label = props.label,
41
41
  _props$labelPlacement = props.labelPlacement,
42
42
  labelPlacement = _props$labelPlacement === void 0 ? 'outer' : _props$labelPlacement,
@@ -61,8 +61,9 @@ export var selectRoot = function selectRoot(Root) {
61
61
  _props$variant = props.variant,
62
62
  variant = _props$variant === void 0 ? 'normal' : _props$variant,
63
63
  portal = props.portal,
64
- renderTargetLabel = props.renderTargetLabel,
64
+ renderValue = props.renderValue,
65
65
  rest = _objectWithoutProperties(props, _excluded);
66
+ var multiselect = Array.isArray(value);
66
67
  var transformedItems = useMemo(function () {
67
68
  return initialItemsTransform(items);
68
69
  }, [items]);
@@ -226,9 +227,9 @@ export var selectRoot = function selectRoot(Root) {
226
227
  }, /*#__PURE__*/React.createElement(StyledPopover, {
227
228
  ref: targetRef,
228
229
  isOpen: isCurrentListOpen,
230
+ placement: getPlacements(placement),
229
231
  usePortal: Boolean(portal),
230
232
  frame: portal,
231
- placement: "bottom-start",
232
233
  onToggle: handleToggle,
233
234
  trigger: "click",
234
235
  target: /*#__PURE__*/React.createElement(Target, {
@@ -238,6 +239,8 @@ export var selectRoot = function selectRoot(Root) {
238
239
  isTargetAmount: isTargetAmount,
239
240
  multiselect: multiselect,
240
241
  valueToItemMap: valueToItemMap,
242
+ focusedPath: focusedPath,
243
+ focusedToValueMap: focusedToValueMap,
241
244
  onChipClick: handleChipClick,
242
245
  label: label,
243
246
  placeholder: placeholder,
@@ -247,13 +250,15 @@ export var selectRoot = function selectRoot(Root) {
247
250
  size: size,
248
251
  contentLeft: contentLeft,
249
252
  disabled: disabled,
250
- renderTargetLabel: renderTargetLabel
253
+ renderValue: renderValue
251
254
  }),
252
255
  preventOverflow: false,
253
256
  closeOnOverlayClick: true
254
- }, isEmpty(items) ? notFoundContent || _SelectNotFoundConten || (_SelectNotFoundConten = /*#__PURE__*/React.createElement(SelectNotFoundContent, {
255
- description: "\u0414\u043E\u0434\u0435\u043B\u0430\u0442\u044C"
256
- })) : /*#__PURE__*/React.createElement(Ul, {
257
+ }, isEmpty(items) ? notFoundContent || /*#__PURE__*/React.createElement(SelectNotFoundContent, {
258
+ description: "\u0414\u043E\u0434\u0435\u043B\u0430\u0442\u044C",
259
+ buttonAction: function buttonAction() {},
260
+ buttonText: "Label"
261
+ }) : /*#__PURE__*/React.createElement(Ul, {
257
262
  role: "tree",
258
263
  id: "tree_level_1",
259
264
  listHeight: listHeight,
@@ -288,6 +293,7 @@ export var selectConfig = {
288
293
  },
289
294
  defaults: {
290
295
  view: 'default',
296
+ chipView: 'default',
291
297
  size: 'm'
292
298
  }
293
299
  };
@@ -37,7 +37,11 @@ export var Inner = function Inner(_ref) {
37
37
  item: item,
38
38
  path: path,
39
39
  currentLevel: currentLevel,
40
- index: index
40
+ index: index,
41
+ ariaControls: listId,
42
+ ariaExpanded: isCurrentListOpen,
43
+ ariaLevel: nextLevel,
44
+ ariaLabel: item.label
41
45
  }),
42
46
  onToggle: handleToggle,
43
47
  isFocusTrapped: false,
@@ -63,6 +67,7 @@ export var Inner = function Inner(_ref) {
63
67
  item: item,
64
68
  path: path,
65
69
  index: index,
66
- currentLevel: currentLevel
70
+ currentLevel: currentLevel,
71
+ itemRole: "option"
67
72
  });
68
73
  };
@@ -10,9 +10,15 @@ export var Item = function Item(_ref) {
10
10
  var item = _ref.item,
11
11
  path = _ref.path,
12
12
  currentLevel = _ref.currentLevel,
13
- index = _ref.index;
13
+ index = _ref.index,
14
+ ariaControls = _ref.ariaControls,
15
+ ariaExpanded = _ref.ariaExpanded,
16
+ ariaLevel = _ref.ariaLevel,
17
+ ariaLabel = _ref.ariaLabel,
18
+ itemRole = _ref.itemRole;
14
19
  var value = item.value,
15
20
  label = item.label,
21
+ disabled = item.disabled,
16
22
  isDisabled = item.isDisabled,
17
23
  contentLeft = item.contentLeft,
18
24
  contentRight = item.contentRight;
@@ -25,7 +31,7 @@ export var Item = function Item(_ref) {
25
31
  handleCheckboxChange = _useContext.handleCheckboxChange,
26
32
  handleItemClick = _useContext.handleItemClick,
27
33
  variant = _useContext.variant;
28
- var isDisabledClassName = isDisabled ? classes.dropdownItemIsDisabled : undefined;
34
+ var isDisabledClassName = disabled || isDisabled ? classes.dropdownItemIsDisabled : undefined;
29
35
  var focusedClass = currentLevel === focusedPath.length - 1 && index === (focusedPath === null || focusedPath === void 0 ? void 0 : focusedPath[currentLevel]) ? classes.dropdownItemIsFocused : undefined;
30
36
  var activeClass = value === (path === null || path === void 0 ? void 0 : path[currentLevel + 1]) ? classes.dropdownItemIsActive : undefined;
31
37
  useEffect(function () {
@@ -38,12 +44,12 @@ export var Item = function Item(_ref) {
38
44
  }
39
45
  }, [focusedClass]);
40
46
  var handleChange = function handleChange(e) {
41
- if (isDisabled) return;
47
+ if (disabled || isDisabled) return;
42
48
  e.stopPropagation();
43
49
  handleCheckboxChange(item);
44
50
  };
45
51
  var handleClick = function handleClick(e) {
46
- if (isDisabled) return;
52
+ if (disabled || isDisabled) return;
47
53
  handleItemClick(item, e);
48
54
  };
49
55
  return /*#__PURE__*/React.createElement(Wrapper, {
@@ -51,7 +57,12 @@ export var Item = function Item(_ref) {
51
57
  id: value.toString(),
52
58
  ref: ref,
53
59
  onClick: handleClick,
54
- variant: variant
60
+ variant: variant,
61
+ "aria-controls": ariaControls,
62
+ "aria-expanded": ariaExpanded,
63
+ "aria-level": ariaLevel,
64
+ "aria-label": ariaLabel,
65
+ role: itemRole
55
66
  }, /*#__PURE__*/React.createElement(IconWrapper, {
56
67
  variant: variant
57
68
  }, multiselect && /*#__PURE__*/React.createElement("span", {
@@ -17,7 +17,9 @@ export var Target = function Target(_ref) {
17
17
  size = _ref.size,
18
18
  contentLeft = _ref.contentLeft,
19
19
  disabled = _ref.disabled,
20
- renderTargetLabel = _ref.renderTargetLabel;
20
+ renderValue = _ref.renderValue,
21
+ focusedPath = _ref.focusedPath,
22
+ focusedToValueMap = _ref.focusedToValueMap;
21
23
  return target === 'button' ? /*#__PURE__*/React.createElement(Button, {
22
24
  opened: opened,
23
25
  value: value,
@@ -28,7 +30,9 @@ export var Target = function Target(_ref) {
28
30
  label: label,
29
31
  size: size,
30
32
  disabled: disabled,
31
- renderTargetLabel: renderTargetLabel
33
+ renderValue: renderValue,
34
+ focusedPath: focusedPath,
35
+ focusedToValueMap: focusedToValueMap
32
36
  }) : /*#__PURE__*/React.createElement(Textfield, {
33
37
  opened: opened,
34
38
  value: value,
@@ -44,6 +48,8 @@ export var Target = function Target(_ref) {
44
48
  size: size,
45
49
  contentLeft: contentLeft,
46
50
  disabled: disabled,
47
- renderTargetLabel: renderTargetLabel
51
+ renderValue: renderValue,
52
+ focusedPath: focusedPath,
53
+ focusedToValueMap: focusedToValueMap
48
54
  });
49
55
  };
@@ -1,38 +1,30 @@
1
1
  import React from 'react';
2
- import { cx, isEmpty } from '../../../../../../utils';
2
+ import { cx } from '../../../../../../utils';
3
3
  import { classes } from '../../../../Select.tokens';
4
- import { StyledButton, StyledArrow, InnerWrapper, Label, ButtonWrapper, IconArrowWrapper } from './Button.styles';
5
- var getLabel = function getLabel(_ref) {
6
- var value = _ref.value,
7
- label = _ref.label,
4
+ import { getButtonLabel } from '../../../../utils';
5
+ import { StyledButton, StyledArrow, Label, ButtonWrapper, IconArrowWrapper } from './Button.styles';
6
+ export var Button = function Button(_ref) {
7
+ var opened = _ref.opened,
8
+ value = _ref.value,
8
9
  isTargetAmount = _ref.isTargetAmount,
9
10
  multiselect = _ref.multiselect,
10
- valueToItemMap = _ref.valueToItemMap;
11
- if (isEmpty(value)) {
12
- return label;
13
- }
14
- if (multiselect && isTargetAmount) {
15
- return "\u0412\u044B\u0431\u0440\u0430\u043D\u043E: ".concat(value.length);
16
- }
17
- if (multiselect && Array.isArray(value)) {
18
- return value.map(function (value) {
19
- return valueToItemMap.get(value).label;
20
- }).join(', ');
21
- }
22
- return valueToItemMap.get(value.toString()).label;
23
- };
24
- export var Button = function Button(_ref2) {
25
- var opened = _ref2.opened,
26
- value = _ref2.value,
27
- isTargetAmount = _ref2.isTargetAmount,
28
- multiselect = _ref2.multiselect,
29
- valueToItemMap = _ref2.valueToItemMap,
30
- onKeyDown = _ref2.onKeyDown,
31
- label = _ref2.label,
32
- size = _ref2.size,
33
- disabled = _ref2.disabled;
11
+ valueToItemMap = _ref.valueToItemMap,
12
+ onKeyDown = _ref.onKeyDown,
13
+ label = _ref.label,
14
+ size = _ref.size,
15
+ disabled = _ref.disabled,
16
+ renderValue = _ref.renderValue,
17
+ focusedPath = _ref.focusedPath,
18
+ focusedToValueMap = _ref.focusedToValueMap;
34
19
  var withArrowInverse = opened ? classes.arrowInverse : undefined;
35
20
  var iconSize = size === 'xs' ? 'xs' : 's';
21
+ var getActiveDescendant = function getActiveDescendant() {
22
+ var _focusedToValueMap$ge;
23
+ var focusedPathAsString = focusedPath.reduce(function (acc, n) {
24
+ return "".concat(acc, "/").concat(n);
25
+ }, '').replace(/^(\/)/, '');
26
+ return focusedToValueMap === null || focusedToValueMap === void 0 || (_focusedToValueMap$ge = focusedToValueMap.get(focusedPathAsString)) === null || _focusedToValueMap$ge === void 0 ? void 0 : _focusedToValueMap$ge.value.toString();
27
+ };
36
28
  return /*#__PURE__*/React.createElement(ButtonWrapper, null, /*#__PURE__*/React.createElement(StyledButton, {
37
29
  stretching: "filled",
38
30
  onKeyDown: onKeyDown,
@@ -42,12 +34,17 @@ export var Button = function Button(_ref2) {
42
34
  size: iconSize,
43
35
  color: "inherit",
44
36
  className: cx(classes.selectTargetArrow, withArrowInverse)
45
- }))
46
- }, /*#__PURE__*/React.createElement(InnerWrapper, null, /*#__PURE__*/React.createElement(Label, null, getLabel({
37
+ })),
38
+ role: "combobox",
39
+ "aria-controls": "tree_level_1",
40
+ "aria-expanded": opened,
41
+ "aria-activedescendant": getActiveDescendant()
42
+ }, /*#__PURE__*/React.createElement(Label, null, getButtonLabel({
47
43
  value: value,
48
44
  isTargetAmount: isTargetAmount,
49
45
  multiselect: multiselect,
50
46
  valueToItemMap: valueToItemMap,
51
- label: label
52
- })))));
47
+ label: label,
48
+ renderValue: renderValue
49
+ }))));
53
50
  };
@@ -18,9 +18,6 @@ export var StyledArrow = /*#__PURE__*/styled(IconDisclosureDownCentered).withCon
18
18
  export var ButtonWrapper = /*#__PURE__*/styled.div.withConfig({
19
19
  componentId: "plasma-new-hope__sc-m19uar-3"
20
20
  })(["display:inline;.", "::before{box-shadow:none !important;}"], classes.selectWithoutBoxShadow);
21
- export var InnerWrapper = /*#__PURE__*/styled.div.withConfig({
22
- componentId: "plasma-new-hope__sc-m19uar-4"
23
- })(["width:100%;height:100%;display:flex;align-items:center;justify-content:space-between;.", "{transform:rotate(-180deg);}"], classes.arrowInverse);
24
21
  export var Label = /*#__PURE__*/styled.div.withConfig({
25
- componentId: "plasma-new-hope__sc-m19uar-5"
26
- })(["width:100%;text-align:left;", ""], /*#__PURE__*/applyEllipsis());
22
+ componentId: "plasma-new-hope__sc-m19uar-4"
23
+ })(["display:inline;width:100%;text-align:left;", " .", "{transform:rotate(-180deg);}"], /*#__PURE__*/applyEllipsis(), classes.arrowInverse);
@@ -12,7 +12,8 @@ var getLabel = function getLabel(_ref) {
12
12
  placeholder = _ref.placeholder,
13
13
  focusedChipIndex = _ref.focusedChipIndex,
14
14
  labelPlacement = _ref.labelPlacement,
15
- size = _ref.size;
15
+ size = _ref.size,
16
+ renderValue = _ref.renderValue;
16
17
  if (isEmpty(value)) {
17
18
  if (!label || labelPlacement === 'outer') {
18
19
  return /*#__PURE__*/React.createElement(Placeholder, null, placeholder);
@@ -27,8 +28,9 @@ var getLabel = function getLabel(_ref) {
27
28
  }
28
29
  if (Array.isArray(value)) {
29
30
  return value.map(function (currentValue, index) {
31
+ var itemLabel = valueToItemMap.get(currentValue).label;
30
32
  return /*#__PURE__*/React.createElement(Chip, {
31
- text: valueToItemMap.get(currentValue).label,
33
+ text: renderValue ? renderValue(currentValue, itemLabel) : itemLabel,
32
34
  onClick: function onClick(e) {
33
35
  e.stopPropagation();
34
36
  onChipClick(currentValue);
@@ -37,10 +39,11 @@ var getLabel = function getLabel(_ref) {
37
39
  });
38
40
  });
39
41
  }
42
+ var itemLabel = valueToItemMap.get(value).label;
40
43
  if (!label || labelPlacement === 'outer') {
41
- return /*#__PURE__*/React.createElement(Value, null, valueToItemMap.get(value).label);
44
+ return /*#__PURE__*/React.createElement(Value, null, renderValue ? renderValue(value, itemLabel) : itemLabel);
42
45
  }
43
- return /*#__PURE__*/React.createElement(InnerLabelWrapper, null, size !== 'xs' && /*#__PURE__*/React.createElement(InnerLabel, null, label), /*#__PURE__*/React.createElement(Value, null, valueToItemMap.get(value).label));
46
+ return /*#__PURE__*/React.createElement(InnerLabelWrapper, null, size !== 'xs' && /*#__PURE__*/React.createElement(InnerLabel, null, label), /*#__PURE__*/React.createElement(Value, null, renderValue ? renderValue(value, itemLabel) : itemLabel));
44
47
  };
45
48
  export var Textfield = function Textfield(_ref2) {
46
49
  var opened = _ref2.opened,
@@ -56,9 +59,19 @@ export var Textfield = function Textfield(_ref2) {
56
59
  labelPlacement = _ref2.labelPlacement,
57
60
  size = _ref2.size,
58
61
  contentLeft = _ref2.contentLeft,
59
- disabled = _ref2.disabled;
62
+ disabled = _ref2.disabled,
63
+ renderValue = _ref2.renderValue,
64
+ focusedPath = _ref2.focusedPath,
65
+ focusedToValueMap = _ref2.focusedToValueMap;
60
66
  var withArrowInverse = opened ? classes.arrowInverse : undefined;
61
67
  var iconSize = size === 'xs' ? 'xs' : 's';
68
+ var getActiveDescendant = function getActiveDescendant() {
69
+ var _focusedToValueMap$ge;
70
+ var focusedPathAsString = focusedPath.reduce(function (acc, n) {
71
+ return "".concat(acc, "/").concat(n);
72
+ }, '').replace(/^(\/)/, '');
73
+ return focusedToValueMap === null || focusedToValueMap === void 0 || (_focusedToValueMap$ge = focusedToValueMap.get(focusedPathAsString)) === null || _focusedToValueMap$ge === void 0 ? void 0 : _focusedToValueMap$ge.value.toString();
74
+ };
62
75
  return /*#__PURE__*/React.createElement(TextfieldWrapper, {
63
76
  opened: opened,
64
77
  value: value
@@ -66,7 +79,11 @@ export var Textfield = function Textfield(_ref2) {
66
79
  stretching: "filled",
67
80
  className: cx(classes.textfieldTarget, opened || focusedChipIndex !== null ? classes.selectWithoutBoxShadow : undefined),
68
81
  onKeyDown: onKeyDown,
69
- disabled: disabled
82
+ disabled: disabled,
83
+ role: "combobox",
84
+ "aria-controls": "tree_level_1",
85
+ "aria-expanded": opened,
86
+ "aria-activedescendant": getActiveDescendant()
70
87
  }, /*#__PURE__*/React.createElement(Wrapper, null, contentLeft && (!multiselect || isEmpty(value)) && /*#__PURE__*/React.createElement(ContentLeftWrapper, null, contentLeft), /*#__PURE__*/React.createElement(ChipWrapper, null, getLabel({
71
88
  value: value,
72
89
  isTargetAmount: isTargetAmount,
@@ -76,7 +93,8 @@ export var Textfield = function Textfield(_ref2) {
76
93
  placeholder: placeholder,
77
94
  focusedChipIndex: focusedChipIndex,
78
95
  labelPlacement: labelPlacement,
79
- size: size
96
+ size: size,
97
+ renderValue: renderValue
80
98
  })), /*#__PURE__*/React.createElement(IconArrowWrapper, null, /*#__PURE__*/React.createElement(StyledArrow, {
81
99
  size: iconSize,
82
100
  color: "inherit",
@@ -160,7 +160,16 @@ export var useKeyNavigation = function useKeyNavigation(_ref) {
160
160
  {
161
161
  event.preventDefault();
162
162
  var _currentItem2 = getFurtherPath(focusedPath, focusedToValueMap);
163
- if (!_currentItem2 || _currentItem2 !== null && _currentItem2 !== void 0 && _currentItem2.isDisabled) {
163
+ if (!path[0]) {
164
+ dispatchPath({
165
+ type: 'opened_first_level'
166
+ });
167
+ dispatchFocusedPath({
168
+ type: 'set_initial_focus'
169
+ });
170
+ break;
171
+ }
172
+ if (!_currentItem2 || _currentItem2 !== null && _currentItem2 !== void 0 && _currentItem2.isDisabled || _currentItem2 !== null && _currentItem2 !== void 0 && _currentItem2.disabled) {
164
173
  break;
165
174
  }
166
175
  handlePressDown(_currentItem2);
@@ -175,7 +184,7 @@ export var useKeyNavigation = function useKeyNavigation(_ref) {
175
184
  });
176
185
  }
177
186
  var _currentItem3 = getFurtherPath(focusedPath, focusedToValueMap);
178
- if (_currentItem3 !== null && _currentItem3 !== void 0 && _currentItem3.isDisabled) {
187
+ if (_currentItem3 !== null && _currentItem3 !== void 0 && _currentItem3.isDisabled || _currentItem3 !== null && _currentItem3 !== void 0 && _currentItem3.disabled) {
179
188
  break;
180
189
  }
181
190
  if (!path[0]) {
@@ -0,0 +1,37 @@
1
+ import { isEmpty } from '../../../utils';
2
+ var getLabel = function getLabel(_ref) {
3
+ var renderValue = _ref.renderValue,
4
+ value = _ref.value,
5
+ valueToItemMap = _ref.valueToItemMap;
6
+ var _ref2 = valueToItemMap.get(value.toString()),
7
+ label = _ref2.label;
8
+ return renderValue ? renderValue(value, label) : label;
9
+ };
10
+ export var getButtonLabel = function getButtonLabel(_ref3) {
11
+ var value = _ref3.value,
12
+ label = _ref3.label,
13
+ isTargetAmount = _ref3.isTargetAmount,
14
+ multiselect = _ref3.multiselect,
15
+ valueToItemMap = _ref3.valueToItemMap,
16
+ renderValue = _ref3.renderValue;
17
+ if (isEmpty(value)) {
18
+ return label;
19
+ }
20
+ if (multiselect && isTargetAmount) {
21
+ return "\u0412\u044B\u0431\u0440\u0430\u043D\u043E: ".concat(value.length);
22
+ }
23
+ if (multiselect && Array.isArray(value)) {
24
+ return value.map(function (itemValue) {
25
+ return getLabel({
26
+ renderValue: renderValue,
27
+ value: itemValue,
28
+ valueToItemMap: valueToItemMap
29
+ });
30
+ }).join(', ');
31
+ }
32
+ return getLabel({
33
+ renderValue: renderValue,
34
+ value: value,
35
+ valueToItemMap: valueToItemMap
36
+ });
37
+ };
@@ -4,4 +4,5 @@ export { updateAncestors } from './updateAncestors';
4
4
  export { updateSingleAncestors } from './updateSingleAncestors';
5
5
  export { sizeToIconSize } from './sizeToIconSize';
6
6
  export { getCorrectHeight } from './getCorrectHeight';
7
- export { getView } from './getView';
7
+ export { getView } from './getView';
8
+ export { getButtonLabel } from './getButtonLabel';
@@ -3,6 +3,7 @@ import { selectTokens } from '../../../../components/Select';
3
3
  export var config = {
4
4
  defaults: {
5
5
  view: 'default',
6
+ chipView: 'default',
6
7
  size: 'm'
7
8
  },
8
9
  variations: {
@@ -290,41 +290,14 @@ const items = [
290
290
  isDisabled: true,
291
291
  },
292
292
  ];
293
- const loadingItems = [
294
- { value: '1', label: 'Item 1' },
295
- { value: '2', label: 'Item 2' },
296
- { value: '3', label: 'Item 3' },
297
- { value: '4', label: 'Item 4' },
298
- { value: '5', label: 'Item 5' },
299
- { value: '6', label: 'Item 6' },
300
- { value: '7', label: 'Item 7' },
301
- { value: '8', label: 'Item 8' },
302
- { value: '9', label: 'Item 9' },
303
- { value: '10', label: 'Item 10' },
304
- ];
305
293
 
306
294
  const SingleStory = (args: StorySelectProps) => {
307
295
  const [value, setValue] = useState('');
308
296
 
309
- const iconSize = args.size === 'xs' ? 'xs' : 's';
310
-
311
297
  return (
312
- <>
313
- <button type="button" onClick={() => setValue('')}>
314
- clear
315
- </button>
316
-
317
- <div style={{ width: '300px' }}>
318
- <Select
319
- {...args}
320
- multiselect={false}
321
- items={items}
322
- value={value}
323
- onChange={setValue}
324
- contentLeft={<IconPlaceholder size={iconSize} />}
325
- />
326
- </div>
327
- </>
298
+ <div style={{ width: '300px' }}>
299
+ <Select {...args} items={items} value={value} onChange={setValue} />
300
+ </div>
328
301
  );
329
302
  };
330
303
 
@@ -335,25 +308,10 @@ export const Single: StoryObj<StorySelectProps> = {
335
308
  const MultiselectStory = (args: StorySelectProps) => {
336
309
  const [value, setValue] = useState<Array<string>>([]);
337
310
 
338
- const iconSize = args.size === 'xs' ? 'xs' : 's';
339
-
340
311
  return (
341
- <>
342
- <button type="button" onClick={() => setValue([])}>
343
- clear
344
- </button>
345
-
346
- <div style={{ width: '300px' }}>
347
- <Select
348
- {...args}
349
- multiselect
350
- items={items}
351
- value={value}
352
- onChange={setValue}
353
- contentLeft={<IconPlaceholder size={iconSize} />}
354
- />
355
- </div>
356
- </>
312
+ <div style={{ width: '300px' }}>
313
+ <Select {...args} items={items} value={value} onChange={setValue} />
314
+ </div>
357
315
  );
358
316
  };
359
317
 
@@ -380,6 +338,20 @@ export const Predefined: StoryObj<StorySelectProps> = {
380
338
  render: (args) => <PredefinedStory {...args} />,
381
339
  };
382
340
 
341
+ const EmptyListStory = (args: StorySelectProps) => {
342
+ const [valueSingle, setValueSingle] = useState('');
343
+
344
+ return (
345
+ <div style={{ width: '300px' }}>
346
+ <Select {...args} items={[]} value={valueSingle} onChange={setValueSingle} />
347
+ </div>
348
+ );
349
+ };
350
+
351
+ export const EmptyList: StoryObj<StorySelectProps> = {
352
+ render: (args) => <EmptyListStory {...args} />,
353
+ };
354
+
383
355
  const CommonStory = (args: StorySelectProps) => {
384
356
  const [value, setValue] = useState('');
385
357
  const [valueMultiple, setValueMultiple] = useState<Array<string>>([]);
@@ -517,7 +489,7 @@ const CommonStory = (args: StorySelectProps) => {
517
489
  <td>Clear</td>
518
490
 
519
491
  <td>
520
- <div style={{ display: 'flex' }}>
492
+ <div style={{ width: '200px' }}>
521
493
  <Select
522
494
  {...args}
523
495
  multiselect={false}
@@ -529,7 +501,7 @@ const CommonStory = (args: StorySelectProps) => {
529
501
  </div>
530
502
  </td>
531
503
  <td>
532
- <div style={{ display: 'flex' }}>
504
+ <div style={{ width: '200px' }}>
533
505
  <Select
534
506
  {...args}
535
507
  multiselect
@@ -1 +1 @@
1
- {"version":3,"file":"Chip.styles.d.ts","sourceRoot":"","sources":["../../../src/components/Chip/Chip.styles.ts"],"names":[],"mappings":";AAOA,eAAO,MAAM,IAAI,0CAUhB,CAAC;AAEF,eAAO,MAAM,iBAAiB,qKAI7B,CAAC;AAEF,eAAO,MAAM,iBAAiB,qKAE7B,CAAC;AAEF,eAAO,MAAM,kBAAkB,qKAI9B,CAAC;AAEF,eAAO,MAAM,kBAAkB,qKAS9B,CAAC"}
1
+ {"version":3,"file":"Chip.styles.d.ts","sourceRoot":"","sources":["../../../src/components/Chip/Chip.styles.ts"],"names":[],"mappings":";AAOA,eAAO,MAAM,IAAI,0CAUhB,CAAC;AAEF,eAAO,MAAM,iBAAiB,qKAI7B,CAAC;AAEF,eAAO,MAAM,iBAAiB,qKAE7B,CAAC;AAEF,eAAO,MAAM,kBAAkB,qKAI9B,CAAC;AAEF,eAAO,MAAM,kBAAkB,qKAK9B,CAAC"}
@@ -71,25 +71,21 @@ export interface DropdownProps extends HTMLAttributes<HTMLDivElement> {
71
71
  * @default normal
72
72
  */
73
73
  variant?: 'normal' | 'tight';
74
- /**
75
- * Обработчик клика по item.
76
- * @deprecated использовать onItemSelect.
77
- */
78
- onItemClick?: (item: DropdownItemOption, event: SyntheticEvent) => void;
79
74
  /**
80
75
  * Значение css overflow для выпадающего меню.
81
- * @default initial
82
- * @deprecated
83
76
  * @example listOverflow="scroll"
84
77
  */
85
78
  listOverflow?: CSSProperties['overflow'];
86
79
  /**
87
80
  * Значение css height для выпадающего меню.
88
- * @default initial
89
- * @deprecated
90
81
  * @example listHeight="11", listHeight="auto", listHeight={11}
91
82
  */
92
83
  listHeight?: number | CSSProperties['height'];
84
+ /**
85
+ * Обработчик клика по item.
86
+ * @deprecated использовать onItemSelect.
87
+ */
88
+ onItemClick?: (item: DropdownItemOption, event: SyntheticEvent) => void;
93
89
  /**
94
90
  * Индекс элемента при наведении
95
91
  * @deprecated использовать onHover
@@ -1 +1 @@
1
- {"version":3,"file":"Dropdown.types.d.ts","sourceRoot":"","sources":["../../../src/components/Dropdown/Dropdown.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAEtF,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AAEzE,oBAAY,sBAAsB,GAAG,KAAK,GAAG,QAAQ,GAAG,OAAO,GAAG,MAAM,CAAC;AACzE,oBAAY,iBAAiB,GAAG,sBAAsB,GAAG,MAAM,CAAC;AAEhE,oBAAY,eAAe,GAAG,OAAO,GAAG,OAAO,CAAC;AAEhD,MAAM,WAAW,aAAc,SAAQ,cAAc,CAAC,cAAc,CAAC;IACjE;;OAEG;IACH,KAAK,EAAE,KAAK,CAAC,kBAAkB,CAAC,CAAC;IACjC;;OAEG;IACH,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;OAEG;IACH,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC;;OAEG;IACH,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,kBAAkB,EAAE,KAAK,EAAE,cAAc,KAAK,IAAI,CAAC;IACzE;;;OAGG;IACH,OAAO,CAAC,EAAE,eAAe,CAAC;IAC1B;;;OAGG;IACH,SAAS,CAAC,EAAE,iBAAiB,GAAG,KAAK,CAAC,sBAAsB,CAAC,CAAC;IAC9D;;;OAGG;IACH,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC1B;;;OAGG;IACH,SAAS,CAAC,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC;IACnC;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;;OAGG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B;;OAEG;IACH,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,cAAc,GAAG,KAAK,KAAK,IAAI,CAAC;IACpE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,OAAO,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC;IAC7B;;;OAGG;IACH,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,kBAAkB,EAAE,KAAK,EAAE,cAAc,KAAK,IAAI,CAAC;IACxE;;;;;OAKG;IACH,YAAY,CAAC,EAAE,aAAa,CAAC,UAAU,CAAC,CAAC;IACzC;;;;;OAKG;IACH,UAAU,CAAC,EAAE,MAAM,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;IAC9C;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,oBAAY,sBAAsB,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,GAAG,cAAc,CAAC,OAAO,EAAE,KAAK,CAAC,KAAK,IAAI,CAAC"}
1
+ {"version":3,"file":"Dropdown.types.d.ts","sourceRoot":"","sources":["../../../src/components/Dropdown/Dropdown.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAEtF,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AAEzE,oBAAY,sBAAsB,GAAG,KAAK,GAAG,QAAQ,GAAG,OAAO,GAAG,MAAM,CAAC;AACzE,oBAAY,iBAAiB,GAAG,sBAAsB,GAAG,MAAM,CAAC;AAEhE,oBAAY,eAAe,GAAG,OAAO,GAAG,OAAO,CAAC;AAEhD,MAAM,WAAW,aAAc,SAAQ,cAAc,CAAC,cAAc,CAAC;IACjE;;OAEG;IACH,KAAK,EAAE,KAAK,CAAC,kBAAkB,CAAC,CAAC;IACjC;;OAEG;IACH,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;OAEG;IACH,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC;;OAEG;IACH,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,kBAAkB,EAAE,KAAK,EAAE,cAAc,KAAK,IAAI,CAAC;IACzE;;;OAGG;IACH,OAAO,CAAC,EAAE,eAAe,CAAC;IAC1B;;;OAGG;IACH,SAAS,CAAC,EAAE,iBAAiB,GAAG,KAAK,CAAC,sBAAsB,CAAC,CAAC;IAC9D;;;OAGG;IACH,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC1B;;;OAGG;IACH,SAAS,CAAC,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC;IACnC;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;;OAGG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B;;OAEG;IACH,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,cAAc,GAAG,KAAK,KAAK,IAAI,CAAC;IACpE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,OAAO,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC;IAC7B;;;OAGG;IACH,YAAY,CAAC,EAAE,aAAa,CAAC,UAAU,CAAC,CAAC;IACzC;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;IAE9C;;;OAGG;IACH,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,kBAAkB,EAAE,KAAK,EAAE,cAAc,KAAK,IAAI,CAAC;IACxE;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,oBAAY,sBAAsB,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,GAAG,cAAc,CAAC,OAAO,EAAE,KAAK,CAAC,KAAK,IAAI,CAAC"}