@salutejs/plasma-new-hope 0.175.3-canary.1512.11555735717.0 → 0.176.0-canary.1452.11568379583.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (264) hide show
  1. package/cjs/components/Dropdown/ui/DropdownDivider/DropdownDivider.js +2 -2
  2. package/cjs/components/Dropdown/ui/DropdownDivider/DropdownDivider.js.map +1 -1
  3. package/cjs/components/Dropdown/ui/DropdownFooter/DropdownFooter.js +2 -2
  4. package/cjs/components/Dropdown/ui/DropdownFooter/DropdownFooter.js.map +1 -1
  5. package/cjs/components/Dropdown/ui/DropdownGroup/DropdownGroup.js +2 -2
  6. package/cjs/components/Dropdown/ui/DropdownGroup/DropdownGroup.js.map +1 -1
  7. package/cjs/components/Dropdown/ui/DropdownHeader/DropdownHeader.js +2 -2
  8. package/cjs/components/Dropdown/ui/DropdownHeader/DropdownHeader.js.map +1 -1
  9. package/cjs/components/Dropdown/ui/DropdownOld/DropdownOld.js +2 -4
  10. package/cjs/components/Dropdown/ui/DropdownOld/DropdownOld.js.map +1 -1
  11. package/cjs/components/Popover/Popover.js +1 -2
  12. package/cjs/components/Popover/Popover.js.map +1 -1
  13. package/cjs/components/Slider/Slider.css +15 -13
  14. package/cjs/components/Slider/Slider.js +11 -2
  15. package/cjs/components/Slider/Slider.js.map +1 -1
  16. package/cjs/components/Slider/Slider.tokens.js +23 -17
  17. package/cjs/components/Slider/Slider.tokens.js.map +1 -1
  18. package/cjs/components/Slider/components/Double/Double.css +8 -8
  19. package/cjs/components/Slider/components/Double/Double.js +58 -23
  20. package/cjs/components/Slider/components/Double/Double.js.map +1 -1
  21. package/cjs/components/Slider/components/DoubleUncontrolled/DoubleUncontrolled.css +98 -0
  22. package/cjs/components/Slider/components/Single/Single.css +14 -14
  23. package/cjs/components/Slider/components/Single/Single.js +64 -33
  24. package/cjs/components/Slider/components/Single/Single.js.map +1 -1
  25. package/cjs/components/Slider/components/Single/Single.styles.js +4 -4
  26. package/cjs/components/Slider/components/Single/Single.styles.js.map +1 -1
  27. package/cjs/components/Slider/components/Single/Single.styles_1h7n2s2.css +6 -0
  28. package/cjs/components/Slider/components/SliderBase/SliderBase.css +5 -5
  29. package/cjs/components/Slider/components/SliderBase/SliderBase.js +31 -12
  30. package/cjs/components/Slider/components/SliderBase/SliderBase.js.map +1 -1
  31. package/cjs/components/Slider/components/SliderBase/SliderBase.styles.js +7 -7
  32. package/cjs/components/Slider/components/SliderBase/SliderBase.styles.js.map +1 -1
  33. package/cjs/components/Slider/components/SliderBase/SliderBase.styles_1qt1224.css +5 -0
  34. package/cjs/components/Slider/ui/Handler/Handler.css +3 -3
  35. package/cjs/components/Slider/ui/Handler/Handler.js +49 -88
  36. package/cjs/components/Slider/ui/Handler/Handler.js.map +1 -1
  37. package/cjs/components/Slider/ui/Handler/Handler.styles.js +17 -7
  38. package/cjs/components/Slider/ui/Handler/Handler.styles.js.map +1 -1
  39. package/cjs/components/Slider/ui/Handler/Handler.styles_irtcgm.css +2 -0
  40. package/cjs/components/Slider/ui/Handler/computeKeyPressData.js +122 -0
  41. package/cjs/components/Slider/ui/Handler/computeKeyPressData.js.map +1 -0
  42. package/cjs/components/Slider/ui/Thumb/Thumb.css +1 -1
  43. package/cjs/components/Slider/ui/Thumb/Thumb.js +3 -2
  44. package/cjs/components/Slider/ui/Thumb/Thumb.js.map +1 -1
  45. package/cjs/components/Slider/ui/Thumb/Thumb.styles.js +1 -1
  46. package/cjs/components/Slider/ui/Thumb/Thumb.styles.js.map +1 -1
  47. package/cjs/components/Slider/ui/Thumb/Thumb.styles_uyn20e.css +1 -0
  48. package/cjs/components/Slider/utils/index.js +28 -10
  49. package/cjs/components/Slider/utils/index.js.map +1 -1
  50. package/cjs/components/Slider/variations/_view/base.js +1 -1
  51. package/cjs/components/Slider/variations/_view/base.js.map +1 -1
  52. package/cjs/components/Slider/variations/_view/base_1s3f6q8.css +1 -0
  53. package/cjs/index.css +15 -13
  54. package/cjs/utils/index.js.map +1 -1
  55. package/emotion/cjs/components/Dropdown/ui/DropdownDivider/DropdownDivider.js +2 -2
  56. package/emotion/cjs/components/Dropdown/ui/DropdownFooter/DropdownFooter.js +2 -2
  57. package/emotion/cjs/components/Dropdown/ui/DropdownGroup/DropdownGroup.js +2 -2
  58. package/emotion/cjs/components/Dropdown/ui/DropdownHeader/DropdownHeader.js +2 -2
  59. package/emotion/cjs/components/Dropdown/ui/DropdownOld/DropdownOld.js +4 -6
  60. package/emotion/cjs/components/Popover/Popover.js +1 -2
  61. package/emotion/cjs/components/Slider/Slider.js +10 -2
  62. package/emotion/cjs/components/Slider/Slider.template-doc.mdx +26 -0
  63. package/emotion/cjs/components/Slider/Slider.tokens.js +23 -17
  64. package/emotion/cjs/components/Slider/components/Double/Double.js +54 -19
  65. package/emotion/cjs/components/Slider/components/Single/Single.js +64 -33
  66. package/emotion/cjs/components/Slider/components/Single/Single.styles.js +18 -9
  67. package/emotion/cjs/components/Slider/components/SliderBase/SliderBase.js +31 -12
  68. package/emotion/cjs/components/Slider/components/SliderBase/SliderBase.styles.js +10 -10
  69. package/emotion/cjs/components/Slider/ui/Handler/Handler.js +52 -88
  70. package/emotion/cjs/components/Slider/ui/Handler/Handler.styles.js +9 -15
  71. package/emotion/cjs/components/Slider/ui/Handler/computeKeyPressData.js +121 -0
  72. package/emotion/cjs/components/Slider/ui/Thumb/Thumb.js +3 -2
  73. package/emotion/cjs/components/Slider/ui/Thumb/Thumb.styles.js +3 -3
  74. package/emotion/cjs/components/Slider/utils/index.js +28 -10
  75. package/emotion/cjs/components/Slider/variations/_view/base.js +2 -1
  76. package/emotion/cjs/examples/plasma_b2c/components/Slider/Slider.config.js +7 -7
  77. package/emotion/cjs/examples/plasma_b2c/components/Slider/Slider.stories.tsx +98 -16
  78. package/emotion/cjs/examples/plasma_web/components/Slider/Slider.config.js +7 -7
  79. package/emotion/cjs/examples/plasma_web/components/Slider/Slider.stories.tsx +98 -15
  80. package/emotion/es/components/Dropdown/ui/DropdownDivider/DropdownDivider.js +2 -2
  81. package/emotion/es/components/Dropdown/ui/DropdownFooter/DropdownFooter.js +2 -2
  82. package/emotion/es/components/Dropdown/ui/DropdownGroup/DropdownGroup.js +2 -2
  83. package/emotion/es/components/Dropdown/ui/DropdownHeader/DropdownHeader.js +2 -2
  84. package/emotion/es/components/Dropdown/ui/DropdownOld/DropdownOld.js +2 -4
  85. package/emotion/es/components/Popover/Popover.js +1 -2
  86. package/emotion/es/components/Slider/Slider.js +11 -2
  87. package/emotion/es/components/Slider/Slider.template-doc.mdx +26 -0
  88. package/emotion/es/components/Slider/Slider.tokens.js +23 -17
  89. package/emotion/es/components/Slider/components/Double/Double.js +54 -19
  90. package/emotion/es/components/Slider/components/Single/Single.js +65 -34
  91. package/emotion/es/components/Slider/components/Single/Single.styles.js +17 -8
  92. package/emotion/es/components/Slider/components/SliderBase/SliderBase.js +31 -12
  93. package/emotion/es/components/Slider/components/SliderBase/SliderBase.styles.js +11 -11
  94. package/emotion/es/components/Slider/ui/Handler/Handler.js +51 -86
  95. package/emotion/es/components/Slider/ui/Handler/Handler.styles.js +10 -16
  96. package/emotion/es/components/Slider/ui/Handler/computeKeyPressData.js +115 -0
  97. package/emotion/es/components/Slider/ui/Thumb/Thumb.js +3 -2
  98. package/emotion/es/components/Slider/ui/Thumb/Thumb.styles.js +3 -3
  99. package/emotion/es/components/Slider/utils/index.js +28 -10
  100. package/emotion/es/components/Slider/variations/_view/base.js +2 -1
  101. package/emotion/es/examples/plasma_b2c/components/Slider/Slider.config.js +7 -7
  102. package/emotion/es/examples/plasma_b2c/components/Slider/Slider.stories.tsx +98 -16
  103. package/emotion/es/examples/plasma_web/components/Slider/Slider.config.js +7 -7
  104. package/emotion/es/examples/plasma_web/components/Slider/Slider.stories.tsx +98 -15
  105. package/es/components/Dropdown/ui/DropdownDivider/DropdownDivider.js +2 -2
  106. package/es/components/Dropdown/ui/DropdownDivider/DropdownDivider.js.map +1 -1
  107. package/es/components/Dropdown/ui/DropdownFooter/DropdownFooter.js +2 -2
  108. package/es/components/Dropdown/ui/DropdownFooter/DropdownFooter.js.map +1 -1
  109. package/es/components/Dropdown/ui/DropdownGroup/DropdownGroup.js +2 -2
  110. package/es/components/Dropdown/ui/DropdownGroup/DropdownGroup.js.map +1 -1
  111. package/es/components/Dropdown/ui/DropdownHeader/DropdownHeader.js +2 -2
  112. package/es/components/Dropdown/ui/DropdownHeader/DropdownHeader.js.map +1 -1
  113. package/es/components/Dropdown/ui/DropdownOld/DropdownOld.js +2 -4
  114. package/es/components/Dropdown/ui/DropdownOld/DropdownOld.js.map +1 -1
  115. package/es/components/Popover/Popover.js +1 -2
  116. package/es/components/Popover/Popover.js.map +1 -1
  117. package/es/components/Slider/Slider.css +15 -13
  118. package/es/components/Slider/Slider.js +11 -2
  119. package/es/components/Slider/Slider.js.map +1 -1
  120. package/es/components/Slider/Slider.tokens.js +23 -17
  121. package/es/components/Slider/Slider.tokens.js.map +1 -1
  122. package/es/components/Slider/components/Double/Double.css +8 -8
  123. package/es/components/Slider/components/Double/Double.js +54 -19
  124. package/es/components/Slider/components/Double/Double.js.map +1 -1
  125. package/es/components/Slider/components/DoubleUncontrolled/DoubleUncontrolled.css +98 -0
  126. package/es/components/Slider/components/Single/Single.css +14 -14
  127. package/es/components/Slider/components/Single/Single.js +65 -34
  128. package/es/components/Slider/components/Single/Single.js.map +1 -1
  129. package/es/components/Slider/components/Single/Single.styles.js +4 -4
  130. package/es/components/Slider/components/Single/Single.styles.js.map +1 -1
  131. package/es/components/Slider/components/Single/Single.styles_1h7n2s2.css +6 -0
  132. package/es/components/Slider/components/SliderBase/SliderBase.css +5 -5
  133. package/es/components/Slider/components/SliderBase/SliderBase.js +31 -12
  134. package/es/components/Slider/components/SliderBase/SliderBase.js.map +1 -1
  135. package/es/components/Slider/components/SliderBase/SliderBase.styles.js +7 -7
  136. package/es/components/Slider/components/SliderBase/SliderBase.styles.js.map +1 -1
  137. package/es/components/Slider/components/SliderBase/SliderBase.styles_1qt1224.css +5 -0
  138. package/es/components/Slider/ui/Handler/Handler.css +3 -3
  139. package/es/components/Slider/ui/Handler/Handler.js +48 -87
  140. package/es/components/Slider/ui/Handler/Handler.js.map +1 -1
  141. package/es/components/Slider/ui/Handler/Handler.styles.js +17 -7
  142. package/es/components/Slider/ui/Handler/Handler.styles.js.map +1 -1
  143. package/es/components/Slider/ui/Handler/Handler.styles_irtcgm.css +2 -0
  144. package/es/components/Slider/ui/Handler/computeKeyPressData.js +118 -0
  145. package/es/components/Slider/ui/Handler/computeKeyPressData.js.map +1 -0
  146. package/es/components/Slider/ui/Thumb/Thumb.css +1 -1
  147. package/es/components/Slider/ui/Thumb/Thumb.js +3 -2
  148. package/es/components/Slider/ui/Thumb/Thumb.js.map +1 -1
  149. package/es/components/Slider/ui/Thumb/Thumb.styles.js +1 -1
  150. package/es/components/Slider/ui/Thumb/Thumb.styles.js.map +1 -1
  151. package/es/components/Slider/ui/Thumb/Thumb.styles_uyn20e.css +1 -0
  152. package/es/components/Slider/utils/index.js +28 -10
  153. package/es/components/Slider/utils/index.js.map +1 -1
  154. package/es/components/Slider/variations/_view/base.js +1 -1
  155. package/es/components/Slider/variations/_view/base.js.map +1 -1
  156. package/es/components/Slider/variations/_view/base_1s3f6q8.css +1 -0
  157. package/es/index.css +15 -13
  158. package/es/utils/index.js.map +1 -1
  159. package/package.json +2 -2
  160. package/styled-components/cjs/components/Dropdown/ui/DropdownDivider/DropdownDivider.js +2 -2
  161. package/styled-components/cjs/components/Dropdown/ui/DropdownFooter/DropdownFooter.js +2 -2
  162. package/styled-components/cjs/components/Dropdown/ui/DropdownGroup/DropdownGroup.js +2 -2
  163. package/styled-components/cjs/components/Dropdown/ui/DropdownHeader/DropdownHeader.js +2 -2
  164. package/styled-components/cjs/components/Dropdown/ui/DropdownOld/DropdownOld.js +4 -6
  165. package/styled-components/cjs/components/Popover/Popover.js +1 -2
  166. package/styled-components/cjs/components/Slider/Slider.js +10 -2
  167. package/styled-components/cjs/components/Slider/Slider.template-doc.mdx +26 -0
  168. package/styled-components/cjs/components/Slider/Slider.tokens.js +23 -17
  169. package/styled-components/cjs/components/Slider/components/Double/Double.js +54 -19
  170. package/styled-components/cjs/components/Slider/components/Single/Single.js +64 -33
  171. package/styled-components/cjs/components/Slider/components/Single/Single.styles.js +6 -6
  172. package/styled-components/cjs/components/Slider/components/SliderBase/SliderBase.js +31 -12
  173. package/styled-components/cjs/components/Slider/components/SliderBase/SliderBase.styles.js +6 -6
  174. package/styled-components/cjs/components/Slider/ui/Handler/Handler.js +52 -88
  175. package/styled-components/cjs/components/Slider/ui/Handler/Handler.styles.js +7 -4
  176. package/styled-components/cjs/components/Slider/ui/Handler/computeKeyPressData.js +121 -0
  177. package/styled-components/cjs/components/Slider/ui/Thumb/Thumb.js +3 -2
  178. package/styled-components/cjs/components/Slider/ui/Thumb/Thumb.styles.js +2 -2
  179. package/styled-components/cjs/components/Slider/utils/index.js +28 -10
  180. package/styled-components/cjs/components/Slider/variations/_view/base.js +2 -1
  181. package/styled-components/cjs/examples/plasma_b2c/components/Slider/Slider.config.js +3 -3
  182. package/styled-components/cjs/examples/plasma_b2c/components/Slider/Slider.stories.tsx +98 -16
  183. package/styled-components/cjs/examples/plasma_web/components/Slider/Slider.config.js +3 -3
  184. package/styled-components/cjs/examples/plasma_web/components/Slider/Slider.stories.tsx +98 -15
  185. package/styled-components/es/components/Dropdown/ui/DropdownDivider/DropdownDivider.js +2 -2
  186. package/styled-components/es/components/Dropdown/ui/DropdownFooter/DropdownFooter.js +2 -2
  187. package/styled-components/es/components/Dropdown/ui/DropdownGroup/DropdownGroup.js +2 -2
  188. package/styled-components/es/components/Dropdown/ui/DropdownHeader/DropdownHeader.js +2 -2
  189. package/styled-components/es/components/Dropdown/ui/DropdownOld/DropdownOld.js +2 -4
  190. package/styled-components/es/components/Popover/Popover.js +1 -2
  191. package/styled-components/es/components/Slider/Slider.js +11 -2
  192. package/styled-components/es/components/Slider/Slider.template-doc.mdx +26 -0
  193. package/styled-components/es/components/Slider/Slider.tokens.js +23 -17
  194. package/styled-components/es/components/Slider/components/Double/Double.js +54 -19
  195. package/styled-components/es/components/Slider/components/Single/Single.js +65 -34
  196. package/styled-components/es/components/Slider/components/Single/Single.styles.js +5 -5
  197. package/styled-components/es/components/Slider/components/SliderBase/SliderBase.js +31 -12
  198. package/styled-components/es/components/Slider/components/SliderBase/SliderBase.styles.js +7 -7
  199. package/styled-components/es/components/Slider/ui/Handler/Handler.js +51 -86
  200. package/styled-components/es/components/Slider/ui/Handler/Handler.styles.js +8 -5
  201. package/styled-components/es/components/Slider/ui/Handler/computeKeyPressData.js +115 -0
  202. package/styled-components/es/components/Slider/ui/Thumb/Thumb.js +3 -2
  203. package/styled-components/es/components/Slider/ui/Thumb/Thumb.styles.js +2 -2
  204. package/styled-components/es/components/Slider/utils/index.js +28 -10
  205. package/styled-components/es/components/Slider/variations/_view/base.js +2 -1
  206. package/styled-components/es/examples/plasma_b2c/components/Slider/Slider.config.js +3 -3
  207. package/styled-components/es/examples/plasma_b2c/components/Slider/Slider.stories.tsx +98 -16
  208. package/styled-components/es/examples/plasma_web/components/Slider/Slider.config.js +3 -3
  209. package/styled-components/es/examples/plasma_web/components/Slider/Slider.stories.tsx +98 -15
  210. package/types/components/Dropdown/ui/DropdownDivider/DropdownDivider.d.ts.map +1 -1
  211. package/types/components/Dropdown/ui/DropdownFooter/DropdownFooter.d.ts.map +1 -1
  212. package/types/components/Dropdown/ui/DropdownGroup/DropdownGroup.d.ts.map +1 -1
  213. package/types/components/Dropdown/ui/DropdownHeader/DropdownHeader.d.ts.map +1 -1
  214. package/types/components/Dropdown/ui/DropdownOld/DropdownOld.d.ts.map +1 -1
  215. package/types/components/Popover/Popover.d.ts.map +1 -1
  216. package/types/components/Slider/Slider.d.ts.map +1 -1
  217. package/types/components/Slider/Slider.tokens.d.ts +22 -16
  218. package/types/components/Slider/Slider.tokens.d.ts.map +1 -1
  219. package/types/components/Slider/components/Double/Double.d.ts.map +1 -1
  220. package/types/components/Slider/components/Double/Double.types.d.ts +1 -0
  221. package/types/components/Slider/components/Double/Double.types.d.ts.map +1 -1
  222. package/types/components/Slider/components/Single/Single.d.ts.map +1 -1
  223. package/types/components/Slider/components/Single/Single.styles.d.ts +1 -1
  224. package/types/components/Slider/components/Single/Single.styles.d.ts.map +1 -1
  225. package/types/components/Slider/components/Single/Single.types.d.ts +79 -7
  226. package/types/components/Slider/components/Single/Single.types.d.ts.map +1 -1
  227. package/types/components/Slider/components/SliderBase/SliderBase.d.ts.map +1 -1
  228. package/types/components/Slider/components/SliderBase/SliderBase.styles.d.ts +1 -1
  229. package/types/components/Slider/components/SliderBase/SliderBase.styles.d.ts.map +1 -1
  230. package/types/components/Slider/components/SliderBase/SliderBase.types.d.ts +6 -0
  231. package/types/components/Slider/components/SliderBase/SliderBase.types.d.ts.map +1 -1
  232. package/types/components/Slider/ui/Handler/Handler.d.ts.map +1 -1
  233. package/types/components/Slider/ui/Handler/Handler.styles.d.ts +6 -2
  234. package/types/components/Slider/ui/Handler/Handler.styles.d.ts.map +1 -1
  235. package/types/components/Slider/ui/Handler/Handler.types.d.ts +5 -1
  236. package/types/components/Slider/ui/Handler/Handler.types.d.ts.map +1 -1
  237. package/types/components/Slider/ui/Handler/computeKeyPressData.d.ts +12 -0
  238. package/types/components/Slider/ui/Handler/computeKeyPressData.d.ts.map +1 -0
  239. package/types/components/Slider/ui/Thumb/Thumb.d.ts +1 -1
  240. package/types/components/Slider/ui/Thumb/Thumb.d.ts.map +1 -1
  241. package/types/components/Slider/ui/Thumb/Thumb.styles.d.ts.map +1 -1
  242. package/types/components/Slider/ui/Thumb/Thumb.types.d.ts +1 -0
  243. package/types/components/Slider/ui/Thumb/Thumb.types.d.ts.map +1 -1
  244. package/types/components/Slider/utils/index.d.ts +26 -8
  245. package/types/components/Slider/utils/index.d.ts.map +1 -1
  246. package/types/components/Slider/variations/_view/base.d.ts.map +1 -1
  247. package/types/examples/plasma_b2c/components/Slider/Slider.config.d.ts.map +1 -1
  248. package/types/examples/plasma_b2c/components/Slider/Slider.d.ts +80 -2
  249. package/types/examples/plasma_b2c/components/Slider/Slider.d.ts.map +1 -1
  250. package/types/examples/plasma_web/components/Slider/Slider.config.d.ts.map +1 -1
  251. package/types/examples/plasma_web/components/Slider/Slider.d.ts +80 -2
  252. package/types/examples/plasma_web/components/Slider/Slider.d.ts.map +1 -1
  253. package/types/utils/index.d.ts +1 -1
  254. package/types/utils/index.d.ts.map +1 -1
  255. package/cjs/components/Slider/components/Single/Single.styles_1r9f1e0.css +0 -6
  256. package/cjs/components/Slider/components/SliderBase/SliderBase.styles_9s4eb3.css +0 -5
  257. package/cjs/components/Slider/ui/Handler/Handler.styles_8crx5z.css +0 -2
  258. package/cjs/components/Slider/ui/Thumb/Thumb.styles_4w4gzn.css +0 -1
  259. package/cjs/components/Slider/variations/_view/base_x642ct.css +0 -1
  260. package/es/components/Slider/components/Single/Single.styles_1r9f1e0.css +0 -6
  261. package/es/components/Slider/components/SliderBase/SliderBase.styles_9s4eb3.css +0 -5
  262. package/es/components/Slider/ui/Handler/Handler.styles_8crx5z.css +0 -2
  263. package/es/components/Slider/ui/Thumb/Thumb.styles_4w4gzn.css +0 -1
  264. package/es/components/Slider/variations/_view/base_x642ct.css +0 -1
