@salutejs/plasma-new-hope 0.193.0-canary.1558.11807380775.0 → 0.193.0-canary.1559.11816419999.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (746) hide show
  1. package/cjs/components/Autocomplete/Autocomplete.css +21 -22
  2. package/cjs/components/Cell/Cell.js +3 -1
  3. package/cjs/components/Cell/Cell.js.map +1 -1
  4. package/cjs/components/Cell/ui/CellTextbox/CellTextbox.js +7 -1
  5. package/cjs/components/Cell/ui/CellTextbox/CellTextbox.js.map +1 -1
  6. package/cjs/components/Cell/ui/CellTextboxTitle/CellTextboxTitle.js +4 -1
  7. package/cjs/components/Cell/ui/CellTextboxTitle/CellTextboxTitle.js.map +1 -1
  8. package/cjs/components/Chip/Chip.js +3 -1
  9. package/cjs/components/Chip/Chip.js.map +1 -1
  10. package/cjs/components/Combobox/ComboboxNew/Combobox.css +21 -22
  11. package/cjs/components/Combobox/ComboboxNew/Combobox.js +0 -1
  12. package/cjs/components/Combobox/ComboboxNew/Combobox.js.map +1 -1
  13. package/cjs/components/Combobox/ComboboxNew/Combobox.tokens.js +0 -1
  14. package/cjs/components/Combobox/ComboboxNew/Combobox.tokens.js.map +1 -1
  15. package/cjs/components/Combobox/ComboboxNew/FloatingPopover.js +18 -4
  16. package/cjs/components/Combobox/ComboboxNew/FloatingPopover.js.map +1 -1
  17. package/cjs/components/Combobox/ComboboxNew/hooks/getPathMaps.js.map +1 -1
  18. package/cjs/components/Combobox/ComboboxNew/hooks/useKeyboardNavigation.js +1 -50
  19. package/cjs/components/Combobox/ComboboxNew/hooks/useKeyboardNavigation.js.map +1 -1
  20. package/cjs/components/Combobox/ComboboxNew/ui/Inner/Inner.css +21 -22
  21. package/cjs/components/Combobox/ComboboxNew/ui/Inner/ui/Item/Item.css +21 -22
  22. package/cjs/components/DatePicker/RangeDate/RangeDate.css +21 -22
  23. package/cjs/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.css +21 -22
  24. package/cjs/components/DatePicker/SingleDate/SingleDate.css +21 -22
  25. package/cjs/components/Dropdown/FloatingPopover.js.map +1 -1
  26. package/cjs/components/Modal/Modal.css +0 -6
  27. package/cjs/components/Modal/Modal.js +13 -25
  28. package/cjs/components/Modal/Modal.js.map +1 -1
  29. package/cjs/components/Modal/Modal.tokens.js +1 -5
  30. package/cjs/components/Modal/Modal.tokens.js.map +1 -1
  31. package/cjs/components/Pagination/Pagination.css +86 -37
  32. package/cjs/components/Pagination/ui/PaginationSelectPerPage/PaginationSelectPerPage.css +86 -37
  33. package/cjs/components/Pagination/ui/PaginationSelectPerPage/PaginationSelectPerPage.styles.js +1 -1
  34. package/cjs/components/Pagination/ui/PaginationSelectPerPage/PaginationSelectPerPage.styles.js.map +1 -1
  35. package/cjs/components/Pagination/ui/PaginationSelectPerPage/PaginationSelectPerPage.styles_10zfeps.css +3 -0
  36. package/cjs/components/Range/Range.css +21 -22
  37. package/cjs/components/Select/FloatingPopover.js +87 -0
  38. package/cjs/components/Select/FloatingPopover.js.map +1 -0
  39. package/cjs/components/Select/Select.css +83 -34
  40. package/cjs/components/Select/Select.js +179 -139
  41. package/cjs/components/Select/Select.js.map +1 -1
  42. package/cjs/components/Select/Select.styles.js +17 -50
  43. package/cjs/components/Select/Select.styles.js.map +1 -1
  44. package/cjs/components/Select/Select.styles_1p5c9p3.css +2 -0
  45. package/cjs/components/Select/Select.tokens.js +122 -78
  46. package/cjs/components/Select/Select.tokens.js.map +1 -1
  47. package/cjs/components/Select/hooks/useKeyboardNavigation.js +19 -72
  48. package/cjs/components/Select/hooks/useKeyboardNavigation.js.map +1 -1
  49. package/cjs/components/Select/hooks/usePathMaps.js +4 -1
  50. package/cjs/components/Select/hooks/usePathMaps.js.map +1 -1
  51. package/cjs/components/Select/ui/Inner/Inner.css +83 -34
  52. package/cjs/components/Select/ui/Inner/Inner.js +9 -9
  53. package/cjs/components/Select/ui/Inner/Inner.js.map +1 -1
  54. package/cjs/components/Select/ui/Inner/ui/Item/Item.css +83 -34
  55. package/cjs/components/Select/ui/Inner/ui/Item/Item.js +20 -12
  56. package/cjs/components/Select/ui/Inner/ui/Item/Item.js.map +1 -1
  57. package/cjs/components/Select/ui/Inner/ui/Item/Item.styles.js +34 -51
  58. package/cjs/components/Select/ui/Inner/ui/Item/Item.styles.js.map +1 -1
  59. package/cjs/components/Select/ui/Inner/ui/Item/Item.styles_1x4bzlm.css +9 -0
  60. package/cjs/components/Select/ui/Target/Target.css +58 -17
  61. package/cjs/components/Select/ui/Target/Target.js +41 -16
  62. package/cjs/components/Select/ui/Target/Target.js.map +1 -1
  63. package/cjs/components/Select/ui/Target/ui/Button/Button.css +5 -5
  64. package/cjs/components/Select/ui/Target/ui/Button/Button.js +11 -17
  65. package/cjs/components/Select/ui/Target/ui/Button/Button.js.map +1 -1
  66. package/cjs/components/Select/ui/Target/ui/Button/Button.styles.js +1 -1
  67. package/cjs/components/Select/ui/Target/ui/Button/Button.styles.js.map +1 -1
  68. package/cjs/components/Select/ui/Target/ui/Button/Button.styles_10g64me.css +5 -0
  69. package/cjs/components/Select/ui/Target/ui/Textfield/Textfield.css +53 -38
  70. package/cjs/components/Select/ui/Target/ui/Textfield/Textfield.js +84 -97
  71. package/cjs/components/Select/ui/Target/ui/Textfield/Textfield.js.map +1 -1
  72. package/cjs/components/Select/ui/Target/ui/Textfield/Textfield.styles.js +38 -103
  73. package/cjs/components/Select/ui/Target/ui/Textfield/Textfield.styles.js.map +1 -1
  74. package/cjs/components/Select/ui/Target/ui/Textfield/Textfield.styles_q4kc1p.css +3 -0
  75. package/cjs/components/Select/utils/getButtonLabel.js +1 -1
  76. package/cjs/components/Select/utils/getButtonLabel.js.map +1 -1
  77. package/cjs/components/Select/utils/getFallbackPlacements.js +15 -0
  78. package/cjs/components/Select/utils/getFallbackPlacements.js.map +1 -0
  79. package/cjs/components/Select/utils/getItemId.js +10 -0
  80. package/cjs/components/Select/utils/getItemId.js.map +1 -0
  81. package/cjs/components/Select/utils/getPlacement.js +13 -0
  82. package/cjs/components/Select/utils/getPlacement.js.map +1 -0
  83. package/cjs/components/Select/utils/getView.js +2 -2
  84. package/cjs/components/Select/utils/getView.js.map +1 -1
  85. package/cjs/components/Slider/Slider.css +21 -22
  86. package/cjs/components/Slider/components/Double/Double.css +21 -22
  87. package/cjs/components/Slider/components/DoubleUncontrolled/DoubleUncontrolled.css +21 -22
  88. package/cjs/components/Steps/Steps.css +10 -10
  89. package/cjs/components/Steps/Steps.js +21 -14
  90. package/cjs/components/Steps/Steps.js.map +1 -1
  91. package/cjs/components/Steps/Steps.styles.js +1 -1
  92. package/cjs/components/Steps/Steps.styles.js.map +1 -1
  93. package/cjs/components/Steps/{Steps.styles_1xmqxqu.css → Steps.styles_wa45kj.css} +1 -1
  94. package/cjs/components/Steps/Steps.tokens.js +1 -0
  95. package/cjs/components/Steps/Steps.tokens.js.map +1 -1
  96. package/cjs/components/Steps/ui/StepItem/StepItem.css +9 -9
  97. package/cjs/components/Steps/ui/StepItem/StepItem.js +32 -8
  98. package/cjs/components/Steps/ui/StepItem/StepItem.js.map +1 -1
  99. package/cjs/components/Steps/ui/StepItem/StepItem.styles.js +6 -6
  100. package/cjs/components/Steps/ui/StepItem/StepItem.styles.js.map +1 -1
  101. package/cjs/components/Steps/ui/StepItem/StepItem.styles_acxstj.css +9 -0
  102. package/cjs/components/TextField/TextField.js +11 -2
  103. package/cjs/components/TextField/TextField.js.map +1 -1
  104. package/cjs/components/TextField/TextField.styles.js +14 -22
  105. package/cjs/components/TextField/TextField.styles.js.map +1 -1
  106. package/{es/components/TextField/TextField.styles_grgg7q.css → cjs/components/TextField/TextField.styles_j7dqpn.css} +6 -7
  107. package/cjs/components/TextField/TextField.tokens.js +2 -1
  108. package/cjs/components/TextField/TextField.tokens.js.map +1 -1
  109. package/cjs/components/TextField/ui/Hint/Hint.css +20 -21
  110. package/cjs/components/TextField/ui/TextFieldChip/TextFieldChip.js +7 -1
  111. package/cjs/components/TextField/ui/TextFieldChip/TextFieldChip.js.map +1 -1
  112. package/cjs/components/TextField/variations/_clear/base.js +1 -1
  113. package/cjs/components/TextField/variations/_clear/{base_1i91sjp.css → base_1396md2.css} +1 -1
  114. package/cjs/components/TextField/variations/_label-placement/base.js +1 -1
  115. package/cjs/components/TextField/variations/_label-placement/base_gttvto.css +1 -0
  116. package/cjs/components/TextField/variations/_read-only/base.js +1 -1
  117. package/cjs/components/TextField/variations/_read-only/{base_17ypmu7.css → base_1jvcf9a.css} +1 -1
  118. package/cjs/components/TextField/variations/_size/base.js +1 -1
  119. package/cjs/components/TextField/variations/_size/{base_1xdmaqh.css → base_1tei47x.css} +1 -1
  120. package/cjs/components/TextField/variations/_view/base.js +1 -1
  121. package/cjs/components/TextField/variations/_view/{base_qhyte8.css → base_8ogww5.css} +1 -1
  122. package/cjs/index.css +57 -76
  123. package/cjs/index.js +2 -0
  124. package/cjs/index.js.map +1 -1
  125. package/cjs/utils/fixedForwardRef.js +12 -0
  126. package/cjs/utils/fixedForwardRef.js.map +1 -0
  127. package/cjs/utils/index.js.map +1 -1
  128. package/emotion/cjs/components/Cell/Cell.js +3 -1
  129. package/emotion/cjs/components/Cell/ui/CellTextbox/CellTextbox.js +7 -1
  130. package/emotion/cjs/components/Cell/ui/CellTextboxTitle/CellTextboxTitle.js +4 -1
  131. package/emotion/cjs/components/Chip/Chip.js +3 -1
  132. package/emotion/cjs/components/Combobox/ComboboxNew/Combobox.js +0 -1
  133. package/emotion/cjs/components/Combobox/ComboboxNew/Combobox.tokens.js +0 -1
  134. package/emotion/cjs/components/Combobox/ComboboxNew/FloatingPopover.js +19 -5
  135. package/emotion/cjs/components/Combobox/ComboboxNew/hooks/useKeyboardNavigation.js +1 -50
  136. package/emotion/cjs/components/Modal/Modal.js +12 -24
  137. package/emotion/cjs/components/Modal/Modal.template-doc.mdx +0 -47
  138. package/emotion/cjs/components/Modal/Modal.tokens.js +1 -5
  139. package/emotion/cjs/components/Pagination/ui/PaginationSelectPerPage/PaginationSelectPerPage.styles.js +3 -3
  140. package/emotion/cjs/components/Select/FloatingPopover.js +91 -0
  141. package/emotion/cjs/components/Select/Select.js +177 -136
  142. package/emotion/cjs/components/Select/Select.styles.js +13 -31
  143. package/emotion/cjs/components/Select/Select.tokens.js +125 -60
  144. package/emotion/cjs/components/Select/hooks/useKeyboardNavigation.js +19 -73
  145. package/emotion/cjs/components/Select/hooks/usePathMaps.js +4 -1
  146. package/emotion/cjs/components/Select/reducers/index.js +0 -11
  147. package/emotion/cjs/components/Select/ui/Inner/Inner.js +9 -9
  148. package/emotion/cjs/components/Select/ui/Inner/ui/Item/Item.js +19 -12
  149. package/emotion/cjs/components/Select/ui/Inner/ui/Item/Item.styles.js +27 -50
  150. package/emotion/cjs/components/Select/ui/Target/Target.js +45 -18
  151. package/emotion/cjs/components/Select/ui/Target/ui/Button/Button.js +14 -19
  152. package/emotion/cjs/components/Select/ui/Target/ui/Button/Button.styles.js +6 -6
  153. package/emotion/cjs/components/Select/ui/Target/ui/Textfield/Textfield.js +88 -99
  154. package/emotion/cjs/components/Select/ui/Target/ui/Textfield/Textfield.styles.js +27 -74
  155. package/emotion/cjs/components/Select/utils/getButtonLabel.js +1 -1
  156. package/emotion/cjs/components/Select/utils/getFallbackPlacements.js +14 -0
  157. package/emotion/cjs/components/Select/utils/getItemId.js +9 -0
  158. package/emotion/cjs/components/Select/utils/getPlacement.js +12 -0
  159. package/emotion/cjs/components/Select/utils/getView.js +2 -2
  160. package/emotion/cjs/components/Select/utils/index.js +22 -1
  161. package/emotion/cjs/components/Steps/Steps.js +23 -14
  162. package/emotion/cjs/components/Steps/Steps.styles.js +1 -1
  163. package/emotion/cjs/components/Steps/Steps.tokens.js +1 -0
  164. package/emotion/cjs/components/Steps/ui/StepItem/StepItem.js +32 -8
  165. package/emotion/cjs/components/Steps/ui/StepItem/StepItem.styles.js +22 -11
  166. package/emotion/cjs/components/TextField/TextField.js +12 -3
  167. package/emotion/cjs/components/TextField/TextField.styles.js +36 -40
  168. package/emotion/cjs/components/TextField/TextField.tokens.js +2 -1
  169. package/emotion/cjs/components/TextField/ui/TextFieldChip/TextFieldChip.js +7 -1
  170. package/emotion/cjs/examples/plasma_b2c/components/Combobox/Combobox.config.js +12 -12
  171. package/emotion/cjs/examples/plasma_b2c/components/Modal/Modal.config.js +1 -1
  172. package/emotion/cjs/examples/plasma_b2c/components/Modal/Modal.stories.tsx +1 -90
  173. package/emotion/cjs/examples/plasma_b2c/components/Select/Select.config.js +28 -20
  174. package/emotion/cjs/examples/plasma_b2c/components/Select/Select.stories.tsx +47 -40
  175. package/emotion/cjs/examples/plasma_b2c/components/Steps/Steps.config.js +5 -5
  176. package/emotion/cjs/examples/plasma_b2c/components/Steps/Steps.stories.tsx +1 -1
  177. package/emotion/cjs/examples/plasma_web/components/Modal/Modal.config.js +1 -1
  178. package/emotion/cjs/examples/plasma_web/components/Modal/Modal.stories.tsx +1 -90
  179. package/emotion/cjs/examples/plasma_web/components/Select/Select.config.js +28 -20
  180. package/emotion/cjs/examples/plasma_web/components/Select/Select.stories.tsx +47 -40
  181. package/emotion/cjs/examples/plasma_web/components/Steps/Steps.config.js +5 -5
  182. package/emotion/cjs/examples/plasma_web/components/Steps/Steps.stories.tsx +1 -1
  183. package/emotion/cjs/index.js +11 -0
  184. package/emotion/cjs/types/DistributiveOmit.js +5 -0
  185. package/emotion/cjs/types/DistributivePick.js +5 -0
  186. package/emotion/cjs/utils/fixedForwardRef.js +11 -0
  187. package/emotion/cjs/utils/index.js +9 -1
  188. package/emotion/es/components/Cell/Cell.js +3 -1
  189. package/emotion/es/components/Cell/ui/CellTextbox/CellTextbox.js +7 -1
  190. package/emotion/es/components/Cell/ui/CellTextboxTitle/CellTextboxTitle.js +4 -1
  191. package/emotion/es/components/Chip/Chip.js +3 -1
  192. package/emotion/es/components/Combobox/ComboboxNew/Combobox.js +0 -1
  193. package/emotion/es/components/Combobox/ComboboxNew/Combobox.tokens.js +0 -1
  194. package/emotion/es/components/Combobox/ComboboxNew/FloatingPopover.js +18 -4
  195. package/emotion/es/components/Combobox/ComboboxNew/hooks/useKeyboardNavigation.js +1 -50
  196. package/emotion/es/components/Modal/Modal.js +12 -24
  197. package/emotion/es/components/Modal/Modal.template-doc.mdx +0 -47
  198. package/emotion/es/components/Modal/Modal.tokens.js +1 -5
  199. package/emotion/es/components/Pagination/ui/PaginationSelectPerPage/PaginationSelectPerPage.styles.js +3 -3
  200. package/emotion/es/components/Select/FloatingPopover.js +84 -0
  201. package/emotion/es/components/Select/Select.js +182 -141
  202. package/emotion/es/components/Select/Select.styles.js +12 -30
  203. package/emotion/es/components/Select/Select.tokens.js +125 -60
  204. package/emotion/es/components/Select/hooks/useKeyboardNavigation.js +18 -72
  205. package/emotion/es/components/Select/hooks/usePathMaps.js +4 -1
  206. package/emotion/es/components/Select/reducers/index.js +1 -2
  207. package/emotion/es/components/Select/ui/Inner/Inner.js +10 -10
  208. package/emotion/es/components/Select/ui/Inner/ui/Item/Item.js +22 -15
  209. package/emotion/es/components/Select/ui/Inner/ui/Item/Item.styles.js +26 -49
  210. package/emotion/es/components/Select/ui/Target/Target.js +42 -17
  211. package/emotion/es/components/Select/ui/Target/ui/Button/Button.js +12 -19
  212. package/emotion/es/components/Select/ui/Target/ui/Button/Button.styles.js +6 -6
  213. package/emotion/es/components/Select/ui/Target/ui/Textfield/Textfield.js +86 -99
  214. package/emotion/es/components/Select/ui/Target/ui/Textfield/Textfield.styles.js +27 -74
  215. package/emotion/es/components/Select/utils/getButtonLabel.js +1 -1
  216. package/emotion/es/components/Select/utils/getFallbackPlacements.js +8 -0
  217. package/emotion/es/components/Select/utils/getItemId.js +3 -0
  218. package/emotion/es/components/Select/utils/getPlacement.js +6 -0
  219. package/emotion/es/components/Select/utils/getView.js +2 -2
  220. package/emotion/es/components/Select/utils/index.js +4 -1
  221. package/emotion/es/components/Steps/Steps.js +24 -15
  222. package/emotion/es/components/Steps/Steps.styles.js +1 -1
  223. package/emotion/es/components/Steps/Steps.tokens.js +1 -0
  224. package/emotion/es/components/Steps/ui/StepItem/StepItem.js +32 -8
  225. package/emotion/es/components/Steps/ui/StepItem/StepItem.styles.js +22 -11
  226. package/emotion/es/components/TextField/TextField.js +12 -3
  227. package/emotion/es/components/TextField/TextField.styles.js +36 -40
  228. package/emotion/es/components/TextField/TextField.tokens.js +2 -1
  229. package/emotion/es/components/TextField/ui/TextFieldChip/TextFieldChip.js +7 -1
  230. package/emotion/es/examples/plasma_b2c/components/Combobox/Combobox.config.js +12 -12
  231. package/emotion/es/examples/plasma_b2c/components/Modal/Modal.config.js +1 -1
  232. package/emotion/es/examples/plasma_b2c/components/Modal/Modal.stories.tsx +1 -90
  233. package/emotion/es/examples/plasma_b2c/components/Select/Select.config.js +29 -21
  234. package/emotion/es/examples/plasma_b2c/components/Select/Select.stories.tsx +47 -40
  235. package/emotion/es/examples/plasma_b2c/components/Steps/Steps.config.js +5 -5
  236. package/emotion/es/examples/plasma_b2c/components/Steps/Steps.stories.tsx +1 -1
  237. package/emotion/es/examples/plasma_web/components/Modal/Modal.config.js +1 -1
  238. package/emotion/es/examples/plasma_web/components/Modal/Modal.stories.tsx +1 -90
  239. package/emotion/es/examples/plasma_web/components/Select/Select.config.js +29 -21
  240. package/emotion/es/examples/plasma_web/components/Select/Select.stories.tsx +47 -40
  241. package/emotion/es/examples/plasma_web/components/Steps/Steps.config.js +5 -5
  242. package/emotion/es/examples/plasma_web/components/Steps/Steps.stories.tsx +1 -1
  243. package/emotion/es/index.js +1 -0
  244. package/emotion/es/types/DistributiveOmit.js +1 -0
  245. package/emotion/es/types/DistributivePick.js +1 -0
  246. package/emotion/es/utils/fixedForwardRef.js +4 -0
  247. package/emotion/es/utils/index.js +2 -1
  248. package/es/components/Autocomplete/Autocomplete.css +21 -22
  249. package/es/components/Cell/Cell.js +3 -1
  250. package/es/components/Cell/Cell.js.map +1 -1
  251. package/es/components/Cell/ui/CellTextbox/CellTextbox.js +7 -1
  252. package/es/components/Cell/ui/CellTextbox/CellTextbox.js.map +1 -1
  253. package/es/components/Cell/ui/CellTextboxTitle/CellTextboxTitle.js +4 -1
  254. package/es/components/Cell/ui/CellTextboxTitle/CellTextboxTitle.js.map +1 -1
  255. package/es/components/Chip/Chip.js +3 -1
  256. package/es/components/Chip/Chip.js.map +1 -1
  257. package/es/components/Combobox/ComboboxNew/Combobox.css +21 -22
  258. package/es/components/Combobox/ComboboxNew/Combobox.js +0 -1
  259. package/es/components/Combobox/ComboboxNew/Combobox.js.map +1 -1
  260. package/es/components/Combobox/ComboboxNew/Combobox.tokens.js +0 -1
  261. package/es/components/Combobox/ComboboxNew/Combobox.tokens.js.map +1 -1
  262. package/es/components/Combobox/ComboboxNew/FloatingPopover.js +18 -4
  263. package/es/components/Combobox/ComboboxNew/FloatingPopover.js.map +1 -1
  264. package/es/components/Combobox/ComboboxNew/hooks/getPathMaps.js.map +1 -1
  265. package/es/components/Combobox/ComboboxNew/hooks/useKeyboardNavigation.js +1 -50
  266. package/es/components/Combobox/ComboboxNew/hooks/useKeyboardNavigation.js.map +1 -1
  267. package/es/components/Combobox/ComboboxNew/ui/Inner/Inner.css +21 -22
  268. package/es/components/Combobox/ComboboxNew/ui/Inner/ui/Item/Item.css +21 -22
  269. package/es/components/DatePicker/RangeDate/RangeDate.css +21 -22
  270. package/es/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.css +21 -22
  271. package/es/components/DatePicker/SingleDate/SingleDate.css +21 -22
  272. package/es/components/Dropdown/FloatingPopover.js.map +1 -1
  273. package/es/components/Modal/Modal.css +0 -6
  274. package/es/components/Modal/Modal.js +13 -25
  275. package/es/components/Modal/Modal.js.map +1 -1
  276. package/es/components/Modal/Modal.tokens.js +1 -5
  277. package/es/components/Modal/Modal.tokens.js.map +1 -1
  278. package/es/components/Pagination/Pagination.css +86 -37
  279. package/es/components/Pagination/ui/PaginationSelectPerPage/PaginationSelectPerPage.css +86 -37
  280. package/es/components/Pagination/ui/PaginationSelectPerPage/PaginationSelectPerPage.styles.js +1 -1
  281. package/es/components/Pagination/ui/PaginationSelectPerPage/PaginationSelectPerPage.styles.js.map +1 -1
  282. package/es/components/Pagination/ui/PaginationSelectPerPage/PaginationSelectPerPage.styles_10zfeps.css +3 -0
  283. package/es/components/Range/Range.css +21 -22
  284. package/es/components/Select/FloatingPopover.js +83 -0
  285. package/es/components/Select/FloatingPopover.js.map +1 -0
  286. package/es/components/Select/Select.css +83 -34
  287. package/es/components/Select/Select.js +182 -142
  288. package/es/components/Select/Select.js.map +1 -1
  289. package/es/components/Select/Select.styles.js +18 -48
  290. package/es/components/Select/Select.styles.js.map +1 -1
  291. package/es/components/Select/Select.styles_1p5c9p3.css +2 -0
  292. package/es/components/Select/Select.tokens.js +123 -78
  293. package/es/components/Select/Select.tokens.js.map +1 -1
  294. package/es/components/Select/hooks/useKeyboardNavigation.js +19 -73
  295. package/es/components/Select/hooks/useKeyboardNavigation.js.map +1 -1
  296. package/es/components/Select/hooks/usePathMaps.js +4 -1
  297. package/es/components/Select/hooks/usePathMaps.js.map +1 -1
  298. package/es/components/Select/ui/Inner/Inner.css +83 -34
  299. package/es/components/Select/ui/Inner/Inner.js +10 -10
  300. package/es/components/Select/ui/Inner/Inner.js.map +1 -1
  301. package/es/components/Select/ui/Inner/ui/Item/Item.css +83 -34
  302. package/es/components/Select/ui/Inner/ui/Item/Item.js +22 -14
  303. package/es/components/Select/ui/Inner/ui/Item/Item.js.map +1 -1
  304. package/es/components/Select/ui/Inner/ui/Item/Item.styles.js +33 -50
  305. package/es/components/Select/ui/Inner/ui/Item/Item.styles.js.map +1 -1
  306. package/es/components/Select/ui/Inner/ui/Item/Item.styles_1x4bzlm.css +9 -0
  307. package/es/components/Select/ui/Target/Target.css +58 -17
  308. package/es/components/Select/ui/Target/Target.js +42 -17
  309. package/es/components/Select/ui/Target/Target.js.map +1 -1
  310. package/es/components/Select/ui/Target/ui/Button/Button.css +5 -5
  311. package/es/components/Select/ui/Target/ui/Button/Button.js +12 -18
  312. package/es/components/Select/ui/Target/ui/Button/Button.js.map +1 -1
  313. package/es/components/Select/ui/Target/ui/Button/Button.styles.js +1 -1
  314. package/es/components/Select/ui/Target/ui/Button/Button.styles.js.map +1 -1
  315. package/es/components/Select/ui/Target/ui/Button/Button.styles_10g64me.css +5 -0
  316. package/es/components/Select/ui/Target/ui/Textfield/Textfield.css +53 -38
  317. package/es/components/Select/ui/Target/ui/Textfield/Textfield.js +86 -99
  318. package/es/components/Select/ui/Target/ui/Textfield/Textfield.js.map +1 -1
  319. package/es/components/Select/ui/Target/ui/Textfield/Textfield.styles.js +39 -95
  320. package/es/components/Select/ui/Target/ui/Textfield/Textfield.styles.js.map +1 -1
  321. package/es/components/Select/ui/Target/ui/Textfield/Textfield.styles_q4kc1p.css +3 -0
  322. package/es/components/Select/utils/getButtonLabel.js +1 -1
  323. package/es/components/Select/utils/getButtonLabel.js.map +1 -1
  324. package/es/components/Select/utils/getFallbackPlacements.js +11 -0
  325. package/es/components/Select/utils/getFallbackPlacements.js.map +1 -0
  326. package/es/components/Select/utils/getItemId.js +6 -0
  327. package/es/components/Select/utils/getItemId.js.map +1 -0
  328. package/es/components/Select/utils/getPlacement.js +9 -0
  329. package/es/components/Select/utils/getPlacement.js.map +1 -0
  330. package/es/components/Select/utils/getView.js +2 -2
  331. package/es/components/Select/utils/getView.js.map +1 -1
  332. package/es/components/Slider/Slider.css +21 -22
  333. package/es/components/Slider/components/Double/Double.css +21 -22
  334. package/es/components/Slider/components/DoubleUncontrolled/DoubleUncontrolled.css +21 -22
  335. package/es/components/Steps/Steps.css +10 -10
  336. package/es/components/Steps/Steps.js +23 -16
  337. package/es/components/Steps/Steps.js.map +1 -1
  338. package/es/components/Steps/Steps.styles.js +1 -1
  339. package/es/components/Steps/Steps.styles.js.map +1 -1
  340. package/es/components/Steps/{Steps.styles_1xmqxqu.css → Steps.styles_wa45kj.css} +1 -1
  341. package/es/components/Steps/Steps.tokens.js +1 -0
  342. package/es/components/Steps/Steps.tokens.js.map +1 -1
  343. package/es/components/Steps/ui/StepItem/StepItem.css +9 -9
  344. package/es/components/Steps/ui/StepItem/StepItem.js +33 -9
  345. package/es/components/Steps/ui/StepItem/StepItem.js.map +1 -1
  346. package/es/components/Steps/ui/StepItem/StepItem.styles.js +6 -6
  347. package/es/components/Steps/ui/StepItem/StepItem.styles.js.map +1 -1
  348. package/es/components/Steps/ui/StepItem/StepItem.styles_acxstj.css +9 -0
  349. package/es/components/TextField/TextField.js +11 -2
  350. package/es/components/TextField/TextField.js.map +1 -1
  351. package/es/components/TextField/TextField.styles.js +14 -22
  352. package/es/components/TextField/TextField.styles.js.map +1 -1
  353. package/{cjs/components/TextField/TextField.styles_grgg7q.css → es/components/TextField/TextField.styles_j7dqpn.css} +6 -7
  354. package/es/components/TextField/TextField.tokens.js +2 -1
  355. package/es/components/TextField/TextField.tokens.js.map +1 -1
  356. package/es/components/TextField/ui/Hint/Hint.css +20 -21
  357. package/es/components/TextField/ui/TextFieldChip/TextFieldChip.js +7 -1
  358. package/es/components/TextField/ui/TextFieldChip/TextFieldChip.js.map +1 -1
  359. package/es/components/TextField/variations/_clear/base.js +1 -1
  360. package/es/components/TextField/variations/_clear/{base_1i91sjp.css → base_1396md2.css} +1 -1
  361. package/es/components/TextField/variations/_label-placement/base.js +1 -1
  362. package/es/components/TextField/variations/_label-placement/base_gttvto.css +1 -0
  363. package/es/components/TextField/variations/_read-only/base.js +1 -1
  364. package/es/components/TextField/variations/_read-only/{base_17ypmu7.css → base_1jvcf9a.css} +1 -1
  365. package/es/components/TextField/variations/_size/base.js +1 -1
  366. package/es/components/TextField/variations/_size/{base_1xdmaqh.css → base_1tei47x.css} +1 -1
  367. package/es/components/TextField/variations/_view/base.js +1 -1
  368. package/es/components/TextField/variations/_view/{base_qhyte8.css → base_8ogww5.css} +1 -1
  369. package/es/index.css +57 -76
  370. package/es/index.js +1 -0
  371. package/es/index.js.map +1 -1
  372. package/es/utils/fixedForwardRef.js +8 -0
  373. package/es/utils/fixedForwardRef.js.map +1 -0
  374. package/es/utils/index.js.map +1 -1
  375. package/package.json +5 -5
  376. package/styled-components/cjs/components/Cell/Cell.js +3 -1
  377. package/styled-components/cjs/components/Cell/ui/CellTextbox/CellTextbox.js +7 -1
  378. package/styled-components/cjs/components/Cell/ui/CellTextboxTitle/CellTextboxTitle.js +4 -1
  379. package/styled-components/cjs/components/Chip/Chip.js +3 -1
  380. package/styled-components/cjs/components/Combobox/ComboboxNew/Combobox.js +0 -1
  381. package/styled-components/cjs/components/Combobox/ComboboxNew/Combobox.tokens.js +0 -1
  382. package/styled-components/cjs/components/Combobox/ComboboxNew/FloatingPopover.js +19 -5
  383. package/styled-components/cjs/components/Combobox/ComboboxNew/hooks/useKeyboardNavigation.js +1 -50
  384. package/styled-components/cjs/components/Modal/Modal.js +12 -24
  385. package/styled-components/cjs/components/Modal/Modal.template-doc.mdx +0 -47
  386. package/styled-components/cjs/components/Modal/Modal.tokens.js +1 -5
  387. package/styled-components/cjs/components/Pagination/ui/PaginationSelectPerPage/PaginationSelectPerPage.styles.js +1 -1
  388. package/styled-components/cjs/components/Select/FloatingPopover.js +91 -0
  389. package/styled-components/cjs/components/Select/Select.js +177 -136
  390. package/styled-components/cjs/components/Select/Select.styles.js +12 -27
  391. package/styled-components/cjs/components/Select/Select.tokens.js +125 -60
  392. package/styled-components/cjs/components/Select/hooks/useKeyboardNavigation.js +19 -73
  393. package/styled-components/cjs/components/Select/hooks/usePathMaps.js +4 -1
  394. package/styled-components/cjs/components/Select/reducers/index.js +0 -11
  395. package/styled-components/cjs/components/Select/ui/Inner/Inner.js +9 -9
  396. package/styled-components/cjs/components/Select/ui/Inner/ui/Item/Item.js +19 -12
  397. package/styled-components/cjs/components/Select/ui/Inner/ui/Item/Item.styles.js +20 -26
  398. package/styled-components/cjs/components/Select/ui/Target/Target.js +45 -18
  399. package/styled-components/cjs/components/Select/ui/Target/ui/Button/Button.js +14 -19
  400. package/styled-components/cjs/components/Select/ui/Target/ui/Button/Button.styles.js +3 -3
  401. package/styled-components/cjs/components/Select/ui/Target/ui/Textfield/Textfield.js +88 -99
  402. package/styled-components/cjs/components/Select/ui/Target/ui/Textfield/Textfield.styles.js +23 -61
  403. package/styled-components/cjs/components/Select/utils/getButtonLabel.js +1 -1
  404. package/styled-components/cjs/components/Select/utils/getFallbackPlacements.js +14 -0
  405. package/styled-components/cjs/components/Select/utils/getItemId.js +9 -0
  406. package/styled-components/cjs/components/Select/utils/getPlacement.js +12 -0
  407. package/styled-components/cjs/components/Select/utils/getView.js +2 -2
  408. package/styled-components/cjs/components/Select/utils/index.js +22 -1
  409. package/styled-components/cjs/components/Steps/Steps.js +23 -14
  410. package/styled-components/cjs/components/Steps/Steps.styles.js +1 -1
  411. package/styled-components/cjs/components/Steps/Steps.tokens.js +1 -0
  412. package/styled-components/cjs/components/Steps/ui/StepItem/StepItem.js +32 -8
  413. package/styled-components/cjs/components/Steps/ui/StepItem/StepItem.styles.js +17 -6
  414. package/styled-components/cjs/components/TextField/TextField.js +11 -2
  415. package/styled-components/cjs/components/TextField/TextField.styles.js +12 -15
  416. package/styled-components/cjs/components/TextField/TextField.tokens.js +2 -1
  417. package/styled-components/cjs/components/TextField/ui/TextFieldChip/TextFieldChip.js +7 -1
  418. package/styled-components/cjs/examples/plasma_b2c/components/Combobox/Combobox.config.js +1 -1
  419. package/styled-components/cjs/examples/plasma_b2c/components/Modal/Modal.config.js +1 -1
  420. package/styled-components/cjs/examples/plasma_b2c/components/Modal/Modal.stories.tsx +1 -90
  421. package/styled-components/cjs/examples/plasma_b2c/components/Select/Select.config.js +28 -20
  422. package/styled-components/cjs/examples/plasma_b2c/components/Select/Select.stories.tsx +47 -40
  423. package/styled-components/cjs/examples/plasma_b2c/components/Steps/Steps.config.js +1 -1
  424. package/styled-components/cjs/examples/plasma_b2c/components/Steps/Steps.stories.tsx +1 -1
  425. package/styled-components/cjs/examples/plasma_web/components/Modal/Modal.config.js +1 -1
  426. package/styled-components/cjs/examples/plasma_web/components/Modal/Modal.stories.tsx +1 -90
  427. package/styled-components/cjs/examples/plasma_web/components/Select/Select.config.js +28 -20
  428. package/styled-components/cjs/examples/plasma_web/components/Select/Select.stories.tsx +47 -40
  429. package/styled-components/cjs/examples/plasma_web/components/Steps/Steps.config.js +1 -1
  430. package/styled-components/cjs/examples/plasma_web/components/Steps/Steps.stories.tsx +1 -1
  431. package/styled-components/cjs/index.js +11 -0
  432. package/styled-components/cjs/types/DistributiveOmit.js +5 -0
  433. package/styled-components/cjs/types/DistributivePick.js +5 -0
  434. package/styled-components/cjs/utils/fixedForwardRef.js +11 -0
  435. package/styled-components/cjs/utils/index.js +9 -1
  436. package/styled-components/es/components/Cell/Cell.js +3 -1
  437. package/styled-components/es/components/Cell/ui/CellTextbox/CellTextbox.js +7 -1
  438. package/styled-components/es/components/Cell/ui/CellTextboxTitle/CellTextboxTitle.js +4 -1
  439. package/styled-components/es/components/Chip/Chip.js +3 -1
  440. package/styled-components/es/components/Combobox/ComboboxNew/Combobox.js +0 -1
  441. package/styled-components/es/components/Combobox/ComboboxNew/Combobox.tokens.js +0 -1
  442. package/styled-components/es/components/Combobox/ComboboxNew/FloatingPopover.js +18 -4
  443. package/styled-components/es/components/Combobox/ComboboxNew/hooks/useKeyboardNavigation.js +1 -50
  444. package/styled-components/es/components/Modal/Modal.js +12 -24
  445. package/styled-components/es/components/Modal/Modal.template-doc.mdx +0 -47
  446. package/styled-components/es/components/Modal/Modal.tokens.js +1 -5
  447. package/styled-components/es/components/Pagination/ui/PaginationSelectPerPage/PaginationSelectPerPage.styles.js +1 -1
  448. package/styled-components/es/components/Select/FloatingPopover.js +84 -0
  449. package/styled-components/es/components/Select/Select.js +182 -141
  450. package/styled-components/es/components/Select/Select.styles.js +11 -26
  451. package/styled-components/es/components/Select/Select.tokens.js +125 -60
  452. package/styled-components/es/components/Select/hooks/useKeyboardNavigation.js +18 -72
  453. package/styled-components/es/components/Select/hooks/usePathMaps.js +4 -1
  454. package/styled-components/es/components/Select/reducers/index.js +1 -2
  455. package/styled-components/es/components/Select/ui/Inner/Inner.js +10 -10
  456. package/styled-components/es/components/Select/ui/Inner/ui/Item/Item.js +22 -15
  457. package/styled-components/es/components/Select/ui/Inner/ui/Item/Item.styles.js +19 -25
  458. package/styled-components/es/components/Select/ui/Target/Target.js +42 -17
  459. package/styled-components/es/components/Select/ui/Target/ui/Button/Button.js +12 -19
  460. package/styled-components/es/components/Select/ui/Target/ui/Button/Button.styles.js +3 -3
  461. package/styled-components/es/components/Select/ui/Target/ui/Textfield/Textfield.js +86 -99
  462. package/styled-components/es/components/Select/ui/Target/ui/Textfield/Textfield.styles.js +23 -61
  463. package/styled-components/es/components/Select/utils/getButtonLabel.js +1 -1
  464. package/styled-components/es/components/Select/utils/getFallbackPlacements.js +8 -0
  465. package/styled-components/es/components/Select/utils/getItemId.js +3 -0
  466. package/styled-components/es/components/Select/utils/getPlacement.js +6 -0
  467. package/styled-components/es/components/Select/utils/getView.js +2 -2
  468. package/styled-components/es/components/Select/utils/index.js +4 -1
  469. package/styled-components/es/components/Steps/Steps.js +24 -15
  470. package/styled-components/es/components/Steps/Steps.styles.js +1 -1
  471. package/styled-components/es/components/Steps/Steps.tokens.js +1 -0
  472. package/styled-components/es/components/Steps/ui/StepItem/StepItem.js +32 -8
  473. package/styled-components/es/components/Steps/ui/StepItem/StepItem.styles.js +17 -6
  474. package/styled-components/es/components/TextField/TextField.js +11 -2
  475. package/styled-components/es/components/TextField/TextField.styles.js +12 -15
  476. package/styled-components/es/components/TextField/TextField.tokens.js +2 -1
  477. package/styled-components/es/components/TextField/ui/TextFieldChip/TextFieldChip.js +7 -1
  478. package/styled-components/es/examples/plasma_b2c/components/Combobox/Combobox.config.js +1 -1
  479. package/styled-components/es/examples/plasma_b2c/components/Modal/Modal.config.js +1 -1
  480. package/styled-components/es/examples/plasma_b2c/components/Modal/Modal.stories.tsx +1 -90
  481. package/styled-components/es/examples/plasma_b2c/components/Select/Select.config.js +29 -21
  482. package/styled-components/es/examples/plasma_b2c/components/Select/Select.stories.tsx +47 -40
  483. package/styled-components/es/examples/plasma_b2c/components/Steps/Steps.config.js +1 -1
  484. package/styled-components/es/examples/plasma_b2c/components/Steps/Steps.stories.tsx +1 -1
  485. package/styled-components/es/examples/plasma_web/components/Modal/Modal.config.js +1 -1
  486. package/styled-components/es/examples/plasma_web/components/Modal/Modal.stories.tsx +1 -90
  487. package/styled-components/es/examples/plasma_web/components/Select/Select.config.js +29 -21
  488. package/styled-components/es/examples/plasma_web/components/Select/Select.stories.tsx +47 -40
  489. package/styled-components/es/examples/plasma_web/components/Steps/Steps.config.js +1 -1
  490. package/styled-components/es/examples/plasma_web/components/Steps/Steps.stories.tsx +1 -1
  491. package/styled-components/es/index.js +1 -0
  492. package/styled-components/es/types/DistributiveOmit.js +1 -0
  493. package/styled-components/es/types/DistributivePick.js +1 -0
  494. package/styled-components/es/utils/fixedForwardRef.js +4 -0
  495. package/styled-components/es/utils/index.js +2 -1
  496. package/types/components/Attach/ui/Button/Button.styles.d.ts +2 -2
  497. package/types/components/Attach/ui/IconButton/IconButton.styles.d.ts +4 -4
  498. package/types/components/Autocomplete/ui/TextField/TextField.styles.d.ts +16 -16
  499. package/types/components/Autocomplete/ui/TextField/TextField.styles.d.ts.map +1 -1
  500. package/types/components/Calendar/ui/CalendarHeader/CalendarHeader.styles.d.ts +2 -2
  501. package/types/components/Cell/Cell.d.ts.map +1 -1
  502. package/types/components/Cell/ui/CellTextbox/CellTextbox.d.ts.map +1 -1
  503. package/types/components/Cell/ui/CellTextboxTitle/CellTextboxTitle.d.ts.map +1 -1
  504. package/types/components/Chip/Chip.d.ts.map +1 -1
  505. package/types/components/Combobox/ComboboxNew/Combobox.d.ts.map +1 -1
  506. package/types/components/Combobox/ComboboxNew/Combobox.tokens.d.ts +0 -1
  507. package/types/components/Combobox/ComboboxNew/Combobox.tokens.d.ts.map +1 -1
  508. package/types/components/Combobox/ComboboxNew/Combobox.types.d.ts +4 -3
  509. package/types/components/Combobox/ComboboxNew/Combobox.types.d.ts.map +1 -1
  510. package/types/components/Combobox/ComboboxNew/FloatingPopover.d.ts.map +1 -1
  511. package/types/components/Combobox/ComboboxNew/hooks/useKeyboardNavigation.d.ts +1 -3
  512. package/types/components/Combobox/ComboboxNew/hooks/useKeyboardNavigation.d.ts.map +1 -1
  513. package/types/components/Combobox/ComboboxNew/ui/Target/Target.styles.d.ts +16 -16
  514. package/types/components/Combobox/ComboboxNew/ui/Target/Target.styles.d.ts.map +1 -1
  515. package/types/components/DatePicker/SingleDate/SingleDate.styles.d.ts +16 -16
  516. package/types/components/DatePicker/SingleDate/SingleDate.styles.d.ts.map +1 -1
  517. package/types/components/EmptyState/EmptyState.styles.d.ts +2 -2
  518. package/types/components/Modal/Modal.d.ts.map +1 -1
  519. package/types/components/Modal/Modal.tokens.d.ts +0 -4
  520. package/types/components/Modal/Modal.tokens.d.ts.map +1 -1
  521. package/types/components/Modal/Modal.types.d.ts +1 -21
  522. package/types/components/Modal/Modal.types.d.ts.map +1 -1
  523. package/types/components/Modal/index.d.ts +1 -1
  524. package/types/components/Modal/index.d.ts.map +1 -1
  525. package/types/components/Notification/Notification.styles.d.ts +2 -2
  526. package/types/components/NumberInput/ui/ActionButton/ActionButton.styles.d.ts +2 -2
  527. package/types/components/Pagination/Pagination.styles.d.ts +4 -4
  528. package/types/components/Pagination/ui/PaginationSelectPerPage/PaginationSelectPerPage.styles.d.ts +42 -42
  529. package/types/components/Panel/ui/PanelHeader/PanelHeader.styles.d.ts +2 -2
  530. package/types/components/Range/Range.styles.d.ts +16 -16
  531. package/types/components/Range/Range.styles.d.ts.map +1 -1
  532. package/types/components/Select/FloatingPopover.d.ts +5 -0
  533. package/types/components/Select/FloatingPopover.d.ts.map +1 -0
  534. package/types/components/Select/Select.d.ts +5 -11
  535. package/types/components/Select/Select.d.ts.map +1 -1
  536. package/types/components/Select/Select.styles.d.ts +0 -9
  537. package/types/components/Select/Select.styles.d.ts.map +1 -1
  538. package/types/components/Select/Select.tokens.d.ts +121 -58
  539. package/types/components/Select/Select.tokens.d.ts.map +1 -1
  540. package/types/components/Select/Select.types.d.ts +42 -21
  541. package/types/components/Select/Select.types.d.ts.map +1 -1
  542. package/types/components/Select/hooks/useKeyboardNavigation.d.ts +5 -11
  543. package/types/components/Select/hooks/useKeyboardNavigation.d.ts.map +1 -1
  544. package/types/components/Select/hooks/usePathMaps.d.ts +2 -1
  545. package/types/components/Select/hooks/usePathMaps.d.ts.map +1 -1
  546. package/types/components/Select/index.d.ts +1 -1
  547. package/types/components/Select/index.d.ts.map +1 -1
  548. package/types/components/Select/reducers/index.d.ts +0 -1
  549. package/types/components/Select/reducers/index.d.ts.map +1 -1
  550. package/types/components/Select/ui/Inner/Inner.d.ts.map +1 -1
  551. package/types/components/Select/ui/Inner/ui/Item/Item.d.ts.map +1 -1
  552. package/types/components/Select/ui/Inner/ui/Item/Item.styles.d.ts +32 -2
  553. package/types/components/Select/ui/Inner/ui/Item/Item.styles.d.ts.map +1 -1
  554. package/types/components/Select/ui/Inner/ui/Item/Item.types.d.ts +9 -0
  555. package/types/components/Select/ui/Inner/ui/Item/Item.types.d.ts.map +1 -1
  556. package/types/components/Select/ui/Target/Target.d.ts +14 -2
  557. package/types/components/Select/ui/Target/Target.d.ts.map +1 -1
  558. package/types/components/Select/ui/Target/Target.types.d.ts +10 -9
  559. package/types/components/Select/ui/Target/Target.types.d.ts.map +1 -1
  560. package/types/components/Select/ui/Target/ui/Button/Button.d.ts +1 -1
  561. package/types/components/Select/ui/Target/ui/Button/Button.d.ts.map +1 -1
  562. package/types/components/Select/ui/Target/ui/Button/Button.styles.d.ts +2 -2
  563. package/types/components/Select/ui/Target/ui/Button/Button.types.d.ts +1 -1
  564. package/types/components/Select/ui/Target/ui/Button/Button.types.d.ts.map +1 -1
  565. package/types/components/Select/ui/Target/ui/Textfield/Textfield.d.ts +1 -1
  566. package/types/components/Select/ui/Target/ui/Textfield/Textfield.d.ts.map +1 -1
  567. package/types/components/Select/ui/Target/ui/Textfield/Textfield.styles.d.ts +628 -60
  568. package/types/components/Select/ui/Target/ui/Textfield/Textfield.styles.d.ts.map +1 -1
  569. package/types/components/Select/ui/Target/ui/Textfield/Textfield.types.d.ts +1 -4
  570. package/types/components/Select/ui/Target/ui/Textfield/Textfield.types.d.ts.map +1 -1
  571. package/types/components/Select/utils/getFallbackPlacements.d.ts +4 -0
  572. package/types/components/Select/utils/getFallbackPlacements.d.ts.map +1 -0
  573. package/types/components/Select/utils/getItemId.d.ts +2 -0
  574. package/types/components/Select/utils/getItemId.d.ts.map +1 -0
  575. package/types/components/Select/utils/getPlacement.d.ts +4 -0
  576. package/types/components/Select/utils/getPlacement.d.ts.map +1 -0
  577. package/types/components/Select/utils/getView.d.ts +1 -1
  578. package/types/components/Select/utils/getView.d.ts.map +1 -1
  579. package/types/components/Select/utils/index.d.ts +3 -0
  580. package/types/components/Select/utils/index.d.ts.map +1 -1
  581. package/types/components/Slider/components/Double/Double.styles.d.ts +16 -16
  582. package/types/components/Slider/components/Double/Double.styles.d.ts.map +1 -1
  583. package/types/components/Steps/Steps.d.ts.map +1 -1
  584. package/types/components/Steps/Steps.styles.d.ts.map +1 -1
  585. package/types/components/Steps/Steps.tokens.d.ts +1 -0
  586. package/types/components/Steps/Steps.tokens.d.ts.map +1 -1
  587. package/types/components/Steps/ui/StepItem/StepItem.d.ts.map +1 -1
  588. package/types/components/Steps/ui/StepItem/StepItem.styles.d.ts +2 -2
  589. package/types/components/Steps/ui/StepItem/StepItem.styles.d.ts.map +1 -1
  590. package/types/components/TextField/TextField.d.ts.map +1 -1
  591. package/types/components/TextField/TextField.styles.d.ts +1 -3
  592. package/types/components/TextField/TextField.styles.d.ts.map +1 -1
  593. package/types/components/TextField/TextField.tokens.d.ts +1 -0
  594. package/types/components/TextField/TextField.tokens.d.ts.map +1 -1
  595. package/types/components/TextField/ui/TextFieldChip/TextFieldChip.d.ts +3 -1
  596. package/types/components/TextField/ui/TextFieldChip/TextFieldChip.d.ts.map +1 -1
  597. package/types/components/Toast/Toast.styles.d.ts +2 -2
  598. package/types/components/Toast/utils.d.ts +2 -2
  599. package/types/examples/plasma_b2c/components/Attach/Attach.d.ts +8 -8
  600. package/types/examples/plasma_b2c/components/Button/Button.d.ts +2 -2
  601. package/types/examples/plasma_b2c/components/Combobox/Combobox.d.ts +24 -24
  602. package/types/examples/plasma_b2c/components/IconButton/IconButton.d.ts +2 -2
  603. package/types/examples/plasma_b2c/components/Mask/Mask.d.ts +16 -16
  604. package/types/examples/plasma_b2c/components/Mask/Mask.d.ts.map +1 -1
  605. package/types/examples/plasma_b2c/components/Modal/Modal.config.d.ts.map +1 -1
  606. package/types/examples/plasma_b2c/components/Modal/Modal.d.ts +1 -7
  607. package/types/examples/plasma_b2c/components/Modal/Modal.d.ts.map +1 -1
  608. package/types/examples/plasma_b2c/components/Radiobox/Radiobox.d.ts +1 -1
  609. package/types/examples/plasma_b2c/components/Radiobox/Radiobox.d.ts.map +1 -1
  610. package/types/examples/plasma_b2c/components/Select/Select.config.d.ts +15 -7
  611. package/types/examples/plasma_b2c/components/Select/Select.config.d.ts.map +1 -1
  612. package/types/examples/plasma_b2c/components/Select/Select.d.ts +55 -48
  613. package/types/examples/plasma_b2c/components/Select/Select.d.ts.map +1 -1
  614. package/types/examples/plasma_b2c/components/Steps/Steps.config.d.ts.map +1 -1
  615. package/types/examples/plasma_b2c/components/TextArea/TextArea.d.ts +16 -16
  616. package/types/examples/plasma_b2c/components/TextField/TextField.d.ts +16 -16
  617. package/types/examples/plasma_b2c/components/TextField/TextField.d.ts.map +1 -1
  618. package/types/examples/plasma_web/components/Attach/Attach.d.ts +8 -8
  619. package/types/examples/plasma_web/components/Button/Button.d.ts +2 -2
  620. package/types/examples/plasma_web/components/Combobox/Combobox.d.ts +24 -24
  621. package/types/examples/plasma_web/components/IconButton/IconButton.d.ts +2 -2
  622. package/types/examples/plasma_web/components/Mask/Mask.d.ts +16 -16
  623. package/types/examples/plasma_web/components/Mask/Mask.d.ts.map +1 -1
  624. package/types/examples/plasma_web/components/Modal/Modal.config.d.ts.map +1 -1
  625. package/types/examples/plasma_web/components/Modal/Modal.d.ts +1 -7
  626. package/types/examples/plasma_web/components/Modal/Modal.d.ts.map +1 -1
  627. package/types/examples/plasma_web/components/Radiobox/Radiobox.d.ts +1 -1
  628. package/types/examples/plasma_web/components/Radiobox/Radiobox.d.ts.map +1 -1
  629. package/types/examples/plasma_web/components/Select/Select.config.d.ts +15 -7
  630. package/types/examples/plasma_web/components/Select/Select.config.d.ts.map +1 -1
  631. package/types/examples/plasma_web/components/Select/Select.d.ts +55 -48
  632. package/types/examples/plasma_web/components/Select/Select.d.ts.map +1 -1
  633. package/types/examples/plasma_web/components/Steps/Steps.config.d.ts.map +1 -1
  634. package/types/examples/plasma_web/components/TextArea/TextArea.d.ts +16 -16
  635. package/types/examples/plasma_web/components/TextField/TextField.d.ts +16 -16
  636. package/types/examples/plasma_web/components/TextField/TextField.d.ts.map +1 -1
  637. package/types/index.d.ts +1 -0
  638. package/types/index.d.ts.map +1 -1
  639. package/types/types/DistributiveOmit.d.ts +2 -0
  640. package/types/types/DistributiveOmit.d.ts.map +1 -0
  641. package/types/types/DistributivePick.d.ts +2 -0
  642. package/types/types/DistributivePick.d.ts.map +1 -0
  643. package/types/types/index.d.ts +2 -0
  644. package/types/types/index.d.ts.map +1 -1
  645. package/types/utils/fixedForwardRef.d.ts +3 -0
  646. package/types/utils/fixedForwardRef.d.ts.map +1 -0
  647. package/types/utils/index.d.ts +1 -0
  648. package/types/utils/index.d.ts.map +1 -1
  649. package/cjs/components/Modal/Modal.styles.js +0 -27
  650. package/cjs/components/Modal/Modal.styles.js.map +0 -1
  651. package/cjs/components/Modal/Modal.styles_1fjhyqd.css +0 -3
  652. package/cjs/components/Pagination/ui/PaginationSelectPerPage/PaginationSelectPerPage.styles_1fesyfv.css +0 -3
  653. package/cjs/components/Select/Select.styles_768h42.css +0 -5
  654. package/cjs/components/Select/reducers/focusedChipIndexReducer.js +0 -39
  655. package/cjs/components/Select/reducers/focusedChipIndexReducer.js.map +0 -1
  656. package/cjs/components/Select/ui/Inner/ui/Item/Item.styles_8oe5oy.css +0 -9
  657. package/cjs/components/Select/ui/Target/ui/Button/Button.styles_lxxm4p.css +0 -5
  658. package/cjs/components/Select/ui/Target/ui/Textfield/Textfield.styles_1damf5p.css +0 -12
  659. package/cjs/components/Select/ui/Target/ui/Textfield/ui/Chip/Chip.css +0 -21
  660. package/cjs/components/Select/ui/Target/ui/Textfield/ui/Chip/Chip.js +0 -36
  661. package/cjs/components/Select/ui/Target/ui/Textfield/ui/Chip/Chip.js.map +0 -1
  662. package/cjs/components/Select/ui/Target/ui/Textfield/ui/Chip/Chip.styles.js +0 -22
  663. package/cjs/components/Select/ui/Target/ui/Textfield/ui/Chip/Chip.styles.js.map +0 -1
  664. package/cjs/components/Select/ui/Target/ui/Textfield/ui/Chip/Chip.styles_1a752pa.css +0 -1
  665. package/cjs/components/Select/variations/_size/base.js +0 -9
  666. package/cjs/components/Select/variations/_size/base.js.map +0 -1
  667. package/cjs/components/Select/variations/_size/base_x642ct.css +0 -1
  668. package/cjs/components/Select/variations/_view/base.js +0 -9
  669. package/cjs/components/Select/variations/_view/base.js.map +0 -1
  670. package/cjs/components/Select/variations/_view/base_x642ct.css +0 -1
  671. package/cjs/components/Steps/ui/StepItem/StepItem.styles_sp9rcd.css +0 -9
  672. package/cjs/components/TextField/variations/_label-placement/base_3domm.css +0 -1
  673. package/emotion/cjs/components/Modal/Modal.styles.js +0 -30
  674. package/emotion/cjs/components/Select/reducers/focusedChipIndexReducer.js +0 -38
  675. package/emotion/cjs/components/Select/ui/Target/ui/Textfield/ui/Chip/Chip.js +0 -37
  676. package/emotion/cjs/components/Select/ui/Target/ui/Textfield/ui/Chip/Chip.styles.js +0 -22
  677. package/emotion/cjs/components/Select/ui/Target/ui/Textfield/ui/index.js +0 -16
  678. package/emotion/cjs/components/Select/variations/_size/base.js +0 -8
  679. package/emotion/cjs/components/Select/variations/_size/tokens.json +0 -9
  680. package/emotion/cjs/components/Select/variations/_view/base.js +0 -8
  681. package/emotion/cjs/components/Select/variations/_view/tokens.json +0 -1
  682. package/emotion/es/components/Modal/Modal.styles.js +0 -23
  683. package/emotion/es/components/Select/reducers/focusedChipIndexReducer.js +0 -32
  684. package/emotion/es/components/Select/ui/Target/ui/Textfield/ui/Chip/Chip.js +0 -28
  685. package/emotion/es/components/Select/ui/Target/ui/Textfield/ui/Chip/Chip.styles.js +0 -15
  686. package/emotion/es/components/Select/ui/Target/ui/Textfield/ui/index.js +0 -1
  687. package/emotion/es/components/Select/variations/_size/base.js +0 -2
  688. package/emotion/es/components/Select/variations/_size/tokens.json +0 -9
  689. package/emotion/es/components/Select/variations/_view/base.js +0 -2
  690. package/emotion/es/components/Select/variations/_view/tokens.json +0 -1
  691. package/es/components/Modal/Modal.styles.js +0 -21
  692. package/es/components/Modal/Modal.styles.js.map +0 -1
  693. package/es/components/Modal/Modal.styles_1fjhyqd.css +0 -3
  694. package/es/components/Pagination/ui/PaginationSelectPerPage/PaginationSelectPerPage.styles_1fesyfv.css +0 -3
  695. package/es/components/Select/Select.styles_768h42.css +0 -5
  696. package/es/components/Select/reducers/focusedChipIndexReducer.js +0 -35
  697. package/es/components/Select/reducers/focusedChipIndexReducer.js.map +0 -1
  698. package/es/components/Select/ui/Inner/ui/Item/Item.styles_8oe5oy.css +0 -9
  699. package/es/components/Select/ui/Target/ui/Button/Button.styles_lxxm4p.css +0 -5
  700. package/es/components/Select/ui/Target/ui/Textfield/Textfield.styles_1damf5p.css +0 -12
  701. package/es/components/Select/ui/Target/ui/Textfield/ui/Chip/Chip.css +0 -21
  702. package/es/components/Select/ui/Target/ui/Textfield/ui/Chip/Chip.js +0 -32
  703. package/es/components/Select/ui/Target/ui/Textfield/ui/Chip/Chip.js.map +0 -1
  704. package/es/components/Select/ui/Target/ui/Textfield/ui/Chip/Chip.styles.js +0 -18
  705. package/es/components/Select/ui/Target/ui/Textfield/ui/Chip/Chip.styles.js.map +0 -1
  706. package/es/components/Select/ui/Target/ui/Textfield/ui/Chip/Chip.styles_1a752pa.css +0 -1
  707. package/es/components/Select/variations/_size/base.js +0 -5
  708. package/es/components/Select/variations/_size/base.js.map +0 -1
  709. package/es/components/Select/variations/_size/base_x642ct.css +0 -1
  710. package/es/components/Select/variations/_view/base.js +0 -5
  711. package/es/components/Select/variations/_view/base.js.map +0 -1
  712. package/es/components/Select/variations/_view/base_x642ct.css +0 -1
  713. package/es/components/Steps/ui/StepItem/StepItem.styles_sp9rcd.css +0 -9
  714. package/es/components/TextField/variations/_label-placement/base_3domm.css +0 -1
  715. package/styled-components/cjs/components/Modal/Modal.styles.js +0 -18
  716. package/styled-components/cjs/components/Select/reducers/focusedChipIndexReducer.js +0 -38
  717. package/styled-components/cjs/components/Select/ui/Target/ui/Textfield/ui/Chip/Chip.js +0 -37
  718. package/styled-components/cjs/components/Select/ui/Target/ui/Textfield/ui/Chip/Chip.styles.js +0 -21
  719. package/styled-components/cjs/components/Select/ui/Target/ui/Textfield/ui/index.js +0 -16
  720. package/styled-components/cjs/components/Select/variations/_size/base.js +0 -8
  721. package/styled-components/cjs/components/Select/variations/_size/tokens.json +0 -9
  722. package/styled-components/cjs/components/Select/variations/_view/base.js +0 -8
  723. package/styled-components/cjs/components/Select/variations/_view/tokens.json +0 -1
  724. package/styled-components/es/components/Modal/Modal.styles.js +0 -11
  725. package/styled-components/es/components/Select/reducers/focusedChipIndexReducer.js +0 -32
  726. package/styled-components/es/components/Select/ui/Target/ui/Textfield/ui/Chip/Chip.js +0 -28
  727. package/styled-components/es/components/Select/ui/Target/ui/Textfield/ui/Chip/Chip.styles.js +0 -14
  728. package/styled-components/es/components/Select/ui/Target/ui/Textfield/ui/index.js +0 -1
  729. package/styled-components/es/components/Select/variations/_size/base.js +0 -2
  730. package/styled-components/es/components/Select/variations/_size/tokens.json +0 -9
  731. package/styled-components/es/components/Select/variations/_view/base.js +0 -2
  732. package/styled-components/es/components/Select/variations/_view/tokens.json +0 -1
  733. package/types/components/Modal/Modal.styles.d.ts +0 -5
  734. package/types/components/Modal/Modal.styles.d.ts.map +0 -1
  735. package/types/components/Select/reducers/focusedChipIndexReducer.d.ts +0 -11
  736. package/types/components/Select/reducers/focusedChipIndexReducer.d.ts.map +0 -1
  737. package/types/components/Select/ui/Target/ui/Textfield/ui/Chip/Chip.d.ts +0 -9
  738. package/types/components/Select/ui/Target/ui/Textfield/ui/Chip/Chip.d.ts.map +0 -1
  739. package/types/components/Select/ui/Target/ui/Textfield/ui/Chip/Chip.styles.d.ts +0 -3
  740. package/types/components/Select/ui/Target/ui/Textfield/ui/Chip/Chip.styles.d.ts.map +0 -1
  741. package/types/components/Select/ui/Target/ui/Textfield/ui/index.d.ts +0 -2
  742. package/types/components/Select/ui/Target/ui/Textfield/ui/index.d.ts.map +0 -1
  743. package/types/components/Select/variations/_size/base.d.ts +0 -2
  744. package/types/components/Select/variations/_size/base.d.ts.map +0 -1
  745. package/types/components/Select/variations/_view/base.d.ts +0 -2
  746. package/types/components/Select/variations/_view/base.d.ts.map +0 -1
