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

Sign up to get free protection for your applications and to get access to all the features.
Files changed (453) 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 +9 -5
  37. package/cjs/components/Calendar/ui/CalendarDays/CalendarDays.js.map +1 -1
  38. package/cjs/components/Calendar/ui/CalendarHeader/CalendarHeader.js +6 -5
  39. package/cjs/components/Calendar/ui/CalendarHeader/CalendarHeader.js.map +1 -1
  40. package/cjs/components/Calendar/ui/CalendarHeader/CalendarHeader.styles.js +1 -0
  41. package/cjs/components/Calendar/ui/CalendarHeader/CalendarHeader.styles.js.map +1 -1
  42. package/cjs/components/Calendar/ui/CalendarMonths/CalendarMonths.js +9 -5
  43. package/cjs/components/Calendar/ui/CalendarMonths/CalendarMonths.js.map +1 -1
  44. package/cjs/components/Calendar/ui/CalendarQuarters/CalendarQuarters.js +9 -5
  45. package/cjs/components/Calendar/ui/CalendarQuarters/CalendarQuarters.js.map +1 -1
  46. package/cjs/components/Calendar/ui/CalendarYears/CalendarYears.js +9 -5
  47. package/cjs/components/Calendar/ui/CalendarYears/CalendarYears.js.map +1 -1
  48. package/cjs/components/Combobox/ComboboxNew/Combobox.js +12 -11
  49. package/cjs/components/Combobox/ComboboxNew/Combobox.js.map +1 -1
  50. package/cjs/components/Combobox/ComboboxNew/Combobox.styles.js +4 -2
  51. package/cjs/components/Combobox/ComboboxNew/Combobox.styles.js.map +1 -1
  52. package/cjs/components/Combobox/ComboboxNew/hooks/getPathMaps.js +2 -0
  53. package/cjs/components/Combobox/ComboboxNew/hooks/getPathMaps.js.map +1 -1
  54. package/cjs/components/Combobox/ComboboxNew/ui/Inner/Inner.js +2 -1
  55. package/cjs/components/Combobox/ComboboxNew/ui/Inner/Inner.js.map +1 -1
  56. package/cjs/components/Combobox/ComboboxNew/ui/Inner/ui/Item/Item.js +6 -5
  57. package/cjs/components/Combobox/ComboboxNew/ui/Inner/ui/Item/Item.js.map +1 -1
  58. package/cjs/components/Combobox/ComboboxNew/ui/Inner/ui/Item/Item.styles.js +3 -1
  59. package/cjs/components/Combobox/ComboboxNew/ui/Inner/ui/Item/Item.styles.js.map +1 -1
  60. package/cjs/components/Combobox/ComboboxNew/ui/Target/Target.styles.js +2 -1
  61. package/cjs/components/Combobox/ComboboxNew/ui/Target/Target.styles.js.map +1 -1
  62. package/cjs/components/Combobox/ComboboxOld/Combobox.js +10 -4
  63. package/cjs/components/Combobox/ComboboxOld/Combobox.js.map +1 -1
  64. package/cjs/components/Combobox/ComboboxOld/Combobox.styles.js +1 -0
  65. package/cjs/components/Combobox/ComboboxOld/Combobox.styles.js.map +1 -1
  66. package/cjs/components/Combobox/ComboboxOld/hooks/useFocusController.js +1 -0
  67. package/cjs/components/Combobox/ComboboxOld/hooks/useFocusController.js.map +1 -1
  68. package/cjs/components/Combobox/ComboboxOld/ui/ComboboxChip/ComboboxChip.styles.js +2 -1
  69. package/cjs/components/Combobox/ComboboxOld/ui/ComboboxChip/ComboboxChip.styles.js.map +1 -1
  70. package/cjs/components/Combobox/ComboboxOld/ui/ComboboxDivider/ComboboxDivider.js +10 -1
  71. package/cjs/components/Combobox/ComboboxOld/ui/ComboboxDivider/ComboboxDivider.js.map +1 -1
  72. package/cjs/components/Combobox/ComboboxOld/ui/ComboboxFooter/ComboboxFooter.js +10 -1
  73. package/cjs/components/Combobox/ComboboxOld/ui/ComboboxFooter/ComboboxFooter.js.map +1 -1
  74. package/cjs/components/Combobox/ComboboxOld/ui/ComboboxGroup/ComboboxGroup.js +10 -1
  75. package/cjs/components/Combobox/ComboboxOld/ui/ComboboxGroup/ComboboxGroup.js.map +1 -1
  76. package/cjs/components/Combobox/ComboboxOld/ui/ComboboxHeader/ComboboxHeader.js +10 -1
  77. package/cjs/components/Combobox/ComboboxOld/ui/ComboboxHeader/ComboboxHeader.js.map +1 -1
  78. package/cjs/components/Combobox/ComboboxOld/ui/ComboboxItem/ComboboxItem.styles.js +2 -0
  79. package/cjs/components/Combobox/ComboboxOld/ui/ComboboxItem/ComboboxItem.styles.js.map +1 -1
  80. package/cjs/components/Combobox/ComboboxOld/ui/ComboboxTarget/ComboboxTarget.js +1 -1
  81. package/cjs/components/Combobox/ComboboxOld/ui/ComboboxTarget/ComboboxTarget.styles.js +2 -1
  82. package/cjs/components/Combobox/ComboboxOld/ui/ComboboxTarget/ComboboxTarget.styles.js.map +1 -1
  83. package/cjs/components/DatePicker/DatePickerBase.styles.js +7 -1
  84. package/cjs/components/DatePicker/DatePickerBase.styles.js.map +1 -1
  85. package/cjs/components/DatePicker/RangeDate/RangeDate.js +1 -1
  86. package/cjs/components/DatePicker/RangeDate/RangeDate.styles.js +1 -0
  87. package/cjs/components/DatePicker/RangeDate/RangeDate.styles.js.map +1 -1
  88. package/cjs/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.js +2 -1
  89. package/cjs/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.js.map +1 -1
  90. package/cjs/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.styles.js +5 -2
  91. package/cjs/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.styles.js.map +1 -1
  92. package/cjs/components/DatePicker/SingleDate/SingleDate.styles.js +1 -0
  93. package/cjs/components/DatePicker/SingleDate/SingleDate.styles.js.map +1 -1
  94. package/cjs/components/Drawer/Drawer.js +10 -5
  95. package/cjs/components/Drawer/Drawer.js.map +1 -1
  96. package/cjs/components/Drawer/Drawer.styles.js +4 -0
  97. package/cjs/components/Drawer/Drawer.styles.js.map +1 -1
  98. package/cjs/components/Drawer/hooks/useDrawer.js +4 -0
  99. package/cjs/components/Drawer/hooks/useDrawer.js.map +1 -1
  100. package/cjs/components/Drawer/ui/DrawerContent/DrawerContent.js +7 -0
  101. package/cjs/components/Drawer/ui/DrawerContent/DrawerContent.js.map +1 -1
  102. package/cjs/components/Drawer/ui/DrawerFooter/DrawerFooter.js +7 -0
  103. package/cjs/components/Drawer/ui/DrawerFooter/DrawerFooter.js.map +1 -1
  104. package/cjs/components/Drawer/ui/DrawerHeader/DrawerHeader.js +3 -0
  105. package/cjs/components/Drawer/ui/DrawerHeader/DrawerHeader.js.map +1 -1
  106. package/cjs/components/Dropdown/Dropdown.js +10 -3
  107. package/cjs/components/Dropdown/Dropdown.js.map +1 -1
  108. package/cjs/components/Dropdown/Dropdown.styles.js +3 -2
  109. package/cjs/components/Dropdown/Dropdown.styles.js.map +1 -1
  110. package/cjs/components/Dropdown/ui/DropdownInner/DropdownInner.js +9 -1
  111. package/cjs/components/Dropdown/ui/DropdownInner/DropdownInner.js.map +1 -1
  112. package/cjs/components/Dropdown/ui/DropdownItem/DropdownItem.js +2 -1
  113. package/cjs/components/Dropdown/ui/DropdownItem/DropdownItem.js.map +1 -1
  114. package/cjs/components/Dropdown/ui/DropdownItemOld/DropdownItem.styles.js +2 -0
  115. package/cjs/components/Dropdown/ui/DropdownItemOld/DropdownItem.styles.js.map +1 -1
  116. package/cjs/components/Dropdown/ui/DropdownOld/Dropdown.styles.js +1 -0
  117. package/cjs/components/Dropdown/ui/DropdownOld/Dropdown.styles.js.map +1 -1
  118. package/cjs/components/Editable/Editable.js +4 -3
  119. package/cjs/components/Editable/Editable.js.map +1 -1
  120. package/cjs/components/Editable/utils/clearSelection.js +2 -0
  121. package/cjs/components/Editable/utils/clearSelection.js.map +1 -1
  122. package/cjs/components/Editable/utils/selectText.js +2 -0
  123. package/cjs/components/Editable/utils/selectText.js.map +1 -1
  124. package/cjs/components/EmptyState/EmptyState.styles.js +2 -1
  125. package/cjs/components/EmptyState/EmptyState.styles.js.map +1 -1
  126. package/cjs/components/IconButton/IconButton.js +1 -1
  127. package/cjs/components/IconButton/IconButton.styles.js +8 -0
  128. package/cjs/components/IconButton/IconButton.styles.js.map +1 -1
  129. package/cjs/components/Modal/Modal.js +8 -6
  130. package/cjs/components/Modal/Modal.js.map +1 -1
  131. package/cjs/components/Modal/hooks/useModal.js +4 -0
  132. package/cjs/components/Modal/hooks/useModal.js.map +1 -1
  133. package/cjs/components/Notification/Notification.styles.js +3 -2
  134. package/cjs/components/Notification/Notification.styles.js.map +1 -1
  135. package/cjs/components/Notification/NotificationsPortal.js +4 -3
  136. package/cjs/components/Notification/NotificationsPortal.js.map +1 -1
  137. package/cjs/components/Pagination/Pagination.styles.js +2 -1
  138. package/cjs/components/Pagination/Pagination.styles.js.map +1 -1
  139. package/cjs/components/Pagination/ui/PaginationSelectPerPage/PaginationSelectPerPage.styles.js +2 -1
  140. package/cjs/components/Pagination/ui/PaginationSelectPerPage/PaginationSelectPerPage.styles.js.map +1 -1
  141. package/cjs/components/Panel/ui/PanelHeader/PanelHeader.js +2 -1
  142. package/cjs/components/Panel/ui/PanelHeader/PanelHeader.js.map +1 -1
  143. package/cjs/components/Panel/ui/PanelHeader/PanelHeader.styles.js +2 -1
  144. package/cjs/components/Panel/ui/PanelHeader/PanelHeader.styles.js.map +1 -1
  145. package/cjs/components/Popover/Popover.js +1 -1
  146. package/cjs/components/Popup/Popup.js +2 -2
  147. package/cjs/components/Popup/PopupContext.js +1 -1
  148. package/cjs/components/Range/Range.styles.js +1 -0
  149. package/cjs/components/Range/Range.styles.js.map +1 -1
  150. package/cjs/components/Segment/ui/SegmentGroup/SegmentGroup.js +5 -4
  151. package/cjs/components/Segment/ui/SegmentGroup/SegmentGroup.js.map +1 -1
  152. package/cjs/components/Select/Select.js +12 -11
  153. package/cjs/components/Select/Select.js.map +1 -1
  154. package/cjs/components/Select/Select.styles.js +5 -2
  155. package/cjs/components/Select/Select.styles.js.map +1 -1
  156. package/cjs/components/Select/hooks/usePathMaps.js +2 -0
  157. package/cjs/components/Select/hooks/usePathMaps.js.map +1 -1
  158. package/cjs/components/Select/ui/Inner/Inner.js +2 -1
  159. package/cjs/components/Select/ui/Inner/Inner.js.map +1 -1
  160. package/cjs/components/Select/ui/Inner/ui/Item/Item.js +5 -4
  161. package/cjs/components/Select/ui/Inner/ui/Item/Item.js.map +1 -1
  162. package/cjs/components/Select/ui/Inner/ui/Item/Item.styles.js +1 -0
  163. package/cjs/components/Select/ui/Inner/ui/Item/Item.styles.js.map +1 -1
  164. package/cjs/components/Select/ui/Target/ui/Button/Button.js +1 -1
  165. package/cjs/components/Select/ui/Target/ui/Button/Button.styles.js +3 -1
  166. package/cjs/components/Select/ui/Target/ui/Button/Button.styles.js.map +1 -1
  167. package/cjs/components/Select/ui/Target/ui/Textfield/Textfield.js +2 -2
  168. package/cjs/components/Select/ui/Target/ui/Textfield/Textfield.styles.js +4 -1
  169. package/cjs/components/Select/ui/Target/ui/Textfield/Textfield.styles.js.map +1 -1
  170. package/cjs/components/Select/ui/Target/ui/Textfield/ui/Chip/Chip.styles.js +2 -1
  171. package/cjs/components/Select/ui/Target/ui/Textfield/ui/Chip/Chip.styles.js.map +1 -1
  172. package/cjs/components/Select/utils/getButtonLabel.js +2 -0
  173. package/cjs/components/Select/utils/getButtonLabel.js.map +1 -1
  174. package/cjs/components/Sheet/Sheet.js +3 -3
  175. package/cjs/components/Skeleton/LineSkeleton/LineSkeleton.js +4 -2
  176. package/cjs/components/Skeleton/LineSkeleton/LineSkeleton.js.map +1 -1
  177. package/cjs/components/Skeleton/RectSkeleton/RectSkeleton.js +4 -2
  178. package/cjs/components/Skeleton/RectSkeleton/RectSkeleton.js.map +1 -1
  179. package/cjs/components/Slider/Slider.js +6 -0
  180. package/cjs/components/Slider/Slider.js.map +1 -1
  181. package/cjs/components/Slider/components/Double/Double.js +2 -1
  182. package/cjs/components/Slider/components/Double/Double.js.map +1 -1
  183. package/cjs/components/Slider/components/Double/Double.styles.js +1 -0
  184. package/cjs/components/Slider/components/Double/Double.styles.js.map +1 -1
  185. package/cjs/components/Slider/components/DoubleUncontrolled/DoubleUncontrolled.js +3 -0
  186. package/cjs/components/Slider/components/DoubleUncontrolled/DoubleUncontrolled.js.map +1 -1
  187. package/cjs/components/Slider/components/Single/Single.js +2 -1
  188. package/cjs/components/Slider/components/Single/Single.js.map +1 -1
  189. package/cjs/components/Slider/components/SliderBase/SliderBase.js +1 -1
  190. package/cjs/components/Steps/Steps.js +1 -1
  191. package/cjs/components/Steps/ui/StepItem/StepItem.styles.js +1 -0
  192. package/cjs/components/Steps/ui/StepItem/StepItem.styles.js.map +1 -1
  193. package/cjs/components/Tabs/ui/horizontal/HorizontalTabs/HorizontalTabs.js +3 -2
  194. package/cjs/components/Tabs/ui/horizontal/HorizontalTabs/HorizontalTabs.js.map +1 -1
  195. package/cjs/components/Tabs/ui/vertical/VerticalTabs/VerticalTabs.js +3 -2
  196. package/cjs/components/Tabs/ui/vertical/VerticalTabs/VerticalTabs.js.map +1 -1
  197. package/cjs/components/TextArea/TextArea.js +1 -1
  198. package/cjs/components/TextField/TextField.js +1 -1
  199. package/cjs/components/TextField/ui/TextFieldChip/TextFieldChip.styles.js +2 -1
  200. package/cjs/components/TextField/ui/TextFieldChip/TextFieldChip.styles.js.map +1 -1
  201. package/cjs/components/Toast/Toast.styles.js +1 -1
  202. package/cjs/components/Toast/ToastController.js +1 -1
  203. package/cjs/components/Toast/utils.js +2 -1
  204. package/cjs/components/Toast/utils.js.map +1 -1
  205. package/cjs/components/Toolbar/ui/ToolbarDivider/ToolbarDivider.js +1 -1
  206. package/cjs/components/Tooltip/Tooltip.js +3 -2
  207. package/cjs/components/Tooltip/Tooltip.js.map +1 -1
  208. package/cjs/engines/index.js +2 -0
  209. package/cjs/engines/index.js.map +1 -1
  210. package/cjs/hooks/useIsomorphicLayoutEffect.js +1 -0
  211. package/cjs/hooks/useIsomorphicLayoutEffect.js.map +1 -1
  212. package/cjs/index.js +51 -48
  213. package/cjs/index.js.map +1 -1
  214. package/cjs/utils/index.js +5 -0
  215. package/cjs/utils/index.js.map +1 -1
  216. package/emotion/cjs/components/Calendar/ui/CalendarDays/CalendarDays.js +5 -1
  217. package/emotion/cjs/components/Calendar/ui/CalendarMonths/CalendarMonths.js +5 -1
  218. package/emotion/cjs/components/Calendar/ui/CalendarQuarters/CalendarQuarters.js +5 -1
  219. package/emotion/cjs/components/Calendar/ui/CalendarYears/CalendarYears.js +5 -1
  220. package/emotion/es/components/Calendar/ui/CalendarDays/CalendarDays.js +5 -1
  221. package/emotion/es/components/Calendar/ui/CalendarMonths/CalendarMonths.js +5 -1
  222. package/emotion/es/components/Calendar/ui/CalendarQuarters/CalendarQuarters.js +5 -1
  223. package/emotion/es/components/Calendar/ui/CalendarYears/CalendarYears.js +5 -1
  224. package/emotion/package.json +1 -2
  225. package/es/components/Accordion/ui/AccordionItem/AccordionItem.styles.js +1 -0
  226. package/es/components/Accordion/ui/AccordionItem/AccordionItem.styles.js.map +1 -1
  227. package/es/components/Attach/Attach.js +4 -3
  228. package/es/components/Attach/Attach.js.map +1 -1
  229. package/es/components/Attach/components/AttachButton/AttachButton.js +1 -0
  230. package/es/components/Attach/components/AttachButton/AttachButton.js.map +1 -1
  231. package/es/components/Attach/ui/Button/Button.styles.js +1 -0
  232. package/es/components/Attach/ui/Button/Button.styles.js.map +1 -1
  233. package/es/components/Attach/ui/Cell/Cell.styles.js +2 -0
  234. package/es/components/Attach/ui/Cell/Cell.styles.js.map +1 -1
  235. package/es/components/Attach/ui/IconButton/IconButton.styles.js +1 -0
  236. package/es/components/Attach/ui/IconButton/IconButton.styles.js.map +1 -1
  237. package/es/components/Attach/utils/getFileicon.js +4 -3
  238. package/es/components/Attach/utils/getFileicon.js.map +1 -1
  239. package/es/components/Attach/utils/index.js +3 -0
  240. package/es/components/Attach/utils/index.js.map +1 -1
  241. package/es/components/Autocomplete/Autocomplete.js +6 -5
  242. package/es/components/Autocomplete/Autocomplete.js.map +1 -1
  243. package/es/components/Autocomplete/Autocomplete.styles.js +3 -2
  244. package/es/components/Autocomplete/Autocomplete.styles.js.map +1 -1
  245. package/es/components/Autocomplete/ui/TextField/TextField.styles.js +2 -1
  246. package/es/components/Autocomplete/ui/TextField/TextField.styles.js.map +1 -1
  247. package/es/components/Avatar/Avatar.js +3 -2
  248. package/es/components/Avatar/Avatar.js.map +1 -1
  249. package/es/components/Breadcrumbs/Breadcrumbs.styles.js +4 -2
  250. package/es/components/Breadcrumbs/Breadcrumbs.styles.js.map +1 -1
  251. package/es/components/Button/Button.styles.js +3 -0
  252. package/es/components/Button/Button.styles.js.map +1 -1
  253. package/es/components/Calendar/CalendarBase/CalendarBase.js +5 -5
  254. package/es/components/Calendar/CalendarDouble/CalendarDouble.js +8 -8
  255. package/es/components/Calendar/hooks/useDays.js +2 -2
  256. package/es/components/Calendar/hooks/useKeyNavigation.js +1 -1
  257. package/es/components/Calendar/hooks/useMonths.js +2 -2
  258. package/es/components/Calendar/hooks/useQuarters.js +2 -2
  259. package/es/components/Calendar/hooks/useYears.js +2 -2
  260. package/es/components/Calendar/ui/CalendarDays/CalendarDays.js +9 -5
  261. package/es/components/Calendar/ui/CalendarDays/CalendarDays.js.map +1 -1
  262. package/es/components/Calendar/ui/CalendarHeader/CalendarHeader.js +6 -5
  263. package/es/components/Calendar/ui/CalendarHeader/CalendarHeader.js.map +1 -1
  264. package/es/components/Calendar/ui/CalendarHeader/CalendarHeader.styles.js +1 -0
  265. package/es/components/Calendar/ui/CalendarHeader/CalendarHeader.styles.js.map +1 -1
  266. package/es/components/Calendar/ui/CalendarMonths/CalendarMonths.js +9 -5
  267. package/es/components/Calendar/ui/CalendarMonths/CalendarMonths.js.map +1 -1
  268. package/es/components/Calendar/ui/CalendarQuarters/CalendarQuarters.js +9 -5
  269. package/es/components/Calendar/ui/CalendarQuarters/CalendarQuarters.js.map +1 -1
  270. package/es/components/Calendar/ui/CalendarYears/CalendarYears.js +9 -5
  271. package/es/components/Calendar/ui/CalendarYears/CalendarYears.js.map +1 -1
  272. package/es/components/Combobox/ComboboxNew/Combobox.js +12 -11
  273. package/es/components/Combobox/ComboboxNew/Combobox.js.map +1 -1
  274. package/es/components/Combobox/ComboboxNew/Combobox.styles.js +4 -2
  275. package/es/components/Combobox/ComboboxNew/Combobox.styles.js.map +1 -1
  276. package/es/components/Combobox/ComboboxNew/hooks/getPathMaps.js +2 -0
  277. package/es/components/Combobox/ComboboxNew/hooks/getPathMaps.js.map +1 -1
  278. package/es/components/Combobox/ComboboxNew/ui/Inner/Inner.js +2 -1
  279. package/es/components/Combobox/ComboboxNew/ui/Inner/Inner.js.map +1 -1
  280. package/es/components/Combobox/ComboboxNew/ui/Inner/ui/Item/Item.js +6 -5
  281. package/es/components/Combobox/ComboboxNew/ui/Inner/ui/Item/Item.js.map +1 -1
  282. package/es/components/Combobox/ComboboxNew/ui/Inner/ui/Item/Item.styles.js +3 -1
  283. package/es/components/Combobox/ComboboxNew/ui/Inner/ui/Item/Item.styles.js.map +1 -1
  284. package/es/components/Combobox/ComboboxNew/ui/Target/Target.styles.js +2 -1
  285. package/es/components/Combobox/ComboboxNew/ui/Target/Target.styles.js.map +1 -1
  286. package/es/components/Combobox/ComboboxOld/Combobox.js +10 -4
  287. package/es/components/Combobox/ComboboxOld/Combobox.js.map +1 -1
  288. package/es/components/Combobox/ComboboxOld/Combobox.styles.js +1 -0
  289. package/es/components/Combobox/ComboboxOld/Combobox.styles.js.map +1 -1
  290. package/es/components/Combobox/ComboboxOld/hooks/useFocusController.js +1 -0
  291. package/es/components/Combobox/ComboboxOld/hooks/useFocusController.js.map +1 -1
  292. package/es/components/Combobox/ComboboxOld/ui/ComboboxChip/ComboboxChip.styles.js +2 -1
  293. package/es/components/Combobox/ComboboxOld/ui/ComboboxChip/ComboboxChip.styles.js.map +1 -1
  294. package/es/components/Combobox/ComboboxOld/ui/ComboboxDivider/ComboboxDivider.js +10 -1
  295. package/es/components/Combobox/ComboboxOld/ui/ComboboxDivider/ComboboxDivider.js.map +1 -1
  296. package/es/components/Combobox/ComboboxOld/ui/ComboboxFooter/ComboboxFooter.js +10 -1
  297. package/es/components/Combobox/ComboboxOld/ui/ComboboxFooter/ComboboxFooter.js.map +1 -1
  298. package/es/components/Combobox/ComboboxOld/ui/ComboboxGroup/ComboboxGroup.js +10 -1
  299. package/es/components/Combobox/ComboboxOld/ui/ComboboxGroup/ComboboxGroup.js.map +1 -1
  300. package/es/components/Combobox/ComboboxOld/ui/ComboboxHeader/ComboboxHeader.js +10 -1
  301. package/es/components/Combobox/ComboboxOld/ui/ComboboxHeader/ComboboxHeader.js.map +1 -1
  302. package/es/components/Combobox/ComboboxOld/ui/ComboboxItem/ComboboxItem.styles.js +2 -0
  303. package/es/components/Combobox/ComboboxOld/ui/ComboboxItem/ComboboxItem.styles.js.map +1 -1
  304. package/es/components/Combobox/ComboboxOld/ui/ComboboxTarget/ComboboxTarget.js +1 -1
  305. package/es/components/Combobox/ComboboxOld/ui/ComboboxTarget/ComboboxTarget.styles.js +2 -1
  306. package/es/components/Combobox/ComboboxOld/ui/ComboboxTarget/ComboboxTarget.styles.js.map +1 -1
  307. package/es/components/DatePicker/DatePickerBase.styles.js +7 -1
  308. package/es/components/DatePicker/DatePickerBase.styles.js.map +1 -1
  309. package/es/components/DatePicker/RangeDate/RangeDate.js +1 -1
  310. package/es/components/DatePicker/RangeDate/RangeDate.styles.js +1 -0
  311. package/es/components/DatePicker/RangeDate/RangeDate.styles.js.map +1 -1
  312. package/es/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.js +2 -1
  313. package/es/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.js.map +1 -1
  314. package/es/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.styles.js +5 -2
  315. package/es/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.styles.js.map +1 -1
  316. package/es/components/DatePicker/SingleDate/SingleDate.styles.js +1 -0
  317. package/es/components/DatePicker/SingleDate/SingleDate.styles.js.map +1 -1
  318. package/es/components/Drawer/Drawer.js +10 -5
  319. package/es/components/Drawer/Drawer.js.map +1 -1
  320. package/es/components/Drawer/Drawer.styles.js +4 -0
  321. package/es/components/Drawer/Drawer.styles.js.map +1 -1
  322. package/es/components/Drawer/hooks/useDrawer.js +4 -0
  323. package/es/components/Drawer/hooks/useDrawer.js.map +1 -1
  324. package/es/components/Drawer/ui/DrawerContent/DrawerContent.js +7 -0
  325. package/es/components/Drawer/ui/DrawerContent/DrawerContent.js.map +1 -1
  326. package/es/components/Drawer/ui/DrawerFooter/DrawerFooter.js +7 -0
  327. package/es/components/Drawer/ui/DrawerFooter/DrawerFooter.js.map +1 -1
  328. package/es/components/Drawer/ui/DrawerHeader/DrawerHeader.js +3 -0
  329. package/es/components/Drawer/ui/DrawerHeader/DrawerHeader.js.map +1 -1
  330. package/es/components/Dropdown/Dropdown.js +10 -3
  331. package/es/components/Dropdown/Dropdown.js.map +1 -1
  332. package/es/components/Dropdown/Dropdown.styles.js +3 -2
  333. package/es/components/Dropdown/Dropdown.styles.js.map +1 -1
  334. package/es/components/Dropdown/ui/DropdownInner/DropdownInner.js +9 -1
  335. package/es/components/Dropdown/ui/DropdownInner/DropdownInner.js.map +1 -1
  336. package/es/components/Dropdown/ui/DropdownItem/DropdownItem.js +2 -1
  337. package/es/components/Dropdown/ui/DropdownItem/DropdownItem.js.map +1 -1
  338. package/es/components/Dropdown/ui/DropdownItemOld/DropdownItem.styles.js +2 -0
  339. package/es/components/Dropdown/ui/DropdownItemOld/DropdownItem.styles.js.map +1 -1
  340. package/es/components/Dropdown/ui/DropdownOld/Dropdown.styles.js +1 -0
  341. package/es/components/Dropdown/ui/DropdownOld/Dropdown.styles.js.map +1 -1
  342. package/es/components/Editable/Editable.js +4 -3
  343. package/es/components/Editable/Editable.js.map +1 -1
  344. package/es/components/Editable/utils/clearSelection.js +2 -0
  345. package/es/components/Editable/utils/clearSelection.js.map +1 -1
  346. package/es/components/Editable/utils/selectText.js +2 -0
  347. package/es/components/Editable/utils/selectText.js.map +1 -1
  348. package/es/components/EmptyState/EmptyState.styles.js +2 -1
  349. package/es/components/EmptyState/EmptyState.styles.js.map +1 -1
  350. package/es/components/IconButton/IconButton.js +1 -1
  351. package/es/components/IconButton/IconButton.styles.js +8 -0
  352. package/es/components/IconButton/IconButton.styles.js.map +1 -1
  353. package/es/components/Modal/Modal.js +8 -6
  354. package/es/components/Modal/Modal.js.map +1 -1
  355. package/es/components/Modal/hooks/useModal.js +4 -0
  356. package/es/components/Modal/hooks/useModal.js.map +1 -1
  357. package/es/components/Notification/Notification.styles.js +3 -2
  358. package/es/components/Notification/Notification.styles.js.map +1 -1
  359. package/es/components/Notification/NotificationsPortal.js +4 -3
  360. package/es/components/Notification/NotificationsPortal.js.map +1 -1
  361. package/es/components/Pagination/Pagination.styles.js +2 -1
  362. package/es/components/Pagination/Pagination.styles.js.map +1 -1
  363. package/es/components/Pagination/ui/PaginationSelectPerPage/PaginationSelectPerPage.styles.js +2 -1
  364. package/es/components/Pagination/ui/PaginationSelectPerPage/PaginationSelectPerPage.styles.js.map +1 -1
  365. package/es/components/Panel/ui/PanelHeader/PanelHeader.js +2 -1
  366. package/es/components/Panel/ui/PanelHeader/PanelHeader.js.map +1 -1
  367. package/es/components/Panel/ui/PanelHeader/PanelHeader.styles.js +2 -1
  368. package/es/components/Panel/ui/PanelHeader/PanelHeader.styles.js.map +1 -1
  369. package/es/components/Popover/Popover.js +1 -1
  370. package/es/components/Popup/Popup.js +2 -2
  371. package/es/components/Popup/PopupContext.js +1 -1
  372. package/es/components/Range/Range.styles.js +1 -0
  373. package/es/components/Range/Range.styles.js.map +1 -1
  374. package/es/components/Segment/ui/SegmentGroup/SegmentGroup.js +5 -4
  375. package/es/components/Segment/ui/SegmentGroup/SegmentGroup.js.map +1 -1
  376. package/es/components/Select/Select.js +12 -11
  377. package/es/components/Select/Select.js.map +1 -1
  378. package/es/components/Select/Select.styles.js +5 -2
  379. package/es/components/Select/Select.styles.js.map +1 -1
  380. package/es/components/Select/hooks/usePathMaps.js +2 -0
  381. package/es/components/Select/hooks/usePathMaps.js.map +1 -1
  382. package/es/components/Select/ui/Inner/Inner.js +2 -1
  383. package/es/components/Select/ui/Inner/Inner.js.map +1 -1
  384. package/es/components/Select/ui/Inner/ui/Item/Item.js +5 -4
  385. package/es/components/Select/ui/Inner/ui/Item/Item.js.map +1 -1
  386. package/es/components/Select/ui/Inner/ui/Item/Item.styles.js +1 -0
  387. package/es/components/Select/ui/Inner/ui/Item/Item.styles.js.map +1 -1
  388. package/es/components/Select/ui/Target/ui/Button/Button.js +1 -1
  389. package/es/components/Select/ui/Target/ui/Button/Button.styles.js +3 -1
  390. package/es/components/Select/ui/Target/ui/Button/Button.styles.js.map +1 -1
  391. package/es/components/Select/ui/Target/ui/Textfield/Textfield.js +2 -2
  392. package/es/components/Select/ui/Target/ui/Textfield/Textfield.styles.js +4 -1
  393. package/es/components/Select/ui/Target/ui/Textfield/Textfield.styles.js.map +1 -1
  394. package/es/components/Select/ui/Target/ui/Textfield/ui/Chip/Chip.styles.js +2 -1
  395. package/es/components/Select/ui/Target/ui/Textfield/ui/Chip/Chip.styles.js.map +1 -1
  396. package/es/components/Select/utils/getButtonLabel.js +2 -0
  397. package/es/components/Select/utils/getButtonLabel.js.map +1 -1
  398. package/es/components/Sheet/Sheet.js +3 -3
  399. package/es/components/Skeleton/LineSkeleton/LineSkeleton.js +4 -2
  400. package/es/components/Skeleton/LineSkeleton/LineSkeleton.js.map +1 -1
  401. package/es/components/Skeleton/RectSkeleton/RectSkeleton.js +4 -2
  402. package/es/components/Skeleton/RectSkeleton/RectSkeleton.js.map +1 -1
  403. package/es/components/Slider/Slider.js +6 -0
  404. package/es/components/Slider/Slider.js.map +1 -1
  405. package/es/components/Slider/components/Double/Double.js +2 -1
  406. package/es/components/Slider/components/Double/Double.js.map +1 -1
  407. package/es/components/Slider/components/Double/Double.styles.js +1 -0
  408. package/es/components/Slider/components/Double/Double.styles.js.map +1 -1
  409. package/es/components/Slider/components/DoubleUncontrolled/DoubleUncontrolled.js +3 -0
  410. package/es/components/Slider/components/DoubleUncontrolled/DoubleUncontrolled.js.map +1 -1
  411. package/es/components/Slider/components/Single/Single.js +2 -1
  412. package/es/components/Slider/components/Single/Single.js.map +1 -1
  413. package/es/components/Slider/components/SliderBase/SliderBase.js +1 -1
  414. package/es/components/Steps/Steps.js +1 -1
  415. package/es/components/Steps/ui/StepItem/StepItem.styles.js +1 -0
  416. package/es/components/Steps/ui/StepItem/StepItem.styles.js.map +1 -1
  417. package/es/components/Tabs/ui/horizontal/HorizontalTabs/HorizontalTabs.js +3 -2
  418. package/es/components/Tabs/ui/horizontal/HorizontalTabs/HorizontalTabs.js.map +1 -1
  419. package/es/components/Tabs/ui/vertical/VerticalTabs/VerticalTabs.js +3 -2
  420. package/es/components/Tabs/ui/vertical/VerticalTabs/VerticalTabs.js.map +1 -1
  421. package/es/components/TextArea/TextArea.js +1 -1
  422. package/es/components/TextField/TextField.js +1 -1
  423. package/es/components/TextField/ui/TextFieldChip/TextFieldChip.styles.js +2 -1
  424. package/es/components/TextField/ui/TextFieldChip/TextFieldChip.styles.js.map +1 -1
  425. package/es/components/Toast/Toast.styles.js +1 -1
  426. package/es/components/Toast/ToastController.js +1 -1
  427. package/es/components/Toast/utils.js +2 -1
  428. package/es/components/Toast/utils.js.map +1 -1
  429. package/es/components/Toolbar/ui/ToolbarDivider/ToolbarDivider.js +1 -1
  430. package/es/components/Tooltip/Tooltip.js +3 -2
  431. package/es/components/Tooltip/Tooltip.js.map +1 -1
  432. package/es/engines/index.js +2 -0
  433. package/es/engines/index.js.map +1 -1
  434. package/es/hooks/useIsomorphicLayoutEffect.js +1 -0
  435. package/es/hooks/useIsomorphicLayoutEffect.js.map +1 -1
  436. package/es/index.js +24 -21
  437. package/es/index.js.map +1 -1
  438. package/es/utils/index.js +3 -0
  439. package/es/utils/index.js.map +1 -1
  440. package/package.json +2 -5
  441. package/styled-components/cjs/components/Calendar/ui/CalendarDays/CalendarDays.js +5 -1
  442. package/styled-components/cjs/components/Calendar/ui/CalendarMonths/CalendarMonths.js +5 -1
  443. package/styled-components/cjs/components/Calendar/ui/CalendarQuarters/CalendarQuarters.js +5 -1
  444. package/styled-components/cjs/components/Calendar/ui/CalendarYears/CalendarYears.js +5 -1
  445. package/styled-components/es/components/Calendar/ui/CalendarDays/CalendarDays.js +5 -1
  446. package/styled-components/es/components/Calendar/ui/CalendarMonths/CalendarMonths.js +5 -1
  447. package/styled-components/es/components/Calendar/ui/CalendarQuarters/CalendarQuarters.js +5 -1
  448. package/styled-components/es/components/Calendar/ui/CalendarYears/CalendarYears.js +5 -1
  449. package/styled-components/package.json +1 -2
  450. package/types/components/Calendar/ui/CalendarDays/CalendarDays.d.ts.map +1 -1
  451. package/types/components/Calendar/ui/CalendarMonths/CalendarMonths.d.ts.map +1 -1
  452. package/types/components/Calendar/ui/CalendarQuarters/CalendarQuarters.d.ts.map +1 -1
  453. package/types/components/Calendar/ui/CalendarYears/CalendarYears.d.ts.map +1 -1
