@salutejs/plasma-new-hope 0.172.1-canary.1448.11457725334.0 → 0.172.1-canary.1501.11457027337.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (427) hide show
  1. package/cjs/components/Accordion/ui/AccordionItem/AccordionItem.styles.js +1 -0
  2. package/cjs/components/Accordion/ui/AccordionItem/AccordionItem.styles.js.map +1 -1
  3. package/cjs/components/Attach/Attach.js +4 -3
  4. package/cjs/components/Attach/Attach.js.map +1 -1
  5. package/cjs/components/Attach/components/AttachButton/AttachButton.js +1 -0
  6. package/cjs/components/Attach/components/AttachButton/AttachButton.js.map +1 -1
  7. package/cjs/components/Attach/ui/Button/Button.styles.js +1 -0
  8. package/cjs/components/Attach/ui/Button/Button.styles.js.map +1 -1
  9. package/cjs/components/Attach/ui/Cell/Cell.styles.js +2 -0
  10. package/cjs/components/Attach/ui/Cell/Cell.styles.js.map +1 -1
  11. package/cjs/components/Attach/ui/IconButton/IconButton.styles.js +1 -0
  12. package/cjs/components/Attach/ui/IconButton/IconButton.styles.js.map +1 -1
  13. package/cjs/components/Attach/utils/getFileicon.js +4 -3
  14. package/cjs/components/Attach/utils/getFileicon.js.map +1 -1
  15. package/cjs/components/Attach/utils/index.js +3 -0
  16. package/cjs/components/Attach/utils/index.js.map +1 -1
  17. package/cjs/components/Autocomplete/Autocomplete.js +6 -5
  18. package/cjs/components/Autocomplete/Autocomplete.js.map +1 -1
  19. package/cjs/components/Autocomplete/Autocomplete.styles.js +3 -2
  20. package/cjs/components/Autocomplete/Autocomplete.styles.js.map +1 -1
  21. package/cjs/components/Autocomplete/ui/TextField/TextField.styles.js +2 -1
  22. package/cjs/components/Autocomplete/ui/TextField/TextField.styles.js.map +1 -1
  23. package/cjs/components/Avatar/Avatar.js +3 -2
  24. package/cjs/components/Avatar/Avatar.js.map +1 -1
  25. package/cjs/components/Breadcrumbs/Breadcrumbs.styles.js +4 -2
  26. package/cjs/components/Breadcrumbs/Breadcrumbs.styles.js.map +1 -1
  27. package/cjs/components/Button/Button.styles.js +3 -0
  28. package/cjs/components/Button/Button.styles.js.map +1 -1
  29. package/cjs/components/Calendar/CalendarBase/CalendarBase.js +5 -5
  30. package/cjs/components/Calendar/CalendarDouble/CalendarDouble.js +8 -8
  31. package/cjs/components/Calendar/hooks/useDays.js +2 -2
  32. package/cjs/components/Calendar/hooks/useKeyNavigation.js +1 -1
  33. package/cjs/components/Calendar/hooks/useMonths.js +2 -2
  34. package/cjs/components/Calendar/hooks/useQuarters.js +2 -2
  35. package/cjs/components/Calendar/hooks/useYears.js +2 -2
  36. package/cjs/components/Calendar/ui/CalendarDays/CalendarDays.js +4 -4
  37. package/cjs/components/Calendar/ui/CalendarHeader/CalendarHeader.js +6 -5
  38. package/cjs/components/Calendar/ui/CalendarHeader/CalendarHeader.js.map +1 -1
  39. package/cjs/components/Calendar/ui/CalendarHeader/CalendarHeader.styles.js +1 -0
  40. package/cjs/components/Calendar/ui/CalendarHeader/CalendarHeader.styles.js.map +1 -1
  41. package/cjs/components/Calendar/ui/CalendarMonths/CalendarMonths.js +4 -4
  42. package/cjs/components/Calendar/ui/CalendarQuarters/CalendarQuarters.js +4 -4
  43. package/cjs/components/Calendar/ui/CalendarYears/CalendarYears.js +4 -4
  44. package/cjs/components/Combobox/ComboboxNew/Combobox.js +12 -11
  45. package/cjs/components/Combobox/ComboboxNew/Combobox.js.map +1 -1
  46. package/cjs/components/Combobox/ComboboxNew/Combobox.styles.js +4 -2
  47. package/cjs/components/Combobox/ComboboxNew/Combobox.styles.js.map +1 -1
  48. package/cjs/components/Combobox/ComboboxNew/hooks/getPathMaps.js +2 -0
  49. package/cjs/components/Combobox/ComboboxNew/hooks/getPathMaps.js.map +1 -1
  50. package/cjs/components/Combobox/ComboboxNew/ui/Inner/Inner.js +2 -1
  51. package/cjs/components/Combobox/ComboboxNew/ui/Inner/Inner.js.map +1 -1
  52. package/cjs/components/Combobox/ComboboxNew/ui/Inner/ui/Item/Item.js +6 -5
  53. package/cjs/components/Combobox/ComboboxNew/ui/Inner/ui/Item/Item.js.map +1 -1
  54. package/cjs/components/Combobox/ComboboxNew/ui/Inner/ui/Item/Item.styles.js +3 -1
  55. package/cjs/components/Combobox/ComboboxNew/ui/Inner/ui/Item/Item.styles.js.map +1 -1
  56. package/cjs/components/Combobox/ComboboxNew/ui/Target/Target.styles.js +2 -1
  57. package/cjs/components/Combobox/ComboboxNew/ui/Target/Target.styles.js.map +1 -1
  58. package/cjs/components/Combobox/ComboboxOld/Combobox.js +10 -4
  59. package/cjs/components/Combobox/ComboboxOld/Combobox.js.map +1 -1
  60. package/cjs/components/Combobox/ComboboxOld/Combobox.styles.js +1 -0
  61. package/cjs/components/Combobox/ComboboxOld/Combobox.styles.js.map +1 -1
  62. package/cjs/components/Combobox/ComboboxOld/hooks/useFocusController.js +1 -0
  63. package/cjs/components/Combobox/ComboboxOld/hooks/useFocusController.js.map +1 -1
  64. package/cjs/components/Combobox/ComboboxOld/ui/ComboboxChip/ComboboxChip.styles.js +2 -1
  65. package/cjs/components/Combobox/ComboboxOld/ui/ComboboxChip/ComboboxChip.styles.js.map +1 -1
  66. package/cjs/components/Combobox/ComboboxOld/ui/ComboboxDivider/ComboboxDivider.js +10 -1
  67. package/cjs/components/Combobox/ComboboxOld/ui/ComboboxDivider/ComboboxDivider.js.map +1 -1
  68. package/cjs/components/Combobox/ComboboxOld/ui/ComboboxFooter/ComboboxFooter.js +10 -1
  69. package/cjs/components/Combobox/ComboboxOld/ui/ComboboxFooter/ComboboxFooter.js.map +1 -1
  70. package/cjs/components/Combobox/ComboboxOld/ui/ComboboxGroup/ComboboxGroup.js +10 -1
  71. package/cjs/components/Combobox/ComboboxOld/ui/ComboboxGroup/ComboboxGroup.js.map +1 -1
  72. package/cjs/components/Combobox/ComboboxOld/ui/ComboboxHeader/ComboboxHeader.js +10 -1
  73. package/cjs/components/Combobox/ComboboxOld/ui/ComboboxHeader/ComboboxHeader.js.map +1 -1
  74. package/cjs/components/Combobox/ComboboxOld/ui/ComboboxItem/ComboboxItem.styles.js +2 -0
  75. package/cjs/components/Combobox/ComboboxOld/ui/ComboboxItem/ComboboxItem.styles.js.map +1 -1
  76. package/cjs/components/Combobox/ComboboxOld/ui/ComboboxTarget/ComboboxTarget.js +1 -1
  77. package/cjs/components/Combobox/ComboboxOld/ui/ComboboxTarget/ComboboxTarget.styles.js +2 -1
  78. package/cjs/components/Combobox/ComboboxOld/ui/ComboboxTarget/ComboboxTarget.styles.js.map +1 -1
  79. package/cjs/components/DatePicker/DatePickerBase.styles.js +7 -1
  80. package/cjs/components/DatePicker/DatePickerBase.styles.js.map +1 -1
  81. package/cjs/components/DatePicker/RangeDate/RangeDate.js +1 -1
  82. package/cjs/components/DatePicker/RangeDate/RangeDate.styles.js +1 -0
  83. package/cjs/components/DatePicker/RangeDate/RangeDate.styles.js.map +1 -1
  84. package/cjs/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.js +2 -1
  85. package/cjs/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.js.map +1 -1
  86. package/cjs/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.styles.js +5 -2
  87. package/cjs/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.styles.js.map +1 -1
  88. package/cjs/components/DatePicker/SingleDate/SingleDate.styles.js +1 -0
  89. package/cjs/components/DatePicker/SingleDate/SingleDate.styles.js.map +1 -1
  90. package/cjs/components/Drawer/Drawer.js +10 -5
  91. package/cjs/components/Drawer/Drawer.js.map +1 -1
  92. package/cjs/components/Drawer/Drawer.styles.js +4 -0
  93. package/cjs/components/Drawer/Drawer.styles.js.map +1 -1
  94. package/cjs/components/Drawer/hooks/useDrawer.js +4 -0
  95. package/cjs/components/Drawer/hooks/useDrawer.js.map +1 -1
  96. package/cjs/components/Drawer/ui/DrawerContent/DrawerContent.js +7 -0
  97. package/cjs/components/Drawer/ui/DrawerContent/DrawerContent.js.map +1 -1
  98. package/cjs/components/Drawer/ui/DrawerFooter/DrawerFooter.js +7 -0
  99. package/cjs/components/Drawer/ui/DrawerFooter/DrawerFooter.js.map +1 -1
  100. package/cjs/components/Drawer/ui/DrawerHeader/DrawerHeader.js +3 -0
  101. package/cjs/components/Drawer/ui/DrawerHeader/DrawerHeader.js.map +1 -1
  102. package/cjs/components/Dropdown/Dropdown.js +10 -3
  103. package/cjs/components/Dropdown/Dropdown.js.map +1 -1
  104. package/cjs/components/Dropdown/Dropdown.styles.js +3 -2
  105. package/cjs/components/Dropdown/Dropdown.styles.js.map +1 -1
  106. package/cjs/components/Dropdown/ui/DropdownInner/DropdownInner.js +9 -1
  107. package/cjs/components/Dropdown/ui/DropdownInner/DropdownInner.js.map +1 -1
  108. package/cjs/components/Dropdown/ui/DropdownItem/DropdownItem.js +2 -1
  109. package/cjs/components/Dropdown/ui/DropdownItem/DropdownItem.js.map +1 -1
  110. package/cjs/components/Dropdown/ui/DropdownItemOld/DropdownItem.styles.js +2 -0
  111. package/cjs/components/Dropdown/ui/DropdownItemOld/DropdownItem.styles.js.map +1 -1
  112. package/cjs/components/Dropdown/ui/DropdownOld/Dropdown.styles.js +1 -0
  113. package/cjs/components/Dropdown/ui/DropdownOld/Dropdown.styles.js.map +1 -1
  114. package/cjs/components/Editable/Editable.js +4 -3
  115. package/cjs/components/Editable/Editable.js.map +1 -1
  116. package/cjs/components/Editable/utils/clearSelection.js +2 -0
  117. package/cjs/components/Editable/utils/clearSelection.js.map +1 -1
  118. package/cjs/components/Editable/utils/selectText.js +2 -0
  119. package/cjs/components/Editable/utils/selectText.js.map +1 -1
  120. package/cjs/components/EmptyState/EmptyState.styles.js +2 -1
  121. package/cjs/components/EmptyState/EmptyState.styles.js.map +1 -1
  122. package/cjs/components/IconButton/IconButton.js +1 -1
  123. package/cjs/components/IconButton/IconButton.styles.js +8 -0
  124. package/cjs/components/IconButton/IconButton.styles.js.map +1 -1
  125. package/cjs/components/Modal/Modal.js +8 -6
  126. package/cjs/components/Modal/Modal.js.map +1 -1
  127. package/cjs/components/Modal/hooks/useModal.js +4 -0
  128. package/cjs/components/Modal/hooks/useModal.js.map +1 -1
  129. package/cjs/components/Notification/Notification.styles.js +3 -2
  130. package/cjs/components/Notification/Notification.styles.js.map +1 -1
  131. package/cjs/components/Notification/NotificationsPortal.js +4 -3
  132. package/cjs/components/Notification/NotificationsPortal.js.map +1 -1
  133. package/cjs/components/Pagination/Pagination.styles.js +2 -1
  134. package/cjs/components/Pagination/Pagination.styles.js.map +1 -1
  135. package/cjs/components/Pagination/ui/PaginationSelectPerPage/PaginationSelectPerPage.styles.js +2 -1
  136. package/cjs/components/Pagination/ui/PaginationSelectPerPage/PaginationSelectPerPage.styles.js.map +1 -1
  137. package/cjs/components/Panel/ui/PanelHeader/PanelHeader.js +2 -1
  138. package/cjs/components/Panel/ui/PanelHeader/PanelHeader.js.map +1 -1
  139. package/cjs/components/Panel/ui/PanelHeader/PanelHeader.styles.js +2 -1
  140. package/cjs/components/Panel/ui/PanelHeader/PanelHeader.styles.js.map +1 -1
  141. package/cjs/components/Popover/Popover.js +1 -1
  142. package/cjs/components/Popup/Popup.js +2 -2
  143. package/cjs/components/Popup/PopupContext.js +1 -1
  144. package/cjs/components/Range/Range.styles.js +1 -0
  145. package/cjs/components/Range/Range.styles.js.map +1 -1
  146. package/cjs/components/Segment/ui/SegmentGroup/SegmentGroup.js +5 -4
  147. package/cjs/components/Segment/ui/SegmentGroup/SegmentGroup.js.map +1 -1
  148. package/cjs/components/Select/Select.js +12 -11
  149. package/cjs/components/Select/Select.js.map +1 -1
  150. package/cjs/components/Select/Select.styles.js +5 -2
  151. package/cjs/components/Select/Select.styles.js.map +1 -1
  152. package/cjs/components/Select/hooks/usePathMaps.js +2 -0
  153. package/cjs/components/Select/hooks/usePathMaps.js.map +1 -1
  154. package/cjs/components/Select/ui/Inner/Inner.js +2 -1
  155. package/cjs/components/Select/ui/Inner/Inner.js.map +1 -1
  156. package/cjs/components/Select/ui/Inner/ui/Item/Item.js +5 -4
  157. package/cjs/components/Select/ui/Inner/ui/Item/Item.js.map +1 -1
  158. package/cjs/components/Select/ui/Inner/ui/Item/Item.styles.js +1 -0
  159. package/cjs/components/Select/ui/Inner/ui/Item/Item.styles.js.map +1 -1
  160. package/cjs/components/Select/ui/Target/ui/Button/Button.js +1 -1
  161. package/cjs/components/Select/ui/Target/ui/Button/Button.styles.js +3 -1
  162. package/cjs/components/Select/ui/Target/ui/Button/Button.styles.js.map +1 -1
  163. package/cjs/components/Select/ui/Target/ui/Textfield/Textfield.js +2 -2
  164. package/cjs/components/Select/ui/Target/ui/Textfield/Textfield.styles.js +4 -1
  165. package/cjs/components/Select/ui/Target/ui/Textfield/Textfield.styles.js.map +1 -1
  166. package/cjs/components/Select/ui/Target/ui/Textfield/ui/Chip/Chip.styles.js +2 -1
  167. package/cjs/components/Select/ui/Target/ui/Textfield/ui/Chip/Chip.styles.js.map +1 -1
  168. package/cjs/components/Select/utils/getButtonLabel.js +2 -0
  169. package/cjs/components/Select/utils/getButtonLabel.js.map +1 -1
  170. package/cjs/components/Sheet/Sheet.js +3 -3
  171. package/cjs/components/Skeleton/LineSkeleton/LineSkeleton.js +4 -2
  172. package/cjs/components/Skeleton/LineSkeleton/LineSkeleton.js.map +1 -1
  173. package/cjs/components/Skeleton/RectSkeleton/RectSkeleton.js +4 -2
  174. package/cjs/components/Skeleton/RectSkeleton/RectSkeleton.js.map +1 -1
  175. package/cjs/components/Slider/Slider.js +6 -0
  176. package/cjs/components/Slider/Slider.js.map +1 -1
  177. package/cjs/components/Slider/components/Double/Double.js +2 -1
  178. package/cjs/components/Slider/components/Double/Double.js.map +1 -1
  179. package/cjs/components/Slider/components/Double/Double.styles.js +1 -0
  180. package/cjs/components/Slider/components/Double/Double.styles.js.map +1 -1
  181. package/cjs/components/Slider/components/DoubleUncontrolled/DoubleUncontrolled.js +3 -0
  182. package/cjs/components/Slider/components/DoubleUncontrolled/DoubleUncontrolled.js.map +1 -1
  183. package/cjs/components/Slider/components/Single/Single.js +2 -1
  184. package/cjs/components/Slider/components/Single/Single.js.map +1 -1
  185. package/cjs/components/Slider/components/SliderBase/SliderBase.js +1 -1
  186. package/cjs/components/Steps/Steps.js +1 -1
  187. package/cjs/components/Steps/ui/StepItem/StepItem.styles.js +1 -0
  188. package/cjs/components/Steps/ui/StepItem/StepItem.styles.js.map +1 -1
  189. package/cjs/components/Tabs/ui/horizontal/HorizontalTabs/HorizontalTabs.js +3 -2
  190. package/cjs/components/Tabs/ui/horizontal/HorizontalTabs/HorizontalTabs.js.map +1 -1
  191. package/cjs/components/Tabs/ui/vertical/VerticalTabs/VerticalTabs.js +3 -2
  192. package/cjs/components/Tabs/ui/vertical/VerticalTabs/VerticalTabs.js.map +1 -1
  193. package/cjs/components/TextArea/TextArea.js +1 -1
  194. package/cjs/components/TextField/TextField.js +1 -1
  195. package/cjs/components/TextField/ui/TextFieldChip/TextFieldChip.styles.js +2 -1
  196. package/cjs/components/TextField/ui/TextFieldChip/TextFieldChip.styles.js.map +1 -1
  197. package/cjs/components/Toast/Toast.styles.js +1 -1
  198. package/cjs/components/Toast/ToastController.js +1 -1
  199. package/cjs/components/Toast/utils.js +2 -1
  200. package/cjs/components/Toast/utils.js.map +1 -1
  201. package/cjs/components/Toolbar/ui/ToolbarDivider/ToolbarDivider.js +1 -1
  202. package/cjs/components/Tooltip/Tooltip.js +3 -2
  203. package/cjs/components/Tooltip/Tooltip.js.map +1 -1
  204. package/cjs/engines/index.js +2 -0
  205. package/cjs/engines/index.js.map +1 -1
  206. package/cjs/hooks/useIsomorphicLayoutEffect.js +1 -0
  207. package/cjs/hooks/useIsomorphicLayoutEffect.js.map +1 -1
  208. package/cjs/index.js +51 -48
  209. package/cjs/index.js.map +1 -1
  210. package/cjs/utils/index.js +5 -0
  211. package/cjs/utils/index.js.map +1 -1
  212. package/emotion/package.json +1 -2
  213. package/es/components/Accordion/ui/AccordionItem/AccordionItem.styles.js +1 -0
  214. package/es/components/Accordion/ui/AccordionItem/AccordionItem.styles.js.map +1 -1
  215. package/es/components/Attach/Attach.js +4 -3
  216. package/es/components/Attach/Attach.js.map +1 -1
  217. package/es/components/Attach/components/AttachButton/AttachButton.js +1 -0
  218. package/es/components/Attach/components/AttachButton/AttachButton.js.map +1 -1
  219. package/es/components/Attach/ui/Button/Button.styles.js +1 -0
  220. package/es/components/Attach/ui/Button/Button.styles.js.map +1 -1
  221. package/es/components/Attach/ui/Cell/Cell.styles.js +2 -0
  222. package/es/components/Attach/ui/Cell/Cell.styles.js.map +1 -1
  223. package/es/components/Attach/ui/IconButton/IconButton.styles.js +1 -0
  224. package/es/components/Attach/ui/IconButton/IconButton.styles.js.map +1 -1
  225. package/es/components/Attach/utils/getFileicon.js +4 -3
  226. package/es/components/Attach/utils/getFileicon.js.map +1 -1
  227. package/es/components/Attach/utils/index.js +3 -0
  228. package/es/components/Attach/utils/index.js.map +1 -1
  229. package/es/components/Autocomplete/Autocomplete.js +6 -5
  230. package/es/components/Autocomplete/Autocomplete.js.map +1 -1
  231. package/es/components/Autocomplete/Autocomplete.styles.js +3 -2
  232. package/es/components/Autocomplete/Autocomplete.styles.js.map +1 -1
  233. package/es/components/Autocomplete/ui/TextField/TextField.styles.js +2 -1
  234. package/es/components/Autocomplete/ui/TextField/TextField.styles.js.map +1 -1
  235. package/es/components/Avatar/Avatar.js +3 -2
  236. package/es/components/Avatar/Avatar.js.map +1 -1
  237. package/es/components/Breadcrumbs/Breadcrumbs.styles.js +4 -2
  238. package/es/components/Breadcrumbs/Breadcrumbs.styles.js.map +1 -1
  239. package/es/components/Button/Button.styles.js +3 -0
  240. package/es/components/Button/Button.styles.js.map +1 -1
  241. package/es/components/Calendar/CalendarBase/CalendarBase.js +5 -5
  242. package/es/components/Calendar/CalendarDouble/CalendarDouble.js +8 -8
  243. package/es/components/Calendar/hooks/useDays.js +2 -2
  244. package/es/components/Calendar/hooks/useKeyNavigation.js +1 -1
  245. package/es/components/Calendar/hooks/useMonths.js +2 -2
  246. package/es/components/Calendar/hooks/useQuarters.js +2 -2
  247. package/es/components/Calendar/hooks/useYears.js +2 -2
  248. package/es/components/Calendar/ui/CalendarDays/CalendarDays.js +4 -4
  249. package/es/components/Calendar/ui/CalendarHeader/CalendarHeader.js +6 -5
  250. package/es/components/Calendar/ui/CalendarHeader/CalendarHeader.js.map +1 -1
  251. package/es/components/Calendar/ui/CalendarHeader/CalendarHeader.styles.js +1 -0
  252. package/es/components/Calendar/ui/CalendarHeader/CalendarHeader.styles.js.map +1 -1
  253. package/es/components/Calendar/ui/CalendarMonths/CalendarMonths.js +4 -4
  254. package/es/components/Calendar/ui/CalendarQuarters/CalendarQuarters.js +4 -4
  255. package/es/components/Calendar/ui/CalendarYears/CalendarYears.js +4 -4
  256. package/es/components/Combobox/ComboboxNew/Combobox.js +12 -11
  257. package/es/components/Combobox/ComboboxNew/Combobox.js.map +1 -1
  258. package/es/components/Combobox/ComboboxNew/Combobox.styles.js +4 -2
  259. package/es/components/Combobox/ComboboxNew/Combobox.styles.js.map +1 -1
  260. package/es/components/Combobox/ComboboxNew/hooks/getPathMaps.js +2 -0
  261. package/es/components/Combobox/ComboboxNew/hooks/getPathMaps.js.map +1 -1
  262. package/es/components/Combobox/ComboboxNew/ui/Inner/Inner.js +2 -1
  263. package/es/components/Combobox/ComboboxNew/ui/Inner/Inner.js.map +1 -1
  264. package/es/components/Combobox/ComboboxNew/ui/Inner/ui/Item/Item.js +6 -5
  265. package/es/components/Combobox/ComboboxNew/ui/Inner/ui/Item/Item.js.map +1 -1
  266. package/es/components/Combobox/ComboboxNew/ui/Inner/ui/Item/Item.styles.js +3 -1
  267. package/es/components/Combobox/ComboboxNew/ui/Inner/ui/Item/Item.styles.js.map +1 -1
  268. package/es/components/Combobox/ComboboxNew/ui/Target/Target.styles.js +2 -1
  269. package/es/components/Combobox/ComboboxNew/ui/Target/Target.styles.js.map +1 -1
  270. package/es/components/Combobox/ComboboxOld/Combobox.js +10 -4
  271. package/es/components/Combobox/ComboboxOld/Combobox.js.map +1 -1
  272. package/es/components/Combobox/ComboboxOld/Combobox.styles.js +1 -0
  273. package/es/components/Combobox/ComboboxOld/Combobox.styles.js.map +1 -1
  274. package/es/components/Combobox/ComboboxOld/hooks/useFocusController.js +1 -0
  275. package/es/components/Combobox/ComboboxOld/hooks/useFocusController.js.map +1 -1
  276. package/es/components/Combobox/ComboboxOld/ui/ComboboxChip/ComboboxChip.styles.js +2 -1
  277. package/es/components/Combobox/ComboboxOld/ui/ComboboxChip/ComboboxChip.styles.js.map +1 -1
  278. package/es/components/Combobox/ComboboxOld/ui/ComboboxDivider/ComboboxDivider.js +10 -1
  279. package/es/components/Combobox/ComboboxOld/ui/ComboboxDivider/ComboboxDivider.js.map +1 -1
  280. package/es/components/Combobox/ComboboxOld/ui/ComboboxFooter/ComboboxFooter.js +10 -1
  281. package/es/components/Combobox/ComboboxOld/ui/ComboboxFooter/ComboboxFooter.js.map +1 -1
  282. package/es/components/Combobox/ComboboxOld/ui/ComboboxGroup/ComboboxGroup.js +10 -1
  283. package/es/components/Combobox/ComboboxOld/ui/ComboboxGroup/ComboboxGroup.js.map +1 -1
  284. package/es/components/Combobox/ComboboxOld/ui/ComboboxHeader/ComboboxHeader.js +10 -1
  285. package/es/components/Combobox/ComboboxOld/ui/ComboboxHeader/ComboboxHeader.js.map +1 -1
  286. package/es/components/Combobox/ComboboxOld/ui/ComboboxItem/ComboboxItem.styles.js +2 -0
  287. package/es/components/Combobox/ComboboxOld/ui/ComboboxItem/ComboboxItem.styles.js.map +1 -1
  288. package/es/components/Combobox/ComboboxOld/ui/ComboboxTarget/ComboboxTarget.js +1 -1
  289. package/es/components/Combobox/ComboboxOld/ui/ComboboxTarget/ComboboxTarget.styles.js +2 -1
  290. package/es/components/Combobox/ComboboxOld/ui/ComboboxTarget/ComboboxTarget.styles.js.map +1 -1
  291. package/es/components/DatePicker/DatePickerBase.styles.js +7 -1
  292. package/es/components/DatePicker/DatePickerBase.styles.js.map +1 -1
  293. package/es/components/DatePicker/RangeDate/RangeDate.js +1 -1
  294. package/es/components/DatePicker/RangeDate/RangeDate.styles.js +1 -0
  295. package/es/components/DatePicker/RangeDate/RangeDate.styles.js.map +1 -1
  296. package/es/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.js +2 -1
  297. package/es/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.js.map +1 -1
  298. package/es/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.styles.js +5 -2
  299. package/es/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.styles.js.map +1 -1
  300. package/es/components/DatePicker/SingleDate/SingleDate.styles.js +1 -0
  301. package/es/components/DatePicker/SingleDate/SingleDate.styles.js.map +1 -1
  302. package/es/components/Drawer/Drawer.js +10 -5
  303. package/es/components/Drawer/Drawer.js.map +1 -1
  304. package/es/components/Drawer/Drawer.styles.js +4 -0
  305. package/es/components/Drawer/Drawer.styles.js.map +1 -1
  306. package/es/components/Drawer/hooks/useDrawer.js +4 -0
  307. package/es/components/Drawer/hooks/useDrawer.js.map +1 -1
  308. package/es/components/Drawer/ui/DrawerContent/DrawerContent.js +7 -0
  309. package/es/components/Drawer/ui/DrawerContent/DrawerContent.js.map +1 -1
  310. package/es/components/Drawer/ui/DrawerFooter/DrawerFooter.js +7 -0
  311. package/es/components/Drawer/ui/DrawerFooter/DrawerFooter.js.map +1 -1
  312. package/es/components/Drawer/ui/DrawerHeader/DrawerHeader.js +3 -0
  313. package/es/components/Drawer/ui/DrawerHeader/DrawerHeader.js.map +1 -1
  314. package/es/components/Dropdown/Dropdown.js +10 -3
  315. package/es/components/Dropdown/Dropdown.js.map +1 -1
  316. package/es/components/Dropdown/Dropdown.styles.js +3 -2
  317. package/es/components/Dropdown/Dropdown.styles.js.map +1 -1
  318. package/es/components/Dropdown/ui/DropdownInner/DropdownInner.js +9 -1
  319. package/es/components/Dropdown/ui/DropdownInner/DropdownInner.js.map +1 -1
  320. package/es/components/Dropdown/ui/DropdownItem/DropdownItem.js +2 -1
  321. package/es/components/Dropdown/ui/DropdownItem/DropdownItem.js.map +1 -1
  322. package/es/components/Dropdown/ui/DropdownItemOld/DropdownItem.styles.js +2 -0
  323. package/es/components/Dropdown/ui/DropdownItemOld/DropdownItem.styles.js.map +1 -1
  324. package/es/components/Dropdown/ui/DropdownOld/Dropdown.styles.js +1 -0
  325. package/es/components/Dropdown/ui/DropdownOld/Dropdown.styles.js.map +1 -1
  326. package/es/components/Editable/Editable.js +4 -3
  327. package/es/components/Editable/Editable.js.map +1 -1
  328. package/es/components/Editable/utils/clearSelection.js +2 -0
  329. package/es/components/Editable/utils/clearSelection.js.map +1 -1
  330. package/es/components/Editable/utils/selectText.js +2 -0
  331. package/es/components/Editable/utils/selectText.js.map +1 -1
  332. package/es/components/EmptyState/EmptyState.styles.js +2 -1
  333. package/es/components/EmptyState/EmptyState.styles.js.map +1 -1
  334. package/es/components/IconButton/IconButton.js +1 -1
  335. package/es/components/IconButton/IconButton.styles.js +8 -0
  336. package/es/components/IconButton/IconButton.styles.js.map +1 -1
  337. package/es/components/Modal/Modal.js +8 -6
  338. package/es/components/Modal/Modal.js.map +1 -1
  339. package/es/components/Modal/hooks/useModal.js +4 -0
  340. package/es/components/Modal/hooks/useModal.js.map +1 -1
  341. package/es/components/Notification/Notification.styles.js +3 -2
  342. package/es/components/Notification/Notification.styles.js.map +1 -1
  343. package/es/components/Notification/NotificationsPortal.js +4 -3
  344. package/es/components/Notification/NotificationsPortal.js.map +1 -1
  345. package/es/components/Pagination/Pagination.styles.js +2 -1
  346. package/es/components/Pagination/Pagination.styles.js.map +1 -1
  347. package/es/components/Pagination/ui/PaginationSelectPerPage/PaginationSelectPerPage.styles.js +2 -1
  348. package/es/components/Pagination/ui/PaginationSelectPerPage/PaginationSelectPerPage.styles.js.map +1 -1
  349. package/es/components/Panel/ui/PanelHeader/PanelHeader.js +2 -1
  350. package/es/components/Panel/ui/PanelHeader/PanelHeader.js.map +1 -1
  351. package/es/components/Panel/ui/PanelHeader/PanelHeader.styles.js +2 -1
  352. package/es/components/Panel/ui/PanelHeader/PanelHeader.styles.js.map +1 -1
  353. package/es/components/Popover/Popover.js +1 -1
  354. package/es/components/Popup/Popup.js +2 -2
  355. package/es/components/Popup/PopupContext.js +1 -1
  356. package/es/components/Range/Range.styles.js +1 -0
  357. package/es/components/Range/Range.styles.js.map +1 -1
  358. package/es/components/Segment/ui/SegmentGroup/SegmentGroup.js +5 -4
  359. package/es/components/Segment/ui/SegmentGroup/SegmentGroup.js.map +1 -1
  360. package/es/components/Select/Select.js +12 -11
  361. package/es/components/Select/Select.js.map +1 -1
  362. package/es/components/Select/Select.styles.js +5 -2
  363. package/es/components/Select/Select.styles.js.map +1 -1
  364. package/es/components/Select/hooks/usePathMaps.js +2 -0
  365. package/es/components/Select/hooks/usePathMaps.js.map +1 -1
  366. package/es/components/Select/ui/Inner/Inner.js +2 -1
  367. package/es/components/Select/ui/Inner/Inner.js.map +1 -1
  368. package/es/components/Select/ui/Inner/ui/Item/Item.js +5 -4
  369. package/es/components/Select/ui/Inner/ui/Item/Item.js.map +1 -1
  370. package/es/components/Select/ui/Inner/ui/Item/Item.styles.js +1 -0
  371. package/es/components/Select/ui/Inner/ui/Item/Item.styles.js.map +1 -1
  372. package/es/components/Select/ui/Target/ui/Button/Button.js +1 -1
  373. package/es/components/Select/ui/Target/ui/Button/Button.styles.js +3 -1
  374. package/es/components/Select/ui/Target/ui/Button/Button.styles.js.map +1 -1
  375. package/es/components/Select/ui/Target/ui/Textfield/Textfield.js +2 -2
  376. package/es/components/Select/ui/Target/ui/Textfield/Textfield.styles.js +4 -1
  377. package/es/components/Select/ui/Target/ui/Textfield/Textfield.styles.js.map +1 -1
  378. package/es/components/Select/ui/Target/ui/Textfield/ui/Chip/Chip.styles.js +2 -1
  379. package/es/components/Select/ui/Target/ui/Textfield/ui/Chip/Chip.styles.js.map +1 -1
  380. package/es/components/Select/utils/getButtonLabel.js +2 -0
  381. package/es/components/Select/utils/getButtonLabel.js.map +1 -1
  382. package/es/components/Sheet/Sheet.js +3 -3
  383. package/es/components/Skeleton/LineSkeleton/LineSkeleton.js +4 -2
  384. package/es/components/Skeleton/LineSkeleton/LineSkeleton.js.map +1 -1
  385. package/es/components/Skeleton/RectSkeleton/RectSkeleton.js +4 -2
  386. package/es/components/Skeleton/RectSkeleton/RectSkeleton.js.map +1 -1
  387. package/es/components/Slider/Slider.js +6 -0
  388. package/es/components/Slider/Slider.js.map +1 -1
  389. package/es/components/Slider/components/Double/Double.js +2 -1
  390. package/es/components/Slider/components/Double/Double.js.map +1 -1
  391. package/es/components/Slider/components/Double/Double.styles.js +1 -0
  392. package/es/components/Slider/components/Double/Double.styles.js.map +1 -1
  393. package/es/components/Slider/components/DoubleUncontrolled/DoubleUncontrolled.js +3 -0
  394. package/es/components/Slider/components/DoubleUncontrolled/DoubleUncontrolled.js.map +1 -1
  395. package/es/components/Slider/components/Single/Single.js +2 -1
  396. package/es/components/Slider/components/Single/Single.js.map +1 -1
  397. package/es/components/Slider/components/SliderBase/SliderBase.js +1 -1
  398. package/es/components/Steps/Steps.js +1 -1
  399. package/es/components/Steps/ui/StepItem/StepItem.styles.js +1 -0
  400. package/es/components/Steps/ui/StepItem/StepItem.styles.js.map +1 -1
  401. package/es/components/Tabs/ui/horizontal/HorizontalTabs/HorizontalTabs.js +3 -2
  402. package/es/components/Tabs/ui/horizontal/HorizontalTabs/HorizontalTabs.js.map +1 -1
  403. package/es/components/Tabs/ui/vertical/VerticalTabs/VerticalTabs.js +3 -2
  404. package/es/components/Tabs/ui/vertical/VerticalTabs/VerticalTabs.js.map +1 -1
  405. package/es/components/TextArea/TextArea.js +1 -1
  406. package/es/components/TextField/TextField.js +1 -1
  407. package/es/components/TextField/ui/TextFieldChip/TextFieldChip.styles.js +2 -1
  408. package/es/components/TextField/ui/TextFieldChip/TextFieldChip.styles.js.map +1 -1
  409. package/es/components/Toast/Toast.styles.js +1 -1
  410. package/es/components/Toast/ToastController.js +1 -1
  411. package/es/components/Toast/utils.js +2 -1
  412. package/es/components/Toast/utils.js.map +1 -1
  413. package/es/components/Toolbar/ui/ToolbarDivider/ToolbarDivider.js +1 -1
  414. package/es/components/Tooltip/Tooltip.js +3 -2
  415. package/es/components/Tooltip/Tooltip.js.map +1 -1
  416. package/es/engines/index.js +2 -0
  417. package/es/engines/index.js.map +1 -1
  418. package/es/hooks/useIsomorphicLayoutEffect.js +1 -0
  419. package/es/hooks/useIsomorphicLayoutEffect.js.map +1 -1
  420. package/es/index.js +24 -21
  421. package/es/index.js.map +1 -1
  422. package/es/utils/index.js +3 -0
  423. package/es/utils/index.js.map +1 -1
  424. package/package.json +2 -5
  425. package/styled-components/package.json +1 -2
  426. package/types/components/DatePicker/SingleDate/SingleDate.types.d.ts +4 -0
  427. package/types/components/DatePicker/SingleDate/SingleDate.types.d.ts.map +1 -1
