@alfalab/core-components-select 17.3.5 → 17.4.1

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 (141) 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 +14 -14
  7. package/components/base-select/Component.js +4 -4
  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 +11 -11
  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 +20 -20
  22. package/components/options-list/Component.js +23 -9
  23. package/components/options-list/index.css +16 -12
  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-option/index.module.css +1 -1
  29. package/cssm/components/base-select/Component.js +2 -2
  30. package/cssm/components/checkmark/index.module.css +1 -1
  31. package/cssm/components/option/index.module.css +1 -1
  32. package/cssm/components/options-list/Component.js +22 -8
  33. package/cssm/components/options-list/index.module.css +8 -4
  34. package/cssm/typings.d.ts +5 -1
  35. package/esm/components/arrow/Component.js +1 -1
  36. package/esm/components/arrow/index.css +3 -3
  37. package/esm/components/base-checkmark/Component.js +1 -1
  38. package/esm/components/base-checkmark/index.css +4 -4
  39. package/esm/components/base-option/Component.js +1 -1
  40. package/esm/components/base-option/index.css +14 -14
  41. package/esm/components/base-select/Component.js +4 -4
  42. package/esm/components/base-select/index.css +11 -11
  43. package/esm/components/base-select/mobile.css +12 -12
  44. package/esm/components/checkmark/Component.js +1 -1
  45. package/esm/components/checkmark/index.css +11 -11
  46. package/esm/components/checkmark-mobile/Component.js +1 -1
  47. package/esm/components/checkmark-mobile/index.css +6 -6
  48. package/esm/components/field/Component.js +1 -1
  49. package/esm/components/field/index.css +12 -12
  50. package/esm/components/footer/Component.js +1 -1
  51. package/esm/components/footer/index.css +5 -5
  52. package/esm/components/optgroup/Component.js +1 -1
  53. package/esm/components/optgroup/index.css +6 -6
  54. package/esm/components/option/Component.js +1 -1
  55. package/esm/components/option/index.css +20 -20
  56. package/esm/components/options-list/Component.js +24 -10
  57. package/esm/components/options-list/index.css +16 -12
  58. package/esm/components/search/Component.js +1 -1
  59. package/esm/components/search/index.css +2 -2
  60. package/esm/components/virtual-options-list/Component.js +1 -1
  61. package/esm/components/virtual-options-list/index.css +15 -15
  62. package/esm/mobile/Component.mobile.js +1 -1
  63. package/esm/presets/index.js +1 -1
  64. package/esm/presets/useSelectWithApply/hook.js +1 -1
  65. package/esm/presets/useSelectWithApply/options-list-with-apply/Component.js +1 -1
  66. package/esm/presets/useSelectWithApply/options-list-with-apply/footer/Component.js +1 -1
  67. package/esm/presets/useSelectWithApply/options-list-with-apply/footer/index.css +3 -3
  68. package/esm/presets/useSelectWithApply/options-list-with-apply/header/Component.js +1 -1
  69. package/esm/presets/useSelectWithApply/options-list-with-apply/header/index.css +3 -3
  70. package/esm/presets/useSelectWithApply/options-list-with-apply/index.d.ts +1 -1
  71. package/esm/presets/useSelectWithApply/options-list-with-apply/index.js +1 -1
  72. package/esm/presets/useSelectWithLoading/hook.js +1 -1
  73. package/esm/presets/useSelectWithLoading/index.css +2 -2
  74. package/esm/shared/index.js +1 -1
  75. package/esm/typings.d.ts +5 -1
  76. package/mobile/Component.mobile.js +1 -1
  77. package/modern/components/arrow/Component.js +1 -1
  78. package/modern/components/arrow/index.css +3 -3
  79. package/modern/components/base-checkmark/Component.js +1 -1
  80. package/modern/components/base-checkmark/index.css +4 -4
  81. package/modern/components/base-option/Component.js +1 -1
  82. package/modern/components/base-option/index.css +14 -14
  83. package/modern/components/base-select/Component.js +4 -4
  84. package/modern/components/base-select/index.css +11 -11
  85. package/modern/components/base-select/mobile.css +12 -12
  86. package/modern/components/checkmark/Component.js +1 -1
  87. package/modern/components/checkmark/index.css +11 -11
  88. package/modern/components/checkmark-mobile/Component.js +1 -1
  89. package/modern/components/checkmark-mobile/index.css +6 -6
  90. package/modern/components/field/Component.js +1 -1
  91. package/modern/components/field/index.css +12 -12
  92. package/modern/components/footer/Component.js +1 -1
  93. package/modern/components/footer/index.css +5 -5
  94. package/modern/components/optgroup/Component.js +1 -1
  95. package/modern/components/optgroup/index.css +6 -6
  96. package/modern/components/option/Component.js +1 -1
  97. package/modern/components/option/index.css +20 -20
  98. package/modern/components/options-list/Component.js +20 -6
  99. package/modern/components/options-list/index.css +16 -12
  100. package/modern/components/search/Component.js +1 -1
  101. package/modern/components/search/index.css +2 -2
  102. package/modern/components/virtual-options-list/Component.js +1 -1
  103. package/modern/components/virtual-options-list/index.css +15 -15
  104. package/modern/mobile/Component.mobile.js +1 -1
  105. package/modern/presets/index.js +1 -1
  106. package/modern/presets/useSelectWithApply/hook.js +1 -1
  107. package/modern/presets/useSelectWithApply/options-list-with-apply/Component.js +1 -1
  108. package/modern/presets/useSelectWithApply/options-list-with-apply/footer/Component.js +1 -1
  109. package/modern/presets/useSelectWithApply/options-list-with-apply/footer/index.css +3 -3
  110. package/modern/presets/useSelectWithApply/options-list-with-apply/header/Component.js +1 -1
  111. package/modern/presets/useSelectWithApply/options-list-with-apply/header/index.css +3 -3
  112. package/modern/presets/useSelectWithApply/options-list-with-apply/index.d.ts +1 -1
  113. package/modern/presets/useSelectWithApply/options-list-with-apply/index.js +1 -1
  114. package/modern/presets/useSelectWithLoading/hook.js +1 -1
  115. package/modern/presets/useSelectWithLoading/index.css +2 -2
  116. package/modern/shared/index.js +1 -1
  117. package/modern/typings.d.ts +5 -1
  118. package/package.json +5 -5
  119. package/presets/index.js +1 -1
  120. package/presets/useSelectWithApply/hook.js +1 -1
  121. package/presets/useSelectWithApply/options-list-with-apply/Component.js +1 -1
  122. package/presets/useSelectWithApply/options-list-with-apply/footer/Component.js +1 -1
  123. package/presets/useSelectWithApply/options-list-with-apply/footer/index.css +3 -3
  124. package/presets/useSelectWithApply/options-list-with-apply/header/Component.js +1 -1
  125. package/presets/useSelectWithApply/options-list-with-apply/header/index.css +3 -3
  126. package/presets/useSelectWithApply/options-list-with-apply/index.d.ts +1 -1
  127. package/presets/useSelectWithApply/options-list-with-apply/index.js +1 -1
  128. package/presets/useSelectWithLoading/hook.js +1 -1
  129. package/presets/useSelectWithLoading/index.css +2 -2
  130. package/shared/index.js +1 -1
  131. package/src/components/base-select/Component.tsx +2 -0
  132. package/src/components/options-list/Component.tsx +30 -5
  133. package/src/components/options-list/index.module.css +8 -2
  134. package/src/typings.ts +16 -1
  135. package/typings.d.ts +5 -1
  136. /package/esm/{hook-087f84d1.d.ts → hook-dd86695a.d.ts} +0 -0
  137. /package/esm/{hook-087f84d1.js → hook-dd86695a.js} +0 -0
  138. /package/{hook-213f2662.d.ts → hook-ddf6a468.d.ts} +0 -0
  139. /package/{hook-213f2662.js → hook-ddf6a468.js} +0 -0
  140. /package/modern/{hook-eeb8a533.d.ts → hook-ccdc50fc.d.ts} +0 -0
  141. /package/modern/{hook-eeb8a533.js → hook-ccdc50fc.js} +0 -0
