@salutejs/plasma-new-hope 0.325.0-dev.0 → 0.326.0-canary.1986.15321507276.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 (233) 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 +57 -52
  14. package/cjs/components/Pagination/ui/PaginationSelectPerPage/PaginationSelectPerPage.css +57 -52
  15. package/cjs/components/Select/FloatingPopover.js +9 -5
  16. package/cjs/components/Select/FloatingPopover.js.map +1 -1
  17. package/cjs/components/Select/Select.css +57 -52
  18. package/cjs/components/Select/Select.js +14 -5
  19. package/cjs/components/Select/Select.js.map +1 -1
  20. package/cjs/components/Select/Select.styles.js +17 -17
  21. package/cjs/components/Select/Select.styles.js.map +1 -1
  22. package/cjs/components/Select/Select.styles_bjoo18.css +3 -0
  23. package/cjs/components/Select/Select.tokens.js +9 -2
  24. package/cjs/components/Select/Select.tokens.js.map +1 -1
  25. package/cjs/components/Select/hooks/useKeyboardNavigation.js +2 -2
  26. package/cjs/components/Select/hooks/useKeyboardNavigation.js.map +1 -1
  27. package/cjs/components/Select/ui/Inner/Inner.css +11 -10
  28. package/cjs/components/Select/ui/Inner/Inner.js +5 -4
  29. package/cjs/components/Select/ui/Inner/Inner.js.map +1 -1
  30. package/cjs/components/Select/ui/Inner/ui/Item/Item.styles.js +4 -4
  31. package/cjs/components/Select/ui/Inner/ui/Item/Item.styles.js.map +1 -1
  32. package/cjs/components/Select/ui/Inner/ui/Item/Item.styles_1qpfn0s.css +11 -0
  33. package/cjs/components/Select/ui/SelectAll/SelectAll.css +54 -0
  34. package/cjs/components/Select/ui/SelectAll/SelectAll.js +44 -0
  35. package/cjs/components/Select/ui/SelectAll/SelectAll.js.map +1 -0
  36. package/cjs/components/Select/ui/SelectAll/SelectAll.styles.js +53 -0
  37. package/cjs/components/Select/ui/SelectAll/SelectAll.styles.js.map +1 -0
  38. package/cjs/components/Select/ui/SelectAll/SelectAll.styles_1puprwc.css +3 -0
  39. package/cjs/components/Select/ui/VirtualList/VirtualList.css +10 -10
  40. package/cjs/components/Table/Table.css +34 -29
  41. package/cjs/components/Table/ui/Cell/Cell.css +34 -29
  42. package/cjs/components/Table/ui/EditableCell/EditableCell.css +34 -29
  43. package/cjs/components/Table/ui/HeadCell/HeadCell.css +34 -29
  44. package/cjs/components/Table/ui/HeadCell/ui/Filter/Filter.css +34 -29
  45. package/cjs/index.css +23 -14
  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/Select/FloatingPopover.js +9 -5
  53. package/emotion/cjs/components/Select/Select.js +13 -5
  54. package/emotion/cjs/components/Select/Select.styles.js +11 -10
  55. package/emotion/cjs/components/Select/Select.template-doc.mdx +58 -0
  56. package/emotion/cjs/components/Select/Select.tokens.js +9 -2
  57. package/emotion/cjs/components/Select/hooks/useKeyboardNavigation.js +2 -2
  58. package/emotion/cjs/components/Select/ui/Inner/Inner.js +5 -4
  59. package/emotion/cjs/components/Select/ui/Inner/ui/Item/Item.styles.js +14 -14
  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 +187 -0
  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 +186 -0
  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 +186 -0
  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 +186 -0
  73. package/emotion/es/components/Combobox/Combobox.template-doc.mdx +58 -0
  74. package/emotion/es/components/Combobox/ComboboxNew/Combobox.js +5 -2
  75. package/emotion/es/components/Combobox/ComboboxNew/Combobox.tokens.js +8 -1
  76. package/emotion/es/components/Combobox/ComboboxNew/ui/SelectAll/SelectAll.js +32 -0
  77. package/emotion/es/components/Combobox/ComboboxNew/ui/SelectAll/SelectAll.styles.js +23 -0
  78. package/emotion/es/components/Combobox/ComboboxNew/ui/index.js +2 -1
  79. package/emotion/es/components/Select/FloatingPopover.js +9 -5
  80. package/emotion/es/components/Select/Select.js +15 -7
  81. package/emotion/es/components/Select/Select.styles.js +10 -9
  82. package/emotion/es/components/Select/Select.template-doc.mdx +58 -0
  83. package/emotion/es/components/Select/Select.tokens.js +9 -2
  84. package/emotion/es/components/Select/hooks/useKeyboardNavigation.js +2 -2
  85. package/emotion/es/components/Select/ui/Inner/Inner.js +6 -5
  86. package/emotion/es/components/Select/ui/Inner/ui/Item/Item.styles.js +14 -14
  87. package/emotion/es/components/Select/ui/SelectAll/SelectAll.js +32 -0
  88. package/emotion/es/components/Select/ui/SelectAll/SelectAll.styles.js +23 -0
  89. package/emotion/es/components/Select/ui/index.js +2 -1
  90. package/emotion/es/examples/plasma_b2c/components/Combobox/Combobox.config.js +15 -15
  91. package/emotion/es/examples/plasma_b2c/components/Combobox/Combobox.js +10 -2
  92. package/emotion/es/examples/plasma_b2c/components/Combobox/Combobox.stories.tsx +187 -0
  93. package/emotion/es/examples/plasma_b2c/components/Select/Select.config.js +24 -24
  94. package/emotion/es/examples/plasma_b2c/components/Select/Select.stories.tsx +186 -0
  95. package/emotion/es/examples/plasma_web/components/Combobox/Combobox.config.js +15 -15
  96. package/emotion/es/examples/plasma_web/components/Combobox/Combobox.js +10 -3
  97. package/emotion/es/examples/plasma_web/components/Combobox/Combobox.stories.tsx +186 -0
  98. package/emotion/es/examples/plasma_web/components/Select/Select.config.js +24 -24
  99. package/emotion/es/examples/plasma_web/components/Select/Select.stories.tsx +186 -0
  100. package/es/components/Combobox/ComboboxNew/Combobox.css +55 -51
  101. package/es/components/Combobox/ComboboxNew/Combobox.js +5 -1
  102. package/es/components/Combobox/ComboboxNew/Combobox.js.map +1 -1
  103. package/es/components/Combobox/ComboboxNew/Combobox.tokens.js +8 -1
  104. package/es/components/Combobox/ComboboxNew/Combobox.tokens.js.map +1 -1
  105. package/es/components/Combobox/ComboboxNew/ui/Inner/ui/Item/Item.styles.js +1 -1
  106. package/es/components/Combobox/ComboboxNew/ui/SelectAll/SelectAll.css +56 -0
  107. package/es/components/Combobox/ComboboxNew/ui/SelectAll/SelectAll.js +36 -0
  108. package/es/components/Combobox/ComboboxNew/ui/SelectAll/SelectAll.js.map +1 -0
  109. package/es/components/Combobox/ComboboxNew/ui/SelectAll/SelectAll.styles.js +47 -0
  110. package/es/components/Combobox/ComboboxNew/ui/SelectAll/SelectAll.styles.js.map +1 -0
  111. package/es/components/Combobox/ComboboxNew/ui/SelectAll/SelectAll.styles_1bpknuo.css +3 -0
  112. package/es/components/Pagination/Pagination.css +57 -52
  113. package/es/components/Pagination/ui/PaginationSelectPerPage/PaginationSelectPerPage.css +57 -52
  114. package/es/components/Select/FloatingPopover.js +9 -5
  115. package/es/components/Select/FloatingPopover.js.map +1 -1
  116. package/es/components/Select/Select.css +57 -52
  117. package/es/components/Select/Select.js +15 -6
  118. package/es/components/Select/Select.js.map +1 -1
  119. package/es/components/Select/Select.styles.js +17 -18
  120. package/es/components/Select/Select.styles.js.map +1 -1
  121. package/es/components/Select/Select.styles_bjoo18.css +3 -0
  122. package/es/components/Select/Select.tokens.js +9 -2
  123. package/es/components/Select/Select.tokens.js.map +1 -1
  124. package/es/components/Select/hooks/useKeyboardNavigation.js +2 -2
  125. package/es/components/Select/hooks/useKeyboardNavigation.js.map +1 -1
  126. package/es/components/Select/ui/Inner/Inner.css +11 -10
  127. package/es/components/Select/ui/Inner/Inner.js +6 -5
  128. package/es/components/Select/ui/Inner/Inner.js.map +1 -1
  129. package/es/components/Select/ui/Inner/ui/Item/Item.styles.js +4 -4
  130. package/es/components/Select/ui/Inner/ui/Item/Item.styles.js.map +1 -1
  131. package/es/components/Select/ui/Inner/ui/Item/Item.styles_1qpfn0s.css +11 -0
  132. package/es/components/Select/ui/SelectAll/SelectAll.css +54 -0
  133. package/es/components/Select/ui/SelectAll/SelectAll.js +36 -0
  134. package/es/components/Select/ui/SelectAll/SelectAll.js.map +1 -0
  135. package/es/components/Select/ui/SelectAll/SelectAll.styles.js +47 -0
  136. package/es/components/Select/ui/SelectAll/SelectAll.styles.js.map +1 -0
  137. package/es/components/Select/ui/SelectAll/SelectAll.styles_1puprwc.css +3 -0
  138. package/es/components/Select/ui/VirtualList/VirtualList.css +10 -10
  139. package/es/components/Table/Table.css +34 -29
  140. package/es/components/Table/ui/Cell/Cell.css +34 -29
  141. package/es/components/Table/ui/EditableCell/EditableCell.css +34 -29
  142. package/es/components/Table/ui/HeadCell/HeadCell.css +34 -29
  143. package/es/components/Table/ui/HeadCell/ui/Filter/Filter.css +34 -29
  144. package/es/index.css +23 -14
  145. package/package.json +2 -2
  146. package/styled-components/cjs/components/Combobox/Combobox.template-doc.mdx +58 -0
  147. package/styled-components/cjs/components/Combobox/ComboboxNew/Combobox.js +4 -1
  148. package/styled-components/cjs/components/Combobox/ComboboxNew/Combobox.tokens.js +8 -1
  149. package/styled-components/cjs/components/Combobox/ComboboxNew/ui/SelectAll/SelectAll.js +39 -0
  150. package/styled-components/cjs/components/Combobox/ComboboxNew/ui/SelectAll/SelectAll.styles.js +27 -0
  151. package/styled-components/cjs/components/Combobox/ComboboxNew/ui/index.js +11 -0
  152. package/styled-components/cjs/components/Select/FloatingPopover.js +9 -5
  153. package/styled-components/cjs/components/Select/Select.js +13 -5
  154. package/styled-components/cjs/components/Select/Select.styles.js +8 -8
  155. package/styled-components/cjs/components/Select/Select.template-doc.mdx +58 -0
  156. package/styled-components/cjs/components/Select/Select.tokens.js +9 -2
  157. package/styled-components/cjs/components/Select/hooks/useKeyboardNavigation.js +2 -2
  158. package/styled-components/cjs/components/Select/ui/Inner/Inner.js +5 -4
  159. package/styled-components/cjs/components/Select/ui/Inner/ui/Item/Item.styles.js +3 -3
  160. package/styled-components/cjs/components/Select/ui/SelectAll/SelectAll.js +39 -0
  161. package/styled-components/cjs/components/Select/ui/SelectAll/SelectAll.styles.js +27 -0
  162. package/styled-components/cjs/components/Select/ui/index.js +11 -0
  163. package/styled-components/cjs/examples/plasma_b2c/components/Combobox/Combobox.config.js +8 -8
  164. package/styled-components/cjs/examples/plasma_b2c/components/Combobox/Combobox.js +13 -2
  165. package/styled-components/cjs/examples/plasma_b2c/components/Combobox/Combobox.stories.tsx +187 -0
  166. package/styled-components/cjs/examples/plasma_b2c/components/Select/Select.config.js +14 -14
  167. package/styled-components/cjs/examples/plasma_b2c/components/Select/Select.stories.tsx +186 -0
  168. package/styled-components/cjs/examples/plasma_web/components/Combobox/Combobox.config.js +8 -8
  169. package/styled-components/cjs/examples/plasma_web/components/Combobox/Combobox.js +12 -2
  170. package/styled-components/cjs/examples/plasma_web/components/Combobox/Combobox.stories.tsx +186 -0
  171. package/styled-components/cjs/examples/plasma_web/components/Select/Select.config.js +14 -14
  172. package/styled-components/cjs/examples/plasma_web/components/Select/Select.stories.tsx +186 -0
  173. package/styled-components/es/components/Combobox/Combobox.template-doc.mdx +58 -0
  174. package/styled-components/es/components/Combobox/ComboboxNew/Combobox.js +5 -2
  175. package/styled-components/es/components/Combobox/ComboboxNew/Combobox.tokens.js +8 -1
  176. package/styled-components/es/components/Combobox/ComboboxNew/ui/SelectAll/SelectAll.js +32 -0
  177. package/styled-components/es/components/Combobox/ComboboxNew/ui/SelectAll/SelectAll.styles.js +20 -0
  178. package/styled-components/es/components/Combobox/ComboboxNew/ui/index.js +2 -1
  179. package/styled-components/es/components/Select/FloatingPopover.js +9 -5
  180. package/styled-components/es/components/Select/Select.js +15 -7
  181. package/styled-components/es/components/Select/Select.styles.js +7 -7
  182. package/styled-components/es/components/Select/Select.template-doc.mdx +58 -0
  183. package/styled-components/es/components/Select/Select.tokens.js +9 -2
  184. package/styled-components/es/components/Select/hooks/useKeyboardNavigation.js +2 -2
  185. package/styled-components/es/components/Select/ui/Inner/Inner.js +6 -5
  186. package/styled-components/es/components/Select/ui/Inner/ui/Item/Item.styles.js +3 -3
  187. package/styled-components/es/components/Select/ui/SelectAll/SelectAll.js +32 -0
  188. package/styled-components/es/components/Select/ui/SelectAll/SelectAll.styles.js +20 -0
  189. package/styled-components/es/components/Select/ui/index.js +2 -1
  190. package/styled-components/es/examples/plasma_b2c/components/Combobox/Combobox.config.js +8 -8
  191. package/styled-components/es/examples/plasma_b2c/components/Combobox/Combobox.js +10 -2
  192. package/styled-components/es/examples/plasma_b2c/components/Combobox/Combobox.stories.tsx +187 -0
  193. package/styled-components/es/examples/plasma_b2c/components/Select/Select.config.js +14 -14
  194. package/styled-components/es/examples/plasma_b2c/components/Select/Select.stories.tsx +186 -0
  195. package/styled-components/es/examples/plasma_web/components/Combobox/Combobox.config.js +8 -8
  196. package/styled-components/es/examples/plasma_web/components/Combobox/Combobox.js +10 -3
  197. package/styled-components/es/examples/plasma_web/components/Combobox/Combobox.stories.tsx +186 -0
  198. package/styled-components/es/examples/plasma_web/components/Select/Select.config.js +14 -14
  199. package/styled-components/es/examples/plasma_web/components/Select/Select.stories.tsx +186 -0
  200. package/types/components/Combobox/ComboboxNew/Combobox.d.ts.map +1 -1
  201. package/types/components/Combobox/ComboboxNew/Combobox.tokens.d.ts +7 -0
  202. package/types/components/Combobox/ComboboxNew/Combobox.tokens.d.ts.map +1 -1
  203. package/types/components/Combobox/ComboboxNew/Combobox.types.d.ts +11 -0
  204. package/types/components/Combobox/ComboboxNew/Combobox.types.d.ts.map +1 -1
  205. package/types/components/Combobox/ComboboxNew/ui/SelectAll/SelectAll.d.ts +7 -0
  206. package/types/components/Combobox/ComboboxNew/ui/SelectAll/SelectAll.d.ts.map +1 -0
  207. package/types/components/Combobox/ComboboxNew/ui/SelectAll/SelectAll.styles.d.ts +11 -0
  208. package/types/components/Combobox/ComboboxNew/ui/SelectAll/SelectAll.styles.d.ts.map +1 -0
  209. package/types/components/Combobox/ComboboxNew/ui/index.d.ts +1 -0
  210. package/types/components/Combobox/ComboboxNew/ui/index.d.ts.map +1 -1
  211. package/types/components/Pagination/ui/PaginationSelectPerPage/PaginationSelectPerPage.styles.d.ts +3 -0
  212. package/types/components/Pagination/ui/PaginationSelectPerPage/PaginationSelectPerPage.styles.d.ts.map +1 -1
  213. package/types/components/Select/FloatingPopover.d.ts.map +1 -1
  214. package/types/components/Select/Select.d.ts.map +1 -1
  215. package/types/components/Select/Select.styles.d.ts +3 -1
  216. package/types/components/Select/Select.styles.d.ts.map +1 -1
  217. package/types/components/Select/Select.tokens.d.ts +7 -0
  218. package/types/components/Select/Select.tokens.d.ts.map +1 -1
  219. package/types/components/Select/Select.types.d.ts +13 -1
  220. package/types/components/Select/Select.types.d.ts.map +1 -1
  221. package/types/components/Select/ui/Inner/Inner.d.ts.map +1 -1
  222. package/types/components/Select/ui/SelectAll/SelectAll.d.ts +7 -0
  223. package/types/components/Select/ui/SelectAll/SelectAll.d.ts.map +1 -0
  224. package/types/components/Select/ui/SelectAll/SelectAll.styles.d.ts +11 -0
  225. package/types/components/Select/ui/SelectAll/SelectAll.styles.d.ts.map +1 -0
  226. package/types/components/Select/ui/index.d.ts +1 -0
  227. package/types/components/Select/ui/index.d.ts.map +1 -1
  228. package/types/components/Table/ui/HeadCell/ui/Filter/Filter.styles.d.ts +3 -0
  229. package/types/components/Table/ui/HeadCell/ui/Filter/Filter.styles.d.ts.map +1 -1
  230. package/cjs/components/Select/Select.styles_11cghkj.css +0 -2
  231. package/cjs/components/Select/ui/Inner/ui/Item/Item.styles_ir8fmi.css +0 -11
  232. package/es/components/Select/Select.styles_11cghkj.css +0 -2
  233. package/es/components/Select/ui/Inner/ui/Item/Item.styles_ir8fmi.css +0 -11
