@salutejs/plasma-new-hope 0.78.0-canary.1194.8928682263.0 → 0.78.0-canary.1195.8924860991.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (330) hide show
  1. package/cjs/components/Button/Button.styles.js +1 -0
  2. package/cjs/components/Button/Button.styles.js.map +1 -1
  3. package/cjs/components/Combobox/hooks/useFocusController.js +0 -1
  4. package/cjs/components/Combobox/hooks/useFocusController.js.map +1 -1
  5. package/cjs/components/Drawer/Drawer.js +1 -0
  6. package/cjs/components/Drawer/Drawer.js.map +1 -1
  7. package/cjs/components/IconButton/IconButton.css +24 -0
  8. package/cjs/components/IconButton/IconButton.js +50 -0
  9. package/cjs/components/IconButton/IconButton.js.map +1 -0
  10. package/cjs/components/IconButton/IconButton.styles.js +16 -0
  11. package/cjs/components/IconButton/IconButton.styles.js.map +1 -0
  12. package/cjs/components/IconButton/IconButton.styles_1hknr37.css +1 -0
  13. package/cjs/components/IconButton/IconButton.tokens.js +32 -0
  14. package/cjs/components/IconButton/IconButton.tokens.js.map +1 -0
  15. package/cjs/components/TextField/TextField.js +2 -6
  16. package/cjs/components/TextField/TextField.js.map +1 -1
  17. package/cjs/index.css +2 -25
  18. package/cjs/index.js +5 -14
  19. package/cjs/index.js.map +1 -1
  20. package/cjs/utils/index.js.map +1 -1
  21. package/es/components/Button/Button.styles.js +1 -0
  22. package/es/components/Button/Button.styles.js.map +1 -1
  23. package/es/components/Combobox/hooks/useFocusController.js +0 -1
  24. package/es/components/Combobox/hooks/useFocusController.js.map +1 -1
  25. package/es/components/Drawer/Drawer.js +1 -0
  26. package/es/components/Drawer/Drawer.js.map +1 -1
  27. package/es/components/IconButton/IconButton.css +24 -0
  28. package/es/components/IconButton/IconButton.js +45 -0
  29. package/es/components/IconButton/IconButton.js.map +1 -0
  30. package/es/components/IconButton/IconButton.styles.js +12 -0
  31. package/es/components/IconButton/IconButton.styles.js.map +1 -0
  32. package/es/components/IconButton/IconButton.styles_1hknr37.css +1 -0
  33. package/es/components/IconButton/IconButton.tokens.js +28 -0
  34. package/es/components/IconButton/IconButton.tokens.js.map +1 -0
  35. package/es/components/TextField/TextField.js +2 -6
  36. package/es/components/TextField/TextField.js.map +1 -1
  37. package/es/index.css +2 -25
  38. package/es/index.js +2 -8
  39. package/es/index.js.map +1 -1
  40. package/es/utils/index.js.map +1 -1
  41. package/package.json +2 -4
  42. package/styled-components/cjs/components/Button/Button.styles.js +10 -2
  43. package/styled-components/cjs/components/IconButton/IconButton.js +47 -0
  44. package/styled-components/cjs/components/IconButton/IconButton.styles.js +12 -0
  45. package/styled-components/cjs/components/IconButton/IconButton.tokens.js +31 -0
  46. package/styled-components/cjs/components/IconButton/index.js +25 -0
  47. package/styled-components/cjs/components/TextField/TextField.js +2 -6
  48. package/styled-components/cjs/examples/plasma_b2c/components/IconButton/IconButton.config.js +46 -0
  49. package/styled-components/cjs/examples/plasma_b2c/components/IconButton/IconButton.js +11 -0
  50. package/styled-components/cjs/examples/plasma_b2c/components/IconButton/IconButton.stories.tsx +69 -0
  51. package/styled-components/cjs/examples/plasma_web/components/IconButton/IconButton.config.js +46 -0
  52. package/styled-components/cjs/examples/plasma_web/components/IconButton/IconButton.js +11 -0
  53. package/styled-components/cjs/examples/plasma_web/components/IconButton/IconButton.stories.tsx +69 -0
  54. package/styled-components/cjs/hooks/index.js +1 -8
  55. package/styled-components/cjs/index.js +11 -11
  56. package/styled-components/cjs/utils/index.js +0 -7
  57. package/styled-components/es/components/Button/Button.styles.js +10 -2
  58. package/styled-components/es/components/IconButton/IconButton.js +41 -0
  59. package/styled-components/es/components/IconButton/IconButton.styles.js +6 -0
  60. package/styled-components/es/components/IconButton/IconButton.tokens.js +25 -0
  61. package/styled-components/es/components/IconButton/index.js +2 -0
  62. package/styled-components/es/components/TextField/TextField.js +2 -6
  63. package/styled-components/es/examples/plasma_b2c/components/IconButton/IconButton.config.js +40 -0
  64. package/styled-components/es/examples/plasma_b2c/components/IconButton/IconButton.js +5 -0
  65. package/styled-components/es/examples/plasma_b2c/components/IconButton/IconButton.stories.tsx +69 -0
  66. package/styled-components/es/examples/plasma_web/components/IconButton/IconButton.config.js +40 -0
  67. package/styled-components/es/examples/plasma_web/components/IconButton/IconButton.js +5 -0
  68. package/styled-components/es/examples/plasma_web/components/IconButton/IconButton.stories.tsx +69 -0
  69. package/styled-components/es/hooks/index.js +1 -2
  70. package/styled-components/es/index.js +2 -2
  71. package/styled-components/es/utils/index.js +0 -1
  72. package/types/components/Button/Button.styles.d.ts +1 -0
  73. package/types/components/Button/Button.styles.d.ts.map +1 -1
  74. package/types/components/IconButton/IconButton.d.ts +35 -0
  75. package/types/components/IconButton/IconButton.d.ts.map +1 -0
  76. package/types/components/IconButton/IconButton.styles.d.ts +3 -0
  77. package/types/components/IconButton/IconButton.styles.d.ts.map +1 -0
  78. package/types/components/IconButton/IconButton.tokens.d.ts +26 -0
  79. package/types/components/IconButton/IconButton.tokens.d.ts.map +1 -0
  80. package/types/components/IconButton/index.d.ts +3 -0
  81. package/types/components/IconButton/index.d.ts.map +1 -0
  82. package/types/components/TextField/TextField.d.ts.map +1 -1
  83. package/types/examples/plasma_b2c/components/IconButton/IconButton.config.d.ts +39 -0
  84. package/types/examples/plasma_b2c/components/IconButton/IconButton.config.d.ts.map +1 -0
  85. package/types/examples/plasma_b2c/components/IconButton/IconButton.d.ts +33 -0
  86. package/types/examples/plasma_b2c/components/IconButton/IconButton.d.ts.map +1 -0
  87. package/types/examples/plasma_web/components/IconButton/IconButton.config.d.ts +39 -0
  88. package/types/examples/plasma_web/components/IconButton/IconButton.config.d.ts.map +1 -0
  89. package/types/examples/plasma_web/components/IconButton/IconButton.d.ts +33 -0
  90. package/types/examples/plasma_web/components/IconButton/IconButton.d.ts.map +1 -0
  91. package/types/hooks/index.d.ts +0 -1
  92. package/types/hooks/index.d.ts.map +1 -1
  93. package/types/index.d.ts +1 -1
  94. package/types/index.d.ts.map +1 -1
  95. package/types/utils/index.d.ts +0 -1
  96. package/types/utils/index.d.ts.map +1 -1
  97. package/cjs/components/Slider/Slider.css +0 -69
  98. package/cjs/components/Slider/Slider.js +0 -58
  99. package/cjs/components/Slider/Slider.js.map +0 -1
  100. package/cjs/components/Slider/Slider.tokens.js +0 -79
  101. package/cjs/components/Slider/Slider.tokens.js.map +0 -1
  102. package/cjs/components/Slider/components/Double/Double.css +0 -62
  103. package/cjs/components/Slider/components/Double/Double.js +0 -274
  104. package/cjs/components/Slider/components/Double/Double.js.map +0 -1
  105. package/cjs/components/Slider/components/Double/Double.styles.js +0 -61
  106. package/cjs/components/Slider/components/Double/Double.styles.js.map +0 -1
  107. package/cjs/components/Slider/components/Double/Double.styles_1jhda4u.css +0 -7
  108. package/cjs/components/Slider/components/Single/Single.css +0 -16
  109. package/cjs/components/Slider/components/Single/Single.js +0 -160
  110. package/cjs/components/Slider/components/Single/Single.js.map +0 -1
  111. package/cjs/components/Slider/components/Single/Single.styles.js +0 -45
  112. package/cjs/components/Slider/components/Single/Single.styles.js.map +0 -1
  113. package/cjs/components/Slider/components/Single/Single.styles_1r9f1e0.css +0 -6
  114. package/cjs/components/Slider/components/SliderBase/SliderBase.css +0 -4
  115. package/cjs/components/Slider/components/SliderBase/SliderBase.js +0 -82
  116. package/cjs/components/Slider/components/SliderBase/SliderBase.js.map +0 -1
  117. package/cjs/components/Slider/components/SliderBase/SliderBase.styles.js +0 -33
  118. package/cjs/components/Slider/components/SliderBase/SliderBase.styles.js.map +0 -1
  119. package/cjs/components/Slider/components/SliderBase/SliderBase.styles_7is2ll.css +0 -4
  120. package/cjs/components/Slider/ui/Handle/Handle.css +0 -4
  121. package/cjs/components/Slider/ui/Handle/Handle.js +0 -174
  122. package/cjs/components/Slider/ui/Handle/Handle.js.map +0 -1
  123. package/cjs/components/Slider/ui/Handle/Handle.styles.js +0 -21
  124. package/cjs/components/Slider/ui/Handle/Handle.styles.js.map +0 -1
  125. package/cjs/components/Slider/ui/Handle/Handle.styles_16a5sl.css +0 -2
  126. package/cjs/components/Slider/ui/Thumb/Thumb.css +0 -1
  127. package/cjs/components/Slider/ui/Thumb/Thumb.js +0 -31
  128. package/cjs/components/Slider/ui/Thumb/Thumb.js.map +0 -1
  129. package/cjs/components/Slider/ui/Thumb/Thumb.styles.js +0 -15
  130. package/cjs/components/Slider/ui/Thumb/Thumb.styles.js.map +0 -1
  131. package/cjs/components/Slider/ui/Thumb/Thumb.styles_zwgsh8.css +0 -1
  132. package/cjs/components/Slider/utils/index.js +0 -56
  133. package/cjs/components/Slider/utils/index.js.map +0 -1
  134. package/cjs/components/Slider/variations/_disabled/base.js +0 -9
  135. package/cjs/components/Slider/variations/_disabled/base.js.map +0 -1
  136. package/cjs/components/Slider/variations/_disabled/base_x642ct.css +0 -1
  137. package/cjs/components/Slider/variations/_size/base.js +0 -9
  138. package/cjs/components/Slider/variations/_size/base.js.map +0 -1
  139. package/cjs/components/Slider/variations/_size/base_x642ct.css +0 -1
  140. package/cjs/components/Slider/variations/_view/base.js +0 -9
  141. package/cjs/components/Slider/variations/_view/base.js.map +0 -1
  142. package/cjs/components/Slider/variations/_view/base_x642ct.css +0 -1
  143. package/cjs/hooks/useIsomorphicLayoutEffect.js +0 -15
  144. package/cjs/hooks/useIsomorphicLayoutEffect.js.map +0 -1
  145. package/cjs/utils/canUseDOM.js +0 -12
  146. package/cjs/utils/canUseDOM.js.map +0 -1
  147. package/es/components/Slider/Slider.css +0 -69
  148. package/es/components/Slider/Slider.js +0 -53
  149. package/es/components/Slider/Slider.js.map +0 -1
  150. package/es/components/Slider/Slider.tokens.js +0 -74
  151. package/es/components/Slider/Slider.tokens.js.map +0 -1
  152. package/es/components/Slider/components/Double/Double.css +0 -62
  153. package/es/components/Slider/components/Double/Double.js +0 -270
  154. package/es/components/Slider/components/Double/Double.js.map +0 -1
  155. package/es/components/Slider/components/Double/Double.styles.js +0 -51
  156. package/es/components/Slider/components/Double/Double.styles.js.map +0 -1
  157. package/es/components/Slider/components/Double/Double.styles_1jhda4u.css +0 -7
  158. package/es/components/Slider/components/Single/Single.css +0 -16
  159. package/es/components/Slider/components/Single/Single.js +0 -156
  160. package/es/components/Slider/components/Single/Single.js.map +0 -1
  161. package/es/components/Slider/components/Single/Single.styles.js +0 -36
  162. package/es/components/Slider/components/Single/Single.styles.js.map +0 -1
  163. package/es/components/Slider/components/Single/Single.styles_1r9f1e0.css +0 -6
  164. package/es/components/Slider/components/SliderBase/SliderBase.css +0 -4
  165. package/es/components/Slider/components/SliderBase/SliderBase.js +0 -78
  166. package/es/components/Slider/components/SliderBase/SliderBase.js.map +0 -1
  167. package/es/components/Slider/components/SliderBase/SliderBase.styles.js +0 -26
  168. package/es/components/Slider/components/SliderBase/SliderBase.styles.js.map +0 -1
  169. package/es/components/Slider/components/SliderBase/SliderBase.styles_7is2ll.css +0 -4
  170. package/es/components/Slider/ui/Handle/Handle.css +0 -4
  171. package/es/components/Slider/ui/Handle/Handle.js +0 -170
  172. package/es/components/Slider/ui/Handle/Handle.js.map +0 -1
  173. package/es/components/Slider/ui/Handle/Handle.styles.js +0 -16
  174. package/es/components/Slider/ui/Handle/Handle.styles.js.map +0 -1
  175. package/es/components/Slider/ui/Handle/Handle.styles_16a5sl.css +0 -2
  176. package/es/components/Slider/ui/Thumb/Thumb.css +0 -1
  177. package/es/components/Slider/ui/Thumb/Thumb.js +0 -27
  178. package/es/components/Slider/ui/Thumb/Thumb.js.map +0 -1
  179. package/es/components/Slider/ui/Thumb/Thumb.styles.js +0 -11
  180. package/es/components/Slider/ui/Thumb/Thumb.styles.js.map +0 -1
  181. package/es/components/Slider/ui/Thumb/Thumb.styles_zwgsh8.css +0 -1
  182. package/es/components/Slider/utils/index.js +0 -50
  183. package/es/components/Slider/utils/index.js.map +0 -1
  184. package/es/components/Slider/variations/_disabled/base.js +0 -5
  185. package/es/components/Slider/variations/_disabled/base.js.map +0 -1
  186. package/es/components/Slider/variations/_disabled/base_x642ct.css +0 -1
  187. package/es/components/Slider/variations/_size/base.js +0 -5
  188. package/es/components/Slider/variations/_size/base.js.map +0 -1
  189. package/es/components/Slider/variations/_size/base_x642ct.css +0 -1
  190. package/es/components/Slider/variations/_view/base.js +0 -5
  191. package/es/components/Slider/variations/_view/base.js.map +0 -1
  192. package/es/components/Slider/variations/_view/base_x642ct.css +0 -1
  193. package/es/hooks/useIsomorphicLayoutEffect.js +0 -11
  194. package/es/hooks/useIsomorphicLayoutEffect.js.map +0 -1
  195. package/es/utils/canUseDOM.js +0 -8
  196. package/es/utils/canUseDOM.js.map +0 -1
  197. package/styled-components/cjs/components/Slider/Slider.js +0 -57
  198. package/styled-components/cjs/components/Slider/Slider.tokens.js +0 -77
  199. package/styled-components/cjs/components/Slider/Slider.types.js +0 -5
  200. package/styled-components/cjs/components/Slider/components/Double/Double.js +0 -286
  201. package/styled-components/cjs/components/Slider/components/Double/Double.styles.js +0 -36
  202. package/styled-components/cjs/components/Slider/components/Double/Double.types.js +0 -5
  203. package/styled-components/cjs/components/Slider/components/Single/Single.js +0 -172
  204. package/styled-components/cjs/components/Slider/components/Single/Single.styles.js +0 -27
  205. package/styled-components/cjs/components/Slider/components/Single/Single.types.js +0 -5
  206. package/styled-components/cjs/components/Slider/components/SliderBase/SliderBase.js +0 -83
  207. package/styled-components/cjs/components/Slider/components/SliderBase/SliderBase.styles.js +0 -21
  208. package/styled-components/cjs/components/Slider/components/SliderBase/SliderBase.types.js +0 -5
  209. package/styled-components/cjs/components/Slider/components/index.js +0 -27
  210. package/styled-components/cjs/components/Slider/index.js +0 -32
  211. package/styled-components/cjs/components/Slider/ui/Handle/Handle.js +0 -183
  212. package/styled-components/cjs/components/Slider/ui/Handle/Handle.styles.js +0 -15
  213. package/styled-components/cjs/components/Slider/ui/Handle/Handle.types.js +0 -5
  214. package/styled-components/cjs/components/Slider/ui/Thumb/Thumb.js +0 -32
  215. package/styled-components/cjs/components/Slider/ui/Thumb/Thumb.styles.js +0 -12
  216. package/styled-components/cjs/components/Slider/ui/Thumb/Thumb.types.js +0 -5
  217. package/styled-components/cjs/components/Slider/ui/index.js +0 -63
  218. package/styled-components/cjs/components/Slider/utils/index.js +0 -55
  219. package/styled-components/cjs/components/Slider/variations/_disabled/base.js +0 -8
  220. package/styled-components/cjs/components/Slider/variations/_disabled/tokens.json +0 -4
  221. package/styled-components/cjs/components/Slider/variations/_size/base.js +0 -8
  222. package/styled-components/cjs/components/Slider/variations/_size/tokens.json +0 -0
  223. package/styled-components/cjs/components/Slider/variations/_view/base.js +0 -8
  224. package/styled-components/cjs/components/Slider/variations/_view/tokens.json +0 -0
  225. package/styled-components/cjs/examples/plasma_b2c/components/Slider/Slider.config.js +0 -29
  226. package/styled-components/cjs/examples/plasma_b2c/components/Slider/Slider.js +0 -11
  227. package/styled-components/cjs/examples/plasma_b2c/components/Slider/Slider.stories.tsx +0 -131
  228. package/styled-components/cjs/examples/plasma_web/components/Slider/Slider.config.js +0 -29
  229. package/styled-components/cjs/examples/plasma_web/components/Slider/Slider.js +0 -11
  230. package/styled-components/cjs/examples/plasma_web/components/Slider/Slider.stories.tsx +0 -131
  231. package/styled-components/cjs/hooks/useIsomorphicLayoutEffect.js +0 -12
  232. package/styled-components/cjs/utils/canUseDOM.js +0 -11
  233. package/styled-components/es/components/Slider/Slider.js +0 -48
  234. package/styled-components/es/components/Slider/Slider.tokens.js +0 -71
  235. package/styled-components/es/components/Slider/Slider.types.js +0 -1
  236. package/styled-components/es/components/Slider/components/Double/Double.js +0 -278
  237. package/styled-components/es/components/Slider/components/Double/Double.styles.js +0 -29
  238. package/styled-components/es/components/Slider/components/Double/Double.types.js +0 -1
  239. package/styled-components/es/components/Slider/components/Single/Single.js +0 -164
  240. package/styled-components/es/components/Slider/components/Single/Single.styles.js +0 -20
  241. package/styled-components/es/components/Slider/components/Single/Single.types.js +0 -1
  242. package/styled-components/es/components/Slider/components/SliderBase/SliderBase.js +0 -74
  243. package/styled-components/es/components/Slider/components/SliderBase/SliderBase.styles.js +0 -14
  244. package/styled-components/es/components/Slider/components/SliderBase/SliderBase.types.js +0 -1
  245. package/styled-components/es/components/Slider/components/index.js +0 -3
  246. package/styled-components/es/components/Slider/index.js +0 -3
  247. package/styled-components/es/components/Slider/ui/Handle/Handle.js +0 -174
  248. package/styled-components/es/components/Slider/ui/Handle/Handle.styles.js +0 -8
  249. package/styled-components/es/components/Slider/ui/Handle/Handle.types.js +0 -1
  250. package/styled-components/es/components/Slider/ui/Thumb/Thumb.js +0 -25
  251. package/styled-components/es/components/Slider/ui/Thumb/Thumb.styles.js +0 -5
  252. package/styled-components/es/components/Slider/ui/Thumb/Thumb.types.js +0 -1
  253. package/styled-components/es/components/Slider/ui/index.js +0 -5
  254. package/styled-components/es/components/Slider/utils/index.js +0 -47
  255. package/styled-components/es/components/Slider/variations/_disabled/base.js +0 -2
  256. package/styled-components/es/components/Slider/variations/_disabled/tokens.json +0 -4
  257. package/styled-components/es/components/Slider/variations/_size/base.js +0 -2
  258. package/styled-components/es/components/Slider/variations/_size/tokens.json +0 -0
  259. package/styled-components/es/components/Slider/variations/_view/base.js +0 -2
  260. package/styled-components/es/components/Slider/variations/_view/tokens.json +0 -0
  261. package/styled-components/es/examples/plasma_b2c/components/Slider/Slider.config.js +0 -23
  262. package/styled-components/es/examples/plasma_b2c/components/Slider/Slider.js +0 -5
  263. package/styled-components/es/examples/plasma_b2c/components/Slider/Slider.stories.tsx +0 -131
  264. package/styled-components/es/examples/plasma_web/components/Slider/Slider.config.js +0 -23
  265. package/styled-components/es/examples/plasma_web/components/Slider/Slider.js +0 -5
  266. package/styled-components/es/examples/plasma_web/components/Slider/Slider.stories.tsx +0 -131
  267. package/styled-components/es/hooks/useIsomorphicLayoutEffect.js +0 -7
  268. package/styled-components/es/utils/canUseDOM.js +0 -5
  269. package/types/components/Slider/Slider.d.ts +0 -31
  270. package/types/components/Slider/Slider.d.ts.map +0 -1
  271. package/types/components/Slider/Slider.tokens.d.ts +0 -72
  272. package/types/components/Slider/Slider.tokens.d.ts.map +0 -1
  273. package/types/components/Slider/Slider.types.d.ts +0 -3
  274. package/types/components/Slider/Slider.types.d.ts.map +0 -1
  275. package/types/components/Slider/components/Double/Double.d.ts +0 -4
  276. package/types/components/Slider/components/Double/Double.d.ts.map +0 -1
  277. package/types/components/Slider/components/Double/Double.styles.d.ts +0 -43
  278. package/types/components/Slider/components/Double/Double.styles.d.ts.map +0 -1
  279. package/types/components/Slider/components/Double/Double.types.d.ts +0 -60
  280. package/types/components/Slider/components/Double/Double.types.d.ts.map +0 -1
  281. package/types/components/Slider/components/Single/Single.d.ts +0 -4
  282. package/types/components/Slider/components/Single/Single.d.ts.map +0 -1
  283. package/types/components/Slider/components/Single/Single.styles.d.ts +0 -8
  284. package/types/components/Slider/components/Single/Single.styles.d.ts.map +0 -1
  285. package/types/components/Slider/components/Single/Single.types.d.ts +0 -62
  286. package/types/components/Slider/components/Single/Single.types.d.ts.map +0 -1
  287. package/types/components/Slider/components/SliderBase/SliderBase.d.ts +0 -4
  288. package/types/components/Slider/components/SliderBase/SliderBase.d.ts.map +0 -1
  289. package/types/components/Slider/components/SliderBase/SliderBase.styles.d.ts +0 -6
  290. package/types/components/Slider/components/SliderBase/SliderBase.styles.d.ts.map +0 -1
  291. package/types/components/Slider/components/SliderBase/SliderBase.types.d.ts +0 -45
  292. package/types/components/Slider/components/SliderBase/SliderBase.types.d.ts.map +0 -1
  293. package/types/components/Slider/components/index.d.ts +0 -6
  294. package/types/components/Slider/components/index.d.ts.map +0 -1
  295. package/types/components/Slider/index.d.ts +0 -6
  296. package/types/components/Slider/index.d.ts.map +0 -1
  297. package/types/components/Slider/ui/Handle/Handle.d.ts +0 -9
  298. package/types/components/Slider/ui/Handle/Handle.d.ts.map +0 -1
  299. package/types/components/Slider/ui/Handle/Handle.styles.d.ts +0 -4
  300. package/types/components/Slider/ui/Handle/Handle.styles.d.ts.map +0 -1
  301. package/types/components/Slider/ui/Handle/Handle.types.d.ts +0 -24
  302. package/types/components/Slider/ui/Handle/Handle.types.d.ts.map +0 -1
  303. package/types/components/Slider/ui/Thumb/Thumb.d.ts +0 -4
  304. package/types/components/Slider/ui/Thumb/Thumb.d.ts.map +0 -1
  305. package/types/components/Slider/ui/Thumb/Thumb.styles.d.ts +0 -5
  306. package/types/components/Slider/ui/Thumb/Thumb.styles.d.ts.map +0 -1
  307. package/types/components/Slider/ui/Thumb/Thumb.types.d.ts +0 -12
  308. package/types/components/Slider/ui/Thumb/Thumb.types.d.ts.map +0 -1
  309. package/types/components/Slider/ui/index.d.ts +0 -6
  310. package/types/components/Slider/ui/index.d.ts.map +0 -1
  311. package/types/components/Slider/utils/index.d.ts +0 -33
  312. package/types/components/Slider/utils/index.d.ts.map +0 -1
  313. package/types/components/Slider/variations/_disabled/base.d.ts +0 -2
  314. package/types/components/Slider/variations/_disabled/base.d.ts.map +0 -1
  315. package/types/components/Slider/variations/_size/base.d.ts +0 -2
  316. package/types/components/Slider/variations/_size/base.d.ts.map +0 -1
  317. package/types/components/Slider/variations/_view/base.d.ts +0 -2
  318. package/types/components/Slider/variations/_view/base.d.ts.map +0 -1
  319. package/types/examples/plasma_b2c/components/Slider/Slider.config.d.ts +0 -22
  320. package/types/examples/plasma_b2c/components/Slider/Slider.config.d.ts.map +0 -1
  321. package/types/examples/plasma_b2c/components/Slider/Slider.d.ts +0 -17
  322. package/types/examples/plasma_b2c/components/Slider/Slider.d.ts.map +0 -1
  323. package/types/examples/plasma_web/components/Slider/Slider.config.d.ts +0 -22
  324. package/types/examples/plasma_web/components/Slider/Slider.config.d.ts.map +0 -1
  325. package/types/examples/plasma_web/components/Slider/Slider.d.ts +0 -17
  326. package/types/examples/plasma_web/components/Slider/Slider.d.ts.map +0 -1
  327. package/types/hooks/useIsomorphicLayoutEffect.d.ts +0 -6
  328. package/types/hooks/useIsomorphicLayoutEffect.d.ts.map +0 -1
  329. package/types/utils/canUseDOM.d.ts +0 -6
  330. package/types/utils/canUseDOM.d.ts.map +0 -1
