@salutejs/plasma-new-hope 0.148.0-canary.1392.10920536997.0 → 0.148.0-canary.1418.10918226755.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (353) 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/Mask/Mask.js +46 -0
  8. package/cjs/components/Mask/Mask.js.map +1 -0
  9. package/cjs/components/Segment/tokens.js +1 -15
  10. package/cjs/components/Segment/tokens.js.map +1 -1
  11. package/cjs/components/Segment/ui/SegmentGroup/SegmentGroup.css +4 -10
  12. package/cjs/components/Segment/ui/SegmentGroup/SegmentGroup.js +86 -169
  13. package/cjs/components/Segment/ui/SegmentGroup/SegmentGroup.js.map +1 -1
  14. package/cjs/components/Segment/ui/SegmentGroup/SegmentGroup.styles.js +1 -37
  15. package/cjs/components/Segment/ui/SegmentGroup/SegmentGroup.styles.js.map +1 -1
  16. package/cjs/components/Segment/ui/SegmentGroup/SegmentGroup.styles_m9i9p0.css +4 -0
  17. package/cjs/components/Segment/ui/SegmentItem/SegmentItem.css +4 -8
  18. package/cjs/components/Segment/ui/SegmentItem/SegmentItem.js +4 -11
  19. package/cjs/components/Segment/ui/SegmentItem/SegmentItem.js.map +1 -1
  20. package/cjs/components/Segment/ui/SegmentItem/SegmentItem.styles.js +2 -31
  21. package/cjs/components/Segment/ui/SegmentItem/SegmentItem.styles.js.map +1 -1
  22. package/cjs/components/Segment/ui/SegmentItem/SegmentItem.styles_18h1p52.css +2 -0
  23. package/cjs/components/Segment/ui/SegmentItem/variations/_pilled/base.js +1 -1
  24. package/cjs/components/Segment/ui/SegmentItem/variations/_pilled/base.js.map +1 -1
  25. package/cjs/components/Segment/ui/SegmentItem/variations/_pilled/{base_omc5u1.css → base_15s0fel.css} +1 -1
  26. package/cjs/components/Segment/ui/SegmentItem/variations/_view/base.js +1 -1
  27. package/cjs/components/Segment/ui/SegmentItem/variations/_view/base.js.map +1 -1
  28. package/cjs/components/Segment/ui/SegmentItem/variations/_view/base_1m1u2ys.css +1 -0
  29. package/cjs/components/Tabs/ui/Tabs/Tabs.js +6 -6
  30. package/cjs/components/Tabs/ui/Tabs/Tabs.js.map +1 -1
  31. package/cjs/components/TextField/TextField.js +3 -1
  32. package/cjs/components/TextField/TextField.js.map +1 -1
  33. package/cjs/components/_Icon/Icon.assets/DisclosureLeft.js +4 -3
  34. package/cjs/components/_Icon/Icon.assets/DisclosureLeft.js.map +1 -1
  35. package/cjs/components/_Icon/Icon.assets/DisclosureRight.js +4 -3
  36. package/cjs/components/_Icon/Icon.assets/DisclosureRight.js.map +1 -1
  37. package/cjs/index.css +8 -18
  38. package/cjs/index.js +2 -0
  39. package/cjs/index.js.map +1 -1
  40. package/emotion/cjs/components/Breadcrumbs/Breadcrumbs.styles.js +4 -4
  41. package/emotion/cjs/components/Calendar/ui/CalendarHeader/CalendarHeader.js +2 -2
  42. package/emotion/cjs/components/Dropdown/ui/DropdownItem/DropdownItem.js +1 -1
  43. package/emotion/cjs/components/Mask/Mask.js +56 -0
  44. package/emotion/cjs/components/Mask/Mask.template-doc.mdx +125 -0
  45. package/emotion/cjs/components/Mask/Mask.types.js +5 -0
  46. package/emotion/cjs/components/Mask/index.js +12 -0
  47. package/emotion/cjs/components/Segment/tokens.js +1 -15
  48. package/emotion/cjs/components/Segment/ui/SegmentGroup/SegmentGroup.js +85 -165
  49. package/emotion/cjs/components/Segment/ui/SegmentGroup/SegmentGroup.styles.js +25 -25
  50. package/emotion/cjs/components/Segment/ui/SegmentItem/SegmentItem.js +4 -11
  51. package/emotion/cjs/components/Segment/ui/SegmentItem/SegmentItem.styles.js +6 -28
  52. package/emotion/cjs/components/Segment/ui/SegmentItem/variations/_pilled/base.js +1 -1
  53. package/emotion/cjs/components/Segment/ui/SegmentItem/variations/_view/base.js +1 -2
  54. package/emotion/cjs/components/Tabs/ui/Tabs/Tabs.js +4 -4
  55. package/emotion/cjs/components/TextField/TextField.js +4 -2
  56. package/emotion/cjs/components/_Icon/Icon.assets/DisclosureLeft.js +4 -3
  57. package/emotion/cjs/components/_Icon/Icon.assets/DisclosureRight.js +4 -3
  58. package/emotion/cjs/components/_Icon/index.js +0 -21
  59. package/emotion/cjs/examples/plasma_b2c/components/Editable/Editable.stories.tsx +2 -2
  60. package/emotion/cjs/examples/plasma_b2c/components/Mask/Mask.js +9 -0
  61. package/emotion/cjs/examples/plasma_b2c/components/Mask/Mask.stories.tsx +127 -0
  62. package/emotion/cjs/examples/plasma_b2c/components/Notification/Notification.stories.tsx +3 -6
  63. package/emotion/cjs/examples/plasma_b2c/components/Segment/Segment.stories.tsx +37 -265
  64. package/emotion/cjs/examples/plasma_b2c/components/Segment/SegmentGroup.config.js +10 -13
  65. package/emotion/cjs/examples/plasma_b2c/components/Segment/SegmentItem.config.js +9 -9
  66. package/emotion/cjs/examples/plasma_b2c/components/Tooltip/Tooltip.stories.tsx +2 -2
  67. package/emotion/cjs/examples/plasma_web/components/Editable/Editable.stories.tsx +2 -2
  68. package/emotion/cjs/examples/plasma_web/components/Mask/Mask.js +9 -0
  69. package/emotion/cjs/examples/plasma_web/components/Mask/Mask.stories.tsx +125 -0
  70. package/emotion/cjs/examples/plasma_web/components/Notification/Notification.stories.tsx +3 -6
  71. package/emotion/cjs/examples/plasma_web/components/Segment/Segment.stories.tsx +37 -266
  72. package/emotion/cjs/examples/plasma_web/components/Segment/SegmentGroup.config.js +9 -15
  73. package/emotion/cjs/examples/plasma_web/components/Segment/SegmentItem.config.js +9 -9
  74. package/emotion/cjs/examples/plasma_web/components/Tooltip/Tooltip.stories.tsx +2 -2
  75. package/emotion/cjs/index.js +11 -0
  76. package/emotion/es/components/Breadcrumbs/Breadcrumbs.styles.js +5 -5
  77. package/emotion/es/components/Calendar/ui/CalendarHeader/CalendarHeader.js +3 -3
  78. package/emotion/es/components/Dropdown/ui/DropdownItem/DropdownItem.js +2 -2
  79. package/emotion/es/components/Mask/Mask.js +46 -0
  80. package/emotion/es/components/Mask/Mask.template-doc.mdx +125 -0
  81. package/emotion/es/components/Mask/Mask.types.js +1 -0
  82. package/emotion/es/components/Mask/index.js +1 -0
  83. package/emotion/es/components/Segment/tokens.js +1 -15
  84. package/emotion/es/components/Segment/ui/SegmentGroup/SegmentGroup.js +88 -168
  85. package/emotion/es/components/Segment/ui/SegmentGroup/SegmentGroup.styles.js +25 -25
  86. package/emotion/es/components/Segment/ui/SegmentItem/SegmentItem.js +5 -12
  87. package/emotion/es/components/Segment/ui/SegmentItem/SegmentItem.styles.js +5 -27
  88. package/emotion/es/components/Segment/ui/SegmentItem/variations/_pilled/base.js +1 -1
  89. package/emotion/es/components/Segment/ui/SegmentItem/variations/_view/base.js +1 -2
  90. package/emotion/es/components/Tabs/ui/Tabs/Tabs.js +5 -5
  91. package/emotion/es/components/TextField/TextField.js +4 -2
  92. package/emotion/es/components/_Icon/Icon.assets/DisclosureLeft.js +4 -3
  93. package/emotion/es/components/_Icon/Icon.assets/DisclosureRight.js +4 -3
  94. package/emotion/es/components/_Icon/index.js +0 -3
  95. package/emotion/es/examples/plasma_b2c/components/Editable/Editable.stories.tsx +2 -2
  96. package/emotion/es/examples/plasma_b2c/components/Mask/Mask.js +3 -0
  97. package/emotion/es/examples/plasma_b2c/components/Mask/Mask.stories.tsx +127 -0
  98. package/emotion/es/examples/plasma_b2c/components/Notification/Notification.stories.tsx +3 -6
  99. package/emotion/es/examples/plasma_b2c/components/Segment/Segment.stories.tsx +37 -265
  100. package/emotion/es/examples/plasma_b2c/components/Segment/SegmentGroup.config.js +10 -13
  101. package/emotion/es/examples/plasma_b2c/components/Segment/SegmentItem.config.js +9 -9
  102. package/emotion/es/examples/plasma_b2c/components/Tooltip/Tooltip.stories.tsx +2 -2
  103. package/emotion/es/examples/plasma_web/components/Editable/Editable.stories.tsx +2 -2
  104. package/emotion/es/examples/plasma_web/components/Mask/Mask.js +3 -0
  105. package/emotion/es/examples/plasma_web/components/Mask/Mask.stories.tsx +125 -0
  106. package/emotion/es/examples/plasma_web/components/Notification/Notification.stories.tsx +3 -6
  107. package/emotion/es/examples/plasma_web/components/Segment/Segment.stories.tsx +37 -266
  108. package/emotion/es/examples/plasma_web/components/Segment/SegmentGroup.config.js +9 -15
  109. package/emotion/es/examples/plasma_web/components/Segment/SegmentItem.config.js +9 -9
  110. package/emotion/es/examples/plasma_web/components/Tooltip/Tooltip.stories.tsx +2 -2
  111. package/emotion/es/index.js +2 -1
  112. package/es/components/Breadcrumbs/Breadcrumbs.styles.js +2 -2
  113. package/es/components/Breadcrumbs/Breadcrumbs.styles.js.map +1 -1
  114. package/es/components/Calendar/ui/CalendarHeader/CalendarHeader.js +5 -5
  115. package/es/components/Calendar/ui/CalendarHeader/CalendarHeader.js.map +1 -1
  116. package/es/components/Dropdown/ui/DropdownItem/DropdownItem.js +2 -2
  117. package/es/components/Dropdown/ui/DropdownItem/DropdownItem.js.map +1 -1
  118. package/es/components/Mask/Mask.js +42 -0
  119. package/es/components/Mask/Mask.js.map +1 -0
  120. package/es/components/Segment/tokens.js +1 -15
  121. package/es/components/Segment/tokens.js.map +1 -1
  122. package/es/components/Segment/ui/SegmentGroup/SegmentGroup.css +4 -10
  123. package/es/components/Segment/ui/SegmentGroup/SegmentGroup.js +90 -172
  124. package/es/components/Segment/ui/SegmentGroup/SegmentGroup.js.map +1 -1
  125. package/es/components/Segment/ui/SegmentGroup/SegmentGroup.styles.js +2 -34
  126. package/es/components/Segment/ui/SegmentGroup/SegmentGroup.styles.js.map +1 -1
  127. package/es/components/Segment/ui/SegmentGroup/SegmentGroup.styles_m9i9p0.css +4 -0
  128. package/es/components/Segment/ui/SegmentItem/SegmentItem.css +4 -8
  129. package/es/components/Segment/ui/SegmentItem/SegmentItem.js +5 -12
  130. package/es/components/Segment/ui/SegmentItem/SegmentItem.js.map +1 -1
  131. package/es/components/Segment/ui/SegmentItem/SegmentItem.styles.js +3 -30
  132. package/es/components/Segment/ui/SegmentItem/SegmentItem.styles.js.map +1 -1
  133. package/es/components/Segment/ui/SegmentItem/SegmentItem.styles_18h1p52.css +2 -0
  134. package/es/components/Segment/ui/SegmentItem/variations/_pilled/base.js +1 -1
  135. package/es/components/Segment/ui/SegmentItem/variations/_pilled/base.js.map +1 -1
  136. package/es/components/Segment/ui/SegmentItem/variations/_pilled/{base_omc5u1.css → base_15s0fel.css} +1 -1
  137. package/es/components/Segment/ui/SegmentItem/variations/_view/base.js +1 -1
  138. package/es/components/Segment/ui/SegmentItem/variations/_view/base.js.map +1 -1
  139. package/es/components/Segment/ui/SegmentItem/variations/_view/base_1m1u2ys.css +1 -0
  140. package/es/components/Tabs/ui/Tabs/Tabs.js +6 -6
  141. package/es/components/Tabs/ui/Tabs/Tabs.js.map +1 -1
  142. package/es/components/TextField/TextField.js +3 -1
  143. package/es/components/TextField/TextField.js.map +1 -1
  144. package/es/components/_Icon/Icon.assets/DisclosureLeft.js +4 -3
  145. package/es/components/_Icon/Icon.assets/DisclosureLeft.js.map +1 -1
  146. package/es/components/_Icon/Icon.assets/DisclosureRight.js +4 -3
  147. package/es/components/_Icon/Icon.assets/DisclosureRight.js.map +1 -1
  148. package/es/index.css +8 -18
  149. package/es/index.js +1 -0
  150. package/es/index.js.map +1 -1
  151. package/package.json +6 -4
  152. package/styled-components/cjs/components/Breadcrumbs/Breadcrumbs.styles.js +1 -1
  153. package/styled-components/cjs/components/Calendar/ui/CalendarHeader/CalendarHeader.js +2 -2
  154. package/styled-components/cjs/components/Dropdown/ui/DropdownItem/DropdownItem.js +1 -1
  155. package/styled-components/cjs/components/Mask/Mask.js +56 -0
  156. package/styled-components/cjs/components/Mask/Mask.template-doc.mdx +125 -0
  157. package/styled-components/cjs/components/Mask/Mask.types.js +5 -0
  158. package/styled-components/cjs/components/Mask/index.js +12 -0
  159. package/styled-components/cjs/components/Segment/tokens.js +1 -15
  160. package/styled-components/cjs/components/Segment/ui/SegmentGroup/SegmentGroup.js +85 -165
  161. package/styled-components/cjs/components/Segment/ui/SegmentGroup/SegmentGroup.styles.js +5 -17
  162. package/styled-components/cjs/components/Segment/ui/SegmentItem/SegmentItem.js +4 -11
  163. package/styled-components/cjs/components/Segment/ui/SegmentItem/SegmentItem.styles.js +5 -23
  164. package/styled-components/cjs/components/Segment/ui/SegmentItem/variations/_pilled/base.js +1 -1
  165. package/styled-components/cjs/components/Segment/ui/SegmentItem/variations/_view/base.js +1 -2
  166. package/styled-components/cjs/components/Tabs/ui/Tabs/Tabs.js +4 -4
  167. package/styled-components/cjs/components/TextField/TextField.js +3 -1
  168. package/styled-components/cjs/components/_Icon/Icon.assets/DisclosureLeft.js +4 -3
  169. package/styled-components/cjs/components/_Icon/Icon.assets/DisclosureRight.js +4 -3
  170. package/styled-components/cjs/components/_Icon/index.js +0 -21
  171. package/styled-components/cjs/examples/plasma_b2c/components/Editable/Editable.stories.tsx +2 -2
  172. package/styled-components/cjs/examples/plasma_b2c/components/Mask/Mask.js +9 -0
  173. package/styled-components/cjs/examples/plasma_b2c/components/Mask/Mask.stories.tsx +127 -0
  174. package/styled-components/cjs/examples/plasma_b2c/components/Notification/Notification.stories.tsx +3 -6
  175. package/styled-components/cjs/examples/plasma_b2c/components/Segment/Segment.stories.tsx +37 -265
  176. package/styled-components/cjs/examples/plasma_b2c/components/Segment/SegmentGroup.config.js +5 -8
  177. package/styled-components/cjs/examples/plasma_b2c/components/Segment/SegmentItem.config.js +8 -8
  178. package/styled-components/cjs/examples/plasma_b2c/components/Tooltip/Tooltip.stories.tsx +2 -2
  179. package/styled-components/cjs/examples/plasma_web/components/Editable/Editable.stories.tsx +2 -2
  180. package/styled-components/cjs/examples/plasma_web/components/Mask/Mask.js +9 -0
  181. package/styled-components/cjs/examples/plasma_web/components/Mask/Mask.stories.tsx +125 -0
  182. package/styled-components/cjs/examples/plasma_web/components/Notification/Notification.stories.tsx +3 -6
  183. package/styled-components/cjs/examples/plasma_web/components/Segment/Segment.stories.tsx +37 -266
  184. package/styled-components/cjs/examples/plasma_web/components/Segment/SegmentGroup.config.js +5 -11
  185. package/styled-components/cjs/examples/plasma_web/components/Segment/SegmentItem.config.js +8 -8
  186. package/styled-components/cjs/examples/plasma_web/components/Tooltip/Tooltip.stories.tsx +2 -2
  187. package/styled-components/cjs/index.js +11 -0
  188. package/styled-components/es/components/Breadcrumbs/Breadcrumbs.styles.js +2 -2
  189. package/styled-components/es/components/Calendar/ui/CalendarHeader/CalendarHeader.js +3 -3
  190. package/styled-components/es/components/Dropdown/ui/DropdownItem/DropdownItem.js +2 -2
  191. package/styled-components/es/components/Mask/Mask.js +46 -0
  192. package/styled-components/es/components/Mask/Mask.template-doc.mdx +125 -0
  193. package/styled-components/es/components/Mask/Mask.types.js +1 -0
  194. package/styled-components/es/components/Mask/index.js +1 -0
  195. package/styled-components/es/components/Segment/tokens.js +1 -15
  196. package/styled-components/es/components/Segment/ui/SegmentGroup/SegmentGroup.js +88 -168
  197. package/styled-components/es/components/Segment/ui/SegmentGroup/SegmentGroup.styles.js +5 -17
  198. package/styled-components/es/components/Segment/ui/SegmentItem/SegmentItem.js +5 -12
  199. package/styled-components/es/components/Segment/ui/SegmentItem/SegmentItem.styles.js +4 -22
  200. package/styled-components/es/components/Segment/ui/SegmentItem/variations/_pilled/base.js +1 -1
  201. package/styled-components/es/components/Segment/ui/SegmentItem/variations/_view/base.js +1 -2
  202. package/styled-components/es/components/Tabs/ui/Tabs/Tabs.js +5 -5
  203. package/styled-components/es/components/TextField/TextField.js +3 -1
  204. package/styled-components/es/components/_Icon/Icon.assets/DisclosureLeft.js +4 -3
  205. package/styled-components/es/components/_Icon/Icon.assets/DisclosureRight.js +4 -3
  206. package/styled-components/es/components/_Icon/index.js +0 -3
  207. package/styled-components/es/examples/plasma_b2c/components/Editable/Editable.stories.tsx +2 -2
  208. package/styled-components/es/examples/plasma_b2c/components/Mask/Mask.js +3 -0
  209. package/styled-components/es/examples/plasma_b2c/components/Mask/Mask.stories.tsx +127 -0
  210. package/styled-components/es/examples/plasma_b2c/components/Notification/Notification.stories.tsx +3 -6
  211. package/styled-components/es/examples/plasma_b2c/components/Segment/Segment.stories.tsx +37 -265
  212. package/styled-components/es/examples/plasma_b2c/components/Segment/SegmentGroup.config.js +5 -8
  213. package/styled-components/es/examples/plasma_b2c/components/Segment/SegmentItem.config.js +8 -8
  214. package/styled-components/es/examples/plasma_b2c/components/Tooltip/Tooltip.stories.tsx +2 -2
  215. package/styled-components/es/examples/plasma_web/components/Editable/Editable.stories.tsx +2 -2
  216. package/styled-components/es/examples/plasma_web/components/Mask/Mask.js +3 -0
  217. package/styled-components/es/examples/plasma_web/components/Mask/Mask.stories.tsx +125 -0
  218. package/styled-components/es/examples/plasma_web/components/Notification/Notification.stories.tsx +3 -6
  219. package/styled-components/es/examples/plasma_web/components/Segment/Segment.stories.tsx +37 -266
  220. package/styled-components/es/examples/plasma_web/components/Segment/SegmentGroup.config.js +5 -11
  221. package/styled-components/es/examples/plasma_web/components/Segment/SegmentItem.config.js +8 -8
  222. package/styled-components/es/examples/plasma_web/components/Tooltip/Tooltip.stories.tsx +2 -2
  223. package/styled-components/es/index.js +2 -1
  224. package/types/components/Mask/Mask.d.ts +5 -0
  225. package/types/components/Mask/Mask.d.ts.map +1 -0
  226. package/types/components/Mask/Mask.types.d.ts +62 -0
  227. package/types/components/Mask/Mask.types.d.ts.map +1 -0
  228. package/types/components/Mask/index.d.ts +2 -0
  229. package/types/components/Mask/index.d.ts.map +1 -0
  230. package/types/components/Segment/tokens.d.ts +0 -14
  231. package/types/components/Segment/tokens.d.ts.map +1 -1
  232. package/types/components/Segment/ui/SegmentGroup/SegmentGroup.d.ts +0 -10
  233. package/types/components/Segment/ui/SegmentGroup/SegmentGroup.d.ts.map +1 -1
  234. package/types/components/Segment/ui/SegmentGroup/SegmentGroup.styles.d.ts +0 -12
  235. package/types/components/Segment/ui/SegmentGroup/SegmentGroup.styles.d.ts.map +1 -1
  236. package/types/components/Segment/ui/SegmentGroup/SegmentGroup.types.d.ts +1 -19
  237. package/types/components/Segment/ui/SegmentGroup/SegmentGroup.types.d.ts.map +1 -1
  238. package/types/components/Segment/ui/SegmentItem/SegmentItem.d.ts +0 -6
  239. package/types/components/Segment/ui/SegmentItem/SegmentItem.d.ts.map +1 -1
  240. package/types/components/Segment/ui/SegmentItem/SegmentItem.styles.d.ts +1 -9
  241. package/types/components/Segment/ui/SegmentItem/SegmentItem.styles.d.ts.map +1 -1
  242. package/types/components/Segment/ui/SegmentItem/SegmentItem.types.d.ts +0 -12
  243. package/types/components/Segment/ui/SegmentItem/SegmentItem.types.d.ts.map +1 -1
  244. package/types/components/Segment/ui/SegmentItem/variations/_pilled/base.d.ts.map +1 -1
  245. package/types/components/Segment/ui/SegmentItem/variations/_view/base.d.ts.map +1 -1
  246. package/types/components/Tabs/ui/Tabs/Tabs.d.ts.map +1 -1
  247. package/types/components/TextField/TextField.d.ts.map +1 -1
  248. package/types/components/_Icon/Icon.assets/DisclosureLeft.d.ts.map +1 -1
  249. package/types/components/_Icon/Icon.assets/DisclosureRight.d.ts.map +1 -1
  250. package/types/components/_Icon/index.d.ts +0 -3
  251. package/types/components/_Icon/index.d.ts.map +1 -1
  252. package/types/examples/plasma_b2c/components/Mask/Mask.d.ts +191 -0
  253. package/types/examples/plasma_b2c/components/Mask/Mask.d.ts.map +1 -0
  254. package/types/examples/plasma_b2c/components/Segment/Segment.d.ts +0 -9
  255. package/types/examples/plasma_b2c/components/Segment/Segment.d.ts.map +1 -1
  256. package/types/examples/plasma_b2c/components/Segment/SegmentGroup.config.d.ts +0 -3
  257. package/types/examples/plasma_b2c/components/Segment/SegmentGroup.config.d.ts.map +1 -1
  258. package/types/examples/plasma_b2c/components/Segment/SegmentItem.config.d.ts.map +1 -1
  259. package/types/examples/plasma_web/components/Mask/Mask.d.ts +191 -0
  260. package/types/examples/plasma_web/components/Mask/Mask.d.ts.map +1 -0
  261. package/types/examples/plasma_web/components/Segment/Segment.d.ts +0 -12
  262. package/types/examples/plasma_web/components/Segment/Segment.d.ts.map +1 -1
  263. package/types/examples/plasma_web/components/Segment/SegmentGroup.config.d.ts +0 -6
  264. package/types/examples/plasma_web/components/Segment/SegmentGroup.config.d.ts.map +1 -1
  265. package/types/examples/plasma_web/components/Segment/SegmentItem.config.d.ts.map +1 -1
  266. package/types/index.d.ts +1 -0
  267. package/types/index.d.ts.map +1 -1
  268. package/cjs/components/Segment/ui/SegmentGroup/SegmentGroup.styles_u742r1.css +0 -8
  269. package/cjs/components/Segment/ui/SegmentGroup/variations/_orientation/base.js +0 -9
  270. package/cjs/components/Segment/ui/SegmentGroup/variations/_orientation/base.js.map +0 -1
  271. package/cjs/components/Segment/ui/SegmentGroup/variations/_orientation/base_1ejecy9.css +0 -1
  272. package/cjs/components/Segment/ui/SegmentItem/SegmentItem.styles_f1jpip.css +0 -6
  273. package/cjs/components/Segment/ui/SegmentItem/variations/_view/base_168a47w.css +0 -1
  274. package/cjs/components/_Icon/Icon.assets/DisclosureDown.js +0 -22
  275. package/cjs/components/_Icon/Icon.assets/DisclosureDown.js.map +0 -1
  276. package/cjs/components/_Icon/Icon.assets/DisclosureLeftCentered.js +0 -23
  277. package/cjs/components/_Icon/Icon.assets/DisclosureLeftCentered.js.map +0 -1
  278. package/cjs/components/_Icon/Icon.assets/DisclosureUp.js +0 -22
  279. package/cjs/components/_Icon/Icon.assets/DisclosureUp.js.map +0 -1
  280. package/cjs/components/_Icon/Icons/IconDisclosureDown.js +0 -23
  281. package/cjs/components/_Icon/Icons/IconDisclosureDown.js.map +0 -1
  282. package/cjs/components/_Icon/Icons/IconDisclosureLeftCentered.js +0 -23
  283. package/cjs/components/_Icon/Icons/IconDisclosureLeftCentered.js.map +0 -1
  284. package/cjs/components/_Icon/Icons/IconDisclosureUp.js +0 -23
  285. package/cjs/components/_Icon/Icons/IconDisclosureUp.js.map +0 -1
  286. package/emotion/cjs/components/Segment/README.md +0 -61
  287. package/emotion/cjs/components/Segment/ui/SegmentGroup/variations/_orientation/base.js +0 -10
  288. package/emotion/cjs/components/Segment/ui/SegmentGroup/variations/_orientation/tokens.json +0 -1
  289. package/emotion/cjs/components/_Icon/Icon.assets/DisclosureDown.js +0 -21
  290. package/emotion/cjs/components/_Icon/Icon.assets/DisclosureLeftCentered.js +0 -22
  291. package/emotion/cjs/components/_Icon/Icon.assets/DisclosureUp.js +0 -21
  292. package/emotion/cjs/components/_Icon/Icons/IconDisclosureDown.js +0 -22
  293. package/emotion/cjs/components/_Icon/Icons/IconDisclosureLeftCentered.js +0 -22
  294. package/emotion/cjs/components/_Icon/Icons/IconDisclosureUp.js +0 -22
  295. package/emotion/es/components/Segment/README.md +0 -61
  296. package/emotion/es/components/Segment/ui/SegmentGroup/variations/_orientation/base.js +0 -4
  297. package/emotion/es/components/Segment/ui/SegmentGroup/variations/_orientation/tokens.json +0 -1
  298. package/emotion/es/components/_Icon/Icon.assets/DisclosureDown.js +0 -14
  299. package/emotion/es/components/_Icon/Icon.assets/DisclosureLeftCentered.js +0 -15
  300. package/emotion/es/components/_Icon/Icon.assets/DisclosureUp.js +0 -14
  301. package/emotion/es/components/_Icon/Icons/IconDisclosureDown.js +0 -15
  302. package/emotion/es/components/_Icon/Icons/IconDisclosureLeftCentered.js +0 -15
  303. package/emotion/es/components/_Icon/Icons/IconDisclosureUp.js +0 -15
  304. package/es/components/Segment/ui/SegmentGroup/SegmentGroup.styles_u742r1.css +0 -8
  305. package/es/components/Segment/ui/SegmentGroup/variations/_orientation/base.js +0 -5
  306. package/es/components/Segment/ui/SegmentGroup/variations/_orientation/base.js.map +0 -1
  307. package/es/components/Segment/ui/SegmentGroup/variations/_orientation/base_1ejecy9.css +0 -1
  308. package/es/components/Segment/ui/SegmentItem/SegmentItem.styles_f1jpip.css +0 -6
  309. package/es/components/Segment/ui/SegmentItem/variations/_view/base_168a47w.css +0 -1
  310. package/es/components/_Icon/Icon.assets/DisclosureDown.js +0 -18
  311. package/es/components/_Icon/Icon.assets/DisclosureDown.js.map +0 -1
  312. package/es/components/_Icon/Icon.assets/DisclosureLeftCentered.js +0 -19
  313. package/es/components/_Icon/Icon.assets/DisclosureLeftCentered.js.map +0 -1
  314. package/es/components/_Icon/Icon.assets/DisclosureUp.js +0 -18
  315. package/es/components/_Icon/Icon.assets/DisclosureUp.js.map +0 -1
  316. package/es/components/_Icon/Icons/IconDisclosureDown.js +0 -19
  317. package/es/components/_Icon/Icons/IconDisclosureDown.js.map +0 -1
  318. package/es/components/_Icon/Icons/IconDisclosureLeftCentered.js +0 -19
  319. package/es/components/_Icon/Icons/IconDisclosureLeftCentered.js.map +0 -1
  320. package/es/components/_Icon/Icons/IconDisclosureUp.js +0 -19
  321. package/es/components/_Icon/Icons/IconDisclosureUp.js.map +0 -1
  322. package/styled-components/cjs/components/Segment/README.md +0 -61
  323. package/styled-components/cjs/components/Segment/ui/SegmentGroup/variations/_orientation/base.js +0 -10
  324. package/styled-components/cjs/components/Segment/ui/SegmentGroup/variations/_orientation/tokens.json +0 -1
  325. package/styled-components/cjs/components/_Icon/Icon.assets/DisclosureDown.js +0 -21
  326. package/styled-components/cjs/components/_Icon/Icon.assets/DisclosureLeftCentered.js +0 -22
  327. package/styled-components/cjs/components/_Icon/Icon.assets/DisclosureUp.js +0 -21
  328. package/styled-components/cjs/components/_Icon/Icons/IconDisclosureDown.js +0 -22
  329. package/styled-components/cjs/components/_Icon/Icons/IconDisclosureLeftCentered.js +0 -22
  330. package/styled-components/cjs/components/_Icon/Icons/IconDisclosureUp.js +0 -22
  331. package/styled-components/es/components/Segment/README.md +0 -61
  332. package/styled-components/es/components/Segment/ui/SegmentGroup/variations/_orientation/base.js +0 -4
  333. package/styled-components/es/components/Segment/ui/SegmentGroup/variations/_orientation/tokens.json +0 -1
  334. package/styled-components/es/components/_Icon/Icon.assets/DisclosureDown.js +0 -14
  335. package/styled-components/es/components/_Icon/Icon.assets/DisclosureLeftCentered.js +0 -15
  336. package/styled-components/es/components/_Icon/Icon.assets/DisclosureUp.js +0 -14
  337. package/styled-components/es/components/_Icon/Icons/IconDisclosureDown.js +0 -15
  338. package/styled-components/es/components/_Icon/Icons/IconDisclosureLeftCentered.js +0 -15
  339. package/styled-components/es/components/_Icon/Icons/IconDisclosureUp.js +0 -15
  340. package/types/components/Segment/ui/SegmentGroup/variations/_orientation/base.d.ts +0 -2
  341. package/types/components/Segment/ui/SegmentGroup/variations/_orientation/base.d.ts.map +0 -1
  342. package/types/components/_Icon/Icon.assets/DisclosureDown.d.ts +0 -4
  343. package/types/components/_Icon/Icon.assets/DisclosureDown.d.ts.map +0 -1
  344. package/types/components/_Icon/Icon.assets/DisclosureLeftCentered.d.ts +0 -4
  345. package/types/components/_Icon/Icon.assets/DisclosureLeftCentered.d.ts.map +0 -1
  346. package/types/components/_Icon/Icon.assets/DisclosureUp.d.ts +0 -4
  347. package/types/components/_Icon/Icon.assets/DisclosureUp.d.ts.map +0 -1
  348. package/types/components/_Icon/Icons/IconDisclosureDown.d.ts +0 -4
  349. package/types/components/_Icon/Icons/IconDisclosureDown.d.ts.map +0 -1
  350. package/types/components/_Icon/Icons/IconDisclosureLeftCentered.d.ts +0 -4
  351. package/types/components/_Icon/Icons/IconDisclosureLeftCentered.d.ts.map +0 -1
  352. package/types/components/_Icon/Icons/IconDisclosureUp.d.ts +0 -4
  353. package/types/components/_Icon/Icons/IconDisclosureUp.d.ts.map +0 -1
