@salutejs/plasma-new-hope 0.168.0-dev.0 → 0.169.0-canary.1392.11363976712.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (278) hide show
  1. package/cjs/components/Calendar/ui/CalendarHeader/CalendarHeader.js +1 -1
  2. package/cjs/components/Segment/tokens.js +15 -1
  3. package/cjs/components/Segment/tokens.js.map +1 -1
  4. package/cjs/components/Segment/ui/SegmentGroup/SegmentGroup.css +13 -7
  5. package/cjs/components/Segment/ui/SegmentGroup/SegmentGroup.js +180 -88
  6. package/cjs/components/Segment/ui/SegmentGroup/SegmentGroup.js.map +1 -1
  7. package/cjs/components/Segment/ui/SegmentGroup/SegmentGroup.styles.js +37 -1
  8. package/cjs/components/Segment/ui/SegmentGroup/SegmentGroup.styles.js.map +1 -1
  9. package/cjs/components/Segment/ui/SegmentGroup/SegmentGroup.styles_79d8q2.css +8 -0
  10. package/cjs/components/Segment/ui/SegmentGroup/variations/_filledBackgound/base.js +1 -1
  11. package/cjs/components/Segment/ui/SegmentGroup/variations/_filledBackgound/base.js.map +1 -1
  12. package/cjs/components/Segment/ui/SegmentGroup/variations/_filledBackgound/base_a7w5s0.css +1 -0
  13. package/cjs/components/Segment/ui/SegmentGroup/variations/_orientation/base.js +9 -0
  14. package/cjs/components/Segment/ui/SegmentGroup/variations/_orientation/base.js.map +1 -0
  15. package/cjs/components/Segment/ui/SegmentGroup/variations/_orientation/base_1ejecy9.css +1 -0
  16. package/cjs/components/Segment/ui/SegmentGroup/variations/_pilled/base.js +1 -1
  17. package/cjs/components/Segment/ui/SegmentGroup/variations/_pilled/base.js.map +1 -1
  18. package/cjs/components/Segment/ui/SegmentGroup/variations/_pilled/base_pxl3nb.css +1 -0
  19. package/cjs/components/Segment/ui/SegmentGroup/variations/_size/base.js +1 -1
  20. package/cjs/components/Segment/ui/SegmentGroup/variations/_size/base.js.map +1 -1
  21. package/cjs/components/Segment/ui/SegmentGroup/variations/_size/base_18cpjsq.css +1 -0
  22. package/cjs/components/Segment/ui/SegmentItem/SegmentItem.css +6 -4
  23. package/cjs/components/Segment/ui/SegmentItem/SegmentItem.js +14 -9
  24. package/cjs/components/Segment/ui/SegmentItem/SegmentItem.js.map +1 -1
  25. package/cjs/components/Segment/ui/SegmentItem/SegmentItem.styles.js +30 -1
  26. package/cjs/components/Segment/ui/SegmentItem/SegmentItem.styles.js.map +1 -1
  27. package/cjs/components/Segment/ui/SegmentItem/SegmentItem.styles_19oo2vi.css +4 -0
  28. package/cjs/components/Segment/ui/SegmentItem/variations/_pilled/base.js +1 -1
  29. package/cjs/components/Segment/ui/SegmentItem/variations/_pilled/base.js.map +1 -1
  30. package/cjs/components/Segment/ui/SegmentItem/variations/_pilled/{base_15s0fel.css → base_omc5u1.css} +1 -1
  31. package/cjs/components/Segment/ui/SegmentItem/variations/_view/base.js +1 -1
  32. package/cjs/components/Segment/ui/SegmentItem/variations/_view/base.js.map +1 -1
  33. package/cjs/components/Segment/ui/SegmentItem/variations/_view/base_dettiq.css +1 -0
  34. package/cjs/components/Tabs/ui/horizontal/HorizontalTabs/HorizontalTabs.js +1 -1
  35. package/cjs/components/Tabs/ui/vertical/VerticalTabs/VerticalTabs.js +1 -1
  36. package/cjs/components/_Icon/Icon.assets/DisclosureDownWithOffset.js +22 -0
  37. package/cjs/components/_Icon/Icon.assets/DisclosureDownWithOffset.js.map +1 -0
  38. package/cjs/components/_Icon/Icon.assets/DisclosureLeftWithOffset.js +22 -0
  39. package/cjs/components/_Icon/Icon.assets/DisclosureLeftWithOffset.js.map +1 -0
  40. package/cjs/components/_Icon/Icon.assets/DisclosureRightWithOffset.js +22 -0
  41. package/cjs/components/_Icon/Icon.assets/DisclosureRightWithOffset.js.map +1 -0
  42. package/cjs/components/_Icon/Icon.assets/DisclosureUpWithOffset.js +22 -0
  43. package/cjs/components/_Icon/Icon.assets/DisclosureUpWithOffset.js.map +1 -0
  44. package/cjs/components/_Icon/Icons/IconDisclosureDownWithOffset.js +23 -0
  45. package/cjs/components/_Icon/Icons/IconDisclosureDownWithOffset.js.map +1 -0
  46. package/cjs/components/_Icon/Icons/IconDisclosureLeftWithOffset.js +23 -0
  47. package/cjs/components/_Icon/Icons/IconDisclosureLeftWithOffset.js.map +1 -0
  48. package/cjs/components/_Icon/Icons/IconDisclosureRightWithOffset.js +23 -0
  49. package/cjs/components/_Icon/Icons/IconDisclosureRightWithOffset.js.map +1 -0
  50. package/cjs/components/_Icon/Icons/IconDisclosureUpWithOffset.js +23 -0
  51. package/cjs/components/_Icon/Icons/IconDisclosureUpWithOffset.js.map +1 -0
  52. package/cjs/index.css +19 -11
  53. package/emotion/cjs/components/Segment/Segment.template-doc.mdx +49 -6
  54. package/emotion/cjs/components/Segment/tokens.js +15 -1
  55. package/emotion/cjs/components/Segment/ui/SegmentGroup/SegmentGroup.js +174 -85
  56. package/emotion/cjs/components/Segment/ui/SegmentGroup/SegmentGroup.styles.js +29 -29
  57. package/emotion/cjs/components/Segment/ui/SegmentGroup/variations/_filledBackgound/base.js +1 -1
  58. package/emotion/cjs/components/Segment/ui/SegmentGroup/variations/_orientation/base.js +10 -0
  59. package/emotion/cjs/components/Segment/ui/SegmentGroup/variations/_orientation/tokens.json +1 -0
  60. package/emotion/cjs/components/Segment/ui/SegmentGroup/variations/_pilled/base.js +1 -1
  61. package/emotion/cjs/components/Segment/ui/SegmentGroup/variations/_size/base.js +1 -1
  62. package/emotion/cjs/components/Segment/ui/SegmentItem/SegmentItem.js +14 -9
  63. package/emotion/cjs/components/Segment/ui/SegmentItem/SegmentItem.styles.js +21 -7
  64. package/emotion/cjs/components/Segment/ui/SegmentItem/variations/_pilled/base.js +1 -1
  65. package/emotion/cjs/components/Segment/ui/SegmentItem/variations/_view/base.js +2 -1
  66. package/emotion/cjs/components/_Icon/Icon.assets/DisclosureDownWithOffset.js +21 -0
  67. package/emotion/cjs/components/_Icon/Icon.assets/DisclosureLeftWithOffset.js +21 -0
  68. package/emotion/cjs/components/_Icon/Icon.assets/DisclosureRightWithOffset.js +21 -0
  69. package/emotion/cjs/components/_Icon/Icon.assets/DisclosureUpWithOffset.js +21 -0
  70. package/emotion/cjs/components/_Icon/Icons/IconDisclosureDownWithOffset.js +22 -0
  71. package/emotion/cjs/components/_Icon/Icons/IconDisclosureLeftWithOffset.js +22 -0
  72. package/emotion/cjs/components/_Icon/Icons/IconDisclosureRightWithOffset.js +22 -0
  73. package/emotion/cjs/components/_Icon/Icons/IconDisclosureUpWithOffset.js +22 -0
  74. package/emotion/cjs/components/_Icon/index.js +28 -0
  75. package/emotion/cjs/examples/plasma_b2c/components/Segment/Segment.stories.tsx +118 -42
  76. package/emotion/cjs/examples/plasma_b2c/components/Segment/SegmentGroup.config.js +13 -10
  77. package/emotion/cjs/examples/plasma_b2c/components/Segment/SegmentItem.config.js +9 -9
  78. package/emotion/cjs/examples/plasma_web/components/Segment/Segment.stories.tsx +119 -42
  79. package/emotion/cjs/examples/plasma_web/components/Segment/SegmentGroup.config.js +15 -9
  80. package/emotion/cjs/examples/plasma_web/components/Segment/SegmentItem.config.js +9 -9
  81. package/emotion/es/components/Segment/Segment.template-doc.mdx +49 -6
  82. package/emotion/es/components/Segment/tokens.js +15 -1
  83. package/emotion/es/components/Segment/ui/SegmentGroup/SegmentGroup.js +177 -88
  84. package/emotion/es/components/Segment/ui/SegmentGroup/SegmentGroup.styles.js +29 -29
  85. package/emotion/es/components/Segment/ui/SegmentGroup/variations/_filledBackgound/base.js +1 -1
  86. package/emotion/es/components/Segment/ui/SegmentGroup/variations/_orientation/base.js +4 -0
  87. package/emotion/es/components/Segment/ui/SegmentGroup/variations/_orientation/tokens.json +1 -0
  88. package/emotion/es/components/Segment/ui/SegmentGroup/variations/_pilled/base.js +1 -1
  89. package/emotion/es/components/Segment/ui/SegmentGroup/variations/_size/base.js +1 -1
  90. package/emotion/es/components/Segment/ui/SegmentItem/SegmentItem.js +15 -10
  91. package/emotion/es/components/Segment/ui/SegmentItem/SegmentItem.styles.js +21 -7
  92. package/emotion/es/components/Segment/ui/SegmentItem/variations/_pilled/base.js +1 -1
  93. package/emotion/es/components/Segment/ui/SegmentItem/variations/_view/base.js +2 -1
  94. package/emotion/es/components/_Icon/Icon.assets/DisclosureDownWithOffset.js +14 -0
  95. package/emotion/es/components/_Icon/Icon.assets/DisclosureLeftWithOffset.js +14 -0
  96. package/emotion/es/components/_Icon/Icon.assets/DisclosureRightWithOffset.js +14 -0
  97. package/emotion/es/components/_Icon/Icon.assets/DisclosureUpWithOffset.js +14 -0
  98. package/emotion/es/components/_Icon/Icons/IconDisclosureDownWithOffset.js +15 -0
  99. package/emotion/es/components/_Icon/Icons/IconDisclosureLeftWithOffset.js +15 -0
  100. package/emotion/es/components/_Icon/Icons/IconDisclosureRightWithOffset.js +15 -0
  101. package/emotion/es/components/_Icon/Icons/IconDisclosureUpWithOffset.js +15 -0
  102. package/emotion/es/components/_Icon/index.js +4 -0
  103. package/emotion/es/examples/plasma_b2c/components/Segment/Segment.stories.tsx +118 -42
  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_web/components/Segment/Segment.stories.tsx +119 -42
  107. package/emotion/es/examples/plasma_web/components/Segment/SegmentGroup.config.js +15 -9
  108. package/emotion/es/examples/plasma_web/components/Segment/SegmentItem.config.js +9 -9
  109. package/es/components/Calendar/ui/CalendarHeader/CalendarHeader.js +1 -1
  110. package/es/components/Segment/tokens.js +15 -1
  111. package/es/components/Segment/tokens.js.map +1 -1
  112. package/es/components/Segment/ui/SegmentGroup/SegmentGroup.css +13 -7
  113. package/es/components/Segment/ui/SegmentGroup/SegmentGroup.js +183 -92
  114. package/es/components/Segment/ui/SegmentGroup/SegmentGroup.js.map +1 -1
  115. package/es/components/Segment/ui/SegmentGroup/SegmentGroup.styles.js +34 -2
  116. package/es/components/Segment/ui/SegmentGroup/SegmentGroup.styles.js.map +1 -1
  117. package/es/components/Segment/ui/SegmentGroup/SegmentGroup.styles_79d8q2.css +8 -0
  118. package/es/components/Segment/ui/SegmentGroup/variations/_filledBackgound/base.js +1 -1
  119. package/es/components/Segment/ui/SegmentGroup/variations/_filledBackgound/base.js.map +1 -1
  120. package/es/components/Segment/ui/SegmentGroup/variations/_filledBackgound/base_a7w5s0.css +1 -0
  121. package/es/components/Segment/ui/SegmentGroup/variations/_orientation/base.js +5 -0
  122. package/es/components/Segment/ui/SegmentGroup/variations/_orientation/base.js.map +1 -0
  123. package/es/components/Segment/ui/SegmentGroup/variations/_orientation/base_1ejecy9.css +1 -0
  124. package/es/components/Segment/ui/SegmentGroup/variations/_pilled/base.js +1 -1
  125. package/es/components/Segment/ui/SegmentGroup/variations/_pilled/base.js.map +1 -1
  126. package/es/components/Segment/ui/SegmentGroup/variations/_pilled/base_pxl3nb.css +1 -0
  127. package/es/components/Segment/ui/SegmentGroup/variations/_size/base.js +1 -1
  128. package/es/components/Segment/ui/SegmentGroup/variations/_size/base.js.map +1 -1
  129. package/es/components/Segment/ui/SegmentGroup/variations/_size/base_18cpjsq.css +1 -0
  130. package/es/components/Segment/ui/SegmentItem/SegmentItem.css +6 -4
  131. package/es/components/Segment/ui/SegmentItem/SegmentItem.js +15 -10
  132. package/es/components/Segment/ui/SegmentItem/SegmentItem.js.map +1 -1
  133. package/es/components/Segment/ui/SegmentItem/SegmentItem.styles.js +29 -2
  134. package/es/components/Segment/ui/SegmentItem/SegmentItem.styles.js.map +1 -1
  135. package/es/components/Segment/ui/SegmentItem/SegmentItem.styles_19oo2vi.css +4 -0
  136. package/es/components/Segment/ui/SegmentItem/variations/_pilled/base.js +1 -1
  137. package/es/components/Segment/ui/SegmentItem/variations/_pilled/base.js.map +1 -1
  138. package/es/components/Segment/ui/SegmentItem/variations/_pilled/{base_15s0fel.css → base_omc5u1.css} +1 -1
  139. package/es/components/Segment/ui/SegmentItem/variations/_view/base.js +1 -1
  140. package/es/components/Segment/ui/SegmentItem/variations/_view/base.js.map +1 -1
  141. package/es/components/Segment/ui/SegmentItem/variations/_view/base_dettiq.css +1 -0
  142. package/es/components/Tabs/ui/horizontal/HorizontalTabs/HorizontalTabs.js +1 -1
  143. package/es/components/Tabs/ui/vertical/VerticalTabs/VerticalTabs.js +1 -1
  144. package/es/components/_Icon/Icon.assets/DisclosureDownWithOffset.js +18 -0
  145. package/es/components/_Icon/Icon.assets/DisclosureDownWithOffset.js.map +1 -0
  146. package/es/components/_Icon/Icon.assets/DisclosureLeftWithOffset.js +18 -0
  147. package/es/components/_Icon/Icon.assets/DisclosureLeftWithOffset.js.map +1 -0
  148. package/es/components/_Icon/Icon.assets/DisclosureRightWithOffset.js +18 -0
  149. package/es/components/_Icon/Icon.assets/DisclosureRightWithOffset.js.map +1 -0
  150. package/es/components/_Icon/Icon.assets/DisclosureUpWithOffset.js +18 -0
  151. package/es/components/_Icon/Icon.assets/DisclosureUpWithOffset.js.map +1 -0
  152. package/es/components/_Icon/Icons/IconDisclosureDownWithOffset.js +19 -0
  153. package/es/components/_Icon/Icons/IconDisclosureDownWithOffset.js.map +1 -0
  154. package/es/components/_Icon/Icons/IconDisclosureLeftWithOffset.js +19 -0
  155. package/es/components/_Icon/Icons/IconDisclosureLeftWithOffset.js.map +1 -0
  156. package/es/components/_Icon/Icons/IconDisclosureRightWithOffset.js +19 -0
  157. package/es/components/_Icon/Icons/IconDisclosureRightWithOffset.js.map +1 -0
  158. package/es/components/_Icon/Icons/IconDisclosureUpWithOffset.js +19 -0
  159. package/es/components/_Icon/Icons/IconDisclosureUpWithOffset.js.map +1 -0
  160. package/es/index.css +19 -11
  161. package/package.json +2 -2
  162. package/styled-components/cjs/components/Segment/Segment.template-doc.mdx +49 -6
  163. package/styled-components/cjs/components/Segment/tokens.js +15 -1
  164. package/styled-components/cjs/components/Segment/ui/SegmentGroup/SegmentGroup.js +174 -85
  165. package/styled-components/cjs/components/Segment/ui/SegmentGroup/SegmentGroup.styles.js +18 -6
  166. package/styled-components/cjs/components/Segment/ui/SegmentGroup/variations/_filledBackgound/base.js +1 -1
  167. package/styled-components/cjs/components/Segment/ui/SegmentGroup/variations/_orientation/base.js +10 -0
  168. package/styled-components/cjs/components/Segment/ui/SegmentGroup/variations/_orientation/tokens.json +1 -0
  169. package/styled-components/cjs/components/Segment/ui/SegmentGroup/variations/_pilled/base.js +1 -1
  170. package/styled-components/cjs/components/Segment/ui/SegmentGroup/variations/_size/base.js +1 -1
  171. package/styled-components/cjs/components/Segment/ui/SegmentItem/SegmentItem.js +14 -9
  172. package/styled-components/cjs/components/Segment/ui/SegmentItem/SegmentItem.styles.js +17 -5
  173. package/styled-components/cjs/components/Segment/ui/SegmentItem/variations/_pilled/base.js +1 -1
  174. package/styled-components/cjs/components/Segment/ui/SegmentItem/variations/_view/base.js +2 -1
  175. package/styled-components/cjs/components/_Icon/Icon.assets/DisclosureDownWithOffset.js +21 -0
  176. package/styled-components/cjs/components/_Icon/Icon.assets/DisclosureLeftWithOffset.js +21 -0
  177. package/styled-components/cjs/components/_Icon/Icon.assets/DisclosureRightWithOffset.js +21 -0
  178. package/styled-components/cjs/components/_Icon/Icon.assets/DisclosureUpWithOffset.js +21 -0
  179. package/styled-components/cjs/components/_Icon/Icons/IconDisclosureDownWithOffset.js +22 -0
  180. package/styled-components/cjs/components/_Icon/Icons/IconDisclosureLeftWithOffset.js +22 -0
  181. package/styled-components/cjs/components/_Icon/Icons/IconDisclosureRightWithOffset.js +22 -0
  182. package/styled-components/cjs/components/_Icon/Icons/IconDisclosureUpWithOffset.js +22 -0
  183. package/styled-components/cjs/components/_Icon/index.js +28 -0
  184. package/styled-components/cjs/examples/plasma_b2c/components/Segment/Segment.stories.tsx +118 -42
  185. package/styled-components/cjs/examples/plasma_b2c/components/Segment/SegmentGroup.config.js +11 -8
  186. package/styled-components/cjs/examples/plasma_b2c/components/Segment/SegmentItem.config.js +8 -8
  187. package/styled-components/cjs/examples/plasma_web/components/Segment/Segment.stories.tsx +119 -42
  188. package/styled-components/cjs/examples/plasma_web/components/Segment/SegmentGroup.config.js +14 -8
  189. package/styled-components/cjs/examples/plasma_web/components/Segment/SegmentItem.config.js +8 -8
  190. package/styled-components/es/components/Segment/Segment.template-doc.mdx +49 -6
  191. package/styled-components/es/components/Segment/tokens.js +15 -1
  192. package/styled-components/es/components/Segment/ui/SegmentGroup/SegmentGroup.js +177 -88
  193. package/styled-components/es/components/Segment/ui/SegmentGroup/SegmentGroup.styles.js +18 -6
  194. package/styled-components/es/components/Segment/ui/SegmentGroup/variations/_filledBackgound/base.js +1 -1
  195. package/styled-components/es/components/Segment/ui/SegmentGroup/variations/_orientation/base.js +4 -0
  196. package/styled-components/es/components/Segment/ui/SegmentGroup/variations/_orientation/tokens.json +1 -0
  197. package/styled-components/es/components/Segment/ui/SegmentGroup/variations/_pilled/base.js +1 -1
  198. package/styled-components/es/components/Segment/ui/SegmentGroup/variations/_size/base.js +1 -1
  199. package/styled-components/es/components/Segment/ui/SegmentItem/SegmentItem.js +15 -10
  200. package/styled-components/es/components/Segment/ui/SegmentItem/SegmentItem.styles.js +17 -5
  201. package/styled-components/es/components/Segment/ui/SegmentItem/variations/_pilled/base.js +1 -1
  202. package/styled-components/es/components/Segment/ui/SegmentItem/variations/_view/base.js +2 -1
  203. package/styled-components/es/components/_Icon/Icon.assets/DisclosureDownWithOffset.js +14 -0
  204. package/styled-components/es/components/_Icon/Icon.assets/DisclosureLeftWithOffset.js +14 -0
  205. package/styled-components/es/components/_Icon/Icon.assets/DisclosureRightWithOffset.js +14 -0
  206. package/styled-components/es/components/_Icon/Icon.assets/DisclosureUpWithOffset.js +14 -0
  207. package/styled-components/es/components/_Icon/Icons/IconDisclosureDownWithOffset.js +15 -0
  208. package/styled-components/es/components/_Icon/Icons/IconDisclosureLeftWithOffset.js +15 -0
  209. package/styled-components/es/components/_Icon/Icons/IconDisclosureRightWithOffset.js +15 -0
  210. package/styled-components/es/components/_Icon/Icons/IconDisclosureUpWithOffset.js +15 -0
  211. package/styled-components/es/components/_Icon/index.js +4 -0
  212. package/styled-components/es/examples/plasma_b2c/components/Segment/Segment.stories.tsx +118 -42
  213. package/styled-components/es/examples/plasma_b2c/components/Segment/SegmentGroup.config.js +11 -8
  214. package/styled-components/es/examples/plasma_b2c/components/Segment/SegmentItem.config.js +8 -8
  215. package/styled-components/es/examples/plasma_web/components/Segment/Segment.stories.tsx +119 -42
  216. package/styled-components/es/examples/plasma_web/components/Segment/SegmentGroup.config.js +14 -8
  217. package/styled-components/es/examples/plasma_web/components/Segment/SegmentItem.config.js +8 -8
  218. package/types/components/Segment/tokens.d.ts +14 -0
  219. package/types/components/Segment/tokens.d.ts.map +1 -1
  220. package/types/components/Segment/ui/SegmentGroup/SegmentGroup.d.ts +6 -18
  221. package/types/components/Segment/ui/SegmentGroup/SegmentGroup.d.ts.map +1 -1
  222. package/types/components/Segment/ui/SegmentGroup/SegmentGroup.styles.d.ts +12 -0
  223. package/types/components/Segment/ui/SegmentGroup/SegmentGroup.styles.d.ts.map +1 -1
  224. package/types/components/Segment/ui/SegmentGroup/SegmentGroup.types.d.ts +20 -3
  225. package/types/components/Segment/ui/SegmentGroup/SegmentGroup.types.d.ts.map +1 -1
  226. package/types/components/Segment/ui/SegmentGroup/variations/_filledBackgound/base.d.ts.map +1 -1
  227. package/types/components/Segment/ui/SegmentGroup/variations/_orientation/base.d.ts +2 -0
  228. package/types/components/Segment/ui/SegmentGroup/variations/_orientation/base.d.ts.map +1 -0
  229. package/types/components/Segment/ui/SegmentGroup/variations/_pilled/base.d.ts.map +1 -1
  230. package/types/components/Segment/ui/SegmentGroup/variations/_size/base.d.ts.map +1 -1
  231. package/types/components/Segment/ui/SegmentItem/SegmentItem.d.ts +4 -0
  232. package/types/components/Segment/ui/SegmentItem/SegmentItem.d.ts.map +1 -1
  233. package/types/components/Segment/ui/SegmentItem/SegmentItem.styles.d.ts +7 -1
  234. package/types/components/Segment/ui/SegmentItem/SegmentItem.styles.d.ts.map +1 -1
  235. package/types/components/Segment/ui/SegmentItem/SegmentItem.types.d.ts +9 -0
  236. package/types/components/Segment/ui/SegmentItem/SegmentItem.types.d.ts.map +1 -1
  237. package/types/components/Segment/ui/SegmentItem/variations/_pilled/base.d.ts.map +1 -1
  238. package/types/components/Segment/ui/SegmentItem/variations/_view/base.d.ts.map +1 -1
  239. package/types/components/_Icon/Icon.assets/DisclosureDownWithOffset.d.ts +4 -0
  240. package/types/components/_Icon/Icon.assets/DisclosureDownWithOffset.d.ts.map +1 -0
  241. package/types/components/_Icon/Icon.assets/DisclosureLeftWithOffset.d.ts +4 -0
  242. package/types/components/_Icon/Icon.assets/DisclosureLeftWithOffset.d.ts.map +1 -0
  243. package/types/components/_Icon/Icon.assets/DisclosureRightWithOffset.d.ts +4 -0
  244. package/types/components/_Icon/Icon.assets/DisclosureRightWithOffset.d.ts.map +1 -0
  245. package/types/components/_Icon/Icon.assets/DisclosureUpWithOffset.d.ts +4 -0
  246. package/types/components/_Icon/Icon.assets/DisclosureUpWithOffset.d.ts.map +1 -0
  247. package/types/components/_Icon/Icons/IconDisclosureDownWithOffset.d.ts +4 -0
  248. package/types/components/_Icon/Icons/IconDisclosureDownWithOffset.d.ts.map +1 -0
  249. package/types/components/_Icon/Icons/IconDisclosureLeftWithOffset.d.ts +4 -0
  250. package/types/components/_Icon/Icons/IconDisclosureLeftWithOffset.d.ts.map +1 -0
  251. package/types/components/_Icon/Icons/IconDisclosureRightWithOffset.d.ts +4 -0
  252. package/types/components/_Icon/Icons/IconDisclosureRightWithOffset.d.ts.map +1 -0
  253. package/types/components/_Icon/Icons/IconDisclosureUpWithOffset.d.ts +4 -0
  254. package/types/components/_Icon/Icons/IconDisclosureUpWithOffset.d.ts.map +1 -0
  255. package/types/components/_Icon/index.d.ts +4 -0
  256. package/types/components/_Icon/index.d.ts.map +1 -1
  257. package/types/examples/plasma_b2c/components/Segment/Segment.d.ts +6 -9
  258. package/types/examples/plasma_b2c/components/Segment/Segment.d.ts.map +1 -1
  259. package/types/examples/plasma_b2c/components/Segment/SegmentGroup.config.d.ts +3 -0
  260. package/types/examples/plasma_b2c/components/Segment/SegmentGroup.config.d.ts.map +1 -1
  261. package/types/examples/plasma_b2c/components/Segment/SegmentItem.config.d.ts.map +1 -1
  262. package/types/examples/plasma_web/components/Segment/Segment.d.ts +9 -9
  263. package/types/examples/plasma_web/components/Segment/Segment.d.ts.map +1 -1
  264. package/types/examples/plasma_web/components/Segment/SegmentGroup.config.d.ts +6 -0
  265. package/types/examples/plasma_web/components/Segment/SegmentGroup.config.d.ts.map +1 -1
  266. package/types/examples/plasma_web/components/Segment/SegmentItem.config.d.ts.map +1 -1
  267. package/cjs/components/Segment/ui/SegmentGroup/SegmentGroup.styles_m9i9p0.css +0 -4
  268. package/cjs/components/Segment/ui/SegmentGroup/variations/_filledBackgound/base_escgtx.css +0 -1
  269. package/cjs/components/Segment/ui/SegmentGroup/variations/_pilled/base_fqbatz.css +0 -1
  270. package/cjs/components/Segment/ui/SegmentGroup/variations/_size/base_m358nl.css +0 -1
  271. package/cjs/components/Segment/ui/SegmentItem/SegmentItem.styles_18h1p52.css +0 -2
  272. package/cjs/components/Segment/ui/SegmentItem/variations/_view/base_1m1u2ys.css +0 -1
  273. package/es/components/Segment/ui/SegmentGroup/SegmentGroup.styles_m9i9p0.css +0 -4
  274. package/es/components/Segment/ui/SegmentGroup/variations/_filledBackgound/base_escgtx.css +0 -1
  275. package/es/components/Segment/ui/SegmentGroup/variations/_pilled/base_fqbatz.css +0 -1
  276. package/es/components/Segment/ui/SegmentGroup/variations/_size/base_m358nl.css +0 -1
  277. package/es/components/Segment/ui/SegmentItem/SegmentItem.styles_18h1p52.css +0 -2
  278. package/es/components/Segment/ui/SegmentItem/variations/_view/base_1m1u2ys.css +0 -1
