@alfalab/core-components-select 17.5.1 → 17.6.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 (166) 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 +4 -4
  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 +24 -12
  8. package/components/base-select/index.css +11 -11
  9. package/components/base-select/mobile.css +12 -12
  10. package/components/checkmark/Component.js +1 -1
  11. package/components/checkmark/index.css +10 -10
  12. package/components/checkmark-mobile/Component.js +1 -1
  13. package/components/checkmark-mobile/index.css +6 -6
  14. package/components/field/Component.js +1 -1
  15. package/components/field/index.css +12 -12
  16. package/components/footer/Component.js +1 -1
  17. package/components/footer/index.css +5 -5
  18. package/components/optgroup/Component.js +1 -1
  19. package/components/optgroup/index.css +6 -6
  20. package/components/option/Component.js +1 -1
  21. package/components/option/index.css +19 -19
  22. package/components/options-list/Component.js +1 -1
  23. package/components/options-list/index.css +10 -10
  24. package/components/search/Component.js +1 -1
  25. package/components/search/index.css +2 -2
  26. package/components/virtual-options-list/Component.js +1 -1
  27. package/components/virtual-options-list/index.css +15 -15
  28. package/cssm/components/base-select/Component.js +22 -10
  29. package/cssm/{hook-546b2479.js → hook-052c1a2e.js} +20 -8
  30. package/{hook-64a8061f.d.ts → cssm/hook-2f4e96b2.d.ts} +9 -7
  31. package/cssm/mobile/Component.mobile.js +7 -9
  32. package/cssm/presets/index.d.ts +1 -1
  33. package/cssm/presets/index.js +1 -1
  34. package/cssm/presets/useSelectWithApply/hook.js +1 -1
  35. package/cssm/presets/useSelectWithApply/options-list-with-apply/Component.js +1 -1
  36. package/cssm/presets/useSelectWithApply/options-list-with-apply/footer/Component.js +2 -2
  37. package/cssm/presets/useSelectWithApply/options-list-with-apply/footer/index.module.css +1 -1
  38. package/cssm/presets/useSelectWithApply/options-list-with-apply/index.d.ts +1 -1
  39. package/cssm/presets/useSelectWithApply/options-list-with-apply/index.js +1 -1
  40. package/cssm/shared/index.js +2 -1
  41. package/cssm/typings.d.ts +3 -1
  42. package/cssm/utils.d.ts +3 -2
  43. package/cssm/utils.js +24 -9
  44. package/esm/components/arrow/Component.js +1 -1
  45. package/esm/components/arrow/index.css +3 -3
  46. package/esm/components/base-checkmark/Component.js +1 -1
  47. package/esm/components/base-checkmark/index.css +4 -4
  48. package/esm/components/base-option/Component.js +1 -1
  49. package/esm/components/base-option/index.css +15 -15
  50. package/esm/components/base-select/Component.js +25 -13
  51. package/esm/components/base-select/index.css +11 -11
  52. package/esm/components/base-select/mobile.css +12 -12
  53. package/esm/components/checkmark/Component.js +1 -1
  54. package/esm/components/checkmark/index.css +10 -10
  55. package/esm/components/checkmark-mobile/Component.js +1 -1
  56. package/esm/components/checkmark-mobile/index.css +6 -6
  57. package/esm/components/field/Component.js +1 -1
  58. package/esm/components/field/index.css +12 -12
  59. package/esm/components/footer/Component.js +1 -1
  60. package/esm/components/footer/index.css +5 -5
  61. package/esm/components/optgroup/Component.js +1 -1
  62. package/esm/components/optgroup/index.css +6 -6
  63. package/esm/components/option/Component.js +1 -1
  64. package/esm/components/option/index.css +19 -19
  65. package/esm/components/options-list/Component.js +1 -1
  66. package/esm/components/options-list/index.css +10 -10
  67. package/esm/components/search/Component.js +1 -1
  68. package/esm/components/search/index.css +2 -2
  69. package/esm/components/virtual-options-list/Component.js +1 -1
  70. package/esm/components/virtual-options-list/index.css +15 -15
  71. package/{modern/hook-64a8061f.d.ts → esm/hook-2f4e96b2.d.ts} +9 -7
  72. package/esm/{hook-699ea205.js → hook-8bbe812b.js} +21 -9
  73. package/esm/mobile/Component.mobile.js +7 -9
  74. package/esm/presets/index.d.ts +1 -1
  75. package/esm/presets/index.js +1 -1
  76. package/esm/presets/useSelectWithApply/hook.js +1 -1
  77. package/esm/presets/useSelectWithApply/options-list-with-apply/Component.js +1 -1
  78. package/esm/presets/useSelectWithApply/options-list-with-apply/footer/Component.js +3 -3
  79. package/esm/presets/useSelectWithApply/options-list-with-apply/footer/index.css +3 -3
  80. package/esm/presets/useSelectWithApply/options-list-with-apply/header/Component.js +1 -1
  81. package/esm/presets/useSelectWithApply/options-list-with-apply/header/index.css +3 -3
  82. package/esm/presets/useSelectWithApply/options-list-with-apply/index.d.ts +1 -1
  83. package/esm/presets/useSelectWithApply/options-list-with-apply/index.js +1 -1
  84. package/esm/presets/useSelectWithLoading/hook.js +1 -1
  85. package/esm/presets/useSelectWithLoading/index.css +2 -2
  86. package/esm/shared/index.js +2 -2
  87. package/esm/typings.d.ts +3 -1
  88. package/esm/utils.d.ts +3 -2
  89. package/esm/utils.js +24 -10
  90. package/{cssm/hook-64a8061f.d.ts → hook-2f4e96b2.d.ts} +9 -7
  91. package/{hook-23a1acb8.js → hook-4d5fa450.js} +20 -8
  92. package/mobile/Component.mobile.js +7 -9
  93. package/modern/components/arrow/Component.js +1 -1
  94. package/modern/components/arrow/index.css +3 -3
  95. package/modern/components/base-checkmark/Component.js +1 -1
  96. package/modern/components/base-checkmark/index.css +4 -4
  97. package/modern/components/base-option/Component.js +1 -1
  98. package/modern/components/base-option/index.css +15 -15
  99. package/modern/components/base-select/Component.js +13 -4
  100. package/modern/components/base-select/index.css +11 -11
  101. package/modern/components/base-select/mobile.css +12 -12
  102. package/modern/components/checkmark/Component.js +1 -1
  103. package/modern/components/checkmark/index.css +10 -10
  104. package/modern/components/checkmark-mobile/Component.js +1 -1
  105. package/modern/components/checkmark-mobile/index.css +6 -6
  106. package/modern/components/field/Component.js +1 -1
  107. package/modern/components/field/index.css +12 -12
  108. package/modern/components/footer/Component.js +1 -1
  109. package/modern/components/footer/index.css +5 -5
  110. package/modern/components/optgroup/Component.js +1 -1
  111. package/modern/components/optgroup/index.css +6 -6
  112. package/modern/components/option/Component.js +1 -1
  113. package/modern/components/option/index.css +19 -19
  114. package/modern/components/options-list/Component.js +1 -1
  115. package/modern/components/options-list/index.css +10 -10
  116. package/modern/components/search/Component.js +1 -1
  117. package/modern/components/search/index.css +2 -2
  118. package/modern/components/virtual-options-list/Component.js +1 -1
  119. package/modern/components/virtual-options-list/index.css +15 -15
  120. package/{esm/hook-64a8061f.d.ts → modern/hook-2f4e96b2.d.ts} +9 -7
  121. package/modern/{hook-b0f48fdd.js → hook-6a076c91.js} +14 -3
  122. package/modern/mobile/Component.mobile.js +8 -10
  123. package/modern/presets/index.d.ts +1 -1
  124. package/modern/presets/index.js +1 -1
  125. package/modern/presets/useSelectWithApply/hook.js +1 -1
  126. package/modern/presets/useSelectWithApply/options-list-with-apply/Component.js +1 -1
  127. package/modern/presets/useSelectWithApply/options-list-with-apply/footer/Component.js +3 -3
  128. package/modern/presets/useSelectWithApply/options-list-with-apply/footer/index.css +3 -3
  129. package/modern/presets/useSelectWithApply/options-list-with-apply/header/Component.js +1 -1
  130. package/modern/presets/useSelectWithApply/options-list-with-apply/header/index.css +3 -3
  131. package/modern/presets/useSelectWithApply/options-list-with-apply/index.d.ts +1 -1
  132. package/modern/presets/useSelectWithApply/options-list-with-apply/index.js +1 -1
  133. package/modern/presets/useSelectWithLoading/hook.js +1 -1
  134. package/modern/presets/useSelectWithLoading/index.css +2 -2
  135. package/modern/shared/index.js +2 -2
  136. package/modern/typings.d.ts +3 -1
  137. package/modern/utils.d.ts +3 -2
  138. package/modern/utils.js +23 -10
  139. package/package.json +1 -1
  140. package/presets/index.d.ts +1 -1
  141. package/presets/index.js +1 -1
  142. package/presets/useSelectWithApply/hook.js +1 -1
  143. package/presets/useSelectWithApply/options-list-with-apply/Component.js +1 -1
  144. package/presets/useSelectWithApply/options-list-with-apply/footer/Component.js +3 -3
  145. package/presets/useSelectWithApply/options-list-with-apply/footer/index.css +3 -3
  146. package/presets/useSelectWithApply/options-list-with-apply/header/Component.js +1 -1
  147. package/presets/useSelectWithApply/options-list-with-apply/header/index.css +3 -3
  148. package/presets/useSelectWithApply/options-list-with-apply/index.d.ts +1 -1
  149. package/presets/useSelectWithApply/options-list-with-apply/index.js +1 -1
  150. package/presets/useSelectWithLoading/hook.js +1 -1
  151. package/presets/useSelectWithLoading/index.css +2 -2
  152. package/shared/index.js +2 -1
  153. package/src/components/base-select/Component.tsx +28 -3
  154. package/src/mobile/Component.mobile.tsx +8 -18
  155. package/src/presets/useSelectWithApply/hook.tsx +26 -4
  156. package/src/presets/useSelectWithApply/options-list-with-apply/footer/Component.tsx +2 -0
  157. package/src/presets/useSelectWithApply/options-list-with-apply/footer/index.module.css +1 -1
  158. package/src/typings.ts +2 -0
  159. package/src/utils.ts +26 -8
  160. package/typings.d.ts +3 -1
  161. package/utils.d.ts +3 -2
  162. package/utils.js +24 -9
  163. /package/cssm/{hook-546b2479.d.ts → hook-052c1a2e.d.ts} +0 -0
  164. /package/esm/{hook-699ea205.d.ts → hook-8bbe812b.d.ts} +0 -0
  165. /package/{hook-23a1acb8.d.ts → hook-4d5fa450.d.ts} +0 -0
  166. /package/modern/{hook-b0f48fdd.d.ts → hook-6a076c91.d.ts} +0 -0
