@salutejs/plasma-new-hope 0.77.0-canary.1185.8720575745.0 → 0.77.0-canary.1195.8808345201.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (612) hide show
  1. package/cjs/_virtual/_rollupPluginBabelHelpers.js +1 -1
  2. package/cjs/components/Avatar/Avatar.js +28 -3
  3. package/cjs/components/Avatar/Avatar.js.map +1 -1
  4. package/cjs/components/Calendar/CalendarBase/CalendarBase.js +1 -1
  5. package/cjs/components/Calendar/CalendarBase/CalendarBase.js.map +1 -1
  6. package/cjs/components/Calendar/CalendarDouble/CalendarDouble.js +1 -1
  7. package/cjs/components/Calendar/CalendarDouble/CalendarDouble.js.map +1 -1
  8. package/cjs/components/Calendar/hoc/withRange.js +1 -1
  9. package/cjs/components/Calendar/hoc/withRange.js.map +1 -1
  10. package/cjs/components/Calendar/hooks/useKeyNavigation.js +19 -19
  11. package/cjs/components/Calendar/hooks/useKeyNavigation.js.map +1 -1
  12. package/cjs/components/Calendar/ui/CalendarDays/CalendarDays.js +3 -3
  13. package/cjs/components/Calendar/ui/CalendarDays/CalendarDays.js.map +1 -1
  14. package/cjs/components/Calendar/ui/CalendarHeader/CalendarHeader.js +2 -2
  15. package/cjs/components/Calendar/ui/CalendarHeader/CalendarHeader.js.map +1 -1
  16. package/cjs/components/Calendar/ui/CalendarMonths/CalendarMonths.js +1 -1
  17. package/cjs/components/Calendar/ui/CalendarMonths/CalendarMonths.js.map +1 -1
  18. package/cjs/components/Calendar/ui/CalendarYears/CalendarYears.js +1 -1
  19. package/cjs/components/Calendar/ui/CalendarYears/CalendarYears.js.map +1 -1
  20. package/cjs/components/Chip/Chip.js +2 -2
  21. package/cjs/components/Chip/Chip.js.map +1 -1
  22. package/cjs/components/Combobox/Combobox.css +2 -2
  23. package/cjs/components/Combobox/Combobox.js +5 -5
  24. package/cjs/components/Combobox/Combobox.js.map +1 -1
  25. package/cjs/components/Combobox/hooks/useFocusController.js +9 -9
  26. package/cjs/components/Combobox/hooks/useFocusController.js.map +1 -1
  27. package/cjs/components/Combobox/ui/ComboboxChip/ComboboxChip.js +1 -1
  28. package/cjs/components/Combobox/ui/ComboboxChip/ComboboxChip.js.map +1 -1
  29. package/cjs/components/Combobox/ui/ComboboxDivider/ComboboxDivider.css +2 -2
  30. package/cjs/components/Combobox/ui/ComboboxDivider/ComboboxDivider.js +1 -1
  31. package/cjs/components/Combobox/ui/ComboboxFooter/ComboboxFooter.css +2 -2
  32. package/cjs/components/Combobox/ui/ComboboxFooter/ComboboxFooter.js +1 -1
  33. package/cjs/components/Combobox/ui/ComboboxGroup/ComboboxGroup.css +2 -2
  34. package/cjs/components/Combobox/ui/ComboboxGroup/ComboboxGroup.js +1 -1
  35. package/cjs/components/Combobox/ui/ComboboxHeader/ComboboxHeader.css +2 -2
  36. package/cjs/components/Combobox/ui/ComboboxHeader/ComboboxHeader.js +1 -1
  37. package/cjs/components/Combobox/ui/ComboboxItem/ComboboxItem.css +2 -2
  38. package/cjs/components/Combobox/ui/ComboboxItem/ComboboxItem.js +1 -1
  39. package/cjs/components/Combobox/ui/ComboboxItem/ComboboxItem.styles.js +1 -1
  40. package/cjs/components/Combobox/ui/ComboboxTarget/ComboboxTarget.js +6 -6
  41. package/cjs/components/Combobox/ui/ComboboxTarget/ComboboxTarget.js.map +1 -1
  42. package/cjs/components/Drawer/DrawerContext.js +1 -1
  43. package/cjs/components/Drawer/DrawerContext.js.map +1 -1
  44. package/cjs/components/Dropdown/Dropdown.css +2 -2
  45. package/cjs/components/Dropdown/Dropdown.js +4 -27
  46. package/cjs/components/Dropdown/Dropdown.js.map +1 -1
  47. package/cjs/components/Dropdown/Dropdown.styles.js +1 -1
  48. package/cjs/components/Dropdown/Dropdown.styles.js.map +1 -1
  49. package/cjs/components/Dropdown/{Dropdown.styles_13400l5.css → Dropdown.styles_1daxhqh.css} +1 -1
  50. package/cjs/components/Dropdown/Dropdown.tokens.js +0 -1
  51. package/cjs/components/Dropdown/Dropdown.tokens.js.map +1 -1
  52. package/cjs/components/Dropdown/ui/DropdownItem/DropdownItem.js +5 -7
  53. package/cjs/components/Dropdown/ui/DropdownItem/DropdownItem.js.map +1 -1
  54. package/cjs/components/Dropdown/utils/index.js +0 -43
  55. package/cjs/components/Dropdown/utils/index.js.map +1 -1
  56. package/cjs/components/IconButton/IconButton.css +27 -0
  57. package/cjs/components/IconButton/IconButton.js +84 -0
  58. package/cjs/components/IconButton/IconButton.js.map +1 -0
  59. package/cjs/components/IconButton/IconButton.styles.js +27 -0
  60. package/cjs/components/IconButton/IconButton.styles.js.map +1 -0
  61. package/cjs/components/IconButton/IconButton.styles_gh8fim.css +4 -0
  62. package/cjs/components/IconButton/IconButton.tokens.js +36 -0
  63. package/cjs/components/IconButton/IconButton.tokens.js.map +1 -0
  64. package/cjs/components/IconButton/variations/_disabled/base.js +9 -0
  65. package/cjs/components/IconButton/variations/_disabled/base.js.map +1 -0
  66. package/cjs/components/IconButton/variations/_disabled/base_x642ct.css +1 -0
  67. package/cjs/components/IconButton/variations/_focused/base.js +9 -0
  68. package/cjs/components/IconButton/variations/_focused/base.js.map +1 -0
  69. package/cjs/components/IconButton/variations/_focused/base_x642ct.css +1 -0
  70. package/cjs/components/IconButton/variations/_size/base.js +9 -0
  71. package/cjs/components/IconButton/variations/_size/base.js.map +1 -0
  72. package/cjs/components/IconButton/variations/_size/base_x642ct.css +1 -0
  73. package/cjs/components/IconButton/variations/_view/base.js +9 -0
  74. package/cjs/components/IconButton/variations/_view/base.js.map +1 -0
  75. package/cjs/components/IconButton/variations/_view/base_x642ct.css +1 -0
  76. package/cjs/components/Modal/ModalContext.js +1 -1
  77. package/cjs/components/Modal/ModalContext.js.map +1 -1
  78. package/cjs/components/Overlay/Overlay.js +1 -1
  79. package/cjs/components/Overlay/Overlay.js.map +1 -1
  80. package/cjs/components/Pagination/Pagination.css +2 -2
  81. package/cjs/components/Pagination/Pagination.js +2 -2
  82. package/cjs/components/Pagination/Pagination.js.map +1 -1
  83. package/cjs/components/Pagination/ui/PaginationQuickJumpToPage/PaginationQuickJumpToPage.js +1 -1
  84. package/cjs/components/Pagination/ui/PaginationQuickJumpToPage/PaginationQuickJumpToPage.js.map +1 -1
  85. package/cjs/components/Pagination/ui/PaginationSelectPerPage/PaginationSelectPerPage.css +2 -2
  86. package/cjs/components/Pagination/ui/PaginationSelectPerPage/PaginationSelectPerPage.js +1 -1
  87. package/cjs/components/Pagination/ui/PaginationSelectPerPage/PaginationSelectPerPage.js.map +1 -1
  88. package/cjs/components/Pagination/ui/PaginationSelectPerPage/PaginationSelectPerPage.styles.js +1 -1
  89. package/cjs/components/Popover/Popover.js +7 -7
  90. package/cjs/components/Popover/Popover.js.map +1 -1
  91. package/cjs/components/Popup/Popup.js +1 -1
  92. package/cjs/components/Popup/Popup.js.map +1 -1
  93. package/cjs/components/Segment/ui/SegmentItem/SegmentItem.js +2 -2
  94. package/cjs/components/Segment/ui/SegmentItem/SegmentItem.js.map +1 -1
  95. package/cjs/components/Select/Select.css +2 -2
  96. package/cjs/components/Select/Select.js +5 -5
  97. package/cjs/components/Select/Select.js.map +1 -1
  98. package/cjs/components/Select/hooks/useKeyNavigation.js +12 -12
  99. package/cjs/components/Select/hooks/useKeyNavigation.js.map +1 -1
  100. package/cjs/components/Select/ui/SelectChip/SelectChip.js +1 -1
  101. package/cjs/components/Select/ui/SelectChip/SelectChip.js.map +1 -1
  102. package/cjs/components/Select/ui/SelectDivider/SelectDivider.css +2 -2
  103. package/cjs/components/Select/ui/SelectDivider/SelectDivider.js +1 -1
  104. package/cjs/components/Select/ui/SelectFooter/SelectFooter.css +2 -2
  105. package/cjs/components/Select/ui/SelectFooter/SelectFooter.js +1 -1
  106. package/cjs/components/Select/ui/SelectGroup/SelectGroup.css +2 -2
  107. package/cjs/components/Select/ui/SelectGroup/SelectGroup.js +1 -1
  108. package/cjs/components/Select/ui/SelectHeader/SelectHeader.css +2 -2
  109. package/cjs/components/Select/ui/SelectHeader/SelectHeader.js +1 -1
  110. package/cjs/components/Select/ui/SelectItem/SelectItem.css +2 -2
  111. package/cjs/components/Select/ui/SelectItem/SelectItem.js +1 -1
  112. package/cjs/components/Select/ui/SelectItem/SelectItem.styles.js +1 -1
  113. package/cjs/components/Select/ui/SelectTarget/SelectTarget.js +2 -2
  114. package/cjs/components/Select/ui/SelectTarget/SelectTarget.js.map +1 -1
  115. package/cjs/components/Select/utils/index.js +2 -2
  116. package/cjs/components/Select/utils/index.js.map +1 -1
  117. package/cjs/components/Tabs/TabsContext.js +1 -2
  118. package/cjs/components/Tabs/TabsContext.js.map +1 -1
  119. package/cjs/components/Tabs/ui/TabItem/TabItem.js +1 -1
  120. package/cjs/components/Tabs/ui/TabItem/TabItem.js.map +1 -1
  121. package/cjs/components/Tabs/ui/Tabs/Tabs.js +2 -2
  122. package/cjs/components/Tabs/ui/Tabs/Tabs.js.map +1 -1
  123. package/cjs/components/TextArea/TextArea.js +1 -1
  124. package/cjs/components/TextArea/TextArea.js.map +1 -1
  125. package/cjs/components/TextField/TextField.js +2 -2
  126. package/cjs/components/TextField/TextField.js.map +1 -1
  127. package/cjs/components/TextField/hooks/useKeyNavigation.js +9 -9
  128. package/cjs/components/TextField/hooks/useKeyNavigation.js.map +1 -1
  129. package/cjs/components/TextField/ui/TextFieldChip/TextFieldChip.js +1 -1
  130. package/cjs/components/TextField/ui/TextFieldChip/TextFieldChip.js.map +1 -1
  131. package/cjs/components/Toast/ToastProvider/ToastProvider.js +2 -2
  132. package/cjs/components/Toast/ToastProvider/ToastProvider.js.map +1 -1
  133. package/cjs/components/Tooltip/Tooltip.js +1 -1
  134. package/cjs/components/Tooltip/Tooltip.js.map +1 -1
  135. package/cjs/index.css +7 -2
  136. package/cjs/index.js +6 -2
  137. package/cjs/index.js.map +1 -1
  138. package/es/_virtual/_rollupPluginBabelHelpers.js +1 -1
  139. package/es/components/Avatar/Avatar.js +29 -4
  140. package/es/components/Avatar/Avatar.js.map +1 -1
  141. package/es/components/Calendar/CalendarBase/CalendarBase.js +1 -1
  142. package/es/components/Calendar/CalendarBase/CalendarBase.js.map +1 -1
  143. package/es/components/Calendar/CalendarDouble/CalendarDouble.js +1 -1
  144. package/es/components/Calendar/CalendarDouble/CalendarDouble.js.map +1 -1
  145. package/es/components/Calendar/hoc/withRange.js +1 -1
  146. package/es/components/Calendar/hoc/withRange.js.map +1 -1
  147. package/es/components/Calendar/hooks/useKeyNavigation.js +19 -19
  148. package/es/components/Calendar/hooks/useKeyNavigation.js.map +1 -1
  149. package/es/components/Calendar/ui/CalendarDays/CalendarDays.js +3 -3
  150. package/es/components/Calendar/ui/CalendarDays/CalendarDays.js.map +1 -1
  151. package/es/components/Calendar/ui/CalendarHeader/CalendarHeader.js +2 -2
  152. package/es/components/Calendar/ui/CalendarHeader/CalendarHeader.js.map +1 -1
  153. package/es/components/Calendar/ui/CalendarMonths/CalendarMonths.js +1 -1
  154. package/es/components/Calendar/ui/CalendarMonths/CalendarMonths.js.map +1 -1
  155. package/es/components/Calendar/ui/CalendarYears/CalendarYears.js +1 -1
  156. package/es/components/Calendar/ui/CalendarYears/CalendarYears.js.map +1 -1
  157. package/es/components/Chip/Chip.js +2 -2
  158. package/es/components/Chip/Chip.js.map +1 -1
  159. package/es/components/Combobox/Combobox.css +2 -2
  160. package/es/components/Combobox/Combobox.js +5 -5
  161. package/es/components/Combobox/Combobox.js.map +1 -1
  162. package/es/components/Combobox/hooks/useFocusController.js +9 -9
  163. package/es/components/Combobox/hooks/useFocusController.js.map +1 -1
  164. package/es/components/Combobox/ui/ComboboxChip/ComboboxChip.js +1 -1
  165. package/es/components/Combobox/ui/ComboboxChip/ComboboxChip.js.map +1 -1
  166. package/es/components/Combobox/ui/ComboboxDivider/ComboboxDivider.css +2 -2
  167. package/es/components/Combobox/ui/ComboboxDivider/ComboboxDivider.js +1 -1
  168. package/es/components/Combobox/ui/ComboboxFooter/ComboboxFooter.css +2 -2
  169. package/es/components/Combobox/ui/ComboboxFooter/ComboboxFooter.js +1 -1
  170. package/es/components/Combobox/ui/ComboboxGroup/ComboboxGroup.css +2 -2
  171. package/es/components/Combobox/ui/ComboboxGroup/ComboboxGroup.js +1 -1
  172. package/es/components/Combobox/ui/ComboboxHeader/ComboboxHeader.css +2 -2
  173. package/es/components/Combobox/ui/ComboboxHeader/ComboboxHeader.js +1 -1
  174. package/es/components/Combobox/ui/ComboboxItem/ComboboxItem.css +2 -2
  175. package/es/components/Combobox/ui/ComboboxItem/ComboboxItem.js +1 -1
  176. package/es/components/Combobox/ui/ComboboxItem/ComboboxItem.styles.js +1 -1
  177. package/es/components/Combobox/ui/ComboboxTarget/ComboboxTarget.js +6 -6
  178. package/es/components/Combobox/ui/ComboboxTarget/ComboboxTarget.js.map +1 -1
  179. package/es/components/Drawer/DrawerContext.js +1 -1
  180. package/es/components/Drawer/DrawerContext.js.map +1 -1
  181. package/es/components/Dropdown/Dropdown.css +2 -2
  182. package/es/components/Dropdown/Dropdown.js +6 -29
  183. package/es/components/Dropdown/Dropdown.js.map +1 -1
  184. package/es/components/Dropdown/Dropdown.styles.js +1 -1
  185. package/es/components/Dropdown/Dropdown.styles.js.map +1 -1
  186. package/es/components/Dropdown/{Dropdown.styles_13400l5.css → Dropdown.styles_1daxhqh.css} +1 -1
  187. package/es/components/Dropdown/Dropdown.tokens.js +0 -1
  188. package/es/components/Dropdown/Dropdown.tokens.js.map +1 -1
  189. package/es/components/Dropdown/ui/DropdownItem/DropdownItem.js +5 -7
  190. package/es/components/Dropdown/ui/DropdownItem/DropdownItem.js.map +1 -1
  191. package/es/components/Dropdown/utils/index.js +3 -45
  192. package/es/components/Dropdown/utils/index.js.map +1 -1
  193. package/es/components/IconButton/IconButton.css +27 -0
  194. package/es/components/IconButton/IconButton.js +79 -0
  195. package/es/components/IconButton/IconButton.js.map +1 -0
  196. package/es/components/IconButton/IconButton.styles.js +22 -0
  197. package/es/components/IconButton/IconButton.styles.js.map +1 -0
  198. package/es/components/IconButton/IconButton.styles_gh8fim.css +4 -0
  199. package/es/components/IconButton/IconButton.tokens.js +31 -0
  200. package/es/components/IconButton/IconButton.tokens.js.map +1 -0
  201. package/es/components/IconButton/variations/_disabled/base.js +5 -0
  202. package/es/components/IconButton/variations/_disabled/base.js.map +1 -0
  203. package/es/components/IconButton/variations/_disabled/base_x642ct.css +1 -0
  204. package/es/components/IconButton/variations/_focused/base.js +5 -0
  205. package/es/components/IconButton/variations/_focused/base.js.map +1 -0
  206. package/es/components/IconButton/variations/_focused/base_x642ct.css +1 -0
  207. package/es/components/IconButton/variations/_size/base.js +5 -0
  208. package/es/components/IconButton/variations/_size/base.js.map +1 -0
  209. package/es/components/IconButton/variations/_size/base_x642ct.css +1 -0
  210. package/es/components/IconButton/variations/_view/base.js +5 -0
  211. package/es/components/IconButton/variations/_view/base.js.map +1 -0
  212. package/es/components/IconButton/variations/_view/base_x642ct.css +1 -0
  213. package/es/components/Modal/ModalContext.js +1 -1
  214. package/es/components/Modal/ModalContext.js.map +1 -1
  215. package/es/components/Overlay/Overlay.js +1 -1
  216. package/es/components/Overlay/Overlay.js.map +1 -1
  217. package/es/components/Pagination/Pagination.css +2 -2
  218. package/es/components/Pagination/Pagination.js +2 -2
  219. package/es/components/Pagination/Pagination.js.map +1 -1
  220. package/es/components/Pagination/ui/PaginationQuickJumpToPage/PaginationQuickJumpToPage.js +1 -1
  221. package/es/components/Pagination/ui/PaginationQuickJumpToPage/PaginationQuickJumpToPage.js.map +1 -1
  222. package/es/components/Pagination/ui/PaginationSelectPerPage/PaginationSelectPerPage.css +2 -2
  223. package/es/components/Pagination/ui/PaginationSelectPerPage/PaginationSelectPerPage.js +1 -1
  224. package/es/components/Pagination/ui/PaginationSelectPerPage/PaginationSelectPerPage.js.map +1 -1
  225. package/es/components/Pagination/ui/PaginationSelectPerPage/PaginationSelectPerPage.styles.js +1 -1
  226. package/es/components/Popover/Popover.js +7 -7
  227. package/es/components/Popover/Popover.js.map +1 -1
  228. package/es/components/Popup/Popup.js +1 -1
  229. package/es/components/Popup/Popup.js.map +1 -1
  230. package/es/components/Segment/ui/SegmentItem/SegmentItem.js +2 -2
  231. package/es/components/Segment/ui/SegmentItem/SegmentItem.js.map +1 -1
  232. package/es/components/Select/Select.css +2 -2
  233. package/es/components/Select/Select.js +5 -5
  234. package/es/components/Select/Select.js.map +1 -1
  235. package/es/components/Select/hooks/useKeyNavigation.js +12 -12
  236. package/es/components/Select/hooks/useKeyNavigation.js.map +1 -1
  237. package/es/components/Select/ui/SelectChip/SelectChip.js +1 -1
  238. package/es/components/Select/ui/SelectChip/SelectChip.js.map +1 -1
  239. package/es/components/Select/ui/SelectDivider/SelectDivider.css +2 -2
  240. package/es/components/Select/ui/SelectDivider/SelectDivider.js +1 -1
  241. package/es/components/Select/ui/SelectFooter/SelectFooter.css +2 -2
  242. package/es/components/Select/ui/SelectFooter/SelectFooter.js +1 -1
  243. package/es/components/Select/ui/SelectGroup/SelectGroup.css +2 -2
  244. package/es/components/Select/ui/SelectGroup/SelectGroup.js +1 -1
  245. package/es/components/Select/ui/SelectHeader/SelectHeader.css +2 -2
  246. package/es/components/Select/ui/SelectHeader/SelectHeader.js +1 -1
  247. package/es/components/Select/ui/SelectItem/SelectItem.css +2 -2
  248. package/es/components/Select/ui/SelectItem/SelectItem.js +1 -1
  249. package/es/components/Select/ui/SelectItem/SelectItem.styles.js +1 -1
  250. package/es/components/Select/ui/SelectTarget/SelectTarget.js +2 -2
  251. package/es/components/Select/ui/SelectTarget/SelectTarget.js.map +1 -1
  252. package/es/components/Select/utils/index.js +2 -2
  253. package/es/components/Select/utils/index.js.map +1 -1
  254. package/es/components/Tabs/TabsContext.js +1 -2
  255. package/es/components/Tabs/TabsContext.js.map +1 -1
  256. package/es/components/Tabs/ui/TabItem/TabItem.js +1 -1
  257. package/es/components/Tabs/ui/TabItem/TabItem.js.map +1 -1
  258. package/es/components/Tabs/ui/Tabs/Tabs.js +2 -2
  259. package/es/components/Tabs/ui/Tabs/Tabs.js.map +1 -1
  260. package/es/components/TextArea/TextArea.js +1 -1
  261. package/es/components/TextArea/TextArea.js.map +1 -1
  262. package/es/components/TextField/TextField.js +2 -2
  263. package/es/components/TextField/TextField.js.map +1 -1
  264. package/es/components/TextField/hooks/useKeyNavigation.js +9 -9
  265. package/es/components/TextField/hooks/useKeyNavigation.js.map +1 -1
  266. package/es/components/TextField/ui/TextFieldChip/TextFieldChip.js +1 -1
  267. package/es/components/TextField/ui/TextFieldChip/TextFieldChip.js.map +1 -1
  268. package/es/components/Toast/ToastProvider/ToastProvider.js +2 -2
  269. package/es/components/Toast/ToastProvider/ToastProvider.js.map +1 -1
  270. package/es/components/Tooltip/Tooltip.js +1 -1
  271. package/es/components/Tooltip/Tooltip.js.map +1 -1
  272. package/es/index.css +7 -2
  273. package/es/index.js +2 -1
  274. package/es/index.js.map +1 -1
  275. package/package.json +12 -12
  276. package/styled-components/cjs/components/Avatar/Avatar.js +34 -4
  277. package/styled-components/cjs/components/Avatar/Avatar.styles.js +1 -1
  278. package/styled-components/cjs/components/Avatar/Avatar.template-doc.mdx +52 -2
  279. package/styled-components/cjs/components/AvatarGroup/AvatarGroup.js +1 -1
  280. package/styled-components/cjs/components/Badge/Badge.js +1 -1
  281. package/styled-components/cjs/components/Badge/Badge.styles.js +1 -1
  282. package/styled-components/cjs/components/Button/Button.js +2 -2
  283. package/styled-components/cjs/components/Button/Button.styles.js +1 -1
  284. package/styled-components/cjs/components/ButtonGroup/ButtonGroup.js +1 -1
  285. package/styled-components/cjs/components/Calendar/CalendarBase/CalendarBase.js +2 -2
  286. package/styled-components/cjs/components/Calendar/CalendarBase/CalendarBase.styles.js +1 -1
  287. package/styled-components/cjs/components/Calendar/CalendarDouble/CalendarDouble.js +2 -2
  288. package/styled-components/cjs/components/Calendar/CalendarDouble/CalendarDouble.styles.js +1 -1
  289. package/styled-components/cjs/components/Calendar/hoc/withRange.js +2 -2
  290. package/styled-components/cjs/components/Calendar/hooks/useKeyNavigation.js +20 -20
  291. package/styled-components/cjs/components/Calendar/store/reducer.js +1 -1
  292. package/styled-components/cjs/components/Calendar/ui/CalendarDayItem/CalendarDayItem.js +1 -1
  293. package/styled-components/cjs/components/Calendar/ui/CalendarDays/CalendarDays.js +4 -4
  294. package/styled-components/cjs/components/Calendar/ui/CalendarHeader/CalendarHeader.js +3 -3
  295. package/styled-components/cjs/components/Calendar/ui/CalendarMonths/CalendarMonths.js +2 -2
  296. package/styled-components/cjs/components/Calendar/ui/CalendarYears/CalendarYears.js +2 -2
  297. package/styled-components/cjs/components/Cell/Cell.js +1 -1
  298. package/styled-components/cjs/components/Cell/Cell.styles.js +1 -1
  299. package/styled-components/cjs/components/Checkbox/Checkbox.js +1 -1
  300. package/styled-components/cjs/components/Chip/Chip.js +3 -3
  301. package/styled-components/cjs/components/Chip/Chip.styles.js +1 -1
  302. package/styled-components/cjs/components/Combobox/Combobox.js +6 -6
  303. package/styled-components/cjs/components/Combobox/hooks/useFocusController.js +9 -9
  304. package/styled-components/cjs/components/Combobox/ui/ComboboxChip/ComboboxChip.js +2 -2
  305. package/styled-components/cjs/components/Combobox/ui/ComboboxTarget/ComboboxTarget.js +7 -7
  306. package/styled-components/cjs/components/Counter/Counter.js +1 -1
  307. package/styled-components/cjs/components/Divider/Divider.js +2 -2
  308. package/styled-components/cjs/components/Drawer/Drawer.js +1 -1
  309. package/styled-components/cjs/components/Drawer/DrawerContext.js +1 -1
  310. package/styled-components/cjs/components/Drawer/hooks/useDrawer.js +1 -1
  311. package/styled-components/cjs/components/Drawer/ui/DrawerContent/DrawerContent.js +1 -1
  312. package/styled-components/cjs/components/Drawer/ui/DrawerFooter/DrawerFooter.js +1 -1
  313. package/styled-components/cjs/components/Drawer/ui/DrawerHeader/DrawerHeader.js +1 -1
  314. package/styled-components/cjs/components/Dropdown/Dropdown.js +7 -29
  315. package/styled-components/cjs/components/Dropdown/Dropdown.styles.js +1 -1
  316. package/styled-components/cjs/components/Dropdown/Dropdown.tokens.js +0 -1
  317. package/styled-components/cjs/components/Dropdown/index.js +1 -9
  318. package/styled-components/cjs/components/Dropdown/ui/DropdownDivider/DropdownDivider.js +1 -1
  319. package/styled-components/cjs/components/Dropdown/ui/DropdownFooter/DropdownFooter.js +1 -1
  320. package/styled-components/cjs/components/Dropdown/ui/DropdownGroup/DropdownGroup.js +1 -1
  321. package/styled-components/cjs/components/Dropdown/ui/DropdownHeader/DropdownHeader.js +1 -1
  322. package/styled-components/cjs/components/Dropdown/ui/DropdownItem/DropdownItem.js +7 -9
  323. package/styled-components/cjs/components/Dropdown/ui/DropdownItem/DropdownItem.styles.js +1 -1
  324. package/styled-components/cjs/components/Dropdown/utils/index.js +2 -49
  325. package/styled-components/cjs/components/Grid/Grid.js +2 -2
  326. package/styled-components/cjs/components/Grid/ui/Col/Col.js +2 -2
  327. package/styled-components/cjs/components/Grid/ui/Row/Row.js +1 -1
  328. package/styled-components/cjs/components/Grid/utils/index.js +1 -1
  329. package/styled-components/cjs/components/Header/HeaderRoot/HeaderRoot.js +1 -1
  330. package/styled-components/cjs/components/Header/ui/HeaderArrow/HeaderArrow.js +1 -1
  331. package/styled-components/cjs/components/Header/ui/HeaderLogo/HeaderLogo.js +1 -1
  332. package/styled-components/cjs/components/Header/ui/HeaderTitleWrapper/HeaderTitleWrapper.js +1 -1
  333. package/styled-components/cjs/components/IconButton/IconButton.js +86 -0
  334. package/styled-components/cjs/components/IconButton/IconButton.styles.js +29 -0
  335. package/styled-components/cjs/components/IconButton/IconButton.tokens.js +34 -0
  336. package/styled-components/cjs/components/IconButton/IconButton.types.js +5 -0
  337. package/styled-components/cjs/components/IconButton/index.js +31 -0
  338. package/styled-components/cjs/components/IconButton/variations/_disabled/base.js +8 -0
  339. package/styled-components/cjs/components/IconButton/variations/_disabled/tokens.json +1 -0
  340. package/styled-components/cjs/components/IconButton/variations/_focused/base.js +8 -0
  341. package/styled-components/cjs/components/IconButton/variations/_focused/tokens.json +1 -0
  342. package/styled-components/cjs/components/IconButton/variations/_size/base.js +8 -0
  343. package/styled-components/cjs/components/IconButton/variations/_size/tokens.json +1 -0
  344. package/styled-components/cjs/components/IconButton/variations/_view/base.js +8 -0
  345. package/styled-components/cjs/components/IconButton/variations/_view/tokens.json +1 -0
  346. package/styled-components/cjs/components/Image/Image.js +2 -2
  347. package/styled-components/cjs/components/Image/Image.styles.js +1 -1
  348. package/styled-components/cjs/components/Indicator/Indicator.js +1 -1
  349. package/styled-components/cjs/components/Link/Link.js +1 -1
  350. package/styled-components/cjs/components/Modal/Modal.js +1 -1
  351. package/styled-components/cjs/components/Modal/ModalContext.js +1 -1
  352. package/styled-components/cjs/components/Modal/hooks/useModal.js +1 -1
  353. package/styled-components/cjs/components/Notification/Notification.js +1 -1
  354. package/styled-components/cjs/components/Notification/Notification.styles.js +1 -1
  355. package/styled-components/cjs/components/Notification/NotificationsPortal.js +1 -1
  356. package/styled-components/cjs/components/Notification/NotificationsStore.js +1 -1
  357. package/styled-components/cjs/components/Overlay/Overlay.js +2 -2
  358. package/styled-components/cjs/components/Pagination/Pagination.js +3 -3
  359. package/styled-components/cjs/components/Pagination/ui/PaginationQuickJumpToPage/PaginationQuickJumpToPage.js +2 -2
  360. package/styled-components/cjs/components/Pagination/ui/PaginationSelectPerPage/PaginationSelectPerPage.js +2 -2
  361. package/styled-components/cjs/components/Panel/Panel.js +2 -2
  362. package/styled-components/cjs/components/Panel/ui/PanelContent/PanelContent.js +1 -1
  363. package/styled-components/cjs/components/Panel/ui/PanelFooter/PanelFooter.js +1 -1
  364. package/styled-components/cjs/components/Panel/ui/PanelHeader/PanelHeader.js +1 -1
  365. package/styled-components/cjs/components/Popover/Popover.js +9 -9
  366. package/styled-components/cjs/components/Popup/Popup.js +2 -2
  367. package/styled-components/cjs/components/Popup/PopupContext.js +1 -1
  368. package/styled-components/cjs/components/Popup/PopupRoot.js +1 -1
  369. package/styled-components/cjs/components/Popup/hooks/usePopup.js +1 -1
  370. package/styled-components/cjs/components/Progress/Progress.js +1 -1
  371. package/styled-components/cjs/components/Progress/Progress.styles.js +1 -1
  372. package/styled-components/cjs/components/Radiobox/Radiobox.js +1 -1
  373. package/styled-components/cjs/components/SSRProvider/SSRProvider.js +1 -1
  374. package/styled-components/cjs/components/Segment/SegmentProvider/SegmentProvider.js +1 -1
  375. package/styled-components/cjs/components/Segment/ui/SegmentGroup/SegmentGroup.js +1 -1
  376. package/styled-components/cjs/components/Segment/ui/SegmentGroup/SegmentGroup.styles.js +1 -1
  377. package/styled-components/cjs/components/Segment/ui/SegmentItem/SegmentItem.js +3 -3
  378. package/styled-components/cjs/components/Segment/ui/SegmentItem/SegmentItem.styles.js +1 -1
  379. package/styled-components/cjs/components/Select/Select.js +6 -6
  380. package/styled-components/cjs/components/Select/hooks/useKeyNavigation.js +12 -12
  381. package/styled-components/cjs/components/Select/ui/SelectChip/SelectChip.js +2 -2
  382. package/styled-components/cjs/components/Select/ui/SelectTarget/SelectTarget.js +3 -3
  383. package/styled-components/cjs/components/Select/utils/index.js +3 -3
  384. package/styled-components/cjs/components/Skeleton/LineSkeleton/LineSkeleton.js +1 -1
  385. package/styled-components/cjs/components/Skeleton/LineSkeleton/LineSkeleton.styles.js +1 -1
  386. package/styled-components/cjs/components/Skeleton/RectSkeleton/RectSkeleton.js +1 -1
  387. package/styled-components/cjs/components/Skeleton/TextSkeleton/TextSkeleton.js +2 -2
  388. package/styled-components/cjs/components/Skeleton/hoc/withSkeleton.js +1 -1
  389. package/styled-components/cjs/components/Spinner/Spinner.js +1 -1
  390. package/styled-components/cjs/components/Spinner/Spinner.styles.js +1 -1
  391. package/styled-components/cjs/components/Spinner/utils/index.js +1 -1
  392. package/styled-components/cjs/components/Switch/Switch.js +1 -1
  393. package/styled-components/cjs/components/Tabs/TabsContext.js +2 -3
  394. package/styled-components/cjs/components/Tabs/createTabsController.js +1 -1
  395. package/styled-components/cjs/components/Tabs/ui/TabItem/TabItem.js +2 -2
  396. package/styled-components/cjs/components/Tabs/ui/TabItem/TabItem.styles.js +1 -1
  397. package/styled-components/cjs/components/Tabs/ui/Tabs/Tabs.js +3 -3
  398. package/styled-components/cjs/components/Tabs/ui/Tabs/Tabs.styles.js +1 -1
  399. package/styled-components/cjs/components/TextArea/TextArea.js +2 -2
  400. package/styled-components/cjs/components/TextField/TextField.js +3 -3
  401. package/styled-components/cjs/components/TextField/hooks/useKeyNavigation.js +9 -9
  402. package/styled-components/cjs/components/TextField/ui/TextFieldChip/TextFieldChip.js +2 -2
  403. package/styled-components/cjs/components/Toast/Toast.js +2 -2
  404. package/styled-components/cjs/components/Toast/Toast.styles.js +1 -1
  405. package/styled-components/cjs/components/Toast/ToastController.js +2 -2
  406. package/styled-components/cjs/components/Toast/ToastProvider/ToastProvider.js +3 -3
  407. package/styled-components/cjs/components/Toolbar/Toolbar.js +1 -1
  408. package/styled-components/cjs/components/Toolbar/ui/ToolbarDivider/ToolbarDivider.js +1 -1
  409. package/styled-components/cjs/components/Tooltip/Tooltip.js +2 -2
  410. package/styled-components/cjs/components/Typography/Old/Subtitle/Subtitle.js +2 -2
  411. package/styled-components/cjs/components/Typography/Old/TypographyOld.js +2 -2
  412. package/styled-components/cjs/components/Typography/Typography.js +2 -2
  413. package/styled-components/cjs/engines/common.js +1 -1
  414. package/styled-components/cjs/engines/styled-components.js +1 -1
  415. package/styled-components/cjs/examples/_helpers.js +1 -1
  416. package/styled-components/cjs/examples/plasma_b2c/components/Avatar/Avatar.stories.tsx +26 -1
  417. package/styled-components/cjs/examples/plasma_b2c/components/AvatarGroup/AvatarGroup.stories.tsx +36 -18
  418. package/styled-components/cjs/examples/plasma_b2c/components/Button/Button.stories.tsx +27 -11
  419. package/styled-components/cjs/examples/plasma_b2c/components/Dropdown/Normal/Dropdown.config.js +1 -1
  420. package/styled-components/cjs/examples/plasma_b2c/components/Dropdown/Normal/Dropdown.stories.tsx +7 -27
  421. package/styled-components/cjs/examples/plasma_b2c/components/Dropdown/Tight/Dropdown.config.js +1 -1
  422. package/styled-components/cjs/examples/plasma_b2c/components/Dropdown/Tight/Dropdown.stories.tsx +8 -27
  423. package/styled-components/cjs/examples/plasma_b2c/components/Grid/Grid.config.js +1 -1
  424. package/styled-components/cjs/examples/plasma_b2c/components/IconButton/IconButton.config.js +45 -0
  425. package/styled-components/cjs/examples/plasma_b2c/components/IconButton/IconButton.js +11 -0
  426. package/styled-components/cjs/examples/plasma_b2c/components/IconButton/IconButton.stories.tsx +65 -0
  427. package/styled-components/cjs/examples/plasma_b2c/components/Radiobox/Radiobox.stories.tsx +37 -43
  428. package/styled-components/cjs/examples/plasma_web/components/Avatar/Avatar.stories.tsx +26 -1
  429. package/styled-components/cjs/examples/plasma_web/components/Dropdown/Normal/Dropdown.config.js +1 -1
  430. package/styled-components/cjs/examples/plasma_web/components/Dropdown/Normal/Dropdown.stories.tsx +8 -27
  431. package/styled-components/cjs/examples/plasma_web/components/Dropdown/Tight/Dropdown.config.js +1 -1
  432. package/styled-components/cjs/examples/plasma_web/components/Dropdown/Tight/Dropdown.stories.tsx +8 -27
  433. package/styled-components/cjs/examples/plasma_web/components/Grid/Grid.config.js +1 -1
  434. package/styled-components/cjs/examples/plasma_web/components/IconButton/IconButton.config.js +45 -0
  435. package/styled-components/cjs/examples/plasma_web/components/IconButton/IconButton.js +11 -0
  436. package/styled-components/cjs/examples/plasma_web/components/IconButton/IconButton.stories.tsx +65 -0
  437. package/styled-components/cjs/examples/plasma_web/components/Radiobox/Radiobox.stories.tsx +37 -43
  438. package/styled-components/cjs/examples/sds_engineer/components/Avatar/Avatar.stories.tsx +27 -1
  439. package/styled-components/cjs/examples/sds_engineer/components/Grid/Grid.config.js +1 -1
  440. package/styled-components/cjs/index.js +11 -0
  441. package/styled-components/cjs/mixins/applySpacing.js +1 -1
  442. package/styled-components/cjs/mixins/typography.js +1 -1
  443. package/styled-components/es/components/Avatar/Avatar.js +34 -3
  444. package/styled-components/es/components/Avatar/Avatar.template-doc.mdx +52 -2
  445. package/styled-components/es/components/Button/Button.js +1 -1
  446. package/styled-components/es/components/Calendar/CalendarBase/CalendarBase.js +1 -1
  447. package/styled-components/es/components/Calendar/CalendarDouble/CalendarDouble.js +1 -1
  448. package/styled-components/es/components/Calendar/hoc/withRange.js +1 -1
  449. package/styled-components/es/components/Calendar/hooks/useKeyNavigation.js +20 -20
  450. package/styled-components/es/components/Calendar/store/reducer.js +1 -1
  451. package/styled-components/es/components/Calendar/ui/CalendarDays/CalendarDays.js +3 -3
  452. package/styled-components/es/components/Calendar/ui/CalendarHeader/CalendarHeader.js +2 -2
  453. package/styled-components/es/components/Calendar/ui/CalendarMonths/CalendarMonths.js +1 -1
  454. package/styled-components/es/components/Calendar/ui/CalendarYears/CalendarYears.js +1 -1
  455. package/styled-components/es/components/Chip/Chip.js +2 -2
  456. package/styled-components/es/components/Combobox/Combobox.js +5 -5
  457. package/styled-components/es/components/Combobox/hooks/useFocusController.js +9 -9
  458. package/styled-components/es/components/Combobox/ui/ComboboxChip/ComboboxChip.js +1 -1
  459. package/styled-components/es/components/Combobox/ui/ComboboxTarget/ComboboxTarget.js +6 -6
  460. package/styled-components/es/components/Divider/Divider.js +1 -1
  461. package/styled-components/es/components/Drawer/DrawerContext.js +1 -1
  462. package/styled-components/es/components/Drawer/hooks/useDrawer.js +1 -1
  463. package/styled-components/es/components/Drawer/ui/DrawerContent/DrawerContent.js +1 -1
  464. package/styled-components/es/components/Drawer/ui/DrawerFooter/DrawerFooter.js +1 -1
  465. package/styled-components/es/components/Drawer/ui/DrawerHeader/DrawerHeader.js +1 -1
  466. package/styled-components/es/components/Dropdown/Dropdown.js +6 -29
  467. package/styled-components/es/components/Dropdown/Dropdown.styles.js +1 -1
  468. package/styled-components/es/components/Dropdown/Dropdown.tokens.js +0 -1
  469. package/styled-components/es/components/Dropdown/index.js +0 -1
  470. package/styled-components/es/components/Dropdown/ui/DropdownItem/DropdownItem.js +6 -8
  471. package/styled-components/es/components/Dropdown/utils/index.js +1 -48
  472. package/styled-components/es/components/Grid/Grid.js +1 -1
  473. package/styled-components/es/components/Grid/ui/Col/Col.js +1 -1
  474. package/styled-components/es/components/Grid/utils/index.js +1 -1
  475. package/styled-components/es/components/IconButton/IconButton.js +77 -0
  476. package/styled-components/es/components/IconButton/IconButton.styles.js +22 -0
  477. package/styled-components/es/components/IconButton/IconButton.tokens.js +28 -0
  478. package/styled-components/es/components/IconButton/IconButton.types.js +1 -0
  479. package/styled-components/es/components/IconButton/index.js +2 -0
  480. package/styled-components/es/components/IconButton/variations/_disabled/base.js +2 -0
  481. package/styled-components/es/components/IconButton/variations/_disabled/tokens.json +1 -0
  482. package/styled-components/es/components/IconButton/variations/_focused/base.js +2 -0
  483. package/styled-components/es/components/IconButton/variations/_focused/tokens.json +1 -0
  484. package/styled-components/es/components/IconButton/variations/_size/base.js +2 -0
  485. package/styled-components/es/components/IconButton/variations/_size/tokens.json +1 -0
  486. package/styled-components/es/components/IconButton/variations/_view/base.js +2 -0
  487. package/styled-components/es/components/IconButton/variations/_view/tokens.json +1 -0
  488. package/styled-components/es/components/Image/Image.js +1 -1
  489. package/styled-components/es/components/Modal/ModalContext.js +1 -1
  490. package/styled-components/es/components/Modal/hooks/useModal.js +1 -1
  491. package/styled-components/es/components/Notification/NotificationsStore.js +1 -1
  492. package/styled-components/es/components/Overlay/Overlay.js +1 -1
  493. package/styled-components/es/components/Pagination/Pagination.js +2 -2
  494. package/styled-components/es/components/Pagination/ui/PaginationQuickJumpToPage/PaginationQuickJumpToPage.js +1 -1
  495. package/styled-components/es/components/Pagination/ui/PaginationSelectPerPage/PaginationSelectPerPage.js +1 -1
  496. package/styled-components/es/components/Panel/Panel.js +1 -1
  497. package/styled-components/es/components/Popover/Popover.js +8 -8
  498. package/styled-components/es/components/Popup/Popup.js +1 -1
  499. package/styled-components/es/components/Popup/hooks/usePopup.js +1 -1
  500. package/styled-components/es/components/Segment/ui/SegmentItem/SegmentItem.js +2 -2
  501. package/styled-components/es/components/Select/Select.js +5 -5
  502. package/styled-components/es/components/Select/hooks/useKeyNavigation.js +12 -12
  503. package/styled-components/es/components/Select/ui/SelectChip/SelectChip.js +1 -1
  504. package/styled-components/es/components/Select/ui/SelectTarget/SelectTarget.js +2 -2
  505. package/styled-components/es/components/Select/utils/index.js +3 -3
  506. package/styled-components/es/components/Skeleton/TextSkeleton/TextSkeleton.js +1 -1
  507. package/styled-components/es/components/Skeleton/hoc/withSkeleton.js +1 -1
  508. package/styled-components/es/components/Spinner/utils/index.js +1 -1
  509. package/styled-components/es/components/Tabs/TabsContext.js +2 -3
  510. package/styled-components/es/components/Tabs/ui/TabItem/TabItem.js +1 -1
  511. package/styled-components/es/components/Tabs/ui/Tabs/Tabs.js +2 -2
  512. package/styled-components/es/components/TextArea/TextArea.js +1 -1
  513. package/styled-components/es/components/TextField/TextField.js +2 -2
  514. package/styled-components/es/components/TextField/hooks/useKeyNavigation.js +9 -9
  515. package/styled-components/es/components/TextField/ui/TextFieldChip/TextFieldChip.js +1 -1
  516. package/styled-components/es/components/Toast/Toast.js +1 -1
  517. package/styled-components/es/components/Toast/ToastController.js +1 -1
  518. package/styled-components/es/components/Toast/ToastProvider/ToastProvider.js +2 -2
  519. package/styled-components/es/components/Toolbar/ui/ToolbarDivider/ToolbarDivider.js +1 -1
  520. package/styled-components/es/components/Tooltip/Tooltip.js +1 -1
  521. package/styled-components/es/components/Typography/Old/Subtitle/Subtitle.js +1 -1
  522. package/styled-components/es/components/Typography/Old/TypographyOld.js +1 -1
  523. package/styled-components/es/components/Typography/Typography.js +1 -1
  524. package/styled-components/es/engines/common.js +1 -1
  525. package/styled-components/es/examples/_helpers.js +1 -1
  526. package/styled-components/es/examples/plasma_b2c/components/Avatar/Avatar.stories.tsx +26 -1
  527. package/styled-components/es/examples/plasma_b2c/components/AvatarGroup/AvatarGroup.stories.tsx +36 -18
  528. package/styled-components/es/examples/plasma_b2c/components/Button/Button.stories.tsx +27 -11
  529. package/styled-components/es/examples/plasma_b2c/components/Dropdown/Normal/Dropdown.config.js +1 -1
  530. package/styled-components/es/examples/plasma_b2c/components/Dropdown/Normal/Dropdown.stories.tsx +7 -27
  531. package/styled-components/es/examples/plasma_b2c/components/Dropdown/Tight/Dropdown.config.js +1 -1
  532. package/styled-components/es/examples/plasma_b2c/components/Dropdown/Tight/Dropdown.stories.tsx +8 -27
  533. package/styled-components/es/examples/plasma_b2c/components/Grid/Grid.config.js +1 -1
  534. package/styled-components/es/examples/plasma_b2c/components/IconButton/IconButton.config.js +39 -0
  535. package/styled-components/es/examples/plasma_b2c/components/IconButton/IconButton.js +5 -0
  536. package/styled-components/es/examples/plasma_b2c/components/IconButton/IconButton.stories.tsx +65 -0
  537. package/styled-components/es/examples/plasma_b2c/components/Radiobox/Radiobox.stories.tsx +37 -43
  538. package/styled-components/es/examples/plasma_web/components/Avatar/Avatar.stories.tsx +26 -1
  539. package/styled-components/es/examples/plasma_web/components/Dropdown/Normal/Dropdown.config.js +1 -1
  540. package/styled-components/es/examples/plasma_web/components/Dropdown/Normal/Dropdown.stories.tsx +8 -27
  541. package/styled-components/es/examples/plasma_web/components/Dropdown/Tight/Dropdown.config.js +1 -1
  542. package/styled-components/es/examples/plasma_web/components/Dropdown/Tight/Dropdown.stories.tsx +8 -27
  543. package/styled-components/es/examples/plasma_web/components/Grid/Grid.config.js +1 -1
  544. package/styled-components/es/examples/plasma_web/components/IconButton/IconButton.config.js +39 -0
  545. package/styled-components/es/examples/plasma_web/components/IconButton/IconButton.js +5 -0
  546. package/styled-components/es/examples/plasma_web/components/IconButton/IconButton.stories.tsx +65 -0
  547. package/styled-components/es/examples/plasma_web/components/Radiobox/Radiobox.stories.tsx +37 -43
  548. package/styled-components/es/examples/sds_engineer/components/Avatar/Avatar.stories.tsx +27 -1
  549. package/styled-components/es/examples/sds_engineer/components/Grid/Grid.config.js +1 -1
  550. package/styled-components/es/index.js +1 -0
  551. package/styled-components/es/mixins/applySpacing.js +1 -1
  552. package/styled-components/es/mixins/typography.js +1 -1
  553. package/types/components/Avatar/Avatar.d.ts +3 -1
  554. package/types/components/Avatar/Avatar.d.ts.map +1 -1
  555. package/types/components/Avatar/Avatar.types.d.ts +7 -0
  556. package/types/components/Avatar/Avatar.types.d.ts.map +1 -1
  557. package/types/components/Dropdown/Dropdown.d.ts.map +1 -1
  558. package/types/components/Dropdown/Dropdown.tokens.d.ts +0 -1
  559. package/types/components/Dropdown/Dropdown.tokens.d.ts.map +1 -1
  560. package/types/components/Dropdown/Dropdown.types.d.ts +2 -7
  561. package/types/components/Dropdown/Dropdown.types.d.ts.map +1 -1
  562. package/types/components/Dropdown/index.d.ts +0 -1
  563. package/types/components/Dropdown/index.d.ts.map +1 -1
  564. package/types/components/Dropdown/ui/DropdownItem/DropdownItem.d.ts.map +1 -1
  565. package/types/components/Dropdown/utils/index.d.ts +2 -5
  566. package/types/components/Dropdown/utils/index.d.ts.map +1 -1
  567. package/types/components/IconButton/IconButton.d.ts +30 -0
  568. package/types/components/IconButton/IconButton.d.ts.map +1 -0
  569. package/types/components/IconButton/IconButton.styles.d.ts +21 -0
  570. package/types/components/IconButton/IconButton.styles.d.ts.map +1 -0
  571. package/types/components/IconButton/IconButton.tokens.d.ts +29 -0
  572. package/types/components/IconButton/IconButton.tokens.d.ts.map +1 -0
  573. package/types/components/IconButton/IconButton.types.d.ts +13 -0
  574. package/types/components/IconButton/IconButton.types.d.ts.map +1 -0
  575. package/types/components/IconButton/index.d.ts +4 -0
  576. package/types/components/IconButton/index.d.ts.map +1 -0
  577. package/types/components/IconButton/variations/_disabled/base.d.ts +2 -0
  578. package/types/components/IconButton/variations/_disabled/base.d.ts.map +1 -0
  579. package/types/components/IconButton/variations/_focused/base.d.ts +2 -0
  580. package/types/components/IconButton/variations/_focused/base.d.ts.map +1 -0
  581. package/types/components/IconButton/variations/_size/base.d.ts +2 -0
  582. package/types/components/IconButton/variations/_size/base.d.ts.map +1 -0
  583. package/types/components/IconButton/variations/_view/base.d.ts +2 -0
  584. package/types/components/IconButton/variations/_view/base.d.ts.map +1 -0
  585. package/types/examples/plasma_b2c/components/Avatar/Avatar.d.ts +2 -0
  586. package/types/examples/plasma_b2c/components/Avatar/Avatar.d.ts.map +1 -1
  587. package/types/examples/plasma_b2c/components/Dropdown/Normal/Dropdown.config.d.ts.map +1 -1
  588. package/types/examples/plasma_b2c/components/Dropdown/Tight/Dropdown.config.d.ts.map +1 -1
  589. package/types/examples/plasma_b2c/components/IconButton/IconButton.config.d.ts +38 -0
  590. package/types/examples/plasma_b2c/components/IconButton/IconButton.config.d.ts.map +1 -0
  591. package/types/examples/plasma_b2c/components/IconButton/IconButton.d.ts +32 -0
  592. package/types/examples/plasma_b2c/components/IconButton/IconButton.d.ts.map +1 -0
  593. package/types/examples/plasma_web/components/Avatar/Avatar.d.ts +2 -0
  594. package/types/examples/plasma_web/components/Avatar/Avatar.d.ts.map +1 -1
  595. package/types/examples/plasma_web/components/Dropdown/Normal/Dropdown.config.d.ts.map +1 -1
  596. package/types/examples/plasma_web/components/Dropdown/Tight/Dropdown.config.d.ts.map +1 -1
  597. package/types/examples/plasma_web/components/IconButton/IconButton.config.d.ts +38 -0
  598. package/types/examples/plasma_web/components/IconButton/IconButton.config.d.ts.map +1 -0
  599. package/types/examples/plasma_web/components/IconButton/IconButton.d.ts +32 -0
  600. package/types/examples/plasma_web/components/IconButton/IconButton.d.ts.map +1 -0
  601. package/types/examples/sds_engineer/components/Avatar/Avatar.d.ts +1 -0
  602. package/types/examples/sds_engineer/components/Avatar/Avatar.d.ts.map +1 -1
  603. package/types/index.d.ts +1 -0
  604. package/types/index.d.ts.map +1 -1
  605. package/cjs/components/Dropdown/hooks/useKeyboardNavigation.js +0 -81
  606. package/cjs/components/Dropdown/hooks/useKeyboardNavigation.js.map +0 -1
  607. package/es/components/Dropdown/hooks/useKeyboardNavigation.js +0 -76
  608. package/es/components/Dropdown/hooks/useKeyboardNavigation.js.map +0 -1
  609. package/styled-components/cjs/components/Dropdown/hooks/useKeyboardNavigation.js +0 -83
  610. package/styled-components/es/components/Dropdown/hooks/useKeyboardNavigation.js +0 -77
  611. package/types/components/Dropdown/hooks/useKeyboardNavigation.d.ts +0 -13
  612. package/types/components/Dropdown/hooks/useKeyboardNavigation.d.ts.map +0 -1
