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

Sign up to get free protection for your applications and to get access to all the features.
Files changed (353) hide show
  1. package/cjs/components/Breadcrumbs/Breadcrumbs.styles.js +2 -2
  2. package/cjs/components/Breadcrumbs/Breadcrumbs.styles.js.map +1 -1
  3. package/cjs/components/Calendar/ui/CalendarHeader/CalendarHeader.js +5 -5
  4. package/cjs/components/Calendar/ui/CalendarHeader/CalendarHeader.js.map +1 -1
  5. package/cjs/components/Dropdown/ui/DropdownItem/DropdownItem.js +2 -2
  6. package/cjs/components/Dropdown/ui/DropdownItem/DropdownItem.js.map +1 -1
  7. package/cjs/components/Mask/Mask.js +46 -0
  8. package/cjs/components/Mask/Mask.js.map +1 -0
  9. package/cjs/components/Segment/tokens.js +1 -15
  10. package/cjs/components/Segment/tokens.js.map +1 -1
  11. package/cjs/components/Segment/ui/SegmentGroup/SegmentGroup.css +4 -10
  12. package/cjs/components/Segment/ui/SegmentGroup/SegmentGroup.js +86 -169
  13. package/cjs/components/Segment/ui/SegmentGroup/SegmentGroup.js.map +1 -1
  14. package/cjs/components/Segment/ui/SegmentGroup/SegmentGroup.styles.js +1 -37
  15. package/cjs/components/Segment/ui/SegmentGroup/SegmentGroup.styles.js.map +1 -1
  16. package/cjs/components/Segment/ui/SegmentGroup/SegmentGroup.styles_m9i9p0.css +4 -0
  17. package/cjs/components/Segment/ui/SegmentItem/SegmentItem.css +4 -8
  18. package/cjs/components/Segment/ui/SegmentItem/SegmentItem.js +4 -11
  19. package/cjs/components/Segment/ui/SegmentItem/SegmentItem.js.map +1 -1
  20. package/cjs/components/Segment/ui/SegmentItem/SegmentItem.styles.js +2 -31
  21. package/cjs/components/Segment/ui/SegmentItem/SegmentItem.styles.js.map +1 -1
  22. package/cjs/components/Segment/ui/SegmentItem/SegmentItem.styles_18h1p52.css +2 -0
  23. package/cjs/components/Segment/ui/SegmentItem/variations/_pilled/base.js +1 -1
  24. package/cjs/components/Segment/ui/SegmentItem/variations/_pilled/base.js.map +1 -1
  25. package/cjs/components/Segment/ui/SegmentItem/variations/_pilled/{base_omc5u1.css → base_15s0fel.css} +1 -1
  26. package/cjs/components/Segment/ui/SegmentItem/variations/_view/base.js +1 -1
  27. package/cjs/components/Segment/ui/SegmentItem/variations/_view/base.js.map +1 -1
  28. package/cjs/components/Segment/ui/SegmentItem/variations/_view/base_1m1u2ys.css +1 -0
  29. package/cjs/components/Tabs/ui/Tabs/Tabs.js +6 -6
  30. package/cjs/components/Tabs/ui/Tabs/Tabs.js.map +1 -1
  31. package/cjs/components/TextField/TextField.js +3 -1
  32. package/cjs/components/TextField/TextField.js.map +1 -1
  33. package/cjs/components/_Icon/Icon.assets/DisclosureLeft.js +4 -3
  34. package/cjs/components/_Icon/Icon.assets/DisclosureLeft.js.map +1 -1
  35. package/cjs/components/_Icon/Icon.assets/DisclosureRight.js +4 -3
  36. package/cjs/components/_Icon/Icon.assets/DisclosureRight.js.map +1 -1
  37. package/cjs/index.css +8 -18
  38. package/cjs/index.js +2 -0
  39. package/cjs/index.js.map +1 -1
  40. package/emotion/cjs/components/Breadcrumbs/Breadcrumbs.styles.js +4 -4
  41. package/emotion/cjs/components/Calendar/ui/CalendarHeader/CalendarHeader.js +2 -2
  42. package/emotion/cjs/components/Dropdown/ui/DropdownItem/DropdownItem.js +1 -1
  43. package/emotion/cjs/components/Mask/Mask.js +56 -0
  44. package/emotion/cjs/components/Mask/Mask.template-doc.mdx +125 -0
  45. package/emotion/cjs/components/Mask/Mask.types.js +5 -0
  46. package/emotion/cjs/components/Mask/index.js +12 -0
  47. package/emotion/cjs/components/Segment/tokens.js +1 -15
  48. package/emotion/cjs/components/Segment/ui/SegmentGroup/SegmentGroup.js +85 -165
  49. package/emotion/cjs/components/Segment/ui/SegmentGroup/SegmentGroup.styles.js +25 -25
  50. package/emotion/cjs/components/Segment/ui/SegmentItem/SegmentItem.js +4 -11
  51. package/emotion/cjs/components/Segment/ui/SegmentItem/SegmentItem.styles.js +6 -28
  52. package/emotion/cjs/components/Segment/ui/SegmentItem/variations/_pilled/base.js +1 -1
  53. package/emotion/cjs/components/Segment/ui/SegmentItem/variations/_view/base.js +1 -2
  54. package/emotion/cjs/components/Tabs/ui/Tabs/Tabs.js +4 -4
  55. package/emotion/cjs/components/TextField/TextField.js +4 -2
  56. package/emotion/cjs/components/_Icon/Icon.assets/DisclosureLeft.js +4 -3
  57. package/emotion/cjs/components/_Icon/Icon.assets/DisclosureRight.js +4 -3
  58. package/emotion/cjs/components/_Icon/index.js +0 -21
  59. package/emotion/cjs/examples/plasma_b2c/components/Editable/Editable.stories.tsx +2 -2
  60. package/emotion/cjs/examples/plasma_b2c/components/Mask/Mask.js +9 -0
  61. package/emotion/cjs/examples/plasma_b2c/components/Mask/Mask.stories.tsx +127 -0
  62. package/emotion/cjs/examples/plasma_b2c/components/Notification/Notification.stories.tsx +3 -6
  63. package/emotion/cjs/examples/plasma_b2c/components/Segment/Segment.stories.tsx +37 -265
  64. package/emotion/cjs/examples/plasma_b2c/components/Segment/SegmentGroup.config.js +10 -13
  65. package/emotion/cjs/examples/plasma_b2c/components/Segment/SegmentItem.config.js +9 -9
  66. package/emotion/cjs/examples/plasma_b2c/components/Tooltip/Tooltip.stories.tsx +2 -2
  67. package/emotion/cjs/examples/plasma_web/components/Editable/Editable.stories.tsx +2 -2
  68. package/emotion/cjs/examples/plasma_web/components/Mask/Mask.js +9 -0
  69. package/emotion/cjs/examples/plasma_web/components/Mask/Mask.stories.tsx +125 -0
  70. package/emotion/cjs/examples/plasma_web/components/Notification/Notification.stories.tsx +3 -6
  71. package/emotion/cjs/examples/plasma_web/components/Segment/Segment.stories.tsx +37 -266
  72. package/emotion/cjs/examples/plasma_web/components/Segment/SegmentGroup.config.js +9 -15
  73. package/emotion/cjs/examples/plasma_web/components/Segment/SegmentItem.config.js +9 -9
  74. package/emotion/cjs/examples/plasma_web/components/Tooltip/Tooltip.stories.tsx +2 -2
  75. package/emotion/cjs/index.js +11 -0
  76. package/emotion/es/components/Breadcrumbs/Breadcrumbs.styles.js +5 -5
  77. package/emotion/es/components/Calendar/ui/CalendarHeader/CalendarHeader.js +3 -3
  78. package/emotion/es/components/Dropdown/ui/DropdownItem/DropdownItem.js +2 -2
  79. package/emotion/es/components/Mask/Mask.js +46 -0
  80. package/emotion/es/components/Mask/Mask.template-doc.mdx +125 -0
  81. package/emotion/es/components/Mask/Mask.types.js +1 -0
  82. package/emotion/es/components/Mask/index.js +1 -0
  83. package/emotion/es/components/Segment/tokens.js +1 -15
  84. package/emotion/es/components/Segment/ui/SegmentGroup/SegmentGroup.js +88 -168
  85. package/emotion/es/components/Segment/ui/SegmentGroup/SegmentGroup.styles.js +25 -25
  86. package/emotion/es/components/Segment/ui/SegmentItem/SegmentItem.js +5 -12
  87. package/emotion/es/components/Segment/ui/SegmentItem/SegmentItem.styles.js +5 -27
  88. package/emotion/es/components/Segment/ui/SegmentItem/variations/_pilled/base.js +1 -1
  89. package/emotion/es/components/Segment/ui/SegmentItem/variations/_view/base.js +1 -2
  90. package/emotion/es/components/Tabs/ui/Tabs/Tabs.js +5 -5
  91. package/emotion/es/components/TextField/TextField.js +4 -2
  92. package/emotion/es/components/_Icon/Icon.assets/DisclosureLeft.js +4 -3
  93. package/emotion/es/components/_Icon/Icon.assets/DisclosureRight.js +4 -3
  94. package/emotion/es/components/_Icon/index.js +0 -3
  95. package/emotion/es/examples/plasma_b2c/components/Editable/Editable.stories.tsx +2 -2
  96. package/emotion/es/examples/plasma_b2c/components/Mask/Mask.js +3 -0
  97. package/emotion/es/examples/plasma_b2c/components/Mask/Mask.stories.tsx +127 -0
  98. package/emotion/es/examples/plasma_b2c/components/Notification/Notification.stories.tsx +3 -6
  99. package/emotion/es/examples/plasma_b2c/components/Segment/Segment.stories.tsx +37 -265
  100. package/emotion/es/examples/plasma_b2c/components/Segment/SegmentGroup.config.js +10 -13
  101. package/emotion/es/examples/plasma_b2c/components/Segment/SegmentItem.config.js +9 -9
  102. package/emotion/es/examples/plasma_b2c/components/Tooltip/Tooltip.stories.tsx +2 -2
  103. package/emotion/es/examples/plasma_web/components/Editable/Editable.stories.tsx +2 -2
  104. package/emotion/es/examples/plasma_web/components/Mask/Mask.js +3 -0
  105. package/emotion/es/examples/plasma_web/components/Mask/Mask.stories.tsx +125 -0
  106. package/emotion/es/examples/plasma_web/components/Notification/Notification.stories.tsx +3 -6
  107. package/emotion/es/examples/plasma_web/components/Segment/Segment.stories.tsx +37 -266
  108. package/emotion/es/examples/plasma_web/components/Segment/SegmentGroup.config.js +9 -15
  109. package/emotion/es/examples/plasma_web/components/Segment/SegmentItem.config.js +9 -9
  110. package/emotion/es/examples/plasma_web/components/Tooltip/Tooltip.stories.tsx +2 -2
  111. package/emotion/es/index.js +2 -1
  112. package/es/components/Breadcrumbs/Breadcrumbs.styles.js +2 -2
  113. package/es/components/Breadcrumbs/Breadcrumbs.styles.js.map +1 -1
  114. package/es/components/Calendar/ui/CalendarHeader/CalendarHeader.js +5 -5
  115. package/es/components/Calendar/ui/CalendarHeader/CalendarHeader.js.map +1 -1
  116. package/es/components/Dropdown/ui/DropdownItem/DropdownItem.js +2 -2
  117. package/es/components/Dropdown/ui/DropdownItem/DropdownItem.js.map +1 -1
  118. package/es/components/Mask/Mask.js +42 -0
  119. package/es/components/Mask/Mask.js.map +1 -0
  120. package/es/components/Segment/tokens.js +1 -15
  121. package/es/components/Segment/tokens.js.map +1 -1
  122. package/es/components/Segment/ui/SegmentGroup/SegmentGroup.css +4 -10
  123. package/es/components/Segment/ui/SegmentGroup/SegmentGroup.js +90 -172
  124. package/es/components/Segment/ui/SegmentGroup/SegmentGroup.js.map +1 -1
  125. package/es/components/Segment/ui/SegmentGroup/SegmentGroup.styles.js +2 -34
  126. package/es/components/Segment/ui/SegmentGroup/SegmentGroup.styles.js.map +1 -1
  127. package/es/components/Segment/ui/SegmentGroup/SegmentGroup.styles_m9i9p0.css +4 -0
  128. package/es/components/Segment/ui/SegmentItem/SegmentItem.css +4 -8
  129. package/es/components/Segment/ui/SegmentItem/SegmentItem.js +5 -12
  130. package/es/components/Segment/ui/SegmentItem/SegmentItem.js.map +1 -1
  131. package/es/components/Segment/ui/SegmentItem/SegmentItem.styles.js +3 -30
  132. package/es/components/Segment/ui/SegmentItem/SegmentItem.styles.js.map +1 -1
  133. package/es/components/Segment/ui/SegmentItem/SegmentItem.styles_18h1p52.css +2 -0
  134. package/es/components/Segment/ui/SegmentItem/variations/_pilled/base.js +1 -1
  135. package/es/components/Segment/ui/SegmentItem/variations/_pilled/base.js.map +1 -1
  136. package/es/components/Segment/ui/SegmentItem/variations/_pilled/{base_omc5u1.css → base_15s0fel.css} +1 -1
  137. package/es/components/Segment/ui/SegmentItem/variations/_view/base.js +1 -1
  138. package/es/components/Segment/ui/SegmentItem/variations/_view/base.js.map +1 -1
  139. package/es/components/Segment/ui/SegmentItem/variations/_view/base_1m1u2ys.css +1 -0
  140. package/es/components/Tabs/ui/Tabs/Tabs.js +6 -6
  141. package/es/components/Tabs/ui/Tabs/Tabs.js.map +1 -1
  142. package/es/components/TextField/TextField.js +3 -1
  143. package/es/components/TextField/TextField.js.map +1 -1
  144. package/es/components/_Icon/Icon.assets/DisclosureLeft.js +4 -3
  145. package/es/components/_Icon/Icon.assets/DisclosureLeft.js.map +1 -1
  146. package/es/components/_Icon/Icon.assets/DisclosureRight.js +4 -3
  147. package/es/components/_Icon/Icon.assets/DisclosureRight.js.map +1 -1
  148. package/es/index.css +8 -18
  149. package/es/index.js +1 -0
  150. package/es/index.js.map +1 -1
  151. package/package.json +6 -4
  152. package/styled-components/cjs/components/Breadcrumbs/Breadcrumbs.styles.js +1 -1
  153. package/styled-components/cjs/components/Calendar/ui/CalendarHeader/CalendarHeader.js +2 -2
  154. package/styled-components/cjs/components/Dropdown/ui/DropdownItem/DropdownItem.js +1 -1
  155. package/styled-components/cjs/components/Mask/Mask.js +56 -0
  156. package/styled-components/cjs/components/Mask/Mask.template-doc.mdx +125 -0
  157. package/styled-components/cjs/components/Mask/Mask.types.js +5 -0
  158. package/styled-components/cjs/components/Mask/index.js +12 -0
  159. package/styled-components/cjs/components/Segment/tokens.js +1 -15
  160. package/styled-components/cjs/components/Segment/ui/SegmentGroup/SegmentGroup.js +85 -165
  161. package/styled-components/cjs/components/Segment/ui/SegmentGroup/SegmentGroup.styles.js +5 -17
  162. package/styled-components/cjs/components/Segment/ui/SegmentItem/SegmentItem.js +4 -11
  163. package/styled-components/cjs/components/Segment/ui/SegmentItem/SegmentItem.styles.js +5 -23
  164. package/styled-components/cjs/components/Segment/ui/SegmentItem/variations/_pilled/base.js +1 -1
  165. package/styled-components/cjs/components/Segment/ui/SegmentItem/variations/_view/base.js +1 -2
  166. package/styled-components/cjs/components/Tabs/ui/Tabs/Tabs.js +4 -4
  167. package/styled-components/cjs/components/TextField/TextField.js +3 -1
  168. package/styled-components/cjs/components/_Icon/Icon.assets/DisclosureLeft.js +4 -3
  169. package/styled-components/cjs/components/_Icon/Icon.assets/DisclosureRight.js +4 -3
  170. package/styled-components/cjs/components/_Icon/index.js +0 -21
  171. package/styled-components/cjs/examples/plasma_b2c/components/Editable/Editable.stories.tsx +2 -2
  172. package/styled-components/cjs/examples/plasma_b2c/components/Mask/Mask.js +9 -0
  173. package/styled-components/cjs/examples/plasma_b2c/components/Mask/Mask.stories.tsx +127 -0
  174. package/styled-components/cjs/examples/plasma_b2c/components/Notification/Notification.stories.tsx +3 -6
  175. package/styled-components/cjs/examples/plasma_b2c/components/Segment/Segment.stories.tsx +37 -265
  176. package/styled-components/cjs/examples/plasma_b2c/components/Segment/SegmentGroup.config.js +5 -8
  177. package/styled-components/cjs/examples/plasma_b2c/components/Segment/SegmentItem.config.js +8 -8
  178. package/styled-components/cjs/examples/plasma_b2c/components/Tooltip/Tooltip.stories.tsx +2 -2
  179. package/styled-components/cjs/examples/plasma_web/components/Editable/Editable.stories.tsx +2 -2
  180. package/styled-components/cjs/examples/plasma_web/components/Mask/Mask.js +9 -0
  181. package/styled-components/cjs/examples/plasma_web/components/Mask/Mask.stories.tsx +125 -0
  182. package/styled-components/cjs/examples/plasma_web/components/Notification/Notification.stories.tsx +3 -6
  183. package/styled-components/cjs/examples/plasma_web/components/Segment/Segment.stories.tsx +37 -266
  184. package/styled-components/cjs/examples/plasma_web/components/Segment/SegmentGroup.config.js +5 -11
  185. package/styled-components/cjs/examples/plasma_web/components/Segment/SegmentItem.config.js +8 -8
  186. package/styled-components/cjs/examples/plasma_web/components/Tooltip/Tooltip.stories.tsx +2 -2
  187. package/styled-components/cjs/index.js +11 -0
  188. package/styled-components/es/components/Breadcrumbs/Breadcrumbs.styles.js +2 -2
  189. package/styled-components/es/components/Calendar/ui/CalendarHeader/CalendarHeader.js +3 -3
  190. package/styled-components/es/components/Dropdown/ui/DropdownItem/DropdownItem.js +2 -2
  191. package/styled-components/es/components/Mask/Mask.js +46 -0
  192. package/styled-components/es/components/Mask/Mask.template-doc.mdx +125 -0
  193. package/styled-components/es/components/Mask/Mask.types.js +1 -0
  194. package/styled-components/es/components/Mask/index.js +1 -0
  195. package/styled-components/es/components/Segment/tokens.js +1 -15
  196. package/styled-components/es/components/Segment/ui/SegmentGroup/SegmentGroup.js +88 -168
  197. package/styled-components/es/components/Segment/ui/SegmentGroup/SegmentGroup.styles.js +5 -17
  198. package/styled-components/es/components/Segment/ui/SegmentItem/SegmentItem.js +5 -12
  199. package/styled-components/es/components/Segment/ui/SegmentItem/SegmentItem.styles.js +4 -22
  200. package/styled-components/es/components/Segment/ui/SegmentItem/variations/_pilled/base.js +1 -1
  201. package/styled-components/es/components/Segment/ui/SegmentItem/variations/_view/base.js +1 -2
  202. package/styled-components/es/components/Tabs/ui/Tabs/Tabs.js +5 -5
  203. package/styled-components/es/components/TextField/TextField.js +3 -1
  204. package/styled-components/es/components/_Icon/Icon.assets/DisclosureLeft.js +4 -3
  205. package/styled-components/es/components/_Icon/Icon.assets/DisclosureRight.js +4 -3
  206. package/styled-components/es/components/_Icon/index.js +0 -3
  207. package/styled-components/es/examples/plasma_b2c/components/Editable/Editable.stories.tsx +2 -2
  208. package/styled-components/es/examples/plasma_b2c/components/Mask/Mask.js +3 -0
  209. package/styled-components/es/examples/plasma_b2c/components/Mask/Mask.stories.tsx +127 -0
  210. package/styled-components/es/examples/plasma_b2c/components/Notification/Notification.stories.tsx +3 -6
  211. package/styled-components/es/examples/plasma_b2c/components/Segment/Segment.stories.tsx +37 -265
  212. package/styled-components/es/examples/plasma_b2c/components/Segment/SegmentGroup.config.js +5 -8
  213. package/styled-components/es/examples/plasma_b2c/components/Segment/SegmentItem.config.js +8 -8
  214. package/styled-components/es/examples/plasma_b2c/components/Tooltip/Tooltip.stories.tsx +2 -2
  215. package/styled-components/es/examples/plasma_web/components/Editable/Editable.stories.tsx +2 -2
  216. package/styled-components/es/examples/plasma_web/components/Mask/Mask.js +3 -0
  217. package/styled-components/es/examples/plasma_web/components/Mask/Mask.stories.tsx +125 -0
  218. package/styled-components/es/examples/plasma_web/components/Notification/Notification.stories.tsx +3 -6
  219. package/styled-components/es/examples/plasma_web/components/Segment/Segment.stories.tsx +37 -266
  220. package/styled-components/es/examples/plasma_web/components/Segment/SegmentGroup.config.js +5 -11
  221. package/styled-components/es/examples/plasma_web/components/Segment/SegmentItem.config.js +8 -8
  222. package/styled-components/es/examples/plasma_web/components/Tooltip/Tooltip.stories.tsx +2 -2
  223. package/styled-components/es/index.js +2 -1
  224. package/types/components/Mask/Mask.d.ts +5 -0
  225. package/types/components/Mask/Mask.d.ts.map +1 -0
  226. package/types/components/Mask/Mask.types.d.ts +62 -0
  227. package/types/components/Mask/Mask.types.d.ts.map +1 -0
  228. package/types/components/Mask/index.d.ts +2 -0
  229. package/types/components/Mask/index.d.ts.map +1 -0
  230. package/types/components/Segment/tokens.d.ts +0 -14
  231. package/types/components/Segment/tokens.d.ts.map +1 -1
  232. package/types/components/Segment/ui/SegmentGroup/SegmentGroup.d.ts +0 -10
  233. package/types/components/Segment/ui/SegmentGroup/SegmentGroup.d.ts.map +1 -1
  234. package/types/components/Segment/ui/SegmentGroup/SegmentGroup.styles.d.ts +0 -12
  235. package/types/components/Segment/ui/SegmentGroup/SegmentGroup.styles.d.ts.map +1 -1
  236. package/types/components/Segment/ui/SegmentGroup/SegmentGroup.types.d.ts +1 -19
  237. package/types/components/Segment/ui/SegmentGroup/SegmentGroup.types.d.ts.map +1 -1
  238. package/types/components/Segment/ui/SegmentItem/SegmentItem.d.ts +0 -6
  239. package/types/components/Segment/ui/SegmentItem/SegmentItem.d.ts.map +1 -1
  240. package/types/components/Segment/ui/SegmentItem/SegmentItem.styles.d.ts +1 -9
  241. package/types/components/Segment/ui/SegmentItem/SegmentItem.styles.d.ts.map +1 -1
  242. package/types/components/Segment/ui/SegmentItem/SegmentItem.types.d.ts +0 -12
  243. package/types/components/Segment/ui/SegmentItem/SegmentItem.types.d.ts.map +1 -1
  244. package/types/components/Segment/ui/SegmentItem/variations/_pilled/base.d.ts.map +1 -1
  245. package/types/components/Segment/ui/SegmentItem/variations/_view/base.d.ts.map +1 -1
  246. package/types/components/Tabs/ui/Tabs/Tabs.d.ts.map +1 -1
  247. package/types/components/TextField/TextField.d.ts.map +1 -1
  248. package/types/components/_Icon/Icon.assets/DisclosureLeft.d.ts.map +1 -1
  249. package/types/components/_Icon/Icon.assets/DisclosureRight.d.ts.map +1 -1
  250. package/types/components/_Icon/index.d.ts +0 -3
  251. package/types/components/_Icon/index.d.ts.map +1 -1
  252. package/types/examples/plasma_b2c/components/Mask/Mask.d.ts +191 -0
  253. package/types/examples/plasma_b2c/components/Mask/Mask.d.ts.map +1 -0
  254. package/types/examples/plasma_b2c/components/Segment/Segment.d.ts +0 -9
  255. package/types/examples/plasma_b2c/components/Segment/Segment.d.ts.map +1 -1
  256. package/types/examples/plasma_b2c/components/Segment/SegmentGroup.config.d.ts +0 -3
  257. package/types/examples/plasma_b2c/components/Segment/SegmentGroup.config.d.ts.map +1 -1
  258. package/types/examples/plasma_b2c/components/Segment/SegmentItem.config.d.ts.map +1 -1
  259. package/types/examples/plasma_web/components/Mask/Mask.d.ts +191 -0
  260. package/types/examples/plasma_web/components/Mask/Mask.d.ts.map +1 -0
  261. package/types/examples/plasma_web/components/Segment/Segment.d.ts +0 -12
  262. package/types/examples/plasma_web/components/Segment/Segment.d.ts.map +1 -1
  263. package/types/examples/plasma_web/components/Segment/SegmentGroup.config.d.ts +0 -6
  264. package/types/examples/plasma_web/components/Segment/SegmentGroup.config.d.ts.map +1 -1
  265. package/types/examples/plasma_web/components/Segment/SegmentItem.config.d.ts.map +1 -1
  266. package/types/index.d.ts +1 -0
  267. package/types/index.d.ts.map +1 -1
  268. package/cjs/components/Segment/ui/SegmentGroup/SegmentGroup.styles_u742r1.css +0 -8
  269. package/cjs/components/Segment/ui/SegmentGroup/variations/_orientation/base.js +0 -9
  270. package/cjs/components/Segment/ui/SegmentGroup/variations/_orientation/base.js.map +0 -1
  271. package/cjs/components/Segment/ui/SegmentGroup/variations/_orientation/base_1ejecy9.css +0 -1
  272. package/cjs/components/Segment/ui/SegmentItem/SegmentItem.styles_f1jpip.css +0 -6
  273. package/cjs/components/Segment/ui/SegmentItem/variations/_view/base_168a47w.css +0 -1
  274. package/cjs/components/_Icon/Icon.assets/DisclosureDown.js +0 -22
  275. package/cjs/components/_Icon/Icon.assets/DisclosureDown.js.map +0 -1
  276. package/cjs/components/_Icon/Icon.assets/DisclosureLeftCentered.js +0 -23
  277. package/cjs/components/_Icon/Icon.assets/DisclosureLeftCentered.js.map +0 -1
  278. package/cjs/components/_Icon/Icon.assets/DisclosureUp.js +0 -22
  279. package/cjs/components/_Icon/Icon.assets/DisclosureUp.js.map +0 -1
  280. package/cjs/components/_Icon/Icons/IconDisclosureDown.js +0 -23
  281. package/cjs/components/_Icon/Icons/IconDisclosureDown.js.map +0 -1
  282. package/cjs/components/_Icon/Icons/IconDisclosureLeftCentered.js +0 -23
  283. package/cjs/components/_Icon/Icons/IconDisclosureLeftCentered.js.map +0 -1
  284. package/cjs/components/_Icon/Icons/IconDisclosureUp.js +0 -23
  285. package/cjs/components/_Icon/Icons/IconDisclosureUp.js.map +0 -1
  286. package/emotion/cjs/components/Segment/README.md +0 -61
  287. package/emotion/cjs/components/Segment/ui/SegmentGroup/variations/_orientation/base.js +0 -10
  288. package/emotion/cjs/components/Segment/ui/SegmentGroup/variations/_orientation/tokens.json +0 -1
  289. package/emotion/cjs/components/_Icon/Icon.assets/DisclosureDown.js +0 -21
  290. package/emotion/cjs/components/_Icon/Icon.assets/DisclosureLeftCentered.js +0 -22
  291. package/emotion/cjs/components/_Icon/Icon.assets/DisclosureUp.js +0 -21
  292. package/emotion/cjs/components/_Icon/Icons/IconDisclosureDown.js +0 -22
  293. package/emotion/cjs/components/_Icon/Icons/IconDisclosureLeftCentered.js +0 -22
  294. package/emotion/cjs/components/_Icon/Icons/IconDisclosureUp.js +0 -22
  295. package/emotion/es/components/Segment/README.md +0 -61
  296. package/emotion/es/components/Segment/ui/SegmentGroup/variations/_orientation/base.js +0 -4
  297. package/emotion/es/components/Segment/ui/SegmentGroup/variations/_orientation/tokens.json +0 -1
  298. package/emotion/es/components/_Icon/Icon.assets/DisclosureDown.js +0 -14
  299. package/emotion/es/components/_Icon/Icon.assets/DisclosureLeftCentered.js +0 -15
  300. package/emotion/es/components/_Icon/Icon.assets/DisclosureUp.js +0 -14
  301. package/emotion/es/components/_Icon/Icons/IconDisclosureDown.js +0 -15
  302. package/emotion/es/components/_Icon/Icons/IconDisclosureLeftCentered.js +0 -15
  303. package/emotion/es/components/_Icon/Icons/IconDisclosureUp.js +0 -15
  304. package/es/components/Segment/ui/SegmentGroup/SegmentGroup.styles_u742r1.css +0 -8
  305. package/es/components/Segment/ui/SegmentGroup/variations/_orientation/base.js +0 -5
  306. package/es/components/Segment/ui/SegmentGroup/variations/_orientation/base.js.map +0 -1
  307. package/es/components/Segment/ui/SegmentGroup/variations/_orientation/base_1ejecy9.css +0 -1
  308. package/es/components/Segment/ui/SegmentItem/SegmentItem.styles_f1jpip.css +0 -6
  309. package/es/components/Segment/ui/SegmentItem/variations/_view/base_168a47w.css +0 -1
  310. package/es/components/_Icon/Icon.assets/DisclosureDown.js +0 -18
  311. package/es/components/_Icon/Icon.assets/DisclosureDown.js.map +0 -1
  312. package/es/components/_Icon/Icon.assets/DisclosureLeftCentered.js +0 -19
  313. package/es/components/_Icon/Icon.assets/DisclosureLeftCentered.js.map +0 -1
  314. package/es/components/_Icon/Icon.assets/DisclosureUp.js +0 -18
  315. package/es/components/_Icon/Icon.assets/DisclosureUp.js.map +0 -1
  316. package/es/components/_Icon/Icons/IconDisclosureDown.js +0 -19
  317. package/es/components/_Icon/Icons/IconDisclosureDown.js.map +0 -1
  318. package/es/components/_Icon/Icons/IconDisclosureLeftCentered.js +0 -19
  319. package/es/components/_Icon/Icons/IconDisclosureLeftCentered.js.map +0 -1
  320. package/es/components/_Icon/Icons/IconDisclosureUp.js +0 -19
  321. package/es/components/_Icon/Icons/IconDisclosureUp.js.map +0 -1
  322. package/styled-components/cjs/components/Segment/README.md +0 -61
  323. package/styled-components/cjs/components/Segment/ui/SegmentGroup/variations/_orientation/base.js +0 -10
  324. package/styled-components/cjs/components/Segment/ui/SegmentGroup/variations/_orientation/tokens.json +0 -1
  325. package/styled-components/cjs/components/_Icon/Icon.assets/DisclosureDown.js +0 -21
  326. package/styled-components/cjs/components/_Icon/Icon.assets/DisclosureLeftCentered.js +0 -22
  327. package/styled-components/cjs/components/_Icon/Icon.assets/DisclosureUp.js +0 -21
  328. package/styled-components/cjs/components/_Icon/Icons/IconDisclosureDown.js +0 -22
  329. package/styled-components/cjs/components/_Icon/Icons/IconDisclosureLeftCentered.js +0 -22
  330. package/styled-components/cjs/components/_Icon/Icons/IconDisclosureUp.js +0 -22
  331. package/styled-components/es/components/Segment/README.md +0 -61
  332. package/styled-components/es/components/Segment/ui/SegmentGroup/variations/_orientation/base.js +0 -4
  333. package/styled-components/es/components/Segment/ui/SegmentGroup/variations/_orientation/tokens.json +0 -1
  334. package/styled-components/es/components/_Icon/Icon.assets/DisclosureDown.js +0 -14
  335. package/styled-components/es/components/_Icon/Icon.assets/DisclosureLeftCentered.js +0 -15
  336. package/styled-components/es/components/_Icon/Icon.assets/DisclosureUp.js +0 -14
  337. package/styled-components/es/components/_Icon/Icons/IconDisclosureDown.js +0 -15
  338. package/styled-components/es/components/_Icon/Icons/IconDisclosureLeftCentered.js +0 -15
  339. package/styled-components/es/components/_Icon/Icons/IconDisclosureUp.js +0 -15
  340. package/types/components/Segment/ui/SegmentGroup/variations/_orientation/base.d.ts +0 -2
  341. package/types/components/Segment/ui/SegmentGroup/variations/_orientation/base.d.ts.map +0 -1
  342. package/types/components/_Icon/Icon.assets/DisclosureDown.d.ts +0 -4
  343. package/types/components/_Icon/Icon.assets/DisclosureDown.d.ts.map +0 -1
  344. package/types/components/_Icon/Icon.assets/DisclosureLeftCentered.d.ts +0 -4
  345. package/types/components/_Icon/Icon.assets/DisclosureLeftCentered.d.ts.map +0 -1
  346. package/types/components/_Icon/Icon.assets/DisclosureUp.d.ts +0 -4
  347. package/types/components/_Icon/Icon.assets/DisclosureUp.d.ts.map +0 -1
  348. package/types/components/_Icon/Icons/IconDisclosureDown.d.ts +0 -4
  349. package/types/components/_Icon/Icons/IconDisclosureDown.d.ts.map +0 -1
  350. package/types/components/_Icon/Icons/IconDisclosureLeftCentered.d.ts +0 -4
  351. package/types/components/_Icon/Icons/IconDisclosureLeftCentered.d.ts.map +0 -1
  352. package/types/components/_Icon/Icons/IconDisclosureUp.d.ts +0 -4
  353. package/types/components/_Icon/Icons/IconDisclosureUp.d.ts.map +0 -1
