@salutejs/plasma-new-hope 0.168.1-canary.1346.11361458839.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
@@ -1,18 +1,24 @@
1
1
  .IconRoot_7pl7ig_svvlqhf__32c458a1{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;width:var(--svvlqhf-0);height:var(--svvlqhf-0);-webkit-flex:0 0 var(--svvlqhf-0);-ms-flex:0 0 var(--svvlqhf-0);flex:0 0 var(--svvlqhf-0);}
2
2
 
3
- .base_m358nl_b16s69xg__c51d77df{width:var(--plasma-segment-group-width);height:var(--plasma-segment-group-height);--plasma_private-outline-radius:var(--plasma-segment-group-border-radius);border-radius:var(--plasma-segment-group-border-radius);}
3
+ .base_18cpjsq_b16s69xg__2d529a83{width:var(--plasma-segment-group-width);height:var(--plasma-segment-group-height);}.base_18cpjsq_b16s69xg__2d529a83:before{border-radius:var(--plasma-segment-group-border-radius);}
4
4
 
5
5
  .base_hsx1sr_bo2wq9n__1e99adcc{background-color:var(--plasma-segment-group-background-color);}
6
6
 
7
7
  .base_1n8kaiq_bvqq8jn__3fd538b8[disabled]{opacity:var(--plasma-segment-disabled-opacity);cursor:not-allowed;}
8
8
 
9
- .base_fqbatz_b1re0ohg__24d92a6d.base_fqbatz_segmentPilled__24d92a6d{--plasma_private-outline-radius:var(--plasma-segment-group-pilled-border-radius);border-radius:var(--plasma-segment-group-pilled-border-radius);}
9
+ .base_pxl3nb_b1re0ohg__002ee1a3.base_pxl3nb_segmentPilled__002ee1a3:before{border-radius:var(--plasma-segment-group-pilled-border-radius);}
10
10
 
11
- .base_escgtx_b13sjoz1__a1f0e6e1.base_escgtx_segmentGroupFilledBackground__a1f0e6e1{background-color:var(--plasma-segment-group-filled-background-color);}
11
+ .base_a7w5s0_b13sjoz1__a0df01cb{position:relative;}.base_a7w5s0_b13sjoz1__a0df01cb.base_a7w5s0_segmentGroupFilledBackground__a0df01cb:before{content:'';position:absolute;inset:-0.125rem;background-color:var(--plasma-segment-group-filled-background-color);}
12
12
 
13
13
  .base_74wj10_b1bb2stb__3b76a172.base_74wj10_segmentStretched__3b76a172{width:100%;}.base_74wj10_b1bb2stb__3b76a172.base_74wj10_segmentStretched__3b76a172 .base_74wj10_spuzt9m__3b76a172,.base_74wj10_b1bb2stb__3b76a172.base_74wj10_segmentStretched__3b76a172 .base_74wj10_sin9wo2__3b76a172,.base_74wj10_b1bb2stb__3b76a172.base_74wj10_segmentStretched__3b76a172 .base_74wj10_sin9wo2__3b76a172 > button{width:100%;}
14
14
 
15
- .SegmentGroup_styles_m9i9p0_b2sori2__a29c0677{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}
16
- .SegmentGroup_styles_m9i9p0_sin9wo2__a29c0677{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}
17
- .SegmentGroup_styles_m9i9p0_spuzt9m__a29c0677{position:relative;height:100%;margin:0;padding:0.25rem;overflow-x:auto;overflow-y:hidden;-webkit-scroll-behavior:smooth;-moz-scroll-behavior:smooth;-ms-scroll-behavior:smooth;scroll-behavior:smooth;-webkit-scroll-snap-type:x mandatory;-moz-scroll-snap-type:x mandatory;-ms-scroll-snap-type:x mandatory;scroll-snap-type:x mandatory;}.SegmentGroup_styles_m9i9p0_spuzt9m__a29c0677::-webkit-scrollbar{display:none;}
18
- .SegmentGroup_styles_m9i9p0_s1qf4oye__a29c0677{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;cursor:pointer;border:none;background-color:transparent;padding:0;outline:none;position:relative;}.SegmentGroup_styles_m9i9p0_s1qf4oye__a29c0677::before{content:'';position:absolute;top:-0.125rem;left:-0.125rem;right:-0.125rem;bottom:-0.125rem;z-index:1;display:block;box-sizing:content-box;border:0.063rem solid transparent;border-radius:calc(var(--plasma_private-outline-radius) - 0.063rem);-webkit-transition:box-shadow 0.2s ease-in-out;transition:box-shadow 0.2s ease-in-out;pointer-events:none;}.SegmentGroup_styles_m9i9p0_s1qf4oye__a29c0677.SegmentGroup_styles_m9i9p0_focusVisible__a29c0677:focus::before,.SegmentGroup_styles_m9i9p0_s1qf4oye__a29c0677[data-focus-visible-added]::before{outline:none;box-shadow:0 0 0 0.063rem var(--plasma-segment-outline-focus-color);}.SegmentGroup_styles_m9i9p0_s1qf4oye__a29c0677[disabled]{cursor:not-allowed;}
15
+ .base_1ejecy9_bb2d6sr__61b9631c.base_1ejecy9_segmentVertical__61b9631c{-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;}.base_1ejecy9_bb2d6sr__61b9631c.base_1ejecy9_segmentVertical__61b9631c .base_1ejecy9_spuzt9m__61b9631c{-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;}.base_1ejecy9_bb2d6sr__61b9631c.base_1ejecy9_segmentVertical__61b9631c .base_1ejecy9_sin9wo2__61b9631c{-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;}
16
+
17
+ .SegmentGroup_styles_79d8q2_b2sori2__2f429695{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;max-width:100%;}.SegmentGroup_styles_79d8q2_b2sori2__2f429695.SegmentGroup_styles_79d8q2_segmentVertical__2f429695{max-width:none;max-height:100%;}.SegmentGroup_styles_79d8q2_b2sori2__2f429695:before{border-radius:var(--plasma-segment-group-border-radius);}
18
+ .SegmentGroup_styles_79d8q2_sin9wo2__2f429695{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;max-width:100%;}
19
+ .SegmentGroup_styles_79d8q2_spuzt9m__2f429695{position:relative;height:100%;width:100%;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;--plasma_private-clip-outline-offset:-0.063rem;--plasma_private-clip-outline-radius:0.063rem;}.SegmentGroup_styles_79d8q2_spuzt9m__2f429695.SegmentGroup_styles_79d8q2_segmentGroupClipScroll__2f429695{overflow:scroll;-webkit-scroll-padding:0.25rem;-moz-scroll-padding:0.25rem;-ms-scroll-padding:0.25rem;scroll-padding:0.25rem;overscroll-behavior:contain;--plasma_private-clip-outline-offset:0.063rem;--plasma_private-clip-outline-radius:-0.063rem;-webkit-scrollbar-width:none;-moz-scrollbar-width:none;-ms-scrollbar-width:none;scrollbar-width:none;}.SegmentGroup_styles_79d8q2_spuzt9m__2f429695.SegmentGroup_styles_79d8q2_segmentGroupClipScroll__2f429695::-webkit-scrollbar{display:none;}.SegmentGroup_styles_79d8q2_spuzt9m__2f429695.SegmentGroup_styles_79d8q2_segmentGroupClipScroll__2f429695 .SegmentGroup_styles_79d8q2_sin9wo2__2f429695{max-width:none;}
20
+ .SegmentGroup_styles_79d8q2_s1qf4oye__2f429695{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;cursor:pointer;border:none;background-color:transparent;outline:none;position:relative;}.SegmentGroup_styles_79d8q2_s1qf4oye__2f429695::before{content:'';position:absolute;top:-0.125rem;left:-0.125rem;right:-0.125rem;bottom:-0.125rem;z-index:1;display:block;box-sizing:content-box;border:0.063rem solid transparent;border-radius:calc(var(--plasma_private-outline-radius) - 0.063rem);-webkit-transition:box-shadow 0.2s ease-in-out;transition:box-shadow 0.2s ease-in-out;pointer-events:none;}.SegmentGroup_styles_79d8q2_s1qf4oye__2f429695.SegmentGroup_styles_79d8q2_focusVisible__2f429695:focus::before,.SegmentGroup_styles_79d8q2_s1qf4oye__2f429695[data-focus-visible-added]::before{outline:none;box-shadow:0 0 0 0.063rem var(--plasma-segment-outline-focus-color);}.SegmentGroup_styles_79d8q2_s1qf4oye__2f429695[disabled]{cursor:not-allowed;}
21
+ .SegmentGroup_styles_79d8q2_s3pgccr__2f429695.SegmentGroup_styles_79d8q2_s1qf4oye__2f429695{padding:var(--plasma-segment-group-arrow-padding);padding-right:0;margin-right:0.1875rem;margin-left:0.125rem;}
22
+ .SegmentGroup_styles_79d8q2_sax6mvm__2f429695.SegmentGroup_styles_79d8q2_s1qf4oye__2f429695{padding:var(--plasma-segment-group-arrow-padding);padding-left:0;margin-left:0.1875rem;margin-right:0.125rem;}
23
+ .SegmentGroup_styles_79d8q2_s1n81rr8__2f429695.SegmentGroup_styles_79d8q2_s1qf4oye__2f429695{padding:var(--plasma-segment-group-vertical-arrow-padding);padding-bottom:0;margin-bottom:0.1875rem;}
24
+ .SegmentGroup_styles_79d8q2_s7ukuvj__2f429695.SegmentGroup_styles_79d8q2_s1qf4oye__2f429695{padding:var(--plasma-segment-group-vertical-arrow-padding);padding-top:0;margin-top:0.1875rem;}
@@ -1,9 +1,11 @@
1
1
  import { objectWithoutProperties as _objectWithoutProperties, slicedToArray as _slicedToArray, extends as _extends } from '../../../../_virtual/_rollupPluginBabelHelpers.js';
