@salutejs/plasma-new-hope 0.327.0-canary.2029.15759219312.0 → 0.327.0-canary.2031.15756758840.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (271) hide show
  1. package/cjs/components/Autocomplete/Autocomplete.js +3 -3
  2. package/cjs/components/Autocomplete/Autocomplete.js.map +1 -1
  3. package/cjs/components/Autocomplete/FloatingPopover.js +2 -2
  4. package/cjs/components/Autocomplete/FloatingPopover.js.map +1 -1
  5. package/cjs/components/Checkbox/Checkbox.js +1 -2
  6. package/cjs/components/Checkbox/Checkbox.js.map +1 -1
  7. package/cjs/components/Combobox/ComboboxNew/Combobox.js +1 -2
  8. package/cjs/components/Combobox/ComboboxNew/Combobox.js.map +1 -1
  9. package/cjs/components/Combobox/ComboboxNew/FloatingPopover.js +2 -2
  10. package/cjs/components/Combobox/ComboboxNew/FloatingPopover.js.map +1 -1
  11. package/cjs/components/Combobox/ComboboxNew/ui/Inner/Inner.js +2 -2
  12. package/cjs/components/Combobox/ComboboxNew/ui/Inner/Inner.js.map +1 -1
  13. package/cjs/components/Combobox/ComboboxOld/Combobox.js +1 -2
  14. package/cjs/components/Combobox/ComboboxOld/Combobox.js.map +1 -1
  15. package/cjs/components/Combobox/ComboboxOld/ui/ComboboxItem/ComboboxItem.js +3 -3
  16. package/cjs/components/Combobox/ComboboxOld/ui/ComboboxItem/ComboboxItem.js.map +1 -1
  17. package/cjs/components/Drawer/Drawer.js +2 -3
  18. package/cjs/components/Drawer/Drawer.js.map +1 -1
  19. package/cjs/components/Dropdown/Dropdown.js +2 -2
  20. package/cjs/components/Dropdown/Dropdown.js.map +1 -1
  21. package/cjs/components/Dropdown/FloatingPopover.js +2 -2
  22. package/cjs/components/Dropdown/FloatingPopover.js.map +1 -1
  23. package/cjs/components/Dropdown/ui/DropdownDivider/DropdownDivider.js.map +1 -1
  24. package/cjs/components/Dropdown/ui/DropdownFooter/DropdownFooter.js.map +1 -1
  25. package/cjs/components/Dropdown/ui/DropdownGroup/DropdownGroup.js.map +1 -1
  26. package/cjs/components/Dropdown/ui/DropdownHeader/DropdownHeader.js.map +1 -1
  27. package/cjs/components/Dropdown/ui/DropdownInner/DropdownInner.js +2 -2
  28. package/cjs/components/Dropdown/ui/DropdownInner/DropdownInner.js.map +1 -1
  29. package/cjs/components/Dropdown/ui/DropdownItemOld/DropdownItemOld.js +3 -3
  30. package/cjs/components/Dropdown/ui/DropdownItemOld/DropdownItemOld.js.map +1 -1
  31. package/cjs/components/Dropdown/ui/DropdownOld/DropdownOld.js.map +1 -1
  32. package/cjs/components/Modal/Modal.js +1 -2
  33. package/cjs/components/Modal/Modal.js.map +1 -1
  34. package/cjs/components/Popup/Popup.js +1 -2
  35. package/cjs/components/Popup/Popup.js.map +1 -1
  36. package/cjs/components/Popup/PopupContext.js.map +1 -1
  37. package/cjs/components/Radiobox/Radiobox.js +2 -3
  38. package/cjs/components/Radiobox/Radiobox.js.map +1 -1
  39. package/cjs/components/Segment/ui/SegmentGroup/SegmentGroup.js +3 -3
  40. package/cjs/components/Segment/ui/SegmentGroup/SegmentGroup.js.map +1 -1
  41. package/cjs/components/Segment/ui/SegmentItem/SegmentItem.js +2 -2
  42. package/cjs/components/Segment/ui/SegmentItem/SegmentItem.js.map +1 -1
  43. package/cjs/components/Select/FloatingPopover.js +2 -2
  44. package/cjs/components/Select/FloatingPopover.js.map +1 -1
  45. package/cjs/components/Select/Select.js +2 -2
  46. package/cjs/components/Select/Select.js.map +1 -1
  47. package/cjs/components/Select/ui/Inner/Inner.js +2 -2
  48. package/cjs/components/Select/ui/Inner/Inner.js.map +1 -1
  49. package/cjs/components/Spinner/Spinner.js +2 -2
  50. package/cjs/components/Spinner/Spinner.js.map +1 -1
  51. package/cjs/components/Tabs/ui/horizontal/HorizontalTabs/HorizontalTabs.js +3 -3
  52. package/cjs/components/Tabs/ui/horizontal/HorizontalTabs/HorizontalTabs.js.map +1 -1
  53. package/cjs/components/Tabs/ui/vertical/VerticalTabs/VerticalTabs.js +3 -3
  54. package/cjs/components/Tabs/ui/vertical/VerticalTabs/VerticalTabs.js.map +1 -1
  55. package/cjs/components/TextArea/ui/Hint/Hint.js.map +1 -1
  56. package/cjs/components/TextField/TextField.js +3 -4
  57. package/cjs/components/TextField/TextField.js.map +1 -1
  58. package/cjs/components/TextField/ui/Hint/Hint.js.map +1 -1
  59. package/emotion/cjs/components/Autocomplete/Autocomplete.js +3 -3
  60. package/emotion/cjs/components/Autocomplete/FloatingPopover.js +2 -2
  61. package/emotion/cjs/components/Checkbox/Checkbox.js +1 -1
  62. package/emotion/cjs/components/Combobox/ComboboxNew/Combobox.js +1 -1
  63. package/emotion/cjs/components/Combobox/ComboboxNew/FloatingPopover.js +2 -2
  64. package/emotion/cjs/components/Combobox/ComboboxNew/ui/Inner/Inner.js +3 -2
  65. package/emotion/cjs/components/Combobox/ComboboxOld/Combobox.js +1 -1
  66. package/emotion/cjs/components/Combobox/ComboboxOld/ui/ComboboxItem/ComboboxItem.js +7 -6
  67. package/emotion/cjs/components/Drawer/Drawer.js +7 -7
  68. package/emotion/cjs/components/Dropdown/Dropdown.js +2 -1
  69. package/emotion/cjs/components/Dropdown/FloatingPopover.js +2 -2
  70. package/emotion/cjs/components/Dropdown/ui/DropdownInner/DropdownInner.js +4 -4
  71. package/emotion/cjs/components/Dropdown/ui/DropdownItemOld/DropdownItemOld.js +3 -2
  72. package/emotion/cjs/components/Dropdown/ui/DropdownOld/DropdownOld.js +1 -1
  73. package/emotion/cjs/components/Modal/Modal.js +4 -5
  74. package/emotion/cjs/components/Popup/Popup.js +1 -1
  75. package/emotion/cjs/components/Popup/PopupContext.js +1 -1
  76. package/emotion/cjs/components/Radiobox/Radiobox.js +2 -2
  77. package/emotion/cjs/components/Segment/ui/SegmentGroup/SegmentGroup.js +3 -2
  78. package/emotion/cjs/components/Segment/ui/SegmentItem/SegmentItem.js +2 -1
  79. package/emotion/cjs/components/Select/FloatingPopover.js +5 -5
  80. package/emotion/cjs/components/Select/Select.js +2 -1
  81. package/emotion/cjs/components/Select/ui/Inner/Inner.js +2 -1
  82. package/emotion/cjs/components/Spinner/Spinner.js +2 -2
  83. package/emotion/cjs/components/Tabs/ui/horizontal/HorizontalTabs/HorizontalTabs.js +3 -2
  84. package/emotion/cjs/components/Tabs/ui/vertical/VerticalTabs/VerticalTabs.js +3 -2
  85. package/emotion/cjs/components/TextArea/ui/Hint/Hint.js +1 -1
  86. package/emotion/cjs/components/TextField/TextField.js +4 -4
  87. package/emotion/cjs/components/TextField/ui/Hint/Hint.js +1 -1
  88. package/emotion/es/components/Autocomplete/Autocomplete.js +1 -1
  89. package/emotion/es/components/Autocomplete/FloatingPopover.js +1 -1
  90. package/emotion/es/components/Checkbox/Checkbox.js +1 -2
  91. package/emotion/es/components/Combobox/ComboboxNew/Combobox.js +1 -2
  92. package/emotion/es/components/Combobox/ComboboxNew/FloatingPopover.js +1 -1
  93. package/emotion/es/components/Combobox/ComboboxNew/ui/Inner/Inner.js +1 -1
  94. package/emotion/es/components/Combobox/ComboboxOld/Combobox.js +1 -2
  95. package/emotion/es/components/Combobox/ComboboxOld/ui/ComboboxItem/ComboboxItem.js +1 -1
  96. package/emotion/es/components/Drawer/Drawer.js +1 -2
  97. package/emotion/es/components/Dropdown/Dropdown.js +1 -1
  98. package/emotion/es/components/Dropdown/FloatingPopover.js +1 -1
  99. package/emotion/es/components/Dropdown/ui/DropdownInner/DropdownInner.js +1 -1
  100. package/emotion/es/components/Dropdown/ui/DropdownItemOld/DropdownItemOld.js +2 -1
  101. package/emotion/es/components/Dropdown/ui/DropdownOld/DropdownOld.js +1 -1
  102. package/emotion/es/components/Modal/Modal.js +2 -3
  103. package/emotion/es/components/Popup/Popup.js +2 -2
  104. package/emotion/es/components/Popup/PopupContext.js +1 -1
  105. package/emotion/es/components/Radiobox/Radiobox.js +2 -2
  106. package/emotion/es/components/Segment/ui/SegmentGroup/SegmentGroup.js +2 -1
  107. package/emotion/es/components/Segment/ui/SegmentItem/SegmentItem.js +2 -1
  108. package/emotion/es/components/Select/FloatingPopover.js +1 -1
  109. package/emotion/es/components/Select/Select.js +2 -1
  110. package/emotion/es/components/Select/ui/Inner/Inner.js +2 -1
  111. package/emotion/es/components/Spinner/Spinner.js +1 -1
  112. package/emotion/es/components/Tabs/ui/horizontal/HorizontalTabs/HorizontalTabs.js +2 -1
  113. package/emotion/es/components/Tabs/ui/vertical/VerticalTabs/VerticalTabs.js +2 -1
  114. package/emotion/es/components/TextArea/ui/Hint/Hint.js +1 -1
  115. package/emotion/es/components/TextField/TextField.js +3 -3
  116. package/emotion/es/components/TextField/ui/Hint/Hint.js +1 -1
  117. package/es/components/Autocomplete/Autocomplete.js +1 -1
  118. package/es/components/Autocomplete/Autocomplete.js.map +1 -1
  119. package/es/components/Autocomplete/FloatingPopover.js +1 -1
  120. package/es/components/Autocomplete/FloatingPopover.js.map +1 -1
  121. package/es/components/Checkbox/Checkbox.js +1 -2
  122. package/es/components/Checkbox/Checkbox.js.map +1 -1
  123. package/es/components/Combobox/ComboboxNew/Combobox.js +1 -2
  124. package/es/components/Combobox/ComboboxNew/Combobox.js.map +1 -1
  125. package/es/components/Combobox/ComboboxNew/FloatingPopover.js +1 -1
  126. package/es/components/Combobox/ComboboxNew/FloatingPopover.js.map +1 -1
  127. package/es/components/Combobox/ComboboxNew/ui/Inner/Inner.js +1 -1
  128. package/es/components/Combobox/ComboboxNew/ui/Inner/Inner.js.map +1 -1
  129. package/es/components/Combobox/ComboboxOld/Combobox.js +1 -2
  130. package/es/components/Combobox/ComboboxOld/Combobox.js.map +1 -1
  131. package/es/components/Combobox/ComboboxOld/ui/ComboboxItem/ComboboxItem.js +2 -2
  132. package/es/components/Combobox/ComboboxOld/ui/ComboboxItem/ComboboxItem.js.map +1 -1
  133. package/es/components/Drawer/Drawer.js +2 -3
  134. package/es/components/Drawer/Drawer.js.map +1 -1
  135. package/es/components/Dropdown/Dropdown.js +1 -1
  136. package/es/components/Dropdown/Dropdown.js.map +1 -1
  137. package/es/components/Dropdown/FloatingPopover.js +1 -1
  138. package/es/components/Dropdown/FloatingPopover.js.map +1 -1
  139. package/es/components/Dropdown/ui/DropdownDivider/DropdownDivider.js.map +1 -1
  140. package/es/components/Dropdown/ui/DropdownFooter/DropdownFooter.js.map +1 -1
  141. package/es/components/Dropdown/ui/DropdownGroup/DropdownGroup.js.map +1 -1
  142. package/es/components/Dropdown/ui/DropdownHeader/DropdownHeader.js.map +1 -1
  143. package/es/components/Dropdown/ui/DropdownInner/DropdownInner.js +1 -1
  144. package/es/components/Dropdown/ui/DropdownInner/DropdownInner.js.map +1 -1
  145. package/es/components/Dropdown/ui/DropdownItemOld/DropdownItemOld.js +2 -2
  146. package/es/components/Dropdown/ui/DropdownItemOld/DropdownItemOld.js.map +1 -1
  147. package/es/components/Dropdown/ui/DropdownOld/DropdownOld.js.map +1 -1
  148. package/es/components/Modal/Modal.js +1 -2
  149. package/es/components/Modal/Modal.js.map +1 -1
  150. package/es/components/Popup/Popup.js +1 -2
  151. package/es/components/Popup/Popup.js.map +1 -1
  152. package/es/components/Popup/PopupContext.js.map +1 -1
  153. package/es/components/Radiobox/Radiobox.js +2 -3
  154. package/es/components/Radiobox/Radiobox.js.map +1 -1
  155. package/es/components/Segment/ui/SegmentGroup/SegmentGroup.js +2 -2
  156. package/es/components/Segment/ui/SegmentGroup/SegmentGroup.js.map +1 -1
  157. package/es/components/Segment/ui/SegmentItem/SegmentItem.js +1 -1
  158. package/es/components/Segment/ui/SegmentItem/SegmentItem.js.map +1 -1
  159. package/es/components/Select/FloatingPopover.js +1 -1
  160. package/es/components/Select/FloatingPopover.js.map +1 -1
  161. package/es/components/Select/Select.js +1 -1
  162. package/es/components/Select/Select.js.map +1 -1
  163. package/es/components/Select/ui/Inner/Inner.js +1 -1
  164. package/es/components/Select/ui/Inner/Inner.js.map +1 -1
  165. package/es/components/Spinner/Spinner.js +1 -1
  166. package/es/components/Spinner/Spinner.js.map +1 -1
  167. package/es/components/Tabs/ui/horizontal/HorizontalTabs/HorizontalTabs.js +2 -2
  168. package/es/components/Tabs/ui/horizontal/HorizontalTabs/HorizontalTabs.js.map +1 -1
  169. package/es/components/Tabs/ui/vertical/VerticalTabs/VerticalTabs.js +2 -2
  170. package/es/components/Tabs/ui/vertical/VerticalTabs/VerticalTabs.js.map +1 -1
  171. package/es/components/TextArea/ui/Hint/Hint.js.map +1 -1
  172. package/es/components/TextField/TextField.js +1 -2
  173. package/es/components/TextField/TextField.js.map +1 -1
  174. package/es/components/TextField/ui/Hint/Hint.js.map +1 -1
  175. package/package.json +2 -2
  176. package/styled-components/cjs/components/Autocomplete/Autocomplete.js +3 -3
  177. package/styled-components/cjs/components/Autocomplete/FloatingPopover.js +2 -2
  178. package/styled-components/cjs/components/Checkbox/Checkbox.js +1 -1
  179. package/styled-components/cjs/components/Combobox/ComboboxNew/Combobox.js +1 -1
  180. package/styled-components/cjs/components/Combobox/ComboboxNew/FloatingPopover.js +2 -2
  181. package/styled-components/cjs/components/Combobox/ComboboxNew/ui/Inner/Inner.js +3 -2
  182. package/styled-components/cjs/components/Combobox/ComboboxOld/Combobox.js +1 -1
  183. package/styled-components/cjs/components/Combobox/ComboboxOld/ui/ComboboxItem/ComboboxItem.js +7 -6
  184. package/styled-components/cjs/components/Drawer/Drawer.js +7 -7
  185. package/styled-components/cjs/components/Dropdown/Dropdown.js +2 -1
  186. package/styled-components/cjs/components/Dropdown/FloatingPopover.js +2 -2
  187. package/styled-components/cjs/components/Dropdown/ui/DropdownInner/DropdownInner.js +4 -4
  188. package/styled-components/cjs/components/Dropdown/ui/DropdownItemOld/DropdownItemOld.js +3 -2
  189. package/styled-components/cjs/components/Dropdown/ui/DropdownOld/DropdownOld.js +1 -1
  190. package/styled-components/cjs/components/Modal/Modal.js +4 -5
  191. package/styled-components/cjs/components/Popup/Popup.js +1 -1
  192. package/styled-components/cjs/components/Popup/PopupContext.js +1 -1
  193. package/styled-components/cjs/components/Radiobox/Radiobox.js +2 -2
  194. package/styled-components/cjs/components/Segment/ui/SegmentGroup/SegmentGroup.js +3 -2
  195. package/styled-components/cjs/components/Segment/ui/SegmentItem/SegmentItem.js +2 -1
  196. package/styled-components/cjs/components/Select/FloatingPopover.js +5 -5
  197. package/styled-components/cjs/components/Select/Select.js +2 -1
  198. package/styled-components/cjs/components/Select/ui/Inner/Inner.js +2 -1
  199. package/styled-components/cjs/components/Spinner/Spinner.js +2 -2
  200. package/styled-components/cjs/components/Tabs/ui/horizontal/HorizontalTabs/HorizontalTabs.js +3 -2
  201. package/styled-components/cjs/components/Tabs/ui/vertical/VerticalTabs/VerticalTabs.js +3 -2
  202. package/styled-components/cjs/components/TextArea/ui/Hint/Hint.js +1 -1
  203. package/styled-components/cjs/components/TextField/TextField.js +3 -3
  204. package/styled-components/cjs/components/TextField/ui/Hint/Hint.js +1 -1
  205. package/styled-components/es/components/Autocomplete/Autocomplete.js +1 -1
  206. package/styled-components/es/components/Autocomplete/FloatingPopover.js +1 -1
  207. package/styled-components/es/components/Checkbox/Checkbox.js +1 -2
  208. package/styled-components/es/components/Combobox/ComboboxNew/Combobox.js +1 -2
  209. package/styled-components/es/components/Combobox/ComboboxNew/FloatingPopover.js +1 -1
  210. package/styled-components/es/components/Combobox/ComboboxNew/ui/Inner/Inner.js +1 -1
  211. package/styled-components/es/components/Combobox/ComboboxOld/Combobox.js +1 -2
  212. package/styled-components/es/components/Combobox/ComboboxOld/ui/ComboboxItem/ComboboxItem.js +1 -1
  213. package/styled-components/es/components/Drawer/Drawer.js +1 -2
  214. package/styled-components/es/components/Dropdown/Dropdown.js +1 -1
  215. package/styled-components/es/components/Dropdown/FloatingPopover.js +1 -1
  216. package/styled-components/es/components/Dropdown/ui/DropdownInner/DropdownInner.js +1 -1
  217. package/styled-components/es/components/Dropdown/ui/DropdownItemOld/DropdownItemOld.js +2 -1
  218. package/styled-components/es/components/Dropdown/ui/DropdownOld/DropdownOld.js +1 -1
  219. package/styled-components/es/components/Modal/Modal.js +2 -3
  220. package/styled-components/es/components/Popup/Popup.js +2 -2
  221. package/styled-components/es/components/Popup/PopupContext.js +1 -1
  222. package/styled-components/es/components/Radiobox/Radiobox.js +2 -2
  223. package/styled-components/es/components/Segment/ui/SegmentGroup/SegmentGroup.js +2 -1
  224. package/styled-components/es/components/Segment/ui/SegmentItem/SegmentItem.js +2 -1
  225. package/styled-components/es/components/Select/FloatingPopover.js +1 -1
  226. package/styled-components/es/components/Select/Select.js +2 -1
  227. package/styled-components/es/components/Select/ui/Inner/Inner.js +2 -1
  228. package/styled-components/es/components/Spinner/Spinner.js +1 -1
  229. package/styled-components/es/components/Tabs/ui/horizontal/HorizontalTabs/HorizontalTabs.js +2 -1
  230. package/styled-components/es/components/Tabs/ui/vertical/VerticalTabs/VerticalTabs.js +2 -1
  231. package/styled-components/es/components/TextArea/ui/Hint/Hint.js +1 -1
  232. package/styled-components/es/components/TextField/TextField.js +2 -2
  233. package/styled-components/es/components/TextField/ui/Hint/Hint.js +1 -1
  234. package/types/components/Checkbox/Checkbox.d.ts.map +1 -1
  235. package/types/components/Combobox/ComboboxNew/Combobox.d.ts.map +1 -1
  236. package/types/components/Combobox/ComboboxOld/Combobox.d.ts.map +1 -1
  237. package/types/components/Combobox/ComboboxOld/ui/ComboboxItem/ComboboxItem.d.ts.map +1 -1
  238. package/types/components/Drawer/Drawer.d.ts.map +1 -1
  239. package/types/components/Dropdown/Dropdown.d.ts.map +1 -1
  240. package/types/components/Dropdown/ui/DropdownDivider/DropdownDivider.d.ts +1 -1
  241. package/types/components/Dropdown/ui/DropdownDivider/DropdownDivider.d.ts.map +1 -1
  242. package/types/components/Dropdown/ui/DropdownFooter/DropdownFooter.d.ts +1 -1
  243. package/types/components/Dropdown/ui/DropdownFooter/DropdownFooter.d.ts.map +1 -1
  244. package/types/components/Dropdown/ui/DropdownGroup/DropdownGroup.d.ts +1 -1
  245. package/types/components/Dropdown/ui/DropdownGroup/DropdownGroup.d.ts.map +1 -1
  246. package/types/components/Dropdown/ui/DropdownHeader/DropdownHeader.d.ts +1 -1
  247. package/types/components/Dropdown/ui/DropdownHeader/DropdownHeader.d.ts.map +1 -1
  248. package/types/components/Dropdown/ui/DropdownItemOld/DropdownItemOld.d.ts +1 -1
  249. package/types/components/Dropdown/ui/DropdownItemOld/DropdownItemOld.d.ts.map +1 -1
  250. package/types/components/Dropdown/ui/DropdownOld/DropdownOld.d.ts +1 -1
  251. package/types/components/Dropdown/ui/DropdownOld/DropdownOld.d.ts.map +1 -1
  252. package/types/components/Modal/Modal.d.ts +1 -1
  253. package/types/components/Modal/Modal.d.ts.map +1 -1
  254. package/types/components/Popup/Popup.d.ts +1 -1
  255. package/types/components/Popup/Popup.d.ts.map +1 -1
  256. package/types/components/Radiobox/Radiobox.d.ts +2 -2
  257. package/types/components/Radiobox/Radiobox.d.ts.map +1 -1
  258. package/types/components/Segment/ui/SegmentGroup/SegmentGroup.d.ts +1 -1
  259. package/types/components/Segment/ui/SegmentGroup/SegmentGroup.d.ts.map +1 -1
  260. package/types/components/Segment/ui/SegmentItem/SegmentItem.d.ts +1 -1
  261. package/types/components/Segment/ui/SegmentItem/SegmentItem.d.ts.map +1 -1
  262. package/types/components/Select/Select.d.ts.map +1 -1
  263. package/types/components/Select/ui/Inner/Inner.d.ts.map +1 -1
  264. package/types/components/Spinner/Spinner.d.ts +1 -1
  265. package/types/components/Spinner/Spinner.d.ts.map +1 -1
  266. package/types/components/Tabs/ui/horizontal/HorizontalTabs/HorizontalTabs.d.ts +1 -1
  267. package/types/components/Tabs/ui/horizontal/HorizontalTabs/HorizontalTabs.d.ts.map +1 -1
  268. package/types/components/Tabs/ui/vertical/VerticalTabs/VerticalTabs.d.ts +1 -1
  269. package/types/components/Tabs/ui/vertical/VerticalTabs/VerticalTabs.d.ts.map +1 -1
  270. package/types/components/TextField/TextField.d.ts +1 -1
  271. package/types/components/TextField/TextField.d.ts.map +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"Spinner.js","sources":["../../../src/components/Spinner/Spinner.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\nimport { safeUseId } from 'src/utils';\nimport type { RootProps } from 'src/engines/types';\n\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as sizeCSS } from './variations/_size/base';\nimport { SpinnerSvg } from './SpinnerSvg';\nimport { SpinnerWrapper, base } from './Spinner.styles';\nimport type { SpinnerProps } from './Spinner.types';\nimport { useInnerProps } from './hooks';\n\nexport const spinnerRoot = (Root: RootProps<HTMLDivElement, SpinnerProps>) =>\n forwardRef<HTMLDivElement, SpinnerProps>((props, ref) => {\n const { id, ...rest } = props;\n\n const innerProps = useInnerProps(props, {\n wrapperWidth: 'auto',\n wrapperHeight: 'auto',\n svgWidth: 'var(--plasma-spinner-size)',\n svgHeight: 'var(--plasma-spinner-size)',\n color: 'currentColor',\n });\n\n const uniqId = safeUseId;\n const innerId = id || uniqId();\n\n return (\n <Root ref={ref} id={innerId} {...rest}>\n <SpinnerWrapper width={innerProps.wrapperWidth} height={innerProps.wrapperHeight}>\n <SpinnerSvg\n id={innerId}\n width={innerProps.svgWidth}\n height={innerProps.svgHeight}\n color={innerProps.color}\n />\n </SpinnerWrapper>\n </Root>\n );\n });\n\nexport const spinnerConfig = {\n name: 'Spinner',\n tag: 'div',\n layout: spinnerRoot,\n base,\n variations: {\n size: {\n css: sizeCSS,\n },\n view: {\n css: viewCSS,\n },\n },\n defaults: {\n size: 'm',\n view: 'accent',\n },\n};\n"],"names":["spinnerRoot","Root","forwardRef","props","ref","id","rest","_objectWithoutProperties","_excluded","innerProps","useInnerProps","wrapperWidth","wrapperHeight","svgWidth","svgHeight","color","uniqId","safeUseId","innerId","React","createElement","_extends","SpinnerWrapper","width","height","SpinnerSvg","spinnerConfig","name","tag","layout","base","variations","size","css","sizeCSS","view","viewCSS","defaults"],"mappings":";;;;;;;;;;;;;;;;;;IAWaA,WAAW,GAAG,SAAdA,WAAWA,CAAIC,IAA6C,EAAA;AAAA,EAAA,oBACrEC,gBAAU,CAA+B,UAACC,KAAK,EAAEC,GAAG,EAAK;AACrD,IAAA,IAAQC,EAAE,GAAcF,KAAK,CAArBE,EAAE;AAAKC,MAAAA,IAAI,GAAAC,iDAAA,CAAKJ,KAAK,EAAAK,SAAA,CAAA,CAAA;AAE7B,IAAA,IAAMC,UAAU,GAAGC,mBAAa,CAACP,KAAK,EAAE;AACpCQ,MAAAA,YAAY,EAAE,MAAM;AACpBC,MAAAA,aAAa,EAAE,MAAM;AACrBC,MAAAA,QAAQ,EAAE,4BAA4B;AACtCC,MAAAA,SAAS,EAAE,4BAA4B;AACvCC,MAAAA,KAAK,EAAE,cAAA;AACX,KAAC,CAAC,CAAA;IAEF,IAAMC,MAAM,GAAGC,eAAS,CAAA;AACxB,IAAA,IAAMC,OAAO,GAAGb,EAAE,IAAIW,MAAM,EAAE,CAAA;AAE9B,IAAA,oBACIG,sBAAA,CAAAC,aAAA,CAACnB,IAAI,EAAAoB,iCAAA,CAAA;AAACjB,MAAAA,GAAG,EAAEA,GAAI;AAACC,MAAAA,EAAE,EAAEa,OAAAA;AAAQ,KAAA,EAAKZ,IAAI,CACjCa,eAAAA,sBAAA,CAAAC,aAAA,CAACE,6BAAc,EAAA;MAACC,KAAK,EAAEd,UAAU,CAACE,YAAa;MAACa,MAAM,EAAEf,UAAU,CAACG,aAAAA;AAAc,KAAA,eAC7EO,sBAAA,CAAAC,aAAA,CAACK,qBAAU,EAAA;AACPpB,MAAAA,EAAE,EAAEa,OAAQ;MACZK,KAAK,EAAEd,UAAU,CAACI,QAAS;MAC3BW,MAAM,EAAEf,UAAU,CAACK,SAAU;MAC7BC,KAAK,EAAEN,UAAU,CAACM,KAAAA;KACrB,CACW,CACd,CAAC,CAAA;AAEf,GAAC,CAAC,CAAA;AAAA,EAAA;AAEC,IAAMW,aAAa,GAAG;AACzBC,EAAAA,IAAI,EAAE,SAAS;AACfC,EAAAA,GAAG,EAAE,KAAK;AACVC,EAAAA,MAAM,EAAE7B,WAAW;AACnB8B,EAAAA,IAAI,EAAJA,mBAAI;AACJC,EAAAA,UAAU,EAAE;AACRC,IAAAA,IAAI,EAAE;AACFC,MAAAA,GAAG,EAAEC,SAAAA;KACR;AACDC,IAAAA,IAAI,EAAE;AACFF,MAAAA,GAAG,EAAEG,WAAAA;AACT,KAAA;GACH;AACDC,EAAAA,QAAQ,EAAE;AACNL,IAAAA,IAAI,EAAE,GAAG;AACTG,IAAAA,IAAI,EAAE,QAAA;AACV,GAAA;AACJ;;;;;"}
