@alfalab/core-components-select 10.7.3 → 10.8.2
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/CHANGELOG.md +35 -0
- package/dist/{cssm/Component-25917959.d.ts → Component-4d827af4.d.ts} +1 -1
- package/dist/{Component-f0271ef8.js → Component-4d827af4.js} +6 -5
- package/dist/{Component-091e9ade.d.ts → Component-a8813866.d.ts} +0 -0
- package/dist/{Component-091e9ade.js → Component-a8813866.js} +3 -3
- package/dist/Component.d.ts +1 -1
- package/dist/Component.js +3 -2
- package/dist/components/arrow/Component.js +1 -1
- package/dist/components/arrow/index.css +3 -3
- package/dist/components/base-select/Component.js +2 -2
- package/dist/components/base-select/index.css +7 -7
- package/dist/components/base-select/index.d.ts +1 -1
- package/dist/components/base-select/index.js +2 -2
- package/dist/components/checkmark/Component.js +1 -1
- package/dist/components/checkmark/index.css +7 -7
- package/dist/components/field/Component.js +2 -2
- package/dist/components/field/index.css +9 -9
- package/dist/components/field/index.js +1 -1
- package/dist/components/index.js +5 -4
- package/dist/components/native-select/Component.js +1 -1
- package/dist/components/native-select/index.js +1 -1
- package/dist/components/optgroup/Component.js +1 -1
- package/dist/components/optgroup/index.css +6 -6
- package/dist/components/option/Component.js +2 -2
- package/dist/components/option/index.css +20 -20
- package/dist/components/option/index.js +1 -1
- package/dist/components/options-list/Component.js +28 -12
- package/dist/components/options-list/index.css +6 -6
- package/dist/components/options-list/index.js +3 -1
- package/dist/components/select-mobile/Component.js +5 -4
- package/dist/components/select-mobile/checkmark/Component.js +1 -1
- package/dist/components/select-mobile/checkmark/index.css +4 -4
- package/dist/components/select-mobile/index.css +11 -11
- package/dist/components/select-mobile/index.d.ts +1 -1
- package/dist/components/select-mobile/index.js +5 -4
- package/dist/components/select-mobile/options-list/Component.js +2 -2
- package/dist/components/select-mobile/options-list/index.css +9 -9
- package/dist/components/select-mobile/options-list/index.js +1 -1
- package/dist/components/virtual-options-list/Component.d.ts +2 -2
- package/dist/components/virtual-options-list/Component.js +36 -19
- package/dist/components/virtual-options-list/index.css +12 -12
- package/dist/components/virtual-options-list/index.js +3 -1
- package/dist/{esm/Component-228962a7.d.ts → cssm/Component-ab46cfa1.d.ts} +1 -1
- package/dist/cssm/{Component-25917959.js → Component-ab46cfa1.js} +2 -1
- package/dist/cssm/{Component-9bc41b6c.d.ts → Component-e3a61749.d.ts} +0 -0
- package/dist/cssm/{Component-9bc41b6c.js → Component-e3a61749.js} +1 -1
- package/dist/cssm/Component.d.ts +1 -1
- package/dist/cssm/Component.js +2 -1
- package/dist/cssm/components/base-select/Component.js +1 -1
- package/dist/cssm/components/base-select/index.d.ts +1 -1
- package/dist/cssm/components/base-select/index.js +1 -1
- package/dist/cssm/components/index.js +3 -2
- package/dist/cssm/components/options-list/Component.js +26 -10
- package/dist/cssm/components/options-list/index.js +2 -0
- package/dist/cssm/components/select-mobile/Component.js +3 -2
- package/dist/cssm/components/select-mobile/index.d.ts +1 -1
- package/dist/cssm/components/select-mobile/index.js +3 -2
- package/dist/cssm/components/virtual-options-list/Component.d.ts +2 -2
- package/dist/cssm/components/virtual-options-list/Component.js +34 -17
- package/dist/cssm/components/virtual-options-list/index.js +2 -0
- package/dist/cssm/index.js +3 -2
- package/dist/cssm/presets/index.js +3 -2
- package/dist/cssm/presets/useSelectWithApply/hook.js +3 -2
- package/dist/cssm/presets/useSelectWithApply/options-list-with-apply/Component.js +3 -2
- package/dist/cssm/presets/useSelectWithApply/options-list-with-apply/index.d.ts +1 -1
- package/dist/cssm/presets/useSelectWithApply/options-list-with-apply/index.js +3 -2
- package/dist/cssm/typings.d.ts +9 -0
- package/dist/esm/{Component-27b649b7.d.ts → Component-148e2816.d.ts} +0 -0
- package/dist/esm/{Component-27b649b7.js → Component-148e2816.js} +3 -3
- package/dist/{Component-f0271ef8.d.ts → esm/Component-6975d6d5.d.ts} +1 -1
- package/dist/esm/{Component-228962a7.js → Component-6975d6d5.js} +6 -5
- package/dist/esm/Component.d.ts +1 -1
- package/dist/esm/Component.js +3 -2
- package/dist/esm/components/arrow/Component.js +1 -1
- package/dist/esm/components/arrow/index.css +3 -3
- package/dist/esm/components/base-select/Component.js +2 -2
- package/dist/esm/components/base-select/index.css +7 -7
- package/dist/esm/components/base-select/index.d.ts +1 -1
- package/dist/esm/components/base-select/index.js +2 -2
- package/dist/esm/components/checkmark/Component.js +1 -1
- package/dist/esm/components/checkmark/index.css +7 -7
- package/dist/esm/components/field/Component.js +2 -2
- package/dist/esm/components/field/index.css +9 -9
- package/dist/esm/components/field/index.js +1 -1
- package/dist/esm/components/index.js +5 -4
- package/dist/esm/components/native-select/Component.js +1 -1
- package/dist/esm/components/native-select/index.js +1 -1
- package/dist/esm/components/optgroup/Component.js +1 -1
- package/dist/esm/components/optgroup/index.css +6 -6
- package/dist/esm/components/option/Component.js +2 -2
- package/dist/esm/components/option/index.css +20 -20
- package/dist/esm/components/option/index.js +1 -1
- package/dist/esm/components/options-list/Component.js +28 -12
- package/dist/esm/components/options-list/index.css +6 -6
- package/dist/esm/components/options-list/index.js +3 -1
- package/dist/esm/components/select-mobile/Component.js +5 -4
- package/dist/esm/components/select-mobile/checkmark/Component.js +1 -1
- package/dist/esm/components/select-mobile/checkmark/index.css +4 -4
- package/dist/esm/components/select-mobile/index.css +11 -11
- package/dist/esm/components/select-mobile/index.d.ts +1 -1
- package/dist/esm/components/select-mobile/index.js +5 -4
- package/dist/esm/components/select-mobile/options-list/Component.js +2 -2
- package/dist/esm/components/select-mobile/options-list/index.css +9 -9
- package/dist/esm/components/select-mobile/options-list/index.js +1 -1
- package/dist/esm/components/virtual-options-list/Component.d.ts +2 -2
- package/dist/esm/components/virtual-options-list/Component.js +36 -19
- package/dist/esm/components/virtual-options-list/index.css +12 -12
- package/dist/esm/components/virtual-options-list/index.js +3 -1
- package/dist/esm/index.js +5 -4
- package/dist/esm/{intersection-observer-ff7c25ff.d.ts → intersection-observer-ebdfdb11.d.ts} +0 -0
- package/dist/esm/{intersection-observer-ff7c25ff.js → intersection-observer-ebdfdb11.js} +0 -0
- package/dist/esm/presets/index.js +5 -4
- package/dist/esm/presets/useLazyLoading/hook.js +3 -3
- package/dist/esm/presets/useLazyLoading/index.css +2 -2
- package/dist/esm/presets/useSelectWithApply/hook.js +5 -4
- package/dist/esm/presets/useSelectWithApply/options-list-with-apply/Component.js +5 -4
- package/dist/esm/presets/useSelectWithApply/options-list-with-apply/index.css +4 -4
- package/dist/esm/presets/useSelectWithApply/options-list-with-apply/index.d.ts +1 -1
- package/dist/esm/presets/useSelectWithApply/options-list-with-apply/index.js +5 -4
- package/dist/esm/presets/useSelectWithLoading/hook.js +2 -2
- package/dist/esm/presets/useSelectWithLoading/index.css +2 -2
- package/dist/esm/{tslib.es6-8dcf5700.d.ts → tslib.es6-0082a09a.d.ts} +0 -0
- package/dist/esm/{tslib.es6-8dcf5700.js → tslib.es6-0082a09a.js} +0 -0
- package/dist/esm/typings.d.ts +9 -0
- package/dist/index.js +5 -4
- package/dist/{intersection-observer-b658c897.d.ts → intersection-observer-f51db423.d.ts} +0 -0
- package/dist/{intersection-observer-b658c897.js → intersection-observer-f51db423.js} +0 -0
- package/dist/modern/{Component-4cfaa286.d.ts → Component-cd8eced8.d.ts} +0 -0
- package/dist/modern/{Component-4cfaa286.js → Component-cd8eced8.js} +2 -2
- package/dist/modern/{Component-45ff0715.d.ts → Component-e3661da1.d.ts} +1 -1
- package/dist/modern/{Component-45ff0715.js → Component-e3661da1.js} +5 -4
- package/dist/modern/Component.d.ts +1 -1
- package/dist/modern/Component.js +2 -1
- package/dist/modern/components/arrow/Component.js +1 -1
- package/dist/modern/components/arrow/index.css +3 -3
- package/dist/modern/components/base-select/Component.js +1 -1
- package/dist/modern/components/base-select/index.css +7 -7
- package/dist/modern/components/base-select/index.d.ts +1 -1
- package/dist/modern/components/base-select/index.js +1 -1
- package/dist/modern/components/checkmark/Component.js +1 -1
- package/dist/modern/components/checkmark/index.css +7 -7
- package/dist/modern/components/field/Component.js +1 -1
- package/dist/modern/components/field/index.css +9 -9
- package/dist/modern/components/index.js +4 -3
- package/dist/modern/components/optgroup/Component.js +1 -1
- package/dist/modern/components/optgroup/index.css +6 -6
- package/dist/modern/components/option/Component.js +1 -1
- package/dist/modern/components/option/index.css +20 -20
- package/dist/modern/components/options-list/Component.js +26 -6
- package/dist/modern/components/options-list/index.css +6 -6
- package/dist/modern/components/options-list/index.js +2 -0
- package/dist/modern/components/select-mobile/Component.js +4 -3
- package/dist/modern/components/select-mobile/checkmark/Component.js +1 -1
- package/dist/modern/components/select-mobile/checkmark/index.css +4 -4
- package/dist/modern/components/select-mobile/index.css +11 -11
- package/dist/modern/components/select-mobile/index.d.ts +1 -1
- package/dist/modern/components/select-mobile/index.js +4 -3
- package/dist/modern/components/select-mobile/options-list/Component.js +1 -1
- package/dist/modern/components/select-mobile/options-list/index.css +9 -9
- package/dist/modern/components/virtual-options-list/Component.d.ts +2 -2
- package/dist/modern/components/virtual-options-list/Component.js +34 -17
- package/dist/modern/components/virtual-options-list/index.css +12 -12
- package/dist/modern/components/virtual-options-list/index.js +2 -0
- package/dist/modern/index.js +4 -3
- package/dist/modern/{intersection-observer-ff7c25ff.d.ts → intersection-observer-ebdfdb11.d.ts} +0 -0
- package/dist/modern/{intersection-observer-ff7c25ff.js → intersection-observer-ebdfdb11.js} +0 -0
- package/dist/modern/presets/index.js +4 -3
- package/dist/modern/presets/useLazyLoading/hook.js +2 -2
- package/dist/modern/presets/useLazyLoading/index.css +2 -2
- package/dist/modern/presets/useSelectWithApply/hook.js +4 -3
- package/dist/modern/presets/useSelectWithApply/options-list-with-apply/Component.js +4 -3
- package/dist/modern/presets/useSelectWithApply/options-list-with-apply/index.css +4 -4
- package/dist/modern/presets/useSelectWithApply/options-list-with-apply/index.d.ts +1 -1
- package/dist/modern/presets/useSelectWithApply/options-list-with-apply/index.js +4 -3
- package/dist/modern/presets/useSelectWithLoading/hook.js +1 -1
- package/dist/modern/presets/useSelectWithLoading/index.css +2 -2
- package/dist/modern/typings.d.ts +9 -0
- package/dist/presets/index.js +5 -4
- package/dist/presets/useLazyLoading/hook.js +3 -3
- package/dist/presets/useLazyLoading/index.css +2 -2
- package/dist/presets/useSelectWithApply/hook.js +5 -4
- package/dist/presets/useSelectWithApply/options-list-with-apply/Component.js +5 -4
- package/dist/presets/useSelectWithApply/options-list-with-apply/index.css +4 -4
- package/dist/presets/useSelectWithApply/options-list-with-apply/index.d.ts +1 -1
- package/dist/presets/useSelectWithApply/options-list-with-apply/index.js +5 -4
- package/dist/presets/useSelectWithLoading/hook.js +2 -2
- package/dist/presets/useSelectWithLoading/index.css +2 -2
- package/dist/{tslib.es6-b07d064f.d.ts → tslib.es6-42d27d11.d.ts} +0 -0
- package/dist/{tslib.es6-b07d064f.js → tslib.es6-42d27d11.js} +0 -0
- package/dist/typings.d.ts +9 -0
- package/package.json +6 -5
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/* hash:
|
|
1
|
+
/* hash: 851vo */
|
|
2
2
|
:root {
|
|
3
3
|
--color-light-bg-primary: #fff;
|
|
4
4
|
--color-light-bg-secondary: #f3f4f5;
|
|
@@ -53,7 +53,7 @@
|
|
|
53
53
|
|
|
54
54
|
/* optgroup */
|
|
55
55
|
}
|
|
56
|
-
.
|
|
56
|
+
.select__option_94p39 {
|
|
57
57
|
font-size: 16px;
|
|
58
58
|
line-height: 20px;
|
|
59
59
|
font-weight: 400;
|
|
@@ -69,11 +69,11 @@
|
|
|
69
69
|
position: relative;
|
|
70
70
|
cursor: pointer
|
|
71
71
|
}
|
|
72
|
-
.
|
|
72
|
+
.select__option_94p39:not(.select__disabled_94p39):active {
|
|
73
73
|
background: var(--select-option-active-background);
|
|
74
74
|
color: var(--select-option-active-color);
|
|
75
75
|
}
|
|
76
|
-
.
|
|
76
|
+
.select__option_94p39:before {
|
|
77
77
|
content: '';
|
|
78
78
|
position: absolute;
|
|
79
79
|
left: var(--select-option-left-padding);
|
|
@@ -84,60 +84,60 @@
|
|
|
84
84
|
display: var(--select-option-divider-display);
|
|
85
85
|
transition: opacity 0.2s ease;
|
|
86
86
|
}
|
|
87
|
-
.
|
|
87
|
+
.select__option_94p39:first-child:before {
|
|
88
88
|
display: none;
|
|
89
89
|
}
|
|
90
|
-
.
|
|
90
|
+
.select__s_94p39 {
|
|
91
91
|
min-height: var(--size-s-height);
|
|
92
92
|
}
|
|
93
|
-
.
|
|
93
|
+
.select__m_94p39 {
|
|
94
94
|
min-height: var(--size-m-height);
|
|
95
95
|
}
|
|
96
|
-
.
|
|
96
|
+
.select__l_94p39 {
|
|
97
97
|
min-height: var(--size-l-height);
|
|
98
98
|
}
|
|
99
|
-
.
|
|
99
|
+
.select__xl_94p39 {
|
|
100
100
|
min-height: var(--size-xl-height);
|
|
101
101
|
}
|
|
102
|
-
.
|
|
103
|
-
.
|
|
102
|
+
.select__l_94p39,
|
|
103
|
+
.select__xl_94p39 {
|
|
104
104
|
padding-left: var(--select-option-l-left-padding);
|
|
105
105
|
padding-right: var(--select-option-l-right-padding)
|
|
106
106
|
}
|
|
107
|
-
.
|
|
107
|
+
.select__l_94p39:before, .select__xl_94p39:before {
|
|
108
108
|
left: var(--select-option-l-left-padding);
|
|
109
109
|
right: var(--select-option-l-right-padding);
|
|
110
110
|
}
|
|
111
|
-
.
|
|
111
|
+
.select__selected_94p39 {
|
|
112
112
|
background: var(--select-option-selected-background);
|
|
113
113
|
color: var(--select-option-selected-color);
|
|
114
114
|
cursor: default;
|
|
115
115
|
}
|
|
116
|
-
.
|
|
116
|
+
.select__highlighted_94p39 {
|
|
117
117
|
background: var(--select-option-hover-background);
|
|
118
118
|
color: var(--select-option-hover-color)
|
|
119
119
|
}
|
|
120
|
-
.
|
|
121
|
-
.
|
|
120
|
+
.select__highlighted_94p39:before,
|
|
121
|
+
.select__highlighted_94p39 + .select__option_94p39:before {
|
|
122
122
|
opacity: 0;
|
|
123
123
|
}
|
|
124
|
-
.
|
|
124
|
+
.select__disabled_94p39 {
|
|
125
125
|
cursor: var(--disabled-cursor);
|
|
126
126
|
background: var(--select-option-disabled-background);
|
|
127
127
|
color: var(--select-option-disabled-color);
|
|
128
128
|
}
|
|
129
|
-
.
|
|
129
|
+
.select__content_94p39 {
|
|
130
130
|
overflow: hidden;
|
|
131
131
|
flex: 1;
|
|
132
132
|
text-overflow: ellipsis;
|
|
133
133
|
}
|
|
134
|
-
.
|
|
134
|
+
.select__textContent_94p39 {
|
|
135
135
|
padding-top: var(--gap-s);
|
|
136
136
|
padding-bottom: var(--gap-s);
|
|
137
137
|
}
|
|
138
138
|
/* IE min-height fix */
|
|
139
139
|
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
|
|
140
|
-
.
|
|
140
|
+
.select__option_94p39:after {
|
|
141
141
|
min-height: inherit;
|
|
142
142
|
font-size: 0;
|
|
143
143
|
content: '';
|
|
@@ -2,11 +2,13 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
var tslib_es6 = require('../../tslib.es6-
|
|
5
|
+
var tslib_es6 = require('../../tslib.es6-42d27d11.js');
|
|
6
6
|
var React = require('react');
|
|
7
7
|
var cn = require('classnames');
|
|
8
|
+
var hooks = require('@alfalab/hooks');
|
|
8
9
|
var utils = require('../../utils.js');
|
|
9
10
|
var mergeRefs = require('react-merge-refs');
|
|
11
|
+
var coreComponentsScrollbar = require('@alfalab/core-components-scrollbar');
|
|
10
12
|
var components_optgroup_Component = require('../optgroup/Component.js');
|
|
11
13
|
|
|
12
14
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
@@ -15,7 +17,7 @@ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
|
15
17
|
var cn__default = /*#__PURE__*/_interopDefaultLegacy(cn);
|
|
16
18
|
var mergeRefs__default = /*#__PURE__*/_interopDefaultLegacy(mergeRefs);
|
|
17
19
|
|
|
18
|
-
var styles = {"optionsList":"
|
|
20
|
+
var styles = {"optionsList":"select__optionsList_doe4n","scrollable":"select__scrollable_doe4n","emptyPlaceholder":"select__emptyPlaceholder_doe4n","l":"select__l_doe4n","xl":"select__xl_doe4n"};
|
|
19
21
|
require('./index.css')
|
|
20
22
|
|
|
21
23
|
var createCounter = function () {
|
|
@@ -24,27 +26,41 @@ var createCounter = function () {
|
|
|
24
26
|
return function () { return count++; };
|
|
25
27
|
};
|
|
26
28
|
var OptionsList = React.forwardRef(function (_a, ref) {
|
|
27
|
-
var _b = _a.size, size = _b === void 0 ? 's' : _b, className = _a.className, optionGroupClassName = _a.optionGroupClassName, Option = _a.Option, getOptionProps = _a.getOptionProps, _c = _a.options, options = _c === void 0 ? [] : _c, _d = _a.Optgroup, Optgroup = _d === void 0 ? components_optgroup_Component.Optgroup : _d, dataTestId = _a.dataTestId, emptyPlaceholder = _a.emptyPlaceholder, _e = _a.visibleOptions, visibleOptions = _e === void 0 ? 5 : _e, onScroll = _a.onScroll, open = _a.open, header = _a.header, footer = _a.footer;
|
|
29
|
+
var _b = _a.size, size = _b === void 0 ? 's' : _b, className = _a.className, optionGroupClassName = _a.optionGroupClassName, Option = _a.Option, getOptionProps = _a.getOptionProps, _c = _a.options, options = _c === void 0 ? [] : _c, _d = _a.Optgroup, Optgroup = _d === void 0 ? components_optgroup_Component.Optgroup : _d, dataTestId = _a.dataTestId, emptyPlaceholder = _a.emptyPlaceholder, _e = _a.visibleOptions, visibleOptions = _e === void 0 ? 5 : _e, onScroll = _a.onScroll, open = _a.open, header = _a.header, footer = _a.footer, optionsListWidth = _a.optionsListWidth, nativeScrollbarProp = _a.nativeScrollbar;
|
|
30
|
+
var nativeScrollbar = hooks.useMedia([[true, '(max-width: 1023px)']], false)[0];
|
|
31
|
+
nativeScrollbar = Boolean(nativeScrollbarProp !== null && nativeScrollbarProp !== void 0 ? nativeScrollbarProp : nativeScrollbar);
|
|
28
32
|
var renderOption = React.useCallback(function (option, index) { return (React__default['default'].createElement(Option, tslib_es6.__assign({ key: option.key }, getOptionProps(option, index)))); }, [getOptionProps]);
|
|
29
33
|
var listRef = React.useRef(null);
|
|
34
|
+
var scrollbarRef = React.useRef(null);
|
|
30
35
|
var counter = createCounter();
|
|
31
36
|
var renderGroup = React.useCallback(function (group) { return (React__default['default'].createElement(Optgroup, { className: optionGroupClassName, label: group.label, key: group.label, size: size }, group.options.map(function (option) { return renderOption(option, counter()); }))); }, [optionGroupClassName, counter, renderOption, size]);
|
|
32
|
-
utils.useVisibleOptions({
|
|
33
|
-
visibleOptions: visibleOptions,
|
|
37
|
+
utils.useVisibleOptions(tslib_es6.__assign(tslib_es6.__assign({}, (!nativeScrollbar && { styleTargetRef: scrollbarRef })), { visibleOptions: visibleOptions,
|
|
34
38
|
listRef: listRef,
|
|
35
|
-
open: open,
|
|
36
|
-
invalidate: options,
|
|
37
|
-
});
|
|
39
|
+
open: open, invalidate: options }));
|
|
38
40
|
if (options.length === 0 && !emptyPlaceholder) {
|
|
39
41
|
return null;
|
|
40
42
|
}
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
React__default['default'].createElement("div", { className: styles.scrollable, ref: mergeRefs__default['default']([listRef, ref]), onScroll: onScroll },
|
|
43
|
+
var renderListItems = function () {
|
|
44
|
+
return (React__default['default'].createElement(React__default['default'].Fragment, null,
|
|
44
45
|
options.map(function (option) {
|
|
45
46
|
return utils.isGroup(option) ? renderGroup(option) : renderOption(option, counter());
|
|
46
47
|
}),
|
|
47
|
-
emptyPlaceholder && options.length === 0 && (React__default['default'].createElement("div", { className: styles.emptyPlaceholder }, emptyPlaceholder)))
|
|
48
|
+
emptyPlaceholder && options.length === 0 && (React__default['default'].createElement("div", { className: styles.emptyPlaceholder }, emptyPlaceholder))));
|
|
49
|
+
};
|
|
50
|
+
var renderWithCustomScrollbar = function () {
|
|
51
|
+
var scrollableNodeProps = {
|
|
52
|
+
onScroll: onScroll,
|
|
53
|
+
'data-test-id': dataTestId,
|
|
54
|
+
ref: ref,
|
|
55
|
+
};
|
|
56
|
+
return (React__default['default'].createElement(coreComponentsScrollbar.Scrollbar, { className: styles.scrollable, ref: scrollbarRef, horizontalAutoStretch: optionsListWidth === 'content', scrollableNodeProps: scrollableNodeProps, contentNodeProps: { ref: listRef } }, renderListItems()));
|
|
57
|
+
};
|
|
58
|
+
var renderWithNativeScrollbar = function () {
|
|
59
|
+
return (React__default['default'].createElement("div", { className: styles.scrollable, ref: mergeRefs__default['default']([listRef, ref]), onScroll: onScroll }, renderListItems()));
|
|
60
|
+
};
|
|
61
|
+
return (React__default['default'].createElement("div", tslib_es6.__assign({}, (nativeScrollbar && { 'data-test-id': dataTestId }), { className: cn__default['default'](styles.optionsList, styles[size], className) }),
|
|
62
|
+
header,
|
|
63
|
+
nativeScrollbar ? renderWithNativeScrollbar() : renderWithCustomScrollbar(),
|
|
48
64
|
footer));
|
|
49
65
|
});
|
|
50
66
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/* hash:
|
|
1
|
+
/* hash: bo9ns */
|
|
2
2
|
:root {
|
|
3
3
|
--color-light-text-secondary: #546272;
|
|
4
4
|
}
|
|
@@ -26,21 +26,21 @@
|
|
|
26
26
|
|
|
27
27
|
/* optgroup */
|
|
28
28
|
}
|
|
29
|
-
.
|
|
29
|
+
.select__optionsList_doe4n {
|
|
30
30
|
overflow: auto;
|
|
31
31
|
width: 100%;
|
|
32
32
|
outline: none;
|
|
33
33
|
box-sizing: border-box;
|
|
34
34
|
}
|
|
35
|
-
.
|
|
35
|
+
.select__scrollable_doe4n {
|
|
36
36
|
overflow: auto;
|
|
37
37
|
width: 100%;
|
|
38
38
|
}
|
|
39
|
-
.
|
|
39
|
+
.select__emptyPlaceholder_doe4n {
|
|
40
40
|
padding: var(--gap-m) var(--gap-s);
|
|
41
41
|
color: var(--select-options-list-empty-placeholder-color);
|
|
42
42
|
}
|
|
43
|
-
.
|
|
44
|
-
.
|
|
43
|
+
.select__l_doe4n .select__emptyPlaceholder_doe4n,
|
|
44
|
+
.select__xl_doe4n .select__emptyPlaceholder_doe4n {
|
|
45
45
|
padding: var(--gap-xl) var(--gap-m);
|
|
46
46
|
}
|
|
@@ -2,11 +2,13 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
require('../../tslib.es6-
|
|
5
|
+
require('../../tslib.es6-42d27d11.js');
|
|
6
6
|
require('react');
|
|
7
7
|
require('classnames');
|
|
8
|
+
require('@alfalab/hooks');
|
|
8
9
|
require('../../utils.js');
|
|
9
10
|
require('react-merge-refs');
|
|
11
|
+
require('@alfalab/core-components-scrollbar');
|
|
10
12
|
require('../optgroup/Component.js');
|
|
11
13
|
var components_optionsList_Component = require('./Component.js');
|
|
12
14
|
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
require('../../tslib.es6-
|
|
5
|
+
require('../../tslib.es6-42d27d11.js');
|
|
6
6
|
require('react');
|
|
7
7
|
require('classnames');
|
|
8
8
|
require('@alfalab/hooks');
|
|
@@ -12,6 +12,7 @@ require('../field/Component.js');
|
|
|
12
12
|
require('@alfalab/icons-glyph/ChevronDownMIcon');
|
|
13
13
|
require('../arrow/Component.js');
|
|
14
14
|
require('react-merge-refs');
|
|
15
|
+
require('@alfalab/core-components-scrollbar');
|
|
15
16
|
require('../optgroup/Component.js');
|
|
16
17
|
require('../options-list/Component.js');
|
|
17
18
|
require('@alfalab/core-components-checkbox');
|
|
@@ -21,17 +22,17 @@ require('resize-observer');
|
|
|
21
22
|
require('@alfalab/core-components-popover');
|
|
22
23
|
require('downshift');
|
|
23
24
|
require('../native-select/Component.js');
|
|
24
|
-
require('../../Component-
|
|
25
|
+
require('../../Component-a8813866.js');
|
|
25
26
|
require('../../Component.js');
|
|
26
27
|
require('@alfalab/core-components-bottom-sheet');
|
|
27
28
|
require('@alfalab/core-components-button');
|
|
28
29
|
require('@alfalab/core-components-base-modal');
|
|
29
30
|
require('./options-list/Component.js');
|
|
30
31
|
require('./checkmark/Component.js');
|
|
31
|
-
var presets_useSelectWithApply_hook = require('../../Component-
|
|
32
|
+
var presets_useSelectWithApply_hook = require('../../Component-4d827af4.js');
|
|
32
33
|
require('react-virtual');
|
|
33
34
|
require('@alfalab/core-components-skeleton');
|
|
34
|
-
require('../../intersection-observer-
|
|
35
|
+
require('../../intersection-observer-f51db423.js');
|
|
35
36
|
|
|
36
37
|
|
|
37
38
|
|
|
@@ -10,7 +10,7 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
|
|
|
10
10
|
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
11
11
|
var cn__default = /*#__PURE__*/_interopDefaultLegacy(cn);
|
|
12
12
|
|
|
13
|
-
var styles = {"checkmark":"
|
|
13
|
+
var styles = {"checkmark":"select__checkmark_1re1u","selected":"select__selected_1re1u"};
|
|
14
14
|
require('./index.css')
|
|
15
15
|
|
|
16
16
|
var Checkmark = function (_a) {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/* hash:
|
|
1
|
+
/* hash: xq335 */
|
|
2
2
|
:root {
|
|
3
3
|
|
|
4
4
|
/* Hard */
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
|
|
19
19
|
/* optgroup */
|
|
20
20
|
}
|
|
21
|
-
.
|
|
21
|
+
.select__checkmark_1re1u {
|
|
22
22
|
flex-shrink: 0;
|
|
23
23
|
display: flex;
|
|
24
24
|
align-items: center;
|
|
@@ -29,9 +29,9 @@
|
|
|
29
29
|
height: 24px;
|
|
30
30
|
opacity: 0
|
|
31
31
|
}
|
|
32
|
-
.
|
|
32
|
+
.select__checkmark_1re1u:first-child {
|
|
33
33
|
display: none;
|
|
34
34
|
}
|
|
35
|
-
.
|
|
35
|
+
.select__checkmark_1re1u.select__selected_1re1u {
|
|
36
36
|
opacity: 1;
|
|
37
37
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/* hash:
|
|
1
|
+
/* hash: 172k0 */
|
|
2
2
|
:root {
|
|
3
3
|
|
|
4
4
|
/* Hard */
|
|
@@ -24,12 +24,12 @@
|
|
|
24
24
|
|
|
25
25
|
/* optgroup */
|
|
26
26
|
}
|
|
27
|
-
.
|
|
27
|
+
.select__component_q32z9 {
|
|
28
28
|
width: max-content;
|
|
29
29
|
position: relative;
|
|
30
30
|
outline: 0;
|
|
31
31
|
}
|
|
32
|
-
.
|
|
32
|
+
.select__popoverInner_q32z9 {
|
|
33
33
|
padding-top: var(--select-options-list-offset);
|
|
34
34
|
padding-bottom: var(--select-options-list-offset);
|
|
35
35
|
box-shadow: none;
|
|
@@ -38,31 +38,31 @@
|
|
|
38
38
|
border-radius: 0;
|
|
39
39
|
position: relative;
|
|
40
40
|
}
|
|
41
|
-
.
|
|
41
|
+
.select__sheet_q32z9 {
|
|
42
42
|
overflow: hidden;
|
|
43
43
|
}
|
|
44
|
-
.
|
|
44
|
+
.select__sheetContent_q32z9 {
|
|
45
45
|
padding: 0;
|
|
46
46
|
}
|
|
47
|
-
.
|
|
47
|
+
.select__sheetContainer_q32z9 {
|
|
48
48
|
padding: 0;
|
|
49
49
|
}
|
|
50
|
-
.
|
|
50
|
+
.select__block_q32z9 {
|
|
51
51
|
width: 100%;
|
|
52
52
|
}
|
|
53
53
|
/* width: max-content; fix for IE */
|
|
54
54
|
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
|
|
55
|
-
.
|
|
55
|
+
.select__component_q32z9 {
|
|
56
56
|
float: left;
|
|
57
57
|
clear: left;
|
|
58
58
|
}
|
|
59
59
|
}
|
|
60
|
-
.
|
|
60
|
+
.select__option_q32z9 {
|
|
61
61
|
padding: var(--gap-2xs) var(--gap-l) var(--gap-2xs) var(--gap-m)
|
|
62
62
|
}
|
|
63
|
-
.
|
|
63
|
+
.select__option_q32z9:before {
|
|
64
64
|
display: none;
|
|
65
65
|
}
|
|
66
|
-
.
|
|
66
|
+
.select__optionGroup_q32z9 {
|
|
67
67
|
padding: var(--gap-m) var(--gap-m) var(--gap-xs);
|
|
68
68
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export * from "../../Component-
|
|
1
|
+
export * from "../../Component-4d827af4";
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
require('../../tslib.es6-
|
|
5
|
+
require('../../tslib.es6-42d27d11.js');
|
|
6
6
|
require('react');
|
|
7
7
|
require('classnames');
|
|
8
8
|
require('@alfalab/hooks');
|
|
@@ -12,6 +12,7 @@ require('../field/Component.js');
|
|
|
12
12
|
require('@alfalab/icons-glyph/ChevronDownMIcon');
|
|
13
13
|
require('../arrow/Component.js');
|
|
14
14
|
require('react-merge-refs');
|
|
15
|
+
require('@alfalab/core-components-scrollbar');
|
|
15
16
|
require('../optgroup/Component.js');
|
|
16
17
|
require('../options-list/Component.js');
|
|
17
18
|
require('@alfalab/core-components-checkbox');
|
|
@@ -21,17 +22,17 @@ require('resize-observer');
|
|
|
21
22
|
require('@alfalab/core-components-popover');
|
|
22
23
|
require('downshift');
|
|
23
24
|
require('../native-select/Component.js');
|
|
24
|
-
require('../../Component-
|
|
25
|
+
require('../../Component-a8813866.js');
|
|
25
26
|
require('../../Component.js');
|
|
26
27
|
require('@alfalab/core-components-bottom-sheet');
|
|
27
28
|
require('@alfalab/core-components-button');
|
|
28
29
|
require('@alfalab/core-components-base-modal');
|
|
29
30
|
require('./options-list/Component.js');
|
|
30
31
|
require('./checkmark/Component.js');
|
|
31
|
-
var presets_useSelectWithApply_hook = require('../../Component-
|
|
32
|
+
var presets_useSelectWithApply_hook = require('../../Component-4d827af4.js');
|
|
32
33
|
require('react-virtual');
|
|
33
34
|
require('@alfalab/core-components-skeleton');
|
|
34
|
-
require('../../intersection-observer-
|
|
35
|
+
require('../../intersection-observer-f51db423.js');
|
|
35
36
|
|
|
36
37
|
|
|
37
38
|
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
var tslib_es6 = require('../../../tslib.es6-
|
|
5
|
+
var tslib_es6 = require('../../../tslib.es6-42d27d11.js');
|
|
6
6
|
var React = require('react');
|
|
7
7
|
var cn = require('classnames');
|
|
8
8
|
var utils = require('../../../utils.js');
|
|
@@ -15,7 +15,7 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
|
|
|
15
15
|
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
16
16
|
var cn__default = /*#__PURE__*/_interopDefaultLegacy(cn);
|
|
17
17
|
|
|
18
|
-
var styles = {"optionsList":"
|
|
18
|
+
var styles = {"optionsList":"select__optionsList_1l6lb","emptyPlaceholder":"select__emptyPlaceholder_1l6lb","l":"select__l_1l6lb","xl":"select__xl_1l6lb","footer":"select__footer_1l6lb","footerButton":"select__footerButton_1l6lb","highlighted":"select__highlighted_1l6lb"};
|
|
19
19
|
require('./index.css')
|
|
20
20
|
|
|
21
21
|
var createCounter = function () {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/* hash:
|
|
1
|
+
/* hash: y3qz2 */
|
|
2
2
|
:root {
|
|
3
3
|
--color-light-bg-primary: #fff;
|
|
4
4
|
--color-light-border-primary: #dbdee1;
|
|
@@ -32,20 +32,20 @@
|
|
|
32
32
|
--select-mobile-footer-border-top: 1px solid var(--color-light-border-primary);
|
|
33
33
|
--select-mobile-footer-background-color: var(--color-light-bg-primary);
|
|
34
34
|
}
|
|
35
|
-
.
|
|
35
|
+
.select__optionsList_1l6lb {
|
|
36
36
|
width: 100%;
|
|
37
37
|
outline: none;
|
|
38
38
|
box-sizing: border-box;
|
|
39
39
|
}
|
|
40
|
-
.
|
|
40
|
+
.select__emptyPlaceholder_1l6lb {
|
|
41
41
|
padding: var(--gap-m) var(--gap-s);
|
|
42
42
|
color: var(--select-options-list-empty-placeholder-color);
|
|
43
43
|
}
|
|
44
|
-
.
|
|
45
|
-
.
|
|
44
|
+
.select__l_1l6lb .select__emptyPlaceholder_1l6lb,
|
|
45
|
+
.select__xl_1l6lb .select__emptyPlaceholder_1l6lb {
|
|
46
46
|
padding: var(--gap-xl) var(--gap-m);
|
|
47
47
|
}
|
|
48
|
-
.
|
|
48
|
+
.select__footer_1l6lb {
|
|
49
49
|
display: flex;
|
|
50
50
|
justify-content: space-between;
|
|
51
51
|
position: sticky;
|
|
@@ -53,13 +53,13 @@
|
|
|
53
53
|
background-color: var(--color-light-bg-primary);
|
|
54
54
|
bottom: 0
|
|
55
55
|
}
|
|
56
|
-
.
|
|
56
|
+
.select__footer_1l6lb .select__footerButton_1l6lb:first-of-type {
|
|
57
57
|
margin-right: var(--gap-m);
|
|
58
58
|
}
|
|
59
|
-
.
|
|
59
|
+
.select__footerButton_1l6lb {
|
|
60
60
|
width: 50%;
|
|
61
61
|
}
|
|
62
|
-
.
|
|
62
|
+
.select__highlighted_1l6lb {
|
|
63
63
|
border-top: var(--select-mobile-footer-border-top);
|
|
64
64
|
background-color: var(--select-mobile-footer-background-color);
|
|
65
65
|
}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import { OptionsListProps } from "../../typings";
|
|
3
|
-
type VirtualOptionsList = OptionsListProps & {
|
|
3
|
+
type VirtualOptionsList = Omit<OptionsListProps, 'optionsListWidth'> & {
|
|
4
4
|
/**
|
|
5
5
|
* Число отрисованных пунктов до\после видимого окна
|
|
6
6
|
*/
|
|
7
7
|
overscan?: number;
|
|
8
8
|
};
|
|
9
|
-
declare const VirtualOptionsList: ({ size, flatOptions, highlightedIndex, className, getOptionProps, Option, open, options, overscan, Optgroup, dataTestId, emptyPlaceholder, visibleOptions, onScroll, header, footer, }: VirtualOptionsList) => JSX.Element;
|
|
9
|
+
declare const VirtualOptionsList: ({ size, flatOptions, highlightedIndex, className, getOptionProps, Option, open, options, overscan, Optgroup, dataTestId, emptyPlaceholder, visibleOptions, onScroll, header, footer, nativeScrollbar: nativeScrollbarProp, }: VirtualOptionsList) => JSX.Element;
|
|
10
10
|
export { VirtualOptionsList };
|
|
@@ -2,10 +2,12 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
var tslib_es6 = require('../../tslib.es6-
|
|
5
|
+
var tslib_es6 = require('../../tslib.es6-42d27d11.js');
|
|
6
6
|
var React = require('react');
|
|
7
7
|
var cn = require('classnames');
|
|
8
|
+
var hooks = require('@alfalab/hooks');
|
|
8
9
|
var utils = require('../../utils.js');
|
|
10
|
+
var coreComponentsScrollbar = require('@alfalab/core-components-scrollbar');
|
|
9
11
|
var components_optgroup_Component = require('../optgroup/Component.js');
|
|
10
12
|
var reactVirtual = require('react-virtual');
|
|
11
13
|
|
|
@@ -14,14 +16,15 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
|
|
|
14
16
|
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
15
17
|
var cn__default = /*#__PURE__*/_interopDefaultLegacy(cn);
|
|
16
18
|
|
|
17
|
-
var styles = {"virtualOptionsList":"
|
|
19
|
+
var styles = {"virtualOptionsList":"select__virtualOptionsList_of2jd","scrollable":"select__scrollable_of2jd","inner":"select__inner_of2jd","virtualRow":"select__virtualRow_of2jd","highlighted":"select__highlighted_of2jd","emptyPlaceholder":"select__emptyPlaceholder_of2jd","l":"select__l_of2jd","xl":"select__xl_of2jd"};
|
|
18
20
|
require('./index.css')
|
|
19
21
|
|
|
20
22
|
/* eslint-disable react-hooks/exhaustive-deps */
|
|
21
23
|
var VirtualOptionsList = function (_a) {
|
|
22
|
-
var _b = _a.size, size = _b === void 0 ? 's' : _b, _c = _a.flatOptions, flatOptions = _c === void 0 ? [] : _c, _d = _a.highlightedIndex, highlightedIndex = _d === void 0 ? -1 : _d, className = _a.className, getOptionProps = _a.getOptionProps, Option = _a.Option, open = _a.open, _e = _a.options, options = _e === void 0 ? [] : _e, _f = _a.overscan, overscan = _f === void 0 ? 10 : _f, _g = _a.Optgroup, Optgroup = _g === void 0 ? components_optgroup_Component.Optgroup : _g, dataTestId = _a.dataTestId, emptyPlaceholder = _a.emptyPlaceholder, _h = _a.visibleOptions, visibleOptions = _h === void 0 ? 5 : _h, onScroll = _a.onScroll, header = _a.header, footer = _a.footer;
|
|
24
|
+
var _b = _a.size, size = _b === void 0 ? 's' : _b, _c = _a.flatOptions, flatOptions = _c === void 0 ? [] : _c, _d = _a.highlightedIndex, highlightedIndex = _d === void 0 ? -1 : _d, className = _a.className, getOptionProps = _a.getOptionProps, Option = _a.Option, open = _a.open, _e = _a.options, options = _e === void 0 ? [] : _e, _f = _a.overscan, overscan = _f === void 0 ? 10 : _f, _g = _a.Optgroup, Optgroup = _g === void 0 ? components_optgroup_Component.Optgroup : _g, dataTestId = _a.dataTestId, emptyPlaceholder = _a.emptyPlaceholder, _h = _a.visibleOptions, visibleOptions = _h === void 0 ? 5 : _h, onScroll = _a.onScroll, header = _a.header, footer = _a.footer, nativeScrollbarProp = _a.nativeScrollbar;
|
|
23
25
|
var listRef = React.useRef(null);
|
|
24
26
|
var parentRef = React.useRef(null);
|
|
27
|
+
var scrollbarRef = React.useRef(null);
|
|
25
28
|
var _j = React.useState(0), visibleOptionsInvalidateKey = _j[0], setVisibleOptionsInvalidateKey = _j[1];
|
|
26
29
|
var prevHighlightedIndex = utils.usePrevious(highlightedIndex) || -1;
|
|
27
30
|
var rowVirtualizer = reactVirtual.useVirtual({
|
|
@@ -29,6 +32,8 @@ var VirtualOptionsList = function (_a) {
|
|
|
29
32
|
parentRef: parentRef,
|
|
30
33
|
overscan: overscan,
|
|
31
34
|
});
|
|
35
|
+
var nativeScrollbar = hooks.useMedia([[true, '(max-width: 1023px)']], false)[0];
|
|
36
|
+
nativeScrollbar = Boolean(nativeScrollbarProp !== null && nativeScrollbarProp !== void 0 ? nativeScrollbarProp : nativeScrollbar);
|
|
32
37
|
// Сколл к выбранному пункту при открытии меню
|
|
33
38
|
React.useEffect(function () {
|
|
34
39
|
if (open) {
|
|
@@ -69,7 +74,7 @@ var VirtualOptionsList = function (_a) {
|
|
|
69
74
|
visibleOptions: visibleOptions,
|
|
70
75
|
invalidate: visibleOptionsInvalidateKey,
|
|
71
76
|
listRef: listRef,
|
|
72
|
-
styleTargetRef: parentRef,
|
|
77
|
+
styleTargetRef: nativeScrollbar ? parentRef : scrollbarRef,
|
|
73
78
|
open: open,
|
|
74
79
|
});
|
|
75
80
|
// Т.к. рендерится плоский список, необходимо знать индекс, когда начинается новая группа
|
|
@@ -86,23 +91,35 @@ var VirtualOptionsList = function (_a) {
|
|
|
86
91
|
return acc;
|
|
87
92
|
}, {});
|
|
88
93
|
}, [options]);
|
|
94
|
+
var contentNodeProps = {
|
|
95
|
+
className: styles.inner,
|
|
96
|
+
style: { height: rowVirtualizer.totalSize + "px" },
|
|
97
|
+
ref: listRef,
|
|
98
|
+
};
|
|
99
|
+
var renderList = function () {
|
|
100
|
+
return rowVirtualizer.virtualItems.map(function (virtualRow) {
|
|
101
|
+
var _a;
|
|
102
|
+
var option = flatOptions[virtualRow.index];
|
|
103
|
+
var group = options[groupStartIndexes[virtualRow.index]];
|
|
104
|
+
return (React__default['default'].createElement("div", { key: virtualRow.index, ref: virtualRow.measureRef, className: cn__default['default'](styles.virtualRow, (_a = {},
|
|
105
|
+
_a[styles.highlighted] = highlightedIndex === virtualRow.index,
|
|
106
|
+
_a)), style: {
|
|
107
|
+
transform: "translateY(" + virtualRow.start + "px)",
|
|
108
|
+
} },
|
|
109
|
+
group && React__default['default'].createElement(Optgroup, { label: group.label }),
|
|
110
|
+
!utils.isGroup(option) && React__default['default'].createElement(Option, tslib_es6.__assign({}, getOptionProps(option, virtualRow.index)))));
|
|
111
|
+
});
|
|
112
|
+
};
|
|
113
|
+
var renderWithCustomScrollbar = function () {
|
|
114
|
+
return (React__default['default'].createElement(coreComponentsScrollbar.Scrollbar, { className: styles.scrollable, ref: scrollbarRef, scrollableNodeProps: { onScroll: onScroll, ref: parentRef }, contentNodeProps: contentNodeProps }, renderList()));
|
|
115
|
+
};
|
|
116
|
+
var renderWithNativeScrollbar = function () {
|
|
117
|
+
return (React__default['default'].createElement("div", { className: styles.scrollable, ref: parentRef, onScroll: onScroll },
|
|
118
|
+
React__default['default'].createElement("div", tslib_es6.__assign({}, contentNodeProps), renderList())));
|
|
119
|
+
};
|
|
89
120
|
return (React__default['default'].createElement("div", { className: cn__default['default'](styles.virtualOptionsList, styles[size], className), "data-test-id": dataTestId },
|
|
90
121
|
header,
|
|
91
|
-
|
|
92
|
-
React__default['default'].createElement("div", { className: styles.inner, style: {
|
|
93
|
-
height: rowVirtualizer.totalSize + "px",
|
|
94
|
-
}, ref: listRef }, rowVirtualizer.virtualItems.map(function (virtualRow) {
|
|
95
|
-
var _a;
|
|
96
|
-
var option = flatOptions[virtualRow.index];
|
|
97
|
-
var group = options[groupStartIndexes[virtualRow.index]];
|
|
98
|
-
return (React__default['default'].createElement("div", { key: virtualRow.index, ref: virtualRow.measureRef, className: cn__default['default'](styles.virtualRow, (_a = {},
|
|
99
|
-
_a[styles.highlighted] = highlightedIndex === virtualRow.index,
|
|
100
|
-
_a)), style: {
|
|
101
|
-
transform: "translateY(" + virtualRow.start + "px)",
|
|
102
|
-
} },
|
|
103
|
-
group && React__default['default'].createElement(Optgroup, { label: group.label }),
|
|
104
|
-
!utils.isGroup(option) && (React__default['default'].createElement(Option, tslib_es6.__assign({}, getOptionProps(option, virtualRow.index))))));
|
|
105
|
-
}))),
|
|
122
|
+
nativeScrollbar ? renderWithNativeScrollbar() : renderWithCustomScrollbar(),
|
|
106
123
|
emptyPlaceholder && options.length === 0 && (React__default['default'].createElement("div", { className: styles.emptyPlaceholder }, emptyPlaceholder)),
|
|
107
124
|
footer));
|
|
108
125
|
};
|