@@ -3,15 +3,22 @@ import React, { forwardRef, useReducer } from 'react';
3
3
  import { cx } from '../../utils/index.js';
4
4
  import { pathReducer } from './reducers/pathReducer.js';
5
5
  import { focusedPathReducer } from './reducers/focusedPathReducer.js';
6
+ import '@salutejs/plasma-core';
7
+ import '@linaria/react';
8
+ import { classes } from './Dropdown.tokens.js';
9
+ import { DropdownInner } from './ui/DropdownInner/DropdownInner.js';
10
+ import { childrenWithProps } from './utils/index.js';
11
+ import 'focus-visible';
12
+ import 'styled-components';
13
+ import '@linaria/core';
14
+ import 'react-popper';
15
+ import 'react-dom';
6
16
  import { base as base$1 } from './variations/_view/base.js';
7
17
  import { base as base$2 } from './variations/_size/base.js';
8
18
  import { StyledPopover, Ul, base } from './Dropdown.styles.js';
9
- import { childrenWithProps } from './utils/index.js';
10
- import { classes } from './Dropdown.tokens.js';
11
19
  import { useKeyNavigation } from './hooks/useKeyboardNavigation.js';
12
20
  import { useHashMaps } from './hooks/useHashMaps.js';
13
21
  import { getPlacements } from '../../utils/getPopoverPlacement.js';
14
- import { DropdownInner } from './ui/DropdownInner/DropdownInner.js';
15
22
 
16
23
  var _excluded = ["items", "children", "placement", "offset", "closeOnOverlayClick", "onToggle", "size", "view", "itemRole", "className", "listWidth", "listHeight", "listOverflow", "closeOnSelect", "onHover", "onItemSelect", "onItemClick", "trigger", "variant", "hasArrow", "portal"];
17
24
 
