@salutejs/plasma-new-hope 0.325.0 → 0.326.0-canary.1986.15322785467.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (278) hide show
  1. package/cjs/components/Combobox/ComboboxNew/Combobox.css +61 -56
  2. package/cjs/components/Combobox/ComboboxNew/Combobox.js +13 -4
  3. package/cjs/components/Combobox/ComboboxNew/Combobox.js.map +1 -1
  4. package/cjs/components/Combobox/ComboboxNew/Combobox.styles.js +38 -37
  5. package/cjs/components/Combobox/ComboboxNew/Combobox.styles.js.map +1 -1
  6. package/cjs/components/Combobox/ComboboxNew/Combobox.styles_isfa46.css +7 -0
  7. package/cjs/components/Combobox/ComboboxNew/Combobox.tokens.js +8 -1
  8. package/cjs/components/Combobox/ComboboxNew/Combobox.tokens.js.map +1 -1
  9. package/cjs/components/Combobox/ComboboxNew/FloatingPopover.js +9 -5
  10. package/cjs/components/Combobox/ComboboxNew/FloatingPopover.js.map +1 -1
  11. package/cjs/components/Combobox/ComboboxNew/ui/Inner/Inner.css +18 -17
  12. package/cjs/components/Combobox/ComboboxNew/ui/Inner/Inner.js +5 -4
  13. package/cjs/components/Combobox/ComboboxNew/ui/Inner/Inner.js.map +1 -1
  14. package/cjs/components/Combobox/ComboboxNew/ui/Inner/ui/Item/Item.styles.js +2 -2
  15. package/cjs/components/Combobox/ComboboxNew/ui/Inner/ui/Item/Item.styles.js.map +1 -1
  16. package/{es/components/Combobox/ComboboxNew/ui/Inner/ui/Item/Item.styles_1fy6e2z.css → cjs/components/Combobox/ComboboxNew/ui/Inner/ui/Item/Item.styles_80gotw.css} +2 -2
  17. package/cjs/components/Combobox/ComboboxNew/ui/SelectAll/SelectAll.css +56 -0
  18. package/cjs/components/Combobox/ComboboxNew/ui/SelectAll/SelectAll.js +44 -0
  19. package/cjs/components/Combobox/ComboboxNew/ui/SelectAll/SelectAll.js.map +1 -0
  20. package/cjs/components/Combobox/ComboboxNew/ui/SelectAll/SelectAll.styles.js +53 -0
  21. package/cjs/components/Combobox/ComboboxNew/ui/SelectAll/SelectAll.styles.js.map +1 -0
  22. package/cjs/components/Combobox/ComboboxNew/ui/SelectAll/SelectAll.styles_tjme4i.css +3 -0
  23. package/cjs/components/Combobox/ComboboxNew/ui/VirtualList/VirtualList.css +12 -12
  24. package/cjs/components/Pagination/Pagination.css +57 -52
  25. package/cjs/components/Pagination/ui/PaginationSelectPerPage/PaginationSelectPerPage.css +57 -52
  26. package/cjs/components/Select/FloatingPopover.js +9 -5
  27. package/cjs/components/Select/FloatingPopover.js.map +1 -1
  28. package/cjs/components/Select/Select.css +57 -52
  29. package/cjs/components/Select/Select.js +14 -5
  30. package/cjs/components/Select/Select.js.map +1 -1
  31. package/cjs/components/Select/Select.styles.js +17 -17
  32. package/cjs/components/Select/Select.styles.js.map +1 -1
  33. package/cjs/components/Select/Select.styles_bjoo18.css +3 -0
  34. package/cjs/components/Select/Select.tokens.js +9 -2
  35. package/cjs/components/Select/Select.tokens.js.map +1 -1
  36. package/cjs/components/Select/hooks/useKeyboardNavigation.js +2 -2
  37. package/cjs/components/Select/hooks/useKeyboardNavigation.js.map +1 -1
  38. package/cjs/components/Select/ui/Inner/Inner.css +11 -10
  39. package/cjs/components/Select/ui/Inner/Inner.js +5 -4
  40. package/cjs/components/Select/ui/Inner/Inner.js.map +1 -1
  41. package/cjs/components/Select/ui/Inner/ui/Item/Item.styles.js +4 -4
  42. package/cjs/components/Select/ui/Inner/ui/Item/Item.styles.js.map +1 -1
  43. package/cjs/components/Select/ui/Inner/ui/Item/Item.styles_1qpfn0s.css +11 -0
  44. package/cjs/components/Select/ui/SelectAll/SelectAll.css +54 -0
  45. package/cjs/components/Select/ui/SelectAll/SelectAll.js +44 -0
  46. package/cjs/components/Select/ui/SelectAll/SelectAll.js.map +1 -0
  47. package/cjs/components/Select/ui/SelectAll/SelectAll.styles.js +53 -0
  48. package/cjs/components/Select/ui/SelectAll/SelectAll.styles.js.map +1 -0
  49. package/cjs/components/Select/ui/SelectAll/SelectAll.styles_ql2mqj.css +3 -0
  50. package/cjs/components/Select/ui/VirtualList/VirtualList.css +10 -10
  51. package/cjs/components/Table/Table.css +34 -29
  52. package/cjs/components/Table/ui/Cell/Cell.css +34 -29
  53. package/cjs/components/Table/ui/EditableCell/EditableCell.css +34 -29
  54. package/cjs/components/Table/ui/HeadCell/HeadCell.css +34 -29
  55. package/cjs/components/Table/ui/HeadCell/ui/Filter/Filter.css +34 -29
  56. package/cjs/index.css +40 -30
  57. package/emotion/cjs/components/Combobox/Combobox.template-doc.mdx +58 -0
  58. package/emotion/cjs/components/Combobox/ComboboxNew/Combobox.js +12 -4
  59. package/emotion/cjs/components/Combobox/ComboboxNew/Combobox.styles.js +24 -23
  60. package/emotion/cjs/components/Combobox/ComboboxNew/Combobox.tokens.js +10 -3
  61. package/emotion/cjs/components/Combobox/ComboboxNew/FloatingPopover.js +9 -5
  62. package/emotion/cjs/components/Combobox/ComboboxNew/ui/Inner/Inner.js +5 -4
  63. package/emotion/cjs/components/Combobox/ComboboxNew/ui/Inner/ui/Item/Item.styles.js +17 -17
  64. package/emotion/cjs/components/Combobox/ComboboxNew/ui/SelectAll/SelectAll.js +39 -0
  65. package/emotion/cjs/components/Combobox/ComboboxNew/ui/SelectAll/SelectAll.styles.js +30 -0
  66. package/emotion/cjs/components/Combobox/ComboboxNew/ui/index.js +11 -0
  67. package/emotion/cjs/components/Select/FloatingPopover.js +9 -5
  68. package/emotion/cjs/components/Select/Select.js +13 -5
  69. package/emotion/cjs/components/Select/Select.styles.js +11 -10
  70. package/emotion/cjs/components/Select/Select.template-doc.mdx +58 -0
  71. package/emotion/cjs/components/Select/Select.tokens.js +9 -2
  72. package/emotion/cjs/components/Select/hooks/useKeyboardNavigation.js +2 -2
  73. package/emotion/cjs/components/Select/ui/Inner/Inner.js +5 -4
  74. package/emotion/cjs/components/Select/ui/Inner/ui/Item/Item.styles.js +14 -14
  75. package/emotion/cjs/components/Select/ui/SelectAll/SelectAll.js +39 -0
  76. package/emotion/cjs/components/Select/ui/SelectAll/SelectAll.styles.js +30 -0
  77. package/emotion/cjs/components/Select/ui/index.js +11 -0
  78. package/emotion/cjs/examples/plasma_b2c/components/Combobox/Combobox.config.js +15 -15
  79. package/emotion/cjs/examples/plasma_b2c/components/Combobox/Combobox.js +13 -2
  80. package/emotion/cjs/examples/plasma_b2c/components/Combobox/Combobox.stories.tsx +187 -0
  81. package/emotion/cjs/examples/plasma_b2c/components/Select/Select.config.js +24 -24
  82. package/emotion/cjs/examples/plasma_b2c/components/Select/Select.stories.tsx +186 -0
  83. package/emotion/cjs/examples/plasma_web/components/Combobox/Combobox.config.js +15 -15
  84. package/emotion/cjs/examples/plasma_web/components/Combobox/Combobox.js +12 -2
  85. package/emotion/cjs/examples/plasma_web/components/Combobox/Combobox.stories.tsx +186 -0
  86. package/emotion/cjs/examples/plasma_web/components/Select/Select.config.js +24 -24
  87. package/emotion/cjs/examples/plasma_web/components/Select/Select.stories.tsx +186 -0
  88. package/emotion/es/components/Combobox/Combobox.template-doc.mdx +58 -0
  89. package/emotion/es/components/Combobox/ComboboxNew/Combobox.js +14 -6
  90. package/emotion/es/components/Combobox/ComboboxNew/Combobox.styles.js +23 -22
  91. package/emotion/es/components/Combobox/ComboboxNew/Combobox.tokens.js +10 -3
  92. package/emotion/es/components/Combobox/ComboboxNew/FloatingPopover.js +9 -5
  93. package/emotion/es/components/Combobox/ComboboxNew/ui/Inner/Inner.js +6 -5
  94. package/emotion/es/components/Combobox/ComboboxNew/ui/Inner/ui/Item/Item.styles.js +17 -17
  95. package/emotion/es/components/Combobox/ComboboxNew/ui/SelectAll/SelectAll.js +32 -0
  96. package/emotion/es/components/Combobox/ComboboxNew/ui/SelectAll/SelectAll.styles.js +23 -0
  97. package/emotion/es/components/Combobox/ComboboxNew/ui/index.js +2 -1
  98. package/emotion/es/components/Select/FloatingPopover.js +9 -5
  99. package/emotion/es/components/Select/Select.js +15 -7
  100. package/emotion/es/components/Select/Select.styles.js +10 -9
  101. package/emotion/es/components/Select/Select.template-doc.mdx +58 -0
  102. package/emotion/es/components/Select/Select.tokens.js +9 -2
  103. package/emotion/es/components/Select/hooks/useKeyboardNavigation.js +2 -2
  104. package/emotion/es/components/Select/ui/Inner/Inner.js +6 -5
  105. package/emotion/es/components/Select/ui/Inner/ui/Item/Item.styles.js +14 -14
  106. package/emotion/es/components/Select/ui/SelectAll/SelectAll.js +32 -0
  107. package/emotion/es/components/Select/ui/SelectAll/SelectAll.styles.js +23 -0
  108. package/emotion/es/components/Select/ui/index.js +2 -1
  109. package/emotion/es/examples/plasma_b2c/components/Combobox/Combobox.config.js +15 -15
  110. package/emotion/es/examples/plasma_b2c/components/Combobox/Combobox.js +10 -2
  111. package/emotion/es/examples/plasma_b2c/components/Combobox/Combobox.stories.tsx +187 -0
  112. package/emotion/es/examples/plasma_b2c/components/Select/Select.config.js +24 -24
  113. package/emotion/es/examples/plasma_b2c/components/Select/Select.stories.tsx +186 -0
  114. package/emotion/es/examples/plasma_web/components/Combobox/Combobox.config.js +15 -15
  115. package/emotion/es/examples/plasma_web/components/Combobox/Combobox.js +10 -3
  116. package/emotion/es/examples/plasma_web/components/Combobox/Combobox.stories.tsx +186 -0
  117. package/emotion/es/examples/plasma_web/components/Select/Select.config.js +24 -24
  118. package/emotion/es/examples/plasma_web/components/Select/Select.stories.tsx +186 -0
  119. package/es/components/Combobox/ComboboxNew/Combobox.css +61 -56
  120. package/es/components/Combobox/ComboboxNew/Combobox.js +14 -5
  121. package/es/components/Combobox/ComboboxNew/Combobox.js.map +1 -1
  122. package/es/components/Combobox/ComboboxNew/Combobox.styles.js +38 -38
  123. package/es/components/Combobox/ComboboxNew/Combobox.styles.js.map +1 -1
  124. package/es/components/Combobox/ComboboxNew/Combobox.styles_isfa46.css +7 -0
  125. package/es/components/Combobox/ComboboxNew/Combobox.tokens.js +8 -1
  126. package/es/components/Combobox/ComboboxNew/Combobox.tokens.js.map +1 -1
  127. package/es/components/Combobox/ComboboxNew/FloatingPopover.js +9 -5
  128. package/es/components/Combobox/ComboboxNew/FloatingPopover.js.map +1 -1
  129. package/es/components/Combobox/ComboboxNew/ui/Inner/Inner.css +18 -17
  130. package/es/components/Combobox/ComboboxNew/ui/Inner/Inner.js +6 -5
  131. package/es/components/Combobox/ComboboxNew/ui/Inner/Inner.js.map +1 -1
  132. package/es/components/Combobox/ComboboxNew/ui/Inner/ui/Item/Item.styles.js +2 -2
  133. package/es/components/Combobox/ComboboxNew/ui/Inner/ui/Item/Item.styles.js.map +1 -1
  134. package/{cjs/components/Combobox/ComboboxNew/ui/Inner/ui/Item/Item.styles_1fy6e2z.css → es/components/Combobox/ComboboxNew/ui/Inner/ui/Item/Item.styles_80gotw.css} +2 -2
  135. package/es/components/Combobox/ComboboxNew/ui/SelectAll/SelectAll.css +56 -0
  136. package/es/components/Combobox/ComboboxNew/ui/SelectAll/SelectAll.js +36 -0
  137. package/es/components/Combobox/ComboboxNew/ui/SelectAll/SelectAll.js.map +1 -0
  138. package/es/components/Combobox/ComboboxNew/ui/SelectAll/SelectAll.styles.js +47 -0
  139. package/es/components/Combobox/ComboboxNew/ui/SelectAll/SelectAll.styles.js.map +1 -0
  140. package/es/components/Combobox/ComboboxNew/ui/SelectAll/SelectAll.styles_tjme4i.css +3 -0
  141. package/es/components/Combobox/ComboboxNew/ui/VirtualList/VirtualList.css +12 -12
  142. package/es/components/Pagination/Pagination.css +57 -52
  143. package/es/components/Pagination/ui/PaginationSelectPerPage/PaginationSelectPerPage.css +57 -52
  144. package/es/components/Select/FloatingPopover.js +9 -5
  145. package/es/components/Select/FloatingPopover.js.map +1 -1
  146. package/es/components/Select/Select.css +57 -52
  147. package/es/components/Select/Select.js +15 -6
  148. package/es/components/Select/Select.js.map +1 -1
  149. package/es/components/Select/Select.styles.js +17 -18
  150. package/es/components/Select/Select.styles.js.map +1 -1
  151. package/es/components/Select/Select.styles_bjoo18.css +3 -0
  152. package/es/components/Select/Select.tokens.js +9 -2
  153. package/es/components/Select/Select.tokens.js.map +1 -1
  154. package/es/components/Select/hooks/useKeyboardNavigation.js +2 -2
  155. package/es/components/Select/hooks/useKeyboardNavigation.js.map +1 -1
  156. package/es/components/Select/ui/Inner/Inner.css +11 -10
  157. package/es/components/Select/ui/Inner/Inner.js +6 -5
  158. package/es/components/Select/ui/Inner/Inner.js.map +1 -1
  159. package/es/components/Select/ui/Inner/ui/Item/Item.styles.js +4 -4
  160. package/es/components/Select/ui/Inner/ui/Item/Item.styles.js.map +1 -1
  161. package/es/components/Select/ui/Inner/ui/Item/Item.styles_1qpfn0s.css +11 -0
  162. package/es/components/Select/ui/SelectAll/SelectAll.css +54 -0
  163. package/es/components/Select/ui/SelectAll/SelectAll.js +36 -0
  164. package/es/components/Select/ui/SelectAll/SelectAll.js.map +1 -0
  165. package/es/components/Select/ui/SelectAll/SelectAll.styles.js +47 -0
  166. package/es/components/Select/ui/SelectAll/SelectAll.styles.js.map +1 -0
  167. package/es/components/Select/ui/SelectAll/SelectAll.styles_ql2mqj.css +3 -0
  168. package/es/components/Select/ui/VirtualList/VirtualList.css +10 -10
  169. package/es/components/Table/Table.css +34 -29
  170. package/es/components/Table/ui/Cell/Cell.css +34 -29
  171. package/es/components/Table/ui/EditableCell/EditableCell.css +34 -29
  172. package/es/components/Table/ui/HeadCell/HeadCell.css +34 -29
  173. package/es/components/Table/ui/HeadCell/ui/Filter/Filter.css +34 -29
  174. package/es/index.css +40 -30
  175. package/package.json +4 -4
  176. package/styled-components/cjs/components/Combobox/Combobox.template-doc.mdx +58 -0
  177. package/styled-components/cjs/components/Combobox/ComboboxNew/Combobox.js +12 -4
  178. package/styled-components/cjs/components/Combobox/ComboboxNew/Combobox.styles.js +21 -21
  179. package/styled-components/cjs/components/Combobox/ComboboxNew/Combobox.tokens.js +10 -3
  180. package/styled-components/cjs/components/Combobox/ComboboxNew/FloatingPopover.js +9 -5
  181. package/styled-components/cjs/components/Combobox/ComboboxNew/ui/Inner/Inner.js +5 -4
  182. package/styled-components/cjs/components/Combobox/ComboboxNew/ui/Inner/ui/Item/Item.styles.js +5 -5
  183. package/styled-components/cjs/components/Combobox/ComboboxNew/ui/SelectAll/SelectAll.js +39 -0
  184. package/styled-components/cjs/components/Combobox/ComboboxNew/ui/SelectAll/SelectAll.styles.js +27 -0
  185. package/styled-components/cjs/components/Combobox/ComboboxNew/ui/index.js +11 -0
  186. package/styled-components/cjs/components/Select/FloatingPopover.js +9 -5
  187. package/styled-components/cjs/components/Select/Select.js +13 -5
  188. package/styled-components/cjs/components/Select/Select.styles.js +8 -8
  189. package/styled-components/cjs/components/Select/Select.template-doc.mdx +58 -0
  190. package/styled-components/cjs/components/Select/Select.tokens.js +9 -2
  191. package/styled-components/cjs/components/Select/hooks/useKeyboardNavigation.js +2 -2
  192. package/styled-components/cjs/components/Select/ui/Inner/Inner.js +5 -4
  193. package/styled-components/cjs/components/Select/ui/Inner/ui/Item/Item.styles.js +3 -3
  194. package/styled-components/cjs/components/Select/ui/SelectAll/SelectAll.js +39 -0
  195. package/styled-components/cjs/components/Select/ui/SelectAll/SelectAll.styles.js +27 -0
  196. package/styled-components/cjs/components/Select/ui/index.js +11 -0
  197. package/styled-components/cjs/examples/plasma_b2c/components/Combobox/Combobox.config.js +8 -8
  198. package/styled-components/cjs/examples/plasma_b2c/components/Combobox/Combobox.js +13 -2
  199. package/styled-components/cjs/examples/plasma_b2c/components/Combobox/Combobox.stories.tsx +187 -0
  200. package/styled-components/cjs/examples/plasma_b2c/components/Select/Select.config.js +14 -14
  201. package/styled-components/cjs/examples/plasma_b2c/components/Select/Select.stories.tsx +186 -0
  202. package/styled-components/cjs/examples/plasma_web/components/Combobox/Combobox.config.js +8 -8
  203. package/styled-components/cjs/examples/plasma_web/components/Combobox/Combobox.js +12 -2
  204. package/styled-components/cjs/examples/plasma_web/components/Combobox/Combobox.stories.tsx +186 -0
  205. package/styled-components/cjs/examples/plasma_web/components/Select/Select.config.js +14 -14
  206. package/styled-components/cjs/examples/plasma_web/components/Select/Select.stories.tsx +186 -0
  207. package/styled-components/es/components/Combobox/Combobox.template-doc.mdx +58 -0
  208. package/styled-components/es/components/Combobox/ComboboxNew/Combobox.js +14 -6
  209. package/styled-components/es/components/Combobox/ComboboxNew/Combobox.styles.js +20 -20
  210. package/styled-components/es/components/Combobox/ComboboxNew/Combobox.tokens.js +10 -3
  211. package/styled-components/es/components/Combobox/ComboboxNew/FloatingPopover.js +9 -5
  212. package/styled-components/es/components/Combobox/ComboboxNew/ui/Inner/Inner.js +6 -5
  213. package/styled-components/es/components/Combobox/ComboboxNew/ui/Inner/ui/Item/Item.styles.js +5 -5
  214. package/styled-components/es/components/Combobox/ComboboxNew/ui/SelectAll/SelectAll.js +32 -0
  215. package/styled-components/es/components/Combobox/ComboboxNew/ui/SelectAll/SelectAll.styles.js +20 -0
  216. package/styled-components/es/components/Combobox/ComboboxNew/ui/index.js +2 -1
  217. package/styled-components/es/components/Select/FloatingPopover.js +9 -5
  218. package/styled-components/es/components/Select/Select.js +15 -7
  219. package/styled-components/es/components/Select/Select.styles.js +7 -7
  220. package/styled-components/es/components/Select/Select.template-doc.mdx +58 -0
  221. package/styled-components/es/components/Select/Select.tokens.js +9 -2
  222. package/styled-components/es/components/Select/hooks/useKeyboardNavigation.js +2 -2
  223. package/styled-components/es/components/Select/ui/Inner/Inner.js +6 -5
  224. package/styled-components/es/components/Select/ui/Inner/ui/Item/Item.styles.js +3 -3
  225. package/styled-components/es/components/Select/ui/SelectAll/SelectAll.js +32 -0
  226. package/styled-components/es/components/Select/ui/SelectAll/SelectAll.styles.js +20 -0
  227. package/styled-components/es/components/Select/ui/index.js +2 -1
  228. package/styled-components/es/examples/plasma_b2c/components/Combobox/Combobox.config.js +8 -8
  229. package/styled-components/es/examples/plasma_b2c/components/Combobox/Combobox.js +10 -2
  230. package/styled-components/es/examples/plasma_b2c/components/Combobox/Combobox.stories.tsx +187 -0
  231. package/styled-components/es/examples/plasma_b2c/components/Select/Select.config.js +14 -14
  232. package/styled-components/es/examples/plasma_b2c/components/Select/Select.stories.tsx +186 -0
  233. package/styled-components/es/examples/plasma_web/components/Combobox/Combobox.config.js +8 -8
  234. package/styled-components/es/examples/plasma_web/components/Combobox/Combobox.js +10 -3
  235. package/styled-components/es/examples/plasma_web/components/Combobox/Combobox.stories.tsx +186 -0
  236. package/styled-components/es/examples/plasma_web/components/Select/Select.config.js +14 -14
  237. package/styled-components/es/examples/plasma_web/components/Select/Select.stories.tsx +186 -0
  238. package/types/components/Combobox/ComboboxNew/Combobox.d.ts.map +1 -1
  239. package/types/components/Combobox/ComboboxNew/Combobox.styles.d.ts +3 -1
  240. package/types/components/Combobox/ComboboxNew/Combobox.styles.d.ts.map +1 -1
  241. package/types/components/Combobox/ComboboxNew/Combobox.tokens.d.ts +7 -0
  242. package/types/components/Combobox/ComboboxNew/Combobox.tokens.d.ts.map +1 -1
  243. package/types/components/Combobox/ComboboxNew/Combobox.types.d.ts +12 -1
  244. package/types/components/Combobox/ComboboxNew/Combobox.types.d.ts.map +1 -1
  245. package/types/components/Combobox/ComboboxNew/FloatingPopover.d.ts.map +1 -1
  246. package/types/components/Combobox/ComboboxNew/ui/Inner/Inner.d.ts.map +1 -1
  247. package/types/components/Combobox/ComboboxNew/ui/Inner/ui/Item/Item.styles.d.ts.map +1 -1
  248. package/types/components/Combobox/ComboboxNew/ui/SelectAll/SelectAll.d.ts +7 -0
  249. package/types/components/Combobox/ComboboxNew/ui/SelectAll/SelectAll.d.ts.map +1 -0
  250. package/types/components/Combobox/ComboboxNew/ui/SelectAll/SelectAll.styles.d.ts +11 -0
  251. package/types/components/Combobox/ComboboxNew/ui/SelectAll/SelectAll.styles.d.ts.map +1 -0
  252. package/types/components/Combobox/ComboboxNew/ui/index.d.ts +1 -0
  253. package/types/components/Combobox/ComboboxNew/ui/index.d.ts.map +1 -1
  254. package/types/components/Pagination/ui/PaginationSelectPerPage/PaginationSelectPerPage.styles.d.ts +3 -0
  255. package/types/components/Pagination/ui/PaginationSelectPerPage/PaginationSelectPerPage.styles.d.ts.map +1 -1
  256. package/types/components/Select/FloatingPopover.d.ts.map +1 -1
  257. package/types/components/Select/Select.d.ts.map +1 -1
  258. package/types/components/Select/Select.styles.d.ts +3 -1
  259. package/types/components/Select/Select.styles.d.ts.map +1 -1
  260. package/types/components/Select/Select.tokens.d.ts +7 -0
  261. package/types/components/Select/Select.tokens.d.ts.map +1 -1
  262. package/types/components/Select/Select.types.d.ts +13 -1
  263. package/types/components/Select/Select.types.d.ts.map +1 -1
  264. package/types/components/Select/ui/Inner/Inner.d.ts.map +1 -1
  265. package/types/components/Select/ui/SelectAll/SelectAll.d.ts +7 -0
  266. package/types/components/Select/ui/SelectAll/SelectAll.d.ts.map +1 -0
  267. package/types/components/Select/ui/SelectAll/SelectAll.styles.d.ts +11 -0
  268. package/types/components/Select/ui/SelectAll/SelectAll.styles.d.ts.map +1 -0
  269. package/types/components/Select/ui/index.d.ts +1 -0
  270. package/types/components/Select/ui/index.d.ts.map +1 -1
  271. package/types/components/Table/ui/HeadCell/ui/Filter/Filter.styles.d.ts +3 -0
  272. package/types/components/Table/ui/HeadCell/ui/Filter/Filter.styles.d.ts.map +1 -1
  273. package/cjs/components/Combobox/ComboboxNew/Combobox.styles_5uhl12.css +0 -6
  274. package/cjs/components/Select/Select.styles_11cghkj.css +0 -2
  275. package/cjs/components/Select/ui/Inner/ui/Item/Item.styles_ir8fmi.css +0 -11
  276. package/es/components/Combobox/ComboboxNew/Combobox.styles_5uhl12.css +0 -6
  277. package/es/components/Select/Select.styles_11cghkj.css +0 -2
  278. package/es/components/Select/ui/Inner/ui/Item/Item.styles_ir8fmi.css +0 -11