1
+ {"version":3,"file":"Spinner.js","sources":["../../../src/components/Spinner/Spinner.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\nimport { safeUseId } from '@salutejs/plasma-core';\n\nimport type { RootProps } from '../../engines/types';\n\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as sizeCSS } from './variations/_size/base';\nimport { SpinnerSvg } from './SpinnerSvg';\nimport { SpinnerWrapper, base } from './Spinner.styles';\nimport type { SpinnerProps } from './Spinner.types';\nimport { useInnerProps } from './hooks';\n\nexport const spinnerRoot = (Root: RootProps<HTMLDivElement, SpinnerProps>) =>\n forwardRef<HTMLDivElement, SpinnerProps>((props, ref) => {\n const { id, ...rest } = props;\n\n const innerProps = useInnerProps(props, {\n wrapperWidth: 'auto',\n wrapperHeight: 'auto',\n svgWidth: 'var(--plasma-spinner-size)',\n svgHeight: 'var(--plasma-spinner-size)',\n color: 'currentColor',\n });\n\n const uniqId = safeUseId;\n const innerId = id || uniqId();\n\n return (\n <Root ref={ref} id={innerId} {...rest}>\n <SpinnerWrapper width={innerProps.wrapperWidth} height={innerProps.wrapperHeight}>\n <SpinnerSvg\n id={innerId}\n width={innerProps.svgWidth}\n height={innerProps.svgHeight}\n color={innerProps.color}\n />\n </SpinnerWrapper>\n </Root>\n );\n });\n\nexport const spinnerConfig = {\n name: 'Spinner',\n tag: 'div',\n layout: spinnerRoot,\n base,\n variations: {\n size: {\n css: sizeCSS,\n },\n view: {\n css: viewCSS,\n },\n },\n defaults: {\n size: 'm',\n view: 'accent',\n },\n};\n"],"names":["spinnerRoot","Root","forwardRef","props","ref","id","rest","_objectWithoutProperties","_excluded","innerProps","useInnerProps","wrapperWidth","wrapperHeight","svgWidth","svgHeight","color","uniqId","safeUseId","innerId","React","createElement","_extends","SpinnerWrapper","width","height","SpinnerSvg","spinnerConfig","name","tag","layout","base","variations","size","css","sizeCSS","view","viewCSS","defaults"],"mappings":";;;;;;;;;;;;;;;;;;IAYaA,WAAW,GAAG,SAAdA,WAAWA,CAAIC,IAA6C,EAAA;AAAA,EAAA,oBACrEC,gBAAU,CAA+B,UAACC,KAAK,EAAEC,GAAG,EAAK;AACrD,IAAA,IAAQC,EAAE,GAAcF,KAAK,CAArBE,EAAE;AAAKC,MAAAA,IAAI,GAAAC,iDAAA,CAAKJ,KAAK,EAAAK,SAAA,CAAA,CAAA;AAE7B,IAAA,IAAMC,UAAU,GAAGC,mBAAa,CAACP,KAAK,EAAE;AACpCQ,MAAAA,YAAY,EAAE,MAAM;AACpBC,MAAAA,aAAa,EAAE,MAAM;AACrBC,MAAAA,QAAQ,EAAE,4BAA4B;AACtCC,MAAAA,SAAS,EAAE,4BAA4B;AACvCC,MAAAA,KAAK,EAAE,cAAA;AACX,KAAC,CAAC,CAAA;IAEF,IAAMC,MAAM,GAAGC,oBAAS,CAAA;AACxB,IAAA,IAAMC,OAAO,GAAGb,EAAE,IAAIW,MAAM,EAAE,CAAA;AAE9B,IAAA,oBACIG,sBAAA,CAAAC,aAAA,CAACnB,IAAI,EAAAoB,iCAAA,CAAA;AAACjB,MAAAA,GAAG,EAAEA,GAAI;AAACC,MAAAA,EAAE,EAAEa,OAAAA;AAAQ,KAAA,EAAKZ,IAAI,CACjCa,eAAAA,sBAAA,CAAAC,aAAA,CAACE,6BAAc,EAAA;MAACC,KAAK,EAAEd,UAAU,CAACE,YAAa;MAACa,MAAM,EAAEf,UAAU,CAACG,aAAAA;AAAc,KAAA,eAC7EO,sBAAA,CAAAC,aAAA,CAACK,qBAAU,EAAA;AACPpB,MAAAA,EAAE,EAAEa,OAAQ;MACZK,KAAK,EAAEd,UAAU,CAACI,QAAS;MAC3BW,MAAM,EAAEf,UAAU,CAACK,SAAU;MAC7BC,KAAK,EAAEN,UAAU,CAACM,KAAAA;KACrB,CACW,CACd,CAAC,CAAA;AAEf,GAAC,CAAC,CAAA;AAAA,EAAA;AAEC,IAAMW,aAAa,GAAG;AACzBC,EAAAA,IAAI,EAAE,SAAS;AACfC,EAAAA,GAAG,EAAE,KAAK;AACVC,EAAAA,MAAM,EAAE7B,WAAW;AACnB8B,EAAAA,IAAI,EAAJA,mBAAI;AACJC,EAAAA,UAAU,EAAE;AACRC,IAAAA,IAAI,EAAE;AACFC,MAAAA,GAAG,EAAEC,SAAAA;KACR;AACDC,IAAAA,IAAI,EAAE;AACFF,MAAAA,GAAG,EAAEG,WAAAA;AACT,KAAA;GACH;AACDC,EAAAA,QAAQ,EAAE;AACNL,IAAAA,IAAI,EAAE,GAAG;AACTG,IAAAA,IAAI,EAAE,QAAA;AACV,GAAA;AACJ;;;;;"}
@@ -4,8 +4,9 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var _rollupPluginBabelHelpers = require('../../../../../_virtual/_rollupPluginBabelHelpers.js');
6
6
  var React = require('react');