@@ -12,16 +12,14 @@ 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-699ea205.js';
15
+ import { u as useSelectWithApply } from '../hook-8bbe812b.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;
19
19
  var SelectMobile = forwardRef(function (_a, ref) {
20
- var _b = _a.autocomplete, autocomplete = _b === void 0 ? false : _b, _c = _a.multiple, multiple = _c === void 0 ? false : _c, _d = _a.allowUnselect, allowUnselect = _d === void 0 ? false : _d, _e = _a.disabled, disabled = _e === void 0 ? false : _e, _f = _a.closeOnSelect, closeOnSelect = _f === void 0 ? !multiple : _f, _g = _a.circularNavigation, circularNavigation = _g === void 0 ? false : _g, _h = _a.defaultOpen, defaultOpen = _h === void 0 ? false : _h, openProp = _a.open, _j = _a.size, size = _j === void 0 ? 56 : _j, _k = _a.optionsSize, optionsSize = _k === void 0 ? 56 : _k, _l = _a.fieldProps, fieldProps = _l === void 0 ? {} : _l, _m = _a.optionProps, optionProps = _m === void 0 ? {} : _m, _o = _a.optionsListProps, optionsListProps = _o === void 0 ? {} : _o, _p = _a.Arrow, Arrow$1 = _p === void 0 ? Arrow : _p, _q = _a.Field, Field$1 = _q === void 0 ? Field : _q, _r = _a.Optgroup, Optgroup$1 = _r === void 0 ? Optgroup : _r, _s = _a.Option, Option$1 = _s === void 0 ? Option : _s, _t = _a.Search, Search$1 = _t === void 0 ? Search : _t, selected = _a.selected, _u = _a.isBottomSheet, isBottomSheet = _u === void 0 ? true : _u, options = _a.options, _v = _a.OptionsList, OptionsList$1 = _v === void 0 ? options.length > VIRTUAL_OPTIONS_LIST_THRESHOLD
20
+ var _b = _a.autocomplete, autocomplete = _b === void 0 ? false : _b, _c = _a.multiple, multiple = _c === void 0 ? false : _c, _d = _a.allowUnselect, allowUnselect = _d === void 0 ? false : _d, _e = _a.disabled, disabled = _e === void 0 ? false : _e, _f = _a.closeOnSelect, closeOnSelect = _f === void 0 ? !multiple : _f, _g = _a.circularNavigation, circularNavigation = _g === void 0 ? false : _g, _h = _a.defaultOpen, defaultOpen = _h === void 0 ? false : _h, openProp = _a.open, _j = _a.size, size = _j === void 0 ? 56 : _j, _k = _a.optionsSize, optionsSize = _k === void 0 ? 56 : _k, _l = _a.fieldProps, fieldProps = _l === void 0 ? {} : _l, _m = _a.optionProps, optionProps = _m === void 0 ? {} : _m, _o = _a.optionsListProps, optionsListProps = _o === void 0 ? {} : _o, _p = _a.Arrow, Arrow$1 = _p === void 0 ? Arrow : _p, _q = _a.Field, Field$1 = _q === void 0 ? Field : _q, _r = _a.Optgroup, Optgroup$1 = _r === void 0 ? Optgroup : _r, _s = _a.Option, Option$1 = _s === void 0 ? Option : _s, _t = _a.Search, Search$1 = _t === void 0 ? Search : _t, selected = _a.selected, options = _a.options, _u = _a.OptionsList, OptionsList$1 = _u === void 0 ? options.length > VIRTUAL_OPTIONS_LIST_THRESHOLD
21
21
  ? VirtualOptionsList
22
- : OptionsList : _v, onChange = _a.onChange, _w = _a.showClear, showClear = _w === void 0 ? true : _w, showSelectAll = _a.showSelectAll, showHeaderWithSelectAll = _a.showHeaderWithSelectAll, _x = _a.useWithApplyHook, useWithApplyHook = _x === void 0 ? multiple : _x, showSearch = _a.showSearch, searchProps = _a.searchProps, restProps = __rest(_a, ["autocomplete", "multiple", "allowUnselect", "disabled", "closeOnSelect", "circularNavigation", "defaultOpen", "open", "size", "optionsSize", "fieldProps", "optionProps", "optionsListProps", "Arrow", "Field", "Optgroup", "Option", "Search", "selected", "isBottomSheet", "options", "OptionsList", "onChange", "showClear", "showSelectAll", "showHeaderWithSelectAll", "useWithApplyHook", "showSearch", "searchProps"]);
23
- var typedRestBottomSheetProps = restProps;
24
- var typedRestModalProps = restProps;
22
+ : OptionsList : _u, onChange = _a.onChange, _v = _a.showClear, showClear = _v === void 0 ? true : _v, showSelectAll = _a.showSelectAll, showHeaderWithSelectAll = _a.showHeaderWithSelectAll, _w = _a.useWithApplyHook, useWithApplyHook = _w === void 0 ? multiple : _w, showSearch = _a.showSearch, searchProps = _a.searchProps, restProps = __rest(_a, ["autocomplete", "multiple", "allowUnselect", "disabled", "closeOnSelect", "circularNavigation", "defaultOpen", "open", "size", "optionsSize", "fieldProps", "optionProps", "optionsListProps", "Arrow", "Field", "Optgroup", "Option", "Search", "selected", "options", "OptionsList", "onChange", "showClear", "showSelectAll", "showHeaderWithSelectAll", "useWithApplyHook", "showSearch", "searchProps"]);
25
23
  var applyProps = useSelectWithApply({
26
24
  optionsListProps: __assign(__assign({}, optionsListProps), { Footer: Footer }),
27
25
  OptionsList: OptionsList$1,
@@ -34,13 +32,13 @@ var SelectMobile = forwardRef(function (_a, ref) {
34
32
  showSelectAll: showSelectAll,
35
33
  });
36
34
  var bottomAddons = useWithApplyHook && showHeaderWithSelectAll && (React.createElement(Header, __assign({}, applyProps.optionsListProps.headerProps, { mobile: true })));
37
- return (React.createElement(BaseSelect, __assign({ ref: ref, view: 'mobile', autocomplete: autocomplete, multiple: multiple, allowUnselect: allowUnselect, disabled: disabled, closeOnSelect: closeOnSelect, circularNavigation: circularNavigation, defaultOpen: defaultOpen, open: openProp, size: size, optionsSize: optionsSize, fieldProps: __assign({ FormControlComponent: FormControlMobile }, fieldProps), optionProps: optionProps, Arrow: Arrow$1, Field: Field$1, Optgroup: Optgroup$1, Option: Option$1, Search: Search$1, isBottomSheet: isBottomSheet, options: options, selected: selected, onChange: onChange, OptionsList: OptionsList$1, showSearch: showSearch, searchProps: searchProps, BottomSheet: BottomSheet, ModalMobile: ModalMobile }, (isBottomSheet
35
+ return (React.createElement(BaseSelect, __assign({ ref: ref, view: 'mobile', autocomplete: autocomplete, multiple: multiple, allowUnselect: allowUnselect, disabled: disabled, closeOnSelect: closeOnSelect, circularNavigation: circularNavigation, defaultOpen: defaultOpen, open: openProp, size: size, optionsSize: optionsSize, fieldProps: __assign({ FormControlComponent: FormControlMobile }, fieldProps), optionProps: optionProps, Arrow: Arrow$1, Field: Field$1, Optgroup: Optgroup$1, Option: Option$1, Search: Search$1, options: options, selected: selected, onChange: onChange, OptionsList: OptionsList$1, showSearch: showSearch, searchProps: searchProps, BottomSheet: BottomSheet, ModalMobile: ModalMobile, optionsListProps: optionsListProps }, restProps, (restProps.isBottomSheet === false
38
36
  ? {
39
- bottomSheetProps: __assign({ bottomAddons: bottomAddons }, typedRestBottomSheetProps.bottomSheetProps),
37
+ modalHeaderProps: __assign({ bottomAddons: bottomAddons }, restProps.modalHeaderProps),
40
38
  }
41
39
  : {
42
- modalHeaderProps: __assign({ bottomAddons: bottomAddons }, typedRestModalProps.modalHeaderProps),
43
- }), { optionsListProps: optionsListProps }, restProps, (useWithApplyHook && applyProps))));
40
+ bottomSheetProps: __assign({ bottomAddons: bottomAddons }, restProps.bottomSheetProps),
41
+ }), (useWithApplyHook && applyProps))));
44
42
  });
45
43
 
46
44
  export { SelectMobile };
@@ -1,3 +1,3 @@
1
1
  export * from "./useSelectWithLoading/hook";
2
2
  export * from "./useLazyLoading/hook";
3
- export * from "../hook-64a8061f";
3
+ export * from "../hook-2f4e96b2";
@@ -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-699ea205.js';
3
+ export { S as SELECT_ALL_KEY, u as useSelectWithApply } from '../hook-8bbe812b.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-699ea205.js';
5
+ export { S as SELECT_ALL_KEY, u as useSelectWithApply } from '../../hook-8bbe812b.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-699ea205.js';
5
+ export { O as OptionsListWithApply } from '../../../hook-8bbe812b.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_mtsft"};
5
+ var styles = {"footer":"select__footer_1i5y0","button":"select__button_1i5y0"};
6
6
  require('./index.css')
7
7
 
8
8
  var Footer = function (_a) {
@@ -10,8 +10,8 @@ var Footer = function (_a) {
10
10
  return (React.createElement("div", {
11
11
  // eslint-disable-next-line jsx-a11y/no-noninteractive-tabindex
12
12
  tabIndex: 0, className: styles.footer },
13
- React.createElement(ButtonDesktop, { size: 32, view: 'primary', onClick: handleApply, dataTestId: getDataTestId(dataTestId, 'apply') }, "\u041F\u0440\u0438\u043C\u0435\u043D\u0438\u0442\u044C"),
14
- showClear && selectedDraft.length > 0 && (React.createElement(ButtonDesktop, { size: 32, view: 'secondary', onClick: handleClear, dataTestId: getDataTestId(dataTestId, 'clear') }, "\u0421\u0431\u0440\u043E\u0441\u0438\u0442\u044C"))));
13
+ React.createElement(ButtonDesktop, { size: 32, view: 'primary', onClick: handleApply, dataTestId: getDataTestId(dataTestId, 'apply'), className: styles.button }, "\u041F\u0440\u0438\u043C\u0435\u043D\u0438\u0442\u044C"),
14
+ showClear && selectedDraft.length > 0 && (React.createElement(ButtonDesktop, { size: 32, view: 'secondary', onClick: handleClear, dataTestId: getDataTestId(dataTestId, 'clear'), className: styles.button }, "\u0421\u0431\u0440\u043E\u0441\u0438\u0442\u044C"))));
15
15
  };
