@alfalab/core-components-picker-button 7.1.3 → 7.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +42 -0
- package/dist/{Component-e3395aff.d.ts → Component-a7bfcc44.d.ts} +55 -5
- package/dist/{Component-e3395aff.js → Component-a7bfcc44.js} +6 -4
- package/dist/Component.d.ts +1 -1
- package/dist/Component.js +9 -4
- package/dist/{esm/Component-a5fd3c9a.d.ts → cssm/Component-34f0d762.d.ts} +55 -5
- package/dist/cssm/{Component-c7d52094.js → Component-34f0d762.js} +5 -3
- package/dist/cssm/Component.d.ts +1 -1
- package/dist/cssm/Component.js +8 -3
- package/dist/cssm/field/Component.js +1 -1
- package/dist/cssm/field/index.d.ts +1 -1
- package/dist/cssm/field/index.js +1 -1
- package/dist/cssm/index.js +1 -1
- package/dist/cssm/index.module.css +23 -0
- package/dist/{cssm/Component-c7d52094.d.ts → esm/Component-44f528b4.d.ts} +55 -5
- package/dist/esm/{Component-a5fd3c9a.js → Component-44f528b4.js} +6 -4
- package/dist/esm/Component.d.ts +1 -1
- package/dist/esm/Component.js +9 -4
- package/dist/esm/field/Component.js +1 -1
- package/dist/esm/field/index.css +3 -3
- package/dist/esm/field/index.d.ts +1 -1
- package/dist/esm/field/index.js +1 -1
- package/dist/esm/index.css +25 -2
- package/dist/esm/index.js +1 -1
- package/dist/field/Component.js +1 -1
- package/dist/field/index.css +3 -3
- package/dist/field/index.d.ts +1 -1
- package/dist/field/index.js +1 -1
- package/dist/index.css +25 -2
- package/dist/index.js +1 -1
- package/dist/modern/Component.d.ts +1 -1
- package/dist/modern/Component.js +14 -8
- package/dist/modern/field/Component.d.ts +55 -5
- package/dist/modern/field/Component.js +6 -4
- package/dist/modern/field/index.css +3 -3
- package/dist/modern/index.css +25 -2
- package/package.json +4 -4
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,48 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
## [7.3.1](https://github.com/alfa-laboratory/core-components/compare/@alfalab/core-components-picker-button@7.3.0...@alfalab/core-components-picker-button@7.3.1) (2022-02-02)
|
|
7
|
+
|
|
8
|
+
**Note:** Version bump only for package @alfalab/core-components-picker-button
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
# [7.3.0](https://github.com/alfa-laboratory/core-components/compare/@alfalab/core-components-picker-button@7.2.0...@alfalab/core-components-picker-button@7.3.0) (2022-01-27)
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
### Features
|
|
18
|
+
|
|
19
|
+
* **picker-button:** gap между picker-button и popover в 8px ([#935](https://github.com/alfa-laboratory/core-components/issues/935)) ([9b3aa2b](https://github.com/alfa-laboratory/core-components/commit/9b3aa2b70b534d8e571baa62b973e1f67667ac43))
|
|
20
|
+
* **select:** add OptionsListWithApply ([#948](https://github.com/alfa-laboratory/core-components/issues/948)) ([d8ef8dd](https://github.com/alfa-laboratory/core-components/commit/d8ef8dd257dfc100095c923c4f3e317787ed1877))
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
# [7.2.0](https://github.com/alfa-laboratory/core-components/compare/@alfalab/core-components-picker-button@7.1.4...@alfalab/core-components-picker-button@7.2.0) (2021-12-29)
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
### Features
|
|
30
|
+
|
|
31
|
+
* **select:** чекбоксы в выпадашке множественного выбора [#903](https://github.com/alfa-laboratory/core-components/issues/903)) ([f5638ef](https://github.com/alfa-laboratory/core-components/commit/f5638ef589468de0dc0473d30871035d8c4efab5))
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
## [7.1.4](https://github.com/alfa-laboratory/core-components/compare/@alfalab/core-components-picker-button@7.1.3...@alfalab/core-components-picker-button@7.1.4) (2021-12-14)
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
### Bug Fixes
|
|
41
|
+
|
|
42
|
+
* **picker-button:** wrap field with div ([b51bce8](https://github.com/alfa-laboratory/core-components/commit/b51bce85b39583e7bb1107f56c6e64a6f2b96d5c)), closes [#914](https://github.com/alfa-laboratory/core-components/issues/914)
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
|
|
47
|
+
|
|
6
48
|
## [7.1.3](https://github.com/alfa-laboratory/core-components/compare/@alfalab/core-components-picker-button@7.1.2...@alfalab/core-components-picker-button@7.1.3) (2021-12-08)
|
|
7
49
|
|
|
8
50
|
**Note:** Version bump only for package @alfalab/core-components-picker-button
|
|
@@ -296,6 +296,10 @@ type BaseSelectProps = {
|
|
|
296
296
|
* Дополнительный класс для пункта меню
|
|
297
297
|
*/
|
|
298
298
|
optionClassName?: string;
|
|
299
|
+
/**
|
|
300
|
+
* Дополнительный класс для поповера
|
|
301
|
+
*/
|
|
302
|
+
popperClassName?: string;
|
|
299
303
|
/**
|
|
300
304
|
* Список вариантов выбора
|
|
301
305
|
*/
|
|
@@ -439,6 +443,7 @@ type BaseSelectProps = {
|
|
|
439
443
|
onChange?: (payload: {
|
|
440
444
|
selected: OptionShape | null;
|
|
441
445
|
selectedMultiple: OptionShape[];
|
|
446
|
+
initiator: OptionShape | null;
|
|
442
447
|
name?: string;
|
|
443
448
|
}) => void;
|
|
444
449
|
/**
|
|
@@ -491,6 +496,14 @@ type FieldProps = {
|
|
|
491
496
|
* Список выбранных пунктов
|
|
492
497
|
*/
|
|
493
498
|
selectedMultiple?: OptionShape[];
|
|
499
|
+
/**
|
|
500
|
+
* Метод для ручной установки выбранных пунктов
|
|
501
|
+
*/
|
|
502
|
+
setSelectedItems: (selected: OptionShape[]) => void;
|
|
503
|
+
/**
|
|
504
|
+
* Метод переключающий видимость выпадающего списка
|
|
505
|
+
*/
|
|
506
|
+
toggleMenu: () => void;
|
|
494
507
|
/**
|
|
495
508
|
* Флаг, можно ли выбрать несколько значений
|
|
496
509
|
*/
|
|
@@ -568,10 +581,31 @@ type OptionsListProps = {
|
|
|
568
581
|
/**
|
|
569
582
|
* Компонент пункта меню
|
|
570
583
|
*/
|
|
571
|
-
Option:
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
|
|
584
|
+
Option: FC<OptionProps>;
|
|
585
|
+
/**
|
|
586
|
+
* Функция для получения пропсов для ячейки
|
|
587
|
+
*/
|
|
588
|
+
getOptionProps: (option: OptionShape, index: number) => OptionProps;
|
|
589
|
+
/**
|
|
590
|
+
* Список выбранных пунктов
|
|
591
|
+
*/
|
|
592
|
+
selectedItems?: OptionShape[];
|
|
593
|
+
/**
|
|
594
|
+
* Метод для ручной установки выбранных пунктов
|
|
595
|
+
*/
|
|
596
|
+
setSelectedItems: (selected: OptionShape[]) => void;
|
|
597
|
+
/**
|
|
598
|
+
* Метод переключающий видимость выпадающего списка
|
|
599
|
+
*/
|
|
600
|
+
toggleMenu: () => void;
|
|
601
|
+
/**
|
|
602
|
+
* Контент шапки
|
|
603
|
+
*/
|
|
604
|
+
header?: ReactNode;
|
|
605
|
+
/**
|
|
606
|
+
* Контент футера
|
|
607
|
+
*/
|
|
608
|
+
footer?: ReactNode;
|
|
575
609
|
/**
|
|
576
610
|
* Список вариантов выбора
|
|
577
611
|
*/
|
|
@@ -645,7 +679,7 @@ type OptionProps = {
|
|
|
645
679
|
*/
|
|
646
680
|
option: OptionShape;
|
|
647
681
|
/**
|
|
648
|
-
*
|
|
682
|
+
* Индекс пункта
|
|
649
683
|
*/
|
|
650
684
|
index: number;
|
|
651
685
|
/**
|
|
@@ -660,6 +694,10 @@ type OptionProps = {
|
|
|
660
694
|
* Флаг, заблокирован ли данный пункт
|
|
661
695
|
*/
|
|
662
696
|
disabled?: boolean;
|
|
697
|
+
/**
|
|
698
|
+
* Флаг множественного выбора
|
|
699
|
+
*/
|
|
700
|
+
multiple?: boolean;
|
|
663
701
|
/**
|
|
664
702
|
* Компонент пункта меню
|
|
665
703
|
*/
|
|
@@ -684,6 +722,18 @@ type CheckmarkProps = {
|
|
|
684
722
|
* Флаг, данный пункт выбран
|
|
685
723
|
*/
|
|
686
724
|
selected?: boolean;
|
|
725
|
+
/**
|
|
726
|
+
* Дополнительный класс
|
|
727
|
+
*/
|
|
728
|
+
className?: string;
|
|
729
|
+
/**
|
|
730
|
+
* Флаг множественного выбора
|
|
731
|
+
*/
|
|
732
|
+
multiple?: boolean;
|
|
733
|
+
/**
|
|
734
|
+
* Расположение отметки
|
|
735
|
+
*/
|
|
736
|
+
position?: "before" | "after";
|
|
687
737
|
};
|
|
688
738
|
/**
|
|
689
739
|
* Набор констант для z-index соответствующих классов компонентов.
|
|
@@ -50,15 +50,17 @@ function __rest(s, e) {
|
|
|
50
50
|
return t;
|
|
51
51
|
}
|
|
52
52
|
|
|
53
|
-
var styles = {"iconContainer":"picker-
|
|
53
|
+
var styles = {"iconContainer":"picker-button__iconContainer_ijgnu","open":"picker-button__open_ijgnu"};
|
|
54
54
|
require('./field/index.css')
|
|
55
55
|
|
|
56
56
|
var Field = function (_a) {
|
|
57
57
|
var _b = _a.buttonSize, buttonSize = _b === void 0 ? 'm' : _b, view = _a.view, label = _a.label, open = _a.open, multiple = _a.multiple, rightAddons = _a.rightAddons, Arrow = _a.Arrow, innerProps = _a.innerProps, className = _a.className, selected = _a.selected, selectedMultiple = _a.selectedMultiple, valueRenderer = _a.valueRenderer, restProps = __rest(_a, ["buttonSize", "view", "label", "open", "multiple", "rightAddons", "Arrow", "innerProps", "className", "selected", "selectedMultiple", "valueRenderer"]);
|
|
58
58
|
var Icon = buttonSize === 'xs' ? ArrowDownSIcon.ArrowDownSIcon : ArrowDownMIcon.ArrowDownMIcon;
|
|
59
|
-
var
|
|
60
|
-
|
|
61
|
-
|
|
59
|
+
var ref = innerProps.ref, restInnerProps = __rest(innerProps, ["ref"]);
|
|
60
|
+
var buttonProps = exports.__assign(exports.__assign({}, restProps), restInnerProps);
|
|
61
|
+
return (React__default['default'].createElement("div", { ref: ref },
|
|
62
|
+
React__default['default'].createElement(coreComponentsButton.Button, exports.__assign({}, buttonProps, { rightAddons: React__default['default'].createElement("span", { className: cn__default['default'](styles.iconContainer, open && styles.open) },
|
|
63
|
+
React__default['default'].createElement(Icon, { "data-test-id": 'picker-button-icon' })), block: true, view: view, size: buttonSize, className: cn__default['default'](styles.component, view === 'primary' && styles.primary, className) }), label)));
|
|
62
64
|
};
|
|
63
65
|
|
|
64
66
|
exports.Field = Field;
|
package/dist/Component.d.ts
CHANGED
|
@@ -9,7 +9,7 @@ type PickerButtonProps = Omit<BaseSelectProps, 'Field' | 'placeholder' | 'Arrow'
|
|
|
9
9
|
*/
|
|
10
10
|
size?: PickerButtonSize;
|
|
11
11
|
};
|
|
12
|
-
declare const PickerButton: React.ForwardRefExoticComponent<Pick<BaseSelectProps, "className" | "dataTestId" | "label" | "block" | "id" | "onBlur" | "onChange" | "onScroll" | "disabled" | "name" | "fieldClassName" | "error" | "preventFlip" | "open" | "options" | "valueRenderer" | "Optgroup" | "visibleOptions" | "Option" | "optionsListClassName" | "optionClassName" | "circularNavigation" | "nativeSelect" | "defaultOpen" | "popoverPosition" | "optionsListWidth" | "optionsSize" | "optionsListProps" | "optionProps" | "onOpen" | "OptionsList" | "updatePopover" | "zIndexPopover" | "showEmptyOptionsList"> & Pick<Partial<import("@alfalab/core-components-button").ComponentProps & React.AnchorHTMLAttributes<HTMLAnchorElement>> | Partial<import("@alfalab/core-components-button").ComponentProps & React.ButtonHTMLAttributes<HTMLButtonElement>>, "view" | "leftAddons" | "loading"> & {
|
|
12
|
+
declare const PickerButton: React.ForwardRefExoticComponent<Pick<BaseSelectProps, "className" | "dataTestId" | "label" | "block" | "id" | "onBlur" | "onChange" | "onScroll" | "disabled" | "name" | "fieldClassName" | "error" | "preventFlip" | "popperClassName" | "open" | "options" | "valueRenderer" | "Optgroup" | "visibleOptions" | "Option" | "optionsListClassName" | "optionClassName" | "circularNavigation" | "nativeSelect" | "defaultOpen" | "popoverPosition" | "optionsListWidth" | "optionsSize" | "optionsListProps" | "optionProps" | "onOpen" | "OptionsList" | "updatePopover" | "zIndexPopover" | "showEmptyOptionsList"> & Pick<Partial<import("@alfalab/core-components-button").ComponentProps & React.AnchorHTMLAttributes<HTMLAnchorElement>> | Partial<import("@alfalab/core-components-button").ComponentProps & React.ButtonHTMLAttributes<HTMLButtonElement>>, "view" | "leftAddons" | "loading"> & {
|
|
13
13
|
/**
|
|
14
14
|
* Размер кнопки
|
|
15
15
|
*/
|
package/dist/Component.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
var field_Component = require('./Component-
|
|
5
|
+
var field_Component = require('./Component-a7bfcc44.js');
|
|
6
6
|
var React = require('react');
|
|
7
7
|
var cn = require('classnames');
|
|
8
8
|
var coreComponentsSelect = require('@alfalab/core-components-select');
|
|
@@ -15,18 +15,23 @@ 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 = {"container":"picker-
|
|
18
|
+
var styles = {"container":"picker-button__container_1ixbb","optionsPopover":"picker-button__optionsPopover_1ixbb","sideGap":"picker-button__sideGap_1ixbb","optionsListContainer":"picker-button__optionsListContainer_1ixbb"};
|
|
19
19
|
require('./index.css')
|
|
20
20
|
|
|
21
|
+
var SIDE_POSITIONS = ['right', 'right-start', 'right-end', 'left', 'left-start', 'left-end'];
|
|
21
22
|
var PickerButton = React.forwardRef(function (_a, ref) {
|
|
22
|
-
var _b
|
|
23
|
+
var _b;
|
|
24
|
+
var _c = _a.OptionsList, OptionsList = _c === void 0 ? coreComponentsSelect.OptionsList : _c, _d = _a.Optgroup, Optgroup = _d === void 0 ? coreComponentsSelect.Optgroup : _d, _e = _a.Option, Option = _e === void 0 ? coreComponentsSelect.Option : _e, view = _a.view, loading = _a.loading, _f = _a.size, size = _f === void 0 ? 'm' : _f, className = _a.className, leftAddons = _a.leftAddons, popperClassName = _a.popperClassName, optionsListClassName = _a.optionsListClassName, restProps = field_Component.__rest(_a, ["OptionsList", "Optgroup", "Option", "view", "loading", "size", "className", "leftAddons", "popperClassName", "optionsListClassName"]);
|
|
25
|
+
var isSideGap = !!restProps.popoverPosition && SIDE_POSITIONS.includes(restProps.popoverPosition);
|
|
23
26
|
return (React__default['default'].createElement(coreComponentsSelect.BaseSelect, field_Component.__assign({}, restProps, { ref: ref, Option: Option, Field: field_Component.Field, size: size === 'm' ? 'm' : 's', fieldProps: {
|
|
24
27
|
view: view,
|
|
25
28
|
loading: loading,
|
|
26
29
|
/** size у select, button несовместимы */
|
|
27
30
|
buttonSize: size,
|
|
28
31
|
leftAddons: leftAddons,
|
|
29
|
-
}, Optgroup: Optgroup, OptionsList: OptionsList, className: cn__default['default'](styles.container, className),
|
|
32
|
+
}, Optgroup: Optgroup, OptionsList: OptionsList, className: cn__default['default'](styles.container, className), popperClassName: cn__default['default'](styles.optionsPopover, popperClassName, (_b = {},
|
|
33
|
+
_b[styles.sideGap] = isSideGap,
|
|
34
|
+
_b)), optionsListClassName: cn__default['default'](styles.optionsListContainer, optionsListClassName), selected: [], closeOnSelect: true })));
|
|
30
35
|
});
|
|
31
36
|
|
|
32
37
|
exports.PickerButton = PickerButton;
|
|
@@ -296,6 +296,10 @@ type BaseSelectProps = {
|
|
|
296
296
|
* Дополнительный класс для пункта меню
|
|
297
297
|
*/
|
|
298
298
|
optionClassName?: string;
|
|
299
|
+
/**
|
|
300
|
+
* Дополнительный класс для поповера
|
|
301
|
+
*/
|
|
302
|
+
popperClassName?: string;
|
|
299
303
|
/**
|
|
300
304
|
* Список вариантов выбора
|
|
301
305
|
*/
|
|
@@ -439,6 +443,7 @@ type BaseSelectProps = {
|
|
|
439
443
|
onChange?: (payload: {
|
|
440
444
|
selected: OptionShape | null;
|
|
441
445
|
selectedMultiple: OptionShape[];
|
|
446
|
+
initiator: OptionShape | null;
|
|
442
447
|
name?: string;
|
|
443
448
|
}) => void;
|
|
444
449
|
/**
|
|
@@ -491,6 +496,14 @@ type FieldProps = {
|
|
|
491
496
|
* Список выбранных пунктов
|
|
492
497
|
*/
|
|
493
498
|
selectedMultiple?: OptionShape[];
|
|
499
|
+
/**
|
|
500
|
+
* Метод для ручной установки выбранных пунктов
|
|
501
|
+
*/
|
|
502
|
+
setSelectedItems: (selected: OptionShape[]) => void;
|
|
503
|
+
/**
|
|
504
|
+
* Метод переключающий видимость выпадающего списка
|
|
505
|
+
*/
|
|
506
|
+
toggleMenu: () => void;
|
|
494
507
|
/**
|
|
495
508
|
* Флаг, можно ли выбрать несколько значений
|
|
496
509
|
*/
|
|
@@ -568,10 +581,31 @@ type OptionsListProps = {
|
|
|
568
581
|
/**
|
|
569
582
|
* Компонент пункта меню
|
|
570
583
|
*/
|
|
571
|
-
Option:
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
|
|
584
|
+
Option: FC<OptionProps>;
|
|
585
|
+
/**
|
|
586
|
+
* Функция для получения пропсов для ячейки
|
|
587
|
+
*/
|
|
588
|
+
getOptionProps: (option: OptionShape, index: number) => OptionProps;
|
|
589
|
+
/**
|
|
590
|
+
* Список выбранных пунктов
|
|
591
|
+
*/
|
|
592
|
+
selectedItems?: OptionShape[];
|
|
593
|
+
/**
|
|
594
|
+
* Метод для ручной установки выбранных пунктов
|
|
595
|
+
*/
|
|
596
|
+
setSelectedItems: (selected: OptionShape[]) => void;
|
|
597
|
+
/**
|
|
598
|
+
* Метод переключающий видимость выпадающего списка
|
|
599
|
+
*/
|
|
600
|
+
toggleMenu: () => void;
|
|
601
|
+
/**
|
|
602
|
+
* Контент шапки
|
|
603
|
+
*/
|
|
604
|
+
header?: ReactNode;
|
|
605
|
+
/**
|
|
606
|
+
* Контент футера
|
|
607
|
+
*/
|
|
608
|
+
footer?: ReactNode;
|
|
575
609
|
/**
|
|
576
610
|
* Список вариантов выбора
|
|
577
611
|
*/
|
|
@@ -645,7 +679,7 @@ type OptionProps = {
|
|
|
645
679
|
*/
|
|
646
680
|
option: OptionShape;
|
|
647
681
|
/**
|
|
648
|
-
*
|
|
682
|
+
* Индекс пункта
|
|
649
683
|
*/
|
|
650
684
|
index: number;
|
|
651
685
|
/**
|
|
@@ -660,6 +694,10 @@ type OptionProps = {
|
|
|
660
694
|
* Флаг, заблокирован ли данный пункт
|
|
661
695
|
*/
|
|
662
696
|
disabled?: boolean;
|
|
697
|
+
/**
|
|
698
|
+
* Флаг множественного выбора
|
|
699
|
+
*/
|
|
700
|
+
multiple?: boolean;
|
|
663
701
|
/**
|
|
664
702
|
* Компонент пункта меню
|
|
665
703
|
*/
|
|
@@ -684,6 +722,18 @@ type CheckmarkProps = {
|
|
|
684
722
|
* Флаг, данный пункт выбран
|
|
685
723
|
*/
|
|
686
724
|
selected?: boolean;
|
|
725
|
+
/**
|
|
726
|
+
* Дополнительный класс
|
|
727
|
+
*/
|
|
728
|
+
className?: string;
|
|
729
|
+
/**
|
|
730
|
+
* Флаг множественного выбора
|
|
731
|
+
*/
|
|
732
|
+
multiple?: boolean;
|
|
733
|
+
/**
|
|
734
|
+
* Расположение отметки
|
|
735
|
+
*/
|
|
736
|
+
position?: "before" | "after";
|
|
687
737
|
};
|
|
688
738
|
/**
|
|
689
739
|
* Набор констант для z-index соответствующих классов компонентов.
|
|
@@ -55,9 +55,11 @@ function __rest(s, e) {
|
|
|
55
55
|
var Field = function (_a) {
|
|
56
56
|
var _b = _a.buttonSize, buttonSize = _b === void 0 ? 'm' : _b, view = _a.view, label = _a.label, open = _a.open, multiple = _a.multiple, rightAddons = _a.rightAddons, Arrow = _a.Arrow, innerProps = _a.innerProps, className = _a.className, selected = _a.selected, selectedMultiple = _a.selectedMultiple, valueRenderer = _a.valueRenderer, restProps = __rest(_a, ["buttonSize", "view", "label", "open", "multiple", "rightAddons", "Arrow", "innerProps", "className", "selected", "selectedMultiple", "valueRenderer"]);
|
|
57
57
|
var Icon = buttonSize === 'xs' ? ArrowDownSIcon.ArrowDownSIcon : ArrowDownMIcon.ArrowDownMIcon;
|
|
58
|
-
var
|
|
59
|
-
|
|
60
|
-
|
|
58
|
+
var ref = innerProps.ref, restInnerProps = __rest(innerProps, ["ref"]);
|
|
59
|
+
var buttonProps = exports.__assign(exports.__assign({}, restProps), restInnerProps);
|
|
60
|
+
return (React__default['default'].createElement("div", { ref: ref },
|
|
61
|
+
React__default['default'].createElement(coreComponentsButton.Button, exports.__assign({}, buttonProps, { rightAddons: React__default['default'].createElement("span", { className: cn__default['default'](styles__default['default'].iconContainer, open && styles__default['default'].open) },
|
|
62
|
+
React__default['default'].createElement(Icon, { "data-test-id": 'picker-button-icon' })), block: true, view: view, size: buttonSize, className: cn__default['default'](styles__default['default'].component, view === 'primary' && styles__default['default'].primary, className) }), label)));
|
|
61
63
|
};
|
|
62
64
|
|
|
63
65
|
exports.Field = Field;
|
package/dist/cssm/Component.d.ts
CHANGED
|
@@ -9,7 +9,7 @@ type PickerButtonProps = Omit<BaseSelectProps, 'Field' | 'placeholder' | 'Arrow'
|
|
|
9
9
|
*/
|
|
10
10
|
size?: PickerButtonSize;
|
|
11
11
|
};
|
|
12
|
-
declare const PickerButton: React.ForwardRefExoticComponent<Pick<BaseSelectProps, "className" | "dataTestId" | "label" | "block" | "id" | "onBlur" | "onChange" | "onScroll" | "disabled" | "name" | "fieldClassName" | "error" | "preventFlip" | "open" | "options" | "valueRenderer" | "Optgroup" | "visibleOptions" | "Option" | "optionsListClassName" | "optionClassName" | "circularNavigation" | "nativeSelect" | "defaultOpen" | "popoverPosition" | "optionsListWidth" | "optionsSize" | "optionsListProps" | "optionProps" | "onOpen" | "OptionsList" | "updatePopover" | "zIndexPopover" | "showEmptyOptionsList"> & Pick<Partial<import("@alfalab/core-components-button").ComponentProps & React.AnchorHTMLAttributes<HTMLAnchorElement>> | Partial<import("@alfalab/core-components-button").ComponentProps & React.ButtonHTMLAttributes<HTMLButtonElement>>, "view" | "leftAddons" | "loading"> & {
|
|
12
|
+
declare const PickerButton: React.ForwardRefExoticComponent<Pick<BaseSelectProps, "className" | "dataTestId" | "label" | "block" | "id" | "onBlur" | "onChange" | "onScroll" | "disabled" | "name" | "fieldClassName" | "error" | "preventFlip" | "popperClassName" | "open" | "options" | "valueRenderer" | "Optgroup" | "visibleOptions" | "Option" | "optionsListClassName" | "optionClassName" | "circularNavigation" | "nativeSelect" | "defaultOpen" | "popoverPosition" | "optionsListWidth" | "optionsSize" | "optionsListProps" | "optionProps" | "onOpen" | "OptionsList" | "updatePopover" | "zIndexPopover" | "showEmptyOptionsList"> & Pick<Partial<import("@alfalab/core-components-button").ComponentProps & React.AnchorHTMLAttributes<HTMLAnchorElement>> | Partial<import("@alfalab/core-components-button").ComponentProps & React.ButtonHTMLAttributes<HTMLButtonElement>>, "view" | "leftAddons" | "loading"> & {
|
|
13
13
|
/**
|
|
14
14
|
* Размер кнопки
|
|
15
15
|
*/
|
package/dist/cssm/Component.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
var field_Component = require('./Component-
|
|
5
|
+
var field_Component = require('./Component-34f0d762.js');
|
|
6
6
|
var React = require('react');
|
|
7
7
|
var cn = require('classnames');
|
|
8
8
|
var coreComponentsSelect = require('@alfalab/core-components-select/dist/cssm');
|
|
@@ -18,15 +18,20 @@ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
|
18
18
|
var cn__default = /*#__PURE__*/_interopDefaultLegacy(cn);
|
|
19
19
|
var styles__default = /*#__PURE__*/_interopDefaultLegacy(styles);
|
|
20
20
|
|
|
21
|
+
var SIDE_POSITIONS = ['right', 'right-start', 'right-end', 'left', 'left-start', 'left-end'];
|
|
21
22
|
var PickerButton = React.forwardRef(function (_a, ref) {
|
|
22
|
-
var _b
|
|
23
|
+
var _b;
|
|
24
|
+
var _c = _a.OptionsList, OptionsList = _c === void 0 ? coreComponentsSelect.OptionsList : _c, _d = _a.Optgroup, Optgroup = _d === void 0 ? coreComponentsSelect.Optgroup : _d, _e = _a.Option, Option = _e === void 0 ? coreComponentsSelect.Option : _e, view = _a.view, loading = _a.loading, _f = _a.size, size = _f === void 0 ? 'm' : _f, className = _a.className, leftAddons = _a.leftAddons, popperClassName = _a.popperClassName, optionsListClassName = _a.optionsListClassName, restProps = field_Component.__rest(_a, ["OptionsList", "Optgroup", "Option", "view", "loading", "size", "className", "leftAddons", "popperClassName", "optionsListClassName"]);
|
|
25
|
+
var isSideGap = !!restProps.popoverPosition && SIDE_POSITIONS.includes(restProps.popoverPosition);
|
|
23
26
|
return (React__default['default'].createElement(coreComponentsSelect.BaseSelect, field_Component.__assign({}, restProps, { ref: ref, Option: Option, Field: field_Component.Field, size: size === 'm' ? 'm' : 's', fieldProps: {
|
|
24
27
|
view: view,
|
|
25
28
|
loading: loading,
|
|
26
29
|
/** size у select, button несовместимы */
|
|
27
30
|
buttonSize: size,
|
|
28
31
|
leftAddons: leftAddons,
|
|
29
|
-
}, Optgroup: Optgroup, OptionsList: OptionsList, className: cn__default['default'](styles__default['default'].container, className),
|
|
32
|
+
}, Optgroup: Optgroup, OptionsList: OptionsList, className: cn__default['default'](styles__default['default'].container, className), popperClassName: cn__default['default'](styles__default['default'].optionsPopover, popperClassName, (_b = {},
|
|
33
|
+
_b[styles__default['default'].sideGap] = isSideGap,
|
|
34
|
+
_b)), optionsListClassName: cn__default['default'](styles__default['default'].optionsListContainer, optionsListClassName), selected: [], closeOnSelect: true })));
|
|
30
35
|
});
|
|
31
36
|
|
|
32
37
|
exports.PickerButton = PickerButton;
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
var field_Component = require('../Component-
|
|
5
|
+
var field_Component = require('../Component-34f0d762.js');
|
|
6
6
|
require('react');
|
|
7
7
|
require('classnames');
|
|
8
8
|
require('@alfalab/core-components-button/dist/cssm');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export * from "../Component-
|
|
1
|
+
export * from "../Component-34f0d762";
|
package/dist/cssm/field/index.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
var field_Component = require('../Component-
|
|
5
|
+
var field_Component = require('../Component-34f0d762.js');
|
|
6
6
|
require('react');
|
|
7
7
|
require('classnames');
|
|
8
8
|
require('@alfalab/core-components-button/dist/cssm');
|
package/dist/cssm/index.js
CHANGED
|
@@ -1,3 +1,26 @@
|
|
|
1
|
+
:root {
|
|
2
|
+
|
|
3
|
+
/* Hard */
|
|
4
|
+
|
|
5
|
+
/* Up */
|
|
6
|
+
|
|
7
|
+
/* Hard up */
|
|
8
|
+
}
|
|
9
|
+
:root {
|
|
10
|
+
--gap-xs: 8px;
|
|
11
|
+
}
|
|
12
|
+
:root {
|
|
13
|
+
--border-radius-s: 4px;
|
|
14
|
+
}
|
|
1
15
|
.container {
|
|
2
16
|
min-width: auto;
|
|
3
17
|
}
|
|
18
|
+
.optionsPopover {
|
|
19
|
+
padding: var(--gap-xs) 0
|
|
20
|
+
}
|
|
21
|
+
.optionsPopover.sideGap {
|
|
22
|
+
padding: 0 var(--gap-xs);
|
|
23
|
+
}
|
|
24
|
+
.optionsListContainer {
|
|
25
|
+
border-radius: var(--border-radius-s);
|
|
26
|
+
}
|
|
@@ -296,6 +296,10 @@ type BaseSelectProps = {
|
|
|
296
296
|
* Дополнительный класс для пункта меню
|
|
297
297
|
*/
|
|
298
298
|
optionClassName?: string;
|
|
299
|
+
/**
|
|
300
|
+
* Дополнительный класс для поповера
|
|
301
|
+
*/
|
|
302
|
+
popperClassName?: string;
|
|
299
303
|
/**
|
|
300
304
|
* Список вариантов выбора
|
|
301
305
|
*/
|
|
@@ -439,6 +443,7 @@ type BaseSelectProps = {
|
|
|
439
443
|
onChange?: (payload: {
|
|
440
444
|
selected: OptionShape | null;
|
|
441
445
|
selectedMultiple: OptionShape[];
|
|
446
|
+
initiator: OptionShape | null;
|
|
442
447
|
name?: string;
|
|
443
448
|
}) => void;
|
|
444
449
|
/**
|
|
@@ -491,6 +496,14 @@ type FieldProps = {
|
|
|
491
496
|
* Список выбранных пунктов
|
|
492
497
|
*/
|
|
493
498
|
selectedMultiple?: OptionShape[];
|
|
499
|
+
/**
|
|
500
|
+
* Метод для ручной установки выбранных пунктов
|
|
501
|
+
*/
|
|
502
|
+
setSelectedItems: (selected: OptionShape[]) => void;
|
|
503
|
+
/**
|
|
504
|
+
* Метод переключающий видимость выпадающего списка
|
|
505
|
+
*/
|
|
506
|
+
toggleMenu: () => void;
|
|
494
507
|
/**
|
|
495
508
|
* Флаг, можно ли выбрать несколько значений
|
|
496
509
|
*/
|
|
@@ -568,10 +581,31 @@ type OptionsListProps = {
|
|
|
568
581
|
/**
|
|
569
582
|
* Компонент пункта меню
|
|
570
583
|
*/
|
|
571
|
-
Option:
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
|
|
584
|
+
Option: FC<OptionProps>;
|
|
585
|
+
/**
|
|
586
|
+
* Функция для получения пропсов для ячейки
|
|
587
|
+
*/
|
|
588
|
+
getOptionProps: (option: OptionShape, index: number) => OptionProps;
|
|
589
|
+
/**
|
|
590
|
+
* Список выбранных пунктов
|
|
591
|
+
*/
|
|
592
|
+
selectedItems?: OptionShape[];
|
|
593
|
+
/**
|
|
594
|
+
* Метод для ручной установки выбранных пунктов
|
|
595
|
+
*/
|
|
596
|
+
setSelectedItems: (selected: OptionShape[]) => void;
|
|
597
|
+
/**
|
|
598
|
+
* Метод переключающий видимость выпадающего списка
|
|
599
|
+
*/
|
|
600
|
+
toggleMenu: () => void;
|
|
601
|
+
/**
|
|
602
|
+
* Контент шапки
|
|
603
|
+
*/
|
|
604
|
+
header?: ReactNode;
|
|
605
|
+
/**
|
|
606
|
+
* Контент футера
|
|
607
|
+
*/
|
|
608
|
+
footer?: ReactNode;
|
|
575
609
|
/**
|
|
576
610
|
* Список вариантов выбора
|
|
577
611
|
*/
|
|
@@ -645,7 +679,7 @@ type OptionProps = {
|
|
|
645
679
|
*/
|
|
646
680
|
option: OptionShape;
|
|
647
681
|
/**
|
|
648
|
-
*
|
|
682
|
+
* Индекс пункта
|
|
649
683
|
*/
|
|
650
684
|
index: number;
|
|
651
685
|
/**
|
|
@@ -660,6 +694,10 @@ type OptionProps = {
|
|
|
660
694
|
* Флаг, заблокирован ли данный пункт
|
|
661
695
|
*/
|
|
662
696
|
disabled?: boolean;
|
|
697
|
+
/**
|
|
698
|
+
* Флаг множественного выбора
|
|
699
|
+
*/
|
|
700
|
+
multiple?: boolean;
|
|
663
701
|
/**
|
|
664
702
|
* Компонент пункта меню
|
|
665
703
|
*/
|
|
@@ -684,6 +722,18 @@ type CheckmarkProps = {
|
|
|
684
722
|
* Флаг, данный пункт выбран
|
|
685
723
|
*/
|
|
686
724
|
selected?: boolean;
|
|
725
|
+
/**
|
|
726
|
+
* Дополнительный класс
|
|
727
|
+
*/
|
|
728
|
+
className?: string;
|
|
729
|
+
/**
|
|
730
|
+
* Флаг множественного выбора
|
|
731
|
+
*/
|
|
732
|
+
multiple?: boolean;
|
|
733
|
+
/**
|
|
734
|
+
* Расположение отметки
|
|
735
|
+
*/
|
|
736
|
+
position?: "before" | "after";
|
|
687
737
|
};
|
|
688
738
|
/**
|
|
689
739
|
* Набор констант для z-index соответствующих классов компонентов.
|
|
@@ -43,15 +43,17 @@ function __rest(s, e) {
|
|
|
43
43
|
return t;
|
|
44
44
|
}
|
|
45
45
|
|
|
46
|
-
var styles = {"iconContainer":"picker-
|
|
46
|
+
var styles = {"iconContainer":"picker-button__iconContainer_ijgnu","open":"picker-button__open_ijgnu"};
|
|
47
47
|
require('./field/index.css')
|
|
48
48
|
|
|
49
49
|
var Field = function (_a) {
|
|
50
50
|
var _b = _a.buttonSize, buttonSize = _b === void 0 ? 'm' : _b, view = _a.view, label = _a.label, open = _a.open, multiple = _a.multiple, rightAddons = _a.rightAddons, Arrow = _a.Arrow, innerProps = _a.innerProps, className = _a.className, selected = _a.selected, selectedMultiple = _a.selectedMultiple, valueRenderer = _a.valueRenderer, restProps = __rest(_a, ["buttonSize", "view", "label", "open", "multiple", "rightAddons", "Arrow", "innerProps", "className", "selected", "selectedMultiple", "valueRenderer"]);
|
|
51
51
|
var Icon = buttonSize === 'xs' ? ArrowDownSIcon : ArrowDownMIcon;
|
|
52
|
-
var
|
|
53
|
-
|
|
54
|
-
|
|
52
|
+
var ref = innerProps.ref, restInnerProps = __rest(innerProps, ["ref"]);
|
|
53
|
+
var buttonProps = __assign(__assign({}, restProps), restInnerProps);
|
|
54
|
+
return (React.createElement("div", { ref: ref },
|
|
55
|
+
React.createElement(Button, __assign({}, buttonProps, { rightAddons: React.createElement("span", { className: cn(styles.iconContainer, open && styles.open) },
|
|
56
|
+
React.createElement(Icon, { "data-test-id": 'picker-button-icon' })), block: true, view: view, size: buttonSize, className: cn(styles.component, view === 'primary' && styles.primary, className) }), label)));
|
|
55
57
|
};
|
|
56
58
|
|
|
57
59
|
export { Field as F, __rest as _, __assign as a };
|
package/dist/esm/Component.d.ts
CHANGED
|
@@ -9,7 +9,7 @@ type PickerButtonProps = Omit<BaseSelectProps, 'Field' | 'placeholder' | 'Arrow'
|
|
|
9
9
|
*/
|
|
10
10
|
size?: PickerButtonSize;
|
|
11
11
|
};
|
|
12
|
-
declare const PickerButton: React.ForwardRefExoticComponent<Pick<BaseSelectProps, "className" | "dataTestId" | "label" | "block" | "id" | "onBlur" | "onChange" | "onScroll" | "disabled" | "name" | "fieldClassName" | "error" | "preventFlip" | "open" | "options" | "valueRenderer" | "Optgroup" | "visibleOptions" | "Option" | "optionsListClassName" | "optionClassName" | "circularNavigation" | "nativeSelect" | "defaultOpen" | "popoverPosition" | "optionsListWidth" | "optionsSize" | "optionsListProps" | "optionProps" | "onOpen" | "OptionsList" | "updatePopover" | "zIndexPopover" | "showEmptyOptionsList"> & Pick<Partial<import("@alfalab/core-components-button").ComponentProps & React.AnchorHTMLAttributes<HTMLAnchorElement>> | Partial<import("@alfalab/core-components-button").ComponentProps & React.ButtonHTMLAttributes<HTMLButtonElement>>, "view" | "leftAddons" | "loading"> & {
|
|
12
|
+
declare const PickerButton: React.ForwardRefExoticComponent<Pick<BaseSelectProps, "className" | "dataTestId" | "label" | "block" | "id" | "onBlur" | "onChange" | "onScroll" | "disabled" | "name" | "fieldClassName" | "error" | "preventFlip" | "popperClassName" | "open" | "options" | "valueRenderer" | "Optgroup" | "visibleOptions" | "Option" | "optionsListClassName" | "optionClassName" | "circularNavigation" | "nativeSelect" | "defaultOpen" | "popoverPosition" | "optionsListWidth" | "optionsSize" | "optionsListProps" | "optionProps" | "onOpen" | "OptionsList" | "updatePopover" | "zIndexPopover" | "showEmptyOptionsList"> & Pick<Partial<import("@alfalab/core-components-button").ComponentProps & React.AnchorHTMLAttributes<HTMLAnchorElement>> | Partial<import("@alfalab/core-components-button").ComponentProps & React.ButtonHTMLAttributes<HTMLButtonElement>>, "view" | "leftAddons" | "loading"> & {
|
|
13
13
|
/**
|
|
14
14
|
* Размер кнопки
|
|
15
15
|
*/
|
package/dist/esm/Component.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { _ as __rest, a as __assign, F as Field } from './Component-
|
|
1
|
+
import { _ as __rest, a as __assign, F as Field } from './Component-44f528b4.js';
|
|
2
2
|
import React, { forwardRef } from 'react';
|
|
3
3
|
import cn from 'classnames';
|
|
4
4
|
import { BaseSelect, OptionsList, Optgroup, Option } from '@alfalab/core-components-select/dist/esm';
|
|
@@ -6,18 +6,23 @@ import '@alfalab/core-components-button/dist/esm';
|
|
|
6
6
|
import '@alfalab/icons-classic/ArrowDownMIcon';
|
|
7
7
|
import '@alfalab/icons-classic/ArrowDownSIcon';
|
|
8
8
|
|
|
9
|
-
var styles = {"container":"picker-
|
|
9
|
+
var styles = {"container":"picker-button__container_1ixbb","optionsPopover":"picker-button__optionsPopover_1ixbb","sideGap":"picker-button__sideGap_1ixbb","optionsListContainer":"picker-button__optionsListContainer_1ixbb"};
|
|
10
10
|
require('./index.css')
|
|
11
11
|
|
|
12
|
+
var SIDE_POSITIONS = ['right', 'right-start', 'right-end', 'left', 'left-start', 'left-end'];
|
|
12
13
|
var PickerButton = forwardRef(function (_a, ref) {
|
|
13
|
-
var _b
|
|
14
|
+
var _b;
|
|
15
|
+
var _c = _a.OptionsList, OptionsList$1 = _c === void 0 ? OptionsList : _c, _d = _a.Optgroup, Optgroup$1 = _d === void 0 ? Optgroup : _d, _e = _a.Option, Option$1 = _e === void 0 ? Option : _e, view = _a.view, loading = _a.loading, _f = _a.size, size = _f === void 0 ? 'm' : _f, className = _a.className, leftAddons = _a.leftAddons, popperClassName = _a.popperClassName, optionsListClassName = _a.optionsListClassName, restProps = __rest(_a, ["OptionsList", "Optgroup", "Option", "view", "loading", "size", "className", "leftAddons", "popperClassName", "optionsListClassName"]);
|
|
16
|
+
var isSideGap = !!restProps.popoverPosition && SIDE_POSITIONS.includes(restProps.popoverPosition);
|
|
14
17
|
return (React.createElement(BaseSelect, __assign({}, restProps, { ref: ref, Option: Option$1, Field: Field, size: size === 'm' ? 'm' : 's', fieldProps: {
|
|
15
18
|
view: view,
|
|
16
19
|
loading: loading,
|
|
17
20
|
/** size у select, button несовместимы */
|
|
18
21
|
buttonSize: size,
|
|
19
22
|
leftAddons: leftAddons,
|
|
20
|
-
}, Optgroup: Optgroup$1, OptionsList: OptionsList$1, className: cn(styles.container, className),
|
|
23
|
+
}, Optgroup: Optgroup$1, OptionsList: OptionsList$1, className: cn(styles.container, className), popperClassName: cn(styles.optionsPopover, popperClassName, (_b = {},
|
|
24
|
+
_b[styles.sideGap] = isSideGap,
|
|
25
|
+
_b)), optionsListClassName: cn(styles.optionsListContainer, optionsListClassName), selected: [], closeOnSelect: true })));
|
|
21
26
|
});
|
|
22
27
|
|
|
23
28
|
export { PickerButton };
|
package/dist/esm/field/index.css
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/* hash:
|
|
1
|
+
/* hash: 13ul9 */
|
|
2
2
|
:root {
|
|
3
3
|
|
|
4
4
|
/* Hard */
|
|
@@ -10,10 +10,10 @@
|
|
|
10
10
|
:root {
|
|
11
11
|
--arrow-transform: rotate(180deg);
|
|
12
12
|
}
|
|
13
|
-
.picker-
|
|
13
|
+
.picker-button__iconContainer_ijgnu {
|
|
14
14
|
display: flex;
|
|
15
15
|
transition: transform 0.15s ease-in-out;
|
|
16
16
|
}
|
|
17
|
-
.picker-
|
|
17
|
+
.picker-button__open_ijgnu {
|
|
18
18
|
transform: var(--arrow-transform);
|
|
19
19
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export * from "../Component-
|
|
1
|
+
export * from "../Component-44f528b4";
|
package/dist/esm/field/index.js
CHANGED
package/dist/esm/index.css
CHANGED
|
@@ -1,4 +1,27 @@
|
|
|
1
|
-
/* hash:
|
|
2
|
-
|
|
1
|
+
/* hash: yels6 */
|
|
2
|
+
:root {
|
|
3
|
+
|
|
4
|
+
/* Hard */
|
|
5
|
+
|
|
6
|
+
/* Up */
|
|
7
|
+
|
|
8
|
+
/* Hard up */
|
|
9
|
+
}
|
|
10
|
+
:root {
|
|
11
|
+
--gap-xs: 8px;
|
|
12
|
+
}
|
|
13
|
+
:root {
|
|
14
|
+
--border-radius-s: 4px;
|
|
15
|
+
}
|
|
16
|
+
.picker-button__container_1ixbb {
|
|
3
17
|
min-width: auto;
|
|
4
18
|
}
|
|
19
|
+
.picker-button__optionsPopover_1ixbb {
|
|
20
|
+
padding: var(--gap-xs) 0
|
|
21
|
+
}
|
|
22
|
+
.picker-button__optionsPopover_1ixbb.picker-button__sideGap_1ixbb {
|
|
23
|
+
padding: 0 var(--gap-xs);
|
|
24
|
+
}
|
|
25
|
+
.picker-button__optionsListContainer_1ixbb {
|
|
26
|
+
border-radius: var(--border-radius-s);
|
|
27
|
+
}
|
package/dist/esm/index.js
CHANGED
package/dist/field/Component.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
var field_Component = require('../Component-
|
|
5
|
+
var field_Component = require('../Component-a7bfcc44.js');
|
|
6
6
|
require('react');
|
|
7
7
|
require('classnames');
|
|
8
8
|
require('@alfalab/core-components-button');
|
package/dist/field/index.css
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/* hash:
|
|
1
|
+
/* hash: 13ul9 */
|
|
2
2
|
:root {
|
|
3
3
|
|
|
4
4
|
/* Hard */
|
|
@@ -10,10 +10,10 @@
|
|
|
10
10
|
:root {
|
|
11
11
|
--arrow-transform: rotate(180deg);
|
|
12
12
|
}
|
|
13
|
-
.picker-
|
|
13
|
+
.picker-button__iconContainer_ijgnu {
|
|
14
14
|
display: flex;
|
|
15
15
|
transition: transform 0.15s ease-in-out;
|
|
16
16
|
}
|
|
17
|
-
.picker-
|
|
17
|
+
.picker-button__open_ijgnu {
|
|
18
18
|
transform: var(--arrow-transform);
|
|
19
19
|
}
|
package/dist/field/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export * from "../Component-
|
|
1
|
+
export * from "../Component-a7bfcc44";
|
package/dist/field/index.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
var field_Component = require('../Component-
|
|
5
|
+
var field_Component = require('../Component-a7bfcc44.js');
|
|
6
6
|
require('react');
|
|
7
7
|
require('classnames');
|
|
8
8
|
require('@alfalab/core-components-button');
|
package/dist/index.css
CHANGED
|
@@ -1,4 +1,27 @@
|
|
|
1
|
-
/* hash:
|
|
2
|
-
|
|
1
|
+
/* hash: yels6 */
|
|
2
|
+
:root {
|
|
3
|
+
|
|
4
|
+
/* Hard */
|
|
5
|
+
|
|
6
|
+
/* Up */
|
|
7
|
+
|
|
8
|
+
/* Hard up */
|
|
9
|
+
}
|
|
10
|
+
:root {
|
|
11
|
+
--gap-xs: 8px;
|
|
12
|
+
}
|
|
13
|
+
:root {
|
|
14
|
+
--border-radius-s: 4px;
|
|
15
|
+
}
|
|
16
|
+
.picker-button__container_1ixbb {
|
|
3
17
|
min-width: auto;
|
|
4
18
|
}
|
|
19
|
+
.picker-button__optionsPopover_1ixbb {
|
|
20
|
+
padding: var(--gap-xs) 0
|
|
21
|
+
}
|
|
22
|
+
.picker-button__optionsPopover_1ixbb.picker-button__sideGap_1ixbb {
|
|
23
|
+
padding: 0 var(--gap-xs);
|
|
24
|
+
}
|
|
25
|
+
.picker-button__optionsListContainer_1ixbb {
|
|
26
|
+
border-radius: var(--border-radius-s);
|
|
27
|
+
}
|
package/dist/index.js
CHANGED
|
@@ -9,7 +9,7 @@ type PickerButtonProps = Omit<BaseSelectProps, 'Field' | 'placeholder' | 'Arrow'
|
|
|
9
9
|
*/
|
|
10
10
|
size?: PickerButtonSize;
|
|
11
11
|
};
|
|
12
|
-
declare const PickerButton: React.ForwardRefExoticComponent<Pick<BaseSelectProps, "className" | "dataTestId" | "label" | "block" | "id" | "onBlur" | "onChange" | "onScroll" | "disabled" | "name" | "fieldClassName" | "error" | "preventFlip" | "open" | "options" | "valueRenderer" | "Optgroup" | "visibleOptions" | "Option" | "optionsListClassName" | "optionClassName" | "circularNavigation" | "nativeSelect" | "defaultOpen" | "popoverPosition" | "optionsListWidth" | "optionsSize" | "optionsListProps" | "optionProps" | "onOpen" | "OptionsList" | "updatePopover" | "zIndexPopover" | "showEmptyOptionsList"> & Pick<Partial<import("@alfalab/core-components-button").ComponentProps & React.AnchorHTMLAttributes<HTMLAnchorElement>> | Partial<import("@alfalab/core-components-button").ComponentProps & React.ButtonHTMLAttributes<HTMLButtonElement>>, "view" | "leftAddons" | "loading"> & {
|
|
12
|
+
declare const PickerButton: React.ForwardRefExoticComponent<Pick<BaseSelectProps, "className" | "dataTestId" | "label" | "block" | "id" | "onBlur" | "onChange" | "onScroll" | "disabled" | "name" | "fieldClassName" | "error" | "preventFlip" | "popperClassName" | "open" | "options" | "valueRenderer" | "Optgroup" | "visibleOptions" | "Option" | "optionsListClassName" | "optionClassName" | "circularNavigation" | "nativeSelect" | "defaultOpen" | "popoverPosition" | "optionsListWidth" | "optionsSize" | "optionsListProps" | "optionProps" | "onOpen" | "OptionsList" | "updatePopover" | "zIndexPopover" | "showEmptyOptionsList"> & Pick<Partial<import("@alfalab/core-components-button").ComponentProps & React.AnchorHTMLAttributes<HTMLAnchorElement>> | Partial<import("@alfalab/core-components-button").ComponentProps & React.ButtonHTMLAttributes<HTMLButtonElement>>, "view" | "leftAddons" | "loading"> & {
|
|
13
13
|
/**
|
|
14
14
|
* Размер кнопки
|
|
15
15
|
*/
|
package/dist/modern/Component.js
CHANGED
|
@@ -6,15 +6,21 @@ import '@alfalab/icons-classic/ArrowDownMIcon';
|
|
|
6
6
|
import '@alfalab/icons-classic/ArrowDownSIcon';
|
|
7
7
|
import { Field } from './field/Component.js';
|
|
8
8
|
|
|
9
|
-
var styles = {"container":"picker-
|
|
9
|
+
var styles = {"container":"picker-button__container_1ixbb","optionsPopover":"picker-button__optionsPopover_1ixbb","sideGap":"picker-button__sideGap_1ixbb","optionsListContainer":"picker-button__optionsListContainer_1ixbb"};
|
|
10
10
|
require('./index.css')
|
|
11
11
|
|
|
12
|
-
const
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
12
|
+
const SIDE_POSITIONS = ['right', 'right-start', 'right-end', 'left', 'left-start', 'left-end'];
|
|
13
|
+
const PickerButton = forwardRef(({ OptionsList: OptionsList$1 = OptionsList, Optgroup: Optgroup$1 = Optgroup, Option: Option$1 = Option, view, loading, size = 'm', className, leftAddons, popperClassName, optionsListClassName, ...restProps }, ref) => {
|
|
14
|
+
const isSideGap = !!restProps.popoverPosition && SIDE_POSITIONS.includes(restProps.popoverPosition);
|
|
15
|
+
return (React.createElement(BaseSelect, Object.assign({}, restProps, { ref: ref, Option: Option$1, Field: Field, size: size === 'm' ? 'm' : 's', fieldProps: {
|
|
16
|
+
view,
|
|
17
|
+
loading,
|
|
18
|
+
/** size у select, button несовместимы */
|
|
19
|
+
buttonSize: size,
|
|
20
|
+
leftAddons,
|
|
21
|
+
}, Optgroup: Optgroup$1, OptionsList: OptionsList$1, className: cn(styles.container, className), popperClassName: cn(styles.optionsPopover, popperClassName, {
|
|
22
|
+
[styles.sideGap]: isSideGap,
|
|
23
|
+
}), optionsListClassName: cn(styles.optionsListContainer, optionsListClassName), selected: [], closeOnSelect: true })));
|
|
24
|
+
});
|
|
19
25
|
|
|
20
26
|
export { PickerButton };
|
|
@@ -265,6 +265,10 @@ type BaseSelectProps = {
|
|
|
265
265
|
* Дополнительный класс для пункта меню
|
|
266
266
|
*/
|
|
267
267
|
optionClassName?: string;
|
|
268
|
+
/**
|
|
269
|
+
* Дополнительный класс для поповера
|
|
270
|
+
*/
|
|
271
|
+
popperClassName?: string;
|
|
268
272
|
/**
|
|
269
273
|
* Список вариантов выбора
|
|
270
274
|
*/
|
|
@@ -408,6 +412,7 @@ type BaseSelectProps = {
|
|
|
408
412
|
onChange?: (payload: {
|
|
409
413
|
selected: OptionShape | null;
|
|
410
414
|
selectedMultiple: OptionShape[];
|
|
415
|
+
initiator: OptionShape | null;
|
|
411
416
|
name?: string;
|
|
412
417
|
}) => void;
|
|
413
418
|
/**
|
|
@@ -460,6 +465,14 @@ type FieldProps = {
|
|
|
460
465
|
* Список выбранных пунктов
|
|
461
466
|
*/
|
|
462
467
|
selectedMultiple?: OptionShape[];
|
|
468
|
+
/**
|
|
469
|
+
* Метод для ручной установки выбранных пунктов
|
|
470
|
+
*/
|
|
471
|
+
setSelectedItems: (selected: OptionShape[]) => void;
|
|
472
|
+
/**
|
|
473
|
+
* Метод переключающий видимость выпадающего списка
|
|
474
|
+
*/
|
|
475
|
+
toggleMenu: () => void;
|
|
463
476
|
/**
|
|
464
477
|
* Флаг, можно ли выбрать несколько значений
|
|
465
478
|
*/
|
|
@@ -537,10 +550,31 @@ type OptionsListProps = {
|
|
|
537
550
|
/**
|
|
538
551
|
* Компонент пункта меню
|
|
539
552
|
*/
|
|
540
|
-
Option:
|
|
541
|
-
|
|
542
|
-
|
|
543
|
-
|
|
553
|
+
Option: FC<OptionProps>;
|
|
554
|
+
/**
|
|
555
|
+
* Функция для получения пропсов для ячейки
|
|
556
|
+
*/
|
|
557
|
+
getOptionProps: (option: OptionShape, index: number) => OptionProps;
|
|
558
|
+
/**
|
|
559
|
+
* Список выбранных пунктов
|
|
560
|
+
*/
|
|
561
|
+
selectedItems?: OptionShape[];
|
|
562
|
+
/**
|
|
563
|
+
* Метод для ручной установки выбранных пунктов
|
|
564
|
+
*/
|
|
565
|
+
setSelectedItems: (selected: OptionShape[]) => void;
|
|
566
|
+
/**
|
|
567
|
+
* Метод переключающий видимость выпадающего списка
|
|
568
|
+
*/
|
|
569
|
+
toggleMenu: () => void;
|
|
570
|
+
/**
|
|
571
|
+
* Контент шапки
|
|
572
|
+
*/
|
|
573
|
+
header?: ReactNode;
|
|
574
|
+
/**
|
|
575
|
+
* Контент футера
|
|
576
|
+
*/
|
|
577
|
+
footer?: ReactNode;
|
|
544
578
|
/**
|
|
545
579
|
* Список вариантов выбора
|
|
546
580
|
*/
|
|
@@ -614,7 +648,7 @@ type OptionProps = {
|
|
|
614
648
|
*/
|
|
615
649
|
option: OptionShape;
|
|
616
650
|
/**
|
|
617
|
-
*
|
|
651
|
+
* Индекс пункта
|
|
618
652
|
*/
|
|
619
653
|
index: number;
|
|
620
654
|
/**
|
|
@@ -629,6 +663,10 @@ type OptionProps = {
|
|
|
629
663
|
* Флаг, заблокирован ли данный пункт
|
|
630
664
|
*/
|
|
631
665
|
disabled?: boolean;
|
|
666
|
+
/**
|
|
667
|
+
* Флаг множественного выбора
|
|
668
|
+
*/
|
|
669
|
+
multiple?: boolean;
|
|
632
670
|
/**
|
|
633
671
|
* Компонент пункта меню
|
|
634
672
|
*/
|
|
@@ -653,6 +691,18 @@ type CheckmarkProps = {
|
|
|
653
691
|
* Флаг, данный пункт выбран
|
|
654
692
|
*/
|
|
655
693
|
selected?: boolean;
|
|
694
|
+
/**
|
|
695
|
+
* Дополнительный класс
|
|
696
|
+
*/
|
|
697
|
+
className?: string;
|
|
698
|
+
/**
|
|
699
|
+
* Флаг множественного выбора
|
|
700
|
+
*/
|
|
701
|
+
multiple?: boolean;
|
|
702
|
+
/**
|
|
703
|
+
* Расположение отметки
|
|
704
|
+
*/
|
|
705
|
+
position?: "before" | "after";
|
|
656
706
|
};
|
|
657
707
|
type BaseFieldProps = FieldProps;
|
|
658
708
|
type FieldProps$0 = Omit<BaseFieldProps, 'size' | 'hint' | 'success' | 'error' | 'placeholder'> & ButtonProps & {
|
|
@@ -4,17 +4,19 @@ import { Button } from '@alfalab/core-components-button/dist/modern';
|
|
|
4
4
|
import { ArrowDownMIcon } from '@alfalab/icons-classic/ArrowDownMIcon';
|
|
5
5
|
import { ArrowDownSIcon } from '@alfalab/icons-classic/ArrowDownSIcon';
|
|
6
6
|
|
|
7
|
-
var styles = {"iconContainer":"picker-
|
|
7
|
+
var styles = {"iconContainer":"picker-button__iconContainer_ijgnu","open":"picker-button__open_ijgnu"};
|
|
8
8
|
require('./index.css')
|
|
9
9
|
|
|
10
10
|
const Field = ({ buttonSize = 'm', view, label, open, multiple, rightAddons, Arrow, innerProps, className, selected, selectedMultiple, valueRenderer, ...restProps }) => {
|
|
11
11
|
const Icon = buttonSize === 'xs' ? ArrowDownSIcon : ArrowDownMIcon;
|
|
12
|
+
const { ref, ...restInnerProps } = innerProps;
|
|
12
13
|
const buttonProps = {
|
|
13
14
|
...restProps,
|
|
14
|
-
...
|
|
15
|
+
...restInnerProps,
|
|
15
16
|
};
|
|
16
|
-
return (React.createElement(
|
|
17
|
-
|
|
17
|
+
return (React.createElement("div", { ref: ref },
|
|
18
|
+
React.createElement(Button, Object.assign({}, buttonProps, { rightAddons: React.createElement("span", { className: cn(styles.iconContainer, open && styles.open) },
|
|
19
|
+
React.createElement(Icon, { "data-test-id": 'picker-button-icon' })), block: true, view: view, size: buttonSize, className: cn(styles.component, view === 'primary' && styles.primary, className) }), label)));
|
|
18
20
|
};
|
|
19
21
|
|
|
20
22
|
export { Field };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/* hash:
|
|
1
|
+
/* hash: 13ul9 */
|
|
2
2
|
:root {
|
|
3
3
|
|
|
4
4
|
/* Hard */
|
|
@@ -10,10 +10,10 @@
|
|
|
10
10
|
:root {
|
|
11
11
|
--arrow-transform: rotate(180deg);
|
|
12
12
|
}
|
|
13
|
-
.picker-
|
|
13
|
+
.picker-button__iconContainer_ijgnu {
|
|
14
14
|
display: flex;
|
|
15
15
|
transition: transform 0.15s ease-in-out;
|
|
16
16
|
}
|
|
17
|
-
.picker-
|
|
17
|
+
.picker-button__open_ijgnu {
|
|
18
18
|
transform: var(--arrow-transform);
|
|
19
19
|
}
|
package/dist/modern/index.css
CHANGED
|
@@ -1,4 +1,27 @@
|
|
|
1
|
-
/* hash:
|
|
2
|
-
|
|
1
|
+
/* hash: yels6 */
|
|
2
|
+
:root {
|
|
3
|
+
|
|
4
|
+
/* Hard */
|
|
5
|
+
|
|
6
|
+
/* Up */
|
|
7
|
+
|
|
8
|
+
/* Hard up */
|
|
9
|
+
}
|
|
10
|
+
:root {
|
|
11
|
+
--gap-xs: 8px;
|
|
12
|
+
}
|
|
13
|
+
:root {
|
|
14
|
+
--border-radius-s: 4px;
|
|
15
|
+
}
|
|
16
|
+
.picker-button__container_1ixbb {
|
|
3
17
|
min-width: auto;
|
|
4
18
|
}
|
|
19
|
+
.picker-button__optionsPopover_1ixbb {
|
|
20
|
+
padding: var(--gap-xs) 0
|
|
21
|
+
}
|
|
22
|
+
.picker-button__optionsPopover_1ixbb.picker-button__sideGap_1ixbb {
|
|
23
|
+
padding: 0 var(--gap-xs);
|
|
24
|
+
}
|
|
25
|
+
.picker-button__optionsListContainer_1ixbb {
|
|
26
|
+
border-radius: var(--border-radius-s);
|
|
27
|
+
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@alfalab/core-components-picker-button",
|
|
3
|
-
"version": "7.1
|
|
3
|
+
"version": "7.3.1",
|
|
4
4
|
"description": "Picker button component",
|
|
5
5
|
"keywords": [],
|
|
6
6
|
"license": "MIT",
|
|
@@ -19,11 +19,11 @@
|
|
|
19
19
|
"react-dom": "^16.9.0 || ^17.0.1"
|
|
20
20
|
},
|
|
21
21
|
"dependencies": {
|
|
22
|
-
"@alfalab/core-components-button": "^5.0.
|
|
23
|
-
"@alfalab/core-components-select": "^10.
|
|
22
|
+
"@alfalab/core-components-button": "^5.0.4",
|
|
23
|
+
"@alfalab/core-components-select": "^10.4.1",
|
|
24
24
|
"@alfalab/icons-classic": "^1.76.0",
|
|
25
25
|
"@alfalab/icons-glyph": "^1.190.0",
|
|
26
26
|
"classnames": "^2.2.6"
|
|
27
27
|
},
|
|
28
|
-
"gitHead": "
|
|
28
|
+
"gitHead": "86f898b81b12d809e5e43e3dbb557a7e9629a2e5"
|
|
29
29
|
}
|