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

Sign up to get free protection for your applications and to get access to all the features.
Files changed (269) hide show
  1. package/cjs/components/Combobox/ComboboxOld/Combobox.css +14 -28
  2. package/cjs/components/Combobox/ComboboxOld/Combobox.js +1 -2
  3. package/cjs/components/Combobox/ComboboxOld/Combobox.js.map +1 -1
  4. package/cjs/components/Combobox/ComboboxOld/ui/ComboboxDivider/ComboboxDivider.css +18 -32
  5. package/cjs/components/Combobox/ComboboxOld/ui/ComboboxDivider/ComboboxDivider.js +2 -3
  6. package/cjs/components/Combobox/ComboboxOld/ui/ComboboxDivider/ComboboxDivider.js.map +1 -1
  7. package/cjs/components/Combobox/ComboboxOld/ui/ComboboxFooter/ComboboxFooter.css +18 -32
  8. package/cjs/components/Combobox/ComboboxOld/ui/ComboboxFooter/ComboboxFooter.js +2 -3
  9. package/cjs/components/Combobox/ComboboxOld/ui/ComboboxFooter/ComboboxFooter.js.map +1 -1
  10. package/cjs/components/Combobox/ComboboxOld/ui/ComboboxGroup/ComboboxGroup.css +18 -32
  11. package/cjs/components/Combobox/ComboboxOld/ui/ComboboxGroup/ComboboxGroup.js +2 -3
  12. package/cjs/components/Combobox/ComboboxOld/ui/ComboboxGroup/ComboboxGroup.js.map +1 -1
  13. package/cjs/components/Combobox/ComboboxOld/ui/ComboboxHeader/ComboboxHeader.css +18 -32
  14. package/cjs/components/Combobox/ComboboxOld/ui/ComboboxHeader/ComboboxHeader.js +2 -3
  15. package/cjs/components/Combobox/ComboboxOld/ui/ComboboxHeader/ComboboxHeader.js.map +1 -1
  16. package/cjs/components/Dropdown/Dropdown.css +16 -30
  17. package/cjs/components/Dropdown/Dropdown.js +45 -67
  18. package/cjs/components/Dropdown/Dropdown.js.map +1 -1
  19. package/cjs/components/Dropdown/Dropdown.styles.js +27 -14
  20. package/cjs/components/Dropdown/Dropdown.styles.js.map +1 -1
  21. package/cjs/components/Dropdown/Dropdown.styles_1tihqkp.css +3 -0
  22. package/cjs/components/Dropdown/Dropdown.tokens.js +1 -24
  23. package/cjs/components/Dropdown/Dropdown.tokens.js.map +1 -1
  24. package/cjs/components/Dropdown/ui/DropdownInner/DropdownInner.js +52 -17
  25. package/cjs/components/Dropdown/ui/DropdownInner/DropdownInner.js.map +1 -1
  26. package/cjs/components/Dropdown/ui/DropdownItem/DropdownItem.css +6 -46
  27. package/cjs/components/Dropdown/ui/DropdownItem/DropdownItem.js +18 -29
  28. package/cjs/components/Dropdown/ui/DropdownItem/DropdownItem.js.map +1 -1
  29. package/cjs/components/Dropdown/ui/DropdownItem/DropdownItem.styles.js +31 -27
  30. package/cjs/components/Dropdown/ui/DropdownItem/DropdownItem.styles.js.map +1 -1
  31. package/cjs/components/Dropdown/ui/DropdownItem/DropdownItem.styles_blclup.css +6 -0
  32. package/cjs/components/Dropdown/ui/DropdownItemOld/DropdownItem.styles.js +1 -1
  33. package/cjs/components/Dropdown/ui/DropdownItemOld/{DropdownItem.styles_1lyg81y.css → DropdownItem.styles_12e50g5.css} +1 -1
  34. package/cjs/components/Dropdown/ui/DropdownItemOld/DropdownItemOld.css +4 -4
  35. package/cjs/components/Dropdown/utils/index.js.map +1 -1
  36. package/cjs/components/Notification/Notification.js +2 -2
  37. package/cjs/components/Notification/Notification.js.map +1 -1
  38. package/cjs/components/Notification/Notification.types.js.map +1 -1
  39. package/cjs/components/Notification/NotificationsPortal.js +4 -2
  40. package/cjs/components/Notification/NotificationsPortal.js.map +1 -1
  41. package/cjs/components/Notification/NotificationsProvider.js +3 -1
  42. package/cjs/components/Notification/NotificationsProvider.js.map +1 -1
  43. package/cjs/components/Select/utils/getCorrectHeight.js.map +1 -1
  44. package/cjs/hooks/useOutsideClick.js +1 -1
  45. package/cjs/hooks/useOutsideClick.js.map +1 -1
  46. package/cjs/index.css +14 -12
  47. package/cjs/index.js +1 -1
  48. package/emotion/cjs/components/Dropdown/Dropdown.js +37 -58
  49. package/emotion/cjs/components/Dropdown/Dropdown.styles.js +25 -9
  50. package/emotion/cjs/components/Dropdown/Dropdown.tokens.js +2 -36
  51. package/emotion/cjs/components/Dropdown/ui/DropdownInner/DropdownInner.js +51 -17
  52. package/emotion/cjs/components/Dropdown/ui/DropdownItem/DropdownItem.js +18 -29
  53. package/emotion/cjs/components/Dropdown/ui/DropdownItem/DropdownItem.styles.js +41 -21
  54. package/emotion/cjs/components/Dropdown/utils/index.js +1 -23
  55. package/emotion/cjs/components/Notification/Notification.js +2 -2
  56. package/emotion/cjs/components/Notification/Notification.template-doc.mdx +15 -7
  57. package/emotion/cjs/components/Notification/NotificationsPortal.js +5 -3
  58. package/emotion/cjs/components/Notification/NotificationsProvider.js +3 -1
  59. package/emotion/cjs/components/Notification/index.js +4 -4
  60. package/emotion/cjs/examples/plasma_b2c/components/Dropdown/Dropdown.config.js +5 -5
  61. package/emotion/cjs/examples/plasma_b2c/components/Dropdown/Dropdown.stories.tsx +5 -6
  62. package/emotion/cjs/examples/plasma_b2c/components/Notification/Notification.js +5 -3
  63. package/emotion/cjs/examples/plasma_b2c/components/Notification/Notification.stories.tsx +25 -4
  64. package/emotion/cjs/examples/plasma_web/components/Dropdown/Dropdown.config.js +5 -5
  65. package/emotion/cjs/examples/plasma_web/components/Dropdown/Dropdown.stories.tsx +5 -6
  66. package/emotion/cjs/examples/plasma_web/components/Notification/Notification.js +5 -3
  67. package/emotion/cjs/examples/plasma_web/components/Notification/Notification.stories.tsx +25 -4
  68. package/emotion/cjs/hooks/useOutsideClick.js +1 -1
  69. package/emotion/es/components/Dropdown/Dropdown.js +40 -60
  70. package/emotion/es/components/Dropdown/Dropdown.styles.js +25 -9
  71. package/emotion/es/components/Dropdown/Dropdown.tokens.js +1 -35
  72. package/emotion/es/components/Dropdown/ui/DropdownInner/DropdownInner.js +52 -18
  73. package/emotion/es/components/Dropdown/ui/DropdownItem/DropdownItem.js +20 -31
  74. package/emotion/es/components/Dropdown/ui/DropdownItem/DropdownItem.styles.js +42 -22
  75. package/emotion/es/components/Dropdown/utils/index.js +1 -4
  76. package/emotion/es/components/Notification/Notification.js +1 -1
  77. package/emotion/es/components/Notification/Notification.template-doc.mdx +15 -7
  78. package/emotion/es/components/Notification/NotificationsPortal.js +5 -3
  79. package/emotion/es/components/Notification/NotificationsProvider.js +3 -1
  80. package/emotion/es/components/Notification/index.js +1 -1
  81. package/emotion/es/examples/plasma_b2c/components/Dropdown/Dropdown.config.js +6 -6
  82. package/emotion/es/examples/plasma_b2c/components/Dropdown/Dropdown.stories.tsx +5 -6
  83. package/emotion/es/examples/plasma_b2c/components/Notification/Notification.js +6 -4
  84. package/emotion/es/examples/plasma_b2c/components/Notification/Notification.stories.tsx +25 -4
  85. package/emotion/es/examples/plasma_web/components/Dropdown/Dropdown.config.js +6 -6
  86. package/emotion/es/examples/plasma_web/components/Dropdown/Dropdown.stories.tsx +5 -6
  87. package/emotion/es/examples/plasma_web/components/Notification/Notification.js +6 -4
  88. package/emotion/es/examples/plasma_web/components/Notification/Notification.stories.tsx +25 -4
  89. package/emotion/es/hooks/useOutsideClick.js +1 -1
  90. package/es/components/Combobox/ComboboxOld/Combobox.css +14 -28
  91. package/es/components/Combobox/ComboboxOld/Combobox.js +1 -2
  92. package/es/components/Combobox/ComboboxOld/Combobox.js.map +1 -1
  93. package/es/components/Combobox/ComboboxOld/ui/ComboboxDivider/ComboboxDivider.css +18 -32
  94. package/es/components/Combobox/ComboboxOld/ui/ComboboxDivider/ComboboxDivider.js +2 -3
  95. package/es/components/Combobox/ComboboxOld/ui/ComboboxDivider/ComboboxDivider.js.map +1 -1
  96. package/es/components/Combobox/ComboboxOld/ui/ComboboxFooter/ComboboxFooter.css +18 -32
  97. package/es/components/Combobox/ComboboxOld/ui/ComboboxFooter/ComboboxFooter.js +2 -3
  98. package/es/components/Combobox/ComboboxOld/ui/ComboboxFooter/ComboboxFooter.js.map +1 -1
  99. package/es/components/Combobox/ComboboxOld/ui/ComboboxGroup/ComboboxGroup.css +18 -32
  100. package/es/components/Combobox/ComboboxOld/ui/ComboboxGroup/ComboboxGroup.js +2 -3
  101. package/es/components/Combobox/ComboboxOld/ui/ComboboxGroup/ComboboxGroup.js.map +1 -1
  102. package/es/components/Combobox/ComboboxOld/ui/ComboboxHeader/ComboboxHeader.css +18 -32
  103. package/es/components/Combobox/ComboboxOld/ui/ComboboxHeader/ComboboxHeader.js +2 -3
  104. package/es/components/Combobox/ComboboxOld/ui/ComboboxHeader/ComboboxHeader.js.map +1 -1
  105. package/es/components/Dropdown/Dropdown.css +16 -30
  106. package/es/components/Dropdown/Dropdown.js +47 -68
  107. package/es/components/Dropdown/Dropdown.js.map +1 -1
  108. package/es/components/Dropdown/Dropdown.styles.js +27 -15
  109. package/es/components/Dropdown/Dropdown.styles.js.map +1 -1
  110. package/es/components/Dropdown/Dropdown.styles_1tihqkp.css +3 -0
  111. package/es/components/Dropdown/Dropdown.tokens.js +1 -24
  112. package/es/components/Dropdown/Dropdown.tokens.js.map +1 -1
  113. package/es/components/Dropdown/ui/DropdownInner/DropdownInner.js +53 -18
  114. package/es/components/Dropdown/ui/DropdownInner/DropdownInner.js.map +1 -1
  115. package/es/components/Dropdown/ui/DropdownItem/DropdownItem.css +6 -46
  116. package/es/components/Dropdown/ui/DropdownItem/DropdownItem.js +20 -31
  117. package/es/components/Dropdown/ui/DropdownItem/DropdownItem.js.map +1 -1
  118. package/es/components/Dropdown/ui/DropdownItem/DropdownItem.styles.js +29 -26
  119. package/es/components/Dropdown/ui/DropdownItem/DropdownItem.styles.js.map +1 -1
  120. package/es/components/Dropdown/ui/DropdownItem/DropdownItem.styles_blclup.css +6 -0
  121. package/es/components/Dropdown/ui/DropdownItemOld/DropdownItem.styles.js +1 -1
  122. package/es/components/Dropdown/ui/DropdownItemOld/{DropdownItem.styles_1lyg81y.css → DropdownItem.styles_12e50g5.css} +1 -1
  123. package/es/components/Dropdown/ui/DropdownItemOld/DropdownItemOld.css +4 -4
  124. package/es/components/Dropdown/utils/index.js.map +1 -1
  125. package/es/components/Notification/Notification.js +2 -2
  126. package/es/components/Notification/Notification.js.map +1 -1
  127. package/es/components/Notification/Notification.types.js.map +1 -1
  128. package/es/components/Notification/NotificationsPortal.js +4 -2
  129. package/es/components/Notification/NotificationsPortal.js.map +1 -1
  130. package/es/components/Notification/NotificationsProvider.js +3 -1
  131. package/es/components/Notification/NotificationsProvider.js.map +1 -1
  132. package/es/components/Select/utils/getCorrectHeight.js.map +1 -1
  133. package/es/hooks/useOutsideClick.js +1 -1
  134. package/es/hooks/useOutsideClick.js.map +1 -1
  135. package/es/index.css +14 -12
  136. package/es/index.js +1 -1
  137. package/package.json +2 -2
  138. package/styled-components/cjs/components/Dropdown/Dropdown.js +37 -58
  139. package/styled-components/cjs/components/Dropdown/Dropdown.styles.js +15 -9
  140. package/styled-components/cjs/components/Dropdown/Dropdown.tokens.js +2 -36
  141. package/styled-components/cjs/components/Dropdown/ui/DropdownInner/DropdownInner.js +51 -17
  142. package/styled-components/cjs/components/Dropdown/ui/DropdownItem/DropdownItem.js +18 -29
  143. package/styled-components/cjs/components/Dropdown/ui/DropdownItem/DropdownItem.styles.js +19 -17
  144. package/styled-components/cjs/components/Dropdown/utils/index.js +1 -23
  145. package/styled-components/cjs/components/Notification/Notification.js +2 -2
  146. package/styled-components/cjs/components/Notification/Notification.template-doc.mdx +15 -7
  147. package/styled-components/cjs/components/Notification/NotificationsPortal.js +4 -2
  148. package/styled-components/cjs/components/Notification/NotificationsProvider.js +3 -1
  149. package/styled-components/cjs/components/Notification/index.js +4 -4
  150. package/styled-components/cjs/examples/plasma_b2c/components/Dropdown/Dropdown.config.js +5 -5
  151. package/styled-components/cjs/examples/plasma_b2c/components/Dropdown/Dropdown.stories.tsx +5 -6
  152. package/styled-components/cjs/examples/plasma_b2c/components/Notification/Notification.js +5 -3
  153. package/styled-components/cjs/examples/plasma_b2c/components/Notification/Notification.stories.tsx +25 -4
  154. package/styled-components/cjs/examples/plasma_web/components/Dropdown/Dropdown.config.js +5 -5
  155. package/styled-components/cjs/examples/plasma_web/components/Dropdown/Dropdown.stories.tsx +5 -6
  156. package/styled-components/cjs/examples/plasma_web/components/Notification/Notification.js +5 -3
  157. package/styled-components/cjs/examples/plasma_web/components/Notification/Notification.stories.tsx +25 -4
  158. package/styled-components/cjs/hooks/useOutsideClick.js +1 -1
  159. package/styled-components/es/components/Dropdown/Dropdown.js +40 -60
  160. package/styled-components/es/components/Dropdown/Dropdown.styles.js +15 -9
  161. package/styled-components/es/components/Dropdown/Dropdown.tokens.js +1 -35
  162. package/styled-components/es/components/Dropdown/ui/DropdownInner/DropdownInner.js +52 -18
  163. package/styled-components/es/components/Dropdown/ui/DropdownItem/DropdownItem.js +20 -31
  164. package/styled-components/es/components/Dropdown/ui/DropdownItem/DropdownItem.styles.js +20 -18
  165. package/styled-components/es/components/Dropdown/utils/index.js +1 -4
  166. package/styled-components/es/components/Notification/Notification.js +1 -1
  167. package/styled-components/es/components/Notification/Notification.template-doc.mdx +15 -7
  168. package/styled-components/es/components/Notification/NotificationsPortal.js +4 -2
  169. package/styled-components/es/components/Notification/NotificationsProvider.js +3 -1
  170. package/styled-components/es/components/Notification/index.js +1 -1
  171. package/styled-components/es/examples/plasma_b2c/components/Dropdown/Dropdown.config.js +6 -6
  172. package/styled-components/es/examples/plasma_b2c/components/Dropdown/Dropdown.stories.tsx +5 -6
  173. package/styled-components/es/examples/plasma_b2c/components/Notification/Notification.js +6 -4
  174. package/styled-components/es/examples/plasma_b2c/components/Notification/Notification.stories.tsx +25 -4
  175. package/styled-components/es/examples/plasma_web/components/Dropdown/Dropdown.config.js +6 -6
  176. package/styled-components/es/examples/plasma_web/components/Dropdown/Dropdown.stories.tsx +5 -6
  177. package/styled-components/es/examples/plasma_web/components/Notification/Notification.js +6 -4
  178. package/styled-components/es/examples/plasma_web/components/Notification/Notification.stories.tsx +25 -4
  179. package/styled-components/es/hooks/useOutsideClick.js +1 -1
  180. package/types/components/Combobox/ComboboxOld/Combobox.types.d.ts +1 -2
  181. package/types/components/Combobox/ComboboxOld/Combobox.types.d.ts.map +1 -1
  182. package/types/components/Dropdown/Dropdown.d.ts +1 -2
  183. package/types/components/Dropdown/Dropdown.d.ts.map +1 -1
  184. package/types/components/Dropdown/Dropdown.styles.d.ts +6 -1
  185. package/types/components/Dropdown/Dropdown.styles.d.ts.map +1 -1
  186. package/types/components/Dropdown/Dropdown.tokens.d.ts +0 -25
  187. package/types/components/Dropdown/Dropdown.tokens.d.ts.map +1 -1
  188. package/types/components/Dropdown/Dropdown.types.d.ts +4 -30
  189. package/types/components/Dropdown/Dropdown.types.d.ts.map +1 -1
  190. package/types/components/Dropdown/index.d.ts +1 -1
  191. package/types/components/Dropdown/index.d.ts.map +1 -1
  192. package/types/components/Dropdown/ui/DropdownInner/DropdownInner.d.ts.map +1 -1
  193. package/types/components/Dropdown/ui/DropdownInner/DropdownInner.type.d.ts +12 -1
  194. package/types/components/Dropdown/ui/DropdownInner/DropdownInner.type.d.ts.map +1 -1
  195. package/types/components/Dropdown/ui/DropdownItem/DropdownItem.d.ts.map +1 -1
  196. package/types/components/Dropdown/ui/DropdownItem/DropdownItem.styles.d.ts +3 -32
  197. package/types/components/Dropdown/ui/DropdownItem/DropdownItem.styles.d.ts.map +1 -1
  198. package/types/components/Dropdown/ui/DropdownItem/DropdownItem.type.d.ts +14 -1
  199. package/types/components/Dropdown/ui/DropdownItem/DropdownItem.type.d.ts.map +1 -1
  200. package/types/components/Dropdown/utils/index.d.ts +0 -3
  201. package/types/components/Dropdown/utils/index.d.ts.map +1 -1
  202. package/types/components/Notification/Notification.d.ts +3 -3
  203. package/types/components/Notification/Notification.d.ts.map +1 -1
  204. package/types/components/Notification/Notification.types.d.ts +11 -5
  205. package/types/components/Notification/Notification.types.d.ts.map +1 -1
  206. package/types/components/Notification/NotificationsProvider.d.ts +4 -3
  207. package/types/components/Notification/NotificationsProvider.d.ts.map +1 -1
  208. package/types/components/Notification/index.d.ts +2 -2
  209. package/types/components/Notification/index.d.ts.map +1 -1
  210. package/types/components/Select/utils/getCorrectHeight.d.ts +2 -2
  211. package/types/components/Select/utils/getCorrectHeight.d.ts.map +1 -1
  212. package/types/examples/plasma_b2c/components/Dropdown/Dropdown.config.d.ts +3 -3
  213. package/types/examples/plasma_b2c/components/Dropdown/Dropdown.config.d.ts.map +1 -1
  214. package/types/examples/plasma_b2c/components/Dropdown/Dropdown.d.ts +4 -4
  215. package/types/examples/plasma_b2c/components/Dropdown/Dropdown.d.ts.map +1 -1
  216. package/types/examples/plasma_b2c/components/Notification/Notification.d.ts +4 -2
  217. package/types/examples/plasma_b2c/components/Notification/Notification.d.ts.map +1 -1
  218. package/types/examples/plasma_web/components/Dropdown/Dropdown.config.d.ts +3 -3
  219. package/types/examples/plasma_web/components/Dropdown/Dropdown.config.d.ts.map +1 -1
  220. package/types/examples/plasma_web/components/Dropdown/Dropdown.d.ts +4 -4
  221. package/types/examples/plasma_web/components/Dropdown/Dropdown.d.ts.map +1 -1
  222. package/types/examples/plasma_web/components/Notification/Notification.d.ts +4 -13
  223. package/types/examples/plasma_web/components/Notification/Notification.d.ts.map +1 -1
  224. package/types/hooks/useOutsideClick.d.ts +1 -1
  225. package/types/hooks/useOutsideClick.d.ts.map +1 -1
  226. package/cjs/components/Dropdown/Dropdown.styles_18f0qpm.css +0 -2
  227. package/cjs/components/Dropdown/FloatingPopover.js +0 -104
  228. package/cjs/components/Dropdown/FloatingPopover.js.map +0 -1
  229. package/cjs/components/Dropdown/ui/DropdownItem/DropdownItem.styles_17va0nk.css +0 -5
  230. package/cjs/components/Dropdown/utils/getItemByFocused.js +0 -13
  231. package/cjs/components/Dropdown/utils/getItemByFocused.js.map +0 -1
  232. package/cjs/components/Dropdown/utils/getItemId.js +0 -10
  233. package/cjs/components/Dropdown/utils/getItemId.js.map +0 -1
  234. package/cjs/components/Dropdown/utils/getPlacement.js +0 -16
  235. package/cjs/components/Dropdown/utils/getPlacement.js.map +0 -1
  236. package/emotion/cjs/components/Dropdown/FloatingPopover.js +0 -109
  237. package/emotion/cjs/components/Dropdown/utils/getItemByFocused.js +0 -12
  238. package/emotion/cjs/components/Dropdown/utils/getItemId.js +0 -9
  239. package/emotion/cjs/components/Dropdown/utils/getPlacement.js +0 -15
  240. package/emotion/es/components/Dropdown/FloatingPopover.js +0 -102
  241. package/emotion/es/components/Dropdown/utils/getItemByFocused.js +0 -6
  242. package/emotion/es/components/Dropdown/utils/getItemId.js +0 -3
  243. package/emotion/es/components/Dropdown/utils/getPlacement.js +0 -9
  244. package/es/components/Dropdown/Dropdown.styles_18f0qpm.css +0 -2
  245. package/es/components/Dropdown/FloatingPopover.js +0 -100
  246. package/es/components/Dropdown/FloatingPopover.js.map +0 -1
  247. package/es/components/Dropdown/ui/DropdownItem/DropdownItem.styles_17va0nk.css +0 -5
  248. package/es/components/Dropdown/utils/getItemByFocused.js +0 -9
  249. package/es/components/Dropdown/utils/getItemByFocused.js.map +0 -1
  250. package/es/components/Dropdown/utils/getItemId.js +0 -6
  251. package/es/components/Dropdown/utils/getItemId.js.map +0 -1
  252. package/es/components/Dropdown/utils/getPlacement.js +0 -12
  253. package/es/components/Dropdown/utils/getPlacement.js.map +0 -1
  254. package/styled-components/cjs/components/Dropdown/FloatingPopover.js +0 -109
  255. package/styled-components/cjs/components/Dropdown/utils/getItemByFocused.js +0 -12
  256. package/styled-components/cjs/components/Dropdown/utils/getItemId.js +0 -9
  257. package/styled-components/cjs/components/Dropdown/utils/getPlacement.js +0 -15
  258. package/styled-components/es/components/Dropdown/FloatingPopover.js +0 -102
  259. package/styled-components/es/components/Dropdown/utils/getItemByFocused.js +0 -6
  260. package/styled-components/es/components/Dropdown/utils/getItemId.js +0 -3
  261. package/styled-components/es/components/Dropdown/utils/getPlacement.js +0 -9
  262. package/types/components/Dropdown/FloatingPopover.d.ts +0 -5
  263. package/types/components/Dropdown/FloatingPopover.d.ts.map +0 -1
  264. package/types/components/Dropdown/utils/getItemByFocused.d.ts +0 -4
  265. package/types/components/Dropdown/utils/getItemByFocused.d.ts.map +0 -1
  266. package/types/components/Dropdown/utils/getItemId.d.ts +0 -2
  267. package/types/components/Dropdown/utils/getItemId.d.ts.map +0 -1
  268. package/types/components/Dropdown/utils/getPlacement.d.ts +0 -3
  269. package/types/components/Dropdown/utils/getPlacement.d.ts.map +0 -1