@@ -8,8 +8,6 @@ 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');
13
11
  var tokens = require('../../tokens.js');
14
12
  var index = require('../../../../utils/index.js');
15
13
  var SegmentProvider = require('../../SegmentProvider/SegmentProvider.js');
@@ -17,228 +15,151 @@ var base = require('./variations/_size/base.js');
17
15
  var base$1 = require('./variations/_view/base.js');
18
16
  var base$2 = require('./variations/_disabled/base.js');
19
17
  var base$3 = require('./variations/_pilled/base.js');
20
- var base$6 = require('./variations/_filledBackgound/base.js');
18
+ var base$5 = require('./variations/_filledBackgound/base.js');
21
19
  var base$4 = require('./variations/_stretch/base.js');
22
- var base$5 = require('./variations/_orientation/base.js');
23
20
  var SegmentGroup_styles = require('./SegmentGroup.styles.js');
24
21
 
25
- var _excluded = ["id", "selectionMode", "pilled", "stretch", "clip", "orientation", "filledBackground", "hasBackground", "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
- };
22
+ var _excluded = ["id", "selectionMode", "pilled", "stretch", "filledBackground", "disabled", "size", "view", "children"];
37
23
  var segmentGroupRoot = function segmentGroupRoot(Root) {
38
24
  return /*#__PURE__*/React.forwardRef(function (props, outerRef) {
39
25
  var id = props.id,
40
26
  selectionMode = props.selectionMode,
41
27
  pilled = props.pilled,
42
28
  stretch = props.stretch,
43
- clip = props.clip,
44
- _props$orientation = props.orientation,
45
- orientation = _props$orientation === void 0 ? 'horizontal' : _props$orientation,
46
29
  _props$filledBackgrou = props.filledBackground,
47
30
  filledBackground = _props$filledBackgrou === void 0 ? false : _props$filledBackgrou,
48
- _props$hasBackground = props.hasBackground,
49
- hasBackground = _props$hasBackground === void 0 ? false : _props$hasBackground,
50
31
  _props$disabled = props.disabled,
51
32
  disabled = _props$disabled === void 0 ? false : _props$disabled,
52
33
  size = props.size,
53
34
  view = props.view,
54
35
  children = props.children,
55
36
  rest = _rollupPluginBabelHelpers.objectWithoutProperties(props, _excluded);
56
- var scrollRef = React.useRef(null);
57
- var trackRef = React.useRef(null);
58
- var leftArrowRef = React.useRef(null);
59
37
  var _useSegmentInner = SegmentProvider.useSegmentInner(),
60
38
  setSelectionMode = _useSegmentInner.setSelectionMode,
61
39
  setDisabledGroup = _useSegmentInner.setDisabledGroup;
62
- var _useState = React.useState(true),
40
+ var _useState = React.useState(0),
63
41
  _useState2 = _rollupPluginBabelHelpers.slicedToArray(_useState, 2),
64
- firstItemVisible = _useState2[0],
65
- setFirstItemVisible = _useState2[1];
66
- var _useState3 = React.useState(true),
42
+ index$1 = _useState2[0],
43
+ setIndex = _useState2[1];
44
+ var _useState3 = React.useState(false),
67
45
  _useState4 = _rollupPluginBabelHelpers.slicedToArray(_useState3, 2),
68
- lastItemVisible = _useState4[0],
69
- setLastItemVisible = _useState4[1];
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];
70
52
  var uniqId = plasmaCore.safeUseId();
71
53
  var segmentGroupId = id || uniqId;
72
- var isVertical = orientation === 'vertical';
73
- var pilledAttr = (view !== 'clear' || hasBackground) && pilled;
74
- var filledBackgroundAttr = view !== 'clear' && filledBackground || hasBackground;
75
- var stretchClass = firstItemVisible && lastItemVisible && stretch ? tokens.classes.segmentStretch : undefined;
76
- var orientationClass = isVertical ? tokens.classes.segmentVertical : undefined;
77
-
78
- // для появления scroll в fixed отображении
79
- var clipScrollClass = clip !== 'showAll' ? tokens.classes.segmentGroupClipScroll : undefined;
80
- var clipShowAllClass = clip === 'showAll' ? tokens.classes.segmentGroupClipShowAll : undefined;
54
+ var pilledAttr = view !== 'clear' && pilled;
55
+ var filledBackgroundAttr = view !== 'clear' && filledBackground;
81
56
  var pilledClass = pilledAttr ? tokens.classes.segmentPilled : undefined;
82
57
  var filledClass = filledBackgroundAttr ? tokens.classes.segmentGroupFilledBackground : undefined;
58
+ 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
+ })) || [];
83
62
  var onPrev = React.useCallback(function () {
84
- if (disabled || !scrollRef.current) {
85
- return;
86
- }
87
- var childNodes = getChildNodes(scrollRef.current);
88
- var scrollLeft = Math.round(scrollRef.current.scrollLeft);
89
- var firstOverflowingTab = childNodes.slice().reverse().find(function (child) {
90
- if (!child || child.offsetLeft === undefined) {
91
- return;
92
- }
93
- var tabStartX = child.offsetLeft;
94
- return tabStartX < scrollLeft;
95
- });
96
- firstOverflowingTab === null || firstOverflowingTab === void 0 || firstOverflowingTab.scrollIntoView({
97
- block: 'nearest',
98
- inline: 'nearest'
63
+ !disabled && setIndex(function (prevIndex) {
64
+ return prevIndex > 0 ? prevIndex - 1 : 0;
99
65
  });
100
- }, [disabled, scrollRef]);
66
+ }, [disabled]);
101
67
  var onNext = React.useCallback(function () {
102
- if (disabled || !scrollRef.current) {
103
- return;
104
- }
105
- var scrollRight = Math.round(scrollRef.current.scrollLeft + scrollRef.current.clientWidth);
106
- var childNodes = getChildNodes(scrollRef.current);
107
- var lastOverflowingChild = childNodes.find(function (child) {
108
- if (!child || child.offsetLeft === undefined) {
109
- return;
110
- }
111
- var tabEndX = child.offsetLeft + child.offsetWidth;
112
- return tabEndX > scrollRight;
68
+ !disabled && setIndex(function (prevIndex) {
69
+ return prevIndex < items.length - 1 ? prevIndex + 1 : prevIndex;
113
70
  });
114
- lastOverflowingChild === null || lastOverflowingChild === void 0 || lastOverflowingChild.scrollIntoView({
115
- block: 'nearest',
116
- inline: 'nearest'
117
- });
118
- }, [disabled, scrollRef]);
119
- var onKeyDown = React.useCallback(function (event) {
120
- var childNodes = getChildNodes(scrollRef === null || scrollRef === void 0 ? void 0 : scrollRef.current);
121
- var index = childNodes.findIndex(function (child) {
122
- return document.activeElement === child;
123
- });
124
- var minIndex = 0;
125
- var maxIndex = childNodes.length - 1;
126
- var nextIndex;
127
- switch (event.keyCode) {
128
- case Keys.end:
129
- nextIndex = maxIndex;
130
- break;
131
- case Keys.left:
132
- nextIndex = index > minIndex ? index - 1 : index;
133
- break;
134
- case Keys.right:
135
- nextIndex = index < maxIndex ? index + 1 : index;
136
- break;
137
- case Keys.home:
138
- nextIndex = minIndex;
139
- break;
140
- default:
141
- return;
142
- }
143
- if (nextIndex !== index) {
144
- var _childNodes$nextIndex, _childNodes$nextIndex2;
145
- event.preventDefault();
146
- (_childNodes$nextIndex = childNodes[nextIndex]) === null || _childNodes$nextIndex === void 0 || _childNodes$nextIndex.focus();
147
- (_childNodes$nextIndex2 = childNodes[nextIndex]) === null || _childNodes$nextIndex2 === void 0 || _childNodes$nextIndex2.scrollIntoView({
148
- block: 'center',
149
- inline: 'center',
150
- behavior: 'smooth'
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
+ }
151
84
  });
152
- }
153
- }, []);
154
- var handleScroll = React.useCallback(function (event) {
155
- event.stopPropagation();
156
- if (isVertical) {
157
- var maxScrollTop = event.currentTarget.scrollHeight - event.currentTarget.clientHeight;
158
- var scrollTop = Math.round(event.currentTarget.scrollTop);
159
- setFirstItemVisible(scrollTop <= 0);
160
- setLastItemVisible(scrollTop >= maxScrollTop);
161
- return;
162
- }
163
- var maxScrollLeft = event.currentTarget.scrollWidth - event.currentTarget.clientWidth;
164
- var scrollLeft = Math.round(event.currentTarget.scrollLeft);
165
- setFirstItemVisible(scrollLeft <= 0);
166
- setLastItemVisible(scrollLeft >= maxScrollLeft);
167
- }, [isVertical]);
168
- React.useEffect(function () {
169
- var _scrollRef$current3, _scrollRef$current4;
170
- if (isVertical) {
171
- var _scrollRef$current, _scrollRef$current2;
172
- 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));
173
- return;
174
- }
175
- 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));
176
- }, [isVertical]);
177
-
178
- // Этот хук компенсирует появление левой/верхней стрелки при прокрутке
179
- React.useEffect(function () {
180
- if (firstItemVisible || !scrollRef.current || !leftArrowRef.current) {
181
- return;
182
- }
183
- if (isVertical) {
184
- scrollRef.current.scrollTo({
185
- top: Math.round(scrollRef.current.scrollTop + leftArrowRef.current.clientHeight)
186
- });
187
- return;
188
- }
189
- scrollRef.current.scrollTo({
190
- left: Math.round(scrollRef.current.scrollLeft + leftArrowRef.current.clientWidth)
191
- });
192
- }, [firstItemVisible, isVertical]);
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;
193
97
  var PreviousButton = React.useMemo(function () {
194
- var ArrowNode = isVertical ? SegmentGroup_styles.StyledTopArrow : SegmentGroup_styles.StyledLeftArrow;
195
- return /*#__PURE__*/React.createElement(ArrowNode, {
98
+ return /*#__PURE__*/React.createElement(SegmentGroup_styles.StyledArrow, {
196
99
  type: "button",
197
100
  "aria-label": "\u041F\u0440\u0435\u0434\u044B\u0434\u0443\u0449\u0438\u0439 \u0441\u0435\u0433\u043C\u0435\u043D\u0442",
198
101
  onClick: onPrev,
199
102
  tabIndex: disabled ? -1 : 0,
200
103
  disabled: disabled
201
- }, isVertical ? /*#__PURE__*/React.createElement(IconDisclosureUp.IconDisclosureUp, {
202
- color: "var(".concat(tokens.tokens.arrowColor, ")"),
203
- size: "s"
204
- }) : /*#__PURE__*/React.createElement(IconDisclosureLeft.IconDisclosureLeft, {
104
+ }, /*#__PURE__*/React.createElement(IconDisclosureLeft.IconDisclosureLeft, {
205
105
  color: "var(".concat(tokens.tokens.arrowColor, ")")
206
106
  }));
207
- }, [onPrev, isVertical]);
107
+ }, [onPrev]);
208
108
  var NextButton = React.useMemo(function () {
209
- var ArrowNode = isVertical ? SegmentGroup_styles.StyledBottomArrow : SegmentGroup_styles.StyledRightArrow;
210
- return /*#__PURE__*/React.createElement(ArrowNode, {
109
+ return /*#__PURE__*/React.createElement(SegmentGroup_styles.StyledArrow, {
211
110
  type: "button",
212
111
  "aria-label": "\u0421\u043B\u0435\u0434\u0443\u044E\u0449\u0438\u0439 \u0441\u0435\u0433\u043C\u0435\u043D\u0442",
213
112
  onClick: onNext,
214
113
  tabIndex: disabled ? -1 : 0,
215
114
  disabled: disabled
216
- }, isVertical ? /*#__PURE__*/React.createElement(IconDisclosureDown.IconDisclosureDown, {
217
- color: "var(".concat(tokens.tokens.arrowColor, ")"),
218
- size: "s"
219
- }) : /*#__PURE__*/React.createElement(IconDisclosureRight.IconDisclosureRight, {
115
+ }, /*#__PURE__*/React.createElement(IconDisclosureRight.IconDisclosureRight, {
220
116
  color: "var(".concat(tokens.tokens.arrowColor, ")")
221
117
  }));
222
- }, [onNext, isVertical]);
118
+ }, [onNext]);
223
119
  React.useEffect(function () {
224
120
  selectionMode && setSelectionMode(selectionMode);
225
121
  setDisabledGroup(disabled);
226
122
  }, [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]);
227
152
  return /*#__PURE__*/React.createElement(Root, _rollupPluginBabelHelpers.extends({
228
153
  view: view,
229
154
  size: size,
230
- orientation: orientation,
231
155
  id: segmentGroupId,
232
156
  ref: outerRef,
233
157
  filledBackground: filledBackgroundAttr,
234
158
  disabled: disabled,
235
159
  pilled: pilledAttr,
236
- className: index.cx(pilledClass, filledClass, stretchClass, orientationClass),
237
- onKeyDown: onKeyDown
160
+ className: index.cx(pilledClass, filledClass, stretchClass)
238
161
  }, rest), !firstItemVisible && PreviousButton, /*#__PURE__*/React.createElement(SegmentGroup_styles.StyledContentWrapper, {
239
- className: index.cx(clipScrollClass, clipShowAllClass),
240
- ref: scrollRef,
241
- onScroll: handleScroll
162
+ ref: scrollRef
242
163
  }, /*#__PURE__*/React.createElement(SegmentGroup_styles.StyledContent, {
243
164
  ref: trackRef
244
165
  }, children)), !lastItemVisible && NextButton);
@@ -268,11 +189,8 @@ var segmentGroupConfig = {
268
189
  css: base$4.base,
269
190
  attrs: true
270
191
  },
271
- orientation: {
272
- css: base$5.base
273
- },
274
192
  filledBackground: {
275
- css: base$6.base,
193
+ css: base$5.base,
276
194
  attrs: true
277
195
  }
278
196
  },
@@ -282,7 +200,6 @@ var segmentGroupConfig = {
282
200
  }
283
201
  };
