@salutejs/plasma-new-hope 0.327.0-canary.1741.15743877104.0 → 0.327.0-canary.1741.15776056320.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 (356) 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/Calendar/CalendarBase/CalendarBase.js +12 -0
  6. package/cjs/components/Calendar/CalendarBase/CalendarBase.js.map +1 -1
  7. package/cjs/components/Calendar/CalendarDouble/CalendarDouble.js +12 -0
  8. package/cjs/components/Calendar/CalendarDouble/CalendarDouble.js.map +1 -1
  9. package/cjs/components/Calendar/ui/CalendarDays/CalendarDays.js +3 -0
  10. package/cjs/components/Calendar/ui/CalendarDays/CalendarDays.js.map +1 -1
  11. package/cjs/components/Calendar/ui/CalendarMonths/CalendarMonths.js +3 -0
  12. package/cjs/components/Calendar/ui/CalendarMonths/CalendarMonths.js.map +1 -1
  13. package/cjs/components/Calendar/ui/CalendarQuarters/CalendarQuarters.js +3 -0
  14. package/cjs/components/Calendar/ui/CalendarQuarters/CalendarQuarters.js.map +1 -1
  15. package/cjs/components/Calendar/ui/CalendarYears/CalendarYears.js +3 -0
  16. package/cjs/components/Calendar/ui/CalendarYears/CalendarYears.js.map +1 -1
  17. package/cjs/components/Checkbox/Checkbox.js +2 -1
  18. package/cjs/components/Checkbox/Checkbox.js.map +1 -1
  19. package/cjs/components/Combobox/ComboboxNew/Combobox.js +2 -1
  20. package/cjs/components/Combobox/ComboboxNew/Combobox.js.map +1 -1
  21. package/cjs/components/Combobox/ComboboxNew/FloatingPopover.js +2 -2
  22. package/cjs/components/Combobox/ComboboxNew/FloatingPopover.js.map +1 -1
  23. package/cjs/components/Combobox/ComboboxNew/ui/Inner/Inner.js +2 -2
  24. package/cjs/components/Combobox/ComboboxNew/ui/Inner/Inner.js.map +1 -1
  25. package/cjs/components/Combobox/ComboboxOld/Combobox.js +2 -1
  26. package/cjs/components/Combobox/ComboboxOld/Combobox.js.map +1 -1
  27. package/cjs/components/Combobox/ComboboxOld/ui/ComboboxItem/ComboboxItem.js +3 -3
  28. package/cjs/components/Combobox/ComboboxOld/ui/ComboboxItem/ComboboxItem.js.map +1 -1
  29. package/cjs/components/Drawer/Drawer.js +4 -3
  30. package/cjs/components/Drawer/Drawer.js.map +1 -1
  31. package/cjs/components/Drawer/hooks/useDrawer.js +2 -2
  32. package/cjs/components/Drawer/hooks/useDrawer.js.map +1 -1
  33. package/cjs/components/Dropdown/Dropdown.js +2 -2
  34. package/cjs/components/Dropdown/Dropdown.js.map +1 -1
  35. package/cjs/components/Dropdown/FloatingPopover.js +2 -2
  36. package/cjs/components/Dropdown/FloatingPopover.js.map +1 -1
  37. package/cjs/components/Dropdown/ui/DropdownDivider/DropdownDivider.js.map +1 -1
  38. package/cjs/components/Dropdown/ui/DropdownFooter/DropdownFooter.js.map +1 -1
  39. package/cjs/components/Dropdown/ui/DropdownGroup/DropdownGroup.js.map +1 -1
  40. package/cjs/components/Dropdown/ui/DropdownHeader/DropdownHeader.js.map +1 -1
  41. package/cjs/components/Dropdown/ui/DropdownInner/DropdownInner.js +2 -2
  42. package/cjs/components/Dropdown/ui/DropdownInner/DropdownInner.js.map +1 -1
  43. package/cjs/components/Dropdown/ui/DropdownItemOld/DropdownItemOld.js +3 -3
  44. package/cjs/components/Dropdown/ui/DropdownItemOld/DropdownItemOld.js.map +1 -1
  45. package/cjs/components/Dropdown/ui/DropdownOld/DropdownOld.js.map +1 -1
  46. package/cjs/components/Mask/Mask.js +3 -3
  47. package/cjs/components/Mask/Mask.js.map +1 -1
  48. package/cjs/components/Modal/Modal.js +3 -2
  49. package/cjs/components/Modal/Modal.js.map +1 -1
  50. package/cjs/components/Modal/hooks/useModal.js +1 -1
  51. package/cjs/components/Modal/hooks/useModal.js.map +1 -1
  52. package/cjs/components/Popup/Popup.js +2 -1
  53. package/cjs/components/Popup/Popup.js.map +1 -1
  54. package/cjs/components/Popup/PopupContext.js +13 -13
  55. package/cjs/components/Popup/PopupContext.js.map +1 -1
  56. package/cjs/components/Radiobox/Radiobox.js +3 -2
  57. package/cjs/components/Radiobox/Radiobox.js.map +1 -1
  58. package/cjs/components/Segment/ui/SegmentGroup/SegmentGroup.js +3 -3
  59. package/cjs/components/Segment/ui/SegmentGroup/SegmentGroup.js.map +1 -1
  60. package/cjs/components/Segment/ui/SegmentItem/SegmentItem.js +2 -2
  61. package/cjs/components/Segment/ui/SegmentItem/SegmentItem.js.map +1 -1
  62. package/cjs/components/Select/FloatingPopover.js +2 -2
  63. package/cjs/components/Select/FloatingPopover.js.map +1 -1
  64. package/cjs/components/Select/Select.js +2 -2
  65. package/cjs/components/Select/Select.js.map +1 -1
  66. package/cjs/components/Select/ui/Inner/Inner.js +2 -2
  67. package/cjs/components/Select/ui/Inner/Inner.js.map +1 -1
  68. package/cjs/components/Spinner/Spinner.js +2 -2
  69. package/cjs/components/Spinner/Spinner.js.map +1 -1
  70. package/cjs/components/Tabs/ui/horizontal/HorizontalTabs/HorizontalTabs.js +3 -3
  71. package/cjs/components/Tabs/ui/horizontal/HorizontalTabs/HorizontalTabs.js.map +1 -1
  72. package/cjs/components/Tabs/ui/vertical/VerticalTabs/VerticalTabs.js +3 -3
  73. package/cjs/components/Tabs/ui/vertical/VerticalTabs/VerticalTabs.js.map +1 -1
  74. package/cjs/components/TextArea/ui/Hint/Hint.js.map +1 -1
  75. package/cjs/components/TextField/TextField.js +4 -3
  76. package/cjs/components/TextField/TextField.js.map +1 -1
  77. package/cjs/components/TextField/ui/Hint/Hint.js.map +1 -1
  78. package/emotion/cjs/components/Autocomplete/Autocomplete.js +3 -3
  79. package/emotion/cjs/components/Autocomplete/FloatingPopover.js +2 -2
  80. package/emotion/cjs/components/Calendar/CalendarBase/CalendarBase.js +14 -0
  81. package/emotion/cjs/components/Calendar/CalendarDouble/CalendarDouble.js +14 -0
  82. package/emotion/cjs/components/Calendar/ui/CalendarDays/CalendarDays.js +3 -0
  83. package/emotion/cjs/components/Calendar/ui/CalendarMonths/CalendarMonths.js +3 -0
  84. package/emotion/cjs/components/Calendar/ui/CalendarQuarters/CalendarQuarters.js +3 -0
  85. package/emotion/cjs/components/Calendar/ui/CalendarYears/CalendarYears.js +3 -0
  86. package/emotion/cjs/components/Checkbox/Checkbox.js +3 -2
  87. package/emotion/cjs/components/Combobox/ComboboxNew/Combobox.js +21 -20
  88. package/emotion/cjs/components/Combobox/ComboboxNew/FloatingPopover.js +2 -2
  89. package/emotion/cjs/components/Combobox/ComboboxNew/ui/Inner/Inner.js +4 -4
  90. package/emotion/cjs/components/Combobox/ComboboxOld/Combobox.js +9 -8
  91. package/emotion/cjs/components/Combobox/ComboboxOld/ui/ComboboxItem/ComboboxItem.js +7 -7
  92. package/emotion/cjs/components/Drawer/Drawer.js +8 -8
  93. package/emotion/cjs/components/Drawer/hooks/useDrawer.js +2 -2
  94. package/emotion/cjs/components/Dropdown/Dropdown.js +8 -8
  95. package/emotion/cjs/components/Dropdown/FloatingPopover.js +2 -2
  96. package/emotion/cjs/components/Dropdown/ui/DropdownInner/DropdownInner.js +4 -4
  97. package/emotion/cjs/components/Dropdown/ui/DropdownItemOld/DropdownItemOld.js +2 -3
  98. package/emotion/cjs/components/Dropdown/ui/DropdownOld/DropdownOld.js +1 -1
  99. package/emotion/cjs/components/Mask/Mask.js +4 -4
  100. package/emotion/cjs/components/Modal/Modal.js +6 -5
  101. package/emotion/cjs/components/Modal/hooks/useModal.js +1 -1
  102. package/emotion/cjs/components/Popup/Popup.js +1 -1
  103. package/emotion/cjs/components/Popup/PopupContext.js +14 -29
  104. package/emotion/cjs/components/Radiobox/Radiobox.js +2 -2
  105. package/emotion/cjs/components/Segment/ui/SegmentGroup/SegmentGroup.js +2 -3
  106. package/emotion/cjs/components/Segment/ui/SegmentItem/SegmentItem.js +1 -2
  107. package/emotion/cjs/components/Select/FloatingPopover.js +5 -5
  108. package/emotion/cjs/components/Select/Select.js +1 -2
  109. package/emotion/cjs/components/Select/ui/Inner/Inner.js +1 -2
  110. package/emotion/cjs/components/Spinner/Spinner.js +2 -2
  111. package/emotion/cjs/components/Tabs/ui/horizontal/HorizontalTabs/HorizontalTabs.js +2 -3
  112. package/emotion/cjs/components/Tabs/ui/vertical/VerticalTabs/VerticalTabs.js +2 -3
  113. package/emotion/cjs/components/TextArea/ui/Hint/Hint.js +1 -1
  114. package/emotion/cjs/components/TextField/TextField.js +4 -4
  115. package/emotion/cjs/components/TextField/ui/Hint/Hint.js +1 -1
  116. package/emotion/es/components/Autocomplete/Autocomplete.js +1 -1
  117. package/emotion/es/components/Autocomplete/FloatingPopover.js +1 -1
  118. package/emotion/es/components/Calendar/CalendarBase/CalendarBase.js +14 -0
  119. package/emotion/es/components/Calendar/CalendarDouble/CalendarDouble.js +14 -0
  120. package/emotion/es/components/Calendar/ui/CalendarDays/CalendarDays.js +3 -0
  121. package/emotion/es/components/Calendar/ui/CalendarMonths/CalendarMonths.js +3 -0
  122. package/emotion/es/components/Calendar/ui/CalendarQuarters/CalendarQuarters.js +3 -0
  123. package/emotion/es/components/Calendar/ui/CalendarYears/CalendarYears.js +3 -0
  124. package/emotion/es/components/Checkbox/Checkbox.js +2 -1
  125. package/emotion/es/components/Combobox/ComboboxNew/Combobox.js +2 -1
  126. package/emotion/es/components/Combobox/ComboboxNew/FloatingPopover.js +1 -1
  127. package/emotion/es/components/Combobox/ComboboxNew/ui/Inner/Inner.js +1 -1
  128. package/emotion/es/components/Combobox/ComboboxOld/Combobox.js +2 -1
  129. package/emotion/es/components/Combobox/ComboboxOld/ui/ComboboxItem/ComboboxItem.js +1 -1
  130. package/emotion/es/components/Drawer/Drawer.js +3 -3
  131. package/emotion/es/components/Drawer/hooks/useDrawer.js +2 -2
  132. package/emotion/es/components/Dropdown/Dropdown.js +1 -1
  133. package/emotion/es/components/Dropdown/FloatingPopover.js +1 -1
  134. package/emotion/es/components/Dropdown/ui/DropdownInner/DropdownInner.js +1 -1
  135. package/emotion/es/components/Dropdown/ui/DropdownItemOld/DropdownItemOld.js +1 -2
  136. package/emotion/es/components/Dropdown/ui/DropdownOld/DropdownOld.js +1 -1
  137. package/emotion/es/components/Mask/Mask.js +4 -4
  138. package/emotion/es/components/Modal/Modal.js +4 -3
  139. package/emotion/es/components/Modal/hooks/useModal.js +1 -1
  140. package/emotion/es/components/Popup/Popup.js +2 -2
  141. package/emotion/es/components/Popup/PopupContext.js +14 -29
  142. package/emotion/es/components/Radiobox/Radiobox.js +2 -2
  143. package/emotion/es/components/Segment/ui/SegmentGroup/SegmentGroup.js +1 -2
  144. package/emotion/es/components/Segment/ui/SegmentItem/SegmentItem.js +1 -2
  145. package/emotion/es/components/Select/FloatingPopover.js +1 -1
  146. package/emotion/es/components/Select/Select.js +1 -2
  147. package/emotion/es/components/Select/ui/Inner/Inner.js +1 -2
  148. package/emotion/es/components/Spinner/Spinner.js +1 -1
  149. package/emotion/es/components/Tabs/ui/horizontal/HorizontalTabs/HorizontalTabs.js +1 -2
  150. package/emotion/es/components/Tabs/ui/vertical/VerticalTabs/VerticalTabs.js +1 -2
  151. package/emotion/es/components/TextArea/ui/Hint/Hint.js +1 -1
  152. package/emotion/es/components/TextField/TextField.js +3 -3
  153. package/emotion/es/components/TextField/ui/Hint/Hint.js +1 -1
  154. package/es/components/Autocomplete/Autocomplete.js +1 -1
  155. package/es/components/Autocomplete/Autocomplete.js.map +1 -1
  156. package/es/components/Autocomplete/FloatingPopover.js +1 -1
  157. package/es/components/Autocomplete/FloatingPopover.js.map +1 -1
  158. package/es/components/Calendar/CalendarBase/CalendarBase.js +12 -0
  159. package/es/components/Calendar/CalendarBase/CalendarBase.js.map +1 -1
  160. package/es/components/Calendar/CalendarDouble/CalendarDouble.js +12 -0
  161. package/es/components/Calendar/CalendarDouble/CalendarDouble.js.map +1 -1
  162. package/es/components/Calendar/ui/CalendarDays/CalendarDays.js +3 -0
  163. package/es/components/Calendar/ui/CalendarDays/CalendarDays.js.map +1 -1
  164. package/es/components/Calendar/ui/CalendarMonths/CalendarMonths.js +3 -0
  165. package/es/components/Calendar/ui/CalendarMonths/CalendarMonths.js.map +1 -1
  166. package/es/components/Calendar/ui/CalendarQuarters/CalendarQuarters.js +3 -0
  167. package/es/components/Calendar/ui/CalendarQuarters/CalendarQuarters.js.map +1 -1
  168. package/es/components/Calendar/ui/CalendarYears/CalendarYears.js +3 -0
  169. package/es/components/Calendar/ui/CalendarYears/CalendarYears.js.map +1 -1
  170. package/es/components/Checkbox/Checkbox.js +2 -1
  171. package/es/components/Checkbox/Checkbox.js.map +1 -1
  172. package/es/components/Combobox/ComboboxNew/Combobox.js +2 -1
  173. package/es/components/Combobox/ComboboxNew/Combobox.js.map +1 -1
  174. package/es/components/Combobox/ComboboxNew/FloatingPopover.js +1 -1
  175. package/es/components/Combobox/ComboboxNew/FloatingPopover.js.map +1 -1
  176. package/es/components/Combobox/ComboboxNew/ui/Inner/Inner.js +1 -1
  177. package/es/components/Combobox/ComboboxNew/ui/Inner/Inner.js.map +1 -1
  178. package/es/components/Combobox/ComboboxOld/Combobox.js +2 -1
  179. package/es/components/Combobox/ComboboxOld/Combobox.js.map +1 -1
  180. package/es/components/Combobox/ComboboxOld/ui/ComboboxItem/ComboboxItem.js +2 -2
  181. package/es/components/Combobox/ComboboxOld/ui/ComboboxItem/ComboboxItem.js.map +1 -1
  182. package/es/components/Drawer/Drawer.js +4 -3
  183. package/es/components/Drawer/Drawer.js.map +1 -1
  184. package/es/components/Drawer/hooks/useDrawer.js +2 -2
  185. package/es/components/Drawer/hooks/useDrawer.js.map +1 -1
  186. package/es/components/Dropdown/Dropdown.js +1 -1
  187. package/es/components/Dropdown/Dropdown.js.map +1 -1
  188. package/es/components/Dropdown/FloatingPopover.js +1 -1
  189. package/es/components/Dropdown/FloatingPopover.js.map +1 -1
  190. package/es/components/Dropdown/ui/DropdownDivider/DropdownDivider.js.map +1 -1
  191. package/es/components/Dropdown/ui/DropdownFooter/DropdownFooter.js.map +1 -1
  192. package/es/components/Dropdown/ui/DropdownGroup/DropdownGroup.js.map +1 -1
  193. package/es/components/Dropdown/ui/DropdownHeader/DropdownHeader.js.map +1 -1
  194. package/es/components/Dropdown/ui/DropdownInner/DropdownInner.js +1 -1
  195. package/es/components/Dropdown/ui/DropdownInner/DropdownInner.js.map +1 -1
  196. package/es/components/Dropdown/ui/DropdownItemOld/DropdownItemOld.js +2 -2
  197. package/es/components/Dropdown/ui/DropdownItemOld/DropdownItemOld.js.map +1 -1
  198. package/es/components/Dropdown/ui/DropdownOld/DropdownOld.js.map +1 -1
  199. package/es/components/Mask/Mask.js +3 -3
  200. package/es/components/Mask/Mask.js.map +1 -1
  201. package/es/components/Modal/Modal.js +3 -2
  202. package/es/components/Modal/Modal.js.map +1 -1
  203. package/es/components/Modal/hooks/useModal.js +1 -1
  204. package/es/components/Modal/hooks/useModal.js.map +1 -1
  205. package/es/components/Popup/Popup.js +2 -1
  206. package/es/components/Popup/Popup.js.map +1 -1
  207. package/es/components/Popup/PopupContext.js +13 -13
  208. package/es/components/Popup/PopupContext.js.map +1 -1
  209. package/es/components/Radiobox/Radiobox.js +3 -2
  210. package/es/components/Radiobox/Radiobox.js.map +1 -1
  211. package/es/components/Segment/ui/SegmentGroup/SegmentGroup.js +2 -2
  212. package/es/components/Segment/ui/SegmentGroup/SegmentGroup.js.map +1 -1
  213. package/es/components/Segment/ui/SegmentItem/SegmentItem.js +1 -1
  214. package/es/components/Segment/ui/SegmentItem/SegmentItem.js.map +1 -1
  215. package/es/components/Select/FloatingPopover.js +1 -1
  216. package/es/components/Select/FloatingPopover.js.map +1 -1
  217. package/es/components/Select/Select.js +1 -1
  218. package/es/components/Select/Select.js.map +1 -1
  219. package/es/components/Select/ui/Inner/Inner.js +1 -1
  220. package/es/components/Select/ui/Inner/Inner.js.map +1 -1
  221. package/es/components/Spinner/Spinner.js +1 -1
  222. package/es/components/Spinner/Spinner.js.map +1 -1
  223. package/es/components/Tabs/ui/horizontal/HorizontalTabs/HorizontalTabs.js +2 -2
  224. package/es/components/Tabs/ui/horizontal/HorizontalTabs/HorizontalTabs.js.map +1 -1
  225. package/es/components/Tabs/ui/vertical/VerticalTabs/VerticalTabs.js +2 -2
  226. package/es/components/Tabs/ui/vertical/VerticalTabs/VerticalTabs.js.map +1 -1
  227. package/es/components/TextArea/ui/Hint/Hint.js.map +1 -1
  228. package/es/components/TextField/TextField.js +2 -1
  229. package/es/components/TextField/TextField.js.map +1 -1
  230. package/es/components/TextField/ui/Hint/Hint.js.map +1 -1
  231. package/package.json +4 -4
  232. package/styled-components/cjs/components/Autocomplete/Autocomplete.js +3 -3
  233. package/styled-components/cjs/components/Autocomplete/FloatingPopover.js +2 -2
  234. package/styled-components/cjs/components/Calendar/CalendarBase/CalendarBase.js +14 -0
  235. package/styled-components/cjs/components/Calendar/CalendarDouble/CalendarDouble.js +14 -0
  236. package/styled-components/cjs/components/Calendar/ui/CalendarDays/CalendarDays.js +3 -0
  237. package/styled-components/cjs/components/Calendar/ui/CalendarMonths/CalendarMonths.js +3 -0
  238. package/styled-components/cjs/components/Calendar/ui/CalendarQuarters/CalendarQuarters.js +3 -0
  239. package/styled-components/cjs/components/Calendar/ui/CalendarYears/CalendarYears.js +3 -0
  240. package/styled-components/cjs/components/Checkbox/Checkbox.js +3 -2
  241. package/styled-components/cjs/components/Combobox/ComboboxNew/Combobox.js +21 -20
  242. package/styled-components/cjs/components/Combobox/ComboboxNew/FloatingPopover.js +2 -2
  243. package/styled-components/cjs/components/Combobox/ComboboxNew/ui/Inner/Inner.js +4 -4
  244. package/styled-components/cjs/components/Combobox/ComboboxOld/Combobox.js +9 -8
  245. package/styled-components/cjs/components/Combobox/ComboboxOld/ui/ComboboxItem/ComboboxItem.js +7 -7
  246. package/styled-components/cjs/components/Drawer/Drawer.js +8 -8
  247. package/styled-components/cjs/components/Drawer/hooks/useDrawer.js +2 -2
  248. package/styled-components/cjs/components/Dropdown/Dropdown.js +8 -8
  249. package/styled-components/cjs/components/Dropdown/FloatingPopover.js +2 -2
  250. package/styled-components/cjs/components/Dropdown/ui/DropdownInner/DropdownInner.js +4 -4
  251. package/styled-components/cjs/components/Dropdown/ui/DropdownItemOld/DropdownItemOld.js +2 -3
  252. package/styled-components/cjs/components/Dropdown/ui/DropdownOld/DropdownOld.js +1 -1
  253. package/styled-components/cjs/components/Mask/Mask.js +4 -4
  254. package/styled-components/cjs/components/Modal/Modal.js +6 -5
  255. package/styled-components/cjs/components/Modal/hooks/useModal.js +1 -1
  256. package/styled-components/cjs/components/Popup/Popup.js +1 -1
  257. package/styled-components/cjs/components/Popup/PopupContext.js +14 -29
  258. package/styled-components/cjs/components/Radiobox/Radiobox.js +2 -2
  259. package/styled-components/cjs/components/Segment/ui/SegmentGroup/SegmentGroup.js +2 -3
  260. package/styled-components/cjs/components/Segment/ui/SegmentItem/SegmentItem.js +1 -2
  261. package/styled-components/cjs/components/Select/FloatingPopover.js +5 -5
  262. package/styled-components/cjs/components/Select/Select.js +1 -2
  263. package/styled-components/cjs/components/Select/ui/Inner/Inner.js +1 -2
  264. package/styled-components/cjs/components/Spinner/Spinner.js +2 -2
  265. package/styled-components/cjs/components/Tabs/ui/horizontal/HorizontalTabs/HorizontalTabs.js +2 -3
  266. package/styled-components/cjs/components/Tabs/ui/vertical/VerticalTabs/VerticalTabs.js +2 -3
  267. package/styled-components/cjs/components/TextArea/ui/Hint/Hint.js +1 -1
  268. package/styled-components/cjs/components/TextField/TextField.js +3 -3
  269. package/styled-components/cjs/components/TextField/ui/Hint/Hint.js +1 -1
  270. package/styled-components/es/components/Autocomplete/Autocomplete.js +1 -1
  271. package/styled-components/es/components/Autocomplete/FloatingPopover.js +1 -1
  272. package/styled-components/es/components/Calendar/CalendarBase/CalendarBase.js +14 -0
  273. package/styled-components/es/components/Calendar/CalendarDouble/CalendarDouble.js +14 -0
  274. package/styled-components/es/components/Calendar/ui/CalendarDays/CalendarDays.js +3 -0
  275. package/styled-components/es/components/Calendar/ui/CalendarMonths/CalendarMonths.js +3 -0
  276. package/styled-components/es/components/Calendar/ui/CalendarQuarters/CalendarQuarters.js +3 -0
  277. package/styled-components/es/components/Calendar/ui/CalendarYears/CalendarYears.js +3 -0
  278. package/styled-components/es/components/Checkbox/Checkbox.js +2 -1
  279. package/styled-components/es/components/Combobox/ComboboxNew/Combobox.js +2 -1
  280. package/styled-components/es/components/Combobox/ComboboxNew/FloatingPopover.js +1 -1
  281. package/styled-components/es/components/Combobox/ComboboxNew/ui/Inner/Inner.js +1 -1
  282. package/styled-components/es/components/Combobox/ComboboxOld/Combobox.js +2 -1
  283. package/styled-components/es/components/Combobox/ComboboxOld/ui/ComboboxItem/ComboboxItem.js +1 -1
  284. package/styled-components/es/components/Drawer/Drawer.js +3 -3
  285. package/styled-components/es/components/Drawer/hooks/useDrawer.js +2 -2
  286. package/styled-components/es/components/Dropdown/Dropdown.js +1 -1
  287. package/styled-components/es/components/Dropdown/FloatingPopover.js +1 -1
  288. package/styled-components/es/components/Dropdown/ui/DropdownInner/DropdownInner.js +1 -1
  289. package/styled-components/es/components/Dropdown/ui/DropdownItemOld/DropdownItemOld.js +1 -2
  290. package/styled-components/es/components/Dropdown/ui/DropdownOld/DropdownOld.js +1 -1
  291. package/styled-components/es/components/Mask/Mask.js +4 -4
  292. package/styled-components/es/components/Modal/Modal.js +4 -3
  293. package/styled-components/es/components/Modal/hooks/useModal.js +1 -1
  294. package/styled-components/es/components/Popup/Popup.js +2 -2
  295. package/styled-components/es/components/Popup/PopupContext.js +14 -29
  296. package/styled-components/es/components/Radiobox/Radiobox.js +2 -2
  297. package/styled-components/es/components/Segment/ui/SegmentGroup/SegmentGroup.js +1 -2
  298. package/styled-components/es/components/Segment/ui/SegmentItem/SegmentItem.js +1 -2
  299. package/styled-components/es/components/Select/FloatingPopover.js +1 -1
  300. package/styled-components/es/components/Select/Select.js +1 -2
  301. package/styled-components/es/components/Select/ui/Inner/Inner.js +1 -2
  302. package/styled-components/es/components/Spinner/Spinner.js +1 -1
  303. package/styled-components/es/components/Tabs/ui/horizontal/HorizontalTabs/HorizontalTabs.js +1 -2
  304. package/styled-components/es/components/Tabs/ui/vertical/VerticalTabs/VerticalTabs.js +1 -2
  305. package/styled-components/es/components/TextArea/ui/Hint/Hint.js +1 -1
  306. package/styled-components/es/components/TextField/TextField.js +2 -2
  307. package/styled-components/es/components/TextField/ui/Hint/Hint.js +1 -1
  308. package/types/components/Calendar/CalendarBase/CalendarBase.d.ts.map +1 -1
  309. package/types/components/Calendar/CalendarDouble/CalendarDouble.d.ts.map +1 -1
  310. package/types/components/Calendar/ui/CalendarDays/CalendarDays.d.ts.map +1 -1
  311. package/types/components/Calendar/ui/CalendarMonths/CalendarMonths.d.ts.map +1 -1
  312. package/types/components/Calendar/ui/CalendarQuarters/CalendarQuarters.d.ts.map +1 -1
  313. package/types/components/Calendar/ui/CalendarYears/CalendarYears.d.ts.map +1 -1
  314. package/types/components/Checkbox/Checkbox.d.ts.map +1 -1
  315. package/types/components/Combobox/ComboboxNew/Combobox.d.ts.map +1 -1
  316. package/types/components/Combobox/ComboboxOld/Combobox.d.ts.map +1 -1
  317. package/types/components/Combobox/ComboboxOld/ui/ComboboxItem/ComboboxItem.d.ts.map +1 -1
  318. package/types/components/Drawer/Drawer.d.ts +1 -1
  319. package/types/components/Drawer/Drawer.d.ts.map +1 -1
  320. package/types/components/Drawer/hooks/useDrawer.d.ts.map +1 -1
  321. package/types/components/Dropdown/Dropdown.d.ts.map +1 -1
  322. package/types/components/Dropdown/ui/DropdownDivider/DropdownDivider.d.ts +1 -1
  323. package/types/components/Dropdown/ui/DropdownDivider/DropdownDivider.d.ts.map +1 -1
  324. package/types/components/Dropdown/ui/DropdownFooter/DropdownFooter.d.ts +1 -1
  325. package/types/components/Dropdown/ui/DropdownFooter/DropdownFooter.d.ts.map +1 -1
  326. package/types/components/Dropdown/ui/DropdownGroup/DropdownGroup.d.ts +1 -1
  327. package/types/components/Dropdown/ui/DropdownGroup/DropdownGroup.d.ts.map +1 -1
  328. package/types/components/Dropdown/ui/DropdownHeader/DropdownHeader.d.ts +1 -1
  329. package/types/components/Dropdown/ui/DropdownHeader/DropdownHeader.d.ts.map +1 -1
  330. package/types/components/Dropdown/ui/DropdownItemOld/DropdownItemOld.d.ts +1 -1
  331. package/types/components/Dropdown/ui/DropdownItemOld/DropdownItemOld.d.ts.map +1 -1
  332. package/types/components/Dropdown/ui/DropdownOld/DropdownOld.d.ts +1 -1
  333. package/types/components/Dropdown/ui/DropdownOld/DropdownOld.d.ts.map +1 -1
  334. package/types/components/Modal/Modal.d.ts +1 -1
  335. package/types/components/Modal/Modal.d.ts.map +1 -1
  336. package/types/components/Popup/Popup.d.ts +1 -1
  337. package/types/components/Popup/Popup.d.ts.map +1 -1
  338. package/types/components/Popup/Popup.types.d.ts +1 -1
  339. package/types/components/Popup/Popup.types.d.ts.map +1 -1
  340. package/types/components/Popup/PopupContext.d.ts.map +1 -1
  341. package/types/components/Radiobox/Radiobox.d.ts +2 -2
  342. package/types/components/Radiobox/Radiobox.d.ts.map +1 -1
  343. package/types/components/Segment/ui/SegmentGroup/SegmentGroup.d.ts +1 -1
  344. package/types/components/Segment/ui/SegmentGroup/SegmentGroup.d.ts.map +1 -1
  345. package/types/components/Segment/ui/SegmentItem/SegmentItem.d.ts +1 -1
  346. package/types/components/Segment/ui/SegmentItem/SegmentItem.d.ts.map +1 -1
  347. package/types/components/Select/Select.d.ts.map +1 -1
  348. package/types/components/Select/ui/Inner/Inner.d.ts.map +1 -1
  349. package/types/components/Spinner/Spinner.d.ts +1 -1
  350. package/types/components/Spinner/Spinner.d.ts.map +1 -1
  351. package/types/components/Tabs/ui/horizontal/HorizontalTabs/HorizontalTabs.d.ts +1 -1
  352. package/types/components/Tabs/ui/horizontal/HorizontalTabs/HorizontalTabs.d.ts.map +1 -1
  353. package/types/components/Tabs/ui/vertical/VerticalTabs/VerticalTabs.d.ts +1 -1
  354. package/types/components/Tabs/ui/vertical/VerticalTabs/VerticalTabs.d.ts.map +1 -1
  355. package/types/components/TextField/TextField.d.ts +1 -1
  356. package/types/components/TextField/TextField.d.ts.map +1 -1
