@salutejs/plasma-new-hope 0.150.1-canary.1448.10995617090.0 → 0.151.0-canary.1446.10999563975.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (444) hide show
  1. package/cjs/components/Accordion/ui/AccordionItem/AccordionItem.styles.js +3 -1
  2. package/cjs/components/Accordion/ui/AccordionItem/AccordionItem.styles.js.map +1 -1
  3. package/cjs/components/Autocomplete/Autocomplete.js +6 -5
  4. package/cjs/components/Autocomplete/Autocomplete.js.map +1 -1
  5. package/cjs/components/Autocomplete/Autocomplete.styles.js +3 -2
  6. package/cjs/components/Autocomplete/Autocomplete.styles.js.map +1 -1
  7. package/cjs/components/Autocomplete/ui/TextField/TextField.styles.js +2 -1
  8. package/cjs/components/Autocomplete/ui/TextField/TextField.styles.js.map +1 -1
  9. package/cjs/components/Avatar/Avatar.js +3 -2
  10. package/cjs/components/Avatar/Avatar.js.map +1 -1
  11. package/cjs/components/Breadcrumbs/Breadcrumbs.styles.js +4 -2
  12. package/cjs/components/Breadcrumbs/Breadcrumbs.styles.js.map +1 -1
  13. package/cjs/components/Breadcrumbs/ui/BreadcrumbShorter/BreadcrumbShorter.styles.js +1 -1
  14. package/cjs/components/Button/Button.styles.js +3 -0
  15. package/cjs/components/Button/Button.styles.js.map +1 -1
  16. package/cjs/components/Calendar/CalendarBase/CalendarBase.js +5 -5
  17. package/cjs/components/Calendar/CalendarDouble/CalendarDouble.js +8 -8
  18. package/cjs/components/Calendar/hooks/useDays.js +2 -2
  19. package/cjs/components/Calendar/hooks/useKeyNavigation.js +1 -1
  20. package/cjs/components/Calendar/hooks/useMonths.js +2 -2
  21. package/cjs/components/Calendar/hooks/useQuarters.js +2 -2
  22. package/cjs/components/Calendar/hooks/useYears.js +2 -2
  23. package/cjs/components/Calendar/ui/CalendarDays/CalendarDays.js +4 -4
  24. package/cjs/components/Calendar/ui/CalendarHeader/CalendarHeader.js +6 -5
  25. package/cjs/components/Calendar/ui/CalendarHeader/CalendarHeader.js.map +1 -1
  26. package/cjs/components/Calendar/ui/CalendarHeader/CalendarHeader.styles.js +1 -0
  27. package/cjs/components/Calendar/ui/CalendarHeader/CalendarHeader.styles.js.map +1 -1
  28. package/cjs/components/Calendar/ui/CalendarMonths/CalendarMonths.js +4 -4
  29. package/cjs/components/Calendar/ui/CalendarQuarters/CalendarQuarters.js +4 -4
  30. package/cjs/components/Calendar/ui/CalendarYears/CalendarYears.js +4 -4
  31. package/cjs/components/Combobox/ComboboxNew/Combobox.js +12 -11
  32. package/cjs/components/Combobox/ComboboxNew/Combobox.js.map +1 -1
  33. package/cjs/components/Combobox/ComboboxNew/Combobox.styles.js +4 -2
  34. package/cjs/components/Combobox/ComboboxNew/Combobox.styles.js.map +1 -1
  35. package/cjs/components/Combobox/ComboboxNew/hooks/getPathMaps.js +2 -0
  36. package/cjs/components/Combobox/ComboboxNew/hooks/getPathMaps.js.map +1 -1
  37. package/cjs/components/Combobox/ComboboxNew/ui/Inner/Inner.js +2 -1
  38. package/cjs/components/Combobox/ComboboxNew/ui/Inner/Inner.js.map +1 -1
  39. package/cjs/components/Combobox/ComboboxNew/ui/Inner/ui/Item/Item.js +6 -5
  40. package/cjs/components/Combobox/ComboboxNew/ui/Inner/ui/Item/Item.js.map +1 -1
  41. package/cjs/components/Combobox/ComboboxNew/ui/Inner/ui/Item/Item.styles.js +4 -1
  42. package/cjs/components/Combobox/ComboboxNew/ui/Inner/ui/Item/Item.styles.js.map +1 -1
  43. package/cjs/components/Combobox/ComboboxNew/ui/Target/Target.styles.js +2 -1
  44. package/cjs/components/Combobox/ComboboxNew/ui/Target/Target.styles.js.map +1 -1
  45. package/cjs/components/Combobox/ComboboxOld/Combobox.css +6 -5
  46. package/cjs/components/Combobox/ComboboxOld/Combobox.js +10 -4
  47. package/cjs/components/Combobox/ComboboxOld/Combobox.js.map +1 -1
  48. package/cjs/components/Combobox/ComboboxOld/Combobox.styles.js +1 -0
  49. package/cjs/components/Combobox/ComboboxOld/Combobox.styles.js.map +1 -1
  50. package/cjs/components/Combobox/ComboboxOld/hooks/useFocusController.js +1 -0
  51. package/cjs/components/Combobox/ComboboxOld/hooks/useFocusController.js.map +1 -1
  52. package/cjs/components/Combobox/ComboboxOld/ui/ComboboxChip/ComboboxChip.styles.js +2 -1
  53. package/cjs/components/Combobox/ComboboxOld/ui/ComboboxChip/ComboboxChip.styles.js.map +1 -1
  54. package/cjs/components/Combobox/ComboboxOld/ui/ComboboxDivider/ComboboxDivider.css +6 -5
  55. package/cjs/components/Combobox/ComboboxOld/ui/ComboboxDivider/ComboboxDivider.js +10 -1
  56. package/cjs/components/Combobox/ComboboxOld/ui/ComboboxDivider/ComboboxDivider.js.map +1 -1
  57. package/cjs/components/Combobox/ComboboxOld/ui/ComboboxFooter/ComboboxFooter.css +6 -5
  58. package/cjs/components/Combobox/ComboboxOld/ui/ComboboxFooter/ComboboxFooter.js +10 -1
  59. package/cjs/components/Combobox/ComboboxOld/ui/ComboboxFooter/ComboboxFooter.js.map +1 -1
  60. package/cjs/components/Combobox/ComboboxOld/ui/ComboboxGroup/ComboboxGroup.css +6 -5
  61. package/cjs/components/Combobox/ComboboxOld/ui/ComboboxGroup/ComboboxGroup.js +10 -1
  62. package/cjs/components/Combobox/ComboboxOld/ui/ComboboxGroup/ComboboxGroup.js.map +1 -1
  63. package/cjs/components/Combobox/ComboboxOld/ui/ComboboxHeader/ComboboxHeader.css +6 -5
  64. package/cjs/components/Combobox/ComboboxOld/ui/ComboboxHeader/ComboboxHeader.js +10 -1
  65. package/cjs/components/Combobox/ComboboxOld/ui/ComboboxHeader/ComboboxHeader.js.map +1 -1
  66. package/cjs/components/Combobox/ComboboxOld/ui/ComboboxItem/ComboboxItem.styles.js +2 -0
  67. package/cjs/components/Combobox/ComboboxOld/ui/ComboboxItem/ComboboxItem.styles.js.map +1 -1
  68. package/cjs/components/Combobox/ComboboxOld/ui/ComboboxTarget/ComboboxTarget.js +1 -1
  69. package/cjs/components/Combobox/ComboboxOld/ui/ComboboxTarget/ComboboxTarget.styles.js +2 -1
  70. package/cjs/components/Combobox/ComboboxOld/ui/ComboboxTarget/ComboboxTarget.styles.js.map +1 -1
  71. package/cjs/components/DatePicker/DatePickerBase.styles.js +7 -1
  72. package/cjs/components/DatePicker/DatePickerBase.styles.js.map +1 -1
  73. package/cjs/components/DatePicker/RangeDate/RangeDate.styles.js +1 -0
  74. package/cjs/components/DatePicker/RangeDate/RangeDate.styles.js.map +1 -1
  75. package/cjs/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.js +2 -1
  76. package/cjs/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.js.map +1 -1
  77. package/cjs/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.styles.js +5 -2
  78. package/cjs/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.styles.js.map +1 -1
  79. package/cjs/components/DatePicker/SingleDate/SingleDate.styles.js +1 -0
  80. package/cjs/components/DatePicker/SingleDate/SingleDate.styles.js.map +1 -1
  81. package/cjs/components/Drawer/Drawer.js +11 -5
  82. package/cjs/components/Drawer/Drawer.js.map +1 -1
  83. package/cjs/components/Drawer/Drawer.styles.js +4 -2
  84. package/cjs/components/Drawer/Drawer.styles.js.map +1 -1
  85. package/cjs/components/Drawer/hooks/useDrawer.js +4 -0
  86. package/cjs/components/Drawer/hooks/useDrawer.js.map +1 -1
  87. package/cjs/components/Drawer/ui/DrawerContent/DrawerContent.js +7 -0
  88. package/cjs/components/Drawer/ui/DrawerContent/DrawerContent.js.map +1 -1
  89. package/cjs/components/Drawer/ui/DrawerFooter/DrawerFooter.js +7 -0
  90. package/cjs/components/Drawer/ui/DrawerFooter/DrawerFooter.js.map +1 -1
  91. package/cjs/components/Drawer/ui/DrawerHeader/DrawerHeader.js +3 -0
  92. package/cjs/components/Drawer/ui/DrawerHeader/DrawerHeader.js.map +1 -1
  93. package/cjs/components/Dropdown/Dropdown.css +6 -5
  94. package/cjs/components/Dropdown/Dropdown.js +10 -3
  95. package/cjs/components/Dropdown/Dropdown.js.map +1 -1
  96. package/cjs/components/Dropdown/Dropdown.styles.js +3 -2
  97. package/cjs/components/Dropdown/Dropdown.styles.js.map +1 -1
  98. package/cjs/components/Dropdown/Dropdown.tokens.js +7 -5
  99. package/cjs/components/Dropdown/Dropdown.tokens.js.map +1 -1
  100. package/cjs/components/Dropdown/ui/DropdownInner/DropdownInner.js +9 -1
  101. package/cjs/components/Dropdown/ui/DropdownInner/DropdownInner.js.map +1 -1
  102. package/cjs/components/Dropdown/ui/DropdownItem/DropdownItem.css +6 -5
  103. package/cjs/components/Dropdown/ui/DropdownItem/DropdownItem.js +11 -4
  104. package/cjs/components/Dropdown/ui/DropdownItem/DropdownItem.js.map +1 -1
  105. package/cjs/components/Dropdown/ui/DropdownItem/DropdownItem.styles.js +27 -5
  106. package/cjs/components/Dropdown/ui/DropdownItem/DropdownItem.styles.js.map +1 -1
  107. package/cjs/components/Dropdown/ui/DropdownItem/DropdownItem.styles_blclup.css +6 -0
  108. package/cjs/components/Dropdown/ui/DropdownItemOld/DropdownItem.styles.js +2 -0
  109. package/cjs/components/Dropdown/ui/DropdownItemOld/DropdownItem.styles.js.map +1 -1
  110. package/cjs/components/Dropdown/ui/DropdownOld/Dropdown.styles.js +1 -0
  111. package/cjs/components/Dropdown/ui/DropdownOld/Dropdown.styles.js.map +1 -1
  112. package/cjs/components/Editable/Editable.js +4 -3
  113. package/cjs/components/Editable/Editable.js.map +1 -1
  114. package/cjs/components/Editable/utils/clearSelection.js +2 -0
  115. package/cjs/components/Editable/utils/clearSelection.js.map +1 -1
  116. package/cjs/components/Editable/utils/selectText.js +2 -0
  117. package/cjs/components/Editable/utils/selectText.js.map +1 -1
  118. package/cjs/components/EmptyState/EmptyState.styles.js +2 -1
  119. package/cjs/components/EmptyState/EmptyState.styles.js.map +1 -1
  120. package/cjs/components/IconButton/IconButton.js +1 -1
  121. package/cjs/components/IconButton/IconButton.styles.js +8 -0
  122. package/cjs/components/IconButton/IconButton.styles.js.map +1 -1
  123. package/cjs/components/Modal/Modal.js +8 -6
  124. package/cjs/components/Modal/Modal.js.map +1 -1
  125. package/cjs/components/Modal/hooks/useModal.js +4 -0
  126. package/cjs/components/Modal/hooks/useModal.js.map +1 -1
  127. package/cjs/components/Notification/Notification.styles.js +3 -2
  128. package/cjs/components/Notification/Notification.styles.js.map +1 -1
  129. package/cjs/components/Notification/NotificationsPortal.js +4 -3
  130. package/cjs/components/Notification/NotificationsPortal.js.map +1 -1
  131. package/cjs/components/Pagination/Pagination.styles.js +2 -1
  132. package/cjs/components/Pagination/Pagination.styles.js.map +1 -1
  133. package/cjs/components/Pagination/ui/PaginationSelectPerPage/PaginationSelectPerPage.styles.js +2 -1
  134. package/cjs/components/Pagination/ui/PaginationSelectPerPage/PaginationSelectPerPage.styles.js.map +1 -1
  135. package/cjs/components/Panel/ui/PanelHeader/PanelHeader.js +2 -1
  136. package/cjs/components/Panel/ui/PanelHeader/PanelHeader.js.map +1 -1
  137. package/cjs/components/Panel/ui/PanelHeader/PanelHeader.styles.js +2 -1
  138. package/cjs/components/Panel/ui/PanelHeader/PanelHeader.styles.js.map +1 -1
  139. package/cjs/components/Popover/Popover.js +1 -1
  140. package/cjs/components/Popup/Popup.js +2 -2
  141. package/cjs/components/Range/Range.styles.js +1 -0
  142. package/cjs/components/Range/Range.styles.js.map +1 -1
  143. package/cjs/components/Segment/ui/SegmentGroup/SegmentGroup.js +3 -2
  144. package/cjs/components/Segment/ui/SegmentGroup/SegmentGroup.js.map +1 -1
  145. package/cjs/components/Select/Select.js +13 -12
  146. package/cjs/components/Select/Select.js.map +1 -1
  147. package/cjs/components/Select/Select.styles.js +5 -2
  148. package/cjs/components/Select/Select.styles.js.map +1 -1
  149. package/cjs/components/Select/hooks/usePathMaps.js +2 -0
  150. package/cjs/components/Select/hooks/usePathMaps.js.map +1 -1
  151. package/cjs/components/Select/ui/Inner/Inner.js +2 -1
  152. package/cjs/components/Select/ui/Inner/Inner.js.map +1 -1
  153. package/cjs/components/Select/ui/Inner/ui/Item/Item.js +5 -4
  154. package/cjs/components/Select/ui/Inner/ui/Item/Item.js.map +1 -1
  155. package/cjs/components/Select/ui/Inner/ui/Item/Item.styles.js +1 -0
  156. package/cjs/components/Select/ui/Inner/ui/Item/Item.styles.js.map +1 -1
  157. package/cjs/components/Select/ui/Target/ui/Button/Button.js +1 -1
  158. package/cjs/components/Select/ui/Target/ui/Button/Button.styles.js +3 -1
  159. package/cjs/components/Select/ui/Target/ui/Button/Button.styles.js.map +1 -1
  160. package/cjs/components/Select/ui/Target/ui/Textfield/Textfield.js +2 -2
  161. package/cjs/components/Select/ui/Target/ui/Textfield/Textfield.styles.js +4 -1
  162. package/cjs/components/Select/ui/Target/ui/Textfield/Textfield.styles.js.map +1 -1
  163. package/cjs/components/Select/ui/Target/ui/Textfield/ui/Chip/Chip.styles.js +2 -1
  164. package/cjs/components/Select/ui/Target/ui/Textfield/ui/Chip/Chip.styles.js.map +1 -1
  165. package/cjs/components/Select/utils/getButtonLabel.js +2 -0
  166. package/cjs/components/Select/utils/getButtonLabel.js.map +1 -1
  167. package/cjs/components/Sheet/Sheet.js +3 -3
  168. package/cjs/components/Skeleton/LineSkeleton/LineSkeleton.js +4 -2
  169. package/cjs/components/Skeleton/LineSkeleton/LineSkeleton.js.map +1 -1
  170. package/cjs/components/Skeleton/RectSkeleton/RectSkeleton.js +4 -2
  171. package/cjs/components/Skeleton/RectSkeleton/RectSkeleton.js.map +1 -1
  172. package/cjs/components/Slider/components/Double/Double.js +2 -1
  173. package/cjs/components/Slider/components/Double/Double.js.map +1 -1
  174. package/cjs/components/Slider/components/Double/Double.styles.js +1 -0
  175. package/cjs/components/Slider/components/Double/Double.styles.js.map +1 -1
  176. package/cjs/components/Slider/components/Single/Single.js +2 -1
  177. package/cjs/components/Slider/components/Single/Single.js.map +1 -1
  178. package/cjs/components/Slider/components/SliderBase/SliderBase.js +1 -1
  179. package/cjs/components/Tabs/ui/Tabs/Tabs.js +3 -2
  180. package/cjs/components/Tabs/ui/Tabs/Tabs.js.map +1 -1
  181. package/cjs/components/TextArea/TextArea.js +1 -1
  182. package/cjs/components/TextField/TextField.js +1 -1
  183. package/cjs/components/TextField/ui/TextFieldChip/TextFieldChip.styles.js +2 -1
  184. package/cjs/components/TextField/ui/TextFieldChip/TextFieldChip.styles.js.map +1 -1
  185. package/cjs/components/Toast/Toast.styles.js +1 -1
  186. package/cjs/components/Toast/ToastController.js +1 -1
  187. package/cjs/components/Toast/utils.js +2 -1
  188. package/cjs/components/Toast/utils.js.map +1 -1
  189. package/cjs/components/Toolbar/ui/ToolbarDivider/ToolbarDivider.js +1 -1
  190. package/cjs/components/Tooltip/Tooltip.js +3 -2
  191. package/cjs/components/Tooltip/Tooltip.js.map +1 -1
  192. package/cjs/engines/index.js +2 -0
  193. package/cjs/engines/index.js.map +1 -1
  194. package/cjs/hooks/useIsomorphicLayoutEffect.js +1 -0
  195. package/cjs/hooks/useIsomorphicLayoutEffect.js.map +1 -1
  196. package/cjs/index.css +6 -5
  197. package/cjs/index.js +50 -47
  198. package/cjs/index.js.map +1 -1
  199. package/cjs/utils/index.js +5 -0
  200. package/cjs/utils/index.js.map +1 -1
  201. package/emotion/cjs/components/Dropdown/Dropdown.template-doc.mdx +8 -0
  202. package/emotion/cjs/components/Dropdown/Dropdown.tokens.js +7 -5
  203. package/emotion/cjs/components/Dropdown/ui/DropdownItem/DropdownItem.js +9 -3
  204. package/emotion/cjs/components/Dropdown/ui/DropdownItem/DropdownItem.styles.js +24 -14
  205. package/emotion/cjs/examples/plasma_b2c/components/Dropdown/Dropdown.config.js +5 -5
  206. package/emotion/cjs/examples/plasma_b2c/components/Dropdown/Dropdown.stories.tsx +2 -0
  207. package/emotion/cjs/examples/plasma_web/components/Dropdown/Dropdown.config.js +5 -5
  208. package/emotion/cjs/examples/plasma_web/components/Dropdown/Dropdown.stories.tsx +2 -0
  209. package/emotion/es/components/Dropdown/Dropdown.template-doc.mdx +8 -0
  210. package/emotion/es/components/Dropdown/Dropdown.tokens.js +7 -5
  211. package/emotion/es/components/Dropdown/ui/DropdownItem/DropdownItem.js +10 -4
  212. package/emotion/es/components/Dropdown/ui/DropdownItem/DropdownItem.styles.js +23 -13
  213. package/emotion/es/examples/plasma_b2c/components/Dropdown/Dropdown.config.js +5 -5
  214. package/emotion/es/examples/plasma_b2c/components/Dropdown/Dropdown.stories.tsx +2 -0
  215. package/emotion/es/examples/plasma_web/components/Dropdown/Dropdown.config.js +5 -5
  216. package/emotion/es/examples/plasma_web/components/Dropdown/Dropdown.stories.tsx +2 -0
  217. package/es/components/Accordion/ui/AccordionItem/AccordionItem.styles.js +3 -1
  218. package/es/components/Accordion/ui/AccordionItem/AccordionItem.styles.js.map +1 -1
  219. package/es/components/Autocomplete/Autocomplete.js +6 -5
  220. package/es/components/Autocomplete/Autocomplete.js.map +1 -1
  221. package/es/components/Autocomplete/Autocomplete.styles.js +3 -2
  222. package/es/components/Autocomplete/Autocomplete.styles.js.map +1 -1
  223. package/es/components/Autocomplete/ui/TextField/TextField.styles.js +2 -1
  224. package/es/components/Autocomplete/ui/TextField/TextField.styles.js.map +1 -1
  225. package/es/components/Avatar/Avatar.js +3 -2
  226. package/es/components/Avatar/Avatar.js.map +1 -1
  227. package/es/components/Breadcrumbs/Breadcrumbs.styles.js +4 -2
  228. package/es/components/Breadcrumbs/Breadcrumbs.styles.js.map +1 -1
  229. package/es/components/Breadcrumbs/ui/BreadcrumbShorter/BreadcrumbShorter.styles.js +1 -1
  230. package/es/components/Button/Button.styles.js +3 -0
  231. package/es/components/Button/Button.styles.js.map +1 -1
  232. package/es/components/Calendar/CalendarBase/CalendarBase.js +5 -5
  233. package/es/components/Calendar/CalendarDouble/CalendarDouble.js +8 -8
  234. package/es/components/Calendar/hooks/useDays.js +2 -2
  235. package/es/components/Calendar/hooks/useKeyNavigation.js +1 -1
  236. package/es/components/Calendar/hooks/useMonths.js +2 -2
  237. package/es/components/Calendar/hooks/useQuarters.js +2 -2
  238. package/es/components/Calendar/hooks/useYears.js +2 -2
  239. package/es/components/Calendar/ui/CalendarDays/CalendarDays.js +4 -4
  240. package/es/components/Calendar/ui/CalendarHeader/CalendarHeader.js +6 -5
  241. package/es/components/Calendar/ui/CalendarHeader/CalendarHeader.js.map +1 -1
  242. package/es/components/Calendar/ui/CalendarHeader/CalendarHeader.styles.js +1 -0
  243. package/es/components/Calendar/ui/CalendarHeader/CalendarHeader.styles.js.map +1 -1
  244. package/es/components/Calendar/ui/CalendarMonths/CalendarMonths.js +4 -4
  245. package/es/components/Calendar/ui/CalendarQuarters/CalendarQuarters.js +4 -4
  246. package/es/components/Calendar/ui/CalendarYears/CalendarYears.js +4 -4
  247. package/es/components/Combobox/ComboboxNew/Combobox.js +12 -11
  248. package/es/components/Combobox/ComboboxNew/Combobox.js.map +1 -1
  249. package/es/components/Combobox/ComboboxNew/Combobox.styles.js +4 -2
  250. package/es/components/Combobox/ComboboxNew/Combobox.styles.js.map +1 -1
  251. package/es/components/Combobox/ComboboxNew/hooks/getPathMaps.js +2 -0
  252. package/es/components/Combobox/ComboboxNew/hooks/getPathMaps.js.map +1 -1
  253. package/es/components/Combobox/ComboboxNew/ui/Inner/Inner.js +2 -1
  254. package/es/components/Combobox/ComboboxNew/ui/Inner/Inner.js.map +1 -1
  255. package/es/components/Combobox/ComboboxNew/ui/Inner/ui/Item/Item.js +6 -5
  256. package/es/components/Combobox/ComboboxNew/ui/Inner/ui/Item/Item.js.map +1 -1
  257. package/es/components/Combobox/ComboboxNew/ui/Inner/ui/Item/Item.styles.js +4 -1
  258. package/es/components/Combobox/ComboboxNew/ui/Inner/ui/Item/Item.styles.js.map +1 -1
  259. package/es/components/Combobox/ComboboxNew/ui/Target/Target.styles.js +2 -1
  260. package/es/components/Combobox/ComboboxNew/ui/Target/Target.styles.js.map +1 -1
  261. package/es/components/Combobox/ComboboxOld/Combobox.css +6 -5
  262. package/es/components/Combobox/ComboboxOld/Combobox.js +10 -4
  263. package/es/components/Combobox/ComboboxOld/Combobox.js.map +1 -1
  264. package/es/components/Combobox/ComboboxOld/Combobox.styles.js +1 -0
  265. package/es/components/Combobox/ComboboxOld/Combobox.styles.js.map +1 -1
  266. package/es/components/Combobox/ComboboxOld/hooks/useFocusController.js +1 -0
  267. package/es/components/Combobox/ComboboxOld/hooks/useFocusController.js.map +1 -1
  268. package/es/components/Combobox/ComboboxOld/ui/ComboboxChip/ComboboxChip.styles.js +2 -1
  269. package/es/components/Combobox/ComboboxOld/ui/ComboboxChip/ComboboxChip.styles.js.map +1 -1
  270. package/es/components/Combobox/ComboboxOld/ui/ComboboxDivider/ComboboxDivider.css +6 -5
  271. package/es/components/Combobox/ComboboxOld/ui/ComboboxDivider/ComboboxDivider.js +10 -1
  272. package/es/components/Combobox/ComboboxOld/ui/ComboboxDivider/ComboboxDivider.js.map +1 -1
  273. package/es/components/Combobox/ComboboxOld/ui/ComboboxFooter/ComboboxFooter.css +6 -5
  274. package/es/components/Combobox/ComboboxOld/ui/ComboboxFooter/ComboboxFooter.js +10 -1
  275. package/es/components/Combobox/ComboboxOld/ui/ComboboxFooter/ComboboxFooter.js.map +1 -1
  276. package/es/components/Combobox/ComboboxOld/ui/ComboboxGroup/ComboboxGroup.css +6 -5
  277. package/es/components/Combobox/ComboboxOld/ui/ComboboxGroup/ComboboxGroup.js +10 -1
  278. package/es/components/Combobox/ComboboxOld/ui/ComboboxGroup/ComboboxGroup.js.map +1 -1
  279. package/es/components/Combobox/ComboboxOld/ui/ComboboxHeader/ComboboxHeader.css +6 -5
  280. package/es/components/Combobox/ComboboxOld/ui/ComboboxHeader/ComboboxHeader.js +10 -1
  281. package/es/components/Combobox/ComboboxOld/ui/ComboboxHeader/ComboboxHeader.js.map +1 -1
  282. package/es/components/Combobox/ComboboxOld/ui/ComboboxItem/ComboboxItem.styles.js +2 -0
  283. package/es/components/Combobox/ComboboxOld/ui/ComboboxItem/ComboboxItem.styles.js.map +1 -1
  284. package/es/components/Combobox/ComboboxOld/ui/ComboboxTarget/ComboboxTarget.js +1 -1
  285. package/es/components/Combobox/ComboboxOld/ui/ComboboxTarget/ComboboxTarget.styles.js +2 -1
  286. package/es/components/Combobox/ComboboxOld/ui/ComboboxTarget/ComboboxTarget.styles.js.map +1 -1
  287. package/es/components/DatePicker/DatePickerBase.styles.js +7 -1
  288. package/es/components/DatePicker/DatePickerBase.styles.js.map +1 -1
  289. package/es/components/DatePicker/RangeDate/RangeDate.styles.js +1 -0
  290. package/es/components/DatePicker/RangeDate/RangeDate.styles.js.map +1 -1
  291. package/es/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.js +2 -1
  292. package/es/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.js.map +1 -1
  293. package/es/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.styles.js +5 -2
  294. package/es/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.styles.js.map +1 -1
  295. package/es/components/DatePicker/SingleDate/SingleDate.styles.js +1 -0
  296. package/es/components/DatePicker/SingleDate/SingleDate.styles.js.map +1 -1
  297. package/es/components/Drawer/Drawer.js +11 -5
  298. package/es/components/Drawer/Drawer.js.map +1 -1
  299. package/es/components/Drawer/Drawer.styles.js +4 -2
  300. package/es/components/Drawer/Drawer.styles.js.map +1 -1
  301. package/es/components/Drawer/hooks/useDrawer.js +4 -0
  302. package/es/components/Drawer/hooks/useDrawer.js.map +1 -1
  303. package/es/components/Drawer/ui/DrawerContent/DrawerContent.js +7 -0
  304. package/es/components/Drawer/ui/DrawerContent/DrawerContent.js.map +1 -1
  305. package/es/components/Drawer/ui/DrawerFooter/DrawerFooter.js +7 -0
  306. package/es/components/Drawer/ui/DrawerFooter/DrawerFooter.js.map +1 -1
  307. package/es/components/Drawer/ui/DrawerHeader/DrawerHeader.js +3 -0
  308. package/es/components/Drawer/ui/DrawerHeader/DrawerHeader.js.map +1 -1
  309. package/es/components/Dropdown/Dropdown.css +6 -5
  310. package/es/components/Dropdown/Dropdown.js +10 -3
  311. package/es/components/Dropdown/Dropdown.js.map +1 -1
  312. package/es/components/Dropdown/Dropdown.styles.js +3 -2
  313. package/es/components/Dropdown/Dropdown.styles.js.map +1 -1
  314. package/es/components/Dropdown/Dropdown.tokens.js +7 -5
  315. package/es/components/Dropdown/Dropdown.tokens.js.map +1 -1
  316. package/es/components/Dropdown/ui/DropdownInner/DropdownInner.js +9 -1
  317. package/es/components/Dropdown/ui/DropdownInner/DropdownInner.js.map +1 -1
  318. package/es/components/Dropdown/ui/DropdownItem/DropdownItem.css +6 -5
  319. package/es/components/Dropdown/ui/DropdownItem/DropdownItem.js +11 -4
  320. package/es/components/Dropdown/ui/DropdownItem/DropdownItem.js.map +1 -1
  321. package/es/components/Dropdown/ui/DropdownItem/DropdownItem.styles.js +27 -6
  322. package/es/components/Dropdown/ui/DropdownItem/DropdownItem.styles.js.map +1 -1
  323. package/es/components/Dropdown/ui/DropdownItem/DropdownItem.styles_blclup.css +6 -0
  324. package/es/components/Dropdown/ui/DropdownItemOld/DropdownItem.styles.js +2 -0
  325. package/es/components/Dropdown/ui/DropdownItemOld/DropdownItem.styles.js.map +1 -1
  326. package/es/components/Dropdown/ui/DropdownOld/Dropdown.styles.js +1 -0
  327. package/es/components/Dropdown/ui/DropdownOld/Dropdown.styles.js.map +1 -1
  328. package/es/components/Editable/Editable.js +4 -3
  329. package/es/components/Editable/Editable.js.map +1 -1
  330. package/es/components/Editable/utils/clearSelection.js +2 -0
  331. package/es/components/Editable/utils/clearSelection.js.map +1 -1
  332. package/es/components/Editable/utils/selectText.js +2 -0
  333. package/es/components/Editable/utils/selectText.js.map +1 -1
  334. package/es/components/EmptyState/EmptyState.styles.js +2 -1
  335. package/es/components/EmptyState/EmptyState.styles.js.map +1 -1
  336. package/es/components/IconButton/IconButton.js +1 -1
  337. package/es/components/IconButton/IconButton.styles.js +8 -0
  338. package/es/components/IconButton/IconButton.styles.js.map +1 -1
  339. package/es/components/Modal/Modal.js +8 -6
  340. package/es/components/Modal/Modal.js.map +1 -1
  341. package/es/components/Modal/hooks/useModal.js +4 -0
  342. package/es/components/Modal/hooks/useModal.js.map +1 -1
  343. package/es/components/Notification/Notification.styles.js +3 -2
  344. package/es/components/Notification/Notification.styles.js.map +1 -1
  345. package/es/components/Notification/NotificationsPortal.js +4 -3
  346. package/es/components/Notification/NotificationsPortal.js.map +1 -1
  347. package/es/components/Pagination/Pagination.styles.js +2 -1
  348. package/es/components/Pagination/Pagination.styles.js.map +1 -1
  349. package/es/components/Pagination/ui/PaginationSelectPerPage/PaginationSelectPerPage.styles.js +2 -1
  350. package/es/components/Pagination/ui/PaginationSelectPerPage/PaginationSelectPerPage.styles.js.map +1 -1
  351. package/es/components/Panel/ui/PanelHeader/PanelHeader.js +2 -1
  352. package/es/components/Panel/ui/PanelHeader/PanelHeader.js.map +1 -1
  353. package/es/components/Panel/ui/PanelHeader/PanelHeader.styles.js +2 -1
  354. package/es/components/Panel/ui/PanelHeader/PanelHeader.styles.js.map +1 -1
  355. package/es/components/Popover/Popover.js +1 -1
  356. package/es/components/Popup/Popup.js +2 -2
  357. package/es/components/Range/Range.styles.js +1 -0
  358. package/es/components/Range/Range.styles.js.map +1 -1
  359. package/es/components/Segment/ui/SegmentGroup/SegmentGroup.js +3 -2
  360. package/es/components/Segment/ui/SegmentGroup/SegmentGroup.js.map +1 -1
  361. package/es/components/Select/Select.js +13 -12
  362. package/es/components/Select/Select.js.map +1 -1
  363. package/es/components/Select/Select.styles.js +5 -2
  364. package/es/components/Select/Select.styles.js.map +1 -1
  365. package/es/components/Select/hooks/usePathMaps.js +2 -0
  366. package/es/components/Select/hooks/usePathMaps.js.map +1 -1
  367. package/es/components/Select/ui/Inner/Inner.js +2 -1
  368. package/es/components/Select/ui/Inner/Inner.js.map +1 -1
  369. package/es/components/Select/ui/Inner/ui/Item/Item.js +5 -4
  370. package/es/components/Select/ui/Inner/ui/Item/Item.js.map +1 -1
  371. package/es/components/Select/ui/Inner/ui/Item/Item.styles.js +1 -0
  372. package/es/components/Select/ui/Inner/ui/Item/Item.styles.js.map +1 -1
  373. package/es/components/Select/ui/Target/ui/Button/Button.js +1 -1
  374. package/es/components/Select/ui/Target/ui/Button/Button.styles.js +3 -1
  375. package/es/components/Select/ui/Target/ui/Button/Button.styles.js.map +1 -1
  376. package/es/components/Select/ui/Target/ui/Textfield/Textfield.js +2 -2
  377. package/es/components/Select/ui/Target/ui/Textfield/Textfield.styles.js +4 -1
  378. package/es/components/Select/ui/Target/ui/Textfield/Textfield.styles.js.map +1 -1
  379. package/es/components/Select/ui/Target/ui/Textfield/ui/Chip/Chip.styles.js +2 -1
  380. package/es/components/Select/ui/Target/ui/Textfield/ui/Chip/Chip.styles.js.map +1 -1
  381. package/es/components/Select/utils/getButtonLabel.js +2 -0
  382. package/es/components/Select/utils/getButtonLabel.js.map +1 -1
  383. package/es/components/Sheet/Sheet.js +3 -3
  384. package/es/components/Skeleton/LineSkeleton/LineSkeleton.js +4 -2
  385. package/es/components/Skeleton/LineSkeleton/LineSkeleton.js.map +1 -1
  386. package/es/components/Skeleton/RectSkeleton/RectSkeleton.js +4 -2
  387. package/es/components/Skeleton/RectSkeleton/RectSkeleton.js.map +1 -1
  388. package/es/components/Slider/components/Double/Double.js +2 -1
  389. package/es/components/Slider/components/Double/Double.js.map +1 -1
  390. package/es/components/Slider/components/Double/Double.styles.js +1 -0
  391. package/es/components/Slider/components/Double/Double.styles.js.map +1 -1
  392. package/es/components/Slider/components/Single/Single.js +2 -1
  393. package/es/components/Slider/components/Single/Single.js.map +1 -1
  394. package/es/components/Slider/components/SliderBase/SliderBase.js +1 -1
  395. package/es/components/Tabs/ui/Tabs/Tabs.js +3 -2
  396. package/es/components/Tabs/ui/Tabs/Tabs.js.map +1 -1
  397. package/es/components/TextArea/TextArea.js +1 -1
  398. package/es/components/TextField/TextField.js +1 -1
  399. package/es/components/TextField/ui/TextFieldChip/TextFieldChip.styles.js +2 -1
  400. package/es/components/TextField/ui/TextFieldChip/TextFieldChip.styles.js.map +1 -1
  401. package/es/components/Toast/Toast.styles.js +1 -1
  402. package/es/components/Toast/ToastController.js +1 -1
  403. package/es/components/Toast/utils.js +2 -1
  404. package/es/components/Toast/utils.js.map +1 -1
  405. package/es/components/Toolbar/ui/ToolbarDivider/ToolbarDivider.js +1 -1
  406. package/es/components/Tooltip/Tooltip.js +3 -2
  407. package/es/components/Tooltip/Tooltip.js.map +1 -1
  408. package/es/engines/index.js +2 -0
  409. package/es/engines/index.js.map +1 -1
  410. package/es/hooks/useIsomorphicLayoutEffect.js +1 -0
  411. package/es/hooks/useIsomorphicLayoutEffect.js.map +1 -1
  412. package/es/index.css +6 -5
  413. package/es/index.js +24 -21
  414. package/es/index.js.map +1 -1
  415. package/es/utils/index.js +3 -0
  416. package/es/utils/index.js.map +1 -1
  417. package/package.json +4 -5
  418. package/styled-components/cjs/components/Dropdown/Dropdown.template-doc.mdx +8 -0
  419. package/styled-components/cjs/components/Dropdown/Dropdown.tokens.js +7 -5
  420. package/styled-components/cjs/components/Dropdown/ui/DropdownItem/DropdownItem.js +9 -3
  421. package/styled-components/cjs/components/Dropdown/ui/DropdownItem/DropdownItem.styles.js +14 -5
  422. package/styled-components/cjs/examples/plasma_b2c/components/Dropdown/Dropdown.config.js +5 -5
  423. package/styled-components/cjs/examples/plasma_b2c/components/Dropdown/Dropdown.stories.tsx +2 -0
  424. package/styled-components/cjs/examples/plasma_web/components/Dropdown/Dropdown.config.js +5 -5
  425. package/styled-components/cjs/examples/plasma_web/components/Dropdown/Dropdown.stories.tsx +2 -0
  426. package/styled-components/es/components/Dropdown/Dropdown.template-doc.mdx +8 -0
  427. package/styled-components/es/components/Dropdown/Dropdown.tokens.js +7 -5
  428. package/styled-components/es/components/Dropdown/ui/DropdownItem/DropdownItem.js +10 -4
  429. package/styled-components/es/components/Dropdown/ui/DropdownItem/DropdownItem.styles.js +13 -4
  430. package/styled-components/es/examples/plasma_b2c/components/Dropdown/Dropdown.config.js +5 -5
  431. package/styled-components/es/examples/plasma_b2c/components/Dropdown/Dropdown.stories.tsx +2 -0
  432. package/styled-components/es/examples/plasma_web/components/Dropdown/Dropdown.config.js +5 -5
  433. package/styled-components/es/examples/plasma_web/components/Dropdown/Dropdown.stories.tsx +2 -0
  434. package/types/components/Dropdown/Dropdown.tokens.d.ts +7 -5
  435. package/types/components/Dropdown/Dropdown.tokens.d.ts.map +1 -1
  436. package/types/components/Dropdown/ui/DropdownItem/DropdownItem.d.ts.map +1 -1
  437. package/types/components/Dropdown/ui/DropdownItem/DropdownItem.styles.d.ts +3 -0
  438. package/types/components/Dropdown/ui/DropdownItem/DropdownItem.styles.d.ts.map +1 -1
  439. package/types/components/Dropdown/ui/DropdownItem/DropdownItem.type.d.ts +8 -0
  440. package/types/components/Dropdown/ui/DropdownItem/DropdownItem.type.d.ts.map +1 -1
  441. package/types/examples/plasma_b2c/components/Dropdown/Dropdown.config.d.ts.map +1 -1
  442. package/types/examples/plasma_web/components/Dropdown/Dropdown.config.d.ts.map +1 -1
  443. package/cjs/components/Dropdown/ui/DropdownItem/DropdownItem.styles_1o4szyu.css +0 -5
  444. package/es/components/Dropdown/ui/DropdownItem/DropdownItem.styles_1o4szyu.css +0 -5