package/cjs/index.js CHANGED
@@ -17,10 +17,11 @@ var useUniqId = require('./hooks/useUniqId.js');
17
17
  var usePreviousValue = require('./hooks/usePreviousValue.js');
18
18
  var useForceUpdate = require('./hooks/useForceUpdate.js');
19
19
  var useDidMountEffect = require('./hooks/useDidMountEffect.js');
20
- var useIsomorphicLayoutEffect = require('./hooks/useIsomorphicLayoutEffect.js');
21
20
  var index$1 = require('./utils/index.js');
22
21
  var Button = require('./components/Button/Button.js');
23
22
  var Button_tokens = require('./components/Button/Button.tokens.js');
23
+ var IconButton = require('./components/IconButton/IconButton.js');
24
+ var IconButton_tokens = require('./components/IconButton/IconButton.tokens.js');
24
25
  var ButtonGroup = require('./components/ButtonGroup/ButtonGroup.js');
25
26
  var ButtonGroup_tokens = require('./components/ButtonGroup/ButtonGroup.tokens.js');
26
27
  var Chip = require('./components/Chip/Chip.js');
@@ -161,14 +162,7 @@ var Divider_tokens = require('./components/Divider/Divider.tokens.js');
161
162
  var Toolbar = require('./components/Toolbar/Toolbar.js');
162
163
  var Toolbar_tokens = require('./components/Toolbar/Toolbar.tokens.js');
163
164
  var ToolbarDivider = require('./components/Toolbar/ui/ToolbarDivider/ToolbarDivider.js');
164
- var Slider = require('./components/Slider/Slider.js');
165
- var Slider_tokens = require('./components/Slider/Slider.tokens.js');
166
- require('react');
167
- require('react-draggable');
168
- var Thumb_styles = require('./components/Slider/ui/Thumb/Thumb.styles.js');
169
- require('@linaria/react');
170
165
  var common = require('./engines/common.js');
171
- var canUseDOM = require('./utils/canUseDOM.js');
172
166
  var extractTextFrom = require('./utils/extractTextFrom.js');
173
167
  var getSizeValueFromProp = require('./utils/getSizeValueFromProp.js');
174
168
  var react = require('./utils/react.js');
@@ -254,13 +248,15 @@ exports.useUniqId = useUniqId.useUniqId;
254
248
  exports.usePreviousValue = usePreviousValue.usePreviousValue;
255
249
  exports.useForceUpdate = useForceUpdate.useForceUpdate;
256
250
  exports.useDidMountEffect = useDidMountEffect.useDidMountEffect;
257
- exports.useIsomorphicLayoutEffect = useIsomorphicLayoutEffect.useIsomorphicLayoutEffect;
258
251
  exports.composableStyle = index$1.composableStyle;
259
252
  exports.cx = index$1.cx;
260
253
  exports.buttonConfig = Button.buttonConfig;
261
254
  exports.buttonRoot = Button.buttonRoot;
262
255
  exports.buttonClasses = Button_tokens.classes;
263
256
  exports.buttonTokens = Button_tokens.tokens;
257
+ exports.iconButtonConfig = IconButton.iconButtonConfig;
258
+ exports.iconButtonRoot = IconButton.iconButtonRoot;
259
+ exports.iconButtonTokens = IconButton_tokens.tokens;
264
260
  exports.buttonGroupConfig = ButtonGroup.buttonGroupConfig;
265
261
  exports.buttonGroupRoot = ButtonGroup.buttonGroupRoot;
266
262
  exports.buttonGroupClasses = ButtonGroup_tokens.classes;
@@ -495,13 +491,8 @@ exports.toolbarRoot = Toolbar.toolbarRoot;
495
491
  exports.toolbarTokens = Toolbar_tokens.tokens;
496
492
  exports.toolbarDividerConfig = ToolbarDivider.toolbarDividerConfig;
497
493
  exports.toolbarDividerRoot = ToolbarDivider.toolbarDividerRoot;
498
- exports.sliderConfig = Slider.sliderConfig;
499
- exports.sliderRoot = Slider.sliderRoot;
500
- exports.sliderTokens = Slider_tokens.tokens;
501
- exports.ThumbBase = Thumb_styles.ThumbBase;
502
494
  exports.component = common.component;
503
495
  exports.mergeConfig = common.mergeConfig;
504
- exports.canUseDOM = canUseDOM.canUseDOM;
505
496
  exports.extractTextFrom = extractTextFrom.extractTextFrom;
506
497
  exports.getSizeValueFromProp = getSizeValueFromProp.getSizeValueFromProp;
507
498
  exports.IS_REACT_18 = react.IS_REACT_18;
package/cjs/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../src/utils/index.ts"],"sourcesContent":["import { CSSProperties } from '@linaria/core';\n\nexport { canUseDOM } from './canUseDOM';\nexport { extractTextFrom } from './extractTextFrom';\nexport { getSizeValueFromProp } from './getSizeValueFromProp';\nexport { IS_REACT_18, safeUseId } from './react';\nexport { isNumber } from './isNumber';\n\nexport const cx = (...classes: (string | undefined)[]) => classes.filter((classItem) => classItem).join(' ');\n\nexport const composableStyle = (s: TemplateStringsArray, ...expr: Array<string | number | CSSProperties>): string => {\n let res = '';\n for (let i = 0; i < Math.max(s.length, expr.length); ++i) {\n res += s[i] ?? '';\n res += expr[i] ?? '';\n }\n\n return res;\n};\n"],"names":["cx","_len","arguments","length","classes","Array","_key","filter","classItem","join","composableStyle","s","res","i","Math","max","_s$i","_ref","undefined"],"mappings":";;;;;;;AAQaA,IAAAA,EAAE,GAAG,SAALA,EAAEA,GAAA;AAAA,EAAA,KAAA,IAAAC,IAAA,GAAAC,SAAA,CAAAC,MAAA,EAAOC,OAAO,GAAAC,IAAAA,KAAA,CAAAJ,IAAA,GAAAK,IAAA,GAAA,CAAA,EAAAA,IAAA,GAAAL,IAAA,EAAAK,IAAA,EAAA,EAAA;AAAPF,IAAAA,OAAO,CAAAE,IAAA,CAAAJ,GAAAA,SAAA,CAAAI,IAAA,CAAA,CAAA;AAAA,GAAA;AAAA,EAAA,OAA6BF,OAAO,CAACG,MAAM,CAAC,UAACC,SAAS,EAAA;AAAA,IAAA,OAAKA,SAAS,CAAA;AAAA,GAAA,CAAC,CAACC,IAAI,CAAC,GAAG,CAAC,CAAA;AAAA,EAAA;IAE/FC,eAAe,GAAG,SAAlBA,eAAeA,CAAIC,CAAuB,EAA8D;EACjH,IAAIC,GAAG,GAAG,EAAE,CAAA;EACZ,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGC,IAAI,CAACC,GAAG,CAACJ,CAAC,CAACR,MAAM,EAAAD,SAAA,CAAAC,MAAA,IAAA,CAAA,GAAA,CAAA,GAAAD,SAAA,CAAAC,MAAA,GAAA,CAAa,CAAC,EAAE,EAAEU,CAAC,EAAE;IAAA,IAAAG,IAAA,EAAAC,IAAA,CAAA;AACtDL,IAAAA,GAAG,IAAAI,CAAAA,IAAA,GAAIL,CAAC,CAACE,CAAC,CAAC,MAAA,IAAA,IAAAG,IAAA,KAAA,KAAA,CAAA,GAAAA,IAAA,GAAI,EAAE,CAAA;IACjBJ,GAAG,IAAA,CAAAK,IAAA,GAASJ,CAAC,YAAAX,SAAA,CAAAC,MAAA,IAADU,CAAC,OAAAK,SAAA,GAAAhB,SAAA,CAADW,CAAC,mBAAAI,IAAA,KAAA,KAAA,CAAA,GAAAA,IAAA,GAAK,EAAE,CAAA;AACxB,GAAA;AAEA,EAAA,OAAOL,GAAG,CAAA;AACd;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../src/utils/index.ts"],"sourcesContent":["import { CSSProperties } from '@linaria/core';\n\nexport { extractTextFrom } from './extractTextFrom';\nexport { getSizeValueFromProp } from './getSizeValueFromProp';\nexport { IS_REACT_18, safeUseId } from './react';\nexport { isNumber } from './isNumber';\n\nexport const cx = (...classes: (string | undefined)[]) => classes.filter((classItem) => classItem).join(' ');\n\nexport const composableStyle = (s: TemplateStringsArray, ...expr: Array<string | number | CSSProperties>): string => {\n let res = '';\n for (let i = 0; i < Math.max(s.length, expr.length); ++i) {\n res += s[i] ?? '';\n res += expr[i] ?? '';\n }\n\n return res;\n};\n"],"names":["cx","_len","arguments","length","classes","Array","_key","filter","classItem","join","composableStyle","s","res","i","Math","max","_s$i","_ref","undefined"],"mappings":";;;;;;;AAOaA,IAAAA,EAAE,GAAG,SAALA,EAAEA,GAAA;AAAA,EAAA,KAAA,IAAAC,IAAA,GAAAC,SAAA,CAAAC,MAAA,EAAOC,OAAO,GAAAC,IAAAA,KAAA,CAAAJ,IAAA,GAAAK,IAAA,GAAA,CAAA,EAAAA,IAAA,GAAAL,IAAA,EAAAK,IAAA,EAAA,EAAA;AAAPF,IAAAA,OAAO,CAAAE,IAAA,CAAAJ,GAAAA,SAAA,CAAAI,IAAA,CAAA,CAAA;AAAA,GAAA;AAAA,EAAA,OAA6BF,OAAO,CAACG,MAAM,CAAC,UAACC,SAAS,EAAA;AAAA,IAAA,OAAKA,SAAS,CAAA;AAAA,GAAA,CAAC,CAACC,IAAI,CAAC,GAAG,CAAC,CAAA;AAAA,EAAA;IAE/FC,eAAe,GAAG,SAAlBA,eAAeA,CAAIC,CAAuB,EAA8D;EACjH,IAAIC,GAAG,GAAG,EAAE,CAAA;EACZ,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGC,IAAI,CAACC,GAAG,CAACJ,CAAC,CAACR,MAAM,EAAAD,SAAA,CAAAC,MAAA,IAAA,CAAA,GAAA,CAAA,GAAAD,SAAA,CAAAC,MAAA,GAAA,CAAa,CAAC,EAAE,EAAEU,CAAC,EAAE;IAAA,IAAAG,IAAA,EAAAC,IAAA,CAAA;AACtDL,IAAAA,GAAG,IAAAI,CAAAA,IAAA,GAAIL,CAAC,CAACE,CAAC,CAAC,MAAA,IAAA,IAAAG,IAAA,KAAA,KAAA,CAAA,GAAAA,IAAA,GAAI,EAAE,CAAA;IACjBJ,GAAG,IAAA,CAAAK,IAAA,GAASJ,CAAC,YAAAX,SAAA,CAAAC,MAAA,IAADU,CAAC,OAAAK,SAAA,GAAAhB,SAAA,CAADW,CAAC,mBAAAI,IAAA,KAAA,KAAA,CAAA,GAAAA,IAAA,GAAK,EAAE,CAAA;AACxB,GAAA;AAEA,EAAA,OAAOL,GAAG,CAAA;AACd;;;;;;;"}
@@ -1,5 +1,6 @@
1
1
  import './Button.styles_uqvh6u.css';