@@ -0,0 +1,15 @@
1
+ import React from 'react';
2
+ import { DisclosureLeftWithOffset } from '../Icon.assets/DisclosureLeftWithOffset';
3
+ import { IconRoot } from '../IconRoot';
4
+ export var IconDisclosureLeftWithOffset = function IconDisclosureLeftWithOffset(_ref) {
5
+ var _ref$size = _ref.size,
6
+ size = _ref$size === void 0 ? 's' : _ref$size,
7
+ color = _ref.color,
8
+ className = _ref.className;
9
+ return /*#__PURE__*/React.createElement(IconRoot, {
10
+ className: className,
11
+ size: size,
12
+ color: color,
13
+ icon: DisclosureLeftWithOffset
14
+ });
15
+ };
@@ -0,0 +1,15 @@
1
+ import React from 'react';
2
+ import { DisclosureRightWithOffset } from '../Icon.assets/DisclosureRightWithOffset';
3
+ import { IconRoot } from '../IconRoot';
4
+ export var IconDisclosureRightWithOffset = function IconDisclosureRightWithOffset(_ref) {
5
+ var _ref$size = _ref.size,
6
+ size = _ref$size === void 0 ? 's' : _ref$size,
7
+ color = _ref.color,
8
+ className = _ref.className;
9
+ return /*#__PURE__*/React.createElement(IconRoot, {
10
+ className: className,
11
+ size: size,
12
+ color: color,
13
+ icon: DisclosureRightWithOffset
14
+ });
15
+ };
@@ -0,0 +1,15 @@
1
+ import React from 'react';
2
+ import { DisclosureUpWithOffset } from '../Icon.assets/DisclosureUpWithOffset';
3
+ import { IconRoot } from '../IconRoot';
4
+ export var IconDisclosureUpWithOffset = function IconDisclosureUpWithOffset(_ref) {
5
+ var _ref$size = _ref.size,
6
+ size = _ref$size === void 0 ? 's' : _ref$size,
7
+ color = _ref.color,
8
+ className = _ref.className;
9
+ return /*#__PURE__*/React.createElement(IconRoot, {
10
+ className: className,
11
+ size: size,
12
+ color: color,
13
+ icon: DisclosureUpWithOffset
14
+ });
15
+ };
@@ -1,6 +1,10 @@
1
+ export { IconDisclosureLeftWithOffset } from './Icons/IconDisclosureLeftWithOffset';
1
2
  export { IconDisclosureLeft } from './Icons/IconDisclosureLeft';
