@salutejs/plasma-new-hope 0.134.0-canary.1361.10596542425.0 → 0.134.0-canary.1392.10603131302.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (293) hide show
  1. package/cjs/components/Combobox/ui/ComboboxItem/ComboboxItem.js +1 -1
  2. package/cjs/components/Combobox/ui/ComboboxItem/ComboboxItem.js.map +1 -1
  3. package/cjs/components/Segment/tokens.js +14 -1
  4. package/cjs/components/Segment/tokens.js.map +1 -1
  5. package/cjs/components/Segment/ui/SegmentGroup/SegmentGroup.css +10 -4
  6. package/cjs/components/Segment/ui/SegmentGroup/SegmentGroup.js +160 -83
  7. package/cjs/components/Segment/ui/SegmentGroup/SegmentGroup.js.map +1 -1
  8. package/cjs/components/Segment/ui/SegmentGroup/SegmentGroup.styles.js +37 -1
  9. package/cjs/components/Segment/ui/SegmentGroup/SegmentGroup.styles.js.map +1 -1
  10. package/cjs/components/Segment/ui/SegmentGroup/SegmentGroup.styles_1rr47x4.css +8 -0
  11. package/cjs/components/Segment/ui/SegmentGroup/variations/_vertical/base.js +9 -0
  12. package/cjs/components/Segment/ui/SegmentGroup/variations/_vertical/base.js.map +1 -0
  13. package/cjs/components/Segment/ui/SegmentGroup/variations/_vertical/base_11agnr.css +1 -0
  14. package/cjs/components/Segment/ui/SegmentItem/SegmentItem.css +7 -3
  15. package/cjs/components/Segment/ui/SegmentItem/SegmentItem.js +4 -2
  16. package/cjs/components/Segment/ui/SegmentItem/SegmentItem.js.map +1 -1
  17. package/cjs/components/Segment/ui/SegmentItem/SegmentItem.styles.js +31 -2
  18. package/cjs/components/Segment/ui/SegmentItem/SegmentItem.styles.js.map +1 -1
  19. package/cjs/components/Segment/ui/SegmentItem/SegmentItem.styles_f1jpip.css +6 -0
  20. package/cjs/components/Segment/ui/SegmentItem/variations/_view/base.js +1 -1
  21. package/cjs/components/Segment/ui/SegmentItem/variations/_view/base.js.map +1 -1
  22. package/cjs/components/Segment/ui/SegmentItem/variations/_view/base_168a47w.css +1 -0
  23. package/cjs/components/Switch/Switch.tokens.js +1 -1
  24. package/cjs/components/Switch/Switch.tokens.js.map +1 -1
  25. package/cjs/components/Switch/_size/base.js +1 -1
  26. package/cjs/components/Switch/_size/base.js.map +1 -1
  27. package/{es/components/Switch/_size/base_9sphki.css → cjs/components/Switch/_size/base_1sjw39x.css} +1 -1
  28. package/cjs/components/Switch/_view/base.js +1 -1
  29. package/cjs/components/Switch/_view/base.js.map +1 -1
  30. package/cjs/components/Switch/_view/base_d10e49.css +1 -0
  31. package/cjs/components/Tabs/ui/Tabs/Tabs.js +2 -2
  32. package/cjs/components/Tabs/ui/Tabs/Tabs.js.map +1 -1
  33. package/cjs/components/_Icon/Icon.assets/DisclosureDown.js +22 -0
  34. package/cjs/components/_Icon/Icon.assets/DisclosureDown.js.map +1 -0
  35. package/cjs/components/_Icon/Icon.assets/DisclosureUp.js +22 -0
  36. package/cjs/components/_Icon/Icon.assets/DisclosureUp.js.map +1 -0
  37. package/cjs/components/_Icon/Icons/IconDisclosureDown.js +23 -0
  38. package/cjs/components/_Icon/Icons/IconDisclosureDown.js.map +1 -0
  39. package/cjs/components/_Icon/Icons/IconDisclosureUp.js +23 -0
  40. package/cjs/components/_Icon/Icons/IconDisclosureUp.js.map +1 -0
  41. package/cjs/index.css +19 -9
  42. package/emotion/cjs/components/Combobox/ui/ComboboxItem/ComboboxItem.js +1 -1
  43. package/emotion/cjs/components/Segment/README.md +61 -0
  44. package/emotion/cjs/components/Segment/tokens.js +14 -1
  45. package/emotion/cjs/components/Segment/ui/SegmentGroup/SegmentGroup.js +156 -82
  46. package/emotion/cjs/components/Segment/ui/SegmentGroup/SegmentGroup.styles.js +25 -17
  47. package/emotion/cjs/components/Segment/ui/SegmentGroup/variations/_vertical/base.js +10 -0
  48. package/emotion/cjs/components/Segment/ui/SegmentGroup/variations/_vertical/tokens.json +1 -0
  49. package/emotion/cjs/components/Segment/ui/SegmentItem/SegmentItem.js +4 -2
  50. package/emotion/cjs/components/Segment/ui/SegmentItem/SegmentItem.styles.js +28 -6
  51. package/emotion/cjs/components/Segment/ui/SegmentItem/variations/_view/base.js +2 -1
  52. package/emotion/cjs/components/Switch/Switch.tokens.js +1 -1
  53. package/emotion/cjs/components/Switch/_size/base.js +1 -1
  54. package/emotion/cjs/components/Switch/_view/base.js +1 -1
  55. package/emotion/cjs/components/Tabs/ui/Tabs/Tabs.js +2 -2
  56. package/emotion/cjs/components/_Icon/Icon.assets/DisclosureDown.js +21 -0
  57. package/emotion/cjs/components/_Icon/Icon.assets/DisclosureUp.js +21 -0
  58. package/emotion/cjs/components/_Icon/Icons/IconDisclosureDown.js +22 -0
  59. package/emotion/cjs/components/_Icon/Icons/IconDisclosureUp.js +22 -0
  60. package/emotion/cjs/components/_Icon/index.js +14 -0
  61. package/emotion/cjs/examples/plasma_b2c/components/Combobox/Combobox.config.js +5 -5
  62. package/emotion/cjs/examples/plasma_b2c/components/Dropdown/Dropdown.config.js +5 -5
  63. package/emotion/cjs/examples/plasma_b2c/components/Segment/Segment.stories.tsx +6 -1
  64. package/emotion/cjs/examples/plasma_b2c/components/Segment/SegmentGroup.config.js +13 -10
  65. package/emotion/cjs/examples/plasma_b2c/components/Segment/SegmentItem.config.js +9 -9
  66. package/emotion/cjs/examples/plasma_b2c/components/Switch/Switch.config.js +4 -4
  67. package/emotion/cjs/examples/plasma_b2c/components/Toast/Toast.config.js +5 -5
  68. package/emotion/cjs/examples/plasma_b2c/components/Toolbar/Toolbar.config.js +5 -5
  69. package/emotion/cjs/examples/plasma_b2c/components/Tooltip/Tooltip.config.js +3 -3
  70. package/emotion/cjs/examples/plasma_web/components/Combobox/Combobox.config.js +5 -5
  71. package/emotion/cjs/examples/plasma_web/components/Dropdown/Dropdown.config.js +5 -5
  72. package/emotion/cjs/examples/plasma_web/components/Segment/Segment.stories.tsx +142 -2
  73. package/emotion/cjs/examples/plasma_web/components/Segment/SegmentGroup.config.js +15 -9
  74. package/emotion/cjs/examples/plasma_web/components/Segment/SegmentItem.config.js +9 -9
  75. package/emotion/cjs/examples/plasma_web/components/Switch/Switch.config.js +4 -4
  76. package/emotion/cjs/examples/plasma_web/components/Toast/Toast.config.js +5 -5
  77. package/emotion/cjs/examples/plasma_web/components/Toolbar/Toolbar.config.js +5 -5
  78. package/emotion/cjs/examples/plasma_web/components/Tooltip/Tooltip.config.js +3 -3
  79. package/emotion/cjs/examples/sds_engineer/components/Segment/Segment.stories.tsx +6 -1
  80. package/emotion/cjs/examples/sds_engineer/components/Toast/Toast.config.js +5 -5
  81. package/emotion/cjs/examples/sds_engineer/components/Toolbar/Toolbar.config.js +5 -5
  82. package/emotion/es/components/Combobox/ui/ComboboxItem/ComboboxItem.js +1 -1
  83. package/emotion/es/components/Segment/README.md +61 -0
  84. package/emotion/es/components/Segment/tokens.js +14 -1
  85. package/emotion/es/components/Segment/ui/SegmentGroup/SegmentGroup.js +159 -85
  86. package/emotion/es/components/Segment/ui/SegmentGroup/SegmentGroup.styles.js +25 -17
  87. package/emotion/es/components/Segment/ui/SegmentGroup/variations/_vertical/base.js +4 -0
  88. package/emotion/es/components/Segment/ui/SegmentGroup/variations/_vertical/tokens.json +1 -0
  89. package/emotion/es/components/Segment/ui/SegmentItem/SegmentItem.js +5 -3
  90. package/emotion/es/components/Segment/ui/SegmentItem/SegmentItem.styles.js +27 -5
  91. package/emotion/es/components/Segment/ui/SegmentItem/variations/_view/base.js +2 -1
  92. package/emotion/es/components/Switch/Switch.tokens.js +1 -1
  93. package/emotion/es/components/Switch/_size/base.js +1 -1
  94. package/emotion/es/components/Switch/_view/base.js +1 -1
  95. package/emotion/es/components/Tabs/ui/Tabs/Tabs.js +2 -2
  96. package/emotion/es/components/_Icon/Icon.assets/DisclosureDown.js +14 -0
  97. package/emotion/es/components/_Icon/Icon.assets/DisclosureUp.js +14 -0
  98. package/emotion/es/components/_Icon/Icons/IconDisclosureDown.js +15 -0
  99. package/emotion/es/components/_Icon/Icons/IconDisclosureUp.js +15 -0
  100. package/emotion/es/components/_Icon/index.js +2 -0
  101. package/emotion/es/examples/plasma_b2c/components/Combobox/Combobox.config.js +5 -5
  102. package/emotion/es/examples/plasma_b2c/components/Dropdown/Dropdown.config.js +5 -5
  103. package/emotion/es/examples/plasma_b2c/components/Segment/Segment.stories.tsx +6 -1
  104. package/emotion/es/examples/plasma_b2c/components/Segment/SegmentGroup.config.js +13 -10
  105. package/emotion/es/examples/plasma_b2c/components/Segment/SegmentItem.config.js +9 -9
  106. package/emotion/es/examples/plasma_b2c/components/Switch/Switch.config.js +4 -4
  107. package/emotion/es/examples/plasma_b2c/components/Toast/Toast.config.js +5 -5
  108. package/emotion/es/examples/plasma_b2c/components/Toolbar/Toolbar.config.js +5 -5
  109. package/emotion/es/examples/plasma_b2c/components/Tooltip/Tooltip.config.js +3 -3
  110. package/emotion/es/examples/plasma_web/components/Combobox/Combobox.config.js +5 -5
  111. package/emotion/es/examples/plasma_web/components/Dropdown/Dropdown.config.js +5 -5
  112. package/emotion/es/examples/plasma_web/components/Segment/Segment.stories.tsx +142 -2
  113. package/emotion/es/examples/plasma_web/components/Segment/SegmentGroup.config.js +15 -9
  114. package/emotion/es/examples/plasma_web/components/Segment/SegmentItem.config.js +9 -9
  115. package/emotion/es/examples/plasma_web/components/Switch/Switch.config.js +4 -4
  116. package/emotion/es/examples/plasma_web/components/Toast/Toast.config.js +5 -5
  117. package/emotion/es/examples/plasma_web/components/Toolbar/Toolbar.config.js +5 -5
  118. package/emotion/es/examples/plasma_web/components/Tooltip/Tooltip.config.js +3 -3
  119. package/emotion/es/examples/sds_engineer/components/Segment/Segment.stories.tsx +6 -1
  120. package/emotion/es/examples/sds_engineer/components/Toast/Toast.config.js +5 -5
  121. package/emotion/es/examples/sds_engineer/components/Toolbar/Toolbar.config.js +5 -5
  122. package/es/components/Combobox/ui/ComboboxItem/ComboboxItem.js +1 -1
  123. package/es/components/Combobox/ui/ComboboxItem/ComboboxItem.js.map +1 -1
  124. package/es/components/Segment/tokens.js +14 -1
  125. package/es/components/Segment/tokens.js.map +1 -1
  126. package/es/components/Segment/ui/SegmentGroup/SegmentGroup.css +10 -4
  127. package/es/components/Segment/ui/SegmentGroup/SegmentGroup.js +163 -87
  128. package/es/components/Segment/ui/SegmentGroup/SegmentGroup.js.map +1 -1
  129. package/es/components/Segment/ui/SegmentGroup/SegmentGroup.styles.js +34 -2
  130. package/es/components/Segment/ui/SegmentGroup/SegmentGroup.styles.js.map +1 -1
  131. package/es/components/Segment/ui/SegmentGroup/SegmentGroup.styles_1rr47x4.css +8 -0
  132. package/es/components/Segment/ui/SegmentGroup/variations/_vertical/base.js +5 -0
  133. package/es/components/Segment/ui/SegmentGroup/variations/_vertical/base.js.map +1 -0
  134. package/es/components/Segment/ui/SegmentGroup/variations/_vertical/base_11agnr.css +1 -0
  135. package/es/components/Segment/ui/SegmentItem/SegmentItem.css +7 -3
  136. package/es/components/Segment/ui/SegmentItem/SegmentItem.js +5 -3
  137. package/es/components/Segment/ui/SegmentItem/SegmentItem.js.map +1 -1
  138. package/es/components/Segment/ui/SegmentItem/SegmentItem.styles.js +30 -3
  139. package/es/components/Segment/ui/SegmentItem/SegmentItem.styles.js.map +1 -1
  140. package/es/components/Segment/ui/SegmentItem/SegmentItem.styles_f1jpip.css +6 -0
  141. package/es/components/Segment/ui/SegmentItem/variations/_view/base.js +1 -1
  142. package/es/components/Segment/ui/SegmentItem/variations/_view/base.js.map +1 -1
  143. package/es/components/Segment/ui/SegmentItem/variations/_view/base_168a47w.css +1 -0
  144. package/es/components/Switch/Switch.tokens.js +1 -1
  145. package/es/components/Switch/Switch.tokens.js.map +1 -1
  146. package/es/components/Switch/_size/base.js +1 -1
  147. package/es/components/Switch/_size/base.js.map +1 -1
  148. package/{cjs/components/Switch/_size/base_9sphki.css → es/components/Switch/_size/base_1sjw39x.css} +1 -1
  149. package/es/components/Switch/_view/base.js +1 -1
  150. package/es/components/Switch/_view/base.js.map +1 -1
  151. package/es/components/Switch/_view/base_d10e49.css +1 -0
  152. package/es/components/Tabs/ui/Tabs/Tabs.js +2 -2
  153. package/es/components/Tabs/ui/Tabs/Tabs.js.map +1 -1
  154. package/es/components/_Icon/Icon.assets/DisclosureDown.js +18 -0
  155. package/es/components/_Icon/Icon.assets/DisclosureDown.js.map +1 -0
  156. package/es/components/_Icon/Icon.assets/DisclosureUp.js +18 -0
  157. package/es/components/_Icon/Icon.assets/DisclosureUp.js.map +1 -0
  158. package/es/components/_Icon/Icons/IconDisclosureDown.js +19 -0
  159. package/es/components/_Icon/Icons/IconDisclosureDown.js.map +1 -0
  160. package/es/components/_Icon/Icons/IconDisclosureUp.js +19 -0
  161. package/es/components/_Icon/Icons/IconDisclosureUp.js.map +1 -0
  162. package/es/index.css +19 -9
  163. package/package.json +4 -4
  164. package/styled-components/cjs/components/Combobox/ui/ComboboxItem/ComboboxItem.js +1 -1
  165. package/styled-components/cjs/components/Segment/README.md +61 -0
  166. package/styled-components/cjs/components/Segment/tokens.js +14 -1
  167. package/styled-components/cjs/components/Segment/ui/SegmentGroup/SegmentGroup.js +156 -82
  168. package/styled-components/cjs/components/Segment/ui/SegmentGroup/SegmentGroup.styles.js +16 -4
  169. package/styled-components/cjs/components/Segment/ui/SegmentGroup/variations/_vertical/base.js +10 -0
  170. package/styled-components/cjs/components/Segment/ui/SegmentGroup/variations/_vertical/tokens.json +1 -0
  171. package/styled-components/cjs/components/Segment/ui/SegmentItem/SegmentItem.js +4 -2
  172. package/styled-components/cjs/components/Segment/ui/SegmentItem/SegmentItem.styles.js +23 -5
  173. package/styled-components/cjs/components/Segment/ui/SegmentItem/variations/_view/base.js +2 -1
  174. package/styled-components/cjs/components/Switch/Switch.tokens.js +1 -1
  175. package/styled-components/cjs/components/Switch/_size/base.js +1 -1
  176. package/styled-components/cjs/components/Switch/_view/base.js +1 -1
  177. package/styled-components/cjs/components/Tabs/ui/Tabs/Tabs.js +2 -2
  178. package/styled-components/cjs/components/_Icon/Icon.assets/DisclosureDown.js +21 -0
  179. package/styled-components/cjs/components/_Icon/Icon.assets/DisclosureUp.js +21 -0
  180. package/styled-components/cjs/components/_Icon/Icons/IconDisclosureDown.js +22 -0
  181. package/styled-components/cjs/components/_Icon/Icons/IconDisclosureUp.js +22 -0
  182. package/styled-components/cjs/components/_Icon/index.js +14 -0
  183. package/styled-components/cjs/examples/plasma_b2c/components/Combobox/Combobox.config.js +1 -1
  184. package/styled-components/cjs/examples/plasma_b2c/components/Dropdown/Dropdown.config.js +1 -1
  185. package/styled-components/cjs/examples/plasma_b2c/components/Segment/Segment.stories.tsx +6 -1
  186. package/styled-components/cjs/examples/plasma_b2c/components/Segment/SegmentGroup.config.js +7 -4
  187. package/styled-components/cjs/examples/plasma_b2c/components/Segment/SegmentItem.config.js +8 -8
  188. package/styled-components/cjs/examples/plasma_b2c/components/Switch/Switch.config.js +1 -1
  189. package/styled-components/cjs/examples/plasma_b2c/components/Toast/Toast.config.js +3 -3
  190. package/styled-components/cjs/examples/plasma_b2c/components/Toolbar/Toolbar.config.js +1 -1
  191. package/styled-components/cjs/examples/plasma_b2c/components/Tooltip/Tooltip.config.js +1 -1
  192. package/styled-components/cjs/examples/plasma_web/components/Combobox/Combobox.config.js +1 -1
  193. package/styled-components/cjs/examples/plasma_web/components/Dropdown/Dropdown.config.js +1 -1
  194. package/styled-components/cjs/examples/plasma_web/components/Segment/Segment.stories.tsx +142 -2
  195. package/styled-components/cjs/examples/plasma_web/components/Segment/SegmentGroup.config.js +10 -4
  196. package/styled-components/cjs/examples/plasma_web/components/Segment/SegmentItem.config.js +8 -8
  197. package/styled-components/cjs/examples/plasma_web/components/Switch/Switch.config.js +1 -1
  198. package/styled-components/cjs/examples/plasma_web/components/Toast/Toast.config.js +3 -3
  199. package/styled-components/cjs/examples/plasma_web/components/Toolbar/Toolbar.config.js +1 -1
  200. package/styled-components/cjs/examples/plasma_web/components/Tooltip/Tooltip.config.js +1 -1
  201. package/styled-components/cjs/examples/sds_engineer/components/Segment/Segment.stories.tsx +6 -1
  202. package/styled-components/cjs/examples/sds_engineer/components/Toast/Toast.config.js +3 -3
  203. package/styled-components/cjs/examples/sds_engineer/components/Toolbar/Toolbar.config.js +1 -1
  204. package/styled-components/es/components/Combobox/ui/ComboboxItem/ComboboxItem.js +1 -1
  205. package/styled-components/es/components/Segment/README.md +61 -0
  206. package/styled-components/es/components/Segment/tokens.js +14 -1
  207. package/styled-components/es/components/Segment/ui/SegmentGroup/SegmentGroup.js +159 -85
  208. package/styled-components/es/components/Segment/ui/SegmentGroup/SegmentGroup.styles.js +16 -4
  209. package/styled-components/es/components/Segment/ui/SegmentGroup/variations/_vertical/base.js +4 -0
  210. package/styled-components/es/components/Segment/ui/SegmentGroup/variations/_vertical/tokens.json +1 -0
  211. package/styled-components/es/components/Segment/ui/SegmentItem/SegmentItem.js +5 -3
  212. package/styled-components/es/components/Segment/ui/SegmentItem/SegmentItem.styles.js +22 -4
  213. package/styled-components/es/components/Segment/ui/SegmentItem/variations/_view/base.js +2 -1
  214. package/styled-components/es/components/Switch/Switch.tokens.js +1 -1
  215. package/styled-components/es/components/Switch/_size/base.js +1 -1
  216. package/styled-components/es/components/Switch/_view/base.js +1 -1
  217. package/styled-components/es/components/Tabs/ui/Tabs/Tabs.js +2 -2
  218. package/styled-components/es/components/_Icon/Icon.assets/DisclosureDown.js +14 -0
  219. package/styled-components/es/components/_Icon/Icon.assets/DisclosureUp.js +14 -0
  220. package/styled-components/es/components/_Icon/Icons/IconDisclosureDown.js +15 -0
  221. package/styled-components/es/components/_Icon/Icons/IconDisclosureUp.js +15 -0
  222. package/styled-components/es/components/_Icon/index.js +2 -0
  223. package/styled-components/es/examples/plasma_b2c/components/Combobox/Combobox.config.js +1 -1
  224. package/styled-components/es/examples/plasma_b2c/components/Dropdown/Dropdown.config.js +1 -1
  225. package/styled-components/es/examples/plasma_b2c/components/Segment/Segment.stories.tsx +6 -1
  226. package/styled-components/es/examples/plasma_b2c/components/Segment/SegmentGroup.config.js +7 -4
  227. package/styled-components/es/examples/plasma_b2c/components/Segment/SegmentItem.config.js +8 -8
  228. package/styled-components/es/examples/plasma_b2c/components/Switch/Switch.config.js +1 -1
  229. package/styled-components/es/examples/plasma_b2c/components/Toast/Toast.config.js +3 -3
  230. package/styled-components/es/examples/plasma_b2c/components/Toolbar/Toolbar.config.js +1 -1
  231. package/styled-components/es/examples/plasma_b2c/components/Tooltip/Tooltip.config.js +1 -1
  232. package/styled-components/es/examples/plasma_web/components/Combobox/Combobox.config.js +1 -1
  233. package/styled-components/es/examples/plasma_web/components/Dropdown/Dropdown.config.js +1 -1
  234. package/styled-components/es/examples/plasma_web/components/Segment/Segment.stories.tsx +142 -2
  235. package/styled-components/es/examples/plasma_web/components/Segment/SegmentGroup.config.js +10 -4
  236. package/styled-components/es/examples/plasma_web/components/Segment/SegmentItem.config.js +8 -8
  237. package/styled-components/es/examples/plasma_web/components/Switch/Switch.config.js +1 -1
  238. package/styled-components/es/examples/plasma_web/components/Toast/Toast.config.js +3 -3
  239. package/styled-components/es/examples/plasma_web/components/Toolbar/Toolbar.config.js +1 -1
  240. package/styled-components/es/examples/plasma_web/components/Tooltip/Tooltip.config.js +1 -1
  241. package/styled-components/es/examples/sds_engineer/components/Segment/Segment.stories.tsx +6 -1
  242. package/styled-components/es/examples/sds_engineer/components/Toast/Toast.config.js +3 -3
  243. package/styled-components/es/examples/sds_engineer/components/Toolbar/Toolbar.config.js +1 -1
  244. package/types/components/Segment/tokens.d.ts +13 -0
  245. package/types/components/Segment/tokens.d.ts.map +1 -1
  246. package/types/components/Segment/ui/SegmentGroup/SegmentGroup.d.ts +7 -0
  247. package/types/components/Segment/ui/SegmentGroup/SegmentGroup.d.ts.map +1 -1
  248. package/types/components/Segment/ui/SegmentGroup/SegmentGroup.styles.d.ts +12 -0
  249. package/types/components/Segment/ui/SegmentGroup/SegmentGroup.styles.d.ts.map +1 -1
  250. package/types/components/Segment/ui/SegmentGroup/SegmentGroup.types.d.ts +5 -1
  251. package/types/components/Segment/ui/SegmentGroup/SegmentGroup.types.d.ts.map +1 -1
  252. package/types/components/Segment/ui/SegmentGroup/variations/_vertical/base.d.ts +2 -0
  253. package/types/components/Segment/ui/SegmentGroup/variations/_vertical/base.d.ts.map +1 -0
  254. package/types/components/Segment/ui/SegmentItem/SegmentItem.d.ts +4 -0
  255. package/types/components/Segment/ui/SegmentItem/SegmentItem.d.ts.map +1 -1
  256. package/types/components/Segment/ui/SegmentItem/SegmentItem.styles.d.ts +9 -1
  257. package/types/components/Segment/ui/SegmentItem/SegmentItem.styles.d.ts.map +1 -1
  258. package/types/components/Segment/ui/SegmentItem/SegmentItem.types.d.ts +8 -0
  259. package/types/components/Segment/ui/SegmentItem/SegmentItem.types.d.ts.map +1 -1
  260. package/types/components/Segment/ui/SegmentItem/variations/_view/base.d.ts.map +1 -1
  261. package/types/components/Tabs/ui/Tabs/Tabs.d.ts.map +1 -1
  262. package/types/components/_Icon/Icon.assets/DisclosureDown.d.ts +4 -0
  263. package/types/components/_Icon/Icon.assets/DisclosureDown.d.ts.map +1 -0
  264. package/types/components/_Icon/Icon.assets/DisclosureUp.d.ts +4 -0
  265. package/types/components/_Icon/Icon.assets/DisclosureUp.d.ts.map +1 -0
  266. package/types/components/_Icon/Icons/IconDisclosureDown.d.ts +4 -0
  267. package/types/components/_Icon/Icons/IconDisclosureDown.d.ts.map +1 -0
  268. package/types/components/_Icon/Icons/IconDisclosureUp.d.ts +4 -0
  269. package/types/components/_Icon/Icons/IconDisclosureUp.d.ts.map +1 -0
  270. package/types/components/_Icon/index.d.ts +2 -0
  271. package/types/components/_Icon/index.d.ts.map +1 -1
  272. package/types/examples/plasma_b2c/components/Segment/Segment.d.ts +6 -0
  273. package/types/examples/plasma_b2c/components/Segment/Segment.d.ts.map +1 -1
  274. package/types/examples/plasma_b2c/components/Segment/SegmentGroup.config.d.ts +3 -0
  275. package/types/examples/plasma_b2c/components/Segment/SegmentGroup.config.d.ts.map +1 -1
  276. package/types/examples/plasma_b2c/components/Segment/SegmentItem.config.d.ts.map +1 -1
  277. package/types/examples/plasma_b2c/components/Switch/Switch.config.d.ts.map +1 -1
  278. package/types/examples/plasma_web/components/Segment/Segment.d.ts +9 -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/types/examples/plasma_web/components/Switch/Switch.config.d.ts.map +1 -1
  284. package/types/examples/sds_engineer/components/Segment/Segment.d.ts +3 -0
  285. package/types/examples/sds_engineer/components/Segment/Segment.d.ts.map +1 -1
  286. package/cjs/components/Segment/ui/SegmentGroup/SegmentGroup.styles_m9i9p0.css +0 -4
  287. package/cjs/components/Segment/ui/SegmentItem/SegmentItem.styles_18h1p52.css +0 -2
  288. package/cjs/components/Segment/ui/SegmentItem/variations/_view/base_1m1u2ys.css +0 -1
  289. package/cjs/components/Switch/_view/base_b0jyco.css +0 -1
  290. package/es/components/Segment/ui/SegmentGroup/SegmentGroup.styles_m9i9p0.css +0 -4
  291. package/es/components/Segment/ui/SegmentItem/SegmentItem.styles_18h1p52.css +0 -2
  292. package/es/components/Segment/ui/SegmentItem/variations/_view/base_1m1u2ys.css +0 -1
  293. package/es/components/Switch/_view/base_b0jyco.css +0 -1
