@salutejs/plasma-new-hope 0.335.1-canary.2207.17463055710.0 → 0.335.1-canary.2221.17598384980.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (236) hide show
  1. package/cjs/components/Combobox/ComboboxNew/Combobox.css +6 -6
  2. package/cjs/components/Combobox/ComboboxNew/Combobox.js +30 -24
  3. package/cjs/components/Combobox/ComboboxNew/Combobox.js.map +1 -1
  4. package/cjs/components/Combobox/ComboboxNew/Combobox.styles.js +3 -4
  5. package/cjs/components/Combobox/ComboboxNew/Combobox.styles.js.map +1 -1
  6. package/cjs/components/Combobox/ComboboxNew/{Combobox.styles_isfa46.css → Combobox.styles_261unw.css} +1 -1
  7. package/cjs/components/Combobox/ComboboxNew/Combobox.tokens.js +1 -1
  8. package/cjs/components/Combobox/ComboboxNew/Combobox.tokens.js.map +1 -1
  9. package/cjs/components/Combobox/ComboboxNew/hooks/useKeyboardNavigation.js +3 -7
  10. package/cjs/components/Combobox/ComboboxNew/hooks/useKeyboardNavigation.js.map +1 -1
  11. package/cjs/components/Combobox/ComboboxNew/ui/Inner/Inner.css +6 -6
  12. package/cjs/components/Combobox/ComboboxNew/ui/Inner/Inner.js +11 -5
  13. package/cjs/components/Combobox/ComboboxNew/ui/Inner/Inner.js.map +1 -1
  14. package/cjs/components/Combobox/ComboboxOld/Combobox.css +2 -2
  15. package/cjs/components/Combobox/ComboboxOld/ui/ComboboxDivider/ComboboxDivider.css +2 -2
  16. package/cjs/components/Combobox/ComboboxOld/ui/ComboboxFooter/ComboboxFooter.css +2 -2
  17. package/cjs/components/Combobox/ComboboxOld/ui/ComboboxGroup/ComboboxGroup.css +2 -2
  18. package/cjs/components/Combobox/ComboboxOld/ui/ComboboxHeader/ComboboxHeader.css +2 -2
  19. package/cjs/components/Drawer/hooks/useDrawer.js +12 -0
  20. package/cjs/components/Drawer/hooks/useDrawer.js.map +1 -1
  21. package/cjs/components/Dropdown/Dropdown.css +2 -2
  22. package/cjs/components/Dropdown/Dropdown.js +6 -10
  23. package/cjs/components/Dropdown/Dropdown.js.map +1 -1
  24. package/cjs/components/Dropdown/Dropdown.styles.js +2 -9
  25. package/cjs/components/Dropdown/Dropdown.styles.js.map +1 -1
  26. package/{es/components/Dropdown/Dropdown.styles_zheit5.css → cjs/components/Dropdown/Dropdown.styles_kkvnr1.css} +1 -1
  27. package/cjs/components/Dropdown/FloatingPopover.js +22 -40
  28. package/cjs/components/Dropdown/FloatingPopover.js.map +1 -1
  29. package/cjs/components/Dropdown/hooks/useKeyboardNavigation.js +3 -7
  30. package/cjs/components/Dropdown/hooks/useKeyboardNavigation.js.map +1 -1
  31. package/cjs/components/Dropdown/ui/DropdownInner/DropdownInner.css +2 -2
  32. package/cjs/components/Dropdown/ui/DropdownInner/DropdownInner.js +9 -9
  33. package/cjs/components/Dropdown/ui/DropdownInner/DropdownInner.js.map +1 -1
  34. package/cjs/components/Dropdown/ui/DropdownItem/DropdownItem.js +1 -1
  35. package/cjs/components/Dropdown/ui/DropdownItem/DropdownItem.js.map +1 -1
  36. package/cjs/components/Pagination/Pagination.css +2 -2
  37. package/cjs/components/Pagination/Pagination.js +2 -1
  38. package/cjs/components/Pagination/Pagination.js.map +1 -1
  39. package/cjs/components/Pagination/ui/PaginationSelectPerPage/PaginationSelectPerPage.css +2 -2
  40. package/cjs/components/Select/Select.css +2 -2
  41. package/cjs/components/Select/Select.js +12 -4
  42. package/cjs/components/Select/Select.js.map +1 -1
  43. package/cjs/components/Select/Select.styles.js +3 -4
  44. package/cjs/components/Select/Select.styles.js.map +1 -1
  45. package/cjs/components/Select/{Select.styles_bjoo18.css → Select.styles_dta4dl.css} +1 -1
  46. package/cjs/components/Select/hooks/useKeyboardNavigation.js +3 -7
  47. package/cjs/components/Select/hooks/useKeyboardNavigation.js.map +1 -1
  48. package/cjs/components/Select/ui/Inner/Inner.css +2 -2
  49. package/cjs/components/Select/ui/Inner/Inner.js +11 -5
  50. package/cjs/components/Select/ui/Inner/Inner.js.map +1 -1
  51. package/cjs/components/Table/Table.css +2 -2
  52. package/cjs/components/Table/ui/Cell/Cell.css +2 -2
  53. package/cjs/components/Table/ui/EditableCell/EditableCell.css +2 -2
  54. package/cjs/components/Table/ui/HeadCell/HeadCell.css +2 -2
  55. package/cjs/components/Table/ui/HeadCell/ui/Filter/Filter.css +2 -2
  56. package/cjs/index.css +10 -10
  57. package/emotion/cjs/components/Combobox/ComboboxNew/Combobox.js +26 -23
  58. package/emotion/cjs/components/Combobox/ComboboxNew/Combobox.styles.js +16 -16
  59. package/emotion/cjs/components/Combobox/ComboboxNew/Combobox.tokens.js +1 -1
  60. package/emotion/cjs/components/Combobox/ComboboxNew/hooks/useKeyboardNavigation.js +3 -7
  61. package/emotion/cjs/components/Combobox/ComboboxNew/ui/Inner/Inner.js +50 -9
  62. package/emotion/cjs/components/Drawer/hooks/useDrawer.js +11 -0
  63. package/emotion/cjs/components/Dropdown/Dropdown.js +6 -10
  64. package/emotion/cjs/components/Dropdown/Dropdown.styles.js +5 -8
  65. package/emotion/cjs/components/Dropdown/FloatingPopover.js +23 -47
  66. package/emotion/cjs/components/Dropdown/hooks/useKeyboardNavigation.js +3 -7
  67. package/emotion/cjs/components/Dropdown/ui/DropdownInner/DropdownInner.js +48 -11
  68. package/emotion/cjs/components/Dropdown/ui/DropdownItem/DropdownItem.js +1 -1
  69. package/emotion/cjs/components/Pagination/Pagination.js +1 -1
  70. package/emotion/cjs/components/Select/Select.js +10 -3
  71. package/emotion/cjs/components/Select/Select.styles.js +8 -8
  72. package/emotion/cjs/components/Select/hooks/useKeyboardNavigation.js +3 -7
  73. package/emotion/cjs/components/Select/ui/Inner/Inner.js +50 -9
  74. package/emotion/cjs/examples/components/Combobox/Combobox.js +15 -0
  75. package/emotion/es/components/Combobox/ComboboxNew/Combobox.js +26 -23
  76. package/emotion/es/components/Combobox/ComboboxNew/Combobox.styles.js +16 -16
  77. package/emotion/es/components/Combobox/ComboboxNew/Combobox.tokens.js +1 -1
  78. package/emotion/es/components/Combobox/ComboboxNew/hooks/useKeyboardNavigation.js +3 -7
  79. package/emotion/es/components/Combobox/ComboboxNew/ui/Inner/Inner.js +11 -6
  80. package/emotion/es/components/Drawer/hooks/useDrawer.js +11 -0
  81. package/emotion/es/components/Dropdown/Dropdown.js +6 -10
  82. package/emotion/es/components/Dropdown/Dropdown.styles.js +5 -8
  83. package/emotion/es/components/Dropdown/FloatingPopover.js +24 -48
  84. package/emotion/es/components/Dropdown/hooks/useKeyboardNavigation.js +3 -7
  85. package/emotion/es/components/Dropdown/ui/DropdownInner/DropdownInner.js +9 -8
  86. package/emotion/es/components/Dropdown/ui/DropdownItem/DropdownItem.js +1 -1
  87. package/emotion/es/components/Pagination/Pagination.js +1 -1
  88. package/emotion/es/components/Select/Select.js +10 -3
  89. package/emotion/es/components/Select/Select.styles.js +8 -8
  90. package/emotion/es/components/Select/hooks/useKeyboardNavigation.js +3 -7
  91. package/emotion/es/components/Select/ui/Inner/Inner.js +11 -6
  92. package/es/components/Combobox/ComboboxNew/Combobox.css +6 -6
  93. package/es/components/Combobox/ComboboxNew/Combobox.js +30 -24
  94. package/es/components/Combobox/ComboboxNew/Combobox.js.map +1 -1
  95. package/es/components/Combobox/ComboboxNew/Combobox.styles.js +3 -4
  96. package/es/components/Combobox/ComboboxNew/Combobox.styles.js.map +1 -1
  97. package/es/components/Combobox/ComboboxNew/{Combobox.styles_isfa46.css → Combobox.styles_261unw.css} +1 -1
  98. package/es/components/Combobox/ComboboxNew/Combobox.tokens.js +1 -1
  99. package/es/components/Combobox/ComboboxNew/Combobox.tokens.js.map +1 -1
  100. package/es/components/Combobox/ComboboxNew/hooks/useKeyboardNavigation.js +3 -7
  101. package/es/components/Combobox/ComboboxNew/hooks/useKeyboardNavigation.js.map +1 -1
  102. package/es/components/Combobox/ComboboxNew/ui/Inner/Inner.css +6 -6
  103. package/es/components/Combobox/ComboboxNew/ui/Inner/Inner.js +12 -6
  104. package/es/components/Combobox/ComboboxNew/ui/Inner/Inner.js.map +1 -1
  105. package/es/components/Combobox/ComboboxOld/Combobox.css +2 -2
  106. package/es/components/Combobox/ComboboxOld/ui/ComboboxDivider/ComboboxDivider.css +2 -2
  107. package/es/components/Combobox/ComboboxOld/ui/ComboboxFooter/ComboboxFooter.css +2 -2
  108. package/es/components/Combobox/ComboboxOld/ui/ComboboxGroup/ComboboxGroup.css +2 -2
  109. package/es/components/Combobox/ComboboxOld/ui/ComboboxHeader/ComboboxHeader.css +2 -2
  110. package/es/components/Drawer/hooks/useDrawer.js +12 -0
  111. package/es/components/Drawer/hooks/useDrawer.js.map +1 -1
  112. package/es/components/Dropdown/Dropdown.css +2 -2
  113. package/es/components/Dropdown/Dropdown.js +6 -10
  114. package/es/components/Dropdown/Dropdown.js.map +1 -1
  115. package/es/components/Dropdown/Dropdown.styles.js +2 -9
  116. package/es/components/Dropdown/Dropdown.styles.js.map +1 -1
  117. package/{cjs/components/Dropdown/Dropdown.styles_zheit5.css → es/components/Dropdown/Dropdown.styles_kkvnr1.css} +1 -1
  118. package/es/components/Dropdown/FloatingPopover.js +24 -42
  119. package/es/components/Dropdown/FloatingPopover.js.map +1 -1
  120. package/es/components/Dropdown/hooks/useKeyboardNavigation.js +3 -7
  121. package/es/components/Dropdown/hooks/useKeyboardNavigation.js.map +1 -1
  122. package/es/components/Dropdown/ui/DropdownInner/DropdownInner.css +2 -2
  123. package/es/components/Dropdown/ui/DropdownInner/DropdownInner.js +10 -10
  124. package/es/components/Dropdown/ui/DropdownInner/DropdownInner.js.map +1 -1
  125. package/es/components/Dropdown/ui/DropdownItem/DropdownItem.js +1 -1
  126. package/es/components/Dropdown/ui/DropdownItem/DropdownItem.js.map +1 -1
  127. package/es/components/Pagination/Pagination.css +2 -2
  128. package/es/components/Pagination/Pagination.js +2 -1
  129. package/es/components/Pagination/Pagination.js.map +1 -1
  130. package/es/components/Pagination/ui/PaginationSelectPerPage/PaginationSelectPerPage.css +2 -2
  131. package/es/components/Select/Select.css +2 -2
  132. package/es/components/Select/Select.js +12 -4
  133. package/es/components/Select/Select.js.map +1 -1
  134. package/es/components/Select/Select.styles.js +3 -4
  135. package/es/components/Select/Select.styles.js.map +1 -1
  136. package/es/components/Select/{Select.styles_bjoo18.css → Select.styles_dta4dl.css} +1 -1
  137. package/es/components/Select/hooks/useKeyboardNavigation.js +3 -7
  138. package/es/components/Select/hooks/useKeyboardNavigation.js.map +1 -1
  139. package/es/components/Select/ui/Inner/Inner.css +2 -2
  140. package/es/components/Select/ui/Inner/Inner.js +12 -6
  141. package/es/components/Select/ui/Inner/Inner.js.map +1 -1
  142. package/es/components/Table/Table.css +2 -2
  143. package/es/components/Table/ui/Cell/Cell.css +2 -2
  144. package/es/components/Table/ui/EditableCell/EditableCell.css +2 -2
  145. package/es/components/Table/ui/HeadCell/HeadCell.css +2 -2
  146. package/es/components/Table/ui/HeadCell/ui/Filter/Filter.css +2 -2
  147. package/es/index.css +10 -10
  148. package/package.json +6 -6
  149. package/styled-components/cjs/components/Combobox/ComboboxNew/Combobox.js +26 -23
  150. package/styled-components/cjs/components/Combobox/ComboboxNew/Combobox.styles.js +9 -9
  151. package/styled-components/cjs/components/Combobox/ComboboxNew/Combobox.tokens.js +1 -1
  152. package/styled-components/cjs/components/Combobox/ComboboxNew/hooks/useKeyboardNavigation.js +3 -7
  153. package/styled-components/cjs/components/Combobox/ComboboxNew/ui/Inner/Inner.js +50 -9
  154. package/styled-components/cjs/components/Drawer/hooks/useDrawer.js +11 -0
  155. package/styled-components/cjs/components/Dropdown/Dropdown.js +6 -10
  156. package/styled-components/cjs/components/Dropdown/Dropdown.styles.js +3 -7
  157. package/styled-components/cjs/components/Dropdown/FloatingPopover.js +23 -47
  158. package/styled-components/cjs/components/Dropdown/hooks/useKeyboardNavigation.js +3 -7
  159. package/styled-components/cjs/components/Dropdown/ui/DropdownInner/DropdownInner.js +48 -11
  160. package/styled-components/cjs/components/Dropdown/ui/DropdownItem/DropdownItem.js +1 -1
  161. package/styled-components/cjs/components/Pagination/Pagination.js +1 -1
  162. package/styled-components/cjs/components/Select/Select.js +10 -3
  163. package/styled-components/cjs/components/Select/Select.styles.js +5 -5
  164. package/styled-components/cjs/components/Select/hooks/useKeyboardNavigation.js +3 -7
  165. package/styled-components/cjs/components/Select/ui/Inner/Inner.js +50 -9
  166. package/styled-components/es/components/Combobox/ComboboxNew/Combobox.js +26 -23
  167. package/styled-components/es/components/Combobox/ComboboxNew/Combobox.styles.js +9 -9
  168. package/styled-components/es/components/Combobox/ComboboxNew/Combobox.tokens.js +1 -1
  169. package/styled-components/es/components/Combobox/ComboboxNew/hooks/useKeyboardNavigation.js +3 -7
  170. package/styled-components/es/components/Combobox/ComboboxNew/ui/Inner/Inner.js +11 -6
  171. package/styled-components/es/components/Drawer/hooks/useDrawer.js +11 -0
  172. package/styled-components/es/components/Dropdown/Dropdown.js +6 -10
  173. package/styled-components/es/components/Dropdown/Dropdown.styles.js +3 -7
  174. package/styled-components/es/components/Dropdown/FloatingPopover.js +24 -48
  175. package/styled-components/es/components/Dropdown/hooks/useKeyboardNavigation.js +3 -7
  176. package/styled-components/es/components/Dropdown/ui/DropdownInner/DropdownInner.js +9 -8
  177. package/styled-components/es/components/Dropdown/ui/DropdownItem/DropdownItem.js +1 -1
  178. package/styled-components/es/components/Pagination/Pagination.js +1 -1
  179. package/styled-components/es/components/Select/Select.js +10 -3
  180. package/styled-components/es/components/Select/Select.styles.js +5 -5
  181. package/styled-components/es/components/Select/hooks/useKeyboardNavigation.js +3 -7
  182. package/styled-components/es/components/Select/ui/Inner/Inner.js +11 -6
  183. package/types/components/Autocomplete/Autocomplete.types.d.ts +6 -6
  184. package/types/components/Autocomplete/Autocomplete.types.d.ts.map +1 -1
  185. package/types/components/Combobox/ComboboxNew/Combobox.d.ts.map +1 -1
  186. package/types/components/Combobox/ComboboxNew/Combobox.styles.d.ts +0 -1
  187. package/types/components/Combobox/ComboboxNew/Combobox.styles.d.ts.map +1 -1
  188. package/types/components/Combobox/ComboboxNew/Combobox.tokens.d.ts +1 -1
  189. package/types/components/Combobox/ComboboxNew/Combobox.types.d.ts +13 -6
  190. package/types/components/Combobox/ComboboxNew/Combobox.types.d.ts.map +1 -1
  191. package/types/components/Combobox/ComboboxNew/ui/Inner/Inner.d.ts.map +1 -1
  192. package/types/components/Combobox/ComboboxNew/ui/Inner/Inner.type.d.ts +2 -1
  193. package/types/components/Combobox/ComboboxNew/ui/Inner/Inner.type.d.ts.map +1 -1
  194. package/types/components/Combobox/ComboboxNew/ui/Inner/ui/Item/Item.types.d.ts +6 -2
  195. package/types/components/Combobox/ComboboxNew/ui/Inner/ui/Item/Item.types.d.ts.map +1 -1
  196. package/types/components/Drawer/hooks/useDrawer.d.ts.map +1 -1
  197. package/types/components/Dropdown/Dropdown.d.ts +6 -6
  198. package/types/components/Dropdown/Dropdown.d.ts.map +1 -1
  199. package/types/components/Dropdown/Dropdown.styles.d.ts +0 -1
  200. package/types/components/Dropdown/Dropdown.styles.d.ts.map +1 -1
  201. package/types/components/Dropdown/Dropdown.types.d.ts +9 -9
  202. package/types/components/Dropdown/Dropdown.types.d.ts.map +1 -1
  203. package/types/components/Dropdown/FloatingPopover.d.ts.map +1 -1
  204. package/types/components/Dropdown/ui/DropdownInner/DropdownInner.d.ts.map +1 -1
  205. package/types/components/Dropdown/ui/DropdownInner/DropdownInner.type.d.ts +2 -3
  206. package/types/components/Dropdown/ui/DropdownInner/DropdownInner.type.d.ts.map +1 -1
  207. package/types/components/Dropdown/ui/DropdownItem/DropdownItem.type.d.ts +7 -3
  208. package/types/components/Dropdown/ui/DropdownItem/DropdownItem.type.d.ts.map +1 -1
  209. package/types/components/NumberFormat/NumberFormat.d.ts.map +1 -1
  210. package/types/components/NumberFormat/NumberFormat.types.d.ts +1 -1
  211. package/types/components/Pagination/Pagination.types.d.ts +75 -0
  212. package/types/components/Pagination/Pagination.types.d.ts.map +1 -1
  213. package/types/components/Pagination/ui/PaginationSelectPerPage/PaginationSelectPerPage.styles.d.ts +12 -6
  214. package/types/components/Pagination/ui/PaginationSelectPerPage/PaginationSelectPerPage.styles.d.ts.map +1 -1
  215. package/types/components/Select/Select.d.ts.map +1 -1
  216. package/types/components/Select/Select.styles.d.ts +0 -1
  217. package/types/components/Select/Select.styles.d.ts.map +1 -1
  218. package/types/components/Select/Select.types.d.ts +24 -10
  219. package/types/components/Select/Select.types.d.ts.map +1 -1
  220. package/types/components/Select/ui/Inner/Inner.d.ts.map +1 -1
  221. package/types/components/Select/ui/Inner/Inner.type.d.ts +2 -1
  222. package/types/components/Select/ui/Inner/Inner.type.d.ts.map +1 -1
  223. package/types/components/Select/ui/Inner/ui/Item/Item.types.d.ts +11 -3
  224. package/types/components/Select/ui/Inner/ui/Item/Item.types.d.ts.map +1 -1
  225. package/types/components/Table/ui/HeadCell/ui/Filter/Filter.styles.d.ts +12 -6
  226. package/types/components/Table/ui/HeadCell/ui/Filter/Filter.styles.d.ts.map +1 -1
  227. package/types/components/TextField/TextField.types.d.ts +2 -2
  228. package/types/examples/components/Autocomplete/Autocomplete.d.ts +40 -40
  229. package/types/examples/components/Autocomplete/Autocomplete.d.ts.map +1 -1
  230. package/types/examples/components/Combobox/Combobox.d.ts +48 -24
  231. package/types/examples/components/Combobox/Combobox.d.ts.map +1 -1
  232. package/types/examples/components/Dropdown/Dropdown.d.ts +3 -3
  233. package/types/examples/components/Dropdown/Dropdown.d.ts.map +1 -1
  234. package/types/examples/components/NumberFormat/NumberFormat.d.ts.map +1 -1
  235. package/types/examples/components/Select/Select.d.ts +12 -6
  236. package/types/examples/components/Select/Select.d.ts.map +1 -1