2
2
  import { styled } from '@linaria/react';
3
+ import 'focus-visible';
3
4
  import '@linaria/core';
4
5
  import { component, mergeConfig } from '../../engines/common.js';
5
6
  import { spinnerConfig } from '../Spinner/Spinner.js';
@@ -1 +1 @@
1
- {"version":3,"file":"Button.styles.js","sources":["../../../src/components/Button/Button.styles.ts"],"sourcesContent":["import { css } from '@linaria/core';\nimport { styled } from '@linaria/react';\n\nimport { applyEllipsis } from '../../mixins';\nimport { component, mergeConfig } from '../../engines';\nimport { spinnerConfig, spinnerTokens } from '../Spinner';\n\nimport { classes, tokens } from './Button.tokens';\n\n// issue #823\nconst mergedConfig = mergeConfig(spinnerConfig);\nconst Spinner = component(mergedConfig);\n\nexport const base = css`\n position: relative;\n display: inline-flex;\n align-items: center;\n box-sizing: border-box;\n justify-content: center;\n\n appearance: none;\n border: none;\n cursor: pointer;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n\n a& {\n text-decoration: none;\n }\n\n /* NOTE: \n --plasma_computed-btn-br-radius is defined in Button.tsx\n */\n --plasma_private-btn-br: var(--plasma_computed-btn-br);\n border-radius: var(--plasma_private-btn-br);\n\n &&.${String(classes.buttonSquare)} {\n width: var(${tokens.buttonHeight});\n padding: 0;\n }\n`;\n\n// TODO: PLASMA-2164\n// WHY do we need applyEllipsis ??\n// Если внутри кнопки тескт и на нее решили повесить square пропс\nexport const ButtonText = styled.span`\n :not(:last-child) {\n margin-right: 0.375rem;\n }\n\n :not(:first-child) {\n margin-left: 0.375rem;\n }\n\n ${applyEllipsis()}\n`;\n\n// TODO: #720\nexport const LoadWrap = styled.div<{ isLoading?: boolean }>`\n opacity: ${({ isLoading }) => (isLoading ? '0' : '1')};\n display: flex;\n width: 100%;\n align-items: inherit;\n justify-content: inherit;\n height: 100%;\n`;\n\nexport const Loader = styled.div`\n position: absolute;\n`;\n\nexport const StyledSpinner = styled(Spinner)`\n ${spinnerTokens.size}: var(${tokens.buttonSpinnerSize});\n ${spinnerTokens.color}: var(${tokens.buttonSpinnerColor});\n`;\n"],"names":["mergedConfig","mergeConfig","spinnerConfig","Spinner","component","base","ButtonText","styled","name","class","propsAsIs","_exp4","_ref","isLoading","LoadWrap","vars","Loader","_exp5","StyledSpinner"],"mappings":";;;;;AASA;AACA,IAAMA,YAAY,gBAAGC,WAAW,CAACC,aAAa,CAAC,CAAA;AAC/C,IAAMC,OAAO,gBAAGC,SAAS,CAACJ,YAAY,CAAC,CAAA;AAEhC,IAAMK,IAAI,GA0BhB,UAAA;;AAED;AACA;AACA;AACO,IAAMC,UAAU,gBAAGC,MAAM,CAAA,MAAA,CAAA,CAAA;AAAAC,EAAAA,IAAA,EAAA,YAAA;AAAAC,EAAAA,OAAAA,EAAA,SAAA;AAAAC,EAAAA,SAAA,EAAA,KAAA;AAAA,CAU/B,EAAA;;AAED;AAAA,IAAAC,KAAA,GAvDkBA,SAuDlBA,KAAAA,GAAA;AAAA,EAAA,OAEe,UAAAC,IAAA,EAAA;AAAA,IAAA,IAAGC,SAAAA,GAAAA,IAAAA,CAAAA,SAAAA,CAAAA;AAAAA,IAAAA,OAAiBA,SAAS,GAAG,GAAG,GAAG,GAAI,CAAA;AAAA,GAAA,CAAA;AAAA,CAAA,CAAA;AADlD,IAAMC,QAAQ,gBAAGP,MAAM,CAAA,KAAA,CAAA,CAAA;AAAAC,EAAAA,IAAA,EAAA,UAAA;AAAAC,EAAAA,OAAAA,EAAA,SAAA;AAAAC,EAAAA,SAAA,EAAA,KAAA;AAAAK,EAAAA,IAAA,EAAA;AAAA,IAAA,WAAA,EAAA,cACfJ,KAA0C,EAAA,CAAA;AAAA,GAAA;AAAA,CAMxD,EAAA;AAEM,IAAMK,MAAM,gBAAGT,MAAM,CAAA,KAAA,CAAA,CAAA;AAAAC,EAAAA,IAAA,EAAA,QAAA;AAAAC,EAAAA,OAAAA,EAAA,SAAA;AAAAC,EAAAA,SAAA,EAAA,KAAA;AAAA,CAE3B,EAAA;AAAC,IAAAO,KAAA,GAnEgBA,SAmEhBA,KAAAA,GAAA;AAAA,EAAA,OAEkCd,OAAO,CAAA;AAAA,CAAA,CAAA;AAApC,IAAMe,aAAa,gBAAGX,MAAM,CAAAU,KAAA,EAAA,CAAA,CAAA;AAAAT,EAAAA,IAAA,EAAA,eAAA;AAAAC,EAAAA,OAAAA,EAAA,SAAA;AAAAC,EAAAA,SAAA,EAAA,IAAA;AAAA,CAGlC;;;;"}
1
+ {"version":3,"file":"Button.styles.js","sources":["../../../src/components/Button/Button.styles.ts"],"sourcesContent":["import { css } from '@linaria/core';\nimport { styled } from '@linaria/react';\n\nimport { applyEllipsis, addFocus } from '../../mixins';\nimport { component, mergeConfig } from '../../engines';\nimport { spinnerConfig, spinnerTokens } from '../Spinner';\n\nimport { classes, tokens } from './Button.tokens';\n\n// issue #823\nconst mergedConfig = mergeConfig(spinnerConfig);\nconst Spinner = component(mergedConfig);\n\nexport const base = css`\n position: relative;\n display: inline-flex;\n align-items: center;\n box-sizing: border-box;\n justify-content: center;\n\n appearance: none;\n border: none;\n cursor: pointer;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n\n a& {\n text-decoration: none;\n }\n\n /* NOTE: \n --plasma_computed-btn-br-radius is defined in Button.tsx\n */\n --plasma_private-btn-br: var(--plasma_computed-btn-br);\n border-radius: var(--plasma_private-btn-br);\n\n &&.${String(classes.buttonSquare)} {\n width: var(${tokens.buttonHeight});\n padding: 0;\n }\n`;\n\n// TODO: PLASMA-2164\n// WHY do we need applyEllipsis ??\n// Если внутри кнопки тескт и на нее решили повесить square пропс\nexport const ButtonText = styled.span`\n :not(:last-child) {\n margin-right: 0.375rem;\n }\n\n :not(:first-child) {\n margin-left: 0.375rem;\n }\n\n ${applyEllipsis()}\n`;\n\n// TODO: #720\nexport const LoadWrap = styled.div<{ isLoading?: boolean }>`\n opacity: ${({ isLoading }) => (isLoading ? '0' : '1')};\n display: flex;\n width: 100%;\n align-items: inherit;\n justify-content: inherit;\n height: 100%;\n`;\n\nexport const Loader = styled.div`\n position: absolute;\n`;\n\nexport const StyledSpinner = styled(Spinner)`\n ${spinnerTokens.size}: var(${tokens.buttonSpinnerSize});\n ${spinnerTokens.color}: var(${tokens.buttonSpinnerColor});\n`;\n\n// INFO: Для возможности переиспользования стилей в других компонентах\nexport const baseContent = `\n position: relative;\n display: inline-flex;\n align-items: center;\n box-sizing: border-box;\n justify-content: center;\n\n appearance: none;\n border: none;\n cursor: pointer;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n\n a& {\n text-decoration: none;\n }\n\n /* NOTE: \n --plasma_computed-btn-br-radius is defined in Button.tsx\n */\n --plasma_private-btn-br: var(--plasma_computed-btn-br);\n border-radius: var(--plasma_private-btn-br);\n\n &&.${String(classes.buttonSquare)} {\n width: var(${tokens.buttonHeight});\n padding: 0;\n }\n\n color: var(${tokens.buttonColor});\n background-color: var(${tokens.buttonBackgroundColor});\n\n :hover {\n color: var(${tokens.buttonColorHover}, var(${tokens.buttonColor}));\n background-color: var(${tokens.buttonBackgroundColorHover}, var(${tokens.buttonBackgroundColor}));\n\n scale: var(${tokens.buttonScaleHover});\n }\n\n :active {\n color: var(${tokens.buttonColorActive}, var(${tokens.buttonColor}));\n background-color: var(${tokens.buttonBackgroundColorActive}, var(${tokens.buttonBackgroundColor}));\n\n scale: var(${tokens.buttonScaleActive});\n }\n\n height: var(${tokens.buttonHeight});\n width: var(${tokens.buttonWidth});\n\n /* TODO: #714 move these calc's to plasma-mapping | ds-generator and add Math.round() */\n padding: 0 var(${tokens.buttonPadding}, calc(var(${tokens.buttonHeight}) * 1.618 / 4));\n\n font-family: var(${tokens.buttonFontFamily});\n font-size: var(${tokens.buttonFontSize});\n font-style: var(${tokens.buttonFontStyle});\n font-weight: var(${tokens.buttonFontWeight});\n letter-spacing: var(${tokens.buttonLetterSpacing});\n line-height: var(${tokens.buttonLineHeight});\n\n /* TODO: #710 make it token API ? */\n --plasma_private-btn-outline-size: var(--plasma-button-outline-size, 0.0625rem);\n\n :focus {\n outline: none;\n }\n\n ${addFocus({\n outlineOffset: '-0.125rem',\n outlineSize: 'var(--plasma_private-btn-outline-size)',\n outlineRadius: 'calc(0.125rem + var(--plasma_private-btn-br))',\n outlineColor: `var(${tokens.buttonFocusColor})`,\n })}\n\n &[disabled] {\n opacity: var(${tokens.buttonDisabledOpacity});\n cursor: not-allowed;\n\n :hover,\n :active {\n scale: none;\n\n color: var(${tokens.buttonColor});\n background-color: var(${tokens.buttonBackgroundColor});\n }\n }\n\n &.${classes.fixedStretching} {\n width: var(${tokens.buttonWidth});\n }\n &.${classes.filledStretching} {\n width: 100%;\n }\n &.${classes.autoStretching} {\n width: auto;\n }\n`;\n"],"names":["mergedConfig","mergeConfig","spinnerConfig","Spinner","component","base","ButtonText","styled","name","class","propsAsIs","_exp4","_ref","isLoading","LoadWrap","vars","Loader","_exp5","StyledSpinner"],"mappings":";;;;;;AASA;AACA,IAAMA,YAAY,gBAAGC,WAAW,CAACC,aAAa,CAAC,CAAA;AAC/C,IAAMC,OAAO,gBAAGC,SAAS,CAACJ,YAAY,CAAC,CAAA;AAEhC,IAAMK,IAAI,GA0BhB,UAAA;;AAED;AACA;AACA;AACO,IAAMC,UAAU,gBAAGC,MAAM,CAAA,MAAA,CAAA,CAAA;AAAAC,EAAAA,IAAA,EAAA,YAAA;AAAAC,EAAAA,OAAAA,EAAA,SAAA;AAAAC,EAAAA,SAAA,EAAA,KAAA;AAAA,CAU/B,EAAA;;AAED;AAAA,IAAAC,KAAA,GAvDkBA,SAuDlBA,KAAAA,GAAA;AAAA,EAAA,OAEe,UAAAC,IAAA,EAAA;AAAA,IAAA,IAAGC,SAAAA,GAAAA,IAAAA,CAAAA,SAAAA,CAAAA;AAAAA,IAAAA,OAAiBA,SAAS,GAAG,GAAG,GAAG,GAAI,CAAA;AAAA,GAAA,CAAA;AAAA,CAAA,CAAA;AADlD,IAAMC,QAAQ,gBAAGP,MAAM,CAAA,KAAA,CAAA,CAAA;AAAAC,EAAAA,IAAA,EAAA,UAAA;AAAAC,EAAAA,OAAAA,EAAA,SAAA;AAAAC,EAAAA,SAAA,EAAA,KAAA;AAAAK,EAAAA,IAAA,EAAA;AAAA,IAAA,WAAA,EAAA,cACfJ,KAA0C,EAAA,CAAA;AAAA,GAAA;AAAA,CAMxD,EAAA;AAEM,IAAMK,MAAM,gBAAGT,MAAM,CAAA,KAAA,CAAA,CAAA;AAAAC,EAAAA,IAAA,EAAA,QAAA;AAAAC,EAAAA,OAAAA,EAAA,SAAA;AAAAC,EAAAA,SAAA,EAAA,KAAA;AAAA,CAE3B,EAAA;AAAC,IAAAO,KAAA,GAnEgBA,SAmEhBA,KAAAA,GAAA;AAAA,EAAA,OAEkCd,OAAO,CAAA;AAAA,CAAA,CAAA;AAApC,IAAMe,aAAa,gBAAGX,MAAM,CAAAU,KAAA,EAAA,CAAA,CAAA;AAAAT,EAAAA,IAAA,EAAA,eAAA;AAAAC,EAAAA,OAAAA,EAAA,SAAA;AAAAC,EAAAA,SAAA,EAAA,IAAA;AAAA,CAGlC;;;;"}
@@ -1,7 +1,6 @@
1
1
  import { useEffect } from 'react';
2
2
  import { usePreviousValue } from '../../../hooks/usePreviousValue.js';
3
3
  import { useDidMountEffect } from '../../../hooks/useDidMountEffect.js';
4
- import '../../../utils/react.js';
5
4
 
