@alfalab/core-components-select 18.2.5 → 18.2.7
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.
- package/components/arrow/index.css +4 -4
- package/components/arrow/index.module.css.js +1 -1
- package/components/base-checkmark/index.css +5 -5
- package/components/base-checkmark/index.module.css.js +1 -1
- package/components/base-option/index.css +16 -16
- package/components/base-option/index.module.css.js +1 -1
- package/components/base-select/Component.d.ts +1 -1
- package/components/base-select/Component.js +2 -2
- package/components/base-select/Component.js.map +1 -1
- package/components/base-select/index.css +11 -11
- package/components/base-select/index.module.css.js +1 -1
- package/components/base-select/mobile.css +11 -11
- package/components/base-select/mobile.module.css.js +1 -1
- package/components/checkmark/index.css +9 -9
- package/components/checkmark/index.module.css.js +1 -1
- package/components/checkmark-mobile/index.css +5 -5
- package/components/checkmark-mobile/index.module.css.js +1 -1
- package/components/clear-button/index.css +4 -4
- package/components/clear-button/index.module.css.js +1 -1
- package/components/field/index.css +13 -13
- package/components/field/index.module.css.js +1 -1
- package/components/footer/index.css +4 -4
- package/components/footer/index.module.css.js +1 -1
- package/components/optgroup/index.css +4 -4
- package/components/optgroup/index.module.css.js +1 -1
- package/components/option/desktop/index.css +19 -19
- package/components/option/desktop/index.module.css.js +1 -1
- package/components/option/mobile/index.css +16 -16
- package/components/option/mobile/index.module.css.js +1 -1
- package/components/options-list/Component.d.ts +35 -2
- package/components/options-list/Component.js +6 -8
- package/components/options-list/Component.js.map +1 -1
- package/components/options-list/index.css +9 -9
- package/components/options-list/index.module.css.js +1 -1
- package/components/search/Component.js +15 -1
- package/components/search/Component.js.map +1 -1
- package/components/search/index.css +1 -1
- package/components/search/index.module.css.js +1 -1
- package/components/virtual-options-list/Component.d.ts +35 -2
- package/components/virtual-options-list/Component.js +6 -9
- package/components/virtual-options-list/Component.js.map +1 -1
- package/components/virtual-options-list/index.css +13 -13
- package/components/virtual-options-list/index.module.css.js +1 -1
- package/cssm/components/base-select/Component.d.ts +1 -1
- package/cssm/components/base-select/Component.js +2 -2
- package/cssm/components/base-select/Component.js.map +1 -1
- package/cssm/components/options-list/Component.d.ts +35 -2
- package/cssm/components/options-list/Component.js +8 -10
- package/cssm/components/options-list/Component.js.map +1 -1
- package/cssm/components/search/Component.js +15 -1
- package/cssm/components/search/Component.js.map +1 -1
- package/cssm/components/virtual-options-list/Component.d.ts +35 -2
- package/cssm/components/virtual-options-list/Component.js +8 -11
- package/cssm/components/virtual-options-list/Component.js.map +1 -1
- package/cssm/hooks/use-native-scrollbar.d.ts +4 -0
- package/cssm/hooks/use-native-scrollbar.js +33 -0
- package/cssm/hooks/use-native-scrollbar.js.map +1 -0
- package/cssm/presets/useSelectWithApply/hook.d.ts +137 -5
- package/cssm/presets/useSelectWithApply/options-list-with-apply/Component.d.ts +69 -3
- package/cssm/typings.d.ts +1 -1
- package/esm/components/arrow/index.css +4 -4
- package/esm/components/arrow/index.module.css.js +1 -1
- package/esm/components/base-checkmark/index.css +5 -5
- package/esm/components/base-checkmark/index.module.css.js +1 -1
- package/esm/components/base-option/index.css +16 -16
- package/esm/components/base-option/index.module.css.js +1 -1
- package/esm/components/base-select/Component.d.ts +1 -1
- package/esm/components/base-select/Component.js +2 -2
- package/esm/components/base-select/Component.js.map +1 -1
- package/esm/components/base-select/index.css +11 -11
- package/esm/components/base-select/index.module.css.js +1 -1
- package/esm/components/base-select/mobile.css +11 -11
- package/esm/components/base-select/mobile.module.css.js +1 -1
- package/esm/components/checkmark/index.css +9 -9
- package/esm/components/checkmark/index.module.css.js +1 -1
- package/esm/components/checkmark-mobile/index.css +5 -5
- package/esm/components/checkmark-mobile/index.module.css.js +1 -1
- package/esm/components/clear-button/index.css +4 -4
- package/esm/components/clear-button/index.module.css.js +1 -1
- package/esm/components/field/index.css +13 -13
- package/esm/components/field/index.module.css.js +1 -1
- package/esm/components/footer/index.css +4 -4
- package/esm/components/footer/index.module.css.js +1 -1
- package/esm/components/optgroup/index.css +4 -4
- package/esm/components/optgroup/index.module.css.js +1 -1
- package/esm/components/option/desktop/index.css +19 -19
- package/esm/components/option/desktop/index.module.css.js +1 -1
- package/esm/components/option/mobile/index.css +16 -16
- package/esm/components/option/mobile/index.module.css.js +1 -1
- package/esm/components/options-list/Component.d.ts +35 -2
- package/esm/components/options-list/Component.js +6 -8
- package/esm/components/options-list/Component.js.map +1 -1
- package/esm/components/options-list/index.css +9 -9
- package/esm/components/options-list/index.module.css.js +1 -1
- package/esm/components/search/Component.js +15 -1
- package/esm/components/search/Component.js.map +1 -1
- package/esm/components/search/index.css +1 -1
- package/esm/components/search/index.module.css.js +1 -1
- package/esm/components/virtual-options-list/Component.d.ts +35 -2
- package/esm/components/virtual-options-list/Component.js +6 -9
- package/esm/components/virtual-options-list/Component.js.map +1 -1
- package/esm/components/virtual-options-list/index.css +13 -13
- package/esm/components/virtual-options-list/index.module.css.js +1 -1
- package/esm/hooks/use-native-scrollbar.d.ts +4 -0
- package/esm/hooks/use-native-scrollbar.js +29 -0
- package/esm/hooks/use-native-scrollbar.js.map +1 -0
- package/esm/presets/useSelectWithApply/hook.d.ts +137 -5
- package/esm/presets/useSelectWithApply/options-list-with-apply/Component.d.ts +69 -3
- package/esm/presets/useSelectWithApply/options-list-with-apply/footer/index.css +3 -3
- package/esm/presets/useSelectWithApply/options-list-with-apply/footer/index.module.css.js +1 -1
- package/esm/presets/useSelectWithApply/options-list-with-apply/header/index.css +3 -3
- package/esm/presets/useSelectWithApply/options-list-with-apply/header/index.module.css.js +1 -1
- package/esm/presets/useSelectWithLoading/index.css +1 -1
- package/esm/presets/useSelectWithLoading/index.module.css.js +1 -1
- package/esm/typings.d.ts +1 -1
- package/hooks/use-native-scrollbar.d.ts +4 -0
- package/hooks/use-native-scrollbar.js +33 -0
- package/hooks/use-native-scrollbar.js.map +1 -0
- package/modern/components/arrow/index.css +4 -4
- package/modern/components/arrow/index.module.css.js +1 -1
- package/modern/components/base-checkmark/index.css +5 -5
- package/modern/components/base-checkmark/index.module.css.js +1 -1
- package/modern/components/base-option/index.css +16 -16
- package/modern/components/base-option/index.module.css.js +1 -1
- package/modern/components/base-select/Component.d.ts +1 -1
- package/modern/components/base-select/Component.js +2 -2
- package/modern/components/base-select/Component.js.map +1 -1
- package/modern/components/base-select/index.css +11 -11
- package/modern/components/base-select/index.module.css.js +1 -1
- package/modern/components/base-select/mobile.css +11 -11
- package/modern/components/base-select/mobile.module.css.js +1 -1
- package/modern/components/checkmark/index.css +9 -9
- package/modern/components/checkmark/index.module.css.js +1 -1
- package/modern/components/checkmark-mobile/index.css +5 -5
- package/modern/components/checkmark-mobile/index.module.css.js +1 -1
- package/modern/components/clear-button/index.css +4 -4
- package/modern/components/clear-button/index.module.css.js +1 -1
- package/modern/components/field/index.css +13 -13
- package/modern/components/field/index.module.css.js +1 -1
- package/modern/components/footer/index.css +4 -4
- package/modern/components/footer/index.module.css.js +1 -1
- package/modern/components/optgroup/index.css +4 -4
- package/modern/components/optgroup/index.module.css.js +1 -1
- package/modern/components/option/desktop/index.css +19 -19
- package/modern/components/option/desktop/index.module.css.js +1 -1
- package/modern/components/option/mobile/index.css +16 -16
- package/modern/components/option/mobile/index.module.css.js +1 -1
- package/modern/components/options-list/Component.d.ts +35 -2
- package/modern/components/options-list/Component.js +6 -6
- package/modern/components/options-list/Component.js.map +1 -1
- package/modern/components/options-list/index.css +9 -9
- package/modern/components/options-list/index.module.css.js +1 -1
- package/modern/components/search/Component.js +17 -1
- package/modern/components/search/Component.js.map +1 -1
- package/modern/components/search/index.css +1 -1
- package/modern/components/search/index.module.css.js +1 -1
- package/modern/components/virtual-options-list/Component.d.ts +35 -2
- package/modern/components/virtual-options-list/Component.js +6 -7
- package/modern/components/virtual-options-list/Component.js.map +1 -1
- package/modern/components/virtual-options-list/index.css +13 -13
- package/modern/components/virtual-options-list/index.module.css.js +1 -1
- package/modern/hooks/use-native-scrollbar.d.ts +4 -0
- package/modern/hooks/use-native-scrollbar.js +27 -0
- package/modern/hooks/use-native-scrollbar.js.map +1 -0
- package/modern/presets/useSelectWithApply/hook.d.ts +137 -5
- package/modern/presets/useSelectWithApply/options-list-with-apply/Component.d.ts +69 -3
- package/modern/presets/useSelectWithApply/options-list-with-apply/footer/index.css +3 -3
- package/modern/presets/useSelectWithApply/options-list-with-apply/footer/index.module.css.js +1 -1
- package/modern/presets/useSelectWithApply/options-list-with-apply/header/index.css +3 -3
- package/modern/presets/useSelectWithApply/options-list-with-apply/header/index.module.css.js +1 -1
- package/modern/presets/useSelectWithLoading/index.css +1 -1
- package/modern/presets/useSelectWithLoading/index.module.css.js +1 -1
- package/modern/typings.d.ts +1 -1
- package/moderncssm/components/base-select/Component.d.ts +1 -1
- package/moderncssm/components/base-select/Component.js +2 -2
- package/moderncssm/components/base-select/Component.js.map +1 -1
- package/moderncssm/components/options-list/Component.d.ts +35 -2
- package/moderncssm/components/options-list/Component.js +6 -6
- package/moderncssm/components/options-list/Component.js.map +1 -1
- package/moderncssm/components/search/Component.js +17 -1
- package/moderncssm/components/search/Component.js.map +1 -1
- package/moderncssm/components/virtual-options-list/Component.d.ts +35 -2
- package/moderncssm/components/virtual-options-list/Component.js +6 -7
- package/moderncssm/components/virtual-options-list/Component.js.map +1 -1
- package/moderncssm/hooks/use-native-scrollbar.d.ts +4 -0
- package/moderncssm/hooks/use-native-scrollbar.js +27 -0
- package/moderncssm/hooks/use-native-scrollbar.js.map +1 -0
- package/moderncssm/presets/useSelectWithApply/hook.d.ts +137 -5
- package/moderncssm/presets/useSelectWithApply/options-list-with-apply/Component.d.ts +69 -3
- package/moderncssm/typings.d.ts +1 -1
- package/package.json +4 -4
- package/presets/useSelectWithApply/hook.d.ts +137 -5
- package/presets/useSelectWithApply/options-list-with-apply/Component.d.ts +69 -3
- package/presets/useSelectWithApply/options-list-with-apply/footer/index.css +3 -3
- package/presets/useSelectWithApply/options-list-with-apply/footer/index.module.css.js +1 -1
- package/presets/useSelectWithApply/options-list-with-apply/header/index.css +3 -3
- package/presets/useSelectWithApply/options-list-with-apply/header/index.module.css.js +1 -1
- package/presets/useSelectWithLoading/index.css +1 -1
- package/presets/useSelectWithLoading/index.module.css.js +1 -1
- package/src/components/base-select/Component.tsx +2 -0
- package/src/components/options-list/Component.tsx +6 -8
- package/src/components/search/Component.tsx +29 -10
- package/src/components/virtual-options-list/Component.tsx +6 -9
- package/src/hooks/use-native-scrollbar.ts +36 -0
- package/src/typings.ts +1 -1
- package/typings.d.ts +1 -1
|
@@ -21,12 +21,12 @@
|
|
|
21
21
|
--select-checkmark-unselected-opacity: 0;
|
|
22
22
|
--select-checkmark-background: var(--color-light-neutral-translucent-1300);
|
|
23
23
|
--select-checkmark-border-radius: var(--border-radius-circle);
|
|
24
|
-
} .
|
|
24
|
+
} .select__checkmark_hdr5y {
|
|
25
25
|
flex-shrink: 0;
|
|
26
26
|
margin: var(--select-checkmark-margin);
|
|
27
|
-
} .
|
|
27
|
+
} .select__checkmark_hdr5y.select__after_hdr5y {
|
|
28
28
|
margin: var(--select-checkmark-margin-after);
|
|
29
|
-
} .
|
|
29
|
+
} .select__single_hdr5y {
|
|
30
30
|
display: flex;
|
|
31
31
|
align-items: center;
|
|
32
32
|
justify-content: center;
|
|
@@ -36,17 +36,17 @@
|
|
|
36
36
|
border-radius: var(--select-checkmark-border-radius);
|
|
37
37
|
width: var(--select-checkmark-size);
|
|
38
38
|
height: var(--select-checkmark-size);
|
|
39
|
-
} .
|
|
39
|
+
} .select__single_hdr5y.select__selected_hdr5y {
|
|
40
40
|
opacity: 1;
|
|
41
|
-
} .
|
|
41
|
+
} .select__before_hdr5y {
|
|
42
42
|
display: var(--select-checkmark-before-display);
|
|
43
|
-
} .
|
|
43
|
+
} .select__before_hdr5y.select__multiple_hdr5y {
|
|
44
44
|
margin-right: var(--gap-12);
|
|
45
45
|
display: var(--select-checkmark-before-display-multiple);
|
|
46
|
-
} .
|
|
46
|
+
} .select__after_hdr5y.select__after_hdr5y {
|
|
47
47
|
display: var(--select-checkmark-after-display);
|
|
48
|
-
} .
|
|
48
|
+
} .select__after_hdr5y.select__after_hdr5y.select__single_hdr5y {
|
|
49
49
|
display: var(--select-checkmark-after-display-single);
|
|
50
|
-
} .
|
|
50
|
+
} .select__colorIcon_hdr5y {
|
|
51
51
|
color: var(--color-light-status-positive);
|
|
52
52
|
}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
require('./index.css');
|
|
4
4
|
|
|
5
|
-
var styles = {"checkmark":"
|
|
5
|
+
var styles = {"checkmark":"select__checkmark_hdr5y","after":"select__after_hdr5y","single":"select__single_hdr5y","selected":"select__selected_hdr5y","before":"select__before_hdr5y","multiple":"select__multiple_hdr5y","colorIcon":"select__colorIcon_hdr5y"};
|
|
6
6
|
|
|
7
7
|
module.exports = styles;
|
|
8
8
|
//# sourceMappingURL=index.module.css.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
:root {
|
|
2
2
|
--select-mobile-checkmark-display-icon: block;
|
|
3
3
|
--select-mobile-checkmark-display-badge: none;
|
|
4
|
-
} .
|
|
4
|
+
} .select__checkmark_1hy6t {
|
|
5
5
|
flex-shrink: 0;
|
|
6
6
|
display: flex;
|
|
7
7
|
align-items: center;
|
|
@@ -9,12 +9,12 @@
|
|
|
9
9
|
width: 24px;
|
|
10
10
|
height: 24px;
|
|
11
11
|
opacity: 0;
|
|
12
|
-
} .
|
|
12
|
+
} .select__checkmark_1hy6t:first-child {
|
|
13
13
|
display: none;
|
|
14
|
-
} .
|
|
14
|
+
} .select__checkmark_1hy6t.select__selected_1hy6t {
|
|
15
15
|
opacity: 1;
|
|
16
|
-
} .
|
|
16
|
+
} .select__displayIcon_1hy6t {
|
|
17
17
|
display: var(--select-mobile-checkmark-display-icon);
|
|
18
|
-
} .
|
|
18
|
+
} .select__displayBadge_1hy6t {
|
|
19
19
|
display: var(--select-mobile-checkmark-display-badge);
|
|
20
20
|
}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
require('./index.css');
|
|
4
4
|
|
|
5
|
-
var styles = {"checkmark":"
|
|
5
|
+
var styles = {"checkmark":"select__checkmark_1hy6t","selected":"select__selected_1hy6t","displayIcon":"select__displayIcon_1hy6t"};
|
|
6
6
|
|
|
7
7
|
module.exports = styles;
|
|
8
8
|
//# sourceMappingURL=index.module.css.js.map
|
|
@@ -4,13 +4,13 @@
|
|
|
4
4
|
--color-light-neutral-translucent-500-press: rgba(4, 4, 21, 0.47);
|
|
5
5
|
} :root {
|
|
6
6
|
--input-error-icon-display: none;
|
|
7
|
-
} .
|
|
7
|
+
} .select__clearIcon_up6ji {
|
|
8
8
|
display: block;
|
|
9
9
|
color: var(--color-light-neutral-translucent-500);
|
|
10
|
-
} .
|
|
10
|
+
} .select__clearIcon_up6ji:hover {
|
|
11
11
|
color: var(--color-light-neutral-translucent-500-hover);
|
|
12
|
-
} .
|
|
12
|
+
} .select__clearIcon_up6ji:active {
|
|
13
13
|
color: var(--color-light-neutral-translucent-500-press);
|
|
14
|
-
} .
|
|
14
|
+
} .select__clearButton_up6ji + [data-addon='error-icon'] {
|
|
15
15
|
display: var(--input-error-icon-display);
|
|
16
16
|
}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
require('./index.css');
|
|
4
4
|
|
|
5
|
-
var styles = {"clearIcon":"
|
|
5
|
+
var styles = {"clearIcon":"select__clearIcon_up6ji","clearButton":"select__clearButton_up6ji"};
|
|
6
6
|
|
|
7
7
|
module.exports = styles;
|
|
8
8
|
//# sourceMappingURL=index.module.css.js.map
|
|
@@ -10,22 +10,22 @@
|
|
|
10
10
|
--input-focus-placeholder-color: var(--color-light-text-tertiary);
|
|
11
11
|
} :root {
|
|
12
12
|
--select-arrow-hover-opacity: 0.7;
|
|
13
|
-
} .
|
|
13
|
+
} .select__component_sq3tk {
|
|
14
14
|
width: 100%;
|
|
15
15
|
outline: none;
|
|
16
|
-
} .
|
|
16
|
+
} .select__field_sq3tk:not(.select__disabled_sq3tk) {
|
|
17
17
|
cursor: pointer;
|
|
18
|
-
} .
|
|
18
|
+
} .select__field_sq3tk:not(.select__disabled_sq3tk):hover .select__arrow_sq3tk {
|
|
19
19
|
opacity: var(--select-arrow-hover-opacity);
|
|
20
|
-
} .
|
|
20
|
+
} .select__disabled_sq3tk {
|
|
21
21
|
cursor: var(--disabled-cursor);
|
|
22
|
-
} .
|
|
22
|
+
} .select__placeholder_sq3tk {
|
|
23
23
|
color: var(--input-placeholder-color);
|
|
24
24
|
transition: color 0.2s ease;
|
|
25
|
-
animation: select__show-
|
|
26
|
-
} .
|
|
25
|
+
animation: select__show-placeholder_sq3tk 0.2s ease;
|
|
26
|
+
} .select__placeholder_sq3tk.select__focused_sq3tk {
|
|
27
27
|
color: var(--input-focus-placeholder-color);
|
|
28
|
-
} .
|
|
28
|
+
} .select__contentWrapper_sq3tk {
|
|
29
29
|
font-size: 16px;
|
|
30
30
|
line-height: 20px;
|
|
31
31
|
font-weight: 400;
|
|
@@ -34,22 +34,22 @@
|
|
|
34
34
|
text-overflow: ellipsis;
|
|
35
35
|
overflow: hidden;
|
|
36
36
|
width: 100%;
|
|
37
|
-
} .
|
|
37
|
+
} .select__contentWrapper_sq3tk.select__size-40_sq3tk {
|
|
38
38
|
font-size: 14px;
|
|
39
39
|
line-height: 18px;
|
|
40
40
|
font-weight: 400;
|
|
41
|
-
} .
|
|
41
|
+
} .select__value_sq3tk {
|
|
42
42
|
overflow: hidden;
|
|
43
43
|
text-overflow: ellipsis;
|
|
44
44
|
text-align: left;
|
|
45
|
-
} .
|
|
45
|
+
} .select__value_sq3tk.select__size-40_sq3tk {
|
|
46
46
|
font-size: 14px;
|
|
47
47
|
line-height: 18px;
|
|
48
48
|
font-weight: 400;
|
|
49
|
-
} .
|
|
49
|
+
} .select__focusVisible_sq3tk {
|
|
50
50
|
outline: 2px solid var(--focus-color);
|
|
51
51
|
outline-offset: 2px;
|
|
52
|
-
} @keyframes select__show-
|
|
52
|
+
} @keyframes select__show-placeholder_sq3tk {
|
|
53
53
|
from {
|
|
54
54
|
opacity: 0;
|
|
55
55
|
}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
require('./index.css');
|
|
4
4
|
|
|
5
|
-
var styles = {"component":"
|
|
5
|
+
var styles = {"component":"select__component_sq3tk","field":"select__field_sq3tk","disabled":"select__disabled_sq3tk","arrow":"select__arrow_sq3tk","placeholder":"select__placeholder_sq3tk","show-placeholder":"select__show-placeholder_sq3tk","focused":"select__focused_sq3tk","contentWrapper":"select__contentWrapper_sq3tk","size-40":"select__size-40_sq3tk","value":"select__value_sq3tk","focusVisible":"select__focusVisible_sq3tk"};
|
|
6
6
|
|
|
7
7
|
module.exports = styles;
|
|
8
8
|
//# sourceMappingURL=index.module.css.js.map
|
|
@@ -4,17 +4,17 @@
|
|
|
4
4
|
} :root {
|
|
5
5
|
--gap-m: 16px;
|
|
6
6
|
--gap-16: var(--gap-m);
|
|
7
|
-
} .
|
|
7
|
+
} .select__footer_n21cb {
|
|
8
8
|
display: flex;
|
|
9
9
|
box-sizing: border-box;
|
|
10
10
|
width: 100%;
|
|
11
11
|
padding: var(--gap-16) var(--gap-16);
|
|
12
12
|
background-color: var(--color-light-modal-bg-primary);
|
|
13
|
-
} .
|
|
13
|
+
} .select__footer_n21cb .select__button_n21cb:first-of-type {
|
|
14
14
|
margin-right: var(--gap-16);
|
|
15
|
-
} .
|
|
15
|
+
} .select__button_n21cb {
|
|
16
16
|
width: 50%;
|
|
17
|
-
} .
|
|
17
|
+
} .select__highlighted_n21cb {
|
|
18
18
|
border-top: 1px solid var(--color-light-neutral-300);
|
|
19
19
|
background-color: var(--color-light-modal-bg-primary);
|
|
20
20
|
}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
require('./index.css');
|
|
4
4
|
|
|
5
|
-
var styles = {"footer":"
|
|
5
|
+
var styles = {"footer":"select__footer_n21cb","button":"select__button_n21cb","highlighted":"select__highlighted_n21cb"};
|
|
6
6
|
|
|
7
7
|
module.exports = styles;
|
|
8
8
|
//# sourceMappingURL=index.module.css.js.map
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
--select-optgroup-right-padding: var(--gap-12);
|
|
17
17
|
--select-optgroup-l-left-padding: var(--gap-16);
|
|
18
18
|
--select-optgroup-l-right-padding: var(--gap-16);
|
|
19
|
-
} .
|
|
19
|
+
} .select__optgroup_r7juz {
|
|
20
20
|
position: relative;
|
|
21
21
|
display: flex;
|
|
22
22
|
align-items: center;
|
|
@@ -25,9 +25,9 @@
|
|
|
25
25
|
box-sizing: border-box;
|
|
26
26
|
background: var(--select-optgroup-background);
|
|
27
27
|
min-height: 40px;
|
|
28
|
-
} .
|
|
28
|
+
} .select__optgroup_r7juz + *[role='option']:before {
|
|
29
29
|
display: none;
|
|
30
|
-
} .
|
|
30
|
+
} .select__label_r7juz {
|
|
31
31
|
font-size: 12px;
|
|
32
32
|
line-height: 16px;
|
|
33
33
|
font-weight: 500;
|
|
@@ -36,7 +36,7 @@
|
|
|
36
36
|
|
|
37
37
|
display: block;
|
|
38
38
|
color: var(--select-optgroup-color);
|
|
39
|
-
} .select__size-
|
|
39
|
+
} .select__size-72_r7juz {
|
|
40
40
|
padding-left: var(--select-optgroup-l-left-padding);
|
|
41
41
|
padding-right: var(--select-optgroup-l-right-padding);
|
|
42
42
|
}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
require('./index.css');
|
|
4
4
|
|
|
5
|
-
var styles = {"optgroup":"
|
|
5
|
+
var styles = {"optgroup":"select__optgroup_r7juz","label":"select__label_r7juz","size-72":"select__size-72_r7juz"};
|
|
6
6
|
|
|
7
7
|
module.exports = styles;
|
|
8
8
|
//# sourceMappingURL=index.module.css.js.map
|
|
@@ -35,7 +35,7 @@
|
|
|
35
35
|
--select-option-hover-color: var(--color-light-text-primary);
|
|
36
36
|
--select-option-active-color: var(--color-light-text-primary);
|
|
37
37
|
--select-option-disabled-color: var(--color-light-text-secondary);
|
|
38
|
-
} .
|
|
38
|
+
} .select__option_kqgr6 {
|
|
39
39
|
font-size: 16px;
|
|
40
40
|
line-height: 20px;
|
|
41
41
|
font-weight: 400;
|
|
@@ -50,10 +50,10 @@
|
|
|
50
50
|
box-sizing: border-box;
|
|
51
51
|
position: relative;
|
|
52
52
|
cursor: pointer;
|
|
53
|
-
} .
|
|
53
|
+
} .select__option_kqgr6:not(.select__disabled_kqgr6):active {
|
|
54
54
|
background: var(--select-option-active-background);
|
|
55
55
|
color: var(--select-option-active-color);
|
|
56
|
-
} .
|
|
56
|
+
} .select__option_kqgr6:before {
|
|
57
57
|
content: '';
|
|
58
58
|
position: absolute;
|
|
59
59
|
left: var(--select-option-left-padding);
|
|
@@ -63,46 +63,46 @@
|
|
|
63
63
|
background: var(--select-option-divider-background);
|
|
64
64
|
display: var(--select-option-divider-display);
|
|
65
65
|
transition: opacity 0.2s ease;
|
|
66
|
-
} .
|
|
66
|
+
} .select__option_kqgr6:first-child:before {
|
|
67
67
|
display: none;
|
|
68
|
-
} .select__size-
|
|
68
|
+
} .select__size-48_kqgr6 {
|
|
69
69
|
min-height: var(--size-s-height);
|
|
70
|
-
} .select__size-
|
|
70
|
+
} .select__size-56_kqgr6 {
|
|
71
71
|
min-height: var(--size-m-height);
|
|
72
|
-
} .select__size-
|
|
72
|
+
} .select__size-64_kqgr6 {
|
|
73
73
|
min-height: var(--size-l-height);
|
|
74
|
-
} .select__size-
|
|
74
|
+
} .select__size-72_kqgr6 {
|
|
75
75
|
min-height: var(--size-xl-height);
|
|
76
76
|
padding-left: var(--select-option-l-left-padding);
|
|
77
77
|
padding-right: var(--select-option-l-right-padding);
|
|
78
|
-
} .select__size-
|
|
78
|
+
} .select__size-72_kqgr6:before {
|
|
79
79
|
left: var(--select-option-l-left-padding);
|
|
80
80
|
right: var(--select-option-l-right-padding);
|
|
81
|
-
} .
|
|
81
|
+
} .select__selected_kqgr6 {
|
|
82
82
|
background: var(--select-option-selected-background);
|
|
83
83
|
color: var(--select-option-selected-color);
|
|
84
84
|
cursor: default;
|
|
85
|
-
} .
|
|
85
|
+
} .select__highlighted_kqgr6 {
|
|
86
86
|
background: var(--select-option-hover-background);
|
|
87
87
|
color: var(--select-option-hover-color);
|
|
88
|
-
} .
|
|
89
|
-
.
|
|
88
|
+
} .select__highlighted_kqgr6:before,
|
|
89
|
+
.select__highlighted_kqgr6 + .select__option_kqgr6:before {
|
|
90
90
|
opacity: 0;
|
|
91
|
-
} .
|
|
91
|
+
} .select__disabled_kqgr6 {
|
|
92
92
|
cursor: var(--disabled-cursor);
|
|
93
93
|
background: var(--select-option-disabled-background);
|
|
94
94
|
color: var(--select-option-disabled-color);
|
|
95
|
-
} .
|
|
95
|
+
} .select__content_kqgr6 {
|
|
96
96
|
overflow: hidden;
|
|
97
97
|
flex: 1;
|
|
98
98
|
text-overflow: ellipsis;
|
|
99
|
-
} .
|
|
99
|
+
} .select__textContent_kqgr6 {
|
|
100
100
|
padding-top: var(--gap-12);
|
|
101
101
|
padding-bottom: var(--gap-12);
|
|
102
|
-
} .
|
|
102
|
+
} .select__highlighted_kqgr6 {
|
|
103
103
|
background: var(--select-option-hover-background);
|
|
104
104
|
color: var(--select-option-hover-color);
|
|
105
|
-
} .
|
|
106
|
-
.
|
|
105
|
+
} .select__highlighted_kqgr6:before,
|
|
106
|
+
.select__highlighted_kqgr6 + .select__option_kqgr6:before {
|
|
107
107
|
opacity: 0;
|
|
108
108
|
}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
require('./index.css');
|
|
4
4
|
|
|
5
|
-
var styles = {"option":"
|
|
5
|
+
var styles = {"option":"select__option_kqgr6","disabled":"select__disabled_kqgr6","size-48":"select__size-48_kqgr6","size-56":"select__size-56_kqgr6","size-64":"select__size-64_kqgr6","size-72":"select__size-72_kqgr6","selected":"select__selected_kqgr6","highlighted":"select__highlighted_kqgr6","content":"select__content_kqgr6","textContent":"select__textContent_kqgr6"};
|
|
6
6
|
|
|
7
7
|
module.exports = styles;
|
|
8
8
|
//# sourceMappingURL=index.module.css.js.map
|
|
@@ -35,7 +35,7 @@
|
|
|
35
35
|
--select-option-hover-color: var(--color-light-text-primary);
|
|
36
36
|
--select-option-active-color: var(--color-light-text-primary);
|
|
37
37
|
--select-option-disabled-color: var(--color-light-text-secondary);
|
|
38
|
-
} .
|
|
38
|
+
} .select__option_lioo6 {
|
|
39
39
|
font-size: 16px;
|
|
40
40
|
line-height: 20px;
|
|
41
41
|
font-weight: 400;
|
|
@@ -50,10 +50,10 @@
|
|
|
50
50
|
box-sizing: border-box;
|
|
51
51
|
position: relative;
|
|
52
52
|
cursor: pointer;
|
|
53
|
-
} .
|
|
53
|
+
} .select__option_lioo6:not(.select__disabled_lioo6):active {
|
|
54
54
|
background: var(--select-option-active-background);
|
|
55
55
|
color: var(--select-option-active-color);
|
|
56
|
-
} .
|
|
56
|
+
} .select__option_lioo6:before {
|
|
57
57
|
content: '';
|
|
58
58
|
position: absolute;
|
|
59
59
|
left: var(--select-option-left-padding);
|
|
@@ -63,40 +63,40 @@
|
|
|
63
63
|
background: var(--select-option-divider-background);
|
|
64
64
|
display: var(--select-option-divider-display);
|
|
65
65
|
transition: opacity 0.2s ease;
|
|
66
|
-
} .
|
|
66
|
+
} .select__option_lioo6:first-child:before {
|
|
67
67
|
display: none;
|
|
68
|
-
} .select__size-
|
|
68
|
+
} .select__size-48_lioo6 {
|
|
69
69
|
min-height: var(--size-s-height);
|
|
70
|
-
} .select__size-
|
|
70
|
+
} .select__size-56_lioo6 {
|
|
71
71
|
min-height: var(--size-m-height);
|
|
72
|
-
} .select__size-
|
|
72
|
+
} .select__size-64_lioo6 {
|
|
73
73
|
min-height: var(--size-l-height);
|
|
74
|
-
} .select__size-
|
|
74
|
+
} .select__size-72_lioo6 {
|
|
75
75
|
min-height: var(--size-xl-height);
|
|
76
76
|
padding-left: var(--select-option-l-left-padding);
|
|
77
77
|
padding-right: var(--select-option-l-right-padding);
|
|
78
|
-
} .select__size-
|
|
78
|
+
} .select__size-72_lioo6:before {
|
|
79
79
|
left: var(--select-option-l-left-padding);
|
|
80
80
|
right: var(--select-option-l-right-padding);
|
|
81
|
-
} .
|
|
81
|
+
} .select__selected_lioo6 {
|
|
82
82
|
background: var(--select-option-selected-background);
|
|
83
83
|
color: var(--select-option-selected-color);
|
|
84
84
|
cursor: default;
|
|
85
|
-
} .
|
|
85
|
+
} .select__highlighted_lioo6 {
|
|
86
86
|
background: var(--select-option-hover-background);
|
|
87
87
|
color: var(--select-option-hover-color);
|
|
88
|
-
} .
|
|
89
|
-
.
|
|
88
|
+
} .select__highlighted_lioo6:before,
|
|
89
|
+
.select__highlighted_lioo6 + .select__option_lioo6:before {
|
|
90
90
|
opacity: 0;
|
|
91
|
-
} .
|
|
91
|
+
} .select__disabled_lioo6 {
|
|
92
92
|
cursor: var(--disabled-cursor);
|
|
93
93
|
background: var(--select-option-disabled-background);
|
|
94
94
|
color: var(--select-option-disabled-color);
|
|
95
|
-
} .
|
|
95
|
+
} .select__content_lioo6 {
|
|
96
96
|
overflow: hidden;
|
|
97
97
|
flex: 1;
|
|
98
98
|
text-overflow: ellipsis;
|
|
99
|
-
} .
|
|
99
|
+
} .select__textContent_lioo6 {
|
|
100
100
|
padding-top: var(--gap-12);
|
|
101
101
|
padding-bottom: var(--gap-12);
|
|
102
102
|
}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
require('./index.css');
|
|
4
4
|
|
|
5
|
-
var styles = {"option":"
|
|
5
|
+
var styles = {"option":"select__option_lioo6","disabled":"select__disabled_lioo6","size-48":"select__size-48_lioo6","size-56":"select__size-56_lioo6","size-64":"select__size-64_lioo6","size-72":"select__size-72_lioo6","selected":"select__selected_lioo6","highlighted":"select__highlighted_lioo6","content":"select__content_lioo6","textContent":"select__textContent_lioo6"};
|
|
6
6
|
|
|
7
7
|
module.exports = styles;
|
|
8
8
|
//# sourceMappingURL=index.module.css.js.map
|
|
@@ -1,3 +1,36 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import { type
|
|
3
|
-
export declare const OptionsList: React.ForwardRefExoticComponent<
|
|
2
|
+
import { type GroupShape, type OptionShape } from '../../typings';
|
|
3
|
+
export declare const OptionsList: React.ForwardRefExoticComponent<Pick<import("../../typings").SelectProps, "client"> & {
|
|
4
|
+
className?: string | undefined;
|
|
5
|
+
optionGroupClassName?: string | undefined;
|
|
6
|
+
scrollbarClassName?: string | undefined;
|
|
7
|
+
footerClassName?: string | undefined;
|
|
8
|
+
size?: "s" | "m" | "l" | "xl" | 40 | 48 | 56 | 64 | 72 | undefined;
|
|
9
|
+
Option: React.ComponentType<import("../../typings").OptionProps>;
|
|
10
|
+
getOptionProps: (option: OptionShape, index: number) => import("../../typings").OptionProps;
|
|
11
|
+
groupOptionProps?: import("../../typings").AnyObject | undefined;
|
|
12
|
+
selectedItems?: OptionShape[] | undefined;
|
|
13
|
+
setSelectedItems: (selected: OptionShape[]) => void;
|
|
14
|
+
toggleMenu: () => void;
|
|
15
|
+
header?: React.ReactNode;
|
|
16
|
+
footer?: React.ReactNode;
|
|
17
|
+
options?: (OptionShape | GroupShape)[] | undefined;
|
|
18
|
+
flatOptions?: OptionShape[] | undefined;
|
|
19
|
+
highlightedIndex?: number | undefined;
|
|
20
|
+
open?: boolean | undefined;
|
|
21
|
+
Optgroup?: React.ComponentType<import("../../typings").OptgroupProps> | undefined;
|
|
22
|
+
emptyPlaceholder?: React.ReactNode;
|
|
23
|
+
visibleOptions?: number | undefined;
|
|
24
|
+
onScroll?: ((event: React.MouseEvent<HTMLDivElement, MouseEvent>) => void) | undefined;
|
|
25
|
+
dataTestId?: string | undefined;
|
|
26
|
+
inputProps?: import("@alfalab/core-components-input").InputProps | undefined;
|
|
27
|
+
showFooter?: boolean | undefined;
|
|
28
|
+
nativeScrollbar?: boolean | undefined;
|
|
29
|
+
optionsListWidth?: "field" | "content" | undefined;
|
|
30
|
+
onApply?: (() => void) | undefined;
|
|
31
|
+
onClear?: (() => void) | undefined;
|
|
32
|
+
setHighlightedIndex?: ((index: number) => void) | undefined;
|
|
33
|
+
search?: string | undefined;
|
|
34
|
+
multiple?: boolean | undefined;
|
|
35
|
+
limitDynamicOptionGroupSize?: boolean | undefined;
|
|
36
|
+
} & React.RefAttributes<HTMLDivElement>>;
|
|
@@ -6,10 +6,9 @@ var tslib = require('tslib');
|
|
|
6
6
|
var React = require('react');
|
|
7
7
|
var mergeRefs = require('react-merge-refs');
|
|
8
8
|
var cn = require('classnames');
|
|
9
|
-
var coreComponentsMq = require('@alfalab/core-components-mq');
|
|
10
9
|
var coreComponentsScrollbar = require('@alfalab/core-components-scrollbar');
|
|
11
|
-
var coreComponentsShared = require('@alfalab/core-components-shared');
|
|
12
10
|
var consts = require('../../consts.js');
|
|
11
|
+
var useNativeScrollbar = require('../../hooks/use-native-scrollbar.js');
|
|
13
12
|
var utils = require('../../utils.js');
|
|
14
13
|
var Component = require('../optgroup/Component.js');
|
|
15
14
|
var index_module = require('./index.module.css.js');
|
|
@@ -27,14 +26,13 @@ var createCounter = function () {
|
|
|
27
26
|
};
|
|
28
27
|
var OptionsList = React.forwardRef(function (_a, ref) {
|
|
29
28
|
var _b, _c;
|
|
30
|
-
var _d = _a.size, size = _d === void 0 ? 48 : _d, className = _a.className, optionGroupClassName = _a.optionGroupClassName, footerClassName = _a.footerClassName, scrollbarClassName = _a.scrollbarClassName, Option = _a.Option, getOptionProps = _a.getOptionProps, _e = _a.groupOptionProps, groupOptionProps = _e === void 0 ? {} : _e, _f = _a.options, options = _f === void 0 ? [] : _f, _g = _a.Optgroup, Optgroup = _g === void 0 ? Component.Optgroup : _g, dataTestId = _a.dataTestId, emptyPlaceholder = _a.emptyPlaceholder, _h = _a.visibleOptions, visibleOptions = _h === void 0 ? consts.DEFAULT_VISIBLE_OPTIONS : _h, onScroll = _a.onScroll, open = _a.open, header = _a.header, footer = _a.footer, _j = _a.showFooter, showFooter = _j === void 0 ? true : _j, optionsListWidth = _a.optionsListWidth, nativeScrollbarProp = _a.nativeScrollbar, _k = _a.flatOptions, flatOptions = _k === void 0 ? [] : _k, setHighlightedIndex = _a.setHighlightedIndex, selectedItems = _a.selectedItems, search = _a.search, setSelectedItems = _a.setSelectedItems, multiple = _a.multiple, _l = _a.limitDynamicOptionGroupSize, limitDynamicOptionGroupSize = _l === void 0 ? false : _l;
|
|
29
|
+
var _d = _a.size, size = _d === void 0 ? 48 : _d, className = _a.className, optionGroupClassName = _a.optionGroupClassName, footerClassName = _a.footerClassName, scrollbarClassName = _a.scrollbarClassName, Option = _a.Option, getOptionProps = _a.getOptionProps, _e = _a.groupOptionProps, groupOptionProps = _e === void 0 ? {} : _e, _f = _a.options, options = _f === void 0 ? [] : _f, _g = _a.Optgroup, Optgroup = _g === void 0 ? Component.Optgroup : _g, dataTestId = _a.dataTestId, emptyPlaceholder = _a.emptyPlaceholder, _h = _a.visibleOptions, visibleOptions = _h === void 0 ? consts.DEFAULT_VISIBLE_OPTIONS : _h, onScroll = _a.onScroll, open = _a.open, header = _a.header, footer = _a.footer, _j = _a.showFooter, showFooter = _j === void 0 ? true : _j, optionsListWidth = _a.optionsListWidth, nativeScrollbarProp = _a.nativeScrollbar, _k = _a.flatOptions, flatOptions = _k === void 0 ? [] : _k, setHighlightedIndex = _a.setHighlightedIndex, selectedItems = _a.selectedItems, search = _a.search, setSelectedItems = _a.setSelectedItems, multiple = _a.multiple, _l = _a.limitDynamicOptionGroupSize, limitDynamicOptionGroupSize = _l === void 0 ? false : _l, client = _a.client;
|
|
31
30
|
var _m = React.useState(true), scrollTop = _m[0], setScrollTop = _m[1];
|
|
32
31
|
var _o = React.useState(false), scrollBottom = _o[0], setScrollBottom = _o[1];
|
|
33
|
-
var
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
})
|
|
37
|
-
nativeScrollbar = Boolean(nativeScrollbarProp !== null && nativeScrollbarProp !== void 0 ? nativeScrollbarProp : nativeScrollbar);
|
|
32
|
+
var nativeScrollbar = useNativeScrollbar.useNativeScrollbar({
|
|
33
|
+
nativeScrollbar: nativeScrollbarProp,
|
|
34
|
+
client: client,
|
|
35
|
+
});
|
|
38
36
|
var handleScroll = React.useCallback(function (event) {
|
|
39
37
|
var scrolledToHeader = event.currentTarget.scrollTop <= 0;
|
|
40
38
|
var scrolledToFooter = event.currentTarget.scrollHeight - event.currentTarget.offsetHeight <=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Component.js","sources":["../../src/components/options-list/Component.tsx"],"sourcesContent":["import React, { forwardRef, useCallback, useRef, useState } from 'react';\nimport mergeRefs from 'react-merge-refs';\nimport cn from 'classnames';\n\nimport { useMatchMedia } from '@alfalab/core-components-mq';\nimport { Scrollbar } from '@alfalab/core-components-scrollbar';\nimport { isClient } from '@alfalab/core-components-shared';\n\nimport { DEFAULT_VISIBLE_OPTIONS, SIZE_TO_CLASSNAME_MAP } from '../../consts';\nimport { type GroupShape, type OptionShape, type OptionsListProps } from '../../typings';\nimport { isGroup, useVisibleOptions } from '../../utils';\nimport { Optgroup as DefaultOptgroup } from '../optgroup';\n\nimport styles from './index.module.css';\n\nconst createCounter = () => {\n let count = 0;\n\n // eslint-disable-next-line no-plusplus\n return () => count++;\n};\n\nexport const OptionsList = forwardRef<HTMLDivElement, OptionsListProps>(\n (\n {\n size = 48,\n className,\n optionGroupClassName,\n footerClassName,\n scrollbarClassName,\n Option,\n getOptionProps,\n groupOptionProps = {},\n options = [],\n Optgroup = DefaultOptgroup,\n dataTestId,\n emptyPlaceholder,\n visibleOptions = DEFAULT_VISIBLE_OPTIONS,\n onScroll,\n open,\n header,\n footer,\n showFooter = true,\n optionsListWidth,\n nativeScrollbar: nativeScrollbarProp,\n flatOptions = [],\n setHighlightedIndex,\n selectedItems,\n search,\n setSelectedItems,\n multiple,\n limitDynamicOptionGroupSize = false,\n },\n ref,\n ) => {\n const [scrollTop, setScrollTop] = useState(true);\n const [scrollBottom, setScrollBottom] = useState(false);\n\n const query = '(max-width: 1023px)';\n let [nativeScrollbar] = useMatchMedia(query, () =>\n isClient() ? window.matchMedia(query).matches : true,\n );\n\n nativeScrollbar = Boolean(nativeScrollbarProp ?? nativeScrollbar);\n\n const handleScroll = useCallback(\n (event: React.MouseEvent<HTMLDivElement, MouseEvent>) => {\n const scrolledToHeader = event.currentTarget.scrollTop <= 0;\n const scrolledToFooter =\n event.currentTarget.scrollHeight - event.currentTarget.offsetHeight <=\n event.currentTarget.scrollTop;\n\n setScrollTop(scrolledToHeader);\n setScrollBottom(scrolledToFooter);\n\n onScroll?.(event);\n },\n [onScroll],\n );\n\n const renderOption = (option: OptionShape, index: number) => (\n <Option key={option.key} {...getOptionProps(option, index)} />\n );\n\n const listRef = useRef<HTMLDivElement>(null);\n const scrollbarRef = useRef<HTMLDivElement>(null);\n const counter = createCounter();\n const renderGroup = (group: GroupShape) => {\n const groupSelectedItems = selectedItems?.filter(({ key: selectedItemKey }) =>\n group.options.some((option) => option.key === selectedItemKey),\n );\n const handleSelectedItems = (items: OptionShape[]) => {\n setSelectedItems(\n (\n selectedItems?.filter(\n ({ key: selectedItemKey }) =>\n !group.options.some((option) => option.key === selectedItemKey),\n ) ?? []\n ).concat(items),\n );\n };\n\n return (\n <Optgroup\n className={optionGroupClassName}\n label={group.label}\n key={group.label}\n size={size}\n options={group.options}\n selectedItems={groupSelectedItems}\n setSelectedItems={handleSelectedItems}\n search={search}\n multiple={multiple}\n {...groupOptionProps}\n >\n {group.options.map((option) => renderOption(option, counter()))}\n </Optgroup>\n );\n };\n\n const actualOptionsCount = limitDynamicOptionGroupSize && options.length > 0;\n\n const [measured, height] = useVisibleOptions({\n visibleOptions,\n listRef,\n open,\n options,\n actualOptionsCount,\n size: actualOptionsCount\n ? (() => {\n switch (typeof size) {\n case 'string':\n throw new Error(\n 'OptionsList with `limitDynamicOptionGroupSize` enabled needs a `size` with number type',\n );\n default:\n return size;\n }\n })()\n : undefined,\n });\n\n if (options.length === 0 && !emptyPlaceholder && !header && !footer) {\n return null;\n }\n\n const renderListItems = () => (\n <React.Fragment>\n {options.map((option) =>\n isGroup(option) ? renderGroup(option) : renderOption(option, counter()),\n )}\n\n {emptyPlaceholder && options.length === 0 && (\n <div className={styles.emptyPlaceholder}>{emptyPlaceholder}</div>\n )}\n </React.Fragment>\n );\n\n const renderWithCustomScrollbar = () => {\n const scrollableNodeProps = {\n onScroll: handleScroll,\n 'data-test-id': dataTestId,\n ref: ref as React.RefObject<HTMLDivElement>,\n };\n\n return (\n <Scrollbar\n className={cn(styles.scrollable, scrollbarClassName)}\n ref={scrollbarRef}\n style={{ height }}\n horizontalAutoStretch={optionsListWidth === 'content'}\n scrollableNodeProps={scrollableNodeProps}\n contentNodeProps={{ ref: listRef }}\n maskProps={{\n /*\n * Для корректного подсчета высоты опций(иначе для optionsListWidth: 'field'\n * высота опции всегда будет равна высоте одной строчки)\n */\n className: cn({\n [styles.mask]: optionsListWidth === 'content' && !measured,\n }),\n }}\n >\n {renderListItems()}\n </Scrollbar>\n );\n };\n\n const renderWithNativeScrollbar = () => (\n <div\n className={cn(styles.scrollable, scrollbarClassName)}\n ref={mergeRefs([listRef, ref])}\n onScroll={handleScroll}\n style={{ height }}\n >\n {renderListItems()}\n </div>\n );\n\n const resetHighlightedIndex = () => setHighlightedIndex?.(-1);\n\n return (\n <div\n {...(nativeScrollbar && { 'data-test-id': dataTestId })}\n className={cn(styles.optionsList, styles[SIZE_TO_CLASSNAME_MAP[size]], className)}\n >\n {header && (\n <div\n className={cn(styles.optionsListHeader, {\n [styles.headerHighlighted]: !scrollTop,\n })}\n onMouseEnter={resetHighlightedIndex}\n >\n {header}\n </div>\n )}\n\n {nativeScrollbar ? renderWithNativeScrollbar() : renderWithCustomScrollbar()}\n\n {showFooter && footer && (\n <div\n onMouseEnter={resetHighlightedIndex}\n className={cn(styles.optionsListFooter, footerClassName, {\n [styles.withBorder]:\n visibleOptions &&\n flatOptions.length > visibleOptions &&\n !scrollBottom,\n })}\n >\n {footer}\n </div>\n )}\n </div>\n );\n },\n);\n"],"names":["forwardRef","DefaultOptgroup","DEFAULT_VISIBLE_OPTIONS","useState","useMatchMedia","isClient","useCallback","React","__assign","useRef","useVisibleOptions","isGroup","styles","Scrollbar","cn","mergeRefs","SIZE_TO_CLASSNAME_MAP"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Component.js","sources":["../../src/components/options-list/Component.tsx"],"sourcesContent":["import React, { forwardRef, useCallback, useRef, useState } from 'react';\nimport mergeRefs from 'react-merge-refs';\nimport cn from 'classnames';\n\nimport { Scrollbar } from '@alfalab/core-components-scrollbar';\n\nimport { DEFAULT_VISIBLE_OPTIONS, SIZE_TO_CLASSNAME_MAP } from '../../consts';\nimport { useNativeScrollbar } from '../../hooks/use-native-scrollbar';\nimport { type GroupShape, type OptionShape, type OptionsListProps } from '../../typings';\nimport { isGroup, useVisibleOptions } from '../../utils';\nimport { Optgroup as DefaultOptgroup } from '../optgroup';\n\nimport styles from './index.module.css';\n\nconst createCounter = () => {\n let count = 0;\n\n // eslint-disable-next-line no-plusplus\n return () => count++;\n};\n\nexport const OptionsList = forwardRef<HTMLDivElement, OptionsListProps>(\n (\n {\n size = 48,\n className,\n optionGroupClassName,\n footerClassName,\n scrollbarClassName,\n Option,\n getOptionProps,\n groupOptionProps = {},\n options = [],\n Optgroup = DefaultOptgroup,\n dataTestId,\n emptyPlaceholder,\n visibleOptions = DEFAULT_VISIBLE_OPTIONS,\n onScroll,\n open,\n header,\n footer,\n showFooter = true,\n optionsListWidth,\n nativeScrollbar: nativeScrollbarProp,\n flatOptions = [],\n setHighlightedIndex,\n selectedItems,\n search,\n setSelectedItems,\n multiple,\n limitDynamicOptionGroupSize = false,\n client,\n },\n ref,\n ) => {\n const [scrollTop, setScrollTop] = useState(true);\n const [scrollBottom, setScrollBottom] = useState(false);\n\n const nativeScrollbar = useNativeScrollbar({\n nativeScrollbar: nativeScrollbarProp,\n client,\n });\n\n const handleScroll = useCallback(\n (event: React.MouseEvent<HTMLDivElement, MouseEvent>) => {\n const scrolledToHeader = event.currentTarget.scrollTop <= 0;\n const scrolledToFooter =\n event.currentTarget.scrollHeight - event.currentTarget.offsetHeight <=\n event.currentTarget.scrollTop;\n\n setScrollTop(scrolledToHeader);\n setScrollBottom(scrolledToFooter);\n\n onScroll?.(event);\n },\n [onScroll],\n );\n\n const renderOption = (option: OptionShape, index: number) => (\n <Option key={option.key} {...getOptionProps(option, index)} />\n );\n\n const listRef = useRef<HTMLDivElement>(null);\n const scrollbarRef = useRef<HTMLDivElement>(null);\n const counter = createCounter();\n const renderGroup = (group: GroupShape) => {\n const groupSelectedItems = selectedItems?.filter(({ key: selectedItemKey }) =>\n group.options.some((option) => option.key === selectedItemKey),\n );\n const handleSelectedItems = (items: OptionShape[]) => {\n setSelectedItems(\n (\n selectedItems?.filter(\n ({ key: selectedItemKey }) =>\n !group.options.some((option) => option.key === selectedItemKey),\n ) ?? []\n ).concat(items),\n );\n };\n\n return (\n <Optgroup\n className={optionGroupClassName}\n label={group.label}\n key={group.label}\n size={size}\n options={group.options}\n selectedItems={groupSelectedItems}\n setSelectedItems={handleSelectedItems}\n search={search}\n multiple={multiple}\n {...groupOptionProps}\n >\n {group.options.map((option) => renderOption(option, counter()))}\n </Optgroup>\n );\n };\n\n const actualOptionsCount = limitDynamicOptionGroupSize && options.length > 0;\n\n const [measured, height] = useVisibleOptions({\n visibleOptions,\n listRef,\n open,\n options,\n actualOptionsCount,\n size: actualOptionsCount\n ? (() => {\n switch (typeof size) {\n case 'string':\n throw new Error(\n 'OptionsList with `limitDynamicOptionGroupSize` enabled needs a `size` with number type',\n );\n default:\n return size;\n }\n })()\n : undefined,\n });\n\n if (options.length === 0 && !emptyPlaceholder && !header && !footer) {\n return null;\n }\n\n const renderListItems = () => (\n <React.Fragment>\n {options.map((option) =>\n isGroup(option) ? renderGroup(option) : renderOption(option, counter()),\n )}\n\n {emptyPlaceholder && options.length === 0 && (\n <div className={styles.emptyPlaceholder}>{emptyPlaceholder}</div>\n )}\n </React.Fragment>\n );\n\n const renderWithCustomScrollbar = () => {\n const scrollableNodeProps = {\n onScroll: handleScroll,\n 'data-test-id': dataTestId,\n ref: ref as React.RefObject<HTMLDivElement>,\n };\n\n return (\n <Scrollbar\n className={cn(styles.scrollable, scrollbarClassName)}\n ref={scrollbarRef}\n style={{ height }}\n horizontalAutoStretch={optionsListWidth === 'content'}\n scrollableNodeProps={scrollableNodeProps}\n contentNodeProps={{ ref: listRef }}\n maskProps={{\n /*\n * Для корректного подсчета высоты опций(иначе для optionsListWidth: 'field'\n * высота опции всегда будет равна высоте одной строчки)\n */\n className: cn({\n [styles.mask]: optionsListWidth === 'content' && !measured,\n }),\n }}\n >\n {renderListItems()}\n </Scrollbar>\n );\n };\n\n const renderWithNativeScrollbar = () => (\n <div\n className={cn(styles.scrollable, scrollbarClassName)}\n ref={mergeRefs([listRef, ref])}\n onScroll={handleScroll}\n style={{ height }}\n >\n {renderListItems()}\n </div>\n );\n\n const resetHighlightedIndex = () => setHighlightedIndex?.(-1);\n\n return (\n <div\n {...(nativeScrollbar && { 'data-test-id': dataTestId })}\n className={cn(styles.optionsList, styles[SIZE_TO_CLASSNAME_MAP[size]], className)}\n >\n {header && (\n <div\n className={cn(styles.optionsListHeader, {\n [styles.headerHighlighted]: !scrollTop,\n })}\n onMouseEnter={resetHighlightedIndex}\n >\n {header}\n </div>\n )}\n\n {nativeScrollbar ? renderWithNativeScrollbar() : renderWithCustomScrollbar()}\n\n {showFooter && footer && (\n <div\n onMouseEnter={resetHighlightedIndex}\n className={cn(styles.optionsListFooter, footerClassName, {\n [styles.withBorder]:\n visibleOptions &&\n flatOptions.length > visibleOptions &&\n !scrollBottom,\n })}\n >\n {footer}\n </div>\n )}\n </div>\n );\n },\n);\n"],"names":["forwardRef","DefaultOptgroup","DEFAULT_VISIBLE_OPTIONS","useState","useNativeScrollbar","useCallback","React","__assign","useRef","useVisibleOptions","isGroup","styles","Scrollbar","cn","mergeRefs","SIZE_TO_CLASSNAME_MAP"],"mappings":"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"}
|