@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
@@ -1 +1 @@
1
- {"version":3,"file":"TabItem.js","sources":["../../../../../src/components/Tabs/ui/TabItem/TabItem.tsx"],"sourcesContent":["import React, { forwardRef, useRef, useContext, useEffect, useCallback } from 'react';\nimport { useForkRef } from '@salutejs/plasma-core';\n\nimport { ComponentConfig, RootProps } from '../../../../engines';\nimport { classes } from '../../tokens';\nimport { cx } from '../../../../utils';\nimport { TabsContext } from '../../TabsContext';\n\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as sizeCSS } from './variations/_size/base';\nimport { base as pilledCSS } from './variations/_pilled/base';\nimport { base as disabledCSS } from './variations/_disabled/base';\nimport { TabItemProps } from './TabItem.types';\nimport { LeftContent, RightContent, StyledContent, base } from './TabItem.styles';\n\nexport const tabItemRoot = (Root: RootProps<HTMLDivElement, TabItemProps>) =>\n forwardRef<HTMLDivElement, TabItemProps>((props, outerRef) => {\n const {\n size,\n view,\n isActive,\n selected,\n disabled = false,\n pilled = false,\n children,\n contentLeft,\n contentRight,\n animated = true,\n onIndexChange,\n itemIndex,\n tabIndex,\n ...rest\n } = props;\n\n const innerRef = useRef<HTMLDivElement>(null);\n const ref = useForkRef(outerRef, innerRef);\n const refs = useContext(TabsContext);\n\n const role = 'tab';\n\n const pilledAttr = view !== 'clear' && pilled;\n const animatedClass = animated ? classes.tabItemAnimated : undefined;\n const pilledClass = pilledAttr ? classes.tabsPilled : undefined;\n const selectedClass = isActive || selected ? classes.selectedTabsItem : undefined;\n const hasKeyNavigation = itemIndex !== undefined && onIndexChange !== undefined;\n const navigationTabIndex = !disabled && refs?.current === itemIndex ? 0 : -1;\n\n useEffect(() => {\n if (!refs) {\n return;\n }\n\n refs.register(innerRef);\n\n return () => refs.unregister(innerRef);\n }, [refs]);\n\n const onItemFocus = useCallback<React.FocusEventHandler>(\n (event) => {\n if (!hasKeyNavigation) {\n event.target.scrollIntoView({\n block: 'center',\n inline: 'center',\n behavior: 'smooth',\n });\n\n return;\n }\n\n if (disabled || !refs) {\n return;\n }\n\n const focusIndex = refs.items.findIndex((itemRef) => itemRef.current === event.target);\n\n if (focusIndex === refs.current) {\n return;\n }\n\n onIndexChange?.(focusIndex);\n refs.setCurrent(focusIndex);\n },\n [refs, innerRef, onIndexChange, disabled],\n );\n\n return (\n <Root\n ref={ref}\n disabled={disabled}\n pilled={pilled}\n role={role}\n view={view}\n size={size}\n onFocus={onItemFocus}\n tabIndex={hasKeyNavigation ? navigationTabIndex : tabIndex}\n className={cx(pilledClass, selectedClass, animatedClass)}\n {...rest}\n >\n <>\n {contentLeft && <LeftContent className={classes.tabLeftContent}>{contentLeft}</LeftContent>}\n <StyledContent className={classes.tabContent}>{children}</StyledContent>\n {contentRight && <RightContent className={classes.tabRightContent}>{contentRight}</RightContent>}\n </>\n </Root>\n );\n });\n\nexport const tabItemConfig: ComponentConfig = {\n name: 'TabItem',\n tag: 'button',\n layout: tabItemRoot,\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 },\n },\n defaults: {\n view: 'default',\n },\n};\n"],"names":["tabItemRoot","Root","forwardRef","props","outerRef","size","view","isActive","selected","_props$disabled","disabled","_props$pilled","pilled","children","contentLeft","contentRight","_props$animated","animated","onIndexChange","itemIndex","tabIndex","rest","_objectWithoutProperties","_excluded","innerRef","useRef","ref","useForkRef","refs","useContext","TabsContext","role","pilledAttr","animatedClass","classes","tabItemAnimated","undefined","pilledClass","tabsPilled","selectedClass","selectedTabsItem","hasKeyNavigation","navigationTabIndex","current","useEffect","register","unregister","onItemFocus","useCallback","event","target","scrollIntoView","block","inline","behavior","focusIndex","items","findIndex","itemRef","setCurrent","React","createElement","_extends","onFocus","className","cx","Fragment","LeftContent","tabLeftContent","StyledContent","tabContent","RightContent","tabRightContent","tabItemConfig","name","tag","layout","base","variations","css","sizeCSS","viewCSS","disabledCSS","attrs","pilledCSS","defaults"],"mappings":"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"}
1
+ {"version":3,"file":"TabItem.js","sources":["../../../../../src/components/Tabs/ui/TabItem/TabItem.tsx"],"sourcesContent":["import React, { forwardRef, useRef, useContext, useEffect, useCallback } from 'react';\nimport { useForkRef } from '@salutejs/plasma-core';\n\nimport { ComponentConfig, RootProps } from '../../../../engines';\nimport { classes } from '../../tokens';\nimport { cx } from '../../../../utils';\nimport { TabsContext } from '../../TabsContext';\n\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as sizeCSS } from './variations/_size/base';\nimport { base as pilledCSS } from './variations/_pilled/base';\nimport { base as disabledCSS } from './variations/_disabled/base';\nimport { TabItemProps } from './TabItem.types';\nimport { LeftContent, RightContent, StyledContent, base } from './TabItem.styles';\n\nexport const tabItemRoot = (Root: RootProps<HTMLDivElement, TabItemProps>) =>\n forwardRef<HTMLDivElement, TabItemProps>((props, outerRef) => {\n const {\n size,\n view,\n isActive,\n selected,\n disabled = false,\n pilled = false,\n children,\n contentLeft,\n contentRight,\n animated = true,\n onIndexChange,\n itemIndex,\n tabIndex,\n ...rest\n } = props;\n\n const innerRef = useRef<HTMLDivElement>(null);\n const ref = useForkRef(outerRef, innerRef);\n const refs = useContext(TabsContext);\n\n const role = 'tab';\n\n const pilledAttr = view !== 'clear' && pilled;\n const animatedClass = animated ? classes.tabItemAnimated : undefined;\n const pilledClass = pilledAttr ? classes.tabsPilled : undefined;\n const selectedClass = isActive || selected ? classes.selectedTabsItem : undefined;\n const hasKeyNavigation = itemIndex !== undefined && onIndexChange !== undefined;\n const navigationTabIndex = !disabled && refs?.current === itemIndex ? 0 : -1;\n\n useEffect(() => {\n if (!refs) {\n return;\n }\n\n refs.register(innerRef);\n\n return () => refs.unregister(innerRef);\n }, [refs]);\n\n const onItemFocus = useCallback<React.FocusEventHandler>(\n (event) => {\n if (!hasKeyNavigation) {\n event.target.scrollIntoView({\n block: 'center',\n inline: 'center',\n behavior: 'smooth',\n });\n\n return;\n }\n\n if (disabled || !refs) {\n return;\n }\n\n const focusIndex = refs.items.findIndex((itemRef) => itemRef.current === event.target);\n\n if (focusIndex === refs.current) {\n return;\n }\n\n onIndexChange?.(focusIndex);\n refs.setCurrent(focusIndex);\n },\n [refs, innerRef, onIndexChange, disabled],\n );\n\n return (\n <Root\n ref={ref}\n disabled={disabled}\n pilled={pilled}\n role={role}\n view={view}\n size={size}\n onFocus={onItemFocus}\n tabIndex={hasKeyNavigation ? navigationTabIndex : tabIndex}\n className={cx(pilledClass, selectedClass, animatedClass)}\n {...rest}\n >\n <>\n {contentLeft && <LeftContent className={classes.tabLeftContent}>{contentLeft}</LeftContent>}\n <StyledContent className={classes.tabContent}>{children}</StyledContent>\n {contentRight && <RightContent className={classes.tabRightContent}>{contentRight}</RightContent>}\n </>\n </Root>\n );\n });\n\nexport const tabItemConfig: ComponentConfig = {\n name: 'TabItem',\n tag: 'button',\n layout: tabItemRoot,\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 },\n },\n defaults: {\n view: 'default',\n },\n};\n"],"names":["tabItemRoot","Root","forwardRef","props","outerRef","size","view","isActive","selected","_props$disabled","disabled","_props$pilled","pilled","children","contentLeft","contentRight","_props$animated","animated","onIndexChange","itemIndex","tabIndex","rest","_objectWithoutProperties","_excluded","innerRef","useRef","ref","useForkRef","refs","useContext","TabsContext","role","pilledAttr","animatedClass","classes","tabItemAnimated","undefined","pilledClass","tabsPilled","selectedClass","selectedTabsItem","hasKeyNavigation","navigationTabIndex","current","useEffect","register","unregister","onItemFocus","useCallback","event","target","scrollIntoView","block","inline","behavior","focusIndex","items","findIndex","itemRef","setCurrent","React","createElement","_extends","onFocus","className","cx","Fragment","LeftContent","tabLeftContent","StyledContent","tabContent","RightContent","tabRightContent","tabItemConfig","name","tag","layout","base","variations","css","sizeCSS","viewCSS","disabledCSS","attrs","pilledCSS","defaults"],"mappings":"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"}
@@ -119,8 +119,8 @@ var tabsRoot = function tabsRoot(Root) {
119
119
  if (nextIndex !== index) {
120
120
  var _refs$items$nextIndex, _refs$items$nextIndex2;
121
121
  event.preventDefault();
122
- (_refs$items$nextIndex = refs.items[nextIndex].current) === null || _refs$items$nextIndex === void 0 ? void 0 : _refs$items$nextIndex.focus();
123
- (_refs$items$nextIndex2 = refs.items[nextIndex].current) === null || _refs$items$nextIndex2 === void 0 ? void 0 : _refs$items$nextIndex2.scrollIntoView({
122
+ (_refs$items$nextIndex = refs.items[nextIndex].current) === null || _refs$items$nextIndex === void 0 || _refs$items$nextIndex.focus();
123
+ (_refs$items$nextIndex2 = refs.items[nextIndex].current) === null || _refs$items$nextIndex2 === void 0 || _refs$items$nextIndex2.scrollIntoView({
124
124
  block: 'center',
125
125
  inline: 'center',
126
126
  behavior: 'smooth'
@@ -1 +1 @@
1
- {"version":3,"file":"Tabs.js","sources":["../../../../../src/components/Tabs/ui/Tabs/Tabs.tsx"],"sourcesContent":["import React, { forwardRef, useCallback, useMemo, useState, useEffect, useRef, KeyboardEvent } from 'react';\nimport type { MutableRefObject } from 'react';\nimport { animatedScrollToX, safeUseId } from '@salutejs/plasma-core';\n\nimport type { RootProps } from '../../../../engines/types';\nimport { IconDisclosureLeft, IconDisclosureRight } from '../../../_Icon';\nimport { classes, tokens } from '../../tokens';\nimport { cx } from '../../../../utils';\nimport { TabItemRefs, TabsContext } from '../../TabsContext';\n\nimport { base as sizeCSS } from './variations/_size/base';\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as disabledCSS } from './variations/_disabled/base';\nimport { base as pilledCSS } from './variations/_pilled/base';\nimport { base as stretchCSS } from './variations/_stretch/base';\nimport { StyledArrow, StyledContent, StyledContentWrapper, base } from './Tabs.styles';\nimport type { TabsProps } from './Tabs.types';\n\nenum Keys {\n end = 35,\n home = 36,\n left = 37,\n right = 39,\n}\n\nexport const tabsRoot = (Root: RootProps<HTMLDivElement, TabsProps>) =>\n forwardRef<HTMLDivElement, TabsProps>((props, outerRef) => {\n const { id, stretch = false, disabled = false, size, view, children, pilled, index, ...rest } = props;\n\n const [firstItemVisible, setFirstItemVisible] = useState(true);\n const [lastItemVisible, setLastItemVisible] = useState(true);\n\n const refs = useMemo(() => new TabItemRefs(index), []);\n\n const uniqId = safeUseId();\n const tabsId = id || uniqId;\n\n const isFilled = view === 'filled'; // outer padding is only for filled view\n const pilledAttr = view !== 'clear' && pilled;\n const pilledClass = pilledAttr ? classes.tabsPilled : undefined;\n\n const stretchClass = firstItemVisible && lastItemVisible && stretch ? classes.tabsStretch : undefined;\n const hasLeftArrowClass = !firstItemVisible ? classes.tabsHasLeftArrow : undefined;\n const hasRightArrowClass = !lastItemVisible ? classes.tabsHasRightArrow : undefined;\n\n const scrollRef = useRef<HTMLElement | null>(null);\n const trackRef = useRef<HTMLElement | null>(null);\n\n const onPrev = useCallback(() => {\n !disabled &&\n scrollRef.current &&\n animatedScrollToX(scrollRef.current, scrollRef.current.scrollLeft - scrollRef.current.offsetWidth / 2);\n }, [disabled, scrollRef]);\n\n const onNext = useCallback(() => {\n !disabled &&\n scrollRef.current &&\n animatedScrollToX(scrollRef.current, scrollRef.current.scrollLeft + scrollRef.current.offsetWidth / 2);\n }, [disabled, scrollRef]);\n\n const PreviousButton = useMemo(\n () => (\n <StyledArrow\n type=\"button\"\n aria-label=\"Предыдущий таб\"\n onClick={onPrev}\n tabIndex={disabled ? -1 : 0}\n disabled={disabled}\n isFilled={isFilled}\n isLeftArrow\n >\n <IconDisclosureLeft color={`var(${tokens.arrowColor})`} />\n </StyledArrow>\n ),\n [onPrev, disabled, isFilled],\n );\n\n const NextButton = useMemo(\n () => (\n <StyledArrow\n type=\"button\"\n aria-label=\"Следующий таб\"\n onClick={onNext}\n tabIndex={disabled ? -1 : 0}\n disabled={disabled}\n isFilled={isFilled}\n >\n <IconDisclosureRight color={`var(${tokens.arrowColor})`} />\n </StyledArrow>\n ),\n [onNext, disabled, isFilled],\n );\n\n const handleScroll = useCallback(\n (event: React.UIEvent<HTMLElement>): void => {\n event.stopPropagation();\n const maxScrollLeft = event.currentTarget.scrollWidth - event.currentTarget.clientWidth;\n\n setFirstItemVisible(event.currentTarget.scrollLeft <= 0);\n setLastItemVisible(event.currentTarget.scrollLeft >= maxScrollLeft);\n },\n [setFirstItemVisible, setLastItemVisible],\n );\n\n const onKeyDown = useCallback(\n (event: KeyboardEvent<HTMLDivElement>) => {\n if (index === undefined) {\n return;\n }\n\n const minIndex = 0;\n const maxIndex = refs.items.length - 1;\n let nextIndex: number;\n\n switch (event.keyCode) {\n case Keys.end:\n nextIndex = maxIndex;\n break;\n case Keys.left:\n nextIndex = index > minIndex ? index - 1 : index;\n break;\n case Keys.right:\n nextIndex = index < maxIndex ? index + 1 : index;\n break;\n case Keys.home:\n nextIndex = minIndex;\n break;\n default:\n return;\n }\n\n if (nextIndex !== index) {\n event.preventDefault();\n refs.items[nextIndex].current?.focus();\n refs.items[nextIndex].current?.scrollIntoView({\n block: 'center',\n inline: 'center',\n behavior: 'smooth',\n });\n }\n },\n [index],\n );\n\n useEffect(() => {\n setLastItemVisible(scrollRef.current?.scrollWidth === scrollRef.current?.clientWidth);\n }, []);\n\n return (\n <TabsContext.Provider value={refs}>\n <Root\n view={view}\n role=\"tablist\"\n size={size}\n pilled={pilled}\n id={tabsId}\n ref={outerRef}\n disabled={disabled}\n className={cx(pilledClass, stretchClass, hasLeftArrowClass, hasRightArrowClass)}\n onKeyDown={onKeyDown}\n {...rest}\n >\n {!firstItemVisible && PreviousButton}\n <StyledContentWrapper\n ref={scrollRef as MutableRefObject<HTMLDivElement | null>}\n onScroll={handleScroll}\n >\n <StyledContent ref={trackRef as MutableRefObject<HTMLDivElement | null>}>\n {children}\n </StyledContent>\n </StyledContentWrapper>\n {!lastItemVisible && NextButton}\n </Root>\n </TabsContext.Provider>\n );\n });\n\nexport const tabsConfig = {\n name: 'Tabs',\n tag: 'div',\n layout: tabsRoot,\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 stretch: {\n css: stretchCSS,\n attrs: true,\n },\n pilled: {\n css: pilledCSS,\n },\n },\n defaults: {\n view: 'clear',\n size: 'xs',\n },\n};\n"],"names":["Keys","tabsRoot","Root","forwardRef","props","outerRef","id","_props$stretch","stretch","_props$disabled","disabled","size","view","children","pilled","index","rest","_objectWithoutProperties","_excluded","_useState","useState","_useState2","_slicedToArray","firstItemVisible","setFirstItemVisible","_useState3","_useState4","lastItemVisible","setLastItemVisible","refs","useMemo","TabItemRefs","uniqId","safeUseId","tabsId","isFilled","pilledAttr","pilledClass","classes","tabsPilled","undefined","stretchClass","tabsStretch","hasLeftArrowClass","tabsHasLeftArrow","hasRightArrowClass","tabsHasRightArrow","scrollRef","useRef","trackRef","onPrev","useCallback","current","animatedScrollToX","scrollLeft","offsetWidth","onNext","PreviousButton","React","createElement","StyledArrow","type","onClick","tabIndex","isLeftArrow","IconDisclosureLeft","color","concat","tokens","arrowColor","NextButton","IconDisclosureRight","handleScroll","event","stopPropagation","maxScrollLeft","currentTarget","scrollWidth","clientWidth","onKeyDown","minIndex","maxIndex","items","length","nextIndex","keyCode","end","left","right","home","_refs$items$nextIndex","_refs$items$nextIndex2","preventDefault","focus","scrollIntoView","block","inline","behavior","useEffect","_scrollRef$current","_scrollRef$current2","TabsContext","Provider","value","_extends","role","ref","className","cx","StyledContentWrapper","onScroll","StyledContent","tabsConfig","name","tag","layout","base","variations","css","sizeCSS","viewCSS","disabledCSS","attrs","stretchCSS","pilledCSS","defaults"],"mappings":"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"}
1
+ {"version":3,"file":"Tabs.js","sources":["../../../../../src/components/Tabs/ui/Tabs/Tabs.tsx"],"sourcesContent":["import React, { forwardRef, useCallback, useMemo, useState, useEffect, useRef, KeyboardEvent } from 'react';\nimport type { MutableRefObject } from 'react';\nimport { animatedScrollToX, safeUseId } from '@salutejs/plasma-core';\n\nimport type { RootProps } from '../../../../engines/types';\nimport { IconDisclosureLeft, IconDisclosureRight } from '../../../_Icon';\nimport { classes, tokens } from '../../tokens';\nimport { cx } from '../../../../utils';\nimport { TabItemRefs, TabsContext } from '../../TabsContext';\n\nimport { base as sizeCSS } from './variations/_size/base';\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as disabledCSS } from './variations/_disabled/base';\nimport { base as pilledCSS } from './variations/_pilled/base';\nimport { base as stretchCSS } from './variations/_stretch/base';\nimport { StyledArrow, StyledContent, StyledContentWrapper, base } from './Tabs.styles';\nimport type { TabsProps } from './Tabs.types';\n\nenum Keys {\n end = 35,\n home = 36,\n left = 37,\n right = 39,\n}\n\nexport const tabsRoot = (Root: RootProps<HTMLDivElement, TabsProps>) =>\n forwardRef<HTMLDivElement, TabsProps>((props, outerRef) => {\n const { id, stretch = false, disabled = false, size, view, children, pilled, index, ...rest } = props;\n\n const [firstItemVisible, setFirstItemVisible] = useState(true);\n const [lastItemVisible, setLastItemVisible] = useState(true);\n\n const refs = useMemo(() => new TabItemRefs(index), []);\n\n const uniqId = safeUseId();\n const tabsId = id || uniqId;\n\n const isFilled = view === 'filled'; // outer padding is only for filled view\n const pilledAttr = view !== 'clear' && pilled;\n const pilledClass = pilledAttr ? classes.tabsPilled : undefined;\n\n const stretchClass = firstItemVisible && lastItemVisible && stretch ? classes.tabsStretch : undefined;\n const hasLeftArrowClass = !firstItemVisible ? classes.tabsHasLeftArrow : undefined;\n const hasRightArrowClass = !lastItemVisible ? classes.tabsHasRightArrow : undefined;\n\n const scrollRef = useRef<HTMLElement | null>(null);\n const trackRef = useRef<HTMLElement | null>(null);\n\n const onPrev = useCallback(() => {\n !disabled &&\n scrollRef.current &&\n animatedScrollToX(scrollRef.current, scrollRef.current.scrollLeft - scrollRef.current.offsetWidth / 2);\n }, [disabled, scrollRef]);\n\n const onNext = useCallback(() => {\n !disabled &&\n scrollRef.current &&\n animatedScrollToX(scrollRef.current, scrollRef.current.scrollLeft + scrollRef.current.offsetWidth / 2);\n }, [disabled, scrollRef]);\n\n const PreviousButton = useMemo(\n () => (\n <StyledArrow\n type=\"button\"\n aria-label=\"Предыдущий таб\"\n onClick={onPrev}\n tabIndex={disabled ? -1 : 0}\n disabled={disabled}\n isFilled={isFilled}\n isLeftArrow\n >\n <IconDisclosureLeft color={`var(${tokens.arrowColor})`} />\n </StyledArrow>\n ),\n [onPrev, disabled, isFilled],\n );\n\n const NextButton = useMemo(\n () => (\n <StyledArrow\n type=\"button\"\n aria-label=\"Следующий таб\"\n onClick={onNext}\n tabIndex={disabled ? -1 : 0}\n disabled={disabled}\n isFilled={isFilled}\n >\n <IconDisclosureRight color={`var(${tokens.arrowColor})`} />\n </StyledArrow>\n ),\n [onNext, disabled, isFilled],\n );\n\n const handleScroll = useCallback(\n (event: React.UIEvent<HTMLElement>): void => {\n event.stopPropagation();\n const maxScrollLeft = event.currentTarget.scrollWidth - event.currentTarget.clientWidth;\n\n setFirstItemVisible(event.currentTarget.scrollLeft <= 0);\n setLastItemVisible(event.currentTarget.scrollLeft >= maxScrollLeft);\n },\n [setFirstItemVisible, setLastItemVisible],\n );\n\n const onKeyDown = useCallback(\n (event: KeyboardEvent<HTMLDivElement>) => {\n if (index === undefined) {\n return;\n }\n\n const minIndex = 0;\n const maxIndex = refs.items.length - 1;\n let nextIndex: number;\n\n switch (event.keyCode) {\n case Keys.end:\n nextIndex = maxIndex;\n break;\n case Keys.left:\n nextIndex = index > minIndex ? index - 1 : index;\n break;\n case Keys.right:\n nextIndex = index < maxIndex ? index + 1 : index;\n break;\n case Keys.home:\n nextIndex = minIndex;\n break;\n default:\n return;\n }\n\n if (nextIndex !== index) {\n event.preventDefault();\n refs.items[nextIndex].current?.focus();\n refs.items[nextIndex].current?.scrollIntoView({\n block: 'center',\n inline: 'center',\n behavior: 'smooth',\n });\n }\n },\n [index],\n );\n\n useEffect(() => {\n setLastItemVisible(scrollRef.current?.scrollWidth === scrollRef.current?.clientWidth);\n }, []);\n\n return (\n <TabsContext.Provider value={refs}>\n <Root\n view={view}\n role=\"tablist\"\n size={size}\n pilled={pilled}\n id={tabsId}\n ref={outerRef}\n disabled={disabled}\n className={cx(pilledClass, stretchClass, hasLeftArrowClass, hasRightArrowClass)}\n onKeyDown={onKeyDown}\n {...rest}\n >\n {!firstItemVisible && PreviousButton}\n <StyledContentWrapper\n ref={scrollRef as MutableRefObject<HTMLDivElement | null>}\n onScroll={handleScroll}\n >\n <StyledContent ref={trackRef as MutableRefObject<HTMLDivElement | null>}>\n {children}\n </StyledContent>\n </StyledContentWrapper>\n {!lastItemVisible && NextButton}\n </Root>\n </TabsContext.Provider>\n );\n });\n\nexport const tabsConfig = {\n name: 'Tabs',\n tag: 'div',\n layout: tabsRoot,\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 stretch: {\n css: stretchCSS,\n attrs: true,\n },\n pilled: {\n css: pilledCSS,\n },\n },\n defaults: {\n view: 'clear',\n size: 'xs',\n },\n};\n"],"names":["Keys","tabsRoot","Root","forwardRef","props","outerRef","id","_props$stretch","stretch","_props$disabled","disabled","size","view","children","pilled","index","rest","_objectWithoutProperties","_excluded","_useState","useState","_useState2","_slicedToArray","firstItemVisible","setFirstItemVisible","_useState3","_useState4","lastItemVisible","setLastItemVisible","refs","useMemo","TabItemRefs","uniqId","safeUseId","tabsId","isFilled","pilledAttr","pilledClass","classes","tabsPilled","undefined","stretchClass","tabsStretch","hasLeftArrowClass","tabsHasLeftArrow","hasRightArrowClass","tabsHasRightArrow","scrollRef","useRef","trackRef","onPrev","useCallback","current","animatedScrollToX","scrollLeft","offsetWidth","onNext","PreviousButton","React","createElement","StyledArrow","type","onClick","tabIndex","isLeftArrow","IconDisclosureLeft","color","concat","tokens","arrowColor","NextButton","IconDisclosureRight","handleScroll","event","stopPropagation","maxScrollLeft","currentTarget","scrollWidth","clientWidth","onKeyDown","minIndex","maxIndex","items","length","nextIndex","keyCode","end","left","right","home","_refs$items$nextIndex","_refs$items$nextIndex2","preventDefault","focus","scrollIntoView","block","inline","behavior","useEffect","_scrollRef$current","_scrollRef$current2","TabsContext","Provider","value","_extends","role","ref","className","cx","StyledContentWrapper","onScroll","StyledContent","tabsConfig","name","tag","layout","base","variations","css","sizeCSS","viewCSS","disabledCSS","attrs","stretchCSS","pilledCSS","defaults"],"mappings":"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"}
@@ -120,7 +120,7 @@ var textAreaRoot = function textAreaRoot(Root) {
120
120
  if (value === undefined) {
121
121
  setUncontrolledValue(event === null || event === void 0 ? void 0 : event.target.value);
122
122
  }
123
- onChange === null || onChange === void 0 ? void 0 : onChange(event);
123
+ onChange === null || onChange === void 0 || onChange(event);
124
124
  }, [value, onChange]);
125
125
  var dynamicLabelClasses = getDynamicLabelClasses({
126
126
  readOnly: readOnly,
@@ -1 +1 @@
1
- {"version":3,"file":"TextArea.js","sources":["../../../src/components/TextArea/TextArea.tsx"],"sourcesContent":["import React, { forwardRef, useState, createRef, useCallback } from 'react';\nimport { css } from '@linaria/core';\nimport { useResizeObserver } from '@salutejs/plasma-core';\n\nimport { cx } from '../../utils';\nimport type { RootProps } from '../../engines/types';\n\nimport { applyDynamicLabel } from './mixins';\nimport { useAutoResize, ROOT_FONT_SIZE } from './hooks';\nimport {\n StyledContent,\n StyledHelpers,\n StyledLeftHelper,\n StyledRightHelper,\n StyledLabel,\n StyledPlaceholder,\n StyledTextArea,\n StyledTextAreaWrapper,\n StyledContainer,\n} from './TextArea.styles';\nimport { classes } from './TextArea.tokens';\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as sizeCSS } from './variations/_size/base';\nimport { base as disabledCSS } from './variations/_disabled/base';\nimport type { TextAreaProps } from './TextArea.types';\n\nconst {\n innerPlaceholderUp,\n focusedOuterPlaceholderColor,\n hidePlaceHolder,\n styledContainer,\n styledTextArea,\n styledTextAreaWrapper,\n styledPlaceholder,\n styledHelpers,\n} = classes;\n\nconst base = css`\n ${applyDynamicLabel};\n\n position: relative;\n box-sizing: border-box;\n`;\n\n// TODO: Удалить после отказа от старых библиотек plasma-web / plasma-b2c\nconst fallbackStatusMap = {\n '': 'primary',\n success: 'positive',\n warning: 'warning',\n error: 'negative',\n};\n\n// TODO: Перенести этот метод в файл applyDynamicLabel.ts\nexport const getDynamicLabelClasses = (props: TextAreaProps, focused: boolean) => {\n const { readOnly, label, labelPlacement, autoResize, rows, value } = props;\n\n // Добавить класс отвечающий за изменение цвета плейсхолдера при фокусе\n const withFocusedOuterUpPlaceholder =\n !readOnly && focused && (!label || labelPlacement === 'outer') ? focusedOuterPlaceholderColor : undefined;\n\n // Добавить класс отвечающий за поднятие и уменьшение плейсхолдера\n const withInnerPlaceholderUp =\n labelPlacement === 'inner' &&\n label &&\n !autoResize &&\n !rows &&\n ((!readOnly && (value || focused)) || (readOnly && value))\n ? innerPlaceholderUp\n : undefined;\n\n // Добавить класс отвечающий за скрытие плейсхолдера\n const withHidePlaceholder =\n (value && !label) ||\n (labelPlacement === 'inner' && ((focused && !readOnly) || value) && label && (rows || autoResize)) ||\n (labelPlacement === 'outer' && value)\n ? hidePlaceHolder\n : undefined;\n\n return [withFocusedOuterUpPlaceholder, withInnerPlaceholderUp, withHidePlaceholder];\n};\n\nexport const textAreaRoot = (Root: RootProps<HTMLTextAreaElement, TextAreaProps>) =>\n forwardRef<HTMLTextAreaElement, TextAreaProps>((props, innerRef) => {\n const {\n helperText,\n status,\n resize,\n rightHelper,\n leftHelper,\n contentRight,\n autoResize = false,\n minAuto = 0,\n maxAuto,\n label,\n labelPlacement = 'inner',\n placeholder,\n defaultValue,\n height,\n width,\n value,\n disabled,\n size,\n view,\n id,\n style,\n className,\n readOnly,\n rows,\n cols,\n onChange,\n ...rest\n } = props;\n\n const [helperWidth, setHelperWidth] = useState<string>(width ? `${width}rem` : '100%');\n const [focused, setFocused] = useState(false);\n const [uncontrolledValue, setUncontrolledValue] = useState<string | undefined>();\n\n const outerRef = innerRef && 'current' in innerRef ? innerRef : createRef<HTMLTextAreaElement>();\n const hasHelper = Boolean(leftHelper || rightHelper || helperText);\n const overriddenView = status !== undefined ? fallbackStatusMap[status] : view;\n const textareaHelperId = id ? `${id}-helper` : undefined;\n const applyCustomWidth = resize !== 'horizontal' && resize !== 'both' && !cols;\n const placeLabel = labelPlacement === 'inner' && label ? label : placeholder;\n\n useResizeObserver(outerRef, (currentElement) => {\n const { width: inlineWidth, height: inlineHeight } = currentElement.style;\n\n if (inlineWidth || inlineHeight || cols) {\n const { width: elementWidth } = currentElement.getBoundingClientRect();\n setHelperWidth(`${elementWidth / ROOT_FONT_SIZE}rem`);\n }\n });\n\n useAutoResize(autoResize, outerRef, value, minAuto, maxAuto);\n\n const onFocusHandler = useCallback(() => {\n setFocused(true);\n }, []);\n const onBlurHandler = useCallback(() => {\n setFocused(false);\n }, []);\n\n const onChangeHandler = useCallback(\n (event: React.ChangeEvent<HTMLTextAreaElement>) => {\n // INFO: Для крайне редких кейсов, когда value снаружи не контролируется\n if (value === undefined) {\n setUncontrolledValue(event?.target.value);\n }\n\n onChange?.(event);\n },\n [value, onChange],\n );\n\n const dynamicLabelClasses = getDynamicLabelClasses(\n { readOnly, label, labelPlacement, autoResize, rows, value: value || uncontrolledValue || defaultValue },\n focused,\n );\n\n return (\n <Root\n view={overriddenView}\n size={size}\n disabled={disabled}\n readOnly={readOnly}\n style={style}\n className={className}\n >\n {label && labelPlacement === 'outer' && <StyledLabel>{label}</StyledLabel>}\n <StyledContainer\n className={cx(styledContainer, ...dynamicLabelClasses)}\n width={helperWidth}\n onFocus={onFocusHandler}\n onBlur={onBlurHandler}\n >\n {contentRight && <StyledContent>{contentRight}</StyledContent>}\n <StyledTextAreaWrapper className={styledTextAreaWrapper} hasHelper={hasHelper}>\n <StyledTextArea\n className={styledTextArea}\n id={id}\n hasContentRight={Boolean(contentRight)}\n hasHelper={hasHelper}\n applyCustomWidth={applyCustomWidth}\n ref={outerRef}\n disabled={disabled}\n height={autoResize ? minAuto : height}\n width={width}\n placeholder={placeLabel}\n aria-describedby={textareaHelperId}\n value={value}\n readOnly={readOnly}\n rows={rows}\n cols={cols}\n resize={resize}\n defaultValue={defaultValue}\n onChange={onChangeHandler}\n {...rest}\n />\n </StyledTextAreaWrapper>\n {hasHelper && (\n <StyledHelpers className={styledHelpers} id={textareaHelperId}>\n {(leftHelper || helperText) && (\n <StyledLeftHelper>{leftHelper || helperText}</StyledLeftHelper>\n )}\n {rightHelper && <StyledRightHelper>{rightHelper}</StyledRightHelper>}\n </StyledHelpers>\n )}\n {placeLabel && (\n <StyledPlaceholder\n hasContentRight={Boolean(contentRight)}\n className={styledPlaceholder}\n htmlFor={id}\n >\n {placeLabel}\n </StyledPlaceholder>\n )}\n </StyledContainer>\n </Root>\n );\n });\n\nexport const textAreaConfig = {\n name: 'TextArea',\n tag: 'div',\n layout: textAreaRoot,\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 readOnly: {\n attrs: true,\n },\n },\n defaults: {\n size: 'm',\n view: 'primary',\n },\n};\n"],"names":["innerPlaceholderUp","classes","focusedOuterPlaceholderColor","hidePlaceHolder","styledContainer","styledTextArea","styledTextAreaWrapper","styledPlaceholder","styledHelpers","base","fallbackStatusMap","success","warning","error","getDynamicLabelClasses","props","focused","readOnly","label","labelPlacement","autoResize","rows","value","withFocusedOuterUpPlaceholder","undefined","withInnerPlaceholderUp","withHidePlaceholder","textAreaRoot","Root","forwardRef","innerRef","helperText","status","resize","rightHelper","leftHelper","contentRight","_props$autoResize","_props$minAuto","minAuto","maxAuto","_props$labelPlacement","placeholder","defaultValue","height","width","disabled","size","view","id","style","className","cols","onChange","rest","_excluded","_useState","useState","concat","_useState2","_slicedToArray","helperWidth","setHelperWidth","_useState3","_useState4","setFocused","_useState5","_useState6","uncontrolledValue","setUncontrolledValue","outerRef","createRef","hasHelper","Boolean","overriddenView","textareaHelperId","applyCustomWidth","placeLabel","useResizeObserver","currentElement","_currentElement$style","inlineWidth","inlineHeight","_currentElement$getBo","getBoundingClientRect","elementWidth","ROOT_FONT_SIZE","useAutoResize","onFocusHandler","useCallback","onBlurHandler","onChangeHandler","event","target","dynamicLabelClasses","React","createElement","StyledLabel","StyledContainer","cx","apply","_toConsumableArray","onFocus","onBlur","StyledContent","StyledTextAreaWrapper","StyledTextArea","_extends","hasContentRight","ref","StyledHelpers","StyledLeftHelper","StyledRightHelper","StyledPlaceholder","htmlFor","textAreaConfig","name","tag","layout","variations","css","sizeCSS","viewCSS","disabledCSS","attrs","defaults"],"mappings":"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"}
1
+ {"version":3,"file":"TextArea.js","sources":["../../../src/components/TextArea/TextArea.tsx"],"sourcesContent":["import React, { forwardRef, useState, createRef, useCallback } from 'react';\nimport { css } from '@linaria/core';\nimport { useResizeObserver } from '@salutejs/plasma-core';\n\nimport { cx } from '../../utils';\nimport type { RootProps } from '../../engines/types';\n\nimport { applyDynamicLabel } from './mixins';\nimport { useAutoResize, ROOT_FONT_SIZE } from './hooks';\nimport {\n StyledContent,\n StyledHelpers,\n StyledLeftHelper,\n StyledRightHelper,\n StyledLabel,\n StyledPlaceholder,\n StyledTextArea,\n StyledTextAreaWrapper,\n StyledContainer,\n} from './TextArea.styles';\nimport { classes } from './TextArea.tokens';\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as sizeCSS } from './variations/_size/base';\nimport { base as disabledCSS } from './variations/_disabled/base';\nimport type { TextAreaProps } from './TextArea.types';\n\nconst {\n innerPlaceholderUp,\n focusedOuterPlaceholderColor,\n hidePlaceHolder,\n styledContainer,\n styledTextArea,\n styledTextAreaWrapper,\n styledPlaceholder,\n styledHelpers,\n} = classes;\n\nconst base = css`\n ${applyDynamicLabel};\n\n position: relative;\n box-sizing: border-box;\n`;\n\n// TODO: Удалить после отказа от старых библиотек plasma-web / plasma-b2c\nconst fallbackStatusMap = {\n '': 'primary',\n success: 'positive',\n warning: 'warning',\n error: 'negative',\n};\n\n// TODO: Перенести этот метод в файл applyDynamicLabel.ts\nexport const getDynamicLabelClasses = (props: TextAreaProps, focused: boolean) => {\n const { readOnly, label, labelPlacement, autoResize, rows, value } = props;\n\n // Добавить класс отвечающий за изменение цвета плейсхолдера при фокусе\n const withFocusedOuterUpPlaceholder =\n !readOnly && focused && (!label || labelPlacement === 'outer') ? focusedOuterPlaceholderColor : undefined;\n\n // Добавить класс отвечающий за поднятие и уменьшение плейсхолдера\n const withInnerPlaceholderUp =\n labelPlacement === 'inner' &&\n label &&\n !autoResize &&\n !rows &&\n ((!readOnly && (value || focused)) || (readOnly && value))\n ? innerPlaceholderUp\n : undefined;\n\n // Добавить класс отвечающий за скрытие плейсхолдера\n const withHidePlaceholder =\n (value && !label) ||\n (labelPlacement === 'inner' && ((focused && !readOnly) || value) && label && (rows || autoResize)) ||\n (labelPlacement === 'outer' && value)\n ? hidePlaceHolder\n : undefined;\n\n return [withFocusedOuterUpPlaceholder, withInnerPlaceholderUp, withHidePlaceholder];\n};\n\nexport const textAreaRoot = (Root: RootProps<HTMLTextAreaElement, TextAreaProps>) =>\n forwardRef<HTMLTextAreaElement, TextAreaProps>((props, innerRef) => {\n const {\n helperText,\n status,\n resize,\n rightHelper,\n leftHelper,\n contentRight,\n autoResize = false,\n minAuto = 0,\n maxAuto,\n label,\n labelPlacement = 'inner',\n placeholder,\n defaultValue,\n height,\n width,\n value,\n disabled,\n size,\n view,\n id,\n style,\n className,\n readOnly,\n rows,\n cols,\n onChange,\n ...rest\n } = props;\n\n const [helperWidth, setHelperWidth] = useState<string>(width ? `${width}rem` : '100%');\n const [focused, setFocused] = useState(false);\n const [uncontrolledValue, setUncontrolledValue] = useState<string | undefined>();\n\n const outerRef = innerRef && 'current' in innerRef ? innerRef : createRef<HTMLTextAreaElement>();\n const hasHelper = Boolean(leftHelper || rightHelper || helperText);\n const overriddenView = status !== undefined ? fallbackStatusMap[status] : view;\n const textareaHelperId = id ? `${id}-helper` : undefined;\n const applyCustomWidth = resize !== 'horizontal' && resize !== 'both' && !cols;\n const placeLabel = labelPlacement === 'inner' && label ? label : placeholder;\n\n useResizeObserver(outerRef, (currentElement) => {\n const { width: inlineWidth, height: inlineHeight } = currentElement.style;\n\n if (inlineWidth || inlineHeight || cols) {\n const { width: elementWidth } = currentElement.getBoundingClientRect();\n setHelperWidth(`${elementWidth / ROOT_FONT_SIZE}rem`);\n }\n });\n\n useAutoResize(autoResize, outerRef, value, minAuto, maxAuto);\n\n const onFocusHandler = useCallback(() => {\n setFocused(true);\n }, []);\n const onBlurHandler = useCallback(() => {\n setFocused(false);\n }, []);\n\n const onChangeHandler = useCallback(\n (event: React.ChangeEvent<HTMLTextAreaElement>) => {\n // INFO: Для крайне редких кейсов, когда value снаружи не контролируется\n if (value === undefined) {\n setUncontrolledValue(event?.target.value);\n }\n\n onChange?.(event);\n },\n [value, onChange],\n );\n\n const dynamicLabelClasses = getDynamicLabelClasses(\n { readOnly, label, labelPlacement, autoResize, rows, value: value || uncontrolledValue || defaultValue },\n focused,\n );\n\n return (\n <Root\n view={overriddenView}\n size={size}\n disabled={disabled}\n readOnly={readOnly}\n style={style}\n className={className}\n >\n {label && labelPlacement === 'outer' && <StyledLabel>{label}</StyledLabel>}\n <StyledContainer\n className={cx(styledContainer, ...dynamicLabelClasses)}\n width={helperWidth}\n onFocus={onFocusHandler}\n onBlur={onBlurHandler}\n >\n {contentRight && <StyledContent>{contentRight}</StyledContent>}\n <StyledTextAreaWrapper className={styledTextAreaWrapper} hasHelper={hasHelper}>\n <StyledTextArea\n className={styledTextArea}\n id={id}\n hasContentRight={Boolean(contentRight)}\n hasHelper={hasHelper}\n applyCustomWidth={applyCustomWidth}\n ref={outerRef}\n disabled={disabled}\n height={autoResize ? minAuto : height}\n width={width}\n placeholder={placeLabel}\n aria-describedby={textareaHelperId}\n value={value}\n readOnly={readOnly}\n rows={rows}\n cols={cols}\n resize={resize}\n defaultValue={defaultValue}\n onChange={onChangeHandler}\n {...rest}\n />\n </StyledTextAreaWrapper>\n {hasHelper && (\n <StyledHelpers className={styledHelpers} id={textareaHelperId}>\n {(leftHelper || helperText) && (\n <StyledLeftHelper>{leftHelper || helperText}</StyledLeftHelper>\n )}\n {rightHelper && <StyledRightHelper>{rightHelper}</StyledRightHelper>}\n </StyledHelpers>\n )}\n {placeLabel && (\n <StyledPlaceholder\n hasContentRight={Boolean(contentRight)}\n className={styledPlaceholder}\n htmlFor={id}\n >\n {placeLabel}\n </StyledPlaceholder>\n )}\n </StyledContainer>\n </Root>\n );\n });\n\nexport const textAreaConfig = {\n name: 'TextArea',\n tag: 'div',\n layout: textAreaRoot,\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 readOnly: {\n attrs: true,\n },\n },\n defaults: {\n size: 'm',\n view: 'primary',\n },\n};\n"],"names":["innerPlaceholderUp","classes","focusedOuterPlaceholderColor","hidePlaceHolder","styledContainer","styledTextArea","styledTextAreaWrapper","styledPlaceholder","styledHelpers","base","fallbackStatusMap","success","warning","error","getDynamicLabelClasses","props","focused","readOnly","label","labelPlacement","autoResize","rows","value","withFocusedOuterUpPlaceholder","undefined","withInnerPlaceholderUp","withHidePlaceholder","textAreaRoot","Root","forwardRef","innerRef","helperText","status","resize","rightHelper","leftHelper","contentRight","_props$autoResize","_props$minAuto","minAuto","maxAuto","_props$labelPlacement","placeholder","defaultValue","height","width","disabled","size","view","id","style","className","cols","onChange","rest","_excluded","_useState","useState","concat","_useState2","_slicedToArray","helperWidth","setHelperWidth","_useState3","_useState4","setFocused","_useState5","_useState6","uncontrolledValue","setUncontrolledValue","outerRef","createRef","hasHelper","Boolean","overriddenView","textareaHelperId","applyCustomWidth","placeLabel","useResizeObserver","currentElement","_currentElement$style","inlineWidth","inlineHeight","_currentElement$getBo","getBoundingClientRect","elementWidth","ROOT_FONT_SIZE","useAutoResize","onFocusHandler","useCallback","onBlurHandler","onChangeHandler","event","target","dynamicLabelClasses","React","createElement","StyledLabel","StyledContainer","cx","apply","_toConsumableArray","onFocus","onBlur","StyledContent","StyledTextAreaWrapper","StyledTextArea","_extends","hasContentRight","ref","StyledHelpers","StyledLeftHelper","StyledRightHelper","StyledPlaceholder","htmlFor","textAreaConfig","name","tag","layout","variations","css","sizeCSS","viewCSS","disabledCSS","attrs","defaults"],"mappings":"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"}
@@ -73,11 +73,11 @@ var textFieldRoot = function textFieldRoot(Root) {
73
73
  if (maxLength !== -1 && value.length > maxLength) {
74
74
  return;
75
75
  }
76
- onChange === null || onChange === void 0 ? void 0 : onChange(event);
76
+ onChange === null || onChange === void 0 || onChange(event);
77
77
  };
78
78
  var updateChips = function updateChips(newChips, newValues) {
79
79
  setChips(newChips);
80
- onChangeChips === null || onChangeChips === void 0 ? void 0 : onChangeChips(newValues);
80
+ onChangeChips === null || onChangeChips === void 0 || onChangeChips(newValues);
81
81
  };
82
82
  var _useKeyNavigation = useKeyNavigation({
83
83
  controlledRefs: controlledRefs,
@@ -1 +1 @@
1
- {"version":3,"file":"TextField.js","sources":["../../../src/components/TextField/TextField.tsx"],"sourcesContent":["import React, { forwardRef, useEffect, useRef, useState } from 'react';\nimport type { ChangeEventHandler } from 'react';\nimport { safeUseId } from '@salutejs/plasma-core';\nimport { css } from '@linaria/core';\n\nimport type { RootProps } from '../../engines';\nimport { cx } from '../../utils';\n\nimport type { ChipValues, TextFieldPrimitiveValue, TextFieldProps } from './TextField.types';\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 readOnlyCSS } from './variations/_read-only/base';\nimport { base as labelPlacementCSS } from './variations/_label-placement/base';\nimport {\n Input,\n LeftHelper,\n Label,\n InputWrapper,\n InputLabelWrapper,\n StyledContentLeft,\n StyledContentRight,\n StyledChips,\n} from './TextField.styles';\nimport { classes } from './TextField.tokens';\nimport { TextFieldChip } from './ui';\nimport { useKeyNavigation } from './hooks/useKeyNavigation';\n\nexport const base = css`\n /* NOTE: Webkit не применяет opacity к inline тегам */\n display: block;\n overflow: hidden;\n`;\n\nexport const textFieldRoot = (Root: RootProps<HTMLDivElement, TextFieldProps>) =>\n forwardRef<HTMLDivElement, TextFieldProps>(\n (\n {\n id,\n\n // layout\n contentLeft,\n contentRight,\n label,\n labelPlacement,\n placeholder,\n leftHelper,\n enumerationType = 'plain',\n\n // variations\n view,\n size,\n readOnly = false,\n disabled = false,\n\n // controlled\n chips: values,\n\n // events\n onChange,\n onChangeChips,\n onSearch,\n\n ...rest\n },\n ref,\n ) => {\n const contentRef = useRef<HTMLDivElement>(null);\n const inputRef = useRef<HTMLInputElement>(null);\n const chipsRefs = useRef<Array<HTMLButtonElement>>([]);\n\n const controlledRefs = { contentRef, inputRef, chipsRefs };\n\n const [chips, setChips] = useState<Array<ChipValues>>([]);\n\n const uniqId = safeUseId();\n const innerId = id || uniqId;\n const labelId = safeUseId();\n const helperTextId = safeUseId();\n\n const isChipEnumeration = enumerationType === 'chip';\n const hideLabel = (size === 'xs' || isChipEnumeration) && labelPlacement === 'inner';\n const labelInside = size !== 'xs' && labelPlacement === 'inner';\n const innerLabelPlacementValue = hideLabel ? 'outer' : labelPlacement;\n const innerPlaceholderValue = hideLabel ? label : placeholder;\n const innerLabelValue = hideLabel ? undefined : label;\n\n const isChipsVisible = isChipEnumeration && chips?.length;\n const withHasChips = isChipsVisible ? classes.hasChips : undefined;\n const wrapperWithoutLeftContent = !contentLeft && isChipsVisible ? classes.hasEmptyContentLeft : undefined;\n const wrapperWithoutRightContent =\n !contentRight && isChipsVisible ? classes.hasEmptyContentRight : undefined;\n\n const handleChange: ChangeEventHandler<HTMLInputElement> = (event) => {\n if (disabled || readOnly) {\n return;\n }\n\n const { maxLength, value } = event.target;\n\n if (maxLength !== -1 && value.length > maxLength) {\n return;\n }\n\n onChange?.(event);\n };\n\n const updateChips = (newChips: Array<ChipValues>, newValues: Array<TextFieldPrimitiveValue>) => {\n setChips(newChips);\n onChangeChips?.(newValues);\n };\n\n const { handleInputKeydown, handleChipKeyDown, onChipClear, handleContentKeyDown } = useKeyNavigation({\n controlledRefs,\n disabled,\n readOnly,\n chips,\n enumerationType,\n updateChips,\n onSearch,\n onChange,\n });\n\n const onChipClick = (event: React.MouseEvent<HTMLButtonElement>) => event.stopPropagation();\n\n const handleInputFocus = () => {\n if (readOnly || disabled || !inputRef?.current) {\n return;\n }\n\n inputRef.current.scrollIntoView({\n behavior: 'smooth',\n block: 'center',\n inline: 'center',\n });\n inputRef.current.focus({ preventScroll: true });\n };\n\n const getRef = (element: HTMLButtonElement | null, index: number) => {\n if (element && chipsRefs?.current) {\n chipsRefs.current[index] = element;\n }\n };\n\n useEffect(() => {\n if (!isChipEnumeration && !values?.length) {\n return;\n }\n\n const newChips =\n values?.map((value, index) => ({\n id: `${index}_${value}`,\n text: value,\n })) || [];\n\n setChips(newChips);\n }, [isChipEnumeration, values]);\n\n return (\n <Root\n ref={ref}\n view={view}\n size={size}\n disabled={disabled}\n readOnly={!disabled && readOnly}\n labelPlacement={innerLabelPlacementValue}\n onClick={handleInputFocus}\n >\n {labelInside ||\n (innerLabelValue && (\n <Label id={labelId} htmlFor={id}>\n {innerLabelValue}\n </Label>\n ))}\n <InputWrapper className={cx(withHasChips, wrapperWithoutLeftContent, wrapperWithoutRightContent)}>\n {contentLeft && <StyledContentLeft>{contentLeft}</StyledContentLeft>}\n <InputLabelWrapper\n tabIndex={-1}\n ref={contentRef}\n onKeyDown={handleContentKeyDown}\n className={withHasChips}\n >\n {isChipEnumeration && Boolean(chips?.length) && (\n <StyledChips>\n {chips?.map(({ id: chipId, text }, index) => {\n return (\n <TextFieldChip\n id={chipId}\n ref={(element) => getRef(element, index)}\n key={`${chipId}_${index}`}\n disabled={disabled}\n readOnly={readOnly}\n value={text}\n text={text}\n onKeyDown={(event) => handleChipKeyDown(event, chipId, index)}\n onClear={() => onChipClear(chipId, index)}\n onClick={onChipClick}\n />\n );\n })}\n </StyledChips>\n )}\n <Input\n {...rest}\n ref={inputRef}\n id={innerId}\n aria-labelledby={labelId}\n aria-describedby={helperTextId}\n placeholder={innerPlaceholderValue}\n disabled={disabled}\n readOnly={!disabled && readOnly}\n onChange={handleChange}\n onKeyDown={handleInputKeydown}\n />\n {labelInside && (\n <Label id={labelId} htmlFor={innerId}>\n {innerLabelValue}\n </Label>\n )}\n </InputLabelWrapper>\n {contentRight && <StyledContentRight>{contentRight}</StyledContentRight>}\n </InputWrapper>\n {leftHelper && <LeftHelper id={helperTextId}>{leftHelper}</LeftHelper>}\n </Root>\n );\n },\n );\n\nexport const textFieldConfig = {\n name: 'TextField',\n tag: 'div',\n layout: textFieldRoot,\n base,\n variations: {\n view: {\n css: viewCSS,\n },\n size: {\n css: sizeCSS,\n },\n disabled: {\n css: disabledCSS,\n attrs: true,\n },\n readOnly: {\n css: readOnlyCSS,\n attrs: true,\n },\n labelPlacement: {\n css: labelPlacementCSS,\n },\n },\n defaults: {\n size: 'm',\n view: 'default',\n },\n};\n"],"names":["base","textFieldRoot","Root","forwardRef","_ref","ref","id","contentLeft","contentRight","label","labelPlacement","placeholder","leftHelper","_ref$enumerationType","enumerationType","view","size","_ref$readOnly","readOnly","_ref$disabled","disabled","values","chips","onChange","onChangeChips","onSearch","rest","contentRef","useRef","inputRef","chipsRefs","controlledRefs","_useState","useState","_useState2","_slicedToArray","setChips","uniqId","safeUseId","innerId","labelId","helperTextId","isChipEnumeration","hideLabel","labelInside","innerLabelPlacementValue","innerPlaceholderValue","innerLabelValue","undefined","isChipsVisible","length","withHasChips","classes","hasChips","wrapperWithoutLeftContent","hasEmptyContentLeft","wrapperWithoutRightContent","hasEmptyContentRight","handleChange","event","_event$target","target","maxLength","value","updateChips","newChips","newValues","_useKeyNavigation","useKeyNavigation","handleInputKeydown","handleChipKeyDown","onChipClear","handleContentKeyDown","onChipClick","stopPropagation","handleInputFocus","current","scrollIntoView","behavior","block","inline","focus","preventScroll","getRef","element","index","useEffect","map","concat","text","React","createElement","onClick","Label","htmlFor","InputWrapper","className","cx","StyledContentLeft","InputLabelWrapper","tabIndex","onKeyDown","Boolean","StyledChips","_ref2","chipId","TextFieldChip","key","onClear","Input","_extends","StyledContentRight","LeftHelper","textFieldConfig","name","tag","layout","variations","css","viewCSS","sizeCSS","disabledCSS","attrs","readOnlyCSS","labelPlacementCSS","defaults"],"mappings":"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"}
1
+ {"version":3,"file":"TextField.js","sources":["../../../src/components/TextField/TextField.tsx"],"sourcesContent":["import React, { forwardRef, useEffect, useRef, useState } from 'react';\nimport type { ChangeEventHandler } from 'react';\nimport { safeUseId } from '@salutejs/plasma-core';\nimport { css } from '@linaria/core';\n\nimport type { RootProps } from '../../engines';\nimport { cx } from '../../utils';\n\nimport type { ChipValues, TextFieldPrimitiveValue, TextFieldProps } from './TextField.types';\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 readOnlyCSS } from './variations/_read-only/base';\nimport { base as labelPlacementCSS } from './variations/_label-placement/base';\nimport {\n Input,\n LeftHelper,\n Label,\n InputWrapper,\n InputLabelWrapper,\n StyledContentLeft,\n StyledContentRight,\n StyledChips,\n} from './TextField.styles';\nimport { classes } from './TextField.tokens';\nimport { TextFieldChip } from './ui';\nimport { useKeyNavigation } from './hooks/useKeyNavigation';\n\nexport const base = css`\n /* NOTE: Webkit не применяет opacity к inline тегам */\n display: block;\n overflow: hidden;\n`;\n\nexport const textFieldRoot = (Root: RootProps<HTMLDivElement, TextFieldProps>) =>\n forwardRef<HTMLDivElement, TextFieldProps>(\n (\n {\n id,\n\n // layout\n contentLeft,\n contentRight,\n label,\n labelPlacement,\n placeholder,\n leftHelper,\n enumerationType = 'plain',\n\n // variations\n view,\n size,\n readOnly = false,\n disabled = false,\n\n // controlled\n chips: values,\n\n // events\n onChange,\n onChangeChips,\n onSearch,\n\n ...rest\n },\n ref,\n ) => {\n const contentRef = useRef<HTMLDivElement>(null);\n const inputRef = useRef<HTMLInputElement>(null);\n const chipsRefs = useRef<Array<HTMLButtonElement>>([]);\n\n const controlledRefs = { contentRef, inputRef, chipsRefs };\n\n const [chips, setChips] = useState<Array<ChipValues>>([]);\n\n const uniqId = safeUseId();\n const innerId = id || uniqId;\n const labelId = safeUseId();\n const helperTextId = safeUseId();\n\n const isChipEnumeration = enumerationType === 'chip';\n const hideLabel = (size === 'xs' || isChipEnumeration) && labelPlacement === 'inner';\n const labelInside = size !== 'xs' && labelPlacement === 'inner';\n const innerLabelPlacementValue = hideLabel ? 'outer' : labelPlacement;\n const innerPlaceholderValue = hideLabel ? label : placeholder;\n const innerLabelValue = hideLabel ? undefined : label;\n\n const isChipsVisible = isChipEnumeration && chips?.length;\n const withHasChips = isChipsVisible ? classes.hasChips : undefined;\n const wrapperWithoutLeftContent = !contentLeft && isChipsVisible ? classes.hasEmptyContentLeft : undefined;\n const wrapperWithoutRightContent =\n !contentRight && isChipsVisible ? classes.hasEmptyContentRight : undefined;\n\n const handleChange: ChangeEventHandler<HTMLInputElement> = (event) => {\n if (disabled || readOnly) {\n return;\n }\n\n const { maxLength, value } = event.target;\n\n if (maxLength !== -1 && value.length > maxLength) {\n return;\n }\n\n onChange?.(event);\n };\n\n const updateChips = (newChips: Array<ChipValues>, newValues: Array<TextFieldPrimitiveValue>) => {\n setChips(newChips);\n onChangeChips?.(newValues);\n };\n\n const { handleInputKeydown, handleChipKeyDown, onChipClear, handleContentKeyDown } = useKeyNavigation({\n controlledRefs,\n disabled,\n readOnly,\n chips,\n enumerationType,\n updateChips,\n onSearch,\n onChange,\n });\n\n const onChipClick = (event: React.MouseEvent<HTMLButtonElement>) => event.stopPropagation();\n\n const handleInputFocus = () => {\n if (readOnly || disabled || !inputRef?.current) {\n return;\n }\n\n inputRef.current.scrollIntoView({\n behavior: 'smooth',\n block: 'center',\n inline: 'center',\n });\n inputRef.current.focus({ preventScroll: true });\n };\n\n const getRef = (element: HTMLButtonElement | null, index: number) => {\n if (element && chipsRefs?.current) {\n chipsRefs.current[index] = element;\n }\n };\n\n useEffect(() => {\n if (!isChipEnumeration && !values?.length) {\n return;\n }\n\n const newChips =\n values?.map((value, index) => ({\n id: `${index}_${value}`,\n text: value,\n })) || [];\n\n setChips(newChips);\n }, [isChipEnumeration, values]);\n\n return (\n <Root\n ref={ref}\n view={view}\n size={size}\n disabled={disabled}\n readOnly={!disabled && readOnly}\n labelPlacement={innerLabelPlacementValue}\n onClick={handleInputFocus}\n >\n {labelInside ||\n (innerLabelValue && (\n <Label id={labelId} htmlFor={id}>\n {innerLabelValue}\n </Label>\n ))}\n <InputWrapper className={cx(withHasChips, wrapperWithoutLeftContent, wrapperWithoutRightContent)}>\n {contentLeft && <StyledContentLeft>{contentLeft}</StyledContentLeft>}\n <InputLabelWrapper\n tabIndex={-1}\n ref={contentRef}\n onKeyDown={handleContentKeyDown}\n className={withHasChips}\n >\n {isChipEnumeration && Boolean(chips?.length) && (\n <StyledChips>\n {chips?.map(({ id: chipId, text }, index) => {\n return (\n <TextFieldChip\n id={chipId}\n ref={(element) => getRef(element, index)}\n key={`${chipId}_${index}`}\n disabled={disabled}\n readOnly={readOnly}\n value={text}\n text={text}\n onKeyDown={(event) => handleChipKeyDown(event, chipId, index)}\n onClear={() => onChipClear(chipId, index)}\n onClick={onChipClick}\n />\n );\n })}\n </StyledChips>\n )}\n <Input\n {...rest}\n ref={inputRef}\n id={innerId}\n aria-labelledby={labelId}\n aria-describedby={helperTextId}\n placeholder={innerPlaceholderValue}\n disabled={disabled}\n readOnly={!disabled && readOnly}\n onChange={handleChange}\n onKeyDown={handleInputKeydown}\n />\n {labelInside && (\n <Label id={labelId} htmlFor={innerId}>\n {innerLabelValue}\n </Label>\n )}\n </InputLabelWrapper>\n {contentRight && <StyledContentRight>{contentRight}</StyledContentRight>}\n </InputWrapper>\n {leftHelper && <LeftHelper id={helperTextId}>{leftHelper}</LeftHelper>}\n </Root>\n );\n },\n );\n\nexport const textFieldConfig = {\n name: 'TextField',\n tag: 'div',\n layout: textFieldRoot,\n base,\n variations: {\n view: {\n css: viewCSS,\n },\n size: {\n css: sizeCSS,\n },\n disabled: {\n css: disabledCSS,\n attrs: true,\n },\n readOnly: {\n css: readOnlyCSS,\n attrs: true,\n },\n labelPlacement: {\n css: labelPlacementCSS,\n },\n },\n defaults: {\n size: 'm',\n view: 'default',\n },\n};\n"],"names":["base","textFieldRoot","Root","forwardRef","_ref","ref","id","contentLeft","contentRight","label","labelPlacement","placeholder","leftHelper","_ref$enumerationType","enumerationType","view","size","_ref$readOnly","readOnly","_ref$disabled","disabled","values","chips","onChange","onChangeChips","onSearch","rest","contentRef","useRef","inputRef","chipsRefs","controlledRefs","_useState","useState","_useState2","_slicedToArray","setChips","uniqId","safeUseId","innerId","labelId","helperTextId","isChipEnumeration","hideLabel","labelInside","innerLabelPlacementValue","innerPlaceholderValue","innerLabelValue","undefined","isChipsVisible","length","withHasChips","classes","hasChips","wrapperWithoutLeftContent","hasEmptyContentLeft","wrapperWithoutRightContent","hasEmptyContentRight","handleChange","event","_event$target","target","maxLength","value","updateChips","newChips","newValues","_useKeyNavigation","useKeyNavigation","handleInputKeydown","handleChipKeyDown","onChipClear","handleContentKeyDown","onChipClick","stopPropagation","handleInputFocus","current","scrollIntoView","behavior","block","inline","focus","preventScroll","getRef","element","index","useEffect","map","concat","text","React","createElement","onClick","Label","htmlFor","InputWrapper","className","cx","StyledContentLeft","InputLabelWrapper","tabIndex","onKeyDown","Boolean","StyledChips","_ref2","chipId","TextFieldChip","key","onClear","Input","_extends","StyledContentRight","LeftHelper","textFieldConfig","name","tag","layout","variations","css","viewCSS","sizeCSS","disabledCSS","attrs","readOnlyCSS","labelPlacementCSS","defaults"],"mappings":"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"}
@@ -44,15 +44,15 @@ var useKeyNavigation = function useKeyNavigation(_ref) {
44
44
  });
45
45
  updateChips(newChips, newValues);
46
46
  event.target.value = '';
47
- onChange === null || onChange === void 0 ? void 0 : onChange(event);
47
+ onChange === null || onChange === void 0 || onChange(event);
48
48
  }
49
49
  if (event.key === Keys.Enter && onSearch) {
50
50
  onSearch(value, event);
51
51
  }
52
- if (event.key === Keys.Backspace && chips.length && (inputRef === null || inputRef === void 0 ? void 0 : (_inputRef$current = inputRef.current) === null || _inputRef$current === void 0 ? void 0 : _inputRef$current.selectionStart) === 0) {
52
+ if (event.key === Keys.Backspace && chips.length && (inputRef === null || inputRef === void 0 || (_inputRef$current = inputRef.current) === null || _inputRef$current === void 0 ? void 0 : _inputRef$current.selectionStart) === 0) {
53
53
  var _newChips = _toConsumableArray(chips);
54
- _newChips === null || _newChips === void 0 ? void 0 : _newChips.pop();
55
- chipsRefs === null || chipsRefs === void 0 ? void 0 : chipsRefs.current.pop();
54
+ _newChips === null || _newChips === void 0 || _newChips.pop();
55
+ chipsRefs === null || chipsRefs === void 0 || chipsRefs.current.pop();
56
56
  var _newValues = _newChips.map(function (_ref4) {
57
57
  var text = _ref4.text;
58
58
  return text;
@@ -72,7 +72,7 @@ var useKeyNavigation = function useKeyNavigation(_ref) {
72
72
  var text = _ref6.text;
73
73
  return text;
74
74
  });
75
- chipsRefs === null || chipsRefs === void 0 ? void 0 : chipsRefs.current.splice(index, 1);
75
+ chipsRefs === null || chipsRefs === void 0 || chipsRefs.current.splice(index, 1);
76
76
  updateChips(newChips, newValues);
77
77
  };
78
78
  var handleChipKeyDown = function handleChipKeyDown(event, chipId, chipIndex) {
@@ -86,7 +86,7 @@ var useKeyNavigation = function useKeyNavigation(_ref) {
86
86
  var handleContentKeyDown = function handleContentKeyDown(event) {
87
87
  var _inputRef$current2, _focusedItem, _focusedItem2;
88
88
  var chipsRefsCount = chipsRefs.current.length;
89
- var currentCaretPosition = (inputRef === null || inputRef === void 0 ? void 0 : (_inputRef$current2 = inputRef.current) === null || _inputRef$current2 === void 0 ? void 0 : _inputRef$current2.selectionStart) || 0;
89
+ var currentCaretPosition = (inputRef === null || inputRef === void 0 || (_inputRef$current2 = inputRef.current) === null || _inputRef$current2 === void 0 ? void 0 : _inputRef$current2.selectionStart) || 0;
90
90
  var newActiveChipIndex = activeChipIndex;
91
91
  var focusedItem = null;
92
92
  if (event.key === Keys.ArrowLeft && enumerationType === 'chip' && currentCaretPosition <= 0) {
@@ -105,10 +105,10 @@ var useKeyNavigation = function useKeyNavigation(_ref) {
105
105
  var _chipsRefs$current3;
106
106
  var _index2 = activeChipIndex - 1 <= 0 ? 0 : activeChipIndex - 1;
107
107
  newActiveChipIndex = chipsRefsCount === 0 ? -1 : _index2;
108
- focusedItem = chipsRefsCount === 0 ? inputRef === null || inputRef === void 0 ? void 0 : inputRef.current : chipsRefs === null || chipsRefs === void 0 ? void 0 : (_chipsRefs$current3 = chipsRefs.current) === null || _chipsRefs$current3 === void 0 ? void 0 : _chipsRefs$current3[newActiveChipIndex];
108
+ focusedItem = chipsRefsCount === 0 ? inputRef === null || inputRef === void 0 ? void 0 : inputRef.current : chipsRefs === null || chipsRefs === void 0 || (_chipsRefs$current3 = chipsRefs.current) === null || _chipsRefs$current3 === void 0 ? void 0 : _chipsRefs$current3[newActiveChipIndex];
109
109
  }
110
- (_focusedItem = focusedItem) === null || _focusedItem === void 0 ? void 0 : _focusedItem.focus();
111
- (_focusedItem2 = focusedItem) === null || _focusedItem2 === void 0 ? void 0 : _focusedItem2.scrollIntoView({
110
+ (_focusedItem = focusedItem) === null || _focusedItem === void 0 || _focusedItem.focus();
111
+ (_focusedItem2 = focusedItem) === null || _focusedItem2 === void 0 || _focusedItem2.scrollIntoView({
112
112
  behavior: 'smooth',
113
113
  block: 'center',
114
114
  inline: 'center'
@@ -1 +1 @@
1
- {"version":3,"file":"useKeyNavigation.js","sources":["../../../../src/components/TextField/hooks/useKeyNavigation.ts"],"sourcesContent":["import { useState } from 'react';\nimport type { ChangeEvent, KeyboardEvent } from 'react';\n\nimport type { UseKeyNavigationProps } from '../TextField.types';\n\nexport const Keys = {\n Enter: 'Enter',\n Tab: 'Tab',\n Escape: 'Escape',\n ArrowLeft: 'ArrowLeft',\n ArrowRight: 'ArrowRight',\n Backspace: 'Backspace',\n};\n\nexport const useKeyNavigation = ({\n controlledRefs: { chipsRefs, contentRef, inputRef },\n disabled,\n readOnly,\n chips,\n enumerationType,\n updateChips,\n onChange,\n onSearch,\n}: UseKeyNavigationProps) => {\n const [activeChipIndex, setActiveChipIndex] = useState(-1);\n\n const handleInputKeydown = (event: ChangeEvent<HTMLInputElement> & KeyboardEvent<HTMLInputElement>) => {\n const { value } = event.target as HTMLInputElement;\n\n if (disabled || readOnly) {\n return;\n }\n\n if (event.key === Keys.Enter && enumerationType === 'chip' && value) {\n const nextIndex = chips?.length || 0;\n\n const newChips = [...chips, { id: `${nextIndex}_${value}`, text: value }];\n const newValues = newChips.map(({ text }) => text);\n\n updateChips(newChips, newValues);\n event.target.value = '';\n onChange?.(event);\n }\n\n if (event.key === Keys.Enter && onSearch) {\n onSearch(value, event);\n }\n\n if (event.key === Keys.Backspace && chips.length && inputRef?.current?.selectionStart === 0) {\n const newChips = [...chips];\n newChips?.pop();\n chipsRefs?.current.pop();\n\n const newValues = newChips.map(({ text }) => text);\n\n updateChips(newChips, newValues);\n }\n };\n\n const onChipClear = (clearId: string, index: number) => {\n if (!chips.length) {\n return;\n }\n\n const newChips = chips?.filter(({ id: chipId }) => chipId !== clearId) || [];\n const newValues = newChips.map(({ text }) => text);\n chipsRefs?.current.splice(index, 1);\n\n updateChips(newChips, newValues);\n };\n\n const handleChipKeyDown = (event: KeyboardEvent<HTMLButtonElement>, chipId: string, chipIndex: number) => {\n if (event.key === Keys.Tab) {\n event.preventDefault();\n }\n\n if (event.key === Keys.Backspace) {\n onChipClear(chipId, chipIndex);\n }\n };\n\n const handleContentKeyDown = (event: KeyboardEvent<HTMLDivElement>) => {\n const chipsRefsCount = chipsRefs.current.length;\n const currentCaretPosition = inputRef?.current?.selectionStart || 0;\n\n let newActiveChipIndex = activeChipIndex;\n let focusedItem: HTMLButtonElement | HTMLInputElement | null = null;\n\n if (event.key === Keys.ArrowLeft && enumerationType === 'chip' && currentCaretPosition <= 0) {\n const index = activeChipIndex - 1 <= 0 ? 0 : activeChipIndex - 1;\n\n newActiveChipIndex = document.activeElement === inputRef?.current ? chipsRefsCount - 1 : index;\n\n focusedItem = chipsRefs.current?.[newActiveChipIndex];\n }\n\n if (\n event.key === Keys.ArrowRight &&\n enumerationType === 'chip' &&\n document.activeElement !== inputRef?.current\n ) {\n const index = activeChipIndex + 1 >= chipsRefsCount ? activeChipIndex : activeChipIndex + 1;\n\n newActiveChipIndex = document.activeElement === contentRef?.current ? 0 : index;\n focusedItem =\n index === activeChipIndex\n ? (inputRef?.current as HTMLInputElement)\n : chipsRefs.current?.[newActiveChipIndex];\n }\n\n if (event.key === Keys.Backspace && document.activeElement !== inputRef?.current) {\n const index = activeChipIndex - 1 <= 0 ? 0 : activeChipIndex - 1;\n\n newActiveChipIndex = chipsRefsCount === 0 ? -1 : index;\n focusedItem =\n chipsRefsCount === 0\n ? (inputRef?.current as HTMLInputElement)\n : chipsRefs?.current?.[newActiveChipIndex];\n }\n\n focusedItem?.focus();\n focusedItem?.scrollIntoView({\n behavior: 'smooth',\n block: 'center',\n inline: 'center',\n });\n\n setActiveChipIndex(newActiveChipIndex);\n };\n\n return { handleInputKeydown, handleChipKeyDown, onChipClear, handleContentKeyDown } as const;\n};\n"],"names":["Keys","Enter","Tab","Escape","ArrowLeft","ArrowRight","Backspace","useKeyNavigation","_ref","_ref$controlledRefs","controlledRefs","chipsRefs","contentRef","inputRef","disabled","readOnly","chips","enumerationType","updateChips","onChange","onSearch","_useState","useState","_useState2","_slicedToArray","activeChipIndex","setActiveChipIndex","handleInputKeydown","event","_inputRef$current","_ref2","target","value","key","nextIndex","length","newChips","concat","_toConsumableArray","id","text","newValues","map","_ref3","current","selectionStart","pop","_ref4","onChipClear","clearId","index","filter","_ref5","chipId","_ref6","splice","handleChipKeyDown","chipIndex","preventDefault","handleContentKeyDown","_inputRef$current2","_focusedItem","_focusedItem2","chipsRefsCount","currentCaretPosition","newActiveChipIndex","focusedItem","_chipsRefs$current","document","activeElement","_chipsRefs$current2","_chipsRefs$current3","focus","scrollIntoView","behavior","block","inline"],"mappings":"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"}
1
+ {"version":3,"file":"useKeyNavigation.js","sources":["../../../../src/components/TextField/hooks/useKeyNavigation.ts"],"sourcesContent":["import { useState } from 'react';\nimport type { ChangeEvent, KeyboardEvent } from 'react';\n\nimport type { UseKeyNavigationProps } from '../TextField.types';\n\nexport const Keys = {\n Enter: 'Enter',\n Tab: 'Tab',\n Escape: 'Escape',\n ArrowLeft: 'ArrowLeft',\n ArrowRight: 'ArrowRight',\n Backspace: 'Backspace',\n};\n\nexport const useKeyNavigation = ({\n controlledRefs: { chipsRefs, contentRef, inputRef },\n disabled,\n readOnly,\n chips,\n enumerationType,\n updateChips,\n onChange,\n onSearch,\n}: UseKeyNavigationProps) => {\n const [activeChipIndex, setActiveChipIndex] = useState(-1);\n\n const handleInputKeydown = (event: ChangeEvent<HTMLInputElement> & KeyboardEvent<HTMLInputElement>) => {\n const { value } = event.target as HTMLInputElement;\n\n if (disabled || readOnly) {\n return;\n }\n\n if (event.key === Keys.Enter && enumerationType === 'chip' && value) {\n const nextIndex = chips?.length || 0;\n\n const newChips = [...chips, { id: `${nextIndex}_${value}`, text: value }];\n const newValues = newChips.map(({ text }) => text);\n\n updateChips(newChips, newValues);\n event.target.value = '';\n onChange?.(event);\n }\n\n if (event.key === Keys.Enter && onSearch) {\n onSearch(value, event);\n }\n\n if (event.key === Keys.Backspace && chips.length && inputRef?.current?.selectionStart === 0) {\n const newChips = [...chips];\n newChips?.pop();\n chipsRefs?.current.pop();\n\n const newValues = newChips.map(({ text }) => text);\n\n updateChips(newChips, newValues);\n }\n };\n\n const onChipClear = (clearId: string, index: number) => {\n if (!chips.length) {\n return;\n }\n\n const newChips = chips?.filter(({ id: chipId }) => chipId !== clearId) || [];\n const newValues = newChips.map(({ text }) => text);\n chipsRefs?.current.splice(index, 1);\n\n updateChips(newChips, newValues);\n };\n\n const handleChipKeyDown = (event: KeyboardEvent<HTMLButtonElement>, chipId: string, chipIndex: number) => {\n if (event.key === Keys.Tab) {\n event.preventDefault();\n }\n\n if (event.key === Keys.Backspace) {\n onChipClear(chipId, chipIndex);\n }\n };\n\n const handleContentKeyDown = (event: KeyboardEvent<HTMLDivElement>) => {\n const chipsRefsCount = chipsRefs.current.length;\n const currentCaretPosition = inputRef?.current?.selectionStart || 0;\n\n let newActiveChipIndex = activeChipIndex;\n let focusedItem: HTMLButtonElement | HTMLInputElement | null = null;\n\n if (event.key === Keys.ArrowLeft && enumerationType === 'chip' && currentCaretPosition <= 0) {\n const index = activeChipIndex - 1 <= 0 ? 0 : activeChipIndex - 1;\n\n newActiveChipIndex = document.activeElement === inputRef?.current ? chipsRefsCount - 1 : index;\n\n focusedItem = chipsRefs.current?.[newActiveChipIndex];\n }\n\n if (\n event.key === Keys.ArrowRight &&\n enumerationType === 'chip' &&\n document.activeElement !== inputRef?.current\n ) {\n const index = activeChipIndex + 1 >= chipsRefsCount ? activeChipIndex : activeChipIndex + 1;\n\n newActiveChipIndex = document.activeElement === contentRef?.current ? 0 : index;\n focusedItem =\n index === activeChipIndex\n ? (inputRef?.current as HTMLInputElement)\n : chipsRefs.current?.[newActiveChipIndex];\n }\n\n if (event.key === Keys.Backspace && document.activeElement !== inputRef?.current) {\n const index = activeChipIndex - 1 <= 0 ? 0 : activeChipIndex - 1;\n\n newActiveChipIndex = chipsRefsCount === 0 ? -1 : index;\n focusedItem =\n chipsRefsCount === 0\n ? (inputRef?.current as HTMLInputElement)\n : chipsRefs?.current?.[newActiveChipIndex];\n }\n\n focusedItem?.focus();\n focusedItem?.scrollIntoView({\n behavior: 'smooth',\n block: 'center',\n inline: 'center',\n });\n\n setActiveChipIndex(newActiveChipIndex);\n };\n\n return { handleInputKeydown, handleChipKeyDown, onChipClear, handleContentKeyDown } as const;\n};\n"],"names":["Keys","Enter","Tab","Escape","ArrowLeft","ArrowRight","Backspace","useKeyNavigation","_ref","_ref$controlledRefs","controlledRefs","chipsRefs","contentRef","inputRef","disabled","readOnly","chips","enumerationType","updateChips","onChange","onSearch","_useState","useState","_useState2","_slicedToArray","activeChipIndex","setActiveChipIndex","handleInputKeydown","event","_inputRef$current","_ref2","target","value","key","nextIndex","length","newChips","concat","_toConsumableArray","id","text","newValues","map","_ref3","current","selectionStart","pop","_ref4","onChipClear","clearId","index","filter","_ref5","chipId","_ref6","splice","handleChipKeyDown","chipIndex","preventDefault","handleContentKeyDown","_inputRef$current2","_focusedItem","_focusedItem2","chipsRefsCount","currentCaretPosition","newActiveChipIndex","focusedItem","_chipsRefs$current","document","activeElement","_chipsRefs$current2","_chipsRefs$current3","focus","scrollIntoView","behavior","block","inline"],"mappings":";;;AAKO,IAAMA,IAAI,GAAG;AAChBC,EAAAA,KAAK,EAAE,OAAO;AACdC,EAAAA,GAAG,EAAE,KAAK;AACVC,EAAAA,MAAM,EAAE,QAAQ;AAChBC,EAAAA,SAAS,EAAE,WAAW;AACtBC,EAAAA,UAAU,EAAE,YAAY;AACxBC,EAAAA,SAAS,EAAE,WAAA;AACf,EAAC;IAEYC,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAAC,IAAA,EASA;AAAA,EAAA,IAAAC,mBAAA,GAAAD,IAAA,CARzBE,cAAc;IAAIC,SAAS,GAAAF,mBAAA,CAATE,SAAS;IAAEC,UAAU,GAAAH,mBAAA,CAAVG,UAAU;IAAEC,QAAQ,GAAAJ,mBAAA,CAARI,QAAQ;IACjDC,QAAQ,GAAAN,IAAA,CAARM,QAAQ;IACRC,QAAQ,GAAAP,IAAA,CAARO,QAAQ;IACRC,KAAK,GAAAR,IAAA,CAALQ,KAAK;IACLC,eAAe,GAAAT,IAAA,CAAfS,eAAe;IACfC,WAAW,GAAAV,IAAA,CAAXU,WAAW;IACXC,QAAQ,GAAAX,IAAA,CAARW,QAAQ;IACRC,QAAQ,GAAAZ,IAAA,CAARY,QAAQ,CAAA;AAER,EAAA,IAAAC,SAAA,GAA8CC,QAAQ,CAAC,CAAC,CAAC,CAAC;IAAAC,UAAA,GAAAC,cAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAAnDI,IAAAA,eAAe,GAAAF,UAAA,CAAA,CAAA,CAAA;AAAEG,IAAAA,kBAAkB,GAAAH,UAAA,CAAA,CAAA,CAAA,CAAA;AAE1C,EAAA,IAAMI,kBAAkB,GAAG,SAArBA,kBAAkBA,CAAIC,KAAsE,EAAK;AAAA,IAAA,IAAAC,iBAAA,CAAA;AACnG,IAAA,IAAAC,KAAA,GAAkBF,KAAK,CAACG,MAAM;MAAtBC,KAAK,GAAAF,KAAA,CAALE,KAAK,CAAA;IAEb,IAAIlB,QAAQ,IAAIC,QAAQ,EAAE;AACtB,MAAA,OAAA;AACJ,KAAA;AAEA,IAAA,IAAIa,KAAK,CAACK,GAAG,KAAKjC,IAAI,CAACC,KAAK,IAAIgB,eAAe,KAAK,MAAM,IAAIe,KAAK,EAAE;MACjE,IAAME,SAAS,GAAG,CAAAlB,KAAK,KAAA,IAAA,IAALA,KAAK,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAALA,KAAK,CAAEmB,MAAM,KAAI,CAAC,CAAA;AAEpC,MAAA,IAAMC,QAAQ,GAAAC,EAAAA,CAAAA,MAAA,CAAAC,kBAAA,CAAOtB,KAAK,CAAE,EAAA,CAAA;QAAEuB,EAAE,EAAA,EAAA,CAAAF,MAAA,CAAKH,SAAS,OAAAG,MAAA,CAAIL,KAAK,CAAE;AAAEQ,QAAAA,IAAI,EAAER,KAAAA;AAAM,OAAC,CAAC,CAAA,CAAA;AACzE,MAAA,IAAMS,SAAS,GAAGL,QAAQ,CAACM,GAAG,CAAC,UAAAC,KAAA,EAAA;AAAA,QAAA,IAAGH,IAAI,GAAAG,KAAA,CAAJH,IAAI,CAAA;AAAA,QAAA,OAAOA,IAAI,CAAA;OAAC,CAAA,CAAA;AAElDtB,MAAAA,WAAW,CAACkB,QAAQ,EAAEK,SAAS,CAAC,CAAA;AAChCb,MAAAA,KAAK,CAACG,MAAM,CAACC,KAAK,GAAG,EAAE,CAAA;AACvBb,MAAAA,QAAQ,aAARA,QAAQ,KAAA,KAAA,CAAA,IAARA,QAAQ,CAAGS,KAAK,CAAC,CAAA;AACrB,KAAA;IAEA,IAAIA,KAAK,CAACK,GAAG,KAAKjC,IAAI,CAACC,KAAK,IAAImB,QAAQ,EAAE;AACtCA,MAAAA,QAAQ,CAACY,KAAK,EAAEJ,KAAK,CAAC,CAAA;AAC1B,KAAA;AAEA,IAAA,IAAIA,KAAK,CAACK,GAAG,KAAKjC,IAAI,CAACM,SAAS,IAAIU,KAAK,CAACmB,MAAM,IAAI,CAAAtB,QAAQ,KAAA,IAAA,IAARA,QAAQ,KAAA,KAAA,CAAA,IAAA,CAAAgB,iBAAA,GAARhB,QAAQ,CAAE+B,OAAO,MAAA,IAAA,IAAAf,iBAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAjBA,iBAAA,CAAmBgB,cAAc,MAAK,CAAC,EAAE;AACzF,MAAA,IAAMT,SAAQ,GAAAE,kBAAA,CAAOtB,KAAK,CAAC,CAAA;AAC3BoB,MAAAA,SAAQ,aAARA,SAAQ,KAAA,KAAA,CAAA,IAARA,SAAQ,CAAEU,GAAG,EAAE,CAAA;MACfnC,SAAS,KAAA,IAAA,IAATA,SAAS,KAATA,KAAAA,CAAAA,IAAAA,SAAS,CAAEiC,OAAO,CAACE,GAAG,EAAE,CAAA;AAExB,MAAA,IAAML,UAAS,GAAGL,SAAQ,CAACM,GAAG,CAAC,UAAAK,KAAA,EAAA;AAAA,QAAA,IAAGP,IAAI,GAAAO,KAAA,CAAJP,IAAI,CAAA;AAAA,QAAA,OAAOA,IAAI,CAAA;OAAC,CAAA,CAAA;AAElDtB,MAAAA,WAAW,CAACkB,SAAQ,EAAEK,UAAS,CAAC,CAAA;AACpC,KAAA;GACH,CAAA;EAED,IAAMO,WAAW,GAAG,SAAdA,WAAWA,CAAIC,OAAe,EAAEC,KAAa,EAAK;AACpD,IAAA,IAAI,CAAClC,KAAK,CAACmB,MAAM,EAAE;AACf,MAAA,OAAA;AACJ,KAAA;AAEA,IAAA,IAAMC,QAAQ,GAAG,CAAApB,KAAK,KAALA,IAAAA,IAAAA,KAAK,KAALA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,KAAK,CAAEmC,MAAM,CAAC,UAAAC,KAAA,EAAA;AAAA,MAAA,IAAOC,MAAM,GAAAD,KAAA,CAAVb,EAAE,CAAA;MAAA,OAAec,MAAM,KAAKJ,OAAO,CAAA;AAAA,KAAA,CAAC,KAAI,EAAE,CAAA;AAC5E,IAAA,IAAMR,SAAS,GAAGL,QAAQ,CAACM,GAAG,CAAC,UAAAY,KAAA,EAAA;AAAA,MAAA,IAAGd,IAAI,GAAAc,KAAA,CAAJd,IAAI,CAAA;AAAA,MAAA,OAAOA,IAAI,CAAA;KAAC,CAAA,CAAA;AAClD7B,IAAAA,SAAS,KAATA,IAAAA,IAAAA,SAAS,KAATA,KAAAA,CAAAA,IAAAA,SAAS,CAAEiC,OAAO,CAACW,MAAM,CAACL,KAAK,EAAE,CAAC,CAAC,CAAA;AAEnChC,IAAAA,WAAW,CAACkB,QAAQ,EAAEK,SAAS,CAAC,CAAA;GACnC,CAAA;EAED,IAAMe,iBAAiB,GAAG,SAApBA,iBAAiBA,CAAI5B,KAAuC,EAAEyB,MAAc,EAAEI,SAAiB,EAAK;AACtG,IAAA,IAAI7B,KAAK,CAACK,GAAG,KAAKjC,IAAI,CAACE,GAAG,EAAE;MACxB0B,KAAK,CAAC8B,cAAc,EAAE,CAAA;AAC1B,KAAA;AAEA,IAAA,IAAI9B,KAAK,CAACK,GAAG,KAAKjC,IAAI,CAACM,SAAS,EAAE;AAC9B0C,MAAAA,WAAW,CAACK,MAAM,EAAEI,SAAS,CAAC,CAAA;AAClC,KAAA;GACH,CAAA;AAED,EAAA,IAAME,oBAAoB,GAAG,SAAvBA,oBAAoBA,CAAI/B,KAAoC,EAAK;AAAA,IAAA,IAAAgC,kBAAA,EAAAC,YAAA,EAAAC,aAAA,CAAA;AACnE,IAAA,IAAMC,cAAc,GAAGpD,SAAS,CAACiC,OAAO,CAACT,MAAM,CAAA;AAC/C,IAAA,IAAM6B,oBAAoB,GAAG,CAAAnD,QAAQ,KAARA,IAAAA,IAAAA,QAAQ,gBAAA+C,kBAAA,GAAR/C,QAAQ,CAAE+B,OAAO,cAAAgB,kBAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAjBA,kBAAA,CAAmBf,cAAc,KAAI,CAAC,CAAA;IAEnE,IAAIoB,kBAAkB,GAAGxC,eAAe,CAAA;IACxC,IAAIyC,WAAwD,GAAG,IAAI,CAAA;AAEnE,IAAA,IAAItC,KAAK,CAACK,GAAG,KAAKjC,IAAI,CAACI,SAAS,IAAIa,eAAe,KAAK,MAAM,IAAI+C,oBAAoB,IAAI,CAAC,EAAE;AAAA,MAAA,IAAAG,kBAAA,CAAA;AACzF,MAAA,IAAMjB,KAAK,GAAGzB,eAAe,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAGA,eAAe,GAAG,CAAC,CAAA;AAEhEwC,MAAAA,kBAAkB,GAAGG,QAAQ,CAACC,aAAa,MAAKxD,QAAQ,KAARA,IAAAA,IAAAA,QAAQ,KAARA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,QAAQ,CAAE+B,OAAO,CAAA,GAAGmB,cAAc,GAAG,CAAC,GAAGb,KAAK,CAAA;AAE9FgB,MAAAA,WAAW,GAAAC,CAAAA,kBAAA,GAAGxD,SAAS,CAACiC,OAAO,MAAAuB,IAAAA,IAAAA,kBAAA,KAAjBA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,kBAAA,CAAoBF,kBAAkB,CAAC,CAAA;AACzD,KAAA;IAEA,IACIrC,KAAK,CAACK,GAAG,KAAKjC,IAAI,CAACK,UAAU,IAC7BY,eAAe,KAAK,MAAM,IAC1BmD,QAAQ,CAACC,aAAa,MAAKxD,QAAQ,KAAA,IAAA,IAARA,QAAQ,KAARA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,QAAQ,CAAE+B,OAAO,CAC9C,EAAA;AAAA,MAAA,IAAA0B,mBAAA,CAAA;AACE,MAAA,IAAMpB,MAAK,GAAGzB,eAAe,GAAG,CAAC,IAAIsC,cAAc,GAAGtC,eAAe,GAAGA,eAAe,GAAG,CAAC,CAAA;AAE3FwC,MAAAA,kBAAkB,GAAGG,QAAQ,CAACC,aAAa,MAAKzD,UAAU,KAAA,IAAA,IAAVA,UAAU,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAVA,UAAU,CAAEgC,OAAO,CAAG,GAAA,CAAC,GAAGM,MAAK,CAAA;MAC/EgB,WAAW,GACPhB,MAAK,KAAKzB,eAAe,GAClBZ,QAAQ,KAARA,IAAAA,IAAAA,QAAQ,KAARA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,QAAQ,CAAE+B,OAAO,IAAA0B,mBAAA,GAClB3D,SAAS,CAACiC,OAAO,MAAA,IAAA,IAAA0B,mBAAA,KAAjBA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,mBAAA,CAAoBL,kBAAkB,CAAC,CAAA;AACrD,KAAA;AAEA,IAAA,IAAIrC,KAAK,CAACK,GAAG,KAAKjC,IAAI,CAACM,SAAS,IAAI8D,QAAQ,CAACC,aAAa,MAAKxD,QAAQ,KAARA,IAAAA,IAAAA,QAAQ,uBAARA,QAAQ,CAAE+B,OAAO,CAAE,EAAA;AAAA,MAAA,IAAA2B,mBAAA,CAAA;AAC9E,MAAA,IAAMrB,OAAK,GAAGzB,eAAe,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAGA,eAAe,GAAG,CAAC,CAAA;MAEhEwC,kBAAkB,GAAGF,cAAc,KAAK,CAAC,GAAG,CAAC,CAAC,GAAGb,OAAK,CAAA;AACtDgB,MAAAA,WAAW,GACPH,cAAc,KAAK,CAAC,GACblD,QAAQ,KAARA,IAAAA,IAAAA,QAAQ,KAARA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,QAAQ,CAAE+B,OAAO,GAClBjC,SAAS,KAATA,IAAAA,IAAAA,SAAS,KAAA4D,KAAAA,CAAAA,IAAAA,CAAAA,mBAAA,GAAT5D,SAAS,CAAEiC,OAAO,MAAA2B,IAAAA,IAAAA,mBAAA,KAAlBA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,mBAAA,CAAqBN,kBAAkB,CAAC,CAAA;AACtD,KAAA;IAEA,CAAAJ,YAAA,GAAAK,WAAW,MAAAL,IAAAA,IAAAA,YAAA,eAAXA,YAAA,CAAaW,KAAK,EAAE,CAAA;IACpB,CAAAV,aAAA,GAAAI,WAAW,MAAA,IAAA,IAAAJ,aAAA,KAAXA,KAAAA,CAAAA,IAAAA,aAAA,CAAaW,cAAc,CAAC;AACxBC,MAAAA,QAAQ,EAAE,QAAQ;AAClBC,MAAAA,KAAK,EAAE,QAAQ;AACfC,MAAAA,MAAM,EAAE,QAAA;AACZ,KAAC,CAAC,CAAA;IAEFlD,kBAAkB,CAACuC,kBAAkB,CAAC,CAAA;GACzC,CAAA;EAED,OAAO;AAAEtC,IAAAA,kBAAkB,EAAlBA,kBAAkB;AAAE6B,IAAAA,iBAAiB,EAAjBA,iBAAiB;AAAER,IAAAA,WAAW,EAAXA,WAAW;AAAEW,IAAAA,oBAAoB,EAApBA,oBAAAA;GAAsB,CAAA;AACvF;;;;"}
@@ -16,7 +16,7 @@ var TextFieldChip = /*#__PURE__*/forwardRef(function (_ref, ref) {
16
16
  return onClear(id);
17
17
  };
18
18
  var onKeyDownHandle = function onKeyDownHandle(event) {
19
- onKeyDown === null || onKeyDown === void 0 ? void 0 : onKeyDown(event, id);
19
+ onKeyDown === null || onKeyDown === void 0 || onKeyDown(event, id);
20
20
  };
21
21
  return /*#__PURE__*/React.createElement(StyledChip, {
22
22
  ref: ref,
@@ -1 +1 @@
1
- {"version":3,"file":"TextFieldChip.js","sources":["../../../../../src/components/TextField/ui/TextFieldChip/TextFieldChip.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\n\nimport { StyledChip } from './TextFieldChip.styles';\nimport type { TextFieldChipProps } from './TextFieldChip.types';\n\n/**\n * Чип, отображающий выбранный элемент\n */\nexport const TextFieldChip = forwardRef<HTMLButtonElement, TextFieldChipProps>(\n ({ id, text, disabled, readOnly, onClick, onClear, onKeyDown }, ref) => {\n const onClearHandle = () => onClear(id);\n\n const onKeyDownHandle = (event: React.KeyboardEvent<HTMLButtonElement>) => {\n onKeyDown?.(event, id);\n };\n\n return (\n <StyledChip\n ref={ref}\n tabIndex={-1}\n disabled={disabled}\n readOnly={readOnly}\n onClick={onClick}\n onClear={onClearHandle}\n onKeyDown={onKeyDownHandle}\n text={`${text}`}\n />\n );\n },\n);\n"],"names":["TextFieldChip","forwardRef","_ref","ref","id","text","disabled","readOnly","onClick","onClear","onKeyDown","onClearHandle","onKeyDownHandle","event","React","createElement","StyledChip","tabIndex","concat"],"mappings":";;;AAKA;AACA;AACA;AACO,IAAMA,aAAa,gBAAGC,UAAU,CACnC,UAAAC,IAAA,EAAgEC,GAAG,EAAK;AAAA,EAAA,IAArEC,EAAE,GAAAF,IAAA,CAAFE,EAAE;IAAEC,IAAI,GAAAH,IAAA,CAAJG,IAAI;IAAEC,QAAQ,GAAAJ,IAAA,CAARI,QAAQ;IAAEC,QAAQ,GAAAL,IAAA,CAARK,QAAQ;IAAEC,OAAO,GAAAN,IAAA,CAAPM,OAAO;IAAEC,OAAO,GAAAP,IAAA,CAAPO,OAAO;IAAEC,SAAS,GAAAR,IAAA,CAATQ,SAAS,CAAA;AACxD,EAAA,IAAMC,aAAa,GAAG,SAAhBA,aAAaA,GAAA;IAAA,OAASF,OAAO,CAACL,EAAE,CAAC,CAAA;AAAA,GAAA,CAAA;AAEvC,EAAA,IAAMQ,eAAe,GAAG,SAAlBA,eAAeA,CAAIC,KAA6C,EAAK;IACvEH,SAAS,KAAA,IAAA,IAATA,SAAS,KAATA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,SAAS,CAAGG,KAAK,EAAET,EAAE,CAAC,CAAA;GACzB,CAAA;AAED,EAAA,oBACIU,KAAA,CAAAC,aAAA,CAACC,UAAU,EAAA;AACPb,IAAAA,GAAG,EAAEA,GAAI;IACTc,QAAQ,EAAE,CAAC,CAAE;AACbX,IAAAA,QAAQ,EAAEA,QAAS;AACnBC,IAAAA,QAAQ,EAAEA,QAAS;AACnBC,IAAAA,OAAO,EAAEA,OAAQ;AACjBC,IAAAA,OAAO,EAAEE,aAAc;AACvBD,IAAAA,SAAS,EAAEE,eAAgB;IAC3BP,IAAI,EAAA,EAAA,CAAAa,MAAA,CAAKb,IAAI,CAAA;AAAG,GACnB,CAAC,CAAA;AAEV,CACJ;;;;"}
1
+ {"version":3,"file":"TextFieldChip.js","sources":["../../../../../src/components/TextField/ui/TextFieldChip/TextFieldChip.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\n\nimport { StyledChip } from './TextFieldChip.styles';\nimport type { TextFieldChipProps } from './TextFieldChip.types';\n\n/**\n * Чип, отображающий выбранный элемент\n */\nexport const TextFieldChip = forwardRef<HTMLButtonElement, TextFieldChipProps>(\n ({ id, text, disabled, readOnly, onClick, onClear, onKeyDown }, ref) => {\n const onClearHandle = () => onClear(id);\n\n const onKeyDownHandle = (event: React.KeyboardEvent<HTMLButtonElement>) => {\n onKeyDown?.(event, id);\n };\n\n return (\n <StyledChip\n ref={ref}\n tabIndex={-1}\n disabled={disabled}\n readOnly={readOnly}\n onClick={onClick}\n onClear={onClearHandle}\n onKeyDown={onKeyDownHandle}\n text={`${text}`}\n />\n );\n },\n);\n"],"names":["TextFieldChip","forwardRef","_ref","ref","id","text","disabled","readOnly","onClick","onClear","onKeyDown","onClearHandle","onKeyDownHandle","event","React","createElement","StyledChip","tabIndex","concat"],"mappings":";;;AAKA;AACA;AACA;AACO,IAAMA,aAAa,gBAAGC,UAAU,CACnC,UAAAC,IAAA,EAAgEC,GAAG,EAAK;AAAA,EAAA,IAArEC,EAAE,GAAAF,IAAA,CAAFE,EAAE;IAAEC,IAAI,GAAAH,IAAA,CAAJG,IAAI;IAAEC,QAAQ,GAAAJ,IAAA,CAARI,QAAQ;IAAEC,QAAQ,GAAAL,IAAA,CAARK,QAAQ;IAAEC,OAAO,GAAAN,IAAA,CAAPM,OAAO;IAAEC,OAAO,GAAAP,IAAA,CAAPO,OAAO;IAAEC,SAAS,GAAAR,IAAA,CAATQ,SAAS,CAAA;AACxD,EAAA,IAAMC,aAAa,GAAG,SAAhBA,aAAaA,GAAA;IAAA,OAASF,OAAO,CAACL,EAAE,CAAC,CAAA;AAAA,GAAA,CAAA;AAEvC,EAAA,IAAMQ,eAAe,GAAG,SAAlBA,eAAeA,CAAIC,KAA6C,EAAK;IACvEH,SAAS,KAAA,IAAA,IAATA,SAAS,KAATA,KAAAA,CAAAA,IAAAA,SAAS,CAAGG,KAAK,EAAET,EAAE,CAAC,CAAA;GACzB,CAAA;AAED,EAAA,oBACIU,KAAA,CAAAC,aAAA,CAACC,UAAU,EAAA;AACPb,IAAAA,GAAG,EAAEA,GAAI;IACTc,QAAQ,EAAE,CAAC,CAAE;AACbX,IAAAA,QAAQ,EAAEA,QAAS;AACnBC,IAAAA,QAAQ,EAAEA,QAAS;AACnBC,IAAAA,OAAO,EAAEA,OAAQ;AACjBC,IAAAA,OAAO,EAAEE,aAAc;AACvBD,IAAAA,SAAS,EAAEE,eAAgB;IAC3BP,IAAI,EAAA,EAAA,CAAAa,MAAA,CAAKb,IAAI,CAAA;AAAG,GACnB,CAAC,CAAA;AAEV,CACJ;;;;"}
@@ -134,7 +134,7 @@ var ToastProviderHoc = function ToastProviderHoc(ToastComponent) {
134
134
  });
135
135
  setIsHidden(false);
136
136
  setIsVisible(true);
137
- onShow === null || onShow === void 0 ? void 0 : onShow();
137
+ onShow === null || onShow === void 0 || onShow();
138
138
  };
139
139
  var showToast = useCallback(showToastCallback, []);
140
140
  var onHide = toastInfo.onHide,
@@ -147,7 +147,7 @@ var ToastProviderHoc = function ToastProviderHoc(ToastComponent) {
147
147
  clearTimeout(hideTimeout.current);
148
148
  hideTimeout.current = null;
149
149
  }
150
- onHide === null || onHide === void 0 ? void 0 : onHide();
150
+ onHide === null || onHide === void 0 || onHide();
151
151
  setIsVisible(false);
152
152
  animationRunTimeout.current = setTimeout(function () {
153
153
  setIsHidden(true);