@salutejs/plasma-new-hope 0.165.2-canary.1478.11345360096.0 → 0.166.0-canary.1392.11342835439.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (301) hide show
  1. package/cjs/components/Attach/Attach.js +8 -17
  2. package/cjs/components/Attach/Attach.js.map +1 -1
  3. package/cjs/components/Calendar/ui/CalendarHeader/CalendarHeader.js +1 -1
  4. package/cjs/components/Segment/tokens.js +15 -1
  5. package/cjs/components/Segment/tokens.js.map +1 -1
  6. package/cjs/components/Segment/ui/SegmentGroup/SegmentGroup.css +13 -7
  7. package/cjs/components/Segment/ui/SegmentGroup/SegmentGroup.js +180 -88
  8. package/cjs/components/Segment/ui/SegmentGroup/SegmentGroup.js.map +1 -1
  9. package/cjs/components/Segment/ui/SegmentGroup/SegmentGroup.styles.js +37 -1
  10. package/cjs/components/Segment/ui/SegmentGroup/SegmentGroup.styles.js.map +1 -1
  11. package/cjs/components/Segment/ui/SegmentGroup/SegmentGroup.styles_1tb4sy2.css +8 -0
  12. package/cjs/components/Segment/ui/SegmentGroup/variations/_filledBackgound/base.js +1 -1
  13. package/cjs/components/Segment/ui/SegmentGroup/variations/_filledBackgound/base.js.map +1 -1
  14. package/cjs/components/Segment/ui/SegmentGroup/variations/_filledBackgound/base_a7w5s0.css +1 -0
  15. package/cjs/components/Segment/ui/SegmentGroup/variations/_orientation/base.js +9 -0
  16. package/cjs/components/Segment/ui/SegmentGroup/variations/_orientation/base.js.map +1 -0
  17. package/cjs/components/Segment/ui/SegmentGroup/variations/_orientation/base_1ejecy9.css +1 -0
  18. package/cjs/components/Segment/ui/SegmentGroup/variations/_pilled/base.js +1 -1
  19. package/cjs/components/Segment/ui/SegmentGroup/variations/_pilled/base.js.map +1 -1
  20. package/cjs/components/Segment/ui/SegmentGroup/variations/_pilled/base_pxl3nb.css +1 -0
  21. package/cjs/components/Segment/ui/SegmentGroup/variations/_size/base.js +1 -1
  22. package/cjs/components/Segment/ui/SegmentGroup/variations/_size/base.js.map +1 -1
  23. package/cjs/components/Segment/ui/SegmentGroup/variations/_size/base_18cpjsq.css +1 -0
  24. package/cjs/components/Segment/ui/SegmentItem/SegmentItem.css +6 -4
  25. package/cjs/components/Segment/ui/SegmentItem/SegmentItem.js +18 -9
  26. package/cjs/components/Segment/ui/SegmentItem/SegmentItem.js.map +1 -1
  27. package/cjs/components/Segment/ui/SegmentItem/SegmentItem.styles.js +30 -1
  28. package/cjs/components/Segment/ui/SegmentItem/SegmentItem.styles.js.map +1 -1
  29. package/cjs/components/Segment/ui/SegmentItem/SegmentItem.styles_13rhpr7.css +4 -0
  30. package/cjs/components/Segment/ui/SegmentItem/variations/_pilled/base.js +1 -1
  31. package/cjs/components/Segment/ui/SegmentItem/variations/_pilled/base.js.map +1 -1
  32. package/cjs/components/Segment/ui/SegmentItem/variations/_pilled/{base_15s0fel.css → base_omc5u1.css} +1 -1
  33. package/cjs/components/Segment/ui/SegmentItem/variations/_view/base.js +1 -1
  34. package/cjs/components/Segment/ui/SegmentItem/variations/_view/base.js.map +1 -1
  35. package/cjs/components/Segment/ui/SegmentItem/variations/_view/base_dettiq.css +1 -0
  36. package/cjs/components/Tabs/ui/horizontal/HorizontalTabs/HorizontalTabs.js +1 -1
  37. package/cjs/components/Tabs/ui/vertical/VerticalTabs/VerticalTabs.js +1 -1
  38. package/cjs/components/_Icon/Icon.assets/DisclosureDownWithOffset.js +22 -0
  39. package/cjs/components/_Icon/Icon.assets/DisclosureDownWithOffset.js.map +1 -0
  40. package/cjs/components/_Icon/Icon.assets/DisclosureLeftWithOffset.js +22 -0
  41. package/cjs/components/_Icon/Icon.assets/DisclosureLeftWithOffset.js.map +1 -0
  42. package/cjs/components/_Icon/Icon.assets/DisclosureRightWithOffset.js +22 -0
  43. package/cjs/components/_Icon/Icon.assets/DisclosureRightWithOffset.js.map +1 -0
  44. package/cjs/components/_Icon/Icon.assets/DisclosureUpWithOffset.js +22 -0
  45. package/cjs/components/_Icon/Icon.assets/DisclosureUpWithOffset.js.map +1 -0
  46. package/cjs/components/_Icon/Icons/IconDisclosureDownWithOffset.js +23 -0
  47. package/cjs/components/_Icon/Icons/IconDisclosureDownWithOffset.js.map +1 -0
  48. package/cjs/components/_Icon/Icons/IconDisclosureLeftWithOffset.js +23 -0
  49. package/cjs/components/_Icon/Icons/IconDisclosureLeftWithOffset.js.map +1 -0
  50. package/cjs/components/_Icon/Icons/IconDisclosureRightWithOffset.js +23 -0
  51. package/cjs/components/_Icon/Icons/IconDisclosureRightWithOffset.js.map +1 -0
  52. package/cjs/components/_Icon/Icons/IconDisclosureUpWithOffset.js +23 -0
  53. package/cjs/components/_Icon/Icons/IconDisclosureUpWithOffset.js.map +1 -0
  54. package/cjs/index.css +19 -11
  55. package/emotion/cjs/components/Attach/Attach.js +8 -17
  56. package/emotion/cjs/components/Attach/Attach.template-doc.mdx +0 -69
  57. package/emotion/cjs/components/Segment/Segment.template-doc.mdx +3 -3
  58. package/emotion/cjs/components/Segment/tokens.js +15 -1
  59. package/emotion/cjs/components/Segment/ui/SegmentGroup/SegmentGroup.js +174 -85
  60. package/emotion/cjs/components/Segment/ui/SegmentGroup/SegmentGroup.styles.js +29 -29
  61. package/emotion/cjs/components/Segment/ui/SegmentGroup/variations/_filledBackgound/base.js +1 -1
  62. package/emotion/cjs/components/Segment/ui/SegmentGroup/variations/_orientation/base.js +10 -0
  63. package/emotion/cjs/components/Segment/ui/SegmentGroup/variations/_orientation/tokens.json +1 -0
  64. package/emotion/cjs/components/Segment/ui/SegmentGroup/variations/_pilled/base.js +1 -1
  65. package/emotion/cjs/components/Segment/ui/SegmentGroup/variations/_size/base.js +1 -1
  66. package/emotion/cjs/components/Segment/ui/SegmentItem/SegmentItem.js +18 -9
  67. package/emotion/cjs/components/Segment/ui/SegmentItem/SegmentItem.styles.js +20 -6
  68. package/emotion/cjs/components/Segment/ui/SegmentItem/variations/_pilled/base.js +1 -1
  69. package/emotion/cjs/components/Segment/ui/SegmentItem/variations/_view/base.js +2 -1
  70. package/emotion/cjs/components/_Icon/Icon.assets/DisclosureDownWithOffset.js +21 -0
  71. package/emotion/cjs/components/_Icon/Icon.assets/DisclosureLeftWithOffset.js +21 -0
  72. package/emotion/cjs/components/_Icon/Icon.assets/DisclosureRightWithOffset.js +21 -0
  73. package/emotion/cjs/components/_Icon/Icon.assets/DisclosureUpWithOffset.js +21 -0
  74. package/emotion/cjs/components/_Icon/Icons/IconDisclosureDownWithOffset.js +22 -0
  75. package/emotion/cjs/components/_Icon/Icons/IconDisclosureLeftWithOffset.js +22 -0
  76. package/emotion/cjs/components/_Icon/Icons/IconDisclosureRightWithOffset.js +22 -0
  77. package/emotion/cjs/components/_Icon/Icons/IconDisclosureUpWithOffset.js +22 -0
  78. package/emotion/cjs/components/_Icon/index.js +28 -0
  79. package/emotion/cjs/examples/plasma_b2c/components/Segment/Segment.stories.tsx +124 -42
  80. package/emotion/cjs/examples/plasma_b2c/components/Segment/SegmentGroup.config.js +13 -10
  81. package/emotion/cjs/examples/plasma_b2c/components/Segment/SegmentItem.config.js +9 -9
  82. package/emotion/cjs/examples/plasma_b2c/components/Toast/Toast.config.js +5 -5
  83. package/emotion/cjs/examples/plasma_web/components/Segment/Segment.stories.tsx +125 -42
  84. package/emotion/cjs/examples/plasma_web/components/Segment/SegmentGroup.config.js +15 -9
  85. package/emotion/cjs/examples/plasma_web/components/Segment/SegmentItem.config.js +9 -9
  86. package/emotion/cjs/examples/plasma_web/components/Toast/Toast.config.js +5 -5
  87. package/emotion/es/components/Attach/Attach.js +8 -17
  88. package/emotion/es/components/Attach/Attach.template-doc.mdx +0 -69
  89. package/emotion/es/components/Segment/Segment.template-doc.mdx +3 -3
  90. package/emotion/es/components/Segment/tokens.js +15 -1
  91. package/emotion/es/components/Segment/ui/SegmentGroup/SegmentGroup.js +177 -88
  92. package/emotion/es/components/Segment/ui/SegmentGroup/SegmentGroup.styles.js +29 -29
  93. package/emotion/es/components/Segment/ui/SegmentGroup/variations/_filledBackgound/base.js +1 -1
  94. package/emotion/es/components/Segment/ui/SegmentGroup/variations/_orientation/base.js +4 -0
  95. package/emotion/es/components/Segment/ui/SegmentGroup/variations/_orientation/tokens.json +1 -0
  96. package/emotion/es/components/Segment/ui/SegmentGroup/variations/_pilled/base.js +1 -1
  97. package/emotion/es/components/Segment/ui/SegmentGroup/variations/_size/base.js +1 -1
  98. package/emotion/es/components/Segment/ui/SegmentItem/SegmentItem.js +19 -10
  99. package/emotion/es/components/Segment/ui/SegmentItem/SegmentItem.styles.js +20 -6
  100. package/emotion/es/components/Segment/ui/SegmentItem/variations/_pilled/base.js +1 -1
  101. package/emotion/es/components/Segment/ui/SegmentItem/variations/_view/base.js +2 -1
  102. package/emotion/es/components/_Icon/Icon.assets/DisclosureDownWithOffset.js +14 -0
  103. package/emotion/es/components/_Icon/Icon.assets/DisclosureLeftWithOffset.js +14 -0
  104. package/emotion/es/components/_Icon/Icon.assets/DisclosureRightWithOffset.js +14 -0
  105. package/emotion/es/components/_Icon/Icon.assets/DisclosureUpWithOffset.js +14 -0
  106. package/emotion/es/components/_Icon/Icons/IconDisclosureDownWithOffset.js +15 -0
  107. package/emotion/es/components/_Icon/Icons/IconDisclosureLeftWithOffset.js +15 -0
  108. package/emotion/es/components/_Icon/Icons/IconDisclosureRightWithOffset.js +15 -0
  109. package/emotion/es/components/_Icon/Icons/IconDisclosureUpWithOffset.js +15 -0
  110. package/emotion/es/components/_Icon/index.js +4 -0
  111. package/emotion/es/examples/plasma_b2c/components/Segment/Segment.stories.tsx +124 -42
  112. package/emotion/es/examples/plasma_b2c/components/Segment/SegmentGroup.config.js +13 -10
  113. package/emotion/es/examples/plasma_b2c/components/Segment/SegmentItem.config.js +9 -9
  114. package/emotion/es/examples/plasma_b2c/components/Toast/Toast.config.js +5 -5
  115. package/emotion/es/examples/plasma_web/components/Segment/Segment.stories.tsx +125 -42
  116. package/emotion/es/examples/plasma_web/components/Segment/SegmentGroup.config.js +15 -9
  117. package/emotion/es/examples/plasma_web/components/Segment/SegmentItem.config.js +9 -9
  118. package/emotion/es/examples/plasma_web/components/Toast/Toast.config.js +5 -5
  119. package/es/components/Attach/Attach.js +8 -17
  120. package/es/components/Attach/Attach.js.map +1 -1
  121. package/es/components/Calendar/ui/CalendarHeader/CalendarHeader.js +1 -1
  122. package/es/components/Segment/tokens.js +15 -1
  123. package/es/components/Segment/tokens.js.map +1 -1
  124. package/es/components/Segment/ui/SegmentGroup/SegmentGroup.css +13 -7
  125. package/es/components/Segment/ui/SegmentGroup/SegmentGroup.js +183 -92
  126. package/es/components/Segment/ui/SegmentGroup/SegmentGroup.js.map +1 -1
  127. package/es/components/Segment/ui/SegmentGroup/SegmentGroup.styles.js +34 -2
  128. package/es/components/Segment/ui/SegmentGroup/SegmentGroup.styles.js.map +1 -1
  129. package/es/components/Segment/ui/SegmentGroup/SegmentGroup.styles_1tb4sy2.css +8 -0
  130. package/es/components/Segment/ui/SegmentGroup/variations/_filledBackgound/base.js +1 -1
  131. package/es/components/Segment/ui/SegmentGroup/variations/_filledBackgound/base.js.map +1 -1
  132. package/es/components/Segment/ui/SegmentGroup/variations/_filledBackgound/base_a7w5s0.css +1 -0
  133. package/es/components/Segment/ui/SegmentGroup/variations/_orientation/base.js +5 -0
  134. package/es/components/Segment/ui/SegmentGroup/variations/_orientation/base.js.map +1 -0
  135. package/es/components/Segment/ui/SegmentGroup/variations/_orientation/base_1ejecy9.css +1 -0
  136. package/es/components/Segment/ui/SegmentGroup/variations/_pilled/base.js +1 -1
  137. package/es/components/Segment/ui/SegmentGroup/variations/_pilled/base.js.map +1 -1
  138. package/es/components/Segment/ui/SegmentGroup/variations/_pilled/base_pxl3nb.css +1 -0
  139. package/es/components/Segment/ui/SegmentGroup/variations/_size/base.js +1 -1
  140. package/es/components/Segment/ui/SegmentGroup/variations/_size/base.js.map +1 -1
  141. package/es/components/Segment/ui/SegmentGroup/variations/_size/base_18cpjsq.css +1 -0
  142. package/es/components/Segment/ui/SegmentItem/SegmentItem.css +6 -4
  143. package/es/components/Segment/ui/SegmentItem/SegmentItem.js +19 -10
  144. package/es/components/Segment/ui/SegmentItem/SegmentItem.js.map +1 -1
  145. package/es/components/Segment/ui/SegmentItem/SegmentItem.styles.js +29 -2
  146. package/es/components/Segment/ui/SegmentItem/SegmentItem.styles.js.map +1 -1
  147. package/es/components/Segment/ui/SegmentItem/SegmentItem.styles_13rhpr7.css +4 -0
  148. package/es/components/Segment/ui/SegmentItem/variations/_pilled/base.js +1 -1
  149. package/es/components/Segment/ui/SegmentItem/variations/_pilled/base.js.map +1 -1
  150. package/es/components/Segment/ui/SegmentItem/variations/_pilled/{base_15s0fel.css → base_omc5u1.css} +1 -1
  151. package/es/components/Segment/ui/SegmentItem/variations/_view/base.js +1 -1
  152. package/es/components/Segment/ui/SegmentItem/variations/_view/base.js.map +1 -1
  153. package/es/components/Segment/ui/SegmentItem/variations/_view/base_dettiq.css +1 -0
  154. package/es/components/Tabs/ui/horizontal/HorizontalTabs/HorizontalTabs.js +1 -1
  155. package/es/components/Tabs/ui/vertical/VerticalTabs/VerticalTabs.js +1 -1
  156. package/es/components/_Icon/Icon.assets/DisclosureDownWithOffset.js +18 -0
  157. package/es/components/_Icon/Icon.assets/DisclosureDownWithOffset.js.map +1 -0
  158. package/es/components/_Icon/Icon.assets/DisclosureLeftWithOffset.js +18 -0
  159. package/es/components/_Icon/Icon.assets/DisclosureLeftWithOffset.js.map +1 -0
  160. package/es/components/_Icon/Icon.assets/DisclosureRightWithOffset.js +18 -0
  161. package/es/components/_Icon/Icon.assets/DisclosureRightWithOffset.js.map +1 -0
  162. package/es/components/_Icon/Icon.assets/DisclosureUpWithOffset.js +18 -0
  163. package/es/components/_Icon/Icon.assets/DisclosureUpWithOffset.js.map +1 -0
  164. package/es/components/_Icon/Icons/IconDisclosureDownWithOffset.js +19 -0
  165. package/es/components/_Icon/Icons/IconDisclosureDownWithOffset.js.map +1 -0
  166. package/es/components/_Icon/Icons/IconDisclosureLeftWithOffset.js +19 -0
  167. package/es/components/_Icon/Icons/IconDisclosureLeftWithOffset.js.map +1 -0
  168. package/es/components/_Icon/Icons/IconDisclosureRightWithOffset.js +19 -0
  169. package/es/components/_Icon/Icons/IconDisclosureRightWithOffset.js.map +1 -0
  170. package/es/components/_Icon/Icons/IconDisclosureUpWithOffset.js +19 -0
  171. package/es/components/_Icon/Icons/IconDisclosureUpWithOffset.js.map +1 -0
  172. package/es/index.css +19 -11
  173. package/package.json +2 -2
  174. package/styled-components/cjs/components/Attach/Attach.js +8 -17
  175. package/styled-components/cjs/components/Attach/Attach.template-doc.mdx +0 -69
  176. package/styled-components/cjs/components/Segment/Segment.template-doc.mdx +3 -3
  177. package/styled-components/cjs/components/Segment/tokens.js +15 -1
  178. package/styled-components/cjs/components/Segment/ui/SegmentGroup/SegmentGroup.js +174 -85
  179. package/styled-components/cjs/components/Segment/ui/SegmentGroup/SegmentGroup.styles.js +18 -6
  180. package/styled-components/cjs/components/Segment/ui/SegmentGroup/variations/_filledBackgound/base.js +1 -1
  181. package/styled-components/cjs/components/Segment/ui/SegmentGroup/variations/_orientation/base.js +10 -0
  182. package/styled-components/cjs/components/Segment/ui/SegmentGroup/variations/_orientation/tokens.json +1 -0
  183. package/styled-components/cjs/components/Segment/ui/SegmentGroup/variations/_pilled/base.js +1 -1
  184. package/styled-components/cjs/components/Segment/ui/SegmentGroup/variations/_size/base.js +1 -1
  185. package/styled-components/cjs/components/Segment/ui/SegmentItem/SegmentItem.js +18 -9
  186. package/styled-components/cjs/components/Segment/ui/SegmentItem/SegmentItem.styles.js +16 -4
  187. package/styled-components/cjs/components/Segment/ui/SegmentItem/variations/_pilled/base.js +1 -1
  188. package/styled-components/cjs/components/Segment/ui/SegmentItem/variations/_view/base.js +2 -1
  189. package/styled-components/cjs/components/_Icon/Icon.assets/DisclosureDownWithOffset.js +21 -0
  190. package/styled-components/cjs/components/_Icon/Icon.assets/DisclosureLeftWithOffset.js +21 -0
  191. package/styled-components/cjs/components/_Icon/Icon.assets/DisclosureRightWithOffset.js +21 -0
  192. package/styled-components/cjs/components/_Icon/Icon.assets/DisclosureUpWithOffset.js +21 -0
  193. package/styled-components/cjs/components/_Icon/Icons/IconDisclosureDownWithOffset.js +22 -0
  194. package/styled-components/cjs/components/_Icon/Icons/IconDisclosureLeftWithOffset.js +22 -0
  195. package/styled-components/cjs/components/_Icon/Icons/IconDisclosureRightWithOffset.js +22 -0
  196. package/styled-components/cjs/components/_Icon/Icons/IconDisclosureUpWithOffset.js +22 -0
  197. package/styled-components/cjs/components/_Icon/index.js +28 -0
  198. package/styled-components/cjs/examples/plasma_b2c/components/Segment/Segment.stories.tsx +124 -42
  199. package/styled-components/cjs/examples/plasma_b2c/components/Segment/SegmentGroup.config.js +10 -7
  200. package/styled-components/cjs/examples/plasma_b2c/components/Segment/SegmentItem.config.js +8 -8
  201. package/styled-components/cjs/examples/plasma_b2c/components/Toast/Toast.config.js +1 -1
  202. package/styled-components/cjs/examples/plasma_web/components/Segment/Segment.stories.tsx +125 -42
  203. package/styled-components/cjs/examples/plasma_web/components/Segment/SegmentGroup.config.js +13 -7
  204. package/styled-components/cjs/examples/plasma_web/components/Segment/SegmentItem.config.js +8 -8
  205. package/styled-components/cjs/examples/plasma_web/components/Toast/Toast.config.js +1 -1
  206. package/styled-components/es/components/Attach/Attach.js +8 -17
  207. package/styled-components/es/components/Attach/Attach.template-doc.mdx +0 -69
  208. package/styled-components/es/components/Segment/Segment.template-doc.mdx +3 -3
  209. package/styled-components/es/components/Segment/tokens.js +15 -1
  210. package/styled-components/es/components/Segment/ui/SegmentGroup/SegmentGroup.js +177 -88
  211. package/styled-components/es/components/Segment/ui/SegmentGroup/SegmentGroup.styles.js +18 -6
  212. package/styled-components/es/components/Segment/ui/SegmentGroup/variations/_filledBackgound/base.js +1 -1
  213. package/styled-components/es/components/Segment/ui/SegmentGroup/variations/_orientation/base.js +4 -0
  214. package/styled-components/es/components/Segment/ui/SegmentGroup/variations/_orientation/tokens.json +1 -0
  215. package/styled-components/es/components/Segment/ui/SegmentGroup/variations/_pilled/base.js +1 -1
  216. package/styled-components/es/components/Segment/ui/SegmentGroup/variations/_size/base.js +1 -1
  217. package/styled-components/es/components/Segment/ui/SegmentItem/SegmentItem.js +19 -10
  218. package/styled-components/es/components/Segment/ui/SegmentItem/SegmentItem.styles.js +16 -4
  219. package/styled-components/es/components/Segment/ui/SegmentItem/variations/_pilled/base.js +1 -1
  220. package/styled-components/es/components/Segment/ui/SegmentItem/variations/_view/base.js +2 -1
  221. package/styled-components/es/components/_Icon/Icon.assets/DisclosureDownWithOffset.js +14 -0
  222. package/styled-components/es/components/_Icon/Icon.assets/DisclosureLeftWithOffset.js +14 -0
  223. package/styled-components/es/components/_Icon/Icon.assets/DisclosureRightWithOffset.js +14 -0
  224. package/styled-components/es/components/_Icon/Icon.assets/DisclosureUpWithOffset.js +14 -0
  225. package/styled-components/es/components/_Icon/Icons/IconDisclosureDownWithOffset.js +15 -0
  226. package/styled-components/es/components/_Icon/Icons/IconDisclosureLeftWithOffset.js +15 -0
  227. package/styled-components/es/components/_Icon/Icons/IconDisclosureRightWithOffset.js +15 -0
  228. package/styled-components/es/components/_Icon/Icons/IconDisclosureUpWithOffset.js +15 -0
  229. package/styled-components/es/components/_Icon/index.js +4 -0
  230. package/styled-components/es/examples/plasma_b2c/components/Segment/Segment.stories.tsx +124 -42
  231. package/styled-components/es/examples/plasma_b2c/components/Segment/SegmentGroup.config.js +10 -7
  232. package/styled-components/es/examples/plasma_b2c/components/Segment/SegmentItem.config.js +8 -8
  233. package/styled-components/es/examples/plasma_b2c/components/Toast/Toast.config.js +1 -1
  234. package/styled-components/es/examples/plasma_web/components/Segment/Segment.stories.tsx +125 -42
  235. package/styled-components/es/examples/plasma_web/components/Segment/SegmentGroup.config.js +13 -7
  236. package/styled-components/es/examples/plasma_web/components/Segment/SegmentItem.config.js +8 -8
  237. package/styled-components/es/examples/plasma_web/components/Toast/Toast.config.js +1 -1
  238. package/types/components/Attach/Attach.d.ts.map +1 -1
  239. package/types/components/Attach/Attach.types.d.ts +0 -4
  240. package/types/components/Attach/Attach.types.d.ts.map +1 -1
  241. package/types/components/Segment/tokens.d.ts +14 -0
  242. package/types/components/Segment/tokens.d.ts.map +1 -1
  243. package/types/components/Segment/ui/SegmentGroup/SegmentGroup.d.ts +10 -0
  244. package/types/components/Segment/ui/SegmentGroup/SegmentGroup.d.ts.map +1 -1
  245. package/types/components/Segment/ui/SegmentGroup/SegmentGroup.styles.d.ts +12 -0
  246. package/types/components/Segment/ui/SegmentGroup/SegmentGroup.styles.d.ts.map +1 -1
  247. package/types/components/Segment/ui/SegmentGroup/SegmentGroup.types.d.ts +19 -2
  248. package/types/components/Segment/ui/SegmentGroup/SegmentGroup.types.d.ts.map +1 -1
  249. package/types/components/Segment/ui/SegmentGroup/variations/_filledBackgound/base.d.ts.map +1 -1
  250. package/types/components/Segment/ui/SegmentGroup/variations/_orientation/base.d.ts +2 -0
  251. package/types/components/Segment/ui/SegmentGroup/variations/_orientation/base.d.ts.map +1 -0
  252. package/types/components/Segment/ui/SegmentGroup/variations/_pilled/base.d.ts.map +1 -1
  253. package/types/components/Segment/ui/SegmentGroup/variations/_size/base.d.ts.map +1 -1
  254. package/types/components/Segment/ui/SegmentItem/SegmentItem.d.ts +8 -2
  255. package/types/components/Segment/ui/SegmentItem/SegmentItem.d.ts.map +1 -1
  256. package/types/components/Segment/ui/SegmentItem/SegmentItem.styles.d.ts +7 -1
  257. package/types/components/Segment/ui/SegmentItem/SegmentItem.styles.d.ts.map +1 -1
  258. package/types/components/Segment/ui/SegmentItem/SegmentItem.types.d.ts +14 -1
  259. package/types/components/Segment/ui/SegmentItem/SegmentItem.types.d.ts.map +1 -1
  260. package/types/components/Segment/ui/SegmentItem/variations/_pilled/base.d.ts.map +1 -1
  261. package/types/components/Segment/ui/SegmentItem/variations/_view/base.d.ts.map +1 -1
  262. package/types/components/_Icon/Icon.assets/DisclosureDownWithOffset.d.ts +4 -0
  263. package/types/components/_Icon/Icon.assets/DisclosureDownWithOffset.d.ts.map +1 -0
  264. package/types/components/_Icon/Icon.assets/DisclosureLeftWithOffset.d.ts +4 -0
  265. package/types/components/_Icon/Icon.assets/DisclosureLeftWithOffset.d.ts.map +1 -0
  266. package/types/components/_Icon/Icon.assets/DisclosureRightWithOffset.d.ts +4 -0
  267. package/types/components/_Icon/Icon.assets/DisclosureRightWithOffset.d.ts.map +1 -0
  268. package/types/components/_Icon/Icon.assets/DisclosureUpWithOffset.d.ts +4 -0
  269. package/types/components/_Icon/Icon.assets/DisclosureUpWithOffset.d.ts.map +1 -0
  270. package/types/components/_Icon/Icons/IconDisclosureDownWithOffset.d.ts +4 -0
  271. package/types/components/_Icon/Icons/IconDisclosureDownWithOffset.d.ts.map +1 -0
  272. package/types/components/_Icon/Icons/IconDisclosureLeftWithOffset.d.ts +4 -0
  273. package/types/components/_Icon/Icons/IconDisclosureLeftWithOffset.d.ts.map +1 -0
  274. package/types/components/_Icon/Icons/IconDisclosureRightWithOffset.d.ts +4 -0
  275. package/types/components/_Icon/Icons/IconDisclosureRightWithOffset.d.ts.map +1 -0
  276. package/types/components/_Icon/Icons/IconDisclosureUpWithOffset.d.ts +4 -0
  277. package/types/components/_Icon/Icons/IconDisclosureUpWithOffset.d.ts.map +1 -0
  278. package/types/components/_Icon/index.d.ts +4 -0
  279. package/types/components/_Icon/index.d.ts.map +1 -1
  280. package/types/examples/plasma_b2c/components/Segment/Segment.d.ts +10 -1
  281. package/types/examples/plasma_b2c/components/Segment/Segment.d.ts.map +1 -1
  282. package/types/examples/plasma_b2c/components/Segment/SegmentGroup.config.d.ts +3 -0
  283. package/types/examples/plasma_b2c/components/Segment/SegmentGroup.config.d.ts.map +1 -1
  284. package/types/examples/plasma_b2c/components/Segment/SegmentItem.config.d.ts.map +1 -1
  285. package/types/examples/plasma_web/components/Segment/Segment.d.ts +13 -1
  286. package/types/examples/plasma_web/components/Segment/Segment.d.ts.map +1 -1
  287. package/types/examples/plasma_web/components/Segment/SegmentGroup.config.d.ts +6 -0
  288. package/types/examples/plasma_web/components/Segment/SegmentGroup.config.d.ts.map +1 -1
  289. package/types/examples/plasma_web/components/Segment/SegmentItem.config.d.ts.map +1 -1
  290. package/cjs/components/Segment/ui/SegmentGroup/SegmentGroup.styles_m9i9p0.css +0 -4
  291. package/cjs/components/Segment/ui/SegmentGroup/variations/_filledBackgound/base_escgtx.css +0 -1
  292. package/cjs/components/Segment/ui/SegmentGroup/variations/_pilled/base_fqbatz.css +0 -1
  293. package/cjs/components/Segment/ui/SegmentGroup/variations/_size/base_m358nl.css +0 -1
  294. package/cjs/components/Segment/ui/SegmentItem/SegmentItem.styles_18h1p52.css +0 -2
  295. package/cjs/components/Segment/ui/SegmentItem/variations/_view/base_1m1u2ys.css +0 -1
  296. package/es/components/Segment/ui/SegmentGroup/SegmentGroup.styles_m9i9p0.css +0 -4
  297. package/es/components/Segment/ui/SegmentGroup/variations/_filledBackgound/base_escgtx.css +0 -1
  298. package/es/components/Segment/ui/SegmentGroup/variations/_pilled/base_fqbatz.css +0 -1
  299. package/es/components/Segment/ui/SegmentGroup/variations/_size/base_m358nl.css +0 -1
  300. package/es/components/Segment/ui/SegmentItem/SegmentItem.styles_18h1p52.css +0 -2
  301. 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,56 @@
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
+ clip: boolean;
28
+ };
29
+
30
+ type StorySegmentProps = ComponentProps<typeof SegmentGroup> & CustomStoryProps;
31
+
32
+ const sizes = ['xs', 's', 'm', 'l'] as const;
33
+
34
+ const getContentLeft = (contentLeftOption: string, size: Size) => {
35
+ const iconSize = size === 'xs' ? 'xs' : 's';
36
+ return contentLeftOption === 'icon' ? <IconMic size={iconSize} color="inherit" /> : undefined;
18
37
  };