@@ -8,33 +8,30 @@ 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, { createContext, forwardRef, useReducer, useRef } from 'react';
12
- import { safeUseId } from '@salutejs/plasma-core';
13
- import { cx } from '../../utils';
14
- import { useOutsideClick } from '../../hooks';
11
+ import React, { forwardRef, useReducer } from 'react';
12
+ import { cx, getPlacements } from '../../utils';
15
13
  import { pathReducer } from './reducers/pathReducer';
16
14
  import { focusedPathReducer } from './reducers/focusedPathReducer';
17
15
  import { DropdownInner } from './ui';
18
16
  import { base as viewCSS } from './variations/_view/base';
19
17
  import { base as sizeCSS } from './variations/_size/base';
20
- import { Ul, base } from './Dropdown.styles';
21
- import { childrenWithProps, getItemByFocused, getItemId, getPlacement } from './utils';
18
+ import { Ul, StyledPopover, base } from './Dropdown.styles';
19
+ import { childrenWithProps } from './utils';
22
20
  import { classes } from './Dropdown.tokens';
23
21
  import { useKeyNavigation } from './hooks/useKeyboardNavigation';
24
22
  import { useHashMaps } from './hooks/useHashMaps';
25
- import { FloatingPopover } from './FloatingPopover';
26
- export var Context = /*#__PURE__*/createContext({});
27
23
 
