@salutejs/plasma-new-hope 0.327.0-canary.2028.15754799902.0 → 0.327.0-canary.2029.15755421746.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (271) hide show
  1. package/cjs/components/Autocomplete/Autocomplete.js +3 -3
  2. package/cjs/components/Autocomplete/Autocomplete.js.map +1 -1
  3. package/cjs/components/Autocomplete/FloatingPopover.js +2 -2
  4. package/cjs/components/Autocomplete/FloatingPopover.js.map +1 -1
  5. package/cjs/components/Checkbox/Checkbox.js +2 -1
  6. package/cjs/components/Checkbox/Checkbox.js.map +1 -1
  7. package/cjs/components/Combobox/ComboboxNew/Combobox.js +2 -1
  8. package/cjs/components/Combobox/ComboboxNew/Combobox.js.map +1 -1
  9. package/cjs/components/Combobox/ComboboxNew/FloatingPopover.js +2 -2
  10. package/cjs/components/Combobox/ComboboxNew/FloatingPopover.js.map +1 -1
  11. package/cjs/components/Combobox/ComboboxNew/ui/Inner/Inner.js +2 -2
  12. package/cjs/components/Combobox/ComboboxNew/ui/Inner/Inner.js.map +1 -1
  13. package/cjs/components/Combobox/ComboboxOld/Combobox.js +2 -1
  14. package/cjs/components/Combobox/ComboboxOld/Combobox.js.map +1 -1
  15. package/cjs/components/Combobox/ComboboxOld/ui/ComboboxItem/ComboboxItem.js +3 -3
  16. package/cjs/components/Combobox/ComboboxOld/ui/ComboboxItem/ComboboxItem.js.map +1 -1
  17. package/cjs/components/Drawer/Drawer.js +3 -2
  18. package/cjs/components/Drawer/Drawer.js.map +1 -1
  19. package/cjs/components/Dropdown/Dropdown.js +2 -2
  20. package/cjs/components/Dropdown/Dropdown.js.map +1 -1
  21. package/cjs/components/Dropdown/FloatingPopover.js +2 -2
  22. package/cjs/components/Dropdown/FloatingPopover.js.map +1 -1
  23. package/cjs/components/Dropdown/ui/DropdownDivider/DropdownDivider.js.map +1 -1
  24. package/cjs/components/Dropdown/ui/DropdownFooter/DropdownFooter.js.map +1 -1
  25. package/cjs/components/Dropdown/ui/DropdownGroup/DropdownGroup.js.map +1 -1
  26. package/cjs/components/Dropdown/ui/DropdownHeader/DropdownHeader.js.map +1 -1
  27. package/cjs/components/Dropdown/ui/DropdownInner/DropdownInner.js +2 -2
  28. package/cjs/components/Dropdown/ui/DropdownInner/DropdownInner.js.map +1 -1
  29. package/cjs/components/Dropdown/ui/DropdownItemOld/DropdownItemOld.js +3 -3
  30. package/cjs/components/Dropdown/ui/DropdownItemOld/DropdownItemOld.js.map +1 -1
  31. package/cjs/components/Dropdown/ui/DropdownOld/DropdownOld.js.map +1 -1
  32. package/cjs/components/Modal/Modal.js +2 -1
  33. package/cjs/components/Modal/Modal.js.map +1 -1
  34. package/cjs/components/Popup/Popup.js +2 -1
  35. package/cjs/components/Popup/Popup.js.map +1 -1
  36. package/cjs/components/Popup/PopupContext.js.map +1 -1
  37. package/cjs/components/Radiobox/Radiobox.js +3 -2
  38. package/cjs/components/Radiobox/Radiobox.js.map +1 -1
  39. package/cjs/components/Segment/ui/SegmentGroup/SegmentGroup.js +3 -3
  40. package/cjs/components/Segment/ui/SegmentGroup/SegmentGroup.js.map +1 -1
  41. package/cjs/components/Segment/ui/SegmentItem/SegmentItem.js +2 -2
  42. package/cjs/components/Segment/ui/SegmentItem/SegmentItem.js.map +1 -1
  43. package/cjs/components/Select/FloatingPopover.js +2 -2
  44. package/cjs/components/Select/FloatingPopover.js.map +1 -1
  45. package/cjs/components/Select/Select.js +2 -2
  46. package/cjs/components/Select/Select.js.map +1 -1
  47. package/cjs/components/Select/ui/Inner/Inner.js +2 -2
  48. package/cjs/components/Select/ui/Inner/Inner.js.map +1 -1
  49. package/cjs/components/Spinner/Spinner.js +2 -2
  50. package/cjs/components/Spinner/Spinner.js.map +1 -1
  51. package/cjs/components/Tabs/ui/horizontal/HorizontalTabs/HorizontalTabs.js +3 -3
  52. package/cjs/components/Tabs/ui/horizontal/HorizontalTabs/HorizontalTabs.js.map +1 -1
  53. package/cjs/components/Tabs/ui/vertical/VerticalTabs/VerticalTabs.js +3 -3
  54. package/cjs/components/Tabs/ui/vertical/VerticalTabs/VerticalTabs.js.map +1 -1
  55. package/cjs/components/TextArea/ui/Hint/Hint.js.map +1 -1
  56. package/cjs/components/TextField/TextField.js +4 -3
  57. package/cjs/components/TextField/TextField.js.map +1 -1
  58. package/cjs/components/TextField/ui/Hint/Hint.js.map +1 -1
  59. package/emotion/cjs/components/Autocomplete/Autocomplete.js +3 -3
  60. package/emotion/cjs/components/Autocomplete/FloatingPopover.js +2 -2
  61. package/emotion/cjs/components/Checkbox/Checkbox.js +1 -1
  62. package/emotion/cjs/components/Combobox/ComboboxNew/Combobox.js +1 -1
  63. package/emotion/cjs/components/Combobox/ComboboxNew/FloatingPopover.js +2 -2
  64. package/emotion/cjs/components/Combobox/ComboboxNew/ui/Inner/Inner.js +2 -3
  65. package/emotion/cjs/components/Combobox/ComboboxOld/Combobox.js +1 -1
  66. package/emotion/cjs/components/Combobox/ComboboxOld/ui/ComboboxItem/ComboboxItem.js +6 -7
  67. package/emotion/cjs/components/Drawer/Drawer.js +7 -7
  68. package/emotion/cjs/components/Dropdown/Dropdown.js +1 -2
  69. package/emotion/cjs/components/Dropdown/FloatingPopover.js +2 -2
  70. package/emotion/cjs/components/Dropdown/ui/DropdownInner/DropdownInner.js +4 -4
  71. package/emotion/cjs/components/Dropdown/ui/DropdownItemOld/DropdownItemOld.js +2 -3
  72. package/emotion/cjs/components/Dropdown/ui/DropdownOld/DropdownOld.js +1 -1
  73. package/emotion/cjs/components/Modal/Modal.js +5 -4
  74. package/emotion/cjs/components/Popup/Popup.js +1 -1
  75. package/emotion/cjs/components/Popup/PopupContext.js +1 -1
  76. package/emotion/cjs/components/Radiobox/Radiobox.js +2 -2
  77. package/emotion/cjs/components/Segment/ui/SegmentGroup/SegmentGroup.js +2 -3
  78. package/emotion/cjs/components/Segment/ui/SegmentItem/SegmentItem.js +1 -2
  79. package/emotion/cjs/components/Select/FloatingPopover.js +5 -5
  80. package/emotion/cjs/components/Select/Select.js +1 -2
  81. package/emotion/cjs/components/Select/ui/Inner/Inner.js +1 -2
  82. package/emotion/cjs/components/Spinner/Spinner.js +2 -2
  83. package/emotion/cjs/components/Tabs/ui/horizontal/HorizontalTabs/HorizontalTabs.js +2 -3
  84. package/emotion/cjs/components/Tabs/ui/vertical/VerticalTabs/VerticalTabs.js +2 -3
  85. package/emotion/cjs/components/TextArea/ui/Hint/Hint.js +1 -1
  86. package/emotion/cjs/components/TextField/TextField.js +4 -4
  87. package/emotion/cjs/components/TextField/ui/Hint/Hint.js +1 -1
  88. package/emotion/es/components/Autocomplete/Autocomplete.js +1 -1
  89. package/emotion/es/components/Autocomplete/FloatingPopover.js +1 -1
  90. package/emotion/es/components/Checkbox/Checkbox.js +2 -1
  91. package/emotion/es/components/Combobox/ComboboxNew/Combobox.js +2 -1
  92. package/emotion/es/components/Combobox/ComboboxNew/FloatingPopover.js +1 -1
  93. package/emotion/es/components/Combobox/ComboboxNew/ui/Inner/Inner.js +1 -1
  94. package/emotion/es/components/Combobox/ComboboxOld/Combobox.js +2 -1
  95. package/emotion/es/components/Combobox/ComboboxOld/ui/ComboboxItem/ComboboxItem.js +1 -1
  96. package/emotion/es/components/Drawer/Drawer.js +2 -1
  97. package/emotion/es/components/Dropdown/Dropdown.js +1 -1
  98. package/emotion/es/components/Dropdown/FloatingPopover.js +1 -1
  99. package/emotion/es/components/Dropdown/ui/DropdownInner/DropdownInner.js +1 -1
  100. package/emotion/es/components/Dropdown/ui/DropdownItemOld/DropdownItemOld.js +1 -2
  101. package/emotion/es/components/Dropdown/ui/DropdownOld/DropdownOld.js +1 -1
  102. package/emotion/es/components/Modal/Modal.js +3 -2
  103. package/emotion/es/components/Popup/Popup.js +2 -2
  104. package/emotion/es/components/Popup/PopupContext.js +1 -1
  105. package/emotion/es/components/Radiobox/Radiobox.js +2 -2
  106. package/emotion/es/components/Segment/ui/SegmentGroup/SegmentGroup.js +1 -2
  107. package/emotion/es/components/Segment/ui/SegmentItem/SegmentItem.js +1 -2
  108. package/emotion/es/components/Select/FloatingPopover.js +1 -1
  109. package/emotion/es/components/Select/Select.js +1 -2
  110. package/emotion/es/components/Select/ui/Inner/Inner.js +1 -2
  111. package/emotion/es/components/Spinner/Spinner.js +1 -1
  112. package/emotion/es/components/Tabs/ui/horizontal/HorizontalTabs/HorizontalTabs.js +1 -2
  113. package/emotion/es/components/Tabs/ui/vertical/VerticalTabs/VerticalTabs.js +1 -2
  114. package/emotion/es/components/TextArea/ui/Hint/Hint.js +1 -1
  115. package/emotion/es/components/TextField/TextField.js +3 -3
  116. package/emotion/es/components/TextField/ui/Hint/Hint.js +1 -1
  117. package/es/components/Autocomplete/Autocomplete.js +1 -1
  118. package/es/components/Autocomplete/Autocomplete.js.map +1 -1
  119. package/es/components/Autocomplete/FloatingPopover.js +1 -1
  120. package/es/components/Autocomplete/FloatingPopover.js.map +1 -1
  121. package/es/components/Checkbox/Checkbox.js +2 -1
  122. package/es/components/Checkbox/Checkbox.js.map +1 -1
  123. package/es/components/Combobox/ComboboxNew/Combobox.js +2 -1
  124. package/es/components/Combobox/ComboboxNew/Combobox.js.map +1 -1
  125. package/es/components/Combobox/ComboboxNew/FloatingPopover.js +1 -1
  126. package/es/components/Combobox/ComboboxNew/FloatingPopover.js.map +1 -1
  127. package/es/components/Combobox/ComboboxNew/ui/Inner/Inner.js +1 -1
  128. package/es/components/Combobox/ComboboxNew/ui/Inner/Inner.js.map +1 -1
  129. package/es/components/Combobox/ComboboxOld/Combobox.js +2 -1
  130. package/es/components/Combobox/ComboboxOld/Combobox.js.map +1 -1
  131. package/es/components/Combobox/ComboboxOld/ui/ComboboxItem/ComboboxItem.js +2 -2
  132. package/es/components/Combobox/ComboboxOld/ui/ComboboxItem/ComboboxItem.js.map +1 -1
  133. package/es/components/Drawer/Drawer.js +3 -2
  134. package/es/components/Drawer/Drawer.js.map +1 -1
  135. package/es/components/Dropdown/Dropdown.js +1 -1
  136. package/es/components/Dropdown/Dropdown.js.map +1 -1
  137. package/es/components/Dropdown/FloatingPopover.js +1 -1
  138. package/es/components/Dropdown/FloatingPopover.js.map +1 -1
  139. package/es/components/Dropdown/ui/DropdownDivider/DropdownDivider.js.map +1 -1
  140. package/es/components/Dropdown/ui/DropdownFooter/DropdownFooter.js.map +1 -1
  141. package/es/components/Dropdown/ui/DropdownGroup/DropdownGroup.js.map +1 -1
  142. package/es/components/Dropdown/ui/DropdownHeader/DropdownHeader.js.map +1 -1
  143. package/es/components/Dropdown/ui/DropdownInner/DropdownInner.js +1 -1
  144. package/es/components/Dropdown/ui/DropdownInner/DropdownInner.js.map +1 -1
  145. package/es/components/Dropdown/ui/DropdownItemOld/DropdownItemOld.js +2 -2
  146. package/es/components/Dropdown/ui/DropdownItemOld/DropdownItemOld.js.map +1 -1
  147. package/es/components/Dropdown/ui/DropdownOld/DropdownOld.js.map +1 -1
  148. package/es/components/Modal/Modal.js +2 -1
  149. package/es/components/Modal/Modal.js.map +1 -1
  150. package/es/components/Popup/Popup.js +2 -1
  151. package/es/components/Popup/Popup.js.map +1 -1
  152. package/es/components/Popup/PopupContext.js.map +1 -1
  153. package/es/components/Radiobox/Radiobox.js +3 -2
  154. package/es/components/Radiobox/Radiobox.js.map +1 -1
  155. package/es/components/Segment/ui/SegmentGroup/SegmentGroup.js +2 -2
  156. package/es/components/Segment/ui/SegmentGroup/SegmentGroup.js.map +1 -1
  157. package/es/components/Segment/ui/SegmentItem/SegmentItem.js +1 -1
  158. package/es/components/Segment/ui/SegmentItem/SegmentItem.js.map +1 -1
  159. package/es/components/Select/FloatingPopover.js +1 -1
  160. package/es/components/Select/FloatingPopover.js.map +1 -1
  161. package/es/components/Select/Select.js +1 -1
  162. package/es/components/Select/Select.js.map +1 -1
  163. package/es/components/Select/ui/Inner/Inner.js +1 -1
  164. package/es/components/Select/ui/Inner/Inner.js.map +1 -1
  165. package/es/components/Spinner/Spinner.js +1 -1
  166. package/es/components/Spinner/Spinner.js.map +1 -1
  167. package/es/components/Tabs/ui/horizontal/HorizontalTabs/HorizontalTabs.js +2 -2
  168. package/es/components/Tabs/ui/horizontal/HorizontalTabs/HorizontalTabs.js.map +1 -1
  169. package/es/components/Tabs/ui/vertical/VerticalTabs/VerticalTabs.js +2 -2
  170. package/es/components/Tabs/ui/vertical/VerticalTabs/VerticalTabs.js.map +1 -1
  171. package/es/components/TextArea/ui/Hint/Hint.js.map +1 -1
  172. package/es/components/TextField/TextField.js +2 -1
  173. package/es/components/TextField/TextField.js.map +1 -1
  174. package/es/components/TextField/ui/Hint/Hint.js.map +1 -1
  175. package/package.json +2 -2
  176. package/styled-components/cjs/components/Autocomplete/Autocomplete.js +3 -3
  177. package/styled-components/cjs/components/Autocomplete/FloatingPopover.js +2 -2
  178. package/styled-components/cjs/components/Checkbox/Checkbox.js +1 -1
  179. package/styled-components/cjs/components/Combobox/ComboboxNew/Combobox.js +1 -1
  180. package/styled-components/cjs/components/Combobox/ComboboxNew/FloatingPopover.js +2 -2
  181. package/styled-components/cjs/components/Combobox/ComboboxNew/ui/Inner/Inner.js +2 -3
  182. package/styled-components/cjs/components/Combobox/ComboboxOld/Combobox.js +1 -1
  183. package/styled-components/cjs/components/Combobox/ComboboxOld/ui/ComboboxItem/ComboboxItem.js +6 -7
  184. package/styled-components/cjs/components/Drawer/Drawer.js +7 -7
  185. package/styled-components/cjs/components/Dropdown/Dropdown.js +1 -2
  186. package/styled-components/cjs/components/Dropdown/FloatingPopover.js +2 -2
  187. package/styled-components/cjs/components/Dropdown/ui/DropdownInner/DropdownInner.js +4 -4
  188. package/styled-components/cjs/components/Dropdown/ui/DropdownItemOld/DropdownItemOld.js +2 -3
  189. package/styled-components/cjs/components/Dropdown/ui/DropdownOld/DropdownOld.js +1 -1
  190. package/styled-components/cjs/components/Modal/Modal.js +5 -4
  191. package/styled-components/cjs/components/Popup/Popup.js +1 -1
  192. package/styled-components/cjs/components/Popup/PopupContext.js +1 -1
  193. package/styled-components/cjs/components/Radiobox/Radiobox.js +2 -2
  194. package/styled-components/cjs/components/Segment/ui/SegmentGroup/SegmentGroup.js +2 -3
  195. package/styled-components/cjs/components/Segment/ui/SegmentItem/SegmentItem.js +1 -2
  196. package/styled-components/cjs/components/Select/FloatingPopover.js +5 -5
  197. package/styled-components/cjs/components/Select/Select.js +1 -2
  198. package/styled-components/cjs/components/Select/ui/Inner/Inner.js +1 -2
  199. package/styled-components/cjs/components/Spinner/Spinner.js +2 -2
  200. package/styled-components/cjs/components/Tabs/ui/horizontal/HorizontalTabs/HorizontalTabs.js +2 -3
  201. package/styled-components/cjs/components/Tabs/ui/vertical/VerticalTabs/VerticalTabs.js +2 -3
  202. package/styled-components/cjs/components/TextArea/ui/Hint/Hint.js +1 -1
  203. package/styled-components/cjs/components/TextField/TextField.js +3 -3
  204. package/styled-components/cjs/components/TextField/ui/Hint/Hint.js +1 -1
  205. package/styled-components/es/components/Autocomplete/Autocomplete.js +1 -1
  206. package/styled-components/es/components/Autocomplete/FloatingPopover.js +1 -1
  207. package/styled-components/es/components/Checkbox/Checkbox.js +2 -1
  208. package/styled-components/es/components/Combobox/ComboboxNew/Combobox.js +2 -1
  209. package/styled-components/es/components/Combobox/ComboboxNew/FloatingPopover.js +1 -1
  210. package/styled-components/es/components/Combobox/ComboboxNew/ui/Inner/Inner.js +1 -1
  211. package/styled-components/es/components/Combobox/ComboboxOld/Combobox.js +2 -1
  212. package/styled-components/es/components/Combobox/ComboboxOld/ui/ComboboxItem/ComboboxItem.js +1 -1
  213. package/styled-components/es/components/Drawer/Drawer.js +2 -1
  214. package/styled-components/es/components/Dropdown/Dropdown.js +1 -1
  215. package/styled-components/es/components/Dropdown/FloatingPopover.js +1 -1
  216. package/styled-components/es/components/Dropdown/ui/DropdownInner/DropdownInner.js +1 -1
  217. package/styled-components/es/components/Dropdown/ui/DropdownItemOld/DropdownItemOld.js +1 -2
  218. package/styled-components/es/components/Dropdown/ui/DropdownOld/DropdownOld.js +1 -1
  219. package/styled-components/es/components/Modal/Modal.js +3 -2
  220. package/styled-components/es/components/Popup/Popup.js +2 -2
  221. package/styled-components/es/components/Popup/PopupContext.js +1 -1
  222. package/styled-components/es/components/Radiobox/Radiobox.js +2 -2
  223. package/styled-components/es/components/Segment/ui/SegmentGroup/SegmentGroup.js +1 -2
  224. package/styled-components/es/components/Segment/ui/SegmentItem/SegmentItem.js +1 -2
  225. package/styled-components/es/components/Select/FloatingPopover.js +1 -1
  226. package/styled-components/es/components/Select/Select.js +1 -2
  227. package/styled-components/es/components/Select/ui/Inner/Inner.js +1 -2
  228. package/styled-components/es/components/Spinner/Spinner.js +1 -1
  229. package/styled-components/es/components/Tabs/ui/horizontal/HorizontalTabs/HorizontalTabs.js +1 -2
  230. package/styled-components/es/components/Tabs/ui/vertical/VerticalTabs/VerticalTabs.js +1 -2
  231. package/styled-components/es/components/TextArea/ui/Hint/Hint.js +1 -1
  232. package/styled-components/es/components/TextField/TextField.js +2 -2
  233. package/styled-components/es/components/TextField/ui/Hint/Hint.js +1 -1
  234. package/types/components/Checkbox/Checkbox.d.ts.map +1 -1
  235. package/types/components/Combobox/ComboboxNew/Combobox.d.ts.map +1 -1
  236. package/types/components/Combobox/ComboboxOld/Combobox.d.ts.map +1 -1
  237. package/types/components/Combobox/ComboboxOld/ui/ComboboxItem/ComboboxItem.d.ts.map +1 -1
  238. package/types/components/Drawer/Drawer.d.ts.map +1 -1
  239. package/types/components/Dropdown/Dropdown.d.ts.map +1 -1
  240. package/types/components/Dropdown/ui/DropdownDivider/DropdownDivider.d.ts +1 -1
  241. package/types/components/Dropdown/ui/DropdownDivider/DropdownDivider.d.ts.map +1 -1
  242. package/types/components/Dropdown/ui/DropdownFooter/DropdownFooter.d.ts +1 -1
  243. package/types/components/Dropdown/ui/DropdownFooter/DropdownFooter.d.ts.map +1 -1
  244. package/types/components/Dropdown/ui/DropdownGroup/DropdownGroup.d.ts +1 -1
  245. package/types/components/Dropdown/ui/DropdownGroup/DropdownGroup.d.ts.map +1 -1
  246. package/types/components/Dropdown/ui/DropdownHeader/DropdownHeader.d.ts +1 -1
  247. package/types/components/Dropdown/ui/DropdownHeader/DropdownHeader.d.ts.map +1 -1
  248. package/types/components/Dropdown/ui/DropdownItemOld/DropdownItemOld.d.ts +1 -1
  249. package/types/components/Dropdown/ui/DropdownItemOld/DropdownItemOld.d.ts.map +1 -1
  250. package/types/components/Dropdown/ui/DropdownOld/DropdownOld.d.ts +1 -1
  251. package/types/components/Dropdown/ui/DropdownOld/DropdownOld.d.ts.map +1 -1
  252. package/types/components/Modal/Modal.d.ts +1 -1
  253. package/types/components/Modal/Modal.d.ts.map +1 -1
  254. package/types/components/Popup/Popup.d.ts +1 -1
  255. package/types/components/Popup/Popup.d.ts.map +1 -1
  256. package/types/components/Radiobox/Radiobox.d.ts +2 -2
  257. package/types/components/Radiobox/Radiobox.d.ts.map +1 -1
  258. package/types/components/Segment/ui/SegmentGroup/SegmentGroup.d.ts +1 -1
  259. package/types/components/Segment/ui/SegmentGroup/SegmentGroup.d.ts.map +1 -1
  260. package/types/components/Segment/ui/SegmentItem/SegmentItem.d.ts +1 -1
  261. package/types/components/Segment/ui/SegmentItem/SegmentItem.d.ts.map +1 -1
  262. package/types/components/Select/Select.d.ts.map +1 -1
  263. package/types/components/Select/ui/Inner/Inner.d.ts.map +1 -1
  264. package/types/components/Spinner/Spinner.d.ts +1 -1
  265. package/types/components/Spinner/Spinner.d.ts.map +1 -1
  266. package/types/components/Tabs/ui/horizontal/HorizontalTabs/HorizontalTabs.d.ts +1 -1
  267. package/types/components/Tabs/ui/horizontal/HorizontalTabs/HorizontalTabs.d.ts.map +1 -1
  268. package/types/components/Tabs/ui/vertical/VerticalTabs/VerticalTabs.d.ts +1 -1
  269. package/types/components/Tabs/ui/vertical/VerticalTabs/VerticalTabs.d.ts.map +1 -1
  270. package/types/components/TextField/TextField.d.ts +1 -1
  271. package/types/components/TextField/TextField.d.ts.map +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"FloatingPopover.js","sources":["../../../../src/components/Combobox/ComboboxNew/FloatingPopover.tsx"],"sourcesContent":["import {\n flip,\n shift,\n size,\n useFloating,\n FloatingPortal,\n offset as offsetMiddleware,\n autoUpdate,\n} from '@floating-ui/react';\nimport React, { forwardRef } from 'react';\nimport { safeUseId } from '@salutejs/plasma-core';\n\nimport type { FloatingPopoverProps } from './Combobox.types';\n\n// TODO: #2003\nconst LIST_PADDING = 2;\n\nconst FloatingPopover = forwardRef<HTMLDivElement, FloatingPopoverProps>(\n ({ target, children, opened, onToggle, placement, portal, listWidth, zIndex, isInner }, ref) => {\n const { refs, floatingStyles } = useFloating({\n whileElementsMounted(referenceEl, floatingEl, update) {\n return autoUpdate(referenceEl, floatingEl, update, {\n ancestorScroll: false,\n ancestorResize: false,\n layoutShift: false,\n });\n },\n placement,\n open: opened,\n middleware: [\n offsetMiddleware({\n mainAxis: isInner ? LIST_PADDING * 2 : 0,\n alignmentAxis: isInner ? -LIST_PADDING : 0,\n }),\n flip({ fallbackAxisSideDirection: 'end' }),\n shift(),\n size({\n apply({ rects, elements }) {\n Object.assign(elements.floating.style, {\n width:\n listWidth ||\n `${isInner ? rects.reference.width + LIST_PADDING * 2 : rects.reference.width}px`,\n });\n },\n }),\n ],\n });\n\n const wrappedId = safeUseId();\n\n const handleClick = () => {\n if (onToggle) {\n onToggle(!opened);\n }\n };\n\n // Проверка на target. Это может быть как ReactNode, так и функция, в которую пробрасывается ref.\n // Это нужно для более тонкой настройки reference-элемента, вокруг которого и будет позиционироваться выпадашка.\n // Пример: когда в Textfield под инпутом находится helperText (или еще что-либо),\n // но выпадающий список должен позиционироваться непосредственно возле самого инпута.\n const isTargetAsFunction = typeof target === 'function';\n\n return (\n <div ref={ref} id={wrappedId} style={{ position: 'relative' }}>\n <div ref={isTargetAsFunction ? undefined : refs.setReference} onClick={handleClick}>\n {typeof target === 'function' ? target(refs.setReference as any) : target}\n </div>\n\n {opened && (\n // root - принимает ref контейнера портала.\n // id - если есть портал - не используется, если портала нет - подставляется 'wrappedId'.\n <FloatingPortal {...getFloatingPortalProps(portal, wrappedId)}>\n <div ref={refs.setFloating} style={{ ...floatingStyles, zIndex: zIndex || 1000 }}>\n {children}\n </div>\n </FloatingPortal>\n )}\n </div>\n );\n },\n);\n\ntype FloatingPortalReturnedProps = {\n root?: React.RefObject<HTMLElement>;\n id?: string;\n};\n\n// root - принимает ref контейнера портала.\n// id - если есть портал - не используется, если портала нет - подставляется 'wrappedId'.\nconst getFloatingPortalProps = (\n portal: FloatingPopoverProps['portal'],\n wrappedId: string,\n): FloatingPortalReturnedProps => {\n if (!portal) {\n return { id: wrappedId };\n }\n\n if (typeof portal === 'string') {\n return { id: portal };\n }\n\n return { root: portal };\n};\n\nexport { FloatingPopover };\n"],"names":["LIST_PADDING","FloatingPopover","forwardRef","_ref","ref","target","children","opened","onToggle","placement","portal","listWidth","zIndex","isInner","_useFloating","useFloating","whileElementsMounted","referenceEl","floatingEl","update","autoUpdate","ancestorScroll","ancestorResize","layoutShift","open","middleware","offsetMiddleware","mainAxis","alignmentAxis","flip","fallbackAxisSideDirection","shift","size","apply","_ref2","rects","elements","Object","assign","floating","style","width","concat","reference","refs","floatingStyles","wrappedId","safeUseId","handleClick","isTargetAsFunction","React","createElement","id","position","undefined","setReference","onClick","FloatingPortal","getFloatingPortalProps","setFloating","_objectSpread","root"],"mappings":";;;;;;;;;;;;;AAcA;AACA,IAAMA,YAAY,GAAG,CAAC,CAAA;AAEhBC,IAAAA,eAAe,gBAAGC,gBAAU,CAC9B,UAAAC,IAAA,EAAwFC,GAAG,EAAK;AAAA,EAAA,IAA7FC,MAAM,GAAAF,IAAA,CAANE,MAAM;IAAEC,QAAQ,GAAAH,IAAA,CAARG,QAAQ;IAAEC,MAAM,GAAAJ,IAAA,CAANI,MAAM;IAAEC,QAAQ,GAAAL,IAAA,CAARK,QAAQ;IAAEC,SAAS,GAAAN,IAAA,CAATM,SAAS;IAAEC,MAAM,GAAAP,IAAA,CAANO,MAAM;IAAEC,SAAS,GAAAR,IAAA,CAATQ,SAAS;IAAEC,MAAM,GAAAT,IAAA,CAANS,MAAM;IAAEC,OAAO,GAAAV,IAAA,CAAPU,OAAO,CAAA;EAChF,IAAAC,YAAA,GAAiCC,iBAAW,CAAC;AACzCC,MAAAA,oBAAoB,WAAAA,oBAACC,CAAAA,WAAW,EAAEC,UAAU,EAAEC,MAAM,EAAE;AAClD,QAAA,OAAOC,gBAAU,CAACH,WAAW,EAAEC,UAAU,EAAEC,MAAM,EAAE;AAC/CE,UAAAA,cAAc,EAAE,KAAK;AACrBC,UAAAA,cAAc,EAAE,KAAK;AACrBC,UAAAA,WAAW,EAAE,KAAA;AACjB,SAAC,CAAC,CAAA;OACL;AACDd,MAAAA,SAAS,EAATA,SAAS;AACTe,MAAAA,IAAI,EAAEjB,MAAM;MACZkB,UAAU,EAAE,CACRC,YAAgB,CAAC;AACbC,QAAAA,QAAQ,EAAEd,OAAO,GAAGb,YAAY,GAAG,CAAC,GAAG,CAAC;AACxC4B,QAAAA,aAAa,EAAEf,OAAO,GAAG,CAACb,YAAY,GAAG,CAAA;OAC5C,CAAC,EACF6B,UAAI,CAAC;AAAEC,QAAAA,yBAAyB,EAAE,KAAA;AAAM,OAAC,CAAC,EAC1CC,WAAK,EAAE,EACPC,UAAI,CAAC;QACDC,KAAK,EAAA,SAAAA,KAAAC,CAAAA,KAAA,EAAsB;AAAA,UAAA,IAAnBC,KAAK,GAAAD,KAAA,CAALC,KAAK;YAAEC,QAAQ,GAAAF,KAAA,CAARE,QAAQ,CAAA;UACnBC,MAAM,CAACC,MAAM,CAACF,QAAQ,CAACG,QAAQ,CAACC,KAAK,EAAE;YACnCC,KAAK,EACD9B,SAAS,IAAA+B,EAAAA,CAAAA,MAAA,CACN7B,OAAO,GAAGsB,KAAK,CAACQ,SAAS,CAACF,KAAK,GAAGzC,YAAY,GAAG,CAAC,GAAGmC,KAAK,CAACQ,SAAS,CAACF,KAAK,EAAA,IAAA,CAAA;AACrF,WAAC,CAAC,CAAA;AACN,SAAA;AACJ,OAAC,CAAC,CAAA;AAEV,KAAC,CAAC;IA3BMG,IAAI,GAAA9B,YAAA,CAAJ8B,IAAI;IAAEC,cAAc,GAAA/B,YAAA,CAAd+B,cAAc,CAAA;AA6B5B,EAAA,IAAMC,SAAS,GAAGC,oBAAS,EAAE,CAAA;AAE7B,EAAA,IAAMC,WAAW,GAAG,SAAdA,WAAWA,GAAS;AACtB,IAAA,IAAIxC,QAAQ,EAAE;MACVA,QAAQ,CAAC,CAACD,MAAM,CAAC,CAAA;AACrB,KAAA;GACH,CAAA;;AAED;AACA;AACA;AACA;AACA,EAAA,IAAM0C,kBAAkB,GAAG,OAAO5C,MAAM,KAAK,UAAU,CAAA;EAEvD,oBACI6C,sBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAK/C,IAAAA,GAAG,EAAEA,GAAI;AAACgD,IAAAA,EAAE,EAAEN,SAAU;AAACN,IAAAA,KAAK,EAAE;AAAEa,MAAAA,QAAQ,EAAE,UAAA;AAAW,KAAA;GACxDH,eAAAA,sBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAK/C,IAAAA,GAAG,EAAE6C,kBAAkB,GAAGK,SAAS,GAAGV,IAAI,CAACW,YAAa;AAACC,IAAAA,OAAO,EAAER,WAAAA;AAAY,GAAA,EAC9E,OAAO3C,MAAM,KAAK,UAAU,GAAGA,MAAM,CAACuC,IAAI,CAACW,YAAmB,CAAC,GAAGlD,MAClE,CAAC,EAELE,MAAM;AAAA;AACH;AACA;AACA2C,EAAAA,sBAAA,CAAAC,aAAA,CAACM,oBAAc,EAAKC,sBAAsB,CAAChD,MAAM,EAAEoC,SAAS,CAAC,eACzDI,sBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;IAAK/C,GAAG,EAAEwC,IAAI,CAACe,WAAY;AAACnB,IAAAA,KAAK,EAAAoB,uCAAA,CAAAA,uCAAA,KAAOf,cAAc,CAAA,EAAA,EAAA,EAAA;MAAEjC,MAAM,EAAEA,MAAM,IAAI,IAAA;AAAI,KAAA,CAAA;GACzEN,EAAAA,QACA,CACO,CAEnB,CAAC,CAAA;AAEd,CACJ,EAAC;AAOD;AACA;AACA,IAAMoD,sBAAsB,GAAG,SAAzBA,sBAAsBA,CACxBhD,MAAsC,EACtCoC,SAAiB,EACa;EAC9B,IAAI,CAACpC,MAAM,EAAE;IACT,OAAO;AAAE0C,MAAAA,EAAE,EAAEN,SAAAA;KAAW,CAAA;AAC5B,GAAA;AAEA,EAAA,IAAI,OAAOpC,MAAM,KAAK,QAAQ,EAAE;IAC5B,OAAO;AAAE0C,MAAAA,EAAE,EAAE1C,MAAAA;KAAQ,CAAA;AACzB,GAAA;EAEA,OAAO;AAAEmD,IAAAA,IAAI,EAAEnD,MAAAA;GAAQ,CAAA;AAC3B,CAAC;;;;"}