@@ -1,7 +1,7 @@
1
1
  import React, { useEffect, useRef } from 'react';
2
2
  import { classes } from '../../Dropdown.tokens';
3
3
  import { cx } from '../../../../utils';
4
- import { IconDisclosureRightCentered } from '../../../_Icon';
4
+ import { IconDisclosureRight } from '../../../_Icon';
5
5
  import { StyledContentLeft, StyledContentRight, StyledText, Wrapper, DisclosureIconWrapper } from './DropdownItem.styles';
6
6
  export var DropdownItem = function DropdownItem(_ref) {
7
7
  var item = _ref.item,
@@ -76,7 +76,7 @@ export var DropdownItem = function DropdownItem(_ref) {
76
76
  "aria-haspopup": ariaHasPopup,
77
77
  "aria-level": ariaLevel,
78
78
  "aria-label": ariaLabel
79
- }, contentLeft && /*#__PURE__*/React.createElement(StyledContentLeft, null, contentLeft), /*#__PURE__*/React.createElement(StyledText, null, label), contentRight && /*#__PURE__*/React.createElement(StyledContentRight, null, contentRight), item.items && hasArrow && /*#__PURE__*/React.createElement(DisclosureIconWrapper, null, /*#__PURE__*/React.createElement(IconDisclosureRightCentered, {
79
+ }, contentLeft && /*#__PURE__*/React.createElement(StyledContentLeft, null, contentLeft), /*#__PURE__*/React.createElement(StyledText, null, label), contentRight && /*#__PURE__*/React.createElement(StyledContentRight, null, contentRight), item.items && hasArrow && /*#__PURE__*/React.createElement(DisclosureIconWrapper, null, /*#__PURE__*/React.createElement(IconDisclosureRight, {
80
80
  size: disclosureIconSize,
81
81
  color: "inherit"
82
82
  })));
@@ -0,0 +1,46 @@
1
+ var _excluded = ["maskFormat"];
2
+ function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
3
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
4
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
5
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
6
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
7
+ function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
8
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
9
+ function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
10
+ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
11
+ import React, { forwardRef, useImperativeHandle, useState } from 'react';
12
+ import maskInputCompose from '@salutejs/react-maskinput';
13
+ var defaultFormatChars = [{
14
+ str: '0',
15
+ regexp: /[0-9]/
16
+ }, {
17
+ str: '*',
18
+ regexp: /./
19
+ }, {
20
+ str: 'a',
21
+ regexp: /[a-zA-Z]/
22
+ }, {
23
+ str: 'я',
24
+ regexp: /[а-яА-ЯёЁ]/
25
+ }];
26
+ export var composeMask = function composeMask(InputComponent) {
27
+ var MaskedInput = maskInputCompose(InputComponent);
28
+ return /*#__PURE__*/forwardRef(function (_ref, outerRef) {
29
+ var _ref$maskFormat = _ref.maskFormat,
30
+ maskFormat = _ref$maskFormat === void 0 ? defaultFormatChars : _ref$maskFormat,
31
+ rest = _objectWithoutProperties(_ref, _excluded);
32
+ var _useState = useState(null),
33
+ _useState2 = _slicedToArray(_useState, 2),
34
+ ref = _useState2[0],
35
+ setRef = _useState2[1];
36
+ useImperativeHandle(outerRef, function () {
37
+ return ref;
38
+ }, [ref]);
39
+ return /*#__PURE__*/React.createElement(MaskedInput, _extends({
40
+ getReference: function getReference(el) {
41
+ return setRef(el);
42
+ },
43
+ maskFormat: maskFormat
44
+ }, rest));
45
+ });
46
+ };
@@ -0,0 +1,125 @@
1
+ ---
2
+ id: mask
3
+ title: Mask
4
+ ---
5
+
6
+ import { PropsTable, Description } from '@site/src/components';
7
+
8
+ import Tabs from '@theme/Tabs';
9
+ import TabItem from '@theme/TabItem';
10
+
11
+ # Mask
12
+ <Description name="Mask" />
13
+ <PropsTable name="Mask" exclude={['css']} />
14
+
15
+ ## Использование
16
+ Компонент `Mask` представляет собой поле ввода с возможностью маскирования значения.
17
+ Он реализован на компоненте [TextField](https://plasma.sberdevices.ru/b2c/components/textfield/)
18
+ и наследует практически все его свойства (`size`, `view`, `disabled`, `label` и тд.)
19
+
20
+ ```tsx live
21
+ import React from 'react';
22
+ import { Mask } from '@salutejs/{{ package }}';
23
+ import { IconDone } from '@salutejs/plasma-icons';
24
+
25
+ export function App() {
26
+ return (
27
+ <div>
28
+ <Mask
29
+ label="Лейбл"
30
+ leftHelper="Подсказка к полю"
31
+ placeholder="Введите дату"
32
+ mask="00/00/0000"
33
+ maskString="DD/MM/YYYY"
34
+ size="l"
35
+ />
36
+ </div>
37
+ );
38
+ }
39
+ ```
40
+
41
+ ### Маска
42
+ Маска задается с помощью свойства `mask`.
43
+ Поддерживает следующие символы:
44
+
45
+ | Обозначение | Описание |
46
+ |-------------|---------------------------------------|
47
+ | 0 | любая цифра от 0 до 9 |
48
+ | a (англ.) | A-Z, a-z |
49
+ | я | А-Я, а-я, ё, Ё |
50
+ | q | буква "q" |
51
+ | 2 | цифра "2" |
52
+ | * | любой символ |
53
+ | \ | символ экранирования "\a" - буква "a" |
54
+
55
+
56
+ <Tabs>
57
+ <TabItem value="phone" label="Маска телефона">
58
+ Пример маски для ввода телефона
59
+
60
+ ```tsx live
61
+ import React from 'react';
62
+ import { Mask } from '@salutejs/{{ package }}';
63
+
64
+ export function App() {
65
+ return (
66
+ <div>
67
+ <Mask
68
+ label="Маска телефона"
69
+ placeholder="Введите телефон"
70
+ mask="+7 (000) 000 - 00 - 00"
71
+ maskChar="_"
72
+ size="l"
73
+ alwaysShowMask
74
+ />
75
+ </div>
76
+ );
77
+ }
78
+ ```
79
+ </TabItem>
80
+ <TabItem value="date" label="Маска даты">
81
+ Пример маски для ввода даты
82
+
83
+ ```tsx live
84
+ import React from 'react';
85
+ import { Mask } from '@salutejs/{{ package }}';
86
+
87
+ export function App() {
88
+ return (
89
+ <div>
90
+ <Mask
91
+ label="Маска даты"
92
+ placeholder="Введите дату"
93
+ mask="00/00/0000"
94
+ maskString="DD/MM/YYYY"
95
+ size="l"
96
+ />
97
+ </div>
98
+ );
99
+ }
100
+ ```
101
+ </TabItem>
102
+ <TabItem value="time" label="Маска времени">
103
+ Пример маски для ввода даты
104
+
105
+ ```tsx live
106
+ import React from 'react';
107
+ import { Mask } from '@salutejs/{{ package }}';
108
+
109
+ export function App() {
110
+ return (
111
+ <div>
112
+ <Mask
113
+ label="Маска времени"
114
+ placeholder="Введите время"
115
+ mask="1\0:00"
116
+ maskChar="_"
117
+ size="l"
118
+ showPrefix
119
+ />
120
+ </div>
121
+ );
122
+ }
123
+ ```
124
+ </TabItem>
125
+ </Tabs>
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export { composeMask } from './Mask';
@@ -2,12 +2,7 @@ export var classes = {
2
2
  selectedSegmentItem: 'selected-segment-item',
3
3
  segmentPilled: 'segment-pilled',
4
4
  segmentGroupFilledBackground: 'segment-group-filled-background',
5
- segmentStretch: 'segment-stretched',
6
- segmentVertical: 'segment-vertical',
7
- segmentArrowPadding: 'segment-arrow-padding',
8
- segmentGroupClipScroll: 'segment-group-clip-scroll',
9
- segmentGroupClipShowAll: 'segment-group-clip-show-all',
10
- segmentXsSize: 'segment-xs-size'
5
+ segmentStretch: 'segment-stretched'
11
6
  };
12
7
  export var tokens = {
13
8
  fontFamily: '--plasma-segment-item-font-family',
@@ -22,8 +17,6 @@ export var tokens = {
22
17
  groupPilledBorderRadius: '--plasma-segment-group-pilled-border-radius',
23
18
  groupWidth: '--plasma-segment-group-width',
24
19
  groupHeight: '--plasma-segment-group-height',
25
- groupArrowPadding: '--plasma-segment-group-arrow-padding',
26
- groupVerticalArrowPadding: '--plasma-segment-group-vertical-arrow-padding',
27
20
  groupBackgroundColor: '--plasma-segment-group-background-color',
28
21
  groupFilledBackgroundColor: '--plasma-segment-group-filled-background-color',
29
22
  itemBorderRadius: '--plasma-segment-item-border-radius',
@@ -31,21 +24,14 @@ export var tokens = {
31
24
  itemWidth: '--plasma-segment-item-width',
32
25
  itemHeight: '--plasma-segment-item-height',
33
26
  itemPadding: '--plasma-segment-item-padding',
34
- itemPilledPadding: '--plasma-segment-item-pilled-padding',
35
27
  itemMarginLeft: '--plasma-segment-item-margin-left',
36
- itemContentPadding: '--plasma-segment-item-content-padding',
37
- itemIconMargin: '--plasma-segment-item-content-icon-margin',
38
28
  itemColor: '--plasma-segment-item-color',
39
29
  itemBackgroundColor: '--plasma-segment-item-background-color',
40
30
  itemColorHover: '--plasma-segment-item-color-hover',
41
31
  itemBackgroundColorHover: '--plasma-segment-item-background-color-hover',
42
- itemAdditionalColor: '--plasma-segment-item-additional-color',
43
- itemAdditionalColorHover: '--plasma-segment-item-additional-color-hover',
44
32
  itemSelectedColor: '--plasma-segment-item-selected-color',
45
33
  itemSelectedBackgroundColor: '--plasma-segment-item-selected-background-color',
46
34
  itemSelectedColorHover: '--plasma-segment-item-selected-color-hover',
47
35
  itemSelectedBackgroundColorHover: '--plasma-segment-item-selected-background-color-hover',
48
- itemSelectedAdditionalColor: '--plasma-segment-item-selected-additional-color',
49
- itemSelectedAdditionalColorHover: '--plasma-segment-item-selected-additional-color-hover',
50
36
  disabledOpacity: '--plasma-segment-disabled-opacity'
51
37
  };
@@ -1,4 +1,4 @@
1
- var _excluded = ["id", "selectionMode", "pilled", "stretch", "clip", "orientation", "filledBackground", "hasBackground", "disabled", "size", "view", "children"];
1
+ var _excluded = ["id", "selectionMode", "pilled", "stretch", "filledBackground", "disabled", "size", "view", "children"];
2
2
  function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
3
3
  function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
4
4
  function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
@@ -8,9 +8,9 @@ function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" !=
8
8
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
9
9
  function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
10
10
  function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
11
- import React, { forwardRef, useCallback, useMemo, useState, useEffect, useRef } from 'react';
12
- import { safeUseId } from '@salutejs/plasma-core';
13
- import { IconDisclosureLeft, IconDisclosureRight, IconDisclosureDown, IconDisclosureUp } from '../../../_Icon';
11
+ import React, { forwardRef, useCallback, useMemo, useState, Children, useEffect } from 'react';
12
+ import { safeUseId, useCarousel } from '@salutejs/plasma-core';
13
+ import { IconDisclosureLeft, IconDisclosureRight } from '../../../_Icon';
14
14
  import { classes, tokens } from '../../tokens';
15
15
  import { cx } from '../../../../utils';
16
16
  import { useSegmentInner } from '../../SegmentProvider/SegmentProvider';
@@ -20,224 +20,147 @@ import { base as disabledCSS } from './variations/_disabled/base';
20
20
  import { base as pilledCSS } from './variations/_pilled/base';
21
21
  import { base as filledBackgroundCSS } from './variations/_filledBackgound/base';
22
22
  import { base as stretchCSS } from './variations/_stretch/base';
23
- import { base as orientationCSS } from './variations/_orientation/base';
24
- import { StyledContent, StyledContentWrapper, base, StyledLeftArrow, StyledRightArrow, StyledTopArrow, StyledBottomArrow } from './SegmentGroup.styles';
25
- var Keys = /*#__PURE__*/function (Keys) {
26
- Keys[Keys["end"] = 35] = "end";
27
- Keys[Keys["home"] = 36] = "home";
28
- Keys[Keys["left"] = 37] = "left";
29
- Keys[Keys["right"] = 39] = "right";
30
- return Keys;
31
- }(Keys || {});
32
- export var getChildNodes = function getChildNodes(wrapper) {
33
- var container = wrapper === null || wrapper === void 0 ? void 0 : wrapper.firstChild;
34
- return container ? Array.from(container === null || container === void 0 ? void 0 : container.childNodes) : [];
35
- };
23
+ import { StyledArrow, StyledContent, StyledContentWrapper, base } from './SegmentGroup.styles';
36
24
  export var segmentGroupRoot = function segmentGroupRoot(Root) {
37
25
  return /*#__PURE__*/forwardRef(function (props, outerRef) {
38
26
  var id = props.id,
39
27
  selectionMode = props.selectionMode,
40
28
  pilled = props.pilled,
41
29
  stretch = props.stretch,
42
- clip = props.clip,
43
- _props$orientation = props.orientation,
44
- orientation = _props$orientation === void 0 ? 'horizontal' : _props$orientation,
45
30
  _props$filledBackgrou = props.filledBackground,
46
31
  filledBackground = _props$filledBackgrou === void 0 ? false : _props$filledBackgrou,
47
- _props$hasBackground = props.hasBackground,
48
- hasBackground = _props$hasBackground === void 0 ? false : _props$hasBackground,
49
32
  _props$disabled = props.disabled,
50
33
  disabled = _props$disabled === void 0 ? false : _props$disabled,
51
34
  size = props.size,
52
35
  view = props.view,
53
36
  children = props.children,
54
37
  rest = _objectWithoutProperties(props, _excluded);
55
- var scrollRef = useRef(null);
56
- var trackRef = useRef(null);
57
- var leftArrowRef = useRef(null);
58
38
  var _useSegmentInner = useSegmentInner(),
59
39
  setSelectionMode = _useSegmentInner.setSelectionMode,
60
40
  setDisabledGroup = _useSegmentInner.setDisabledGroup;
61
- var _useState = useState(true),
41
+ var _useState = useState(0),
62
42
  _useState2 = _slicedToArray(_useState, 2),
63
- firstItemVisible = _useState2[0],
64
- setFirstItemVisible = _useState2[1];
65
- var _useState3 = useState(true),
43
+ index = _useState2[0],
44
+ setIndex = _useState2[1];
45
+ var _useState3 = useState(false),
66
46
  _useState4 = _slicedToArray(_useState3, 2),
67
- lastItemVisible = _useState4[0],
68
- setLastItemVisible = _useState4[1];
47
+ firstItemVisible = _useState4[0],
48
+ setFirstItemVisible = _useState4[1];
49
+ var _useState5 = useState(false),
50
+ _useState6 = _slicedToArray(_useState5, 2),
51
+ lastItemVisible = _useState6[0],
52
+ setLastItemVisible = _useState6[1];
69
53
  var uniqId = safeUseId();
70
54
  var segmentGroupId = id || uniqId;
71
- var isVertical = orientation === 'vertical';
72
- var pilledAttr = (view !== 'clear' || hasBackground) && pilled;
73
- var filledBackgroundAttr = view !== 'clear' && filledBackground || hasBackground;
74
- var stretchClass = firstItemVisible && lastItemVisible && stretch ? classes.segmentStretch : undefined;
75
- var orientationClass = isVertical ? classes.segmentVertical : undefined;
76
-
77
- // для появления scroll в fixed отображении
78
- var clipScrollClass = clip !== 'showAll' ? classes.segmentGroupClipScroll : undefined;
79
- var clipShowAllClass = clip === 'showAll' ? classes.segmentGroupClipShowAll : undefined;
55
+ var pilledAttr = view !== 'clear' && pilled;
56
+ var filledBackgroundAttr = view !== 'clear' && filledBackground;
80
57
  var pilledClass = pilledAttr ? classes.segmentPilled : undefined;
81
58
  var filledClass = filledBackgroundAttr ? classes.segmentGroupFilledBackground : undefined;
59
+ var stretchClass = firstItemVisible && lastItemVisible && stretch ? classes.segmentStretch : undefined;
60
+ var items = (Children === null || Children === void 0 ? void 0 : Children.map(children, function (child) {
61
+ return child;
62
+ })) || [];
82
63
  var onPrev = useCallback(function () {
83
- if (disabled || !scrollRef.current) {
84
- return;
85
- }
86
- var childNodes = getChildNodes(scrollRef.current);
87
- var scrollLeft = Math.round(scrollRef.current.scrollLeft);
88
- var firstOverflowingTab = childNodes.slice().reverse().find(function (child) {
89
- if (!child || child.offsetLeft === undefined) {
90
- return;
91
- }
92
- var tabStartX = child.offsetLeft;
93
- return tabStartX < scrollLeft;
94
- });
95
- firstOverflowingTab === null || firstOverflowingTab === void 0 || firstOverflowingTab.scrollIntoView({
96
- block: 'nearest',
97
- inline: 'nearest'
64
+ !disabled && setIndex(function (prevIndex) {
65
+ return prevIndex > 0 ? prevIndex - 1 : 0;
98
66
  });
99
- }, [disabled, scrollRef]);
67
+ }, [disabled]);
100
68
  var onNext = useCallback(function () {
101
- if (disabled || !scrollRef.current) {
102
- return;
103
- }
104
- var scrollRight = Math.round(scrollRef.current.scrollLeft + scrollRef.current.clientWidth);
105
- var childNodes = getChildNodes(scrollRef.current);
106
- var lastOverflowingChild = childNodes.find(function (child) {
107
- if (!child || child.offsetLeft === undefined) {
108
- return;
109
- }
110
- var tabEndX = child.offsetLeft + child.offsetWidth;
111
- return tabEndX > scrollRight;
69
+ !disabled && setIndex(function (prevIndex) {
70
+ return prevIndex < items.length - 1 ? prevIndex + 1 : prevIndex;
112
71
  });
113
- lastOverflowingChild === null || lastOverflowingChild === void 0 || lastOverflowingChild.scrollIntoView({
114
- block: 'nearest',
115
- inline: 'nearest'
116
- });
117
- }, [disabled, scrollRef]);
118
- var onKeyDown = useCallback(function (event) {
119
- var childNodes = getChildNodes(scrollRef === null || scrollRef === void 0 ? void 0 : scrollRef.current);
120
- var index = childNodes.findIndex(function (child) {
121
- return document.activeElement === child;
122
- });
123
- var minIndex = 0;
124
- var maxIndex = childNodes.length - 1;
125
- var nextIndex;
126
- switch (event.keyCode) {
127
- case Keys.end:
128
- nextIndex = maxIndex;
129
- break;
130
- case Keys.left:
131
- nextIndex = index > minIndex ? index - 1 : index;
132
- break;
133
- case Keys.right:
134
- nextIndex = index < maxIndex ? index + 1 : index;
135
- break;
136
- case Keys.home:
137
- nextIndex = minIndex;
138
- break;
139
- default:
140
- return;
141
- }
142
- if (nextIndex !== index) {
143
- var _childNodes$nextIndex, _childNodes$nextIndex2;
144
- event.preventDefault();
145
- (_childNodes$nextIndex = childNodes[nextIndex]) === null || _childNodes$nextIndex === void 0 || _childNodes$nextIndex.focus();
146
- (_childNodes$nextIndex2 = childNodes[nextIndex]) === null || _childNodes$nextIndex2 === void 0 || _childNodes$nextIndex2.scrollIntoView({
147
- block: 'center',
148
- inline: 'center',
149
- behavior: 'smooth'
72
+ }, [disabled]);
73
+ var onIntersecting = function onIntersecting(setVisible) {
74
+ return function (entries) {
75
+ /*
76
+ * Пробегаемся по элементам на которых есть слушатель события появления.
77
+ * Если элемент находится в зоне видимости или выходит из нее, меняем значение флага видимости
78
+ */
79
+ entries.forEach(function (entry) {
80
+ if (entry.isIntersecting) {
81
+ setVisible(true);
82
+ } else {
83
+ setVisible(false);
84
+ }
150
85
  });
151
- }
152
- }, []);
153
- var handleScroll = useCallback(function (event) {
154
- event.stopPropagation();
155
- if (isVertical) {
156
- var maxScrollTop = event.currentTarget.scrollHeight - event.currentTarget.clientHeight;
157
- var scrollTop = Math.round(event.currentTarget.scrollTop);
158
- setFirstItemVisible(scrollTop <= 0);
159
- setLastItemVisible(scrollTop >= maxScrollTop);
160
- return;
161
- }
162
- var maxScrollLeft = event.currentTarget.scrollWidth - event.currentTarget.clientWidth;
163
- var scrollLeft = Math.round(event.currentTarget.scrollLeft);
164
- setFirstItemVisible(scrollLeft <= 0);
165
- setLastItemVisible(scrollLeft >= maxScrollLeft);
166
- }, [isVertical]);
167
- useEffect(function () {
168
- var _scrollRef$current3, _scrollRef$current4;
169
- if (isVertical) {
170
- var _scrollRef$current, _scrollRef$current2;
171
- setLastItemVisible(((_scrollRef$current = scrollRef.current) === null || _scrollRef$current === void 0 ? void 0 : _scrollRef$current.scrollHeight) === ((_scrollRef$current2 = scrollRef.current) === null || _scrollRef$current2 === void 0 ? void 0 : _scrollRef$current2.clientHeight));
172
- return;
173
- }
174
- setLastItemVisible(((_scrollRef$current3 = scrollRef.current) === null || _scrollRef$current3 === void 0 ? void 0 : _scrollRef$current3.scrollWidth) === ((_scrollRef$current4 = scrollRef.current) === null || _scrollRef$current4 === void 0 ? void 0 : _scrollRef$current4.clientWidth));
175
- }, [isVertical]);
176
-
177
- // Этот хук компенсирует появление левой/верхней стрелки при прокрутке
178
- useEffect(function () {
179
- if (firstItemVisible || !scrollRef.current || !leftArrowRef.current) {
180
- return;
181
- }
182
- if (isVertical) {
183
- scrollRef.current.scrollTo({
184
- top: Math.round(scrollRef.current.scrollTop + leftArrowRef.current.clientHeight)
185
- });
186
- return;
187
- }
188
- scrollRef.current.scrollTo({
189
- left: Math.round(scrollRef.current.scrollLeft + leftArrowRef.current.clientWidth)
190
- });
191
- }, [firstItemVisible, isVertical]);
86
+ };
87
+ };
88
+ var _useCarousel = useCarousel({
89
+ index: index,
90
+ axis: 'x',
91
+ scrollAlign: 'start',
92
+ detectActive: true,
93
+ debounceMs: 250,
94
+ onIndexChange: setIndex
95
+ }),
96
+ scrollRef = _useCarousel.scrollRef,
97
+ trackRef = _useCarousel.trackRef;
192
98
  var PreviousButton = useMemo(function () {
193
- var ArrowNode = isVertical ? StyledTopArrow : StyledLeftArrow;
194
- return /*#__PURE__*/React.createElement(ArrowNode, {
99
+ return /*#__PURE__*/React.createElement(StyledArrow, {
195
100
  type: "button",
196
101
  "aria-label": "\u041F\u0440\u0435\u0434\u044B\u0434\u0443\u0449\u0438\u0439 \u0441\u0435\u0433\u043C\u0435\u043D\u0442",
197
102
  onClick: onPrev,
198
103
  tabIndex: disabled ? -1 : 0,
199
104
  disabled: disabled
200
- }, isVertical ? /*#__PURE__*/React.createElement(IconDisclosureUp, {
201
- color: "var(".concat(tokens.arrowColor, ")"),
202
- size: "s"
203
- }) : /*#__PURE__*/React.createElement(IconDisclosureLeft, {
105
+ }, /*#__PURE__*/React.createElement(IconDisclosureLeft, {
204
106
  color: "var(".concat(tokens.arrowColor, ")")
205
107
  }));
206
- }, [onPrev, isVertical]);
108
+ }, [onPrev]);
207
109
  var NextButton = useMemo(function () {
208
- var ArrowNode = isVertical ? StyledBottomArrow : StyledRightArrow;
209
- return /*#__PURE__*/React.createElement(ArrowNode, {
110
+ return /*#__PURE__*/React.createElement(StyledArrow, {
210
111
  type: "button",
211
112
  "aria-label": "\u0421\u043B\u0435\u0434\u0443\u044E\u0449\u0438\u0439 \u0441\u0435\u0433\u043C\u0435\u043D\u0442",
212
113
  onClick: onNext,
213
114
  tabIndex: disabled ? -1 : 0,
214
115
  disabled: disabled
215
- }, isVertical ? /*#__PURE__*/React.createElement(IconDisclosureDown, {
216
- color: "var(".concat(tokens.arrowColor, ")"),
217
- size: "s"
218
- }) : /*#__PURE__*/React.createElement(IconDisclosureRight, {
116
+ }, /*#__PURE__*/React.createElement(IconDisclosureRight, {
219
117
  color: "var(".concat(tokens.arrowColor, ")")
220
118
  }));
221
- }, [onNext, isVertical]);
119
+ }, [onNext]);
222
120
  useEffect(function () {
223
121
  selectionMode && setSelectionMode(selectionMode);
224
122
  setDisabledGroup(disabled);
225
123
  }, [selectionMode, disabled]);
124
+ useEffect(function () {
125
+ var _trackRef$current;
126
+ // Intersection observer для первого сегмента
127
+ var observeFirstItem = new IntersectionObserver(onIntersecting(setFirstItemVisible), {
128
+ root: null,
129
+ rootMargin: '0px',
130
+ threshold: 0.5
131
+ });
132
+
133
+ // Intersection observer для последнего сегмента
134
+ var observeLastItem = new IntersectionObserver(onIntersecting(setLastItemVisible), {
135
+ root: null,
136
+ rootMargin: '0px',
137
+ threshold: 0.5
138
+ });
139
+
140
+ // получаем список сегментов внутри SegmentGroup
141
+ var childrenArray = Array.from(((_trackRef$current = trackRef.current) === null || _trackRef$current === void 0 ? void 0 : _trackRef$current.children) || []);
142
+ if (childrenArray.length) {
143
+ // подписываемся на событие появление внутри SegmentGroup
144
+ observeFirstItem.observe(childrenArray[0]);
145
+ observeLastItem.observe(childrenArray[childrenArray.length - 1]);
146
+ }
147
+ return function () {
148
+ // отписываемся от события появления внутри SegmentGroup
149
+ observeFirstItem.disconnect();
150
+ observeLastItem.disconnect();
151
+ };
152
+ }, [children]);
226
153
  return /*#__PURE__*/React.createElement(Root, _extends({
227
154
  view: view,
228
155
  size: size,
229
- orientation: orientation,
230
156
  id: segmentGroupId,
231
157
  ref: outerRef,
232
158
  filledBackground: filledBackgroundAttr,
233
159
  disabled: disabled,
234
160
  pilled: pilledAttr,
235
- className: cx(pilledClass, filledClass, stretchClass, orientationClass),
236
- onKeyDown: onKeyDown
161
+ className: cx(pilledClass, filledClass, stretchClass)
237
162
  }, rest), !firstItemVisible && PreviousButton, /*#__PURE__*/React.createElement(StyledContentWrapper, {
238
- className: cx(clipScrollClass, clipShowAllClass),
239
- ref: scrollRef,
240
- onScroll: handleScroll
163
+ ref: scrollRef
241
164
  }, /*#__PURE__*/React.createElement(StyledContent, {
242
165
  ref: trackRef
243
166
  }, children)), !lastItemVisible && NextButton);
@@ -267,9 +190,6 @@ export var segmentGroupConfig = {
267
190
  css: stretchCSS,
268
191
  attrs: true
269
192
  },
270
- orientation: {
271
- css: orientationCSS
272
- },
273
193
  filledBackground: {
274
194
  css: filledBackgroundCSS,
275
195
  attrs: true