28
24
  /**
29
25
  * Выпадающий список.
30
26
  */
31
27
  export var dropdownRoot = function dropdownRoot(Root) {
32
28
  return /*#__PURE__*/forwardRef(function (_ref, ref) {
33
- var _getItemByFocused;
34
29
  var items = _ref.items,
35
30
  children = _ref.children,
36
- placement = _ref.placement,
37
- offset = _ref.offset,
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,
38
35
  _ref$closeOnOverlayCl = _ref.closeOnOverlayClick,
39
36
  closeOnOverlayClick = _ref$closeOnOverlayCl === void 0 ? true : _ref$closeOnOverlayCl,
40
37
  onToggle = _ref.onToggle,
@@ -71,25 +68,6 @@ export var dropdownRoot = function dropdownRoot(Root) {
71
68
  _useHashMaps2 = _slicedToArray(_useHashMaps, 2),
72
69
  pathMap = _useHashMaps2[0],
73
70
  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);
93
71
  var handleGlobalToggle = function handleGlobalToggle(opened, event) {
94
72
  if (opened) {
95
73
  dispatchPath({
@@ -121,64 +99,66 @@ export var dropdownRoot = function dropdownRoot(Root) {
121
99
  }),
122
100
  onKeyDown = _useKeyNavigation.onKeyDown;
123
101
  var isCurrentListOpen = Boolean(path[0]);
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,
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, {
140
110
  opened: isCurrentListOpen,
141
111
  onToggle: handleGlobalToggle,
142
- placement: getPlacement(placement),
143
112
  offset: offset,
144
- portal: portal,
113
+ placement: getPlacements(placement),
145
114
  trigger: trigger,
115
+ closeOnOverlayClick: closeOnOverlayClick,
116
+ isFocusTrapped: false,
146
117
  target: childrenWithProps(children, {
147
118
  role: 'combobox',
148
- 'aria-controls': "".concat(treeId, "_tree_level_1"),
119
+ 'aria-controls': 'tree_level_1',
149
120
  'aria-expanded': isCurrentListOpen,
150
- 'aria-activedescendant': activeDescendantItemValue ? getItemId(treeId, activeDescendantItemValue.toString()) : '',
121
+ 'aria-activedescendant': getActiveDescendant(),
151
122
  onKeyDown: onKeyDown
152
- })
123
+ }),
124
+ preventOverflow: false,
125
+ usePortal: Boolean(portal),
126
+ frame: portal
153
127
  }, /*#__PURE__*/React.createElement(Root, _extends({
154
128
  className: cx(className, classes.dropdownRoot),
155
129
  ref: ref,
156
130
  view: view,
157
- size: size,
158
- style: {
159
- display: 'inline-block'
160
- }
131
+ size: size
161
132
  }, rest), /*#__PURE__*/React.createElement(Ul, {
162
- ref: targetRef,
163
- id: "".concat(treeId, "_tree_level_1"),
164
- role: "tree",
165
133
  listHeight: listHeight,
166
134
  listOverflow: listOverflow,
135
+ role: "tree",
136
+ id: "tree_level_1",
167
137
  listWidth: listWidth
168
138
  }, items.map(function (item, index) {
169
139
  return /*#__PURE__*/React.createElement(DropdownInner, {
170
140
  key: "".concat(index, "/0"),
171
141
  item: item,
172
142
  currentLevel: 0,
143
+ focusedPath: focusedPath,
173
144
  trigger: trigger,
174
145
  path: path,
175
146
  dispatchPath: dispatchPath,
176
147
  index: index,
148
+ itemRole: itemRole,
177
149
  listHeight: listHeight,
178
150
  listOverflow: listOverflow,
179
- listWidth: listWidth
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
180
160
  });
181
- })))));
161
+ }))));
182
162
  });