16
16
 
17
17
  export { Footer };
@@ -1,4 +1,4 @@
1
- /* hash: 1atn7 */
1
+ /* hash: 467s1 */
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-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 */
@@ -17,10 +17,10 @@
17
17
  --gap-s: 12px;
18
18
  } :root {
19
19
  } :root {
20
- } .select__footer_mtsft {
20
+ } .select__footer_1i5y0 {
21
21
  background-color: var(--color-light-bg-primary);
22
22
  padding: var(--gap-s);
23
23
  outline: none
24
- } .select__footer_mtsft > * + * {
24
+ } .select__footer_1i5y0 > .select__button_1i5y0 + .select__button_1i5y0 {
25
25
  margin-left: var(--gap-xs);
26
26
  }
@@ -2,7 +2,7 @@ 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_1d88n","mobile":"select__mobile_1d88n"};
5
+ var styles = {"desktop":"select__desktop_14hbg","mobile":"select__mobile_14hbg"};
6
6
  require('./index.css')
7
7
 
8
8
  var Header = function (_a) {
@@ -1,4 +1,4 @@
1
- /* hash: aayk5 */
1
+ /* hash: 7p34l */
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 */
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 */
@@ -16,8 +16,8 @@
16
16
  --gap-s: 12px;
17
17
  } :root {
18
18
  } :root {
19
- } .select__desktop_1d88n {
19
+ } .select__desktop_14hbg {
20
20
  padding: var(--gap-s);
21
- } .select__mobile_1d88n {
21
+ } .select__mobile_14hbg {
22
22
  padding: var(--gap-s) var(--gap-xs);
23
23
  }
