@alfalab/core-components-select 17.14.2 → 17.15.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 (201) hide show
  1. package/components/arrow/Component.js +1 -1
  2. package/components/arrow/index.css +3 -3
  3. package/components/base-checkmark/Component.js +1 -1
  4. package/components/base-checkmark/index.css +6 -6
  5. package/components/base-option/Component.js +1 -1
  6. package/components/base-option/index.css +15 -15
  7. package/components/base-select/Component.js +2 -2
  8. package/components/base-select/components/list-desktop/helpers/get-list-popover-desktop-props.d.ts +1 -1
  9. package/components/base-select/components/list-desktop/list-popover-desktop.js +1 -1
  10. package/components/base-select/components/list-mobile/list-bottom-sheet-mobile.js +1 -1
  11. package/components/base-select/components/list-mobile/list-modal-mobile.js +1 -1
  12. package/components/base-select/index.css +11 -11
  13. package/components/base-select/mobile.css +12 -12
  14. package/components/checkmark/Component.js +1 -1
  15. package/components/checkmark/index.css +10 -10
  16. package/components/checkmark-mobile/Component.js +1 -1
  17. package/components/checkmark-mobile/index.css +6 -6
  18. package/components/clear-button/Component.js +1 -1
  19. package/components/clear-button/index.css +6 -6
  20. package/components/field/Component.js +1 -1
  21. package/components/field/index.css +12 -12
  22. package/components/footer/Component.js +1 -1
  23. package/components/footer/index.css +5 -5
  24. package/components/optgroup/Component.js +1 -1
  25. package/components/optgroup/index.css +6 -6
  26. package/components/option/Component.js +1 -1
  27. package/components/option/index.css +19 -19
  28. package/components/options-list/Component.js +2 -2
  29. package/components/options-list/index.css +11 -11
  30. package/components/search/Component.js +1 -1
  31. package/components/search/index.css +2 -2
  32. package/components/virtual-options-list/Component.js +1 -1
  33. package/components/virtual-options-list/index.css +15 -15
  34. package/cssm/components/options-list/Component.js +1 -1
  35. package/{hook-8c561f14.d.ts → cssm/hook-184c14eb.d.ts} +6 -6
  36. package/cssm/{hook-660a1b89.js → hook-a7a71737.js} +13 -13
  37. package/cssm/mobile/Component.mobile.js +1 -1
  38. package/cssm/presets/index.d.ts +1 -1
  39. package/cssm/presets/index.js +1 -1
  40. package/cssm/presets/useSelectWithApply/hook.js +1 -1
  41. package/cssm/presets/useSelectWithApply/options-list-with-apply/Component.js +1 -1
  42. package/cssm/presets/useSelectWithApply/options-list-with-apply/header/Component.d.ts +1 -0
  43. package/cssm/presets/useSelectWithApply/options-list-with-apply/header/Component.js +2 -2
  44. package/cssm/presets/useSelectWithApply/options-list-with-apply/index.d.ts +1 -1
  45. package/cssm/presets/useSelectWithApply/options-list-with-apply/index.js +1 -1
  46. package/cssm/shared/index.js +1 -1
  47. package/cssm/typings.d.ts +1 -1
  48. package/esm/components/arrow/Component.js +1 -1
  49. package/esm/components/arrow/index.css +3 -3
  50. package/esm/components/base-checkmark/Component.js +1 -1
  51. package/esm/components/base-checkmark/index.css +6 -6
  52. package/esm/components/base-option/Component.js +1 -1
  53. package/esm/components/base-option/index.css +15 -15
  54. package/esm/components/base-select/Component.js +2 -2
  55. package/esm/components/base-select/components/list-desktop/list-popover-desktop.js +1 -1
  56. package/esm/components/base-select/components/list-mobile/list-bottom-sheet-mobile.js +1 -1
  57. package/esm/components/base-select/components/list-mobile/list-modal-mobile.js +1 -1
  58. package/esm/components/base-select/index.css +11 -11
  59. package/esm/components/base-select/mobile.css +12 -12
  60. package/esm/components/checkmark/Component.js +1 -1
  61. package/esm/components/checkmark/index.css +10 -10
  62. package/esm/components/checkmark-mobile/Component.js +1 -1
  63. package/esm/components/checkmark-mobile/index.css +6 -6
  64. package/esm/components/clear-button/Component.js +1 -1
  65. package/esm/components/clear-button/index.css +6 -6
  66. package/esm/components/field/Component.js +1 -1
  67. package/esm/components/field/index.css +12 -12
  68. package/esm/components/footer/Component.js +1 -1
  69. package/esm/components/footer/index.css +5 -5
  70. package/esm/components/optgroup/Component.js +1 -1
  71. package/esm/components/optgroup/index.css +6 -6
  72. package/esm/components/option/Component.js +1 -1
  73. package/esm/components/option/index.css +19 -19
  74. package/esm/components/options-list/Component.js +2 -2
  75. package/esm/components/options-list/index.css +11 -11
  76. package/esm/components/search/Component.js +1 -1
  77. package/esm/components/search/index.css +2 -2
  78. package/esm/components/virtual-options-list/Component.js +1 -1
  79. package/esm/components/virtual-options-list/index.css +15 -15
  80. package/esm/{hook-2671ed8c.js → hook-04d5af2b.js} +13 -13
  81. package/{modern/hook-8c561f14.d.ts → esm/hook-184c14eb.d.ts} +6 -6
  82. package/esm/{list-popover-desktop-887652b7.js → list-popover-desktop-f22f5549.js} +1 -1
  83. package/esm/mobile/Component.mobile.js +1 -1
  84. package/esm/mobile.module-e2672524.js +4 -0
  85. package/esm/presets/index.d.ts +1 -1
  86. package/esm/presets/index.js +1 -1
  87. package/esm/presets/useSelectWithApply/hook.js +1 -1
  88. package/esm/presets/useSelectWithApply/options-list-with-apply/Component.js +1 -1
  89. package/esm/presets/useSelectWithApply/options-list-with-apply/footer/Component.js +1 -1
  90. package/esm/presets/useSelectWithApply/options-list-with-apply/footer/index.css +3 -3
  91. package/esm/presets/useSelectWithApply/options-list-with-apply/header/Component.d.ts +1 -0
  92. package/esm/presets/useSelectWithApply/options-list-with-apply/header/Component.js +3 -3
  93. package/esm/presets/useSelectWithApply/options-list-with-apply/header/index.css +3 -3
  94. package/esm/presets/useSelectWithApply/options-list-with-apply/index.d.ts +1 -1
  95. package/esm/presets/useSelectWithApply/options-list-with-apply/index.js +1 -1
  96. package/esm/presets/useSelectWithLoading/hook.js +1 -1
  97. package/esm/presets/useSelectWithLoading/index.css +2 -2
  98. package/esm/shared/index.js +1 -1
  99. package/esm/typings.d.ts +1 -1
  100. package/{cssm/hook-8c561f14.d.ts → hook-184c14eb.d.ts} +6 -6
  101. package/{hook-915ae008.js → hook-b16bd1a0.js} +13 -13
  102. package/{list-popover-desktop-cbc31679.js → list-popover-desktop-84ee206e.js} +1 -1
  103. package/mobile/Component.mobile.js +1 -1
  104. package/mobile.module-3b2955c0.js +6 -0
  105. package/modern/components/arrow/Component.js +1 -1
  106. package/modern/components/arrow/index.css +3 -3
  107. package/modern/components/base-checkmark/Component.js +1 -1
  108. package/modern/components/base-checkmark/index.css +6 -6
  109. package/modern/components/base-option/Component.js +1 -1
  110. package/modern/components/base-option/index.css +15 -15
  111. package/modern/components/base-select/Component.js +2 -2
  112. package/modern/components/base-select/components/list-desktop/list-popover-desktop.js +1 -1
  113. package/modern/components/base-select/components/list-mobile/list-bottom-sheet-mobile.js +1 -1
  114. package/modern/components/base-select/components/list-mobile/list-modal-mobile.js +1 -1
  115. package/modern/components/base-select/index.css +11 -11
  116. package/modern/components/base-select/mobile.css +12 -12
  117. package/modern/components/checkmark/Component.js +1 -1
  118. package/modern/components/checkmark/index.css +10 -10
  119. package/modern/components/checkmark-mobile/Component.js +1 -1
  120. package/modern/components/checkmark-mobile/index.css +6 -6
  121. package/modern/components/clear-button/Component.js +1 -1
  122. package/modern/components/clear-button/index.css +6 -6
  123. package/modern/components/field/Component.js +1 -1
  124. package/modern/components/field/index.css +12 -12
  125. package/modern/components/footer/Component.js +1 -1
  126. package/modern/components/footer/index.css +5 -5
  127. package/modern/components/optgroup/Component.js +1 -1
  128. package/modern/components/optgroup/index.css +6 -6
  129. package/modern/components/option/Component.js +1 -1
  130. package/modern/components/option/index.css +19 -19
  131. package/modern/components/options-list/Component.js +2 -2
  132. package/modern/components/options-list/index.css +11 -11
  133. package/modern/components/search/Component.js +1 -1
  134. package/modern/components/search/index.css +2 -2
  135. package/modern/components/virtual-options-list/Component.js +1 -1
  136. package/modern/components/virtual-options-list/index.css +15 -15
  137. package/{esm/hook-8c561f14.d.ts → modern/hook-184c14eb.d.ts} +6 -6
  138. package/{moderncssm/hook-a8bc7fe8.js → modern/hook-cdcae7c1.js} +7 -2
  139. package/modern/{list-popover-desktop-9ae81274.js → list-popover-desktop-8de37f37.js} +1 -1
  140. package/modern/mobile/Component.mobile.js +1 -1
  141. package/modern/mobile.module-b2090cf5.js +4 -0
  142. package/modern/presets/index.d.ts +1 -1
  143. package/modern/presets/index.js +1 -1
  144. package/modern/presets/useSelectWithApply/hook.js +1 -1
  145. package/modern/presets/useSelectWithApply/options-list-with-apply/Component.js +1 -1
  146. package/modern/presets/useSelectWithApply/options-list-with-apply/footer/Component.js +1 -1
  147. package/modern/presets/useSelectWithApply/options-list-with-apply/footer/index.css +3 -3
  148. package/modern/presets/useSelectWithApply/options-list-with-apply/header/Component.d.ts +1 -0
  149. package/modern/presets/useSelectWithApply/options-list-with-apply/header/Component.js +3 -3
  150. package/modern/presets/useSelectWithApply/options-list-with-apply/header/index.css +3 -3
  151. package/modern/presets/useSelectWithApply/options-list-with-apply/index.d.ts +1 -1
  152. package/modern/presets/useSelectWithApply/options-list-with-apply/index.js +1 -1
  153. package/modern/presets/useSelectWithLoading/hook.js +1 -1
  154. package/modern/presets/useSelectWithLoading/index.css +2 -2
  155. package/modern/shared/index.js +1 -1
  156. package/modern/typings.d.ts +1 -1
  157. package/moderncssm/components/options-list/Component.js +1 -1
  158. package/moderncssm/hook-184c14eb.d.ts +115 -0
  159. package/{modern/hook-3033a0ac.js → moderncssm/hook-839b1d63.js} +7 -2
  160. package/moderncssm/mobile/Component.mobile.js +1 -1
  161. package/moderncssm/presets/index.d.ts +1 -1
  162. package/moderncssm/presets/index.js +1 -1
  163. package/moderncssm/presets/useSelectWithApply/hook.js +1 -1
  164. package/moderncssm/presets/useSelectWithApply/options-list-with-apply/Component.js +1 -1
  165. package/moderncssm/presets/useSelectWithApply/options-list-with-apply/header/Component.d.ts +1 -0
  166. package/moderncssm/presets/useSelectWithApply/options-list-with-apply/header/Component.js +2 -2
  167. package/moderncssm/presets/useSelectWithApply/options-list-with-apply/index.d.ts +1 -1
  168. package/moderncssm/presets/useSelectWithApply/options-list-with-apply/index.js +1 -1
  169. package/moderncssm/shared/index.js +1 -1
  170. package/moderncssm/typings.d.ts +1 -1
  171. package/package.json +3 -3
  172. package/presets/index.d.ts +1 -1
  173. package/presets/index.js +1 -1
  174. package/presets/useSelectWithApply/hook.js +1 -1
  175. package/presets/useSelectWithApply/options-list-with-apply/Component.js +1 -1
  176. package/presets/useSelectWithApply/options-list-with-apply/footer/Component.js +1 -1
  177. package/presets/useSelectWithApply/options-list-with-apply/footer/index.css +3 -3
  178. package/presets/useSelectWithApply/options-list-with-apply/header/Component.d.ts +1 -0
  179. package/presets/useSelectWithApply/options-list-with-apply/header/Component.js +3 -3
  180. package/presets/useSelectWithApply/options-list-with-apply/header/index.css +3 -3
  181. package/presets/useSelectWithApply/options-list-with-apply/index.d.ts +1 -1
  182. package/presets/useSelectWithApply/options-list-with-apply/index.js +1 -1
  183. package/presets/useSelectWithLoading/hook.js +1 -1
  184. package/presets/useSelectWithLoading/index.css +2 -2
  185. package/shared/index.js +1 -1
  186. package/src/components/options-list/Component.tsx +1 -1
  187. package/src/presets/useSelectWithApply/hook.tsx +13 -1
  188. package/src/presets/useSelectWithApply/options-list-with-apply/header/Component.tsx +9 -1
  189. package/typings.d.ts +1 -1
  190. package/esm/mobile.module-4e795c47.js +0 -4
  191. package/mobile.module-1cf424b0.js +0 -6
  192. package/modern/mobile.module-e9497052.js +0 -4
  193. package/moderncssm/hook-8c561f14.d.ts +0 -115
  194. /package/cssm/{hook-660a1b89.d.ts → hook-a7a71737.d.ts} +0 -0
  195. /package/esm/{hook-2671ed8c.d.ts → hook-04d5af2b.d.ts} +0 -0
  196. /package/esm/{list-popover-desktop-887652b7.d.ts → list-popover-desktop-f22f5549.d.ts} +0 -0
  197. /package/{hook-915ae008.d.ts → hook-b16bd1a0.d.ts} +0 -0
  198. /package/{list-popover-desktop-cbc31679.d.ts → list-popover-desktop-84ee206e.d.ts} +0 -0
  199. /package/modern/{hook-3033a0ac.d.ts → hook-cdcae7c1.d.ts} +0 -0
  200. /package/modern/{list-popover-desktop-9ae81274.d.ts → list-popover-desktop-8de37f37.d.ts} +0 -0
  201. /package/moderncssm/{hook-a8bc7fe8.d.ts → hook-839b1d63.d.ts} +0 -0
