@salutejs/plasma-new-hope 0.324.0-dev.0 → 0.324.1-canary.1986.15225454757.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 (241) hide show
  1. package/cjs/components/Combobox/ComboboxNew/Combobox.css +55 -51
  2. package/cjs/components/Combobox/ComboboxNew/Combobox.js +5 -1
  3. package/cjs/components/Combobox/ComboboxNew/Combobox.js.map +1 -1
  4. package/cjs/components/Combobox/ComboboxNew/Combobox.tokens.js +8 -1
  5. package/cjs/components/Combobox/ComboboxNew/Combobox.tokens.js.map +1 -1
  6. package/cjs/components/Combobox/ComboboxNew/ui/Inner/ui/Item/Item.styles.js +1 -1
  7. package/cjs/components/Combobox/ComboboxNew/ui/SelectAll/SelectAll.css +56 -0
  8. package/cjs/components/Combobox/ComboboxNew/ui/SelectAll/SelectAll.js +44 -0
  9. package/cjs/components/Combobox/ComboboxNew/ui/SelectAll/SelectAll.js.map +1 -0
  10. package/cjs/components/Combobox/ComboboxNew/ui/SelectAll/SelectAll.styles.js +53 -0
  11. package/cjs/components/Combobox/ComboboxNew/ui/SelectAll/SelectAll.styles.js.map +1 -0
  12. package/cjs/components/Combobox/ComboboxNew/ui/SelectAll/SelectAll.styles_1bpknuo.css +3 -0
  13. package/cjs/components/Pagination/Pagination.css +55 -51
  14. package/cjs/components/Pagination/ui/PaginationSelectPerPage/PaginationSelectPerPage.css +55 -51
  15. package/cjs/components/PaginationDots/PaginationDot.js +59 -0
  16. package/cjs/components/PaginationDots/PaginationDot.js.map +1 -0
  17. package/cjs/components/PaginationDots/PaginationDot_baul9c.css +2 -0
  18. package/cjs/components/PaginationDots/PaginationDots.js +34 -0
  19. package/cjs/components/PaginationDots/PaginationDots.js.map +1 -0
  20. package/cjs/components/PaginationDots/PaginationDots_fm2ha5.css +2 -0
  21. package/cjs/components/PaginationDots/SmartPaginationDots.css +5 -0
  22. package/cjs/components/PaginationDots/SmartPaginationDots.js +47 -0
  23. package/cjs/components/PaginationDots/SmartPaginationDots.js.map +1 -0
  24. package/cjs/components/PaginationDots/usePaginationDots.js +40 -0
  25. package/cjs/components/PaginationDots/usePaginationDots.js.map +1 -0
  26. package/cjs/components/Select/Select.css +55 -51
  27. package/cjs/components/Select/Select.js +5 -1
  28. package/cjs/components/Select/Select.js.map +1 -1
  29. package/cjs/components/Select/Select.tokens.js +7 -0
  30. package/cjs/components/Select/Select.tokens.js.map +1 -1
  31. package/cjs/components/Select/ui/Inner/ui/Item/Item.styles.js +1 -1
  32. package/cjs/components/Select/ui/SelectAll/SelectAll.css +54 -0
  33. package/cjs/components/Select/ui/SelectAll/SelectAll.js +44 -0
  34. package/cjs/components/Select/ui/SelectAll/SelectAll.js.map +1 -0
  35. package/cjs/components/Select/ui/SelectAll/SelectAll.styles.js +53 -0
  36. package/cjs/components/Select/ui/SelectAll/SelectAll.styles.js.map +1 -0
  37. package/cjs/components/Select/ui/SelectAll/SelectAll.styles_iii1q7.css +3 -0
  38. package/cjs/components/Table/Table.css +32 -28
  39. package/cjs/components/Table/ui/Cell/Cell.css +32 -28
  40. package/cjs/components/Table/ui/EditableCell/EditableCell.css +32 -28
  41. package/cjs/components/Table/ui/HeadCell/HeadCell.css +32 -28
  42. package/cjs/components/Table/ui/HeadCell/ui/Filter/Filter.css +32 -28
  43. package/cjs/index.css +25 -11
  44. package/cjs/index.js +6 -0
  45. package/cjs/index.js.map +1 -1
  46. package/emotion/cjs/components/Combobox/Combobox.template-doc.mdx +58 -0
  47. package/emotion/cjs/components/Combobox/ComboboxNew/Combobox.js +4 -1
  48. package/emotion/cjs/components/Combobox/ComboboxNew/Combobox.tokens.js +8 -1
  49. package/emotion/cjs/components/Combobox/ComboboxNew/ui/SelectAll/SelectAll.js +39 -0
  50. package/emotion/cjs/components/Combobox/ComboboxNew/ui/SelectAll/SelectAll.styles.js +30 -0
  51. package/emotion/cjs/components/Combobox/ComboboxNew/ui/index.js +11 -0
  52. package/emotion/cjs/components/PaginationDots/PaginationDot.js +35 -0
  53. package/emotion/cjs/components/PaginationDots/PaginationDots.js +35 -0
  54. package/emotion/cjs/components/PaginationDots/SmartPaginationDots.js +43 -0
  55. package/emotion/cjs/components/PaginationDots/index.js +26 -0
  56. package/emotion/cjs/components/PaginationDots/usePaginationDots.js +38 -0
  57. package/emotion/cjs/components/Select/Select.js +4 -1
  58. package/emotion/cjs/components/Select/Select.template-doc.mdx +58 -0
  59. package/emotion/cjs/components/Select/Select.tokens.js +7 -0
  60. package/emotion/cjs/components/Select/ui/SelectAll/SelectAll.js +39 -0
  61. package/emotion/cjs/components/Select/ui/SelectAll/SelectAll.styles.js +30 -0
  62. package/emotion/cjs/components/Select/ui/index.js +11 -0
  63. package/emotion/cjs/examples/plasma_b2c/components/Combobox/Combobox.config.js +15 -15
  64. package/emotion/cjs/examples/plasma_b2c/components/Combobox/Combobox.js +13 -2
  65. package/emotion/cjs/examples/plasma_b2c/components/Combobox/Combobox.stories.tsx +16 -2
  66. package/emotion/cjs/examples/plasma_b2c/components/Select/Select.config.js +24 -24
  67. package/emotion/cjs/examples/plasma_b2c/components/Select/Select.stories.tsx +22 -3
  68. package/emotion/cjs/examples/plasma_web/components/Combobox/Combobox.config.js +15 -15
  69. package/emotion/cjs/examples/plasma_web/components/Combobox/Combobox.js +12 -2
  70. package/emotion/cjs/examples/plasma_web/components/Combobox/Combobox.stories.tsx +16 -2
  71. package/emotion/cjs/examples/plasma_web/components/Select/Select.config.js +24 -24
  72. package/emotion/cjs/examples/plasma_web/components/Select/Select.stories.tsx +22 -3
  73. package/emotion/cjs/index.js +11 -0
  74. package/emotion/es/components/Combobox/Combobox.template-doc.mdx +58 -0
  75. package/emotion/es/components/Combobox/ComboboxNew/Combobox.js +5 -2
  76. package/emotion/es/components/Combobox/ComboboxNew/Combobox.tokens.js +8 -1
  77. package/emotion/es/components/Combobox/ComboboxNew/ui/SelectAll/SelectAll.js +32 -0
  78. package/emotion/es/components/Combobox/ComboboxNew/ui/SelectAll/SelectAll.styles.js +23 -0
  79. package/emotion/es/components/Combobox/ComboboxNew/ui/index.js +2 -1
  80. package/emotion/es/components/PaginationDots/PaginationDot.js +28 -0
  81. package/emotion/es/components/PaginationDots/PaginationDots.js +28 -0
  82. package/emotion/es/components/PaginationDots/SmartPaginationDots.js +36 -0
  83. package/emotion/es/components/PaginationDots/index.js +3 -0
  84. package/emotion/es/components/PaginationDots/usePaginationDots.js +32 -0
  85. package/emotion/es/components/Select/Select.js +5 -2
  86. package/emotion/es/components/Select/Select.template-doc.mdx +58 -0
  87. package/emotion/es/components/Select/Select.tokens.js +7 -0
  88. package/emotion/es/components/Select/ui/SelectAll/SelectAll.js +32 -0
  89. package/emotion/es/components/Select/ui/SelectAll/SelectAll.styles.js +23 -0
  90. package/emotion/es/components/Select/ui/index.js +2 -1
  91. package/emotion/es/examples/plasma_b2c/components/Combobox/Combobox.config.js +15 -15
  92. package/emotion/es/examples/plasma_b2c/components/Combobox/Combobox.js +10 -2
  93. package/emotion/es/examples/plasma_b2c/components/Combobox/Combobox.stories.tsx +16 -2
  94. package/emotion/es/examples/plasma_b2c/components/Select/Select.config.js +24 -24
  95. package/emotion/es/examples/plasma_b2c/components/Select/Select.stories.tsx +22 -3
  96. package/emotion/es/examples/plasma_web/components/Combobox/Combobox.config.js +15 -15
  97. package/emotion/es/examples/plasma_web/components/Combobox/Combobox.js +10 -3
  98. package/emotion/es/examples/plasma_web/components/Combobox/Combobox.stories.tsx +16 -2
  99. package/emotion/es/examples/plasma_web/components/Select/Select.config.js +24 -24
  100. package/emotion/es/examples/plasma_web/components/Select/Select.stories.tsx +22 -3
  101. package/emotion/es/index.js +2 -1
  102. package/es/components/Combobox/ComboboxNew/Combobox.css +55 -51
  103. package/es/components/Combobox/ComboboxNew/Combobox.js +5 -1
  104. package/es/components/Combobox/ComboboxNew/Combobox.js.map +1 -1
  105. package/es/components/Combobox/ComboboxNew/Combobox.tokens.js +8 -1
  106. package/es/components/Combobox/ComboboxNew/Combobox.tokens.js.map +1 -1
  107. package/es/components/Combobox/ComboboxNew/ui/Inner/ui/Item/Item.styles.js +1 -1
  108. package/es/components/Combobox/ComboboxNew/ui/SelectAll/SelectAll.css +56 -0
  109. package/es/components/Combobox/ComboboxNew/ui/SelectAll/SelectAll.js +36 -0
  110. package/es/components/Combobox/ComboboxNew/ui/SelectAll/SelectAll.js.map +1 -0
  111. package/es/components/Combobox/ComboboxNew/ui/SelectAll/SelectAll.styles.js +47 -0
  112. package/es/components/Combobox/ComboboxNew/ui/SelectAll/SelectAll.styles.js.map +1 -0
  113. package/es/components/Combobox/ComboboxNew/ui/SelectAll/SelectAll.styles_1bpknuo.css +3 -0
  114. package/es/components/Pagination/Pagination.css +55 -51
  115. package/es/components/Pagination/ui/PaginationSelectPerPage/PaginationSelectPerPage.css +55 -51
  116. package/es/components/PaginationDots/PaginationDot.js +54 -0
  117. package/es/components/PaginationDots/PaginationDot.js.map +1 -0
  118. package/es/components/PaginationDots/PaginationDot_baul9c.css +2 -0
  119. package/es/components/PaginationDots/PaginationDots.js +29 -0
  120. package/es/components/PaginationDots/PaginationDots.js.map +1 -0
  121. package/es/components/PaginationDots/PaginationDots_fm2ha5.css +2 -0
  122. package/es/components/PaginationDots/SmartPaginationDots.css +5 -0
  123. package/es/components/PaginationDots/SmartPaginationDots.js +39 -0
  124. package/es/components/PaginationDots/SmartPaginationDots.js.map +1 -0
  125. package/es/components/PaginationDots/usePaginationDots.js +36 -0
  126. package/es/components/PaginationDots/usePaginationDots.js.map +1 -0
  127. package/es/components/Select/Select.css +55 -51
  128. package/es/components/Select/Select.js +5 -1
  129. package/es/components/Select/Select.js.map +1 -1
  130. package/es/components/Select/Select.tokens.js +7 -0
  131. package/es/components/Select/Select.tokens.js.map +1 -1
  132. package/es/components/Select/ui/Inner/ui/Item/Item.styles.js +1 -1
  133. package/es/components/Select/ui/SelectAll/SelectAll.css +54 -0
  134. package/es/components/Select/ui/SelectAll/SelectAll.js +36 -0
  135. package/es/components/Select/ui/SelectAll/SelectAll.js.map +1 -0
  136. package/es/components/Select/ui/SelectAll/SelectAll.styles.js +47 -0
  137. package/es/components/Select/ui/SelectAll/SelectAll.styles.js.map +1 -0
  138. package/es/components/Select/ui/SelectAll/SelectAll.styles_iii1q7.css +3 -0
  139. package/es/components/Table/Table.css +32 -28
  140. package/es/components/Table/ui/Cell/Cell.css +32 -28
  141. package/es/components/Table/ui/EditableCell/EditableCell.css +32 -28
  142. package/es/components/Table/ui/HeadCell/HeadCell.css +32 -28
  143. package/es/components/Table/ui/HeadCell/ui/Filter/Filter.css +32 -28
  144. package/es/index.css +25 -11
  145. package/es/index.js +3 -0
  146. package/es/index.js.map +1 -1
  147. package/package.json +2 -2
  148. package/styled-components/cjs/components/Combobox/Combobox.template-doc.mdx +58 -0
  149. package/styled-components/cjs/components/Combobox/ComboboxNew/Combobox.js +4 -1
  150. package/styled-components/cjs/components/Combobox/ComboboxNew/Combobox.tokens.js +8 -1
  151. package/styled-components/cjs/components/Combobox/ComboboxNew/ui/SelectAll/SelectAll.js +39 -0
  152. package/styled-components/cjs/components/Combobox/ComboboxNew/ui/SelectAll/SelectAll.styles.js +27 -0
  153. package/styled-components/cjs/components/Combobox/ComboboxNew/ui/index.js +11 -0
  154. package/styled-components/cjs/components/PaginationDots/PaginationDot.js +33 -0
  155. package/styled-components/cjs/components/PaginationDots/PaginationDots.js +24 -0
  156. package/styled-components/cjs/components/PaginationDots/SmartPaginationDots.js +43 -0
  157. package/styled-components/cjs/components/PaginationDots/index.js +26 -0
  158. package/styled-components/cjs/components/PaginationDots/usePaginationDots.js +38 -0
  159. package/styled-components/cjs/components/Select/Select.js +4 -1
  160. package/styled-components/cjs/components/Select/Select.template-doc.mdx +58 -0
  161. package/styled-components/cjs/components/Select/Select.tokens.js +7 -0
  162. package/styled-components/cjs/components/Select/ui/SelectAll/SelectAll.js +39 -0
  163. package/styled-components/cjs/components/Select/ui/SelectAll/SelectAll.styles.js +27 -0
  164. package/styled-components/cjs/components/Select/ui/index.js +11 -0
  165. package/styled-components/cjs/examples/plasma_b2c/components/Combobox/Combobox.config.js +8 -8
  166. package/styled-components/cjs/examples/plasma_b2c/components/Combobox/Combobox.js +13 -2
  167. package/styled-components/cjs/examples/plasma_b2c/components/Combobox/Combobox.stories.tsx +16 -2
  168. package/styled-components/cjs/examples/plasma_b2c/components/Select/Select.config.js +14 -14
  169. package/styled-components/cjs/examples/plasma_b2c/components/Select/Select.stories.tsx +22 -3
  170. package/styled-components/cjs/examples/plasma_web/components/Combobox/Combobox.config.js +8 -8
  171. package/styled-components/cjs/examples/plasma_web/components/Combobox/Combobox.js +12 -2
  172. package/styled-components/cjs/examples/plasma_web/components/Combobox/Combobox.stories.tsx +16 -2
  173. package/styled-components/cjs/examples/plasma_web/components/Select/Select.config.js +14 -14
  174. package/styled-components/cjs/examples/plasma_web/components/Select/Select.stories.tsx +22 -3
  175. package/styled-components/cjs/index.js +11 -0
  176. package/styled-components/es/components/Combobox/Combobox.template-doc.mdx +58 -0
  177. package/styled-components/es/components/Combobox/ComboboxNew/Combobox.js +5 -2
  178. package/styled-components/es/components/Combobox/ComboboxNew/Combobox.tokens.js +8 -1
  179. package/styled-components/es/components/Combobox/ComboboxNew/ui/SelectAll/SelectAll.js +32 -0
  180. package/styled-components/es/components/Combobox/ComboboxNew/ui/SelectAll/SelectAll.styles.js +20 -0
  181. package/styled-components/es/components/Combobox/ComboboxNew/ui/index.js +2 -1
  182. package/styled-components/es/components/PaginationDots/PaginationDot.js +26 -0
  183. package/styled-components/es/components/PaginationDots/PaginationDots.js +18 -0
  184. package/styled-components/es/components/PaginationDots/SmartPaginationDots.js +36 -0
  185. package/styled-components/es/components/PaginationDots/index.js +3 -0
  186. package/styled-components/es/components/PaginationDots/usePaginationDots.js +32 -0
  187. package/styled-components/es/components/Select/Select.js +5 -2
  188. package/styled-components/es/components/Select/Select.template-doc.mdx +58 -0
  189. package/styled-components/es/components/Select/Select.tokens.js +7 -0
  190. package/styled-components/es/components/Select/ui/SelectAll/SelectAll.js +32 -0
  191. package/styled-components/es/components/Select/ui/SelectAll/SelectAll.styles.js +20 -0
  192. package/styled-components/es/components/Select/ui/index.js +2 -1
  193. package/styled-components/es/examples/plasma_b2c/components/Combobox/Combobox.config.js +8 -8
  194. package/styled-components/es/examples/plasma_b2c/components/Combobox/Combobox.js +10 -2
  195. package/styled-components/es/examples/plasma_b2c/components/Combobox/Combobox.stories.tsx +16 -2
  196. package/styled-components/es/examples/plasma_b2c/components/Select/Select.config.js +14 -14
  197. package/styled-components/es/examples/plasma_b2c/components/Select/Select.stories.tsx +22 -3
  198. package/styled-components/es/examples/plasma_web/components/Combobox/Combobox.config.js +8 -8
  199. package/styled-components/es/examples/plasma_web/components/Combobox/Combobox.js +10 -3
  200. package/styled-components/es/examples/plasma_web/components/Combobox/Combobox.stories.tsx +16 -2
  201. package/styled-components/es/examples/plasma_web/components/Select/Select.config.js +14 -14
  202. package/styled-components/es/examples/plasma_web/components/Select/Select.stories.tsx +22 -3
  203. package/styled-components/es/index.js +2 -1
  204. package/types/components/Combobox/ComboboxNew/Combobox.d.ts.map +1 -1
  205. package/types/components/Combobox/ComboboxNew/Combobox.tokens.d.ts +7 -0
  206. package/types/components/Combobox/ComboboxNew/Combobox.tokens.d.ts.map +1 -1
  207. package/types/components/Combobox/ComboboxNew/Combobox.types.d.ts +11 -0
  208. package/types/components/Combobox/ComboboxNew/Combobox.types.d.ts.map +1 -1
  209. package/types/components/Combobox/ComboboxNew/ui/SelectAll/SelectAll.d.ts +7 -0
  210. package/types/components/Combobox/ComboboxNew/ui/SelectAll/SelectAll.d.ts.map +1 -0
  211. package/types/components/Combobox/ComboboxNew/ui/SelectAll/SelectAll.styles.d.ts +11 -0
  212. package/types/components/Combobox/ComboboxNew/ui/SelectAll/SelectAll.styles.d.ts.map +1 -0
  213. package/types/components/Combobox/ComboboxNew/ui/index.d.ts +1 -0
  214. package/types/components/Combobox/ComboboxNew/ui/index.d.ts.map +1 -1
  215. package/types/components/Pagination/ui/PaginationSelectPerPage/PaginationSelectPerPage.styles.d.ts +3 -0
  216. package/types/components/Pagination/ui/PaginationSelectPerPage/PaginationSelectPerPage.styles.d.ts.map +1 -1
  217. package/types/components/PaginationDots/PaginationDot.d.ts +21 -0
  218. package/types/components/PaginationDots/PaginationDot.d.ts.map +1 -0
  219. package/types/components/PaginationDots/PaginationDots.d.ts +15 -0
  220. package/types/components/PaginationDots/PaginationDots.d.ts.map +1 -0
  221. package/types/components/PaginationDots/SmartPaginationDots.d.ts +15 -0
  222. package/types/components/PaginationDots/SmartPaginationDots.d.ts.map +1 -0
  223. package/types/components/PaginationDots/index.d.ts +6 -0
  224. package/types/components/PaginationDots/index.d.ts.map +1 -0
  225. package/types/components/PaginationDots/usePaginationDots.d.ts +14 -0
  226. package/types/components/PaginationDots/usePaginationDots.d.ts.map +1 -0
  227. package/types/components/Select/Select.d.ts.map +1 -1
  228. package/types/components/Select/Select.tokens.d.ts +7 -0
  229. package/types/components/Select/Select.tokens.d.ts.map +1 -1
  230. package/types/components/Select/Select.types.d.ts +12 -0
  231. package/types/components/Select/Select.types.d.ts.map +1 -1
  232. package/types/components/Select/ui/SelectAll/SelectAll.d.ts +7 -0
  233. package/types/components/Select/ui/SelectAll/SelectAll.d.ts.map +1 -0
  234. package/types/components/Select/ui/SelectAll/SelectAll.styles.d.ts +11 -0
  235. package/types/components/Select/ui/SelectAll/SelectAll.styles.d.ts.map +1 -0
  236. package/types/components/Select/ui/index.d.ts +1 -0
  237. package/types/components/Select/ui/index.d.ts.map +1 -1
  238. package/types/components/Table/ui/HeadCell/ui/Filter/Filter.styles.d.ts +3 -0
  239. package/types/components/Table/ui/HeadCell/ui/Filter/Filter.styles.d.ts.map +1 -1
  240. package/types/index.d.ts +1 -0
  241. package/types/index.d.ts.map +1 -1