2
3
  export { IconDisclosureRight } from './Icons/IconDisclosureRight';
4
+ export { IconDisclosureRightWithOffset } from './Icons/IconDisclosureRightWithOffset';
3
5
  export { IconDisclosureDownFill } from './Icons/IconDisclosureDownFill';
6
+ export { IconDisclosureDownWithOffset } from './Icons/IconDisclosureDownWithOffset';
7
+ export { IconDisclosureUpWithOffset } from './Icons/IconDisclosureUpWithOffset';
4
8
  export { IconMic } from './Icons/IconMic';
5
9
  export { IconChevronLeft } from './Icons/IconChevronLeft';
6
10
  export { IconChevronDoubleLeft } from './Icons/IconChevronDoubleLeft';
@@ -1,23 +1,55 @@
1
1
  import React from 'react';
2
2
  import type { ComponentProps } from 'react';
3
3
  import type { StoryObj, Meta } from '@storybook/react';
4
+ import { disableProps } from '@salutejs/plasma-sb-utils';
4
5
 
5
6
  import { segmentGroupConfig } from '../../../../components/Segment';
6
7
  import { mergeConfig } from '../../../../engines';
7
8
  import { WithTheme, argTypesFromConfig } from '../../../_helpers';
8
9
  import { SegmentProvider } from '../../../../components/Segment/SegmentProvider';