@@ -100,7 +100,7 @@ var popoverRoot = function popoverRoot(Root) {
100
100
  forceUpdate = _usePopper.forceUpdate;
101
101
  var onEscape = React.useCallback(function (event) {
102
102
  if (isOpen && closeOnEsc && event.keyCode === ESCAPE_KEYCODE) {
103
- onToggle === null || onToggle === void 0 ? void 0 : onToggle(false, event);
103
+ onToggle === null || onToggle === void 0 || onToggle(false, event);
104
104
  }
105
105
  }, [closeOnEsc, isOpen, onToggle]);
106
106
  var onDocumentClick = React.useCallback(function (event) {
@@ -119,28 +119,28 @@ var popoverRoot = function popoverRoot(Root) {
119
119
  var targetIsPopover = event.target === popoverRef.current;
120
120
  var rootHasTarget = (_popoverRef$current = popoverRef.current) === null || _popoverRef$current === void 0 ? void 0 : _popoverRef$current.contains(event.target);
121
121
  if (!targetIsPopover && !rootHasTarget) {
122
- onToggle === null || onToggle === void 0 ? void 0 : onToggle(!isOpen, event);
122
+ onToggle === null || onToggle === void 0 || onToggle(!isOpen, event);
123
123
  }
124
124
  }
125
125
  }, [trigger, isOpen, onToggle]);
126
126
  var onMouseEnter = React.useCallback(function (event) {
127
127
  if (trigger === 'hover') {
128
- onToggle === null || onToggle === void 0 ? void 0 : onToggle(true, event);
128
+ onToggle === null || onToggle === void 0 || onToggle(true, event);
129
129
  }
130
130
  }, [trigger, onToggle]);
131
131
  var onMouseLeave = React.useCallback(function (event) {
132
132
  if (trigger === 'hover') {
133
- onToggle === null || onToggle === void 0 ? void 0 : onToggle(false, event);
133
+ onToggle === null || onToggle === void 0 || onToggle(false, event);
134
134
  }
135
135
  }, [trigger, onToggle]);
136
136
  var onFocus = React.useCallback(function (event) {
137
137
  if (trigger === 'hover') {
138
- onToggle === null || onToggle === void 0 ? void 0 : onToggle(true, event);
138
+ onToggle === null || onToggle === void 0 || onToggle(true, event);
139
139
  }
140
140
  }, [trigger, onToggle]);
141
141
  var onBlur = React.useCallback(function (event) {
142
142
  if (trigger === 'hover') {
143
- onToggle === null || onToggle === void 0 ? void 0 : onToggle(false, event);
143
+ onToggle === null || onToggle === void 0 || onToggle(false, event);
144
144
  }
145
145
  }, [trigger, onToggle]);
146
146
  React.useEffect(function () {
@@ -168,7 +168,7 @@ var popoverRoot = function popoverRoot(Root) {
168
168
  portal.setAttribute('id', POPOVER_PORTAL_ID);
169
169
  if (typeof frame === 'string' && frame !== 'document') {
170
170
  var _document$getElementB;
171
- (_document$getElementB = document.getElementById(frame)) === null || _document$getElementB === void 0 ? void 0 : _document$getElementB.appendChild(portal);
171
+ (_document$getElementB = document.getElementById(frame)) === null || _document$getElementB === void 0 || _document$getElementB.appendChild(portal);
172
172
  } else {
173
173
  document.body.appendChild(portal);
174
174
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Popover.js","sources":["../../../src/components/Popover/Popover.tsx"],"sourcesContent":["import React, { useRef, useCallback, useEffect, useState, forwardRef } from 'react';\nimport type { CSSProperties } from 'react';\nimport ReactDOM from 'react-dom';\nimport { usePopper } from 'react-popper';\nimport { useFocusTrap, useForkRef } from '@salutejs/plasma-core';\n\nimport type { RootProps } from '../../engines/types';\nimport { cx } from '../../utils';\n\nimport { base as viewCSS } from './variations/_view/base';\nimport type { PopoverPlacement, PopoverProps } from './Popover.types';\nimport { StyledArrow, StyledPopover, StyledRoot, StyledWrapper } from './Popover.styles';\nimport { classes } from './Popover.tokens';\n\nexport const ESCAPE_KEYCODE = 27;\nexport const POPOVER_PORTAL_ID = 'plasma-popover-root';\n\n/**\n * Всплывающее окно с возможностью позиционирования\n * и вызова по клику либо ховеру.\n */\nexport const popoverRoot = (Root: RootProps<HTMLDivElement, PopoverProps>) =>\n forwardRef<HTMLDivElement, PopoverProps>(\n (\n {\n target,\n children,\n isOpen,\n trigger = 'click',\n hasArrow,\n frame = 'document',\n className,\n placement = 'auto',\n offset = [0, 0],\n zIndex,\n isFocusTrapped = true,\n closeOnEsc = true,\n preventOverflow = true,\n usePortal = false,\n view,\n onToggle,\n closeOnOverlayClick,\n ...rest\n },\n outerRootRef,\n ) => {\n const rootRef = useRef<HTMLDivElement | null>(null);\n const popoverRef = useRef<HTMLDivElement | null>(null);\n const handleRef = useForkRef<HTMLDivElement>(rootRef, outerRootRef);\n const portalRef = useRef<HTMLElement | null>(null);\n\n const trapRef = useFocusTrap(isOpen && isFocusTrapped);\n\n const popoverForkRef = useForkRef<HTMLDivElement>(popoverRef, trapRef);\n\n const [arrowElement, setArrowElement] = useState<HTMLSpanElement | null>(null);\n\n const [, forceRender] = useState(false);\n\n const isAutoArray = Array.isArray(placement);\n const isAuto = isAutoArray || (placement as PopoverPlacement).startsWith('auto');\n\n const initialStyles = {\n visibility: isOpen ? 'visible' : 'hidden',\n opacity: isOpen ? 1 : 0,\n } as CSSProperties;\n\n const { styles, attributes, forceUpdate } = usePopper(rootRef.current, popoverRef.current, {\n // TODO: #1121\n // eslint-disable-next-line no-nested-ternary\n placement: isAutoArray\n ? placement[0]?.endsWith('start')\n ? 'auto-start'\n : 'auto'\n : (placement as PopoverPlacement),\n modifiers: [\n {\n name: 'preventOverflow',\n options: {\n mainAxis: preventOverflow,\n },\n },\n { name: 'offset', options: { offset: [offset[0], offset[1]] } },\n {\n name: 'flip',\n enabled: isAuto,\n options: {\n allowedAutoPlacements: isAutoArray ? (placement as PopoverPlacement[]) : [],\n },\n },\n {\n name: 'arrow',\n options: {\n element: arrowElement,\n },\n },\n ],\n });\n\n const onEscape = useCallback(\n (event: KeyboardEvent) => {\n if (isOpen && closeOnEsc && event.keyCode === ESCAPE_KEYCODE) {\n onToggle?.(false, event);\n }\n },\n [closeOnEsc, isOpen, onToggle],\n );\n\n const onDocumentClick = useCallback(\n (event: MouseEvent) => {\n if (isOpen && closeOnOverlayClick && onToggle) {\n const targetIsRoot = event.target === rootRef.current;\n const rootHasTarget = rootRef.current?.contains(event.target as Element);\n\n if (!targetIsRoot && !rootHasTarget) {\n onToggle(false, event);\n }\n }\n },\n [closeOnOverlayClick, isOpen, onToggle],\n );\n\n const onClick = useCallback<React.MouseEventHandler>(\n (event) => {\n if (trigger === 'click') {\n const targetIsPopover = event.target === popoverRef.current;\n const rootHasTarget = popoverRef.current?.contains(event.target as Element);\n\n if (!targetIsPopover && !rootHasTarget) {\n onToggle?.(!isOpen, event);\n }\n }\n },\n [trigger, isOpen, onToggle],\n );\n\n const onMouseEnter = useCallback<React.MouseEventHandler>(\n (event) => {\n if (trigger === 'hover') {\n onToggle?.(true, event);\n }\n },\n [trigger, onToggle],\n );\n\n const onMouseLeave = useCallback<React.MouseEventHandler>(\n (event) => {\n if (trigger === 'hover') {\n onToggle?.(false, event);\n }\n },\n [trigger, onToggle],\n );\n\n const onFocus = useCallback<React.FocusEventHandler>(\n (event) => {\n if (trigger === 'hover') {\n onToggle?.(true, event);\n }\n },\n [trigger, onToggle],\n );\n\n const onBlur = useCallback<React.FocusEventHandler>(\n (event) => {\n if (trigger === 'hover') {\n onToggle?.(false, event);\n }\n },\n [trigger, onToggle],\n );\n\n useEffect(() => {\n document.addEventListener('click', onDocumentClick);\n return () => document.removeEventListener('click', onDocumentClick);\n }, [isOpen, onToggle]);\n\n useEffect(() => {\n window.addEventListener('keydown', onEscape);\n return () => window.removeEventListener('keydown', onEscape);\n }, [closeOnEsc, isOpen, onToggle]);\n\n useEffect(() => {\n let portal = document.getElementById(POPOVER_PORTAL_ID);\n\n if (typeof frame !== 'string' && frame && frame.current) {\n portal = frame.current;\n }\n\n if (!usePortal) {\n portal = rootRef.current;\n }\n\n if (!portal) {\n portal = document.createElement('div');\n portal.setAttribute('id', POPOVER_PORTAL_ID);\n\n if (typeof frame === 'string' && frame !== 'document') {\n document.getElementById(frame)?.appendChild(portal);\n } else {\n document.body.appendChild(portal);\n }\n }\n\n portalRef.current = portal;\n\n /**\n * Изменение стейта нужно для того, чтобы Popup\n * отобразился после записи DOM элемента в portalRef.current\n */\n forceRender(true);\n }, []);\n\n useEffect(() => {\n if (!isOpen || !forceUpdate) {\n return;\n }\n\n /*\n * INFO: Метод forceUpdate содержит в себе flushSync и приводит\n * к повторному рендеру компонента, который уже находится в процессе рендера.\n * Данный хак, нужен для того, чтобы это поведение избежать и перенаправить\n * вызов метода в очередь микрозадач.\n */\n Promise.resolve().then(forceUpdate);\n }, [isOpen, children, forceUpdate]);\n\n return (\n <StyledWrapper className={classes.wrapper} onMouseEnter={onMouseEnter} onMouseLeave={onMouseLeave}>\n <StyledRoot\n ref={handleRef}\n onClick={onClick}\n onFocus={onFocus}\n onBlur={onBlur}\n className={cx(className, classes.target)}\n >\n {target}\n </StyledRoot>\n {children &&\n portalRef.current &&\n ReactDOM.createPortal(\n <Root view={view} className={className} {...rest}>\n <StyledPopover\n {...attributes.popper}\n className={classes.root}\n ref={popoverForkRef}\n style={{\n ...styles.popper,\n ...{ display: isOpen ? 'block' : 'none' },\n ...initialStyles,\n }}\n zIndex={zIndex}\n >\n {hasArrow && (\n <StyledArrow\n className={classes.arrow}\n ref={setArrowElement}\n style={styles.arrow}\n {...attributes.arrow}\n />\n )}\n {children}\n </StyledPopover>\n </Root>,\n portalRef.current,\n )}\n </StyledWrapper>\n );\n },\n );\n\nexport const popoverConfig = {\n name: 'Popover',\n tag: 'div',\n layout: popoverRoot,\n base: '',\n variations: {\n view: {\n css: viewCSS,\n },\n },\n defaults: {\n view: 'default',\n },\n};\n"],"names":["ESCAPE_KEYCODE","POPOVER_PORTAL_ID","popoverRoot","Root","forwardRef","_ref","outerRootRef","_placement$","target","children","isOpen","_ref$trigger","trigger","hasArrow","_ref$frame","frame","className","_ref$placement","placement","_ref$offset","offset","zIndex","_ref$isFocusTrapped","isFocusTrapped","_ref$closeOnEsc","closeOnEsc","_ref$preventOverflow","preventOverflow","_ref$usePortal","usePortal","view","onToggle","closeOnOverlayClick","rest","_objectWithoutProperties","_excluded","rootRef","useRef","popoverRef","handleRef","useForkRef","portalRef","trapRef","useFocusTrap","popoverForkRef","_useState","useState","_useState2","_slicedToArray","arrowElement","setArrowElement","_useState3","_useState4","forceRender","isAutoArray","Array","isArray","isAuto","startsWith","initialStyles","visibility","opacity","_usePopper","usePopper","current","endsWith","modifiers","name","options","mainAxis","enabled","allowedAutoPlacements","element","styles","attributes","forceUpdate","onEscape","useCallback","event","keyCode","onDocumentClick","_rootRef$current","targetIsRoot","rootHasTarget","contains","onClick","_popoverRef$current","targetIsPopover","onMouseEnter","onMouseLeave","onFocus","onBlur","useEffect","document","addEventListener","removeEventListener","window","portal","getElementById","createElement","setAttribute","_document$getElementB","appendChild","body","Promise","resolve","then","React","StyledWrapper","classes","wrapper","StyledRoot","ref","cx","ReactDOM","createPortal","_extends","StyledPopover","popper","root","style","_objectSpread","display","StyledArrow","arrow","popoverConfig","tag","layout","base","variations","css","viewCSS","defaults"],"mappings":"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"}
1
+ {"version":3,"file":"Popover.js","sources":["../../../src/components/Popover/Popover.tsx"],"sourcesContent":["import React, { useRef, useCallback, useEffect, useState, forwardRef } from 'react';\nimport type { CSSProperties } from 'react';\nimport ReactDOM from 'react-dom';\nimport { usePopper } from 'react-popper';\nimport { useFocusTrap, useForkRef } from '@salutejs/plasma-core';\n\nimport type { RootProps } from '../../engines/types';\nimport { cx } from '../../utils';\n\nimport { base as viewCSS } from './variations/_view/base';\nimport type { PopoverPlacement, PopoverProps } from './Popover.types';\nimport { StyledArrow, StyledPopover, StyledRoot, StyledWrapper } from './Popover.styles';\nimport { classes } from './Popover.tokens';\n\nexport const ESCAPE_KEYCODE = 27;\nexport const POPOVER_PORTAL_ID = 'plasma-popover-root';\n\n/**\n * Всплывающее окно с возможностью позиционирования\n * и вызова по клику либо ховеру.\n */\nexport const popoverRoot = (Root: RootProps<HTMLDivElement, PopoverProps>) =>\n forwardRef<HTMLDivElement, PopoverProps>(\n (\n {\n target,\n children,\n isOpen,\n trigger = 'click',\n hasArrow,\n frame = 'document',\n className,\n placement = 'auto',\n offset = [0, 0],\n zIndex,\n isFocusTrapped = true,\n closeOnEsc = true,\n preventOverflow = true,\n usePortal = false,\n view,\n onToggle,\n closeOnOverlayClick,\n ...rest\n },\n outerRootRef,\n ) => {\n const rootRef = useRef<HTMLDivElement | null>(null);\n const popoverRef = useRef<HTMLDivElement | null>(null);\n const handleRef = useForkRef<HTMLDivElement>(rootRef, outerRootRef);\n const portalRef = useRef<HTMLElement | null>(null);\n\n const trapRef = useFocusTrap(isOpen && isFocusTrapped);\n\n const popoverForkRef = useForkRef<HTMLDivElement>(popoverRef, trapRef);\n\n const [arrowElement, setArrowElement] = useState<HTMLSpanElement | null>(null);\n\n const [, forceRender] = useState(false);\n\n const isAutoArray = Array.isArray(placement);\n const isAuto = isAutoArray || (placement as PopoverPlacement).startsWith('auto');\n\n const initialStyles = {\n visibility: isOpen ? 'visible' : 'hidden',\n opacity: isOpen ? 1 : 0,\n } as CSSProperties;\n\n const { styles, attributes, forceUpdate } = usePopper(rootRef.current, popoverRef.current, {\n // TODO: #1121\n // eslint-disable-next-line no-nested-ternary\n placement: isAutoArray\n ? placement[0]?.endsWith('start')\n ? 'auto-start'\n : 'auto'\n : (placement as PopoverPlacement),\n modifiers: [\n {\n name: 'preventOverflow',\n options: {\n mainAxis: preventOverflow,\n },\n },\n { name: 'offset', options: { offset: [offset[0], offset[1]] } },\n {\n name: 'flip',\n enabled: isAuto,\n options: {\n allowedAutoPlacements: isAutoArray ? (placement as PopoverPlacement[]) : [],\n },\n },\n {\n name: 'arrow',\n options: {\n element: arrowElement,\n },\n },\n ],\n });\n\n const onEscape = useCallback(\n (event: KeyboardEvent) => {\n if (isOpen && closeOnEsc && event.keyCode === ESCAPE_KEYCODE) {\n onToggle?.(false, event);\n }\n },\n [closeOnEsc, isOpen, onToggle],\n );\n\n const onDocumentClick = useCallback(\n (event: MouseEvent) => {\n if (isOpen && closeOnOverlayClick && onToggle) {\n const targetIsRoot = event.target === rootRef.current;\n const rootHasTarget = rootRef.current?.contains(event.target as Element);\n\n if (!targetIsRoot && !rootHasTarget) {\n onToggle(false, event);\n }\n }\n },\n [closeOnOverlayClick, isOpen, onToggle],\n );\n\n const onClick = useCallback<React.MouseEventHandler>(\n (event) => {\n if (trigger === 'click') {\n const targetIsPopover = event.target === popoverRef.current;\n const rootHasTarget = popoverRef.current?.contains(event.target as Element);\n\n if (!targetIsPopover && !rootHasTarget) {\n onToggle?.(!isOpen, event);\n }\n }\n },\n [trigger, isOpen, onToggle],\n );\n\n const onMouseEnter = useCallback<React.MouseEventHandler>(\n (event) => {\n if (trigger === 'hover') {\n onToggle?.(true, event);\n }\n },\n [trigger, onToggle],\n );\n\n const onMouseLeave = useCallback<React.MouseEventHandler>(\n (event) => {\n if (trigger === 'hover') {\n onToggle?.(false, event);\n }\n },\n [trigger, onToggle],\n );\n\n const onFocus = useCallback<React.FocusEventHandler>(\n (event) => {\n if (trigger === 'hover') {\n onToggle?.(true, event);\n }\n },\n [trigger, onToggle],\n );\n\n const onBlur = useCallback<React.FocusEventHandler>(\n (event) => {\n if (trigger === 'hover') {\n onToggle?.(false, event);\n }\n },\n [trigger, onToggle],\n );\n\n useEffect(() => {\n document.addEventListener('click', onDocumentClick);\n return () => document.removeEventListener('click', onDocumentClick);\n }, [isOpen, onToggle]);\n\n useEffect(() => {\n window.addEventListener('keydown', onEscape);\n return () => window.removeEventListener('keydown', onEscape);\n }, [closeOnEsc, isOpen, onToggle]);\n\n useEffect(() => {\n let portal = document.getElementById(POPOVER_PORTAL_ID);\n\n if (typeof frame !== 'string' && frame && frame.current) {\n portal = frame.current;\n }\n\n if (!usePortal) {\n portal = rootRef.current;\n }\n\n if (!portal) {\n portal = document.createElement('div');\n portal.setAttribute('id', POPOVER_PORTAL_ID);\n\n if (typeof frame === 'string' && frame !== 'document') {\n document.getElementById(frame)?.appendChild(portal);\n } else {\n document.body.appendChild(portal);\n }\n }\n\n portalRef.current = portal;\n\n /**\n * Изменение стейта нужно для того, чтобы Popup\n * отобразился после записи DOM элемента в portalRef.current\n */\n forceRender(true);\n }, []);\n\n useEffect(() => {\n if (!isOpen || !forceUpdate) {\n return;\n }\n\n /*\n * INFO: Метод forceUpdate содержит в себе flushSync и приводит\n * к повторному рендеру компонента, который уже находится в процессе рендера.\n * Данный хак, нужен для того, чтобы это поведение избежать и перенаправить\n * вызов метода в очередь микрозадач.\n */\n Promise.resolve().then(forceUpdate);\n }, [isOpen, children, forceUpdate]);\n\n return (\n <StyledWrapper className={classes.wrapper} onMouseEnter={onMouseEnter} onMouseLeave={onMouseLeave}>\n <StyledRoot\n ref={handleRef}\n onClick={onClick}\n onFocus={onFocus}\n onBlur={onBlur}\n className={cx(className, classes.target)}\n >\n {target}\n </StyledRoot>\n {children &&\n portalRef.current &&\n ReactDOM.createPortal(\n <Root view={view} className={className} {...rest}>\n <StyledPopover\n {...attributes.popper}\n className={classes.root}\n ref={popoverForkRef}\n style={{\n ...styles.popper,\n ...{ display: isOpen ? 'block' : 'none' },\n ...initialStyles,\n }}\n zIndex={zIndex}\n >\n {hasArrow && (\n <StyledArrow\n className={classes.arrow}\n ref={setArrowElement}\n style={styles.arrow}\n {...attributes.arrow}\n />\n )}\n {children}\n </StyledPopover>\n </Root>,\n portalRef.current,\n )}\n </StyledWrapper>\n );\n },\n );\n\nexport const popoverConfig = {\n name: 'Popover',\n tag: 'div',\n layout: popoverRoot,\n base: '',\n variations: {\n view: {\n css: viewCSS,\n },\n },\n defaults: {\n view: 'default',\n },\n};\n"],"names":["ESCAPE_KEYCODE","POPOVER_PORTAL_ID","popoverRoot","Root","forwardRef","_ref","outerRootRef","_placement$","target","children","isOpen","_ref$trigger","trigger","hasArrow","_ref$frame","frame","className","_ref$placement","placement","_ref$offset","offset","zIndex","_ref$isFocusTrapped","isFocusTrapped","_ref$closeOnEsc","closeOnEsc","_ref$preventOverflow","preventOverflow","_ref$usePortal","usePortal","view","onToggle","closeOnOverlayClick","rest","_objectWithoutProperties","_excluded","rootRef","useRef","popoverRef","handleRef","useForkRef","portalRef","trapRef","useFocusTrap","popoverForkRef","_useState","useState","_useState2","_slicedToArray","arrowElement","setArrowElement","_useState3","_useState4","forceRender","isAutoArray","Array","isArray","isAuto","startsWith","initialStyles","visibility","opacity","_usePopper","usePopper","current","endsWith","modifiers","name","options","mainAxis","enabled","allowedAutoPlacements","element","styles","attributes","forceUpdate","onEscape","useCallback","event","keyCode","onDocumentClick","_rootRef$current","targetIsRoot","rootHasTarget","contains","onClick","_popoverRef$current","targetIsPopover","onMouseEnter","onMouseLeave","onFocus","onBlur","useEffect","document","addEventListener","removeEventListener","window","portal","getElementById","createElement","setAttribute","_document$getElementB","appendChild","body","Promise","resolve","then","React","StyledWrapper","classes","wrapper","StyledRoot","ref","cx","ReactDOM","createPortal","_extends","StyledPopover","popper","root","style","_objectSpread","display","StyledArrow","arrow","popoverConfig","tag","layout","base","variations","css","viewCSS","defaults"],"mappings":"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"}
@@ -123,7 +123,7 @@ var popupRoot = function popupRoot(Root) {
123
123
  portal.style.width = '0';
124
124
  if (typeof frame === 'string' && frame !== 'document') {
125
125
  var _document$getElementB;
126
- (_document$getElementB = document.getElementById(frame)) === null || _document$getElementB === void 0 ? void 0 : _document$getElementB.appendChild(portal);
126
+ (_document$getElementB = document.getElementById(frame)) === null || _document$getElementB === void 0 || _document$getElementB.appendChild(portal);
127
127
  } else {
128
128
  document.body.appendChild(portal);
129
129
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Popup.js","sources":["../../../src/components/Popup/Popup.tsx"],"sourcesContent":["import React, { forwardRef, useEffect, useRef, useState } from 'react';\nimport ReactDOM from 'react-dom';\nimport { useForkRef, safeUseId } from '@salutejs/plasma-core';\n\nimport { RootProps } from '../../engines/types';\nimport { cx } from '../../utils';\n\nimport type { PopupPlacementBasic, PopupPlacement, PopupPositionType, PopupProps } from './Popup.types';\nimport { POPUP_PORTAL_ID } from './PopupContext';\nimport { PopupRoot } from './PopupRoot';\nimport { usePopup } from './hooks';\nimport { classes } from './Popup.tokens';\n\nexport const handlePosition = (\n placement: PopupPlacement,\n offset: [number, number] | [string, string],\n): PopupPositionType => {\n let x = '0rem';\n let y = '0rem';\n\n if (offset) {\n const [_x, _y] = offset;\n x = typeof _x === 'number' ? `${_x}rem` : _x;\n y = typeof _y === 'number' ? `${_y}rem` : _y;\n }\n\n if (!placement || placement === 'center') {\n return {\n left: `calc(50% + ${x})`,\n top: `calc(50% - ${y})`,\n transform: 'translate(-50%, -50%)',\n };\n }\n\n let left;\n let right;\n let top;\n let bottom;\n let transform;\n const placements = placement.split('-') as PopupPlacementBasic[];\n\n placements.forEach((placement: PopupPlacementBasic) => {\n switch (placement) {\n case 'left':\n left = x;\n break;\n case 'right':\n right = x;\n break;\n case 'top':\n top = y;\n break;\n case 'bottom':\n bottom = y;\n break;\n default:\n break;\n }\n });\n\n const isCenteredX = left === undefined && right === undefined;\n const isCenteredY = top === undefined && bottom === undefined;\n\n if (isCenteredX) {\n transform = 'translateX(-50%)';\n }\n\n if (isCenteredY) {\n transform = 'translateY(-50%)';\n }\n\n return {\n left: isCenteredX ? `calc(50% + ${x})` : left,\n right,\n top: isCenteredY ? `calc(50% - ${y})` : top,\n bottom,\n transform,\n };\n};\n\n/**\n * Базовый копмонент Popup.\n */\nexport const popupRoot = (Root: RootProps<HTMLDivElement, PopupProps>) =>\n forwardRef<HTMLDivElement, PopupProps>(\n (\n {\n id,\n isOpen = false,\n placement = 'center',\n offset = [0, 0],\n frame = 'document',\n children,\n overlay,\n role,\n zIndex,\n popupInfo,\n withAnimation = false,\n className,\n ...rest\n },\n outerRootRef,\n ) => {\n const uniqId = safeUseId();\n const innerId = id || uniqId;\n\n const { isVisible, animationInfo, setVisible } = usePopup({\n isOpen,\n id: innerId,\n popupInfo,\n withAnimation,\n });\n\n const portalRef = useRef<HTMLElement | null>(null);\n const contentRef = useRef<HTMLDivElement | null>(null);\n\n const innerRef = useForkRef<HTMLDivElement>(contentRef, outerRootRef);\n\n const [, forceRender] = useState(false);\n\n useEffect(() => {\n let portal = document.getElementById(POPUP_PORTAL_ID);\n\n if (typeof frame !== 'string' && frame && frame.current) {\n portal = frame.current;\n }\n\n if (!portal) {\n portal = document.createElement('div');\n portal.setAttribute('id', POPUP_PORTAL_ID);\n /**\n * Нужно для того, чтобы во фрейме не происходило скачков контента\n * при анимации через transform, если есть элемент с шириной/высотой в 100% (Overlay)\n */\n portal.style.width = '0';\n\n if (typeof frame === 'string' && frame !== 'document') {\n document.getElementById(frame)?.appendChild(portal);\n } else {\n document.body.appendChild(portal);\n }\n }\n\n portalRef.current = portal;\n\n /**\n * Изменение стейта нужно для того, чтобы Popup\n * отобразился после записи DOM элемента в portalRef.current\n */\n forceRender(true);\n }, []);\n\n if (!isVisible && !isOpen) {\n return null;\n }\n\n const cls = cx(\n className,\n animationInfo?.endAnimation ? classes.endAnimation : '',\n animationInfo?.endTransition ? classes.endTransition : '',\n );\n\n return (\n <>\n {portalRef.current &&\n ReactDOM.createPortal(\n <Root className={cls} {...rest}>\n {overlay}\n <PopupRoot\n id={innerId}\n ref={innerRef}\n position={handlePosition(placement, offset)}\n frame={frame}\n zIndex={zIndex}\n animationInfo={animationInfo}\n setVisible={setVisible}\n >\n {children}\n </PopupRoot>\n </Root>,\n portalRef.current,\n )}\n </>\n );\n },\n );\n\nexport const popupConfig = {\n name: 'Popup',\n tag: 'div',\n layout: popupRoot,\n base: '',\n variations: {},\n defaults: {},\n};\n"],"names":["handlePosition","placement","offset","x","y","_offset","_slicedToArray","_x","_y","concat","left","top","transform","right","bottom","placements","split","forEach","isCenteredX","undefined","isCenteredY","popupRoot","Root","forwardRef","_ref","outerRootRef","id","_ref$isOpen","isOpen","_ref$placement","_ref$offset","_ref$frame","frame","children","overlay","zIndex","popupInfo","_ref$withAnimation","withAnimation","className","rest","_objectWithoutProperties","_excluded","uniqId","safeUseId","innerId","_usePopup","usePopup","isVisible","animationInfo","setVisible","portalRef","useRef","contentRef","innerRef","useForkRef","_useState","useState","_useState2","forceRender","useEffect","portal","document","getElementById","POPUP_PORTAL_ID","current","createElement","setAttribute","style","width","_document$getElementB","appendChild","body","cls","cx","endAnimation","classes","endTransition","React","Fragment","ReactDOM","createPortal","_extends","PopupRoot","ref","position","popupConfig","name","tag","layout","base","variations","defaults"],"mappings":"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"}
1
+ {"version":3,"file":"Popup.js","sources":["../../../src/components/Popup/Popup.tsx"],"sourcesContent":["import React, { forwardRef, useEffect, useRef, useState } from 'react';\nimport ReactDOM from 'react-dom';\nimport { useForkRef, safeUseId } from '@salutejs/plasma-core';\n\nimport { RootProps } from '../../engines/types';\nimport { cx } from '../../utils';\n\nimport type { PopupPlacementBasic, PopupPlacement, PopupPositionType, PopupProps } from './Popup.types';\nimport { POPUP_PORTAL_ID } from './PopupContext';\nimport { PopupRoot } from './PopupRoot';\nimport { usePopup } from './hooks';\nimport { classes } from './Popup.tokens';\n\nexport const handlePosition = (\n placement: PopupPlacement,\n offset: [number, number] | [string, string],\n): PopupPositionType => {\n let x = '0rem';\n let y = '0rem';\n\n if (offset) {\n const [_x, _y] = offset;\n x = typeof _x === 'number' ? `${_x}rem` : _x;\n y = typeof _y === 'number' ? `${_y}rem` : _y;\n }\n\n if (!placement || placement === 'center') {\n return {\n left: `calc(50% + ${x})`,\n top: `calc(50% - ${y})`,\n transform: 'translate(-50%, -50%)',\n };\n }\n\n let left;\n let right;\n let top;\n let bottom;\n let transform;\n const placements = placement.split('-') as PopupPlacementBasic[];\n\n placements.forEach((placement: PopupPlacementBasic) => {\n switch (placement) {\n case 'left':\n left = x;\n break;\n case 'right':\n right = x;\n break;\n case 'top':\n top = y;\n break;\n case 'bottom':\n bottom = y;\n break;\n default:\n break;\n }\n });\n\n const isCenteredX = left === undefined && right === undefined;\n const isCenteredY = top === undefined && bottom === undefined;\n\n if (isCenteredX) {\n transform = 'translateX(-50%)';\n }\n\n if (isCenteredY) {\n transform = 'translateY(-50%)';\n }\n\n return {\n left: isCenteredX ? `calc(50% + ${x})` : left,\n right,\n top: isCenteredY ? `calc(50% - ${y})` : top,\n bottom,\n transform,\n };\n};\n\n/**\n * Базовый копмонент Popup.\n */\nexport const popupRoot = (Root: RootProps<HTMLDivElement, PopupProps>) =>\n forwardRef<HTMLDivElement, PopupProps>(\n (\n {\n id,\n isOpen = false,\n placement = 'center',\n offset = [0, 0],\n frame = 'document',\n children,\n overlay,\n role,\n zIndex,\n popupInfo,\n withAnimation = false,\n className,\n ...rest\n },\n outerRootRef,\n ) => {\n const uniqId = safeUseId();\n const innerId = id || uniqId;\n\n const { isVisible, animationInfo, setVisible } = usePopup({\n isOpen,\n id: innerId,\n popupInfo,\n withAnimation,\n });\n\n const portalRef = useRef<HTMLElement | null>(null);\n const contentRef = useRef<HTMLDivElement | null>(null);\n\n const innerRef = useForkRef<HTMLDivElement>(contentRef, outerRootRef);\n\n const [, forceRender] = useState(false);\n\n useEffect(() => {\n let portal = document.getElementById(POPUP_PORTAL_ID);\n\n if (typeof frame !== 'string' && frame && frame.current) {\n portal = frame.current;\n }\n\n if (!portal) {\n portal = document.createElement('div');\n portal.setAttribute('id', POPUP_PORTAL_ID);\n /**\n * Нужно для того, чтобы во фрейме не происходило скачков контента\n * при анимации через transform, если есть элемент с шириной/высотой в 100% (Overlay)\n */\n portal.style.width = '0';\n\n if (typeof frame === 'string' && frame !== 'document') {\n document.getElementById(frame)?.appendChild(portal);\n } else {\n document.body.appendChild(portal);\n }\n }\n\n portalRef.current = portal;\n\n /**\n * Изменение стейта нужно для того, чтобы Popup\n * отобразился после записи DOM элемента в portalRef.current\n */\n forceRender(true);\n }, []);\n\n if (!isVisible && !isOpen) {\n return null;\n }\n\n const cls = cx(\n className,\n animationInfo?.endAnimation ? classes.endAnimation : '',\n animationInfo?.endTransition ? classes.endTransition : '',\n );\n\n return (\n <>\n {portalRef.current &&\n ReactDOM.createPortal(\n <Root className={cls} {...rest}>\n {overlay}\n <PopupRoot\n id={innerId}\n ref={innerRef}\n position={handlePosition(placement, offset)}\n frame={frame}\n zIndex={zIndex}\n animationInfo={animationInfo}\n setVisible={setVisible}\n >\n {children}\n </PopupRoot>\n </Root>,\n portalRef.current,\n )}\n </>\n );\n },\n );\n\nexport const popupConfig = {\n name: 'Popup',\n tag: 'div',\n layout: popupRoot,\n base: '',\n variations: {},\n defaults: {},\n};\n"],"names":["handlePosition","placement","offset","x","y","_offset","_slicedToArray","_x","_y","concat","left","top","transform","right","bottom","placements","split","forEach","isCenteredX","undefined","isCenteredY","popupRoot","Root","forwardRef","_ref","outerRootRef","id","_ref$isOpen","isOpen","_ref$placement","_ref$offset","_ref$frame","frame","children","overlay","zIndex","popupInfo","_ref$withAnimation","withAnimation","className","rest","_objectWithoutProperties","_excluded","uniqId","safeUseId","innerId","_usePopup","usePopup","isVisible","animationInfo","setVisible","portalRef","useRef","contentRef","innerRef","useForkRef","_useState","useState","_useState2","forceRender","useEffect","portal","document","getElementById","POPUP_PORTAL_ID","current","createElement","setAttribute","style","width","_document$getElementB","appendChild","body","cls","cx","endAnimation","classes","endTransition","React","Fragment","ReactDOM","createPortal","_extends","PopupRoot","ref","position","popupConfig","name","tag","layout","base","variations","defaults"],"mappings":"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"}
@@ -45,8 +45,8 @@ var segmentItemRoot = function segmentItemRoot(Root) {
45
45
  if (disabledGroup) {
46
46
  return;
47
47
  }
48
- customHandleSelect === null || customHandleSelect === void 0 ? void 0 : customHandleSelect(event);
49
- handleSelect === null || handleSelect === void 0 ? void 0 : handleSelect(value || ariaLabelDefault);
48
+ customHandleSelect === null || customHandleSelect === void 0 || customHandleSelect(event);
49
+ handleSelect === null || handleSelect === void 0 || handleSelect(value || ariaLabelDefault);
50
50
  }, [selectionMode]);
51
51
  return /*#__PURE__*/React.createElement(Root, _rollupPluginBabelHelpers.extends({
52
52
  view: view,
@@ -1 +1 @@
1
- {"version":3,"file":"SegmentItem.js","sources":["../../../../../src/components/Segment/ui/SegmentItem/SegmentItem.tsx"],"sourcesContent":["import React, { forwardRef, useCallback, useMemo } from 'react';\nimport type { MouseEvent } from 'react';\nimport { safeUseId } from '@salutejs/plasma-core';\n\nimport type { RootProps } from '../../../../engines/types';\nimport { cx, extractTextFrom } from '../../../../utils';\nimport { classes } from '../../tokens';\nimport { useSegmentInner } from '../../SegmentProvider/SegmentProvider';\n\nimport { base as sizeCSS } from './variations/_size/base';\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as disabledCSS } from './variations/_disabled/base';\nimport { base as pilledCSS } from './variations/_pilled/base';\nimport type { SegmentItemProps } from './SegmentItem.types';\nimport { StyledContent, base } from './SegmentItem.styles';\n\nexport const segmentItemRoot = (Root: RootProps<HTMLLabelElement, SegmentItemProps>) =>\n forwardRef<HTMLLabelElement, SegmentItemProps>((props, outerRef) => {\n const {\n size,\n view,\n id,\n label,\n value,\n pilled,\n customHandleSelect,\n 'aria-label': ariaLabelExternal,\n ...rest\n } = props;\n const { selectionMode, disabledGroup, handleSelect, selectedSegmentItems } = useSegmentInner();\n\n const uniqId = safeUseId();\n const segmentId = id || `label-${uniqId}`;\n\n const ariaLabelDefault = useMemo(() => extractTextFrom(label), [label]);\n const pilledAttr = view !== 'clear' && pilled;\n const pilledClass = pilledAttr ? classes.segmentPilled : undefined;\n\n const isSelected = selectedSegmentItems?.includes(value || ariaLabelDefault);\n const selectedClass = isSelected ? classes.selectedSegmentItem : undefined;\n\n const handleSelectSegment = useCallback(\n (event: MouseEvent<HTMLButtonElement>) => {\n if (disabledGroup) {\n return;\n }\n\n customHandleSelect?.(event);\n handleSelect?.(value || ariaLabelDefault);\n },\n [selectionMode],\n );\n\n return (\n <Root\n view={view}\n size={size}\n id={segmentId}\n ref={outerRef}\n aria-label={ariaLabelExternal || ariaLabelDefault}\n value={value}\n pilled={pilledAttr}\n className={cx(selectedClass, pilledClass)}\n onClick={handleSelectSegment}\n tabIndex={disabledGroup ? -1 : 0}\n disabled={disabledGroup}\n {...rest}\n >\n <StyledContent>{label || value}</StyledContent>\n </Root>\n );\n });\n\nexport const segmentItemConfig = {\n name: 'SegmentItem',\n tag: 'button',\n layout: segmentItemRoot,\n base,\n variations: {\n size: {\n css: sizeCSS,\n },\n view: {\n css: viewCSS,\n },\n disabled: {\n css: disabledCSS,\n attrs: true,\n },\n pilled: {\n css: pilledCSS,\n attrs: true,\n },\n },\n defaults: {\n view: 'clear',\n size: 'xs',\n },\n};\n"],"names":["segmentItemRoot","Root","forwardRef","props","outerRef","size","view","id","label","value","pilled","customHandleSelect","ariaLabelExternal","rest","_objectWithoutProperties","_excluded","_useSegmentInner","useSegmentInner","selectionMode","disabledGroup","handleSelect","selectedSegmentItems","uniqId","safeUseId","segmentId","concat","ariaLabelDefault","useMemo","extractTextFrom","pilledAttr","pilledClass","classes","segmentPilled","undefined","isSelected","includes","selectedClass","selectedSegmentItem","handleSelectSegment","useCallback","event","React","createElement","_extends","ref","className","cx","onClick","tabIndex","disabled","StyledContent","segmentItemConfig","name","tag","layout","base","variations","css","sizeCSS","viewCSS","disabledCSS","attrs","pilledCSS","defaults"],"mappings":"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"}
1
+ {"version":3,"file":"SegmentItem.js","sources":["../../../../../src/components/Segment/ui/SegmentItem/SegmentItem.tsx"],"sourcesContent":["import React, { forwardRef, useCallback, useMemo } from 'react';\nimport type { MouseEvent } from 'react';\nimport { safeUseId } from '@salutejs/plasma-core';\n\nimport type { RootProps } from '../../../../engines/types';\nimport { cx, extractTextFrom } from '../../../../utils';\nimport { classes } from '../../tokens';\nimport { useSegmentInner } from '../../SegmentProvider/SegmentProvider';\n\nimport { base as sizeCSS } from './variations/_size/base';\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as disabledCSS } from './variations/_disabled/base';\nimport { base as pilledCSS } from './variations/_pilled/base';\nimport type { SegmentItemProps } from './SegmentItem.types';\nimport { StyledContent, base } from './SegmentItem.styles';\n\nexport const segmentItemRoot = (Root: RootProps<HTMLLabelElement, SegmentItemProps>) =>\n forwardRef<HTMLLabelElement, SegmentItemProps>((props, outerRef) => {\n const {\n size,\n view,\n id,\n label,\n value,\n pilled,\n customHandleSelect,\n 'aria-label': ariaLabelExternal,\n ...rest\n } = props;\n const { selectionMode, disabledGroup, handleSelect, selectedSegmentItems } = useSegmentInner();\n\n const uniqId = safeUseId();\n const segmentId = id || `label-${uniqId}`;\n\n const ariaLabelDefault = useMemo(() => extractTextFrom(label), [label]);\n const pilledAttr = view !== 'clear' && pilled;\n const pilledClass = pilledAttr ? classes.segmentPilled : undefined;\n\n const isSelected = selectedSegmentItems?.includes(value || ariaLabelDefault);\n const selectedClass = isSelected ? classes.selectedSegmentItem : undefined;\n\n const handleSelectSegment = useCallback(\n (event: MouseEvent<HTMLButtonElement>) => {\n if (disabledGroup) {\n return;\n }\n\n customHandleSelect?.(event);\n handleSelect?.(value || ariaLabelDefault);\n },\n [selectionMode],\n );\n\n return (\n <Root\n view={view}\n size={size}\n id={segmentId}\n ref={outerRef}\n aria-label={ariaLabelExternal || ariaLabelDefault}\n value={value}\n pilled={pilledAttr}\n className={cx(selectedClass, pilledClass)}\n onClick={handleSelectSegment}\n tabIndex={disabledGroup ? -1 : 0}\n disabled={disabledGroup}\n {...rest}\n >\n <StyledContent>{label || value}</StyledContent>\n </Root>\n );\n });\n\nexport const segmentItemConfig = {\n name: 'SegmentItem',\n tag: 'button',\n layout: segmentItemRoot,\n base,\n variations: {\n size: {\n css: sizeCSS,\n },\n view: {\n css: viewCSS,\n },\n disabled: {\n css: disabledCSS,\n attrs: true,\n },\n pilled: {\n css: pilledCSS,\n attrs: true,\n },\n },\n defaults: {\n view: 'clear',\n size: 'xs',\n },\n};\n"],"names":["segmentItemRoot","Root","forwardRef","props","outerRef","size","view","id","label","value","pilled","customHandleSelect","ariaLabelExternal","rest","_objectWithoutProperties","_excluded","_useSegmentInner","useSegmentInner","selectionMode","disabledGroup","handleSelect","selectedSegmentItems","uniqId","safeUseId","segmentId","concat","ariaLabelDefault","useMemo","extractTextFrom","pilledAttr","pilledClass","classes","segmentPilled","undefined","isSelected","includes","selectedClass","selectedSegmentItem","handleSelectSegment","useCallback","event","React","createElement","_extends","ref","className","cx","onClick","tabIndex","disabled","StyledContent","segmentItemConfig","name","tag","layout","base","variations","css","sizeCSS","viewCSS","disabledCSS","attrs","pilledCSS","defaults"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- .Dropdown_styles_13400l5_sn7uamp__84327758 .Dropdown_styles_13400l5_popoverWrapper__84327758,.Dropdown_styles_13400l5_sn7uamp__84327758 .Dropdown_styles_13400l5_popoverTarget__84327758{display:block;}
2
- .Dropdown_styles_13400l5_sjr7fmv__84327758{box-sizing:border-box;background:var(--plasma-dropdown-background);box-shadow:var(--plasma-dropdown-box-shadow);border-radius:var(--plasma-dropdown-border-radius);width:var(--plasma-dropdown-width);height:var(--plasma-dropdown-height);padding:var(--plasma-dropdown-padding-top) var(--plasma-dropdown-padding-right) var(--plasma-dropdown-padding-bottom) var(--plasma-dropdown-padding-left);}
1
+ .Dropdown_styles_1daxhqh_sn7uamp__488e0a19 .Dropdown_styles_1daxhqh_popoverTarget__488e0a19{display:block;}
2
+ .Dropdown_styles_1daxhqh_sjr7fmv__488e0a19{box-sizing:border-box;background:var(--plasma-dropdown-background);box-shadow:var(--plasma-dropdown-box-shadow);border-radius:var(--plasma-dropdown-border-radius);width:var(--plasma-dropdown-width);height:var(--plasma-dropdown-height);padding:var(--plasma-dropdown-padding-top) var(--plasma-dropdown-padding-right) var(--plasma-dropdown-padding-bottom) var(--plasma-dropdown-padding-left);}
3
3
 
4
4
  .DropdownDivider_styles_v3xor1_s1brpi5d__3a791565{background:var(--plasma-dropdown-divider-color);width:var(--plasma-dropdown-divider-width);height:var(--plasma-dropdown-divider-height);margin:var(--plasma-dropdown-divider-margin-top) var(--plasma-dropdown-divider-margin-right) var(--plasma-dropdown-divider-margin-bottom) var(--plasma-dropdown-divider-margin-left);}
5
5
 
@@ -112,12 +112,12 @@ var selectRoot = function selectRoot(Root) {
112
112
  if (rest.valueType === 'multiple') {
113
113
  var _rest$onChangeValue;
114
114
  var _newSelected = index.getNewSelected(rest.value, newValue, rest.valueType);
115
- (_rest$onChangeValue = rest.onChangeValue) === null || _rest$onChangeValue === void 0 ? void 0 : _rest$onChangeValue.call(rest, _newSelected);
115
+ (_rest$onChangeValue = rest.onChangeValue) === null || _rest$onChangeValue === void 0 || _rest$onChangeValue.call(rest, _newSelected);
116
116
  return;
117
117
  }
118
118
  var newSelected = index.getNewSelected(rest.value, newValue, 'single');
119
- (_rest$onChangeValue2 = rest.onChangeValue) === null || _rest$onChangeValue2 === void 0 ? void 0 : _rest$onChangeValue2.call(rest, newSelected);
120
- onInnerToggle === null || onInnerToggle === void 0 ? void 0 : onInnerToggle(false, event);
119
+ (_rest$onChangeValue2 = rest.onChangeValue) === null || _rest$onChangeValue2 === void 0 || _rest$onChangeValue2.call(rest, newSelected);
120
+ onInnerToggle === null || onInnerToggle === void 0 || onInnerToggle(false, event);
121
121
  }, [rest.value, rest.valueType, rest.onChangeValue, onToggle, onInnerToggle]);
122
122
  var onClickChildrenItem = React.useCallback(function (event) {
123
123
  // INFO: Для корректной работы компонента Popper
@@ -132,14 +132,14 @@ var selectRoot = function selectRoot(Root) {
132
132
  }
133
133
  var newValue = event.target.value;
134
134
  var newSelected = index.getNewSelected(rest.value, newValue, 'native');
135
- (_rest$onChangeValue3 = rest.onChangeValue) === null || _rest$onChangeValue3 === void 0 ? void 0 : _rest$onChangeValue3.call(rest, newSelected);
135
+ (_rest$onChangeValue3 = rest.onChangeValue) === null || _rest$onChangeValue3 === void 0 || _rest$onChangeValue3.call(rest, newSelected);
136
136
  }, [rest.value, rest.valueType, rest.onChangeValue]);
137
137
  var onChangeChipValue = React.useCallback(function (newValue) {
138
138
  var _rest$onChangeValue4;
139
139
  if (rest.valueType !== 'multiple') {
140
140
  return;
141
141
  }
142
- (_rest$onChangeValue4 = rest.onChangeValue) === null || _rest$onChangeValue4 === void 0 ? void 0 : _rest$onChangeValue4.call(rest, newValue);
142
+ (_rest$onChangeValue4 = rest.onChangeValue) === null || _rest$onChangeValue4 === void 0 || _rest$onChangeValue4.call(rest, newValue);
143
143
  }, [rest.valueType]);
144
144
  var _useKeyNavigation = useKeyNavigation.useKeyNavigation({
145
145
  controlledRefs: controlledRefs,
@@ -1 +1 @@
1
- {"version":3,"file":"Select.js","sources":["../../../src/components/Select/Select.tsx"],"sourcesContent":["import React, { Children, forwardRef, useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport { safeUseId, useForkRef } from '@salutejs/plasma-core';\n\nimport { RootProps } from '../../engines';\nimport { cx } from '../../utils';\nimport { getPlacements } from '../Dropdown/utils';\nimport { useDidMountEffect, useForceUpdate } from '../../hooks';\n\nimport { base as targetCSS } from './variations/_target/base';\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as sizeCSS } from './variations/_size/base';\nimport { SelectTarget } from './ui';\nimport { getChildren, getNewSelected, getValues } from './utils';\nimport { classes } from './Select.tokens';\nimport { StyledNativeSelect, StyledPopover, StyledRoot, StyledSelect } from './Select.styles';\nimport type { SelectPrimitiveValue, SelectProps } from './Select.types';\nimport { useKeyNavigation } from './hooks';\n\n/**\n * Выпадающий список без внешнего контроля видимости.\n */\nexport const selectRoot = (Root: RootProps<HTMLSelectElement, SelectProps>) =>\n forwardRef<HTMLSelectElement, SelectProps>(\n (\n {\n name,\n form,\n readOnly,\n disabled,\n label,\n id,\n children,\n role,\n target,\n view,\n size,\n frame,\n usePortal,\n enumerationType = 'comma',\n opened = false,\n placement = 'bottom',\n onToggle,\n ...rest\n },\n outerRootRef,\n ) => {\n const forceUpdate = useForceUpdate();\n const uniqId = safeUseId();\n const innerId = id || uniqId;\n const { valueType = 'single', value } = rest;\n const offset = [0, 4] as [number, number];\n\n const [ref, setRef] = useState<HTMLSelectElement | null>(null);\n const rootRef = useRef<HTMLSelectElement | null>(null);\n const handleRef = useForkRef<HTMLSelectElement>(rootRef, outerRootRef);\n\n const targetRef = useRef<HTMLButtonElement>(null);\n const chipsRefs = useRef<Array<HTMLButtonElement>>([]);\n const selectRef = useRef<HTMLDivElement>(null);\n const itemsRefs = useRef<Array<HTMLDivElement>>([]);\n const controlledRefs = { targetRef, chipsRefs, selectRef, itemsRefs };\n\n const [innerOpened, setOpened] = useState(opened);\n\n // INFO: нужно высчитывать для корректной работы портала\n const dynamicTargetWidth = targetRef.current?.offsetWidth;\n const withNativeSelectVisible = valueType === 'native' ? classes.nativeSelectVisible : undefined;\n\n // INFO: Из-за того, что классы передаются через ref,\n // состояние пропсов после изменения view, size, target\n // всегда предыдущее, поэтому нужно делать форс-ререндер\n useDidMountEffect(() => {\n forceUpdate();\n }, [view, size, target]);\n\n useEffect(() => {\n if (disabled || readOnly) {\n return;\n }\n\n setOpened(opened);\n }, [opened, disabled, readOnly]);\n\n const onInnerToggle = useCallback(\n (openValue: boolean, event: React.SyntheticEvent | Event) => {\n if (disabled || readOnly) {\n return;\n }\n\n if (onToggle) {\n onToggle(openValue, event);\n return;\n }\n\n setOpened(openValue);\n },\n [disabled, readOnly, onToggle],\n );\n\n const updateValue = useCallback(\n (item: HTMLElement, event: React.SyntheticEvent | Event) => {\n const {\n dataset: { value: newValue },\n } = item;\n\n if (rest.valueType === 'multiple') {\n const newSelected = getNewSelected(rest.value, newValue, rest.valueType);\n rest.onChangeValue?.(newSelected);\n\n return;\n }\n\n const newSelected = getNewSelected(rest.value, newValue, 'single');\n\n rest.onChangeValue?.(newSelected);\n\n onInnerToggle?.(false, event);\n },\n [rest.value, rest.valueType, rest.onChangeValue, onToggle, onInnerToggle],\n );\n\n const onClickChildrenItem = useCallback(\n (event: React.MouseEvent<HTMLDivElement>) => {\n // INFO: Для корректной работы компонента Popper\n event.stopPropagation();\n\n const item = event.currentTarget as HTMLElement;\n\n updateValue(item, event);\n },\n [updateValue],\n );\n\n const onNativeSelectChange = useCallback(\n (event: React.ChangeEvent<HTMLSelectElement>) => {\n if (rest.valueType === 'multiple') {\n return;\n }\n\n const { value: newValue } = event.target;\n const newSelected = getNewSelected(rest.value, newValue, 'native');\n\n rest.onChangeValue?.(newSelected);\n },\n [rest.value, rest.valueType, rest.onChangeValue],\n );\n\n const onChangeChipValue = useCallback(\n (newValue?: Array<SelectPrimitiveValue>) => {\n if (rest.valueType !== 'multiple') {\n return;\n }\n\n rest.onChangeValue?.(newValue);\n },\n [rest.valueType],\n );\n\n const { onKeyDownTarget, onKeyDownSelect } = useKeyNavigation({\n controlledRefs,\n opened: innerOpened,\n enumerationType,\n valueType,\n value,\n updateOpened: onInnerToggle,\n updateValue,\n });\n\n const childrenArray = useMemo(() => Children.toArray(children), [children]) as React.ReactElement[];\n\n const childrenMemo = useMemo(\n () => getChildren(childrenArray, { onClick: onClickChildrenItem, childrenRefs: itemsRefs }, value),\n [childrenArray, value, innerOpened],\n );\n\n const values = useMemo(() => getValues(childrenArray, value), [childrenArray, value]);\n\n return (\n <StyledRoot ref={selectRef}>\n <StyledNativeSelect\n aria-invalid=\"false\"\n aria-hidden=\"true\"\n aria-readonly={readOnly}\n tabIndex={valueType === 'native' ? 0 : -1}\n form={form}\n name={name}\n ref={handleRef}\n value={`${value}`}\n disabled={disabled || readOnly}\n onChange={onNativeSelectChange}\n className={cx(ref?.classList.toString(), withNativeSelectVisible)}\n >\n {valueType === 'native' && childrenMemo}\n </StyledNativeSelect>\n <StyledPopover\n role={role}\n isOpen={innerOpened}\n onToggle={onInnerToggle}\n target={\n <SelectTarget\n tabIndex={valueType === 'native' ? -1 : 0}\n opened={innerOpened}\n target={target}\n values={values}\n label={label}\n enumerationType={enumerationType}\n readOnly={readOnly}\n disabled={disabled}\n size={size}\n ref={targetRef}\n chipsRefs={chipsRefs}\n id={innerId}\n onChange={onChangeChipValue}\n onKeyDown={onKeyDownTarget}\n />\n }\n className={cx(ref?.classList.toString())} // INFO: Прокидываем стили для Popover\n id={innerId}\n offset={offset}\n frame={frame}\n placement={getPlacements(placement)}\n trigger=\"click\"\n usePortal={usePortal}\n selectWidth={dynamicTargetWidth}\n isFocusTrapped={false}\n preventOverflow={false}\n closeOnEsc={false}\n closeOnOverlayClick\n >\n <Root ref={setRef} target={target} view={view} size={size} {...rest}>\n {valueType !== 'native' && (\n <StyledSelect onKeyDown={onKeyDownSelect}>{childrenMemo}</StyledSelect>\n )}\n </Root>\n </StyledPopover>\n </StyledRoot>\n );\n },\n );\n\nexport const selectConfig = {\n name: 'Select',\n tag: 'div',\n layout: selectRoot,\n base: '',\n variations: {\n target: {\n css: targetCSS,\n },\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":["selectRoot","Root","forwardRef","_ref","outerRootRef","_targetRef$current","name","form","readOnly","disabled","label","id","children","role","target","view","size","frame","usePortal","_ref$enumerationType","enumerationType","_ref$opened","opened","_ref$placement","placement","onToggle","rest","_objectWithoutProperties","_excluded","forceUpdate","useForceUpdate","uniqId","safeUseId","innerId","_rest$valueType","valueType","value","offset","_useState","useState","_useState2","_slicedToArray","ref","setRef","rootRef","useRef","handleRef","useForkRef","targetRef","chipsRefs","selectRef","itemsRefs","controlledRefs","_useState3","_useState4","innerOpened","setOpened","dynamicTargetWidth","current","offsetWidth","withNativeSelectVisible","classes","nativeSelectVisible","undefined","useDidMountEffect","useEffect","onInnerToggle","useCallback","openValue","event","updateValue","item","_rest$onChangeValue2","newValue","dataset","_rest$onChangeValue","newSelected","getNewSelected","onChangeValue","call","onClickChildrenItem","stopPropagation","currentTarget","onNativeSelectChange","_rest$onChangeValue3","onChangeChipValue","_rest$onChangeValue4","_useKeyNavigation","useKeyNavigation","updateOpened","onKeyDownTarget","onKeyDownSelect","childrenArray","useMemo","Children","toArray","childrenMemo","getChildren","onClick","childrenRefs","values","getValues","React","createElement","StyledRoot","StyledNativeSelect","tabIndex","concat","onChange","className","cx","classList","toString","StyledPopover","isOpen","SelectTarget","onKeyDown","getPlacements","trigger","selectWidth","isFocusTrapped","preventOverflow","closeOnEsc","closeOnOverlayClick","_extends","StyledSelect","selectConfig","tag","layout","base","variations","css","targetCSS","viewCSS","sizeCSS","defaults"],"mappings":"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"}
1
+ {"version":3,"file":"Select.js","sources":["../../../src/components/Select/Select.tsx"],"sourcesContent":["import React, { Children, forwardRef, useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport { safeUseId, useForkRef } from '@salutejs/plasma-core';\n\nimport { RootProps } from '../../engines';\nimport { cx } from '../../utils';\nimport { getPlacements } from '../Dropdown/utils';\nimport { useDidMountEffect, useForceUpdate } from '../../hooks';\n\nimport { base as targetCSS } from './variations/_target/base';\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as sizeCSS } from './variations/_size/base';\nimport { SelectTarget } from './ui';\nimport { getChildren, getNewSelected, getValues } from './utils';\nimport { classes } from './Select.tokens';\nimport { StyledNativeSelect, StyledPopover, StyledRoot, StyledSelect } from './Select.styles';\nimport type { SelectPrimitiveValue, SelectProps } from './Select.types';\nimport { useKeyNavigation } from './hooks';\n\n/**\n * Выпадающий список без внешнего контроля видимости.\n */\nexport const selectRoot = (Root: RootProps<HTMLSelectElement, SelectProps>) =>\n forwardRef<HTMLSelectElement, SelectProps>(\n (\n {\n name,\n form,\n readOnly,\n disabled,\n label,\n id,\n children,\n role,\n target,\n view,\n size,\n frame,\n usePortal,\n enumerationType = 'comma',\n opened = false,\n placement = 'bottom',\n onToggle,\n ...rest\n },\n outerRootRef,\n ) => {\n const forceUpdate = useForceUpdate();\n const uniqId = safeUseId();\n const innerId = id || uniqId;\n const { valueType = 'single', value } = rest;\n const offset = [0, 4] as [number, number];\n\n const [ref, setRef] = useState<HTMLSelectElement | null>(null);\n const rootRef = useRef<HTMLSelectElement | null>(null);\n const handleRef = useForkRef<HTMLSelectElement>(rootRef, outerRootRef);\n\n const targetRef = useRef<HTMLButtonElement>(null);\n const chipsRefs = useRef<Array<HTMLButtonElement>>([]);\n const selectRef = useRef<HTMLDivElement>(null);\n const itemsRefs = useRef<Array<HTMLDivElement>>([]);\n const controlledRefs = { targetRef, chipsRefs, selectRef, itemsRefs };\n\n const [innerOpened, setOpened] = useState(opened);\n\n // INFO: нужно высчитывать для корректной работы портала\n const dynamicTargetWidth = targetRef.current?.offsetWidth;\n const withNativeSelectVisible = valueType === 'native' ? classes.nativeSelectVisible : undefined;\n\n // INFO: Из-за того, что классы передаются через ref,\n // состояние пропсов после изменения view, size, target\n // всегда предыдущее, поэтому нужно делать форс-ререндер\n useDidMountEffect(() => {\n forceUpdate();\n }, [view, size, target]);\n\n useEffect(() => {\n if (disabled || readOnly) {\n return;\n }\n\n setOpened(opened);\n }, [opened, disabled, readOnly]);\n\n const onInnerToggle = useCallback(\n (openValue: boolean, event: React.SyntheticEvent | Event) => {\n if (disabled || readOnly) {\n return;\n }\n\n if (onToggle) {\n onToggle(openValue, event);\n return;\n }\n\n setOpened(openValue);\n },\n [disabled, readOnly, onToggle],\n );\n\n const updateValue = useCallback(\n (item: HTMLElement, event: React.SyntheticEvent | Event) => {\n const {\n dataset: { value: newValue },\n } = item;\n\n if (rest.valueType === 'multiple') {\n const newSelected = getNewSelected(rest.value, newValue, rest.valueType);\n rest.onChangeValue?.(newSelected);\n\n return;\n }\n\n const newSelected = getNewSelected(rest.value, newValue, 'single');\n\n rest.onChangeValue?.(newSelected);\n\n onInnerToggle?.(false, event);\n },\n [rest.value, rest.valueType, rest.onChangeValue, onToggle, onInnerToggle],\n );\n\n const onClickChildrenItem = useCallback(\n (event: React.MouseEvent<HTMLDivElement>) => {\n // INFO: Для корректной работы компонента Popper\n event.stopPropagation();\n\n const item = event.currentTarget as HTMLElement;\n\n updateValue(item, event);\n },\n [updateValue],\n );\n\n const onNativeSelectChange = useCallback(\n (event: React.ChangeEvent<HTMLSelectElement>) => {\n if (rest.valueType === 'multiple') {\n return;\n }\n\n const { value: newValue } = event.target;\n const newSelected = getNewSelected(rest.value, newValue, 'native');\n\n rest.onChangeValue?.(newSelected);\n },\n [rest.value, rest.valueType, rest.onChangeValue],\n );\n\n const onChangeChipValue = useCallback(\n (newValue?: Array<SelectPrimitiveValue>) => {\n if (rest.valueType !== 'multiple') {\n return;\n }\n\n rest.onChangeValue?.(newValue);\n },\n [rest.valueType],\n );\n\n const { onKeyDownTarget, onKeyDownSelect } = useKeyNavigation({\n controlledRefs,\n opened: innerOpened,\n enumerationType,\n valueType,\n value,\n updateOpened: onInnerToggle,\n updateValue,\n });\n\n const childrenArray = useMemo(() => Children.toArray(children), [children]) as React.ReactElement[];\n\n const childrenMemo = useMemo(\n () => getChildren(childrenArray, { onClick: onClickChildrenItem, childrenRefs: itemsRefs }, value),\n [childrenArray, value, innerOpened],\n );\n\n const values = useMemo(() => getValues(childrenArray, value), [childrenArray, value]);\n\n return (\n <StyledRoot ref={selectRef}>\n <StyledNativeSelect\n aria-invalid=\"false\"\n aria-hidden=\"true\"\n aria-readonly={readOnly}\n tabIndex={valueType === 'native' ? 0 : -1}\n form={form}\n name={name}\n ref={handleRef}\n value={`${value}`}\n disabled={disabled || readOnly}\n onChange={onNativeSelectChange}\n className={cx(ref?.classList.toString(), withNativeSelectVisible)}\n >\n {valueType === 'native' && childrenMemo}\n </StyledNativeSelect>\n <StyledPopover\n role={role}\n isOpen={innerOpened}\n onToggle={onInnerToggle}\n target={\n <SelectTarget\n tabIndex={valueType === 'native' ? -1 : 0}\n opened={innerOpened}\n target={target}\n values={values}\n label={label}\n enumerationType={enumerationType}\n readOnly={readOnly}\n disabled={disabled}\n size={size}\n ref={targetRef}\n chipsRefs={chipsRefs}\n id={innerId}\n onChange={onChangeChipValue}\n onKeyDown={onKeyDownTarget}\n />\n }\n className={cx(ref?.classList.toString())} // INFO: Прокидываем стили для Popover\n id={innerId}\n offset={offset}\n frame={frame}\n placement={getPlacements(placement)}\n trigger=\"click\"\n usePortal={usePortal}\n selectWidth={dynamicTargetWidth}\n isFocusTrapped={false}\n preventOverflow={false}\n closeOnEsc={false}\n closeOnOverlayClick\n >\n <Root ref={setRef} target={target} view={view} size={size} {...rest}>\n {valueType !== 'native' && (\n <StyledSelect onKeyDown={onKeyDownSelect}>{childrenMemo}</StyledSelect>\n )}\n </Root>\n </StyledPopover>\n </StyledRoot>\n );\n },\n );\n\nexport const selectConfig = {\n name: 'Select',\n tag: 'div',\n layout: selectRoot,\n base: '',\n variations: {\n target: {\n css: targetCSS,\n },\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":["selectRoot","Root","forwardRef","_ref","outerRootRef","_targetRef$current","name","form","readOnly","disabled","label","id","children","role","target","view","size","frame","usePortal","_ref$enumerationType","enumerationType","_ref$opened","opened","_ref$placement","placement","onToggle","rest","_objectWithoutProperties","_excluded","forceUpdate","useForceUpdate","uniqId","safeUseId","innerId","_rest$valueType","valueType","value","offset","_useState","useState","_useState2","_slicedToArray","ref","setRef","rootRef","useRef","handleRef","useForkRef","targetRef","chipsRefs","selectRef","itemsRefs","controlledRefs","_useState3","_useState4","innerOpened","setOpened","dynamicTargetWidth","current","offsetWidth","withNativeSelectVisible","classes","nativeSelectVisible","undefined","useDidMountEffect","useEffect","onInnerToggle","useCallback","openValue","event","updateValue","item","_rest$onChangeValue2","newValue","dataset","_rest$onChangeValue","newSelected","getNewSelected","onChangeValue","call","onClickChildrenItem","stopPropagation","currentTarget","onNativeSelectChange","_rest$onChangeValue3","onChangeChipValue","_rest$onChangeValue4","_useKeyNavigation","useKeyNavigation","updateOpened","onKeyDownTarget","onKeyDownSelect","childrenArray","useMemo","Children","toArray","childrenMemo","getChildren","onClick","childrenRefs","values","getValues","React","createElement","StyledRoot","StyledNativeSelect","tabIndex","concat","onChange","className","cx","classList","toString","StyledPopover","isOpen","SelectTarget","onKeyDown","getPlacements","trigger","selectWidth","isFocusTrapped","preventOverflow","closeOnEsc","closeOnOverlayClick","_extends","StyledSelect","selectConfig","tag","layout","base","variations","css","targetCSS","viewCSS","sizeCSS","defaults"],"mappings":"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"}
@@ -43,17 +43,17 @@ var useKeyNavigation = function useKeyNavigation(_ref) {
43
43
  selectChipIndex = _useState4[0],
44
44
  setSelectChipIndex = _useState4[1];
45
45
  React.useEffect(function () {
46
- var _itemsRefs$current, _itemsRefs$current$se;
46
+ var _itemsRefs$current;
47
47
  if (!opened) {
48
48
  setSelectItemIndex(-1);
49
49
  setSelectChipIndex(-1);
50
50
  return;
51
51
  }
52
- itemsRefs === null || itemsRefs === void 0 ? void 0 : (_itemsRefs$current = itemsRefs.current) === null || _itemsRefs$current === void 0 ? void 0 : (_itemsRefs$current$se = _itemsRefs$current[selectItemIndex]) === null || _itemsRefs$current$se === void 0 ? void 0 : _itemsRefs$current$se.focus();
52
+ itemsRefs === null || itemsRefs === void 0 || (_itemsRefs$current = itemsRefs.current) === null || _itemsRefs$current === void 0 || (_itemsRefs$current = _itemsRefs$current[selectItemIndex]) === null || _itemsRefs$current === void 0 || _itemsRefs$current.focus();
53
53
  }, [opened]);
54
54
  React.useEffect(function () {
55
- var _itemsRefs$current2, _itemsRefs$current2$s;
56
- itemsRefs === null || itemsRefs === void 0 ? void 0 : (_itemsRefs$current2 = itemsRefs.current) === null || _itemsRefs$current2 === void 0 ? void 0 : (_itemsRefs$current2$s = _itemsRefs$current2[selectItemIndex]) === null || _itemsRefs$current2$s === void 0 ? void 0 : _itemsRefs$current2$s.focus();
55
+ var _itemsRefs$current2;
56
+ itemsRefs === null || itemsRefs === void 0 || (_itemsRefs$current2 = itemsRefs.current) === null || _itemsRefs$current2 === void 0 || (_itemsRefs$current2 = _itemsRefs$current2[selectItemIndex]) === null || _itemsRefs$current2 === void 0 || _itemsRefs$current2.focus();
57
57
  }, [value, search]);
58
58
  var onKeyDownTarget = React.useCallback(function (event) {
59
59
  var _focusedItem;
@@ -92,7 +92,7 @@ var useKeyNavigation = function useKeyNavigation(_ref) {
92
92
  var _ref2, _chipsRefs$current3;
93
93
  var _index2 = selectChipIndex - 1 <= 0 ? 0 : selectChipIndex - 1;
94
94
  newSelectChipIndex = chipsRefsCount === 0 ? -1 : _index2;
95
- focusedItem = chipsRefsCount === 0 ? (_ref2 = inputRef || targetRef) === null || _ref2 === void 0 ? void 0 : _ref2.current : chipsRefs === null || chipsRefs === void 0 ? void 0 : (_chipsRefs$current3 = chipsRefs.current) === null || _chipsRefs$current3 === void 0 ? void 0 : _chipsRefs$current3[_index2];
95
+ focusedItem = chipsRefsCount === 0 ? (_ref2 = inputRef || targetRef) === null || _ref2 === void 0 ? void 0 : _ref2.current : chipsRefs === null || chipsRefs === void 0 || (_chipsRefs$current3 = chipsRefs.current) === null || _chipsRefs$current3 === void 0 ? void 0 : _chipsRefs$current3[_index2];
96
96
  scrollIntoView = true;
97
97
  }
98
98
  if (code === Keys.ArrowUp || code === Keys.ArrowDown || code === Keys.Enter && componentType !== 'combobox' || code === Keys.Space && componentType !== 'combobox') {
@@ -108,10 +108,10 @@ var useKeyNavigation = function useKeyNavigation(_ref) {
108
108
  }
109
109
  setSelectItemIndex(newSelectItemIndex);
110
110
  setSelectChipIndex(newSelectChipIndex);
111
- (_focusedItem = focusedItem) === null || _focusedItem === void 0 ? void 0 : _focusedItem.focus();
111
+ (_focusedItem = focusedItem) === null || _focusedItem === void 0 || _focusedItem.focus();
112
112
  if (scrollIntoView) {
113
113
  var _focusedItem2;
114
- (_focusedItem2 = focusedItem) === null || _focusedItem2 === void 0 ? void 0 : _focusedItem2.scrollIntoView({
114
+ (_focusedItem2 = focusedItem) === null || _focusedItem2 === void 0 || _focusedItem2.scrollIntoView({
115
115
  behavior: 'smooth',
116
116
  block: 'center',
117
117
  inline: 'center'
@@ -148,18 +148,18 @@ var useKeyNavigation = function useKeyNavigation(_ref) {
148
148
  if (code === Keys.ArrowUp) {
149
149
  var _itemsRefs$current4;
150
150
  newSelectItemIndex = newSelectItemIndex - 1 === -1 ? itemsRefsCount - 1 : newSelectItemIndex - 1;
151
- focusedItem = itemsRefs === null || itemsRefs === void 0 ? void 0 : (_itemsRefs$current4 = itemsRefs.current) === null || _itemsRefs$current4 === void 0 ? void 0 : _itemsRefs$current4[newSelectItemIndex];
151
+ focusedItem = itemsRefs === null || itemsRefs === void 0 || (_itemsRefs$current4 = itemsRefs.current) === null || _itemsRefs$current4 === void 0 ? void 0 : _itemsRefs$current4[newSelectItemIndex];
152
152
  }
153
153
  if (code === Keys.ArrowDown) {
154
154
  var _itemsRefs$current5;
155
155
  newSelectItemIndex = newSelectItemIndex + 1 === itemsRefsCount ? 0 : newSelectItemIndex + 1;
156
- focusedItem = itemsRefs === null || itemsRefs === void 0 ? void 0 : (_itemsRefs$current5 = itemsRefs.current) === null || _itemsRefs$current5 === void 0 ? void 0 : _itemsRefs$current5[newSelectItemIndex];
156
+ focusedItem = itemsRefs === null || itemsRefs === void 0 || (_itemsRefs$current5 = itemsRefs.current) === null || _itemsRefs$current5 === void 0 ? void 0 : _itemsRefs$current5[newSelectItemIndex];
157
157
  }
158
158
  if ((code === Keys.ArrowRight || code === Keys.ArrowLeft) && valueType === 'multiple' && enumerationType === 'chip' && chipsRefsCount) {
159
159
  var _chipsRefs$current4;
160
160
  newSelectChipIndex = chipsRefsCount - 1;
161
161
  newSelectItemIndex = -1;
162
- focusedItem = chipsRefs === null || chipsRefs === void 0 ? void 0 : (_chipsRefs$current4 = chipsRefs.current) === null || _chipsRefs$current4 === void 0 ? void 0 : _chipsRefs$current4[newSelectChipIndex];
162
+ focusedItem = chipsRefs === null || chipsRefs === void 0 || (_chipsRefs$current4 = chipsRefs.current) === null || _chipsRefs$current4 === void 0 ? void 0 : _chipsRefs$current4[newSelectChipIndex];
163
163
  scrollIntoView = true;
164
164
  }
165
165
  if (code === Keys.Enter || code === Keys.Space && componentType !== 'combobox') {
@@ -185,10 +185,10 @@ var useKeyNavigation = function useKeyNavigation(_ref) {
185
185
  updateOpened(newOpened, event);
186
186
  setSelectItemIndex(newSelectItemIndex);
187
187
  setSelectChipIndex(newSelectChipIndex);
188
- (_focusedItem3 = focusedItem) === null || _focusedItem3 === void 0 ? void 0 : _focusedItem3.focus();
188
+ (_focusedItem3 = focusedItem) === null || _focusedItem3 === void 0 || _focusedItem3.focus();
189
189
  if (scrollIntoView) {
190
190
  var _focusedItem4;
191
- (_focusedItem4 = focusedItem) === null || _focusedItem4 === void 0 ? void 0 : _focusedItem4.scrollIntoView({
191
+ (_focusedItem4 = focusedItem) === null || _focusedItem4 === void 0 || _focusedItem4.scrollIntoView({
192
192
  behavior: 'smooth',
193
193
  block: 'center',
194
194
  inline: 'center'