@@ -180,13 +180,9 @@ var useKeyNavigation = function(param) {
180
180
  case keys.Tab:
181
181
  case keys.Escape:
182
182
  {
183
- dispatchFocusedPath({
184
- type: 'reset'
185
- });
186
- dispatchPath({
187
- type: 'reset'
188
- });
189
- handleGlobalToggle(false, event);
183
+ if (path[0]) {
184
+ handleGlobalToggle(false, event);
185
+ }
190
186
  break;
191
187
  }
192
188
  case keys.Home:
@@ -8,19 +8,55 @@ Object.defineProperty(exports, "DropdownInner", {
8
8
  return DropdownInner;
9
9
  }
10
10
  });
11
- var _react = /*#__PURE__*/ _interop_require_default(require("react"));
11
+ var _react = /*#__PURE__*/ _interop_require_wildcard(require("react"));
12
12
  var _utils = require("../../../../utils");
13
13
  var _DropdownItem = require("../DropdownItem/DropdownItem");
14
14
  var _Dropdownstyles = require("../../Dropdown.styles");
15
15
  var _FloatingPopover = require("../../FloatingPopover");
16
16
  var _utils1 = require("../../utils");
17
- function _interop_require_default(obj) {
18
- return obj && obj.__esModule ? obj : {
19
- default: obj
17
+ function _getRequireWildcardCache(nodeInterop) {
18
+ if (typeof WeakMap !== "function") return null;
19
+ var cacheBabelInterop = new WeakMap();
20
+ var cacheNodeInterop = new WeakMap();
21
+ return (_getRequireWildcardCache = function(nodeInterop) {
22
+ return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
23
+ })(nodeInterop);
24
+ }
25
+ function _interop_require_wildcard(obj, nodeInterop) {
26
+ if (!nodeInterop && obj && obj.__esModule) {
27
+ return obj;
28
+ }
29
+ if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
30
+ return {
31
+ default: obj
32
+ };
33
+ }
34
+ var cache = _getRequireWildcardCache(nodeInterop);
35
+ if (cache && cache.has(obj)) {
36
+ return cache.get(obj);
37
+ }
38
+ var newObj = {
39
+ __proto__: null
20
40
  };
41
+ var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
42
+ for(var key in obj){
43
+ if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
44
+ var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
45
+ if (desc && (desc.get || desc.set)) {
46
+ Object.defineProperty(newObj, key, desc);
47
+ } else {
48
+ newObj[key] = obj[key];
49
+ }
50
+ }
51
+ }
52
+ newObj.default = obj;
53
+ if (cache) {
54
+ cache.set(obj, newObj);
55
+ }
56
+ return newObj;
21
57
  }