@@ -4,14 +4,18 @@ import styled from 'styled-components';
4
4
  import { disableProps } from '@salutejs/plasma-sb-utils';
5
5
  import type { StoryObj, Meta } from '@storybook/react';
6
6
 
7
+ import { IconMic } from '../../../../components/_Icon';
7
8
  import { WithTheme } from '../../../_helpers';
8
9
 
9
10
  import { Slider } from './Slider';
10
11
 
11
12
  const sizes = ['l', 'm', 's'];
13
+ const pointerSizes = ['small', 'large', 'none'];
12
14
  const views = ['default', 'accent', 'gradient'];
13
- const labelPlacements = ['outer', 'inner'];
14
- const rangeValuesPlacement = ['outer', 'inner'];
15
+ const sliderAligns = ['center', 'left', 'right', 'none'];
16
+ const labelPlacements = ['top', 'left'];
17
+ const scaleAligns = ['side', 'bottom'];
18
+ const orientations: Array<string> = ['vertical', 'horizontal'];
15
19
 
16
20
  const meta: Meta<typeof Slider> = {
17
21
  title: 'plasma_web/Slider',
@@ -30,9 +34,24 @@ const meta: Meta<typeof Slider> = {
30
34
  type: 'inline-radio',
31
35
  },
32
36
  },
37
+ pointerSize: {
38
+ options: pointerSizes,
39
+ control: {
40
+ type: 'inline-radio',
41
+ },
42
+ },
43
+ orientation: {
44
+ options: orientations,
45
+ control: {
46
+ type: 'select',
47
+ },
48
+ },
33
49
  ...disableProps([
34
50
  'value',
35
51
  'onChangeCommitted',
52
+ 'onChangeTextField',
53
+ 'onBlurTextField',
54
+ 'onKeyDownTextField',
36
55
  'ariaLabel',
37
56
  'onChange',
38
57
  'fontSizeMultiplier',
@@ -40,6 +59,14 @@ const meta: Meta<typeof Slider> = {
40
59
  'settings',
41
60
  'hasHoverAnimation',
42
61
  'type',
62
+ 'labelContentLeft',
63
+ 'rangeValuesPlacement',
64
+ 'name',
65
+ 'defaultValue',
66
+ 'labelContent',
67
+ 'showRangeValues',
68
+ 'hideMinValueDiff',
69
+ 'hideMaxValueDiff',
43
70
  ]),
44
71
  },
45
72
  };
@@ -52,8 +79,9 @@ type StorySingleProps = StoryProps;
52
79
  type StorySingle = StoryObj<StorySingleProps>;
53
80
  type StoryDouble = StoryObj<StoryProps>;
54
81
 