@@ -1 +1 @@
1
- {"version":3,"file":"Dropdown.js","sources":["../../../src/components/Dropdown/Dropdown.tsx"],"sourcesContent":["import React, { forwardRef, useReducer } from 'react';\n\nimport { RootProps } from '../../engines';\nimport { cx, getPlacements } from '../../utils';\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, StyledPopover, base } from './Dropdown.styles';\nimport { childrenWithProps } from './utils';\nimport type { DropdownProps, HandleGlobalToggleType } from './Dropdown.types';\nimport { classes } from './Dropdown.tokens';\nimport { useKeyNavigation } from './hooks/useKeyboardNavigation';\nimport { useHashMaps } from './hooks/useHashMaps';\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 = 'bottom',\n offset = [0, 0],\n closeOnOverlayClick = true,\n onToggle,\n size,\n view,\n itemRole = 'treeitem',\n className,\n listWidth,\n listHeight,\n listOverflow,\n closeOnSelect = true,\n onHover,\n onItemSelect,\n onItemClick,\n trigger = 'click',\n variant = 'normal',\n hasArrow = true,\n portal,\n ...rest\n },\n ref,\n ) => {\n const [path, dispatchPath] = useReducer(pathReducer, []);\n const [focusedPath, dispatchFocusedPath] = useReducer(focusedPathReducer, []);\n\n const [pathMap, focusedToValueMap] = useHashMaps(items);\n\n const handleGlobalToggle: HandleGlobalToggleType = (opened, event) => {\n if (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 { 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 const isCurrentListOpen = Boolean(path[0]);\n\n const getActiveDescendant = () => {\n const focusedPathAsString = focusedPath.reduce((acc, n) => `${acc}/${n}`, '').replace(/^(\\/)/, '');\n return focusedToValueMap?.get(focusedPathAsString)?.value.toString();\n };\n\n return (\n <StyledPopover\n opened={isCurrentListOpen}\n onToggle={handleGlobalToggle}\n offset={offset}\n placement={getPlacements(placement)}\n trigger={trigger}\n closeOnOverlayClick={closeOnOverlayClick}\n isFocusTrapped={false}\n target={childrenWithProps(children, {\n role: 'combobox',\n 'aria-controls': 'tree_level_1',\n 'aria-expanded': isCurrentListOpen,\n 'aria-activedescendant': getActiveDescendant(),\n onKeyDown,\n })}\n preventOverflow={false}\n usePortal={Boolean(portal)}\n frame={portal}\n >\n <Root className={cx(className, classes.dropdownRoot)} ref={ref} view={view} size={size} {...rest}>\n <Ul\n listHeight={listHeight}\n listOverflow={listOverflow}\n role=\"tree\"\n id=\"tree_level_1\"\n listWidth={listWidth}\n >\n {items.map((item, index) => (\n <DropdownInner\n key={`${index}/0`}\n item={item}\n currentLevel={0}\n focusedPath={focusedPath}\n trigger={trigger}\n path={path}\n dispatchPath={dispatchPath}\n index={index}\n itemRole={itemRole}\n listHeight={listHeight}\n listOverflow={listOverflow}\n handleGlobalToggle={handleGlobalToggle}\n closeOnSelect={closeOnSelect}\n onHover={onHover}\n onItemSelect={onItemSelect}\n onItemClick={onItemClick}\n listWidth={listWidth}\n variant={variant}\n hasArrow={hasArrow}\n size={size}\n />\n ))}\n </Ul>\n </Root>\n </StyledPopover>\n );\n },\n );\n\nexport const dropdownConfig = {\n name: 'Dropdown',\n tag: 'div',\n layout: dropdownRoot,\n base,\n variations: {\n view: {\n css: viewCSS,\n },\n size: {\n css: sizeCSS,\n },\n },\n defaults: {\n view: 'default',\n size: 'm',\n },\n};\n"],"names":["dropdownRoot","Root","forwardRef","_ref","ref","items","children","_ref$placement","placement","_ref$offset","offset","_ref$closeOnOverlayCl","closeOnOverlayClick","onToggle","size","view","_ref$itemRole","itemRole","className","listWidth","listHeight","listOverflow","_ref$closeOnSelect","closeOnSelect","onHover","onItemSelect","onItemClick","_ref$trigger","trigger","_ref$variant","variant","_ref$hasArrow","hasArrow","portal","rest","_objectWithoutProperties","_excluded","_useReducer","useReducer","pathReducer","_useReducer2","_slicedToArray","path","dispatchPath","_useReducer3","focusedPathReducer","_useReducer4","focusedPath","dispatchFocusedPath","_useHashMaps","useHashMaps","_useHashMaps2","pathMap","focusedToValueMap","handleGlobalToggle","opened","event","type","_useKeyNavigation","useKeyNavigation","onKeyDown","isCurrentListOpen","Boolean","getActiveDescendant","_focusedToValueMap$ge","focusedPathAsString","reduce","acc","n","concat","replace","get","value","toString","React","createElement","StyledPopover","getPlacements","isFocusTrapped","target","childrenWithProps","role","preventOverflow","usePortal","frame","_extends","cx","classes","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, useReducer } from 'react';\n\nimport { RootProps } from '../../engines';\nimport { cx, getPlacements } from '../../utils';\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, StyledPopover, base } from './Dropdown.styles';\nimport { childrenWithProps } from './utils';\nimport type { DropdownProps, HandleGlobalToggleType } from './Dropdown.types';\nimport { classes } from './Dropdown.tokens';\nimport { useKeyNavigation } from './hooks/useKeyboardNavigation';\nimport { useHashMaps } from './hooks/useHashMaps';\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 = 'bottom',\n offset = [0, 0],\n closeOnOverlayClick = true,\n onToggle,\n size,\n view,\n itemRole = 'treeitem',\n className,\n listWidth,\n listHeight,\n listOverflow,\n closeOnSelect = true,\n onHover,\n onItemSelect,\n onItemClick,\n trigger = 'click',\n variant = 'normal',\n hasArrow = true,\n portal,\n ...rest\n },\n ref,\n ) => {\n const [path, dispatchPath] = useReducer(pathReducer, []);\n const [focusedPath, dispatchFocusedPath] = useReducer(focusedPathReducer, []);\n\n const [pathMap, focusedToValueMap] = useHashMaps(items);\n\n const handleGlobalToggle: HandleGlobalToggleType = (opened, event) => {\n if (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 { 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 const isCurrentListOpen = Boolean(path[0]);\n\n const getActiveDescendant = () => {\n const focusedPathAsString = focusedPath.reduce((acc, n) => `${acc}/${n}`, '').replace(/^(\\/)/, '');\n return focusedToValueMap?.get(focusedPathAsString)?.value.toString();\n };\n\n return (\n <StyledPopover\n opened={isCurrentListOpen}\n onToggle={handleGlobalToggle}\n offset={offset}\n placement={getPlacements(placement)}\n trigger={trigger}\n closeOnOverlayClick={closeOnOverlayClick}\n isFocusTrapped={false}\n target={childrenWithProps(children, {\n role: 'combobox',\n 'aria-controls': 'tree_level_1',\n 'aria-expanded': isCurrentListOpen,\n 'aria-activedescendant': getActiveDescendant(),\n onKeyDown,\n })}\n preventOverflow={false}\n usePortal={Boolean(portal)}\n frame={portal}\n >\n <Root className={cx(className, classes.dropdownRoot)} ref={ref} view={view} size={size} {...rest}>\n <Ul\n listHeight={listHeight}\n listOverflow={listOverflow}\n role=\"tree\"\n id=\"tree_level_1\"\n listWidth={listWidth}\n >\n {items.map((item, index) => (\n <DropdownInner\n key={`${index}/0`}\n item={item}\n currentLevel={0}\n focusedPath={focusedPath}\n trigger={trigger}\n path={path}\n dispatchPath={dispatchPath}\n index={index}\n itemRole={itemRole}\n listHeight={listHeight}\n listOverflow={listOverflow}\n handleGlobalToggle={handleGlobalToggle}\n closeOnSelect={closeOnSelect}\n onHover={onHover}\n onItemSelect={onItemSelect}\n onItemClick={onItemClick}\n listWidth={listWidth}\n variant={variant}\n hasArrow={hasArrow}\n size={size}\n />\n ))}\n </Ul>\n </Root>\n </StyledPopover>\n );\n },\n );\n\nexport const dropdownConfig = {\n name: 'Dropdown',\n tag: 'div',\n layout: dropdownRoot,\n base,\n variations: {\n view: {\n css: viewCSS,\n },\n size: {\n css: sizeCSS,\n },\n },\n defaults: {\n view: 'default',\n size: 'm',\n },\n};\n"],"names":["dropdownRoot","Root","forwardRef","_ref","ref","items","children","_ref$placement","placement","_ref$offset","offset","_ref$closeOnOverlayCl","closeOnOverlayClick","onToggle","size","view","_ref$itemRole","itemRole","className","listWidth","listHeight","listOverflow","_ref$closeOnSelect","closeOnSelect","onHover","onItemSelect","onItemClick","_ref$trigger","trigger","_ref$variant","variant","_ref$hasArrow","hasArrow","portal","rest","_objectWithoutProperties","_excluded","_useReducer","useReducer","pathReducer","_useReducer2","_slicedToArray","path","dispatchPath","_useReducer3","focusedPathReducer","_useReducer4","focusedPath","dispatchFocusedPath","_useHashMaps","useHashMaps","_useHashMaps2","pathMap","focusedToValueMap","handleGlobalToggle","opened","event","type","_useKeyNavigation","useKeyNavigation","onKeyDown","isCurrentListOpen","Boolean","getActiveDescendant","_focusedToValueMap$ge","focusedPathAsString","reduce","acc","n","concat","replace","get","value","toString","React","createElement","StyledPopover","getPlacements","isFocusTrapped","target","childrenWithProps","role","preventOverflow","usePortal","frame","_extends","cx","classes","Ul","id","map","item","index","DropdownInner","key","currentLevel","dropdownConfig","name","tag","layout","base","variations","css","viewCSS","sizeCSS","defaults"],"mappings":"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"}
@@ -1,9 +1,10 @@
1
1
  import './Dropdown.styles_1tihqkp.css';
2
2
  import { styled } from '@linaria/react';
3
- import { getCorrectHeight } from './utils/index.js';
4
- import { tokens } from './Dropdown.tokens.js';
3
+ import '@linaria/core';
5
4
  import { component } from '../../engines/common.js';
6
5
  import { popoverConfig } from '../Popover/Popover.js';
6
+ import { getCorrectHeight } from './utils/index.js';
7
+ import { tokens } from './Dropdown.tokens.js';
7
8
 
8
9
  var Popover = /*#__PURE__*/component(popoverConfig);