284
202
 
285
- exports.getChildNodes = getChildNodes;
286
203
  exports.segmentGroupConfig = segmentGroupConfig;
287
204
  exports.segmentGroupRoot = segmentGroupRoot;
288
205
  //# 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, 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 orientationCSS } from './variations/_orientation/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 clip,\n orientation = 'horizontal',\n filledBackground = false,\n hasBackground = 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 const isVertical = orientation === 'vertical';\n\n const pilledAttr = (view !== 'clear' || hasBackground) && pilled;\n const filledBackgroundAttr = (view !== 'clear' && filledBackground) || hasBackground;\n\n const stretchClass = firstItemVisible && lastItemVisible && stretch ? classes.segmentStretch : undefined;\n const orientationClass = isVertical ? classes.segmentVertical : undefined;\n\n // для появления scroll в fixed отображении\n const clipScrollClass = clip !== 'showAll' ? classes.segmentGroupClipScroll : undefined;\n const clipShowAllClass = clip === 'showAll' ? classes.segmentGroupClipShowAll : undefined;\n const pilledClass = pilledAttr ? classes.segmentPilled : undefined;\n const filledClass = filledBackgroundAttr ? classes.segmentGroupFilledBackground : 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 (isVertical) {\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 [isVertical],\n );\n\n useEffect(() => {\n if (isVertical) {\n setLastItemVisible(scrollRef.current?.scrollHeight === scrollRef.current?.clientHeight);\n return;\n }\n setLastItemVisible(scrollRef.current?.scrollWidth === scrollRef.current?.clientWidth);\n }, [isVertical]);\n\n // Этот хук компенсирует появление левой/верхней стрелки при прокрутке\n useEffect(() => {\n if (firstItemVisible || !scrollRef.current || !leftArrowRef.current) {\n return;\n }\n\n if (isVertical) {\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, isVertical]);\n\n const PreviousButton = useMemo(() => {\n const ArrowNode = isVertical ? 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 {isVertical ? (\n <IconDisclosureUp color={`var(${tokens.arrowColor})`} size=\"s\" />\n ) : (\n <IconDisclosureLeft color={`var(${tokens.arrowColor})`} />\n )}\n </ArrowNode>\n );\n }, [onPrev, isVertical]);\n\n const NextButton = useMemo(() => {\n const ArrowNode = isVertical ? 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 {isVertical ? (\n <IconDisclosureDown color={`var(${tokens.arrowColor})`} size=\"s\" />\n ) : (\n <IconDisclosureRight color={`var(${tokens.arrowColor})`} />\n )}\n </ArrowNode>\n );\n }, [onNext, isVertical]);\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 orientation={orientation}\n id={segmentGroupId}\n ref={outerRef}\n filledBackground={filledBackgroundAttr}\n disabled={disabled}\n pilled={pilledAttr}\n className={cx(pilledClass, filledClass, stretchClass, orientationClass)}\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 orientation: {\n css: orientationCSS,\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","clip","_props$orientation","orientation","_props$filledBackgrou","filledBackground","_props$hasBackground","hasBackground","_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","isVertical","pilledAttr","filledBackgroundAttr","stretchClass","classes","segmentStretch","undefined","orientationClass","segmentVertical","clipScrollClass","segmentGroupClipScroll","clipShowAllClass","segmentGroupClipShowAll","pilledClass","segmentPilled","filledClass","segmentGroupFilledBackground","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","orientationCSS","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, 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,4 +1,4 @@
