@salutejs/plasma-new-hope 0.154.0-canary.1392.11041436795.0 → 0.154.0-canary.1421.11039037651.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (500) hide show
  1. package/cjs/components/Breadcrumbs/Breadcrumbs.styles.js +2 -2
  2. package/cjs/components/Breadcrumbs/Breadcrumbs.styles.js.map +1 -1
  3. package/cjs/components/Button/Button.js +0 -1
  4. package/cjs/components/Button/Button.js.map +1 -1
  5. package/cjs/components/Calendar/ui/CalendarHeader/CalendarHeader.js +5 -5
  6. package/cjs/components/Calendar/ui/CalendarHeader/CalendarHeader.js.map +1 -1
  7. package/cjs/components/DatePicker/RangeDate/RangeDate.js +42 -2
  8. package/cjs/components/DatePicker/RangeDate/RangeDate.js.map +1 -1
  9. package/cjs/components/DatePicker/SingleDate/SingleDate.js +31 -3
  10. package/cjs/components/DatePicker/SingleDate/SingleDate.js.map +1 -1
  11. package/cjs/components/DatePicker/hooks/useDatePicker.js +34 -1
  12. package/cjs/components/DatePicker/hooks/useDatePicker.js.map +1 -1
  13. package/cjs/components/DatePicker/utils/setInitValue.js +12 -0
  14. package/cjs/components/DatePicker/utils/setInitValue.js.map +1 -0
  15. package/cjs/components/Dropdown/ui/DropdownItem/DropdownItem.js +2 -2
  16. package/cjs/components/Dropdown/ui/DropdownItem/DropdownItem.js.map +1 -1
  17. package/cjs/components/Segment/tokens.js +1 -15
  18. package/cjs/components/Segment/tokens.js.map +1 -1
  19. package/cjs/components/Segment/ui/SegmentGroup/SegmentGroup.css +8 -7
  20. package/cjs/components/Segment/ui/SegmentGroup/SegmentGroup.js +112 -68
  21. package/cjs/components/Segment/ui/SegmentGroup/SegmentGroup.js.map +1 -1
  22. package/cjs/components/Segment/ui/SegmentGroup/SegmentGroup.styles.js +7 -1
  23. package/cjs/components/Segment/ui/SegmentGroup/SegmentGroup.styles.js.map +1 -1
  24. package/cjs/components/Segment/ui/SegmentGroup/SegmentGroup.styles_m9i9p0.css +4 -0
  25. package/cjs/components/Segment/ui/SegmentGroup/variations/_filledBackgound/base.js +1 -1
  26. package/cjs/components/Segment/ui/SegmentGroup/variations/_filledBackgound/base.js.map +1 -1
  27. package/cjs/components/Segment/ui/SegmentGroup/variations/_filledBackgound/base_escgtx.css +1 -0
  28. package/cjs/components/Segment/ui/SegmentGroup/variations/_size/base.js +1 -1
  29. package/cjs/components/Segment/ui/SegmentGroup/variations/_size/base.js.map +1 -1
  30. package/cjs/components/Segment/ui/SegmentGroup/variations/_size/base_m358nl.css +1 -0
  31. package/cjs/components/Segment/ui/SegmentItem/SegmentItem.css +4 -6
  32. package/cjs/components/Segment/ui/SegmentItem/SegmentItem.js +7 -15
  33. package/cjs/components/Segment/ui/SegmentItem/SegmentItem.js.map +1 -1
  34. package/cjs/components/Segment/ui/SegmentItem/SegmentItem.styles.js +1 -30
  35. package/cjs/components/Segment/ui/SegmentItem/SegmentItem.styles.js.map +1 -1
  36. package/cjs/components/Segment/ui/SegmentItem/SegmentItem.styles_18h1p52.css +2 -0
  37. package/cjs/components/Segment/ui/SegmentItem/variations/_pilled/base.js +1 -1
  38. package/cjs/components/Segment/ui/SegmentItem/variations/_pilled/base.js.map +1 -1
  39. package/cjs/components/Segment/ui/SegmentItem/variations/_pilled/{base_omc5u1.css → base_15s0fel.css} +1 -1
  40. package/cjs/components/Segment/ui/SegmentItem/variations/_view/base.js +1 -1
  41. package/cjs/components/Segment/ui/SegmentItem/variations/_view/base.js.map +1 -1
  42. package/cjs/components/Segment/ui/SegmentItem/variations/_view/base_1m1u2ys.css +1 -0
  43. package/cjs/components/Slider/Slider.js +20 -6
  44. package/cjs/components/Slider/Slider.js.map +1 -1
  45. package/cjs/components/Slider/components/Double/Double.js +40 -2
  46. package/cjs/components/Slider/components/Double/Double.js.map +1 -1
  47. package/cjs/components/Slider/components/DoubleUncontrolled/DoubleUncontrolled.js +100 -0
  48. package/cjs/components/Slider/components/DoubleUncontrolled/DoubleUncontrolled.js.map +1 -0
  49. package/cjs/components/Slider/components/Single/Single.js +51 -13
  50. package/cjs/components/Slider/components/Single/Single.js.map +1 -1
  51. package/cjs/components/Slider/utils/index.js +6 -0
  52. package/cjs/components/Slider/utils/index.js.map +1 -1
  53. package/cjs/components/Tabs/ui/Tabs/Tabs.js +6 -6
  54. package/cjs/components/Tabs/ui/Tabs/Tabs.js.map +1 -1
  55. package/cjs/components/TextArea/TextArea.js +3 -2
  56. package/cjs/components/TextArea/TextArea.js.map +1 -1
  57. package/cjs/components/_Icon/Icon.assets/{DisclosureLeftCentered.js → DisclosureLeft.js} +3 -3
  58. package/cjs/components/_Icon/Icon.assets/DisclosureLeft.js.map +1 -0
  59. package/cjs/components/_Icon/Icon.assets/DisclosureRight.js +23 -0
  60. package/cjs/components/_Icon/Icon.assets/DisclosureRight.js.map +1 -0
  61. package/cjs/components/_Icon/Icons/{IconDisclosureLeftCentered.js → IconDisclosureLeft.js} +5 -5
  62. package/cjs/components/_Icon/Icons/IconDisclosureLeft.js.map +1 -0
  63. package/cjs/components/_Icon/Icons/IconDisclosureRight.js +23 -0
  64. package/cjs/components/_Icon/Icons/IconDisclosureRight.js.map +1 -0
  65. package/cjs/hooks/useForm.js +131 -0
  66. package/cjs/hooks/useForm.js.map +1 -0
  67. package/cjs/index.css +10 -13
  68. package/cjs/index.js +5 -0
  69. package/cjs/index.js.map +1 -1
  70. package/cjs/utils/index.js.map +1 -1
  71. package/cjs/utils/inputHidden.js +12 -0
  72. package/cjs/utils/inputHidden.js.map +1 -0
  73. package/cjs/utils/setRefList.js +28 -0
  74. package/cjs/utils/setRefList.js.map +1 -0
  75. package/emotion/cjs/components/Breadcrumbs/Breadcrumbs.styles.js +4 -4
  76. package/emotion/cjs/components/Button/Button.js +0 -1
  77. package/emotion/cjs/components/Calendar/ui/CalendarHeader/CalendarHeader.js +2 -2
  78. package/emotion/cjs/components/DatePicker/RangeDate/RangeDate.js +42 -2
  79. package/emotion/cjs/components/DatePicker/SingleDate/SingleDate.js +31 -3
  80. package/emotion/cjs/components/DatePicker/hooks/useDatePicker.js +34 -1
  81. package/emotion/cjs/components/DatePicker/utils/setInitValue.js +11 -0
  82. package/emotion/cjs/components/Dropdown/ui/DropdownItem/DropdownItem.js +1 -1
  83. package/emotion/cjs/components/Segment/tokens.js +1 -15
  84. package/emotion/cjs/components/Segment/ui/SegmentGroup/SegmentGroup.js +115 -66
  85. package/emotion/cjs/components/Segment/ui/SegmentGroup/SegmentGroup.styles.js +33 -15
  86. package/emotion/cjs/components/Segment/ui/SegmentGroup/variations/_filledBackgound/base.js +1 -1
  87. package/emotion/cjs/components/Segment/ui/SegmentGroup/variations/_size/base.js +1 -1
  88. package/emotion/cjs/components/Segment/ui/SegmentItem/SegmentItem.js +7 -15
  89. package/emotion/cjs/components/Segment/ui/SegmentItem/SegmentItem.styles.js +6 -20
  90. package/emotion/cjs/components/Segment/ui/SegmentItem/variations/_pilled/base.js +1 -1
  91. package/emotion/cjs/components/Segment/ui/SegmentItem/variations/_view/base.js +1 -2
  92. package/emotion/cjs/components/Slider/Slider.js +15 -6
  93. package/emotion/cjs/components/Slider/components/Double/Double.js +40 -2
  94. package/emotion/cjs/components/Slider/components/DoubleUncontrolled/DoubleUncontrolled.js +103 -0
  95. package/emotion/cjs/components/Slider/components/DoubleUncontrolled/DoubleUncontrolled.types.js +5 -0
  96. package/emotion/cjs/components/Slider/components/Single/Single.js +46 -8
  97. package/emotion/cjs/components/Slider/components/index.js +11 -0
  98. package/emotion/cjs/components/Slider/utils/index.js +6 -1
  99. package/emotion/cjs/components/Tabs/ui/Tabs/Tabs.js +4 -4
  100. package/emotion/cjs/components/TextArea/TextArea.js +3 -3
  101. package/emotion/cjs/components/_Icon/Icon.assets/DisclosureLeft.js +4 -3
  102. package/emotion/cjs/components/_Icon/Icon.assets/DisclosureRight.js +4 -3
  103. package/emotion/cjs/components/_Icon/index.js +0 -21
  104. package/emotion/cjs/examples/plasma_b2c/components/Editable/Editable.stories.tsx +2 -2
  105. package/emotion/cjs/examples/plasma_b2c/components/Form/Form.stories.tsx +256 -0
  106. package/emotion/cjs/examples/plasma_b2c/components/Notification/Notification.stories.tsx +3 -6
  107. package/emotion/cjs/examples/plasma_b2c/components/Segment/Segment.stories.tsx +42 -118
  108. package/emotion/cjs/examples/plasma_b2c/components/Segment/SegmentGroup.config.js +10 -13
  109. package/emotion/cjs/examples/plasma_b2c/components/Segment/SegmentItem.config.js +9 -9
  110. package/emotion/cjs/examples/plasma_b2c/components/Tooltip/Tooltip.stories.tsx +2 -2
  111. package/emotion/cjs/examples/plasma_web/components/Editable/Editable.stories.tsx +2 -2
  112. package/emotion/cjs/examples/plasma_web/components/Form/Form.stories.tsx +237 -0
  113. package/emotion/cjs/examples/plasma_web/components/Notification/Notification.stories.tsx +3 -6
  114. package/emotion/cjs/examples/plasma_web/components/Segment/Segment.stories.tsx +42 -119
  115. package/emotion/cjs/examples/plasma_web/components/Segment/SegmentGroup.config.js +9 -15
  116. package/emotion/cjs/examples/plasma_web/components/Segment/SegmentItem.config.js +9 -9
  117. package/emotion/cjs/examples/plasma_web/components/Tooltip/Tooltip.stories.tsx +2 -2
  118. package/emotion/cjs/hooks/index.js +8 -1
  119. package/emotion/cjs/hooks/useForm.js +137 -0
  120. package/emotion/cjs/types/FormType.js +5 -0
  121. package/emotion/cjs/utils/index.js +15 -0
  122. package/emotion/cjs/utils/inputHidden.js +11 -0
  123. package/emotion/cjs/utils/setRefList.js +27 -0
  124. package/emotion/es/components/Breadcrumbs/Breadcrumbs.styles.js +5 -5
  125. package/emotion/es/components/Button/Button.js +0 -1
  126. package/emotion/es/components/Calendar/ui/CalendarHeader/CalendarHeader.js +3 -3
  127. package/emotion/es/components/DatePicker/RangeDate/RangeDate.js +42 -2
  128. package/emotion/es/components/DatePicker/SingleDate/SingleDate.js +31 -3
  129. package/emotion/es/components/DatePicker/hooks/useDatePicker.js +34 -1
  130. package/emotion/es/components/DatePicker/utils/setInitValue.js +5 -0
  131. package/emotion/es/components/Dropdown/ui/DropdownItem/DropdownItem.js +2 -2
  132. package/emotion/es/components/Segment/tokens.js +1 -15
  133. package/emotion/es/components/Segment/ui/SegmentGroup/SegmentGroup.js +118 -69
  134. package/emotion/es/components/Segment/ui/SegmentGroup/SegmentGroup.styles.js +32 -14
  135. package/emotion/es/components/Segment/ui/SegmentGroup/variations/_filledBackgound/base.js +1 -1
  136. package/emotion/es/components/Segment/ui/SegmentGroup/variations/_size/base.js +1 -1
  137. package/emotion/es/components/Segment/ui/SegmentItem/SegmentItem.js +8 -16
  138. package/emotion/es/components/Segment/ui/SegmentItem/SegmentItem.styles.js +5 -19
  139. package/emotion/es/components/Segment/ui/SegmentItem/variations/_pilled/base.js +1 -1
  140. package/emotion/es/components/Segment/ui/SegmentItem/variations/_view/base.js +1 -2
  141. package/emotion/es/components/Slider/Slider.js +16 -6
  142. package/emotion/es/components/Slider/components/Double/Double.js +41 -3
  143. package/emotion/es/components/Slider/components/DoubleUncontrolled/DoubleUncontrolled.js +94 -0
  144. package/emotion/es/components/Slider/components/DoubleUncontrolled/DoubleUncontrolled.types.js +1 -0
  145. package/emotion/es/components/Slider/components/Single/Single.js +47 -9
  146. package/emotion/es/components/Slider/components/index.js +1 -0
  147. package/emotion/es/components/Slider/utils/index.js +5 -0
  148. package/emotion/es/components/Tabs/ui/Tabs/Tabs.js +5 -5
  149. package/emotion/es/components/TextArea/TextArea.js +4 -4
  150. package/emotion/es/components/_Icon/Icon.assets/DisclosureLeft.js +4 -3
  151. package/emotion/es/components/_Icon/Icon.assets/DisclosureRight.js +4 -3
  152. package/emotion/es/components/_Icon/index.js +0 -3
  153. package/emotion/es/examples/plasma_b2c/components/Editable/Editable.stories.tsx +2 -2
  154. package/emotion/es/examples/plasma_b2c/components/Form/Form.stories.tsx +256 -0
  155. package/emotion/es/examples/plasma_b2c/components/Notification/Notification.stories.tsx +3 -6
  156. package/emotion/es/examples/plasma_b2c/components/Segment/Segment.stories.tsx +42 -118
  157. package/emotion/es/examples/plasma_b2c/components/Segment/SegmentGroup.config.js +10 -13
  158. package/emotion/es/examples/plasma_b2c/components/Segment/SegmentItem.config.js +9 -9
  159. package/emotion/es/examples/plasma_b2c/components/Tooltip/Tooltip.stories.tsx +2 -2
  160. package/emotion/es/examples/plasma_web/components/Editable/Editable.stories.tsx +2 -2
  161. package/emotion/es/examples/plasma_web/components/Form/Form.stories.tsx +237 -0
  162. package/emotion/es/examples/plasma_web/components/Notification/Notification.stories.tsx +3 -6
  163. package/emotion/es/examples/plasma_web/components/Segment/Segment.stories.tsx +42 -119
  164. package/emotion/es/examples/plasma_web/components/Segment/SegmentGroup.config.js +9 -15
  165. package/emotion/es/examples/plasma_web/components/Segment/SegmentItem.config.js +9 -9
  166. package/emotion/es/examples/plasma_web/components/Tooltip/Tooltip.stories.tsx +2 -2
  167. package/emotion/es/hooks/index.js +2 -1
  168. package/emotion/es/hooks/useForm.js +128 -0
  169. package/emotion/es/types/FormType.js +1 -0
  170. package/emotion/es/utils/index.js +1 -0
  171. package/emotion/es/utils/inputHidden.js +4 -0
  172. package/emotion/es/utils/setRefList.js +20 -0
  173. package/es/components/Breadcrumbs/Breadcrumbs.styles.js +2 -2
  174. package/es/components/Breadcrumbs/Breadcrumbs.styles.js.map +1 -1
  175. package/es/components/Button/Button.js +0 -1
  176. package/es/components/Button/Button.js.map +1 -1
  177. package/es/components/Calendar/ui/CalendarHeader/CalendarHeader.js +5 -5
  178. package/es/components/Calendar/ui/CalendarHeader/CalendarHeader.js.map +1 -1
  179. package/es/components/DatePicker/RangeDate/RangeDate.js +42 -2
  180. package/es/components/DatePicker/RangeDate/RangeDate.js.map +1 -1
  181. package/es/components/DatePicker/SingleDate/SingleDate.js +31 -3
  182. package/es/components/DatePicker/SingleDate/SingleDate.js.map +1 -1
  183. package/es/components/DatePicker/hooks/useDatePicker.js +34 -1
  184. package/es/components/DatePicker/hooks/useDatePicker.js.map +1 -1
  185. package/es/components/DatePicker/utils/setInitValue.js +8 -0
  186. package/es/components/DatePicker/utils/setInitValue.js.map +1 -0
  187. package/es/components/Dropdown/ui/DropdownItem/DropdownItem.js +2 -2
  188. package/es/components/Dropdown/ui/DropdownItem/DropdownItem.js.map +1 -1
  189. package/es/components/Segment/tokens.js +1 -15
  190. package/es/components/Segment/tokens.js.map +1 -1
  191. package/es/components/Segment/ui/SegmentGroup/SegmentGroup.css +8 -7
  192. package/es/components/Segment/ui/SegmentGroup/SegmentGroup.js +118 -73
  193. package/es/components/Segment/ui/SegmentGroup/SegmentGroup.js.map +1 -1
  194. package/es/components/Segment/ui/SegmentGroup/SegmentGroup.styles.js +7 -2
  195. package/es/components/Segment/ui/SegmentGroup/SegmentGroup.styles.js.map +1 -1
  196. package/es/components/Segment/ui/SegmentGroup/SegmentGroup.styles_m9i9p0.css +4 -0
  197. package/es/components/Segment/ui/SegmentGroup/variations/_filledBackgound/base.js +1 -1
  198. package/es/components/Segment/ui/SegmentGroup/variations/_filledBackgound/base.js.map +1 -1
  199. package/es/components/Segment/ui/SegmentGroup/variations/_filledBackgound/base_escgtx.css +1 -0
  200. package/es/components/Segment/ui/SegmentGroup/variations/_size/base.js +1 -1
  201. package/es/components/Segment/ui/SegmentGroup/variations/_size/base.js.map +1 -1
  202. package/es/components/Segment/ui/SegmentGroup/variations/_size/base_m358nl.css +1 -0
  203. package/es/components/Segment/ui/SegmentItem/SegmentItem.css +4 -6
  204. package/es/components/Segment/ui/SegmentItem/SegmentItem.js +8 -16
  205. package/es/components/Segment/ui/SegmentItem/SegmentItem.js.map +1 -1
  206. package/es/components/Segment/ui/SegmentItem/SegmentItem.styles.js +2 -29
  207. package/es/components/Segment/ui/SegmentItem/SegmentItem.styles.js.map +1 -1
  208. package/es/components/Segment/ui/SegmentItem/SegmentItem.styles_18h1p52.css +2 -0
  209. package/es/components/Segment/ui/SegmentItem/variations/_pilled/base.js +1 -1
  210. package/es/components/Segment/ui/SegmentItem/variations/_pilled/base.js.map +1 -1
  211. package/es/components/Segment/ui/SegmentItem/variations/_pilled/{base_omc5u1.css → base_15s0fel.css} +1 -1
  212. package/es/components/Segment/ui/SegmentItem/variations/_view/base.js +1 -1
  213. package/es/components/Segment/ui/SegmentItem/variations/_view/base.js.map +1 -1
  214. package/es/components/Segment/ui/SegmentItem/variations/_view/base_1m1u2ys.css +1 -0
  215. package/es/components/Slider/Slider.js +21 -7
  216. package/es/components/Slider/Slider.js.map +1 -1
  217. package/es/components/Slider/components/Double/Double.js +41 -3
  218. package/es/components/Slider/components/Double/Double.js.map +1 -1
  219. package/es/components/Slider/components/DoubleUncontrolled/DoubleUncontrolled.js +96 -0
  220. package/es/components/Slider/components/DoubleUncontrolled/DoubleUncontrolled.js.map +1 -0
  221. package/es/components/Slider/components/Single/Single.js +47 -9
  222. package/es/components/Slider/components/Single/Single.js.map +1 -1
  223. package/es/components/Slider/utils/index.js +6 -1
  224. package/es/components/Slider/utils/index.js.map +1 -1
  225. package/es/components/Tabs/ui/Tabs/Tabs.js +6 -6
  226. package/es/components/Tabs/ui/Tabs/Tabs.js.map +1 -1
  227. package/es/components/TextArea/TextArea.js +3 -2
  228. package/es/components/TextArea/TextArea.js.map +1 -1
  229. package/es/components/_Icon/Icon.assets/{DisclosureLeftCentered.js → DisclosureLeft.js} +3 -3
  230. package/es/components/_Icon/Icon.assets/DisclosureLeft.js.map +1 -0
  231. package/es/components/_Icon/Icon.assets/DisclosureRight.js +19 -0
  232. package/es/components/_Icon/Icon.assets/DisclosureRight.js.map +1 -0
  233. package/es/components/_Icon/Icons/{IconDisclosureLeftCentered.js → IconDisclosureLeft.js} +5 -5
  234. package/es/components/_Icon/Icons/IconDisclosureLeft.js.map +1 -0
  235. package/es/components/_Icon/Icons/IconDisclosureRight.js +19 -0
  236. package/es/components/_Icon/Icons/IconDisclosureRight.js.map +1 -0
  237. package/es/hooks/useForm.js +127 -0
  238. package/es/hooks/useForm.js.map +1 -0
  239. package/es/index.css +10 -13
  240. package/es/index.js +2 -0
  241. package/es/index.js.map +1 -1
  242. package/es/utils/index.js.map +1 -1
  243. package/es/utils/inputHidden.js +8 -0
  244. package/es/utils/inputHidden.js.map +1 -0
  245. package/es/utils/setRefList.js +23 -0
  246. package/es/utils/setRefList.js.map +1 -0
  247. package/package.json +3 -2
  248. package/styled-components/cjs/components/Breadcrumbs/Breadcrumbs.styles.js +1 -1
  249. package/styled-components/cjs/components/Button/Button.js +0 -1
  250. package/styled-components/cjs/components/Calendar/ui/CalendarHeader/CalendarHeader.js +2 -2
  251. package/styled-components/cjs/components/DatePicker/RangeDate/RangeDate.js +42 -2
  252. package/styled-components/cjs/components/DatePicker/SingleDate/SingleDate.js +31 -3
  253. package/styled-components/cjs/components/DatePicker/hooks/useDatePicker.js +34 -1
  254. package/styled-components/cjs/components/DatePicker/utils/setInitValue.js +11 -0
  255. package/styled-components/cjs/components/Dropdown/ui/DropdownItem/DropdownItem.js +1 -1
  256. package/styled-components/cjs/components/Segment/tokens.js +1 -15
  257. package/styled-components/cjs/components/Segment/ui/SegmentGroup/SegmentGroup.js +115 -66
  258. package/styled-components/cjs/components/Segment/ui/SegmentGroup/SegmentGroup.styles.js +13 -4
  259. package/styled-components/cjs/components/Segment/ui/SegmentGroup/variations/_filledBackgound/base.js +1 -1
  260. package/styled-components/cjs/components/Segment/ui/SegmentGroup/variations/_size/base.js +1 -1
  261. package/styled-components/cjs/components/Segment/ui/SegmentItem/SegmentItem.js +7 -15
  262. package/styled-components/cjs/components/Segment/ui/SegmentItem/SegmentItem.styles.js +4 -16
  263. package/styled-components/cjs/components/Segment/ui/SegmentItem/variations/_pilled/base.js +1 -1
  264. package/styled-components/cjs/components/Segment/ui/SegmentItem/variations/_view/base.js +1 -2
  265. package/styled-components/cjs/components/Slider/Slider.js +15 -6
  266. package/styled-components/cjs/components/Slider/components/Double/Double.js +40 -2
  267. package/styled-components/cjs/components/Slider/components/DoubleUncontrolled/DoubleUncontrolled.js +103 -0
  268. package/styled-components/cjs/components/Slider/components/DoubleUncontrolled/DoubleUncontrolled.types.js +5 -0
  269. package/styled-components/cjs/components/Slider/components/Single/Single.js +46 -8
  270. package/styled-components/cjs/components/Slider/components/index.js +11 -0
  271. package/styled-components/cjs/components/Slider/utils/index.js +6 -1
  272. package/styled-components/cjs/components/Tabs/ui/Tabs/Tabs.js +4 -4
  273. package/styled-components/cjs/components/TextArea/TextArea.js +2 -2
  274. package/styled-components/cjs/components/_Icon/Icon.assets/DisclosureLeft.js +4 -3
  275. package/styled-components/cjs/components/_Icon/Icon.assets/DisclosureRight.js +4 -3
  276. package/styled-components/cjs/components/_Icon/index.js +0 -21
  277. package/styled-components/cjs/examples/plasma_b2c/components/Editable/Editable.stories.tsx +2 -2
  278. package/styled-components/cjs/examples/plasma_b2c/components/Form/Form.stories.tsx +256 -0
  279. package/styled-components/cjs/examples/plasma_b2c/components/Notification/Notification.stories.tsx +3 -6
  280. package/styled-components/cjs/examples/plasma_b2c/components/Segment/Segment.stories.tsx +42 -118
  281. package/styled-components/cjs/examples/plasma_b2c/components/Segment/SegmentGroup.config.js +7 -10
  282. package/styled-components/cjs/examples/plasma_b2c/components/Segment/SegmentItem.config.js +8 -8
  283. package/styled-components/cjs/examples/plasma_b2c/components/Tooltip/Tooltip.stories.tsx +2 -2
  284. package/styled-components/cjs/examples/plasma_web/components/Editable/Editable.stories.tsx +2 -2
  285. package/styled-components/cjs/examples/plasma_web/components/Form/Form.stories.tsx +237 -0
  286. package/styled-components/cjs/examples/plasma_web/components/Notification/Notification.stories.tsx +3 -6
  287. package/styled-components/cjs/examples/plasma_web/components/Segment/Segment.stories.tsx +42 -119
  288. package/styled-components/cjs/examples/plasma_web/components/Segment/SegmentGroup.config.js +7 -13
  289. package/styled-components/cjs/examples/plasma_web/components/Segment/SegmentItem.config.js +8 -8
  290. package/styled-components/cjs/examples/plasma_web/components/Tooltip/Tooltip.stories.tsx +2 -2
  291. package/styled-components/cjs/hooks/index.js +8 -1
  292. package/styled-components/cjs/hooks/useForm.js +137 -0
  293. package/styled-components/cjs/types/FormType.js +5 -0
  294. package/styled-components/cjs/utils/index.js +15 -0
  295. package/styled-components/cjs/utils/inputHidden.js +11 -0
  296. package/styled-components/cjs/utils/setRefList.js +27 -0
  297. package/styled-components/es/components/Breadcrumbs/Breadcrumbs.styles.js +2 -2
  298. package/styled-components/es/components/Button/Button.js +0 -1
  299. package/styled-components/es/components/Calendar/ui/CalendarHeader/CalendarHeader.js +3 -3
  300. package/styled-components/es/components/DatePicker/RangeDate/RangeDate.js +42 -2
  301. package/styled-components/es/components/DatePicker/SingleDate/SingleDate.js +31 -3
  302. package/styled-components/es/components/DatePicker/hooks/useDatePicker.js +34 -1
  303. package/styled-components/es/components/DatePicker/utils/setInitValue.js +5 -0
  304. package/styled-components/es/components/Dropdown/ui/DropdownItem/DropdownItem.js +2 -2
  305. package/styled-components/es/components/Segment/tokens.js +1 -15
  306. package/styled-components/es/components/Segment/ui/SegmentGroup/SegmentGroup.js +118 -69
  307. package/styled-components/es/components/Segment/ui/SegmentGroup/SegmentGroup.styles.js +12 -3
  308. package/styled-components/es/components/Segment/ui/SegmentGroup/variations/_filledBackgound/base.js +1 -1
  309. package/styled-components/es/components/Segment/ui/SegmentGroup/variations/_size/base.js +1 -1
  310. package/styled-components/es/components/Segment/ui/SegmentItem/SegmentItem.js +8 -16
  311. package/styled-components/es/components/Segment/ui/SegmentItem/SegmentItem.styles.js +3 -15
  312. package/styled-components/es/components/Segment/ui/SegmentItem/variations/_pilled/base.js +1 -1
  313. package/styled-components/es/components/Segment/ui/SegmentItem/variations/_view/base.js +1 -2
  314. package/styled-components/es/components/Slider/Slider.js +16 -6
  315. package/styled-components/es/components/Slider/components/Double/Double.js +41 -3
  316. package/styled-components/es/components/Slider/components/DoubleUncontrolled/DoubleUncontrolled.js +94 -0
  317. package/styled-components/es/components/Slider/components/DoubleUncontrolled/DoubleUncontrolled.types.js +1 -0
  318. package/styled-components/es/components/Slider/components/Single/Single.js +47 -9
  319. package/styled-components/es/components/Slider/components/index.js +1 -0
  320. package/styled-components/es/components/Slider/utils/index.js +5 -0
  321. package/styled-components/es/components/Tabs/ui/Tabs/Tabs.js +5 -5
  322. package/styled-components/es/components/TextArea/TextArea.js +3 -3
  323. package/styled-components/es/components/_Icon/Icon.assets/DisclosureLeft.js +4 -3
  324. package/styled-components/es/components/_Icon/Icon.assets/DisclosureRight.js +4 -3
  325. package/styled-components/es/components/_Icon/index.js +0 -3
  326. package/styled-components/es/examples/plasma_b2c/components/Editable/Editable.stories.tsx +2 -2
  327. package/styled-components/es/examples/plasma_b2c/components/Form/Form.stories.tsx +256 -0
  328. package/styled-components/es/examples/plasma_b2c/components/Notification/Notification.stories.tsx +3 -6
  329. package/styled-components/es/examples/plasma_b2c/components/Segment/Segment.stories.tsx +42 -118
  330. package/styled-components/es/examples/plasma_b2c/components/Segment/SegmentGroup.config.js +7 -10
  331. package/styled-components/es/examples/plasma_b2c/components/Segment/SegmentItem.config.js +8 -8
  332. package/styled-components/es/examples/plasma_b2c/components/Tooltip/Tooltip.stories.tsx +2 -2
  333. package/styled-components/es/examples/plasma_web/components/Editable/Editable.stories.tsx +2 -2
  334. package/styled-components/es/examples/plasma_web/components/Form/Form.stories.tsx +237 -0
  335. package/styled-components/es/examples/plasma_web/components/Notification/Notification.stories.tsx +3 -6
  336. package/styled-components/es/examples/plasma_web/components/Segment/Segment.stories.tsx +42 -119
  337. package/styled-components/es/examples/plasma_web/components/Segment/SegmentGroup.config.js +7 -13
  338. package/styled-components/es/examples/plasma_web/components/Segment/SegmentItem.config.js +8 -8
  339. package/styled-components/es/examples/plasma_web/components/Tooltip/Tooltip.stories.tsx +2 -2
  340. package/styled-components/es/hooks/index.js +2 -1
  341. package/styled-components/es/hooks/useForm.js +128 -0
  342. package/styled-components/es/types/FormType.js +1 -0
  343. package/styled-components/es/utils/index.js +1 -0
  344. package/styled-components/es/utils/inputHidden.js +4 -0
  345. package/styled-components/es/utils/setRefList.js +20 -0
  346. package/types/components/Button/Button.d.ts.map +1 -1
  347. package/types/components/DatePicker/DatePickerBase.types.d.ts +7 -0
  348. package/types/components/DatePicker/DatePickerBase.types.d.ts.map +1 -1
  349. package/types/components/DatePicker/RangeDate/RangeDate.d.ts +2 -0
  350. package/types/components/DatePicker/RangeDate/RangeDate.d.ts.map +1 -1
  351. package/types/components/DatePicker/RangeDate/RangeDate.types.d.ts +4 -0
  352. package/types/components/DatePicker/RangeDate/RangeDate.types.d.ts.map +1 -1
  353. package/types/components/DatePicker/SingleDate/SingleDate.d.ts.map +1 -1
  354. package/types/components/DatePicker/SingleDate/SingleDate.types.d.ts +10 -0
  355. package/types/components/DatePicker/SingleDate/SingleDate.types.d.ts.map +1 -1
  356. package/types/components/DatePicker/hooks/useDatePicker.d.ts +1 -1
  357. package/types/components/DatePicker/hooks/useDatePicker.d.ts.map +1 -1
  358. package/types/components/DatePicker/utils/setInitValue.d.ts +2 -0
  359. package/types/components/DatePicker/utils/setInitValue.d.ts.map +1 -0
  360. package/types/components/Segment/tokens.d.ts +0 -14
  361. package/types/components/Segment/tokens.d.ts.map +1 -1
  362. package/types/components/Segment/ui/SegmentGroup/SegmentGroup.d.ts +1 -10
  363. package/types/components/Segment/ui/SegmentGroup/SegmentGroup.d.ts.map +1 -1
  364. package/types/components/Segment/ui/SegmentGroup/SegmentGroup.styles.d.ts +1 -0
  365. package/types/components/Segment/ui/SegmentGroup/SegmentGroup.styles.d.ts.map +1 -1
  366. package/types/components/Segment/ui/SegmentGroup/SegmentGroup.types.d.ts +1 -19
  367. package/types/components/Segment/ui/SegmentGroup/SegmentGroup.types.d.ts.map +1 -1
  368. package/types/components/Segment/ui/SegmentGroup/variations/_filledBackgound/base.d.ts.map +1 -1
  369. package/types/components/Segment/ui/SegmentGroup/variations/_size/base.d.ts.map +1 -1
  370. package/types/components/Segment/ui/SegmentItem/SegmentItem.d.ts +2 -8
  371. package/types/components/Segment/ui/SegmentItem/SegmentItem.d.ts.map +1 -1
  372. package/types/components/Segment/ui/SegmentItem/SegmentItem.styles.d.ts +1 -7
  373. package/types/components/Segment/ui/SegmentItem/SegmentItem.styles.d.ts.map +1 -1
  374. package/types/components/Segment/ui/SegmentItem/SegmentItem.types.d.ts +1 -14
  375. package/types/components/Segment/ui/SegmentItem/SegmentItem.types.d.ts.map +1 -1
  376. package/types/components/Segment/ui/SegmentItem/variations/_pilled/base.d.ts.map +1 -1
  377. package/types/components/Segment/ui/SegmentItem/variations/_view/base.d.ts.map +1 -1
  378. package/types/components/Slider/Slider.d.ts.map +1 -1
  379. package/types/components/Slider/Slider.types.d.ts +2 -2
  380. package/types/components/Slider/Slider.types.d.ts.map +1 -1
  381. package/types/components/Slider/components/Double/Double.d.ts.map +1 -1
  382. package/types/components/Slider/components/Double/Double.types.d.ts +2 -0
  383. package/types/components/Slider/components/Double/Double.types.d.ts.map +1 -1
  384. package/types/components/Slider/components/DoubleUncontrolled/DoubleUncontrolled.d.ts +4 -0
  385. package/types/components/Slider/components/DoubleUncontrolled/DoubleUncontrolled.d.ts.map +1 -0
  386. package/types/components/Slider/components/DoubleUncontrolled/DoubleUncontrolled.types.d.ts +40 -0
  387. package/types/components/Slider/components/DoubleUncontrolled/DoubleUncontrolled.types.d.ts.map +1 -0
  388. package/types/components/Slider/components/Single/Single.d.ts.map +1 -1
  389. package/types/components/Slider/components/Single/Single.types.d.ts +35 -5
  390. package/types/components/Slider/components/Single/Single.types.d.ts.map +1 -1
  391. package/types/components/Slider/components/index.d.ts +2 -0
  392. package/types/components/Slider/components/index.d.ts.map +1 -1
  393. package/types/components/Slider/utils/index.d.ts +1 -0
  394. package/types/components/Slider/utils/index.d.ts.map +1 -1
  395. package/types/components/Tabs/ui/Tabs/Tabs.d.ts.map +1 -1
  396. package/types/components/TextArea/TextArea.d.ts.map +1 -1
  397. package/types/components/_Icon/Icon.assets/DisclosureLeft.d.ts.map +1 -1
  398. package/types/components/_Icon/Icon.assets/DisclosureRight.d.ts.map +1 -1
  399. package/types/components/_Icon/index.d.ts +0 -3
  400. package/types/components/_Icon/index.d.ts.map +1 -1
  401. package/types/examples/plasma_b2c/components/DatePicker/DatePicker.d.ts +1 -0
  402. package/types/examples/plasma_b2c/components/DatePicker/DatePicker.d.ts.map +1 -1
  403. package/types/examples/plasma_b2c/components/Segment/Segment.d.ts +1 -10
  404. package/types/examples/plasma_b2c/components/Segment/Segment.d.ts.map +1 -1
  405. package/types/examples/plasma_b2c/components/Segment/SegmentGroup.config.d.ts +0 -3
  406. package/types/examples/plasma_b2c/components/Segment/SegmentGroup.config.d.ts.map +1 -1
  407. package/types/examples/plasma_b2c/components/Segment/SegmentItem.config.d.ts.map +1 -1
  408. package/types/examples/plasma_b2c/components/Slider/Slider.d.ts +47 -1
  409. package/types/examples/plasma_b2c/components/Slider/Slider.d.ts.map +1 -1
  410. package/types/examples/plasma_web/components/DatePicker/DatePicker.d.ts +1 -0
  411. package/types/examples/plasma_web/components/DatePicker/DatePicker.d.ts.map +1 -1
  412. package/types/examples/plasma_web/components/Segment/Segment.d.ts +1 -13
  413. package/types/examples/plasma_web/components/Segment/Segment.d.ts.map +1 -1
  414. package/types/examples/plasma_web/components/Segment/SegmentGroup.config.d.ts +0 -6
  415. package/types/examples/plasma_web/components/Segment/SegmentGroup.config.d.ts.map +1 -1
  416. package/types/examples/plasma_web/components/Segment/SegmentItem.config.d.ts.map +1 -1
  417. package/types/examples/plasma_web/components/Slider/Slider.d.ts +47 -1
  418. package/types/examples/plasma_web/components/Slider/Slider.d.ts.map +1 -1
  419. package/types/hooks/index.d.ts +1 -0
  420. package/types/hooks/index.d.ts.map +1 -1
  421. package/types/hooks/useForm.d.ts +10 -0
  422. package/types/hooks/useForm.d.ts.map +1 -0
  423. package/types/types/FormType.d.ts +13 -0
  424. package/types/types/FormType.d.ts.map +1 -0
  425. package/types/utils/index.d.ts +1 -0
  426. package/types/utils/index.d.ts.map +1 -1
  427. package/types/utils/inputHidden.d.ts +2 -0
  428. package/types/utils/inputHidden.d.ts.map +1 -0
  429. package/types/utils/setRefList.d.ts +6 -0
  430. package/types/utils/setRefList.d.ts.map +1 -0
  431. package/cjs/components/Segment/ui/SegmentGroup/SegmentGroup.styles_6y4o38.css +0 -3
  432. package/cjs/components/Segment/ui/SegmentGroup/variations/_filledBackgound/base_a7w5s0.css +0 -1
  433. package/cjs/components/Segment/ui/SegmentGroup/variations/_orientation/base.js +0 -9
  434. package/cjs/components/Segment/ui/SegmentGroup/variations/_orientation/base.js.map +0 -1
  435. package/cjs/components/Segment/ui/SegmentGroup/variations/_orientation/base_1ejecy9.css +0 -1
  436. package/cjs/components/Segment/ui/SegmentGroup/variations/_size/base_1dfesjp.css +0 -1
  437. package/cjs/components/Segment/ui/SegmentItem/SegmentItem.styles_1s77lh9.css +0 -4
  438. package/cjs/components/Segment/ui/SegmentItem/variations/_view/base_jww0qh.css +0 -1
  439. package/cjs/components/_Icon/Icon.assets/DisclosureLeftCentered.js.map +0 -1
  440. package/cjs/components/_Icon/Icons/IconDisclosureLeftCentered.js.map +0 -1
  441. package/emotion/cjs/components/Segment/README.md +0 -61
  442. package/emotion/cjs/components/Segment/ui/SegmentGroup/variations/_orientation/base.js +0 -10
  443. package/emotion/cjs/components/Segment/ui/SegmentGroup/variations/_orientation/tokens.json +0 -1
  444. package/emotion/cjs/components/_Icon/Icon.assets/DisclosureDown.js +0 -21
  445. package/emotion/cjs/components/_Icon/Icon.assets/DisclosureLeftCentered.js +0 -22
  446. package/emotion/cjs/components/_Icon/Icon.assets/DisclosureUp.js +0 -21
  447. package/emotion/cjs/components/_Icon/Icons/IconDisclosureDown.js +0 -22
  448. package/emotion/cjs/components/_Icon/Icons/IconDisclosureLeftCentered.js +0 -22
  449. package/emotion/cjs/components/_Icon/Icons/IconDisclosureUp.js +0 -22
  450. package/emotion/es/components/Segment/README.md +0 -61
  451. package/emotion/es/components/Segment/ui/SegmentGroup/variations/_orientation/base.js +0 -4
  452. package/emotion/es/components/Segment/ui/SegmentGroup/variations/_orientation/tokens.json +0 -1
  453. package/emotion/es/components/_Icon/Icon.assets/DisclosureDown.js +0 -14
  454. package/emotion/es/components/_Icon/Icon.assets/DisclosureLeftCentered.js +0 -15
  455. package/emotion/es/components/_Icon/Icon.assets/DisclosureUp.js +0 -14
  456. package/emotion/es/components/_Icon/Icons/IconDisclosureDown.js +0 -15
  457. package/emotion/es/components/_Icon/Icons/IconDisclosureLeftCentered.js +0 -15
  458. package/emotion/es/components/_Icon/Icons/IconDisclosureUp.js +0 -15
  459. package/es/components/Segment/ui/SegmentGroup/SegmentGroup.styles_6y4o38.css +0 -3
  460. package/es/components/Segment/ui/SegmentGroup/variations/_filledBackgound/base_a7w5s0.css +0 -1
  461. package/es/components/Segment/ui/SegmentGroup/variations/_orientation/base.js +0 -5
  462. package/es/components/Segment/ui/SegmentGroup/variations/_orientation/base.js.map +0 -1
  463. package/es/components/Segment/ui/SegmentGroup/variations/_orientation/base_1ejecy9.css +0 -1
  464. package/es/components/Segment/ui/SegmentGroup/variations/_size/base_1dfesjp.css +0 -1
  465. package/es/components/Segment/ui/SegmentItem/SegmentItem.styles_1s77lh9.css +0 -4
  466. package/es/components/Segment/ui/SegmentItem/variations/_view/base_jww0qh.css +0 -1
  467. package/es/components/_Icon/Icon.assets/DisclosureLeftCentered.js.map +0 -1
  468. package/es/components/_Icon/Icons/IconDisclosureLeftCentered.js.map +0 -1
  469. package/styled-components/cjs/components/Segment/README.md +0 -61
  470. package/styled-components/cjs/components/Segment/ui/SegmentGroup/variations/_orientation/base.js +0 -10
  471. package/styled-components/cjs/components/Segment/ui/SegmentGroup/variations/_orientation/tokens.json +0 -1
  472. package/styled-components/cjs/components/_Icon/Icon.assets/DisclosureDown.js +0 -21
  473. package/styled-components/cjs/components/_Icon/Icon.assets/DisclosureLeftCentered.js +0 -22
  474. package/styled-components/cjs/components/_Icon/Icon.assets/DisclosureUp.js +0 -21
  475. package/styled-components/cjs/components/_Icon/Icons/IconDisclosureDown.js +0 -22
  476. package/styled-components/cjs/components/_Icon/Icons/IconDisclosureLeftCentered.js +0 -22
  477. package/styled-components/cjs/components/_Icon/Icons/IconDisclosureUp.js +0 -22
  478. package/styled-components/es/components/Segment/README.md +0 -61
  479. package/styled-components/es/components/Segment/ui/SegmentGroup/variations/_orientation/base.js +0 -4
  480. package/styled-components/es/components/Segment/ui/SegmentGroup/variations/_orientation/tokens.json +0 -1
  481. package/styled-components/es/components/_Icon/Icon.assets/DisclosureDown.js +0 -14
  482. package/styled-components/es/components/_Icon/Icon.assets/DisclosureLeftCentered.js +0 -15
  483. package/styled-components/es/components/_Icon/Icon.assets/DisclosureUp.js +0 -14
  484. package/styled-components/es/components/_Icon/Icons/IconDisclosureDown.js +0 -15
  485. package/styled-components/es/components/_Icon/Icons/IconDisclosureLeftCentered.js +0 -15
  486. package/styled-components/es/components/_Icon/Icons/IconDisclosureUp.js +0 -15
  487. package/types/components/Segment/ui/SegmentGroup/variations/_orientation/base.d.ts +0 -2
  488. package/types/components/Segment/ui/SegmentGroup/variations/_orientation/base.d.ts.map +0 -1
  489. package/types/components/_Icon/Icon.assets/DisclosureDown.d.ts +0 -4
  490. package/types/components/_Icon/Icon.assets/DisclosureDown.d.ts.map +0 -1
  491. package/types/components/_Icon/Icon.assets/DisclosureLeftCentered.d.ts +0 -4
  492. package/types/components/_Icon/Icon.assets/DisclosureLeftCentered.d.ts.map +0 -1
  493. package/types/components/_Icon/Icon.assets/DisclosureUp.d.ts +0 -4
  494. package/types/components/_Icon/Icon.assets/DisclosureUp.d.ts.map +0 -1
  495. package/types/components/_Icon/Icons/IconDisclosureDown.d.ts +0 -4
  496. package/types/components/_Icon/Icons/IconDisclosureDown.d.ts.map +0 -1
  497. package/types/components/_Icon/Icons/IconDisclosureLeftCentered.d.ts +0 -4
  498. package/types/components/_Icon/Icons/IconDisclosureLeftCentered.d.ts.map +0 -1
  499. package/types/components/_Icon/Icons/IconDisclosureUp.d.ts +0 -4
  500. package/types/components/_Icon/Icons/IconDisclosureUp.d.ts.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"tokens.js","sources":["../../../src/components/Segment/tokens.ts"],"sourcesContent":["export const classes = {\n selectedSegmentItem: 'selected-segment-item',\n segmentPilled: 'segment-pilled',\n segmentGroupFilledBackground: 'segment-group-filled-background',\n segmentStretch: 'segment-stretched',\n segmentVertical: 'segment-vertical',\n segmentArrowPadding: 'segment-arrow-padding',\n segmentGroupClipScroll: 'segment-group-clip-scroll',\n segmentGroupClipShowAll: 'segment-group-clip-show-all',\n segmentXsSize: 'segment-xs-size',\n};\n\nexport const tokens = {\n fontFamily: '--plasma-segment-item-font-family',\n fontSize: '--plasma-segment-item-font-size',\n fontStyle: '--plasma-segment-item-font-style',\n fontWeight: '--plasma-segment-item-font-weight',\n letterSpacing: '--plasma-segment-item-letter-spacing',\n lineHeight: '--plasma-segment-item-lineheight',\n\n outlineFocusColor: '--plasma-segment-outline-focus-color',\n\n arrowColor: '--plasma-segment-arrow-color',\n\n groupBorderRadius: '--plasma-segment-group-border-radius',\n groupPilledBorderRadius: '--plasma-segment-group-pilled-border-radius',\n groupWidth: '--plasma-segment-group-width',\n groupHeight: '--plasma-segment-group-height',\n groupArrowPadding: '--plasma-segment-group-arrow-padding',\n groupVerticalArrowPadding: '--plasma-segment-group-vertical-arrow-padding',\n\n groupBackgroundColor: '--plasma-segment-group-background-color',\n groupFilledBackgroundColor: '--plasma-segment-group-filled-background-color',\n\n itemBorderRadius: '--plasma-segment-item-border-radius',\n itemPilledBorderRadius: '--plasma-segment-item-pilled-border-radius',\n itemWidth: '--plasma-segment-item-width',\n itemHeight: '--plasma-segment-item-height',\n itemPadding: '--plasma-segment-item-padding',\n itemPilledPadding: '--plasma-segment-item-pilled-padding',\n itemMarginLeft: '--plasma-segment-item-margin-left',\n itemContentPadding: '--plasma-segment-item-content-padding',\n itemIconMargin: '--plasma-segment-item-content-icon-margin',\n\n itemColor: '--plasma-segment-item-color',\n itemBackgroundColor: '--plasma-segment-item-background-color',\n itemColorHover: '--plasma-segment-item-color-hover',\n itemBackgroundColorHover: '--plasma-segment-item-background-color-hover',\n itemAdditionalColor: '--plasma-segment-item-additional-color',\n itemAdditionalColorHover: '--plasma-segment-item-additional-color-hover',\n\n itemSelectedColor: '--plasma-segment-item-selected-color',\n itemSelectedBackgroundColor: '--plasma-segment-item-selected-background-color',\n itemSelectedColorHover: '--plasma-segment-item-selected-color-hover',\n itemSelectedBackgroundColorHover: '--plasma-segment-item-selected-background-color-hover',\n itemSelectedAdditionalColor: '--plasma-segment-item-selected-additional-color',\n itemSelectedAdditionalColorHover: '--plasma-segment-item-selected-additional-color-hover',\n\n disabledOpacity: '--plasma-segment-disabled-opacity',\n};\n"],"names":["classes","selectedSegmentItem","segmentPilled","segmentGroupFilledBackground","segmentStretch","segmentVertical","segmentArrowPadding","segmentGroupClipScroll","segmentGroupClipShowAll","segmentXsSize","tokens","fontFamily","fontSize","fontStyle","fontWeight","letterSpacing","lineHeight","outlineFocusColor","arrowColor","groupBorderRadius","groupPilledBorderRadius","groupWidth","groupHeight","groupArrowPadding","groupVerticalArrowPadding","groupBackgroundColor","groupFilledBackgroundColor","itemBorderRadius","itemPilledBorderRadius","itemWidth","itemHeight","itemPadding","itemPilledPadding","itemMarginLeft","itemContentPadding","itemIconMargin","itemColor","itemBackgroundColor","itemColorHover","itemBackgroundColorHover","itemAdditionalColor","itemAdditionalColorHover","itemSelectedColor","itemSelectedBackgroundColor","itemSelectedColorHover","itemSelectedBackgroundColorHover","itemSelectedAdditionalColor","itemSelectedAdditionalColorHover","disabledOpacity"],"mappings":"AAAO,IAAMA,OAAO,GAAG;AACnBC,EAAAA,mBAAmB,EAAE,uBAAuB;AAC5CC,EAAAA,aAAa,EAAE,gBAAgB;AAC/BC,EAAAA,4BAA4B,EAAE,iCAAiC;AAC/DC,EAAAA,cAAc,EAAE,mBAAmB;AACnCC,EAAAA,eAAe,EAAE,kBAAkB;AACnCC,EAAAA,mBAAmB,EAAE,uBAAuB;AAC5CC,EAAAA,sBAAsB,EAAE,2BAA2B;AACnDC,EAAAA,uBAAuB,EAAE,6BAA6B;AACtDC,EAAAA,aAAa,EAAE,iBAAA;AACnB,EAAC;AAEM,IAAMC,MAAM,GAAG;AAClBC,EAAAA,UAAU,EAAE,mCAAmC;AAC/CC,EAAAA,QAAQ,EAAE,iCAAiC;AAC3CC,EAAAA,SAAS,EAAE,kCAAkC;AAC7CC,EAAAA,UAAU,EAAE,mCAAmC;AAC/CC,EAAAA,aAAa,EAAE,sCAAsC;AACrDC,EAAAA,UAAU,EAAE,kCAAkC;AAE9CC,EAAAA,iBAAiB,EAAE,sCAAsC;AAEzDC,EAAAA,UAAU,EAAE,8BAA8B;AAE1CC,EAAAA,iBAAiB,EAAE,sCAAsC;AACzDC,EAAAA,uBAAuB,EAAE,6CAA6C;AACtEC,EAAAA,UAAU,EAAE,8BAA8B;AAC1CC,EAAAA,WAAW,EAAE,+BAA+B;AAC5CC,EAAAA,iBAAiB,EAAE,sCAAsC;AACzDC,EAAAA,yBAAyB,EAAE,+CAA+C;AAE1EC,EAAAA,oBAAoB,EAAE,yCAAyC;AAC/DC,EAAAA,0BAA0B,EAAE,gDAAgD;AAE5EC,EAAAA,gBAAgB,EAAE,qCAAqC;AACvDC,EAAAA,sBAAsB,EAAE,4CAA4C;AACpEC,EAAAA,SAAS,EAAE,6BAA6B;AACxCC,EAAAA,UAAU,EAAE,8BAA8B;AAC1CC,EAAAA,WAAW,EAAE,+BAA+B;AAC5CC,EAAAA,iBAAiB,EAAE,sCAAsC;AACzDC,EAAAA,cAAc,EAAE,mCAAmC;AACnDC,EAAAA,kBAAkB,EAAE,uCAAuC;AAC3DC,EAAAA,cAAc,EAAE,2CAA2C;AAE3DC,EAAAA,SAAS,EAAE,6BAA6B;AACxCC,EAAAA,mBAAmB,EAAE,wCAAwC;AAC7DC,EAAAA,cAAc,EAAE,mCAAmC;AACnDC,EAAAA,wBAAwB,EAAE,8CAA8C;AACxEC,EAAAA,mBAAmB,EAAE,wCAAwC;AAC7DC,EAAAA,wBAAwB,EAAE,8CAA8C;AAExEC,EAAAA,iBAAiB,EAAE,sCAAsC;AACzDC,EAAAA,2BAA2B,EAAE,iDAAiD;AAC9EC,EAAAA,sBAAsB,EAAE,4CAA4C;AACpEC,EAAAA,gCAAgC,EAAE,uDAAuD;AACzFC,EAAAA,2BAA2B,EAAE,iDAAiD;AAC9EC,EAAAA,gCAAgC,EAAE,uDAAuD;AAEzFC,EAAAA,eAAe,EAAE,mCAAA;AACrB;;;;"}