6
5
  var useFocusController = function useFocusController(_ref) {
7
6
  var _ref$controlledRefs = _ref.controlledRefs,
@@ -1 +1 @@
1
- {"version":3,"file":"useFocusController.js","sources":["../../../../src/components/Combobox/hooks/useFocusController.ts"],"sourcesContent":["import { useEffect } from 'react';\n\nimport { useDidMountEffect, usePreviousValue } from '../../../hooks';\nimport type { UseFocusControllerProps } from '../Combobox.types';\n\nexport const useFocusController = ({\n controlledRefs: { contentRef, inputHelperRef, inputRef },\n opened,\n hasValue,\n textContent,\n search,\n values,\n readOnly,\n valueType,\n closedWithoutChanges,\n updateSearch,\n updateFocused,\n onChipClick,\n}: UseFocusControllerProps) => {\n const prevSearch = usePreviousValue(search);\n const prevValues = usePreviousValue(values);\n const prevOpened = usePreviousValue(opened);\n\n useDidMountEffect(() => {\n if (!opened) {\n updateFocused(false);\n contentRef.current?.scrollTo({ left: 0 });\n }\n\n const hasFocusAfterClose = prevOpened !== undefined && !opened && !closedWithoutChanges?.current;\n\n if (opened || hasFocusAfterClose) {\n inputRef.current?.focus();\n }\n\n // INFO: Помогает определить, произошло ли закрытие выпадающего меню при выборе значения.\n // Нужно для того, чтобы не фокусироваться на инпуте\n // ОЧЕНЬ не нравится это решение, но оно работает\n if (closedWithoutChanges?.current === false) {\n closedWithoutChanges.current = true;\n }\n }, [opened]);\n\n useDidMountEffect(() => {\n const prevValuesCount = prevValues?.length || 0;\n const valuesCount = values?.length || 0;\n\n if ((opened || prevOpened) && prevValuesCount < valuesCount) {\n inputRef.current?.focus();\n }\n }, [values, readOnly]);\n\n useDidMountEffect(() => {\n if (!inputRef.current) {\n return;\n }\n\n // INFO: Для multiple\n if (search === '') {\n inputRef.current.style.flex = '1';\n }\n\n // INFO: Для single\n if (!opened && prevSearch !== search) {\n inputRef.current.style.flex = '1';\n }\n\n // INFO: Для кейсов, когда значение вырезано\n if (!inputRef.current.value.length) {\n inputRef.current.style.flex = '1';\n return;\n }\n\n if (valueType === 'multiple' && inputHelperRef.current) {\n const { clientWidth } = inputHelperRef.current;\n inputRef.current.style.flex = `1 0 ${clientWidth}px`;\n }\n }, [readOnly, search, valueType]);\n\n useEffect(() => {\n const newSearch = hasValue ? textContent : '';\n\n // INFO: Заполнить поле input при первой инициализации\n if (prevOpened !== undefined && opened) {\n return;\n }\n\n if (valueType === 'single') {\n updateSearch?.(newSearch, false);\n }\n\n if (valueType === 'multiple') {\n updateSearch?.('', false);\n }\n }, [updateSearch, values, opened, hasValue, textContent, valueType]);\n\n const onClickText = (event: React.MouseEvent<HTMLButtonElement>) => {\n onChipClick?.(event);\n inputRef.current?.focus();\n };\n\n const onFocusInput = () => {\n if (readOnly) {\n return;\n }\n\n // INFO: Жёсткий хак, нужный для корректного выделения всей строки после выбора значения.\n // Проблема возникает из-за очередности срабатывания useEffect, который сначала вызывает фокус\n // на элемент, а потом обновляет состояние inputRef\n if (valueType === 'single') {\n setTimeout(() => {\n inputRef.current?.select();\n });\n }\n\n contentRef.current?.scrollTo({ left: contentRef.current?.scrollWidth });\n\n updateFocused(true);\n };\n\n const onBlurInput = () => {\n if (!opened) {\n updateFocused(false);\n }\n };\n\n return { onClickText, onFocusInput, onBlurInput } as const;\n};\n"],"names":["useFocusController","_ref","_ref$controlledRefs","controlledRefs","contentRef","inputHelperRef","inputRef","opened","hasValue","textContent","search","values","readOnly","valueType","closedWithoutChanges","updateSearch","updateFocused","onChipClick","prevSearch","usePreviousValue","prevValues","prevOpened","useDidMountEffect","_contentRef$current","current","scrollTo","left","hasFocusAfterClose","undefined","_inputRef$current","focus","prevValuesCount","length","valuesCount","_inputRef$current2","style","flex","value","clientWidth","concat","useEffect","newSearch","onClickText","event","_inputRef$current3","onFocusInput","_contentRef$current2","_contentRef$current3","setTimeout","_inputRef$current4","select","scrollWidth","onBlurInput"],"mappings":"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"}
1
+ {"version":3,"file":"useFocusController.js","sources":["../../../../src/components/Combobox/hooks/useFocusController.ts"],"sourcesContent":["import { useEffect } from 'react';\n\nimport { useDidMountEffect, usePreviousValue } from '../../../hooks';\nimport type { UseFocusControllerProps } from '../Combobox.types';\n\nexport const useFocusController = ({\n controlledRefs: { contentRef, inputHelperRef, inputRef },\n opened,\n hasValue,\n textContent,\n search,\n values,\n readOnly,\n valueType,\n closedWithoutChanges,\n updateSearch,\n updateFocused,\n onChipClick,\n}: UseFocusControllerProps) => {\n const prevSearch = usePreviousValue(search);\n const prevValues = usePreviousValue(values);\n const prevOpened = usePreviousValue(opened);\n\n useDidMountEffect(() => {\n if (!opened) {\n updateFocused(false);\n contentRef.current?.scrollTo({ left: 0 });\n }\n\n const hasFocusAfterClose = prevOpened !== undefined && !opened && !closedWithoutChanges?.current;\n\n if (opened || hasFocusAfterClose) {\n inputRef.current?.focus();\n }\n\n // INFO: Помогает определить, произошло ли закрытие выпадающего меню при выборе значения.\n // Нужно для того, чтобы не фокусироваться на инпуте\n // ОЧЕНЬ не нравится это решение, но оно работает\n if (closedWithoutChanges?.current === false) {\n closedWithoutChanges.current = true;\n }\n }, [opened]);\n\n useDidMountEffect(() => {\n const prevValuesCount = prevValues?.length || 0;\n const valuesCount = values?.length || 0;\n\n if ((opened || prevOpened) && prevValuesCount < valuesCount) {\n inputRef.current?.focus();\n }\n }, [values, readOnly]);\n\n useDidMountEffect(() => {\n if (!inputRef.current) {\n return;\n }\n\n // INFO: Для multiple\n if (search === '') {\n inputRef.current.style.flex = '1';\n }\n\n // INFO: Для single\n if (!opened && prevSearch !== search) {\n inputRef.current.style.flex = '1';\n }\n\n // INFO: Для кейсов, когда значение вырезано\n if (!inputRef.current.value.length) {\n inputRef.current.style.flex = '1';\n return;\n }\n\n if (valueType === 'multiple' && inputHelperRef.current) {\n const { clientWidth } = inputHelperRef.current;\n inputRef.current.style.flex = `1 0 ${clientWidth}px`;\n }\n }, [readOnly, search, valueType]);\n\n useEffect(() => {\n const newSearch = hasValue ? textContent : '';\n\n // INFO: Заполнить поле input при первой инициализации\n if (prevOpened !== undefined && opened) {\n return;\n }\n\n if (valueType === 'single') {\n updateSearch?.(newSearch, false);\n }\n\n if (valueType === 'multiple') {\n updateSearch?.('', false);\n }\n }, [updateSearch, values, opened, hasValue, textContent, valueType]);\n\n const onClickText = (event: React.MouseEvent<HTMLButtonElement>) => {\n onChipClick?.(event);\n inputRef.current?.focus();\n };\n\n const onFocusInput = () => {\n if (readOnly) {\n return;\n }\n\n // INFO: Жёсткий хак, нужный для корректного выделения всей строки после выбора значения.\n // Проблема возникает из-за очередности срабатывания useEffect, который сначала вызывает фокус\n // на элемент, а потом обновляет состояние inputRef\n if (valueType === 'single') {\n setTimeout(() => {\n inputRef.current?.select();\n });\n }\n\n contentRef.current?.scrollTo({ left: contentRef.current?.scrollWidth });\n\n updateFocused(true);\n };\n\n const onBlurInput = () => {\n if (!opened) {\n updateFocused(false);\n }\n };\n\n return { onClickText, onFocusInput, onBlurInput } as const;\n};\n"],"names":["useFocusController","_ref","_ref$controlledRefs","controlledRefs","contentRef","inputHelperRef","inputRef","opened","hasValue","textContent","search","values","readOnly","valueType","closedWithoutChanges","updateSearch","updateFocused","onChipClick","prevSearch","usePreviousValue","prevValues","prevOpened","useDidMountEffect","_contentRef$current","current","scrollTo","left","hasFocusAfterClose","undefined","_inputRef$current","focus","prevValuesCount","length","valuesCount","_inputRef$current2","style","flex","value","clientWidth","concat","useEffect","newSearch","onClickText","event","_inputRef$current3","onFocusInput","_contentRef$current2","_contentRef$current3","setTimeout","_inputRef$current4","select","scrollWidth","onBlurInput"],"mappings":"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"}
@@ -11,6 +11,7 @@ import '@linaria/react';
11
11
  import { DEFAULT_Z_INDEX } from '../Popup/utils/index.js';
12
12
  import { Overlay } from '../Overlay/Overlay.js';
13
13
  import { panelConfig } from '../Panel/Panel.js';
14
+ import 'focus-visible';
14
15
  import { classes, tokens } from './Drawer.tokens.js';
15
16
  import { base } from './variations/_view/base.js';
16
17
  import { base as base$1 } from './variations/_size/base.js';
@@ -1 +1 @@
1
- {"version":3,"file":"Drawer.js","sources":["../../../src/components/Drawer/Drawer.tsx"],"sourcesContent":["import React, { forwardRef, useMemo } from 'react';\nimport { useFocusTrap, useForkRef, safeUseId } from '@salutejs/plasma-core';\n\nimport { component, mergeConfig } from '../../engines';\nimport type { RootProps } from '../../engines';\nimport { usePopupContext } from '../Popup';\nimport { Overlay } from '../Overlay';\nimport { DEFAULT_Z_INDEX } from '../Popup/utils';\nimport { panelConfig } from '../Panel';\nimport { getSizeValueFromProp } from '../../utils';\n\nimport { classes, tokens } from './Drawer.tokens';\nimport type { DrawerProps } from './Drawer.types';\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as sizeCSS } from './variations/_size/base';\nimport { base as borderRadiusCSS } from './variations/_borderRadius/base';\nimport { StyledPopup } from './Drawer.styles';\nimport { getIdLastDrawer } from './DrawerContext';\nimport { useDrawer } from './hooks';\n\n// issue #823\nconst mergedPanelConfig = mergeConfig(panelConfig);\nconst Panel = component(mergedPanelConfig);\n\nexport const drawerRoot = (Root: RootProps<HTMLDivElement, DrawerProps>) =>\n forwardRef<HTMLDivElement, DrawerProps>(\n (\n {\n id,\n zIndex,\n popupInfo,\n withBlur,\n children,\n view,\n size,\n width,\n height,\n isOpen,\n initialFocusRef,\n focusAfterRef,\n className,\n onClose,\n onOverlayClick,\n onEscKeyDown,\n offset,\n frame,\n borderRadius = 'none',\n placement = 'right',\n closeOnEsc = true,\n closeOnOverlayClick = true,\n asModal = true,\n ...rest\n },\n outerRef,\n ) => {\n const trapRef = useFocusTrap(true, initialFocusRef, focusAfterRef);\n const popupController = usePopupContext();\n\n const innerRef = useForkRef<HTMLDivElement>(trapRef, outerRef);\n\n const uniqId = safeUseId();\n const innerId = id || uniqId;\n const overlayBackgroundToken = withBlur\n ? `var(${tokens.drawerOverlayWithBlurColor})`\n : `var(${tokens.drawerOverlayColor})`;\n const innerWidth = width ? getSizeValueFromProp(width) : '100%';\n const innerHeight = height ? getSizeValueFromProp(height) : '100%';\n\n const { drawerInfo } = useDrawer({\n id: innerId,\n isOpen,\n closeOnEsc,\n onEscKeyDown,\n onClose,\n popupInfo,\n disableScroll: asModal,\n });\n const transparent = useMemo(() => getIdLastDrawer(popupController.items) !== innerId, [\n innerId,\n popupController.items,\n ]);\n\n const onDrawerOverlayKeyDown = (event: React.MouseEvent<HTMLDivElement>) => {\n if (onOverlayClick) {\n onOverlayClick(event);\n return;\n }\n\n if (onClose) {\n onClose();\n }\n };\n\n return (\n <StyledPopup\n id={innerId}\n ref={asModal ? innerRef : outerRef}\n isOpen={isOpen}\n zIndex={zIndex}\n placement={placement}\n popupInfo={drawerInfo}\n frame={frame}\n width={innerWidth}\n height={innerHeight}\n offset={offset}\n withAnimation\n overlay={\n asModal && (\n <Root view={view}>\n <Overlay\n className={classes.overlay}\n zIndex={zIndex || DEFAULT_Z_INDEX}\n backgroundColorProperty={overlayBackgroundToken}\n withBlur={withBlur}\n transparent={transparent}\n isClickable={closeOnOverlayClick}\n onOverlayClick={onDrawerOverlayKeyDown}\n />\n </Root>\n )\n }\n {...rest}\n >\n <Root\n view={view}\n size={size}\n style={{ width: innerWidth, height: innerHeight }}\n borderRadius={borderRadius}\n >\n <Panel width={innerWidth} height={innerHeight} className={className}>\n {children}\n </Panel>\n </Root>\n </StyledPopup>\n );\n },\n );\n\nexport const drawerConfig = {\n name: 'Drawer',\n tag: 'div',\n layout: drawerRoot,\n base: '',\n variations: {\n view: {\n css: viewCSS,\n },\n size: {\n css: sizeCSS,\n },\n borderRadius: {\n css: borderRadiusCSS,\n },\n },\n defaults: {\n view: 'default',\n size: 'm',\n borderRadius: 'none',\n },\n};\n"],"names":["mergedPanelConfig","mergeConfig","panelConfig","Panel","component","drawerRoot","Root","forwardRef","_ref","outerRef","id","zIndex","popupInfo","withBlur","children","view","size","width","height","isOpen","initialFocusRef","focusAfterRef","className","onClose","onOverlayClick","onEscKeyDown","offset","frame","_ref$borderRadius","borderRadius","_ref$placement","placement","_ref$closeOnEsc","closeOnEsc","_ref$closeOnOverlayCl","closeOnOverlayClick","_ref$asModal","asModal","rest","_objectWithoutProperties","_excluded","trapRef","useFocusTrap","popupController","usePopupContext","innerRef","useForkRef","uniqId","safeUseId","innerId","overlayBackgroundToken","concat","tokens","drawerOverlayWithBlurColor","drawerOverlayColor","innerWidth","getSizeValueFromProp","innerHeight","_useDrawer","useDrawer","disableScroll","drawerInfo","transparent","useMemo","getIdLastDrawer","items","onDrawerOverlayKeyDown","event","React","createElement","StyledPopup","_extends","ref","withAnimation","overlay","Overlay","classes","DEFAULT_Z_INDEX","backgroundColorProperty","isClickable","style","drawerConfig","name","tag","layout","base","variations","css","viewCSS","sizeCSS","borderRadiusCSS","defaults"],"mappings":"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"}
1
+ {"version":3,"file":"Drawer.js","sources":["../../../src/components/Drawer/Drawer.tsx"],"sourcesContent":["import React, { forwardRef, useMemo } from 'react';\nimport { useFocusTrap, useForkRef, safeUseId } from '@salutejs/plasma-core';\n\nimport { component, mergeConfig } from '../../engines';\nimport type { RootProps } from '../../engines';\nimport { usePopupContext } from '../Popup';\nimport { Overlay } from '../Overlay';\nimport { DEFAULT_Z_INDEX } from '../Popup/utils';\nimport { panelConfig } from '../Panel';\nimport { getSizeValueFromProp } from '../../utils';\n\nimport { classes, tokens } from './Drawer.tokens';\nimport type { DrawerProps } from './Drawer.types';\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as sizeCSS } from './variations/_size/base';\nimport { base as borderRadiusCSS } from './variations/_borderRadius/base';\nimport { StyledPopup } from './Drawer.styles';\nimport { getIdLastDrawer } from './DrawerContext';\nimport { useDrawer } from './hooks';\n\n// issue #823\nconst mergedPanelConfig = mergeConfig(panelConfig);\nconst Panel = component(mergedPanelConfig);\n\nexport const drawerRoot = (Root: RootProps<HTMLDivElement, DrawerProps>) =>\n forwardRef<HTMLDivElement, DrawerProps>(\n (\n {\n id,\n zIndex,\n popupInfo,\n withBlur,\n children,\n view,\n size,\n width,\n height,\n isOpen,\n initialFocusRef,\n focusAfterRef,\n className,\n onClose,\n onOverlayClick,\n onEscKeyDown,\n offset,\n frame,\n borderRadius = 'none',\n placement = 'right',\n closeOnEsc = true,\n closeOnOverlayClick = true,\n asModal = true,\n ...rest\n },\n outerRef,\n ) => {\n const trapRef = useFocusTrap(true, initialFocusRef, focusAfterRef);\n const popupController = usePopupContext();\n\n const innerRef = useForkRef<HTMLDivElement>(trapRef, outerRef);\n\n const uniqId = safeUseId();\n const innerId = id || uniqId;\n const overlayBackgroundToken = withBlur\n ? `var(${tokens.drawerOverlayWithBlurColor})`\n : `var(${tokens.drawerOverlayColor})`;\n const innerWidth = width ? getSizeValueFromProp(width) : '100%';\n const innerHeight = height ? getSizeValueFromProp(height) : '100%';\n\n const { drawerInfo } = useDrawer({\n id: innerId,\n isOpen,\n closeOnEsc,\n onEscKeyDown,\n onClose,\n popupInfo,\n disableScroll: asModal,\n });\n const transparent = useMemo(() => getIdLastDrawer(popupController.items) !== innerId, [\n innerId,\n popupController.items,\n ]);\n\n const onDrawerOverlayKeyDown = (event: React.MouseEvent<HTMLDivElement>) => {\n if (onOverlayClick) {\n onOverlayClick(event);\n return;\n }\n\n if (onClose) {\n onClose();\n }\n };\n\n return (\n <StyledPopup\n id={innerId}\n ref={asModal ? innerRef : outerRef}\n isOpen={isOpen}\n zIndex={zIndex}\n placement={placement}\n popupInfo={drawerInfo}\n frame={frame}\n width={innerWidth}\n height={innerHeight}\n offset={offset}\n withAnimation\n overlay={\n asModal && (\n <Root view={view}>\n <Overlay\n className={classes.overlay}\n zIndex={zIndex || DEFAULT_Z_INDEX}\n backgroundColorProperty={overlayBackgroundToken}\n withBlur={withBlur}\n transparent={transparent}\n isClickable={closeOnOverlayClick}\n onOverlayClick={onDrawerOverlayKeyDown}\n />\n </Root>\n )\n }\n {...rest}\n >\n <Root\n view={view}\n size={size}\n style={{ width: innerWidth, height: innerHeight }}\n borderRadius={borderRadius}\n >\n <Panel width={innerWidth} height={innerHeight} className={className}>\n {children}\n </Panel>\n </Root>\n </StyledPopup>\n );\n },\n );\n\nexport const drawerConfig = {\n name: 'Drawer',\n tag: 'div',\n layout: drawerRoot,\n base: '',\n variations: {\n view: {\n css: viewCSS,\n },\n size: {\n css: sizeCSS,\n },\n borderRadius: {\n css: borderRadiusCSS,\n },\n },\n defaults: {\n view: 'default',\n size: 'm',\n borderRadius: 'none',\n },\n};\n"],"names":["mergedPanelConfig","mergeConfig","panelConfig","Panel","component","drawerRoot","Root","forwardRef","_ref","outerRef","id","zIndex","popupInfo","withBlur","children","view","size","width","height","isOpen","initialFocusRef","focusAfterRef","className","onClose","onOverlayClick","onEscKeyDown","offset","frame","_ref$borderRadius","borderRadius","_ref$placement","placement","_ref$closeOnEsc","closeOnEsc","_ref$closeOnOverlayCl","closeOnOverlayClick","_ref$asModal","asModal","rest","_objectWithoutProperties","_excluded","trapRef","useFocusTrap","popupController","usePopupContext","innerRef","useForkRef","uniqId","safeUseId","innerId","overlayBackgroundToken","concat","tokens","drawerOverlayWithBlurColor","drawerOverlayColor","innerWidth","getSizeValueFromProp","innerHeight","_useDrawer","useDrawer","disableScroll","drawerInfo","transparent","useMemo","getIdLastDrawer","items","onDrawerOverlayKeyDown","event","React","createElement","StyledPopup","_extends","ref","withAnimation","overlay","Overlay","classes","DEFAULT_Z_INDEX","backgroundColorProperty","isClickable","style","drawerConfig","name","tag","layout","base","variations","css","viewCSS","sizeCSS","borderRadiusCSS","defaults"],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ .base_1gusher_b1chvyq8__76b641f5{color:var(--plasma-spinner-color);}
2
+
3
+ .base_ova69f_bw56nfh__55225c7f{width:var(--plasma-spinner-size);height:var(--plasma-spinner-size);}
4
+
5
+ .Spinner_styles_13q7ndk_b1hp2dsz__af962114{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;box-sizing:border-box;}
6
+ .Spinner_styles_13q7ndk_s122r4cn__af962114{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;width:var(--s122r4cn-0);height:var(--s122r4cn-1);-webkit-animation:Spinner_styles_13q7ndk_rotateS122r4cn__af962114 1s linear infinite;animation:Spinner_styles_13q7ndk_rotateS122r4cn__af962114 1s linear infinite;}@-webkit-keyframes Spinner_styles_13q7ndk_rotateS122r4cn__af962114{from{-webkit-transform:rotate(0);-ms-transform:rotate(0);transform:rotate(0);}to{-webkit-transform:rotate(360deg);-ms-transform:rotate(360deg);transform:rotate(360deg);}}@keyframes Spinner_styles_13q7ndk_rotateS122r4cn__af962114{from{-webkit-transform:rotate(0);-ms-transform:rotate(0);transform:rotate(0);}to{-webkit-transform:rotate(360deg);-ms-transform:rotate(360deg);transform:rotate(360deg);}}
7
+
8
+ .Button_styles_uqvh6u_bzw1898__b7cda4d5{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;box-sizing:border-box;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;cursor:pointer;-webkit-tap-highlight-color:rgba(0,0,0,0);--plasma_private-btn-br:var(--plasma_computed-btn-br);border-radius:var(--plasma_private-btn-br);}a.Button_styles_uqvh6u_bzw1898__b7cda4d5{-webkit-text-decoration:none;text-decoration:none;}.Button_styles_uqvh6u_bzw1898__b7cda4d5.Button_styles_uqvh6u_bzw1898__b7cda4d5.Button_styles_uqvh6u_buttonSquare__b7cda4d5{width:var(--plasma-button-height);padding:0;}
9
+ .Button_styles_uqvh6u_bdfuqwe__b7cda4d5{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}.Button_styles_uqvh6u_bdfuqwe__b7cda4d5:not(:last-child){margin-right:0.375rem;}.Button_styles_uqvh6u_bdfuqwe__b7cda4d5:not(:first-child){margin-left:0.375rem;}
10
+ .Button_styles_uqvh6u_l9ypozh__b7cda4d5{opacity:var(--l9ypozh-0);display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;width:100%;-webkit-align-items:inherit;-webkit-box-align:inherit;-ms-flex-align:inherit;align-items:inherit;-webkit-box-pack:inherit;-webkit-justify-content:inherit;-ms-flex-pack:inherit;justify-content:inherit;height:100%;}
11
+ .Button_styles_uqvh6u_l4dfhbg__b7cda4d5{position:absolute;}
12
+ .Button_styles_uqvh6u_srdlazt__b7cda4d5{--plasma-spinner-size:var(--plasma-button-spinner-size);--plasma-spinner-color:var(--plasma-button-spinner-color);}
13
+
14
+ .base_x95x4p_b1ty39ru__349bf40b{color:var(--plasma-button-color);background-color:var(--plasma-button-background-color);}.base_x95x4p_b1ty39ru__349bf40b:hover{color:var(--plasma-button-color-hover,var(--plasma-button-color));background-color:var(--plasma-button-background-color-hover,var(--plasma-button-background-color));scale:var(--plasma-button-scale-hover);}.base_x95x4p_b1ty39ru__349bf40b:active{color:var(--plasma-button-color-active,var(--plasma-button-color));background-color:var(--plasma-button-background-color-active,var(--plasma-button-background-color));scale:var(---plasma-button-scale-active);}
15
+
16
+ .base_1alzrso_be0ha5g__cdc67255{height:var(--plasma-button-height);padding:0 var(--plasma-button-padding,calc(var(--plasma-button-height) * 1.618 / 4));font-family:var(--plasma-button-font-family);font-size:var(--plasma-button-font-size);font-style:var(--plasma-button-font-style);font-weight:var(--plasma-button-font-weight);-webkit-letter-spacing:var(--plasma-button-letter-spacing);-moz-letter-spacing:var(--plasma-button-letter-spacing);-ms-letter-spacing:var(--plasma-button-letter-spacing);letter-spacing:var(--plasma-button-letter-spacing);line-height:var(--plasma-button-line-height);--plasma_private-btn-outline-size:var(--plasma-button-outline-size,0.0625rem);}
17
+
18
+ .base_1t3ywu_b169l30m__aba40ddd[disabled]{opacity:var(--plasma-button-disabled-opacity);cursor:not-allowed;}.base_1t3ywu_b169l30m__aba40ddd[disabled]:hover,.base_1t3ywu_b169l30m__aba40ddd[disabled]:active{scale:none;color:var(--plasma-button-color);background-color:var(--plasma-button-background-color);}
19
+
20
+ .base_1kq737e_b187cmzt__d829f64a{position:relative;}.base_1kq737e_b187cmzt__d829f64a:focus{outline:none;}.base_1kq737e_b187cmzt__d829f64a::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:var(--plasma_private-btn-outline-size) solid transparent;border-radius:calc(0.125rem + var(--plasma_private-btn-br));-webkit-transition:box-shadow 0.2s ease-in-out;transition:box-shadow 0.2s ease-in-out;pointer-events:none;}.base_1kq737e_b187cmzt__d829f64a.base_1kq737e_focusVisible__d829f64a:focus::before,.base_1kq737e_b187cmzt__d829f64a[data-focus-visible-added]::before{outline:none;box-shadow:0 0 0 var(--plasma_private-btn-outline-size) var(--plasma-button-focus-color);}
21
+
22
+ .base_1lx0ute_bdz31nb__16e78f09.base_1lx0ute_buttonStretchingFixed__16e78f09{width:var(--plasma-button-width);}.base_1lx0ute_bdz31nb__16e78f09.base_1lx0ute_buttonStretchingFilled__16e78f09{width:100%;}.base_1lx0ute_bdz31nb__16e78f09.base_1lx0ute_buttonStretchingAuto__16e78f09{width:auto;}
23
+
24
+ .IconButton_styles_1hknr37_b1ua728l__f14249fc{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;box-sizing:border-box;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;cursor:pointer;-webkit-tap-highlight-color:rgba(0,0,0,0);--plasma_private-btn-br:var(--plasma_computed-btn-br);border-radius:var(--plasma_private-btn-br);color:var(--plasma-button-color);background-color:var(--plasma-button-background-color);height:var(--plasma-button-height);width:var(--plasma-button-width);padding:0 var(--plasma-button-padding,calc(var(--plasma-button-height) * 1.618 / 4));font-family:var(--plasma-button-font-family);font-size:var(--plasma-button-font-size);font-style:var(--plasma-button-font-style);font-weight:var(--plasma-button-font-weight);-webkit-letter-spacing:var(--plasma-button-letter-spacing);-moz-letter-spacing:var(--plasma-button-letter-spacing);-ms-letter-spacing:var(--plasma-button-letter-spacing);letter-spacing:var(--plasma-button-letter-spacing);line-height:var(--plasma-button-line-height);--plasma_private-btn-outline-size:var(--plasma-button-outline-size,0.0625rem);position:relative;--plasma-button-padding:0;--plasma-button-color:var(--plasma-icon-button-color);--plasma-button-background-color:var(--plasma-icon-button-background-color);--plasma-button-color-hover:var(--plasma-icon-button-color-hover);--plasma-button-background-color-hover:var(--plasma-icon-button-background-color-hover);--plasma-button-color-active:var(--plasma-icon-button-color-active);--plasma-button-background-color-active:var(--plasma-icon-button-background-color-active);--plasma-button-font-family:var(--plasma-icon-button-font-family);--plasma-button-font-size:var(--plasma-icon-button-font-size);--plasma-button-font-style:var(--plasma-icon-button-font-style);--plasma-button-font-weight:var(--plasma-icon-button-font-weight);--plasma-button-letter-spacing:var(--plasma-icon-button-letter-spacing);--plasma-button-line-height:var(--plasma-icon-button-line-height);--plasma-button-width:var(--plasma-icon-button-width);--plasma-button-height:var(--plasma-icon-button-height);--plasma-button-radius:var(--plasma-icon-button-radius);--plasma-button-disabled-opacity:var(--plasma-icon-button-disabled-opacity);--plasma-button-focus-color:var(--plasma-icon-button-focus-color);--plasma-button-spinner-size:var(--plasma-icon-button-spinner-size);--plasma-button-spinner-color:var(--plasma-icon-button-spinner-color);}a.IconButton_styles_1hknr37_b1ua728l__f14249fc{-webkit-text-decoration:none;text-decoration:none;}.IconButton_styles_1hknr37_b1ua728l__f14249fc.IconButton_styles_1hknr37_b1ua728l__f14249fc.IconButton_styles_1hknr37_buttonSquare__f14249fc{width:var(--plasma-button-height);padding:0;}.IconButton_styles_1hknr37_b1ua728l__f14249fc:hover{color:var(--plasma-button-color-hover,var(--plasma-button-color));background-color:var(--plasma-button-background-color-hover,var(--plasma-button-background-color));scale:var(--plasma-button-scale-hover);}.IconButton_styles_1hknr37_b1ua728l__f14249fc:active{color:var(--plasma-button-color-active,var(--plasma-button-color));background-color:var(--plasma-button-background-color-active,var(--plasma-button-background-color));scale:var(---plasma-button-scale-active);}.IconButton_styles_1hknr37_b1ua728l__f14249fc:focus{outline:none;}.IconButton_styles_1hknr37_b1ua728l__f14249fc::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:var(--plasma_private-btn-outline-size) solid transparent;border-radius:calc(0.125rem + var(--plasma_private-btn-br));-webkit-transition:box-shadow 0.2s ease-in-out;transition:box-shadow 0.2s ease-in-out;pointer-events:none;}.IconButton_styles_1hknr37_b1ua728l__f14249fc.IconButton_styles_1hknr37_focusVisible__f14249fc:focus::before,.IconButton_styles_1hknr37_b1ua728l__f14249fc[data-focus-visible-added]::before{outline:none;box-shadow:0 0 0 var(--plasma_private-btn-outline-size) var(--plasma-button-focus-color);}.IconButton_styles_1hknr37_b1ua728l__f14249fc[disabled]{opacity:var(--plasma-button-disabled-opacity);cursor:not-allowed;}.IconButton_styles_1hknr37_b1ua728l__f14249fc[disabled]:hover,.IconButton_styles_1hknr37_b1ua728l__f14249fc[disabled]:active{scale:none;color:var(--plasma-button-color);background-color:var(--plasma-button-background-color);}.IconButton_styles_1hknr37_b1ua728l__f14249fc.IconButton_styles_1hknr37_buttonStretchingFixed__f14249fc{width:var(--plasma-button-width);}.IconButton_styles_1hknr37_b1ua728l__f14249fc.IconButton_styles_1hknr37_buttonStretchingFilled__f14249fc{width:100%;}.IconButton_styles_1hknr37_b1ua728l__f14249fc.IconButton_styles_1hknr37_buttonStretchingAuto__f14249fc{width:auto;}
@@ -0,0 +1,45 @@
1
+ import { buttonRoot } from '../Button/Button.js';
2
+ import { base as base$1 } from '../Button/variations/_view/base.js';
3
+ import { base as base$2 } from '../Button/variations/_size/base.js';
4
+ import { base as base$3 } from '../Button/variations/_disabled/base.js';
5
+ import { base as base$4 } from '../Button/variations/_focused/base.js';
6
+ import { base as base$5 } from '../Button/variations/_blurred/base.js';
7
+ import { base as base$6 } from '../Button/variations/_stretching/base.js';
8
+ import { base } from './IconButton.styles.js';
9
+
10
+ var iconButtonRoot = buttonRoot;
11
+ var iconButtonConfig = {
12
+ name: 'IconButton',
13
+ tag: 'button',
14
+ layout: iconButtonRoot,
15
+ base: base,
16
+ variations: {
17
+ view: {
18
+ css: base$1
19
+ },
20
+ size: {
21
+ css: base$2
22
+ },
23
+ disabled: {
24
+ css: base$3,
25
+ attrs: true
26
+ },
27
+ focused: {
28
+ css: base$4
29
+ },
30
+ blurred: {
31
+ css: base$5
32
+ },
33
+ stretching: {
34
+ css: base$6
35
+ }
36
+ },
37
+ defaults: {
38
+ view: 'secondary',
39
+ size: 'm',
40
+ stretching: 'fixed'
41
+ }
42
+ };
43
+
44
+ export { iconButtonConfig, iconButtonRoot };
45
+ //# sourceMappingURL=IconButton.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IconButton.js","sources":["../../../src/components/IconButton/IconButton.tsx"],"sourcesContent":["import { buttonRoot } from '../Button';\nimport { base as viewCSS } from '../Button/variations/_view/base';\nimport { base as sizeCSS } from '../Button/variations/_size/base';\nimport { base as disabledCSS } from '../Button/variations/_disabled/base';\nimport { base as focusedCSS } from '../Button/variations/_focused/base';\nimport { base as blurredCSS } from '../Button/variations/_blurred/base';\nimport { base as stretchingCSS } from '../Button/variations/_stretching/base';\n\nimport { base } from './IconButton.styles';\n\nexport const iconButtonRoot = buttonRoot;\n\nexport const iconButtonConfig = {\n name: 'IconButton',\n tag: 'button',\n layout: iconButtonRoot,\n base,\n variations: {\n view: {\n css: viewCSS,\n },\n size: {\n css: sizeCSS,\n },\n disabled: {\n css: disabledCSS,\n attrs: true,\n },\n focused: {\n css: focusedCSS,\n },\n blurred: {\n css: blurredCSS,\n },\n stretching: {\n css: stretchingCSS,\n },\n },\n defaults: {\n view: 'secondary',\n size: 'm',\n stretching: 'fixed',\n },\n};\n"],"names":["iconButtonRoot","buttonRoot","iconButtonConfig","name","tag","layout","base","variations","view","css","viewCSS","size","sizeCSS","disabled","disabledCSS","attrs","focused","focusedCSS","blurred","blurredCSS","stretching","stretchingCSS","defaults"],"mappings":";;;;;;;;;AAUO,IAAMA,cAAc,GAAGC,WAAU;AAEjC,IAAMC,gBAAgB,GAAG;AAC5BC,EAAAA,IAAI,EAAE,YAAY;AAClBC,EAAAA,GAAG,EAAE,QAAQ;AACbC,EAAAA,MAAM,EAAEL,cAAc;AACtBM,EAAAA,IAAI,EAAJA,IAAI;AACJC,EAAAA,UAAU,EAAE;AACRC,IAAAA,IAAI,EAAE;AACFC,MAAAA,GAAG,EAAEC,MAAAA;KACR;AACDC,IAAAA,IAAI,EAAE;AACFF,MAAAA,GAAG,EAAEG,MAAAA;KACR;AACDC,IAAAA,QAAQ,EAAE;AACNJ,MAAAA,GAAG,EAAEK,MAAW;AAChBC,MAAAA,KAAK,EAAE,IAAA;KACV;AACDC,IAAAA,OAAO,EAAE;AACLP,MAAAA,GAAG,EAAEQ,MAAAA;KACR;AACDC,IAAAA,OAAO,EAAE;AACLT,MAAAA,GAAG,EAAEU,MAAAA;KACR;AACDC,IAAAA,UAAU,EAAE;AACRX,MAAAA,GAAG,EAAEY,MAAAA;AACT,KAAA;GACH;AACDC,EAAAA,QAAQ,EAAE;AACNd,IAAAA,IAAI,EAAE,WAAW;AACjBG,IAAAA,IAAI,EAAE,GAAG;AACTS,IAAAA,UAAU,EAAE,OAAA;AAChB,GAAA;AACJ;;;;"}
@@ -0,0 +1,12 @@
1
+ import './IconButton.styles_1hknr37.css';
2
+ import 'react';
3
+ import '../../utils/react.js';
4
+ import '@linaria/react';
5
+ import 'focus-visible';
6
+ import '@linaria/core';
7
+ import '@salutejs/plasma-core';
8
+
9
+ var base = "b1ua728l";
10
+
11
+ export { base };
12
+ //# sourceMappingURL=IconButton.styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IconButton.styles.js","sources":["../../../src/components/IconButton/IconButton.styles.ts"],"sourcesContent":["import { css } from '@linaria/core';\n\nimport { buttonTokens } from '../Button';\nimport { baseContent as buttonBase } from '../Button/Button.styles';\n\nimport { tokens } from './IconButton.tokens';\n\nexport const mappingOverride = `\n ${buttonTokens.buttonPadding}: 0;\n\n ${buttonTokens.buttonColor}: var(${tokens.iconButtonColor});\n ${buttonTokens.buttonBackgroundColor}: var(${tokens.iconButtonBackgroundColor});\n\n ${buttonTokens.buttonColorHover}: var(${tokens.iconButtonColorHover});\n ${buttonTokens.buttonBackgroundColorHover}: var(${tokens.iconButtonBackgroundColorHover});\n\n ${buttonTokens.buttonColorActive}: var(${tokens.iconButtonColorActive});\n ${buttonTokens.buttonBackgroundColorActive}: var(${tokens.iconButtonBackgroundColorActive});\n\n\n ${buttonTokens.buttonFontFamily}: var(${tokens.iconButtonFontFamily});\n ${buttonTokens.buttonFontSize}: var(${tokens.iconButtonFontSize});\n ${buttonTokens.buttonFontStyle}: var(${tokens.iconButtonFontStyle});\n ${buttonTokens.buttonFontWeight}:var(${tokens.iconButtonFontWeight});\n ${buttonTokens.buttonLetterSpacing}: var(${tokens.iconButtonLetterSpacing});\n ${buttonTokens.buttonLineHeight}: var(${tokens.iconButtonLineHeight});\n\n ${buttonTokens.buttonWidth}: var(${tokens.iconButtonWidth});\n ${buttonTokens.buttonHeight}: var(${tokens.iconButtonHeight});\n ${buttonTokens.buttonRadius}: var(${tokens.iconButtonRadius});\n\n ${buttonTokens.buttonDisabledOpacity}: var(${tokens.iconButtonDisabledOpacity});\n ${buttonTokens.buttonFocusColor}: var(${tokens.iconButtonFocusColor});\n\n ${buttonTokens.buttonSpinnerSize}: var(${tokens.iconButtonSpinnerSize});\n ${buttonTokens.buttonSpinnerColor}: var(${tokens.iconButtonSpinnerColor});\n`;\n\nexport const base = css`\n ${buttonBase};\n ${mappingOverride};\n`;\n"],"names":["base"],"mappings":";;;;;;;AAsCO,IAAMA,IAAI,GAGhB;;;;"}
@@ -0,0 +1 @@
1
+ .b1ua728l{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;box-sizing:border-box;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;cursor:pointer;-webkit-tap-highlight-color:rgba(0,0,0,0);--plasma_private-btn-br:var(--plasma_computed-btn-br);border-radius:var(--plasma_private-btn-br);color:var(--plasma-button-color);background-color:var(--plasma-button-background-color);height:var(--plasma-button-height);width:var(--plasma-button-width);padding:0 var(--plasma-button-padding,calc(var(--plasma-button-height) * 1.618 / 4));font-family:var(--plasma-button-font-family);font-size:var(--plasma-button-font-size);font-style:var(--plasma-button-font-style);font-weight:var(--plasma-button-font-weight);-webkit-letter-spacing:var(--plasma-button-letter-spacing);-moz-letter-spacing:var(--plasma-button-letter-spacing);-ms-letter-spacing:var(--plasma-button-letter-spacing);letter-spacing:var(--plasma-button-letter-spacing);line-height:var(--plasma-button-line-height);--plasma_private-btn-outline-size:var(--plasma-button-outline-size,0.0625rem);position:relative;--plasma-button-padding:0;--plasma-button-color:var(--plasma-icon-button-color);--plasma-button-background-color:var(--plasma-icon-button-background-color);--plasma-button-color-hover:var(--plasma-icon-button-color-hover);--plasma-button-background-color-hover:var(--plasma-icon-button-background-color-hover);--plasma-button-color-active:var(--plasma-icon-button-color-active);--plasma-button-background-color-active:var(--plasma-icon-button-background-color-active);--plasma-button-font-family:var(--plasma-icon-button-font-family);--plasma-button-font-size:var(--plasma-icon-button-font-size);--plasma-button-font-style:var(--plasma-icon-button-font-style);--plasma-button-font-weight:var(--plasma-icon-button-font-weight);--plasma-button-letter-spacing:var(--plasma-icon-button-letter-spacing);--plasma-button-line-height:var(--plasma-icon-button-line-height);--plasma-button-width:var(--plasma-icon-button-width);--plasma-button-height:var(--plasma-icon-button-height);--plasma-button-radius:var(--plasma-icon-button-radius);--plasma-button-disabled-opacity:var(--plasma-icon-button-disabled-opacity);--plasma-button-focus-color:var(--plasma-icon-button-focus-color);--plasma-button-spinner-size:var(--plasma-icon-button-spinner-size);--plasma-button-spinner-color:var(--plasma-icon-button-spinner-color);}a.b1ua728l{-webkit-text-decoration:none;text-decoration:none;}.b1ua728l.b1ua728l.button-square{width:var(--plasma-button-height);padding:0;}.b1ua728l:hover{color:var(--plasma-button-color-hover,var(--plasma-button-color));background-color:var(--plasma-button-background-color-hover,var(--plasma-button-background-color));scale:var(--plasma-button-scale-hover);}.b1ua728l:active{color:var(--plasma-button-color-active,var(--plasma-button-color));background-color:var(--plasma-button-background-color-active,var(--plasma-button-background-color));scale:var(---plasma-button-scale-active);}.b1ua728l:focus{outline:none;}.b1ua728l::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:var(--plasma_private-btn-outline-size) solid transparent;border-radius:calc(0.125rem + var(--plasma_private-btn-br));-webkit-transition:box-shadow 0.2s ease-in-out;transition:box-shadow 0.2s ease-in-out;pointer-events:none;}.b1ua728l.focus-visible:focus::before,.b1ua728l[data-focus-visible-added]::before{outline:none;box-shadow:0 0 0 var(--plasma_private-btn-outline-size) var(--plasma-button-focus-color);}.b1ua728l[disabled]{opacity:var(--plasma-button-disabled-opacity);cursor:not-allowed;}.b1ua728l[disabled]:hover,.b1ua728l[disabled]:active{scale:none;color:var(--plasma-button-color);background-color:var(--plasma-button-background-color);}.b1ua728l.button-stretching-fixed{width:var(--plasma-button-width);}.b1ua728l.button-stretching-filled{width:100%;}.b1ua728l.button-stretching-auto{width:auto;}
@@ -0,0 +1,28 @@
1
+ var tokens = {
2
+ iconButtonColor: '--plasma-icon-button-color',
3
+ iconButtonBackgroundColor: '--plasma-icon-button-background-color',
4
+ iconButtonColorHover: '--plasma-icon-button-color-hover',
5
+ iconButtonBackgroundColorHover: '--plasma-icon-button-background-color-hover',
6
+ iconButtonColorActive: '--plasma-icon-button-color-active',
7
+ iconButtonBackgroundColorActive: '--plasma-icon-button-background-color-active',
8
+ iconButtonScaleHover: '--plasma-icon-button-scale-hover',
9
+ iconButtonScaleActive: '---plasma-icon-button-scale-active',
10
+ iconButtonHeight: '--plasma-icon-button-height',
11
+ iconButtonWidth: '--plasma-icon-button-width',
12
+ iconButtonPadding: '--plasma-icon-button-padding',
13
+ iconButtonRadius: '--plasma-icon-button-radius',
14
+ iconButtonRadiusCircle: '--plasma-icon-button-radius-circle',
15
+ iconButtonFontFamily: '--plasma-icon-button-font-family',
16
+ iconButtonFontSize: '--plasma-icon-button-font-size',
17
+ iconButtonFontStyle: '--plasma-icon-button-font-style',
18
+ iconButtonFontWeight: '--plasma-icon-button-font-weight',
19
+ iconButtonLetterSpacing: '--plasma-icon-button-letter-spacing',
20
+ iconButtonLineHeight: '--plasma-icon-button-line-height',
21
+ iconButtonDisabledOpacity: '--plasma-icon-button-disabled-opacity',
22
+ iconButtonFocusColor: '--plasma-icon-button-focus-color',
23
+ iconButtonSpinnerColor: '--plasma-icon-button-spinner-color',
24
+ iconButtonSpinnerSize: '--plasma-icon-button-spinner-size'
25
+ };
26
+
27
+ export { tokens };
28
+ //# sourceMappingURL=IconButton.tokens.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IconButton.tokens.js","sources":["../../../src/components/IconButton/IconButton.tokens.ts"],"sourcesContent":["export const tokens = {\n iconButtonColor: '--plasma-icon-button-color',\n iconButtonBackgroundColor: '--plasma-icon-button-background-color',\n iconButtonColorHover: '--plasma-icon-button-color-hover',\n iconButtonBackgroundColorHover: '--plasma-icon-button-background-color-hover',\n iconButtonColorActive: '--plasma-icon-button-color-active',\n iconButtonBackgroundColorActive: '--plasma-icon-button-background-color-active',\n\n iconButtonScaleHover: '--plasma-icon-button-scale-hover',\n iconButtonScaleActive: '---plasma-icon-button-scale-active',\n iconButtonHeight: '--plasma-icon-button-height',\n iconButtonWidth: '--plasma-icon-button-width',\n iconButtonPadding: '--plasma-icon-button-padding',\n iconButtonRadius: '--plasma-icon-button-radius',\n iconButtonRadiusCircle: '--plasma-icon-button-radius-circle',\n\n iconButtonFontFamily: '--plasma-icon-button-font-family',\n iconButtonFontSize: '--plasma-icon-button-font-size',\n iconButtonFontStyle: '--plasma-icon-button-font-style',\n iconButtonFontWeight: '--plasma-icon-button-font-weight',\n iconButtonLetterSpacing: '--plasma-icon-button-letter-spacing',\n iconButtonLineHeight: '--plasma-icon-button-line-height',\n\n iconButtonDisabledOpacity: '--plasma-icon-button-disabled-opacity',\n iconButtonFocusColor: '--plasma-icon-button-focus-color',\n\n iconButtonSpinnerColor: '--plasma-icon-button-spinner-color',\n iconButtonSpinnerSize: '--plasma-icon-button-spinner-size',\n};\n"],"names":["tokens","iconButtonColor","iconButtonBackgroundColor","iconButtonColorHover","iconButtonBackgroundColorHover","iconButtonColorActive","iconButtonBackgroundColorActive","iconButtonScaleHover","iconButtonScaleActive","iconButtonHeight","iconButtonWidth","iconButtonPadding","iconButtonRadius","iconButtonRadiusCircle","iconButtonFontFamily","iconButtonFontSize","iconButtonFontStyle","iconButtonFontWeight","iconButtonLetterSpacing","iconButtonLineHeight","iconButtonDisabledOpacity","iconButtonFocusColor","iconButtonSpinnerColor","iconButtonSpinnerSize"],"mappings":"AAAO,IAAMA,MAAM,GAAG;AAClBC,EAAAA,eAAe,EAAE,4BAA4B;AAC7CC,EAAAA,yBAAyB,EAAE,uCAAuC;AAClEC,EAAAA,oBAAoB,EAAE,kCAAkC;AACxDC,EAAAA,8BAA8B,EAAE,6CAA6C;AAC7EC,EAAAA,qBAAqB,EAAE,mCAAmC;AAC1DC,EAAAA,+BAA+B,EAAE,8CAA8C;AAE/EC,EAAAA,oBAAoB,EAAE,kCAAkC;AACxDC,EAAAA,qBAAqB,EAAE,oCAAoC;AAC3DC,EAAAA,gBAAgB,EAAE,6BAA6B;AAC/CC,EAAAA,eAAe,EAAE,4BAA4B;AAC7CC,EAAAA,iBAAiB,EAAE,8BAA8B;AACjDC,EAAAA,gBAAgB,EAAE,6BAA6B;AAC/CC,EAAAA,sBAAsB,EAAE,oCAAoC;AAE5DC,EAAAA,oBAAoB,EAAE,kCAAkC;AACxDC,EAAAA,kBAAkB,EAAE,gCAAgC;AACpDC,EAAAA,mBAAmB,EAAE,iCAAiC;AACtDC,EAAAA,oBAAoB,EAAE,kCAAkC;AACxDC,EAAAA,uBAAuB,EAAE,qCAAqC;AAC9DC,EAAAA,oBAAoB,EAAE,kCAAkC;AAExDC,EAAAA,yBAAyB,EAAE,uCAAuC;AAClEC,EAAAA,oBAAoB,EAAE,kCAAkC;AAExDC,EAAAA,sBAAsB,EAAE,oCAAoC;AAC5DC,EAAAA,qBAAqB,EAAE,mCAAA;AAC3B;;;;"}
@@ -13,13 +13,11 @@ import { classes } from './TextField.tokens.js';
13
13
  import { TextFieldChip } from './ui/TextFieldChip/TextFieldChip.js';