7
- var index$1 = require('../../../../../utils/index.js');
7
+ var plasmaCore = require('@salutejs/plasma-core');
8
8
  var tokens = require('../../../tokens.js');
9
+ var index$1 = require('../../../../../utils/index.js');
9
10
  var TabsContext = require('../../../TabsContext.js');
10
11
  var index = require('../../../utils/index.js');
11
12
  var base = require('./variations/_size/base.js');
@@ -14,7 +15,6 @@ var base$2 = require('./variations/_disabled/base.js');
14
15
  var base$4 = require('./variations/_pilled/base.js');
15
16
  var base$3 = require('./variations/_stretch/base.js');
16
17
  var HorizontalTabs_styles = require('./HorizontalTabs.styles.js');
17
- var react = require('../../../../../utils/react.js');
18
18
  var IconDisclosureLeft = require('../../../../_Icon/Icons/IconDisclosureLeft.js');
19
19
  var IconDisclosureRight = require('../../../../_Icon/Icons/IconDisclosureRight.js');
20
20
 
@@ -71,7 +71,7 @@ var horizontalTabsRoot = function horizontalTabsRoot(Root) {
71
71
  var refs = React.useMemo(function () {
72
72
  return new TabsContext.TabItemRefs(index$2);
73
73
  }, []);
74
- var uniqId = react.safeUseId();
74
+ var uniqId = plasmaCore.safeUseId();
75
75
  var tabsId = id || uniqId;
76
76
  var isFilled = view === 'filled'; // outer padding is only for filled view
77
77
  var pilledAttr = view !== 'clear' && pilled;
@@ -1 +1 @@
1
- {"version":3,"file":"HorizontalTabs.js","sources":["../../../../../../src/components/Tabs/ui/horizontal/HorizontalTabs/HorizontalTabs.tsx"],"sourcesContent":["import React, { forwardRef, useCallback, useMemo, useState, useRef, KeyboardEvent, useLayoutEffect } from 'react';\nimport type { MutableRefObject } from 'react';\nimport { cx, safeUseId } from 'src/utils';\nimport type { RootProps } from 'src/engines/types';\n\nimport { IconDisclosureLeft, IconDisclosureRight } from '../../../../_Icon';\nimport { classes } from '../../../tokens';\nimport { TabItemRefs, TabsContext } from '../../../TabsContext';\nimport type { HorizontalTabsProps } from '../../../Tabs.types';\nimport { getFirstOverflowingTab, getLastOverflowingTab } from '../../../utils';\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 './HorizontalTabs.styles';\n\nenum Keys {\n end = 35,\n home = 36,\n left = 37,\n right = 39,\n}\n\nconst getIconSize = (size?: string) => {\n return size === 'h1' || size === 'h2' ? 'm' : 's';\n};\n\n// TODO: https://github.com/salute-developers/plasma/issues/1474\nexport const horizontalTabsRoot = (Root: RootProps<HTMLDivElement, HorizontalTabsProps>) =>\n forwardRef<HTMLDivElement, HorizontalTabsProps>((props, outerRef) => {\n const {\n id,\n stretch = false,\n disabled = false,\n clip = 'scroll',\n size,\n view,\n children,\n pilled = false,\n index,\n className,\n hasDivider = true,\n ...rest\n } = props;\n const [firstItemVisible, setFirstItemVisible] = useState(true);\n const [lastItemVisible, setLastItemVisible] = useState(false);\n\n // Триггер доп. скролла при появлении левой стрелки, которая отъедает ширину scroll-контейнера\n const [shouldTriggerAdditionalScroll, setShouldTriggerAdditionalScroll] = useState(false);\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 noDividerClass = !hasDivider ? classes.tabsNoDivider : undefined;\n const stretchClass = firstItemVisible && lastItemVisible && stretch ? classes.tabsStretch : undefined;\n const hasLeftArrowClass = !firstItemVisible ? classes.tabsHasLeftArrow : undefined;\n const hasRightArrowClass = !lastItemVisible ? classes.tabsHasRightArrow : undefined;\n const clipScrollClass = clip === 'scroll' ? classes.tabsClipScroll : undefined;\n const clipShowAllClass = clip === 'showAll' ? classes.tabsClipShowAll : undefined;\n\n const scrollRef = useRef<HTMLElement | null>(null);\n const trackRef = useRef<HTMLElement | null>(null);\n const leftArrowRef = useRef<HTMLButtonElement | null>(null);\n\n const onPrev = useCallback(() => {\n if (disabled || !scrollRef.current) {\n return;\n }\n\n const { scrollLeft } = scrollRef.current;\n const firstOverflowingTab = getFirstOverflowingTab(\n refs.items.slice().reverse(),\n scrollLeft,\n rest.orientation,\n );\n\n if (!firstOverflowingTab?.current) {\n return;\n }\n\n const scrollElStyle = getComputedStyle(scrollRef.current);\n scrollRef.current.scrollTo({\n left: firstOverflowingTab.current.offsetLeft - parseInt(scrollElStyle.paddingLeft, 10),\n });\n }, [disabled, scrollRef, refs]);\n\n const onNext = useCallback(() => {\n if (disabled || !scrollRef.current) {\n return;\n }\n\n const scrollRight = Math.round(scrollRef.current.scrollLeft + scrollRef.current.clientWidth);\n const lastOverflowingTab = getLastOverflowingTab(refs.items, scrollRight, rest.orientation);\n\n if (!lastOverflowingTab?.current) {\n return;\n }\n\n if (firstItemVisible) {\n setShouldTriggerAdditionalScroll(true);\n }\n\n const scrollElStyle = getComputedStyle(scrollRef.current);\n scrollRef.current.scrollTo({\n left: Math.round(\n lastOverflowingTab.current.offsetLeft +\n lastOverflowingTab.current.offsetWidth -\n scrollRef.current.clientWidth +\n parseInt(scrollElStyle.paddingRight, 10),\n ),\n });\n }, [firstItemVisible, disabled, scrollRef, refs]);\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 ref={leftArrowRef}\n isLeftArrow\n >\n <IconDisclosureLeft size={getIconSize(size)} color=\"inherit\" />\n </StyledArrow>\n ),\n [onPrev, size, 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 size={getIconSize(size)} color=\"inherit\" />\n </StyledArrow>\n ),\n [onNext, size, disabled, isFilled],\n );\n\n const handleScroll = useCallback(\n (event: React.UIEvent<HTMLElement>): void => {\n event.stopPropagation();\n const scrollElStyle = getComputedStyle(event.currentTarget);\n const minScrollLeft = parseInt(scrollElStyle.paddingLeft, 10);\n const maxScrollLeft =\n event.currentTarget.scrollWidth -\n event.currentTarget.clientWidth -\n parseInt(scrollElStyle.paddingRight, 10);\n const scrollLeft = Math.round(event.currentTarget.scrollLeft);\n\n setFirstItemVisible(scrollLeft <= minScrollLeft);\n setLastItemVisible(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: 'nearest',\n inline: 'center',\n behavior: 'smooth',\n });\n }\n },\n [index],\n );\n\n useLayoutEffect(() => {\n setLastItemVisible(scrollRef.current?.scrollWidth === scrollRef.current?.clientWidth);\n }, []);\n\n // Этот хук компенсирует появление левой стрелки при прокрутке\n useLayoutEffect(() => {\n if (firstItemVisible || !shouldTriggerAdditionalScroll || !scrollRef.current || !leftArrowRef.current) {\n return;\n }\n const style = getComputedStyle(scrollRef.current);\n scrollRef.current.scrollTo({\n left: Math.round(\n scrollRef.current.scrollLeft + leftArrowRef.current.clientWidth + parseInt(style.paddingLeft, 10),\n ),\n });\n setShouldTriggerAdditionalScroll(false);\n }, [firstItemVisible, shouldTriggerAdditionalScroll, scrollRef, leftArrowRef]);\n\n return (\n <TabsContext.Provider value={refs}>\n <Root\n view={view}\n role=\"tablist\"\n // TODO: убрать каст any, когда будут удалены deprecated props\n size={size as any}\n pilled={pilled}\n id={tabsId}\n ref={outerRef}\n disabled={disabled}\n className={cx(\n pilledClass,\n stretchClass,\n hasLeftArrowClass,\n hasRightArrowClass,\n noDividerClass,\n className,\n )}\n onKeyDown={onKeyDown}\n {...rest}\n >\n {!firstItemVisible && PreviousButton}\n <StyledContentWrapper\n className={cx(clipScrollClass, clipShowAllClass)}\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 horizontalTabsConfig = {\n name: 'HorizontalTabs',\n tag: 'div',\n layout: horizontalTabsRoot,\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","getIconSize","size","horizontalTabsRoot","Root","forwardRef","props","outerRef","id","_props$stretch","stretch","_props$disabled","disabled","_props$clip","clip","view","children","_props$pilled","pilled","index","className","_props$hasDivider","hasDivider","rest","_objectWithoutProperties","_excluded","_useState","useState","_useState2","_slicedToArray","firstItemVisible","setFirstItemVisible","_useState3","_useState4","lastItemVisible","setLastItemVisible","_useState5","_useState6","shouldTriggerAdditionalScroll","setShouldTriggerAdditionalScroll","refs","useMemo","TabItemRefs","uniqId","safeUseId","tabsId","isFilled","pilledAttr","pilledClass","classes","tabsPilled","undefined","noDividerClass","tabsNoDivider","stretchClass","tabsStretch","hasLeftArrowClass","tabsHasLeftArrow","hasRightArrowClass","tabsHasRightArrow","clipScrollClass","tabsClipScroll","clipShowAllClass","tabsClipShowAll","scrollRef","useRef","trackRef","leftArrowRef","onPrev","useCallback","current","scrollLeft","firstOverflowingTab","getFirstOverflowingTab","items","slice","reverse","orientation","scrollElStyle","getComputedStyle","scrollTo","left","offsetLeft","parseInt","paddingLeft","onNext","scrollRight","Math","round","clientWidth","lastOverflowingTab","getLastOverflowingTab","offsetWidth","paddingRight","PreviousButton","React","createElement","StyledArrow","type","onClick","tabIndex","ref","isLeftArrow","IconDisclosureLeft","color","NextButton","IconDisclosureRight","handleScroll","event","stopPropagation","currentTarget","minScrollLeft","maxScrollLeft","scrollWidth","onKeyDown","minIndex","maxIndex","length","nextIndex","keyCode","end","right","home","_refs$items$nextIndex","_refs$items$nextIndex2","preventDefault","focus","scrollIntoView","block","inline","behavior","useLayoutEffect","_scrollRef$current","_scrollRef$current2","style","TabsContext","Provider","value","_extends","role","cx","StyledContentWrapper","onScroll","StyledContent","horizontalTabsConfig","name","tag","layout","base","variations","css","sizeCSS","viewCSS","disabledCSS","attrs","stretchCSS","pilledCSS","defaults"],"mappings":"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"}
1
+ {"version":3,"file":"HorizontalTabs.js","sources":["../../../../../../src/components/Tabs/ui/horizontal/HorizontalTabs/HorizontalTabs.tsx"],"sourcesContent":["import React, { forwardRef, useCallback, useMemo, useState, useRef, KeyboardEvent, useLayoutEffect } from 'react';\nimport type { MutableRefObject } from 'react';\nimport { safeUseId } from '@salutejs/plasma-core';\n\nimport type { RootProps } from '../../../../../engines/types';\nimport { IconDisclosureLeft, IconDisclosureRight } from '../../../../_Icon';\nimport { classes } from '../../../tokens';\nimport { cx } from '../../../../../utils';\nimport { TabItemRefs, TabsContext } from '../../../TabsContext';\nimport type { HorizontalTabsProps } from '../../../Tabs.types';\nimport { getFirstOverflowingTab, getLastOverflowingTab } from '../../../utils';\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 './HorizontalTabs.styles';\n\nenum Keys {\n end = 35,\n home = 36,\n left = 37,\n right = 39,\n}\n\nconst getIconSize = (size?: string) => {\n return size === 'h1' || size === 'h2' ? 'm' : 's';\n};\n\n// TODO: https://github.com/salute-developers/plasma/issues/1474\nexport const horizontalTabsRoot = (Root: RootProps<HTMLDivElement, HorizontalTabsProps>) =>\n forwardRef<HTMLDivElement, HorizontalTabsProps>((props, outerRef) => {\n const {\n id,\n stretch = false,\n disabled = false,\n clip = 'scroll',\n size,\n view,\n children,\n pilled = false,\n index,\n className,\n hasDivider = true,\n ...rest\n } = props;\n const [firstItemVisible, setFirstItemVisible] = useState(true);\n const [lastItemVisible, setLastItemVisible] = useState(false);\n\n // Триггер доп. скролла при появлении левой стрелки, которая отъедает ширину scroll-контейнера\n const [shouldTriggerAdditionalScroll, setShouldTriggerAdditionalScroll] = useState(false);\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 noDividerClass = !hasDivider ? classes.tabsNoDivider : undefined;\n const stretchClass = firstItemVisible && lastItemVisible && stretch ? classes.tabsStretch : undefined;\n const hasLeftArrowClass = !firstItemVisible ? classes.tabsHasLeftArrow : undefined;\n const hasRightArrowClass = !lastItemVisible ? classes.tabsHasRightArrow : undefined;\n const clipScrollClass = clip === 'scroll' ? classes.tabsClipScroll : undefined;\n const clipShowAllClass = clip === 'showAll' ? classes.tabsClipShowAll : undefined;\n\n const scrollRef = useRef<HTMLElement | null>(null);\n const trackRef = useRef<HTMLElement | null>(null);\n const leftArrowRef = useRef<HTMLButtonElement | null>(null);\n\n const onPrev = useCallback(() => {\n if (disabled || !scrollRef.current) {\n return;\n }\n\n const { scrollLeft } = scrollRef.current;\n const firstOverflowingTab = getFirstOverflowingTab(\n refs.items.slice().reverse(),\n scrollLeft,\n rest.orientation,\n );\n\n if (!firstOverflowingTab?.current) {\n return;\n }\n\n const scrollElStyle = getComputedStyle(scrollRef.current);\n scrollRef.current.scrollTo({\n left: firstOverflowingTab.current.offsetLeft - parseInt(scrollElStyle.paddingLeft, 10),\n });\n }, [disabled, scrollRef, refs]);\n\n const onNext = useCallback(() => {\n if (disabled || !scrollRef.current) {\n return;\n }\n\n const scrollRight = Math.round(scrollRef.current.scrollLeft + scrollRef.current.clientWidth);\n const lastOverflowingTab = getLastOverflowingTab(refs.items, scrollRight, rest.orientation);\n\n if (!lastOverflowingTab?.current) {\n return;\n }\n\n if (firstItemVisible) {\n setShouldTriggerAdditionalScroll(true);\n }\n\n const scrollElStyle = getComputedStyle(scrollRef.current);\n scrollRef.current.scrollTo({\n left: Math.round(\n lastOverflowingTab.current.offsetLeft +\n lastOverflowingTab.current.offsetWidth -\n scrollRef.current.clientWidth +\n parseInt(scrollElStyle.paddingRight, 10),\n ),\n });\n }, [firstItemVisible, disabled, scrollRef, refs]);\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 ref={leftArrowRef}\n isLeftArrow\n >\n <IconDisclosureLeft size={getIconSize(size)} color=\"inherit\" />\n </StyledArrow>\n ),\n [onPrev, size, 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 size={getIconSize(size)} color=\"inherit\" />\n </StyledArrow>\n ),\n [onNext, size, disabled, isFilled],\n );\n\n const handleScroll = useCallback(\n (event: React.UIEvent<HTMLElement>): void => {\n event.stopPropagation();\n const scrollElStyle = getComputedStyle(event.currentTarget);\n const minScrollLeft = parseInt(scrollElStyle.paddingLeft, 10);\n const maxScrollLeft =\n event.currentTarget.scrollWidth -\n event.currentTarget.clientWidth -\n parseInt(scrollElStyle.paddingRight, 10);\n const scrollLeft = Math.round(event.currentTarget.scrollLeft);\n\n setFirstItemVisible(scrollLeft <= minScrollLeft);\n setLastItemVisible(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: 'nearest',\n inline: 'center',\n behavior: 'smooth',\n });\n }\n },\n [index],\n );\n\n useLayoutEffect(() => {\n setLastItemVisible(scrollRef.current?.scrollWidth === scrollRef.current?.clientWidth);\n }, []);\n\n // Этот хук компенсирует появление левой стрелки при прокрутке\n useLayoutEffect(() => {\n if (firstItemVisible || !shouldTriggerAdditionalScroll || !scrollRef.current || !leftArrowRef.current) {\n return;\n }\n const style = getComputedStyle(scrollRef.current);\n scrollRef.current.scrollTo({\n left: Math.round(\n scrollRef.current.scrollLeft + leftArrowRef.current.clientWidth + parseInt(style.paddingLeft, 10),\n ),\n });\n setShouldTriggerAdditionalScroll(false);\n }, [firstItemVisible, shouldTriggerAdditionalScroll, scrollRef, leftArrowRef]);\n\n return (\n <TabsContext.Provider value={refs}>\n <Root\n view={view}\n role=\"tablist\"\n // TODO: убрать каст any, когда будут удалены deprecated props\n size={size as any}\n pilled={pilled}\n id={tabsId}\n ref={outerRef}\n disabled={disabled}\n className={cx(\n pilledClass,\n stretchClass,\n hasLeftArrowClass,\n hasRightArrowClass,\n noDividerClass,\n className,\n )}\n onKeyDown={onKeyDown}\n {...rest}\n >\n {!firstItemVisible && PreviousButton}\n <StyledContentWrapper\n className={cx(clipScrollClass, clipShowAllClass)}\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 horizontalTabsConfig = {\n name: 'HorizontalTabs',\n tag: 'div',\n layout: horizontalTabsRoot,\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","getIconSize","size","horizontalTabsRoot","Root","forwardRef","props","outerRef","id","_props$stretch","stretch","_props$disabled","disabled","_props$clip","clip","view","children","_props$pilled","pilled","index","className","_props$hasDivider","hasDivider","rest","_objectWithoutProperties","_excluded","_useState","useState","_useState2","_slicedToArray","firstItemVisible","setFirstItemVisible","_useState3","_useState4","lastItemVisible","setLastItemVisible","_useState5","_useState6","shouldTriggerAdditionalScroll","setShouldTriggerAdditionalScroll","refs","useMemo","TabItemRefs","uniqId","safeUseId","tabsId","isFilled","pilledAttr","pilledClass","classes","tabsPilled","undefined","noDividerClass","tabsNoDivider","stretchClass","tabsStretch","hasLeftArrowClass","tabsHasLeftArrow","hasRightArrowClass","tabsHasRightArrow","clipScrollClass","tabsClipScroll","clipShowAllClass","tabsClipShowAll","scrollRef","useRef","trackRef","leftArrowRef","onPrev","useCallback","current","scrollLeft","firstOverflowingTab","getFirstOverflowingTab","items","slice","reverse","orientation","scrollElStyle","getComputedStyle","scrollTo","left","offsetLeft","parseInt","paddingLeft","onNext","scrollRight","Math","round","clientWidth","lastOverflowingTab","getLastOverflowingTab","offsetWidth","paddingRight","PreviousButton","React","createElement","StyledArrow","type","onClick","tabIndex","ref","isLeftArrow","IconDisclosureLeft","color","NextButton","IconDisclosureRight","handleScroll","event","stopPropagation","currentTarget","minScrollLeft","maxScrollLeft","scrollWidth","onKeyDown","minIndex","maxIndex","length","nextIndex","keyCode","end","right","home","_refs$items$nextIndex","_refs$items$nextIndex2","preventDefault","focus","scrollIntoView","block","inline","behavior","useLayoutEffect","_scrollRef$current","_scrollRef$current2","style","TabsContext","Provider","value","_extends","role","cx","StyledContentWrapper","onScroll","StyledContent","horizontalTabsConfig","name","tag","layout","base","variations","css","sizeCSS","viewCSS","disabledCSS","attrs","stretchCSS","pilledCSS","defaults"],"mappings":"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"}
@@ -4,15 +4,15 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var _rollupPluginBabelHelpers = require('../../../../../_virtual/_rollupPluginBabelHelpers.js');
6
6
  var React = require('react');
7
- var index$1 = require('../../../../../utils/index.js');
7
+ var plasmaCore = require('@salutejs/plasma-core');
8
8
  var tokens = require('../../../tokens.js');
9
+ var index$1 = require('../../../../../utils/index.js');
9
10
  var TabsContext = require('../../../TabsContext.js');
10
11
  var index = require('../../../utils/index.js');
11
12
  var VerticalTabs_styles = require('./VerticalTabs.styles.js');
12
13
  var base = require('./variations/_size/base.js');
13
14
  var base$1 = require('./variations/_view/base.js');
14
15
  var base$2 = require('./variations/_disabled/base.js');
15
- var react = require('../../../../../utils/react.js');
16
16
  var IconDisclosureLeft = require('../../../../_Icon/Icons/IconDisclosureLeft.js');
17
17
  var IconDisclosureRight = require('../../../../_Icon/Icons/IconDisclosureRight.js');
18
18
 
@@ -62,7 +62,7 @@ var verticalTabsRoot = function verticalTabsRoot(Root) {
62
62
  var refs = React.useMemo(function () {
63
63
  return new TabsContext.TabItemRefs(index$2);
64
64
  }, []);
65
- var uniqId = react.safeUseId();
65
+ var uniqId = plasmaCore.safeUseId();
66
66
  var tabsId = id || uniqId;
67
67
  var noDividerClass = !hasDivider ? tokens.classes.tabsNoDivider : undefined;
68
68
  var hasTopArrowClass = !firstItemVisible ? tokens.classes.tabsHasTopArrow : undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"VerticalTabs.js","sources":["../../../../../../src/components/Tabs/ui/vertical/VerticalTabs/VerticalTabs.tsx"],"sourcesContent":["import React, { forwardRef, useCallback, useMemo, useState, useLayoutEffect, useRef, KeyboardEvent } from 'react';\nimport type { MutableRefObject } from 'react';\nimport { cx, safeUseId } from 'src/utils';\nimport type { RootProps } from 'src/engines/types';\n\nimport { classes } from '../../../tokens';\nimport { TabItemRefs, TabsContext } from '../../../TabsContext';\nimport type { VerticalTabsProps } from '../../../Tabs.types';\nimport { IconDisclosureLeft, IconDisclosureRight } from '../../../../_Icon';\nimport { getFirstOverflowingTab, getLastOverflowingTab } from '../../../utils';\n\nimport { base, StyledArrow, StyledContent, StyledContentWrapper } from './VerticalTabs.styles';\nimport { base as sizeCSS } from './variations/_size/base';\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as disabledCSS } from './variations/_disabled/base';\n\nenum Keys {\n end = 35,\n home = 36,\n up = 38,\n down = 40,\n}\n\n// TODO: https://github.com/salute-developers/plasma/issues/1474\nexport const verticalTabsRoot = (Root: RootProps<HTMLDivElement, VerticalTabsProps>) =>\n forwardRef<HTMLDivElement, VerticalTabsProps>((props, outerRef) => {\n const {\n id,\n disabled = false,\n clip = 'showAll',\n size,\n view,\n children,\n index,\n className,\n orientation,\n hasDivider = true,\n ...rest\n } = props;\n\n const [firstItemVisible, setFirstItemVisible] = useState(true);\n const [lastItemVisible, setLastItemVisible] = useState(false);\n\n // Триггер доп. скролла при появлении левой стрелки, которая отъедает ширину scroll-контейнера\n const [shouldTriggerAdditionalScroll, setShouldTriggerAdditionalScroll] = useState(false);\n\n const refs = useMemo(() => new TabItemRefs(index), []);\n\n const uniqId = safeUseId();\n const tabsId = id || uniqId;\n\n const noDividerClass = !hasDivider ? classes.tabsNoDivider : undefined;\n const hasTopArrowClass = !firstItemVisible ? classes.tabsHasTopArrow : undefined;\n const hasBottomArrowClass = !lastItemVisible ? classes.tabsHasBottomArrow : undefined;\n const clipScrollClass = clip === 'scroll' ? classes.tabsClipScroll : undefined;\n const clipShowAllClass = clip === 'showAll' ? classes.tabsClipShowAll : undefined;\n\n const scrollRef = useRef<HTMLElement | null>(null);\n const trackRef = useRef<HTMLElement | null>(null);\n const upArrowRef = useRef<HTMLButtonElement | null>(null);\n\n const onPrev = useCallback(() => {\n if (disabled || !scrollRef.current) {\n return;\n }\n\n const { scrollTop } = scrollRef.current;\n const firstOverflowingTab = getFirstOverflowingTab(refs.items.slice().reverse(), scrollTop, orientation);\n\n if (!firstOverflowingTab?.current) {\n return;\n }\n\n const scrollElStyle = getComputedStyle(scrollRef.current);\n scrollRef.current.scrollTo({\n top: firstOverflowingTab.current.offsetTop - parseInt(scrollElStyle.paddingTop, 10),\n });\n }, [disabled, scrollRef, refs]);\n\n const onNext = useCallback(() => {\n if (disabled || !scrollRef.current) {\n return;\n }\n\n const scrollBottom = Math.round(scrollRef.current.scrollTop + scrollRef.current.clientHeight);\n const lastOverflowingTab = getLastOverflowingTab(refs.items, scrollBottom, orientation);\n\n if (!lastOverflowingTab?.current) {\n return;\n }\n\n if (firstItemVisible) {\n setShouldTriggerAdditionalScroll(true);\n }\n\n const scrollElStyle = getComputedStyle(scrollRef.current);\n scrollRef.current.scrollTo({\n top: Math.round(\n lastOverflowingTab.current.offsetTop +\n lastOverflowingTab.current.offsetHeight -\n scrollRef.current.clientHeight +\n parseInt(scrollElStyle.paddingTop, 10),\n ),\n });\n }, [firstItemVisible, disabled, scrollRef, refs]);\n\n const PreviousButton = (\n <StyledArrow\n type=\"button\"\n aria-label=\"Предыдущий таб\"\n onClick={onPrev}\n tabIndex={disabled ? -1 : 0}\n disabled={disabled}\n ref={upArrowRef}\n >\n <IconDisclosureLeft color=\"inherit\" />\n </StyledArrow>\n );\n\n const NextButton = (\n <StyledArrow\n type=\"button\"\n aria-label=\"Следующий таб\"\n onClick={onNext}\n tabIndex={disabled ? -1 : 0}\n disabled={disabled}\n >\n <IconDisclosureRight color=\"inherit\" />\n </StyledArrow>\n );\n\n const handleScroll = useCallback(\n (event: React.UIEvent<HTMLElement>): void => {\n event.stopPropagation();\n const scrollElStyle = getComputedStyle(event.currentTarget);\n const minScrollTop = parseInt(scrollElStyle.paddingLeft, 10);\n const maxScrollTop =\n event.currentTarget.scrollHeight -\n event.currentTarget.clientHeight -\n parseInt(scrollElStyle.paddingTop, 10);\n const scrollTop = Math.round(event.currentTarget.scrollTop);\n\n setFirstItemVisible(scrollTop <= minScrollTop);\n setLastItemVisible(scrollTop >= maxScrollTop);\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.up:\n nextIndex = index > minIndex ? index - 1 : index;\n break;\n case Keys.down:\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: 'nearest',\n inline: 'nearest',\n behavior: 'smooth',\n });\n }\n },\n [index],\n );\n\n useLayoutEffect(() => {\n setLastItemVisible(scrollRef.current?.scrollHeight === scrollRef.current?.clientHeight);\n }, []);\n\n // Этот хук компенсирует появление верхней стрелки при прокрутке\n useLayoutEffect(() => {\n if (firstItemVisible || !shouldTriggerAdditionalScroll || !scrollRef.current || !upArrowRef.current) {\n return;\n }\n\n const style = getComputedStyle(scrollRef.current);\n scrollRef.current.scrollTo({\n top: Math.round(\n scrollRef.current.scrollTop + upArrowRef.current.clientHeight + parseInt(style.paddingTop, 10),\n ),\n });\n setShouldTriggerAdditionalScroll(false);\n }, [firstItemVisible, shouldTriggerAdditionalScroll, scrollRef, upArrowRef]);\n\n return (\n <TabsContext.Provider value={refs}>\n <Root\n view={view}\n role=\"tablist\"\n size={size}\n id={tabsId}\n ref={outerRef}\n disabled={disabled}\n className={cx(hasTopArrowClass, hasBottomArrowClass, noDividerClass, className)}\n onKeyDown={onKeyDown}\n orientation={orientation}\n {...rest}\n >\n {!firstItemVisible && PreviousButton}\n <StyledContentWrapper\n className={cx(clipScrollClass, clipShowAllClass)}\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 verticalTabsConfig = {\n name: 'VerticalTabs',\n tag: 'div',\n layout: verticalTabsRoot,\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 },\n defaults: {\n view: 'divider',\n size: 'xs',\n },\n};\n"],"names":["Keys","verticalTabsRoot","Root","forwardRef","props","outerRef","id","_props$disabled","disabled","_props$clip","clip","size","view","children","index","className","orientation","_props$hasDivider","hasDivider","rest","_objectWithoutProperties","_excluded","_useState","useState","_useState2","_slicedToArray","firstItemVisible","setFirstItemVisible","_useState3","_useState4","lastItemVisible","setLastItemVisible","_useState5","_useState6","shouldTriggerAdditionalScroll","setShouldTriggerAdditionalScroll","refs","useMemo","TabItemRefs","uniqId","safeUseId","tabsId","noDividerClass","classes","tabsNoDivider","undefined","hasTopArrowClass","tabsHasTopArrow","hasBottomArrowClass","tabsHasBottomArrow","clipScrollClass","tabsClipScroll","clipShowAllClass","tabsClipShowAll","scrollRef","useRef","trackRef","upArrowRef","onPrev","useCallback","current","scrollTop","firstOverflowingTab","getFirstOverflowingTab","items","slice","reverse","scrollElStyle","getComputedStyle","scrollTo","top","offsetTop","parseInt","paddingTop","onNext","scrollBottom","Math","round","clientHeight","lastOverflowingTab","getLastOverflowingTab","offsetHeight","PreviousButton","React","createElement","StyledArrow","type","onClick","tabIndex","ref","_IconDisclosureLeft","IconDisclosureLeft","color","NextButton","_IconDisclosureRight","IconDisclosureRight","handleScroll","event","stopPropagation","currentTarget","minScrollTop","paddingLeft","maxScrollTop","scrollHeight","onKeyDown","minIndex","maxIndex","length","nextIndex","keyCode","end","up","down","home","_refs$items$nextIndex","_refs$items$nextIndex2","preventDefault","focus","scrollIntoView","block","inline","behavior","useLayoutEffect","_scrollRef$current","_scrollRef$current2","style","TabsContext","Provider","value","_extends","role","cx","StyledContentWrapper","onScroll","StyledContent","verticalTabsConfig","name","tag","layout","base","variations","css","sizeCSS","viewCSS","disabledCSS","attrs","defaults"],"mappings":"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"}
1
+ {"version":3,"file":"VerticalTabs.js","sources":["../../../../../../src/components/Tabs/ui/vertical/VerticalTabs/VerticalTabs.tsx"],"sourcesContent":["import React, { forwardRef, useCallback, useMemo, useState, useLayoutEffect, useRef, KeyboardEvent } from 'react';\nimport type { MutableRefObject } from 'react';\nimport { safeUseId } from '@salutejs/plasma-core';\n\nimport type { RootProps } from '../../../../../engines/types';\nimport { classes } from '../../../tokens';\nimport { cx } from '../../../../../utils';\nimport { TabItemRefs, TabsContext } from '../../../TabsContext';\nimport type { VerticalTabsProps } from '../../../Tabs.types';\nimport { IconDisclosureLeft, IconDisclosureRight } from '../../../../_Icon';\nimport { getFirstOverflowingTab, getLastOverflowingTab } from '../../../utils';\n\nimport { base, StyledArrow, StyledContent, StyledContentWrapper } from './VerticalTabs.styles';\nimport { base as sizeCSS } from './variations/_size/base';\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as disabledCSS } from './variations/_disabled/base';\n\nenum Keys {\n end = 35,\n home = 36,\n up = 38,\n down = 40,\n}\n\n// TODO: https://github.com/salute-developers/plasma/issues/1474\nexport const verticalTabsRoot = (Root: RootProps<HTMLDivElement, VerticalTabsProps>) =>\n forwardRef<HTMLDivElement, VerticalTabsProps>((props, outerRef) => {\n const {\n id,\n disabled = false,\n clip = 'showAll',\n size,\n view,\n children,\n index,\n className,\n orientation,\n hasDivider = true,\n ...rest\n } = props;\n\n const [firstItemVisible, setFirstItemVisible] = useState(true);\n const [lastItemVisible, setLastItemVisible] = useState(false);\n\n // Триггер доп. скролла при появлении левой стрелки, которая отъедает ширину scroll-контейнера\n const [shouldTriggerAdditionalScroll, setShouldTriggerAdditionalScroll] = useState(false);\n\n const refs = useMemo(() => new TabItemRefs(index), []);\n\n const uniqId = safeUseId();\n const tabsId = id || uniqId;\n\n const noDividerClass = !hasDivider ? classes.tabsNoDivider : undefined;\n const hasTopArrowClass = !firstItemVisible ? classes.tabsHasTopArrow : undefined;\n const hasBottomArrowClass = !lastItemVisible ? classes.tabsHasBottomArrow : undefined;\n const clipScrollClass = clip === 'scroll' ? classes.tabsClipScroll : undefined;\n const clipShowAllClass = clip === 'showAll' ? classes.tabsClipShowAll : undefined;\n\n const scrollRef = useRef<HTMLElement | null>(null);\n const trackRef = useRef<HTMLElement | null>(null);\n const upArrowRef = useRef<HTMLButtonElement | null>(null);\n\n const onPrev = useCallback(() => {\n if (disabled || !scrollRef.current) {\n return;\n }\n\n const { scrollTop } = scrollRef.current;\n const firstOverflowingTab = getFirstOverflowingTab(refs.items.slice().reverse(), scrollTop, orientation);\n\n if (!firstOverflowingTab?.current) {\n return;\n }\n\n const scrollElStyle = getComputedStyle(scrollRef.current);\n scrollRef.current.scrollTo({\n top: firstOverflowingTab.current.offsetTop - parseInt(scrollElStyle.paddingTop, 10),\n });\n }, [disabled, scrollRef, refs]);\n\n const onNext = useCallback(() => {\n if (disabled || !scrollRef.current) {\n return;\n }\n\n const scrollBottom = Math.round(scrollRef.current.scrollTop + scrollRef.current.clientHeight);\n const lastOverflowingTab = getLastOverflowingTab(refs.items, scrollBottom, orientation);\n\n if (!lastOverflowingTab?.current) {\n return;\n }\n\n if (firstItemVisible) {\n setShouldTriggerAdditionalScroll(true);\n }\n\n const scrollElStyle = getComputedStyle(scrollRef.current);\n scrollRef.current.scrollTo({\n top: Math.round(\n lastOverflowingTab.current.offsetTop +\n lastOverflowingTab.current.offsetHeight -\n scrollRef.current.clientHeight +\n parseInt(scrollElStyle.paddingTop, 10),\n ),\n });\n }, [firstItemVisible, disabled, scrollRef, refs]);\n\n const PreviousButton = (\n <StyledArrow\n type=\"button\"\n aria-label=\"Предыдущий таб\"\n onClick={onPrev}\n tabIndex={disabled ? -1 : 0}\n disabled={disabled}\n ref={upArrowRef}\n >\n <IconDisclosureLeft color=\"inherit\" />\n </StyledArrow>\n );\n\n const NextButton = (\n <StyledArrow\n type=\"button\"\n aria-label=\"Следующий таб\"\n onClick={onNext}\n tabIndex={disabled ? -1 : 0}\n disabled={disabled}\n >\n <IconDisclosureRight color=\"inherit\" />\n </StyledArrow>\n );\n\n const handleScroll = useCallback(\n (event: React.UIEvent<HTMLElement>): void => {\n event.stopPropagation();\n const scrollElStyle = getComputedStyle(event.currentTarget);\n const minScrollTop = parseInt(scrollElStyle.paddingLeft, 10);\n const maxScrollTop =\n event.currentTarget.scrollHeight -\n event.currentTarget.clientHeight -\n parseInt(scrollElStyle.paddingTop, 10);\n const scrollTop = Math.round(event.currentTarget.scrollTop);\n\n setFirstItemVisible(scrollTop <= minScrollTop);\n setLastItemVisible(scrollTop >= maxScrollTop);\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.up:\n nextIndex = index > minIndex ? index - 1 : index;\n break;\n case Keys.down:\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: 'nearest',\n inline: 'nearest',\n behavior: 'smooth',\n });\n }\n },\n [index],\n );\n\n useLayoutEffect(() => {\n setLastItemVisible(scrollRef.current?.scrollHeight === scrollRef.current?.clientHeight);\n }, []);\n\n // Этот хук компенсирует появление верхней стрелки при прокрутке\n useLayoutEffect(() => {\n if (firstItemVisible || !shouldTriggerAdditionalScroll || !scrollRef.current || !upArrowRef.current) {\n return;\n }\n\n const style = getComputedStyle(scrollRef.current);\n scrollRef.current.scrollTo({\n top: Math.round(\n scrollRef.current.scrollTop + upArrowRef.current.clientHeight + parseInt(style.paddingTop, 10),\n ),\n });\n setShouldTriggerAdditionalScroll(false);\n }, [firstItemVisible, shouldTriggerAdditionalScroll, scrollRef, upArrowRef]);\n\n return (\n <TabsContext.Provider value={refs}>\n <Root\n view={view}\n role=\"tablist\"\n size={size}\n id={tabsId}\n ref={outerRef}\n disabled={disabled}\n className={cx(hasTopArrowClass, hasBottomArrowClass, noDividerClass, className)}\n onKeyDown={onKeyDown}\n orientation={orientation}\n {...rest}\n >\n {!firstItemVisible && PreviousButton}\n <StyledContentWrapper\n className={cx(clipScrollClass, clipShowAllClass)}\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 verticalTabsConfig = {\n name: 'VerticalTabs',\n tag: 'div',\n layout: verticalTabsRoot,\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 },\n defaults: {\n view: 'divider',\n size: 'xs',\n },\n};\n"],"names":["Keys","verticalTabsRoot","Root","forwardRef","props","outerRef","id","_props$disabled","disabled","_props$clip","clip","size","view","children","index","className","orientation","_props$hasDivider","hasDivider","rest","_objectWithoutProperties","_excluded","_useState","useState","_useState2","_slicedToArray","firstItemVisible","setFirstItemVisible","_useState3","_useState4","lastItemVisible","setLastItemVisible","_useState5","_useState6","shouldTriggerAdditionalScroll","setShouldTriggerAdditionalScroll","refs","useMemo","TabItemRefs","uniqId","safeUseId","tabsId","noDividerClass","classes","tabsNoDivider","undefined","hasTopArrowClass","tabsHasTopArrow","hasBottomArrowClass","tabsHasBottomArrow","clipScrollClass","tabsClipScroll","clipShowAllClass","tabsClipShowAll","scrollRef","useRef","trackRef","upArrowRef","onPrev","useCallback","current","scrollTop","firstOverflowingTab","getFirstOverflowingTab","items","slice","reverse","scrollElStyle","getComputedStyle","scrollTo","top","offsetTop","parseInt","paddingTop","onNext","scrollBottom","Math","round","clientHeight","lastOverflowingTab","getLastOverflowingTab","offsetHeight","PreviousButton","React","createElement","StyledArrow","type","onClick","tabIndex","ref","_IconDisclosureLeft","IconDisclosureLeft","color","NextButton","_IconDisclosureRight","IconDisclosureRight","handleScroll","event","stopPropagation","currentTarget","minScrollTop","paddingLeft","maxScrollTop","scrollHeight","onKeyDown","minIndex","maxIndex","length","nextIndex","keyCode","end","up","down","home","_refs$items$nextIndex","_refs$items$nextIndex2","preventDefault","focus","scrollIntoView","block","inline","behavior","useLayoutEffect","_scrollRef$current","_scrollRef$current2","style","TabsContext","Provider","value","_extends","role","cx","StyledContentWrapper","onScroll","StyledContent","verticalTabsConfig","name","tag","layout","base","variations","css","sizeCSS","viewCSS","disabledCSS","attrs","defaults"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"Hint.js","sources":["../../../../../src/components/TextArea/ui/Hint/Hint.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\nimport { safeUseId } from 'src/utils';\n\nimport { Hint, HintIconWrapper, HintTargetWrapper } from '../../TextArea.styles';\nimport { IconInfoCircleOutline } from '../../../_Icon';\nimport { tokens } from '../../TextArea.tokens';\n\nimport type { TextAreaHintProps } from './Hint.types';\n\nexport const HintComponent = forwardRef<HTMLDivElement, TextAreaHintProps>(\n (\n {\n hintText,\n isHintVisible,\n hintTrigger,\n hintTargetIcon,\n hintPlacement,\n hintHasArrow,\n hintOffset,\n hintWidth,\n hintContentLeft,\n isInnerLabel,\n size,\n handleHintShow,\n handleHintHide,\n handleHintClick,\n },\n ref,\n ) => {\n const hintId = safeUseId();\n\n const getInfoIconSize = () => {\n if (!isInnerLabel || size === 'xs') {\n return 'xs';\n }\n\n return 's';\n };\n\n return (\n <Hint\n ref={ref}\n text={String(hintText)}\n opened={isHintVisible}\n target={\n <HintTargetWrapper>\n <HintIconWrapper\n id={hintId}\n {...(hintTrigger === 'hover'\n ? {\n onMouseEnter: handleHintShow,\n onMouseLeave: handleHintHide,\n }\n : { onClick: handleHintClick })}\n >\n {hintTargetIcon || (\n <IconInfoCircleOutline\n size={getInfoIconSize()}\n color=\"inherit\"\n sizeCustomProperty={tokens.hintCustomIconTargetSize}\n />\n )}\n </HintIconWrapper>\n </HintTargetWrapper>\n }\n placement={hintPlacement}\n hasArrow={hintHasArrow}\n offset={hintOffset}\n minWidth={hintWidth}\n maxWidth={hintWidth}\n contentLeft={hintContentLeft}\n frame={hintId}\n />\n );\n },\n);\n"],"names":["HintComponent","forwardRef","_ref","ref","hintText","isHintVisible","hintTrigger","hintTargetIcon","hintPlacement","hintHasArrow","hintOffset","hintWidth","hintContentLeft","isInnerLabel","size","handleHintShow","handleHintHide","handleHintClick","hintId","safeUseId","getInfoIconSize","React","createElement","Hint","text","String","opened","target","HintTargetWrapper","HintIconWrapper","_extends","id","onMouseEnter","onMouseLeave","onClick","IconInfoCircleOutline","color","sizeCustomProperty","tokens","hintCustomIconTargetSize","placement","hasArrow","offset","minWidth","maxWidth","contentLeft","frame"],"mappings":";;;;;;;;;;;;;;;AASO,IAAMA,aAAa,gBAAGC,gBAAU,CACnC,UAAAC,IAAA,EAiBIC,GAAG,EACF;AAAA,EAAA,IAhBGC,QAAQ,GAAAF,IAAA,CAARE,QAAQ;IACRC,aAAa,GAAAH,IAAA,CAAbG,aAAa;IACbC,WAAW,GAAAJ,IAAA,CAAXI,WAAW;IACXC,cAAc,GAAAL,IAAA,CAAdK,cAAc;IACdC,aAAa,GAAAN,IAAA,CAAbM,aAAa;IACbC,YAAY,GAAAP,IAAA,CAAZO,YAAY;IACZC,UAAU,GAAAR,IAAA,CAAVQ,UAAU;IACVC,SAAS,GAAAT,IAAA,CAATS,SAAS;IACTC,eAAe,GAAAV,IAAA,CAAfU,eAAe;IACfC,YAAY,GAAAX,IAAA,CAAZW,YAAY;IACZC,IAAI,GAAAZ,IAAA,CAAJY,IAAI;IACJC,cAAc,GAAAb,IAAA,CAAda,cAAc;IACdC,cAAc,GAAAd,IAAA,CAAdc,cAAc;IACdC,eAAe,GAAAf,IAAA,CAAfe,eAAe,CAAA;AAInB,EAAA,IAAMC,MAAM,GAAGC,eAAS,EAAE,CAAA;AAE1B,EAAA,IAAMC,eAAe,GAAG,SAAlBA,eAAeA,GAAS;AAC1B,IAAA,IAAI,CAACP,YAAY,IAAIC,IAAI,KAAK,IAAI,EAAE;AAChC,MAAA,OAAO,IAAI,CAAA;AACf,KAAA;AAEA,IAAA,OAAO,GAAG,CAAA;GACb,CAAA;AAED,EAAA,oBACIO,sBAAA,CAAAC,aAAA,CAACC,oBAAI,EAAA;AACDpB,IAAAA,GAAG,EAAEA,GAAI;AACTqB,IAAAA,IAAI,EAAEC,MAAM,CAACrB,QAAQ,CAAE;AACvBsB,IAAAA,MAAM,EAAErB,aAAc;AACtBsB,IAAAA,MAAM,eACFN,sBAAA,CAAAC,aAAA,CAACM,iCAAiB,EACdP,IAAAA,eAAAA,sBAAA,CAAAC,aAAA,CAACO,+BAAe,EAAAC,iCAAA,CAAA;AACZC,MAAAA,EAAE,EAAEb,MAAAA;KACCZ,EAAAA,WAAW,KAAK,OAAO,GACtB;AACI0B,MAAAA,YAAY,EAAEjB,cAAc;AAC5BkB,MAAAA,YAAY,EAAEjB,cAAAA;AAClB,KAAC,GACD;AAAEkB,MAAAA,OAAO,EAAEjB,eAAAA;AAAgB,KAAC,GAEjCV,cAAc,iBACXc,sBAAA,CAAAC,aAAA,CAACa,2CAAqB,EAAA;MAClBrB,IAAI,EAAEM,eAAe,EAAG;AACxBgB,MAAAA,KAAK,EAAC,SAAS;MACfC,kBAAkB,EAAEC,sBAAM,CAACC,wBAAAA;KAC9B,CAEQ,CACF,CACtB;AACDC,IAAAA,SAAS,EAAEhC,aAAc;AACzBiC,IAAAA,QAAQ,EAAEhC,YAAa;AACvBiC,IAAAA,MAAM,EAAEhC,UAAW;AACnBiC,IAAAA,QAAQ,EAAEhC,SAAU;AACpBiC,IAAAA,QAAQ,EAAEjC,SAAU;AACpBkC,IAAAA,WAAW,EAAEjC,eAAgB;AAC7BkC,IAAAA,KAAK,EAAE5B,MAAAA;AAAO,GACjB,CAAC,CAAA;AAEV,CACJ;;;;"}
1
+ {"version":3,"file":"Hint.js","sources":["../../../../../src/components/TextArea/ui/Hint/Hint.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\n\nimport { Hint, HintIconWrapper, HintTargetWrapper } from '../../TextArea.styles';\nimport { IconInfoCircleOutline } from '../../../_Icon';\nimport { safeUseId } from '../../../../utils';\nimport { tokens } from '../../TextArea.tokens';\n\nimport type { TextAreaHintProps } from './Hint.types';\n\nexport const HintComponent = forwardRef<HTMLDivElement, TextAreaHintProps>(\n (\n {\n hintText,\n isHintVisible,\n hintTrigger,\n hintTargetIcon,\n hintPlacement,\n hintHasArrow,\n hintOffset,\n hintWidth,\n hintContentLeft,\n isInnerLabel,\n size,\n handleHintShow,\n handleHintHide,\n handleHintClick,\n },\n ref,\n ) => {\n const hintId = safeUseId();\n\n const getInfoIconSize = () => {\n if (!isInnerLabel || size === 'xs') {\n return 'xs';\n }\n\n return 's';\n };\n\n return (\n <Hint\n ref={ref}\n text={String(hintText)}\n opened={isHintVisible}\n target={\n <HintTargetWrapper>\n <HintIconWrapper\n id={hintId}\n {...(hintTrigger === 'hover'\n ? {\n onMouseEnter: handleHintShow,\n onMouseLeave: handleHintHide,\n }\n : { onClick: handleHintClick })}\n >\n {hintTargetIcon || (\n <IconInfoCircleOutline\n size={getInfoIconSize()}\n color=\"inherit\"\n sizeCustomProperty={tokens.hintCustomIconTargetSize}\n />\n )}\n </HintIconWrapper>\n </HintTargetWrapper>\n }\n placement={hintPlacement}\n hasArrow={hintHasArrow}\n offset={hintOffset}\n minWidth={hintWidth}\n maxWidth={hintWidth}\n contentLeft={hintContentLeft}\n frame={hintId}\n />\n );\n },\n);\n"],"names":["HintComponent","forwardRef","_ref","ref","hintText","isHintVisible","hintTrigger","hintTargetIcon","hintPlacement","hintHasArrow","hintOffset","hintWidth","hintContentLeft","isInnerLabel","size","handleHintShow","handleHintHide","handleHintClick","hintId","safeUseId","getInfoIconSize","React","createElement","Hint","text","String","opened","target","HintTargetWrapper","HintIconWrapper","_extends","id","onMouseEnter","onMouseLeave","onClick","IconInfoCircleOutline","color","sizeCustomProperty","tokens","hintCustomIconTargetSize","placement","hasArrow","offset","minWidth","maxWidth","contentLeft","frame"],"mappings":";;;;;;;;;;;;;;;AASO,IAAMA,aAAa,gBAAGC,gBAAU,CACnC,UAAAC,IAAA,EAiBIC,GAAG,EACF;AAAA,EAAA,IAhBGC,QAAQ,GAAAF,IAAA,CAARE,QAAQ;IACRC,aAAa,GAAAH,IAAA,CAAbG,aAAa;IACbC,WAAW,GAAAJ,IAAA,CAAXI,WAAW;IACXC,cAAc,GAAAL,IAAA,CAAdK,cAAc;IACdC,aAAa,GAAAN,IAAA,CAAbM,aAAa;IACbC,YAAY,GAAAP,IAAA,CAAZO,YAAY;IACZC,UAAU,GAAAR,IAAA,CAAVQ,UAAU;IACVC,SAAS,GAAAT,IAAA,CAATS,SAAS;IACTC,eAAe,GAAAV,IAAA,CAAfU,eAAe;IACfC,YAAY,GAAAX,IAAA,CAAZW,YAAY;IACZC,IAAI,GAAAZ,IAAA,CAAJY,IAAI;IACJC,cAAc,GAAAb,IAAA,CAAda,cAAc;IACdC,cAAc,GAAAd,IAAA,CAAdc,cAAc;IACdC,eAAe,GAAAf,IAAA,CAAfe,eAAe,CAAA;AAInB,EAAA,IAAMC,MAAM,GAAGC,eAAS,EAAE,CAAA;AAE1B,EAAA,IAAMC,eAAe,GAAG,SAAlBA,eAAeA,GAAS;AAC1B,IAAA,IAAI,CAACP,YAAY,IAAIC,IAAI,KAAK,IAAI,EAAE;AAChC,MAAA,OAAO,IAAI,CAAA;AACf,KAAA;AAEA,IAAA,OAAO,GAAG,CAAA;GACb,CAAA;AAED,EAAA,oBACIO,sBAAA,CAAAC,aAAA,CAACC,oBAAI,EAAA;AACDpB,IAAAA,GAAG,EAAEA,GAAI;AACTqB,IAAAA,IAAI,EAAEC,MAAM,CAACrB,QAAQ,CAAE;AACvBsB,IAAAA,MAAM,EAAErB,aAAc;AACtBsB,IAAAA,MAAM,eACFN,sBAAA,CAAAC,aAAA,CAACM,iCAAiB,EACdP,IAAAA,eAAAA,sBAAA,CAAAC,aAAA,CAACO,+BAAe,EAAAC,iCAAA,CAAA;AACZC,MAAAA,EAAE,EAAEb,MAAAA;KACCZ,EAAAA,WAAW,KAAK,OAAO,GACtB;AACI0B,MAAAA,YAAY,EAAEjB,cAAc;AAC5BkB,MAAAA,YAAY,EAAEjB,cAAAA;AAClB,KAAC,GACD;AAAEkB,MAAAA,OAAO,EAAEjB,eAAAA;AAAgB,KAAC,GAEjCV,cAAc,iBACXc,sBAAA,CAAAC,aAAA,CAACa,2CAAqB,EAAA;MAClBrB,IAAI,EAAEM,eAAe,EAAG;AACxBgB,MAAAA,KAAK,EAAC,SAAS;MACfC,kBAAkB,EAAEC,sBAAM,CAACC,wBAAAA;KAC9B,CAEQ,CACF,CACtB;AACDC,IAAAA,SAAS,EAAEhC,aAAc;AACzBiC,IAAAA,QAAQ,EAAEhC,YAAa;AACvBiC,IAAAA,MAAM,EAAEhC,UAAW;AACnBiC,IAAAA,QAAQ,EAAEhC,SAAU;AACpBiC,IAAAA,QAAQ,EAAEjC,SAAU;AACpBkC,IAAAA,WAAW,EAAEjC,eAAgB;AAC7BkC,IAAAA,KAAK,EAAE5B,MAAAA;AAAO,GACjB,CAAC,CAAA;AAEV,CACJ;;;;"}
@@ -20,7 +20,6 @@ var TextField_styles = require('./TextField.styles.js');
20
20
  var TextField_tokens = require('./TextField.tokens.js');
21
21
  var Hint = require('./ui/Hint/Hint.js');
22
22
  var getInputWidth = require('./getInputWidth.js');
23
- var react = require('../../utils/react.js');
24
23
  var useOutsideClick = require('../../hooks/useOutsideClick.js');
25
24
  var useKeyNavigation = require('./hooks/useKeyNavigation.js');
26
25
  var TextFieldChip = require('./ui/TextFieldChip/TextFieldChip.js');
@@ -126,10 +125,10 @@ var textFieldRoot = function textFieldRoot(Root) {
126
125
  _useState8 = _rollupPluginBabelHelpers.slicedToArray(_useState7, 2),
127
126
  isHintVisible = _useState8[0],
128
127
  setIsHintVisible = _useState8[1];
129
- var uniqId = react.safeUseId();
128
+ var uniqId = plasmaCore.safeUseId();
130
129
  var innerId = id || uniqId;
131
- var labelId = react.safeUseId();
132
- var helperTextId = react.safeUseId();
130
+ var labelId = plasmaCore.safeUseId();
131
+ var helperTextId = plasmaCore.safeUseId();
133
132
  var isDefaultView = view === 'default' || readOnly || disabled;
134
133
  var isChipEnumeration = enumerationType === 'chip';
135
134
  var isChipsVisible = isChipEnumeration && Boolean(chips === null || chips === void 0 ? void 0 : chips.length);