1
+ {"version":3,"file":"tokens.js","sources":["../../../src/components/Segment/tokens.ts"],"sourcesContent":["export const classes = {\n selectedSegmentItem: 'selected-segment-item',\n segmentPilled: 'segment-pilled',\n segmentGroupFilledBackground: 'segment-group-filled-background',\n segmentStretch: 'segment-stretched',\n};\n\nexport const tokens = {\n fontFamily: '--plasma-segment-item-font-family',\n fontSize: '--plasma-segment-item-font-size',\n fontStyle: '--plasma-segment-item-font-style',\n fontWeight: '--plasma-segment-item-font-weight',\n letterSpacing: '--plasma-segment-item-letter-spacing',\n lineHeight: '--plasma-segment-item-lineheight',\n\n outlineFocusColor: '--plasma-segment-outline-focus-color',\n\n arrowColor: '--plasma-segment-arrow-color',\n\n groupBorderRadius: '--plasma-segment-group-border-radius',\n groupPilledBorderRadius: '--plasma-segment-group-pilled-border-radius',\n groupWidth: '--plasma-segment-group-width',\n groupHeight: '--plasma-segment-group-height',\n\n groupBackgroundColor: '--plasma-segment-group-background-color',\n groupFilledBackgroundColor: '--plasma-segment-group-filled-background-color',\n\n itemBorderRadius: '--plasma-segment-item-border-radius',\n itemPilledBorderRadius: '--plasma-segment-item-pilled-border-radius',\n itemWidth: '--plasma-segment-item-width',\n itemHeight: '--plasma-segment-item-height',\n itemPadding: '--plasma-segment-item-padding',\n itemMarginLeft: '--plasma-segment-item-margin-left',\n\n itemColor: '--plasma-segment-item-color',\n itemBackgroundColor: '--plasma-segment-item-background-color',\n itemColorHover: '--plasma-segment-item-color-hover',\n itemBackgroundColorHover: '--plasma-segment-item-background-color-hover',\n\n itemSelectedColor: '--plasma-segment-item-selected-color',\n itemSelectedBackgroundColor: '--plasma-segment-item-selected-background-color',\n itemSelectedColorHover: '--plasma-segment-item-selected-color-hover',\n itemSelectedBackgroundColorHover: '--plasma-segment-item-selected-background-color-hover',\n\n disabledOpacity: '--plasma-segment-disabled-opacity',\n};\n"],"names":["classes","selectedSegmentItem","segmentPilled","segmentGroupFilledBackground","segmentStretch","tokens","fontFamily","fontSize","fontStyle","fontWeight","letterSpacing","lineHeight","outlineFocusColor","arrowColor","groupBorderRadius","groupPilledBorderRadius","groupWidth","groupHeight","groupBackgroundColor","groupFilledBackgroundColor","itemBorderRadius","itemPilledBorderRadius","itemWidth","itemHeight","itemPadding","itemMarginLeft","itemColor","itemBackgroundColor","itemColorHover","itemBackgroundColorHover","itemSelectedColor","itemSelectedBackgroundColor","itemSelectedColorHover","itemSelectedBackgroundColorHover","disabledOpacity"],"mappings":"AAAO,IAAMA,OAAO,GAAG;AACnBC,EAAAA,mBAAmB,EAAE,uBAAuB;AAC5CC,EAAAA,aAAa,EAAE,gBAAgB;AAC/BC,EAAAA,4BAA4B,EAAE,iCAAiC;AAC/DC,EAAAA,cAAc,EAAE,mBAAA;AACpB,EAAC;AAEM,IAAMC,MAAM,GAAG;AAClBC,EAAAA,UAAU,EAAE,mCAAmC;AAC/CC,EAAAA,QAAQ,EAAE,iCAAiC;AAC3CC,EAAAA,SAAS,EAAE,kCAAkC;AAC7CC,EAAAA,UAAU,EAAE,mCAAmC;AAC/CC,EAAAA,aAAa,EAAE,sCAAsC;AACrDC,EAAAA,UAAU,EAAE,kCAAkC;AAE9CC,EAAAA,iBAAiB,EAAE,sCAAsC;AAEzDC,EAAAA,UAAU,EAAE,8BAA8B;AAE1CC,EAAAA,iBAAiB,EAAE,sCAAsC;AACzDC,EAAAA,uBAAuB,EAAE,6CAA6C;AACtEC,EAAAA,UAAU,EAAE,8BAA8B;AAC1CC,EAAAA,WAAW,EAAE,+BAA+B;AAE5CC,EAAAA,oBAAoB,EAAE,yCAAyC;AAC/DC,EAAAA,0BAA0B,EAAE,gDAAgD;AAE5EC,EAAAA,gBAAgB,EAAE,qCAAqC;AACvDC,EAAAA,sBAAsB,EAAE,4CAA4C;AACpEC,EAAAA,SAAS,EAAE,6BAA6B;AACxCC,EAAAA,UAAU,EAAE,8BAA8B;AAC1CC,EAAAA,WAAW,EAAE,+BAA+B;AAC5CC,EAAAA,cAAc,EAAE,mCAAmC;AAEnDC,EAAAA,SAAS,EAAE,6BAA6B;AACxCC,EAAAA,mBAAmB,EAAE,wCAAwC;AAC7DC,EAAAA,cAAc,EAAE,mCAAmC;AACnDC,EAAAA,wBAAwB,EAAE,8CAA8C;AAExEC,EAAAA,iBAAiB,EAAE,sCAAsC;AACzDC,EAAAA,2BAA2B,EAAE,iDAAiD;AAC9EC,EAAAA,sBAAsB,EAAE,4CAA4C;AACpEC,EAAAA,gCAAgC,EAAE,uDAAuD;AAEzFC,EAAAA,eAAe,EAAE,mCAAA;AACrB;;;;"}
@@ -1,4 +1,6 @@
1
- .base_1dfesjp_b16s69xg__8774de01{width:var(--plasma-segment-group-width);height:var(--plasma-segment-group-height);}.base_1dfesjp_b16s69xg__8774de01:before{--plasma_private-outline-radius:var(--plasma-segment-group-border-radius);border-radius:var(--plasma-segment-group-border-radius);}
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
+
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);}
2
4
 