2
- import React, { forwardRef, useState, Children, useCallback, useMemo, useEffect } from 'react';
3
- import { safeUseId, useCarousel } from '@salutejs/plasma-core';
4
- import { IconDisclosureLeft } from '../../../_Icon/Icons/IconDisclosureLeft.js';
5
- import { IconDisclosureRight } from '../../../_Icon/Icons/IconDisclosureRight.js';
2
+ import React, { forwardRef, useRef, useState, useCallback, useEffect, useMemo } from 'react';
3
+ import { safeUseId } from '@salutejs/plasma-core';
4
+ import { IconDisclosureLeftWithOffset } from '../../../_Icon/Icons/IconDisclosureLeftWithOffset.js';
6
5
  import '@linaria/react';
6
+ import { IconDisclosureRightWithOffset } from '../../../_Icon/Icons/IconDisclosureRightWithOffset.js';
7
+ import { IconDisclosureDownWithOffset } from '../../../_Icon/Icons/IconDisclosureDownWithOffset.js';
8
+ import { IconDisclosureUpWithOffset } from '../../../_Icon/Icons/IconDisclosureUpWithOffset.js';
7
9
  import { tokens, classes } from '../../tokens.js';
8
10
  import { cx } from '../../../../utils/index.js';
9
11
  import { useSegmentInner } from '../../SegmentProvider/SegmentProvider.js';
@@ -11,151 +13,237 @@ import { base as base$1 } from './variations/_size/base.js';
11
13
  import { base as base$2 } from './variations/_view/base.js';
12
14
  import { base as base$3 } from './variations/_disabled/base.js';
13
15
  import { base as base$4 } from './variations/_pilled/base.js';
14
- import { base as base$6 } from './variations/_filledBackgound/base.js';
16
+ import { base as base$7 } from './variations/_filledBackgound/base.js';
15
17
  import { base as base$5 } from './variations/_stretch/base.js';
16
- import { StyledArrow, StyledContentWrapper, StyledContent, base } from './SegmentGroup.styles.js';
18
+ import { base as base$6 } from './variations/_orientation/base.js';
19
+ import { StyledContentWrapper, StyledContent, base, StyledTopArrow, StyledLeftArrow, StyledBottomArrow, StyledRightArrow } from './SegmentGroup.styles.js';
17
20
 