1
- import './SegmentGroup.styles_u742r1.css';
1
+ import './SegmentGroup.styles_m9i9p0.css';
2
2
  'use strict';
3
3
 
4
4
  Object.defineProperty(exports, '__esModule', { value: true });
@@ -21,45 +21,9 @@ var StyledArrow = /*#__PURE__*/react.styled('button')({
21
21
  "class": "s1qf4oye",
22
22
  propsAsIs: false
23
23
  });
24
- var _exp6 = function _exp6() {
25
- return StyledArrow;
26
- };
27
- var StyledLeftArrow = /*#__PURE__*/react.styled(_exp6())({
28
- name: "StyledLeftArrow",
29
- "class": "s3pgccr",
30
- propsAsIs: true
31
- });
32
- var _exp8 = function _exp8() {
33
- return StyledArrow;
34
- };
35
- var StyledRightArrow = /*#__PURE__*/react.styled(_exp8())({
36
- name: "StyledRightArrow",
37
- "class": "sax6mvm",
38
- propsAsIs: true
39
- });
40
- var _exp10 = function _exp10() {
41
- return StyledArrow;
42
- };
43
- var StyledTopArrow = /*#__PURE__*/react.styled(_exp10())({
44
- name: "StyledTopArrow",
45
- "class": "s1n81rr8",
46
- propsAsIs: true
47
- });
48
- var _exp12 = function _exp12() {
49
- return StyledArrow;
50
- };
51
- var StyledBottomArrow = /*#__PURE__*/react.styled(_exp12())({
52
- name: "StyledBottomArrow",
53
- "class": "s7ukuvj",
54
- propsAsIs: true
55
- });
56
24
 
