@salutejs/plasma-new-hope 0.147.1-canary.1441.10917536989.0 → 0.148.0-canary.1392.10919911798.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (288) hide show
  1. package/cjs/components/Breadcrumbs/Breadcrumbs.styles.js +2 -2
  2. package/cjs/components/Breadcrumbs/Breadcrumbs.styles.js.map +1 -1
  3. package/cjs/components/Calendar/ui/CalendarHeader/CalendarHeader.js +5 -5
  4. package/cjs/components/Calendar/ui/CalendarHeader/CalendarHeader.js.map +1 -1
  5. package/cjs/components/Dropdown/ui/DropdownItem/DropdownItem.js +2 -2
  6. package/cjs/components/Dropdown/ui/DropdownItem/DropdownItem.js.map +1 -1
  7. package/cjs/components/Segment/tokens.js +15 -1
  8. package/cjs/components/Segment/tokens.js.map +1 -1
  9. package/cjs/components/Segment/ui/SegmentGroup/SegmentGroup.css +10 -4
  10. package/cjs/components/Segment/ui/SegmentGroup/SegmentGroup.js +169 -86
  11. package/cjs/components/Segment/ui/SegmentGroup/SegmentGroup.js.map +1 -1
  12. package/cjs/components/Segment/ui/SegmentGroup/SegmentGroup.styles.js +37 -1
  13. package/cjs/components/Segment/ui/SegmentGroup/SegmentGroup.styles.js.map +1 -1
  14. package/cjs/components/Segment/ui/SegmentGroup/SegmentGroup.styles_u742r1.css +8 -0
  15. package/cjs/components/Segment/ui/SegmentGroup/variations/_orientation/base.js +9 -0
  16. package/cjs/components/Segment/ui/SegmentGroup/variations/_orientation/base.js.map +1 -0
  17. package/cjs/components/Segment/ui/SegmentGroup/variations/_orientation/base_1ejecy9.css +1 -0
  18. package/cjs/components/Segment/ui/SegmentItem/SegmentItem.css +8 -4
  19. package/cjs/components/Segment/ui/SegmentItem/SegmentItem.js +11 -4
  20. package/cjs/components/Segment/ui/SegmentItem/SegmentItem.js.map +1 -1
  21. package/cjs/components/Segment/ui/SegmentItem/SegmentItem.styles.js +31 -2
  22. package/cjs/components/Segment/ui/SegmentItem/SegmentItem.styles.js.map +1 -1
  23. package/cjs/components/Segment/ui/SegmentItem/SegmentItem.styles_f1jpip.css +6 -0
  24. package/cjs/components/Segment/ui/SegmentItem/variations/_pilled/base.js +1 -1
  25. package/cjs/components/Segment/ui/SegmentItem/variations/_pilled/base.js.map +1 -1
  26. package/{es/components/Segment/ui/SegmentItem/variations/_pilled/base_15s0fel.css → cjs/components/Segment/ui/SegmentItem/variations/_pilled/base_omc5u1.css} +1 -1
  27. package/cjs/components/Segment/ui/SegmentItem/variations/_view/base.js +1 -1
  28. package/cjs/components/Segment/ui/SegmentItem/variations/_view/base.js.map +1 -1
  29. package/cjs/components/Segment/ui/SegmentItem/variations/_view/base_168a47w.css +1 -0
  30. package/cjs/components/Tabs/ui/Tabs/Tabs.js +6 -6
  31. package/cjs/components/Tabs/ui/Tabs/Tabs.js.map +1 -1
  32. package/cjs/components/_Icon/Icon.assets/DisclosureDown.js +22 -0
  33. package/cjs/components/_Icon/Icon.assets/DisclosureDown.js.map +1 -0
  34. package/cjs/components/_Icon/Icon.assets/DisclosureLeft.js +3 -4
  35. package/cjs/components/_Icon/Icon.assets/DisclosureLeft.js.map +1 -1
  36. package/cjs/components/_Icon/Icon.assets/DisclosureLeftCentered.js +23 -0
  37. package/cjs/components/_Icon/Icon.assets/DisclosureLeftCentered.js.map +1 -0
  38. package/cjs/components/_Icon/Icon.assets/DisclosureRight.js +3 -4
  39. package/cjs/components/_Icon/Icon.assets/DisclosureRight.js.map +1 -1
  40. package/cjs/components/_Icon/Icon.assets/DisclosureUp.js +22 -0
  41. package/cjs/components/_Icon/Icon.assets/DisclosureUp.js.map +1 -0
  42. package/cjs/components/_Icon/Icons/IconDisclosureDown.js +23 -0
  43. package/cjs/components/_Icon/Icons/IconDisclosureDown.js.map +1 -0
  44. package/cjs/components/_Icon/Icons/IconDisclosureLeftCentered.js +23 -0
  45. package/cjs/components/_Icon/Icons/IconDisclosureLeftCentered.js.map +1 -0
  46. package/cjs/components/_Icon/Icons/IconDisclosureUp.js +23 -0
  47. package/cjs/components/_Icon/Icons/IconDisclosureUp.js.map +1 -0
  48. package/cjs/index.css +18 -8
  49. package/emotion/cjs/components/Breadcrumbs/Breadcrumbs.styles.js +4 -4
  50. package/emotion/cjs/components/Calendar/ui/CalendarHeader/CalendarHeader.js +2 -2
  51. package/emotion/cjs/components/Dropdown/ui/DropdownItem/DropdownItem.js +1 -1
  52. package/emotion/cjs/components/Segment/README.md +61 -0
  53. package/emotion/cjs/components/Segment/tokens.js +15 -1
  54. package/emotion/cjs/components/Segment/ui/SegmentGroup/SegmentGroup.js +165 -85
  55. package/emotion/cjs/components/Segment/ui/SegmentGroup/SegmentGroup.styles.js +25 -25
  56. package/emotion/cjs/components/Segment/ui/SegmentGroup/variations/_orientation/base.js +10 -0
  57. package/emotion/cjs/components/Segment/ui/SegmentGroup/variations/_orientation/tokens.json +1 -0
  58. package/emotion/cjs/components/Segment/ui/SegmentItem/SegmentItem.js +11 -4
  59. package/emotion/cjs/components/Segment/ui/SegmentItem/SegmentItem.styles.js +28 -6
  60. package/emotion/cjs/components/Segment/ui/SegmentItem/variations/_pilled/base.js +1 -1
  61. package/emotion/cjs/components/Segment/ui/SegmentItem/variations/_view/base.js +2 -1
  62. package/emotion/cjs/components/Tabs/ui/Tabs/Tabs.js +4 -4
  63. package/emotion/cjs/components/_Icon/Icon.assets/DisclosureDown.js +21 -0
  64. package/emotion/cjs/components/_Icon/Icon.assets/DisclosureLeft.js +3 -4
  65. package/emotion/cjs/components/_Icon/Icon.assets/DisclosureLeftCentered.js +22 -0
  66. package/emotion/cjs/components/_Icon/Icon.assets/DisclosureRight.js +3 -4
  67. package/emotion/cjs/components/_Icon/Icon.assets/DisclosureUp.js +21 -0
  68. package/emotion/cjs/components/_Icon/Icons/IconDisclosureDown.js +22 -0
  69. package/emotion/cjs/components/_Icon/Icons/IconDisclosureLeftCentered.js +22 -0
  70. package/emotion/cjs/components/_Icon/Icons/IconDisclosureUp.js +22 -0
  71. package/emotion/cjs/components/_Icon/index.js +21 -0
  72. package/emotion/cjs/examples/plasma_b2c/components/Editable/Editable.stories.tsx +2 -2
  73. package/emotion/cjs/examples/plasma_b2c/components/Notification/Notification.stories.tsx +6 -3
  74. package/emotion/cjs/examples/plasma_b2c/components/Segment/Segment.stories.tsx +265 -37
  75. package/emotion/cjs/examples/plasma_b2c/components/Segment/SegmentGroup.config.js +13 -10
  76. package/emotion/cjs/examples/plasma_b2c/components/Segment/SegmentItem.config.js +9 -9
  77. package/emotion/cjs/examples/plasma_b2c/components/Tooltip/Tooltip.stories.tsx +2 -2
  78. package/emotion/cjs/examples/plasma_web/components/Editable/Editable.stories.tsx +2 -2
  79. package/emotion/cjs/examples/plasma_web/components/Notification/Notification.stories.tsx +6 -3
  80. package/emotion/cjs/examples/plasma_web/components/Segment/Segment.stories.tsx +266 -37
  81. package/emotion/cjs/examples/plasma_web/components/Segment/SegmentGroup.config.js +15 -9
  82. package/emotion/cjs/examples/plasma_web/components/Segment/SegmentItem.config.js +9 -9
  83. package/emotion/cjs/examples/plasma_web/components/Tooltip/Tooltip.stories.tsx +2 -2
  84. package/emotion/es/components/Breadcrumbs/Breadcrumbs.styles.js +5 -5
  85. package/emotion/es/components/Calendar/ui/CalendarHeader/CalendarHeader.js +3 -3
  86. package/emotion/es/components/Dropdown/ui/DropdownItem/DropdownItem.js +2 -2
  87. package/emotion/es/components/Segment/README.md +61 -0
  88. package/emotion/es/components/Segment/tokens.js +15 -1
  89. package/emotion/es/components/Segment/ui/SegmentGroup/SegmentGroup.js +168 -88
  90. package/emotion/es/components/Segment/ui/SegmentGroup/SegmentGroup.styles.js +25 -25
  91. package/emotion/es/components/Segment/ui/SegmentGroup/variations/_orientation/base.js +4 -0
  92. package/emotion/es/components/Segment/ui/SegmentGroup/variations/_orientation/tokens.json +1 -0
  93. package/emotion/es/components/Segment/ui/SegmentItem/SegmentItem.js +12 -5
  94. package/emotion/es/components/Segment/ui/SegmentItem/SegmentItem.styles.js +27 -5
  95. package/emotion/es/components/Segment/ui/SegmentItem/variations/_pilled/base.js +1 -1
  96. package/emotion/es/components/Segment/ui/SegmentItem/variations/_view/base.js +2 -1
  97. package/emotion/es/components/Tabs/ui/Tabs/Tabs.js +5 -5
  98. package/emotion/es/components/_Icon/Icon.assets/DisclosureDown.js +14 -0
  99. package/emotion/es/components/_Icon/Icon.assets/DisclosureLeft.js +3 -4
  100. package/emotion/es/components/_Icon/Icon.assets/DisclosureLeftCentered.js +15 -0
  101. package/emotion/es/components/_Icon/Icon.assets/DisclosureRight.js +3 -4
  102. package/emotion/es/components/_Icon/Icon.assets/DisclosureUp.js +14 -0
  103. package/emotion/es/components/_Icon/Icons/IconDisclosureDown.js +15 -0
  104. package/emotion/es/components/_Icon/Icons/IconDisclosureLeftCentered.js +15 -0
  105. package/emotion/es/components/_Icon/Icons/IconDisclosureUp.js +15 -0
  106. package/emotion/es/components/_Icon/index.js +3 -0
  107. package/emotion/es/examples/plasma_b2c/components/Editable/Editable.stories.tsx +2 -2
  108. package/emotion/es/examples/plasma_b2c/components/Notification/Notification.stories.tsx +6 -3
  109. package/emotion/es/examples/plasma_b2c/components/Segment/Segment.stories.tsx +265 -37
  110. package/emotion/es/examples/plasma_b2c/components/Segment/SegmentGroup.config.js +13 -10
  111. package/emotion/es/examples/plasma_b2c/components/Segment/SegmentItem.config.js +9 -9
  112. package/emotion/es/examples/plasma_b2c/components/Tooltip/Tooltip.stories.tsx +2 -2
  113. package/emotion/es/examples/plasma_web/components/Editable/Editable.stories.tsx +2 -2
  114. package/emotion/es/examples/plasma_web/components/Notification/Notification.stories.tsx +6 -3
  115. package/emotion/es/examples/plasma_web/components/Segment/Segment.stories.tsx +266 -37
  116. package/emotion/es/examples/plasma_web/components/Segment/SegmentGroup.config.js +15 -9
  117. package/emotion/es/examples/plasma_web/components/Segment/SegmentItem.config.js +9 -9
  118. package/emotion/es/examples/plasma_web/components/Tooltip/Tooltip.stories.tsx +2 -2
  119. package/es/components/Breadcrumbs/Breadcrumbs.styles.js +2 -2
  120. package/es/components/Breadcrumbs/Breadcrumbs.styles.js.map +1 -1
  121. package/es/components/Calendar/ui/CalendarHeader/CalendarHeader.js +5 -5
  122. package/es/components/Calendar/ui/CalendarHeader/CalendarHeader.js.map +1 -1
  123. package/es/components/Dropdown/ui/DropdownItem/DropdownItem.js +2 -2
  124. package/es/components/Dropdown/ui/DropdownItem/DropdownItem.js.map +1 -1
  125. package/es/components/Segment/tokens.js +15 -1
  126. package/es/components/Segment/tokens.js.map +1 -1
  127. package/es/components/Segment/ui/SegmentGroup/SegmentGroup.css +10 -4
  128. package/es/components/Segment/ui/SegmentGroup/SegmentGroup.js +172 -90
  129. package/es/components/Segment/ui/SegmentGroup/SegmentGroup.js.map +1 -1
  130. package/es/components/Segment/ui/SegmentGroup/SegmentGroup.styles.js +34 -2
  131. package/es/components/Segment/ui/SegmentGroup/SegmentGroup.styles.js.map +1 -1
  132. package/es/components/Segment/ui/SegmentGroup/SegmentGroup.styles_u742r1.css +8 -0
  133. package/es/components/Segment/ui/SegmentGroup/variations/_orientation/base.js +5 -0
  134. package/es/components/Segment/ui/SegmentGroup/variations/_orientation/base.js.map +1 -0
  135. package/es/components/Segment/ui/SegmentGroup/variations/_orientation/base_1ejecy9.css +1 -0
  136. package/es/components/Segment/ui/SegmentItem/SegmentItem.css +8 -4
  137. package/es/components/Segment/ui/SegmentItem/SegmentItem.js +12 -5
  138. package/es/components/Segment/ui/SegmentItem/SegmentItem.js.map +1 -1
  139. package/es/components/Segment/ui/SegmentItem/SegmentItem.styles.js +30 -3
  140. package/es/components/Segment/ui/SegmentItem/SegmentItem.styles.js.map +1 -1
  141. package/es/components/Segment/ui/SegmentItem/SegmentItem.styles_f1jpip.css +6 -0
  142. package/es/components/Segment/ui/SegmentItem/variations/_pilled/base.js +1 -1
  143. package/es/components/Segment/ui/SegmentItem/variations/_pilled/base.js.map +1 -1
  144. package/{cjs/components/Segment/ui/SegmentItem/variations/_pilled/base_15s0fel.css → es/components/Segment/ui/SegmentItem/variations/_pilled/base_omc5u1.css} +1 -1
  145. package/es/components/Segment/ui/SegmentItem/variations/_view/base.js +1 -1
  146. package/es/components/Segment/ui/SegmentItem/variations/_view/base.js.map +1 -1
  147. package/es/components/Segment/ui/SegmentItem/variations/_view/base_168a47w.css +1 -0
  148. package/es/components/Tabs/ui/Tabs/Tabs.js +6 -6
  149. package/es/components/Tabs/ui/Tabs/Tabs.js.map +1 -1
  150. package/es/components/_Icon/Icon.assets/DisclosureDown.js +18 -0
  151. package/es/components/_Icon/Icon.assets/DisclosureDown.js.map +1 -0
  152. package/es/components/_Icon/Icon.assets/DisclosureLeft.js +3 -4
  153. package/es/components/_Icon/Icon.assets/DisclosureLeft.js.map +1 -1
  154. package/es/components/_Icon/Icon.assets/DisclosureLeftCentered.js +19 -0
  155. package/es/components/_Icon/Icon.assets/DisclosureLeftCentered.js.map +1 -0
  156. package/es/components/_Icon/Icon.assets/DisclosureRight.js +3 -4
  157. package/es/components/_Icon/Icon.assets/DisclosureRight.js.map +1 -1
  158. package/es/components/_Icon/Icon.assets/DisclosureUp.js +18 -0
  159. package/es/components/_Icon/Icon.assets/DisclosureUp.js.map +1 -0
  160. package/es/components/_Icon/Icons/IconDisclosureDown.js +19 -0
  161. package/es/components/_Icon/Icons/IconDisclosureDown.js.map +1 -0
  162. package/es/components/_Icon/Icons/IconDisclosureLeftCentered.js +19 -0
  163. package/es/components/_Icon/Icons/IconDisclosureLeftCentered.js.map +1 -0
  164. package/es/components/_Icon/Icons/IconDisclosureUp.js +19 -0
  165. package/es/components/_Icon/Icons/IconDisclosureUp.js.map +1 -0
  166. package/es/index.css +18 -8
  167. package/package.json +4 -4
  168. package/styled-components/cjs/components/Breadcrumbs/Breadcrumbs.styles.js +1 -1
  169. package/styled-components/cjs/components/Calendar/ui/CalendarHeader/CalendarHeader.js +2 -2
  170. package/styled-components/cjs/components/Dropdown/ui/DropdownItem/DropdownItem.js +1 -1
  171. package/styled-components/cjs/components/Segment/README.md +61 -0
  172. package/styled-components/cjs/components/Segment/tokens.js +15 -1
  173. package/styled-components/cjs/components/Segment/ui/SegmentGroup/SegmentGroup.js +165 -85
  174. package/styled-components/cjs/components/Segment/ui/SegmentGroup/SegmentGroup.styles.js +17 -5
  175. package/styled-components/cjs/components/Segment/ui/SegmentGroup/variations/_orientation/base.js +10 -0
  176. package/styled-components/cjs/components/Segment/ui/SegmentGroup/variations/_orientation/tokens.json +1 -0
  177. package/styled-components/cjs/components/Segment/ui/SegmentItem/SegmentItem.js +11 -4
  178. package/styled-components/cjs/components/Segment/ui/SegmentItem/SegmentItem.styles.js +23 -5
  179. package/styled-components/cjs/components/Segment/ui/SegmentItem/variations/_pilled/base.js +1 -1
  180. package/styled-components/cjs/components/Segment/ui/SegmentItem/variations/_view/base.js +2 -1
  181. package/styled-components/cjs/components/Tabs/ui/Tabs/Tabs.js +4 -4
  182. package/styled-components/cjs/components/_Icon/Icon.assets/DisclosureDown.js +21 -0
  183. package/styled-components/cjs/components/_Icon/Icon.assets/DisclosureLeft.js +3 -4
  184. package/styled-components/cjs/components/_Icon/Icon.assets/DisclosureLeftCentered.js +22 -0
  185. package/styled-components/cjs/components/_Icon/Icon.assets/DisclosureRight.js +3 -4
  186. package/styled-components/cjs/components/_Icon/Icon.assets/DisclosureUp.js +21 -0
  187. package/styled-components/cjs/components/_Icon/Icons/IconDisclosureDown.js +22 -0
  188. package/styled-components/cjs/components/_Icon/Icons/IconDisclosureLeftCentered.js +22 -0
  189. package/styled-components/cjs/components/_Icon/Icons/IconDisclosureUp.js +22 -0
  190. package/styled-components/cjs/components/_Icon/index.js +21 -0
  191. package/styled-components/cjs/examples/plasma_b2c/components/Editable/Editable.stories.tsx +2 -2
  192. package/styled-components/cjs/examples/plasma_b2c/components/Notification/Notification.stories.tsx +6 -3
  193. package/styled-components/cjs/examples/plasma_b2c/components/Segment/Segment.stories.tsx +265 -37
  194. package/styled-components/cjs/examples/plasma_b2c/components/Segment/SegmentGroup.config.js +8 -5
  195. package/styled-components/cjs/examples/plasma_b2c/components/Segment/SegmentItem.config.js +8 -8
  196. package/styled-components/cjs/examples/plasma_b2c/components/Tooltip/Tooltip.stories.tsx +2 -2
  197. package/styled-components/cjs/examples/plasma_web/components/Editable/Editable.stories.tsx +2 -2
  198. package/styled-components/cjs/examples/plasma_web/components/Notification/Notification.stories.tsx +6 -3
  199. package/styled-components/cjs/examples/plasma_web/components/Segment/Segment.stories.tsx +266 -37
  200. package/styled-components/cjs/examples/plasma_web/components/Segment/SegmentGroup.config.js +11 -5
  201. package/styled-components/cjs/examples/plasma_web/components/Segment/SegmentItem.config.js +8 -8
  202. package/styled-components/cjs/examples/plasma_web/components/Tooltip/Tooltip.stories.tsx +2 -2
  203. package/styled-components/es/components/Breadcrumbs/Breadcrumbs.styles.js +2 -2
  204. package/styled-components/es/components/Calendar/ui/CalendarHeader/CalendarHeader.js +3 -3
  205. package/styled-components/es/components/Dropdown/ui/DropdownItem/DropdownItem.js +2 -2
  206. package/styled-components/es/components/Segment/README.md +61 -0
  207. package/styled-components/es/components/Segment/tokens.js +15 -1
  208. package/styled-components/es/components/Segment/ui/SegmentGroup/SegmentGroup.js +168 -88
  209. package/styled-components/es/components/Segment/ui/SegmentGroup/SegmentGroup.styles.js +17 -5
  210. package/styled-components/es/components/Segment/ui/SegmentGroup/variations/_orientation/base.js +4 -0
  211. package/styled-components/es/components/Segment/ui/SegmentGroup/variations/_orientation/tokens.json +1 -0
  212. package/styled-components/es/components/Segment/ui/SegmentItem/SegmentItem.js +12 -5
  213. package/styled-components/es/components/Segment/ui/SegmentItem/SegmentItem.styles.js +22 -4
  214. package/styled-components/es/components/Segment/ui/SegmentItem/variations/_pilled/base.js +1 -1
  215. package/styled-components/es/components/Segment/ui/SegmentItem/variations/_view/base.js +2 -1
  216. package/styled-components/es/components/Tabs/ui/Tabs/Tabs.js +5 -5
  217. package/styled-components/es/components/_Icon/Icon.assets/DisclosureDown.js +14 -0
  218. package/styled-components/es/components/_Icon/Icon.assets/DisclosureLeft.js +3 -4
  219. package/styled-components/es/components/_Icon/Icon.assets/DisclosureLeftCentered.js +15 -0
  220. package/styled-components/es/components/_Icon/Icon.assets/DisclosureRight.js +3 -4
  221. package/styled-components/es/components/_Icon/Icon.assets/DisclosureUp.js +14 -0
  222. package/styled-components/es/components/_Icon/Icons/IconDisclosureDown.js +15 -0
  223. package/styled-components/es/components/_Icon/Icons/IconDisclosureLeftCentered.js +15 -0
  224. package/styled-components/es/components/_Icon/Icons/IconDisclosureUp.js +15 -0
  225. package/styled-components/es/components/_Icon/index.js +3 -0
  226. package/styled-components/es/examples/plasma_b2c/components/Editable/Editable.stories.tsx +2 -2
  227. package/styled-components/es/examples/plasma_b2c/components/Notification/Notification.stories.tsx +6 -3
  228. package/styled-components/es/examples/plasma_b2c/components/Segment/Segment.stories.tsx +265 -37
  229. package/styled-components/es/examples/plasma_b2c/components/Segment/SegmentGroup.config.js +8 -5
  230. package/styled-components/es/examples/plasma_b2c/components/Segment/SegmentItem.config.js +8 -8
  231. package/styled-components/es/examples/plasma_b2c/components/Tooltip/Tooltip.stories.tsx +2 -2
  232. package/styled-components/es/examples/plasma_web/components/Editable/Editable.stories.tsx +2 -2
  233. package/styled-components/es/examples/plasma_web/components/Notification/Notification.stories.tsx +6 -3
  234. package/styled-components/es/examples/plasma_web/components/Segment/Segment.stories.tsx +266 -37
  235. package/styled-components/es/examples/plasma_web/components/Segment/SegmentGroup.config.js +11 -5
  236. package/styled-components/es/examples/plasma_web/components/Segment/SegmentItem.config.js +8 -8
  237. package/styled-components/es/examples/plasma_web/components/Tooltip/Tooltip.stories.tsx +2 -2
  238. package/types/components/Segment/tokens.d.ts +14 -0
  239. package/types/components/Segment/tokens.d.ts.map +1 -1
  240. package/types/components/Segment/ui/SegmentGroup/SegmentGroup.d.ts +10 -0
  241. package/types/components/Segment/ui/SegmentGroup/SegmentGroup.d.ts.map +1 -1
  242. package/types/components/Segment/ui/SegmentGroup/SegmentGroup.styles.d.ts +12 -0
  243. package/types/components/Segment/ui/SegmentGroup/SegmentGroup.styles.d.ts.map +1 -1
  244. package/types/components/Segment/ui/SegmentGroup/SegmentGroup.types.d.ts +19 -1
  245. package/types/components/Segment/ui/SegmentGroup/SegmentGroup.types.d.ts.map +1 -1
  246. package/types/components/Segment/ui/SegmentGroup/variations/_orientation/base.d.ts +2 -0
  247. package/types/components/Segment/ui/SegmentGroup/variations/_orientation/base.d.ts.map +1 -0
  248. package/types/components/Segment/ui/SegmentItem/SegmentItem.d.ts +6 -0
  249. package/types/components/Segment/ui/SegmentItem/SegmentItem.d.ts.map +1 -1
  250. package/types/components/Segment/ui/SegmentItem/SegmentItem.styles.d.ts +9 -1
  251. package/types/components/Segment/ui/SegmentItem/SegmentItem.styles.d.ts.map +1 -1
  252. package/types/components/Segment/ui/SegmentItem/SegmentItem.types.d.ts +12 -0
  253. package/types/components/Segment/ui/SegmentItem/SegmentItem.types.d.ts.map +1 -1
  254. package/types/components/Segment/ui/SegmentItem/variations/_pilled/base.d.ts.map +1 -1
  255. package/types/components/Segment/ui/SegmentItem/variations/_view/base.d.ts.map +1 -1
  256. package/types/components/Tabs/ui/Tabs/Tabs.d.ts.map +1 -1
  257. package/types/components/_Icon/Icon.assets/DisclosureDown.d.ts +4 -0
  258. package/types/components/_Icon/Icon.assets/DisclosureDown.d.ts.map +1 -0
  259. package/types/components/_Icon/Icon.assets/DisclosureLeft.d.ts.map +1 -1
  260. package/types/components/_Icon/Icon.assets/DisclosureLeftCentered.d.ts +4 -0
  261. package/types/components/_Icon/Icon.assets/DisclosureLeftCentered.d.ts.map +1 -0
  262. package/types/components/_Icon/Icon.assets/DisclosureRight.d.ts.map +1 -1
  263. package/types/components/_Icon/Icon.assets/DisclosureUp.d.ts +4 -0
  264. package/types/components/_Icon/Icon.assets/DisclosureUp.d.ts.map +1 -0
  265. package/types/components/_Icon/Icons/IconDisclosureDown.d.ts +4 -0
  266. package/types/components/_Icon/Icons/IconDisclosureDown.d.ts.map +1 -0
  267. package/types/components/_Icon/Icons/IconDisclosureLeftCentered.d.ts +4 -0
  268. package/types/components/_Icon/Icons/IconDisclosureLeftCentered.d.ts.map +1 -0
  269. package/types/components/_Icon/Icons/IconDisclosureUp.d.ts +4 -0
  270. package/types/components/_Icon/Icons/IconDisclosureUp.d.ts.map +1 -0
  271. package/types/components/_Icon/index.d.ts +3 -0
  272. package/types/components/_Icon/index.d.ts.map +1 -1
  273. package/types/examples/plasma_b2c/components/Segment/Segment.d.ts +9 -0
  274. package/types/examples/plasma_b2c/components/Segment/Segment.d.ts.map +1 -1
  275. package/types/examples/plasma_b2c/components/Segment/SegmentGroup.config.d.ts +3 -0
  276. package/types/examples/plasma_b2c/components/Segment/SegmentGroup.config.d.ts.map +1 -1
  277. package/types/examples/plasma_b2c/components/Segment/SegmentItem.config.d.ts.map +1 -1
  278. package/types/examples/plasma_web/components/Segment/Segment.d.ts +12 -0
  279. package/types/examples/plasma_web/components/Segment/Segment.d.ts.map +1 -1
  280. package/types/examples/plasma_web/components/Segment/SegmentGroup.config.d.ts +6 -0
  281. package/types/examples/plasma_web/components/Segment/SegmentGroup.config.d.ts.map +1 -1
  282. package/types/examples/plasma_web/components/Segment/SegmentItem.config.d.ts.map +1 -1
  283. package/cjs/components/Segment/ui/SegmentGroup/SegmentGroup.styles_m9i9p0.css +0 -4
  284. package/cjs/components/Segment/ui/SegmentItem/SegmentItem.styles_18h1p52.css +0 -2
  285. package/cjs/components/Segment/ui/SegmentItem/variations/_view/base_1m1u2ys.css +0 -1
  286. package/es/components/Segment/ui/SegmentGroup/SegmentGroup.styles_m9i9p0.css +0 -4
  287. package/es/components/Segment/ui/SegmentItem/SegmentItem.styles_18h1p52.css +0 -2
  288. package/es/components/Segment/ui/SegmentItem/variations/_view/base_1m1u2ys.css +0 -1
