@salutejs/plasma-new-hope 0.174.0-canary.1452.11462555994.0 → 0.174.0-canary.1497.11463811587.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (412) hide show
  1. package/cjs/components/Combobox/ComboboxOld/Combobox.css +28 -14
  2. package/cjs/components/Combobox/ComboboxOld/Combobox.js +2 -1
  3. package/cjs/components/Combobox/ComboboxOld/Combobox.js.map +1 -1
  4. package/cjs/components/Combobox/ComboboxOld/ui/ComboboxDivider/ComboboxDivider.css +32 -18
  5. package/cjs/components/Combobox/ComboboxOld/ui/ComboboxDivider/ComboboxDivider.js +3 -2
  6. package/cjs/components/Combobox/ComboboxOld/ui/ComboboxDivider/ComboboxDivider.js.map +1 -1
  7. package/cjs/components/Combobox/ComboboxOld/ui/ComboboxFooter/ComboboxFooter.css +32 -18
  8. package/cjs/components/Combobox/ComboboxOld/ui/ComboboxFooter/ComboboxFooter.js +3 -2
  9. package/cjs/components/Combobox/ComboboxOld/ui/ComboboxFooter/ComboboxFooter.js.map +1 -1
  10. package/cjs/components/Combobox/ComboboxOld/ui/ComboboxGroup/ComboboxGroup.css +32 -18
  11. package/cjs/components/Combobox/ComboboxOld/ui/ComboboxGroup/ComboboxGroup.js +3 -2
  12. package/cjs/components/Combobox/ComboboxOld/ui/ComboboxGroup/ComboboxGroup.js.map +1 -1
  13. package/cjs/components/Combobox/ComboboxOld/ui/ComboboxHeader/ComboboxHeader.css +32 -18
  14. package/cjs/components/Combobox/ComboboxOld/ui/ComboboxHeader/ComboboxHeader.js +3 -2
  15. package/cjs/components/Combobox/ComboboxOld/ui/ComboboxHeader/ComboboxHeader.js.map +1 -1
  16. package/cjs/components/Dropdown/Dropdown.css +30 -16
  17. package/cjs/components/Dropdown/Dropdown.js +67 -45
  18. package/cjs/components/Dropdown/Dropdown.js.map +1 -1
  19. package/cjs/components/Dropdown/Dropdown.styles.js +14 -27
  20. package/cjs/components/Dropdown/Dropdown.styles.js.map +1 -1
  21. package/cjs/components/Dropdown/Dropdown.styles_18f0qpm.css +2 -0
  22. package/cjs/components/Dropdown/Dropdown.tokens.js +24 -1
  23. package/cjs/components/Dropdown/Dropdown.tokens.js.map +1 -1
  24. package/cjs/components/Dropdown/FloatingPopover.js +104 -0
  25. package/cjs/components/Dropdown/FloatingPopover.js.map +1 -0
  26. package/cjs/components/Dropdown/ui/DropdownInner/DropdownInner.js +17 -52
  27. package/cjs/components/Dropdown/ui/DropdownInner/DropdownInner.js.map +1 -1
  28. package/cjs/components/Dropdown/ui/DropdownItem/DropdownItem.css +46 -6
  29. package/cjs/components/Dropdown/ui/DropdownItem/DropdownItem.js +29 -18
  30. package/cjs/components/Dropdown/ui/DropdownItem/DropdownItem.js.map +1 -1
  31. package/cjs/components/Dropdown/ui/DropdownItem/DropdownItem.styles.js +27 -31
  32. package/cjs/components/Dropdown/ui/DropdownItem/DropdownItem.styles.js.map +1 -1
  33. package/cjs/components/Dropdown/ui/DropdownItem/DropdownItem.styles_17va0nk.css +5 -0
  34. package/cjs/components/Dropdown/ui/DropdownItemOld/DropdownItem.styles.js +1 -1
  35. package/cjs/components/Dropdown/ui/DropdownItemOld/{DropdownItem.styles_12e50g5.css → DropdownItem.styles_1lyg81y.css} +1 -1
  36. package/cjs/components/Dropdown/ui/DropdownItemOld/DropdownItemOld.css +4 -4
  37. package/cjs/components/Dropdown/utils/getItemByFocused.js +13 -0
  38. package/cjs/components/Dropdown/utils/getItemByFocused.js.map +1 -0
  39. package/cjs/components/Dropdown/utils/getItemId.js +10 -0
  40. package/cjs/components/Dropdown/utils/getItemId.js.map +1 -0
  41. package/cjs/components/Dropdown/utils/getPlacement.js +16 -0
  42. package/cjs/components/Dropdown/utils/getPlacement.js.map +1 -0
  43. package/cjs/components/Dropdown/utils/index.js.map +1 -1
  44. package/cjs/components/Select/utils/getCorrectHeight.js.map +1 -1
  45. package/cjs/components/Slider/Slider.css +13 -15
  46. package/cjs/components/Slider/Slider.js +3 -11
  47. package/cjs/components/Slider/Slider.js.map +1 -1
  48. package/cjs/components/Slider/Slider.tokens.js +17 -23
  49. package/cjs/components/Slider/Slider.tokens.js.map +1 -1
  50. package/cjs/components/Slider/components/Double/Double.css +8 -8
  51. package/cjs/components/Slider/components/Double/Double.js +23 -58
  52. package/cjs/components/Slider/components/Double/Double.js.map +1 -1
  53. package/cjs/components/Slider/components/Single/Single.css +14 -14
  54. package/cjs/components/Slider/components/Single/Single.js +33 -64
  55. package/cjs/components/Slider/components/Single/Single.js.map +1 -1
  56. package/cjs/components/Slider/components/Single/Single.styles.js +4 -4
  57. package/cjs/components/Slider/components/Single/Single.styles.js.map +1 -1
  58. package/cjs/components/Slider/components/Single/Single.styles_1r9f1e0.css +6 -0
  59. package/cjs/components/Slider/components/SliderBase/SliderBase.css +5 -5
  60. package/cjs/components/Slider/components/SliderBase/SliderBase.js +12 -31
  61. package/cjs/components/Slider/components/SliderBase/SliderBase.js.map +1 -1
  62. package/cjs/components/Slider/components/SliderBase/SliderBase.styles.js +7 -7
  63. package/cjs/components/Slider/components/SliderBase/SliderBase.styles.js.map +1 -1
  64. package/cjs/components/Slider/components/SliderBase/SliderBase.styles_9s4eb3.css +5 -0
  65. package/cjs/components/Slider/ui/Handler/Handler.css +3 -3
  66. package/cjs/components/Slider/ui/Handler/Handler.js +88 -49
  67. package/cjs/components/Slider/ui/Handler/Handler.js.map +1 -1
  68. package/cjs/components/Slider/ui/Handler/Handler.styles.js +7 -17
  69. package/cjs/components/Slider/ui/Handler/Handler.styles.js.map +1 -1
  70. package/cjs/components/Slider/ui/Handler/Handler.styles_8crx5z.css +2 -0
  71. package/cjs/components/Slider/ui/Thumb/Thumb.css +1 -1
  72. package/cjs/components/Slider/ui/Thumb/Thumb.js +2 -3
  73. package/cjs/components/Slider/ui/Thumb/Thumb.js.map +1 -1
  74. package/cjs/components/Slider/ui/Thumb/Thumb.styles.js +1 -1
  75. package/cjs/components/Slider/ui/Thumb/Thumb.styles.js.map +1 -1
  76. package/cjs/components/Slider/ui/Thumb/Thumb.styles_4w4gzn.css +1 -0
  77. package/cjs/components/Slider/utils/index.js +10 -28
  78. package/cjs/components/Slider/utils/index.js.map +1 -1
  79. package/cjs/components/Slider/variations/_view/base.js +1 -1
  80. package/cjs/components/Slider/variations/_view/base.js.map +1 -1
  81. package/cjs/components/Slider/variations/_view/base_x642ct.css +1 -0
  82. package/cjs/hooks/useOutsideClick.js +1 -1
  83. package/cjs/hooks/useOutsideClick.js.map +1 -1
  84. package/cjs/index.css +24 -28
  85. package/cjs/utils/index.js.map +1 -1
  86. package/emotion/cjs/components/Dropdown/Dropdown.js +58 -37
  87. package/emotion/cjs/components/Dropdown/Dropdown.styles.js +9 -25
  88. package/emotion/cjs/components/Dropdown/Dropdown.tokens.js +36 -2
  89. package/emotion/cjs/components/Dropdown/FloatingPopover.js +109 -0
  90. package/emotion/cjs/components/Dropdown/ui/DropdownInner/DropdownInner.js +17 -51
  91. package/emotion/cjs/components/Dropdown/ui/DropdownItem/DropdownItem.js +29 -18
  92. package/emotion/cjs/components/Dropdown/ui/DropdownItem/DropdownItem.styles.js +21 -41
  93. package/emotion/cjs/components/Dropdown/utils/getItemByFocused.js +12 -0
  94. package/emotion/cjs/components/Dropdown/utils/getItemId.js +9 -0
  95. package/emotion/cjs/components/Dropdown/utils/getPlacement.js +15 -0
  96. package/emotion/cjs/components/Dropdown/utils/index.js +23 -1
  97. package/emotion/cjs/components/Slider/Slider.js +2 -10
  98. package/emotion/cjs/components/Slider/Slider.template-doc.mdx +0 -26
  99. package/emotion/cjs/components/Slider/Slider.tokens.js +17 -23
  100. package/emotion/cjs/components/Slider/components/Double/Double.js +19 -54
  101. package/emotion/cjs/components/Slider/components/Single/Single.js +33 -64
  102. package/emotion/cjs/components/Slider/components/Single/Single.styles.js +9 -18
  103. package/emotion/cjs/components/Slider/components/SliderBase/SliderBase.js +12 -31
  104. package/emotion/cjs/components/Slider/components/SliderBase/SliderBase.styles.js +10 -10
  105. package/emotion/cjs/components/Slider/ui/Handler/Handler.js +88 -52
  106. package/emotion/cjs/components/Slider/ui/Handler/Handler.styles.js +15 -9
  107. package/emotion/cjs/components/Slider/ui/Thumb/Thumb.js +2 -3
  108. package/emotion/cjs/components/Slider/ui/Thumb/Thumb.styles.js +3 -3
  109. package/emotion/cjs/components/Slider/utils/index.js +10 -28
  110. package/emotion/cjs/components/Slider/variations/_view/base.js +1 -2
  111. package/emotion/cjs/examples/plasma_b2c/components/Dropdown/Dropdown.config.js +5 -5
  112. package/emotion/cjs/examples/plasma_b2c/components/Dropdown/Dropdown.stories.tsx +6 -5
  113. package/emotion/cjs/examples/plasma_b2c/components/Slider/Slider.config.js +7 -7
  114. package/emotion/cjs/examples/plasma_b2c/components/Slider/Slider.stories.tsx +16 -90
  115. package/emotion/cjs/examples/plasma_web/components/Dropdown/Dropdown.config.js +5 -5
  116. package/emotion/cjs/examples/plasma_web/components/Dropdown/Dropdown.stories.tsx +6 -5
  117. package/emotion/cjs/examples/plasma_web/components/Slider/Slider.config.js +7 -7
  118. package/emotion/cjs/examples/plasma_web/components/Slider/Slider.stories.tsx +15 -90
  119. package/emotion/cjs/hooks/useOutsideClick.js +1 -1
  120. package/emotion/es/components/Dropdown/Dropdown.js +60 -40
  121. package/emotion/es/components/Dropdown/Dropdown.styles.js +9 -25
  122. package/emotion/es/components/Dropdown/Dropdown.tokens.js +35 -1
  123. package/emotion/es/components/Dropdown/FloatingPopover.js +102 -0
  124. package/emotion/es/components/Dropdown/ui/DropdownInner/DropdownInner.js +18 -52
  125. package/emotion/es/components/Dropdown/ui/DropdownItem/DropdownItem.js +31 -20
  126. package/emotion/es/components/Dropdown/ui/DropdownItem/DropdownItem.styles.js +22 -42
  127. package/emotion/es/components/Dropdown/utils/getItemByFocused.js +6 -0
  128. package/emotion/es/components/Dropdown/utils/getItemId.js +3 -0
  129. package/emotion/es/components/Dropdown/utils/getPlacement.js +9 -0
  130. package/emotion/es/components/Dropdown/utils/index.js +4 -1
  131. package/emotion/es/components/Slider/Slider.js +2 -11
  132. package/emotion/es/components/Slider/Slider.template-doc.mdx +0 -26
  133. package/emotion/es/components/Slider/Slider.tokens.js +17 -23
  134. package/emotion/es/components/Slider/components/Double/Double.js +19 -54
  135. package/emotion/es/components/Slider/components/Single/Single.js +34 -65
  136. package/emotion/es/components/Slider/components/Single/Single.styles.js +8 -17
  137. package/emotion/es/components/Slider/components/SliderBase/SliderBase.js +12 -31
  138. package/emotion/es/components/Slider/components/SliderBase/SliderBase.styles.js +11 -11
  139. package/emotion/es/components/Slider/ui/Handler/Handler.js +86 -51
  140. package/emotion/es/components/Slider/ui/Handler/Handler.styles.js +16 -10
  141. package/emotion/es/components/Slider/ui/Thumb/Thumb.js +2 -3
  142. package/emotion/es/components/Slider/ui/Thumb/Thumb.styles.js +3 -3
  143. package/emotion/es/components/Slider/utils/index.js +10 -28
  144. package/emotion/es/components/Slider/variations/_view/base.js +1 -2
  145. package/emotion/es/examples/plasma_b2c/components/Dropdown/Dropdown.config.js +6 -6
  146. package/emotion/es/examples/plasma_b2c/components/Dropdown/Dropdown.stories.tsx +6 -5
  147. package/emotion/es/examples/plasma_b2c/components/Slider/Slider.config.js +7 -7
  148. package/emotion/es/examples/plasma_b2c/components/Slider/Slider.stories.tsx +16 -90
  149. package/emotion/es/examples/plasma_web/components/Dropdown/Dropdown.config.js +6 -6
  150. package/emotion/es/examples/plasma_web/components/Dropdown/Dropdown.stories.tsx +6 -5
  151. package/emotion/es/examples/plasma_web/components/Slider/Slider.config.js +7 -7
  152. package/emotion/es/examples/plasma_web/components/Slider/Slider.stories.tsx +15 -90
  153. package/emotion/es/hooks/useOutsideClick.js +1 -1
  154. package/es/components/Combobox/ComboboxOld/Combobox.css +28 -14
  155. package/es/components/Combobox/ComboboxOld/Combobox.js +2 -1
  156. package/es/components/Combobox/ComboboxOld/Combobox.js.map +1 -1
  157. package/es/components/Combobox/ComboboxOld/ui/ComboboxDivider/ComboboxDivider.css +32 -18
  158. package/es/components/Combobox/ComboboxOld/ui/ComboboxDivider/ComboboxDivider.js +3 -2
  159. package/es/components/Combobox/ComboboxOld/ui/ComboboxDivider/ComboboxDivider.js.map +1 -1
  160. package/es/components/Combobox/ComboboxOld/ui/ComboboxFooter/ComboboxFooter.css +32 -18
  161. package/es/components/Combobox/ComboboxOld/ui/ComboboxFooter/ComboboxFooter.js +3 -2
  162. package/es/components/Combobox/ComboboxOld/ui/ComboboxFooter/ComboboxFooter.js.map +1 -1
  163. package/es/components/Combobox/ComboboxOld/ui/ComboboxGroup/ComboboxGroup.css +32 -18
  164. package/es/components/Combobox/ComboboxOld/ui/ComboboxGroup/ComboboxGroup.js +3 -2
  165. package/es/components/Combobox/ComboboxOld/ui/ComboboxGroup/ComboboxGroup.js.map +1 -1
  166. package/es/components/Combobox/ComboboxOld/ui/ComboboxHeader/ComboboxHeader.css +32 -18
  167. package/es/components/Combobox/ComboboxOld/ui/ComboboxHeader/ComboboxHeader.js +3 -2
  168. package/es/components/Combobox/ComboboxOld/ui/ComboboxHeader/ComboboxHeader.js.map +1 -1
  169. package/es/components/Dropdown/Dropdown.css +30 -16
  170. package/es/components/Dropdown/Dropdown.js +68 -47
  171. package/es/components/Dropdown/Dropdown.js.map +1 -1
  172. package/es/components/Dropdown/Dropdown.styles.js +15 -27
  173. package/es/components/Dropdown/Dropdown.styles.js.map +1 -1
  174. package/es/components/Dropdown/Dropdown.styles_18f0qpm.css +2 -0
  175. package/es/components/Dropdown/Dropdown.tokens.js +24 -1
  176. package/es/components/Dropdown/Dropdown.tokens.js.map +1 -1
  177. package/es/components/Dropdown/FloatingPopover.js +100 -0
  178. package/es/components/Dropdown/FloatingPopover.js.map +1 -0
  179. package/es/components/Dropdown/ui/DropdownInner/DropdownInner.js +18 -53
  180. package/es/components/Dropdown/ui/DropdownInner/DropdownInner.js.map +1 -1
  181. package/es/components/Dropdown/ui/DropdownItem/DropdownItem.css +46 -6
  182. package/es/components/Dropdown/ui/DropdownItem/DropdownItem.js +31 -20
  183. package/es/components/Dropdown/ui/DropdownItem/DropdownItem.js.map +1 -1
  184. package/es/components/Dropdown/ui/DropdownItem/DropdownItem.styles.js +26 -29
  185. package/es/components/Dropdown/ui/DropdownItem/DropdownItem.styles.js.map +1 -1
  186. package/es/components/Dropdown/ui/DropdownItem/DropdownItem.styles_17va0nk.css +5 -0
  187. package/es/components/Dropdown/ui/DropdownItemOld/DropdownItem.styles.js +1 -1
  188. package/es/components/Dropdown/ui/DropdownItemOld/{DropdownItem.styles_12e50g5.css → DropdownItem.styles_1lyg81y.css} +1 -1
  189. package/es/components/Dropdown/ui/DropdownItemOld/DropdownItemOld.css +4 -4
  190. package/es/components/Dropdown/utils/getItemByFocused.js +9 -0
  191. package/es/components/Dropdown/utils/getItemByFocused.js.map +1 -0
  192. package/es/components/Dropdown/utils/getItemId.js +6 -0
  193. package/es/components/Dropdown/utils/getItemId.js.map +1 -0
  194. package/es/components/Dropdown/utils/getPlacement.js +12 -0
  195. package/es/components/Dropdown/utils/getPlacement.js.map +1 -0
  196. package/es/components/Dropdown/utils/index.js.map +1 -1
  197. package/es/components/Select/utils/getCorrectHeight.js.map +1 -1
  198. package/es/components/Slider/Slider.css +13 -15
  199. package/es/components/Slider/Slider.js +3 -11
  200. package/es/components/Slider/Slider.js.map +1 -1
  201. package/es/components/Slider/Slider.tokens.js +17 -23
  202. package/es/components/Slider/Slider.tokens.js.map +1 -1
  203. package/es/components/Slider/components/Double/Double.css +8 -8
  204. package/es/components/Slider/components/Double/Double.js +19 -54
  205. package/es/components/Slider/components/Double/Double.js.map +1 -1
  206. package/es/components/Slider/components/Single/Single.css +14 -14
  207. package/es/components/Slider/components/Single/Single.js +34 -65
  208. package/es/components/Slider/components/Single/Single.js.map +1 -1
  209. package/es/components/Slider/components/Single/Single.styles.js +4 -4
  210. package/es/components/Slider/components/Single/Single.styles.js.map +1 -1
  211. package/es/components/Slider/components/Single/Single.styles_1r9f1e0.css +6 -0
  212. package/es/components/Slider/components/SliderBase/SliderBase.css +5 -5
  213. package/es/components/Slider/components/SliderBase/SliderBase.js +12 -31
  214. package/es/components/Slider/components/SliderBase/SliderBase.js.map +1 -1
  215. package/es/components/Slider/components/SliderBase/SliderBase.styles.js +7 -7
  216. package/es/components/Slider/components/SliderBase/SliderBase.styles.js.map +1 -1
  217. package/es/components/Slider/components/SliderBase/SliderBase.styles_9s4eb3.css +5 -0
  218. package/es/components/Slider/ui/Handler/Handler.css +3 -3
  219. package/es/components/Slider/ui/Handler/Handler.js +87 -48
  220. package/es/components/Slider/ui/Handler/Handler.js.map +1 -1
  221. package/es/components/Slider/ui/Handler/Handler.styles.js +7 -17
  222. package/es/components/Slider/ui/Handler/Handler.styles.js.map +1 -1
  223. package/es/components/Slider/ui/Handler/Handler.styles_8crx5z.css +2 -0
  224. package/es/components/Slider/ui/Thumb/Thumb.css +1 -1
  225. package/es/components/Slider/ui/Thumb/Thumb.js +2 -3
  226. package/es/components/Slider/ui/Thumb/Thumb.js.map +1 -1
  227. package/es/components/Slider/ui/Thumb/Thumb.styles.js +1 -1
  228. package/es/components/Slider/ui/Thumb/Thumb.styles.js.map +1 -1
  229. package/es/components/Slider/ui/Thumb/Thumb.styles_4w4gzn.css +1 -0
  230. package/es/components/Slider/utils/index.js +10 -28
  231. package/es/components/Slider/utils/index.js.map +1 -1
  232. package/es/components/Slider/variations/_view/base.js +1 -1
  233. package/es/components/Slider/variations/_view/base.js.map +1 -1
  234. package/es/components/Slider/variations/_view/base_x642ct.css +1 -0
  235. package/es/hooks/useOutsideClick.js +1 -1
  236. package/es/hooks/useOutsideClick.js.map +1 -1
  237. package/es/index.css +24 -28
  238. package/es/utils/index.js.map +1 -1
  239. package/package.json +2 -2
  240. package/styled-components/cjs/components/Dropdown/Dropdown.js +58 -37
  241. package/styled-components/cjs/components/Dropdown/Dropdown.styles.js +9 -15
  242. package/styled-components/cjs/components/Dropdown/Dropdown.tokens.js +36 -2
  243. package/styled-components/cjs/components/Dropdown/FloatingPopover.js +109 -0
  244. package/styled-components/cjs/components/Dropdown/ui/DropdownInner/DropdownInner.js +17 -51
  245. package/styled-components/cjs/components/Dropdown/ui/DropdownItem/DropdownItem.js +29 -18
  246. package/styled-components/cjs/components/Dropdown/ui/DropdownItem/DropdownItem.styles.js +17 -19
  247. package/styled-components/cjs/components/Dropdown/utils/getItemByFocused.js +12 -0
  248. package/styled-components/cjs/components/Dropdown/utils/getItemId.js +9 -0
  249. package/styled-components/cjs/components/Dropdown/utils/getPlacement.js +15 -0
  250. package/styled-components/cjs/components/Dropdown/utils/index.js +23 -1
  251. package/styled-components/cjs/components/Slider/Slider.js +2 -10
  252. package/styled-components/cjs/components/Slider/Slider.template-doc.mdx +0 -26
  253. package/styled-components/cjs/components/Slider/Slider.tokens.js +17 -23
  254. package/styled-components/cjs/components/Slider/components/Double/Double.js +19 -54
  255. package/styled-components/cjs/components/Slider/components/Single/Single.js +33 -64
  256. package/styled-components/cjs/components/Slider/components/Single/Single.styles.js +6 -6
  257. package/styled-components/cjs/components/Slider/components/SliderBase/SliderBase.js +12 -31
  258. package/styled-components/cjs/components/Slider/components/SliderBase/SliderBase.styles.js +6 -6
  259. package/styled-components/cjs/components/Slider/ui/Handler/Handler.js +88 -52
  260. package/styled-components/cjs/components/Slider/ui/Handler/Handler.styles.js +4 -7
  261. package/styled-components/cjs/components/Slider/ui/Thumb/Thumb.js +2 -3
  262. package/styled-components/cjs/components/Slider/ui/Thumb/Thumb.styles.js +2 -2
  263. package/styled-components/cjs/components/Slider/utils/index.js +10 -28
  264. package/styled-components/cjs/components/Slider/variations/_view/base.js +1 -2
  265. package/styled-components/cjs/examples/plasma_b2c/components/Dropdown/Dropdown.config.js +5 -5
  266. package/styled-components/cjs/examples/plasma_b2c/components/Dropdown/Dropdown.stories.tsx +6 -5
  267. package/styled-components/cjs/examples/plasma_b2c/components/Slider/Slider.config.js +3 -3
  268. package/styled-components/cjs/examples/plasma_b2c/components/Slider/Slider.stories.tsx +16 -90
  269. package/styled-components/cjs/examples/plasma_web/components/Dropdown/Dropdown.config.js +5 -5
  270. package/styled-components/cjs/examples/plasma_web/components/Dropdown/Dropdown.stories.tsx +6 -5
  271. package/styled-components/cjs/examples/plasma_web/components/Slider/Slider.config.js +3 -3
  272. package/styled-components/cjs/examples/plasma_web/components/Slider/Slider.stories.tsx +15 -90
  273. package/styled-components/cjs/hooks/useOutsideClick.js +1 -1
  274. package/styled-components/es/components/Dropdown/Dropdown.js +60 -40
  275. package/styled-components/es/components/Dropdown/Dropdown.styles.js +9 -15
  276. package/styled-components/es/components/Dropdown/Dropdown.tokens.js +35 -1
  277. package/styled-components/es/components/Dropdown/FloatingPopover.js +102 -0
  278. package/styled-components/es/components/Dropdown/ui/DropdownInner/DropdownInner.js +18 -52
  279. package/styled-components/es/components/Dropdown/ui/DropdownItem/DropdownItem.js +31 -20
  280. package/styled-components/es/components/Dropdown/ui/DropdownItem/DropdownItem.styles.js +18 -20
  281. package/styled-components/es/components/Dropdown/utils/getItemByFocused.js +6 -0
  282. package/styled-components/es/components/Dropdown/utils/getItemId.js +3 -0
  283. package/styled-components/es/components/Dropdown/utils/getPlacement.js +9 -0
  284. package/styled-components/es/components/Dropdown/utils/index.js +4 -1
  285. package/styled-components/es/components/Slider/Slider.js +2 -11
  286. package/styled-components/es/components/Slider/Slider.template-doc.mdx +0 -26
  287. package/styled-components/es/components/Slider/Slider.tokens.js +17 -23
  288. package/styled-components/es/components/Slider/components/Double/Double.js +19 -54
  289. package/styled-components/es/components/Slider/components/Single/Single.js +34 -65
  290. package/styled-components/es/components/Slider/components/Single/Single.styles.js +5 -5
  291. package/styled-components/es/components/Slider/components/SliderBase/SliderBase.js +12 -31
  292. package/styled-components/es/components/Slider/components/SliderBase/SliderBase.styles.js +7 -7
  293. package/styled-components/es/components/Slider/ui/Handler/Handler.js +86 -51
  294. package/styled-components/es/components/Slider/ui/Handler/Handler.styles.js +5 -8
  295. package/styled-components/es/components/Slider/ui/Thumb/Thumb.js +2 -3
  296. package/styled-components/es/components/Slider/ui/Thumb/Thumb.styles.js +2 -2
  297. package/styled-components/es/components/Slider/utils/index.js +10 -28
  298. package/styled-components/es/components/Slider/variations/_view/base.js +1 -2
  299. package/styled-components/es/examples/plasma_b2c/components/Dropdown/Dropdown.config.js +6 -6
  300. package/styled-components/es/examples/plasma_b2c/components/Dropdown/Dropdown.stories.tsx +6 -5
  301. package/styled-components/es/examples/plasma_b2c/components/Slider/Slider.config.js +3 -3
  302. package/styled-components/es/examples/plasma_b2c/components/Slider/Slider.stories.tsx +16 -90
  303. package/styled-components/es/examples/plasma_web/components/Dropdown/Dropdown.config.js +6 -6
  304. package/styled-components/es/examples/plasma_web/components/Dropdown/Dropdown.stories.tsx +6 -5
  305. package/styled-components/es/examples/plasma_web/components/Slider/Slider.config.js +3 -3
  306. package/styled-components/es/examples/plasma_web/components/Slider/Slider.stories.tsx +15 -90
  307. package/styled-components/es/hooks/useOutsideClick.js +1 -1
  308. package/types/components/Combobox/ComboboxOld/Combobox.types.d.ts +2 -1
  309. package/types/components/Combobox/ComboboxOld/Combobox.types.d.ts.map +1 -1
  310. package/types/components/Dropdown/Dropdown.d.ts +2 -1
  311. package/types/components/Dropdown/Dropdown.d.ts.map +1 -1
  312. package/types/components/Dropdown/Dropdown.styles.d.ts +1 -6
  313. package/types/components/Dropdown/Dropdown.styles.d.ts.map +1 -1
  314. package/types/components/Dropdown/Dropdown.tokens.d.ts +25 -0
  315. package/types/components/Dropdown/Dropdown.tokens.d.ts.map +1 -1
  316. package/types/components/Dropdown/Dropdown.types.d.ts +30 -4
  317. package/types/components/Dropdown/Dropdown.types.d.ts.map +1 -1
  318. package/types/components/Dropdown/FloatingPopover.d.ts +5 -0
  319. package/types/components/Dropdown/FloatingPopover.d.ts.map +1 -0
  320. package/types/components/Dropdown/index.d.ts +1 -1
  321. package/types/components/Dropdown/index.d.ts.map +1 -1
  322. package/types/components/Dropdown/ui/DropdownInner/DropdownInner.d.ts.map +1 -1
  323. package/types/components/Dropdown/ui/DropdownInner/DropdownInner.type.d.ts +1 -12
  324. package/types/components/Dropdown/ui/DropdownInner/DropdownInner.type.d.ts.map +1 -1
  325. package/types/components/Dropdown/ui/DropdownItem/DropdownItem.d.ts.map +1 -1
  326. package/types/components/Dropdown/ui/DropdownItem/DropdownItem.styles.d.ts +32 -3
  327. package/types/components/Dropdown/ui/DropdownItem/DropdownItem.styles.d.ts.map +1 -1
  328. package/types/components/Dropdown/ui/DropdownItem/DropdownItem.type.d.ts +1 -14
  329. package/types/components/Dropdown/ui/DropdownItem/DropdownItem.type.d.ts.map +1 -1
  330. package/types/components/Dropdown/utils/getItemByFocused.d.ts +4 -0
  331. package/types/components/Dropdown/utils/getItemByFocused.d.ts.map +1 -0
  332. package/types/components/Dropdown/utils/getItemId.d.ts +2 -0
  333. package/types/components/Dropdown/utils/getItemId.d.ts.map +1 -0
  334. package/types/components/Dropdown/utils/getPlacement.d.ts +3 -0
  335. package/types/components/Dropdown/utils/getPlacement.d.ts.map +1 -0
  336. package/types/components/Dropdown/utils/index.d.ts +3 -0
  337. package/types/components/Dropdown/utils/index.d.ts.map +1 -1
  338. package/types/components/Select/utils/getCorrectHeight.d.ts +2 -2
  339. package/types/components/Select/utils/getCorrectHeight.d.ts.map +1 -1
  340. package/types/components/Slider/Slider.d.ts.map +1 -1
  341. package/types/components/Slider/Slider.tokens.d.ts +16 -22
  342. package/types/components/Slider/Slider.tokens.d.ts.map +1 -1
  343. package/types/components/Slider/components/Double/Double.d.ts.map +1 -1
  344. package/types/components/Slider/components/Double/Double.types.d.ts +0 -1
  345. package/types/components/Slider/components/Double/Double.types.d.ts.map +1 -1
  346. package/types/components/Slider/components/Single/Single.d.ts.map +1 -1
  347. package/types/components/Slider/components/Single/Single.styles.d.ts +1 -1
  348. package/types/components/Slider/components/Single/Single.styles.d.ts.map +1 -1
  349. package/types/components/Slider/components/Single/Single.types.d.ts +7 -80
  350. package/types/components/Slider/components/Single/Single.types.d.ts.map +1 -1
  351. package/types/components/Slider/components/SliderBase/SliderBase.d.ts.map +1 -1
  352. package/types/components/Slider/components/SliderBase/SliderBase.styles.d.ts +1 -1
  353. package/types/components/Slider/components/SliderBase/SliderBase.styles.d.ts.map +1 -1
  354. package/types/components/Slider/components/SliderBase/SliderBase.types.d.ts +0 -6
  355. package/types/components/Slider/components/SliderBase/SliderBase.types.d.ts.map +1 -1
  356. package/types/components/Slider/ui/Handler/Handler.d.ts.map +1 -1
  357. package/types/components/Slider/ui/Handler/Handler.styles.d.ts +2 -6
  358. package/types/components/Slider/ui/Handler/Handler.styles.d.ts.map +1 -1
  359. package/types/components/Slider/ui/Handler/Handler.types.d.ts +1 -5
  360. package/types/components/Slider/ui/Handler/Handler.types.d.ts.map +1 -1
  361. package/types/components/Slider/ui/Thumb/Thumb.d.ts +1 -1
  362. package/types/components/Slider/ui/Thumb/Thumb.d.ts.map +1 -1
  363. package/types/components/Slider/ui/Thumb/Thumb.styles.d.ts.map +1 -1
  364. package/types/components/Slider/ui/Thumb/Thumb.types.d.ts +0 -1
  365. package/types/components/Slider/ui/Thumb/Thumb.types.d.ts.map +1 -1
  366. package/types/components/Slider/utils/index.d.ts +8 -26
  367. package/types/components/Slider/utils/index.d.ts.map +1 -1
  368. package/types/components/Slider/variations/_view/base.d.ts.map +1 -1
  369. package/types/examples/plasma_b2c/components/Dropdown/Dropdown.config.d.ts +3 -3
  370. package/types/examples/plasma_b2c/components/Dropdown/Dropdown.config.d.ts.map +1 -1
  371. package/types/examples/plasma_b2c/components/Dropdown/Dropdown.d.ts +4 -4
  372. package/types/examples/plasma_b2c/components/Dropdown/Dropdown.d.ts.map +1 -1
  373. package/types/examples/plasma_b2c/components/Slider/Slider.config.d.ts.map +1 -1
  374. package/types/examples/plasma_b2c/components/Slider/Slider.d.ts +2 -84
  375. package/types/examples/plasma_b2c/components/Slider/Slider.d.ts.map +1 -1
  376. package/types/examples/plasma_web/components/Dropdown/Dropdown.config.d.ts +3 -3
  377. package/types/examples/plasma_web/components/Dropdown/Dropdown.config.d.ts.map +1 -1
  378. package/types/examples/plasma_web/components/Dropdown/Dropdown.d.ts +4 -4
  379. package/types/examples/plasma_web/components/Dropdown/Dropdown.d.ts.map +1 -1
  380. package/types/examples/plasma_web/components/Slider/Slider.config.d.ts.map +1 -1
  381. package/types/examples/plasma_web/components/Slider/Slider.d.ts +2 -84
  382. package/types/examples/plasma_web/components/Slider/Slider.d.ts.map +1 -1
  383. package/types/hooks/useOutsideClick.d.ts +1 -1
  384. package/types/hooks/useOutsideClick.d.ts.map +1 -1
  385. package/types/utils/index.d.ts +1 -1
  386. package/types/utils/index.d.ts.map +1 -1
  387. package/cjs/components/Dropdown/Dropdown.styles_1tihqkp.css +0 -3
  388. package/cjs/components/Dropdown/ui/DropdownItem/DropdownItem.styles_blclup.css +0 -6
  389. package/cjs/components/Slider/components/DoubleUncontrolled/DoubleUncontrolled.css +0 -98
  390. package/cjs/components/Slider/components/Single/Single.styles_1h7n2s2.css +0 -6
  391. package/cjs/components/Slider/components/SliderBase/SliderBase.styles_1qt1224.css +0 -5
  392. package/cjs/components/Slider/ui/Handler/Handler.styles_irtcgm.css +0 -2
  393. package/cjs/components/Slider/ui/Handler/computeKeyPressData.js +0 -122
  394. package/cjs/components/Slider/ui/Handler/computeKeyPressData.js.map +0 -1
  395. package/cjs/components/Slider/ui/Thumb/Thumb.styles_uyn20e.css +0 -1
  396. package/cjs/components/Slider/variations/_view/base_1s3f6q8.css +0 -1
  397. package/emotion/cjs/components/Slider/ui/Handler/computeKeyPressData.js +0 -121
  398. package/emotion/es/components/Slider/ui/Handler/computeKeyPressData.js +0 -115
  399. package/es/components/Dropdown/Dropdown.styles_1tihqkp.css +0 -3
  400. package/es/components/Dropdown/ui/DropdownItem/DropdownItem.styles_blclup.css +0 -6
  401. package/es/components/Slider/components/DoubleUncontrolled/DoubleUncontrolled.css +0 -98
  402. package/es/components/Slider/components/Single/Single.styles_1h7n2s2.css +0 -6
  403. package/es/components/Slider/components/SliderBase/SliderBase.styles_1qt1224.css +0 -5
  404. package/es/components/Slider/ui/Handler/Handler.styles_irtcgm.css +0 -2
  405. package/es/components/Slider/ui/Handler/computeKeyPressData.js +0 -118
  406. package/es/components/Slider/ui/Handler/computeKeyPressData.js.map +0 -1
  407. package/es/components/Slider/ui/Thumb/Thumb.styles_uyn20e.css +0 -1
  408. package/es/components/Slider/variations/_view/base_1s3f6q8.css +0 -1
  409. package/styled-components/cjs/components/Slider/ui/Handler/computeKeyPressData.js +0 -121
  410. package/styled-components/es/components/Slider/ui/Handler/computeKeyPressData.js +0 -115
  411. package/types/components/Slider/ui/Handler/computeKeyPressData.d.ts +0 -12
  412. package/types/components/Slider/ui/Handler/computeKeyPressData.d.ts.map +0 -1