@@ -36,7 +36,7 @@ var comboboxItemRoot = function comboboxItemRoot(Root) {
36
36
  rest = _rollupPluginBabelHelpers.objectWithoutProperties(_ref, _excluded);
37
37
  var uniqId = plasmaCore.safeUseId();
38
38
  var innerId = id || uniqId;
39
- var withComboboxItemIsSelected = checked || isSelected ? Combobox_tokens.classes.comboboxItemIsSelected : undefined;
39
+ var withComboboxItemIsSelected = checked || isSelected ? Combobox_tokens.classes.comboboxItemIsDisabled : undefined;
40
40
  var withComboboxItemIsDisabled = disabled ? Combobox_tokens.classes.comboboxItemIsDisabled : undefined;
41
41
  var handleOnClick = React.useCallback(function (event) {
42
42
  if (disabled) {
@@ -1 +1 @@
1
- {"version":3,"file":"ComboboxItem.js","sources":["../../../../../src/components/Combobox/ui/ComboboxItem/ComboboxItem.tsx"],"sourcesContent":["import React, { forwardRef, useCallback, useMemo } from 'react';\nimport { safeUseId } from '@salutejs/plasma-core';\n\nimport type { RootProps } from '../../../../engines';\nimport { classes } from '../../Combobox.tokens';\nimport { getValidComponent } from '../../utils';\nimport { cx } from '../../../../utils';\n\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as sizeCSS } from './variations/_size/base';\nimport { StyledContentLeft, StyledContentRight, StyledText, base } from './ComboboxItem.styles';\nimport { ComboboxItemProps } from './ComboboxItem.type';\n\nexport const comboboxItemRoot = (Root: RootProps<HTMLDivElement, ComboboxItemProps>) =>\n forwardRef<HTMLDivElement, ComboboxItemProps>(\n (\n {\n id,\n className,\n children,\n text,\n isSelected,\n name,\n checked,\n value,\n view,\n size,\n disabled,\n role = 'option',\n contentLeft: ContentLeftComponent,\n contentRight: ContentRightComponent,\n onSelect,\n onClick,\n onChange,\n ...rest\n },\n outerRootRef,\n ) => {\n const uniqId = safeUseId();\n const innerId = id || uniqId;\n\n const withComboboxItemIsSelected = checked || isSelected ? classes.comboboxItemIsSelected : undefined;\n const withComboboxItemIsDisabled = disabled ? classes.comboboxItemIsDisabled : undefined;\n\n const handleOnClick = useCallback(\n (event: React.MouseEvent<HTMLDivElement>) => {\n if (disabled) {\n return;\n }\n\n onClick?.(event);\n\n if (onSelect && !ContentLeftComponent) {\n onSelect(value, text);\n }\n },\n [onSelect, disabled],\n );\n\n const handleOnChange = useCallback(\n (event: React.MouseEvent<HTMLInputElement>) => {\n if (disabled) {\n return;\n }\n\n onChange?.(event);\n\n if (onSelect && ContentLeftComponent) {\n onSelect(value, text);\n }\n },\n [onSelect, disabled],\n );\n\n const contentProps = {\n name,\n value,\n checked: checked || isSelected,\n disabled,\n tabIndex: -1,\n ...(!disabled && { onChange: handleOnChange }),\n };\n\n const ContentLeft = useMemo(() => getValidComponent(ContentLeftComponent, contentProps), [\n ContentRightComponent,\n contentProps,\n ]);\n\n const ContentRight = useMemo(() => getValidComponent(ContentRightComponent, contentProps), [\n ContentRightComponent,\n contentProps,\n ]);\n\n return (\n <Root\n className={cx(withComboboxItemIsSelected, withComboboxItemIsDisabled, className)}\n view={view}\n size={size}\n id={innerId}\n isSelected={isSelected}\n role={role}\n ref={outerRootRef}\n tabIndex={0}\n aria-disabled={disabled}\n aria-selected={isSelected}\n onClick={handleOnClick}\n data-value={value}\n {...rest}\n >\n {text ? (\n <>\n <StyledContentLeft>{ContentLeftComponent && ContentLeft}</StyledContentLeft>\n <StyledText>{text}</StyledText>\n <StyledContentRight>{ContentRightComponent && ContentRight}</StyledContentRight>\n </>\n ) : (\n children\n )}\n </Root>\n );\n },\n );\n\nexport const comboboxItemConfig = {\n name: 'ComboboxItem',\n tag: 'div',\n layout: comboboxItemRoot,\n base,\n variations: {\n view: {\n css: viewCSS,\n },\n size: {\n css: sizeCSS,\n },\n },\n defaults: {\n view: 'primary',\n size: 'm',\n },\n};\n"],"names":["comboboxItemRoot","Root","forwardRef","_ref","outerRootRef","id","className","children","text","isSelected","name","checked","value","view","size","disabled","_ref$role","role","ContentLeftComponent","contentLeft","ContentRightComponent","contentRight","onSelect","onClick","onChange","rest","_objectWithoutProperties","_excluded","uniqId","safeUseId","innerId","withComboboxItemIsSelected","classes","comboboxItemIsSelected","undefined","withComboboxItemIsDisabled","comboboxItemIsDisabled","handleOnClick","useCallback","event","handleOnChange","contentProps","_objectSpread","tabIndex","ContentLeft","useMemo","getValidComponent","ContentRight","React","createElement","_extends","cx","ref","Fragment","StyledContentLeft","StyledText","StyledContentRight","comboboxItemConfig","tag","layout","base","variations","css","viewCSS","sizeCSS","defaults"],"mappings":"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"}
1
+ {"version":3,"file":"ComboboxItem.js","sources":["../../../../../src/components/Combobox/ui/ComboboxItem/ComboboxItem.tsx"],"sourcesContent":["import React, { forwardRef, useCallback, useMemo } from 'react';\nimport { safeUseId } from '@salutejs/plasma-core';\n\nimport type { RootProps } from '../../../../engines';\nimport { classes } from '../../Combobox.tokens';\nimport { getValidComponent } from '../../utils';\nimport { cx } from '../../../../utils';\n\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as sizeCSS } from './variations/_size/base';\nimport { StyledContentLeft, StyledContentRight, StyledText, base } from './ComboboxItem.styles';\nimport { ComboboxItemProps } from './ComboboxItem.type';\n\nexport const comboboxItemRoot = (Root: RootProps<HTMLDivElement, ComboboxItemProps>) =>\n forwardRef<HTMLDivElement, ComboboxItemProps>(\n (\n {\n id,\n className,\n children,\n text,\n isSelected,\n name,\n checked,\n value,\n view,\n size,\n disabled,\n role = 'option',\n contentLeft: ContentLeftComponent,\n contentRight: ContentRightComponent,\n onSelect,\n onClick,\n onChange,\n ...rest\n },\n outerRootRef,\n ) => {\n const uniqId = safeUseId();\n const innerId = id || uniqId;\n\n const withComboboxItemIsSelected = checked || isSelected ? classes.comboboxItemIsDisabled : undefined;\n const withComboboxItemIsDisabled = disabled ? classes.comboboxItemIsDisabled : undefined;\n\n const handleOnClick = useCallback(\n (event: React.MouseEvent<HTMLDivElement>) => {\n if (disabled) {\n return;\n }\n\n onClick?.(event);\n\n if (onSelect && !ContentLeftComponent) {\n onSelect(value, text);\n }\n },\n [onSelect, disabled],\n );\n\n const handleOnChange = useCallback(\n (event: React.MouseEvent<HTMLInputElement>) => {\n if (disabled) {\n return;\n }\n\n onChange?.(event);\n\n if (onSelect && ContentLeftComponent) {\n onSelect(value, text);\n }\n },\n [onSelect, disabled],\n );\n\n const contentProps = {\n name,\n value,\n checked: checked || isSelected,\n disabled,\n tabIndex: -1,\n ...(!disabled && { onChange: handleOnChange }),\n };\n\n const ContentLeft = useMemo(() => getValidComponent(ContentLeftComponent, contentProps), [\n ContentRightComponent,\n contentProps,\n ]);\n\n const ContentRight = useMemo(() => getValidComponent(ContentRightComponent, contentProps), [\n ContentRightComponent,\n contentProps,\n ]);\n\n return (\n <Root\n className={cx(withComboboxItemIsSelected, withComboboxItemIsDisabled, className)}\n view={view}\n size={size}\n id={innerId}\n isSelected={isSelected}\n role={role}\n ref={outerRootRef}\n tabIndex={0}\n aria-disabled={disabled}\n aria-selected={isSelected}\n onClick={handleOnClick}\n data-value={value}\n {...rest}\n >\n {text ? (\n <>\n <StyledContentLeft>{ContentLeftComponent && ContentLeft}</StyledContentLeft>\n <StyledText>{text}</StyledText>\n <StyledContentRight>{ContentRightComponent && ContentRight}</StyledContentRight>\n </>\n ) : (\n children\n )}\n </Root>\n );\n },\n );\n\nexport const comboboxItemConfig = {\n name: 'ComboboxItem',\n tag: 'div',\n layout: comboboxItemRoot,\n base,\n variations: {\n view: {\n css: viewCSS,\n },\n size: {\n css: sizeCSS,\n },\n },\n defaults: {\n view: 'primary',\n size: 'm',\n },\n};\n"],"names":["comboboxItemRoot","Root","forwardRef","_ref","outerRootRef","id","className","children","text","isSelected","name","checked","value","view","size","disabled","_ref$role","role","ContentLeftComponent","contentLeft","ContentRightComponent","contentRight","onSelect","onClick","onChange","rest","_objectWithoutProperties","_excluded","uniqId","safeUseId","innerId","withComboboxItemIsSelected","classes","comboboxItemIsDisabled","undefined","withComboboxItemIsDisabled","handleOnClick","useCallback","event","handleOnChange","contentProps","_objectSpread","tabIndex","ContentLeft","useMemo","getValidComponent","ContentRight","React","createElement","_extends","cx","ref","Fragment","StyledContentLeft","StyledText","StyledContentRight","comboboxItemConfig","tag","layout","base","variations","css","viewCSS","sizeCSS","defaults"],"mappings":"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"}
@@ -6,7 +6,11 @@ var classes = {
6
6
  selectedSegmentItem: 'selected-segment-item',
7
7
  segmentPilled: 'segment-pilled',
8
8
  segmentGroupFilledBackground: 'segment-group-filled-background',
9
- segmentStretch: 'segment-stretched'
9
+ segmentStretch: 'segment-stretched',
10
+ segmentVertical: 'segment-vertical',
11
+ segmentArrowPadding: 'segment-arrow-padding',
12
+ segmentGroupClipScroll: 'segment-group-clip-scroll',
13
+ segmentGroupClipShowAll: 'segment-group-clip-show-all'
10
14
  };
11
15
  var tokens = {
12
16
  fontFamily: '--plasma-segment-item-font-family',
@@ -21,6 +25,9 @@ var tokens = {
21
25
  groupPilledBorderRadius: '--plasma-segment-group-pilled-border-radius',
22
26
  groupWidth: '--plasma-segment-group-width',
23
27
  groupHeight: '--plasma-segment-group-height',
28
+ groupVerticalHeight: '--plasma-segment-group-vertical-height',
29
+ groupArrowPadding: '--plasma-segment-group-arrow-padding',
30
+ groupVerticalArrowPadding: '--plasma-segment-group-vertical-arrow-padding',
24
31
  groupBackgroundColor: '--plasma-segment-group-background-color',
25
32
  groupFilledBackgroundColor: '--plasma-segment-group-filled-background-color',
26
33
  itemBorderRadius: '--plasma-segment-item-border-radius',
@@ -29,14 +36,20 @@ var tokens = {
29
36
  itemHeight: '--plasma-segment-item-height',
30
37
  itemPadding: '--plasma-segment-item-padding',
31
38
  itemMarginLeft: '--plasma-segment-item-margin-left',
39
+ itemContentPadding: '--plasma-segment-item-content-padding',
40
+ itemIconMargin: '--plasma-segment-item-content-icon-margin',
32
41
  itemColor: '--plasma-segment-item-color',
33
42
  itemBackgroundColor: '--plasma-segment-item-background-color',
34
43
  itemColorHover: '--plasma-segment-item-color-hover',
35
44
  itemBackgroundColorHover: '--plasma-segment-item-background-color-hover',
45
+ itemAdditionalColor: '--plasma-segment-item-additional-color',
46
+ itemAdditionalColorHover: '--plasma-segment-item-additional-color-hover',
36
47
  itemSelectedColor: '--plasma-segment-item-selected-color',
37
48
  itemSelectedBackgroundColor: '--plasma-segment-item-selected-background-color',
38
49
  itemSelectedColorHover: '--plasma-segment-item-selected-color-hover',
39
50
  itemSelectedBackgroundColorHover: '--plasma-segment-item-selected-background-color-hover',
51
+ itemSelectedAdditionalColor: '--plasma-segment-item-selected-additional-color',
52
+ itemSelectedAdditionalColorHover: '--plasma-segment-item-selected-additional-color-hover',
40
53
  disabledOpacity: '--plasma-segment-disabled-opacity'
41
54
  };
42
55
 
@@ -1 +1 @@
1
- {"version":3,"file":"tokens.js","sources":["../../../src/components/Segment/tokens.ts"],"sourcesContent":["export const classes = {\n selectedSegmentItem: 'selected-segment-item',\n segmentPilled: 'segment-pilled',\n segmentGroupFilledBackground: 'segment-group-filled-background',\n segmentStretch: 'segment-stretched',\n};\n\nexport const tokens = {\n fontFamily: '--plasma-segment-item-font-family',\n fontSize: '--plasma-segment-item-font-size',\n fontStyle: '--plasma-segment-item-font-style',\n fontWeight: '--plasma-segment-item-font-weight',\n letterSpacing: '--plasma-segment-item-letter-spacing',\n lineHeight: '--plasma-segment-item-lineheight',\n\n outlineFocusColor: '--plasma-segment-outline-focus-color',\n\n arrowColor: '--plasma-segment-arrow-color',\n\n groupBorderRadius: '--plasma-segment-group-border-radius',\n groupPilledBorderRadius: '--plasma-segment-group-pilled-border-radius',\n groupWidth: '--plasma-segment-group-width',\n groupHeight: '--plasma-segment-group-height',\n\n groupBackgroundColor: '--plasma-segment-group-background-color',\n groupFilledBackgroundColor: '--plasma-segment-group-filled-background-color',\n\n itemBorderRadius: '--plasma-segment-item-border-radius',\n itemPilledBorderRadius: '--plasma-segment-item-pilled-border-radius',\n itemWidth: '--plasma-segment-item-width',\n itemHeight: '--plasma-segment-item-height',\n itemPadding: '--plasma-segment-item-padding',\n itemMarginLeft: '--plasma-segment-item-margin-left',\n\n itemColor: '--plasma-segment-item-color',\n itemBackgroundColor: '--plasma-segment-item-background-color',\n itemColorHover: '--plasma-segment-item-color-hover',\n itemBackgroundColorHover: '--plasma-segment-item-background-color-hover',\n\n itemSelectedColor: '--plasma-segment-item-selected-color',\n itemSelectedBackgroundColor: '--plasma-segment-item-selected-background-color',\n itemSelectedColorHover: '--plasma-segment-item-selected-color-hover',\n itemSelectedBackgroundColorHover: '--plasma-segment-item-selected-background-color-hover',\n\n disabledOpacity: '--plasma-segment-disabled-opacity',\n};\n"],"names":["classes","selectedSegmentItem","segmentPilled","segmentGroupFilledBackground","segmentStretch","tokens","fontFamily","fontSize","fontStyle","fontWeight","letterSpacing","lineHeight","outlineFocusColor","arrowColor","groupBorderRadius","groupPilledBorderRadius","groupWidth","groupHeight","groupBackgroundColor","groupFilledBackgroundColor","itemBorderRadius","itemPilledBorderRadius","itemWidth","itemHeight","itemPadding","itemMarginLeft","itemColor","itemBackgroundColor","itemColorHover","itemBackgroundColorHover","itemSelectedColor","itemSelectedBackgroundColor","itemSelectedColorHover","itemSelectedBackgroundColorHover","disabledOpacity"],"mappings":";;;;AAAO,IAAMA,OAAO,GAAG;AACnBC,EAAAA,mBAAmB,EAAE,uBAAuB;AAC5CC,EAAAA,aAAa,EAAE,gBAAgB;AAC/BC,EAAAA,4BAA4B,EAAE,iCAAiC;AAC/DC,EAAAA,cAAc,EAAE,mBAAA;AACpB,EAAC;AAEM,IAAMC,MAAM,GAAG;AAClBC,EAAAA,UAAU,EAAE,mCAAmC;AAC/CC,EAAAA,QAAQ,EAAE,iCAAiC;AAC3CC,EAAAA,SAAS,EAAE,kCAAkC;AAC7CC,EAAAA,UAAU,EAAE,mCAAmC;AAC/CC,EAAAA,aAAa,EAAE,sCAAsC;AACrDC,EAAAA,UAAU,EAAE,kCAAkC;AAE9CC,EAAAA,iBAAiB,EAAE,sCAAsC;AAEzDC,EAAAA,UAAU,EAAE,8BAA8B;AAE1CC,EAAAA,iBAAiB,EAAE,sCAAsC;AACzDC,EAAAA,uBAAuB,EAAE,6CAA6C;AACtEC,EAAAA,UAAU,EAAE,8BAA8B;AAC1CC,EAAAA,WAAW,EAAE,+BAA+B;AAE5CC,EAAAA,oBAAoB,EAAE,yCAAyC;AAC/DC,EAAAA,0BAA0B,EAAE,gDAAgD;AAE5EC,EAAAA,gBAAgB,EAAE,qCAAqC;AACvDC,EAAAA,sBAAsB,EAAE,4CAA4C;AACpEC,EAAAA,SAAS,EAAE,6BAA6B;AACxCC,EAAAA,UAAU,EAAE,8BAA8B;AAC1CC,EAAAA,WAAW,EAAE,+BAA+B;AAC5CC,EAAAA,cAAc,EAAE,mCAAmC;AAEnDC,EAAAA,SAAS,EAAE,6BAA6B;AACxCC,EAAAA,mBAAmB,EAAE,wCAAwC;AAC7DC,EAAAA,cAAc,EAAE,mCAAmC;AACnDC,EAAAA,wBAAwB,EAAE,8CAA8C;AAExEC,EAAAA,iBAAiB,EAAE,sCAAsC;AACzDC,EAAAA,2BAA2B,EAAE,iDAAiD;AAC9EC,EAAAA,sBAAsB,EAAE,4CAA4C;AACpEC,EAAAA,gCAAgC,EAAE,uDAAuD;AAEzFC,EAAAA,eAAe,EAAE,mCAAA;AACrB;;;;;"}
1
+ {"version":3,"file":"tokens.js","sources":["../../../src/components/Segment/tokens.ts"],"sourcesContent":["export const classes = {\n selectedSegmentItem: 'selected-segment-item',\n segmentPilled: 'segment-pilled',\n segmentGroupFilledBackground: 'segment-group-filled-background',\n segmentStretch: 'segment-stretched',\n segmentVertical: 'segment-vertical',\n segmentArrowPadding: 'segment-arrow-padding',\n segmentGroupClipScroll: 'segment-group-clip-scroll',\n segmentGroupClipShowAll: 'segment-group-clip-show-all',\n};\n\nexport const tokens = {\n fontFamily: '--plasma-segment-item-font-family',\n fontSize: '--plasma-segment-item-font-size',\n fontStyle: '--plasma-segment-item-font-style',\n fontWeight: '--plasma-segment-item-font-weight',\n letterSpacing: '--plasma-segment-item-letter-spacing',\n lineHeight: '--plasma-segment-item-lineheight',\n\n outlineFocusColor: '--plasma-segment-outline-focus-color',\n\n arrowColor: '--plasma-segment-arrow-color',\n\n groupBorderRadius: '--plasma-segment-group-border-radius',\n groupPilledBorderRadius: '--plasma-segment-group-pilled-border-radius',\n groupWidth: '--plasma-segment-group-width',\n groupHeight: '--plasma-segment-group-height',\n groupVerticalHeight: '--plasma-segment-group-vertical-height',\n groupArrowPadding: '--plasma-segment-group-arrow-padding',\n groupVerticalArrowPadding: '--plasma-segment-group-vertical-arrow-padding',\n\n groupBackgroundColor: '--plasma-segment-group-background-color',\n groupFilledBackgroundColor: '--plasma-segment-group-filled-background-color',\n\n itemBorderRadius: '--plasma-segment-item-border-radius',\n itemPilledBorderRadius: '--plasma-segment-item-pilled-border-radius',\n itemWidth: '--plasma-segment-item-width',\n itemHeight: '--plasma-segment-item-height',\n itemPadding: '--plasma-segment-item-padding',\n itemMarginLeft: '--plasma-segment-item-margin-left',\n itemContentPadding: '--plasma-segment-item-content-padding',\n itemIconMargin: '--plasma-segment-item-content-icon-margin',\n\n itemColor: '--plasma-segment-item-color',\n itemBackgroundColor: '--plasma-segment-item-background-color',\n itemColorHover: '--plasma-segment-item-color-hover',\n itemBackgroundColorHover: '--plasma-segment-item-background-color-hover',\n itemAdditionalColor: '--plasma-segment-item-additional-color',\n itemAdditionalColorHover: '--plasma-segment-item-additional-color-hover',\n\n itemSelectedColor: '--plasma-segment-item-selected-color',\n itemSelectedBackgroundColor: '--plasma-segment-item-selected-background-color',\n itemSelectedColorHover: '--plasma-segment-item-selected-color-hover',\n itemSelectedBackgroundColorHover: '--plasma-segment-item-selected-background-color-hover',\n itemSelectedAdditionalColor: '--plasma-segment-item-selected-additional-color',\n itemSelectedAdditionalColorHover: '--plasma-segment-item-selected-additional-color-hover',\n\n disabledOpacity: '--plasma-segment-disabled-opacity',\n};\n"],"names":["classes","selectedSegmentItem","segmentPilled","segmentGroupFilledBackground","segmentStretch","segmentVertical","segmentArrowPadding","segmentGroupClipScroll","segmentGroupClipShowAll","tokens","fontFamily","fontSize","fontStyle","fontWeight","letterSpacing","lineHeight","outlineFocusColor","arrowColor","groupBorderRadius","groupPilledBorderRadius","groupWidth","groupHeight","groupVerticalHeight","groupArrowPadding","groupVerticalArrowPadding","groupBackgroundColor","groupFilledBackgroundColor","itemBorderRadius","itemPilledBorderRadius","itemWidth","itemHeight","itemPadding","itemMarginLeft","itemContentPadding","itemIconMargin","itemColor","itemBackgroundColor","itemColorHover","itemBackgroundColorHover","itemAdditionalColor","itemAdditionalColorHover","itemSelectedColor","itemSelectedBackgroundColor","itemSelectedColorHover","itemSelectedBackgroundColorHover","itemSelectedAdditionalColor","itemSelectedAdditionalColorHover","disabledOpacity"],"mappings":";;;;AAAO,IAAMA,OAAO,GAAG;AACnBC,EAAAA,mBAAmB,EAAE,uBAAuB;AAC5CC,EAAAA,aAAa,EAAE,gBAAgB;AAC/BC,EAAAA,4BAA4B,EAAE,iCAAiC;AAC/DC,EAAAA,cAAc,EAAE,mBAAmB;AACnCC,EAAAA,eAAe,EAAE,kBAAkB;AACnCC,EAAAA,mBAAmB,EAAE,uBAAuB;AAC5CC,EAAAA,sBAAsB,EAAE,2BAA2B;AACnDC,EAAAA,uBAAuB,EAAE,6BAAA;AAC7B,EAAC;AAEM,IAAMC,MAAM,GAAG;AAClBC,EAAAA,UAAU,EAAE,mCAAmC;AAC/CC,EAAAA,QAAQ,EAAE,iCAAiC;AAC3CC,EAAAA,SAAS,EAAE,kCAAkC;AAC7CC,EAAAA,UAAU,EAAE,mCAAmC;AAC/CC,EAAAA,aAAa,EAAE,sCAAsC;AACrDC,EAAAA,UAAU,EAAE,kCAAkC;AAE9CC,EAAAA,iBAAiB,EAAE,sCAAsC;AAEzDC,EAAAA,UAAU,EAAE,8BAA8B;AAE1CC,EAAAA,iBAAiB,EAAE,sCAAsC;AACzDC,EAAAA,uBAAuB,EAAE,6CAA6C;AACtEC,EAAAA,UAAU,EAAE,8BAA8B;AAC1CC,EAAAA,WAAW,EAAE,+BAA+B;AAC5CC,EAAAA,mBAAmB,EAAE,wCAAwC;AAC7DC,EAAAA,iBAAiB,EAAE,sCAAsC;AACzDC,EAAAA,yBAAyB,EAAE,+CAA+C;AAE1EC,EAAAA,oBAAoB,EAAE,yCAAyC;AAC/DC,EAAAA,0BAA0B,EAAE,gDAAgD;AAE5EC,EAAAA,gBAAgB,EAAE,qCAAqC;AACvDC,EAAAA,sBAAsB,EAAE,4CAA4C;AACpEC,EAAAA,SAAS,EAAE,6BAA6B;AACxCC,EAAAA,UAAU,EAAE,8BAA8B;AAC1CC,EAAAA,WAAW,EAAE,+BAA+B;AAC5CC,EAAAA,cAAc,EAAE,mCAAmC;AACnDC,EAAAA,kBAAkB,EAAE,uCAAuC;AAC3DC,EAAAA,cAAc,EAAE,2CAA2C;AAE3DC,EAAAA,SAAS,EAAE,6BAA6B;AACxCC,EAAAA,mBAAmB,EAAE,wCAAwC;AAC7DC,EAAAA,cAAc,EAAE,mCAAmC;AACnDC,EAAAA,wBAAwB,EAAE,8CAA8C;AACxEC,EAAAA,mBAAmB,EAAE,wCAAwC;AAC7DC,EAAAA,wBAAwB,EAAE,8CAA8C;AAExEC,EAAAA,iBAAiB,EAAE,sCAAsC;AACzDC,EAAAA,2BAA2B,EAAE,iDAAiD;AAC9EC,EAAAA,sBAAsB,EAAE,4CAA4C;AACpEC,EAAAA,gCAAgC,EAAE,uDAAuD;AACzFC,EAAAA,2BAA2B,EAAE,iDAAiD;AAC9EC,EAAAA,gCAAgC,EAAE,uDAAuD;AAEzFC,EAAAA,eAAe,EAAE,mCAAA;AACrB;;;;;"}
@@ -12,7 +12,13 @@
12
12
 
13
13
  .base_74wj10_b1bb2stb__3b76a172.base_74wj10_segmentStretched__3b76a172{width:100%;}.base_74wj10_b1bb2stb__3b76a172.base_74wj10_segmentStretched__3b76a172 .base_74wj10_spuzt9m__3b76a172,.base_74wj10_b1bb2stb__3b76a172.base_74wj10_segmentStretched__3b76a172 .base_74wj10_sin9wo2__3b76a172,.base_74wj10_b1bb2stb__3b76a172.base_74wj10_segmentStretched__3b76a172 .base_74wj10_sin9wo2__3b76a172 > button{width:100%;}
14
14
 
15
- .SegmentGroup_styles_m9i9p0_b2sori2__a29c0677{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}
16
- .SegmentGroup_styles_m9i9p0_sin9wo2__a29c0677{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}
17
- .SegmentGroup_styles_m9i9p0_spuzt9m__a29c0677{position:relative;height:100%;margin:0;padding:0.25rem;overflow-x:auto;overflow-y:hidden;-webkit-scroll-behavior:smooth;-moz-scroll-behavior:smooth;-ms-scroll-behavior:smooth;scroll-behavior:smooth;-webkit-scroll-snap-type:x mandatory;-moz-scroll-snap-type:x mandatory;-ms-scroll-snap-type:x mandatory;scroll-snap-type:x mandatory;}.SegmentGroup_styles_m9i9p0_spuzt9m__a29c0677::-webkit-scrollbar{display:none;}
18
- .SegmentGroup_styles_m9i9p0_s1qf4oye__a29c0677{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;cursor:pointer;border:none;background-color:transparent;padding:0;outline:none;position:relative;}.SegmentGroup_styles_m9i9p0_s1qf4oye__a29c0677::before{content:'';position:absolute;top:-0.125rem;left:-0.125rem;right:-0.125rem;bottom:-0.125rem;z-index:1;display:block;box-sizing:content-box;border:0.063rem solid transparent;border-radius:calc(var(--plasma_private-outline-radius) - 0.063rem);-webkit-transition:box-shadow 0.2s ease-in-out;transition:box-shadow 0.2s ease-in-out;pointer-events:none;}.SegmentGroup_styles_m9i9p0_s1qf4oye__a29c0677.SegmentGroup_styles_m9i9p0_focusVisible__a29c0677:focus::before,.SegmentGroup_styles_m9i9p0_s1qf4oye__a29c0677[data-focus-visible-added]::before{outline:none;box-shadow:0 0 0 0.063rem var(--plasma-segment-outline-focus-color);}.SegmentGroup_styles_m9i9p0_s1qf4oye__a29c0677[disabled]{cursor:not-allowed;}
15
+ .base_11agnr_bg914h8__2b2e1bdf.base_11agnr_segmentVertical__2b2e1bdf{-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;max-height:var(--plasma-segment-group-vertical-height);}.base_11agnr_bg914h8__2b2e1bdf.base_11agnr_segmentVertical__2b2e1bdf .base_11agnr_spuzt9m__2b2e1bdf{-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;}.base_11agnr_bg914h8__2b2e1bdf.base_11agnr_segmentVertical__2b2e1bdf .base_11agnr_sin9wo2__2b2e1bdf{-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;}
16
+
17
+ .SegmentGroup_styles_1rr47x4_b2sori2__31ddf97a{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}
18
+ .SegmentGroup_styles_1rr47x4_sin9wo2__31ddf97a{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}
19
+ .SegmentGroup_styles_1rr47x4_spuzt9m__31ddf97a{margin:-0.125rem;padding:0.125rem;box-sizing:content-box;position:relative;height:100%;width:100%;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}.SegmentGroup_styles_1rr47x4_spuzt9m__31ddf97a.SegmentGroup_styles_1rr47x4_segmentGroupClipScroll__31ddf97a{overflow:scroll;-webkit-scroll-padding:0.25rem;-moz-scroll-padding:0.25rem;-ms-scroll-padding:0.25rem;scroll-padding:0.25rem;overscroll-behavior:contain;-webkit-scrollbar-width:none;-moz-scrollbar-width:none;-ms-scrollbar-width:none;scrollbar-width:none;}.SegmentGroup_styles_1rr47x4_spuzt9m__31ddf97a.SegmentGroup_styles_1rr47x4_segmentGroupClipScroll__31ddf97a::-webkit-scrollbar{display:none;}.SegmentGroup_styles_1rr47x4_spuzt9m__31ddf97a.SegmentGroup_styles_1rr47x4_segmentGroupClipShowAll__31ddf97a{overflow:visible;}
20
+ .SegmentGroup_styles_1rr47x4_s1qf4oye__31ddf97a{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;cursor:pointer;border:none;background-color:transparent;outline:none;position:relative;}.SegmentGroup_styles_1rr47x4_s1qf4oye__31ddf97a::before{content:'';position:absolute;top:-0.125rem;left:-0.125rem;right:-0.125rem;bottom:-0.125rem;z-index:1;display:block;box-sizing:content-box;border:0.063rem solid transparent;border-radius:calc(var(--plasma_private-outline-radius) - 0.063rem);-webkit-transition:box-shadow 0.2s ease-in-out;transition:box-shadow 0.2s ease-in-out;pointer-events:none;}.SegmentGroup_styles_1rr47x4_s1qf4oye__31ddf97a.SegmentGroup_styles_1rr47x4_focusVisible__31ddf97a:focus::before,.SegmentGroup_styles_1rr47x4_s1qf4oye__31ddf97a[data-focus-visible-added]::before{outline:none;box-shadow:0 0 0 0.063rem var(--plasma-segment-outline-focus-color);}.SegmentGroup_styles_1rr47x4_s1qf4oye__31ddf97a[disabled]{cursor:not-allowed;}
21
+ .SegmentGroup_styles_1rr47x4_s3pgccr__31ddf97a.SegmentGroup_styles_1rr47x4_s1qf4oye__31ddf97a{padding:var(--plasma-segment-group-arrow-padding);padding-right:0;margin-right:0.1875rem;}
22
+ .SegmentGroup_styles_1rr47x4_sax6mvm__31ddf97a.SegmentGroup_styles_1rr47x4_s1qf4oye__31ddf97a{padding:var(--plasma-segment-group-arrow-padding);padding-left:0;margin-left:0.1875rem;}
23
+ .SegmentGroup_styles_1rr47x4_s1n81rr8__31ddf97a.SegmentGroup_styles_1rr47x4_s1qf4oye__31ddf97a{padding:var(--plasma-segment-group-vertical-arrow-padding);padding-bottom:0;margin-bottom:0.1875rem;}
24
+ .SegmentGroup_styles_1rr47x4_s7ukuvj__31ddf97a.SegmentGroup_styles_1rr47x4_s1qf4oye__31ddf97a{padding:var(--plasma-segment-group-vertical-arrow-padding);padding-top:0;margin-top:0.1875rem;}
@@ -8,6 +8,8 @@ var plasmaCore = require('@salutejs/plasma-core');
8
8
  var IconDisclosureLeft = require('../../../_Icon/Icons/IconDisclosureLeft.js');
9
9
  var IconDisclosureRight = require('../../../_Icon/Icons/IconDisclosureRight.js');
10
10
  require('@linaria/react');
11
+ var IconDisclosureDown = require('../../../_Icon/Icons/IconDisclosureDown.js');
12
+ var IconDisclosureUp = require('../../../_Icon/Icons/IconDisclosureUp.js');
11
13
  var tokens = require('../../tokens.js');
12
14
  var index = require('../../../../utils/index.js');
13
15
  var SegmentProvider = require('../../SegmentProvider/SegmentProvider.js');
@@ -15,17 +17,30 @@ var base = require('./variations/_size/base.js');
15
17
  var base$1 = require('./variations/_view/base.js');
16
18
  var base$2 = require('./variations/_disabled/base.js');
17
19
  var base$3 = require('./variations/_pilled/base.js');
18
- var base$5 = require('./variations/_filledBackgound/base.js');
20
+ var base$6 = require('./variations/_filledBackgound/base.js');
19
21
  var base$4 = require('./variations/_stretch/base.js');
22
+ var base$5 = require('./variations/_vertical/base.js');
20
23
  var SegmentGroup_styles = require('./SegmentGroup.styles.js');
21
24
 
22
- var _excluded = ["id", "selectionMode", "pilled", "stretch", "filledBackground", "disabled", "size", "view", "children"];
25
+ var _excluded = ["id", "selectionMode", "pilled", "stretch", "vertical", "filledBackground", "disabled", "size", "view", "children"];
26
+ var Keys = /*#__PURE__*/function (Keys) {
27
+ Keys[Keys["end"] = 35] = "end";
28
+ Keys[Keys["home"] = 36] = "home";
29
+ Keys[Keys["left"] = 37] = "left";
30
+ Keys[Keys["right"] = 39] = "right";
31
+ return Keys;
32
+ }(Keys || {});
33
+ var getChildNodes = function getChildNodes(wrapper) {
34
+ var container = wrapper === null || wrapper === void 0 ? void 0 : wrapper.firstChild;
35
+ return container ? Array.from(container === null || container === void 0 ? void 0 : container.childNodes) : [];
36
+ };
23
37
  var segmentGroupRoot = function segmentGroupRoot(Root) {
24
38
  return /*#__PURE__*/React.forwardRef(function (props, outerRef) {
25
39
  var id = props.id,
26
40
  selectionMode = props.selectionMode,
27
41
  pilled = props.pilled,
28
42
  stretch = props.stretch,
43
+ vertical = props.vertical,
29
44
  _props$filledBackgrou = props.filledBackground,
30
45
  filledBackground = _props$filledBackgrou === void 0 ? false : _props$filledBackgrou,
31
46
  _props$disabled = props.disabled,
@@ -34,132 +49,189 @@ var segmentGroupRoot = function segmentGroupRoot(Root) {
34
49
  view = props.view,
35
50
  children = props.children,
36
51
  rest = _rollupPluginBabelHelpers.objectWithoutProperties(props, _excluded);
52
+ var scrollRef = React.useRef(null);
53
+ var trackRef = React.useRef(null);
54
+ var leftArrowRef = React.useRef(null);
37
55
  var _useSegmentInner = SegmentProvider.useSegmentInner(),
38
56
  setSelectionMode = _useSegmentInner.setSelectionMode,
39
57
  setDisabledGroup = _useSegmentInner.setDisabledGroup;
40
- var _useState = React.useState(0),
58
+ var _useState = React.useState(true),
41
59
  _useState2 = _rollupPluginBabelHelpers.slicedToArray(_useState, 2),
42
- index$1 = _useState2[0],
43
- setIndex = _useState2[1];
44
- var _useState3 = React.useState(false),
60
+ firstItemVisible = _useState2[0],
61
+ setFirstItemVisible = _useState2[1];
62
+ var _useState3 = React.useState(true),
45
63
  _useState4 = _rollupPluginBabelHelpers.slicedToArray(_useState3, 2),
46
- firstItemVisible = _useState4[0],
47
- setFirstItemVisible = _useState4[1];
48
- var _useState5 = React.useState(false),
49
- _useState6 = _rollupPluginBabelHelpers.slicedToArray(_useState5, 2),
50
- lastItemVisible = _useState6[0],
51
- setLastItemVisible = _useState6[1];
64
+ lastItemVisible = _useState4[0],
65
+ setLastItemVisible = _useState4[1];
52
66
  var uniqId = plasmaCore.safeUseId();
53
67
  var segmentGroupId = id || uniqId;
54
68
  var pilledAttr = view !== 'clear' && pilled;
55
69
  var filledBackgroundAttr = view !== 'clear' && filledBackground;
70
+ var clipScrollClass = !stretch ? tokens.classes.segmentGroupClipScroll : undefined;
71
+ var clipShowAllClass = stretch ? tokens.classes.segmentGroupClipShowAll : undefined;
56
72
  var pilledClass = pilledAttr ? tokens.classes.segmentPilled : undefined;
57
73
  var filledClass = filledBackgroundAttr ? tokens.classes.segmentGroupFilledBackground : undefined;
58
74
  var stretchClass = firstItemVisible && lastItemVisible && stretch ? tokens.classes.segmentStretch : undefined;
59
- var items = (React.Children === null || React.Children === void 0 ? void 0 : React.Children.map(children, function (child) {
60
- return child;
61
- })) || [];
75
+ var verticalClass = vertical ? tokens.classes.segmentVertical : undefined;
62
76
  var onPrev = React.useCallback(function () {
63
- !disabled && setIndex(function (prevIndex) {
64
- return prevIndex > 0 ? prevIndex - 1 : 0;
77
+ if (disabled || !scrollRef.current) {
78
+ return;
79
+ }
80
+ var childNodes = getChildNodes(scrollRef.current);
81
+ var scrollLeft = Math.round(scrollRef.current.scrollLeft);
82
+ var firstOverflowingTab = childNodes.slice().reverse().find(function (child) {
83
+ if (!child || child.offsetLeft === undefined) {
84
+ return;
85
+ }
86
+ var tabStartX = child.offsetLeft;
87
+ return tabStartX < scrollLeft;
65
88
  });
66
- }, [disabled]);
89
+ firstOverflowingTab === null || firstOverflowingTab === void 0 || firstOverflowingTab.scrollIntoView({
90
+ block: 'nearest',
91
+ inline: 'nearest'
92
+ });
93
+ }, [disabled, scrollRef]);
67
94
  var onNext = React.useCallback(function () {
68
- !disabled && setIndex(function (prevIndex) {
69
- return prevIndex < items.length - 1 ? prevIndex + 1 : prevIndex;
95
+ if (disabled || !scrollRef.current) {
96
+ return;
97
+ }
98
+ var scrollRight = Math.round(scrollRef.current.scrollLeft + scrollRef.current.clientWidth);
99
+ var childNodes = getChildNodes(scrollRef.current);
100
+ var lastOverflowingChild = childNodes.find(function (child) {
101
+ if (!child || child.offsetLeft === undefined) {
102
+ return;
103
+ }
104
+ var tabEndX = child.offsetLeft + child.offsetWidth;
105
+ return tabEndX > scrollRight;
70
106
  });
71
- }, [disabled]);
72
- var onIntersecting = function onIntersecting(setVisible) {
73
- return function (entries) {
74
- /*
75
- * Пробегаемся по элементам на которых есть слушатель события появления.
76
- * Если элемент находится в зоне видимости или выходит из нее, меняем значение флага видимости
77
- */
78
- entries.forEach(function (entry) {
79
- if (entry.isIntersecting) {
80
- setVisible(true);
81
- } else {
82
- setVisible(false);
83
- }
107
+ lastOverflowingChild === null || lastOverflowingChild === void 0 || lastOverflowingChild.scrollIntoView({
108
+ block: 'nearest',
109
+ inline: 'nearest'
110
+ });
111
+ }, [disabled, scrollRef]);
112
+ var onKeyDown = React.useCallback(function (event) {
113
+ var childNodes = getChildNodes(scrollRef === null || scrollRef === void 0 ? void 0 : scrollRef.current);
114
+ var index = childNodes.findIndex(function (child) {
115
+ return document.activeElement === child;
116
+ });
117
+ var minIndex = 0;
118
+ var maxIndex = childNodes.length - 1;
119
+ var nextIndex;
120
+ switch (event.keyCode) {
121
+ case Keys.end:
122
+ nextIndex = maxIndex;
123
+ break;
124
+ case Keys.left:
125
+ nextIndex = index > minIndex ? index - 1 : index;
126
+ break;
127
+ case Keys.right:
128
+ nextIndex = index < maxIndex ? index + 1 : index;
129
+ break;
130
+ case Keys.home:
131
+ nextIndex = minIndex;
132
+ break;
133
+ default:
134
+ return;
135
+ }
136
+ if (nextIndex !== index) {
137
+ var _childNodes$nextIndex, _childNodes$nextIndex2;
138
+ event.preventDefault();
139
+ (_childNodes$nextIndex = childNodes[nextIndex]) === null || _childNodes$nextIndex === void 0 || _childNodes$nextIndex.focus();
140
+ (_childNodes$nextIndex2 = childNodes[nextIndex]) === null || _childNodes$nextIndex2 === void 0 || _childNodes$nextIndex2.scrollIntoView({
141
+ block: 'center',
142
+ inline: 'center',
143
+ behavior: 'smooth'
84
144
  });
85
- };
86
- };
87
- var _useCarousel = plasmaCore.useCarousel({
88
- index: index$1,
89
- axis: 'x',
90
- scrollAlign: 'start',
91
- detectActive: true,
92
- debounceMs: 250,
93
- onIndexChange: setIndex
94
- }),
95
- scrollRef = _useCarousel.scrollRef,
96
- trackRef = _useCarousel.trackRef;
145
+ }
146
+ }, []);
147
+ var handleScroll = React.useCallback(function (event) {
148
+ event.stopPropagation();
149
+ if (vertical) {
150
+ var maxScrollTop = event.currentTarget.scrollHeight - event.currentTarget.clientHeight;
151
+ var scrollTop = Math.round(event.currentTarget.scrollTop);
152
+ setFirstItemVisible(scrollTop <= 0);
153
+ setLastItemVisible(scrollTop >= maxScrollTop);
154
+ return;
155
+ }
156
+ var maxScrollLeft = event.currentTarget.scrollWidth - event.currentTarget.clientWidth;
157
+ var scrollLeft = Math.round(event.currentTarget.scrollLeft);
158
+ setFirstItemVisible(scrollLeft <= 0);
159
+ setLastItemVisible(scrollLeft >= maxScrollLeft);
160
+ }, [vertical]);
161
+ React.useEffect(function () {
162
+ var _scrollRef$current3, _scrollRef$current4;
163
+ if (vertical) {
164
+ var _scrollRef$current, _scrollRef$current2;
165
+ 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));
166
+ return;
167
+ }
168
+ 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));
169
+ }, [vertical]);
170
+
171
+ // Этот хук компенсирует появление левой/верхней стрелки при прокрутке
172
+ React.useEffect(function () {
173
+ if (firstItemVisible || !scrollRef.current || !leftArrowRef.current) {
174
+ return;
175
+ }
176
+ if (vertical) {
177
+ scrollRef.current.scrollTo({
178
+ top: Math.round(scrollRef.current.scrollTop + leftArrowRef.current.clientHeight)
179
+ });
180
+ return;
181
+ }
182
+ scrollRef.current.scrollTo({
183
+ left: Math.round(scrollRef.current.scrollLeft + leftArrowRef.current.clientWidth)
184
+ });
185
+ }, [firstItemVisible, vertical]);
97
186
  var PreviousButton = React.useMemo(function () {
98
- return /*#__PURE__*/React.createElement(SegmentGroup_styles.StyledArrow, {
187
+ var ArrowNode = vertical ? SegmentGroup_styles.StyledTopArrow : SegmentGroup_styles.StyledLeftArrow;
188
+ return /*#__PURE__*/React.createElement(ArrowNode, {
99
189
  type: "button",
100
190
  "aria-label": "\u041F\u0440\u0435\u0434\u044B\u0434\u0443\u0449\u0438\u0439 \u0441\u0435\u0433\u043C\u0435\u043D\u0442",
101
191
  onClick: onPrev,
102
192
  tabIndex: disabled ? -1 : 0,
103
193
  disabled: disabled
104
- }, /*#__PURE__*/React.createElement(IconDisclosureLeft.IconDisclosureLeft, {
194
+ }, vertical ? /*#__PURE__*/React.createElement(IconDisclosureUp.IconDisclosureUp, {
195
+ color: "var(".concat(tokens.tokens.arrowColor, ")"),
196
+ size: "s"
197
+ }) : /*#__PURE__*/React.createElement(IconDisclosureLeft.IconDisclosureLeft, {
105
198
  color: "var(".concat(tokens.tokens.arrowColor, ")")
106
199
  }));
107
- }, [onPrev]);
200
+ }, [onPrev, vertical]);
108
201
  var NextButton = React.useMemo(function () {
109
- return /*#__PURE__*/React.createElement(SegmentGroup_styles.StyledArrow, {
202
+ var ArrowNode = vertical ? SegmentGroup_styles.StyledBottomArrow : SegmentGroup_styles.StyledRightArrow;
203
+ return /*#__PURE__*/React.createElement(ArrowNode, {
110
204
  type: "button",
111
205
  "aria-label": "\u0421\u043B\u0435\u0434\u0443\u044E\u0449\u0438\u0439 \u0441\u0435\u0433\u043C\u0435\u043D\u0442",
112
206
  onClick: onNext,
113
207
  tabIndex: disabled ? -1 : 0,
114
208
  disabled: disabled
115
- }, /*#__PURE__*/React.createElement(IconDisclosureRight.IconDisclosureRight, {
209
+ }, vertical ? /*#__PURE__*/React.createElement(IconDisclosureDown.IconDisclosureDown, {
210
+ color: "var(".concat(tokens.tokens.arrowColor, ")"),
211
+ size: "s"
212
+ }) : /*#__PURE__*/React.createElement(IconDisclosureRight.IconDisclosureRight, {
116
213
  color: "var(".concat(tokens.tokens.arrowColor, ")")
117
214
  }));
118
- }, [onNext]);
215
+ }, [onNext, vertical]);
119
216
  React.useEffect(function () {
120
217
  selectionMode && setSelectionMode(selectionMode);
121
218
  setDisabledGroup(disabled);
122
219
  }, [selectionMode, disabled]);
123
- React.useEffect(function () {
124
- var _trackRef$current;
125
- // Intersection observer для первого сегмента
126
- var observeFirstItem = new IntersectionObserver(onIntersecting(setFirstItemVisible), {
127
- root: null,
128
- rootMargin: '0px',
129
- threshold: 0.5
130
- });
131
-
132
- // Intersection observer для последнего сегмента
133
- var observeLastItem = new IntersectionObserver(onIntersecting(setLastItemVisible), {
134
- root: null,
135
- rootMargin: '0px',
136
- threshold: 0.5
137
- });
138
-
139
- // получаем список сегментов внутри SegmentGroup
140
- var childrenArray = Array.from(((_trackRef$current = trackRef.current) === null || _trackRef$current === void 0 ? void 0 : _trackRef$current.children) || []);
141
- if (childrenArray.length) {
142
- // подписываемся на событие появление внутри SegmentGroup
143
- observeFirstItem.observe(childrenArray[0]);
144
- observeLastItem.observe(childrenArray[childrenArray.length - 1]);
145
- }
146
- return function () {
147
- // отписываемся от события появления внутри SegmentGroup
148
- observeFirstItem.disconnect();
149
- observeLastItem.disconnect();
150
- };
151
- }, [children]);
152
220
  return /*#__PURE__*/React.createElement(Root, _rollupPluginBabelHelpers.extends({
153
221
  view: view,
154
222
  size: size,
223
+ vertical: vertical,
155
224
  id: segmentGroupId,
156
225
  ref: outerRef,
157
226
  filledBackground: filledBackgroundAttr,
158
227
  disabled: disabled,
159
228
  pilled: pilledAttr,
160
- className: index.cx(pilledClass, filledClass, stretchClass)
229
+ className: index.cx(pilledClass, filledClass, stretchClass, verticalClass),
230
+ onKeyDown: onKeyDown
161
231
  }, rest), !firstItemVisible && PreviousButton, /*#__PURE__*/React.createElement(SegmentGroup_styles.StyledContentWrapper, {
162
- ref: scrollRef
232
+ className: index.cx(clipScrollClass, clipShowAllClass),
233
+ ref: scrollRef,
234
+ onScroll: handleScroll
163
235
  }, /*#__PURE__*/React.createElement(SegmentGroup_styles.StyledContent, {
164
236
  ref: trackRef
165
237
  }, children)), !lastItemVisible && NextButton);
@@ -189,9 +261,13 @@ var segmentGroupConfig = {
189
261
  css: base$4.base,
190
262
  attrs: true
191
263
  },
192
- filledBackground: {
264
+ vertical: {
193
265
  css: base$5.base,
194
266
  attrs: true
267
+ },
268
+ filledBackground: {
269
+ css: base$6.base,
270
+ attrs: true
195
271
  }
196
272
  },
197
273
  defaults: {
@@ -200,6 +276,7 @@ var segmentGroupConfig = {
200
276
  }
201
277
  };
202
278
 
279
+ exports.getChildNodes = getChildNodes;
203
280
  exports.segmentGroupConfig = segmentGroupConfig;
204
281
  exports.segmentGroupRoot = segmentGroupRoot;
205
282
  //# sourceMappingURL=SegmentGroup.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SegmentGroup.js","sources":["../../../../../src/components/Segment/ui/SegmentGroup/SegmentGroup.tsx"],"sourcesContent":["import React, { forwardRef, useCallback, useMemo, useState, Children, useEffect } from 'react';\nimport type { SetStateAction, RefObject, MutableRefObject } from 'react';\nimport { safeUseId, useCarousel } from '@salutejs/plasma-core';\n\nimport type { RootProps } from '../../../../engines/types';\nimport { IconDisclosureLeft, IconDisclosureRight } from '../../../_Icon';\nimport { classes, tokens } from '../../tokens';\nimport { cx } from '../../../../utils';\nimport { useSegmentInner } from '../../SegmentProvider/SegmentProvider';\n\nimport { base as sizeCSS } from './variations/_size/base';\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as disabledCSS } from './variations/_disabled/base';\nimport { base as pilledCSS } from './variations/_pilled/base';\nimport { base as filledBackgroundCSS } from './variations/_filledBackgound/base';\nimport { base as stretchCSS } from './variations/_stretch/base';\nimport type { SegmentGroupProps } from './SegmentGroup.types';\nimport { StyledArrow, StyledContent, StyledContentWrapper, base } from './SegmentGroup.styles';\n\nexport const segmentGroupRoot = (Root: RootProps<HTMLDivElement, SegmentGroupProps>) =>\n forwardRef<HTMLDivElement, SegmentGroupProps>((props, outerRef) => {\n const {\n id,\n selectionMode,\n pilled,\n stretch,\n filledBackground = false,\n disabled = false,\n size,\n view,\n children,\n ...rest\n } = props;\n\n const { setSelectionMode, setDisabledGroup } = useSegmentInner();\n\n const [index, setIndex] = useState(0);\n const [firstItemVisible, setFirstItemVisible] = useState(false);\n const [lastItemVisible, setLastItemVisible] = useState(false);\n\n const uniqId = safeUseId();\n const segmentGroupId = id || uniqId;\n\n const pilledAttr = view !== 'clear' && pilled;\n const filledBackgroundAttr = view !== 'clear' && filledBackground;\n const pilledClass = pilledAttr ? classes.segmentPilled : undefined;\n const filledClass = filledBackgroundAttr ? classes.segmentGroupFilledBackground : undefined;\n const stretchClass = firstItemVisible && lastItemVisible && stretch ? classes.segmentStretch : undefined;\n\n const items = Children?.map(children, (child) => child) || [];\n\n const onPrev = useCallback(() => {\n !disabled && setIndex((prevIndex) => (prevIndex > 0 ? prevIndex - 1 : 0));\n }, [disabled]);\n\n const onNext = useCallback(() => {\n !disabled && setIndex((prevIndex) => (prevIndex < items.length - 1 ? prevIndex + 1 : prevIndex));\n }, [disabled]);\n\n const onIntersecting = (setVisible: (value: SetStateAction<boolean>) => void) => (\n entries: IntersectionObserverEntry[],\n ) => {\n /*\n * Пробегаемся по элементам на которых есть слушатель события появления.\n * Если элемент находится в зоне видимости или выходит из нее, меняем значение флага видимости\n */\n entries.forEach((entry) => {\n if (entry.isIntersecting) {\n setVisible(true);\n } else {\n setVisible(false);\n }\n });\n };\n\n const { scrollRef, trackRef } = useCarousel({\n index,\n axis: 'x',\n scrollAlign: 'start',\n detectActive: true,\n debounceMs: 250,\n onIndexChange: setIndex,\n });\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 >\n <IconDisclosureLeft color={`var(${tokens.arrowColor})`} />\n </StyledArrow>\n ),\n [onPrev],\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 >\n <IconDisclosureRight color={`var(${tokens.arrowColor})`} />\n </StyledArrow>\n ),\n [onNext],\n );\n\n useEffect(() => {\n selectionMode && setSelectionMode(selectionMode);\n setDisabledGroup(disabled);\n }, [selectionMode, disabled]);\n\n useEffect(() => {\n // Intersection observer для первого сегмента\n const observeFirstItem = new IntersectionObserver(onIntersecting(setFirstItemVisible), {\n root: null,\n rootMargin: '0px',\n threshold: 0.5,\n });\n\n // Intersection observer для последнего сегмента\n const observeLastItem = new IntersectionObserver(onIntersecting(setLastItemVisible), {\n root: null,\n rootMargin: '0px',\n threshold: 0.5,\n });\n\n // получаем список сегментов внутри SegmentGroup\n const childrenArray = Array.from(trackRef.current?.children || []) as Array<Element>;\n if (childrenArray.length) {\n // подписываемся на событие появление внутри SegmentGroup\n observeFirstItem.observe(childrenArray[0]);\n observeLastItem.observe(childrenArray[childrenArray.length - 1]);\n }\n\n return () => {\n // отписываемся от события появления внутри SegmentGroup\n observeFirstItem.disconnect();\n observeLastItem.disconnect();\n };\n }, [children]);\n\n return (\n <Root\n view={view}\n size={size}\n id={segmentGroupId}\n ref={outerRef}\n filledBackground={filledBackgroundAttr}\n disabled={disabled}\n pilled={pilledAttr}\n className={cx(pilledClass, filledClass, stretchClass)}\n {...rest}\n >\n {!firstItemVisible && PreviousButton}\n <StyledContentWrapper ref={scrollRef as RefObject<HTMLDivElement>}>\n <StyledContent ref={trackRef as MutableRefObject<HTMLDivElement | null>}>{children}</StyledContent>\n </StyledContentWrapper>\n {!lastItemVisible && NextButton}\n </Root>\n );\n });\n\nexport const segmentGroupConfig = {\n name: 'SegmentGroup',\n tag: 'div',\n layout: segmentGroupRoot,\n base,\n variations: {\n size: {\n css: sizeCSS,\n },\n view: {\n css: viewCSS,\n },\n disabled: {\n css: disabledCSS,\n attrs: true,\n },\n pilled: {\n css: pilledCSS,\n attrs: true,\n },\n stretch: {\n css: stretchCSS,\n attrs: true,\n },\n filledBackground: {\n css: filledBackgroundCSS,\n attrs: true,\n },\n },\n defaults: {\n view: 'clear',\n size: 'xs',\n },\n};\n"],"names":["segmentGroupRoot","Root","forwardRef","props","outerRef","id","selectionMode","pilled","stretch","_props$filledBackgrou","filledBackground","_props$disabled","disabled","size","view","children","rest","_objectWithoutProperties","_excluded","_useSegmentInner","useSegmentInner","setSelectionMode","setDisabledGroup","_useState","useState","_useState2","_slicedToArray","index","setIndex","_useState3","_useState4","firstItemVisible","setFirstItemVisible","_useState5","_useState6","lastItemVisible","setLastItemVisible","uniqId","safeUseId","segmentGroupId","pilledAttr","filledBackgroundAttr","pilledClass","classes","segmentPilled","undefined","filledClass","segmentGroupFilledBackground","stretchClass","segmentStretch","items","Children","map","child","onPrev","useCallback","prevIndex","onNext","length","onIntersecting","setVisible","entries","forEach","entry","isIntersecting","_useCarousel","useCarousel","axis","scrollAlign","detectActive","debounceMs","onIndexChange","scrollRef","trackRef","PreviousButton","useMemo","React","createElement","StyledArrow","type","onClick","tabIndex","IconDisclosureLeft","color","concat","tokens","arrowColor","NextButton","IconDisclosureRight","useEffect","_trackRef$current","observeFirstItem","IntersectionObserver","root","rootMargin","threshold","observeLastItem","childrenArray","Array","from","current","observe","disconnect","_extends","ref","className","cx","StyledContentWrapper","StyledContent","segmentGroupConfig","name","tag","layout","base","variations","css","sizeCSS","viewCSS","disabledCSS","attrs","pilledCSS","stretchCSS","filledBackgroundCSS","defaults"],"mappings":"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"}
1
+ {"version":3,"file":"SegmentGroup.js","sources":["../../../../../src/components/Segment/ui/SegmentGroup/SegmentGroup.tsx"],"sourcesContent":["import React, { forwardRef, useCallback, useMemo, useState, useEffect, useRef, KeyboardEvent } from 'react';\nimport type { RefObject, MutableRefObject } from 'react';\nimport { safeUseId } from '@salutejs/plasma-core';\n\nimport type { RootProps } from '../../../../engines/types';\nimport { IconDisclosureLeft, IconDisclosureRight, IconDisclosureDown, IconDisclosureUp } from '../../../_Icon';\nimport { classes, tokens } from '../../tokens';\nimport { cx } from '../../../../utils';\nimport { useSegmentInner } from '../../SegmentProvider/SegmentProvider';\n\nimport { base as sizeCSS } from './variations/_size/base';\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as disabledCSS } from './variations/_disabled/base';\nimport { base as pilledCSS } from './variations/_pilled/base';\nimport { base as filledBackgroundCSS } from './variations/_filledBackgound/base';\nimport { base as stretchCSS } from './variations/_stretch/base';\nimport { base as verticalCSS } from './variations/_vertical/base';\nimport type { SegmentGroupProps } from './SegmentGroup.types';\nimport {\n StyledContent,\n StyledContentWrapper,\n base,\n StyledLeftArrow,\n StyledRightArrow,\n StyledTopArrow,\n StyledBottomArrow,\n} from './SegmentGroup.styles';\n\nenum Keys {\n end = 35,\n home = 36,\n left = 37,\n right = 39,\n}\n\nexport const getChildNodes = (wrapper: HTMLElement | null) => {\n const container = wrapper?.firstChild;\n return container ? (Array.from(container?.childNodes) as HTMLElement[]) : [];\n};\nexport const segmentGroupRoot = (Root: RootProps<HTMLDivElement, SegmentGroupProps>) =>\n forwardRef<HTMLDivElement, SegmentGroupProps>((props, outerRef) => {\n const {\n id,\n selectionMode,\n pilled,\n stretch,\n vertical,\n filledBackground = false,\n disabled = false,\n size,\n view,\n children,\n ...rest\n } = props;\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 { setSelectionMode, setDisabledGroup } = useSegmentInner();\n\n const [firstItemVisible, setFirstItemVisible] = useState(true);\n const [lastItemVisible, setLastItemVisible] = useState(true);\n\n const uniqId = safeUseId();\n const segmentGroupId = id || uniqId;\n\n const pilledAttr = view !== 'clear' && pilled;\n const filledBackgroundAttr = view !== 'clear' && filledBackground;\n\n const clipScrollClass = !stretch ? classes.segmentGroupClipScroll : undefined;\n const clipShowAllClass = stretch ? classes.segmentGroupClipShowAll : undefined;\n const pilledClass = pilledAttr ? classes.segmentPilled : undefined;\n const filledClass = filledBackgroundAttr ? classes.segmentGroupFilledBackground : undefined;\n const stretchClass = firstItemVisible && lastItemVisible && stretch ? classes.segmentStretch : undefined;\n const verticalClass = vertical ? classes.segmentVertical : undefined;\n\n const onPrev = useCallback(() => {\n if (disabled || !scrollRef.current) {\n return;\n }\n\n const childNodes = getChildNodes(scrollRef.current);\n\n const scrollLeft = Math.round(scrollRef.current.scrollLeft);\n const firstOverflowingTab = childNodes\n .slice()\n .reverse()\n .find((child: HTMLElement | null) => {\n if (!child || child.offsetLeft === undefined) {\n return;\n }\n const tabStartX = child.offsetLeft;\n\n return tabStartX < scrollLeft;\n });\n\n firstOverflowingTab?.scrollIntoView({ block: 'nearest', inline: 'nearest' });\n }, [disabled, scrollRef]);\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\n const childNodes = getChildNodes(scrollRef.current);\n\n const lastOverflowingChild = childNodes.find((child) => {\n if (!child || child.offsetLeft === undefined) {\n return;\n }\n const tabEndX = child.offsetLeft + child.offsetWidth;\n\n return tabEndX > scrollRight;\n });\n\n lastOverflowingChild?.scrollIntoView({ block: 'nearest', inline: 'nearest' });\n }, [disabled, scrollRef]);\n\n const onKeyDown = useCallback((event: KeyboardEvent<HTMLDivElement>) => {\n const childNodes = getChildNodes(scrollRef?.current);\n\n const index = childNodes.findIndex((child) => document.activeElement === child);\n\n const minIndex = 0;\n const maxIndex = childNodes.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 childNodes[nextIndex]?.focus();\n childNodes[nextIndex]?.scrollIntoView({\n block: 'center',\n inline: 'center',\n behavior: 'smooth',\n });\n }\n }, []);\n\n const handleScroll = useCallback(\n (event: React.UIEvent<HTMLElement>): void => {\n event.stopPropagation();\n\n if (vertical) {\n const maxScrollTop = event.currentTarget.scrollHeight - event.currentTarget.clientHeight;\n const scrollTop = Math.round(event.currentTarget.scrollTop);\n\n setFirstItemVisible(scrollTop <= 0);\n setLastItemVisible(scrollTop >= maxScrollTop);\n return;\n }\n\n const maxScrollLeft = event.currentTarget.scrollWidth - event.currentTarget.clientWidth;\n const scrollLeft = Math.round(event.currentTarget.scrollLeft);\n\n setFirstItemVisible(scrollLeft <= 0);\n setLastItemVisible(scrollLeft >= maxScrollLeft);\n },\n [vertical],\n );\n\n useEffect(() => {\n if (vertical) {\n setLastItemVisible(scrollRef.current?.scrollHeight === scrollRef.current?.clientHeight);\n return;\n }\n setLastItemVisible(scrollRef.current?.scrollWidth === scrollRef.current?.clientWidth);\n }, [vertical]);\n\n // Этот хук компенсирует появление левой/верхней стрелки при прокрутке\n useEffect(() => {\n if (firstItemVisible || !scrollRef.current || !leftArrowRef.current) {\n return;\n }\n\n if (vertical) {\n scrollRef.current.scrollTo({\n top: Math.round(scrollRef.current.scrollTop + leftArrowRef.current.clientHeight),\n });\n return;\n }\n\n scrollRef.current.scrollTo({\n left: Math.round(scrollRef.current.scrollLeft + leftArrowRef.current.clientWidth),\n });\n }, [firstItemVisible, vertical]);\n\n const PreviousButton = useMemo(() => {\n const ArrowNode = vertical ? StyledTopArrow : StyledLeftArrow;\n return (\n <ArrowNode\n type=\"button\"\n aria-label=\"Предыдущий сегмент\"\n onClick={onPrev}\n tabIndex={disabled ? -1 : 0}\n disabled={disabled}\n >\n {vertical ? (\n <IconDisclosureUp color={`var(${tokens.arrowColor})`} size=\"s\" />\n ) : (\n <IconDisclosureLeft color={`var(${tokens.arrowColor})`} />\n )}\n </ArrowNode>\n );\n }, [onPrev, vertical]);\n\n const NextButton = useMemo(() => {\n const ArrowNode = vertical ? StyledBottomArrow : StyledRightArrow;\n return (\n <ArrowNode\n type=\"button\"\n aria-label=\"Следующий сегмент\"\n onClick={onNext}\n tabIndex={disabled ? -1 : 0}\n disabled={disabled}\n >\n {vertical ? (\n <IconDisclosureDown color={`var(${tokens.arrowColor})`} size=\"s\" />\n ) : (\n <IconDisclosureRight color={`var(${tokens.arrowColor})`} />\n )}\n </ArrowNode>\n );\n }, [onNext, vertical]);\n\n useEffect(() => {\n selectionMode && setSelectionMode(selectionMode);\n setDisabledGroup(disabled);\n }, [selectionMode, disabled]);\n\n return (\n <Root\n view={view}\n size={size}\n vertical={vertical}\n id={segmentGroupId}\n ref={outerRef}\n filledBackground={filledBackgroundAttr}\n disabled={disabled}\n pilled={pilledAttr}\n className={cx(pilledClass, filledClass, stretchClass, verticalClass)}\n onKeyDown={onKeyDown}\n {...rest}\n >\n {!firstItemVisible && PreviousButton}\n <StyledContentWrapper\n className={cx(clipScrollClass, clipShowAllClass)}\n ref={scrollRef as RefObject<HTMLDivElement>}\n onScroll={handleScroll}\n >\n <StyledContent ref={trackRef as MutableRefObject<HTMLDivElement | null>}>{children}</StyledContent>\n </StyledContentWrapper>\n {!lastItemVisible && NextButton}\n </Root>\n );\n });\n\nexport const segmentGroupConfig = {\n name: 'SegmentGroup',\n tag: 'div',\n layout: segmentGroupRoot,\n base,\n variations: {\n size: {\n css: sizeCSS,\n },\n view: {\n css: viewCSS,\n },\n disabled: {\n css: disabledCSS,\n attrs: true,\n },\n pilled: {\n css: pilledCSS,\n attrs: true,\n },\n stretch: {\n css: stretchCSS,\n attrs: true,\n },\n vertical: {\n css: verticalCSS,\n attrs: true,\n },\n filledBackground: {\n css: filledBackgroundCSS,\n attrs: true,\n },\n },\n defaults: {\n view: 'clear',\n size: 'xs',\n },\n};\n"],"names":["Keys","getChildNodes","wrapper","container","firstChild","Array","from","childNodes","segmentGroupRoot","Root","forwardRef","props","outerRef","id","selectionMode","pilled","stretch","vertical","_props$filledBackgrou","filledBackground","_props$disabled","disabled","size","view","children","rest","_objectWithoutProperties","_excluded","scrollRef","useRef","trackRef","leftArrowRef","_useSegmentInner","useSegmentInner","setSelectionMode","setDisabledGroup","_useState","useState","_useState2","_slicedToArray","firstItemVisible","setFirstItemVisible","_useState3","_useState4","lastItemVisible","setLastItemVisible","uniqId","safeUseId","segmentGroupId","pilledAttr","filledBackgroundAttr","clipScrollClass","classes","segmentGroupClipScroll","undefined","clipShowAllClass","segmentGroupClipShowAll","pilledClass","segmentPilled","filledClass","segmentGroupFilledBackground","stretchClass","segmentStretch","verticalClass","segmentVertical","onPrev","useCallback","current","scrollLeft","Math","round","firstOverflowingTab","slice","reverse","find","child","offsetLeft","tabStartX","scrollIntoView","block","inline","onNext","scrollRight","clientWidth","lastOverflowingChild","tabEndX","offsetWidth","onKeyDown","event","index","findIndex","document","activeElement","minIndex","maxIndex","length","nextIndex","keyCode","end","left","right","home","_childNodes$nextIndex","_childNodes$nextIndex2","preventDefault","focus","behavior","handleScroll","stopPropagation","maxScrollTop","currentTarget","scrollHeight","clientHeight","scrollTop","maxScrollLeft","scrollWidth","useEffect","_scrollRef$current3","_scrollRef$current4","_scrollRef$current","_scrollRef$current2","scrollTo","top","PreviousButton","useMemo","ArrowNode","StyledTopArrow","StyledLeftArrow","React","createElement","type","onClick","tabIndex","IconDisclosureUp","color","concat","tokens","arrowColor","IconDisclosureLeft","NextButton","StyledBottomArrow","StyledRightArrow","IconDisclosureDown","IconDisclosureRight","_extends","ref","className","cx","StyledContentWrapper","onScroll","StyledContent","segmentGroupConfig","name","tag","layout","base","variations","css","sizeCSS","viewCSS","disabledCSS","attrs","pilledCSS","stretchCSS","verticalCSS","filledBackgroundCSS","defaults"],"mappings":"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"}