@salutejs/plasma-new-hope 0.335.1-canary.2215.17549341962.0 → 0.335.1-canary.2223.17618340948.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 (237) 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/ui/PaginationSelectPerPage/PaginationSelectPerPage.css +2 -2
  38. package/cjs/components/Select/Select.css +2 -2
  39. package/cjs/components/Select/Select.js +12 -4
  40. package/cjs/components/Select/Select.js.map +1 -1
  41. package/cjs/components/Select/Select.styles.js +3 -4
  42. package/cjs/components/Select/Select.styles.js.map +1 -1
  43. package/cjs/components/Select/{Select.styles_bjoo18.css → Select.styles_dta4dl.css} +1 -1
  44. package/cjs/components/Select/hooks/useKeyboardNavigation.js +3 -7
  45. package/cjs/components/Select/hooks/useKeyboardNavigation.js.map +1 -1
  46. package/cjs/components/Select/ui/Inner/Inner.css +2 -2
  47. package/cjs/components/Select/ui/Inner/Inner.js +11 -5
  48. package/cjs/components/Select/ui/Inner/Inner.js.map +1 -1
  49. package/cjs/components/Table/Table.css +2 -2
  50. package/cjs/components/Table/ui/Cell/Cell.css +2 -2
  51. package/cjs/components/Table/ui/EditableCell/EditableCell.css +2 -2
  52. package/cjs/components/Table/ui/HeadCell/HeadCell.css +2 -2
  53. package/cjs/components/Table/ui/HeadCell/ui/Filter/Filter.css +2 -2
  54. package/cjs/engines/common.js +11 -1
  55. package/cjs/engines/common.js.map +1 -1
  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/Select/Select.js +10 -3
  70. package/emotion/cjs/components/Select/Select.styles.js +8 -8
  71. package/emotion/cjs/components/Select/hooks/useKeyboardNavigation.js +3 -7
  72. package/emotion/cjs/components/Select/ui/Inner/Inner.js +50 -9
  73. package/emotion/cjs/engines/common.js +14 -1
  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/Select/Select.js +10 -3
  88. package/emotion/es/components/Select/Select.styles.js +8 -8
  89. package/emotion/es/components/Select/hooks/useKeyboardNavigation.js +3 -7
  90. package/emotion/es/components/Select/ui/Inner/Inner.js +11 -6
  91. package/emotion/es/engines/common.js +14 -1
  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/ui/PaginationSelectPerPage/PaginationSelectPerPage.css +2 -2
  129. package/es/components/Select/Select.css +2 -2
  130. package/es/components/Select/Select.js +12 -4
  131. package/es/components/Select/Select.js.map +1 -1
  132. package/es/components/Select/Select.styles.js +3 -4
  133. package/es/components/Select/Select.styles.js.map +1 -1
  134. package/es/components/Select/{Select.styles_bjoo18.css → Select.styles_dta4dl.css} +1 -1
  135. package/es/components/Select/hooks/useKeyboardNavigation.js +3 -7
  136. package/es/components/Select/hooks/useKeyboardNavigation.js.map +1 -1
  137. package/es/components/Select/ui/Inner/Inner.css +2 -2
  138. package/es/components/Select/ui/Inner/Inner.js +12 -6
  139. package/es/components/Select/ui/Inner/Inner.js.map +1 -1
  140. package/es/components/Table/Table.css +2 -2
  141. package/es/components/Table/ui/Cell/Cell.css +2 -2
  142. package/es/components/Table/ui/EditableCell/EditableCell.css +2 -2
  143. package/es/components/Table/ui/HeadCell/HeadCell.css +2 -2
  144. package/es/components/Table/ui/HeadCell/ui/Filter/Filter.css +2 -2
  145. package/es/engines/common.js +12 -2
  146. package/es/engines/common.js.map +1 -1
  147. package/es/index.css +10 -10
  148. package/package.json +5 -5
  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/Select/Select.js +10 -3
  162. package/styled-components/cjs/components/Select/Select.styles.js +5 -5
  163. package/styled-components/cjs/components/Select/hooks/useKeyboardNavigation.js +3 -7
  164. package/styled-components/cjs/components/Select/ui/Inner/Inner.js +50 -9
  165. package/styled-components/cjs/engines/common.js +14 -1
  166. package/styled-components/cjs/examples/components/Combobox/Combobox.js +15 -0
  167. package/styled-components/es/components/Combobox/ComboboxNew/Combobox.js +26 -23
  168. package/styled-components/es/components/Combobox/ComboboxNew/Combobox.styles.js +9 -9
  169. package/styled-components/es/components/Combobox/ComboboxNew/Combobox.tokens.js +1 -1
  170. package/styled-components/es/components/Combobox/ComboboxNew/hooks/useKeyboardNavigation.js +3 -7
  171. package/styled-components/es/components/Combobox/ComboboxNew/ui/Inner/Inner.js +11 -6
  172. package/styled-components/es/components/Drawer/hooks/useDrawer.js +11 -0
  173. package/styled-components/es/components/Dropdown/Dropdown.js +6 -10
  174. package/styled-components/es/components/Dropdown/Dropdown.styles.js +3 -7
  175. package/styled-components/es/components/Dropdown/FloatingPopover.js +24 -48
  176. package/styled-components/es/components/Dropdown/hooks/useKeyboardNavigation.js +3 -7
  177. package/styled-components/es/components/Dropdown/ui/DropdownInner/DropdownInner.js +9 -8
  178. package/styled-components/es/components/Dropdown/ui/DropdownItem/DropdownItem.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/styled-components/es/engines/common.js +14 -1
  184. package/styled-components/es/examples/components/Combobox/Combobox.js +7 -0
  185. package/types/components/Autocomplete/Autocomplete.types.d.ts +6 -6
  186. package/types/components/Autocomplete/Autocomplete.types.d.ts.map +1 -1
  187. package/types/components/Combobox/ComboboxNew/Combobox.d.ts.map +1 -1
  188. package/types/components/Combobox/ComboboxNew/Combobox.styles.d.ts +0 -1
  189. package/types/components/Combobox/ComboboxNew/Combobox.styles.d.ts.map +1 -1
  190. package/types/components/Combobox/ComboboxNew/Combobox.tokens.d.ts +1 -1
  191. package/types/components/Combobox/ComboboxNew/Combobox.types.d.ts +13 -6
  192. package/types/components/Combobox/ComboboxNew/Combobox.types.d.ts.map +1 -1
  193. package/types/components/Combobox/ComboboxNew/ui/Inner/Inner.d.ts.map +1 -1
  194. package/types/components/Combobox/ComboboxNew/ui/Inner/Inner.type.d.ts +2 -1
  195. package/types/components/Combobox/ComboboxNew/ui/Inner/Inner.type.d.ts.map +1 -1
  196. package/types/components/Combobox/ComboboxNew/ui/Inner/ui/Item/Item.types.d.ts +6 -2
  197. package/types/components/Combobox/ComboboxNew/ui/Inner/ui/Item/Item.types.d.ts.map +1 -1
  198. package/types/components/Drawer/hooks/useDrawer.d.ts.map +1 -1
  199. package/types/components/Dropdown/Dropdown.d.ts +6 -6
  200. package/types/components/Dropdown/Dropdown.d.ts.map +1 -1
  201. package/types/components/Dropdown/Dropdown.styles.d.ts +0 -1
  202. package/types/components/Dropdown/Dropdown.styles.d.ts.map +1 -1
  203. package/types/components/Dropdown/Dropdown.types.d.ts +9 -9
  204. package/types/components/Dropdown/Dropdown.types.d.ts.map +1 -1
  205. package/types/components/Dropdown/FloatingPopover.d.ts.map +1 -1
  206. package/types/components/Dropdown/ui/DropdownInner/DropdownInner.d.ts.map +1 -1
  207. package/types/components/Dropdown/ui/DropdownInner/DropdownInner.type.d.ts +2 -3
  208. package/types/components/Dropdown/ui/DropdownInner/DropdownInner.type.d.ts.map +1 -1
  209. package/types/components/Dropdown/ui/DropdownItem/DropdownItem.type.d.ts +7 -3
  210. package/types/components/Dropdown/ui/DropdownItem/DropdownItem.type.d.ts.map +1 -1
  211. package/types/components/NumberFormat/NumberFormat.d.ts.map +1 -1
  212. package/types/components/NumberFormat/NumberFormat.types.d.ts +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/engines/common.d.ts.map +1 -1
  229. package/types/examples/components/Autocomplete/Autocomplete.d.ts +40 -40
  230. package/types/examples/components/Autocomplete/Autocomplete.d.ts.map +1 -1
  231. package/types/examples/components/Combobox/Combobox.d.ts +48 -24
  232. package/types/examples/components/Combobox/Combobox.d.ts.map +1 -1
  233. package/types/examples/components/Dropdown/Dropdown.d.ts +3 -3
  234. package/types/examples/components/Dropdown/Dropdown.d.ts.map +1 -1
  235. package/types/examples/components/NumberFormat/NumberFormat.d.ts.map +1 -1
  236. package/types/examples/components/Select/Select.d.ts +12 -6
  237. package/types/examples/components/Select/Select.d.ts.map +1 -1