9
10
  var _exp = function _exp() {
@@ -1 +1 @@
1
- {"version":3,"file":"Dropdown.styles.js","sources":["../../../src/components/Dropdown/Dropdown.styles.ts"],"sourcesContent":["import { styled } from '@linaria/react';\nimport { css } from '@linaria/core';\n\nimport { component } from '../../engines';\nimport { popoverConfig, popoverClasses } from '../Popover';\n\nimport { getCorrectHeight } from './utils';\nimport { DropdownProps } from './Dropdown.types';\nimport { tokens } from './Dropdown.tokens';\n\nconst Popover = component(popoverConfig);\n\nexport const StyledPopover = styled(Popover)`\n .${String(popoverClasses.wrapper)}, .${String(popoverClasses.target)} {\n display: block;\n }\n`;\n\nexport const Ul = styled.ul<{\n listHeight: DropdownProps['listHeight'];\n listOverflow: DropdownProps['listOverflow'];\n isInnerUl?: boolean;\n listWidth?: DropdownProps['listWidth'];\n}>`\n box-sizing: border-box;\n\n background: var(${tokens.background});\n box-shadow: var(${tokens.boxShadow});\n\n border-radius: var(${tokens.borderRadius});\n width: ${({ listWidth }) => listWidth || `var(${tokens.width})`};\n height: ${({ listHeight }) => (listHeight ? getCorrectHeight(listHeight) : 'auto')};\n overflow: ${({ listOverflow }) => listOverflow || 'initial'};\n\n margin: ${({ isInnerUl }) => (isInnerUl ? `calc(var(${tokens.padding}) * -1) 0 0 var(${tokens.padding})` : 0)};\n padding: var(${tokens.padding});\n`;\n\nexport const base = css`\n display: inline-block;\n`;\n"],"names":["Popover","component","popoverConfig","_exp","StyledPopover","styled","name","class","propsAsIs","_exp7","_ref","listWidth","concat","tokens","width","_exp8","_ref2","listHeight","getCorrectHeight","_exp9","_ref3","listOverflow","_exp10","_ref4","isInnerUl","padding","Ul","vars","base"],"mappings":";;;;;;AAUA,IAAMA,OAAO,gBAAGC,SAAS,CAACC,aAAa,CAAC,CAAA;AAAC,IAAAC,IAAA,GATvBA,SASuBA,IAAAA,GAAA;AAAA,EAAA,OAELH,OAAO,CAAA;AAAA,CAAA,CAAA;AAApC,IAAMI,aAAa,gBAAGC,MAAM,CAAAF,IAAA,EAAA,CAAA,CAAA;AAAAG,EAAAA,IAAA,EAAA,eAAA;AAAAC,EAAAA,OAAAA,EAAA,SAAA;AAAAC,EAAAA,SAAA,EAAA,IAAA;AAAA,CAIlC,EAAA;AAAC,IAAAC,KAAA,GAfgBA,SAehBA,KAAAA,GAAA;AAAA,EAAA,OAcW,UAAAC,IAAA,EAAA;AAAA,IAAA,IAAGC,SAAAA,GAAAA,IAAAA,CAAAA,SAAAA,CAAAA;AAAAA,IAAAA,OAAgBA,SAAS,IAAAC,MAAAA,CAAAA,MAAA,CAAWC,MAAM,CAACC,KAAM,EAAE,GAAA,CAAA,CAAA;AAAA,GAAA,CAAA;AAAA,CAAA,CAAA;AAAA,IAAAC,KAAA,GA7BjDA,SA6BiDA,KAAAA,GAAA;AAAA,EAAA,OACrD,UAAAC,KAAA,EAAA;AAAA,IAAA,IAAGC,UAAAA,GAAAA,KAAAA,CAAAA,UAAAA,CAAAA;AAAAA,IAAAA,OAAkBA,UAAU,GAAGC,gBAAgB,CAACD,UAAU,CAAC,GAAG,MAAO,CAAA;AAAA,GAAA,CAAA;AAAA,CAAA,CAAA;AAAA,IAAAE,KAAA,GA9BpEA,SA8BoEA,KAAAA,GAAA;AAAA,EAAA,OACtE,UAAAC,KAAA,EAAA;AAAA,IAAA,IAAGC,YAAAA,GAAAA,KAAAA,CAAAA,YAAAA,CAAAA;IAAAA,OAAmBA,YAAY,IAAI,SAAS,CAAA;AAAA,GAAA,CAAA;AAAA,CAAA,CAAA;AAAA,IAAAC,MAAA,GA/B7CA,SA+B6CA,MAAAA,GAAA;AAAA,EAAA,OAEjD,UAAAC,KAAA,EAAA;AAAA,IAAA,IAAGC,SAAAA,GAAAA,KAAAA,CAAAA,SAAAA,CAAAA;AAAAA,IAAAA,OAAiBA,SAAS,GAAA,WAAA,CAAAZ,MAAA,CAAeC,MAAM,CAACY,OAAQ,EAAAb,kBAAAA,CAAAA,CAAAA,MAAA,CAAkBC,MAAM,CAACY,OAAQ,SAAK,CAAE,CAAA;AAAA,GAAA,CAAA;AAAA,CAAA,CAAA;AAhB1G,IAAMC,EAAE,gBAAGrB,MAAM,CAAA,IAAA,CAAA,CAAA;AAAAC,EAAAA,IAAA,EAAA,IAAA;AAAAC,EAAAA,OAAAA,EAAA,SAAA;AAAAC,EAAAA,SAAA,EAAA,KAAA;AAAAmB,EAAAA,IAAA,EAAA;AAAA,IAAA,WAAA,EAAA,cAYXlB,KAAsD,EAAA,CAAA;AAAA,IAAA,WAAA,EAAA,cACrDM,KAAwE,EAAA,CAAA;AAAA,IAAA,WAAA,EAAA,cACtEI,KAA+C,EAAA,CAAA;AAAA,IAAA,WAAA,EAAA,cAEjDG,MAAmG,EAAA,CAAA;AAAA,GAAA;AAAA,CAEhH,EAAA;AAEM,IAAMM,IAAI,GAEhB;;;;"}
1
+ {"version":3,"file":"Dropdown.styles.js","sources":["../../../src/components/Dropdown/Dropdown.styles.ts"],"sourcesContent":["import { styled } from '@linaria/react';\nimport { css } from '@linaria/core';\n\nimport { component } from '../../engines';\nimport { popoverConfig, popoverClasses } from '../Popover';\n\nimport { getCorrectHeight } from './utils';\nimport { DropdownProps } from './Dropdown.types';\nimport { tokens } from './Dropdown.tokens';\n\nconst Popover = component(popoverConfig);\n\nexport const StyledPopover = styled(Popover)`\n .${String(popoverClasses.wrapper)}, .${String(popoverClasses.target)} {\n display: block;\n }\n`;\n\nexport const Ul = styled.ul<{\n listHeight: DropdownProps['listHeight'];\n listOverflow: DropdownProps['listOverflow'];\n isInnerUl?: boolean;\n listWidth?: DropdownProps['listWidth'];\n}>`\n box-sizing: border-box;\n\n background: var(${tokens.background});\n box-shadow: var(${tokens.boxShadow});\n\n border-radius: var(${tokens.borderRadius});\n width: ${({ listWidth }) => listWidth || `var(${tokens.width})`};\n height: ${({ listHeight }) => (listHeight ? getCorrectHeight(listHeight) : 'auto')};\n overflow: ${({ listOverflow }) => listOverflow || 'initial'};\n\n margin: ${({ isInnerUl }) => (isInnerUl ? `calc(var(${tokens.padding}) * -1) 0 0 var(${tokens.padding})` : 0)};\n padding: var(${tokens.padding});\n`;\n\nexport const base = css`\n display: inline-block;\n`;\n"],"names":["Popover","component","popoverConfig","_exp","StyledPopover","styled","name","class","propsAsIs","_exp7","_ref","listWidth","concat","tokens","width","_exp8","_ref2","listHeight","getCorrectHeight","_exp9","_ref3","listOverflow","_exp10","_ref4","isInnerUl","padding","Ul","vars","base"],"mappings":";;;;;;;AAUA,IAAMA,OAAO,gBAAGC,SAAS,CAACC,aAAa,CAAC,CAAA;AAAC,IAAAC,IAAA,GATvBA,SASuBA,IAAAA,GAAA;AAAA,EAAA,OAELH,OAAO,CAAA;AAAA,CAAA,CAAA;AAApC,IAAMI,aAAa,gBAAGC,MAAM,CAAAF,IAAA,EAAA,CAAA,CAAA;AAAAG,EAAAA,IAAA,EAAA,eAAA;AAAAC,EAAAA,OAAAA,EAAA,SAAA;AAAAC,EAAAA,SAAA,EAAA,IAAA;AAAA,CAIlC,EAAA;AAAC,IAAAC,KAAA,GAfgBA,SAehBA,KAAAA,GAAA;AAAA,EAAA,OAcW,UAAAC,IAAA,EAAA;AAAA,IAAA,IAAGC,SAAAA,GAAAA,IAAAA,CAAAA,SAAAA,CAAAA;AAAAA,IAAAA,OAAgBA,SAAS,IAAAC,MAAAA,CAAAA,MAAA,CAAWC,MAAM,CAACC,KAAM,EAAE,GAAA,CAAA,CAAA;AAAA,GAAA,CAAA;AAAA,CAAA,CAAA;AAAA,IAAAC,KAAA,GA7BjDA,SA6BiDA,KAAAA,GAAA;AAAA,EAAA,OACrD,UAAAC,KAAA,EAAA;AAAA,IAAA,IAAGC,UAAAA,GAAAA,KAAAA,CAAAA,UAAAA,CAAAA;AAAAA,IAAAA,OAAkBA,UAAU,GAAGC,gBAAgB,CAACD,UAAU,CAAC,GAAG,MAAO,CAAA;AAAA,GAAA,CAAA;AAAA,CAAA,CAAA;AAAA,IAAAE,KAAA,GA9BpEA,SA8BoEA,KAAAA,GAAA;AAAA,EAAA,OACtE,UAAAC,KAAA,EAAA;AAAA,IAAA,IAAGC,YAAAA,GAAAA,KAAAA,CAAAA,YAAAA,CAAAA;IAAAA,OAAmBA,YAAY,IAAI,SAAS,CAAA;AAAA,GAAA,CAAA;AAAA,CAAA,CAAA;AAAA,IAAAC,MAAA,GA/B7CA,SA+B6CA,MAAAA,GAAA;AAAA,EAAA,OAEjD,UAAAC,KAAA,EAAA;AAAA,IAAA,IAAGC,SAAAA,GAAAA,KAAAA,CAAAA,SAAAA,CAAAA;AAAAA,IAAAA,OAAiBA,SAAS,GAAA,WAAA,CAAAZ,MAAA,CAAeC,MAAM,CAACY,OAAQ,EAAAb,kBAAAA,CAAAA,CAAAA,MAAA,CAAkBC,MAAM,CAACY,OAAQ,SAAK,CAAE,CAAA;AAAA,GAAA,CAAA;AAAA,CAAA,CAAA;AAhB1G,IAAMC,EAAE,gBAAGrB,MAAM,CAAA,IAAA,CAAA,CAAA;AAAAC,EAAAA,IAAA,EAAA,IAAA;AAAAC,EAAAA,OAAAA,EAAA,SAAA;AAAAC,EAAAA,SAAA,EAAA,KAAA;AAAAmB,EAAAA,IAAA,EAAA;AAAA,IAAA,WAAA,EAAA,cAYXlB,KAAsD,EAAA,CAAA;AAAA,IAAA,WAAA,EAAA,cACrDM,KAAwE,EAAA,CAAA;AAAA,IAAA,WAAA,EAAA,cACtEI,KAA+C,EAAA,CAAA;AAAA,IAAA,WAAA,EAAA,cAEjDG,MAAmG,EAAA,CAAA;AAAA,GAAA;AAAA,CAEhH,EAAA;AAEM,IAAMM,IAAI,GAEhB;;;;"}
@@ -1,6 +1,14 @@
1
1
  import React from 'react';
2
- import { StyledPopover, Ul } from '../../Dropdown.styles.js';
2
+ import '@salutejs/plasma-core';
3
+ import '@linaria/react';
3
4
  import { DropdownItem } from '../DropdownItem/DropdownItem.js';
5
+ import { StyledPopover, Ul } from '../../Dropdown.styles.js';
6
+ import '../../../../utils/react.js';
7
+ import 'focus-visible';
8
+ import 'styled-components';
9
+ import '@linaria/core';
10
+ import 'react-popper';
11
+ import 'react-dom';
4
12
 
5
13
  var DropdownInner = function DropdownInner(_ref) {
6
14
  var item = _ref.item,
@@ -1 +1 @@
1
- {"version":3,"file":"DropdownInner.js","sources":["../../../../../src/components/Dropdown/ui/DropdownInner/DropdownInner.tsx"],"sourcesContent":["import React from 'react';\nimport type { FC } from 'react';\n\nimport { DropdownItem } from '..';\nimport { Ul, StyledPopover } from '../../Dropdown.styles';\n\nimport { DropdownInnerProps } from './DropdownInner.type';\n\nconst DropdownInner: FC<DropdownInnerProps> = ({\n item,\n currentLevel,\n focusedPath,\n path,\n dispatchPath,\n index,\n trigger,\n itemRole,\n listHeight,\n listOverflow,\n handleGlobalToggle,\n closeOnSelect,\n onHover,\n onItemSelect,\n onItemClick,\n listWidth,\n variant,\n hasArrow,\n size,\n}) => {\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 listId = `tree_level_${currentLevel + 2}`;\n const nextLevel = currentLevel + 1;\n\n if (item?.items) {\n return (\n <StyledPopover\n opened={isCurrentListOpen}\n usePortal={false}\n placement=\"right-start\"\n trigger={trigger}\n target={\n <DropdownItem\n item={item}\n index={index}\n path={path}\n focusedPath={focusedPath}\n currentLevel={currentLevel}\n itemRole={itemRole}\n onHover={onHover}\n onItemSelect={onItemSelect}\n onItemClick={onItemClick}\n variant={variant}\n hasArrow={hasArrow}\n ariaControls={listId}\n ariaExpanded={isCurrentListOpen}\n ariaLevel={nextLevel}\n ariaLabel={item.label}\n size={size}\n />\n }\n onToggle={handleToggle}\n isFocusTrapped={false}\n preventOverflow={false}\n >\n <Ul\n listHeight={listHeight}\n listOverflow={listOverflow}\n role=\"group\"\n id={listId}\n listWidth={listWidth}\n isInnerUl\n >\n {item.items.map((innerItem, innerIndex) => (\n <DropdownInner\n key={`${innerIndex}/${currentLevel}`}\n item={innerItem}\n currentLevel={nextLevel}\n focusedPath={focusedPath}\n path={path}\n dispatchPath={dispatchPath}\n index={innerIndex}\n trigger={trigger}\n itemRole={itemRole}\n listHeight={listHeight}\n listOverflow={listOverflow}\n handleGlobalToggle={handleGlobalToggle}\n closeOnSelect={closeOnSelect}\n onHover={onHover}\n onItemSelect={onItemSelect}\n onItemClick={onItemClick}\n listWidth={listWidth}\n variant={variant}\n hasArrow={hasArrow}\n size={size}\n />\n ))}\n </Ul>\n </StyledPopover>\n );\n }\n\n return (\n <DropdownItem\n item={item}\n index={index}\n focusedPath={focusedPath}\n currentLevel={currentLevel}\n itemRole={itemRole}\n handleGlobalToggle={handleGlobalToggle}\n closeOnSelect={closeOnSelect}\n onHover={onHover}\n onItemSelect={onItemSelect}\n onItemClick={onItemClick}\n variant={variant}\n size={size}\n />\n );\n};\n\nexport { DropdownInner };\n"],"names":["DropdownInner","_ref","item","currentLevel","focusedPath","path","dispatchPath","index","trigger","itemRole","listHeight","listOverflow","handleGlobalToggle","closeOnSelect","onHover","onItemSelect","onItemClick","listWidth","variant","hasArrow","size","handleToggle","opened","type","value","toString","level","isCurrentListOpen","listId","concat","nextLevel","items","React","createElement","StyledPopover","usePortal","placement","target","DropdownItem","ariaControls","ariaExpanded","ariaLevel","ariaLabel","label","onToggle","isFocusTrapped","preventOverflow","Ul","role","id","isInnerUl","map","innerItem","innerIndex","key"],"mappings":"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"}
1
+ {"version":3,"file":"DropdownInner.js","sources":["../../../../../src/components/Dropdown/ui/DropdownInner/DropdownInner.tsx"],"sourcesContent":["import React from 'react';\nimport type { FC } from 'react';\n\nimport { DropdownItem } from '..';\nimport { Ul, StyledPopover } from '../../Dropdown.styles';\n\nimport { DropdownInnerProps } from './DropdownInner.type';\n\nconst DropdownInner: FC<DropdownInnerProps> = ({\n item,\n currentLevel,\n focusedPath,\n path,\n dispatchPath,\n index,\n trigger,\n itemRole,\n listHeight,\n listOverflow,\n handleGlobalToggle,\n closeOnSelect,\n onHover,\n onItemSelect,\n onItemClick,\n listWidth,\n variant,\n hasArrow,\n size,\n}) => {\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 listId = `tree_level_${currentLevel + 2}`;\n const nextLevel = currentLevel + 1;\n\n if (item?.items) {\n return (\n <StyledPopover\n opened={isCurrentListOpen}\n usePortal={false}\n placement=\"right-start\"\n trigger={trigger}\n target={\n <DropdownItem\n item={item}\n index={index}\n path={path}\n focusedPath={focusedPath}\n currentLevel={currentLevel}\n itemRole={itemRole}\n onHover={onHover}\n onItemSelect={onItemSelect}\n onItemClick={onItemClick}\n variant={variant}\n hasArrow={hasArrow}\n ariaControls={listId}\n ariaExpanded={isCurrentListOpen}\n ariaLevel={nextLevel}\n ariaLabel={item.label}\n size={size}\n />\n }\n onToggle={handleToggle}\n isFocusTrapped={false}\n preventOverflow={false}\n >\n <Ul\n listHeight={listHeight}\n listOverflow={listOverflow}\n role=\"group\"\n id={listId}\n listWidth={listWidth}\n isInnerUl\n >\n {item.items.map((innerItem, innerIndex) => (\n <DropdownInner\n key={`${innerIndex}/${currentLevel}`}\n item={innerItem}\n currentLevel={nextLevel}\n focusedPath={focusedPath}\n path={path}\n dispatchPath={dispatchPath}\n index={innerIndex}\n trigger={trigger}\n itemRole={itemRole}\n listHeight={listHeight}\n listOverflow={listOverflow}\n handleGlobalToggle={handleGlobalToggle}\n closeOnSelect={closeOnSelect}\n onHover={onHover}\n onItemSelect={onItemSelect}\n onItemClick={onItemClick}\n listWidth={listWidth}\n variant={variant}\n hasArrow={hasArrow}\n size={size}\n />\n ))}\n </Ul>\n </StyledPopover>\n );\n }\n\n return (\n <DropdownItem\n item={item}\n index={index}\n focusedPath={focusedPath}\n currentLevel={currentLevel}\n itemRole={itemRole}\n handleGlobalToggle={handleGlobalToggle}\n closeOnSelect={closeOnSelect}\n onHover={onHover}\n onItemSelect={onItemSelect}\n onItemClick={onItemClick}\n variant={variant}\n size={size}\n />\n );\n};\n\nexport { DropdownInner };\n"],"names":["DropdownInner","_ref","item","currentLevel","focusedPath","path","dispatchPath","index","trigger","itemRole","listHeight","listOverflow","handleGlobalToggle","closeOnSelect","onHover","onItemSelect","onItemClick","listWidth","variant","hasArrow","size","handleToggle","opened","type","value","toString","level","isCurrentListOpen","listId","concat","nextLevel","items","React","createElement","StyledPopover","usePortal","placement","target","DropdownItem","ariaControls","ariaExpanded","ariaLevel","ariaLabel","label","onToggle","isFocusTrapped","preventOverflow","Ul","role","id","isInnerUl","map","innerItem","innerIndex","key"],"mappings":"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"}
@@ -1,8 +1,9 @@
1
1
  import React, { useRef, useEffect } from 'react';
2
2
  import { classes } from '../../Dropdown.tokens.js';
3
3
  import { cx } from '../../../../utils/index.js';
4
- import { Divider, Wrapper, StyledContentLeft, StyledText, StyledContentRight, DisclosureIconWrapper } from './DropdownItem.styles.js';
4
+ import '@linaria/react';
5
5
  import { IconDisclosureRight } from '../../../_Icon/Icons/IconDisclosureRight.js';
6
+ import { Divider, Wrapper, StyledContentLeft, StyledText, StyledContentRight, DisclosureIconWrapper } from './DropdownItem.styles.js';
6
7
 
7
8
  var DropdownItem = function DropdownItem(_ref) {
8
9
  var item = _ref.item,
@@ -1 +1 @@
1
- {"version":3,"file":"DropdownItem.js","sources":["../../../../../src/components/Dropdown/ui/DropdownItem/DropdownItem.tsx"],"sourcesContent":["import React, { useEffect, useRef, FC } from 'react';\n\nimport { classes } from '../../Dropdown.tokens';\nimport { cx } from '../../../../utils';\nimport { IconDisclosureRight } from '../../../_Icon';\n\nimport {\n StyledContentLeft,\n StyledContentRight,\n StyledText,\n Wrapper,\n DisclosureIconWrapper,\n Divider,\n} from './DropdownItem.styles';\nimport type { DropdownItemProps } from './DropdownItem.type';\n\nexport const DropdownItem: FC<DropdownItemProps> = ({\n item,\n path,\n focusedPath,\n currentLevel,\n index,\n itemRole,\n closeOnSelect,\n handleGlobalToggle,\n onHover,\n onItemSelect,\n onItemClick,\n ariaControls,\n ariaExpanded,\n ariaHasPopup,\n ariaLevel,\n ariaLabel,\n variant,\n hasArrow,\n size,\n}) => {\n const { value, label, disabled, isDisabled, contentLeft, contentRight, dividerBefore, dividerAfter } = item;\n\n const ref = useRef<HTMLLIElement | null>(null);\n\n const disclosureIconSize = size === 'xs' ? 'xs' : 's';\n const isDisabledClassName = disabled || isDisabled ? classes.dropdownItemIsDisabled : undefined;\n const focusedClass =\n currentLevel === focusedPath.length - 1 && index === focusedPath?.[currentLevel]\n ? classes.dropdownItemIsFocused\n : undefined;\n const activeClass = value === path?.[currentLevel + 1] ? classes.dropdownItemIsActive : undefined;\n\n useEffect(() => {\n if (focusedClass && ref?.current) {\n ref.current.scrollIntoView({\n behavior: 'smooth',\n block: 'center',\n inline: 'center',\n });\n }\n }, [focusedClass]);\n\n const handleClick = (event: React.MouseEvent<HTMLLIElement>): void => {\n if (disabled || isDisabled) {\n return;\n }\n\n if (onItemSelect) {\n onItemSelect(item, event);\n }\n\n if (onItemClick) {\n onItemClick(item, event);\n }\n\n if (handleGlobalToggle && closeOnSelect) {\n handleGlobalToggle(false, event);\n }\n };\n\n const handleHover = () => {\n if (onHover) {\n onHover(index);\n }\n };\n\n return (\n <>\n {dividerBefore && <Divider variant={variant} />}\n <Wrapper\n className={cx(isDisabledClassName, focusedClass, activeClass)}\n id={value.toString()}\n role={itemRole}\n ref={ref}\n aria-disabled={disabled || isDisabled}\n onClick={handleClick}\n onMouseEnter={handleHover}\n variant={variant}\n aria-controls={ariaControls}\n aria-expanded={ariaExpanded}\n aria-haspopup={ariaHasPopup}\n aria-level={ariaLevel}\n aria-label={ariaLabel}\n >\n {contentLeft && <StyledContentLeft>{contentLeft}</StyledContentLeft>}\n <StyledText>{label}</StyledText>\n {contentRight && <StyledContentRight>{contentRight}</StyledContentRight>}\n\n {item.items && hasArrow && (\n <DisclosureIconWrapper>\n <IconDisclosureRight size={disclosureIconSize} color=\"inherit\" />\n </DisclosureIconWrapper>\n )}\n </Wrapper>\n {dividerAfter && <Divider variant={variant} />}\n </>\n );\n};\n"],"names":["DropdownItem","_ref","item","path","focusedPath","currentLevel","index","itemRole","closeOnSelect","handleGlobalToggle","onHover","onItemSelect","onItemClick","ariaControls","ariaExpanded","ariaHasPopup","ariaLevel","ariaLabel","variant","hasArrow","size","value","label","disabled","isDisabled","contentLeft","contentRight","dividerBefore","dividerAfter","ref","useRef","disclosureIconSize","isDisabledClassName","classes","dropdownItemIsDisabled","undefined","focusedClass","length","dropdownItemIsFocused","activeClass","dropdownItemIsActive","useEffect","current","scrollIntoView","behavior","block","inline","handleClick","event","handleHover","React","createElement","Fragment","Divider","Wrapper","className","cx","id","toString","role","onClick","onMouseEnter","StyledContentLeft","StyledText","StyledContentRight","items","DisclosureIconWrapper","IconDisclosureRight","color"],"mappings":"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"}
1
+ {"version":3,"file":"DropdownItem.js","sources":["../../../../../src/components/Dropdown/ui/DropdownItem/DropdownItem.tsx"],"sourcesContent":["import React, { useEffect, useRef, FC } from 'react';\n\nimport { classes } from '../../Dropdown.tokens';\nimport { cx } from '../../../../utils';\nimport { IconDisclosureRight } from '../../../_Icon';\n\nimport {\n StyledContentLeft,\n StyledContentRight,\n StyledText,\n Wrapper,\n DisclosureIconWrapper,\n Divider,\n} from './DropdownItem.styles';\nimport type { DropdownItemProps } from './DropdownItem.type';\n\nexport const DropdownItem: FC<DropdownItemProps> = ({\n item,\n path,\n focusedPath,\n currentLevel,\n index,\n itemRole,\n closeOnSelect,\n handleGlobalToggle,\n onHover,\n onItemSelect,\n onItemClick,\n ariaControls,\n ariaExpanded,\n ariaHasPopup,\n ariaLevel,\n ariaLabel,\n variant,\n hasArrow,\n size,\n}) => {\n const { value, label, disabled, isDisabled, contentLeft, contentRight, dividerBefore, dividerAfter } = item;\n\n const ref = useRef<HTMLLIElement | null>(null);\n\n const disclosureIconSize = size === 'xs' ? 'xs' : 's';\n const isDisabledClassName = disabled || isDisabled ? classes.dropdownItemIsDisabled : undefined;\n const focusedClass =\n currentLevel === focusedPath.length - 1 && index === focusedPath?.[currentLevel]\n ? classes.dropdownItemIsFocused\n : undefined;\n const activeClass = value === path?.[currentLevel + 1] ? classes.dropdownItemIsActive : undefined;\n\n useEffect(() => {\n if (focusedClass && ref?.current) {\n ref.current.scrollIntoView({\n behavior: 'smooth',\n block: 'center',\n inline: 'center',\n });\n }\n }, [focusedClass]);\n\n const handleClick = (event: React.MouseEvent<HTMLLIElement>): void => {\n if (disabled || isDisabled) {\n return;\n }\n\n if (onItemSelect) {\n onItemSelect(item, event);\n }\n\n if (onItemClick) {\n onItemClick(item, event);\n }\n\n if (handleGlobalToggle && closeOnSelect) {\n handleGlobalToggle(false, event);\n }\n };\n\n const handleHover = () => {\n if (onHover) {\n onHover(index);\n }\n };\n\n return (\n <>\n {dividerBefore && <Divider variant={variant} />}\n <Wrapper\n className={cx(isDisabledClassName, focusedClass, activeClass)}\n id={value.toString()}\n role={itemRole}\n ref={ref}\n aria-disabled={disabled || isDisabled}\n onClick={handleClick}\n onMouseEnter={handleHover}\n variant={variant}\n aria-controls={ariaControls}\n aria-expanded={ariaExpanded}\n aria-haspopup={ariaHasPopup}\n aria-level={ariaLevel}\n aria-label={ariaLabel}\n >\n {contentLeft && <StyledContentLeft>{contentLeft}</StyledContentLeft>}\n <StyledText>{label}</StyledText>\n {contentRight && <StyledContentRight>{contentRight}</StyledContentRight>}\n\n {item.items && hasArrow && (\n <DisclosureIconWrapper>\n <IconDisclosureRight size={disclosureIconSize} color=\"inherit\" />\n </DisclosureIconWrapper>\n )}\n </Wrapper>\n {dividerAfter && <Divider variant={variant} />}\n </>\n );\n};\n"],"names":["DropdownItem","_ref","item","path","focusedPath","currentLevel","index","itemRole","closeOnSelect","handleGlobalToggle","onHover","onItemSelect","onItemClick","ariaControls","ariaExpanded","ariaHasPopup","ariaLevel","ariaLabel","variant","hasArrow","size","value","label","disabled","isDisabled","contentLeft","contentRight","dividerBefore","dividerAfter","ref","useRef","disclosureIconSize","isDisabledClassName","classes","dropdownItemIsDisabled","undefined","focusedClass","length","dropdownItemIsFocused","activeClass","dropdownItemIsActive","useEffect","current","scrollIntoView","behavior","block","inline","handleClick","event","handleHover","React","createElement","Fragment","Divider","Wrapper","className","cx","id","toString","role","onClick","onMouseEnter","StyledContentLeft","StyledText","StyledContentRight","items","DisclosureIconWrapper","IconDisclosureRight","color"],"mappings":";;;;;;;IAgBaA,YAAmC,GAAG,SAAtCA,YAAmCA,CAAAC,IAAA,EAoB1C;AAAA,EAAA,IAnBFC,IAAI,GAAAD,IAAA,CAAJC,IAAI;IACJC,IAAI,GAAAF,IAAA,CAAJE,IAAI;IACJC,WAAW,GAAAH,IAAA,CAAXG,WAAW;IACXC,YAAY,GAAAJ,IAAA,CAAZI,YAAY;IACZC,KAAK,GAAAL,IAAA,CAALK,KAAK;IACLC,QAAQ,GAAAN,IAAA,CAARM,QAAQ;IACRC,aAAa,GAAAP,IAAA,CAAbO,aAAa;IACbC,kBAAkB,GAAAR,IAAA,CAAlBQ,kBAAkB;IAClBC,OAAO,GAAAT,IAAA,CAAPS,OAAO;IACPC,YAAY,GAAAV,IAAA,CAAZU,YAAY;IACZC,WAAW,GAAAX,IAAA,CAAXW,WAAW;IACXC,YAAY,GAAAZ,IAAA,CAAZY,YAAY;IACZC,YAAY,GAAAb,IAAA,CAAZa,YAAY;IACZC,YAAY,GAAAd,IAAA,CAAZc,YAAY;IACZC,SAAS,GAAAf,IAAA,CAATe,SAAS;IACTC,SAAS,GAAAhB,IAAA,CAATgB,SAAS;IACTC,OAAO,GAAAjB,IAAA,CAAPiB,OAAO;IACPC,QAAQ,GAAAlB,IAAA,CAARkB,QAAQ;IACRC,IAAI,GAAAnB,IAAA,CAAJmB,IAAI,CAAA;AAEJ,EAAA,IAAQC,KAAK,GAA0FnB,IAAI,CAAnGmB,KAAK;IAAEC,KAAK,GAAmFpB,IAAI,CAA5FoB,KAAK;IAAEC,QAAQ,GAAyErB,IAAI,CAArFqB,QAAQ;IAAEC,UAAU,GAA6DtB,IAAI,CAA3EsB,UAAU;IAAEC,WAAW,GAAgDvB,IAAI,CAA/DuB,WAAW;IAAEC,YAAY,GAAkCxB,IAAI,CAAlDwB,YAAY;IAAEC,aAAa,GAAmBzB,IAAI,CAApCyB,aAAa;IAAEC,YAAY,GAAK1B,IAAI,CAArB0B,YAAY,CAAA;AAElG,EAAA,IAAMC,GAAG,GAAGC,MAAM,CAAuB,IAAI,CAAC,CAAA;EAE9C,IAAMC,kBAAkB,GAAGX,IAAI,KAAK,IAAI,GAAG,IAAI,GAAG,GAAG,CAAA;EACrD,IAAMY,mBAAmB,GAAGT,QAAQ,IAAIC,UAAU,GAAGS,OAAO,CAACC,sBAAsB,GAAGC,SAAS,CAAA;EAC/F,IAAMC,YAAY,GACd/B,YAAY,KAAKD,WAAW,CAACiC,MAAM,GAAG,CAAC,IAAI/B,KAAK,MAAKF,WAAW,KAAXA,IAAAA,IAAAA,WAAW,KAAXA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,WAAW,CAAGC,YAAY,CAAC,CAAA,GAC1E4B,OAAO,CAACK,qBAAqB,GAC7BH,SAAS,CAAA;AACnB,EAAA,IAAMI,WAAW,GAAGlB,KAAK,MAAKlB,IAAI,KAAA,IAAA,IAAJA,IAAI,KAAJA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,IAAI,CAAGE,YAAY,GAAG,CAAC,CAAC,CAAA,GAAG4B,OAAO,CAACO,oBAAoB,GAAGL,SAAS,CAAA;AAEjGM,EAAAA,SAAS,CAAC,YAAM;IACZ,IAAIL,YAAY,IAAIP,GAAG,KAAA,IAAA,IAAHA,GAAG,KAAHA,KAAAA,CAAAA,IAAAA,GAAG,CAAEa,OAAO,EAAE;AAC9Bb,MAAAA,GAAG,CAACa,OAAO,CAACC,cAAc,CAAC;AACvBC,QAAAA,QAAQ,EAAE,QAAQ;AAClBC,QAAAA,KAAK,EAAE,QAAQ;AACfC,QAAAA,MAAM,EAAE,QAAA;AACZ,OAAC,CAAC,CAAA;AACN,KAAA;AACJ,GAAC,EAAE,CAACV,YAAY,CAAC,CAAC,CAAA;AAElB,EAAA,IAAMW,WAAW,GAAG,SAAdA,WAAWA,CAAIC,KAAsC,EAAW;IAClE,IAAIzB,QAAQ,IAAIC,UAAU,EAAE;AACxB,MAAA,OAAA;AACJ,KAAA;AAEA,IAAA,IAAIb,YAAY,EAAE;AACdA,MAAAA,YAAY,CAACT,IAAI,EAAE8C,KAAK,CAAC,CAAA;AAC7B,KAAA;AAEA,IAAA,IAAIpC,WAAW,EAAE;AACbA,MAAAA,WAAW,CAACV,IAAI,EAAE8C,KAAK,CAAC,CAAA;AAC5B,KAAA;IAEA,IAAIvC,kBAAkB,IAAID,aAAa,EAAE;AACrCC,MAAAA,kBAAkB,CAAC,KAAK,EAAEuC,KAAK,CAAC,CAAA;AACpC,KAAA;GACH,CAAA;AAED,EAAA,IAAMC,WAAW,GAAG,SAAdA,WAAWA,GAAS;AACtB,IAAA,IAAIvC,OAAO,EAAE;MACTA,OAAO,CAACJ,KAAK,CAAC,CAAA;AAClB,KAAA;GACH,CAAA;AAED,EAAA,oBACI4C,KAAA,CAAAC,aAAA,CAAAD,KAAA,CAAAE,QAAA,EACKzB,IAAAA,EAAAA,aAAa,iBAAIuB,KAAA,CAAAC,aAAA,CAACE,OAAO,EAAA;AAACnC,IAAAA,OAAO,EAAEA,OAAAA;AAAQ,GAAE,CAAC,eAC/CgC,KAAA,CAAAC,aAAA,CAACG,OAAO,EAAA;IACJC,SAAS,EAAEC,EAAE,CAACxB,mBAAmB,EAAEI,YAAY,EAAEG,WAAW,CAAE;AAC9DkB,IAAAA,EAAE,EAAEpC,KAAK,CAACqC,QAAQ,EAAG;AACrBC,IAAAA,IAAI,EAAEpD,QAAS;AACfsB,IAAAA,GAAG,EAAEA,GAAI;IACT,eAAeN,EAAAA,QAAQ,IAAIC,UAAW;AACtCoC,IAAAA,OAAO,EAAEb,WAAY;AACrBc,IAAAA,YAAY,EAAEZ,WAAY;AAC1B/B,IAAAA,OAAO,EAAEA,OAAQ;AACjB,IAAA,eAAA,EAAeL,YAAa;AAC5B,IAAA,eAAA,EAAeC,YAAa;AAC5B,IAAA,eAAA,EAAeC,YAAa;AAC5B,IAAA,YAAA,EAAYC,SAAU;IACtB,YAAYC,EAAAA,SAAAA;GAEXQ,EAAAA,WAAW,iBAAIyB,KAAA,CAAAC,aAAA,CAACW,iBAAiB,QAAErC,WAA+B,CAAC,eACpEyB,KAAA,CAAAC,aAAA,CAACY,UAAU,QAAEzC,KAAkB,CAAC,EAC/BI,YAAY,iBAAIwB,KAAA,CAAAC,aAAA,CAACa,kBAAkB,EAAEtC,IAAAA,EAAAA,YAAiC,CAAC,EAEvExB,IAAI,CAAC+D,KAAK,IAAI9C,QAAQ,iBACnB+B,KAAA,CAAAC,aAAA,CAACe,qBAAqB,qBAClBhB,KAAA,CAAAC,aAAA,CAACgB,mBAAmB,EAAA;AAAC/C,IAAAA,IAAI,EAAEW,kBAAmB;AAACqC,IAAAA,KAAK,EAAC,SAAA;GAAW,CAC7C,CAEtB,CAAC,EACTxC,YAAY,iBAAIsB,KAAA,CAAAC,aAAA,CAACE,OAAO,EAAA;AAACnC,IAAAA,OAAO,EAAEA,OAAAA;AAAQ,GAAE,CAC/C,CAAC,CAAA;AAEX;;;;"}
@@ -1,5 +1,7 @@
1
1
  import './DropdownItem.styles_12e50g5.css';
2
2
  import { styled } from '@linaria/react';
3
+ import 'focus-visible';
4
+ import 'styled-components';
3
5
 
4
6
  var StyledContentLeft = /*#__PURE__*/styled('div')({
5
7
  name: "StyledContentLeft",
@@ -1 +1 @@
1
- {"version":3,"file":"DropdownItem.styles.js","sources":["../../../../../src/components/Dropdown/ui/DropdownItemOld/DropdownItem.styles.ts"],"sourcesContent":["import { css } from '@linaria/core';\nimport { styled } from '@linaria/react';\n\nimport { classes, tokens } from '../../Dropdown.tokens';\nimport { addFocus, applyEllipsis } from '../../../../mixins';\n\nexport const StyledContentLeft = styled.div`\n display: inline-flex;\n\n min-width: var(${tokens.itemContentLeftWidth});\n color: var(${tokens.itemContentLeftColor});\n`;\n\nexport const StyledContentRight = styled.div`\n margin-left: auto;\n display: inline-flex;\n\n min-width: var(${tokens.itemContentRightWidth});\n color: var(${tokens.itemContentRightColor});\n`;\n\nexport const StyledText = styled.div`\n ${applyEllipsis()};\n`;\n\n// INFO: Для возможности переиспользования стилей в других компонентах\nexport const baseContent = `\n box-sizing: content-box;\n display: flex;\n align-items: center;\n user-select: none;\n\n :focus {\n outline: none;\n }\n\n ${addFocus({\n outlineSize: '0.0625rem',\n outlineOffset: '0',\n outlineColor: `var(${tokens.focusColor})`,\n outlineRadius: `var(${tokens.itemBorderRadius})`,\n hasTransition: false,\n })};\n\n width: auto;\n\n font-family: var(${tokens.itemFontFamily});\n font-size: var(${tokens.itemFontSize});\n font-style: var(${tokens.itemFontStyle});\n font-weight: var(${tokens.itemFontWeightBold});\n letter-spacing: var(${tokens.itemFontLetterSpacing});\n line-height: var(${tokens.itemFontLineHeight});\n\n background: var(${tokens.itemBackground});\n color: var(${tokens.itemColor});\n border-radius: var(${tokens.itemBorderRadius});\n\n width: var(${tokens.itemWidth});\n height: var(${tokens.itemHeight});\n\n padding: var(${tokens.itemPaddingTop}) var(${tokens.itemPaddingRight}) var(${tokens.itemPaddingBottom})\n var(${tokens.itemPaddingLeft});\n\n margin: var(${tokens.itemMarginTop}) var(${tokens.itemMarginRight}) var(${tokens.itemMarginBottom})\n var(${tokens.itemMarginLeft});\n\n &:hover:not(.${classes.dropdownItemIsDisabled}) {\n cursor: pointer;\n background: var(${tokens.itemBackgroundHover});\n }\n\n &.${String(classes.dropdownItemIsSelected)} {\n color: var(${tokens.itemColorSelected});\n background: var(${tokens.itemBackgroundSelected});\n\n &:hover:not(.${classes.dropdownItemIsDisabled}) {\n background: var(${tokens.itemBackgroundSelectedHover});\n }\n }\n\n &.${classes.dropdownItemIsDisabled} {\n opacity: var(${tokens.disabledOpacity});\n cursor: not-allowed;\n }\n`;\n\nexport const base = css`\n ${baseContent};\n`;\n"],"names":["StyledContentLeft","styled","name","class","propsAsIs","StyledContentRight","StyledText","base"],"mappings":";;AAMO,IAAMA,iBAAiB,gBAAGC,MAAM,CAAA,KAAA,CAAA,CAAA;AAAAC,EAAAA,IAAA,EAAA,mBAAA;AAAAC,EAAAA,OAAAA,EAAA,UAAA;AAAAC,EAAAA,SAAA,EAAA,KAAA;AAAA,CAKtC,EAAA;AAEM,IAAMC,kBAAkB,gBAAGJ,MAAM,CAAA,KAAA,CAAA,CAAA;AAAAC,EAAAA,IAAA,EAAA,oBAAA;AAAAC,EAAAA,OAAAA,EAAA,SAAA;AAAAC,EAAAA,SAAA,EAAA,KAAA;AAAA,CAMvC,EAAA;AAEM,IAAME,UAAU,gBAAGL,MAAM,CAAA,KAAA,CAAA,CAAA;AAAAC,EAAAA,IAAA,EAAA,YAAA;AAAAC,EAAAA,OAAAA,EAAA,UAAA;AAAAC,EAAAA,SAAA,EAAA,KAAA;AAAA,CAE/B,EAAA;AA+DM,IAAMG,IAAI,GAEhB;;;;"}
1
+ {"version":3,"file":"DropdownItem.styles.js","sources":["../../../../../src/components/Dropdown/ui/DropdownItemOld/DropdownItem.styles.ts"],"sourcesContent":["import { css } from '@linaria/core';\nimport { styled } from '@linaria/react';\n\nimport { classes, tokens } from '../../Dropdown.tokens';\nimport { addFocus, applyEllipsis } from '../../../../mixins';\n\nexport const StyledContentLeft = styled.div`\n display: inline-flex;\n\n min-width: var(${tokens.itemContentLeftWidth});\n color: var(${tokens.itemContentLeftColor});\n`;\n\nexport const StyledContentRight = styled.div`\n margin-left: auto;\n display: inline-flex;\n\n min-width: var(${tokens.itemContentRightWidth});\n color: var(${tokens.itemContentRightColor});\n`;\n\nexport const StyledText = styled.div`\n ${applyEllipsis()};\n`;\n\n// INFO: Для возможности переиспользования стилей в других компонентах\nexport const baseContent = `\n box-sizing: content-box;\n display: flex;\n align-items: center;\n user-select: none;\n\n :focus {\n outline: none;\n }\n\n ${addFocus({\n outlineSize: '0.0625rem',\n outlineOffset: '0',\n outlineColor: `var(${tokens.focusColor})`,\n outlineRadius: `var(${tokens.itemBorderRadius})`,\n hasTransition: false,\n })};\n\n width: auto;\n\n font-family: var(${tokens.itemFontFamily});\n font-size: var(${tokens.itemFontSize});\n font-style: var(${tokens.itemFontStyle});\n font-weight: var(${tokens.itemFontWeightBold});\n letter-spacing: var(${tokens.itemFontLetterSpacing});\n line-height: var(${tokens.itemFontLineHeight});\n\n background: var(${tokens.itemBackground});\n color: var(${tokens.itemColor});\n border-radius: var(${tokens.itemBorderRadius});\n\n width: var(${tokens.itemWidth});\n height: var(${tokens.itemHeight});\n\n padding: var(${tokens.itemPaddingTop}) var(${tokens.itemPaddingRight}) var(${tokens.itemPaddingBottom})\n var(${tokens.itemPaddingLeft});\n\n margin: var(${tokens.itemMarginTop}) var(${tokens.itemMarginRight}) var(${tokens.itemMarginBottom})\n var(${tokens.itemMarginLeft});\n\n &:hover:not(.${classes.dropdownItemIsDisabled}) {\n cursor: pointer;\n background: var(${tokens.itemBackgroundHover});\n }\n\n &.${String(classes.dropdownItemIsSelected)} {\n color: var(${tokens.itemColorSelected});\n background: var(${tokens.itemBackgroundSelected});\n\n &:hover:not(.${classes.dropdownItemIsDisabled}) {\n background: var(${tokens.itemBackgroundSelectedHover});\n }\n }\n\n &.${classes.dropdownItemIsDisabled} {\n opacity: var(${tokens.disabledOpacity});\n cursor: not-allowed;\n }\n`;\n\nexport const base = css`\n ${baseContent};\n`;\n"],"names":["StyledContentLeft","styled","name","class","propsAsIs","StyledContentRight","StyledText","base"],"mappings":";;;;AAMO,IAAMA,iBAAiB,gBAAGC,MAAM,CAAA,KAAA,CAAA,CAAA;AAAAC,EAAAA,IAAA,EAAA,mBAAA;AAAAC,EAAAA,OAAAA,EAAA,UAAA;AAAAC,EAAAA,SAAA,EAAA,KAAA;AAAA,CAKtC,EAAA;AAEM,IAAMC,kBAAkB,gBAAGJ,MAAM,CAAA,KAAA,CAAA,CAAA;AAAAC,EAAAA,IAAA,EAAA,oBAAA;AAAAC,EAAAA,OAAAA,EAAA,SAAA;AAAAC,EAAAA,SAAA,EAAA,KAAA;AAAA,CAMvC,EAAA;AAEM,IAAME,UAAU,gBAAGL,MAAM,CAAA,KAAA,CAAA,CAAA;AAAAC,EAAAA,IAAA,EAAA,YAAA;AAAAC,EAAAA,OAAAA,EAAA,UAAA;AAAAC,EAAAA,SAAA,EAAA,KAAA;AAAA,CAE/B,EAAA;AA+DM,IAAMG,IAAI,GAEhB;;;;"}
@@ -1,5 +1,6 @@
1
1
  import './Dropdown.styles_3w3l45.css';
2
2
  import { styled } from '@linaria/react';
3
+ import '@linaria/core';
3
4
  import { component } from '../../../../engines/common.js';
4
5
  import { popoverConfig } from '../../../Popover/Popover.js';
5
6
 
@@ -1 +1 @@
1
- {"version":3,"file":"Dropdown.styles.js","sources":["../../../../../src/components/Dropdown/ui/DropdownOld/Dropdown.styles.ts"],"sourcesContent":["import { styled } from '@linaria/react';\n\nimport { component } from '../../../../engines';\nimport { popoverConfig, popoverClasses } from '../../../Popover';\n\nimport { tokens } from './DropdownOld.tokens';\n\n// issue #823\nconst Popover = component(popoverConfig);\n\nexport const StyledPopover = styled(Popover)`\n .${String(popoverClasses.target)} {\n display: block;\n }\n`;\n\nexport const StyledDropdown = styled.div`\n box-sizing: border-box;\n\n background: var(${tokens.background});\n box-shadow: var(${tokens.boxShadow});\n\n border-radius: var(${tokens.borderRadius});\n width: var(${tokens.width});\n height: var(${tokens.height});\n\n padding: var(${tokens.paddingTop}) var(${tokens.paddingRight}) var(${tokens.paddingBottom})\n var(${tokens.paddingLeft});\n`;\n"],"names":["Popover","component","popoverConfig","_exp","StyledPopover","styled","name","class","propsAsIs","StyledDropdown"],"mappings":";;;;AAOA;AACA,IAAMA,OAAO,gBAAGC,SAAS,CAACC,aAAa,CAAC,CAAA;AAAC,IAAAC,IAAA,GAPvBA,SAOuBA,IAAAA,GAAA;AAAA,EAAA,OAELH,OAAO,CAAA;AAAA,CAAA,CAAA;AAApC,IAAMI,aAAa,gBAAGC,MAAM,CAAAF,IAAA,EAAA,CAAA,CAAA;AAAAG,EAAAA,IAAA,EAAA,eAAA;AAAAC,EAAAA,OAAAA,EAAA,UAAA;AAAAC,EAAAA,SAAA,EAAA,IAAA;AAAA,CAIlC,EAAA;AAEM,IAAMC,cAAc,gBAAGJ,MAAM,CAAA,KAAA,CAAA,CAAA;AAAAC,EAAAA,IAAA,EAAA,gBAAA;AAAAC,EAAAA,OAAAA,EAAA,UAAA;AAAAC,EAAAA,SAAA,EAAA,KAAA;AAAA,CAYnC;;;;"}
1
+ {"version":3,"file":"Dropdown.styles.js","sources":["../../../../../src/components/Dropdown/ui/DropdownOld/Dropdown.styles.ts"],"sourcesContent":["import { styled } from '@linaria/react';\n\nimport { component } from '../../../../engines';\nimport { popoverConfig, popoverClasses } from '../../../Popover';\n\nimport { tokens } from './DropdownOld.tokens';\n\n// issue #823\nconst Popover = component(popoverConfig);\n\nexport const StyledPopover = styled(Popover)`\n .${String(popoverClasses.target)} {\n display: block;\n }\n`;\n\nexport const StyledDropdown = styled.div`\n box-sizing: border-box;\n\n background: var(${tokens.background});\n box-shadow: var(${tokens.boxShadow});\n\n border-radius: var(${tokens.borderRadius});\n width: var(${tokens.width});\n height: var(${tokens.height});\n\n padding: var(${tokens.paddingTop}) var(${tokens.paddingRight}) var(${tokens.paddingBottom})\n var(${tokens.paddingLeft});\n`;\n"],"names":["Popover","component","popoverConfig","_exp","StyledPopover","styled","name","class","propsAsIs","StyledDropdown"],"mappings":";;;;;AAOA;AACA,IAAMA,OAAO,gBAAGC,SAAS,CAACC,aAAa,CAAC,CAAA;AAAC,IAAAC,IAAA,GAPvBA,SAOuBA,IAAAA,GAAA;AAAA,EAAA,OAELH,OAAO,CAAA;AAAA,CAAA,CAAA;AAApC,IAAMI,aAAa,gBAAGC,MAAM,CAAAF,IAAA,EAAA,CAAA,CAAA;AAAAG,EAAAA,IAAA,EAAA,eAAA;AAAAC,EAAAA,OAAAA,EAAA,UAAA;AAAAC,EAAAA,SAAA,EAAA,IAAA;AAAA,CAIlC,EAAA;AAEM,IAAMC,cAAc,gBAAGJ,MAAM,CAAA,KAAA,CAAA,CAAA;AAAAC,EAAAA,IAAA,EAAA,gBAAA;AAAAC,EAAAA,OAAAA,EAAA,UAAA;AAAAC,EAAAA,SAAA,EAAA,KAAA;AAAA,CAYnC;;;;"}
@@ -1,13 +1,14 @@
1
1
  import { objectWithoutProperties as _objectWithoutProperties, slicedToArray as _slicedToArray } from '../../_virtual/_rollupPluginBabelHelpers.js';
2
2
  import React, { forwardRef, useState, useRef, useEffect } from 'react';
3
3
  import { useForkRef } from '@salutejs/plasma-core';
4
+ import '../../utils/react.js';
5
+ import { keyCodes } from '../../utils/constants.js';
6
+ import { clearSelection } from './utils/clearSelection.js';
7
+ import { selectText } from './utils/selectText.js';
4
8
  import { classes } from './Editable.tokens.js';
5
9
  import { StyledPlacehpolder, StyledInput, EditButton, base } from './Editable.styles.js';
6
10
  import { base as base$1 } from './variations/_view/base.js';
7
11
  import { base as base$2 } from './variations/_size/base.js';
8
- import { clearSelection } from './utils/clearSelection.js';
9
- import { selectText } from './utils/selectText.js';
10
- import { keyCodes } from '../../utils/constants.js';
11
12
 
12
13
  var _excluded = ["textComponent", "value", "icon", "maxLength", "spellCheck", "placeholder", "name", "onChange", "onBlur", "onPaste"];
13
14
  var editableRoot = function editableRoot(typograpyVariants) {
@@ -1 +1 @@
1
- {"version":3,"file":"Editable.js","sources":["../../../src/components/Editable/Editable.tsx"],"sourcesContent":["import React, { forwardRef, useEffect, useRef, useState } from 'react';\nimport type {\n ChangeEvent,\n ClipboardEvent,\n FocusEvent,\n ClipboardEventHandler,\n FocusEventHandler,\n FormEventHandler,\n KeyboardEventHandler,\n} from 'react';\nimport { useForkRef } from '@salutejs/plasma-core';\n\nimport type { RootProps } from '../../engines';\nimport { constants } from '../../utils';\n\nimport type { EditableProps, TypographyVariants } from './Editable.types';\nimport { clearSelection, selectText } from './utils';\nimport { classes } from './Editable.tokens';\nimport { base, EditButton, StyledInput, StyledPlacehpolder } from './Editable.styles';\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as sizeCSS } from './variations/_size/base';\n\nexport const editableRoot = (typograpyVariants: TypographyVariants) => (\n Root: RootProps<HTMLSpanElement, Omit<EditableProps<typeof typograpyVariants>, 'textComponent'>>,\n) =>\n forwardRef<HTMLInputElement, EditableProps<typeof typograpyVariants>>(\n (\n {\n textComponent,\n value,\n icon,\n maxLength,\n spellCheck = 'false',\n placeholder,\n name,\n onChange,\n onBlur,\n onPaste,\n ...props\n },\n outerRef,\n ) => {\n const Component = textComponent;\n\n const [isEditing, setIsEditing] = useState(false);\n\n const inputRef = useRef<HTMLDivElement>(null);\n const innerRef = useForkRef(inputRef, outerRef);\n\n const prevValueRef = useRef(value || '');\n\n const handlePaste: ClipboardEventHandler<HTMLDivElement> = (e) => {\n if (!inputRef.current) {\n return;\n }\n\n e.preventDefault();\n\n const text = e.clipboardData.getData('text/plain').replace(/[\\n\\r]/gi, '');\n\n if (document.queryCommandSupported('insertText')) {\n document.execCommand('insertText', false, text);\n } else {\n try {\n navigator.clipboard.writeText(text);\n } catch {\n inputRef.current.textContent = text;\n }\n }\n\n if (onPaste) {\n onPaste(e as ClipboardEvent<HTMLInputElement>);\n }\n };\n\n const handleBlur: FocusEventHandler<HTMLDivElement> = (e) => {\n setIsEditing(false);\n\n clearSelection();\n\n // NOTE: Remove <br> tag inserted by Safari\n const editableElement = inputRef.current;\n if (editableElement && editableElement.innerHTML === '<br>') {\n editableElement.innerHTML = '';\n }\n\n if (onBlur) {\n onBlur(e as FocusEvent<HTMLInputElement>);\n }\n };\n\n const handleFocus: FocusEventHandler = () => {\n setIsEditing(true);\n\n inputRef.current && selectText(inputRef.current);\n };\n\n const handleEditClick = () => {\n inputRef.current?.focus();\n };\n\n const handleKeyDown: KeyboardEventHandler = (e) => {\n if ([constants.keyCodes.Enter, constants.keyCodes.Escape].includes(e.keyCode)) {\n inputRef.current?.blur();\n }\n };\n\n const handleChange: FormEventHandler = (e) => {\n if (!inputRef.current) {\n return;\n }\n\n const contentLength = inputRef.current.textContent?.length || 0;\n\n if (!maxLength || contentLength <= maxLength) {\n prevValueRef.current = inputRef.current.textContent || '';\n\n onChange && onChange(e as ChangeEvent<HTMLInputElement>);\n } else {\n inputRef.current.textContent = prevValueRef.current;\n }\n };\n\n useEffect(() => {\n if (!inputRef.current || typeof value === 'undefined' || value === inputRef.current.textContent) {\n return;\n }\n\n inputRef.current.textContent = value;\n }, [value, textComponent]);\n\n return (\n <Root {...props}>\n <Component\n ref={innerRef}\n className={classes.editableTextBox}\n role=\"textbox\"\n spellCheck={spellCheck}\n contentEditable\n onPaste={handlePaste}\n onInput={handleChange}\n onBlur={handleBlur}\n onFocus={handleFocus}\n onKeyDown={handleKeyDown}\n aria-label={placeholder}\n />\n {prevValueRef.current?.length === 0 && !isEditing && (\n <Component>\n <StyledPlacehpolder onClick={handleEditClick}>{placeholder}</StyledPlacehpolder>\n </Component>\n )}\n <StyledInput type=\"hidden\" value={prevValueRef.current} name={name} />\n <EditButton onClick={handleEditClick} isHidden={isEditing}>\n {icon}\n </EditButton>\n </Root>\n );\n },\n );\n\nexport const editableConfig = (typographyVariants: TypographyVariants) => ({\n name: 'Editable',\n tag: 'span',\n layout: editableRoot(typographyVariants),\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":["editableRoot","typograpyVariants","Root","forwardRef","_ref","outerRef","_prevValueRef$current","textComponent","value","icon","maxLength","_ref$spellCheck","spellCheck","placeholder","name","onChange","onBlur","onPaste","props","_objectWithoutProperties","_excluded","Component","_useState","useState","_useState2","_slicedToArray","isEditing","setIsEditing","inputRef","useRef","innerRef","useForkRef","prevValueRef","handlePaste","e","current","preventDefault","text","clipboardData","getData","replace","document","queryCommandSupported","execCommand","navigator","clipboard","writeText","_unused","textContent","handleBlur","clearSelection","editableElement","innerHTML","handleFocus","selectText","handleEditClick","_inputRef$current","focus","handleKeyDown","constants","Enter","Escape","includes","keyCode","_inputRef$current2","blur","handleChange","_inputRef$current$tex","contentLength","length","useEffect","React","createElement","ref","className","classes","editableTextBox","role","contentEditable","onInput","onFocus","onKeyDown","StyledPlacehpolder","onClick","StyledInput","type","EditButton","isHidden","editableConfig","typographyVariants","tag","layout","base","variations","view","css","viewCSS","size","sizeCSS","defaults"],"mappings":"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"}
1
+ {"version":3,"file":"Editable.js","sources":["../../../src/components/Editable/Editable.tsx"],"sourcesContent":["import React, { forwardRef, useEffect, useRef, useState } from 'react';\nimport type {\n ChangeEvent,\n ClipboardEvent,\n FocusEvent,\n ClipboardEventHandler,\n FocusEventHandler,\n FormEventHandler,\n KeyboardEventHandler,\n} from 'react';\nimport { useForkRef } from '@salutejs/plasma-core';\n\nimport type { RootProps } from '../../engines';\nimport { constants } from '../../utils';\n\nimport type { EditableProps, TypographyVariants } from './Editable.types';\nimport { clearSelection, selectText } from './utils';\nimport { classes } from './Editable.tokens';\nimport { base, EditButton, StyledInput, StyledPlacehpolder } from './Editable.styles';\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as sizeCSS } from './variations/_size/base';\n\nexport const editableRoot = (typograpyVariants: TypographyVariants) => (\n Root: RootProps<HTMLSpanElement, Omit<EditableProps<typeof typograpyVariants>, 'textComponent'>>,\n) =>\n forwardRef<HTMLInputElement, EditableProps<typeof typograpyVariants>>(\n (\n {\n textComponent,\n value,\n icon,\n maxLength,\n spellCheck = 'false',\n placeholder,\n name,\n onChange,\n onBlur,\n onPaste,\n ...props\n },\n outerRef,\n ) => {\n const Component = textComponent;\n\n const [isEditing, setIsEditing] = useState(false);\n\n const inputRef = useRef<HTMLDivElement>(null);\n const innerRef = useForkRef(inputRef, outerRef);\n\n const prevValueRef = useRef(value || '');\n\n const handlePaste: ClipboardEventHandler<HTMLDivElement> = (e) => {\n if (!inputRef.current) {\n return;\n }\n\n e.preventDefault();\n\n const text = e.clipboardData.getData('text/plain').replace(/[\\n\\r]/gi, '');\n\n if (document.queryCommandSupported('insertText')) {\n document.execCommand('insertText', false, text);\n } else {\n try {\n navigator.clipboard.writeText(text);\n } catch {\n inputRef.current.textContent = text;\n }\n }\n\n if (onPaste) {\n onPaste(e as ClipboardEvent<HTMLInputElement>);\n }\n };\n\n const handleBlur: FocusEventHandler<HTMLDivElement> = (e) => {\n setIsEditing(false);\n\n clearSelection();\n\n // NOTE: Remove <br> tag inserted by Safari\n const editableElement = inputRef.current;\n if (editableElement && editableElement.innerHTML === '<br>') {\n editableElement.innerHTML = '';\n }\n\n if (onBlur) {\n onBlur(e as FocusEvent<HTMLInputElement>);\n }\n };\n\n const handleFocus: FocusEventHandler = () => {\n setIsEditing(true);\n\n inputRef.current && selectText(inputRef.current);\n };\n\n const handleEditClick = () => {\n inputRef.current?.focus();\n };\n\n const handleKeyDown: KeyboardEventHandler = (e) => {\n if ([constants.keyCodes.Enter, constants.keyCodes.Escape].includes(e.keyCode)) {\n inputRef.current?.blur();\n }\n };\n\n const handleChange: FormEventHandler = (e) => {\n if (!inputRef.current) {\n return;\n }\n\n const contentLength = inputRef.current.textContent?.length || 0;\n\n if (!maxLength || contentLength <= maxLength) {\n prevValueRef.current = inputRef.current.textContent || '';\n\n onChange && onChange(e as ChangeEvent<HTMLInputElement>);\n } else {\n inputRef.current.textContent = prevValueRef.current;\n }\n };\n\n useEffect(() => {\n if (!inputRef.current || typeof value === 'undefined' || value === inputRef.current.textContent) {\n return;\n }\n\n inputRef.current.textContent = value;\n }, [value, textComponent]);\n\n return (\n <Root {...props}>\n <Component\n ref={innerRef}\n className={classes.editableTextBox}\n role=\"textbox\"\n spellCheck={spellCheck}\n contentEditable\n onPaste={handlePaste}\n onInput={handleChange}\n onBlur={handleBlur}\n onFocus={handleFocus}\n onKeyDown={handleKeyDown}\n aria-label={placeholder}\n />\n {prevValueRef.current?.length === 0 && !isEditing && (\n <Component>\n <StyledPlacehpolder onClick={handleEditClick}>{placeholder}</StyledPlacehpolder>\n </Component>\n )}\n <StyledInput type=\"hidden\" value={prevValueRef.current} name={name} />\n <EditButton onClick={handleEditClick} isHidden={isEditing}>\n {icon}\n </EditButton>\n </Root>\n );\n },\n );\n\nexport const editableConfig = (typographyVariants: TypographyVariants) => ({\n name: 'Editable',\n tag: 'span',\n layout: editableRoot(typographyVariants),\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":["editableRoot","typograpyVariants","Root","forwardRef","_ref","outerRef","_prevValueRef$current","textComponent","value","icon","maxLength","_ref$spellCheck","spellCheck","placeholder","name","onChange","onBlur","onPaste","props","_objectWithoutProperties","_excluded","Component","_useState","useState","_useState2","_slicedToArray","isEditing","setIsEditing","inputRef","useRef","innerRef","useForkRef","prevValueRef","handlePaste","e","current","preventDefault","text","clipboardData","getData","replace","document","queryCommandSupported","execCommand","navigator","clipboard","writeText","_unused","textContent","handleBlur","clearSelection","editableElement","innerHTML","handleFocus","selectText","handleEditClick","_inputRef$current","focus","handleKeyDown","constants","Enter","Escape","includes","keyCode","_inputRef$current2","blur","handleChange","_inputRef$current$tex","contentLength","length","useEffect","React","createElement","ref","className","classes","editableTextBox","role","contentEditable","onInput","onFocus","onKeyDown","StyledPlacehpolder","onClick","StyledInput","type","EditButton","isHidden","editableConfig","typographyVariants","tag","layout","base","variations","view","css","viewCSS","size","sizeCSS","defaults"],"mappings":"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"}
@@ -1,4 +1,6 @@
1
1
  import { canUseDOM } from '../../../utils/canUseDOM.js';
2
+ import 'react';
3
+ import '../../../utils/react.js';
2
4
 
3
5
  var clearSelection = function clearSelection() {
4
6
  if (!canUseDOM) {
@@ -1 +1 @@
1
- {"version":3,"file":"clearSelection.js","sources":["../../../../src/components/Editable/utils/clearSelection.ts"],"sourcesContent":["import { canUseDOM } from '../../../utils';\n\ninterface CustomDocument extends Document {\n selection?: {\n empty: () => void;\n };\n}\n\nexport const clearSelection = () => {\n if (!canUseDOM) {\n return;\n }\n\n const doc = document as CustomDocument;\n\n if (window.getSelection) {\n window.getSelection()?.removeAllRanges();\n } else if (doc.selection) {\n doc.selection.empty();\n }\n};\n"],"names":["clearSelection","canUseDOM","doc","document","window","getSelection","_window$getSelection","removeAllRanges","selection","empty"],"mappings":";;IAQaA,cAAc,GAAG,SAAjBA,cAAcA,GAAS;EAChC,IAAI,CAACC,SAAS,EAAE;AACZ,IAAA,OAAA;AACJ,GAAA;EAEA,IAAMC,GAAG,GAAGC,QAA0B,CAAA;EAEtC,IAAIC,MAAM,CAACC,YAAY,EAAE;AAAA,IAAA,IAAAC,oBAAA,CAAA;AACrB,IAAA,CAAAA,oBAAA,GAAAF,MAAM,CAACC,YAAY,EAAE,MAAAC,IAAAA,IAAAA,oBAAA,KAArBA,KAAAA,CAAAA,IAAAA,oBAAA,CAAuBC,eAAe,EAAE,CAAA;AAC5C,GAAC,MAAM,IAAIL,GAAG,CAACM,SAAS,EAAE;AACtBN,IAAAA,GAAG,CAACM,SAAS,CAACC,KAAK,EAAE,CAAA;AACzB,GAAA;AACJ;;;;"}
1
+ {"version":3,"file":"clearSelection.js","sources":["../../../../src/components/Editable/utils/clearSelection.ts"],"sourcesContent":["import { canUseDOM } from '../../../utils';\n\ninterface CustomDocument extends Document {\n selection?: {\n empty: () => void;\n };\n}\n\nexport const clearSelection = () => {\n if (!canUseDOM) {\n return;\n }\n\n const doc = document as CustomDocument;\n\n if (window.getSelection) {\n window.getSelection()?.removeAllRanges();\n } else if (doc.selection) {\n doc.selection.empty();\n }\n};\n"],"names":["clearSelection","canUseDOM","doc","document","window","getSelection","_window$getSelection","removeAllRanges","selection","empty"],"mappings":";;;;IAQaA,cAAc,GAAG,SAAjBA,cAAcA,GAAS;EAChC,IAAI,CAACC,SAAS,EAAE;AACZ,IAAA,OAAA;AACJ,GAAA;EAEA,IAAMC,GAAG,GAAGC,QAA0B,CAAA;EAEtC,IAAIC,MAAM,CAACC,YAAY,EAAE;AAAA,IAAA,IAAAC,oBAAA,CAAA;AACrB,IAAA,CAAAA,oBAAA,GAAAF,MAAM,CAACC,YAAY,EAAE,MAAAC,IAAAA,IAAAA,oBAAA,KAArBA,KAAAA,CAAAA,IAAAA,oBAAA,CAAuBC,eAAe,EAAE,CAAA;AAC5C,GAAC,MAAM,IAAIL,GAAG,CAACM,SAAS,EAAE;AACtBN,IAAAA,GAAG,CAACM,SAAS,CAACC,KAAK,EAAE,CAAA;AACzB,GAAA;AACJ;;;;"}
@@ -1,4 +1,6 @@
1
1
  import { canUseDOM } from '../../../utils/canUseDOM.js';
2
+ import 'react';
3
+ import '../../../utils/react.js';
2
4
 
3
5
  var selectText = function selectText(node) {
4
6
  if (!canUseDOM) {
@@ -1 +1 @@
1
- {"version":3,"file":"selectText.js","sources":["../../../../src/components/Editable/utils/selectText.ts"],"sourcesContent":["import { canUseDOM } from '../../../utils';\n\ninterface Body extends HTMLElement {\n createTextRange: () => {\n moveToElementText: (node: Node) => {};\n select: () => {};\n };\n}\n\nexport const selectText = (node: Node) => {\n if (!canUseDOM) {\n return;\n }\n\n setTimeout(() => {\n const body = document.body as Body;\n\n if (window.getSelection && document.createRange) {\n const range = document.createRange();\n range.selectNodeContents(node);\n const selection = window.getSelection();\n selection?.removeAllRanges();\n selection?.addRange(range);\n } else if (body.createTextRange) {\n const range = body.createTextRange();\n range.moveToElementText(node);\n range.select();\n }\n });\n};\n"],"names":["selectText","node","canUseDOM","setTimeout","body","document","window","getSelection","createRange","range","selectNodeContents","selection","removeAllRanges","addRange","createTextRange","moveToElementText","select"],"mappings":";;IASaA,UAAU,GAAG,SAAbA,UAAUA,CAAIC,IAAU,EAAK;EACtC,IAAI,CAACC,SAAS,EAAE;AACZ,IAAA,OAAA;AACJ,GAAA;AAEAC,EAAAA,UAAU,CAAC,YAAM;AACb,IAAA,IAAMC,IAAI,GAAGC,QAAQ,CAACD,IAAY,CAAA;AAElC,IAAA,IAAIE,MAAM,CAACC,YAAY,IAAIF,QAAQ,CAACG,WAAW,EAAE;AAC7C,MAAA,IAAMC,KAAK,GAAGJ,QAAQ,CAACG,WAAW,EAAE,CAAA;AACpCC,MAAAA,KAAK,CAACC,kBAAkB,CAACT,IAAI,CAAC,CAAA;AAC9B,MAAA,IAAMU,SAAS,GAAGL,MAAM,CAACC,YAAY,EAAE,CAAA;AACvCI,MAAAA,SAAS,aAATA,SAAS,KAAA,KAAA,CAAA,IAATA,SAAS,CAAEC,eAAe,EAAE,CAAA;MAC5BD,SAAS,KAAA,IAAA,IAATA,SAAS,KAATA,KAAAA,CAAAA,IAAAA,SAAS,CAAEE,QAAQ,CAACJ,KAAK,CAAC,CAAA;AAC9B,KAAC,MAAM,IAAIL,IAAI,CAACU,eAAe,EAAE;AAC7B,MAAA,IAAML,MAAK,GAAGL,IAAI,CAACU,eAAe,EAAE,CAAA;AACpCL,MAAAA,MAAK,CAACM,iBAAiB,CAACd,IAAI,CAAC,CAAA;MAC7BQ,MAAK,CAACO,MAAM,EAAE,CAAA;AAClB,KAAA;AACJ,GAAC,CAAC,CAAA;AACN;;;;"}
1
+ {"version":3,"file":"selectText.js","sources":["../../../../src/components/Editable/utils/selectText.ts"],"sourcesContent":["import { canUseDOM } from '../../../utils';\n\ninterface Body extends HTMLElement {\n createTextRange: () => {\n moveToElementText: (node: Node) => {};\n select: () => {};\n };\n}\n\nexport const selectText = (node: Node) => {\n if (!canUseDOM) {\n return;\n }\n\n setTimeout(() => {\n const body = document.body as Body;\n\n if (window.getSelection && document.createRange) {\n const range = document.createRange();\n range.selectNodeContents(node);\n const selection = window.getSelection();\n selection?.removeAllRanges();\n selection?.addRange(range);\n } else if (body.createTextRange) {\n const range = body.createTextRange();\n range.moveToElementText(node);\n range.select();\n }\n });\n};\n"],"names":["selectText","node","canUseDOM","setTimeout","body","document","window","getSelection","createRange","range","selectNodeContents","selection","removeAllRanges","addRange","createTextRange","moveToElementText","select"],"mappings":";;;;IASaA,UAAU,GAAG,SAAbA,UAAUA,CAAIC,IAAU,EAAK;EACtC,IAAI,CAACC,SAAS,EAAE;AACZ,IAAA,OAAA;AACJ,GAAA;AAEAC,EAAAA,UAAU,CAAC,YAAM;AACb,IAAA,IAAMC,IAAI,GAAGC,QAAQ,CAACD,IAAY,CAAA;AAElC,IAAA,IAAIE,MAAM,CAACC,YAAY,IAAIF,QAAQ,CAACG,WAAW,EAAE;AAC7C,MAAA,IAAMC,KAAK,GAAGJ,QAAQ,CAACG,WAAW,EAAE,CAAA;AACpCC,MAAAA,KAAK,CAACC,kBAAkB,CAACT,IAAI,CAAC,CAAA;AAC9B,MAAA,IAAMU,SAAS,GAAGL,MAAM,CAACC,YAAY,EAAE,CAAA;AACvCI,MAAAA,SAAS,aAATA,SAAS,KAAA,KAAA,CAAA,IAATA,SAAS,CAAEC,eAAe,EAAE,CAAA;MAC5BD,SAAS,KAAA,IAAA,IAATA,SAAS,KAATA,KAAAA,CAAAA,IAAAA,SAAS,CAAEE,QAAQ,CAACJ,KAAK,CAAC,CAAA;AAC9B,KAAC,MAAM,IAAIL,IAAI,CAACU,eAAe,EAAE;AAC7B,MAAA,IAAML,MAAK,GAAGL,IAAI,CAACU,eAAe,EAAE,CAAA;AACpCL,MAAAA,MAAK,CAACM,iBAAiB,CAACd,IAAI,CAAC,CAAA;MAC7BQ,MAAK,CAACO,MAAM,EAAE,CAAA;AAClB,KAAA;AACJ,GAAC,CAAC,CAAA;AACN;;;;"}
@@ -1,7 +1,8 @@
1
1
  import './EmptyState.styles_s585zf.css';
2
2
  import { styled } from '@linaria/react';
3
- import { component, mergeConfig } from '../../engines/common.js';
4
3
  import { buttonConfig } from '../Button/Button.js';
4
+ import '@linaria/core';
5
+ import { component, mergeConfig } from '../../engines/common.js';
5
6
 
6
7
  var mergedButtonConfig = /*#__PURE__*/mergeConfig(buttonConfig);
7
8
  var Button = /*#__PURE__*/component(mergedButtonConfig);
@@ -1 +1 @@
1
- {"version":3,"file":"EmptyState.styles.js","sources":["../../../src/components/EmptyState/EmptyState.styles.ts"],"sourcesContent":["import { styled } from '@linaria/react';\nimport { css } from '@linaria/core';\n\nimport { buttonConfig, buttonTokens } from '../Button';\nimport { component, mergeConfig } from '../../engines';\n\nimport { tokens } from './EmptyState.tokens';\n\nconst mergedButtonConfig = mergeConfig(buttonConfig);\nconst Button = component(mergedButtonConfig);\n\nexport const base = css`\n display: flex;\n flex-direction: column;\n align-items: center;\n background: var(--surface-solid-card);\n box-shadow: 0 4px 14px -4px rgba(8, 8, 8, 0.08), 0 1px 4px -1px rgba(0, 0, 0, 0.04);\n border-radius: var(${tokens.borderRadius});\n padding: var(${tokens.padding});\n text-align: center;\n`;\n\nexport const StyledButton = styled(Button)`\n ${buttonTokens.buttonColor}: var(--text-primary);\n ${buttonTokens.buttonColorActive}: var(--text-primary-active);\n ${buttonTokens.buttonColorHover}: var(--text-primary-hover);\n ${buttonTokens.buttonBackgroundColor}: none;\n ${buttonTokens.buttonPadding}: 0;\n ${buttonTokens.buttonHeight}: var(${tokens.buttonHeight});\n ${buttonTokens.buttonRadius}: 0;\n ${buttonTokens.buttonFontFamily}: var(${tokens.fontFamily});\n ${buttonTokens.buttonFontSize}: var(${tokens.fontSize});\n ${buttonTokens.buttonFontStyle}: var(${tokens.fontStyle});\n ${buttonTokens.buttonFontWeight}: 600;\n ${buttonTokens.buttonLetterSpacing}: var(${tokens.fontLetterSpacing});\n ${buttonTokens.buttonLineHeight}: var(${tokens.fontLineHeight});\n margin: var(${tokens.buttonMargin});\n`;\n\nexport const IconWrapper = styled.div`\n margin: var(${tokens.iconMargin});\n line-height: 0;\n`;\n\nexport const Description = styled.div`\n margin: var(${tokens.descriptionMargin});\n font-family: var(${tokens.fontFamily});\n font-size: var(${tokens.fontSize});\n font-style: var(${tokens.fontStyle});\n font-weight: var(${tokens.fontWeight});\n letter-spacing: var(${tokens.fontLetterSpacing});\n line-height: var(${tokens.fontLineHeight});\n`;\n"],"names":["mergedButtonConfig","mergeConfig","buttonConfig","Button","component","base","_exp3","StyledButton","styled","name","class","propsAsIs","IconWrapper","Description"],"mappings":";;;;AAQA,IAAMA,kBAAkB,gBAAGC,WAAW,CAACC,YAAY,CAAC,CAAA;AACpD,IAAMC,MAAM,gBAAGC,SAAS,CAACJ,kBAAkB,CAAC,CAAA;AAErC,IAAMK,IAAI,GAShB,UAAA;AAAC,IAAAC,KAAA,GAnBgBA,SAmBhBA,KAAAA,GAAA;AAAA,EAAA,OAEiCH,MAAM,CAAA;AAAA,CAAA,CAAA;AAAlC,IAAMI,YAAY,gBAAGC,MAAM,CAAAF,KAAA,EAAA,CAAA,CAAA;AAAAG,EAAAA,IAAA,EAAA,cAAA;AAAAC,EAAAA,OAAAA,EAAA,UAAA;AAAAC,EAAAA,SAAA,EAAA,IAAA;AAAA,CAejC,EAAA;AAEM,IAAMC,WAAW,gBAAGJ,MAAM,CAAA,KAAA,CAAA,CAAA;AAAAC,EAAAA,IAAA,EAAA,aAAA;AAAAC,EAAAA,OAAAA,EAAA,SAAA;AAAAC,EAAAA,SAAA,EAAA,KAAA;AAAA,CAGhC,EAAA;AAEM,IAAME,WAAW,gBAAGL,MAAM,CAAA,KAAA,CAAA,CAAA;AAAAC,EAAAA,IAAA,EAAA,aAAA;AAAAC,EAAAA,OAAAA,EAAA,UAAA;AAAAC,EAAAA,SAAA,EAAA,KAAA;AAAA,CAQhC;;;;"}
1
+ {"version":3,"file":"EmptyState.styles.js","sources":["../../../src/components/EmptyState/EmptyState.styles.ts"],"sourcesContent":["import { styled } from '@linaria/react';\nimport { css } from '@linaria/core';\n\nimport { buttonConfig, buttonTokens } from '../Button';\nimport { component, mergeConfig } from '../../engines';\n\nimport { tokens } from './EmptyState.tokens';\n\nconst mergedButtonConfig = mergeConfig(buttonConfig);\nconst Button = component(mergedButtonConfig);\n\nexport const base = css`\n display: flex;\n flex-direction: column;\n align-items: center;\n background: var(--surface-solid-card);\n box-shadow: 0 4px 14px -4px rgba(8, 8, 8, 0.08), 0 1px 4px -1px rgba(0, 0, 0, 0.04);\n border-radius: var(${tokens.borderRadius});\n padding: var(${tokens.padding});\n text-align: center;\n`;\n\nexport const StyledButton = styled(Button)`\n ${buttonTokens.buttonColor}: var(--text-primary);\n ${buttonTokens.buttonColorActive}: var(--text-primary-active);\n ${buttonTokens.buttonColorHover}: var(--text-primary-hover);\n ${buttonTokens.buttonBackgroundColor}: none;\n ${buttonTokens.buttonPadding}: 0;\n ${buttonTokens.buttonHeight}: var(${tokens.buttonHeight});\n ${buttonTokens.buttonRadius}: 0;\n ${buttonTokens.buttonFontFamily}: var(${tokens.fontFamily});\n ${buttonTokens.buttonFontSize}: var(${tokens.fontSize});\n ${buttonTokens.buttonFontStyle}: var(${tokens.fontStyle});\n ${buttonTokens.buttonFontWeight}: 600;\n ${buttonTokens.buttonLetterSpacing}: var(${tokens.fontLetterSpacing});\n ${buttonTokens.buttonLineHeight}: var(${tokens.fontLineHeight});\n margin: var(${tokens.buttonMargin});\n`;\n\nexport const IconWrapper = styled.div`\n margin: var(${tokens.iconMargin});\n line-height: 0;\n`;\n\nexport const Description = styled.div`\n margin: var(${tokens.descriptionMargin});\n font-family: var(${tokens.fontFamily});\n font-size: var(${tokens.fontSize});\n font-style: var(${tokens.fontStyle});\n font-weight: var(${tokens.fontWeight});\n letter-spacing: var(${tokens.fontLetterSpacing});\n line-height: var(${tokens.fontLineHeight});\n`;\n"],"names":["mergedButtonConfig","mergeConfig","buttonConfig","Button","component","base","_exp3","StyledButton","styled","name","class","propsAsIs","IconWrapper","Description"],"mappings":";;;;;AAQA,IAAMA,kBAAkB,gBAAGC,WAAW,CAACC,YAAY,CAAC,CAAA;AACpD,IAAMC,MAAM,gBAAGC,SAAS,CAACJ,kBAAkB,CAAC,CAAA;AAErC,IAAMK,IAAI,GAShB,UAAA;AAAC,IAAAC,KAAA,GAnBgBA,SAmBhBA,KAAAA,GAAA;AAAA,EAAA,OAEiCH,MAAM,CAAA;AAAA,CAAA,CAAA;AAAlC,IAAMI,YAAY,gBAAGC,MAAM,CAAAF,KAAA,EAAA,CAAA,CAAA;AAAAG,EAAAA,IAAA,EAAA,cAAA;AAAAC,EAAAA,OAAAA,EAAA,UAAA;AAAAC,EAAAA,SAAA,EAAA,IAAA;AAAA,CAejC,EAAA;AAEM,IAAMC,WAAW,gBAAGJ,MAAM,CAAA,KAAA,CAAA,CAAA;AAAAC,EAAAA,IAAA,EAAA,aAAA;AAAAC,EAAAA,OAAAA,EAAA,SAAA;AAAAC,EAAAA,SAAA,EAAA,KAAA;AAAA,CAGhC,EAAA;AAEM,IAAME,WAAW,gBAAGL,MAAM,CAAA,KAAA,CAAA,CAAA;AAAAC,EAAAA,IAAA,EAAA,aAAA;AAAAC,EAAAA,OAAAA,EAAA,UAAA;AAAAC,EAAAA,SAAA,EAAA,KAAA;AAAA,CAQhC;;;;"}
@@ -1,3 +1,4 @@
1
+ import { buttonRoot } from '../Button/Button.js';
1
2
  import { base as base$1 } from '../Button/variations/_view/base.js';
2
3
  import { base as base$2 } from '../Button/variations/_size/base.js';
3
4
  import { base as base$3 } from '../Button/variations/_disabled/base.js';
@@ -5,7 +6,6 @@ import { base as base$4 } from '../Button/variations/_focused/base.js';
5
6
  import { base as base$5 } from '../Button/variations/_blurred/base.js';
6
7
  import { base as base$6 } from '../Button/variations/_stretching/base.js';
7
8
  import { base } from './IconButton.styles.js';
8
- import { buttonRoot } from '../Button/Button.js';
9
9
 
10
10
  var iconButtonRoot = buttonRoot;
11
11
  var iconButtonConfig = {
@@ -1,4 +1,12 @@
1
1
  import './IconButton.styles_sttslf.css';
2
+ import 'react';
3
+ import '../../utils/react.js';
4
+ import '@linaria/react';
5
+ import 'focus-visible';
6
+ import 'styled-components';
7
+ import '@linaria/core';
8
+ import '@salutejs/plasma-core';
9
+
2
10
  var base = "b1ua728l";
3
11
 
4
12
  export { base };
@@ -1 +1 @@
1
- {"version":3,"file":"IconButton.styles.js","sources":["../../../src/components/IconButton/IconButton.styles.ts"],"sourcesContent":["import { css } from '@linaria/core';\n\nimport { buttonTokens } from '../Button';\nimport { baseContent as buttonBase } from '../Button/Button.styles';\n\nimport { tokens } from './IconButton.tokens';\n\n// Переопределние токенов из Button\nexport const mappingOverride = `\n ${buttonTokens.buttonPadding}: 0;\n\n ${buttonTokens.buttonColor}: var(${tokens.iconButtonColor});\n ${buttonTokens.buttonBackgroundColor}: var(${tokens.iconButtonBackgroundColor});\n\n ${buttonTokens.buttonColorHover}: var(${tokens.iconButtonColorHover});\n ${buttonTokens.buttonBackgroundColorHover}: var(${tokens.iconButtonBackgroundColorHover});\n\n ${buttonTokens.buttonColorActive}: var(${tokens.iconButtonColorActive});\n ${buttonTokens.buttonBackgroundColorActive}: var(${tokens.iconButtonBackgroundColorActive});\n\n ${buttonTokens.buttonLoadingBackgroundColor}: var(${tokens.iconButtonLoadingBackgroundColor});\n\n ${buttonTokens.buttonFontFamily}: var(${tokens.iconButtonFontFamily});\n ${buttonTokens.buttonFontSize}: var(${tokens.iconButtonFontSize});\n ${buttonTokens.buttonFontStyle}: var(${tokens.iconButtonFontStyle});\n ${buttonTokens.buttonFontWeight}:var(${tokens.iconButtonFontWeight});\n ${buttonTokens.buttonLetterSpacing}: var(${tokens.iconButtonLetterSpacing});\n ${buttonTokens.buttonLineHeight}: var(${tokens.iconButtonLineHeight});\n\n ${buttonTokens.buttonWidth}: var(${tokens.iconButtonWidth});\n ${buttonTokens.buttonHeight}: var(${tokens.iconButtonHeight});\n ${buttonTokens.buttonRadius}: var(${tokens.iconButtonRadius});\n\n ${buttonTokens.buttonDisabledOpacity}: var(${tokens.iconButtonDisabledOpacity});\n ${buttonTokens.buttonFocusColor}: var(${tokens.iconButtonFocusColor});\n\n ${buttonTokens.buttonSpinnerSize}: var(${tokens.iconButtonSpinnerSize});\n ${buttonTokens.buttonSpinnerColor}: var(${tokens.iconButtonSpinnerColor});\n`;\n\nexport const base = css`\n ${buttonBase};\n ${mappingOverride};\n`;\n"],"names":["base"],"mappings":"AAwCO,IAAMA,IAAI,GAGhB;;;;"}
1
+ {"version":3,"file":"IconButton.styles.js","sources":["../../../src/components/IconButton/IconButton.styles.ts"],"sourcesContent":["import { css } from '@linaria/core';\n\nimport { buttonTokens } from '../Button';\nimport { baseContent as buttonBase } from '../Button/Button.styles';\n\nimport { tokens } from './IconButton.tokens';\n\n// Переопределние токенов из Button\nexport const mappingOverride = `\n ${buttonTokens.buttonPadding}: 0;\n\n ${buttonTokens.buttonColor}: var(${tokens.iconButtonColor});\n ${buttonTokens.buttonBackgroundColor}: var(${tokens.iconButtonBackgroundColor});\n\n ${buttonTokens.buttonColorHover}: var(${tokens.iconButtonColorHover});\n ${buttonTokens.buttonBackgroundColorHover}: var(${tokens.iconButtonBackgroundColorHover});\n\n ${buttonTokens.buttonColorActive}: var(${tokens.iconButtonColorActive});\n ${buttonTokens.buttonBackgroundColorActive}: var(${tokens.iconButtonBackgroundColorActive});\n\n ${buttonTokens.buttonLoadingBackgroundColor}: var(${tokens.iconButtonLoadingBackgroundColor});\n\n ${buttonTokens.buttonFontFamily}: var(${tokens.iconButtonFontFamily});\n ${buttonTokens.buttonFontSize}: var(${tokens.iconButtonFontSize});\n ${buttonTokens.buttonFontStyle}: var(${tokens.iconButtonFontStyle});\n ${buttonTokens.buttonFontWeight}:var(${tokens.iconButtonFontWeight});\n ${buttonTokens.buttonLetterSpacing}: var(${tokens.iconButtonLetterSpacing});\n ${buttonTokens.buttonLineHeight}: var(${tokens.iconButtonLineHeight});\n\n ${buttonTokens.buttonWidth}: var(${tokens.iconButtonWidth});\n ${buttonTokens.buttonHeight}: var(${tokens.iconButtonHeight});\n ${buttonTokens.buttonRadius}: var(${tokens.iconButtonRadius});\n\n ${buttonTokens.buttonDisabledOpacity}: var(${tokens.iconButtonDisabledOpacity});\n ${buttonTokens.buttonFocusColor}: var(${tokens.iconButtonFocusColor});\n\n ${buttonTokens.buttonSpinnerSize}: var(${tokens.iconButtonSpinnerSize});\n ${buttonTokens.buttonSpinnerColor}: var(${tokens.iconButtonSpinnerColor});\n`;\n\nexport const base = css`\n ${buttonBase};\n ${mappingOverride};\n`;\n"],"names":["base"],"mappings":";;;;;;;;AAwCO,IAAMA,IAAI,GAGhB;;;;"}
@@ -1,16 +1,18 @@
1
1
  import { objectWithoutProperties as _objectWithoutProperties, extends as _extends } from '../../_virtual/_rollupPluginBabelHelpers.js';
2
2
  import React, { forwardRef, useMemo, useCallback } from 'react';
3
3
  import { useForkRef, safeUseId } from '@salutejs/plasma-core';
4
+ import '@linaria/core';
5
+ import { component } from '../../engines/common.js';
6
+ import { usePopupContext } from '../Popup/PopupContext.js';
7
+ import { popupConfig } from '../Popup/Popup.js';
8
+ import { Overlay } from '../Overlay/Overlay.js';
4
9
  import { DEFAULT_Z_INDEX } from '../Popup/utils/index.js';
10
+ import { useFocusTrap } from '../../hooks/useFocusTrap.js';
11
+ import '../../utils/react.js';
5
12
  import { classes, tokens } from './Modal.tokens.js';
13
+ import { useModal } from './hooks/useModal.js';
6
14
  import { base } from './variations/_view/base.js';
7
15
  import { getIdLastModal } from './ModalContext.js';
8
- import { useFocusTrap } from '../../hooks/useFocusTrap.js';
9
- import { usePopupContext } from '../Popup/PopupContext.js';
10
- import { useModal } from './hooks/useModal.js';
11
- import { Overlay } from '../Overlay/Overlay.js';
12
- import { component } from '../../engines/common.js';
13
- import { popupConfig } from '../Popup/Popup.js';
14
16
 
15
17
  var _excluded = ["id", "withAnimation", "onClose", "onOverlayClick", "onEscKeyDown", "closeOnEsc", "closeOnOverlayClick", "withBlur", "initialFocusRef", "focusAfterRef", "zIndex", "popupInfo", "children", "view", "opened", "isOpen"];
16
18
 
@@ -1 +1 @@
1
- {"version":3,"file":"Modal.js","sources":["../../../src/components/Modal/Modal.tsx"],"sourcesContent":["import React, { forwardRef, useCallback, useMemo } from 'react';\nimport { useForkRef, safeUseId } from '@salutejs/plasma-core';\n\nimport { RootProps, component } from '../../engines';\nimport { popupConfig, usePopupContext } from '../Popup';\nimport { Overlay } from '../Overlay';\nimport { DEFAULT_Z_INDEX } from '../Popup/utils';\nimport { useFocusTrap } from '../../hooks';\n\nimport { classes, tokens } from './Modal.tokens';\nimport { ModalProps } from './Modal.types';\nimport { useModal } from './hooks';\nimport { base as viewCSS } from './variations/_view/base';\nimport { getIdLastModal } from './ModalContext';\n\n// issue #823\nconst Popup = component(popupConfig);\n\n/**\n * Modal.\n * Управляет показом/скрытием, подложкой и анимацией визуальной части модального окна.\n */\nexport const modalRoot = (Root: RootProps<HTMLDivElement, ModalProps>) =>\n forwardRef<HTMLDivElement, ModalProps>(\n (\n {\n id,\n withAnimation,\n onClose,\n onOverlayClick,\n onEscKeyDown,\n closeOnEsc = true,\n closeOnOverlayClick = true,\n withBlur,\n initialFocusRef,\n focusAfterRef,\n zIndex,\n popupInfo,\n children,\n view,\n opened,\n isOpen,\n ...rest\n },\n outerRootRef,\n ) => {\n const innerIsOpen = Boolean(isOpen || opened);\n const trapRef = useFocusTrap(true, initialFocusRef, focusAfterRef, true);\n const popupController = usePopupContext();\n\n const innerRef = useForkRef<HTMLDivElement>(trapRef, outerRootRef);\n\n const uniqId = safeUseId();\n const innerId = id || uniqId;\n const overlayBackgroundToken = withBlur\n ? `var(${tokens.modalOverlayWithBlurColor})`\n : `var(${tokens.modalOverlayColor})`;\n\n const { modalInfo } = useModal({\n id: innerId,\n isOpen: innerIsOpen,\n closeOnEsc,\n onEscKeyDown,\n onClose,\n popupInfo,\n });\n\n const transparent = useMemo(() => getIdLastModal(popupController.items) !== innerId, [\n innerId,\n popupController.items,\n ]);\n\n const onModalOverlayKeyDown = useCallback(\n (event: React.MouseEvent<HTMLDivElement>) => {\n if (onOverlayClick) {\n onOverlayClick(event);\n return;\n }\n\n if (onClose) {\n onClose();\n }\n },\n [closeOnOverlayClick, onOverlayClick, onClose],\n );\n\n return (\n <Popup\n id={innerId}\n opened={innerIsOpen}\n ref={innerRef}\n popupInfo={modalInfo}\n withAnimation={withAnimation}\n zIndex={zIndex}\n overlay={\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={onModalOverlayKeyDown}\n />\n </Root>\n }\n {...rest}\n >\n {children}\n </Popup>\n );\n },\n );\n\nexport const modalConfig = {\n name: 'Modal',\n tag: 'div',\n layout: modalRoot,\n base: '',\n variations: {\n view: {\n css: viewCSS,\n },\n },\n defaults: {\n view: 'default',\n },\n};\n"],"names":["Popup","component","popupConfig","modalRoot","Root","forwardRef","_ref","outerRootRef","id","withAnimation","onClose","onOverlayClick","onEscKeyDown","_ref$closeOnEsc","closeOnEsc","_ref$closeOnOverlayCl","closeOnOverlayClick","withBlur","initialFocusRef","focusAfterRef","zIndex","popupInfo","children","view","opened","isOpen","rest","_objectWithoutProperties","_excluded","innerIsOpen","Boolean","trapRef","useFocusTrap","popupController","usePopupContext","innerRef","useForkRef","uniqId","safeUseId","innerId","overlayBackgroundToken","concat","tokens","modalOverlayWithBlurColor","modalOverlayColor","_useModal","useModal","modalInfo","transparent","useMemo","getIdLastModal","items","onModalOverlayKeyDown","useCallback","event","React","createElement","_extends","ref","overlay","Overlay","className","classes","DEFAULT_Z_INDEX","backgroundColorProperty","isClickable","modalConfig","name","tag","layout","base","variations","css","viewCSS","defaults"],"mappings":";;;;;;;;;;;;;;;;AAeA;AACA,IAAMA,KAAK,gBAAGC,SAAS,CAACC,WAAW,CAAC,CAAA;;AAEpC;AACA;AACA;AACA;IACaC,SAAS,GAAG,SAAZA,SAASA,CAAIC,IAA2C,EAAA;AAAA,EAAA,oBACjEC,UAAU,CACN,UAAAC,IAAA,EAoBIC,YAAY,EACX;AAAA,IAAA,IAnBGC,EAAE,GAAAF,IAAA,CAAFE,EAAE;MACFC,aAAa,GAAAH,IAAA,CAAbG,aAAa;MACbC,OAAO,GAAAJ,IAAA,CAAPI,OAAO;MACPC,cAAc,GAAAL,IAAA,CAAdK,cAAc;MACdC,YAAY,GAAAN,IAAA,CAAZM,YAAY;MAAAC,eAAA,GAAAP,IAAA,CACZQ,UAAU;AAAVA,MAAAA,UAAU,GAAAD,eAAA,KAAG,KAAA,CAAA,GAAA,IAAI,GAAAA,eAAA;MAAAE,qBAAA,GAAAT,IAAA,CACjBU,mBAAmB;AAAnBA,MAAAA,mBAAmB,GAAAD,qBAAA,KAAG,KAAA,CAAA,GAAA,IAAI,GAAAA,qBAAA;MAC1BE,QAAQ,GAAAX,IAAA,CAARW,QAAQ;MACRC,eAAe,GAAAZ,IAAA,CAAfY,eAAe;MACfC,aAAa,GAAAb,IAAA,CAAba,aAAa;MACbC,MAAM,GAAAd,IAAA,CAANc,MAAM;MACNC,SAAS,GAAAf,IAAA,CAATe,SAAS;MACTC,QAAQ,GAAAhB,IAAA,CAARgB,QAAQ;MACRC,IAAI,GAAAjB,IAAA,CAAJiB,IAAI;MACJC,MAAM,GAAAlB,IAAA,CAANkB,MAAM;MACNC,MAAM,GAAAnB,IAAA,CAANmB,MAAM;AACHC,MAAAA,IAAI,GAAAC,wBAAA,CAAArB,IAAA,EAAAsB,SAAA,CAAA,CAAA;AAIX,IAAA,IAAMC,WAAW,GAAGC,OAAO,CAACL,MAAM,IAAID,MAAM,CAAC,CAAA;IAC7C,IAAMO,OAAO,GAAGC,YAAY,CAAC,IAAI,EAAEd,eAAe,EAAEC,aAAa,EAAE,IAAI,CAAC,CAAA;AACxE,IAAA,IAAMc,eAAe,GAAGC,eAAe,EAAE,CAAA;AAEzC,IAAA,IAAMC,QAAQ,GAAGC,UAAU,CAAiBL,OAAO,EAAExB,YAAY,CAAC,CAAA;AAElE,IAAA,IAAM8B,MAAM,GAAGC,SAAS,EAAE,CAAA;AAC1B,IAAA,IAAMC,OAAO,GAAG/B,EAAE,IAAI6B,MAAM,CAAA;AAC5B,IAAA,IAAMG,sBAAsB,GAAGvB,QAAQ,GAAA,MAAA,CAAAwB,MAAA,CAC1BC,MAAM,CAACC,yBAAyB,gBAAAF,MAAA,CAChCC,MAAM,CAACE,iBAAiB,EAAG,GAAA,CAAA,CAAA;IAExC,IAAAC,SAAA,GAAsBC,QAAQ,CAAC;AAC3BtC,QAAAA,EAAE,EAAE+B,OAAO;AACXd,QAAAA,MAAM,EAAEI,WAAW;AACnBf,QAAAA,UAAU,EAAVA,UAAU;AACVF,QAAAA,YAAY,EAAZA,YAAY;AACZF,QAAAA,OAAO,EAAPA,OAAO;AACPW,QAAAA,SAAS,EAATA,SAAAA;AACJ,OAAC,CAAC;MAPM0B,SAAS,GAAAF,SAAA,CAATE,SAAS,CAAA;IASjB,IAAMC,WAAW,GAAGC,OAAO,CAAC,YAAA;AAAA,MAAA,OAAMC,cAAc,CAACjB,eAAe,CAACkB,KAAK,CAAC,KAAKZ,OAAO,CAAA;AAAA,KAAA,EAAE,CACjFA,OAAO,EACPN,eAAe,CAACkB,KAAK,CACxB,CAAC,CAAA;AAEF,IAAA,IAAMC,qBAAqB,GAAGC,WAAW,CACrC,UAACC,KAAuC,EAAK;AACzC,MAAA,IAAI3C,cAAc,EAAE;QAChBA,cAAc,CAAC2C,KAAK,CAAC,CAAA;AACrB,QAAA,OAAA;AACJ,OAAA;AAEA,MAAA,IAAI5C,OAAO,EAAE;AACTA,QAAAA,OAAO,EAAE,CAAA;AACb,OAAA;KACH,EACD,CAACM,mBAAmB,EAAEL,cAAc,EAAED,OAAO,CACjD,CAAC,CAAA;AAED,IAAA,oBACI6C,KAAA,CAAAC,aAAA,CAACxD,KAAK,EAAAyD,QAAA,CAAA;AACFjD,MAAAA,EAAE,EAAE+B,OAAQ;AACZf,MAAAA,MAAM,EAAEK,WAAY;AACpB6B,MAAAA,GAAG,EAAEvB,QAAS;AACdd,MAAAA,SAAS,EAAE0B,SAAU;AACrBtC,MAAAA,aAAa,EAAEA,aAAc;AAC7BW,MAAAA,MAAM,EAAEA,MAAO;AACfuC,MAAAA,OAAO,eACHJ,KAAA,CAAAC,aAAA,CAACpD,IAAI,EAAA;AAACmB,QAAAA,IAAI,EAAEA,IAAAA;AAAK,OAAA,eACbgC,KAAA,CAAAC,aAAA,CAACI,OAAO,EAAA;QACJC,SAAS,EAAEC,OAAO,CAACH,OAAQ;QAC3BvC,MAAM,EAAEA,MAAM,IAAI2C,eAAgB;AAClCC,QAAAA,uBAAuB,EAAExB,sBAAuB;AAChDvB,QAAAA,QAAQ,EAAEA,QAAS;AACnB+B,QAAAA,WAAW,EAAEA,WAAY;AACzBiB,QAAAA,WAAW,EAAEjD,mBAAoB;AACjCL,QAAAA,cAAc,EAAEyC,qBAAAA;AAAsB,OACzC,CACC,CAAA;KAEN1B,EAAAA,IAAI,CAEPJ,EAAAA,QACE,CAAC,CAAA;AAEhB,GACJ,CAAC,CAAA;AAAA,EAAA;AAEE,IAAM4C,WAAW,GAAG;AACvBC,EAAAA,IAAI,EAAE,OAAO;AACbC,EAAAA,GAAG,EAAE,KAAK;AACVC,EAAAA,MAAM,EAAElE,SAAS;AACjBmE,EAAAA,IAAI,EAAE,EAAE;AACRC,EAAAA,UAAU,EAAE;AACRhD,IAAAA,IAAI,EAAE;AACFiD,MAAAA,GAAG,EAAEC,IAAAA;AACT,KAAA;GACH;AACDC,EAAAA,QAAQ,EAAE;AACNnD,IAAAA,IAAI,EAAE,SAAA;AACV,GAAA;AACJ;;;;"}
1
+ {"version":3,"file":"Modal.js","sources":["../../../src/components/Modal/Modal.tsx"],"sourcesContent":["import React, { forwardRef, useCallback, useMemo } from 'react';\nimport { useForkRef, safeUseId } from '@salutejs/plasma-core';\n\nimport { RootProps, component } from '../../engines';\nimport { popupConfig, usePopupContext } from '../Popup';\nimport { Overlay } from '../Overlay';\nimport { DEFAULT_Z_INDEX } from '../Popup/utils';\nimport { useFocusTrap } from '../../hooks';\n\nimport { classes, tokens } from './Modal.tokens';\nimport { ModalProps } from './Modal.types';\nimport { useModal } from './hooks';\nimport { base as viewCSS } from './variations/_view/base';\nimport { getIdLastModal } from './ModalContext';\n\n// issue #823\nconst Popup = component(popupConfig);\n\n/**\n * Modal.\n * Управляет показом/скрытием, подложкой и анимацией визуальной части модального окна.\n */\nexport const modalRoot = (Root: RootProps<HTMLDivElement, ModalProps>) =>\n forwardRef<HTMLDivElement, ModalProps>(\n (\n {\n id,\n withAnimation,\n onClose,\n onOverlayClick,\n onEscKeyDown,\n closeOnEsc = true,\n closeOnOverlayClick = true,\n withBlur,\n initialFocusRef,\n focusAfterRef,\n zIndex,\n popupInfo,\n children,\n view,\n opened,\n isOpen,\n ...rest\n },\n outerRootRef,\n ) => {\n const innerIsOpen = Boolean(isOpen || opened);\n const trapRef = useFocusTrap(true, initialFocusRef, focusAfterRef, true);\n const popupController = usePopupContext();\n\n const innerRef = useForkRef<HTMLDivElement>(trapRef, outerRootRef);\n\n const uniqId = safeUseId();\n const innerId = id || uniqId;\n const overlayBackgroundToken = withBlur\n ? `var(${tokens.modalOverlayWithBlurColor})`\n : `var(${tokens.modalOverlayColor})`;\n\n const { modalInfo } = useModal({\n id: innerId,\n isOpen: innerIsOpen,\n closeOnEsc,\n onEscKeyDown,\n onClose,\n popupInfo,\n });\n\n const transparent = useMemo(() => getIdLastModal(popupController.items) !== innerId, [\n innerId,\n popupController.items,\n ]);\n\n const onModalOverlayKeyDown = useCallback(\n (event: React.MouseEvent<HTMLDivElement>) => {\n if (onOverlayClick) {\n onOverlayClick(event);\n return;\n }\n\n if (onClose) {\n onClose();\n }\n },\n [closeOnOverlayClick, onOverlayClick, onClose],\n );\n\n return (\n <Popup\n id={innerId}\n opened={innerIsOpen}\n ref={innerRef}\n popupInfo={modalInfo}\n withAnimation={withAnimation}\n zIndex={zIndex}\n overlay={\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={onModalOverlayKeyDown}\n />\n </Root>\n }\n {...rest}\n >\n {children}\n </Popup>\n );\n },\n );\n\nexport const modalConfig = {\n name: 'Modal',\n tag: 'div',\n layout: modalRoot,\n base: '',\n variations: {\n view: {\n css: viewCSS,\n },\n },\n defaults: {\n view: 'default',\n },\n};\n"],"names":["Popup","component","popupConfig","modalRoot","Root","forwardRef","_ref","outerRootRef","id","withAnimation","onClose","onOverlayClick","onEscKeyDown","_ref$closeOnEsc","closeOnEsc","_ref$closeOnOverlayCl","closeOnOverlayClick","withBlur","initialFocusRef","focusAfterRef","zIndex","popupInfo","children","view","opened","isOpen","rest","_objectWithoutProperties","_excluded","innerIsOpen","Boolean","trapRef","useFocusTrap","popupController","usePopupContext","innerRef","useForkRef","uniqId","safeUseId","innerId","overlayBackgroundToken","concat","tokens","modalOverlayWithBlurColor","modalOverlayColor","_useModal","useModal","modalInfo","transparent","useMemo","getIdLastModal","items","onModalOverlayKeyDown","useCallback","event","React","createElement","_extends","ref","overlay","Overlay","className","classes","DEFAULT_Z_INDEX","backgroundColorProperty","isClickable","modalConfig","name","tag","layout","base","variations","css","viewCSS","defaults"],"mappings":"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"}