@@ -5,8 +5,9 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
  var React = require('react');
6
6
  var Dropdown_tokens = require('../../Dropdown.tokens.js');
7
7
  var index = require('../../../../utils/index.js');
8
- var DropdownItem_styles = require('./DropdownItem.styles.js');
8
+ require('@linaria/react');
9
9
  var IconDisclosureRight = require('../../../_Icon/Icons/IconDisclosureRight.js');
10
+ var DropdownItem_styles = require('./DropdownItem.styles.js');
10
11
 
11
12
  var DropdownItem = function DropdownItem(_ref) {
12
13
  var item = _ref.item,
@@ -33,7 +34,9 @@ var DropdownItem = function DropdownItem(_ref) {
33
34
  disabled = item.disabled,
34
35
  isDisabled = item.isDisabled,
35
36
  contentLeft = item.contentLeft,
36
- contentRight = item.contentRight;
37
+ contentRight = item.contentRight,
38
+ dividerBefore = item.dividerBefore,
39
+ dividerAfter = item.dividerAfter;
37
40
  var ref = React.useRef(null);
38
41
  var disclosureIconSize = size === 'xs' ? 'xs' : 's';
39
42
  var isDisabledClassName = disabled || isDisabled ? Dropdown_tokens.classes.dropdownItemIsDisabled : undefined;
@@ -67,7 +70,9 @@ var DropdownItem = function DropdownItem(_ref) {
67
70
  onHover(index$1);
68
71
  }
69
72
  };
70
- return /*#__PURE__*/React.createElement(DropdownItem_styles.Wrapper, {
73
+ return /*#__PURE__*/React.createElement(React.Fragment, null, dividerBefore && /*#__PURE__*/React.createElement(DropdownItem_styles.Divider, {
74
+ variant: variant
75
+ }), /*#__PURE__*/React.createElement(DropdownItem_styles.Wrapper, {
71
76
  className: index.cx(isDisabledClassName, focusedClass, activeClass),
72
77
  id: value.toString(),
73
78
  role: itemRole,
@@ -84,7 +89,9 @@ var DropdownItem = function DropdownItem(_ref) {
84
89
  }, contentLeft && /*#__PURE__*/React.createElement(DropdownItem_styles.StyledContentLeft, null, contentLeft), /*#__PURE__*/React.createElement(DropdownItem_styles.StyledText, null, label), contentRight && /*#__PURE__*/React.createElement(DropdownItem_styles.StyledContentRight, null, contentRight), item.items && hasArrow && /*#__PURE__*/React.createElement(DropdownItem_styles.DisclosureIconWrapper, null, /*#__PURE__*/React.createElement(IconDisclosureRight.IconDisclosureRight, {
85
90
  size: disclosureIconSize,
86
91
  color: "inherit"
87
- })));
92
+ }))), dividerAfter && /*#__PURE__*/React.createElement(DropdownItem_styles.Divider, {
93
+ variant: variant
94
+ }));
88
95
  };