14
14
  import { useKeyNavigation } from './hooks/useKeyNavigation.js';
15
15
 
16
- var _excluded = ["id", "className", "style", "contentLeft", "contentRight", "label", "labelPlacement", "placeholder", "leftHelper", "enumerationType", "view", "size", "readOnly", "disabled", "chips", "onChange", "onChangeChips", "onSearch"];
16
+ var _excluded = ["id", "contentLeft", "contentRight", "label", "labelPlacement", "placeholder", "leftHelper", "enumerationType", "view", "size", "readOnly", "disabled", "chips", "onChange", "onChangeChips", "onSearch"];
17
17
  var base = "bpunezx";
18
18
  var textFieldRoot = function textFieldRoot(Root) {
19
19
  return /*#__PURE__*/forwardRef(function (_ref, ref) {
20
20
  var id = _ref.id,
21
- className = _ref.className,
22
- style = _ref.style,
23
21
  contentLeft = _ref.contentLeft,
24
22
  contentRight = _ref.contentRight,
25
23
  label = _ref.label,
@@ -135,9 +133,7 @@ var textFieldRoot = function textFieldRoot(Root) {
135
133
  disabled: disabled,
136
134
  readOnly: !disabled && readOnly,
137
135
  labelPlacement: innerLabelPlacementValue,
138
- onClick: handleInputFocus,
139
- className: className,
140
- style: style
136
+ onClick: handleInputFocus
141
137
  }, labelInside || innerLabelValue && /*#__PURE__*/React.createElement(Label, {
142
138
  id: labelId,
143
139
  htmlFor: id
@@ -1 +1 @@
1
- {"version":3,"file":"TextField.js","sources":["../../../src/components/TextField/TextField.tsx"],"sourcesContent":["import React, { forwardRef, useEffect, useRef, useState } from 'react';\nimport type { ChangeEventHandler } from 'react';\nimport { safeUseId } from '@salutejs/plasma-core';\nimport { css } from '@linaria/core';\n\nimport type { RootProps } from '../../engines';\nimport { cx } from '../../utils';\n\nimport type { ChipValues, TextFieldPrimitiveValue, TextFieldProps } from './TextField.types';\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 readOnlyCSS } from './variations/_read-only/base';\nimport { base as labelPlacementCSS } from './variations/_label-placement/base';\nimport {\n Input,\n LeftHelper,\n Label,\n InputWrapper,\n InputLabelWrapper,\n StyledContentLeft,\n StyledContentRight,\n StyledChips,\n} from './TextField.styles';\nimport { classes } from './TextField.tokens';\nimport { TextFieldChip } from './ui';\nimport { useKeyNavigation } from './hooks/useKeyNavigation';\n\nexport const base = css`\n /* NOTE: Webkit не применяет opacity к inline тегам */\n display: block;\n overflow: hidden;\n`;\n\nexport const textFieldRoot = (Root: RootProps<HTMLDivElement, TextFieldProps>) =>\n forwardRef<HTMLDivElement, TextFieldProps>(\n (\n {\n id,\n className,\n style,\n\n // layout\n contentLeft,\n contentRight,\n label,\n labelPlacement,\n placeholder,\n leftHelper,\n enumerationType = 'plain',\n\n // variations\n view,\n size,\n readOnly = false,\n disabled = false,\n\n // controlled\n chips: values,\n\n // events\n onChange,\n onChangeChips,\n onSearch,\n\n ...rest\n },\n ref,\n ) => {\n const contentRef = useRef<HTMLDivElement>(null);\n const inputRef = useRef<HTMLInputElement>(null);\n const chipsRefs = useRef<Array<HTMLButtonElement>>([]);\n\n const controlledRefs = { contentRef, inputRef, chipsRefs };\n\n const [chips, setChips] = useState<Array<ChipValues>>([]);\n\n const uniqId = safeUseId();\n const innerId = id || uniqId;\n const labelId = safeUseId();\n const helperTextId = safeUseId();\n\n const isChipEnumeration = enumerationType === 'chip';\n const hideLabel = (size === 'xs' || isChipEnumeration) && labelPlacement === 'inner';\n const labelInside = size !== 'xs' && labelPlacement === 'inner';\n const innerLabelPlacementValue = hideLabel ? 'outer' : labelPlacement;\n const innerPlaceholderValue = hideLabel ? label : placeholder;\n const innerLabelValue = hideLabel ? undefined : label;\n\n const isChipsVisible = isChipEnumeration && chips?.length;\n const withHasChips = isChipsVisible ? classes.hasChips : undefined;\n const wrapperWithoutLeftContent = !contentLeft && isChipsVisible ? classes.hasEmptyContentLeft : undefined;\n const wrapperWithoutRightContent =\n !contentRight && isChipsVisible ? classes.hasEmptyContentRight : undefined;\n\n const handleChange: ChangeEventHandler<HTMLInputElement> = (event) => {\n if (disabled || readOnly) {\n return;\n }\n\n const { maxLength, value } = event.target;\n\n if (maxLength !== -1 && value.length > maxLength) {\n return;\n }\n\n onChange?.(event);\n };\n\n const updateChips = (newChips: Array<ChipValues>, newValues: Array<TextFieldPrimitiveValue>) => {\n setChips(newChips);\n onChangeChips?.(newValues);\n };\n\n const { handleInputKeydown, handleChipKeyDown, onChipClear, handleContentKeyDown } = useKeyNavigation({\n controlledRefs,\n disabled,\n readOnly,\n chips,\n enumerationType,\n updateChips,\n onSearch,\n onChange,\n });\n\n const onChipClick = (event: React.MouseEvent<HTMLButtonElement>) => event.stopPropagation();\n\n const handleInputFocus = () => {\n if (readOnly || disabled || !inputRef?.current) {\n return;\n }\n\n inputRef.current.scrollIntoView({\n behavior: 'smooth',\n block: 'center',\n inline: 'center',\n });\n inputRef.current.focus({ preventScroll: true });\n };\n\n const getRef = (element: HTMLButtonElement | null, index: number) => {\n if (element && chipsRefs?.current) {\n chipsRefs.current[index] = element;\n }\n };\n\n useEffect(() => {\n if (!isChipEnumeration && !values?.length) {\n return;\n }\n\n const newChips =\n values?.map((value, index) => ({\n id: `${index}_${value}`,\n text: value,\n })) || [];\n\n setChips(newChips);\n }, [isChipEnumeration, values]);\n\n return (\n <Root\n ref={ref}\n view={view}\n size={size}\n disabled={disabled}\n readOnly={!disabled && readOnly}\n labelPlacement={innerLabelPlacementValue}\n onClick={handleInputFocus}\n className={className}\n style={style}\n >\n {labelInside ||\n (innerLabelValue && (\n <Label id={labelId} htmlFor={id}>\n {innerLabelValue}\n </Label>\n ))}\n <InputWrapper className={cx(withHasChips, wrapperWithoutLeftContent, wrapperWithoutRightContent)}>\n {contentLeft && <StyledContentLeft>{contentLeft}</StyledContentLeft>}\n <InputLabelWrapper\n tabIndex={-1}\n ref={contentRef}\n onKeyDown={handleContentKeyDown}\n className={withHasChips}\n >\n {isChipEnumeration && Boolean(chips?.length) && (\n <StyledChips>\n {chips?.map(({ id: chipId, text }, index) => {\n return (\n <TextFieldChip\n id={chipId}\n ref={(element) => getRef(element, index)}\n key={`${chipId}_${index}`}\n disabled={disabled}\n readOnly={readOnly}\n value={text}\n text={text}\n onKeyDown={(event) => handleChipKeyDown(event, chipId, index)}\n onClear={() => onChipClear(chipId, index)}\n onClick={onChipClick}\n />\n );\n })}\n </StyledChips>\n )}\n <Input\n {...rest}\n ref={inputRef}\n id={innerId}\n aria-labelledby={labelId}\n aria-describedby={helperTextId}\n placeholder={innerPlaceholderValue}\n disabled={disabled}\n readOnly={!disabled && readOnly}\n onChange={handleChange}\n onKeyDown={handleInputKeydown}\n />\n {labelInside && (\n <Label id={labelId} htmlFor={innerId}>\n {innerLabelValue}\n </Label>\n )}\n </InputLabelWrapper>\n {contentRight && <StyledContentRight>{contentRight}</StyledContentRight>}\n </InputWrapper>\n {leftHelper && <LeftHelper id={helperTextId}>{leftHelper}</LeftHelper>}\n </Root>\n );\n },\n );\n\nexport const textFieldConfig = {\n name: 'TextField',\n tag: 'div',\n layout: textFieldRoot,\n base,\n variations: {\n view: {\n css: viewCSS,\n },\n size: {\n css: sizeCSS,\n },\n disabled: {\n css: disabledCSS,\n attrs: true,\n },\n readOnly: {\n css: readOnlyCSS,\n attrs: true,\n },\n labelPlacement: {\n css: labelPlacementCSS,\n },\n },\n defaults: {\n size: 'm',\n view: 'default',\n },\n};\n"],"names":["base","textFieldRoot","Root","forwardRef","_ref","ref","id","className","style","contentLeft","contentRight","label","labelPlacement","placeholder","leftHelper","_ref$enumerationType","enumerationType","view","size","_ref$readOnly","readOnly","_ref$disabled","disabled","values","chips","onChange","onChangeChips","onSearch","rest","contentRef","useRef","inputRef","chipsRefs","controlledRefs","_useState","useState","_useState2","_slicedToArray","setChips","uniqId","safeUseId","innerId","labelId","helperTextId","isChipEnumeration","hideLabel","labelInside","innerLabelPlacementValue","innerPlaceholderValue","innerLabelValue","undefined","isChipsVisible","length","withHasChips","classes","hasChips","wrapperWithoutLeftContent","hasEmptyContentLeft","wrapperWithoutRightContent","hasEmptyContentRight","handleChange","event","_event$target","target","maxLength","value","updateChips","newChips","newValues","_useKeyNavigation","useKeyNavigation","handleInputKeydown","handleChipKeyDown","onChipClear","handleContentKeyDown","onChipClick","stopPropagation","handleInputFocus","current","scrollIntoView","behavior","block","inline","focus","preventScroll","getRef","element","index","useEffect","map","concat","text","React","createElement","onClick","Label","htmlFor","InputWrapper","cx","StyledContentLeft","InputLabelWrapper","tabIndex","onKeyDown","Boolean","StyledChips","_ref2","chipId","TextFieldChip","key","onClear","Input","_extends","StyledContentRight","LeftHelper","textFieldConfig","name","tag","layout","variations","css","viewCSS","sizeCSS","disabledCSS","attrs","readOnlyCSS","labelPlacementCSS","defaults"],"mappings":";;;;;;;;;;;;;;;AA4BO,IAAMA,IAAI,GAIhB,UAAA;IAEYC,aAAa,GAAGA,SAAhBA,aAAaA,CAAIC,IAA+C,EAAA;AAAA,EAAA,oBACzEC,UAAU,CACN,UAAAC,IAAA,EA+BIC,GAAG,EACF;AAAA,IAAA,IA9BGC,EAAE,GAAAF,IAAA,CAAFE,EAAE;MACFC,SAAS,GAAAH,IAAA,CAATG,SAAS;MACTC,KAAK,GAAAJ,IAAA,CAALI,KAAK;MAGLC,WAAW,GAAAL,IAAA,CAAXK,WAAW;MACXC,YAAY,GAAAN,IAAA,CAAZM,YAAY;MACZC,KAAK,GAAAP,IAAA,CAALO,KAAK;MACLC,cAAc,GAAAR,IAAA,CAAdQ,cAAc;MACdC,WAAW,GAAAT,IAAA,CAAXS,WAAW;MACXC,UAAU,GAAAV,IAAA,CAAVU,UAAU;MAAAC,oBAAA,GAAAX,IAAA,CACVY,eAAe;AAAfA,MAAAA,eAAe,GAAAD,oBAAA,KAAG,KAAA,CAAA,GAAA,OAAO,GAAAA,oBAAA;MAGzBE,IAAI,GAAAb,IAAA,CAAJa,IAAI;MACJC,IAAI,GAAAd,IAAA,CAAJc,IAAI;MAAAC,aAAA,GAAAf,IAAA,CACJgB,QAAQ;AAARA,MAAAA,QAAQ,GAAAD,aAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,aAAA;MAAAE,aAAA,GAAAjB,IAAA,CAChBkB,QAAQ;AAARA,MAAAA,QAAQ,GAAAD,aAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,aAAA;MAGTE,MAAM,GAAAnB,IAAA,CAAboB,KAAK;MAGLC,QAAQ,GAAArB,IAAA,CAARqB,QAAQ;MACRC,aAAa,GAAAtB,IAAA,CAAbsB,aAAa;MACbC,QAAQ,GAAAvB,IAAA,CAARuB,QAAQ;AAELC,MAAAA,IAAAA,GAAAA,wBAAAA,CAAAA,IAAAA,EAAAA,SAAAA,CAAAA,CAAAA;AAIP,IAAA,IAAMC,UAAU,GAAGC,MAAM,CAAiB,IAAI,CAAC,CAAA;AAC/C,IAAA,IAAMC,QAAQ,GAAGD,MAAM,CAAmB,IAAI,CAAC,CAAA;AAC/C,IAAA,IAAME,SAAS,GAAGF,MAAM,CAA2B,EAAE,CAAC,CAAA;AAEtD,IAAA,IAAMG,cAAc,GAAG;AAAEJ,MAAAA,UAAU,EAAVA,UAAU;AAAEE,MAAAA,QAAQ,EAARA,QAAQ;AAAEC,MAAAA,SAAAA,EAAAA,SAAAA;KAAW,CAAA;AAE1D,IAAA,IAAAE,SAAA,GAA0BC,QAAQ,CAAoB,EAAE,CAAC;MAAAC,UAAA,GAAAC,cAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAAlDV,MAAAA,KAAK,GAAAY,UAAA,CAAA,CAAA,CAAA;AAAEE,MAAAA,QAAQ,GAAAF,UAAA,CAAA,CAAA,CAAA,CAAA;AAEtB,IAAA,IAAMG,MAAM,GAAGC,SAAS,EAAE,CAAA;AAC1B,IAAA,IAAMC,OAAO,GAAGnC,EAAE,IAAIiC,MAAM,CAAA;AAC5B,IAAA,IAAMG,OAAO,GAAGF,SAAS,EAAE,CAAA;AAC3B,IAAA,IAAMG,YAAY,GAAGH,SAAS,EAAE,CAAA;AAEhC,IAAA,IAAMI,iBAAiB,GAAG5B,eAAe,KAAK,MAAM,CAAA;IACpD,IAAM6B,SAAS,GAAG,CAAC3B,IAAI,KAAK,IAAI,IAAI0B,iBAAiB,KAAKhC,cAAc,KAAK,OAAO,CAAA;IACpF,IAAMkC,WAAW,GAAG5B,IAAI,KAAK,IAAI,IAAIN,cAAc,KAAK,OAAO,CAAA;AAC/D,IAAA,IAAMmC,wBAAwB,GAAGF,SAAS,GAAG,OAAO,GAAGjC,cAAc,CAAA;AACrE,IAAA,IAAMoC,qBAAqB,GAAGH,SAAS,GAAGlC,KAAK,GAAGE,WAAW,CAAA;AAC7D,IAAA,IAAMoC,eAAe,GAAGJ,SAAS,GAAGK,SAAS,GAAGvC,KAAK,CAAA;IAErD,IAAMwC,cAAc,GAAGP,iBAAiB,KAAIpB,KAAK,aAALA,KAAK,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAALA,KAAK,CAAE4B,MAAM,CAAA,CAAA;IACzD,IAAMC,YAAY,GAAGF,cAAc,GAAGG,OAAO,CAACC,QAAQ,GAAGL,SAAS,CAAA;IAClE,IAAMM,yBAAyB,GAAG,CAAC/C,WAAW,IAAI0C,cAAc,GAAGG,OAAO,CAACG,mBAAmB,GAAGP,SAAS,CAAA;IAC1G,IAAMQ,0BAA0B,GAC5B,CAAChD,YAAY,IAAIyC,cAAc,GAAGG,OAAO,CAACK,oBAAoB,GAAGT,SAAS,CAAA;AAE9E,IAAA,IAAMU,YAAkD,GAAIC,SAAtDD,YAAkDA,CAAIC,KAAK,EAAK;MAClE,IAAIvC,QAAQ,IAAIF,QAAQ,EAAE;AACtB,QAAA,OAAA;AACJ,OAAA;AAEA,MAAA,IAAA0C,aAAA,GAA6BD,KAAK,CAACE,MAAM;QAAjCC,SAAS,GAAAF,aAAA,CAATE,SAAS;QAAEC,KAAAA,GAAAA,aAAAA,CAAAA,KAAAA,CAAAA;MAEnB,IAAID,SAAS,KAAK,CAAC,CAAC,IAAIC,KAAK,CAACb,MAAM,GAAGY,SAAS,EAAE;AAC9C,QAAA,OAAA;AACJ,OAAA;AAEAvC,MAAAA,QAAQ,aAARA,QAAQ,KAAA,KAAA,CAAA,IAARA,QAAQ,CAAGoC,KAAK,CAAC,CAAA;KACpB,CAAA;IAED,IAAMK,WAAW,GAAGA,SAAdA,WAAWA,CAAIC,QAA2B,EAAEC,SAAyC,EAAK;MAC5F9B,QAAQ,CAAC6B,QAAQ,CAAC,CAAA;AAClBzC,MAAAA,aAAa,aAAbA,aAAa,KAAA,KAAA,CAAA,IAAbA,aAAa,CAAG0C,SAAS,CAAC,CAAA;KAC7B,CAAA;IAED,IAAAC,iBAAA,GAAqFC,gBAAgB,CAAC;AAClGrC,QAAAA,cAAc,EAAdA,cAAc;AACdX,QAAAA,QAAQ,EAARA,QAAQ;AACRF,QAAAA,QAAQ,EAARA,QAAQ;AACRI,QAAAA,KAAK,EAALA,KAAK;AACLR,QAAAA,eAAe,EAAfA,eAAe;AACfkD,QAAAA,WAAW,EAAXA,WAAW;AACXvC,QAAAA,QAAQ,EAARA,QAAQ;AACRF,QAAAA,QAAAA,EAAAA,QAAAA;AACJ,OAAC,CAAC;MATM8C,kBAAkB,GAAAF,iBAAA,CAAlBE,kBAAkB;MAAEC,iBAAiB,GAAAH,iBAAA,CAAjBG,iBAAiB;MAAEC,WAAW,GAAAJ,iBAAA,CAAXI,WAAW;MAAEC,oBAAAA,GAAAA,iBAAAA,CAAAA,oBAAAA,CAAAA;AAW5D,IAAA,IAAMC,WAAW,GAAGA,SAAdA,WAAWA,CAAId,KAA0C,EAAA;AAAA,MAAA,OAAKA,KAAK,CAACe,eAAe,EAAE,CAAA;AAAA,KAAA,CAAA;AAE3F,IAAA,IAAMC,gBAAgB,GAAGA,SAAnBA,gBAAgBA,GAAS;AAC3B,MAAA,IAAIzD,QAAQ,IAAIE,QAAQ,IAAI,EAACS,QAAQ,KAARA,IAAAA,IAAAA,QAAQ,KAARA,KAAAA,CAAAA,IAAAA,QAAQ,CAAE+C,OAAO,CAAE,EAAA;AAC5C,QAAA,OAAA;AACJ,OAAA;AAEA/C,MAAAA,QAAQ,CAAC+C,OAAO,CAACC,cAAc,CAAC;AAC5BC,QAAAA,QAAQ,EAAE,QAAQ;AAClBC,QAAAA,KAAK,EAAE,QAAQ;AACfC,QAAAA,MAAM,EAAE,QAAA;AACZ,OAAC,CAAC,CAAA;AACFnD,MAAAA,QAAQ,CAAC+C,OAAO,CAACK,KAAK,CAAC;AAAEC,QAAAA,aAAa,EAAE,IAAA;AAAK,OAAC,CAAC,CAAA;KAClD,CAAA;IAED,IAAMC,MAAM,GAAGA,SAATA,MAAMA,CAAIC,OAAiC,EAAEC,KAAa,EAAK;MACjE,IAAID,OAAO,IAAItD,SAAS,KAAA,IAAA,IAATA,SAAS,KAATA,KAAAA,CAAAA,IAAAA,SAAS,CAAE8C,OAAO,EAAE;AAC/B9C,QAAAA,SAAS,CAAC8C,OAAO,CAACS,KAAK,CAAC,GAAGD,OAAO,CAAA;AACtC,OAAA;KACH,CAAA;AAEDE,IAAAA,SAAS,CAAC,YAAM;MACZ,IAAI,CAAC5C,iBAAiB,IAAI,EAACrB,MAAM,KAANA,IAAAA,IAAAA,MAAM,KAANA,KAAAA,CAAAA,IAAAA,MAAM,CAAE6B,MAAM,CAAE,EAAA;AACvC,QAAA,OAAA;AACJ,OAAA;AAEA,MAAA,IAAMe,QAAQ,GACV5C,CAAAA,MAAM,aAANA,MAAM,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAANA,MAAM,CAAEkE,GAAG,CAAC,UAACxB,KAAK,EAAEsB,KAAK,EAAA;QAAA,OAAM;UAC3BjF,EAAE,EAAA,EAAA,CAAAoF,MAAA,CAAKH,KAAM,OAAAG,MAAA,CAAGzB,KAAM,CAAC;AACvB0B,UAAAA,IAAI,EAAE1B,KAAAA;SACT,CAAA;OAAC,CAAC,KAAI,EAAE,CAAA;MAEb3B,QAAQ,CAAC6B,QAAQ,CAAC,CAAA;AACtB,KAAC,EAAE,CAACvB,iBAAiB,EAAErB,MAAM,CAAC,CAAC,CAAA;AAE/B,IAAA,oBACIqE,KAAA,CAAAC,aAAA,CAAC3F,IAAI,EAAA;AACDG,MAAAA,GAAG,EAAEA,GAAI;AACTY,MAAAA,IAAI,EAAEA,IAAK;AACXC,MAAAA,IAAI,EAAEA,IAAK;AACXI,MAAAA,QAAQ,EAAEA,QAAS;AACnBF,MAAAA,QAAQ,EAAE,CAACE,QAAQ,IAAIF,QAAS;AAChCR,MAAAA,cAAc,EAAEmC,wBAAyB;AACzC+C,MAAAA,OAAO,EAAEjB,gBAAiB;AAC1BtE,MAAAA,SAAS,EAAEA,SAAU;AACrBC,MAAAA,KAAK,EAAEA,KAAAA;KAENsC,EAAAA,WAAW,IACPG,eAAe,iBACZ2C,KAAA,CAAAC,aAAA,CAACE,KAAK,EAAA;AAACzF,MAAAA,EAAE,EAAEoC,OAAQ;AAACsD,MAAAA,OAAO,EAAE1F,EAAAA;AAAG,KAAA,EAC3B2C,eACE,CACT,eACN2C,KAAA,CAAAC,aAAA,CAACI,YAAY,EAAA;AAAC1F,MAAAA,SAAS,EAAE2F,EAAE,CAAC7C,YAAY,EAAEG,yBAAyB,EAAEE,0BAA0B,CAAA;AAAE,KAAA,EAC5FjD,WAAW,iBAAImF,KAAA,CAAAC,aAAA,CAACM,iBAAiB,EAAE1F,IAAAA,EAAAA,WAA+B,CAAC,eACpEmF,KAAA,CAAAC,aAAA,CAACO,iBAAiB,EAAA;MACdC,QAAQ,EAAE,CAAC,CAAE;AACbhG,MAAAA,GAAG,EAAEwB,UAAW;AAChByE,MAAAA,SAAS,EAAE5B,oBAAqB;AAChCnE,MAAAA,SAAS,EAAE8C,YAAAA;AAAa,KAAA,EAEvBT,iBAAiB,IAAI2D,OAAO,CAAC/E,KAAK,KAAA,IAAA,IAALA,KAAK,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAALA,KAAK,CAAE4B,MAAM,CAAC,iBACxCwC,KAAA,CAAAC,aAAA,CAACW,WAAW,EAAA,IAAA,EACPhF,KAAK,KAAA,IAAA,IAALA,KAAK,KAALA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,KAAK,CAAEiE,GAAG,CAAC,UAAAgB,KAAA,EAAuBlB,KAAK,EAAK;AAAA,MAAA,IAA1BmB,MAAM,GAAAD,KAAA,CAAVnG,EAAE;QAAUqF,IAAAA,GAAAA,KAAAA,CAAAA,IAAAA,CAAAA;AACvB,MAAA,oBACIC,KAAA,CAAAC,aAAA,CAACc,aAAa,EAAA;AACVrG,QAAAA,EAAE,EAAEoG,MAAO;QACXrG,GAAG,EAAGiF,SAAAA,GAAAA,CAAAA,OAAO,EAAA;AAAA,UAAA,OAAKD,MAAM,CAACC,OAAO,EAAEC,KAAK,CAAC,CAAA;SAAC;QACzCqB,GAAG,EAAA,EAAA,CAAAlB,MAAA,CAAKgB,MAAO,OAAAhB,MAAA,CAAGH,KAAM,CAAE;AAC1BjE,QAAAA,QAAQ,EAAEA,QAAS;AACnBF,QAAAA,QAAQ,EAAEA,QAAS;AACnB6C,QAAAA,KAAK,EAAE0B,IAAK;AACZA,QAAAA,IAAI,EAAEA,IAAK;QACXW,SAAS,EAAGzC,SAAAA,SAAAA,CAAAA,KAAK,EAAA;AAAA,UAAA,OAAKW,iBAAiB,CAACX,KAAK,EAAE6C,MAAM,EAAEnB,KAAK,CAAC,CAAA;SAAC;QAC9DsB,OAAO,EAAE,SAAAA,OAAA,GAAA;AAAA,UAAA,OAAMpC,WAAW,CAACiC,MAAM,EAAEnB,KAAK,CAAC,CAAA;SAAC;AAC1CO,QAAAA,OAAO,EAAEnB,WAAAA;AAAY,OACvB,CAAA,CAAA;KAET,CACQ,CAChB,eACDiB,KAAA,CAAAC,aAAA,CAACiB,KAAK,EAAAC,QAAA,CAAA,EAAA,EACEnF,IAAI,EAAA;AACRvB,MAAAA,GAAG,EAAE0B,QAAS;AACdzB,MAAAA,EAAE,EAAEmC,OAAQ;AACZ,MAAA,iBAAA,EAAiBC,OAAQ;AACzB,MAAA,kBAAA,EAAkBC,YAAa;AAC/B9B,MAAAA,WAAW,EAAEmC,qBAAsB;AACnC1B,MAAAA,QAAQ,EAAEA,QAAS;AACnBF,MAAAA,QAAQ,EAAE,CAACE,QAAQ,IAAIF,QAAS;AAChCK,MAAAA,QAAQ,EAAEmC,YAAa;AACvB0C,MAAAA,SAAS,EAAE/B,kBAAAA;KAAmB,CAAA,CAAA,EAEjCzB,WAAW,iBACR8C,KAAA,CAAAC,aAAA,CAACE,KAAK,EAAA;AAACzF,MAAAA,EAAE,EAAEoC,OAAQ;AAACsD,MAAAA,OAAO,EAAEvD,OAAAA;KACxBQ,EAAAA,eACE,CAEI,CAAA,EAClBvC,YAAY,iBAAIkF,KAAA,CAAAC,aAAA,CAACmB,kBAAkB,QAAEtG,YAAiC,CAC7D,CAAA,EACbI,UAAU,iBAAI8E,KAAA,CAAAC,aAAA,CAACoB,UAAU,EAAA;AAAC3G,MAAAA,EAAE,EAAEqC,YAAAA;KAAe7B,EAAAA,UAAuB,CACnE,CAAC,CAAA;AAEf,GACJ,CAAC,CAAA;AAAA,EAAA;AAEE,IAAMoG,eAAe,GAAG;AAC3BC,EAAAA,IAAI,EAAE,WAAW;AACjBC,EAAAA,GAAG,EAAE,KAAK;AACVC,EAAAA,MAAM,EAAEpH,aAAa;AACrBD,EAAAA,IAAI,EAAJA,IAAI;AACJsH,EAAAA,UAAU,EAAE;AACRrG,IAAAA,IAAI,EAAE;AACFsG,MAAAA,GAAG,EAAEC,MAAAA;KACR;AACDtG,IAAAA,IAAI,EAAE;AACFqG,MAAAA,GAAG,EAAEE,MAAAA;KACR;AACDnG,IAAAA,QAAQ,EAAE;AACNiG,MAAAA,GAAG,EAAEG,MAAW;AAChBC,MAAAA,KAAK,EAAE,IAAA;KACV;AACDvG,IAAAA,QAAQ,EAAE;AACNmG,MAAAA,GAAG,EAAEK,MAAW;AAChBD,MAAAA,KAAK,EAAE,IAAA;KACV;AACD/G,IAAAA,cAAc,EAAE;AACZ2G,MAAAA,GAAG,EAAEM,MAAAA;AACT,KAAA;GACH;AACDC,EAAAA,QAAQ,EAAE;AACN5G,IAAAA,IAAI,EAAE,GAAG;AACTD,IAAAA,IAAI,EAAE,SAAA;AACV,GAAA;AACJ;;;;"}
1
+ {"version":3,"file":"TextField.js","sources":["../../../src/components/TextField/TextField.tsx"],"sourcesContent":["import React, { forwardRef, useEffect, useRef, useState } from 'react';\nimport type { ChangeEventHandler } from 'react';\nimport { safeUseId } from '@salutejs/plasma-core';\nimport { css } from '@linaria/core';\n\nimport type { RootProps } from '../../engines';\nimport { cx } from '../../utils';\n\nimport type { ChipValues, TextFieldPrimitiveValue, TextFieldProps } from './TextField.types';\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 readOnlyCSS } from './variations/_read-only/base';\nimport { base as labelPlacementCSS } from './variations/_label-placement/base';\nimport {\n Input,\n LeftHelper,\n Label,\n InputWrapper,\n InputLabelWrapper,\n StyledContentLeft,\n StyledContentRight,\n StyledChips,\n} from './TextField.styles';\nimport { classes } from './TextField.tokens';\nimport { TextFieldChip } from './ui';\nimport { useKeyNavigation } from './hooks/useKeyNavigation';\n\nexport const base = css`\n /* NOTE: Webkit не применяет opacity к inline тегам */\n display: block;\n overflow: hidden;\n`;\n\nexport const textFieldRoot = (Root: RootProps<HTMLDivElement, TextFieldProps>) =>\n forwardRef<HTMLDivElement, TextFieldProps>(\n (\n {\n id,\n\n // layout\n contentLeft,\n contentRight,\n label,\n labelPlacement,\n placeholder,\n leftHelper,\n enumerationType = 'plain',\n\n // variations\n view,\n size,\n readOnly = false,\n disabled = false,\n\n // controlled\n chips: values,\n\n // events\n onChange,\n onChangeChips,\n onSearch,\n\n ...rest\n },\n ref,\n ) => {\n const contentRef = useRef<HTMLDivElement>(null);\n const inputRef = useRef<HTMLInputElement>(null);\n const chipsRefs = useRef<Array<HTMLButtonElement>>([]);\n\n const controlledRefs = { contentRef, inputRef, chipsRefs };\n\n const [chips, setChips] = useState<Array<ChipValues>>([]);\n\n const uniqId = safeUseId();\n const innerId = id || uniqId;\n const labelId = safeUseId();\n const helperTextId = safeUseId();\n\n const isChipEnumeration = enumerationType === 'chip';\n const hideLabel = (size === 'xs' || isChipEnumeration) && labelPlacement === 'inner';\n const labelInside = size !== 'xs' && labelPlacement === 'inner';\n const innerLabelPlacementValue = hideLabel ? 'outer' : labelPlacement;\n const innerPlaceholderValue = hideLabel ? label : placeholder;\n const innerLabelValue = hideLabel ? undefined : label;\n\n const isChipsVisible = isChipEnumeration && chips?.length;\n const withHasChips = isChipsVisible ? classes.hasChips : undefined;\n const wrapperWithoutLeftContent = !contentLeft && isChipsVisible ? classes.hasEmptyContentLeft : undefined;\n const wrapperWithoutRightContent =\n !contentRight && isChipsVisible ? classes.hasEmptyContentRight : undefined;\n\n const handleChange: ChangeEventHandler<HTMLInputElement> = (event) => {\n if (disabled || readOnly) {\n return;\n }\n\n const { maxLength, value } = event.target;\n\n if (maxLength !== -1 && value.length > maxLength) {\n return;\n }\n\n onChange?.(event);\n };\n\n const updateChips = (newChips: Array<ChipValues>, newValues: Array<TextFieldPrimitiveValue>) => {\n setChips(newChips);\n onChangeChips?.(newValues);\n };\n\n const { handleInputKeydown, handleChipKeyDown, onChipClear, handleContentKeyDown } = useKeyNavigation({\n controlledRefs,\n disabled,\n readOnly,\n chips,\n enumerationType,\n updateChips,\n onSearch,\n onChange,\n });\n\n const onChipClick = (event: React.MouseEvent<HTMLButtonElement>) => event.stopPropagation();\n\n const handleInputFocus = () => {\n if (readOnly || disabled || !inputRef?.current) {\n return;\n }\n\n inputRef.current.scrollIntoView({\n behavior: 'smooth',\n block: 'center',\n inline: 'center',\n });\n inputRef.current.focus({ preventScroll: true });\n };\n\n const getRef = (element: HTMLButtonElement | null, index: number) => {\n if (element && chipsRefs?.current) {\n chipsRefs.current[index] = element;\n }\n };\n\n useEffect(() => {\n if (!isChipEnumeration && !values?.length) {\n return;\n }\n\n const newChips =\n values?.map((value, index) => ({\n id: `${index}_${value}`,\n text: value,\n })) || [];\n\n setChips(newChips);\n }, [isChipEnumeration, values]);\n\n return (\n <Root\n ref={ref}\n view={view}\n size={size}\n disabled={disabled}\n readOnly={!disabled && readOnly}\n labelPlacement={innerLabelPlacementValue}\n onClick={handleInputFocus}\n >\n {labelInside ||\n (innerLabelValue && (\n <Label id={labelId} htmlFor={id}>\n {innerLabelValue}\n </Label>\n ))}\n <InputWrapper className={cx(withHasChips, wrapperWithoutLeftContent, wrapperWithoutRightContent)}>\n {contentLeft && <StyledContentLeft>{contentLeft}</StyledContentLeft>}\n <InputLabelWrapper\n tabIndex={-1}\n ref={contentRef}\n onKeyDown={handleContentKeyDown}\n className={withHasChips}\n >\n {isChipEnumeration && Boolean(chips?.length) && (\n <StyledChips>\n {chips?.map(({ id: chipId, text }, index) => {\n return (\n <TextFieldChip\n id={chipId}\n ref={(element) => getRef(element, index)}\n key={`${chipId}_${index}`}\n disabled={disabled}\n readOnly={readOnly}\n value={text}\n text={text}\n onKeyDown={(event) => handleChipKeyDown(event, chipId, index)}\n onClear={() => onChipClear(chipId, index)}\n onClick={onChipClick}\n />\n );\n })}\n </StyledChips>\n )}\n <Input\n {...rest}\n ref={inputRef}\n id={innerId}\n aria-labelledby={labelId}\n aria-describedby={helperTextId}\n placeholder={innerPlaceholderValue}\n disabled={disabled}\n readOnly={!disabled && readOnly}\n onChange={handleChange}\n onKeyDown={handleInputKeydown}\n />\n {labelInside && (\n <Label id={labelId} htmlFor={innerId}>\n {innerLabelValue}\n </Label>\n )}\n </InputLabelWrapper>\n {contentRight && <StyledContentRight>{contentRight}</StyledContentRight>}\n </InputWrapper>\n {leftHelper && <LeftHelper id={helperTextId}>{leftHelper}</LeftHelper>}\n </Root>\n );\n },\n );\n\nexport const textFieldConfig = {\n name: 'TextField',\n tag: 'div',\n layout: textFieldRoot,\n base,\n variations: {\n view: {\n css: viewCSS,\n },\n size: {\n css: sizeCSS,\n },\n disabled: {\n css: disabledCSS,\n attrs: true,\n },\n readOnly: {\n css: readOnlyCSS,\n attrs: true,\n },\n labelPlacement: {\n css: labelPlacementCSS,\n },\n },\n defaults: {\n size: 'm',\n view: 'default',\n },\n};\n"],"names":["base","textFieldRoot","Root","forwardRef","_ref","ref","id","contentLeft","contentRight","label","labelPlacement","placeholder","leftHelper","_ref$enumerationType","enumerationType","view","size","_ref$readOnly","readOnly","_ref$disabled","disabled","values","chips","onChange","onChangeChips","onSearch","rest","contentRef","useRef","inputRef","chipsRefs","controlledRefs","_useState","useState","_useState2","_slicedToArray","setChips","uniqId","safeUseId","innerId","labelId","helperTextId","isChipEnumeration","hideLabel","labelInside","innerLabelPlacementValue","innerPlaceholderValue","innerLabelValue","undefined","isChipsVisible","length","withHasChips","classes","hasChips","wrapperWithoutLeftContent","hasEmptyContentLeft","wrapperWithoutRightContent","hasEmptyContentRight","handleChange","event","_event$target","target","maxLength","value","updateChips","newChips","newValues","_useKeyNavigation","useKeyNavigation","handleInputKeydown","handleChipKeyDown","onChipClear","handleContentKeyDown","onChipClick","stopPropagation","handleInputFocus","current","scrollIntoView","behavior","block","inline","focus","preventScroll","getRef","element","index","useEffect","map","concat","text","React","createElement","onClick","Label","htmlFor","InputWrapper","className","cx","StyledContentLeft","InputLabelWrapper","tabIndex","onKeyDown","Boolean","StyledChips","_ref2","chipId","TextFieldChip","key","onClear","Input","_extends","StyledContentRight","LeftHelper","textFieldConfig","name","tag","layout","variations","css","viewCSS","sizeCSS","disabledCSS","attrs","readOnlyCSS","labelPlacementCSS","defaults"],"mappings":"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"}