@@ -9,10 +9,10 @@ import { useLayoutEffect_SAFE_FOR_SSR } from '@alfalab/hooks';
9
9
  import { defaultAccessor, defaultFilterFn, processOptions } from '../../utils.js';
10
10
  import { NativeSelect } from '../native-select/Component.js';
11
11
 
12
- const styles = {"component":"select__component_1vg14","popoverInner":"select__popoverInner_1vg14","optionsListWrapper":"select__optionsListWrapper_1vg14","optionsListBorder":"select__optionsListBorder_1vg14","nativeSelect":"select__nativeSelect_1vg14","block":"select__block_1vg14","emptySearchPlaceholder":"select__emptySearchPlaceholder_1vg14","search":"select__search_1vg14"};
12
+ const styles = {"component":"select__component_66ti6","popoverInner":"select__popoverInner_66ti6","optionsListWrapper":"select__optionsListWrapper_66ti6","optionsListBorder":"select__optionsListBorder_66ti6","nativeSelect":"select__nativeSelect_66ti6","block":"select__block_66ti6","emptySearchPlaceholder":"select__emptySearchPlaceholder_66ti6","search":"select__search_66ti6"};
13
13
  require('./index.css')
14
14
 
15
- const mobileStyles = {"sheet":"select__sheet_n139q","sheetContent":"select__sheetContent_n139q","modalContent":"select__modalContent_n139q","sheetContainer":"select__sheetContainer_n139q","optionsListWrapper":"select__optionsListWrapper_n139q","optionsList":"select__optionsList_n139q","scrollbar":"select__scrollbar_n139q","search":"select__search_n139q","option":"select__option_n139q","optionGroup":"select__optionGroup_n139q"};
15
+ const mobileStyles = {"sheet":"select__sheet_d8fga","sheetContent":"select__sheetContent_d8fga","modalContent":"select__modalContent_d8fga","sheetContainer":"select__sheetContainer_d8fga","optionsListWrapper":"select__optionsListWrapper_d8fga","optionsList":"select__optionsList_d8fga","scrollbar":"select__scrollbar_d8fga","search":"select__search_d8fga","option":"select__option_d8fga","optionGroup":"select__optionGroup_d8fga"};
16
16
  require('./mobile.css')
17
17
 
18
18
  /* eslint-disable no-nested-ternary */