@@ -1,26 +1,24 @@
1
1
  import { objectWithoutProperties as _objectWithoutProperties, slicedToArray as _slicedToArray, extends as _extends } from '../../_virtual/_rollupPluginBabelHelpers.js';
2
- import React, { forwardRef, useMemo, useReducer, useState, useLayoutEffect, createContext } from 'react';
3
- import { useKeyNavigation } from './hooks/useKeyboardNavigation.js';
2
+ import React, { forwardRef, useMemo, useState, useRef, useReducer, useLayoutEffect, createContext } from 'react';
3
+ import { safeUseId } from '@salutejs/plasma-core';
4
+ import { getItemByFocused, useKeyNavigation } from './hooks/useKeyboardNavigation.js';
4
5
  import { usePathMaps } from './hooks/usePathMaps.js';
5
- import { OuterLabel, StyledPopover, Ul, HelperText, base } from './Select.styles.js';
6
- import { base as base$1 } from './variations/_view/base.js';
7
- import { base as base$2 } from './variations/_size/base.js';
6
+ import { Ul, base } from './Select.styles.js';
7
+ import { FloatingPopover } from './FloatingPopover.js';
8
8
  import { initialItemsTransform } from './utils/initialItemsTransform.js';
9
9
  import { getInitialValue } from './utils/getInitialValue.js';