89
96
 
90
97
  exports.DropdownItem = DropdownItem;
@@ -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} 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 } = 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 <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 );\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","ref","useRef","disclosureIconSize","isDisabledClassName","classes","dropdownItemIsDisabled","undefined","focusedClass","length","dropdownItemIsFocused","activeClass","dropdownItemIsActive","useEffect","current","scrollIntoView","behavior","block","inline","handleClick","event","handleHover","React","createElement","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,4 +1,4 @@
1
- import './DropdownItem.styles_1o4szyu.css';
1
+ import './DropdownItem.styles_blclup.css';
2
2
  'use strict';
3
3
 
4
4
  Object.defineProperty(exports, '__esModule', { value: true });
@@ -29,26 +29,48 @@ var StyledText = /*#__PURE__*/react.styled('div')({
29
29
  var _exp3 = function _exp3() {
30
30
  return function (_ref) {
31
31
  var variant = _ref.variant;
32
- return "var(".concat(variant === 'tight' ? Dropdown_tokens.tokens.itemPaddingTopTight : Dropdown_tokens.tokens.itemPaddingTop, ")");
32
+ return "var(".concat(variant === 'tight' ? Dropdown_tokens.tokens.dividerMarginTopTight : Dropdown_tokens.tokens.dividerMarginTop, ")");
33
33
  };
34
34
  };
35
35
  var _exp5 = function _exp5() {
36
36
  return function (_ref2) {
37
37
  var variant = _ref2.variant;
38
+ return "var(".concat(variant === 'tight' ? Dropdown_tokens.tokens.dividerMarginBottomTight : Dropdown_tokens.tokens.dividerMarginBottom, ")");
39
+ };
40
+ };
41
+ var Divider = /*#__PURE__*/react.styled('div')({
42
+ name: "Divider",
43
+ "class": "d6l2f0g",
44
+ propsAsIs: false,
45
+ vars: {
46
+ "d6l2f0g-0": [/*#__PURE__*/_exp3()],
47
+ "d6l2f0g-1": [/*#__PURE__*/_exp5()]
48
+ }
49
+ });
50
+ var _exp8 = function _exp8() {
51
+ return function (_ref3) {
52
+ var variant = _ref3.variant;
53
+ return "var(".concat(variant === 'tight' ? Dropdown_tokens.tokens.itemPaddingTopTight : Dropdown_tokens.tokens.itemPaddingTop, ")");
54
+ };
55
+ };
56
+ var _exp10 = function _exp10() {
57
+ return function (_ref4) {
58
+ var variant = _ref4.variant;
38
59
  return "var(".concat(variant === 'tight' ? Dropdown_tokens.tokens.itemPaddingBottomTight : Dropdown_tokens.tokens.itemPaddingBottom, ")");
39
60
  };
40
61
  };
41
62
  var Wrapper = /*#__PURE__*/react.styled('li')({
42
63
  name: "Wrapper",
43
- "class": "w6l2f0g",
64
+ "class": "w1jav4ek",
44
65
  propsAsIs: false,
45
66
  vars: {
46
- "w6l2f0g-0": [/*#__PURE__*/_exp3()],
47
- "w6l2f0g-1": [/*#__PURE__*/_exp5()]
67
+ "w1jav4ek-0": [/*#__PURE__*/_exp8()],
68
+ "w1jav4ek-1": [/*#__PURE__*/_exp10()]
48
69
  }
49
70
  });
50
71
 
51
72
  exports.DisclosureIconWrapper = DisclosureIconWrapper;
73
+ exports.Divider = Divider;
52
74
  exports.StyledContentLeft = StyledContentLeft;
53
75
  exports.StyledContentRight = StyledContentRight;
54
76
  exports.StyledText = StyledText;
@@ -1 +1 @@
1
- {"version":3,"file":"DropdownItem.styles.js","sources":["../../../../../src/components/Dropdown/ui/DropdownItem/DropdownItem.styles.ts"],"sourcesContent":["import { styled } from '@linaria/react';\n\nimport { classes, tokens } from '../../Dropdown.tokens';\nimport { addFocus, applyEllipsis } from '../../../../mixins';\nimport { DropdownProps } from '../../Dropdown.types';\n\nexport const StyledContentLeft = styled.div`\n display: inline-flex;\n`;\n\nexport const StyledContentRight = styled.div`\n margin-left: auto;\n display: inline-flex;\n`;\n\nexport const DisclosureIconWrapper = styled.div`\n line-height: 0;\n color: var(${tokens.disclosureIconColor});\n`;\n\nexport const StyledText = styled.div`\n ${applyEllipsis()};\n flex: 1;\n`;\n\nexport const Wrapper = styled.li<{ variant: DropdownProps['variant'] }>`\n display: flex;\n align-items: center;\n margin: 0;\n box-sizing: content-box;\n padding-top: ${({ variant }) => `var(${variant === 'tight' ? tokens.itemPaddingTopTight : tokens.itemPaddingTop})`};\n padding-right: var(${tokens.itemPaddingRight});\n padding-bottom: ${({ variant }) =>\n `var(${variant === 'tight' ? tokens.itemPaddingBottomTight : tokens.itemPaddingBottom})`};\n padding-left: var(${tokens.itemPaddingLeft});\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 background: var(${tokens.itemBackground});\n color: var(${tokens.itemColor});\n border-radius: var(${tokens.itemBorderRadius});\n user-select: none;\n\n &:hover:not(.${classes.dropdownItemIsDisabled}) {\n cursor: pointer;\n background: var(${tokens.itemBackgroundHover});\n }\n\n &.${classes.dropdownItemIsActive} {\n background: var(${tokens.itemBackgroundHover});\n }\n\n &.${classes.dropdownItemIsDisabled} {\n opacity: var(${tokens.disabledOpacity});\n cursor: not-allowed;\n }\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 customFocusRules: `\n &.${classes.dropdownItemIsFocused}:before {\n outline: none;\n box-shadow: 0 0 0 0.0625rem var(${tokens.focusColor});\n }\n `,\n })};\n`;\n"],"names":["StyledContentLeft","styled","name","class","propsAsIs","StyledContentRight","DisclosureIconWrapper","StyledText","_exp3","_ref","variant","tokens","itemPaddingTopTight","itemPaddingTop","_exp5","_ref2","itemPaddingBottomTight","itemPaddingBottom","Wrapper","vars"],"mappings":";;;;;;;AAMO,IAAMA,iBAAiB,gBAAGC,YAAM,CAAA,KAAA,CAAA,CAAA;AAAAC,EAAAA,IAAA,EAAA,mBAAA;AAAAC,EAAAA,OAAAA,EAAA,UAAA;AAAAC,EAAAA,SAAA,EAAA,KAAA;AAAA,CAEtC,EAAA;AAEM,IAAMC,kBAAkB,gBAAGJ,YAAM,CAAA,KAAA,CAAA,CAAA;AAAAC,EAAAA,IAAA,EAAA,oBAAA;AAAAC,EAAAA,OAAAA,EAAA,SAAA;AAAAC,EAAAA,SAAA,EAAA,KAAA;AAAA,CAGvC,EAAA;AAEM,IAAME,qBAAqB,gBAAGL,YAAM,CAAA,KAAA,CAAA,CAAA;AAAAC,EAAAA,IAAA,EAAA,uBAAA;AAAAC,EAAAA,OAAAA,EAAA,UAAA;AAAAC,EAAAA,SAAA,EAAA,KAAA;AAAA,CAG1C,EAAA;AAEM,IAAMG,UAAU,gBAAGN,YAAM,CAAA,KAAA,CAAA,CAAA;AAAAC,EAAAA,IAAA,EAAA,YAAA;AAAAC,EAAAA,OAAAA,EAAA,SAAA;AAAAC,EAAAA,SAAA,EAAA,KAAA;AAAA,CAG/B,EAAA;AAAC,IAAAI,KAAA,GAtBgBA,SAsBhBA,KAAAA,GAAA;AAAA,EAAA,OAOiB,UAAAC,IAAA,EAAA;AAAA,IAAA,IAAGC,OAAAA,GAAAA,IAAAA,CAAAA,OAAAA,CAAAA;AAAAA,IAAAA,OAAAA,MAAAA,CAAAA,MAAAA,CAAqBA,OAAO,KAAK,OAAO,GAAGC,sBAAM,CAACC,mBAAmB,GAAGD,sBAAM,CAACE,cAAe,EAAA,GAAA,CAAA,CAAA;GAAE,CAAA;AAAA,CAAA,CAAA;AAAA,IAAAC,KAAA,GA7BpGA,SA6BoGA,KAAAA,GAAA;AAAA,EAAA,OAEhG,UAAAC,KAAA,EAAA;AAAA,IAAA,IAAGL,OAAAA,GAAAA,KAAAA,CAAAA,OAAAA,CAAAA;AAAAA,IAAAA,OAAAA,MAAAA,CAAAA,MAAAA,CACVA,OAAO,KAAK,OAAO,GAAGC,sBAAM,CAACK,sBAAsB,GAAGL,sBAAM,CAACM,iBAAkB,EAAA,GAAA,CAAA,CAAA;GAAE,CAAA;AAAA,CAAA,CAAA;AARzF,IAAMC,OAAO,gBAAGjB,YAAM,CAAA,IAAA,CAAA,CAAA;AAAAC,EAAAA,IAAA,EAAA,SAAA;AAAAC,EAAAA,OAAAA,EAAA,SAAA;AAAAC,EAAAA,SAAA,EAAA,KAAA;AAAAe,EAAAA,IAAA,EAAA;AAAA,IAAA,WAAA,EAAA,cAKVX,KAAmG,EAAA,CAAA;AAAA,IAAA,WAAA,EAAA,cAEhGM,KAC0E,EAAA,CAAA;AAAA,GAAA;AAAA,CA4C/F;;;;;;;;"}
1
+ {"version":3,"file":"DropdownItem.styles.js","sources":["../../../../../src/components/Dropdown/ui/DropdownItem/DropdownItem.styles.ts"],"sourcesContent":["import { styled } from '@linaria/react';\n\nimport { classes, tokens } from '../../Dropdown.tokens';\nimport { addFocus, applyEllipsis } from '../../../../mixins';\nimport { DropdownProps } from '../../Dropdown.types';\n\nexport const StyledContentLeft = styled.div`\n display: inline-flex;\n`;\n\nexport const StyledContentRight = styled.div`\n margin-left: auto;\n display: inline-flex;\n`;\n\nexport const DisclosureIconWrapper = styled.div`\n line-height: 0;\n color: var(${tokens.disclosureIconColor});\n`;\n\nexport const StyledText = styled.div`\n ${applyEllipsis()};\n flex: 1;\n`;\n\nexport const Divider = styled.div<{ variant: DropdownProps['variant'] }>`\n height: 1px;\n margin-top: ${({ variant }) =>\n `var(${variant === 'tight' ? tokens.dividerMarginTopTight : tokens.dividerMarginTop})`};\n margin-right: var(${tokens.dividerMarginRight});\n margin-bottom: ${({ variant }) =>\n `var(${variant === 'tight' ? tokens.dividerMarginBottomTight : tokens.dividerMarginBottom})`};\n margin-left: var(${tokens.dividerMarginLeft});\n background: var(${tokens.dividerColor});\n`;\n\nexport const Wrapper = styled.li<{ variant: DropdownProps['variant'] }>`\n display: flex;\n align-items: center;\n margin: 0;\n box-sizing: content-box;\n padding-top: ${({ variant }) => `var(${variant === 'tight' ? tokens.itemPaddingTopTight : tokens.itemPaddingTop})`};\n padding-right: var(${tokens.itemPaddingRight});\n padding-bottom: ${({ variant }) =>\n `var(${variant === 'tight' ? tokens.itemPaddingBottomTight : tokens.itemPaddingBottom})`};\n padding-left: var(${tokens.itemPaddingLeft});\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 background: var(${tokens.itemBackground});\n color: var(${tokens.itemColor});\n border-radius: var(${tokens.itemBorderRadius});\n user-select: none;\n\n &:hover:not(.${classes.dropdownItemIsDisabled}) {\n cursor: pointer;\n background: var(${tokens.itemBackgroundHover});\n }\n\n &.${classes.dropdownItemIsActive} {\n background: var(${tokens.itemBackgroundHover});\n }\n\n &.${classes.dropdownItemIsDisabled} {\n opacity: var(${tokens.disabledOpacity});\n cursor: not-allowed;\n }\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 customFocusRules: `\n &.${classes.dropdownItemIsFocused}:before {\n outline: none;\n box-shadow: 0 0 0 0.0625rem var(${tokens.focusColor});\n }\n `,\n })};\n`;\n"],"names":["StyledContentLeft","styled","name","class","propsAsIs","StyledContentRight","DisclosureIconWrapper","StyledText","_exp3","_ref","variant","tokens","dividerMarginTopTight","dividerMarginTop","_exp5","_ref2","dividerMarginBottomTight","dividerMarginBottom","Divider","vars","_exp8","_ref3","itemPaddingTopTight","itemPaddingTop","_exp10","_ref4","itemPaddingBottomTight","itemPaddingBottom","Wrapper"],"mappings":";;;;;;;AAMO,IAAMA,iBAAiB,gBAAGC,YAAM,CAAA,KAAA,CAAA,CAAA;AAAAC,EAAAA,IAAA,EAAA,mBAAA;AAAAC,EAAAA,OAAAA,EAAA,UAAA;AAAAC,EAAAA,SAAA,EAAA,KAAA;AAAA,CAEtC,EAAA;AAEM,IAAMC,kBAAkB,gBAAGJ,YAAM,CAAA,KAAA,CAAA,CAAA;AAAAC,EAAAA,IAAA,EAAA,oBAAA;AAAAC,EAAAA,OAAAA,EAAA,SAAA;AAAAC,EAAAA,SAAA,EAAA,KAAA;AAAA,CAGvC,EAAA;AAEM,IAAME,qBAAqB,gBAAGL,YAAM,CAAA,KAAA,CAAA,CAAA;AAAAC,EAAAA,IAAA,EAAA,uBAAA;AAAAC,EAAAA,OAAAA,EAAA,UAAA;AAAAC,EAAAA,SAAA,EAAA,KAAA;AAAA,CAG1C,EAAA;AAEM,IAAMG,UAAU,gBAAGN,YAAM,CAAA,KAAA,CAAA,CAAA;AAAAC,EAAAA,IAAA,EAAA,YAAA;AAAAC,EAAAA,OAAAA,EAAA,SAAA;AAAAC,EAAAA,SAAA,EAAA,KAAA;AAAA,CAG/B,EAAA;AAAC,IAAAI,KAAA,GAtBgBA,SAsBhBA,KAAAA,GAAA;AAAA,EAAA,OAIgB,UAAAC,IAAA,EAAA;AAAA,IAAA,IAAGC,OAAAA,GAAAA,IAAAA,CAAAA,OAAAA,CAAAA;AAAAA,IAAAA,OAAAA,MAAAA,CAAAA,MAAAA,CACNA,OAAO,KAAK,OAAO,GAAGC,sBAAM,CAACC,qBAAqB,GAAGD,sBAAM,CAACE,gBAAiB,EAAA,GAAA,CAAA,CAAA;GAAE,CAAA;AAAA,CAAA,CAAA;AAAA,IAAAC,KAAA,GA3B5EA,SA2B4EA,KAAAA,GAAA;AAAA,EAAA,OAEzE,UAAAC,KAAA,EAAA;AAAA,IAAA,IAAGL,OAAAA,GAAAA,KAAAA,CAAAA,OAAAA,CAAAA;AAAAA,IAAAA,OAAAA,MAAAA,CAAAA,MAAAA,CACTA,OAAO,KAAK,OAAO,GAAGC,sBAAM,CAACK,wBAAwB,GAAGL,sBAAM,CAACM,mBAAoB,EAAA,GAAA,CAAA,CAAA;GAAE,CAAA;AAAA,CAAA,CAAA;AAN7F,IAAMC,OAAO,gBAAGjB,YAAM,CAAA,KAAA,CAAA,CAAA;AAAAC,EAAAA,IAAA,EAAA,SAAA;AAAAC,EAAAA,OAAAA,EAAA,SAAA;AAAAC,EAAAA,SAAA,EAAA,KAAA;AAAAe,EAAAA,IAAA,EAAA;AAAA,IAAA,WAAA,EAAA,cAEXX,KAC4E,EAAA,CAAA;AAAA,IAAA,WAAA,EAAA,cAEzEM,KAC+E,EAAA,CAAA;AAAA,GAAA;AAAA,CAGnG,EAAA;AAAC,IAAAM,KAAA,GAjCgBA,SAiChBA,KAAAA,GAAA;AAAA,EAAA,OAOiB,UAAAC,KAAA,EAAA;AAAA,IAAA,IAAGX,OAAAA,GAAAA,KAAAA,CAAAA,OAAAA,CAAAA;AAAAA,IAAAA,OAAAA,MAAAA,CAAAA,MAAAA,CAAqBA,OAAO,KAAK,OAAO,GAAGC,sBAAM,CAACW,mBAAmB,GAAGX,sBAAM,CAACY,cAAe,EAAA,GAAA,CAAA,CAAA;GAAE,CAAA;AAAA,CAAA,CAAA;AAAA,IAAAC,MAAA,GAxCpGA,SAwCoGA,MAAAA,GAAA;AAAA,EAAA,OAEhG,UAAAC,KAAA,EAAA;AAAA,IAAA,IAAGf,OAAAA,GAAAA,KAAAA,CAAAA,OAAAA,CAAAA;AAAAA,IAAAA,OAAAA,MAAAA,CAAAA,MAAAA,CACVA,OAAO,KAAK,OAAO,GAAGC,sBAAM,CAACe,sBAAsB,GAAGf,sBAAM,CAACgB,iBAAkB,EAAA,GAAA,CAAA,CAAA;GAAE,CAAA;AAAA,CAAA,CAAA;AARzF,IAAMC,OAAO,gBAAG3B,YAAM,CAAA,IAAA,CAAA,CAAA;AAAAC,EAAAA,IAAA,EAAA,SAAA;AAAAC,EAAAA,OAAAA,EAAA,UAAA;AAAAC,EAAAA,SAAA,EAAA,KAAA;AAAAe,EAAAA,IAAA,EAAA;AAAA,IAAA,YAAA,EAAA,cAKVC,KAAmG,EAAA,CAAA;AAAA,IAAA,YAAA,EAAA,cAEhGI,MAC0E,EAAA,CAAA;AAAA,GAAA;AAAA,CA4C/F;;;;;;;;;"}
@@ -0,0 +1,6 @@
1
+ .s1gkzlls{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;}
2
+ .sz6s14y{margin-left:auto;display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;}
3
+ .d1m97l2m{line-height:0;color:var(--plasma-dropdown-disclosure-icon-color);}
4
+ .soib72h{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;-webkit-flex:1;-ms-flex:1;flex:1;}
5
+ .d6l2f0g{height:1px;margin-top:var(--d6l2f0g-0);margin-right:var(--plasma-dropdown-divider-margin-right);margin-bottom:var(--d6l2f0g-1);margin-left:var(--plasma-dropdown-divider-margin-left);background:var(--plasma-dropdown-divider-color);}
6
+ .w1jav4ek{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;margin:0;box-sizing:content-box;padding-top:var(--w1jav4ek-0);padding-right:var(--plasma-dropdown-item-padding-right);padding-bottom:var(--w1jav4ek-1);padding-left:var(--plasma-dropdown-item-padding-left);font-family:var(--plasma-dropdown-item-font-family);font-size:var(--plasma-dropdown-item-font-size);font-style:var(--plasma-dropdown-item-font-style);font-weight:var(--plasma-dropdown-item-letter-spacing);-webkit-letter-spacing:var(--plasma-dropdown-item-line-height);-moz-letter-spacing:var(--plasma-dropdown-item-line-height);-ms-letter-spacing:var(--plasma-dropdown-item-line-height);letter-spacing:var(--plasma-dropdown-item-line-height);line-height:var(--plasma-dropdown-item-font-weight);background:var(--plasma-dropdown-item-background);color:var(--plasma-dropdown-item-color);border-radius:var(--plasma-dropdown-item-border-radius);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;position:relative;}.w1jav4ek:hover:not(.dropdown-item-is-disabled){cursor:pointer;background:var(--plasma-dropdown-item-background-hover);}.w1jav4ek.dropdown-item-is-active{background:var(--plasma-dropdown-item-background-hover);}.w1jav4ek.dropdown-item-is-disabled{opacity:var(--plasma-dropdown-disabled-opacity);cursor:not-allowed;}.w1jav4ek:focus{outline:none;}.w1jav4ek::before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;z-index:1;display:block;box-sizing:content-box;border:0.0625rem solid transparent;border-radius:var(--plasma-dropdown-item-border-radius);-webkit-transition:none;transition:none;pointer-events:none;}.w1jav4ek.dropdown-item-is-focused:before{outline:none;box-shadow:0 0 0 0.0625rem var(--plasma-dropdown-focus-color);}
@@ -4,6 +4,8 @@ import './DropdownItem.styles_12e50g5.css';
4
4
  Object.defineProperty(exports, '__esModule', { value: true });
5
5
 
6
6
  var react = require('@linaria/react');
7
+ require('focus-visible');
8
+ require('styled-components');
7
9
 
8
10
  var StyledContentLeft = /*#__PURE__*/react.styled('div')({
9
11
  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,YAAM,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,YAAM,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,YAAM,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,YAAM,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,YAAM,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,YAAM,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;;;;;;;"}
@@ -4,6 +4,7 @@ import './Dropdown.styles_3w3l45.css';
4
4
  Object.defineProperty(exports, '__esModule', { value: true });
5
5
 
6
6
  var react = require('@linaria/react');
7
+ require('@linaria/core');
7
8
  var common = require('../../../../engines/common.js');
8
9
  var Popover$1 = require('../../../Popover/Popover.js');
9
10
 
@@ -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,gBAAS,CAACC,uBAAa,CAAC,CAAA;AAAC,IAAAC,IAAA,GAPvBA,SAOuBA,IAAAA,GAAA;AAAA,EAAA,OAELH,OAAO,CAAA;AAAA,CAAA,CAAA;AAApC,IAAMI,aAAa,gBAAGC,YAAM,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,YAAM,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,gBAAS,CAACC,uBAAa,CAAC,CAAA;AAAC,IAAAC,IAAA,GAPvBA,SAOuBA,IAAAA,GAAA;AAAA,EAAA,OAELH,OAAO,CAAA;AAAA,CAAA,CAAA;AAApC,IAAMI,aAAa,gBAAGC,YAAM,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,YAAM,CAAA,KAAA,CAAA,CAAA;AAAAC,EAAAA,IAAA,EAAA,gBAAA;AAAAC,EAAAA,OAAAA,EAAA,UAAA;AAAAC,EAAAA,SAAA,EAAA,KAAA;AAAA,CAYnC;;;;;"}
@@ -5,13 +5,14 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
  var _rollupPluginBabelHelpers = require('../../_virtual/_rollupPluginBabelHelpers.js');
6
6
  var React = require('react');
7
7
  var plasmaCore = require('@salutejs/plasma-core');
8
+ require('../../utils/react.js');
9
+ var constants = require('../../utils/constants.js');
10
+ var clearSelection = require('./utils/clearSelection.js');
11
+ var selectText = require('./utils/selectText.js');
8
12
  var Editable_tokens = require('./Editable.tokens.js');
9
13
  var Editable_styles = require('./Editable.styles.js');
10
14
  var base = require('./variations/_view/base.js');
11
15
  var base$1 = require('./variations/_size/base.js');
12
- var clearSelection = require('./utils/clearSelection.js');
13
- var selectText = require('./utils/selectText.js');
14
- var constants = require('../../utils/constants.js');
15
16
 
16
17
  var _excluded = ["textComponent", "value", "icon", "maxLength", "spellCheck", "placeholder", "name", "onChange", "onBlur", "onPaste"];
17
18
  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":";;;;;;;;;;;;;;;;;IAsBaA,YAAY,GAAG,SAAfA,YAAYA,CAAIC,iBAAqC,EAAA;AAAA,EAAA,OAAK,UACnEC,IAAgG,EAAA;AAAA,IAAA,oBAEhGC,gBAAU,CACN,UAAAC,IAAA,EAcIC,QAAQ,EACP;AAAA,MAAA,IAAAC,qBAAA,CAAA;AAAA,MAAA,IAbGC,aAAa,GAAAH,IAAA,CAAbG,aAAa;QACbC,KAAK,GAAAJ,IAAA,CAALI,KAAK;QACLC,IAAI,GAAAL,IAAA,CAAJK,IAAI;QACJC,SAAS,GAAAN,IAAA,CAATM,SAAS;QAAAC,eAAA,GAAAP,IAAA,CACTQ,UAAU;AAAVA,QAAAA,UAAU,GAAAD,eAAA,KAAG,KAAA,CAAA,GAAA,OAAO,GAAAA,eAAA;QACpBE,WAAW,GAAAT,IAAA,CAAXS,WAAW;QACXC,IAAI,GAAAV,IAAA,CAAJU,IAAI;QACJC,QAAQ,GAAAX,IAAA,CAARW,QAAQ;QACRC,MAAM,GAAAZ,IAAA,CAANY,MAAM;QACNC,OAAO,GAAAb,IAAA,CAAPa,OAAO;AACJC,QAAAA,KAAK,GAAAC,iDAAA,CAAAf,IAAA,EAAAgB,SAAA,CAAA,CAAA;MAIZ,IAAMC,SAAS,GAAGd,aAAa,CAAA;AAE/B,MAAA,IAAAe,SAAA,GAAkCC,cAAQ,CAAC,KAAK,CAAC;QAAAC,UAAA,GAAAC,uCAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAA1CI,QAAAA,SAAS,GAAAF,UAAA,CAAA,CAAA,CAAA;AAAEG,QAAAA,YAAY,GAAAH,UAAA,CAAA,CAAA,CAAA,CAAA;AAE9B,MAAA,IAAMI,QAAQ,GAAGC,YAAM,CAAiB,IAAI,CAAC,CAAA;AAC7C,MAAA,IAAMC,QAAQ,GAAGC,qBAAU,CAACH,QAAQ,EAAEvB,QAAQ,CAAC,CAAA;AAE/C,MAAA,IAAM2B,YAAY,GAAGH,YAAM,CAACrB,KAAK,IAAI,EAAE,CAAC,CAAA;AAExC,MAAA,IAAMyB,WAAkD,GAAG,SAArDA,WAAkDA,CAAIC,CAAC,EAAK;AAC9D,QAAA,IAAI,CAACN,QAAQ,CAACO,OAAO,EAAE;AACnB,UAAA,OAAA;AACJ,SAAA;QAEAD,CAAC,CAACE,cAAc,EAAE,CAAA;AAElB,QAAA,IAAMC,IAAI,GAAGH,CAAC,CAACI,aAAa,CAACC,OAAO,CAAC,YAAY,CAAC,CAACC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAA;AAE1E,QAAA,IAAIC,QAAQ,CAACC,qBAAqB,CAAC,YAAY,CAAC,EAAE;UAC9CD,QAAQ,CAACE,WAAW,CAAC,YAAY,EAAE,KAAK,EAAEN,IAAI,CAAC,CAAA;AACnD,SAAC,MAAM;UACH,IAAI;AACAO,YAAAA,SAAS,CAACC,SAAS,CAACC,SAAS,CAACT,IAAI,CAAC,CAAA;WACtC,CAAC,OAAAU,OAAA,EAAM;AACJnB,YAAAA,QAAQ,CAACO,OAAO,CAACa,WAAW,GAAGX,IAAI,CAAA;AACvC,WAAA;AACJ,SAAA;AAEA,QAAA,IAAIpB,OAAO,EAAE;UACTA,OAAO,CAACiB,CAAqC,CAAC,CAAA;AAClD,SAAA;OACH,CAAA;AAED,MAAA,IAAMe,UAA6C,GAAG,SAAhDA,UAA6CA,CAAIf,CAAC,EAAK;QACzDP,YAAY,CAAC,KAAK,CAAC,CAAA;AAEnBuB,QAAAA,6BAAc,EAAE,CAAA;;AAEhB;AACA,QAAA,IAAMC,eAAe,GAAGvB,QAAQ,CAACO,OAAO,CAAA;AACxC,QAAA,IAAIgB,eAAe,IAAIA,eAAe,CAACC,SAAS,KAAK,MAAM,EAAE;UACzDD,eAAe,CAACC,SAAS,GAAG,EAAE,CAAA;AAClC,SAAA;AAEA,QAAA,IAAIpC,MAAM,EAAE;UACRA,MAAM,CAACkB,CAAiC,CAAC,CAAA;AAC7C,SAAA;OACH,CAAA;AAED,MAAA,IAAMmB,WAA8B,GAAG,SAAjCA,WAA8BA,GAAS;QACzC1B,YAAY,CAAC,IAAI,CAAC,CAAA;QAElBC,QAAQ,CAACO,OAAO,IAAImB,qBAAU,CAAC1B,QAAQ,CAACO,OAAO,CAAC,CAAA;OACnD,CAAA;AAED,MAAA,IAAMoB,eAAe,GAAG,SAAlBA,eAAeA,GAAS;AAAA,QAAA,IAAAC,iBAAA,CAAA;AAC1B,QAAA,CAAAA,iBAAA,GAAA5B,QAAQ,CAACO,OAAO,MAAA,IAAA,IAAAqB,iBAAA,KAAA,KAAA,CAAA,IAAhBA,iBAAA,CAAkBC,KAAK,EAAE,CAAA;OAC5B,CAAA;AAED,MAAA,IAAMC,aAAmC,GAAG,SAAtCA,aAAmCA,CAAIxB,CAAC,EAAK;QAC/C,IAAI,CAACyB,kBAAkB,CAACC,KAAK,EAAED,kBAAkB,CAACE,MAAM,CAAC,CAACC,QAAQ,CAAC5B,CAAC,CAAC6B,OAAO,CAAC,EAAE;AAAA,UAAA,IAAAC,kBAAA,CAAA;AAC3E,UAAA,CAAAA,kBAAA,GAAApC,QAAQ,CAACO,OAAO,MAAA,IAAA,IAAA6B,kBAAA,KAAA,KAAA,CAAA,IAAhBA,kBAAA,CAAkBC,IAAI,EAAE,CAAA;AAC5B,SAAA;OACH,CAAA;AAED,MAAA,IAAMC,YAA8B,GAAG,SAAjCA,YAA8BA,CAAIhC,CAAC,EAAK;AAAA,QAAA,IAAAiC,qBAAA,CAAA;AAC1C,QAAA,IAAI,CAACvC,QAAQ,CAACO,OAAO,EAAE;AACnB,UAAA,OAAA;AACJ,SAAA;AAEA,QAAA,IAAMiC,aAAa,GAAG,CAAA,CAAAD,qBAAA,GAAAvC,QAAQ,CAACO,OAAO,CAACa,WAAW,cAAAmB,qBAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAA5BA,qBAAA,CAA8BE,MAAM,KAAI,CAAC,CAAA;AAE/D,QAAA,IAAI,CAAC3D,SAAS,IAAI0D,aAAa,IAAI1D,SAAS,EAAE;UAC1CsB,YAAY,CAACG,OAAO,GAAGP,QAAQ,CAACO,OAAO,CAACa,WAAW,IAAI,EAAE,CAAA;AAEzDjC,UAAAA,QAAQ,IAAIA,QAAQ,CAACmB,CAAkC,CAAC,CAAA;AAC5D,SAAC,MAAM;AACHN,UAAAA,QAAQ,CAACO,OAAO,CAACa,WAAW,GAAGhB,YAAY,CAACG,OAAO,CAAA;AACvD,SAAA;OACH,CAAA;AAEDmC,MAAAA,eAAS,CAAC,YAAM;AACZ,QAAA,IAAI,CAAC1C,QAAQ,CAACO,OAAO,IAAI,OAAO3B,KAAK,KAAK,WAAW,IAAIA,KAAK,KAAKoB,QAAQ,CAACO,OAAO,CAACa,WAAW,EAAE;AAC7F,UAAA,OAAA;AACJ,SAAA;AAEApB,QAAAA,QAAQ,CAACO,OAAO,CAACa,WAAW,GAAGxC,KAAK,CAAA;AACxC,OAAC,EAAE,CAACA,KAAK,EAAED,aAAa,CAAC,CAAC,CAAA;AAE1B,MAAA,oBACIgE,KAAA,CAAAC,aAAA,CAACtE,IAAI,EAAKgB,KAAK,eACXqD,KAAA,CAAAC,aAAA,CAACnD,SAAS,EAAA;AACNoD,QAAAA,GAAG,EAAE3C,QAAS;QACd4C,SAAS,EAAEC,uBAAO,CAACC,eAAgB;AACnCC,QAAAA,IAAI,EAAC,SAAS;AACdjE,QAAAA,UAAU,EAAEA,UAAW;QACvBkE,eAAe,EAAA,IAAA;AACf7D,QAAAA,OAAO,EAAEgB,WAAY;AACrB8C,QAAAA,OAAO,EAAEb,YAAa;AACtBlD,QAAAA,MAAM,EAAEiC,UAAW;AACnB+B,QAAAA,OAAO,EAAE3B,WAAY;AACrB4B,QAAAA,SAAS,EAAEvB,aAAc;QACzB,YAAY7C,EAAAA,WAAAA;AAAY,OAC3B,CAAC,EACD,CAAAP,CAAAA,qBAAA,GAAA0B,YAAY,CAACG,OAAO,MAAA7B,IAAAA,IAAAA,qBAAA,KAApBA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,qBAAA,CAAsB+D,MAAM,MAAK,CAAC,IAAI,CAAC3C,SAAS,iBAC7C6C,KAAA,CAAAC,aAAA,CAACnD,SAAS,EACNkD,IAAAA,eAAAA,KAAA,CAAAC,aAAA,CAACU,kCAAkB,EAAA;AAACC,QAAAA,OAAO,EAAE5B,eAAAA;OAAkB1C,EAAAA,WAAgC,CACxE,CACd,eACD0D,KAAA,CAAAC,aAAA,CAACY,2BAAW,EAAA;AAACC,QAAAA,IAAI,EAAC,QAAQ;QAAC7E,KAAK,EAAEwB,YAAY,CAACG,OAAQ;AAACrB,QAAAA,IAAI,EAAEA,IAAAA;AAAK,OAAE,CAAC,eACtEyD,KAAA,CAAAC,aAAA,CAACc,0BAAU,EAAA;AAACH,QAAAA,OAAO,EAAE5B,eAAgB;AAACgC,QAAAA,QAAQ,EAAE7D,SAAAA;OAC3CjB,EAAAA,IACO,CACV,CAAC,CAAA;AAEf,KACJ,CAAC,CAAA;AAAA,GAAA,CAAA;AAAA,EAAA;IAEQ+E,cAAc,GAAG,SAAjBA,cAAcA,CAAIC,kBAAsC,EAAA;EAAA,OAAM;AACvE3E,IAAAA,IAAI,EAAE,UAAU;AAChB4E,IAAAA,GAAG,EAAE,MAAM;AACXC,IAAAA,MAAM,EAAE3F,YAAY,CAAmB,CAAC;AACxC4F,IAAAA,IAAI,EAAJA,oBAAI;AACJC,IAAAA,UAAU,EAAE;AACRC,MAAAA,IAAI,EAAE;AACFC,QAAAA,GAAG,EAAEC,SAAAA;OACR;AACDC,MAAAA,IAAI,EAAE;AACFF,QAAAA,GAAG,EAAEG,WAAAA;AACT,OAAA;KACH;AACDC,IAAAA,QAAQ,EAAE;AACNL,MAAAA,IAAI,EAAE,SAAS;AACfG,MAAAA,IAAI,EAAE,GAAA;AACV,KAAA;GACH,CAAA;AAAA;;;;;"}
@@ -3,6 +3,8 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var canUseDOM = require('../../../utils/canUseDOM.js');
6
+ require('react');
7
+ require('../../../utils/react.js');
6
8
 
7
9
  var clearSelection = function clearSelection() {
8
10
  if (!canUseDOM.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,mBAAS,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,mBAAS,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;;;;"}
@@ -3,6 +3,8 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var canUseDOM = require('../../../utils/canUseDOM.js');
6
+ require('react');
7
+ require('../../../utils/react.js');
6
8
 
7
9
  var selectText = function selectText(node) {
8
10
  if (!canUseDOM.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,mBAAS,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,mBAAS,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;;;;"}
@@ -4,8 +4,9 @@ import './EmptyState.styles_s585zf.css';
4
4
  Object.defineProperty(exports, '__esModule', { value: true });
5
5
 
6
6
  var react = require('@linaria/react');
7
- var common = require('../../engines/common.js');
8
7
  var Button$1 = require('../Button/Button.js');
8
+ require('@linaria/core');
9
+ var common = require('../../engines/common.js');
9
10
 
10
11
  var mergedButtonConfig = /*#__PURE__*/common.mergeConfig(Button$1.buttonConfig);
11
12
  var Button = /*#__PURE__*/common.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,kBAAW,CAACC,qBAAY,CAAC,CAAA;AACpD,IAAMC,MAAM,gBAAGC,gBAAS,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,YAAM,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,YAAM,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,YAAM,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,kBAAW,CAACC,qBAAY,CAAC,CAAA;AACpD,IAAMC,MAAM,gBAAGC,gBAAS,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,YAAM,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,YAAM,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,YAAM,CAAA,KAAA,CAAA,CAAA;AAAAC,EAAAA,IAAA,EAAA,aAAA;AAAAC,EAAAA,OAAAA,EAAA,UAAA;AAAAC,EAAAA,SAAA,EAAA,KAAA;AAAA,CAQhC;;;;;;;"}
@@ -2,6 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
+ var Button = require('../Button/Button.js');
5
6
  var base = require('../Button/variations/_view/base.js');
6
7
  var base$1 = require('../Button/variations/_size/base.js');
7
8
  var base$2 = require('../Button/variations/_disabled/base.js');
@@ -9,7 +10,6 @@ var base$3 = require('../Button/variations/_focused/base.js');
9
10
  var base$4 = require('../Button/variations/_blurred/base.js');
10
11
  var base$5 = require('../Button/variations/_stretching/base.js');
11
12
  var IconButton_styles = require('./IconButton.styles.js');
12
- var Button = require('../Button/Button.js');
13
13
 
14
14
  var iconButtonRoot = Button.buttonRoot;
15
15
  var iconButtonConfig = {
@@ -3,6 +3,14 @@ import './IconButton.styles_sttslf.css';
3
3
 
4
4
  Object.defineProperty(exports, '__esModule', { value: true });
5
5
 
6
+ require('react');
7
+ require('../../utils/react.js');
8
+ require('@linaria/react');
9
+ require('focus-visible');
10
+ require('styled-components');
11
+ require('@linaria/core');
12
+ require('@salutejs/plasma-core');
13
+
6
14
  var base = "b1ua728l";
7
15
 
8
16
  exports.base = 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;;;;"}
@@ -5,16 +5,18 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
  var _rollupPluginBabelHelpers = require('../../_virtual/_rollupPluginBabelHelpers.js');
6
6
  var React = require('react');
7
7
  var plasmaCore = require('@salutejs/plasma-core');
8
+ require('@linaria/core');
9
+ var common = require('../../engines/common.js');
10
+ var PopupContext = require('../Popup/PopupContext.js');
11
+ var Popup$1 = require('../Popup/Popup.js');
12
+ var Overlay = require('../Overlay/Overlay.js');
8
13
  var index = require('../Popup/utils/index.js');
14
+ var useFocusTrap = require('../../hooks/useFocusTrap.js');
15
+ require('../../utils/react.js');
9
16
  var Modal_tokens = require('./Modal.tokens.js');
17
+ var useModal = require('./hooks/useModal.js');
10
18
  var base = require('./variations/_view/base.js');
11
19
  var ModalContext = require('./ModalContext.js');
12
- var useFocusTrap = require('../../hooks/useFocusTrap.js');
13
- var PopupContext = require('../Popup/PopupContext.js');
14
- var useModal = require('./hooks/useModal.js');
15
- var common = require('../../engines/common.js');
16
- var Popup$1 = require('../Popup/Popup.js');
17
- var Overlay = require('../Overlay/Overlay.js');
18
20
 
19
21
  var _excluded = ["id", "withAnimation", "onClose", "onOverlayClick", "onEscKeyDown", "closeOnEsc", "closeOnOverlayClick", "withBlur", "initialFocusRef", "focusAfterRef", "zIndex", "popupInfo", "children", "view", "opened", "isOpen"];
20
22
 
@@ -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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"}
@@ -6,6 +6,10 @@ var _rollupPluginBabelHelpers = require('../../../_virtual/_rollupPluginBabelHel
6
6
  var React = require('react');
7
7
  var ModalContext = require('../ModalContext.js');
8
8
  var PopupContext = require('../../Popup/PopupContext.js');
9
+ require('@salutejs/plasma-core');
10
+ require('../../../utils/react.js');
11
+ require('react-dom');
12
+ require('@linaria/react');
9
13
 
10
14
  var ESCAPE_KEYCODE = 27;
11
15
  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,4BAAe,EAAE,CAAA;;AAEzC;AACA,EAAA,IAAMC,SAAS,GAAGC,iBAAW,CACzB,UAACC,KAAoB,EAAK;IACtB,IAAI,CAACL,UAAU,EAAE;AACb,MAAA,OAAA;AACJ,KAAA;AACA,IAAA,IAAIK,KAAK,CAACC,OAAO,KAAKd,cAAc,IAAIe,2BAAc,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,eAAS,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,uCAAA,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,4BAAe,EAAE,CAAA;;AAEzC;AACA,EAAA,IAAMC,SAAS,GAAGC,iBAAW,CACzB,UAACC,KAAoB,EAAK;IACtB,IAAI,CAACL,UAAU,EAAE;AACb,MAAA,OAAA;AACJ,KAAA;AACA,IAAA,IAAIK,KAAK,CAACC,OAAO,KAAKd,cAAc,IAAIe,2BAAc,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,eAAS,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,uCAAA,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;;;;"}
@@ -4,10 +4,11 @@ import './Notification.styles_7h8hp0.css';
4
4
  Object.defineProperty(exports, '__esModule', { value: true });
5
5
 
6
6
  var react = require('@linaria/react');
7
+ var Button$1 = require('../Button/Button.js');
8
+ require('@linaria/core');
9
+ var common = require('../../engines/common.js');
7
10
  var Notification_tokens = require('./Notification.tokens.js');
8
11
  var Notification_types = require('./Notification.types.js');
9
- var common = require('../../engines/common.js');
10
- var Button$1 = require('../Button/Button.js');
11
12
 
12
13
  var StyledNotification = "sb12p";
13
14
  var mergedButtonConfig = /*#__PURE__*/common.mergeConfig(Button$1.buttonConfig);