22
58
  var DropdownInner = function(param) {
23
- var item = param.item, currentLevel = param.currentLevel, path = param.path, dispatchPath = param.dispatchPath, index = param.index, trigger = param.trigger, listMaxHeight = param.listMaxHeight, listOverflow = param.listOverflow, listWidth = param.listWidth;
59
+ var item = param.item, currentLevel = param.currentLevel, path = param.path, dispatchPath = param.dispatchPath, index = param.index, trigger = param.trigger, listWidth = param.listWidth, portal = param.portal;
24
60
  var handleToggle = function(opened) {
25
61
  if (opened) {
26
62
  dispatchPath({
@@ -35,6 +71,7 @@ var DropdownInner = function(param) {
35
71
  });
36
72
  }
37
73
  };
74
+ var listWrapperRef = (0, _react.useRef)(null);
38
75
  var isCurrentListOpen = path[currentLevel + 1] === item.value.toString();
39
76
  var treeId = (0, _utils.safeUseId)();
40
77
  var listId = "".concat(treeId, "_tree_level_").concat(currentLevel + 2);
@@ -55,14 +92,15 @@ var DropdownInner = function(param) {
55
92
  ariaLevel: nextLevel,
56
93
  ariaLabel: item.label
57
94
  }),
58
- isInner: true
95
+ isInner: true,
96
+ portal: portal
59
97
  }, /*#__PURE__*/ _react.default.createElement(_Dropdownstyles.ListWrapper, {
98
+ ref: listWrapperRef,
60
99
  listWidth: listWidth
61
100
  }, /*#__PURE__*/ _react.default.createElement(_Dropdownstyles.Ul, {
62
101
  id: listId,
63
102
  role: "group",
64
- listMaxHeight: listMaxHeight,
65
- listOverflow: listOverflow
103
+ listMaxHeight: item.listMaxHeight
66
104
  }, item.items.map(function(innerItem, innerIndex) {
67
105
  return /*#__PURE__*/ _react.default.createElement(DropdownInner, {
68
106
  key: "".concat(innerIndex, "/").concat(currentLevel),
@@ -72,9 +110,8 @@ var DropdownInner = function(param) {
72
110
  dispatchPath: dispatchPath,
73
111
  index: innerIndex,
74
112
  trigger: trigger,
75
- listMaxHeight: listMaxHeight,
76
- listOverflow: listOverflow,
77
- listWidth: listWidth
113
+ listWidth: listWidth,
114
+ portal: listWrapperRef
78
115
  });
79
116
  }))));