@@ -21,7 +21,7 @@ const isItemDisabled = (option) => Boolean(option?.disabled);
21
21
  const BaseSelect = forwardRef(
22
22
  // TODO: 😭
23
23
  // eslint-disable-next-line complexity
24
- ({ dataTestId, className, fieldClassName, optionGroupClassName, optionsListClassName, optionClassName, popperClassName, options, autocomplete = false, multiple = false, allowUnselect = false, disabled = false, closeOnSelect = !multiple, circularNavigation = false, nativeSelect = false, defaultOpen = false, open: openProp, popoverPosition = 'bottom-start', preventFlip = true, optionsListWidth = 'content', name, id, selected, size = 48, optionsSize = size, error, hint, block, label, labelView, placeholder, fieldProps = {}, optionsListProps = {}, optionProps = {}, searchProps = {}, showSearch = false, valueRenderer, onChange, onOpen, onFocus, onBlur, onScroll, Arrow, Field = () => null, OptionsList = () => null, Optgroup = () => null, Option = () => null, Search = () => null, updatePopover, zIndexPopover, showEmptyOptionsList = false, visibleOptions, view, isBottomSheet = true, footer, swipeable, modalProps, modalFooterProps, modalHeaderProps, bottomSheetProps, Popover, ModalMobile, BottomSheet, }, ref) => {
24
+ ({ dataTestId, className, fieldClassName, optionGroupClassName, optionsListClassName, optionClassName, popperClassName, options, autocomplete = false, multiple = false, allowUnselect = false, disabled = false, closeOnSelect = !multiple, circularNavigation = false, nativeSelect = false, defaultOpen = false, open: openProp, popoverPosition = 'bottom-start', preventFlip = true, optionsListWidth = 'content', name, id, selected, size = 48, optionsSize = size, error, hint, block, label, labelView, placeholder, fieldProps = {}, optionsListProps = {}, optionProps = {}, searchProps = {}, showSearch = false, valueRenderer, onChange, onOpen, onFocus, onBlur, onScroll, Arrow, Field = () => null, OptionsList = () => null, Optgroup = () => null, Option = () => null, Search = () => null, updatePopover, zIndexPopover, showEmptyOptionsList = false, visibleOptions, view, isBottomSheet = true, footer, swipeable, modalProps, popoverProps, modalFooterProps, modalHeaderProps, bottomSheetProps, Popover, ModalMobile, BottomSheet, }, ref) => {
25
25
  const rootRef = useRef(null);
26
26
  const fieldRef = useRef(null);
27
27
  const listRef = useRef(null);
@@ -355,7 +355,7 @@ const BaseSelect = forwardRef(
355
355
  };
356
356
  const renderInPopover = () => {
357
357
  if (!nativeSelect && Popover) {
358
- return (React.createElement(Popover, { open: open, withTransition: false, anchorElement: fieldRef.current, position: popoverPosition, preventFlip: preventFlip, popperClassName: cn(styles.popoverInner, popperClassName), update: updatePopover, zIndex: zIndexPopover }, renderOptionsList()));
358
+ return (React.createElement(Popover, { ...popoverProps, open: open, withTransition: false, anchorElement: fieldRef.current, position: popoverPosition, preventFlip: preventFlip, popperClassName: cn(styles.popoverInner, popperClassName), update: updatePopover, zIndex: zIndexPopover }, renderOptionsList()));
359
359
  }
360
360
  return null;
361
361
  };
@@ -1,4 +1,4 @@
1
- /* hash: 1updc */
1
+ /* hash: udlz3 */
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-modal-bg-primary: #fff;
@@ -37,21 +37,21 @@
37
37
  /* checkmark */
38
38
 
39
39
  /* optgroup */
40
- } .select__component_1vg14 {
40
+ } .select__component_66ti6 {
41
41
  width: max-content;
42
42
  position: relative;
43
43
  outline: 0;
44
44
  max-width: 100%;
45
- } .select__popoverInner_1vg14 {
45
+ } .select__popoverInner_66ti6 {
46
46
  padding-top: var(--select-options-list-offset);
47
47
  padding-bottom: var(--select-options-list-offset);
48
48
  background: transparent;
49
49
  border-radius: 0;
50
50
  position: relative;
51
- } .select__popoverInner_1vg14.select__popoverInner_1vg14 {
51
+ } .select__popoverInner_66ti6.select__popoverInner_66ti6 {
52
52
  box-shadow: none;
53
53
  border: none;
54
- } .select__optionsListWrapper_1vg14 {
54
+ } .select__optionsListWrapper_66ti6 {
55
55
  position: relative;
56
56
  padding-top: var(--select-options-list-top-padding);
57
57
  padding-bottom: var(--select-options-list-bottom-padding);
@@ -60,7 +60,7 @@
60
60
  background: var(--select-option-background);
61
61
  overflow: hidden;
62
62
  will-change: transform;
63
- } .select__optionsListBorder_1vg14 {
63
+ } .select__optionsListBorder_66ti6 {
64
64
  position: absolute;
65
65
  top: 0;
66
66
  right: 0;
@@ -69,7 +69,7 @@
69
69
  box-shadow: inset 0 0 0 1px var(--color-light-neutral-300);
70
70
  border-radius: inherit;
71
71
  pointer-events: none;
72
- } .select__nativeSelect_1vg14 {
72
+ } .select__nativeSelect_66ti6 {
73
73
  opacity: 0;
74
74
  overflow: hidden;
75
75
  position: absolute;
@@ -82,12 +82,12 @@
82
82
  height: 100%;
83
83
  cursor: pointer;
84
84
  z-index: 1;
85
- } .select__block_1vg14 {
85
+ } .select__block_66ti6 {
86
86
  width: 100%;
87
- } .select__emptySearchPlaceholder_1vg14 {
87
+ } .select__emptySearchPlaceholder_66ti6 {
88
88
  text-align: center;
89
- } .select__search_1vg14 {
89
+ } .select__search_66ti6 {
90
90
  margin: var(--gap-s) var(--gap-s) 0
91
- } .select__search_1vg14:last-child {
91
+ } .select__search_66ti6:last-child {
92
92
  margin-bottom: var(--gap-s);
93
93
  }
@@ -1,4 +1,4 @@
1
- /* hash: 1q4ps */
1
+ /* hash: dftge */
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 */
@@ -27,30 +27,30 @@
27
27
  /* checkmark */
28
28
 
29
29
  /* optgroup */
30
- } .select__sheet_n139q {
30
+ } .select__sheet_d8fga {
31
31
  overflow: hidden;
32
- } .select__sheetContent_n139q {
32
+ } .select__sheetContent_d8fga {
33
33
  padding: 0
34
- } .select__sheetContent_n139q .select__modalContent_n139q {
34
+ } .select__sheetContent_d8fga .select__modalContent_d8fga {
35
35
  padding: 0;
36
36
  display: flex;
37
37
  flex-direction: column;
38
- } .select__sheetContainer_n139q {
38
+ } .select__sheetContainer_d8fga {
39
39
  padding: 0;
40
- } .select__optionsListWrapper_n139q {
40
+ } .select__optionsListWrapper_d8fga {
41
41
  flex: 1;
42
- } .select__optionsList_n139q.select__optionsList_n139q {
42
+ } .select__optionsList_d8fga.select__optionsList_d8fga {
43
43
  height: 100%;
44
44
  display: flex;
45
45
  flex-direction: column;
46
- } .select__scrollbar_n139q {
46
+ } .select__scrollbar_d8fga {
47
47
  flex: 1;
48
- } .select__search_n139q {
48
+ } .select__search_d8fga {
49
49
  padding: var(--gap-xs);
50
- } .select__option_n139q.select__option_n139q {
50
+ } .select__option_d8fga.select__option_d8fga {
51
51
  padding: var(--gap-2xs) var(--gap-l) var(--gap-2xs) var(--gap-m)
52
- } .select__option_n139q.select__option_n139q:before {
52
+ } .select__option_d8fga.select__option_d8fga:before {
53
53
  display: none;
54
- } .select__optionGroup_n139q.select__optionGroup_n139q {
54
+ } .select__optionGroup_d8fga.select__optionGroup_d8fga {
55
55
  padding: var(--gap-m) var(--gap-m) var(--gap-xs);
56
56
  }
@@ -5,7 +5,7 @@ import { Checkbox } from '@alfalab/core-components-checkbox/modern';
5
5
  import { CheckmarkCircleMIcon } from '@alfalab/icons-glyph/CheckmarkCircleMIcon';
6
6
  import CheckmarkMIcon from '@alfalab/icons-glyph/CheckmarkMIcon';
7
7
 
8
- const styles = {"checkmark":"select__checkmark_1c0pu","after":"select__after_1c0pu","single":"select__single_1c0pu","selected":"select__selected_1c0pu","before":"select__before_1c0pu","multiple":"select__multiple_1c0pu","colorIcon":"select__colorIcon_1c0pu"};
8
+ const styles = {"checkmark":"select__checkmark_7a0r7","after":"select__after_7a0r7","single":"select__single_7a0r7","selected":"select__selected_7a0r7","before":"select__before_7a0r7","multiple":"select__multiple_7a0r7","colorIcon":"select__colorIcon_7a0r7"};
9
9
  require('./index.css')
10
10
 
11
11
  const Checkmark = ({ selected, disabled = false, className, multiple, position = 'before', }) => {
@@ -1,7 +1,7 @@
1
- /* hash: 1br2m */
1
+ /* hash: 1c9od */
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
- --color-light-neutral-1500: #0e0e0e;
4
+ --color-light-neutral-1500: #121213;
5
5
  --color-light-status-positive: #0cc44d; /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */
6
6
  } :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 */
7
7
  } :root {
@@ -39,12 +39,12 @@
39
39
  --select-checkmark-border-radius: var(--border-radius-circle);
40
40
 
41
41
  /* optgroup */
42
- } .select__checkmark_1c0pu {
42
+ } .select__checkmark_7a0r7 {
43
43
  flex-shrink: 0;
44
44
  margin: var(--select-checkmark-margin)
45
- } .select__checkmark_1c0pu.select__after_1c0pu {
45
+ } .select__checkmark_7a0r7.select__after_7a0r7 {
46
46
  margin: var(--select-checkmark-margin-after);
47
- } .select__single_1c0pu {
47
+ } .select__single_7a0r7 {
48
48
  display: flex;
49
49
  align-items: center;
50
50
  justify-content: center;
@@ -54,17 +54,17 @@
54
54
  border-radius: var(--select-checkmark-border-radius);
55
55
  width: var(--select-checkmark-size);
56
56
  height: var(--select-checkmark-size)
57
- } .select__single_1c0pu.select__selected_1c0pu {
57
+ } .select__single_7a0r7.select__selected_7a0r7 {
58
58
  opacity: 1;
59
- } .select__before_1c0pu {
59
+ } .select__before_7a0r7 {
60
60
  display: var(--select-checkmark-before-display)
61
- } .select__before_1c0pu.select__multiple_1c0pu {
61
+ } .select__before_7a0r7.select__multiple_7a0r7 {
62
62
  margin-right: var(--gap-s);
63
63
  display: var(--select-checkmark-before-display-multiple);
64
- } .select__after_1c0pu.select__after_1c0pu {
64
+ } .select__after_7a0r7.select__after_7a0r7 {
65
65
  display: var(--select-checkmark-after-display)
66
- } .select__after_1c0pu.select__after_1c0pu.select__single_1c0pu {
66
+ } .select__after_7a0r7.select__after_7a0r7.select__single_7a0r7 {
67
67
  display: var(--select-checkmark-after-display-single);
68
- } .select__colorIcon_1c0pu {
68
+ } .select__colorIcon_7a0r7 {
69
69
  color: var(--color-light-status-positive);
70
70
  }