@@ -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":"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"}
@@ -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":"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"}
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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"}
@@ -2,6 +2,10 @@ import { objectSpread2 as _objectSpread2 } from '../../../_virtual/_rollupPlugin
2
2
  import { useCallback, useEffect } from 'react';
3
3
  import { getIdLastModal } from '../ModalContext.js';
4
4
  import { usePopupContext } from '../../Popup/PopupContext.js';
5
+ import '@salutejs/plasma-core';
6
+ import '../../../utils/react.js';
7
+ import 'react-dom';
8
+ import '@linaria/react';
5
9
 
6
10
  var ESCAPE_KEYCODE = 27;
7
11
  var useModal = function useModal(_ref) {
@@ -1 +1 @@
1
- {"version":3,"file":"useModal.js","sources":["../../../../src/components/Modal/hooks/useModal.ts"],"sourcesContent":["import { useCallback, useEffect } from 'react';\n\nimport { ModalInfo, getIdLastModal } from '../ModalContext';\nimport { ModalHookArgs } from '../Modal.types';\nimport { usePopupContext } from '../../Popup';\n\nconst ESCAPE_KEYCODE = 27;\n\nexport const useModal = ({ id, popupInfo, onEscKeyDown, onClose, closeOnEsc = true }: ModalHookArgs) => {\n const popupController = usePopupContext();\n\n // При ESC закрывает текущее окно, если это возможно\n const onKeyDown = useCallback(\n (event: KeyboardEvent) => {\n if (!closeOnEsc) {\n return;\n }\n if (event.keyCode === ESCAPE_KEYCODE && getIdLastModal(popupController.items) === id) {\n if (onEscKeyDown) {\n onEscKeyDown(event);\n return;\n }\n\n if (onClose) {\n onClose();\n }\n }\n },\n [onClose, onEscKeyDown, popupController.items, closeOnEsc],\n );\n\n useEffect(() => {\n window.addEventListener('keydown', onKeyDown);\n return () => {\n window.removeEventListener('keydown', onKeyDown);\n };\n }, [onClose, onEscKeyDown, popupController.items, closeOnEsc]);\n\n const modalInfo: ModalInfo = {\n id,\n info: {\n isModal: true,\n },\n ...popupInfo,\n };\n\n return { modalInfo };\n};\n"],"names":["ESCAPE_KEYCODE","useModal","_ref","id","popupInfo","onEscKeyDown","onClose","_ref$closeOnEsc","closeOnEsc","popupController","usePopupContext","onKeyDown","useCallback","event","keyCode","getIdLastModal","items","useEffect","window","addEventListener","removeEventListener","modalInfo","_objectSpread","info","isModal"],"mappings":";;;;;AAMA,IAAMA,cAAc,GAAG,EAAE,CAAA;IAEZC,QAAQ,GAAG,SAAXA,QAAQA,CAAAC,IAAA,EAAmF;AAAA,EAAA,IAA7EC,EAAE,GAAAD,IAAA,CAAFC,EAAE;IAAEC,SAAS,GAAAF,IAAA,CAATE,SAAS;IAAEC,YAAY,GAAAH,IAAA,CAAZG,YAAY;IAAEC,OAAO,GAAAJ,IAAA,CAAPI,OAAO;IAAAC,eAAA,GAAAL,IAAA,CAAEM,UAAU;AAAVA,IAAAA,UAAU,GAAAD,eAAA,KAAG,KAAA,CAAA,GAAA,IAAI,GAAAA,eAAA,CAAA;AAC9E,EAAA,IAAME,eAAe,GAAGC,eAAe,EAAE,CAAA;;AAEzC;AACA,EAAA,IAAMC,SAAS,GAAGC,WAAW,CACzB,UAACC,KAAoB,EAAK;IACtB,IAAI,CAACL,UAAU,EAAE;AACb,MAAA,OAAA;AACJ,KAAA;AACA,IAAA,IAAIK,KAAK,CAACC,OAAO,KAAKd,cAAc,IAAIe,cAAc,CAACN,eAAe,CAACO,KAAK,CAAC,KAAKb,EAAE,EAAE;AAClF,MAAA,IAAIE,YAAY,EAAE;QACdA,YAAY,CAACQ,KAAK,CAAC,CAAA;AACnB,QAAA,OAAA;AACJ,OAAA;AAEA,MAAA,IAAIP,OAAO,EAAE;AACTA,QAAAA,OAAO,EAAE,CAAA;AACb,OAAA;AACJ,KAAA;AACJ,GAAC,EACD,CAACA,OAAO,EAAED,YAAY,EAAEI,eAAe,CAACO,KAAK,EAAER,UAAU,CAC7D,CAAC,CAAA;AAEDS,EAAAA,SAAS,CAAC,YAAM;AACZC,IAAAA,MAAM,CAACC,gBAAgB,CAAC,SAAS,EAAER,SAAS,CAAC,CAAA;AAC7C,IAAA,OAAO,YAAM;AACTO,MAAAA,MAAM,CAACE,mBAAmB,CAAC,SAAS,EAAET,SAAS,CAAC,CAAA;KACnD,CAAA;AACL,GAAC,EAAE,CAACL,OAAO,EAAED,YAAY,EAAEI,eAAe,CAACO,KAAK,EAAER,UAAU,CAAC,CAAC,CAAA;EAE9D,IAAMa,SAAoB,GAAAC,cAAA,CAAA;AACtBnB,IAAAA,EAAE,EAAFA,EAAE;AACFoB,IAAAA,IAAI,EAAE;AACFC,MAAAA,OAAO,EAAE,IAAA;AACb,KAAA;AAAC,GAAA,EACEpB,SAAS,CACf,CAAA;EAED,OAAO;AAAEiB,IAAAA,SAAS,EAATA,SAAAA;GAAW,CAAA;AACxB;;;;"}
1
+ {"version":3,"file":"useModal.js","sources":["../../../../src/components/Modal/hooks/useModal.ts"],"sourcesContent":["import { useCallback, useEffect } from 'react';\n\nimport { ModalInfo, getIdLastModal } from '../ModalContext';\nimport { ModalHookArgs } from '../Modal.types';\nimport { usePopupContext } from '../../Popup';\n\nconst ESCAPE_KEYCODE = 27;\n\nexport const useModal = ({ id, popupInfo, onEscKeyDown, onClose, closeOnEsc = true }: ModalHookArgs) => {\n const popupController = usePopupContext();\n\n // При ESC закрывает текущее окно, если это возможно\n const onKeyDown = useCallback(\n (event: KeyboardEvent) => {\n if (!closeOnEsc) {\n return;\n }\n if (event.keyCode === ESCAPE_KEYCODE && getIdLastModal(popupController.items) === id) {\n if (onEscKeyDown) {\n onEscKeyDown(event);\n return;\n }\n\n if (onClose) {\n onClose();\n }\n }\n },\n [onClose, onEscKeyDown, popupController.items, closeOnEsc],\n );\n\n useEffect(() => {\n window.addEventListener('keydown', onKeyDown);\n return () => {\n window.removeEventListener('keydown', onKeyDown);\n };\n }, [onClose, onEscKeyDown, popupController.items, closeOnEsc]);\n\n const modalInfo: ModalInfo = {\n id,\n info: {\n isModal: true,\n },\n ...popupInfo,\n };\n\n return { modalInfo };\n};\n"],"names":["ESCAPE_KEYCODE","useModal","_ref","id","popupInfo","onEscKeyDown","onClose","_ref$closeOnEsc","closeOnEsc","popupController","usePopupContext","onKeyDown","useCallback","event","keyCode","getIdLastModal","items","useEffect","window","addEventListener","removeEventListener","modalInfo","_objectSpread","info","isModal"],"mappings":";;;;;;;;;AAMA,IAAMA,cAAc,GAAG,EAAE,CAAA;IAEZC,QAAQ,GAAG,SAAXA,QAAQA,CAAAC,IAAA,EAAmF;AAAA,EAAA,IAA7EC,EAAE,GAAAD,IAAA,CAAFC,EAAE;IAAEC,SAAS,GAAAF,IAAA,CAATE,SAAS;IAAEC,YAAY,GAAAH,IAAA,CAAZG,YAAY;IAAEC,OAAO,GAAAJ,IAAA,CAAPI,OAAO;IAAAC,eAAA,GAAAL,IAAA,CAAEM,UAAU;AAAVA,IAAAA,UAAU,GAAAD,eAAA,KAAG,KAAA,CAAA,GAAA,IAAI,GAAAA,eAAA,CAAA;AAC9E,EAAA,IAAME,eAAe,GAAGC,eAAe,EAAE,CAAA;;AAEzC;AACA,EAAA,IAAMC,SAAS,GAAGC,WAAW,CACzB,UAACC,KAAoB,EAAK;IACtB,IAAI,CAACL,UAAU,EAAE;AACb,MAAA,OAAA;AACJ,KAAA;AACA,IAAA,IAAIK,KAAK,CAACC,OAAO,KAAKd,cAAc,IAAIe,cAAc,CAACN,eAAe,CAACO,KAAK,CAAC,KAAKb,EAAE,EAAE;AAClF,MAAA,IAAIE,YAAY,EAAE;QACdA,YAAY,CAACQ,KAAK,CAAC,CAAA;AACnB,QAAA,OAAA;AACJ,OAAA;AAEA,MAAA,IAAIP,OAAO,EAAE;AACTA,QAAAA,OAAO,EAAE,CAAA;AACb,OAAA;AACJ,KAAA;AACJ,GAAC,EACD,CAACA,OAAO,EAAED,YAAY,EAAEI,eAAe,CAACO,KAAK,EAAER,UAAU,CAC7D,CAAC,CAAA;AAEDS,EAAAA,SAAS,CAAC,YAAM;AACZC,IAAAA,MAAM,CAACC,gBAAgB,CAAC,SAAS,EAAER,SAAS,CAAC,CAAA;AAC7C,IAAA,OAAO,YAAM;AACTO,MAAAA,MAAM,CAACE,mBAAmB,CAAC,SAAS,EAAET,SAAS,CAAC,CAAA;KACnD,CAAA;AACL,GAAC,EAAE,CAACL,OAAO,EAAED,YAAY,EAAEI,eAAe,CAACO,KAAK,EAAER,UAAU,CAAC,CAAC,CAAA;EAE9D,IAAMa,SAAoB,GAAAC,cAAA,CAAA;AACtBnB,IAAAA,EAAE,EAAFA,EAAE;AACFoB,IAAAA,IAAI,EAAE;AACFC,MAAAA,OAAO,EAAE,IAAA;AACb,KAAA;AAAC,GAAA,EACEpB,SAAS,CACf,CAAA;EAED,OAAO;AAAEiB,IAAAA,SAAS,EAATA,SAAAA;GAAW,CAAA;AACxB;;;;"}
@@ -1,9 +1,10 @@
1
1
  import './Notification.styles_7h8hp0.css';
2
2
  import { styled } from '@linaria/react';
3
+ import { buttonConfig } from '../Button/Button.js';
4
+ import '@linaria/core';
5
+ import { component, mergeConfig } from '../../engines/common.js';
3
6
  import { tokens } from './Notification.tokens.js';
4
7
  import { placements } from './Notification.types.js';
5
- import { component, mergeConfig } from '../../engines/common.js';
6
- import { buttonConfig } from '../Button/Button.js';
7
8
 
8
9
  var StyledNotification = "sb12p";
9
10
  var mergedButtonConfig = /*#__PURE__*/mergeConfig(buttonConfig);
@@ -1 +1 @@
1
- {"version":3,"file":"Notification.styles.js","sources":["../../../src/components/Notification/Notification.styles.ts"],"sourcesContent":["import { css } from '@linaria/core';\nimport { styled } from '@linaria/react';\n\nimport { applyHyphens } from '../../mixins';\nimport { buttonConfig } from '../Button';\nimport { component, mergeConfig } from '../../engines';\n\nimport { classes, tokens } from './Notification.tokens';\nimport { CloseIconType, IconPlacementType, placements } from './Notification.types';\n\nexport const StyledNotification = css`\n width: fit-content;\n`;\n\nconst mergedButtonConfig = mergeConfig(buttonConfig);\nconst Button = component(mergedButtonConfig);\n\nexport const CloseIconWrapper = styled(Button)`\n position: absolute;\n width: 1.5rem;\n height: 1.5rem;\n\n color: var(${tokens.closeIconColor});\n\n :hover {\n color: var(${tokens.closeIconColorOnHover});\n }\n\n &.${classes.horizontal} {\n position: relative;\n }\n`;\n\nexport const Wrapper = styled.div`\n position: relative;\n box-sizing: border-box;\n\n background: var(${tokens.background});\n border-radius: var(${tokens.borderRadius});\n\n &.${classes.horizontal} {\n display: flex;\n align-items: center;\n gap: var(${tokens.horizontalLayoutGap});\n }\n`;\n\nexport const ButtonsWrapper = styled.div<IconPlacementType>`\n margin-top: var(${tokens.buttonsMarginTop});\n margin-left: ${({ iconPlacement }) =>\n iconPlacement === placements.left ? `var(${tokens.buttonsMarginLeft})` : 'unset'};\n\n &.${classes.horizontal} {\n margin-top: unset;\n margin-left: unset;\n }\n`;\n\nexport const IconWrapper = styled.div<IconPlacementType>`\n width: var(${tokens.contentLeftIconSize});\n height: var(${tokens.contentLeftIconSize});\n\n margin-right: ${({ iconPlacement }) =>\n iconPlacement === placements.left ? `var(${tokens.contentLeftIconMargin})` : 'unset'};\n margin-bottom: ${({ iconPlacement }) =>\n iconPlacement === placements.top ? `var(${tokens.contentTopIconMargin})` : 'unset'};\n\n &.${classes.horizontal} {\n margin-right: var(${tokens.horizontalLayoutLeftIconMargin});\n margin-bottom: unset;\n }\n`;\n\nexport const ContentBox = styled.div<IconPlacementType>`\n // TODO: переделать, когда научимся работать с токенами при пересечнии свойств\n // issue #909\n display: ${({ iconPlacement }) => (iconPlacement === placements.left ? 'flex' : 'block')};\n\n padding-top: ${({ iconPlacement }) =>\n iconPlacement ? `var(${tokens.contentPaddingTop})` : `var(${tokens.contentPaddingTopWithoutIcon})`};\n\n &.${classes.horizontal} {\n padding: unset;\n display: flex;\n align-items: center;\n flex-grow: 1;\n }\n`;\n\nexport const TextBox = styled.div<CloseIconType & IconPlacementType>`\n padding: var(${tokens.textboxPaddingTop}) var(${tokens.textboxPaddingRight}) var(${tokens.textboxPaddingBottom})\n var(${tokens.textboxPaddingLeft});\n\n padding-top: ${({ iconPlacement }) =>\n !iconPlacement || iconPlacement === placements.top\n ? `var(${tokens.textboxPaddingTopWithTopIcon})`\n : `var(${tokens.textboxPaddingTop})`};\n padding-right: ${({ showCloseIcon, iconPlacement }) =>\n showCloseIcon && iconPlacement !== placements.top\n ? `var(${tokens.textboxPaddingRightWithCloseIcon})`\n : `var(${tokens.textboxPaddingRight})`};\n\n display: flex;\n flex-direction: column;\n row-gap: var(${tokens.textboxGap});\n word-break: break-word;\n\n &.${classes.horizontal} {\n padding: unset;\n }\n`;\n\nexport const StyledTitle = styled.div`\n font-family: var(${tokens.titleFontFamily});\n font-size: var(${tokens.titleFontSize});\n font-style: var(${tokens.titleFontStyle});\n font-weight: var(${tokens.titleFontWeight});\n letter-spacing: var(${tokens.titleFontLetterSpacing});\n line-height: var(${tokens.titleFontLineHeight});\n ${String(applyHyphens)};\n`;\n\nexport const StyledContent = styled.div`\n font-family: var(${tokens.contentFontFamily});\n font-size: var(${tokens.contentFontSize});\n font-style: var(${tokens.contentFontStyle});\n font-weight: var(${tokens.contentFontWeight});\n letter-spacing: var(${tokens.contentFontLetterSpacing});\n line-height: var(${tokens.contentFontLineHeight});\n ${String(applyHyphens)};\n\n color: var(${tokens.contentColor});\n`;\n\nexport const StyledItemWrapper = styled.div<{ isHidden: boolean }>`\n margin-top: 1rem;\n opacity: 1;\n\n &&.${classes.notificationItemOpened} {\n animation: 0.4s showAnimation ease-out;\n }\n\n &&.${classes.notificationItemHidden} {\n animation: 0.4s hideAnimation ease-out;\n }\n\n @keyframes showAnimation {\n 0% {\n transform: translateX(100%);\n opacity: 0;\n }\n\n 100% {\n transform: translateX(0);\n opacity: 1;\n }\n }\n\n @keyframes hideAnimation {\n 0% {\n transform: translateX(0);\n opacity: 1;\n }\n\n 100% {\n transform: translateX(100%);\n opacity: 0;\n }\n }\n`;\n\nexport const StyledRoot = styled.div`\n display: flex;\n flex-direction: column-reverse;\n box-sizing: border-box;\n padding: 0 1.5rem 1.5rem;\n max-height: 100%;\n align-items: flex-end;\n`;\n"],"names":["StyledNotification","mergedButtonConfig","mergeConfig","buttonConfig","Button","component","_exp","CloseIconWrapper","styled","name","class","propsAsIs","Wrapper","_exp10","_ref","iconPlacement","placements","left","concat","tokens","buttonsMarginLeft","ButtonsWrapper","vars","_exp14","_ref2","contentLeftIconMargin","_exp15","_ref3","top","contentTopIconMargin","IconWrapper","_exp18","_ref4","_exp19","_ref5","contentPaddingTop","contentPaddingTopWithoutIcon","ContentBox","_exp25","_ref6","textboxPaddingTopWithTopIcon","textboxPaddingTop","_exp26","_ref7","showCloseIcon","textboxPaddingRightWithCloseIcon","textboxPaddingRight","TextBox","StyledTitle","StyledContent","StyledItemWrapper","StyledRoot"],"mappings":"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"}
1
+ {"version":3,"file":"Notification.styles.js","sources":["../../../src/components/Notification/Notification.styles.ts"],"sourcesContent":["import { css } from '@linaria/core';\nimport { styled } from '@linaria/react';\n\nimport { applyHyphens } from '../../mixins';\nimport { buttonConfig } from '../Button';\nimport { component, mergeConfig } from '../../engines';\n\nimport { classes, tokens } from './Notification.tokens';\nimport { CloseIconType, IconPlacementType, placements } from './Notification.types';\n\nexport const StyledNotification = css`\n width: fit-content;\n`;\n\nconst mergedButtonConfig = mergeConfig(buttonConfig);\nconst Button = component(mergedButtonConfig);\n\nexport const CloseIconWrapper = styled(Button)`\n position: absolute;\n width: 1.5rem;\n height: 1.5rem;\n\n color: var(${tokens.closeIconColor});\n\n :hover {\n color: var(${tokens.closeIconColorOnHover});\n }\n\n &.${classes.horizontal} {\n position: relative;\n }\n`;\n\nexport const Wrapper = styled.div`\n position: relative;\n box-sizing: border-box;\n\n background: var(${tokens.background});\n border-radius: var(${tokens.borderRadius});\n\n &.${classes.horizontal} {\n display: flex;\n align-items: center;\n gap: var(${tokens.horizontalLayoutGap});\n }\n`;\n\nexport const ButtonsWrapper = styled.div<IconPlacementType>`\n margin-top: var(${tokens.buttonsMarginTop});\n margin-left: ${({ iconPlacement }) =>\n iconPlacement === placements.left ? `var(${tokens.buttonsMarginLeft})` : 'unset'};\n\n &.${classes.horizontal} {\n margin-top: unset;\n margin-left: unset;\n }\n`;\n\nexport const IconWrapper = styled.div<IconPlacementType>`\n width: var(${tokens.contentLeftIconSize});\n height: var(${tokens.contentLeftIconSize});\n\n margin-right: ${({ iconPlacement }) =>\n iconPlacement === placements.left ? `var(${tokens.contentLeftIconMargin})` : 'unset'};\n margin-bottom: ${({ iconPlacement }) =>\n iconPlacement === placements.top ? `var(${tokens.contentTopIconMargin})` : 'unset'};\n\n &.${classes.horizontal} {\n margin-right: var(${tokens.horizontalLayoutLeftIconMargin});\n margin-bottom: unset;\n }\n`;\n\nexport const ContentBox = styled.div<IconPlacementType>`\n // TODO: переделать, когда научимся работать с токенами при пересечнии свойств\n // issue #909\n display: ${({ iconPlacement }) => (iconPlacement === placements.left ? 'flex' : 'block')};\n\n padding-top: ${({ iconPlacement }) =>\n iconPlacement ? `var(${tokens.contentPaddingTop})` : `var(${tokens.contentPaddingTopWithoutIcon})`};\n\n &.${classes.horizontal} {\n padding: unset;\n display: flex;\n align-items: center;\n flex-grow: 1;\n }\n`;\n\nexport const TextBox = styled.div<CloseIconType & IconPlacementType>`\n padding: var(${tokens.textboxPaddingTop}) var(${tokens.textboxPaddingRight}) var(${tokens.textboxPaddingBottom})\n var(${tokens.textboxPaddingLeft});\n\n padding-top: ${({ iconPlacement }) =>\n !iconPlacement || iconPlacement === placements.top\n ? `var(${tokens.textboxPaddingTopWithTopIcon})`\n : `var(${tokens.textboxPaddingTop})`};\n padding-right: ${({ showCloseIcon, iconPlacement }) =>\n showCloseIcon && iconPlacement !== placements.top\n ? `var(${tokens.textboxPaddingRightWithCloseIcon})`\n : `var(${tokens.textboxPaddingRight})`};\n\n display: flex;\n flex-direction: column;\n row-gap: var(${tokens.textboxGap});\n word-break: break-word;\n\n &.${classes.horizontal} {\n padding: unset;\n }\n`;\n\nexport const StyledTitle = styled.div`\n font-family: var(${tokens.titleFontFamily});\n font-size: var(${tokens.titleFontSize});\n font-style: var(${tokens.titleFontStyle});\n font-weight: var(${tokens.titleFontWeight});\n letter-spacing: var(${tokens.titleFontLetterSpacing});\n line-height: var(${tokens.titleFontLineHeight});\n ${String(applyHyphens)};\n`;\n\nexport const StyledContent = styled.div`\n font-family: var(${tokens.contentFontFamily});\n font-size: var(${tokens.contentFontSize});\n font-style: var(${tokens.contentFontStyle});\n font-weight: var(${tokens.contentFontWeight});\n letter-spacing: var(${tokens.contentFontLetterSpacing});\n line-height: var(${tokens.contentFontLineHeight});\n ${String(applyHyphens)};\n\n color: var(${tokens.contentColor});\n`;\n\nexport const StyledItemWrapper = styled.div<{ isHidden: boolean }>`\n margin-top: 1rem;\n opacity: 1;\n\n &&.${classes.notificationItemOpened} {\n animation: 0.4s showAnimation ease-out;\n }\n\n &&.${classes.notificationItemHidden} {\n animation: 0.4s hideAnimation ease-out;\n }\n\n @keyframes showAnimation {\n 0% {\n transform: translateX(100%);\n opacity: 0;\n }\n\n 100% {\n transform: translateX(0);\n opacity: 1;\n }\n }\n\n @keyframes hideAnimation {\n 0% {\n transform: translateX(0);\n opacity: 1;\n }\n\n 100% {\n transform: translateX(100%);\n opacity: 0;\n }\n }\n`;\n\nexport const StyledRoot = styled.div`\n display: flex;\n flex-direction: column-reverse;\n box-sizing: border-box;\n padding: 0 1.5rem 1.5rem;\n max-height: 100%;\n align-items: flex-end;\n`;\n"],"names":["StyledNotification","mergedButtonConfig","mergeConfig","buttonConfig","Button","component","_exp","CloseIconWrapper","styled","name","class","propsAsIs","Wrapper","_exp10","_ref","iconPlacement","placements","left","concat","tokens","buttonsMarginLeft","ButtonsWrapper","vars","_exp14","_ref2","contentLeftIconMargin","_exp15","_ref3","top","contentTopIconMargin","IconWrapper","_exp18","_ref4","_exp19","_ref5","contentPaddingTop","contentPaddingTopWithoutIcon","ContentBox","_exp25","_ref6","textboxPaddingTopWithTopIcon","textboxPaddingTop","_exp26","_ref7","showCloseIcon","textboxPaddingRightWithCloseIcon","textboxPaddingRight","TextBox","StyledTitle","StyledContent","StyledItemWrapper","StyledRoot"],"mappings":"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"}
@@ -3,13 +3,14 @@ import { objectWithoutProperties as _objectWithoutProperties, extends as _extend
3
3
  import React, { useMemo } from 'react';
4
4
  import { useStoreon } from 'storeon/react';
5
5
  import { styled } from '@linaria/react';
6
+ import { PopupProvider } from '../Popup/PopupContext.js';
7
+ import { popupConfig } from '../Popup/Popup.js';
8
+ import '@linaria/core';
9
+ import { component } from '../../engines/common.js';
6
10
  import { cx } from '../../utils/index.js';
7
11
  import { closeNotification } from './NotificationsStore.js';
8
12
  import { StyledRoot, StyledItemWrapper } from './Notification.styles.js';
9
13
  import { classes } from './Notification.tokens.js';
10
- import { component } from '../../engines/common.js';
11
- import { PopupProvider } from '../Popup/PopupContext.js';
12
- import { popupConfig } from '../Popup/Popup.js';
13
14
 
14
15
  var _excluded = ["id", "isHidden"];
15
16
 
@@ -1 +1 @@
1
- {"version":3,"file":"NotificationsPortal.js","sources":["../../../src/components/Notification/NotificationsPortal.tsx"],"sourcesContent":["import React, { FC, ForwardRefExoticComponent, RefAttributes, useMemo } from 'react';\nimport { useStoreon } from 'storeon/react';\nimport { styled } from '@linaria/react';\nimport { popupBaseRootClass } from '@salutejs/plasma-core';\n\nimport { PopupProvider, popupConfig } from '../Popup';\nimport { component } from '../../engines';\nimport { cx } from '../../utils';\n\nimport { NotificationsState, NotificationsEvents, closeNotification } from './NotificationsStore';\nimport { NotificationPortalProps, NotificationProps } from './Notification.types';\nimport { StyledItemWrapper, StyledRoot } from './Notification.styles';\nimport { classes } from './Notification.tokens';\n\n// issue #823\nconst Popup = component(popupConfig);\n\nconst StyledPopup = styled(Popup)`\n & > .${popupBaseRootClass} {\n overflow: hidden;\n }\n`;\n\n/**\n * Обертка для визуального представления уведомлений.\n */\nexport const NotificationsPortal: FC<NotificationPortalProps> = ({ config, frame }) => {\n const { notifications } = useStoreon<NotificationsState, NotificationsEvents>('notifications');\n\n const Notification = useMemo(\n () => component(config) as ForwardRefExoticComponent<NotificationProps & RefAttributes<HTMLDivElement>>,\n [],\n );\n\n return (\n <PopupProvider>\n {notifications.length > 0 && (\n <StyledPopup opened frame={frame} placement=\"bottom-right\" zIndex=\"9100\">\n <StyledRoot>\n {notifications.map(({ id, isHidden, ...rest }) => (\n <StyledItemWrapper\n key={id}\n className={cx(\n isHidden ? classes.notificationItemHidden : classes.notificationItemOpened,\n )}\n isHidden={isHidden || false}\n >\n <Notification\n key={id}\n id={id}\n onCloseButtonClick={() => closeNotification(id)}\n {...rest}\n />\n </StyledItemWrapper>\n ))}\n </StyledRoot>\n </StyledPopup>\n )}\n </PopupProvider>\n );\n};\n"],"names":["Popup","component","popupConfig","_exp","StyledPopup","styled","name","class","propsAsIs","NotificationsPortal","_ref","config","frame","_useStoreon","useStoreon","notifications","Notification","useMemo","React","createElement","PopupProvider","length","opened","placement","zIndex","StyledRoot","map","_ref2","id","isHidden","rest","StyledItemWrapper","key","className","cx","classes","notificationItemHidden","notificationItemOpened","_extends","onCloseButtonClick","closeNotification"],"mappings":";;;;;;;;;;;;;;AAcA;AACA,IAAMA,KAAK,gBAAGC,SAAS,CAACC,WAAW,CAAC,CAAA;AAAC,IAAAC,IAAA,GAdnBA,SAcmBA,IAAAA,GAAA;AAAA,EAAA,OAEVH,KAAK,CAAA;AAAA,CAAA,CAAA;AAAhC,IAAMI,WAAW,gBAAGC,MAAM,CAAAF,IAAA,EAAA,CAAA,CAAA;AAAAG,EAAAA,IAAA,EAAA,aAAA;AAAAC,EAAAA,OAAAA,EAAA,UAAA;AAAAC,EAAAA,SAAA,EAAA,IAAA;AAAA,CAIzB,CAAA,CAAA;;AAED;AACA;AACA;IACaC,mBAAgD,GAAGA,SAAnDA,mBAAgDA,CAAAC,IAAA,EAA0B;AAAA,EAAA,IAApBC,MAAM,GAAAD,IAAA,CAANC,MAAM;IAAEC,KAAAA,GAAAA,IAAAA,CAAAA,KAAAA,CAAAA;AACvE,EAAA,IAAAC,WAAA,GAA0BC,UAAU,CAA0C,eAAe,CAAC;IAAtFC,aAAAA,GAAAA,WAAAA,CAAAA,aAAAA,CAAAA;EAER,IAAMC,YAAY,GAAGC,OAAO,CACxB,YAAA;IAAA,OAAMhB,SAAS,CAACU,MAAM,CAAC,CAAA;GACvB,EAAA,EACJ,CAAC,CAAA;AAED,EAAA,oBACIO,KAAA,CAAAC,aAAA,CAACC,aAAa,QACTL,aAAa,CAACM,MAAM,GAAG,CAAC,iBACrBH,KAAA,CAAAC,aAAA,CAACf,WAAW,EAAA;IAACkB,MAAM,EAAA,IAAA;AAACV,IAAAA,KAAK,EAAEA,KAAM;AAACW,IAAAA,SAAS,EAAC,cAAc;AAACC,IAAAA,MAAM,EAAC,MAAA;GAC9DN,eAAAA,KAAA,CAAAC,aAAA,CAACM,UAAU,EACNV,IAAAA,EAAAA,aAAa,CAACW,GAAG,CAAC,UAAAC,KAAA,EAAA;AAAA,IAAA,IAAGC,EAAE,GAAAD,KAAA,CAAFC,EAAE;MAAEC,QAAQ,GAAAF,KAAA,CAARE,QAAQ;AAAKC,MAAAA,IAAAA,GAAAA,wBAAAA,CAAAA,KAAAA,EAAAA,SAAAA,CAAAA,CAAAA;AAAAA,IAAAA,oBACnCZ,KAAA,CAAAC,aAAA,CAACY,iBAAiB,EAAA;AACdC,MAAAA,GAAG,EAAEJ,EAAG;AACRK,MAAAA,SAAS,EAAEC,EAAE,CACTL,QAAQ,GAAGM,OAAO,CAACC,sBAAsB,GAAGD,OAAO,CAACE,sBACxD,CAAE;MACFR,QAAQ,EAAEA,QAAQ,IAAI,KAAA;AAAM,KAAA,eAE5BX,KAAA,CAAAC,aAAA,CAACH,YAAY,EAAAsB,QAAA,CAAA;AACTN,MAAAA,GAAG,EAAEJ,EAAG;AACRA,MAAAA,EAAE,EAAEA,EAAG;MACPW,kBAAkB,EAAE,SAAAA,kBAAA,GAAA;QAAA,OAAMC,iBAAiB,CAACZ,EAAE,CAAC,CAAA;AAAA,OAAA;KAC3CE,EAAAA,IAAI,CAAC,CAEE,CACtB,CAAA;GACO,CAAA,CACH,CAEN,CAAC,CAAA;AAExB;;;;"}
1
+ {"version":3,"file":"NotificationsPortal.js","sources":["../../../src/components/Notification/NotificationsPortal.tsx"],"sourcesContent":["import React, { FC, ForwardRefExoticComponent, RefAttributes, useMemo } from 'react';\nimport { useStoreon } from 'storeon/react';\nimport { styled } from '@linaria/react';\nimport { popupBaseRootClass } from '@salutejs/plasma-core';\n\nimport { PopupProvider, popupConfig } from '../Popup';\nimport { component } from '../../engines';\nimport { cx } from '../../utils';\n\nimport { NotificationsState, NotificationsEvents, closeNotification } from './NotificationsStore';\nimport { NotificationPortalProps, NotificationProps } from './Notification.types';\nimport { StyledItemWrapper, StyledRoot } from './Notification.styles';\nimport { classes } from './Notification.tokens';\n\n// issue #823\nconst Popup = component(popupConfig);\n\nconst StyledPopup = styled(Popup)`\n & > .${popupBaseRootClass} {\n overflow: hidden;\n }\n`;\n\n/**\n * Обертка для визуального представления уведомлений.\n */\nexport const NotificationsPortal: FC<NotificationPortalProps> = ({ config, frame }) => {\n const { notifications } = useStoreon<NotificationsState, NotificationsEvents>('notifications');\n\n const Notification = useMemo(\n () => component(config) as ForwardRefExoticComponent<NotificationProps & RefAttributes<HTMLDivElement>>,\n [],\n );\n\n return (\n <PopupProvider>\n {notifications.length > 0 && (\n <StyledPopup opened frame={frame} placement=\"bottom-right\" zIndex=\"9100\">\n <StyledRoot>\n {notifications.map(({ id, isHidden, ...rest }) => (\n <StyledItemWrapper\n key={id}\n className={cx(\n isHidden ? classes.notificationItemHidden : classes.notificationItemOpened,\n )}\n isHidden={isHidden || false}\n >\n <Notification\n key={id}\n id={id}\n onCloseButtonClick={() => closeNotification(id)}\n {...rest}\n />\n </StyledItemWrapper>\n ))}\n </StyledRoot>\n </StyledPopup>\n )}\n </PopupProvider>\n );\n};\n"],"names":["Popup","component","popupConfig","_exp","StyledPopup","styled","name","class","propsAsIs","NotificationsPortal","_ref","config","frame","_useStoreon","useStoreon","notifications","Notification","useMemo","React","createElement","PopupProvider","length","opened","placement","zIndex","StyledRoot","map","_ref2","id","isHidden","rest","StyledItemWrapper","key","className","cx","classes","notificationItemHidden","notificationItemOpened","_extends","onCloseButtonClick","closeNotification"],"mappings":";;;;;;;;;;;;;;;AAcA;AACA,IAAMA,KAAK,gBAAGC,SAAS,CAACC,WAAW,CAAC,CAAA;AAAC,IAAAC,IAAA,GAdnBA,SAcmBA,IAAAA,GAAA;AAAA,EAAA,OAEVH,KAAK,CAAA;AAAA,CAAA,CAAA;AAAhC,IAAMI,WAAW,gBAAGC,MAAM,CAAAF,IAAA,EAAA,CAAA,CAAA;AAAAG,EAAAA,IAAA,EAAA,aAAA;AAAAC,EAAAA,OAAAA,EAAA,UAAA;AAAAC,EAAAA,SAAA,EAAA,IAAA;AAAA,CAIzB,CAAA,CAAA;;AAED;AACA;AACA;IACaC,mBAAgD,GAAGA,SAAnDA,mBAAgDA,CAAAC,IAAA,EAA0B;AAAA,EAAA,IAApBC,MAAM,GAAAD,IAAA,CAANC,MAAM;IAAEC,KAAAA,GAAAA,IAAAA,CAAAA,KAAAA,CAAAA;AACvE,EAAA,IAAAC,WAAA,GAA0BC,UAAU,CAA0C,eAAe,CAAC;IAAtFC,aAAAA,GAAAA,WAAAA,CAAAA,aAAAA,CAAAA;EAER,IAAMC,YAAY,GAAGC,OAAO,CACxB,YAAA;IAAA,OAAMhB,SAAS,CAACU,MAAM,CAAC,CAAA;GACvB,EAAA,EACJ,CAAC,CAAA;AAED,EAAA,oBACIO,KAAA,CAAAC,aAAA,CAACC,aAAa,QACTL,aAAa,CAACM,MAAM,GAAG,CAAC,iBACrBH,KAAA,CAAAC,aAAA,CAACf,WAAW,EAAA;IAACkB,MAAM,EAAA,IAAA;AAACV,IAAAA,KAAK,EAAEA,KAAM;AAACW,IAAAA,SAAS,EAAC,cAAc;AAACC,IAAAA,MAAM,EAAC,MAAA;GAC9DN,eAAAA,KAAA,CAAAC,aAAA,CAACM,UAAU,EACNV,IAAAA,EAAAA,aAAa,CAACW,GAAG,CAAC,UAAAC,KAAA,EAAA;AAAA,IAAA,IAAGC,EAAE,GAAAD,KAAA,CAAFC,EAAE;MAAEC,QAAQ,GAAAF,KAAA,CAARE,QAAQ;AAAKC,MAAAA,IAAAA,GAAAA,wBAAAA,CAAAA,KAAAA,EAAAA,SAAAA,CAAAA,CAAAA;AAAAA,IAAAA,oBACnCZ,KAAA,CAAAC,aAAA,CAACY,iBAAiB,EAAA;AACdC,MAAAA,GAAG,EAAEJ,EAAG;AACRK,MAAAA,SAAS,EAAEC,EAAE,CACTL,QAAQ,GAAGM,OAAO,CAACC,sBAAsB,GAAGD,OAAO,CAACE,sBACxD,CAAE;MACFR,QAAQ,EAAEA,QAAQ,IAAI,KAAA;AAAM,KAAA,eAE5BX,KAAA,CAAAC,aAAA,CAACH,YAAY,EAAAsB,QAAA,CAAA;AACTN,MAAAA,GAAG,EAAEJ,EAAG;AACRA,MAAAA,EAAE,EAAEA,EAAG;MACPW,kBAAkB,EAAE,SAAAA,kBAAA,GAAA;QAAA,OAAMC,iBAAiB,CAACZ,EAAE,CAAC,CAAA;AAAA,OAAA;KAC3CE,EAAAA,IAAI,CAAC,CAEE,CACtB,CAAA;GACO,CAAA,CACH,CAEN,CAAC,CAAA;AAExB;;;;"}