@@ -2,7 +2,12 @@ export var classes = {
2
2
  selectedSegmentItem: 'selected-segment-item',
3
3
  segmentPilled: 'segment-pilled',
4
4
  segmentGroupFilledBackground: 'segment-group-filled-background',
5
- segmentStretch: 'segment-stretched'
5
+ segmentStretch: 'segment-stretched',
6
+ segmentVertical: 'segment-vertical',
7
+ segmentArrowPadding: 'segment-arrow-padding',
8
+ segmentGroupClipScroll: 'segment-group-clip-scroll',
9
+ segmentGroupClipShowAll: 'segment-group-clip-show-all',
10
+ segmentXsSize: 'segment-xs-size'
6
11
  };
7
12
  export var tokens = {
8
13
  fontFamily: '--plasma-segment-item-font-family',
@@ -17,6 +22,8 @@ export var tokens = {
17
22
  groupPilledBorderRadius: '--plasma-segment-group-pilled-border-radius',
18
23
  groupWidth: '--plasma-segment-group-width',
19
24
  groupHeight: '--plasma-segment-group-height',
25
+ groupArrowPadding: '--plasma-segment-group-arrow-padding',
26
+ groupVerticalArrowPadding: '--plasma-segment-group-vertical-arrow-padding',
20
27
  groupBackgroundColor: '--plasma-segment-group-background-color',
21
28
  groupFilledBackgroundColor: '--plasma-segment-group-filled-background-color',
22
29
  itemBorderRadius: '--plasma-segment-item-border-radius',
@@ -24,14 +31,21 @@ export var tokens = {
24
31
  itemWidth: '--plasma-segment-item-width',
25
32
  itemHeight: '--plasma-segment-item-height',
26
33
  itemPadding: '--plasma-segment-item-padding',
34
+ itemPilledPadding: '--plasma-segment-item-pilled-padding',
27
35
  itemMarginLeft: '--plasma-segment-item-margin-left',
36
+ itemContentPadding: '--plasma-segment-item-content-padding',
37
+ itemIconMargin: '--plasma-segment-item-content-icon-margin',
28
38
  itemColor: '--plasma-segment-item-color',
29
39
  itemBackgroundColor: '--plasma-segment-item-background-color',
30
40
  itemColorHover: '--plasma-segment-item-color-hover',
31
41
  itemBackgroundColorHover: '--plasma-segment-item-background-color-hover',
42
+ itemAdditionalColor: '--plasma-segment-item-additional-color',
43
+ itemAdditionalColorHover: '--plasma-segment-item-additional-color-hover',
32
44
  itemSelectedColor: '--plasma-segment-item-selected-color',
33
45
  itemSelectedBackgroundColor: '--plasma-segment-item-selected-background-color',
34
46
  itemSelectedColorHover: '--plasma-segment-item-selected-color-hover',
35
47
  itemSelectedBackgroundColorHover: '--plasma-segment-item-selected-background-color-hover',
48
+ itemSelectedAdditionalColor: '--plasma-segment-item-selected-additional-color',
49
+ itemSelectedAdditionalColorHover: '--plasma-segment-item-selected-additional-color-hover',
36
50
  disabledOpacity: '--plasma-segment-disabled-opacity'
37
51
  };
@@ -1,4 +1,4 @@
1
- var _excluded = ["id", "selectionMode", "pilled", "stretch", "filledBackground", "disabled", "size", "view", "children"];
1
+ var _excluded = ["id", "selectionMode", "pilled", "stretch", "clip", "orientation", "filledBackground", "hasBackground", "disabled", "size", "view", "children"];
2
2
  function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
3
3
  function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
4
4
  function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
@@ -8,9 +8,9 @@ function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" !=
8
8
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
9
9
  function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
10
10
  function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
11
- import React, { forwardRef, useCallback, useMemo, useState, Children, useEffect } from 'react';
12
- import { safeUseId, useCarousel } from '@salutejs/plasma-core';
13
- import { IconDisclosureLeft, IconDisclosureRight } from '../../../_Icon';
11
+ import React, { forwardRef, useCallback, useMemo, useState, useEffect, useRef } from 'react';
12
+ import { safeUseId } from '@salutejs/plasma-core';
13
+ import { IconDisclosureLeft, IconDisclosureRight, IconDisclosureDown, IconDisclosureUp } from '../../../_Icon';
14
14
  import { classes, tokens } from '../../tokens';
15
15
  import { cx } from '../../../../utils';
16
16
  import { useSegmentInner } from '../../SegmentProvider/SegmentProvider';
@@ -20,147 +20,224 @@ import { base as disabledCSS } from './variations/_disabled/base';
20
20
  import { base as pilledCSS } from './variations/_pilled/base';
21
21
  import { base as filledBackgroundCSS } from './variations/_filledBackgound/base';
22
22
  import { base as stretchCSS } from './variations/_stretch/base';
23
- import { StyledArrow, StyledContent, StyledContentWrapper, base } from './SegmentGroup.styles';
23
+ import { base as orientationCSS } from './variations/_orientation/base';
24
+ import { StyledContent, StyledContentWrapper, base, StyledLeftArrow, StyledRightArrow, StyledTopArrow, StyledBottomArrow } from './SegmentGroup.styles';
25
+ var Keys = /*#__PURE__*/function (Keys) {
26
+ Keys[Keys["end"] = 35] = "end";
27
+ Keys[Keys["home"] = 36] = "home";
28
+ Keys[Keys["left"] = 37] = "left";
29
+ Keys[Keys["right"] = 39] = "right";
30
+ return Keys;
31
+ }(Keys || {});
32
+ export var getChildNodes = function getChildNodes(wrapper) {
33
+ var container = wrapper === null || wrapper === void 0 ? void 0 : wrapper.firstChild;
34
+ return container ? Array.from(container === null || container === void 0 ? void 0 : container.childNodes) : [];
35
+ };
24
36
  export var segmentGroupRoot = function segmentGroupRoot(Root) {
25
37
  return /*#__PURE__*/forwardRef(function (props, outerRef) {
26
38
  var id = props.id,
27
39
  selectionMode = props.selectionMode,
28
40
  pilled = props.pilled,
29
41
  stretch = props.stretch,
42
+ clip = props.clip,
43
+ _props$orientation = props.orientation,
44
+ orientation = _props$orientation === void 0 ? 'horizontal' : _props$orientation,
30
45
  _props$filledBackgrou = props.filledBackground,
31
46
  filledBackground = _props$filledBackgrou === void 0 ? false : _props$filledBackgrou,
47
+ _props$hasBackground = props.hasBackground,
48
+ hasBackground = _props$hasBackground === void 0 ? false : _props$hasBackground,
32
49
  _props$disabled = props.disabled,
33
50
  disabled = _props$disabled === void 0 ? false : _props$disabled,
34
51
  size = props.size,
35
52
  view = props.view,
36
53
  children = props.children,
37
54
  rest = _objectWithoutProperties(props, _excluded);
55
+ var scrollRef = useRef(null);
56
+ var trackRef = useRef(null);
57
+ var leftArrowRef = useRef(null);
38
58
  var _useSegmentInner = useSegmentInner(),
39
59
  setSelectionMode = _useSegmentInner.setSelectionMode,
40
60
  setDisabledGroup = _useSegmentInner.setDisabledGroup;
41
- var _useState = useState(0),
61
+ var _useState = useState(true),
42
62
  _useState2 = _slicedToArray(_useState, 2),
43
- index = _useState2[0],
44
- setIndex = _useState2[1];
45
- var _useState3 = useState(false),
63
+ firstItemVisible = _useState2[0],
64
+ setFirstItemVisible = _useState2[1];
65
+ var _useState3 = useState(true),
46
66
  _useState4 = _slicedToArray(_useState3, 2),
47
- firstItemVisible = _useState4[0],
48
- setFirstItemVisible = _useState4[1];
49
- var _useState5 = useState(false),
50
- _useState6 = _slicedToArray(_useState5, 2),
51
- lastItemVisible = _useState6[0],
52
- setLastItemVisible = _useState6[1];
67
+ lastItemVisible = _useState4[0],
68
+ setLastItemVisible = _useState4[1];
53
69
  var uniqId = safeUseId();
54
70
  var segmentGroupId = id || uniqId;
55
- var pilledAttr = view !== 'clear' && pilled;
56
- var filledBackgroundAttr = view !== 'clear' && filledBackground;
71
+ var isVertical = orientation === 'vertical';
72
+ var pilledAttr = (view !== 'clear' || hasBackground) && pilled;
73
+ var filledBackgroundAttr = view !== 'clear' && filledBackground || hasBackground;
74
+ var stretchClass = firstItemVisible && lastItemVisible && stretch ? classes.segmentStretch : undefined;
75
+ var orientationClass = isVertical ? classes.segmentVertical : undefined;
76
+
77
+ // для появления scroll в fixed отображении
78
+ var clipScrollClass = clip !== 'showAll' ? classes.segmentGroupClipScroll : undefined;
79
+ var clipShowAllClass = clip === 'showAll' ? classes.segmentGroupClipShowAll : undefined;
57
80
  var pilledClass = pilledAttr ? classes.segmentPilled : undefined;
58
81
  var filledClass = filledBackgroundAttr ? classes.segmentGroupFilledBackground : undefined;
59
- var stretchClass = firstItemVisible && lastItemVisible && stretch ? classes.segmentStretch : undefined;
60
- var items = (Children === null || Children === void 0 ? void 0 : Children.map(children, function (child) {
61
- return child;
62
- })) || [];
63
82
  var onPrev = useCallback(function () {
64
- !disabled && setIndex(function (prevIndex) {
65
- return prevIndex > 0 ? prevIndex - 1 : 0;
83
+ if (disabled || !scrollRef.current) {
84
+ return;
85
+ }
86
+ var childNodes = getChildNodes(scrollRef.current);
87
+ var scrollLeft = Math.round(scrollRef.current.scrollLeft);
88
+ var firstOverflowingTab = childNodes.slice().reverse().find(function (child) {
89
+ if (!child || child.offsetLeft === undefined) {
90
+ return;
91
+ }
92
+ var tabStartX = child.offsetLeft;
93
+ return tabStartX < scrollLeft;
94
+ });
95
+ firstOverflowingTab === null || firstOverflowingTab === void 0 || firstOverflowingTab.scrollIntoView({
96
+ block: 'nearest',
97
+ inline: 'nearest'
66
98
  });
67
- }, [disabled]);
99
+ }, [disabled, scrollRef]);
68
100
  var onNext = useCallback(function () {
69
- !disabled && setIndex(function (prevIndex) {
70
- return prevIndex < items.length - 1 ? prevIndex + 1 : prevIndex;
101
+ if (disabled || !scrollRef.current) {
102
+ return;
103
+ }
104
+ var scrollRight = Math.round(scrollRef.current.scrollLeft + scrollRef.current.clientWidth);
105
+ var childNodes = getChildNodes(scrollRef.current);
106
+ var lastOverflowingChild = childNodes.find(function (child) {
107
+ if (!child || child.offsetLeft === undefined) {
108
+ return;
109
+ }
110
+ var tabEndX = child.offsetLeft + child.offsetWidth;
111
+ return tabEndX > scrollRight;
71
112
  });
72
- }, [disabled]);
73
- var onIntersecting = function onIntersecting(setVisible) {
74
- return function (entries) {
75
- /*
76
- * Пробегаемся по элементам на которых есть слушатель события появления.
77
- * Если элемент находится в зоне видимости или выходит из нее, меняем значение флага видимости
78
- */
79
- entries.forEach(function (entry) {
80
- if (entry.isIntersecting) {
81
- setVisible(true);
82
- } else {
83
- setVisible(false);
84
- }
113
+ lastOverflowingChild === null || lastOverflowingChild === void 0 || lastOverflowingChild.scrollIntoView({
114
+ block: 'nearest',
115
+ inline: 'nearest'
116
+ });
117
+ }, [disabled, scrollRef]);
118
+ var onKeyDown = useCallback(function (event) {
119
+ var childNodes = getChildNodes(scrollRef === null || scrollRef === void 0 ? void 0 : scrollRef.current);
120
+ var index = childNodes.findIndex(function (child) {
121
+ return document.activeElement === child;
122
+ });
123
+ var minIndex = 0;
124
+ var maxIndex = childNodes.length - 1;
125
+ var nextIndex;
126
+ switch (event.keyCode) {
127
+ case Keys.end:
128
+ nextIndex = maxIndex;
129
+ break;
130
+ case Keys.left:
131
+ nextIndex = index > minIndex ? index - 1 : index;
132
+ break;
133
+ case Keys.right:
134
+ nextIndex = index < maxIndex ? index + 1 : index;
135
+ break;
136
+ case Keys.home:
137
+ nextIndex = minIndex;
138
+ break;
139
+ default:
140
+ return;
141
+ }
142
+ if (nextIndex !== index) {
143
+ var _childNodes$nextIndex, _childNodes$nextIndex2;
144
+ event.preventDefault();
145
+ (_childNodes$nextIndex = childNodes[nextIndex]) === null || _childNodes$nextIndex === void 0 || _childNodes$nextIndex.focus();
146
+ (_childNodes$nextIndex2 = childNodes[nextIndex]) === null || _childNodes$nextIndex2 === void 0 || _childNodes$nextIndex2.scrollIntoView({
147
+ block: 'center',
148
+ inline: 'center',
149
+ behavior: 'smooth'
85
150
  });
86
- };
87
- };
88
- var _useCarousel = useCarousel({
89
- index: index,
90
- axis: 'x',
91
- scrollAlign: 'start',
92
- detectActive: true,
93
- debounceMs: 250,
94
- onIndexChange: setIndex
95
- }),
96
- scrollRef = _useCarousel.scrollRef,
97
- trackRef = _useCarousel.trackRef;
151
+ }
152
+ }, []);
153
+ var handleScroll = useCallback(function (event) {
154
+ event.stopPropagation();
155
+ if (isVertical) {
156
+ var maxScrollTop = event.currentTarget.scrollHeight - event.currentTarget.clientHeight;
157
+ var scrollTop = Math.round(event.currentTarget.scrollTop);
158
+ setFirstItemVisible(scrollTop <= 0);
159
+ setLastItemVisible(scrollTop >= maxScrollTop);
160
+ return;
161
+ }
162
+ var maxScrollLeft = event.currentTarget.scrollWidth - event.currentTarget.clientWidth;
163
+ var scrollLeft = Math.round(event.currentTarget.scrollLeft);
164
+ setFirstItemVisible(scrollLeft <= 0);
165
+ setLastItemVisible(scrollLeft >= maxScrollLeft);
166
+ }, [isVertical]);
167
+ useEffect(function () {
168
+ var _scrollRef$current3, _scrollRef$current4;
169
+ if (isVertical) {
170
+ var _scrollRef$current, _scrollRef$current2;
171
+ setLastItemVisible(((_scrollRef$current = scrollRef.current) === null || _scrollRef$current === void 0 ? void 0 : _scrollRef$current.scrollHeight) === ((_scrollRef$current2 = scrollRef.current) === null || _scrollRef$current2 === void 0 ? void 0 : _scrollRef$current2.clientHeight));
172
+ return;
173
+ }
174
+ setLastItemVisible(((_scrollRef$current3 = scrollRef.current) === null || _scrollRef$current3 === void 0 ? void 0 : _scrollRef$current3.scrollWidth) === ((_scrollRef$current4 = scrollRef.current) === null || _scrollRef$current4 === void 0 ? void 0 : _scrollRef$current4.clientWidth));
175
+ }, [isVertical]);
176
+
177
+ // Этот хук компенсирует появление левой/верхней стрелки при прокрутке
178
+ useEffect(function () {
179
+ if (firstItemVisible || !scrollRef.current || !leftArrowRef.current) {
180
+ return;
181
+ }
182
+ if (isVertical) {
183
+ scrollRef.current.scrollTo({
184
+ top: Math.round(scrollRef.current.scrollTop + leftArrowRef.current.clientHeight)
185
+ });
186
+ return;
187
+ }
188
+ scrollRef.current.scrollTo({
189
+ left: Math.round(scrollRef.current.scrollLeft + leftArrowRef.current.clientWidth)
190
+ });
191
+ }, [firstItemVisible, isVertical]);
98
192
  var PreviousButton = useMemo(function () {
99
- return /*#__PURE__*/React.createElement(StyledArrow, {
193
+ var ArrowNode = isVertical ? StyledTopArrow : StyledLeftArrow;
194
+ return /*#__PURE__*/React.createElement(ArrowNode, {
100
195
  type: "button",
101
196
  "aria-label": "\u041F\u0440\u0435\u0434\u044B\u0434\u0443\u0449\u0438\u0439 \u0441\u0435\u0433\u043C\u0435\u043D\u0442",
102
197
  onClick: onPrev,
103
198
  tabIndex: disabled ? -1 : 0,
104
199
  disabled: disabled
105
- }, /*#__PURE__*/React.createElement(IconDisclosureLeft, {
200
+ }, isVertical ? /*#__PURE__*/React.createElement(IconDisclosureUp, {
201
+ color: "var(".concat(tokens.arrowColor, ")"),
202
+ size: "s"
203
+ }) : /*#__PURE__*/React.createElement(IconDisclosureLeft, {
106
204
  color: "var(".concat(tokens.arrowColor, ")")
107
205
  }));
108
- }, [onPrev]);
206
+ }, [onPrev, isVertical]);
109
207
  var NextButton = useMemo(function () {
110
- return /*#__PURE__*/React.createElement(StyledArrow, {
208
+ var ArrowNode = isVertical ? StyledBottomArrow : StyledRightArrow;
209
+ return /*#__PURE__*/React.createElement(ArrowNode, {
111
210
  type: "button",
112
211
  "aria-label": "\u0421\u043B\u0435\u0434\u0443\u044E\u0449\u0438\u0439 \u0441\u0435\u0433\u043C\u0435\u043D\u0442",
113
212
  onClick: onNext,
114
213
  tabIndex: disabled ? -1 : 0,
115
214
  disabled: disabled
116
- }, /*#__PURE__*/React.createElement(IconDisclosureRight, {
215
+ }, isVertical ? /*#__PURE__*/React.createElement(IconDisclosureDown, {
216
+ color: "var(".concat(tokens.arrowColor, ")"),
217
+ size: "s"
218
+ }) : /*#__PURE__*/React.createElement(IconDisclosureRight, {
117
219
  color: "var(".concat(tokens.arrowColor, ")")
118
220
  }));
119
- }, [onNext]);
221
+ }, [onNext, isVertical]);
120
222
  useEffect(function () {
121
223
  selectionMode && setSelectionMode(selectionMode);
122
224
  setDisabledGroup(disabled);
123
225
  }, [selectionMode, disabled]);
124
- useEffect(function () {
125
- var _trackRef$current;
126
- // Intersection observer для первого сегмента
127
- var observeFirstItem = new IntersectionObserver(onIntersecting(setFirstItemVisible), {
128
- root: null,
129
- rootMargin: '0px',
130
- threshold: 0.5
131
- });
132
-
133
- // Intersection observer для последнего сегмента
134
- var observeLastItem = new IntersectionObserver(onIntersecting(setLastItemVisible), {
135
- root: null,
136
- rootMargin: '0px',
137
- threshold: 0.5
138
- });
139
-
140
- // получаем список сегментов внутри SegmentGroup
141
- var childrenArray = Array.from(((_trackRef$current = trackRef.current) === null || _trackRef$current === void 0 ? void 0 : _trackRef$current.children) || []);
142
- if (childrenArray.length) {
143
- // подписываемся на событие появление внутри SegmentGroup
144
- observeFirstItem.observe(childrenArray[0]);
145
- observeLastItem.observe(childrenArray[childrenArray.length - 1]);
146
- }
147
- return function () {
148
- // отписываемся от события появления внутри SegmentGroup
149
- observeFirstItem.disconnect();
150
- observeLastItem.disconnect();
151
- };
152
- }, [children]);
153
226
  return /*#__PURE__*/React.createElement(Root, _extends({
154
227
  view: view,
155
228
  size: size,
229
+ orientation: orientation,
156
230
  id: segmentGroupId,
157
231
  ref: outerRef,
158
232
  filledBackground: filledBackgroundAttr,
159
233
  disabled: disabled,
160
234
  pilled: pilledAttr,
161
- className: cx(pilledClass, filledClass, stretchClass)
235
+ className: cx(pilledClass, filledClass, stretchClass, orientationClass),
236
+ onKeyDown: onKeyDown
162
237
  }, rest), !firstItemVisible && PreviousButton, /*#__PURE__*/React.createElement(StyledContentWrapper, {
163
- ref: scrollRef
238
+ className: cx(clipScrollClass, clipShowAllClass),
239
+ ref: scrollRef,
240
+ onScroll: handleScroll
164
241
  }, /*#__PURE__*/React.createElement(StyledContent, {
165
242
  ref: trackRef
166
243
  }, children)), !lastItemVisible && NextButton);
@@ -190,6 +267,9 @@ export var segmentGroupConfig = {
190
267
  css: stretchCSS,
191
268
  attrs: true
192
269
  },
270
+ orientation: {
271
+ css: orientationCSS
272
+ },
193
273
  filledBackground: {
194
274
  css: filledBackgroundCSS,
195
275
  attrs: true
@@ -3,19 +3,31 @@ function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(
3
3
  import { css } from 'styled-components';
4
4
  import styled from 'styled-components';
5
5
  import { addFocus } from '../../../../mixins';
6
- import { tokens } from '../../tokens';
7
- export var base = /*#__PURE__*/css(_templateObject || (_templateObject = /*#__PURE__*/_taggedTemplateLiteral(["\n display: inline-flex;\n align-items: center;\n"])));
6
+ import { classes, tokens } from '../../tokens';
7
+ export var base = /*#__PURE__*/css(_templateObject || (_templateObject = /*#__PURE__*/_taggedTemplateLiteral(["\n display: inline-flex;\n align-items: center;\n\n --plasma_private-outline-radius: var(", ");\n border-radius: var(", ");\n"])), tokens.groupBorderRadius, tokens.groupBorderRadius);
8
8
  export var StyledContent = /*#__PURE__*/styled.div.withConfig({
9
9
  componentId: "plasma-new-hope__sc-1kj8wok-0"
10
10
  })(["display:inline-flex;flex-direction:row;align-items:center;"]);
11
11
  export var StyledContentWrapper = /*#__PURE__*/styled.div.withConfig({
12
12
  componentId: "plasma-new-hope__sc-1kj8wok-1"
13
- })(["position:relative;height:100%;margin:0;padding:0.25rem;::-webkit-scrollbar{display:none;}overflow-x:auto;overflow-y:hidden;scroll-behavior:smooth;scroll-snap-type:x mandatory;"]);
13
+ })(["position:relative;height:100%;width:100%;padding:0.125rem;box-sizing:content-box;display:flex;align-items:center;&.", "{overflow:scroll;scroll-padding:0.25rem;overscroll-behavior:contain;scrollbar-width:none;::-webkit-scrollbar{display:none;}}&.", "{overflow:visible;}"], classes.segmentGroupClipScroll, classes.segmentGroupClipShowAll);
14
14
  export var StyledArrow = /*#__PURE__*/styled.button.withConfig({
15
15
  componentId: "plasma-new-hope__sc-1kj8wok-2"
16
- })(["display:flex;cursor:pointer;border:none;background-color:transparent;padding:0;outline:none;", ";&[disabled]{cursor:not-allowed;}"], /*#__PURE__*/addFocus({
16
+ })(["display:flex;cursor:pointer;border:none;background-color:transparent;outline:none;", ";&[disabled]{cursor:not-allowed;}"], /*#__PURE__*/addFocus({
17
17
  outlineSize: '0.063rem',
18
18
  outlineOffset: '-0.125rem',
19
19
  outlineColor: /*#__PURE__*/"var(".concat(tokens.outlineFocusColor, ")"),
20
20
  outlineRadius: 'calc(var(--plasma_private-outline-radius) - 0.063rem)'
21
- }));
21
+ }));
22
+ export var StyledLeftArrow = /*#__PURE__*/styled(StyledArrow).withConfig({
23
+ componentId: "plasma-new-hope__sc-1kj8wok-3"
24
+ })(["padding:var(", ");padding-right:0;margin-right:0.1875rem;margin-left:0.125rem;"], tokens.groupArrowPadding);
25
+ export var StyledRightArrow = /*#__PURE__*/styled(StyledArrow).withConfig({
26
+ componentId: "plasma-new-hope__sc-1kj8wok-4"
27
+ })(["padding:var(", ");padding-left:0;margin-left:0.1875rem;margin-right:0.125rem;"], tokens.groupArrowPadding);
28
+ export var StyledTopArrow = /*#__PURE__*/styled(StyledArrow).withConfig({
29
+ componentId: "plasma-new-hope__sc-1kj8wok-5"
30
+ })(["padding:var(", ");padding-bottom:0;margin-bottom:0.1875rem;"], tokens.groupVerticalArrowPadding);
31
+ export var StyledBottomArrow = /*#__PURE__*/styled(StyledArrow).withConfig({
32
+ componentId: "plasma-new-hope__sc-1kj8wok-6"
33
+ })(["padding:var(", ");padding-top:0;margin-top:0.1875rem;"], tokens.groupVerticalArrowPadding);
@@ -0,0 +1,4 @@
1
+ import { css } from 'styled-components';
2
+ import { classes } from '../../../../tokens';
3
+ import { StyledContent, StyledContentWrapper } from '../../SegmentGroup.styles';
4
+ export var base = /*#__PURE__*/css(["&.", "{flex-direction:column;", "{flex-direction:column;}", "{flex-direction:column;}}"], classes.segmentVertical, StyledContentWrapper, StyledContent);
@@ -1,4 +1,4 @@
1
- var _excluded = ["size", "view", "id", "label", "value", "pilled", "customHandleSelect", "aria-label"];
1
+ var _excluded = ["size", "view", "id", "label", "value", "pilled", "contentLeft", "contentRight", "customHandleSelect", "skipSelection", "aria-label"];
2
2
  function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
3
3
  function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
4
4
  function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
@@ -11,7 +11,7 @@ import { base as sizeCSS } from './variations/_size/base';
11
11
  import { base as viewCSS } from './variations/_view/base';
12
12
  import { base as disabledCSS } from './variations/_disabled/base';
13
13
  import { base as pilledCSS } from './variations/_pilled/base';
14
- import { StyledContent, base } from './SegmentItem.styles';
14
+ import { StyledContent, base, LeftContent, RightContent } from './SegmentItem.styles';
15
15
  export var segmentItemRoot = function segmentItemRoot(Root) {
16
16
  return /*#__PURE__*/forwardRef(function (props, outerRef) {
17
17
  var size = props.size,
@@ -20,7 +20,10 @@ export var segmentItemRoot = function segmentItemRoot(Root) {
20
20
  label = props.label,
21
21
  value = props.value,
22
22
  pilled = props.pilled,
23
+ contentLeft = props.contentLeft,
24
+ contentRight = props.contentRight,
23
25
  customHandleSelect = props.customHandleSelect,
26
+ skipSelection = props.skipSelection,
24
27
  ariaLabelExternal = props['aria-label'],
25
28
  rest = _objectWithoutProperties(props, _excluded);
26
29
  var _useSegmentInner = useSegmentInner(),
@@ -35,15 +38,19 @@ export var segmentItemRoot = function segmentItemRoot(Root) {
35
38
  }, [label]);
36
39
  var pilledAttr = view !== 'clear' && pilled;
37
40
  var pilledClass = pilledAttr ? classes.segmentPilled : undefined;
41
+ var xsSize = size === 'xs' ? classes.segmentXsSize : undefined;
38
42
  var isSelected = selectedSegmentItems === null || selectedSegmentItems === void 0 ? void 0 : selectedSegmentItems.includes(value || ariaLabelDefault);
39
43
  var selectedClass = isSelected ? classes.selectedSegmentItem : undefined;
40
44
  var handleSelectSegment = useCallback(function (event) {
41
45
  if (disabledGroup) {
42
46
  return;
43
47
  }
48
+ if (skipSelection) {
49
+ return;
50
+ }
44
51
  customHandleSelect === null || customHandleSelect === void 0 || customHandleSelect(event);
45
52
  handleSelect === null || handleSelect === void 0 || handleSelect(value || ariaLabelDefault);
46
- }, [selectionMode]);
53
+ }, [selectionMode, disabledGroup, skipSelection]);
47
54
  return /*#__PURE__*/React.createElement(Root, _extends({
48
55
  view: view,
49
56
  size: size,
@@ -52,11 +59,11 @@ export var segmentItemRoot = function segmentItemRoot(Root) {
52
59
  "aria-label": ariaLabelExternal || ariaLabelDefault,
53
60
  value: value,
54
61
  pilled: pilledAttr,
55
- className: cx(selectedClass, pilledClass),
62
+ className: cx(selectedClass, pilledClass, xsSize),
56
63
  onClick: handleSelectSegment,
57
64
  tabIndex: disabledGroup ? -1 : 0,
58
65
  disabled: disabledGroup
59
- }, rest), /*#__PURE__*/React.createElement(StyledContent, null, label || value));
66
+ }, rest), contentLeft && /*#__PURE__*/React.createElement(LeftContent, null, contentLeft), /*#__PURE__*/React.createElement(StyledContent, null, label || value), contentRight && /*#__PURE__*/React.createElement(RightContent, null, contentRight));
60
67
  });
61
68
  };
62
69
  export var segmentItemConfig = {
@@ -2,13 +2,31 @@ import styled from 'styled-components';
2
2
  import { css } from 'styled-components';
3
3
  import { addFocus, applyEllipsis } from '../../../../mixins';
4
4
  import { tokens } from '../../tokens';
5
- export var base = /*#__PURE__*/css(["position:relative;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;align-items:center;appearance:none;border:none;outline:none;cursor:pointer;margin-left:var(", ");-webkit-tap-highlight-color:rgba(0,0,0,0);&:first-child{margin-left:0;}", ";"], tokens.itemMarginLeft, /*#__PURE__*/addFocus({
5
+ export var base = /*#__PURE__*/css(["position:relative;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;appearance:none;border:none;outline:none;cursor:pointer;margin-left:var(", ");-webkit-tap-highlight-color:rgba(0,0,0,0);&:first-child{margin-left:0;}", ";"], tokens.itemMarginLeft, /*#__PURE__*/addFocus({
6
6
  outlineSize: '0.063rem',
7
- outlineOffset: '-0.125rem',
7
+ outlineOffset: '0.063rem',
8
8
  outlineColor: /*#__PURE__*/"var(".concat(tokens.outlineFocusColor, ")"),
9
9
  outlineRadius: 'calc(var(--plasma_private-outline-radius) + 0.063rem)',
10
10
  customFocusRules: /*#__PURE__*/"\n &.focus-visible:focus,\n &[data-focus-visible-added] {\n &::before {\n z-index: 1;\n outline: none;\n box-shadow: 0 0 0 0.063rem var(".concat(tokens.outlineFocusColor, ");\n }\n }\n ")
11
11
  }));
12
- export var StyledContent = /*#__PURE__*/styled.div.withConfig({
12
+ export var StyledLeftIcon = /*#__PURE__*/styled.div.withConfig({
13
13
  componentId: "plasma-new-hope__sc-m3m328-0"
14
- })(["display:inline-block;width:fit-content;", ";"], /*#__PURE__*/applyEllipsis());
14
+ })(["margin-right:var(", ");"], tokens.itemIconMargin);
15
+ export var StyledRightIcon = /*#__PURE__*/styled.div.withConfig({
16
+ componentId: "plasma-new-hope__sc-m3m328-1"
17
+ })(["margin-left:var(", ");"], tokens.itemIconMargin);
18
+ export var StyledContent = /*#__PURE__*/styled.div.withConfig({
19
+ componentId: "plasma-new-hope__sc-m3m328-2"
20
+ })(["display:inline-block;width:fit-content;padding:var(", ");", ";margin-right:", ";margin-left:", ";"], tokens.itemContentPadding, /*#__PURE__*/applyEllipsis(), function (_ref) {
21
+ var hasRightMargin = _ref.hasRightMargin;
22
+ return hasRightMargin ? "var(".concat(tokens.itemIconMargin, ")") : '0';
23
+ }, function (_ref2) {
24
+ var hasLeftMargin = _ref2.hasLeftMargin;
25
+ return hasLeftMargin ? "var(".concat(tokens.itemIconMargin, ")") : '0';
26
+ });
27
+ export var RightContent = /*#__PURE__*/styled.div.withConfig({
28
+ componentId: "plasma-new-hope__sc-m3m328-3"
29
+ })(["display:flex;margin-left:var(", ");color:var(", ");"], tokens.itemIconMargin, tokens.itemAdditionalColor);
30
+ export var LeftContent = /*#__PURE__*/styled.div.withConfig({
31
+ componentId: "plasma-new-hope__sc-m3m328-4"
32
+ })(["display:flex;margin-right:var(", ");color:inherit;"], tokens.itemIconMargin);
@@ -1,3 +1,3 @@
1
1
  import { css } from 'styled-components';
2
2
  import { classes, tokens } from '../../../../tokens';
3
- export var base = /*#__PURE__*/css(["&.", "{--plasma_private-outline-radius:var(", ");border-radius:var(", ");}"], /*#__PURE__*/String(classes.segmentPilled), tokens.itemPilledBorderRadius, tokens.itemPilledBorderRadius);
3
+ export var base = /*#__PURE__*/css(["&.", "{--plasma_private-outline-radius:var(", ");border-radius:var(", ");padding:var(", ");}"], /*#__PURE__*/String(classes.segmentPilled), tokens.itemPilledBorderRadius, tokens.itemPilledBorderRadius, tokens.itemPilledPadding);
@@ -1,3 +1,4 @@
1
1
  import { css } from 'styled-components';
2
2
  import { classes, tokens } from '../../../../tokens';
3
- export var base = /*#__PURE__*/css(["color:var(", ");background-color:var(", ");&:hover{color:var(", ");background-color:var(", ");}&.", "{color:var(", ");background-color:var(", ");&:hover{color:var(", ");background-color:var(", ");}}"], tokens.itemColor, tokens.itemBackgroundColor, tokens.itemColorHover, tokens.itemBackgroundColorHover, /*#__PURE__*/String(classes.selectedSegmentItem), tokens.itemSelectedColor, tokens.itemSelectedBackgroundColor, tokens.itemSelectedColorHover, tokens.itemSelectedBackgroundColorHover);
3
+ import { RightContent } from '../../SegmentItem.styles';
4
+ export var base = /*#__PURE__*/css(["color:var(", ");background-color:var(", ");&:hover{color:var(", ");background-color:var(", ");", "{color:var(", ");}}&.", "{color:var(", ");background-color:var(", ");", "{color:var(", ");}&:hover{color:var(", ");background-color:var(", ");", "{color:var(", ");}}}"], tokens.itemColor, tokens.itemBackgroundColor, tokens.itemColorHover, tokens.itemBackgroundColorHover, RightContent, tokens.itemAdditionalColorHover, /*#__PURE__*/String(classes.selectedSegmentItem), tokens.itemSelectedColor, tokens.itemSelectedBackgroundColor, RightContent, tokens.itemSelectedAdditionalColor, tokens.itemSelectedColorHover, tokens.itemSelectedBackgroundColorHover, RightContent, tokens.itemSelectedAdditionalColorHover);
@@ -10,7 +10,7 @@ function _objectWithoutProperties(source, excluded) { if (source == null) return
10
10
  function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
11
11
  import React, { forwardRef, useCallback, useMemo, useState, useEffect, useRef } from 'react';
12
12
  import { safeUseId } from '@salutejs/plasma-core';
13
- import { IconDisclosureLeft, IconDisclosureRight } from '../../../_Icon';
13
+ import { IconDisclosureLeftCentered, IconDisclosureRightCentered } from '../../../_Icon';
14
14
  import { classes, tokens } from '../../tokens';
15
15
  import { cx } from '../../../../utils';
16
16
  import { TabItemRefs, TabsContext } from '../../TabsContext';
@@ -114,7 +114,7 @@ export var tabsRoot = function tabsRoot(Root) {
114
114
  isFilled: isFilled,
115
115
  ref: leftArrowRef,
116
116
  isLeftArrow: true
117
- }, /*#__PURE__*/React.createElement(IconDisclosureLeft, {
117
+ }, /*#__PURE__*/React.createElement(IconDisclosureLeftCentered, {
118
118
  color: "var(".concat(tokens.arrowColor, ")")
119
119
  }));
120
120
  }, [onPrev, disabled, isFilled]);
@@ -126,7 +126,7 @@ export var tabsRoot = function tabsRoot(Root) {
126
126
  tabIndex: disabled ? -1 : 0,
127
127
  disabled: disabled,
128
128
  isFilled: isFilled
129
- }, /*#__PURE__*/React.createElement(IconDisclosureRight, {
129
+ }, /*#__PURE__*/React.createElement(IconDisclosureRightCentered, {
130
130
  color: "var(".concat(tokens.arrowColor, ")")
131
131
  }));
132
132
  }, [onNext, disabled, isFilled]);
@@ -136,7 +136,7 @@ export var tabsRoot = function tabsRoot(Root) {
136
136
  var scrollLeft = Math.round(event.currentTarget.scrollLeft);
137
137
  setFirstItemVisible(scrollLeft <= 0);
138
138
  setLastItemVisible(scrollLeft >= maxScrollLeft);
139
- }, [setFirstItemVisible, setLastItemVisible]);
139
+ }, []);
140
140
  var onKeyDown = useCallback(function (event) {
141
141
  if (index === undefined) {
142
142
  return;
@@ -184,7 +184,7 @@ export var tabsRoot = function tabsRoot(Root) {
184
184
  scrollRef.current.scrollTo({
185
185
  left: Math.round(scrollRef.current.scrollLeft + leftArrowRef.current.clientWidth)
186
186
  });
187
- }, [firstItemVisible, scrollRef, leftArrowRef]);
187
+ }, [firstItemVisible]);
188
188
  return /*#__PURE__*/React.createElement(TabsContext.Provider, {
189
189
  value: refs
190
190
  }, /*#__PURE__*/React.createElement(Root, _extends({
@@ -0,0 +1,14 @@
1
+ var _path;
2
+ function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
3
+ import React from 'react';
4
+ export var DisclosureDown = function DisclosureDown(props) {
5
+ return /*#__PURE__*/React.createElement("svg", _extends({
6
+ width: "100%",
7
+ viewBox: "0 0 24 24",
8
+ fill: "none"
9
+ }, props), _path || (_path = /*#__PURE__*/React.createElement("path", {
10
+ d: "M17.78 18.21C17.48 17.92 17.01 17.92 16.71 18.21L12.75 22.18L8.78 18.21C8.48 17.92 8.01 17.92 7.71 18.21C7.42 18.51 7.42 18.98 7.71 19.28L12.75 24.31L17.78 19.28C18.07 18.98 18.07 18.51 17.78 18.21Z",
11
+ fillRule: "evenodd",
12
+ fill: "currentColor"
13
+ })));
14
+ };
@@ -7,9 +7,8 @@ export var DisclosureLeft = function DisclosureLeft(props) {
7
7
  viewBox: "0 0 24 24",
8
8
  fill: "none"
9
9
  }, props), _path || (_path = /*#__PURE__*/React.createElement("path", {
10
- fillRule: "evenodd",
11
- clipRule: "evenodd",
12
- d: "M14.5309 6.96967C14.8238 7.26256 14.8238 7.73744 14.5309 8.03033L10.5613 12L14.5309 15.9697C14.8238 16.2626 14.8238 16.7374 14.5309 17.0303C14.238 17.3232 13.7632 17.3232 13.4703 17.0303L8.43994 12L13.4703 6.96967C13.7632 6.67678 14.238 6.67678 14.5309 6.96967Z",
13
- fill: "currentColor"
10
+ d: "M6.09 6.96c.29.3.29.77 0 1.07L2.12 12l3.97 3.96c.29.3.29.77 0 1.07-.3.29-.77.29-1.06 0L0 12l5.03-5.04c.29-.29.76-.29 1.06 0Z",
11
+ fill: "currentColor",
12
+ fillRule: "evenodd"
14
13
  })));
15
14
  };