57
25
  exports.StyledArrow = StyledArrow;
58
- exports.StyledBottomArrow = StyledBottomArrow;
59
26
  exports.StyledContent = StyledContent;
60
27
  exports.StyledContentWrapper = StyledContentWrapper;
61
- exports.StyledLeftArrow = StyledLeftArrow;
62
- exports.StyledRightArrow = StyledRightArrow;
63
- exports.StyledTopArrow = StyledTopArrow;
64
28
  exports.base = base;
65
29
  //# sourceMappingURL=SegmentGroup.styles.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SegmentGroup.styles.js","sources":["../../../../../src/components/Segment/ui/SegmentGroup/SegmentGroup.styles.ts"],"sourcesContent":["import { css } from '@linaria/core';\nimport { styled } from '@linaria/react';\n\nimport { addFocus } from '../../../../mixins';\nimport { classes, tokens } from '../../tokens';\n\nexport const base = css`\n display: inline-flex;\n align-items: center;\n\n --plasma_private-outline-radius: var(${tokens.groupBorderRadius});\n border-radius: var(${tokens.groupBorderRadius});\n`;\n\nexport const StyledContent = styled.div`\n display: inline-flex;\n flex-direction: row;\n align-items: center;\n`;\n\nexport const StyledContentWrapper = styled.div`\n position: relative;\n height: 100%;\n width: 100%;\n padding: 0.125rem;\n box-sizing: content-box;\n\n display: flex;\n align-items: center;\n\n &.${classes.segmentGroupClipScroll} {\n overflow: scroll;\n scroll-padding: 0.25rem;\n overscroll-behavior: contain;\n\n scrollbar-width: none;\n ::-webkit-scrollbar {\n display: none;\n }\n }\n\n &.${classes.segmentGroupClipShowAll} {\n overflow: visible;\n }\n`;\n\nexport const StyledArrow = styled.button`\n display: flex;\n cursor: pointer;\n border: none;\n background-color: transparent;\n outline: none;\n\n ${addFocus({\n outlineSize: '0.063rem',\n outlineOffset: '-0.125rem',\n outlineColor: `var(${tokens.outlineFocusColor})`,\n outlineRadius: 'calc(var(--plasma_private-outline-radius) - 0.063rem)',\n })};\n\n &[disabled] {\n cursor: not-allowed;\n }\n`;\n\nexport const StyledLeftArrow = styled(StyledArrow)`\n padding: var(${tokens.groupArrowPadding});\n padding-right: 0;\n margin-right: 0.1875rem;\n margin-left: 0.125rem;\n`;\n\nexport const StyledRightArrow = styled(StyledArrow)`\n padding: var(${tokens.groupArrowPadding});\n padding-left: 0;\n margin-left: 0.1875rem;\n margin-right: 0.125rem;\n`;\n\nexport const StyledTopArrow = styled(StyledArrow)`\n padding: var(${tokens.groupVerticalArrowPadding});\n padding-bottom: 0;\n margin-bottom: 0.1875rem;\n`;\n\nexport const StyledBottomArrow = styled(StyledArrow)`\n padding: var(${tokens.groupVerticalArrowPadding});\n padding-top: 0;\n margin-top: 0.1875rem;\n`;\n"],"names":["base","StyledContent","styled","name","class","propsAsIs","StyledContentWrapper","StyledArrow","_exp6","StyledLeftArrow","_exp8","StyledRightArrow","_exp10","StyledTopArrow","_exp12","StyledBottomArrow"],"mappings":";;;;;;AAMO,IAAMA,IAAI,GAMhB,UAAA;AAEM,IAAMC,aAAa,gBAAGC,YAAM,CAAA,KAAA,CAAA,CAAA;AAAAC,EAAAA,IAAA,EAAA,eAAA;AAAAC,EAAAA,OAAAA,EAAA,SAAA;AAAAC,EAAAA,SAAA,EAAA,KAAA;AAAA,CAIlC,EAAA;AAEM,IAAMC,oBAAoB,gBAAGJ,YAAM,CAAA,KAAA,CAAA,CAAA;AAAAC,EAAAA,IAAA,EAAA,sBAAA;AAAAC,EAAAA,OAAAA,EAAA,SAAA;AAAAC,EAAAA,SAAA,EAAA,KAAA;AAAA,CAwBzC,EAAA;AAEM,IAAME,WAAW,gBAAGL,YAAM,CAAA,QAAA,CAAA,CAAA;AAAAC,EAAAA,IAAA,EAAA,aAAA;AAAAC,EAAAA,OAAAA,EAAA,UAAA;AAAAC,EAAAA,SAAA,EAAA,KAAA;AAAA,CAiBhC,EAAA;AAAC,IAAAG,KAAA,GA9DgBA,SA8DhBA,KAAAA,GAAA;AAAA,EAAA,OAEoCD,WAAW,CAAA;AAAA,CAAA,CAAA;AAA1C,IAAME,eAAe,gBAAGP,YAAM,CAAAM,KAAA,EAAA,CAAA,CAAA;AAAAL,EAAAA,IAAA,EAAA,iBAAA;AAAAC,EAAAA,OAAAA,EAAA,SAAA;AAAAC,EAAAA,SAAA,EAAA,IAAA;AAAA,CAKpC,EAAA;AAAC,IAAAK,KAAA,GArEgBA,SAqEhBA,KAAAA,GAAA;AAAA,EAAA,OAEqCH,WAAW,CAAA;AAAA,CAAA,CAAA;AAA3C,IAAMI,gBAAgB,gBAAGT,YAAM,CAAAQ,KAAA,EAAA,CAAA,CAAA;AAAAP,EAAAA,IAAA,EAAA,kBAAA;AAAAC,EAAAA,OAAAA,EAAA,SAAA;AAAAC,EAAAA,SAAA,EAAA,IAAA;AAAA,CAKrC,EAAA;AAAC,IAAAO,MAAA,GA5EgBA,SA4EhBA,MAAAA,GAAA;AAAA,EAAA,OAEmCL,WAAW,CAAA;AAAA,CAAA,CAAA;AAAzC,IAAMM,cAAc,gBAAGX,YAAM,CAAAU,MAAA,EAAA,CAAA,CAAA;AAAAT,EAAAA,IAAA,EAAA,gBAAA;AAAAC,EAAAA,OAAAA,EAAA,UAAA;AAAAC,EAAAA,SAAA,EAAA,IAAA;AAAA,CAInC,EAAA;AAAC,IAAAS,MAAA,GAlFgBA,SAkFhBA,MAAAA,GAAA;AAAA,EAAA,OAEsCP,WAAW,CAAA;AAAA,CAAA,CAAA;AAA5C,IAAMQ,iBAAiB,gBAAGb,YAAM,CAAAY,MAAA,EAAA,CAAA,CAAA;AAAAX,EAAAA,IAAA,EAAA,mBAAA;AAAAC,EAAAA,OAAAA,EAAA,SAAA;AAAAC,EAAAA,SAAA,EAAA,IAAA;AAAA,CAItC;;;;;;;;;;;"}