10
10
  import { pathReducer } from './reducers/pathReducer.js';
11
11
  import { focusedPathReducer } from './reducers/focusedPathReducer.js';
12
- import { focusedChipIndexReducer } from './reducers/focusedChipIndexReducer.js';
13
12
  import { useOutsideClick } from '../../hooks/useOutsideClick.js';
14
13
  import { isEmpty } from '../../utils/isEmpty.js';
15
14
  import { updateDescendants } from './utils/updateDescendants.js';
16
15
  import { updateAncestors } from './utils/updateAncestors.js';
17
16
  import { updateSingleAncestors } from './utils/updateSingleAncestors.js';
18
- import { getView } from './utils/getView.js';
19
- import { getPlacements } from '../../utils/getPopoverPlacement.js';
20
17
  import { Target } from './ui/Target/Target.js';
21
18
  import { Inner } from './ui/Inner/Inner.js';
19
+ import { getView } from './utils/getView.js';
22
20
 
23
- var _excluded = ["value", "onChange", "target", "items", "placement", "label", "labelPlacement", "placeholder", "helperText", "disabled", "view", "size", "listOverflow", "listHeight", "listWidth", "contentLeft", "onScrollBottom", "chipView", "variant", "portal", "renderValue", "renderItem", "status", "onItemSelect", "separator", "closeAfterSelect"];
21
+ var _excluded = ["value", "onChange", "target", "items", "placement", "label", "labelPlacement", "placeholder", "helperText", "disabled", "view", "size", "listOverflow", "listHeight", "listWidth", "contentLeft", "onScrollBottom", "chipView", "variant", "portal", "renderValue", "renderItem", "status", "onItemSelect", "separator", "closeAfterSelect", "isTargetAmount"];
24
22
  var Context = /*#__PURE__*/createContext({});