19
38
 
20
- type StorySegmentProps = ComponentProps<typeof SegmentGroup> & CustomStorySegmentProps;
39
+ const getContentRight = (contentRightOption: string, size: Size) => {
40
+ const iconSize = size === 'xs' ? 'xs' : 's';
41
+ const counterSize = size === 'xs' ? 'xxs' : 'xs';
42
+
43
+ switch (contentRightOption) {
44
+ case 'icon':
45
+ return <IconMic size={iconSize} color="inherit" />;
46
+ case 'counter':
47
+ return <Counter size={counterSize} count={1} view="positive" />;
48
+ case 'text':
49
+ return 'Text';
50
+ default:
51
+ return undefined;
52
+ }
53
+ };
21
54
 
22
55
  const meta: Meta<StorySegmentProps> = {
23
56
  title: 'plasma_b2c/Segment',
@@ -25,6 +58,25 @@ const meta: Meta<StorySegmentProps> = {
25
58
  component: SegmentGroup,
26
59
  argTypes: {
27
60
  ...argTypesFromConfig(mergeConfig(segmentGroupConfig, config)),
61
+ ...disableProps(['filledBackground', 'view', 'selectionMode']),
62
+ clip: {
63
+ control: {
64
+ type: 'boolean',
65
+ },
66
+ if: { arg: 'stretch', truthy: false },
67
+ },
68
+ stretch: {
69
+ control: {
70
+ type: 'boolean',
71
+ },
72
+ if: { arg: 'orientation', eq: 'horizontal' },
73
+ },
74
+ orientation: {
75
+ options: ['horizontal', 'vertical'],
76
+ control: {
77
+ type: 'select',
78
+ },
79
+ },
28
80
  selectionMode: {
29
81
  options: ['single', 'multiple'],
30
82
  control: {
@@ -37,60 +89,90 @@ const meta: Meta<StorySegmentProps> = {
37
89
  type: 'select',
38
90
  },
39
91
  },
92
+ contentLeft: {
93
+ options: contentLeftOptions,
94
+ control: {
95
+ type: 'select',
96
+ },
97
+ },
98
+ contentRight: {
99
+ options: contentRightOptions,
100
+ control: {
101
+ type: 'select',
102
+ },
103
+ },
40
104
  },
41
105
  };
42
106
 
43
107
  export default meta;
44
108
 
45
- const StoryDefault = ({ contentItemsNumber, selectionMode, segmentItemView, view, ...args }: StorySegmentProps) => {
46
- const contentItems = Array(contentItemsNumber).fill(0);
109
+ const StoryDefault = (props: StorySegmentProps) => {
110
+ const {
111
+ clip,
112
+ disabled,
113
+ itemQuantity,
114
+ size,
115
+ stretch,
116
+ orientation,
117
+
118
+ segmentItemView,
119
+ contentLeft: contentLeftOption,
120
+ contentRight: contentRightOption,
121
+ ...args
122
+ } = props;
123
+ const items = Array(itemQuantity).fill(0);
124
+ const isVertical = orientation === 'vertical';
125
+
126
+ const style = clip ? { width: isVertical ? 'auto' : '20rem', height: isVertical ? '10rem' : 'auto' } : undefined;
47
127
 
48
128
  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
- </>
129
+ <SegmentProvider>
130
+ <SegmentGroup
131
+ stretch={stretch}
132
+ disabled={disabled}
133
+ clip={clip}
134
+ size={size}
135
+ orientation={orientation}
136
+ style={style}
137
+ {...args}
138
+ >
139
+ {items.map((_, i) => (
140
+ <SegmentItem
141
+ view={segmentItemView}
142
+ label={`Label ${i}`}
143
+ value={`label_${i}`}
144
+ size={size}
145
+ key={`label_${i}`}
146
+ contentLeft={getContentLeft(contentLeftOption, size)}
147
+ contentRight={getContentRight(contentRightOption, size)}
148
+ {...args}
149
+ >
150
+ {`Label${i + 1}`}
151
+ </SegmentItem>
152
+ ))}
153
+ </SegmentGroup>
154
+ </SegmentProvider>
80
155
  );
81
156
  };
82
157
 
83
158
  export const Default: StoryObj<StorySegmentProps> = {
84
159
  args: {
85
- view: 'clear',
160
+ itemQuantity: 8,
86
161
  size: 'xs',
87
- segmentItemView: 'clear',
162
+ segmentItemView: 'default',
88
163
  selectionMode: 'single',
89
- contentItemsNumber: 11,
90
164
  pilled: false,
91
165
  filledBackground: false,
166
+ hasBackground: false,
92
167
  disabled: false,
93
168
  stretch: false,
169
+ clip: false,
170
+ orientation: 'horizontal',
171
+ contentRight: 'none',
172
+ contentLeft: 'none',
173
+ },
174
+ argTypes: {
175
+ ...disableProps(['filledBackground', 'view', 'selectionMode']),
94
176
  },
95
- render: (args) => <StoryDefault {...args} />,
177
+ render: (args: StorySegmentProps) => <StoryDefault {...args} />,
96
178
  };
@@ -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
29
  "true": /*#__PURE__*/css(["", ":var(--plasma-colors-surface-liquid02);"], 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-bold-font-family);", ":var(--plasma-typo-body-xs-bold-font-size);", ":var(--plasma-typo-body-xs-bold-font-style);", ":var(--plasma-typo-body-xs-bold-font-weight);", ":var(--plasma-typo-body-xs-bold-letter-spacing);", ":var(--plasma-typo-body-xs-bold-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-bold-font-family);", ":var(--plasma-typo-body-s-bold-font-size);", ":var(--plasma-typo-body-s-bold-font-style);", ":var(--plasma-typo-body-s-bold-font-weight);", ":var(--plasma-typo-body-s-bold-letter-spacing);", ":var(--plasma-typo-body-s-bold-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-bold-font-family);", ":var(--plasma-typo-body-m-bold-font-size);", ":var(--plasma-typo-body-m-bold-font-style);", ":var(--plasma-typo-body-m-bold-font-weight);", ":var(--plasma-typo-body-m-bold-letter-spacing);", ":var(--plasma-typo-body-m-bold-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-bold-font-family);", ":var(--plasma-typo-body-l-bold-font-size);", ":var(--plasma-typo-body-l-bold-font-style);", ":var(--plasma-typo-body-l-bold-font-weight);", ":var(--plasma-typo-body-l-bold-letter-spacing);", ":var(--plasma-typo-body-l-bold-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
  };
@@ -8,7 +8,7 @@ export var config = {
8
8
  variations: {
9
9
  view: {
10
10
  "default": /*#__PURE__*/css(["", ":var(--text-primary);", ":var(--surface-solid-card-brightness);", ":var(--text-secondary);", ":var(--text-secondary);"], toastTokens.color, toastTokens.background, toastTokens.closeIconColor, toastTokens.closeIconColorOnHover),
11
- dark: /*#__PURE__*/css(["", ":var(--on-dark-text-primary);", ":var(--on-dark-surface-solid-primary-brightness);", ":var(--on-dark-text-secondary);", ":var(--on-dark-text-secondary);"], toastTokens.color, toastTokens.background, toastTokens.closeIconColor, toastTokens.closeIconColorOnHover),
11
+ dark: /*#__PURE__*/css(["", ":var(--on-dark-text-primary);", ":var(--on-dark-surface-solid-brightness);", ":var(--on-dark-text-secondary);", ":var(--on-dark-text-secondary);"], toastTokens.color, toastTokens.background, toastTokens.closeIconColor, toastTokens.closeIconColorOnHover),
12
12
  light: /*#__PURE__*/css(["", ":var(--on-light-text-primary);", ":var(--on-light-surface-solid-primary-brightness);", ":var(--on-light-text-secondary);", ":var(--on-light-text-secondary);"], toastTokens.color, toastTokens.background, toastTokens.closeIconColor, toastTokens.closeIconColorOnHover)
13
13
  },
14
14
  size: {
@@ -1,23 +1,56 @@
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
+ clip: boolean;
28
+ };
29
+
30
+ type StorySegmentProps = ComponentProps<typeof SegmentGroup> & CustomStoryProps;
31
+
32
+ const sizes = ['xs', 's', 'm', 'l'] as const;
33
+
34
+ const getContentLeft = (contentLeftOption: string, size: Size) => {
35
+ const iconSize = size === 'xs' ? 'xs' : 's';
36
+ return contentLeftOption === 'icon' ? <IconMic size={iconSize} color="inherit" /> : undefined;
18
37
  };
19
38
 
20
- type StorySegmentProps = ComponentProps<typeof SegmentGroup> & CustomStorySegmentProps;
39
+ const getContentRight = (contentRightOption: string, size: Size) => {
40
+ const iconSize = size === 'xs' ? 'xs' : 's';
41
+ const counterSize = size === 'xs' ? 'xxs' : 'xs';
42
+
43
+ switch (contentRightOption) {
44
+ case 'icon':
45
+ return <IconMic size={iconSize} color="inherit" />;
46
+ case 'counter':
47
+ return <Counter size={counterSize} count={1} view="positive" />;
48
+ case 'text':
49
+ return 'Text';
50
+ default:
51
+ return undefined;
52
+ }
53
+ };
21
54
 
22
55
  const meta: Meta<StorySegmentProps> = {
23
56
  title: 'plasma_web/Segment',
@@ -25,6 +58,25 @@ const meta: Meta<StorySegmentProps> = {
25
58
  component: SegmentGroup,
26
59
  argTypes: {
27
60
  ...argTypesFromConfig(mergeConfig(segmentGroupConfig, config)),
61
+ ...disableProps(['filledBackground', 'view', 'selectionMode']),
62
+ clip: {
63
+ control: {
64
+ type: 'boolean',
65
+ },
66
+ if: { arg: 'stretch', truthy: false },
67
+ },
68
+ stretch: {
69
+ control: {
70
+ type: 'boolean',
71
+ },
72
+ if: { arg: 'orientation', eq: 'horizontal' },
73
+ },
74
+ orientation: {
75
+ options: ['horizontal', 'vertical'],
76
+ control: {
77
+ type: 'select',
78
+ },
79
+ },
28
80
  selectionMode: {
29
81
  options: ['single', 'multiple'],
30
82
  control: {
@@ -37,59 +89,90 @@ const meta: Meta<StorySegmentProps> = {
37
89
  type: 'select',
38
90
  },
39
91
  },
92
+ contentLeft: {
93
+ options: contentLeftOptions,
94
+ control: {
95
+ type: 'select',
96
+ },
97
+ },
98
+ contentRight: {
99
+ options: contentRightOptions,
100
+ control: {
101
+ type: 'select',
102
+ },
103
+ },
40
104
  },
41
105
  };
42
106
 
43
107
  export default meta;
44
108
 
45
- const StoryDefault = ({ contentItemsNumber, selectionMode, segmentItemView, view, ...args }: StorySegmentProps) => {
46
- const contentItems = Array(contentItemsNumber).fill(0);
109
+ const StoryDefault = (props: StorySegmentProps) => {
110
+ const {
111
+ clip,
112
+ disabled,
113
+ itemQuantity,
114
+ size,
115
+ stretch,
116
+ orientation,
117
+
118
+ segmentItemView,
119
+ contentLeft: contentLeftOption,
120
+ contentRight: contentRightOption,
121
+ ...args
122
+ } = props;
123
+ const items = Array(itemQuantity).fill(0);
124
+ const isVertical = orientation === 'vertical';
125
+
126
+ const style = clip ? { width: isVertical ? 'auto' : '20rem', height: isVertical ? '10rem' : 'auto' } : undefined;
47
127
 
48
128
  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
- </>
129
+ <SegmentProvider>
130
+ <SegmentGroup
131
+ stretch={stretch}
132
+ disabled={disabled}
133
+ clip={clip}
134
+ size={size}
135
+ orientation={orientation}
136
+ style={style}
137
+ {...args}
138
+ >
139
+ {items.map((_, i) => (
140
+ <SegmentItem
141
+ view={segmentItemView}
142
+ label={`Label ${i}`}
143
+ value={`label_${i}`}
144
+ size={size}
145
+ key={`label_${i}`}
146
+ contentLeft={getContentLeft(contentLeftOption, size)}
147
+ contentRight={getContentRight(contentRightOption, size)}
148
+ {...args}
149
+ >
150
+ {`Label${i + 1}`}
151
+ </SegmentItem>
152
+ ))}
153
+ </SegmentGroup>
154
+ </SegmentProvider>
80
155
  );
81
156
  };
82
157
 
83
158
  export const Default: StoryObj<StorySegmentProps> = {
84
159
  args: {
85
- view: 'clear',
160
+ itemQuantity: 8,
86
161
  size: 'xs',
87
- segmentItemView: 'clear',
162
+ segmentItemView: 'default',
88
163
  selectionMode: 'single',
89
- contentItemsNumber: 11,
90
164
  pilled: false,
91
165
  filledBackground: false,
166
+ hasBackground: false,
92
167
  disabled: false,
168
+ stretch: false,
169
+ clip: false,
170
+ orientation: 'horizontal',
171
+ contentRight: 'none',
172
+ contentLeft: 'none',
173
+ },
174
+ argTypes: {
175
+ ...disableProps(['filledBackground', 'view', 'selectionMode']),
93
176
  },
94
- render: (args) => <StoryDefault {...args} />,
177
+ render: (args: StorySegmentProps) => <StoryDefault {...args} />,
95
178
  };
@@ -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
29
  "true": /*#__PURE__*/css(["", ":var(--plasma-colors-surface-liquid02);"], segmentTokens.groupFilledBackgroundColor)
30
+ },
31
+ orientation: {
32
+ vertical: /*#__PURE__*/css([""])
27
33
  }
28
34
  }
29
35
  };