1
+ {"version":3,"file":"SegmentGroup.styles.js","sources":["../../../../../src/components/Segment/ui/SegmentGroup/SegmentGroup.styles.ts"],"sourcesContent":["import { css } from '@linaria/core';\nimport { styled } from '@linaria/react';\n\nimport { addFocus } from '../../../../mixins';\nimport { tokens } from '../../tokens';\n\nexport const base = css`\n display: inline-flex;\n align-items: center;\n`;\n\nexport const StyledContent = styled.div`\n display: inline-flex;\n flex-direction: row;\n align-items: center;\n`;\n\nexport const StyledContentWrapper = styled.div`\n position: relative;\n height: 100%;\n margin: 0;\n\n /* allows correctly display outline focus on segment item */\n padding: 0.25rem;\n\n /* stylelint-disable-next-line selector-max-empty-lines, selector-nested-pattern, selector-type-no-unknown */\n ::-webkit-scrollbar {\n display: none;\n }\n\n overflow-x: auto;\n overflow-y: hidden;\n scroll-behavior: smooth;\n scroll-snap-type: x mandatory;\n`;\n\nexport const StyledArrow = styled.button`\n display: flex;\n cursor: pointer;\n border: none;\n background-color: transparent;\n padding: 0;\n outline: none;\n\n ${addFocus({\n outlineSize: '0.063rem',\n outlineOffset: '-0.125rem',\n outlineColor: `var(${tokens.outlineFocusColor})`,\n outlineRadius: 'calc(var(--plasma_private-outline-radius) - 0.063rem)',\n })};\n\n &[disabled] {\n cursor: not-allowed;\n }\n`;\n"],"names":["base","StyledContent","styled","name","class","propsAsIs","StyledContentWrapper","StyledArrow"],"mappings":";;;;;;AAMO,IAAMA,IAAI,GAGhB,UAAA;AAEM,IAAMC,aAAa,gBAAGC,YAAM,CAAA,KAAA,CAAA,CAAA;AAAAC,EAAAA,IAAA,EAAA,eAAA;AAAAC,EAAAA,OAAAA,EAAA,SAAA;AAAAC,EAAAA,SAAA,EAAA,KAAA;AAAA,CAIlC,EAAA;AAEM,IAAMC,oBAAoB,gBAAGJ,YAAM,CAAA,KAAA,CAAA,CAAA;AAAAC,EAAAA,IAAA,EAAA,sBAAA;AAAAC,EAAAA,OAAAA,EAAA,SAAA;AAAAC,EAAAA,SAAA,EAAA,KAAA;AAAA,CAiBzC,EAAA;AAEM,IAAME,WAAW,gBAAGL,YAAM,CAAA,QAAA,CAAA,CAAA;AAAAC,EAAAA,IAAA,EAAA,aAAA;AAAAC,EAAAA,OAAAA,EAAA,UAAA;AAAAC,EAAAA,SAAA,EAAA,KAAA;AAAA,CAkBhC;;;;;;;"}
@@ -0,0 +1,4 @@
1
+ .b2sori2{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;}
2
+ .sin9wo2{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;}
3
+ .spuzt9m{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;}.spuzt9m::-webkit-scrollbar{display:none;}
4
+ .s1qf4oye{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;cursor:pointer;border:none;background-color:transparent;padding:0;outline:none;position:relative;}.s1qf4oye::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;}.s1qf4oye.focus-visible:focus::before,.s1qf4oye[data-focus-visible-added]::before{outline:none;box-shadow:0 0 0 0.063rem var(--plasma-segment-outline-focus-color);}.s1qf4oye[disabled]{cursor:not-allowed;}
@@ -1,14 +1,10 @@
1
1
  .base_7kjuok_b1kyapt7__5060a19f{font-family:var(--plasma-segment-item-font-family);font-size:var(--plasma-segment-item-font-size);font-style:var(--plasma-segment-item-font-style);font-weight:var(--plasma-segment-item-font-weight);-webkit-letter-spacing:var(--plasma-segment-item-letter-spacing);-moz-letter-spacing:var(--plasma-segment-item-letter-spacing);-ms-letter-spacing:var(--plasma-segment-item-letter-spacing);letter-spacing:var(--plasma-segment-item-letter-spacing);line-height:var(--plasma-segment-item-lineheight);--plasma_private-outline-radius:var(--plasma-segment-item-border-radius);border-radius:var(--plasma-segment-item-border-radius);width:var(--plasma-segment-item-width);height:var(--plasma-segment-item-height);padding:var(--plasma-segment-item-padding);}
