@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
@@ -1 +1 @@
1
- {"version":3,"file":"PopupContext.js","sources":["../../../src/components/Popup/PopupContext.tsx"],"sourcesContent":["import React, { createContext, useState, useContext, FC, PropsWithChildren, useRef } from 'react';\n\nimport { Portal } from '../Portal';\nimport { hasModals } from '../Modal/ModalContext';\nimport { canUseDOM, safeUseId } from '../../utils';\n\nimport { ClientOnlyPortal } from './ClientOnlyPortal';\nimport type { PopupContextType, PopupInfo } from './Popup.types';\nimport { StyledPortal } from './Popup.styles';\n\nexport const POPUP_PORTAL_ID = 'plasma-popup-root';\n\nconst items: PopupInfo[] = [];\n\nconst PopupContext = createContext<PopupContextType>({\n items,\n rootId: POPUP_PORTAL_ID,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n register(_info: PopupInfo): void {\n throw new Error('Function not implemented. Add PopupProvider');\n },\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n unregister(_id: string): void {\n throw new Error('Function not implemented. Add PopupProvider');\n },\n});\n\nexport const usePopupContext = () => useContext(PopupContext);\n\n// TODO: #1599\nexport const PopupProvider: FC<\n PropsWithChildren & {\n /**\n * @description Только для применения в рамках SSR.\n */\n UNSAFE_SSR_ENABLED?: boolean;\n }\n> = ({ children, UNSAFE_SSR_ENABLED }) => {\n const prevBodyOverflowY = useRef(canUseDOM ? document.body.style.overflowY : '');\n const [items, setItems] = useState<PopupInfo[]>([]);\n\n const uuid = safeUseId();\n const rootId = `${POPUP_PORTAL_ID}-${uuid}`;\n\n const register = (info: PopupInfo) => {\n if (!canUseDOM) {\n return;\n }\n\n setItems((prevItems) => {\n if (info.info?.isModal && !hasModals(prevItems)) {\n prevBodyOverflowY.current = document.body.style.overflowY;\n document.body.style.overflowY = 'hidden';\n }\n\n return [...prevItems, info];\n });\n };\n\n const unregister = (id: string) => {\n if (!canUseDOM) {\n return;\n }\n\n setItems((prevItems) => {\n const index = prevItems.findIndex((item: PopupInfo) => id === item.id);\n\n if (index === -1) {\n return prevItems;\n }\n\n const prevHasModals = hasModals(prevItems);\n prevItems.splice(index, 1);\n\n if (prevHasModals && !hasModals(prevItems)) {\n document.body.style.overflowY = prevBodyOverflowY.current;\n }\n\n // при return prevItems не обновится контекст\n return [...prevItems];\n });\n };\n\n const context = {\n items,\n rootId,\n register,\n unregister,\n };\n\n return (\n <PopupContext.Provider value={context}>\n {children}\n\n {UNSAFE_SSR_ENABLED ? (\n <ClientOnlyPortal>\n <StyledPortal id={rootId} />\n </ClientOnlyPortal>\n ) : (\n <Portal container={document.body}>\n <StyledPortal id={rootId} />\n </Portal>\n )}\n </PopupContext.Provider>\n );\n};\n"],"names":["POPUP_PORTAL_ID","items","PopupContext","createContext","rootId","register","_info","Error","unregister","_id","usePopupContext","useContext","PopupProvider","children","UNSAFE_SSR_ENABLED","prevBodyOverflowY","useRef","canUseDOM","document","body","style","overflowY","setItems","useState","uuid","safeUseId","info","prevItems","isModal","hasModals","current","id","index","findIndex","item","prevHasModals","splice","context","React","createElement","Provider","value","ClientOnlyPortal","StyledPortal","Portal","container"],"mappings":"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"}
1
+ {"version":3,"file":"PopupContext.js","sources":["../../../src/components/Popup/PopupContext.tsx"],"sourcesContent":["import React, { createContext, useState, useContext, FC, PropsWithChildren, useRef } from 'react';\nimport { canUseDOM, safeUseId } from 'src/utils';\n\nimport { Portal } from '../Portal';\nimport { hasModals } from '../Modal/ModalContext';\n\nimport { ClientOnlyPortal } from './ClientOnlyPortal';\nimport type { PopupContextType, PopupInfo } from './Popup.types';\nimport { StyledPortal } from './Popup.styles';\n\nexport const POPUP_PORTAL_ID = 'plasma-popup-root';\n\nconst initialItems = new Map<string, PopupInfo>();\n\nconst PopupContext = createContext<PopupContextType>({\n items: initialItems,\n rootId: POPUP_PORTAL_ID,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n register(_info: PopupInfo): void {\n throw new Error('Function not implemented. Add PopupProvider');\n },\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n unregister(_id: string): void {\n throw new Error('Function not implemented. Add PopupProvider');\n },\n});\n\nexport const usePopupContext = () => useContext(PopupContext);\n\n// TODO: #1599\nexport const PopupProvider: FC<\n PropsWithChildren & {\n /**\n * @description Только для применения в рамках SSR.\n */\n UNSAFE_SSR_ENABLED?: boolean;\n }\n> = ({ children, UNSAFE_SSR_ENABLED }) => {\n const prevBodyOverflowY = useRef(canUseDOM ? document.body.style.overflowY : '');\n const [items, setItems] = useState(initialItems);\n\n const uuid = safeUseId();\n const rootId = `${POPUP_PORTAL_ID}-${uuid}`;\n\n const register = (info: PopupInfo) => {\n if (!canUseDOM) {\n return;\n }\n\n setItems((prevItems) => {\n const newItems = new Map(prevItems);\n\n if (info.info?.isModal && !hasModals(Array.from(prevItems.values()))) {\n prevBodyOverflowY.current = document.body.style.overflowY;\n document.body.style.overflowY = 'hidden';\n }\n\n newItems.set(info.id, info);\n return newItems;\n });\n };\n\n const unregister = (id: string) => {\n if (!canUseDOM) {\n return;\n }\n\n setItems((prevItems) => {\n if (!prevItems.has(id)) {\n return prevItems;\n }\n\n const newItems = new Map(prevItems);\n const prevHasModals = hasModals(Array.from(newItems.values()));\n\n newItems.delete(id);\n\n if (prevHasModals && !hasModals(Array.from(newItems.values()))) {\n document.body.style.overflowY = prevBodyOverflowY.current;\n }\n\n return newItems;\n });\n };\n\n const context = {\n items,\n rootId,\n register,\n unregister,\n };\n\n return (\n <PopupContext.Provider value={context}>\n {children}\n\n {UNSAFE_SSR_ENABLED ? (\n <ClientOnlyPortal>\n <StyledPortal id={rootId} />\n </ClientOnlyPortal>\n ) : (\n <Portal container={document.body}>\n <StyledPortal id={rootId} />\n </Portal>\n )}\n </PopupContext.Provider>\n );\n};\n"],"names":["POPUP_PORTAL_ID","initialItems","Map","PopupContext","createContext","items","rootId","register","_info","Error","unregister","_id","usePopupContext","useContext","PopupProvider","children","UNSAFE_SSR_ENABLED","prevBodyOverflowY","useRef","canUseDOM","document","body","style","overflowY","setItems","useState","uuid","safeUseId","info","prevItems","newItems","isModal","hasModals","Array","from","values","current","set","id","has","prevHasModals","delete","context","React","createElement","Provider","value","ClientOnlyPortal","StyledPortal","Portal","container"],"mappings":"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"}
@@ -5,14 +5,15 @@ 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 Checkbox_styles = require('../Checkbox/Checkbox.styles.js');
9
8
  var index = require('../../utils/index.js');
9
+ var Checkbox_styles = require('../Checkbox/Checkbox.styles.js');
10
10
  var base$1 = require('./variations/_view/base.js');
11
11
  var base = require('./variations/_size/base.js');
12
12
  var base$2 = require('./variations/_disabled/base.js');
13
13
  var base$3 = require('./variations/_focused/base.js');
14
14
  var Radiobox_styles = require('./Radiobox.styles.js');
15
15
  var Radiobox_tokens = require('./Radiobox.tokens.js');
16
+ var react = require('../../utils/react.js');
16
17
 
17
18
  function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
18
19
 