10
+ import { Counter } from '../Counter/Counter';
11
+ import { IconMic } from '../../../../components/_Icon';
9
12
 
10
13
  import { config } from './SegmentGroup.config';
11
14
  import { SegmentItem, SegmentGroup } from './Segment';
12
15
 
13
- const segmentItemViews = ['clear', 'default', 'secondary'];
16
+ const contentLeftOptions = ['none', 'icon'];
17
+ const contentRightOptions = ['none', 'text', 'counter', 'icon'];
14
18
 
15
- type CustomStorySegmentProps = {
16
- segmentItemView?: string;
17
- contentItemsNumber?: number;
19
+ const segmentItemViews = ['default', 'secondary'];
20
+ type Size = typeof sizes[number];
21
+
22
+ type CustomStoryProps = {
23
+ itemQuantity: number;
24
+ contentLeft: string;
25
+ contentRight: string;
26
+ segmentItemView?: 'default' | 'secondary';
27
+ };
28
+
29
+ type StorySegmentProps = ComponentProps<typeof SegmentGroup> & CustomStoryProps;
30
+
31
+ const sizes = ['xs', 's', 'm', 'l'] as const;
32
+
33
+ const getContentLeft = (contentLeftOption: string, size: Size) => {
34
+ const iconSize = size === 'xs' ? 'xs' : 's';
35
+ return contentLeftOption === 'icon' ? <IconMic size={iconSize} color="inherit" /> : undefined;
18
36
  };
19
37
 
20
- type StorySegmentProps = ComponentProps<typeof SegmentGroup> & CustomStorySegmentProps;
38
+ const getContentRight = (contentRightOption: string, size: Size) => {
39
+ const iconSize = size === 'xs' ? 'xs' : 's';
40
+ const counterSize = size === 'xs' ? 'xxs' : 'xs';
41
+
42
+ switch (contentRightOption) {
43
+ case 'icon':
44
+ return <IconMic size={iconSize} color="inherit" />;
45
+ case 'counter':
46
+ return <Counter size={counterSize} count={1} view="positive" />;
47
+ case 'text':
48
+ return 'Text';
49
+ default:
50
+ return undefined;
51
+ }
52
+ };
21
53
 
22
54
  const meta: Meta<StorySegmentProps> = {
23
55
  title: 'plasma_b2c/Segment',
@@ -25,6 +57,19 @@ const meta: Meta<StorySegmentProps> = {
25
57
  component: SegmentGroup,
26
58
  argTypes: {
27
59
  ...argTypesFromConfig(mergeConfig(segmentGroupConfig, config)),
60
+ ...disableProps(['filledBackground', 'view', 'selectionMode', 'clip']),
61
+ stretch: {
62
+ control: {
63
+ type: 'boolean',
64
+ },
65
+ if: { arg: 'orientation', eq: 'horizontal' },
66
+ },
67
+ orientation: {
68
+ options: ['horizontal', 'vertical'],
69
+ control: {
70
+ type: 'select',
71
+ },
72
+ },
28
73
  selectionMode: {
29
74
  options: ['single', 'multiple'],
30
75
  control: {
@@ -37,60 +82,91 @@ const meta: Meta<StorySegmentProps> = {
37
82
  type: 'select',
38
83
  },
39
84
  },
85
+ contentLeft: {
86
+ options: contentLeftOptions,
87
+ control: {
88
+ type: 'select',
89
+ },
90
+ },
91
+ contentRight: {
92
+ options: contentRightOptions,
93
+ control: {
94
+ type: 'select',
95
+ },
96
+ },
97
+ size: {
98
+ options: sizes,
99
+ control: {
100
+ type: 'select',
101
+ },
102
+ },
40
103
  },
41
104
  };
42
105
 
43
106
  export default meta;
44
107
 
45
- const StoryDefault = ({ contentItemsNumber, selectionMode, segmentItemView, view, ...args }: StorySegmentProps) => {
46
- const contentItems = Array(contentItemsNumber).fill(0);
108
+ const StoryDefault = (props: StorySegmentProps) => {
109
+ const {
110
+ disabled,
111
+ itemQuantity,
112
+ size,
113
+ stretch,
114
+ orientation,
115
+
116
+ segmentItemView,
117
+ contentLeft: contentLeftOption,
118
+ contentRight: contentRightOption,
119
+ ...args
120
+ } = props;
121
+ const items = Array(itemQuantity).fill(0);
122
+ const isVertical = orientation === 'vertical';
47
123
 
48
124
  return (
49
- <>
50
- <h3>Segment with auto width</h3>
51
- <SegmentProvider>
52
- <SegmentGroup view={view} selectionMode={selectionMode} {...args}>
53
- {contentItems.map((_, i) => (
54
- <SegmentItem
55
- view={segmentItemView}
56
- label={`Label ${i}`}
57
- value={`label_${i}`}
58
- key={`label_${i}`}
59
- {...args}
60
- />
61
- ))}
62
- </SegmentGroup>
63
- </SegmentProvider>
64
-
65
- <h3>Segment with fixed width</h3>
66
- <SegmentProvider>
67
- <SegmentGroup view={view} style={{ width: '28.5rem' }} selectionMode={selectionMode} {...args}>
68
- {contentItems.map((_, i) => (
69
- <SegmentItem
70
- view={segmentItemView}
71
- label={`Label ${i}`}
72
- value={`label_${i}`}
73
- key={`label_${i}`}
74
- {...args}
75
- />
76
- ))}
77
- </SegmentGroup>
78
- </SegmentProvider>
79
- </>
125
+ <SegmentProvider>
126
+ <SegmentGroup
127
+ stretch={stretch}
128
+ disabled={disabled}
129
+ clip={false}
130
+ size={size}
131
+ orientation={orientation}
132
+ {...args}
133
+ >
134
+ {items.map((_, i) => (
135
+ <SegmentItem
136
+ view={segmentItemView}
137
+ label={`Label ${i}`}
138
+ value={`label_${i}`}
139
+ size={size}
140
+ key={`label_${i}`}
141
+ contentLeft={getContentLeft(contentLeftOption, size)}
142
+ contentRight={getContentRight(contentRightOption, size)}
143
+ {...args}
144
+ >
145
+ {`Label${i + 1}`}
146
+ </SegmentItem>
147
+ ))}
148
+ </SegmentGroup>
149
+ </SegmentProvider>
80
150
  );
81
151
  };
82
152
 
83
153
  export const Default: StoryObj<StorySegmentProps> = {
84
154
  args: {
85
- view: 'clear',
155
+ itemQuantity: 8,
86
156
  size: 'xs',
87
- segmentItemView: 'clear',
157
+ segmentItemView: 'default',
88
158
  selectionMode: 'single',
89
- contentItemsNumber: 11,
90
159
  pilled: false,
91
160
  filledBackground: false,
161
+ hasBackground: false,
92
162
  disabled: false,
93
163
  stretch: false,
164
+ orientation: 'horizontal',
165
+ contentRight: 'none',
166
+ contentLeft: 'none',
167
+ },
168
+ argTypes: {
169
+ ...disableProps(['filledBackground', 'view', 'selectionMode', 'clip']),
94
170
  },
95
- render: (args) => <StoryDefault {...args} />,
171
+ render: (args: StorySegmentProps) => <StoryDefault {...args} />,
96
172
  };
@@ -7,26 +7,29 @@ export var config = {
7
7
  },
8
8
  variations: {
9
9
  view: {
10
- clear: /*#__PURE__*/css(["", ":var(--text-secondary);", ":tranparent;", ":var(--plasma-colors-button-focused);"], segmentTokens.arrowColor, segmentTokens.groupBackgroundColor, segmentTokens.outlineFocusColor),
11
- filled: /*#__PURE__*/css(["", ":var(--text-secondary);", ":transparent;", ":var(--plasma-colors-button-focused);"], segmentTokens.arrowColor, segmentTokens.groupBackgroundColor, segmentTokens.outlineFocusColor)
10
+ clear: /*#__PURE__*/css(["", ":var(--text-secondary);", ":transparent;", ":var(--plasma-colors-button-focused,var(--text-accent));"], segmentTokens.arrowColor, segmentTokens.groupBackgroundColor, segmentTokens.outlineFocusColor),
11
+ filled: /*#__PURE__*/css(["", ":var(--text-secondary);", ":transparent;", ":var(--plasma-colors-button-focused,var(--text-accent));"], segmentTokens.arrowColor, segmentTokens.groupBackgroundColor, segmentTokens.outlineFocusColor)
12
12
  },
13
13
  size: {
14
- xs: /*#__PURE__*/css(["", ":0.5rem;", ":auto;", ":auto;"], segmentTokens.groupBorderRadius, segmentTokens.groupWidth, segmentTokens.groupHeight),
15
- s: /*#__PURE__*/css(["", ":0.625rem;", ":auto;", ":auto;"], segmentTokens.groupBorderRadius, segmentTokens.groupWidth, segmentTokens.groupHeight),
16
- m: /*#__PURE__*/css(["", ":0.75rem;", ":auto;", ":auto;"], segmentTokens.groupBorderRadius, segmentTokens.groupWidth, segmentTokens.groupHeight),
17
- l: /*#__PURE__*/css(["", ":0.75rem;", ":auto;", ":auto;"], segmentTokens.groupBorderRadius, segmentTokens.groupWidth, segmentTokens.groupHeight)
14
+ xs: /*#__PURE__*/css(["", ":0.625rem;", ":1.125rem;", ":auto;", ":auto;", ":0.25rem 0.75rem;", ":0.75rem 0;"], segmentTokens.groupBorderRadius, segmentTokens.groupPilledBorderRadius, segmentTokens.groupWidth, segmentTokens.groupHeight, segmentTokens.groupArrowPadding, segmentTokens.groupVerticalArrowPadding),
15
+ s: /*#__PURE__*/css(["", ":0.75rem;", ":1.375rem;", ":auto;", ":auto;", ":0.5rem 0.875rem;", ":0.875rem 0;"], segmentTokens.groupBorderRadius, segmentTokens.groupPilledBorderRadius, segmentTokens.groupWidth, segmentTokens.groupHeight, segmentTokens.groupArrowPadding, segmentTokens.groupVerticalArrowPadding),
16
+ m: /*#__PURE__*/css(["", ":0.875rem;", ":1.625rem;", ":auto;", ":auto;", ":0.75rem 1.25rem;", ":1.25rem 0;"], segmentTokens.groupBorderRadius, segmentTokens.groupPilledBorderRadius, segmentTokens.groupWidth, segmentTokens.groupHeight, segmentTokens.groupArrowPadding, segmentTokens.groupVerticalArrowPadding),
17
+ l: /*#__PURE__*/css(["", ":1rem;", ":1.875rem;", ":auto;", ":auto;", ":1rem 1.375rem;", ":1.375rem 0;"], segmentTokens.groupBorderRadius, segmentTokens.groupPilledBorderRadius, segmentTokens.groupWidth, segmentTokens.groupHeight, segmentTokens.groupArrowPadding, segmentTokens.groupVerticalArrowPadding)
18
18
  },
19
19
  disabled: {
20
20
  "true": /*#__PURE__*/css(["", ":0.4;"], segmentTokens.disabledOpacity)
21
21
  },
22
22
  pilled: {
23
- "true": /*#__PURE__*/css(["", ":1.75rem;"], segmentTokens.groupPilledBorderRadius)
23
+ "true": /*#__PURE__*/css([""])
24
24
  },
25
25
  stretch: {
26
26
  "true": /*#__PURE__*/css([""])
27
27
  },
28
28
  filledBackground: {
29
- "true": /*#__PURE__*/css(["", ":var(--plasma-colors-surface-liquid02);"], segmentTokens.groupFilledBackgroundColor)
29
+ "true": /*#__PURE__*/css(["", ":var(--surface-transparent-secondary);"], segmentTokens.groupFilledBackgroundColor)
30
+ },
31
+ orientation: {
32
+ vertical: /*#__PURE__*/css([""])
30
33
  }
31
34
  }
32
35
  };
@@ -7,21 +7,21 @@ export var config = {
7
7
  },
8
8
  variations: {
9
9
  view: {
10
- clear: /*#__PURE__*/css(["", ":var(--text-secondary);", ":transparent;", ":var(--text-primary);", ":transparent;", ":var(--text-primary);", ":transparent;", ":var(--text-primary);", ":transparent;", ":var(--plasma-colors-button-focused);"], segmentTokens.itemColor, segmentTokens.itemBackgroundColor, segmentTokens.itemColorHover, segmentTokens.itemBackgroundColorHover, segmentTokens.itemSelectedColor, segmentTokens.itemSelectedBackgroundColor, segmentTokens.itemSelectedColorHover, segmentTokens.itemSelectedBackgroundColorHover, segmentTokens.outlineFocusColor),
11
- secondary: /*#__PURE__*/css(["", ":var(--text-primary);", ":transparent;", ":var(--text-primary);", ":transparent;", ":var(--text-primary);", ":var(--surface-solid-card);", ":var(--text-primary);", ":var(--surface-solid-card);", ":var(--plasma-colors-button-focused);"], segmentTokens.itemColor, segmentTokens.itemBackgroundColor, segmentTokens.itemColorHover, segmentTokens.itemBackgroundColorHover, segmentTokens.itemSelectedColor, segmentTokens.itemSelectedBackgroundColor, segmentTokens.itemSelectedColorHover, segmentTokens.itemSelectedBackgroundColorHover, segmentTokens.outlineFocusColor),
12
- "default": /*#__PURE__*/css(["", ":var(--text-primary);", ":transparent;", ":var(--text-primary);", ":transparent;", ":var(--inverse-text-primary);", ":var(--surface-solid-default);", ":var(--inverse-text-primary);", ":var(--surface-solid-default);", ":var(--plasma-colors-button-focused);"], segmentTokens.itemColor, segmentTokens.itemBackgroundColor, segmentTokens.itemColorHover, segmentTokens.itemBackgroundColorHover, segmentTokens.itemSelectedColor, segmentTokens.itemSelectedBackgroundColor, segmentTokens.itemSelectedColorHover, segmentTokens.itemSelectedBackgroundColorHover, segmentTokens.outlineFocusColor)
10
+ clear: /*#__PURE__*/css(["", ":var(--text-secondary);", ":transparent;", ":var(--text-primary-hover);", ":transparent;", ":var(--text-tertiary);", ":var(--text-secondary);", ":var(--text-primary-hover);", ":transparent;", ":var(--text-primary);", ":transparent;", ":var(--text-secondary);", ":var(--text-secondary);", ":var(--plasma-colors-button-focused,var(--text-accent));"], segmentTokens.itemColor, segmentTokens.itemBackgroundColor, segmentTokens.itemColorHover, segmentTokens.itemBackgroundColorHover, segmentTokens.itemAdditionalColor, segmentTokens.itemAdditionalColorHover, segmentTokens.itemSelectedColor, segmentTokens.itemSelectedBackgroundColor, segmentTokens.itemSelectedColorHover, segmentTokens.itemSelectedBackgroundColorHover, segmentTokens.itemSelectedAdditionalColor, segmentTokens.itemSelectedAdditionalColorHover, segmentTokens.outlineFocusColor),
11
+ secondary: /*#__PURE__*/css(["", ":var(--text-primary);", ":transparent;", ":var(--text-primary-hover);", ":transparent;", ":var(--text-secondary);", ":var(--text-secondary);", ":var(--text-primary);", ":var(--surface-transparent-card);", ":var(--text-primary-hover);", ":var(--surface-transparent-card);", ":var(--text-secondary);", ":var(--text-secondary);", ":var(--plasma-colors-button-focused,var(--text-accent));"], segmentTokens.itemColor, segmentTokens.itemBackgroundColor, segmentTokens.itemColorHover, segmentTokens.itemBackgroundColorHover, segmentTokens.itemAdditionalColor, segmentTokens.itemAdditionalColorHover, segmentTokens.itemSelectedColor, segmentTokens.itemSelectedBackgroundColor, segmentTokens.itemSelectedColorHover, segmentTokens.itemSelectedBackgroundColorHover, segmentTokens.itemSelectedAdditionalColor, segmentTokens.itemSelectedAdditionalColorHover, segmentTokens.outlineFocusColor),
12
+ "default": /*#__PURE__*/css(["", ":var(--text-primary);", ":transparent;", ":var(--text-primary-hover);", ":transparent;", ":var(--text-secondary);", ":var(--text-secondary);", ":var(--inverse-text-primary);", ":var(--surface-solid-default);", ":var(--inverse-text-primary-hover);", ":var(--surface-solid-default);", ":var(--inverse-text-secondary);", ":var(--inverse-text-secondary);", ":var(--plasma-colors-button-focused,var(--text-accent));"], segmentTokens.itemColor, segmentTokens.itemBackgroundColor, segmentTokens.itemColorHover, segmentTokens.itemBackgroundColorHover, segmentTokens.itemAdditionalColor, segmentTokens.itemAdditionalColorHover, segmentTokens.itemSelectedColor, segmentTokens.itemSelectedBackgroundColor, segmentTokens.itemSelectedColorHover, segmentTokens.itemSelectedBackgroundColorHover, segmentTokens.itemSelectedAdditionalColor, segmentTokens.itemSelectedAdditionalColorHover, segmentTokens.outlineFocusColor)
13
13
  },
14
14
  size: {
15
- xs: /*#__PURE__*/css(["", ":0.375rem;", ":auto;", ":1.5rem;", ":0 0.625rem;", ":0.125rem;", ":var(--plasma-typo-body-xs-font-family);", ":var(--plasma-typo-body-xs-font-size);", ":var(--plasma-typo-body-xs-font-style);", ":var(--plasma-typo-body-xs-font-weight);", ":var(--plasma-typo-body-xs-letter-spacing);", ":var(--plasma-typo-body-xs-line-height);"], segmentTokens.itemBorderRadius, segmentTokens.itemWidth, segmentTokens.itemHeight, segmentTokens.itemPadding, segmentTokens.itemMarginLeft, segmentTokens.fontFamily, segmentTokens.fontSize, segmentTokens.fontStyle, segmentTokens.fontWeight, segmentTokens.letterSpacing, segmentTokens.lineHeight),
16
- s: /*#__PURE__*/css(["", ":0.5rem;", ":auto;", ":2rem;", ":0 0.75rem;", ":0.125rem;", ":var(--plasma-typo-body-s-font-family);", ":var(--plasma-typo-body-s-font-size);", ":var(--plasma-typo-body-s-font-style);", ":var(--plasma-typo-body-s-font-weight);", ":var(--plasma-typo-body-s-letter-spacing);", ":var(--plasma-typo-body-s-line-height);"], segmentTokens.itemBorderRadius, segmentTokens.itemWidth, segmentTokens.itemHeight, segmentTokens.itemPadding, segmentTokens.itemMarginLeft, segmentTokens.fontFamily, segmentTokens.fontSize, segmentTokens.fontStyle, segmentTokens.fontWeight, segmentTokens.letterSpacing, segmentTokens.lineHeight),
17
- m: /*#__PURE__*/css(["", ":0.625rem;", ":auto;", ":2.5rem;", ":0 0.875rem;", ":0.125rem;", ":var(--plasma-typo-body-m-font-family);", ":var(--plasma-typo-body-m-font-size);", ":var(--plasma-typo-body-m-font-style);", ":var(--plasma-typo-body-m-font-weight);", ":var(--plasma-typo-body-m-letter-spacing);", ":var(--plasma-typo-body-m-line-height);"], segmentTokens.itemBorderRadius, segmentTokens.itemWidth, segmentTokens.itemHeight, segmentTokens.itemPadding, segmentTokens.itemMarginLeft, segmentTokens.fontFamily, segmentTokens.fontSize, segmentTokens.fontStyle, segmentTokens.fontWeight, segmentTokens.letterSpacing, segmentTokens.lineHeight),
18
- l: /*#__PURE__*/css(["", ":0.75rem;", ":auto;", ":3rem;", ":0 1rem;", ":0.125rem;", ":var(--plasma-typo-body-l-font-family);", ":var(--plasma-typo-body-l-font-size);", ":var(--plasma-typo-body-l-font-style);", ":var(--plasma-typo-body-l-font-weight);", ":var(--plasma-typo-body-l-letter-spacing);", ":var(--plasma-typo-body-l-line-height);"], segmentTokens.itemBorderRadius, segmentTokens.itemWidth, segmentTokens.itemHeight, segmentTokens.itemPadding, segmentTokens.itemMarginLeft, segmentTokens.fontFamily, segmentTokens.fontSize, segmentTokens.fontStyle, segmentTokens.fontWeight, segmentTokens.letterSpacing, segmentTokens.lineHeight)
15
+ xs: /*#__PURE__*/css(["", ":0.5rem;", ":auto;", ":2rem;", ":0.5rem 0.75rem;", ":0.5rem 0.5rem;", ":0.0625rem 0.125rem;", ":0.125rem;", ":0;", ":var(--plasma-typo-body-xs-font-family);", ":var(--plasma-typo-body-xs-font-size);", ":var(--plasma-typo-body-xs-font-style);", ":var(--plasma-typo-body-xs-bold-font-weight);", ":var(--plasma-typo-body-xs-letter-spacing);", ":var(--plasma-typo-body-xs-line-height);"], segmentTokens.itemBorderRadius, segmentTokens.itemWidth, segmentTokens.itemHeight, segmentTokens.itemPadding, segmentTokens.itemPilledPadding, segmentTokens.itemContentPadding, segmentTokens.itemIconMargin, segmentTokens.itemMarginLeft, segmentTokens.fontFamily, segmentTokens.fontSize, segmentTokens.fontStyle, segmentTokens.fontWeight, segmentTokens.letterSpacing, segmentTokens.lineHeight),
16
+ s: /*#__PURE__*/css(["", ":0.625rem;", ":auto;", ":2.5rem;", ":0.5rem 1rem;", ":0.5rem 0.5rem;", ":0.1875rem 0.125rem;", ":0.125rem;", ":0rem;", ":var(--plasma-typo-body-s-font-family);", ":var(--plasma-typo-body-s-font-size);", ":var(--plasma-typo-body-s-font-style);", ":var(--plasma-typo-body-s-bold-font-weight);", ":var(--plasma-typo-body-s-letter-spacing);", ":var(--plasma-typo-body-s-line-height);"], segmentTokens.itemBorderRadius, segmentTokens.itemWidth, segmentTokens.itemHeight, segmentTokens.itemPadding, segmentTokens.itemPilledPadding, segmentTokens.itemContentPadding, segmentTokens.itemIconMargin, segmentTokens.itemMarginLeft, segmentTokens.fontFamily, segmentTokens.fontSize, segmentTokens.fontStyle, segmentTokens.fontWeight, segmentTokens.letterSpacing, segmentTokens.lineHeight),
17
+ m: /*#__PURE__*/css(["", ":0.75rem;", ":auto;", ":3rem;", ":0.75rem 1.25rem;", ":0.75rem 0.75rem;", ":0.125rem;", ":0.25rem;", ":0rem;", ":var(--plasma-typo-body-m-font-family);", ":var(--plasma-typo-body-m-font-size);", ":var(--plasma-typo-body-m-font-style);", ":var(--plasma-typo-body-m-bold-font-weight);", ":var(--plasma-typo-body-m-letter-spacing);", ":var(--plasma-typo-body-m-line-height);"], segmentTokens.itemBorderRadius, segmentTokens.itemWidth, segmentTokens.itemHeight, segmentTokens.itemPadding, segmentTokens.itemPilledPadding, segmentTokens.itemContentPadding, segmentTokens.itemIconMargin, segmentTokens.itemMarginLeft, segmentTokens.fontFamily, segmentTokens.fontSize, segmentTokens.fontStyle, segmentTokens.fontWeight, segmentTokens.letterSpacing, segmentTokens.lineHeight),
18
+ l: /*#__PURE__*/css(["", ":0.875rem;", ":auto;", ":3.5rem;", ":1rem 1.5rem;", ":1rem 1rem;", ":0.0625rem 0.125rem;", ":0.375rem;", ":0;", ":var(--plasma-typo-body-l-font-family);", ":var(--plasma-typo-body-l-font-size);", ":var(--plasma-typo-body-l-font-style);", ":var(--plasma-typo-body-l-bold-font-weight);", ":var(--plasma-typo-body-l-letter-spacing);", ":var(--plasma-typo-body-l-line-height);"], segmentTokens.itemBorderRadius, segmentTokens.itemWidth, segmentTokens.itemHeight, segmentTokens.itemPadding, segmentTokens.itemPilledPadding, segmentTokens.itemContentPadding, segmentTokens.itemIconMargin, segmentTokens.itemMarginLeft, segmentTokens.fontFamily, segmentTokens.fontSize, segmentTokens.fontStyle, segmentTokens.fontWeight, segmentTokens.letterSpacing, segmentTokens.lineHeight)
19
19
  },
20
20
  disabled: {
21
21
  "true": /*#__PURE__*/css(["", ":0.4;"], segmentTokens.disabledOpacity)
22
22
  },
23
23
  pilled: {
24
- "true": /*#__PURE__*/css(["", ":1.5rem;"], segmentTokens.itemPilledBorderRadius)
24
+ "true": /*#__PURE__*/css(["", ":1.75rem;"], segmentTokens.itemPilledBorderRadius)
25
25
  }
26
26
  }
27
27
  };
@@ -1,23 +1,55 @@
1
1
  import React from 'react';
2
2
  import type { ComponentProps } from 'react';
3
3
  import type { StoryObj, Meta } from '@storybook/react';
4
+ import { disableProps } from '@salutejs/plasma-sb-utils';
4
5
 
5
6
  import { segmentGroupConfig } from '../../../../components/Segment';
6
7
  import { mergeConfig } from '../../../../engines';
7
8
  import { WithTheme, argTypesFromConfig } from '../../../_helpers';
8
9
  import { SegmentProvider } from '../../../../components/Segment/SegmentProvider';
10
+ import { Counter } from '../Counter/Counter';
11
+ import { IconMic } from '../../../../components/_Icon';
9
12
 
10
13
  import { config } from './SegmentGroup.config';
11
14
  import { SegmentItem, SegmentGroup } from './Segment';
12
15
 
13
- const segmentItemViews = ['clear', 'default', 'secondary'];
16
+ const contentLeftOptions = ['none', 'icon'];
17
+ const contentRightOptions = ['none', 'text', 'counter', 'icon'];
14
18
 
15
- type CustomStorySegmentProps = {
16
- segmentItemView?: string;
17
- contentItemsNumber?: number;
19
+ const segmentItemViews = ['default', 'secondary'];
20
+ type Size = typeof sizes[number];
21
+
22
+ type CustomStoryProps = {
23
+ itemQuantity: number;
24
+ contentLeft: string;
25
+ contentRight: string;
26
+ segmentItemView?: 'default' | 'secondary';
27
+ };
28
+
29
+ type StorySegmentProps = ComponentProps<typeof SegmentGroup> & CustomStoryProps;
30
+
31
+ const sizes = ['xs', 's', 'm', 'l'] as const;
32
+
33
+ const getContentLeft = (contentLeftOption: string, size: Size) => {
34
+ const iconSize = size === 'xs' ? 'xs' : 's';
35
+ return contentLeftOption === 'icon' ? <IconMic size={iconSize} color="inherit" /> : undefined;
18
36
  };
19
37
 
20
- type StorySegmentProps = ComponentProps<typeof SegmentGroup> & CustomStorySegmentProps;
38
+ const getContentRight = (contentRightOption: string, size: Size) => {
39
+ const iconSize = size === 'xs' ? 'xs' : 's';
40
+ const counterSize = size === 'xs' ? 'xxs' : 'xs';
41
+
42
+ switch (contentRightOption) {
43
+ case 'icon':
44
+ return <IconMic size={iconSize} color="inherit" />;
45
+ case 'counter':
46
+ return <Counter size={counterSize} count={1} view="positive" />;
47
+ case 'text':
48
+ return 'Text';
49
+ default:
50
+ return undefined;
51
+ }
52
+ };
21
53
 
22
54
  const meta: Meta<StorySegmentProps> = {
23
55
  title: 'plasma_web/Segment',
@@ -25,6 +57,19 @@ const meta: Meta<StorySegmentProps> = {
25
57
  component: SegmentGroup,
26
58
  argTypes: {
27
59
  ...argTypesFromConfig(mergeConfig(segmentGroupConfig, config)),
60
+ ...disableProps(['filledBackground', 'view', 'selectionMode', 'clip']),
61
+ stretch: {
62
+ control: {
63
+ type: 'boolean',
64
+ },
65
+ if: { arg: 'orientation', eq: 'horizontal' },
66
+ },
67
+ orientation: {
68
+ options: ['horizontal', 'vertical'],
69
+ control: {
70
+ type: 'select',
71
+ },
72
+ },
28
73
  selectionMode: {
29
74
  options: ['single', 'multiple'],
30
75
  control: {
@@ -37,59 +82,91 @@ const meta: Meta<StorySegmentProps> = {
37
82
  type: 'select',
38
83
  },
39
84
  },
85
+ contentLeft: {
86
+ options: contentLeftOptions,
87
+ control: {
88
+ type: 'select',
89
+ },
90
+ },
91
+ contentRight: {
92
+ options: contentRightOptions,
93
+ control: {
94
+ type: 'select',
95
+ },
96
+ },
97
+ size: {
98
+ options: sizes,
99
+ control: {
100
+ type: 'select',
101
+ },
102
+ },
40
103
  },
41
104
  };
42
105
 
43
106
  export default meta;
44
107
 
45
- const StoryDefault = ({ contentItemsNumber, selectionMode, segmentItemView, view, ...args }: StorySegmentProps) => {
46
- const contentItems = Array(contentItemsNumber).fill(0);
108
+ const StoryDefault = (props: StorySegmentProps) => {
109
+ const {
110
+ disabled,
111
+ itemQuantity,
112
+ size,
113
+ stretch,
114
+ orientation,
115
+
116
+ segmentItemView,
117
+ contentLeft: contentLeftOption,
118
+ contentRight: contentRightOption,
119
+ ...args
120
+ } = props;
121
+ const items = Array(itemQuantity).fill(0);
122
+ const isVertical = orientation === 'vertical';
47
123
 
48
124
  return (
49
- <>
50
- <h3>Segment with auto width</h3>
51
- <SegmentProvider>
52
- <SegmentGroup view={view} selectionMode={selectionMode} {...args}>
53
- {contentItems.map((_, i) => (
54
- <SegmentItem
55
- view={segmentItemView}
56
- label={`Label ${i}`}
57
- value={`label_${i}`}
58
- key={`label_${i}`}
59
- {...args}
60
- />
61
- ))}
62
- </SegmentGroup>
63
- </SegmentProvider>
64
-
65
- <h3>Segment with fixed width</h3>
66
- <SegmentProvider>
67
- <SegmentGroup view={view} style={{ width: '28.5rem' }} selectionMode={selectionMode} {...args}>
68
- {contentItems.map((_, i) => (
69
- <SegmentItem
70
- view={segmentItemView}
71
- label={`Label ${i}`}
72
- value={`label_${i}`}
73
- key={`label_${i}`}
74
- {...args}
75
- />
76
- ))}
77
- </SegmentGroup>
78
- </SegmentProvider>
79
- </>
125
+ <SegmentProvider>
126
+ <SegmentGroup
127
+ stretch={stretch}
128
+ disabled={disabled}
129
+ clip={false}
130
+ size={size}
131
+ orientation={orientation}
132
+ {...args}
133
+ >
134
+ {items.map((_, i) => (
135
+ <SegmentItem
136
+ view={segmentItemView}
137
+ label={`Label ${i}`}
138
+ value={`label_${i}`}
139
+ size={size}
140
+ key={`label_${i}`}
141
+ contentLeft={getContentLeft(contentLeftOption, size)}
142
+ contentRight={getContentRight(contentRightOption, size)}
143
+ {...args}
144
+ >
145
+ {`Label${i + 1}`}
146
+ </SegmentItem>
147
+ ))}
148
+ </SegmentGroup>
149
+ </SegmentProvider>
80
150
  );
81
151
  };
82
152
 
83
153
  export const Default: StoryObj<StorySegmentProps> = {
84
154
  args: {
85
- view: 'clear',
155
+ itemQuantity: 8,
86
156
  size: 'xs',
87
- segmentItemView: 'clear',
157
+ segmentItemView: 'default',
88
158
  selectionMode: 'single',
89
- contentItemsNumber: 11,
90
159
  pilled: false,
91
160
  filledBackground: false,
161
+ hasBackground: false,
92
162
  disabled: false,
163
+ stretch: false,
164
+ orientation: 'horizontal',
165
+ contentRight: 'none',
166
+ contentLeft: 'none',
167
+ },
168
+ argTypes: {
169
+ ...disableProps(['filledBackground', 'view', 'selectionMode', 'clip']),
93
170
  },
94
- render: (args) => <StoryDefault {...args} />,
171
+ render: (args: StorySegmentProps) => <StoryDefault {...args} />,
95
172
  };
@@ -7,23 +7,29 @@ export var config = {
7
7
  },
8
8
  variations: {
9
9
  view: {
10
- clear: /*#__PURE__*/css(["", ":var(--text-secondary);", ":tranparent;", ":var(--plasma-colors-button-focused);"], segmentTokens.arrowColor, segmentTokens.groupBackgroundColor, segmentTokens.outlineFocusColor),
11
- filled: /*#__PURE__*/css(["", ":var(--text-secondary);", ":transparent;", ":var(--plasma-colors-button-focused);"], segmentTokens.arrowColor, segmentTokens.groupBackgroundColor, segmentTokens.outlineFocusColor)
10
+ clear: /*#__PURE__*/css(["", ":var(--text-secondary);", ":transparent;", ":var(--plasma-colors-button-focused,var(--text-accent));"], segmentTokens.arrowColor, segmentTokens.groupBackgroundColor, segmentTokens.outlineFocusColor),
11
+ filled: /*#__PURE__*/css(["", ":var(--text-secondary);", ":transparent;", ":var(--plasma-colors-button-focused,var(--text-accent));"], segmentTokens.arrowColor, segmentTokens.groupBackgroundColor, segmentTokens.outlineFocusColor)
12
12
  },
13
13
  size: {
14
- xs: /*#__PURE__*/css(["", ":0.5rem;", ":auto;", ":auto;"], segmentTokens.groupBorderRadius, segmentTokens.groupWidth, segmentTokens.groupHeight),
15
- s: /*#__PURE__*/css(["", ":0.625rem;", ":auto;", ":auto;"], segmentTokens.groupBorderRadius, segmentTokens.groupWidth, segmentTokens.groupHeight),
16
- m: /*#__PURE__*/css(["", ":0.75rem;", ":auto;", ":auto;"], segmentTokens.groupBorderRadius, segmentTokens.groupWidth, segmentTokens.groupHeight),
17
- l: /*#__PURE__*/css(["", ":0.75rem;", ":auto;", ":auto;"], segmentTokens.groupBorderRadius, segmentTokens.groupWidth, segmentTokens.groupHeight)
14
+ xs: /*#__PURE__*/css(["", ":0.625rem;", ":1.125rem;", ":auto;", ":auto;", ":0.25rem 0.75rem;", ":0.75rem 0;"], segmentTokens.groupBorderRadius, segmentTokens.groupPilledBorderRadius, segmentTokens.groupWidth, segmentTokens.groupHeight, segmentTokens.groupArrowPadding, segmentTokens.groupVerticalArrowPadding),
15
+ s: /*#__PURE__*/css(["", ":0.75rem;", ":1.375rem;", ":auto;", ":auto;", ":0.5rem 0.875rem;", ":0.875rem 0;"], segmentTokens.groupBorderRadius, segmentTokens.groupPilledBorderRadius, segmentTokens.groupWidth, segmentTokens.groupHeight, segmentTokens.groupArrowPadding, segmentTokens.groupVerticalArrowPadding),
16
+ m: /*#__PURE__*/css(["", ":0.875rem;", ":1.625rem;", ":auto;", ":auto;", ":0.75rem 1.25rem;", ":1.25rem 0;"], segmentTokens.groupBorderRadius, segmentTokens.groupPilledBorderRadius, segmentTokens.groupWidth, segmentTokens.groupHeight, segmentTokens.groupArrowPadding, segmentTokens.groupVerticalArrowPadding),
17
+ l: /*#__PURE__*/css(["", ":1rem;", ":1.875rem;", ":auto;", ":auto;", ":1rem 1.375rem;", ":1.375rem 0;"], segmentTokens.groupBorderRadius, segmentTokens.groupPilledBorderRadius, segmentTokens.groupWidth, segmentTokens.groupHeight, segmentTokens.groupArrowPadding, segmentTokens.groupVerticalArrowPadding)
18
18
  },
19
19
  disabled: {
20
20
  "true": /*#__PURE__*/css(["", ":0.4;"], segmentTokens.disabledOpacity)
21
21
  },
22
22
  pilled: {
23
- "true": /*#__PURE__*/css(["", ":1.75rem;"], segmentTokens.groupPilledBorderRadius)
23
+ "true": /*#__PURE__*/css([""])
24
+ },
25
+ stretch: {
26
+ "true": /*#__PURE__*/css([""])
24
27
  },
25
28
  filledBackground: {
26
- "true": /*#__PURE__*/css(["", ":var(--plasma-colors-surface-liquid02);"], segmentTokens.groupFilledBackgroundColor)
29
+ "true": /*#__PURE__*/css(["", ":var(--surface-transparent-secondary);"], segmentTokens.groupFilledBackgroundColor)
30
+ },
31
+ orientation: {
32
+ vertical: /*#__PURE__*/css([""])
27
33
  }
28
34
  }
29
35
  };