@@ -13,6 +13,8 @@ import { Select } from './Select';
13
13
  type StorySelectProps = ComponentProps<typeof Select> & {
14
14
  enableContentLeft?: boolean;
15
15
  hasHint?: boolean;
16
+ selectAllLabel?: string;
17
+ selectAllSticky?: boolean;
16
18
  };
17
19
 
18
20
  const view = ['default', 'accent', 'secondary', 'clear', 'positive', 'warning', 'negative', 'dark', 'black', 'white'];
@@ -997,3 +999,187 @@ export const Common: StoryObj<StorySelectProps> = {
997
999
  },
998
1000
  render: (args) => <CommonStory {...args} />,
999
1001
  };
1002
+
1003
+ const flatItems = [
1004
+ {
1005
+ value: 'north_america',
1006
+ label: 'Северная Америка',
1007
+ },
1008
+ {
1009
+ value: 'rio_de_janeiro',
1010
+ label: 'Рио-де-Жанейро',
1011
+ },
1012
+ {
1013
+ value: 'sao_paulo',
1014
+ label: 'Сан-Паулу',
1015
+ },
1016
+ {
1017
+ value: 'buenos_aires',
1018
+ label: 'Буэнос-Айрес',
1019
+ },
1020
+ {
1021
+ value: 'cordoba',
1022
+ label: 'Кордова',
1023
+ },
1024
+ {
1025
+ value: 'bogota',
1026
+ label: 'Богота',
1027
+ },
1028
+ {
1029
+ value: 'medellin',
1030
+ label: 'Медельин',
1031
+ },
1032
+ {
1033
+ value: 'paris',
1034
+ label: 'Париж',
1035
+ },
1036
+ {
1037
+ value: 'lyon',
1038
+ label: 'Лион',
1039
+ },
1040
+ {
1041
+ value: 'berlin',
1042
+ label: 'Берлин',
1043
+ },
1044
+ {
1045
+ value: 'munich',
1046
+ label: 'Мюнхен',
1047
+ },
1048
+ {
1049
+ value: 'rome',
1050
+ label: 'Рим',
1051
+ },
1052
+ {
1053
+ value: 'milan',
1054
+ label: 'Милан',
1055
+ },
1056
+ {
1057
+ value: 'madrid',
1058
+ label: 'Мадрид',
1059
+ },
1060
+ {
1061
+ value: 'barcelona',
1062
+ label: 'Барселона',
1063
+ },
1064
+ {
1065
+ value: 'london',
1066
+ label: 'Лондон',
1067
+ },
1068
+ {
1069
+ value: 'manchester',
1070
+ label: 'Манчестер',
1071
+ },
1072
+ {
1073
+ value: 'beijing',
1074
+ label: 'Пекин',
1075
+ },
1076
+ {
1077
+ value: 'shanghai',
1078
+ label: 'Шанхай',
1079
+ },
1080
+ {
1081
+ value: 'tokyo',
1082
+ label: 'Токио',
1083
+ },
1084
+ {
1085
+ value: 'osaka',
1086
+ label: 'Осака',
1087
+ },
1088
+ {
1089
+ value: 'delhi',
1090
+ label: 'Дели',
1091
+ },
1092
+ {
1093
+ value: 'mumbai',
1094
+ label: 'Мумбаи',
1095
+ },
1096
+ {
1097
+ value: 'seoul',
1098
+ label: 'Сеул',
1099
+ },
1100
+ {
1101
+ value: 'busan',
1102
+ label: 'Пусан',
1103
+ },
1104
+ {
1105
+ value: 'bangkok',
1106
+ label: 'Бангкок',
1107
+ },
1108
+ {
1109
+ value: 'phuket',
1110
+ label: 'Пхукет',
1111
+ },
1112
+ {
1113
+ value: 'africa',
1114
+ label: 'Африка',
1115
+ },
1116
+ ];
1117
+
1118
+ const SelectAllStory = (args: StorySelectProps) => {
1119
+ const [value, setValue] = useState([]);
1120
+ const [checked, setChecked] = useState(false);
1121
+ const [indeterminate, setIndeterminate] = useState(false);
1122
+
1123
+ const handleClick = () => {
1124
+ if (checked && !indeterminate) {
1125
+ setValue([]);
1126
+ } else {
1127
+ setValue(flatItems.map((item) => item.value));
1128
+ }
1129
+ };
1130
+
1131
+ React.useEffect(() => {
1132
+ if (value.length === 0) {
1133
+ setChecked(false);
1134
+ setIndeterminate(false);
1135
+ } else if (value.length === flatItems.length) {
1136
+ setChecked(true);
1137
+ setIndeterminate(false);
1138
+ } else {
1139
+ setChecked(true);
1140
+ setIndeterminate(true);
1141
+ }
1142
+ }, [value]);
1143
+
1144
+ return (
1145
+ <div style={{ width: '400px' }}>
1146
+ <Select
1147
+ placeholder="Placeholder"
1148
+ multiselect
1149
+ items={flatItems}
1150
+ value={value}
1151
+ onChange={setValue}
1152
+ listOverflow="auto"
1153
+ listMaxHeight="300px"
1154
+ selectAllOptions={{
1155
+ sticky: args?.selectAllSticky || false,
1156
+ label: args?.selectAllLabel,
1157
+ checked,
1158
+ indeterminate,
1159
+ onClick: handleClick,
1160
+ }}
1161
+ />
1162
+ </div>
1163
+ );
1164
+ };
1165
+
1166
+ export const SelectAll: StoryObj<StorySelectProps> = {
1167
+ render: (args) => <SelectAllStory {...args} />,
1168
+ argTypes: {
1169
+ selectAllSticky: {
1170
+ control: 'boolean',
1171
+ },
1172
+ selectAllLabel: {
1173
+ control: 'text',
1174
+ },
1175
+ },
1176
+ args: {
1177
+ selectAllSticky: false,
1178
+ selectAllLabel: 'Выбрать все',
1179
+ },
1180
+ parameters: {
1181
+ controls: {
1182
+ include: ['selectAllSticky', 'selectAllLabel'],
1183
+ },
1184
+ },
1185
+ };