@@ -6,12 +6,15 @@ import { component, mergeConfig } from "../../../engines";
6
6
  import { tokens, constants, classes } from "./Combobox.tokens";
7
7
  var mergedConfig = /*#__PURE__*/mergeConfig(emptyStateConfig);
8
8
  var EmptyState = /*#__PURE__*/component(mergedConfig);
9
- export var Ul = /*#__PURE__*/styled.ul.withConfig({
9
+ export var ListWrapper = /*#__PURE__*/styled.div.withConfig({
10
10
  componentId: "plasma-new-hope__sc-2kddkg-0"
11
- })(["background:var(", ");box-shadow:", ";border-radius:var(", ");width:", ";max-height:", ";overflow-y:", ";border:var(", ") solid var(", ");margin:", ";padding:var(", ") 0;.", "{box-shadow:none;}"], constants.background, constants.boxShadow, tokens.borderRadius, function (_ref) {
11
+ })(["width:", ";padding:calc(var(", ") + var(", ",0rem));border-radius:var(", ");box-sizing:border-box;background:var(", ");box-shadow:", ",inset 0 0 0 var(", ",0rem) var(", ",transparent);"], function (_ref) {
12
12
  var listWidth = _ref.listWidth;
13
13
  return listWidth || '100%';
14
- }, function (_ref2) {
14
+ }, tokens.padding, tokens.dropdownBorderWidth, tokens.borderRadius, constants.background, constants.boxShadow, tokens.dropdownBorderWidth, tokens.dropdownBorderColor);
15
+ export var Ul = /*#__PURE__*/styled.ul.withConfig({
16
+ componentId: "plasma-new-hope__sc-2kddkg-1"
17
+ })(["max-height:", ";overflow-y:", ";border-radius:calc(var(", ") - 0.125rem - var(", ",0rem));margin:0;padding:0;.", "{box-shadow:none;}"], function (_ref2) {
15
18
  var virtual = _ref2.virtual,
16
19
  listMaxHeight = _ref2.listMaxHeight;
17
20
  return virtual ? 'auto' : listMaxHeight || 'auto';
@@ -19,17 +22,14 @@ export var Ul = /*#__PURE__*/styled.ul.withConfig({
19
22
  var virtual = _ref3.virtual,
20
23
  listOverflow = _ref3.listOverflow;
21
24
  return virtual ? 'visible' : listOverflow || 'visible';
22
- }, tokens.dropdownBorderWidth, tokens.dropdownBorderColor, function (_ref4) {
23
- var isInnerUl = _ref4.isInnerUl;
24
- return isInnerUl ? "calc(var(".concat(tokens.padding, ") * -1) 0 0 0") : "var(".concat(tokens.margin, ") 0 0 0");
25
- }, tokens.padding, classes.emptyStateWrapper);
25
+ }, tokens.borderRadius, tokens.dropdownBorderWidth, classes.emptyStateWrapper);
26
26
  export var IconArrowWrapper = /*#__PURE__*/styled.div.withConfig({
27
- componentId: "plasma-new-hope__sc-2kddkg-1"
28
- })(["line-height:0;color:var(", ");cursor:", ";.", "{transform:rotate(-180deg);}&:hover,&:active{color:", ";}"], tokens.disclosureIconColor, function (_ref5) {
29
- var disabled = _ref5.disabled;
27
+ componentId: "plasma-new-hope__sc-2kddkg-2"
28
+ })(["line-height:0;color:var(", ");cursor:", ";.", "{transform:rotate(-180deg);}&:hover,&:active{color:", ";}"], tokens.disclosureIconColor, function (_ref4) {
29
+ var disabled = _ref4.disabled;
30
30
  return disabled ? 'inherit' : 'pointer';
31
- }, classes.arrowInverse, function (_ref6) {
32
- var disabled = _ref6.disabled;
31
+ }, classes.arrowInverse, function (_ref5) {
32
+ var disabled = _ref5.disabled;
33
33
  return disabled ? "var(".concat(tokens.disclosureIconColor, ")") : "var(".concat(tokens.disclosureIconColorHover, ")");
34
34
  });
35
35
 
@@ -39,20 +39,20 @@ export var sizeMap = {
39
39
  s: '1.5rem'
40
40
  };
41
41
  export var StyledArrow = /*#__PURE__*/styled(IconDisclosureDownCentered).withConfig({
42
- componentId: "plasma-new-hope__sc-2kddkg-2"
43
- })(["width:", ";height:", ";"], function (_ref7) {
42
+ componentId: "plasma-new-hope__sc-2kddkg-3"
43
+ })(["width:", ";height:", ";"], function (_ref6) {
44
+ var _ref6$size = _ref6.size,
45
+ size = _ref6$size === void 0 ? 'xs' : _ref6$size;
46
+ return "var(".concat(tokens.disclosureIconSize, ", ").concat(sizeMap[size], ")");
47
+ }, function (_ref7) {
44
48
  var _ref7$size = _ref7.size,
45
49
  size = _ref7$size === void 0 ? 'xs' : _ref7$size;
46
50
  return "var(".concat(tokens.disclosureIconSize, ", ").concat(sizeMap[size], ")");
47
- }, function (_ref8) {
48
- var _ref8$size = _ref8.size,
49
- size = _ref8$size === void 0 ? 'xs' : _ref8$size;
50
- return "var(".concat(tokens.disclosureIconSize, ", ").concat(sizeMap[size], ")");
51
51
  });
52
52
  export var base = /*#__PURE__*/css([""]);
53
53
  export var StyledEmptyState = /*#__PURE__*/styled(EmptyState).withConfig({
54
- componentId: "plasma-new-hope__sc-2kddkg-3"
54
+ componentId: "plasma-new-hope__sc-2kddkg-4"
55
55
  })(["", ":var(", ");", ":var(", ");", ":var(", ");", ":var(", ");", ":var(", ");", ":var(", ");", ":var(", ");", ":var(", ");"], emptyStateTokens.borderRadius, tokens.textFieldBorderRadius, emptyStateTokens.padding, tokens.emptyStatePadding, emptyStateTokens.fontFamily, tokens.textFieldFontFamily, emptyStateTokens.fontSize, tokens.textFieldFontSize, emptyStateTokens.fontStyle, tokens.textFieldFontStyle, emptyStateTokens.fontWeight, tokens.textFieldFontWeight, emptyStateTokens.fontLetterSpacing, tokens.textFieldLetterSpacing, emptyStateTokens.fontLineHeight, tokens.textFieldLineHeight);
56
56
  export var StyledLeftHelper = /*#__PURE__*/styled.span.withConfig({
57
- componentId: "plasma-new-hope__sc-2kddkg-4"
57
+ componentId: "plasma-new-hope__sc-2kddkg-5"
58
58
  })(["margin:0;padding:0;"]);
@@ -217,14 +217,21 @@ export var tokens = {
217
217
  disclosureIconColor: '--plasma-combobox-disclosure-icon-color',
218
218
  disclosureIconColorHover: '--plasma-combobox-disclosure-icon-color-hover',
219
219
  disclosureIconSize: '--plasma-select-disclosure-icon-size',
220
- disclosureIconMargin: '--plasma-select-disclosure-icon-margin'
220
+ disclosureIconMargin: '--plasma-select-disclosure-icon-margin',
221
+ dividerMarginTop: '--plasma-combobox-divider-margin-top',
222
+ dividerMarginTopTight: '--plasma-combobox-divider-margin-top-tight',
223
+ dividerMarginRight: '--plasma-combobox-divider-margin-right',
224
+ dividerMarginBottom: '--plasma-combobox-divider-margin-bottom',
225
+ dividerMarginBottomTight: '--plasma-combobox-divider-margin-bottom-tight',
226
+ dividerMarginLeft: '--plasma-combobox-divider-margin-left',
227
+ dividerColor: '--plasma-combobox-divider-color'
221
228
  };
222
229
  export var constants = {
223
230
  focusColor: '--surface-accent',
224
231
  focusSize: '0.0625rem',
225
232
  background: '--surface-solid-card',
226
233
  boxShadow: '0px 4px 14px -4px rgba(8, 8, 8, 0.08), 0px 1px 4px -1px rgba(0, 0, 0, 0.04)',
227
- itemBackground: '--plasma-colors-transparent',
234
+ itemBackground: '--surface-clear',
228
235
  textfieldTargetColor: '--text-primary',
229
236
  textfieldOuterLabelColor: '--text-primary',
230
237
  textfieldInnerLabelColor: '--text-secondary',
@@ -238,5 +245,5 @@ export var constants = {
238
245
  fontLetterSpacing: '--plasma-typo-body-xs-letter-spacing',
239
246
  fontLineHeight: '--plasma-typo-body-xs-line-height',
240
247
  cellTitleColor: '--text-primary',
241
- cellBackgroundColor: '--plasma-colors-transparent'
248
+ cellBackgroundColor: '--surface-clear'
242
249
  };
@@ -7,6 +7,8 @@ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e
7
7
  import { flip, shift, size, useFloating, FloatingPortal, offset as offsetMiddleware, autoUpdate } from '@floating-ui/react';
8
8
  import React, { forwardRef } from 'react';
9
9
  import { safeUseId } from '@salutejs/plasma-core';
10
+ // TODO: #2003
11
+ var LIST_PADDING = 2;
10
12
  var FloatingPopover = /*#__PURE__*/forwardRef(function (_ref, ref) {
11
13
  var target = _ref.target,
12
14
  children = _ref.children,
@@ -15,9 +17,8 @@ var FloatingPopover = /*#__PURE__*/forwardRef(function (_ref, ref) {
15
17
  placement = _ref.placement,
16
18
  portal = _ref.portal,
17
19
  listWidth = _ref.listWidth,
18
- _ref$offset = _ref.offset,
19
- offset = _ref$offset === void 0 ? 0 : _ref$offset,
20
- zIndex = _ref.zIndex;
20
+ zIndex = _ref.zIndex,
21
+ isInner = _ref.isInner;
21
22
  var _useFloating = useFloating({
22
23
  whileElementsMounted: function whileElementsMounted(referenceEl, floatingEl, update) {
23
24
  return autoUpdate(referenceEl, floatingEl, update, {
@@ -28,14 +29,17 @@ var FloatingPopover = /*#__PURE__*/forwardRef(function (_ref, ref) {
28
29
  },
29
30
  placement: placement,
30
31
  open: opened,
31
- middleware: [offsetMiddleware(offset), flip({
32
+ middleware: [offsetMiddleware({
33
+ mainAxis: isInner ? 4 : 0,
34
+ alignmentAxis: isInner ? -LIST_PADDING : 0
35
+ }), flip({
32
36
  fallbackAxisSideDirection: 'end'
33
37
  }), shift(), size({
34
38
  apply: function apply(_ref2) {
35
39
  var rects = _ref2.rects,
36
40
  elements = _ref2.elements;
37
41
  Object.assign(elements.floating.style, {
38
- width: listWidth || "".concat(rects.reference.width, "px")
42
+ width: listWidth || "".concat(isInner ? rects.reference.width + LIST_PADDING * 2 : rects.reference.width, "px")
39
43
  });
40
44
  }
41
45
  })]
@@ -2,7 +2,7 @@ import React from 'react';
2
2
  import { safeUseId } from '@salutejs/plasma-core';
3
3
  import { FloatingPopover } from "../../FloatingPopover";
4
4
  import { isEmpty } from "../../../../../utils";
5
- import { Ul } from "../../Combobox.styles";
5
+ import { Ul, ListWrapper } from "../../Combobox.styles";
6
6
  import { Item } from "./ui";
7
7
  export var Inner = function Inner(_ref) {
8
8
  var item = _ref.item,
@@ -35,7 +35,6 @@ export var Inner = function Inner(_ref) {
35
35
  placement: (item === null || item === void 0 ? void 0 : item.placement) || 'right-start',
36
36
  opened: isCurrentListOpen,
37
37
  onToggle: handleToggle,
38
- offset: 2,
39
38
  target: /*#__PURE__*/React.createElement(Item, {
40
39
  item: item,
41
40
  path: path,
@@ -45,12 +44,14 @@ export var Inner = function Inner(_ref) {
45
44
  ariaExpanded: isCurrentListOpen,
46
45
  ariaLevel: nextLevel,
47
46
  ariaLabel: item.label
48
- })
47
+ }),
48
+ isInner: true
49
+ }, /*#__PURE__*/React.createElement(ListWrapper, {
50
+ listWidth: listWidth
49
51
  }, /*#__PURE__*/React.createElement(Ul, {
50
52
  role: "group",
51
53
  id: listId,
52
54
  isInnerUl: true,
53
- listWidth: listWidth,
54
55
  virtual: false
55
56
  }, (_item$items = item.items) === null || _item$items === void 0 ? void 0 : _item$items.map(function (innerItem, innerIndex) {
56
57
  return /*#__PURE__*/React.createElement(Inner, {
@@ -62,7 +63,7 @@ export var Inner = function Inner(_ref) {
62
63
  index: innerIndex,
63
64
  listWidth: listWidth
64
65
  });
65
- })));
66
+ }))));
66
67
  }
67
68
  return /*#__PURE__*/React.createElement(Item, {
68
69
  item: item,
@@ -75,16 +75,16 @@ export var StyledText = /*#__PURE__*/styled.div.withConfig({
75
75
  })(["", ";flex:1;"], /*#__PURE__*/applyEllipsis());
76
76
  export var Wrapper = /*#__PURE__*/styled.li.withConfig({
77
77
  componentId: "plasma-new-hope__sc-1n1xg1s-11"
78
- })(["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(", ");color:var(--text-primary);border-radius:var(", ");user-select:none;border-right:2px solid transparent;border-left:2px 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 (_ref7) {
78
+ })(["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(", ");color:var(--text-primary);border-radius:calc(var(", ") - 0.125rem - var(", ",0rem));user-select:none;background-clip:padding-box;&:hover:not(.", "){cursor:pointer;background-color:var(", ");}&.", "{background-color:var(", ");}&.", "{opacity:", ";cursor:not-allowed;}:focus{outline:none;}", ";"], tokens.itemHeight, function (_ref7) {
79
79
  var variant = _ref7.variant;
80
80
  return "var(".concat(variant === 'tight' ? tokens.itemPaddingTight : tokens.itemPadding, ")");
81
- }, tokens.fontFamily, tokens.fontSize, tokens.fontStyle, tokens.fontWeight, tokens.fontLetterSpacing, tokens.fontLineHeight, constants.itemBackground, tokens.borderRadius, classes.dropdownItemIsDisabled, tokens.itemBackgroundHover, classes.dropdownItemIsActive, tokens.itemBackgroundHover, classes.dropdownItemIsDisabled, constants.opacity, /*#__PURE__*/addFocus({
82
- outlineSize: '0.0625rem',
81
+ }, tokens.fontFamily, tokens.fontSize, tokens.fontStyle, tokens.fontWeight, tokens.fontLetterSpacing, tokens.fontLineHeight, constants.itemBackground, tokens.borderRadius, tokens.dropdownBorderWidth, classes.dropdownItemIsDisabled, tokens.itemBackgroundHover, classes.dropdownItemIsActive, tokens.itemBackgroundHover, classes.dropdownItemIsDisabled, constants.opacity, /*#__PURE__*/addFocus({
82
+ outlineSize: '0',
83
83
  outlineOffset: '0',
84
84
  outlineColor: /*#__PURE__*/"var(".concat(constants.focusColor, ")"),
85
- outlineRadius: /*#__PURE__*/"var(".concat(tokens.itemBorderRadius, ")"),
85
+ outlineRadius: /*#__PURE__*/"calc(var(".concat(tokens.borderRadius, ") - 0.125rem - var(").concat(tokens.dropdownBorderWidth, ", 0rem))"),
86
86
  hasTransition: false,
87
- customFocusRules: /*#__PURE__*/"\n &.".concat(classes.dropdownItemIsFocused, ":before {\n outline: none;\n box-shadow: 0 0 0 0.0625rem var(").concat(constants.focusColor, ");\n }\n ")
87
+ customFocusRules: /*#__PURE__*/"\n &.".concat(classes.dropdownItemIsFocused, ":before {\n outline: none;\n box-shadow: inset 0 0 0 0.0625rem var(").concat(constants.focusColor, ");\n }\n ")
88
88
  }));
89
89
  export var StyledCheckboxWrapper = /*#__PURE__*/styled.span.withConfig({
90
90
  componentId: "plasma-new-hope__sc-1n1xg1s-12"
@@ -0,0 +1,32 @@
1
+ import React from 'react';
2
+ import { IconWrapper, StyledCell, StyledCheckbox, StyledCheckboxWrapper, StyledWrapper, Wrapper as ItemWrapper } from "../Inner/ui/Item/Item.styles";
3
+ import { Divider, Wrapper, DividerWrapper } from "./SelectAll.styles";
4
+ export var SelectAll = function SelectAll(_ref) {
5
+ var variant = _ref.variant,
6
+ selectAllOptions = _ref.selectAllOptions;
7
+ return /*#__PURE__*/React.createElement(Wrapper, {
8
+ variant: variant,
9
+ onClick: selectAllOptions === null || selectAllOptions === void 0 ? void 0 : selectAllOptions.onClick,
10
+ sticky: selectAllOptions === null || selectAllOptions === void 0 ? void 0 : selectAllOptions.sticky
11
+ }, /*#__PURE__*/React.createElement(ItemWrapper, {
12
+ variant: variant
13
+ }, /*#__PURE__*/React.createElement(IconWrapper, {
14
+ variant: variant
15
+ }, /*#__PURE__*/React.createElement(StyledCheckboxWrapper, {
16
+ onClick: function onClick(e) {
17
+ return e.preventDefault();
18
+ }
19
+ }, /*#__PURE__*/React.createElement(StyledCheckbox, {
20
+ checked: selectAllOptions === null || selectAllOptions === void 0 ? void 0 : selectAllOptions.checked,
21
+ indeterminate: selectAllOptions === null || selectAllOptions === void 0 ? void 0 : selectAllOptions.indeterminate,
22
+ appearance: "default"
23
+ }))), /*#__PURE__*/React.createElement(StyledWrapper, null, /*#__PURE__*/React.createElement(StyledCell
24
+ // TODO: #1548
25
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
26
+ // @ts-ignore
27
+ , {
28
+ title: /*#__PURE__*/React.createElement("span", null, (selectAllOptions === null || selectAllOptions === void 0 ? void 0 : selectAllOptions.label) || 'Выбрать всё')
29
+ }))), /*#__PURE__*/React.createElement(DividerWrapper, null, /*#__PURE__*/React.createElement(Divider, {
30
+ variant: variant
31
+ })));
32
+ };
@@ -0,0 +1,20 @@
1
+ import styled from 'styled-components';
2
+ import { tokens, constants } from "../../Combobox.tokens";
3
+ export var Wrapper = /*#__PURE__*/styled.div.withConfig({
4
+ componentId: "plasma-new-hope__sc-10t9fym-0"
5
+ })(["position:", ";z-index:10;top:0;display:flex;flex-direction:column;background:var(", ");margin-bottom:", ";border-top-left-radius:calc(var(", ") - 0.125rem - var(", ",0rem));border-top-right-radius:calc(var(", ") - 0.125rem - var(", ",0rem));"], function (_ref) {
6
+ var sticky = _ref.sticky;
7
+ return sticky ? 'sticky' : 'static';
8
+ }, constants.background, function (_ref2) {
9
+ var variant = _ref2.variant;
10
+ return "var(".concat(variant === 'tight' ? tokens.dividerMarginBottomTight : tokens.dividerMarginBottom, ")");
11
+ }, tokens.borderRadius, tokens.dropdownBorderWidth, tokens.borderRadius, tokens.dropdownBorderWidth);
12
+ export var DividerWrapper = /*#__PURE__*/styled.div.withConfig({
13
+ componentId: "plasma-new-hope__sc-10t9fym-1"
14
+ })(["background:var(", ");"], constants.background);
15
+ export var Divider = /*#__PURE__*/styled.div.withConfig({
16
+ componentId: "plasma-new-hope__sc-10t9fym-2"
17
+ })(["height:0.0625rem;margin-top:", ";margin-right:var(", ");margin-left:var(", ");background:var(", ");"], function (_ref3) {
18
+ var variant = _ref3.variant;
19
+ return "var(".concat(variant === 'tight' ? tokens.dividerMarginTopTight : tokens.dividerMarginTop, ")");
20
+ }, tokens.dividerMarginRight, tokens.dividerMarginLeft, tokens.dividerColor);
@@ -1,3 +1,4 @@
1
1
  export * from "./Inner/Inner";
2
2
  export * from "./Target/Target";
3
- export * from "./VirtualList/VirtualList";
3
+ export * from "./VirtualList/VirtualList";
4
+ export * from "./SelectAll/SelectAll";
@@ -8,6 +8,8 @@ import { flip, shift, size, useFloating, FloatingPortal, offset as offsetMiddlew
8
8
  import React, { forwardRef } from 'react';
9
9
  import { safeUseId } from '@salutejs/plasma-core';
10
10
  import { getPlacement, getFallbackPlacements } from "./utils";
11
+ // TODO: #2003
12
+ var LIST_PADDING = 2;
11
13
  var FloatingPopover = /*#__PURE__*/forwardRef(function (_ref, ref) {
12
14
  var target = _ref.target,
13
15
  children = _ref.children,
@@ -16,9 +18,8 @@ var FloatingPopover = /*#__PURE__*/forwardRef(function (_ref, ref) {
16
18
  placement = _ref.placement,
17
19
  portal = _ref.portal,
18
20
  listWidth = _ref.listWidth,
19
- _ref$offset = _ref.offset,
20
- offset = _ref$offset === void 0 ? 0 : _ref$offset,
21
- zIndex = _ref.zIndex;
21
+ zIndex = _ref.zIndex,
22
+ isInner = _ref.isInner;
22
23
  var _useFloating = useFloating({
23
24
  whileElementsMounted: function whileElementsMounted(referenceEl, floatingEl, update) {
24
25
  return autoUpdate(referenceEl, floatingEl, update, {
@@ -29,14 +30,17 @@ var FloatingPopover = /*#__PURE__*/forwardRef(function (_ref, ref) {
29
30
  },
30
31
  placement: getPlacement(placement),
31
32
  open: opened,
32
- middleware: [offsetMiddleware(offset), flip({
33
+ middleware: [offsetMiddleware({
34
+ mainAxis: isInner ? 4 : 0,
35
+ alignmentAxis: isInner ? -LIST_PADDING : 0
36
+ }), flip({
33
37
  fallbackPlacements: getFallbackPlacements(placement)
34
38
  }), shift(), size({
35
39
  apply: function apply(_ref2) {
36
40
  var rects = _ref2.rects,
37
41
  elements = _ref2.elements;
38
42
  Object.assign(elements.floating.style, {
39
- width: listWidth || "".concat(rects.reference.width, "px")
43
+ width: listWidth || "".concat(isInner ? rects.reference.width + LIST_PADDING * 2 : rects.reference.width, "px")
40
44
  });
41
45
  }
42
46
  })]
@@ -15,10 +15,10 @@ import { isEmpty } from "../../utils";
15
15
  import { useOutsideClick } from "../../hooks";
16
16
  import { useKeyNavigation, getItemByFocused } from "./hooks/useKeyboardNavigation";
17
17
  import { initialItemsTransform, updateAncestors, updateDescendants, updateSingleAncestors, getView } from "./utils";
18
- import { Inner, Target, VirtualList } from "./ui";
18
+ import { Inner, Target, VirtualList, SelectAll } from "./ui";
19
19
  import { pathReducer, focusedPathReducer } from "./reducers";
20
20
  import { usePathMaps } from "./hooks/usePathMaps";
21
- import { Ul, base } from "./Select.styles";
21
+ import { Ul, base, ListWrapper } from "./Select.styles";
22
22
  import { FloatingPopover } from "./FloatingPopover";
23
23
  import { SelectNative } from "./ui/SelectNative/SelectNative";
24
24
  import { Context } from "./Select.context";
@@ -402,7 +402,8 @@ export var selectRoot = function selectRoot(Root) {
402
402
  hintProps: hintProps
403
403
  });
404
404
  },
405
- zIndex: zIndex
405
+ zIndex: zIndex,
406
+ isInner: false
406
407
  }, /*#__PURE__*/React.createElement(Root, _extends({
407
408
  view: view,
408
409
  size: size,
@@ -410,17 +411,24 @@ export var selectRoot = function selectRoot(Root) {
410
411
  chipView: chipView,
411
412
  disabled: disabled,
412
413
  readOnly: readOnly
413
- }, rest), /*#__PURE__*/React.createElement(Ul, {
414
+ }, rest), /*#__PURE__*/React.createElement(ListWrapper, {
415
+ listWidth: listWidth
416
+ }, /*#__PURE__*/React.createElement(Ul, {
414
417
  role: "tree",
415
418
  id: "".concat(treeId, "_tree_level_1"),
416
419
  "aria-multiselectable": Boolean(props.multiselect),
417
420
  listOverflow: listOverflow,
418
421
  listMaxHeight: listMaxHeight || listHeight,
419
422
  onScroll: virtual ? undefined : handleScroll,
420
- listWidth: listWidth,
421
423
  ref: targetRef,
422
424
  virtual: virtual
423
- }, beforeList, virtual ? /*#__PURE__*/React.createElement(VirtualList, {
425
+ }, beforeList, props.multiselect && props.selectAllOptions &&
426
+ /*#__PURE__*/
427
+ // TODO: #2004
428
+ React.createElement(SelectAll, {
429
+ selectAllOptions: props.selectAllOptions,
430
+ variant: variant
431
+ }), virtual ? /*#__PURE__*/React.createElement(VirtualList, {
424
432
  items: transformedItems,
425
433
  listMaxHeight: listMaxHeight || listHeight,
426
434
  onScroll: onScroll
@@ -434,7 +442,7 @@ export var selectRoot = function selectRoot(Root) {
434
442
  index: index,
435
443
  listWidth: listWidth
436
444
  });
437
- }), afterList)))));
445
+ }), afterList))))));
438
446
  });
439
447
  };
440
448
  export var selectConfig = {
@@ -2,12 +2,15 @@ import styled from 'styled-components';
2
2
  import { css } from 'styled-components';
3
3
  import { getCorrectHeight } from "./utils";
4
4
  import { tokens, constants } from "./Select.tokens";
5
- export var Ul = /*#__PURE__*/styled.ul.withConfig({
5
+ export var ListWrapper = /*#__PURE__*/styled.div.withConfig({
6
6
  componentId: "plasma-new-hope__sc-le54jv-0"
7
- })(["background:var(", ");box-shadow:", ",inset 0 0 0 var(", ",0rem) var(", ",transparent);border-radius:var(", ");width:", ";max-height:", ";overflow-y:", ";margin:", ";padding:calc(var(", ") + var(", ",0rem)) 0;"], constants.background, constants.boxShadow, tokens.dropdownBorderWidth, tokens.dropdownBorderColor, tokens.borderRadius, function (_ref) {
7
+ })(["width:", ";padding:calc(var(", ") + var(", ",0rem));border-radius:var(", ");box-sizing:border-box;background:var(", ");box-shadow:", ",inset 0 0 0 var(", ",0rem) var(", ",transparent);"], function (_ref) {
8
8
  var listWidth = _ref.listWidth;
9
9
  return listWidth || '100%';
10
- }, function (_ref2) {
10
+ }, tokens.padding, tokens.dropdownBorderWidth, tokens.borderRadius, constants.background, constants.boxShadow, tokens.dropdownBorderWidth, tokens.dropdownBorderColor);
11
+ export var Ul = /*#__PURE__*/styled.ul.withConfig({
12
+ componentId: "plasma-new-hope__sc-le54jv-1"
13
+ })(["max-height:", ";overflow-y:", ";border-radius:calc(var(", ") - 0.125rem - var(", ",0rem));margin:0;padding:0;"], function (_ref2) {
11
14
  var virtual = _ref2.virtual,
12
15
  listMaxHeight = _ref2.listMaxHeight;
13
16
  return (
@@ -18,8 +21,5 @@ export var Ul = /*#__PURE__*/styled.ul.withConfig({
18
21
  var virtual = _ref3.virtual,
19
22
  listOverflow = _ref3.listOverflow;
20
23
  return virtual ? 'visible' : listOverflow || 'visible';
21
- }, function (_ref4) {
22
- var isInnerUl = _ref4.isInnerUl;
23
- return isInnerUl ? "calc(var(".concat(tokens.padding, ") * -1) 0 0 0") : "var(".concat(tokens.margin, ") 0 0 0");
24
- }, tokens.padding, tokens.dropdownBorderWidth);
24
+ }, tokens.borderRadius, tokens.dropdownBorderWidth);
25
25
  export var base = /*#__PURE__*/css([""]);
@@ -508,6 +508,64 @@ Select может выглядеть как Button и как Textfield. За э
508
508
  }
509
509
  ```
510
510
  </TabItem>
511
+ <TabItem value="selectAll" label="Выбрать всё">
512
+ Работа с кнопкой "Выбрать всё" осуществляется через свойство `selectAllOptions` только в режиме `multiselect`:
513
+ ```tsx
514
+ type SelectAllProps = {
515
+ checked?: boolean;
516
+ indeterminate?: boolean;
517
+ label?: string;
518
+ onClick?: () => void;
519
+ sticky?: boolean;
520
+ };
521
+ ```
522
+ Вся логика выбора элементов и взаимодействия с компонентом лежит на стороне пользователя.
523
+
524
+ ```tsx live
525
+ import React, { useState } from 'react';
526
+ import { Select } from '@salutejs/{{ package }}';
527
+
528
+ export function App() {
529
+ const [checked, setChecked] = useState(false);
530
+
531
+ const items = [
532
+ {
533
+ value: 'north_america',
534
+ label: 'Северная Америка',
535
+ },
536
+ {
537
+ value: 'south_america',
538
+ label: 'Южная Америка',
539
+ items: [
540
+ {
541
+ value: 'brazil',
542
+ label: 'Бразилия',
543
+ },
544
+ {
545
+ value: 'argentina',
546
+ label: 'Аргентина',
547
+ },
548
+ ],
549
+ },
550
+ ];
551
+
552
+ return (
553
+ <div style={{ display: "flex", gap: "30px", height: "300px" }}>
554
+ <Select
555
+ label="Label"
556
+ placeholder="Placeholder"
557
+ items={items}
558
+ multiselect
559
+ selectAllOptions={{
560
+ checked,
561
+ onClick: () => setChecked(prev => !prev)
562
+ }}
563
+ />
564
+ </div>
565
+ );
566
+ }
567
+ ```
568
+ </TabItem>
511
569
  </Tabs>
512
570
 
513
571
 
@@ -55,6 +55,13 @@ export var tokens = {
55
55
  checkboxTriggerBorderWidth: '--plasma-select-checkbox-trigger-border-width',
56
56
  indicatorSize: '--plasma-select-indicator-size',
57
57
  targetHeight: '--plasma-select-target-height',
58
+ dividerMarginTop: '--plasma-select-divider-margin-top',
59
+ dividerMarginTopTight: '--plasma-select-divider-margin-top-tight',
60
+ dividerMarginRight: '--plasma-select-divider-margin-right',
61
+ dividerMarginBottom: '--plasma-select-divider-margin-bottom',
62
+ dividerMarginBottomTight: '--plasma-select-divider-margin-bottom-tight',
63
+ dividerMarginLeft: '--plasma-select-divider-margin-left',
64
+ dividerColor: '--plasma-select-divider-color',
58
65
  // Токены для Button
59
66
  buttonColor: '--plasma-select-button-color',
60
67
  buttonColorHover: '--plasma-select-button-color-hover',
@@ -228,7 +235,7 @@ export var constants = {
228
235
  focusSize: '0.0625rem',
229
236
  background: '--surface-solid-card',
230
237
  boxShadow: '0px 4px 14px -4px rgba(8, 8, 8, 0.08), 0px 1px 4px -1px rgba(0, 0, 0, 0.04)',
231
- itemBackground: '--plasma-colors-transparent',
238
+ itemBackground: '--surface-clear',
232
239
  textfieldTargetColor: '--text-primary',
233
240
  textfieldOuterLabelColor: '--text-primary',
234
241
  textfieldInnerLabelColor: '--text-secondary',
@@ -241,5 +248,5 @@ export var constants = {
241
248
  fontLetterSpacing: '--plasma-typo-body-xs-letter-spacing',
242
249
  fontLineHeight: '--plasma-typo-body-xs-line-height',
243
250
  cellTitleColor: '--text-primary',
244
- cellBackgroundColor: '--plasma-colors-transparent'
251
+ cellBackgroundColor: '--surface-clear'
245
252
  };
@@ -142,7 +142,7 @@ export var useKeyNavigation = function useKeyNavigation(_ref) {
142
142
  });
143
143
  break;
144
144
  }
145
- if (!_currentItem || _currentItem !== null && _currentItem !== void 0 && _currentItem.disabled) {
145
+ if (!_currentItem || _currentItem !== null && _currentItem !== void 0 && _currentItem.disabled || _currentItem !== null && _currentItem !== void 0 && _currentItem.isDisabled) {
146
146
  break;
147
147
  }
148
148
  handlePressDown(_currentItem);
@@ -152,7 +152,7 @@ export var useKeyNavigation = function useKeyNavigation(_ref) {
152
152
  {
153
153
  event.preventDefault();
154
154
  var _currentItem2 = getItemByFocused(focusedPath, focusedToValueMap);
155
- if (_currentItem2 !== null && _currentItem2 !== void 0 && _currentItem2.disabled) {
155
+ if (_currentItem2 !== null && _currentItem2 !== void 0 && _currentItem2.disabled || _currentItem2 !== null && _currentItem2 !== void 0 && _currentItem2.isDisabled) {
156
156
  break;
157
157
  }
158
158
  if (!path[0]) {
@@ -1,7 +1,7 @@
1
1
  import React from 'react';
2
2
  import { safeUseId } from '@salutejs/plasma-core';
3
3
  import { isEmpty } from "../../../../utils";
4
- import { Ul } from "../../Select.styles";
4
+ import { Ul, ListWrapper } from "../../Select.styles";
5
5
  import { FloatingPopover } from "../../FloatingPopover";
6
6
  import { Item } from "./ui/Item/Item";
7
7
  export var Inner = function Inner(_ref) {
@@ -35,7 +35,6 @@ export var Inner = function Inner(_ref) {
35
35
  placement: (item === null || item === void 0 ? void 0 : item.placement) || 'right',
36
36
  opened: isCurrentListOpen,
37
37
  onToggle: handleToggle,
38
- offset: 2,
39
38
  target: /*#__PURE__*/React.createElement(Item, {
40
39
  item: item,
41
40
  path: path,
@@ -45,12 +44,14 @@ export var Inner = function Inner(_ref) {
45
44
  ariaExpanded: isCurrentListOpen,
46
45
  ariaLevel: nextLevel,
47
46
  ariaLabel: item.label
48
- })
47
+ }),
48
+ isInner: true
49
+ }, /*#__PURE__*/React.createElement(ListWrapper, {
50
+ listWidth: listWidth
49
51
  }, /*#__PURE__*/React.createElement(Ul, {
50
52
  role: "group",
51
53
  id: listId,
52
54
  isInnerUl: true,
53
- listWidth: listWidth,
54
55
  virtual: false
55
56
  }, (_item$items = item.items) === null || _item$items === void 0 ? void 0 : _item$items.map(function (innerItem, innerIndex) {
56
57
  return /*#__PURE__*/React.createElement(Inner, {
@@ -62,7 +63,7 @@ export var Inner = function Inner(_ref) {
62
63
  index: innerIndex,
63
64
  listWidth: listWidth
64
65
  });
65
- })));
66
+ }))));
66
67
  }
67
68
  return /*#__PURE__*/React.createElement(Item, {
68
69
  item: item,
@@ -72,16 +72,16 @@ export var StyledText = /*#__PURE__*/styled.div.withConfig({
72
72
  })(["", ";flex:1;"], /*#__PURE__*/applyEllipsis());
73
73
  export var Wrapper = /*#__PURE__*/styled.li.withConfig({
74
74
  componentId: "plasma-new-hope__sc-fr2h0y-9"
75
- })(["display:flex;align-items:center;min-height:var(", ");margin:0 calc(0.125rem + var(", ",0rem));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(", ");color:var(--text-primary);border-radius:calc(var(", ") - 0.125rem - var(", ",0rem));user-select:none;background-clip:padding-box;&:hover:not(.", "){cursor:pointer;background-color:var(", ");}&.", "{background-color:var(", ");}&.", "{opacity:var(", ");color:var(", ");cursor:not-allowed;}:focus{outline:none;}", ";"], tokens.itemHeight, tokens.dropdownBorderWidth, function (_ref8) {
75
+ })(["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(", ");color:var(--text-primary);border-radius:calc(var(", ") - 0.125rem - var(", ",0rem));user-select:none;background-clip:padding-box;&:hover:not(.", "){cursor:pointer;background-color:var(", ");}&.", "{background-color:var(", ");}&.", "{opacity:var(", ");color:var(", ");cursor:not-allowed;}:focus{outline:none;}", ";"], tokens.itemHeight, function (_ref8) {
76
76
  var variant = _ref8.variant;
77
77
  return "var(".concat(variant === 'tight' ? tokens.itemPaddingTight : tokens.itemPadding, ")");
78
78
  }, tokens.fontFamily, tokens.fontSize, tokens.fontStyle, tokens.fontWeight, tokens.fontLetterSpacing, tokens.fontLineHeight, constants.itemBackground, tokens.borderRadius, tokens.dropdownBorderWidth, classes.dropdownItemIsDisabled, tokens.itemBackgroundHover, classes.dropdownItemIsActive, tokens.itemBackgroundHover, classes.dropdownItemIsDisabled, tokens.itemDisabledOpacity, tokens.itemDisabledColor, /*#__PURE__*/addFocus({
79
- outlineSize: '0.0625rem',
79
+ outlineSize: '0',
80
80
  outlineOffset: '0',
81
81
  outlineColor: /*#__PURE__*/"var(".concat(constants.focusColor, ")"),
82
82
  outlineRadius: /*#__PURE__*/"calc(var(".concat(tokens.borderRadius, ") - 0.125rem - var(").concat(tokens.dropdownBorderWidth, ", 0rem))"),
83
83
  hasTransition: false,
84
- customFocusRules: /*#__PURE__*/"\n &.".concat(classes.dropdownItemIsFocused, ":before {\n outline: none;\n box-shadow: 0 0 0 0.0625rem var(").concat(constants.focusColor, ");\n }\n ")
84
+ customFocusRules: /*#__PURE__*/"\n &.".concat(classes.dropdownItemIsFocused, ":before {\n outline: none;\n box-shadow: inset 0 0 0 0.0625rem var(").concat(constants.focusColor, ");\n }\n ")
85
85
  }));
86
86
  export var StyledCheckboxWrapper = /*#__PURE__*/styled.span.withConfig({
87
87
  componentId: "plasma-new-hope__sc-fr2h0y-10"
@@ -0,0 +1,32 @@
1
+ import React from 'react';
2
+ import { IconWrapper, StyledCell, StyledCheckbox, StyledCheckboxWrapper, StyledWrapper, Wrapper as ItemWrapper } from "../Inner/ui/Item/Item.styles";
3
+ import { Divider, Wrapper, DividerWrapper } from "./SelectAll.styles";
4
+ export var SelectAll = function SelectAll(_ref) {
5
+ var variant = _ref.variant,
6
+ selectAllOptions = _ref.selectAllOptions;
7
+ return /*#__PURE__*/React.createElement(Wrapper, {
8
+ variant: variant,
9
+ onClick: selectAllOptions === null || selectAllOptions === void 0 ? void 0 : selectAllOptions.onClick,
10
+ sticky: selectAllOptions === null || selectAllOptions === void 0 ? void 0 : selectAllOptions.sticky
11
+ }, /*#__PURE__*/React.createElement(ItemWrapper, {
12
+ variant: variant
13
+ }, /*#__PURE__*/React.createElement(IconWrapper, {
14
+ variant: variant
15
+ }, /*#__PURE__*/React.createElement(StyledCheckboxWrapper, {
16
+ onClick: function onClick(e) {
17
+ return e.preventDefault();
18
+ }
19
+ }, /*#__PURE__*/React.createElement(StyledCheckbox, {
20
+ checked: selectAllOptions === null || selectAllOptions === void 0 ? void 0 : selectAllOptions.checked,
21
+ indeterminate: selectAllOptions === null || selectAllOptions === void 0 ? void 0 : selectAllOptions.indeterminate,
22
+ appearance: "default"
23
+ }))), /*#__PURE__*/React.createElement(StyledWrapper, null, /*#__PURE__*/React.createElement(StyledCell
24
+ // TODO: #1548
25
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
26
+ // @ts-ignore
27
+ , {
28
+ title: /*#__PURE__*/React.createElement("span", null, (selectAllOptions === null || selectAllOptions === void 0 ? void 0 : selectAllOptions.label) || 'Выбрать всё')
29
+ }))), /*#__PURE__*/React.createElement(DividerWrapper, null, /*#__PURE__*/React.createElement(Divider, {
30
+ variant: variant
31
+ })));
32
+ };