55
- const SliderWrapper = styled.div`
56
- width: 25rem;
82
+ const SliderWrapper = styled.div<{ isVertical?: boolean }>`
83
+ width: ${({ isVertical }) => (isVertical ? 'auto' : '25rem')};
84
+ height: ${({ isVertical }) => (isVertical ? '25rem' : 'auto')};
57
85
  `;
58
86
 
59
87
  const StoryDefault = (args: StorySingleProps) => {
@@ -67,41 +95,86 @@ const StoryDefault = (args: StorySingleProps) => {
67
95
  setValue(values);
68
96
  };
69
97
 
98
+ const { hasIcon, showIcon, orientation, labelPlacement, labelVerticalPlacement, ...rest } = args;
99
+ const isVertical = orientation === 'vertical';
100
+
70
101
  return (
71
- <SliderWrapper>
72
- <Slider value={value} onChangeCommitted={onChangeCommittedHandle} onChange={onChangeHandle} {...args} />
102
+ <SliderWrapper isVertical={isVertical}>
103
+ <Slider
104
+ value={value}
105
+ orientation={orientation}
106
+ labelPlacement={labelPlacement}
107
+ labelContent={showIcon ? <IconMic size={rest.size === 's' ? 'xs' : 's'} /> : null}
108
+ onChangeCommitted={onChangeCommittedHandle}
109
+ onChange={onChangeHandle}
110
+ {...rest}
111
+ />
73
112
  </SliderWrapper>
74
113
  );
75
114
  };
76
115
 
77
116
  export const Default: StorySingle = {
78
117
  argTypes: {
118
+ sliderAlign: {
119
+ options: sliderAligns,
120
+ control: {
121
+ type: 'inline-radio',
122
+ },
123
+ if: { arg: 'orientation', eq: 'vertical' },
124
+ },
79
125
  labelPlacement: {
80
126
  options: labelPlacements,
81
127
  control: {
82
128
  type: 'inline-radio',
83
129
  },
130
+ if: { arg: 'orientation', eq: 'horizontal' },
131
+ },
132
+ labelReversed: {
133
+ control: {
134
+ type: 'boolean',
135
+ expanded: true,
136
+ },
137
+ if: { arg: 'orientation', eq: 'vertical' },
138
+ },
139
+ scaleAlign: {
140
+ options: scaleAligns,
141
+ control: {
142
+ type: 'inline-radio',
143
+ },
144
+ if: { arg: 'orientation', eq: 'horizontal' },
84
145
  },
85
- rangeValuesPlacement: {
86
- options: rangeValuesPlacement,
146
+ orientation: {
147
+ options: orientations,
87
148
  control: {
88
149
  type: 'inline-radio',
89
150
  },
90
151
  },
152
+ reversed: {
153
+ control: {
154
+ type: 'boolean',
155
+ },
156
+ if: { arg: 'orientation', eq: 'vertical' },
157
+ },
91
158
  },
92
159
  args: {
93
160
  view: 'default',
94
161
  size: 'm',
162
+ pointerSize: 'small',
95
163
  min: 0,
96
164
  max: 100,
97
- disabled: false,
98
- ariaLabel: 'Цена товара',
165
+ orientation: 'horizontal',
166
+ ariaLabel: 'Цена микрофона',
99
167
  multipleStepSize: 10,
100
- label: 'Цена товара',
101
- labelPlacement: 'outer',
102
- rangeValuesPlacement: 'outer',
103
- showRangeValues: true,
168
+ label: 'Цена микрофона',
169
+ labelPlacement: 'top',
170
+ sliderAlign: 'center',
171
+ scaleAlign: 'bottom',
172
+ showScale: true,
104
173
  showCurrentValue: false,
174
+ showIcon: true,
175
+ reversed: false,
176
+ labelReversed: false,
177
+ disabled: false,
105
178
  },
106
179
  render: (args) => <StoryDefault {...args} />,
107
180
  };
@@ -141,7 +214,7 @@ const StoryMultipleValues = (args: StoryProps) => {
141
214
  };
142
215
 
143
216
  return (
144
- <SliderWrapper>
217
+ <SliderWrapper isVertical={args.orientation === 'vertical'}>
145
218
  <Slider
146
219
  value={value}
147
220
  onKeyDownTextField={onKeyDownTextField}
@@ -158,6 +231,7 @@ export const MultipleValues: StoryDouble = {
158
231
  args: {
159
232
  view: 'default',
160
233
  size: 'm',
234
+ pointerSize: 'small',
161
235
  min: 0,
162
236
  max: 100,
163
237
  disabled: false,
@@ -165,5 +239,14 @@ export const MultipleValues: StoryDouble = {
165
239
  ariaLabel: ['Минимальная цена товара', 'Максимальная цена товара'],
166
240
  multipleStepSize: 10,
167
241
  },
242
+ argTypes: {
243
+ pointerSize: {
244
+ options: ['small', 'large'],
245
+ control: {
246
+ type: 'inline-radio',
247
+ },
248
+ },
249
+ ...disableProps(['orientation']),
250
+ },
168
251
  render: (args) => <StoryMultipleValues {...args} />,
169
252
  };
@@ -1,9 +1,9 @@
1
1
  import { objectWithoutProperties as _objectWithoutProperties, extends as _extends } from '../../../../_virtual/_rollupPluginBabelHelpers.js';
2
2
  import React, { forwardRef } from 'react';
3
+ import { useUniqId } from '@salutejs/plasma-core';
3
4
  import { base } from './variations/_view/base.js';
4
5
  import { base as base$1 } from './variations/_size/base.js';
5
6
  import { StyledDropdownDivider } from './DropdownDivider.styles.js';
6
- import { safeUseId } from '../../../../utils/react.js';
7
7
 
8
8
  var _excluded = ["id", "className", "view", "size"];
9
9
  /**
@@ -16,7 +16,7 @@ var dropdownDividerRoot = function dropdownDividerRoot(Root) {
16
16
  view = _ref.view,
17
17
  size = _ref.size,
18
18
  rest = _objectWithoutProperties(_ref, _excluded);
19
- var uniqId = safeUseId();
19
+ var uniqId = useUniqId();
20
20
  var innerId = id || uniqId;
21
21
  return /*#__PURE__*/React.createElement(Root, {
22
22
  id: innerId,
@@ -1 +1 @@
1
- {"version":3,"file":"DropdownDivider.js","sources":["../../../../../src/components/Dropdown/ui/DropdownDivider/DropdownDivider.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\n\nimport { RootProps } from '../../../../engines';\nimport { safeUseId } from '../../../../utils';\n\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as sizeCSS } from './variations/_size/base';\nimport { StyledDropdownDivider } from './DropdownDivider.styles';\nimport type { DropdownDividerProps } from './DropdownDivider.types';\n\n/**\n * Элемент выпадающего списка\n */\nexport const dropdownDividerRoot = (Root: RootProps<HTMLDivElement, DropdownDividerProps>) =>\n forwardRef<HTMLDivElement, DropdownDividerProps>(({ id, className, view, size, ...rest }, outerRootRef) => {\n const uniqId = safeUseId();\n const innerId = id || uniqId;\n\n return (\n <Root id={innerId} ref={outerRootRef} view={view} size={size}>\n <StyledDropdownDivider className={className} {...rest} />\n </Root>\n );\n });\n\nexport const dropdownDividerConfig = {\n name: 'DropdownDivider',\n tag: 'div',\n layout: dropdownDividerRoot,\n base: '',\n variations: {\n view: {\n css: viewCSS,\n },\n size: {\n css: sizeCSS,\n },\n },\n defaults: {\n view: 'primary',\n size: 'm',\n },\n};\n"],"names":["dropdownDividerRoot","Root","forwardRef","_ref","outerRootRef","id","className","view","size","rest","_objectWithoutProperties","_excluded","uniqId","safeUseId","innerId","React","createElement","ref","StyledDropdownDivider","_extends","dropdownDividerConfig","name","tag","layout","base","variations","css","viewCSS","sizeCSS","defaults"],"mappings":";;;;;;;;AAUA;AACA;AACA;IACaA,mBAAmB,GAAG,SAAtBA,mBAAmBA,CAAIC,IAAqD,EAAA;AAAA,EAAA,oBACrFC,UAAU,CAAuC,UAAAC,IAAA,EAAyCC,YAAY,EAAK;AAAA,IAAA,IAAvDC,EAAE,GAAAF,IAAA,CAAFE,EAAE;MAAEC,SAAS,GAAAH,IAAA,CAATG,SAAS;MAAEC,IAAI,GAAAJ,IAAA,CAAJI,IAAI;MAAEC,IAAI,GAAAL,IAAA,CAAJK,IAAI;AAAKC,MAAAA,IAAI,GAAAC,wBAAA,CAAAP,IAAA,EAAAQ,SAAA,CAAA,CAAA;AAClF,IAAA,IAAMC,MAAM,GAAGC,SAAS,EAAE,CAAA;AAC1B,IAAA,IAAMC,OAAO,GAAGT,EAAE,IAAIO,MAAM,CAAA;AAE5B,IAAA,oBACIG,KAAA,CAAAC,aAAA,CAACf,IAAI,EAAA;AAACI,MAAAA,EAAE,EAAES,OAAQ;AAACG,MAAAA,GAAG,EAAEb,YAAa;AAACG,MAAAA,IAAI,EAAEA,IAAK;AAACC,MAAAA,IAAI,EAAEA,IAAAA;AAAK,KAAA,eACzDO,KAAA,CAAAC,aAAA,CAACE,qBAAqB,EAAAC,QAAA,CAAA;AAACb,MAAAA,SAAS,EAAEA,SAAAA;KAAeG,EAAAA,IAAI,CAAG,CACtD,CAAC,CAAA;AAEf,GAAC,CAAC,CAAA;AAAA,EAAA;AAEC,IAAMW,qBAAqB,GAAG;AACjCC,EAAAA,IAAI,EAAE,iBAAiB;AACvBC,EAAAA,GAAG,EAAE,KAAK;AACVC,EAAAA,MAAM,EAAEvB,mBAAmB;AAC3BwB,EAAAA,IAAI,EAAE,EAAE;AACRC,EAAAA,UAAU,EAAE;AACRlB,IAAAA,IAAI,EAAE;AACFmB,MAAAA,GAAG,EAAEC,IAAAA;KACR;AACDnB,IAAAA,IAAI,EAAE;AACFkB,MAAAA,GAAG,EAAEE,MAAAA;AACT,KAAA;GACH;AACDC,EAAAA,QAAQ,EAAE;AACNtB,IAAAA,IAAI,EAAE,SAAS;AACfC,IAAAA,IAAI,EAAE,GAAA;AACV,GAAA;AACJ;;;;"}
1
+ {"version":3,"file":"DropdownDivider.js","sources":["../../../../../src/components/Dropdown/ui/DropdownDivider/DropdownDivider.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\nimport { useUniqId } from '@salutejs/plasma-core';\n\nimport { RootProps } from '../../../../engines';\n\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as sizeCSS } from './variations/_size/base';\nimport { StyledDropdownDivider } from './DropdownDivider.styles';\nimport type { DropdownDividerProps } from './DropdownDivider.types';\n\n/**\n * Элемент выпадающего списка\n */\nexport const dropdownDividerRoot = (Root: RootProps<HTMLDivElement, DropdownDividerProps>) =>\n forwardRef<HTMLDivElement, DropdownDividerProps>(({ id, className, view, size, ...rest }, outerRootRef) => {\n const uniqId = useUniqId();\n const innerId = id || uniqId;\n\n return (\n <Root id={innerId} ref={outerRootRef} view={view} size={size}>\n <StyledDropdownDivider className={className} {...rest} />\n </Root>\n );\n });\n\nexport const dropdownDividerConfig = {\n name: 'DropdownDivider',\n tag: 'div',\n layout: dropdownDividerRoot,\n base: '',\n variations: {\n view: {\n css: viewCSS,\n },\n size: {\n css: sizeCSS,\n },\n },\n defaults: {\n view: 'primary',\n size: 'm',\n },\n};\n"],"names":["dropdownDividerRoot","Root","forwardRef","_ref","outerRootRef","id","className","view","size","rest","_objectWithoutProperties","_excluded","uniqId","useUniqId","innerId","React","createElement","ref","StyledDropdownDivider","_extends","dropdownDividerConfig","name","tag","layout","base","variations","css","viewCSS","sizeCSS","defaults"],"mappings":";;;;;;;;AAUA;AACA;AACA;IACaA,mBAAmB,GAAG,SAAtBA,mBAAmBA,CAAIC,IAAqD,EAAA;AAAA,EAAA,oBACrFC,UAAU,CAAuC,UAAAC,IAAA,EAAyCC,YAAY,EAAK;AAAA,IAAA,IAAvDC,EAAE,GAAAF,IAAA,CAAFE,EAAE;MAAEC,SAAS,GAAAH,IAAA,CAATG,SAAS;MAAEC,IAAI,GAAAJ,IAAA,CAAJI,IAAI;MAAEC,IAAI,GAAAL,IAAA,CAAJK,IAAI;AAAKC,MAAAA,IAAI,GAAAC,wBAAA,CAAAP,IAAA,EAAAQ,SAAA,CAAA,CAAA;AAClF,IAAA,IAAMC,MAAM,GAAGC,SAAS,EAAE,CAAA;AAC1B,IAAA,IAAMC,OAAO,GAAGT,EAAE,IAAIO,MAAM,CAAA;AAE5B,IAAA,oBACIG,KAAA,CAAAC,aAAA,CAACf,IAAI,EAAA;AAACI,MAAAA,EAAE,EAAES,OAAQ;AAACG,MAAAA,GAAG,EAAEb,YAAa;AAACG,MAAAA,IAAI,EAAEA,IAAK;AAACC,MAAAA,IAAI,EAAEA,IAAAA;AAAK,KAAA,eACzDO,KAAA,CAAAC,aAAA,CAACE,qBAAqB,EAAAC,QAAA,CAAA;AAACb,MAAAA,SAAS,EAAEA,SAAAA;KAAeG,EAAAA,IAAI,CAAG,CACtD,CAAC,CAAA;AAEf,GAAC,CAAC,CAAA;AAAA,EAAA;AAEC,IAAMW,qBAAqB,GAAG;AACjCC,EAAAA,IAAI,EAAE,iBAAiB;AACvBC,EAAAA,GAAG,EAAE,KAAK;AACVC,EAAAA,MAAM,EAAEvB,mBAAmB;AAC3BwB,EAAAA,IAAI,EAAE,EAAE;AACRC,EAAAA,UAAU,EAAE;AACRlB,IAAAA,IAAI,EAAE;AACFmB,MAAAA,GAAG,EAAEC,IAAAA;KACR;AACDnB,IAAAA,IAAI,EAAE;AACFkB,MAAAA,GAAG,EAAEE,MAAAA;AACT,KAAA;GACH;AACDC,EAAAA,QAAQ,EAAE;AACNtB,IAAAA,IAAI,EAAE,SAAS;AACfC,IAAAA,IAAI,EAAE,GAAA;AACV,GAAA;AACJ;;;;"}
@@ -1,9 +1,9 @@
1
1
  import { objectWithoutProperties as _objectWithoutProperties, extends as _extends } from '../../../../_virtual/_rollupPluginBabelHelpers.js';
2
2
  import React, { forwardRef } from 'react';
3
+ import { useUniqId } from '@salutejs/plasma-core';
3
4
  import { base } from './variations/_view/base.js';
4
5
  import { base as base$1 } from './variations/_size/base.js';
5
6
  import { StyledDropdownFooter } from './DropdownFooter.styles.js';
6
- import { safeUseId } from '../../../../utils/react.js';
7
7
 
8
8
  var _excluded = ["id", "className", "children", "view", "size"];
9
9
  /**
@@ -17,7 +17,7 @@ var dropdownFooterRoot = function dropdownFooterRoot(Root) {
17
17
  view = _ref.view,
18
18
  size = _ref.size,
19
19
  rest = _objectWithoutProperties(_ref, _excluded);
20
- var uniqId = safeUseId();
20
+ var uniqId = useUniqId();
21
21
  var innerId = id || uniqId;
22
22
  return /*#__PURE__*/React.createElement(Root, {
23
23
  id: innerId,
@@ -1 +1 @@
1
- {"version":3,"file":"DropdownFooter.js","sources":["../../../../../src/components/Dropdown/ui/DropdownFooter/DropdownFooter.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\n\nimport { RootProps } from '../../../../engines';\nimport { safeUseId } from '../../../../utils';\n\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as sizeCSS } from './variations/_size/base';\nimport { StyledDropdownFooter } from './DropdownFooter.styles';\nimport type { DropdownFooterProps } from './DropdownFooter.type';\n\n/**\n * Элемент выпадающего списка\n */\nexport const dropdownFooterRoot = (Root: RootProps<HTMLDivElement, DropdownFooterProps>) =>\n forwardRef<HTMLDivElement, DropdownFooterProps>(\n ({ id, className, children, view, size, ...rest }, outerRootRef) => {\n const uniqId = safeUseId();\n const innerId = id || uniqId;\n\n return (\n <Root id={innerId} ref={outerRootRef} view={view} size={size}>\n <StyledDropdownFooter className={className} {...rest}>\n {children}\n </StyledDropdownFooter>\n </Root>\n );\n },\n );\n\nexport const dropdownFooterConfig = {\n name: 'DropdownFooter',\n tag: 'div',\n layout: dropdownFooterRoot,\n base: '',\n variations: {\n view: {\n css: viewCSS,\n },\n size: {\n css: sizeCSS,\n },\n },\n defaults: {\n view: 'primary',\n size: 'm',\n },\n};\n"],"names":["dropdownFooterRoot","Root","forwardRef","_ref","outerRootRef","id","className","children","view","size","rest","_objectWithoutProperties","_excluded","uniqId","safeUseId","innerId","React","createElement","ref","StyledDropdownFooter","_extends","dropdownFooterConfig","name","tag","layout","base","variations","css","viewCSS","sizeCSS","defaults"],"mappings":";;;;;;;;AAUA;AACA;AACA;IACaA,kBAAkB,GAAG,SAArBA,kBAAkBA,CAAIC,IAAoD,EAAA;AAAA,EAAA,oBACnFC,UAAU,CACN,UAAAC,IAAA,EAAmDC,YAAY,EAAK;AAAA,IAAA,IAAjEC,EAAE,GAAAF,IAAA,CAAFE,EAAE;MAAEC,SAAS,GAAAH,IAAA,CAATG,SAAS;MAAEC,QAAQ,GAAAJ,IAAA,CAARI,QAAQ;MAAEC,IAAI,GAAAL,IAAA,CAAJK,IAAI;MAAEC,IAAI,GAAAN,IAAA,CAAJM,IAAI;AAAKC,MAAAA,IAAI,GAAAC,wBAAA,CAAAR,IAAA,EAAAS,SAAA,CAAA,CAAA;AAC3C,IAAA,IAAMC,MAAM,GAAGC,SAAS,EAAE,CAAA;AAC1B,IAAA,IAAMC,OAAO,GAAGV,EAAE,IAAIQ,MAAM,CAAA;AAE5B,IAAA,oBACIG,KAAA,CAAAC,aAAA,CAAChB,IAAI,EAAA;AAACI,MAAAA,EAAE,EAAEU,OAAQ;AAACG,MAAAA,GAAG,EAAEd,YAAa;AAACI,MAAAA,IAAI,EAAEA,IAAK;AAACC,MAAAA,IAAI,EAAEA,IAAAA;AAAK,KAAA,eACzDO,KAAA,CAAAC,aAAA,CAACE,oBAAoB,EAAAC,QAAA,CAAA;AAACd,MAAAA,SAAS,EAAEA,SAAAA;AAAU,KAAA,EAAKI,IAAI,CAAA,EAC/CH,QACiB,CACpB,CAAC,CAAA;AAEf,GACJ,CAAC,CAAA;AAAA,EAAA;AAEE,IAAMc,oBAAoB,GAAG;AAChCC,EAAAA,IAAI,EAAE,gBAAgB;AACtBC,EAAAA,GAAG,EAAE,KAAK;AACVC,EAAAA,MAAM,EAAExB,kBAAkB;AAC1ByB,EAAAA,IAAI,EAAE,EAAE;AACRC,EAAAA,UAAU,EAAE;AACRlB,IAAAA,IAAI,EAAE;AACFmB,MAAAA,GAAG,EAAEC,IAAAA;KACR;AACDnB,IAAAA,IAAI,EAAE;AACFkB,MAAAA,GAAG,EAAEE,MAAAA;AACT,KAAA;GACH;AACDC,EAAAA,QAAQ,EAAE;AACNtB,IAAAA,IAAI,EAAE,SAAS;AACfC,IAAAA,IAAI,EAAE,GAAA;AACV,GAAA;AACJ;;;;"}
1
+ {"version":3,"file":"DropdownFooter.js","sources":["../../../../../src/components/Dropdown/ui/DropdownFooter/DropdownFooter.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\nimport { useUniqId } from '@salutejs/plasma-core';\n\nimport { RootProps } from '../../../../engines';\n\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as sizeCSS } from './variations/_size/base';\nimport { StyledDropdownFooter } from './DropdownFooter.styles';\nimport type { DropdownFooterProps } from './DropdownFooter.type';\n\n/**\n * Элемент выпадающего списка\n */\nexport const dropdownFooterRoot = (Root: RootProps<HTMLDivElement, DropdownFooterProps>) =>\n forwardRef<HTMLDivElement, DropdownFooterProps>(\n ({ id, className, children, view, size, ...rest }, outerRootRef) => {\n const uniqId = useUniqId();\n const innerId = id || uniqId;\n\n return (\n <Root id={innerId} ref={outerRootRef} view={view} size={size}>\n <StyledDropdownFooter className={className} {...rest}>\n {children}\n </StyledDropdownFooter>\n </Root>\n );\n },\n );\n\nexport const dropdownFooterConfig = {\n name: 'DropdownFooter',\n tag: 'div',\n layout: dropdownFooterRoot,\n base: '',\n variations: {\n view: {\n css: viewCSS,\n },\n size: {\n css: sizeCSS,\n },\n },\n defaults: {\n view: 'primary',\n size: 'm',\n },\n};\n"],"names":["dropdownFooterRoot","Root","forwardRef","_ref","outerRootRef","id","className","children","view","size","rest","_objectWithoutProperties","_excluded","uniqId","useUniqId","innerId","React","createElement","ref","StyledDropdownFooter","_extends","dropdownFooterConfig","name","tag","layout","base","variations","css","viewCSS","sizeCSS","defaults"],"mappings":";;;;;;;;AAUA;AACA;AACA;IACaA,kBAAkB,GAAG,SAArBA,kBAAkBA,CAAIC,IAAoD,EAAA;AAAA,EAAA,oBACnFC,UAAU,CACN,UAAAC,IAAA,EAAmDC,YAAY,EAAK;AAAA,IAAA,IAAjEC,EAAE,GAAAF,IAAA,CAAFE,EAAE;MAAEC,SAAS,GAAAH,IAAA,CAATG,SAAS;MAAEC,QAAQ,GAAAJ,IAAA,CAARI,QAAQ;MAAEC,IAAI,GAAAL,IAAA,CAAJK,IAAI;MAAEC,IAAI,GAAAN,IAAA,CAAJM,IAAI;AAAKC,MAAAA,IAAI,GAAAC,wBAAA,CAAAR,IAAA,EAAAS,SAAA,CAAA,CAAA;AAC3C,IAAA,IAAMC,MAAM,GAAGC,SAAS,EAAE,CAAA;AAC1B,IAAA,IAAMC,OAAO,GAAGV,EAAE,IAAIQ,MAAM,CAAA;AAE5B,IAAA,oBACIG,KAAA,CAAAC,aAAA,CAAChB,IAAI,EAAA;AAACI,MAAAA,EAAE,EAAEU,OAAQ;AAACG,MAAAA,GAAG,EAAEd,YAAa;AAACI,MAAAA,IAAI,EAAEA,IAAK;AAACC,MAAAA,IAAI,EAAEA,IAAAA;AAAK,KAAA,eACzDO,KAAA,CAAAC,aAAA,CAACE,oBAAoB,EAAAC,QAAA,CAAA;AAACd,MAAAA,SAAS,EAAEA,SAAAA;AAAU,KAAA,EAAKI,IAAI,CAAA,EAC/CH,QACiB,CACpB,CAAC,CAAA;AAEf,GACJ,CAAC,CAAA;AAAA,EAAA;AAEE,IAAMc,oBAAoB,GAAG;AAChCC,EAAAA,IAAI,EAAE,gBAAgB;AACtBC,EAAAA,GAAG,EAAE,KAAK;AACVC,EAAAA,MAAM,EAAExB,kBAAkB;AAC1ByB,EAAAA,IAAI,EAAE,EAAE;AACRC,EAAAA,UAAU,EAAE;AACRlB,IAAAA,IAAI,EAAE;AACFmB,MAAAA,GAAG,EAAEC,IAAAA;KACR;AACDnB,IAAAA,IAAI,EAAE;AACFkB,MAAAA,GAAG,EAAEE,MAAAA;AACT,KAAA;GACH;AACDC,EAAAA,QAAQ,EAAE;AACNtB,IAAAA,IAAI,EAAE,SAAS;AACfC,IAAAA,IAAI,EAAE,GAAA;AACV,GAAA;AACJ;;;;"}
@@ -1,9 +1,9 @@
1
1
  import { objectWithoutProperties as _objectWithoutProperties, extends as _extends } from '../../../../_virtual/_rollupPluginBabelHelpers.js';
2
2
  import React, { forwardRef } from 'react';
3
+ import { useUniqId } from '@salutejs/plasma-core';
3
4
  import { base } from './variations/_view/base.js';
4
5
  import { base as base$1 } from './variations/_size/base.js';
5
6
  import { StyledDropdownLabel, StyledDropdownGroup } from './DropdownGroup.styles.js';
6
- import { safeUseId } from '../../../../utils/react.js';
7
7
 
8
8
  var _excluded = ["id", "labelClassName", "groupClassName", "label", "children", "role", "view", "size"];
9
9
  /**
@@ -20,7 +20,7 @@ var dropdownGroupRoot = function dropdownGroupRoot(Root) {
20
20
  view = _ref.view,
21
21
  size = _ref.size,
22
22
  rest = _objectWithoutProperties(_ref, _excluded);
23
- var uniqId = safeUseId();
23
+ var uniqId = useUniqId();
24
24
  var innerId = id || uniqId;
25
25
  return /*#__PURE__*/React.createElement(Root, {
26
26
  id: innerId,
@@ -1 +1 @@
1
- {"version":3,"file":"DropdownGroup.js","sources":["../../../../../src/components/Dropdown/ui/DropdownGroup/DropdownGroup.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\n\nimport { RootProps } from '../../../../engines';\nimport { safeUseId } from '../../../../utils';\n\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as sizeCSS } from './variations/_size/base';\nimport { StyledDropdownGroup, StyledDropdownLabel } from './DropdownGroup.styles';\nimport type { DropdownGroupProps } from './DropdownGroup.type';\n\n/**\n * Элемент группы выпадающего списка\n */\nexport const dropdownGroupRoot = (Root: RootProps<HTMLDivElement, DropdownGroupProps>) =>\n forwardRef<HTMLDivElement, DropdownGroupProps>(\n ({ id, labelClassName, groupClassName, label, children, role, view, size, ...rest }, outerRootRef) => {\n const uniqId = safeUseId();\n const innerId = id || uniqId;\n\n return (\n <Root id={innerId} ref={outerRootRef} view={view} size={size} role={role}>\n <StyledDropdownLabel className={labelClassName}>{label}</StyledDropdownLabel>\n <StyledDropdownGroup className={groupClassName} {...rest}>\n {children}\n </StyledDropdownGroup>\n </Root>\n );\n },\n );\n\nexport const dropdownGroupConfig = {\n name: 'DropdownGroup',\n tag: 'div',\n layout: dropdownGroupRoot,\n base: '',\n variations: {\n view: {\n css: viewCSS,\n },\n size: {\n css: sizeCSS,\n },\n },\n defaults: {\n view: 'primary',\n size: 'm',\n },\n};\n"],"names":["dropdownGroupRoot","Root","forwardRef","_ref","outerRootRef","id","labelClassName","groupClassName","label","children","role","view","size","rest","_objectWithoutProperties","_excluded","uniqId","safeUseId","innerId","React","createElement","ref","StyledDropdownLabel","className","StyledDropdownGroup","_extends","dropdownGroupConfig","name","tag","layout","base","variations","css","viewCSS","sizeCSS","defaults"],"mappings":";;;;;;;;AAUA;AACA;AACA;IACaA,iBAAiB,GAAG,SAApBA,iBAAiBA,CAAIC,IAAmD,EAAA;AAAA,EAAA,oBACjFC,UAAU,CACN,UAAAC,IAAA,EAAqFC,YAAY,EAAK;AAAA,IAAA,IAAnGC,EAAE,GAAAF,IAAA,CAAFE,EAAE;MAAEC,cAAc,GAAAH,IAAA,CAAdG,cAAc;MAAEC,cAAc,GAAAJ,IAAA,CAAdI,cAAc;MAAEC,KAAK,GAAAL,IAAA,CAALK,KAAK;MAAEC,QAAQ,GAAAN,IAAA,CAARM,QAAQ;MAAEC,IAAI,GAAAP,IAAA,CAAJO,IAAI;MAAEC,IAAI,GAAAR,IAAA,CAAJQ,IAAI;MAAEC,IAAI,GAAAT,IAAA,CAAJS,IAAI;AAAKC,MAAAA,IAAI,GAAAC,wBAAA,CAAAX,IAAA,EAAAY,SAAA,CAAA,CAAA;AAC7E,IAAA,IAAMC,MAAM,GAAGC,SAAS,EAAE,CAAA;AAC1B,IAAA,IAAMC,OAAO,GAAGb,EAAE,IAAIW,MAAM,CAAA;AAE5B,IAAA,oBACIG,KAAA,CAAAC,aAAA,CAACnB,IAAI,EAAA;AAACI,MAAAA,EAAE,EAAEa,OAAQ;AAACG,MAAAA,GAAG,EAAEjB,YAAa;AAACO,MAAAA,IAAI,EAAEA,IAAK;AAACC,MAAAA,IAAI,EAAEA,IAAK;AAACF,MAAAA,IAAI,EAAEA,IAAAA;AAAK,KAAA,eACrES,KAAA,CAAAC,aAAA,CAACE,mBAAmB,EAAA;AAACC,MAAAA,SAAS,EAAEjB,cAAAA;KAAiBE,EAAAA,KAA2B,CAAC,eAC7EW,KAAA,CAAAC,aAAA,CAACI,mBAAmB,EAAAC,QAAA,CAAA;AAACF,MAAAA,SAAS,EAAEhB,cAAAA;AAAe,KAAA,EAAKM,IAAI,CAAA,EACnDJ,QACgB,CACnB,CAAC,CAAA;AAEf,GACJ,CAAC,CAAA;AAAA,EAAA;AAEE,IAAMiB,mBAAmB,GAAG;AAC/BC,EAAAA,IAAI,EAAE,eAAe;AACrBC,EAAAA,GAAG,EAAE,KAAK;AACVC,EAAAA,MAAM,EAAE7B,iBAAiB;AACzB8B,EAAAA,IAAI,EAAE,EAAE;AACRC,EAAAA,UAAU,EAAE;AACRpB,IAAAA,IAAI,EAAE;AACFqB,MAAAA,GAAG,EAAEC,IAAAA;KACR;AACDrB,IAAAA,IAAI,EAAE;AACFoB,MAAAA,GAAG,EAAEE,MAAAA;AACT,KAAA;GACH;AACDC,EAAAA,QAAQ,EAAE;AACNxB,IAAAA,IAAI,EAAE,SAAS;AACfC,IAAAA,IAAI,EAAE,GAAA;AACV,GAAA;AACJ;;;;"}
1
+ {"version":3,"file":"DropdownGroup.js","sources":["../../../../../src/components/Dropdown/ui/DropdownGroup/DropdownGroup.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\nimport { useUniqId } from '@salutejs/plasma-core';\n\nimport { RootProps } from '../../../../engines';\n\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as sizeCSS } from './variations/_size/base';\nimport { StyledDropdownGroup, StyledDropdownLabel } from './DropdownGroup.styles';\nimport type { DropdownGroupProps } from './DropdownGroup.type';\n\n/**\n * Элемент группы выпадающего списка\n */\nexport const dropdownGroupRoot = (Root: RootProps<HTMLDivElement, DropdownGroupProps>) =>\n forwardRef<HTMLDivElement, DropdownGroupProps>(\n ({ id, labelClassName, groupClassName, label, children, role, view, size, ...rest }, outerRootRef) => {\n const uniqId = useUniqId();\n const innerId = id || uniqId;\n\n return (\n <Root id={innerId} ref={outerRootRef} view={view} size={size} role={role}>\n <StyledDropdownLabel className={labelClassName}>{label}</StyledDropdownLabel>\n <StyledDropdownGroup className={groupClassName} {...rest}>\n {children}\n </StyledDropdownGroup>\n </Root>\n );\n },\n );\n\nexport const dropdownGroupConfig = {\n name: 'DropdownGroup',\n tag: 'div',\n layout: dropdownGroupRoot,\n base: '',\n variations: {\n view: {\n css: viewCSS,\n },\n size: {\n css: sizeCSS,\n },\n },\n defaults: {\n view: 'primary',\n size: 'm',\n },\n};\n"],"names":["dropdownGroupRoot","Root","forwardRef","_ref","outerRootRef","id","labelClassName","groupClassName","label","children","role","view","size","rest","_objectWithoutProperties","_excluded","uniqId","useUniqId","innerId","React","createElement","ref","StyledDropdownLabel","className","StyledDropdownGroup","_extends","dropdownGroupConfig","name","tag","layout","base","variations","css","viewCSS","sizeCSS","defaults"],"mappings":";;;;;;;;AAUA;AACA;AACA;IACaA,iBAAiB,GAAG,SAApBA,iBAAiBA,CAAIC,IAAmD,EAAA;AAAA,EAAA,oBACjFC,UAAU,CACN,UAAAC,IAAA,EAAqFC,YAAY,EAAK;AAAA,IAAA,IAAnGC,EAAE,GAAAF,IAAA,CAAFE,EAAE;MAAEC,cAAc,GAAAH,IAAA,CAAdG,cAAc;MAAEC,cAAc,GAAAJ,IAAA,CAAdI,cAAc;MAAEC,KAAK,GAAAL,IAAA,CAALK,KAAK;MAAEC,QAAQ,GAAAN,IAAA,CAARM,QAAQ;MAAEC,IAAI,GAAAP,IAAA,CAAJO,IAAI;MAAEC,IAAI,GAAAR,IAAA,CAAJQ,IAAI;MAAEC,IAAI,GAAAT,IAAA,CAAJS,IAAI;AAAKC,MAAAA,IAAI,GAAAC,wBAAA,CAAAX,IAAA,EAAAY,SAAA,CAAA,CAAA;AAC7E,IAAA,IAAMC,MAAM,GAAGC,SAAS,EAAE,CAAA;AAC1B,IAAA,IAAMC,OAAO,GAAGb,EAAE,IAAIW,MAAM,CAAA;AAE5B,IAAA,oBACIG,KAAA,CAAAC,aAAA,CAACnB,IAAI,EAAA;AAACI,MAAAA,EAAE,EAAEa,OAAQ;AAACG,MAAAA,GAAG,EAAEjB,YAAa;AAACO,MAAAA,IAAI,EAAEA,IAAK;AAACC,MAAAA,IAAI,EAAEA,IAAK;AAACF,MAAAA,IAAI,EAAEA,IAAAA;AAAK,KAAA,eACrES,KAAA,CAAAC,aAAA,CAACE,mBAAmB,EAAA;AAACC,MAAAA,SAAS,EAAEjB,cAAAA;KAAiBE,EAAAA,KAA2B,CAAC,eAC7EW,KAAA,CAAAC,aAAA,CAACI,mBAAmB,EAAAC,QAAA,CAAA;AAACF,MAAAA,SAAS,EAAEhB,cAAAA;AAAe,KAAA,EAAKM,IAAI,CAAA,EACnDJ,QACgB,CACnB,CAAC,CAAA;AAEf,GACJ,CAAC,CAAA;AAAA,EAAA;AAEE,IAAMiB,mBAAmB,GAAG;AAC/BC,EAAAA,IAAI,EAAE,eAAe;AACrBC,EAAAA,GAAG,EAAE,KAAK;AACVC,EAAAA,MAAM,EAAE7B,iBAAiB;AACzB8B,EAAAA,IAAI,EAAE,EAAE;AACRC,EAAAA,UAAU,EAAE;AACRpB,IAAAA,IAAI,EAAE;AACFqB,MAAAA,GAAG,EAAEC,IAAAA;KACR;AACDrB,IAAAA,IAAI,EAAE;AACFoB,MAAAA,GAAG,EAAEE,MAAAA;AACT,KAAA;GACH;AACDC,EAAAA,QAAQ,EAAE;AACNxB,IAAAA,IAAI,EAAE,SAAS;AACfC,IAAAA,IAAI,EAAE,GAAA;AACV,GAAA;AACJ;;;;"}
@@ -1,9 +1,9 @@
1
1
  import { objectWithoutProperties as _objectWithoutProperties, extends as _extends } from '../../../../_virtual/_rollupPluginBabelHelpers.js';
2
2
  import React, { forwardRef } from 'react';
3
+ import { useUniqId } from '@salutejs/plasma-core';
3
4
  import { base } from './variations/_view/base.js';
4
5
  import { base as base$1 } from './variations/_size/base.js';
5
6
  import { StyledDropdownHeader } from './DropdownHeader.styles.js';
6
- import { safeUseId } from '../../../../utils/react.js';
7
7
 
8
8
  var _excluded = ["id", "className", "view", "size", "children"];
9
9
  /**
@@ -17,7 +17,7 @@ var dropdownHeaderRoot = function dropdownHeaderRoot(Root) {
17
17
  size = _ref.size,
18
18
  children = _ref.children,
19
19
  rest = _objectWithoutProperties(_ref, _excluded);
20
- var uniqId = safeUseId();
20
+ var uniqId = useUniqId();
21
21
  var innerId = id || uniqId;
22
22
  return /*#__PURE__*/React.createElement(Root, {
23
23
  id: innerId,
@@ -1 +1 @@
1
- {"version":3,"file":"DropdownHeader.js","sources":["../../../../../src/components/Dropdown/ui/DropdownHeader/DropdownHeader.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\n\nimport { RootProps } from '../../../../engines';\nimport { safeUseId } from '../../../../utils';\n\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as sizeCSS } from './variations/_size/base';\nimport { StyledDropdownHeader } from './DropdownHeader.styles';\nimport type { DropdownHeaderProps } from './DropdownHeader.type';\n\n/**\n * Элемент выпадающего списка\n */\nexport const dropdownHeaderRoot = (Root: RootProps<HTMLDivElement, DropdownHeaderProps>) =>\n forwardRef<HTMLDivElement, DropdownHeaderProps>(\n ({ id, className, view, size, children, ...rest }, outerRootRef) => {\n const uniqId = safeUseId();\n const innerId = id || uniqId;\n\n return (\n <Root id={innerId} ref={outerRootRef} view={view} size={size}>\n <StyledDropdownHeader className={className} {...rest}>\n {children}\n </StyledDropdownHeader>\n </Root>\n );\n },\n );\n\nexport const dropdownHeaderConfig = {\n name: 'DropdownHeader',\n tag: 'div',\n layout: dropdownHeaderRoot,\n base: '',\n variations: {\n view: {\n css: viewCSS,\n },\n size: {\n css: sizeCSS,\n },\n },\n defaults: {\n view: 'primary',\n size: 'm',\n },\n};\n"],"names":["dropdownHeaderRoot","Root","forwardRef","_ref","outerRootRef","id","className","view","size","children","rest","_objectWithoutProperties","_excluded","uniqId","safeUseId","innerId","React","createElement","ref","StyledDropdownHeader","_extends","dropdownHeaderConfig","name","tag","layout","base","variations","css","viewCSS","sizeCSS","defaults"],"mappings":";;;;;;;;AAUA;AACA;AACA;IACaA,kBAAkB,GAAG,SAArBA,kBAAkBA,CAAIC,IAAoD,EAAA;AAAA,EAAA,oBACnFC,UAAU,CACN,UAAAC,IAAA,EAAmDC,YAAY,EAAK;AAAA,IAAA,IAAjEC,EAAE,GAAAF,IAAA,CAAFE,EAAE;MAAEC,SAAS,GAAAH,IAAA,CAATG,SAAS;MAAEC,IAAI,GAAAJ,IAAA,CAAJI,IAAI;MAAEC,IAAI,GAAAL,IAAA,CAAJK,IAAI;MAAEC,QAAQ,GAAAN,IAAA,CAARM,QAAQ;AAAKC,MAAAA,IAAI,GAAAC,wBAAA,CAAAR,IAAA,EAAAS,SAAA,CAAA,CAAA;AAC3C,IAAA,IAAMC,MAAM,GAAGC,SAAS,EAAE,CAAA;AAC1B,IAAA,IAAMC,OAAO,GAAGV,EAAE,IAAIQ,MAAM,CAAA;AAE5B,IAAA,oBACIG,KAAA,CAAAC,aAAA,CAAChB,IAAI,EAAA;AAACI,MAAAA,EAAE,EAAEU,OAAQ;AAACG,MAAAA,GAAG,EAAEd,YAAa;AAACG,MAAAA,IAAI,EAAEA,IAAK;AAACC,MAAAA,IAAI,EAAEA,IAAAA;AAAK,KAAA,eACzDQ,KAAA,CAAAC,aAAA,CAACE,oBAAoB,EAAAC,QAAA,CAAA;AAACd,MAAAA,SAAS,EAAEA,SAAAA;AAAU,KAAA,EAAKI,IAAI,CAAA,EAC/CD,QACiB,CACpB,CAAC,CAAA;AAEf,GACJ,CAAC,CAAA;AAAA,EAAA;AAEE,IAAMY,oBAAoB,GAAG;AAChCC,EAAAA,IAAI,EAAE,gBAAgB;AACtBC,EAAAA,GAAG,EAAE,KAAK;AACVC,EAAAA,MAAM,EAAExB,kBAAkB;AAC1ByB,EAAAA,IAAI,EAAE,EAAE;AACRC,EAAAA,UAAU,EAAE;AACRnB,IAAAA,IAAI,EAAE;AACFoB,MAAAA,GAAG,EAAEC,IAAAA;KACR;AACDpB,IAAAA,IAAI,EAAE;AACFmB,MAAAA,GAAG,EAAEE,MAAAA;AACT,KAAA;GACH;AACDC,EAAAA,QAAQ,EAAE;AACNvB,IAAAA,IAAI,EAAE,SAAS;AACfC,IAAAA,IAAI,EAAE,GAAA;AACV,GAAA;AACJ;;;;"}
1
+ {"version":3,"file":"DropdownHeader.js","sources":["../../../../../src/components/Dropdown/ui/DropdownHeader/DropdownHeader.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\nimport { useUniqId } from '@salutejs/plasma-core';\n\nimport { RootProps } from '../../../../engines';\n\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as sizeCSS } from './variations/_size/base';\nimport { StyledDropdownHeader } from './DropdownHeader.styles';\nimport type { DropdownHeaderProps } from './DropdownHeader.type';\n\n/**\n * Элемент выпадающего списка\n */\nexport const dropdownHeaderRoot = (Root: RootProps<HTMLDivElement, DropdownHeaderProps>) =>\n forwardRef<HTMLDivElement, DropdownHeaderProps>(\n ({ id, className, view, size, children, ...rest }, outerRootRef) => {\n const uniqId = useUniqId();\n const innerId = id || uniqId;\n\n return (\n <Root id={innerId} ref={outerRootRef} view={view} size={size}>\n <StyledDropdownHeader className={className} {...rest}>\n {children}\n </StyledDropdownHeader>\n </Root>\n );\n },\n );\n\nexport const dropdownHeaderConfig = {\n name: 'DropdownHeader',\n tag: 'div',\n layout: dropdownHeaderRoot,\n base: '',\n variations: {\n view: {\n css: viewCSS,\n },\n size: {\n css: sizeCSS,\n },\n },\n defaults: {\n view: 'primary',\n size: 'm',\n },\n};\n"],"names":["dropdownHeaderRoot","Root","forwardRef","_ref","outerRootRef","id","className","view","size","children","rest","_objectWithoutProperties","_excluded","uniqId","useUniqId","innerId","React","createElement","ref","StyledDropdownHeader","_extends","dropdownHeaderConfig","name","tag","layout","base","variations","css","viewCSS","sizeCSS","defaults"],"mappings":";;;;;;;;AAUA;AACA;AACA;IACaA,kBAAkB,GAAG,SAArBA,kBAAkBA,CAAIC,IAAoD,EAAA;AAAA,EAAA,oBACnFC,UAAU,CACN,UAAAC,IAAA,EAAmDC,YAAY,EAAK;AAAA,IAAA,IAAjEC,EAAE,GAAAF,IAAA,CAAFE,EAAE;MAAEC,SAAS,GAAAH,IAAA,CAATG,SAAS;MAAEC,IAAI,GAAAJ,IAAA,CAAJI,IAAI;MAAEC,IAAI,GAAAL,IAAA,CAAJK,IAAI;MAAEC,QAAQ,GAAAN,IAAA,CAARM,QAAQ;AAAKC,MAAAA,IAAI,GAAAC,wBAAA,CAAAR,IAAA,EAAAS,SAAA,CAAA,CAAA;AAC3C,IAAA,IAAMC,MAAM,GAAGC,SAAS,EAAE,CAAA;AAC1B,IAAA,IAAMC,OAAO,GAAGV,EAAE,IAAIQ,MAAM,CAAA;AAE5B,IAAA,oBACIG,KAAA,CAAAC,aAAA,CAAChB,IAAI,EAAA;AAACI,MAAAA,EAAE,EAAEU,OAAQ;AAACG,MAAAA,GAAG,EAAEd,YAAa;AAACG,MAAAA,IAAI,EAAEA,IAAK;AAACC,MAAAA,IAAI,EAAEA,IAAAA;AAAK,KAAA,eACzDQ,KAAA,CAAAC,aAAA,CAACE,oBAAoB,EAAAC,QAAA,CAAA;AAACd,MAAAA,SAAS,EAAEA,SAAAA;AAAU,KAAA,EAAKI,IAAI,CAAA,EAC/CD,QACiB,CACpB,CAAC,CAAA;AAEf,GACJ,CAAC,CAAA;AAAA,EAAA;AAEE,IAAMY,oBAAoB,GAAG;AAChCC,EAAAA,IAAI,EAAE,gBAAgB;AACtBC,EAAAA,GAAG,EAAE,KAAK;AACVC,EAAAA,MAAM,EAAExB,kBAAkB;AAC1ByB,EAAAA,IAAI,EAAE,EAAE;AACRC,EAAAA,UAAU,EAAE;AACRnB,IAAAA,IAAI,EAAE;AACFoB,MAAAA,GAAG,EAAEC,IAAAA;KACR;AACDpB,IAAAA,IAAI,EAAE;AACFmB,MAAAA,GAAG,EAAEE,MAAAA;AACT,KAAA;GACH;AACDC,EAAAA,QAAQ,EAAE;AACNvB,IAAAA,IAAI,EAAE,SAAS;AACfC,IAAAA,IAAI,EAAE,GAAA;AACV,GAAA;AACJ;;;;"}
@@ -1,12 +1,10 @@
1
1
  import { objectWithoutProperties as _objectWithoutProperties, extends as _extends } from '../../../../_virtual/_rollupPluginBabelHelpers.js';
2
2
  import React, { forwardRef, useRef } from 'react';
3
- import { useForkRef } from '@salutejs/plasma-core';
3
+ import { useUniqId, useForkRef, useFocusTrap } from '@salutejs/plasma-core';
4
4
  import { base } from './variations/_view/base.js';
5
5
  import { base as base$1 } from './variations/_size/base.js';
6
6
  import { StyledPopover, StyledDropdown } from './Dropdown.styles.js';
7
7
  import { getPlacements } from './utils/index.js';
8
- import { safeUseId } from '../../../../utils/react.js';
9
- import { useFocusTrap } from '../../../../hooks/useFocusTrap.js';
10
8
 
11
9
  var _excluded = ["id", "target", "children", "hasArrow", "role", "view", "size", "frame", "onToggle", "isFocusTrapped", "isOpen", "opened", "placement", "trigger", "offset", "preventOverflow", "closeOnOverlayClick", "closeOnEsc"];
12
10
  /**
@@ -43,7 +41,7 @@ var dropdownOldRoot = function dropdownOldRoot(Root) {
43
41
  closeOnEsc = _ref$closeOnEsc === void 0 ? false : _ref$closeOnEsc,
44
42
  rest = _objectWithoutProperties(_ref, _excluded);
45
43
  var innerIsOpen = Boolean(isOpen || opened);
46
- var uniqId = safeUseId();
44
+ var uniqId = useUniqId();
47
45
  var innerId = id || uniqId;
48
46
  var rootRef = useRef(null);
49
47
  var dropdownRef = useRef(null);
@@ -1 +1 @@
1
- {"version":3,"file":"DropdownOld.js","sources":["../../../../../src/components/Dropdown/ui/DropdownOld/DropdownOld.tsx"],"sourcesContent":["import React, { forwardRef, useRef } from 'react';\nimport { useForkRef } from '@salutejs/plasma-core';\n\nimport { RootProps } from '../../../../engines';\nimport { useFocusTrap } from '../../../../hooks';\nimport { safeUseId } from '../../../../utils';\n\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as sizeCSS } from './variations/_size/base';\nimport { StyledDropdown, StyledPopover } from './Dropdown.styles';\nimport { getPlacements } from './utils';\nimport type { DropdownProps } from './Dropdown.types';\n\n/**\n * Выпадающий список без внешнего контроля видимости.\n */\nexport const dropdownOldRoot = (Root: RootProps<HTMLDivElement, DropdownProps>) =>\n forwardRef<HTMLDivElement, DropdownProps>(\n (\n {\n id,\n target,\n children,\n hasArrow,\n role,\n view,\n size,\n frame,\n onToggle,\n isFocusTrapped = true,\n isOpen = false,\n opened = false,\n placement = 'auto',\n trigger = 'click',\n offset = [0, 6],\n preventOverflow = false,\n closeOnOverlayClick = false,\n closeOnEsc = false,\n ...rest\n },\n outerRootRef,\n ) => {\n const innerIsOpen = Boolean(isOpen || opened);\n\n const uniqId = safeUseId();\n const innerId = id || uniqId;\n\n const rootRef = useRef<HTMLDivElement | null>(null);\n const dropdownRef = useRef<HTMLDivElement | null>(null);\n const handleRef = useForkRef<HTMLDivElement>(rootRef, outerRootRef);\n\n const trapRef = useFocusTrap(innerIsOpen && isFocusTrapped);\n\n const dropdownForkRef = useForkRef<HTMLDivElement>(dropdownRef, trapRef);\n\n return (\n <StyledPopover\n role={role}\n opened={innerIsOpen}\n usePortal={false}\n onToggle={(is, event) => onToggle?.(is, event)}\n id={innerId}\n ref={dropdownForkRef}\n target={target}\n offset={offset}\n preventOverflow={preventOverflow}\n hasArrow={hasArrow}\n placement={getPlacements(placement)}\n trigger={trigger}\n closeOnOverlayClick={closeOnOverlayClick}\n closeOnEsc={closeOnEsc}\n isFocusTrapped={isFocusTrapped}\n frame={frame}\n >\n <Root ref={handleRef} view={view} size={size} {...rest}>\n <StyledDropdown>{children}</StyledDropdown>\n </Root>\n </StyledPopover>\n );\n },\n );\n\nexport const dropdownOldConfig = {\n name: 'Dropdown',\n tag: 'div',\n layout: dropdownOldRoot,\n base: '',\n variations: {\n view: {\n css: viewCSS,\n },\n size: {\n css: sizeCSS,\n },\n },\n defaults: {\n view: 'default',\n size: 'm',\n },\n};\n"],"names":["dropdownOldRoot","Root","forwardRef","_ref","outerRootRef","id","target","children","hasArrow","role","view","size","frame","onToggle","_ref$isFocusTrapped","isFocusTrapped","_ref$isOpen","isOpen","_ref$opened","opened","_ref$placement","placement","_ref$trigger","trigger","_ref$offset","offset","_ref$preventOverflow","preventOverflow","_ref$closeOnOverlayCl","closeOnOverlayClick","_ref$closeOnEsc","closeOnEsc","rest","_objectWithoutProperties","_excluded","innerIsOpen","Boolean","uniqId","safeUseId","innerId","rootRef","useRef","dropdownRef","handleRef","useForkRef","trapRef","useFocusTrap","dropdownForkRef","React","createElement","StyledPopover","usePortal","is","event","ref","getPlacements","_extends","StyledDropdown","dropdownOldConfig","name","tag","layout","base","variations","css","viewCSS","sizeCSS","defaults"],"mappings":"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"}
1
+ {"version":3,"file":"DropdownOld.js","sources":["../../../../../src/components/Dropdown/ui/DropdownOld/DropdownOld.tsx"],"sourcesContent":["import React, { forwardRef, useRef } from 'react';\nimport { useFocusTrap, useForkRef, useUniqId } from '@salutejs/plasma-core';\n\nimport { RootProps } from '../../../../engines';\n\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as sizeCSS } from './variations/_size/base';\nimport { StyledDropdown, StyledPopover } from './Dropdown.styles';\nimport { getPlacements } from './utils';\nimport type { DropdownProps } from './Dropdown.types';\n\n/**\n * Выпадающий список без внешнего контроля видимости.\n */\nexport const dropdownOldRoot = (Root: RootProps<HTMLDivElement, DropdownProps>) =>\n forwardRef<HTMLDivElement, DropdownProps>(\n (\n {\n id,\n target,\n children,\n hasArrow,\n role,\n view,\n size,\n frame,\n onToggle,\n isFocusTrapped = true,\n isOpen = false,\n opened = false,\n placement = 'auto',\n trigger = 'click',\n offset = [0, 6],\n preventOverflow = false,\n closeOnOverlayClick = false,\n closeOnEsc = false,\n ...rest\n },\n outerRootRef,\n ) => {\n const innerIsOpen = Boolean(isOpen || opened);\n\n const uniqId = useUniqId();\n const innerId = id || uniqId;\n\n const rootRef = useRef<HTMLDivElement | null>(null);\n const dropdownRef = useRef<HTMLDivElement | null>(null);\n const handleRef = useForkRef<HTMLDivElement>(rootRef, outerRootRef);\n\n const trapRef = useFocusTrap(innerIsOpen && isFocusTrapped);\n\n const dropdownForkRef = useForkRef<HTMLDivElement>(dropdownRef, trapRef);\n\n return (\n <StyledPopover\n role={role}\n opened={innerIsOpen}\n usePortal={false}\n onToggle={(is, event) => onToggle?.(is, event)}\n id={innerId}\n ref={dropdownForkRef}\n target={target}\n offset={offset}\n preventOverflow={preventOverflow}\n hasArrow={hasArrow}\n placement={getPlacements(placement)}\n trigger={trigger}\n closeOnOverlayClick={closeOnOverlayClick}\n closeOnEsc={closeOnEsc}\n isFocusTrapped={isFocusTrapped}\n frame={frame}\n >\n <Root ref={handleRef} view={view} size={size} {...rest}>\n <StyledDropdown>{children}</StyledDropdown>\n </Root>\n </StyledPopover>\n );\n },\n );\n\nexport const dropdownOldConfig = {\n name: 'Dropdown',\n tag: 'div',\n layout: dropdownOldRoot,\n base: '',\n variations: {\n view: {\n css: viewCSS,\n },\n size: {\n css: sizeCSS,\n },\n },\n defaults: {\n view: 'default',\n size: 'm',\n },\n};\n"],"names":["dropdownOldRoot","Root","forwardRef","_ref","outerRootRef","id","target","children","hasArrow","role","view","size","frame","onToggle","_ref$isFocusTrapped","isFocusTrapped","_ref$isOpen","isOpen","_ref$opened","opened","_ref$placement","placement","_ref$trigger","trigger","_ref$offset","offset","_ref$preventOverflow","preventOverflow","_ref$closeOnOverlayCl","closeOnOverlayClick","_ref$closeOnEsc","closeOnEsc","rest","_objectWithoutProperties","_excluded","innerIsOpen","Boolean","uniqId","useUniqId","innerId","rootRef","useRef","dropdownRef","handleRef","useForkRef","trapRef","useFocusTrap","dropdownForkRef","React","createElement","StyledPopover","usePortal","is","event","ref","getPlacements","_extends","StyledDropdown","dropdownOldConfig","name","tag","layout","base","variations","css","viewCSS","sizeCSS","defaults"],"mappings":"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"}
@@ -1,12 +1,11 @@
1
1
  import { objectWithoutProperties as _objectWithoutProperties, slicedToArray as _slicedToArray, extends as _extends, objectSpread2 as _objectSpread2 } from '../../_virtual/_rollupPluginBabelHelpers.js';
2
2
  import React, { forwardRef, useRef, useState, useCallback, useEffect } from 'react';
3
3
  import { usePopper } from 'react-popper';
4
- import { useForkRef } from '@salutejs/plasma-core';
4
+ import { useForkRef, useFocusTrap } from '@salutejs/plasma-core';
5
5
  import { cx } from '../../utils/index.js';
6
6
  import { base } from './variations/_view/base.js';
7
7
  import { StyledWrapper, StyledRoot, StyledPopover, StyledArrow } from './Popover.styles.js';
8
8
  import { classes } from './Popover.tokens.js';
9
- import { useFocusTrap } from '../../hooks/useFocusTrap.js';
10
9
  import { Portal } from '../Portal/Portal.js';
11
10
 
12
11
  var _excluded = ["target", "children", "isOpen", "opened", "trigger", "hasArrow", "frame", "className", "placement", "offset", "zIndex", "isFocusTrapped", "closeOnEsc", "preventOverflow", "usePortal", "view", "onToggle", "closeOnOverlayClick"];
@@ -1 +1 @@
1
- {"version":3,"file":"Popover.js","sources":["../../../src/components/Popover/Popover.tsx"],"sourcesContent":["import React, { useRef, useCallback, useEffect, useState, forwardRef } from 'react';\nimport type { CSSProperties } from 'react';\nimport { usePopper } from 'react-popper';\nimport { useForkRef } from '@salutejs/plasma-core';\n\nimport type { RootProps } from '../../engines/types';\nimport { useFocusTrap } from '../../hooks';\nimport { cx } from '../../utils';\nimport { Portal } from '../Portal';\n\nimport { base as viewCSS } from './variations/_view/base';\nimport type { PopoverPlacement, PopoverProps } from './Popover.types';\nimport { StyledArrow, StyledPopover, StyledRoot, StyledWrapper } from './Popover.styles';\nimport { classes } from './Popover.tokens';\n\nexport const ESCAPE_KEYCODE = 27;\nexport const POPOVER_PORTAL_ID = 'plasma-popover-root';\n\n/**\n * Всплывающее окно с возможностью позиционирования\n * и вызова по клику либо ховеру.\n */\nexport const popoverRoot = (Root: RootProps<HTMLDivElement, PopoverProps>) =>\n forwardRef<HTMLDivElement, PopoverProps>(\n (\n {\n target,\n children,\n isOpen,\n opened,\n trigger = 'click',\n hasArrow,\n frame = 'document',\n className,\n placement = 'auto',\n offset = [0, 0],\n zIndex,\n isFocusTrapped = true,\n closeOnEsc = true,\n preventOverflow = true,\n usePortal = false,\n view,\n onToggle,\n closeOnOverlayClick,\n ...rest\n },\n outerRootRef,\n ) => {\n const innerIsOpen = Boolean(isOpen || opened);\n\n const rootRef = useRef<HTMLDivElement | null>(null);\n const popoverRef = useRef<HTMLDivElement | null>(null);\n const handleRef = useForkRef<HTMLDivElement>(rootRef, outerRootRef);\n const portalRef = useRef<HTMLElement | null>(null);\n\n const trapRef = useFocusTrap(innerIsOpen && isFocusTrapped);\n\n const popoverForkRef = useForkRef<HTMLDivElement>(popoverRef, trapRef);\n\n const [arrowElement, setArrowElement] = useState<HTMLSpanElement | null>(null);\n\n const [, forceRender] = useState(false);\n\n const isAutoArray = Array.isArray(placement);\n const isAuto = isAutoArray || (placement as PopoverPlacement).startsWith('auto');\n\n const initialStyles = {\n visibility: innerIsOpen ? 'visible' : 'hidden',\n opacity: innerIsOpen ? 1 : 0,\n } as CSSProperties;\n\n const { styles, attributes, forceUpdate } = usePopper(rootRef.current, popoverRef.current, {\n // TODO: #1121\n // eslint-disable-next-line no-nested-ternary\n placement: isAutoArray\n ? placement[0]?.endsWith('start')\n ? 'auto-start'\n : 'auto'\n : (placement as PopoverPlacement),\n modifiers: [\n {\n name: 'preventOverflow',\n options: {\n mainAxis: preventOverflow,\n },\n },\n { name: 'offset', options: { offset: [offset[0], offset[1]] } },\n {\n name: 'flip',\n enabled: isAuto,\n options: {\n allowedAutoPlacements: isAutoArray ? (placement as PopoverPlacement[]) : [],\n },\n },\n {\n name: 'arrow',\n options: {\n element: arrowElement,\n },\n },\n ],\n });\n\n const onEscape = useCallback(\n (event: KeyboardEvent) => {\n if (innerIsOpen && closeOnEsc && event.keyCode === ESCAPE_KEYCODE) {\n onToggle?.(false, event);\n }\n },\n [closeOnEsc, innerIsOpen, onToggle],\n );\n\n const onDocumentClick = useCallback(\n (event: MouseEvent) => {\n if (innerIsOpen && closeOnOverlayClick && onToggle) {\n const targetIsRoot = event.target === rootRef.current;\n const rootHasTarget = rootRef.current?.contains(event.target as Element);\n const popoverRootHasTarget = popoverRef.current?.contains(event.target as Element);\n\n if (!targetIsRoot && !rootHasTarget && !popoverRootHasTarget) {\n onToggle(false, event);\n }\n }\n },\n [closeOnOverlayClick, innerIsOpen, onToggle],\n );\n\n const onClick = useCallback<React.MouseEventHandler>(\n (event) => {\n if (trigger === 'click') {\n const targetIsPopover = event.target === popoverRef.current;\n const rootHasTarget = popoverRef.current?.contains(event.target as Element);\n\n if (!targetIsPopover && !rootHasTarget) {\n onToggle?.(!innerIsOpen, event);\n }\n }\n },\n [trigger, innerIsOpen, onToggle],\n );\n\n const onMouseEnter = useCallback<React.MouseEventHandler>(\n (event) => {\n if (trigger === 'hover') {\n onToggle?.(true, event);\n }\n },\n [trigger, onToggle],\n );\n\n const onMouseLeave = useCallback<React.MouseEventHandler>(\n (event) => {\n if (trigger === 'hover') {\n onToggle?.(false, event);\n }\n },\n [trigger, onToggle],\n );\n\n const onFocus = useCallback<React.FocusEventHandler>(\n (event) => {\n if (trigger === 'hover') {\n onToggle?.(true, event);\n }\n },\n [trigger, onToggle],\n );\n\n const onBlur = useCallback<React.FocusEventHandler>(\n (event) => {\n if (trigger === 'hover') {\n onToggle?.(false, event);\n }\n },\n [trigger, onToggle],\n );\n\n useEffect(() => {\n document.addEventListener('click', onDocumentClick);\n return () => document.removeEventListener('click', onDocumentClick);\n }, [innerIsOpen, onToggle]);\n\n useEffect(() => {\n window.addEventListener('keydown', onEscape);\n return () => window.removeEventListener('keydown', onEscape);\n }, [closeOnEsc, innerIsOpen, onToggle]);\n\n useEffect(() => {\n let portal = document.getElementById(POPOVER_PORTAL_ID);\n\n if (typeof frame !== 'string' && frame && frame.current) {\n portal = frame.current;\n }\n\n if (!usePortal) {\n portal = rootRef.current;\n }\n\n if (!portal) {\n portal = document.createElement('div');\n portal.setAttribute('id', POPOVER_PORTAL_ID);\n\n if (typeof frame === 'string' && frame !== 'document') {\n document.getElementById(frame)?.appendChild(portal);\n } else {\n document.body.appendChild(portal);\n }\n }\n\n portalRef.current = portal;\n\n /**\n * Изменение стейта нужно для того, чтобы Popup\n * отобразился после записи DOM элемента в portalRef.current\n */\n forceRender(true);\n }, []);\n\n useEffect(() => {\n if (!innerIsOpen || !forceUpdate) {\n return;\n }\n\n /*\n * INFO: Метод forceUpdate содержит в себе flushSync и приводит\n * к повторному рендеру компонента, который уже находится в процессе рендера.\n * Данный хак, нужен для того, чтобы это поведение избежать и перенаправить\n * вызов метода в очередь микрозадач.\n */\n Promise.resolve().then(forceUpdate);\n }, [innerIsOpen, children, forceUpdate]);\n\n return (\n <StyledWrapper className={classes.wrapper} onMouseEnter={onMouseEnter} onMouseLeave={onMouseLeave}>\n <StyledRoot\n ref={handleRef}\n onClick={onClick}\n onFocus={onFocus}\n onBlur={onBlur}\n className={cx(className, classes.target)}\n >\n {target}\n </StyledRoot>\n {children && portalRef.current && (\n <Portal container={portalRef.current}>\n <Root view={view} className={className} {...rest}>\n <StyledPopover\n {...attributes.popper}\n className={classes.root}\n ref={popoverForkRef}\n style={{\n ...styles.popper,\n ...{ display: innerIsOpen ? 'block' : 'none' },\n ...initialStyles,\n }}\n zIndex={zIndex}\n >\n {hasArrow && (\n <StyledArrow\n className={classes.arrow}\n ref={setArrowElement}\n style={styles.arrow}\n {...attributes.arrow}\n />\n )}\n {children}\n </StyledPopover>\n </Root>\n </Portal>\n )}\n </StyledWrapper>\n );\n },\n );\n\nexport const popoverConfig = {\n name: 'Popover',\n tag: 'div',\n layout: popoverRoot,\n base: '',\n variations: {\n view: {\n css: viewCSS,\n },\n },\n defaults: {\n view: 'default',\n },\n};\n"],"names":["ESCAPE_KEYCODE","POPOVER_PORTAL_ID","popoverRoot","Root","forwardRef","_ref","outerRootRef","_placement$","target","children","isOpen","opened","_ref$trigger","trigger","hasArrow","_ref$frame","frame","className","_ref$placement","placement","_ref$offset","offset","zIndex","_ref$isFocusTrapped","isFocusTrapped","_ref$closeOnEsc","closeOnEsc","_ref$preventOverflow","preventOverflow","_ref$usePortal","usePortal","view","onToggle","closeOnOverlayClick","rest","_objectWithoutProperties","_excluded","innerIsOpen","Boolean","rootRef","useRef","popoverRef","handleRef","useForkRef","portalRef","trapRef","useFocusTrap","popoverForkRef","_useState","useState","_useState2","_slicedToArray","arrowElement","setArrowElement","_useState3","_useState4","forceRender","isAutoArray","Array","isArray","isAuto","startsWith","initialStyles","visibility","opacity","_usePopper","usePopper","current","endsWith","modifiers","name","options","mainAxis","enabled","allowedAutoPlacements","element","styles","attributes","forceUpdate","onEscape","useCallback","event","keyCode","onDocumentClick","_rootRef$current","_popoverRef$current","targetIsRoot","rootHasTarget","contains","popoverRootHasTarget","onClick","_popoverRef$current2","targetIsPopover","onMouseEnter","onMouseLeave","onFocus","onBlur","useEffect","document","addEventListener","removeEventListener","window","portal","getElementById","createElement","setAttribute","_document$getElementB","appendChild","body","Promise","resolve","then","React","StyledWrapper","classes","wrapper","StyledRoot","ref","cx","Portal","container","_extends","StyledPopover","popper","root","style","_objectSpread","display","StyledArrow","arrow","popoverConfig","tag","layout","base","variations","css","viewCSS","defaults"],"mappings":"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"}
1
+ {"version":3,"file":"Popover.js","sources":["../../../src/components/Popover/Popover.tsx"],"sourcesContent":["import React, { useRef, useCallback, useEffect, useState, forwardRef } from 'react';\nimport type { CSSProperties } from 'react';\nimport { usePopper } from 'react-popper';\nimport { useFocusTrap, useForkRef } from '@salutejs/plasma-core';\n\nimport type { RootProps } from '../../engines/types';\nimport { cx } from '../../utils';\nimport { Portal } from '../Portal';\n\nimport { base as viewCSS } from './variations/_view/base';\nimport type { PopoverPlacement, PopoverProps } from './Popover.types';\nimport { StyledArrow, StyledPopover, StyledRoot, StyledWrapper } from './Popover.styles';\nimport { classes } from './Popover.tokens';\n\nexport const ESCAPE_KEYCODE = 27;\nexport const POPOVER_PORTAL_ID = 'plasma-popover-root';\n\n/**\n * Всплывающее окно с возможностью позиционирования\n * и вызова по клику либо ховеру.\n */\nexport const popoverRoot = (Root: RootProps<HTMLDivElement, PopoverProps>) =>\n forwardRef<HTMLDivElement, PopoverProps>(\n (\n {\n target,\n children,\n isOpen,\n opened,\n trigger = 'click',\n hasArrow,\n frame = 'document',\n className,\n placement = 'auto',\n offset = [0, 0],\n zIndex,\n isFocusTrapped = true,\n closeOnEsc = true,\n preventOverflow = true,\n usePortal = false,\n view,\n onToggle,\n closeOnOverlayClick,\n ...rest\n },\n outerRootRef,\n ) => {\n const innerIsOpen = Boolean(isOpen || opened);\n\n const rootRef = useRef<HTMLDivElement | null>(null);\n const popoverRef = useRef<HTMLDivElement | null>(null);\n const handleRef = useForkRef<HTMLDivElement>(rootRef, outerRootRef);\n const portalRef = useRef<HTMLElement | null>(null);\n\n const trapRef = useFocusTrap(innerIsOpen && isFocusTrapped);\n\n const popoverForkRef = useForkRef<HTMLDivElement>(popoverRef, trapRef);\n\n const [arrowElement, setArrowElement] = useState<HTMLSpanElement | null>(null);\n\n const [, forceRender] = useState(false);\n\n const isAutoArray = Array.isArray(placement);\n const isAuto = isAutoArray || (placement as PopoverPlacement).startsWith('auto');\n\n const initialStyles = {\n visibility: innerIsOpen ? 'visible' : 'hidden',\n opacity: innerIsOpen ? 1 : 0,\n } as CSSProperties;\n\n const { styles, attributes, forceUpdate } = usePopper(rootRef.current, popoverRef.current, {\n // TODO: #1121\n // eslint-disable-next-line no-nested-ternary\n placement: isAutoArray\n ? placement[0]?.endsWith('start')\n ? 'auto-start'\n : 'auto'\n : (placement as PopoverPlacement),\n modifiers: [\n {\n name: 'preventOverflow',\n options: {\n mainAxis: preventOverflow,\n },\n },\n { name: 'offset', options: { offset: [offset[0], offset[1]] } },\n {\n name: 'flip',\n enabled: isAuto,\n options: {\n allowedAutoPlacements: isAutoArray ? (placement as PopoverPlacement[]) : [],\n },\n },\n {\n name: 'arrow',\n options: {\n element: arrowElement,\n },\n },\n ],\n });\n\n const onEscape = useCallback(\n (event: KeyboardEvent) => {\n if (innerIsOpen && closeOnEsc && event.keyCode === ESCAPE_KEYCODE) {\n onToggle?.(false, event);\n }\n },\n [closeOnEsc, innerIsOpen, onToggle],\n );\n\n const onDocumentClick = useCallback(\n (event: MouseEvent) => {\n if (innerIsOpen && closeOnOverlayClick && onToggle) {\n const targetIsRoot = event.target === rootRef.current;\n const rootHasTarget = rootRef.current?.contains(event.target as Element);\n const popoverRootHasTarget = popoverRef.current?.contains(event.target as Element);\n\n if (!targetIsRoot && !rootHasTarget && !popoverRootHasTarget) {\n onToggle(false, event);\n }\n }\n },\n [closeOnOverlayClick, innerIsOpen, onToggle],\n );\n\n const onClick = useCallback<React.MouseEventHandler>(\n (event) => {\n if (trigger === 'click') {\n const targetIsPopover = event.target === popoverRef.current;\n const rootHasTarget = popoverRef.current?.contains(event.target as Element);\n\n if (!targetIsPopover && !rootHasTarget) {\n onToggle?.(!innerIsOpen, event);\n }\n }\n },\n [trigger, innerIsOpen, onToggle],\n );\n\n const onMouseEnter = useCallback<React.MouseEventHandler>(\n (event) => {\n if (trigger === 'hover') {\n onToggle?.(true, event);\n }\n },\n [trigger, onToggle],\n );\n\n const onMouseLeave = useCallback<React.MouseEventHandler>(\n (event) => {\n if (trigger === 'hover') {\n onToggle?.(false, event);\n }\n },\n [trigger, onToggle],\n );\n\n const onFocus = useCallback<React.FocusEventHandler>(\n (event) => {\n if (trigger === 'hover') {\n onToggle?.(true, event);\n }\n },\n [trigger, onToggle],\n );\n\n const onBlur = useCallback<React.FocusEventHandler>(\n (event) => {\n if (trigger === 'hover') {\n onToggle?.(false, event);\n }\n },\n [trigger, onToggle],\n );\n\n useEffect(() => {\n document.addEventListener('click', onDocumentClick);\n return () => document.removeEventListener('click', onDocumentClick);\n }, [innerIsOpen, onToggle]);\n\n useEffect(() => {\n window.addEventListener('keydown', onEscape);\n return () => window.removeEventListener('keydown', onEscape);\n }, [closeOnEsc, innerIsOpen, onToggle]);\n\n useEffect(() => {\n let portal = document.getElementById(POPOVER_PORTAL_ID);\n\n if (typeof frame !== 'string' && frame && frame.current) {\n portal = frame.current;\n }\n\n if (!usePortal) {\n portal = rootRef.current;\n }\n\n if (!portal) {\n portal = document.createElement('div');\n portal.setAttribute('id', POPOVER_PORTAL_ID);\n\n if (typeof frame === 'string' && frame !== 'document') {\n document.getElementById(frame)?.appendChild(portal);\n } else {\n document.body.appendChild(portal);\n }\n }\n\n portalRef.current = portal;\n\n /**\n * Изменение стейта нужно для того, чтобы Popup\n * отобразился после записи DOM элемента в portalRef.current\n */\n forceRender(true);\n }, []);\n\n useEffect(() => {\n if (!innerIsOpen || !forceUpdate) {\n return;\n }\n\n /*\n * INFO: Метод forceUpdate содержит в себе flushSync и приводит\n * к повторному рендеру компонента, который уже находится в процессе рендера.\n * Данный хак, нужен для того, чтобы это поведение избежать и перенаправить\n * вызов метода в очередь микрозадач.\n */\n Promise.resolve().then(forceUpdate);\n }, [innerIsOpen, children, forceUpdate]);\n\n return (\n <StyledWrapper className={classes.wrapper} onMouseEnter={onMouseEnter} onMouseLeave={onMouseLeave}>\n <StyledRoot\n ref={handleRef}\n onClick={onClick}\n onFocus={onFocus}\n onBlur={onBlur}\n className={cx(className, classes.target)}\n >\n {target}\n </StyledRoot>\n {children && portalRef.current && (\n <Portal container={portalRef.current}>\n <Root view={view} className={className} {...rest}>\n <StyledPopover\n {...attributes.popper}\n className={classes.root}\n ref={popoverForkRef}\n style={{\n ...styles.popper,\n ...{ display: innerIsOpen ? 'block' : 'none' },\n ...initialStyles,\n }}\n zIndex={zIndex}\n >\n {hasArrow && (\n <StyledArrow\n className={classes.arrow}\n ref={setArrowElement}\n style={styles.arrow}\n {...attributes.arrow}\n />\n )}\n {children}\n </StyledPopover>\n </Root>\n </Portal>\n )}\n </StyledWrapper>\n );\n },\n );\n\nexport const popoverConfig = {\n name: 'Popover',\n tag: 'div',\n layout: popoverRoot,\n base: '',\n variations: {\n view: {\n css: viewCSS,\n },\n },\n defaults: {\n view: 'default',\n },\n};\n"],"names":["ESCAPE_KEYCODE","POPOVER_PORTAL_ID","popoverRoot","Root","forwardRef","_ref","outerRootRef","_placement$","target","children","isOpen","opened","_ref$trigger","trigger","hasArrow","_ref$frame","frame","className","_ref$placement","placement","_ref$offset","offset","zIndex","_ref$isFocusTrapped","isFocusTrapped","_ref$closeOnEsc","closeOnEsc","_ref$preventOverflow","preventOverflow","_ref$usePortal","usePortal","view","onToggle","closeOnOverlayClick","rest","_objectWithoutProperties","_excluded","innerIsOpen","Boolean","rootRef","useRef","popoverRef","handleRef","useForkRef","portalRef","trapRef","useFocusTrap","popoverForkRef","_useState","useState","_useState2","_slicedToArray","arrowElement","setArrowElement","_useState3","_useState4","forceRender","isAutoArray","Array","isArray","isAuto","startsWith","initialStyles","visibility","opacity","_usePopper","usePopper","current","endsWith","modifiers","name","options","mainAxis","enabled","allowedAutoPlacements","element","styles","attributes","forceUpdate","onEscape","useCallback","event","keyCode","onDocumentClick","_rootRef$current","_popoverRef$current","targetIsRoot","rootHasTarget","contains","popoverRootHasTarget","onClick","_popoverRef$current2","targetIsPopover","onMouseEnter","onMouseLeave","onFocus","onBlur","useEffect","document","addEventListener","removeEventListener","window","portal","getElementById","createElement","setAttribute","_document$getElementB","appendChild","body","Promise","resolve","then","React","StyledWrapper","classes","wrapper","StyledRoot","ref","cx","Portal","container","_extends","StyledPopover","popper","root","style","_objectSpread","display","StyledArrow","arrow","popoverConfig","tag","layout","base","variations","css","viewCSS","defaults"],"mappings":";;;;;;;;;;;AAcO,IAAMA,cAAc,GAAG,GAAE;AACzB,IAAMC,iBAAiB,GAAG,sBAAqB;;AAEtD;AACA;AACA;AACA;IACaC,WAAW,GAAG,SAAdA,WAAWA,CAAIC,IAA6C,EAAA;AAAA,EAAA,oBACrEC,UAAU,CACN,UAAAC,IAAA,EAsBIC,YAAY,EACX;AAAA,IAAA,IAAAC,WAAA,CAAA;AAAA,IAAA,IArBGC,MAAM,GAAAH,IAAA,CAANG,MAAM;MACNC,QAAQ,GAAAJ,IAAA,CAARI,QAAQ;MACRC,MAAM,GAAAL,IAAA,CAANK,MAAM;MACNC,MAAM,GAAAN,IAAA,CAANM,MAAM;MAAAC,YAAA,GAAAP,IAAA,CACNQ,OAAO;AAAPA,MAAAA,OAAO,GAAAD,YAAA,KAAG,KAAA,CAAA,GAAA,OAAO,GAAAA,YAAA;MACjBE,QAAQ,GAAAT,IAAA,CAARS,QAAQ;MAAAC,UAAA,GAAAV,IAAA,CACRW,KAAK;AAALA,MAAAA,KAAK,GAAAD,UAAA,KAAG,KAAA,CAAA,GAAA,UAAU,GAAAA,UAAA;MAClBE,SAAS,GAAAZ,IAAA,CAATY,SAAS;MAAAC,cAAA,GAAAb,IAAA,CACTc,SAAS;AAATA,MAAAA,SAAS,GAAAD,cAAA,KAAG,KAAA,CAAA,GAAA,MAAM,GAAAA,cAAA;MAAAE,WAAA,GAAAf,IAAA,CAClBgB,MAAM;MAANA,MAAM,GAAAD,WAAA,KAAG,KAAA,CAAA,GAAA,CAAC,CAAC,EAAE,CAAC,CAAC,GAAAA,WAAA;MACfE,MAAM,GAAAjB,IAAA,CAANiB,MAAM;MAAAC,mBAAA,GAAAlB,IAAA,CACNmB,cAAc;AAAdA,MAAAA,cAAc,GAAAD,mBAAA,KAAG,KAAA,CAAA,GAAA,IAAI,GAAAA,mBAAA;MAAAE,eAAA,GAAApB,IAAA,CACrBqB,UAAU;AAAVA,MAAAA,UAAU,GAAAD,eAAA,KAAG,KAAA,CAAA,GAAA,IAAI,GAAAA,eAAA;MAAAE,oBAAA,GAAAtB,IAAA,CACjBuB,eAAe;AAAfA,MAAAA,eAAe,GAAAD,oBAAA,KAAG,KAAA,CAAA,GAAA,IAAI,GAAAA,oBAAA;MAAAE,cAAA,GAAAxB,IAAA,CACtByB,SAAS;AAATA,MAAAA,SAAS,GAAAD,cAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,cAAA;MACjBE,IAAI,GAAA1B,IAAA,CAAJ0B,IAAI;MACJC,QAAQ,GAAA3B,IAAA,CAAR2B,QAAQ;MACRC,mBAAmB,GAAA5B,IAAA,CAAnB4B,mBAAmB;AAChBC,MAAAA,IAAI,GAAAC,wBAAA,CAAA9B,IAAA,EAAA+B,SAAA,CAAA,CAAA;AAIX,IAAA,IAAMC,WAAW,GAAGC,OAAO,CAAC5B,MAAM,IAAIC,MAAM,CAAC,CAAA;AAE7C,IAAA,IAAM4B,OAAO,GAAGC,MAAM,CAAwB,IAAI,CAAC,CAAA;AACnD,IAAA,IAAMC,UAAU,GAAGD,MAAM,CAAwB,IAAI,CAAC,CAAA;AACtD,IAAA,IAAME,SAAS,GAAGC,UAAU,CAAiBJ,OAAO,EAAEjC,YAAY,CAAC,CAAA;AACnE,IAAA,IAAMsC,SAAS,GAAGJ,MAAM,CAAqB,IAAI,CAAC,CAAA;AAElD,IAAA,IAAMK,OAAO,GAAGC,YAAY,CAACT,WAAW,IAAIb,cAAc,CAAC,CAAA;AAE3D,IAAA,IAAMuB,cAAc,GAAGJ,UAAU,CAAiBF,UAAU,EAAEI,OAAO,CAAC,CAAA;AAEtE,IAAA,IAAAG,SAAA,GAAwCC,QAAQ,CAAyB,IAAI,CAAC;MAAAC,UAAA,GAAAC,cAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAAvEI,MAAAA,YAAY,GAAAF,UAAA,CAAA,CAAA,CAAA;AAAEG,MAAAA,eAAe,GAAAH,UAAA,CAAA,CAAA,CAAA,CAAA;AAEpC,IAAA,IAAAI,UAAA,GAAwBL,QAAQ,CAAC,KAAK,CAAC;MAAAM,UAAA,GAAAJ,cAAA,CAAAG,UAAA,EAAA,CAAA,CAAA;AAA9BE,MAAAA,WAAW,GAAAD,UAAA,CAAA,CAAA,CAAA,CAAA;AAEpB,IAAA,IAAME,WAAW,GAAGC,KAAK,CAACC,OAAO,CAACxC,SAAS,CAAC,CAAA;IAC5C,IAAMyC,MAAM,GAAGH,WAAW,IAAKtC,SAAS,CAAsB0C,UAAU,CAAC,MAAM,CAAC,CAAA;AAEhF,IAAA,IAAMC,aAAa,GAAG;AAClBC,MAAAA,UAAU,EAAE1B,WAAW,GAAG,SAAS,GAAG,QAAQ;AAC9C2B,MAAAA,OAAO,EAAE3B,WAAW,GAAG,CAAC,GAAG,CAAA;KACb,CAAA;IAElB,IAAA4B,UAAA,GAA4CC,SAAS,CAAC3B,OAAO,CAAC4B,OAAO,EAAE1B,UAAU,CAAC0B,OAAO,EAAE;AACvF;AACA;QACAhD,SAAS,EAAEsC,WAAW,GAChB,CAAAlD,WAAA,GAAAY,SAAS,CAAC,CAAC,CAAC,MAAAZ,IAAAA,IAAAA,WAAA,eAAZA,WAAA,CAAc6D,QAAQ,CAAC,OAAO,CAAC,GAC3B,YAAY,GACZ,MAAM,GACTjD,SAA8B;AACrCkD,QAAAA,SAAS,EAAE,CACP;AACIC,UAAAA,IAAI,EAAE,iBAAiB;AACvBC,UAAAA,OAAO,EAAE;AACLC,YAAAA,QAAQ,EAAE5C,eAAAA;AACd,WAAA;AACJ,SAAC,EACD;AAAE0C,UAAAA,IAAI,EAAE,QAAQ;AAAEC,UAAAA,OAAO,EAAE;YAAElD,MAAM,EAAE,CAACA,MAAM,CAAC,CAAC,CAAC,EAAEA,MAAM,CAAC,CAAC,CAAC,CAAA;AAAE,WAAA;AAAE,SAAC,EAC/D;AACIiD,UAAAA,IAAI,EAAE,MAAM;AACZG,UAAAA,OAAO,EAAEb,MAAM;AACfW,UAAAA,OAAO,EAAE;AACLG,YAAAA,qBAAqB,EAAEjB,WAAW,GAAItC,SAAS,GAA0B,EAAA;AAC7E,WAAA;AACJ,SAAC,EACD;AACImD,UAAAA,IAAI,EAAE,OAAO;AACbC,UAAAA,OAAO,EAAE;AACLI,YAAAA,OAAO,EAAEvB,YAAAA;AACb,WAAA;SACH,CAAA;AAET,OAAC,CAAC;MA9BMwB,MAAM,GAAAX,UAAA,CAANW,MAAM;MAAEC,UAAU,GAAAZ,UAAA,CAAVY,UAAU;MAAEC,WAAW,GAAAb,UAAA,CAAXa,WAAW,CAAA;AAgCvC,IAAA,IAAMC,QAAQ,GAAGC,WAAW,CACxB,UAACC,KAAoB,EAAK;MACtB,IAAI5C,WAAW,IAAIX,UAAU,IAAIuD,KAAK,CAACC,OAAO,KAAKlF,cAAc,EAAE;QAC/DgC,QAAQ,KAAA,IAAA,IAARA,QAAQ,KAARA,KAAAA,CAAAA,IAAAA,QAAQ,CAAG,KAAK,EAAEiD,KAAK,CAAC,CAAA;AAC5B,OAAA;KACH,EACD,CAACvD,UAAU,EAAEW,WAAW,EAAEL,QAAQ,CACtC,CAAC,CAAA;AAED,IAAA,IAAMmD,eAAe,GAAGH,WAAW,CAC/B,UAACC,KAAiB,EAAK;AACnB,MAAA,IAAI5C,WAAW,IAAIJ,mBAAmB,IAAID,QAAQ,EAAE;QAAA,IAAAoD,gBAAA,EAAAC,mBAAA,CAAA;QAChD,IAAMC,YAAY,GAAGL,KAAK,CAACzE,MAAM,KAAK+B,OAAO,CAAC4B,OAAO,CAAA;AACrD,QAAA,IAAMoB,aAAa,GAAAH,CAAAA,gBAAA,GAAG7C,OAAO,CAAC4B,OAAO,MAAA,IAAA,IAAAiB,gBAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAfA,gBAAA,CAAiBI,QAAQ,CAACP,KAAK,CAACzE,MAAiB,CAAC,CAAA;AACxE,QAAA,IAAMiF,oBAAoB,GAAAJ,CAAAA,mBAAA,GAAG5C,UAAU,CAAC0B,OAAO,MAAA,IAAA,IAAAkB,mBAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAlBA,mBAAA,CAAoBG,QAAQ,CAACP,KAAK,CAACzE,MAAiB,CAAC,CAAA;QAElF,IAAI,CAAC8E,YAAY,IAAI,CAACC,aAAa,IAAI,CAACE,oBAAoB,EAAE;AAC1DzD,UAAAA,QAAQ,CAAC,KAAK,EAAEiD,KAAK,CAAC,CAAA;AAC1B,SAAA;AACJ,OAAA;KACH,EACD,CAAChD,mBAAmB,EAAEI,WAAW,EAAEL,QAAQ,CAC/C,CAAC,CAAA;AAED,IAAA,IAAM0D,OAAO,GAAGV,WAAW,CACvB,UAACC,KAAK,EAAK;MACP,IAAIpE,OAAO,KAAK,OAAO,EAAE;AAAA,QAAA,IAAA8E,oBAAA,CAAA;QACrB,IAAMC,eAAe,GAAGX,KAAK,CAACzE,MAAM,KAAKiC,UAAU,CAAC0B,OAAO,CAAA;AAC3D,QAAA,IAAMoB,aAAa,GAAAI,CAAAA,oBAAA,GAAGlD,UAAU,CAAC0B,OAAO,MAAA,IAAA,IAAAwB,oBAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAlBA,oBAAA,CAAoBH,QAAQ,CAACP,KAAK,CAACzE,MAAiB,CAAC,CAAA;AAE3E,QAAA,IAAI,CAACoF,eAAe,IAAI,CAACL,aAAa,EAAE;UACpCvD,QAAQ,KAAA,IAAA,IAARA,QAAQ,KAARA,KAAAA,CAAAA,IAAAA,QAAQ,CAAG,CAACK,WAAW,EAAE4C,KAAK,CAAC,CAAA;AACnC,SAAA;AACJ,OAAA;KACH,EACD,CAACpE,OAAO,EAAEwB,WAAW,EAAEL,QAAQ,CACnC,CAAC,CAAA;AAED,IAAA,IAAM6D,YAAY,GAAGb,WAAW,CAC5B,UAACC,KAAK,EAAK;MACP,IAAIpE,OAAO,KAAK,OAAO,EAAE;QACrBmB,QAAQ,KAAA,IAAA,IAARA,QAAQ,KAARA,KAAAA,CAAAA,IAAAA,QAAQ,CAAG,IAAI,EAAEiD,KAAK,CAAC,CAAA;AAC3B,OAAA;AACJ,KAAC,EACD,CAACpE,OAAO,EAAEmB,QAAQ,CACtB,CAAC,CAAA;AAED,IAAA,IAAM8D,YAAY,GAAGd,WAAW,CAC5B,UAACC,KAAK,EAAK;MACP,IAAIpE,OAAO,KAAK,OAAO,EAAE;QACrBmB,QAAQ,KAAA,IAAA,IAARA,QAAQ,KAARA,KAAAA,CAAAA,IAAAA,QAAQ,CAAG,KAAK,EAAEiD,KAAK,CAAC,CAAA;AAC5B,OAAA;AACJ,KAAC,EACD,CAACpE,OAAO,EAAEmB,QAAQ,CACtB,CAAC,CAAA;AAED,IAAA,IAAM+D,OAAO,GAAGf,WAAW,CACvB,UAACC,KAAK,EAAK;MACP,IAAIpE,OAAO,KAAK,OAAO,EAAE;QACrBmB,QAAQ,KAAA,IAAA,IAARA,QAAQ,KAARA,KAAAA,CAAAA,IAAAA,QAAQ,CAAG,IAAI,EAAEiD,KAAK,CAAC,CAAA;AAC3B,OAAA;AACJ,KAAC,EACD,CAACpE,OAAO,EAAEmB,QAAQ,CACtB,CAAC,CAAA;AAED,IAAA,IAAMgE,MAAM,GAAGhB,WAAW,CACtB,UAACC,KAAK,EAAK;MACP,IAAIpE,OAAO,KAAK,OAAO,EAAE;QACrBmB,QAAQ,KAAA,IAAA,IAARA,QAAQ,KAARA,KAAAA,CAAAA,IAAAA,QAAQ,CAAG,KAAK,EAAEiD,KAAK,CAAC,CAAA;AAC5B,OAAA;AACJ,KAAC,EACD,CAACpE,OAAO,EAAEmB,QAAQ,CACtB,CAAC,CAAA;AAEDiE,IAAAA,SAAS,CAAC,YAAM;AACZC,MAAAA,QAAQ,CAACC,gBAAgB,CAAC,OAAO,EAAEhB,eAAe,CAAC,CAAA;MACnD,OAAO,YAAA;AAAA,QAAA,OAAMe,QAAQ,CAACE,mBAAmB,CAAC,OAAO,EAAEjB,eAAe,CAAC,CAAA;AAAA,OAAA,CAAA;AACvE,KAAC,EAAE,CAAC9C,WAAW,EAAEL,QAAQ,CAAC,CAAC,CAAA;AAE3BiE,IAAAA,SAAS,CAAC,YAAM;AACZI,MAAAA,MAAM,CAACF,gBAAgB,CAAC,SAAS,EAAEpB,QAAQ,CAAC,CAAA;MAC5C,OAAO,YAAA;AAAA,QAAA,OAAMsB,MAAM,CAACD,mBAAmB,CAAC,SAAS,EAAErB,QAAQ,CAAC,CAAA;AAAA,OAAA,CAAA;KAC/D,EAAE,CAACrD,UAAU,EAAEW,WAAW,EAAEL,QAAQ,CAAC,CAAC,CAAA;AAEvCiE,IAAAA,SAAS,CAAC,YAAM;AACZ,MAAA,IAAIK,MAAM,GAAGJ,QAAQ,CAACK,cAAc,CAACtG,iBAAiB,CAAC,CAAA;MAEvD,IAAI,OAAOe,KAAK,KAAK,QAAQ,IAAIA,KAAK,IAAIA,KAAK,CAACmD,OAAO,EAAE;QACrDmC,MAAM,GAAGtF,KAAK,CAACmD,OAAO,CAAA;AAC1B,OAAA;MAEA,IAAI,CAACrC,SAAS,EAAE;QACZwE,MAAM,GAAG/D,OAAO,CAAC4B,OAAO,CAAA;AAC5B,OAAA;MAEA,IAAI,CAACmC,MAAM,EAAE;AACTA,QAAAA,MAAM,GAAGJ,QAAQ,CAACM,aAAa,CAAC,KAAK,CAAC,CAAA;AACtCF,QAAAA,MAAM,CAACG,YAAY,CAAC,IAAI,EAAExG,iBAAiB,CAAC,CAAA;QAE5C,IAAI,OAAOe,KAAK,KAAK,QAAQ,IAAIA,KAAK,KAAK,UAAU,EAAE;AAAA,UAAA,IAAA0F,qBAAA,CAAA;AACnD,UAAA,CAAAA,qBAAA,GAAAR,QAAQ,CAACK,cAAc,CAACvF,KAAK,CAAC,MAAA0F,IAAAA,IAAAA,qBAAA,eAA9BA,qBAAA,CAAgCC,WAAW,CAACL,MAAM,CAAC,CAAA;AACvD,SAAC,MAAM;AACHJ,UAAAA,QAAQ,CAACU,IAAI,CAACD,WAAW,CAACL,MAAM,CAAC,CAAA;AACrC,SAAA;AACJ,OAAA;MAEA1D,SAAS,CAACuB,OAAO,GAAGmC,MAAM,CAAA;;AAE1B;AAChB;AACA;AACA;MACgB9C,WAAW,CAAC,IAAI,CAAC,CAAA;KACpB,EAAE,EAAE,CAAC,CAAA;AAENyC,IAAAA,SAAS,CAAC,YAAM;AACZ,MAAA,IAAI,CAAC5D,WAAW,IAAI,CAACyC,WAAW,EAAE;AAC9B,QAAA,OAAA;AACJ,OAAA;;AAEA;AAChB;AACA;AACA;AACA;AACA;MACgB+B,OAAO,CAACC,OAAO,EAAE,CAACC,IAAI,CAACjC,WAAW,CAAC,CAAA;KACtC,EAAE,CAACzC,WAAW,EAAE5B,QAAQ,EAAEqE,WAAW,CAAC,CAAC,CAAA;AAExC,IAAA,oBACIkC,KAAA,CAAAR,aAAA,CAACS,aAAa,EAAA;MAAChG,SAAS,EAAEiG,OAAO,CAACC,OAAQ;AAACtB,MAAAA,YAAY,EAAEA,YAAa;AAACC,MAAAA,YAAY,EAAEA,YAAAA;AAAa,KAAA,eAC9FkB,KAAA,CAAAR,aAAA,CAACY,UAAU,EAAA;AACPC,MAAAA,GAAG,EAAE3E,SAAU;AACfgD,MAAAA,OAAO,EAAEA,OAAQ;AACjBK,MAAAA,OAAO,EAAEA,OAAQ;AACjBC,MAAAA,MAAM,EAAEA,MAAO;AACf/E,MAAAA,SAAS,EAAEqG,EAAE,CAACrG,SAAS,EAAEiG,OAAO,CAAC1G,MAAM,CAAA;AAAE,KAAA,EAExCA,MACO,CAAC,EACZC,QAAQ,IAAImC,SAAS,CAACuB,OAAO,iBAC1B6C,KAAA,CAAAR,aAAA,CAACe,MAAM,EAAA;MAACC,SAAS,EAAE5E,SAAS,CAACuB,OAAAA;AAAQ,KAAA,eACjC6C,KAAA,CAAAR,aAAA,CAACrG,IAAI,EAAAsH,QAAA,CAAA;AAAC1F,MAAAA,IAAI,EAAEA,IAAK;AAACd,MAAAA,SAAS,EAAEA,SAAAA;AAAU,KAAA,EAAKiB,IAAI,CAAA,eAC5C8E,KAAA,CAAAR,aAAA,CAACkB,aAAa,EAAAD,QAAA,CAAA,EAAA,EACN5C,UAAU,CAAC8C,MAAM,EAAA;MACrB1G,SAAS,EAAEiG,OAAO,CAACU,IAAK;AACxBP,MAAAA,GAAG,EAAEtE,cAAe;MACpB8E,KAAK,EAAAC,cAAA,CAAAA,cAAA,CAAAA,cAAA,CACElD,EAAAA,EAAAA,MAAM,CAAC+C,MAAM,CACb,EAAA;AAAEI,QAAAA,OAAO,EAAE1F,WAAW,GAAG,OAAO,GAAG,MAAA;OAAQ,CAAA,EAC3CyB,aAAa,CAClB;AACFxC,MAAAA,MAAM,EAAEA,MAAAA;KAEPR,CAAAA,EAAAA,QAAQ,iBACLkG,KAAA,CAAAR,aAAA,CAACwB,WAAW,EAAAP,QAAA,CAAA;MACRxG,SAAS,EAAEiG,OAAO,CAACe,KAAM;AACzBZ,MAAAA,GAAG,EAAEhE,eAAgB;MACrBwE,KAAK,EAAEjD,MAAM,CAACqD,KAAAA;KACVpD,EAAAA,UAAU,CAACoD,KAAK,CACvB,CACJ,EACAxH,QACU,CACb,CACF,CAED,CAAC,CAAA;AAExB,GACJ,CAAC,CAAA;AAAA,EAAA;AAEE,IAAMyH,aAAa,GAAG;AACzB5D,EAAAA,IAAI,EAAE,SAAS;AACf6D,EAAAA,GAAG,EAAE,KAAK;AACVC,EAAAA,MAAM,EAAElI,WAAW;AACnBmI,EAAAA,IAAI,EAAE,EAAE;AACRC,EAAAA,UAAU,EAAE;AACRvG,IAAAA,IAAI,EAAE;AACFwG,MAAAA,GAAG,EAAEC,IAAAA;AACT,KAAA;GACH;AACDC,EAAAA,QAAQ,EAAE;AACN1G,IAAAA,IAAI,EAAE,SAAA;AACV,GAAA;AACJ;;;;"}