2
2
 
3
- .base_168a47w_b1tykljf__d270d938{color:var(--plasma-segment-item-color);background-color:var(--plasma-segment-item-background-color);}.base_168a47w_b1tykljf__d270d938:hover{color:var(--plasma-segment-item-color-hover);background-color:var(--plasma-segment-item-background-color-hover);}.base_168a47w_b1tykljf__d270d938:hover .base_168a47w_rgzn5ju__d270d938{color:var(--plasma-segment-item-additional-color-hover);}.base_168a47w_b1tykljf__d270d938.base_168a47w_selectedSegmentItem__d270d938{color:var(--plasma-segment-item-selected-color);background-color:var(--plasma-segment-item-selected-background-color);}.base_168a47w_b1tykljf__d270d938.base_168a47w_selectedSegmentItem__d270d938 .base_168a47w_rgzn5ju__d270d938{color:var(--plasma-segment-item-selected-additional-color);}.base_168a47w_b1tykljf__d270d938.base_168a47w_selectedSegmentItem__d270d938:hover{color:var(--plasma-segment-item-selected-color-hover);background-color:var(--plasma-segment-item-selected-background-color-hover);}.base_168a47w_b1tykljf__d270d938.base_168a47w_selectedSegmentItem__d270d938:hover .base_168a47w_rgzn5ju__d270d938{color:var(--plasma-segment-item-selected-additional-color-hover);}
3
+ .base_1m1u2ys_b1tykljf__1c5eb012{color:var(--plasma-segment-item-color);background-color:var(--plasma-segment-item-background-color);}.base_1m1u2ys_b1tykljf__1c5eb012:hover{color:var(--plasma-segment-item-color-hover);background-color:var(--plasma-segment-item-background-color-hover);}.base_1m1u2ys_b1tykljf__1c5eb012.base_1m1u2ys_selectedSegmentItem__1c5eb012{color:var(--plasma-segment-item-selected-color);background-color:var(--plasma-segment-item-selected-background-color);}.base_1m1u2ys_b1tykljf__1c5eb012.base_1m1u2ys_selectedSegmentItem__1c5eb012:hover{color:var(--plasma-segment-item-selected-color-hover);background-color:var(--plasma-segment-item-selected-background-color-hover);}
4
4
 