183
163
  };
184
164
  export var dropdownConfig = {
@@ -1,20 +1,26 @@
1
1
  import styled from 'styled-components';
2
2
  import { css } from 'styled-components';
3
+ import { component } from '../../engines';
4
+ import { popoverConfig, popoverClasses } from '../Popover';
3
5
  import { getCorrectHeight } from './utils';
4
- import { tokens, constants } from './Dropdown.tokens';
5
- export var Ul = /*#__PURE__*/styled.ul.withConfig({
6
+ import { tokens } from './Dropdown.tokens';
7
+ var Popover = /*#__PURE__*/component(popoverConfig);
8
+ export var StyledPopover = /*#__PURE__*/styled(Popover).withConfig({
6
9
  componentId: "plasma-new-hope__sc-13ezpo5-0"
7
- })(["box-sizing:border-box;width:", ";height:", ";margin:", ";padding:var(", ") 0;overflow:", ";background:var(", ");box-shadow:", ";border-radius:var(", ");"], function (_ref) {
10
+ })([".", ",.", "{display:block;}"], /*#__PURE__*/String(popoverClasses.wrapper), /*#__PURE__*/String(popoverClasses.target));
11
+ export var Ul = /*#__PURE__*/styled.ul.withConfig({
12
+ componentId: "plasma-new-hope__sc-13ezpo5-1"
13
+ })(["box-sizing:border-box;background:var(", ");box-shadow:var(", ");border-radius:var(", ");width:", ";height:", ";overflow:", ";margin:", ";padding:var(", ");"], tokens.background, tokens.boxShadow, tokens.borderRadius, function (_ref) {
8
14
  var listWidth = _ref.listWidth;
9
15
  return listWidth || "var(".concat(tokens.width, ")");
10
16
  }, function (_ref2) {
11
17
  var listHeight = _ref2.listHeight;
12
18
  return listHeight ? getCorrectHeight(listHeight) : 'auto';
13
19
  }, function (_ref3) {
14
- var isInnerUl = _ref3.isInnerUl;
15
- return isInnerUl ? "calc(var(".concat(tokens.padding, ") * -1) 0.125rem 0") : 0;
16
- }, tokens.padding, function (_ref4) {
17
- var listOverflow = _ref4.listOverflow;
20
+ var listOverflow = _ref3.listOverflow;
18
21
  return listOverflow || 'initial';
19
- }, constants.background, constants.boxShadow, tokens.borderRadius);
20
- export var base = /*#__PURE__*/css([""]);
22
+ }, function (_ref4) {
23
+ var isInnerUl = _ref4.isInnerUl;
24
+ return isInnerUl ? "calc(var(".concat(tokens.padding, ") * -1) 0 0 var(").concat(tokens.padding, ")") : 0;
25
+ }, tokens.padding);
26
+ export var base = /*#__PURE__*/css(["display:inline-block;"]);
@@ -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: 'dropdown-item-is-selected'
6
+ dropdownItemIsSelected: 'dropdownItemIsSelected'
7
7
  };