@@ -4,18 +4,14 @@ 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';
8
7
  import { WithTheme } from '../../../_helpers';
9
8
 
10
9
  import { Slider } from './Slider';
11
10
 
12
11
  const sizes = ['l', 'm', 's'];
13
- const pointerSizes = ['small', 'large', 'none'];
14
12
  const views = ['default', 'accent', 'gradient'];
15
- const sliderAligns = ['center', 'left', 'right', 'none'];
16
- const labelPlacements = ['top', 'left'];
17
- const scaleAligns = ['side', 'bottom'];
18
- const orientations: Array<string> = ['vertical', 'horizontal'];
13
+ const labelPlacements = ['outer', 'inner'];
14
+ const rangeValuesPlacement = ['outer', 'inner'];
19
15
 
20
16
  const meta: Meta<typeof Slider> = {
21
17
  title: 'plasma_web/Slider',
@@ -34,24 +30,9 @@ const meta: Meta<typeof Slider> = {
34
30
  type: 'inline-radio',
35
31
  },
36
32
  },
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
- },
49
33
  ...disableProps([
50
34
  'value',
51
35
  'onChangeCommitted',
52
- 'onChangeTextField',
53
- 'onBlurTextField',
54
- 'onKeyDownTextField',
55
36
  'ariaLabel',
56
37
  'onChange',
57
38
  'fontSizeMultiplier',
@@ -71,9 +52,8 @@ type StorySingleProps = StoryProps;
71
52
  type StorySingle = StoryObj<StorySingleProps>;
72
53
  type StoryDouble = StoryObj<StoryProps>;
73
54
 
74
- const SliderWrapper = styled.div<{ isVertical?: boolean }>`
75
- width: ${({ isVertical }) => (isVertical ? 'auto' : '25rem')};
76
- height: ${({ isVertical }) => (isVertical ? '25rem' : 'auto')};
55
+ const SliderWrapper = styled.div`
56
+ width: 25rem;
77
57
  `;
78
58
 
79
59
  const StoryDefault = (args: StorySingleProps) => {
@@ -87,86 +67,41 @@ const StoryDefault = (args: StorySingleProps) => {
87
67
  setValue(values);
88
68
  };
89
69
 
90
- const { hasIcon, showIcon, orientation, labelPlacement, labelVerticalPlacement, ...rest } = args;
91
- const isVertical = orientation === 'vertical';
92
-
93
70
  return (
94
- <SliderWrapper isVertical={isVertical}>
95
- <Slider
96
- value={value}
97
- orientation={orientation}
98
- labelPlacement={labelPlacement}
99
- labelContent={showIcon ? <IconMic size={rest.size === 's' ? 'xs' : 's'} /> : null}
100
- onChangeCommitted={onChangeCommittedHandle}
101
- onChange={onChangeHandle}
102
- {...rest}
103
- />
71
+ <SliderWrapper>
72
+ <Slider value={value} onChangeCommitted={onChangeCommittedHandle} onChange={onChangeHandle} {...args} />
104
73
  </SliderWrapper>
105
74
  );
106
75
  };
107
76
 
108
77
  export const Default: StorySingle = {
109
78
  argTypes: {
110
- sliderAlign: {
111
- options: sliderAligns,
112
- control: {
113
- type: 'inline-radio',
114
- },
115
- if: { arg: 'orientation', eq: 'vertical' },
116
- },
117
79
  labelPlacement: {
118
80
  options: labelPlacements,
119
81
  control: {
120
82
  type: 'inline-radio',
121
83
  },
122
- if: { arg: 'orientation', eq: 'horizontal' },
123
- },
124
- labelReversed: {
125
- control: {
126
- type: 'boolean',
127
- expanded: true,
128
- },
129
- if: { arg: 'orientation', eq: 'vertical' },
130
- },
131
- scaleAlign: {
132
- options: scaleAligns,
133
- control: {
134
- type: 'inline-radio',
135
- },
136
- if: { arg: 'orientation', eq: 'horizontal' },
137
84
  },
138
- orientation: {
139
- options: orientations,
85
+ rangeValuesPlacement: {
86
+ options: rangeValuesPlacement,
140
87
  control: {
141
88
  type: 'inline-radio',
142
89
  },
143
90
  },
144
- reversed: {
145
- control: {
146
- type: 'boolean',
147
- },
148
- if: { arg: 'orientation', eq: 'vertical' },
149
- },
150
91
  },
151
92
  args: {
152
93
  view: 'default',
153
94
  size: 'm',
154
- pointerSize: 'small',
155
95
  min: 0,
156
96
  max: 100,
157
- orientation: 'horizontal',
158
- ariaLabel: 'Цена микрофона',
97
+ disabled: false,
98
+ ariaLabel: 'Цена товара',
159
99
  multipleStepSize: 10,
160
- label: 'Цена микрофона',
161
- labelPlacement: 'top',
162
- sliderAlign: 'center',
163
- scaleAlign: 'bottom',
164
- showScale: true,
100
+ label: 'Цена товара',
101
+ labelPlacement: 'outer',
102
+ rangeValuesPlacement: 'outer',
103
+ showRangeValues: true,
165
104
  showCurrentValue: false,
166
- showIcon: true,
167
- reversed: false,
168
- labelReversed: false,
169
- disabled: false,
170
105
  },
171
106
  render: (args) => <StoryDefault {...args} />,
172
107
  };
@@ -206,7 +141,7 @@ const StoryMultipleValues = (args: StoryProps) => {
206
141
  };
207
142
 
208
143
  return (
209
- <SliderWrapper isVertical={args.orientation === 'vertical'}>
144
+ <SliderWrapper>
210
145
  <Slider
211
146
  value={value}
212
147
  onKeyDownTextField={onKeyDownTextField}
@@ -223,7 +158,6 @@ export const MultipleValues: StoryDouble = {
223
158
  args: {
224
159
  view: 'default',
225
160
  size: 'm',
226
- pointerSize: 'small',
227
161
  min: 0,
228
162
  max: 100,
229
163
  disabled: false,
@@ -231,14 +165,5 @@ export const MultipleValues: StoryDouble = {
231
165
  ariaLabel: ['Минимальная цена товара', 'Максимальная цена товара'],
232
166
  multipleStepSize: 10,
233
167
  },
234
- argTypes: {
235
- pointerSize: {
236
- options: ['small', 'large'],
237
- control: {
238
- type: 'inline-radio',
239
- },
240
- },
241
- ...disableProps(['orientation']),
242
- },
243
168
  render: (args) => <StoryMultipleValues {...args} />,
244
169
  };
@@ -11,7 +11,7 @@ var useOutsideClick = exports.useOutsideClick = function useOutsideClick(callbac
11
11
  var handleClickOutside = function handleClickOutside(event) {
12
12
  if (ref.current && !ref.current.contains(event.target)) {
13
13
  if (!(secondaryRef !== null && secondaryRef !== void 0 && secondaryRef.current) || secondaryRef.current && !secondaryRef.current.contains(event.target)) {
14
- callback();
14
+ callback(event);
15
15
  }
16
16
  }
17
17
  };
@@ -8,30 +8,33 @@ function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" !=
8
8
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
9
9
  function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
10
10
  function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
11
- import React, { forwardRef, useReducer } from 'react';
12
- import { cx, getPlacements } from '../../utils';
11
+ import React, { createContext, forwardRef, useReducer, useRef } from 'react';
12
+ import { safeUseId } from '@salutejs/plasma-core';
13
+ import { cx } from '../../utils';
14
+ import { useOutsideClick } from '../../hooks';
13
15
  import { pathReducer } from './reducers/pathReducer';
14
16
  import { focusedPathReducer } from './reducers/focusedPathReducer';
15
17
  import { DropdownInner } from './ui';
16
18
  import { base as viewCSS } from './variations/_view/base';
17
19
  import { base as sizeCSS } from './variations/_size/base';
18
- import { Ul, StyledPopover, base } from './Dropdown.styles';
19
- import { childrenWithProps } from './utils';
20
+ import { Ul, base } from './Dropdown.styles';
21
+ import { childrenWithProps, getItemByFocused, getItemId, getPlacement } from './utils';
20
22
  import { classes } from './Dropdown.tokens';
21
23
  import { useKeyNavigation } from './hooks/useKeyboardNavigation';
22
24
  import { useHashMaps } from './hooks/useHashMaps';
25
+ import { FloatingPopover } from './FloatingPopover';
26
+ export var Context = /*#__PURE__*/createContext({});
23
27
 
24
28
  /**
25
29
  * Выпадающий список.
26
30
  */
27
31
  export var dropdownRoot = function dropdownRoot(Root) {
28
32
  return /*#__PURE__*/forwardRef(function (_ref, ref) {
33
+ var _getItemByFocused;
29
34
  var items = _ref.items,
30
35
  children = _ref.children,
31
- _ref$placement = _ref.placement,
32
- placement = _ref$placement === void 0 ? 'bottom' : _ref$placement,
33
- _ref$offset = _ref.offset,
34
- offset = _ref$offset === void 0 ? [0, 0] : _ref$offset,
36
+ placement = _ref.placement,
37
+ offset = _ref.offset,
35
38
  _ref$closeOnOverlayCl = _ref.closeOnOverlayClick,
36
39
  closeOnOverlayClick = _ref$closeOnOverlayCl === void 0 ? true : _ref$closeOnOverlayCl,
37
40
  onToggle = _ref.onToggle,
@@ -68,6 +71,25 @@ export var dropdownRoot = function dropdownRoot(Root) {
68
71
  _useHashMaps2 = _slicedToArray(_useHashMaps, 2),
69
72
  pathMap = _useHashMaps2[0],
70
73
  focusedToValueMap = _useHashMaps2[1];
74
+ var activeDescendantItemValue = ((_getItemByFocused = getItemByFocused(focusedPath, focusedToValueMap)) === null || _getItemByFocused === void 0 ? void 0 : _getItemByFocused.value) || '';
75
+ var floatingPopoverRef = useRef(null);
76
+ var treeId = safeUseId();
77
+
78
+ // Логика работы при клике за пределами выпадающего списка
79
+ var targetRef = useOutsideClick(function (event) {
80
+ if (!isCurrentListOpen || !closeOnOverlayClick) {
81
+ return;
82
+ }
83
+ dispatchPath({
84
+ type: 'reset'
85
+ });
86
+ dispatchFocusedPath({
87
+ type: 'reset'
88
+ });
89
+ if (onToggle) {
90
+ onToggle(false, event);
91
+ }
92
+ }, floatingPopoverRef);
71
93
  var handleGlobalToggle = function handleGlobalToggle(opened, event) {
72
94
  if (opened) {
73
95
  dispatchPath({
@@ -99,66 +121,64 @@ export var dropdownRoot = function dropdownRoot(Root) {
99
121
  }),
100
122
  onKeyDown = _useKeyNavigation.onKeyDown;
101
123
  var isCurrentListOpen = Boolean(path[0]);
102
- var getActiveDescendant = function getActiveDescendant() {
103
- var _focusedToValueMap$ge;
104
- var focusedPathAsString = focusedPath.reduce(function (acc, n) {
105
- return "".concat(acc, "/").concat(n);
106
- }, '').replace(/^(\/)/, '');
107
- return focusedToValueMap === null || focusedToValueMap === void 0 || (_focusedToValueMap$ge = focusedToValueMap.get(focusedPathAsString)) === null || _focusedToValueMap$ge === void 0 ? void 0 : _focusedToValueMap$ge.value.toString();
108
- };
109
- return /*#__PURE__*/React.createElement(StyledPopover, {
124
+ return /*#__PURE__*/React.createElement(Context.Provider, {
125
+ value: {
126
+ focusedPath: focusedPath,
127
+ size: size,
128
+ variant: variant,
129
+ itemRole: itemRole,
130
+ handleGlobalToggle: handleGlobalToggle,
131
+ closeOnSelect: closeOnSelect,
132
+ onHover: onHover,
133
+ onItemClick: onItemClick,
134
+ onItemSelect: onItemSelect,
135
+ hasArrow: hasArrow,
136
+ treeId: treeId
137
+ }
138
+ }, /*#__PURE__*/React.createElement(FloatingPopover, {
139
+ ref: floatingPopoverRef,
110
140
  opened: isCurrentListOpen,
111
141
  onToggle: handleGlobalToggle,
142
+ placement: getPlacement(placement),
112
143
  offset: offset,
113
- placement: getPlacements(placement),
144
+ portal: portal,
114
145
  trigger: trigger,
115
- closeOnOverlayClick: closeOnOverlayClick,
116
- isFocusTrapped: false,
117
146
  target: childrenWithProps(children, {
118
147
  role: 'combobox',
119
- 'aria-controls': 'tree_level_1',
148
+ 'aria-controls': "".concat(treeId, "_tree_level_1"),
120
149
  'aria-expanded': isCurrentListOpen,
121
- 'aria-activedescendant': getActiveDescendant(),
150
+ 'aria-activedescendant': activeDescendantItemValue ? getItemId(treeId, activeDescendantItemValue.toString()) : '',
122
151
  onKeyDown: onKeyDown
123
- }),
124
- preventOverflow: false,
125
- usePortal: Boolean(portal),
126
- frame: portal
152
+ })
127
153
  }, /*#__PURE__*/React.createElement(Root, _extends({
128
154
  className: cx(className, classes.dropdownRoot),
129
155
  ref: ref,
130
156
  view: view,
131
- size: size
157
+ size: size,
158
+ style: {
159
+ display: 'inline-block'
160
+ }
132
161
  }, rest), /*#__PURE__*/React.createElement(Ul, {
162
+ ref: targetRef,
163
+ id: "".concat(treeId, "_tree_level_1"),
164
+ role: "tree",
133
165
  listHeight: listHeight,
134
166
  listOverflow: listOverflow,
135
- role: "tree",
136
- id: "tree_level_1",
137
167
  listWidth: listWidth
138
168
  }, items.map(function (item, index) {
139
169
  return /*#__PURE__*/React.createElement(DropdownInner, {
140
170
  key: "".concat(index, "/0"),
141
171
  item: item,
142
172
  currentLevel: 0,
143
- focusedPath: focusedPath,
144
173
  trigger: trigger,
145
174
  path: path,
146
175
  dispatchPath: dispatchPath,
147
176
  index: index,
148
- itemRole: itemRole,
149
177
  listHeight: listHeight,
150
178
  listOverflow: listOverflow,
151
- handleGlobalToggle: handleGlobalToggle,
152
- closeOnSelect: closeOnSelect,
153
- onHover: onHover,
154
- onItemSelect: onItemSelect,
155
- onItemClick: onItemClick,
156
- listWidth: listWidth,
157
- variant: variant,
158
- hasArrow: hasArrow,
159
- size: size
179
+ listWidth: listWidth
160
180
  });
161
- }))));
181
+ })))));
162
182
  });
163
183
  };
164
184
  export var dropdownConfig = {
@@ -1,37 +1,21 @@
1
1
  import _styled from "@emotion/styled/base";
2
- function _EMOTION_STRINGIFIED_CSS_ERROR__() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; }
3
2
  import { css } from '@emotion/react';
4
- import { component } from '../../engines';
5
- import { popoverConfig, popoverClasses } from '../Popover';
6
3
  import { getCorrectHeight } from './utils';
7
- import { tokens } from './Dropdown.tokens';
8
- var Popover = /*#__PURE__*/component(popoverConfig);
9
- export var StyledPopover = /*#__PURE__*/_styled(Popover, {
10
- target: "euqmbvx1",
11
- label: "plasma-new-hope__StyledPopover"
12
- })(".", /*#__PURE__*/String(popoverClasses.wrapper), ",.", /*#__PURE__*/String(popoverClasses.target), "{display:block;}" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy1lbW90aW9uL2NvbXBvbmVudHMvRHJvcGRvd24vRHJvcGRvd24uc3R5bGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVk0QyIsImZpbGUiOiIuLi8uLi8uLi8uLi9zcmMtZW1vdGlvbi9jb21wb25lbnRzL0Ryb3Bkb3duL0Ryb3Bkb3duLnN0eWxlcy50cyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcblxuaW1wb3J0IHsgY29tcG9uZW50IH0gZnJvbSAnLi4vLi4vZW5naW5lcyc7XG5pbXBvcnQgeyBwb3BvdmVyQ29uZmlnLCBwb3BvdmVyQ2xhc3NlcyB9IGZyb20gJy4uL1BvcG92ZXInO1xuXG5pbXBvcnQgeyBnZXRDb3JyZWN0SGVpZ2h0IH0gZnJvbSAnLi91dGlscyc7XG5pbXBvcnQgeyBEcm9wZG93blByb3BzIH0gZnJvbSAnLi9Ecm9wZG93bi50eXBlcyc7XG5pbXBvcnQgeyB0b2tlbnMgfSBmcm9tICcuL0Ryb3Bkb3duLnRva2Vucyc7XG5cbmNvbnN0IFBvcG92ZXIgPSBjb21wb25lbnQocG9wb3ZlckNvbmZpZyk7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRQb3BvdmVyID0gc3R5bGVkKFBvcG92ZXIpYFxuICAgIC4ke1N0cmluZyhwb3BvdmVyQ2xhc3Nlcy53cmFwcGVyKX0sIC4ke1N0cmluZyhwb3BvdmVyQ2xhc3Nlcy50YXJnZXQpfSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbmA7XG5cbmV4cG9ydCBjb25zdCBVbCA9IHN0eWxlZC51bDx7XG4gICAgbGlzdEhlaWdodDogRHJvcGRvd25Qcm9wc1snbGlzdEhlaWdodCddO1xuICAgIGxpc3RPdmVyZmxvdzogRHJvcGRvd25Qcm9wc1snbGlzdE92ZXJmbG93J107XG4gICAgaXNJbm5lclVsPzogYm9vbGVhbjtcbiAgICBsaXN0V2lkdGg/OiBEcm9wZG93blByb3BzWydsaXN0V2lkdGgnXTtcbn0+YFxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cbiAgICBiYWNrZ3JvdW5kOiB2YXIoJHt0b2tlbnMuYmFja2dyb3VuZH0pO1xuICAgIGJveC1zaGFkb3c6IHZhcigke3Rva2Vucy5ib3hTaGFkb3d9KTtcblxuICAgIGJvcmRlci1yYWRpdXM6IHZhcigke3Rva2Vucy5ib3JkZXJSYWRpdXN9KTtcbiAgICB3aWR0aDogJHsoeyBsaXN0V2lkdGggfSkgPT4gbGlzdFdpZHRoIHx8IGB2YXIoJHt0b2tlbnMud2lkdGh9KWB9O1xuICAgIGhlaWdodDogJHsoeyBsaXN0SGVpZ2h0IH0pID0+IChsaXN0SGVpZ2h0ID8gZ2V0Q29ycmVjdEhlaWdodChsaXN0SGVpZ2h0KSA6ICdhdXRvJyl9O1xuICAgIG92ZXJmbG93OiAkeyh7IGxpc3RPdmVyZmxvdyB9KSA9PiBsaXN0T3ZlcmZsb3cgfHwgJ2luaXRpYWwnfTtcblxuICAgIG1hcmdpbjogJHsoeyBpc0lubmVyVWwgfSkgPT4gKGlzSW5uZXJVbCA/IGBjYWxjKHZhcigke3Rva2Vucy5wYWRkaW5nfSkgKiAtMSkgMCAwIHZhcigke3Rva2Vucy5wYWRkaW5nfSlgIDogMCl9O1xuICAgIHBhZGRpbmc6IHZhcigke3Rva2Vucy5wYWRkaW5nfSk7XG5gO1xuXG5leHBvcnQgY29uc3QgYmFzZSA9IGNzc2BcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5gO1xuIl19 */"));
4
+ import { tokens, constants } from './Dropdown.tokens';
13
5
  export var Ul = /*#__PURE__*/_styled("ul", {
14
6
  target: "euqmbvx0",
15
7
  label: "plasma-new-hope__Ul"
16
- })("box-sizing:border-box;background:var(", tokens.background, ");box-shadow:var(", tokens.boxShadow, ");border-radius:var(", tokens.borderRadius, ");width:", function (_ref) {
8
+ })("box-sizing:border-box;width:", function (_ref) {
17
9
  var listWidth = _ref.listWidth;
18
10
  return listWidth || "var(".concat(tokens.width, ")");
19
11
  }, ";height:", function (_ref2) {
20
12
  var listHeight = _ref2.listHeight;
21
13
  return listHeight ? getCorrectHeight(listHeight) : 'auto';
22
- }, ";overflow:", function (_ref3) {
23
- var listOverflow = _ref3.listOverflow;
14
+ }, ";margin:", function (_ref3) {
15
+ var isInnerUl = _ref3.isInnerUl;
16
+ return isInnerUl ? "calc(var(".concat(tokens.padding, ") * -1) 0.125rem 0") : 0;
17
+ }, ";padding:var(", tokens.padding, ") 0;overflow:", function (_ref4) {
18
+ var listOverflow = _ref4.listOverflow;
24
19
  return listOverflow || 'initial';
25
- }, ";margin:", function (_ref4) {
26
- var isInnerUl = _ref4.isInnerUl;
27
- return isInnerUl ? "calc(var(".concat(tokens.padding, ") * -1) 0 0 var(").concat(tokens.padding, ")") : 0;
28
- }, ";padding:var(", tokens.padding, ");" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy1lbW90aW9uL2NvbXBvbmVudHMvRHJvcGRvd24vRHJvcGRvd24uc3R5bGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXVCRSIsImZpbGUiOiIuLi8uLi8uLi8uLi9zcmMtZW1vdGlvbi9jb21wb25lbnRzL0Ryb3Bkb3duL0Ryb3Bkb3duLnN0eWxlcy50cyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcblxuaW1wb3J0IHsgY29tcG9uZW50IH0gZnJvbSAnLi4vLi4vZW5naW5lcyc7XG5pbXBvcnQgeyBwb3BvdmVyQ29uZmlnLCBwb3BvdmVyQ2xhc3NlcyB9IGZyb20gJy4uL1BvcG92ZXInO1xuXG5pbXBvcnQgeyBnZXRDb3JyZWN0SGVpZ2h0IH0gZnJvbSAnLi91dGlscyc7XG5pbXBvcnQgeyBEcm9wZG93blByb3BzIH0gZnJvbSAnLi9Ecm9wZG93bi50eXBlcyc7XG5pbXBvcnQgeyB0b2tlbnMgfSBmcm9tICcuL0Ryb3Bkb3duLnRva2Vucyc7XG5cbmNvbnN0IFBvcG92ZXIgPSBjb21wb25lbnQocG9wb3ZlckNvbmZpZyk7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRQb3BvdmVyID0gc3R5bGVkKFBvcG92ZXIpYFxuICAgIC4ke1N0cmluZyhwb3BvdmVyQ2xhc3Nlcy53cmFwcGVyKX0sIC4ke1N0cmluZyhwb3BvdmVyQ2xhc3Nlcy50YXJnZXQpfSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbmA7XG5cbmV4cG9ydCBjb25zdCBVbCA9IHN0eWxlZC51bDx7XG4gICAgbGlzdEhlaWdodDogRHJvcGRvd25Qcm9wc1snbGlzdEhlaWdodCddO1xuICAgIGxpc3RPdmVyZmxvdzogRHJvcGRvd25Qcm9wc1snbGlzdE92ZXJmbG93J107XG4gICAgaXNJbm5lclVsPzogYm9vbGVhbjtcbiAgICBsaXN0V2lkdGg/OiBEcm9wZG93blByb3BzWydsaXN0V2lkdGgnXTtcbn0+YFxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cbiAgICBiYWNrZ3JvdW5kOiB2YXIoJHt0b2tlbnMuYmFja2dyb3VuZH0pO1xuICAgIGJveC1zaGFkb3c6IHZhcigke3Rva2Vucy5ib3hTaGFkb3d9KTtcblxuICAgIGJvcmRlci1yYWRpdXM6IHZhcigke3Rva2Vucy5ib3JkZXJSYWRpdXN9KTtcbiAgICB3aWR0aDogJHsoeyBsaXN0V2lkdGggfSkgPT4gbGlzdFdpZHRoIHx8IGB2YXIoJHt0b2tlbnMud2lkdGh9KWB9O1xuICAgIGhlaWdodDogJHsoeyBsaXN0SGVpZ2h0IH0pID0+IChsaXN0SGVpZ2h0ID8gZ2V0Q29ycmVjdEhlaWdodChsaXN0SGVpZ2h0KSA6ICdhdXRvJyl9O1xuICAgIG92ZXJmbG93OiAkeyh7IGxpc3RPdmVyZmxvdyB9KSA9PiBsaXN0T3ZlcmZsb3cgfHwgJ2luaXRpYWwnfTtcblxuICAgIG1hcmdpbjogJHsoeyBpc0lubmVyVWwgfSkgPT4gKGlzSW5uZXJVbCA/IGBjYWxjKHZhcigke3Rva2Vucy5wYWRkaW5nfSkgKiAtMSkgMCAwIHZhcigke3Rva2Vucy5wYWRkaW5nfSlgIDogMCl9O1xuICAgIHBhZGRpbmc6IHZhcigke3Rva2Vucy5wYWRkaW5nfSk7XG5gO1xuXG5leHBvcnQgY29uc3QgYmFzZSA9IGNzc2BcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5gO1xuIl19 */"));
29
- export var base = process.env.NODE_ENV === "production" ? {
30
- name: "1mufh2u-plasma-new-hope__base",
31
- styles: "display:inline-block;label:plasma-new-hope__base;"
32
- } : {
33
- name: "1mufh2u-plasma-new-hope__base",
34
- styles: "display:inline-block;label:plasma-new-hope__base;",
35
- map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy1lbW90aW9uL2NvbXBvbmVudHMvRHJvcGRvd24vRHJvcGRvd24uc3R5bGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXNDdUIiLCJmaWxlIjoiLi4vLi4vLi4vLi4vc3JjLWVtb3Rpb24vY29tcG9uZW50cy9Ecm9wZG93bi9Ecm9wZG93bi5zdHlsZXMudHMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5cbmltcG9ydCB7IGNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2VuZ2luZXMnO1xuaW1wb3J0IHsgcG9wb3ZlckNvbmZpZywgcG9wb3ZlckNsYXNzZXMgfSBmcm9tICcuLi9Qb3BvdmVyJztcblxuaW1wb3J0IHsgZ2V0Q29ycmVjdEhlaWdodCB9IGZyb20gJy4vdXRpbHMnO1xuaW1wb3J0IHsgRHJvcGRvd25Qcm9wcyB9IGZyb20gJy4vRHJvcGRvd24udHlwZXMnO1xuaW1wb3J0IHsgdG9rZW5zIH0gZnJvbSAnLi9Ecm9wZG93bi50b2tlbnMnO1xuXG5jb25zdCBQb3BvdmVyID0gY29tcG9uZW50KHBvcG92ZXJDb25maWcpO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkUG9wb3ZlciA9IHN0eWxlZChQb3BvdmVyKWBcbiAgICAuJHtTdHJpbmcocG9wb3ZlckNsYXNzZXMud3JhcHBlcil9LCAuJHtTdHJpbmcocG9wb3ZlckNsYXNzZXMudGFyZ2V0KX0ge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5gO1xuXG5leHBvcnQgY29uc3QgVWwgPSBzdHlsZWQudWw8e1xuICAgIGxpc3RIZWlnaHQ6IERyb3Bkb3duUHJvcHNbJ2xpc3RIZWlnaHQnXTtcbiAgICBsaXN0T3ZlcmZsb3c6IERyb3Bkb3duUHJvcHNbJ2xpc3RPdmVyZmxvdyddO1xuICAgIGlzSW5uZXJVbD86IGJvb2xlYW47XG4gICAgbGlzdFdpZHRoPzogRHJvcGRvd25Qcm9wc1snbGlzdFdpZHRoJ107XG59PmBcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXG4gICAgYmFja2dyb3VuZDogdmFyKCR7dG9rZW5zLmJhY2tncm91bmR9KTtcbiAgICBib3gtc2hhZG93OiB2YXIoJHt0b2tlbnMuYm94U2hhZG93fSk7XG5cbiAgICBib3JkZXItcmFkaXVzOiB2YXIoJHt0b2tlbnMuYm9yZGVyUmFkaXVzfSk7XG4gICAgd2lkdGg6ICR7KHsgbGlzdFdpZHRoIH0pID0+IGxpc3RXaWR0aCB8fCBgdmFyKCR7dG9rZW5zLndpZHRofSlgfTtcbiAgICBoZWlnaHQ6ICR7KHsgbGlzdEhlaWdodCB9KSA9PiAobGlzdEhlaWdodCA/IGdldENvcnJlY3RIZWlnaHQobGlzdEhlaWdodCkgOiAnYXV0bycpfTtcbiAgICBvdmVyZmxvdzogJHsoeyBsaXN0T3ZlcmZsb3cgfSkgPT4gbGlzdE92ZXJmbG93IHx8ICdpbml0aWFsJ307XG5cbiAgICBtYXJnaW46ICR7KHsgaXNJbm5lclVsIH0pID0+IChpc0lubmVyVWwgPyBgY2FsYyh2YXIoJHt0b2tlbnMucGFkZGluZ30pICogLTEpIDAgMCB2YXIoJHt0b2tlbnMucGFkZGluZ30pYCA6IDApfTtcbiAgICBwYWRkaW5nOiB2YXIoJHt0b2tlbnMucGFkZGluZ30pO1xuYDtcblxuZXhwb3J0IGNvbnN0IGJhc2UgPSBjc3NgXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuYDtcbiJdfQ== */",
36
- toString: _EMOTION_STRINGIFIED_CSS_ERROR__
37
- };
20
+ }, ";background:var(", constants.background, ");box-shadow:", constants.boxShadow, ";border-radius:var(", tokens.borderRadius, ");" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy1lbW90aW9uL2NvbXBvbmVudHMvRHJvcGRvd24vRHJvcGRvd24uc3R5bGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVlFIiwiZmlsZSI6Ii4uLy4uLy4uLy4uL3NyYy1lbW90aW9uL2NvbXBvbmVudHMvRHJvcGRvd24vRHJvcGRvd24uc3R5bGVzLnRzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xuaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xuXG5pbXBvcnQgeyBnZXRDb3JyZWN0SGVpZ2h0IH0gZnJvbSAnLi91dGlscyc7XG5pbXBvcnQgeyBEcm9wZG93blByb3BzIH0gZnJvbSAnLi9Ecm9wZG93bi50eXBlcyc7XG5pbXBvcnQgeyB0b2tlbnMsIGNvbnN0YW50cyB9IGZyb20gJy4vRHJvcGRvd24udG9rZW5zJztcblxuZXhwb3J0IGNvbnN0IFVsID0gc3R5bGVkLnVsPHtcbiAgICBsaXN0SGVpZ2h0OiBEcm9wZG93blByb3BzWydsaXN0SGVpZ2h0J107XG4gICAgbGlzdE92ZXJmbG93OiBEcm9wZG93blByb3BzWydsaXN0T3ZlcmZsb3cnXTtcbiAgICBsaXN0V2lkdGg/OiBEcm9wZG93blByb3BzWydsaXN0V2lkdGgnXTtcbiAgICBpc0lubmVyVWw/OiBib29sZWFuO1xufT5gXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB3aWR0aDogJHsoeyBsaXN0V2lkdGggfSkgPT4gbGlzdFdpZHRoIHx8IGB2YXIoJHt0b2tlbnMud2lkdGh9KWB9O1xuICAgIGhlaWdodDogJHsoeyBsaXN0SGVpZ2h0IH0pID0+IChsaXN0SGVpZ2h0ID8gZ2V0Q29ycmVjdEhlaWdodChsaXN0SGVpZ2h0KSA6ICdhdXRvJyl9O1xuICAgIG1hcmdpbjogJHsoeyBpc0lubmVyVWwgfSkgPT4gKGlzSW5uZXJVbCA/IGBjYWxjKHZhcigke3Rva2Vucy5wYWRkaW5nfSkgKiAtMSkgMC4xMjVyZW0gMGAgOiAwKX07XG4gICAgcGFkZGluZzogdmFyKCR7dG9rZW5zLnBhZGRpbmd9KSAwO1xuICAgIG92ZXJmbG93OiAkeyh7IGxpc3RPdmVyZmxvdyB9KSA9PiBsaXN0T3ZlcmZsb3cgfHwgJ2luaXRpYWwnfTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoJHtjb25zdGFudHMuYmFja2dyb3VuZH0pO1xuICAgIGJveC1zaGFkb3c6ICR7Y29uc3RhbnRzLmJveFNoYWRvd307XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKCR7dG9rZW5zLmJvcmRlclJhZGl1c30pO1xuYDtcblxuZXhwb3J0IGNvbnN0IGJhc2UgPSBjc3NgYDtcbiJdfQ== */"));
21
+ export var base = /*#__PURE__*/css(";label:plasma-new-hope__base;" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy1lbW90aW9uL2NvbXBvbmVudHMvRHJvcGRvd24vRHJvcGRvd24uc3R5bGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXdCdUIiLCJmaWxlIjoiLi4vLi4vLi4vLi4vc3JjLWVtb3Rpb24vY29tcG9uZW50cy9Ecm9wZG93bi9Ecm9wZG93bi5zdHlsZXMudHMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5cbmltcG9ydCB7IGdldENvcnJlY3RIZWlnaHQgfSBmcm9tICcuL3V0aWxzJztcbmltcG9ydCB7IERyb3Bkb3duUHJvcHMgfSBmcm9tICcuL0Ryb3Bkb3duLnR5cGVzJztcbmltcG9ydCB7IHRva2VucywgY29uc3RhbnRzIH0gZnJvbSAnLi9Ecm9wZG93bi50b2tlbnMnO1xuXG5leHBvcnQgY29uc3QgVWwgPSBzdHlsZWQudWw8e1xuICAgIGxpc3RIZWlnaHQ6IERyb3Bkb3duUHJvcHNbJ2xpc3RIZWlnaHQnXTtcbiAgICBsaXN0T3ZlcmZsb3c6IERyb3Bkb3duUHJvcHNbJ2xpc3RPdmVyZmxvdyddO1xuICAgIGxpc3RXaWR0aD86IERyb3Bkb3duUHJvcHNbJ2xpc3RXaWR0aCddO1xuICAgIGlzSW5uZXJVbD86IGJvb2xlYW47XG59PmBcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHdpZHRoOiAkeyh7IGxpc3RXaWR0aCB9KSA9PiBsaXN0V2lkdGggfHwgYHZhcigke3Rva2Vucy53aWR0aH0pYH07XG4gICAgaGVpZ2h0OiAkeyh7IGxpc3RIZWlnaHQgfSkgPT4gKGxpc3RIZWlnaHQgPyBnZXRDb3JyZWN0SGVpZ2h0KGxpc3RIZWlnaHQpIDogJ2F1dG8nKX07XG4gICAgbWFyZ2luOiAkeyh7IGlzSW5uZXJVbCB9KSA9PiAoaXNJbm5lclVsID8gYGNhbGModmFyKCR7dG9rZW5zLnBhZGRpbmd9KSAqIC0xKSAwLjEyNXJlbSAwYCA6IDApfTtcbiAgICBwYWRkaW5nOiB2YXIoJHt0b2tlbnMucGFkZGluZ30pIDA7XG4gICAgb3ZlcmZsb3c6ICR7KHsgbGlzdE92ZXJmbG93IH0pID0+IGxpc3RPdmVyZmxvdyB8fCAnaW5pdGlhbCd9O1xuICAgIGJhY2tncm91bmQ6IHZhcigke2NvbnN0YW50cy5iYWNrZ3JvdW5kfSk7XG4gICAgYm94LXNoYWRvdzogJHtjb25zdGFudHMuYm94U2hhZG93fTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoJHt0b2tlbnMuYm9yZGVyUmFkaXVzfSk7XG5gO1xuXG5leHBvcnQgY29uc3QgYmFzZSA9IGNzc2BgO1xuIl19 */"));
@@ -3,7 +3,7 @@ export var classes = {
3
3
  dropdownItemIsFocused: 'dropdown-item-is-focused',
4
4
  dropdownItemIsDisabled: 'dropdown-item-is-disabled',
5
5
  dropdownItemIsActive: 'dropdown-item-is-active',
6
- dropdownItemIsSelected: 'dropdownItemIsSelected'
6
+ dropdownItemIsSelected: 'dropdown-item-is-selected'
7
7
  };
8
8
  export var tokens = {
9
9
  background: '--plasma-dropdown-background',
@@ -14,6 +14,8 @@ export var tokens = {
14
14
  disclosureIconColor: '--plasma-dropdown-disclosure-icon-color',
15
15
  disabledOpacity: '--plasma-dropdown-disabled-opacity',
16
16
  focusColor: '--plasma-dropdown-focus-color',
17
+ // Old
18
+
17
19
  dividerColor: '--plasma-dropdown-divider-color',
18
20
  dividerMarginTop: '--plasma-dropdown-divider-margin-top',
19
21
  dividerMarginTopTight: '--plasma-dropdown-divider-margin-top-tight',
@@ -28,6 +30,7 @@ export var tokens = {
28
30
  itemBackgroundSelectedHover: '--plasma-dropdown-item-background-selected-hover',
29
31
  // Old
30
32
  itemColor: '--plasma-dropdown-item-color',
33
+ // Old
31
34
  itemColorSelected: '--plasma-dropdown-item-color-selected',
32
35
  // Old
33
36
  itemColorSelectedHover: '--plasma-dropdown-item-color-selected-hover',
@@ -46,11 +49,17 @@ export var tokens = {
46
49
  itemMarginLeft: '--plasma-dropdown-item-margin-left',
47
50
  // Old
48
51
  itemPaddingTop: '--plasma-dropdown-item-padding-top',
52
+ // Old
49
53
  itemPaddingTopTight: '--plasma-dropdown-item-padding-top-tight',
54
+ // Old
50
55
  itemPaddingRight: '--plasma-dropdown-item-padding-right',
56
+ // Old
51
57
  itemPaddingBottom: '--plasma-dropdown-item-padding-bottom',
58
+ // Old
52
59
  itemPaddingBottomTight: '--plasma-dropdown-item-padding-bottom-tight',
60
+ // Old
53
61
  itemPaddingLeft: '--plasma-dropdown-item-padding-left',
62
+ // Old
54
63
  itemContentLeftWidth: '--plasma-dropdown-item-content-left-width',
55
64
  // Old
56
65
  itemContentLeftColor: '--plasma-dropdown-item-content-left-color',
@@ -65,6 +74,20 @@ export var tokens = {
65
74
  itemFontWeightBold: '--plasma-dropdown-item-letter-spacing',
66
75
  itemFontLetterSpacing: '--plasma-dropdown-item-line-height',
67
76
  itemFontLineHeight: '--plasma-dropdown-item-font-weight',
77
+ itemPadding: '--plasma-dropdown-item-padding',
78
+ itemPaddingTight: '--plasma-dropdown-item-padding-tight',
79
+ cellPadding: '--plasma-dropdown-cell-padding',
80
+ cellPaddingLeftContent: '--plasma-dropdown-cell-padding-left-content',
81
+ cellPaddingContent: '--plasma-dropdown-cell-padding-content',
82
+ cellPaddingRightContent: '--plasma-dropdown-cell-padding-right-content',
83
+ cellTextboxGap: '--plasma-dropdown-cell-textbox-gap',
84
+ cellGap: '--plasma-dropdown-cell-gap',
85
+ cellTitleFontFamily: '--plasma-dropdown-cell-title-font-family',
86
+ cellTitleFontSize: '--plasma-dropdown-cell-title-font-size',
87
+ cellTitleFontStyle: '--plasma-dropdown-cell-title-font-style',
88
+ cellTitleFontWeight: '--plasma-dropdown-cell-title-font-weight',
89
+ cellTitleLetterSpacing: '--plasma-dropdown-cell-title-letter-spacing',
90
+ cellTitleLineHeight: '--plasma-dropdown-cell-title-line-height',
68
91
  // TODO: Remove below tokens as soon as they are no longer needed
69
92
  footerBackground: '--plasma-dropdown-footer-background',
70
93
  footerWidth: '--plasma-dropdown-footer-width',
@@ -128,4 +151,15 @@ export var tokens = {
128
151
  groupLabelMarginRight: '--plasma-dropdown-group-label-margin-right',
129
152
  groupLabelMarginBottom: '--plasma-dropdown-group-label-margin-bottom',
130
153
  groupLabelMarginLeft: '--plasma-dropdown-group-label-margin-left'
154
+ };
155
+ export var constants = {
156
+ focusColor: '--surface-accent',
157
+ background: '--surface-solid-card',
158
+ boxShadow: '0px 4px 14px -4px rgba(8, 8, 8, 0.08), 0px 1px 4px -1px rgba(0, 0, 0, 0.04)',
159
+ disclosureIconColor: '--text-secondary',
160
+ itemBackground: '--plasma-colors-transparent',
161
+ itemBackgroundHover: '--surface-transparent-secondary',
162
+ opacity: '0.4',
163
+ cellTitleColor: '--text-primary',
164
+ cellBackgroundColor: '--plasma-colors-transparent'
131
165
  };
@@ -0,0 +1,102 @@
1
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
2
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
3
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
4
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
5
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
6
+ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
7
+ import { flip, shift, useFloating, FloatingPortal, offset as offsetMiddleware, autoPlacement } from '@floating-ui/react';
8
+ import React, { forwardRef } from 'react';
9
+ import { safeUseId } from '@salutejs/plasma-core';
10
+ var FloatingPopover = /*#__PURE__*/forwardRef(function (_ref, ref) {
11
+ var target = _ref.target,
12
+ children = _ref.children,
13
+ opened = _ref.opened,
14
+ onToggle = _ref.onToggle,
15
+ placement = _ref.placement,
16
+ portal = _ref.portal,
17
+ _ref$offset = _ref.offset,
18
+ offset = _ref$offset === void 0 ? [0, 0] : _ref$offset,
19
+ isInner = _ref.isInner,
20
+ trigger = _ref.trigger;
21
+ var _useFloating = useFloating({
22
+ placement: placement === 'auto' ? undefined : placement,
23
+ open: opened,
24
+ middleware: [placement === 'auto' && autoPlacement(), offsetMiddleware({
25
+ mainAxis: offset[1],
26
+ crossAxis: offset[0]
27
+ }), flip({
28
+ fallbackAxisSideDirection: 'end'
29
+ }), shift()]
30
+ }),
31
+ refs = _useFloating.refs,
32
+ floatingStyles = _useFloating.floatingStyles;
33
+ var wrappedId = safeUseId();
34
+ var handleTargetClick = function handleTargetClick(event) {
35
+ if (trigger === 'hover') {
36
+ return;
37
+ }
38
+ if (onToggle) {
39
+ onToggle(!opened, event);
40
+ }
41
+ };
42
+ var handleTargetMouseEnter = function handleTargetMouseEnter(event) {
43
+ if (trigger === 'click' || opened) {
44
+ return;
45
+ }
46
+ onToggle(true, event);
47
+ };
48
+ var handleTargetMouseLeave = function handleTargetMouseLeave(event) {
49
+ if (event.relatedTarget instanceof HTMLElement && refs.floating.current instanceof HTMLElement) {
50
+ var _refs$floating$curren;
51
+ if (trigger === 'click' || !opened || event.relatedTarget && refs.floating && (_refs$floating$curren = refs.floating.current) !== null && _refs$floating$curren !== void 0 && _refs$floating$curren.contains(event.relatedTarget)) {
52
+ return;
53
+ }
54
+ onToggle(false, event);
55
+ }
56
+ };
57
+ var handleFloatingMouseLeave = function handleFloatingMouseLeave(event) {
58
+ if (event.relatedTarget instanceof HTMLElement && refs.reference.current instanceof HTMLElement) {
59
+ var _refs$reference$curre;
60
+ if (trigger === 'click' || !opened || event.relatedTarget && refs.reference && (_refs$reference$curre = refs.reference.current) !== null && _refs$reference$curre !== void 0 && _refs$reference$curre.contains(event.relatedTarget)) {
61
+ return;
62
+ }
63
+ onToggle(false, event);
64
+ }
65
+ };
66
+ return /*#__PURE__*/React.createElement("div", {
67
+ id: wrappedId,
68
+ style: {
69
+ display: isInner ? 'block' : 'inline-block'
70
+ },
71
+ ref: ref
72
+ }, /*#__PURE__*/React.createElement("div", {
73
+ ref: refs.setReference,
74
+ onClick: handleTargetClick,
75
+ onMouseEnter: handleTargetMouseEnter,
76
+ onMouseLeave: handleTargetMouseLeave
77
+ }, target), opened && /*#__PURE__*/React.createElement(FloatingPortal, getFloatingPortalProps(portal, wrappedId), /*#__PURE__*/React.createElement("div", {
78
+ ref: refs.setFloating,
79
+ onMouseLeave: handleFloatingMouseLeave,
80
+ style: _objectSpread(_objectSpread({}, floatingStyles), {}, {
81
+ zIndex: 1
82
+ })
83
+ }, children)));
84
+ });
85
+ // root - принимает ref контейнера портала.
86
+ // id - если есть портал - не используется, если портала нет - подставляется 'wrappedId'.
87
+ var getFloatingPortalProps = function getFloatingPortalProps(portal, wrappedId) {
88
+ if (!portal) {
89
+ return {
90
+ id: wrappedId
91
+ };
92
+ }
93
+ if (typeof portal === 'string') {
94
+ return {
95
+ id: portal
96
+ };
97
+ }
98
+ return {
99
+ root: portal
100
+ };
101
+ };
102
+ export { FloatingPopover };