18
- var _excluded = ["id", "selectionMode", "pilled", "stretch", "filledBackground", "disabled", "size", "view", "children"];
21
+ var _excluded = ["id", "selectionMode", "pilled", "stretch", "clip", "orientation", "filledBackground", "hasBackground", "disabled", "size", "view", "children"];
22
+ var Keys = /*#__PURE__*/function (Keys) {
23
+ Keys[Keys["end"] = 35] = "end";
24
+ Keys[Keys["home"] = 36] = "home";
25
+ Keys[Keys["left"] = 37] = "left";
26
+ Keys[Keys["right"] = 39] = "right";
27
+ return Keys;
28
+ }(Keys || {});
29
+ var getChildNodes = function getChildNodes(wrapper) {
30
+ var container = wrapper === null || wrapper === void 0 ? void 0 : wrapper.firstChild;
31
+ return container ? Array.from(container === null || container === void 0 ? void 0 : container.childNodes) : [];
32
+ };
19
33
  var segmentGroupRoot = function segmentGroupRoot(Root) {
20
34
  return /*#__PURE__*/forwardRef(function (props, outerRef) {
21
35
  var id = props.id,
22
36
  selectionMode = props.selectionMode,
23
37
  pilled = props.pilled,
24
38
  stretch = props.stretch,
39
+ _props$clip = props.clip,
40
+ clip = _props$clip === void 0 ? true : _props$clip,
41
+ _props$orientation = props.orientation,
42
+ orientation = _props$orientation === void 0 ? 'horizontal' : _props$orientation,
25
43
  _props$filledBackgrou = props.filledBackground,
26
44
  filledBackground = _props$filledBackgrou === void 0 ? false : _props$filledBackgrou,
45
+ _props$hasBackground = props.hasBackground,
46
+ hasBackground = _props$hasBackground === void 0 ? false : _props$hasBackground,
27
47
  _props$disabled = props.disabled,
28
48
  disabled = _props$disabled === void 0 ? false : _props$disabled,
29
49
  size = props.size,
30
50
  view = props.view,
31
51
  children = props.children,
32
52
  rest = _objectWithoutProperties(props, _excluded);
53
+ var scrollRef = useRef(null);
54
+ var trackRef = useRef(null);
55
+ var leftArrowRef = useRef(null);
33
56
  var _useSegmentInner = useSegmentInner(),
34
57
  setSelectionMode = _useSegmentInner.setSelectionMode,
35
58
  setDisabledGroup = _useSegmentInner.setDisabledGroup;
36
- var _useState = useState(0),
59
+ var _useState = useState(true),
37
60
  _useState2 = _slicedToArray(_useState, 2),
38
- index = _useState2[0],
39
- setIndex = _useState2[1];
40
- var _useState3 = useState(false),
61
+ firstItemVisible = _useState2[0],
62
+ setFirstItemVisible = _useState2[1];
63
+ var _useState3 = useState(true),
41
64
  _useState4 = _slicedToArray(_useState3, 2),
42
- firstItemVisible = _useState4[0],
43
- setFirstItemVisible = _useState4[1];
44
- var _useState5 = useState(false),
45
- _useState6 = _slicedToArray(_useState5, 2),
46
- lastItemVisible = _useState6[0],
47
- setLastItemVisible = _useState6[1];
65
+ lastItemVisible = _useState4[0],
66
+ setLastItemVisible = _useState4[1];
48
67
  var uniqId = safeUseId();
49
68
  var segmentGroupId = id || uniqId;
50
- var pilledAttr = view !== 'clear' && pilled;
51
- var filledBackgroundAttr = view !== 'clear' && filledBackground;
69
+ var canClip = clip && !stretch;
70
+ var isVertical = orientation === 'vertical';
71
+ var stretchClass = (clip ? firstItemVisible && lastItemVisible : true) && stretch ? classes.segmentStretch : undefined;
72
+ var orientationClass = isVertical ? classes.segmentVertical : undefined;
73
+ var clipScrollClass = canClip ? classes.segmentGroupClipScroll : undefined;
74
+ var pilledAttr = (view !== 'clear' || hasBackground) && pilled;
75
+ var filledBackgroundAttr = view !== 'clear' && filledBackground || hasBackground;
52
76
  var pilledClass = pilledAttr ? classes.segmentPilled : undefined;
53
77
  var filledClass = filledBackgroundAttr ? classes.segmentGroupFilledBackground : undefined;
54
- var stretchClass = firstItemVisible && lastItemVisible && stretch ? classes.segmentStretch : undefined;
55
- var items = (Children === null || Children === void 0 ? void 0 : Children.map(children, function (child) {
56
- return child;
57
- })) || [];
58
78
  var onPrev = useCallback(function () {
59
- !disabled && setIndex(function (prevIndex) {
60
- return prevIndex > 0 ? prevIndex - 1 : 0;
79
+ if (disabled || !scrollRef.current) {
80
+ return;
81
+ }
82
+ var childNodes = getChildNodes(scrollRef.current);
83
+ var scrollLeft = Math.round(scrollRef.current.scrollLeft);
84
+ var firstOverflowingTab = childNodes.slice().reverse().find(function (child) {
85
+ if (!child || child.offsetLeft === undefined) {
86
+ return;
87
+ }
88
+ var tabStartX = child.offsetLeft;
89
+ return tabStartX < scrollLeft;
61
90
  });
62
- }, [disabled]);
91
+ firstOverflowingTab === null || firstOverflowingTab === void 0 || firstOverflowingTab.scrollIntoView({
92
+ block: 'nearest',
93
+ inline: 'nearest'
94
+ });
95
+ }, [disabled, scrollRef]);
63
96
  var onNext = useCallback(function () {
64
- !disabled && setIndex(function (prevIndex) {
65
- return prevIndex < items.length - 1 ? prevIndex + 1 : prevIndex;
97
+ if (disabled || !scrollRef.current) {
98
+ return;
99
+ }
100
+ var scrollRight = Math.round(scrollRef.current.scrollLeft + scrollRef.current.clientWidth);
101
+ var childNodes = getChildNodes(scrollRef.current);
102
+ var lastOverflowingChild = childNodes.find(function (child) {
103
+ if (!child || child.offsetLeft === undefined) {
104
+ return;
105
+ }
106
+ var tabEndX = child.offsetLeft + child.offsetWidth;
107
+ return tabEndX > scrollRight;
66
108
  });
67
- }, [disabled]);
68
- var onIntersecting = function onIntersecting(setVisible) {
69
- return function (entries) {
70
- /*
71
- * Пробегаемся по элементам на которых есть слушатель события появления.
72
- * Если элемент находится в зоне видимости или выходит из нее, меняем значение флага видимости
73
- */
74
- entries.forEach(function (entry) {
75
- if (entry.isIntersecting) {
76
- setVisible(true);
77
- } else {
78
- setVisible(false);
79
- }
109
+ lastOverflowingChild === null || lastOverflowingChild === void 0 || lastOverflowingChild.scrollIntoView({
110
+ block: 'nearest',
111
+ inline: 'nearest'
112
+ });
113
+ }, [disabled, scrollRef]);
114
+ var onKeyDown = useCallback(function (event) {
115
+ var childNodes = getChildNodes(scrollRef === null || scrollRef === void 0 ? void 0 : scrollRef.current);
116
+ var index = childNodes.findIndex(function (child) {
117
+ return document.activeElement === child;
118
+ });
119
+ var minIndex = 0;
120
+ var maxIndex = childNodes.length - 1;
121
+ var nextIndex;
122
+ switch (event.keyCode) {
123
+ case Keys.end:
124
+ nextIndex = maxIndex;
125
+ break;
126
+ case Keys.left:
127
+ nextIndex = index > minIndex ? index - 1 : index;
128
+ break;
129
+ case Keys.right:
130
+ nextIndex = index < maxIndex ? index + 1 : index;
131
+ break;
132
+ case Keys.home:
133
+ nextIndex = minIndex;
134
+ break;
135
+ default:
136
+ return;
137
+ }
138
+ if (nextIndex !== index) {
139
+ var _childNodes$nextIndex, _childNodes$nextIndex2;
140
+ event.preventDefault();
141
+ (_childNodes$nextIndex = childNodes[nextIndex]) === null || _childNodes$nextIndex === void 0 || _childNodes$nextIndex.focus();
142
+ (_childNodes$nextIndex2 = childNodes[nextIndex]) === null || _childNodes$nextIndex2 === void 0 || _childNodes$nextIndex2.scrollIntoView({
143
+ block: 'center',
144
+ inline: 'center',
145
+ behavior: 'smooth'
80
146
  });
81
- };
82
- };
83
- var _useCarousel = useCarousel({
84
- index: index,
85
- axis: 'x',
86
- scrollAlign: 'start',
87
- detectActive: true,
88
- debounceMs: 250,
89
- onIndexChange: setIndex
90
- }),
91
- scrollRef = _useCarousel.scrollRef,
92
- trackRef = _useCarousel.trackRef;
147
+ }
148
+ }, []);
149
+ var handleScroll = useCallback(function (event) {
150
+ var _event$stopPropagatio;
151
+ (_event$stopPropagatio = event.stopPropagation) === null || _event$stopPropagatio === void 0 || _event$stopPropagatio.call(event);
152
+ if (!canClip) {
153
+ setFirstItemVisible(true);
154
+ setLastItemVisible(true);
155
+ return;
156
+ }
157
+ if (isVertical) {
158
+ var maxScrollTop = event.currentTarget.scrollHeight - event.currentTarget.clientHeight;
159
+ var scrollTop = Math.round(event.currentTarget.scrollTop);
160
+ setFirstItemVisible(scrollTop <= 0);
161
+ setLastItemVisible(scrollTop >= maxScrollTop);
162
+ return;
163
+ }
164
+ var maxScrollLeft = event.currentTarget.scrollWidth - event.currentTarget.clientWidth;
165
+ var scrollLeft = Math.round(event.currentTarget.scrollLeft);
166
+ setFirstItemVisible(scrollLeft <= 0);
167
+ setLastItemVisible(scrollLeft >= maxScrollLeft);
168
+ }, [isVertical, canClip]);
169
+ useEffect(function () {
170
+ handleScroll({
171
+ currentTarget: scrollRef.current
172
+ });
173
+ }, [handleScroll]);
174
+ useEffect(function () {
175
+ var _scrollRef$current, _scrollRef$current2, _scrollRef$current3, _scrollRef$current4;
176
+ if (!canClip) {
177
+ setLastItemVisible(true);
178
+ return;
179
+ }
180
+ setLastItemVisible(isVertical ? ((_scrollRef$current = scrollRef.current) === null || _scrollRef$current === void 0 ? void 0 : _scrollRef$current.scrollHeight) === ((_scrollRef$current2 = scrollRef.current) === null || _scrollRef$current2 === void 0 ? void 0 : _scrollRef$current2.clientHeight) : ((_scrollRef$current3 = scrollRef.current) === null || _scrollRef$current3 === void 0 ? void 0 : _scrollRef$current3.scrollWidth) === ((_scrollRef$current4 = scrollRef.current) === null || _scrollRef$current4 === void 0 ? void 0 : _scrollRef$current4.clientWidth));
181
+ }, [isVertical, canClip]);
182
+
183
+ // Этот хук компенсирует появление левой/верхней стрелки при прокрутке
184
+ useEffect(function () {
185
+ if (firstItemVisible || !scrollRef.current || !leftArrowRef.current) {
186
+ return;
187
+ }
188
+ if (isVertical) {
189
+ scrollRef.current.scrollTo({
190
+ top: Math.round(scrollRef.current.scrollTop + leftArrowRef.current.clientHeight)
191
+ });
192
+ return;
193
+ }
194
+ scrollRef.current.scrollTo({
195
+ left: Math.round(scrollRef.current.scrollLeft + leftArrowRef.current.clientWidth)
196
+ });
197
+ }, [firstItemVisible, isVertical]);
93
198
  var PreviousButton = useMemo(function () {
94
- return /*#__PURE__*/React.createElement(StyledArrow, {
199
+ var ArrowNode = isVertical ? StyledTopArrow : StyledLeftArrow;
200
+ return /*#__PURE__*/React.createElement(ArrowNode, {
95
201
  type: "button",
96
202
  "aria-label": "\u041F\u0440\u0435\u0434\u044B\u0434\u0443\u0449\u0438\u0439 \u0441\u0435\u0433\u043C\u0435\u043D\u0442",
97
203
  onClick: onPrev,
98
204
  tabIndex: disabled ? -1 : 0,
99
205
  disabled: disabled
100
- }, /*#__PURE__*/React.createElement(IconDisclosureLeft, {
206
+ }, isVertical ? /*#__PURE__*/React.createElement(IconDisclosureUpWithOffset, {
207
+ color: "var(".concat(tokens.arrowColor, ")"),
208
+ size: "s"
209
+ }) : /*#__PURE__*/React.createElement(IconDisclosureLeftWithOffset, {
101
210
  color: "var(".concat(tokens.arrowColor, ")")
102
211
  }));
103
- }, [onPrev]);
212
+ }, [onPrev, isVertical]);
104
213
  var NextButton = useMemo(function () {
105
- return /*#__PURE__*/React.createElement(StyledArrow, {
214
+ var ArrowNode = isVertical ? StyledBottomArrow : StyledRightArrow;
215
+ return /*#__PURE__*/React.createElement(ArrowNode, {
106
216
  type: "button",
107
217
  "aria-label": "\u0421\u043B\u0435\u0434\u0443\u044E\u0449\u0438\u0439 \u0441\u0435\u0433\u043C\u0435\u043D\u0442",
108
218
  onClick: onNext,
109
219
  tabIndex: disabled ? -1 : 0,
110
220
  disabled: disabled
111
- }, /*#__PURE__*/React.createElement(IconDisclosureRight, {
221
+ }, isVertical ? /*#__PURE__*/React.createElement(IconDisclosureDownWithOffset, {
222
+ color: "var(".concat(tokens.arrowColor, ")"),
223
+ size: "s"
224
+ }) : /*#__PURE__*/React.createElement(IconDisclosureRightWithOffset, {
112
225
  color: "var(".concat(tokens.arrowColor, ")")
113
226
  }));
114
- }, [onNext]);
227
+ }, [onNext, isVertical]);
115
228
  useEffect(function () {
116
229
  selectionMode && setSelectionMode(selectionMode);
117
230
  setDisabledGroup(disabled);
118
231
  }, [selectionMode, disabled]);
119
- useEffect(function () {
120
- var _trackRef$current;
121
- // Intersection observer для первого сегмента
122
- var observeFirstItem = new IntersectionObserver(onIntersecting(setFirstItemVisible), {
123
- root: null,
124
- rootMargin: '0px',
125
- threshold: 0.5
126
- });
127
-
128
- // Intersection observer для последнего сегмента
129
- var observeLastItem = new IntersectionObserver(onIntersecting(setLastItemVisible), {
130
- root: null,
131
- rootMargin: '0px',
132
- threshold: 0.5
133
- });
134
-
135
- // получаем список сегментов внутри SegmentGroup
136
- var childrenArray = Array.from(((_trackRef$current = trackRef.current) === null || _trackRef$current === void 0 ? void 0 : _trackRef$current.children) || []);
137
- if (childrenArray.length) {
138
- // подписываемся на событие появление внутри SegmentGroup
139
- observeFirstItem.observe(childrenArray[0]);
140
- observeLastItem.observe(childrenArray[childrenArray.length - 1]);
141
- }
142
- return function () {
143
- // отписываемся от события появления внутри SegmentGroup
144
- observeFirstItem.disconnect();
145
- observeLastItem.disconnect();
146
- };
147
- }, [children]);
148
232
  return /*#__PURE__*/React.createElement(Root, _extends({
149
233
  view: view,
150
234
  size: size,
235
+ orientation: orientation,
151
236
  id: segmentGroupId,
152
237
  ref: outerRef,
153
238
  filledBackground: filledBackgroundAttr,
154
239
  disabled: disabled,
155
240
  pilled: pilledAttr,
156
- className: cx(pilledClass, filledClass, stretchClass)
241
+ className: cx(pilledClass, filledClass, stretchClass, orientationClass),
242
+ onKeyDown: onKeyDown
157
243
  }, rest), !firstItemVisible && PreviousButton, /*#__PURE__*/React.createElement(StyledContentWrapper, {
158
- ref: scrollRef
244
+ className: cx(clipScrollClass),
245
+ ref: scrollRef,
246
+ onScroll: handleScroll
159
247
  }, /*#__PURE__*/React.createElement(StyledContent, {
160
248
  ref: trackRef
161
249
  }, children)), !lastItemVisible && NextButton);
@@ -185,8 +273,11 @@ var segmentGroupConfig = {
185
273
  css: base$5,
186
274
  attrs: true
187
275
  },
276
+ orientation: {
277
+ css: base$6
278
+ },
188
279
  filledBackground: {
189
- css: base$6,
280
+ css: base$7,
190
281
  attrs: true
191
282
  }
192
283
  },
@@ -196,5 +287,5 @@ var segmentGroupConfig = {
196
287
  }
197
288
  };
198
289
 
199
- export { segmentGroupConfig, segmentGroupRoot };
290
+ export { getChildNodes, segmentGroupConfig, segmentGroupRoot };
200
291
  //# sourceMappingURL=SegmentGroup.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SegmentGroup.js","sources":["../../../../../src/components/Segment/ui/SegmentGroup/SegmentGroup.tsx"],"sourcesContent":["import React, { forwardRef, useCallback, useMemo, useState, Children, useEffect } from 'react';\nimport type { SetStateAction, RefObject, MutableRefObject } from 'react';\nimport { safeUseId, useCarousel } from '@salutejs/plasma-core';\n\nimport type { RootProps } from '../../../../engines/types';\nimport { IconDisclosureLeft, IconDisclosureRight } from '../../../_Icon';\nimport { classes, tokens } from '../../tokens';\nimport { cx } from '../../../../utils';\nimport { useSegmentInner } from '../../SegmentProvider/SegmentProvider';\n\nimport { base as sizeCSS } from './variations/_size/base';\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as disabledCSS } from './variations/_disabled/base';\nimport { base as pilledCSS } from './variations/_pilled/base';\nimport { base as filledBackgroundCSS } from './variations/_filledBackgound/base';\nimport { base as stretchCSS } from './variations/_stretch/base';\nimport type { SegmentGroupProps } from './SegmentGroup.types';\nimport { StyledArrow, StyledContent, StyledContentWrapper, base } from './SegmentGroup.styles';\n\nexport const segmentGroupRoot = (Root: RootProps<HTMLDivElement, SegmentGroupProps>) =>\n forwardRef<HTMLDivElement, SegmentGroupProps>((props, outerRef) => {\n const {\n id,\n selectionMode,\n pilled,\n stretch,\n filledBackground = false,\n disabled = false,\n size,\n view,\n children,\n ...rest\n } = props;\n\n const { setSelectionMode, setDisabledGroup } = useSegmentInner();\n\n const [index, setIndex] = useState(0);\n const [firstItemVisible, setFirstItemVisible] = useState(false);\n const [lastItemVisible, setLastItemVisible] = useState(false);\n\n const uniqId = safeUseId();\n const segmentGroupId = id || uniqId;\n\n const pilledAttr = view !== 'clear' && pilled;\n const filledBackgroundAttr = view !== 'clear' && filledBackground;\n const pilledClass = pilledAttr ? classes.segmentPilled : undefined;\n const filledClass = filledBackgroundAttr ? classes.segmentGroupFilledBackground : undefined;\n const stretchClass = firstItemVisible && lastItemVisible && stretch ? classes.segmentStretch : undefined;\n\n const items = Children?.map(children, (child) => child) || [];\n\n const onPrev = useCallback(() => {\n !disabled && setIndex((prevIndex) => (prevIndex > 0 ? prevIndex - 1 : 0));\n }, [disabled]);\n\n const onNext = useCallback(() => {\n !disabled && setIndex((prevIndex) => (prevIndex < items.length - 1 ? prevIndex + 1 : prevIndex));\n }, [disabled]);\n\n const onIntersecting = (setVisible: (value: SetStateAction<boolean>) => void) => (\n entries: IntersectionObserverEntry[],\n ) => {\n /*\n * Пробегаемся по элементам на которых есть слушатель события появления.\n * Если элемент находится в зоне видимости или выходит из нее, меняем значение флага видимости\n */\n entries.forEach((entry) => {\n if (entry.isIntersecting) {\n setVisible(true);\n } else {\n setVisible(false);\n }\n });\n };\n\n const { scrollRef, trackRef } = useCarousel({\n index,\n axis: 'x',\n scrollAlign: 'start',\n detectActive: true,\n debounceMs: 250,\n onIndexChange: setIndex,\n });\n\n const PreviousButton = useMemo(\n () => (\n <StyledArrow\n type=\"button\"\n aria-label=\"Предыдущий сегмент\"\n onClick={onPrev}\n tabIndex={disabled ? -1 : 0}\n disabled={disabled}\n >\n <IconDisclosureLeft color={`var(${tokens.arrowColor})`} />\n </StyledArrow>\n ),\n [onPrev],\n );\n\n const NextButton = useMemo(\n () => (\n <StyledArrow\n type=\"button\"\n aria-label=\"Следующий сегмент\"\n onClick={onNext}\n tabIndex={disabled ? -1 : 0}\n disabled={disabled}\n >\n <IconDisclosureRight color={`var(${tokens.arrowColor})`} />\n </StyledArrow>\n ),\n [onNext],\n );\n\n useEffect(() => {\n selectionMode && setSelectionMode(selectionMode);\n setDisabledGroup(disabled);\n }, [selectionMode, disabled]);\n\n useEffect(() => {\n // Intersection observer для первого сегмента\n const observeFirstItem = new IntersectionObserver(onIntersecting(setFirstItemVisible), {\n root: null,\n rootMargin: '0px',\n threshold: 0.5,\n });\n\n // Intersection observer для последнего сегмента\n const observeLastItem = new IntersectionObserver(onIntersecting(setLastItemVisible), {\n root: null,\n rootMargin: '0px',\n threshold: 0.5,\n });\n\n // получаем список сегментов внутри SegmentGroup\n const childrenArray = Array.from(trackRef.current?.children || []) as Array<Element>;\n if (childrenArray.length) {\n // подписываемся на событие появление внутри SegmentGroup\n observeFirstItem.observe(childrenArray[0]);\n observeLastItem.observe(childrenArray[childrenArray.length - 1]);\n }\n\n return () => {\n // отписываемся от события появления внутри SegmentGroup\n observeFirstItem.disconnect();\n observeLastItem.disconnect();\n };\n }, [children]);\n\n return (\n <Root\n view={view}\n size={size}\n id={segmentGroupId}\n ref={outerRef}\n filledBackground={filledBackgroundAttr}\n disabled={disabled}\n pilled={pilledAttr}\n className={cx(pilledClass, filledClass, stretchClass)}\n {...rest}\n >\n {!firstItemVisible && PreviousButton}\n <StyledContentWrapper ref={scrollRef as RefObject<HTMLDivElement>}>\n <StyledContent ref={trackRef as MutableRefObject<HTMLDivElement | null>}>{children}</StyledContent>\n </StyledContentWrapper>\n {!lastItemVisible && NextButton}\n </Root>\n );\n });\n\nexport const segmentGroupConfig = {\n name: 'SegmentGroup',\n tag: 'div',\n layout: segmentGroupRoot,\n base,\n variations: {\n size: {\n css: sizeCSS,\n },\n view: {\n css: viewCSS,\n },\n disabled: {\n css: disabledCSS,\n attrs: true,\n },\n pilled: {\n css: pilledCSS,\n attrs: true,\n },\n stretch: {\n css: stretchCSS,\n attrs: true,\n },\n filledBackground: {\n css: filledBackgroundCSS,\n attrs: true,\n },\n },\n defaults: {\n view: 'clear',\n size: 'xs',\n },\n};\n"],"names":["segmentGroupRoot","Root","forwardRef","props","outerRef","id","selectionMode","pilled","stretch","_props$filledBackgrou","filledBackground","_props$disabled","disabled","size","view","children","rest","_objectWithoutProperties","_excluded","_useSegmentInner","useSegmentInner","setSelectionMode","setDisabledGroup","_useState","useState","_useState2","_slicedToArray","index","setIndex","_useState3","_useState4","firstItemVisible","setFirstItemVisible","_useState5","_useState6","lastItemVisible","setLastItemVisible","uniqId","safeUseId","segmentGroupId","pilledAttr","filledBackgroundAttr","pilledClass","classes","segmentPilled","undefined","filledClass","segmentGroupFilledBackground","stretchClass","segmentStretch","items","Children","map","child","onPrev","useCallback","prevIndex","onNext","length","onIntersecting","setVisible","entries","forEach","entry","isIntersecting","_useCarousel","useCarousel","axis","scrollAlign","detectActive","debounceMs","onIndexChange","scrollRef","trackRef","PreviousButton","useMemo","React","createElement","StyledArrow","type","onClick","tabIndex","IconDisclosureLeft","color","concat","tokens","arrowColor","NextButton","IconDisclosureRight","useEffect","_trackRef$current","observeFirstItem","IntersectionObserver","root","rootMargin","threshold","observeLastItem","childrenArray","Array","from","current","observe","disconnect","_extends","ref","className","cx","StyledContentWrapper","StyledContent","segmentGroupConfig","name","tag","layout","base","variations","css","sizeCSS","viewCSS","disabledCSS","attrs","pilledCSS","stretchCSS","filledBackgroundCSS","defaults"],"mappings":"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"}
1
+ {"version":3,"file":"SegmentGroup.js","sources":["../../../../../src/components/Segment/ui/SegmentGroup/SegmentGroup.tsx"],"sourcesContent":["import React, { forwardRef, useCallback, useMemo, useState, useEffect, useRef, KeyboardEvent } from 'react';\nimport type { RefObject, MutableRefObject } from 'react';\nimport { safeUseId } from '@salutejs/plasma-core';\n\nimport type { RootProps } from '../../../../engines/types';\nimport {\n IconDisclosureLeftWithOffset,\n IconDisclosureRightWithOffset,\n IconDisclosureDownWithOffset,\n IconDisclosureUpWithOffset,\n} from '../../../_Icon';\nimport { classes, tokens } from '../../tokens';\nimport { cx } from '../../../../utils';\nimport { useSegmentInner } from '../../SegmentProvider/SegmentProvider';\n\nimport { base as sizeCSS } from './variations/_size/base';\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as disabledCSS } from './variations/_disabled/base';\nimport { base as pilledCSS } from './variations/_pilled/base';\nimport { base as filledBackgroundCSS } from './variations/_filledBackgound/base';\nimport { base as stretchCSS } from './variations/_stretch/base';\nimport { base as orientationCSS } from './variations/_orientation/base';\nimport type { SegmentGroupProps } from './SegmentGroup.types';\nimport {\n StyledContent,\n StyledContentWrapper,\n base,\n StyledLeftArrow,\n StyledRightArrow,\n StyledTopArrow,\n StyledBottomArrow,\n} from './SegmentGroup.styles';\n\nenum Keys {\n end = 35,\n home = 36,\n left = 37,\n right = 39,\n}\n\nexport const getChildNodes = (wrapper: HTMLElement | null) => {\n const container = wrapper?.firstChild;\n return container ? (Array.from(container?.childNodes) as HTMLElement[]) : [];\n};\n\nexport const segmentGroupRoot = (Root: RootProps<HTMLDivElement, SegmentGroupProps>) =>\n forwardRef<HTMLDivElement, SegmentGroupProps>((props, outerRef) => {\n const {\n id,\n selectionMode,\n pilled,\n stretch,\n clip = true,\n orientation = 'horizontal',\n filledBackground = false,\n hasBackground = false,\n disabled = false,\n size,\n view,\n children,\n ...rest\n } = props;\n\n const scrollRef = useRef<HTMLElement | null>(null);\n const trackRef = useRef<HTMLElement | null>(null);\n const leftArrowRef = useRef<HTMLButtonElement | null>(null);\n\n const { setSelectionMode, setDisabledGroup } = useSegmentInner();\n\n const [firstItemVisible, setFirstItemVisible] = useState(true);\n const [lastItemVisible, setLastItemVisible] = useState(true);\n\n const uniqId = safeUseId();\n const segmentGroupId = id || uniqId;\n\n const canClip = clip && !stretch;\n\n const isVertical = orientation === 'vertical';\n const stretchClass =\n (clip ? firstItemVisible && lastItemVisible : true) && stretch ? classes.segmentStretch : undefined;\n\n const orientationClass = isVertical ? classes.segmentVertical : undefined;\n const clipScrollClass = canClip ? classes.segmentGroupClipScroll : undefined;\n\n const pilledAttr = (view !== 'clear' || hasBackground) && pilled;\n const filledBackgroundAttr = (view !== 'clear' && filledBackground) || hasBackground;\n\n const pilledClass = pilledAttr ? classes.segmentPilled : undefined;\n const filledClass = filledBackgroundAttr ? classes.segmentGroupFilledBackground : undefined;\n\n const onPrev = useCallback(() => {\n if (disabled || !scrollRef.current) {\n return;\n }\n\n const childNodes = getChildNodes(scrollRef.current);\n\n const scrollLeft = Math.round(scrollRef.current.scrollLeft);\n const firstOverflowingTab = childNodes\n .slice()\n .reverse()\n .find((child: HTMLElement | null) => {\n if (!child || child.offsetLeft === undefined) {\n return;\n }\n const tabStartX = child.offsetLeft;\n\n return tabStartX < scrollLeft;\n });\n\n firstOverflowingTab?.scrollIntoView({ block: 'nearest', inline: 'nearest' });\n }, [disabled, scrollRef]);\n\n const onNext = useCallback(() => {\n if (disabled || !scrollRef.current) {\n return;\n }\n\n const scrollRight = Math.round(scrollRef.current.scrollLeft + scrollRef.current.clientWidth);\n\n const childNodes = getChildNodes(scrollRef.current);\n\n const lastOverflowingChild = childNodes.find((child) => {\n if (!child || child.offsetLeft === undefined) {\n return;\n }\n const tabEndX = child.offsetLeft + child.offsetWidth;\n\n return tabEndX > scrollRight;\n });\n\n lastOverflowingChild?.scrollIntoView({ block: 'nearest', inline: 'nearest' });\n }, [disabled, scrollRef]);\n\n const onKeyDown = useCallback((event: KeyboardEvent<HTMLDivElement>) => {\n const childNodes = getChildNodes(scrollRef?.current);\n\n const index = childNodes.findIndex((child) => document.activeElement === child);\n\n const minIndex = 0;\n const maxIndex = childNodes.length - 1;\n let nextIndex: number;\n\n switch (event.keyCode) {\n case Keys.end:\n nextIndex = maxIndex;\n break;\n case Keys.left:\n nextIndex = index > minIndex ? index - 1 : index;\n break;\n case Keys.right:\n nextIndex = index < maxIndex ? index + 1 : index;\n break;\n case Keys.home:\n nextIndex = minIndex;\n break;\n default:\n return;\n }\n\n if (nextIndex !== index) {\n event.preventDefault();\n childNodes[nextIndex]?.focus();\n childNodes[nextIndex]?.scrollIntoView({\n block: 'center',\n inline: 'center',\n behavior: 'smooth',\n });\n }\n }, []);\n\n const handleScroll = useCallback(\n (event: React.UIEvent<HTMLElement>): void => {\n event.stopPropagation?.();\n\n if (!canClip) {\n setFirstItemVisible(true);\n setLastItemVisible(true);\n return;\n }\n\n if (isVertical) {\n const maxScrollTop = event.currentTarget.scrollHeight - event.currentTarget.clientHeight;\n const scrollTop = Math.round(event.currentTarget.scrollTop);\n\n setFirstItemVisible(scrollTop <= 0);\n setLastItemVisible(scrollTop >= maxScrollTop);\n return;\n }\n\n const maxScrollLeft = event.currentTarget.scrollWidth - event.currentTarget.clientWidth;\n const scrollLeft = Math.round(event.currentTarget.scrollLeft);\n\n setFirstItemVisible(scrollLeft <= 0);\n setLastItemVisible(scrollLeft >= maxScrollLeft);\n },\n [isVertical, canClip],\n );\n\n useEffect(() => {\n handleScroll(({ currentTarget: scrollRef.current } as unknown) as React.UIEvent<HTMLElement>);\n }, [handleScroll]);\n\n useEffect(() => {\n if (!canClip) {\n setLastItemVisible(true);\n return;\n }\n\n setLastItemVisible(\n isVertical\n ? scrollRef.current?.scrollHeight === scrollRef.current?.clientHeight\n : scrollRef.current?.scrollWidth === scrollRef.current?.clientWidth,\n );\n }, [isVertical, canClip]);\n\n // Этот хук компенсирует появление левой/верхней стрелки при прокрутке\n useEffect(() => {\n if (firstItemVisible || !scrollRef.current || !leftArrowRef.current) {\n return;\n }\n\n if (isVertical) {\n scrollRef.current.scrollTo({\n top: Math.round(scrollRef.current.scrollTop + leftArrowRef.current.clientHeight),\n });\n return;\n }\n\n scrollRef.current.scrollTo({\n left: Math.round(scrollRef.current.scrollLeft + leftArrowRef.current.clientWidth),\n });\n }, [firstItemVisible, isVertical]);\n\n const PreviousButton = useMemo(() => {\n const ArrowNode = isVertical ? StyledTopArrow : StyledLeftArrow;\n return (\n <ArrowNode\n type=\"button\"\n aria-label=\"Предыдущий сегмент\"\n onClick={onPrev}\n tabIndex={disabled ? -1 : 0}\n disabled={disabled}\n >\n {isVertical ? (\n <IconDisclosureUpWithOffset color={`var(${tokens.arrowColor})`} size=\"s\" />\n ) : (\n <IconDisclosureLeftWithOffset color={`var(${tokens.arrowColor})`} />\n )}\n </ArrowNode>\n );\n }, [onPrev, isVertical]);\n\n const NextButton = useMemo(() => {\n const ArrowNode = isVertical ? StyledBottomArrow : StyledRightArrow;\n return (\n <ArrowNode\n type=\"button\"\n aria-label=\"Следующий сегмент\"\n onClick={onNext}\n tabIndex={disabled ? -1 : 0}\n disabled={disabled}\n >\n {isVertical ? (\n <IconDisclosureDownWithOffset color={`var(${tokens.arrowColor})`} size=\"s\" />\n ) : (\n <IconDisclosureRightWithOffset color={`var(${tokens.arrowColor})`} />\n )}\n </ArrowNode>\n );\n }, [onNext, isVertical]);\n\n useEffect(() => {\n selectionMode && setSelectionMode(selectionMode);\n setDisabledGroup(disabled);\n }, [selectionMode, disabled]);\n\n return (\n <Root\n view={view}\n size={size}\n orientation={orientation}\n id={segmentGroupId}\n ref={outerRef}\n filledBackground={filledBackgroundAttr}\n disabled={disabled}\n pilled={pilledAttr}\n className={cx(pilledClass, filledClass, stretchClass, orientationClass)}\n onKeyDown={onKeyDown}\n {...rest}\n >\n {!firstItemVisible && PreviousButton}\n <StyledContentWrapper\n className={cx(clipScrollClass)}\n ref={scrollRef as RefObject<HTMLDivElement>}\n onScroll={handleScroll}\n >\n <StyledContent ref={trackRef as MutableRefObject<HTMLDivElement | null>}>{children}</StyledContent>\n </StyledContentWrapper>\n {!lastItemVisible && NextButton}\n </Root>\n );\n });\n\nexport const segmentGroupConfig = {\n name: 'SegmentGroup',\n tag: 'div',\n layout: segmentGroupRoot,\n base,\n variations: {\n size: {\n css: sizeCSS,\n },\n view: {\n css: viewCSS,\n },\n disabled: {\n css: disabledCSS,\n attrs: true,\n },\n pilled: {\n css: pilledCSS,\n attrs: true,\n },\n stretch: {\n css: stretchCSS,\n attrs: true,\n },\n orientation: {\n css: orientationCSS,\n },\n filledBackground: {\n css: filledBackgroundCSS,\n attrs: true,\n },\n },\n defaults: {\n view: 'clear',\n size: 'xs',\n },\n};\n"],"names":["Keys","getChildNodes","wrapper","container","firstChild","Array","from","childNodes","segmentGroupRoot","Root","forwardRef","props","outerRef","id","selectionMode","pilled","stretch","_props$clip","clip","_props$orientation","orientation","_props$filledBackgrou","filledBackground","_props$hasBackground","hasBackground","_props$disabled","disabled","size","view","children","rest","_objectWithoutProperties","_excluded","scrollRef","useRef","trackRef","leftArrowRef","_useSegmentInner","useSegmentInner","setSelectionMode","setDisabledGroup","_useState","useState","_useState2","_slicedToArray","firstItemVisible","setFirstItemVisible","_useState3","_useState4","lastItemVisible","setLastItemVisible","uniqId","safeUseId","segmentGroupId","canClip","isVertical","stretchClass","classes","segmentStretch","undefined","orientationClass","segmentVertical","clipScrollClass","segmentGroupClipScroll","pilledAttr","filledBackgroundAttr","pilledClass","segmentPilled","filledClass","segmentGroupFilledBackground","onPrev","useCallback","current","scrollLeft","Math","round","firstOverflowingTab","slice","reverse","find","child","offsetLeft","tabStartX","scrollIntoView","block","inline","onNext","scrollRight","clientWidth","lastOverflowingChild","tabEndX","offsetWidth","onKeyDown","event","index","findIndex","document","activeElement","minIndex","maxIndex","length","nextIndex","keyCode","end","left","right","home","_childNodes$nextIndex","_childNodes$nextIndex2","preventDefault","focus","behavior","handleScroll","_event$stopPropagatio","stopPropagation","call","maxScrollTop","currentTarget","scrollHeight","clientHeight","scrollTop","maxScrollLeft","scrollWidth","useEffect","_scrollRef$current","_scrollRef$current2","_scrollRef$current3","_scrollRef$current4","scrollTo","top","PreviousButton","useMemo","ArrowNode","StyledTopArrow","StyledLeftArrow","React","createElement","type","onClick","tabIndex","IconDisclosureUpWithOffset","color","concat","tokens","arrowColor","IconDisclosureLeftWithOffset","NextButton","StyledBottomArrow","StyledRightArrow","IconDisclosureDownWithOffset","IconDisclosureRightWithOffset","_extends","ref","className","cx","StyledContentWrapper","onScroll","StyledContent","segmentGroupConfig","name","tag","layout","base","variations","css","sizeCSS","viewCSS","disabledCSS","attrs","pilledCSS","stretchCSS","orientationCSS","filledBackgroundCSS","defaults"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import './SegmentGroup.styles_m9i9p0.css';
1
+ import './SegmentGroup.styles_79d8q2.css';
2
2
  import { styled } from '@linaria/react';
3
3
 
4
4
  var base = "b2sori2";
@@ -17,6 +17,38 @@ var StyledArrow = /*#__PURE__*/styled('button')({
17
17
  "class": "s1qf4oye",
18
18
  propsAsIs: false
19
19
  });
20
+ var _exp6 = function _exp6() {
21
+ return StyledArrow;
22
+ };
23
+ var StyledLeftArrow = /*#__PURE__*/styled(_exp6())({
24
+ name: "StyledLeftArrow",
25
+ "class": "s3pgccr",
26
+ propsAsIs: true
27
+ });
28
+ var _exp8 = function _exp8() {
29
+ return StyledArrow;
30
+ };
31
+ var StyledRightArrow = /*#__PURE__*/styled(_exp8())({
32
+ name: "StyledRightArrow",
33
+ "class": "sax6mvm",
34
+ propsAsIs: true
35
+ });
36
+ var _exp10 = function _exp10() {
37
+ return StyledArrow;
38
+ };
39
+ var StyledTopArrow = /*#__PURE__*/styled(_exp10())({
40
+ name: "StyledTopArrow",
41
+ "class": "s1n81rr8",
42
+ propsAsIs: true
43
+ });
44
+ var _exp12 = function _exp12() {
45
+ return StyledArrow;
46
+ };
47
+ var StyledBottomArrow = /*#__PURE__*/styled(_exp12())({
48
+ name: "StyledBottomArrow",
49
+ "class": "s7ukuvj",
50
+ propsAsIs: true
51
+ });
20
52
 
21
- export { StyledArrow, StyledContent, StyledContentWrapper, base };
53
+ export { StyledArrow, StyledBottomArrow, StyledContent, StyledContentWrapper, StyledLeftArrow, StyledRightArrow, StyledTopArrow, base };
22
54
  //# sourceMappingURL=SegmentGroup.styles.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SegmentGroup.styles.js","sources":["../../../../../src/components/Segment/ui/SegmentGroup/SegmentGroup.styles.ts"],"sourcesContent":["import { css } from '@linaria/core';\nimport { styled } from '@linaria/react';\n\nimport { addFocus } from '../../../../mixins';\nimport { tokens } from '../../tokens';\n\nexport const base = css`\n display: inline-flex;\n align-items: center;\n`;\n\nexport const StyledContent = styled.div`\n display: inline-flex;\n flex-direction: row;\n align-items: center;\n`;\n\nexport const StyledContentWrapper = styled.div`\n position: relative;\n height: 100%;\n margin: 0;\n\n /* allows correctly display outline focus on segment item */\n padding: 0.25rem;\n\n /* stylelint-disable-next-line selector-max-empty-lines, selector-nested-pattern, selector-type-no-unknown */\n ::-webkit-scrollbar {\n display: none;\n }\n\n overflow-x: auto;\n overflow-y: hidden;\n scroll-behavior: smooth;\n scroll-snap-type: x mandatory;\n`;\n\nexport const StyledArrow = styled.button`\n display: flex;\n cursor: pointer;\n border: none;\n background-color: transparent;\n padding: 0;\n outline: none;\n\n ${addFocus({\n outlineSize: '0.063rem',\n outlineOffset: '-0.125rem',\n outlineColor: `var(${tokens.outlineFocusColor})`,\n outlineRadius: 'calc(var(--plasma_private-outline-radius) - 0.063rem)',\n })};\n\n &[disabled] {\n cursor: not-allowed;\n }\n`;\n"],"names":["base","StyledContent","styled","name","class","propsAsIs","StyledContentWrapper","StyledArrow"],"mappings":";;AAMO,IAAMA,IAAI,GAGhB,UAAA;AAEM,IAAMC,aAAa,gBAAGC,MAAM,CAAA,KAAA,CAAA,CAAA;AAAAC,EAAAA,IAAA,EAAA,eAAA;AAAAC,EAAAA,OAAAA,EAAA,SAAA;AAAAC,EAAAA,SAAA,EAAA,KAAA;AAAA,CAIlC,EAAA;AAEM,IAAMC,oBAAoB,gBAAGJ,MAAM,CAAA,KAAA,CAAA,CAAA;AAAAC,EAAAA,IAAA,EAAA,sBAAA;AAAAC,EAAAA,OAAAA,EAAA,SAAA;AAAAC,EAAAA,SAAA,EAAA,KAAA;AAAA,CAiBzC,EAAA;AAEM,IAAME,WAAW,gBAAGL,MAAM,CAAA,QAAA,CAAA,CAAA;AAAAC,EAAAA,IAAA,EAAA,aAAA;AAAAC,EAAAA,OAAAA,EAAA,UAAA;AAAAC,EAAAA,SAAA,EAAA,KAAA;AAAA,CAkBhC;;;;"}
1
+ {"version":3,"file":"SegmentGroup.styles.js","sources":["../../../../../src/components/Segment/ui/SegmentGroup/SegmentGroup.styles.ts"],"sourcesContent":["import { css } from '@linaria/core';\nimport { styled } from '@linaria/react';\n\nimport { addFocus } from '../../../../mixins';\nimport { classes, tokens } from '../../tokens';\n\nexport const base = css`\n display: inline-flex;\n align-items: center;\n max-width: 100%;\n\n &.${classes.segmentVertical} {\n max-width: none;\n max-height: 100%;\n }\n\n &:before {\n border-radius: var(${tokens.groupBorderRadius});\n }\n`;\n\nexport const StyledContent = styled.div`\n display: inline-flex;\n flex-direction: row;\n align-items: center;\n max-width: 100%;\n`;\n\nexport const StyledContentWrapper = styled.div`\n position: relative;\n height: 100%;\n width: 100%;\n\n display: flex;\n align-items: center;\n\n --plasma_private-clip-outline-offset: -0.063rem;\n --plasma_private-clip-outline-radius: 0.063rem;\n\n &.${classes.segmentGroupClipScroll} {\n overflow: scroll;\n scroll-padding: 0.25rem;\n overscroll-behavior: contain;\n\n --plasma_private-clip-outline-offset: 0.063rem;\n --plasma_private-clip-outline-radius: -0.063rem;\n\n scrollbar-width: none;\n ::-webkit-scrollbar {\n display: none;\n }\n\n ${StyledContent} {\n max-width: none;\n }\n }\n`;\n\nexport const StyledArrow = styled.button`\n display: flex;\n cursor: pointer;\n border: none;\n background-color: transparent;\n outline: none;\n\n ${addFocus({\n outlineSize: '0.063rem',\n outlineOffset: '-0.125rem',\n outlineColor: `var(${tokens.outlineFocusColor})`,\n outlineRadius: 'calc(var(--plasma_private-outline-radius) - 0.063rem)',\n })};\n\n &[disabled] {\n cursor: not-allowed;\n }\n`;\n\nexport const StyledLeftArrow = styled(StyledArrow)`\n padding: var(${tokens.groupArrowPadding});\n padding-right: 0;\n margin-right: 0.1875rem;\n margin-left: 0.125rem;\n`;\n\nexport const StyledRightArrow = styled(StyledArrow)`\n padding: var(${tokens.groupArrowPadding});\n padding-left: 0;\n margin-left: 0.1875rem;\n margin-right: 0.125rem;\n`;\n\nexport const StyledTopArrow = styled(StyledArrow)`\n padding: var(${tokens.groupVerticalArrowPadding});\n padding-bottom: 0;\n margin-bottom: 0.1875rem;\n`;\n\nexport const StyledBottomArrow = styled(StyledArrow)`\n padding: var(${tokens.groupVerticalArrowPadding});\n padding-top: 0;\n margin-top: 0.1875rem;\n`;\n"],"names":["base","StyledContent","styled","name","class","propsAsIs","StyledContentWrapper","StyledArrow","_exp6","StyledLeftArrow","_exp8","StyledRightArrow","_exp10","StyledTopArrow","_exp12","StyledBottomArrow"],"mappings":";;AAMO,IAAMA,IAAI,GAahB,UAAA;AAEM,IAAMC,aAAa,gBAAGC,MAAM,CAAA,KAAA,CAAA,CAAA;AAAAC,EAAAA,IAAA,EAAA,eAAA;AAAAC,EAAAA,OAAAA,EAAA,SAAA;AAAAC,EAAAA,SAAA,EAAA,KAAA;AAAA,CAKlC,EAAA;AAEM,IAAMC,oBAAoB,gBAAGJ,MAAM,CAAA,KAAA,CAAA,CAAA;AAAAC,EAAAA,IAAA,EAAA,sBAAA;AAAAC,EAAAA,OAAAA,EAAA,SAAA;AAAAC,EAAAA,SAAA,EAAA,KAAA;AAAA,CA4BzC,EAAA;AAEM,IAAME,WAAW,gBAAGL,MAAM,CAAA,QAAA,CAAA,CAAA;AAAAC,EAAAA,IAAA,EAAA,aAAA;AAAAC,EAAAA,OAAAA,EAAA,UAAA;AAAAC,EAAAA,SAAA,EAAA,KAAA;AAAA,CAiBhC,EAAA;AAAC,IAAAG,KAAA,GA1EgBA,SA0EhBA,KAAAA,GAAA;AAAA,EAAA,OAEoCD,WAAW,CAAA;AAAA,CAAA,CAAA;AAA1C,IAAME,eAAe,gBAAGP,MAAM,CAAAM,KAAA,EAAA,CAAA,CAAA;AAAAL,EAAAA,IAAA,EAAA,iBAAA;AAAAC,EAAAA,OAAAA,EAAA,SAAA;AAAAC,EAAAA,SAAA,EAAA,IAAA;AAAA,CAKpC,EAAA;AAAC,IAAAK,KAAA,GAjFgBA,SAiFhBA,KAAAA,GAAA;AAAA,EAAA,OAEqCH,WAAW,CAAA;AAAA,CAAA,CAAA;AAA3C,IAAMI,gBAAgB,gBAAGT,MAAM,CAAAQ,KAAA,EAAA,CAAA,CAAA;AAAAP,EAAAA,IAAA,EAAA,kBAAA;AAAAC,EAAAA,OAAAA,EAAA,SAAA;AAAAC,EAAAA,SAAA,EAAA,IAAA;AAAA,CAKrC,EAAA;AAAC,IAAAO,MAAA,GAxFgBA,SAwFhBA,MAAAA,GAAA;AAAA,EAAA,OAEmCL,WAAW,CAAA;AAAA,CAAA,CAAA;AAAzC,IAAMM,cAAc,gBAAGX,MAAM,CAAAU,MAAA,EAAA,CAAA,CAAA;AAAAT,EAAAA,IAAA,EAAA,gBAAA;AAAAC,EAAAA,OAAAA,EAAA,UAAA;AAAAC,EAAAA,SAAA,EAAA,IAAA;AAAA,CAInC,EAAA;AAAC,IAAAS,MAAA,GA9FgBA,SA8FhBA,MAAAA,GAAA;AAAA,EAAA,OAEsCP,WAAW,CAAA;AAAA,CAAA,CAAA;AAA5C,IAAMQ,iBAAiB,gBAAGb,MAAM,CAAAY,MAAA,EAAA,CAAA,CAAA;AAAAX,EAAAA,IAAA,EAAA,mBAAA;AAAAC,EAAAA,OAAAA,EAAA,SAAA;AAAAC,EAAAA,SAAA,EAAA,IAAA;AAAA,CAItC;;;;"}
@@ -0,0 +1,8 @@
1
+ .b2sori2{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;max-width:100%;}.b2sori2.segment-vertical{max-width:none;max-height:100%;}.b2sori2:before{border-radius:var(--plasma-segment-group-border-radius);}
2
+ .sin9wo2{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;max-width:100%;}
3
+ .spuzt9m{position:relative;height:100%;width:100%;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;--plasma_private-clip-outline-offset:-0.063rem;--plasma_private-clip-outline-radius:0.063rem;}.spuzt9m.segment-group-clip-scroll{overflow:scroll;-webkit-scroll-padding:0.25rem;-moz-scroll-padding:0.25rem;-ms-scroll-padding:0.25rem;scroll-padding:0.25rem;overscroll-behavior:contain;--plasma_private-clip-outline-offset:0.063rem;--plasma_private-clip-outline-radius:-0.063rem;-webkit-scrollbar-width:none;-moz-scrollbar-width:none;-ms-scrollbar-width:none;scrollbar-width:none;}.spuzt9m.segment-group-clip-scroll::-webkit-scrollbar{display:none;}.spuzt9m.segment-group-clip-scroll .sin9wo2{max-width:none;}
4
+ .s1qf4oye{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;cursor:pointer;border:none;background-color:transparent;outline:none;position:relative;}.s1qf4oye::before{content:'';position:absolute;top:-0.125rem;left:-0.125rem;right:-0.125rem;bottom:-0.125rem;z-index:1;display:block;box-sizing:content-box;border:0.063rem solid transparent;border-radius:calc(var(--plasma_private-outline-radius) - 0.063rem);-webkit-transition:box-shadow 0.2s ease-in-out;transition:box-shadow 0.2s ease-in-out;pointer-events:none;}.s1qf4oye.focus-visible:focus::before,.s1qf4oye[data-focus-visible-added]::before{outline:none;box-shadow:0 0 0 0.063rem var(--plasma-segment-outline-focus-color);}.s1qf4oye[disabled]{cursor:not-allowed;}
5
+ .s3pgccr.s1qf4oye{padding:var(--plasma-segment-group-arrow-padding);padding-right:0;margin-right:0.1875rem;margin-left:0.125rem;}
6
+ .sax6mvm.s1qf4oye{padding:var(--plasma-segment-group-arrow-padding);padding-left:0;margin-left:0.1875rem;margin-right:0.125rem;}
7
+ .s1n81rr8.s1qf4oye{padding:var(--plasma-segment-group-vertical-arrow-padding);padding-bottom:0;margin-bottom:0.1875rem;}
8
+ .s7ukuvj.s1qf4oye{padding:var(--plasma-segment-group-vertical-arrow-padding);padding-top:0;margin-top:0.1875rem;}
@@ -1,4 +1,4 @@
1
- import './base_escgtx.css';
1
+ import './base_a7w5s0.css';
2
2
  var base = "b13sjoz1";
3
3
 
4
4
  export { base };
@@ -1 +1 @@
1
- {"version":3,"file":"base.js","sources":["../../../../../../../src/components/Segment/ui/SegmentGroup/variations/_filledBackgound/base.ts"],"sourcesContent":["import { css } from '@linaria/core';\n\nimport { classes, tokens } from '../../../../tokens';\n\nexport const base = css`\n &.${String(classes.segmentGroupFilledBackground)} {\n background-color: var(${tokens.groupFilledBackgroundColor});\n }\n`;\n"],"names":["base"],"mappings":"AAIO,IAAMA,IAAI,GAIhB;;;;"}
1
+ {"version":3,"file":"base.js","sources":["../../../../../../../src/components/Segment/ui/SegmentGroup/variations/_filledBackgound/base.ts"],"sourcesContent":["import { css } from '@linaria/core';\n\nimport { classes, tokens } from '../../../../tokens';\n\nexport const base = css`\n position: relative;\n\n &.${String(classes.segmentGroupFilledBackground)} {\n &:before {\n content: '';\n position: absolute;\n inset: -0.125rem;\n background-color: var(${tokens.groupFilledBackgroundColor});\n }\n }\n`;\n"],"names":["base"],"mappings":"AAIO,IAAMA,IAAI,GAWhB;;;;"}
@@ -0,0 +1 @@
1
+ .b13sjoz1{position:relative;}.b13sjoz1.segment-group-filled-background:before{content:'';position:absolute;inset:-0.125rem;background-color:var(--plasma-segment-group-filled-background-color);}
@@ -0,0 +1,5 @@
1
+ import './base_1ejecy9.css';
2
+ var base = "bb2d6sr";
3
+
4
+ export { base };
5
+ //# sourceMappingURL=base.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base.js","sources":["../../../../../../../src/components/Segment/ui/SegmentGroup/variations/_orientation/base.ts"],"sourcesContent":["import { css } from '@linaria/core';\n\nimport { classes } from '../../../../tokens';\nimport { StyledContent, StyledContentWrapper } from '../../SegmentGroup.styles';\n\nexport const base = css`\n &.${classes.segmentVertical} {\n flex-direction: column;\n\n ${StyledContentWrapper} {\n flex-direction: column;\n }\n\n ${StyledContent} {\n flex-direction: column;\n }\n }\n`;\n"],"names":["base"],"mappings":"AAKO,IAAMA,IAAI,GAYhB;;;;"}