8
8
  export var tokens = {
9
9
  background: '--plasma-dropdown-background',
@@ -14,8 +14,6 @@ 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
-
19
17
  dividerColor: '--plasma-dropdown-divider-color',
20
18
  dividerMarginTop: '--plasma-dropdown-divider-margin-top',
21
19
  dividerMarginTopTight: '--plasma-dropdown-divider-margin-top-tight',
@@ -30,7 +28,6 @@ export var tokens = {
30
28
  itemBackgroundSelectedHover: '--plasma-dropdown-item-background-selected-hover',
31
29
  // Old
32
30
  itemColor: '--plasma-dropdown-item-color',
33
- // Old
34
31
  itemColorSelected: '--plasma-dropdown-item-color-selected',
35
32
  // Old
36
33
  itemColorSelectedHover: '--plasma-dropdown-item-color-selected-hover',
@@ -49,17 +46,11 @@ export var tokens = {
49
46
  itemMarginLeft: '--plasma-dropdown-item-margin-left',
50
47
  // Old
51
48
  itemPaddingTop: '--plasma-dropdown-item-padding-top',
52
- // Old
53
49
  itemPaddingTopTight: '--plasma-dropdown-item-padding-top-tight',
54
- // Old
55
50
  itemPaddingRight: '--plasma-dropdown-item-padding-right',
56
- // Old
57
51
  itemPaddingBottom: '--plasma-dropdown-item-padding-bottom',
58
- // Old
59
52
  itemPaddingBottomTight: '--plasma-dropdown-item-padding-bottom-tight',
60
- // Old
61
53
  itemPaddingLeft: '--plasma-dropdown-item-padding-left',
62
- // Old
63
54
  itemContentLeftWidth: '--plasma-dropdown-item-content-left-width',
64
55
  // Old
65
56
  itemContentLeftColor: '--plasma-dropdown-item-content-left-color',
@@ -74,20 +65,6 @@ export var tokens = {
74
65
  itemFontWeightBold: '--plasma-dropdown-item-letter-spacing',
75
66
  itemFontLetterSpacing: '--plasma-dropdown-item-line-height',
76
67
  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',
91
68
  // TODO: Remove below tokens as soon as they are no longer needed
92
69
  footerBackground: '--plasma-dropdown-footer-background',
93
70
  footerWidth: '--plasma-dropdown-footer-width',
@@ -151,15 +128,4 @@ export var tokens = {
151
128
  groupLabelMarginRight: '--plasma-dropdown-group-label-margin-right',
152
129
  groupLabelMarginBottom: '--plasma-dropdown-group-label-margin-bottom',
153
130
  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'
165
131
  };
@@ -1,18 +1,26 @@
1
1
  import React from 'react';
2
- import { safeUseId } from '@salutejs/plasma-core';
3
2
  import { DropdownItem } from '..';
4
- import { Ul } from '../../Dropdown.styles';
5
- import { FloatingPopover } from '../../FloatingPopover';
3
+ import { Ul, StyledPopover } from '../../Dropdown.styles';
6
4
  var DropdownInner = function DropdownInner(_ref) {
7
5
  var item = _ref.item,
8
6
  currentLevel = _ref.currentLevel,
7
+ focusedPath = _ref.focusedPath,
9
8
  path = _ref.path,
10
9
  dispatchPath = _ref.dispatchPath,
11
10
  index = _ref.index,
12
11
  trigger = _ref.trigger,
12
+ itemRole = _ref.itemRole,
13
13
  listHeight = _ref.listHeight,
14
14
  listOverflow = _ref.listOverflow,
15
- listWidth = _ref.listWidth;
15
+ handleGlobalToggle = _ref.handleGlobalToggle,
16
+ closeOnSelect = _ref.closeOnSelect,
17
+ onHover = _ref.onHover,
18
+ onItemSelect = _ref.onItemSelect,
19
+ onItemClick = _ref.onItemClick,
20
+ listWidth = _ref.listWidth,
21
+ variant = _ref.variant,
22
+ hasArrow = _ref.hasArrow,
23
+ size = _ref.size;
16
24
  var handleToggle = function handleToggle(opened) {
17
25
  if (opened) {
18
26
  dispatchPath({
@@ -28,54 +36,80 @@ var DropdownInner = function DropdownInner(_ref) {
28
36
  }
29
37
  };
30
38
  var isCurrentListOpen = path[currentLevel + 1] === item.value.toString();
31
- var treeId = safeUseId();
32
- var listId = "".concat(treeId, "_tree_level_").concat(currentLevel + 2);
39
+ var listId = "tree_level_".concat(currentLevel + 2);
33
40
  var nextLevel = currentLevel + 1;
34
41
  if (item !== null && item !== void 0 && item.items) {
35
- return /*#__PURE__*/React.createElement(FloatingPopover, {
36
- placement: "right-start",
42
+ return /*#__PURE__*/React.createElement(StyledPopover, {
37
43
  opened: isCurrentListOpen,
38
- onToggle: handleToggle,
44
+ usePortal: false,
45
+ placement: "right-start",
39
46
  trigger: trigger,
40
47
  target: /*#__PURE__*/React.createElement(DropdownItem, {
41
48
  item: item,
42
49
  index: index,
43
50
  path: path,
51
+ focusedPath: focusedPath,
44
52
  currentLevel: currentLevel,
53
+ itemRole: itemRole,
54
+ onHover: onHover,
55
+ onItemSelect: onItemSelect,
56
+ onItemClick: onItemClick,
57
+ variant: variant,
58
+ hasArrow: hasArrow,
45
59
  ariaControls: listId,
46
60
  ariaExpanded: isCurrentListOpen,
47
61
  ariaLevel: nextLevel,
48
- ariaLabel: item.label
62
+ ariaLabel: item.label,
63
+ size: size
49
64
  }),
50
- isInner: true
65
+ onToggle: handleToggle,
66
+ isFocusTrapped: false,
67
+ preventOverflow: false
51
68
  }, /*#__PURE__*/React.createElement(Ul, {
52
- id: listId,
53
- role: "group",
54
- isInnerUl: true,
55
69
  listHeight: listHeight,
56
70
  listOverflow: listOverflow,
57
- listWidth: listWidth
71
+ role: "group",
72
+ id: listId,
73
+ listWidth: listWidth,
74
+ isInnerUl: true
58
75
  }, item.items.map(function (innerItem, innerIndex) {
59
76
  return /*#__PURE__*/React.createElement(DropdownInner, {
60
77
  key: "".concat(innerIndex, "/").concat(currentLevel),
61
78
  item: innerItem,
62
79
  currentLevel: nextLevel,
80
+ focusedPath: focusedPath,
63
81
  path: path,
64
82
  dispatchPath: dispatchPath,
65
83
  index: innerIndex,
66
84
  trigger: trigger,
85
+ itemRole: itemRole,
67
86
  listHeight: listHeight,
68
87
  listOverflow: listOverflow,
69
- listWidth: listWidth
88
+ handleGlobalToggle: handleGlobalToggle,
89
+ closeOnSelect: closeOnSelect,
90
+ onHover: onHover,
91
+ onItemSelect: onItemSelect,
92
+ onItemClick: onItemClick,
93
+ listWidth: listWidth,
94
+ variant: variant,
95
+ hasArrow: hasArrow,
96
+ size: size
70
97
  });
71
98
  })));
72
99
  }
73
100
  return /*#__PURE__*/React.createElement(DropdownItem, {
74
101
  item: item,
75
- path: path,
76
102
  index: index,
103
+ focusedPath: focusedPath,
77
104
  currentLevel: currentLevel,
78
- ariaLevel: nextLevel
105
+ itemRole: itemRole,
106
+ handleGlobalToggle: handleGlobalToggle,
107
+ closeOnSelect: closeOnSelect,
108
+ onHover: onHover,
109
+ onItemSelect: onItemSelect,
110
+ onItemClick: onItemClick,
111
+ variant: variant,
112
+ size: size
79
113
  });
80
114
  };
81
115
  export { DropdownInner };
@@ -1,19 +1,28 @@
1
- import React, { useEffect, useRef, useContext } from 'react';
1
+ import React, { useEffect, useRef } from 'react';
2
2
  import { classes } from '../../Dropdown.tokens';
3
3
  import { cx } from '../../../../utils';
4
4
  import { IconDisclosureRight } from '../../../_Icon';
5
- import { Context } from '../../Dropdown';
6
- import { getItemId } from '../../utils';
7
- import { Wrapper, DisclosureIconWrapper, Divider, CellWrapper, StyledCell } from './DropdownItem.styles';
5
+ import { StyledContentLeft, StyledContentRight, StyledText, Wrapper, DisclosureIconWrapper, Divider } from './DropdownItem.styles';
8
6
  export var DropdownItem = function DropdownItem(_ref) {
9
7
  var item = _ref.item,
10
8
  path = _ref.path,
9
+ focusedPath = _ref.focusedPath,
11
10
  currentLevel = _ref.currentLevel,
12
11
  index = _ref.index,
12
+ itemRole = _ref.itemRole,
13
+ closeOnSelect = _ref.closeOnSelect,
14
+ handleGlobalToggle = _ref.handleGlobalToggle,
15
+ onHover = _ref.onHover,
16
+ onItemSelect = _ref.onItemSelect,
17
+ onItemClick = _ref.onItemClick,
13
18
  ariaControls = _ref.ariaControls,
14
19
  ariaExpanded = _ref.ariaExpanded,
20
+ ariaHasPopup = _ref.ariaHasPopup,
15
21
  ariaLevel = _ref.ariaLevel,
16
- ariaLabel = _ref.ariaLabel;
22
+ ariaLabel = _ref.ariaLabel,
23
+ variant = _ref.variant,
24
+ hasArrow = _ref.hasArrow,
25
+ size = _ref.size;
17
26
  var value = item.value,
18
27
  label = item.label,
19
28
  disabled = item.disabled,
@@ -23,19 +32,6 @@ export var DropdownItem = function DropdownItem(_ref) {
23
32
  dividerBefore = item.dividerBefore,
24
33
  dividerAfter = item.dividerAfter;
25
34
  var ref = useRef(null);
26
- var _useContext = useContext(Context),
27
- focusedPath = _useContext.focusedPath,
28
- size = _useContext.size,
29
- variant = _useContext.variant,
30
- itemRole = _useContext.itemRole,
31
- handleGlobalToggle = _useContext.handleGlobalToggle,
32
- closeOnSelect = _useContext.closeOnSelect,
33
- onHover = _useContext.onHover,
34
- onItemSelect = _useContext.onItemSelect,
35
- onItemClick = _useContext.onItemClick,
36
- hasArrow = _useContext.hasArrow,
37
- treeId = _useContext.treeId;
38
- var hasDescendants = Boolean(item.items);
39
35
  var disclosureIconSize = size === 'xs' ? 'xs' : 's';
40
36
  var isDisabledClassName = disabled || isDisabled ? classes.dropdownItemIsDisabled : undefined;
41
37
  var focusedClass = currentLevel === focusedPath.length - 1 && index === (focusedPath === null || focusedPath === void 0 ? void 0 : focusedPath[currentLevel]) ? classes.dropdownItemIsFocused : undefined;
@@ -59,9 +55,7 @@ export var DropdownItem = function DropdownItem(_ref) {
59
55
  if (onItemClick) {
60
56
  onItemClick(item, event);
61
57
  }
62
-
63
- // Закрываем весь дропдаун целиком при клике на айтем без потомков. Только при closeOnSelect === true.
64
- if (closeOnSelect && !hasDescendants) {
58
+ if (handleGlobalToggle && closeOnSelect) {
65
59
  handleGlobalToggle(false, event);
66
60
  }
67
61
  };
@@ -73,25 +67,20 @@ export var DropdownItem = function DropdownItem(_ref) {
73
67
  return /*#__PURE__*/React.createElement(React.Fragment, null, dividerBefore && /*#__PURE__*/React.createElement(Divider, {
74
68
  variant: variant
75
69
  }), /*#__PURE__*/React.createElement(Wrapper, {
76
- ref: ref,
77
70
  className: cx(isDisabledClassName, focusedClass, activeClass),
78
- id: getItemId(treeId, value.toString()),
71
+ id: value.toString(),
79
72
  role: itemRole,
73
+ ref: ref,
74
+ "aria-disabled": disabled || isDisabled,
80
75
  onClick: handleClick,
81
76
  onMouseEnter: handleHover,
82
77
  variant: variant,
83
- "aria-disabled": disabled || isDisabled,
84
78
  "aria-controls": ariaControls,
85
79
  "aria-expanded": ariaExpanded,
80
+ "aria-haspopup": ariaHasPopup,
86
81
  "aria-level": ariaLevel,
87
82
  "aria-label": ariaLabel
88
- }, /*#__PURE__*/React.createElement(CellWrapper, null, /*#__PURE__*/React.createElement(StyledCell, {
89
- contentLeft: contentLeft,
90
- contentRight: contentRight,
91
- alignContentLeft: "center",
92
- alignContentRight: "center",
93
- title: label
94
- })), item.items && hasArrow && /*#__PURE__*/React.createElement(DisclosureIconWrapper, null, /*#__PURE__*/React.createElement(IconDisclosureRight, {
83
+ }, contentLeft && /*#__PURE__*/React.createElement(StyledContentLeft, null, contentLeft), /*#__PURE__*/React.createElement(StyledText, null, label), contentRight && /*#__PURE__*/React.createElement(StyledContentRight, null, contentRight), item.items && hasArrow && /*#__PURE__*/React.createElement(DisclosureIconWrapper, null, /*#__PURE__*/React.createElement(IconDisclosureRight, {
95
84
  size: disclosureIconSize,
96
85
  color: "inherit"
97
86
  }))), dividerAfter && /*#__PURE__*/React.createElement(Divider, {
@@ -1,21 +1,20 @@
1
1
  import styled from 'styled-components';
2
- import { classes, tokens, constants } from '../../Dropdown.tokens';
3
- import { addFocus } from '../../../../mixins';
4
- import { cellConfig, cellTokens } from '../../../Cell';
5
- import { component, mergeConfig } from '../../../../engines';
6
- var mergedCellConfig = /*#__PURE__*/mergeConfig(cellConfig);
7
- var Cell = /*#__PURE__*/component(mergedCellConfig);
8
- export var CellWrapper = /*#__PURE__*/styled.div.withConfig({
2
+ import { classes, tokens } from '../../Dropdown.tokens';
3
+ import { addFocus, applyEllipsis } from '../../../../mixins';
4
+ export var StyledContentLeft = /*#__PURE__*/styled.div.withConfig({
9
5
  componentId: "plasma-new-hope__sc-hs0ek1-0"
10
- })(["", ":var(", ");", ":var(", ");", ":var(", ");", ":var(", ");", ":var(", ");", ":var(", ");", ":var(", ");", ":var(", ");", ":var(", ");", ":var(", ");", ":var(", ");", ":var(", ");", ":var(", ");", ":var(", ");width:100%;"], cellTokens.cellTitleColor, constants.cellTitleColor, cellTokens.cellBackgroundColor, constants.cellBackgroundColor, cellTokens.cellPadding, tokens.cellPadding, cellTokens.cellPaddingLeftContent, tokens.cellPaddingLeftContent, cellTokens.cellPaddingContent, tokens.cellPaddingContent, cellTokens.cellPaddingRightContent, tokens.cellPaddingRightContent, cellTokens.cellTextboxGap, tokens.cellTextboxGap, cellTokens.cellGap, tokens.cellGap, cellTokens.cellTitleFontFamily, tokens.cellTitleFontFamily, cellTokens.cellTitleFontSize, tokens.cellTitleFontSize, cellTokens.cellTitleFontStyle, tokens.cellTitleFontStyle, cellTokens.cellTitleFontWeight, tokens.cellTitleFontWeight, cellTokens.cellTitleLetterSpacing, tokens.cellTitleLetterSpacing, cellTokens.cellTitleLineHeight, tokens.cellTitleLineHeight);
11
- export var StyledCell = /*#__PURE__*/styled(Cell).withConfig({
6
+ })(["display:inline-flex;"]);
7
+ export var StyledContentRight = /*#__PURE__*/styled.div.withConfig({
12
8
  componentId: "plasma-new-hope__sc-hs0ek1-1"
13
- })([""]);
9
+ })(["margin-left:auto;display:inline-flex;"]);
14
10
  export var DisclosureIconWrapper = /*#__PURE__*/styled.div.withConfig({
15
11
  componentId: "plasma-new-hope__sc-hs0ek1-2"
16
- })(["line-height:0;color:var(", ");"], constants.disclosureIconColor);
17
- export var Divider = /*#__PURE__*/styled.div.withConfig({
12
+ })(["line-height:0;color:var(", ");"], tokens.disclosureIconColor);
13
+ export var StyledText = /*#__PURE__*/styled.div.withConfig({
18
14
  componentId: "plasma-new-hope__sc-hs0ek1-3"
15
+ })(["", ";flex:1;"], /*#__PURE__*/applyEllipsis());
16
+ export var Divider = /*#__PURE__*/styled.div.withConfig({
17
+ componentId: "plasma-new-hope__sc-hs0ek1-4"
19
18
  })(["height:1px;margin-top:", ";margin-right:var(", ");margin-bottom:", ";margin-left:var(", ");background:var(", ");"], function (_ref) {
20
19
  var variant = _ref.variant;
21
20
  return "var(".concat(variant === 'tight' ? tokens.dividerMarginTopTight : tokens.dividerMarginTop, ")");
@@ -24,15 +23,18 @@ export var Divider = /*#__PURE__*/styled.div.withConfig({
24
23
  return "var(".concat(variant === 'tight' ? tokens.dividerMarginBottomTight : tokens.dividerMarginBottom, ")");
25
24
  }, tokens.dividerMarginLeft, tokens.dividerColor);
26
25
  export var Wrapper = /*#__PURE__*/styled.li.withConfig({
27
- componentId: "plasma-new-hope__sc-hs0ek1-4"
28
- })(["display:flex;align-items:center;min-height:var(", ");margin:0;box-sizing:content-box;padding:", ";font-family:var(", ");font-size:var(", ");font-style:var(", ");font-weight:var(", ");letter-spacing:var(", ");line-height:var(", ");background-color:var(", ");border-radius:var(", ");user-select:none;border-right:0.125rem solid transparent;border-left:0.125rem solid transparent;background-clip:padding-box;&:hover:not(.", "){cursor:pointer;background-color:var(", ");}&.", "{background-color:var(", ");}&.", "{opacity:", ";cursor:not-allowed;}:focus{outline:none;}", ";"], tokens.itemHeight, function (_ref3) {
26
+ componentId: "plasma-new-hope__sc-hs0ek1-5"
27
+ })(["display:flex;align-items:center;margin:0;box-sizing:content-box;padding-top:", ";padding-right:var(", ");padding-bottom:", ";padding-left:var(", ");font-family:var(", ");font-size:var(", ");font-style:var(", ");font-weight:var(", ");letter-spacing:var(", ");line-height:var(", ");background:var(", ");color:var(", ");border-radius:var(", ");user-select:none;&:hover:not(.", "){cursor:pointer;background:var(", ");}&.", "{background:var(", ");}&.", "{opacity:var(", ");cursor:not-allowed;}:focus{outline:none;}", ";"], function (_ref3) {
29
28
  var variant = _ref3.variant;
30
- return "var(".concat(variant === 'tight' ? tokens.itemPaddingTight : tokens.itemPadding, ")");
31
- }, tokens.itemFontFamily, tokens.itemFontSize, tokens.itemFontStyle, tokens.itemFontWeightBold, tokens.itemFontLetterSpacing, tokens.itemFontLineHeight, constants.itemBackground, tokens.borderRadius, classes.dropdownItemIsDisabled, constants.itemBackgroundHover, classes.dropdownItemIsActive, constants.itemBackgroundHover, classes.dropdownItemIsDisabled, constants.opacity, /*#__PURE__*/addFocus({
29
+ return "var(".concat(variant === 'tight' ? tokens.itemPaddingTopTight : tokens.itemPaddingTop, ")");
30
+ }, tokens.itemPaddingRight, function (_ref4) {
31
+ var variant = _ref4.variant;
32
+ return "var(".concat(variant === 'tight' ? tokens.itemPaddingBottomTight : tokens.itemPaddingBottom, ")");
33
+ }, tokens.itemPaddingLeft, tokens.itemFontFamily, tokens.itemFontSize, tokens.itemFontStyle, tokens.itemFontWeightBold, tokens.itemFontLetterSpacing, tokens.itemFontLineHeight, tokens.itemBackground, tokens.itemColor, tokens.itemBorderRadius, classes.dropdownItemIsDisabled, tokens.itemBackgroundHover, classes.dropdownItemIsActive, tokens.itemBackgroundHover, classes.dropdownItemIsDisabled, tokens.disabledOpacity, /*#__PURE__*/addFocus({
32
34
  outlineSize: '0.0625rem',
33
35
  outlineOffset: '0',
34
- outlineColor: /*#__PURE__*/"var(".concat(constants.focusColor, ")"),
36
+ outlineColor: /*#__PURE__*/"var(".concat(tokens.focusColor, ")"),
35
37
  outlineRadius: /*#__PURE__*/"var(".concat(tokens.itemBorderRadius, ")"),
36
38
  hasTransition: false,
37
- customFocusRules: /*#__PURE__*/"\n &.".concat(classes.dropdownItemIsFocused, ":before {\n outline: none;\n box-shadow: 0 0 0 0.0625rem var(").concat(constants.focusColor, ");\n }\n ")
39
+ customFocusRules: /*#__PURE__*/"\n &.".concat(classes.dropdownItemIsFocused, ":before {\n outline: none;\n box-shadow: 0 0 0 0.0625rem var(").concat(tokens.focusColor, ");\n }\n ")
38
40
  }));
@@ -26,7 +26,4 @@ export var getValidComponent = function getValidComponent(element, props) {
26
26
  return /*#__PURE__*/React.createElement(Component, props);
27
27
  }
28
28
  return element;
29
- };
30
- export { getItemId } from './getItemId';
31
- export { getItemByFocused } from './getItemByFocused';
32
- export { getPlacement } from './getPlacement';
29
+ };
@@ -86,7 +86,7 @@ export var notificationRoot = function notificationRoot(Root) {
86
86
  })))));
87
87
  });
88
88
  };
89
- export var noticationConfig = {
89
+ export var notificationConfig = {
90
90
  name: 'Notification',
91
91
  tag: 'div',
92
92
  layout: notificationRoot,
@@ -10,9 +10,9 @@ import { PropsTable, Description } from '@site/src/components';
10
10
  <PropsTable name="Notification" />
11
11
 
12
12
  ## Использование
13
- Компонент `Notification` может использоваться для создания собственных систем оповещения.
13
+ Компонент `Notification` может использоваться для создания собственных систем оповещения.
14
14
  Вид компонента контролируется свойствами (props).
15
- Текстовая часть оповещения состоит из `title` и `children`.
15
+ Текстовая часть оповещения состоит из `title` и `children`.
16
16
  Слева или сверху от нее, также можно пробросить иконку через свойство `icon`.
17
17
  Также есть часть `actions`, в которой предполагается отображение кнопок для взаимодействия.
18
18
 
@@ -34,24 +34,32 @@ ReactDOM.render(
34
34
  ```
35
35
 
36
36
  ### Вызов уведомления
37
- После подключения `NotificationsProvider` станет возможен вызов функции `addNotification`,который приведет к отображению оповещения.
38
- Функция принимает значения свойств компонента `Notification`:
37
+ После подключения `NotificationsProvider` станет возможен вызов функции `addNotification`, который приведет к отображению оповещения.
38
+ Функция принимает значения свойств компонента `Notification`, включая необязательное поле `id`. И возвращает сгенерированный или переданный `id`, по которому можно закрыть оповещение через вызов `closeNotification`.
39
39
 
40
40
  ```tsx live
41
41
  import React from 'react';
42
- import { Button, addNotification, NotificationsProvider } from '@salutejs/{{ package }}';
42
+ import { Button, ButtonGroup, addNotification, closeNotification, NotificationsProvider } from '@salutejs/{{ package }}';
43
43
 
44
44
  export function App() {
45
- const handleClick = React.useCallback(() => {
45
+ const handleShow = React.useCallback(() => {
46
46
  addNotification({
47
+ id: 'incoming-call',
47
48
  title: 'Входящий вызов',
48
49
  children: 'Принять?',
49
50
  }, 1000);
50
51
  }, []);
51
52
 
53
+ const handleHide = React.useCallback(() => {
54
+ closeNotification('incoming-call');
55
+ }, []);
56
+
52
57
  return (
53
58
  <NotificationsProvider>
54
- <Button text="Показать оповещение" onClick={handleClick} />
59
+ <ButtonGroup>
60
+ <Button text="Показать оповещение" onClick={handleShow} />
61
+ <Button text="Скрыть оповещение" onClick={handleHide} />
62
+ </ButtonGroup>
55
63
  </NotificationsProvider>
56
64
  );
57
65
  }