5
5
  .base_y6af8r_bwprat9__353907e1[disabled]{cursor:not-allowed;}.base_y6af8r_bwprat9__353907e1[disabled]:hover{color:var(--plasma-segment-item-color);background-color:var(--plasma-segment-item-background-color);}.base_y6af8r_bwprat9__353907e1[disabled].base_y6af8r_selectedSegmentItem__353907e1:hover{color:var(--plasma-segment-item-selected-color);background-color:var(--plasma-segment-item-selected-background-color);}
6
6
 
7
- .base_omc5u1_b795lc7__e9b122aa.base_omc5u1_segmentPilled__e9b122aa{--plasma_private-outline-radius:var(--plasma-segment-item-pilled-border-radius);border-radius:var(--plasma-segment-item-pilled-border-radius);padding:var(--plasma-segment-item-pilled-padding);}
7
+ .base_15s0fel_b795lc7__4501241a.base_15s0fel_segmentPilled__4501241a{--plasma_private-outline-radius:var(--plasma-segment-item-pilled-border-radius);border-radius:var(--plasma-segment-item-pilled-border-radius);}
8
8
 
9
- .SegmentItem_styles_f1jpip_bxcdyja__cfc991ac{position:relative;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;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;box-sizing:border-box;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;outline:none;cursor:pointer;margin-left:var(--plasma-segment-item-margin-left);-webkit-tap-highlight-color:rgba(0,0,0,0);position:relative;}.SegmentItem_styles_f1jpip_bxcdyja__cfc991ac:first-child{margin-left:0;}.SegmentItem_styles_f1jpip_bxcdyja__cfc991ac::before{content:'';position:absolute;top:0.063rem;left:0.063rem;right:0.063rem;bottom:0.063rem;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;}.SegmentItem_styles_f1jpip_bxcdyja__cfc991ac.SegmentItem_styles_f1jpip_focusVisible__cfc991ac:focus::before,.SegmentItem_styles_f1jpip_bxcdyja__cfc991ac[data-focus-visible-added]::before{z-index:1;outline:none;box-shadow:0 0 0 0.063rem var(--plasma-segment-outline-focus-color);}
10
- .SegmentItem_styles_f1jpip_sxjfe87__cfc991ac{margin-right:var(--plasma-segment-item-content-icon-margin);}
11
- .SegmentItem_styles_f1jpip_s1gg7fed__cfc991ac{margin-left:var(--plasma-segment-item-content-icon-margin);}
12
- .SegmentItem_styles_f1jpip_sctm1j9__cfc991ac{display:inline-block;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;padding:var(--plasma-segment-item-content-padding);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-right:var(--sctm1j9-0);margin-left:var(--sctm1j9-1);}
13
- .SegmentItem_styles_f1jpip_rgzn5ju__cfc991ac{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;margin-left:var(--plasma-segment-item-content-icon-margin);color:var(--plasma-segment-item-additional-color);}
14
- .SegmentItem_styles_f1jpip_l1sp2ipp__cfc991ac{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;margin-right:var(--plasma-segment-item-content-icon-margin);color:inherit;}
9
+ .SegmentItem_styles_18h1p52_bxcdyja__b7ac762c{position:relative;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;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;box-sizing:border-box;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;outline:none;cursor:pointer;margin-left:var(--plasma-segment-item-margin-left);-webkit-tap-highlight-color:rgba(0,0,0,0);position:relative;}.SegmentItem_styles_18h1p52_bxcdyja__b7ac762c:first-child{margin-left:0;}.SegmentItem_styles_18h1p52_bxcdyja__b7ac762c::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;}.SegmentItem_styles_18h1p52_bxcdyja__b7ac762c.SegmentItem_styles_18h1p52_focusVisible__b7ac762c:focus::before,.SegmentItem_styles_18h1p52_bxcdyja__b7ac762c[data-focus-visible-added]::before{z-index:1;outline:none;box-shadow:0 0 0 0.063rem var(--plasma-segment-outline-focus-color);}
10
+ .SegmentItem_styles_18h1p52_sxjfe87__b7ac762c{display:inline-block;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
@@ -15,7 +15,7 @@ var base$3 = require('./variations/_pilled/base.js');
15
15
  var SegmentItem_styles = require('./SegmentItem.styles.js');
16
16
  var extractTextFrom = require('../../../../utils/extractTextFrom.js');
17
17
 
18
- var _excluded = ["size", "view", "id", "label", "value", "pilled", "contentLeft", "contentRight", "customHandleSelect", "skipSelection", "aria-label"];
18
+ var _excluded = ["size", "view", "id", "label", "value", "pilled", "customHandleSelect", "aria-label"];
19
19
  var segmentItemRoot = function segmentItemRoot(Root) {
20
20
  return /*#__PURE__*/React.forwardRef(function (props, outerRef) {
21
21
  var size = props.size,
@@ -24,10 +24,7 @@ var segmentItemRoot = function segmentItemRoot(Root) {
24
24
  label = props.label,
25
25
  value = props.value,
26
26
  pilled = props.pilled,
27
- contentLeft = props.contentLeft,
28
- contentRight = props.contentRight,
29
27
  customHandleSelect = props.customHandleSelect,
30
- skipSelection = props.skipSelection,
31
28
  ariaLabelExternal = props['aria-label'],
32
29
  rest = _rollupPluginBabelHelpers.objectWithoutProperties(props, _excluded);
33
30
  var _useSegmentInner = SegmentProvider.useSegmentInner(),
@@ -42,19 +39,15 @@ var segmentItemRoot = function segmentItemRoot(Root) {
42
39
  }, [label]);
43
40
  var pilledAttr = view !== 'clear' && pilled;
44
41
  var pilledClass = pilledAttr ? tokens.classes.segmentPilled : undefined;
45
- var xsSize = size === 'xs' ? tokens.classes.segmentXsSize : undefined;
46
42
  var isSelected = selectedSegmentItems === null || selectedSegmentItems === void 0 ? void 0 : selectedSegmentItems.includes(value || ariaLabelDefault);
47
43
  var selectedClass = isSelected ? tokens.classes.selectedSegmentItem : undefined;
48
44
  var handleSelectSegment = React.useCallback(function (event) {
49
45
  if (disabledGroup) {
50
46
  return;
51
47
  }
52
- if (skipSelection) {
53
- return;
54
- }
55
48
  customHandleSelect === null || customHandleSelect === void 0 || customHandleSelect(event);
56
49
  handleSelect === null || handleSelect === void 0 || handleSelect(value || ariaLabelDefault);
57
- }, [selectionMode, disabledGroup, skipSelection]);
50
+ }, [selectionMode]);
58
51
  return /*#__PURE__*/React.createElement(Root, _rollupPluginBabelHelpers.extends({
59
52
  view: view,
60
53
  size: size,
@@ -63,11 +56,11 @@ var segmentItemRoot = function segmentItemRoot(Root) {
63
56
  "aria-label": ariaLabelExternal || ariaLabelDefault,
64
57
  value: value,
65
58
  pilled: pilledAttr,
66
- className: index.cx(selectedClass, pilledClass, xsSize),
59
+ className: index.cx(selectedClass, pilledClass),
67
60
  onClick: handleSelectSegment,
68
61
  tabIndex: disabledGroup ? -1 : 0,
69
62
  disabled: disabledGroup
70
- }, rest), contentLeft && /*#__PURE__*/React.createElement(SegmentItem_styles.LeftContent, null, contentLeft), /*#__PURE__*/React.createElement(SegmentItem_styles.StyledContent, null, label || value), contentRight && /*#__PURE__*/React.createElement(SegmentItem_styles.RightContent, null, contentRight));
63
+ }, rest), /*#__PURE__*/React.createElement(SegmentItem_styles.StyledContent, null, label || value));
71
64
  });
72
65
  };
73
66
  var segmentItemConfig = {