3
5
  .base_hsx1sr_bo2wq9n__1e99adcc{background-color:var(--plasma-segment-group-background-color);}
4
6
 
@@ -6,12 +8,11 @@
6
8
 
7
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);}
8
10
 
9
- .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);}
11
+ .base_escgtx_b13sjoz1__a1f0e6e1.base_escgtx_segmentGroupFilledBackground__a1f0e6e1{background-color:var(--plasma-segment-group-filled-background-color);}
10
12
 
11
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%;}
12
14
 
13
- .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;}
14
-
15
- .SegmentGroup_styles_6y4o38_b2sori2__2daec6de{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%;--plasma_private-outline-radius:var(--plasma-segment-group-border-radius);border-radius:var(--plasma-segment-group-border-radius);}
16
- .SegmentGroup_styles_6y4o38_sin9wo2__2daec6de{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%;}
17
- .SegmentGroup_styles_6y4o38_spuzt9m__2daec6de{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;}
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;}
@@ -1,117 +1,164 @@
1
- import { objectWithoutProperties as _objectWithoutProperties, extends as _extends } from '../../../../_virtual/_rollupPluginBabelHelpers.js';
2
- import React, { forwardRef, useRef, useCallback, useEffect } from 'react';
3
- import { safeUseId } from '@salutejs/plasma-core';
4
- import { classes } from '../../tokens.js';
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';
6
+ import '@linaria/react';
7
+ import { tokens, classes } from '../../tokens.js';
5
8
  import { cx } from '../../../../utils/index.js';