@@ -4,7 +4,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var react = require('@floating-ui/react');
6
6
  var React = require('react');
7
- var plasmaCore = require('@salutejs/plasma-core');
7
+ var react$1 = require('../../../utils/react.js');
8
8
 
9
9
  function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
10
10
 
@@ -52,7 +52,7 @@ const FloatingPopover = /*#__PURE__*/React.forwardRef(({
52
52
  }
53
53
  })]
54
54
  });
55
- const wrappedId = plasmaCore.safeUseId();
55
+ const wrappedId = react$1.safeUseId();
56
56
  const handleClick = () => {
57
57
  if (onToggle) {
58
58
  onToggle(!opened);
@@ -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","target","children","opened","onToggle","placement","portal","listWidth","zIndex","isInner","ref","refs","floatingStyles","useFloating","whileElementsMounted","referenceEl","floatingEl","update","autoUpdate","ancestorScroll","ancestorResize","layoutShift","open","middleware","offsetMiddleware","mainAxis","alignmentAxis","flip","fallbackAxisSideDirection","shift","size","apply","rects","elements","Object","assign","floating","style","width","reference","wrappedId","safeUseId","handleClick","isTargetAsFunction","React","createElement","id","position","undefined","setReference","onClick","FloatingPortal","getFloatingPortalProps","setFloating","root"],"mappings":"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"}
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","target","children","opened","onToggle","placement","portal","listWidth","zIndex","isInner","ref","refs","floatingStyles","useFloating","whileElementsMounted","referenceEl","floatingEl","update","autoUpdate","ancestorScroll","ancestorResize","layoutShift","open","middleware","offsetMiddleware","mainAxis","alignmentAxis","flip","fallbackAxisSideDirection","shift","size","apply","rects","elements","Object","assign","floating","style","width","reference","wrappedId","safeUseId","handleClick","isTargetAsFunction","React","createElement","id","position","undefined","setReference","onClick","FloatingPortal","getFloatingPortalProps","setFloating","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
 
@@ -36,7 +36,7 @@ const Inner = ({
36
36
  }
37
37
  };
38
38
  const isCurrentListOpen = path[currentLevel + 1] === item.value.toString();
39
- const treeId = plasmaCore.safeUseId();
39
+ const treeId = react.safeUseId();
40
40
  const listId = `${treeId}_tree_level_${currentLevel + 2}`;
41
41
  const nextLevel = currentLevel + 1;
42
42
  if (!isEmpty.isEmpty(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","item","currentLevel","path","dispatchPath","index","listWidth","handleToggle","opened","type","value","toString","level","isCurrentListOpen","treeId","safeUseId","listId","nextLevel","isEmpty","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","item","currentLevel","path","dispatchPath","index","listWidth","handleToggle","opened","type","value","toString","level","isCurrentListOpen","treeId","safeUseId","listId","nextLevel","isEmpty","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');
@@ -48,7 +49,7 @@ const comboboxRoot = Root => /*#__PURE__*/React.forwardRef(({
48
49
  ...rest
49
50
  }, outerRootRef) => {
50
51
  const forceUpdate = useForceUpdate.useForceUpdate();
51
- const uniqId = plasmaCore.safeUseId();
52
+ const uniqId = react.safeUseId();
52
53
  const innerId = id || uniqId;
53
54
  const {
54
55
  valueType = 'single',
@@ -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","name","form","readOnly","disabled","label","placeholder","id","children","role","view","size","frame","usePortal","negativeResultContent","enumerationType","opened","alwaysOpened","placement","onToggle","onKeyDown","filterFunction","rest","outerRootRef","forceUpdate","useForceUpdate","uniqId","safeUseId","innerId","valueType","value","offset","ref","setRef","useState","targetRef","useRef","chipsRefs","comboboxRef","itemsRefs","inputRef","handleRef","useForkRef","controlledRefs","selectRef","isVisible","setIsVisible","search","setSearch","filterValue","setFilterValue","dynamicTargetWidth","current","offsetWidth","useDidMountEffect","useEffect","onInnerToggle","openValue","event","closedWithoutChanges","updateValue","item","dataset","newValue","newSelected","getNewSelected","onChangeValue","onClickChildrenItem","stopPropagation","currentTarget","onChangeChipValue","onKeyDownTarget","onKeyDownSelect","useKeyNavigation","componentType","updateOpened","childrenArray","Children","toArray","childrenMemo","getChildren","onClick","childrenRefs","filter","Boolean","values","getValues","onSearch","newSearch","newOpened","onKeyDownHandle","String","React","createElement","StyledRoot","StyledNativeSelect","tabIndex","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","name","form","readOnly","disabled","label","placeholder","id","children","role","view","size","frame","usePortal","negativeResultContent","enumerationType","opened","alwaysOpened","placement","onToggle","onKeyDown","filterFunction","rest","outerRootRef","forceUpdate","useForceUpdate","uniqId","safeUseId","innerId","valueType","value","offset","ref","setRef","useState","targetRef","useRef","chipsRefs","comboboxRef","itemsRefs","inputRef","handleRef","useForkRef","controlledRefs","selectRef","isVisible","setIsVisible","search","setSearch","filterValue","setFilterValue","dynamicTargetWidth","current","offsetWidth","useDidMountEffect","useEffect","onInnerToggle","openValue","event","closedWithoutChanges","updateValue","item","dataset","newValue","newSelected","getNewSelected","onChangeValue","onClickChildrenItem","stopPropagation","currentTarget","onChangeChipValue","onKeyDownTarget","onKeyDownSelect","useKeyNavigation","componentType","updateOpened","childrenArray","Children","toArray","childrenMemo","getChildren","onClick","childrenRefs","filter","Boolean","values","getValues","onSearch","newSearch","newOpened","onKeyDownHandle","String","React","createElement","StyledRoot","StyledNativeSelect","tabIndex","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
 
@@ -36,7 +36,7 @@ const comboboxItemRoot = Root => /*#__PURE__*/React.forwardRef(({
36
36
  onChange,
37
37
  ...rest
38
38
  }, outerRootRef) => {
39
- const uniqId = plasmaCore.safeUseId();
39
+ const uniqId = react.safeUseId();
40
40
  const innerId = id || uniqId;
41
41
  const withComboboxItemIsSelected = checked || isSelected ? Combobox_tokens.classes.comboboxItemIsSelected : undefined;
42
42
  const 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","id","className","children","text","isSelected","name","checked","value","view","size","disabled","role","contentLeft","ContentLeftComponent","contentRight","ContentRightComponent","onSelect","onClick","onChange","rest","outerRootRef","uniqId","safeUseId","innerId","withComboboxItemIsSelected","classes","comboboxItemIsSelected","undefined","withComboboxItemIsDisabled","comboboxItemIsDisabled","handleOnClick","useCallback","event","handleOnChange","contentProps","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","id","className","children","text","isSelected","name","checked","value","view","size","disabled","role","contentLeft","ContentLeftComponent","contentRight","ContentRightComponent","onSelect","onClick","onChange","rest","outerRootRef","uniqId","safeUseId","innerId","withComboboxItemIsSelected","classes","comboboxItemIsSelected","undefined","withComboboxItemIsDisabled","comboboxItemIsDisabled","handleOnClick","useCallback","event","handleOnChange","contentProps","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');
@@ -58,7 +59,7 @@ const drawerRoot = Root => /*#__PURE__*/React.forwardRef(({
58
59
  const trapRef = useFocusTrap.useFocusTrap(true, initialFocusRef, focusAfterRef);
59
60
  const popupController = PopupContext.usePopupContext();
60
61
  const innerRef = plasmaCore.useForkRef(trapRef, outerRef);
61
- const uniqId = plasmaCore.safeUseId();
62
+ const uniqId = react.safeUseId();
62
63
  const innerId = id || uniqId;
63
64
  const overlayBackgroundToken = withBlur ? `var(${Drawer_tokens.tokens.drawerOverlayWithBlurColor})` : `var(${Drawer_tokens.tokens.drawerOverlayColor})`;
64
65
  const innerWidth = width ? getSizeValueFromProp.getSizeValueFromProp(width) : '100%';
@@ -75,7 +76,7 @@ const drawerRoot = Root => /*#__PURE__*/React.forwardRef(({
75
76
  popupInfo,
76
77
  disableScroll: asModal
77
78
  });
78
- const transparent = React.useMemo(() => DrawerContext.getIdLastDrawer(popupController.items) !== innerId, [innerId, popupController.items]);
79
+ const transparent = React.useMemo(() => DrawerContext.getIdLastDrawer(Array.from(popupController.items.values())) !== innerId, [innerId, popupController.items]);
79
80
  const onDrawerOverlayKeyDown = event => {
80
81
  if (onOverlayClick) {
81
82
  onOverlayClick(event);
@@ -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","id","zIndex","popupInfo","withBlur","children","view","size","width","height","isOpen","opened","initialFocusRef","focusAfterRef","className","customBackgroundColor","customContentBackgroundColor","onClose","onOverlayClick","onEscKeyDown","offset","frame","borderRadius","placement","closeOnEsc","closeOnOverlayClick","asModal","rest","outerRef","innerIsOpen","Boolean","trapRef","useFocusTrap","popupController","usePopupContext","innerRef","useForkRef","uniqId","safeUseId","innerId","overlayBackgroundToken","tokens","drawerOverlayWithBlurColor","drawerOverlayColor","innerWidth","getSizeValueFromProp","innerHeight","placementClass","classes","undefined","drawerInfo","useDrawer","disableScroll","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 { cx, getSizeValueFromProp, safeUseId } from 'src/utils';\nimport type { RootProps } from 'src/engines';\n\nimport { usePopupContext } from '../Popup';\nimport { Overlay } from '../Overlay';\nimport { DEFAULT_Z_INDEX } from '../Popup/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(Array.from(popupController.items.values())) !== 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","id","zIndex","popupInfo","withBlur","children","view","size","width","height","isOpen","opened","initialFocusRef","focusAfterRef","className","customBackgroundColor","customContentBackgroundColor","onClose","onOverlayClick","onEscKeyDown","offset","frame","borderRadius","placement","closeOnEsc","closeOnOverlayClick","asModal","rest","outerRef","innerIsOpen","Boolean","trapRef","useFocusTrap","popupController","usePopupContext","innerRef","useForkRef","uniqId","safeUseId","innerId","overlayBackgroundToken","tokens","drawerOverlayWithBlurColor","drawerOverlayColor","innerWidth","getSizeValueFromProp","innerHeight","placementClass","classes","undefined","drawerInfo","useDrawer","disableScroll","transparent","useMemo","getIdLastDrawer","Array","from","items","values","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":";;;;;;;;;;;;;;;;;;;;;;;;;;AAmBA;;MAEaA,UAAU,GAAIC,IAA4C,iBACnEC,gBAAU,CACN,CACI;EACIC,EAAE;EACFC,MAAM;EACNC,SAAS;EACTC,QAAQ;EACRC,QAAQ;EACRC,IAAI;EACJC,IAAI;EACJC,KAAK;EACLC,MAAM;EACNC,MAAM;EACNC,MAAM;EACNC,eAAe;EACfC,aAAa;EACbC,SAAS;EACTC,qBAAqB;EACrBC,4BAA4B;EAC5BC,OAAO;EACPC,cAAc;EACdC,YAAY;EACZC,MAAM;EACNC,KAAK;AACLC,EAAAA,YAAY,GAAG,MAAM;AACrBC,EAAAA,SAAS,GAAG,OAAO;AACnBC,EAAAA,UAAU,GAAG,IAAI;AACjBC,EAAAA,mBAAmB,GAAG,IAAI;AAC1BC,EAAAA,OAAO,GAAG,IAAI;EACd,GAAGC,IAAAA;AACP,CAAC,EACDC,QAAQ,KACP;AACD,EAAA,MAAMC,WAAW,GAAGC,OAAO,CAACpB,MAAM,IAAIC,MAAM,CAAC,CAAA;EAE7C,MAAMoB,OAAO,GAAGC,yBAAY,CAAC,IAAI,EAAEpB,eAAe,EAAEC,aAAa,CAAC,CAAA;AAClE,EAAA,MAAMoB,eAAe,GAAGC,4BAAe,EAAE,CAAA;AAEzC,EAAA,MAAMC,QAAQ,GAAGC,qBAAU,CAAiBL,OAAO,EAAEH,QAAQ,CAAC,CAAA;AAE9D,EAAA,MAAMS,MAAM,GAAGC,eAAS,EAAE,CAAA;AAC1B,EAAA,MAAMC,OAAO,GAAGtC,EAAE,IAAIoC,MAAM,CAAA;AAC5B,EAAA,MAAMG,sBAAsB,GAAGpC,QAAQ,GACjC,OAAOqC,oBAAM,CAACC,0BAA0B,CAAA,CAAA,CAAG,GAC3C,CAAA,IAAA,EAAOD,oBAAM,CAACE,kBAAkB,CAAG,CAAA,CAAA,CAAA;EACzC,MAAMC,UAAU,GAAGpC,KAAK,GAAGqC,yCAAoB,CAACrC,KAAK,CAAC,GAAG,MAAM,CAAA;EAC/D,MAAMsC,WAAW,GAAGrC,MAAM,GAAGoC,yCAAoB,CAACpC,MAAM,CAAC,GAAG,MAAM,CAAA;EAElE,MAAMsC,cAAc,GAAGxB,SAAS,GAAGyB,qBAAO,CAAC,CAAA,EAAGzB,SAAS,CAAA,SAAA,CAAW,CAAyB,GAAG0B,SAAS,CAAA;EAEvG,MAAM;AAAEC,IAAAA,UAAAA;GAAY,GAAGC,mBAAS,CAAC;AAC7BlD,IAAAA,EAAE,EAAEsC,OAAO;AACX7B,IAAAA,MAAM,EAAEmB,WAAW;IACnBL,UAAU;IACVL,YAAY;IACZF,OAAO;IACPd,SAAS;AACTiD,IAAAA,aAAa,EAAE1B,OAAAA;AACnB,GAAC,CAAC,CAAA;AACF,EAAA,MAAM2B,WAAW,GAAGC,aAAO,CAAC,MAAMC,6BAAe,CAACC,KAAK,CAACC,IAAI,CAACxB,eAAe,CAACyB,KAAK,CAACC,MAAM,EAAE,CAAC,CAAC,KAAKpB,OAAO,EAAE,CACvGA,OAAO,EACPN,eAAe,CAACyB,KAAK,CACxB,CAAC,CAAA;EAEF,MAAME,sBAAsB,GAAIC,KAAuC,IAAK;AACxE,IAAA,IAAI3C,cAAc,EAAE;MAChBA,cAAc,CAAC2C,KAAK,CAAC,CAAA;AACrB,MAAA,OAAA;AACJ,KAAA;AAEA,IAAA,IAAI5C,OAAO,EAAE;AACTA,MAAAA,OAAO,EAAE,CAAA;AACb,KAAA;GACH,CAAA;AAED,EAAA,oBACI6C,sBAAA,CAAAC,aAAA,CAACC,yBAAW,EAAAC,iCAAA,CAAA;AACRhE,IAAAA,EAAE,EAAEsC,OAAQ;AACZ2B,IAAAA,GAAG,EAAExC,OAAO,GAAGS,QAAQ,GAAGP,QAAS;AACnCd,IAAAA,SAAS,EAAEqD,QAAE,CAACpB,cAAc,CAAE;AAC9BpC,IAAAA,MAAM,EAAEkB,WAAY;AACpB3B,IAAAA,MAAM,EAAEA,MAAO;AACfqB,IAAAA,SAAS,EAAEA,SAAU;AACrBpB,IAAAA,SAAS,EAAE+C,UAAW;AACtB7B,IAAAA,KAAK,EAAEA,KAAM;AACbb,IAAAA,KAAK,EAAEoC,UAAW;AAClBnC,IAAAA,MAAM,EAAEqC,WAAY;AACpB1B,IAAAA,MAAM,EAAEA,MAAO;IACfgD,aAAa,EAAA,IAAA;AACbC,IAAAA,OAAO,EACH3C,OAAO,iBACHoC,sBAAA,CAAAC,aAAA,CAAChE,IAAI,EAAA;AAACO,MAAAA,IAAI,EAAEA,IAAAA;AAAK,KAAA,eACbwD,sBAAA,CAAAC,aAAA,CAACO,eAAO,EAAA;MACJxD,SAAS,EAAEkC,qBAAO,CAACqB,OAAQ;MAC3BnE,MAAM,EAAEA,MAAM,IAAIqE,uBAAgB;AAClCC,MAAAA,uBAAuB,EAAEhC,sBAAuB;AAChDpC,MAAAA,QAAQ,EAAEA,QAAS;AACnBiD,MAAAA,WAAW,EAAEA,WAAY;AACzBoB,MAAAA,WAAW,EAAEhD,mBAAoB;AACjCP,MAAAA,cAAc,EAAE0C,sBAAAA;AAAuB,KAC1C,CACC,CAAA;AAEb,GAAA,EACGjC,IAAI,CAERmC,eAAAA,sBAAA,CAAAC,aAAA,CAAChE,IAAI,EAAA;AACDO,IAAAA,IAAI,EAAEA,IAAK;AACXC,IAAAA,IAAI,EAAEA,IAAK;AACXmE,IAAAA,KAAK,EAAE;AAAElE,MAAAA,KAAK,EAAEoC,UAAU;AAAEnC,MAAAA,MAAM,EAAEqC,WAAAA;KAAc;AAClDxB,IAAAA,YAAY,EAAEA,YAAAA;AAAa,GAAA,eAE3BwC,sBAAA,CAAAC,aAAA,CAACY,yBAAW,EAAA;AACRnE,IAAAA,KAAK,EAAEoC,UAAW;AAClBnC,IAAAA,MAAM,EAAEqC,WAAY;AACpB/B,IAAAA,qBAAqB,EAAEA,qBAAsB;AAC7CC,IAAAA,4BAA4B,EAAEA,4BAA6B;AAC3DF,IAAAA,SAAS,EAAEA,SAAAA;GAEVT,EAAAA,QACQ,CACX,CACG,CAAC,CAAA;AAEtB,CACJ,EAAC;AAEE,MAAMuE,YAAY,GAAG;AACxBC,EAAAA,IAAI,EAAE,QAAQ;AACdC,EAAAA,GAAG,EAAE,KAAK;AACVC,EAAAA,MAAM,EAAEjF,UAAU;AAClBkF,EAAAA,IAAI,EAAE,EAAE;AACRC,EAAAA,UAAU,EAAE;AACR3E,IAAAA,IAAI,EAAE;AACF4E,MAAAA,GAAG,EAAEC,SAAAA;KACR;AACD5E,IAAAA,IAAI,EAAE;AACF2E,MAAAA,GAAG,EAAEE,WAAAA;KACR;AACD9D,IAAAA,YAAY,EAAE;AACV4D,MAAAA,GAAG,EAAEG,WAAAA;AACT,KAAA;GACH;AACDC,EAAAA,QAAQ,EAAE;AACNhF,IAAAA,IAAI,EAAE,SAAS;AACfC,IAAAA,IAAI,EAAE,GAAG;AACTe,IAAAA,YAAY,EAAE,MAAA;AAClB,GAAA;AACJ;;;;;"}
@@ -25,7 +25,7 @@ const useDrawer = ({
25
25
  if (!closeOnEsc) {
26
26
  return;
27
27
  }
28
- if (event.keyCode === ESCAPE_KEYCODE && DrawerContext.getIdLastDrawer(popupController.items) === id) {
28
+ if (event.keyCode === ESCAPE_KEYCODE && DrawerContext.getIdLastDrawer(Array.from(popupController.items.values())) === id) {
29
29
  if (onEscKeyDown) {
30
30
  onEscKeyDown(event);
31
31
  return;
@@ -56,7 +56,7 @@ const useDrawer = ({
56
56
  if (!canUseDOM.canUseDOM) {
57
57
  return;
58
58
  }
59
- if (!isOpen && !DrawerContext.hasDrawers(popupController.items)) {
59
+ if (!isOpen && !DrawerContext.hasDrawers(Array.from(popupController.items.values()))) {
60
60
  document.body.style.overflow = overflow.current;
61
61
  }
62
62
  }, [isOpen, popupController.items]);
@@ -1 +1 @@
1
- {"version":3,"file":"useDrawer.js","sources":["../../../../src/components/Drawer/hooks/useDrawer.ts"],"sourcesContent":["import { useCallback, useEffect, useRef } from 'react';\n\nimport { DrawerInfo, getIdLastDrawer, hasDrawers } from '../DrawerContext';\nimport { DrawerHookArgs } from '../Drawer.types';\nimport { usePopupContext } from '../../Popup';\nimport { canUseDOM } from '../../../utils';\n\nconst ESCAPE_KEYCODE = 27;\n\nexport const useDrawer = ({\n id,\n isOpen,\n popupInfo,\n onEscKeyDown,\n onClose,\n closeOnEsc = true,\n disableScroll = true,\n}: DrawerHookArgs) => {\n const popupController = usePopupContext();\n const overflow = useRef<string>(canUseDOM ? document.body.style.overflow : 'initial');\n\n // При ESC закрывает текущее окно, если это возможно\n const onKeyDown = useCallback(\n (event: KeyboardEvent) => {\n if (!closeOnEsc) {\n return;\n }\n if (event.keyCode === ESCAPE_KEYCODE && getIdLastDrawer(popupController.items) === id) {\n if (onEscKeyDown) {\n onEscKeyDown(event);\n return;\n }\n\n if (onClose) {\n onClose();\n }\n }\n },\n [onClose, onEscKeyDown, popupController.items, closeOnEsc],\n );\n\n useEffect(() => {\n window.addEventListener('keydown', onKeyDown);\n return () => {\n window.removeEventListener('keydown', onKeyDown);\n };\n }, [onKeyDown]);\n\n // linaria не поддерживает динамический global\n useEffect(() => {\n if (!canUseDOM) {\n return;\n }\n\n if (isOpen && disableScroll) {\n overflow.current = document.body.style.overflow;\n\n document.body.style.overflow = 'hidden';\n }\n }, [isOpen, disableScroll]);\n\n useEffect(() => {\n if (!canUseDOM) {\n return;\n }\n\n if (!isOpen && !hasDrawers(popupController.items)) {\n document.body.style.overflow = overflow.current;\n }\n }, [isOpen, popupController.items]);\n\n const drawerInfo: DrawerInfo = {\n id,\n info: {\n isDrawer: true,\n },\n ...popupInfo,\n };\n\n return { drawerInfo };\n};\n"],"names":["ESCAPE_KEYCODE","useDrawer","id","isOpen","popupInfo","onEscKeyDown","onClose","closeOnEsc","disableScroll","popupController","usePopupContext","overflow","useRef","canUseDOM","document","body","style","onKeyDown","useCallback","event","keyCode","getIdLastDrawer","items","useEffect","window","addEventListener","removeEventListener","current","hasDrawers","drawerInfo","info","isDrawer"],"mappings":";;;;;;;;;AAOA,MAAMA,cAAc,GAAG,EAAE,CAAA;AAElB,MAAMC,SAAS,GAAGA,CAAC;EACtBC,EAAE;EACFC,MAAM;EACNC,SAAS;EACTC,YAAY;EACZC,OAAO;AACPC,EAAAA,UAAU,GAAG,IAAI;AACjBC,EAAAA,aAAa,GAAG,IAAA;AACJ,CAAC,KAAK;AAClB,EAAA,MAAMC,eAAe,GAAGC,4BAAe,EAAE,CAAA;AACzC,EAAA,MAAMC,QAAQ,GAAGC,YAAM,CAASC,mBAAS,GAAGC,QAAQ,CAACC,IAAI,CAACC,KAAK,CAACL,QAAQ,GAAG,SAAS,CAAC,CAAA;;AAErF;AACA,EAAA,MAAMM,SAAS,GAAGC,iBAAW,CACxBC,KAAoB,IAAK;IACtB,IAAI,CAACZ,UAAU,EAAE;AACb,MAAA,OAAA;AACJ,KAAA;AACA,IAAA,IAAIY,KAAK,CAACC,OAAO,KAAKpB,cAAc,IAAIqB,6BAAe,CAACZ,eAAe,CAACa,KAAK,CAAC,KAAKpB,EAAE,EAAE;AACnF,MAAA,IAAIG,YAAY,EAAE;QACdA,YAAY,CAACc,KAAK,CAAC,CAAA;AACnB,QAAA,OAAA;AACJ,OAAA;AAEA,MAAA,IAAIb,OAAO,EAAE;AACTA,QAAAA,OAAO,EAAE,CAAA;AACb,OAAA;AACJ,KAAA;AACJ,GAAC,EACD,CAACA,OAAO,EAAED,YAAY,EAAEI,eAAe,CAACa,KAAK,EAAEf,UAAU,CAC7D,CAAC,CAAA;AAEDgB,EAAAA,eAAS,CAAC,MAAM;AACZC,IAAAA,MAAM,CAACC,gBAAgB,CAAC,SAAS,EAAER,SAAS,CAAC,CAAA;AAC7C,IAAA,OAAO,MAAM;AACTO,MAAAA,MAAM,CAACE,mBAAmB,CAAC,SAAS,EAAET,SAAS,CAAC,CAAA;KACnD,CAAA;AACL,GAAC,EAAE,CAACA,SAAS,CAAC,CAAC,CAAA;;AAEf;AACAM,EAAAA,eAAS,CAAC,MAAM;IACZ,IAAI,CAACV,mBAAS,EAAE;AACZ,MAAA,OAAA;AACJ,KAAA;IAEA,IAAIV,MAAM,IAAIK,aAAa,EAAE;MACzBG,QAAQ,CAACgB,OAAO,GAAGb,QAAQ,CAACC,IAAI,CAACC,KAAK,CAACL,QAAQ,CAAA;AAE/CG,MAAAA,QAAQ,CAACC,IAAI,CAACC,KAAK,CAACL,QAAQ,GAAG,QAAQ,CAAA;AAC3C,KAAA;AACJ,GAAC,EAAE,CAACR,MAAM,EAAEK,aAAa,CAAC,CAAC,CAAA;AAE3Be,EAAAA,eAAS,CAAC,MAAM;IACZ,IAAI,CAACV,mBAAS,EAAE;AACZ,MAAA,OAAA;AACJ,KAAA;IAEA,IAAI,CAACV,MAAM,IAAI,CAACyB,wBAAU,CAACnB,eAAe,CAACa,KAAK,CAAC,EAAE;MAC/CR,QAAQ,CAACC,IAAI,CAACC,KAAK,CAACL,QAAQ,GAAGA,QAAQ,CAACgB,OAAO,CAAA;AACnD,KAAA;GACH,EAAE,CAACxB,MAAM,EAAEM,eAAe,CAACa,KAAK,CAAC,CAAC,CAAA;AAEnC,EAAA,MAAMO,UAAsB,GAAG;IAC3B3B,EAAE;AACF4B,IAAAA,IAAI,EAAE;AACFC,MAAAA,QAAQ,EAAE,IAAA;KACb;IACD,GAAG3B,SAAAA;GACN,CAAA;EAED,OAAO;AAAEyB,IAAAA,UAAAA;GAAY,CAAA;AACzB;;;;"}
1
+ {"version":3,"file":"useDrawer.js","sources":["../../../../src/components/Drawer/hooks/useDrawer.ts"],"sourcesContent":["import { useCallback, useEffect, useRef } from 'react';\n\nimport { DrawerInfo, getIdLastDrawer, hasDrawers } from '../DrawerContext';\nimport { DrawerHookArgs } from '../Drawer.types';\nimport { usePopupContext } from '../../Popup';\nimport { canUseDOM } from '../../../utils';\n\nconst ESCAPE_KEYCODE = 27;\n\nexport const useDrawer = ({\n id,\n isOpen,\n popupInfo,\n onEscKeyDown,\n onClose,\n closeOnEsc = true,\n disableScroll = true,\n}: DrawerHookArgs) => {\n const popupController = usePopupContext();\n const overflow = useRef<string>(canUseDOM ? document.body.style.overflow : 'initial');\n\n // При ESC закрывает текущее окно, если это возможно\n const onKeyDown = useCallback(\n (event: KeyboardEvent) => {\n if (!closeOnEsc) {\n return;\n }\n if (\n event.keyCode === ESCAPE_KEYCODE &&\n getIdLastDrawer(Array.from(popupController.items.values())) === id\n ) {\n if (onEscKeyDown) {\n onEscKeyDown(event);\n return;\n }\n\n if (onClose) {\n onClose();\n }\n }\n },\n [onClose, onEscKeyDown, popupController.items, closeOnEsc],\n );\n\n useEffect(() => {\n window.addEventListener('keydown', onKeyDown);\n return () => {\n window.removeEventListener('keydown', onKeyDown);\n };\n }, [onKeyDown]);\n\n // linaria не поддерживает динамический global\n useEffect(() => {\n if (!canUseDOM) {\n return;\n }\n\n if (isOpen && disableScroll) {\n overflow.current = document.body.style.overflow;\n\n document.body.style.overflow = 'hidden';\n }\n }, [isOpen, disableScroll]);\n\n useEffect(() => {\n if (!canUseDOM) {\n return;\n }\n\n if (!isOpen && !hasDrawers(Array.from(popupController.items.values()))) {\n document.body.style.overflow = overflow.current;\n }\n }, [isOpen, popupController.items]);\n\n const drawerInfo: DrawerInfo = {\n id,\n info: {\n isDrawer: true,\n },\n ...popupInfo,\n };\n\n return { drawerInfo };\n};\n"],"names":["ESCAPE_KEYCODE","useDrawer","id","isOpen","popupInfo","onEscKeyDown","onClose","closeOnEsc","disableScroll","popupController","usePopupContext","overflow","useRef","canUseDOM","document","body","style","onKeyDown","useCallback","event","keyCode","getIdLastDrawer","Array","from","items","values","useEffect","window","addEventListener","removeEventListener","current","hasDrawers","drawerInfo","info","isDrawer"],"mappings":";;;;;;;;;AAOA,MAAMA,cAAc,GAAG,EAAE,CAAA;AAElB,MAAMC,SAAS,GAAGA,CAAC;EACtBC,EAAE;EACFC,MAAM;EACNC,SAAS;EACTC,YAAY;EACZC,OAAO;AACPC,EAAAA,UAAU,GAAG,IAAI;AACjBC,EAAAA,aAAa,GAAG,IAAA;AACJ,CAAC,KAAK;AAClB,EAAA,MAAMC,eAAe,GAAGC,4BAAe,EAAE,CAAA;AACzC,EAAA,MAAMC,QAAQ,GAAGC,YAAM,CAASC,mBAAS,GAAGC,QAAQ,CAACC,IAAI,CAACC,KAAK,CAACL,QAAQ,GAAG,SAAS,CAAC,CAAA;;AAErF;AACA,EAAA,MAAMM,SAAS,GAAGC,iBAAW,CACxBC,KAAoB,IAAK;IACtB,IAAI,CAACZ,UAAU,EAAE;AACb,MAAA,OAAA;AACJ,KAAA;IACA,IACIY,KAAK,CAACC,OAAO,KAAKpB,cAAc,IAChCqB,6BAAe,CAACC,KAAK,CAACC,IAAI,CAACd,eAAe,CAACe,KAAK,CAACC,MAAM,EAAE,CAAC,CAAC,KAAKvB,EAAE,EACpE;AACE,MAAA,IAAIG,YAAY,EAAE;QACdA,YAAY,CAACc,KAAK,CAAC,CAAA;AACnB,QAAA,OAAA;AACJ,OAAA;AAEA,MAAA,IAAIb,OAAO,EAAE;AACTA,QAAAA,OAAO,EAAE,CAAA;AACb,OAAA;AACJ,KAAA;AACJ,GAAC,EACD,CAACA,OAAO,EAAED,YAAY,EAAEI,eAAe,CAACe,KAAK,EAAEjB,UAAU,CAC7D,CAAC,CAAA;AAEDmB,EAAAA,eAAS,CAAC,MAAM;AACZC,IAAAA,MAAM,CAACC,gBAAgB,CAAC,SAAS,EAAEX,SAAS,CAAC,CAAA;AAC7C,IAAA,OAAO,MAAM;AACTU,MAAAA,MAAM,CAACE,mBAAmB,CAAC,SAAS,EAAEZ,SAAS,CAAC,CAAA;KACnD,CAAA;AACL,GAAC,EAAE,CAACA,SAAS,CAAC,CAAC,CAAA;;AAEf;AACAS,EAAAA,eAAS,CAAC,MAAM;IACZ,IAAI,CAACb,mBAAS,EAAE;AACZ,MAAA,OAAA;AACJ,KAAA;IAEA,IAAIV,MAAM,IAAIK,aAAa,EAAE;MACzBG,QAAQ,CAACmB,OAAO,GAAGhB,QAAQ,CAACC,IAAI,CAACC,KAAK,CAACL,QAAQ,CAAA;AAE/CG,MAAAA,QAAQ,CAACC,IAAI,CAACC,KAAK,CAACL,QAAQ,GAAG,QAAQ,CAAA;AAC3C,KAAA;AACJ,GAAC,EAAE,CAACR,MAAM,EAAEK,aAAa,CAAC,CAAC,CAAA;AAE3BkB,EAAAA,eAAS,CAAC,MAAM;IACZ,IAAI,CAACb,mBAAS,EAAE;AACZ,MAAA,OAAA;AACJ,KAAA;AAEA,IAAA,IAAI,CAACV,MAAM,IAAI,CAAC4B,wBAAU,CAACT,KAAK,CAACC,IAAI,CAACd,eAAe,CAACe,KAAK,CAACC,MAAM,EAAE,CAAC,CAAC,EAAE;MACpEX,QAAQ,CAACC,IAAI,CAACC,KAAK,CAACL,QAAQ,GAAGA,QAAQ,CAACmB,OAAO,CAAA;AACnD,KAAA;GACH,EAAE,CAAC3B,MAAM,EAAEM,eAAe,CAACe,KAAK,CAAC,CAAC,CAAA;AAEnC,EAAA,MAAMQ,UAAsB,GAAG;IAC3B9B,EAAE;AACF+B,IAAAA,IAAI,EAAE;AACFC,MAAAA,QAAQ,EAAE,IAAA;KACb;IACD,GAAG9B,SAAAA;GACN,CAAA;EAED,OAAO;AAAE4B,IAAAA,UAAAA;GAAY,CAAA;AACzB;;;;"}
@@ -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');
@@ -67,7 +67,7 @@ const dropdownRoot = Root => /*#__PURE__*/React.forwardRef(({
67
67
  const [pathMap, focusedToValueMap] = useHashMaps.useHashMaps(items);
68
68
  const activeDescendantItemValue = getItemByFocused.getItemByFocused(focusedPath, focusedToValueMap)?.value || '';
69
69
  const floatingPopoverRef = React.useRef(null);
70
- const treeId = plasmaCore.safeUseId();
70
+ const treeId = react.safeUseId();
71
71
 
72
72
  // Логика работы при клике за пределами выпадающего списка
73
73
  const targetRef = useOutsideClick.useOutsideClick(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","items","children","placement","offset","closeOnOverlayClick","onToggle","size","view","itemRole","className","listMaxHeight","listWidth","listHeight","listOverflow","closeOnSelect","onHover","onItemSelect","onItemClick","trigger","openByRightClick","variant","hasArrow","alwaysOpened","portal","renderItem","zIndex","beforeList","afterList","rest","ref","path","dispatchPath","useReducer","pathReducer","focusedPath","dispatchFocusedPath","focusedPathReducer","isCurrentListOpen","Boolean","pathMap","focusedToValueMap","useHashMaps","activeDescendantItemValue","getItemByFocused","value","floatingPopoverRef","useRef","treeId","safeUseId","targetRef","useOutsideClick","event","type","handleGlobalToggle","opened","onContextMenu","useCallback","e","preventDefault","onKeyDown","useKeyNavigation","React","createElement","Context","Provider","FloatingPopover","getPlacement","target","childrenWithProps","role","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","items","children","placement","offset","closeOnOverlayClick","onToggle","size","view","itemRole","className","listMaxHeight","listWidth","listHeight","listOverflow","closeOnSelect","onHover","onItemSelect","onItemClick","trigger","openByRightClick","variant","hasArrow","alwaysOpened","portal","renderItem","zIndex","beforeList","afterList","rest","ref","path","dispatchPath","useReducer","pathReducer","focusedPath","dispatchFocusedPath","focusedPathReducer","isCurrentListOpen","Boolean","pathMap","focusedToValueMap","useHashMaps","activeDescendantItemValue","getItemByFocused","value","floatingPopoverRef","useRef","treeId","safeUseId","targetRef","useOutsideClick","event","type","handleGlobalToggle","opened","onContextMenu","useCallback","e","preventDefault","onKeyDown","useKeyNavigation","React","createElement","Context","Provider","FloatingPopover","getPlacement","target","childrenWithProps","role","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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"}
@@ -4,7 +4,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var react = require('@floating-ui/react');
6
6
  var React = require('react');
7
- var plasmaCore = require('@salutejs/plasma-core');
7
+ var react$1 = require('../../utils/react.js');
8
8
 
9
9
  function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
10
10
 
@@ -44,7 +44,7 @@ const FloatingPopover = /*#__PURE__*/React.forwardRef(({
44
44
  fallbackAxisSideDirection: 'end'
45
45
  }), react.shift()]
46
46
  });
47
- const wrappedId = plasmaCore.safeUseId();
47
+ const wrappedId = react$1.safeUseId();
48
48
  const handleTargetClick = event => {
49
49
  if (trigger === 'hover') {
50
50
  return;