@@ -1,4 +1,4 @@
1
- /* hash: 1305y */
1
+ /* hash: dhewz */
2
2
  :root { /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */
3
3
  } /* deprecated */ :root {
4
4
  --color-light-neutral-300: #e7e8eb;
@@ -43,35 +43,35 @@
43
43
  /* checkmark */
44
44
 
45
45
  /* optgroup */
46
- } .select__virtualOptionsList_d0h1g {
46
+ } .select__virtualOptionsList_1r9na {
47
47
  width: 100%;
48
48
  outline: none;
49
49
  box-sizing: border-box;
50
50
  position: sticky;
51
51
  justify-content: space-between;
52
- } .select__virtualOptionsListHeader_d0h1g {
52
+ } .select__virtualOptionsListHeader_1r9na {
53
53
  box-sizing: border-box;
54
54
  border-bottom: 1px solid var(--color-light-neutral-300);
55
- } .select__virtualOptionsListFooter_d0h1g {
55
+ } .select__virtualOptionsListFooter_1r9na {
56
56
  position: sticky;
57
57
  bottom: var(--gap-0);
58
58
  box-sizing: border-box;
59
59
  border-top: 1px solid transparent
60
- } .select__virtualOptionsListFooter_d0h1g.select__withBorder_d0h1g {
60
+ } .select__virtualOptionsListFooter_1r9na.select__withBorder_1r9na {
61
61
  border-top: 1px solid var(--color-light-neutral-300);
62
- } .select__scrollable_d0h1g {
62
+ } .select__scrollable_1r9na {
63
63
  position: relative;
64
64
  overflow: auto;
65
65
  width: 100%;
66
- } .select__inner_d0h1g {
66
+ } .select__inner_1r9na {
67
67
  position: relative;
68
68
  width: 100%;
69
- } .select__virtualRow_d0h1g {
69
+ } .select__virtualRow_1r9na {
70
70
  position: absolute;
71
71
  top: var(--gap-0);
72
72
  left: var(--gap-0);
73
73
  width: 100%
74
- } .select__virtualRow_d0h1g:before {
74
+ } .select__virtualRow_1r9na:before {
75
75
  content: '';
76
76
  position: absolute;
77
77
  z-index: 1;
@@ -81,16 +81,16 @@
81
81
  height: 1px;
82
82
  background: var(--select-option-divider-background);
83
83
  display: var(--select-option-divider-display);
84
- } .select__virtualRow_d0h1g:first-child:before {
84
+ } .select__virtualRow_1r9na:first-child:before {
85
85
  display: none;
86
- } .select__highlighted_d0h1g:before,
87
- .select__highlighted_d0h1g + .select__virtualRow_d0h1g:before {
86
+ } .select__highlighted_1r9na:before,
87
+ .select__highlighted_1r9na + .select__virtualRow_1r9na:before {
88
88
  display: none;
89
- } .select__emptyPlaceholder_d0h1g {
89
+ } .select__emptyPlaceholder_1r9na {
90
90
  padding: var(--gap-16) var(--gap-12);
91
91
  color: var(--select-options-list-empty-placeholder-color);
92
92
  flex: 1;
93
- } .select__size-64_d0h1g .select__emptyPlaceholder_d0h1g,
94
- .select__size-72_d0h1g .select__emptyPlaceholder_d0h1g {
93
+ } .select__size-64_1r9na .select__emptyPlaceholder_1r9na,
94
+ .select__size-72_1r9na .select__emptyPlaceholder_1r9na {
95
95
  padding: var(--gap-24) var(--gap-16);
96
96
  }