6
9
  import { useSegmentInner } from '../../SegmentProvider/SegmentProvider.js';
7
10
  import { base as base$1 } from './variations/_size/base.js';
8
11
  import { base as base$2 } from './variations/_view/base.js';
9
12
  import { base as base$3 } from './variations/_disabled/base.js';
10
13
  import { base as base$4 } from './variations/_pilled/base.js';
11
- import { base as base$7 } from './variations/_filledBackgound/base.js';
14
+ import { base as base$6 } from './variations/_filledBackgound/base.js';
12
15
  import { base as base$5 } from './variations/_stretch/base.js';
13
- import { base as base$6 } from './variations/_orientation/base.js';
14
- import { StyledContentWrapper, StyledContent, base } from './SegmentGroup.styles.js';
16
+ import { StyledArrow, StyledContentWrapper, StyledContent, base } from './SegmentGroup.styles.js';
15
17
 
16
- var _excluded = ["id", "selectionMode", "pilled", "stretch", "orientation", "filledBackground", "hasBackground", "disabled", "size", "view", "children"];
17
- var Keys = /*#__PURE__*/function (Keys) {
18
- Keys[Keys["end"] = 35] = "end";
19
- Keys[Keys["home"] = 36] = "home";
20
- Keys[Keys["left"] = 37] = "left";
21
- Keys[Keys["right"] = 39] = "right";
22
- return Keys;
23
- }(Keys || {});
24
- var getChildNodes = function getChildNodes(wrapper) {
25
- var container = wrapper === null || wrapper === void 0 ? void 0 : wrapper.firstChild;
26
- return container ? Array.from(container === null || container === void 0 ? void 0 : container.childNodes) : [];
27
- };
18
+ var _excluded = ["id", "selectionMode", "pilled", "stretch", "filledBackground", "disabled", "size", "view", "children"];
28
19
  var segmentGroupRoot = function segmentGroupRoot(Root) {
29
20
  return /*#__PURE__*/forwardRef(function (props, outerRef) {
30
21
  var id = props.id,
31
22
  selectionMode = props.selectionMode,
32
23
  pilled = props.pilled,
33
24
  stretch = props.stretch,
34
- _props$orientation = props.orientation,
35
- orientation = _props$orientation === void 0 ? 'horizontal' : _props$orientation,
36
25
  _props$filledBackgrou = props.filledBackground,
37
26
  filledBackground = _props$filledBackgrou === void 0 ? false : _props$filledBackgrou,
38
- _props$hasBackground = props.hasBackground,
39
- hasBackground = _props$hasBackground === void 0 ? false : _props$hasBackground,
40
27
  _props$disabled = props.disabled,
41
28
  disabled = _props$disabled === void 0 ? false : _props$disabled,
42
29
  size = props.size,
43
30
  view = props.view,
44
31
  children = props.children,
45
32
  rest = _objectWithoutProperties(props, _excluded);
46
- var scrollRef = useRef(null);
47
- var trackRef = useRef(null);
48
33
  var _useSegmentInner = useSegmentInner(),
49
34
  setSelectionMode = _useSegmentInner.setSelectionMode,
50
35
  setDisabledGroup = _useSegmentInner.setDisabledGroup;
36
+ var _useState = useState(0),
37
+ _useState2 = _slicedToArray(_useState, 2),
38
+ index = _useState2[0],
39
+ setIndex = _useState2[1];
40
+ var _useState3 = useState(false),
41
+ _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];
51
48
  var uniqId = safeUseId();
52
49
  var segmentGroupId = id || uniqId;
53
- var isVertical = orientation === 'vertical';
54
- var pilledAttr = hasBackground && pilled;
55
- var filledBackgroundAttr = filledBackground || hasBackground;
56
- var stretchClass = stretch ? classes.segmentStretch : undefined;
57
- var orientationClass = isVertical ? classes.segmentVertical : undefined;
50
+ var pilledAttr = view !== 'clear' && pilled;
51
+ var filledBackgroundAttr = view !== 'clear' && filledBackground;
58
52
  var pilledClass = pilledAttr ? classes.segmentPilled : undefined;
59
53
  var filledClass = filledBackgroundAttr ? classes.segmentGroupFilledBackground : undefined;
60
- var onKeyDown = useCallback(function (event) {
61
- var childNodes = getChildNodes(scrollRef === null || scrollRef === void 0 ? void 0 : scrollRef.current);
62
- var index = childNodes.findIndex(function (child) {
63
- return document.activeElement === child;
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
+ var onPrev = useCallback(function () {
59
+ !disabled && setIndex(function (prevIndex) {
60
+ return prevIndex > 0 ? prevIndex - 1 : 0;
64
61
  });
65
- var minIndex = 0;
66
- var maxIndex = childNodes.length - 1;
67
- var nextIndex;
68
- switch (event.keyCode) {
69
- case Keys.end:
70
- nextIndex = maxIndex;
71
- break;
72
- case Keys.left:
73
- nextIndex = index > minIndex ? index - 1 : index;
74
- break;
75
- case Keys.right:
76
- nextIndex = index < maxIndex ? index + 1 : index;
77
- break;
78
- case Keys.home:
79
- nextIndex = minIndex;
80
- break;
81
- default:
82
- return;
83
- }
84
- if (nextIndex !== index) {
85
- var _childNodes$nextIndex, _childNodes$nextIndex2;
86
- event.preventDefault();
87
- (_childNodes$nextIndex = childNodes[nextIndex]) === null || _childNodes$nextIndex === void 0 || _childNodes$nextIndex.focus();
88
- (_childNodes$nextIndex2 = childNodes[nextIndex]) === null || _childNodes$nextIndex2 === void 0 || _childNodes$nextIndex2.scrollIntoView({
89
- block: 'center',
90
- inline: 'center',
91
- behavior: 'smooth'
62
+ }, [disabled]);
63
+ var onNext = useCallback(function () {
64
+ !disabled && setIndex(function (prevIndex) {
65
+ return prevIndex < items.length - 1 ? prevIndex + 1 : prevIndex;
66
+ });
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
+ }
92
80
  });
93
- }
94
- }, []);
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;
93
+ var PreviousButton = useMemo(function () {
94
+ return /*#__PURE__*/React.createElement(StyledArrow, {
95
+ type: "button",
96
+ "aria-label": "\u041F\u0440\u0435\u0434\u044B\u0434\u0443\u0449\u0438\u0439 \u0441\u0435\u0433\u043C\u0435\u043D\u0442",
97
+ onClick: onPrev,
98
+ tabIndex: disabled ? -1 : 0,
99
+ disabled: disabled
100
+ }, /*#__PURE__*/React.createElement(IconDisclosureLeft, {
101
+ color: "var(".concat(tokens.arrowColor, ")")
102
+ }));
103
+ }, [onPrev]);
104
+ var NextButton = useMemo(function () {
105
+ return /*#__PURE__*/React.createElement(StyledArrow, {
106
+ type: "button",
107
+ "aria-label": "\u0421\u043B\u0435\u0434\u0443\u044E\u0449\u0438\u0439 \u0441\u0435\u0433\u043C\u0435\u043D\u0442",
108
+ onClick: onNext,
109
+ tabIndex: disabled ? -1 : 0,
110
+ disabled: disabled
111
+ }, /*#__PURE__*/React.createElement(IconDisclosureRight, {
112
+ color: "var(".concat(tokens.arrowColor, ")")
113
+ }));
114
+ }, [onNext]);
95
115
  useEffect(function () {
96
116
  selectionMode && setSelectionMode(selectionMode);
97
117
  setDisabledGroup(disabled);
98
118
  }, [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]);
99
148
  return /*#__PURE__*/React.createElement(Root, _extends({
100
149
  view: view,
101
150
  size: size,
102
- orientation: orientation,
103
151
  id: segmentGroupId,
104
152
  ref: outerRef,
105
153
  filledBackground: filledBackgroundAttr,
106
154
  disabled: disabled,
107
155
  pilled: pilledAttr,
108
- className: cx(pilledClass, filledClass, stretchClass, orientationClass),
109
- onKeyDown: onKeyDown
110
- }, rest), /*#__PURE__*/React.createElement(StyledContentWrapper, {
156
+ className: cx(pilledClass, filledClass, stretchClass)
157
+ }, rest), !firstItemVisible && PreviousButton, /*#__PURE__*/React.createElement(StyledContentWrapper, {
111
158
  ref: scrollRef
112
159
  }, /*#__PURE__*/React.createElement(StyledContent, {
113
160
  ref: trackRef
114
- }, children)));
161
+ }, children)), !lastItemVisible && NextButton);
115
162
  });