25
23
 
26
24
  /**
@@ -28,21 +26,21 @@ var Context = /*#__PURE__*/createContext({});
28
26
  */
29
27
  var selectRoot = function selectRoot(Root) {
30
28
  return /*#__PURE__*/forwardRef(function (props, ref) {
29
+ var _getItemByFocused;
31
30
  var outerValue = props.value,
32
31
  outerOnChange = props.onChange,
33
32
  _props$target = props.target,
34
- target = _props$target === void 0 ? 'textfield-like' : _props$target,
33
+ _target = _props$target === void 0 ? 'textfield-like' : _props$target,
35
34
  items = props.items,
36
35
  _props$placement = props.placement,
37
36
  placement = _props$placement === void 0 ? 'bottom' : _props$placement,
38
37
  label = props.label,
39
- _props$labelPlacement = props.labelPlacement,
40
- labelPlacement = _props$labelPlacement === void 0 ? 'outer' : _props$labelPlacement,
38
+ labelPlacement = props.labelPlacement,
41
39
  placeholder = props.placeholder,
42
40
  helperText = props.helperText,
43
41
  _props$disabled = props.disabled,
44
42
  disabled = _props$disabled === void 0 ? false : _props$disabled,
45
- view = props.view,
43
+ outerView = props.view,
46
44
  size = props.size,
47
45
  listOverflow = props.listOverflow,
48
46
  listHeight = props.listHeight,
@@ -57,23 +55,30 @@ var selectRoot = function selectRoot(Root) {
57
55
  renderItem = props.renderItem,
58
56
  status = props.status,
59
57
  onItemSelect = props.onItemSelect,
58
+ separator = props.separator,
60
59
  outerCloseAfterSelect = props.closeAfterSelect,
60
+ isTargetAmount = props.isTargetAmount,
61
61
  rest = _objectWithoutProperties(props, _excluded);
62
62
  var transformedItems = useMemo(function () {
63
63
  return initialItemsTransform(items || []);
64
64
  }, [items]);
65
+
66
+ // Создаем структуры для быстрой работы с деревом
65
67
  var _usePathMaps = usePathMaps(transformedItems),
66
- _usePathMaps2 = _slicedToArray(_usePathMaps, 4),
68
+ _usePathMaps2 = _slicedToArray(_usePathMaps, 5),
67
69
  pathMap = _usePathMaps2[0],
68
70
  focusedToValueMap = _usePathMaps2[1],
69
71
  valueToCheckedMap = _usePathMaps2[2],
70
- valueToItemMap = _usePathMaps2[3];
71
- var value = getInitialValue(outerValue, valueToItemMap);
72
- var onChange = function onChange(e) {
73
- if (outerOnChange) {
74
- outerOnChange(e);
75
- }
76
- };
72
+ valueToItemMap = _usePathMaps2[3],
73
+ labelToItemMap = _usePathMaps2[4];
74
+ var _useState = useState(props.multiselect ? [] : ''),
75
+ _useState2 = _slicedToArray(_useState, 2),
76
+ internalValue = _useState2[0],
77
+ setInternalValue = _useState2[1];
78
+ var value = outerValue !== null && outerValue !== undefined ? getInitialValue(outerValue, valueToItemMap) : internalValue;
79
+ var floatingPopoverRef = useRef(null);
80
+
81
+ // Состояния дерева элементов
77
82
  var _useReducer = useReducer(pathReducer, []),
78
83
  _useReducer2 = _slicedToArray(_useReducer, 2),
79
84
  path = _useReducer2[0],
@@ -82,23 +87,53 @@ var selectRoot = function selectRoot(Root) {
82
87
  _useReducer4 = _slicedToArray(_useReducer3, 2),
83
88
  focusedPath = _useReducer4[0],
84
89
  dispatchFocusedPath = _useReducer4[1];
85
- var _useReducer5 = useReducer(focusedChipIndexReducer, null),
86
- _useReducer6 = _slicedToArray(_useReducer5, 2),
87
- focusedChipIndex = _useReducer6[0],
88
- dispatchFocusedChipIndex = _useReducer6[1];
89
- var _useState = useState(valueToCheckedMap),
90
- _useState2 = _slicedToArray(_useState, 2),
91
- checked = _useState2[0],
92
- setChecked = _useState2[1];
90
+ var _useState3 = useState(valueToCheckedMap),
91
+ _useState4 = _slicedToArray(_useState3, 2),
92
+ checked = _useState4[0],
93
+ setChecked = _useState4[1];
94
+ var isCurrentListOpen = Boolean(path[0]);
95
+ var activeDescendantItemValue = ((_getItemByFocused = getItemByFocused(focusedPath, focusedToValueMap)) === null || _getItemByFocused === void 0 ? void 0 : _getItemByFocused.value.toString()) || '';
93
96
  var closeAfterSelect = outerCloseAfterSelect !== null && outerCloseAfterSelect !== void 0 ? outerCloseAfterSelect : !props.multiselect;
97
+ var treeId = safeUseId();
98
+ var view = _target === 'textfield-like' && disabled ? 'default' : getView(status, outerView);
94
99
  var targetRef = useOutsideClick(function () {
95
- if (focusedChipIndex != null) {
96
- dispatchFocusedChipIndex({
100
+ if (!isCurrentListOpen) {
101
+ return;
102
+ }
103
+ dispatchPath({
104
+ type: 'reset'
105
+ });
106
+ dispatchFocusedPath({
107
+ type: 'reset'
108
+ });
109
+ }, floatingPopoverRef);
110
+ var onChange = function onChange(newValue) {
111
+ if (outerOnChange) {
112
+ outerOnChange(newValue);
113
+ }
114
+ setInternalValue(newValue);
115
+ };
116
+ var handleClickArrow = function handleClickArrow() {
117
+ if (disabled) {
118
+ return;
119
+ }
120
+ if (isCurrentListOpen) {
121
+ dispatchPath({
97
122
  type: 'reset'
98
123
  });
124
+ } else {
125
+ dispatchPath({
126
+ type: 'opened_first_level'
127
+ });
128
+ }
129
+ dispatchFocusedPath({
130
+ type: 'reset'
131
+ });
132
+ };
133
+ var handleListToggle = function handleListToggle(opened) {
134
+ if (disabled) {
135
+ return;
99
136
  }
100
- });
101
- var handleToggle = function handleToggle(opened) {
102
137
  if (opened) {
103
138
  dispatchPath({
104
139
  type: 'opened_first_level'
@@ -110,39 +145,37 @@ var selectRoot = function selectRoot(Root) {
110
145
  dispatchPath({
111
146
  type: 'reset'
112
147
  });
113
- dispatchFocusedChipIndex({
114
- type: 'reset'
115
- });
116
148
  }
117
149
  };
118
150
  var handleCheckboxChange = function handleCheckboxChange(item) {
119
- if (props.multiselect) {
120
- var checkedCopy = new Map(checked);
121
- if (!checkedCopy.get(item.value)) {
122
- checkedCopy.set(item.value, true);
123
- updateDescendants(item, checkedCopy, true);
124
- } else {
125
- checkedCopy.set(item.value, false);
126
- updateDescendants(item, checkedCopy, false);
151
+ if (!props.multiselect) {
152
+ return;
153
+ }
154
+ var checkedCopy = new Map(checked);
155
+ if (!checkedCopy.get(item.value)) {
156
+ checkedCopy.set(item.value, true);
157
+ updateDescendants(item, checkedCopy, true);
158
+ } else {
159
+ checkedCopy.set(item.value, false);
160
+ updateDescendants(item, checkedCopy, false);
161
+ }
162
+ updateAncestors(item, checkedCopy);
163
+ var newValues = [];
164
+ valueToItemMap.forEach(function (item, key) {
165
+ if (checkedCopy.get(key)) {
166
+ newValues.push(item.value);
127
167
  }
128
- updateAncestors(item, checkedCopy);
129
- var newValues = [];
130
- valueToItemMap.forEach(function (item, key) {
131
- if (checkedCopy.get(key)) {
132
- newValues.push(item.value);
133
- }
168
+ });
169
+ if (closeAfterSelect) {
170
+ dispatchPath({
171
+ type: 'reset'
134
172
  });
135
- if (closeAfterSelect) {
136
- dispatchPath({
137
- type: 'reset'
138
- });
139
- dispatchFocusedPath({
140
- type: 'reset'
141
- });
142
- }
143
- if (onChange) {
144
- onChange(newValues);
145
- }
173
+ dispatchFocusedPath({
174
+ type: 'reset'
175
+ });
176
+ }
177
+ if (onChange) {
178
+ onChange(newValues);
146
179
  }
147
180
  };
148
181
  var handleItemClick = function handleItemClick(item, e) {
@@ -151,29 +184,26 @@ var selectRoot = function selectRoot(Root) {
151
184
  }
152
185
  if (props.multiselect) {
153
186
  handleCheckboxChange(item);
154
- } else {
155
- if (e) {
156
- e.stopPropagation();
157
- }
158
- var isCurrentChecked = checked.get(item.value);
159
- if (closeAfterSelect) {
160
- dispatchPath({
161
- type: 'reset'
162
- });
163
- dispatchFocusedPath({
164
- type: 'reset'
165
- });
166
- }
167
- if (onChange) {
168
- onChange(isCurrentChecked ? '' : item.value);
169
- }
170
- if (onItemSelect) {
171
- onItemSelect(item, e);
172
- }
187
+ return;
188
+ }
189
+ if (e) {
190
+ e.stopPropagation();
191
+ }
192
+ var isCurrentChecked = checked.get(item.value);
193
+ if (closeAfterSelect) {
194
+ dispatchPath({
195
+ type: 'reset'
196
+ });
197
+ dispatchFocusedPath({
198
+ type: 'reset'
199
+ });
200
+ }
201
+ if (onChange) {
202
+ onChange(isCurrentChecked ? '' : item.value);
203
+ }
204
+ if (onItemSelect) {
205
+ onItemSelect(item, e);
173
206
  }
174
- };
175
- var handleChipClick = function handleChipClick(currentValue) {
176
- handleCheckboxChange(valueToItemMap.get(currentValue));
177
207
  };
178
208
  var handlePressDown = function handlePressDown(item, e) {
179
209
  if (isEmpty(item.items)) {
@@ -190,25 +220,19 @@ var selectRoot = function selectRoot(Root) {
190
220
  }
191
221
  };
192
222
  var _useKeyNavigation = useKeyNavigation({
193
- value: value,
194
223
  focusedPath: focusedPath,
195
224
  dispatchFocusedPath: dispatchFocusedPath,
196
225
  path: path,
197
226
  dispatchPath: dispatchPath,
198
227
  pathMap: pathMap,
199
228
  focusedToValueMap: focusedToValueMap,
200
- handleToggle: handleToggle,
201
- handlePressDown: handlePressDown,
202
- focusedChipIndex: focusedChipIndex,
203
- dispatchFocusedChipIndex: dispatchFocusedChipIndex,
204
- valueToItemMap: valueToItemMap,
205
- multiselect: props.multiselect,
206
- isTargetAmount: props.isTargetAmount
229
+ handleListToggle: handleListToggle,
230
+ handlePressDown: handlePressDown
207
231
  }),
208
232
  onKeyDown = _useKeyNavigation.onKeyDown;
209
- var isCurrentListOpen = Boolean(path[0]);
210
233
 
211
- // В данном эффекте мы следим за изменениями value и вносим коррективы в дерево чекбоксов.
234
+ // В данном эффекте мы следим за изменениями value снаружи и вносим коррективы в дерево чекбоксов.
235
+ // Пример: когда юзер очистил value извне, тогда нужно пройтись по элементам и выключить все чекбоксы.
212
236
  useLayoutEffect(function () {
213
237
  var checkedCopy = new Map(checked);
214
238
  checkedCopy.forEach(function (_, key) {
@@ -227,13 +251,18 @@ var selectRoot = function selectRoot(Root) {
227
251
  }
228
252
  }
229
253
  setChecked(checkedCopy);
230
- }, [outerValue, items]);
254
+
255
+ // В deps мы кладем именно outerValue и internalValue, а не просто value.
256
+ // Т.к. вначале нужно отфильтровать и провалидировать outerValue и результат положить в переменную.
257
+ // А переменную, содержащую сложные типы данных, нельзя помещать в deps.
258
+ }, [outerValue, internalValue, items]);
231
259
  return /*#__PURE__*/React.createElement(Root, _extends({
232
- ref: ref,
260
+ view: view,
233
261
  size: size,
234
- view: status ? getView(status) : view,
235
- chipView: chipView
236
- }, rest), label && labelPlacement === 'outer' && target !== 'button-like' && /*#__PURE__*/React.createElement(OuterLabel, null, label), /*#__PURE__*/React.createElement(Context.Provider, {
262
+ labelPlacement: labelPlacement,
263
+ chipView: chipView,
264
+ disabled: disabled
265
+ }, rest), /*#__PURE__*/React.createElement(Context.Provider, {
237
266
  value: {
238
267
  focusedPath: focusedPath,
239
268
  checked: checked,
@@ -243,46 +272,63 @@ var selectRoot = function selectRoot(Root) {
243
272
  handleItemClick: handleItemClick,
244
273
  variant: variant,
245
274
  renderItem: renderItem,
246
- valueToItemMap: valueToItemMap
275
+ valueToItemMap: valueToItemMap,
276
+ treeId: treeId
247
277
  }
248
- }, /*#__PURE__*/React.createElement(StyledPopover, {
249
- ref: targetRef,
278
+ }, /*#__PURE__*/React.createElement(FloatingPopover, {
279
+ ref: floatingPopoverRef,
250
280
  opened: isCurrentListOpen,
251
- placement: getPlacements(placement),
252
- usePortal: Boolean(portal),
253
- frame: portal,
254
- onToggle: handleToggle,
255
- trigger: "click",
256
- target: /*#__PURE__*/React.createElement(Target, {
257
- opened: isCurrentListOpen,
258
- value: value,
259
- valueToItemMap: valueToItemMap,
260
- focusedPath: focusedPath,
261
- focusedToValueMap: focusedToValueMap,
262
- onChipClick: handleChipClick,
263
- label: label,
264
- placeholder: placeholder,
265
- onKeyDown: onKeyDown,
266
- focusedChipIndex: focusedChipIndex,
267
- labelPlacement: labelPlacement,
268
- selectProps: props,
269
- size: size,
270
- contentLeft: contentLeft,
271
- disabled: disabled,
272
- renderValue: renderValue
273
- }),
274
- preventOverflow: false,
275
- closeOnOverlayClick: true,
276
- listWidth: listWidth
277
- }, items && /*#__PURE__*/React.createElement(Root, _extends({
278
- size: size
281
+ onToggle: function onToggle(opened) {
282
+ return opened && handleListToggle(true);
283
+ },
284
+ placement: placement,
285
+ portal: portal,
286
+ listWidth: listWidth,
287
+ target: function target(referenceRef) {
288
+ return /*#__PURE__*/React.createElement(Target, {
289
+ ref: ref,
290
+ target: _target,
291
+ value: value,
292
+ opened: isCurrentListOpen,
293
+ valueToItemMap: valueToItemMap,
294
+ label: label,
295
+ placeholder: placeholder,
296
+ onKeyDown: onKeyDown,
297
+ labelPlacement: labelPlacement,
298
+ size: size,
299
+ contentLeft: contentLeft,
300
+ disabled: disabled,
301
+ renderValue: renderValue,
302
+ selectProps: props,
303
+ inputWrapperRef: referenceRef,
304
+ multiselect: props.multiselect,
305
+ view: view,
306
+ handleClickArrow: handleClickArrow,
307
+ helperText: helperText,
308
+ treeId: treeId,
309
+ activeDescendantItemValue: activeDescendantItemValue,
310
+ isTargetAmount: isTargetAmount,
311
+ onChange: onChange,
312
+ labelToItemMap: labelToItemMap,
313
+ chipView: chipView,
314
+ separator: separator
315
+ });
316
+ }
317
+ }, /*#__PURE__*/React.createElement(Root, _extends({
318
+ view: view,
319
+ size: size,
320
+ labelPlacement: labelPlacement,
321
+ chipView: chipView,
322
+ disabled: disabled
279
323
  }, rest), /*#__PURE__*/React.createElement(Ul, {
280
324
  role: "tree",
281
- id: "tree_level_1",
325
+ id: "".concat(treeId, "_tree_level_1"),
326
+ "aria-multiselectable": Boolean(props.multiselect),
282
327
  listHeight: listHeight,
283
328
  listOverflow: listOverflow,
284
329
  onScroll: handleScroll,
285
- listWidth: listWidth
330
+ listWidth: listWidth,
331
+ ref: targetRef
286
332
  }, transformedItems.map(function (item, index) {
287
333
  return /*#__PURE__*/React.createElement(Inner, {
288
334
  key: "".concat(index, "/0"),
@@ -293,7 +339,7 @@ var selectRoot = function selectRoot(Root) {
293
339
  index: index,
294
340
  listWidth: listWidth
295
341
  });
296
- }))))), helperText && target === 'textfield-like' && /*#__PURE__*/React.createElement(HelperText, null, helperText));
342
+ }))))));
297
343
  });
298
344
  };
299
345
  var selectConfig = {
@@ -301,18 +347,12 @@ var selectConfig = {
301
347
  tag: 'div',
302
348
  layout: selectRoot,
303
349
  base: base,
304
- variations: {
305
- view: {
306
- css: base$1
307
- },
308
- size: {
309
- css: base$2
310
- }
311
- },
350
+ variations: {},
312
351
  defaults: {
313
352
  view: 'default',
314
- chipView: 'default',
315
- size: 'm'
353
+ size: 'm',
354
+ labelPlacement: 'outer',
355
+ chipView: 'default'
316
356
  }
317
357
  };
318
358
 
@@ -1 +1 @@
1
- {"version":3,"file":"Select.js","sources":["../../../src/components/Select/Select.tsx"],"sourcesContent":["import React, { forwardRef, useState, useReducer, useMemo, createContext, useLayoutEffect } from 'react';\n\nimport { RootProps } from '../../engines';\nimport { isEmpty, getPlacements } from '../../utils';\nimport { useOutsideClick } from '../../hooks';\n\nimport { useKeyNavigation } from './hooks/useKeyboardNavigation';\nimport {\n initialItemsTransform,\n updateAncestors,\n updateDescendants,\n updateSingleAncestors,\n getView,\n getInitialValue,\n} from './utils';\nimport { Inner, Target } from './ui';\nimport { pathReducer, focusedPathReducer, focusedChipIndexReducer } from './reducers';\nimport { usePathMaps } from './hooks/usePathMaps';\nimport { StyledPopover, Ul, base, OuterLabel, HelperText } from './Select.styles';\nimport type { ItemContext, MergedSelectProps } from './Select.types';\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as sizeCSS } from './variations/_size/base';\nimport type { MergedDropdownNodeTransformed } from './ui/Inner/ui/Item/Item.types';\n\nexport const Context = createContext<ItemContext>({} as ItemContext);\n\n/**\n * Выпадающий список. Поддерживает выбор одного или нескольких значений.\n */\nexport const selectRoot = (Root: RootProps<HTMLButtonElement, Omit<MergedSelectProps, 'items'>>) =>\n forwardRef<HTMLButtonElement, MergedSelectProps>((props, ref) => {\n const {\n value: outerValue,\n onChange: outerOnChange,\n target = 'textfield-like',\n items,\n placement = 'bottom',\n label,\n labelPlacement = 'outer',\n placeholder,\n helperText,\n disabled = false,\n view,\n size,\n listOverflow,\n listHeight,\n listWidth,\n contentLeft,\n onScrollBottom,\n chipView,\n variant = 'normal',\n portal,\n renderValue,\n renderItem,\n status,\n onItemSelect,\n separator,\n closeAfterSelect: outerCloseAfterSelect,\n ...rest\n } = props;\n\n const transformedItems = useMemo(() => initialItemsTransform(items || []), [items]);\n const [pathMap, focusedToValueMap, valueToCheckedMap, valueToItemMap] = usePathMaps(transformedItems);\n\n const value = getInitialValue(outerValue, valueToItemMap);\n\n const onChange = (e: string | number | Array<string | number>) => {\n if (outerOnChange) {\n outerOnChange(e as any);\n }\n };\n\n const [path, dispatchPath] = useReducer(pathReducer, []);\n const [focusedPath, dispatchFocusedPath] = useReducer(focusedPathReducer, []);\n const [focusedChipIndex, dispatchFocusedChipIndex] = useReducer(focusedChipIndexReducer, null);\n const [checked, setChecked] = useState(valueToCheckedMap);\n\n const closeAfterSelect = outerCloseAfterSelect ?? !props.multiselect;\n\n const targetRef = useOutsideClick<HTMLDivElement>(() => {\n if (focusedChipIndex != null) {\n dispatchFocusedChipIndex({ type: 'reset' });\n }\n });\n\n const handleToggle = (opened: boolean) => {\n if (opened) {\n dispatchPath({ type: 'opened_first_level' });\n } else {\n dispatchFocusedPath({ type: 'reset' });\n dispatchPath({ type: 'reset' });\n dispatchFocusedChipIndex({ type: 'reset' });\n }\n };\n\n const handleCheckboxChange = (item: MergedDropdownNodeTransformed) => {\n if (props.multiselect) {\n const checkedCopy = new Map(checked);\n\n if (!checkedCopy.get(item.value)) {\n checkedCopy.set(item.value, true);\n updateDescendants(item, checkedCopy, true);\n } else {\n checkedCopy.set(item.value, false);\n updateDescendants(item, checkedCopy, false);\n }\n\n updateAncestors(item, checkedCopy);\n\n const newValues: Array<string | number> = [];\n\n valueToItemMap.forEach((item, key) => {\n if (checkedCopy.get(key)) {\n newValues.push(item.value);\n }\n });\n\n if (closeAfterSelect) {\n dispatchPath({ type: 'reset' });\n dispatchFocusedPath({ type: 'reset' });\n }\n\n if (onChange) {\n onChange(newValues);\n }\n }\n };\n\n const handleItemClick = (item: MergedDropdownNodeTransformed, e?: React.MouseEvent<HTMLElement>) => {\n if (!isEmpty(item?.items)) {\n return;\n }\n\n if (props.multiselect) {\n handleCheckboxChange(item);\n } else {\n if (e) {\n e.stopPropagation();\n }\n\n const isCurrentChecked = checked.get(item.value);\n\n if (closeAfterSelect) {\n dispatchPath({ type: 'reset' });\n dispatchFocusedPath({ type: 'reset' });\n }\n\n if (onChange) {\n onChange(isCurrentChecked ? '' : item.value);\n }\n\n if (onItemSelect) {\n onItemSelect(item, e!);\n }\n }\n };\n\n const handleChipClick = (currentValue: string) => {\n handleCheckboxChange(valueToItemMap.get(currentValue)!);\n };\n\n const handlePressDown = (item: MergedDropdownNodeTransformed, e?: React.MouseEvent<HTMLElement>) => {\n if (isEmpty(item.items)) {\n handleItemClick(item, e);\n } else if (props.multiselect) {\n handleCheckboxChange(item);\n }\n };\n\n const handleScroll = (e: React.UIEvent<HTMLUListElement>) => {\n if (!onScrollBottom) return;\n\n const { target } = e;\n\n if (\n (target as HTMLElement).scrollHeight - (target as HTMLElement).scrollTop ===\n (target as HTMLElement).clientHeight\n ) {\n onScrollBottom(e);\n }\n };\n\n const { onKeyDown } = useKeyNavigation({\n value,\n focusedPath,\n dispatchFocusedPath,\n path,\n dispatchPath,\n pathMap,\n focusedToValueMap,\n handleToggle,\n handlePressDown,\n focusedChipIndex,\n dispatchFocusedChipIndex,\n valueToItemMap,\n multiselect: props.multiselect,\n isTargetAmount: props.isTargetAmount,\n });\n\n const isCurrentListOpen = Boolean(path[0]);\n\n // В данном эффекте мы следим за изменениями value и вносим коррективы в дерево чекбоксов.\n useLayoutEffect(() => {\n const checkedCopy = new Map(checked);\n\n checkedCopy.forEach((_, key) => {\n checkedCopy.set(key, false);\n });\n\n if (!isEmpty(value) || typeof value === 'number') {\n if (Array.isArray(value)) {\n value.forEach((val) => {\n checkedCopy.set(val, true);\n updateDescendants(valueToItemMap.get(val)!, checkedCopy, true);\n updateAncestors(valueToItemMap.get(val)!, checkedCopy);\n });\n } else {\n checkedCopy.set(value, 'done');\n updateSingleAncestors(valueToItemMap.get(value)!, checkedCopy, 'dot');\n }\n }\n\n setChecked(checkedCopy);\n }, [outerValue, items]);\n\n return (\n <Root ref={ref} size={size} view={status ? getView(status) : view} chipView={chipView} {...(rest as any)}>\n {label && labelPlacement === 'outer' && target !== 'button-like' && <OuterLabel>{label}</OuterLabel>}\n <Context.Provider\n value={{\n focusedPath,\n checked,\n multiselect: props.multiselect,\n size,\n handleCheckboxChange,\n handleItemClick,\n variant,\n renderItem,\n valueToItemMap,\n }}\n >\n <StyledPopover\n ref={targetRef}\n opened={isCurrentListOpen}\n placement={getPlacements(placement)}\n usePortal={Boolean(portal)}\n frame={portal}\n onToggle={handleToggle}\n trigger=\"click\"\n target={\n <Target\n opened={isCurrentListOpen}\n value={value}\n valueToItemMap={valueToItemMap}\n focusedPath={focusedPath}\n focusedToValueMap={focusedToValueMap}\n onChipClick={handleChipClick}\n label={label}\n placeholder={placeholder}\n onKeyDown={onKeyDown}\n focusedChipIndex={focusedChipIndex}\n labelPlacement={labelPlacement}\n selectProps={props}\n size={size}\n contentLeft={contentLeft}\n disabled={disabled}\n renderValue={renderValue}\n />\n }\n preventOverflow={false}\n closeOnOverlayClick\n listWidth={listWidth}\n >\n {items && (\n <Root size={size} {...(rest as any)}>\n <Ul\n role=\"tree\"\n id=\"tree_level_1\"\n listHeight={listHeight}\n listOverflow={listOverflow}\n onScroll={handleScroll}\n listWidth={listWidth}\n >\n {transformedItems.map((item, index) => (\n <Inner\n key={`${index}/0`}\n item={item}\n currentLevel={0}\n path={path}\n dispatchPath={dispatchPath}\n index={index}\n listWidth={listWidth}\n />\n ))}\n </Ul>\n </Root>\n )}\n </StyledPopover>\n </Context.Provider>\n\n {helperText && target === 'textfield-like' && <HelperText>{helperText}</HelperText>}\n </Root>\n );\n });\n\nexport const selectConfig = {\n name: 'Select',\n tag: 'div',\n layout: selectRoot,\n base,\n variations: {\n view: {\n css: viewCSS,\n },\n size: {\n css: sizeCSS,\n },\n },\n defaults: {\n view: 'default',\n chipView: 'default',\n size: 'm',\n },\n};\n"],"names":["Context","createContext","selectRoot","Root","forwardRef","props","ref","outerValue","value","outerOnChange","onChange","_props$target","target","items","_props$placement","placement","label","_props$labelPlacement","labelPlacement","placeholder","helperText","_props$disabled","disabled","view","size","listOverflow","listHeight","listWidth","contentLeft","onScrollBottom","chipView","_props$variant","variant","portal","renderValue","renderItem","status","onItemSelect","outerCloseAfterSelect","closeAfterSelect","rest","_objectWithoutProperties","_excluded","transformedItems","useMemo","initialItemsTransform","_usePathMaps","usePathMaps","_usePathMaps2","_slicedToArray","pathMap","focusedToValueMap","valueToCheckedMap","valueToItemMap","getInitialValue","e","_useReducer","useReducer","pathReducer","_useReducer2","path","dispatchPath","_useReducer3","focusedPathReducer","_useReducer4","focusedPath","dispatchFocusedPath","_useReducer5","focusedChipIndexReducer","_useReducer6","focusedChipIndex","dispatchFocusedChipIndex","_useState","useState","_useState2","checked","setChecked","multiselect","targetRef","useOutsideClick","type","handleToggle","opened","handleCheckboxChange","item","checkedCopy","Map","get","set","updateDescendants","updateAncestors","newValues","forEach","key","push","handleItemClick","isEmpty","stopPropagation","isCurrentChecked","handleChipClick","currentValue","handlePressDown","handleScroll","scrollHeight","scrollTop","clientHeight","_useKeyNavigation","useKeyNavigation","isTargetAmount","onKeyDown","isCurrentListOpen","Boolean","useLayoutEffect","_","Array","isArray","val","updateSingleAncestors","React","createElement","_extends","getView","OuterLabel","Provider","StyledPopover","getPlacements","usePortal","frame","onToggle","trigger","Target","onChipClick","selectProps","preventOverflow","closeOnOverlayClick","Ul","role","id","onScroll","map","index","Inner","concat","currentLevel","HelperText","selectConfig","name","tag","layout","base","variations","css","viewCSS","sizeCSS","defaults"],"mappings":"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"}
1
+ {"version":3,"file":"Select.js","sources":["../../../src/components/Select/Select.tsx"],"sourcesContent":["import React, { forwardRef, useState, useReducer, useMemo, createContext, useLayoutEffect, useRef } from 'react';\nimport { safeUseId } from '@salutejs/plasma-core';\n\nimport { RootProps } from '../../engines';\nimport { isEmpty } from '../../utils';\nimport { useOutsideClick } from '../../hooks';\n\nimport { useKeyNavigation, getItemByFocused } from './hooks/useKeyboardNavigation';\nimport {\n initialItemsTransform,\n updateAncestors,\n updateDescendants,\n updateSingleAncestors,\n getView,\n getInitialValue,\n} from './utils';\nimport { Inner, Target } from './ui';\nimport { pathReducer, focusedPathReducer } from './reducers';\nimport { usePathMaps } from './hooks/usePathMaps';\nimport { Ul, base } from './Select.styles';\nimport type { ItemContext, MergedSelectProps } from './Select.types';\nimport type { MergedDropdownNodeTransformed } from './ui/Inner/ui/Item/Item.types';\nimport { FloatingPopover } from './FloatingPopover';\n\nexport const Context = createContext<ItemContext>({} as ItemContext);\n\n/**\n * Выпадающий список. Поддерживает выбор одного или нескольких значений.\n */\nexport const selectRoot = (Root: RootProps<HTMLButtonElement, Omit<MergedSelectProps, 'items'>>) =>\n forwardRef<HTMLButtonElement, MergedSelectProps>((props, ref) => {\n const {\n value: outerValue,\n onChange: outerOnChange,\n target = 'textfield-like',\n items,\n placement = 'bottom',\n label,\n labelPlacement,\n placeholder,\n helperText,\n disabled = false,\n view: outerView,\n size,\n listOverflow,\n listHeight,\n listWidth,\n contentLeft,\n onScrollBottom,\n chipView,\n variant = 'normal',\n portal,\n renderValue,\n renderItem,\n status,\n onItemSelect,\n separator,\n closeAfterSelect: outerCloseAfterSelect,\n isTargetAmount,\n ...rest\n } = props;\n const transformedItems = useMemo(() => initialItemsTransform(items || []), [items]);\n\n // Создаем структуры для быстрой работы с деревом\n const [pathMap, focusedToValueMap, valueToCheckedMap, valueToItemMap, labelToItemMap] = usePathMaps(\n transformedItems,\n );\n\n const [internalValue, setInternalValue] = useState<string | number | Array<string | number>>(\n props.multiselect ? [] : '',\n );\n\n const value =\n outerValue !== null && outerValue !== undefined\n ? getInitialValue(outerValue, valueToItemMap)\n : internalValue;\n\n const floatingPopoverRef = useRef<HTMLDivElement>(null);\n\n // Состояния дерева элементов\n const [path, dispatchPath] = useReducer(pathReducer, []);\n const [focusedPath, dispatchFocusedPath] = useReducer(focusedPathReducer, []);\n const [checked, setChecked] = useState(valueToCheckedMap);\n\n const isCurrentListOpen = Boolean(path[0]);\n const activeDescendantItemValue = getItemByFocused(focusedPath, focusedToValueMap)?.value.toString() || '';\n const closeAfterSelect = outerCloseAfterSelect ?? !props.multiselect;\n const treeId = safeUseId();\n const view = target === 'textfield-like' && disabled ? 'default' : getView(status, outerView);\n\n const targetRef = useOutsideClick<HTMLUListElement>(() => {\n if (!isCurrentListOpen) {\n return;\n }\n\n dispatchPath({ type: 'reset' });\n dispatchFocusedPath({ type: 'reset' });\n }, floatingPopoverRef);\n\n const onChange = (newValue: string | number | Array<string | number>) => {\n if (outerOnChange) {\n outerOnChange(newValue as any);\n }\n\n setInternalValue(newValue);\n };\n\n const handleClickArrow = () => {\n if (disabled) {\n return;\n }\n\n if (isCurrentListOpen) {\n dispatchPath({ type: 'reset' });\n } else {\n dispatchPath({ type: 'opened_first_level' });\n }\n\n dispatchFocusedPath({ type: 'reset' });\n };\n\n const handleListToggle = (opened: boolean) => {\n if (disabled) {\n return;\n }\n\n if (opened) {\n dispatchPath({ type: 'opened_first_level' });\n } else {\n dispatchFocusedPath({ type: 'reset' });\n dispatchPath({ type: 'reset' });\n }\n };\n\n const handleCheckboxChange = (item: MergedDropdownNodeTransformed) => {\n if (!props.multiselect) {\n return;\n }\n\n const checkedCopy = new Map(checked);\n\n if (!checkedCopy.get(item.value)) {\n checkedCopy.set(item.value, true);\n updateDescendants(item, checkedCopy, true);\n } else {\n checkedCopy.set(item.value, false);\n updateDescendants(item, checkedCopy, false);\n }\n\n updateAncestors(item, checkedCopy);\n\n const newValues: Array<string | number> = [];\n\n valueToItemMap.forEach((item, key) => {\n if (checkedCopy.get(key)) {\n newValues.push(item.value);\n }\n });\n\n if (closeAfterSelect) {\n dispatchPath({ type: 'reset' });\n dispatchFocusedPath({ type: 'reset' });\n }\n\n if (onChange) {\n onChange(newValues);\n }\n };\n\n const handleItemClick = (item: MergedDropdownNodeTransformed, e?: React.MouseEvent<HTMLElement>) => {\n if (!isEmpty(item?.items)) {\n return;\n }\n\n if (props.multiselect) {\n handleCheckboxChange(item);\n return;\n }\n\n if (e) {\n e.stopPropagation();\n }\n\n const isCurrentChecked = checked.get(item.value);\n\n if (closeAfterSelect) {\n dispatchPath({ type: 'reset' });\n dispatchFocusedPath({ type: 'reset' });\n }\n\n if (onChange) {\n onChange(isCurrentChecked ? '' : item.value);\n }\n\n if (onItemSelect) {\n onItemSelect(item, e!);\n }\n };\n\n const handlePressDown = (item: MergedDropdownNodeTransformed, e?: React.MouseEvent<HTMLElement>) => {\n if (isEmpty(item.items)) {\n handleItemClick(item, e);\n } else if (props.multiselect) {\n handleCheckboxChange(item);\n }\n };\n\n const handleScroll = (e: React.UIEvent<HTMLUListElement>) => {\n if (!onScrollBottom) return;\n\n const { target } = e;\n\n if (\n (target as HTMLElement).scrollHeight - (target as HTMLElement).scrollTop ===\n (target as HTMLElement).clientHeight\n ) {\n onScrollBottom(e);\n }\n };\n\n const { onKeyDown } = useKeyNavigation({\n focusedPath,\n dispatchFocusedPath,\n path,\n dispatchPath,\n pathMap,\n focusedToValueMap,\n handleListToggle,\n handlePressDown,\n });\n\n // В данном эффекте мы следим за изменениями value снаружи и вносим коррективы в дерево чекбоксов.\n // Пример: когда юзер очистил value извне, тогда нужно пройтись по элементам и выключить все чекбоксы.\n useLayoutEffect(() => {\n const checkedCopy = new Map(checked);\n\n checkedCopy.forEach((_, key) => {\n checkedCopy.set(key, false);\n });\n\n if (!isEmpty(value) || typeof value === 'number') {\n if (Array.isArray(value)) {\n value.forEach((val) => {\n checkedCopy.set(val, true);\n updateDescendants(valueToItemMap.get(val)!, checkedCopy, true);\n updateAncestors(valueToItemMap.get(val)!, checkedCopy);\n });\n } else {\n checkedCopy.set(value, 'done');\n updateSingleAncestors(valueToItemMap.get(value)!, checkedCopy, 'dot');\n }\n }\n\n setChecked(checkedCopy);\n\n // В deps мы кладем именно outerValue и internalValue, а не просто value.\n // Т.к. вначале нужно отфильтровать и провалидировать outerValue и результат положить в переменную.\n // А переменную, содержащую сложные типы данных, нельзя помещать в deps.\n }, [outerValue, internalValue, items]);\n\n return (\n <Root\n view={view}\n size={size}\n labelPlacement={labelPlacement}\n chipView={chipView}\n disabled={disabled}\n {...(rest as any)}\n >\n <Context.Provider\n value={{\n focusedPath,\n checked,\n multiselect: props.multiselect,\n size,\n handleCheckboxChange,\n handleItemClick,\n variant,\n renderItem,\n valueToItemMap,\n treeId,\n }}\n >\n <FloatingPopover\n ref={floatingPopoverRef}\n opened={isCurrentListOpen}\n onToggle={(opened: boolean) => opened && handleListToggle(true)}\n placement={placement}\n portal={portal}\n listWidth={listWidth}\n target={(referenceRef) => (\n <Target\n ref={ref}\n target={target}\n value={value}\n opened={isCurrentListOpen}\n valueToItemMap={valueToItemMap}\n label={label}\n placeholder={placeholder}\n onKeyDown={onKeyDown}\n labelPlacement={labelPlacement}\n size={size}\n contentLeft={contentLeft}\n disabled={disabled}\n renderValue={renderValue}\n selectProps={props}\n inputWrapperRef={referenceRef as React.MutableRefObject<HTMLDivElement>}\n multiselect={props.multiselect}\n view={view}\n handleClickArrow={handleClickArrow}\n helperText={helperText}\n treeId={treeId}\n activeDescendantItemValue={activeDescendantItemValue}\n isTargetAmount={isTargetAmount}\n onChange={onChange}\n labelToItemMap={labelToItemMap}\n chipView={chipView}\n separator={separator}\n />\n )}\n >\n <Root\n view={view}\n size={size}\n labelPlacement={labelPlacement}\n chipView={chipView}\n disabled={disabled}\n {...(rest as any)}\n >\n <Ul\n role=\"tree\"\n id={`${treeId}_tree_level_1`}\n aria-multiselectable={Boolean(props.multiselect)}\n listHeight={listHeight}\n listOverflow={listOverflow}\n onScroll={handleScroll}\n listWidth={listWidth}\n ref={targetRef}\n >\n {transformedItems.map((item, index) => (\n <Inner\n key={`${index}/0`}\n item={item}\n currentLevel={0}\n path={path}\n dispatchPath={dispatchPath}\n index={index}\n listWidth={listWidth}\n />\n ))}\n </Ul>\n </Root>\n </FloatingPopover>\n </Context.Provider>\n </Root>\n );\n });\n\nexport const selectConfig = {\n name: 'Select',\n tag: 'div',\n layout: selectRoot,\n base,\n variations: {},\n defaults: {\n view: 'default',\n size: 'm',\n labelPlacement: 'outer',\n chipView: 'default',\n },\n};\n"],"names":["Context","createContext","selectRoot","Root","forwardRef","props","ref","_getItemByFocused","outerValue","value","outerOnChange","onChange","_props$target","target","items","_props$placement","placement","label","labelPlacement","placeholder","helperText","_props$disabled","disabled","outerView","view","size","listOverflow","listHeight","listWidth","contentLeft","onScrollBottom","chipView","_props$variant","variant","portal","renderValue","renderItem","status","onItemSelect","separator","outerCloseAfterSelect","closeAfterSelect","isTargetAmount","rest","_objectWithoutProperties","_excluded","transformedItems","useMemo","initialItemsTransform","_usePathMaps","usePathMaps","_usePathMaps2","_slicedToArray","pathMap","focusedToValueMap","valueToCheckedMap","valueToItemMap","labelToItemMap","_useState","useState","multiselect","_useState2","internalValue","setInternalValue","undefined","getInitialValue","floatingPopoverRef","useRef","_useReducer","useReducer","pathReducer","_useReducer2","path","dispatchPath","_useReducer3","focusedPathReducer","_useReducer4","focusedPath","dispatchFocusedPath","_useState3","_useState4","checked","setChecked","isCurrentListOpen","Boolean","activeDescendantItemValue","getItemByFocused","toString","treeId","safeUseId","getView","targetRef","useOutsideClick","type","newValue","handleClickArrow","handleListToggle","opened","handleCheckboxChange","item","checkedCopy","Map","get","set","updateDescendants","updateAncestors","newValues","forEach","key","push","handleItemClick","e","isEmpty","stopPropagation","isCurrentChecked","handlePressDown","handleScroll","scrollHeight","scrollTop","clientHeight","_useKeyNavigation","useKeyNavigation","onKeyDown","useLayoutEffect","_","Array","isArray","val","updateSingleAncestors","React","createElement","_extends","Provider","FloatingPopover","onToggle","referenceRef","Target","selectProps","inputWrapperRef","Ul","role","id","concat","onScroll","map","index","Inner","currentLevel","selectConfig","name","tag","layout","base","variations","defaults"],"mappings":";;;;;;;;;;;;;;;;;;;;;IAwBaA,OAAO,gBAAGC,aAAa,CAAc,EAAiB,EAAC;;AAEpE;AACA;AACA;IACaC,UAAU,GAAG,SAAbA,UAAUA,CAAIC,IAAoE,EAAA;AAAA,EAAA,oBAC3FC,UAAU,CAAuC,UAACC,KAAK,EAAEC,GAAG,EAAK;AAAA,IAAA,IAAAC,iBAAA,CAAA;AAC7D,IAAA,IACWC,UAAU,GA4BjBH,KAAK,CA5BLI,KAAK;MACKC,aAAa,GA2BvBL,KAAK,CA3BLM,QAAQ;MAAAC,aAAA,GA2BRP,KAAK,CA1BLQ,MAAM;AAANA,MAAAA,OAAM,GAAAD,aAAA,KAAG,KAAA,CAAA,GAAA,gBAAgB,GAAAA,aAAA;MACzBE,KAAK,GAyBLT,KAAK,CAzBLS,KAAK;MAAAC,gBAAA,GAyBLV,KAAK,CAxBLW,SAAS;AAATA,MAAAA,SAAS,GAAAD,gBAAA,KAAG,KAAA,CAAA,GAAA,QAAQ,GAAAA,gBAAA;MACpBE,KAAK,GAuBLZ,KAAK,CAvBLY,KAAK;MACLC,cAAc,GAsBdb,KAAK,CAtBLa,cAAc;MACdC,WAAW,GAqBXd,KAAK,CArBLc,WAAW;MACXC,UAAU,GAoBVf,KAAK,CApBLe,UAAU;MAAAC,eAAA,GAoBVhB,KAAK,CAnBLiB,QAAQ;AAARA,MAAAA,QAAQ,GAAAD,eAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,eAAA;MACVE,SAAS,GAkBflB,KAAK,CAlBLmB,IAAI;MACJC,IAAI,GAiBJpB,KAAK,CAjBLoB,IAAI;MACJC,YAAY,GAgBZrB,KAAK,CAhBLqB,YAAY;MACZC,UAAU,GAeVtB,KAAK,CAfLsB,UAAU;MACVC,SAAS,GAcTvB,KAAK,CAdLuB,SAAS;MACTC,WAAW,GAaXxB,KAAK,CAbLwB,WAAW;MACXC,cAAc,GAYdzB,KAAK,CAZLyB,cAAc;MACdC,QAAQ,GAWR1B,KAAK,CAXL0B,QAAQ;MAAAC,cAAA,GAWR3B,KAAK,CAVL4B,OAAO;AAAPA,MAAAA,OAAO,GAAAD,cAAA,KAAG,KAAA,CAAA,GAAA,QAAQ,GAAAA,cAAA;MAClBE,MAAM,GASN7B,KAAK,CATL6B,MAAM;MACNC,WAAW,GAQX9B,KAAK,CARL8B,WAAW;MACXC,UAAU,GAOV/B,KAAK,CAPL+B,UAAU;MACVC,MAAM,GAMNhC,KAAK,CANLgC,MAAM;MACNC,YAAY,GAKZjC,KAAK,CALLiC,YAAY;MACZC,SAAS,GAITlC,KAAK,CAJLkC,SAAS;MACSC,qBAAqB,GAGvCnC,KAAK,CAHLoC,gBAAgB;MAChBC,cAAc,GAEdrC,KAAK,CAFLqC,cAAc;AACXC,MAAAA,IAAI,GAAAC,wBAAA,CACPvC,KAAK,EAAAwC,SAAA,CAAA,CAAA;IACT,IAAMC,gBAAgB,GAAGC,OAAO,CAAC,YAAA;AAAA,MAAA,OAAMC,qBAAqB,CAAClC,KAAK,IAAI,EAAE,CAAC,CAAA;KAAE,EAAA,CAACA,KAAK,CAAC,CAAC,CAAA;;AAEnF;AACA,IAAA,IAAAmC,YAAA,GAAwFC,WAAW,CAC/FJ,gBACJ,CAAC;MAAAK,aAAA,GAAAC,cAAA,CAAAH,YAAA,EAAA,CAAA,CAAA;AAFMI,MAAAA,OAAO,GAAAF,aAAA,CAAA,CAAA,CAAA;AAAEG,MAAAA,iBAAiB,GAAAH,aAAA,CAAA,CAAA,CAAA;AAAEI,MAAAA,iBAAiB,GAAAJ,aAAA,CAAA,CAAA,CAAA;AAAEK,MAAAA,cAAc,GAAAL,aAAA,CAAA,CAAA,CAAA;AAAEM,MAAAA,cAAc,GAAAN,aAAA,CAAA,CAAA,CAAA,CAAA;IAIpF,IAAAO,SAAA,GAA0CC,QAAQ,CAC9CtD,KAAK,CAACuD,WAAW,GAAG,EAAE,GAAG,EAC7B,CAAC;MAAAC,UAAA,GAAAT,cAAA,CAAAM,SAAA,EAAA,CAAA,CAAA;AAFMI,MAAAA,aAAa,GAAAD,UAAA,CAAA,CAAA,CAAA;AAAEE,MAAAA,gBAAgB,GAAAF,UAAA,CAAA,CAAA,CAAA,CAAA;AAItC,IAAA,IAAMpD,KAAK,GACPD,UAAU,KAAK,IAAI,IAAIA,UAAU,KAAKwD,SAAS,GACzCC,eAAe,CAACzD,UAAU,EAAEgD,cAAc,CAAC,GAC3CM,aAAa,CAAA;AAEvB,IAAA,IAAMI,kBAAkB,GAAGC,MAAM,CAAiB,IAAI,CAAC,CAAA;;AAEvD;AACA,IAAA,IAAAC,WAAA,GAA6BC,UAAU,CAACC,WAAW,EAAE,EAAE,CAAC;MAAAC,YAAA,GAAAnB,cAAA,CAAAgB,WAAA,EAAA,CAAA,CAAA;AAAjDI,MAAAA,IAAI,GAAAD,YAAA,CAAA,CAAA,CAAA;AAAEE,MAAAA,YAAY,GAAAF,YAAA,CAAA,CAAA,CAAA,CAAA;AACzB,IAAA,IAAAG,YAAA,GAA2CL,UAAU,CAACM,kBAAkB,EAAE,EAAE,CAAC;MAAAC,YAAA,GAAAxB,cAAA,CAAAsB,YAAA,EAAA,CAAA,CAAA;AAAtEG,MAAAA,WAAW,GAAAD,YAAA,CAAA,CAAA,CAAA;AAAEE,MAAAA,mBAAmB,GAAAF,YAAA,CAAA,CAAA,CAAA,CAAA;AACvC,IAAA,IAAAG,UAAA,GAA8BpB,QAAQ,CAACJ,iBAAiB,CAAC;MAAAyB,UAAA,GAAA5B,cAAA,CAAA2B,UAAA,EAAA,CAAA,CAAA;AAAlDE,MAAAA,OAAO,GAAAD,UAAA,CAAA,CAAA,CAAA;AAAEE,MAAAA,UAAU,GAAAF,UAAA,CAAA,CAAA,CAAA,CAAA;IAE1B,IAAMG,iBAAiB,GAAGC,OAAO,CAACZ,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;IAC1C,IAAMa,yBAAyB,GAAG,CAAA9E,CAAAA,iBAAA,GAAA+E,gBAAgB,CAACT,WAAW,EAAEvB,iBAAiB,CAAC,cAAA/C,iBAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAhDA,iBAAA,CAAkDE,KAAK,CAAC8E,QAAQ,EAAE,KAAI,EAAE,CAAA;IAC1G,IAAM9C,gBAAgB,GAAGD,qBAAqB,KAArBA,IAAAA,IAAAA,qBAAqB,KAArBA,KAAAA,CAAAA,GAAAA,qBAAqB,GAAI,CAACnC,KAAK,CAACuD,WAAW,CAAA;AACpE,IAAA,IAAM4B,MAAM,GAAGC,SAAS,EAAE,CAAA;AAC1B,IAAA,IAAMjE,IAAI,GAAGX,OAAM,KAAK,gBAAgB,IAAIS,QAAQ,GAAG,SAAS,GAAGoE,OAAO,CAACrD,MAAM,EAAEd,SAAS,CAAC,CAAA;AAE7F,IAAA,IAAMoE,SAAS,GAAGC,eAAe,CAAmB,YAAM;MACtD,IAAI,CAACT,iBAAiB,EAAE;AACpB,QAAA,OAAA;AACJ,OAAA;AAEAV,MAAAA,YAAY,CAAC;AAAEoB,QAAAA,IAAI,EAAE,OAAA;AAAQ,OAAC,CAAC,CAAA;AAC/Bf,MAAAA,mBAAmB,CAAC;AAAEe,QAAAA,IAAI,EAAE,OAAA;AAAQ,OAAC,CAAC,CAAA;KACzC,EAAE3B,kBAAkB,CAAC,CAAA;AAEtB,IAAA,IAAMvD,QAAQ,GAAG,SAAXA,QAAQA,CAAImF,QAAkD,EAAK;AACrE,MAAA,IAAIpF,aAAa,EAAE;QACfA,aAAa,CAACoF,QAAe,CAAC,CAAA;AAClC,OAAA;MAEA/B,gBAAgB,CAAC+B,QAAQ,CAAC,CAAA;KAC7B,CAAA;AAED,IAAA,IAAMC,gBAAgB,GAAG,SAAnBA,gBAAgBA,GAAS;AAC3B,MAAA,IAAIzE,QAAQ,EAAE;AACV,QAAA,OAAA;AACJ,OAAA;AAEA,MAAA,IAAI6D,iBAAiB,EAAE;AACnBV,QAAAA,YAAY,CAAC;AAAEoB,UAAAA,IAAI,EAAE,OAAA;AAAQ,SAAC,CAAC,CAAA;AACnC,OAAC,MAAM;AACHpB,QAAAA,YAAY,CAAC;AAAEoB,UAAAA,IAAI,EAAE,oBAAA;AAAqB,SAAC,CAAC,CAAA;AAChD,OAAA;AAEAf,MAAAA,mBAAmB,CAAC;AAAEe,QAAAA,IAAI,EAAE,OAAA;AAAQ,OAAC,CAAC,CAAA;KACzC,CAAA;AAED,IAAA,IAAMG,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAIC,MAAe,EAAK;AAC1C,MAAA,IAAI3E,QAAQ,EAAE;AACV,QAAA,OAAA;AACJ,OAAA;AAEA,MAAA,IAAI2E,MAAM,EAAE;AACRxB,QAAAA,YAAY,CAAC;AAAEoB,UAAAA,IAAI,EAAE,oBAAA;AAAqB,SAAC,CAAC,CAAA;AAChD,OAAC,MAAM;AACHf,QAAAA,mBAAmB,CAAC;AAAEe,UAAAA,IAAI,EAAE,OAAA;AAAQ,SAAC,CAAC,CAAA;AACtCpB,QAAAA,YAAY,CAAC;AAAEoB,UAAAA,IAAI,EAAE,OAAA;AAAQ,SAAC,CAAC,CAAA;AACnC,OAAA;KACH,CAAA;AAED,IAAA,IAAMK,oBAAoB,GAAG,SAAvBA,oBAAoBA,CAAIC,IAAmC,EAAK;AAClE,MAAA,IAAI,CAAC9F,KAAK,CAACuD,WAAW,EAAE;AACpB,QAAA,OAAA;AACJ,OAAA;AAEA,MAAA,IAAMwC,WAAW,GAAG,IAAIC,GAAG,CAACpB,OAAO,CAAC,CAAA;MAEpC,IAAI,CAACmB,WAAW,CAACE,GAAG,CAACH,IAAI,CAAC1F,KAAK,CAAC,EAAE;QAC9B2F,WAAW,CAACG,GAAG,CAACJ,IAAI,CAAC1F,KAAK,EAAE,IAAI,CAAC,CAAA;AACjC+F,QAAAA,iBAAiB,CAACL,IAAI,EAAEC,WAAW,EAAE,IAAI,CAAC,CAAA;AAC9C,OAAC,MAAM;QACHA,WAAW,CAACG,GAAG,CAACJ,IAAI,CAAC1F,KAAK,EAAE,KAAK,CAAC,CAAA;AAClC+F,QAAAA,iBAAiB,CAACL,IAAI,EAAEC,WAAW,EAAE,KAAK,CAAC,CAAA;AAC/C,OAAA;AAEAK,MAAAA,eAAe,CAACN,IAAI,EAAEC,WAAW,CAAC,CAAA;MAElC,IAAMM,SAAiC,GAAG,EAAE,CAAA;AAE5ClD,MAAAA,cAAc,CAACmD,OAAO,CAAC,UAACR,IAAI,EAAES,GAAG,EAAK;AAClC,QAAA,IAAIR,WAAW,CAACE,GAAG,CAACM,GAAG,CAAC,EAAE;AACtBF,UAAAA,SAAS,CAACG,IAAI,CAACV,IAAI,CAAC1F,KAAK,CAAC,CAAA;AAC9B,SAAA;AACJ,OAAC,CAAC,CAAA;AAEF,MAAA,IAAIgC,gBAAgB,EAAE;AAClBgC,QAAAA,YAAY,CAAC;AAAEoB,UAAAA,IAAI,EAAE,OAAA;AAAQ,SAAC,CAAC,CAAA;AAC/Bf,QAAAA,mBAAmB,CAAC;AAAEe,UAAAA,IAAI,EAAE,OAAA;AAAQ,SAAC,CAAC,CAAA;AAC1C,OAAA;AAEA,MAAA,IAAIlF,QAAQ,EAAE;QACVA,QAAQ,CAAC+F,SAAS,CAAC,CAAA;AACvB,OAAA;KACH,CAAA;IAED,IAAMI,eAAe,GAAG,SAAlBA,eAAeA,CAAIX,IAAmC,EAAEY,CAAiC,EAAK;MAChG,IAAI,CAACC,OAAO,CAACb,IAAI,KAAA,IAAA,IAAJA,IAAI,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAJA,IAAI,CAAErF,KAAK,CAAC,EAAE;AACvB,QAAA,OAAA;AACJ,OAAA;MAEA,IAAIT,KAAK,CAACuD,WAAW,EAAE;QACnBsC,oBAAoB,CAACC,IAAI,CAAC,CAAA;AAC1B,QAAA,OAAA;AACJ,OAAA;AAEA,MAAA,IAAIY,CAAC,EAAE;QACHA,CAAC,CAACE,eAAe,EAAE,CAAA;AACvB,OAAA;MAEA,IAAMC,gBAAgB,GAAGjC,OAAO,CAACqB,GAAG,CAACH,IAAI,CAAC1F,KAAK,CAAC,CAAA;AAEhD,MAAA,IAAIgC,gBAAgB,EAAE;AAClBgC,QAAAA,YAAY,CAAC;AAAEoB,UAAAA,IAAI,EAAE,OAAA;AAAQ,SAAC,CAAC,CAAA;AAC/Bf,QAAAA,mBAAmB,CAAC;AAAEe,UAAAA,IAAI,EAAE,OAAA;AAAQ,SAAC,CAAC,CAAA;AAC1C,OAAA;AAEA,MAAA,IAAIlF,QAAQ,EAAE;QACVA,QAAQ,CAACuG,gBAAgB,GAAG,EAAE,GAAGf,IAAI,CAAC1F,KAAK,CAAC,CAAA;AAChD,OAAA;AAEA,MAAA,IAAI6B,YAAY,EAAE;AACdA,QAAAA,YAAY,CAAC6D,IAAI,EAAEY,CAAE,CAAC,CAAA;AAC1B,OAAA;KACH,CAAA;IAED,IAAMI,eAAe,GAAG,SAAlBA,eAAeA,CAAIhB,IAAmC,EAAEY,CAAiC,EAAK;AAChG,MAAA,IAAIC,OAAO,CAACb,IAAI,CAACrF,KAAK,CAAC,EAAE;AACrBgG,QAAAA,eAAe,CAACX,IAAI,EAAEY,CAAC,CAAC,CAAA;AAC5B,OAAC,MAAM,IAAI1G,KAAK,CAACuD,WAAW,EAAE;QAC1BsC,oBAAoB,CAACC,IAAI,CAAC,CAAA;AAC9B,OAAA;KACH,CAAA;AAED,IAAA,IAAMiB,YAAY,GAAG,SAAfA,YAAYA,CAAIL,CAAkC,EAAK;MACzD,IAAI,CAACjF,cAAc,EAAE,OAAA;AAErB,MAAA,IAAQjB,MAAM,GAAKkG,CAAC,CAAZlG,MAAM,CAAA;MAEd,IACKA,MAAM,CAAiBwG,YAAY,GAAIxG,MAAM,CAAiByG,SAAS,KACvEzG,MAAM,CAAiB0G,YAAY,EACtC;QACEzF,cAAc,CAACiF,CAAC,CAAC,CAAA;AACrB,OAAA;KACH,CAAA;IAED,IAAAS,iBAAA,GAAsBC,gBAAgB,CAAC;AACnC5C,QAAAA,WAAW,EAAXA,WAAW;AACXC,QAAAA,mBAAmB,EAAnBA,mBAAmB;AACnBN,QAAAA,IAAI,EAAJA,IAAI;AACJC,QAAAA,YAAY,EAAZA,YAAY;AACZpB,QAAAA,OAAO,EAAPA,OAAO;AACPC,QAAAA,iBAAiB,EAAjBA,iBAAiB;AACjB0C,QAAAA,gBAAgB,EAAhBA,gBAAgB;AAChBmB,QAAAA,eAAe,EAAfA,eAAAA;AACJ,OAAC,CAAC;MATMO,SAAS,GAAAF,iBAAA,CAATE,SAAS,CAAA;;AAWjB;AACA;AACAC,IAAAA,eAAe,CAAC,YAAM;AAClB,MAAA,IAAMvB,WAAW,GAAG,IAAIC,GAAG,CAACpB,OAAO,CAAC,CAAA;AAEpCmB,MAAAA,WAAW,CAACO,OAAO,CAAC,UAACiB,CAAC,EAAEhB,GAAG,EAAK;AAC5BR,QAAAA,WAAW,CAACG,GAAG,CAACK,GAAG,EAAE,KAAK,CAAC,CAAA;AAC/B,OAAC,CAAC,CAAA;MAEF,IAAI,CAACI,OAAO,CAACvG,KAAK,CAAC,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE;AAC9C,QAAA,IAAIoH,KAAK,CAACC,OAAO,CAACrH,KAAK,CAAC,EAAE;AACtBA,UAAAA,KAAK,CAACkG,OAAO,CAAC,UAACoB,GAAG,EAAK;AACnB3B,YAAAA,WAAW,CAACG,GAAG,CAACwB,GAAG,EAAE,IAAI,CAAC,CAAA;YAC1BvB,iBAAiB,CAAChD,cAAc,CAAC8C,GAAG,CAACyB,GAAG,CAAC,EAAG3B,WAAW,EAAE,IAAI,CAAC,CAAA;YAC9DK,eAAe,CAACjD,cAAc,CAAC8C,GAAG,CAACyB,GAAG,CAAC,EAAG3B,WAAW,CAAC,CAAA;AAC1D,WAAC,CAAC,CAAA;AACN,SAAC,MAAM;AACHA,UAAAA,WAAW,CAACG,GAAG,CAAC9F,KAAK,EAAE,MAAM,CAAC,CAAA;UAC9BuH,qBAAqB,CAACxE,cAAc,CAAC8C,GAAG,CAAC7F,KAAK,CAAC,EAAG2F,WAAW,EAAE,KAAK,CAAC,CAAA;AACzE,SAAA;AACJ,OAAA;MAEAlB,UAAU,CAACkB,WAAW,CAAC,CAAA;;AAEvB;AACA;AACA;KACH,EAAE,CAAC5F,UAAU,EAAEsD,aAAa,EAAEhD,KAAK,CAAC,CAAC,CAAA;AAEtC,IAAA,oBACImH,KAAA,CAAAC,aAAA,CAAC/H,IAAI,EAAAgI,QAAA,CAAA;AACD3G,MAAAA,IAAI,EAAEA,IAAK;AACXC,MAAAA,IAAI,EAAEA,IAAK;AACXP,MAAAA,cAAc,EAAEA,cAAe;AAC/Ba,MAAAA,QAAQ,EAAEA,QAAS;AACnBT,MAAAA,QAAQ,EAAEA,QAAAA;KACLqB,EAAAA,IAAI,gBAETsF,KAAA,CAAAC,aAAA,CAAClI,OAAO,CAACoI,QAAQ,EAAA;AACb3H,MAAAA,KAAK,EAAE;AACHoE,QAAAA,WAAW,EAAXA,WAAW;AACXI,QAAAA,OAAO,EAAPA,OAAO;QACPrB,WAAW,EAAEvD,KAAK,CAACuD,WAAW;AAC9BnC,QAAAA,IAAI,EAAJA,IAAI;AACJyE,QAAAA,oBAAoB,EAApBA,oBAAoB;AACpBY,QAAAA,eAAe,EAAfA,eAAe;AACf7E,QAAAA,OAAO,EAAPA,OAAO;AACPG,QAAAA,UAAU,EAAVA,UAAU;AACVoB,QAAAA,cAAc,EAAdA,cAAc;AACdgC,QAAAA,MAAM,EAANA,MAAAA;AACJ,OAAA;AAAE,KAAA,eAEFyC,KAAA,CAAAC,aAAA,CAACG,eAAe,EAAA;AACZ/H,MAAAA,GAAG,EAAE4D,kBAAmB;AACxB+B,MAAAA,MAAM,EAAEd,iBAAkB;MAC1BmD,QAAQ,EAAE,SAAAA,QAAAA,CAACrC,MAAe,EAAA;AAAA,QAAA,OAAKA,MAAM,IAAID,gBAAgB,CAAC,IAAI,CAAC,CAAA;OAAC;AAChEhF,MAAAA,SAAS,EAAEA,SAAU;AACrBkB,MAAAA,MAAM,EAAEA,MAAO;AACfN,MAAAA,SAAS,EAAEA,SAAU;MACrBf,MAAM,EAAE,SAAAA,MAAAA,CAAC0H,YAAY,EAAA;AAAA,QAAA,oBACjBN,KAAA,CAAAC,aAAA,CAACM,MAAM,EAAA;AACHlI,UAAAA,GAAG,EAAEA,GAAI;AACTO,UAAAA,MAAM,EAAEA,OAAO;AACfJ,UAAAA,KAAK,EAAEA,KAAM;AACbwF,UAAAA,MAAM,EAAEd,iBAAkB;AAC1B3B,UAAAA,cAAc,EAAEA,cAAe;AAC/BvC,UAAAA,KAAK,EAAEA,KAAM;AACbE,UAAAA,WAAW,EAAEA,WAAY;AACzBuG,UAAAA,SAAS,EAAEA,SAAU;AACrBxG,UAAAA,cAAc,EAAEA,cAAe;AAC/BO,UAAAA,IAAI,EAAEA,IAAK;AACXI,UAAAA,WAAW,EAAEA,WAAY;AACzBP,UAAAA,QAAQ,EAAEA,QAAS;AACnBa,UAAAA,WAAW,EAAEA,WAAY;AACzBsG,UAAAA,WAAW,EAAEpI,KAAM;AACnBqI,UAAAA,eAAe,EAAEH,YAAuD;UACxE3E,WAAW,EAAEvD,KAAK,CAACuD,WAAY;AAC/BpC,UAAAA,IAAI,EAAEA,IAAK;AACXuE,UAAAA,gBAAgB,EAAEA,gBAAiB;AACnC3E,UAAAA,UAAU,EAAEA,UAAW;AACvBoE,UAAAA,MAAM,EAAEA,MAAO;AACfH,UAAAA,yBAAyB,EAAEA,yBAA0B;AACrD3C,UAAAA,cAAc,EAAEA,cAAe;AAC/B/B,UAAAA,QAAQ,EAAEA,QAAS;AACnB8C,UAAAA,cAAc,EAAEA,cAAe;AAC/B1B,UAAAA,QAAQ,EAAEA,QAAS;AACnBQ,UAAAA,SAAS,EAAEA,SAAAA;AAAU,SACxB,CAAC,CAAA;AAAA,OAAA;AACJ,KAAA,eAEF0F,KAAA,CAAAC,aAAA,CAAC/H,IAAI,EAAAgI,QAAA,CAAA;AACD3G,MAAAA,IAAI,EAAEA,IAAK;AACXC,MAAAA,IAAI,EAAEA,IAAK;AACXP,MAAAA,cAAc,EAAEA,cAAe;AAC/Ba,MAAAA,QAAQ,EAAEA,QAAS;AACnBT,MAAAA,QAAQ,EAAEA,QAAAA;AAAS,KAAA,EACdqB,IAAI,CAETsF,eAAAA,KAAA,CAAAC,aAAA,CAACS,EAAE,EAAA;AACCC,MAAAA,IAAI,EAAC,MAAM;AACXC,MAAAA,EAAE,EAAAC,EAAAA,CAAAA,MAAA,CAAKtD,MAAM,EAAgB,eAAA,CAAA;AAC7B,MAAA,sBAAA,EAAsBJ,OAAO,CAAC/E,KAAK,CAACuD,WAAW,CAAE;AACjDjC,MAAAA,UAAU,EAAEA,UAAW;AACvBD,MAAAA,YAAY,EAAEA,YAAa;AAC3BqH,MAAAA,QAAQ,EAAE3B,YAAa;AACvBxF,MAAAA,SAAS,EAAEA,SAAU;AACrBtB,MAAAA,GAAG,EAAEqF,SAAAA;AAAU,KAAA,EAEd7C,gBAAgB,CAACkG,GAAG,CAAC,UAAC7C,IAAI,EAAE8C,KAAK,EAAA;AAAA,MAAA,oBAC9BhB,KAAA,CAAAC,aAAA,CAACgB,KAAK,EAAA;AACFtC,QAAAA,GAAG,EAAAkC,EAAAA,CAAAA,MAAA,CAAKG,KAAK,EAAK,IAAA,CAAA;AAClB9C,QAAAA,IAAI,EAAEA,IAAK;AACXgD,QAAAA,YAAY,EAAE,CAAE;AAChB3E,QAAAA,IAAI,EAAEA,IAAK;AACXC,QAAAA,YAAY,EAAEA,YAAa;AAC3BwE,QAAAA,KAAK,EAAEA,KAAM;AACbrH,QAAAA,SAAS,EAAEA,SAAAA;AAAU,OACxB,CAAC,CAAA;AAAA,KACL,CACD,CACF,CACO,CACH,CAChB,CAAC,CAAA;AAEf,GAAC,CAAC,CAAA;AAAA,EAAA;AAEC,IAAMwH,YAAY,GAAG;AACxBC,EAAAA,IAAI,EAAE,QAAQ;AACdC,EAAAA,GAAG,EAAE,KAAK;AACVC,EAAAA,MAAM,EAAErJ,UAAU;AAClBsJ,EAAAA,IAAI,EAAJA,IAAI;EACJC,UAAU,EAAE,EAAE;AACdC,EAAAA,QAAQ,EAAE;AACNlI,IAAAA,IAAI,EAAE,SAAS;AACfC,IAAAA,IAAI,EAAE,GAAG;AACTP,IAAAA,cAAc,EAAE,OAAO;AACvBa,IAAAA,QAAQ,EAAE,SAAA;AACd,GAAA;AACJ;;;;"}