@@ -2,7 +2,7 @@ import React from 'react';
2
2
  import cn from 'classnames';
3
3
  import { CheckmarkMIcon } from '@alfalab/icons-glyph/CheckmarkMIcon';
4
4
 
5
- const styles = {"checkmark":"select__checkmark_89jsp","selected":"select__selected_89jsp","displayIcon":"select__displayIcon_89jsp","displayBadge":"select__displayBadge_89jsp"};
5
+ const styles = {"checkmark":"select__checkmark_12j7d","selected":"select__selected_12j7d","displayIcon":"select__displayIcon_12j7d","displayBadge":"select__displayBadge_12j7d"};
6
6
  require('./index.css')
7
7
 
8
8
  const Checkmark = ({ selected, className }) => (React.createElement("div", { className: cn(styles.checkmark, className, {
@@ -1,4 +1,4 @@
1
- /* hash: 7cnvd */
1
+ /* hash: sgyg2 */
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 */
@@ -25,7 +25,7 @@
25
25
  --select-mobile-checkmark-display-badge: none;
26
26
 
27
27
  /* optgroup */
28
- } .select__checkmark_89jsp {
28
+ } .select__checkmark_12j7d {
29
29
  flex-shrink: 0;
30
30
  display: flex;
31
31
  align-items: center;
@@ -33,12 +33,12 @@
33
33
  width: 24px;
34
34
  height: 24px;
35
35
  opacity: 0
36
- } .select__checkmark_89jsp:first-child {
36
+ } .select__checkmark_12j7d:first-child {
37
37
  display: none;
38
- } .select__checkmark_89jsp.select__selected_89jsp {
38
+ } .select__checkmark_12j7d.select__selected_12j7d {
39
39
  opacity: 1;
40
- } .select__displayIcon_89jsp {
40
+ } .select__displayIcon_12j7d {
41
41
  display: var(--select-mobile-checkmark-display-icon);
42
- } .select__displayBadge_89jsp {
42
+ } .select__displayBadge_12j7d {
43
43
  display: var(--select-mobile-checkmark-display-badge);
44
44
  }
@@ -4,7 +4,7 @@ import { getDataTestId } from '@alfalab/core-components-shared/modern';
4
4
  import { useFocus } from '@alfalab/hooks';
5
5
  import { joinOptions } from '../../utils.js';
6
6
 
7
- const styles = {"component":"select__component_12l2j","field":"select__field_12l2j","disabled":"select__disabled_12l2j","arrow":"select__arrow_12l2j","placeholder":"select__placeholder_12l2j","show-placeholder":"select__show-placeholder_12l2j","focused":"select__focused_12l2j","contentWrapper":"select__contentWrapper_12l2j","value":"select__value_12l2j","focusVisible":"select__focusVisible_12l2j"};
7
+ const styles = {"component":"select__component_1wvhi","field":"select__field_1wvhi","disabled":"select__disabled_1wvhi","arrow":"select__arrow_1wvhi","placeholder":"select__placeholder_1wvhi","show-placeholder":"select__show-placeholder_1wvhi","focused":"select__focused_1wvhi","contentWrapper":"select__contentWrapper_1wvhi","value":"select__value_1wvhi","focusVisible":"select__focusVisible_1wvhi"};
8
8
  require('./index.css')
9
9
 
10
10
  const Field = ({ size = 56, open, multiple, error, hint, disabled, label, labelView = 'inner', placeholder, selectedMultiple = [], selected, rightAddons, valueRenderer = joinOptions, setSelectedItems, toggleMenu, Arrow, innerProps, dataTestId, fieldClassName, FormControlComponent, ...restProps }) => {
@@ -1,4 +1,4 @@
1
- /* hash: 13bg4 */
1
+ /* hash: r2fd0 */
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-border-link: #2288fa;
@@ -42,22 +42,22 @@
42
42
  /* checkmark */
43
43
 
44
44
  /* optgroup */
45
- } .select__component_12l2j {
45
+ } .select__component_1wvhi {
46
46
  width: 100%;
47
47
  outline: none;
48
- } .select__field_12l2j:not(.select__disabled_12l2j) {
48
+ } .select__field_1wvhi:not(.select__disabled_1wvhi) {
49
49
  cursor: pointer
50
- } .select__field_12l2j:not(.select__disabled_12l2j):hover .select__arrow_12l2j {
50
+ } .select__field_1wvhi:not(.select__disabled_1wvhi):hover .select__arrow_1wvhi {
51
51
  opacity: var(--select-arrow-hover-opacity);
52
- } .select__disabled_12l2j {
52
+ } .select__disabled_1wvhi {
53
53
  cursor: var(--disabled-cursor);
54
- } .select__placeholder_12l2j {
54
+ } .select__placeholder_1wvhi {
55
55
  color: var(--input-placeholder-color);
56
56
  transition: color 0.2s ease;
57
- animation: select__show-placeholder_12l2j 0.2s ease
58
- } .select__placeholder_12l2j.select__focused_12l2j {
57
+ animation: select__show-placeholder_1wvhi 0.2s ease
58
+ } .select__placeholder_1wvhi.select__focused_1wvhi {
59
59
  color: var(--input-focus-placeholder-color);
60
- } .select__contentWrapper_12l2j {
60
+ } .select__contentWrapper_1wvhi {
61
61
  font-size: 16px;
62
62
  line-height: 20px;
63
63
  font-weight: 400;
@@ -66,14 +66,14 @@
66
66
  text-overflow: ellipsis;
67
67
  overflow: hidden;
68
68
  width: 100%;
69
- } .select__value_12l2j {
69
+ } .select__value_1wvhi {
70
70
  overflow: hidden;
71
71
  text-overflow: ellipsis;
72
72
  text-align: left;
73
- } .select__focusVisible_12l2j {
73
+ } .select__focusVisible_1wvhi {
74
74
  outline: 2px solid var(--focus-color);
75
75
  outline-offset: 2px;
76
- } @keyframes select__show-placeholder_12l2j {
76
+ } @keyframes select__show-placeholder_1wvhi {
77
77
  from {
78
78
  opacity: 0;
79
79
  }
@@ -4,7 +4,7 @@ import { BaseModalContext } from '@alfalab/core-components-base-modal/modern';
4
4
  import { ButtonMobile } from '@alfalab/core-components-button/modern/mobile';
5
5
  import { getDataTestId } from '@alfalab/core-components-shared/modern';
6
6
 
7
- const styles = {"footer":"select__footer_1eu9l","button":"select__button_1eu9l","highlighted":"select__highlighted_1eu9l"};
7
+ const styles = {"footer":"select__footer_1om61","button":"select__button_1om61","highlighted":"select__highlighted_1om61"};
8
8
  require('./index.css')
9
9
 
10
10
  const Footer = ({ handleApply, handleClear, showClear, clearText = 'Сбросить', applyText = 'Применить', dataTestId, }) => {
@@ -1,4 +1,4 @@
1
- /* hash: 1e3w0 */
1
+ /* hash: wmsn9 */
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-modal-bg-primary: #fff;
@@ -26,17 +26,17 @@
26
26
  /* checkmark */
27
27
 
28
28
  /* optgroup */
29
- } .select__footer_1eu9l {
29
+ } .select__footer_1om61 {
30
30
  display: flex;
31
31
  box-sizing: border-box;
32
32
  width: 100%;
33
33
  padding: var(--gap-m) var(--gap-m);
34
34
  background-color: var(--color-light-modal-bg-primary)
35
- } .select__footer_1eu9l .select__button_1eu9l:first-of-type {
35
+ } .select__footer_1om61 .select__button_1om61:first-of-type {
36
36
  margin-right: var(--gap-m);
37
- } .select__button_1eu9l {
37
+ } .select__button_1om61 {
38
38
  width: 50%;
39
- } .select__highlighted_1eu9l {
39
+ } .select__highlighted_1om61 {
40
40
  border-top: 1px solid var(--color-light-neutral-300);
41
41
  background-color: var(--color-light-modal-bg-primary);
42
42
  }
@@ -2,7 +2,7 @@ import React from 'react';
2
2
  import cn from 'classnames';
3
3
  import { SIZE_TO_CLASSNAME_MAP } from '../../consts.js';
4
4
 
5
- const styles = {"optgroup":"select__optgroup_1xawe","label":"select__label_1xawe","size-64":"select__size-64_1xawe","size-72":"select__size-72_1xawe"};
5
+ const styles = {"optgroup":"select__optgroup_81orw","label":"select__label_81orw","size-64":"select__size-64_81orw","size-72":"select__size-72_81orw"};
6
6
  require('./index.css')
7
7
 
8
8
  const Optgroup = ({ children, className, label, size = 48 }) => (React.createElement(React.Fragment, null,
@@ -1,4 +1,4 @@
1
- /* hash: zx4wl */
1
+ /* hash: fp700 */
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-modal-bg-primary: #fff;
@@ -35,7 +35,7 @@
35
35
  --select-optgroup-right-padding: var(--gap-s);
36
36
  --select-optgroup-l-left-padding: var(--gap-m);
37
37
  --select-optgroup-l-right-padding: var(--gap-m);
38
- } .select__optgroup_1xawe {
38
+ } .select__optgroup_81orw {
39
39
  position: relative;
40
40
  display: flex;
41
41
  align-items: center;
@@ -44,9 +44,9 @@
44
44
  box-sizing: border-box;
45
45
  background: var(--select-optgroup-background);
46
46
  min-height: 40px
47
- } .select__optgroup_1xawe + *[role='option']:before {
47
+ } .select__optgroup_81orw + *[role='option']:before {
48
48
  display: none;
49
- } .select__label_1xawe {
49
+ } .select__label_81orw {
50
50
  font-size: 12px;
51
51
  line-height: 16px;
52
52
  font-weight: 500;
@@ -55,8 +55,8 @@
55
55
 
56
56
  display: block;
57
57
  color: var(--select-optgroup-color);
58
- } .select__size-64_1xawe,
59
- .select__size-72_1xawe {
58
+ } .select__size-64_81orw,
59
+ .select__size-72_81orw {
60
60
  padding-left: var(--select-optgroup-l-left-padding);
61
61
  padding-right: var(--select-optgroup-l-right-padding);
62
62
  }
@@ -4,7 +4,7 @@ import { SIZE_TO_CLASSNAME_MAP } from '../../consts.js';
4
4
  import { Checkmark as Checkmark$1 } from '../checkmark/Component.js';
5
5
  import { Checkmark } from '../checkmark-mobile/Component.js';
6
6
 
7
- const styles = {"option":"select__option_ri7l8","disabled":"select__disabled_ri7l8","size-48":"select__size-48_ri7l8","size-56":"select__size-56_ri7l8","size-64":"select__size-64_ri7l8","size-72":"select__size-72_ri7l8","selected":"select__selected_ri7l8","highlighted":"select__highlighted_ri7l8","content":"select__content_ri7l8","textContent":"select__textContent_ri7l8"};
7
+ const styles = {"option":"select__option_1lrv5","disabled":"select__disabled_1lrv5","size-48":"select__size-48_1lrv5","size-56":"select__size-56_1lrv5","size-64":"select__size-64_1lrv5","size-72":"select__size-72_1lrv5","selected":"select__selected_1lrv5","highlighted":"select__highlighted_1lrv5","content":"select__content_1lrv5","textContent":"select__textContent_1lrv5"};
8
8
  require('./index.css')
9
9
 
10
10
  const Option = ({ size = 48, className, option, children, selected, highlighted, disabled, multiple, mobile, Checkmark: Checkmark$2 = mobile ? Checkmark : Checkmark$1, innerProps, dataTestId, }) => {
@@ -1,9 +1,9 @@
1
- /* hash: 1m8ek */
1
+ /* hash: t0w6h */
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-border-primary: #d5d6dc;
5
5
  --color-light-modal-bg-primary: #fff;
6
- --color-light-text-primary: #0e0e0e;
6
+ --color-light-text-primary: rgba(3, 3, 6, 0.88);
7
7
  --color-light-text-secondary: rgba(4, 4, 19, 0.55);
8
8
  --color-light-transparent-default-hover: rgba(38, 55, 88, 0.06);
9
9
  --color-light-transparent-default-press: rgba(30, 43, 68, 0.08); /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */
@@ -53,7 +53,7 @@
53
53
  /* checkmark */
54
54
 
55
55
  /* optgroup */
56
- } .select__option_ri7l8 {
56
+ } .select__option_1lrv5 {
57
57
  font-size: 16px;
58
58
  line-height: 20px;
59
59
  font-weight: 400;
@@ -68,10 +68,10 @@
68
68
  box-sizing: border-box;
69
69
  position: relative;
70
70
  cursor: pointer
71
- } .select__option_ri7l8:not(.select__disabled_ri7l8):active {
71
+ } .select__option_1lrv5:not(.select__disabled_1lrv5):active {
72
72
  background: var(--select-option-active-background);
73
73
  color: var(--select-option-active-color);
74
- } .select__option_ri7l8:before {
74
+ } .select__option_1lrv5:before {
75
75
  content: '';
76
76
  position: absolute;
77
77
  left: var(--select-option-left-padding);
@@ -81,42 +81,42 @@
81
81
  background: var(--select-option-divider-background);
82
82
  display: var(--select-option-divider-display);
83
83
  transition: opacity 0.2s ease;
84
- } .select__option_ri7l8:first-child:before {
84
+ } .select__option_1lrv5:first-child:before {
85
85
  display: none;
86
- } .select__size-48_ri7l8 {
86
+ } .select__size-48_1lrv5 {
87
87
  min-height: var(--size-s-height);
88
- } .select__size-56_ri7l8 {
88
+ } .select__size-56_1lrv5 {
89
89
  min-height: var(--size-m-height);
90
- } .select__size-64_ri7l8 {
90
+ } .select__size-64_1lrv5 {
91
91
  min-height: var(--size-l-height);
92
- } .select__size-72_ri7l8 {
92
+ } .select__size-72_1lrv5 {
93
93
  min-height: var(--size-xl-height);
94
- } .select__size-64_ri7l8,
95
- .select__size-72_ri7l8 {
94
+ } .select__size-64_1lrv5,
95
+ .select__size-72_1lrv5 {
96
96
  padding-left: var(--select-option-l-left-padding);
97
97
  padding-right: var(--select-option-l-right-padding)
98
- } .select__size-64_ri7l8:before, .select__size-72_ri7l8:before {
98
+ } .select__size-64_1lrv5:before, .select__size-72_1lrv5:before {
99
99
  left: var(--select-option-l-left-padding);
100
100
  right: var(--select-option-l-right-padding);
101
- } .select__selected_ri7l8 {
101
+ } .select__selected_1lrv5 {
102
102
  background: var(--select-option-selected-background);
103
103
  color: var(--select-option-selected-color);
104
104
  cursor: default;
105
- } .select__highlighted_ri7l8 {
105
+ } .select__highlighted_1lrv5 {
106
106
  background: var(--select-option-hover-background);
107
107
  color: var(--select-option-hover-color)
108
- } .select__highlighted_ri7l8:before,
109
- .select__highlighted_ri7l8 + .select__option_ri7l8:before {
108
+ } .select__highlighted_1lrv5:before,
109
+ .select__highlighted_1lrv5 + .select__option_1lrv5:before {
110
110
  opacity: 0;
111
- } .select__disabled_ri7l8 {
111
+ } .select__disabled_1lrv5 {
112
112
  cursor: var(--disabled-cursor);
113
113
  background: var(--select-option-disabled-background);
114
114
  color: var(--select-option-disabled-color);
115
- } .select__content_ri7l8 {
115
+ } .select__content_1lrv5 {
116
116
  overflow: hidden;
117
117
  flex: 1;
118
118
  text-overflow: ellipsis;
119
- } .select__textContent_ri7l8 {
119
+ } .select__textContent_1lrv5 {
120
120
  padding-top: var(--gap-s);
121
121
  padding-bottom: var(--gap-s);
122
122
  }
@@ -1,4 +1,4 @@
1
- import React, { forwardRef, useRef } from 'react';
1
+ import React, { forwardRef, useState, useCallback, useRef } from 'react';
2
2
  import mergeRefs from 'react-merge-refs';
3
3
  import cn from 'classnames';
4
4
  import { useMatchMedia } from '@alfalab/core-components-mq/modern';
@@ -8,7 +8,7 @@ import { SIZE_TO_CLASSNAME_MAP, DEFAULT_VISIBLE_OPTIONS } from '../../consts.js'
8
8
  import { useVisibleOptions, isGroup } from '../../utils.js';
9
9
  import { Optgroup } from '../optgroup/Component.js';
10
10
 
11
- const styles = {"optionsList":"select__optionsList_1y5bv","optionsListHeader":"select__optionsListHeader_1y5bv","optionsListFooter":"select__optionsListFooter_1y5bv","withBorder":"select__withBorder_1y5bv","scrollable":"select__scrollable_1y5bv","emptyPlaceholder":"select__emptyPlaceholder_1y5bv","size-64":"select__size-64_1y5bv","size-72":"select__size-72_1y5bv"};
11
+ const styles = {"optionsList":"select__optionsList_1odff","optionsListHeader":"select__optionsListHeader_1odff","headerHighlighted":"select__headerHighlighted_1odff","optionsListFooter":"select__optionsListFooter_1odff","withBorder":"select__withBorder_1odff","scrollable":"select__scrollable_1odff","emptyPlaceholder":"select__emptyPlaceholder_1odff","size-64":"select__size-64_1odff","size-72":"select__size-72_1odff"};
12
12
  require('./index.css')
13
13
 
14
14
  const createCounter = () => {
@@ -17,9 +17,19 @@ const createCounter = () => {
17
17
  return () => count++;
18
18
  };
19
19
  const OptionsList = forwardRef(({ size = 48, className, optionGroupClassName, scrollbarClassName, Option, getOptionProps, options = [], Optgroup: Optgroup$1 = Optgroup, dataTestId, emptyPlaceholder, visibleOptions = DEFAULT_VISIBLE_OPTIONS, onScroll, open, header, footer, showFooter = true, optionsListWidth, nativeScrollbar: nativeScrollbarProp, flatOptions = [], setHighlightedIndex, }, ref) => {
20
+ const [scrollTop, setScrollTop] = useState(true);
21
+ const [scrollBottom, setScrollBottom] = useState(false);
20
22
  const query = '(max-width: 1023px)';
21
23
  let [nativeScrollbar] = useMatchMedia(query, () => isClient() ? window.matchMedia(query).matches : true);
22
24
  nativeScrollbar = Boolean(nativeScrollbarProp ?? nativeScrollbar);
25
+ const handleScroll = useCallback((event) => {
26
+ const scrolledToHeader = event.currentTarget.scrollTop <= 0;
27
+ const scrolledToFooter = event.currentTarget.scrollHeight - event.currentTarget.offsetHeight <=
28
+ event.currentTarget.scrollTop;
29
+ setScrollTop(scrolledToHeader);
30
+ setScrollBottom(scrolledToFooter);
31
+ onScroll?.(event);
32
+ }, [onScroll]);
23
33
  const renderOption = (option, index) => (React.createElement(Option, { key: option.key, ...getOptionProps(option, index) }));
24
34
  const listRef = useRef(null);
25
35
  const scrollbarRef = useRef(null);
@@ -40,19 +50,23 @@ const OptionsList = forwardRef(({ size = 48, className, optionGroupClassName, sc
40
50
  emptyPlaceholder && options.length === 0 && (React.createElement("div", { className: styles.emptyPlaceholder }, emptyPlaceholder))));
41
51
  const renderWithCustomScrollbar = () => {
42
52
  const scrollableNodeProps = {
43
- onScroll,
53
+ onScroll: handleScroll,
44
54
  'data-test-id': dataTestId,
45
55
  ref: ref,
46
56
  };
47
57
  return (React.createElement(Scrollbar, { className: cn(styles.scrollable, scrollbarClassName), ref: scrollbarRef, horizontalAutoStretch: optionsListWidth === 'content', scrollableNodeProps: scrollableNodeProps, contentNodeProps: { ref: listRef } }, renderListItems()));
48
58
  };
49
- const renderWithNativeScrollbar = () => (React.createElement("div", { className: cn(styles.scrollable, scrollbarClassName), ref: mergeRefs([listRef, ref]), onScroll: onScroll }, renderListItems()));
59
+ const renderWithNativeScrollbar = () => (React.createElement("div", { className: cn(styles.scrollable, scrollbarClassName), ref: mergeRefs([listRef, ref]), onScroll: handleScroll }, renderListItems()));
50
60
  const resetHighlightedIndex = () => setHighlightedIndex?.(-1);
51
61
  return (React.createElement("div", { ...(nativeScrollbar && { 'data-test-id': dataTestId }), className: cn(styles.optionsList, styles[SIZE_TO_CLASSNAME_MAP[size]], className) },
52
- header && (React.createElement("div", { className: styles.optionsListHeader, onMouseEnter: resetHighlightedIndex }, header)),
62
+ header && (React.createElement("div", { className: cn(styles.optionsListHeader, {
63
+ [styles.headerHighlighted]: !scrollTop,
64
+ }), onMouseEnter: resetHighlightedIndex }, header)),
53
65
  nativeScrollbar ? renderWithNativeScrollbar() : renderWithCustomScrollbar(),
54
66
  showFooter && footer && (React.createElement("div", { onMouseEnter: resetHighlightedIndex, className: cn(styles.optionsListFooter, {
55
- [styles.withBorder]: visibleOptions && flatOptions.length > visibleOptions,
67
+ [styles.withBorder]: visibleOptions &&
68
+ flatOptions.length > visibleOptions &&
69
+ !scrollBottom,
56
70
  }) }, footer))));
57
71
  });
58
72