@@ -13,6 +13,8 @@ import { Select } from './Select';
13
13
  type StorySelectProps = ComponentProps<typeof Select> & {
14
14
  enableContentLeft?: boolean;
15
15
  hasHint?: boolean;
16
+ enableSelectAll?: boolean;
17
+ selectAllSticky?: boolean;
16
18
  };
17
19
 
18
20
  const view = ['default', 'accent', 'secondary', 'clear', 'positive', 'warning', 'negative', 'dark', 'black', 'white'];
@@ -196,6 +198,13 @@ const meta: Meta<StorySelectProps> = {
196
198
  options: ['default', 'text'],
197
199
  if: { arg: 'target', eq: 'textfield-like' },
198
200
  },
201
+ enableSelectAll: {
202
+ control: 'boolean',
203
+ },
204
+ selectAllSticky: {
205
+ control: 'boolean',
206
+ if: { arg: 'enableSelectAll', truthy: true },
207
+ },
199
208
  },
200
209
  args: {
201
210
  target: 'textfield-like',
@@ -225,6 +234,8 @@ const meta: Meta<StorySelectProps> = {
225
234
  hintPlacement: 'auto',
226
235
  hintWidth: '10rem',
227
236
  hintHasArrow: true,
237
+ enableSelectAll: false,
238
+ selectAllSticky: false,
228
239
  },
229
240
  parameters: {
230
241
  controls: {
@@ -260,6 +271,8 @@ const meta: Meta<StorySelectProps> = {
260
271
  'hintPlacement',
261
272
  'hintWidth',
262
273
  'hintHasArrow',
274
+ 'enableSelectAll',
275
+ 'selectAllSticky',
263
276
  ],
264
277
  },
265
278
  },
@@ -498,7 +511,7 @@ const SingleStory = ({ enableContentLeft, ...args }: StorySelectProps) => {
498
511
  export const Single: StoryObj<StorySelectProps> = {
499
512
  parameters: {
500
513
  controls: {
501
- exclude: ['chipView', 'isTargetAmount', 'chipType'],
514
+ exclude: ['chipView', 'isTargetAmount', 'chipType', 'enableSelectAll'],
502
515
  },
503
516
  },
504
517
  render: (args) => <SingleStory {...args} />,
@@ -507,7 +520,7 @@ export const Single: StoryObj<StorySelectProps> = {
507
520
  },
508
521
  };
509
522
 
510
- const MultiselectStory = ({ enableContentLeft, ...args }: StorySelectProps) => {
523
+ const MultiselectStory = ({ enableContentLeft, enableSelectAll, selectAllSticky, ...args }: StorySelectProps) => {
511
524
  const [value, setValue] = useState<Array<string>>([]);
512
525
 
513
526
  return (
@@ -518,6 +531,7 @@ const MultiselectStory = ({ enableContentLeft, ...args }: StorySelectProps) => {
518
531
  value={value}
519
532
  onChange={setValue}
520
533
  contentLeft={enableContentLeft ? <IconDone size="s" color="inherit" /> : undefined}
534
+ selectAllOptions={enableSelectAll ? { sticky: selectAllSticky || false } : undefined}
521
535
  />
522
536
  </div>
523
537
  );
@@ -560,6 +574,11 @@ const PredefinedStory = ({ enableContentLeft, ...args }: StorySelectProps) => {
560
574
  };
561
575
 
562
576
  export const Predefined: StoryObj<StorySelectProps> = {
577
+ parameters: {
578
+ controls: {
579
+ exclude: ['enableSelectAll'],
580
+ },
581
+ },
563
582
  render: (args) => <PredefinedStory {...args} />,
564
583
  };
565
584
 
@@ -983,7 +1002,7 @@ const CommonStory = ({ enableContentLeft, ...args }: StorySelectProps) => {
983
1002
  export const Common: StoryObj<StorySelectProps> = {
984
1003
  parameters: {
985
1004
  controls: {
986
- exclude: ['target', 'view'],
1005
+ exclude: ['target', 'view', 'enableSelectAll'],
987
1006
  },
988
1007
  },
989
1008
  argTypes: {
@@ -827,4 +827,15 @@ Object.keys(_Carousel).forEach(function (key) {
827
827
  return _Carousel[key];
828
828
  }
829
829
  });
830
+ });
831
+ var _PaginationDots = /*#__PURE__*/require("./components/PaginationDots");
832
+ Object.keys(_PaginationDots).forEach(function (key) {
833
+ if (key === "default" || key === "__esModule") return;
834
+ if (key in exports && exports[key] === _PaginationDots[key]) return;
835
+ Object.defineProperty(exports, key, {
836
+ enumerable: true,
837
+ get: function get() {
838
+ return _PaginationDots[key];
839
+ }
840
+ });
830
841
  });
@@ -436,6 +436,64 @@ type Items = Array<{
436
436
  }
437
437
  ```
438
438
  </TabItem>
439
+ <TabItem value="selectAll" label="Выбрать всё">
440
+ Работа с кнопкой "Выбрать всё" осуществляется через свойство `selectAllOptions` только в режиме `multiple`:
441
+ ```tsx
442
+ type SelectAllProps = {
443
+ checked?: boolean;
444
+ indeterminate?: boolean;
445
+ label?: string;
446
+ onClick?: () => void;
447
+ sticky?: boolean;
448
+ };
449
+ ```
450
+ Вся логика выбора элементов и взаимодействия с компонентом лежит на стороне пользователя.
451
+
452
+ ```tsx live
453
+ import React, { useState } from 'react';
454
+ import { Select } from '@salutejs/{{ package }}';
455
+
456
+ export function App() {
457
+ const [checked, setChecked] = useState(false);
458
+
459
+ const items = [
460
+ {
461
+ value: 'north_america',
462
+ label: 'Северная Америка',
463
+ },
464
+ {
465
+ value: 'south_america',
466
+ label: 'Южная Америка',
467
+ items: [
468
+ {
469
+ value: 'brazil',
470
+ label: 'Бразилия',
471
+ },
472
+ {
473
+ value: 'argentina',
474
+ label: 'Аргентина',
475
+ },
476
+ ],
477
+ },
478
+ ];
479
+
480
+ return (
481
+ <div style={{ display: "flex", gap: "30px", height: "300px" }}>
482
+ <Combobox
483
+ label="Label"
484
+ placeholder="Placeholder"
485
+ items={items}
486
+ multiple
487
+ selectAllOptions={{
488
+ checked,
489
+ onClick: () => setChecked(prev => !prev)
490
+ }}
491
+ />
492
+ </div>
493
+ );
494
+ }
495
+ ```
496
+ </TabItem>
439
497
  </Tabs>
440
498
 
441
499
  ## Использование с React Hook Form и нативной формой
@@ -22,7 +22,7 @@ import { classes } from "./Combobox.tokens";
22
22
  import { FloatingPopover } from "./FloatingPopover";
23
23
  import { useKeyNavigation, getItemByFocused } from "./hooks/useKeyboardNavigation";
24
24
  import { initialItemsTransform, updateAncestors, updateDescendants, updateSingleAncestors, filterItems, getItemId, getRemovedElement } from "./utils";
25
- import { Inner, StyledTextField, VirtualList } from "./ui";
25
+ import { Inner, StyledTextField, VirtualList, SelectAll } from "./ui";
26
26
  import { pathReducer, focusedPathReducer } from "./reducers";
27
27
  import { getPathMap, getTreeMaps } from "./hooks/getPathMaps";
28
28
  import { Ul, base, StyledArrow, IconArrowWrapper, StyledEmptyState, StyledLeftHelper } from "./Combobox.styles";
@@ -543,7 +543,10 @@ export var comboboxRoot = function comboboxRoot(Root) {
543
543
  className: classes.emptyStateWrapper,
544
544
  size: size,
545
545
  description: emptyStateDescription || 'Ничего не найдено'
546
- }) : /*#__PURE__*/React.createElement(React.Fragment, null, virtual ? /*#__PURE__*/React.createElement(VirtualList, {
546
+ }) : /*#__PURE__*/React.createElement(React.Fragment, null, props.multiple && props.selectAllOptions && /*#__PURE__*/React.createElement(SelectAll, {
547
+ selectAllOptions: props.selectAllOptions,
548
+ variant: variant
549
+ }), virtual ? /*#__PURE__*/React.createElement(VirtualList, {
547
550
  items: filteredItems,
548
551
  listMaxHeight: listMaxHeight || listHeight,
549
552
  onScroll: onScroll
@@ -217,7 +217,14 @@ 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',
@@ -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,23 @@
1
+ import _styled from "@emotion/styled/base";
2
+ import { tokens, constants } from "../../Combobox.tokens";
3
+ export var Wrapper = /*#__PURE__*/_styled("div", {
4
+ target: "e1syfhrs2",
5
+ label: "plasma-new-hope__Wrapper"
6
+ })("position:", function (_ref) {
7
+ var sticky = _ref.sticky;
8
+ return sticky ? 'sticky' : 'static';
9
+ }, ";z-index:10;top:0;display:flex;flex-direction:column;background:var(", constants.background, ");margin-bottom:", function (_ref2) {
10
+ var variant = _ref2.variant;
11
+ return "var(".concat(variant === 'tight' ? tokens.dividerMarginBottomTight : tokens.dividerMarginBottom, ")");
12
+ }, ";border-top-left-radius:calc(var(", tokens.borderRadius, ") - 0.125rem - var(", tokens.dropdownBorderWidth, ", 0rem));border-top-right-radius:calc(var(", tokens.borderRadius, ") - 0.125rem - var(", tokens.dropdownBorderWidth, ", 0rem));" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy1lbW90aW9uL2NvbXBvbmVudHMvQ29tYm9ib3gvQ29tYm9ib3hOZXcvdWkvU2VsZWN0QWxsL1NlbGVjdEFsbC5zdHlsZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBSzBGIiwiZmlsZSI6Ii4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy1lbW90aW9uL2NvbXBvbmVudHMvQ29tYm9ib3gvQ29tYm9ib3hOZXcvdWkvU2VsZWN0QWxsL1NlbGVjdEFsbC5zdHlsZXMudHMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5cbmltcG9ydCB7IENvbWJvYm94UHJvcHMgfSBmcm9tICcuLi8uLi9Db21ib2JveC50eXBlcyc7XG5pbXBvcnQgeyB0b2tlbnMsIGNvbnN0YW50cyB9IGZyb20gJy4uLy4uL0NvbWJvYm94LnRva2Vucyc7XG5cbmV4cG9ydCBjb25zdCBXcmFwcGVyID0gc3R5bGVkLmRpdjx7IHZhcmlhbnQ6IENvbWJvYm94UHJvcHNbJ3ZhcmlhbnQnXTsgc3RpY2t5PzogYm9vbGVhbiB9PmBcbiAgICBwb3NpdGlvbjogJHsoeyBzdGlja3kgfSkgPT4gKHN0aWNreSA/ICdzdGlja3knIDogJ3N0YXRpYycpfTtcbiAgICB6LWluZGV4OiAxMDtcbiAgICB0b3A6IDA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGJhY2tncm91bmQ6IHZhcigke2NvbnN0YW50cy5iYWNrZ3JvdW5kfSk7XG4gICAgbWFyZ2luLWJvdHRvbTogJHsoeyB2YXJpYW50IH0pID0+XG4gICAgICAgIGB2YXIoJHt2YXJpYW50ID09PSAndGlnaHQnID8gdG9rZW5zLmRpdmlkZXJNYXJnaW5Cb3R0b21UaWdodCA6IHRva2Vucy5kaXZpZGVyTWFyZ2luQm90dG9tfSlgfTtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiBjYWxjKHZhcigke3Rva2Vucy5ib3JkZXJSYWRpdXN9KSAtIDAuMTI1cmVtIC0gdmFyKCR7dG9rZW5zLmRyb3Bkb3duQm9yZGVyV2lkdGh9LCAwcmVtKSk7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IGNhbGModmFyKCR7dG9rZW5zLmJvcmRlclJhZGl1c30pIC0gMC4xMjVyZW0gLSB2YXIoJHt0b2tlbnMuZHJvcGRvd25Cb3JkZXJXaWR0aH0sIDByZW0pKTtcbmA7XG5cbmV4cG9ydCBjb25zdCBEaXZpZGVyV3JhcHBlciA9IHN0eWxlZC5kaXZgXG4gICAgbWFyZ2luOiAwIGNhbGMoMC4xMjVyZW0gKyB2YXIoJHt0b2tlbnMuZHJvcGRvd25Cb3JkZXJXaWR0aH0sIDByZW0pKTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoJHtjb25zdGFudHMuYmFja2dyb3VuZH0pO1xuYDtcblxuZXhwb3J0IGNvbnN0IERpdmlkZXIgPSBzdHlsZWQuZGl2PHsgdmFyaWFudDogQ29tYm9ib3hQcm9wc1sndmFyaWFudCddIH0+YFxuICAgIGhlaWdodDogMC4wNjI1cmVtO1xuICAgIG1hcmdpbi10b3A6ICR7KHsgdmFyaWFudCB9KSA9PlxuICAgICAgICBgdmFyKCR7dmFyaWFudCA9PT0gJ3RpZ2h0JyA/IHRva2Vucy5kaXZpZGVyTWFyZ2luVG9wVGlnaHQgOiB0b2tlbnMuZGl2aWRlck1hcmdpblRvcH0pYH07XG4gICAgbWFyZ2luLXJpZ2h0OiB2YXIoJHt0b2tlbnMuZGl2aWRlck1hcmdpblJpZ2h0fSk7XG4gICAgbWFyZ2luLWxlZnQ6IHZhcigke3Rva2Vucy5kaXZpZGVyTWFyZ2luTGVmdH0pO1xuICAgIGJhY2tncm91bmQ6IHZhcigke3Rva2Vucy5kaXZpZGVyQ29sb3J9KTtcbmA7XG4iXX0= */"));
13
+ export var DividerWrapper = /*#__PURE__*/_styled("div", {
14
+ target: "e1syfhrs1",
15
+ label: "plasma-new-hope__DividerWrapper"
16
+ })("margin:0 calc(0.125rem + var(", tokens.dropdownBorderWidth, ", 0rem));background:var(", constants.background, ");" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy1lbW90aW9uL2NvbXBvbmVudHMvQ29tYm9ib3gvQ29tYm9ib3hOZXcvdWkvU2VsZWN0QWxsL1NlbGVjdEFsbC5zdHlsZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBa0J3QyIsImZpbGUiOiIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMtZW1vdGlvbi9jb21wb25lbnRzL0NvbWJvYm94L0NvbWJvYm94TmV3L3VpL1NlbGVjdEFsbC9TZWxlY3RBbGwuc3R5bGVzLnRzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xuXG5pbXBvcnQgeyBDb21ib2JveFByb3BzIH0gZnJvbSAnLi4vLi4vQ29tYm9ib3gudHlwZXMnO1xuaW1wb3J0IHsgdG9rZW5zLCBjb25zdGFudHMgfSBmcm9tICcuLi8uLi9Db21ib2JveC50b2tlbnMnO1xuXG5leHBvcnQgY29uc3QgV3JhcHBlciA9IHN0eWxlZC5kaXY8eyB2YXJpYW50OiBDb21ib2JveFByb3BzWyd2YXJpYW50J107IHN0aWNreT86IGJvb2xlYW4gfT5gXG4gICAgcG9zaXRpb246ICR7KHsgc3RpY2t5IH0pID0+IChzdGlja3kgPyAnc3RpY2t5JyA6ICdzdGF0aWMnKX07XG4gICAgei1pbmRleDogMTA7XG4gICAgdG9wOiAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoJHtjb25zdGFudHMuYmFja2dyb3VuZH0pO1xuICAgIG1hcmdpbi1ib3R0b206ICR7KHsgdmFyaWFudCB9KSA9PlxuICAgICAgICBgdmFyKCR7dmFyaWFudCA9PT0gJ3RpZ2h0JyA/IHRva2Vucy5kaXZpZGVyTWFyZ2luQm90dG9tVGlnaHQgOiB0b2tlbnMuZGl2aWRlck1hcmdpbkJvdHRvbX0pYH07XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogY2FsYyh2YXIoJHt0b2tlbnMuYm9yZGVyUmFkaXVzfSkgLSAwLjEyNXJlbSAtIHZhcigke3Rva2Vucy5kcm9wZG93bkJvcmRlcldpZHRofSwgMHJlbSkpO1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiBjYWxjKHZhcigke3Rva2Vucy5ib3JkZXJSYWRpdXN9KSAtIDAuMTI1cmVtIC0gdmFyKCR7dG9rZW5zLmRyb3Bkb3duQm9yZGVyV2lkdGh9LCAwcmVtKSk7XG5gO1xuXG5leHBvcnQgY29uc3QgRGl2aWRlcldyYXBwZXIgPSBzdHlsZWQuZGl2YFxuICAgIG1hcmdpbjogMCBjYWxjKDAuMTI1cmVtICsgdmFyKCR7dG9rZW5zLmRyb3Bkb3duQm9yZGVyV2lkdGh9LCAwcmVtKSk7XG4gICAgYmFja2dyb3VuZDogdmFyKCR7Y29uc3RhbnRzLmJhY2tncm91bmR9KTtcbmA7XG5cbmV4cG9ydCBjb25zdCBEaXZpZGVyID0gc3R5bGVkLmRpdjx7IHZhcmlhbnQ6IENvbWJvYm94UHJvcHNbJ3ZhcmlhbnQnXSB9PmBcbiAgICBoZWlnaHQ6IDAuMDYyNXJlbTtcbiAgICBtYXJnaW4tdG9wOiAkeyh7IHZhcmlhbnQgfSkgPT5cbiAgICAgICAgYHZhcigke3ZhcmlhbnQgPT09ICd0aWdodCcgPyB0b2tlbnMuZGl2aWRlck1hcmdpblRvcFRpZ2h0IDogdG9rZW5zLmRpdmlkZXJNYXJnaW5Ub3B9KWB9O1xuICAgIG1hcmdpbi1yaWdodDogdmFyKCR7dG9rZW5zLmRpdmlkZXJNYXJnaW5SaWdodH0pO1xuICAgIG1hcmdpbi1sZWZ0OiB2YXIoJHt0b2tlbnMuZGl2aWRlck1hcmdpbkxlZnR9KTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoJHt0b2tlbnMuZGl2aWRlckNvbG9yfSk7XG5gO1xuIl19 */"));
17
+ export var Divider = /*#__PURE__*/_styled("div", {
18
+ target: "e1syfhrs0",
19
+ label: "plasma-new-hope__Divider"
20
+ })("height:0.0625rem;margin-top:", function (_ref3) {
21
+ var variant = _ref3.variant;
22
+ return "var(".concat(variant === 'tight' ? tokens.dividerMarginTopTight : tokens.dividerMarginTop, ")");
23
+ }, ";margin-right:var(", tokens.dividerMarginRight, ");margin-left:var(", tokens.dividerMarginLeft, ");background:var(", tokens.dividerColor, ");" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy1lbW90aW9uL2NvbXBvbmVudHMvQ29tYm9ib3gvQ29tYm9ib3hOZXcvdWkvU2VsZWN0QWxsL1NlbGVjdEFsbC5zdHlsZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBdUJ3RSIsImZpbGUiOiIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMtZW1vdGlvbi9jb21wb25lbnRzL0NvbWJvYm94L0NvbWJvYm94TmV3L3VpL1NlbGVjdEFsbC9TZWxlY3RBbGwuc3R5bGVzLnRzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xuXG5pbXBvcnQgeyBDb21ib2JveFByb3BzIH0gZnJvbSAnLi4vLi4vQ29tYm9ib3gudHlwZXMnO1xuaW1wb3J0IHsgdG9rZW5zLCBjb25zdGFudHMgfSBmcm9tICcuLi8uLi9Db21ib2JveC50b2tlbnMnO1xuXG5leHBvcnQgY29uc3QgV3JhcHBlciA9IHN0eWxlZC5kaXY8eyB2YXJpYW50OiBDb21ib2JveFByb3BzWyd2YXJpYW50J107IHN0aWNreT86IGJvb2xlYW4gfT5gXG4gICAgcG9zaXRpb246ICR7KHsgc3RpY2t5IH0pID0+IChzdGlja3kgPyAnc3RpY2t5JyA6ICdzdGF0aWMnKX07XG4gICAgei1pbmRleDogMTA7XG4gICAgdG9wOiAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoJHtjb25zdGFudHMuYmFja2dyb3VuZH0pO1xuICAgIG1hcmdpbi1ib3R0b206ICR7KHsgdmFyaWFudCB9KSA9PlxuICAgICAgICBgdmFyKCR7dmFyaWFudCA9PT0gJ3RpZ2h0JyA/IHRva2Vucy5kaXZpZGVyTWFyZ2luQm90dG9tVGlnaHQgOiB0b2tlbnMuZGl2aWRlck1hcmdpbkJvdHRvbX0pYH07XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogY2FsYyh2YXIoJHt0b2tlbnMuYm9yZGVyUmFkaXVzfSkgLSAwLjEyNXJlbSAtIHZhcigke3Rva2Vucy5kcm9wZG93bkJvcmRlcldpZHRofSwgMHJlbSkpO1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiBjYWxjKHZhcigke3Rva2Vucy5ib3JkZXJSYWRpdXN9KSAtIDAuMTI1cmVtIC0gdmFyKCR7dG9rZW5zLmRyb3Bkb3duQm9yZGVyV2lkdGh9LCAwcmVtKSk7XG5gO1xuXG5leHBvcnQgY29uc3QgRGl2aWRlcldyYXBwZXIgPSBzdHlsZWQuZGl2YFxuICAgIG1hcmdpbjogMCBjYWxjKDAuMTI1cmVtICsgdmFyKCR7dG9rZW5zLmRyb3Bkb3duQm9yZGVyV2lkdGh9LCAwcmVtKSk7XG4gICAgYmFja2dyb3VuZDogdmFyKCR7Y29uc3RhbnRzLmJhY2tncm91bmR9KTtcbmA7XG5cbmV4cG9ydCBjb25zdCBEaXZpZGVyID0gc3R5bGVkLmRpdjx7IHZhcmlhbnQ6IENvbWJvYm94UHJvcHNbJ3ZhcmlhbnQnXSB9PmBcbiAgICBoZWlnaHQ6IDAuMDYyNXJlbTtcbiAgICBtYXJnaW4tdG9wOiAkeyh7IHZhcmlhbnQgfSkgPT5cbiAgICAgICAgYHZhcigke3ZhcmlhbnQgPT09ICd0aWdodCcgPyB0b2tlbnMuZGl2aWRlck1hcmdpblRvcFRpZ2h0IDogdG9rZW5zLmRpdmlkZXJNYXJnaW5Ub3B9KWB9O1xuICAgIG1hcmdpbi1yaWdodDogdmFyKCR7dG9rZW5zLmRpdmlkZXJNYXJnaW5SaWdodH0pO1xuICAgIG1hcmdpbi1sZWZ0OiB2YXIoJHt0b2tlbnMuZGl2aWRlck1hcmdpbkxlZnR9KTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoJHt0b2tlbnMuZGl2aWRlckNvbG9yfSk7XG5gO1xuIl19 */"));
@@ -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";
@@ -0,0 +1,28 @@
1
+ import _styled from "@emotion/styled/base";
2
+ /**
3
+ * Элемент пагинации точками.
4
+ * Стилизованный компонент, обладающий всеми свойствами ``div``.
5
+ */
6
+ export var DotBase = /*#__PURE__*/_styled("li", {
7
+ target: "e14yjkg31",
8
+ label: "plasma-new-hope__DotBase"
9
+ })("width:", function (_ref) {
10
+ var isActive = _ref.isActive;
11
+ return isActive ? '1.75rem' : '0.375rem';
12
+ }, ";height:0.375rem;border-radius:1rem;background:", function (_ref2) {
13
+ var isActive = _ref2.isActive;
14
+ return isActive ? 'var(--text-primary)' : 'var(--surface-transparent-tertiary)';
15
+ }, ";transition:width 0.1s ease-in-out,background 0.3s ease-in-out;font-size:0.5rem;&+&{margin-left:0.375rem;}&:focus{outline:0 none;}" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy1lbW90aW9uL2NvbXBvbmVudHMvUGFnaW5hdGlvbkRvdHMvUGFnaW5hdGlvbkRvdC50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBYW9EIiwiZmlsZSI6Ii4uLy4uLy4uLy4uL3NyYy1lbW90aW9uL2NvbXBvbmVudHMvUGFnaW5hdGlvbkRvdHMvUGFnaW5hdGlvbkRvdC50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGFnaW5hdGlvbkRvdFByb3BzIGV4dGVuZHMgUmVhY3QuTGlIVE1MQXR0cmlidXRlczxIVE1MTElFbGVtZW50PiB7XG4gICAgLyoqXG4gICAgICog0K3Qu9C10LzQtdC90YIg0LDQutGC0LjQstC10L1cbiAgICAgKi9cbiAgICBpc0FjdGl2ZTogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiDQrdC70LXQvNC10L3RgiDQv9Cw0LPQuNC90LDRhtC40Lgg0YLQvtGH0LrQsNC80LguXG4gKiDQodGC0LjQu9C40LfQvtCy0LDQvdC90YvQuSDQutC+0LzQv9C+0L3QtdC90YIsINC+0LHQu9Cw0LTQsNGO0YnQuNC5INCy0YHQtdC80Lgg0YHQstC+0LnRgdGC0LLQsNC80LggYGBkaXZgYC5cbiAqL1xuZXhwb3J0IGNvbnN0IERvdEJhc2UgPSBzdHlsZWQubGk8UGFnaW5hdGlvbkRvdFByb3BzPmBcbiAgICB3aWR0aDogJHsoeyBpc0FjdGl2ZSB9KSA9PiAoaXNBY3RpdmUgPyAnMS43NXJlbScgOiAnMC4zNzVyZW0nKX07XG4gICAgaGVpZ2h0OiAwLjM3NXJlbTtcbiAgICBib3JkZXItcmFkaXVzOiAxcmVtO1xuICAgIGJhY2tncm91bmQ6ICR7KHsgaXNBY3RpdmUgfSkgPT4gKGlzQWN0aXZlID8gJ3ZhcigtLXRleHQtcHJpbWFyeSknIDogJ3ZhcigtLXN1cmZhY2UtdHJhbnNwYXJlbnQtdGVydGlhcnkpJyl9O1xuICAgIHRyYW5zaXRpb246IHdpZHRoIDAuMXMgZWFzZS1pbi1vdXQsIGJhY2tncm91bmQgMC4zcyBlYXNlLWluLW91dDtcbiAgICBmb250LXNpemU6IDAuNXJlbTtcblxuICAgICYgKyAmIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDAuMzc1cmVtO1xuICAgIH1cblxuICAgICY6Zm9jdXMge1xuICAgICAgICBvdXRsaW5lOiAwIG5vbmU7XG4gICAgfVxuYDtcblxuLyoqXG4gKiDQrdC70LXQvNC10L3RgiDQv9Cw0LPQuNC90LDRhtC40Lgg0YLQvtGH0LrQsNC80LguXG4gKiDQodGC0LjQu9C40LfQvtCy0LDQvdC90YvQuSDQutC+0LzQv9C+0L3QtdC90YIsINC+0LHQu9Cw0LTQsNGO0YnQuNC5INCy0YHQtdC80Lgg0YHQstC+0LnRgdGC0LLQsNC80LggYGBkaXZgYC5cbiAqIEBkZXByZWNhdGVkXG4gKi9cbmV4cG9ydCBjb25zdCBQYWdpbmF0aW9uRG90ID0gc3R5bGVkKERvdEJhc2UpPFBhZ2luYXRpb25Eb3RQcm9wcz5gXG4gICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgYmFja2dyb3VuZDogJHsoeyBpc0FjdGl2ZSB9KSA9PiAoaXNBY3RpdmUgPyAndmFyKC0tdGV4dC1hY2NlbnQpJyA6ICd2YXIoLS1zdXJmYWNlLXRyYW5zcGFyZW50LXRlcnRpYXJ5KScpfTtcblxuICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS10ZXh0LWFjY2VudCk7XG4gICAgfVxuYDtcbiJdfQ== */"));
16
+
17
+ /**
18
+ * Элемент пагинации точками.
19
+ * Стилизованный компонент, обладающий всеми свойствами ``div``.
20
+ * @deprecated
21
+ */
22
+ export var PaginationDot = /*#__PURE__*/_styled(DotBase, {
23
+ target: "e14yjkg30",
24
+ label: "plasma-new-hope__PaginationDot"
25
+ })("cursor:pointer;background:", function (_ref3) {
26
+ var isActive = _ref3.isActive;
27
+ return isActive ? 'var(--text-accent)' : 'var(--surface-transparent-tertiary)';
28
+ }, ";&:hover{background:var(--text-accent);}" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy1lbW90aW9uL2NvbXBvbmVudHMvUGFnaW5hdGlvbkRvdHMvUGFnaW5hdGlvbkRvdC50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBbUNnRSIsImZpbGUiOiIuLi8uLi8uLi8uLi9zcmMtZW1vdGlvbi9jb21wb25lbnRzL1BhZ2luYXRpb25Eb3RzL1BhZ2luYXRpb25Eb3QudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFBhZ2luYXRpb25Eb3RQcm9wcyBleHRlbmRzIFJlYWN0LkxpSFRNTEF0dHJpYnV0ZXM8SFRNTExJRWxlbWVudD4ge1xuICAgIC8qKlxuICAgICAqINCt0LvQtdC80LXQvdGCINCw0LrRgtC40LLQtdC9XG4gICAgICovXG4gICAgaXNBY3RpdmU6IGJvb2xlYW47XG59XG5cbi8qKlxuICog0K3Qu9C10LzQtdC90YIg0L/QsNCz0LjQvdCw0YbQuNC4INGC0L7Rh9C60LDQvNC4LlxuICog0KHRgtC40LvQuNC30L7QstCw0L3QvdGL0Lkg0LrQvtC80L/QvtC90LXQvdGCLCDQvtCx0LvQsNC00LDRjtGJ0LjQuSDQstGB0LXQvNC4INGB0LLQvtC50YHRgtCy0LDQvNC4IGBgZGl2YGAuXG4gKi9cbmV4cG9ydCBjb25zdCBEb3RCYXNlID0gc3R5bGVkLmxpPFBhZ2luYXRpb25Eb3RQcm9wcz5gXG4gICAgd2lkdGg6ICR7KHsgaXNBY3RpdmUgfSkgPT4gKGlzQWN0aXZlID8gJzEuNzVyZW0nIDogJzAuMzc1cmVtJyl9O1xuICAgIGhlaWdodDogMC4zNzVyZW07XG4gICAgYm9yZGVyLXJhZGl1czogMXJlbTtcbiAgICBiYWNrZ3JvdW5kOiAkeyh7IGlzQWN0aXZlIH0pID0+IChpc0FjdGl2ZSA/ICd2YXIoLS10ZXh0LXByaW1hcnkpJyA6ICd2YXIoLS1zdXJmYWNlLXRyYW5zcGFyZW50LXRlcnRpYXJ5KScpfTtcbiAgICB0cmFuc2l0aW9uOiB3aWR0aCAwLjFzIGVhc2UtaW4tb3V0LCBiYWNrZ3JvdW5kIDAuM3MgZWFzZS1pbi1vdXQ7XG4gICAgZm9udC1zaXplOiAwLjVyZW07XG5cbiAgICAmICsgJiB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwLjM3NXJlbTtcbiAgICB9XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgICAgb3V0bGluZTogMCBub25lO1xuICAgIH1cbmA7XG5cbi8qKlxuICog0K3Qu9C10LzQtdC90YIg0L/QsNCz0LjQvdCw0YbQuNC4INGC0L7Rh9C60LDQvNC4LlxuICog0KHRgtC40LvQuNC30L7QstCw0L3QvdGL0Lkg0LrQvtC80L/QvtC90LXQvdGCLCDQvtCx0LvQsNC00LDRjtGJ0LjQuSDQstGB0LXQvNC4INGB0LLQvtC50YHRgtCy0LDQvNC4IGBgZGl2YGAuXG4gKiBAZGVwcmVjYXRlZFxuICovXG5leHBvcnQgY29uc3QgUGFnaW5hdGlvbkRvdCA9IHN0eWxlZChEb3RCYXNlKTxQYWdpbmF0aW9uRG90UHJvcHM+YFxuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgIGJhY2tncm91bmQ6ICR7KHsgaXNBY3RpdmUgfSkgPT4gKGlzQWN0aXZlID8gJ3ZhcigtLXRleHQtYWNjZW50KScgOiAndmFyKC0tc3VyZmFjZS10cmFuc3BhcmVudC10ZXJ0aWFyeSknKX07XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tdGV4dC1hY2NlbnQpO1xuICAgIH1cbmA7XG4iXX0= */"));
@@ -0,0 +1,28 @@
1
+ import _styled from "@emotion/styled/base";
2
+ function _EMOTION_STRINGIFIED_CSS_ERROR__() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; }
3
+ /**
4
+ * Оборачивающий компонент для пагинации точками.
5
+ * Стилизованный компонент, обладающий всеми свойствами ``div``.
6
+ */
7
+ export var DotsBase = /*#__PURE__*/_styled("ul", {
8
+ target: "e126omqy1",
9
+ label: "plasma-new-hope__DotsBase"
10
+ })(process.env.NODE_ENV === "production" ? {
11
+ name: "1gpamx1",
12
+ styles: "display:flex;flex-wrap:wrap;align-self:center;align-items:center;margin:0;padding:0;list-style:none"
13
+ } : {
14
+ name: "1gpamx1",
15
+ styles: "display:flex;flex-wrap:wrap;align-self:center;align-items:center;margin:0;padding:0;list-style:none",
16
+ map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy1lbW90aW9uL2NvbXBvbmVudHMvUGFnaW5hdGlvbkRvdHMvUGFnaW5hdGlvbkRvdHMudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU1pQyIsImZpbGUiOiIuLi8uLi8uLi8uLi9zcmMtZW1vdGlvbi9jb21wb25lbnRzL1BhZ2luYXRpb25Eb3RzL1BhZ2luYXRpb25Eb3RzLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcblxuLyoqXG4gKiDQntCx0L7RgNCw0YfQuNCy0LDRjtGJ0LjQuSDQutC+0LzQv9C+0L3QtdC90YIg0LTQu9GPINC/0LDQs9C40L3QsNGG0LjQuCDRgtC+0YfQutCw0LzQuC5cbiAqINCh0YLQuNC70LjQt9C+0LLQsNC90L3Ri9C5INC60L7QvNC/0L7QvdC10L3Rgiwg0L7QsdC70LDQtNCw0Y7RidC40Lkg0LLRgdC10LzQuCDRgdCy0L7QudGB0YLQstCw0LzQuCBgYGRpdmBgLlxuICovXG5leHBvcnQgY29uc3QgRG90c0Jhc2UgPSBzdHlsZWQudWxgXG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbmA7XG5cbi8qKlxuICog0J7QsdC+0YDQsNGH0LjQstCw0Y7RidC40Lkg0LrQvtC80L/QvtC90LXQvdGCINC00LvRjyDQv9Cw0LPQuNC90LDRhtC40Lgg0YLQvtGH0LrQsNC80LguXG4gKiDQodGC0LjQu9C40LfQvtCy0LDQvdC90YvQuSDQutC+0LzQv9C+0L3QtdC90YIsINC+0LHQu9Cw0LTQsNGO0YnQuNC5INCy0YHQtdC80Lgg0YHQstC+0LnRgdGC0LLQsNC80LggYGBkaXZgYC5cbiAqIEBkZXByZWNhdGVkXG4gKi9cbmV4cG9ydCBjb25zdCBQYWdpbmF0aW9uRG90cyA9IHN0eWxlZChEb3RzQmFzZSlgYDtcbiJdfQ== */",
17
+ toString: _EMOTION_STRINGIFIED_CSS_ERROR__
18
+ });
19
+
20
+ /**
21
+ * Оборачивающий компонент для пагинации точками.
22
+ * Стилизованный компонент, обладающий всеми свойствами ``div``.
23
+ * @deprecated
24
+ */
25
+ export var PaginationDots = /*#__PURE__*/_styled(DotsBase, {
26
+ target: "e126omqy0",
27
+ label: "plasma-new-hope__PaginationDots"
28
+ })(process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy1lbW90aW9uL2NvbXBvbmVudHMvUGFnaW5hdGlvbkRvdHMvUGFnaW5hdGlvbkRvdHMudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXFCOEMiLCJmaWxlIjoiLi4vLi4vLi4vLi4vc3JjLWVtb3Rpb24vY29tcG9uZW50cy9QYWdpbmF0aW9uRG90cy9QYWdpbmF0aW9uRG90cy50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5cbi8qKlxuICog0J7QsdC+0YDQsNGH0LjQstCw0Y7RidC40Lkg0LrQvtC80L/QvtC90LXQvdGCINC00LvRjyDQv9Cw0LPQuNC90LDRhtC40Lgg0YLQvtGH0LrQsNC80LguXG4gKiDQodGC0LjQu9C40LfQvtCy0LDQvdC90YvQuSDQutC+0LzQv9C+0L3QtdC90YIsINC+0LHQu9Cw0LTQsNGO0YnQuNC5INCy0YHQtdC80Lgg0YHQstC+0LnRgdGC0LLQsNC80LggYGBkaXZgYC5cbiAqL1xuZXhwb3J0IGNvbnN0IERvdHNCYXNlID0gc3R5bGVkLnVsYFxuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG5gO1xuXG4vKipcbiAqINCe0LHQvtGA0LDRh9C40LLQsNGO0YnQuNC5INC60L7QvNC/0L7QvdC10L3RgiDQtNC70Y8g0L/QsNCz0LjQvdCw0YbQuNC4INGC0L7Rh9C60LDQvNC4LlxuICog0KHRgtC40LvQuNC30L7QstCw0L3QvdGL0Lkg0LrQvtC80L/QvtC90LXQvdGCLCDQvtCx0LvQsNC00LDRjtGJ0LjQuSDQstGB0LXQvNC4INGB0LLQvtC50YHRgtCy0LDQvNC4IGBgZGl2YGAuXG4gKiBAZGVwcmVjYXRlZFxuICovXG5leHBvcnQgY29uc3QgUGFnaW5hdGlvbkRvdHMgPSBzdHlsZWQoRG90c0Jhc2UpYGA7XG4iXX0= */");
@@ -0,0 +1,36 @@
1
+ var _excluded = ["items", "index", "visibleItems", "onIndexChange"];
2
+ function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
3
+ function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; }
4
+ import React from 'react';
5
+ import { usePaginationDots } from "./usePaginationDots";
6
+ import { PaginationDots } from "./PaginationDots";
7
+ import { PaginationDot } from "./PaginationDot";
8
+ /**
9
+ * Компонент для отображения точек пагинации
10
+ * с возможностью ограничения количества видимых элементов.
11
+ * @deprecated
12
+ */
13
+ export var SmartPaginationDots = function SmartPaginationDots(_ref) {
14
+ var items = _ref.items,
15
+ index = _ref.index,
16
+ visibleItems = _ref.visibleItems,
17
+ onIndexChange = _ref.onIndexChange,
18
+ rest = _objectWithoutProperties(_ref, _excluded);
19
+ var _usePaginationDots = usePaginationDots({
20
+ items: items,
21
+ index: index,
22
+ visibleItems: visibleItems
23
+ }),
24
+ sliced = _usePaginationDots.sliced,
25
+ activeId = _usePaginationDots.activeId;
26
+ return /*#__PURE__*/React.createElement(PaginationDots, rest, sliced.map(function (_ref2, i) {
27
+ var id = _ref2.id;
28
+ return /*#__PURE__*/React.createElement(PaginationDot, {
29
+ key: "item:".concat(i),
30
+ isActive: id === activeId,
31
+ onClick: function onClick() {
32
+ return onIndexChange === null || onIndexChange === void 0 ? void 0 : onIndexChange(i);
33
+ }
34
+ });
35
+ }));
36
+ };
@@ -0,0 +1,3 @@
1
+ export { SmartPaginationDots } from "./SmartPaginationDots";
2
+ export { PaginationDots } from "./PaginationDots";
3
+ export { PaginationDot } from "./PaginationDot";
@@ -0,0 +1,32 @@
1
+ import { useRef } from 'react';
2
+ export var usePaginationDots = function usePaginationDots(_ref) {
3
+ var items = _ref.items,
4
+ index = _ref.index,
5
+ _ref$visibleItems = _ref.visibleItems,
6
+ visibleItems = _ref$visibleItems === void 0 ? 7 : _ref$visibleItems;
7
+ var activeId = items[index].id;
8
+ var prevIndex = useRef(null);
9
+ var direction = 0;
10
+ if (prevIndex.current !== null) {
11
+ direction = index > prevIndex.current ? 1 : -1;
12
+ }
13
+ var start;
14
+ var end;
15
+ if (direction === 1) {
16
+ end = Math.min(Math.max(index + 2, visibleItems), items.length);
17
+ start = Math.max(end - visibleItems, 0);
18
+ } else if (direction === -1) {
19
+ start = Math.min(Math.max(index - 1, 0), items.length - visibleItems);
20
+ end = start + visibleItems;
21
+ } else {
22
+ start = Math.max(index - Math.floor(visibleItems / 2), 0);
23
+ end = Math.min(start + visibleItems, items.length);
24
+ start = end - visibleItems;
25
+ }
26
+ var sliced = items.slice(start, end);
27
+ prevIndex.current = index;
28
+ return {
29
+ sliced: sliced,
30
+ activeId: activeId
31
+ };
32
+ };
@@ -15,7 +15,7 @@ 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
21
  import { Ul, base } from "./Select.styles";
@@ -420,7 +420,10 @@ export var selectRoot = function selectRoot(Root) {
420
420
  listWidth: listWidth,
421
421
  ref: targetRef,
422
422
  virtual: virtual
423
- }, beforeList, virtual ? /*#__PURE__*/React.createElement(VirtualList, {
423
+ }, beforeList, props.multiselect && props.selectAllOptions && /*#__PURE__*/React.createElement(SelectAll, {
424
+ selectAllOptions: props.selectAllOptions,
425
+ variant: variant
426
+ }), virtual ? /*#__PURE__*/React.createElement(VirtualList, {
424
427
  items: transformedItems,
425
428
  listMaxHeight: listMaxHeight || listHeight,
426
429
  onScroll: onScroll
@@ -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
 
@@ -53,6 +53,13 @@ export var tokens = {
53
53
  checkboxTriggerBorderWidth: '--plasma-select-checkbox-trigger-border-width',
54
54
  indicatorSize: '--plasma-select-indicator-size',
55
55
  targetHeight: '--plasma-select-target-height',
56
+ dividerMarginTop: '--plasma-select-divider-margin-top',
57
+ dividerMarginTopTight: '--plasma-select-divider-margin-top-tight',
58
+ dividerMarginRight: '--plasma-select-divider-margin-right',
59
+ dividerMarginBottom: '--plasma-select-divider-margin-bottom',
60
+ dividerMarginBottomTight: '--plasma-select-divider-margin-bottom-tight',
61
+ dividerMarginLeft: '--plasma-select-divider-margin-left',
62
+ dividerColor: '--plasma-select-divider-color',
56
63
  // Токены для Button
57
64
  buttonColor: '--plasma-select-button-color',
58
65
  buttonColorHover: '--plasma-select-button-color-hover',
@@ -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,23 @@
1
+ import _styled from "@emotion/styled/base";
2
+ import { tokens, constants } from "../../Select.tokens";
3
+ export var Wrapper = /*#__PURE__*/_styled("div", {
4
+ target: "eevghor2",
5
+ label: "plasma-new-hope__Wrapper"
6
+ })("position:", function (_ref) {
7
+ var sticky = _ref.sticky;
8
+ return sticky ? 'sticky' : 'static';
9
+ }, ";z-index:10;top:0;display:flex;flex-direction:column;background:var(", constants.background, ");margin-right:var(", tokens.dropdownBorderWidth, ", 0rem);margin-bottom:", function (_ref2) {
10
+ var variant = _ref2.variant;
11
+ return "var(".concat(variant === 'tight' ? tokens.dividerMarginBottomTight : tokens.dividerMarginBottom, ")");
12
+ }, ";margin-left:var(", tokens.dropdownBorderWidth, ", 0rem);border-top-left-radius:calc(var(", tokens.borderRadius, ") - 0.125rem - var(", tokens.dropdownBorderWidth, ", 0rem));border-top-right-radius:calc(var(", tokens.borderRadius, ") - 0.125rem - var(", tokens.dropdownBorderWidth, ", 0rem));&>li{margin:0 0.125rem;}" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy1lbW90aW9uL2NvbXBvbmVudHMvU2VsZWN0L3VpL1NlbGVjdEFsbC9TZWxlY3RBbGwuc3R5bGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUt3RiIsImZpbGUiOiIuLi8uLi8uLi8uLi8uLi8uLi9zcmMtZW1vdGlvbi9jb21wb25lbnRzL1NlbGVjdC91aS9TZWxlY3RBbGwvU2VsZWN0QWxsLnN0eWxlcy50cyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcblxuaW1wb3J0IHsgU2VsZWN0UHJvcHMgfSBmcm9tICcuLi8uLi9TZWxlY3QudHlwZXMnO1xuaW1wb3J0IHsgdG9rZW5zLCBjb25zdGFudHMgfSBmcm9tICcuLi8uLi9TZWxlY3QudG9rZW5zJztcblxuZXhwb3J0IGNvbnN0IFdyYXBwZXIgPSBzdHlsZWQuZGl2PHsgdmFyaWFudDogU2VsZWN0UHJvcHNbJ3ZhcmlhbnQnXTsgc3RpY2t5PzogYm9vbGVhbiB9PmBcbiAgICBwb3NpdGlvbjogJHsoeyBzdGlja3kgfSkgPT4gKHN0aWNreSA/ICdzdGlja3knIDogJ3N0YXRpYycpfTtcbiAgICB6LWluZGV4OiAxMDtcbiAgICB0b3A6IDA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGJhY2tncm91bmQ6IHZhcigke2NvbnN0YW50cy5iYWNrZ3JvdW5kfSk7XG4gICAgbWFyZ2luLXJpZ2h0OiB2YXIoJHt0b2tlbnMuZHJvcGRvd25Cb3JkZXJXaWR0aH0sIDByZW0pO1xuICAgIG1hcmdpbi1ib3R0b206ICR7KHsgdmFyaWFudCB9KSA9PlxuICAgICAgICBgdmFyKCR7dmFyaWFudCA9PT0gJ3RpZ2h0JyA/IHRva2Vucy5kaXZpZGVyTWFyZ2luQm90dG9tVGlnaHQgOiB0b2tlbnMuZGl2aWRlck1hcmdpbkJvdHRvbX0pYH07XG4gICAgbWFyZ2luLWxlZnQ6IHZhcigke3Rva2Vucy5kcm9wZG93bkJvcmRlcldpZHRofSwgMHJlbSk7XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogY2FsYyh2YXIoJHt0b2tlbnMuYm9yZGVyUmFkaXVzfSkgLSAwLjEyNXJlbSAtIHZhcigke3Rva2Vucy5kcm9wZG93bkJvcmRlcldpZHRofSwgMHJlbSkpO1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiBjYWxjKHZhcigke3Rva2Vucy5ib3JkZXJSYWRpdXN9KSAtIDAuMTI1cmVtIC0gdmFyKCR7dG9rZW5zLmRyb3Bkb3duQm9yZGVyV2lkdGh9LCAwcmVtKSk7XG5cbiAgICAmID4gbGkge1xuICAgICAgICBtYXJnaW46IDAgMC4xMjVyZW07XG4gICAgfVxuYDtcblxuZXhwb3J0IGNvbnN0IERpdmlkZXJXcmFwcGVyID0gc3R5bGVkLmRpdmBcbiAgICBtYXJnaW46IDAgY2FsYygwLjEyNXJlbSArIHZhcigke3Rva2Vucy5kcm9wZG93bkJvcmRlcldpZHRofSwgMHJlbSkpO1xuICAgIGJhY2tncm91bmQ6IHZhcigke2NvbnN0YW50cy5iYWNrZ3JvdW5kfSk7XG5gO1xuXG5leHBvcnQgY29uc3QgRGl2aWRlciA9IHN0eWxlZC5kaXY8eyB2YXJpYW50OiBTZWxlY3RQcm9wc1sndmFyaWFudCddIH0+YFxuICAgIGhlaWdodDogMC4wNjI1cmVtO1xuICAgIG1hcmdpbi10b3A6ICR7KHsgdmFyaWFudCB9KSA9PlxuICAgICAgICBgdmFyKCR7dmFyaWFudCA9PT0gJ3RpZ2h0JyA/IHRva2Vucy5kaXZpZGVyTWFyZ2luVG9wVGlnaHQgOiB0b2tlbnMuZGl2aWRlck1hcmdpblRvcH0pYH07XG4gICAgbWFyZ2luLXJpZ2h0OiB2YXIoJHt0b2tlbnMuZGl2aWRlck1hcmdpblJpZ2h0fSk7XG5cbiAgICBtYXJnaW4tbGVmdDogdmFyKCR7dG9rZW5zLmRpdmlkZXJNYXJnaW5MZWZ0fSk7XG4gICAgYmFja2dyb3VuZDogdmFyKCR7dG9rZW5zLmRpdmlkZXJDb2xvcn0pO1xuYDtcbiJdfQ== */"));
13
+ export var DividerWrapper = /*#__PURE__*/_styled("div", {
14
+ target: "eevghor1",
15
+ label: "plasma-new-hope__DividerWrapper"
16
+ })("margin:0 calc(0.125rem + var(", tokens.dropdownBorderWidth, ", 0rem));background:var(", constants.background, ");" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy1lbW90aW9uL2NvbXBvbmVudHMvU2VsZWN0L3VpL1NlbGVjdEFsbC9TZWxlY3RBbGwuc3R5bGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXdCd0MiLCJmaWxlIjoiLi4vLi4vLi4vLi4vLi4vLi4vc3JjLWVtb3Rpb24vY29tcG9uZW50cy9TZWxlY3QvdWkvU2VsZWN0QWxsL1NlbGVjdEFsbC5zdHlsZXMudHMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5cbmltcG9ydCB7IFNlbGVjdFByb3BzIH0gZnJvbSAnLi4vLi4vU2VsZWN0LnR5cGVzJztcbmltcG9ydCB7IHRva2VucywgY29uc3RhbnRzIH0gZnJvbSAnLi4vLi4vU2VsZWN0LnRva2Vucyc7XG5cbmV4cG9ydCBjb25zdCBXcmFwcGVyID0gc3R5bGVkLmRpdjx7IHZhcmlhbnQ6IFNlbGVjdFByb3BzWyd2YXJpYW50J107IHN0aWNreT86IGJvb2xlYW4gfT5gXG4gICAgcG9zaXRpb246ICR7KHsgc3RpY2t5IH0pID0+IChzdGlja3kgPyAnc3RpY2t5JyA6ICdzdGF0aWMnKX07XG4gICAgei1pbmRleDogMTA7XG4gICAgdG9wOiAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoJHtjb25zdGFudHMuYmFja2dyb3VuZH0pO1xuICAgIG1hcmdpbi1yaWdodDogdmFyKCR7dG9rZW5zLmRyb3Bkb3duQm9yZGVyV2lkdGh9LCAwcmVtKTtcbiAgICBtYXJnaW4tYm90dG9tOiAkeyh7IHZhcmlhbnQgfSkgPT5cbiAgICAgICAgYHZhcigke3ZhcmlhbnQgPT09ICd0aWdodCcgPyB0b2tlbnMuZGl2aWRlck1hcmdpbkJvdHRvbVRpZ2h0IDogdG9rZW5zLmRpdmlkZXJNYXJnaW5Cb3R0b219KWB9O1xuICAgIG1hcmdpbi1sZWZ0OiB2YXIoJHt0b2tlbnMuZHJvcGRvd25Cb3JkZXJXaWR0aH0sIDByZW0pO1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IGNhbGModmFyKCR7dG9rZW5zLmJvcmRlclJhZGl1c30pIC0gMC4xMjVyZW0gLSB2YXIoJHt0b2tlbnMuZHJvcGRvd25Cb3JkZXJXaWR0aH0sIDByZW0pKTtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogY2FsYyh2YXIoJHt0b2tlbnMuYm9yZGVyUmFkaXVzfSkgLSAwLjEyNXJlbSAtIHZhcigke3Rva2Vucy5kcm9wZG93bkJvcmRlcldpZHRofSwgMHJlbSkpO1xuXG4gICAgJiA+IGxpIHtcbiAgICAgICAgbWFyZ2luOiAwIDAuMTI1cmVtO1xuICAgIH1cbmA7XG5cbmV4cG9ydCBjb25zdCBEaXZpZGVyV3JhcHBlciA9IHN0eWxlZC5kaXZgXG4gICAgbWFyZ2luOiAwIGNhbGMoMC4xMjVyZW0gKyB2YXIoJHt0b2tlbnMuZHJvcGRvd25Cb3JkZXJXaWR0aH0sIDByZW0pKTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoJHtjb25zdGFudHMuYmFja2dyb3VuZH0pO1xuYDtcblxuZXhwb3J0IGNvbnN0IERpdmlkZXIgPSBzdHlsZWQuZGl2PHsgdmFyaWFudDogU2VsZWN0UHJvcHNbJ3ZhcmlhbnQnXSB9PmBcbiAgICBoZWlnaHQ6IDAuMDYyNXJlbTtcbiAgICBtYXJnaW4tdG9wOiAkeyh7IHZhcmlhbnQgfSkgPT5cbiAgICAgICAgYHZhcigke3ZhcmlhbnQgPT09ICd0aWdodCcgPyB0b2tlbnMuZGl2aWRlck1hcmdpblRvcFRpZ2h0IDogdG9rZW5zLmRpdmlkZXJNYXJnaW5Ub3B9KWB9O1xuICAgIG1hcmdpbi1yaWdodDogdmFyKCR7dG9rZW5zLmRpdmlkZXJNYXJnaW5SaWdodH0pO1xuXG4gICAgbWFyZ2luLWxlZnQ6IHZhcigke3Rva2Vucy5kaXZpZGVyTWFyZ2luTGVmdH0pO1xuICAgIGJhY2tncm91bmQ6IHZhcigke3Rva2Vucy5kaXZpZGVyQ29sb3J9KTtcbmA7XG4iXX0= */"));
17
+ export var Divider = /*#__PURE__*/_styled("div", {
18
+ target: "eevghor0",
19
+ label: "plasma-new-hope__Divider"
20
+ })("height:0.0625rem;margin-top:", function (_ref3) {
21
+ var variant = _ref3.variant;
22
+ return "var(".concat(variant === 'tight' ? tokens.dividerMarginTopTight : tokens.dividerMarginTop, ")");
23
+ }, ";margin-right:var(", tokens.dividerMarginRight, ");margin-left:var(", tokens.dividerMarginLeft, ");background:var(", tokens.dividerColor, ");" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy1lbW90aW9uL2NvbXBvbmVudHMvU2VsZWN0L3VpL1NlbGVjdEFsbC9TZWxlY3RBbGwuc3R5bGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQTZCc0UiLCJmaWxlIjoiLi4vLi4vLi4vLi4vLi4vLi4vc3JjLWVtb3Rpb24vY29tcG9uZW50cy9TZWxlY3QvdWkvU2VsZWN0QWxsL1NlbGVjdEFsbC5zdHlsZXMudHMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5cbmltcG9ydCB7IFNlbGVjdFByb3BzIH0gZnJvbSAnLi4vLi4vU2VsZWN0LnR5cGVzJztcbmltcG9ydCB7IHRva2VucywgY29uc3RhbnRzIH0gZnJvbSAnLi4vLi4vU2VsZWN0LnRva2Vucyc7XG5cbmV4cG9ydCBjb25zdCBXcmFwcGVyID0gc3R5bGVkLmRpdjx7IHZhcmlhbnQ6IFNlbGVjdFByb3BzWyd2YXJpYW50J107IHN0aWNreT86IGJvb2xlYW4gfT5gXG4gICAgcG9zaXRpb246ICR7KHsgc3RpY2t5IH0pID0+IChzdGlja3kgPyAnc3RpY2t5JyA6ICdzdGF0aWMnKX07XG4gICAgei1pbmRleDogMTA7XG4gICAgdG9wOiAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoJHtjb25zdGFudHMuYmFja2dyb3VuZH0pO1xuICAgIG1hcmdpbi1yaWdodDogdmFyKCR7dG9rZW5zLmRyb3Bkb3duQm9yZGVyV2lkdGh9LCAwcmVtKTtcbiAgICBtYXJnaW4tYm90dG9tOiAkeyh7IHZhcmlhbnQgfSkgPT5cbiAgICAgICAgYHZhcigke3ZhcmlhbnQgPT09ICd0aWdodCcgPyB0b2tlbnMuZGl2aWRlck1hcmdpbkJvdHRvbVRpZ2h0IDogdG9rZW5zLmRpdmlkZXJNYXJnaW5Cb3R0b219KWB9O1xuICAgIG1hcmdpbi1sZWZ0OiB2YXIoJHt0b2tlbnMuZHJvcGRvd25Cb3JkZXJXaWR0aH0sIDByZW0pO1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IGNhbGModmFyKCR7dG9rZW5zLmJvcmRlclJhZGl1c30pIC0gMC4xMjVyZW0gLSB2YXIoJHt0b2tlbnMuZHJvcGRvd25Cb3JkZXJXaWR0aH0sIDByZW0pKTtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogY2FsYyh2YXIoJHt0b2tlbnMuYm9yZGVyUmFkaXVzfSkgLSAwLjEyNXJlbSAtIHZhcigke3Rva2Vucy5kcm9wZG93bkJvcmRlcldpZHRofSwgMHJlbSkpO1xuXG4gICAgJiA+IGxpIHtcbiAgICAgICAgbWFyZ2luOiAwIDAuMTI1cmVtO1xuICAgIH1cbmA7XG5cbmV4cG9ydCBjb25zdCBEaXZpZGVyV3JhcHBlciA9IHN0eWxlZC5kaXZgXG4gICAgbWFyZ2luOiAwIGNhbGMoMC4xMjVyZW0gKyB2YXIoJHt0b2tlbnMuZHJvcGRvd25Cb3JkZXJXaWR0aH0sIDByZW0pKTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoJHtjb25zdGFudHMuYmFja2dyb3VuZH0pO1xuYDtcblxuZXhwb3J0IGNvbnN0IERpdmlkZXIgPSBzdHlsZWQuZGl2PHsgdmFyaWFudDogU2VsZWN0UHJvcHNbJ3ZhcmlhbnQnXSB9PmBcbiAgICBoZWlnaHQ6IDAuMDYyNXJlbTtcbiAgICBtYXJnaW4tdG9wOiAkeyh7IHZhcmlhbnQgfSkgPT5cbiAgICAgICAgYHZhcigke3ZhcmlhbnQgPT09ICd0aWdodCcgPyB0b2tlbnMuZGl2aWRlck1hcmdpblRvcFRpZ2h0IDogdG9rZW5zLmRpdmlkZXJNYXJnaW5Ub3B9KWB9O1xuICAgIG1hcmdpbi1yaWdodDogdmFyKCR7dG9rZW5zLmRpdmlkZXJNYXJnaW5SaWdodH0pO1xuXG4gICAgbWFyZ2luLWxlZnQ6IHZhcigke3Rva2Vucy5kaXZpZGVyTWFyZ2luTGVmdH0pO1xuICAgIGJhY2tncm91bmQ6IHZhcigke3Rva2Vucy5kaXZpZGVyQ29sb3J9KTtcbmA7XG4iXX0= */"));
@@ -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";