116
163
  };
117
164
  var segmentGroupConfig = {
@@ -138,18 +185,16 @@ var segmentGroupConfig = {
138
185
  css: base$5,
139
186
  attrs: true
140
187
  },
141
- orientation: {
142
- css: base$6
143
- },
144
188
  filledBackground: {
145
- css: base$7,
189
+ css: base$6,
146
190
  attrs: true
147
191
  }
148
192
  },
149
193
  defaults: {
194
+ view: 'clear',
150
195
  size: 'xs'
151
196
  }
152
197
  };
153
198
 
154
- export { getChildNodes, segmentGroupConfig, segmentGroupRoot };
199
+ export { segmentGroupConfig, segmentGroupRoot };
155
200
  //# 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, 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 { classes } 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 { StyledContent, StyledContentWrapper, base } from './SegmentGroup.styles';\n\nenum Keys {\n end = 35,\n home = 36,\n left = 37,\n right = 39,\n}\n\nexport const getChildNodes = (wrapper: HTMLElement | null) => {\n const container = wrapper?.firstChild;\n return container ? (Array.from(container?.childNodes) as HTMLElement[]) : [];\n};\nexport const segmentGroupRoot = (Root: RootProps<HTMLDivElement, SegmentGroupProps>) =>\n forwardRef<HTMLDivElement, SegmentGroupProps>((props, outerRef) => {\n const {\n id,\n selectionMode,\n pilled,\n stretch,\n 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\n const { setSelectionMode, setDisabledGroup } = useSegmentInner();\n\n const uniqId = safeUseId();\n const segmentGroupId = id || uniqId;\n const isVertical = orientation === 'vertical';\n\n const pilledAttr = hasBackground && pilled;\n const filledBackgroundAttr = filledBackground || hasBackground;\n\n const stretchClass = stretch ? classes.segmentStretch : undefined;\n const orientationClass = isVertical ? classes.segmentVertical : undefined;\n\n const pilledClass = pilledAttr ? classes.segmentPilled : undefined;\n const filledClass = filledBackgroundAttr ? classes.segmentGroupFilledBackground : undefined;\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 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 <StyledContentWrapper ref={scrollRef as RefObject<HTMLDivElement>}>\n <StyledContent ref={trackRef as MutableRefObject<HTMLDivElement | null>}>{children}</StyledContent>\n </StyledContentWrapper>\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 size: 'xs',\n },\n};\n"],"names":["Keys","getChildNodes","wrapper","container","firstChild","Array","from","childNodes","segmentGroupRoot","Root","forwardRef","props","outerRef","id","selectionMode","pilled","stretch","_props$orientation","orientation","_props$filledBackgrou","filledBackground","_props$hasBackground","hasBackground","_props$disabled","disabled","size","view","children","rest","_objectWithoutProperties","_excluded","scrollRef","useRef","trackRef","_useSegmentInner","useSegmentInner","setSelectionMode","setDisabledGroup","uniqId","safeUseId","segmentGroupId","isVertical","pilledAttr","filledBackgroundAttr","stretchClass","classes","segmentStretch","undefined","orientationClass","segmentVertical","pilledClass","segmentPilled","filledClass","segmentGroupFilledBackground","onKeyDown","useCallback","event","current","index","findIndex","child","document","activeElement","minIndex","maxIndex","length","nextIndex","keyCode","end","left","right","home","_childNodes$nextIndex","_childNodes$nextIndex2","preventDefault","focus","scrollIntoView","block","inline","behavior","useEffect","React","createElement","_extends","ref","className","cx","StyledContentWrapper","StyledContent","segmentGroupConfig","name","tag","layout","base","variations","css","sizeCSS","viewCSS","disabledCSS","attrs","pilledCSS","stretchCSS","orientationCSS","filledBackgroundCSS","defaults"],"mappings":"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"}