1
+ {"version":3,"file":"FloatingPopover.js","sources":["../../../../src/components/Combobox/ComboboxNew/FloatingPopover.tsx"],"sourcesContent":["import {\n flip,\n shift,\n size,\n useFloating,\n FloatingPortal,\n offset as offsetMiddleware,\n autoUpdate,\n} from '@floating-ui/react';\nimport React, { forwardRef } from 'react';\nimport { safeUseId } from 'src/utils';\n\nimport type { FloatingPopoverProps } from './Combobox.types';\n\n// TODO: #2003\nconst LIST_PADDING = 2;\n\nconst FloatingPopover = forwardRef<HTMLDivElement, FloatingPopoverProps>(\n ({ target, children, opened, onToggle, placement, portal, listWidth, zIndex, isInner }, ref) => {\n const { refs, floatingStyles } = useFloating({\n whileElementsMounted(referenceEl, floatingEl, update) {\n return autoUpdate(referenceEl, floatingEl, update, {\n ancestorScroll: false,\n ancestorResize: false,\n layoutShift: false,\n });\n },\n placement,\n open: opened,\n middleware: [\n offsetMiddleware({\n mainAxis: isInner ? LIST_PADDING * 2 : 0,\n alignmentAxis: isInner ? -LIST_PADDING : 0,\n }),\n flip({ fallbackAxisSideDirection: 'end' }),\n shift(),\n size({\n apply({ rects, elements }) {\n Object.assign(elements.floating.style, {\n width:\n listWidth ||\n `${isInner ? rects.reference.width + LIST_PADDING * 2 : rects.reference.width}px`,\n });\n },\n }),\n ],\n });\n\n const wrappedId = safeUseId();\n\n const handleClick = () => {\n if (onToggle) {\n onToggle(!opened);\n }\n };\n\n // Проверка на target. Это может быть как ReactNode, так и функция, в которую пробрасывается ref.\n // Это нужно для более тонкой настройки reference-элемента, вокруг которого и будет позиционироваться выпадашка.\n // Пример: когда в Textfield под инпутом находится helperText (или еще что-либо),\n // но выпадающий список должен позиционироваться непосредственно возле самого инпута.\n const isTargetAsFunction = typeof target === 'function';\n\n return (\n <div ref={ref} id={wrappedId} style={{ position: 'relative' }}>\n <div ref={isTargetAsFunction ? undefined : refs.setReference} onClick={handleClick}>\n {typeof target === 'function' ? target(refs.setReference as any) : target}\n </div>\n\n {opened && (\n // root - принимает ref контейнера портала.\n // id - если есть портал - не используется, если портала нет - подставляется 'wrappedId'.\n <FloatingPortal {...getFloatingPortalProps(portal, wrappedId)}>\n <div ref={refs.setFloating} style={{ ...floatingStyles, zIndex: zIndex || 1000 }}>\n {children}\n </div>\n </FloatingPortal>\n )}\n </div>\n );\n },\n);\n\ntype FloatingPortalReturnedProps = {\n root?: React.RefObject<HTMLElement>;\n id?: string;\n};\n\n// root - принимает ref контейнера портала.\n// id - если есть портал - не используется, если портала нет - подставляется 'wrappedId'.\nconst getFloatingPortalProps = (\n portal: FloatingPopoverProps['portal'],\n wrappedId: string,\n): FloatingPortalReturnedProps => {\n if (!portal) {\n return { id: wrappedId };\n }\n\n if (typeof portal === 'string') {\n return { id: portal };\n }\n\n return { root: portal };\n};\n\nexport { FloatingPopover };\n"],"names":["LIST_PADDING","FloatingPopover","forwardRef","_ref","ref","target","children","opened","onToggle","placement","portal","listWidth","zIndex","isInner","_useFloating","useFloating","whileElementsMounted","referenceEl","floatingEl","update","autoUpdate","ancestorScroll","ancestorResize","layoutShift","open","middleware","offsetMiddleware","mainAxis","alignmentAxis","flip","fallbackAxisSideDirection","shift","size","apply","_ref2","rects","elements","Object","assign","floating","style","width","concat","reference","refs","floatingStyles","wrappedId","safeUseId","handleClick","isTargetAsFunction","React","createElement","id","position","undefined","setReference","onClick","FloatingPortal","getFloatingPortalProps","setFloating","_objectSpread","root"],"mappings":"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"}
@@ -3,9 +3,9 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var React = require('react');
6
- var plasmaCore = require('@salutejs/plasma-core');
7
6
  var FloatingPopover = require('../../FloatingPopover.js');