@@ -33,7 +34,7 @@ const radioboxRoot = Root => /*#__PURE__*/React.forwardRef((props, ref) => {
33
34
  'aria-label': ariaLabelExternal,
34
35
  ...rest
35
36
  } = props;
36
- const uniqId = plasmaCore.safeUseId();
37
+ const uniqId = react.safeUseId();
37
38
  const uniqLabelId = `label-${uniqId}`;
38
39
  const uniqDescriptionId = `description-${uniqId}`;
39
40
  const radioboxId = id || `input-${uniqId}`;
@@ -1 +1 @@
1
- {"version":3,"file":"Radiobox.js","sources":["../../../src/components/Radiobox/Radiobox.tsx"],"sourcesContent":["import React, { forwardRef, useMemo } from 'react';\nimport { safeUseId, extractTextFrom } from '@salutejs/plasma-core';\n\nimport type { InputHTMLAttributes } from '../../types';\nimport type { Filter, RootProps } from '../../engines/types';\nimport {\n StyledContentWrapper,\n StyledDescription,\n StyledInput,\n StyledLabel,\n StyledContent,\n StyledTrigger,\n StyledTriggerWrapper,\n} from '../Checkbox/Checkbox.styles';\nimport { BaseboxProps } from '../Checkbox/Checkbox.types';\nimport { cx } from '../../utils';\n\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as sizeCSS } from './variations/_size/base';\nimport { base as disabledCSS } from './variations/_disabled/base';\nimport { base as focusedCSS } from './variations/_focused/base';\nimport { StyledEllipse, base } from './Radiobox.styles';\nimport { classes } from './Radiobox.tokens';\n\ntype RadioboxProps = Filter<InputHTMLAttributes<HTMLInputElement>, 'size'> &\n Omit<BaseboxProps, 'indeterminate' | 'appearance'>;\n\nexport const radioboxRoot = (Root: RootProps<HTMLInputElement, RadioboxProps>) =>\n forwardRef<HTMLInputElement, RadioboxProps>((props, ref) => {\n const {\n size,\n view,\n focused,\n disabled,\n id,\n label,\n description,\n style,\n className,\n singleLine = false,\n 'aria-label': ariaLabelExternal,\n ...rest\n } = props;\n\n const uniqId = safeUseId();\n const uniqLabelId = `label-${uniqId}`;\n const uniqDescriptionId = `description-${uniqId}`;\n const radioboxId = id || `input-${uniqId}`;\n\n const ariaLabel = useMemo(() => ariaLabelExternal || extractTextFrom(label), [ariaLabelExternal, label]);\n const isLabelAriaHidden = typeof label === 'string';\n const canFocused = focused ? 0 : -1;\n const hasContent = label || description;\n const singleLineClass = singleLine ? classes.singleLine : undefined;\n const onlyDescriptionClass = !label && description ? classes.onlyDescription : undefined;\n\n return (\n <Root\n view={view}\n size={size}\n disabled={disabled}\n focused={focused}\n style={style}\n className={className}\n tabIndex={-1}\n >\n <StyledInput\n {...rest}\n id={radioboxId}\n ref={ref}\n type=\"radio\"\n disabled={disabled}\n aria-label={ariaLabel}\n aria-describedby={uniqDescriptionId}\n tabIndex={canFocused}\n />\n <StyledContentWrapper htmlFor={radioboxId} className={singleLineClass}>\n <StyledTriggerWrapper>\n <StyledTrigger className={classes.radioboxTrigger}>\n <StyledEllipse />\n </StyledTrigger>\n </StyledTriggerWrapper>\n {hasContent && (\n <StyledContent className={singleLineClass}>\n {label && (\n <StyledLabel\n className={cx(singleLineClass, onlyDescriptionClass)}\n id={uniqLabelId}\n aria-hidden={isLabelAriaHidden}\n >\n {label}\n </StyledLabel>\n )}\n {description && (\n <StyledDescription className={singleLineClass} id={uniqDescriptionId}>\n {description}\n </StyledDescription>\n )}\n </StyledContent>\n )}\n </StyledContentWrapper>\n </Root>\n );\n });\n\nexport const radioboxConfig = {\n name: 'Radiobox',\n tag: 'div',\n layout: radioboxRoot,\n base,\n variations: {\n size: {\n css: sizeCSS,\n },\n view: {\n css: viewCSS,\n },\n disabled: {\n css: disabledCSS,\n },\n focused: {\n css: focusedCSS,\n },\n },\n defaults: {\n size: 'm',\n view: 'accent',\n },\n};\n"],"names":["radioboxRoot","Root","forwardRef","props","ref","size","view","focused","disabled","id","label","description","style","className","singleLine","ariaLabelExternal","rest","uniqId","safeUseId","uniqLabelId","uniqDescriptionId","radioboxId","ariaLabel","useMemo","extractTextFrom","isLabelAriaHidden","canFocused","hasContent","singleLineClass","classes","undefined","onlyDescriptionClass","onlyDescription","React","createElement","tabIndex","StyledInput","_extends","type","StyledContentWrapper","htmlFor","StyledTriggerWrapper","StyledTrigger","radioboxTrigger","StyledEllipse","StyledContent","StyledLabel","cx","StyledDescription","radioboxConfig","name","tag","layout","base","variations","css","sizeCSS","viewCSS","disabledCSS","focusedCSS","defaults"],"mappings":"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"}
1
+ {"version":3,"file":"Radiobox.js","sources":["../../../src/components/Radiobox/Radiobox.tsx"],"sourcesContent":["import React, { forwardRef, useMemo } from 'react';\nimport { extractTextFrom } from '@salutejs/plasma-core';\nimport { safeUseId, cx } from 'src/utils';\nimport type { InputHTMLAttributes } from 'src/types';\nimport type { Filter, RootProps } from 'src/engines/types';\n\nimport {\n StyledContentWrapper,\n StyledDescription,\n StyledInput,\n StyledLabel,\n StyledContent,\n StyledTrigger,\n StyledTriggerWrapper,\n} from '../Checkbox/Checkbox.styles';\nimport { BaseboxProps } from '../Checkbox/Checkbox.types';\n\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as sizeCSS } from './variations/_size/base';\nimport { base as disabledCSS } from './variations/_disabled/base';\nimport { base as focusedCSS } from './variations/_focused/base';\nimport { StyledEllipse, base } from './Radiobox.styles';\nimport { classes } from './Radiobox.tokens';\n\ntype RadioboxProps = Filter<InputHTMLAttributes<HTMLInputElement>, 'size'> &\n Omit<BaseboxProps, 'indeterminate' | 'appearance'>;\n\nexport const radioboxRoot = (Root: RootProps<HTMLInputElement, RadioboxProps>) =>\n forwardRef<HTMLInputElement, RadioboxProps>((props, ref) => {\n const {\n size,\n view,\n focused,\n disabled,\n id,\n label,\n description,\n style,\n className,\n singleLine = false,\n 'aria-label': ariaLabelExternal,\n ...rest\n } = props;\n\n const uniqId = safeUseId();\n const uniqLabelId = `label-${uniqId}`;\n const uniqDescriptionId = `description-${uniqId}`;\n const radioboxId = id || `input-${uniqId}`;\n\n const ariaLabel = useMemo(() => ariaLabelExternal || extractTextFrom(label), [ariaLabelExternal, label]);\n const isLabelAriaHidden = typeof label === 'string';\n const canFocused = focused ? 0 : -1;\n const hasContent = label || description;\n const singleLineClass = singleLine ? classes.singleLine : undefined;\n const onlyDescriptionClass = !label && description ? classes.onlyDescription : undefined;\n\n return (\n <Root\n view={view}\n size={size}\n disabled={disabled}\n focused={focused}\n style={style}\n className={className}\n tabIndex={-1}\n >\n <StyledInput\n {...rest}\n id={radioboxId}\n ref={ref}\n type=\"radio\"\n disabled={disabled}\n aria-label={ariaLabel}\n aria-describedby={uniqDescriptionId}\n tabIndex={canFocused}\n />\n <StyledContentWrapper htmlFor={radioboxId} className={singleLineClass}>\n <StyledTriggerWrapper>\n <StyledTrigger className={classes.radioboxTrigger}>\n <StyledEllipse />\n </StyledTrigger>\n </StyledTriggerWrapper>\n {hasContent && (\n <StyledContent className={singleLineClass}>\n {label && (\n <StyledLabel\n className={cx(singleLineClass, onlyDescriptionClass)}\n id={uniqLabelId}\n aria-hidden={isLabelAriaHidden}\n >\n {label}\n </StyledLabel>\n )}\n {description && (\n <StyledDescription className={singleLineClass} id={uniqDescriptionId}>\n {description}\n </StyledDescription>\n )}\n </StyledContent>\n )}\n </StyledContentWrapper>\n </Root>\n );\n });\n\nexport const radioboxConfig = {\n name: 'Radiobox',\n tag: 'div',\n layout: radioboxRoot,\n base,\n variations: {\n size: {\n css: sizeCSS,\n },\n view: {\n css: viewCSS,\n },\n disabled: {\n css: disabledCSS,\n },\n focused: {\n css: focusedCSS,\n },\n },\n defaults: {\n size: 'm',\n view: 'accent',\n },\n};\n"],"names":["radioboxRoot","Root","forwardRef","props","ref","size","view","focused","disabled","id","label","description","style","className","singleLine","ariaLabelExternal","rest","uniqId","safeUseId","uniqLabelId","uniqDescriptionId","radioboxId","ariaLabel","useMemo","extractTextFrom","isLabelAriaHidden","canFocused","hasContent","singleLineClass","classes","undefined","onlyDescriptionClass","onlyDescription","React","createElement","tabIndex","StyledInput","_extends","type","StyledContentWrapper","htmlFor","StyledTriggerWrapper","StyledTrigger","radioboxTrigger","StyledEllipse","StyledContent","StyledLabel","cx","StyledDescription","radioboxConfig","name","tag","layout","base","variations","css","sizeCSS","viewCSS","disabledCSS","focusedCSS","defaults"],"mappings":"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"}
@@ -4,9 +4,8 @@ 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
- var tokens = require('../../tokens.js');
9
7
  var index = require('../../../../utils/index.js');
8
+ var tokens = require('../../tokens.js');
10
9
  var SegmentProvider = require('../../SegmentProvider/SegmentProvider.js');
11
10
  var base = require('./variations/_size/base.js');
12
11
  var base$1 = require('./variations/_view/base.js');
@@ -16,6 +15,7 @@ var base$6 = require('./variations/_filledBackgound/base.js');
16
15
  var base$4 = require('./variations/_stretch/base.js');
17
16
  var base$5 = require('./variations/_orientation/base.js');
18
17
  var SegmentGroup_styles = require('./SegmentGroup.styles.js');
18
+ var react = require('../../../../utils/react.js');
19
19
  var IconDisclosureUpWithOffset = require('../../../_Icon/Icons/IconDisclosureUpWithOffset.js');
20
20
  var IconDisclosureLeftWithOffset = require('../../../_Icon/Icons/IconDisclosureLeftWithOffset.js');
21
21
  var IconDisclosureDownWithOffset = require('../../../_Icon/Icons/IconDisclosureDownWithOffset.js');
@@ -61,7 +61,7 @@ const segmentGroupRoot = Root => /*#__PURE__*/React.forwardRef((props, outerRef)
61
61
  } = SegmentProvider.useSegmentInner();
62
62
  const [firstItemVisible, setFirstItemVisible] = React.useState(true);
63
63
  const [lastItemVisible, setLastItemVisible] = React.useState(true);
64
- const uniqId = plasmaCore.safeUseId();
64
+ const uniqId = react.safeUseId();
65
65
  const segmentGroupId = id || uniqId;
66
66
  const canClip = clip && !stretch;
67
67
  const isVertical = orientation === 'vertical';
@@ -1 +1 @@
1
- {"version":3,"file":"SegmentGroup.js","sources":["../../../../../src/components/Segment/ui/SegmentGroup/SegmentGroup.tsx"],"sourcesContent":["import React, { forwardRef, useCallback, useMemo, useState, useEffect, useRef, KeyboardEvent } from 'react';\nimport type { RefObject, MutableRefObject } from 'react';\nimport { safeUseId } from '@salutejs/plasma-core';\n\nimport type { RootProps } from '../../../../engines/types';\nimport {\n IconDisclosureLeftWithOffset,\n IconDisclosureRightWithOffset,\n IconDisclosureDownWithOffset,\n IconDisclosureUpWithOffset,\n} from '../../../_Icon';\nimport { classes, tokens } from '../../tokens';\nimport { cx } from '../../../../utils';\nimport { useSegmentInner } from '../../SegmentProvider/SegmentProvider';\n\nimport { base as sizeCSS } from './variations/_size/base';\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as disabledCSS } from './variations/_disabled/base';\nimport { base as pilledCSS } from './variations/_pilled/base';\nimport { base as filledBackgroundCSS } from './variations/_filledBackgound/base';\nimport { base as stretchCSS } from './variations/_stretch/base';\nimport { base as orientationCSS } from './variations/_orientation/base';\nimport type { SegmentGroupProps } from './SegmentGroup.types';\nimport {\n StyledContent,\n StyledContentWrapper,\n base,\n StyledLeftArrow,\n StyledRightArrow,\n StyledTopArrow,\n StyledBottomArrow,\n} from './SegmentGroup.styles';\n\nenum Keys {\n end = 35,\n home = 36,\n left = 37,\n right = 39,\n}\n\nexport const getChildNodes = (wrapper: HTMLElement | null) => {\n const container = wrapper?.firstChild;\n return container ? (Array.from(container?.childNodes) as HTMLElement[]) : [];\n};\n\nexport const segmentGroupRoot = (Root: RootProps<HTMLDivElement, SegmentGroupProps>) =>\n forwardRef<HTMLDivElement, SegmentGroupProps>((props, outerRef) => {\n const {\n id,\n selectionMode,\n pilled,\n stretch,\n clip = true,\n orientation = 'horizontal',\n filledBackground = false,\n hasBackground = false,\n disabled = false,\n size,\n view,\n children,\n ...rest\n } = props;\n\n const scrollRef = useRef<HTMLElement | null>(null);\n const trackRef = useRef<HTMLElement | null>(null);\n const leftArrowRef = useRef<HTMLButtonElement | null>(null);\n\n const { setSelectionMode, setDisabledGroup } = useSegmentInner();\n\n const [firstItemVisible, setFirstItemVisible] = useState(true);\n const [lastItemVisible, setLastItemVisible] = useState(true);\n\n const uniqId = safeUseId();\n const segmentGroupId = id || uniqId;\n\n const canClip = clip && !stretch;\n\n const isVertical = orientation === 'vertical';\n const stretchClass =\n (clip ? firstItemVisible && lastItemVisible : true) && stretch ? classes.segmentStretch : undefined;\n\n const orientationClass = isVertical ? classes.segmentVertical : undefined;\n const clipScrollClass = canClip ? classes.segmentGroupClipScroll : undefined;\n\n const pilledAttr = (view !== 'clear' || hasBackground) && pilled;\n const filledBackgroundAttr = (view !== 'clear' && filledBackground) || hasBackground;\n\n const pilledClass = pilledAttr ? classes.segmentPilled : undefined;\n const filledClass = filledBackgroundAttr ? classes.segmentGroupFilledBackground : undefined;\n\n const onPrev = useCallback(() => {\n if (disabled || !scrollRef.current) {\n return;\n }\n\n const childNodes = getChildNodes(scrollRef.current);\n\n const scrollLeft = Math.round(scrollRef.current.scrollLeft);\n const firstOverflowingTab = childNodes\n .slice()\n .reverse()\n .find((child: HTMLElement | null) => {\n if (!child || child.offsetLeft === undefined) {\n return;\n }\n const tabStartX = child.offsetLeft;\n\n return tabStartX < scrollLeft;\n });\n\n firstOverflowingTab?.scrollIntoView({ block: 'nearest', inline: 'nearest' });\n }, [disabled, scrollRef]);\n\n const onNext = useCallback(() => {\n if (disabled || !scrollRef.current) {\n return;\n }\n\n const scrollRight = Math.round(scrollRef.current.scrollLeft + scrollRef.current.clientWidth);\n\n const childNodes = getChildNodes(scrollRef.current);\n\n const lastOverflowingChild = childNodes.find((child) => {\n if (!child || child.offsetLeft === undefined) {\n return;\n }\n const tabEndX = child.offsetLeft + child.offsetWidth;\n\n return tabEndX > scrollRight;\n });\n\n lastOverflowingChild?.scrollIntoView({ block: 'nearest', inline: 'nearest' });\n }, [disabled, scrollRef]);\n\n const onKeyDown = useCallback((event: KeyboardEvent<HTMLDivElement>) => {\n const childNodes = getChildNodes(scrollRef?.current);\n\n const index = childNodes.findIndex((child) => document.activeElement === child);\n\n const minIndex = 0;\n const maxIndex = childNodes.length - 1;\n let nextIndex: number;\n\n switch (event.keyCode) {\n case Keys.end:\n nextIndex = maxIndex;\n break;\n case Keys.left:\n nextIndex = index > minIndex ? index - 1 : index;\n break;\n case Keys.right:\n nextIndex = index < maxIndex ? index + 1 : index;\n break;\n case Keys.home:\n nextIndex = minIndex;\n break;\n default:\n return;\n }\n\n if (nextIndex !== index) {\n event.preventDefault();\n childNodes[nextIndex]?.focus();\n childNodes[nextIndex]?.scrollIntoView({\n block: 'center',\n inline: 'center',\n behavior: 'smooth',\n });\n }\n }, []);\n\n const handleScroll = useCallback(\n (event: React.UIEvent<HTMLElement>): void => {\n event.stopPropagation?.();\n\n if (!canClip) {\n setFirstItemVisible(true);\n setLastItemVisible(true);\n return;\n }\n\n if (isVertical) {\n const maxScrollTop = event.currentTarget.scrollHeight - event.currentTarget.clientHeight;\n const scrollTop = Math.round(event.currentTarget.scrollTop);\n\n setFirstItemVisible(scrollTop <= 0);\n setLastItemVisible(scrollTop >= maxScrollTop);\n return;\n }\n\n const maxScrollLeft = event.currentTarget.scrollWidth - event.currentTarget.clientWidth;\n const scrollLeft = Math.round(event.currentTarget.scrollLeft);\n\n setFirstItemVisible(scrollLeft <= 0);\n setLastItemVisible(scrollLeft >= maxScrollLeft);\n },\n [isVertical, canClip],\n );\n\n useEffect(() => {\n handleScroll(({ currentTarget: scrollRef.current } as unknown) as React.UIEvent<HTMLElement>);\n }, [handleScroll]);\n\n useEffect(() => {\n if (!canClip) {\n setLastItemVisible(true);\n return;\n }\n\n setLastItemVisible(\n isVertical\n ? scrollRef.current?.scrollHeight === scrollRef.current?.clientHeight\n : scrollRef.current?.scrollWidth === scrollRef.current?.clientWidth,\n );\n }, [isVertical, canClip]);\n\n // Этот хук компенсирует появление левой/верхней стрелки при прокрутке\n useEffect(() => {\n if (firstItemVisible || !scrollRef.current || !leftArrowRef.current) {\n return;\n }\n\n if (isVertical) {\n scrollRef.current.scrollTo({\n top: Math.round(scrollRef.current.scrollTop + leftArrowRef.current.clientHeight),\n });\n return;\n }\n\n scrollRef.current.scrollTo({\n left: Math.round(scrollRef.current.scrollLeft + leftArrowRef.current.clientWidth),\n });\n }, [firstItemVisible, isVertical]);\n\n const PreviousButton = useMemo(() => {\n const ArrowNode = isVertical ? StyledTopArrow : StyledLeftArrow;\n return (\n <ArrowNode\n type=\"button\"\n aria-label=\"Предыдущий сегмент\"\n onClick={onPrev}\n tabIndex={disabled ? -1 : 0}\n disabled={disabled}\n >\n {isVertical ? (\n <IconDisclosureUpWithOffset color={`var(${tokens.arrowColor})`} size=\"s\" />\n ) : (\n <IconDisclosureLeftWithOffset color={`var(${tokens.arrowColor})`} />\n )}\n </ArrowNode>\n );\n }, [onPrev, isVertical]);\n\n const NextButton = useMemo(() => {\n const ArrowNode = isVertical ? StyledBottomArrow : StyledRightArrow;\n return (\n <ArrowNode\n type=\"button\"\n aria-label=\"Следующий сегмент\"\n onClick={onNext}\n tabIndex={disabled ? -1 : 0}\n disabled={disabled}\n >\n {isVertical ? (\n <IconDisclosureDownWithOffset color={`var(${tokens.arrowColor})`} size=\"s\" />\n ) : (\n <IconDisclosureRightWithOffset color={`var(${tokens.arrowColor})`} />\n )}\n </ArrowNode>\n );\n }, [onNext, isVertical]);\n\n useEffect(() => {\n selectionMode && setSelectionMode(selectionMode);\n setDisabledGroup(disabled);\n }, [selectionMode, disabled]);\n\n return (\n <Root\n view={view}\n size={size}\n orientation={orientation}\n id={segmentGroupId}\n ref={outerRef}\n filledBackground={filledBackgroundAttr}\n disabled={disabled}\n pilled={pilledAttr}\n className={cx(pilledClass, filledClass, stretchClass, orientationClass)}\n onKeyDown={onKeyDown}\n {...rest}\n >\n {!firstItemVisible && PreviousButton}\n <StyledContentWrapper\n className={cx(clipScrollClass)}\n ref={scrollRef as RefObject<HTMLDivElement>}\n onScroll={handleScroll}\n >\n <StyledContent ref={trackRef as MutableRefObject<HTMLDivElement | null>}>{children}</StyledContent>\n </StyledContentWrapper>\n {!lastItemVisible && NextButton}\n </Root>\n );\n });\n\nexport const segmentGroupConfig = {\n name: 'SegmentGroup',\n tag: 'div',\n layout: segmentGroupRoot,\n base,\n variations: {\n size: {\n css: sizeCSS,\n },\n view: {\n css: viewCSS,\n },\n disabled: {\n css: disabledCSS,\n attrs: true,\n },\n pilled: {\n css: pilledCSS,\n attrs: true,\n },\n stretch: {\n css: stretchCSS,\n attrs: true,\n },\n orientation: {\n css: orientationCSS,\n },\n filledBackground: {\n css: filledBackgroundCSS,\n attrs: true,\n },\n },\n defaults: {\n view: 'clear',\n size: 'xs',\n },\n};\n"],"names":["Keys","getChildNodes","wrapper","container","firstChild","Array","from","childNodes","segmentGroupRoot","Root","forwardRef","props","outerRef","id","selectionMode","pilled","stretch","clip","orientation","filledBackground","hasBackground","disabled","size","view","children","rest","scrollRef","useRef","trackRef","leftArrowRef","setSelectionMode","setDisabledGroup","useSegmentInner","firstItemVisible","setFirstItemVisible","useState","lastItemVisible","setLastItemVisible","uniqId","safeUseId","segmentGroupId","canClip","isVertical","stretchClass","classes","segmentStretch","undefined","orientationClass","segmentVertical","clipScrollClass","segmentGroupClipScroll","pilledAttr","filledBackgroundAttr","pilledClass","segmentPilled","filledClass","segmentGroupFilledBackground","onPrev","useCallback","current","scrollLeft","Math","round","firstOverflowingTab","slice","reverse","find","child","offsetLeft","tabStartX","scrollIntoView","block","inline","onNext","scrollRight","clientWidth","lastOverflowingChild","tabEndX","offsetWidth","onKeyDown","event","index","findIndex","document","activeElement","minIndex","maxIndex","length","nextIndex","keyCode","end","left","right","home","preventDefault","focus","behavior","handleScroll","stopPropagation","maxScrollTop","currentTarget","scrollHeight","clientHeight","scrollTop","maxScrollLeft","scrollWidth","useEffect","scrollTo","top","PreviousButton","useMemo","ArrowNode","StyledTopArrow","StyledLeftArrow","React","createElement","type","onClick","tabIndex","IconDisclosureUpWithOffset","color","tokens","arrowColor","IconDisclosureLeftWithOffset","NextButton","StyledBottomArrow","StyledRightArrow","IconDisclosureDownWithOffset","IconDisclosureRightWithOffset","_extends","ref","className","cx","StyledContentWrapper","onScroll","StyledContent","segmentGroupConfig","name","tag","layout","base","variations","css","sizeCSS","viewCSS","disabledCSS","attrs","pilledCSS","stretchCSS","orientationCSS","filledBackgroundCSS","defaults"],"mappings":"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"}
1
+ {"version":3,"file":"SegmentGroup.js","sources":["../../../../../src/components/Segment/ui/SegmentGroup/SegmentGroup.tsx"],"sourcesContent":["import React, { forwardRef, useCallback, useMemo, useState, useEffect, useRef, KeyboardEvent } from 'react';\nimport type { RefObject, MutableRefObject } from 'react';\nimport { safeUseId, cx } from 'src/utils';\nimport type { RootProps } from 'src/engines/types';\n\nimport {\n IconDisclosureLeftWithOffset,\n IconDisclosureRightWithOffset,\n IconDisclosureDownWithOffset,\n IconDisclosureUpWithOffset,\n} from '../../../_Icon';\nimport { classes, tokens } from '../../tokens';\nimport { useSegmentInner } from '../../SegmentProvider/SegmentProvider';\n\nimport { base as sizeCSS } from './variations/_size/base';\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as disabledCSS } from './variations/_disabled/base';\nimport { base as pilledCSS } from './variations/_pilled/base';\nimport { base as filledBackgroundCSS } from './variations/_filledBackgound/base';\nimport { base as stretchCSS } from './variations/_stretch/base';\nimport { base as orientationCSS } from './variations/_orientation/base';\nimport type { SegmentGroupProps } from './SegmentGroup.types';\nimport {\n StyledContent,\n StyledContentWrapper,\n base,\n StyledLeftArrow,\n StyledRightArrow,\n StyledTopArrow,\n StyledBottomArrow,\n} from './SegmentGroup.styles';\n\nenum Keys {\n end = 35,\n home = 36,\n left = 37,\n right = 39,\n}\n\nexport const getChildNodes = (wrapper: HTMLElement | null) => {\n const container = wrapper?.firstChild;\n return container ? (Array.from(container?.childNodes) as HTMLElement[]) : [];\n};\n\nexport const segmentGroupRoot = (Root: RootProps<HTMLDivElement, SegmentGroupProps>) =>\n forwardRef<HTMLDivElement, SegmentGroupProps>((props, outerRef) => {\n const {\n id,\n selectionMode,\n pilled,\n stretch,\n clip = true,\n orientation = 'horizontal',\n filledBackground = false,\n hasBackground = false,\n disabled = false,\n size,\n view,\n children,\n ...rest\n } = props;\n\n const scrollRef = useRef<HTMLElement | null>(null);\n const trackRef = useRef<HTMLElement | null>(null);\n const leftArrowRef = useRef<HTMLButtonElement | null>(null);\n\n const { setSelectionMode, setDisabledGroup } = useSegmentInner();\n\n const [firstItemVisible, setFirstItemVisible] = useState(true);\n const [lastItemVisible, setLastItemVisible] = useState(true);\n\n const uniqId = safeUseId();\n const segmentGroupId = id || uniqId;\n\n const canClip = clip && !stretch;\n\n const isVertical = orientation === 'vertical';\n const stretchClass =\n (clip ? firstItemVisible && lastItemVisible : true) && stretch ? classes.segmentStretch : undefined;\n\n const orientationClass = isVertical ? classes.segmentVertical : undefined;\n const clipScrollClass = canClip ? classes.segmentGroupClipScroll : undefined;\n\n const pilledAttr = (view !== 'clear' || hasBackground) && pilled;\n const filledBackgroundAttr = (view !== 'clear' && filledBackground) || hasBackground;\n\n const pilledClass = pilledAttr ? classes.segmentPilled : undefined;\n const filledClass = filledBackgroundAttr ? classes.segmentGroupFilledBackground : undefined;\n\n const onPrev = useCallback(() => {\n if (disabled || !scrollRef.current) {\n return;\n }\n\n const childNodes = getChildNodes(scrollRef.current);\n\n const scrollLeft = Math.round(scrollRef.current.scrollLeft);\n const firstOverflowingTab = childNodes\n .slice()\n .reverse()\n .find((child: HTMLElement | null) => {\n if (!child || child.offsetLeft === undefined) {\n return;\n }\n const tabStartX = child.offsetLeft;\n\n return tabStartX < scrollLeft;\n });\n\n firstOverflowingTab?.scrollIntoView({ block: 'nearest', inline: 'nearest' });\n }, [disabled, scrollRef]);\n\n const onNext = useCallback(() => {\n if (disabled || !scrollRef.current) {\n return;\n }\n\n const scrollRight = Math.round(scrollRef.current.scrollLeft + scrollRef.current.clientWidth);\n\n const childNodes = getChildNodes(scrollRef.current);\n\n const lastOverflowingChild = childNodes.find((child) => {\n if (!child || child.offsetLeft === undefined) {\n return;\n }\n const tabEndX = child.offsetLeft + child.offsetWidth;\n\n return tabEndX > scrollRight;\n });\n\n lastOverflowingChild?.scrollIntoView({ block: 'nearest', inline: 'nearest' });\n }, [disabled, scrollRef]);\n\n const onKeyDown = useCallback((event: KeyboardEvent<HTMLDivElement>) => {\n const childNodes = getChildNodes(scrollRef?.current);\n\n const index = childNodes.findIndex((child) => document.activeElement === child);\n\n const minIndex = 0;\n const maxIndex = childNodes.length - 1;\n let nextIndex: number;\n\n switch (event.keyCode) {\n case Keys.end:\n nextIndex = maxIndex;\n break;\n case Keys.left:\n nextIndex = index > minIndex ? index - 1 : index;\n break;\n case Keys.right:\n nextIndex = index < maxIndex ? index + 1 : index;\n break;\n case Keys.home:\n nextIndex = minIndex;\n break;\n default:\n return;\n }\n\n if (nextIndex !== index) {\n event.preventDefault();\n childNodes[nextIndex]?.focus();\n childNodes[nextIndex]?.scrollIntoView({\n block: 'center',\n inline: 'center',\n behavior: 'smooth',\n });\n }\n }, []);\n\n const handleScroll = useCallback(\n (event: React.UIEvent<HTMLElement>): void => {\n event.stopPropagation?.();\n\n if (!canClip) {\n setFirstItemVisible(true);\n setLastItemVisible(true);\n return;\n }\n\n if (isVertical) {\n const maxScrollTop = event.currentTarget.scrollHeight - event.currentTarget.clientHeight;\n const scrollTop = Math.round(event.currentTarget.scrollTop);\n\n setFirstItemVisible(scrollTop <= 0);\n setLastItemVisible(scrollTop >= maxScrollTop);\n return;\n }\n\n const maxScrollLeft = event.currentTarget.scrollWidth - event.currentTarget.clientWidth;\n const scrollLeft = Math.round(event.currentTarget.scrollLeft);\n\n setFirstItemVisible(scrollLeft <= 0);\n setLastItemVisible(scrollLeft >= maxScrollLeft);\n },\n [isVertical, canClip],\n );\n\n useEffect(() => {\n handleScroll(({ currentTarget: scrollRef.current } as unknown) as React.UIEvent<HTMLElement>);\n }, [handleScroll]);\n\n useEffect(() => {\n if (!canClip) {\n setLastItemVisible(true);\n return;\n }\n\n setLastItemVisible(\n isVertical\n ? scrollRef.current?.scrollHeight === scrollRef.current?.clientHeight\n : scrollRef.current?.scrollWidth === scrollRef.current?.clientWidth,\n );\n }, [isVertical, canClip]);\n\n // Этот хук компенсирует появление левой/верхней стрелки при прокрутке\n useEffect(() => {\n if (firstItemVisible || !scrollRef.current || !leftArrowRef.current) {\n return;\n }\n\n if (isVertical) {\n scrollRef.current.scrollTo({\n top: Math.round(scrollRef.current.scrollTop + leftArrowRef.current.clientHeight),\n });\n return;\n }\n\n scrollRef.current.scrollTo({\n left: Math.round(scrollRef.current.scrollLeft + leftArrowRef.current.clientWidth),\n });\n }, [firstItemVisible, isVertical]);\n\n const PreviousButton = useMemo(() => {\n const ArrowNode = isVertical ? StyledTopArrow : StyledLeftArrow;\n return (\n <ArrowNode\n type=\"button\"\n aria-label=\"Предыдущий сегмент\"\n onClick={onPrev}\n tabIndex={disabled ? -1 : 0}\n disabled={disabled}\n >\n {isVertical ? (\n <IconDisclosureUpWithOffset color={`var(${tokens.arrowColor})`} size=\"s\" />\n ) : (\n <IconDisclosureLeftWithOffset color={`var(${tokens.arrowColor})`} />\n )}\n </ArrowNode>\n );\n }, [onPrev, isVertical]);\n\n const NextButton = useMemo(() => {\n const ArrowNode = isVertical ? StyledBottomArrow : StyledRightArrow;\n return (\n <ArrowNode\n type=\"button\"\n aria-label=\"Следующий сегмент\"\n onClick={onNext}\n tabIndex={disabled ? -1 : 0}\n disabled={disabled}\n >\n {isVertical ? (\n <IconDisclosureDownWithOffset color={`var(${tokens.arrowColor})`} size=\"s\" />\n ) : (\n <IconDisclosureRightWithOffset color={`var(${tokens.arrowColor})`} />\n )}\n </ArrowNode>\n );\n }, [onNext, isVertical]);\n\n useEffect(() => {\n selectionMode && setSelectionMode(selectionMode);\n setDisabledGroup(disabled);\n }, [selectionMode, disabled]);\n\n return (\n <Root\n view={view}\n size={size}\n orientation={orientation}\n id={segmentGroupId}\n ref={outerRef}\n filledBackground={filledBackgroundAttr}\n disabled={disabled}\n pilled={pilledAttr}\n className={cx(pilledClass, filledClass, stretchClass, orientationClass)}\n onKeyDown={onKeyDown}\n {...rest}\n >\n {!firstItemVisible && PreviousButton}\n <StyledContentWrapper\n className={cx(clipScrollClass)}\n ref={scrollRef as RefObject<HTMLDivElement>}\n onScroll={handleScroll}\n >\n <StyledContent ref={trackRef as MutableRefObject<HTMLDivElement | null>}>{children}</StyledContent>\n </StyledContentWrapper>\n {!lastItemVisible && NextButton}\n </Root>\n );\n });\n\nexport const segmentGroupConfig = {\n name: 'SegmentGroup',\n tag: 'div',\n layout: segmentGroupRoot,\n base,\n variations: {\n size: {\n css: sizeCSS,\n },\n view: {\n css: viewCSS,\n },\n disabled: {\n css: disabledCSS,\n attrs: true,\n },\n pilled: {\n css: pilledCSS,\n attrs: true,\n },\n stretch: {\n css: stretchCSS,\n attrs: true,\n },\n orientation: {\n css: orientationCSS,\n },\n filledBackground: {\n css: filledBackgroundCSS,\n attrs: true,\n },\n },\n defaults: {\n view: 'clear',\n size: 'xs',\n },\n};\n"],"names":["Keys","getChildNodes","wrapper","container","firstChild","Array","from","childNodes","segmentGroupRoot","Root","forwardRef","props","outerRef","id","selectionMode","pilled","stretch","clip","orientation","filledBackground","hasBackground","disabled","size","view","children","rest","scrollRef","useRef","trackRef","leftArrowRef","setSelectionMode","setDisabledGroup","useSegmentInner","firstItemVisible","setFirstItemVisible","useState","lastItemVisible","setLastItemVisible","uniqId","safeUseId","segmentGroupId","canClip","isVertical","stretchClass","classes","segmentStretch","undefined","orientationClass","segmentVertical","clipScrollClass","segmentGroupClipScroll","pilledAttr","filledBackgroundAttr","pilledClass","segmentPilled","filledClass","segmentGroupFilledBackground","onPrev","useCallback","current","scrollLeft","Math","round","firstOverflowingTab","slice","reverse","find","child","offsetLeft","tabStartX","scrollIntoView","block","inline","onNext","scrollRight","clientWidth","lastOverflowingChild","tabEndX","offsetWidth","onKeyDown","event","index","findIndex","document","activeElement","minIndex","maxIndex","length","nextIndex","keyCode","end","left","right","home","preventDefault","focus","behavior","handleScroll","stopPropagation","maxScrollTop","currentTarget","scrollHeight","clientHeight","scrollTop","maxScrollLeft","scrollWidth","useEffect","scrollTo","top","PreviousButton","useMemo","ArrowNode","StyledTopArrow","StyledLeftArrow","React","createElement","type","onClick","tabIndex","IconDisclosureUpWithOffset","color","tokens","arrowColor","IconDisclosureLeftWithOffset","NextButton","StyledBottomArrow","StyledRightArrow","IconDisclosureDownWithOffset","IconDisclosureRightWithOffset","_extends","ref","className","cx","StyledContentWrapper","onScroll","StyledContent","segmentGroupConfig","name","tag","layout","base","variations","css","sizeCSS","viewCSS","disabledCSS","attrs","pilledCSS","stretchCSS","orientationCSS","filledBackgroundCSS","defaults"],"mappings":"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"}
@@ -4,7 +4,6 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var _rollupPluginBabelHelpers = require('../../../../_virtual/_rollupPluginBabelHelpers.js');
6
6
  var React = require('react');
7
- var plasmaCore = require('@salutejs/plasma-core');
8
7
  var index = require('../../../../utils/index.js');
9
8
  var tokens = require('../../tokens.js');
10
9
  var SegmentProvider = require('../../SegmentProvider/SegmentProvider.js');
@@ -13,6 +12,7 @@ var base$1 = require('./variations/_view/base.js');
13
12
  var base$2 = require('./variations/_disabled/base.js');
14
13
  var base$3 = require('./variations/_pilled/base.js');
15
14
  var SegmentItem_styles = require('./SegmentItem.styles.js');
15
+ var react = require('../../../../utils/react.js');
16
16
  var extractTextFrom = require('../../../../utils/extractTextFrom.js');
17
17
 
18
18
  function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
@@ -39,7 +39,7 @@ const segmentItemRoot = Root => /*#__PURE__*/React.forwardRef((props, outerRef)
39
39
  handleSelect,
40
40
  selectedSegmentItems
41
41
  } = SegmentProvider.useSegmentInner();
42
- const uniqId = plasmaCore.safeUseId();
42
+ const uniqId = react.safeUseId();
43
43
  const segmentId = id || `label-${uniqId}`;
44
44
  const ariaLabelDefault = React.useMemo(() => extractTextFrom.extractTextFrom(label), [label]);
45
45
  const pilledClass = pilled ? tokens.classes.segmentPilled : undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"SegmentItem.js","sources":["../../../../../src/components/Segment/ui/SegmentItem/SegmentItem.tsx"],"sourcesContent":["import React, { forwardRef, useMemo } from 'react';\nimport type { MouseEvent } from 'react';\nimport { safeUseId } from '@salutejs/plasma-core';\n\nimport type { RootProps } from '../../../../engines/types';\nimport { cx, extractTextFrom } from '../../../../utils';\nimport { classes } from '../../tokens';\nimport { useSegmentInner } from '../../SegmentProvider/SegmentProvider';\n\nimport { base as sizeCSS } from './variations/_size/base';\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as disabledCSS } from './variations/_disabled/base';\nimport { base as pilledCSS } from './variations/_pilled/base';\nimport type { SegmentItemProps } from './SegmentItem.types';\nimport { StyledContent, base, LeftContent, RightContent } from './SegmentItem.styles';\n\nexport const segmentItemRoot = (Root: RootProps<HTMLLabelElement, SegmentItemProps>) =>\n forwardRef<HTMLLabelElement, SegmentItemProps>((props, outerRef) => {\n const {\n size,\n view = 'default',\n className,\n id,\n label,\n value,\n pilled,\n contentLeft,\n contentRight,\n customHandleSelect,\n 'aria-label': ariaLabelExternal,\n ...rest\n } = props;\n const { disabledGroup, handleSelect, selectedSegmentItems } = useSegmentInner();\n\n const uniqId = safeUseId();\n const segmentId = id || `label-${uniqId}`;\n\n const ariaLabelDefault = useMemo(() => extractTextFrom(label), [label]);\n const pilledClass = pilled ? classes.segmentPilled : undefined;\n const xsSize = size === 'xs' ? classes.segmentXsSize : undefined;\n\n const isSelected = selectedSegmentItems?.includes(value || ariaLabelDefault);\n const selectedClass = isSelected ? classes.selectedSegmentItem : undefined;\n\n const handleSelectSegment = (event: MouseEvent<HTMLButtonElement>) => {\n if (disabledGroup) {\n return;\n }\n\n customHandleSelect?.(event);\n handleSelect?.(value || ariaLabelDefault);\n };\n\n return (\n <Root\n view={view}\n size={size}\n id={segmentId}\n ref={outerRef}\n aria-label={ariaLabelExternal || ariaLabelDefault}\n value={value}\n pilled={pilled}\n className={cx(selectedClass, pilledClass, xsSize, className)}\n onClick={handleSelectSegment}\n tabIndex={disabledGroup ? -1 : 0}\n disabled={disabledGroup}\n {...rest}\n >\n {contentLeft && <LeftContent>{contentLeft}</LeftContent>}\n <StyledContent>{label || value}</StyledContent>\n {contentRight && (\n <RightContent className={typeof contentRight === 'string' ? classes.segmentAdditionalText : ''}>\n {contentRight}\n </RightContent>\n )}\n </Root>\n );\n });\n\nexport const segmentItemConfig = {\n name: 'SegmentItem',\n tag: 'button',\n layout: segmentItemRoot,\n base,\n variations: {\n size: {\n css: sizeCSS,\n },\n view: {\n css: viewCSS,\n },\n disabled: {\n css: disabledCSS,\n attrs: true,\n },\n pilled: {\n css: pilledCSS,\n attrs: true,\n },\n },\n defaults: {\n view: 'default',\n size: 'xs',\n },\n};\n"],"names":["segmentItemRoot","Root","forwardRef","props","outerRef","size","view","className","id","label","value","pilled","contentLeft","contentRight","customHandleSelect","ariaLabelExternal","rest","disabledGroup","handleSelect","selectedSegmentItems","useSegmentInner","uniqId","safeUseId","segmentId","ariaLabelDefault","useMemo","extractTextFrom","pilledClass","classes","segmentPilled","undefined","xsSize","segmentXsSize","isSelected","includes","selectedClass","selectedSegmentItem","handleSelectSegment","event","React","createElement","_extends","ref","cx","onClick","tabIndex","disabled","LeftContent","StyledContent","RightContent","segmentAdditionalText","segmentItemConfig","name","tag","layout","base","variations","css","sizeCSS","viewCSS","disabledCSS","attrs","pilledCSS","defaults"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAgBO,MAAMA,eAAe,GAAIC,IAAmD,iBAC/EC,gBAAU,CAAqC,CAACC,KAAK,EAAEC,QAAQ,KAAK;EAChE,MAAM;IACFC,IAAI;AACJC,IAAAA,IAAI,GAAG,SAAS;IAChBC,SAAS;IACTC,EAAE;IACFC,KAAK;IACLC,KAAK;IACLC,MAAM;IACNC,WAAW;IACXC,YAAY;IACZC,kBAAkB;AAClB,IAAA,YAAY,EAAEC,iBAAiB;IAC/B,GAAGC,IAAAA;AACP,GAAC,GAAGb,KAAK,CAAA;EACT,MAAM;IAAEc,aAAa;IAAEC,YAAY;AAAEC,IAAAA,oBAAAA;GAAsB,GAAGC,+BAAe,EAAE,CAAA;AAE/E,EAAA,MAAMC,MAAM,GAAGC,oBAAS,EAAE,CAAA;AAC1B,EAAA,MAAMC,SAAS,GAAGf,EAAE,IAAI,CAAA,MAAA,EAASa,MAAM,CAAE,CAAA,CAAA;AAEzC,EAAA,MAAMG,gBAAgB,GAAGC,aAAO,CAAC,MAAMC,+BAAe,CAACjB,KAAK,CAAC,EAAE,CAACA,KAAK,CAAC,CAAC,CAAA;EACvE,MAAMkB,WAAW,GAAGhB,MAAM,GAAGiB,cAAO,CAACC,aAAa,GAAGC,SAAS,CAAA;EAC9D,MAAMC,MAAM,GAAG1B,IAAI,KAAK,IAAI,GAAGuB,cAAO,CAACI,aAAa,GAAGF,SAAS,CAAA;EAEhE,MAAMG,UAAU,GAAGd,oBAAoB,EAAEe,QAAQ,CAACxB,KAAK,IAAIc,gBAAgB,CAAC,CAAA;EAC5E,MAAMW,aAAa,GAAGF,UAAU,GAAGL,cAAO,CAACQ,mBAAmB,GAAGN,SAAS,CAAA;EAE1E,MAAMO,mBAAmB,GAAIC,KAAoC,IAAK;AAClE,IAAA,IAAIrB,aAAa,EAAE;AACf,MAAA,OAAA;AACJ,KAAA;IAEAH,kBAAkB,GAAGwB,KAAK,CAAC,CAAA;AAC3BpB,IAAAA,YAAY,GAAGR,KAAK,IAAIc,gBAAgB,CAAC,CAAA;GAC5C,CAAA;AAED,EAAA,oBACIe,sBAAA,CAAAC,aAAA,CAACvC,IAAI,EAAAwC,iCAAA,CAAA;AACDnC,IAAAA,IAAI,EAAEA,IAAK;AACXD,IAAAA,IAAI,EAAEA,IAAK;AACXG,IAAAA,EAAE,EAAEe,SAAU;AACdmB,IAAAA,GAAG,EAAEtC,QAAS;IACd,YAAYW,EAAAA,iBAAiB,IAAIS,gBAAiB;AAClDd,IAAAA,KAAK,EAAEA,KAAM;AACbC,IAAAA,MAAM,EAAEA,MAAO;IACfJ,SAAS,EAAEoC,QAAE,CAACR,aAAa,EAAER,WAAW,EAAEI,MAAM,EAAExB,SAAS,CAAE;AAC7DqC,IAAAA,OAAO,EAAEP,mBAAoB;AAC7BQ,IAAAA,QAAQ,EAAE5B,aAAa,GAAG,CAAC,CAAC,GAAG,CAAE;AACjC6B,IAAAA,QAAQ,EAAE7B,aAAAA;AAAc,GAAA,EACpBD,IAAI,CAAA,EAEPJ,WAAW,iBAAI2B,sBAAA,CAAAC,aAAA,CAACO,8BAAW,EAAA,IAAA,EAAEnC,WAAyB,CAAC,eACxD2B,sBAAA,CAAAC,aAAA,CAACQ,gCAAa,EAAA,IAAA,EAAEvC,KAAK,IAAIC,KAAqB,CAAC,EAC9CG,YAAY,iBACT0B,sBAAA,CAAAC,aAAA,CAACS,+BAAY,EAAA;IAAC1C,SAAS,EAAE,OAAOM,YAAY,KAAK,QAAQ,GAAGe,cAAO,CAACsB,qBAAqB,GAAG,EAAA;GACvFrC,EAAAA,YACS,CAEhB,CAAC,CAAA;AAEf,CAAC,EAAC;AAEC,MAAMsC,iBAAiB,GAAG;AAC7BC,EAAAA,IAAI,EAAE,aAAa;AACnBC,EAAAA,GAAG,EAAE,QAAQ;AACbC,EAAAA,MAAM,EAAEtD,eAAe;QACvBuD,uBAAI;AACJC,EAAAA,UAAU,EAAE;AACRnD,IAAAA,IAAI,EAAE;AACFoD,MAAAA,GAAG,EAAEC,SAAAA;KACR;AACDpD,IAAAA,IAAI,EAAE;AACFmD,MAAAA,GAAG,EAAEE,WAAAA;KACR;AACDb,IAAAA,QAAQ,EAAE;AACNW,MAAAA,GAAG,EAAEG,WAAW;AAChBC,MAAAA,KAAK,EAAE,IAAA;KACV;AACDlD,IAAAA,MAAM,EAAE;AACJ8C,MAAAA,GAAG,EAAEK,WAAS;AACdD,MAAAA,KAAK,EAAE,IAAA;AACX,KAAA;GACH;AACDE,EAAAA,QAAQ,EAAE;AACNzD,IAAAA,IAAI,EAAE,SAAS;AACfD,IAAAA,IAAI,EAAE,IAAA;AACV,GAAA;AACJ;;;;;"}
1
+ {"version":3,"file":"SegmentItem.js","sources":["../../../../../src/components/Segment/ui/SegmentItem/SegmentItem.tsx"],"sourcesContent":["import React, { forwardRef, useMemo } from 'react';\nimport type { MouseEvent } from 'react';\nimport type { RootProps } from 'src/engines/types';\nimport { cx, safeUseId, extractTextFrom } from 'src/utils';\n\nimport { classes } from '../../tokens';\nimport { useSegmentInner } from '../../SegmentProvider/SegmentProvider';\n\nimport { base as sizeCSS } from './variations/_size/base';\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as disabledCSS } from './variations/_disabled/base';\nimport { base as pilledCSS } from './variations/_pilled/base';\nimport type { SegmentItemProps } from './SegmentItem.types';\nimport { StyledContent, base, LeftContent, RightContent } from './SegmentItem.styles';\n\nexport const segmentItemRoot = (Root: RootProps<HTMLLabelElement, SegmentItemProps>) =>\n forwardRef<HTMLLabelElement, SegmentItemProps>((props, outerRef) => {\n const {\n size,\n view = 'default',\n className,\n id,\n label,\n value,\n pilled,\n contentLeft,\n contentRight,\n customHandleSelect,\n 'aria-label': ariaLabelExternal,\n ...rest\n } = props;\n const { disabledGroup, handleSelect, selectedSegmentItems } = useSegmentInner();\n\n const uniqId = safeUseId();\n const segmentId = id || `label-${uniqId}`;\n\n const ariaLabelDefault = useMemo(() => extractTextFrom(label), [label]);\n const pilledClass = pilled ? classes.segmentPilled : undefined;\n const xsSize = size === 'xs' ? classes.segmentXsSize : undefined;\n\n const isSelected = selectedSegmentItems?.includes(value || ariaLabelDefault);\n const selectedClass = isSelected ? classes.selectedSegmentItem : undefined;\n\n const handleSelectSegment = (event: MouseEvent<HTMLButtonElement>) => {\n if (disabledGroup) {\n return;\n }\n\n customHandleSelect?.(event);\n handleSelect?.(value || ariaLabelDefault);\n };\n\n return (\n <Root\n view={view}\n size={size}\n id={segmentId}\n ref={outerRef}\n aria-label={ariaLabelExternal || ariaLabelDefault}\n value={value}\n pilled={pilled}\n className={cx(selectedClass, pilledClass, xsSize, className)}\n onClick={handleSelectSegment}\n tabIndex={disabledGroup ? -1 : 0}\n disabled={disabledGroup}\n {...rest}\n >\n {contentLeft && <LeftContent>{contentLeft}</LeftContent>}\n <StyledContent>{label || value}</StyledContent>\n {contentRight && (\n <RightContent className={typeof contentRight === 'string' ? classes.segmentAdditionalText : ''}>\n {contentRight}\n </RightContent>\n )}\n </Root>\n );\n });\n\nexport const segmentItemConfig = {\n name: 'SegmentItem',\n tag: 'button',\n layout: segmentItemRoot,\n base,\n variations: {\n size: {\n css: sizeCSS,\n },\n view: {\n css: viewCSS,\n },\n disabled: {\n css: disabledCSS,\n attrs: true,\n },\n pilled: {\n css: pilledCSS,\n attrs: true,\n },\n },\n defaults: {\n view: 'default',\n size: 'xs',\n },\n};\n"],"names":["segmentItemRoot","Root","forwardRef","props","outerRef","size","view","className","id","label","value","pilled","contentLeft","contentRight","customHandleSelect","ariaLabelExternal","rest","disabledGroup","handleSelect","selectedSegmentItems","useSegmentInner","uniqId","safeUseId","segmentId","ariaLabelDefault","useMemo","extractTextFrom","pilledClass","classes","segmentPilled","undefined","xsSize","segmentXsSize","isSelected","includes","selectedClass","selectedSegmentItem","handleSelectSegment","event","React","createElement","_extends","ref","cx","onClick","tabIndex","disabled","LeftContent","StyledContent","RightContent","segmentAdditionalText","segmentItemConfig","name","tag","layout","base","variations","css","sizeCSS","viewCSS","disabledCSS","attrs","pilledCSS","defaults"],"mappings":"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"}
@@ -4,9 +4,9 @@ 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');
8
7
  var getPlacement = require('./utils/getPlacement.js');
9
8
  var getFallbackPlacements = require('./utils/getFallbackPlacements.js');
9
+ var react$1 = require('../../utils/react.js');
10
10
 
11
11
  function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
12
12
 
@@ -54,7 +54,7 @@ const FloatingPopover = /*#__PURE__*/React.forwardRef(({
54
54
  }
55
55
  })]
56
56
  });