@@ -1 +1 @@
1
- export * from "../../../hook-699ea205";
1
+ export * from "../../../hook-8bbe812b";
@@ -1 +1 @@
1
- export { O as OptionsListWithApply } from '../../../hook-699ea205.js';
1
+ export { O as OptionsListWithApply } from '../../../hook-8bbe812b.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_tq0ek"};
6
+ var styles = {"skeleton":"select__skeleton_170xy"};
7
7
  require('./index.css')
8
8
 
9
9
  function useSelectWithLoading(_a) {
@@ -1,5 +1,5 @@
1
- /* hash: gk7un */
2
- .select__skeleton_tq0ek {
1
+ /* hash: hkekb */
2
+ .select__skeleton_170xy {
3
3
  position: absolute;
4
4
  top: 50%;
5
5
  transform: translateY(-50%);
@@ -1,7 +1,7 @@
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-699ea205.js';
4
- export { defaultAccessor, defaultFilterFn, getSelectTestIds, isGroup, isOptionShape, joinOptions, lastIndexOf, processOptions, usePrevious, useVisibleOptions } from '../utils.js';
3
+ export { S as SELECT_ALL_KEY, u as useSelectWithApply } from '../hook-8bbe812b.js';
4
+ export { defaultAccessor, defaultFilterFn, defaultGroupAccessor, getSelectTestIds, isGroup, isOptionShape, joinOptions, lastIndexOf, processOptions, usePrevious, useVisibleOptions } from '../utils.js';
5
5
  export { Option } from '../components/option/Component.js';
6
6
  export { BaseOption } from '../components/base-option/Component.js';
7
7
  export { OptionsList } from '../components/options-list/Component.js';
package/esm/typings.d.ts CHANGED
@@ -5,7 +5,7 @@ import { InputProps } from "@alfalab/core-components-input";
5
5
  import { ModalProps } from "@alfalab/core-components-modal";
6
6
  import { ModalFooterProps, ModalHeaderProps } from "@alfalab/core-components-modal/shared";
7
7
  import { PopoverProps } from "@alfalab/core-components-popover";
8
- import { UseSelectWithApplyProps } from "./hook-64a8061f";
8
+ import { UseSelectWithApplyProps } from "./hook-2f4e96b2";
9
9
  type AnyObject = Record<string, any>;
10
10
  type OptionShape = {
11
11
  /**
@@ -237,6 +237,8 @@ type BaseSelectProps = {
237
237
  filterFn?: (optionText: string, search: string) => boolean;
238
238
  value?: string;
239
239
  onChange?: (value: string) => void;
240
+ filterGroup?: boolean;
241
+ groupAccessor?: (group: GroupShape) => string | undefined;
240
242
  };
241
243
  /**
242
244
  * Обработчик выбора
package/esm/utils.d.ts CHANGED
@@ -6,7 +6,7 @@ declare const joinOptions: ({ selected, selectedMultiple, }: {
6
6
  selected?: OptionShape | undefined;
7
7
  selectedMultiple?: OptionShape[] | undefined;
8
8
  }) => ReactNode[] | null;
9
- declare function processOptions(options: BaseSelectProps['options'], selected?: BaseSelectProps['selected'], filterFn?: (option: OptionShape) => boolean): {
9
+ declare function processOptions(options: BaseSelectProps['options'], selected?: BaseSelectProps['selected'], filterFn?: (option: OptionShape | GroupShape) => boolean, filterGroup?: boolean): {
10
10
  filteredOptions: (OptionShape | GroupShape)[];
11
11
  flatOptions: OptionShape[];
12
12
  selectedOptions: OptionShape[];
@@ -35,6 +35,7 @@ type useVisibleOptionsArgs = {
35
35
  };
36
36
  declare function useVisibleOptions({ visibleOptions, listRef, styleTargetRef, open, invalidate, }: useVisibleOptionsArgs): void;
37
37
  declare function defaultFilterFn(optionText: string, search: string): boolean;
38
+ declare function defaultGroupAccessor(option: GroupShape): string | undefined;
38
39
  declare function defaultAccessor(option: OptionShape): string;
39
40
  declare function usePrevious<T>(value: T): T | undefined;
40
41
  declare const lastIndexOf: <T>(array: T[], predicate: (item: T) => boolean) => number;
@@ -64,4 +65,4 @@ declare function getSelectTestIds(dataTestId: string): {
64
65
  modalHeader: string;
65
66
  modalContent: string;
66
67
  };
67
- export { isGroup, isOptionShape, joinOptions, processOptions, useVisibleOptions, defaultFilterFn, defaultAccessor, usePrevious, lastIndexOf, getSelectTestIds };
68
+ export { isGroup, isOptionShape, joinOptions, processOptions, useVisibleOptions, defaultFilterFn, defaultGroupAccessor, defaultAccessor, usePrevious, lastIndexOf, getSelectTestIds };
package/esm/utils.js CHANGED
@@ -26,9 +26,10 @@ var joinOptions = function (_a) {
26
26
  }, []);
27
27
  };
28
28
  // За один проход делает список пунктов меню плоским и находит выбранные пункты по ключу
29
- function processOptions(options, selected, filterFn) {
29
+ function processOptions(options, selected, filterFn, filterGroup) {
30
30
  if (selected === void 0) { selected = []; }
31
31
  if (filterFn === void 0) { filterFn = function () { return true; }; }
32
+ if (filterGroup === void 0) { filterGroup = false; }
32
33
  var flatOptions = [];
33
34
  var filteredOptions = [];
34
35
  var selectedArray = Array.isArray(selected) ? selected : [selected];
@@ -36,12 +37,20 @@ function processOptions(options, selected, filterFn) {
36
37
  var selectedKeys = selectedArray.filter(function (option) { return typeof option === 'string'; });
37
38
  var isSelected = function (option) { return selectedKeys.includes(option.key); };
38
39
  var process = function (option) {
39
- if (isSelected(option)) {
40
+ var isGroupOption = isGroup(option);
41
+ if (!isGroupOption && isSelected(option)) {
40
42
  selectedOptions.push(option);
41
43
  }
42
44
  if (!filterFn(option))
43
45
  return false;
44
- flatOptions.push(option);
46
+ if (isGroupOption) {
47
+ if (filterGroup) {
48
+ Array.prototype.push.apply(flatOptions, option.options);
49
+ }
50
+ }
51
+ else {
52
+ flatOptions.push(option);
53
+ }
45
54
  return true;
46
55
  };
47
56
  options.forEach(function (option) {
@@ -52,14 +61,16 @@ function processOptions(options, selected, filterFn) {
52
61
  if (matched)
53
62
  group_1.options.push(groupOption);
54
63
  });
55
- if (group_1.options.length)
64
+ if (group_1.options.length) {
56
65
  filteredOptions.push(group_1);
66
+ return;
67
+ }
68
+ if (!filterGroup)
69
+ return;
57
70
  }
58
- else {
59
- var matched = process(option);
60
- if (matched)
61
- filteredOptions.push(option);
62
- }
71
+ var matched = process(option);
72
+ if (matched)
73
+ filteredOptions.push(option);
63
74
  });
64
75
  return { filteredOptions: filteredOptions, flatOptions: flatOptions, selectedOptions: selectedOptions };
65
76
  }
@@ -90,6 +101,9 @@ function defaultFilterFn(optionText, search) {
90
101
  return true;
91
102
  return optionText.toLowerCase().includes(search.toLowerCase());
92
103
  }
104
+ function defaultGroupAccessor(option) {
105
+ return option.label;
106
+ }
93
107
  function defaultAccessor(option) {
94
108
  if (typeof option.content === 'string')
95
109
  return option.content;
@@ -142,4 +156,4 @@ function getSelectTestIds(dataTestId) {
142
156
  };
143
157
  }
144
158
 
145
- export { defaultAccessor, defaultFilterFn, getSelectTestIds, isGroup, isOptionShape, joinOptions, lastIndexOf, processOptions, usePrevious, useVisibleOptions };
159
+ export { defaultAccessor, defaultFilterFn, defaultGroupAccessor, getSelectTestIds, isGroup, isOptionShape, joinOptions, lastIndexOf, processOptions, usePrevious, useVisibleOptions };
@@ -45,14 +45,12 @@ type UseSelectWithApplyProps = {
45
45
  declare const SELECT_ALL_KEY = "select_all";
46
46
  declare function useSelectWithApply({ options, selected, onChange, OptionsList, optionsListProps, showClear, showSelectAll, showHeaderWithSelectAll, showSearch, searchProps, }: UseSelectWithApplyProps): {
47
47
  OptionsList: import("react").ForwardRefExoticComponent<import("./typings").OptionsListProps & {
48
- /**
49
- * Обработчик выбора
50
- */
51
48
  showClear?: boolean | undefined;
52
49
  onClose?: (() => void) | undefined;
53
- selectedDraft?: OptionShape[] | undefined; /**
54
- * Компонент выпадающего меню
50
+ /**
51
+ * Обработчик выбора
55
52
  */
53
+ selectedDraft?: OptionShape[] | undefined;
56
54
  OptionsList?: import("react").FC<import("./typings").OptionsListProps & import("react").RefAttributes<HTMLDivElement>> | undefined;
57
55
  Footer?: import("react").FC<import("./presets/useSelectWithApply/options-list-with-apply/footer/Component").FooterProps> | undefined;
58
56
  Header?: import("react").FC<import("./presets/useSelectWithApply/options-list-with-apply/header/Component").HeaderProps> | undefined;
@@ -83,13 +81,15 @@ declare function useSelectWithApply({ options, selected, onChange, OptionsList,
83
81
  })[];
84
82
  onChange: (payload: import("./typings").BaseSelectChangePayload) => void;
85
83
  selected: string | OptionShape | (string | OptionShape)[] | null | undefined;
86
- showSearch: boolean | undefined;
84
+ showSearch: boolean;
87
85
  searchProps: {
88
86
  value: string;
89
87
  onChange: ((value: string) => void) | undefined;
90
88
  componentProps?: import("./typings").SearchProps | undefined;
91
89
  accessor?: ((option: OptionShape) => string) | undefined;
92
90
  filterFn?: ((optionText: string, search: string) => boolean) | undefined;
91
+ filterGroup?: boolean | undefined;
92
+ groupAccessor?: ((group: import("./typings").GroupShape) => string | undefined) | undefined;
93
93
  } | undefined;
94
94
  originalProps: {
95
95
  options: (OptionShape | import("./typings").GroupShape)[];
@@ -100,13 +100,15 @@ declare function useSelectWithApply({ options, selected, onChange, OptionsList,
100
100
  showClear: boolean;
101
101
  showSelectAll: boolean;
102
102
  showHeaderWithSelectAll: boolean;
103
- showSearch: boolean | undefined;
103
+ showSearch: boolean;
104
104
  searchProps: {
105
105
  componentProps?: import("./typings").SearchProps | undefined;
106
106
  accessor?: ((option: OptionShape) => string) | undefined;
107
107
  filterFn?: ((optionText: string, search: string) => boolean) | undefined;
108
108
  value?: string | undefined;
109
109
  onChange?: ((value: string) => void) | undefined;
110
+ filterGroup?: boolean | undefined;
111
+ groupAccessor?: ((group: import("./typings").GroupShape) => string | undefined) | undefined;
110
112
  };
111
113
  };
112
114
  };
@@ -60,17 +60,29 @@ var OptionsListWithApply = React.forwardRef(function (_a, ref) {
60
60
  var SELECT_ALL_KEY = 'select_all';
61
61
  var selectAllOption = { key: SELECT_ALL_KEY, content: 'Выбрать все' };
62
62
  function useSelectWithApply(_a) {
63
- var options = _a.options, selected = _a.selected, _b = _a.onChange, onChange = _b === void 0 ? function () { return null; } : _b, OptionsList = _a.OptionsList, _c = _a.optionsListProps, optionsListProps = _c === void 0 ? {} : _c, _d = _a.showClear, showClear = _d === void 0 ? true : _d, _e = _a.showSelectAll, showSelectAll = _e === void 0 ? false : _e, _f = _a.showHeaderWithSelectAll, showHeaderWithSelectAll = _f === void 0 ? false : _f, showSearch = _a.showSearch, _g = _a.searchProps, searchProps = _g === void 0 ? {} : _g;
64
- var _h = React.useState(''), searchState = _h[0], setSearchState = _h[1];
65
- var _j = typeof (searchProps === null || searchProps === void 0 ? void 0 : searchProps.value) === 'string'
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'
66
67
  ? [searchProps.value, searchProps.onChange]
67
- : [searchState, setSearchState], search = _j[0], setSearch = _j[1];
68
+ : [searchState, setSearchState], search = _m[0], setSearch = _m[1];
68
69
  var accessor = searchProps.accessor || utils.defaultAccessor;
69
70
  var filterFn = searchProps.filterFn || utils.defaultFilterFn;
70
- var _k = React.useMemo(function () {
71
- return utils.processOptions(options, selected, showSearch ? function (option) { return filterFn(accessor(option), search); } : undefined);
72
- }, [filterFn, accessor, options, search, selected, showSearch]), flatOptions = _k.flatOptions, selectedOptions = _k.selectedOptions;
73
- var _l = React.useState(selectedOptions), selectedDraft = _l[0], setSelectedDraft = _l[1];
71
+ var groupAccessor = (_b = searchProps.groupAccessor) !== null && _b !== void 0 ? _b : utils.defaultGroupAccessor;
72
+ var filterGroup = (_c = searchProps.filterGroup) !== null && _c !== void 0 ? _c : false;
73
+ var _o = React.useMemo(function () {
74
+ return utils.processOptions(options, selected, showSearch
75
+ ? function (option) {
76
+ if (utils.isGroup(option)) {
77
+ var groupAccessorValue = groupAccessor(option);
78
+ return (typeof groupAccessorValue === 'string' &&
79
+ filterFn(groupAccessorValue, search));
80
+ }
81
+ return filterFn(accessor(option), search);
82
+ }
83
+ : undefined, filterGroup);
84
+ }, [options, selected, showSearch, filterGroup, filterFn, accessor, search, groupAccessor]), flatOptions = _o.flatOptions, selectedOptions = _o.selectedOptions;
85
+ var _p = React.useState(selectedOptions), selectedDraft = _p[0], setSelectedDraft = _p[1];
74
86
  var selectedOptionsRef = React.useRef(selectedOptions);
75
87
  var handleApply = function () {
76
88
  onChange({
@@ -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-23a1acb8.js');
19
+ var presets_useSelectWithApply_optionsListWithApply_Component = require('../hook-4d5fa450.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 }; }
@@ -25,11 +25,9 @@ var React__default = /*#__PURE__*/_interopDefaultCompat(React);
25
25
 
26
26
  var VIRTUAL_OPTIONS_LIST_THRESHOLD = 30;
27
27
  var SelectMobile = React.forwardRef(function (_a, ref) {
28
- var _b = _a.autocomplete, autocomplete = _b === void 0 ? false : _b, _c = _a.multiple, multiple = _c === void 0 ? false : _c, _d = _a.allowUnselect, allowUnselect = _d === void 0 ? false : _d, _e = _a.disabled, disabled = _e === void 0 ? false : _e, _f = _a.closeOnSelect, closeOnSelect = _f === void 0 ? !multiple : _f, _g = _a.circularNavigation, circularNavigation = _g === void 0 ? false : _g, _h = _a.defaultOpen, defaultOpen = _h === void 0 ? false : _h, openProp = _a.open, _j = _a.size, size = _j === void 0 ? 56 : _j, _k = _a.optionsSize, optionsSize = _k === void 0 ? 56 : _k, _l = _a.fieldProps, fieldProps = _l === void 0 ? {} : _l, _m = _a.optionProps, optionProps = _m === void 0 ? {} : _m, _o = _a.optionsListProps, optionsListProps = _o === void 0 ? {} : _o, _p = _a.Arrow, Arrow = _p === void 0 ? components_arrow_Component.Arrow : _p, _q = _a.Field, Field = _q === void 0 ? components_field_Component.Field : _q, _r = _a.Optgroup, Optgroup = _r === void 0 ? components_optgroup_Component.Optgroup : _r, _s = _a.Option, Option = _s === void 0 ? components_option_Component.Option : _s, _t = _a.Search, Search = _t === void 0 ? components_search_Component.Search : _t, selected = _a.selected, _u = _a.isBottomSheet, isBottomSheet = _u === void 0 ? true : _u, options = _a.options, _v = _a.OptionsList, OptionsList = _v === void 0 ? options.length > VIRTUAL_OPTIONS_LIST_THRESHOLD
28
+ var _b = _a.autocomplete, autocomplete = _b === void 0 ? false : _b, _c = _a.multiple, multiple = _c === void 0 ? false : _c, _d = _a.allowUnselect, allowUnselect = _d === void 0 ? false : _d, _e = _a.disabled, disabled = _e === void 0 ? false : _e, _f = _a.closeOnSelect, closeOnSelect = _f === void 0 ? !multiple : _f, _g = _a.circularNavigation, circularNavigation = _g === void 0 ? false : _g, _h = _a.defaultOpen, defaultOpen = _h === void 0 ? false : _h, openProp = _a.open, _j = _a.size, size = _j === void 0 ? 56 : _j, _k = _a.optionsSize, optionsSize = _k === void 0 ? 56 : _k, _l = _a.fieldProps, fieldProps = _l === void 0 ? {} : _l, _m = _a.optionProps, optionProps = _m === void 0 ? {} : _m, _o = _a.optionsListProps, optionsListProps = _o === void 0 ? {} : _o, _p = _a.Arrow, Arrow = _p === void 0 ? components_arrow_Component.Arrow : _p, _q = _a.Field, Field = _q === void 0 ? components_field_Component.Field : _q, _r = _a.Optgroup, Optgroup = _r === void 0 ? components_optgroup_Component.Optgroup : _r, _s = _a.Option, Option = _s === void 0 ? components_option_Component.Option : _s, _t = _a.Search, Search = _t === void 0 ? components_search_Component.Search : _t, selected = _a.selected, options = _a.options, _u = _a.OptionsList, OptionsList = _u === void 0 ? options.length > VIRTUAL_OPTIONS_LIST_THRESHOLD
29
29
  ? components_virtualOptionsList_Component.VirtualOptionsList
30
- : components_optionsList_Component.OptionsList : _v, onChange = _a.onChange, _w = _a.showClear, showClear = _w === void 0 ? true : _w, showSelectAll = _a.showSelectAll, showHeaderWithSelectAll = _a.showHeaderWithSelectAll, _x = _a.useWithApplyHook, useWithApplyHook = _x === void 0 ? multiple : _x, showSearch = _a.showSearch, searchProps = _a.searchProps, restProps = tslib.__rest(_a, ["autocomplete", "multiple", "allowUnselect", "disabled", "closeOnSelect", "circularNavigation", "defaultOpen", "open", "size", "optionsSize", "fieldProps", "optionProps", "optionsListProps", "Arrow", "Field", "Optgroup", "Option", "Search", "selected", "isBottomSheet", "options", "OptionsList", "onChange", "showClear", "showSelectAll", "showHeaderWithSelectAll", "useWithApplyHook", "showSearch", "searchProps"]);
31
- var typedRestBottomSheetProps = restProps;
32
- var typedRestModalProps = restProps;
30
+ : components_optionsList_Component.OptionsList : _u, onChange = _a.onChange, _v = _a.showClear, showClear = _v === void 0 ? true : _v, showSelectAll = _a.showSelectAll, showHeaderWithSelectAll = _a.showHeaderWithSelectAll, _w = _a.useWithApplyHook, useWithApplyHook = _w === void 0 ? multiple : _w, showSearch = _a.showSearch, searchProps = _a.searchProps, restProps = tslib.__rest(_a, ["autocomplete", "multiple", "allowUnselect", "disabled", "closeOnSelect", "circularNavigation", "defaultOpen", "open", "size", "optionsSize", "fieldProps", "optionProps", "optionsListProps", "Arrow", "Field", "Optgroup", "Option", "Search", "selected", "options", "OptionsList", "onChange", "showClear", "showSelectAll", "showHeaderWithSelectAll", "useWithApplyHook", "showSearch", "searchProps"]);
33
31
  var applyProps = presets_useSelectWithApply_optionsListWithApply_Component.useSelectWithApply({
34
32
  optionsListProps: tslib.__assign(tslib.__assign({}, optionsListProps), { Footer: components_footer_Component.Footer }),
35
33
  OptionsList: OptionsList,
@@ -42,13 +40,13 @@ var SelectMobile = React.forwardRef(function (_a, ref) {
42
40
  showSelectAll: showSelectAll,
43
41
  });
44
42
  var bottomAddons = useWithApplyHook && showHeaderWithSelectAll && (React__default.default.createElement(presets_useSelectWithApply_optionsListWithApply_header_Component.Header, tslib.__assign({}, applyProps.optionsListProps.headerProps, { mobile: true })));
45
- return (React__default.default.createElement(components_baseSelect_Component.BaseSelect, tslib.__assign({ ref: ref, view: 'mobile', autocomplete: autocomplete, multiple: multiple, allowUnselect: allowUnselect, disabled: disabled, closeOnSelect: closeOnSelect, circularNavigation: circularNavigation, defaultOpen: defaultOpen, open: openProp, size: size, optionsSize: optionsSize, fieldProps: tslib.__assign({ FormControlComponent: mobile.FormControlMobile }, fieldProps), optionProps: optionProps, Arrow: Arrow, Field: Field, Optgroup: Optgroup, Option: Option, Search: Search, isBottomSheet: isBottomSheet, options: options, selected: selected, onChange: onChange, OptionsList: OptionsList, showSearch: showSearch, searchProps: searchProps, BottomSheet: coreComponentsBottomSheet.BottomSheet, ModalMobile: mobile$1.ModalMobile }, (isBottomSheet
43
+ return (React__default.default.createElement(components_baseSelect_Component.BaseSelect, tslib.__assign({ ref: ref, view: 'mobile', autocomplete: autocomplete, multiple: multiple, allowUnselect: allowUnselect, disabled: disabled, closeOnSelect: closeOnSelect, circularNavigation: circularNavigation, defaultOpen: defaultOpen, open: openProp, size: size, optionsSize: optionsSize, fieldProps: tslib.__assign({ FormControlComponent: mobile.FormControlMobile }, fieldProps), optionProps: optionProps, Arrow: Arrow, Field: Field, Optgroup: Optgroup, Option: Option, Search: Search, options: options, selected: selected, onChange: onChange, OptionsList: OptionsList, showSearch: showSearch, searchProps: searchProps, BottomSheet: coreComponentsBottomSheet.BottomSheet, ModalMobile: mobile$1.ModalMobile, optionsListProps: optionsListProps }, restProps, (restProps.isBottomSheet === false
46
44
  ? {
47
- bottomSheetProps: tslib.__assign({ bottomAddons: bottomAddons }, typedRestBottomSheetProps.bottomSheetProps),
45
+ modalHeaderProps: tslib.__assign({ bottomAddons: bottomAddons }, restProps.modalHeaderProps),
48
46
  }
49
47
  : {
50
- modalHeaderProps: tslib.__assign({ bottomAddons: bottomAddons }, typedRestModalProps.modalHeaderProps),
51
- }), { optionsListProps: optionsListProps }, restProps, (useWithApplyHook && applyProps))));
48
+ bottomSheetProps: tslib.__assign({ bottomAddons: bottomAddons }, restProps.bottomSheetProps),
49
+ }), (useWithApplyHook && applyProps))));
52
50
  });
53
51
 
54
52
  exports.SelectMobile = SelectMobile;
@@ -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_14lsv","open":"select__open_14lsv"};
5
+ const styles = {"arrow":"select__arrow_1rwor","open":"select__open_1rwor"};
6
6
  require('./index.css')
7
7
 
8
8
  const Arrow = ({ open, className }) => (React.createElement(ChevronDownMIcon, { className: cn(styles.arrow, className, { [styles.open]: open }) }));
@@ -1,4 +1,4 @@
1
- /* hash: 14kpn */
1
+ /* hash: n3hd3 */
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-translucent-700: rgba(4, 4, 21, 0.47); /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */
@@ -26,13 +26,13 @@
26
26
  /* checkmark */
27
27
 
28
28
  /* optgroup */
29
- } .select__arrow_14lsv {
29
+ } .select__arrow_1rwor {
30
30
  display: block;
31
31
  width: 24px;
32
32
  height: 24px;
33
33
  color: var(--select-arrow-color);
34
34
 
35
35
  transition: transform 0.15s ease-in-out, opacity 0.2s ease;
36
- } .select__open_14lsv {
36
+ } .select__open_1rwor {
37
37
  transform: var(--arrow-transform);
38
38
  }
@@ -3,7 +3,7 @@ import cn from 'classnames';
3
3
  import { Checkbox } from '@alfalab/core-components-checkbox/modern';
4
4
  import { CheckmarkMIcon } from '@alfalab/icons-glyph/CheckmarkMIcon';
5
5
 
6
- const styles = {"checkmark":"select__checkmark_1b0iq","single":"select__single_1b0iq","selected":"select__selected_1b0iq"};
6
+ const styles = {"checkmark":"select__checkmark_86mjr","single":"select__single_86mjr","selected":"select__selected_86mjr"};
7
7
  require('./index.css')
8
8
 
9
9
  const BaseCheckmark = ({ selected, disabled = false, className, multiple, }) => {
@@ -1,4 +1,4 @@
1
- /* hash: 12vgb */
1
+ /* hash: le819 */
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 */
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 */
@@ -23,14 +23,14 @@
23
23
  /* checkmark */
24
24
 
25
25
  /* optgroup */
26
- } .select__checkmark_1b0iq {
26
+ } .select__checkmark_86mjr {
27
27
  flex-shrink: 0;
28
28
  box-sizing: border-box;
29
- } .select__single_1b0iq {
29
+ } .select__single_86mjr {
30
30
  display: flex;
31
31
  align-items: center;
32
32
  justify-content: center;
33
33
  opacity: 0
34
- } .select__single_1b0iq.select__selected_1b0iq {
34
+ } .select__single_86mjr.select__selected_86mjr {
35
35
  opacity: 1;
36
36
  }
@@ -2,7 +2,7 @@ import React, { isValidElement } from 'react';
2
2
  import cn from 'classnames';
3
3
  import { BaseCheckmark } from '../base-checkmark/Component.js';
4
4
 
5
- const styles = {"option":"select__option_elt4i","disabled":"select__disabled_elt4i","checkmarkBefore":"select__checkmarkBefore_elt4i","mobile":"select__mobile_elt4i","checkmarkAfter":"select__checkmarkAfter_elt4i","textContent":"select__textContent_elt4i","selected":"select__selected_elt4i","highlighted":"select__highlighted_elt4i","checkmarkBeforeContent":"select__checkmarkBeforeContent_elt4i","checkmarkAfterContent":"select__checkmarkAfterContent_elt4i","content":"select__content_elt4i"};
5
+ const styles = {"option":"select__option_19xyo","disabled":"select__disabled_19xyo","checkmarkBefore":"select__checkmarkBefore_19xyo","mobile":"select__mobile_19xyo","checkmarkAfter":"select__checkmarkAfter_19xyo","textContent":"select__textContent_19xyo","selected":"select__selected_19xyo","highlighted":"select__highlighted_19xyo","checkmarkBeforeContent":"select__checkmarkBeforeContent_19xyo","checkmarkAfterContent":"select__checkmarkAfterContent_19xyo","content":"select__content_19xyo"};
6
6
  require('./index.css')
7
7
 
8
8
  const BaseOption = ({ className, option, children, selected, highlighted, disabled, multiple, Checkmark = BaseCheckmark, checkmarkPosition = multiple ? 'before' : 'after', innerProps, dataTestId, mobile = false, }) => {