8
7
  var Combobox_styles = require('../../Combobox.styles.js');
8
+ var react = require('../../../../../utils/react.js');
9
9
  var isEmpty = require('../../../../../utils/isEmpty.js');
10
10
  var Item = require('./ui/Item/Item.js');
11
11
 
@@ -35,7 +35,7 @@ var Inner = function Inner(_ref) {
35
35
  }
36
36
  };
37
37
  var isCurrentListOpen = path[currentLevel + 1] === item.value.toString();
38
- var treeId = plasmaCore.safeUseId();
38
+ var treeId = react.safeUseId();
39
39
  var listId = "".concat(treeId, "_tree_level_").concat(currentLevel + 2);
40
40
  var nextLevel = currentLevel + 1;
41
41
  if (!isEmpty.isEmpty(item === null || item === void 0 ? void 0 : item.items)) {
@@ -1 +1 @@
1
- {"version":3,"file":"Inner.js","sources":["../../../../../../src/components/Combobox/ComboboxNew/ui/Inner/Inner.tsx"],"sourcesContent":["import React from 'react';\nimport type { FC } from 'react';\nimport { safeUseId } from '@salutejs/plasma-core';\n\nimport { FloatingPopover } from '../../FloatingPopover';\nimport { isEmpty } from '../../../../../utils';\nimport { Ul, ListWrapper } from '../../Combobox.styles';\n\nimport type { ItemOptionTransformed } from './ui/Item/Item.types';\nimport { Item } from './ui';\nimport { InnerProps } from './Inner.type';\n\nexport const Inner: FC<InnerProps> = ({ item, currentLevel, path, dispatchPath, index, listWidth }) => {\n const handleToggle = (opened: boolean): void => {\n if (opened) {\n dispatchPath({ type: 'changed_on_level', value: item.value.toString(), level: currentLevel + 1 });\n } else {\n dispatchPath({ type: 'cut_by_level', level: currentLevel + 1 });\n }\n };\n\n const isCurrentListOpen = path[currentLevel + 1] === item.value.toString();\n\n const treeId = safeUseId();\n const listId = `${treeId}_tree_level_${currentLevel + 2}`;\n const nextLevel = currentLevel + 1;\n\n if (!isEmpty(item?.items)) {\n return (\n <FloatingPopover\n placement={item?.placement || 'right-start'}\n opened={isCurrentListOpen}\n onToggle={handleToggle}\n target={\n <Item\n item={item}\n path={path}\n currentLevel={currentLevel}\n index={index}\n ariaControls={listId}\n ariaExpanded={isCurrentListOpen}\n ariaLevel={nextLevel}\n ariaLabel={item.label}\n />\n }\n isInner\n >\n <ListWrapper listWidth={listWidth}>\n <Ul role=\"group\" id={listId} virtual={false}>\n {item.items?.map((innerItem: ItemOptionTransformed, innerIndex: number) => (\n <Inner\n key={`${innerIndex}/${currentLevel}`}\n item={innerItem}\n currentLevel={nextLevel}\n path={path}\n dispatchPath={dispatchPath}\n index={innerIndex}\n listWidth={listWidth}\n />\n ))}\n </Ul>\n </ListWrapper>\n </FloatingPopover>\n );\n }\n\n return <Item item={item} path={path} index={index} currentLevel={currentLevel} ariaLevel={nextLevel} />;\n};\n"],"names":["Inner","_ref","item","currentLevel","path","dispatchPath","index","listWidth","handleToggle","opened","type","value","toString","level","isCurrentListOpen","treeId","safeUseId","listId","concat","nextLevel","isEmpty","items","_item$items","React","createElement","FloatingPopover","placement","onToggle","target","Item","ariaControls","ariaExpanded","ariaLevel","ariaLabel","label","isInner","ListWrapper","Ul","role","id","virtual","map","innerItem","innerIndex","key"],"mappings":"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"}
1
+ {"version":3,"file":"Inner.js","sources":["../../../../../../src/components/Combobox/ComboboxNew/ui/Inner/Inner.tsx"],"sourcesContent":["import React from 'react';\nimport type { FC } from 'react';\nimport { safeUseId } from 'src/utils';\n\nimport { FloatingPopover } from '../../FloatingPopover';\nimport { isEmpty } from '../../../../../utils';\nimport { Ul, ListWrapper } from '../../Combobox.styles';\n\nimport type { ItemOptionTransformed } from './ui/Item/Item.types';\nimport { Item } from './ui';\nimport { InnerProps } from './Inner.type';\n\nexport const Inner: FC<InnerProps> = ({ item, currentLevel, path, dispatchPath, index, listWidth }) => {\n const handleToggle = (opened: boolean): void => {\n if (opened) {\n dispatchPath({ type: 'changed_on_level', value: item.value.toString(), level: currentLevel + 1 });\n } else {\n dispatchPath({ type: 'cut_by_level', level: currentLevel + 1 });\n }\n };\n\n const isCurrentListOpen = path[currentLevel + 1] === item.value.toString();\n\n const treeId = safeUseId();\n const listId = `${treeId}_tree_level_${currentLevel + 2}`;\n const nextLevel = currentLevel + 1;\n\n if (!isEmpty(item?.items)) {\n return (\n <FloatingPopover\n placement={item?.placement || 'right-start'}\n opened={isCurrentListOpen}\n onToggle={handleToggle}\n target={\n <Item\n item={item}\n path={path}\n currentLevel={currentLevel}\n index={index}\n ariaControls={listId}\n ariaExpanded={isCurrentListOpen}\n ariaLevel={nextLevel}\n ariaLabel={item.label}\n />\n }\n isInner\n >\n <ListWrapper listWidth={listWidth}>\n <Ul role=\"group\" id={listId} virtual={false}>\n {item.items?.map((innerItem: ItemOptionTransformed, innerIndex: number) => (\n <Inner\n key={`${innerIndex}/${currentLevel}`}\n item={innerItem}\n currentLevel={nextLevel}\n path={path}\n dispatchPath={dispatchPath}\n index={innerIndex}\n listWidth={listWidth}\n />\n ))}\n </Ul>\n </ListWrapper>\n </FloatingPopover>\n );\n }\n\n return <Item item={item} path={path} index={index} currentLevel={currentLevel} ariaLevel={nextLevel} />;\n};\n"],"names":["Inner","_ref","item","currentLevel","path","dispatchPath","index","listWidth","handleToggle","opened","type","value","toString","level","isCurrentListOpen","treeId","safeUseId","listId","concat","nextLevel","isEmpty","items","_item$items","React","createElement","FloatingPopover","placement","onToggle","target","Item","ariaControls","ariaExpanded","ariaLevel","ariaLabel","label","isInner","ListWrapper","Ul","role","id","virtual","map","innerItem","innerIndex","key"],"mappings":"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"}
@@ -11,6 +11,7 @@ var base = require('./variations/_view/base.js');
11
11
  var base$1 = require('./variations/_size/base.js');
12
12
  var Combobox_styles = require('./Combobox.styles.js');
13
13
  var useForceUpdate = require('../../../hooks/useForceUpdate.js');
14
+ var react = require('../../../utils/react.js');
14
15
  var useDidMountEffect = require('../../../hooks/useDidMountEffect.js');
15
16
  var useKeyNavigation = require('./hooks/useKeyNavigation.js');
16
17
  var ComboboxTarget = require('./ui/ComboboxTarget/ComboboxTarget.js');
@@ -55,7 +56,7 @@ var comboboxRoot = function comboboxRoot(Root) {
55
56
  filterFunction = _ref.filterFunction,
56
57
  rest = _rollupPluginBabelHelpers.objectWithoutProperties(_ref, _excluded);
57
58
  var forceUpdate = useForceUpdate.useForceUpdate();
58
- var uniqId = plasmaCore.safeUseId();
59
+ var uniqId = react.safeUseId();
59
60
  var innerId = id || uniqId;
60
61
  var _rest$valueType = rest.valueType,
61
62
  valueType = _rest$valueType === void 0 ? 'single' : _rest$valueType,
@@ -1 +1 @@
1
- {"version":3,"file":"Combobox.js","sources":["../../../../src/components/Combobox/ComboboxOld/Combobox.tsx"],"sourcesContent":["import React, { Children, forwardRef, useEffect, useRef, useState } from 'react';\nimport { safeUseId, useForkRef } from '@salutejs/plasma-core';\n\nimport { RootProps } from '../../../engines';\nimport { cx, getPlacements } from '../../../utils';\nimport { useDidMountEffect, useForceUpdate } from '../../../hooks';\n\nimport { getChildren, getNewSelected, getValues } from './utils';\nimport { useKeyNavigation } from './hooks';\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as sizeCSS } from './variations/_size/base';\nimport { ComboboxTarget } from './ui';\nimport { ComboboxItemNotFound, StyledPopover, StyledRoot, StyledCombobox, StyledNativeSelect } from './Combobox.styles';\nimport type { ComboboxPrimitiveValue, ComboboxProps } from './Combobox.types';\n\n/**\n * Выпадающий список без внешнего контроля видимости.\n */\nexport const comboboxRoot = (Root: RootProps<HTMLInputElement, ComboboxProps>) =>\n forwardRef<HTMLInputElement, ComboboxProps>(\n (\n {\n name,\n form,\n readOnly,\n disabled,\n label,\n placeholder,\n id,\n children,\n role,\n view,\n size,\n frame,\n usePortal,\n negativeResultContent = 'Элементы не найдены',\n enumerationType = 'comma',\n opened = false,\n alwaysOpened = false,\n placement = 'bottom',\n onToggle,\n onKeyDown,\n filterFunction,\n ...rest\n },\n outerRootRef,\n ) => {\n const forceUpdate = useForceUpdate();\n const uniqId = safeUseId();\n const innerId = id || uniqId;\n const { valueType = 'single', value } = rest;\n const offset = [0, 4] as [number, number];\n\n const [ref, setRef] = useState<HTMLInputElement | null>(null);\n\n const targetRef = useRef<HTMLInputElement>(null);\n const chipsRefs = useRef<Array<HTMLButtonElement>>([]);\n const comboboxRef = useRef<HTMLDivElement>(null);\n const itemsRefs = useRef<Array<HTMLDivElement>>([]);\n const inputRef = useRef<HTMLInputElement>(null);\n const handleRef = useForkRef<HTMLInputElement>(targetRef, outerRootRef);\n const controlledRefs = { targetRef, chipsRefs, selectRef: comboboxRef, itemsRefs, inputRef };\n\n const [isVisible, setIsVisible] = useState(alwaysOpened || opened);\n const [search, setSearch] = useState<string | undefined>('');\n const [filterValue, setFilterValue] = useState(search);\n\n // INFO: нужно высчитывать для корректной работы портала\n const dynamicTargetWidth = targetRef.current?.offsetWidth;\n\n // INFO: Из-за того, что классы передаются через ref,\n // состояние пропсов после изменения view, size\n // всегда предыдущее, поэтому нужно делать форс-ререндер\n useDidMountEffect(() => {\n forceUpdate();\n }, [view, size]);\n\n useEffect(() => {\n if (disabled || readOnly) {\n return;\n }\n\n setIsVisible(alwaysOpened || opened);\n }, [opened, alwaysOpened, disabled, readOnly]);\n\n useEffect(() => {\n // INFO: Для кейсов, когда значение выбрано и нужно вывести весь список\n if (alwaysOpened || opened) {\n setFilterValue('');\n }\n }, []);\n\n const onInnerToggle = (openValue: boolean, event: React.SyntheticEvent | Event) => {\n if (disabled || readOnly) {\n return;\n }\n\n // INFO: Для кейсов, когда значение выбрано и нужно вывести весь список\n if (!isVisible) {\n setFilterValue('');\n }\n\n if (onToggle) {\n onToggle(alwaysOpened || openValue, event);\n\n return;\n }\n\n setIsVisible(alwaysOpened || openValue);\n };\n\n const closedWithoutChanges = useRef(true);\n\n const updateValue = (item: HTMLElement, event: React.SyntheticEvent | Event) => {\n const {\n dataset: { value: newValue },\n } = item;\n\n if (rest.valueType === 'multiple') {\n const newSelected = getNewSelected(rest.value, newValue, rest.valueType);\n rest.onChangeValue?.(newSelected);\n\n return;\n }\n\n const newSelected = getNewSelected(rest.value, newValue, 'single');\n\n rest.onChangeValue?.(newSelected);\n\n onInnerToggle?.(alwaysOpened || false, event);\n\n closedWithoutChanges.current = false;\n };\n\n const onClickChildrenItem = (event: React.MouseEvent<HTMLDivElement>) => {\n // INFO: Для корректной работы компонента Popper\n event.stopPropagation();\n\n const item = event.currentTarget as HTMLElement;\n\n updateValue(item, event);\n };\n\n const onChangeChipValue = (newValue?: Array<ComboboxPrimitiveValue>) => {\n if (rest.valueType !== 'multiple') {\n return;\n }\n\n rest.onChangeValue?.(newValue);\n };\n\n const { onKeyDownTarget, onKeyDownSelect } = useKeyNavigation({\n controlledRefs,\n opened: isVisible,\n enumerationType,\n valueType,\n componentType: 'combobox',\n value,\n search: filterValue,\n updateOpened: onInnerToggle,\n updateValue,\n });\n\n const childrenArray = Children.toArray(children) as React.ReactElement[];\n\n const childrenMemo = getChildren(\n childrenArray,\n { onClick: onClickChildrenItem, childrenRefs: itemsRefs },\n value,\n filterValue,\n filterFunction,\n ).filter(Boolean);\n\n const values = getValues(childrenArray, value);\n\n const onSearch = (newSearch?: string, newOpened?: boolean) => {\n setSearch(newSearch);\n setFilterValue(newSearch);\n setIsVisible(newOpened ?? true);\n };\n\n const onKeyDownHandle = (event: React.KeyboardEvent<HTMLInputElement>) => {\n onKeyDown?.(event);\n onKeyDownTarget(event);\n };\n\n useEffect(() => {\n if (alwaysOpened && rest.valueType === 'single') {\n setSearch(String(value));\n }\n }, [value, alwaysOpened]);\n\n return (\n <StyledRoot ref={comboboxRef}>\n <StyledNativeSelect\n aria-invalid=\"false\"\n aria-hidden=\"true\"\n aria-readonly={readOnly}\n tabIndex={-1}\n form={form}\n name={name}\n value={`${value}`}\n disabled={disabled || readOnly}\n />\n <StyledPopover\n role={role}\n opened={isVisible}\n onToggle={onInnerToggle}\n target={\n <ComboboxTarget\n opened={isVisible}\n values={values}\n label={label}\n placeholder={placeholder}\n search={search}\n enumerationType={enumerationType}\n valueType={valueType}\n readOnly={readOnly}\n disabled={disabled}\n size={size}\n closedWithoutChanges={closedWithoutChanges}\n ref={handleRef}\n chipsRefs={chipsRefs}\n inputRef={inputRef}\n id={innerId}\n onChange={onChangeChipValue}\n onSearch={onSearch}\n onKeyDown={onKeyDownHandle}\n {...rest}\n />\n }\n className={cx(ref?.classList.toString())} // INFO: Прокидываем стили для Popover\n id={innerId}\n offset={offset}\n placement={getPlacements(placement)}\n usePortal={usePortal}\n selectWidth={dynamicTargetWidth}\n frame={frame}\n trigger=\"click\"\n isFocusTrapped={false}\n preventOverflow={false}\n closeOnEsc={false}\n closeOnOverlayClick\n >\n <Root ref={setRef} view={view} size={size}>\n <StyledCombobox onKeyDown={onKeyDownSelect}>\n {childrenMemo.length ? (\n childrenMemo\n ) : (\n <ComboboxItemNotFound>{negativeResultContent}</ComboboxItemNotFound>\n )}\n </StyledCombobox>\n </Root>\n </StyledPopover>\n </StyledRoot>\n );\n },\n );\n\nexport const comboboxConfig = {\n name: 'Combobox',\n tag: 'div',\n layout: comboboxRoot,\n base: '',\n variations: {\n view: {\n css: viewCSS,\n },\n size: {\n css: sizeCSS,\n },\n },\n defaults: {\n view: 'default',\n size: 'm',\n },\n};\n"],"names":["comboboxRoot","Root","forwardRef","_ref","outerRootRef","_targetRef$current","name","form","readOnly","disabled","label","placeholder","id","children","role","view","size","frame","usePortal","_ref$negativeResultCo","negativeResultContent","_ref$enumerationType","enumerationType","_ref$opened","opened","_ref$alwaysOpened","alwaysOpened","_ref$placement","placement","onToggle","onKeyDown","filterFunction","rest","_objectWithoutProperties","_excluded","forceUpdate","useForceUpdate","uniqId","safeUseId","innerId","_rest$valueType","valueType","value","offset","_useState","useState","_useState2","_slicedToArray","ref","setRef","targetRef","useRef","chipsRefs","comboboxRef","itemsRefs","inputRef","handleRef","useForkRef","controlledRefs","selectRef","_useState3","_useState4","isVisible","setIsVisible","_useState5","_useState6","search","setSearch","_useState7","_useState8","filterValue","setFilterValue","dynamicTargetWidth","current","offsetWidth","useDidMountEffect","useEffect","onInnerToggle","openValue","event","closedWithoutChanges","updateValue","item","_rest$onChangeValue2","newValue","dataset","_rest$onChangeValue","newSelected","getNewSelected","onChangeValue","call","onClickChildrenItem","stopPropagation","currentTarget","onChangeChipValue","_rest$onChangeValue3","_useKeyNavigation","useKeyNavigation","componentType","updateOpened","onKeyDownTarget","onKeyDownSelect","childrenArray","Children","toArray","childrenMemo","getChildren","onClick","childrenRefs","filter","Boolean","values","getValues","onSearch","newSearch","newOpened","onKeyDownHandle","String","React","createElement","StyledRoot","StyledNativeSelect","tabIndex","concat","StyledPopover","target","ComboboxTarget","_extends","onChange","className","cx","classList","toString","getPlacements","selectWidth","trigger","isFocusTrapped","preventOverflow","closeOnEsc","closeOnOverlayClick","StyledCombobox","length","ComboboxItemNotFound","comboboxConfig","tag","layout","base","variations","css","viewCSS","sizeCSS","defaults"],"mappings":"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"}
1
+ {"version":3,"file":"Combobox.js","sources":["../../../../src/components/Combobox/ComboboxOld/Combobox.tsx"],"sourcesContent":["import React, { Children, forwardRef, useEffect, useRef, useState } from 'react';\nimport { useForkRef } from '@salutejs/plasma-core';\nimport { safeUseId } from 'src/utils';\n\nimport { RootProps } from '../../../engines';\nimport { cx, getPlacements } from '../../../utils';\nimport { useDidMountEffect, useForceUpdate } from '../../../hooks';\n\nimport { getChildren, getNewSelected, getValues } from './utils';\nimport { useKeyNavigation } from './hooks';\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as sizeCSS } from './variations/_size/base';\nimport { ComboboxTarget } from './ui';\nimport { ComboboxItemNotFound, StyledPopover, StyledRoot, StyledCombobox, StyledNativeSelect } from './Combobox.styles';\nimport type { ComboboxPrimitiveValue, ComboboxProps } from './Combobox.types';\n\n/**\n * Выпадающий список без внешнего контроля видимости.\n */\nexport const comboboxRoot = (Root: RootProps<HTMLInputElement, ComboboxProps>) =>\n forwardRef<HTMLInputElement, ComboboxProps>(\n (\n {\n name,\n form,\n readOnly,\n disabled,\n label,\n placeholder,\n id,\n children,\n role,\n view,\n size,\n frame,\n usePortal,\n negativeResultContent = 'Элементы не найдены',\n enumerationType = 'comma',\n opened = false,\n alwaysOpened = false,\n placement = 'bottom',\n onToggle,\n onKeyDown,\n filterFunction,\n ...rest\n },\n outerRootRef,\n ) => {\n const forceUpdate = useForceUpdate();\n const uniqId = safeUseId();\n const innerId = id || uniqId;\n const { valueType = 'single', value } = rest;\n const offset = [0, 4] as [number, number];\n\n const [ref, setRef] = useState<HTMLInputElement | null>(null);\n\n const targetRef = useRef<HTMLInputElement>(null);\n const chipsRefs = useRef<Array<HTMLButtonElement>>([]);\n const comboboxRef = useRef<HTMLDivElement>(null);\n const itemsRefs = useRef<Array<HTMLDivElement>>([]);\n const inputRef = useRef<HTMLInputElement>(null);\n const handleRef = useForkRef<HTMLInputElement>(targetRef, outerRootRef);\n const controlledRefs = { targetRef, chipsRefs, selectRef: comboboxRef, itemsRefs, inputRef };\n\n const [isVisible, setIsVisible] = useState(alwaysOpened || opened);\n const [search, setSearch] = useState<string | undefined>('');\n const [filterValue, setFilterValue] = useState(search);\n\n // INFO: нужно высчитывать для корректной работы портала\n const dynamicTargetWidth = targetRef.current?.offsetWidth;\n\n // INFO: Из-за того, что классы передаются через ref,\n // состояние пропсов после изменения view, size\n // всегда предыдущее, поэтому нужно делать форс-ререндер\n useDidMountEffect(() => {\n forceUpdate();\n }, [view, size]);\n\n useEffect(() => {\n if (disabled || readOnly) {\n return;\n }\n\n setIsVisible(alwaysOpened || opened);\n }, [opened, alwaysOpened, disabled, readOnly]);\n\n useEffect(() => {\n // INFO: Для кейсов, когда значение выбрано и нужно вывести весь список\n if (alwaysOpened || opened) {\n setFilterValue('');\n }\n }, []);\n\n const onInnerToggle = (openValue: boolean, event: React.SyntheticEvent | Event) => {\n if (disabled || readOnly) {\n return;\n }\n\n // INFO: Для кейсов, когда значение выбрано и нужно вывести весь список\n if (!isVisible) {\n setFilterValue('');\n }\n\n if (onToggle) {\n onToggle(alwaysOpened || openValue, event);\n\n return;\n }\n\n setIsVisible(alwaysOpened || openValue);\n };\n\n const closedWithoutChanges = useRef(true);\n\n const updateValue = (item: HTMLElement, event: React.SyntheticEvent | Event) => {\n const {\n dataset: { value: newValue },\n } = item;\n\n if (rest.valueType === 'multiple') {\n const newSelected = getNewSelected(rest.value, newValue, rest.valueType);\n rest.onChangeValue?.(newSelected);\n\n return;\n }\n\n const newSelected = getNewSelected(rest.value, newValue, 'single');\n\n rest.onChangeValue?.(newSelected);\n\n onInnerToggle?.(alwaysOpened || false, event);\n\n closedWithoutChanges.current = false;\n };\n\n const onClickChildrenItem = (event: React.MouseEvent<HTMLDivElement>) => {\n // INFO: Для корректной работы компонента Popper\n event.stopPropagation();\n\n const item = event.currentTarget as HTMLElement;\n\n updateValue(item, event);\n };\n\n const onChangeChipValue = (newValue?: Array<ComboboxPrimitiveValue>) => {\n if (rest.valueType !== 'multiple') {\n return;\n }\n\n rest.onChangeValue?.(newValue);\n };\n\n const { onKeyDownTarget, onKeyDownSelect } = useKeyNavigation({\n controlledRefs,\n opened: isVisible,\n enumerationType,\n valueType,\n componentType: 'combobox',\n value,\n search: filterValue,\n updateOpened: onInnerToggle,\n updateValue,\n });\n\n const childrenArray = Children.toArray(children) as React.ReactElement[];\n\n const childrenMemo = getChildren(\n childrenArray,\n { onClick: onClickChildrenItem, childrenRefs: itemsRefs },\n value,\n filterValue,\n filterFunction,\n ).filter(Boolean);\n\n const values = getValues(childrenArray, value);\n\n const onSearch = (newSearch?: string, newOpened?: boolean) => {\n setSearch(newSearch);\n setFilterValue(newSearch);\n setIsVisible(newOpened ?? true);\n };\n\n const onKeyDownHandle = (event: React.KeyboardEvent<HTMLInputElement>) => {\n onKeyDown?.(event);\n onKeyDownTarget(event);\n };\n\n useEffect(() => {\n if (alwaysOpened && rest.valueType === 'single') {\n setSearch(String(value));\n }\n }, [value, alwaysOpened]);\n\n return (\n <StyledRoot ref={comboboxRef}>\n <StyledNativeSelect\n aria-invalid=\"false\"\n aria-hidden=\"true\"\n aria-readonly={readOnly}\n tabIndex={-1}\n form={form}\n name={name}\n value={`${value}`}\n disabled={disabled || readOnly}\n />\n <StyledPopover\n role={role}\n opened={isVisible}\n onToggle={onInnerToggle}\n target={\n <ComboboxTarget\n opened={isVisible}\n values={values}\n label={label}\n placeholder={placeholder}\n search={search}\n enumerationType={enumerationType}\n valueType={valueType}\n readOnly={readOnly}\n disabled={disabled}\n size={size}\n closedWithoutChanges={closedWithoutChanges}\n ref={handleRef}\n chipsRefs={chipsRefs}\n inputRef={inputRef}\n id={innerId}\n onChange={onChangeChipValue}\n onSearch={onSearch}\n onKeyDown={onKeyDownHandle}\n {...rest}\n />\n }\n className={cx(ref?.classList.toString())} // INFO: Прокидываем стили для Popover\n id={innerId}\n offset={offset}\n placement={getPlacements(placement)}\n usePortal={usePortal}\n selectWidth={dynamicTargetWidth}\n frame={frame}\n trigger=\"click\"\n isFocusTrapped={false}\n preventOverflow={false}\n closeOnEsc={false}\n closeOnOverlayClick\n >\n <Root ref={setRef} view={view} size={size}>\n <StyledCombobox onKeyDown={onKeyDownSelect}>\n {childrenMemo.length ? (\n childrenMemo\n ) : (\n <ComboboxItemNotFound>{negativeResultContent}</ComboboxItemNotFound>\n )}\n </StyledCombobox>\n </Root>\n </StyledPopover>\n </StyledRoot>\n );\n },\n );\n\nexport const comboboxConfig = {\n name: 'Combobox',\n tag: 'div',\n layout: comboboxRoot,\n base: '',\n variations: {\n view: {\n css: viewCSS,\n },\n size: {\n css: sizeCSS,\n },\n },\n defaults: {\n view: 'default',\n size: 'm',\n },\n};\n"],"names":["comboboxRoot","Root","forwardRef","_ref","outerRootRef","_targetRef$current","name","form","readOnly","disabled","label","placeholder","id","children","role","view","size","frame","usePortal","_ref$negativeResultCo","negativeResultContent","_ref$enumerationType","enumerationType","_ref$opened","opened","_ref$alwaysOpened","alwaysOpened","_ref$placement","placement","onToggle","onKeyDown","filterFunction","rest","_objectWithoutProperties","_excluded","forceUpdate","useForceUpdate","uniqId","safeUseId","innerId","_rest$valueType","valueType","value","offset","_useState","useState","_useState2","_slicedToArray","ref","setRef","targetRef","useRef","chipsRefs","comboboxRef","itemsRefs","inputRef","handleRef","useForkRef","controlledRefs","selectRef","_useState3","_useState4","isVisible","setIsVisible","_useState5","_useState6","search","setSearch","_useState7","_useState8","filterValue","setFilterValue","dynamicTargetWidth","current","offsetWidth","useDidMountEffect","useEffect","onInnerToggle","openValue","event","closedWithoutChanges","updateValue","item","_rest$onChangeValue2","newValue","dataset","_rest$onChangeValue","newSelected","getNewSelected","onChangeValue","call","onClickChildrenItem","stopPropagation","currentTarget","onChangeChipValue","_rest$onChangeValue3","_useKeyNavigation","useKeyNavigation","componentType","updateOpened","onKeyDownTarget","onKeyDownSelect","childrenArray","Children","toArray","childrenMemo","getChildren","onClick","childrenRefs","filter","Boolean","values","getValues","onSearch","newSearch","newOpened","onKeyDownHandle","String","React","createElement","StyledRoot","StyledNativeSelect","tabIndex","concat","StyledPopover","target","ComboboxTarget","_extends","onChange","className","cx","classList","toString","getPlacements","selectWidth","trigger","isFocusTrapped","preventOverflow","closeOnEsc","closeOnOverlayClick","StyledCombobox","length","ComboboxItemNotFound","comboboxConfig","tag","layout","base","variations","css","viewCSS","sizeCSS","defaults"],"mappings":"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"}
@@ -4,13 +4,13 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var _rollupPluginBabelHelpers = require('../../../../../_virtual/_rollupPluginBabelHelpers.js');
6
6
  var React = require('react');
7
- var plasmaCore = require('@salutejs/plasma-core');
7
+ var index$1 = require('../../../../../utils/index.js');
8
8
  var Combobox_tokens = require('../../Combobox.tokens.js');
9
9
  var index = require('../../utils/index.js');
10
- var index$1 = require('../../../../../utils/index.js');
11
10
  var base = require('./variations/_view/base.js');
12
11
  var base$1 = require('./variations/_size/base.js');
13
12
  var ComboboxItem_styles = require('./ComboboxItem.styles.js');
13
+ var react = require('../../../../../utils/react.js');
14
14
 
15
15
  function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
16
16
 
@@ -38,7 +38,7 @@ var comboboxItemRoot = function comboboxItemRoot(Root) {
38
38
  onClick = _ref.onClick,
39
39
  onChange = _ref.onChange,
40
40
  rest = _rollupPluginBabelHelpers.objectWithoutProperties(_ref, _excluded);
41
- var uniqId = plasmaCore.safeUseId();
41
+ var uniqId = react.safeUseId();
42
42
  var innerId = id || uniqId;
43
43
  var withComboboxItemIsSelected = checked || isSelected ? Combobox_tokens.classes.comboboxItemIsSelected : undefined;
44
44
  var withComboboxItemIsDisabled = disabled ? Combobox_tokens.classes.comboboxItemIsDisabled : undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"ComboboxItem.js","sources":["../../../../../../src/components/Combobox/ComboboxOld/ui/ComboboxItem/ComboboxItem.tsx"],"sourcesContent":["import React, { forwardRef, useCallback, useMemo } from 'react';\nimport { safeUseId } from '@salutejs/plasma-core';\n\nimport type { RootProps } from '../../../../../engines';\nimport { classes } from '../../Combobox.tokens';\nimport { getValidComponent } from '../../utils';\nimport { cx } from '../../../../../utils';\n\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as sizeCSS } from './variations/_size/base';\nimport { StyledContentLeft, StyledContentRight, StyledText, base } from './ComboboxItem.styles';\nimport { ComboboxItemProps } from './ComboboxItem.type';\n\nexport const comboboxItemRoot = (Root: RootProps<HTMLDivElement, ComboboxItemProps>) =>\n forwardRef<HTMLDivElement, ComboboxItemProps>(\n (\n {\n id,\n className,\n children,\n text,\n isSelected,\n name,\n checked,\n value,\n view,\n size,\n disabled,\n role = 'option',\n contentLeft: ContentLeftComponent,\n contentRight: ContentRightComponent,\n onSelect,\n onClick,\n onChange,\n ...rest\n },\n outerRootRef,\n ) => {\n const uniqId = safeUseId();\n const innerId = id || uniqId;\n\n const withComboboxItemIsSelected = checked || isSelected ? classes.comboboxItemIsSelected : undefined;\n const withComboboxItemIsDisabled = disabled ? classes.comboboxItemIsDisabled : undefined;\n\n const handleOnClick = useCallback(\n (event: React.MouseEvent<HTMLDivElement>) => {\n if (disabled) {\n return;\n }\n\n onClick?.(event);\n\n if (onSelect && !ContentLeftComponent) {\n onSelect(value, text);\n }\n },\n [onSelect, disabled],\n );\n\n const handleOnChange = useCallback(\n (event: React.MouseEvent<HTMLInputElement>) => {\n if (disabled) {\n return;\n }\n\n onChange?.(event);\n\n if (onSelect && ContentLeftComponent) {\n onSelect(value, text);\n }\n },\n [onSelect, disabled],\n );\n\n const contentProps = {\n name,\n value,\n checked: checked || isSelected,\n disabled,\n tabIndex: -1,\n ...(!disabled && { onChange: handleOnChange }),\n };\n\n const ContentLeft = useMemo(() => getValidComponent(ContentLeftComponent, contentProps), [\n ContentRightComponent,\n contentProps,\n ]);\n\n const ContentRight = useMemo(() => getValidComponent(ContentRightComponent, contentProps), [\n ContentRightComponent,\n contentProps,\n ]);\n\n return (\n <Root\n className={cx(withComboboxItemIsSelected, withComboboxItemIsDisabled, className)}\n view={view}\n size={size}\n id={innerId}\n isSelected={isSelected}\n role={role}\n ref={outerRootRef}\n tabIndex={0}\n aria-disabled={disabled}\n aria-selected={isSelected}\n onClick={handleOnClick}\n data-value={value}\n {...rest}\n >\n {text ? (\n <>\n <StyledContentLeft>{ContentLeftComponent && ContentLeft}</StyledContentLeft>\n <StyledText>{text}</StyledText>\n <StyledContentRight>{ContentRightComponent && ContentRight}</StyledContentRight>\n </>\n ) : (\n children\n )}\n </Root>\n );\n },\n );\n\nexport const comboboxItemConfig = {\n name: 'ComboboxItem',\n tag: 'div',\n layout: comboboxItemRoot,\n base,\n variations: {\n view: {\n css: viewCSS,\n },\n size: {\n css: sizeCSS,\n },\n },\n defaults: {\n view: 'primary',\n size: 'm',\n },\n};\n"],"names":["comboboxItemRoot","Root","forwardRef","_ref","outerRootRef","id","className","children","text","isSelected","name","checked","value","view","size","disabled","_ref$role","role","ContentLeftComponent","contentLeft","ContentRightComponent","contentRight","onSelect","onClick","onChange","rest","_objectWithoutProperties","_excluded","uniqId","safeUseId","innerId","withComboboxItemIsSelected","classes","comboboxItemIsSelected","undefined","withComboboxItemIsDisabled","comboboxItemIsDisabled","handleOnClick","useCallback","event","handleOnChange","contentProps","_objectSpread","tabIndex","ContentLeft","useMemo","getValidComponent","ContentRight","React","createElement","_extends","cx","ref","Fragment","StyledContentLeft","StyledText","StyledContentRight","comboboxItemConfig","tag","layout","base","variations","css","viewCSS","sizeCSS","defaults"],"mappings":"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"}
1
+ {"version":3,"file":"ComboboxItem.js","sources":["../../../../../../src/components/Combobox/ComboboxOld/ui/ComboboxItem/ComboboxItem.tsx"],"sourcesContent":["import React, { forwardRef, useCallback, useMemo } from 'react';\nimport { safeUseId } from 'src/utils';\n\nimport type { RootProps } from '../../../../../engines';\nimport { classes } from '../../Combobox.tokens';\nimport { getValidComponent } from '../../utils';\nimport { cx } from '../../../../../utils';\n\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as sizeCSS } from './variations/_size/base';\nimport { StyledContentLeft, StyledContentRight, StyledText, base } from './ComboboxItem.styles';\nimport { ComboboxItemProps } from './ComboboxItem.type';\n\nexport const comboboxItemRoot = (Root: RootProps<HTMLDivElement, ComboboxItemProps>) =>\n forwardRef<HTMLDivElement, ComboboxItemProps>(\n (\n {\n id,\n className,\n children,\n text,\n isSelected,\n name,\n checked,\n value,\n view,\n size,\n disabled,\n role = 'option',\n contentLeft: ContentLeftComponent,\n contentRight: ContentRightComponent,\n onSelect,\n onClick,\n onChange,\n ...rest\n },\n outerRootRef,\n ) => {\n const uniqId = safeUseId();\n const innerId = id || uniqId;\n\n const withComboboxItemIsSelected = checked || isSelected ? classes.comboboxItemIsSelected : undefined;\n const withComboboxItemIsDisabled = disabled ? classes.comboboxItemIsDisabled : undefined;\n\n const handleOnClick = useCallback(\n (event: React.MouseEvent<HTMLDivElement>) => {\n if (disabled) {\n return;\n }\n\n onClick?.(event);\n\n if (onSelect && !ContentLeftComponent) {\n onSelect(value, text);\n }\n },\n [onSelect, disabled],\n );\n\n const handleOnChange = useCallback(\n (event: React.MouseEvent<HTMLInputElement>) => {\n if (disabled) {\n return;\n }\n\n onChange?.(event);\n\n if (onSelect && ContentLeftComponent) {\n onSelect(value, text);\n }\n },\n [onSelect, disabled],\n );\n\n const contentProps = {\n name,\n value,\n checked: checked || isSelected,\n disabled,\n tabIndex: -1,\n ...(!disabled && { onChange: handleOnChange }),\n };\n\n const ContentLeft = useMemo(() => getValidComponent(ContentLeftComponent, contentProps), [\n ContentRightComponent,\n contentProps,\n ]);\n\n const ContentRight = useMemo(() => getValidComponent(ContentRightComponent, contentProps), [\n ContentRightComponent,\n contentProps,\n ]);\n\n return (\n <Root\n className={cx(withComboboxItemIsSelected, withComboboxItemIsDisabled, className)}\n view={view}\n size={size}\n id={innerId}\n isSelected={isSelected}\n role={role}\n ref={outerRootRef}\n tabIndex={0}\n aria-disabled={disabled}\n aria-selected={isSelected}\n onClick={handleOnClick}\n data-value={value}\n {...rest}\n >\n {text ? (\n <>\n <StyledContentLeft>{ContentLeftComponent && ContentLeft}</StyledContentLeft>\n <StyledText>{text}</StyledText>\n <StyledContentRight>{ContentRightComponent && ContentRight}</StyledContentRight>\n </>\n ) : (\n children\n )}\n </Root>\n );\n },\n );\n\nexport const comboboxItemConfig = {\n name: 'ComboboxItem',\n tag: 'div',\n layout: comboboxItemRoot,\n base,\n variations: {\n view: {\n css: viewCSS,\n },\n size: {\n css: sizeCSS,\n },\n },\n defaults: {\n view: 'primary',\n size: 'm',\n },\n};\n"],"names":["comboboxItemRoot","Root","forwardRef","_ref","outerRootRef","id","className","children","text","isSelected","name","checked","value","view","size","disabled","_ref$role","role","ContentLeftComponent","contentLeft","ContentRightComponent","contentRight","onSelect","onClick","onChange","rest","_objectWithoutProperties","_excluded","uniqId","safeUseId","innerId","withComboboxItemIsSelected","classes","comboboxItemIsSelected","undefined","withComboboxItemIsDisabled","comboboxItemIsDisabled","handleOnClick","useCallback","event","handleOnChange","contentProps","_objectSpread","tabIndex","ContentLeft","useMemo","getValidComponent","ContentRight","React","createElement","_extends","cx","ref","Fragment","StyledContentLeft","StyledText","StyledContentRight","comboboxItemConfig","tag","layout","base","variations","css","viewCSS","sizeCSS","defaults"],"mappings":"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"}
@@ -5,8 +5,8 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
  var _rollupPluginBabelHelpers = require('../../_virtual/_rollupPluginBabelHelpers.js');
6
6
  var React = require('react');
7
7
  var plasmaCore = require('@salutejs/plasma-core');
8
- var index$1 = require('../Popup/utils/index.js');
9
8
  var index = require('../../utils/index.js');
9
+ var index$1 = require('../Popup/utils/index.js');
10
10
  var Drawer_tokens = require('./Drawer.tokens.js');
11
11
  var base = require('./variations/_view/base.js');
12
12
  var base$1 = require('./variations/_size/base.js');
@@ -15,6 +15,7 @@ var Drawer_styles = require('./Drawer.styles.js');
15
15
  var DrawerContext = require('./DrawerContext.js');
16
16
  var useFocusTrap = require('../../hooks/useFocusTrap.js');
17
17
  var PopupContext = require('../Popup/PopupContext.js');
18
+ var react = require('../../utils/react.js');
18
19
  var useDrawer = require('./hooks/useDrawer.js');
19
20
  var Overlay = require('../Overlay/Overlay.js');
20
21
  var getSizeValueFromProp = require('../../utils/getSizeValueFromProp.js');
@@ -65,7 +66,7 @@ var drawerRoot = function drawerRoot(Root) {
65
66
  var trapRef = useFocusTrap.useFocusTrap(true, initialFocusRef, focusAfterRef);
66
67
  var popupController = PopupContext.usePopupContext();
67
68
  var innerRef = plasmaCore.useForkRef(trapRef, outerRef);
68
- var uniqId = plasmaCore.safeUseId();
69
+ var uniqId = react.safeUseId();
69
70
  var innerId = id || uniqId;
70
71
  var overlayBackgroundToken = withBlur ? "var(".concat(Drawer_tokens.tokens.drawerOverlayWithBlurColor, ")") : "var(".concat(Drawer_tokens.tokens.drawerOverlayColor, ")");
71
72
  var innerWidth = width ? getSizeValueFromProp.getSizeValueFromProp(width) : '100%';
@@ -1 +1 @@
1
- {"version":3,"file":"Drawer.js","sources":["../../../src/components/Drawer/Drawer.tsx"],"sourcesContent":["import React, { forwardRef, useMemo } from 'react';\nimport { useForkRef, safeUseId } from '@salutejs/plasma-core';\n\nimport type { RootProps } from '../../engines';\nimport { usePopupContext } from '../Popup';\nimport { Overlay } from '../Overlay';\nimport { DEFAULT_Z_INDEX } from '../Popup/utils';\nimport { cx, getSizeValueFromProp } from '../../utils';\nimport { useFocusTrap } from '../../hooks';\n\nimport { classes, tokens } from './Drawer.tokens';\nimport type { DrawerProps } from './Drawer.types';\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as sizeCSS } from './variations/_size/base';\nimport { base as borderRadiusCSS } from './variations/_borderRadius/base';\nimport { StyledPopup, StyledPanel } from './Drawer.styles';\nimport { getIdLastDrawer } from './DrawerContext';\nimport { useDrawer } from './hooks';\n\n// issue #823\n\nexport const drawerRoot = (Root: RootProps<HTMLDivElement, DrawerProps>) =>\n forwardRef<HTMLDivElement, DrawerProps>(\n (\n {\n id,\n zIndex,\n popupInfo,\n withBlur,\n children,\n view,\n size,\n width,\n height,\n isOpen,\n opened,\n initialFocusRef,\n focusAfterRef,\n className,\n customBackgroundColor,\n customContentBackgroundColor,\n onClose,\n onOverlayClick,\n onEscKeyDown,\n offset,\n frame,\n borderRadius = 'none',\n placement = 'right',\n closeOnEsc = true,\n closeOnOverlayClick = true,\n asModal = true,\n ...rest\n },\n outerRef,\n ) => {\n const innerIsOpen = Boolean(isOpen || opened);\n\n const trapRef = useFocusTrap(true, initialFocusRef, focusAfterRef);\n const popupController = usePopupContext();\n\n const innerRef = useForkRef<HTMLDivElement>(trapRef, outerRef);\n\n const uniqId = safeUseId();\n const innerId = id || uniqId;\n const overlayBackgroundToken = withBlur\n ? `var(${tokens.drawerOverlayWithBlurColor})`\n : `var(${tokens.drawerOverlayColor})`;\n const innerWidth = width ? getSizeValueFromProp(width) : '100%';\n const innerHeight = height ? getSizeValueFromProp(height) : '100%';\n\n const placementClass = placement ? classes[`${placement}Placement` as keyof typeof classes] : undefined;\n\n const { drawerInfo } = useDrawer({\n id: innerId,\n isOpen: innerIsOpen,\n closeOnEsc,\n onEscKeyDown,\n onClose,\n popupInfo,\n disableScroll: asModal,\n });\n const transparent = useMemo(() => getIdLastDrawer(popupController.items) !== innerId, [\n innerId,\n popupController.items,\n ]);\n\n const onDrawerOverlayKeyDown = (event: React.MouseEvent<HTMLDivElement>) => {\n if (onOverlayClick) {\n onOverlayClick(event);\n return;\n }\n\n if (onClose) {\n onClose();\n }\n };\n\n return (\n <StyledPopup\n id={innerId}\n ref={asModal ? innerRef : outerRef}\n className={cx(placementClass)}\n opened={innerIsOpen}\n zIndex={zIndex}\n placement={placement}\n popupInfo={drawerInfo}\n frame={frame}\n width={innerWidth}\n height={innerHeight}\n offset={offset}\n withAnimation\n overlay={\n asModal && (\n <Root view={view}>\n <Overlay\n className={classes.overlay}\n zIndex={zIndex || DEFAULT_Z_INDEX}\n backgroundColorProperty={overlayBackgroundToken}\n withBlur={withBlur}\n transparent={transparent}\n isClickable={closeOnOverlayClick}\n onOverlayClick={onDrawerOverlayKeyDown}\n />\n </Root>\n )\n }\n {...rest}\n >\n <Root\n view={view}\n size={size}\n style={{ width: innerWidth, height: innerHeight }}\n borderRadius={borderRadius}\n >\n <StyledPanel\n width={innerWidth}\n height={innerHeight}\n customBackgroundColor={customBackgroundColor}\n customContentBackgroundColor={customContentBackgroundColor}\n className={className}\n >\n {children}\n </StyledPanel>\n </Root>\n </StyledPopup>\n );\n },\n );\n\nexport const drawerConfig = {\n name: 'Drawer',\n tag: 'div',\n layout: drawerRoot,\n base: '',\n variations: {\n view: {\n css: viewCSS,\n },\n size: {\n css: sizeCSS,\n },\n borderRadius: {\n css: borderRadiusCSS,\n },\n },\n defaults: {\n view: 'default',\n size: 'm',\n borderRadius: 'none',\n },\n};\n"],"names":["drawerRoot","Root","forwardRef","_ref","outerRef","id","zIndex","popupInfo","withBlur","children","view","size","width","height","isOpen","opened","initialFocusRef","focusAfterRef","className","customBackgroundColor","customContentBackgroundColor","onClose","onOverlayClick","onEscKeyDown","offset","frame","_ref$borderRadius","borderRadius","_ref$placement","placement","_ref$closeOnEsc","closeOnEsc","_ref$closeOnOverlayCl","closeOnOverlayClick","_ref$asModal","asModal","rest","_objectWithoutProperties","_excluded","innerIsOpen","Boolean","trapRef","useFocusTrap","popupController","usePopupContext","innerRef","useForkRef","uniqId","safeUseId","innerId","overlayBackgroundToken","concat","tokens","drawerOverlayWithBlurColor","drawerOverlayColor","innerWidth","getSizeValueFromProp","innerHeight","placementClass","classes","undefined","_useDrawer","useDrawer","disableScroll","drawerInfo","transparent","useMemo","getIdLastDrawer","items","onDrawerOverlayKeyDown","event","React","createElement","StyledPopup","_extends","ref","cx","withAnimation","overlay","Overlay","DEFAULT_Z_INDEX","backgroundColorProperty","isClickable","style","StyledPanel","drawerConfig","name","tag","layout","base","variations","css","viewCSS","sizeCSS","borderRadiusCSS","defaults"],"mappings":"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"}
1
+ {"version":3,"file":"Drawer.js","sources":["../../../src/components/Drawer/Drawer.tsx"],"sourcesContent":["import React, { forwardRef, useMemo } from 'react';\nimport { useForkRef } from '@salutejs/plasma-core';\nimport { safeUseId } from 'src/utils';\n\nimport type { RootProps } from '../../engines';\nimport { usePopupContext } from '../Popup';\nimport { Overlay } from '../Overlay';\nimport { DEFAULT_Z_INDEX } from '../Popup/utils';\nimport { cx, getSizeValueFromProp } from '../../utils';\nimport { useFocusTrap } from '../../hooks';\n\nimport { classes, tokens } from './Drawer.tokens';\nimport type { DrawerProps } from './Drawer.types';\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as sizeCSS } from './variations/_size/base';\nimport { base as borderRadiusCSS } from './variations/_borderRadius/base';\nimport { StyledPopup, StyledPanel } from './Drawer.styles';\nimport { getIdLastDrawer } from './DrawerContext';\nimport { useDrawer } from './hooks';\n\n// issue #823\n\nexport const drawerRoot = (Root: RootProps<HTMLDivElement, DrawerProps>) =>\n forwardRef<HTMLDivElement, DrawerProps>(\n (\n {\n id,\n zIndex,\n popupInfo,\n withBlur,\n children,\n view,\n size,\n width,\n height,\n isOpen,\n opened,\n initialFocusRef,\n focusAfterRef,\n className,\n customBackgroundColor,\n customContentBackgroundColor,\n onClose,\n onOverlayClick,\n onEscKeyDown,\n offset,\n frame,\n borderRadius = 'none',\n placement = 'right',\n closeOnEsc = true,\n closeOnOverlayClick = true,\n asModal = true,\n ...rest\n },\n outerRef,\n ) => {\n const innerIsOpen = Boolean(isOpen || opened);\n\n const trapRef = useFocusTrap(true, initialFocusRef, focusAfterRef);\n const popupController = usePopupContext();\n\n const innerRef = useForkRef<HTMLDivElement>(trapRef, outerRef);\n\n const uniqId = safeUseId();\n const innerId = id || uniqId;\n const overlayBackgroundToken = withBlur\n ? `var(${tokens.drawerOverlayWithBlurColor})`\n : `var(${tokens.drawerOverlayColor})`;\n const innerWidth = width ? getSizeValueFromProp(width) : '100%';\n const innerHeight = height ? getSizeValueFromProp(height) : '100%';\n\n const placementClass = placement ? classes[`${placement}Placement` as keyof typeof classes] : undefined;\n\n const { drawerInfo } = useDrawer({\n id: innerId,\n isOpen: innerIsOpen,\n closeOnEsc,\n onEscKeyDown,\n onClose,\n popupInfo,\n disableScroll: asModal,\n });\n const transparent = useMemo(() => getIdLastDrawer(popupController.items) !== innerId, [\n innerId,\n popupController.items,\n ]);\n\n const onDrawerOverlayKeyDown = (event: React.MouseEvent<HTMLDivElement>) => {\n if (onOverlayClick) {\n onOverlayClick(event);\n return;\n }\n\n if (onClose) {\n onClose();\n }\n };\n\n return (\n <StyledPopup\n id={innerId}\n ref={asModal ? innerRef : outerRef}\n className={cx(placementClass)}\n opened={innerIsOpen}\n zIndex={zIndex}\n placement={placement}\n popupInfo={drawerInfo}\n frame={frame}\n width={innerWidth}\n height={innerHeight}\n offset={offset}\n withAnimation\n overlay={\n asModal && (\n <Root view={view}>\n <Overlay\n className={classes.overlay}\n zIndex={zIndex || DEFAULT_Z_INDEX}\n backgroundColorProperty={overlayBackgroundToken}\n withBlur={withBlur}\n transparent={transparent}\n isClickable={closeOnOverlayClick}\n onOverlayClick={onDrawerOverlayKeyDown}\n />\n </Root>\n )\n }\n {...rest}\n >\n <Root\n view={view}\n size={size}\n style={{ width: innerWidth, height: innerHeight }}\n borderRadius={borderRadius}\n >\n <StyledPanel\n width={innerWidth}\n height={innerHeight}\n customBackgroundColor={customBackgroundColor}\n customContentBackgroundColor={customContentBackgroundColor}\n className={className}\n >\n {children}\n </StyledPanel>\n </Root>\n </StyledPopup>\n );\n },\n );\n\nexport const drawerConfig = {\n name: 'Drawer',\n tag: 'div',\n layout: drawerRoot,\n base: '',\n variations: {\n view: {\n css: viewCSS,\n },\n size: {\n css: sizeCSS,\n },\n borderRadius: {\n css: borderRadiusCSS,\n },\n },\n defaults: {\n view: 'default',\n size: 'm',\n borderRadius: 'none',\n },\n};\n"],"names":["drawerRoot","Root","forwardRef","_ref","outerRef","id","zIndex","popupInfo","withBlur","children","view","size","width","height","isOpen","opened","initialFocusRef","focusAfterRef","className","customBackgroundColor","customContentBackgroundColor","onClose","onOverlayClick","onEscKeyDown","offset","frame","_ref$borderRadius","borderRadius","_ref$placement","placement","_ref$closeOnEsc","closeOnEsc","_ref$closeOnOverlayCl","closeOnOverlayClick","_ref$asModal","asModal","rest","_objectWithoutProperties","_excluded","innerIsOpen","Boolean","trapRef","useFocusTrap","popupController","usePopupContext","innerRef","useForkRef","uniqId","safeUseId","innerId","overlayBackgroundToken","concat","tokens","drawerOverlayWithBlurColor","drawerOverlayColor","innerWidth","getSizeValueFromProp","innerHeight","placementClass","classes","undefined","_useDrawer","useDrawer","disableScroll","drawerInfo","transparent","useMemo","getIdLastDrawer","items","onDrawerOverlayKeyDown","event","React","createElement","StyledPopup","_extends","ref","cx","withAnimation","overlay","Overlay","DEFAULT_Z_INDEX","backgroundColorProperty","isClickable","style","StyledPanel","drawerConfig","name","tag","layout","base","variations","css","viewCSS","sizeCSS","borderRadiusCSS","defaults"],"mappings":"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"}
@@ -4,7 +4,6 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var _rollupPluginBabelHelpers = require('../../_virtual/_rollupPluginBabelHelpers.js');
6
6
  var React = require('react');
7
- var plasmaCore = require('@salutejs/plasma-core');
8
7
  var index$1 = require('../../utils/index.js');
9
8
  var pathReducer = require('./reducers/pathReducer.js');
10
9
  var focusedPathReducer = require('./reducers/focusedPathReducer.js');
@@ -18,6 +17,7 @@ var useHashMaps = require('./hooks/useHashMaps.js');
18
17
  var FloatingPopover = require('./FloatingPopover.js');
19
18
  var Dropdown_context = require('./Dropdown.context.js');
20
19
  var getItemByFocused = require('./utils/getItemByFocused.js');
20
+ var react = require('../../utils/react.js');
21
21
  var useOutsideClick = require('../../hooks/useOutsideClick.js');
22
22
  var getPlacement = require('./utils/getPlacement.js');
23
23
  var getItemId = require('./utils/getItemId.js');
@@ -87,7 +87,7 @@ var dropdownRoot = function dropdownRoot(Root) {
87
87
  focusedToValueMap = _useHashMaps2[1];
88
88
  var activeDescendantItemValue = ((_getItemByFocused = getItemByFocused.getItemByFocused(focusedPath, focusedToValueMap)) === null || _getItemByFocused === void 0 ? void 0 : _getItemByFocused.value) || '';
89
89
  var floatingPopoverRef = React.useRef(null);
90
- var treeId = plasmaCore.safeUseId();
90
+ var treeId = react.safeUseId();
91
91
 
92
92
  // Логика работы при клике за пределами выпадающего списка
93
93
  var targetRef = useOutsideClick.useOutsideClick(function (event) {
@@ -1 +1 @@
1
- {"version":3,"file":"Dropdown.js","sources":["../../../src/components/Dropdown/Dropdown.tsx"],"sourcesContent":["import React, { forwardRef, useCallback, useReducer, useRef } from 'react';\nimport { safeUseId } from '@salutejs/plasma-core';\n\nimport { RootProps } from '../../engines';\nimport { cx } from '../../utils';\nimport { useOutsideClick } from '../../hooks';\n\nimport { pathReducer } from './reducers/pathReducer';\nimport { focusedPathReducer } from './reducers/focusedPathReducer';\nimport { DropdownInner } from './ui';\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as sizeCSS } from './variations/_size/base';\nimport { Ul, base, ListWrapper } from './Dropdown.styles';\nimport { childrenWithProps, getItemByFocused, getItemId, getPlacement } from './utils';\nimport type { DropdownProps, HandleGlobalToggleType } from './Dropdown.types';\nimport { classes } from './Dropdown.tokens';\nimport { useKeyNavigation } from './hooks/useKeyboardNavigation';\nimport { useHashMaps } from './hooks/useHashMaps';\nimport { FloatingPopover } from './FloatingPopover';\nimport { Context } from './Dropdown.context';\n\n/**\n * Выпадающий список.\n */\nexport const dropdownRoot = (Root: RootProps<HTMLDivElement, Omit<DropdownProps, 'items'>>) =>\n forwardRef<HTMLDivElement, DropdownProps>(\n (\n {\n items,\n children,\n placement,\n offset,\n closeOnOverlayClick = true,\n onToggle,\n size,\n view,\n itemRole = 'treeitem',\n className,\n listMaxHeight,\n listWidth,\n listHeight,\n listOverflow,\n closeOnSelect = true,\n onHover,\n onItemSelect,\n onItemClick,\n trigger = 'click',\n openByRightClick = false,\n variant = 'normal',\n hasArrow = true,\n alwaysOpened = false,\n portal,\n renderItem,\n zIndex,\n beforeList,\n afterList,\n ...rest\n },\n ref,\n ) => {\n const [path, dispatchPath] = useReducer(pathReducer, []);\n const [focusedPath, dispatchFocusedPath] = useReducer(focusedPathReducer, []);\n\n const isCurrentListOpen = alwaysOpened || Boolean(path[0]);\n\n const [pathMap, focusedToValueMap] = useHashMaps(items);\n\n const activeDescendantItemValue = getItemByFocused(focusedPath, focusedToValueMap)?.value || '';\n\n const floatingPopoverRef = useRef<HTMLDivElement>(null);\n\n const treeId = safeUseId();\n\n // Логика работы при клике за пределами выпадающего списка\n const targetRef = useOutsideClick<HTMLUListElement>((event) => {\n if (!isCurrentListOpen || !closeOnOverlayClick || alwaysOpened) {\n return;\n }\n\n dispatchPath({ type: 'reset' });\n dispatchFocusedPath({ type: 'reset' });\n\n if (onToggle) {\n onToggle(false, event);\n }\n }, floatingPopoverRef);\n\n const handleGlobalToggle: HandleGlobalToggleType = (opened, event) => {\n if (alwaysOpened || opened) {\n dispatchPath({ type: 'opened_first_level' });\n } else {\n dispatchFocusedPath({ type: 'reset' });\n dispatchPath({ type: 'reset' });\n }\n\n if (onToggle) {\n onToggle(opened, event);\n }\n };\n\n const onContextMenu = useCallback(\n (e: React.MouseEvent) => {\n e.preventDefault();\n\n if (alwaysOpened) {\n return;\n }\n\n handleGlobalToggle(!isCurrentListOpen, e);\n },\n [handleGlobalToggle, isCurrentListOpen, alwaysOpened],\n );\n\n const { onKeyDown } = useKeyNavigation({\n focusedPath,\n dispatchFocusedPath,\n path,\n dispatchPath,\n pathMap,\n focusedToValueMap,\n handleGlobalToggle,\n closeOnSelect,\n onItemSelect,\n onItemClick,\n });\n\n return (\n <Context.Provider\n value={{\n focusedPath,\n size,\n variant,\n itemRole,\n handleGlobalToggle,\n closeOnSelect,\n onHover,\n onItemClick,\n onItemSelect,\n hasArrow,\n treeId,\n renderItem,\n }}\n >\n <FloatingPopover\n ref={floatingPopoverRef}\n opened={isCurrentListOpen}\n onToggle={handleGlobalToggle}\n placement={getPlacement(placement)}\n offset={offset}\n portal={portal}\n trigger={trigger}\n target={childrenWithProps(children, {\n role: 'combobox',\n 'aria-controls': `${treeId}_tree_level_1`,\n 'aria-expanded': isCurrentListOpen,\n 'aria-activedescendant': activeDescendantItemValue\n ? getItemId(treeId, activeDescendantItemValue.toString())\n : '',\n onKeyDown,\n onContextMenu: openByRightClick ? onContextMenu : undefined,\n })}\n zIndex={zIndex}\n isInner={false}\n >\n <Root\n className={cx(className, classes.dropdownRoot)}\n ref={ref}\n view={view}\n size={size}\n style={{ display: 'inline-block' }}\n {...rest}\n >\n <ListWrapper listWidth={listWidth}>\n <Ul\n ref={targetRef}\n id={`${treeId}_tree_level_1`}\n role=\"tree\"\n listOverflow={listOverflow}\n listMaxHeight={listMaxHeight || listHeight}\n >\n {beforeList}\n\n {items.map((item, index) => (\n <DropdownInner\n key={`${index}/0`}\n item={item}\n currentLevel={0}\n trigger={trigger}\n path={path}\n dispatchPath={dispatchPath}\n index={index}\n listOverflow={listOverflow}\n listMaxHeight={listMaxHeight || listHeight}\n listWidth={listWidth}\n />\n ))}\n\n {afterList}\n </Ul>\n </ListWrapper>\n </Root>\n </FloatingPopover>\n </Context.Provider>\n );\n },\n );\n\nexport const dropdownConfig = {\n name: 'Dropdown',\n tag: 'div',\n layout: dropdownRoot,\n base,\n variations: {\n view: {\n css: viewCSS,\n },\n size: {\n css: sizeCSS,\n },\n },\n defaults: {\n view: 'default',\n size: 'm',\n },\n};\n"],"names":["dropdownRoot","Root","forwardRef","_ref","ref","_getItemByFocused","items","children","placement","offset","_ref$closeOnOverlayCl","closeOnOverlayClick","onToggle","size","view","_ref$itemRole","itemRole","className","listMaxHeight","listWidth","listHeight","listOverflow","_ref$closeOnSelect","closeOnSelect","onHover","onItemSelect","onItemClick","_ref$trigger","trigger","_ref$openByRightClick","openByRightClick","_ref$variant","variant","_ref$hasArrow","hasArrow","_ref$alwaysOpened","alwaysOpened","portal","renderItem","zIndex","beforeList","afterList","rest","_objectWithoutProperties","_excluded","_useReducer","useReducer","pathReducer","_useReducer2","_slicedToArray","path","dispatchPath","_useReducer3","focusedPathReducer","_useReducer4","focusedPath","dispatchFocusedPath","isCurrentListOpen","Boolean","_useHashMaps","useHashMaps","_useHashMaps2","pathMap","focusedToValueMap","activeDescendantItemValue","getItemByFocused","value","floatingPopoverRef","useRef","treeId","safeUseId","targetRef","useOutsideClick","event","type","handleGlobalToggle","opened","onContextMenu","useCallback","e","preventDefault","_useKeyNavigation","useKeyNavigation","onKeyDown","React","createElement","Context","Provider","FloatingPopover","getPlacement","target","childrenWithProps","role","concat","getItemId","toString","undefined","isInner","_extends","cx","classes","style","display","ListWrapper","Ul","id","map","item","index","DropdownInner","key","currentLevel","dropdownConfig","name","tag","layout","base","variations","css","viewCSS","sizeCSS","defaults"],"mappings":"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"}
1
+ {"version":3,"file":"Dropdown.js","sources":["../../../src/components/Dropdown/Dropdown.tsx"],"sourcesContent":["import React, { forwardRef, useCallback, useReducer, useRef } from 'react';\nimport { safeUseId } from 'src/utils';\n\nimport { RootProps } from '../../engines';\nimport { cx } from '../../utils';\nimport { useOutsideClick } from '../../hooks';\n\nimport { pathReducer } from './reducers/pathReducer';\nimport { focusedPathReducer } from './reducers/focusedPathReducer';\nimport { DropdownInner } from './ui';\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as sizeCSS } from './variations/_size/base';\nimport { Ul, base, ListWrapper } from './Dropdown.styles';\nimport { childrenWithProps, getItemByFocused, getItemId, getPlacement } from './utils';\nimport type { DropdownProps, HandleGlobalToggleType } from './Dropdown.types';\nimport { classes } from './Dropdown.tokens';\nimport { useKeyNavigation } from './hooks/useKeyboardNavigation';\nimport { useHashMaps } from './hooks/useHashMaps';\nimport { FloatingPopover } from './FloatingPopover';\nimport { Context } from './Dropdown.context';\n\n/**\n * Выпадающий список.\n */\nexport const dropdownRoot = (Root: RootProps<HTMLDivElement, Omit<DropdownProps, 'items'>>) =>\n forwardRef<HTMLDivElement, DropdownProps>(\n (\n {\n items,\n children,\n placement,\n offset,\n closeOnOverlayClick = true,\n onToggle,\n size,\n view,\n itemRole = 'treeitem',\n className,\n listMaxHeight,\n listWidth,\n listHeight,\n listOverflow,\n closeOnSelect = true,\n onHover,\n onItemSelect,\n onItemClick,\n trigger = 'click',\n openByRightClick = false,\n variant = 'normal',\n hasArrow = true,\n alwaysOpened = false,\n portal,\n renderItem,\n zIndex,\n beforeList,\n afterList,\n ...rest\n },\n ref,\n ) => {\n const [path, dispatchPath] = useReducer(pathReducer, []);\n const [focusedPath, dispatchFocusedPath] = useReducer(focusedPathReducer, []);\n\n const isCurrentListOpen = alwaysOpened || Boolean(path[0]);\n\n const [pathMap, focusedToValueMap] = useHashMaps(items);\n\n const activeDescendantItemValue = getItemByFocused(focusedPath, focusedToValueMap)?.value || '';\n\n const floatingPopoverRef = useRef<HTMLDivElement>(null);\n\n const treeId = safeUseId();\n\n // Логика работы при клике за пределами выпадающего списка\n const targetRef = useOutsideClick<HTMLUListElement>((event) => {\n if (!isCurrentListOpen || !closeOnOverlayClick || alwaysOpened) {\n return;\n }\n\n dispatchPath({ type: 'reset' });\n dispatchFocusedPath({ type: 'reset' });\n\n if (onToggle) {\n onToggle(false, event);\n }\n }, floatingPopoverRef);\n\n const handleGlobalToggle: HandleGlobalToggleType = (opened, event) => {\n if (alwaysOpened || opened) {\n dispatchPath({ type: 'opened_first_level' });\n } else {\n dispatchFocusedPath({ type: 'reset' });\n dispatchPath({ type: 'reset' });\n }\n\n if (onToggle) {\n onToggle(opened, event);\n }\n };\n\n const onContextMenu = useCallback(\n (e: React.MouseEvent) => {\n e.preventDefault();\n\n if (alwaysOpened) {\n return;\n }\n\n handleGlobalToggle(!isCurrentListOpen, e);\n },\n [handleGlobalToggle, isCurrentListOpen, alwaysOpened],\n );\n\n const { onKeyDown } = useKeyNavigation({\n focusedPath,\n dispatchFocusedPath,\n path,\n dispatchPath,\n pathMap,\n focusedToValueMap,\n handleGlobalToggle,\n closeOnSelect,\n onItemSelect,\n onItemClick,\n });\n\n return (\n <Context.Provider\n value={{\n focusedPath,\n size,\n variant,\n itemRole,\n handleGlobalToggle,\n closeOnSelect,\n onHover,\n onItemClick,\n onItemSelect,\n hasArrow,\n treeId,\n renderItem,\n }}\n >\n <FloatingPopover\n ref={floatingPopoverRef}\n opened={isCurrentListOpen}\n onToggle={handleGlobalToggle}\n placement={getPlacement(placement)}\n offset={offset}\n portal={portal}\n trigger={trigger}\n target={childrenWithProps(children, {\n role: 'combobox',\n 'aria-controls': `${treeId}_tree_level_1`,\n 'aria-expanded': isCurrentListOpen,\n 'aria-activedescendant': activeDescendantItemValue\n ? getItemId(treeId, activeDescendantItemValue.toString())\n : '',\n onKeyDown,\n onContextMenu: openByRightClick ? onContextMenu : undefined,\n })}\n zIndex={zIndex}\n isInner={false}\n >\n <Root\n className={cx(className, classes.dropdownRoot)}\n ref={ref}\n view={view}\n size={size}\n style={{ display: 'inline-block' }}\n {...rest}\n >\n <ListWrapper listWidth={listWidth}>\n <Ul\n ref={targetRef}\n id={`${treeId}_tree_level_1`}\n role=\"tree\"\n listOverflow={listOverflow}\n listMaxHeight={listMaxHeight || listHeight}\n >\n {beforeList}\n\n {items.map((item, index) => (\n <DropdownInner\n key={`${index}/0`}\n item={item}\n currentLevel={0}\n trigger={trigger}\n path={path}\n dispatchPath={dispatchPath}\n index={index}\n listOverflow={listOverflow}\n listMaxHeight={listMaxHeight || listHeight}\n listWidth={listWidth}\n />\n ))}\n\n {afterList}\n </Ul>\n </ListWrapper>\n </Root>\n </FloatingPopover>\n </Context.Provider>\n );\n },\n );\n\nexport const dropdownConfig = {\n name: 'Dropdown',\n tag: 'div',\n layout: dropdownRoot,\n base,\n variations: {\n view: {\n css: viewCSS,\n },\n size: {\n css: sizeCSS,\n },\n },\n defaults: {\n view: 'default',\n size: 'm',\n },\n};\n"],"names":["dropdownRoot","Root","forwardRef","_ref","ref","_getItemByFocused","items","children","placement","offset","_ref$closeOnOverlayCl","closeOnOverlayClick","onToggle","size","view","_ref$itemRole","itemRole","className","listMaxHeight","listWidth","listHeight","listOverflow","_ref$closeOnSelect","closeOnSelect","onHover","onItemSelect","onItemClick","_ref$trigger","trigger","_ref$openByRightClick","openByRightClick","_ref$variant","variant","_ref$hasArrow","hasArrow","_ref$alwaysOpened","alwaysOpened","portal","renderItem","zIndex","beforeList","afterList","rest","_objectWithoutProperties","_excluded","_useReducer","useReducer","pathReducer","_useReducer2","_slicedToArray","path","dispatchPath","_useReducer3","focusedPathReducer","_useReducer4","focusedPath","dispatchFocusedPath","isCurrentListOpen","Boolean","_useHashMaps","useHashMaps","_useHashMaps2","pathMap","focusedToValueMap","activeDescendantItemValue","getItemByFocused","value","floatingPopoverRef","useRef","treeId","safeUseId","targetRef","useOutsideClick","event","type","handleGlobalToggle","opened","onContextMenu","useCallback","e","preventDefault","_useKeyNavigation","useKeyNavigation","onKeyDown","React","createElement","Context","Provider","FloatingPopover","getPlacement","target","childrenWithProps","role","concat","getItemId","toString","undefined","isInner","_extends","cx","classes","style","display","ListWrapper","Ul","id","map","item","index","DropdownInner","key","currentLevel","dropdownConfig","name","tag","layout","base","variations","css","viewCSS","sizeCSS","defaults"],"mappings":"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"}
@@ -5,7 +5,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
  var _rollupPluginBabelHelpers = require('../../_virtual/_rollupPluginBabelHelpers.js');
6
6
  var react = require('@floating-ui/react');
7
7
  var React = require('react');
8
- var plasmaCore = require('@salutejs/plasma-core');
8
+ var react$1 = require('../../utils/react.js');
9
9
 
10
10
  function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
11
11
 
@@ -43,7 +43,7 @@ var FloatingPopover = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
43
43
  }),
44
44
  refs = _useFloating.refs,
45
45
  floatingStyles = _useFloating.floatingStyles;
46
- var wrappedId = plasmaCore.safeUseId();
46
+ var wrappedId = react$1.safeUseId();
47
47
  var handleTargetClick = function handleTargetClick(event) {
48
48
  if (trigger === 'hover') {
49
49
  return;
@@ -1 +1 @@
1
- {"version":3,"file":"FloatingPopover.js","sources":["../../../src/components/Dropdown/FloatingPopover.tsx"],"sourcesContent":["import {\n flip,\n shift,\n useFloating,\n FloatingPortal,\n offset as offsetMiddleware,\n autoPlacement,\n autoUpdate,\n} from '@floating-ui/react';\nimport React, { forwardRef, MouseEvent } from 'react';\nimport { safeUseId } from '@salutejs/plasma-core';\n\nimport { FloatingPopoverProps } from './Dropdown.types';\n\n// TODO: #2003\nconst LIST_PADDING = 2;\n\nconst FloatingPopover = forwardRef<HTMLDivElement, FloatingPopoverProps>(\n ({ target, children, opened, onToggle, placement, portal, offset, isInner, trigger, zIndex }, ref) => {\n const { refs, floatingStyles } = useFloating({\n whileElementsMounted(referenceEl, floatingEl, update) {\n return autoUpdate(referenceEl, floatingEl, update, {\n ancestorScroll: false,\n ancestorResize: false,\n layoutShift: false,\n });\n },\n placement: placement === 'auto' ? undefined : placement,\n open: opened,\n middleware: [\n placement === 'auto' && autoPlacement(),\n offsetMiddleware({\n mainAxis: offset?.[1] || (isInner ? LIST_PADDING * 2 : 0),\n crossAxis: offset?.[0] || (isInner ? -LIST_PADDING : 0),\n }),\n flip({ fallbackAxisSideDirection: 'end' }),\n shift(),\n ],\n });\n const wrappedId = safeUseId();\n\n const handleTargetClick = (event: MouseEvent<HTMLDivElement>) => {\n if (trigger === 'hover') {\n return;\n }\n\n if (onToggle) {\n onToggle(!opened, event);\n }\n };\n\n const handleTargetMouseEnter = (event: MouseEvent<HTMLDivElement>) => {\n if (trigger === 'click' || opened) {\n return;\n }\n\n onToggle(true, event);\n };\n\n const handleTargetMouseLeave = (event: MouseEvent<HTMLDivElement>) => {\n if (event.relatedTarget instanceof HTMLElement && refs.floating.current instanceof HTMLElement) {\n if (\n trigger === 'click' ||\n !opened ||\n (event.relatedTarget && refs.floating && refs.floating.current?.contains(event.relatedTarget))\n ) {\n return;\n }\n\n onToggle(false, event);\n }\n };\n\n const handleFloatingMouseLeave = (event: MouseEvent) => {\n if (event.relatedTarget instanceof HTMLElement && refs.reference.current instanceof HTMLElement) {\n if (\n trigger === 'click' ||\n !opened ||\n (event.relatedTarget && refs.reference && refs.reference.current?.contains(event.relatedTarget))\n ) {\n return;\n }\n\n onToggle(false, event);\n }\n };\n\n return (\n <div\n ref={ref}\n id={wrappedId}\n style={{\n position: 'relative',\n display: isInner ? 'block' : 'inline-block',\n }}\n >\n <div\n ref={refs.setReference}\n onClick={handleTargetClick}\n onMouseEnter={handleTargetMouseEnter}\n onMouseLeave={handleTargetMouseLeave}\n >\n {target}\n </div>\n\n {opened && (\n <FloatingPortal {...getFloatingPortalProps(portal, wrappedId)}>\n <div\n ref={refs.setFloating}\n onMouseLeave={handleFloatingMouseLeave}\n style={{\n ...floatingStyles,\n zIndex: zIndex || 1000,\n }}\n >\n {children}\n </div>\n </FloatingPortal>\n )}\n </div>\n );\n },\n);\n\ntype FloatingPortalReturnedProps = {\n root?: React.RefObject<HTMLElement>;\n id?: string;\n};\n\n// root - принимает ref контейнера портала.\n// id - если есть портал - не используется, если портала нет - подставляется 'wrappedId'.\nconst getFloatingPortalProps = (\n portal: FloatingPopoverProps['portal'],\n wrappedId: string,\n): FloatingPortalReturnedProps => {\n if (!portal) {\n return { id: wrappedId };\n }\n\n if (typeof portal === 'string') {\n return { id: portal };\n }\n\n return { root: portal };\n};\n\nexport { FloatingPopover };\n"],"names":["LIST_PADDING","FloatingPopover","forwardRef","_ref","ref","target","children","opened","onToggle","placement","portal","offset","isInner","trigger","zIndex","_useFloating","useFloating","whileElementsMounted","referenceEl","floatingEl","update","autoUpdate","ancestorScroll","ancestorResize","layoutShift","undefined","open","middleware","autoPlacement","offsetMiddleware","mainAxis","crossAxis","flip","fallbackAxisSideDirection","shift","refs","floatingStyles","wrappedId","safeUseId","handleTargetClick","event","handleTargetMouseEnter","handleTargetMouseLeave","relatedTarget","HTMLElement","floating","current","_refs$floating$curren","contains","handleFloatingMouseLeave","reference","_refs$reference$curre","React","createElement","id","style","position","display","setReference","onClick","onMouseEnter","onMouseLeave","FloatingPortal","getFloatingPortalProps","setFloating","_objectSpread","root"],"mappings":"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"}
1
+ {"version":3,"file":"FloatingPopover.js","sources":["../../../src/components/Dropdown/FloatingPopover.tsx"],"sourcesContent":["import {\n flip,\n shift,\n useFloating,\n FloatingPortal,\n offset as offsetMiddleware,\n autoPlacement,\n autoUpdate,\n} from '@floating-ui/react';\nimport React, { forwardRef, MouseEvent } from 'react';\nimport { safeUseId } from 'src/utils';\n\nimport { FloatingPopoverProps } from './Dropdown.types';\n\n// TODO: #2003\nconst LIST_PADDING = 2;\n\nconst FloatingPopover = forwardRef<HTMLDivElement, FloatingPopoverProps>(\n ({ target, children, opened, onToggle, placement, portal, offset, isInner, trigger, zIndex }, ref) => {\n const { refs, floatingStyles } = useFloating({\n whileElementsMounted(referenceEl, floatingEl, update) {\n return autoUpdate(referenceEl, floatingEl, update, {\n ancestorScroll: false,\n ancestorResize: false,\n layoutShift: false,\n });\n },\n placement: placement === 'auto' ? undefined : placement,\n open: opened,\n middleware: [\n placement === 'auto' && autoPlacement(),\n offsetMiddleware({\n mainAxis: offset?.[1] || (isInner ? LIST_PADDING * 2 : 0),\n crossAxis: offset?.[0] || (isInner ? -LIST_PADDING : 0),\n }),\n flip({ fallbackAxisSideDirection: 'end' }),\n shift(),\n ],\n });\n const wrappedId = safeUseId();\n\n const handleTargetClick = (event: MouseEvent<HTMLDivElement>) => {\n if (trigger === 'hover') {\n return;\n }\n\n if (onToggle) {\n onToggle(!opened, event);\n }\n };\n\n const handleTargetMouseEnter = (event: MouseEvent<HTMLDivElement>) => {\n if (trigger === 'click' || opened) {\n return;\n }\n\n onToggle(true, event);\n };\n\n const handleTargetMouseLeave = (event: MouseEvent<HTMLDivElement>) => {\n if (event.relatedTarget instanceof HTMLElement && refs.floating.current instanceof HTMLElement) {\n if (\n trigger === 'click' ||\n !opened ||\n (event.relatedTarget && refs.floating && refs.floating.current?.contains(event.relatedTarget))\n ) {\n return;\n }\n\n onToggle(false, event);\n }\n };\n\n const handleFloatingMouseLeave = (event: MouseEvent) => {\n if (event.relatedTarget instanceof HTMLElement && refs.reference.current instanceof HTMLElement) {\n if (\n trigger === 'click' ||\n !opened ||\n (event.relatedTarget && refs.reference && refs.reference.current?.contains(event.relatedTarget))\n ) {\n return;\n }\n\n onToggle(false, event);\n }\n };\n\n return (\n <div\n ref={ref}\n id={wrappedId}\n style={{\n position: 'relative',\n display: isInner ? 'block' : 'inline-block',\n }}\n >\n <div\n ref={refs.setReference}\n onClick={handleTargetClick}\n onMouseEnter={handleTargetMouseEnter}\n onMouseLeave={handleTargetMouseLeave}\n >\n {target}\n </div>\n\n {opened && (\n <FloatingPortal {...getFloatingPortalProps(portal, wrappedId)}>\n <div\n ref={refs.setFloating}\n onMouseLeave={handleFloatingMouseLeave}\n style={{\n ...floatingStyles,\n zIndex: zIndex || 1000,\n }}\n >\n {children}\n </div>\n </FloatingPortal>\n )}\n </div>\n );\n },\n);\n\ntype FloatingPortalReturnedProps = {\n root?: React.RefObject<HTMLElement>;\n id?: string;\n};\n\n// root - принимает ref контейнера портала.\n// id - если есть портал - не используется, если портала нет - подставляется 'wrappedId'.\nconst getFloatingPortalProps = (\n portal: FloatingPopoverProps['portal'],\n wrappedId: string,\n): FloatingPortalReturnedProps => {\n if (!portal) {\n return { id: wrappedId };\n }\n\n if (typeof portal === 'string') {\n return { id: portal };\n }\n\n return { root: portal };\n};\n\nexport { FloatingPopover };\n"],"names":["LIST_PADDING","FloatingPopover","forwardRef","_ref","ref","target","children","opened","onToggle","placement","portal","offset","isInner","trigger","zIndex","_useFloating","useFloating","whileElementsMounted","referenceEl","floatingEl","update","autoUpdate","ancestorScroll","ancestorResize","layoutShift","undefined","open","middleware","autoPlacement","offsetMiddleware","mainAxis","crossAxis","flip","fallbackAxisSideDirection","shift","refs","floatingStyles","wrappedId","safeUseId","handleTargetClick","event","handleTargetMouseEnter","handleTargetMouseLeave","relatedTarget","HTMLElement","floating","current","_refs$floating$curren","contains","handleFloatingMouseLeave","reference","_refs$reference$curre","React","createElement","id","style","position","display","setReference","onClick","onMouseEnter","onMouseLeave","FloatingPortal","getFloatingPortalProps","setFloating","_objectSpread","root"],"mappings":"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"}