57
- const wrappedId = plasmaCore.safeUseId();
57
+ const wrappedId = react$1.safeUseId();
58
58
  const handleClick = () => {
59
59
  if (onToggle) {
60
60
  onToggle(!opened);
@@ -1 +1 @@
1
- {"version":3,"file":"FloatingPopover.js","sources":["../../../src/components/Select/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 { getPlacement, getFallbackPlacements } from './utils';\nimport type { FloatingPopoverProps } from './Select.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: getPlacement(placement),\n open: opened,\n middleware: [\n offsetMiddleware({\n mainAxis: isInner ? LIST_PADDING * 2 : 0,\n alignmentAxis: isInner ? -LIST_PADDING : 0,\n }),\n flip({ fallbackPlacements: getFallbackPlacements(placement) }),\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","getPlacement","open","middleware","offsetMiddleware","mainAxis","alignmentAxis","flip","fallbackPlacements","getFallbackPlacements","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/Select/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 { getPlacement, getFallbackPlacements } from './utils';\nimport type { FloatingPopoverProps } from './Select.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: getPlacement(placement),\n open: opened,\n middleware: [\n offsetMiddleware({\n mainAxis: isInner ? LIST_PADDING * 2 : 0,\n alignmentAxis: isInner ? -LIST_PADDING : 0,\n }),\n flip({ fallbackPlacements: getFallbackPlacements(placement) }),\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","getPlacement","open","middleware","offsetMiddleware","mainAxis","alignmentAxis","flip","fallbackPlacements","getFallbackPlacements","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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"}
@@ -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 useKeyboardNavigation = require('./hooks/useKeyboardNavigation.js');
9
8
  var usePathMaps = require('./hooks/usePathMaps.js');
10
9
  var Select_styles = require('./Select.styles.js');
@@ -14,6 +13,7 @@ var Select_context = require('./Select.context.js');
14
13
  var initialItemsTransform = require('./utils/initialItemsTransform.js');
15
14
  var pathReducer = require('./reducers/pathReducer.js');
16
15
  var focusedPathReducer = require('./reducers/focusedPathReducer.js');
16
+ var react = require('../../utils/react.js');
17
17
  var useOutsideClick = require('../../hooks/useOutsideClick.js');
18
18
  var isEmpty = require('../../utils/isEmpty.js');
19
19
  var updateDescendants = require('./utils/updateDescendants.js');
@@ -119,7 +119,7 @@ const selectRoot = Root => /*#__PURE__*/React.forwardRef((props, ref) => {
119
119
  const isCurrentListOpen = Boolean(path[0]);
120
120
  const activeDescendantItemValue = useKeyboardNavigation.getItemByFocused(focusedPath, focusedToValueMap)?.value.toString() || '';
121
121
  const closeAfterSelect = outerCloseAfterSelect ?? !props.multiselect;
122
- const treeId = plasmaCore.safeUseId();
122
+ const treeId = react.safeUseId();
123
123
  const view = target === 'textfield-like' && (disabled || readOnly) ? 'default' : getView.getView(status, outerView);
124
124
 
125
125
  // Собираем объект с пропсами для required и прокидываем их напрямую в компонент Textfield.