@alfalab/core-components-select 13.2.11 → 13.2.13
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/{cssm/Component-29488b22.d.ts → Component-088caba2.d.ts} +285 -51
- package/{Component-fc2a45a0.js → Component-088caba2.js} +31 -26
- package/{Component-0a2300e8.d.ts → Component-ca307b80.d.ts} +0 -0
- package/{Component-0a2300e8.js → Component-ca307b80.js} +10 -10
- package/Component.js +4 -4
- package/Component.responsive.js +7 -6
- package/components/arrow/Component.js +1 -1
- package/components/arrow/index.css +3 -3
- package/components/base-checkmark/Component.js +1 -1
- package/components/base-checkmark/index.css +4 -4
- package/components/base-option/Component.js +3 -3
- package/components/base-option/index.css +13 -13
- package/components/base-option/index.js +1 -1
- package/components/base-select/Component.js +2 -2
- package/components/base-select/index.css +7 -7
- package/components/base-select/index.d.ts +1 -1
- package/components/base-select/index.js +2 -2
- package/components/base-select-mobile/Component.js +5 -4
- package/components/base-select-mobile/checkmark/Component.js +1 -1
- package/components/base-select-mobile/checkmark/index.css +6 -6
- package/components/base-select-mobile/index.css +11 -11
- package/components/base-select-mobile/index.d.ts +1 -1
- package/components/base-select-mobile/index.js +5 -4
- package/components/base-select-mobile/options-list/Component.js +3 -3
- package/components/base-select-mobile/options-list/index.css +9 -9
- package/components/base-select-mobile/options-list/index.js +1 -1
- package/components/base-select-mobile/virtual-options-list/Component.d.ts +5 -0
- package/components/base-select-mobile/virtual-options-list/Component.js +112 -0
- package/components/base-select-mobile/virtual-options-list/index.css +89 -0
- package/components/base-select-mobile/virtual-options-list/index.d.ts +1 -0
- package/components/base-select-mobile/virtual-options-list/index.js +16 -0
- package/components/checkmark/Component.js +1 -1
- package/components/checkmark/index.css +10 -10
- package/components/field/Component.js +4 -4
- package/components/field/index.css +9 -9
- package/components/field/index.js +1 -1
- package/components/index.js +5 -4
- package/components/native-select/Component.js +4 -4
- package/components/native-select/index.js +1 -1
- package/components/optgroup/Component.js +1 -1
- package/components/optgroup/index.css +6 -6
- package/components/option/Component.js +3 -3
- package/components/option/index.css +20 -20
- package/components/option/index.js +1 -1
- package/components/options-list/Component.js +5 -5
- package/components/options-list/index.css +6 -6
- package/components/options-list/index.js +1 -1
- package/components/select-mobile/Component.js +5 -4
- package/components/select-mobile/index.d.ts +1 -1
- package/components/select-mobile/index.js +5 -4
- package/components/select-modal-mobile/Component.js +5 -4
- package/components/select-modal-mobile/index.d.ts +1 -1
- package/components/select-modal-mobile/index.js +5 -4
- package/components/virtual-options-list/Component.js +4 -4
- package/components/virtual-options-list/index.css +12 -12
- package/components/virtual-options-list/index.js +1 -1
- package/cssm/{Component-d0e84442.d.ts → Component-1481ef6b.d.ts} +0 -0
- package/cssm/{Component-d0e84442.js → Component-1481ef6b.js} +9 -9
- package/{modern/Component-3b90d09b.d.ts → cssm/Component-8f0723b4.d.ts} +285 -51
- package/cssm/{Component-29488b22.js → Component-8f0723b4.js} +28 -23
- package/cssm/Component.js +4 -4
- package/cssm/Component.responsive.js +7 -5
- package/cssm/components/base-option/Component.js +2 -2
- package/cssm/components/base-option/index.js +1 -1
- package/cssm/components/base-select/Component.js +2 -2
- package/cssm/components/base-select/index.d.ts +1 -1
- package/cssm/components/base-select/index.js +2 -2
- package/cssm/components/base-select-mobile/Component.js +5 -3
- package/cssm/components/base-select-mobile/index.d.ts +1 -1
- package/cssm/components/base-select-mobile/index.js +5 -3
- package/cssm/components/base-select-mobile/options-list/Component.js +2 -2
- package/cssm/components/base-select-mobile/options-list/index.js +1 -1
- package/cssm/components/base-select-mobile/virtual-options-list/Component.d.ts +5 -0
- package/cssm/components/base-select-mobile/virtual-options-list/Component.js +112 -0
- package/cssm/components/base-select-mobile/virtual-options-list/index.d.ts +1 -0
- package/cssm/components/base-select-mobile/virtual-options-list/index.js +18 -0
- package/cssm/components/base-select-mobile/virtual-options-list/index.module.css +88 -0
- package/cssm/components/field/Component.js +3 -3
- package/cssm/components/field/index.js +1 -1
- package/cssm/components/index.js +5 -3
- package/cssm/components/native-select/Component.js +4 -4
- package/cssm/components/native-select/index.js +1 -1
- package/cssm/components/option/Component.js +2 -2
- package/cssm/components/option/index.js +1 -1
- package/cssm/components/options-list/Component.js +4 -4
- package/cssm/components/options-list/index.js +1 -1
- package/cssm/components/select-mobile/Component.js +5 -3
- package/cssm/components/select-mobile/index.d.ts +1 -1
- package/cssm/components/select-mobile/index.js +5 -3
- package/cssm/components/select-modal-mobile/Component.js +5 -3
- package/cssm/components/select-modal-mobile/index.d.ts +1 -1
- package/cssm/components/select-modal-mobile/index.js +5 -3
- package/cssm/components/virtual-options-list/Component.js +3 -3
- package/cssm/components/virtual-options-list/index.js +1 -1
- package/cssm/index.js +5 -3
- package/cssm/presets/index.js +5 -3
- package/cssm/presets/useLazyLoading/hook.js +9 -9
- package/cssm/presets/useSelectWithApply/hook.js +5 -3
- package/cssm/presets/useSelectWithApply/options-list-with-apply/Component.js +5 -3
- package/cssm/presets/useSelectWithApply/options-list-with-apply/index.d.ts +1 -1
- package/cssm/presets/useSelectWithApply/options-list-with-apply/index.js +5 -3
- package/cssm/presets/useSelectWithLoading/hook.js +2 -2
- package/cssm/responsive.js +5 -3
- package/cssm/utils.js +1 -1
- package/{Component-fc2a45a0.d.ts → esm/Component-23df669b.d.ts} +285 -51
- package/esm/{Component-dd382646.js → Component-23df669b.js} +15 -10
- package/esm/{Component-4b015ad5.d.ts → Component-82c9c6a4.d.ts} +0 -0
- package/esm/{Component-4b015ad5.js → Component-82c9c6a4.js} +2 -2
- package/esm/Component.js +2 -2
- package/esm/Component.responsive.js +5 -4
- package/esm/components/arrow/Component.js +1 -1
- package/esm/components/arrow/index.css +3 -3
- package/esm/components/base-checkmark/Component.js +1 -1
- package/esm/components/base-checkmark/index.css +4 -4
- package/esm/components/base-option/Component.js +2 -2
- package/esm/components/base-option/index.css +13 -13
- package/esm/components/base-option/index.js +1 -1
- package/esm/components/base-select/Component.js +2 -2
- package/esm/components/base-select/index.css +7 -7
- package/esm/components/base-select/index.d.ts +1 -1
- package/esm/components/base-select/index.js +2 -2
- package/esm/components/base-select-mobile/Component.js +5 -4
- package/esm/components/base-select-mobile/checkmark/Component.js +1 -1
- package/esm/components/base-select-mobile/checkmark/index.css +6 -6
- package/esm/components/base-select-mobile/index.css +11 -11
- package/esm/components/base-select-mobile/index.d.ts +1 -1
- package/esm/components/base-select-mobile/index.js +5 -4
- package/esm/components/base-select-mobile/options-list/Component.js +2 -2
- package/esm/components/base-select-mobile/options-list/index.css +9 -9
- package/esm/components/base-select-mobile/options-list/index.js +1 -1
- package/esm/components/base-select-mobile/virtual-options-list/Component.d.ts +5 -0
- package/esm/components/base-select-mobile/virtual-options-list/Component.js +105 -0
- package/esm/components/base-select-mobile/virtual-options-list/index.css +89 -0
- package/esm/components/base-select-mobile/virtual-options-list/index.d.ts +1 -0
- package/esm/components/base-select-mobile/virtual-options-list/index.js +10 -0
- package/esm/components/checkmark/Component.js +1 -1
- package/esm/components/checkmark/index.css +10 -10
- package/esm/components/field/Component.js +2 -2
- package/esm/components/field/index.css +9 -9
- package/esm/components/field/index.js +1 -1
- package/esm/components/index.js +5 -4
- package/esm/components/native-select/Component.js +1 -1
- package/esm/components/native-select/index.js +1 -1
- package/esm/components/optgroup/Component.js +1 -1
- package/esm/components/optgroup/index.css +6 -6
- package/esm/components/option/Component.js +2 -2
- package/esm/components/option/index.css +20 -20
- package/esm/components/option/index.js +1 -1
- package/esm/components/options-list/Component.js +2 -2
- package/esm/components/options-list/index.css +6 -6
- package/esm/components/options-list/index.js +1 -1
- package/esm/components/select-mobile/Component.js +5 -4
- package/esm/components/select-mobile/index.d.ts +1 -1
- package/esm/components/select-mobile/index.js +5 -4
- package/esm/components/select-modal-mobile/Component.js +5 -4
- package/esm/components/select-modal-mobile/index.d.ts +1 -1
- package/esm/components/select-modal-mobile/index.js +5 -4
- package/esm/components/virtual-options-list/Component.js +2 -2
- package/esm/components/virtual-options-list/index.css +12 -12
- package/esm/components/virtual-options-list/index.js +1 -1
- package/esm/index.js +5 -4
- package/esm/{intersection-observer-48ccda2c.d.ts → intersection-observer-12c920c6.d.ts} +0 -0
- package/esm/{intersection-observer-48ccda2c.js → intersection-observer-12c920c6.js} +0 -0
- package/esm/presets/index.js +5 -4
- package/esm/presets/useLazyLoading/hook.js +3 -3
- package/esm/presets/useLazyLoading/index.css +2 -2
- package/esm/presets/useSelectWithApply/hook.js +5 -4
- package/esm/presets/useSelectWithApply/options-list-with-apply/Component.js +5 -4
- package/esm/presets/useSelectWithApply/options-list-with-apply/index.css +4 -4
- package/esm/presets/useSelectWithApply/options-list-with-apply/index.d.ts +1 -1
- package/esm/presets/useSelectWithApply/options-list-with-apply/index.js +5 -4
- package/esm/presets/useSelectWithLoading/hook.js +2 -2
- package/esm/presets/useSelectWithLoading/index.css +2 -2
- package/esm/responsive.js +5 -4
- package/esm/utils.js +1 -1
- package/index.js +5 -4
- package/{intersection-observer-404c5a30.d.ts → intersection-observer-31caed5c.d.ts} +0 -0
- package/{intersection-observer-404c5a30.js → intersection-observer-31caed5c.js} +0 -0
- package/{esm/Component-dd382646.d.ts → modern/Component-629f202b.d.ts} +285 -51
- package/modern/{Component-3b90d09b.js → Component-629f202b.js} +14 -9
- package/modern/{Component-19b9374d.d.ts → Component-c2743e76.d.ts} +0 -0
- package/modern/{Component-19b9374d.js → Component-c2743e76.js} +1 -1
- package/modern/Component.js +1 -1
- package/modern/Component.responsive.js +4 -3
- package/modern/components/arrow/Component.js +1 -1
- package/modern/components/arrow/index.css +3 -3
- package/modern/components/base-checkmark/Component.js +1 -1
- package/modern/components/base-checkmark/index.css +4 -4
- package/modern/components/base-option/Component.js +1 -1
- package/modern/components/base-option/index.css +13 -13
- package/modern/components/base-select/Component.js +1 -1
- package/modern/components/base-select/index.css +7 -7
- package/modern/components/base-select/index.d.ts +1 -1
- package/modern/components/base-select/index.js +1 -1
- package/modern/components/base-select-mobile/Component.js +4 -3
- package/modern/components/base-select-mobile/checkmark/Component.js +1 -1
- package/modern/components/base-select-mobile/checkmark/index.css +6 -6
- package/modern/components/base-select-mobile/index.css +11 -11
- package/modern/components/base-select-mobile/index.d.ts +1 -1
- package/modern/components/base-select-mobile/index.js +4 -3
- package/modern/components/base-select-mobile/options-list/Component.js +1 -1
- package/modern/components/base-select-mobile/options-list/index.css +9 -9
- package/modern/components/base-select-mobile/virtual-options-list/Component.d.ts +5 -0
- package/modern/components/base-select-mobile/virtual-options-list/Component.js +99 -0
- package/modern/components/base-select-mobile/virtual-options-list/index.css +89 -0
- package/modern/components/base-select-mobile/virtual-options-list/index.d.ts +1 -0
- package/modern/components/base-select-mobile/virtual-options-list/index.js +9 -0
- package/modern/components/checkmark/Component.js +1 -1
- package/modern/components/checkmark/index.css +10 -10
- package/modern/components/field/Component.js +1 -1
- package/modern/components/field/index.css +9 -9
- package/modern/components/index.js +4 -3
- package/modern/components/optgroup/Component.js +1 -1
- package/modern/components/optgroup/index.css +6 -6
- package/modern/components/option/Component.js +1 -1
- package/modern/components/option/index.css +20 -20
- package/modern/components/options-list/Component.js +1 -1
- package/modern/components/options-list/index.css +6 -6
- package/modern/components/select-mobile/Component.js +4 -3
- package/modern/components/select-mobile/index.d.ts +1 -1
- package/modern/components/select-mobile/index.js +4 -3
- package/modern/components/select-modal-mobile/Component.js +4 -3
- package/modern/components/select-modal-mobile/index.d.ts +1 -1
- package/modern/components/select-modal-mobile/index.js +4 -3
- package/modern/components/virtual-options-list/Component.js +1 -1
- package/modern/components/virtual-options-list/index.css +12 -12
- package/modern/index.js +4 -3
- package/modern/{intersection-observer-48ccda2c.d.ts → intersection-observer-12c920c6.d.ts} +0 -0
- package/modern/{intersection-observer-48ccda2c.js → intersection-observer-12c920c6.js} +0 -0
- package/modern/presets/index.js +4 -3
- package/modern/presets/useLazyLoading/hook.js +2 -2
- package/modern/presets/useLazyLoading/index.css +2 -2
- package/modern/presets/useSelectWithApply/hook.js +4 -3
- package/modern/presets/useSelectWithApply/options-list-with-apply/Component.js +4 -3
- package/modern/presets/useSelectWithApply/options-list-with-apply/index.css +4 -4
- package/modern/presets/useSelectWithApply/options-list-with-apply/index.d.ts +1 -1
- package/modern/presets/useSelectWithApply/options-list-with-apply/index.js +4 -3
- package/modern/presets/useSelectWithLoading/hook.js +1 -1
- package/modern/presets/useSelectWithLoading/index.css +2 -2
- package/modern/responsive.js +4 -3
- package/modern/utils.js +1 -1
- package/package.json +14 -13
- package/presets/index.js +5 -4
- package/presets/useLazyLoading/hook.js +11 -11
- package/presets/useLazyLoading/index.css +2 -2
- package/presets/useSelectWithApply/hook.js +5 -4
- package/presets/useSelectWithApply/options-list-with-apply/Component.js +5 -4
- package/presets/useSelectWithApply/options-list-with-apply/index.css +4 -4
- package/presets/useSelectWithApply/options-list-with-apply/index.d.ts +1 -1
- package/presets/useSelectWithApply/options-list-with-apply/index.js +5 -4
- package/presets/useSelectWithLoading/hook.js +3 -3
- package/presets/useSelectWithLoading/index.css +2 -2
- package/responsive.js +5 -4
- package/utils.js +1 -1
- package/cssm/tslib.es6-0e9bf404.d.ts +0 -36
- package/cssm/tslib.es6-0e9bf404.js +0 -54
- package/esm/tslib.es6-427aef08.d.ts +0 -36
- package/esm/tslib.es6-427aef08.js +0 -51
- package/tslib.es6-a986f11c.d.ts +0 -36
- package/tslib.es6-a986f11c.js +0 -54
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var tslib = require('tslib');
|
|
4
4
|
var React = require('react');
|
|
5
5
|
var hooks = require('@alfalab/hooks');
|
|
6
6
|
var Component = require('./Component.js');
|
|
7
7
|
require('classnames');
|
|
8
8
|
require('@alfalab/icons-glyph/ChevronDownMIcon');
|
|
9
9
|
require('./components/arrow/index.module.css');
|
|
10
|
-
require('./Component-
|
|
11
|
-
var presets_useSelectWithApply_optionsListWithApply_Component = require('./Component-
|
|
10
|
+
require('./Component-1481ef6b.js');
|
|
11
|
+
var presets_useSelectWithApply_optionsListWithApply_Component = require('./Component-8f0723b4.js');
|
|
12
12
|
require('@alfalab/core-components-form-control/cssm');
|
|
13
13
|
require('./components/field/index.module.css');
|
|
14
14
|
require('./components/optgroup/index.module.css');
|
|
@@ -51,6 +51,8 @@ require('./presets/useSelectWithApply/options-list-with-apply/index.module.css')
|
|
|
51
51
|
require('./components/base-select-mobile/options-list/Component.js');
|
|
52
52
|
require('@alfalab/core-components-base-modal/cssm');
|
|
53
53
|
require('./components/base-select-mobile/options-list/index.module.css');
|
|
54
|
+
require('./components/base-select-mobile/virtual-options-list/Component.js');
|
|
55
|
+
require('./components/base-select-mobile/virtual-options-list/index.module.css');
|
|
54
56
|
require('./components/base-select-mobile/index.module.css');
|
|
55
57
|
require('./components/options-list/index.module.css');
|
|
56
58
|
|
|
@@ -59,12 +61,12 @@ function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'defau
|
|
|
59
61
|
var React__default = /*#__PURE__*/_interopDefaultCompat(React);
|
|
60
62
|
|
|
61
63
|
var SelectResponsive = React.forwardRef(function (_a, ref) {
|
|
62
|
-
var footer = _a.footer, swipeable = _a.swipeable, bottomSheetProps = _a.bottomSheetProps, OptionsList = _a.OptionsList, onScroll = _a.onScroll, fieldProps = _a.fieldProps, _b = _a.breakpoint, breakpoint = _b === void 0 ? 1024 : _b, restProps =
|
|
64
|
+
var footer = _a.footer, swipeable = _a.swipeable, bottomSheetProps = _a.bottomSheetProps, OptionsList = _a.OptionsList, onScroll = _a.onScroll, fieldProps = _a.fieldProps, _b = _a.breakpoint, breakpoint = _b === void 0 ? 1024 : _b, restProps = tslib.__rest(_a, ["footer", "swipeable", "bottomSheetProps", "OptionsList", "onScroll", "fieldProps", "breakpoint"]);
|
|
63
65
|
var view = hooks.useMedia([
|
|
64
66
|
['mobile', "(max-width: ".concat(breakpoint - 1, "px)")],
|
|
65
67
|
['desktop', "(min-width: ".concat(breakpoint, "px)")],
|
|
66
68
|
], 'desktop')[0];
|
|
67
|
-
return view === 'desktop' ? (React__default.default.createElement(Component.Select,
|
|
69
|
+
return view === 'desktop' ? (React__default.default.createElement(Component.Select, tslib.__assign({ OptionsList: OptionsList, onScroll: onScroll }, restProps, { ref: ref, fieldProps: fieldProps }))) : (React__default.default.createElement(presets_useSelectWithApply_optionsListWithApply_Component.SelectMobile, tslib.__assign({ footer: footer, swipeable: swipeable, bottomSheetProps: bottomSheetProps, fieldProps: fieldProps }, restProps, { ref: ref })));
|
|
68
70
|
});
|
|
69
71
|
|
|
70
72
|
exports.SelectResponsive = SelectResponsive;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var tslib = require('tslib');
|
|
4
4
|
var React = require('react');
|
|
5
5
|
var cn = require('classnames');
|
|
6
6
|
var components_baseCheckmark_Component = require('../base-checkmark/Component.js');
|
|
@@ -27,7 +27,7 @@ var BaseOption = function (_a) {
|
|
|
27
27
|
}
|
|
28
28
|
return null;
|
|
29
29
|
};
|
|
30
|
-
return (React__default.default.createElement("div",
|
|
30
|
+
return (React__default.default.createElement("div", tslib.__assign({}, innerProps, { className: cn__default.default(styles__default.default.option, className, (_b = {},
|
|
31
31
|
_b[styles__default.default.highlighted] = highlighted,
|
|
32
32
|
_b[styles__default.default.selected] = selected,
|
|
33
33
|
_b[styles__default.default.disabled] = disabled,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
require('
|
|
3
|
+
require('tslib');
|
|
4
4
|
require('react');
|
|
5
5
|
require('react-merge-refs');
|
|
6
6
|
require('@juggle/resize-observer');
|
|
@@ -8,7 +8,7 @@ require('classnames');
|
|
|
8
8
|
require('downshift');
|
|
9
9
|
require('@alfalab/core-components-popover/cssm');
|
|
10
10
|
require('@alfalab/hooks');
|
|
11
|
-
var components_baseSelect_Component = require('../../Component-
|
|
11
|
+
var components_baseSelect_Component = require('../../Component-1481ef6b.js');
|
|
12
12
|
require('../../utils.js');
|
|
13
13
|
require('../native-select/Component.js');
|
|
14
14
|
require('./index.module.css');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export * from "../../Component-
|
|
1
|
+
export * from "../../Component-1481ef6b";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var components_baseSelect_Component = require('../../Component-
|
|
4
|
-
require('
|
|
3
|
+
var components_baseSelect_Component = require('../../Component-1481ef6b.js');
|
|
4
|
+
require('tslib');
|
|
5
5
|
require('react');
|
|
6
6
|
require('react-merge-refs');
|
|
7
7
|
require('@juggle/resize-observer');
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
require('
|
|
3
|
+
require('tslib');
|
|
4
4
|
require('react');
|
|
5
5
|
require('react-merge-refs');
|
|
6
6
|
require('classnames');
|
|
@@ -9,8 +9,8 @@ require('@alfalab/core-components-bottom-sheet/cssm');
|
|
|
9
9
|
require('@alfalab/core-components-modal/cssm/mobile');
|
|
10
10
|
require('../../Component.js');
|
|
11
11
|
require('../arrow/Component.js');
|
|
12
|
-
require('../../Component-
|
|
13
|
-
var presets_useSelectWithApply_optionsListWithApply_Component = require('../../Component-
|
|
12
|
+
require('../../Component-1481ef6b.js');
|
|
13
|
+
var presets_useSelectWithApply_optionsListWithApply_Component = require('../../Component-8f0723b4.js');
|
|
14
14
|
require('../field/Component.js');
|
|
15
15
|
require('../optgroup/Component.js');
|
|
16
16
|
require('../option/Component.js');
|
|
@@ -28,6 +28,7 @@ require('../../intersection-observer-9ec5cf59.js');
|
|
|
28
28
|
require('../base-checkmark/Component.js');
|
|
29
29
|
require('./checkmark/Component.js');
|
|
30
30
|
require('./options-list/Component.js');
|
|
31
|
+
require('./virtual-options-list/Component.js');
|
|
31
32
|
require('./index.module.css');
|
|
32
33
|
require('@alfalab/icons-glyph/ChevronDownMIcon');
|
|
33
34
|
require('../arrow/index.module.css');
|
|
@@ -53,6 +54,7 @@ require('../base-option/index.module.css');
|
|
|
53
54
|
require('../../presets/useSelectWithApply/options-list-with-apply/index.module.css');
|
|
54
55
|
require('@alfalab/core-components-base-modal/cssm');
|
|
55
56
|
require('./options-list/index.module.css');
|
|
57
|
+
require('./virtual-options-list/index.module.css');
|
|
56
58
|
|
|
57
59
|
|
|
58
60
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export * from "../../Component-
|
|
1
|
+
export * from "../../Component-8f0723b4";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var presets_useSelectWithApply_optionsListWithApply_Component = require('../../Component-
|
|
4
|
-
require('
|
|
3
|
+
var presets_useSelectWithApply_optionsListWithApply_Component = require('../../Component-8f0723b4.js');
|
|
4
|
+
require('tslib');
|
|
5
5
|
require('react');
|
|
6
6
|
require('../arrow/Component.js');
|
|
7
7
|
require('classnames');
|
|
@@ -12,7 +12,7 @@ require('downshift');
|
|
|
12
12
|
require('@alfalab/core-components-bottom-sheet/cssm');
|
|
13
13
|
require('@alfalab/core-components-modal/cssm/mobile');
|
|
14
14
|
require('../../Component.js');
|
|
15
|
-
require('../../Component-
|
|
15
|
+
require('../../Component-1481ef6b.js');
|
|
16
16
|
require('@juggle/resize-observer');
|
|
17
17
|
require('@alfalab/core-components-popover/cssm');
|
|
18
18
|
require('@alfalab/hooks');
|
|
@@ -52,6 +52,8 @@ require('../../presets/useSelectWithApply/options-list-with-apply/index.module.c
|
|
|
52
52
|
require('./options-list/Component.js');
|
|
53
53
|
require('@alfalab/core-components-base-modal/cssm');
|
|
54
54
|
require('./options-list/index.module.css');
|
|
55
|
+
require('./virtual-options-list/Component.js');
|
|
56
|
+
require('./virtual-options-list/index.module.css');
|
|
55
57
|
require('./index.module.css');
|
|
56
58
|
|
|
57
59
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var tslib = require('tslib');
|
|
4
4
|
var React = require('react');
|
|
5
5
|
var cn = require('classnames');
|
|
6
6
|
var coreComponentsBaseModal = require('@alfalab/core-components-base-modal/cssm');
|
|
@@ -28,7 +28,7 @@ var OptionsList = function (_a) {
|
|
|
28
28
|
React.useEffect(function () {
|
|
29
29
|
setHasFooter(true);
|
|
30
30
|
}, [setHasFooter]);
|
|
31
|
-
var renderOption = function (option, index) { return (React__default.default.createElement(Option,
|
|
31
|
+
var renderOption = function (option, index) { return (React__default.default.createElement(Option, tslib.__assign({ key: option.key }, getOptionProps(option, index)))); };
|
|
32
32
|
var counter = createCounter();
|
|
33
33
|
var renderGroup = 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()); }))); };
|
|
34
34
|
if (options.length === 0 && !emptyPlaceholder) {
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import React from 'react';
|
|
3
|
+
import { OptionsListProps } from "../../../typings";
|
|
4
|
+
declare const VirtualOptionsList: React.ForwardRefExoticComponent<OptionsListProps & React.RefAttributes<HTMLDivElement>>;
|
|
5
|
+
export { VirtualOptionsList };
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var tslib = require('tslib');
|
|
4
|
+
var React = require('react');
|
|
5
|
+
var reactVirtual = require('react-virtual');
|
|
6
|
+
var cn = require('classnames');
|
|
7
|
+
var coreComponentsBaseModal = require('@alfalab/core-components-base-modal/cssm');
|
|
8
|
+
var coreComponentsButton = require('@alfalab/core-components-button/cssm');
|
|
9
|
+
var hooks = require('@alfalab/hooks');
|
|
10
|
+
var utils = require('../../../utils.js');
|
|
11
|
+
var components_optgroup_Component = require('../../optgroup/Component.js');
|
|
12
|
+
var styles = require('./index.module.css');
|
|
13
|
+
require('../../optgroup/index.module.css');
|
|
14
|
+
|
|
15
|
+
function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
|
|
16
|
+
|
|
17
|
+
var React__default = /*#__PURE__*/_interopDefaultCompat(React);
|
|
18
|
+
var cn__default = /*#__PURE__*/_interopDefaultCompat(cn);
|
|
19
|
+
var styles__default = /*#__PURE__*/_interopDefaultCompat(styles);
|
|
20
|
+
|
|
21
|
+
var VirtualOptionsList = React.forwardRef(function (_a, ref) {
|
|
22
|
+
var _b;
|
|
23
|
+
var _c = _a.flatOptions, flatOptions = _c === void 0 ? [] : _c, _d = _a.highlightedIndex, highlightedIndex = _d === void 0 ? -1 : _d, _e = _a.size, size = _e === void 0 ? 's' : _e, className = _a.className, Option = _a.Option, getOptionProps = _a.getOptionProps, _f = _a.options, options = _f === void 0 ? [] : _f, _g = _a.Optgroup, Optgroup = _g === void 0 ? components_optgroup_Component.Optgroup : _g, dataTestId = _a.dataTestId, emptyPlaceholder = _a.emptyPlaceholder, showFooter = _a.showFooter, open = _a.open, _h = _a.onApply, onApply = _h === void 0 ? function () { return null; } : _h, _j = _a.onClear, onClear = _j === void 0 ? function () { return null; } : _j;
|
|
24
|
+
var _k = React.useContext(coreComponentsBaseModal.BaseModalContext), footerHighlighted = _k.footerHighlighted, setHasFooter = _k.setHasFooter;
|
|
25
|
+
React.useEffect(function () {
|
|
26
|
+
setHasFooter(true);
|
|
27
|
+
}, [setHasFooter]);
|
|
28
|
+
var listRef = React.useRef(null);
|
|
29
|
+
var prevHighlightedIndex = hooks.usePrevious(highlightedIndex) || -1;
|
|
30
|
+
var parentRef = ref && typeof ref === 'object' ? ref : listRef;
|
|
31
|
+
var rowVirtualizer = reactVirtual.useVirtual({
|
|
32
|
+
size: flatOptions.length,
|
|
33
|
+
parentRef: parentRef,
|
|
34
|
+
overscan: 15,
|
|
35
|
+
});
|
|
36
|
+
// Сколл к выбранному пункту при открытии меню
|
|
37
|
+
React.useEffect(function () {
|
|
38
|
+
if (open) {
|
|
39
|
+
rowVirtualizer.scrollToIndex(highlightedIndex, { align: 'end' });
|
|
40
|
+
}
|
|
41
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
42
|
+
}, [open]);
|
|
43
|
+
// Скролл к пункту, которого нет на экране
|
|
44
|
+
React.useEffect(function () {
|
|
45
|
+
if (highlightedIndex === -1)
|
|
46
|
+
return;
|
|
47
|
+
if (!rowVirtualizer.virtualItems.some(function (option) { return option.index === highlightedIndex; })) {
|
|
48
|
+
rowVirtualizer.scrollToIndex(highlightedIndex, { align: 'end' });
|
|
49
|
+
}
|
|
50
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
51
|
+
}, [highlightedIndex]);
|
|
52
|
+
// Циклическая навигация
|
|
53
|
+
React.useEffect(function () {
|
|
54
|
+
var notDisabled = function (option) { return !option.disabled; };
|
|
55
|
+
var firstNonDisabled = flatOptions.findIndex(notDisabled);
|
|
56
|
+
var lastNonDisabled = utils.lastIndexOf(flatOptions, notDisabled);
|
|
57
|
+
if (prevHighlightedIndex <= firstNonDisabled &&
|
|
58
|
+
highlightedIndex === flatOptions.length - 1) {
|
|
59
|
+
rowVirtualizer.scrollToIndex(lastNonDisabled);
|
|
60
|
+
}
|
|
61
|
+
if (prevHighlightedIndex >= lastNonDisabled && highlightedIndex === 0) {
|
|
62
|
+
rowVirtualizer.scrollToIndex(0);
|
|
63
|
+
}
|
|
64
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
65
|
+
}, [prevHighlightedIndex, highlightedIndex]);
|
|
66
|
+
// Т.к. рендерится плоский список, необходимо знать индекс, когда начинается новая группа
|
|
67
|
+
var groupStartIndexes = React.useMemo(function () {
|
|
68
|
+
var currentIndex = 0;
|
|
69
|
+
return options.reduce(function (acc, option, index) {
|
|
70
|
+
if (utils.isGroup(option)) {
|
|
71
|
+
acc[currentIndex] = index;
|
|
72
|
+
currentIndex += option.options.length;
|
|
73
|
+
}
|
|
74
|
+
else {
|
|
75
|
+
currentIndex += 1;
|
|
76
|
+
}
|
|
77
|
+
return acc;
|
|
78
|
+
}, {});
|
|
79
|
+
}, [options]);
|
|
80
|
+
var contentNodeProps = {
|
|
81
|
+
className: styles__default.default.inner,
|
|
82
|
+
style: { height: "".concat(rowVirtualizer.totalSize, "px") },
|
|
83
|
+
ref: listRef,
|
|
84
|
+
};
|
|
85
|
+
var renderList = function () {
|
|
86
|
+
return rowVirtualizer.virtualItems.map(function (virtualRow) {
|
|
87
|
+
var _a;
|
|
88
|
+
var option = flatOptions[virtualRow.index];
|
|
89
|
+
var group = options[groupStartIndexes[virtualRow.index]];
|
|
90
|
+
return (React__default.default.createElement("div", { key: virtualRow.index, ref: virtualRow.measureRef, className: cn__default.default(styles__default.default.virtualRow, (_a = {},
|
|
91
|
+
_a[styles__default.default.highlighted] = highlightedIndex === virtualRow.index,
|
|
92
|
+
_a)), style: {
|
|
93
|
+
transform: "translateY(".concat(virtualRow.start, "px)"),
|
|
94
|
+
} },
|
|
95
|
+
group && React__default.default.createElement(Optgroup, { label: group.label }),
|
|
96
|
+
!utils.isGroup(option) && (React__default.default.createElement(Option, tslib.__assign({}, getOptionProps(option, virtualRow.index))))));
|
|
97
|
+
});
|
|
98
|
+
};
|
|
99
|
+
if (options.length === 0 && !emptyPlaceholder) {
|
|
100
|
+
return null;
|
|
101
|
+
}
|
|
102
|
+
return (React__default.default.createElement("div", { className: cn__default.default(styles__default.default.virtualOptionsList, styles__default.default[size], className), "data-test-id": dataTestId },
|
|
103
|
+
React__default.default.createElement("div", tslib.__assign({}, contentNodeProps), renderList()),
|
|
104
|
+
emptyPlaceholder && options.length === 0 && (React__default.default.createElement("div", { className: styles__default.default.emptyPlaceholder }, emptyPlaceholder)),
|
|
105
|
+
showFooter && (React__default.default.createElement("div", { className: cn__default.default(styles__default.default.footer, className, (_b = {},
|
|
106
|
+
_b[styles__default.default.footerHighlighted] = footerHighlighted,
|
|
107
|
+
_b)) },
|
|
108
|
+
React__default.default.createElement(coreComponentsButton.Button, { size: 's', view: 'primary', onClick: onApply, className: styles__default.default.footerButton }, "\u041F\u0440\u0438\u043C\u0435\u043D\u0438\u0442\u044C"),
|
|
109
|
+
React__default.default.createElement(coreComponentsButton.Button, { size: 's', view: 'secondary', onClick: onClear, className: styles__default.default.footerButton }, "\u0421\u0431\u0440\u043E\u0441\u0438\u0442\u044C")))));
|
|
110
|
+
});
|
|
111
|
+
|
|
112
|
+
exports.VirtualOptionsList = VirtualOptionsList;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./Component";
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var components_baseSelectMobile_virtualOptionsList_Component = require('./Component.js');
|
|
4
|
+
require('tslib');
|
|
5
|
+
require('react');
|
|
6
|
+
require('react-virtual');
|
|
7
|
+
require('classnames');
|
|
8
|
+
require('@alfalab/core-components-base-modal/cssm');
|
|
9
|
+
require('@alfalab/core-components-button/cssm');
|
|
10
|
+
require('@alfalab/hooks');
|
|
11
|
+
require('../../../utils.js');
|
|
12
|
+
require('../../optgroup/Component.js');
|
|
13
|
+
require('../../optgroup/index.module.css');
|
|
14
|
+
require('./index.module.css');
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
exports.VirtualOptionsList = components_baseSelectMobile_virtualOptionsList_Component.VirtualOptionsList;
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
:root {
|
|
2
|
+
} /* deprecated */ :root {
|
|
3
|
+
--color-light-bg-primary: #fff;
|
|
4
|
+
--color-light-border-primary: #dbdee1;
|
|
5
|
+
--color-light-text-secondary: rgba(11, 31, 53, 0.7);
|
|
6
|
+
} :root {
|
|
7
|
+
} :root {
|
|
8
|
+
} :root {
|
|
9
|
+
|
|
10
|
+
/* Hard */
|
|
11
|
+
|
|
12
|
+
/* Up */
|
|
13
|
+
|
|
14
|
+
/* Hard up */
|
|
15
|
+
} :root {
|
|
16
|
+
} :root {
|
|
17
|
+
--gap-s: 12px;
|
|
18
|
+
--gap-m: 16px;
|
|
19
|
+
--gap-xl: 24px;
|
|
20
|
+
} :root {
|
|
21
|
+
} :root {
|
|
22
|
+
} :root {
|
|
23
|
+
|
|
24
|
+
/* options list */
|
|
25
|
+
--select-options-list-empty-placeholder-color: var(--color-light-text-secondary);
|
|
26
|
+
--select-option-divider-display: none;
|
|
27
|
+
--select-option-divider-background: var(--color-light-border-primary);
|
|
28
|
+
|
|
29
|
+
/* option */
|
|
30
|
+
|
|
31
|
+
--select-option-left-padding: var(--gap-s);
|
|
32
|
+
--select-option-right-padding: var(--gap-s);
|
|
33
|
+
|
|
34
|
+
/* checkmark */
|
|
35
|
+
|
|
36
|
+
/* optgroup */
|
|
37
|
+
} :root {
|
|
38
|
+
--select-mobile-footer-border-top: 1px solid var(--color-light-border-primary);
|
|
39
|
+
--select-mobile-footer-background-color: var(--color-light-bg-primary);
|
|
40
|
+
} .virtualOptionsList {
|
|
41
|
+
width: 100%;
|
|
42
|
+
outline: none;
|
|
43
|
+
box-sizing: border-box;
|
|
44
|
+
position: relative;
|
|
45
|
+
} .inner {
|
|
46
|
+
position: relative;
|
|
47
|
+
width: 100%;
|
|
48
|
+
} .virtualRow {
|
|
49
|
+
position: absolute;
|
|
50
|
+
top: 0;
|
|
51
|
+
left: 0;
|
|
52
|
+
width: 100%
|
|
53
|
+
} .virtualRow:before {
|
|
54
|
+
content: '';
|
|
55
|
+
position: absolute;
|
|
56
|
+
z-index: 1;
|
|
57
|
+
left: var(--select-option-left-padding);
|
|
58
|
+
right: var(--select-option-right-padding);
|
|
59
|
+
top: 0;
|
|
60
|
+
height: 1px;
|
|
61
|
+
background: var(--select-option-divider-background);
|
|
62
|
+
display: var(--select-option-divider-display);
|
|
63
|
+
} .virtualRow:first-child:before {
|
|
64
|
+
display: none;
|
|
65
|
+
} .highlighted:before,
|
|
66
|
+
.highlighted + .virtualRow:before {
|
|
67
|
+
display: none;
|
|
68
|
+
} .emptyPlaceholder {
|
|
69
|
+
padding: var(--gap-m) var(--gap-s);
|
|
70
|
+
color: var(--select-options-list-empty-placeholder-color);
|
|
71
|
+
} .l .emptyPlaceholder,
|
|
72
|
+
.xl .emptyPlaceholder {
|
|
73
|
+
padding: var(--gap-xl) var(--gap-m);
|
|
74
|
+
} .footer {
|
|
75
|
+
display: flex;
|
|
76
|
+
justify-content: space-between;
|
|
77
|
+
position: sticky;
|
|
78
|
+
padding: var(--gap-m) var(--gap-m);
|
|
79
|
+
background-color: var(--color-light-bg-primary);
|
|
80
|
+
bottom: 0
|
|
81
|
+
} .footer .footerButton:first-of-type {
|
|
82
|
+
margin-right: var(--gap-m);
|
|
83
|
+
} .footerButton {
|
|
84
|
+
width: 50%;
|
|
85
|
+
} .footerHighlighted {
|
|
86
|
+
border-top: var(--select-mobile-footer-border-top);
|
|
87
|
+
background-color: var(--select-mobile-footer-background-color);
|
|
88
|
+
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var tslib = require('tslib');
|
|
4
4
|
var React = require('react');
|
|
5
5
|
var cn = require('classnames');
|
|
6
6
|
var coreComponentsFormControl = require('@alfalab/core-components-form-control/cssm');
|
|
@@ -16,7 +16,7 @@ var styles__default = /*#__PURE__*/_interopDefaultCompat(styles);
|
|
|
16
16
|
|
|
17
17
|
var Field = function (_a) {
|
|
18
18
|
var _b;
|
|
19
|
-
var _c = _a.size, size = _c === void 0 ? 'm' : _c, open = _a.open; _a.multiple; var error = _a.error, hint = _a.hint, disabled = _a.disabled, label = _a.label, _d = _a.labelView, labelView = _d === void 0 ? 'inner' : _d, placeholder = _a.placeholder, _e = _a.selectedMultiple, selectedMultiple = _e === void 0 ? [] : _e, selected = _a.selected, rightAddons = _a.rightAddons, _f = _a.valueRenderer, valueRenderer = _f === void 0 ? utils.joinOptions : _f; _a.setSelectedItems; _a.toggleMenu; var Arrow = _a.Arrow, innerProps = _a.innerProps, dataTestId = _a.dataTestId, fieldClassName = _a.fieldClassName, restProps =
|
|
19
|
+
var _c = _a.size, size = _c === void 0 ? 'm' : _c, open = _a.open; _a.multiple; var error = _a.error, hint = _a.hint, disabled = _a.disabled, label = _a.label, _d = _a.labelView, labelView = _d === void 0 ? 'inner' : _d, placeholder = _a.placeholder, _e = _a.selectedMultiple, selectedMultiple = _e === void 0 ? [] : _e, selected = _a.selected, rightAddons = _a.rightAddons, _f = _a.valueRenderer, valueRenderer = _f === void 0 ? utils.joinOptions : _f; _a.setSelectedItems; _a.toggleMenu; var Arrow = _a.Arrow, innerProps = _a.innerProps, dataTestId = _a.dataTestId, fieldClassName = _a.fieldClassName, restProps = tslib.__rest(_a, ["size", "open", "multiple", "error", "hint", "disabled", "label", "labelView", "placeholder", "selectedMultiple", "selected", "rightAddons", "valueRenderer", "setSelectedItems", "toggleMenu", "Arrow", "innerProps", "dataTestId", "fieldClassName"]);
|
|
20
20
|
var _g = React.useState(false), focused = _g[0], setFocused = _g[1];
|
|
21
21
|
var wrapperRef = React.useRef(null);
|
|
22
22
|
var focusVisible = hooks.useFocus(wrapperRef, 'keyboard')[0];
|
|
@@ -26,7 +26,7 @@ var Field = function (_a) {
|
|
|
26
26
|
var filled = Boolean(value);
|
|
27
27
|
var showLabel = !!label && (filled || !placeholder || labelView === 'outer');
|
|
28
28
|
return (React__default.default.createElement("div", { className: styles__default.default.component, ref: wrapperRef, onFocus: handleFocus, onBlur: handleBlur },
|
|
29
|
-
React__default.default.createElement(coreComponentsFormControl.FormControl,
|
|
29
|
+
React__default.default.createElement(coreComponentsFormControl.FormControl, tslib.__assign({ fieldClassName: cn__default.default(styles__default.default.field, fieldClassName, (_b = {},
|
|
30
30
|
_b[styles__default.default.disabled] = disabled,
|
|
31
31
|
_b[styles__default.default.focusVisible] = focusVisible,
|
|
32
32
|
_b)), block: true, size: size, focused: open || focused, disabled: disabled, filled: filled, label: showLabel && label, labelView: labelView, error: error, hint: hint, rightAddons: (Arrow || rightAddons) && (React__default.default.createElement(React__default.default.Fragment, null,
|
package/cssm/components/index.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var components_arrow_Component = require('./arrow/Component.js');
|
|
4
|
-
var components_baseSelect_Component = require('../Component-
|
|
5
|
-
var presets_useSelectWithApply_optionsListWithApply_Component = require('../Component-
|
|
4
|
+
var components_baseSelect_Component = require('../Component-1481ef6b.js');
|
|
5
|
+
var presets_useSelectWithApply_optionsListWithApply_Component = require('../Component-8f0723b4.js');
|
|
6
6
|
var components_field_Component = require('./field/Component.js');
|
|
7
7
|
var components_optgroup_Component = require('./optgroup/Component.js');
|
|
8
8
|
var components_option_Component = require('./option/Component.js');
|
|
@@ -13,7 +13,7 @@ require('react');
|
|
|
13
13
|
require('classnames');
|
|
14
14
|
require('@alfalab/icons-glyph/ChevronDownMIcon');
|
|
15
15
|
require('./arrow/index.module.css');
|
|
16
|
-
require('
|
|
16
|
+
require('tslib');
|
|
17
17
|
require('react-merge-refs');
|
|
18
18
|
require('@juggle/resize-observer');
|
|
19
19
|
require('downshift');
|
|
@@ -53,6 +53,8 @@ require('./base-checkmark/Component.js');
|
|
|
53
53
|
require('./base-select-mobile/options-list/Component.js');
|
|
54
54
|
require('@alfalab/core-components-base-modal/cssm');
|
|
55
55
|
require('./base-select-mobile/options-list/index.module.css');
|
|
56
|
+
require('./base-select-mobile/virtual-options-list/Component.js');
|
|
57
|
+
require('./base-select-mobile/virtual-options-list/index.module.css');
|
|
56
58
|
require('./base-select-mobile/index.module.css');
|
|
57
59
|
|
|
58
60
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var tslib = require('tslib');
|
|
4
4
|
var React = require('react');
|
|
5
5
|
var utils = require('../../utils.js');
|
|
6
6
|
|
|
@@ -17,12 +17,12 @@ var Group = function (_a) {
|
|
|
17
17
|
return (React__default.default.createElement("optgroup", { label: label }, options.map(function (option) { return (React__default.default.createElement(Option, { option: option, key: option.key })); })));
|
|
18
18
|
};
|
|
19
19
|
var NativeSelect = React.forwardRef(function (_a, ref) {
|
|
20
|
-
var className = _a.className, disabled = _a.disabled, multiple = _a.multiple, value = _a.value, name = _a.name, options = _a.options, onChange = _a.onChange, restProps =
|
|
20
|
+
var className = _a.className, disabled = _a.disabled, multiple = _a.multiple, value = _a.value, name = _a.name, options = _a.options, onChange = _a.onChange, restProps = tslib.__rest(_a, ["className", "disabled", "multiple", "value", "name", "options", "onChange"]);
|
|
21
21
|
var handleClick = React.useCallback(function (event) {
|
|
22
22
|
event.stopPropagation();
|
|
23
23
|
}, []);
|
|
24
|
-
return (React__default.default.createElement("select",
|
|
25
|
-
return utils.isGroup(option) ? (React__default.default.createElement(Group,
|
|
24
|
+
return (React__default.default.createElement("select", tslib.__assign({ className: className, disabled: disabled, multiple: multiple, name: name, value: value, onChange: onChange, onClick: handleClick, ref: ref }, restProps), options.map(function (option) {
|
|
25
|
+
return utils.isGroup(option) ? (React__default.default.createElement(Group, tslib.__assign({}, option, { key: option.label }))) : (React__default.default.createElement(Option, { option: option, key: option.key }));
|
|
26
26
|
})));
|
|
27
27
|
});
|
|
28
28
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var tslib = require('tslib');
|
|
4
4
|
var React = require('react');
|
|
5
5
|
var cn = require('classnames');
|
|
6
6
|
var components_baseSelectMobile_checkmark_Component = require('../base-select-mobile/checkmark/Component.js');
|
|
@@ -24,7 +24,7 @@ var Option = function (_a) {
|
|
|
24
24
|
var _d = _a.size, size = _d === void 0 ? 's' : _d, className = _a.className, option = _a.option, children = _a.children, selected = _a.selected, highlighted = _a.highlighted, disabled = _a.disabled, multiple = _a.multiple, mobile = _a.mobile, _e = _a.Checkmark, Checkmark = _e === void 0 ? mobile ? components_baseSelectMobile_checkmark_Component.Checkmark : components_checkmark_Component.Checkmark : _e, innerProps = _a.innerProps, dataTestId = _a.dataTestId;
|
|
25
25
|
var content = children || option.content || option.key;
|
|
26
26
|
var _f = option.showCheckMark, showCheckMark = _f === void 0 ? true : _f;
|
|
27
|
-
return (React__default.default.createElement("div",
|
|
27
|
+
return (React__default.default.createElement("div", tslib.__assign({}, innerProps, { className: cn__default.default(styles__default.default.option, styles__default.default[size], className, (_b = {},
|
|
28
28
|
_b[styles__default.default.highlighted] = highlighted,
|
|
29
29
|
_b[styles__default.default.selected] = selected,
|
|
30
30
|
_b[styles__default.default.disabled] = disabled,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var tslib = require('tslib');
|
|
4
4
|
var React = require('react');
|
|
5
5
|
var mergeRefs = require('react-merge-refs');
|
|
6
6
|
var cn = require('classnames');
|
|
@@ -27,12 +27,12 @@ var OptionsList = React.forwardRef(function (_a, ref) {
|
|
|
27
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, optionsListWidth = _a.optionsListWidth, nativeScrollbarProp = _a.nativeScrollbar;
|
|
28
28
|
var nativeScrollbar = hooks.useMedia([[true, '(max-width: 1023px)']], false)[0];
|
|
29
29
|
nativeScrollbar = Boolean(nativeScrollbarProp !== null && nativeScrollbarProp !== void 0 ? nativeScrollbarProp : nativeScrollbar);
|
|
30
|
-
var renderOption = function (option, index) { return (React__default.default.createElement(Option,
|
|
30
|
+
var renderOption = function (option, index) { return (React__default.default.createElement(Option, tslib.__assign({ key: option.key }, getOptionProps(option, index)))); };
|
|
31
31
|
var listRef = React.useRef(null);
|
|
32
32
|
var scrollbarRef = React.useRef(null);
|
|
33
33
|
var counter = createCounter();
|
|
34
34
|
var renderGroup = 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()); }))); };
|
|
35
|
-
utils.useVisibleOptions(
|
|
35
|
+
utils.useVisibleOptions(tslib.__assign(tslib.__assign({}, (!nativeScrollbar && { styleTargetRef: scrollbarRef })), { visibleOptions: visibleOptions, listRef: listRef, open: open, invalidate: options }));
|
|
36
36
|
if (options.length === 0 && !emptyPlaceholder) {
|
|
37
37
|
return null;
|
|
38
38
|
}
|
|
@@ -50,7 +50,7 @@ var OptionsList = React.forwardRef(function (_a, ref) {
|
|
|
50
50
|
return (React__default.default.createElement(coreComponentsScrollbar.Scrollbar, { className: styles__default.default.scrollable, ref: scrollbarRef, horizontalAutoStretch: optionsListWidth === 'content', scrollableNodeProps: scrollableNodeProps, contentNodeProps: { ref: listRef } }, renderListItems()));
|
|
51
51
|
};
|
|
52
52
|
var renderWithNativeScrollbar = function () { return (React__default.default.createElement("div", { className: styles__default.default.scrollable, ref: mergeRefs__default.default([listRef, ref]), onScroll: onScroll }, renderListItems())); };
|
|
53
|
-
return (React__default.default.createElement("div",
|
|
53
|
+
return (React__default.default.createElement("div", tslib.__assign({}, (nativeScrollbar && { 'data-test-id': dataTestId }), { className: cn__default.default(styles__default.default.optionsList, styles__default.default[size], className) }),
|
|
54
54
|
header,
|
|
55
55
|
nativeScrollbar ? renderWithNativeScrollbar() : renderWithCustomScrollbar(),
|
|
56
56
|
footer));
|