1
+ {"version":3,"file":"SegmentGroup.js","sources":["../../../../../src/components/Segment/ui/SegmentGroup/SegmentGroup.tsx"],"sourcesContent":["import React, { forwardRef, useCallback, useMemo, useState, Children, useEffect } from 'react';\nimport type { SetStateAction, RefObject, MutableRefObject } from 'react';\nimport { safeUseId, useCarousel } from '@salutejs/plasma-core';\n\nimport type { RootProps } from '../../../../engines/types';\nimport { IconDisclosureLeft, IconDisclosureRight } from '../../../_Icon';\nimport { classes, tokens } from '../../tokens';\nimport { cx } from '../../../../utils';\nimport { useSegmentInner } from '../../SegmentProvider/SegmentProvider';\n\nimport { base as sizeCSS } from './variations/_size/base';\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as disabledCSS } from './variations/_disabled/base';\nimport { base as pilledCSS } from './variations/_pilled/base';\nimport { base as filledBackgroundCSS } from './variations/_filledBackgound/base';\nimport { base as stretchCSS } from './variations/_stretch/base';\nimport type { SegmentGroupProps } from './SegmentGroup.types';\nimport { StyledArrow, StyledContent, StyledContentWrapper, base } from './SegmentGroup.styles';\n\nexport const segmentGroupRoot = (Root: RootProps<HTMLDivElement, SegmentGroupProps>) =>\n forwardRef<HTMLDivElement, SegmentGroupProps>((props, outerRef) => {\n const {\n id,\n selectionMode,\n pilled,\n stretch,\n filledBackground = false,\n disabled = false,\n size,\n view,\n children,\n ...rest\n } = props;\n\n const { setSelectionMode, setDisabledGroup } = useSegmentInner();\n\n const [index, setIndex] = useState(0);\n const [firstItemVisible, setFirstItemVisible] = useState(false);\n const [lastItemVisible, setLastItemVisible] = useState(false);\n\n const uniqId = safeUseId();\n const segmentGroupId = id || uniqId;\n\n const pilledAttr = view !== 'clear' && pilled;\n const filledBackgroundAttr = view !== 'clear' && filledBackground;\n const pilledClass = pilledAttr ? classes.segmentPilled : undefined;\n const filledClass = filledBackgroundAttr ? classes.segmentGroupFilledBackground : undefined;\n const stretchClass = firstItemVisible && lastItemVisible && stretch ? classes.segmentStretch : undefined;\n\n const items = Children?.map(children, (child) => child) || [];\n\n const onPrev = useCallback(() => {\n !disabled && setIndex((prevIndex) => (prevIndex > 0 ? prevIndex - 1 : 0));\n }, [disabled]);\n\n const onNext = useCallback(() => {\n !disabled && setIndex((prevIndex) => (prevIndex < items.length - 1 ? prevIndex + 1 : prevIndex));\n }, [disabled]);\n\n const onIntersecting = (setVisible: (value: SetStateAction<boolean>) => void) => (\n entries: IntersectionObserverEntry[],\n ) => {\n /*\n * Пробегаемся по элементам на которых есть слушатель события появления.\n * Если элемент находится в зоне видимости или выходит из нее, меняем значение флага видимости\n */\n entries.forEach((entry) => {\n if (entry.isIntersecting) {\n setVisible(true);\n } else {\n setVisible(false);\n }\n });\n };\n\n const { scrollRef, trackRef } = useCarousel({\n index,\n axis: 'x',\n scrollAlign: 'start',\n detectActive: true,\n debounceMs: 250,\n onIndexChange: setIndex,\n });\n\n const PreviousButton = useMemo(\n () => (\n <StyledArrow\n type=\"button\"\n aria-label=\"Предыдущий сегмент\"\n onClick={onPrev}\n tabIndex={disabled ? -1 : 0}\n disabled={disabled}\n >\n <IconDisclosureLeft color={`var(${tokens.arrowColor})`} />\n </StyledArrow>\n ),\n [onPrev],\n );\n\n const NextButton = useMemo(\n () => (\n <StyledArrow\n type=\"button\"\n aria-label=\"Следующий сегмент\"\n onClick={onNext}\n tabIndex={disabled ? -1 : 0}\n disabled={disabled}\n >\n <IconDisclosureRight color={`var(${tokens.arrowColor})`} />\n </StyledArrow>\n ),\n [onNext],\n );\n\n useEffect(() => {\n selectionMode && setSelectionMode(selectionMode);\n setDisabledGroup(disabled);\n }, [selectionMode, disabled]);\n\n useEffect(() => {\n // Intersection observer для первого сегмента\n const observeFirstItem = new IntersectionObserver(onIntersecting(setFirstItemVisible), {\n root: null,\n rootMargin: '0px',\n threshold: 0.5,\n });\n\n // Intersection observer для последнего сегмента\n const observeLastItem = new IntersectionObserver(onIntersecting(setLastItemVisible), {\n root: null,\n rootMargin: '0px',\n threshold: 0.5,\n });\n\n // получаем список сегментов внутри SegmentGroup\n const childrenArray = Array.from(trackRef.current?.children || []) as Array<Element>;\n if (childrenArray.length) {\n // подписываемся на событие появление внутри SegmentGroup\n observeFirstItem.observe(childrenArray[0]);\n observeLastItem.observe(childrenArray[childrenArray.length - 1]);\n }\n\n return () => {\n // отписываемся от события появления внутри SegmentGroup\n observeFirstItem.disconnect();\n observeLastItem.disconnect();\n };\n }, [children]);\n\n return (\n <Root\n view={view}\n size={size}\n id={segmentGroupId}\n ref={outerRef}\n filledBackground={filledBackgroundAttr}\n disabled={disabled}\n pilled={pilledAttr}\n className={cx(pilledClass, filledClass, stretchClass)}\n {...rest}\n >\n {!firstItemVisible && PreviousButton}\n <StyledContentWrapper ref={scrollRef as RefObject<HTMLDivElement>}>\n <StyledContent ref={trackRef as MutableRefObject<HTMLDivElement | null>}>{children}</StyledContent>\n </StyledContentWrapper>\n {!lastItemVisible && NextButton}\n </Root>\n );\n });\n\nexport const segmentGroupConfig = {\n name: 'SegmentGroup',\n tag: 'div',\n layout: segmentGroupRoot,\n base,\n variations: {\n size: {\n css: sizeCSS,\n },\n view: {\n css: viewCSS,\n },\n disabled: {\n css: disabledCSS,\n attrs: true,\n },\n pilled: {\n css: pilledCSS,\n attrs: true,\n },\n stretch: {\n css: stretchCSS,\n attrs: true,\n },\n filledBackground: {\n css: filledBackgroundCSS,\n attrs: true,\n },\n },\n defaults: {\n view: 'clear',\n size: 'xs',\n },\n};\n"],"names":["segmentGroupRoot","Root","forwardRef","props","outerRef","id","selectionMode","pilled","stretch","_props$filledBackgrou","filledBackground","_props$disabled","disabled","size","view","children","rest","_objectWithoutProperties","_excluded","_useSegmentInner","useSegmentInner","setSelectionMode","setDisabledGroup","_useState","useState","_useState2","_slicedToArray","index","setIndex","_useState3","_useState4","firstItemVisible","setFirstItemVisible","_useState5","_useState6","lastItemVisible","setLastItemVisible","uniqId","safeUseId","segmentGroupId","pilledAttr","filledBackgroundAttr","pilledClass","classes","segmentPilled","undefined","filledClass","segmentGroupFilledBackground","stretchClass","segmentStretch","items","Children","map","child","onPrev","useCallback","prevIndex","onNext","length","onIntersecting","setVisible","entries","forEach","entry","isIntersecting","_useCarousel","useCarousel","axis","scrollAlign","detectActive","debounceMs","onIndexChange","scrollRef","trackRef","PreviousButton","useMemo","React","createElement","StyledArrow","type","onClick","tabIndex","IconDisclosureLeft","color","concat","tokens","arrowColor","NextButton","IconDisclosureRight","useEffect","_trackRef$current","observeFirstItem","IntersectionObserver","root","rootMargin","threshold","observeLastItem","childrenArray","Array","from","current","observe","disconnect","_extends","ref","className","cx","StyledContentWrapper","StyledContent","segmentGroupConfig","name","tag","layout","base","variations","css","sizeCSS","viewCSS","disabledCSS","attrs","pilledCSS","stretchCSS","filledBackgroundCSS","defaults"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import './SegmentGroup.styles_6y4o38.css';
1
+ import './SegmentGroup.styles_m9i9p0.css';
2
2
  import { styled } from '@linaria/react';
3
3
 
4
4
  var base = "b2sori2";
@@ -12,6 +12,11 @@ var StyledContentWrapper = /*#__PURE__*/styled('div')({
12
12
  "class": "spuzt9m",
13
13
  propsAsIs: false
14
14
  });
15
+ var StyledArrow = /*#__PURE__*/styled('button')({
16
+ name: "StyledArrow",
17
+ "class": "s1qf4oye",
18
+ propsAsIs: false
19
+ });
15
20
 
16
- export { StyledContent, StyledContentWrapper, base };
21
+ export { StyledArrow, StyledContent, StyledContentWrapper, base };
17
22
  //# 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 { tokens } from '../../tokens';\n\nexport const base = css`\n display: inline-flex;\n align-items: center;\n max-width: 100%;\n\n --plasma_private-outline-radius: var(${tokens.groupBorderRadius});\n border-radius: var(${tokens.groupBorderRadius});\n`;\n\nexport const StyledContent = styled.div`\n display: inline-flex;\n flex-direction: row;\n align-items: center;\n 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"],"names":["base","StyledContent","styled","name","class","propsAsIs","StyledContentWrapper"],"mappings":";;AAKO,IAAMA,IAAI,GAOhB,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,CAOzC;;;;"}
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;;;;"}
@@ -0,0 +1,4 @@
1
+ .b2sori2{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}
2
+ .sin9wo2{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}
3
+ .spuzt9m{position:relative;height:100%;margin:0;padding:0.25rem;overflow-x:auto;overflow-y:hidden;-webkit-scroll-behavior:smooth;-moz-scroll-behavior:smooth;-ms-scroll-behavior:smooth;scroll-behavior:smooth;-webkit-scroll-snap-type:x mandatory;-moz-scroll-snap-type:x mandatory;-ms-scroll-snap-type:x mandatory;scroll-snap-type:x mandatory;}.spuzt9m::-webkit-scrollbar{display:none;}
4
+ .s1qf4oye{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;cursor:pointer;border:none;background-color:transparent;padding:0;outline:none;position:relative;}.s1qf4oye::before{content:'';position:absolute;top:-0.125rem;left:-0.125rem;right:-0.125rem;bottom:-0.125rem;z-index:1;display:block;box-sizing:content-box;border:0.063rem solid transparent;border-radius:calc(var(--plasma_private-outline-radius) - 0.063rem);-webkit-transition:box-shadow 0.2s ease-in-out;transition:box-shadow 0.2s ease-in-out;pointer-events:none;}.s1qf4oye.focus-visible:focus::before,.s1qf4oye[data-focus-visible-added]::before{outline:none;box-shadow:0 0 0 0.063rem var(--plasma-segment-outline-focus-color);}.s1qf4oye[disabled]{cursor:not-allowed;}
@@ -1,4 +1,4 @@
1
- import './base_a7w5s0.css';
1
+ import './base_escgtx.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 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;;;;"}
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;;;;"}
@@ -0,0 +1 @@
1
+ .b13sjoz1.segment-group-filled-background{background-color:var(--plasma-segment-group-filled-background-color);}
@@ -1,4 +1,4 @@
1
- import './base_1dfesjp.css';
1
+ import './base_m358nl.css';
2
2
  var base = "b16s69xg";
3
3
 
4
4
  export { base };
@@ -1 +1 @@
1
- {"version":3,"file":"base.js","sources":["../../../../../../../src/components/Segment/ui/SegmentGroup/variations/_size/base.ts"],"sourcesContent":["import { css } from '@linaria/core';\n\nimport { tokens } from '../../../../tokens';\n\nexport const base = css`\n width: var(${tokens.groupWidth});\n height: var(${tokens.groupHeight});\n\n &:before {\n --plasma_private-outline-radius: var(${tokens.groupBorderRadius});\n border-radius: var(${tokens.groupBorderRadius});\n }\n`;\n"],"names":["base"],"mappings":"AAIO,IAAMA,IAAI,GAQhB;;;;"}
1
+ {"version":3,"file":"base.js","sources":["../../../../../../../src/components/Segment/ui/SegmentGroup/variations/_size/base.ts"],"sourcesContent":["import { css } from '@linaria/core';\n\nimport { tokens } from '../../../../tokens';\n\nexport const base = css`\n width: var(${tokens.groupWidth});\n height: var(${tokens.groupHeight});\n\n --plasma_private-outline-radius: var(${tokens.groupBorderRadius});\n border-radius: var(${tokens.groupBorderRadius});\n`;\n"],"names":["base"],"mappings":"AAIO,IAAMA,IAAI,GAMhB;;;;"}
@@ -0,0 +1 @@
1
+ .b16s69xg{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);}
@@ -1,12 +1,10 @@
1
1
  .base_7kjuok_b1kyapt7__5060a19f{font-family:var(--plasma-segment-item-font-family);font-size:var(--plasma-segment-item-font-size);font-style:var(--plasma-segment-item-font-style);font-weight:var(--plasma-segment-item-font-weight);-webkit-letter-spacing:var(--plasma-segment-item-letter-spacing);-moz-letter-spacing:var(--plasma-segment-item-letter-spacing);-ms-letter-spacing:var(--plasma-segment-item-letter-spacing);letter-spacing:var(--plasma-segment-item-letter-spacing);line-height:var(--plasma-segment-item-lineheight);--plasma_private-outline-radius:var(--plasma-segment-item-border-radius);border-radius:var(--plasma-segment-item-border-radius);width:var(--plasma-segment-item-width);height:var(--plasma-segment-item-height);padding:var(--plasma-segment-item-padding);}
2
2
 
3
- .base_jww0qh_b1tykljf__a25b43c7{color:var(--plasma-segment-item-color);background-color:var(--plasma-segment-item-background-color);}.base_jww0qh_b1tykljf__a25b43c7:hover{color:var(--plasma-segment-item-color-hover);background-color:var(--plasma-segment-item-background-color-hover);}.base_jww0qh_b1tykljf__a25b43c7:hover .base_jww0qh_r1gg7fed__a25b43c7{color:var(--plasma-segment-item-additional-color-hover);}.base_jww0qh_b1tykljf__a25b43c7.base_jww0qh_selectedSegmentItem__a25b43c7{color:var(--plasma-segment-item-selected-color);background-color:var(--plasma-segment-item-selected-background-color);}.base_jww0qh_b1tykljf__a25b43c7.base_jww0qh_selectedSegmentItem__a25b43c7 .base_jww0qh_r1gg7fed__a25b43c7{color:var(--plasma-segment-item-selected-additional-color);}.base_jww0qh_b1tykljf__a25b43c7.base_jww0qh_selectedSegmentItem__a25b43c7:hover{color:var(--plasma-segment-item-selected-color-hover);background-color:var(--plasma-segment-item-selected-background-color-hover);}.base_jww0qh_b1tykljf__a25b43c7.base_jww0qh_selectedSegmentItem__a25b43c7:hover .base_jww0qh_r1gg7fed__a25b43c7{color:var(--plasma-segment-item-selected-additional-color-hover);}
3
+ .base_1m1u2ys_b1tykljf__1c5eb012{color:var(--plasma-segment-item-color);background-color:var(--plasma-segment-item-background-color);}.base_1m1u2ys_b1tykljf__1c5eb012:hover{color:var(--plasma-segment-item-color-hover);background-color:var(--plasma-segment-item-background-color-hover);}.base_1m1u2ys_b1tykljf__1c5eb012.base_1m1u2ys_selectedSegmentItem__1c5eb012{color:var(--plasma-segment-item-selected-color);background-color:var(--plasma-segment-item-selected-background-color);}.base_1m1u2ys_b1tykljf__1c5eb012.base_1m1u2ys_selectedSegmentItem__1c5eb012:hover{color:var(--plasma-segment-item-selected-color-hover);background-color:var(--plasma-segment-item-selected-background-color-hover);}
4
4
 
5
5
  .base_y6af8r_bwprat9__353907e1[disabled]{cursor:not-allowed;}.base_y6af8r_bwprat9__353907e1[disabled]:hover{color:var(--plasma-segment-item-color);background-color:var(--plasma-segment-item-background-color);}.base_y6af8r_bwprat9__353907e1[disabled].base_y6af8r_selectedSegmentItem__353907e1:hover{color:var(--plasma-segment-item-selected-color);background-color:var(--plasma-segment-item-selected-background-color);}
6
6
 
7
- .base_omc5u1_b795lc7__e9b122aa.base_omc5u1_segmentPilled__e9b122aa{--plasma_private-outline-radius:var(--plasma-segment-item-pilled-border-radius);border-radius:var(--plasma-segment-item-pilled-border-radius);padding:var(--plasma-segment-item-pilled-padding);}
7
+ .base_15s0fel_b795lc7__4501241a.base_15s0fel_segmentPilled__4501241a{--plasma_private-outline-radius:var(--plasma-segment-item-pilled-border-radius);border-radius:var(--plasma-segment-item-pilled-border-radius);}
8
8
 
9
- .SegmentItem_styles_1s77lh9_bxcdyja__b36be36d{position:relative;display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;box-sizing:border-box;min-width:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;outline:none;cursor:pointer;margin-left:var(--plasma-segment-item-margin-left);-webkit-tap-highlight-color:rgba(0,0,0,0);position:relative;}.SegmentItem_styles_1s77lh9_bxcdyja__b36be36d:first-child{margin-left:0;}.SegmentItem_styles_1s77lh9_bxcdyja__b36be36d::before{content:'';position:absolute;top:0.063rem;left:0.063rem;right:0.063rem;bottom:0.063rem;z-index:1;display:block;box-sizing:content-box;border:0.063rem solid transparent;border-radius:calc(var(--plasma_private-outline-radius) + 0.063rem);-webkit-transition:box-shadow 0.2s ease-in-out;transition:box-shadow 0.2s ease-in-out;pointer-events:none;}.SegmentItem_styles_1s77lh9_bxcdyja__b36be36d.SegmentItem_styles_1s77lh9_focusVisible__b36be36d:focus::before,.SegmentItem_styles_1s77lh9_bxcdyja__b36be36d[data-focus-visible-added]::before{z-index:1;outline:none;box-shadow:0 0 0 0.063rem var(--plasma-segment-outline-focus-color);}
10
- .SegmentItem_styles_1s77lh9_sxjfe87__b36be36d{display:inline-block;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;padding:var(--plasma-segment-item-content-padding);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-right:var(--sxjfe87-0);margin-left:var(--sxjfe87-1);}
11
- .SegmentItem_styles_1s77lh9_r1gg7fed__b36be36d{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;margin-left:var(--plasma-segment-item-content-icon-margin);overflow:hidden;color:var(--plasma-segment-item-additional-color);}
12
- .SegmentItem_styles_1s77lh9_lctm1j9__b36be36d{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;margin-right:var(--plasma-segment-item-content-icon-margin);color:inherit;}
9
+ .SegmentItem_styles_18h1p52_bxcdyja__b7ac762c{position:relative;display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;box-sizing:border-box;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;outline:none;cursor:pointer;margin-left:var(--plasma-segment-item-margin-left);-webkit-tap-highlight-color:rgba(0,0,0,0);position:relative;}.SegmentItem_styles_18h1p52_bxcdyja__b7ac762c:first-child{margin-left:0;}.SegmentItem_styles_18h1p52_bxcdyja__b7ac762c::before{content:'';position:absolute;top:-0.125rem;left:-0.125rem;right:-0.125rem;bottom:-0.125rem;z-index:1;display:block;box-sizing:content-box;border:0.063rem solid transparent;border-radius:calc(var(--plasma_private-outline-radius) + 0.063rem);-webkit-transition:box-shadow 0.2s ease-in-out;transition:box-shadow 0.2s ease-in-out;pointer-events:none;}.SegmentItem_styles_18h1p52_bxcdyja__b7ac762c.SegmentItem_styles_18h1p52_focusVisible__b7ac762c:focus::before,.SegmentItem_styles_18h1p52_bxcdyja__b7ac762c[data-focus-visible-added]::before{z-index:1;outline:none;box-shadow:0 0 0 0.063rem var(--plasma-segment-outline-focus-color);}
10
+ .SegmentItem_styles_18h1p52_sxjfe87__b7ac762c{display:inline-block;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
@@ -8,23 +8,19 @@ import { base as base$1 } from './variations/_size/base.js';
8
8
  import { base as base$2 } from './variations/_view/base.js';
9
9
  import { base as base$3 } from './variations/_disabled/base.js';
10
10
  import { base as base$4 } from './variations/_pilled/base.js';
11
- import { LeftContent, StyledContent, RightContent, base } from './SegmentItem.styles.js';
11
+ import { StyledContent, base } from './SegmentItem.styles.js';
12
12
  import { extractTextFrom } from '../../../../utils/extractTextFrom.js';
13
13
 
14
- var _excluded = ["size", "view", "id", "label", "value", "pilled", "contentLeft", "contentRight", "customHandleSelect", "skipSelection", "aria-label"];
14
+ var _excluded = ["size", "view", "id", "label", "value", "pilled", "customHandleSelect", "aria-label"];
15
15
  var segmentItemRoot = function segmentItemRoot(Root) {
16
16
  return /*#__PURE__*/forwardRef(function (props, outerRef) {
17
17
  var size = props.size,
18
- _props$view = props.view,
19
- view = _props$view === void 0 ? 'default' : _props$view,
18
+ view = props.view,
20
19
  id = props.id,
21
20
  label = props.label,
22
21
  value = props.value,
23
22
  pilled = props.pilled,
24
- contentLeft = props.contentLeft,
25
- contentRight = props.contentRight,
26
23
  customHandleSelect = props.customHandleSelect,
27
- skipSelection = props.skipSelection,
28
24
  ariaLabelExternal = props['aria-label'],
29
25
  rest = _objectWithoutProperties(props, _excluded);
30
26
  var _useSegmentInner = useSegmentInner(),
@@ -37,21 +33,17 @@ var segmentItemRoot = function segmentItemRoot(Root) {
37
33
  var ariaLabelDefault = useMemo(function () {
38
34
  return extractTextFrom(label);
39
35
  }, [label]);
40
- var pilledAttr = pilled;
36
+ var pilledAttr = view !== 'clear' && pilled;
41
37
  var pilledClass = pilledAttr ? classes.segmentPilled : undefined;
42
- var xsSize = size === 'xs' ? classes.segmentXsSize : undefined;
43
38
  var isSelected = selectedSegmentItems === null || selectedSegmentItems === void 0 ? void 0 : selectedSegmentItems.includes(value || ariaLabelDefault);
44
39
  var selectedClass = isSelected ? classes.selectedSegmentItem : undefined;
45
40
  var handleSelectSegment = useCallback(function (event) {
46
41
  if (disabledGroup) {
47
42
  return;
48
43
  }
49
- if (skipSelection) {
50
- return;
51
- }
52
44
  customHandleSelect === null || customHandleSelect === void 0 || customHandleSelect(event);
53
45
  handleSelect === null || handleSelect === void 0 || handleSelect(value || ariaLabelDefault);
54
- }, [selectionMode, disabledGroup, skipSelection]);
46
+ }, [selectionMode]);
55
47
  return /*#__PURE__*/React.createElement(Root, _extends({
56
48
  view: view,
57
49
  size: size,
@@ -60,11 +52,11 @@ var segmentItemRoot = function segmentItemRoot(Root) {
60
52
  "aria-label": ariaLabelExternal || ariaLabelDefault,
61
53
  value: value,
62
54
  pilled: pilledAttr,
63
- className: cx(selectedClass, pilledClass, xsSize),
55
+ className: cx(selectedClass, pilledClass),
64
56
  onClick: handleSelectSegment,
65
57
  tabIndex: disabledGroup ? -1 : 0,
66
58
  disabled: disabledGroup
67
- }, rest), contentLeft && /*#__PURE__*/React.createElement(LeftContent, null, contentLeft), /*#__PURE__*/React.createElement(StyledContent, null, label || value), contentRight && /*#__PURE__*/React.createElement(RightContent, null, contentRight));
59
+ }, rest), /*#__PURE__*/React.createElement(StyledContent, null, label || value));
68
60
  });
69
61
  };
70
62
  var segmentItemConfig = {
@@ -89,7 +81,7 @@ var segmentItemConfig = {
89
81
  }
90
82
  },
91
83
  defaults: {
92
- view: 'default',
84
+ view: 'clear',
93
85
  size: 'xs'
94
86
  }
95
87
  };