@@ -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
  }
@@ -87,6 +87,17 @@ export var useDrawer = function(param) {
87
87
  isOpen,
88
88
  popupController.items
89
89
  ]);
90
+ // При анмаунте компонента нужно обновлять overflow у body.
91
+ useEffect(function() {
92
+ return function() {
93
+ if (!canUseDOM) {
94
+ return;
95
+ }
96
+ if (!hasDrawers(Array.from(popupController.items.values()))) {
97
+ document.body.style.overflow = overflow.current;
98
+ }
99
+ };
100
+ }, []);
90
101
  var drawerInfo = _object_spread({
91
102
  id: id,
92
103
  info: {
@@ -119,7 +119,7 @@ import { Context } from "./Dropdown.context";
119
119
  * Выпадающий список.
120
120
  */ export var dropdownRoot = function(Root) {
121
121
  return /*#__PURE__*/ forwardRef(function(_param, ref) {
122
- var items = _param.items, children = _param.children, placement = _param.placement, offset = _param.offset, _param_closeOnOverlayClick = _param.closeOnOverlayClick, closeOnOverlayClick = _param_closeOnOverlayClick === void 0 ? true : _param_closeOnOverlayClick, onToggle = _param.onToggle, size = _param.size, view = _param.view, _param_itemRole = _param.itemRole, itemRole = _param_itemRole === void 0 ? 'treeitem' : _param_itemRole, className = _param.className, listMaxHeight = _param.listMaxHeight, listWidth = _param.listWidth, listHeight = _param.listHeight, listOverflow = _param.listOverflow, _param_closeOnSelect = _param.closeOnSelect, closeOnSelect = _param_closeOnSelect === void 0 ? true : _param_closeOnSelect, onHover = _param.onHover, onItemSelect = _param.onItemSelect, onItemClick = _param.onItemClick, _param_trigger = _param.trigger, trigger = _param_trigger === void 0 ? 'click' : _param_trigger, _param_openByRightClick = _param.openByRightClick, openByRightClick = _param_openByRightClick === void 0 ? false : _param_openByRightClick, _param_variant = _param.variant, variant = _param_variant === void 0 ? 'normal' : _param_variant, _param_hasArrow = _param.hasArrow, hasArrow = _param_hasArrow === void 0 ? true : _param_hasArrow, _param_alwaysOpened = _param.alwaysOpened, alwaysOpened = _param_alwaysOpened === void 0 ? false : _param_alwaysOpened, portal = _param.portal, renderItem = _param.renderItem, zIndex = _param.zIndex, beforeList = _param.beforeList, afterList = _param.afterList, rest = _object_without_properties(_param, [
122
+ var items = _param.items, children = _param.children, placement = _param.placement, offset = _param.offset, _param_closeOnOverlayClick = _param.closeOnOverlayClick, closeOnOverlayClick = _param_closeOnOverlayClick === void 0 ? true : _param_closeOnOverlayClick, onToggle = _param.onToggle, size = _param.size, view = _param.view, _param_itemRole = _param.itemRole, itemRole = _param_itemRole === void 0 ? 'treeitem' : _param_itemRole, className = _param.className, listMaxHeight = _param.listMaxHeight, listWidth = _param.listWidth, listHeight = _param.listHeight, _param_closeOnSelect = _param.closeOnSelect, closeOnSelect = _param_closeOnSelect === void 0 ? true : _param_closeOnSelect, onHover = _param.onHover, onItemSelect = _param.onItemSelect, onItemClick = _param.onItemClick, _param_trigger = _param.trigger, trigger = _param_trigger === void 0 ? 'click' : _param_trigger, _param_openByRightClick = _param.openByRightClick, openByRightClick = _param_openByRightClick === void 0 ? false : _param_openByRightClick, _param_variant = _param.variant, variant = _param_variant === void 0 ? 'normal' : _param_variant, _param_hasArrow = _param.hasArrow, hasArrow = _param_hasArrow === void 0 ? true : _param_hasArrow, _param_alwaysOpened = _param.alwaysOpened, alwaysOpened = _param_alwaysOpened === void 0 ? false : _param_alwaysOpened, portal = _param.portal, renderItem = _param.renderItem, zIndex = _param.zIndex, beforeList = _param.beforeList, afterList = _param.afterList, rest = _object_without_properties(_param, [
123
123
  "items",
124
124
  "children",
125
125
  "placement",
@@ -133,7 +133,6 @@ import { Context } from "./Dropdown.context";
133
133
  "listMaxHeight",
134
134
  "listWidth",
135
135
  "listHeight",
136
- "listOverflow",
137
136
  "closeOnSelect",
138
137
  "onHover",
139
138
  "onItemSelect",
@@ -159,6 +158,7 @@ import { Context } from "./Dropdown.context";
159
158
  var _useHashMaps = _sliced_to_array(useHashMaps(items), 2), pathMap = _useHashMaps[0], focusedToValueMap = _useHashMaps[1];
160
159
  var activeDescendantItemValue = ((_getItemByFocused = getItemByFocused(focusedPath, focusedToValueMap)) === null || _getItemByFocused === void 0 ? void 0 : _getItemByFocused.value) || '';
161
160
  var floatingPopoverRef = useRef(null);
161
+ var listWrapperRef = useRef(null);
162
162
  var treeId = safeUseId();
163
163
  // Логика работы при клике за пределами выпадающего списка
164
164
  var targetRef = useOutsideClick(function(event) {
@@ -252,17 +252,14 @@ import { Context } from "./Dropdown.context";
252
252
  className: cx(className, classes.dropdownRoot),
253
253
  ref: ref,
254
254
  view: view,
255
- size: size,
256
- style: {
257
- display: 'inline-block'
258
- }
255
+ size: size
259
256
  }, rest), /*#__PURE__*/ React.createElement(ListWrapper, {
257
+ ref: listWrapperRef,
260
258
  listWidth: listWidth
261
259
  }, /*#__PURE__*/ React.createElement(Ul, {
262
260
  ref: targetRef,
263
261
  id: "".concat(treeId, "_tree_level_1"),
264
262
  role: "tree",
265
- listOverflow: listOverflow,
266
263
  listMaxHeight: listMaxHeight || listHeight
267
264
  }, beforeList, items.map(function(item, index) {
268
265
  return /*#__PURE__*/ React.createElement(DropdownInner, {
@@ -273,9 +270,8 @@ import { Context } from "./Dropdown.context";
273
270
  path: path,
274
271
  dispatchPath: dispatchPath,
275
272
  index: index,
276
- listOverflow: listOverflow,
277
- listMaxHeight: listMaxHeight || listHeight,
278
- listWidth: listWidth
273
+ listWidth: listWidth,
274
+ portal: listWrapperRef
279
275
  });
280
276
  }), afterList)))));
281
277
  });
@@ -4,7 +4,7 @@ import { getCorrectHeight } from "./utils";
4
4
  import { tokens, constants } from "./Dropdown.tokens";
5
5
  export var ListWrapper = styled.div.withConfig({
6
6
  displayName: "Dropdown.styles__ListWrapper",
7
- componentId: "sc-eabc61b1-0"
7
+ componentId: "sc-768e302d-0"
8
8
  })([
9
9
  "width:",
10
10
  ";padding:calc(var(",
@@ -21,19 +21,15 @@ export var ListWrapper = styled.div.withConfig({
21
21
  }, tokens.padding, tokens.borderWidth, tokens.borderRadius, constants.background, constants.boxShadow, tokens.borderWidth, tokens.borderColor);
22
22
  export var Ul = styled.ul.withConfig({
23
23
  displayName: "Dropdown.styles__Ul",
24
- componentId: "sc-eabc61b1-1"
24
+ componentId: "sc-768e302d-1"
25
25
  })([
26
26
  "max-height:",
27
- ";overflow-y:",
28
- ";border-radius:calc(var(",
27
+ ";overflow-x:hidden;overflow-y:auto;border-radius:calc(var(",
29
28
  ") - 0.125rem - var(",
30
29
  ",0rem));margin:0;padding:0;"
31
30
  ], function(param) {
32
31
  var listMaxHeight = param.listMaxHeight;
33
32
  return listMaxHeight ? getCorrectHeight(listMaxHeight) : 'auto';
34
- }, function(param) {
35
- var listOverflow = param.listOverflow;
36
- return listOverflow || 'visible';
37
33
  }, tokens.borderRadius, tokens.borderWidth);
38
34
  export var base = css([
39
35
  ""
@@ -11,13 +11,6 @@ function _define_property(obj, key, value) {
11
11
  }
12
12
  return obj;
13
13
  }
14
- function _instanceof(left, right) {
15
- if (right != null && typeof Symbol !== "undefined" && right[Symbol.hasInstance]) {
16
- return !!right[Symbol.hasInstance](left);
17
- } else {
18
- return left instanceof right;
19
- }
20
- }
21
14
  function _object_spread(target) {
22
15
  for(var i = 1; i < arguments.length; i++){
23
16
  var source = arguments[i] != null ? arguments[i] : {};
@@ -57,7 +50,7 @@ function _object_spread_props(target, source) {
57
50
  }
58
51
  return target;
59
52
  }
60
- import { flip, shift, useFloating, FloatingPortal, offset as offsetMiddleware, autoPlacement, autoUpdate } from "@floating-ui/react";
53
+ import { flip, shift, useFloating, FloatingPortal, offset as offsetMiddleware, autoPlacement, autoUpdate, useHover, useInteractions, safePolygon, useClick } from "@floating-ui/react";
61
54
  import React, { forwardRef } from "react";
62
55
  import { safeUseId } from "../../utils";
63
56
  // TODO: #2003
@@ -77,6 +70,7 @@ var FloatingPopover = /*#__PURE__*/ forwardRef(function(param, ref) {
77
70
  },
78
71
  placement: placement === 'auto' ? undefined : placement,
79
72
  open: opened,
73
+ onOpenChange: onToggle,
80
74
  middleware: [
81
75
  placement === 'auto' && autoPlacement(),
82
76
  offsetMiddleware({
@@ -88,40 +82,26 @@ var FloatingPopover = /*#__PURE__*/ forwardRef(function(param, ref) {
88
82
  }),
89
83
  shift()
90
84
  ]
91
- }), refs = _useFloating.refs, floatingStyles = _useFloating.floatingStyles;
85
+ }), refs = _useFloating.refs, floatingStyles = _useFloating.floatingStyles, context = _useFloating.context;
92
86
  var wrappedId = safeUseId();
93
- var handleTargetClick = function(event) {
94
- if (trigger === 'hover') {
95
- return;
96
- }
97
- if (onToggle) {
98
- onToggle(!opened, event);
99
- }
100
- };
101
- var handleTargetMouseEnter = function(event) {
102
- if (trigger === 'click' || opened) {
103
- return;
104
- }
105
- onToggle(true, event);
106
- };
107
- var handleTargetMouseLeave = function(event) {
108
- if (_instanceof(event.relatedTarget, HTMLElement) && _instanceof(refs.floating.current, HTMLElement)) {
109
- var _refs_floating_current;
110
- if (trigger === 'click' || !opened || event.relatedTarget && refs.floating && ((_refs_floating_current = refs.floating.current) === null || _refs_floating_current === void 0 ? void 0 : _refs_floating_current.contains(event.relatedTarget))) {
111
- return;
112
- }
113
- onToggle(false, event);
114
- }
115
- };
116
- var handleFloatingMouseLeave = function(event) {
117
- if (_instanceof(event.relatedTarget, HTMLElement) && _instanceof(refs.reference.current, HTMLElement)) {
118
- var _refs_reference_current;
119
- if (trigger === 'click' || !opened || event.relatedTarget && refs.reference && ((_refs_reference_current = refs.reference.current) === null || _refs_reference_current === void 0 ? void 0 : _refs_reference_current.contains(event.relatedTarget))) {
120
- return;
121
- }
122
- onToggle(false, event);
123
- }
124
- };
87
+ var hover = useHover(context, {
88
+ enabled: trigger === 'hover',
89
+ delay: {
90
+ open: 0,
91
+ close: 50
92
+ },
93
+ handleClose: safePolygon({
94
+ requireIntent: false
95
+ })
96
+ });
97
+ var click = useClick(context, {
98
+ stickIfOpen: false,
99
+ ignoreMouse: trigger === 'hover'
100
+ });
101
+ var getReferenceProps = useInteractions([
102
+ hover,
103
+ click
104
+ ]).getReferenceProps;
125
105
  return /*#__PURE__*/ React.createElement("div", {
126
106
  ref: ref,
127
107
  id: wrappedId,
@@ -129,14 +109,10 @@ var FloatingPopover = /*#__PURE__*/ forwardRef(function(param, ref) {
129
109
  position: 'relative',
130
110
  display: isInner ? 'block' : 'inline-block'
131
111
  }
132
- }, /*#__PURE__*/ React.createElement("div", {
133
- ref: refs.setReference,
134
- onClick: handleTargetClick,
135
- onMouseEnter: handleTargetMouseEnter,
136
- onMouseLeave: handleTargetMouseLeave
137
- }, target), opened && /*#__PURE__*/ React.createElement(FloatingPortal, getFloatingPortalProps(portal, wrappedId), /*#__PURE__*/ React.createElement("div", {
112
+ }, /*#__PURE__*/ React.createElement("div", _object_spread({
113
+ ref: refs.setReference
114
+ }, getReferenceProps()), target), opened && /*#__PURE__*/ React.createElement(FloatingPortal, getFloatingPortalProps(portal, wrappedId), /*#__PURE__*/ React.createElement("div", {
138
115
  ref: refs.setFloating,
139
- onMouseLeave: handleFloatingMouseLeave,
140
116
  style: _object_spread_props(_object_spread({}, floatingStyles), {
141
117
  zIndex: zIndex || 1000
142
118
  })
@@ -162,13 +162,9 @@ export var useKeyNavigation = function(param) {
162
162
  case keys.Tab:
163
163
  case keys.Escape:
164
164
  {
165
- dispatchFocusedPath({
166
- type: 'reset'
167
- });
168
- dispatchPath({
169
- type: 'reset'
170
- });
171
- handleGlobalToggle(false, event);
165
+ if (path[0]) {
166
+ handleGlobalToggle(false, event);
167
+ }
172
168
  break;
173
169
  }
174
170
  case keys.Home:
@@ -1,11 +1,11 @@
1
- import React from "react";
1
+ import React, { useRef } from "react";
2
2
  import { safeUseId } from "../../../../utils";
3
3
  import { DropdownItem } from "../DropdownItem/DropdownItem";
4
4
  import { Ul, ListWrapper } from "../../Dropdown.styles";
5
5
  import { FloatingPopover } from "../../FloatingPopover";
6
6
  import { getPlacement } from "../../utils";
7
7
  var DropdownInner = function(param) {
8
- 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;
8
+ 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;
9
9
  var handleToggle = function(opened) {
10
10
  if (opened) {
11
11
  dispatchPath({
@@ -20,6 +20,7 @@ var DropdownInner = 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,14 +41,15 @@ var DropdownInner = 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, {
47
+ ref: listWrapperRef,
45
48
  listWidth: listWidth
46
49
  }, /*#__PURE__*/ React.createElement(Ul, {
47
50
  id: listId,
48
51
  role: "group",
49
- listMaxHeight: listMaxHeight,
50
- listOverflow: listOverflow
52
+ listMaxHeight: item.listMaxHeight
51
53
  }, item.items.map(function(innerItem, innerIndex) {
52
54
  return /*#__PURE__*/ React.createElement(DropdownInner, {
53
55
  key: "".concat(innerIndex, "/").concat(currentLevel),
@@ -57,9 +59,8 @@ var DropdownInner = function(param) {
57
59
  dispatchPath: dispatchPath,
58
60
  index: innerIndex,
59
61
  trigger: trigger,
60
- listMaxHeight: listMaxHeight,
61
- listOverflow: listOverflow,
62
- listWidth: listWidth
62
+ listWidth: listWidth,
63
+ portal: listWrapperRef
63
64
  });
64
65
  }))));
65
66
  }
@@ -133,7 +133,7 @@ export var DropdownItem = function(param) {
133
133
  };
134
134
  var handleHover = function() {
135
135
  if (onHover) {
136
- onHover(index);
136
+ onHover(index, item);
137
137
  }
138
138
  };
139
139
  return /*#__PURE__*/ React.createElement(React.Fragment, null, dividerBefore && /*#__PURE__*/ React.createElement(Divider, {
@@ -121,7 +121,7 @@ import { Context } from "./Select.context";
121
121
  return /*#__PURE__*/ forwardRef(function(props, ref) {
122
122
  var _getItemByFocused;
123
123
  var // eslint-disable-block @typescript-eslint/ban-ts-comment
124
- 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
124
+ 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
125
125
  _offset = props._offset, // Извлекаем пропсы для required и hint, чтобы они не попадали в DOM.
126
126
  // @ts-ignore
127
127
  required = props.required, // @ts-ignore
@@ -177,6 +177,7 @@ import { Context } from "./Select.context";
177
177
  "onToggle",
178
178
  "chipType",
179
179
  "multiselect",
180
+ "mode",
180
181
  "_offset",
181
182
  "required",
182
183
  "requiredPlacement",
@@ -210,6 +211,7 @@ import { Context } from "./Select.context";
210
211
  var activeDescendantItemValue = ((_getItemByFocused = getItemByFocused(focusedPath, focusedToValueMap)) === null || _getItemByFocused === void 0 ? void 0 : _getItemByFocused.value.toString()) || '';
211
212
  var closeAfterSelect = outerCloseAfterSelect !== null && outerCloseAfterSelect !== void 0 ? outerCloseAfterSelect : !props.multiselect;
212
213
  var treeId = safeUseId();
214
+ var listWrapperRef = useRef(null);
213
215
  var view = target === 'textfield-like' && (disabled || readOnly) ? 'default' : getView(status, outerView);
214
216
  // Собираем объект с пропсами для required и прокидываем их напрямую в компонент Textfield.
215
217
  var requiredProps = props.target === 'button-like' ? undefined : {
@@ -339,6 +341,10 @@ import { Context } from "./Select.context";
339
341
  type: 'reset'
340
342
  });
341
343
  }
344
+ // Закрываем список, если элемент уже выбран.
345
+ if (mode === 'radio' && isCurrentChecked) {
346
+ return;
347
+ }
342
348
  if (onChange) {
343
349
  onChange(isCurrentChecked ? '' : item.value, item);
344
350
  }
@@ -496,12 +502,12 @@ import { Context } from "./Select.context";
496
502
  disabled: disabled,
497
503
  readOnly: readOnly
498
504
  }, rest), /*#__PURE__*/ React.createElement(ListWrapper, {
505
+ ref: listWrapperRef,
499
506
  listWidth: listWidth
500
507
  }, /*#__PURE__*/ React.createElement(Ul, {
501
508
  role: "tree",
502
509
  id: "".concat(treeId, "_tree_level_1"),
503
510
  "aria-multiselectable": Boolean(props.multiselect),
504
- listOverflow: listOverflow,
505
511
  listMaxHeight: listMaxHeight || listHeight,
506
512
  onScroll: virtual ? undefined : handleScroll,
507
513
  ref: targetRef,
@@ -522,7 +528,8 @@ import { Context } from "./Select.context";
522
528
  path: path,
523
529
  dispatchPath: dispatchPath,
524
530
  index: index,
525
- listWidth: listWidth
531
+ listWidth: listWidth,
532
+ portal: listWrapperRef
526
533
  });
527
534
  }), afterList))))));
528
535
  });
@@ -4,7 +4,7 @@ import { getCorrectHeight } from "./utils";
4
4
  import { tokens, constants } from "./Select.tokens";
5
5
  export var ListWrapper = styled.div.withConfig({
6
6
  displayName: "Select.styles__ListWrapper",
7
- componentId: "sc-30266665-0"
7
+ componentId: "sc-3f8cf8d4-0"
8
8
  })([
9
9
  "width:",
10
10
  ";padding:calc(var(",
@@ -21,10 +21,10 @@ export var ListWrapper = styled.div.withConfig({
21
21
  }, tokens.padding, tokens.dropdownBorderWidth, tokens.borderRadius, constants.background, constants.boxShadow, tokens.dropdownBorderWidth, tokens.dropdownBorderColor);
22
22
  export var Ul = styled.ul.withConfig({
23
23
  displayName: "Select.styles__Ul",
24
- componentId: "sc-30266665-1"
24
+ componentId: "sc-3f8cf8d4-1"
25
25
  })([
26
26
  "max-height:",
27
- ";overflow-y:",
27
+ ";overflow-x:hidden;overflow-y:",
28
28
  ";border-radius:calc(var(",
29
29
  ") - 0.125rem - var(",
30
30
  ",0rem));margin:0;padding:0;"
@@ -33,8 +33,8 @@ export var Ul = styled.ul.withConfig({
33
33
  return(// eslint-disable-next-line no-nested-ternary
34
34
  virtual ? 'auto' : listMaxHeight ? getCorrectHeight(listMaxHeight) : 'auto');
35
35
  }, function(param) {
36
- var virtual = param.virtual, listOverflow = param.listOverflow;
37
- return virtual ? 'visible' : listOverflow || 'visible';
36
+ var virtual = param.virtual;
37
+ return virtual ? 'visible' : 'auto';
38
38
  }, tokens.borderRadius, tokens.dropdownBorderWidth);
39
39
  export var base = css([
40
40
  ""
@@ -177,13 +177,9 @@ export var useKeyNavigation = function(param) {
177
177
  case keys.Tab:
178
178
  case keys.Escape:
179
179
  {
180
- dispatchFocusedPath({
181
- type: 'reset'
182
- });
183
- dispatchPath({
184
- type: 'reset'
185
- });
186
- handleListToggle(false);
180
+ if (path[0]) {
181
+ handleListToggle(false);
182
+ }
187
183
  break;
188
184
  }
189
185
  case keys.Home:
@@ -1,10 +1,10 @@
1
- import React from "react";
1
+ import React, { useRef } from "react";
2
2
  import { isEmpty, safeUseId } from "../../../../utils";
3
3
  import { Ul, ListWrapper } from "../../Select.styles";
4
4
  import { FloatingPopover } from "../../FloatingPopover";
5
5
  import { Item } from "./ui/Item/Item";
6
6
  export var Inner = function(param) {
7
- var item = param.item, currentLevel = param.currentLevel, path = param.path, dispatchPath = param.dispatchPath, index = param.index, listWidth = param.listWidth;
7
+ var item = param.item, currentLevel = param.currentLevel, path = param.path, dispatchPath = param.dispatchPath, index = param.index, listWidth = param.listWidth, portal = param.portal;
8
8
  var handleToggle = function(opened) {
9
9
  if (opened) {
10
10
  dispatchPath({
@@ -19,6 +19,7 @@ export var Inner = function(param) {
19
19
  });
20
20
  }
21
21
  };
22
+ var listWrapperRef = useRef(null);
22
23
  var isCurrentListOpen = path[currentLevel + 1] === item.value.toString();
23
24
  var treeId = safeUseId();
24
25
  var listId = "".concat(treeId, "_tree_level_").concat(currentLevel + 2);
@@ -39,13 +40,16 @@ export var Inner = function(param) {
39
40
  ariaLevel: nextLevel,
40
41
  ariaLabel: item.label
41
42
  }),
42
- isInner: true
43
+ isInner: true,
44
+ portal: portal
43
45
  }, /*#__PURE__*/ React.createElement(ListWrapper, {
44
- listWidth: listWidth
46
+ listWidth: listWidth,
47
+ ref: listWrapperRef
45
48
  }, /*#__PURE__*/ React.createElement(Ul, {
46
49
  role: "group",
47
50
  id: listId,
48
- virtual: false
51
+ virtual: false,
52
+ listMaxHeight: item === null || item === void 0 ? void 0 : item.listMaxHeight
49
53
  }, (_item_items = item.items) === null || _item_items === void 0 ? void 0 : _item_items.map(function(innerItem, innerIndex) {
50
54
  return /*#__PURE__*/ React.createElement(Inner, {
51
55
  key: "".concat(innerIndex, "/").concat(currentLevel),
@@ -54,7 +58,8 @@ export var Inner = function(param) {
54
58
  path: path,
55
59
  dispatchPath: dispatchPath,
56
60
  index: innerIndex,
57
- listWidth: listWidth
61
+ listWidth: listWidth,
62
+ portal: listWrapperRef
58
63
  });
59
64
  }))));
60
65
  }
@@ -76,10 +76,23 @@ export var mergeConfig = function(baseConfig, userConfig) {
76
76
  }
77
77
  return res;
78
78
  };
79
+ // INFO: Метод, который проводит слияние двух объектов
80
+ // INFO: если значение явно указанно как undefined/null/пустая строка, то будет взято значение указанное в default
81
+ function mergeWithoutNullable(defaults, componentProps) {
82
+ var props = Object.keys(defaults).reduce(function(acc, key) {
83
+ return _object_spread_props(_object_spread({}, acc), _define_property({}, key, [
84
+ null,
85
+ undefined,
86
+ ''
87
+ ].includes(componentProps[key]) ? defaults[key] : componentProps[key]));
88
+ }, {});
89
+ return _object_spread({}, componentProps, props);
90
+ }
79
91
  export function component(config) {
80
92
  var Comp = config.layout(_component(config));
81
93
  return /*#__PURE__*/ React.forwardRef(function(props, ref) {
82
- return /*#__PURE__*/ React.createElement(Comp, _object_spread_props(_object_spread({}, config === null || config === void 0 ? void 0 : config.defaults, props), {
94
+ var mergedProps = mergeWithoutNullable(config === null || config === void 0 ? void 0 : config.defaults, props);
95
+ return /*#__PURE__*/ React.createElement(Comp, _object_spread_props(_object_spread({}, mergedProps), {
83
96
  ref: ref
84
97
  }));
85
98
  });
@@ -0,0 +1,7 @@
1
+ import { component, mergeConfig } from "../../../engines";
2
+ import { comboboxNewConfig } from "../../..";
3
+ import { config } from "./Combobox.config";
4
+ var mergedConfig = mergeConfig(comboboxNewConfig, config);
5
+ var ComboboxComponent = component(mergedConfig);
6
+ var Combobox = ComboboxComponent;
7
+ export { Combobox };