@@ -54,16 +54,16 @@ var SELECT_ALL_KEY = 'select_all';
54
54
  var selectAllOption = { key: SELECT_ALL_KEY, content: 'Выбрать все' };
55
55
  function useSelectWithApply(_a) {
56
56
  var _b, _c;
57
- var options = _a.options, selected = _a.selected, _d = _a.onChange, onChange = _d === void 0 ? function () { return null; } : _d, OptionsList = _a.OptionsList, _e = _a.optionsListProps, optionsListProps = _e === void 0 ? {} : _e, _f = _a.showClear, showClear = _f === void 0 ? true : _f, _g = _a.showSelectAll, showSelectAll = _g === void 0 ? false : _g, _h = _a.showHeaderWithSelectAll, showHeaderWithSelectAll = _h === void 0 ? false : _h, _j = _a.showSearch, showSearch = _j === void 0 ? false : _j, _k = _a.searchProps, searchProps = _k === void 0 ? {} : _k;
58
- var _l = useState(''), searchState = _l[0], setSearchState = _l[1];
59
- var _m = typeof (searchProps === null || searchProps === void 0 ? void 0 : searchProps.value) === 'string'
57
+ var options = _a.options, selected = _a.selected, _d = _a.onChange, onChange = _d === void 0 ? function () { return null; } : _d, _e = _a.onSelectAllClick, onSelectAllClick = _e === void 0 ? function () { return null; } : _e, OptionsList = _a.OptionsList, _f = _a.optionsListProps, optionsListProps = _f === void 0 ? {} : _f, _g = _a.showClear, showClear = _g === void 0 ? true : _g, _h = _a.showSelectAll, showSelectAll = _h === void 0 ? false : _h, _j = _a.showHeaderWithSelectAll, showHeaderWithSelectAll = _j === void 0 ? false : _j, _k = _a.showSearch, showSearch = _k === void 0 ? false : _k, _l = _a.searchProps, searchProps = _l === void 0 ? {} : _l;
58
+ var _m = useState(''), searchState = _m[0], setSearchState = _m[1];
59
+ var _o = typeof (searchProps === null || searchProps === void 0 ? void 0 : searchProps.value) === 'string'
60
60
  ? [searchProps.value, searchProps.onChange]
61
- : [searchState, setSearchState], search = _m[0], setSearch = _m[1];
61
+ : [searchState, setSearchState], search = _o[0], setSearch = _o[1];
62
62
  var accessor = searchProps.accessor || defaultAccessor;
63
63
  var filterFn = searchProps.filterFn || defaultFilterFn;
64
64
  var groupAccessor = (_b = searchProps.groupAccessor) !== null && _b !== void 0 ? _b : defaultGroupAccessor;
65
65
  var filterGroup = (_c = searchProps.filterGroup) !== null && _c !== void 0 ? _c : false;
66
- var _o = useMemo(function () {
66
+ var _p = useMemo(function () {
67
67
  return processOptions(options, selected, showSearch
68
68
  ? function (option) {
69
69
  if (isGroup(option)) {
@@ -74,14 +74,15 @@ function useSelectWithApply(_a) {
74
74
  return filterFn(accessor(option), search);
75
75
  }
76
76
  : undefined, filterGroup);
77
- }, [options, selected, showSearch, filterGroup, filterFn, accessor, search, groupAccessor]), flatOptions = _o.flatOptions, filteredOptions = _o.filteredOptions, selectedOptions = _o.selectedOptions;
78
- var _p = useState(selectedOptions), selectedDraft = _p[0], setSelectedDraft = _p[1];
77
+ }, [options, selected, showSearch, filterGroup, filterFn, accessor, search, groupAccessor]), flatOptions = _p.flatOptions, filteredOptions = _p.filteredOptions, selectedOptions = _p.selectedOptions;
78
+ var _q = useState(selectedOptions), selectedDraft = _q[0], setSelectedDraft = _q[1];
79
79
  var selectedOptionsRef = useRef(selectedOptions);
80
80
  var handleApply = function () {
81
81
  onChange({
82
82
  selected: selectedDraft[0],
83
83
  selectedMultiple: selectedDraft,
84
84
  initiator: null,
85
+ name: 'apply-footer',
85
86
  });
86
87
  };
87
88
  var handleClear = function () {
@@ -90,10 +91,13 @@ function useSelectWithApply(_a) {
90
91
  selected: null,
91
92
  selectedMultiple: [],
92
93
  initiator: null,
94
+ name: 'reset-footer',
93
95
  });
94
96
  };
95
97
  var handleToggleAll = function () {
96
- setSelectedDraft(flatOptions.length === selectedDraft.length ? [] : flatOptions);
98
+ var optionsToSet = flatOptions.length === selectedDraft.length ? [] : flatOptions;
99
+ onSelectAllClick(optionsToSet);
100
+ setSelectedDraft(optionsToSet);
97
101
  };
98
102
  var handleChange = function (_a) {
99
103
  var initiator = _a.initiator, restArgs = __rest(_a, ["initiator"]);
@@ -126,11 +130,7 @@ function useSelectWithApply(_a) {
126
130
  }, [filteredOptions, showSelectAll]);
127
131
  return {
128
132
  OptionsList: OptionsListWithApply,
129
- optionsListProps: __assign(__assign({}, optionsListProps), { OptionsList: OptionsList, showClear: showClear, onClear: handleClear, onApply: handleApply, onClose: handleClose, selectedDraft: selectedDraft, setSelectedDraft: setSelectedDraft, showHeaderWithSelectAll: showHeaderWithSelectAll, headerProps: {
130
- indeterminate: !!selectedDraft.length && selectedDraft.length < flatOptions.length,
131
- checked: selectedDraft.length === flatOptions.length,
132
- onChange: handleToggleAll,
133
- } }),
133
+ optionsListProps: __assign(__assign({}, optionsListProps), { OptionsList: OptionsList, showClear: showClear, onClear: handleClear, onApply: handleApply, onClose: handleClose, selectedDraft: selectedDraft, setSelectedDraft: setSelectedDraft, showHeaderWithSelectAll: showHeaderWithSelectAll, headerProps: __assign(__assign({}, optionsListProps === null || optionsListProps === void 0 ? void 0 : optionsListProps.headerProps), { indeterminate: !!selectedDraft.length && selectedDraft.length < flatOptions.length, checked: selectedDraft.length === flatOptions.length, onChange: handleToggleAll }) }),
134
134
  allowUnselect: true,
135
135
  multiple: true,
136
136
  options: memoizedOptions,
@@ -13,6 +13,10 @@ type UseSelectWithApplyProps = {
13
13
  * Обработчик выбора
14
14
  */
15
15
  onChange: BaseSelectProps['onChange'];
16
+ /**
17
+ * Дополнительный обработчик клика на чекбокс выбрать все
18
+ */
19
+ onSelectAllClick?: (selectedMultiple: OptionShape[]) => void;
16
20
  /**
17
21
  * Компонент выпадающего меню
18
22
  */
@@ -43,7 +47,7 @@ type UseSelectWithApplyProps = {
43
47
  showHeaderWithSelectAll?: boolean;
44
48
  };
45
49
  declare const SELECT_ALL_KEY = "select_all";
46
- declare function useSelectWithApply({ options, selected, onChange, OptionsList, optionsListProps, showClear, showSelectAll, showHeaderWithSelectAll, showSearch, searchProps, }: UseSelectWithApplyProps): {
50
+ declare function useSelectWithApply({ options, selected, onChange, onSelectAllClick, OptionsList, optionsListProps, showClear, showSelectAll, showHeaderWithSelectAll, showSearch, searchProps, }: UseSelectWithApplyProps): {
47
51
  OptionsList: import("react").ForwardRefExoticComponent<import("./typings").OptionsListProps & {
48
52
  showClear?: boolean | undefined;
49
53
  onClose?: (() => void) | undefined;
@@ -67,11 +71,7 @@ declare function useSelectWithApply({ options, selected, onChange, OptionsList,
67
71
  selectedDraft: OptionShape[];
68
72
  setSelectedDraft: import("react").Dispatch<import("react").SetStateAction<OptionShape[]>>;
69
73
  showHeaderWithSelectAll: boolean;
70
- headerProps: {
71
- indeterminate: boolean;
72
- checked: boolean;
73
- onChange: () => void;
74
- };
74
+ headerProps: any;
75
75
  };
76
76
  allowUnselect: boolean;
77
77
  multiple: boolean;
@@ -2,7 +2,7 @@ import { __assign } from 'tslib';
2
2
  import React from 'react';
3
3
  import cn from 'classnames';
4
4
 
5
- var styles = {"component":"select__component_1kggs","popoverInner":"select__popoverInner_1kggs","optionsListWrapper":"select__optionsListWrapper_1kggs","optionsListBorder":"select__optionsListBorder_1kggs","nativeSelect":"select__nativeSelect_1kggs","block":"select__block_1kggs","emptySearchPlaceholder":"select__emptySearchPlaceholder_1kggs","search":"select__search_1kggs"};
5
+ var styles = {"component":"select__component_2jyf9","popoverInner":"select__popoverInner_2jyf9","optionsListWrapper":"select__optionsListWrapper_2jyf9","optionsListBorder":"select__optionsListBorder_2jyf9","nativeSelect":"select__nativeSelect_2jyf9","block":"select__block_2jyf9","emptySearchPlaceholder":"select__emptySearchPlaceholder_2jyf9","search":"select__search_2jyf9"};
6
6
  require('./components/base-select/index.css')
7
7
 
8
8
  var ListPopoverDesktop = function (props) {
@@ -12,7 +12,7 @@ import { Option } from '../components/option/Component.js';
12
12
  import { OptionsList } from '../components/options-list/Component.js';
13
13
  import { Search } from '../components/search/Component.js';
14
14
  import { VirtualOptionsList } from '../components/virtual-options-list/Component.js';
15
- import { u as useSelectWithApply } from '../hook-2671ed8c.js';
15
+ import { u as useSelectWithApply } from '../hook-04d5af2b.js';
16
16
  import { Header } from '../presets/useSelectWithApply/options-list-with-apply/header/Component.js';
17
17
 
18
18
  var VIRTUAL_OPTIONS_LIST_THRESHOLD = 30;
@@ -0,0 +1,4 @@
1
+ var mobileStyles = {"sheet":"select__sheet_cnffg","sheetContent":"select__sheetContent_cnffg","modalContent":"select__modalContent_cnffg","sheetContainer":"select__sheetContainer_cnffg","optionsListWrapper":"select__optionsListWrapper_cnffg","optionsList":"select__optionsList_cnffg","scrollbar":"select__scrollbar_cnffg","search":"select__search_cnffg","option":"select__option_cnffg","optionGroup":"select__optionGroup_cnffg"};
2
+ require('./components/base-select/mobile.css')
3
+
4
+ export { mobileStyles as m };
@@ -1,3 +1,3 @@
1
1
  export * from "./useSelectWithLoading/hook";
2
2
  export * from "./useLazyLoading/hook";
3
- export * from "../hook-8c561f14";
3
+ export * from "../hook-184c14eb";
@@ -1,3 +1,3 @@
1
1
  export { useSelectWithLoading } from './useSelectWithLoading/hook.js';
2
2
  export { useLazyLoading } from './useLazyLoading/hook.js';
3
- export { S as SELECT_ALL_KEY, u as useSelectWithApply } from '../hook-2671ed8c.js';
3
+ export { S as SELECT_ALL_KEY, u as useSelectWithApply } from '../hook-04d5af2b.js';
@@ -2,4 +2,4 @@ import 'tslib';
2
2
  import 'react';
3
3
  import 'deep-equal';
4
4
  import '../../utils.js';
5
- export { S as SELECT_ALL_KEY, u as useSelectWithApply } from '../../hook-2671ed8c.js';
5
+ export { S as SELECT_ALL_KEY, u as useSelectWithApply } from '../../hook-04d5af2b.js';
@@ -2,6 +2,6 @@ import 'tslib';
2
2
  import 'react';
3
3
  import '../../../components/options-list/Component.js';
4
4
  import '../../../consts.js';
5
- export { O as OptionsListWithApply } from '../../../hook-2671ed8c.js';
5
+ export { O as OptionsListWithApply } from '../../../hook-04d5af2b.js';
6
6
  import './footer/Component.js';
7
7
  import './header/Component.js';
@@ -2,7 +2,7 @@ import React from 'react';
2
2
  import { ButtonDesktop } from '@alfalab/core-components-button/esm/desktop';
3
3
  import { getDataTestId } from '@alfalab/core-components-shared/esm';
4
4
 
5
- var styles = {"footer":"select__footer_1c2wo","button":"select__button_1c2wo"};
5
+ var styles = {"footer":"select__footer_rayvz","button":"select__button_rayvz"};
6
6
  require('./index.css')
7
7
 
8
8
  var Footer = function (_a) {
@@ -1,4 +1,4 @@
1
- /* hash: 31hjz */
1
+ /* hash: 1cjuk */
2
2
  :root { /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */
3
3
  } /* deprecated */ :root {
4
4
  --color-light-base-bg-primary: #fff; /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */
@@ -23,10 +23,10 @@
23
23
  --gap-12: var(--gap-s);
24
24
  } :root {
25
25
  } :root {
26
- } /* сбрасывает синюю подсветку при нажатии */ .select__footer_1c2wo {
26
+ } /* сбрасывает синюю подсветку при нажатии */ .select__footer_rayvz {
27
27
  background-color: var(--color-light-base-bg-primary);
28
28
  padding: var(--gap-12);
29
29
  outline: none
30
- } .select__footer_1c2wo > .select__button_1c2wo + .select__button_1c2wo {
30
+ } .select__footer_rayvz > .select__button_rayvz + .select__button_rayvz {
31
31
  margin-left: var(--gap-8);
32
32
  }
@@ -6,6 +6,7 @@ type HeaderProps = {
6
6
  indeterminate?: boolean;
7
7
  onChange?: CheckboxProps['onChange'];
8
8
  mobile?: boolean;
9
+ dataTestId?: string;
9
10
  };
10
11
  declare const Header: React.FC<HeaderProps>;
11
12
  export { HeaderProps, Header };
@@ -2,14 +2,14 @@ import React from 'react';
2
2
  import cn from 'classnames';
3
3
  import { Checkbox } from '@alfalab/core-components-checkbox/esm';
4
4
 
5
- var styles = {"desktop":"select__desktop_19sbe","mobile":"select__mobile_19sbe"};
5
+ var styles = {"desktop":"select__desktop_p0dlj","mobile":"select__mobile_p0dlj"};
6
6
  require('./index.css')
7
7
 
8
8
  var Header = function (_a) {
9
9
  var _b;
10
- var onChange = _a.onChange, checked = _a.checked, indeterminate = _a.indeterminate, mobile = _a.mobile;
10
+ var onChange = _a.onChange, checked = _a.checked, indeterminate = _a.indeterminate, mobile = _a.mobile, dataTestId = _a.dataTestId;
11
11
  return (React.createElement("div", { className: cn((_b = {}, _b[styles.desktop] = !mobile, _b[styles.mobile] = mobile, _b)) },
12
- React.createElement(Checkbox, { block: true, indeterminate: indeterminate, size: 'm', onChange: onChange, checked: checked, label: '\u0412\u044B\u0431\u0440\u0430\u0442\u044C \u0432\u0441\u0435' })));
12
+ React.createElement(Checkbox, { block: true, indeterminate: indeterminate, size: 'm', onChange: onChange, checked: checked, label: '\u0412\u044B\u0431\u0440\u0430\u0442\u044C \u0432\u0441\u0435', dataTestId: dataTestId })));
13
13
  };
14
14
 
15
15
  export { Header };
@@ -1,4 +1,4 @@
1
- /* hash: 1vth5 */
1
+ /* hash: 1my5x */
2
2
  :root { /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */
3
3
  } /* deprecated */ :root { /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */
4
4
  } :root { /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */
@@ -22,8 +22,8 @@
22
22
  --gap-12: var(--gap-s);
23
23
  } :root {
24
24
  } :root {
25
- } /* сбрасывает синюю подсветку при нажатии */ .select__desktop_19sbe {
25
+ } /* сбрасывает синюю подсветку при нажатии */ .select__desktop_p0dlj {
26
26
  padding: var(--gap-12);
27
- } .select__mobile_19sbe {
27
+ } .select__mobile_p0dlj {
28
28
  padding: var(--gap-12) var(--gap-8);
29
29
  }
@@ -1 +1 @@
1
- export * from "../../../hook-2671ed8c";
1
+ export * from "../../../hook-04d5af2b";
@@ -1 +1 @@
1
- export { O as OptionsListWithApply } from '../../../hook-2671ed8c.js';
1
+ export { O as OptionsListWithApply } from '../../../hook-04d5af2b.js';
@@ -3,7 +3,7 @@ import React from 'react';
3
3
  import { Skeleton } from '@alfalab/core-components-skeleton/esm';
4
4
  import { Option } from '../../components/option/Component.js';
5
5
 
6
- var styles = {"skeleton":"select__skeleton_18lwl"};
6
+ var styles = {"skeleton":"select__skeleton_rhax9"};
7
7
  require('./index.css')
8
8
 
9
9
  function useSelectWithLoading(_a) {
@@ -1,5 +1,5 @@
1
- /* hash: 11kej */
2
- .select__skeleton_18lwl {
1
+ /* hash: v5fvn */
2
+ .select__skeleton_rhax9 {
3
3
  position: absolute;
4
4
  top: 50%;
5
5
  transform: translateY(-50%);
@@ -1,6 +1,6 @@
1
1
  export { useSelectWithLoading } from '../presets/useSelectWithLoading/hook.js';
2
2
  export { useLazyLoading } from '../presets/useLazyLoading/hook.js';
3
- export { S as SELECT_ALL_KEY, u as useSelectWithApply } from '../hook-2671ed8c.js';
3
+ export { S as SELECT_ALL_KEY, u as useSelectWithApply } from '../hook-04d5af2b.js';
4
4
  export { defaultAccessor, defaultFilterFn, defaultGroupAccessor, getSelectTestIds, isGroup, isOptionShape, joinOptions, lastIndexOf, processOptions, usePrevious, useVirtualVisibleOptions, useVisibleOptions } from '../utils.js';
5
5
  export { Option } from '../components/option/Component.js';
6
6
  export { BaseOption } from '../components/base-option/Component.js';
package/esm/typings.d.ts CHANGED
@@ -6,7 +6,7 @@ import { InputProps } from "@alfalab/core-components-input";
6
6
  import { ModalProps } from "@alfalab/core-components-modal";
7
7
  import { ModalFooterProps, ModalHeaderProps } from "@alfalab/core-components-modal/shared";
8
8
  import { PopoverProps } from "@alfalab/core-components-popover";
9
- import { UseSelectWithApplyProps } from "./hook-8c561f14";
9
+ import { UseSelectWithApplyProps } from "./hook-184c14eb";
10
10
  type AnyObject = Record<string, any>;
11
11
  type OptionShape = {
12
12
  /**
@@ -13,6 +13,10 @@ type UseSelectWithApplyProps = {
13
13
  * Обработчик выбора
14
14
  */
15
15
  onChange: BaseSelectProps['onChange'];
16
+ /**
17
+ * Дополнительный обработчик клика на чекбокс выбрать все
18
+ */
19
+ onSelectAllClick?: (selectedMultiple: OptionShape[]) => void;
16
20
  /**
17
21
  * Компонент выпадающего меню
18
22
  */
@@ -43,7 +47,7 @@ type UseSelectWithApplyProps = {
43
47
  showHeaderWithSelectAll?: boolean;
44
48
  };
45
49
  declare const SELECT_ALL_KEY = "select_all";
46
- declare function useSelectWithApply({ options, selected, onChange, OptionsList, optionsListProps, showClear, showSelectAll, showHeaderWithSelectAll, showSearch, searchProps, }: UseSelectWithApplyProps): {
50
+ declare function useSelectWithApply({ options, selected, onChange, onSelectAllClick, OptionsList, optionsListProps, showClear, showSelectAll, showHeaderWithSelectAll, showSearch, searchProps, }: UseSelectWithApplyProps): {
47
51
  OptionsList: import("react").ForwardRefExoticComponent<import("./typings").OptionsListProps & {
48
52
  showClear?: boolean | undefined;
49
53
  onClose?: (() => void) | undefined;
@@ -67,11 +71,7 @@ declare function useSelectWithApply({ options, selected, onChange, OptionsList,
67
71
  selectedDraft: OptionShape[];
68
72
  setSelectedDraft: import("react").Dispatch<import("react").SetStateAction<OptionShape[]>>;
69
73
  showHeaderWithSelectAll: boolean;
70
- headerProps: {
71
- indeterminate: boolean;
72
- checked: boolean;
73
- onChange: () => void;
74
- };
74
+ headerProps: any;
75
75
  };
76
76
  allowUnselect: boolean;
77
77
  multiple: boolean;
@@ -61,16 +61,16 @@ var SELECT_ALL_KEY = 'select_all';
61
61
  var selectAllOption = { key: SELECT_ALL_KEY, content: 'Выбрать все' };
62
62
  function useSelectWithApply(_a) {
63
63
  var _b, _c;
64
- var options = _a.options, selected = _a.selected, _d = _a.onChange, onChange = _d === void 0 ? function () { return null; } : _d, OptionsList = _a.OptionsList, _e = _a.optionsListProps, optionsListProps = _e === void 0 ? {} : _e, _f = _a.showClear, showClear = _f === void 0 ? true : _f, _g = _a.showSelectAll, showSelectAll = _g === void 0 ? false : _g, _h = _a.showHeaderWithSelectAll, showHeaderWithSelectAll = _h === void 0 ? false : _h, _j = _a.showSearch, showSearch = _j === void 0 ? false : _j, _k = _a.searchProps, searchProps = _k === void 0 ? {} : _k;
65
- var _l = React.useState(''), searchState = _l[0], setSearchState = _l[1];
66
- var _m = typeof (searchProps === null || searchProps === void 0 ? void 0 : searchProps.value) === 'string'
64
+ var options = _a.options, selected = _a.selected, _d = _a.onChange, onChange = _d === void 0 ? function () { return null; } : _d, _e = _a.onSelectAllClick, onSelectAllClick = _e === void 0 ? function () { return null; } : _e, OptionsList = _a.OptionsList, _f = _a.optionsListProps, optionsListProps = _f === void 0 ? {} : _f, _g = _a.showClear, showClear = _g === void 0 ? true : _g, _h = _a.showSelectAll, showSelectAll = _h === void 0 ? false : _h, _j = _a.showHeaderWithSelectAll, showHeaderWithSelectAll = _j === void 0 ? false : _j, _k = _a.showSearch, showSearch = _k === void 0 ? false : _k, _l = _a.searchProps, searchProps = _l === void 0 ? {} : _l;
65
+ var _m = React.useState(''), searchState = _m[0], setSearchState = _m[1];
66
+ var _o = typeof (searchProps === null || searchProps === void 0 ? void 0 : searchProps.value) === 'string'
67
67
  ? [searchProps.value, searchProps.onChange]
68
- : [searchState, setSearchState], search = _m[0], setSearch = _m[1];
68
+ : [searchState, setSearchState], search = _o[0], setSearch = _o[1];
69
69
  var accessor = searchProps.accessor || utils.defaultAccessor;
70
70
  var filterFn = searchProps.filterFn || utils.defaultFilterFn;
71
71
  var groupAccessor = (_b = searchProps.groupAccessor) !== null && _b !== void 0 ? _b : utils.defaultGroupAccessor;
72
72
  var filterGroup = (_c = searchProps.filterGroup) !== null && _c !== void 0 ? _c : false;
73
- var _o = React.useMemo(function () {
73
+ var _p = React.useMemo(function () {
74
74
  return utils.processOptions(options, selected, showSearch
75
75
  ? function (option) {
76
76
  if (utils.isGroup(option)) {
@@ -81,14 +81,15 @@ function useSelectWithApply(_a) {
81
81
  return filterFn(accessor(option), search);
82
82
  }
83
83
  : undefined, filterGroup);
84
- }, [options, selected, showSearch, filterGroup, filterFn, accessor, search, groupAccessor]), flatOptions = _o.flatOptions, filteredOptions = _o.filteredOptions, selectedOptions = _o.selectedOptions;
85
- var _p = React.useState(selectedOptions), selectedDraft = _p[0], setSelectedDraft = _p[1];
84
+ }, [options, selected, showSearch, filterGroup, filterFn, accessor, search, groupAccessor]), flatOptions = _p.flatOptions, filteredOptions = _p.filteredOptions, selectedOptions = _p.selectedOptions;
85
+ var _q = React.useState(selectedOptions), selectedDraft = _q[0], setSelectedDraft = _q[1];
86
86
  var selectedOptionsRef = React.useRef(selectedOptions);
87
87
  var handleApply = function () {
88
88
  onChange({
89
89
  selected: selectedDraft[0],
90
90
  selectedMultiple: selectedDraft,
91
91
  initiator: null,
92
+ name: 'apply-footer',
92
93
  });
93
94
  };
94
95
  var handleClear = function () {
@@ -97,10 +98,13 @@ function useSelectWithApply(_a) {
97
98
  selected: null,
98
99
  selectedMultiple: [],
99
100
  initiator: null,
101
+ name: 'reset-footer',
100
102
  });
101
103
  };
102
104
  var handleToggleAll = function () {
103
- setSelectedDraft(flatOptions.length === selectedDraft.length ? [] : flatOptions);
105
+ var optionsToSet = flatOptions.length === selectedDraft.length ? [] : flatOptions;
106
+ onSelectAllClick(optionsToSet);
107
+ setSelectedDraft(optionsToSet);
104
108
  };
105
109
  var handleChange = function (_a) {
106
110
  var initiator = _a.initiator, restArgs = tslib.__rest(_a, ["initiator"]);
@@ -133,11 +137,7 @@ function useSelectWithApply(_a) {
133
137
  }, [filteredOptions, showSelectAll]);
134
138
  return {
135
139
  OptionsList: OptionsListWithApply,
136
- optionsListProps: tslib.__assign(tslib.__assign({}, optionsListProps), { OptionsList: OptionsList, showClear: showClear, onClear: handleClear, onApply: handleApply, onClose: handleClose, selectedDraft: selectedDraft, setSelectedDraft: setSelectedDraft, showHeaderWithSelectAll: showHeaderWithSelectAll, headerProps: {
137
- indeterminate: !!selectedDraft.length && selectedDraft.length < flatOptions.length,
138
- checked: selectedDraft.length === flatOptions.length,
139
- onChange: handleToggleAll,
140
- } }),
140
+ optionsListProps: tslib.__assign(tslib.__assign({}, optionsListProps), { OptionsList: OptionsList, showClear: showClear, onClear: handleClear, onApply: handleApply, onClose: handleClose, selectedDraft: selectedDraft, setSelectedDraft: setSelectedDraft, showHeaderWithSelectAll: showHeaderWithSelectAll, headerProps: tslib.__assign(tslib.__assign({}, optionsListProps === null || optionsListProps === void 0 ? void 0 : optionsListProps.headerProps), { indeterminate: !!selectedDraft.length && selectedDraft.length < flatOptions.length, checked: selectedDraft.length === flatOptions.length, onChange: handleToggleAll }) }),
141
141
  allowUnselect: true,
142
142
  multiple: true,
143
143
  options: memoizedOptions,
@@ -9,7 +9,7 @@ function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'defau
9
9
  var React__default = /*#__PURE__*/_interopDefaultCompat(React);
10
10
  var cn__default = /*#__PURE__*/_interopDefaultCompat(cn);
11
11
 
12
- var styles = {"component":"select__component_1kggs","popoverInner":"select__popoverInner_1kggs","optionsListWrapper":"select__optionsListWrapper_1kggs","optionsListBorder":"select__optionsListBorder_1kggs","nativeSelect":"select__nativeSelect_1kggs","block":"select__block_1kggs","emptySearchPlaceholder":"select__emptySearchPlaceholder_1kggs","search":"select__search_1kggs"};
12
+ var styles = {"component":"select__component_2jyf9","popoverInner":"select__popoverInner_2jyf9","optionsListWrapper":"select__optionsListWrapper_2jyf9","optionsListBorder":"select__optionsListBorder_2jyf9","nativeSelect":"select__nativeSelect_2jyf9","block":"select__block_2jyf9","emptySearchPlaceholder":"select__emptySearchPlaceholder_2jyf9","search":"select__search_2jyf9"};
13
13
  require('./components/base-select/index.css')
14
14
 
15
15
  var ListPopoverDesktop = function (props) {
@@ -16,7 +16,7 @@ var components_option_Component = require('../components/option/Component.js');
16
16
  var components_optionsList_Component = require('../components/options-list/Component.js');
17
17
  var components_search_Component = require('../components/search/Component.js');
18
18
  var components_virtualOptionsList_Component = require('../components/virtual-options-list/Component.js');
19
- var presets_useSelectWithApply_optionsListWithApply_Component = require('../hook-915ae008.js');
19
+ var presets_useSelectWithApply_optionsListWithApply_Component = require('../hook-b16bd1a0.js');
20
20
  var presets_useSelectWithApply_optionsListWithApply_header_Component = require('../presets/useSelectWithApply/options-list-with-apply/header/Component.js');
21
21
 
22
22
  function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
@@ -0,0 +1,6 @@
1
+ 'use strict';
2
+
3
+ var mobileStyles = {"sheet":"select__sheet_cnffg","sheetContent":"select__sheetContent_cnffg","modalContent":"select__modalContent_cnffg","sheetContainer":"select__sheetContainer_cnffg","optionsListWrapper":"select__optionsListWrapper_cnffg","optionsList":"select__optionsList_cnffg","scrollbar":"select__scrollbar_cnffg","search":"select__search_cnffg","option":"select__option_cnffg","optionGroup":"select__optionGroup_cnffg"};
4
+ require('./components/base-select/mobile.css')
5
+
6
+ exports.mobileStyles = mobileStyles;
@@ -2,7 +2,7 @@ import React from 'react';
2
2
  import cn from 'classnames';
3
3
  import { ChevronDownMIcon } from '@alfalab/icons-glyph/ChevronDownMIcon';
4
4
 
5
- const styles = {"arrow":"select__arrow_tu31m","open":"select__open_tu31m"};
5
+ const styles = {"arrow":"select__arrow_1835c","open":"select__open_1835c"};
6
6
  require('./index.css')
7
7
 
8
8
  const Arrow = ({ open, className }) => (React.createElement(ChevronDownMIcon, { className: cn(styles.arrow, className, { [styles.open]: open }) }));