80
117
  }
@@ -184,7 +184,7 @@ var DropdownItem = function(param) {
184
184
  };
185
185
  var handleHover = function() {
186
186
  if (onHover) {
187
- onHover(index);
187
+ onHover(index, item);
188
188
  }
189
189
  };
190
190
  return /*#__PURE__*/ _react.default.createElement(_react.default.Fragment, null, dividerBefore && /*#__PURE__*/ _react.default.createElement(_DropdownItemstyles.Divider, {
@@ -170,7 +170,7 @@ function _unsupported_iterable_to_array(o, minLen) {
170
170
  }
171
171
  var paginationRoot = function(Root) {
172
172
  return /*#__PURE__*/ (0, _react.forwardRef)(function(_param, ref) {
173
- var outerValue = _param.value, defaultValue = _param.defaultValue, outerPerPage = _param.perPage, defaultPerPage = _param.defaultPerPage, _param_slots = _param.slots, slots = _param_slots === void 0 ? _utils1.defaultValues.slots : _param_slots, view = _param.view, viewCurrentPage = _param.viewCurrentPage, _param_type = _param.type, type = _param_type === void 0 ? _utils1.defaultValues.type : _param_type, size = _param.size, _param_pilled = _param.pilled, pilled = _param_pilled === void 0 ? _utils1.defaultValues.pilled : _param_pilled, _param_square = _param.square, square = _param_square === void 0 ? _utils1.defaultValues.square : _param_square, _param_disabledPages = _param.disabledPages, disabledPages = _param_disabledPages === void 0 ? _utils1.defaultValues.disabledPages : _param_disabledPages, _param_count = _param.count, count = _param_count === void 0 ? _utils1.defaultValues.value : _param_count, _param_hasQuickJump = _param.hasQuickJump, hasQuickJump = _param_hasQuickJump === void 0 ? _utils1.defaultValues.hasQuickJump : _param_hasQuickJump, _param_hasPerPage = _param.hasPerPage, hasPerPage = _param_hasPerPage === void 0 ? _utils1.defaultValues.hasPerPage : _param_hasPerPage, _param_perPageList = _param.perPageList, perPageList = _param_perPageList === void 0 ? _utils1.defaultValues.perPageList : _param_perPageList, _param_isCommonButtonStyles = _param.isCommonButtonStyles, isCommonButtonStyles = _param_isCommonButtonStyles === void 0 ? _utils1.defaultValues.isCommonButtonStyles : _param_isCommonButtonStyles, _param_placeholderQuickJump = _param.placeholderQuickJump, placeholderQuickJump = _param_placeholderQuickJump === void 0 ? _utils1.defaultValues.placeholderQuickJump : _param_placeholderQuickJump, _param_textQuickJump = _param.textQuickJump, textQuickJump = _param_textQuickJump === void 0 ? _utils1.defaultValues.textQuickJump : _param_textQuickJump, _param_textPerPage = _param.textPerPage, textPerPage = _param_textPerPage === void 0 ? _utils1.defaultValues.textPerPage : _param_textPerPage, leftContent = _param.leftContent, rightContent = _param.rightContent, listWidth = _param.listWidth, onChangePageValue = _param.onChangePageValue, onChangePerPageValue = _param.onChangePerPageValue, onChange = _param.onChange, rest = _object_without_properties(_param, [
173
+ var outerValue = _param.value, defaultValue = _param.defaultValue, outerPerPage = _param.perPage, defaultPerPage = _param.defaultPerPage, _param_slots = _param.slots, slots = _param_slots === void 0 ? _utils1.defaultValues.slots : _param_slots, view = _param.view, viewCurrentPage = _param.viewCurrentPage, _param_type = _param.type, type = _param_type === void 0 ? _utils1.defaultValues.type : _param_type, size = _param.size, _param_pilled = _param.pilled, pilled = _param_pilled === void 0 ? _utils1.defaultValues.pilled : _param_pilled, _param_square = _param.square, square = _param_square === void 0 ? _utils1.defaultValues.square : _param_square, _param_disabledPages = _param.disabledPages, disabledPages = _param_disabledPages === void 0 ? _utils1.defaultValues.disabledPages : _param_disabledPages, _param_count = _param.count, count = _param_count === void 0 ? _utils1.defaultValues.value : _param_count, _param_hasQuickJump = _param.hasQuickJump, hasQuickJump = _param_hasQuickJump === void 0 ? _utils1.defaultValues.hasQuickJump : _param_hasQuickJump, _param_hasPerPage = _param.hasPerPage, hasPerPage = _param_hasPerPage === void 0 ? _utils1.defaultValues.hasPerPage : _param_hasPerPage, _param_perPageList = _param.perPageList, perPageList = _param_perPageList === void 0 ? _utils1.defaultValues.perPageList : _param_perPageList, _param_isCommonButtonStyles = _param.isCommonButtonStyles, isCommonButtonStyles = _param_isCommonButtonStyles === void 0 ? _utils1.defaultValues.isCommonButtonStyles : _param_isCommonButtonStyles, _param_placeholderQuickJump = _param.placeholderQuickJump, placeholderQuickJump = _param_placeholderQuickJump === void 0 ? _utils1.defaultValues.placeholderQuickJump : _param_placeholderQuickJump, _param_textQuickJump = _param.textQuickJump, textQuickJump = _param_textQuickJump === void 0 ? _utils1.defaultValues.textQuickJump : _param_textQuickJump, _param_textPerPage = _param.textPerPage, textPerPage = _param_textPerPage === void 0 ? _utils1.defaultValues.textPerPage : _param_textPerPage, leftContent = _param.leftContent, rightContent = _param.rightContent, _param_listWidth = _param.listWidth, listWidth = _param_listWidth === void 0 ? 'fit-content' : _param_listWidth, onChangePageValue = _param.onChangePageValue, onChangePerPageValue = _param.onChangePerPageValue, onChange = _param.onChange, rest = _object_without_properties(_param, [
174
174
  "value",
175
175
  "defaultValue",
176
176
  "perPage",
@@ -178,7 +178,7 @@ var selectRoot = function(Root) {
178
178
  return /*#__PURE__*/ (0, _react.forwardRef)(function(props, ref) {
179
179
  var _getItemByFocused;
180
180
  var // eslint-disable-block @typescript-eslint/ban-ts-comment
181
- id = props.id, outerValue = props.value, outerOnChange = props.onChange, _props_target = props.target, target = _props_target === void 0 ? 'textfield-like' : _props_target, items = props.items, _props_placement = props.placement, placement = _props_placement === void 0 ? 'bottom' : _props_placement, label = props.label, labelPlacement = props.labelPlacement, placeholder = props.placeholder, helperText = props.helperText, _props_disabled = props.disabled, disabled = _props_disabled === void 0 ? false : _props_disabled, _props_readOnly = props.readOnly, readOnly = _props_readOnly === void 0 ? false : _props_readOnly, outerView = props.view, size = props.size, listOverflow = props.listOverflow, listHeight = props.listHeight, listMaxHeight = props.listMaxHeight, listWidth = props.listWidth, contentLeft = props.contentLeft, onScrollBottom = props.onScrollBottom, onScroll = props.onScroll, chipView = props.chipView, _props_variant = props.variant, variant = _props_variant === void 0 ? 'normal' : _props_variant, portal = props.portal, renderValue = props.renderValue, renderItem = props.renderItem, status = props.status, onItemSelect = props.onItemSelect, separator = props.separator, outerCloseAfterSelect = props.closeAfterSelect, isTargetAmount = props.isTargetAmount, beforeList = props.beforeList, afterList = props.afterList, zIndex = props.zIndex, name = props.name, defaultValue = props.defaultValue, _props_virtual = props.virtual, virtual = _props_virtual === void 0 ? false : _props_virtual, onToggle = props.onToggle, chipType = props.chipType, multiselect = props.multiselect, // @ts-ignore
181
+ id = props.id, outerValue = props.value, outerOnChange = props.onChange, _props_target = props.target, target = _props_target === void 0 ? 'textfield-like' : _props_target, items = props.items, _props_placement = props.placement, placement = _props_placement === void 0 ? 'bottom' : _props_placement, label = props.label, labelPlacement = props.labelPlacement, placeholder = props.placeholder, helperText = props.helperText, _props_disabled = props.disabled, disabled = _props_disabled === void 0 ? false : _props_disabled, _props_readOnly = props.readOnly, readOnly = _props_readOnly === void 0 ? false : _props_readOnly, outerView = props.view, size = props.size, listOverflow = props.listOverflow, listHeight = props.listHeight, listMaxHeight = props.listMaxHeight, listWidth = props.listWidth, contentLeft = props.contentLeft, onScrollBottom = props.onScrollBottom, onScroll = props.onScroll, chipView = props.chipView, _props_variant = props.variant, variant = _props_variant === void 0 ? 'normal' : _props_variant, portal = props.portal, renderValue = props.renderValue, renderItem = props.renderItem, status = props.status, onItemSelect = props.onItemSelect, separator = props.separator, outerCloseAfterSelect = props.closeAfterSelect, isTargetAmount = props.isTargetAmount, beforeList = props.beforeList, afterList = props.afterList, zIndex = props.zIndex, name = props.name, defaultValue = props.defaultValue, _props_virtual = props.virtual, virtual = _props_virtual === void 0 ? false : _props_virtual, onToggle = props.onToggle, chipType = props.chipType, multiselect = props.multiselect, _props_mode = props.mode, mode = _props_mode === void 0 ? 'default' : _props_mode, // @ts-ignore
182
182
  _offset = props._offset, // Извлекаем пропсы для required и hint, чтобы они не попадали в DOM.
183
183
  // @ts-ignore
184
184
  required = props.required, // @ts-ignore
@@ -234,6 +234,7 @@ var selectRoot = function(Root) {
234
234
  "onToggle",
235
235
  "chipType",
236
236
  "multiselect",
237
+ "mode",
237
238
  "_offset",
238
239
  "required",
239
240
  "requiredPlacement",
@@ -267,6 +268,7 @@ var selectRoot = function(Root) {
267
268
  var activeDescendantItemValue = ((_getItemByFocused = (0, _useKeyboardNavigation.getItemByFocused)(focusedPath, focusedToValueMap)) === null || _getItemByFocused === void 0 ? void 0 : _getItemByFocused.value.toString()) || '';
268
269
  var closeAfterSelect = outerCloseAfterSelect !== null && outerCloseAfterSelect !== void 0 ? outerCloseAfterSelect : !props.multiselect;
269
270
  var treeId = (0, _utils.safeUseId)();
271
+ var listWrapperRef = (0, _react.useRef)(null);
270
272
  var view = target === 'textfield-like' && (disabled || readOnly) ? 'default' : (0, _utils1.getView)(status, outerView);
271
273
  // Собираем объект с пропсами для required и прокидываем их напрямую в компонент Textfield.
272
274
  var requiredProps = props.target === 'button-like' ? undefined : {
@@ -396,6 +398,10 @@ var selectRoot = function(Root) {
396
398
  type: 'reset'
397
399
  });
398
400
  }
401
+ // Закрываем список, если элемент уже выбран.
402
+ if (mode === 'radio' && isCurrentChecked) {
403
+ return;
404
+ }
399
405
  if (onChange) {
400
406
  onChange(isCurrentChecked ? '' : item.value, item);
401
407
  }
@@ -553,12 +559,12 @@ var selectRoot = function(Root) {
553
559
  disabled: disabled,
554
560
  readOnly: readOnly
555
561
  }, rest), /*#__PURE__*/ _react.default.createElement(_Selectstyles.ListWrapper, {
562
+ ref: listWrapperRef,
556
563
  listWidth: listWidth
557
564
  }, /*#__PURE__*/ _react.default.createElement(_Selectstyles.Ul, {
558
565
  role: "tree",
559
566
  id: "".concat(treeId, "_tree_level_1"),
560
567
  "aria-multiselectable": Boolean(props.multiselect),
561
- listOverflow: listOverflow,
562
568
  listMaxHeight: listMaxHeight || listHeight,
563
569
  onScroll: virtual ? undefined : handleScroll,
564
570
  ref: targetRef,
@@ -579,7 +585,8 @@ var selectRoot = function(Root) {
579
585
  path: path,
580
586
  dispatchPath: dispatchPath,
581
587
  index: index,
582
- listWidth: listWidth
588
+ listWidth: listWidth,
589
+ portal: listWrapperRef
583
590
  });
584
591
  }), afterList))))));
585
592
  });
@@ -65,7 +65,7 @@ function _interop_require_wildcard(obj, nodeInterop) {
65
65
  }
66
66
  var ListWrapper = _styledcomponents.default.div.withConfig({
67
67
  displayName: "Select.styles__ListWrapper",
68
- componentId: "sc-30266665-0"
68
+ componentId: "sc-3f8cf8d4-0"
69
69
  })([
70
70
  "width:",
71
71
  ";padding:calc(var(",
@@ -82,10 +82,10 @@ var ListWrapper = _styledcomponents.default.div.withConfig({
82
82
  }, _Selecttokens.tokens.padding, _Selecttokens.tokens.dropdownBorderWidth, _Selecttokens.tokens.borderRadius, _Selecttokens.constants.background, _Selecttokens.constants.boxShadow, _Selecttokens.tokens.dropdownBorderWidth, _Selecttokens.tokens.dropdownBorderColor);
83
83
  var Ul = _styledcomponents.default.ul.withConfig({
84
84
  displayName: "Select.styles__Ul",
85
- componentId: "sc-30266665-1"
85
+ componentId: "sc-3f8cf8d4-1"
86
86
  })([
87
87
  "max-height:",
88
- ";overflow-y:",
88
+ ";overflow-x:hidden;overflow-y:",
89
89
  ";border-radius:calc(var(",
90
90
  ") - 0.125rem - var(",
91
91
  ",0rem));margin:0;padding:0;"
@@ -94,8 +94,8 @@ var Ul = _styledcomponents.default.ul.withConfig({
94
94
  return(// eslint-disable-next-line no-nested-ternary
95
95
  virtual ? 'auto' : listMaxHeight ? (0, _utils.getCorrectHeight)(listMaxHeight) : 'auto');
96
96
  }, function(param) {
97
- var virtual = param.virtual, listOverflow = param.listOverflow;
98
- return virtual ? 'visible' : listOverflow || 'visible';
97
+ var virtual = param.virtual;
98
+ return virtual ? 'visible' : 'auto';
99
99
  }, _Selecttokens.tokens.borderRadius, _Selecttokens.tokens.dropdownBorderWidth);
100
100
  var base = (0, _styledcomponents.css)([
101
101
  ""
@@ -198,13 +198,9 @@ var useKeyNavigation = function(param) {
198
198
  case keys.Tab:
199
199
  case keys.Escape:
200
200
  {
201
- dispatchFocusedPath({
202
- type: 'reset'
203
- });
204
- dispatchPath({
205
- type: 'reset'
206
- });
207
- handleListToggle(false);
201
+ if (path[0]) {
202
+ handleListToggle(false);
203
+ }
208
204
  break;
209
205
  }
210
206
  case keys.Home:
@@ -8,18 +8,54 @@ Object.defineProperty(exports, "Inner", {
8
8
  return Inner;
9
9
  }
10
10
  });
11
- var _react = /*#__PURE__*/ _interop_require_default(require("react"));
11
+ var _react = /*#__PURE__*/ _interop_require_wildcard(require("react"));
12
12
  var _utils = require("../../../../utils");
13
13
  var _Selectstyles = require("../../Select.styles");
14
14
  var _FloatingPopover = require("../../FloatingPopover");
15
15
  var _Item = require("./ui/Item/Item");
16
- function _interop_require_default(obj) {
17
- return obj && obj.__esModule ? obj : {
18
- default: obj
16
+ function _getRequireWildcardCache(nodeInterop) {
17
+ if (typeof WeakMap !== "function") return null;
18
+ var cacheBabelInterop = new WeakMap();
19
+ var cacheNodeInterop = new WeakMap();
20
+ return (_getRequireWildcardCache = function(nodeInterop) {
21
+ return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
22
+ })(nodeInterop);
23
+ }
24
+ function _interop_require_wildcard(obj, nodeInterop) {
25
+ if (!nodeInterop && obj && obj.__esModule) {
26
+ return obj;
27
+ }
28
+ if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
29
+ return {
30
+ default: obj
31
+ };
32
+ }
33
+ var cache = _getRequireWildcardCache(nodeInterop);
34
+ if (cache && cache.has(obj)) {
35
+ return cache.get(obj);
36
+ }
37
+ var newObj = {
38
+ __proto__: null
19
39
  };
40
+ var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
41
+ for(var key in obj){
42
+ if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
43
+ var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
44
+ if (desc && (desc.get || desc.set)) {
45
+ Object.defineProperty(newObj, key, desc);
46
+ } else {
47
+ newObj[key] = obj[key];
48
+ }
49
+ }
50
+ }
51
+ newObj.default = obj;
52
+ if (cache) {
53
+ cache.set(obj, newObj);
54
+ }
55
+ return newObj;
20
56
  }
21
57
  var Inner = function(param) {
22
- var item = param.item, currentLevel = param.currentLevel, path = param.path, dispatchPath = param.dispatchPath, index = param.index, listWidth = param.listWidth;
58
+ var item = param.item, currentLevel = param.currentLevel, path = param.path, dispatchPath = param.dispatchPath, index = param.index, listWidth = param.listWidth, portal = param.portal;
23
59
  var handleToggle = function(opened) {
24
60
  if (opened) {
25
61
  dispatchPath({
@@ -34,6 +70,7 @@ var Inner = function(param) {
34
70
  });
35
71
  }
36
72
  };
73
+ var listWrapperRef = (0, _react.useRef)(null);
37
74
  var isCurrentListOpen = path[currentLevel + 1] === item.value.toString();
38
75
  var treeId = (0, _utils.safeUseId)();
39
76
  var listId = "".concat(treeId, "_tree_level_").concat(currentLevel + 2);
@@ -54,13 +91,16 @@ var Inner = function(param) {
54
91
  ariaLevel: nextLevel,
55
92
  ariaLabel: item.label
56
93
  }),
57
- isInner: true
94
+ isInner: true,
95
+ portal: portal
58
96
  }, /*#__PURE__*/ _react.default.createElement(_Selectstyles.ListWrapper, {
59
- listWidth: listWidth
97
+ listWidth: listWidth,
98
+ ref: listWrapperRef
60
99
  }, /*#__PURE__*/ _react.default.createElement(_Selectstyles.Ul, {
61
100
  role: "group",
62
101
  id: listId,
63
- virtual: false
102
+ virtual: false,
103
+ listMaxHeight: item === null || item === void 0 ? void 0 : item.listMaxHeight
64
104
  }, (_item_items = item.items) === null || _item_items === void 0 ? void 0 : _item_items.map(function(innerItem, innerIndex) {
65
105
  return /*#__PURE__*/ _react.default.createElement(Inner, {
66
106
  key: "".concat(innerIndex, "/").concat(currentLevel),
@@ -69,7 +109,8 @@ var Inner = function(param) {
69
109
  path: path,
70
110
  dispatchPath: dispatchPath,
71
111
  index: innerIndex,
72
- listWidth: listWidth
112
+ listWidth: listWidth,
113
+ portal: listWrapperRef
73
114
  });
74
115
  }))));
75
116
  }
@@ -161,7 +161,7 @@ import { Context } from "./Combobox.context";
161
161
  */ export var comboboxRoot = function(Root) {
162
162
  return /*#__PURE__*/ forwardRef(function(props, ref) {
163
163
  var _getItemByFocused;
164
- var name = props.name, multiple = props.multiple, outerValue = props.value, outerOnChange = props.onChange, defaultValue = props.defaultValue, isTargetAmount = props.isTargetAmount, targetAmount = props.targetAmount, items = props.items, _props_placement = props.placement, placement = _props_placement === void 0 ? 'bottom-start' : _props_placement, label = props.label, placeholder = props.placeholder, helperText = props.helperText, contentLeft = props.contentLeft, textBefore = props.textBefore, textAfter = props.textAfter, _props_variant = props.variant, variant = _props_variant === void 0 ? 'normal' : _props_variant, listOverflow = props.listOverflow, listHeight = props.listHeight, listMaxHeight = props.listMaxHeight, listWidth = props.listWidth, portal = props.portal, renderItem = props.renderItem, view = props.view, size = props.size, labelPlacement = props.labelPlacement, keepPlaceholder = props.keepPlaceholder, _props_readOnly = props.readOnly, readOnly = _props_readOnly === void 0 ? false : _props_readOnly, _props_disabled = props.disabled, disabled = _props_disabled === void 0 ? false : _props_disabled, _props_alwaysOpened = props.alwaysOpened, alwaysOpened = _props_alwaysOpened === void 0 ? false : _props_alwaysOpened, filter = props.filter, outerCloseAfterSelect = props.closeAfterSelect, renderValue = props.renderValue, zIndex = props.zIndex, beforeList = props.beforeList, afterList = props.afterList, _props_virtual = props.virtual, virtual = _props_virtual === void 0 ? false : _props_virtual, hintView = props.hintView, hintSize = props.hintSize, emptyStateDescription = props.emptyStateDescription, onChangeValue = props.onChangeValue, onScroll = props.onScroll, onToggle = props.onToggle, // @ts-ignore
164
+ var name = props.name, multiple = props.multiple, outerValue = props.value, outerOnChange = props.onChange, defaultValue = props.defaultValue, isTargetAmount = props.isTargetAmount, targetAmount = props.targetAmount, items = props.items, _props_placement = props.placement, placement = _props_placement === void 0 ? 'bottom-start' : _props_placement, label = props.label, placeholder = props.placeholder, helperText = props.helperText, contentLeft = props.contentLeft, textBefore = props.textBefore, textAfter = props.textAfter, _props_variant = props.variant, variant = _props_variant === void 0 ? 'normal' : _props_variant, listOverflow = props.listOverflow, listHeight = props.listHeight, listMaxHeight = props.listMaxHeight, listWidth = props.listWidth, portal = props.portal, renderItem = props.renderItem, view = props.view, size = props.size, labelPlacement = props.labelPlacement, keepPlaceholder = props.keepPlaceholder, _props_readOnly = props.readOnly, readOnly = _props_readOnly === void 0 ? false : _props_readOnly, _props_disabled = props.disabled, disabled = _props_disabled === void 0 ? false : _props_disabled, _props_alwaysOpened = props.alwaysOpened, alwaysOpened = _props_alwaysOpened === void 0 ? false : _props_alwaysOpened, filter = props.filter, outerCloseAfterSelect = props.closeAfterSelect, renderValue = props.renderValue, zIndex = props.zIndex, beforeList = props.beforeList, afterList = props.afterList, _props_virtual = props.virtual, virtual = _props_virtual === void 0 ? false : _props_virtual, hintView = props.hintView, hintSize = props.hintSize, emptyStateDescription = props.emptyStateDescription, onChangeValue = props.onChangeValue, onScroll = props.onScroll, onToggle = props.onToggle, _props_mode = props.mode, mode = _props_mode === void 0 ? 'default' : _props_mode, // @ts-ignore
165
165
  _offset = props._offset, rest = _object_without_properties(props, [
166
166
  "name",
167
167
  "multiple",
@@ -205,6 +205,7 @@ import { Context } from "./Combobox.context";
205
205
  "onChangeValue",
206
206
  "onScroll",
207
207
  "onToggle",
208
+ "mode",
208
209
  "_offset"
209
210
  ]);
210
211
  var transformedItems = useMemo(function() {
@@ -225,6 +226,7 @@ import { Context } from "./Combobox.context";
225
226
  var floatingPopoverRef = useRef(null);
226
227
  var inputForkRef = useForkRef(inputRef, ref);
227
228
  var treeId = safeUseId();
229
+ var listWrapperRef = useRef(null);
228
230
  var filteredItems = useMemo(function() {
229
231
  return filterItems(transformedItems, textValue, getTextValue(multiple, value, valueToItemMap, renderValue), filter);
230
232
  }, [
@@ -285,22 +287,10 @@ import { Context } from "./Combobox.context";
285
287
  setInternalValue(newValue);
286
288
  }
287
289
  };
288
- var handleClickArrow = function() {
289
- if (disabled || readOnly) {
290
- return;
291
- }
292
- if (isCurrentListOpen) {
293
- dispatchPath({
294
- type: 'reset'
295
- });
296
- } else {
297
- dispatchPath({
298
- type: 'opened_first_level'
299
- });
300
- }
301
- dispatchFocusedPath({
302
- type: 'reset'
303
- });
290
+ var handleClickArrow = function(e) {
291
+ handleListToggle(!isCurrentListOpen);
292
+ // При клике на иконку закрытия фокус не должен становиться в инпут.
293
+ e.stopPropagation();
304
294
  };
305
295
  // Обработчик изменения значения в инпуте
306
296
  var handleTextValueChange = function(e) {
@@ -433,10 +423,20 @@ import { Context } from "./Combobox.context";
433
423
  type: 'reset'
434
424
  });
435
425
  }
426
+ // Закрываем список, если элемент уже выбран.
427
+ if (mode === 'radio' && isCurrentChecked) {
428
+ return;
429
+ }
436
430
  if (onChange) {
437
431
  onChange(isCurrentChecked ? '' : item.value, item);
438
432
  }
439
433
  };
434
+ // Обработчик клика на таргет
435
+ var handleTargetClick = function() {
436
+ if (!isCurrentListOpen) {
437
+ handleListToggle(true);
438
+ }
439
+ };
440
440
  var getChips = function() {
441
441
  if (multiple && Array.isArray(value)) {
442
442
  if (value.length === 0) return [];
@@ -569,13 +569,14 @@ import { Context } from "./Combobox.context";
569
569
  }, /*#__PURE__*/ React.createElement(FloatingPopover, {
570
570
  ref: floatingPopoverRef,
571
571
  opened: isCurrentListOpen,
572
- onToggle: handleListToggle,
573
572
  placement: placement,
574
573
  portal: portal,
575
574
  listWidth: listWidth,
576
575
  offset: _offset,
577
576
  target: function(referenceRef) {
578
- return /*#__PURE__*/ React.createElement(StyledTextField, _object_spread_props(_object_spread({
577
+ return /*#__PURE__*/ React.createElement("div", {
578
+ onClick: handleTargetClick
579
+ }, /*#__PURE__*/ React.createElement(StyledTextField, _object_spread_props(_object_spread({
579
580
  ref: name ? inputRef : inputForkRef,
580
581
  inputWrapperRef: referenceRef,
581
582
  value: textValue,
@@ -589,7 +590,8 @@ import { Context } from "./Combobox.context";
589
590
  contentLeft: contentLeft,
590
591
  contentRight: /*#__PURE__*/ React.createElement(IconArrowWrapper, {
591
592
  disabled: disabled,
592
- onClick: handleClickArrow
593
+ onClick: handleClickArrow,
594
+ className: classes.comboboxTargetArrow
593
595
  }, /*#__PURE__*/ React.createElement(StyledArrow, {
594
596
  color: "inherit",
595
597
  size: sizeToIconSize(size),
@@ -616,7 +618,7 @@ import { Context } from "./Combobox.context";
616
618
  enumerationType: 'plain'
617
619
  }, rest), {
618
620
  _onEnterDisabled: true // Пропс для отключения обработчика Enter внутри Textfield
619
- }));
621
+ })));
620
622
  },
621
623
  zIndex: zIndex,
622
624
  isInner: false
@@ -628,6 +630,7 @@ import { Context } from "./Combobox.context";
628
630
  readOnly: readOnly,
629
631
  name: name
630
632
  }, /*#__PURE__*/ React.createElement(ListWrapper, {
633
+ ref: listWrapperRef,
631
634
  listWidth: listWidth
632
635
  }, /*#__PURE__*/ React.createElement(Ul, {
633
636
  role: "tree",
@@ -636,7 +639,6 @@ import { Context } from "./Combobox.context";
636
639
  listMaxHeight: listMaxHeight || listHeight,
637
640
  ref: targetRef,
638
641
  virtual: virtual,
639
- listOverflow: listOverflow,
640
642
  onScroll: virtual ? undefined : onScroll
641
643
  }, beforeList, isEmpty(filteredItems) ? /*#__PURE__*/ React.createElement(StyledEmptyState, {
642
644
  className: classes.emptyStateWrapper,
@@ -658,7 +660,8 @@ import { Context } from "./Combobox.context";
658
660
  path: path,
659
661
  dispatchPath: dispatchPath,
660
662
  index: index,
661
- listWidth: listWidth
663
+ listWidth: listWidth,
664
+ portal: listWrapperRef
662
665
  });
663
666
  })), afterList)))))));
664
667
  });
@@ -8,7 +8,7 @@ var mergedConfig = mergeConfig(emptyStateConfig);
8
8
  var EmptyState = component(mergedConfig);
9
9
  export var ListWrapper = styled.div.withConfig({
10
10
  displayName: "Combobox.styles__ListWrapper",
11
- componentId: "sc-7fefedf8-0"
11
+ componentId: "sc-21c5f0bf-0"
12
12
  })([
13
13
  "width:",
14
14
  ";padding:calc(var(",
@@ -25,10 +25,10 @@ export var ListWrapper = styled.div.withConfig({
25
25
  }, tokens.padding, tokens.dropdownBorderWidth, tokens.borderRadius, constants.background, constants.boxShadow, tokens.dropdownBorderWidth, tokens.dropdownBorderColor);
26
26
  export var Ul = styled.ul.withConfig({
27
27
  displayName: "Combobox.styles__Ul",
28
- componentId: "sc-7fefedf8-1"
28
+ componentId: "sc-21c5f0bf-1"
29
29
  })([
30
30
  "max-height:",
31
- ";overflow-y:",
31
+ ";overflow-x:hidden;overflow-y:",
32
32
  ";border-radius:calc(var(",
33
33
  ") - 0.125rem - var(",
34
34
  ",0rem));margin:0;padding:0;.",
@@ -37,12 +37,12 @@ export var Ul = styled.ul.withConfig({
37
37
  var virtual = param.virtual, listMaxHeight = param.listMaxHeight;
38
38
  return virtual ? 'auto' : listMaxHeight || 'auto';
39
39
  }, function(param) {
40
- var virtual = param.virtual, listOverflow = param.listOverflow;
41
- return virtual ? 'visible' : listOverflow || 'visible';
40
+ var virtual = param.virtual;
41
+ return virtual ? 'visible' : 'auto';
42
42
  }, tokens.borderRadius, tokens.dropdownBorderWidth, classes.emptyStateWrapper);
43
43
  export var IconArrowWrapper = styled.div.withConfig({
44
44
  displayName: "Combobox.styles__IconArrowWrapper",
45
- componentId: "sc-7fefedf8-2"
45
+ componentId: "sc-21c5f0bf-2"
46
46
  })([
47
47
  "line-height:0;color:var(",
48
48
  ");cursor:",
@@ -63,7 +63,7 @@ export var sizeMap = {
63
63
  };
64
64
  export var StyledArrow = styled(IconDisclosureDownCentered).withConfig({
65
65
  displayName: "Combobox.styles__StyledArrow",
66
- componentId: "sc-7fefedf8-3"
66
+ componentId: "sc-21c5f0bf-3"
67
67
  })([
68
68
  "width:",
69
69
  ";height:",
@@ -80,7 +80,7 @@ export var base = css([
80
80
  ]);
81
81
  export var StyledEmptyState = styled(EmptyState).withConfig({
82
82
  displayName: "Combobox.styles__StyledEmptyState",
83
- componentId: "sc-7fefedf8-4"
83
+ componentId: "sc-21c5f0bf-4"
84
84
  })([
85
85
  "",
86
86
  ":var(",
@@ -102,7 +102,7 @@ export var StyledEmptyState = styled(EmptyState).withConfig({
102
102
  ], emptyStateTokens.borderRadius, tokens.textFieldBorderRadius, emptyStateTokens.padding, tokens.emptyStatePadding, emptyStateTokens.fontFamily, tokens.textFieldFontFamily, emptyStateTokens.fontSize, tokens.textFieldFontSize, emptyStateTokens.fontStyle, tokens.textFieldFontStyle, emptyStateTokens.fontWeight, tokens.textFieldFontWeight, emptyStateTokens.fontLetterSpacing, tokens.textFieldLetterSpacing, emptyStateTokens.fontLineHeight, tokens.textFieldLineHeight);
103
103
  export var StyledLeftHelper = styled.span.withConfig({
104
104
  displayName: "Combobox.styles__StyledLeftHelper",
105
- componentId: "sc-7fefedf8-5"
105
+ componentId: "sc-21c5f0bf-5"
106
106
  })([
107
107
  "margin:0;padding:0;"
108
108
  ]);
@@ -2,7 +2,7 @@ export var classes = {
2
2
  dropdownItemIsFocused: 'dropdown-item-is-focused',
3
3
  dropdownItemIsDisabled: 'dropdown-item-is-disabled',
4
4
  dropdownItemIsActive: 'dropdown-item-is-active',
5
- selectTargetArrow: 'combobox-target-arrow',
5
+ comboboxTargetArrow: 'combobox-target-arrow',
6
6
  arrowInverse: 'arrow-inverse',
7
7
  textfieldTarget: 'combobox-textfield-target',
8
8
  selectChipIsFocused: 'combobox-chip-is-focused',
@@ -159,13 +159,9 @@ export var useKeyNavigation = function(param) {
159
159
  case keys.Tab:
160
160
  case keys.Escape:
161
161
  {
162
- dispatchPath({
163
- type: 'reset'
164
- });
165
- dispatchFocusedPath({
166
- type: 'reset'
167
- });
168
- handleListToggle(false);
162
+ if (path[0]) {
163
+ handleListToggle(false);
164
+ }
169
165
  if (multiple) {
170
166
  setTextValue('');
171
167
  } else if (textValue !== value) {
@@ -1,11 +1,11 @@
1
- import React from "react";
1
+ import React, { useRef } from "react";
2
2
  import { safeUseId } from "../../../../../utils";
3
3
  import { FloatingPopover } from "../../FloatingPopover";
4
4
  import { isEmpty } from "../../../../../utils";
5
5
  import { Ul, ListWrapper } from "../../Combobox.styles";
6
6
  import { Item } from "./ui";
7
7
  export var Inner = function(param) {
8
- var item = param.item, currentLevel = param.currentLevel, path = param.path, dispatchPath = param.dispatchPath, index = param.index, listWidth = param.listWidth;
8
+ var item = param.item, currentLevel = param.currentLevel, path = param.path, dispatchPath = param.dispatchPath, index = param.index, listWidth = param.listWidth, portal = param.portal;
9
9
  var handleToggle = function(opened) {
10
10
  if (opened) {
11
11
  dispatchPath({
@@ -20,6 +20,7 @@ export var Inner = function(param) {
20
20
  });
21
21
  }
22
22
  };
23
+ var listWrapperRef = useRef(null);
23
24
  var isCurrentListOpen = path[currentLevel + 1] === item.value.toString();
24
25
  var treeId = safeUseId();
25
26
  var listId = "".concat(treeId, "_tree_level_").concat(currentLevel + 2);
@@ -40,13 +41,16 @@ export var Inner = function(param) {
40
41
  ariaLevel: nextLevel,
41
42
  ariaLabel: item.label
42
43
  }),
43
- isInner: true
44
+ isInner: true,
45
+ portal: portal
44
46
  }, /*#__PURE__*/ React.createElement(ListWrapper, {
45
- listWidth: listWidth
47
+ listWidth: listWidth,
48
+ ref: listWrapperRef
46
49
  }, /*#__PURE__*/ React.createElement(Ul, {
47
50
  role: "group",
48
51
  id: listId,
49
- virtual: false
52
+ virtual: false,
53
+ listMaxHeight: item === null || item === void 0 ? void 0 : item.listMaxHeight
50
54
  }, (_item_items = item.items) === null || _item_items === void 0 ? void 0 : _item_items.map(function(innerItem, innerIndex) {
51
55
  return /*#__PURE__*/ React.createElement(Inner, {
52
56
  key: "".concat(innerIndex, "/").concat(currentLevel),
@@ -55,7 +59,8 @@ export var Inner = function(param) {
55
59
  path: path,
56
60
  dispatchPath: dispatchPath,
57
61
  index: innerIndex,
58
- listWidth: listWidth
62
+ listWidth: listWidth,
63
+ portal: listWrapperRef
59
64
  });
60
65
  }))));
61
66
  }